WindowsでのYOLOv 5オブジェクトの検出(ステップ・バイ・ステップのチュートリアル)
このチュートリアルでは、PyTorch GPUサポートを使用して、WindowsにYOLOv 5をインストールして実行する方法について説明します。
Created on April 19|Last edited on May 6
Comment

基本的には、Windowsマシンでオブジェクト検出用のYOLOをインストールして実行する方法を学びたい方は続きをお読みください。機能面をご自身で確認したい場合は、Colabに移動してください。
目次
目次YOLOとは?セットアップYOLOv5のインストールすぐにYOLOに戻ります。コンソールがどのバージョンのPythonにアクセスしているのか?CUDAのインストールその後、PyTorchをインストールします。PyTorchをPythonモジュールとしてインストールウェブカメラでYOLOv5で境界ボックスを作成画像上のYOLOv5で境界ボックスを作成YouTube動画上で、YOLOv5で境界ボックスを作成YOLOv5モデル、サイズ、パフォーマンスYOLOv5ウォークスルー動画のオブジェクト検出YOLOv5実験を適切に最適化トレーニング中に検証データ上のモデル予測を視覚化するために境界ボックスデバッガを使用トレーニングと検証指標を記録して実験トラッキングで簡単に比較W&Bテーブルを使用してモデルの予測とデータセットを視覚的に探索YOLOv5 Colab最後に画像を収集し、ラベル付けしてPyTorchでYOLOv5オブジェクト検出モデルをトレーニングおすすめの読み物
YOLOでのコメントを見た後にここに辿り着いた方、境界ボックスなどに直面した方、面白そうだと思った方のために(それが私のきっかけでした)、まずは私たちが何をしているのかを簡単に見ていきましょう。
コードと手順にアクセスするには、ここをクリックしてください。
YOLOとは?
YOLOはYou Only Look Onceの略で、単一の畳み込みネットワークを使用した非常に高速なオブジェクト検出フレームワークです。 YOLOは、ピクセルごとにスイープするのではなく、画像全体を一度に見るため、大抵の場合、他のオブジェクト検出システムよりも高速となっています。
YOLOは、画像をグリッドに分割してこれを行います。それから、グリッドの各セクションが分類され、ローカライズされます(すなわち、 オブジェクトと構造が確立されます)。 それから、境界ボックスを配置する場所を予測します。 これらの境界ボックスの予測は、分類ベースのアルゴリズムとは対照的に、回帰ベースのアルゴリズムで実行されます。
一般に、分類ベースのアルゴリズムは、2つのステップで完了します。まず、対象領域( ROI )を選択し、次いで、畳み込みニューラルネットワーク( CNN )を、オブジェクト(複数可)を検出するために選択された領域に適用します。
YOLOの回帰アルゴリズムは、画像全体の境界ボックスを一度に予測します。これにより、劇的に高速になり、起動するのに扱いやすい名前が付けられます。
さて、これで準備が整いました。さっそく始めましょう。
セットアップ
You will need to install:
- Yolov5リポジトリ
- Python 3.8以降
- PyTorch
- CUDA
ご心配なく。後で各手順についてご説明します。
YOLOv5のインストール
ファイルを取得する方法:

ファイルをダウンロードしたら、保存したい場所にファイルを抽出して次に進みます。 すぐにYOLOに戻ります。
すぐにYOLOに戻ります。
以前のバージョンがインストールされている場合は、手動でアドレスを指定するので、「Python x.xをPathに追加」チェックボックスをオフにしておきます。

以前のバージョンがインストールされている場合は、手動でアドレスを指定するので、「Python x.xをPathに追加」チェックボックスをオフにしておきます。

3.8でも正常に動作すると思われますが、今回は3.9で実行してみましょう。これにより、3.8以前のバージョンから移行するために行う必要があるプロセスも完了します。
Windowsコンソールを使用するので、まずアクセスしているバージョンを確認してみましょう。
コンソールがどのバージョンのPythonにアクセスしているのか?
最も簡単な確認方法は、WindowsエクスプローラーのPythonディレクトリに移動し、アドレスバーにcmdを入力することです。

[Enter]をクリックして、次のように入力してください:
python
使用しているバージョン番号が表示されます:

古いバージョンのPythonを実行している場合は、[設定]で環境変数を編集します:

そして、Path変数を編集してPythonの最新バージョンを参照します:

先ほどのようにコンソールで設定を再確認してから、次の手順に進みます:
CUDAのインストール
CUDAをインストールします。
CUDAは、NVIDIAのGPU用の並列コンピューティングプラットフォームです。 要するに、マシンは計算の一部を並行して実行することができます(高速である大きな理由がここにあります)。 この機能が無ければ、リアルタイムの境界ボックス��ついて話すことはなかったであろうと確信しています。

ダウンロード後、ファイルを起動してインストールします:

再起動が必要な場合があります。 その後、PyTorchをインストールします。
その後、PyTorchをインストールします。
PyTorchは、最も人気のある機械学習フレームワークで、モデルを定義し、推論を実行し(ここで私たちが行う内容です)、トレーニングを実行します。
「最も人気がある」と書きましたが、それは本当です:

PyTorchは、ほとんどの機械学習フレームワークと同様に、計算と推論をGPU上で実行し、CPU上で実行するよりも大幅に高速です。 しかし、正しく設定する必要があるので、今から設定していきましょう。
PyTorchをPythonモジュールとしてインストール
たとえば、私の場合は次のとおりです:

次に、与えられたコードをコピーします:

WindowsエクスプローラーでPythonスクリプトフォルダを開きます:

次に、アドレスバーにcmdと入力します:

次に、アドレスバーにcmdと入力します:
私のコード(例)は次のとおりです:
pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio===0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
私のコンソールには、いくつかの「すでにインストールされている」通知といくつかのエラーが表示されます。ただし、最初のインストールである場合は表示されないため、この通知とエラーについては気にする必要はありません。

これらをインストールするには、解凍ファイルを含むYOLOv5フォルダを開き、アドレスバーにcmdを再度入力してEnterをクリックします。

コンソールから、必要なモジュールをインストールするために以下を実行します:
pip install -r requirements.txt

注意:この段階で、Visual Studioをインストールするように指示する大きな赤いエラーメッセージが表示される場合があります。このメッセージが表示された場合は、Visual Studioをこちらからダウンロードできます。 (このエラーはPyCOCOToolsに関連しています。)
Visual Studioをインストールした後、コンソールを介してYOLOフォルダにPyCOCOToolsを再インストールします。
次に、上記の要件を次のように実行します:
pip install -r requirements.txt
常套手段です
ウェブカメラでYOLOv5で境界ボックスを作成
さて、いよいよです。実際に実行に移して、ウェブカメラを使って境界ボックスを作成しましょう。
YOLOv5フォルダのコンソールに次のコードを入力してください:
python detect.py --source 0

偽装するウェブカメラやアプリケーションが複数ある場合は、この番号を変更する必要がある場合があります。 ウェブカメラやアプリケーションが1つしかない場合、ソースは例のコードのように0になります。
その後しばらくすると次のようになります:

停止したい場合は、開いているウィンドウ内のどこかをクリックしてください。
画像上のYOLOv5で境界ボックスを作成
既存の画像内のオブジェクトを検出するには、YOLOディレクトリ内のフォルダに画像を配置します。
こちらの例として、YOLOフォルダ内にディレクトリ名「images」を作成し、SEOとしてGoogleのメディアキットから写真を撮影しました:

The Google Cafe
YOLOコンソールを再び開き、次のように入力します:
python detect.py --source images/google.jpg
google.jpgのところはご自身の画像名に置き換えてください。
実行すると、次のような内容が表示されます:

保存されている場所に移動します。それから...

YouTube動画上で、YOLOv5で境界ボックスを作成
たとえば、境界ボックスを作成したり、YouTube動画上のオブジェクトを検出したりしたいと考えているとします。
これを行うには、YOLOディレクトリにもう少しモジュールをインストールする必要があります。
まず、次のように実行します:
pip install pafy
次に、次のように実行します:
pip install youtube_dl
これらのモジュールがインストールされている場合、コンソールをYOLOフォルダに再度開き、次のように入力できます:
python detect.py --source https://youtu.be/jNQXAC9IVRw
もう一度、YouTubeのURLを自分のURLに置き換えることにします。 YouTubeに投稿した私の初めての動画を例として挙げます。 その結果がこちらです:
YOLOv5モデル、サイズ、パフォーマンス
デフォルトでは、加工要件が軽いため、YOLOは最小のモデルを使用していました。 それが、私たちが上記で取り組んできたものです。
より正確なより大きなモデルを使用したい場合(より多くの処理能力を必要とする傾向がありますが)は、それを定義する必要があります。
上記の例を使用して、ウェブカメラを使用してオブジェクトを検出する場合、デフォルトのコードは次のようになります:
python detect.py --source 0
コードの末尾にサイズを追加するだけで、他の3つのモデルサイズのいずれかを使用できます:
小(デフォルト)
python detect.py --source 0
中
python detect.py --source 0 --weights yolov5m.pt
大
python detect.py --source 0 --weights yolov5l.pt
最大
python detect.py --source 0 --weights yolov5x.pt
それは常に、パワーとパフォーマンスのトレードオフとなります。

YOLOv5ウォークスルー動画のオブジェクト検出
上記で紹介した内容は、Weights & Biases YouTubeチャンネルの登録者が既に見た可能性のある内容を段階的に詳しく説明しています。 まだチャンネル登録していない場合は、より素晴らしいチュートリアル、イベントなどのために今すぐ登録することをお勧めします。
YOLOv5実験を適切に最適化
ML、CVを初めて使用する場合でも、オブジェクト検出にYOLOv5を使用する場合でも、優れた習慣を構築し、適切なツールを使用することが必須です。
そのため、こちらをクリックして、5分以内の実験トラッキングのためにWeights & Biasesを使い始めてください。
ここでは、できることの例をいくつか紹介します:
トレーニング中に検証データ上のモデル予測を視覚化するために境界ボックスデバッガを使用
トレーニングと検証指標を記録して実験トラッキングで簡単に比較
W&Bテーブルを使用してモデルの予測とデータセットを視覚的に探索
YOLOv5 Colab
ソフトウェアをインストールしたくない方や、直接使用したい方がいらっしゃるかもしれません。
そのような場合には、Colabがあります。
Colabはリアルタイムのオブジェクト検出を促進しないため、ウェブカメラなどで設定することはできません。
それでも、始めのとっかかりとしてはいいものになります。
最後に
機械学習を学び始めたばかりなら、YOLOは素晴らしいスタート地点となるでしょう。
経験豊富でコンピュータビジョンにまで精通している方には、これがお役に立てれば幸いです。
画像を収集し、ラベル付けしてPyTorchでYOLOv5オブジェクト検出モデルをトレーニング
さて、次のレベルに進む準備はできていますか?
パート2では、PyTorchでYOLOv5オブジェクト検出モデルをトレーニングするために、画像を収集し、ラベル付けする方法について説明していきます。
おすすめの読み物
Add a comment
Iterate on AI agents and models faster. Try Weights & Biases today.