Open tuteming opened 4 years ago
I want to know about Rotate conv-kernel also (the commit https://github.com/AlexeyAB/darknet/commit/5e035565ff6226aaea3377bce9bb8e2279f828ae). Does it mean that the model is rotation-invariant?
@tuteming @hoangphucITJP
This is experimental training approach. Yes, it tries to make conv layers rotation-invariant and scale-invariant
rotate=1
- makes convolution rotationally invariant when rotated by 90, 180, 270 degreessway=1
- makes convolution rotationally invariant when rotated by +-15 degree, and flip-invariantstretch=1
- makes convolution scale invariantstretch_sway=1
- combine stretch=1 and sway=1should be used as
[convolutional]
batch_normalize=1
filters=1024 # 1024
groups=4
size=3
stride=1
pad=1
activation=leaky
rotate=1
[maxpool]
maxpool_depth=1
out_channels=256 # 1024 /4 = 256
size=1
stride=1
You can look at this table - field mAP@0.5 valid-set (other videos)
: https://github.com/AlexeyAB/darknet/issues/4495#issuecomment-578538967
So you can try to use:
Tiny_3l_roatate_whole_maxout - https://github.com/AlexeyAB/darknet/files/3995740/yolov3-tiny_3l_rotate_whole_maxout.cfg.txt
Tiny_3l_stretch_sway_whole_concat_maxout - https://github.com/AlexeyAB/darknet/files/4003688/yolov3-tiny_3l_stretch_sway_whole_concat_maxout.cfg.txt
And train as Yolov3-tiny model: https://github.com/AlexeyAB/darknet#how-to-train-tiny-yolo-to-detect-your-custom-objects
./darknet detector train data/obj.data yolov3-tiny-obj.cfg yolov3-tiny.conv.15
what function are Stretch conv-kernel, Rotate conv-kernel, and Sway conv-kernel? can give a corresponding issue or refs?