石泓,任智姣
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)
基于改進(jìn)Sobel算子和動(dòng)態(tài)區(qū)域的鐵軌穩(wěn)像算法
石泓,任智姣
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
由于列車運(yùn)行時(shí)產(chǎn)生的震動(dòng),導(dǎo)致拍攝的視頻出現(xiàn)抖動(dòng)現(xiàn)象。因鐵軌具有特定直線角度和實(shí)際運(yùn)行情況,在動(dòng)態(tài)區(qū)域中用改進(jìn)的Sobel算子結(jié)合LSD算法來(lái)提取直線。在仿射模型下構(gòu)造特征三角形,利用最小二乘法計(jì)算全局運(yùn)動(dòng)矢量,最后用Kalman濾波得出運(yùn)動(dòng)補(bǔ)償矢量,對(duì)視頻幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。實(shí)驗(yàn)表明,該方法在機(jī)載視頻穩(wěn)像上具有比較好的運(yùn)行時(shí)間和最終效果。
鐵軌穩(wěn)像;Sobel;LSD直線檢測(cè);Kalman濾波
鐵路作為國(guó)家的重要基礎(chǔ)設(shè)施,在綜合交通體系中發(fā)揮著骨干作用。列車的安全運(yùn)行一直受到大眾的關(guān)注。機(jī)車的視覺(jué)輔助系統(tǒng),在輔助駕駛,行車記錄等方面起到了重要作用。但由于機(jī)車實(shí)際運(yùn)行環(huán)境的影響,機(jī)車的震動(dòng)是不可避免的,遂導(dǎo)致所拍攝的視頻存在不規(guī)則抖動(dòng),這不僅影響視頻質(zhì)量,而且還導(dǎo)致駕駛員的視覺(jué)疲勞。穩(wěn)像技術(shù)就是為了去除視頻中的無(wú)意運(yùn)動(dòng),最終得到穩(wěn)定的視覺(jué)效果。根據(jù)技術(shù)原理和實(shí)現(xiàn)方式,穩(wěn)像技術(shù)可以分為:機(jī)械穩(wěn)像、光學(xué)穩(wěn)像、數(shù)字穩(wěn)像。而其中的數(shù)字穩(wěn)像技術(shù)是結(jié)合計(jì)算機(jī)數(shù)字圖像處理等方法來(lái)估計(jì)視頻幀的全局運(yùn)動(dòng)矢量并進(jìn)行矯正。它是一種純軟件的技術(shù),具有成本低,易操作等特點(diǎn)。一般包括以下三個(gè)步驟:運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)平滑、運(yùn)動(dòng)補(bǔ)償。其中運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)平滑是數(shù)字穩(wěn)像中的核心與關(guān)鍵[1]。
首先,運(yùn)動(dòng)估計(jì)是根據(jù)一定的運(yùn)動(dòng)模型來(lái)估計(jì)當(dāng)前幀和參考幀的整體運(yùn)動(dòng)偏移量,即全局運(yùn)動(dòng)矢量(GMV:Global Motion Vector)。運(yùn)動(dòng)估計(jì)的準(zhǔn)確性決定整個(gè)穩(wěn)像算法的效果。根據(jù)應(yīng)用模型不同,可以分為2D算法和3D算法。2D算法只考慮了平移,主要方法有[1]:圖像子塊匹配法、投影曲線匹配法和位平面匹配法等。3D算法除了能檢測(cè)偏移還能估計(jì)旋轉(zhuǎn)分量。常用的有幀匹配法,特征匹配法[2]。其中特征匹配法是尋找圖像的特征如:角點(diǎn)、邊緣、直線,并將幀間匹配特征點(diǎn)帶入一定的運(yùn)動(dòng)模型,求出運(yùn)動(dòng)參數(shù),即全局運(yùn)動(dòng)矢量。
其次,運(yùn)動(dòng)平滑是在全局運(yùn)動(dòng)矢量中得到有意運(yùn)動(dòng)的過(guò)程。有意運(yùn)動(dòng)呈現(xiàn)出連續(xù)、平滑、線性的特點(diǎn),而由于抖動(dòng)所造成的無(wú)意運(yùn)動(dòng),是一種隨機(jī)、非線性的運(yùn)動(dòng),可以認(rèn)為其是一種高頻噪聲,因此用低通濾波對(duì)全局運(yùn)動(dòng)矢量進(jìn)行濾波,得到穩(wěn)定的有意運(yùn)動(dòng)。常用的方法有均值濾波、高斯濾波、卡爾曼濾波[6]。其中卡爾曼濾波,通過(guò)預(yù)測(cè)方程和測(cè)量方程線性遞歸地得出我們所關(guān)心的期望運(yùn)動(dòng),可以用于實(shí)時(shí)系統(tǒng)。
最后,通過(guò)從全局運(yùn)動(dòng)矢量中分離出來(lái)的無(wú)意運(yùn)動(dòng)矢量,在相應(yīng)的運(yùn)動(dòng)模型下對(duì)視頻幀做相反的補(bǔ)償以輸出穩(wěn)定,符合人們視覺(jué)效果的視頻序列。
1.1Sobel算子提取邊緣
邊緣是圖像中具有結(jié)構(gòu)特性的基本特征。通常具有灰度值跳變的性質(zhì),而微分邊緣算子對(duì)灰度圖像進(jìn)行卷積操作,恰恰可以反映這種性質(zhì)。常用的微分算子有:Prewitt算子[3],Sobel算子[4]等。其中Sobel算子采用兩個(gè)3×3的模板對(duì)圖像進(jìn)行卷積,分別計(jì)算像素點(diǎn)水平和垂直方向上的一階微分,對(duì)噪聲有一定的抑制作用。同時(shí)鄰域像素與當(dāng)前像素的距離越遠(yuǎn)產(chǎn)生地影響越小,因此有不同的權(quán)值。
根據(jù)實(shí)際情況,鐵軌直線具有一定的斜向方向性,所以本文提出一種改進(jìn)的Sobel算子來(lái)更好的突出鐵軌直線特征,圖1(a),(b)為經(jīng)典Sobel算子垂直和水平方向上的模板,(c),(d)為改進(jìn)Sobel算子垂直和水平方向上的模板:
圖1
圖2為卷積以后的效果圖,可以發(fā)現(xiàn)改進(jìn)后的Sobel算子更加突出了對(duì)角方向,一定程度上抑制了水平和垂直的邊緣:
圖2
1.2LSD(Line Segment Detector)直線檢測(cè)
在所拍攝的視頻中,鐵軌是一種結(jié)構(gòu)特征明顯的路面信息。所以我們通過(guò)提取視頻中鐵軌直線,將其作為特征來(lái)估計(jì)幀之間的全局運(yùn)動(dòng)矢量。傳統(tǒng)的直線提取算法是基于Hough變換的,但它時(shí)間消耗大、誤檢率高而且結(jié)果易受參數(shù)的影響,在實(shí)時(shí)場(chǎng)景中并不適用。所以直線分割算法LSD[5]被提出,其無(wú)需參數(shù)控制,時(shí)間復(fù)雜度在線性級(jí)并且具有亞像素級(jí)的準(zhǔn)確性。
(1)LSD首先用公式(1)計(jì)算每一個(gè)像素的梯度:
(2)然后按照公式(2)計(jì)算這個(gè)像素點(diǎn)與level-line的夾角以構(gòu)成一個(gè)level-line場(chǎng)。
(3)之后,將未選取像素作為種子點(diǎn),貪婪地合并這個(gè)場(chǎng)里方向相近的像素,得到一系列置信區(qū)域(line support region)。對(duì)置信區(qū)域,做最小外接矩形并統(tǒng)計(jì)矩形的主方向。如果一個(gè)像素的level-line角度與最小外接矩形的主方向的角度差在容忍度內(nèi)的話,那么稱這個(gè)點(diǎn)為排列點(diǎn)。統(tǒng)計(jì)最小外接矩形內(nèi)的所有像素?cái)?shù)和其內(nèi)的排列點(diǎn)數(shù),用來(lái)判定這個(gè)置信區(qū)域是否是一個(gè)直線段。
1.3動(dòng)態(tài)感興趣區(qū)域的選取
觀察所拍攝的視頻可以發(fā)現(xiàn),圖像中除了鐵軌直線信息,還有枕木、路基等近似直線信息。這增加了時(shí)間消耗和誤匹配。通過(guò)分析,幀圖像上2/3區(qū)域是天空區(qū)域和可能出現(xiàn)一定角度的彎道鐵軌,而下方1/3區(qū)域?yàn)殍F軌直線所在的區(qū)域。機(jī)車在鐵軌上運(yùn)行是一相對(duì)穩(wěn)定的運(yùn)動(dòng)狀態(tài),即鐵軌所在的區(qū)域在幀之間不會(huì)出現(xiàn)區(qū)域越變。所以我們可以根據(jù)前一幀所檢測(cè)的直線來(lái)動(dòng)態(tài)設(shè)置感興趣區(qū)域ROI,作為下一幀的算法運(yùn)行區(qū)域。這樣不僅縮減了提取特征的時(shí)間,并且去除了路基等不相關(guān)的干擾,提高了檢測(cè)的準(zhǔn)確性。
1.4構(gòu)建交叉點(diǎn)三角形求得放射模型下的參數(shù)
運(yùn)動(dòng)模型有:平移模型,仿射模型和投影模型,經(jīng)過(guò)分析,本文選用仿射模型來(lái)作為幀之間的運(yùn)動(dòng)模型,且其中的縮放因子可以忽略不計(jì),即該運(yùn)動(dòng)模型具有三個(gè)未知參數(shù)。
本文根據(jù)最終選取的兩條鐵軌直線的交叉點(diǎn)為頂點(diǎn),并在兩條直線上選取距離交叉點(diǎn)距離為L(zhǎng)(本文采取100)的點(diǎn),這樣可以由對(duì)應(yīng)三個(gè)點(diǎn)的坐標(biāo)值帶入公式(3)構(gòu)建六個(gè)方程,這是一個(gè)超定方程,由最小二乘法來(lái)求得最后參數(shù)。
Kalman濾波器將含有隨機(jī)抖動(dòng)的視頻幀的絕對(duì)位移看成是觀察信號(hào),將穩(wěn)定的視頻位移當(dāng)做過(guò)程信號(hào)。其關(guān)鍵的兩個(gè)步驟是預(yù)測(cè)和更新,通過(guò)前一幀的穩(wěn)定信息來(lái)估計(jì)當(dāng)前幀預(yù)測(cè)值,并計(jì)算Kalman增益來(lái)加權(quán)確定當(dāng)前幀的穩(wěn)定信息。通過(guò)線性迭代來(lái)實(shí)現(xiàn),具有較高的時(shí)間運(yùn)行效率,所以可以用在實(shí)時(shí)穩(wěn)像中。本文利用公式(4)求得視頻幀位置信號(hào)FPS,并對(duì)FPS利用Kalman濾波得到穩(wěn)定的有意幀位置信息TFPS,利用公式(5)求得補(bǔ)償向量CMV。
圖3表示了卡爾曼濾波的效果曲線:
圖3
(1)截取視頻幀的下1/3圖像,用改進(jìn)的Sobel算子對(duì)圖像提取邊緣;
(2)如果為第一幀,以圖像中間為界分為左右兩個(gè)區(qū)域,作為ROI的初始區(qū)域。否則,以上一幀求得的左右直線為對(duì)角線來(lái)構(gòu)造矩形ROI;
(3)在動(dòng)態(tài)區(qū)域中運(yùn)用LSD算法提取直線;
(4)通過(guò)長(zhǎng)度和角度閾值去除額外直線,通過(guò)投票機(jī)制選取直線集合中的內(nèi)側(cè)鐵軌直線;
(5)通過(guò)交點(diǎn)和距交點(diǎn)長(zhǎng)度為L(zhǎng)的點(diǎn)構(gòu)造三角形;
(6)根據(jù)仿射模型構(gòu)建超定方程,用最小二乘法求得全局運(yùn)動(dòng)矢量;
(7)利用卡爾曼濾波對(duì)視頻幀位置求得補(bǔ)償向量,并對(duì)每一幀進(jìn)行運(yùn)動(dòng)補(bǔ)償。
本文算法在一臺(tái)普通臺(tái)式計(jì)算機(jī) (CPU:英特爾i3,主頻2.7GHz,RAM:4G)上做實(shí)驗(yàn),采用C++在VS2013+OpenCV3.0環(huán)境編譯運(yùn)行。時(shí)間效率及效果如表1和圖4:
表1
圖4
本文對(duì)列車車載攝像頭拍攝的視頻進(jìn)行分析研究,提出一種基于改進(jìn)Sobel算子并用LSD算法在動(dòng)態(tài)區(qū)域內(nèi)提取直線特征來(lái)計(jì)算全局運(yùn)動(dòng)矢量,最后用Kalman濾波實(shí)現(xiàn)視頻穩(wěn)像的算法。實(shí)驗(yàn)表明,在時(shí)間效率和效果上都有比較好的效果。
[1]王志民,徐曉剛.電子穩(wěn)像技術(shù)綜述[J].中國(guó)圖象圖形學(xué)報(bào),2010,15(3):470-480.
[2]Huang K Y,Tsai Y M,Tsai C C,et al.Feature-Based Video Stabilization for Vehicular Applications[C].Consumer Electronics (ISCE),2010 IEEE 14th International Symposium on.IEEE,2010:1-2.
[3]Prewitt J Object Enhancement and Extraction(A).inB.Lipkin and A.,Rosenfeld,eds.,Picture Processing and Psychopictorics〔M〕. AcademicPress,NewYork,1970.
[4]Davis L.S.A Survey of Edge Detection Techniques[J].CGIP,1979.4:248-270[5]Rafael Grompone Von Gioi,Jean-Michel Morel,et al.LSD:a Line Segment Detector[J].IEEE Transactions on Software Engineering,2010,32(4):722-744.
[6]Wang C,Kim J H,Byun K Y,et al.Robust Digital Image Stabilization Using the Kalman Filter[J].Consumer Electronics,IEEE Transactions on,2009,55(1):6-14.
Rail Video Stabilization Algorithm Based on Improved Sobel and Dynamic Region
SHI Hong,REN Zhi-jiao
(College of Computer Science,Sichuan University,Chengdu 610065)
Due to the vibration generated by the train running,leading to the emergence of a video shot jitter phenomenon.Because the rail has a specific line angle and the actual situation,the linear is extracted by LSD in dynamic region with the improved Sobel operator.In the affine model,constructs the characteristic triangle,and calculates the global motion vector by the least square method.Finally,the motion compensation vector is obtained by the Kalman filter,and the motion compensation is performed on the video frame.Experimental results show that the proposed method has a better running time and the final effect on the vehicle video stabilization.
Rail Stabilization;Sobel;Line Segment Detector;Kalman Filter;Dynamic Region
1007-1423(2016)27-0003-04DOI:10.3969/j.issn.1007-1423.2016.27.001
石泓(1989-),男,山西太原人,在讀碩士研究生,本科,研究方向?yàn)槎嘣葱畔⑷诤吓c圖像處理
2016-06-20
2016-09-10
國(guó)家自然科學(xué)基金(No.61071162)
任智姣(1990-),女,山西太原人,在讀碩士研究生,研究方向?yàn)閳D形圖像處理、圖像拼接