沈正福,汪惠芬,袁堂曉
(南京理工大學 機械工程學院,南京 210094)
隨著國民經濟的穩步提升,國人對生活品質的要求日益增高,尤其在食品領域,安全、環保等生產要素成為食品加工行業的統一門檻和行業基準。隨著“食品生產通用衛生規范”等文件的出臺和不斷完善,針對食品加工企業,尤其是中小企業和民營作坊的監管和規范力度也逐漸加大。為了提升企業競爭力,形成良好的品牌效應,眾多食品加工企業開始走向轉型之路。
而在生產過程中,除了嚴格把控原材料的品質以外,實現較高水準的智能化檢測,是其在科技時代獲得更高競爭力的關鍵所在。對于食品而言,主要體現在劣質產品的檢出和即時剔除。其核驗指標又往往集中在尺寸、顏色、紋理、包裝等視覺屬性上,因此,研究良好的智能化視覺檢出機制成為食品行業轉型的關鍵[1]。
對于食品的尺寸測量,目前主要有兩種方式:1)直接目測;2)采用機械儀器裝置與產品接觸的檢測方法,例如使用分光光度計、色度儀等對物體表面形態進行掃描。兩種方法分別在精度和生產衛生規范上產生掣肘,而利用機器視覺剛好可以解決上述方法的不足,且獲得良好的系統穩定性和可靠性。
為了解決在弱光環境下,產線上不規則排布的某食品的尺寸檢測問題,設計了一套基于機器視覺的智能檢測工位,利用邊緣檢測及最小外廓等算法,實現了一種非接觸式的尺寸測量技術,并進行了效果測試。
工位系統需要完成產品上料到出料期間的尺寸檢測及相應的剔除、放行行為。其功能流程如圖1所示。

圖1 工位系統的功能流程
①待測產品通過傳送裝置進入工位區域;
②產品阻斷對射傳感器的光源信號,觸發高低電平切換,向上位機發送控制信號;
③上位機接收控制信號,命令攝像頭進行拍攝,獲取待測物體的圖像信息,并發送至工控機;
④工控機接收待測物體的圖像信息,并將其作為輸入參數發送到內嵌的尺寸識別模塊,對圖像進行特征提取,并根據提取的尺寸信息與標準公差帶進行比對,判定待測物體的合格與否,并輸出判別信號到執行機構;
⑤執行機構根據收到的判別信號,進行二分行為,若信號指向合格判定,則進行放行行為;若信號指向不合格判定,則進行剔除行為。
由上述流程可知,一個完整的機器視覺系統需要具備可靠的圖像采集功能以及相應的圖像處理能力,為了保證功能的順利執行通常會配置完善的光源系統或者光照平衡設施。因此,該智能工位主要的功能模塊包括光照模塊、圖像采集模塊、圖像處理模塊以及相應的運動控制模塊,如圖2所示。[2-4]

圖2 機器視覺系統模塊組成
模塊單元所涉及到的下層設施包括:基本的圖像采集單元(通常以CMOS和CCD工業相機以及配套的圖像采集卡呈現);配置相應圖像處理程序的工業計算機(PC平臺);接收處理信號、匹配目標行為的執行機構。為了維持系統穩態和限定良好的采集邊界,也經常會在視覺系統中嵌入合適的觸發傳感器。
由于產品主體尺寸為140 mm,且要求生產過程為連續、穩定的狀態,因此設計傳送裝置為200 mm帶寬的帶式傳輸,運行速率由電機控制,并通過解碼器對速度進行實時監測。
為了固定攝像頭、補光器及傳感器等外界設備,需要設計工位支架。支架整體由型材和型材連接件組成,并搭設可動橫梁以實現相機距離的調試和自適應功能。
此外,上料裝置為快速冷凝機,通過將原料快速凝固、擠出、插枝及切塊,來獲得初始的冰棍產品,送入尺寸智能檢測工位進行產品檢測。工位的總體結構模型設計如圖3所示。[5-6]

圖3 智能工位的結構
所設計的智能工位要求的功能指向為食品主體尺寸的測量,即要求對輸入的產品圖像進行特征提取,獲得產品的長度尺寸,返回測量值,并根據預設的公差范圍判定當前產品的合格狀態。
算法流程包括針對食品主體的邊緣檢測,繼而根據邊緣信息進行最小外廓擬合,然后以擬合外廓的像素尺寸描述主體像素尺寸,最后利用相機標定時獲取的轉化系數,將像素尺寸轉化為三維世界坐標系下的物理尺寸,并輸出檢測和判別結果。算法流程如圖4所示。

圖4 尺寸檢測算法流程
初始的采集圖片,由于噪聲過多、灰度分布不均衡等因素的存在,會導致圖片的主要特征被覆蓋,物體邊緣等信息難以提取。因此,在特征提取之前,我們需要對采集圖像進行一定的預處理以增加目標特征的顯式權重。預處理流程包括初始圖像的灰度化、圖像的幾何變換以及相應的增強方式。
本文采取的預處理方法為高斯濾波。首先將原始的RGB圖像轉化成灰度圖,然后利用高斯濾波進行降噪。
Gray=0.114B+0.587G+0.299R
(1)
為了降低人眼帶來的視覺偏差,使用加權平均算法來進行圖像灰度化,即對圖像RGB3種色度按不同權重進行一維灰度的映射,轉化公式如式(1)。
圖像灰度化后進行降噪處理以減少邊緣造成所引入的測量誤差。高斯濾波是一種比較常用的噪聲過濾技術,對于服從正態分布的噪聲(如圖5所示)具有很好的抑制效果。

圖5 一維與二維高斯分布曲線
在實際濾波中,濾波器將當前像素作為核中心,通過卷積核對鄰域像素作加權平均,并將結果作為當前像素的新值。
為了提取食品主體的尺寸信息,首先需要在圖片中界定出食品主體的位置,使其與背景區分。最有效的方法就是對圖像進行邊緣檢測,提取出食品主體的輪廓信息。由于食品主體占據的區域是一個連通域,可以通過輪廓直接反映主體的尺寸、周長等結構屬性。
目前常用的邊緣檢測方法大致可以劃分為兩類:1)基于查找的邊緣檢測方法;2)基于零穿越的邊緣檢測方法。分別通過圖像中的一階導數極值及二階導數的零穿越值來實現邊界的定位。
而在實際計算過程中,通常會用算子來替代求取一階導數的極值或二階導數的零穿越值,比如在Prewitt算子中,就是利用f′(x)=f(x+1)-f(x-1)來近似計算一階差分,提取系數得到模板[-1,0,1] 。對應的二維情況為[[-1,0,1],[-1,0,1],[-1,0,1]],這就是Prewitt算子。表1對幾種常用的邊緣檢測算子進行了比對。

表1 常用邊緣檢測算子計算原理及特點
由于目標特征為物體尺寸,而尺寸信息的精度大小取決于食品主體在圖片中占據的像素個數,因此檢測到的邊緣越精確,占據的像素值越少,對應提取出的邊緣特征就越精確。鑒于Canny算子在精確性上的優勢,選擇它作為邊緣檢測算子。
式(2)、(3)分別在水平與豎直方向上進行差分運算,得出梯度幅值分量,并通過式(3)、(4)計算總幅值大小和偏角。
P[i,j]=(f[i+1,j]-f[i,j]+f[i+1,j+1]-
f[i,j+1])/2
(2)
Q[i,j]=(f[i,j]-f[i,j+1]+f[i+1,j]-
f[i+1,j+1])/2
(3)
(4)
(5)

最后進行非極大值抑制,對于圖像來說,幅值較大的元素點并不一定就是邊緣點,需要通過比較該點周圍元素的幅值來確定該點是否是局部最大值。非極大值抑制就是尋找像素點的局部最大值,并對非極大值所對應的點進行抑制,即灰度重置。
如圖6(b)所示,要進行非極大值抑制,就首先要確定像素點O的灰度值在其8值鄰域內是否為最大。假定圖中線條為O點的梯度方向,則其局部最大值必定位于線條之上,因此,梯度方向上的兩個交點值Node1和Node2也可能成為局部最大值。所以,比較O點灰度與兩個交點灰度值的大小,如果O點處于低值狀態,則O點不是局部極值,可以進行排除,達成抑制。[7-9]

圖6 Canny邊緣檢測原理圖
圖7為Canny算子和其他幾種算子的邊緣檢測效果對比,從圖中可以看出,Canny算子所得邊緣具有更好的精確性,更適合食品主體的提取工作。

圖7 算子邊緣檢測效果對比
經過邊緣檢測所提取出的主體邊緣是一條閉合的不規則線段,它并不能直接反映出主體的尺寸特征,為了能夠得到近似的主體尺寸,我們將已有的邊緣信息作為輸入,用矩形框體框定主體邊緣,并不斷調整框體的大小和位置,使最終形成的矩形為最小擬合矩形。此時,可以用矩形框的尺寸來近似指代所要測量的主體尺寸。
由于輪廓是由一系列點組成的,若想獲得輪廓的最小外接矩形,首先需要獲得輪廓的近似多邊形。即在不影響輪廓支撐形態的情況下對大部分內縮的輪廓點進行抽釋,抽釋算法采用道格拉斯-普克(Douglas-Peucker)算法。
首先,將曲線的首末點虛連成一條直線,計算曲線上所有點到直線的距離,并找出其中的最大距離值dmax,用dmax與事先給定的閾值D相比;若dmax 圖8 Douglas-Peucker算法 當輪廓的邊緣點數量折降到一定數值時,圖像輪廓可以塌陷成一個近似的多邊形,而由于多邊形的最小外接矩形的一條邊必然與多邊形的其中一條邊共線,只需要枚舉多邊形的邊,作外接矩形,比較外接矩形的面積,選最小的那個就可獲得最小的擬合外廓。擬合過程如圖9所示。 圖9 最小外廓擬合 經過最小外廓擬合得到的尺寸數據為像素坐標系下的像素尺寸,并不是三維世界坐標系下的真實物理尺寸。由于本文所要測量的只是食品主體尺寸,即食品的最大長度,因此只要在布置相機時,嚴格保證相機視角與采集平面的平行一致性,就可以將三維映射近似轉化一位的映射關系。即: L=μ*M (6) 其中:M為像素尺寸;L為世界坐標系下的物理尺寸;μ為轉化系數,在測量開始前通過對標準模板在當前相對位置下進行先驗測量得出。 2.4中的轉化系數μ由現場標定給出,不同場合與不同安裝條件下的轉化系數會出現較大的差異。因此,在設計工位時,配置了位置可調的攝像頭安裝支架。發生場景變更時,只需要記錄變更后的相機位置,并測量已知尺寸的標準模板在此位置下的測量值,反向推導出轉化系數即可。操作簡單、有效、易于入手。[10] 為了測試系統的檢測效果,需要搭建一定數量的檢測樣本。為了完成樣本采集工作,搭建了如圖10所示的采集裝置,裝置包括攝像頭、支架、托盤等組成部分。通過調節支架角度和高度使攝像頭呈豎直安裝,通過普通白熾燈泡進行照明;待采集產品以任意角度放置在純色背景的托盤之上。采集時,現將產品置于托盤之上,然后開啟照明裝置,控制上位機程序進行幀像采集。本文通過搭建測試樣本集,利用34個模型樣本形成7組共238份測試數據(每組對應不同的轉化系數),通過比對誤差區間得出了智能檢測工位的測量效果。部分樣本的檢測效果如圖10所示。 圖10 部分樣本的檢測效果示意圖 部分尺寸檢測數據如表2所示。由于采集位置和采集時間的差異,以及算法的系統誤差,各測量樣本顯示出的誤差性略有不同,但測量長度與實際長度的偏離值始終維持在2 mm以內。 表2 尺寸檢測數據 mm 由于數據是多組測量值和真實值的比對,因此采用標準誤差來衡量系統的測量準確度。公式為: (7) 智能化生產是食品行業轉型的必然趨勢和必然結果。通過設計一種智能檢測工位,將機器視覺利用到食品尺寸的測量與劣品甄別上,使尺寸測量的相對誤差降低到1.1%。并且由于智能工位的可適性,其對包裝、顏色、紋理等視覺屬性以及產品置換等都有良好的技術擴展性,可以在更多領域和工業環境得到很好的利用。 21世紀是科技的時代,如何把前沿性的科技理論落地到具體的生態環境之中,這正是新一代科研工作者應該考慮和重視的環節。而只有當像食品生產這樣的基礎性工業得到有效的技術滲透,才真正實現了科技的時代性助益。

2.4 像素轉換
2.5 現場快速標定
3 效果測試



4 結束語