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

Yolov4-tiny : multiple detections with higher network resolution #7803

Open Micky-123 opened 3 years ago

Micky-123 commented 3 years ago

Hi, I am using yolov4-tiny model. Used the default yolov4-tiny.cfg (resolution - 416, 416) file and the default weights. I see detections happening but then there were few cases where detections were not happening. I am using sample test dataset mainly having persons in it. My test files are 1920 1080, 3840 2160 Now, to improve detections I made one change in yolov4-tiny.cfg file : resolution from 416, 416 to 608, 608. It did help for small size objects but Now I see that there are multiple detections happening for a single object itself. These multiple detections are not false positive as they are on the object but having less IOU. When I change the network resolution - am I expected to change any where else as well? Please advice.

Thanks

Micky-123 commented 3 years ago

@AlexeyAB : Any suggestion for the above..

AlexeyAB commented 3 years ago

Also try to increase anchor values by 1.46x in all 3 yolo-layers

Micky-123 commented 3 years ago

Also try to increase anchor values by 1.46x in all 3 yolo-layers

@AlexeyAB : I am using yolov4-tiny model with 2 yolo layers. I changed the anchor value as suggested in those layers. What I observed now is that the bounding box sizes are very big. But I still see multiple detections happening in a object.

I also tried to use yolov4-tiny-3l model with yolov4-tiny weights but it is not able to detect anything. I also changed the anchor values there but there is no change. These are the last messages:


  [yolo] params: iou loss: ciou (4), iou_norm: 0.07, obj_norm: 1.00, cls_norm: 1.00, delta_norm: 1.00, scale_x_y: 1.05
  nms_kind: greedynms (1), beta = 0.600000
  Total BFLOPS 17.741
  avg_outputs = 684568
  Loading weights from ..\weights\yolov4-tiny.weights...
   seen 64, trained: 0 K-images (0 Kilo-batches_64)
  Done! Loaded 39 layers from weights-file
   Detection layer: 30 - type = 28
   Detection layer: 37 - type = 28
   Detection layer: 44 - type = 28

and then it kind of stucks here.

For yolov4-tiny-3l to work - anything need to be changed in the code/cfg file to make it work?

Thanks