戴志遠(yuǎn), 閆克丁, 楊樹蔚, 劉詠梅, 李 露
(1.西安工業(yè)大學(xué), 陜西 西安 710021; 2.西北工業(yè)集團(tuán), 陜西 西安 710043; 3.西安北方光電科技防務(wù)有限公司, 陜西 西安 710043)
在目標(biāo)識(shí)別跟蹤系統(tǒng)中,運(yùn)動(dòng)目標(biāo)在圖像中的像素位置是非常重要的數(shù)據(jù)信息[1-3]。隨著科學(xué)技術(shù)的快速進(jìn)步,跟蹤目標(biāo)的瞬時(shí)變化特征和參數(shù)信息已經(jīng)成為跟蹤系統(tǒng)的性能評(píng)價(jià)和驗(yàn)收指標(biāo)。但是在實(shí)際追蹤過程中,由于運(yùn)動(dòng)目標(biāo)方向不確定,且背景復(fù)雜多變,很難提取目標(biāo)特征,所以大大增加了動(dòng)態(tài)目標(biāo)跟蹤的難度。目標(biāo)跟蹤方法和目標(biāo)識(shí)別技術(shù)為跟蹤路徑上運(yùn)動(dòng)目標(biāo)的位置獲取和準(zhǔn)確識(shí)別提供了極大的理論知識(shí)與技術(shù)支持,因此研究目標(biāo)識(shí)別和跟蹤技術(shù),具有較高的理論價(jià)值和實(shí)踐意義[4-6]。
基于圖像的目標(biāo)檢測(cè)與跟蹤是指對(duì)獲取的運(yùn)動(dòng)目標(biāo)圖像序列進(jìn)行圖像處理,檢測(cè)和識(shí)別到運(yùn)動(dòng)目標(biāo)后對(duì)其進(jìn)行定位和跟蹤。目標(biāo)檢測(cè)和識(shí)別的主要依據(jù)是目標(biāo)的特征,如顏色、形狀、空間關(guān)系等[7-9]。其中,基于顏色特征的目標(biāo)檢測(cè)是最直觀、應(yīng)用最廣泛的實(shí)現(xiàn)方式。本文中待檢測(cè)的目標(biāo)為人臉,不宜選擇復(fù)雜度太高的算法[10]。
本文提出了一種基于模板匹配的人臉識(shí)別算法,分析了基于方向梯度直方圖(Histogram of Oriented Gradient,HOG)的人臉特征提取算法和基于歐氏距離的人臉匹配算法,并闡述了人臉識(shí)別與跟蹤的原理和算法。
1.1.1 基于幾何特征的方法
基于幾何特征的方法是利用人臉上眼睛、眉毛、鼻子、下巴等器官的幾何特征信息進(jìn)行識(shí)別的方法,是最早用于人臉識(shí)別的方法之一。1973 年,KANADE T[10]首先使用基于幾何特征的方法構(gòu)建了人臉識(shí)別系統(tǒng),在 20 個(gè)人的人臉庫(kù)中,該系統(tǒng)識(shí)別率達(dá)到了75%。該系統(tǒng)的優(yōu)點(diǎn)是理論性不強(qiáng),容易理解,實(shí)現(xiàn)過程比較簡(jiǎn)單;缺點(diǎn)是適用性不強(qiáng),容易受到環(huán)境變化的影響,且識(shí)別率不高。
1.1.2 基于子空間的方法
人臉圖像一般比較復(fù)雜,往往受到光照、表情、姿態(tài)等因素的影響,因此很難用幾何特征來表示。人臉圖像中包含著豐富的信息,但數(shù)據(jù)維數(shù)較高,且高維空間不利于樣本的分類。子空間方法就是將這些高維數(shù)據(jù)映射到低維子空間,映射后每類樣本的分布更加有規(guī)律,也更有利于樣本的分類。
該方法將人臉圖像設(shè)為一個(gè)隨機(jī)向量,通過K-L變換得到正交的K-L基底。這些特征基底有著人臉的形狀,所以該方法又稱為特征臉方法。特征臉示意如圖1所示。
圖1 特征臉示意
1.1.3 基于模板匹配的方法
模板匹配是圖像識(shí)別中最具代表性的方法之一。它是從待識(shí)別的圖像中提取若干特征向量,并與模板對(duì)應(yīng)的特征向量進(jìn)行比較,同時(shí)計(jì)算圖像與模板特征向量之間的距離,用最小距離法判定所屬類別?;谀0迤ヅ涞姆椒ㄍǔP枰?biāo)準(zhǔn)模板庫(kù)?;谀0迤ヅ涞娜四樧R(shí)別算法的流程如圖2所示。
圖2 人臉識(shí)別算法流程示意
從攝像頭采集的圖像中檢測(cè)人臉,然后提取人臉的128維特征值,并計(jì)算歐氏距離,根據(jù)設(shè)定的閾值判定是否為同一個(gè)人。由于人臉識(shí)別沒有對(duì)應(yīng)的人臉數(shù)據(jù)庫(kù),因此不能用最小距離法,只能用閾值作為判別依據(jù)。閾值的選取應(yīng)兼顧識(shí)別率和識(shí)別的準(zhǔn)確性,實(shí)驗(yàn)中取訓(xùn)練樣本與平均臉的歐氏距離平均值作為分類閾值。其公式為
(5)
式中:d12——兩點(diǎn)間的歐氏距離;
(x1,y1),(x2,y2)——二維空間中兩點(diǎn)的坐標(biāo)。
根據(jù)給定的人臉圖像建立模板庫(kù),提取模板庫(kù)中的人臉特征并存儲(chǔ),在跟蹤識(shí)別時(shí)采集圖像并獲取當(dāng)前圖像中的人臉部分,通過計(jì)算128維特征值之間的歐氏距離,與預(yù)存的人臉特征模板庫(kù)值進(jìn)行比對(duì),以判斷特征是否匹配,并進(jìn)而識(shí)別人臉。
本文采用的模板匹配算法是基于HOG的人臉特征提取算法。預(yù)先采集由不同角度拍攝的同一個(gè)跟蹤人員的8幅面部圖像,然后基于HOG算法獲取每幅圖像的人臉輪廓和特征點(diǎn),由每張照片提取出128維特征值,并將這些特征值存儲(chǔ)在文件中。
在圖像中,梯度可以很好地表示目標(biāo)的形狀和表象,主要存在于輪廓的邊緣位置。HOG通過計(jì)算在圖像目標(biāo)區(qū)域的方向梯度,并使用直方圖統(tǒng)計(jì),從而得到目標(biāo)特征。具體方法為:首先將圖像劃分為最小單元cell,然后統(tǒng)計(jì)cell中像素點(diǎn)的HOG,并將cell整合為一個(gè)較大的單位區(qū)域,最后就構(gòu)成了直方圖類型的特征。
物體的局部外觀和形狀能夠通過其局部梯度或邊緣信息來表征和描述。HOG就是對(duì)圖像指定區(qū)域內(nèi)梯度方向分布的統(tǒng)計(jì)直方圖。物體HOG特征的提取,首先需要取得每個(gè)位置的梯度信息,具體步驟如下。
步驟1 選取特征區(qū)域。
步驟2 在水平和垂直方向,使用梯度算子[-1,0,1]對(duì)所選區(qū)域進(jìn)行卷積運(yùn)算,得到該像素點(diǎn)在水平方向的梯度分量Gx(x,y)和垂直方向的梯度分量Gy(x,y)分別為
(1)
式中:H(x,y)——像素點(diǎn)(x,y)的像素值。
步驟3 利用步驟2得到的梯度分量可得
(2)
式中:G(x,y)——像素點(diǎn)(x,y)的梯度幅值;
α(x,y)——像素點(diǎn)(x,y)的梯度方向角度。
步驟4 設(shè)定統(tǒng)計(jì)HOG特征的單位為cell。每個(gè)cell為一個(gè)正方形,在HOG特征中,邊長(zhǎng)需要滿足2的倍數(shù)關(guān)系。設(shè)每個(gè)cell為8×8像素塊,梯度方向范圍為360°,將該范圍分為9個(gè)區(qū)間,分別是0~40°,40°~80°,…,320°~360°。分別統(tǒng)計(jì)所有cell單位中梯度方向角度值落入這9個(gè)區(qū)間的像素點(diǎn)個(gè)數(shù),該梯度向量C(i,j)表示為
C(i,j)={x1,x2,x3,…,x9}
(3)
式中:xi——第i個(gè)區(qū)間中的梯度角度個(gè)數(shù),i=1,2,3,…,9。
步驟5 為了更好地表述局部區(qū)域特征,選取相鄰cell的特征向量組成新的特征向量,選取范圍塊稱為區(qū)域。本文設(shè)定每個(gè)區(qū)域單位由2×2個(gè)cell單位組成,區(qū)域的梯度直方圖就是將4個(gè)cell單位的直方圖組合,區(qū)域的向量單位B(i,j)為
(4)
此時(shí),梯度直方圖信息由9維變?yōu)?6維,HOG的特征選擇完畢。利用HOG計(jì)算每個(gè)區(qū)域范圍內(nèi)的梯度信息,存儲(chǔ)時(shí)表示為一個(gè)cell的梯度信息。
根據(jù)HOG方法拍攝人臉照片,并進(jìn)行特征提取,結(jié)果如圖3所示。
圖3 基于HOG的人臉識(shí)別結(jié)果
在本文設(shè)計(jì)的人臉識(shí)別跟蹤系統(tǒng)中,成像系統(tǒng)和跟蹤轉(zhuǎn)臺(tái)是重要的組成部分。該系統(tǒng)將跟蹤路徑中的開始點(diǎn)、終止點(diǎn)與攝像頭根據(jù)光學(xué)成像原理相互結(jié)合起來,通過發(fā)送串口指令讓跟蹤轉(zhuǎn)臺(tái)開始工作,建立路徑上的跟蹤模型。由于運(yùn)動(dòng)目標(biāo)具有加速、勻速和減速的過程,將根據(jù)理論得到的圖像中心坐標(biāo)和圖像中識(shí)別到的目標(biāo)位置進(jìn)行對(duì)比,所以可以檢測(cè)模型是否實(shí)現(xiàn)了準(zhǔn)確跟蹤。在跟蹤路徑中,當(dāng)運(yùn)動(dòng)目標(biāo)始終位于成像視場(chǎng)中心范圍之內(nèi)時(shí),速度變化較小,這時(shí)的轉(zhuǎn)臺(tái)跟蹤控制策略是可行的[8]。
令M為跟蹤的開始點(diǎn),跟蹤轉(zhuǎn)臺(tái)與開始點(diǎn)之間的距離為l1;N為跟蹤的終止點(diǎn),跟蹤終止點(diǎn)與轉(zhuǎn)臺(tái)之間的距離為l2;P為跟蹤系統(tǒng)的觀測(cè)點(diǎn),P點(diǎn)與跟蹤路徑的垂直距離為lPH。按照跟蹤路徑中目標(biāo)載體的特點(diǎn),建立跟蹤原理示意圖如圖4所示。
注:θi,θi+1,θi+n+1—跟蹤轉(zhuǎn)臺(tái)的控制旋轉(zhuǎn)角度;Si,Si+1,Si+n+1—控制旋轉(zhuǎn)角度相對(duì)應(yīng)的跟蹤路徑上的位移量。
從圖4可以看出,M點(diǎn)、N點(diǎn)和P點(diǎn)之間的區(qū)域?yàn)楦檯^(qū)域。通常,M點(diǎn)與N點(diǎn)相距較遠(yuǎn),垂直距離lPH較小,成像視場(chǎng)受到一定的限制,且不能覆蓋全部的跟蹤范圍。跟蹤系統(tǒng)中,成像視場(chǎng)的擴(kuò)大是借助跟蹤轉(zhuǎn)臺(tái)完成的,跟蹤轉(zhuǎn)臺(tái)能夠輔助完成對(duì)跟蹤路徑上每一位置的變化狀態(tài)的實(shí)時(shí)跟蹤。通過確定合理的方位軸和俯仰軸旋轉(zhuǎn)角度,能夠擴(kuò)大跟蹤視場(chǎng)范圍,使跟蹤更加準(zhǔn)確[9]。
采用相等的單位時(shí)間將跟蹤路徑劃分為一系列的水平位移量,并按照水平位移量分析跟蹤路徑上每一位置的狀態(tài)信息,則跟蹤路徑上各位置的位移量Si與跟蹤路徑總長(zhǎng)度lMN之間的關(guān)系式為
(6)
跟蹤轉(zhuǎn)臺(tái)旋轉(zhuǎn)的總角度θd可以用水平位移量對(duì)應(yīng)的旋轉(zhuǎn)角度之和來表示,即為
(7)
為了對(duì)整個(gè)跟蹤路徑上運(yùn)動(dòng)目標(biāo)的每一位置進(jìn)行實(shí)時(shí)跟蹤,只需讓二維跟蹤轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)一定的角度就能夠?qū)崿F(xiàn)。該角度為每一位置的時(shí)域內(nèi)旋轉(zhuǎn)的對(duì)應(yīng)理論角度。檢測(cè)到跟蹤路徑上對(duì)應(yīng)時(shí)刻的目標(biāo)圖像后,借助圖像處理方法提取運(yùn)動(dòng)目標(biāo)的參數(shù)特征[11-13]。
在跟蹤系統(tǒng)中,通過跟蹤轉(zhuǎn)臺(tái)的控制與目標(biāo)圖像的跟蹤算法相結(jié)合的方式對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。目標(biāo)跟蹤控制判斷閾值框如圖5所示。
圖5 目標(biāo)跟蹤控制判斷閾值框
圖5中矩形abcd為相機(jī)成像平面,圖像中心為點(diǎn)O,跟蹤算法得到的目標(biāo)位置為點(diǎn)O′,矩形mnpq為發(fā)出控制指令的判斷閾值框。當(dāng)跟蹤算法得到的目標(biāo)圖像的位置與圖像中心位置之間的偏差即Δux和Δuy超出閾值框設(shè)定的值Δuxmax和Δuymax時(shí),表示運(yùn)動(dòng)目標(biāo)偏離了圖像中心一定范圍?;谶@個(gè)像素偏差,首先使用PID算法計(jì)算輸出角度,再通過串口發(fā)送相應(yīng)的轉(zhuǎn)動(dòng)角度,二維跟蹤轉(zhuǎn)臺(tái)得到轉(zhuǎn)動(dòng)角度后向目標(biāo)圖像閾值框方向轉(zhuǎn)動(dòng),減小運(yùn)動(dòng)目標(biāo)的跟蹤偏差,使運(yùn)動(dòng)目標(biāo)始終在相機(jī)的成像視場(chǎng)范圍內(nèi)。
由圖5可以看出,當(dāng)前目標(biāo)位置已經(jīng)超出了設(shè)定的閾值框,即Δux>Δuxmax,Δuy>Δuymax。根據(jù)圖像像素偏差可以得出轉(zhuǎn)臺(tái)的旋轉(zhuǎn)角度偏差,上位機(jī)通過串口發(fā)送對(duì)應(yīng)的角度數(shù)據(jù),下位機(jī)接收到數(shù)據(jù)后控制跟蹤轉(zhuǎn)臺(tái)方位軸和俯仰軸方向的舵機(jī)做相應(yīng)的轉(zhuǎn)動(dòng)調(diào)整,減小像素偏差,以保證目標(biāo)跟蹤的準(zhǔn)確性,提高跟蹤精度。
圖像坐標(biāo)系和運(yùn)動(dòng)坐標(biāo)系如圖6所示。
圖6 圖像坐標(biāo)系和運(yùn)動(dòng)坐標(biāo)系
在圖像坐標(biāo)系中,θ為方位視角范圍,φ為俯仰視角范圍,成像平面中水平方向的像素為H,垂直方向的像素為V,像素方位偏差為ΔH,像素俯仰偏差為ΔV;在運(yùn)動(dòng)坐標(biāo)系中,位置方位偏差為Δx,位置俯仰偏差為Δy。一個(gè)像素在水平方向上的物理尺寸為dx,在垂直方向上的物理尺寸為dy,單位均為mm/像素。
當(dāng)圖像像素方位偏差為ΔH時(shí),相機(jī)方位視場(chǎng)角度剛好旋轉(zhuǎn)Δθ;圖像像素俯仰偏差為ΔV時(shí),相機(jī)俯仰視場(chǎng)角度剛好旋轉(zhuǎn)Δφ。焦距與視場(chǎng)成像關(guān)系如圖7所示。
圖7 焦距與視場(chǎng)成像關(guān)系
令f為相機(jī)焦距(單位為mm),則有
(8)
(9)
進(jìn)一步可得
(10)
一般情況下,相機(jī)方位視角范圍和俯仰視角范圍都較小,可認(rèn)為tanθ/2=θ/2,tanφ/2=φ/2,則式(10)可轉(zhuǎn)化為
(11)
式(11)為由跟蹤算法得到的圖像像素偏差與二維跟蹤轉(zhuǎn)臺(tái)相應(yīng)的旋轉(zhuǎn)角度之間對(duì)應(yīng)關(guān)系的計(jì)算公式。
基于圖像像素偏差與二維跟蹤轉(zhuǎn)臺(tái)相應(yīng)旋轉(zhuǎn)角度間的對(duì)應(yīng)關(guān)系,在實(shí)際的跟蹤過程中,具體的跟蹤方法如圖8所示。
圖8 跟蹤方法示意
本文搭建的人臉識(shí)別跟蹤系統(tǒng)包括上位機(jī)圖像采集、云臺(tái)控制器和跟蹤轉(zhuǎn)臺(tái)3個(gè)模塊,如圖9所示。
具體實(shí)驗(yàn)方法為:上位機(jī)軟件采集圖像,通過前文所述的人臉識(shí)別算法獲取人臉坐標(biāo);根據(jù)跟蹤算法計(jì)算出需要移動(dòng)的數(shù)據(jù),通過串口與下位機(jī)之間進(jìn)行通信;下位機(jī)軟件接收上位機(jī)發(fā)送的指令和角度數(shù)據(jù),并通過云臺(tái)控制器控制跟蹤轉(zhuǎn)臺(tái)做出相應(yīng)的運(yùn)動(dòng)。實(shí)驗(yàn)結(jié)果如圖10所示。
圖9 人臉識(shí)別跟蹤系統(tǒng)
圖10 人臉識(shí)別跟蹤實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)測(cè)試數(shù)據(jù)及角度和目標(biāo)中心圖像像素位置(x,y)數(shù)據(jù)分別如表1和表2所示。
表1 測(cè)試數(shù)據(jù)
表2 角度和目標(biāo)中心圖像像素位置數(shù)據(jù)
由表2中目標(biāo)中心圖像的像素位置變化結(jié)果可以看出,在水平方向上中心位置有明顯變化,而在垂直方向上中心位置的變化較小。這說明在均勻單位時(shí)間內(nèi),跟蹤系統(tǒng)存在結(jié)構(gòu)上的設(shè)計(jì)誤差和控制誤差,使得目標(biāo)中心并不是固定在一定區(qū)域內(nèi),而是隨著目標(biāo)與光學(xué)跟蹤系統(tǒng)之間距離的變化,中心位置也在發(fā)生變化。但是,整個(gè)系統(tǒng)跟蹤鎖定的中心點(diǎn)基本在有效視場(chǎng)內(nèi)。經(jīng)過多輪測(cè)試,圖形識(shí)別跟蹤系統(tǒng)已經(jīng)基本完成。
本文研究了基于模板匹配的人臉識(shí)別算法,分析了基于HOG的人臉特征提取算法和基于歐氏距離的人臉匹配算法,給出人臉識(shí)別跟蹤原理和算法。目標(biāo)圖像通過攝像頭讀入,在上位機(jī)軟件中,借助圖像處理庫(kù)識(shí)別圖像中的人臉,并根據(jù)預(yù)存特征判斷是否為特定目標(biāo),進(jìn)而提取出目標(biāo)的位置信息,通過串口發(fā)送給下位機(jī),下位機(jī)接收指令并控制跟蹤轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)了人臉識(shí)別跟蹤。將人臉識(shí)別算法植入上位機(jī)軟件中,通過動(dòng)態(tài)目標(biāo)視覺檢測(cè)以及PID控制的角度輸出,經(jīng)實(shí)驗(yàn)結(jié)果表明,跟蹤轉(zhuǎn)臺(tái)實(shí)現(xiàn)了不錯(cuò)的控制效果,可以在有效視場(chǎng)內(nèi)對(duì)特定目標(biāo)的人臉進(jìn)行識(shí)別和跟蹤。