AlexeyAB / darknet

YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )
http://pjreddie.com/darknet/
Other
21.65k stars 7.96k forks source link

Detection Time Incrementally Getting Faster when Detect List of Images #2589

Open ivder opened 5 years ago

ivder commented 5 years ago

@AlexeyAB Hi again I've edited my post, I'm very curious because the detection time is keep getting faster when test list of images (multiple images) with this command : ./darknet detector test data/obj.data cfg/obj.cfg backup/obj_last.weights -i 0 -thresh 0.25 -dont_show -ext_output < data/obj/test.txt > detected.txt and C++ version : LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./uselib data/obj.names cfg/obj.cfg backup/obj_last.weights data/obj/test.txt

The first image detection inference time is the same as inference time when I test on single image. But after several images the inference time is getting faster. Do you know the reason behind this? And I have to make inference time report, so it will be better if I can get constant and stable value.

Example detection in txt file (you will see the speed will increase from 17ms ~ 4ms) :

 try to allocate additional workspace_size = 52.43 MB 
 CUDA allocate done! 
object names loaded 
input image or video filename: /home/ivan/darknet/data/obj/GH030070.MP4124270798.jpg
 Time: 0.0178968 sec
patchdamaged - obj_id = 3,  x = 154, y = 22, w = 48, h = 35, prob = 0.223
/home/ivan/darknet/data/obj/18582972.jpg
 Time: 0.0167 sec
pothole - obj_id = 0,  x = 260, y = 168, w = 16, h = 38, prob = 0.774
/home/ivan/darknet/data/obj/GH050066.MP4122057553.jpg
 Time: 0.0183 sec
patchdamaged - obj_id = 3,  x = 122, y = 142, w = 20, h = 23, prob = 0.359
/home/ivan/darknet/data/obj/-1295573895.jpg
 Time: 0.0184 sec
pothole - obj_id = 0,  x = 124, y = 243, w = 10, h = 18, prob = 0.983
/home/ivan/darknet/data/obj/-1302514517.jpg
 Time: 0.0183 sec
patchdamaged - obj_id = 3,  x = 250, y = 90, w = 23, h = 163, prob = 0.525
/home/ivan/darknet/data/obj/GH010036.MP46445463.jpg
 Time: 0.0184 sec
patchdamaged - obj_id = 3,  x = 71, y = 228, w = 23, h = 79, prob = 0.206
/home/ivan/darknet/data/obj/-1366863455.jpg
 Time: 0.0183 sec
spalling - obj_id = 1,  x = 166, y = 177, w = 28, h = 15, prob = 0.946
/home/ivan/darknet/data/obj/16459896.jpg
 Time: 0.0184 sec
spalling - obj_id = 1,  x = 244, y = 154, w = 24, h = 17, prob = 0.929
/home/ivan/darknet/data/obj/-1304124165.jpg
 Time: 0.0183 sec
patchdamaged - obj_id = 3,  x = 113, y = 245, w = 134, h = 38, prob = 0.629
/home/ivan/darknet/data/obj/GH020072.MP4177948661.jpg
 Time: 0.0183 sec
spalling - obj_id = 1,  x = 132, y = 187, w = 32, h = 19, prob = 0.603
/home/ivan/darknet/data/obj/14233243.jpg
 Time: 0.0184 sec
/home/ivan/darknet/data/obj/-1390373275.jpg
 Time: 0.0164 sec
patchdamaged - obj_id = 3,  x = 204, y = 126, w = 64, h = 83, prob = 0.998
/home/ivan/darknet/data/obj/GH020028.MP49370807.jpg
 Time: 0.0164 sec
spallingcross - obj_id = 2,  x = 277, y = 182, w = 12, h = 22, prob = 0.915
/home/ivan/darknet/data/obj/-1302516083.jpg
 Time: 0.0184 sec
patchdamaged - obj_id = 3,  x = 239, y = 166, w = 29, h = 55, prob = 0.459
/home/ivan/darknet/data/obj/-1302927200.jpg
 Time: 0.0184 sec
/home/ivan/darknet/data/obj/-1302222635.jpg
 Time: 0.0183 sec
patchdamaged - obj_id = 3,  x = 26, y = 133, w = 58, h = 95, prob = 0.948
/home/ivan/darknet/data/obj/16531094.jpg
 Time: 0.0184 sec
spallingcross - obj_id = 2,  x = 132, y = 147, w = 11, h = 15, prob = 0.936
/home/ivan/darknet/data/obj/17361639.jpg
 Time: 0.0185 sec
spallingcross - obj_id = 2,  x = 117, y = 206, w = 33, h = 18, prob = 0.452
/home/ivan/darknet/data/obj/16591029.jpg
 Time: 0.0164 sec
spalling - obj_id = 1,  x = 159, y = 142, w = 13, h = 16, prob = 0.641
/home/ivan/darknet/data/obj/GH050066.MP4121875982.jpg
 Time: 0.0164 sec
spalling - obj_id = 1,  x = 245, y = 206, w = 11, h = 29, prob = 0.479
/home/ivan/darknet/data/obj/15580902.jpg
 Time: 0.0164 sec
spallingcross - obj_id = 2,  x = 123, y = 206, w = 15, h = 42, prob = 0.711
spalling - obj_id = 1,  x = 161, y = 235, w = 29, h = 17, prob = 0.892
/home/ivan/darknet/data/obj/GH030055.MP491096143.jpg
 Time: 0.0164 sec
/home/ivan/darknet/data/obj/16557144.jpg
 Time: 0.0179 sec
spallingcross - obj_id = 2,  x = 128, y = 255, w = 10, h = 24, prob = 0.543
spalling - obj_id = 1,  x = 246, y = 267, w = 26, h = 19, prob = 0.952
/home/ivan/darknet/data/obj/18000928.jpg
 Time: 0.0184 sec
spalling - obj_id = 1,  x = 210, y = 170, w = 22, h = 17, prob = 0.594
/home/ivan/darknet/data/obj/16632420.jpg
 Time: 0.0184 sec
spallingcross - obj_id = 2,  x = 107, y = 267, w = 32, h = 12, prob = 0.734
spalling - obj_id = 1,  x = 270, y = 254, w = 13, h = 22, prob = 0.92
/home/ivan/darknet/data/obj/GH020070.MP4123242243.jpg
 Time: 0.0184 sec
/home/ivan/darknet/data/obj/17620350.jpg
 Time: 0.0184 sec
spallingcross - obj_id = 2,  x = 126, y = 249, w = 11, h = 27, prob = 0.741
/home/ivan/darknet/data/obj/16336705.jpg
 Time: 0.0165 sec
spallingcross - obj_id = 2,  x = 133, y = 246, w = 12, h = 22, prob = 0.839
/home/ivan/darknet/data/obj/GH020070.MP4123173150.jpg
 Time: 0.0164 sec
pothole - obj_id = 0,  x = 304, y = 285, w = 10, h = 21, prob = 0.272
/home/ivan/darknet/data/obj/16624768.jpg
 Time: 0.00991 sec
spalling - obj_id = 1,  x = 219, y = 171, w = 41, h = 16, prob = 0.216
/home/ivan/darknet/data/obj/16836189.jpg
 Time: 0.00992 sec
spallingcross - obj_id = 2,  x = 69, y = 231, w = 56, h = 29, prob = 0.645
/home/ivan/darknet/data/obj/6649936.jpg
 Time: 0.0171 sec
spallingcross - obj_id = 2,  x = 123, y = 205, w = 30, h = 27, prob = 0.258
/home/ivan/darknet/data/obj/-1302514965.jpg
 Time: 0.0184 sec
/home/ivan/darknet/data/obj/6965301.jpg
 Time: 0.0142 sec
patchdamaged - obj_id = 3,  x = 253, y = 188, w = 26, h = 23, prob = 0.466
/home/ivan/darknet/data/obj/GH050066.MP4122104656.jpg
 Time: 0.00994 sec
patchdamaged - obj_id = 3,  x = 100, y = 187, w = 47, h = 31, prob = 0.229
/home/ivan/darknet/data/obj/8670515.jpg
 Time: 0.00991 sec
spallingcross - obj_id = 2,  x = 112, y = 202, w = 15, h = 34, prob = 0.669
/home/ivan/darknet/data/obj/GH020028.MP49146387.jpg
 Time: 0.00993 sec
patchdamaged - obj_id = 3,  x = 234, y = 198, w = 33, h = 83, prob = 0.925
/home/ivan/darknet/data/obj/-1291074606.jpg
 Time: 0.00991 sec
pothole - obj_id = 0,  x = 136, y = 227, w = 8, h = 29, prob = 0.864
/home/ivan/darknet/data/obj/9435722.jpg
 Time: 0.00992 sec
patchdamaged - obj_id = 3,  x = 136, y = 144, w = 57, h = 63, prob = 0.589
patchdamaged - obj_id = 3,  x = 139, y = 150, w = 29, h = 45, prob = 0.396
/home/ivan/darknet/data/obj/GH040073.MP4188795023.jpg
 Time: 0.00991 sec
patchdamaged - obj_id = 3,  x = 218, y = 65, w = 62, h = 134, prob = 0.989
/home/ivan/darknet/data/obj/GH040041.MP43572583.jpg
 Time: 0.00991 sec
/home/ivan/darknet/data/obj/GH020029.MP49859034.jpg
 Time: 0.00991 sec
patchdamaged - obj_id = 3,  x = 121, y = 129, w = 27, h = 50, prob = 0.843
/home/ivan/darknet/data/obj/16650009.jpg
 Time: 0.01 sec
spalling - obj_id = 1,  x = 104, y = 259, w = 12, h = 20, prob = 0.587
/home/ivan/darknet/data/obj/8679300.jpg
 Time: 0.00993 sec
spalling - obj_id = 1,  x = 51, y = 195, w = 29, h = 16, prob = 0.944
/home/ivan/darknet/data/obj/GH050066.MP4122131444.jpg
 Time: 0.00989 sec
spallingcross - obj_id = 2,  x = 119, y = 156, w = 30, h = 42, prob = 0.691
/home/ivan/darknet/data/obj/8900347.jpg
 Time: 0.00991 sec
spallingcross - obj_id = 2,  x = 146, y = 148, w = 14, h = 43, prob = 0.983
/home/ivan/darknet/data/obj/8691005.jpg
 Time: 0.00991 sec
spallingcross - obj_id = 2,  x = 114, y = 157, w = 20, h = 29, prob = 0.578
spalling - obj_id = 1,  x = 238, y = 170, w = 9, h = 15, prob = 0.608
/home/ivan/darknet/data/obj/18591330.jpg
 Time: 0.00992 sec
pothole - obj_id = 0,  x = 302, y = 189, w = 13, h = 27, prob = 0.948
/home/ivan/darknet/data/obj/GH050066.MP4122865859.jpg
 Time: 0.00991 sec
/home/ivan/darknet/data/obj/GH050070.MP4127735452.jpg
 Time: 0.0099 sec
spalling - obj_id = 1,  x = 373, y = 170, w = 14, h = 19, prob = 0.691
/home/ivan/darknet/data/obj/14643571.jpg
 Time: 0.00993 sec
spalling - obj_id = 1,  x = 162, y = 213, w = 25, h = 29, prob = 0.978
/home/ivan/darknet/data/obj/-1302708224.jpg
 Time: 0.00991 sec
/home/ivan/darknet/data/obj/-1305699979.jpg
 Time: 0.0099 sec
patchdamaged - obj_id = 3,  x = 142, y = 60, w = 61, h = 95, prob = 0.871
/home/ivan/darknet/data/obj/11924190.jpg
 Time: 0.00994 sec
pothole - obj_id = 0,  x = 173, y = 226, w = 19, h = 33, prob = 0.902
/home/ivan/darknet/data/obj/GH050066.MP4122063522.jpg
 Time: 0.0099 sec
patchdamaged - obj_id = 3,  x = 96, y = 208, w = 44, h = 54, prob = 0.829
spalling - obj_id = 1,  x = 248, y = 225, w = 10, h = 20, prob = 0.986
/home/ivan/darknet/data/obj/GH060073.MP4190505143.jpg
 Time: 0.00992 sec
patchdamaged - obj_id = 3,  x = 313, y = 140, w = 27, h = 58, prob = 0.775
/home/ivan/darknet/data/obj/16835518.jpg
 Time: 0.00991 sec
patchdamaged - obj_id = 3,  x = 74, y = 207, w = 48, h = 50, prob = 0.656
patchdamaged - obj_id = 3,  x = 77, y = 107, w = 51, h = 189, prob = 0.517
/home/ivan/darknet/data/obj/6302595.jpg
 Time: 0.00991 sec
/home/ivan/darknet/data/obj/GH020029.MP49929233.jpg
 Time: 0.00991 sec
spalling - obj_id = 1,  x = 96, y = 233, w = 15, h = 16, prob = 0.814
/home/ivan/darknet/data/obj/16282719.jpg
 Time: 0.00991 sec
patchdamaged - obj_id = 3,  x = 169, y = 217, w = 120, h = 58, prob = 0.732
/home/ivan/darknet/data/obj/GH050070.MP4127652960.jpg
 Time: 0.00988 sec
pothole - obj_id = 0,  x = 158, y = 191, w = 9, h = 21, prob = 0.532
/home/ivan/darknet/data/obj/16863413.jpg
 Time: 0.00992 sec
/home/ivan/darknet/data/obj/16894854.jpg
 Time: 0.00996 sec
spallingcross - obj_id = 2,  x = 120, y = 199, w = 16, h = 26, prob = 0.582
/home/ivan/darknet/data/obj/GH030033.MP416992297.jpg
 Time: 0.00992 sec
spalling - obj_id = 1,  x = 179, y = 164, w = 16, h = 20, prob = 0.939
/home/ivan/darknet/data/obj/GH020033.MP410866490.jpg
 Time: 0.00991 sec
patchdamaged - obj_id = 3,  x = 133, y = 167, w = 31, h = 33, prob = 0.705
/home/ivan/darknet/data/obj/GH010024.MP42462346.jpg
 Time: 0.0099 sec
patchdamaged - obj_id = 3,  x = 106, y = 41, w = 54, h = 205, prob = 0.422
/home/ivan/darknet/data/obj/GH050073.MP4189988742.jpg
 Time: 0.00974 sec
patchdamaged - obj_id = 3,  x = 130, y = 232, w = 33, h = 29, prob = 0.888
/home/ivan/darknet/data/obj/GH040033.MP419071866.jpg
 Time: 0.00975 sec
spalling - obj_id = 1,  x = 71, y = 246, w = 26, h = 15, prob = 0.956
/home/ivan/darknet/data/obj/-1302914978.jpg
 Time: 0.00827 sec
patchdamaged - obj_id = 3,  x = 122, y = 224, w = 12, h = 20, prob = 0.38
/home/ivan/darknet/data/obj/GH050070.MP4127936801.jpg
 Time: 0.00673 sec
/home/ivan/darknet/data/obj/15900961.jpg
 Time: 0.00672 sec
/home/ivan/darknet/data/obj/16123337.jpg
 Time: 0.00674 sec
spalling - obj_id = 1,  x = 245, y = 158, w = 24, h = 15, prob = 0.932
/home/ivan/darknet/data/obj/-1375809508.jpg
 Time: 0.00644 sec
pothole - obj_id = 0,  x = 202, y = 156, w = 30, h = 18, prob = 0.212
/home/ivan/darknet/data/obj/GH040066.MP420592738.jpg
 Time: 0.00641 sec
spalling - obj_id = 1,  x = 215, y = 224, w = 25, h = 22, prob = 0.55
/home/ivan/darknet/data/obj/GH010033.MP45632999.jpg
 Time: 0.00562 sec
spallingcross - obj_id = 2,  x = 108, y = 231, w = 18, h = 23, prob = 0.838
/home/ivan/darknet/data/obj/-1293678510.jpg
 Time: 0.0056 sec
/home/ivan/darknet/data/obj/7475573.jpg
 Time: 0.005 sec
/home/ivan/darknet/data/obj/GH050070.MP4128022437.jpg
 Time: 0.00502 sec
patchdamaged - obj_id = 3,  x = 153, y = 218, w = 27, h = 40, prob = 0.967
patchdamaged - obj_id = 3,  x = 353, y = 216, w = 24, h = 33, prob = 0.907
/home/ivan/darknet/data/obj/GH010033.MP45554303.jpg
 Time: 0.00481 sec
spallingcross - obj_id = 2,  x = 122, y = 214, w = 16, h = 21, prob = 0.812
/home/ivan/darknet/data/obj/21807049.jpg
 Time: 0.00479 sec
patchdamaged - obj_id = 3,  x = 228, y = 18, w = 44, h = 45, prob = 0.297
/home/ivan/darknet/data/obj/8673815.jpg
 Time: 0.00476 sec
spalling - obj_id = 1,  x = 117, y = 237, w = 11, h = 22, prob = 0.532
spalling - obj_id = 1,  x = 235, y = 234, w = 12, h = 27, prob = 0.973
spalling - obj_id = 1,  x = 30, y = 238, w = 29, h = 17, prob = 0.686
/home/ivan/darknet/data/obj/GH030070.MP4124918494.jpg
 Time: 0.00479 sec
pothole - obj_id = 0,  x = 122, y = 175, w = 9, h = 15, prob = 0.236
/home/ivan/darknet/data/obj/7717608.jpg
 Time: 0.00475 sec
spalling - obj_id = 1,  x = 137, y = 137, w = 26, h = 14, prob = 0.411
spalling - obj_id = 1,  x = 20, y = 128, w = 37, h = 15, prob = 0.236
/home/ivan/darknet/data/obj/-1376272570.jpg
 Time: 0.00478 sec
spalling - obj_id = 1,  x = 193, y = 242, w = 12, h = 20, prob = 0.835
/home/ivan/darknet/data/obj/GH050066.MP4122095530.jpg
 Time: 0.00474 sec
patchdamaged - obj_id = 3,  x = 117, y = 189, w = 31, h = 54, prob = 0.909
/home/ivan/darknet/data/obj/6486514.jpg
 Time: 0.00476 sec
/home/ivan/darknet/data/obj/9813327.jpg
 Time: 0.00478 sec
spallingcross - obj_id = 2,  x = 157, y = 189, w = 12, h = 23, prob = 0.906
/home/ivan/darknet/data/obj/17080990.jpg
 Time: 0.00475 sec
spalling - obj_id = 1,  x = 179, y = 198, w = 35, h = 16, prob = 0.956
/home/ivan/darknet/data/obj/GH020028.MP49015707.jpg
 Time: 0.00476 sec
spalling - obj_id = 1,  x = 329, y = 252, w = 27, h = 15, prob = 0.974
/home/ivan/darknet/data/obj/GH040066.MP420501128.jpg
 Time: 0.00478 sec
spallingcross - obj_id = 2,  x = 67, y = 170, w = 74, h = 39, prob = 0.959
/home/ivan/darknet/data/obj/-1302514039.jpg
 Time: 0.00476 sec
/home/ivan/darknet/data/obj/-1302999710.jpg
 Time: 0.00477 sec
patchdamaged - obj_id = 3,  x = 93, y = 235, w = 43, h = 19, prob = 0.213
/home/ivan/darknet/data/obj/GH040055.MP492091826.jpg
 Time: 0.00476 sec
spalling - obj_id = 1,  x = 153, y = 176, w = 28, h = 43, prob = 0.806
input image or video filename: 
ivder commented 5 years ago

@AlexeyAB Hi I've updated my post, if you have time kindly take a look at it. Thanks

AlexeyAB commented 5 years ago

@gameon67 Hi,

ivder commented 5 years ago

@AlexeyAB Thanks for the reply

Do you use yolov3.cfg or yolov3-tiny.cfg?

I use yolov3.cfg (I used yolov3-tiny.cfg as well but same symptom)

Do you use the latest version of Darknet from this repository?

I think yes, I forked your repo at the beginning of this month

What did you change in the source code?

Nothing, actually that's the output from yolo_console_dll.cpp , I added the chrono into else if (file_ext == "txt") as well for list of images detection

auto end = std::chrono::steady_clock::now();
std::chrono::duration<double> spent = end - start;
std::cout << " Time: " << spent.count() << " sec \n";

Even with the code from detector.c

 printf("%s: Predicted in %lf milli-seconds.\n", input, ((double)get_time_point() - time) / 1000); 

I still get the same result, the inference speed keep getting faster

AlexeyAB commented 5 years ago

@gameon67 Hi,

Yes, I get the same results, the first ~10-20 detection time measurements are faster or slower, and then detection time measurements are stable.

I do not know why this is happening. May be due to GPU boost technology (change of clock frequency depending on heating) or due to additional time for some initialization at first detections.