王 冠,易 航,張 恒,廖友萍
(北京宇航系統(tǒng)工程研究所,北京,100076)
計(jì)算機(jī)科學(xué)與總線技術(shù)的快速發(fā)展帶動(dòng)計(jì)算機(jī)視覺技術(shù)從初具雛形到逐漸成熟完善。如今工業(yè)產(chǎn)業(yè)的迅速發(fā)展與計(jì)算機(jī)視覺技術(shù)的日趨成熟有著密不可分的關(guān)系,在諸多領(lǐng)域如科研、制造加工、醫(yī)療等都可以看到計(jì)算機(jī)視覺模塊的應(yīng)用。計(jì)算機(jī)視覺技術(shù)不僅可以起到替代人眼的效果,降低成本,同時(shí)還能夠提高生產(chǎn)效率與穩(wěn)定性,在實(shí)際生產(chǎn)中與傳統(tǒng)的人力相比有著非常明顯的優(yōu)勢。
噴管是構(gòu)成運(yùn)載火箭發(fā)動(dòng)機(jī)的一個(gè)重要元件,發(fā)動(dòng)機(jī)通過噴管擺動(dòng)實(shí)現(xiàn)對運(yùn)載火箭俯仰、偏航和滾轉(zhuǎn)的控制[1]。目前,發(fā)動(dòng)機(jī)噴管擺動(dòng)極性測試仍采用人工目測法,測試耗時(shí)且結(jié)果不可追溯。為此,本文提出一套基于計(jì)算機(jī)視覺方法的測量系統(tǒng),通過對預(yù)先采集的視頻流進(jìn)行穩(wěn)像技術(shù)處理,然后應(yīng)用基于顏色模型、邊界輪廓聚類、幀背景差分、光流跟蹤、半監(jiān)督學(xué)習(xí)等實(shí)時(shí)在線和離線識(shí)別跟蹤方法并對各個(gè)算法結(jié)果進(jìn)行自適應(yīng)權(quán)重融合,最終計(jì)算得到各噴管的擺動(dòng)軌跡、角度與極性。
該方案研究與實(shí)現(xiàn)的總體框架如圖1所示,具體分為在線識(shí)別算法、離線模型訓(xùn)練兩部分。a)在線識(shí)別算法包括:顏色模型法、橢圓檢測法、幀差輪廓法和光流特征法4種,對實(shí)時(shí)視頻流進(jìn)行了視頻穩(wěn)像處理獲得數(shù)字去抖動(dòng)的視頻,然后應(yīng)用多種在線識(shí)別跟蹤算法對發(fā)動(dòng)機(jī)極性進(jìn)行識(shí)別和判斷;b)離線模型訓(xùn)練是通過少量人工標(biāo)注和對在線識(shí)別跟蹤算法結(jié)果的迭代來訓(xùn)練一個(gè)半監(jiān)督學(xué)習(xí)模型。

圖1 系統(tǒng)總體框架Fig.1 System Pipeline
4種在線識(shí)別跟蹤算法,不需要預(yù)先訓(xùn)練相關(guān)模型即可實(shí)時(shí)地對發(fā)動(dòng)機(jī)噴管擺動(dòng)進(jìn)行跟蹤。不同于在線算法,離線訓(xùn)練模塊主要為半監(jiān)督學(xué)習(xí),通過對反復(fù)收集的歷次在線算法數(shù)據(jù)及少量的人工標(biāo)注數(shù)據(jù)進(jìn)行特征提取并訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型參數(shù)、各噴管的極性、位置與大小。
最后將以上所有方法得出的運(yùn)動(dòng)模型置于一個(gè)基于權(quán)重的多樣例在線學(xué)習(xí)模型中進(jìn)行自適應(yīng)融合,得到更為精準(zhǔn)的目標(biāo)運(yùn)動(dòng)信息,從而得出最終極性判斷。
后處理視頻穩(wěn)像技術(shù)分為3個(gè)步驟:a)估計(jì)原始攝像頭路徑C;b)估計(jì)出新的平滑攝像頭路徑P;c)使用優(yōu)化的平滑攝像頭路徑來重新合成穩(wěn)像視頻流[2]。將優(yōu)化攝像頭路徑看作靜態(tài)、線性和二次曲線運(yùn)動(dòng)分割構(gòu)成,即運(yùn)動(dòng)模型方程的一階、二階、三階微分項(xiàng)等于零。然后通過線性規(guī)劃方法優(yōu)化路徑的一階、二階、三階微分方程[3],需要優(yōu)化最小值的目標(biāo)方程為

式中P為新的平滑路徑;1ω,2ω,3ω分別為預(yù)設(shè)的超參數(shù)。
該方法可以有效去除視頻流中由于攝像頭移動(dòng)而形成的抖動(dòng)[4],圖2為算法中不斷更新穩(wěn)定矩陣B以估算最優(yōu)的攝像頭路徑的過程。

圖2 估算攝像頭路徑優(yōu)化過程Fig.2 Estimating Camera Path Optimization Process
圖3為發(fā)動(dòng)機(jī)極性測試系統(tǒng)中幀差輪廓法的具體流程。先對實(shí)時(shí)視頻流進(jìn)行圖像預(yù)處理,再用前景減除法[5]得到運(yùn)動(dòng)物體輪廓,之后經(jīng)過腐蝕、膨脹等處理循環(huán)監(jiān)測得到輪廓從而確定噴管當(dāng)前時(shí)刻所在位置。

圖3 幀差輪廓法流程Fig.3 Frame Difference Method Pipeline
2.2.1 幀差分處理
在經(jīng)過灰度處理后,對視頻序列的當(dāng)前幀圖像與上一幀圖像進(jìn)行差分運(yùn)算,再次選擇預(yù)先根據(jù)經(jīng)驗(yàn)或者實(shí)驗(yàn)得到的閾值,最后對差分圖像的每個(gè)像素點(diǎn)進(jìn)行處理,通過該點(diǎn)的像素值與閾值大小的比較把差分圖像進(jìn)行二值化[6]。由于得到的二值圖像受到外界噪聲的干擾,使得部分背景圖也被當(dāng)做前景目標(biāo),同時(shí)得到的前景目標(biāo)中有空洞和小范圍的噪聲,最后對二值圖像運(yùn)用數(shù)學(xué)形態(tài)學(xué)的方法處理,來去除小范圍的噪聲和填補(bǔ)運(yùn)動(dòng)目標(biāo)內(nèi)部的空洞,消除外界的干擾得到比較理想的運(yùn)動(dòng)目標(biāo)圖像[7]。
2.2.2 輪廓檢測
針對數(shù)字化二值圖像的拓?fù)浣Y(jié)構(gòu)分析,Suzuki提出了邊界跟蹤算法。算法的本質(zhì)是確定二值圖像邊界之間的圍繞關(guān)系,即確定外邊界和孔邊界以及他們之間的層次關(guān)系,由于這些邊界和原圖的區(qū)域具有一對一的對應(yīng)關(guān)系(外邊界對應(yīng)像素值為1的連通域,孔邊界對應(yīng)像素值為0的孔洞),因此可用邊界來表示原圖。
通過Suzuki的算法并設(shè)定最小輪廓閾值可以得到運(yùn)動(dòng)目標(biāo)的輪廓,之后對輪廓計(jì)算最小包圍矩陣從而進(jìn)一步得出矩陣的偏轉(zhuǎn),由于攝像頭是靜態(tài)固定的,判斷幀之間最小包圍矩陣的擺點(diǎn)位置變化過大或者最小包圍矩陣的擺角變化過大的話,即為跟蹤失效,此時(shí)自動(dòng)修改輪廓閾值重新搜索或者引入光流特征法的特征群輔助搜索。幀差輪廓法過程效果如圖4所示。

圖4 幀差輪廓法過程效果Fig.4 Frame Difference Method Result
圖5 為發(fā)動(dòng)機(jī)極性測試系統(tǒng)中顏色模型法的具體流程。本方法先對實(shí)時(shí)視頻流進(jìn)行圖像預(yù)處理后,分別應(yīng)用Sobel算子和HSV、RGB特征提取與融合,然后通過卡爾曼濾波運(yùn)動(dòng)估計(jì)計(jì)算出噴管的位置。
顏色模型法過程效果如圖6所示。

圖5 顏色模型法流程Fig.5 Color Model Method Pipeline

圖6 顏色模型法過程效果Fig.6 Color Model Method Result
2.3.1 色塊邊緣方向直方圖與HSV顏色直方圖
對于灰度圖像的像素矩陣 A,使用水平和垂直 2個(gè)Sobel算子矩陣來計(jì)算圖像中像素水平梯度Gx與垂直梯度Gy,進(jìn)而計(jì)算出像素的梯度方向Θ為

對Θ進(jìn)行篩選,若大于所設(shè)閾值,則認(rèn)為是邊緣,然后判斷該邊緣周圍像素的灰度值是否一致,若不一致,則認(rèn)為是色塊邊緣。將篩選出來的色塊邊緣的Θ取值范圍分成4等份,再將Θ進(jìn)行量化即得到色塊邊緣方向直方圖[8]。
2.3.2 卡爾曼濾波
卡爾曼濾波是一種對動(dòng)態(tài)系統(tǒng)序列進(jìn)行線性最小誤差估計(jì)的算法,它利用測量值修正估計(jì)的狀態(tài),提供可靠的狀態(tài)估計(jì),通過狀態(tài)方程和觀測方程來描述一個(gè)動(dòng)態(tài)系統(tǒng)。在數(shù)學(xué)上可以證明在預(yù)測過程和觀測過程都為高斯線性時(shí),按照卡爾曼方法做加權(quán)最優(yōu)[9]。
卡爾曼濾波的優(yōu)點(diǎn)是對目標(biāo)運(yùn)動(dòng)進(jìn)行了建模,且算法快速可靠易于實(shí)現(xiàn);缺點(diǎn)是不對目標(biāo)的特征進(jìn)行建模,判別力較差,不過與幀差輪廓法的融合可以彌補(bǔ)這方面的缺陷;而且限定目標(biāo)運(yùn)動(dòng)服從線性高斯分布,這個(gè)條件對于發(fā)動(dòng)機(jī)噴管的擺動(dòng)運(yùn)動(dòng)來說是完美契合的。
圖7為橢圓檢測法的具體流程。

圖7 橢圓檢測法流程Fig.7 Ellipse Detection Method Pipeline
首先對實(shí)時(shí)視頻流進(jìn)行一系列圖像預(yù)處理,之后通過角點(diǎn)、邊界檢測與過濾提取出散態(tài)圓弧,然后通過多尺度聚類算法的擬合得到噴管底部的位置,從而獲得各噴管的極性信息。
取候選橢圓弧和候選橢圓弧對應(yīng)的邊界列,采用對橢圓缺損不敏感的直接最小二乘法計(jì)算所有候選橢圓的參數(shù)候選橢圓并非真實(shí)橢圓,對于任一候選橢圓,采用式(5)判斷邊界像素是否在候選橢圓上:

式中 p,q為候選橢圓圓心坐標(biāo);r1,r2,θ分別為候選橢圓長、短半徑及圓弧夾角。
設(shè)定邊界像素?cái)?shù)量為ε1,像素總數(shù)為ε2,統(tǒng)計(jì)ε2%<di<ε1時(shí),則判定該候選橢圓真實(shí)存在。取 ε1為 2~4、ε2為 45時(shí),篩選效果良好。圖8為橢圓檢測法過程效果。

圖8 橢圓檢測法過程效果Fig.8 Ellipse Detection Method Result
圖9 為發(fā)動(dòng)機(jī)極性測試系統(tǒng)中光流特征法的具體流程。本方法先對實(shí)時(shí)視頻流進(jìn)行特征點(diǎn)的抽取,然后通過計(jì)算光流域與卡爾曼濾波來估算位置信息,從而得到各發(fā)動(dòng)機(jī)點(diǎn)群的運(yùn)動(dòng)軌跡[10]。
2.5.1 特征點(diǎn)提取
本系統(tǒng)選取Harris角點(diǎn)與FAST關(guān)鍵點(diǎn)作為特征點(diǎn)對每一幀視頻圖像進(jìn)行特征點(diǎn)提取。該方法計(jì)算圖像上所有像素點(diǎn)灰度的二階導(dǎo)數(shù),因?yàn)榈玫降亩A導(dǎo)數(shù)圖像源于二維Hessian矩陣:

式中 p為特征點(diǎn);I為灰度值。
一個(gè)年紀(jì)已經(jīng)過了六十的老人扛了一對大傀儡從后海走來,到了場坪,四下望人,似乎很明白這不是玩傀儡的地方,但莫可奈何的停頓下來。

圖9 光流特征法流程Fig.9 Optical Flow Method Pipeline
在Hessian圖像的自相關(guān)矩陣上有兩個(gè)最大特征值的位置就是 Harris角點(diǎn)。如果對應(yīng)到原圖像上,這個(gè)位置實(shí)際上是表示以此點(diǎn)為中心,周圍至少存在 2個(gè)不同方向的邊緣(或者紋理)的地方,也就是拐角的位置。一階導(dǎo)數(shù)對均勻變化的梯度會(huì)產(chǎn)生響應(yīng),而二階導(dǎo)數(shù)對均勻變化梯度不產(chǎn)生響應(yīng),故Harris角點(diǎn)能夠克服均勻變化梯度產(chǎn)生的影響,同時(shí),由于Harris角點(diǎn)通過Hessian圖像的自相關(guān)矩陣計(jì)算得到,所以滿足旋轉(zhuǎn)不變性,能提高檢測的魯棒性[11]。
FAST特征點(diǎn)是Rosten等提出的一種快速角點(diǎn)特征檢測算子,F(xiàn)AST特征點(diǎn)檢測具有很強(qiáng)的實(shí)時(shí)性。FAST特征點(diǎn)的提取是針對每個(gè)像素點(diǎn)m,考慮以m為中心的離散圓上的點(diǎn)。若存在圓上點(diǎn)和其直徑方向上的對應(yīng)點(diǎn)與m點(diǎn)的灰度值相近,則認(rèn)為m不是特征點(diǎn)。由式(7)可近似:

式中 Ra為離散圓半徑;τ為選取的閾值。
將圖像離散化,實(shí)際并非將圖像上 2個(gè)直徑相對的點(diǎn)進(jìn)行比較,而是與其直徑相鄰的點(diǎn)比較。
2.5.2 Lucas-Kanade 稀疏光流算法
光流是空間運(yùn)動(dòng)物體在觀察成像平面上的像素運(yùn)動(dòng)的瞬時(shí)速度,是利用圖像序列中像素在時(shí)間域上的變化以及相鄰幀之間的相關(guān)性得到上一幀與當(dāng)前幀之間存在的對應(yīng)關(guān)系,從而計(jì)算出相鄰幀之間物體運(yùn)動(dòng)信息的一種方法。
由于大多數(shù)攝像機(jī)的運(yùn)動(dòng)是大而不連貫的,因此Lucas-Kanade光流在一些場景中的跟蹤效果并不理想,需要一個(gè)大窗口來捕捉大運(yùn)動(dòng),而大窗口通常會(huì)違背運(yùn)動(dòng)連貫的假設(shè)。圖像金字塔可在一定程度上解決這個(gè)問題,即最初在較大的空間尺度上進(jìn)行跟蹤,再通過圖像金字塔不斷縮小跟蹤尺度來修正初始運(yùn)動(dòng)速度的假定。對于發(fā)動(dòng)機(jī)噴管擺動(dòng)來說,擺動(dòng)角度在4~12°;擺動(dòng)時(shí)間約為2 s,要求攝像頭硬件采集幀率不小于24 Hz。光流特征法過程效果如圖10所示。

圖10 光流特征法過程效果Fig.10 Optical Flow Method Result
在系統(tǒng)設(shè)計(jì)和開發(fā)實(shí)踐過程中對整體架構(gòu)和算法進(jìn)行不斷地更改與完善,使得系統(tǒng)的魯棒性、準(zhǔn)確性、穩(wěn)定性與實(shí)時(shí)性需求得到保證與提升。
無論是幀差輪廓法中的輪廓檢測還是光流特征法中的特征點(diǎn)聚類都可能出現(xiàn)因?yàn)檎趽酢⑦\(yùn)動(dòng)速度過快、分辨率低而導(dǎo)致的目標(biāo)追蹤失效。本系統(tǒng)將光流特征法中的特征點(diǎn)位置作為輸入輔助輪廓檢測,可以提高幀差輪廓法的魯棒性。光流特征法的魯棒性也可以通過將幀差輪廓法過程中檢測出的輪廓輔助輸入到特征點(diǎn)聚類問題上而得到提升。2個(gè)方法互為冗余,即由于其中一個(gè)算法在視頻流中某些幀中達(dá)不到閾值而檢測失效時(shí),另外一個(gè)算法也能獨(dú)立完成極性的判斷,使整體魯棒性得到提升。
除了通過用不同算法間模塊相互輔助、替換的方法來提升整體魯棒性,將單一算法中具有優(yōu)秀魯棒性的模塊直接應(yīng)用于其他算法,可以幫助其快速地達(dá)到閾值或排除擾動(dòng)。
相比于最初簡單的對2個(gè)算法的結(jié)果進(jìn)行均值處理,應(yīng)用基于權(quán)重的多樣例在線學(xué)習(xí)來進(jìn)行多算法的融合解決了由于跟蹤偏移導(dǎo)致樣本出現(xiàn)的歧義性問題,克服了融合算法中的弱分類器退化問題,可以有效提高最終結(jié)果的精準(zhǔn)度。另外,經(jīng)過不斷的迭代,半監(jiān)督學(xué)習(xí)收集到的訓(xùn)練數(shù)據(jù)越來越多,離線訓(xùn)練得到的模型參數(shù)也越來越準(zhǔn)確、可靠。
為了確保測量結(jié)果的穩(wěn)定性,分別從軟件層面和硬件層面對攝像頭和視頻流進(jìn)行了設(shè)計(jì)。軟件層面上,通過建立攝像頭參數(shù)運(yùn)動(dòng)模型將抖動(dòng)和擾動(dòng)分解成靜態(tài)、線性運(yùn)動(dòng)和二次曲線運(yùn)動(dòng),通過線性規(guī)劃方法優(yōu)化各階微分方程,從而去除掉原始視頻流中不必要的抖動(dòng)和外來擾動(dòng)對系統(tǒng)穩(wěn)定性造成的影響。
硬件層面,選擇采用兩個(gè)垂直于火箭法向中心的攝像頭來采集視頻,如圖11所示。

圖11 雙攝像頭位置分布Fig.11 Dual Camera Position Distribution
相比于單一攝像頭,復(fù)數(shù)攝像頭可以有效解決由前后遮擋引起的跟蹤不穩(wěn)定問題;而且由于操控發(fā)動(dòng)機(jī)噴管的伺服機(jī)構(gòu)擁有伸、縮、向左、向右,共 4個(gè)自由度。此外,兩個(gè)攝像頭與橫縱坐標(biāo)系夾角為30°,這樣也會(huì)盡可能地減少有遮擋關(guān)系的 2個(gè)噴管之間的重合比例。
測試過程中大部分時(shí)間發(fā)動(dòng)機(jī)處于靜止?fàn)顟B(tài),流程中的若干次噴管擺動(dòng)平均時(shí)長約為2 s,擺動(dòng)角度為4~12°之間。當(dāng)攝像頭的采集頻率為24 Hz 時(shí),上下幀之間發(fā)動(dòng)機(jī)噴管的角度變化最多為 0.25°,因此需要系統(tǒng)能夠快速捕捉運(yùn)動(dòng)。考慮到系統(tǒng)的實(shí)時(shí)性需求,所涉及的算法均采用工程應(yīng)用類算法,并對各個(gè)算法中沒有交互的部分進(jìn)行了并行計(jì)算設(shè)計(jì)。系統(tǒng)要求的最終運(yùn)行速度不小于24 Hz。
基于計(jì)算機(jī)視覺的發(fā)動(dòng)機(jī)噴管擺動(dòng)極性測試系統(tǒng)不僅具有穩(wěn)定性,實(shí)時(shí)性等特點(diǎn),還通過各算法之間的協(xié)調(diào)與冗余提升了系統(tǒng)的準(zhǔn)確率與魯棒性。利用加裝于發(fā)動(dòng)機(jī)兩側(cè)的工業(yè)攝像頭采集的視頻流來實(shí)時(shí)判讀噴管擺動(dòng)極性,提高了測試的效率與覆蓋率,使整個(gè)測試過程可追溯,減少了人工判讀環(huán)節(jié)。
本文提出的基于計(jì)算機(jī)視覺的測試系統(tǒng)較傳統(tǒng)的人工目測法準(zhǔn)確率高、檢測時(shí)間短、降低人力成本、提高型號隊(duì)伍效率。