MNN連携を使ってUltralytics YOLO11をシームレスにデプロイ
Ultralytics YOLO11モデルをMNN連携でエクスポートおよびデプロイし、モバイル、組み込み、低消費電力のプラットフォームで高速な推論を実現する方法をご紹介します。
Abirami Vina9 分で読めます
現在、AIのイノベーションはリモートサーバー環境にとどまらず広がっています。センサーやスマートフォンなどのエッジデバイスにもAIソリューションが組み込まれています。この技術的な変化により、データが生成された場所で直接処理できるようになり、応答の高速化、プライバシーの向上、クラウドへの常時接続への依存低減が可能になっています。
その結果、エッジAIは多くの業界で注目を集めています。より高速でローカルな処理に移行するシステムが増える中、エッジAIソフトウェア市場は2031年までに88億8,000万ドルに達すると予測されています。
特に、画像や動画の理解に焦点を当てたAIの一分野であるコンピュータービジョンは、エッジ環境で急速に導入されています。包装される食品の数を数えることから、車両による歩行者の検出支援まで、コンピュータービジョンはさまざまな分野で数多くの実用的なアプリケーションを支えています。
これはコンピュータービジョンモデルによって実現できます。たとえば、Ultralytics YOLO11は、物体検出、インスタンスセグメンテーション、姿勢推定、物体トラッキングなど、さまざまなビジョンAIタスクに対応するモデルです。高速かつ効率的に動作するよう設計されており、ハードウェアリソースが限られたデバイスでも優れた性能を発揮します。

図1. Ultralytics YOLO11を使って包装工程の食品を検出・追跡。
エッジへのデプロイに適しているだけでなく、Ultralyticsがサポートするさまざまなインテグレーションを利用して、YOLO11をさまざまなハードウェア環境に適した形式にエクスポートできます。
特に効率的な選択肢の1つが、リソースの限られたデバイス向けに設計された軽量推論エンジンのMNN(Mobile Neural Network)です。Ultralytics YOLO11をMNNにエクスポートすると、モバイルフォン、組み込みシステム、その他のエッジプラットフォーム上で直接実行でき、デバイス上での高速処理が不可欠な用途に対応できます。
この記事では、MNNとの統合の仕組みや一般的なユースケースを紹介し、エクスポートしたUltralytics YOLO11モデルを使って推論を実行する方法を順を追って説明します。
MNNの概要:ディープラーニングフレームワーク#
モバイルフォン、産業用センサー、ポータブルシステムなどの小型デバイスでコンピュータービジョンモデルを実行するのは、必ずしも簡単ではありません。こうしたデバイスは、メモリが限られ、プロセッサーの速度が遅く、電力にも厳しい制約があることが多いためです。
Mobile Neural Network(MNN)は、Alibabaが開発した軽量かつ高性能な推論エンジンです。リアルタイム性能を維持しながら、リソースの限られたハードウェア上でAIモデルを効率よく実行できるように設計されています。MNNはAndroid、iOS、Linuxなど幅広いプラットフォームに対応し、中央処理装置(CPU)やグラフィックス処理装置(GPU)など、さまざまな種類のハードウェアで動作します。

図2. MNNフレームワークの概要(出典)。
UltralyticsがサポートするMNNとの統合により、YOLO11モデルを簡単にMNN形式へエクスポートできます。つまり、モデルをネイティブのPyTorch形式からMNNに変換できます。
変換後は、MNNフレームワークに対応したデバイスにデプロイし、効率的なデバイス上推論を実行できます。MNN形式を使用する主なメリットは、サイズ、速度、リソース効率が重要となるシナリオで、Ultralytics YOLO11のデプロイを簡素化できることです。
MNN推論バックエンドの主な機能#
MNNインテグレーションの使い方を説明する前に、実環境のデバイスでAIモデルを実行するうえでMNNフレームワークが優れている理由を見てみましょう。エッジ環境特有の制約に対応しながら、高速で信頼性の高い性能を発揮できるよう設計されています。
MNNはAlibaba社内でも広く使われており、Taobao、Tmall、Youku、DingTalk、Xianyuなど、30以上のアプリケーションに採用されています。ライブ動画、ショートコンテンツ、画像検索、デバイス上のセキュリティチェックなど、幅広いシナリオに対応しています。大規模なデプロイをサポートし、本番環境では1日に数百万回の推論を実行しています。
MNNフレームワークの主な機能をいくつか紹介します。
- バックエンドの自動選択: MNNは、実行中のハードウェアに応じて、CPUやGPUなど最適な実行バックエンドを自動的に選択できます。
- マルチスレッド実行:マルチスレッドに対応しており、マルチコアプロセッサを最大限に活用して推論を高速化できます。
- モデルの量子化に対応: FP16またはINT8量子化を使ってモデルサイズを大幅に縮小できるため、メモリ使用量を抑えながら推論速度を向上できます。
- 軽量かつ高速:MNNのフットプリントは非常に小さく、コアライブラリのサイズはAndroidで約400 KB、iOSで約5 MBです。そのため、モバイルデバイスや組み込みデバイスに適しています。
MNNインテグレーションの仕組みを理解する#
次に、Ultralytics YOLO11モデルをMNN形式にエクスポートする方法を説明します。
最初に、YOLO11モデルをMNN形式へエクスポートするために必要な機能をすべて備えたUltralytics Pythonパッケージをインストールします。ターミナルまたはコマンドプロンプトでpip install ultralyticsを実行してください。Jupyter NotebookまたはGoogle Colabを使用する場合は、コマンドの前に感嘆符を付けてください。
インストール中に問題が発生した場合は、トラブルシューティングのヒントについてCommon Issues guideをご覧ください。
環境のセットアップが完了したら、「yolo11n.pt」などの事前学習済みYOLO11モデルを読み込み、以下のコードスニペットのようにMNN形式へエクスポートできます。独自のカスタムYOLO11モデルをトレーニングした場合は、ファイル名をモデルのパスに置き換えるだけでエクスポートできます。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")モデルをMNNに変換した後は、アプリケーションのニーズに応じて、さまざまなモバイルプラットフォームや組み込みプラットフォームで使用できます。
たとえば、エクスポートしたモデルを交通の動画でテストするとします。その場合は、以下の例のように、MNN形式のUltralytics YOLO11モデルを読み込んで、車両、歩行者、交通標識などをデバイス上で直接検出できます。
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 MNN公式ドキュメントをご覧ください。

図3. MNN形式にエクスポートしたUltralytics YOLO11モデルを使った交通分析。画像提供:著者。
Ultralytics YOLO11とMNNによって実現するエッジAIモデルのデプロイ事例#
Ultralytics YOLO11をMNNでデプロイすると、クラウドベースの処理が現実的でない、または不可能な環境でも、物体検出などのコンピュータービジョンタスクを高速かつ効率的に実行できます。このインテグレーションが実環境で特に役立つシナリオを見ていきましょう。
植物の病気を特定するモバイルエッジAI#
画像分類を活用した植物の病気を特定するアプリは、園芸家、研究者、自然愛好家の間で人気が高まっています。写真を撮るだけで、葉の斑点や変色など、病気の初期兆候をすばやく特定できます。こうしたアプリは、インターネット接続が限られている、または利用できない屋外で使われることが多いため、クラウド処理に依存すると安定して動作しない可能性があります。
PlantDocなどのデータセットで学習した後、Ultralytics YOLO11モデルをMNN形式にエクスポートし、モバイルデバイス上で直接実行できます。その後、モデルはデータをサーバーに送信せず、植物種の分類や目に見える病気の症状の検出をローカルで行えます。

図4. YOLO11を使用して葉のさび病(植物の病気)の兆候を検出する例(出典)。
製造現場における効率的なデバイス上推論#
製造施設の稼働率が高い生産ラインでは、荷物を正確に追跡することが不可欠です。Ultralytics YOLO11を使用すると、重要なチェックポイントを通過する各アイテムを追跡して数え、リアルタイムで個数を更新し、差異があれば通知できます。これにより、出荷漏れや所在不明の荷物を減らし、業務をより円滑で信頼性の高いものにできます。

図5. YOLO11による荷物の追跡とカウント(出典)。
このような用途では、MNNインテグレーションが特に大きな効果を発揮します。Ultralytics YOLO11モデルをMNN形式にエクスポートすれば、コンベヤー沿いに設置された小型・低消費電力デバイス上で直接実行できます。
すべての処理がローカルで行われるため、システムは即時にフィードバックを返すことができ、インターネット接続も必要ありません。これにより、工場の現場で高速かつ安定した性能を実現し、高い精度と制御性を維持しながら生産を効率的に進められます。
Ultralytics YOLO11をMNNモデル形式にエクスポートするメリット#
Ultralyticsが提供するMNNインテグレーションの主なメリットを紹介します。
- 応答時間の短縮: 推論をデバイス上で実行するため、レイテンシーを最小限に抑えてリアルタイムで予測できます。
- データプライバシーの向上: データはデバイス上に保持されるため、機密性の高い画像や動画をクラウドに送信する必要性が減ります。
- オープンソースで積極的にメンテナンス: Alibabaが支援し、活発なコミュニティにも支えられているMNNは信頼性が高く、パフォーマンス向上のためのアップデートが定期的に提供されています。
MNNフレームワークを使用する際に考慮すべき点#
MNNをデプロイ用フレームワークとして選ぶ前に、プロジェクトの要件、デプロイ先、技術的な制約にどの程度適合するかを評価することも重要です。考慮すべき主な点を紹介します。
- 継続的な互換性: フレームワークのアップデートやデプロイ先プラットフォームの変更に伴い、安定した動作を維持するために再テストや調整が必要になる場合があります。
- デバッグツールが少ない: 大規模なフレームワークと比べて、MNNにはモデルの動作をデバッグしたり調査したりするツールが限られているため、問題のトラブルシューティングが難しくなることがあります。
- パフォーマンスはハードウェアに左右される: モデルの速度と効率はデバイスによって異なります。パフォーマンス目標を満たせるか確認するため、対象ハードウェアでテストしてください。
重要なポイント#
UltralyticsはMNNインテグレーションをサポートしているため、モバイルデバイスや組み込みデバイスで使うYOLO11モデルを簡単にエクスポートできます。クラウドへのアクセスや常時接続に依存せず、高速で信頼性の高い検出が求められるアプリケーションに実用的な選択肢です。
この構成により、パフォーマンスを維持しながらリソースへの負荷を低く抑え、デプロイを効率化できます。スマートホームシステム、現場向けツール、小型の産業用デバイスのいずれを開発する場合でも、Ultralytics YOLO11をMNN形式にエクスポートすることで、エッジデバイス上でコンピュータービジョンタスクを直接実行するための柔軟で効率的な方法を利用できます。
成長を続けるコミュニティに参加しましょう。GitHubリポジトリでAIについて詳しく学べます。コンピュータービジョンプロジェクトを始める準備ができたら、ライセンスオプションをご覧ください。ソリューションページでは、医療分野におけるAIや小売業におけるコンピュータービジョンについて詳しく紹介しています。
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










