AlexeyAB
2018-06-10 22796c5a496a89e47dfafa68342e090d576c4866
src/detector.c
@@ -106,7 +106,7 @@
    args.hue = net.hue;
#ifdef OPENCV
   args.threads = 3;
   args.threads = 3 * ngpus;
   IplImage* img = NULL;
   float max_img_loss = 5;
   int number_of_lines = 100;
@@ -976,6 +976,7 @@
   //for (i = 0; i < number_of_boxes; ++i)
   // printf("%2.2f,%2.2f, ", points->data.fl[i * 2], points->data.fl[i * 2 + 1]);
   printf("\n");
   float avg_iou = 0;
   for (i = 0; i < number_of_boxes; ++i) {
      float box_w = points->data.fl[i * 2];
@@ -999,7 +1000,7 @@
      float box_intersect = min_w*min_h;
      float box_union = box_w*box_h + anchor_w*anchor_h - box_intersect;
      float iou = box_intersect / box_union;
      if (iou > 1 || iou < 0) {
      if (iou > 1 || iou < 0 || box_w > width || box_h > height) {
         printf(" i = %d, box_w = %d, box_h = %d, anchor_w = %d, anchor_h = %d, iou = %f \n",
            i, box_w, box_h, anchor_w, anchor_h, iou);
      }
@@ -1069,7 +1070,8 @@
{
    list *options = read_data_cfg(datacfg);
    char *name_list = option_find_str(options, "names", "data/names.list");
    char **names = get_labels(name_list);
   int names_size = 0;
   char **names = get_labels_custom(name_list, &names_size); //get_labels(name_list);
    image **alphabet = load_alphabet();
    network net = parse_network_cfg_custom(cfgfile, 1); // set batch=1
@@ -1078,6 +1080,11 @@
    }
    //set_batch_network(&net, 1);
   fuse_conv_batchnorm(net);
   if (net.layers[net.n - 1].classes != names_size) {
      printf(" Error: in the file %s number of names %d that isn't equal to classes=%d in the file %s \n",
         name_list, names_size, net.layers[net.n - 1].classes, datacfg);
      if(net.layers[net.n - 1].classes > names_size) getchar();
   }
    srand(2222222);
    double time;
    char buff[256];
@@ -1098,8 +1105,8 @@
        }
        image im = load_image(input,0,0,net.c);
      int letterbox = 0;
        //image sized = resize_image(im, net.w, net.h);
      image sized = letterbox_image(im, net.w, net.h); letterbox = 1;
        image sized = resize_image(im, net.w, net.h);
      //image sized = letterbox_image(im, net.w, net.h); letterbox = 1;
        layer l = net.layers[net.n-1];
        //box *boxes = calloc(l.w*l.h*l.n, sizeof(box));