向 征,趙歆波,曹師好,張寶尚
(1.西北工業(yè)大學 軟件學院,西安 710129;2.西北工業(yè)大學 計算機學院,西安 710129;3.光電控制技術(shù)重點實驗室,洛陽 471009)
近年來,鐵路運輸在世界范圍內(nèi)呈現(xiàn)高速發(fā)展的趨勢。由于鐵路運輸存在一定的危險性,一旦列車存在潛在的安全風險,引起后果將不堪設(shè)想[1-3]。為了確保列車的行車安全,一系列保證列車行車安全的技術(shù)手段應(yīng)運而生[4-5]。列車視頻監(jiān)控就是其中之一,如圖1所示。列車視頻監(jiān)控借助于多個攝像頭的協(xié)作拍攝,能夠有效捕捉整個車身的實時視覺信息。但由于多個攝像頭的鏡頭存在一定的拍攝誤差,難以判斷多個攝像頭之間的差異和聯(lián)系,借助人力判斷費事、費力且存在較大的誤差,易引起安全隱患[6]。因此,有效配準多個攝像頭的信息,形成完整的列車圖像,對于列車的安全監(jiān)控是十分有意義的[7-8]。
圖1 列車圖像采集示意圖
圖像配準是一種解決攝像頭信息整合問題的有效手段。圖像配準(Image registration)即將不同時間、不同傳感器(成像設(shè)備)或不同攝像條件下獲取的兩張及以上圖像進行匹配,疊加的過程[9-10]。圖像配準是許多應(yīng)用問題的基本預處理步驟,如多源圖像信息融合[11]。圖像配準也被廣泛應(yīng)用于軍事、醫(yī)學、航空等多項重要科研領(lǐng)域。通過使用圖像配準技術(shù),我們能夠獲得質(zhì)量更高、清晰度更好、信息更準確的圖像信息。
對于不同類型的圖像數(shù)據(jù),配準方法也不相同。常見的圖像配準方法分為兩類:基于圖像灰度的配準方法和基于圖像特征的配準方法。基于灰度的配準方法直接利用圖像的灰度信息,通過搜索方法確定使某種相似度取得最大或最小時的變換模型參數(shù),該方法具有較大的精度和魯棒性,但計算量較大,無法保證實時性?;谔卣鞯钠ヅ渌惴ㄏ忍崛D像的某種特征,然后對特征進行匹配,最后求變換模型參數(shù)并通過坐標變換完成配準,速度較快但精度不高。為了解決上述問題,我們嘗試使用基于最大互信息的圖像配準方法[12-14],即基于遺傳算法優(yōu)化的配準方法對列車圖像進行配準[15]。遺傳算法是一種模擬達爾文生物進化論中的自然選擇機理和遺傳學機理的計算模型,是通過模擬自然進化過程搜索問題最優(yōu)解的方法[16]。遺傳算法以一種群體中的所有個體為對象,并利用隨機化技術(shù)指導對一個被編碼的參數(shù)空間進行高效搜索。其中,選擇、交叉和變異構(gòu)成了遺傳算法的遺傳操作;參數(shù)編碼、初始群體的設(shè)定、適應(yīng)度函數(shù)的設(shè)計、遺傳操作設(shè)計、控制參數(shù)設(shè)定五個要素組成了遺傳算法的核心內(nèi)容。實驗表明,基于最大互信息和遺傳算法的圖像配準算法能夠準確、高效地完成圖像配準任務(wù)。
基于特征點匹配的圖像配準算法需要經(jīng)歷特征提取、特征匹配、求解變換模型參數(shù)以及圖像變換配準等步驟。具體流程如圖2所示。其中,特征提取主要以SIFT,SURF特征為主,為了方便變換模型參數(shù)的求解,特征提取的數(shù)量需要滿足一定的大小。同時,在求出待匹配圖像的特征點后,特征之間需要進行相似度匹配,匹配過程首先是粗匹配過程,此過程會產(chǎn)生大量的誤匹配對,隨后是進行精匹配過程,進而剔除錯誤的匹配對。經(jīng)歷了特征匹配過程后,便可通過計算變換模型參數(shù),然后對匹配圖像進行空間變換,完成圖像配準。
圖2 基于特征點匹配的圖像配準執(zhí)行過程
SIFT點的特征提取需要大量的時間且匹配過程復雜度較高,因此存在實時性差的問題;同時,SIFT點特征提取方法對于較為光滑的物體特征提取能力有限,后期也會存在誤匹配的問題。因此,為了解決如上問題,需要引入新的圖像匹配算法。
互信息作為一種相似性準則,描述了兩幅圖像的“相像”程度,互信息越大兩幅圖像越像,反之亦然。互信息最早被應(yīng)用到醫(yī)學圖像的配準,取得了很好的效果。
互信息的定義為:
MI(A,B)=H(A)+H(B)-H(A,B)
(1)
式中,H(A)、H(B)分別為圖像A、B的香農(nóng)熵,H(A,B)為兩個圖像的聯(lián)合熵。
基于互信息的圖像配準就是要找到空間變換T0,使配準的兩個圖像的互信息達到最大,即:
T0= argmaxMI(A,T(B))
(2)
Holland于1975年首次提出遺傳算法,該算法是模仿生物進化中的基因遺傳和優(yōu)勝劣汰等過程的一種仿生學優(yōu)化搜索算法。遺傳算法通過模擬一個人工種群進化過程,通過選擇(Selection)、交叉(Crossover)以及變異(Mutation)等機制,不斷迭代搜索出近似最優(yōu)解,進而達到求解的目的。
遺傳算法進行搜索時首先要對種群進行初始化,其中包括確定種群數(shù)量、確定迭代次數(shù)以及對染色體進行編碼等步驟。算法需要確定問題求解的編碼和解碼過程,一般情況下采取實數(shù)編碼或二進制編碼,具體情況需要根據(jù)具體的問題求解進行設(shè)計。遺傳算法的種群由種群數(shù)量個個體所組成,其中一個個體以一串變量特征描述,即基因描述,種群的初始化也就是初代種群根據(jù)規(guī)則生成的過程。
對于每一次迭代過程,遺傳算法需要計算個體的適應(yīng)度,也就是個體對于問題的匹配程度。適應(yīng)度的值越大,解的質(zhì)量就越高。
每一次迭代,種群需要經(jīng)歷選擇、交叉、變異三個步驟。選擇即從種群中選出適應(yīng)性較好的個體,淘汰適應(yīng)性較差的個體傳入下一代種群。交叉即對個體對中的基因序列進行交換,通過交叉,遺傳算法對解的搜索能力得到有效提高。變異即對個體基因序列中的基因值進行變動,變異操作使得遺傳算法具有局部的隨機搜索能力,并能夠維持群體的多樣性,防止算法出現(xiàn)過早收斂的情況。
在迭代次數(shù)或者種群中最優(yōu)個體的適應(yīng)度達到一定閾值后算法終止。種群中適應(yīng)度最高的個體就是求得的相對最優(yōu)解。
列車圖像配準的關(guān)鍵,就是使用具體的變換模型(例如,剛體變換,仿射變換等)將配準圖像A在空間范圍下進行線性變換,使其與參考圖像B能夠在位置上相匹配。計算機描述下的圖像一般是堆疊的二維矩陣,設(shè)圖像A與B在空間中的位置信息描述分別為I1(x,y)以及I2(x,y),其中x和y分別表示圖像坐標系下的橫縱坐標,則兩個位置信息的關(guān)系可以表示為:
I1(x,y)=I2(f(x,y))
(3)
式中,f表示二維空間中的坐標變換方程。
遺傳算法在解決特定問題的設(shè)計過程主要分為三部分:基因串的編碼、適應(yīng)度函數(shù)的設(shè)計以及終止條件的確定。
2.2.1 編碼方法
為了有效表示水平、垂直偏移量以及旋轉(zhuǎn)偏移量,并有效對解空間進行搜索,實驗選擇二進制編碼表示配準的變換參數(shù)。如圖3所示,其中ΔX表示水平方向偏移量,ΔY表示垂直方向偏移量,Θ表示旋轉(zhuǎn)偏移量。
圖3 基因編碼方式
2.2.2 適應(yīng)度函數(shù)設(shè)計
遺傳算法的適應(yīng)度主要用于評估個體對于環(huán)境的適應(yīng)性。對于該算法,我們選擇配準圖像之間的互信息作為適應(yīng)度函數(shù),即:
F(t)=MI(A,B)
(4)
式中,MI(A,B)表示配準圖像B和參考圖像A之間的互信息。兩張圖片之間的互信息越大,配準的效果越好,個體的適應(yīng)性越強。故我們將配準問題有效轉(zhuǎn)化為多參數(shù)優(yōu)化使F(t)達到最大的過程。如圖4所示,使用互信息作為適應(yīng)度函數(shù),對同一攝像頭捕獲的不同時間的圖像進行水平配準。
圖4 基于互信息的圖像配準
2.2.3 終止條件
遺傳算法的終止可以通過固定迭代次數(shù),或者根據(jù)種群個體信息進行判斷。實驗中我們通過固定迭代次數(shù)終止算法的執(zhí)行。
算法的大致流程如圖5所示,其具體操作步驟細節(jié)如下:
圖5 基于遺傳算法的圖像配準求解過程
? 讀取待配準圖像A與B;
? 設(shè)置種群大小,種群數(shù)量過大,算法執(zhí)行效率較低;種群數(shù)量過小,算法難以獲得較優(yōu)解,實驗中我們設(shè)置種群大小為30;
? 對基因進行編碼,初始化種群;
? 計算個體的適應(yīng)度函數(shù),實驗中使用圖片互信息作為適應(yīng)度參數(shù);
? 選擇操作,選擇操作的目的就是從當前種群中選擇適應(yīng)度較高的個體,并淘汰適應(yīng)度較差的個體,實驗中采用輪盤賭方法;
? 交叉操作,選擇父代中的個體并對其基因序列進行部分交換,如果交換產(chǎn)生的子代適應(yīng)度比父代更好,則替代父代個體,否則不進行替代;
? 變異操作,交叉操作后各種個體容易失去多樣性,算法易整體落入局部最優(yōu),因此,需要對二進制位進行翻轉(zhuǎn)操作以保證種群多樣性,變異的概率我們設(shè)置為0.0.2;
? 反復進行選擇、變異、交叉操作,直到達到算法迭代總次數(shù)。
為了體現(xiàn)遺傳算法在解決圖像配準問題上的優(yōu)勢,我們選擇了數(shù)張按次序排列的配準列車圖像進行實驗,并以傳統(tǒng)基于SIFT特征點的圖像配準方法和基于模板匹配的方法進行比較[17-18]。實驗主要硬件為i5 CPU,編程語言為C++。
為了證明提出的方法的有效性,我們將本文提出的方法與基于特征點匹配的配準方法和基于模板匹配的配準方法進行處理時間對比。經(jīng)過反復人工測量,實際水平偏移量為338像素。
表1 不同算法時間效率對比
實驗結(jié)果表明,基于特征點匹配的配準方法使用SIFT算法提取特征進行特征匹配,最終計算變換參數(shù)。在特征提取與特征匹配過程會花費大量時間,因此所需的時間較長,但像素誤差較低?;谀0迤ヅ涞呐錅史椒ú恍枰卣魈崛〉倪^程,因此時間效率上優(yōu)于基于特征點匹配的方法,但仍然需要遍歷所有的搜索空間,獲取最優(yōu)解。我們提出的算法,省略了全局搜索與特征提取的過程,所以時間效率更優(yōu)且像素誤差更小。
相比于基于特征點匹配的配準方法,我們的算法也具有空間效率的優(yōu)越性。基于特征點匹配的配準方法需要同時加載基準圖像和目標圖像。圖像質(zhì)量越高,圖像越大,其提取的特征點更加穩(wěn)定,但是需要耗費更大的空間資源?;谀0迤ヅ涞呐錅史椒ㄅc我們提出的算法所需空間資源大小接近,但本文方法的時效性更優(yōu)。
通過調(diào)整算法參數(shù)并在多張圖片上進行實驗分析,實驗的結(jié)果為多次運算取平均值。傳統(tǒng)基于SIFT特征點的圖像配準計算的偏移量為339像素。我們使用不同的迭代次數(shù)以及種群數(shù)量進行了10次試驗,使用遺傳算法對水平方向的偏移量進行求解。計算結(jié)果如表2所示。
表2 遺傳算法最優(yōu)解偏移量
實驗結(jié)果表明,在迭代次數(shù)較少且種群數(shù)量較小的情況下,算法的穩(wěn)定性略低且解的偏移存在誤差;隨著迭代次數(shù)與種群數(shù)量的逐漸增加,算法能夠逐漸穩(wěn)定并趨緊較優(yōu)解,由表2明顯可知最優(yōu)解的標準差逐漸減小。
對于傳統(tǒng)算法,由于其需要經(jīng)歷較為費時的特征點提取、特征點匹配以及特征點篩選步驟,如果減少這些步驟的復雜度則算法的質(zhì)量將無法保證。對于遺傳算法,由于其具有較強的全局搜索能力,通過調(diào)整算法超參數(shù),算法能夠在較短時間內(nèi)獲得可行解。在不同條件下的系統(tǒng)耗費的運算時間如表3所示。
表3 遺傳算法運行時間
由表3可知,在種群數(shù)量以及迭代次數(shù)較少的情況下,算法的運行時間較短,但解的質(zhì)量較低;當算法的迭代次數(shù)以及種群數(shù)量較大的情況下,盡管解的質(zhì)量較高但運行的時間有明顯上升。通過對算法參數(shù)調(diào)整,在迭代次數(shù)為10,種群數(shù)量為18的情況下,算法的求解效率能夠達到接近1秒/次匹配。
同時,對比傳統(tǒng)的特征點算法,在獲得相對穩(wěn)定的偏移量解的情況下,需要的時間接近4 s,遺傳算法在該情形下的求解能力明顯優(yōu)于傳統(tǒng)方法,更加適用于實時列車圖像匹配。
為了更進一步說明本文算法的有效性,我們對比了列車圖像配準前后的效果。圖6表示單一攝像頭采集的列車圖像序列;圖7表示使用本文提出的算法進行配準并完成拼接的列車圖像。實驗效果表明,我們的算法適用于鐵路列車圖像配準任務(wù)。
圖6 采集的列車圖像序列
圖7 配準拼接后的列車圖像
本文提出了使用遺傳算法解決圖像配準問題的算法,實驗表明,算法能夠有效地校正多攝像頭拍攝造成的偏移,并且具有較好的穩(wěn)定性和效率,具有較強的實際使用價值。