完了シリーズ-検出トピック-畳み込みニューラルネットワークに基づく動物認識システム

以前にYolov5ベースのマスク検出システムを実行しました(YOLOV5を使用して独自のターゲット検出モデルをトレーニングする方法を教えてください-マスク検出-ビデオtutorial_dejahuのブログ-CSDNブログ)、内部のコードはYOLOV5 6.0開発に基づいており、適用可能です他のデータセットに対しては、データセットを変更して再トレーニングするだけで済みます。これは非常に便利ですが、初心者でデータ処理についてあまり知らない人もいるため、このビデオの派生シリーズを作成します。うまくいけば、これらのシリーズは、独自のデータセットをトレーニングして使用する方法を教えてくれるでしょう。

ステーションBビデオ:完成したシリーズ-検出スペシャル-YOLOV5に基づくジェスチャ認識システム

ブログアドレス:(2メッセージ)完成したシリーズ-検出トピック-畳み込みニューラルネットワークに基づく動物認識システム-412ブログ-CSDNブログ

コードアドレス:YOLOV5-animal-42:YOLOV5に基づく動物検出システム(gitee.com)

データセットとトレーニング済みモデルアドレス:YOLOV5動物検出データセット+コード+モデル2000ラベル付きデータ+教育ビデオ

前号のコメント欄に、仲良しの友達がメッセージを残して動物検出システムを見たかったので、今回の検出シリーズで動物検出システムを更新し、それに基づいてカウント機能を追加します前の関数の効果を最初に見てみましょう。

画像-20220309211305462

一部の友人の計算能力の欠如を考慮して、ここでマークされたデータセットとトレーニング済みモデルも提供します。それを取得する方法は、CSDNを介してダウンロードすることです(^^メンバーシップを開く必要はありません)。リソースアドレスは次のとおりです。次のように:

YOLOV5動物検出データセット+コード+モデル2000ラベル付きデータ+教育ビデオ

リモートデバッグとコースデザインをカスタマイズした小さなパートナーが必要な小さなパートナーは、QQ 3045834499を追加できます。価格は適正で、老人はだまされません。

コードをダウンロード

コードのダウンロードアドレスは次のとおりです。YOLOV5-animal-42:YOLOV5に基づく動物検出システム(gitee.com)

画像-20220407163525849

構成環境

pycharmに慣れていないanacondaの友達は、まずこのcsdnブログを読んで、pycharmとanacondaの基本的な操作を理解してください。

pycharm_dejahuのブログでanacondaの仮想環境を構成する方法-CSDNblog_pycharmでanacondaを構成する方法

anacondaのインストールが完了したら、ダウンロード速度を向上させるために国内ソースに切り替えてください。コマンドは次のとおりです。

conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

まず、python3.8の仮想環境を作成します。コマンドラインで、次の操作を実行してください。

conda create -n yolo5 python==3.8.5
conda activate yolo5

pytorchのインストール(gpuバージョンとcpuバージョンのインストール)

実際のテスト状況では、YOLOv5はCPUとGPUの両方の条件で使用できますが、CPU条件でのトレーニングの速度は途方もないため、条件付きの友達はGPUバージョンのPytorchをインストールする必要があり、無条件の友達が最も優れています使用するサーバーをレンタルします。

GPUバージョンのインストールの具体的な手順については、次の記事を参照してください:2021_dejahuのブログ-CSDNブログのWindowsにGPUバージョンのTensorflowとPytorchをインストールする

次の点に注意する必要があります。

  • インストールする前に、必ずグラフィックカードドライバーを更新し、公式Webサイトにアクセスして、対応するモデルドライバーのインストールをダウンロードしてください。
  • 30シリーズのグラフィックカードはcuda11バージョンのみを使用できます
  • さまざまな深層学習フレームワーク間で競合が発生しないように、必ず仮想環境を作成してください

ここで作成したのはpython3.8環境で、インストールされているPytorchのバージョンは1.8.0で、コマンドは次のとおりです。

conda install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2 # 注意这条命令指定Pytorch的版本和cuda的版本
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly # CPU的小伙伴直接执行这条命令即可
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch # 30系显卡的小伙伴执行这里的指令

インストールが完了したら、GPUが

画像-20210726172454406

pycocotoolsのインストール

後で、Windowsでのより簡単なインストール方法を見つけました。次のコマンドを使用して、ダウンロードしてインストールせずに直接インストールできます。

pip install pycocotools-windows

他のパッケージのインストール

さらに、opencv、matplotlib、これらのパッケージなど、プログラムの他の必要なパッケージもインストールする必要がありますが、これらのパッケージのインストールは比較的簡単で、pipコマンドを使用して直接実行できます。 yolov5コードを作成し、次のコマンドを直接実行します。パッケージのインストールを完了できます。

pip install -r requirements.txt
pip install pyqt5
pip install labelme

情報処理

すぐに処理できるデータセットをyolo形式で実現します。通常、yolo形式のデータは、txt形式の注釈ファイルに対応する画像です。

画像-20220219192930908

注釈ファイルには、次の図に示すように、ターゲットのクラス中心点の座標と幅および高さの情報が記録されます。

画像-20220219193042855

ここでデータセットの場所を覚えておいてください。後の構成ファイルで使用します。たとえば、ここでのデータセットの場所は次のとおりです。C:/Users/chenmingsong/Desktop/hand/hand_gesture_dataset

構成ファイルの準備

  • データプロファイルの作成

    構成ファイルはデータディレクトリanimal_data.yamlにあります。ここでデータセットの場所をローカルのデータセットの場所に変更するだけで済みます。

    画像-20220309215138666

  • モデル構成ファイルの準備

    モデルには、大、中、小の3つのモデルに対応する、、、、の3つの主要な構成ファイルがあります。主なものは、構成ファイルのncをデータに対応する6つのカテゴリに変更するanimal_yolov5s.yamlことanimal_yolov5m.yamlですanimal_yolov5l.yamlセットする。

    画像-20220309215624860

モデルトレーニング

モデルトレーニングのメインファイルはtrain.py、次の3つの手順が、それぞれ小、中、大の3つのモデルのトレーニングに対応していることです。GPUを使用している学生は、デバイスを0に変更できます。これは、GPUカードNo.0が使用されることを意味します。メモリが大きい学生は、バッチサイズを調整できます。4または16の方が、トレーニングが高速です。

python train.py --data animal_data.yaml --cfg animal_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 2 --device cpu
python train.py --data animal_data.yaml --cfg animal_yolov5l.yaml --weights pretrained/yolov5l.pt --epoch 100 --batch-size 2
python train.py --data animal_data.yaml --cfg animal_yolov5m.yaml--weights pretrained/yolov5m.pt --epoch 100 --batch-size 2

トレーニングプロセス中に次のプログレスバーが表示されます

画像-20220219202818016

トレーニングが完了すると、トレーニング結果がruns/trainディレクトリに保存され、誰もが使用できるさまざまな概略図が用意されています。

画像-20220219202857929

モデルの使用法

モデルの使用はすべてdetect.pyディレクトリに統合されており、次の手順に従って検出するコンテンツを参照できます。

 # 检测摄像头
 python detect.py  --weights runs/train/exps/weights/best.pt --source 0  # webcam
 # 检测图片文件
  python detect.py  --weights runs/train/exps/weights/best.pt --source file.jpg  # image 
 # 检测视频文件
   python detect.py --weights runs/train/exps/weights/best.pt --source file.mp4  # video
 # 检测一个目录下的文件
  python detect.py --weights runs/train/exps/weights/best.pt path/  # directory
 # 检测网络视频
  python detect.py --weights runs/train/exps/weights/best.pt 'https://youtu.be/NUsoVlDFqZg'  # YouTube video
 # 检测流媒体
  python detect.py --weights runs/train/exps/weights/best.pt 'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream                            

たとえば、マスクモデルを例にとるとpython detect.py --weights runs/train/exps/weights/best.pt --source data/images/0023.png、コマンドを実行すると、このような検出結果を得ることができます。

single_result

ビジュアルインターフェイスを構築する

ビジュアルインターフェイスの一部は、window.pypyqt5によって完成されたインターフェイスデザインであるファイルにあります。インターフェイスを開始する前に、モデルをトレーニングしたモデルに置き換える必要があります。置き換え位置はwindow.py60行目にあり、変更できます。モデルアドレスに。GPUを使用している場合は、デバイスを0に設定できます。これは、0行目のGPUを使用することを意味し、モデルの認識を高速化できます。

画像-20220309214131940

今すぐ開始して、効果を確認してください。

私を見つけて

あなたはこれらの方法で私を見つけることができます。

ステーションB:フォー12-

CSDN:フォー12

知っている:四十二

Weibo:Four Twelve-

今すぐフォローして、古くからの友達になりましょう!

画像-20211212195912911

おすすめ

転載: blog.csdn.net/ECHOSON/article/details/123389178