姜 佳,鄒光明*,許家旺,謝澤祺,閔 達(dá)
(1.武漢科技大學(xué) 冶金裝備及其控制教育部重點(diǎn)實(shí)驗(yàn)室,武漢 430081;2.武漢科技大學(xué) 機(jī)械傳動(dòng)與制造工程湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430081)
在玻璃瓶罐行業(yè),由于玻璃料滴溫度波動(dòng)、供料機(jī)沖頭與液壓缸工作不同步、料滴重量不穩(wěn)定等因素導(dǎo)致10%的玻璃瓶罐產(chǎn)品重量不合格,因此在生產(chǎn)過(guò)程中需要檢測(cè)玻璃瓶的重量是否符合生產(chǎn)要求。傳統(tǒng)的檢測(cè)方法基于人工手動(dòng)測(cè)量檢測(cè),例如,在生產(chǎn)時(shí)候,每隔10分鐘,玻璃瓶罐生產(chǎn)工人就需要從輸送帶上將玻璃瓶進(jìn)行稱重,根據(jù)重量是否符合要求調(diào)整供料機(jī)的開(kāi)口。由于玻璃瓶罐生產(chǎn)屬于高溫環(huán)境,特別在夏天,工作環(huán)境溫度高,工人每隔一段時(shí)間就需要換人,這種傳統(tǒng)的測(cè)量方法受人為因素的影響較大,并且測(cè)量效率低,無(wú)法滿足測(cè)量的精度要求[1~3]。因此,基于機(jī)器視覺(jué)的自動(dòng)化非接觸測(cè)量是一種解決方式。
基于機(jī)器視覺(jué)的檢測(cè)和測(cè)量在工業(yè)生產(chǎn)中已經(jīng)得到了廣泛的使用,可用在檢測(cè)產(chǎn)品的質(zhì)量、測(cè)量產(chǎn)品的幾何參數(shù)、目標(biāo)識(shí)別等多領(lǐng)域[4]。在物體尺寸測(cè)量方面,周平等利用機(jī)器視覺(jué)技術(shù),獲取雞蛋圖像,建立體積與像素體積和表面積與像素表面積之間的線性預(yù)測(cè)模型[5];周世凡等獲取冷態(tài)模擬玻璃料滴的圖像,利用機(jī)器視覺(jué)技術(shù),用水平切片法計(jì)算物體的體積和重量[6]。我國(guó)在玻璃瓶罐質(zhì)量檢測(cè)研制方向相對(duì)落后,在玻璃瓶罐外形尺寸測(cè)量上,陸志敏等利用機(jī)器視覺(jué)和圖像處理技術(shù)檢測(cè)玻璃瓶瓶罐瓶口的內(nèi)徑、外徑、瓶子高度和瓶的垂直度,實(shí)現(xiàn)了玻璃瓶罐的外形尺寸檢測(cè)[7]。
本文,利用機(jī)器視覺(jué)技術(shù)對(duì)玻璃瓶的重量進(jìn)行非接觸自動(dòng)化測(cè)量,首先搭建基于機(jī)器視覺(jué)的玻璃瓶測(cè)量系統(tǒng),拍攝玻璃瓶圖片,對(duì)拍攝到的玻璃瓶瓶口和瓶身圖片進(jìn)行輪廓提取,對(duì)相機(jī)進(jìn)行視覺(jué)標(biāo)定,獲得提取輪廓的參數(shù)信息。然后對(duì)獲取的輪廓參數(shù)信息進(jìn)行分析,分別得到瓶口壁厚尺寸,瓶身輪廓尺寸信息,對(duì)瓶身輪廓按玻璃瓶罐結(jié)構(gòu)特征分為瓶口、瓶頸瓶肩、瓶身、瓶底四部分,每部分體積累加得到玻璃瓶的體積和重量。
玻璃瓶的重量可由玻璃瓶體積、密度計(jì)算得到,瓶罐的體積根據(jù)玻璃瓶的結(jié)構(gòu)特征分段累加計(jì)算得到。將玻璃瓶體分為若干部分,如圖2(a)所示,每一部分都力求為規(guī)則幾何體,確定各部分相應(yīng)尺寸,再利用公式計(jì)算體積。不是規(guī)則幾何部分如瓶底,用近似的計(jì)算方法求其體積。對(duì)于待測(cè)的玻璃瓶,將玻璃瓶分為四個(gè)部分,即瓶口、瓶頸、瓶身和瓶底。
1.1.1 瓶身體積計(jì)算
瓶身部分是規(guī)則圓柱形,瓶身的體積計(jì)算如式(1)所示:
其中:d為瓶身的直徑;h為瓶身的高度。
1.1.2 瓶頸體積計(jì)算
瓶頸的體積VPJ,將瓶沿軸向進(jìn)行分段,求每一個(gè)分段的體積,累加各段體積得到該部分的體積。每一個(gè)分段取分段平均直徑,按規(guī)則圓柱體體積公式計(jì)算。
1.1.3 瓶口體積計(jì)算
對(duì)于冠型瓶口,瓶口形狀不規(guī)則,計(jì)算瓶口的體積時(shí),將其水平分割成若干厚度相同的同軸微圓筒,使用積分的方式求得體積,公式如式(2)所示:
其中:hr為瓶口的高度;Δh為微圓筒高度;d為微圓筒直徑;
1.1.4 瓶底體積計(jì)算
瓶底的體積VPD,根據(jù)瓶底結(jié)構(gòu)的具體情況來(lái)計(jì)算,將其分割成若干規(guī)則幾何形計(jì)算體積。對(duì)于本文測(cè)量的玻璃瓶瓶底如圖1所示,分割為左右扇形圓環(huán)、內(nèi)凹柱體、內(nèi)凹球面。
1)左右兩側(cè)的扇形圓環(huán)如圖1(b)所示陰影處,扇形圓環(huán)體積公式如式(3)所示:
式(3)中,F(xiàn)x為扇形截面面積,其公式如式(4)所示:
2)柱體體積公式:
3)內(nèi)凹球面體積公式:
瓶底的體積等于扇形圓環(huán)體積與柱球形體積之和:
式(7)中:d為瓶底的直徑;R為扇形圓環(huán)半徑;h柱為內(nèi)凹柱體高度;h球?yàn)閮?nèi)凹球體高度;Rq為內(nèi)凹球體半徑。
式中:VR為玻璃瓶罐的容積。
根據(jù)上一節(jié)的分析,玻璃瓶分割后,除瓶底外的其他部分均是規(guī)則的幾何圖形,在瓶口、瓶頸和瓶身部分,玻璃瓶的截面可認(rèn)為是一個(gè)規(guī)則的回轉(zhuǎn)體,因此,可利用其旋轉(zhuǎn)特征求玻璃瓶體積,瓶頸與瓶口的體積是將玻璃瓶沿軸向分段,求每一個(gè)分段的體積后進(jìn)行累加。因此,在該方法的基礎(chǔ)上對(duì)瓶口、瓶頸和瓶身部分提出水平切分再積分的方法進(jìn)行體積計(jì)算,如圖2(b)所示,體積計(jì)算公式如式(10)所示:
圖2 玻璃瓶示意圖
式(10)中:h為瓶口、瓶頸、瓶身的高度和,di為水平切分截面直徑。
瓶底的部分單獨(dú)求解,瓶底的直徑和高度在已知的情況下可利用公式求解,玻璃瓶罐加工工藝對(duì)瓶底的高度有規(guī)定值,根據(jù)相機(jī)的標(biāo)定結(jié)果和瓶底的高度找到瓶底和瓶身的分界像素分割水平線,分割水平線以上瓶身部分按水平分割再積分的方法進(jìn)行累加,瓶底部分求得像素直徑。累加各部分體積得到玻璃瓶的體積,得到玻璃瓶的重量。
設(shè)計(jì)基于機(jī)器視覺(jué)的檢測(cè)平臺(tái),搭建玻璃瓶圖像的采集系統(tǒng),該系統(tǒng)包括CCD相機(jī)、光源箱、光源、圖像采集卡和計(jì)算機(jī)。CCD相機(jī)分別獲取玻璃瓶的瓶口圖像和瓶身圖像,型號(hào)為佳能kiss x7。為了照亮目標(biāo),區(qū)分目標(biāo)與背景,克服環(huán)境光的干擾,搭建光源箱。照明光源用于突出被測(cè)部位的特征,使用環(huán)形光源放置在被測(cè)物體的正上方。后期需要用計(jì)算機(jī)對(duì)圖像進(jìn)行處理,因此需要利用圖像采集卡將拍攝到的圖像存儲(chǔ)至計(jì)算機(jī)上。圖像采集系統(tǒng)如圖3所示。
圖3 圖像采集測(cè)量系統(tǒng)圖
搭建好圖像采集系統(tǒng)并獲取玻璃瓶瓶口和瓶身圖像后,需要對(duì)圖像進(jìn)行一系列操作,提取出瓶口和瓶身輪廓參數(shù)。由于所獲得的圖像是帶有大量噪點(diǎn)的原始圖像,需要進(jìn)行濾波降噪、閾值分割等預(yù)處理,方便進(jìn)行下一步輪廓提取[7,8]。玻璃瓶瓶口和瓶身的圖像處理流程圖如圖4所示。
圖4 圖像處理流程圖
2.2.1 瓶口圖像處理
對(duì)瓶口的原始圖像,利用濾波降噪、閾值分割和輪廓提取算法獲得瓶口的特征輪廓。
獲得的瓶口原始圖利用Halcon軟件將RGB圖像進(jìn)行灰度處理轉(zhuǎn)換為灰度圖像,然后進(jìn)行圖像預(yù)處理,在處理過(guò)程中,圖像上的噪聲不易被察覺(jué),為了防止后續(xù)的圖像處理加深噪聲的影響,在邊緣提取之前需要進(jìn)行濾波處理,去掉圖像中存在的噪聲[10~13]。常用的噪聲處理主要包括中值濾波和高斯濾波。圖像上存在的單個(gè)像素噪聲無(wú)法直接觀察到,本文通過(guò)給原始圖加上噪聲后,采用高斯濾波、中值濾波算法對(duì)轉(zhuǎn)換后的灰度圖像進(jìn)行降噪處理,通過(guò)對(duì)比,選擇中值濾波算法進(jìn)行降噪。
根據(jù)降噪后的灰度直方圖選取合適的閾值,使圖像的特征與背景間的對(duì)比更加明顯。如果特征區(qū)域包含其他沒(méi)有被分離的區(qū)域,還需要將該提取到的圖像特征區(qū)域打斷,再一次分割出特征區(qū)域。
瓶口的輪廓通過(guò)配合Canny算子對(duì)瓶口的內(nèi)外圈特征進(jìn)行輪廓提取,利用最小二乘法計(jì)算得到擬合圓,在所提取的擬合圓輪廓的基礎(chǔ)上獲取需要的輪廓具體參數(shù),包括圓心像素值,內(nèi)外輪廓半徑像素差值。
2.2.2 瓶身圖像處理和體積計(jì)算
對(duì)瓶身圖像進(jìn)行預(yù)處理后,獲得瓶身的特征輪廓,瓶身的輪廓使用外接矩形算法提取出瓶寬和瓶高等幾何信息,采用水平切片法求得瓶口、瓶身和瓶頸的像素面積,瓶底部分單獨(dú)利用公式求解。然后采用Halcon軟件標(biāo)定相機(jī)的各種參數(shù),將提取出的輪廓的像素尺寸轉(zhuǎn)換為以毫米為單位的真實(shí)尺寸,從而進(jìn)行下一步的計(jì)算。結(jié)合相機(jī)標(biāo)定的結(jié)果,可得到輪廓對(duì)應(yīng)的實(shí)際尺寸信息進(jìn)而求得玻璃瓶的體積。
為了確定拍攝圖像的圖像坐標(biāo)與真實(shí)尺寸坐標(biāo)的轉(zhuǎn)換關(guān)系,需要對(duì)相機(jī)進(jìn)行標(biāo)定。本文采用傳統(tǒng)張氏標(biāo)定法[9]進(jìn)行相機(jī)標(biāo)定,通過(guò)拍攝標(biāo)定物來(lái)建立現(xiàn)實(shí)世界中的某一點(diǎn)與圖像上點(diǎn)間的轉(zhuǎn)換關(guān)系,以此方式得到相機(jī)參數(shù)。使用圓形點(diǎn)標(biāo)定板作為參照物,并借助Halcon軟件來(lái)提取標(biāo)定板中的圓點(diǎn)以及半徑,根據(jù)標(biāo)定板上已知的特征圓點(diǎn)與圖像像素坐標(biāo)對(duì)應(yīng)的像素關(guān)系來(lái)建立函數(shù)關(guān)系,通過(guò)求解并經(jīng)過(guò)優(yōu)化處理后得出相機(jī)的參數(shù),完成相機(jī)標(biāo)定。圓點(diǎn)型標(biāo)定板的外形尺寸為150mm×150mm,其中有7×7個(gè)小圓點(diǎn),每個(gè)小圓點(diǎn)的直徑為7.5mm,相鄰圓點(diǎn)中心距為15mm。
實(shí)驗(yàn)測(cè)量的玻璃瓶采用小口吹壓成型工藝,壁厚均勻,冠型瓶口,瓶身為黑色,結(jié)構(gòu)呈溜肩狀,外形圓柱錐面,瓶底凹球型。玻璃瓶實(shí)際重量由精度為0.001g的高精度天平秤測(cè)得,用排水法測(cè)若干組玻璃瓶體積V。通過(guò)公式驗(yàn)證其密度均勻的特征,得到玻璃瓶密度平均值為ρ=2.486g/cm3。玻璃瓶罐瓶底尺寸按工藝要求取值h球=3mm,Rq=115mm。
先將獲取到的RGB圖像進(jìn)行灰度處理轉(zhuǎn)換為灰度圖像,然后進(jìn)行圖像預(yù)處理。瓶口部分所存在的單個(gè)像素噪聲無(wú)法直接觀察到,加入噪聲后分別進(jìn)行中值、高斯濾波處理后的效果如圖5所示,瓶口圖5(a)、圖5(d)對(duì)比,發(fā)現(xiàn)中值濾波的效果更好,通過(guò)此方式能夠有效去除原圖中的噪聲干擾。瓶身部分圖像的噪聲集中在圖像右上角,對(duì)瓶身原圖分別進(jìn)行高斯濾波、中值濾波后的效果如圖6所示,瓶身圖6(b)、圖6(c)對(duì)比,發(fā)現(xiàn)均值濾波的效果更好,采用此方式對(duì)瓶身進(jìn)行濾波處理。
圖5 瓶口圖像預(yù)處理
圖6 瓶身圖像預(yù)處理
圖像增強(qiáng)是對(duì)圖像中的目標(biāo)特征進(jìn)行增強(qiáng)處理,增強(qiáng)圖像特征與背景間的對(duì)比使圖像特征更加明顯。根據(jù)圖像的灰度直方圖確定灰度主要分布的區(qū)間進(jìn)行灰度變換,對(duì)其進(jìn)行 值分割處理使背景與特征能夠清晰的區(qū)分處理便于特征提取[14~16]。瓶口部分圖像增強(qiáng)與特征提取處理,根據(jù)瓶口灰度直方圖分布,雙波峰代表區(qū)域?yàn)楸尘?,將閾值取在波谷處,如圖7灰度區(qū)間所示。根據(jù)瓶身灰度直方圖,背景與特征有明顯的區(qū)分段,將閾值取在前半段,如圖8灰度區(qū)間所示。閾值分割處理后瓶口部分得到結(jié)果如圖9(a)所示,閾值分割圖中含有背景,將背景與特征打斷,選出特征區(qū)域得到如圖9(b)所示。瓶身部分通過(guò)增強(qiáng)處理后將玻璃瓶身特征的像素灰度進(jìn)行均衡化處理,閾值分割得到結(jié)果如圖9(c)所示??梢钥闯鎏卣髋c背景能夠清晰的區(qū)分出來(lái),便于輪廓提取。
圖7 瓶口灰度直方圖
圖8 瓶身灰度直方圖
圖9 瓶口圖像增強(qiáng)與特征提取處理
對(duì)于瓶口部分邊緣特征的提取,采用Canny算子。Canny算子不僅可以檢測(cè)圖形的邊緣,還能識(shí)別邊緣的方向。通過(guò)閾值分割配合Canny算子對(duì)瓶口的內(nèi)外圈特征進(jìn)行輪廓提取得到,再利用最小二乘法計(jì)算得到擬合圓如圖10(a)所示。在所提取的擬合圓輪廓的基礎(chǔ)上獲取需要的輪廓具體參數(shù),包括圓心像素值,內(nèi)外輪廓半徑像素差。
對(duì)于瓶身圖像的邊緣特征提取,在瓶身不含噪聲的圖像中,像素變化不光滑的像點(diǎn)即為邊緣點(diǎn),提取所有的邊緣點(diǎn)便是圖像特征的邊緣,這里使用常見(jiàn)的基于梯度的邊緣檢測(cè)算法對(duì)瓶身部分進(jìn)行邊緣提取,得到如圖10(b)所示的瓶身輪廓。輪廓中由于反光等因素出現(xiàn)一些細(xì)小空洞,在輪廓提取前還需要進(jìn)行形態(tài)學(xué)運(yùn)算將空洞補(bǔ)齊,這個(gè)過(guò)程不會(huì)改變瓶身的實(shí)際尺寸,再進(jìn)行瓶身輪廓提取得到如圖10(c)所示的邊緣。在所提取的輪廓基礎(chǔ)上需要獲得輪廓具體參數(shù),玻璃瓶體積的計(jì)算不僅需要得到壁厚,還要包括瓶身不同部分的寬度與高度。
圖10 輪廓邊緣提取
對(duì)于各部分的體積計(jì)算,利用分段法和水平切分法累加得到玻璃瓶的體積,實(shí)驗(yàn)所用的玻璃瓶實(shí)際壁厚取平均值2.46mm。實(shí)際重量取平均值204.340g。為了驗(yàn)證該方法的精確性和準(zhǔn)確性,重復(fù)測(cè)量8次,測(cè)量的結(jié)果如表1所示,測(cè)量誤差如圖11所示。實(shí)驗(yàn)結(jié)果表明,壁厚測(cè)量值的相對(duì)誤差小于1%,玻璃瓶的重量相對(duì)誤差滿足在2%以內(nèi)。當(dāng)前測(cè)量系統(tǒng)獲得了比較滿意的結(jié)果,可以達(dá)到生產(chǎn)線上檢測(cè)要求,但是精確度還有待進(jìn)一步提高。
表1 測(cè)量結(jié)果
圖11 壁厚和重量的測(cè)量誤差
針對(duì)傳統(tǒng)的人工檢測(cè)玻璃瓶重量的方法,提出基于機(jī)器視覺(jué)的自動(dòng)檢測(cè)方法,利用機(jī)器視覺(jué)系統(tǒng)采集玻璃瓶瓶口和瓶身圖片,結(jié)合一系列算法對(duì)圖像進(jìn)行濾波、二值化和邊緣提取,實(shí)現(xiàn)對(duì)玻璃瓶壁厚和各部分直徑的測(cè)量,采用水平切分法和分段法計(jì)算玻璃瓶體積,從而得到玻璃瓶重量的檢測(cè)。經(jīng)驗(yàn)證,使用本文所提方法得到的玻璃瓶壁厚檢測(cè)相對(duì)誤差在1%以內(nèi),玻璃瓶重量相對(duì)誤差在2%以內(nèi)。