目錄
1. 行人識別與追蹤
2. 訓練多標籤分類網路
下載PaddleClas
首頁 科技週邊 人工智慧 AI已經把你看得明明白白,YOLO+ByteTrack+多標籤分類網絡

AI已經把你看得明明白白,YOLO+ByteTrack+多標籤分類網絡

Apr 14, 2023 pm 06:25 PM
網路 ai yolo

今天跟大家分享一個行人屬性分析系統。從影片或相機的視訊串流中能辨識行人,並標記每個人的屬性。

AI已經把你看得明明白白,YOLO+ByteTrack+多標籤分類網絡

識別的屬性包括以下10 類別

AI已經把你看得明明白白,YOLO+ByteTrack+多標籤分類網絡

#有些類別有多個屬性,如果身體朝向有:正面、側面和背面,所以,最終訓練的屬性有26 個。

實現這樣的系統需要3 個步驟:

  • 用YOlOv5 辨識行人
  • 用ByteTrack 追蹤標記同一個人
  • 訓練多標籤圖像分類網絡,識別行人26 個屬性

1. 行人識別與追蹤

#行人識別使用YOLOv5目標檢測模型,可以自己訓練模型,也可以直接使用YOLOv5預訓練好的模型。

行人追蹤使用的是多目標追蹤技術(MOT)技術,影片是由一幅幅畫面組成,雖然我們人類能夠識別出不同畫面中的同一個人, 但如果不對行人做追踪, AI是無法辨識的。需要用MOT技術追蹤同一個人並給每個行人分配唯一的ID。

YOLOv5模型的訓練、使用,以及多目標追蹤技術(MOT)技術的原理、實現方案,在上一篇文章有​​詳細的教程,有興趣的朋友可以查看那邊文章《 YOLOv5 ByteTrack統計車流》。

2. 訓練多標籤分類網路

我們最開始接觸的圖像分類大部分是單標籤分類的,即:一張圖片歸為1類,類別可以是二分類也可以是多分類。假設有三個類別,每一張圖片對應的label可能是下面這總格式:

001.jpg010
002.jpg100
003.jpg100
登入後複製

label只有一個位置是1。

而我們今天要訓練的多標籤分類網路是一張圖片同時包含多個類別,label格式如下:

001.jpg011
002.jpg111
003.jpg100
登入後複製

label可以有多個位置是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)
登入後複製

最後輸出層的激活函數必須要sigmoid,因為需要每個屬性單獨計算機率。同理,訓練時的損失函數也需要用二分類交叉熵binary_crossentropy。

實際上,上面兩種方法原理都是類似的,只不過開發的工作量不同。

這裡為了方便,我使用的是PaddleCls進行訓練。 Paddle的配置簡單,缺點是有點黑盒,只能按照他那一套來,需要自訂的地方就比較麻煩。

模型訓練使用的是PA100K資料集,需要注意的是,PA100K資料集定義的原始label與Paddle雖然意義相同,但順序不同。

如:原始label第1位代表是否為女性,而Paddle要求第1位代表是否戴帽子,第22位才是是否為女性。

AI已經把你看得明明白白,YOLO+ByteTrack+多標籤分類網絡

我們按照Paddle的要求調整下原始label位置即可,這樣我們後面推理會方便些。

下載PaddleClas

git clone https://github.com/PaddlePaddle/PaddleClas
登入後複製

將下載的資料集解壓縮,放到PaddleClas的dataset目錄。

找到ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml設定文件,設定圖片和label路徑。

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)
登入後複製

輸出結果如下:

[{'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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

deepseek網頁版官方入口 deepseek網頁版官方入口 Mar 12, 2025 pm 01:42 PM

deepseek網頁版官方入口

深度求索deepseek官網入口 深度求索deepseek官網入口 Mar 12, 2025 pm 01:33 PM

深度求索deepseek官網入口

deepseek服務器繁忙怎麼解決 deepseek服務器繁忙怎麼解決 Mar 12, 2025 pm 01:39 PM

deepseek服務器繁忙怎麼解決

百度又一國民產品接入DeepSeek,是想開了還是跟風? 百度又一國民產品接入DeepSeek,是想開了還是跟風? Mar 12, 2025 pm 01:48 PM

百度又一國民產品接入DeepSeek,是想開了還是跟風?

加密數字資產交易APP推薦top10(2025全球排名) 加密數字資產交易APP推薦top10(2025全球排名) Mar 18, 2025 pm 12:15 PM

加密數字資產交易APP推薦top10(2025全球排名)

十大加密貨幣交易平台 幣圈交易平台app排行前十名推薦 十大加密貨幣交易平台 幣圈交易平台app排行前十名推薦 Mar 17, 2025 pm 06:03 PM

十大加密貨幣交易平台 幣圈交易平台app排行前十名推薦

安全靠譜的數字貨幣平台有哪些 安全靠譜的數字貨幣平台有哪些 Mar 17, 2025 pm 05:42 PM

安全靠譜的數字貨幣平台有哪些

2025年行業首款全尺寸內嵌DeepSeek的小折疊!努比亞Flip 2亮相 2025年行業首款全尺寸內嵌DeepSeek的小折疊!努比亞Flip 2亮相 Mar 12, 2025 pm 01:27 PM

2025年行業首款全尺寸內嵌DeepSeek的小折疊!努比亞Flip 2亮相

See all articles