趙 玲,全書海,石 英
(武漢理工大學(xué)自動(dòng)化學(xué)院,湖北武漢 430070)
多孔材料是含有大量孔隙的固體物質(zhì),是一種性能優(yōu)異的新型工程材料,在石油、化學(xué)工業(yè)、能源、環(huán)境和生物等眾多科學(xué)和工程領(lǐng)域以及人類的日常生活中都具有廣泛的應(yīng)用,其擴(kuò)散、導(dǎo)熱和滲流等宏觀物性研究具有很重要的工程應(yīng)用背景和科學(xué)價(jià)值[1]。對(duì)其微觀特征的表征比僅研究物理統(tǒng)計(jì)量的常規(guī)物性更為深入細(xì)致,能正確地反映其宏觀特性。隨著圖像檢測(cè)技術(shù)在測(cè)量領(lǐng)域中的迅速發(fā)展,基于SEM圖像的直接觀測(cè)法[2-3]在多孔材料的微觀結(jié)構(gòu)測(cè)量與表征上頗具優(yōu)勢(shì),應(yīng)用該技術(shù)對(duì)多孔材料微觀結(jié)構(gòu)參數(shù)進(jìn)行準(zhǔn)確定量分析逐步成為可能。施斌等[4-5]基于圖像定量分析了我國某些典型粘性土微結(jié)構(gòu)單元體的形態(tài)、大小及分布,獲得單元體的定向角分布、主定向角和各向異性率等數(shù)據(jù)。熊承仁等[6]利用重塑粘性土的SEM圖像,計(jì)算了平面孔隙比和平面孔隙度,計(jì)算值與理論值比較吻合。多孔材料的微觀性質(zhì)包括孔隙面積、孔徑分布、孔隙率和周長(zhǎng)等,要得到多孔材料的這些微觀性質(zhì),就必須先對(duì)其SEM圖像的孔洞區(qū)域進(jìn)行標(biāo)記。通常使用的孔洞標(biāo)記算法有迭代算法和遞歸算法。筆者分析了迭代孔洞標(biāo)記和遞歸孔洞標(biāo)記方法的不足之處,結(jié)合回溯法的思想采用一種新的方法對(duì)多孔材料進(jìn)行標(biāo)記,大大簡(jiǎn)化了程序設(shè)計(jì)。
在一幅圖像中[7],為了對(duì)圖像的連通域進(jìn)行標(biāo)記,需要對(duì)一幅圖像作從左到右,從上到下的水平掃描,檢測(cè)當(dāng)前被掃描到的點(diǎn)是不是與周圍的點(diǎn)連通。如果當(dāng)前像素的值與鄰近像素的值一樣,就表示它們連通,反之,就表示與此鄰近像素不連通,此時(shí)就要給當(dāng)前點(diǎn)一個(gè)新的標(biāo)記。
迭代孔洞標(biāo)記圖如圖1所示。一個(gè)簡(jiǎn)單的區(qū)域會(huì)出現(xiàn)圖1(a)的情況,圖中不同的紋線密度表示不同的標(biāo)記,采用迭代孔洞標(biāo)記,當(dāng)前掃描到C4這個(gè)點(diǎn)的時(shí)候,只要C5這一行比它上一行向左多伸出兩個(gè)或兩個(gè)以上像素點(diǎn)(多一個(gè)沒有問題),那么與C5這個(gè)像素點(diǎn)對(duì)應(yīng)的鄰近像素點(diǎn)C1,C2,C3,C4的值就全部為 0(孔洞區(qū)域?yàn)?1,非孔洞區(qū)域?yàn)?),于是會(huì)對(duì)C5賦予一個(gè)新標(biāo)號(hào)。掃描結(jié)束后,在一個(gè)區(qū)域中可能會(huì)有好幾根掃描線會(huì)出現(xiàn)這種情況,結(jié)果導(dǎo)致一個(gè)簡(jiǎn)單的目標(biāo)域卻被分成幾個(gè)連通區(qū),見圖1(b)。
為了減少等價(jià)標(biāo)記的數(shù)目,需要考慮很多特殊情況,考慮不全面會(huì)導(dǎo)致結(jié)果嚴(yán)重偏離真實(shí)值。
圖1 迭代孔洞標(biāo)記圖
一個(gè)直接或間接地調(diào)用自身的算法稱為遞歸算法[8]。一個(gè)使用函數(shù)自身給出定義的函數(shù)稱為遞歸函數(shù)。在計(jì)算機(jī)算法設(shè)計(jì)與分析中,遞歸技術(shù)是十分有用的。使用遞歸技術(shù)往往使函數(shù)的定義和算法的描述簡(jiǎn)潔且易于理解。遞歸孔洞標(biāo)記從圖像中一個(gè)像素點(diǎn)開始,遞歸處理其周圍4鄰域的像素點(diǎn),從一點(diǎn)逐漸向外膨脹,遞歸返回一次就可以得到其面積。具體步驟如下:
采用遞歸孔洞標(biāo)記最終能訪問完圖像中所有孔洞目標(biāo)區(qū)域,不會(huì)產(chǎn)生遺漏。但是遞歸調(diào)用的過程會(huì)有很多重復(fù)處理,因此占用的??臻g會(huì)比較多,直到所有遞歸完成以后才能釋放資源,當(dāng)數(shù)據(jù)量較大時(shí),遞歸次數(shù)過多,會(huì)導(dǎo)致堆棧溢出,程序無法繼續(xù)運(yùn)行[9]。
回溯法[10]是一個(gè)既帶有系統(tǒng)性又帶有跳躍性的搜索算法。它在包含問題的所有解空間樹中,按照深度優(yōu)先的策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹。確定了解空間的組織結(jié)構(gòu)后,回溯法從開始結(jié)點(diǎn)(根結(jié)點(diǎn))出發(fā),這個(gè)開始結(jié)點(diǎn)就成為一個(gè)活結(jié)點(diǎn),同時(shí)也成為當(dāng)前的擴(kuò)展結(jié)點(diǎn)。在當(dāng)前的擴(kuò)展結(jié)點(diǎn)處,搜索向縱深方向移至一個(gè)新結(jié)點(diǎn)。這個(gè)新結(jié)點(diǎn)就成為一個(gè)新的活結(jié)點(diǎn),并成為當(dāng)前擴(kuò)展結(jié)點(diǎn)。如果在當(dāng)前的擴(kuò)展結(jié)點(diǎn)處不能再向縱深方向移動(dòng),則當(dāng)前的擴(kuò)展結(jié)點(diǎn)就成為死結(jié)點(diǎn)。換句話說,這個(gè)結(jié)點(diǎn)不再是一個(gè)活結(jié)點(diǎn)。此時(shí),應(yīng)往回移動(dòng)(回溯)至最近的—個(gè)活結(jié)點(diǎn)處,并使這個(gè)活結(jié)點(diǎn)成為當(dāng)前的擴(kuò)展結(jié)點(diǎn)?;厮莘匆赃@種工作方式遞歸地在解空間中搜索,直至找到所要求的解或解空間中已無活結(jié)點(diǎn)時(shí)為止。
回溯孔洞標(biāo)記法在一副經(jīng)過預(yù)處理的圖像中,從左到右,從上到下掃描,直到發(fā)現(xiàn)一個(gè)沒有標(biāo)記過的孔洞像素點(diǎn),以此像素點(diǎn)為起始點(diǎn),按右、下、左、上的順序?qū)σ粋€(gè)連通區(qū)域進(jìn)行深度搜素,直至把整個(gè)連通區(qū)域搜索完畢。標(biāo)記各個(gè)孔洞,保存信息。具體步驟如下:
(1)判斷當(dāng)前點(diǎn)(孔洞)是否標(biāo)記過,未標(biāo)記轉(zhuǎn)步驟(2),標(biāo)記過轉(zhuǎn)步驟(3);
(2)孔洞面積加1,并標(biāo)記該點(diǎn),保存該像素點(diǎn)信息(包括坐標(biāo),方向),入棧,進(jìn)入步驟(4);
(3)取棧頂元素,判斷是否所有方向都已搜索完畢,如果該像素點(diǎn)其他方向未搜索,則進(jìn)入步驟(4),否則轉(zhuǎn)步驟(5);
(4)尋找下一個(gè)像素點(diǎn),繼續(xù)搜索,轉(zhuǎn)步驟(1);
(5)將該像素點(diǎn)出棧,判斷棧是否為空,不為空,繼續(xù)搜索,轉(zhuǎn)入步驟(1),否則搜索完畢,程序退出。
該方法類似于迷宮問題,迷宮問題只是從入口到出口找到一條通路,而回溯孔洞標(biāo)記則是把與這個(gè)通路連通的整個(gè)區(qū)域都找出來。一個(gè)簡(jiǎn)單的迷宮圖如圖2所示。
圖2 迷宮圖
圖2中黑色區(qū)域?yàn)槊詫m的墻,迷宮問題只要求從入口處(0,0)到出口(3,4)之間找到一條通路,就停止尋找,回溯孔洞標(biāo)記法則繼續(xù)返回搜索,直至把整個(gè)連通區(qū)域都遍歷完(搜索方向?yàn)橛遥?,左,?。具體搜索過程如下:
(3,4)為最末點(diǎn),走到這里,迷宮問題得到解決。而本算法經(jīng)過判斷后把該點(diǎn)彈出,同理一直回溯到(2,1)點(diǎn),在(2,1)點(diǎn)繼續(xù)向左搜索。
到(1,0)點(diǎn)時(shí),其4鄰域內(nèi)3個(gè)像素都標(biāo)記過,經(jīng)過判斷后彈出該點(diǎn)信息,回溯到(2,1)點(diǎn),該像素點(diǎn)所有方向都搜索完畢,繼續(xù)向前回溯到(0,0)點(diǎn),彈出所有像素點(diǎn)后,棧為空,結(jié)束該連通區(qū)域搜索。
采用回溯孔洞標(biāo)記法能完整地遍歷整個(gè)圖像,將多孔材料SEM圖像上不同的連通區(qū)域用不同的數(shù)值標(biāo)記出來,而同一個(gè)目標(biāo)區(qū)域中所有的像素用同一個(gè)數(shù)值表示。該方法在搜索的過程中對(duì)搜索過的點(diǎn)進(jìn)行出棧操作,避免了遞歸帶來的堆棧溢出后果。
筆者利用淀粉SEM圖像和陶瓷SEM圖像對(duì)該算法予以驗(yàn)證,在測(cè)量之前首先對(duì)實(shí)驗(yàn)對(duì)象進(jìn)行一系列預(yù)處理,把SEM圖像轉(zhuǎn)化成BMP文件格式,然后采用HSI選取閾值對(duì)圖像二值化,得到二值化圖像(白色區(qū)域?yàn)榭紫?。圖3~圖5均為回溯孔洞標(biāo)記法測(cè)得的實(shí)驗(yàn)結(jié)果。圖3(a)所示為經(jīng)過預(yù)處理后的淀粉SEM圖像,圖5(a)所示為經(jīng)過預(yù)處理后的陶瓷SEM圖像。
圖3 X 5000淀粉SEM圖像實(shí)驗(yàn)結(jié)果
圖4 X 1000淀粉SEM圖像實(shí)驗(yàn)結(jié)果
圖5 X 10000陶瓷SEM圖像實(shí)驗(yàn)結(jié)果
對(duì)于圖3~圖5,利用迭代孔洞標(biāo)記法時(shí),會(huì)出現(xiàn)孔洞數(shù)目結(jié)果比實(shí)際數(shù)目大很多。這是因?yàn)閳D像中出現(xiàn)了很多等價(jià)標(biāo)記。如圖6所示,一個(gè)孔洞區(qū)域被分成了7個(gè)連通區(qū)。因此圖像中的目標(biāo)孔洞個(gè)數(shù)會(huì)急劇增加,而且,在對(duì)單個(gè)孔洞面積進(jìn)行像素累加時(shí)也會(huì)出現(xiàn)錯(cuò)誤的結(jié)果。如果要把各種特殊情況考慮進(jìn)去,則會(huì)大大增加代碼的復(fù)雜度。一旦考慮不全面,結(jié)果也會(huì)和真實(shí)值有較大偏差。
圖6 迭代結(jié)果分析圖
采用遞歸孔洞標(biāo)記法來處理圖3和圖4時(shí),程序運(yùn)行良好,可以測(cè)出與回溯標(biāo)記法相同的正確結(jié)果。而對(duì)于圖5,可以看到,其中的一個(gè)孔洞面積達(dá)到了十萬個(gè)像素以上,遞歸在遇到這種數(shù)據(jù)量的情況下,堆棧溢出,程序則無法正常運(yùn)行。由此說明遞歸算法的性能會(huì)受到目標(biāo)區(qū)域大小的影響,如果目標(biāo)區(qū)域太大,就會(huì)耗盡??臻g。
迭代標(biāo)記時(shí)需要考慮很多特殊情況,算法復(fù)雜;遞歸需消耗大量的內(nèi)存資源,且受到目標(biāo)區(qū)域大小的影響;而回溯孔洞標(biāo)記法代碼精簡(jiǎn),執(zhí)行效率高,測(cè)量結(jié)果準(zhǔn)確,在多孔介質(zhì)的微結(jié)構(gòu)測(cè)量中有較好的應(yīng)用價(jià)值。
[1]LIU W,PENG S W,MIZUKAMI K.A general mathematical modeling for heat and mass transfer in unsaturated porous media:an application to free evaporative cooling[J].Heat and Mass Transfer,1995,31(1):49-55.
[2]浦紅,楊崢,陳斌.用計(jì)算機(jī)圖像處理軟件定量分析SEM 圖像[J].物理測(cè)試,2004(1):30-32.
[3]張季如,祝杰,黃麗,等.土壤微觀結(jié)構(gòu)定量分析的IPP圖像技術(shù)研究[J].武漢理工大學(xué)學(xué)報(bào),2008,30(4):80-83.
[4]施斌,李生林.粘性土微觀結(jié)構(gòu)SEM圖像的定量研究[J].中國科學(xué)(A 輯),1995,25(6):666-672.
[5]毛靈濤,薛茹,安里千.Matlab在微觀結(jié)構(gòu)SEM圖像定量分析中的應(yīng)用[J].電子顯微學(xué)報(bào),2004,23(5):579-583.
[6]熊承仁,唐輝明,劉寶琛,等.利用SEM照片獲取土的孔隙結(jié)構(gòu)參數(shù)[J].地球科學(xué):中國地質(zhì)大學(xué)學(xué)報(bào),2007,32(3):415-419.
[7]張修軍,郭霞,金心宇.帶標(biāo)記矯正的二值圖像連通域像素標(biāo)記算法[J].中國圖象圖形學(xué)報(bào),2003,8(2):198-202.
[8]朱名江.遞歸算法[J].中文信息,2002(8):36-39.
[9]俞杰,許化溪.一種易于實(shí)現(xiàn)的適于細(xì)胞圖像連通區(qū)域的標(biāo)記算法[J].江蘇大學(xué)學(xué)報(bào):醫(yī)學(xué)版,2005,15(2):152:155.
[10]王曉東.數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)[M].北京:電子工業(yè)出版社,2002:54-69.