深度學(xué)習(xí)基礎(chǔ)與實踐 課件 10.2-ResNet行人重識別實戰(zhàn)_第1頁
深度學(xué)習(xí)基礎(chǔ)與實踐 課件 10.2-ResNet行人重識別實戰(zhàn)_第2頁
深度學(xué)習(xí)基礎(chǔ)與實踐 課件 10.2-ResNet行人重識別實戰(zhàn)_第3頁
深度學(xué)習(xí)基礎(chǔ)與實踐 課件 10.2-ResNet行人重識別實戰(zhàn)_第4頁
深度學(xué)習(xí)基礎(chǔ)與實踐 課件 10.2-ResNet行人重識別實戰(zhàn)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ResNet行人重識別實戰(zhàn)行人重識別的介紹行人重識別,是指在給定某個監(jiān)控攝像機(jī)下的行人圖像,利用行人的外觀特征,在不重疊的跨域場景下攝像機(jī)拍攝的行人圖像集合中準(zhǔn)確的檢索到該特定行人。廣泛應(yīng)用于智能城市,刑事偵查等重要的應(yīng)用場景中。圖片來源:https://zhuanlan.zhihu.com/p人重識別主要是在多攝像頭多場景下,識別行人身份一項技術(shù)。由于是在無約束場景下識別行人,因此會受到外觀;姿態(tài);遮擋;光線;檢測誤差等一些難點問題,比如行人外觀上會存在非常相似的問題,在姿態(tài)方面會存在非剛性變換,造成檢測部位不匹配,在遮擋方面會存在行人身體遮擋,這也是行人識別需要克服一大難題,光線較

暗,起霧,也會問題識別上的問題。行人重識別的介紹圖片來源:《基于深度學(xué)習(xí)的行人重識別研究進(jìn)展_羅浩》01行人重識別系統(tǒng)一般是分兩步驟:先檢測+再識別。而當(dāng)前的行人重識別研究重點是識別。它的主要任務(wù)包含特征提取和相似度量兩個步驟。傳統(tǒng)的方法思路為手工提取圖像特征,例如顏色。但是它很難適應(yīng)

復(fù)雜場景下的大量數(shù)據(jù)量任務(wù)。近年來,更多以卷積神經(jīng)網(wǎng)絡(luò)來提取行人圖像的深層次特征。行人重識別的介紹圖片來源:《基于深度學(xué)習(xí)的行人重識別研究進(jìn)展_羅浩》01行人重識別的介紹基于不同損失函數(shù)的行人識別模型:表征學(xué)習(xí)和度量學(xué)習(xí)表征學(xué)習(xí):直接在訓(xùn)練網(wǎng)絡(luò)的時候考慮圖片間的相似度,而把行人重識別任務(wù)當(dāng)做分類問題或者驗證問題來看待。表征學(xué)習(xí)下的損失函數(shù)包括:分類損失和驗證損失。分類損失包括兩大類,一類是屬性損失,例如行人外貌標(biāo)簽,有沒有戴帽子,是否為短頭發(fā),一類是ID損失,是否是小明,及確定行人的ID。驗證損失:輸入一對(兩張)行人圖片,讓網(wǎng)絡(luò)來學(xué)習(xí)這兩張圖片是否屬于同一個行人,等效于二分類問題。下圖中:圖片通過主干是Resnet網(wǎng)絡(luò)提取到的特征后,再經(jīng)過平均池化,與各個全連接層連接分別計算分類損失。圖片來源:《基于深度學(xué)習(xí)的行人重識別研究進(jìn)展_羅浩》01行人重識別的介紹度量學(xué)習(xí):基于表征模型的Re-id模型存在一個問題,因為最后一層是分類ID層,它會隨著行人ID的n的增大而增大。因此只適用于閉集下的情況。將行人重識別問題看作是距離問題

:

通過網(wǎng)絡(luò)提取到樣本的特征,然后定義一個度量函數(shù)來計算兩個特征向量的距離,最后通過最小化網(wǎng)絡(luò)度量損失,來尋找一個最優(yōu)的映射f

x

。使得相同行人兩張圖片的距離盡可能小,不同行人圖片盡可能大。如下圖:Triplet

Loss是度量學(xué)習(xí)的一種基準(zhǔn)損失函數(shù),Anchor(錨示例)(是指選擇的已知ID的示例,正示例、負(fù)示例都要以Anchor作為參照)、Positive(正示例,與Anchor

ID相同)、Negative(負(fù)示例,與Anchor

ID相反),通過優(yōu)化讓錨示例與正示例的距離盡可能的小,讓錨示例與負(fù)示例的距離盡可能的大來解決Re-id問題。圖片來源:arXiv:1503.03832v3[cs.CV]17Jun2015FaceNet:A

Unified

Embedding

for

FaceRecognitionandClustering01Market1501行人重識別數(shù)據(jù)集Market1501數(shù)據(jù)集簡介Market-1501數(shù)據(jù)集在清華大學(xué)校園中采集,夏天拍攝,在2015年構(gòu)建并公開。它包括由6個攝像頭(其中5個高清攝像頭和1個低清攝像頭)拍攝到的1501個行人、32668個檢測到的行人矩形框。每個行人至少由2個攝像頭捕獲到,并且在一個攝像頭中可能具有多張圖像。訓(xùn)練集有751人,包含12,936張圖像,平均每個人有17.2張訓(xùn)練數(shù)據(jù);測試集有750人,包含19,732張圖像,平均每個人有26.3張測試數(shù)據(jù)。3368張查詢集圖像的行人檢測矩形框是人工繪制的,而gallery候選集中的行人檢測矩形框則是使用DPM檢測器檢測得到的。該數(shù)據(jù)集提供的固定數(shù)量的訓(xùn)練集和測試集均可以在single-shot或multi-shot測試設(shè)置下使用。該數(shù)據(jù)集僅用于學(xué)習(xí)和學(xué)術(shù)研究,不能用于商業(yè)目的。02bounding_box_test——用于測試集的750人,包含19,732張圖像,前綴為0000表示-1表示為垃圾圖片,也就是不完整圖片,可以圖僅拍攝到了四肢等情況。bounding_box_train——用于訓(xùn)練集的751個不同的人,包含12,936張圖像。訓(xùn)練集中沒有與測試集中的人。query——為750人在每個攝像頭中隨機(jī)選擇一張圖像作為query,因此一個人的query最多有6個,共有3,368張圖像,都來自測試集。gt_query——對query集中3,368張圖像加注了好或壞的標(biāo)簽,可用于圖像質(zhì)量評估。gt_bbox——包括對25259張圖片手工標(biāo)注的bounding

box,這些圖片來自訓(xùn)練集和測試集中的1501個人的照片。可用于判斷DPM檢測的bounding

box是不是一個好的box。Market1501行人重識別數(shù)據(jù)集Market1501數(shù)據(jù)集簡介02

02Market1501行人重識別數(shù)據(jù)集圖片命名規(guī)則圖片命名規(guī)則:0001_c1s1_000151_01.jpg為例:0001表示每個人的標(biāo)簽編號,從0001到1501;c1表示第一個攝像頭(camera1),共有6個攝像頭;s1

表示第一個錄像片段(sequece1),每個攝像機(jī)都有數(shù)個錄像段;000151表示c1s1的第000151幀圖片,視頻幀率25fps;01表示c1s1_001051這一幀上的第1個檢測框,由于采用DPM檢測器,對于每一幀上的行人可能會框出好幾個bbox。00表示手工標(biāo)注框。圖片來源:Market1501數(shù)據(jù)集Market1501行人重識別數(shù)據(jù)集Junk

imageMarket1501在采樣圖片時候,會采樣到一些垃圾圖片,這種圖片只拍攝到部分肢體,例如:腳、手、上半身、沒有訓(xùn)練價值的圖像。在訓(xùn)練階段時,會選擇刪除掉這些這些以0000和-1開頭的圖片。02圖片來源:Market1501數(shù)據(jù)集

03Pytorch實現(xiàn)行人重識別數(shù)據(jù)集管理器data_manager在數(shù)據(jù)集管理器,首先指定各個文件路徑:使用變量來存儲訓(xùn)練集、測試集(查詢集和畫廊)的文件夾路徑,這里定義了一個__process_dir函數(shù)它會返回數(shù)據(jù)集(包括圖片路徑img_path,圖片id(pid),相機(jī)id(camid等))以及圖片id數(shù)量(num_pids),圖片數(shù)量(num_imgs)。通過__process_dir獲取了這些值后,再利用print打印出來。

03Pytorch實現(xiàn)行人重識別數(shù)據(jù)集管理器_process_dir函數(shù)使用re.compile,來提取每張圖片的類別值和攝像頭的id值。其中pid_container集合對象來存儲圖片類別值,使用pid2label字典類型來存儲圖片的類別值與索引值。這里如果relabel為true就將索引值來充當(dāng)圖片類別值。最后為dataset列表添加圖片路徑、圖片類別id、以及攝像頭的id值。返回dataset,num_pids,num_imgs,其中num_pids,num_imgs只是做統(tǒng)計用的,最重要的是dataset。Pytorch實現(xiàn)行人重識別圖像數(shù)據(jù)庫類ImageDatasetImageDataset(圖像數(shù)據(jù)庫類)和之前介紹的一樣需要重載之前的__getitem__()方法和__init__()方法。這里__getitem__()方法可以對圖片進(jìn)行預(yù)處理并返回每張圖片的img,pid,

camid信息。它通過調(diào)用read_image來完成數(shù)據(jù)的加載。03

03Pytorch實現(xiàn)行人重識別網(wǎng)絡(luò)模型ResNet50由于原ResNet是用于ImageNet庫的模型,該庫有1000個類別,所以最后的全連接層為1000個神經(jīng)元。這里需要將ResNet最后一層變換為Market1501的數(shù)據(jù)集類別數(shù)num_classes.如圖所示:將原始模型的fc層(2048,1000)變成了(2048,num_classes),訓(xùn)練時num_classes=751,測試時為750。Pytorch實現(xiàn)行人重識別Softmax

損失函數(shù)crossEnttropyLoss(交叉熵?fù)p失)多分類任務(wù)中輸出的是目標(biāo)屬于每個類別的概率,所有類別概率的和為1,其中概率最大的類別就是目標(biāo)所屬的分類。而softmax函數(shù)能將一個向量的每個分量映射到[0,1]區(qū)間,并且對整個向量的輸出做了歸一化,保證所有分量輸出的和為1,正好滿足多分類任務(wù)的輸出要求。所以,在多分類中,在最后就需要將提取的特征經(jīng)過softmax函數(shù)輸出為每個類別的概率,然后再使用交叉熵作為損失函數(shù)。03Pytorch實現(xiàn)行人重識別優(yōu)化設(shè)計部分Init_optim在初始化,可以訓(xùn)練不同的訓(xùn)練策略,有Adam、SGD(隨機(jī)梯度下降)、RMSprop。SGD每次更新時對每個樣本進(jìn)行梯度更新,對很大的數(shù)據(jù)集來說,可能會有相似的樣本,SGD一次只進(jìn)行一次更新,就沒有冗余,而且比較快,并且可以新增樣本。RMSprop使用了指數(shù)加權(quán)平均,旨在消除梯度下降中的擺動,與動量(Momentum的效果一樣),某維度的導(dǎo)數(shù)比較大,則指數(shù)加權(quán)平均就大,某一維度的導(dǎo)數(shù)比較小,則其指數(shù)加權(quán)平均就小,這樣就保證各維度導(dǎo)數(shù)都在一個量級,進(jìn)而減少擺動。Adam自適應(yīng)學(xué)習(xí)率的方法相當(dāng)于RMSprop+Momentum,一般會選擇Adam比其他自適應(yīng)方法效果要好。03Pytorch實現(xiàn)行人重識別模型訓(xùn)練Train訓(xùn)練函數(shù)參數(shù)有epoch(循環(huán)次數(shù))、model(模型)、critertion_loss(分類損失函數(shù))optimizer(優(yōu)化器)、trainloader(數(shù)據(jù)加載器)、use_gpu(GPU調(diào)度器)。主要過程還是在for循環(huán)體里面,具體過程還是讀取數(shù)據(jù),通過模型得到最終特征,然后放入損失函數(shù)中,反向傳播、更新參數(shù)。并且打印訓(xùn)練過程中的信息。03Pytorch實現(xiàn)行人重識別模型測試測試集是由(qurey庫與gallary庫組成)測試集函數(shù)主要是利用模型qurey特征和gallary特征,然后使用度量函數(shù)利用歐式距離或者余弦距離對qurey和gallary進(jìn)行特征度量,以最小距離作為模型的預(yù)測類別值,在與ground

true進(jìn)行比對判斷是否評估正確。如下代碼是分類提取出qurey和gallary庫中圖像的特征保存在qf與gf變量中。03Pytorch實現(xiàn)行人重識別模型評估指標(biāo)使用評估指標(biāo)CMC和mAP,采用歐式距離對qf和gf進(jìn)行度量。其中,CMC表示top-k的擊中率,主要用來評估數(shù)據(jù)集中的rank正確率,代碼中設(shè)定為rank1、rank5、rank10、rank20來表示,即前1,前5,前10,前20張的正確率是多少。mAP是指所有類別的平均精確度是多少,它用于衡量所有類別的好壞。 x2

?x1

2

+y2

?y1

2二維空間的歐式距離公式:03=pPytorch實現(xiàn)行人重識別模型運行過程信息上面介紹就是基準(zhǔn)網(wǎng)絡(luò)Resnet50訓(xùn)練行人重識別數(shù)據(jù)集主體代碼,模型訓(xùn)練效果如下圖所示:首先會打印出數(shù)據(jù)集信息內(nèi)容,包括train訓(xùn)練集,id數(shù)751,和images圖像數(shù)量12936等信息。然后開始訓(xùn)練,并打印

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論