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

アビラミ・ヴィナ

4 min read

2025年6月25日

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

今日、AIの革新はリモート・サーバー環境だけにとどまらない。AIソリューションは、センサーやスマートフォンなどのエッジデバイスに統合されつつある。この技術シフトのおかげで、データが生成された場所でデータを直接扱うことができるようになり、より迅速な対応、プライバシーの向上、常時クラウド接続への依存度の低減が可能になった。

その結果、エッジAIは多くの業界で支持を集めている。エッジAIソフトウェア市場は、より多くのシステムがより高速でローカルな処理に移行するにつれて、2031年までに88億8000万ドルに達すると予想されている。

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

これはコンピュータ・ビジョン・モデルによって可能になる。例えば、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フレームワークは、エッジ環境特有の制約を扱いながら、高速で信頼性の高いパフォーマンスを実現するように構築されています。

興味深いことに、MNNはアリババ社内で、タオバオ、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 install ultralytics "を実行するか、コマンドプロンプトを使って行うことができる。Jupyter NotebookやGoogle Colabを使用している場合は、コマンドの前に感嘆符を付けてください。

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

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

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

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

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

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

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

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

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

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

植物病害識別のためのモバイルエッジAI

画像分類を利用した植物の病気識別アプリが、園芸家、研究者、自然愛好家の間で人気を集めている。写真さえあれば、葉の斑点や変色など、病気の初期兆候を素早く特定することができる。これらのアプリは、インターネットアクセスが制限されていたり、利用できなかったりする屋外で使用されることが多いため、クラウド処理に頼ることは信頼性に欠ける可能性がある。

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

図4.YOLO11を使って葉のさび病(植物病害)の兆候を検出した例(出典)。

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

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

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

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

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

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

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

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

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

デプロイメントフレームワークとしてMNNを選択する前に、MNNがプロジェクトの要件、デプロイメントターゲット、技術的な制限にどれだけ適合しているかを評価することも重要です。以下は、検討すべき重要な要素です:

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

要点

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

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

成長中のコミュニティに参加しよう!GitHub リポジトリを探索して、AI を深く掘り下げましょう。コンピュータビジョンプロジェクトを始める準備はできましたか?ライセンスオプションをご覧ください。ヘルスケアにおけるAIと 小売業におけるコンピュータビジョンの詳細については、ソリューションのページをご覧ください!

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう

無料で始める
クリップボードにコピーされたリンク