トップページ情報工学を学ぶ人工知能の実行,Python プログラム (Windows 上)Scaled YOLO v4 による物体検出(AlexryAB/darknet を使用)(Windows 上)

Scaled YOLO v4 による物体検出(AlexryAB/darknet を使用)(Windows 上)

Scaled YOLO v4 は 2021年発表の物体検出法.

darknet のソースコードなどの URL: https://github.com/AlexeyAB/darknet

COCO で事前学習済みモデルの重みのデータの URL: https://github.com/AlexeyAB/darknet

重みのデータ yolov4-p6.weights を使用

前準備

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)もしくは Visual Studio 2022 のインストール(Windows 上)

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)もしくはVisual Studio 2022 を,前もってインストールしておく.NVIDIA CUDA の nvcc を機能させるため.

Git のインストール

Git のページ https://git-scm.com/ からダウンロードしてインストール:

cmake のインストール

cmake のダウンロードページ: https://cmake.org/download/

NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7.0, NVIDIA cuDNN 8.4.1 のインストール

GPU は,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある. NVIDIA CUDA ツールキット は,NVIDIA社が提供している GPU 用のプラットフォームである.

【インストール手順の詳細説明】

NVIDIA ドライバについて

  1. 古いNVIDIA ドライバ,NVIDIA CUDA ツールキットがインストール済みのとき,不要なものがあればアンインストール

    Windows のスタートメニューで「設定」,「アプリ」と操作して,「NVIDIA ・・・」を削除

  2. NVIDIA グラフィックス・カードの種類を調べる

    hwinfo (URL: https://www.hwinfo.com) を使って調べることができる.

  3. あとで,NVIDIA CUDA ツールキットをインストールするときに,NVIDIA ドライバを同時にインストールすることができる.

    但し, NVIDIA CUDA ツールキットの古いバージョンを使うという場合は,NVIDIA CUDA ツールキットのインストールのときに NVIDIA ドライバをインストールするのでなく,次のページから最新のNVIDIA ドライバをダウンロードして,インストールする.

    NVIDIA ドライバのダウンロードページ】

    https://www.nvidia.co.jp/Download/index.aspx?lang=jp

NVIDIA CUDA ツールキット 11.7.0,NVIDIA cuDNN 8.4.1 のインストール

インストール手順の詳細(別ページ)

Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7.1,NVIDIA cuDNN v8.5 のインストールと動作確認: 別ページで説明している.

インストール手順の概要

NVIDIA CUDA ツールキット 11.7.1 のダウンロードとインストール

NVIDIA cuDNN v8.5 のインストール(Windows 上)

要点

インストール手順

  1. ZLIB DLL のダウンロードとインストール

    Windows では,コマンドプロン プトを管理者として実行し, 次のコマンドを実行する.

    Windows のコマンドプロンプト管理者として実行するには, 検索窓で「cmd」と入れたあと, 右クリックメニューで「管理者として実行」を選ぶのが簡単.

    [image]

    v11.7」のところは,実際にインストールされているバージョンを確認し,読み替えてください.

    cd "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin"
    curl -O http://www.winimage.com/zLibDll/zlib123dllx64.zip
    call powershell -command "Expand-Archive zlib123dllx64.zip"
    copy zlib123dllx64\dll_x64\zlibwapi.dll .
    

    [image]

    Windows で 「Could not locate zlibwapi.dll. Please make sure it is in your library path!」と表示されるときの対処:

    ここの説明を参考に ZLIB DLL をインストールする.

  2. NVidia の cuDNN のウェブページを開く

    https://developer.nvidia.com/cuDNN

  3. ダウンロードしたいので,cuDNNのところにある「Download cuDNN」をクリック.

    [image]
  4. NVIDIA Developer Program メンバーシップに入る

    cuDNN のダウンロードのため.

    Join now」をクリック.その後,画面の指示に従う. 利用者本人が,電子メールアドレス,表示名,パスワード,生年月日を登録.利用条件等に合意.

    [image]
  5. ログインする

    [image]
  6. 調査の画面が出たときは,調査に応じる
  7. ライセンス条項の確認

    [image]
  8. ダウンロードしたいバージョンを選ぶ

    ここでは「NVIDIA cuDNN v8.5.0 for CUDA 11.x」を選んでいる.

    このとき,画面の「for CUDA ...」のところを確認し,使用するNVIDIA CUDA のバージョンに合うものを選ぶこと.

    [image]
  9. Windows にインストールするので Windows 版を選ぶ

    [image]
  10. ダウンロードが始まる.

    [image]
  11. ダウンロードした .zip ファイルを展開(解凍)する. その中のサブディレクトリを確認しておく.

    Windows での展開(解凍)のためのソフトには,「7-Zip」などがある.

    [image]
  12. CUDA ツールキットをインストールしたディレクトリ」は,「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7」 のようになっている.確認する.

    [image]
  13. 確認したら, さきほど展開してできたすべてのファイルとディレクトリを,「CUDA ツールキットをインストールしたディレクトリ」にコピーする

    [image]
  14. パスが通っていることを確認.

    次の操作により,cudnn64_8.dllパスが通っていることを確認する.

    Windowsのコマンドプロンプトを開き,次のコマンドを実行する.エラーメッセージが出ないことを確認.

    where cudnn64_8.dll
    

    [image]
  15. システム環境変数 CUDNN_PATH の設定を行う.

    システム環境変数 CUDNN_PATH の設定のため, 管理者として実行した コマンドプロンプトで,次のコマンドを実行する.

    call powershell -command "[System.Environment]::SetEnvironmentVariable(\"CUDNN_PATH\", \"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\", \"Machine\")"
    

    [image]

OpenCV のインストール

github の AlexeyAB/darknet のインストール

URL: https://github.com/AlexeyAB/darknet

Windows での手順を下に示す.Ubuntu でも同様の手順になる.

  1. Windows で,コマンドプロンプトを実行.
  2. インストールディレクトリを空にする
    mkdir %HOMEPATH%
    cd %HOMEPATH%
    rmdir /s /q darknet
    

    [image]
  3. github の AlexeyAB/darknet のダウンロード

    cd %HOMEPATH%
    git clone https://github.com/AlexeyAB/darknet
    

    [image]
  4. darknet のインストール

    https://github.com/AlexeyAB/darknet に記載の手順による

    しばらく待つ.

    cd %HOMEPATH%
    cd darknet
    powershell -Command "Set-ExecutionPolicy unrestricted -Scope CurrentUser -Force"
    powershell -Command ".\build.ps1 -UseVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN"
    

    [image]
    (以下省略)
  5. 結果の確認

    エラーメッセージが出ていないことを確認

    [image]

darknet を用いた物体検出

darknet のソースコードなどの URL: https://github.com/AlexeyAB/darknet

COCO で事前学習済みモデルの重みのデータの URL: https://github.com/AlexeyAB/darknet

重みのデータ yolov4-p6.weights を使用

  1. 重みのデータ yolov4-p6.weights のダウンロード

    https://github.com/AlexeyAB/darknet の記載に従う.

    [image]
  2. パスを通す

    Windows では,システム環境変数 PATH に,次の2つを追加.

  3. 動画ファイルを準備する

    ここでは,動画ファイル https://www.kkaneko.jp/sample/video/samplevideo.mp4 を使用することにする.

    Windows で,コマンドプロンプトを実行.

    cd %HOMEPATH%
    cd darknet
    curl -O https://www.kkaneko.jp/sample/video/samplevideo.mp4
    

    [image]
  4. 実行
    cd %HOMEPATH%\darknet
    darknet detector demo cfg\coco.data cfg\yolov4-p6.cfg yolov4-p6.weights samplevideo.mp4
    

    [image]
  5. 表示を確認

    [image]

    [image]