物体検出で、とくに速度が必要な場合、Real-time object detection を謳う YoLo(https://pjreddie.com/darknet/yolo/) がよく利用されます。
2020年になって登場した YoLo の v4 の変更点の私家版 (https://www.nakasha.co.jp/future/ai/vol15_darknet_yolov3yolov4.html) が公開されていて、個人的に気になった点のちょこっとメモです。
ネットワークに動画対応が追加
・added the ability for training recurrent models (with layers conv-lstm[conv_lstm]/conv-rnn[crnn]) for accurate detection on video
動画検出のためのリカレントモデル学習に対応
これですと、連続する画像(動画)向けのように見えますが、なんだかよくわかりません。。
issue を見ると、#3114 で説明があります。
https://github.com/AlexeyAB/darknet/issues/3114
ビデオフレームの学習として、blinking の問題(フレームごとに検出したりしなかったりという問題でいいの?)を解消するとあります。
conv_lstm に関して言うと、#3326 にも説明があり、下記論文の Convolutional LSTM を取り込んだ点を言っています。
https://github.com/AlexeyAB/darknet/issues/3326
Did you implement the same "Convolutional LSTM" proposed in the following document? I want to study Convolutional LSTM using the paper and your code.
(http://arxiv.org/abs/1506.04214v1)
1.-2. Yes,
ここまでくると日本語の解説も参考にできます。
https://qiita.com/masataka46/items/0c77fef1e48446c7d329
LSTM は v3 ベースから試していて、このあたりは v4 の新しい取り組みというより、darknet のレポジトリとしての説明のようですね。
data augmentation
Self-Adversarial Training というデータ拡張の手法もありとのこと。adversarial attack という言葉からすると、通常の学習は loss が下がるように学習するところ、loss が上がるような画像で誤認識させる攻撃が発想のもとで、そういった画像で学習させて誤認識するような画像も認識出るようになる、でしょうか。
あと上記と別で、全く新機能ではありませんが darknet では data augmentation がフレームワークの段階で動作する実装となっているそうです。
https://demura.net/robot/athome/15558.html
おまけ
And added manual - How to train Yolo v4-v2 (to detect your custom objects)
^^
いままでなかったんでしたっけ。。