diff --git a/src/demo.c b/src/demo.c
index 020513f65b150fa4ac6c1099f8eb4d7e7b10d51a..7c480b7dc6e00b7ce5399bda2a5673350a42dd3e 100644
--- a/src/demo.c
+++ b/src/demo.c
@@ -48,7 +48,7 @@ void *fetch_in_thread(void *ptr)
 
 void *detect_in_thread(void *ptr)
 {
-    float nms = .1;
+    float nms = .4;
 
     detection_layer l = net.layers[net.n-1];
     float *X = det_s.data;
diff --git a/src/yolo.c b/src/yolo.c
index fefa7635f12fab46f445bb1385d76816daeb689d..65a7dd1549904f387220f106fcc762720efccc78 100644
--- a/src/yolo.c
+++ b/src/yolo.c
@@ -178,7 +178,7 @@ void validate_yolo(char *cfgfile, char *weightfile)
     int nms = 1;
     float iou_thresh = .5;
 
-    int nthreads = 2;
+    int nthreads = 8;
     image *val = calloc(nthreads, sizeof(image));
     image *val_resized = calloc(nthreads, sizeof(image));
     image *buf = calloc(nthreads, sizeof(image));
@@ -328,7 +328,7 @@ void test_yolo(char *cfgfile, char *weightfile, char *filename, float thresh)
     char buff[256];
     char *input = buff;
     int j;
-    float nms=.5;
+    float nms=.4;
     box *boxes = calloc(l.side*l.side*l.n, sizeof(box));
     float **probs = calloc(l.side*l.side*l.n, sizeof(float *));
     for(j = 0; j < l.side*l.side*l.n; ++j) probs[j] = calloc(l.classes, sizeof(float *));
@@ -375,7 +375,7 @@ void run_yolo(int argc, char **argv)
         voc_labels[i] = load_image_color(buff, 0, 0);
     }
 
-    float thresh = find_float_arg(argc, argv, "-thresh", .2);
+    float thresh = find_float_arg(argc, argv, "-thresh", .15);
     int cam_index = find_int_arg(argc, argv, "-c", 0);
     int frame_skip = find_int_arg(argc, argv, "-s", 0);
     if(argc < 4){