axinc-ai / ailia-models

The collection of pre-trained, state-of-the-art AI models for ailia SDK
2.05k stars 326 forks source link

Add support of YOLOX_S and YOLOX_TINY to ByteTrack #619

Closed kyakuno closed 3 years ago

kyakuno commented 3 years ago

ByteTrack自体は高速なアルゴリズムであるが、物体検出にYOLOXの高解像度版を使用しているため、Webカメラでデモをするには重い。そのため、model_typeにyolox_sとyolox_tinyを与えられるようにする。

YOLOX_S、YOLOX_TINY https://github.com/axinc-ai/ailia-models/tree/master/object_detection/yolox

ByteTrack https://github.com/axinc-ai/ailia-models/tree/master/object_tracking/bytetrack

ooe1123 commented 3 years ago

@kyakuno オリジナルリポジトリでは、bytetrack_s_mot17 の学習済みモデルは公開されていますが、tinyやmot20の学習済みモデルはありません。 https://github.com/ifzhang/ByteTrack#mot17-test-model これらは学習から行うという認識でしょうか?

kyakuno commented 3 years ago

@ooe1123 上記のyoloxの既存のエクスポート済みのonnxを利用いただければと思います。

ooe1123 commented 3 years ago

@kyakuno オリジナルの公開している学習済みモデルは、yoloxを元にファインチューニングを行ったものだと思うのですが、ailia-models/yolox のモデルを流用する、という方向でよいのでしょうか?

また、bytetrackのモデルはnum_classes=1で構成されていて、yoloxのモデルはnum_classes=80で構成されているので、いまのbytetrackのサンプルコードにぴたりときれいに適合するようになっていません。 (personクラスに絞って、bytetrackのtrackerを当てるということは確かに可能だと思いますが...)

kyakuno commented 3 years ago

@ooe1123 はい、motデータセットに対しては最適ではないと思いますが、webカメラでの応用に関しては有用であると考えているため、標準のyoloxモデルで問題ありません。personクラスに絞って、bytetrackのtrackerを当てていただければと思います。