YOLO Vision Shenzhen
深セン
今すぐ参加

Ultralytics を使用してUltralytics YOLO エクスポートする方法

Ultralytics を使えば、ビジョン AI モデルを簡単にエクスポートできます。わずか数回のクリックで、エッジ、モバイル、クラウドへのデプロイに向けたモデルの準備方法をご覧ください。

コンピュータビジョンプロジェクトの導入をお考えですか?

ライセンスについて詳しく見る

先月、当社はコンピュータビジョンのワークフロー全体を簡素化するために設計された統合ワークスペース「Ultralytics 」をリリースしました。このプラットフォームは、データセットの管理、アノテーション、モデルのトレーニング、テスト、デプロイ、モニタリングといった主要なビジョンAI機能を、単一の効率的なインターフェースに統合しています。

図1.Ultralytics の概要(出典

このエンドツーエンドのワークフローにおいて、デプロイメントはモデルを実験段階から実運用へと移行させる上で極めて重要な役割を果たします。これまで、API を通じた共有推論、スケーラブルな本番環境デプロイメントのための専用エンドポイント、エッジデバイスや外部インフラ上で実行するためのモデルエクスポートなど、プラットフォーム上で利用可能なさまざまなデプロイメントオプションについて検討してきました。

それでは、モデルのエクスポート機能と、それがさまざまな環境へのデプロイをどのようにサポートするのかについて、詳しく見ていきましょう。Ultralytics インフラストラクチャ内でモデルを実行する「共有推論専用エンドポイント」とは異なり、モデルのエクスポート機能を利用することで、エッジデバイス、モバイルアプリケーション、カスタムインフラストラクチャなどの外部環境にモデルをデプロイして実行することが可能になります。

モデルをこれらの環境で実行するには、まずターゲットランタイムがサポートする形式に変換する必要があります。モバイルデバイスやエッジデバイス向けの軽量な形式から、GPUシステム向けの高性能な形式まで、デプロイメント環境ごとに固有の要件があります。

従来、このプロセスにはスクリプトや依存関係、複数のツールが必要となるため、時間がかかっていました。Ultralytics を使えば、エクスポート作業がはるかに簡単になります。特別な設定を行うことなく、わずか数回のクリックでモデルの変換と最適化を行うことができます。

この記事では、モデルのエクスポートとは何か、Ultralytics サポートされている形式、そしてユースケースに合わせて適切な形式を選ぶ方法について解説します。さっそく始めましょう!

モデルのエクスポートの概要

モデルのエクスポートとは、事前学習済みまたは独自に学習させたモデルを、元のフレームワークの外でも使用可能な形式に変換することを指します。Ultralytics YOLO PyTorch を使用して構築されPyTorch ネイティブ形式で保存PyTorch PyTorch 内での学習、評価、および実験に最適です。

しかし、本番環境では、実行環境やハードウェア要件が異なることがよくあります。そのため、トレーニング時に使用した形式が、必ずしも本番環境に適しているとは限りません。

例えば、モバイルアプリでは低消費電力に最適化された軽量なフォーマットが必要となる一方、ブラウザベースのアプリではWeb環境で効率的に動作するフォーマットが必要となります。 

カメラや組み込みシステムなどのエッジデバイスは、コンパクトで高速なモデルが適しているのに対し、クラウドシステムは高性能な推論を目的として設計されています。こうした異なるシナリオに対応するためには、モデルを互換性のある形式でエクスポートする必要があります。 

モデルのエクスポート機能がこれまで以上に重要となっている理由

今日、コンピュータビジョンモデルは、データが生成される場所の近く、特にエッジデバイス上で導入されるようになっています。スマートフォンではリアルタイムのビジョンアプリケーションが動作し、CCTVカメラは端末上で監視を行い、自律システムは瞬時の意思決定に依存しています。

しかし、こうした環境への展開には、特有の課題が伴います。エッジデバイスは、処理能力が限られており、厳格な遅延要件に加え、メモリや消費電力にも制約があります。十分なリソース下でのトレーニングでは良好な性能を発揮するモデルであっても、こうした制約のある環境下では効率的に動作しない可能性があります。

モデルを適切な形式でエクスポートすることで、こうした課題の解決に役立ちます。モデルを適切に変換することで、処理速度の最適化、ファイルサイズの縮小、特定のハードウェアとの互換性の確保が可能になります。 

同時に、エクスポート機能は柔軟性を提供します。特定の要件に応じて複数の形式に変換することで、同じモデルをさまざまな導入環境に合わせて適応させることができます。

図2.Ultralytics Platformで利用可能なエクスポート形式の一部(出典

例えば、NCNN は、リソース消費量を抑えたモバイル端末やエッジデバイス向けに最適化されています。一方、OpenVINO Intel 向けに設計されており、中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびニューラル処理装置(NPU)において、より高いパフォーマンスを発揮します。 

多くの場合、このレベルの柔軟性を実現するには、手動での変換や依存関係、複数のツールの扱いに追われ、プロセスが時間のかかる複雑な作業となっていました。Ultralytics 、モデルのエクスポートをより手軽に行えるようにし、管理も容易にすることで、このワークフローを効率化します。

Ultralytics モデルエクスポートの簡素化

通常、モデルのエクスポートは、コンピュータビジョンワークフローにおいて、独立した複雑な工程として扱われます。Ultralytics 、トレーニングからデプロイまでを網羅する単一のワークスペースに、モデルを直接エクスポートする機能を統合することで、この状況を一変させます。

この製品の大きな利点の一つは、コードを一切書かずにエクスポートできる点です。スクリプトの作成や環境の管理、フレームワーク固有のコマンドの使用は一切不要です。直感的なインターフェースを通じて、わずか数回のクリックでモデルをエクスポートすることができます。

図3.Ultralytics からのモデルエクスポート例(出典

舞台裏では、プラットフォームが面倒な作業をすべて処理します。通常なら複数のツールや手動での設定が必要となるタスクも、単一のプロセスに統合されています。追加の依存関係をインストールしたり、互換性の問題に対処したりする必要がないため、学習済みのモデルから本番環境向けのソリューションへと移行するのが格段に容易になります。

Ultralytics が対応するモデルエクスポート形式

Ultralytics 17種類のエクスポート形式に対応しており、複雑さを増すことなく、幅広い展開環境向けにモデルを簡単に準備することができます。

以下に、よく使われるエクスポート形式の概要をいくつか紹介します:

  • クロスプラットフォーム性と相互運用性: ONNX TorchScript ONNX 異なるフレームワークや環境間でモデルを実行するために広くTorchScript 。ONNX エコシステム間の架け橋としてONNX 、ツール間でのモデルの移行を容易にします。一方、TorchScript 、Python を必要とせずにPyTorch 本番環境で実行することをTorchScript 。
  • GPU上での高性能な推論: TensorRT NVIDIA TensorRT 、低レイテンシと高スループットを実現するためのモデル最適化に重点を置いています。精度低減やレイヤー融合といった技術により推論を高速化するため、リアルタイムアプリケーションや本番環境規模のアプリケーションにおいて有力な選択肢となります。
  • モバイルおよびエッジ環境での導入: CoreML、LiteRT(TensorFlow )、NCNN 、演算能力やメモリが限られたデバイス向けにNCNN 。これらの形式はモデルのサイズを縮小し、効率を向上させるため、スマートフォン、組み込みシステム、エッジハードウェア上でスムーズなパフォーマンスを実現します。CoreML 主にAppleのエコシステムCoreML 、LiteRTAndroid一般的です。
  • ハードウェアに最適化された実行: OpenVINO 、CPU、GPU、Intel OpenVINO 、これらのデバイスにおける推論の速度と効率の向上に貢献します。このようなハードウェア固有のフォーマットは、特定のシステムから最高のパフォーマンスを引き出す必要がある場合に役立ちます。
  • フレームワーク固有および特化型のランタイム: PaddlePaddle フォーマットは 、エッジデバイスでのモデルの効率的な実行や特定のディープラーニング・スタックとの統合など、特定のエコシステムやデプロイメントのニーズに対応しています。

Ultralytics を使用してモデルをエクスポートする方法

Ultralytics モデルのエクスポートは、UIベースの簡単なプロセスです。ワークフロー全体がインターフェースを通じて処理されるため、スクリプトやコマンドラインツールは必要ありません。

このプラットフォームを使用してモデルをエクスポートする方法は以下の通りです:

  • ログインしてモデルを選択してください: プロジェクトに移動し 、エクスポートしたい学習済みモデルを開いてください。
  • エクスポート」タブに移動する:モデルダッシュボード内で「エクスポート」タブをクリックすると、利用可能なエクスポートオプションが表示されます。
  • エクスポート形式を選択してください:デプロイの要件CoreML 、ONNX、TensorRT、CoreML などの形式を選択してください。
  • ‍エクスポート設定を構成する(任意):パフォーマンスを最適化するために、画像サイズ、精度、バッチサイズなどのパラメータを調整します。
  • エクスポート処理を開始する:「エクスポートを開始」をクリックして処理を開始します。プラットフォームが自動的に変換を行います。
  • エクスポートされたモデルをダウンロードする:エクスポートが完了したら、モデルをダウンロードして、デプロイメントパイプラインで使用できます。
図4.Ultralytics でのエクスポート設定の確認

適切なエクスポート形式の選択

Ultralytics サポートするさまざまなエクスポート形式を確認していると、どれを選べばよいか迷うかもしれません。その答えは、モデルをどこで、どのように活用する予定かによって異なります。

以下に、考慮すべきいくつかの要素を挙げます:

  • レイテンシ要件:ビデオ分析や自律システムなどのリアルタイムアプリケーションでは、低レイテンシが不可欠です。高性能な推論向けに最適化されたフォーマット、例えば TensorRTのような、高性能な推論向けに最適化されたフォーマットの方が適している場合が多い。
  • ハードウェア上の制約:携帯電話や組み込みシステムなど、メモリや処理能力に制限のあるデバイスでは、LiteRTやNCNNのような軽量なフォーマットが必要となります。 
  • モデルのサイズと消費電力エッジデバイスを使用する場合、モデルのサイズと消費電力が重要な要素となります。最適化された小型モデルであれば、リソースを浪費することなく、安定したパフォーマンスを確保できます。
  • ‍デプロイ環境:モデルを異なるプラットフォームで実行する必要がある場合、ONNX 柔軟性をONNX 。iOS プラットフォーム固有のユースケースでは、CoreML よくCoreML 。

万能なフォーマットというものはありません。結局のところ、パフォーマンス、互換性、そして対象環境の制約のバランスをとることが重要です。Ultralytics なら、手間をかけずにさまざまなフォーマットを試して比較できるため、この作業がより簡単になります。

主なポイント

エクスポートは、さまざまな環境での実運用に向けてモデルを準備する上で不可欠なステップです。Ultralytics を使用すれば、このプロセスが大幅に簡素化され、特別な設定や複雑な手順を必要とせずにモデルの変換と最適化を行うことができます。ユースケースに適した形式を選択することで、どこにデプロイしてもモデルが効率的に動作することを保証できます。

成長を続ける私たちのコミュニティに参加し、GitHubリポジトリをチェックして、コンピュータビジョンについてさらに学びましょう。ソリューションページをご覧いただき、ロボット工学におけるAIや 物流におけるコンピュータビジョンなどの活用事例について詳しくご確認ください。ライセンスプランをご確認の上、ビジョンAIを活用した開発を始めてみましょう! 

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

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