このプロジェクトについて
YoloDotNetは、ONNXにエクスポートされたYOLOモデルを実行するためのモジュール式の.NET 8コンピュータビジョンライブラリです。C#で実装されており、ONNX RuntimeとSkiaSharpを使用するため、PythonランタイムやOpenCVは必要ありません。このライブラリは、Windows、Linux、macOS上のデスクトップアプリケーション、バックエンドサービス、リアルタイムビジョンパイプラインを対象としています。
サポートされる推論タスクには、画像分類、標準物体検出、指向性バウンディングボックス検出、セグメンテーション、ポーズ推定が含まれます。ドキュメントには、YOLOv5uからYOLOv26、YOLO-World、YOLO-E、RT-DETRモデルファミリーのサポートがリストされており、特定の分類、検出、セグメンテーション、ポーズ、OBBバリアントをカバーする検証済みモデルテーブルが含まれています。画像およびビデオストリームの使用法は、リポジトリのデモプロジェクトで実証されています。
コアのYoloDotNetパッケージはプロバイダーに依存せず、ユーザーは1つの実行プロバイダーパッケージのみをインストールします。利用可能なプロバイダーは、CPU、オプションのTensorRTサポート付きCUDA、OpenVINO、CoreML、DirectMLです。プラットフォームの可用性は異なります。CPUはWindows、Linux、macOS全体で動作し、CUDAとOpenVINOはWindowsとLinuxをサポートし、CoreMLはmacOSをサポートし、DirectMLはWindowsをサポートします。READMEには、プロバイダーを混在させるとネイティブランタイムの競合が発生する可能性があると記載されています。
APIは、モデルの読み込み、前処理、しきい値、メモリ、実行動作を明示的に制御できるように設計されています。典型的な物体検出フローでは、YoloOptionsと実行プロバイダーを使用してYoloインスタンスを作成し、SkiaSharpで画像をデコードし、信頼度とIoU設定を指定してRunObjectDetectionを呼び出し、結果を描画して出力を保存します。IoUパラメーターはNMSベースのモデルに適用され、関連する後処理を内部的に処理するYOLOv10やYOLOv26などのモデルでは無視されます。
バージョン4.2では、選択した画像またはビデオ領域に対する関心領域推論、セグメント化されたオブジェクトのオプションのエッジ描画、順序付けられた輪郭点抽出、ToJsonおよびSaveJson結果ヘルパー、YOLO形式のアノテーションを生成するためのToYoloFormatおよびSaveYoloFormatヘルパーが追加されました。その他の文書化された機能には、エンジンキャッシュ、設定可能なリサイズおよびサンプリング設定が含まれます。
ユーザーは自身のONNXモデルを提供します。プロジェクトは事前学習済みの重みをダウンロード、含める、またはバンドルしません。READMEでは、YOLOv5uからYOLOv12にはUltralyticsエクスポートopset 17を、YOLOv26にはopset 18を推奨しています。YoloDotNet自体はMITライセンスですが、Ultralyticsツールで生成されたモデルはAGPL-3.0であるか、商用ライセンスが必要な場合があるため、ユーザーはモデルライセンスの準拠を確認する責任があります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.