周 瓊
(湖南永州職業(yè)技術(shù)學(xué)院,永州 425000)
上個(gè)世紀(jì)60年代初期,計(jì)算機(jī)視覺正式興起,其中以立體視覺為重要分支。在雙目立體視覺中,立體匹配是從不同視角對同一場景拍攝并獲得圖像對,再找出兩幅圖像中特征相同的點(diǎn),然后再算出視差,最后得到圖像的三維信息。下面,筆者主要探討計(jì)算機(jī)雙目視覺的立體匹配算法。
據(jù)研究,雙目立體視覺是先從不同視角利用兩臺攝像機(jī)拍攝同一場景,并獲得兩幅圖像,然后按三角測量與視差原理,測得物體至成像系統(tǒng)的距離或深度信息。其中,可按攝像機(jī)安裝的位置將雙目立體視覺分為兩種模型。基于匯聚光軸的視覺模型按一定的角度安裝左、右攝像頭;基于平行光軸的視覺模型完全平行安裝左、右攝像頭。對于基于匯聚光軸、平行光軸的兩種視覺模型,前者具有攝像頭安裝難度較低、兩臺攝像機(jī)的間距與方向可自由調(diào)節(jié)、圖像的遮擋減少、攝像機(jī)視場范圍可自由調(diào)節(jié)等優(yōu)點(diǎn);后者的效果最好,但在實(shí)際安裝攝像頭時(shí),卻很難實(shí)現(xiàn)兩個(gè)攝像頭完全平行。
下面,筆者選擇基于平行光軸的視覺模型,以解析雙目立體視覺所用的視差原理。假設(shè)攝像機(jī)的焦距為f,兩個(gè)攝像頭的基線距離為B及其成像中心分別為OR、OT,現(xiàn)實(shí)中物體點(diǎn)到B的距離為Z,兩臺攝像機(jī)投影平面上P點(diǎn)的成像點(diǎn)分別為p、p’,那么可按三角測量原理進(jìn)行如下描述:

據(jù)此,在基于光軸平行的視覺模型中,兩臺攝像機(jī)的基線與其成像平面相互平行,則得視差場景的深度與攝像機(jī)的焦距、基線的長度呈正相關(guān),同時(shí)與視差呈負(fù)相關(guān),而物體深度與其呈負(fù)相關(guān),表明物體距離攝像機(jī)較近時(shí)的值具有更高的精確度。
BM算法是一種局部立體匹配算法,其以支撐窗為理論基礎(chǔ),并假設(shè)支撐窗中像素的視差相同,即:先設(shè)定小窗口,再在待匹配的圖像上按窗口中的特征向量遍歷搜索,然后再計(jì)算遍歷中不同窗口與該窗口的相似度,并取最相似的窗口為最后結(jié)果。關(guān)于BM算法,其既可以像素(塊)為匹配特征,又可按圖像特征對窗口進(jìn)行自適應(yīng)調(diào)節(jié)。關(guān)于最佳窗口的搜索,贏者通吃法是最常見的優(yōu)化算法,其原理為:先算出不同匹配窗口中對應(yīng)于每一像素點(diǎn)的匹配代價(jià),再以匹配代價(jià)最小的窗口為最后的匹配窗口。BM算法的首要任務(wù)是算出匹配代價(jià),即:視差分別從左、右視圖中選定矩形窗口及其中心分別為p1(x,y)、p2(x+d,y);運(yùn)用匹配代價(jià)函數(shù)算出兩個(gè)矩形窗口的相似性。其中,匹配代價(jià)函數(shù)以SAD(絕對差之和)、SSD(平方差之和)和ZSSD(歸一化互相關(guān))等為主,本文運(yùn)用SAD找尋左、右圖的最優(yōu)匹配點(diǎn)。綜上,BM算法的實(shí)現(xiàn)步驟為:首先,通過預(yù)過濾,以對圖像對亮度進(jìn)行歸一化處理及強(qiáng)化圖像紋理;其次,運(yùn)用SAD窗口沿極線開展匹配搜索;最后,通過再過濾,以篩除誤匹配點(diǎn)。
GC算法是一種全局匹配算法,其處理效果最好。關(guān)于GC算法,Boykov等人提出了基于Graph Cut(圖割)的立體匹配技術(shù),即通過實(shí)現(xiàn)圖像最小割來解決能量最小化的問題。在Graph Cut模型中,構(gòu)造數(shù)據(jù)與平滑約束項(xiàng)是最為核心的問題,目的是使圖像分割結(jié)果的精準(zhǔn)度更高,其中運(yùn)用的能量函數(shù)為:

其中,P為全部像素;p為某一像素的位置;N為鄰接關(guān)系;D為數(shù)據(jù)約束;f為標(biāo)記;Dp(fp)為像素p在視差為fp時(shí)對應(yīng)的匹配代價(jià);V為光滑約束。圖像最小割問題的解決方法為最大流,所以Graph Cut在解決能量最小化問題時(shí)常用網(wǎng)絡(luò)流算法。綜上,GC算法先以能量函數(shù)中每個(gè)因子的取值建構(gòu)賦權(quán)圖,再以賦權(quán)圖的最小割對目標(biāo)能量函數(shù)進(jìn)行極小化處理,通過解決賦權(quán)圖最小割問題來解決全局能量最小化問題,然后再運(yùn)用最大流算法進(jìn)行解答。
GC算法的實(shí)現(xiàn)步驟為:首先,運(yùn)用某種分割法按一定程度分割圖像;其次,運(yùn)用BM算法快速求解每一點(diǎn)的初始視差;第三、根據(jù)視差信息,對每一區(qū)域開展平面化建模,并獲得平面集合;第四、修正平面集合;第五、以區(qū)域?yàn)閱挝蝗嫫ヅ洌瑥亩@得每一區(qū)域的視差。
SGM算法是半全局匹配算法,其相似性測度為互信息。其中,匹配點(diǎn)僅可對附近路徑上的一些像素進(jìn)行搜索,所以弱紋理區(qū)會出現(xiàn)誤匹配。SGM算法的實(shí)現(xiàn)步驟為:首先,逐一計(jì)算左、右掃描線上的像素;其次,選擇八條規(guī)劃路徑聚合匹配代價(jià);第三、運(yùn)用迭代法計(jì)算視差;第四、按照左、右圖像同名像素點(diǎn)具有一致性來篩除無效匹配點(diǎn)。
綜上,本文簡要探究了計(jì)算機(jī)雙目視覺立體匹配算法,并著重介紹了BM算法、GC算法和SGM算法。經(jīng)過數(shù)十年的深入發(fā)展,雙目視覺立體匹配得到了不斷改進(jìn),且在醫(yī)學(xué)診斷、機(jī)器視覺等領(lǐng)域發(fā)揮了重要作用。但目前,仍缺少一種通用性強(qiáng)、精確度高且快速的匹配算法,且立體匹配仍是計(jì)算機(jī)雙目立體視覺的瓶頸,有待深入研究。