本ページではyolo-v4のチュートリアルである、有名なdog.ipgの推論を行うまでを記述しています。osはwindowsを使います。また、英語が苦手なので無駄な手順を踏んでいることもあるかもしれません。気になる人はhttps://github.com/AlexeyAB/darknet より自分で行ってみてください。
dog.jpg ↓↓↓
#初めに
opencvやvisual studioなどの基本的なものはできているものとします。できていない人はそちらを調べてください、やり方はv3までと一緒です。
#gitからcloneする
darknetを構築したい場所で以下のコマンドを打ってcloneしてください。
git clone https://github.com/AlexeyAB/darknet
#cmakeを行う
先ほどcloneしたdarknetフォルダの中にあるbuildの中に移動し、cmakeを行ってください。以下コード。
cd build
cmake ..
cmakeがコマンドとして認識していない方はcmakeを行うところから始めてください。cmakeは簡単なので頑張って構築してください。
#ビルドしていく
buildフォルダの下に2個目のdarknetがあるので、その中にある
- darknet.sln
- yolo_console_dll.sln
- yolo_cpp_dll.sln
この3つをvisual studioを使いビルドしていきます。no_gpuが付いたファイルがあると思いますが、さわったことがないのでどうなるかはわかりません。名前から察するにcpuに切り替わるのかと(-_-;)私はgpuで行うのでgpuのままやります。
#各.slnのビルド方法
darknet.slnを例に挙げて行います。他2つも同じ方法で行えます。
darknet.slnをvsで開くとこのような画面になると思います。
手順
- 右上のソリューションエクスプローラー内にあるdarknetを右クリック
- ソース管理から自身のcudaを選択
- 再度右クリック、一番下のプロパティを選択
- 右上の構成マネージャーを開き、アクティブソリューションとプラットフォームをreleaseとx64に変更
- プロパティページに戻り、c/c++からインクルードディレクトリにopencvとcudaのincludeファイルがあるpathを追加(cudaのincludeファイルはwindows→programfiles→nvidia gpu→各バージョンの中にincludeファイルがあります。opencvは自力で頑張ってください)
- include pathを追加したらリンカーを開きます(左にあります)。その中に追加のライブラリディレクトリがあるのでこちらにはopencv、cudaのlibファイルのpathを追加してください
- 適用を押します
- darknetを右クリック後ビルドを押します(ここで何も動かなかったりする人はリビルドを何回か押すと動くかもしれません)。
以上を行い、x64以下にdarknet.exeができていたら成功です。
- darknet.sln→darknet.exe
- yolo_console_dll.sln→yolo_console_dll.exe
- yolo_cpp_dll.sln→yolo_cpp_dll.dll
以上のものが作られます。
ここまでくればほぼ終わりです。
#推論してみる
x64のフォルダ内で以下のコマンドを実行します。
python darknet.py
このコマンドでデフォルトのdog.jpgを推論します。
結果
このような結果が出てきます。対応表を作ってないのでbboxのみですね。別の画像を行いたい場合、darknet.pyを編集することで行えます。
#この後は
学習をさせる、これに関しても行いたいと思っているので学習が完了した時点で記事が増えていないようであれば書きます。
#感想
日本語の記事が少ないというだけで難易度が高く、大変でした(;^^A
学習もちゃんと行えるようにしたいですね。英語が苦手な私がかろうじてできたものなので信用性はボロボロですが(笑)気になる人はgithubから自分で行ってみてください。たぶんいらないことを多くやってる気がします。読みづらくてすみませんm( _"m)