検索
ホームページテクノロジー周辺機器AIAI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク

今日は歩行者属性分析システムについて紹介します。歩行者はビデオまたはカメラのビデオ ストリームから識別でき、各人の属性をマークできます。

AI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク

#認識される属性には次の 10 個のカテゴリが含まれます

AI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク

一部のカテゴリには複数の属性があります。体の向きが次の場合:前面、側面、背面、つまり最終トレーニングには 26 個の属性があります。

このようなシステムを実装するには、次の 3 つの手順が必要です。

    YOlOv5 を使用して歩行者を識別する
  • ByteTrack を使用して同じ人物を追跡し、マークする
  • トレーニングマルチラベル画像 歩行者の 26 の属性を識別する分類ネットワーク
1. 歩行者の認識と追跡

歩行者の認識は、YOLOv5 ターゲット検出モデルを使用します。モデルを自分でトレーニングすることも、またはYOLOv5 の事前トレーニングの適切なモデルを直接使用できます。

歩行者追跡には、Multi-Object Tracking Technology (MOT) 技術が使用されており、映像は複数の写真で構成されており、人間は異なる写真から同じ人物を識別できますが、歩行者を追跡しなければ、AI は認識できません。同じ人物を追跡し、各歩行者に一意の ID を割り当てるには、MOT テクノロジーが必要です。

YOLOv5 モデルのトレーニングと使用、およびマルチオブジェクト追跡テクノロジ (MOT) テクノロジの原理と実装計画については、前の記事で詳しく説明しています。興味のある方は、そこで記事をチェックしてください。 YOLOv5 ByteTrack はトラフィック フローをカウントします。

2. マルチラベル分類ネットワークのトレーニング

私たちが最初に扱った画像分類のほとんどは単一ラベル分類でした。つまり、画像はカテゴリ 1 に分類され、 category には 2 つのカテゴリを指定できますが、複数のカテゴリを指定することもできます。 3 つのカテゴリがあると仮定すると、各画像に対応するラベルは次の一般的な形式になります:

001.jpg010
002.jpg100
003.jpg100

label 1 つの位置のみが 1 です。

今日トレーニングするマルチラベル分類ネットワークは、複数のカテゴリを同時に含む画像です。ラベルの形式は次のとおりです:

001.jpg011
002.jpg111
003.jpg100

label には複数の位置を含めることができます1の。

このようなネットワークをトレーニングするには 2 つのオプションがあります。 1 つは、各カテゴリを単一ラベルの分類として扱い、損失を個別に計算し、合計を要約し、ネットワーク パラメーターを更新するための勾配を計算することです。

もう 1 つは直接トレーニングできますが、ResNet50 を例としてネットワークの詳細に注意する必要があります。

resnet50 = ResNet50(include_top=False, weights='imagenet')

# 迁移学习,不重新训练卷积层
for layer in resnet50.layers:
layer.trainable = False

# 新的全连接层
x = Flatten()(resnet50.output)
x = Dense(1024)(x)
x = Activation('relu')(x)
x = BatchNormalization()(x)
x = Dropout(0.5)(x)

# 输出 26 个属性的多分类标签
x = Dense(26, activatinotallow='sigmoid')(x)

model = Model(inputs = resnet50.input, outputs=x)

最終出力層の活性化関数はシグモイドである必要があります。各属性は個別に計算する必要があります。同様に、トレーニング中の損失関数も binary_crossentropy を使用する必要があります。

実際、上記 2 つの方法の原理は似ていますが、開発ワークロードは異なります。

ここでは便宜上、トレーニングに PaddleCls を使用します。 Paddle の設定はシンプルですが、独自のルールに従うことしかできず、カスタマイズするのがさらに面倒な、ややブラックボックス的な欠点があります。

モデル トレーニングでは PA100K データ セットを使用します。PA100K データ セットで定義された元のラベルは Paddle と同じ意味を持ちますが、順序が異なることに注意してください。

例: 元のラベルの 1 桁目はラベルが女性かどうかを表しますが、Paddle では 1 桁目でラベルが帽子をかぶっているかどうかを表し、22 桁目でラベルが女性かどうかを表す必要があります。

AI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク

#Paddle の要件に応じて元のラベルの位置を調整できるので、後で推論しやすくなります。

PaddleClas のダウンロード

git clone https://github.com/PaddlePaddle/PaddleClas

ダウンロードしたデータセットを解凍し、PaddleClas のデータセット ディレクトリに配置します。

ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml 構成ファイルを見つけて、イメージとラベルのパスを構成します。

DataLoader:
Train:
dataset:
name: MultiLabelDataset
image_root: "dataset/pa100k/" #指定训练AI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク所在根路径
cls_label_path: "dataset/pa100k/train_list.txt" #指定训练列表文件位置
label_ratio: True
transform_ops:

Eval:
dataset:
name: MultiLabelDataset
image_root: "dataset/pa100k/" #指定评估AI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク所在根路径
cls_label_path: "dataset/pa100k/val_list.txt" #指定评估列表文件位置
label_ratio: True
transform_ops:

train_list.txt 形式は

00001.jpg0,0,1,0,....

構成後、直接トレーニングできます

python3 tools/train.py 
-c ./ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml

トレーニング後、モデルをエクスポートします

python3 tools/export_model.py 
-c ./ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml 
-o Global.pretrained_model=output/PPLCNet_x1_0/best_model 
-o Global.save_inference_dir=deploy/models/PPLCNet_x1_0_person_attribute_infer

エクスポートされた結果~/.paddleclas/inference_model/PULC/person_attribute/ ディレクトリに配置されます。

AI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワーク

PaddleCls が提供する関数を使用して、

import paddleclas

model = paddleclas.PaddleClas(model_name="person_attribute")

result = model.predict(input_data="./test_imgs/000001.jpg")

print(result)

for を直接呼び出すことができます。出力 結果は次のとおりです。

[{'attributes': ['Female', 'Age18-60', 'Front', 'Glasses: False', 'Hat: False', 'HoldObjectsInFront: True', 'ShoulderBag', 'Upper: ShortSleeve', 'Lower:Trousers', 'No boots'], 'output': [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0], 'filename': './test_imgs/000001.jpg'}]

モデル トレーニング プロセスはここで終了し、プロジェクト全体のデータ セットとソース コードがパッケージ化されました。

以上がAI はあなたをはっきりと認識しました、YOLO+ByteTrack+マルチラベル分類ネットワークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Gemma Scope:AI'の思考プロセスを覗くためのGoogle'の顕微鏡Gemma Scope:AI'の思考プロセスを覗くためのGoogle'の顕微鏡Apr 17, 2025 am 11:55 AM

ジェマの範囲で言語モデルの内部の仕組みを探る AI言語モデルの複雑さを理解することは、重要な課題です。 包括的なツールキットであるGemma ScopeのGoogleのリリースは、研究者に掘り下げる強力な方法を提供します

ビジネスインテリジェンスアナリストは誰で、どのようになるか?ビジネスインテリジェンスアナリストは誰で、どのようになるか?Apr 17, 2025 am 11:44 AM

ビジネスの成功のロック解除:ビジネスインテリジェンスアナリストになるためのガイド 生データを組織の成長を促進する実用的な洞察に変換することを想像してください。 これはビジネスインテリジェンス(BI)アナリストの力です - GUにおける重要な役割

SQLに列を追加する方法は? - 分析VidhyaSQLに列を追加する方法は? - 分析VidhyaApr 17, 2025 am 11:43 AM

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

ビジネスアナリストとデータアナリストビジネスアナリストとデータアナリストApr 17, 2025 am 11:38 AM

導入 2人の専門家が重要なプロジェクトで協力している賑やかなオフィスを想像してください。 ビジネスアナリストは、会社の目標に焦点を当て、改善の分野を特定し、市場動向との戦略的整合を確保しています。 シム

ExcelのCountとCountaとは何ですか? - 分析VidhyaExcelのCountとCountaとは何ですか? - 分析VidhyaApr 17, 2025 am 11:34 AM

Excelデータカウントと分析:カウントとカウントの機能の詳細な説明 特に大規模なデータセットを使用する場合、Excelでは、正確なデータカウントと分析が重要です。 Excelは、これを達成するためにさまざまな機能を提供し、CountおよびCounta関数は、さまざまな条件下でセルの数をカウントするための重要なツールです。両方の機能はセルをカウントするために使用されますが、設計ターゲットは異なるデータ型をターゲットにしています。 CountおよびCounta機能の特定の詳細を掘り下げ、独自の機能と違いを強調し、データ分析に適用する方法を学びましょう。 キーポイントの概要 カウントとcouを理解します

ChromeはAIと一緒にここにいます:毎日何か新しいことを体験してください!!ChromeはAIと一緒にここにいます:毎日何か新しいことを体験してください!!Apr 17, 2025 am 11:29 AM

Google Chrome'sAI Revolution:パーソナライズされた効率的なブラウジングエクスペリエンス 人工知能(AI)は私たちの日常生活を急速に変換しており、Google ChromeはWebブラウジングアリーナで料金をリードしています。 この記事では、興奮を探ります

ai' s Human Side:Wellbeing and the Quadruple bottuntai' s Human Side:Wellbeing and the Quadruple bottuntApr 17, 2025 am 11:28 AM

インパクトの再考:四重材のボトムライン 長い間、会話はAIの影響の狭い見方に支配されており、主に利益の最終ラインに焦点を当てています。ただし、より全体的なアプローチは、BUの相互接続性を認識しています

5ゲームを変える量子コンピューティングの使用ケースあなたが知っておくべきである5ゲームを変える量子コンピューティングの使用ケースあなたが知っておくべきであるApr 17, 2025 am 11:24 AM

物事はその点に向かって着実に動いています。量子サービスプロバイダーとスタートアップに投資する投資は、業界がその重要性を理解していることを示しています。そして、その価値を示すために、現実世界のユースケースの数が増えています

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター