M2Det : 高精度な物体検出モデル
ailia SDKで使用できる機械学習モデルである「M2Det」のご紹介です。エッジ向け推論フレームワークであるailia SDKとailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。
M2Detの概要
M2Detは2018年11月に提案された高精度な物体検出モデルです。COCOの80カテゴリの物体のバウンディングボックスを検出することができます。
従来の物体検出では、Image ClassificationのBackbone(MobilenetやVGG、ResNetなど)を使用してバウンディングボックスを計算していました。例えば、SSDではImage ClassificationのBackboneで特徴量を抽出した後、同様のBackboneを後段に加えることでバウンディングボックスを計算しています。Feature Pyramidsを使用しているReinaDetでも同様で、SSDに比べて階層化したFeatureを使用するものの、物体検出のBackboneはImage Classificationベースでした。M2Detでは、Image ClassificationのBackboneで特徴量を抽出した後、物体検出に特化したBackboneを用いることで、高精度化を行います。
この、物体検出に特化したBackboneをMLFPN(Multi-Level Feature Pyramid Network)と呼びます。MLFPNはTUM(Thinned U-shape Module)を階層化して用いています。
TUMは下記の構造を持ちます。
M2Detの性能
M2DetはYOLOv3やRetinaDetよりも性能が高く、SOTAを達成しています。
M2DetのBackboneにはVGG-16とResNet-101を使用しています。VGG-16の方が高速に動作し、ResNet-101の方が高精度です。
ailia SDKでM2Detを使用する
ailia SDKでは下記のサンプルでM2Detを使用することができます。エクスポートしているのはVGG-16ベースのM2Detで、3x512x512を入力に取ります。
下記のコマンドでWEBカメラに対してM2Detを使用した物体検出を行うことができます。
python3 m2det.py -v 0
ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。