<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          基于深度學(xué)習(xí)的人員跟蹤

          共 4140字,需瀏覽 9分鐘

           ·

          2020-08-27 15:35


          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)



          在不斷進(jìn)步的現(xiàn)代科技中,我認(rèn)為最偉大的是我們?cè)谑褂?jì)算機(jī)具有類(lèi)似于人的感知能力方面取得了進(jìn)步。以前訓(xùn)練計(jì)算機(jī)使它像人一樣學(xué)習(xí)、做出像人一樣的行為是很遙遠(yuǎn)的夢(mèng)想。但現(xiàn)在隨著神經(jīng)網(wǎng)絡(luò)和計(jì)算能力的進(jìn)步,夢(mèng)想逐漸成為現(xiàn)實(shí)。


          CNN


          視覺(jué)智能是CNN(卷積神經(jīng)網(wǎng)絡(luò))提供給計(jì)算機(jī)的。卷積神經(jīng)網(wǎng)絡(luò)是一種優(yōu)雅的計(jì)算機(jī)制可以在圖像或視頻上運(yùn)行,以便從圖像或視頻中提取一些信息。提取的信息允許用來(lái)進(jìn)行機(jī)器學(xué)習(xí)任務(wù),例如圖像分類(lèi)和目標(biāo)定位。


          目標(biāo)檢測(cè)通過(guò)在目標(biāo)周?chē)L制邊界框來(lái)定位視頻幀或圖像中的目標(biāo)。我們可以將人員跟蹤視為目標(biāo)檢測(cè)的一種形式——目標(biāo)是人!在開(kāi)始之前,先概述一下基本概念及原理。


          1 基礎(chǔ)知識(shí)


          人員跟蹤的工作原理:

          1.在視頻的第一幀中檢測(cè)到每個(gè)人周?chē)倪吔缈颍瑘D像的每個(gè)邊界框區(qū)域生成一個(gè)128維向量。該步驟可視為將邊界框區(qū)域編碼為一個(gè)128個(gè)維的向量。

          2.為圖像中的所有人員生成這種向量以及邊界框坐標(biāo)。存儲(chǔ)這些向量,并對(duì)視頻的下一幀執(zhí)行上述向量生成步驟。

          3.比較所有向量,在“下一幀”中找到相似的向量,并相應(yīng)地標(biāo)記邊界框。


          這里深入研究的論文是:A Simple Baseline for Multi-Object Tracking. 這篇出色的論文改變了我們解決目標(biāo)跟蹤問(wèn)題的方式。早期人們使用兩階段檢測(cè)器(TSD)方法來(lái)解決類(lèi)似問(wèn)題。但本文針對(duì)此問(wèn)題增強(qiáng)了單階段檢測(cè)(SSD)技術(shù),提高了推理速度和準(zhǔn)確性。


          兩階段檢測(cè)器:

          在這種類(lèi)型的檢測(cè)器中,需要兩個(gè)處理階段:模型的一部分檢測(cè)到邊界框,提取邊界框區(qū)域發(fā)送到模型的另一部分,利用CNN生成128維特征向量。


          階段檢測(cè)器:

          這種類(lèi)型的檢測(cè)器,僅包含一個(gè)處理階段:圖像被送到模型中,僅通過(guò)一次即可生成輸出。在TSD中,必須先產(chǎn)生候選邊界框區(qū)域,之后剪切邊界框區(qū)域進(jìn)行特征提取處理。


          鳥(niǎo)瞰圖:

          詳細(xì)信息可以參考https://www.reddit.com/r/MachineLearning/comments/e9nm6b/d_what_is_the_definition_of_onestage_vs_twostage/


          頭部:

          頭部是CNN結(jié)構(gòu)中負(fù)責(zé)特定任務(wù)的一部分。簡(jiǎn)而言之一個(gè)頭部通過(guò)執(zhí)行各種計(jì)算(涉及圖像的卷積)來(lái)生成一些數(shù)字,如何解釋和使用這些數(shù)字取決于我們。例如,我們有一個(gè)生成四個(gè)數(shù)字(x,y,w,h)集合的頭部,那么這四個(gè)數(shù)字可以表示邊界框坐標(biāo)。與此類(lèi)似不同的頭部產(chǎn)生不同的數(shù)字,我們將根據(jù)自己的任務(wù)對(duì)數(shù)字進(jìn)行解釋。


          邊界框:

          邊界框由4個(gè)坐標(biāo)(x,y,w,h)組成,(x,y)通常代表一個(gè)中心點(diǎn),(w,h)代表寬度和高度。因此對(duì)圖像執(zhí)行一些計(jì)算,頭部輸出一組4維坐標(biāo)那么代表邊界框坐標(biāo)。


          錨框:

          是一組預(yù)定義的數(shù)字(四個(gè)數(shù)字),類(lèi)似于邊界框坐標(biāo)。我們重新縮放或移動(dòng)的它以便可以更接近圖像中的實(shí)際邊界框。

          放大后,錨框看起來(lái)像上面的圖像,但它們數(shù)量龐大,幾乎覆蓋了所有圖像的區(qū)域。想了解更多有關(guān)錨框的信息,請(qǐng)查看這篇文章:https://medium.com/@andersasac/anchor-boxes-the-key-to-quality-object-detection-ddf9d612d4f9


          2 實(shí)現(xiàn)


          利用深度學(xué)習(xí)跟蹤人分為兩個(gè)分支:1)目標(biāo)檢測(cè)分支;2)身份嵌入分支




          2.1目標(biāo)檢測(cè)分支


          模型的這一部分負(fù)責(zé)檢測(cè)圖像中的目標(biāo),輸出三組數(shù)字,將其組合以檢測(cè)圖像中存在的目標(biāo)


          1. 熱圖信息:生成代表對(duì)象熱圖的數(shù)字目標(biāo)熱圖將通過(guò)以下公式生成:

          目標(biāo)熱圖的公式

          其中N代表圖像中的物體數(shù)量,而σc代表標(biāo)準(zhǔn)偏差。為簡(jiǎn)單起見(jiàn),假設(shè)我們根據(jù)所有地面真框的中心創(chuàng)建目標(biāo)熱圖地面真值框的中心將具有很高的數(shù)值,并且隨著遠(yuǎn)離中心數(shù)值呈指數(shù)衰減。它將類(lèi)似于下圖

          根據(jù)真值框產(chǎn)生的熱圖為目標(biāo)圖像,該分支預(yù)測(cè)的目標(biāo)熱圖為預(yù)測(cè)圖像,我們可以根據(jù)此來(lái)定義損失使用隨機(jī)梯度下降進(jìn)行優(yōu)化神經(jīng)網(wǎng)絡(luò)的關(guān)鍵。更多有關(guān)SGD的信息參考https://towardsdatascience.com/stochastic-gradient-descent-clearly-explained-53d239905d31它能幫助訓(xùn)練我們的網(wǎng)絡(luò),使實(shí)際輸出與目標(biāo)輸出相似。


          2. 中心偏移信息:預(yù)測(cè)邊界框的中心它輸出一個(gè)數(shù)字解釋目標(biāo)邊界框的中心在哪里。


          3. 邊界框尺寸信息:預(yù)測(cè)邊界框的大小。通過(guò)組合中心偏移信息和框大小信息,可以生成預(yù)測(cè)的邊界框。然后將該預(yù)測(cè)邊界框與目標(biāo)邊界框進(jìn)行比較,并使用SGD計(jì)算和優(yōu)化損失,如前所述。


          2.2身份嵌入分支


          此分支負(fù)責(zé)生成與預(yù)測(cè)邊界框相對(duì)應(yīng)的圖像塊的向量表示,通常將圖像補(bǔ)丁(區(qū)域塊)的信息編碼為128維向量128維向量?jī)H是模型的此分支為每個(gè)邊界框預(yù)測(cè)生成的一組數(shù)字向量是相應(yīng)幀中跟蹤人物的關(guān)鍵。


          2.3結(jié)合



          我們研究了人員跟蹤難題的每個(gè)部分,并對(duì)這些部分有了基本的了解。讓我們將每個(gè)部分連接以獲得最終的結(jié)果


          從視頻的第一幀開(kāi)始視頻第一幀傳遞到網(wǎng)絡(luò)(CNN)并獲得4個(gè)輸出。

          1.熱圖輸出;

          2.中心偏移輸出;

          3.邊界框尺寸輸出;

          4.Re-ID(128維重識(shí)別特征向量)


          前三個(gè)輸出負(fù)責(zé)獲取圖像中目標(biāo)(人員)的邊界框第四個(gè)輸出表示對(duì)象的標(biāo)識(shí)由前三個(gè)輸出生成的邊界框表示產(chǎn)生。如果從前三個(gè)輸出預(yù)測(cè)有n個(gè)邊界框,則將有n個(gè)表示所有邊界框的128維向量標(biāo)識(shí)。


          現(xiàn)在,從第一幀開(kāi)始預(yù)測(cè)n個(gè)框及其對(duì)應(yīng)的Re-ID。我們將再次為下一幀生成Re-ID和邊界框,然后通過(guò)一些相似性函數(shù)比較所有Re-ID,如果相似度很高,可以將其標(biāo)記為與前一幀相同的人。通過(guò)這種方式可以處理整個(gè)視頻并逐幀進(jìn)行操作。


          2.4訓(xùn)練方式


          多種損失相結(jié)合來(lái)訓(xùn)練網(wǎng)絡(luò)。網(wǎng)絡(luò)訓(xùn)練是使用SGD的變體完成的。我將提供一些困難公式的高級(jí)詳細(xì)信息,將其組合起來(lái)用作損失函數(shù)來(lái)訓(xùn)練模型。注意:模型訓(xùn)練是使用稱(chēng)為反向傳播的方法完成的,即簡(jiǎn)單地使用微積分朝函數(shù)的最小值移動(dòng)——SGD的基本步驟)。


          不同的損失是:


          基本上,將所有這些損失綜合起來(lái)并進(jìn)行優(yōu)化,從而獲得訓(xùn)練有素的網(wǎng)絡(luò)。


          2.5總結(jié)理論


          總之,我們?yōu)闄z測(cè)到的每個(gè)邊界框使用網(wǎng)絡(luò)產(chǎn)生向量,然后把這些向量與下一幀產(chǎn)生的向量進(jìn)行匹配,并根據(jù)高度相似性進(jìn)行過(guò)濾,以跨多個(gè)幀跟蹤同一個(gè)人。


          2 人員跟蹤-代碼實(shí)現(xiàn)


          要從用于跟蹤的視頻生成輸出,您必須執(zhí)行以下5個(gè)簡(jiǎn)單步驟:


          第1步

          克隆git倉(cāng)庫(kù)到所需文件夾

          https://github.com/harsh2912/people-tracking

          存儲(chǔ)庫(kù)的原始代碼是:

          https://github.com/ifzhang/FairMOT

          對(duì)其進(jìn)行了一些更改,使其適合我們當(dāng)前的視頻人員跟蹤的任務(wù)


          第2步

          下載預(yù)訓(xùn)練模型

          https://github.com/harsh2912/people-tracking

          這將幫助我們生成所需的輸出將下載的模型放在models /文件夾中。


          3

          安裝依賴(lài)項(xiàng)安裝所需的依賴(lài)項(xiàng),以便腳本可以運(yùn)行。請(qǐng)確保具有支持CUDA的GPU,以便此過(guò)程可以正常進(jìn)行執(zhí)行以下操作:


          conda create -n FairMOTconda activate FairMOTconda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorchcd ${FAIRMOT_ROOT}pip install -r requirements.txtcd src/lib/models/networks/DCNv2_new sh make.sh


          在這里,您只需創(chuàng)建一個(gè)稱(chēng)為FairMOT的conda環(huán)境,即可在其中使用pip和conda管理器安裝所有Python依賴(lài)項(xiàng)。requirements.txt是包含所有必需庫(kù)的文件,pip安裝程序注意該文件。不要忘記運(yùn)行DCNv2的make文件。


          4

          開(kāi)始追蹤已完成所有設(shè)置,只需要運(yùn)行適用于給定視頻的Python腳本,然后生成輸出并將其保存在上述路徑中即可。我已將Python腳本命名為script.py,您可以根據(jù)需要對(duì)其進(jìn)行調(diào)用。


          該腳本具有三個(gè)輸入?yún)?shù):

          1.model_path(mp):保存模型的路徑

          2.video_path(vp):加載視頻的路徑

          3.output_directory(od)保存輸出的路徑輸出保存名稱(chēng)“ output.avi”

          轉(zhuǎn)到src文件夾并運(yùn)行下面命令,其中mp,vp和od是參數(shù)名稱(chēng)。


          cd srcpython script.py -mp ../models/all_dla34.pth -vp path_to_video -od path_to_save_video



          第5

          休息一下,等待模型輸出結(jié)果。這段時(shí)間中,輸出保存在相應(yīng)的目錄中。



          額外事項(xiàng)

          我上傳了一個(gè)名為Experiment.ipynb的iPython文件,您可以在其中調(diào)整不同的參數(shù)以發(fā)揮更多作用。它位于主存儲(chǔ)庫(kù)的src文件夾中。要了解不同參數(shù)的調(diào)整,請(qǐng)瀏覽原始存儲(chǔ)庫(kù)。請(qǐng)不要忘記在使用該文件時(shí)使用相同的conda環(huán)境



          參考


          1.論文:https://arxiv.org/abs/2004.01888

          2.原始倉(cāng)庫(kù):https://github.com/ifzhang/FairMOT


          流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 79
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  特黄A级毛片 | 超碰在线偷 | 精品国产99久久久久久www | 成年人在线观看网址 | 国产手机在线操你啦 |