蔣 歡 蔣宜勤 周基賢 袁 媛 滕奇志
利用鑄體薄片圖像處理軟件進(jìn)行孔隙特征分析已成為石油地質(zhì)實驗室的常規(guī)手段[1]。在作鑄體薄片分析時,由于顯微鏡視域范圍有限,按行業(yè)標(biāo)準(zhǔn)需要選取3~5個視域進(jìn)行分析,但對于一些非均質(zhì)性較強的薄片,人為選取造成的差異較大,如果選取的視域不合適,得到的分析數(shù)據(jù)可能無法代表整個薄片的孔喉分布現(xiàn)象[2],保存的圖像也不能反映全薄片的實際情況。因此,有必要采集全部視域圖像,再拼接為一幅全薄片的圖像。圖像配準(zhǔn)和圖像融合是圖像拼接算法中的關(guān)鍵技術(shù)[3],多幅高分辨率圖像的配準(zhǔn)和融合常常需要花費大量的時間,為了提高速度,適應(yīng)生產(chǎn)實際的需求,本文主要討論圖像配準(zhǔn)和圖像融合的并行處理算法。
圖像配準(zhǔn)是指同一場景在兩個不同視點下的圖像之間的對應(yīng)關(guān)系,它是計算機視覺研究領(lǐng)域的一個基本問題[4]。常見的分類準(zhǔn)則將圖像配準(zhǔn)劃分為兩類:基于圖像灰度[5]的方法和基于圖像特征[6]的方法。由于巖石薄片顏色亮度等信息差異較大,本文主要采用的是SIFT算法進(jìn)行圖像配準(zhǔn),SIFT算法是David G.Lowe在2004年提出[7],其主要是通過在尺度空間尋找極值點,提取位置、尺度、旋轉(zhuǎn)不變特征量,并根據(jù)兩幅圖像特征量的距離實現(xiàn)圖像配準(zhǔn)。
SIFT算法主要分為6個步驟:
對于一幅M×N的二維圖像I(x,y),用高斯函數(shù)G(x,y)作為卷積核[8],構(gòu)建圖像的尺度空間函數(shù)如式(1)所示:
其中:
用L(x,y,σ)表示在不同尺度下的高斯圖像,σ為尺度因子,為有效檢測出尺度空間中的穩(wěn)定特征點,引入高斯差分函數(shù)[9]:
將相鄰圖像相減構(gòu)造高斯差分金字塔,在高斯金字塔結(jié)構(gòu)中,樣本像素點要與其同尺度相鄰的8個像素點,以及上下相鄰的金字塔層中的18個像素點共26個像素點進(jìn)行比較,如圖1,提取出圖像中的極值點作為候選特征點。
圖1 尺度空間極值檢測
得到候選特征點后,為提高關(guān)鍵點的穩(wěn)定性和抗噪聲能力,還必須通過兩步檢驗才能確定它是關(guān)鍵點:一是該點需要與周圍的像素有明顯的差異,將低對比度的候選特征點剔除。二是它不能是邊緣點(因為DOG算子產(chǎn)生較強的邊緣響應(yīng))。對尺度空間的DOG函數(shù)進(jìn)行三維二次曲線擬合精確確定關(guān)鍵點的位置和尺度。
對于在DOG金字塔中檢測出的關(guān)鍵點,采集其所在高斯金字塔圖像鄰域窗口內(nèi)像素的梯度和方向分布特征作為關(guān)鍵點的基準(zhǔn)方向,使描述符具有旋轉(zhuǎn)不變性[10]。點(x,y)梯度的模值m( )x,y和方向θ(x ,y )的計算方法如式(4)和式(5)所示。
其中,L為關(guān)鍵點所在的尺度空間值。完成關(guān)鍵點梯度計算后,使用直方圖統(tǒng)計鄰域內(nèi)像素的梯度方向,將0°~360°的方向范圍分為36個柱,每10°一個柱,以直方圖中峰值方向作為該關(guān)鍵點的主方向,為增強匹配的魯棒性,保留主方向峰值80%的方向作為該關(guān)鍵點的輔方向。
每一個關(guān)鍵點有三個信息:位置、尺度和方向。用一組向量將這個關(guān)鍵點描述出來,使其不隨各種變化而改變。如圖2所示,以特征點為中心取8×8的窗口,中間黑點為當(dāng)前特征點的位置,每個小格代表了特征點鄰域所在的尺度空間的一個像素,箭頭代表了該像素點的梯度信息,圓圈代表了高斯加權(quán)的范圍。然后將整個窗口分成2×2共4個區(qū)域,每個區(qū)域由4×4的圖像小塊構(gòu)成,計算8個方向的梯度方向直方圖,繪制每個方向的累加值,形成一個種子點。一個特征點由2×2共4個種子點組成,每個種子點有8個方向向量信息,可產(chǎn)生2×2×8=32維SIFT特征向量,即特征點描述符[11]。
而在實際計算過程中,為了增強匹配的穩(wěn)健性,建議每個特征點使用4×4共16個種子點,這樣一個特征點需要4×4×8=128維SIFT特征向量。
圖2 圖像梯度及其旋轉(zhuǎn)描述符
在進(jìn)行圖像拼接時,需要對圖像逐個查找特征點,當(dāng)圖像較大或待拼接圖像數(shù)目較多時需要花費大量時間,而由上述查找特征點過程我們可以發(fā)現(xiàn),多幅圖像之間查找SIFT特征點過程是互不相干的,可以同時進(jìn)行。因此,為了提高拼接速度,我們可以利用CPU多線程技術(shù)并行查找SIFT特征點,形成相應(yīng)的SIFT特征向量。首先,主線程根據(jù)當(dāng)前CPU可開辟線程數(shù)獲得最大線程數(shù)N,然后獲取所需拼接的圖像數(shù)量M,若N>M,則開辟M-1個新的線程,每個線程分配一張圖像查找其關(guān)鍵點,形成相應(yīng)的特征描述符。若N<M,則開辟N-1個新的線程,先為每個線程分配一張圖像查找關(guān)鍵點,由于不同圖像的關(guān)鍵點個數(shù)不同,其查找時間也不同,因此先查找完特征點的線程再重新讀取新的圖像進(jìn)行查找。對于正在進(jìn)行的查找圖像特征點的線程加入互斥體,避免多個線程同時訪問同一張圖像。其流程圖如圖3所示。
圖3 多線程查找關(guān)鍵點流程圖
查找完SIFT特征點后,需要從待配準(zhǔn)圖像中選擇正確的點。采用優(yōu)先K-D樹[12]從基準(zhǔn)圖像中查尋與該點歐氏距離最近的前兩個特征點,獲得距離最近的與次近的比值,若比值小于給定的閾值,則認(rèn)為距離最近的點為匹配點。
實現(xiàn)了特征點粗匹配后,需要算出單應(yīng)矩陣,使兩幅圖像之間滿足射影變換關(guān)系。由于SIFT得到的粗匹配中可能存在著誤匹配,因此采用魯棒估計RANSAC算法[13]。
采用RANSAC算法,從篩選后的匹配點對中隨機抽取4對,作為初始內(nèi)點計算單應(yīng)矩陣,剩下的點對擬合初始單應(yīng)矩陣,并計算他們之間的幾何距離之和,如果這個距離大于選取的閾值,則作為外點舍棄,若小于閾值,則作為內(nèi)點集中。反復(fù)迭代,直至內(nèi)點不再擴充。最后,選取內(nèi)點集最大的一組作為正確的匹配點對,此時模型估計結(jié)果就是圖像間的單應(yīng)矩陣H。
根據(jù)拼接圖像間的單應(yīng)矩陣H,可以計算出兩圖像間的重疊區(qū)域。由于巖石采集的區(qū)域跨度比較大,同時曝光、場景、環(huán)境等不定因素,得到的圖像之間可能會有亮度不一致的區(qū)域,經(jīng)過傳統(tǒng)拼接融合算法處理后,得到的結(jié)果圖會出現(xiàn)明顯的融合縫,影響圖像視覺效果。因此,本文采用多分辨率融合算法[14]。
多分辨率融合是對兩邊圖像重合區(qū)域分別進(jìn)行高斯降采樣濾波,進(jìn)而得到頻帶不同的帶通圖像,構(gòu)成拉普拉斯金字塔,然后對兩邊圖像重疊區(qū)域分層融合,最后用各頻率帶上的圖像合成新的圖像。其過程如圖4所示。
圖4
傳統(tǒng)的單線程融合方式,大都采用兩張圖像之間逐個進(jìn)行融合,在拼接圖像數(shù)量較多的情況下,非常耗時,本文采用CPU多線程技術(shù)[15]來提升圖像融合速度。在多線程融合中,必須要保證更新結(jié)果圖的有效性,以防一個線程在進(jìn)行第一張圖像與其右邊圖像的融合處理時,另一個線程在進(jìn)行第一張圖像和其下方圖像的融合處理,這樣得到的結(jié)果圖將會出現(xiàn)錯誤,有可能會丟失某些線程的處理結(jié)果。本文采用的方式是對所有圖像建立標(biāo)志位,標(biāo)定每張圖像當(dāng)前的狀態(tài),是否處于參與融合的線程中。保證同一張圖像不會在不同的線程中同時處理,保證結(jié)果的正確性。并且加入互斥體避免進(jìn)行臨界區(qū)訪問。
為了驗證本算法的有效性和實用性,對多組巖石薄片圖像進(jìn)行拼接實驗。實驗環(huán)境如表1所示。用于拼接的圖像信息如表2所示。
表1 實驗環(huán)境
表2 拼接圖像信息
采用流程并行快速拼接算法,利用多線程技術(shù)查找SIFT特征點,同時在圖像融合時也利用多線程技術(shù)快速融合。對表2中的每個圖組進(jìn)行實驗。圖5(a)是圖組2的154張待拼接的序列圖像,通過上述算法進(jìn)行圖像配準(zhǔn)和圖像融合后得到圖5(b)拼接結(jié)果圖。
不同圖組采多線程算法所需時間如表3所示。其中T1代表了圖像配準(zhǔn)階段所需時間,T2代表了總體拼接所需時間。
表3 采用不同算法拼接所需時間
通過觀察表3我們可以發(fā)現(xiàn),在同一計算機上對比使用單線程和多線程的拼接時間,采用流程并行多線程技術(shù)可以將圖像配準(zhǔn)時間節(jié)約近一半以上,大大提高了拼接速度。而通過對比圖組1和圖組2我們可以發(fā)現(xiàn),雖然圖組1的圖像張數(shù)明顯多于圖組2,但是由于圖組2的圖像分辨率較高,含有的特征點信息較多,因此在查找特征點環(huán)節(jié)即使采用了多線程技術(shù),仍然要花費更多的圖像配準(zhǔn)時間。
圖5
而圖組1和圖組4,5相比,其尺寸大小差不多,但是其圖像質(zhì)量要低一些,圖像的特征點少一些,所以在圖像配準(zhǔn)階段所需時間更少一些。因此,圖像配準(zhǔn)的速度也與圖像分辨率以及圖像質(zhì)量有關(guān)。
本文針對巖石薄片圖像拼接速度較慢的問題,提出了采用多線程并行處理查找SIFT特征點的方法,提高了傳統(tǒng)圖像配準(zhǔn)的速度,大幅減少了圖像配準(zhǔn)的時間,同時使用RANSAC估計法篩選出匹配結(jié)果,減少誤匹配的影響,接著采用多線程多分辨率融合算法,提高圖像融合速度,實現(xiàn)圖像快速融合,消除拼接縫。實驗結(jié)果表明,本文所提出的算法能夠大幅度提高巖石薄片圖像傳統(tǒng)拼接算法的速度,并且保持原有的拼接圖像視覺,有利于實際生產(chǎn)需要。
[1]趙明,郭志強,卿華,等.巖石鑄體薄片鑒定與顯微圖像分析鑒定與顯微圖像分析技術(shù)的應(yīng)用[J].西部探礦工程,2009,21(3):66-68.
ZHAO Ming,GUO Zhiqiong,QIN Hua,et al.Identification and identification of microscopic image of rock casting and application of microscopic image analysis technique[J].West-china Exploration Engineering,2009,21(3):66-68.
[2]劉顏,謝銳杰,柴小穎,等.基于鑄體薄片的致密砂巖儲層孔隙微觀參數(shù)定量提取技術(shù)[J].河南科學(xué),2017,35(1):134-138.
LIU Yan,XIE Ruijie,CHAI Xiaoying,et al.Quantitative Extraction Technology of Micro Pore Structure Parameters Based on Thin Section for Tight Sand Reservoir[J].Henan Science,2017,35(1):134-138.
[3]王娟,師軍,吳憲祥.圖像拼接技術(shù)綜述[J].計算機應(yīng)用研究,2008,25(7):1941-1947.
WANG Juan,SHI Jun,WU Xianxiang.Survey of image mosaics technique[J].ApplicationResearchofComputers,2008,25(7):1941-1947.
[4]倪國強,劉瓊.多源圖像配準(zhǔn)技術(shù)分析與展望[J].光電工程,2004,31(9):1-6.
NI Guoqiang,LIU Qiong.Analysis and prospect of multi-source image registration techniques[J].Opto-Electronic Engineering,2004,31(9):1-6.
[5]張紅源,陳自力.圖像匹配經(jīng)典算法及其改進(jìn)方法研究[J].兵工自動化,2008,27(9):91-94.
ZHANGHongyuan,CHEN Zili.Research on Classical Image Matching Algorithm and Its Improved Method[J].Exploitation and Application of Softwar,2008,27(9):91-94.
[6]戚世貴,戚素娟.一種基于圖像特征點的圖像匹配算法[J].國外電子測量技術(shù),2008,27(1):3-4.
QI Shigui,QI Sujua.Image registration on image feature.Foreign[J].Electronic Measurement Technology,2008,27(1):3-4.
[7]Lowe D G.Distinctive I;mage features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[8]劉立,彭復(fù)員,田巖,等.基于高斯尺度空間的尺度參數(shù)自適應(yīng)算法研究[J].高技術(shù)通訊,2009,19(1):50-55.
LIU Li,PENGFuyuan,TIAN Yan,et al.An adaptive algorithm of scale parameter based on Gaussian scale-space[J].High Technology Letters,2009,19(1):50-55.
[9]茅正沖,王丹,唐雨玉.改進(jìn)的尺度不變特征轉(zhuǎn)換匹配算法[J].計算機工程與設(shè)計,2015,36(8):2129-2132.
MAO Zhengchong,WANG Dan,TANG Yuyu.Improved scale invariant feature transform matching algorithm[J].Computer Engineering and Design,2015,36(8) :2129-2132.
[10]周理,畢篤彥,何林遠(yuǎn),等.SIFT與核局部不變映射結(jié)合的特征描述算法[J].系統(tǒng)工程與電子技術(shù),2014,36(2):382-389.
ZHOU Li,BI Duyan,HE Linyuan,et al.Novel feature-describing algorithm based on combination of SIFT and kernel locality preserving projection[J].Systems Engineering and Electronics,2014,36(2):382-389.
[11]劉麗暉.基于不變量理論的遙感圖像特征匹配技術(shù)[J].知識經(jīng)濟(jì),2010(18):110-112.
LIU Lihui.Feature Matching Technique of Remote Sensing Image Based on Invariant Theory[J].Knowledge economy,2010(18):110-112.
[12]紀(jì)利娥,楊風(fēng)暴,王志社,等.可見光和紅外反相圖像的SURF特征雙向匹配[J].光電工程,2014,41(5):77-82.
JI Li'e,YANGFengbao,WANG Zhishe,et al.Bi-directional Matching Algorithm Based on SURF Features for Visible and Negative Image of Infrared Image[J].Opto-Electronic Engineering,2014,41(5):77-82.
[13]周劍軍,歐陽寧,張彤,等.基于RANSAC的圖像拼接方 法[J].計 算 機 工 程 與 設(shè) 計 ,2009,30(24):2692-2694.
ZHOU Jianjun,OUYANGNing,ZHANGTong,et al.Image mosaic method based on RANSAC[J].Computer Engineering and Design,2009,30(24):2692-2694.
[14]劉躍,吳曉紅,王正勇,等.基于多分辨率圖像融合算法的巖心圖像拼接[J].太赫茲科學(xué)與電子信息學(xué)報,2014,12(2):290-294.
LIU Yue,WU Xiaohong,WANG Zhengyong,et al.Core images stitching based on multi-resolution image fusion algorithm[J].Journal of Terahertz Science and Electronic Information Technology,2014,12(2):290-294.
[15]謝永勝,余正生.利用多線程及改進(jìn)SSDA算法加快拼接速度[J].杭州電子科技大學(xué)學(xué)報,2010,30(2):65-68.
XIE Yongsheng,YU Zhengsheng.Use Multi-threaded Technology and Improved SSDA Algorithm to Speed up the Image Mosaic Speed[J].Journal of Hangzhou Dianzi University,2010,30(2):65-68.