AlexeyAB / darknet

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

Eyes direction determine problem #4658

Open huebrt opened 4 years ago

huebrt commented 4 years ago

Hi @AlexeyAB I want to train a network with yolo_tinyv3 to determine the eye direction data are people who use their own experiments I made about 3000 pieces of experimental data and classified them into four categories But the training results are not as expected, and it is easy to judge I have turned cfg: filp, angel off and jitter turned on iteration adjusted to 80200 anchor box has been recalculated But I calculated that the AP turned out to be 100% Could you please give me some suggestions !! Thank you

AlexeyAB commented 4 years ago

But I calculated that the AP turned out to be 100% Could you please give me some suggestions !!

Good result. What is the problem? What size of Training and Validation datasets?

huebrt commented 4 years ago

Hi @AlexeyAB But I actually recorded a video Test the model, the result category will be wrong For example, the bottom left judgment result is the bottom right ... My datdset is divided into 9: 1 9 = Training data 1 = Validation datasets size of = 1920*1080 pixel

AlexeyAB commented 4 years ago

How many images in the traiing dataset? Do you get correct results on Validation dataset? Show examples of correct/wrong classifications on Validation dataset.

huebrt commented 4 years ago

training dataset has about 2700 photos Validation dataset validation is correct But I run demo / data / cfg / weight / my_testvideo.mp4 He will easily misjudge May I pass on the video I tested to you? How can i give you if you can, thank you

AlexeyAB commented 4 years ago

Do you use Classifier or Detector? Show screenshot of result of command ./darknet detector test .... valid.jpg where is valid.jpg is image from valid dataset. If you get good result for valid dataset, but bad result for other images/videos, then you should increase your training dataset: https://github.com/AlexeyAB/darknet#how-to-improve-object-detection

for each object which you want to detect - there must be at least 1 similar object in the Training dataset with about the same: shape, side of object, relative size, angle of rotation, tilt, illumination. So desirable that your training dataset include images with objects at diffrent: scales, rotations, lightings, from different sides, on different backgrounds - you should preferably have 2000 different images for each class or more, and you should train 2000*classes iterations or more

AlexeyAB commented 4 years ago

If you get good result for valid dataset, but bad result for other images/videos, then you should increase your training dataset: https://github.com/AlexeyAB/darknet#how-to-improve-object-detection

Otherwise, lines in the obj.names file are incorrect.

huebrt commented 4 years ago

Thanks you @AlexeyAB

  1. This is my test my valid dataset. The model is shy so cover her face!! valid dataset is correct As shown!! image image 2.But when I run the demo video, I get an error E.g:This frame is supposed to display UL but UR appears UL_11 3.So your suggestion is to expand one category to 2000 and this yolov3-tiny_3l.cfg ? 4.Do I need to add negative samples? Thank you for your patient answer!!!
AlexeyAB commented 4 years ago

3.So your suggestion is to expand one category to 2000 and this yolov3-tiny_3l.cfg ?

Yes, as suggested @HagegeR

Also: https://github.com/AlexeyAB/darknet#how-to-improve-object-detection

for each object which you want to detect - there must be at least 1 similar object in the Training dataset with about the same: shape, side of object, relative size, angle of rotation, tilt, illumination. So desirable that your training dataset include images with objects at diffrent: scales, rotations, lightings, from different sides, on different backgrounds - you should preferably have 2000 different images for each class or more, and you should train 2000*classes iterations or more

4.Do I need to add negative samples?

No, I don't see false-positive detections.

huebrt commented 4 years ago

OK!Thank you @AlexeyAB

I train is to keep my head still (no swinging) and only move my eyes! I trained three peoples in one category and increased to 2000 images!! Is it accurate to use an untrained peoples? Still need to use trained peoples(One of three)? Use 9 anchor box? Am i set correctly ? my_cfg.txt My picture =19201080 So resize width=608 height=608? so grid cell=1919? but random=1 ,Still random resizing it to 320 320 to 608 608 ?

Aleksei91 commented 4 years ago

I'm not really sure, but i think that you should detect eyes, crop them and then pass to classifier. It may be slower, but it more correct pipeline. I don't know there may be more suitable network architectures, I think even two-stage detectors may be better for your task. You should do some research ofc.

huebrt commented 4 years ago

OK Thanks you @Aleksei91 Suggest I know a lot of ways to do eye classification two-stage!! But i just want to try yolo network!! Thank you very much for your suggestion!!

AlexeyAB commented 4 years ago

You can do it in one stage. Just follow: https://github.com/AlexeyAB/darknet/issues/4658#issuecomment-572740169