周 令,張振榮,彭建盛,楊程鈞,王 濤
(1.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院,廣西南寧530004;2.河池學(xué)院 人工智能與制造學(xué)院,廣西宜州546303;3.深圳雨滴科技有限公司,廣東深圳518000)
我國(guó)是木材消費(fèi)大國(guó),2020年,我國(guó)的木材消耗量約在5億m3,國(guó)內(nèi)木材產(chǎn)量?jī)H在1億m3左右,木材市場(chǎng)需求缺口巨大,高效率地開發(fā)和利用原木已成為人們關(guān)注的焦點(diǎn)[1]。
機(jī)器視覺檢測(cè)技術(shù)是一項(xiàng)集圖像、機(jī)械、自動(dòng)化和人工智能等技術(shù)于一體的高新智能檢測(cè)技術(shù)[2-4],具有效率高、出錯(cuò)率低及實(shí)現(xiàn)功能多等特點(diǎn)[5-7]。機(jī)器視覺技術(shù)已在木材加工行業(yè)逐漸得到應(yīng)用,主要應(yīng)用于木材缺陷檢測(cè)[8-9]、木材顏色分類[10]及干燥應(yīng)力演變[11]等方面。傳統(tǒng)木材粗加工的多片鋸拉條環(huán)節(jié)利用安裝不同間距多片鋸的拉條機(jī)完成木板裁切;通過人工識(shí)別木板的寬度,利用紅外激光比對(duì)后完成木板裁切。這種方式效率較低,受主觀意識(shí)及人工熟練程度影響較大,成品率相對(duì)較低,造成木材浪費(fèi),且人工成本較高。為提高企業(yè)生產(chǎn)效率、降低人工成本和木板損耗,本研究采用機(jī)器視覺技術(shù)替代人工辨別,將木板傳送至拉條機(jī)的相應(yīng)位置進(jìn)行裁切,實(shí)現(xiàn)木板智能化拉條,以期為木板拉條機(jī)的智能化研究提供科學(xué)依據(jù)。
基于機(jī)器視覺的多片鋸拉條機(jī)結(jié)構(gòu)主要包括上料機(jī)構(gòu)、推送機(jī)構(gòu)、視覺檢測(cè)機(jī)構(gòu)、人機(jī)界面、橫移機(jī)構(gòu)、送料機(jī)構(gòu)和拉條機(jī)(圖1)。工作流程為人工疊放好木板,放至上料機(jī)構(gòu);推送機(jī)構(gòu)推動(dòng)木板至視覺檢測(cè)機(jī)構(gòu);視覺檢測(cè)機(jī)構(gòu)利用工業(yè)相機(jī)及鏡頭拍照,并將數(shù)據(jù)傳送至計(jì)算機(jī)進(jìn)行處理及運(yùn)算,計(jì)算出木板的樹皮寬度和可裁切寬度;校正木板后,送料機(jī)構(gòu)和橫移機(jī)構(gòu)推送木板至拉條機(jī)進(jìn)行裁切。
圖1 機(jī)器視覺的拉條機(jī)結(jié)構(gòu)Fig.1 Structure of slitting machine based on machine vision
拉條機(jī)可將不同寬度木板(整體寬度為40~155 mm)的樹皮去掉,并裁成3、4、5、6和7 cm規(guī)格的木板。安裝鋸片時(shí),可根據(jù)實(shí)際情況選擇所需間隔,本裝置安裝的鋸片第1~8間隔依次為3、4、4、5、5、6、6和7 cm。檢測(cè)原理是采用Sobel算子識(shí)別木板可裁切邊緣,擬合成直線(圖2中黃色線條所示),計(jì)算木板的最大可切割寬度(圖2紅色線條所示),根據(jù)計(jì)算結(jié)果,將木板傳送至拉條機(jī)相應(yīng)位置進(jìn)行裁切。4個(gè)樣本中,最大可切割寬度為3.2 cm時(shí),將該木板推送至第1間隔進(jìn)行切割,可得1塊3 cm的木條(圖2a);最大可切割寬度為7.5 cm時(shí),將該木板推送至第1、2間隔進(jìn)行切割,分別可得1塊3和4 cm的木條(圖2b);最大可切割寬度為11.2 cm時(shí),將該木板推送至第5、6間隔進(jìn)行切割,分別可得1塊5和6 cm的木條(圖2c);最大可切割寬度為13.3 cm時(shí),將該木板推送至第7、8間隔進(jìn)行切割,分別可得1塊6和7 cm的木條(圖2d)。
圖2 木板邊緣及可裁切寬度識(shí)別Fig.2 Identification of wood board edge and cutting width
本系統(tǒng)采用的相機(jī)為索尼XCL-C280工業(yè)模擬相機(jī),開發(fā)軟件為Android Studio,圖像處理采用OpenCV。木板圖像獲取與處理流程為獲取木板照片、圖形畸變矯正、中值濾波和二值化、圖像輪廓處理及數(shù)據(jù)處理(圖3)。
圖3 木板邊緣檢測(cè)及處理流程Fig.3 Detection and treatment process of wood board edge
在機(jī)器視覺圖像識(shí)別中,采用合理的打光方式非常重要。根據(jù)物料需要識(shí)別的特征,采用合理的打光方式將特征突顯出來,可降低圖像處理難度,增加識(shí)別的穩(wěn)定性。
在本系統(tǒng)中,需將木板板面兩邊和木板斜坡的邊緣提取出來。根據(jù)環(huán)境需求,將光源安裝在木板檢測(cè)位兩側(cè)的上方,采用順尚信TS-630-22條形光源(圖4)。通過兩側(cè)光源分別曝光,將板面照成亮場(chǎng),將兩側(cè)斜坡照成暗場(chǎng),木板邊緣能很好地被提取出來。當(dāng)木板推送至木板檢測(cè)位后,觸發(fā)拍照,視覺檢測(cè)系統(tǒng)會(huì)先打開光源1,將左邊緣的斜坡和板面照亮,右邊緣的斜坡基本沒有反光,提取右邊緣(圖5);關(guān)閉光源1,打開光源2,將右邊緣的斜坡和板面照亮,左邊緣的斜坡基本沒有反光,提取左邊緣(圖6)。關(guān)閉光源2,系統(tǒng)圖像獲取步驟結(jié)束。
圖4 光源系統(tǒng)Fig.4 Light source system
圖5 第一次曝光的圖片F(xiàn)ig.5 The first exposure picture
圖6 第二次曝光的圖片F(xiàn)ig.6 The second exposure picture
在系統(tǒng)中,檢測(cè)視野較大,采用6 mm C接口鏡頭獲得的照片會(huì)產(chǎn)生桶形畸變[12(]圖7)。因此,在采集照片前需對(duì)照片進(jìn)行畸變矯正。標(biāo)定板采用6×9的棋盤格,通過對(duì)不同位置和角度進(jìn)行采樣,最終選取15張照片,計(jì)算相機(jī)內(nèi)參數(shù)矩陣和畸變系數(shù),得到2個(gè)數(shù)據(jù),在相機(jī)安裝位置不變的情況下,這2個(gè)參數(shù)可一直使用,將這2個(gè)參數(shù)帶入函數(shù)Imgproc.initUndistortRectifyMap(),通過函數(shù)計(jì)算出2個(gè)輸出映射關(guān)系,再將輸出映射關(guān)系帶入Imgproc.remap(),得出矯正后的圖像(圖8)。
圖7 未矯正圖像Fig.7 Uncorrected image
圖8 矯正后圖像Fig.8 Corrected image
中值濾波是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近真實(shí)值,消除孤立的噪聲點(diǎn)[13]。木板切割后,其表面粗糙度較大且會(huì)粘附一些木屑,存在斑點(diǎn)噪聲和椒鹽噪聲。中值濾波能去除這兩種噪聲,還能將邊緣特征保存下來,不會(huì)模糊圖像。
圖像二值化是圖像處理中重要的一部分,之前所作的預(yù)處理、濾波可獲得更好的二值化效果。二值化方法大多為基于閾值的方法,即尋找一個(gè)合適的閾值將原圖像的像素灰度分為大于閾值和小于閾值兩類,得到二值化結(jié)果[14]。對(duì)于一副灰度圖像,需設(shè)定一個(gè)閾值,當(dāng)其灰度值小于該閾值,將該點(diǎn)的像素值置0(背景),反之則置1(前景),對(duì)所有像素點(diǎn)進(jìn)行計(jì)算后,可得兩張圖片的二值化黑白圖(圖9~10)。這兩張圖片的前景和背景不同,因?yàn)榈谝淮闻恼者x用反閾值二值化,將亮的部分當(dāng)作背景,將小于閾值的部分作為前景,第二次拍照則相反。
圖9 第一次曝光圖片的二值化圖Fig.9 Binary image of the first exposure image
圖10 第二次曝光圖片的二值化圖Fig.10 Binary image of the second exposure picture
Sobel梯度邊緣檢測(cè)算子對(duì)灰度漸變低噪聲的圖像有較好的檢測(cè)效果。經(jīng)典的Sobel算子是利用像素卷積運(yùn)算的離散型差分算子,該算子包含兩個(gè)方向的3×3卷積模板[15]:
從水平與豎直兩個(gè)方向?qū)D像進(jìn)行卷積運(yùn)算,將兩個(gè)方向卷積最大值作為輸出的梯度幅值。木板拉條只需提取長(zhǎng)邊邊緣,即Y方向的邊緣,對(duì)圖像作Y方向的梯度計(jì)算Gy,可得到所需的梯度圖(A為原圖像,Gy為豎直檢測(cè)灰度)(圖11~12)。
圖11 對(duì)圖9求Y方向梯度Fig.11 Gradient in Y direction for Fig.9
通過運(yùn)算,兩邊的邊緣較好展現(xiàn)出來,采用算子Imgproc.find Contours將圖中所有的白色區(qū)域分開,以輪廓的方式進(jìn)行存儲(chǔ)。存儲(chǔ)后,對(duì)輪廓進(jìn)行篩選。根據(jù)圖9可知,會(huì)有一些干擾區(qū)域,經(jīng)觀察,木板的邊緣線輪廓均較長(zhǎng),干擾的輪廓均較短,可根據(jù)輪廓長(zhǎng)度進(jìn)行篩選,將不符合長(zhǎng)度的輪廓去除。
如邊緣較規(guī)則,其邊緣可很好被識(shí)別;如邊緣變化較大,被識(shí)別出來的邊緣可能會(huì)斷成幾段(圖12)。選取最長(zhǎng)一段擬合直線,計(jì)算其他符合長(zhǎng)度的輪廓與該直線的距離,當(dāng)其距離在設(shè)定范圍內(nèi),判定為邊緣的輪廓,將其聯(lián)合起來為下一步擬合直線作準(zhǔn)備。
圖12 對(duì)圖10求Y方向梯度Fig.12 Gradient in Y direction for Fig.10
通過輪廓篩選,得到邊緣輪廓,將得到的輪廓擬合成直線(圖13中的兩邊長(zhǎng)紅線)。輪廓擬合采用最小二乘擬合算法,以距離平方和為擬合依據(jù)。因?yàn)槊繅K木板形狀及上料姿勢(shì)不同,需對(duì)木板的主切割方向進(jìn)行矯正計(jì)算,計(jì)算出木板最左端和最右端的X坐標(biāo),代入兩條擬合直線計(jì)算出Y值,分別計(jì)算左端和右端Y值的中心,兩點(diǎn)連成的直線作為木板的主方向(圖13中心的綠線),該直線的斜率與切割方向的斜率相同,機(jī)器切割出來的木板才不會(huì)歪,若計(jì)算該木板主方向不正,則需要矯正(圖13中dx的距離)。
圖13 木板識(shí)別示意簡(jiǎn)圖Fig.13 Schematic diagram of wood board identification
得出切割的主方向后,需計(jì)算木板的可切割寬度,其計(jì)算方式為計(jì)算上邊輪廓上的點(diǎn)與木板主方向中心線的距離和下邊緣與木板主方向中心線的距離,將上下可切割距離相加得到木板的最大可切割距離(圖13中兩條長(zhǎng)綠線之間的距離)。
得出最大切割距離后,計(jì)算皮寬。該系統(tǒng)的皮寬是指矯正后下方綠色直線與1、2所在直線的距離,1和2是送料機(jī)構(gòu)的兩個(gè)支撐面,是該系統(tǒng)拉條方向的零點(diǎn)參考線。當(dāng)識(shí)別出的切割邊緣線為右側(cè)低于左側(cè)時(shí),需要將右側(cè)向上推送dx距離,當(dāng)右側(cè)向上運(yùn)動(dòng)時(shí),左側(cè)皮寬dx1的距離基本不會(huì)變化,因此不同皮寬的木板在推送至對(duì)應(yīng)位置時(shí)時(shí),需減去dx1(圖13)。
木板識(shí)別結(jié)果可在視覺屏幕上顯示,L為木板切割的主方向與水平方向左邊軸相比,需要向前調(diào)整的數(shù)值;R為右邊需要調(diào)整的數(shù)值;W為皮寬;RW為木板可切割寬度(mm)(圖14)。線ef為識(shí)別到木板切割主方向的中心線,線cd為木板右邊(面對(duì)裝置的右邊)可切割的最下邊緣線,線ab為木板左邊可切割的最上邊緣線。線ij為皮寬的計(jì)算起始點(diǎn)(皮寬是指左邊木板的切割邊緣與線ij的距離);在與鋸片校對(duì)起始切割點(diǎn)的時(shí)候,用ij所對(duì)的位置與鋸片起始切割點(diǎn)校準(zhǔn),機(jī)構(gòu)在移動(dòng)至對(duì)應(yīng)切割工位時(shí)會(huì)減去皮寬的距離,此時(shí)切割的木板起始點(diǎn)與木板識(shí)別的起始點(diǎn)一致。線kl和線mn分別為左邊和右邊底部橫移機(jī)構(gòu)的中心線。線gh為該顯示圖合成的分界線。
圖14 木板識(shí)別結(jié)果Fig.14 Wood board recognition results
將人工操作與基于機(jī)器視覺的拉條機(jī)進(jìn)行3組對(duì)比試驗(yàn),每組試驗(yàn)均為5 h。人工操作裁切的木板數(shù)為2 735塊,正確拉條率為89.36%;基于機(jī)器視覺的拉條機(jī)裁切的木板數(shù)為3 378塊,正確拉條率為99.95%,其裁切速度與正確拉條率均已超過人工操作(表1)。正確拉條是指木板裁切后的兩個(gè)邊合起來的可裁切寬度小于1 cm的木板,正確拉條率是指正確拉條數(shù)與總木板拉條數(shù)之比?;跈C(jī)器視覺的拉條機(jī)正確拉條率高,滿足木板拉條行業(yè)的需求,提高木板利用率。
表1 人工操作與基于機(jī)器視覺的拉條機(jī)對(duì)比Tab.1 Comparison between manual operation and slitting machine based on machine vision
針對(duì)目前木板拉條的需求,設(shè)計(jì)一種基于機(jī)器視覺的木板拉條機(jī),利用機(jī)器視覺技術(shù)識(shí)別木板輪廓,經(jīng)過數(shù)據(jù)處理得出木板可裁切的寬度、樹皮的寬度,再送至相應(yīng)的位置進(jìn)行拉條。該裝置的操作速度和正確拉條率均超過人工操作,識(shí)別正確率高、效率高,滿足木材行業(yè)對(duì)木板拉條機(jī)智能化的要求,節(jié)約了資源,實(shí)現(xiàn)拉條機(jī)的智能化。在實(shí)施過程中還存在以下兩個(gè)方面的問題,需要進(jìn)一步改進(jìn)。第一,優(yōu)化木板識(shí)別算法。本研究采用Sobel邊緣檢測(cè)算法對(duì)圖像作Y方向的梯度計(jì)算,該方法識(shí)別速度快,但會(huì)將木板中間條紋較深的紋路識(shí)別為邊緣,因此需要進(jìn)一步優(yōu)化算法解決誤判。第二,改進(jìn)上料模塊。上料時(shí)本設(shè)計(jì)采用疊放木板方式,節(jié)省了放料時(shí)間,但由于木板寬度不一致,進(jìn)料時(shí)容易傾斜,發(fā)生卡料的現(xiàn)象,需要改進(jìn)進(jìn)料方式,解決卡料的問題。