柴功博,顧宏斌,孫 瑾
(南京航空航天大學民航學院,江蘇 南京 210016)
在機器視覺、虛擬現(xiàn)實與交互的研究當中,人手的位置檢測與跟蹤是難點之一?;谑植繕擞浀娜S手部跟蹤是一種簡便實用的方法[1-4]。該方法通過在目標手背上附加不同顏色的標記點,使用標定過內外參數的攝像機,經坐標變換,計算出各個標記點的三維空間位置。通過判斷標記點絕對位置的變化,以及標記點與標記點之間相對位置的變化得出物體的運動狀態(tài)和運動趨勢。標記點決定了實際物體的三維坐標點,在識別跟蹤的過程中,標記點的穩(wěn)定性,即標記點形心位置的穩(wěn)定性,對實驗結果有著至關重要的影響。只有保證標記點的穩(wěn)定,才能準確地判斷出目標點的運動情況。
影響標記點穩(wěn)定性的主要因素有兩個:一是圖像噪聲,由于普通攝像頭的抗干擾能力比較差,在亮度不夠的情況下尤為突出,當噪聲點的顏色與標記點的顏色相近時,噪聲點會影響標記區(qū)域,導致標記點形心的跳動,使得整個三維物體的判定也產生跳動。因而一般的一階矩檢測無法滿足精度要求。另一個是圖像的分辨率,由于攝像頭分辨率不能足夠小,使得用一般方法檢測出來的形心只能處于像素點之內,而不是實際位置,由此帶來了檢測的不準確性。
目前穩(wěn)定標記點的主要方法為濾波或標記形狀擬合[5-6]。然而濾波將帶來時域上的延時,且擬合圓或橢圓的計算量很大。
筆者以模型手背上的3個不同顏色點為目標,采用區(qū)域增長法將噪聲的影響縮小到檢測區(qū)域之內,再應用Hough變換精確定位,在不增加系統(tǒng)延時的前提下,提高目標的檢測精度。
在多顏色目標的提取中對顏色判定的準確性至關重要,影響顏色的主要因素是光源,光源的強度、顏色以及照射方向均能對目標顏色產生影響。將顏色轉化到HSV空間是一種簡便有效的方法。由于HSV顏色空間將色彩與亮度分離,在光亮很弱的情況下也能較好地提取顏色。圖1為實驗論證圖。其中實線為各顏色H值隨V值的變化,虛線為S值隨V值的變化。
對于光源顏色問題采用H值補償的方法。
H值補償也可對打印機打印的顏色偏差進行補償處理。
圖1 實驗論證圖
區(qū)域增長法是一類遞歸算法[7-9]。設二維圖像中第i行第j列點的像素H值為H(i,j),待檢測的目標像素H值為Hdest,建立關于顏色Hdest的堆棧Stack(Hdest)。對當前點H(i,j)進行判斷:
其中,ε為閾值,由圖1可以看出顏色的H值略有波動,經實驗實測ε取值范圍為5~10,可不丟失顏色目標。
若H(i,j)滿足條件則Push Stack(Hdest)。入棧后從(i,j)點向四周任一方向繼續(xù)搜索,即判斷:
其中,Δi=1,2,…,n;(i+Δi)∈Simage。
如果Push Stack(Hdest)則Δi累加,繼續(xù)該方向搜索;如果Pop Stack(Hdest)則對堆棧前一層數據的其他方向元素,即 H(i- Δi,j),H(i,j+Δj),H(i,j-Δj)進行搜索,也可進行8方向搜索,繼續(xù)判斷H(i±Δi,j±Δj)的位置顏色H值,增加斜向判斷可以更準確計算連通區(qū)域,但運算量增加一倍。判斷終止條件是堆棧為空。當堆棧為空后,記錄所有遍歷過的H(i,j),作為顏色區(qū)域Scolor。
標記點的圖像坐標,則由顏色區(qū)域Scolor的一階矩決定,即:
該方法得出的圖像位置坐標為亞像素值。在區(qū)域完整,即連通性好的情況下其值比較準確。圖2為采用常規(guī)區(qū)域增長法得出的圖像。
由于區(qū)域增長法采用遞歸,若區(qū)域點面積較大則面臨堆棧溢出,若連通區(qū)域性不強,則可能出現(xiàn)檢測位置不準確,因而引入分塊區(qū)域增長法。該方法定義m×n小區(qū)域,用該區(qū)域Hs(m,n)代替單個像素點H(i,j)的遍歷,其中:
圖2 常規(guī)區(qū)域增長法得出的圖像
即判斷 Hs(m,n)是否在[Hdest-ε,Hdest+ε]區(qū)間內,然后采用遞歸算法求解。分塊區(qū)域增長能有效解決遞歸次數過大的弊端。
自適應跟蹤是在分塊增長之后,根據前一幀目標的位置預測下一幀目標點的范圍。若前一幀檢測出的目標位置為(Xcolor,Ycolor),目標區(qū)域大小為Scolor。
則定義系數K,跟蹤區(qū)域大小為:
跟蹤區(qū)域左上坐標為:
跟蹤區(qū)域右下坐標為:
通過對目標區(qū)域大小的判斷來跟蹤,可以使效率得到極大的提升。同時排除了跟蹤區(qū)域外部的干擾因素,使區(qū)域檢測更加準確。
由于跟蹤區(qū)域為正方形,如果目標為圓形,在目標的運動速度不快的情況下,利用其外接矩形作為跟蹤區(qū)域的方法之一,此時K值為3/4,然而在實際試驗中,當目標運動速度較快,一幀之內的位移脫離了跟蹤區(qū)域,會使得跟蹤區(qū)域失效,需重新全局搜索,使效率降低。根據實驗,K值取2~3,能夠較好地滿足一般情況下人手的跟蹤運動。圖3為分塊跟蹤后的實驗圖,其中方框為跟蹤區(qū)域。
圖3 分塊跟蹤區(qū)域增長法實驗圖
區(qū)域增長法雖然能夠準確地找到目標區(qū)域,但由于噪聲的干擾,在目標點的邊緣部分會隨機地將噪聲點列入目標區(qū)域,使得整體目標質心點的位置發(fā)生波動。圖4為分塊大小從1×1到5×5的質心波動方差曲線,從實驗數據可知,隨著分塊增大,雖然效率提升,但穩(wěn)定性下降。
圖4 不同分塊大小時質心波動方差曲線
因此由區(qū)域增長法計算出的質心點不能保證穩(wěn)定性要求,但可以高效地判別粗略位置,為后續(xù)準確判斷提供參考。
Hough變換是利用圖像空間和Hough參數空間的點線對偶性,把圖像空間中的檢測問題轉換到參數空間。這實際上是把檢測空間直線的問題,轉化為檢測空間點的問題[10]。為解決檢測垂直線的問題,定義參數空間為:
將圖像坐標中的二維點坐標(x,y)通過上式轉換成參數空間中的(ρ,θ)。
對于處于同一條直線上的n個二維圖像點(xi,yi),i=1,2,…,n,在參數空間對應的 n 條曲線為:
使用加權最小二乘法,估計出上述n個等式的解。求出的交點(ρl,θl)即為直線的參數空間坐標,再由空間坐標變換公式,即可反推出圖像坐標中的直線公式為:
生姜是姜科多年生草本植物姜的根莖,別名有姜根、百辣云、鮮生姜、蜜炙姜等。生姜中含有的揮發(fā)油、姜辣素、姜黃素等能抗?jié)儭㈡?zhèn)吐、增加胃液分泌、調節(jié)胃腸運動、保肝利膽、興奮循環(huán)和呼吸系統(tǒng),同時還能降血脂等。其中所含的姜辣素(Curcumin)具有明顯的抗氧化、抗衰老、降血脂等功能,對心臟和血管運動中樞有直接的興奮作用,可使心跳加速、血管擴張,血行旺盛而使脈絡通暢,進而實現(xiàn)改善體表循環(huán)的保健功能[3-6]。
實驗證明Hough變換檢測直線的準確性非常高,但是如果進行全區(qū)域變換不但效率很低,還會將背景中的直線全部提取出來,增加冗余運算。因而必須降低Hough變換的運算,縮小Hough變換的范圍,提高系統(tǒng)的實時性。
Hough變換相比于直線擬合的優(yōu)勢是不需要判斷哪些點屬于同一條直線,通過對參數空間內點的擬合即可得出直線信息,但圖像空間中的坐標(xi,yi)需要通過輪廓檢測來得出。
由于目標標記的粗略位置已經由分塊區(qū)域檢測法得出上述Strack,通過這一先驗知識,可以對Hough變換的區(qū)域進一步縮小。對Strack區(qū)域進行輪廓提取,這樣不但消除了大范圍的背景冗余輪廓,還由于區(qū)域面積的縮小降低了計算量。
將目標區(qū)域跟蹤的功能交給區(qū)域增長法來實現(xiàn),不交由Hough變換來運算,這種跟蹤與檢測分開的方法可以提高跟蹤速度,降低系統(tǒng)資源消耗。
筆者應用普通USB攝像機,分辨率為640×480,在實驗室環(huán)境中,選用模型手作為運動目標,并在模型手目標上附加標記進行跟蹤實驗。
首先對標記點進行改進,標記點圖如圖5所示。
圖5 實驗標記圖
將普通圓形標記點均分割成4部分,相鄰兩部分不同色,其中一種選取待檢測的顏色,另一種顏色根據待檢測顏色的亮度來選取黑色或白色。若待檢測顏色為黃色,則另一種顏色取黑;若待檢測顏色為藍色,則另一種顏色取白。這種取法可以使梯度法搜索出的邊界更加準確。在圓形標記的中間設計一待檢測顏色的小圓形,小圓形使得待檢測顏色連成一個區(qū)域,因此區(qū)域增長法檢測出的一階矩不會有很大的偏差。區(qū)域增長以及邊界檢測如圖6(a)所示。
Canny算子檢測的輪廓非常準確,但要求圖像的清晰度足夠高,故在應用Canny檢測輪廓之前需要對圖像進行一定程度的銳化。
圖6 區(qū)域跟蹤輪廓檢測
圖7為Hough參數空間曲線圖。由于標記點使用相互垂直的兩條邊界線,因此在Hough檢測的參數空間中,在θ∈[0,90)度之間必存在一條直線,因而θ1的取值范圍只需選取0~90,由于另一條直線與其垂直,因此另一條直線的θ參數為:
其中,Δθ的取值范圍由實際檢測中目標標記所在平面與攝像機光軸所成的最大夾角決定。經實驗測定,若目標標記近似與攝像機光軸垂直則取Δθ為5°可以不丟失第二條直線。
圖7 Hough參數空間圖
圖8為固定不動的紅色標記點檢測出的x方向位置波動圖,其縱坐標為Xi-E(Xi)。
其中黑色為區(qū)域增長判斷出的位置,灰色為附加Hough變換后的位置。
表1為各顏色x,y坐標的波動方差值。
表1 顏色波動方差
圖8 Hough參數空間圖
由實驗數據可以看出,結合區(qū)域增長以及Hough變換的目標跟蹤方法與僅使用區(qū)域增長的跟蹤方法相比,在穩(wěn)定性上有較大的提高。二維圖像中的標記點波動不超過0.5個像素。
在基于標記的視頻跟蹤技術中,穩(wěn)定顏色標記點是目標三維定位的基礎,只有穩(wěn)定二維圖像中的顏色標記才能通過單目視覺及雙目視覺的坐標變換準確地將其映射到三維環(huán)境中?;趨^(qū)域增長法以及Hough變換結合的方法,可以準確而穩(wěn)定地定位標記點,在使用帶有跟蹤的局部Hough變換之后,采集并處理之后的圖像仍然可以達到每秒13~15幀的速度,因而是一種有效且穩(wěn)定的標記點三維定位方法。
[1]PYLKKO H.Real-time color-based tracking via a marker interface[J].Robotics and Automation,2001(2):12-14.
[2]張欣欣.基于顏色信息的目標跟蹤[D].西安:西安電子科技大學圖書館,2008.
[3]汪建林.基于顏色特征的目標跟蹤算法研究[D].長春:東北師范學院圖書館,2009.
[4]高飛,初君.基于標記點圖案的三維腳型建模與測量方法[J].計算機輔助設計與圖形學學報,2009,21(10):1412-1419.
[5]ZHOU J.Algorithm of compensating loss of round color mark based on circle fitting[J].Mechatronics and Automation,2005(3):1397-1401.
[6]郭玉波,姚郁.基于空間矩的圓標記中心亞像素定位算法[J].吉林大學學報:工學版,2009,39(1):160-163.
[7]ROLF A,LEANNE B.Seeded region growing[J].IEEE Trans Pattern Anal Mach Intell,1994,16(6):641-647.
[8]CHANG Y L.Adaptive image region-growing[J].Image Processing,1994(3):868-875.
[9]WAN S Y.Symmetric region growing[J].Image Processing,2003(12):1007-1013.
[10]KIRIL A.Implementation of hough transform as track detector[J].Information Fusion,2000(2):11-16.