馬琦鑫,顧桂梅
(蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院,蘭州 730070)
電氣柜是電力系統(tǒng)中不可或缺的重要設(shè)備,一旦出現(xiàn)問題就會(huì)對(duì)供電系統(tǒng)的穩(wěn)定運(yùn)行產(chǎn)生影響,然而,由于新設(shè)備種類繁多、結(jié)構(gòu)復(fù)雜,且不同的檢修人員存在個(gè)體差異,因此,在突發(fā)故障發(fā)生時(shí)需要用輔助檢修設(shè)備為檢修人員提供指導(dǎo)。這些輔助檢修設(shè)備可以幫助檢修人員更好地理解電氣柜的工作原理、故障診斷,并采取有效的解決方案,以確保電力系統(tǒng)的平穩(wěn)運(yùn)行。增強(qiáng)現(xiàn)實(shí)(augment reality,簡(jiǎn)稱AR)技術(shù)和遠(yuǎn)程協(xié)助技術(shù)在工業(yè)領(lǐng)域上的結(jié)合帶來了非凡的體驗(yàn),有效解決了因檢修人員技能水平有限而導(dǎo)致的檢修低效問題[1-3]。輔助檢修功能提供一種電子的實(shí)時(shí)檢修指導(dǎo)過程,可以大大提高操作者的作業(yè)精度和檢修效率。這一技術(shù)在檢修作業(yè)中將計(jì)算機(jī)提供的檢修提示信息,通過手機(jī)、AR眼鏡等各種設(shè)備實(shí)時(shí)疊加到操作員的視野上,給出即時(shí)的檢修提示[4-7]。
目前輔助檢修領(lǐng)域中的跟蹤注冊(cè)技術(shù),所采用的算法一般是模板匹配和特征點(diǎn)檢驗(yàn)。這2種方法在目標(biāo)簡(jiǎn)單的使用情景中效果都很好,但是當(dāng)在實(shí)際工程中使用時(shí),針對(duì)配電柜、配件等較復(fù)雜的目標(biāo)物件,并且存在環(huán)境因素的影響時(shí),如光線、遮擋、尺寸改變等,對(duì)特征點(diǎn)的檢驗(yàn)結(jié)果和模板與目標(biāo)物件的匹配程度都會(huì)受到較大的影響,使得識(shí)別準(zhǔn)確度并不高[8-10]。文獻(xiàn)[11]提出一種新的尺度自適應(yīng)跟蹤方法,即快速判別尺度空間跟蹤算法(fast discriminative scale space tracker,fDSST)。該方法將學(xué)習(xí)獨(dú)立的判別相關(guān)濾波器用于平移和尺度估計(jì),并且在學(xué)習(xí)和檢測(cè)階段利用快速傅立葉變換提升速度,顯著提高了跟蹤性能,與判別式尺度空間跟蹤算法(discriminative scale space tracker,DSST)相比速度提高了2倍。文獻(xiàn)[12]基于相關(guān)濾波器(correlation filter,CF)的跟蹤器提出了一個(gè)通用框架,該框架以較低的計(jì)算成本將上下文納入過濾器訓(xùn)練階段,提高了在目標(biāo)快速運(yùn)動(dòng)或發(fā)生形變等環(huán)境干擾情況下的跟蹤性能。
為了解決實(shí)際跟蹤注冊(cè)過程中的問題,本文采用了以下解決方案:Staple算法使用基于顏色特征的模型提取目標(biāo)特征,添加二值掩碼以避免模型受背景信息的干擾;當(dāng)目標(biāo)跟蹤失敗時(shí),采用卡爾曼濾波器估計(jì)物體位置,然后使用改進(jìn)的ORB 算法進(jìn)行注冊(cè),包括使用Hessian矩陣和灰度質(zhì)心法提供特征點(diǎn)信息、使用漢明距離匹配特征點(diǎn)、使用漸進(jìn)式采樣一致性算法(progressive sample consensus,PROSAC)去除錯(cuò)誤匹配以提高匹配準(zhǔn)確度;最后使用三維注冊(cè)矩陣完成注冊(cè)。
Staple算法把方向梯度直方圖(histogram of oriented gradients,HOG)特征和顏色直方圖特征融合作為對(duì)目標(biāo)物體的特征描述。顏色特征可以有效地解決目標(biāo)物體形變和運(yùn)動(dòng)時(shí)模糊的情況,但對(duì)顏色變化非常敏感,特別是在光照強(qiáng)度不同的背景下,會(huì)導(dǎo)致追蹤性能的下降。HOG 特征能夠幫助解決在光照變化下的目標(biāo)追蹤問題,將它和顏色直方圖特征融合能夠取長(zhǎng)補(bǔ)短,與只采用灰度特征的跟蹤方法相比在準(zhǔn)確度上提高20%以上,且跟蹤效率沒有重大損失。Staple算法采用了比較粗略的搜索策略,把搜尋范圍限定為很小部分,再用主成分分析法(principal component analysis,PCA)對(duì)數(shù)據(jù)范圍進(jìn)行縮小,并對(duì)尺度濾波器進(jìn)行加速。Staple算法的核心思想為:
式中:α為融合系數(shù);f為反饋積分;ftmpl為相關(guān)濾波器通過HOG特征追蹤目標(biāo)所獲得的反饋值,fhist為由顏色直方圖得出的反饋值,二者相互獨(dú)立。Staple算法將2個(gè)積分權(quán)重求和,以得出最終的反饋值。
通過本文方法實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)跟蹤注冊(cè)的過程如下:首先,利用基于空間可靠性的二值掩模增強(qiáng)Staple顏色特征中的目標(biāo)信息。掩膜是根據(jù)目標(biāo)區(qū)域像素的可靠性來計(jì)算的,可以在充分保留目標(biāo)信息的同時(shí)盡可能避免背景信息對(duì)模型的污染,提高算法在復(fù)雜場(chǎng)景下的跟蹤精度。其次,當(dāng)目標(biāo)跟蹤失敗時(shí),用之前Staple算法的搜索框參數(shù)結(jié)合卡爾曼濾波器共同完成對(duì)目標(biāo)位置的預(yù)測(cè),以避免對(duì)一整幀畫面的遍歷搜索,從而降低背景對(duì)相似物體的影響,并增強(qiáng)目標(biāo)的精度和更快的跟蹤速度。接著,使用經(jīng)過改進(jìn)的ORB算法對(duì)待注冊(cè)的目標(biāo)區(qū)域進(jìn)行特征提取、匹配和誤匹配點(diǎn)剔除[13]。最后,通過求解位姿矩陣,實(shí)現(xiàn)虛擬物體與現(xiàn)實(shí)世界的三維注冊(cè)[14]。圖1給出了采用融合Kalman 濾波改進(jìn)的Staple跟蹤注冊(cè)算法整體流程圖。
圖1 算法整體流程圖Fig.1 Overall flow chart of the algorithm
2.1.1 基于HOG 特征的相關(guān)濾波器
假設(shè)采樣生成某個(gè)d維的特征信息,對(duì)于其中一個(gè)樣本f,實(shí)際輸出和預(yù)期輸出之間的最小誤差可以用作約束條件來構(gòu)造訓(xùn)練方程,以獲得濾波模型h。訓(xùn)練方程如式(2)所示。
其中:g為一個(gè)二維高斯函數(shù),用于確保當(dāng)目標(biāo)處于中心位置時(shí),預(yù)期輸出為1;為對(duì)應(yīng)第l維濾波器的系數(shù);* 為循環(huán)相關(guān)操作;λtmp為正則化系數(shù),用于防止模型過度擬合。經(jīng)傅里葉轉(zhuǎn)換后,最小化式(2),并將計(jì)算過程映射到頻域,得到濾波器的最優(yōu)解為:
其中:G和F表示相應(yīng)參數(shù)的離散傅里葉變換為G的復(fù)共軛為F的復(fù)共軛。濾波器模型通過線性加權(quán)進(jìn)行更新。假設(shè)在第t幀中新獲得的目標(biāo)位置訓(xùn)練的模型為Ht,其分子和分母分別為和Bt,則分子與分母的更新策略如下:
其中:η為線性更新期間的學(xué)習(xí)速率,是一個(gè)常數(shù);和Bt-1分別為前一幀位置濾波器的分子和分母。在使用濾波器對(duì)目標(biāo)進(jìn)行跟蹤時(shí),經(jīng)式(6)可以得到直方圖特征Z的目標(biāo)位置響應(yīng)yt,然后利用最大化的響應(yīng)分?jǐn)?shù)來判斷下一幀目標(biāo)的方位和大小。
利用計(jì)算響應(yīng)圖中最大值的方法,分別形成了2個(gè)獨(dú)立的位置濾波器和尺寸濾波器,用來測(cè)量目標(biāo)的位置和大小。
2.1.2 基于顏色直方圖特征的貝葉斯分類器
假設(shè)從目標(biāo)區(qū)域O和背景區(qū)域B中分別提取直方圖H(O)和H(B),ψ[u]為可用于建立映射關(guān)系的特征變換,βhistψ[u]為使用濾波器模型βhist將像素值u映射到直方柱的序列號(hào)。利用線性回歸構(gòu)建檢測(cè)區(qū)域內(nèi)每個(gè)像素與回歸值的關(guān)系,使屬于背景區(qū)域像素的期望回歸值為0,屬于目標(biāo)區(qū)域像素的期望回歸值為1。訓(xùn)練方程可以用式(7)表示。
其中:β為模型,βj為直方圖的第j列。式(7)可以簡(jiǎn)化為式(8),式(9)為式(8)方程的解。
其中:ρj(O)=Nj(O)/|O|為區(qū)域O中第j列像素個(gè)數(shù)與該區(qū)域所有像素個(gè)數(shù)之比,為待檢測(cè)區(qū)域的各個(gè)像素概率。模型的更新方法仍采用線性加權(quán)方法,設(shè)η為學(xué)習(xí)速率,則更新方法可以用式(10)表示。
至此,即可實(shí)現(xiàn)目標(biāo)和背景直方圖更新估計(jì)的貝葉斯分類器。
2.1.3 圖像掩膜
Staple算法可以獲得目標(biāo)和背景的顏色直方圖,然后通過統(tǒng)計(jì)特征進(jìn)行建模和分析,但是,這種特征提取方法對(duì)目標(biāo)信息的依賴程度較高。原算法使用矩形框架給出目標(biāo)容易引入大量背景信息,在一定程度上削弱了模型的辨別能力。本文提出在顏色特征提取前使用掩碼過濾掉矩形框中目標(biāo)的關(guān)鍵信息。
對(duì)于檢測(cè)區(qū)域中的某個(gè)位置m,假設(shè)x代表其像素值,y為其目標(biāo)模型,則m相對(duì)于目標(biāo)O的可靠度可由式(11)計(jì)算。
式中:p(y|m∈O,bx)為根據(jù)式(9)中的模型計(jì)算得到的目標(biāo)在當(dāng)前位置的置信度;p(bx|m∈O)為空間先驗(yàn)概率,本文使用Epanechnikov核函數(shù),即p(bx|m∈O)=1-(r/σ)2;p(m∈O)為目標(biāo)區(qū)域的先驗(yàn)概率,即目標(biāo)區(qū)域的面積與背景區(qū)域的面積之比。在一個(gè)二進(jìn)制掩碼中,每個(gè)像素都可以表示為一個(gè)二進(jìn)制位,其中:0表示背景,1表示前景。二進(jìn)制掩碼中1的面積取決于像素的空間可靠性。根據(jù)貝葉斯公式P(A|B)=P(B|A)P(A)/P(B),可以得到式(12)。
首先,利用式(12)計(jì)算每個(gè)像素在矩形框區(qū)域內(nèi)的位置;然后,設(shè)置一個(gè)閾值將結(jié)果截?cái)?,就可以得到可靠的目?biāo)區(qū)域;最后,利用形態(tài)濾波運(yùn)算去除較小的干擾區(qū)域,即可得到目標(biāo)的最終掩碼。
2.1.4 位置預(yù)測(cè)
通過線性加權(quán)的融合方式,將上述2種濾波器模型的響應(yīng)圖加權(quán)融合,得到最終的響應(yīng)圖,如式(1)所示。目標(biāo)的預(yù)測(cè)位置在總響應(yīng)圖的極值處。尺度濾波器得到目標(biāo)的預(yù)測(cè)位置后,以這個(gè)位置為中心,截取不同尺度的樣本,形成尺度金字塔。設(shè)置目標(biāo)圖像塊的面積為M×N,an為尺度比例,則尺度選擇原則為:
其中:n的取值范圍為[-(s-1)/2,(s-1)/2]。
2.1.5 遮擋檢測(cè)
當(dāng)被跟蹤物體存在被遮擋時(shí),會(huì)發(fā)生模型更新錯(cuò)誤,從而造成跟蹤漂移。為處理這一現(xiàn)象,常采用峰值旁瓣比(peak to sidelobe ratio,PSR)來檢測(cè)目標(biāo)受到周圍物體遮擋等環(huán)境條件干擾的情況。PSR值越高,則表示待測(cè)物體預(yù)測(cè)區(qū)域的置信度越高。PSR 計(jì)算公式如式(14)所示。
其中:ymax為響應(yīng)圖的峰值,τs為響應(yīng)圖的均值,ξs為響應(yīng)圖的標(biāo)準(zhǔn)差。
PSR 值越高,說明相似水平越高,追蹤的結(jié)果也越準(zhǔn)確。文獻(xiàn)[15]實(shí)驗(yàn)結(jié)果表明:當(dāng)PSR 值超過8時(shí),追蹤目標(biāo)比較穩(wěn)定;當(dāng)PSR 值小于5時(shí),被認(rèn)為跟蹤目標(biāo)已經(jīng)失敗。將圖像前后2幀之間相似性的權(quán)重系數(shù)θ設(shè)為θ=PPSR。權(quán)重系數(shù)θ越大,說明前后2幀確定的目標(biāo)越相似,被遮擋的概率也就越小,在實(shí)驗(yàn)中設(shè)θ小于7時(shí)跟蹤失敗。通過將相似性權(quán)重用作模型更新,可以使算法對(duì)目標(biāo)的變化和遮擋等情況具有更強(qiáng)的適應(yīng)性和魯棒性,從而提高跟蹤的準(zhǔn)確性和可靠性。傳統(tǒng)的目標(biāo)跟蹤檢測(cè)大多是通過全圖遍歷搜索,使得跟蹤的實(shí)時(shí)性很差。當(dāng)目標(biāo)跟蹤失敗時(shí),用目標(biāo)跟蹤失敗前幀輸出的目標(biāo)框參數(shù)初始化卡爾曼濾波器,預(yù)測(cè)當(dāng)前幀中目標(biāo)的位置,并與當(dāng)前幀的實(shí)際目標(biāo)位置相比較,通過卡爾曼系數(shù)對(duì)位置進(jìn)行修正,確定當(dāng)前幀的目標(biāo)跟蹤位置。這樣,通過引入卡爾曼濾波器減少了大量無意義的搜索窗口和背景中相似物體的干擾。
傳統(tǒng)的ORB 算法無法解決尺度不變性、固定的閾值選擇、誤提取和誤匹配等問題,達(dá)不到對(duì)目標(biāo)圖像特征點(diǎn)實(shí)現(xiàn)準(zhǔn)確地提取和匹配的要求。為了解決這些問題,提出了一種改進(jìn)的ORB 算法。首先,利用高斯濾波模板獲取圖像各尺度下的Hessian矩陣特征值;其次,在3×3×3空間區(qū)域中選擇最優(yōu)特征點(diǎn),并將灰度質(zhì)心給出的方向信息附加到二元描述符字符串上;最后,利用PROSAC 算法消除誤匹配,從而找到正確匹配比例最高的點(diǎn)集。
2.2.1 特征點(diǎn)檢測(cè)
改進(jìn)的ORB 算法使用Hessian矩陣檢測(cè)特征點(diǎn),使用行列式值表示像素周圍的變化,選擇行列式值最大和最小的像素作為候選特征點(diǎn)。相比傳統(tǒng)ORB算法,改進(jìn)后的算法在具有豐富圖像紋理的區(qū)域中提取的特征點(diǎn)數(shù)量不會(huì)顯著增多,從而避免了特征點(diǎn)匹配區(qū)域過于密集、匹配精度降低的問題。在圖像K中隨機(jī)選取m=(x,y)處Hessian矩陣的α場(chǎng),定義為式(15)。
其中:Kxx(m,α)、Kxy(m,α)、Kyy(m,α)為高斯二階偏導(dǎo)數(shù)與圖像K在點(diǎn)m處的卷積值。為了加快特征點(diǎn)的檢測(cè),使用平方濾波器和積分圖像來計(jì)算圖像的尺度空間,并且在不同的坐標(biāo)方向上使用不同的權(quán)值。然后通過detH=DxxDyy-(0.9Dxy)2得到Hessian矩陣的近似值,其中:Dxx、Dyy、Dxy為坐標(biāo)方向上的平方濾波結(jié)果,0.9為通過大量實(shí)驗(yàn)得到的經(jīng)驗(yàn)參數(shù)。
在獲得不同尺度的特征點(diǎn)后,采用灰度質(zhì)心法計(jì)算其方向信息。設(shè)S=(x,y)是圖像K上的一個(gè)特征點(diǎn),其鄰域矩定義為圖像K的0階矩和1階矩因子分別為和鄰域質(zhì)心表達(dá)式如式(16)所示。
S到鄰域質(zhì)心的矢量定義為D,S到(M01,M10)的方位角函數(shù)θ=arctan(M01,M10)。
2.2.2 特征點(diǎn)描述
ORB算法中使用二進(jìn)制的魯棒獨(dú)立元特征(binary robust independent elementary features,BRIEF)描述子對(duì)提取的特征點(diǎn)進(jìn)行闡述。首先,以特征點(diǎn)P為圓心,以r為半徑畫圓;其次,在鄰域中隨機(jī)選取n個(gè)像素對(duì);然后,利用式(17)計(jì)算所有點(diǎn)對(duì)的T值。
其中:IA為點(diǎn)A的灰度;IB為點(diǎn)B的灰度值;P(A,B)為像素對(duì);T值是根據(jù)點(diǎn)A和點(diǎn)B的灰度值計(jì)算出來的一個(gè)二進(jìn)制編碼,用于描述點(diǎn)A和點(diǎn)B之間的相對(duì)位置關(guān)系。P的特征描述符是將n個(gè)點(diǎn)對(duì)的T值組合在一起,得到長(zhǎng)度為n的二進(jìn)制字符串,如式(18)所示。在實(shí)際應(yīng)用中,通常BRIEF 算法中點(diǎn)對(duì)選為256個(gè),每個(gè)特征點(diǎn)生成256位的二進(jìn)制碼。
式中:τ為灰度差的二值化函數(shù)。
為了更好地解決由于圖像旋轉(zhuǎn)導(dǎo)致的錯(cuò)誤匹配問題,提出了結(jié)合特征點(diǎn)的主方向θ的解決方案。假設(shè)有n對(duì)位置信息,其坐標(biāo)為(xj,yj),構(gòu)造2×n矩陣,如式(19)所示。
首先,M通過Mθ=RθM成為一個(gè)有向矩陣,其中Rθ=然后,生成具有方向的二元描述串:
生成不同尺度特征點(diǎn)的二值描述串后,漢明距離大于閾值的點(diǎn)對(duì)將被粗略地識(shí)別為匹配成功的點(diǎn)。
2.2.3 特征點(diǎn)匹配
由于圖像特征點(diǎn)描述符是一個(gè)二進(jìn)制字符串,因此只需要計(jì)算2個(gè)特征點(diǎn)描述符之間的漢明距離就可以判斷它們之間的相似度。在實(shí)際的計(jì)算環(huán)境下,這一運(yùn)算能夠通過非常簡(jiǎn)單的按位“異或”實(shí)現(xiàn)。使用以上方法獲取的匹配特征,通常會(huì)存在許多誤匹配的點(diǎn)對(duì)。為了提高匹配精度,采用基于改進(jìn)ORB特征點(diǎn)的漸進(jìn)式均勻采樣法PROSAC算法進(jìn)行改進(jìn),以減少錯(cuò)誤匹配數(shù)量。PROSAC 算法是在原有隨機(jī)抽樣一致性算法(random sample consensus,RANSAC)上的一種優(yōu)化,該算法從整個(gè)集合中均勻地采樣,并且從最佳對(duì)應(yīng)點(diǎn)的遞增集合中采樣,以限制特征點(diǎn)的數(shù)量。它具有計(jì)算量小、運(yùn)算速度快的優(yōu)點(diǎn)。受到信噪比、視角改變等各種因素的共同作用,在匹配的特征點(diǎn)中必然會(huì)產(chǎn)生不匹配點(diǎn)。這些不匹配點(diǎn)可以通過PROSAC算法加以去除,并對(duì)匹配的特征點(diǎn)再加以純化。去除匹配點(diǎn)的具體流程如下:
1)根據(jù)特征描述的距離,將特征點(diǎn)按降序排列。
2)選取與特征點(diǎn)相對(duì)應(yīng)的基本矩陣,計(jì)算相應(yīng)的極限距離平方和。若極限距離平方和小于閾值F,則可以判定為是所需要的匹配點(diǎn)對(duì)。設(shè)v和b表示一對(duì)匹配的點(diǎn),如果匹配點(diǎn)對(duì)不是錯(cuò)誤匹配點(diǎn),那么函數(shù)就存在,則有:
其中:F為基本矩陣。
3)迭代流程1)和2),直到迭代次數(shù)達(dá)到設(shè)定值的上限1 000次。
在對(duì)實(shí)際目標(biāo)進(jìn)行三維追蹤時(shí),需要將實(shí)際場(chǎng)景中的目標(biāo)與虛擬模型進(jìn)行融合,以便在虛擬場(chǎng)景中呈現(xiàn)出實(shí)際目標(biāo)的運(yùn)動(dòng)軌跡和狀態(tài)。為了將相機(jī)拍攝的圖像與虛擬模型進(jìn)行融合,首先需要采集相機(jī)的內(nèi)部參數(shù)和外部參數(shù)矩陣,包括相機(jī)的焦距、主點(diǎn)坐標(biāo)、畸變系數(shù)等;然后利用這些參數(shù)計(jì)算出相機(jī)的三維注冊(cè)矩陣,將相機(jī)拍攝的二維圖像轉(zhuǎn)換為三維坐標(biāo);最后將目標(biāo)的三維注冊(cè)與虛擬模型的三維坐標(biāo)進(jìn)行匹配和融合,實(shí)現(xiàn)對(duì)目標(biāo)的三維注冊(cè)和追蹤。坐標(biāo)變換過程如下:
其中:(x1,y1,1)T為屏幕坐標(biāo)系,(Xc,Yc,Zc,1)T為相機(jī)坐標(biāo)系,h為比例因子,(Xm,Ym,Zm,1)T為目標(biāo)圖像坐標(biāo)系,矩陣C為相機(jī)內(nèi)部參數(shù)矩陣,Tm為相機(jī)外部參數(shù)矩陣。內(nèi)部參數(shù)矩陣是通過相機(jī)預(yù)先校準(zhǔn)獲得的,而外部參數(shù)矩陣是未知的。如果AR 系統(tǒng)畫面沒有出現(xiàn)需要注冊(cè)的圖片,需要進(jìn)行模板的特征匹配,具體步驟如下:
1)采集現(xiàn)實(shí)世界中的圖像或視頻,并獲取其相機(jī)參數(shù);
2)在虛擬世界中創(chuàng)建一個(gè)3D 模型或場(chǎng)景,并設(shè)置其相機(jī)參數(shù);
3)從采集到的現(xiàn)實(shí)世界圖像中提取特征點(diǎn);
4)對(duì)虛擬世界中的3D 模型或場(chǎng)景進(jìn)行特征點(diǎn)提取;
5)根據(jù)提取的特征點(diǎn),計(jì)算參考物體或標(biāo)記的位置和姿態(tài)信息;
6)將計(jì)算得到的位置和姿態(tài)信息與虛擬模型進(jìn)行匹配,實(shí)現(xiàn)虛實(shí)結(jié)合;
7)實(shí)時(shí)渲染虛擬模型,并將其疊加到真實(shí)場(chǎng)景中。
增強(qiáng)現(xiàn)實(shí)三維注冊(cè)實(shí)現(xiàn)過程如圖2所示[16]。
圖2 增強(qiáng)現(xiàn)實(shí)的三維注冊(cè)流程Fig.2 3D registration process of the augmented reality
所提出的基于特征互補(bǔ)算法和卡爾曼濾波融合算法的步驟如下:
1)給定視頻序列的第1幀,創(chuàng)建初始幀的相關(guān)濾波模型h和顏色直方圖分類器模型β;
2)在第t幀處采集候選樣本,提取HOG 特征Z,計(jì)算最大響應(yīng)ftmpl(x);
3)添加二值掩碼以減少背景等干擾因素,通過顏色直方圖模型β,計(jì)算特征響應(yīng)fhist(x);
4)使用式(1)對(duì)最大響應(yīng)值ftmpl(x)和特征響應(yīng)值fhist(x)進(jìn)行響應(yīng)融合,由響應(yīng)圖f(x)得到對(duì)應(yīng)區(qū)域,并定義為新的目標(biāo)位置(x,y);
5)通過響應(yīng)圖的目標(biāo)分?jǐn)?shù)判斷是否發(fā)生遮擋,若f(x)≤τ,則引入卡爾曼濾波器,重新搜索到目標(biāo)后,再進(jìn)行位置更新;
6)濾波器模型h通過線性加權(quán)進(jìn)行更新,顏色直方圖模型β的更新方法也采用線性加權(quán)的方法;
7)跟蹤完成后,使用改進(jìn)的ORB 算法對(duì)待注冊(cè)區(qū)域進(jìn)行特征點(diǎn)檢測(cè),確定需要注冊(cè)的目標(biāo)區(qū)域;
8)完成特征點(diǎn)檢測(cè)后,進(jìn)行特征點(diǎn)匹配和誤匹配點(diǎn)剔除,計(jì)算三維注冊(cè)矩陣,最終實(shí)現(xiàn)對(duì)真實(shí)世界與虛擬物體的疊加。
實(shí)驗(yàn)所用的硬件環(huán)境為:Intel(R)Core(TM)i5-9300HF CPU @2.40 GHz,16 G 內(nèi)存。仿真環(huán)境為:Windows10 操作系統(tǒng),Matlab2018a,VS2019,Opencv3.4.5。正則化系數(shù)為0.001,HOG 特征相關(guān)濾波器學(xué)習(xí)率為0.01,顏色直方圖分類器的學(xué)習(xí)率為0.04,其他參數(shù)與Staple算法一致。
為了驗(yàn)證本文方法跟蹤目標(biāo)的有效性,分別將核相關(guān)濾波器(kernelized correlation filter,KCF)算法、Staple算法、本文方法對(duì)視覺跟蹤基準(zhǔn)數(shù)據(jù)集OTB-2015進(jìn)行跟蹤,采用一次通過評(píng)估(one-pass evaluation,OPE)方法的精確度圖進(jìn)行定量分析。3種算法在基準(zhǔn)數(shù)據(jù)集上的精確度圖見圖3。選取一段本文制作的有關(guān)電氣柜目標(biāo)跟蹤的實(shí)驗(yàn)數(shù)據(jù)集(見圖4)進(jìn)行定性分析,可知:總幀數(shù)達(dá)322 幀,視頻中存在場(chǎng)景復(fù)雜、尺度多變、異物遮擋等復(fù)雜的環(huán)境因素。圖4給出了空氣開關(guān)的跟蹤結(jié)果。
圖3 3種跟蹤算法的OPE精確度曲線圖Fig.3 OPE accuracy curves of three tracking algorithms
圖4 KCF、Staple和本文算法部分視頻幀跟蹤結(jié)果對(duì)比Fig.4 Comparison of video frame tracking results of KCF,Staple and the algorithm in this paper
從圖3可以看出:本文改進(jìn)Staple算法的精確度為0.816,Staple算法的精確度為0.773,KCF 算法的精確度為0.694,改進(jìn)的Staple跟蹤算法相比原始算法在對(duì)目標(biāo)跟蹤的精確度上提高了5.6%,驗(yàn)證了改進(jìn)算法的有效性。圖4中的跟蹤數(shù)據(jù)依次為第10、88、146、219、258、300幀。在第10幀中可以看出,開始時(shí)背景干擾很小且無遮擋的情形下,所選的3種方法均可以追蹤到目標(biāo);在第88幀中,開始時(shí)存在背景干擾且存在小部分遮擋的情形,Staple算法與KCF算法的追蹤窗口分散,無法全部追蹤到目標(biāo);在第146 幀中存在遮擋的情形下,使用KCF算法跟蹤會(huì)發(fā)生跟蹤漂移,已經(jīng)無法正常跟蹤目標(biāo),用Staple算法雖然也能夠追蹤到目標(biāo),但是被導(dǎo)線擋住,導(dǎo)致目標(biāo)顯示不完整;在第219幀中,KCF算法還是無法正常跟蹤目標(biāo),Staple算法由于受到導(dǎo)線遮擋出現(xiàn)跟蹤丟失的情況;在第258、300幀中,KCF算法和Staple算法由于背景和遮擋的干擾已經(jīng)無法正常跟蹤,全程下來只有本文算法能夠正常跟蹤,魯棒性好。改進(jìn)Staple算法和原始Staple算法在基準(zhǔn)數(shù)據(jù)集上跟蹤目標(biāo)的平均運(yùn)行速度分別為72.2 幀/s和45.5幀/s,滿足目標(biāo)跟蹤實(shí)時(shí)性的要求。
為了驗(yàn)證特征匹配結(jié)果,本文選擇具備尺寸改變、角度變化等特征的數(shù)據(jù)進(jìn)行特征匹配。選擇自適應(yīng)和可擴(kuò)展的關(guān)鍵點(diǎn)檢測(cè)與描述算法(accelerated kernels for accelerated zeta features,AKAZE)、快速可旋轉(zhuǎn)角度不變特征檢測(cè)算法(binary robust invariant scalable keypoints,BRISK)、ORB與本文方法進(jìn)行對(duì)比。部分結(jié)果如圖5所示。
圖5為拍攝的有關(guān)電氣柜圖片,選取其中具有顯著尺寸變化的場(chǎng)景作為數(shù)據(jù)集,圖像中的特征匹配點(diǎn)用線條表示。從圖5中可以看出,AKAZE 算法、BRISK 算法和ORB 算法在暴力搜索算法(brute force,BF)下都能夠檢測(cè)到特征點(diǎn),其中:AKAZE算法和BRISK 算法會(huì)出現(xiàn)一些誤匹配點(diǎn),ORB算法誤匹配點(diǎn)少,但是檢測(cè)到的特征點(diǎn)數(shù)量也較少,只有本文改進(jìn)的ORB 算法對(duì)特征點(diǎn)的匹配更為精確。表1為4種算法的特征點(diǎn)檢測(cè)個(gè)數(shù)及誤匹配點(diǎn)個(gè)數(shù),可以看到本文算法匹配到的特征點(diǎn)最多且誤匹配數(shù)最少。以上4種算法特征點(diǎn)匹配的速率見圖6。從圖6可以看出:ORB算法運(yùn)行最快,平均在80 ms左右;然后是本文算法,平均在120 ms左右;而AKAZE算法和BRISK 算法運(yùn)行時(shí)間遠(yuǎn)大于本文算法的運(yùn)行時(shí)間。圖7為算法匹配的準(zhǔn)確率對(duì)比,可以看出:本文改進(jìn)的ORB 算法在準(zhǔn)確率上均高于其他3種傳統(tǒng)算法。綜上所述,本文改進(jìn)的ORB算法運(yùn)行時(shí)間較快,匹配精度較高,能夠滿足對(duì)增強(qiáng)現(xiàn)實(shí)三維注冊(cè)系統(tǒng)的需求。
表1 特征點(diǎn)匹配算法比較Tab.1 Comparison of feature point matching algorithms
圖6 算法運(yùn)行時(shí)間對(duì)比Fig.6 Comparison of algorithm running time
圖7 算法準(zhǔn)確率對(duì)比Fig.7 Comparison of algorithm accuracy
由于加速穩(wěn)健特征(speeded-up robust features,SURF)算法實(shí)質(zhì)上是對(duì)尺度不變特征變換(scale-invariant feature transform,SIFT)算法進(jìn)行的改進(jìn),該算法在保持精度的前提下提升了匹配速度,在同類特征匹配算法中算是優(yōu)秀代表,所以選擇SURF算法與本文算法進(jìn)行比較。在進(jìn)行實(shí)時(shí)三維跟蹤注冊(cè)時(shí),分別截取目標(biāo)對(duì)象在正面注冊(cè),旋轉(zhuǎn)一定角度、一定視角和目標(biāo)遮擋4種不同場(chǎng)景下的注冊(cè)結(jié)果,如圖8、圖9所示。
圖8 SURF算法的三維注冊(cè)結(jié)果Fig.8 SURF algorithm 3D registration results
圖9 改進(jìn)ORB算法的三維注冊(cè)結(jié)果Fig.9 3D registration results of the improved ORB algorithm
通過比較圖8和圖9可以看出:在目標(biāo)正面和旋轉(zhuǎn)一定角度的情況下,SURF 算法和本文算法都能夠正常注冊(cè),而當(dāng)目標(biāo)被遮擋后,SURF算法無法將虛擬物體疊加到待注冊(cè)區(qū)域,注冊(cè)失敗。綜上所述,本文方法能夠滿足實(shí)時(shí)三維跟蹤注冊(cè)需求,且在目標(biāo)發(fā)生視角改變或者被異物遮擋時(shí)均能正常工作。
本文為了解決AR 輔助檢修系統(tǒng)中的目標(biāo)跟蹤和注冊(cè)精確度低的問題,提出了改進(jìn)Staple跟蹤算法和改進(jìn)ORB 增強(qiáng)現(xiàn)實(shí)注冊(cè)算法。改進(jìn)的Staple算法采用圖像掩膜和卡爾曼濾波器提高了目標(biāo)跟蹤的準(zhǔn)確性,改進(jìn)的特征點(diǎn)提取和誤匹配點(diǎn)剔除的方法提高了注冊(cè)的精度。改進(jìn)后的ORB 算法能夠在有角度改變和異物遮擋等復(fù)雜環(huán)境下對(duì)待注冊(cè)區(qū)域進(jìn)行精準(zhǔn)的虛擬模型疊加。從標(biāo)準(zhǔn)數(shù)據(jù)集OTB-2015和開關(guān)柜視頻測(cè)試結(jié)果可以看出:改進(jìn)算法的OPE精確度比Staple算法提高了5.6%,速度提升了約2倍。使用本文方法具有更好的跟蹤注冊(cè)效率,能夠滿足AR 輔助檢修系統(tǒng)實(shí)現(xiàn)跟蹤注冊(cè)的實(shí)時(shí)性、準(zhǔn)確性。實(shí)驗(yàn)中發(fā)現(xiàn),若出現(xiàn)長(zhǎng)時(shí)間的跟蹤注冊(cè),會(huì)受到場(chǎng)景、背景、周圍物體等外界因素的干擾,從而降低跟蹤注冊(cè)的準(zhǔn)確度和穩(wěn)定性。為了進(jìn)一步提高長(zhǎng)時(shí)間跟蹤注冊(cè)的準(zhǔn)確度和穩(wěn)定性,需要對(duì)算法增加特征的多樣性或者結(jié)合上下文信息來解決。