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

NCNNが影響力があり、広く使用されているニューラルネットワーク推論フレームワークとなる主な機能を以下に示します。
NCNNについて説明したところで、YOLO11モデルをNCNN形式にエクスポートする方法を詳しく見ていきましょう。
モデルをエクスポートする前に、まずパッケージインストーラーのpipを使用してUltralytics Pythonパッケージをインストールする必要があります。これは、ターミナルまたはコマンドプロンプトで「pip install ultralytics」を実行することで行えます。Jupyter NotebookまたはGoogle Colabで作業している場合は、コマンドの前に感嘆符を追加して「!pip install ultralytics」のようにします。
Ultralyticsパッケージは、さまざまなコンピュータビジョンタスクのために、Vision AIモデルをトレーニング、テスト、微調整、およびエクスポートするためのツールを提供します。インストール中またはモデルのエクスポート中に問題が発生した場合は、公式のUltralyticsドキュメントと一般的な問題ガイドがトラブルシューティングに役立つ優れたリソースです。
Ultralyticsパッケージをインストールした後、YOLO11モデルをロードし、NCNN形式にエクスポートできます。以下の例では、事前トレーニング済みのモデル("yolo11n.pt")を使用し、NCNN形式でエクスポートして、出力を"/yolo11n_ncnn_model"という名前のフォルダに保存します。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn") エクスポートされた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"フォルダにあります。

Ultralyticsがサポートするさまざまな統合を検討すると、利用可能なエクスポートオプションがいくつかあることに気付くかもしれません。では、NCNN形式を選択するのはいつでしょうか?
リソースが限られたデバイスにYOLO11モデルをデプロイする必要がある場合、NCNNエクスポート形式は信頼できる選択肢です。クラウドへの接続を必要とせずに、エッジデバイスなどのデバイス上で直接実行されるリアルタイムアプリケーションに特に役立ちます。つまり、モデルはオブジェクト検出などのタスクをその場で処理できます。
NCNNが最適な選択肢となる一般的なシナリオをいくつかご紹介します。

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

遠隔地の農業地域では、安定したインターネット接続や電力さえ利用できない場合があり、オンラインでAIアプリケーションを実行することが困難です。そのような場合、エッジデバイスやドローンを使用して、さまざまなタスクを処理できます。
良い例としては、牛、羊、家禽などの家畜の監視があります。これは、YOLO11などのVision AIモデルを使用して行うことができ、動物の動きを追跡し、怪我、病気、または異常な行動の兆候を検出し、動物が行方不明になった場合に農家に警告するために使用できます。NCNN統合により、このデータをエッジデバイスで直接実行および処理することも可能になり、遠隔地またはオフグリッド地域の農場での画像およびビデオ分析に最適です。

UltralyticsがサポートするNCNN統合を使用してYOLOv11モデルをエクスポートすることは、低電力環境にVision AIを導入するための簡単な方法です。災害現場のドローン、スマートな廃棄物分別箱、遠隔地の農場での家畜モニタリングなど、YOLOとNCNNは高速、効率的、かつポータブルなリアルタイムAI推論を可能にします。このアプローチは、AIシステムを最も重要なときに、よりアクセスしやすく、信頼できるようにするのに役立ちます。
AIについてもっと知りたいですか?GitHubリポジトリを探索し、コミュニティと繋がり、ライセンスオプションをチェックして、コンピュータビジョンプロジェクトを始めましょう。小売におけるAIやヘルスケアにおけるコンピュータビジョンなどのイノベーションが、ソリューションページでどのように未来を形作っているかをご覧ください。