崔一峰
(北京信息科技大學,北京 100192)
基于機器視覺滿箱檢測方法
崔一峰
(北京信息科技大學,北京 100192)
滿箱檢測是飲料包裝檢測的重要環(huán)節(jié)。傳統(tǒng)的基于PLC的檢測方法的準確性和快速性已經(jīng)滿足不了實際生產(chǎn)需求。本文提出的基于機器視覺的滿箱檢測方法利用OpenCV開源視覺庫,通過對圖片的處理和分析,利用Hough變換的找圓函數(shù)確定是否滿箱。通過對處理時間和準確率的對比,基于機器視覺滿箱檢測方法在處理時間,準確率和適應性等方面均有明顯優(yōu)勢。
滿箱檢測;機器視覺;OpenCV;Hough 變換
10.16621/j.cnki.issn1001-0599.2017.12.26
近年,飲料行業(yè)以前所未有的速度迅速發(fā)展。與之伴隨而生的飲料包裝行業(yè)異軍崛起。許多包裝設(shè)備像裝箱機、紙箱包裝機、熱塑膜包裝機等自動化的生產(chǎn)設(shè)備在飲料行業(yè)中得到廣泛應用。隨著自動化設(shè)備的應用,生產(chǎn)線上也出現(xiàn)了許多問題。其中最為嚴重和最為普遍的就是在裝箱過程中常常出現(xiàn)缺瓶、少瓶現(xiàn)象。隨著國家對飲品行業(yè)管控力度的加大,對不合格產(chǎn)品處罰措施的加重,一旦這類缺瓶的不合格產(chǎn)品流通到市場中,會對廠家?guī)順O其消極的影響。因此在產(chǎn)品封箱前對產(chǎn)品進行滿箱檢測顯得尤為重要。
目前在生產(chǎn)現(xiàn)場中,判斷是否滿箱一般采用的方法是安排專職人員用肉眼觀察。由于人眼長時間專注容易導致視覺疲勞,所以一般是2個人輪流觀察,每隔0.5 h換一次崗。這種方法存在很大缺陷。首先,這種方法增加了額外的人員投入,增加了生產(chǎn)成本;其次在高速的生產(chǎn)線上,人工檢測不能準確的檢測出是否滿箱。最為重要的是,現(xiàn)在生產(chǎn)線的速度越來越快,由原來的每小時幾千箱增加到每小時幾萬箱,人眼根本無法檢測是否滿箱,更別說剔除不合格產(chǎn)品。開發(fā)一套自動的滿箱檢測設(shè)備迫在眉睫。
目前國內(nèi)飲料行業(yè)的大型生產(chǎn)廠家主要是應用國外公司的檢測設(shè)備,比如德國HEUFT公司的LOGIC系列滿箱檢測機。國外設(shè)備的價格比較高而且操作和維修有一定困難,因此滿箱檢測設(shè)備在中小企業(yè)內(nèi)的應用并不廣泛。為此開發(fā)一套簡單經(jīng)濟準確的滿箱檢測系統(tǒng)已經(jīng)刻不容緩。
基于PLC的滿箱檢測系統(tǒng)主要由PLC、操作面板、觸發(fā)器部分和檢測傳感器等4個部分組成。程序通過從操作面板接受的信息判斷當前的箱型,利用觸發(fā)器和光電傳感器讀取的信息判斷當前是否滿箱。這種方法雖然在理論上是可以實現(xiàn)的,但是受生產(chǎn)現(xiàn)場條件的制約,很多情況下基于PLC的滿箱檢測系統(tǒng)并不能很好的完成滿箱檢測。在實際應用中,可供安裝設(shè)備的直線段生產(chǎn)線非常短,而基于PLC的滿箱檢測系統(tǒng)從觸發(fā)到檢測動作的時間比較長,剔除設(shè)備需要安裝在離檢測設(shè)備比較遠的地方,不適合高速生產(chǎn)線的滿箱檢測。而且基于PLC的檢測設(shè)備只能適用于一種或幾種型號的滿箱檢測,無法滿足實際生產(chǎn)產(chǎn)品包裝多樣化的需求。
近幾年,機器視覺作為人工智能的一個分支取得了巨大的成就?;跈C器視覺技術(shù)的各類公司如雨后春筍般應運而生。機器視覺是一項集合了多種技術(shù)的綜合技術(shù),其中包括圖像處理技術(shù)、機械工程技術(shù)、控制技術(shù)、電光源照明技術(shù)、光學成像技術(shù)、傳感器技術(shù)、模擬與數(shù)字視頻技術(shù)和計算機軟硬件技術(shù)等。一個典型的視覺應用系統(tǒng)一般包括成像系統(tǒng),圖像處理系統(tǒng),控制執(zhí)行系統(tǒng)等。對于成像系統(tǒng)而言,最重要的就是光源。好的光源是機器視覺系統(tǒng)成敗的關(guān)鍵。選擇合適的光源,可凸顯良好的圖像效果,可以提高檢測精度、簡化算法、保證檢測系統(tǒng)的穩(wěn)定性。常見的光源顏色有白色、藍色、紅色、綠色、紅外、紫外等。動作執(zhí)行系統(tǒng)一般由執(zhí)行動作機構(gòu),旋轉(zhuǎn)編碼器組成。在視覺系統(tǒng)中,最為重要的就是圖像處理系統(tǒng)。一個視覺系統(tǒng)的優(yōu)劣取決于圖像處理結(jié)果的準確性。圖像處理結(jié)果越準確,產(chǎn)生的誤剔越少,視覺系統(tǒng)也就越優(yōu)質(zhì)。可見圖像處理算法對視覺系統(tǒng)的重要性,研究出一個既高效又準確的圖像處理算法是目前最重要的技術(shù)難題。在滿箱檢測系統(tǒng)中,機器視覺技術(shù)不但可以解決傳統(tǒng)設(shè)備不適合高速生產(chǎn)線的缺陷,而且可以很容易的實現(xiàn)對多種型號飲品的滿箱檢測。
現(xiàn)在比較流行的視覺開發(fā)軟件有Halcon,VisionPro和OpenCV等3種。Halcon在歐美國家中應用比較廣泛,在國內(nèi)并沒有太大市場。VisionPro雖然在國內(nèi)占據(jù)了一定的地位,但是它的源碼是不開放的,用戶只能根據(jù)他提供的工具來實現(xiàn)自己的視覺應用。這就給實際應用現(xiàn)場帶來很大的局限性。因為實際應用的狀況千變?nèi)f化,VisionPro不可能適用于全部的應用場合。雖然VisionPro提供了腳本編程,但是其腳本編程也是基于自身工具的,靈活性并不強。OpenCV一般采用C或者C++語言編寫的,由于它的源碼是完全開放的,用戶可以根據(jù)實際應用,利用OpenCV提供的源碼編寫自己的視覺應用程序,以適應千變?nèi)f化的應用現(xiàn)場,所以它在國內(nèi)的應用比較廣泛。OpenCV提供了一個比較簡單的視覺框架。在這個框架下,用戶可以根據(jù)千變?nèi)f化的現(xiàn)場環(huán)境去構(gòu)建更符合實際應用的計算機應用視覺程序。最新版本的OpenCV提供了500多個源函數(shù),覆蓋了計算機視覺的絕大多數(shù)應用領(lǐng)域,已經(jīng)基本滿足實際工程中的需求。
在后續(xù)圖像處理之前,需要判斷圖像是否獲取正確。如果圖像沒有獲取正確,那么后續(xù)的處理也就沒有任何意義了。OpenCV提供的Mat類對象從圖像源獲取圖片后,利用Mat類的成員函數(shù)empty()可以實現(xiàn)這一功能。在條件語句下,判斷圖像是否為空,如果圖像獲取錯誤,則empty()函數(shù)返回真,不然empty()函數(shù)則返回假。如果載入圖像錯誤,則返回-1。這樣通過函數(shù)的返回值就可以判斷圖像獲取正確。
為了簡化運算,在判斷圖像獲取正確后,需要對獲取到的圖像進行灰度化。以RGB彩色圖像為例,圖像中每個像素點的顏色是由紅色分量、綠色分量和藍色分量組成。每個分量都可以取0~255中的任何整數(shù)值,全為0時,圖像為純黑色,全為255時,圖像為純白色。如果不對圖像進行灰度化,而是直接進行后續(xù)的圖像處理,就需要對3個通道一一進行運算,這樣必然增加圖像處理時間。在高速生產(chǎn)線上,如果圖像處理過長,即使檢測到不合格品,執(zhí)行動作機構(gòu)也沒有時間執(zhí)行動作。所以對采集到的圖像進行灰度化顯得尤為重要?;叶葓D是R,G和B等3個分量的值相同的一種特殊圖像。所以在圖像處理中,將彩色圖像轉(zhuǎn)換成灰度圖像后會使后續(xù)的圖像處理的計算量相對較少。而且灰度圖和彩色圖在反映圖像的特征方面沒有什么區(qū)別,完全可以通過處理灰度圖獲得想要的信息。
OpenCV通過cvtColor()函數(shù)完成圖像從一個顏色空間到另一個顏色空間的轉(zhuǎn)換,并且在轉(zhuǎn)換的過程中能夠保證數(shù)據(jù)的類型不變?;叶然蟮膱D像如圖1所示。
灰度化后的圖像里摻雜了許多噪聲,如果不加以濾除,會直接影響后續(xù)對飲料瓶的計數(shù)檢測。OpenCV提供了多種濾波函數(shù)可供選擇,比如中值濾波,高速濾波,均值濾波等。每一種濾波函數(shù)都有各自的特點和使用范圍。中值濾波是對一定區(qū)域的像素點按照像素的大小從小到大排列,取出中值代替這一區(qū)域的所有像素值。從中值濾波的定義可以了解到,中值濾波可以濾除一定區(qū)域的極值像素點。由此可見,中值濾波對濾除椒鹽噪聲會有顯著的功效。因為椒鹽噪聲是最大值或者是最小值點,而求中值的方法一定會把這些像素點濾除掉。對于滿箱檢測而言,局部最大值和最小值點有利于識別,因此不選擇中值濾波方法。高斯濾波是將高斯函數(shù)進行離散化,以離散點上的高斯函數(shù)值作為權(quán)值,對采集到的灰度矩陣的每個像素點做一定范圍鄰域內(nèi)的加權(quán)平均,有效的消除高速噪聲。而需要的感興趣區(qū)域的灰度值較高,所以高斯濾波不合適。均值濾波是用某個區(qū)域的均值來代替這一區(qū)域的所有像素值,在滿箱檢測實驗中,用工業(yè)相機采集到的圖片在采用同樣大小的內(nèi)核情況下,使用均值濾波后的圖像相比使用高斯濾波和方框濾波兩種濾波方法而言,有效的保留了瓶蓋的邊緣信息,這對于后續(xù)通過找圓確定數(shù)量非常有幫助,而且還濾除了很多細小的雜質(zhì)。圖2是使用孔徑尺寸為5像素的中值濾波函數(shù)濾波后的效果圖,圖3是使用內(nèi)核大小為5像素的高斯濾波函數(shù)濾波后的效果圖,圖4是使用內(nèi)核大小為5像素的均值濾波函數(shù)濾波后的效果圖。
圖1 灰度化后的圖像
如圖1所示,瓶蓋可以作為瓶子計數(shù)的重要特征??梢酝ㄟ^查找圖像中圓的個數(shù)的方法計算瓶蓋的個數(shù),如果能查到20個圓說明滿箱。由于點和線具有對偶性,Hough變換就是根據(jù)這一性質(zhì)將被測圖像空間的線條轉(zhuǎn)變?yōu)閰?shù)空間的點,從而判斷圖像中是否具有特定的圖像。OpenCV中的Hough圓變換函數(shù)HoughCircles可以幫助查找圖中圓的個數(shù)。Hough-Circles中包含9個參數(shù),如何選擇好后面6個參數(shù)將是準確找出瓶蓋外圓的關(guān)鍵。
第一個決定參數(shù)是累加器圖像的分辨率。這個參數(shù)允許創(chuàng)建一個比輸入圖像分辨率低的累加器。OpenCV允許在1~2為累加器圖像的分辨率賦值,這個值越高,越容易產(chǎn)生錯檢,多檢。例如將累加器圖像的分辨率設(shè)置為1.5,滿箱仍可以正確檢測正確,但是缺瓶的情況卻出現(xiàn)多的多檢的情況,如圖5所示。通過實驗測試,當累計器的分辨率設(shè)置為1.1時,無論是滿箱的情況還是缺瓶的情況都能正確檢測。
圖2 孔徑尺寸5像素、中值濾波函數(shù)
圖3 內(nèi)核大小5像素、高斯濾波函數(shù)
圖4 內(nèi)核大小5像素、均值濾波函數(shù)
圖5 累加器圖像的分辨率為1.5時滿箱、缺瓶檢測結(jié)果
第二個決定參數(shù)是2個圓之間的最小距離。這個值如果設(shè)置的太小就會在一個瓶蓋上出現(xiàn)多組同心圓,如果太大,就會出現(xiàn)圓心重疊的現(xiàn)象,出現(xiàn)少檢、錯檢的情況。經(jīng)過試驗驗證,將2個圓之間的最小距離設(shè)為60像素時,檢測效果最好。第三個決定參數(shù)是圓的半徑的范圍,通過實驗驗證,將最小半徑設(shè)為22像素,最大半徑設(shè)為37像素時能夠準確檢測出滿瓶箱,但是在檢測缺瓶箱的時候會出現(xiàn)漏檢的情況。這是因為在缺瓶箱里,瓶子交錯排列,最小距離可能會<60像素,所以要將缺瓶和滿箱分開檢測。首先假設(shè)為滿箱,用第一種方法檢測,判斷檢測出來的瓶子的數(shù)量是否為20。如果不是20,則按缺瓶算法再檢測一次。通過實驗驗證,這種方法能夠準確的檢測出是否滿箱。提取圓心和半徑信息,將瓶蓋邊緣和圓心位置用紅色圓標記,檢測結(jié)果如圖6所示。
圖6 檢測結(jié)果
基于機器視覺的滿箱檢測方法與傳統(tǒng)方法相比檢測速度快,從檢測到剔除不到500 ms,適應高速生產(chǎn)線,而且檢測結(jié)果準確。通過實驗驗證,基于機器視覺的滿箱檢測方法準確率在90%以上。
[1]趙巨峰,高秀敏,崔光茫.結(jié)合生產(chǎn)線的視覺檢測實驗系統(tǒng)設(shè)計[J].實驗室研究與探索,2016,35(4):59-62.
[2]王耀東,朱力強,史紅梅,郭保青.高速機械系統(tǒng)運動特性的實時視覺檢測技術(shù)研究[J].機械工程學報,2016,52(2):82-90.
[3]葉樹亮,張玉德,張煒.齒輪視覺檢測中的尺度與方向相關(guān)性聯(lián)合降噪[J].光學精密工程,2014,22(6):1622-1630.
[4]李小昱,陶海龍,高海龍,李鵬,黃濤,孫金風.馬鈴薯缺陷透射和反射機器視覺檢測方法分析[J].農(nóng)業(yè)機械學報,2014,45(5):191-196.
[5]周文舉.基于機器視覺的在線高速檢測與精確控制研究及應用[D].上海:上海大學,2014.
[6]楊占福.新型滿箱檢測系統(tǒng)[J].啤酒科技,2012(12):61-62.
[7]付偉.食品飲料生產(chǎn)過程在線檢測與管理綜合系統(tǒng)的研究[D].濟南:山東大學,2012.
[8]張輝.醫(yī)藥大輸液可見異物的視覺檢測機器人技術(shù)研究[D].長沙:湖南大學,2012.
[9]唐啟敬,田行斌,耿明超,周游,趙鐵石.CCD視覺檢測系統(tǒng)的整體標定[J].光學精密工程,2011,19(8):1903-1910.
[10]鄭鵬飛.S7-200和TD200在滿箱檢測系統(tǒng)中的應用[J].伺服控制,2010(6):94-96.
[11]趙明.啤酒滿箱檢測裝置[J].啤酒科技,2009(10):51,53.
[12]羅兵.SMT產(chǎn)品質(zhì)量機器視覺檢測中的機器學習[J].電子質(zhì)量,2009(1):39-41,44.
[13]張強.基于機器視覺的產(chǎn)品檢測技術(shù)研究[D].鄭州:中國人民解放軍信息工程大學,2005.
[14]楊海濤.機器視覺檢測算法研究及實現(xiàn)[D].長春:吉林大學,2004.
[15]段峰.基于機器視覺的智能空瓶檢測機器人研究[D].長沙:湖南大學,2002.
[16]金隼,洪海濤.機器視覺檢測在電子接插件制造工業(yè)中的應用[J].儀表技術(shù)與傳感器,2000(2):13-16.
TP29
B
〔編輯 凌 瑞〕