AlexeyAB / darknet

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

Why need annotation label for Test set? #2028

Open JasOlean opened 5 years ago

JasOlean commented 5 years ago

I trained my custom dataset using tiny yolo. After training, I want to test my testing images under /home/usr/test/......... . jpg. When I test my images without labels, why cannot test? When I test my images with labels, I can. I think we need to test some images or video without labels on that images.

So, I would like to know why need annotation labels for test set when use this command. ./darknet detector map data/handsnet.data data/tiny-yolo-handsnet.cfg backup/tiny-yolo-handsnet_final.weights

Thank you.

AlexeyAB commented 5 years ago

When I test my images without labels, why cannot test?

You can test without labels. ./darknet detector test data/handsnet.data data/tiny-yolo-handsnet.cfg backup/tiny-yolo-handsnet_final.weights -dont_show -ext_output < data/train.txt > result.txt


So, I would like to know why need annotation labels for test set when use this command.

./darknet detector map data/handsnet.data data/tiny-yolo-handsnet.cfg backup/tiny-yolo-handsnet_final.weights

This is not a test. This is checking accuracy (mAP), i.e. how much do your model results differ from labels.

JasOlean commented 5 years ago

So, now I got result.txt by using ./darknet detector test data/handsnet.data data/tiny-yolo-handsnet.cfg backup/tiny-yolo-handsnet_final.weights -dont_show -ext_output < data/train.txt > result.txt

And then, how could I know detection accuracy between ground truth and predicted result?

AlexeyAB commented 5 years ago

how could I know detection accuracy between ground truth and predicted result?

For get accuracy you should use:

./darknet detector map data/handsnet.data data/tiny-yolo-handsnet.cfg backup/tiny-yolo-handsnet_final.weights

This is checking accuracy (mAP), i.e. how much do your model results differ from labels. So you should have labels.

JasOlean commented 5 years ago

As an example, Enter Image Path: /home/khin/darknet1/data/img/test/Desk_image_00000_color.png: Predicted in 0.000000 milli-seconds. hand: 98% (left_x: 79 top_y: 139 width: 278 height: 234) Enter Image Path: /home/khin/darknet1/data/img/test/Desk_image_00001_color.png: Predicted in 0.000000 milli-seconds. hand: 93% (left_x: 90 top_y: 158 width: 276 height: 230) Enter Image Path: /home/khin/darknet1/data/img/test/Desk_image_00002_color.png: Predicted in 0.000000 milli-seconds. hand: 91% (left_x: 102 top_y: 167 width: 264 height: 232)

They are my predicted results using test command. But, the format are not like this (e.g YOLO txt file - 0 0.347656 0.786806 0.395312 0.426389) to know mAP. So, how could I know mAP using these results.

Thank You.