AlexeyAB
2018-04-13 408bde78ffd5c9512ee09adcd2faba21c875d676
src/detector.c
@@ -385,7 +385,7 @@
         int nboxes = 0;
         int letterbox = (args.type == LETTERBOX_DATA);
         detection *dets = get_network_boxes(&net, w, h, thresh, .5, map, 0, &nboxes, letterbox);
         if (nms) do_nms_sort_v3(dets, nboxes, classes, nms);
         if (nms) do_nms_sort(dets, nboxes, classes, nms);
         if (coco) {
            print_cocos(fp, path, dets, nboxes, classes, w, h);
         }
@@ -419,6 +419,7 @@
      load_weights(&net, weightfile);
   }
   set_batch_network(&net, 1);
   fuse_conv_batchnorm(net);
   srand(time(0));
   //list *plist = get_paths("data/coco_val_5k.list");
@@ -452,7 +453,7 @@
      int nboxes = 0;
      int letterbox = 0;
      detection *dets = get_network_boxes(&net, sized.w, sized.h, thresh, .5, 0, 1, &nboxes, letterbox);
      if (nms) do_nms_obj_v3(dets, nboxes, 1, nms);
      if (nms) do_nms_obj(dets, nboxes, 1, nms);
      char labelpath[4096];
      find_replace(path, "images", "labels", labelpath);
@@ -482,7 +483,7 @@
            ++correct;
         }
      }
      fprintf(stderr, " %s - %s - ", paths[i], labelpath);
      fprintf(stderr, "%5d %5d %5d\tRPs/Img: %.2f\tIOU: %.2f%%\tRecall:%.2f%%\n", i, correct, total, (float)proposals / (i + 1), avg_iou * 100 / total, 100.*correct / total);
      free(id);
      free_image(orig);
@@ -526,6 +527,7 @@
      load_weights(&net, weightfile);
   }
   set_batch_network(&net, 1);
   fuse_conv_batchnorm(net);
   srand(time(0));
   list *plist = get_paths(valid_images);
@@ -603,8 +605,9 @@
         int nboxes = 0;
         int letterbox = (args.type == LETTERBOX_DATA);
         float hier_thresh = 0;
         detection *dets = get_network_boxes(&net, 1, 1, thresh, hier_thresh, 0, 1, &nboxes, letterbox);
         if (nms) do_nms_sort_v3(dets, nboxes, l.classes, nms);
         detection *dets = get_network_boxes(&net, 1, 1, thresh, hier_thresh, 0, 0, &nboxes, letterbox);
         //detection *dets = get_network_boxes(&net, val[t].w, val[t].h, thresh, hier_thresh, 0, 1, &nboxes, letterbox); // for letterbox=1
         if (nms) do_nms_sort(dets, nboxes, l.classes, nms);
         char labelpath[4096];
         find_replace(path, "images", "labels", labelpath);
@@ -1022,6 +1025,7 @@
        load_weights(&net, weightfile);
    }
    set_batch_network(&net, 1);
   fuse_conv_batchnorm(net);
    srand(2222222);
    clock_t time;
    char buff[256];
@@ -1052,13 +1056,14 @@
        float *X = sized.data;
        time=clock();
        network_predict(net, X);
      //network_predict_image(&net, im);
        printf("%s: Predicted in %f seconds.\n", input, sec(clock()-time));
        //get_region_boxes(l, 1, 1, thresh, probs, boxes, 0, 0);
      // if (nms) do_nms_sort(boxes, probs, l.w*l.h*l.n, l.classes, nms);
      // if (nms) do_nms_sort_v2(boxes, probs, l.w*l.h*l.n, l.classes, nms);
      //draw_detections(im, l.w*l.h*l.n, thresh, boxes, probs, names, alphabet, l.classes);
      int nboxes = 0;
      detection *dets = get_network_boxes(&net, im.w, im.h, thresh, hier_thresh, 0, 1, &nboxes, letterbox);
      if (nms) do_nms_sort_v3(dets, nboxes, l.classes, nms);
      if (nms) do_nms_sort(dets, nboxes, l.classes, nms);
      draw_detections_v3(im, dets, nboxes, thresh, names, alphabet, l.classes);
      free_detections(dets, nboxes);
        save_image(im, "predictions");
@@ -1146,4 +1151,5 @@
        demo(cfg, weights, thresh, hier_thresh, cam_index, filename, names, classes, frame_skip, prefix, out_filename,
         http_stream_port, dont_show);
    }
   else printf(" There isn't such command: %s", argv[2]);
}