From c2c8595b083ec3586a99bb913b8a986e81e3a42a Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Thu, 19 Apr 2018 11:47:39 +0000
Subject: [PATCH] Fixed detection and validate(recall, map) for .png and .bmp images.
---
src/detector.c | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/detector.c b/src/detector.c
index a0372ab..766819f 100644
--- a/src/detector.c
+++ b/src/detector.c
@@ -99,7 +99,7 @@
args.hue = net.hue;
#ifdef OPENCV
- args.threads = 7;
+ args.threads = 3;
IplImage* img = NULL;
float max_img_loss = 5;
int number_of_lines = 100;
@@ -167,7 +167,7 @@
#else
loss = train_network(net, train);
#endif
- if (avg_loss < 0) avg_loss = loss;
+ if (avg_loss < 0 || avg_loss != avg_loss) avg_loss = loss; // if(-inf or nan)
avg_loss = avg_loss*.9 + loss*.1;
i = get_current_batch(net);
@@ -460,6 +460,9 @@
find_replace(path, "images", "labels", labelpath);
find_replace(labelpath, "JPEGImages", "labels", labelpath);
find_replace(labelpath, ".jpg", ".txt", labelpath);
+ find_replace(labelpath, ".png", ".txt", labelpath);
+ find_replace(labelpath, ".bmp", ".txt", labelpath);
+ find_replace(labelpath, ".JPG", ".txt", labelpath);
find_replace(labelpath, ".JPEG", ".txt", labelpath);
int num_labels = 0;
@@ -484,7 +487,7 @@
++correct;
}
}
- fprintf(stderr, " %s - %s - ", paths[i], labelpath);
+ //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);
@@ -614,8 +617,10 @@
find_replace(path, "images", "labels", labelpath);
find_replace(labelpath, "JPEGImages", "labels", labelpath);
find_replace(labelpath, ".jpg", ".txt", labelpath);
- find_replace(labelpath, ".JPEG", ".txt", labelpath);
find_replace(labelpath, ".png", ".txt", labelpath);
+ find_replace(labelpath, ".bmp", ".txt", labelpath);
+ find_replace(labelpath, ".JPG", ".txt", labelpath);
+ find_replace(labelpath, ".JPEG", ".txt", labelpath);
int num_labels = 0;
box_label *truth = read_boxes(labelpath, &num_labels);
int i, j;
@@ -861,8 +866,10 @@
find_replace(path, "images", "labels", labelpath);
find_replace(labelpath, "JPEGImages", "labels", labelpath);
find_replace(labelpath, ".jpg", ".txt", labelpath);
- find_replace(labelpath, ".JPEG", ".txt", labelpath);
find_replace(labelpath, ".png", ".txt", labelpath);
+ find_replace(labelpath, ".bmp", ".txt", labelpath);
+ find_replace(labelpath, ".JPG", ".txt", labelpath);
+ find_replace(labelpath, ".JPEG", ".txt", labelpath);
int num_labels = 0;
box_label *truth = read_boxes(labelpath, &num_labels);
//printf(" new path: %s \n", labelpath);
@@ -1056,8 +1063,8 @@
float *X = sized.data;
time= what_time_is_it_now();
- network_predict(net, X);
- //network_predict_image(&net, im);
+ //network_predict(net, X);
+ network_predict_image(&net, im); letterbox = 1;
printf("%s: Predicted in %f seconds.\n", input, (what_time_is_it_now()-time));
//get_region_boxes(l, 1, 1, thresh, probs, boxes, 0, 0);
// if (nms) do_nms_sort_v2(boxes, probs, l.w*l.h*l.n, l.classes, nms);
--
Gitblit v1.10.0