Yolo 深圳
深セン
今すぐ参加

MNNの統合を使用してUltralytics YOLO11 シームレスに展開する

Ultralytics YOLO11 モデルをMNN統合でエクスポートし、モバイル、組み込み、低電力プラットフォームで高速推論を行う方法をご紹介します。

今日では、AIのイノベーションはリモートサーバー環境を超えて拡大しています。AIソリューションは、センサーやスマートフォンなどのエッジデバイスに統合されつつあります。この技術的な変化のおかげで、データは生成された場所で直接処理できるようになり、より迅速な応答、プライバシーの向上、および継続的なクラウド接続への依存度の軽減が可能になります。

その結果、エッジAIは多くの産業で勢いを増しています。より多くのシステムがより高速でローカルな処理に移行するにつれて、エッジAIソフトウェア市場は2031年までに88.8億ドルに達すると予測されています。

特に、画像や映像の理解に重点を置くAIの一分野であるコンピュータ・ビジョンは、エッジ分野で急速に採用が進んでいる。包装された食品を数えることから、車両が歩行者をdetect のを支援することまで、コンピュータ・ビジョンはさまざまな分野で数え切れないほどの実用的なアプリケーションを支えている。

これはコンピューター・ビジョン・モデルによって可能になる。例えば Ultralytics YOLO11は、物体検出、インスタンス分割、物体追跡、姿勢推定など、さまざまなビジョンAIタスクをサポートするモデルである。高速かつ効率的に設計されており、ハードウェアリソースが限られたデバイスでも十分に機能する。

図1.YOLO11 包装された食品を検出・追跡する(出典)。

エッジ展開に適していることに加え、Ultralyticsサポートする様々な統合により、YOLO11 様々なハードウェア環境に適した様々なフォーマットにエクスポートすることができる。 

最も効率的な選択肢の一つはMNN(Mobile Neural Network)であり、低リソースデバイス用に設計された軽量推論エンジンである。YOLO11 MNNにエクスポートすることで、携帯電話や組み込みシステムなど、高速なオンデバイス処理が不可欠なエッジプラットフォームで直接実行できるようになる。

この記事では、MNN統合がどのように機能するのか、一般的なユースケースを紹介し、エクスポートされたYOLO11 モデルを使って推論を実行する方法を説明します。始めよう

MNN:深層学習フレームワークの概要

モバイルフォン、産業用センサー、ポータブルシステムなどの小型デバイスでコンピュータビジョンモデルを実行することは、必ずしも簡単ではありません。これらのデバイスは、多くの場合、メモリが限られており、プロセッサが遅く、電力制限が厳しくなっています。 

モバイル・ニューラル・ネットワーク(MNN)は、アリババが開発した軽量かつ高性能な推論エンジンであり、AIモデルを低リソースのハードウェアで効率的に動作させ、リアルタイム性能を維持することを目的としている。MNNは、Android、iOS、Linuxなどの幅広いプラットフォームをサポートし、中央演算処理装置(CPU)やグラフィック処理装置(GPU)などのさまざまな種類のハードウェアで動作する。

図2。MNNフレームワークの概観(出典)。

Ultralytics サポートするMNN統合は、YOLO11 モデルをMNNフォーマットに簡単にエクスポートすることを可能にします。簡単に言えば、モデルをYOLO フォーマットからMNNに変換できるということです。 

一旦変換されれば、MNNフレームワークをサポートするデバイス上に展開し、効率的なオンデバイス推論を行うことができる。MNNフォーマットを使用する主な利点は、サイズ、スピード、リソース効率が重要なシナリオでのYOLO11 展開が簡単になることです。

MNN推論バックエンドの主な機能

MNN統合の使用方法について掘り下げる前に、MNNフレームワークが実際のデバイスでAIモデルを実行するための優れた選択肢となる理由を見てみましょう。高速で信頼性の高いパフォーマンスを提供しながら、エッジ環境の固有の制約に対処するように構築されています。

興味深いことに、MNNはAlibaba内で、ライブビデオ、ショートフォームコンテンツ、画像検索、オンデバイスセキュリティチェックなど、幅広いシナリオにわたって、Taobao、Tmall、Youku、DingTalk、Xianyuを含む30以上のアプリケーションで内部的に使用されています。大規模なデプロイメントをサポートし、本番環境で1日に数百万回の推論を実行します。

MNNフレームワークの主な機能を以下に示します。

  • バックエンド自動選択: MNNは、実行するハードウェアに基づいて、CPU GPU、最適な実行バックエンドを自動的に選択することができます。
    ‍。
  • マルチスレッド実行:マルチスレッドをサポートしており、マルチコアプロセッサを最大限に活用して、より高速な推論を実現します。
  • モデルの量子化をサポート: FP16またはINT8量子化を使用してモデルサイズを大幅に削減できるため、メモリの使用量を削減しながら推論速度を向上させることができます。
  • 軽量で高速: MNNのフットプリントは非常に小さく、コア・ライブラリはAndroid 約400KB、iOS約5MBであり、モバイル機器や組み込み機器に最適です。

MNN統合の仕組みを理解する

次に、YOLO11 モデルをMNNフォーマットにエクスポートする方法を説明しよう。

最初のステップは、YOLO11 モデルをMNNフォーマットにエクスポートするのに必要なすべてを提供するUltralytics Python パッケージをインストールすることです。これは、ターミナルで "pip installultralytics"を実行するか、コマンドプロンプトを使って行うことができる。Jupyter NotebookやGoogle Colabを使用している場合は、コマンドの前に感嘆符を付けてください。

インストール中に問題が発生した場合は、よくある問題ガイドを参照して、トラブルシューティングのヒントをご確認ください。

環境がセットアップされたら、"yolo11n.pt "のような事前にトレーニングされたYOLO11 モデルをロードし、下のコード・スニペットのようにMNNフォーマットにエクスポートすることができます。独自のカスタムYOLO11 モデルをトレーニングした場合は、ファイル名をモデルのパスに置き換えるだけでエクスポートできます。

from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")

モデルをMNNに変換した後、アプリケーションのニーズに応じて、さまざまなモバイルおよび組み込みプラットフォームで使用できます。

例えば、エクスポートしたモデルを交通のビデオでテストしたいとします。その場合、下の例のように、YOLO11 モデルをMNNフォーマットでロードして、車両、歩行者、交通標識などのオブジェクトをデバイス上で直接detect することができます。

mnn_model = YOLO("yolo11n.mnn")
results = mnn_model("https://videos.pexels.com/video-files/27783817/12223745_1920_1080_24fps.mp4", save=True)

推論が完了すると、検出されたオブジェクトを含む出力映像が「runs/detectdetectpredict」フォルダに自動的に保存される。また、MNNPython パッケージを直接使用して推論を実行したい場合は、Ultralytics 公式ドキュメントで詳細と例を確認できます。

図3.MNN形式にエクスポートされたYOLO11 モデルを使ったトラフィックの分析。画像は筆者による

YOLO11 MNNが可能にするエッジAIモデル展開のユースケース

YOLO11 MNNとともに導入することで、クラウドベースの処理が現実的でない、あるいは不可能な環境でも、物体検出などの高速で効率的なコンピューター・ビジョン・タスクが可能になる。この統合が実際のシナリオでどのように役立つかを見てみよう。

植物病識別向けモバイルエッジAI

画像分類を使用する植物病識別アプリは、庭師、研究者、自然愛好家の間で人気が高まっています。写真1枚で、ユーザーは葉の斑点や変色など、病気の初期兆候を迅速に特定できます。これらのアプリは、インターネットアクセスが制限されているか利用できない屋外エリアで使用されることが多いため、クラウド処理に依存すると信頼性が低下する可能性があります。

トレーニング後、YOLO11 モデルをMNNフォーマットにエクスポートし、モバイル・デバイス上で直接実行することができる。このモデルは、サーバーにデータを送信することなく、植物の種類をclassify し、目に見える病気の症状をローカルでdetect することができる。 

図4.YOLO11 葉のさび病(植物病害)の兆候をdetect 例(出典)。

製造業における効率的なオンデバイス推論

正確なパッケージ追跡は、製造現場の多忙な生産ラインでは不可欠です。YOLO11 使えば、各商品が重要なチェックポイントを通過するたびに、track カウントを行い、リアルタイムでカウントを更新し、不一致があればフラグを立てることができます。これにより、出荷漏れや未計数を減らし、よりスムーズで信頼性の高いオペレーションをサポートします。

図5.YOLO11 使った荷物の追跡とカウント(出典)。

MNNの統合は、この文脈で特にインパクトを与えることができる。YOLO11 モデルがMNNフォーマットにエクスポートされると、コンベア沿いに設置されたコンパクトで低消費電力のデバイスで直接実行できる。 

すべての処理がローカルで行われるため、システムは即座にフィードバックを提供でき、インターネット接続は不要です。これにより、工場現場での高速かつ信頼性の高いパフォーマンスが保証され、高い精度と制御を維持しながら、生産を効率的に進めることができます。

YOLO11 MNNモデルフォーマットにエクスポートする利点

以下は、Ultralytics提供するMNN統合の主な利点です:

  • より高速な応答時間: 推論がデバイス上で実行されるため、予測は最小限のレイテンシでリアルタイムに行われます。
  • 改善されたデータプライバシー: データはデバイス上に保持されるため、機密性の高い画像やビデオをクラウドに送信する必要性が軽減されます。
  • オープンソースで活発にメンテナンスされている: Alibabaに支援され、活発なコミュニティによってサポートされているMNNは、信頼性が高く、パフォーマンスの改善とともに定期的に更新されています。

MNNフレームワークを使用する際に考慮すべき要素

MNNをデプロイメントフレームワークとして選択する前に、プロジェクトの要件、デプロイメントターゲット、および技術的な制限にどの程度適合するかを評価することも重要です。考慮すべき主な要素を以下に示します。

  • 継続的な互換性: フレームワークのアップデートやターゲットプラットフォームの変更により、すべてをスムーズに実行し続けるためには、再テストや調整が必要になる場合があります。
  • デバッグツールの少なさ: 大規模なフレームワークと比較して、MNNにはモデルの動作をデバッグおよび検査するためのツールが限られており、トラブルシューティングが困難になる可能性があります。
  • パフォーマンスはハードウェアに依存します: モデルの速度と効率は、デバイスによって異なります。目標とするパフォーマンスを満たしていることを確認するために、ターゲットハードウェアでテストしてください。

主なポイント

UltralyticsMNN統合のサポートにより、モバイル機器や組み込み機器で使用するためのYOLO11 モデルを簡単にエクスポートすることができます。クラウドアクセスや常時接続に依存することなく、高速で信頼性の高い検出を必要とするアプリケーションにとって、実用的なオプションです。

このセットアップは、パフォーマンスを維持し、リソースの要求を低く抑えながら、展開を合理化するのに役立ちます。スマートホームシステム、フィールドツール、コンパクトな産業用デバイスのいずれを構築する場合でも、YOLO11 MNNにエクスポートすることで、エッジデバイス上で直接コンピュータビジョンタスクを実行する柔軟で効率的な方法が提供されます。

成長を続けるコミュニティに参加しましょう。AIについてさらに深く知るために、GitHubリポジトリをご覧ください。コンピュータビジョンプロジェクトを始める準備はできましたか?ライセンスオプションをご確認ください。ソリューションページでは、ヘルスケア分野におけるAI小売業におけるコンピュータビジョンについて詳しくご紹介しています。

AIの未来を
共に築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる