今回の記事では2023年5月に登場した最先端の性能を誇るオブジェクト検出モデルであるYOLO-NASの実装を紹介します。

Google Colabを使用して簡単に実装できますので、ぜひ最後までご覧ください。

今回の内容

・YOLO-NASとは

・YOLO-NASの実装

YOLO-NASとは

YOLO-NASは、2023年5月に登場した最先端の性能を誇るオブジェクト検出モデルです。

YOLOv5、YOLOv6、YOLOv7、およびYOLOv8などの他のモデルを上回る独自の精度と速度性能を誇っています。このモデルは、Deciの独自のニューラルアーキテクチャ検索技術であるAutoNAC™によって生成されました。AutoNAC™エンジンは、任意のタスク、データの特性、推論環境、およびパフォーマンス目標を入力し、特定のアプリケーションに適した最適なアーキテクチャを見つけることができます。このエンジンは、データとハードウェアの認識に加えて、推論スタック内の他のコンポーネントも考慮しています。

YOLO-NASは、他の同等のモデルと比較して約0.5 mAPポイントの精度が高く、10~20%高速です。この性能は、Coco 2017 ValデータセットとNvidia T4 GPU上の640×640画像でのレイテンシーベンチマークに基づいています。

引用:https://github.com/Deci-AI/super-gradients/blob/master/documentation/source/images/yolo_nas_frontier.png

このモデルのアーキテクチャは、量子化に対応したブロックと選択的量子化を採用しており、最適化されたパフォーマンスを実現しています。INT8量子化バージョンに変換されると、YOLO-NASは他のモデルと比較して精度が僅かに低下するだけで、オブジェクト検出能力とパフォーマンスが優れた革新的なアーキテクチャが特徴です。

物体検出だけでなく、セグメンテーションタスクや画像分類タスクでも利用することができます。

詳細は以下のリンクからご確認ください。

コード:https://github.com/Deci-AI/super-gradients

YOLO-NASの実装

準備

ここからはGoogle colabを使用して、YOLO-NASの学習済モデルによる推論を実装していきます。

まずはGPUを使用できるように設定をします。

「ランタイムのタイプを変更」→「ハードウェアアクセラレータ」をGPUに変更

必要なライブラリをインストールします。YOLO-NASの環境はpipでインストールすることができます。

!pip install super-gradients

インストールが終了したら、ランタイムを再起動します。

「ランタイム」→「ランタイムの再起動」

Googleドライブをマウントします。

from google.colab import drive
drive.mount('/content/drive')
%cd ./drive/MyDrive

画像の推論

使用するモデルを指定します。今回の例ではyolo_nas_lを使用します。

import super_gradients
yolo_nas = super_gradients.training.models.get("yolo_nas_l", pretrained_weights="coco").cuda()

推論する対象を指定します。
ここではURLで画像を指定します。.show()とすることで、結果を表示することができます。

yolo_nas.predict('https://github.com/ultralytics/yolov5/raw/master/data/images/zidane.jpg').show()

実行結果:

画像の推論(閾値を指定)

conf=0.5とすることで、スコアの閾値を指定することができます。

yolo_nas.predict('https://github.com/ultralytics/yolov5/raw/master/data/images/zidane.jpg',conf=0.5).show()

実行結果:

動画の推論

動画も推論対象とすることができます。
以下の例ではtest.mp4という動画を指定しています。
.save(output_path = 'result') とすることで、出力結果を保存することができます。

yolo_nas.predict('test.mp4',conf=0.5).save(output_path = 'result') 

出力結果(参考):

まとめ

最後までご覧いただきありがとうございました。

今回の記事では2023年5月に登場した最先端の性能を誇るオブジェクト検出モデルであるYOLO-NASの実装を紹介しました。

精度・推論速度ともに向上しており、非常に使いやすいものになっています。

物体検出の活用の幅がさらに広がりそうですね。

コメントを残す