Closed pushkalkatara closed 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
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?
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:
So: https://github.com/AlexeyAB/darknet/issues/3114#issuecomment-494148968
yolov3-tiny.cfg
uses 2 [yolo]-layers - Inference = 5.0 ms | mAP = 32.3%
yolov3-tiny_3l.cfg.cfg
uses 3 [yolo]-layers - Inference = 5.6 ms | mAP = 46.8%
yolo_v3_tiny_pan.cfg
uses 3 [yolo]-layers - Inference = 8.7 ms | mAP = 49.7%
yolo_v3_spp.cfg
uses 3 [yolo]-layers - Inference = 23.5 ms | mAP = 51.8%
yolo_v3_spp_pan.cfg
uses 3 [yolo]-layers - Inference = 33.8 ms | mAP = 58.5%
Read more: https://github.com/AlexeyAB/darknet/issues/3114#issuecomment-494148968
Great. Thanks for the detailed answer. :+1:
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