胡慧然,但西佐,趙琪涵,孫方圓,王永紅
(合肥工業(yè)大學 儀器科學與光電工程學院,安徽 合肥 230009)
數字圖像相關方法(Digital Image Correlation,DIC)由于具有非接觸、系統(tǒng)組成簡單、全場測量等優(yōu)點在眾多領域中的應用越來越廣泛[1-5]。DIC是基于數字圖像處理的一種全場變形測量技術,其基本原理是選取變形前感興趣的像素點的灰度子區(qū),通過相關計算,跟蹤變形后感興趣點的位移變化。全場計算時,需要對每個感興趣區(qū)域的種子點進行整像素或者亞像素匹配以達到全場測量的目的[6]。為了確保測量點變形前后的唯一性以及測量結果的準確性,一般測量前需要對被測物或被測區(qū)域隨機噴涂兩種或多種顏色差異較大的涂料形成散斑[7]。如文獻[1]中提到在高溫測量下不同溫度段最優(yōu)成像對應的散斑圖樣。文獻[4]人車碰撞實驗中會對撞擊物與車前蓋噴涂黑白散斑,利用DIC方法計算碰撞后的頭部傷害指數(HIC)。
由于DIC的計算效率受到測量點個數的影響,測量點個數越多,精度越高,但所花費的時間也越長。如果不事先選擇散斑區(qū)域約束計算點的范圍,會產生很多無用結果,浪費了大量的計算時間,而且在實際拍攝的圖像中散斑區(qū)域一般只占圖像的一部分。長期以來,國內外學者在實驗過程中往往會人工選擇散斑區(qū)域并設定一個種子點進行計算[8],目的是限制相關搜索范圍以減少計算點的數量,但面對大量不同的測量圖片以及復雜的輪廓,手動選取散斑區(qū)域無疑增加了時間成本和人工成本。近幾年散斑質量評價方法得到廣泛研究[9-10],但目前提出的散斑評價方法前提都是整幅圖像全是散斑,而在實際應用中,由于背景的影響,直接對圖片進行散斑質量評價顯然不再適用。在其他研究領域仍以抑制散斑為主要研究課題[11-13]。在DIC測量中實現圖像散斑區(qū)域的自動提取顯得尤為重要。這有助于提升DIC的應用效果及實現DIC自動化。
為了實現DIC散斑區(qū)域的自動提取,本文通過分析散斑區(qū)域特征,對比常用的邊緣檢測算法,提出了一種二階梯度熵函數用于實現對散斑區(qū)域的判別,并根據設定的連通區(qū)域獲取真正的散斑區(qū)域。最后通過實驗拍攝的散斑圖像來驗證該方法的有效性。
DIC散斑區(qū)域的自動提取方法相當于一種特征提取技術,散斑區(qū)域即所需要提取的區(qū)域,散斑區(qū)域具有以下幾個明顯特征:(1)散斑區(qū)域內的像素點周圍子區(qū)灰度梯度大;(2)散斑區(qū)域子區(qū)內最大灰度值與最小灰度值差值較大;在圖像上該特征的表現方式是散斑對比度明顯,并具有隨機的灰度分布特征;(3)散斑區(qū)域內的點構成的區(qū)域具有連通性,即符合(1)(2)特征的像素點并不是孤立的點,在周圍必定有相似的像素點分布。利用上述3個特征,可以將非散斑區(qū)域與散斑區(qū)域進行分割。
在圖像特征提取中,常用的邊緣檢測算子一般分為3類:一階梯度算子、二階梯度算子與多級檢測算子[14]。代表類型有Sobel算子、Laplacian算子與Canny算子。通過分析散斑區(qū)域的特征不難發(fā)現,散斑區(qū)域內的灰度變化曲線非常陡峭,對所有邊緣檢測算子都很敏感,所以不能通過邊緣檢測算子對散斑區(qū)域直接進行分割。圖1(a)為一張復雜背景下的散斑原始圖像?;叶染鶆蜃兓谋尘?,經過一階梯度算子計算的結果如圖1(b)所示??梢?,其不能很好地將散斑區(qū)域與背景區(qū)域分離,結果不能讓人滿意;多級檢測的Canny算子計算的結果如圖1(c)所示,其通過調節(jié)高閾值與低閾值可以很好地消除圖片背景的偽邊緣,但是由于對邊緣過于敏感,且最終輸出圖片的形式為二值化,不僅沒有消除背景帶來的影響,還將散斑的特征減弱了;而經過二階梯度算子計算的結果如圖1(d)所示,消除了部分背景的影響,將圖像灰度值轉為梯度值,適合用作散斑提取前的預處理。
圖1 幾種邊緣檢測算子處理結果對比 Fig.1 Comparison of processing results from several edge detection operators
本文用拉普拉斯算子處理采集到的散斑圖像,目的是保留散斑區(qū)域的特征,剔除背景的影響。拉普拉斯算子是二階梯度算子,對于連續(xù)可微的圖像灰度函數或曲面f(x,y)而言,其Laplacian圖像g(x,y)定義為:
(1)
在數字圖像中,圖像像素點以離散形式表達為:
g(x,y)=|f(x+1,y)+f(x-1,y)+
f(x,y+1)+f(x,y-1)-4f(x,y)| ,
(2)
式中,f(x,y)代表圖片離散坐標(x,y)處的灰度值,g(x,y)代表利用拉普拉斯算子預處理過后對該坐標重新賦予的灰度值。從上述的表達式可以看出,如果圖像中像素點的灰度值與相鄰像素點的灰度均值間的差值越大,則該點灰度值會越大,即通過拉普拉斯算子處理后,會基本保留圖像邊緣與灰度值跳躍明顯的區(qū)域。如圖2所示,在散斑區(qū)域和背景區(qū)域中各取一部分,統(tǒng)計拉式變換前后的灰度直方圖。在灰度直方圖中可以直觀看出,利用該算子進行圖像預處理,處理前后散斑區(qū)域的灰度分布幾乎保持不變,而背景區(qū)域灰度分布從0~175縮小至0~40。
圖2 拉式變換后散斑區(qū)域與背景區(qū)域灰度直方圖的對比 Fig.2 Comparison of gray histograms between speckle area and background area after laplacian transformation
由于散斑區(qū)域較其他區(qū)域的特征對比度更高,灰度分布更廣,所包含的信息更多。以點(x,y)為中心的一定鄰域內,散斑判定值Rs(x,y)與散斑信息量Is(x,y)有如式(3)所示關系,可以認為其Rs(x,y)值越大,則該點越符合人們所認知的散斑內的點的要求。
Rs(x,y)=f[Is(x,y)] .
(3)
為了統(tǒng)計散斑所含信息量的大小,本文引入熵的概念。熵一般是指統(tǒng)計混亂的程度,在不同的學科中也引申出了不同的定義,熵的概念最先由Rudolf Clausius提出,并應用在熱力學中。后來Shannon第一次將熵的概念引入到信息論中。在信息論中,設xn為信源中的隨機變量,其出現的概率設為p(xn),則定義信源的信息熵為[15]:
(4)
將熵的概念推廣到圖像中,即可統(tǒng)計圖像信息量的大小,一幅8位BMP圖像,設灰度值i出現的概率為ρi,則圖像信息熵可定義為:
(5)
式(5)反映了圖像平均信息量的大小,對于純黑或純白的圖像,顯然圖像信息熵值為零,則可以認為圖像所帶的信息量很小。但是當灰度直方圖平穩(wěn),即圖片中灰度值出現的概率都相等,那么圖像信息熵的值相對比較大,此時可以認為圖像所含信息量較大。
一個適合用于計算圖像信息量的函數應該具有較好的單峰性,較高的靈敏度?;趫D像灰度分布的圖像信息熵函數雖然能很好地統(tǒng)計出圖像信息量的大小,但受實驗條件的影響,背景區(qū)域的信息量是未知的,因此無法將散斑區(qū)域與背景進行有效分離??紤]到圖像信息熵這一缺陷,本文從研究散斑特征出發(fā),提出一個適用于提取散斑特征的函數:二階梯度熵函數QM。消除背景影響,利用QM對圖像中的散斑區(qū)域進行判定。
(6)
從LQ序列中可以找到最大值Qmax,設定散斑所在的熵值范圍處于[Qmax-k,Qmax],當圖像中以點(x,y)為中心的鄰域對應的二階梯度熵值Q(x,y)處于[Qmax-k,Qmax]時,將該點置為1,否則將該點置為零,這樣可獲得分割后的二值化圖像Lb。以圖1(a)為例,計算其二階梯度熵,取k為1.25,得到的二值化圖像如圖3所示。
圖3 二階梯度熵值分割結果 Fig.3 Second order gradient entropy segmentation results
在二值化圖像Lb中,根據數值1所在的區(qū)域可獲得連通區(qū)域的面積數組[S1,S2,…,Sn],將連通區(qū)域的面積從大到小排列,若設定散斑區(qū)域個數為N,最終散斑所在的區(qū)域為[S1,S2,…,SN]。以圖3為例,設定散斑區(qū)域數量為1,散斑區(qū)域提取結果如圖4所示。
圖4 散斑區(qū)域提取結果 Fig.4 Extraction results of speckle area
綜上所述,基于二階梯度熵函數的散斑區(qū)域提取算法實現流程如圖5所示。
圖5 散斑區(qū)域提取算法的實現流程圖 Fig.5 Implementation flow chart for speckle area extraction algorithm
對于式(6)提出的二階梯度熵函數,顯然,子區(qū)范圍越大時,Q值的判定結果越準確,但子區(qū)范圍過大會導致計算量增加,因此需要確定一個合適的子區(qū)范圍,既能保證計算速度也能確保結果的準確性。本文利用計算機生成的模擬散斑來對子區(qū)大小進行對比分析,模擬散斑生成函數如下[16]:
(7)
其中,s是散斑的個數,a表示為模擬散斑的像素大小,C表示模擬的背景光強,一般設為255,(xn,yn)表示散斑顆粒的位置。
前期有學者認為散斑顆粒尺寸為5個像素是最優(yōu)的散斑尺寸[17],因此選取a為5,散斑個數為2 000個,模擬散斑圖片的大小為512×512,利用圖像信息熵函數(式5)與二階梯度熵函數(式6)對模擬散斑進行對比實驗,方法如下:使計算子區(qū)尺寸大小從1個像素增加至50個像素,帶入對應的函數計算其熵值,得到的結果如圖6(b)、圖6(c)所示。
4條數據線分別表示相應大小子區(qū)在散斑圖中對應函數熵的最大值、平均值、最小值和最大值與最小值的差值。從圖6(b)、圖6(c)中可以看出當檢驗子區(qū)尺寸小于10個像素時,兩個函數對應的熵值最大值與最小值差值較大,散斑區(qū)域表現為不敏感,不好準確識別散斑區(qū)域,因此不能作為散斑區(qū)域判定的尺寸。檢驗子區(qū)增大時,散斑區(qū)域對應的熵值最大值與熵值最小值逐漸接近,并且隨著子區(qū)的增大,熵值最終趨于穩(wěn)定。如圖6(b)所示,雖然隨著檢驗子區(qū)的增大,信息熵函數與二階梯度熵函數變化相同,但二階梯度熵函數對散斑的感應更加靈敏,如圖6(c)所示,當檢驗子區(qū)大小超過10像素時,二階梯度熵函數幾乎是個定值,因此子區(qū)大小在10像素至15像素內為最優(yōu)尺寸。圖像信息熵是基于灰度分布的,在實際測量中,背景無法預知,因此傳統(tǒng)的圖像信息熵函數不符合散斑區(qū)域判定的實際應用,這再一次證明了二階梯度熵函數更適用于散斑的判定。
圖6 不同熵值隨判定子區(qū)大小的變化 Fig.6 Different entropy values vary with the size of the decision sub-area
用于二值化判定的自適應閾值選取是否合理決定了散斑區(qū)域提取的準確性,為了確保自適應閾值選取的正確性,本文從具有權威性的DIC Challenge數據庫(選擇了5幅散斑樣式不同的圖像確定自適應閾值的范圍,如圖7所示。將5幅大小不同的圖像統(tǒng)一調整為200 pixel×200 pixel,令二階梯度熵檢驗子區(qū)大小為13,遍歷每幅圖像,獲得二階梯度熵的最大值、最小值、平均值和最大值與最小值的差值,結果如表1所示。
圖7 不同樣式散斑圖像 Fig.7 Different types of speckle images
從表1可以看出,不同樣式的散斑圖求得的二階梯度熵值雖然處在不同區(qū)間,但是對于同幅散斑圖來說,最大值與最小值的差值在1.25附近(差值均值為1.233 78),而且二階梯度熵的最大值與均值的差值小于0.5。這也再次說明,二階梯度熵函數對于散斑區(qū)域的判定比較準確,適合多種不同形式的散斑。在本文后續(xù)實驗中,自適應閾值取Qmax-1.25,二階梯度熵值在[Qmax-1.25,Qmax]之間的點認為是散斑區(qū)域內的點。
表1 不同樣式散斑圖對應的二階梯度熵值
為了驗證本文提出的二階梯度熵函數對于散斑提取的普適性與有效性,分別對實驗室中常用的幾種材料噴制散斑或者局部噴制散斑進行實驗驗證,如圖8所示。實驗圖像包括了一張輪廓比較復雜的試件如圖8(a)所示,一張?zhí)幱趶碗s背景下的被噴涂散斑的大面積試件如圖8(b)所示,一張局部散斑圖片如圖8(c)所示,以及一張拉伸狀態(tài)下的散斑圖像如圖8(d)所示。分別對上述4幅圖像根據上述算法步驟進行散斑提取,提取結果如圖9(a)、9(b)、9(c)、9(d)所示。
圖8 不同的散斑圖像 Fig.8 Different speckle images
從圖9(彩圖見期刊電子版)可以看出,對于散斑噴涂不明顯的區(qū)域(如圖8(b)、圖8(c))散斑區(qū)域邊緣部分可能會有微小的誤判。由于光線等原因導致的散斑區(qū)域內非散斑區(qū)域符合散斑特征也會造成一些微小誤判,如圖8(d)拉伸棒與被測物的邊緣??傮w來說,對于正常的散斑區(qū)域,本文方法可以較好地提取出散斑所在的區(qū)域,基本剔除了散斑未覆蓋區(qū)域,達到了散斑區(qū)域自動提取的效果。
圖9 圖8中各散斑圖像對應的散斑提取結果 Fig.9 Speckle extraction results corresponding to Fig.8
以圖8(a)作為原始圖,采用第三部分仿真實驗的方法,取一處散斑區(qū)域與兩處背景區(qū)域進行對比實驗,結果如圖10(彩圖見期刊電子版)所示。
圖10 散斑區(qū)域與背景區(qū)域對比驗證結果 Fig.10 Comparison results of speckle area and background area
可以看出二階梯度熵函數較好地抑制了背景區(qū)域的影響,可以明顯區(qū)分散斑區(qū)域與背景區(qū)域,散斑區(qū)域的曲線變化也符合仿真部分的曲線,證明了仿真結果的有效性。
本文運用拉普拉斯算子對圖像進行預處理,以消除背景的影響,利用提出的二階梯度熵函數作為子區(qū)判定依據,最終通過連通區(qū)域數量與大小確定散斑區(qū)域所在的位置。通過模擬散斑圖與不同樣式散斑得出,子區(qū)熵尺寸大小在10~15 pixel為最優(yōu)尺寸,自適應閾值區(qū)間定義為[Qmax-1.25,Qmax]。對實際拍攝的圖像進行驗證,從提取結果可以看出該方法可以較好地提取出散斑所覆蓋的區(qū)域,為后續(xù)的相關計算給出了有效區(qū)域,可以為人工選取提供參考或逐步代替人工選取。