From a2f3644e87c11c222f86aa2aeb0e31d858ebb024 Mon Sep 17 00:00:00 2001
From: Alexey <AlexeyAB@users.noreply.github.com>
Date: Sat, 21 Apr 2018 20:56:46 +0000
Subject: [PATCH] Merge pull request #675 from IlyaOvodov/Flip_Fix
---
src/yolo.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/yolo.c b/src/yolo.c
index 82faffd..238454e 100644
--- a/src/yolo.c
+++ b/src/yolo.c
@@ -8,6 +8,11 @@
#ifdef OPENCV
#include "opencv2/highgui/highgui_c.h"
+#include "opencv2/imgproc/imgproc_c.h"
+#include "opencv2/core/version.hpp"
+#ifndef CV_VERSION_EPOCH
+#include "opencv2/videoio/videoio_c.h"
+#endif
#endif
char *voc_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"};
@@ -186,7 +191,7 @@
int w = val[t].w;
int h = val[t].h;
get_detection_boxes(l, w, h, thresh, probs, boxes, 0);
- if (nms) do_nms_sort(boxes, probs, l.side*l.side*l.n, classes, iou_thresh);
+ if (nms) do_nms_sort_v2(boxes, probs, l.side*l.side*l.n, classes, iou_thresh);
print_yolo_detections(fps, id, boxes, probs, l.side*l.side*l.n, classes, w, h);
free(id);
free_image(val[t]);
@@ -284,7 +289,7 @@
void test_yolo(char *cfgfile, char *weightfile, char *filename, float thresh)
{
- image *alphabet = load_alphabet();
+ image **alphabet = load_alphabet();
network net = parse_network_cfg(cfgfile);
if(weightfile){
load_weights(&net, weightfile);
@@ -316,8 +321,8 @@
time=clock();
network_predict(net, X);
printf("%s: Predicted in %f seconds.\n", input, sec(clock()-time));
- get_detection_boxes(l, 1, 1, thresh, probs, boxes, 1);
- if (nms) do_nms_sort(boxes, probs, l.side*l.side*l.n, l.classes, nms);
+ get_detection_boxes(l, 1, 1, thresh, probs, boxes, 0);
+ if (nms) do_nms_sort_v2(boxes, probs, l.side*l.side*l.n, l.classes, nms);
//draw_detections(im, l.side*l.side*l.n, thresh, boxes, probs, voc_names, alphabet, 20);
draw_detections(im, l.side*l.side*l.n, thresh, boxes, probs, voc_names, alphabet, 20);
save_image(im, "predictions");
@@ -335,8 +340,12 @@
void run_yolo(int argc, char **argv)
{
+ int dont_show = find_arg(argc, argv, "-dont_show");
+ int http_stream_port = find_int_arg(argc, argv, "-http_port", -1);
+ char *out_filename = find_char_arg(argc, argv, "-out_filename", 0);
char *prefix = find_char_arg(argc, argv, "-prefix", 0);
float thresh = find_float_arg(argc, argv, "-thresh", .2);
+ float hier_thresh = find_float_arg(argc, argv, "-hier", .5);
int cam_index = find_int_arg(argc, argv, "-c", 0);
int frame_skip = find_int_arg(argc, argv, "-s", 0);
if(argc < 4){
@@ -351,5 +360,6 @@
else if(0==strcmp(argv[2], "train")) train_yolo(cfg, weights);
else if(0==strcmp(argv[2], "valid")) validate_yolo(cfg, weights);
else if(0==strcmp(argv[2], "recall")) validate_yolo_recall(cfg, weights);
- else if(0==strcmp(argv[2], "demo")) demo(cfg, weights, thresh, cam_index, filename, voc_names, 20, frame_skip, prefix);
+ else if(0==strcmp(argv[2], "demo")) demo(cfg, weights, thresh, hier_thresh, cam_index, filename, voc_names, 20, frame_skip,
+ prefix, out_filename, http_stream_port, dont_show);
}
--
Gitblit v1.10.0