Joseph Redmon
2015-06-10 2fb75da727edbbd842b6d2d7cdc52022ecb39aa4
src/detection.c
@@ -7,16 +7,16 @@
char *class_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"};
void draw_detection(image im, float *box, int side, int bg, char *label)
void draw_detection(image im, float *box, int side, char *label)
{
    int classes = 20;
    int elems = 4+classes+bg;
    int elems = 4+classes;
    int j;
    int r, c;
    for(r = 0; r < side; ++r){
        for(c = 0; c < side; ++c){
            j = (r*side + c) * elems + bg;
            j = (r*side + c) * elems;
            int class = max_index(box+j, classes);
            if(box[j+class] > .2){
                printf("%f %s\n", box[j+class], class_names[class]);
@@ -212,6 +212,7 @@
        load_weights(&net, weightfile);
    }
    detection_layer layer = get_network_detection_layer(net);
    if (!layer.joint) fprintf(stderr, "Detection layer should use joint prediction to draw correctly.\n");
    int im_size = 448;
    set_batch_network(&net, 1);
    srand(2222222);
@@ -227,7 +228,7 @@
        time=clock();
        float *predictions = network_predict(net, X);
        printf("%s: Predicted in %f seconds.\n", filename, sec(clock()-time));
        draw_detection(im, predictions, 7, layer.background || layer.objectness, "predictions");
        draw_detection(im, predictions, 7, "predictions");
        free_image(im);
        free_image(sized);
        #ifdef OPENCV