AlexeyAB / darknet

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

Difference between yolov3-tiny.cfg and yolov3-tiny_3l #3235

Closed pushkalkatara closed 5 years ago

pushkalkatara commented 5 years ago

Hi, How to understand the difference between yolov3-tiny.cfg and yolov3-tiny_3l

I notice addition from here route, cnn, upsample, route, cnn, cnn, yolo

AlexeyAB commented 5 years ago

@pushkalkatara Hi,

yolov3-tiny_3l uses 3 [yolo]-layers at different scales, while yolov3-tiny uses 2 [yolo]-layers at different scales

pushkalkatara commented 5 years ago

Can you please share the intuition behind adding an extra yolo layer with different scales. Also, how are the accuracy and fps affected in both models?

AlexeyAB commented 5 years ago

There was idea, that small objects require small features which are closer to input, while big objects require big feature which are far from input.

For example, [yolo] layer with mask= that reference to smaller anchors= is used for small objects, and we though that it requires shortcut to first layers to get small features.

But now we know, that all [yolo] layers (for small and big objects) require all features (small and big), from this article for PANet: https://github.com/AlexeyAB/darknet/issues/3175 and paper https://arxiv.org/abs/1803.01534v4

4 colored lines are 4 detection ([yolo] or other) layers:

image

So: https://github.com/AlexeyAB/darknet/issues/3114#issuecomment-494148968

Read more: https://github.com/AlexeyAB/darknet/issues/3114#issuecomment-494148968

pushkalkatara commented 5 years ago

Great. Thanks for the detailed answer. :+1: