黃 健,宋執環,陳文偉,李 斌
(工業控制技術國家重點實驗室,浙江大學工業控制研究所,浙江杭州 310027)
銅加工過程中,銅成分是實現生產過程自動控制的關鍵質量參數,需要能夠快速準確地檢測樣本的銅成分質量指標。然而,由于高溫和腐蝕性等因素,該參數在線檢測成為成套控制系統應用中的一個技術難題。現有工藝下,銅成分測量一般采用先將銅液冷卻固化成銅塊,再到化驗室進行離線分析檢測的方法。
近年來,出現了一些基于圖像特征的銅成分分析方法,如文獻[1]提出了一種基于彩色圖像特征的銅成分軟測量方法,文獻[2]提出了一種基于色調強度的二元銅合金銅成分分析方法。在基于圖像特征的銅成分分析過程中,具有檢測價值的區域主要位于銅塊截面上某個部位(通過打磨等處理),這樣能否獲取一塊有檢測價值的區域必將影響最終銅成分分析的準確性。這里,稱這樣一塊有檢測價值的區域為感性趣的區域(region of interest,ROI)。目前,基于圖像特征的銅成分分析方法中基本采用人為選取ROI的方法,但在銅成分分析儀表產品化的情況下,儀表必須實現ROI自動提取的功能,并且ROI的提取必須具有魯棒性,能適應復雜背景的情況。當前ROI提取方法不少,但沒有一種方法具有普遍性,也沒有一種有效的方法適用于銅塊ROI提取。
本文針對這種情況,提出了一種復雜背景下不規則銅塊ROI快速提取的方法—SBRE(seed-based ROI extraction)方法,具有在線計算量小的優點,適用于性能相對較差的嵌入式平臺。
假設背景單一,且在灰度分布上和銅塊相差很大,這種情況下銅塊區域的確定是相對容易的,閾值分割的方法就能很好地將銅塊區域用矩形框標記出來。遵循自動檢測的原則,本文采用迭代選擇閾值法分割來區分銅塊區域和背景,并用矩形框REC標記銅塊區域。
對于一個銅塊合金樣本,銅塊截面是最具有檢測意義的區域,而銅塊截面和側面無論灰度分布色彩分布上都比較接近,無監督的方法很難將它們區別開來。這里加入一些先驗知識,當銅塊被測量時,截面朝上,截面的位置肯定位于側面的上方。把矩形框REC從上往下按順序分割為4塊區域,對第一塊區域內的銅塊區域I,假設其全部屬于銅截面區域,否則,銅截面寬度連銅塊寬度的1/4都不到,再去測量其成分就變得毫無意義了。因此,凸邊形區域I的中心點O也必在銅截面區域內,并且是一個相對遠離銅截面邊界區域的點。這里把O點作為種子點,通過該種子點與銅塊邊緣相結合的方法,可以不斷更新種子點去近似真正的銅截面中心點,并獲得一塊較大的ROI,其具體流程如圖1。

圖1 ROI提取流程圖Fig 1 Flow chart of ROI extraction
1)提取出矩形框REC內的銅塊灰度子圖S;
2)對圖像S1進行Canny算子邊緣檢測[3]獲得邊緣圖像S1,選取合適的閾值,銅塊截面與側面間的邊緣必會呈現在S7中;
3)在圖像 S1 中,從O點出發,沿著 0°,45°,90°,135°,180°,225°,270°,315°方向尋找銅截面邊緣點或 S1 圖像邊界點;
4)若找到邊緣點,則計算此邊緣點所在邊緣長度;若邊緣長度小于35,則認為此邊緣點只是銅截面內部紋理的一部分,跳到步驟(3),繼續沿著原方向搜索;若邊緣長度大于35,則認為找到了該方向上的截面邊緣點,記錄該點;若該點已是315°方向,跳到步驟(4);反之,跳轉到步驟(3),沿下一個方向繼續搜索,找到圖像S1邊界點的情況與找到截面邊緣點的情況一樣;
5)因為銅截面可當成凸邊形,其中心點必在截面內部,本文將步驟(4)找到的8個方向上的銅截面邊緣點(或邊界點)的中心近似為銅塊截面中心O0;
6)若迭代次數大于50,或者O0和O點的距離小于5(采用歐氏距離[4]),更新O0點為O點,跳轉到步驟(7);反之,更新O0點為O點,跳轉到步驟(3);
7)記錄O點到0°,180°2個方向上的銅截邊緣點(或邊界點)的最短距離Lx,O點到90°,270°2個方向上的銅截面邊緣點(或邊界點)的最短距離Ly,選擇以O點為中心點、(2Lx×0.5)為長、(2Ly×0.5)為寬的矩形區域為 ROI。這樣,可使ROI在銅塊截面內部。
為了方便下文比較,稱此種方法為SRE(single-background ROI extraction)方法。
從前文提出的ROI提取方法可以看出,它主要由3個步驟組成:1)選取種子點;2)確定中心點;3)選取ROI。而ROI的提取由種子點和銅截面邊緣確定(前文是針對銅塊區域子圖片做的邊緣檢測,有可能會因為銅塊區域矩形框誤差帶入一些邊界,但這都是為了計算快速,其實這些邊界也可認為是銅截面區域的近似邊界),如式(1)(Seed為種子點,Edge為銅截面邊緣)

其實,只要種子點在銅截面內部,更新截面中心點多次后(迭代時間足夠長),截面中心點就會重合于一點,另外整幅檢測圖像的邊緣必定包含銅塊邊緣,于是式(1)可轉變為式(2)(Edge0為整幅圖像的邊緣,CuS為整塊銅截面區域)

至此,ROI的提取被分成了2個獨立的步驟:1)選取種子點;2)根據邊緣選取ROI。其中,第二個步驟具有通用性,與背景復雜度無關,因為它是基于銅截面內部種子點和邊緣(截止于銅截面邊緣)提出的方法,自然獨立于銅塊所處背景了。于是,只有選取種子點的步驟與背景復雜度有關了,從選取種子點的背景是整幅圖像也可以直觀地看出這一點。
這樣一來,從復雜背景下提取ROI的問題可以轉化為從復雜背景下選取一個種子點的問題。把這種基于種子點的ROI提取方法稱為SBRE方法。
對于一幅具有復雜背景的銅塊圖像來說,要想把銅截面里的一點找出來,自然要知道銅截面有別于其它部分的特征。一幅圖像的特征基本有2種:顏色特征和紋理特征,由于銅截面的紋理特征與其它物體相比并沒有特別顯著的地方,本文選取一組樣本的顏色特征作為建模依據,符合模型的即為疑似銅塊截面點。要挖掘最有效的顏色特征,就要選擇合適的顏色空間。顏色空間指的是某個三維空間中的一個可見光子集,它包含某個顏色域的所有顏色。一般圖像常采用RGB三元色彩空間表示,但RGB三色空間中兩點間的歐氏距離與顏色距離不呈線性比例,換句話說,就是顏色受亮度的影響較大,RGB顏色空間不具有進行彩色圖像處理所要求的獨立性和均勻性指標。然而絕對滿足獨立性和均勻性的顏色空間是不存在的[5],只能找到一種在較大范圍內符合這2種特性的顏色空間。通過實驗,本文采用了HSV顏色空間,H為色彩信息,S為純度,V為色彩的明亮程度,其與R,G,B(歸一化到[0,1]區間)的轉換關系如下[6]

由于銅截面圖像包含一些深色劃痕和噪聲,為消除它們的影響,對每個樣本(銅截面子圖像,共27個,如圖2)的所有像素點的H,S,V值作一個平均,得到27個(H,S,V)數據。本文研究背景下的所有銅塊根據其特性可以分為兩類:一類銅含量高于90%(一類);另一類銅含量在50%~70%之間(二類)。把這27個樣本根據其銅含量分為兩類,這27個樣本的平均(H,S,V)值必定在2個長方體L1,L2內部,如圖 3。其中,H1min,H1max,S1min,S1max,V1min,V1max分別對應一類銅截面的H最小值,H最大值,S最小值,S最大值,V最小值,V最大值,H2min等的定義類似。
通過對27組銅截面樣本圖像的分析,它們的實際值如表1所示。
以上提到HSV顏色空間的2個長方體L1和L2就是銅截面顏色特征模型。對于銅塊圖像中的像素點,只要其(H,S,V)值在這2個長方體內,就稱此像素點為疑似銅塊截面點。

圖2 27個ROI樣本Fig 2 27 ROI samples

表1 模型參數Tab 1 Parameters of HSV model

圖3 HSV模型示意圖Fig 3 Diagram of HSV model
首先,對HSV模型二值化后的圖像K提出3個假設:
1)此圖像內的前景點只有銅截面點、銅側面點以及顏色類似于銅截面的物體點;
2)前景點主要集中在截面和銅側面,且顏色類似銅截面的物體點相對很少;
3)前景點主要集中在截面,銅側面上前景點相對很少。
事實上,以上三點假設在大多數情況下成立(背景里沒有比銅塊大且顏色與銅截面極其相似的物體,銅側面面積小于銅截面,且(H,S,V)值與截面有所區別)。
假設圖像K的分辨率為W×H,Rectangle為長和寬分別為W/2,H/2的矩形框,將該矩形框在圖像K內不斷平移,計算落在該矩形框內的前景像素點數量N,得到N最大的矩形框RECT,則RECT內的子圖像K1必然也符合前面的3個假設:
1)第一條假設顯然成立;
2)當銅塊區域長和寬均小于RECT時,整個銅塊區域在RECT內部(因為第二條,顏色類似銅截面的物體點幾乎不影響RECT的位置),當銅塊區域長或寬小于RECT時,RECT包裹銅塊的部分區域而遠離顏色類似銅截面的物體點,因此,對于RECT子圖像而言,主要包含銅塊區域的點,顏色類似銅截面的物體點相對很少,假設(2)成立;
3)第三條假設的證明與第二條類似。
可以看出:通過對RECT子圖像按照對圖像K的方法再進行多次迭代后,矩形框收縮于銅截面內部,只要取其內一點作為種子點就可以了。
本文設計的算法正是基于這三條假設的,如圖4,其中矩形框搜索的步長為20/1.2n-1,n為迭代次數,初始步長選20的原因是為了加快搜索速度,而另一方面是因為初始搜索精度不需要很高,而隨著矩形框的縮小搜索逐漸細化。

圖4 BSRE方法流程圖Fig 4 Flow chart of BSRE method
圖5顯示了6種不同背景環境下使用本文提到的2種方法提取銅塊ROI的情況(左起依次表示SRE提取ROI情況、SBRE方法矩形框迭代收縮情況、SBRE方法提取ROI情況,矩形框為所提取的ROI)。前2種環境為背景單一的情況,銅塊和背景對比很明顯;后4種環境則是背景復雜的情況,背景中有可能存在和待檢測銅塊顏色接近的物體,如手指、非檢測銅塊等。其中,每一種背景環境對應的3張圖片依次表示SRE提取ROI情況、SBRE方法矩形框迭代收縮情況(黑色部分為經過HSV模型處理后的疑似銅塊截面點)、SBRE方法提取ROI情況。從圖5可以看出:單一背景環境下2種方法都能準確地從銅塊截面提取出ROI(獲得ROI的位置和大小差不多),在復雜背景下SRE方法就顯得無能為力了,有可能提取到背景干擾物體的截面,而SBRE方法則依然能準確地提取到銅塊截面。
表2顯示了SBRE方法的性能,處理速度基本在100ms左右,非常快速,適合移植到嵌入式設備。其中,用于測試的圖片大小為720×576,計算機配置:操作系統為Ubuntu10.10(32 bit);CPU 為 InetlCentrinoDuoT2400(1.83 GHz);內存為 2 GB;g++ 版本為 4.4。

表2 SBRE方法處理時間Tab 2 Time consumed by SBRE method

圖5 六種不同背景下的SRE/SBRE方法比較Fig 5 Comparison of SRE/SBRE method under 6 backgroungds
ROI提取是圖像分析處理的前期步驟,因為圖像背景有可能很復雜,很多情況下很難定位到前景的位置,更不用說前景ROI的提取了,因此,這也是圖像處理領域的難題之一[7]。本文首先提出了一種完整的單一背景下提取銅截面ROI的方法,進而抽象ROI提取問題,將該問題分割為2個步驟:第一步為背景相關的種子點提取;第二步為背景無關的ROI確定,并提出了SBRE方法。復雜背景下的SBRE方法首先建立HSV顏色模型,然后通過不斷更新步長收縮搜索矩形最終使搜索矩形框完全位于銅截面內部,進而確定種子點,最終確定ROI。實驗結果表明:該方法法準確、快速,適用于對實時性要求較高的場合。同時,這種方法對具有顏色特征的截面提取具有普遍性,很容易推廣。
[1] 張宏偉,宋執環.基于彩色圖像特征的銅成分軟測量模型[J].上海交通大學學報,2011,45(8):1211 -1215.
[2] Kim Chanwook,Kim Hanggoo,Suk Hangil.A study on the composition determination of Cu alloys by image processing technology[J].Solid State Phenomena,2006,116 -117:795 -798.
[3] Canny J.A computational approach to edge detection[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1986,8:679-714.
[4] Wang Liwei,Zhang Yan,Feng Jufu.On the Euclidean distance of images[J].IEEE Transactions on Patter Analysis and Machine Intelligence,2005,27(8):1334 -1339.
[5] Gonzales R C,Woods R E.Digital image processing[M].Beijing:Publishing House of Electronics Industry,2004:416 -482.
[6] 阮秋琦.數字圖像處理學[M].北京:電子工業出版社,2001.
[7] Sezgin M,Sankur B.Survey over image thresholding techniques and quantitative performance evaluation[J].Journal of Electronic Imaging,2004,13(1):146 -165.