張 寧,張浩彬,吳建華,陽 媛,殷國棟
(1.東南大學機械工程學院,江蘇南京 211189;2.東南大學儀器科學與工程學院,江蘇南京 210096)
智能化是當下汽車行業(yè)的發(fā)展趨勢。其中攝像頭是智能車輛環(huán)境感知系統(tǒng)的重要部件。由于車輛自身的振動與可能的惡劣路況,攝像頭拍攝到的圖像不可避免地發(fā)生振動,對后續(xù)的圖像處理流程有較大的影響。機械穩(wěn)像與電子穩(wěn)像(electronic image stabilization,EIS)可以解決上述問題[1]。EIS基于圖像處理算法,不需要額外的機械結(jié)構,目前得到了更為廣泛的應用。忽略EIS系統(tǒng)中灰度化等預處理過程,EIS主要包括三部分[2]:①估計當前幀相對于參考幀的變換矩陣(運動估計);②對變換矩陣中的參數(shù)進行濾波(運動濾波);③逆補償和輸出圖像(運動補償)。
運動估計是EIS中最重要的一步,其方法主要包括塊匹配法、灰度投影法、相位相關匹配法、位平面匹配法、特征匹配法等[3]??紤]到車輛振動強度、實時性與匹配精度,特征匹配法較適合車內(nèi)的應用。圖像特征包括點特征、線特征、邊緣特征等,點特征由于其方便的后續(xù)處理得到了廣泛運用。點特征匹配的主要方法包括Harris算法、尺度不變特征變換(scale-invariant feature transform,SIFT)、快速魯棒特 征 算 法(speeded up robust features,SURF)、FAST(features from accelerated segment test)算法[4-7]。Matsushita等[8]在SIFT的基礎上提出優(yōu)化方案,使用最大穩(wěn)定極值區(qū)域特征探測器來檢測圖像特征點,其在大范圍測試序列中表現(xiàn)最佳,此外這種方法具有作為仿射協(xié)變的獨特屬性,這使得它對圖像的變化具有魯棒性。熊晶瑩[9]基于FAST算法原理提出了一種圖像亮度信息與圖像灰度值梯度信息相結(jié)合的特征點檢測策略,實現(xiàn)對強顯著性特征點的快速提取。
運動濾波的目的是分離主觀運動與非主觀抖動,以便后續(xù)圖像處理中反向補償非主觀的抖動。EIS中常用的濾波算法有均值濾波、最小二乘擬合濾波、B樣條曲線擬合濾波、卡爾曼濾波等[10-11]。由于具有實時性,卡爾曼濾波已成為研究的主流[12-13]。然而,卡爾曼濾波對噪聲參數(shù)設置、隨機運動的頻率與幅值較為敏感,已有很多學者圍繞這一問題展開工作。Park等[14]提出了一種基于有限脈沖響應的穩(wěn)像方法,較卡爾曼濾波對模型參數(shù)的失諧有更強的魯棒性。Yang等[15]提出了一種基于粒子濾波器的穩(wěn)像算法,之后Zhu等[16]在其基礎上采用粒子濾波實現(xiàn)主觀運動與噪聲運動間的分離,通過計算機仿真實驗驗證了該算法性能,結(jié)果表明粒子濾波較卡爾曼濾波有更小的誤差方差。He等[17]提出了用帶漢寧窗的理想低通濾波器對卡爾曼濾波估計的全局運動矢量進行濾波的混合濾波方案。
EIS的最后一步是運動補償,根據(jù)濾波后的全局運動矢量對圖像進行反向補償后,圖像會出現(xiàn)空白部分,鑒于此通常會對圖像進行裁剪。由于運動補償?shù)慕鉀Q方法較為單一,本文不將其作為研究重點。綜上可知,車輛環(huán)境較為嚴苛,同時對電子穩(wěn)像算法的精度、實時性有較高的要求,特別在運動估計、運動補償過程中;運動濾波對EIS系統(tǒng)的表現(xiàn)有很大影響,特別對系統(tǒng)噪聲固定的卡爾曼濾波,不規(guī)則表面激勵很容易導致濾波發(fā)散。
針對上述問題,提出一種針對智能車輛視覺系統(tǒng)的EIS算法,并基于振動特性顯著的汽油模型車平臺對本文中的EIS算法進行驗證。在充分考慮車載需求的基礎上基于特征點匹配的方法,實現(xiàn)運動估計,選用ORB算法滿足實時性要求,實現(xiàn)特征點初步匹配。為了提高特征點的匹配精度和匹配效率,改進了RANSAC(random sampling consensus algorithm,RANSAC)算法。為解決傳統(tǒng)的卡爾曼濾波對初值敏感的問題,采用自適應卡爾曼濾波(adaptive Kalman filter,AKF)的方法實現(xiàn)運動濾波,以適應車載可能遇到的各類復雜工況。最后通過搭建的汽油模型車平臺在極端路面條件下進行試驗,驗證本文提出的EIS算法的有效性。
ORB算法基于FAST特征檢測算法,并用改進BRIEF(binary robust independent elementary features algorithm)算法對特征點進行描述,可用于檢測和描述點的特征[18]。FAST算法尋找的特征點為角點。其特征通常為周圍像素點灰度的顯著變化。如圖1所示,通過比較點P周圍16個點的灰度值,可以確定點P是否為角點。
圖1 角點及周圍16個像素點Fig.1 Corner point and the 16 points around it
FAST算法的最終輸出為圖像角點的坐標。為了進行當前幀與參考幀的特征點匹配,有必要確定一個描述符來表示角點坐標的性質(zhì)。ORB算法基于BRIEF算法,用一種二進制串的特征描述符對特征點進行描述。在一個特征點的鄰域內(nèi)選擇n對像素點pi、qi(i=1,2,…,n),通常n的大小為128、256或512,本文中n取256。鄰域大小為S×S,pi和qi均服從N(0,S2/25)的高斯分布。然后比較每個點對的灰度值的大小,如果I(pi)>I(qi),則生成二進制串中的1,否則為0,即[18]
為解決BRIEF算法不具備旋轉(zhuǎn)一致性的問題,ORB算法通過灰度質(zhì)心改進了BRIEF算法。
式中:x、y為特征點周圍像素的坐標?;叶荣|(zhì)心的特征可以確定為
在不同旋轉(zhuǎn)角度下點的描述方法是一致的,能夠滿足可能出現(xiàn)的側(cè)傾、俯仰等車載條件。
基于不變性特征點的匹配策略包括RANSAC、最近/次近鄰比值策略、距離一致約束法則等?;谧罱?次近鄰比值策略匹配精度低、距離一致約束法則對旋轉(zhuǎn)運動敏感、RANSAC實時性差的特點,先采用最近/次近鄰比值策略進行初步匹配,之后采用改進RANSAC消除誤匹配。
最近/次近鄰比值策略將歐氏距離作為兩特征向量的相似性判定準則。若特征點P的最近鄰特征點和次近鄰特征點分別為q1和q2,對應歐氏距離分別為d1和d2,計算d1和d2的比值為Pratio,將其與預先設置的閾值T比較,進而確定匹配是否成功。
圖2是初步匹配結(jié)果。特征點檢測的平均時間為6.01ms,每幀的平均檢測點為483.7個,平均匹配特征點對223.4對。可以看到存在一些誤匹配點對,需要后續(xù)進行剔除處理。
圖2 特征點檢測與匹配結(jié)果Fig.2 Feature point detection and matching results
判斷誤匹配點對的本質(zhì)是判斷該點對是否滿足圖像變換矩陣H,因此有必要在剔除誤匹配點對前確定圖像變換模型。選取的模型應精確地描述圖像運動并兼顧實時性,考慮到車輛車身的抖動工況,具備4個參數(shù)的相似變換模型可以精確地描述旋轉(zhuǎn)與平移運動,模型表達式為
式中:(x1,y1)、(x2,y2)分別為一特征點在參考幀與當前幀中的坐標;Δθ為2幀間相對旋轉(zhuǎn)角度;Δx、Δy分別為特征點的橫向、垂向偏差;g為縮放系數(shù)。
通過初次匹配得到的點對可通過最小二乘擬合的方法得到參考幀與當前幀間的變換矩陣H[19],但誤匹配點對的存在很影響該過程的精度。RANSAC算法是一種數(shù)據(jù)篩選算法,可以很好地解決這一問題?;诳梢悦枋鳇c的模型方程,RANSAC算法通過設置閾值將數(shù)據(jù)點區(qū)分為內(nèi)點與外點:內(nèi)點為滿足模型方程的點,外點為不能滿足模型方程的點。通過隨機多次采樣,當滿足的內(nèi)點最多時則得到所需的數(shù)據(jù)模型方程。RANSAC的具體步驟如下[20]:
(1)設置可用于計算變換矩陣H的最小點對數(shù)s,隨機選擇s對不重復的點對組成點集Sr。
(2)設置迭代次數(shù)k,假設當前幀中檢測出的特征點總量為n,其中內(nèi)點數(shù)為m。顯然,集合Sr中所有點都是內(nèi)點的概率為
式中:pi′、pi分別代表參考幀、當前幀中的坐標;e為區(qū)分內(nèi)點和外點的誤差閾值。
(4)含有最多內(nèi)點的變換矩陣H為所需的圖像變換矩陣。
盡管RANSAC算法具有較好的魯棒性,但在實際工程中仍存在不足:①若初次匹配產(chǎn)生大量誤匹配點,大量外點導致迭代次數(shù)增加;②若隨機點樣過于集中,會影響圖像變換矩陣的精度;③若采集到外點,整個迭代也會執(zhí)行一次造成時間浪費?;谝陨喜蛔悖疚母倪M了RANSAC算法,具體步驟如下:
(1)按漢明距離DH對所有點對排序,當滿足DH>E+Kσ或DH<E-Kσ時刪去該點對。其中,E表示點對的平均漢明距離,σ表示點對距離的方差。K可用于調(diào)整刪去點對的數(shù)量。
(2)設置可用于計算變換矩陣H的最小點對數(shù)s,隨機選擇s對不重復的點對組成點集Sr。
(3)設置迭代次數(shù)k。
(4)在余下初步匹配后的點對中隨機選擇3對點,確定其中內(nèi)點的數(shù)量,如果數(shù)量小于2,則跳出此迭代并執(zhí)行下一個迭代。
(5)含有最多內(nèi)點的變換矩陣H為所需的圖像變換矩陣。
顯然,當車輛停止時,參考幀與當前幀間的圖像變換矩陣為單位矩陣。然而,移動的車輛、行人等會產(chǎn)生誤匹配點,導致變換矩陣偏離單位矩陣。利用這一特性可以測試改進隨機一致性采樣算法(improved RANSAC,IRANSAC)的性能,由此在實際交通路口中進行試驗。
顯然理論上Δy應為零,Δy越接近零,算法剔除誤匹配點對的效果越好。由此定義匹配精度Am為
式中:kmax為總幀數(shù)。圖3為試驗結(jié)果。由于RANSAC和IRANSAC中Am的平均值分別為0.068和0.020,本文的IRANSAC具有更好的性能。
圖3 IRANSAC算法的匹配結(jié)果Fig.3 Matching results of IRANSAC
EIS中常用的濾波算法包括均值濾波、最小二乘擬合濾波、B樣條曲線擬合濾波、卡爾曼濾波等。均值濾波、最小二乘擬合濾波實時性較差,B樣條曲線擬合濾波對運動模型過于依賴,因此卡爾曼濾波在此領域得到廣泛運用。經(jīng)典卡爾曼濾波算法中,系統(tǒng)噪聲Q和觀測噪聲R都需要預先設定。如圖4所示,當使用Q=0.01、R=1以及Q=0.1、R=1不同參數(shù)設置時,濾波效果完全不同。因此固定噪聲矩陣不能適應車載工況,特別在本文關注的極端動力學工況中。
圖4 在不同的Q和R下卡爾曼濾波的效果Fig.4 Effect of Kalman filter at different Q and R values
為解決上述問題,將Sage-Husa自適應卡爾曼濾波[21]引入EIS的研究中。經(jīng)典卡爾曼濾波以估計狀態(tài)與實際狀態(tài)方差最小為原則,通過迭代求解當前實際狀態(tài)。狀態(tài)方程與觀測方程為
式中:Xk為狀態(tài)向量;Φk,k-1為狀態(tài)轉(zhuǎn)移矩陣;Zk為觀測向量;Hk為觀測矩陣;Wk-1為系統(tǒng)噪聲,服從N(0,Qk-1)分布;Vk為觀測噪聲,服從N(0,Rk)分布。在本文中,Xk=[x,x?,y,y?,θ,θ?]T,x為當前幀相對于第1幀的橫向位移,y為垂向位移,θ為當前幀相對于參考幀的側(cè)傾角。Φk,k-1和Wk-1可表示為
由于x、y、θ為估計值,在計算過程中添加上標?以和觀測值進行區(qū)分。觀測狀態(tài)為[x,y,θ]T,Hk和Vk可表示為
自適應卡爾曼濾波中觀測噪聲與預測噪聲的均值不再被視為0,分別為q?k和r?k。這樣狀態(tài)方程(11)和觀測方程(12)可改寫為
式中:r表示匹配點對數(shù)nk對測量精度的影響,r越大,表示點數(shù)對測量精度的影響越大。如此將AKF引入到車載EIS系統(tǒng)的應用中。如圖5所示,AKF成功過濾掉抖動得到主觀運動矢量,初始噪聲矩陣的設置并沒有影響到濾波效果,驗證了AKF對不同噪聲環(huán)境具有很好的適應性。
圖5 在不同的Q和R下自適應卡爾曼濾波的效果Fig.5 Effect of AKF at different Q and R values
為盡可能提高EIS系統(tǒng)的可移植性,重點關注極端車輛工況。然而,極端工況下的實車實驗具有極大危險性,本文選擇搭建一輛振動特性顯著的汽油模型車,通過在惡劣道路上行駛的方式實現(xiàn)較正常情景更為極端的工況,從而充分驗證EIS的性能。搭建的汽油模型車結(jié)構如圖6所示,除中置發(fā)動機外,汽油模型車的底盤結(jié)構與實際車輛相似。模型車主要由驅(qū)動舵機與轉(zhuǎn)向舵機控制,控制系統(tǒng)置于車輛前端,輪速由置于底盤下方的編碼器采集。
圖6 汽油模型車結(jié)構Fig.6 Structure of gasoline model car
模型車的電氣結(jié)構圖如圖7所示。上位機為樹莓派3b+,平臺通過上位機采集視頻。相機感光芯片為CMOS型芯片——索尼IMX219。攝像機拍攝視頻的分辨率為480×480。模型車的控制通過STM32單片機引腳的2個PWM信號引腳實現(xiàn)。因為模型車的負載有限,EIS使用離線計算的方法,計算平臺為一個基頻為3.2GHz的四核CPU。2個控制舵機共用一個10 000 mAh電源,其他硬件共用一個10 000 mAh電源,2個電源系統(tǒng)之間共地。
圖7 實驗平臺電氣結(jié)構Fig.7 EE architecture of the platform
由于模型車采用的編碼器在惡劣路況下難以穩(wěn)定工作,在試驗過程中在2個前輪上安裝凸塊來代替高不平度路面,如圖8。凸塊材料為鋁合金,其縱向截面為直角邊長35mm的等腰直角三角形,橫向?qū)挾?8mm。實驗中車輛以1.5m·s-1速度勻速直線行駛。從拍攝視頻的角度看,這相當于在惡劣的路況下直接進行實驗,實驗測試工況較正常工況更為極端,可以很好地檢驗算法在惡劣工況下的性能。
圖8 模型車實驗工況Fig.8 Experimental working conditions
通常用峰值信噪比(peak signal to noise ratio,PSNR)評判EIS系統(tǒng)的效果,以PSNR表示。
式中:M和N分別為圖像的長度和寬度;Io(m,n)為參考幀中坐標點(m,n)的灰度值;Ic(m,n)為當前幀中坐標點(m,n)的灰度值。圖9展示了原始視頻與補償后視頻PSNR的對比。視頻處理后平均PSNR提高了1.26dB,證明了EIS的積極作用。應當注意,1.26dB似乎比其他文獻的結(jié)果要小。實際上,對不同EIS的PSNR直接進行比較是沒有意義的,因為通過設置濾波參數(shù)使濾波結(jié)果足夠平滑,可以大大提高PSNR。但是,這樣將偏離了保留車輛主觀運動矢量的目的。
圖9 原始視頻與補償視頻的PSNR對比結(jié)果Fig.9 Comparison of PSNR of original video and compensated video
提出了一種針對車輛視覺系統(tǒng)的電子穩(wěn)像算法,基于車載需求研究EIS系統(tǒng)的特征點檢測和匹配方法,進而關注如何提高特征點的匹配精度,并進一步地研究在車載場景下如何將車輛的主觀運動與噪聲分離。由于重點關注極端條件下的車輛工況,在進行安全試驗的范圍內(nèi),難以實現(xiàn)需要的極限工況,本文中搭建具有顯著振動特性的汽油模型車平臺,并選擇惡劣的道路條件進行驗證,主要結(jié)論如下:
(1)考慮到車輛工況和實時性要求,選擇了基于特征點匹配的技術路線,采用ORB算法。結(jié)果表明,特征點檢測的平均時間為6.0ms,每幀的平均檢測點為483.7個,平均匹配特征點對223.4對。這些性能指標均滿足后續(xù)的處理要求。
(2)給出了匹配精度Am的定義,RANSAC和IRANSAC算法的Am分別為0.068和0.020,本文提出的IRANSAC算法具有更好的性能。此外與RANSAC相比,IRANSAC的處理速度提高了32.4%。(3)采用了Sage-Husa自適應卡爾曼濾波算法,在極端工況下的實驗顯示EIS處理后視頻的PNSR提高了1.26dB,充分證明了本文提出的電子穩(wěn)像算法的正確性與有效性。
作者貢獻聲明:
張 寧:提出論文研究內(nèi)容,管理論文流程與研究項目進展,對論文提出修改意見,為論文研究工作提供項目支撐。
張浩彬:修改完善論文,分析模型車實驗數(shù)據(jù),給出初步結(jié)論,回復審稿意見。
吳建華:撰寫論文初稿,開展模型車實驗平臺的搭建,制訂實驗方案。
陽 媛:提出供參考的電子穩(wěn)像算法的方案,對撰寫論文提出修改意見。
殷國棟:提出智能車輛視覺系統(tǒng)的功能需求,對論文提出修改意見,為論文研究工作提供項目支撐。