From 741ada451cc7fee1b9a4c3deaec6af87a2af7497 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Mon, 17 Aug 2015 16:31:25 +0000
Subject: [PATCH] Added Darknet reference model

---
 src/detection.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/detection.c b/src/detection.c
index 55c75de..c9dea3e 100644
--- a/src/detection.c
+++ b/src/detection.c
@@ -5,6 +5,9 @@
 #include "parser.h"
 #include "box.h"
 
+#ifdef OPENCV
+#include "opencv2/highgui/highgui_c.h"
+#endif
 
 char *class_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"};
 
@@ -79,7 +82,7 @@
     paths = (char **)list_to_array(plist);
     pthread_t load_thread = load_data_detection_thread(imgs, paths, plist->size, classes, net.w, net.h, side, side, background, &buffer);
     clock_t time;
-    while(i*imgs < N*120){
+    while(i*imgs < N*130){
         i += 1;
         time=clock();
         pthread_join(load_thread, 0);
@@ -95,7 +98,7 @@
 
         printf("%d: %f, %f avg, %lf seconds, %d images\n", i, loss, avg_loss, sec(clock()-time), i*imgs);
         if((i-1)*imgs <= N && i*imgs > N){
-            fprintf(stderr, "Starting second stage...\n");
+            fprintf(stderr, "First stage done\n");
             net.learning_rate *= 10;
             char buff[256];
             sprintf(buff, "%s/%s_first_stage.weights", backup_directory, base);
@@ -109,6 +112,13 @@
             save_weights(net, buff);
             return;
         }
+        if((i-1)*imgs <= 120*N && i*imgs > N*120){
+            fprintf(stderr, "Third stage done.\n");
+            char buff[256];
+            sprintf(buff, "%s/%s_third_stage.weights", backup_directory, base);
+            net.layers[net.n-1].rescore = 1;
+            save_weights(net, buff);
+        }
         if(i%1000==0){
             char buff[256];
             sprintf(buff, "%s/%s_%d.weights", backup_directory, base, i);
@@ -176,7 +186,7 @@
     srand(time(0));
 
     char *base = "results/comp4_det_test_";
-    list *plist = get_paths("data/voc.2012test.list");
+    list *plist = get_paths("/home/pjreddie/data/voc/test/2007_test.txt");
     char **paths = (char **)list_to_array(plist);
 
     int classes = layer.classes;

--
Gitblit v1.10.0