牛晗伍希志任桂芹李賢軍
(1.中南林業(yè)科技大學(xué) 材料科技與工程學(xué)院,長沙 410082;2.廣達(dá)意隆包裝機(jī)械股份有限公司,廣州510530;3.青島市即墨區(qū)綜合檢驗(yàn)檢測中心,山東 青島266200)
我國是世界竹林資源最豐富的國家,全國竹林面積為641.16萬hm2,2020年竹產(chǎn)業(yè)產(chǎn)值已經(jīng)達(dá)到3 000億元,竹產(chǎn)品包括竹板、竹家具等。竹產(chǎn)品天然的紋理和色彩給人舒適自然的感覺,且竹產(chǎn)品天然無污染,資源可再生,非常適合室內(nèi)裝飾。竹片是制成竹產(chǎn)品的原材料,由竹片拼接成各式各樣的竹產(chǎn)品。隨著人們對(duì)竹產(chǎn)品接受程度日益提升,提高竹產(chǎn)品的生產(chǎn)效率已成為企業(yè)的要求。生產(chǎn)竹產(chǎn)品的許多工序逐漸實(shí)現(xiàn)自動(dòng)化生產(chǎn),效率很高,如剖竹、修剪和打磨等,但最關(guān)鍵的缺陷檢測仍由人工完成,生產(chǎn)效率低,人工成本高。人工進(jìn)行竹片缺陷檢測如圖1所示。由圖1可以看出,竹片缺陷檢測完全由工人手工完成。檢測環(huán)境包括燈光與太陽光,檢測人員在不同的地方光照條件會(huì)存在差異,會(huì)影響工人對(duì)缺陷的判斷。因此研究竹片自動(dòng)化缺陷檢測很有必要。
圖1 人工竹片缺陷檢測Fig.1 Manual detection of bamboo chip defects
近年來,為了實(shí)現(xiàn)自動(dòng)化缺陷檢測,學(xué)者們?cè)谀静娜毕輬D像檢測方面進(jìn)行了大量研究,提出了許多木材缺陷識(shí)別方法,如區(qū)域生長法[1]、超聲波頻譜分析法[2]、改進(jìn)分水嶺算法[3]、水平共生矩陣[4]和深度學(xué)習(xí)[5-8]等。樸順姬等[9]采用多尺度分形特征值區(qū)分木材缺陷邊緣與背景,進(jìn)行了節(jié)子與裂紋2種木材缺陷的識(shí)別。李漫麗等[10]采用Laplacian金字塔變換對(duì)紅外圖像和可見光圖像進(jìn)行融合檢測木板節(jié)子缺陷。張斌洪等[11]采用相對(duì)全變分算法對(duì)可疑木板缺陷面積閾值區(qū)域進(jìn)行檢測,成功檢測油墨、掉皮、木結(jié)和裂痕等4類缺陷。Cavalin等[12]采用圖像灰度化的方法識(shí)別木材缺陷。廖春暉等[13]采用應(yīng)力波測試技術(shù)對(duì)木材缺陷進(jìn)行檢測。解朦等[14]采用改進(jìn)形態(tài)學(xué)方法進(jìn)行彩色圖像的單板缺陷檢測。趙鵬等[15]采用3D激光掃描技術(shù)檢測了木材孔洞等凹陷類缺陷。羅微等[16]結(jié)合梯度直方圖特征與局部二值2種方法,融合缺陷特征,準(zhǔn)確識(shí)別了木材缺陷。針對(duì)竹材缺陷檢測,陳張言[17]采用BP神經(jīng)網(wǎng)絡(luò)對(duì)竹片外形缺陷與竹節(jié)紋理2種缺陷進(jìn)行識(shí)別。黃炳強(qiáng)[18]采用形態(tài)學(xué)法、CANNY算法、垂直投影水和區(qū)域生長算法分別對(duì)蛀孔、裂縫、竹青與竹黃4種缺陷進(jìn)行了檢測。
綜合上述研究工作可以發(fā)現(xiàn),國內(nèi)外學(xué)者對(duì)木板缺陷檢測研究較多,對(duì)竹材缺陷研究不夠。與木板缺陷檢測相比,竹片缺陷檢測具有缺陷種類多(主要有拉絲片、破裂片、蛀孔片、霉片、竹青片、黑節(jié)片、三角條7種缺陷)、缺陷難區(qū)分、竹材自然紋理干擾、尺寸又細(xì)又長等難點(diǎn),需要對(duì)竹片缺陷圖像檢測進(jìn)行深入研究。本文提出一種基于OTSU與CANNY算法的竹片缺陷圖像檢測方法,首先進(jìn)行竹片區(qū)域提取和傾斜校正,然后對(duì)竹片區(qū)域進(jìn)行拉絲片、破裂片、蛀孔片、霉片、竹青片、黑節(jié)片和三角條7種缺陷的檢測,實(shí)現(xiàn)了準(zhǔn)確自動(dòng)識(shí)別竹片缺陷的目的,為后續(xù)竹片的自動(dòng)化檢測奠定了基礎(chǔ)。
竹片缺陷檢測實(shí)驗(yàn)平臺(tái)如圖2所示,整體實(shí)驗(yàn)設(shè)備包括圖像采集模塊、光源系統(tǒng)模塊和暗箱。圖像采集裝置采用??低?00萬像素CMOS 面陣工業(yè)相機(jī)采集圖像,工業(yè)相機(jī)鏡頭距竹片220 mm,光源系統(tǒng)采用對(duì)射式條形光源,在線性上保證均勻的光照,暗箱保證圖像采集的光照條件一致,不受外界環(huán)境干擾。
竹片圖像是在2021年6月中旬于湖南省益陽市湖南桃花江竹材科技有限公司拍攝,該公司生產(chǎn)所用竹片長度為200~220 mm,寬度為20~25 mm。采集竹片的正面圖像,用以檢測竹片正面缺陷。每張圖像采集竹片長度為60 mm,在公司實(shí)地采集各類竹片缺陷圖像共350幅,所采集的圖像為BMP格式,圖像大小為2 448×2 048像素。
圖2 竹片缺陷檢測實(shí)驗(yàn)平臺(tái)及采集現(xiàn)場Fig.2 Bamboo chip defect detection experimental platform and collection site
采集的竹片缺陷圖像如圖3所示,由于竹片為長條形且由于應(yīng)力作用會(huì)存在一定自然撓度,因此竹片通道設(shè)置寬度會(huì)留有一定余量,導(dǎo)致竹片不是垂直于圖像。為了保證一定的竹片拍攝長度,竹片區(qū)域在圖中占比就較低,約為四分之一,背景等無效信息占據(jù)四分之三。
竹片缺陷檢測總體流程如圖4所示。首先對(duì)竹片圖像進(jìn)行預(yù)處理,即將圖像灰度化與降噪;然后采用OTSU算法進(jìn)行二值化處理,使竹片與背景分離,突出竹片邊緣;再利用CANNY算法進(jìn)行邊緣檢測,利用Hough 變換擬合竹片邊緣并計(jì)算出竹片傾斜角度,根據(jù)傾斜角進(jìn)行旋轉(zhuǎn)處理,校正竹片傾斜位置;對(duì)竹片區(qū)域進(jìn)行剪切,提取竹片區(qū)域;結(jié)合OTSU算法與CANNY算法檢測竹片缺陷。
圖3 竹片缺陷圖像Fig.3 Bamboo chip defect image
圖4 竹片缺陷檢測總體流程圖Fig.4 Overall flow chart of defect detection of bamboo chips
竹片缺陷包括7類,分別是拉絲片、破裂片、蛀孔片、霉片、竹青片、黑節(jié)片和三角條。經(jīng)過對(duì)各類竹片缺陷仔細(xì)研究發(fā)現(xiàn),蛀孔片、霉片、竹青片和黑節(jié)片4類缺陷的顏色與合格竹片顏色存在差異,而拉絲片、破裂片和三角條3類缺陷的形狀與合格片不同,屬于形狀差異。本文將灰度法與邊緣法結(jié)合,能檢測全部7種竹片缺陷。經(jīng)過對(duì)比各類灰度算法與邊緣檢測算法,最后確定OTSU算法與CANNY算法,將2種算法結(jié)合,即可檢測7類竹片缺陷。缺陷檢測算法流程如圖5所示。在檢測出缺陷后采用最小外接矩形法將缺陷框出。
圖5 缺陷檢測算法流程圖Fig.5 Flowchart of defect detection algorithm
OTSU算法的基本思想是計(jì)算圖像的灰度平均值M,希望得到一個(gè)閾值T,可以把圖像分割成背景A和竹片B。記圖像中背景A的灰度平均值是MA,圖像中竹片B的灰度平均值是MB。像素點(diǎn)出現(xiàn)在背景A的概率為PA,出現(xiàn)在竹片B的概率為PB。閾值T計(jì)算公式如下:
CANNY算法的基本思想是先對(duì)圖像進(jìn)行高斯濾波,再計(jì)算圖像中的梯度幅值和方向, 再對(duì)像素點(diǎn)梯度值做非極大值抑制,最后利用雙閾值連接檢測邊緣。CANNY算法表達(dá)式如公式(2)所示,式中,f(x,y)為輸入圖像;φ和θ分別為圖像梯度方向和梯度幅值。
BMP格式圖像為三通道彩色圖像,信息過多且包含噪聲,因此需要將其轉(zhuǎn)化為灰度圖像并且進(jìn)行降噪處理?;叶葓D像為單通道,對(duì)應(yīng)的灰度值也是0~255,大大減少了信息量,能有效提高運(yùn)算速度。通過對(duì)各類灰度化算法與濾波算法進(jìn)行實(shí)驗(yàn)分析,加權(quán)平均值法進(jìn)行灰度化效果較好,中值濾波算法降噪效果較好。預(yù)處理結(jié)果如圖6所示。
圖6 竹片圖像預(yù)處理結(jié)果Fig.6 Bamboo slice image preprocessing results
預(yù)處理后的竹片圖像中具有256個(gè)灰度級(jí),仍保留較多信息,其中竹片的纖維清晰可見,這時(shí)對(duì)其進(jìn)行邊緣檢測會(huì)存在較多無用信息,結(jié)果如圖7所示。不僅竹片區(qū)域內(nèi)存在較多邊緣,甚至背景區(qū)域內(nèi)也存在邊緣,這時(shí)分辨竹片邊緣較為困難。
圖7 邊緣檢測結(jié)果Fig.7 Edge detection results
因此需要對(duì)灰度圖像進(jìn)行二值化處理,二值化后圖像就分為黑白兩部分,可以清晰地分辨出竹片和背景區(qū)域。二值化后圖像灰度值為0與1,極大地壓縮圖像數(shù)據(jù),進(jìn)一步加快運(yùn)算速度。下面采用OTUS算法對(duì)竹片灰度圖像進(jìn)行閾值分割。OTUS算法會(huì)針對(duì)每張竹片圖像計(jì)算出合適的閾值,比固定閾值算法更具有實(shí)用性。OTSU二值化分割結(jié)果如圖8所示,圖像中竹片與背景很好地區(qū)分出來了。
圖8 OTSU算法處理結(jié)果Fig.8 OTSU algorithm processing results
二值化處理后不存在其他灰度級(jí),灰度值0為黑色,灰度值1為白色。因此這時(shí)對(duì)圖像進(jìn)行邊緣檢測就不存在無效信息。通過對(duì)各類邊緣檢測算法進(jìn)行實(shí)驗(yàn)分析,基于CANNY算子的邊緣檢測算法效果較好,結(jié)果如圖9所示。
基于CANNY算子的邊緣檢測算法檢測出的竹片邊緣較為連續(xù),且邊緣較為明顯,僅存在部分不連續(xù)邊緣,同時(shí)存在部分由于二值處理造成的偽邊緣,因此需對(duì)竹片邊緣進(jìn)行擬合。下面采用Hough變換擬合竹片邊緣。
圖9 邊緣檢測算法處理結(jié)果Fig.9 Edge detection algorithm processing results
Hough變換的基本思想是將直角坐標(biāo)系中的一條直線對(duì)應(yīng)極坐標(biāo)系中的一點(diǎn)。直線的數(shù)學(xué)方程如公式(3)所示,這條直線用極坐標(biāo)表示為點(diǎn)(ρ,θ),直線方程在極坐標(biāo)系中表達(dá)式如公式(4)所示。x、y參數(shù)空間中的各個(gè)點(diǎn)組成一條直線,而x、y參數(shù)空間(將x、y空間修改為數(shù)空間)中這條直線上的無數(shù)個(gè)點(diǎn)在ρ、θ參數(shù)空間中表現(xiàn)為無數(shù)條曲線,這些曲線都將經(jīng)過點(diǎn)(ρ,θ)。邊緣檢測算法檢測出的很多像素點(diǎn)必然在擬合出的邊緣上,以這些像素點(diǎn)為圓心建立的直線方程中存在一條直線為同一直線,即擬合出的邊緣。這些直線方程的ρ和θ都為同一值,因此在參數(shù)空間中離散化的該(ρ,θ)點(diǎn)必將出現(xiàn)很多次,出現(xiàn)次數(shù)最多即最亮的2點(diǎn)即為竹片的兩條邊界,將擬合出的直線用紅色高亮顯示。經(jīng)過Hough變換后擬合的竹片邊界如圖10所示。大部分邊緣檢測出的邊緣點(diǎn)在擬合出的邊緣上,少部分偽邊緣都被排除在外。
圖10 Hough變換擬合的竹片邊緣Fig.10 Bamboo slice edge fitted by Hough transform
Hough變換擬合出的點(diǎn)(ρ,θ)代表竹片邊緣,同時(shí)也得到了竹片的傾斜角θ。這時(shí)需要對(duì)圖像進(jìn)行傾斜校正,使竹片垂直于圖像中,也方便后續(xù)剪裁出完整的竹片區(qū)域。圖像的傾斜校正屬于圖像的位置變換,一般以圖像中心為原點(diǎn),將圖像上所有像素旋轉(zhuǎn)一個(gè)相同角度,得到一個(gè)新的圖像。傾斜校正公式如公式(5)所示。但竹片傾斜方向分為左傾斜與右傾斜,當(dāng)傾斜角度θ小于90°,則將圖像順時(shí)針方向旋轉(zhuǎn)θ。當(dāng)傾斜角度θ大于90°,則將圖像順時(shí)針方向旋轉(zhuǎn)450°減θ。經(jīng)過傾斜校正所得圖像如圖11所示。
圖11 傾斜校正后竹片圖像Fig.11 Bamboo slice image after tilt correction
傾斜校正后對(duì)圖像進(jìn)行剪切即可得到完整竹片圖像,裁剪結(jié)果如圖12所示。具體裁剪算法如下。
(1)從圖像左上角開始,遍歷竹片圖像上的像素點(diǎn),到圖像右下角結(jié)束。把灰度值不為255且灰度值不為0的像素點(diǎn)保存在矩陣中。
(2)找到所保存矩陣中4個(gè)頂點(diǎn)。分別對(duì)上、下2個(gè)頂點(diǎn)進(jìn)行比較。以圖像上面2個(gè)頂點(diǎn)高度較大的為基準(zhǔn),去掉矩陣中高度比其小的像素點(diǎn)。以圖像下面2個(gè)頂點(diǎn)高度較小的為基準(zhǔn)點(diǎn),去掉矩陣中高度比其大的像素點(diǎn)。
圖12 裁剪所得竹片區(qū)域Fig.12 Bamboo slice area obtained by cutting
(3)矩陣中沒有像素點(diǎn)的地方填充像素點(diǎn),灰度值為255,保存圖像。
由圖12可知,竹片區(qū)域完整地提取出來,去除了背景等無效信息,運(yùn)算速度大大增加。且圖像垂直,便于統(tǒng)一圖像標(biāo)準(zhǔn)進(jìn)行保存。
為驗(yàn)證本文竹片缺陷檢測算法的準(zhǔn)確性,從采集的竹片樣本中任意選取7類竹片缺陷圖像各50幅,用本文算法進(jìn)行檢測,各類竹片缺陷檢測識(shí)別率見表1。
表1 竹片缺陷檢測識(shí)別率統(tǒng)計(jì)分析Tab.1 Statistical analysis of the recognition rate of bamboo chip defect detection
從表1可以看出,采用本文方法檢測竹片缺陷的平均準(zhǔn)確率為95.14%,其中5種缺陷檢測的準(zhǔn)確率大于95%,只有拉絲片和破裂片缺陷檢測的準(zhǔn)確率小于90%,總體的缺陷檢測準(zhǔn)確率比較高。
圖13為部分檢測結(jié)果,每類缺陷圖像均有一幅。拉絲片是竹片加工過程中造成的竹片邊緣竹纖維脫離,如圖13(g)中拉絲片片右上角。破裂片中裂縫一般會(huì)貫穿整張圖像,圖13(a)中破裂片的位置為整條竹片裂縫前中段,裂縫兩邊竹片緊密接觸在一起,裂縫后段裂縫兩邊竹片開口較大。蛀孔片中蛀孔一般較小,邊緣較為清晰,少部分蛀孔周圍存在腐爛模糊的情況。霉片一般是保存不當(dāng)造成竹片發(fā)霉,面積大小不一,顏色也不一致,有顏色較深的接近黑色也有較淺的接近綠色。竹青片是竹片厚度不夠,切削深度達(dá)到仍然不能去除掉所有竹青,繼續(xù)加工將導(dǎo)致竹片較薄,圖13(d)中竹青片還存在裂縫。黑節(jié)片的主要特征是竹節(jié)部分顏色比竹片其他位置更深,接近黑色,故稱黑節(jié)。三角條是由于加工原因造成竹片邊緣部分缺失,橫截面為不規(guī)則矩形,故稱三角條。
圖13 7類竹片缺陷檢測結(jié)果Fig.13 Seven types of bamboo chip defect detection results
從圖13和表1可以看出,顏色類缺陷與形狀類缺陷均能檢測,但各類缺陷檢測準(zhǔn)確率并不一樣。在蛀孔片、霉片、竹青片和黑節(jié)片4類顏色缺陷中,蛀孔片、霉片、竹青片的檢測準(zhǔn)確率非常高,均為100%,而黑節(jié)片的檢測準(zhǔn)確率略低,為98%。因?yàn)榍?類缺陷的顏色與正常竹片顏色相差較大,且都是連在一起形成連通域,容易檢測出來。黑節(jié)片檢測失敗案例如圖14(a)所示,黑節(jié)為點(diǎn)狀缺陷,且黑節(jié)較少,竹片顏色較黑,因此難以與正常竹片進(jìn)行分辨。在拉絲片、破裂片和三角條3類形狀缺陷中,三角條檢測準(zhǔn)確率最高,為100%,拉絲片和破裂片的檢測準(zhǔn)確率較低,分別為82%和86%。這是因?yàn)槿菞l的缺陷面積一般較大,容易檢測出來。拉絲片和破裂片檢測失敗案例如圖14(b)和圖14(c)所示,這2類竹片缺陷面積較小,有的僅有2~3個(gè)像素,因此檢測難度較大。圖14(b)中拉絲片拉絲位于竹片右下角,且顏色較淺,難以分辨。圖14(c)中破裂片裂縫切口是傾斜狀態(tài),裂縫顏色接近黃色,顏色較淺與竹片顏色較為接近,因此未能檢測。
圖14 竹片缺陷識(shí)別失敗案例Fig.14 Cases of failure identification of bamboo chips
本文針對(duì)竹片缺陷自動(dòng)檢測難題,提出一種基于OTSU與CANNY算法的竹片缺陷圖像檢測方法。研究結(jié)果表明,采用OTSU算法進(jìn)行二值化處理,可以有效去除圖像紋理、突出竹片邊緣;采用CANNY算法檢測出的竹片邊緣較為連續(xù),再采用Hough變換可以擬合竹片邊緣并進(jìn)行竹片傾斜校正;采用OTSU算法與CANNY算法分別檢測顏色類缺陷和形狀類缺陷,總體缺陷檢測的平均準(zhǔn)確率為95.14%,能有效識(shí)別出竹片缺陷,為后續(xù)竹片缺陷自動(dòng)化檢測提供了良好基礎(chǔ)。