From 22796c5a496a89e47dfafa68342e090d576c4866 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Sun, 10 Jun 2018 10:58:37 +0000
Subject: [PATCH] Minor fix

---
 src/detector.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/detector.c b/src/detector.c
index 202fbf9..228647a 100644
--- a/src/detector.c
+++ b/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));

--
Gitblit v1.10.0