Open yacad opened 4 years ago
-letter_box
Do you use default yolov3.cfg/yolov3.weights? Try to use this model: https://github.com/AlexeyAB/darknet#pre-trained-models
Thanks for your reply @AlexeyAB.
Try to run detection with flag -letter_box : The problem was not solved.
Do you use default yolov3.cfg/yolov3.weights? Try to use this model: https://github.com/AlexeyAB/darknet#pre-trained-models : Improvements were made, but the problem was not resolved.
I downloaded a new version today and tested it again.
Likewise, as shown in the figure below, there was a problem of detecting one object as two objects (eg, car, truck).
I also tested again pjreddie's darknet but I had no such problem.(same yolov3.cfg, yolov3.weights) pjreddie's darknet is expressed as ',' or car and truck are alternately expressed, but there was no such problem.
What is the problem? Or is this not a problem?
Please help.
Attach 3 files in zip-archive
Thanks for your reply @AlexeyAB.
I tested with the same file(yolov3.cfg, yolov3.weights). As can be seen from the results, one object was judged as two or three objects. Object boxes overlapped. I want AlexeyAB to judge one object as one.
File you requested image.zip
source
AlexeyAB
pjreddie
@AlexeyAB.
If you need more samples, I will capture and upload more from the video file. I hope this solves the problem.
Thank you for always helping.
Show command which you used for detection
Set in cfg file
[net]
width=608
height=608
and run detection with -letter_box
flag
Thanks for your reply @AlexeyAB.
I used the following command for detection. I used the same command for AlexeyAB and pjreddie. video : ./darknet detector demo cfg /coco.data cfg/yolov3.cfg yolov3.weights ../video/videodemo.mp4 image : ./darknet detect cfg/yolov3.cfg yolov3.weights ../image/source.jpg
and run detection with -letter_box flag
result( ./darknet detect cfg/yolov3.cfg yolov3.weights ../image/source.jpg -letter_box)
The problem was not solved.
@yacad you use thresh 0.5 can solve this problem
Thanks for your reply @xjohnxjohn
Changing the threshold value did not completely solve the problem.
I found a solution.
In demo.c
// if (nms) do_nms_obj (local_dets, local_nboxes, l.classes, nms); // bad results if (nms) { if (l.nms_kind == DEFAULT_NMS) do_nms_sort (local_dets, local_nboxes, l.classes, nms); else diounms_sort (local_dets, local_nboxes, l.classes, nms, l.nms_kind, l.beta_nms); }
It was changed as follows.
if (nms) do_nms_obj(local_dets, local_nboxes, l.classes, nms); / if (nms) { if (l.nms_kind == DEFAULT_NMS) do_nms_sort(local_dets, local_nboxes, l.classes, nms); else diounms_sort(local_dets, local_nboxes, l.classes, nms, l.nms_kind, l.beta_nms); } /
There may be a reason for the change, but using the previous function solved the problem. I want to know why you changed the existing function (do_nms_obj) without using it.
Hello @yacad, @AlexeyAB . Here meet the same problem while using yolo as dll: How can I make nms work correctly in dll?
Hello @AlexeyAB or who ever wishes to assist me.
I would like to solve the problem of detecting one object as two objects(ex. car, truck) as shown below.
I also tested pjreddie's darknet but I had no such problem.
This may not be a problem. However, I am having trouble with tracking etc. because of this problem.
Please let me know how to solve it.