目次
(1) Visual Studio 2022をインストールする
(3) darknet.zipファイルをダウンロードします。
(4) 携帯電話のカメラをパソコンのカメラとして利用して検出する
DarkNet のコンパイルとインストールのプロセス (GPU を使用しない詳細な説明)
ターゲット検出用の 2 台の IP カメラ + YOLOV3 (携帯電話のカメラはコンピュータのカメラとして使用されます)
ヒント: make を使用して DarkNet をコンパイルするプロセスについては、単一の画像に対してターゲット検出を実行する場合は問題ありません。しかし、実際には未解決の問題があり、ビデオを検出したり、検出のためにカメラをオンにすると、大きな問題が発生します。以下では、CMake を使用してダークネットをコンパイルします。単一の画像またはカメラの電源をオンにします。
注: 関連するチュートリアルはこの公式 GitHub コードに記載されていますが、後の使用プロセスで発生する詳細や問題については記載されておらず、この記事では主にいくつかの詳細と考えられる問題を解決します。
1. チュートリアルのコンパイルとインストール
(1) Visual Studio 2022をインストールする
https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community
(2) CMakeをダウンロードしてインストールします
(https://mydreamambitious.blog.csdn.net/article/details/130367003)
ヒント: 読者はダウンロード後に解凍すると、/bin ディレクトリに cmake-gui.exe 実行可能ファイルが表示されます。これは後で使用します。
(3) darknet.zipファイルをダウンロードします。
https://github.com/AlexeyAB/darknet/archive/master.zip
ヒント: これは公式コードとその他の多くのドキュメントです。
(4) OpenCVのインストール
ヒント 1: OpenCV をインストールした後、次のパスをPath 環境変数に追加します。
E:\opencv\build\x64\cv15\lib
ヒント 2: 後で CMake を構成するときに OpenCV が見つからないというプロンプトが表示されないようにするには、次の操作を実行します。
OpenCV ディレクトリの下にビルド パスを追加します。
(5) Makefileファイルを修正する
(6) CMakeLists.txtファイルを変更する
ヒント: これは、CMake を使用した構成および生成プロセス中に報告されたエラーです。使用する CPU により、ここで次の変更を行う必要があります。
ヒント: なぜここで変更する必要があるのですか? CMake ツールを使用して構成と生成を行うときに、GPU を使用しないように求められるためです。その後、ここでの GPU と CUDNN も OFF に変更してオフにする必要があります。
または、CMakeLists.txt ファイルの内容を直接変更しない場合は、その下の CUDA に関する赤い部分の「√」を削除することもできます。
(7) CMakeツールを使用する
ヒント:
- 最初のパスは、ダウンロードした darknet.zip を解凍した後の darknet-master パスです。
- 2 番目のパスはビルド後のファイルが保存される場所です。自分でパスを選択します (このパスには中国語を含めない方がよいことに注意してください)。
ヒント: インストールしたばかりの Visual Studio 2022 のバージョンを選択し (バージョンは対応している必要があります)、x64 バージョンを選択します。選択が完了したら「完了」をクリックします。
ヒント: 構成を開始します。構成プロセス中にエラーが発生した場合は、再構成する必要があります。CMake をクリックします。
ヒント: 構成が完了したら、「生成」をクリックできます。
ヒント: 生成が完了したら、「プロジェクトを開く」をクリックします。
ヒント: 前に選択したビルド パスに従って Release ディレクトリを見つけます。その下に darknet.exe があることがわかります。これを darknet-master ディレクトリにコピーできます (自分で決定しますが、後で使用する方が便利です)。
2.yolov3 (テスト用)
YOLOV3ホームページ: https: //pjreddie.com/darknet/yolo/
(1) 検出用の単一画像
ヒント: まず、次のコマンドを使用して単一のイメージを検出し(darknet.exe は darknet-master ディレクトリにコピーされており、現在 darknet-master ディレクトリにあります)、cmd コマンド ウィンドウ (windows) を開きます。
ダークネット検出 cfg/yolov3.cfg 重み/yolov3.weights データ/dog.jpg
- ダークネットのパスを指定する必要があります (ダークネットは現在のディレクトリにあるため、darknet とだけ記述します)。
- detect キーワードを指定する必要があります。
- yolov3.cfg 構成ファイルの場所を指定します。
- yolov3.weights 重みファイルの場所を指定します。
- テスト画像「dog.jpg」のパスを指定します。
ヒント: 上記のコマンドを使用すると、次のようなエラーが報告される場合があります。
- opencv world455.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決される可能性があります。
- pthreadVC2.dlI が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決される可能性があります。
ヒント: 解決策は次のとおりです。つまり、opencv がインストールされている opencv\build\x64\vc15\bin ディレクトリで対応するエラー ファイルを見つけ、それを現在の darknet-master ディレクトリにコピーします。
darknet-master\build\darknet\x64 に移動して pthreadVC2.dll を見つけ、それを現在の darknet-master ディレクトリにコピーします。
(2) 検出のためにカメラの電源をオンにします
ダークネット ディテクタ デモ cfg/coco.data cfg/yolov3-tiny.cfg Weights/yolov3-tiny.weights
関連する説明は上記のとおりです。
ヒント: テストを終了するには、ESC キーを押します。
(3) 映像検出
ダークネット ディテクタ デモ cfg/coco.data cfg/yolov3-tiny.cfg Weights/yolov3-tiny.weights video/demo.mp4
注: 上記のコマンドを実行すると、エラーが報告される可能性があります。
解決策: 解決策は次のとおりです。opencv のインストール場所の opencv\build\x64\vc15\bin ディレクトリで対応するエラー ファイルを見つけ、それを現在の darknet-master ディレクトリにコピーします。
ファイル opencv_videoio_ffmpeg455_64.dll を現在の darknet-master ディレクトリにコピーします。
(4) 携帯電話のカメラをパソコンのカメラとして利用して検出する
ターゲット検出用の 2 台の IP カメラ + YOLOV3 (携帯電話のカメラはコンピュータのカメラとして使用されます)
ダークネット ディテクタ デモ cfg/coco.data cfg/yolov3-tiny.cfg Weights/yolov3-tiny.weights http://admin:[email protected]:8080/video (注: 携帯電話とコンピュータは同じネットワーク内にあります)セグメント (A ホットスポットまたは WIFI と同じ))