Ultralytics YOLO11モデルのNCNNモデル形式へのエクスポート
Ultralytics YOLO11モデルをNCNNモデル形式にエクスポートし、電力とコンピューティングリソースが制限されたエッジデバイスで、効率的で低遅延なAI推論を実行します。

災害管理、廃棄物管理、消防などの重要性の高い分野においても、AIソリューションは一般的になりつつあります。導入が進むにつれて、AIモデルはサーバーやクラウド上だけでなく、現場で稼働するデバイス上にも直接、より多様な環境でデプロイされています。
たとえば、小型プロセッサを搭載したドローンやエッジコンポーネント付きの機器は、災害地域で極めて重要な役割を果たすことができます。サーマルカメラを装備したこれらのデバイスは、現場でデータを収集・分析し、がれきの下に取り残された人々を特定することができます。これは、画像や動画から視覚情報を解釈する人工知能の分野であるコンピュータビジョンによって可能になっています。
しかし、ビジョンAIモデルをエッジデバイスにデプロイすることは、見かけほど簡単ではありません。AIモデルは、計算能力やメモリが制限されたハードウェア上で効率的に動作するように最適化する必要があります。そのため、NCNNのようなAIフレームワークが不可欠です。これらは、精度を損なうことなく、低電力デバイスでのリアルタイムパフォーマンスを実現するためにモデルを変換および最適化するのに役立ちます。
特に、Ultralytics YOLO11などのUltralytics YOLOモデルは、UltralyticsがサポートするNCNNインテグレーションを使用して、NCNNモデルフォーマットに簡単にエクスポートできます。YOLO11をNCNNモデルフォーマットに変換することで、精度を落とすことなく、モデルの高速実行、メモリ使用量の削減、さまざまなデバイスでのスムーズな動作が可能になります。
この記事では、UltralyticsがサポートするNCNNインテグレーションについて解説し、YOLO11モデルをNCNNモデルフォーマットにエクスポートする方法を順を追って説明します。それでは始めましょう!
NCNNの概要:軽量なニューラルネットワークフレームワーク#
NCNNは、Tencentが開発したオープンソースのニューラルネットワーク推論フレームワークです。モバイルおよびエッジ環境向けに特別に設計されており、最小限のフットプリントで高性能な推論を実現します。これにより、スマートフォン、ドローン、IoTデバイスなど、リソースが制限されたデバイスへのデプロイに最適です。
NCNNフレームワークは、その効率性、移植性、モバイルCPU(中央処理装置)向け最適化により、AIおよびディープラーニングコミュニティで人気を集めています。これにより、開発者は限られたメモリと処理能力を持つ安価なデバイス上でニューラルネットワークモデルを実行できます。シンプルかつ柔軟に設計されたNCNNは、さまざまなコンピュータビジョンモデルをサポートし、Android、Linux、iOS、macOSなど複数のプラットフォームで動作します。

図 1。NCNNフォーマットのモデルは多くのプラットフォームにデプロイできます。
NCNNパフォーマンス最適化の主な特徴#
NCNNが影響力のある広く利用されているニューラルネットワーク推論フレームワークである理由となっている主な特徴をいくつか紹介します。
- 軽量でハードウェアに依存しないランタイム: NCNNフレームワークは標準的なCPU上でモデルを実行するように最適化されており、GPU(Graphics Processing Units)やNPU(Neural Processing Units)のような専門的なハードウェアを必要としません。
- モデル量子化:メモリと速度が重要なアプリケーションにおいて、NCNNはモデルサイズを縮小し推論時間を改善する量子化手法をサポートしています。これにより、モバイルおよび組み込みデバイス上でAIモデルをスムーズに実行できるようになります。
- オープンソースで利用可能: オープンソースのフレームワークとして、NCNNは誰でも自由に使用、変更、改善が可能です。これにより、さまざまなユースケースでの革新と幅広い採用が促進されます。
- 活発な開発とコミュニティ: NCNNは、Tencentと拡大する開発者コミュニティによってGitHub上で活発にメンテナンスされており、定期的なアップデートとモデル互換性の向上が行われています。
Ultralytics YOLO11をNCNNモデル形式にエクスポートする:クイックガイド#
NCNNとは何かについて説明しましたので、次はUltralytics YOLO11モデルをNCNNフォーマットにエクスポートする方法について詳しく見ていきましょう。
ステップ1:Ultralytics Pythonパッケージのインストール#
モデルをエクスポートする前の最初のステップは、パッケージインストーラーのpipを使用してUltralytics Pythonパッケージをインストールすることです。これを行うには、ターミナルまたはコマンドプロンプトで「pip install ultralytics」を実行します。Jupyter NotebookまたはGoogle Colabで作業している場合は、「!pip install ultralytics」のように、コマンドの前に感嘆符を追加してください。
Ultralyticsパッケージには、さまざまなコンピュータビジョンタスクに向けてビジョンAIモデルのトレーニング、テスト、ファインチューニング、エクスポートを行うためのツールが用意されています。インストール中やモデルのエクスポート中に問題が発生した場合は、公式のUltralyticsドキュメントとよくある質問ガイドがトラブルシューティングに大変役立ちます。
ステップ2:Ultralytics YOLO11のエクスポート#
Ultralyticsパッケージをインストールしたら、YOLO11モデルを読み込み、NCNN形式にエクスポートできます。以下の例では、事前学習済みモデル("yolo11n.pt")を使用してNCNN形式でエクスポートし、出力を「/yolo11n_ncnn_model」という名前のフォルダに保存しています。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")エクスポートされたUltralytics YOLO11モデルは、スマートフォン、組み込みシステム、IoTプラットフォームなどのさまざまな軽量デバイスにデプロイできます。デプロイのプロセスも非常に効率化されています。
例として、以下のコードスニペットを見てください。これは、エクスポートされたモデルを読み込み、推論を実行する方法を示しています。推論とは、学習済みのモデルを使用して、新しい未知のデータに対して予測を行うプロセスを指します。この例では、公開されているURLから取得した、自転車に乗っている男性の画像でモデルをテストしています。
ncnn_model = YOLO("./yolo11n_ncnn_model")
results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)コードを実行すると、「runs/detect/predict」フォルダに出力画像が生成されます。

図2:NCNN形式にエクスポートされたUltralytics YOLO11モデルを使用したオブジェクト検出。画像提供:著者。
なぜNCNNによるリアルタイム検出を選択するのか#
Ultralyticsがサポートするさまざまなインテグレーションを調べていくと、利用可能なエクスポートオプションがいくつかあることに気づくでしょう。それでは、どのような場合にNCNNフォーマットを選択すべきでしょうか?
NCNNのエクスポートフォーマットは、リソースが限られたデバイスにUltralytics YOLO11モデルをデプロイする必要がある場合に信頼できる選択肢です。クラウドへの接続を必要とせず、エッジデバイスのようにデバイス上で直接実行されるリアルタイムアプリケーションに特に役立ちます。つまり、モデルはその場で物体検出などのタスクを処理できます。
NCNNが適している一般的なシナリオをいくつか挙げます:
-
モバイルデプロイ: NCNN形式はAndroidおよびiOS用に最適化されており、モデルをモバイルアプリに簡単に統合して、最小限のレイテンシで高速なオンデバイス推論を実現できます。
-
組み込みシステムおよびIoTデバイス: Raspberry PiやNVIDIA Jetsonのようなデバイスにデプロイする場合、NCNNへエクスポートすることでパフォーマンスと応答性を向上させることができます。
-
デスクトップおよびサーバーデプロイ: NCNNは低電力デバイス向けに優れていますが、デスクトップおよびサーバー環境のLinux、Windows、macOSもサポートしています。これにより、開発者はデプロイに対して柔軟なオプションを持つことができます。

図3:NCNNを使用したUltralytics YOLO11モデルのデプロイオプション。画像提供:著者。
NCNNを使用したUltralytics YOLO11モデルデプロイのユースケース#
次に、Ultralytics YOLO11モデルをNCNNにエクスポートすることが実際に役立つ実用的なユースケースについていくつか見ていきましょう。
消防用ビジョンAIヘルメット#
カメラと組み込みマイクロコンピュータを装備した安全ヘルメットは、建設や消防などの分野で使用され、安全性と状況認識を向上させることができます。Ultralytics YOLO11のようなリアルタイムビジョンAIモデルをこれらのデバイス上で実行して、さまざまな種類の物体や機器を検出できます。たとえば、このようなヘルメットは、消防士が視界の悪い環境で人、障害物、または危険物を検出するのに役立ちます。
しかし、ウェアラブルデバイス上でフルサイズのモデルを直接実行すると、パフォーマンスが低下し、バッテリーを急速に消耗する可能性があります。この場合、NCNNインテグレーションを使用するのが賢明な選択です。これにより、低レイテンシでエネルギー効率の高い推論が可能になります。
廃棄物分類とスマートゴミ箱#
同様に、スマートごみ箱にカメラとコンパクトなエッジAIプロセッサを組み込むことで、廃棄される材料を識別して分別できます。YOLO11のようなビジョンAIモデルは、紙、プラスチック、ゴムなどのさまざまな種類の廃棄材料を検知するようにカスタムトレーニングできます。
廃棄物が識別されると、その再利用性に基づいて別々のコンパートメントに自動的に分別できます。NCNNフォーマットのエクスポートされたUltralytics YOLO11モデルとともにエッジAIを使用することにより、これらのゴミ箱はインターネット接続を必要とせずにローカルでデータを処理できます。これにより、自律的に動作し、最小限の遅延でリアルタイムの分別決定を下すことができます。

図 4。YOLO11を使用したプラスチック廃棄材料の検出。
ドローンとコンピュータビジョンを使用した家畜監視#
場合によっては、遠隔地の農業地域では安定したインターネット接続や安定した電力が不足しており、オンラインでAIアプリケーションを実行することが制限されます。そのような場合、エッジデバイスやドローンを使用してさまざまなタスクを処理できます。
良い例として、牛、羊、家禽などの家畜のモニタリングが挙げられます。これはYOLO11などのビジョンAIモデルを使用して行うことができ、動物の動きの追跡、怪我や病気、異常行動の兆候の検出、動物が行方不明になった際の農家への警告に使用できます。NCNNインテグレーションにより、このデータをエッジデバイス上で直接実行および処理することも可能になるため、遠隔地やオフグリッド地域の農場における画像および動画の分析に最適です。

図 5。YOLO11を使用した家畜のモニタリングの様子。
重要なポイント#
UltralyticsがサポートするNCNNインテグレーションを使用してYOLO11モデルをエクスポートすることは、低電力環境にビジョンAIをもたらす直接的な方法です。被災地のドローン、スマート廃棄物分別箱、遠隔地の農場での家畜監視のいずれであっても、YOLOとNCNNは高速、効率的、かつポータブルなリアルタイムAI推論を可能にします。このアプローチは、AIシステムが最も重要な時に、よりアクセスしやすく信頼性の高いものにするのに役立ちます。
AIについてもっと詳しく知りたいですか?GitHubリポジトリを探索し、コミュニティに参加し、ライセンスオプションを確認して、コンピュータビジョンプロジェクトをスタートさせましょう。ソリューションページで、リテールにおけるAIやヘルスケアにおけるコンピュータビジョンなどのイノベーションがどのように未来を形作っているかをご覧ください。






