A .NET wrapper for OpenCV Yolo v2/v3 (darknet)
- Windows 10 (64bit)
- .NET Framework 4.5.2 以降
- Microsoft Visual C++ 2017 再頒布可能パッケージ
- ダウンロードボタンを押した後、vc_redist.x64.exe にチェックを入れて 次へ をクリック
- Visual Studio 2015 Update 3
- Visual Studio 2019
- YoloSharp Sample Application (VS2015) (2020/9/20更新)
- YoloSharp Sample Application (VS2019) (2020/9/20更新)
画像ファイルを Drag & Drop すると物体を判別し、結果を result フォルダに保存します。
OpenCL (FP16を含む) / OpenVINO などをサポートしており、NVIDIA, AMD, Intel GPU などを利用することが可能です。CUDA はサポートしていません。
OpenCL を設定しているにもかかわらず、GPU が利用されていないように見える場合は下記の設定を行ってください。ただし、CPUよりも遅い場合があるようです。
- ビデオカードに適したOpenCL用のドライバーをインストールする(NVIDIA の場合は CUDA Toolkitに含まれる)
- 環境変数に以下の値を設定する
環境変数 | 値 |
---|---|
OPENCV_DNN_OPENCL_ALLOW_ALL_DEVICES | 1 |
OPENCV_OPENCL_DEVICE | :GPU:0 |
- OPENCV_OPENCL_DEVICE の値は、環境にあわせて
:GPU:1
などに変更してください。
1.opencv-3.4.3-vc14_vc15.exe をダウンロードして、c:\opencv343 フォルダに展開します
2.Visual Studio のバージョンに合わせて src/YoloSharp.vs20xx.sln を開きビルドします。プラットフォームは x64 を設定してください。1. で c:\opencv343 以外のフォルダに展開した場合は、YoloSharp のプロパティを開き、構成プロパティ > VC++ディレクトリ 以下の インクルードディレクトリ、参照ディレクトリ、ライブラリディレクトリ にそれぞれのパスを追加してください。
また、リンカー > 入力 > 追加の依存ファイルに opencv_world343.lib を追加 (Releaseビルドの場合。Debugビルドの場合は、opencv_world343d.lib) してください。
.NET Framework で新たにビルドする場合は、プロパティ > ビルド > プラットフォームターゲット を、Any CPU ではなく x64 にしてください。
また、
C:\opencv343\build\x64\vc15\bin
から、opencv_world343.dll (または opencv_world343d.dll) をコピーし、model フォルダに、*.cfg, *.weight, *.names ファイルを置いてください。なお、上記のサンプルにもこれらのファイルが含まれています。
実行には Microsoft Visual C++ 2017 再頒布可能パッケージ の x64版 (vc_redist.x64.exe) が必要です。Visual Studio 2017 が入っている環境ではなくても動作します。