《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于TLD的顧客進店實時檢測算法
一種基于TLD的顧客進店實時檢測算法
2016年微型機與應用第14期
張京娟,黃海于
(西南交通大學 信息科學與技術學院,四川 成都 611756)
摘要: 結合人臉檢測算法和跟蹤學習檢測算法(Tracking Learning Detection, TLD)完成多個人臉的檢測跟蹤,用來實現對汽車4S店顧客的實時進店檢測。由于采集圖像序列幀率低,導致幀間人臉姿態變化大,容易出現目標丟失現象。本文采用Kalman濾波和最鄰近數據關聯方法,提出一種改進的基于TLD的顧客進店實時檢測算法,有效改善了目標短暫丟失現象,增強了算法的魯棒性。實驗證明,該算法具有抵抗光線變化、小范圍形變和短暫遮擋的優點,能夠解決復雜環境中的實際問題。
Abstract:
Key words :

  張京娟,黃海于

  (西南交通大學 信息科學與技術學院,四川 成都 611756)

  摘要:結合人臉檢測算法和跟蹤學習檢測算法(Tracking Learning Detection, TLD)完成多個人臉的檢測跟蹤,用來實現對汽車4S店顧客的實時進店檢測。由于采集圖像序列幀率低,導致幀間人臉姿態變化大,容易出現目標丟失現象。本文采用Kalman濾波和最鄰近數據關聯方法,提出一種改進的基于TLD的顧客進店實時檢測算法,有效改善了目標短暫丟失現象,增強了算法的魯棒性。實驗證明,該算法具有抵抗光線變化、小范圍形變和短暫遮擋的優點,能夠解決復雜環境中的實際問題。

  關鍵詞:跟蹤學習檢測;人臉檢測;多目標跟蹤;Kalman;數據關聯

0引言

  本文主要是結合人臉檢測算法和跟蹤學習檢測算法完成多個人臉的檢測跟蹤,實現對汽車4S店顧客的實時進店檢測。

1跟蹤學習檢測算法簡介

  跟蹤學習檢測算法(TrackingLearningDetection, TLD)[1]是英國薩里大學的KALAL Z提出的一種新的跟蹤框架。該算法與傳統跟蹤算法的顯著區別在于將傳統的跟蹤算法和傳統的檢測算法相結合來解決被跟蹤目標在被跟蹤過程中發生的形變、部分遮擋等問題。同時,通過一種改進的在線學習機制不斷更新跟蹤模塊的“顯著特征點”和檢測模塊的目標模型及相關參數,從而使得跟蹤效果更加穩定、魯棒、可靠。

  TLD算法對單目標的長時間跟蹤由三部分組成:跟蹤、學習、檢測[2]。跟蹤器采用LucasKanade金字塔光流法在每幀圖像中跟蹤目標;檢測器確定所有出現目標的位置,并在必要的時候修正跟蹤器,其主要工作原理是隨機森林原理;學習過程采用PN學習法估計檢測器的錯誤并更新檢測器以避免相同的錯誤再次發生。TLD的整體框架結構圖[3]如圖1所示。

 

001.jpg

2顧客進店實時檢測系統中的視覺跟蹤問題

  汽車4S店的監控環境比較復雜:覆蓋面積大、背景復雜、光線變化大、客流量大,這些都給視頻監控分析帶來了許多困難[4],主要包括以下幾個方面:

  (1)光照影響:在現實環境中,由于汽車4S店四周采用的都是玻璃墻,隨著天氣的變化展廳內部的光線明暗變化特別大,容易導致背景改變和目標外觀變化而造成虛假檢測和錯誤跟蹤。

  (2)遮擋問題:汽車4S店的客流量相對較大,常常會出現大量人群聚集的情況,造成人與人之間的相互遮擋比較嚴重,同時人臉快速移動時會難以獲得清晰的人臉圖像。

  (3)實時性與魯棒性 :既要減少算法的計算量以保證實時性,又要增強算法對復雜情況的適應性,增強魯棒性,兩者是相互矛盾的。

3顧客進店實時檢測系統中的視覺跟蹤問題

  3.1基本思想

  首先利用人臉檢測算法在規定區域檢測到所有人臉,將其作為候選目標保存,然后利用TLD算法分別預測每個人臉在下一幀中出現的位置,對于跟蹤失敗的目標,通過對下一幀預測位置周圍區域的檢測,確定該范圍內人臉的個數,如果僅存在一個人臉,則該人臉所在的位置即為對應人臉下一幀的位置,更新該目標的位置信息;如果該范圍內的人臉多于一個,則分別計算人臉位置與Kalman預測位置中心坐標的距離d,取距離最小的人臉記為該跟蹤對象。最后對每個目標分別進行進店判斷,若判定目標進店,則對目標停止跟蹤,清除跟蹤信息。算法的流程圖見圖2。

  

002.jpg

  3.2初始目標的檢測

  由于原始圖像尺寸較大,在全圖中檢測人臉不僅耗費時間,而且是不必要的。因為檢測到的人臉只有一部分是顧客進店時捕捉到的人臉,只有這一部分是系統需要的,因此,為了區分目標人臉和非目標人臉,需要在原始圖像中劃分出店門區域作為人臉檢測區域,用于檢測顧客進店時刻的人臉作為人臉跟蹤的初始人臉。

  3.3基于卡爾曼濾波器的目標估計

  Kalman濾波器是一個對動態系統的狀態序列進行線性最小方差估計的算法[5],根據人臉運動的特點和Kalman濾波的原理,建立了人臉運動的Kalman運動模型。

  首先定義狀態矢量:

  X(k)={x(k),y{k},dx{k},dy{k}}T

  觀測向量:

  Z(k)={x(k),y(k)}T

  其中x(k)、y(k)表示人臉矩形中心坐標,dx(k)、dy(k)分別表示矩形在X軸和Y軸方向上的速度。

  狀態方程和觀測方程如下:

  X(k)=φ(k,k-1)×(k-1)(1)

  Z(k)=H(k)×X(k)+V(k)(2)

  其中φ(k+1,k)是狀態轉移矩陣,H(k)是觀測矩陣,V(k)是觀測過程中的噪聲向量。

  由于跟蹤過程中人臉的運動具有一定規律,且受人臉姿態變化和遮擋的影響較小,本文通過Kalman濾波預測目標在下一幀的位置(x(k),y(k)),結合TLD算法進行碰撞裁決,在下一幀的待選區域中尋找與其具有最大相似度的位置來作為此幀的目標位置,對跟蹤結果做進一步的預測,以避免和糾正人臉交叉所帶來的跟蹤錯誤。

  3.4目標更新

  為了實現對目標的自動初始化,需要定時啟動人臉檢測算法檢測進店顧客。由于原始圖像的采集幀率比較大,同時人臉檢測算法不僅耗時且占用CPU,如果對毎幀都進行人臉檢測則會導致計算機處理速度跟不上采集速度,耗時較多,無法達到實時性效果。因此,需要進行人臉跳幀檢測,既要保證檢測到所有的新目標,也要保證實時處理。具體方法是計算出顧客在店門區域內,必然能檢測到人臉的幀數,每隔若干幀啟動人臉檢測算法。對于檢測到的人臉,可能包含處在跟蹤狀態的目標和未跟蹤的目標,通過計算檢測到的目標與所有跟蹤狀態的目標的重疊度濾除已經在跟蹤隊列的目標,將新目標加入跟蹤隊列。

  3.5進店判斷

  若目標從圖像邊緣消失則立刻將該目標的所有信息刪除并退出跟蹤;若目標由于受到遮擋或干擾暫時消失使跟蹤器無法正確跟蹤,則將此目標的跟蹤狀態設置為LOST,如果在接下來的一定時間內仍然沒有出現就把該目標的所有信息刪除,并認為該目標已經退出場景。為了保證跟蹤算法的實時性,避免某些目標長期停留在跟蹤區域占用計算機資源,當跟蹤過程的幀數達到了N幀時,停止對這一個人跟蹤,將目標最后所處位置作為判斷目標是否進店的依據。

  3.6算法描述

  本文所提出的算法包括4個主要過程:初始目標檢測、TLD算法、Kalman濾波和目標更新。算法主要步驟如下:

  (1)初始化跟蹤目標數、檢測隊列、跟蹤目標隊列和跟蹤狀態隊列。

  (2)讀取一幀圖像,若目標數為零則轉步驟(1)進行目標更新。

  (3)啟動TLD算法,找到該目標把跟蹤結果存入目標隊列。

  (4)從跟蹤隊列中取出一個目標,若該目標的狀態為LOST,則依據該目標矩形區域的左上頂點和右下頂點的坐標(Xface1, Yface1)和(Xface2, Yface2)設置跟蹤檢測區域,設跟蹤檢測區域的左上頂點和右下頂點的坐標為(Xzone1, Yzone1), (Xzone2, Yzone2),中心坐標為(Xcenter, Ycenter),則:

  Widthzone=(Xface2-Xface1)×Rw

  Heightzone=(Yface2-Yface1)×Rh

  Xzone1=Xcenter-(Widthzone/2)

  Xzone2=Xcenter+(Widthzone/2)

  Yzone1=Y center-(Heightzone/2)

  Yzone2=Ycenter+(Heightzone/2)

  其中Rw和Rh為縮放因子。

  在上面的跟蹤檢測區域中進行人臉檢測,若沒有檢測到人臉則轉步驟(4);若檢測到一張人臉則更新目標位置轉步驟(4);若檢測到多張人臉,采用Kalman濾波器利用目標在上一幀的位置X(k-1)預測在下一幀中的位置為(k),采用最鄰數據關聯方法[6]匹配臨時目標隊列中與(k)距離最近的目標,此目標作為持續跟蹤的目標,并且更新濾波器狀態,將結果放入跟蹤隊列轉步驟(4)。最后轉步驟(5)。

  (5)重復直到所有目標組均處理完畢。

  (6)若此幀標號是7的倍數則轉步驟(7)否則轉步驟(2)。

  (7)啟動人臉檢測,將檢測到的所有人臉位置信息存入檢測隊列。利用表決制把檢測隊列中的目標與跟蹤隊列中的目標進行匹配并更新跟蹤信息,若無匹配目標,則把該目標作為新目標添加到跟蹤隊列中并初始化跟蹤信息。重復上述操作直至檢測隊列中所有的目標處理完畢。清空檢測隊列并轉步驟(2)。

4實驗與分析

  本實驗采用的工業相機像素為500萬,幀率為14 f/s,采集包含多個人臉的BMP圖像序列,原始圖像尺寸為2 592×1 944,實驗平臺為Intel I74790 3.60 GHz、內存8 GB、固態硬盤512 GB的工作站,以Visual Studio 2010和 OpenCV2.4.9為開發平臺,編程實現了上述算法。

  4.1進店檢測

  利用本文改進的TLD算法對一段在汽車4S店采集的圖像序列中的人臉進行跟蹤。 圖3是跟蹤結果, 圖3(a)為第2幀中檢測到1號目標,圖3(b)為第49幀中檢測到2號目標,圖3(c)為第63幀中目標姿態發生變化后正常跟蹤,圖3(d)為第70幀中1號目標走出場景后結束跟蹤,圖3(e)為第82幀中2號目標走出場景后結束跟蹤。實驗測試表明,該顧客進店實時檢測算法對進店顧客的統計準確率可達90%以上,能夠抵抗一定程度人臉姿態變化,且處理延時平均在20 s以內,基本滿足了實時性的要求。

  

003.jpg

  4.2目標丟失后的跟蹤

  利用原始TLD算法、CT(Compressive Tracking)算法以及本文改進的TLD算法對一段在汽車4S店采集的圖像序列中的人臉進行跟蹤。 圖4是對圖像序列2采用TLD算法的跟蹤結果,圖5是采用CT算法的跟蹤結果,圖6是采用本文改進的TLD算法的跟蹤結果。

 

004.jpg 

005.jpg

  對比圖4和圖5可以看出,相對于CT算法TLD算法沒有出現模板漂移的現象;對比圖4和圖6可以看出,采用原始TLD算法,當其中一個目標丟失后,在接下來的幀中一直處在丟失狀態,而采用本文算法能夠重新找回丟失的目標繼續跟蹤,在一定程度上增強了算法的魯棒性,提高了算法的準確性。

5結論

  本文提出一種基于TLD改進的顧客進店實時檢測算法,首先對目標人臉進行檢測,利用TLD對目標人臉進行跟蹤,預測其在下一幀中的位置,在TLD的檢測器中引入基于Kalman的濾波器,對當前幀目標所在區域進行預估,縮小了檢測器的檢測范圍,提高了檢測器處理速度。對于跟蹤失敗的目標,在其附近區域檢測人臉;對于檢測到的人臉根據最鄰近數據關聯方法和Kalman濾波來確定最可能的位置。對于諸如交叉和部分遮擋等較為復雜的環境,本文算法仍然能夠較準確地同時對多個人臉進行跟蹤。

參考文獻

  [1] KALAL Z,MIKOLAJCZYK K,MATAS J.Trackinglearningdetection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,6(1),114.

  [2] KALAL Z, MIKOLAJCZYK K, MATAS J. FACETLD:trackinglearningdetection applied to faces[C]. IEEE International Conference on Image Processing(ICIP),2010:37893792.

  [3] 周鑫,錢秋朦,葉永強,等.改進后的TLD 視頻目標跟蹤方法[J].中國圖象圖形學報,2013,18(9):11151123.

  [4] 郭暉, 陳光. 基于OpenCV的視頻圖像處理應用研究[J]. 微型機與應用, 2010, 29(21):1416.

  [5] 梁娟, 項俊, 侯建華. 基于Camshift和Kalman濾波的自動跟蹤算法[J]. 微型機與應用, 2011, 30(24):2831.

  [6] 閆輝,許廷發,吳青青,等. 多特征融合匹配的多目標跟蹤[J].中國光學,2013,6(2):163170.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 人人干人人干人人干 | 免费在线观看日本 | 亚洲人成高清 | 国产精品麻豆高清在线观看 | 天堂成人精品视频在线观 | 人人人人干 | 国产精品亚洲精品日韩已满 | 天天操夜夜做 | 亚洲日本韩国欧美 | 黄色片黄色片黄色片黄色片黄色片 | 最近免费中文字幕大全免费版视频 | 2019天天干 | 亚洲国产一区二区三区 | 黄黄视频在线观看 | 黄网站在线观看 | 91成人午夜精品福利院在线观看 | 久久久午夜精品理论片 | 插曲的痛一卡二卡三卡 | 99精品高清视频一区二区 | 麻豆久久婷婷综合五月国产 | 大陆黄色一级片 | 午夜视频福利在线 | 国产成人禁片免费观看视频 | 亚洲第一区在线 | 国产草莓视频入口免费网站 | 91成人精品视频 | 老子影院午夜伦不卡亚洲 | 国产一级特黄aa大片软件 | 成人精品国产 | 怡红院成人g影院 | 欧美日韩亚洲国产无线码 | 日韩永久在线观看免费视频 | 成人影院在线观看免费 | 亚洲欧美色视频 | 中文国产成人精品久久久 | 国产真实伦偷精品 | 欧美日韩在线播放成人 | 粉色污视频| 日日爱视频 | 日韩不卡视频在线观看 | 国产精品成人一区二区 |