?

融合二維姿態信息的相似多目標跟蹤

2020-11-02 11:53雷景生李譽坤楊忠光
計算機工程與設計 2020年10期
關鍵詞:檢測器姿態卷積

雷景生,李譽坤,楊忠光

(上海電力大學 計算機科學與技術學院,上海 200090)

0 引 言

近年來,計算機視覺技術發展迅速,其中多目標跟蹤算法的研究備受國內外學者的關注。在這些研究中,主要方式是用度量學習提取目標核心特征,根據特征差異完成多目標跟蹤,例如Person Re-ID[1];或者基于深度神經網絡提取目標特征并引入濾波器與匹配算法以此關聯相鄰幀的目標身份信息實現多目標跟蹤,如POI[2]、SORT[3]、Deep SORT[4]。上述主流的目標跟蹤方式在道路、商場等大多數生活場景中都能完成精確度較高的實時移動目標跟蹤任務,但在移動目標較為相似的工廠工作場景中,傳統的跟蹤算法大多不能發揮良好的效果,其算法局限性在于工廠工作環境下,工作人員被要求穿著統一的工作服,佩戴安全帽,這樣不同目標間的特征不能明顯被區分,因此僅根據外觀特征無法完成正確的跟蹤任務。

為解決相似多目標場景下的跟蹤難題,本文在傳統的跟蹤算法之上融入其它維度的信息輔助判定目標身份完成跟蹤,其主體流程分為目標檢測和跟蹤兩個階段,通過對比fast R-CNN[5]、faster-RCNN[6]、SSD[7]、YOLO V2[8]、YOLO v3[9]等算法選擇高效精確的目標檢測器并對Deep SORT算法進行改進,根據相鄰幀之中相同目標的姿態相似,不同目標的姿態特征區分度較高這一特性將目標的人體姿態特征信息與跟蹤算法相融合,在姿態的維度放大目標特征,消除相似目標外觀特征區分度低造成的消極影響,提高多目標跟蹤的準確度。

本文以相關理論介紹、算法實現和實驗分析對比3個方面闡述相似多目標場景下的多目標跟蹤方案,本文的主要貢獻包括:①對存在相似多目標場景提出新穎的跟蹤方案。②在目標跟蹤算法的目標檢測階段,對比多種算法,篩選出最高效的檢測框架。③多目標跟蹤過程中減少了目標身份互換次數,并解決目標短暫遮擋后無法繼續跟蹤的問題。

1 相關理論

1.1 二維人體姿態識別

本文中使用的人體姿態信息根據OpenPose[10]算法計算得出,該算法由美國卡耐基梅隆大學提出,并開源為學者提供研究,OpenPose是首個基于深度學習實現的多人實時姿態識別算法,其主要做法是利用PAFs(part affinity fields)將人體圖像劃分為13個關鍵信息點并將其鏈接,從而進行人體動作、面部表情、手指運動等姿態估計。

OpenPose中采用的網絡結構如圖1所示,該網絡分上下兩個分支,每個分支都有t個階段,每個階段都會將feature maps進行融合。

圖1 OpenPose網絡結構

1.2 Deep SORT算法

Deep SORT算法采用傳統的單假設跟蹤方法,采用遞歸卡爾曼濾波和逐幀數據關聯來進行多目標的檢測跟蹤。系統核心組件如下:

軌道處理和狀態估計:該算法使用一個標準的卡爾曼濾波器并采用線性觀測模型和勻速模型。算法的跟蹤場景定義在包含目標狀態(u,v,γ,h,x,y,γ,h)的八維狀態空間上,其參數表示檢測框的中心位置信息、縱橫比信息、高度信息,以及速度信息。

目標分配:用匈牙利算法求解卡爾曼預測狀態與測量值之間的分配問題。算法通過結合兩個度量方式來整合運動和外觀信息。① 馬哈拉諾比斯距離簡稱馬氏距離,表示數據的協方差距離,它能夠有效計算兩個不同維度不同特征樣本集間的相似度,馬氏距離度量的優勢是它是可學習的,以數據為驅動,通過對樣本進行訓練,得到能夠滿足用戶給定的約束條件和反映樣本特性的距離度量矩陣。② 對于每個邊界框檢測,計算目標外觀特征與每個軌跡中目標的外觀特征的最小余弦距離。③ 采用融合度量學習的方法,設置權重系數,對兩種度量方式進行加權平均,使用匈牙利算法對track和detect進行最優分配。最終算法結合兩種度量方式的優勢,及考慮到了目標的運動信息又可將外觀信息加以輔助判斷。

級聯匹配:如果在跟蹤時,目標對應的軌跡被遮擋了一段較長的時間,卡爾曼濾波預測的不確定性就會增加。如果此時有多個追蹤器同時匹配同一個目標的檢測結果,由于遮擋時間較長的軌跡長時間未更新位置信息,導致卡爾曼濾波預測的位置會出現比較大的偏差,使得檢測結果更可能和遮擋時間較長的那條軌跡相關聯,從而降低跟蹤算法的性能。本文采用關聯算法與優先分配策略,首先從小到大匹配消失時間相同的軌跡,保障了最近出現目標的優先權,其次將未匹配的軌跡更具IoU指標進行分配,最大程度緩解遮擋或者外觀信息突變造成的不良影響。

深度外觀描述符:通過使用簡單的最近鄰查詢而不需要額外的度量學習。算法使用卷積神經網絡提取目標外觀特征,構建了wide ResNet,其中有兩個卷積層,后面是6個剩余塊。在全連接層10中計算出了尺寸為128的總體特征圖。

2 融合二維姿態信息的相似多目標跟蹤框架與算法

本文提出融合二維姿態信息的相似多目標跟蹤框架來解決相似多目標跟蹤問題,框架主要由目標檢測器、姿態提取器和目標跟蹤器組成,其中目標檢測器包含基于YOLO v3的目標檢測算法,姿態提取器包含二維人體姿態估計算法,目標跟蹤器包含信息融合算法、目標指派算法和級聯匹配算法。整體算法流程如圖2所示。

2.1 制作與準備數據集

目標檢測階段數據集:由于本文算法采用YOLO v3作為目標檢測器,因此需要制作出相似目標場景下的數據集,用于訓練目標權重模型。本文實驗在訓練模型時準備了1000張工廠場景下的圖片,利用LabelImage標注出圖像中的工作人員制作出VOC數據集用來訓練。由于本文算法僅對相似的工作人員做跟蹤,所以在標注階段僅僅只需對圖像中的工作人員以person類進行標注。

圖2 DeepSORT算法流程

多目標跟蹤階段數據集:本文使用兩個數據集對算法進行分別測試,本文用此數據集驗證算法是否具有可靠的跟蹤能力。另一個測試集是包含相似多目標的特殊場景數據集。此數據集是4320幀組成的視頻,該視頻中存在3個工作人員目標,并頻繁出現目標交叉遮擋,以此數據集對比本文算法與其它跟蹤算法,討論本算法在特殊場景下的跟蹤優勢。

2.2 目標檢測算法的實現

使用Deep SORT進行目標需要先進行目標檢測,目標檢測的質量對于后期的目標跟蹤至關重要,因此需要選擇精確且高效的目標檢測算法。本文在目標檢測階段先制作了以存在相似目標的工作環境為基礎的圖片數據集,然后在該數據集上對faster-RCNN、SSD、YOLO v3這3種目標檢測框架進行對比,對比結果見實驗部分。最終確定了速度與精度俱佳的YOLO v3框架,YOLO v3是基于深度卷積神經網絡的目標識別和定位算法,整個網絡結構只由卷積層組成,輸入的圖像僅僅經過一次網絡就能完成目標的分類與定位,所以檢測速度比較快,能夠滿足變電站實時性要求。它創造性的將目標候選區域選擇與識別這兩個階段任務合成一個,僅僅使用一次特征提取,就能準確地檢測出目標并定位其位置。算法實現部分如下:

將數據集圖像70%作為訓練集,30%作為驗證集訓練工作人員模型權重;首先對圖像進行特征提取。

算法使用了darknet-53神經網絡結構,如圖3所示,采用殘差網絡的思想,交替使用3×3與1×1卷積神經網絡,簡化了resnet神經網絡,加快訓練速度。

圖3 YOLO v3網絡結構

由于只需對工作人員這一種類別進行檢測,所以訓練時需要把特征圖輸出張量深度設為18:每個網格單元預測3個檢測框,每個檢測框需要有5個基本參數和1個類別的概率。所以3*(5+1)=18。

確定檢測框的方式是通過神經網絡將圖像劃分為13×13的網格檢測目標,若目標存在則每個網格生成3個檢測框并計算相應的置信度,其中每個檢測框有5個預測值(X,Y,W,H,Conf),X與Y是預測框的中心相對于單元邊界的偏移,W和H是預測的框寬度與整個圖像的比率,Conf表示檢測框的置信度。Pr(class|object)代表網格預測行人的條件概率。在檢測時,將條件概率乘以不同檢測框置信度的預測值,以獲得每個檢測框工作人員類別的置信度分數。

整個訓練過程中激活函數選用leaky ReLU;損失函數為坐標誤差、IoU誤差和分類誤差的總方誤差

(1)

其中,i代表網格單元,最大值是S的平方,j為邊界框預測值,最大值為B,w和h是邊界框的寬度和高度,x和y代表邊界框中心坐標。

其它參數選擇方面,本文通過實驗結果對比進行不斷調優,最終對比發現epoch為500時loss達到全局最優值12.4。

2.3 二維人體姿態估計

執行二維姿態估計模塊:本文將OpenPose算法進行修改,對移動目標的姿態進行識別,分析得出圖像中人體的二維姿態信息,并以18個人體關鍵點作為展示。具體算法流程如下:

(1)改進原始網絡:本文算法的核心是將二維姿態信息與跟蹤算法相結合,為提高算法的執行效率需優化姿態識別模塊的運行速度。本文將原來的7*7的卷積替換成1*1,3*3,3*3的卷積級聯。為了讓這個級聯結構與7×7的卷積核有同樣的感受野,使用dilation=2的空洞卷積。因為越大的卷積核,計算量也就越大,就感受野的大小來看,3個3*3的卷積等價于一個7*7的卷積,但是計算量卻少了很多。卷積核替換如圖4所示。

(2)輸入原始圖像,圖像經過構造好的卷積神經網絡生成一組特征映射集合F,網絡采用VGG pre-train network作為骨架,有兩個分支分別回歸L(p)和S(p)。每一個步驟算一次loss,之后為了區分左右結構,需要將L和S輸入連接層,繼續下一個步驟的深入訓練。loss用的L2范數,S和L的ground-truth需要從標注的關鍵點生成,如果某個關鍵點在標注中有缺失則不計算該點,最終完成part confidence maps和part affinity fields的提取。

(3)得到上述兩個信息后,使用圖論中的偶匹配求出部件關聯,將同一個人的關節點連接起來,最終合并為一個人的整體框架。

(4)最后基于PAFs求解多人姿態檢測。

圖4 OpenPose卷積核替換

2.4 融合二維姿態信息的跟蹤算法

本文從人體姿態歸一化的行人重識別方法中獲得啟發,將二維人體姿態信與Deep SORT跟蹤算法相結合并進行改進,算法流程如圖4所示。

(1)執行目標檢測:使用訓練好的YOLO v3針對工作人員的目標檢測模型作為Deep SORT算法的目標檢測部分。

(2)做狀態估計:將當前幀檢測到的目標坐標信息存入detection集合中,將歷史檢測到的目標坐標信息存入track集合中,如果detection集合為空集,就將丟失幀計數加1,若丟失幀計數超過設定閾值時,就認為該目標已消失,然后將該目標的歷史坐標信息從track中刪除,重新進行檢測。如果detection集合不為空,將丟失幀數計數置為0,繼續下一步。此外使用一個基于勻速模型和線性觀測模型的標準卡爾曼濾波器對目標的運動狀態進行預測,也即對track 集合進行預測得到包含預測結果的track_pre集合;采用卡爾曼濾波方法來跟蹤目標時,過程為:首先對輸入視頻幀中的目標采用YOLOv3 算法進行檢測,檢測得到目標當前時刻的狀態,包括目標的位置、寬高、速度加速度等信息,而后將這些參數作為卡爾曼濾波器的輸入,得到目標下一時刻的狀態估計;通過觀察得到下一時刻目標的觀測值并且通過觀測值對目標的跟蹤區域進行確定,最后結合下一時刻目標的觀測值與當前時刻目標的估計值,對當前時刻目標狀態的后驗估計值、狀態矩陣及相關參數進行更新。通過此過程對Kalman濾波器中的相關參數進行反復的更新,使得Kalman濾波器的估計值與實際值間的誤差越來越小。經過長時間的處理,卡爾曼濾波器能夠很好預測出目標的狀態,從而最終預測出移動目標的軌跡。

(3)融合姿態維度信息進行目標指派:使用馬氏距離計算物體檢測框dj和物體跟蹤框yi之間的距離d,公式為

d(1)(i,j)=(dj-yi)TSi-1(dj-yi)

(2)

使用余弦距離來度量各個軌道的外觀特征r(128維)和檢測目標外觀特征之間的距離,來更準確地預測ID,公式為

di,j(2)(i,j)=min{1-rjTrk(i)|rk(i)∈Ri}

(3)

其中外觀使用的是當前幀目標的二維姿態信息;最后使用聯合距離來作為代價矩陣進行度量各個軌道和檢測目標之間的距離。在軌道處理方面,本文對傳統DeepSort算法進行了改進,傳統方法認為單獨使用馬氏距離最為匹配度度量會導致身份轉換等情形嚴重,因此計算檢測目標和軌道的最新的100個目標進行計算最小余弦距離,選擇軌道中最近多個目標是因為同一個軌道中存放的是同一個目標的特征,而在本文實驗中,姿態特征代替了外觀特征,相同目標僅在相鄰幀中姿態特征相似,為此實驗中將軌道中100個目標更換成最新的1個目標,來計算姿態特征的余弦距離。

(4)進行級聯匹配:物體被遮擋一段時間后,卡爾曼濾波預測的不確定性大大增加并且狀態空間上可觀察性變得很低,并且馬氏距離更傾向于不確定性更大的軌道,因此這里引入級聯匹配,優先匹配檢測目標與最近出現的軌道。

(5)進行跟蹤優化:實驗發現,相似多目標跟蹤過程中常出現身份轉換問題,此類問題的出現是因為檢測目標匹配了錯誤的軌道,因此在算法中記錄每一個目標上一幀的位置,在完成級聯匹配后計算檢測目標與上一幀此身份目標檢測框的歐氏距離,當距離大于檢測框寬度的1/4時認定匹配錯誤,進行重新匹配身份。

經過使用融合二維姿態信息的DeepSORT算法之后,可以完成在模擬存在相似目標的工作場景監控視頻下的多目標跟蹤。

3 實驗與分析

實驗硬件環境:CPU:Intel Core i7-6700HQ,內存:8 GB,GPU:RTX2080 8 GB顯存,操作系統:Linux Ubuntu18.04,硬盤空間:80 GB。

軟件環境:pycharm集成開發環境、anaconda 3.7、python 3.6、keras 2.0.8、opencv 4.0和tensorflow 1.12等。

數據集見表1,1000張存在工作人員的場景照片制作的VOC格式數據集訓練YOLO模型,MOT16 CHALLENGE標準數據集,4320幀模擬存在相似移動目標的工作場景監控視頻。

表1 測試數據集

3.1 檢測階段算法分析

本文算法在目標檢測階段選用YOLO v3框架,用腳本文件生成損失函數的變化曲線與IoU變化曲線如圖5所示,其中loss隨訓練次數的增加呈現梯度下降趨勢,并在訓練300次左右下降趨勢逐漸趨于平緩,500次達到局部最優值12.4。IoU隨著訓練次數增加不斷提高。詳細結果如圖5所示。

圖5 YOLO v3 損失函數變化與IoU變化曲線

本實驗與YOLO V2檢測算法進行對比,見表2,在精確度方面提升1.2%,召回率提高1.9%,IoU提高1.7%。

表2 YOLO v3與YOLO v2對比

本文還對比了在單目標工作場景下,YOLO v3,YOLO v2,SSD這3種檢測算法作為DeepSort檢測器,檢測框中心點和實際目標中心的歐式距離,其中實際目標中心點為OpenPose人體姿態軀干的中心。繪制出的距離對比如圖6所示,其中折線圖斷點說明檢測算法在該幀未檢測到目標;此圖反映出YOLO v3作為檢測器能夠更準確檢測出目標。

3.2 相似多目標跟蹤實驗結果分析

本文評估了跟蹤器在MOT16 CHALLENGE數據集上的效果,見表3,基準測試包括由7個序列組成的訓練和測試集,比較了其它已發表的方法,全表結果[11]可以在MOT16 CHALLENGE網站上找到。

表3 MOT16 CHALLENGE數據集上測試結果對比

由于MOT16 CHALLENGE數據集上多目標之間差異較大,每個行人都穿著不同服裝,這使得在此環境中外觀信息的作用大于二維姿態信息,故在跟蹤效果上略優于本文算法;其次計算二維人體姿態估計算法計算量巨大,十分依賴GPU運算性能,所以在處理頻率略慢,fps維持在3.4左右。實驗結果表明本文算法在多目標跟蹤的精確性(MOTP)和準確度(MOTA)上與傳統的Deep SORT跟蹤算法相似,具備較為精確的目標跟蹤能力。

圖6 目標檢測框中心與目標中點距離

為突出本文算法在存在相似目標環境中的跟蹤優勢,使用模擬存在相似目標的視頻作為數據集,將本文算法和其它算法進行了詳細對比,如圖7所示。由于本文實驗在建立在DeepSORT跟蹤算法之上,并融合二維人體姿態信息進行改進,所以對比算法選用Deep SORT。其中在Deep SORT跟蹤算法中,目標檢測算法對跟蹤的精確度有著直接影響,所以本文將使用YOLO v3作檢測器并融合二維姿態的多目標跟蹤算法與基于SSD、YOLO v2、YOLO v3作檢測器的傳統Deep SORT算法在MOTA(multiple object tracking accuracy)和MOTP(multiple object tracking precision)兩個指標上進行對比

(4)

(5)

圖7 相關算法對比

當前幀預測的軌道和檢測目標沒有匹配上的這類錯誤預測軌道點稱為FP,未被匹配的Ground Truth點稱為FN,IDSW為Ground Truth所分配的ID發生變化的次數,GT為Ground Truth目標的數量。

本文采用模擬存在相似多目標工作場景下的視頻進行實驗,其中存在最多移動目標為4人,視頻共4320幀。算法1是SSD作檢測器的DeepSort算法;算法2是YOLO v2作檢測器的DeepSort算法;算法3是YOLO v3作檢測器的傳統DeepSort算法,本文算法是YOLO v3作檢測器融入姿態信息的改進DeepSort算法。

實驗結果表明,在模擬的存在相似多目標的數據集中,本文算法與對比算法相比有著很大的優勢,這歸功于YOLO v3精確的目標檢測和二維姿態信息的輔助跟蹤。實驗中,以SSD和YOLO v2作為檢測器的Deep SORT算法一有嚴重的目標丟失和目標身份互換現象,在已檢測的目標中,檢測框與實際目標有一定的距離偏差,如圖8所示。而采用YOLO v3的Deep SORT算法中跟蹤目標未匹配和錯誤匹配的次數明顯降低,這反映出YOLO v3框架更適合作為跟蹤算法的檢測器;本文算法與同樣使用YOLO v3作檢測器的傳統算法相比MOTA與MOTP均有上升,約提升3%,也有更低的FP、FN、IDSW。隨著視頻時長的增加,這一優勢會更加明顯。

圖8 YOLO v2算法、SSD的算法缺陷

如以上實驗結果所述:Deep SORT算法檢測階段的準確度對跟蹤結果有著決定性的影響。在YOLO v2和SSD識別框架中,其準確率的差距被放大,頻繁出現目標丟失及目標身份轉換等問題,兩幀圖像中共有兩個移動目標,第一張圖像右側目標檢測框與目標存在一定偏差,第二張圖像未能檢測到目標。此外使用YOLO v2檢測器的跟蹤算法在未檢測到目標之外還出現了誤檢測現象,檢測框內沒有目標。以上錯誤均是因為檢測器沒有準確將移動目標識別,故濾波器不能獲取目標正確位置,不能進行預測后續目標位置完成準確跟蹤。

由于存在相似目標,傳統的DeepSORT算法的外觀信息沒能良好地發揮效能,因此在目標重合再分離之后會出現身份交換問題。對比實驗結果表明,本文使用的融合了姿態信息的DeepSORT算法,在包含相似目標的場景下均優于對比實驗中的3種算法,YOLO v3識別框架具有更高的識別精度,采用二維姿態信息代替外觀信息有效提高跟蹤算法的性能,改進的跟蹤算法有效減少了目標丟失概率且降低了身份互換次數如圖9所示。

圖9 本文算法最終跟蹤結果

4 結束語

本文針對傳統多目標跟蹤算法在存在相似目標的場景下精度不高、效率不足的問題,提出了以DeepSORT算法為基礎融合二維姿態信息的相似多目標跟蹤算法,并對算法進行了實驗。算法先進性體現為:① 實驗結果驗證了本文算法在相似多目標工作場景下跟蹤的準確性;② 算法具有較高的魯棒性,在目標出現短暫遮擋和消失時仍然能完成跟蹤;③ 與其它算法相比降低了目標身份轉換的情況;但另一方面,本文算法的適應性受場景中移動目標數量的影響,場景中存在的目標越多,目標間的遮擋越多,二維場景中的相似姿態多,跟蹤難度就越大。為此在未來的工作中,我們打算采取構建三維模型,融合多視點信息進行多目標跟蹤的思路,致力于通過場景重建將二維姿態轉化為三維姿態信息,以全面提高算法準確度與場景適應性。

猜你喜歡
檢測器姿態卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
攀爬的姿態
卷積神經網絡的分析與設計
從濾波器理解卷積
基于二次否定剪切選擇的入侵檢測方法*
全新一代宋的新姿態
跑與走的姿態
基于傅里葉域卷積表示的目標跟蹤算法
車道微波車輛檢測器的應用
一種柱狀金屬物質量檢測器的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合