王秀英
(阜陽師范學院 物理與電子工程學院,安徽 阜陽 236037)
隨人們生活水平的提高,中國的電子生產設計制造行業已經步入了一個新的高度,而機器視覺正是生產力發展的產物,它廣泛地應用于工業生產中.在汽車組裝廠,機器視覺系統可以應用于發電機部件自動裝配線上[1];在瓶裝廠,校驗瓶蓋是否正確密封、裝灌液位是否正確,以及在封蓋之前沒有異物掉入瓶中[2-4];在藥品包裝生產線,檢驗藥片的泡罩式包裝中是否有破損或缺失的藥片[5].傳統的檢測方法檢測速度較慢、誤檢率較高,關鍵的細微數據無法分析,采用機器視覺后會使檢測變得簡單、快速.在保證誤檢率不超工業標準時,能夠采集關鍵信息,準確分析數據,反饋信息,根據信息改進算法,增加了工業效益.機器視覺檢測系統改善了人工視覺檢查產品的質量效率低且精度不高的缺點.
2017“西門子杯”中國智能制造挑戰賽工業硬件研發賽項賽題要求采用機器視覺系統在提供的測試環境中對產品進行屏幕壞點測試、電路板缺陷檢測、瓷磚缺陷檢測三種場景的測試.在這一背景下,本文提出了一款基于STM32C6748的機器視覺檢測系統.旨在開發一種智能檢測生產線并投入使用,提高產品檢測準確度,為企業節省勞動成本.
根據工業硬件賽項的要求和學校的經費預算,本系統設計主要從功能性、實用性和經濟性三方面進行考慮.1.1.1 功能方面要滿足
(1)識別待測屏幕是否存在壞點,若出現,系統警報提示生產人員并向生產線傳送機構發出相應指令,將壞點的屏幕傳送到預先設置的位置處;
(2)能夠識別出待測瓷磚是否存在缺陷,若存在,產生警報信號提示生產人員并向生產線傳送機構發出相應指令,將存在缺陷的瓷磚傳送到預先設置的位置處.
1.1.2 實用性方面要滿足
(1)穩定性高.可實現無故障連續工作.
(2)抗干擾能力強.在外界存干擾因素的情況下,仍可正常工作.
(3)易調試、易維護.機器的部件應預留可調范圍,顯示界面做到簡潔明了.
(4)精度高.應保證一定的誤檢率.
機器視覺系統主要包括傳送機構、圖像采集模塊、控制模塊、控制臺、光源模塊.
檢測流程是:通過傳送機構將待檢測的產品送至攝像頭拍照處,增加紅外傳感器用于檢測物體的到來,當物體到達指定位置時,控制系統系統自動將拍攝到的圖像信息處理,并向分揀機構和上位機發送指令.若檢測產品有缺陷,系統會立即產生報警信號,并將缺陷信息顯示于上位機中、向分揀機構發送相應動作指令;若檢測產品無缺陷,則系統不會產生報警信號,分揀機構正常動作,系統正常運行.
根據機器視覺系統的模塊組成及檢測原理搭建本系統在實驗室條件下的硬件環境,其框架為立方體結構,四面用不透光的泡沫板圍成,底部不加底,預留有傳送帶通道,工業相機固定在盒子頂端上面的橫梁上,光源固定在兩根框架主體上,下位機置于盒子外側面.當檢測開始時,通過串口控制相機進行連續拍照,缺陷信息顯示上位機界面上.
攝像頭型號是ATK-OV5640-V11.外面封閉的盒子減小了外界環境光的影響,同時起到防塵的作用,在攝像頭的上方放一塊擋光板.提高拍攝圖片的質量.
工業光源為LED環形光源,一共60顆燈珠,發出白色光,光源高度可通過旋鈕調節,功率為10W,主要配合圖像采集模塊完成圖像采集.
將光源固定在檢測臺內部,將亮度調節器與光源相連,最后連接電源與亮度調節器.系統中,光源的位置在光源表面層一層薄紙,光線發均勻照射在產品表面.
位置傳感器采用紅外避障模塊.該傳感器模塊對環境光線適應能力強,具有一對紅外線發射與接收管,發射管發出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經過比較器電路處理之后,信號輸出接口輸出數字信號(一個低電平信號).可通過電位器旋鈕調節檢測距離,有效距離范圍2~30cm,工作電壓為3.3V-5V,滿足本系統的設計需要.
將傳感器置于暗箱內部側壁低端,并在拍照區域前后各設一個,為了使定位更準確.當產品快到達拍照處時,第一個傳感器先給CPU發信號;當產品剛好到達指定位置時,第二個傳感器立即給CPU發信號,CPU控制照相機拍照并處理圖片,找出產品存在的缺陷.
通過對市場上的檢測方法分析,結合工業硬件研發賽項的賽題要求,選擇TI公司的TMS320C6748為系統的下位機核心硬件,配合相應的串口軟硬件實現缺陷的檢測.
系統采用Visual Basic6.0(簡稱Vb6.0)自主編寫的上位機軟件進行反饋顯示,用Visual C++結合Code Composer Studio v5(CCS)進行編程實現數字圖像處理的各種操作.由于每個場景的特征值不同,所用的處理方法也不同.將程序下載到下位機后,便能實現不同的缺陷檢測功能.
本文設計的機器視覺系統主依靠采用相同的硬件環境,不同的軟件算法處理.下面只討論比賽提供的場景一和場景三.針對場景一屏幕壞點檢測采用Canny邊緣檢測算法實現,針對場景三瓷磚缺陷檢測則采用差分矩陣的特征值提取算法.
使用系統進行場景檢測的具體檢測流程為:①將待檢測的圖片放在傳送板上,將其送至拍照處;②紅外避障傳感器檢測到信號,并向CPU發送信號;③CPU得到信號后立即向攝像頭發送拍照指令,啟動攝像頭拍照;
④對拍照圖像用圖像處理算法處理,判斷出圖像的缺陷信息;
⑤CPU將缺陷信息通過串口發送至上位機,上位機顯示缺陷信息;
⑥計算誤檢率.
圖像采集時,首先將待處理樣本放在履帶上傳送,當紅外傳感器檢測到樣品到來時啟動攝像頭采集圖像.系統采集到圖像格式是RGB565格式,一個像素占兩個字節,其中:第一個字節的前五位表示R(Red),第一字節的后三位加第二字節的前三位表示G(Green),第二字節的后五位表示B(Blue).因RGB565格式包含的信息量大,不利于圖像處理,需要將其轉換成灰度圖像.
利用公式(1)對圖像進行預處理,得到易于處理和計算的灰度圖像.

其中Gray為存儲的灰度圖像,Image為待處理的圖像,Image[i]為每個點的像素值,作為邊緣檢測Ganny算子的輸入值.
2.2.1 屏幕壞點檢測算法
屏幕壞點檢測是利用Canny邊緣檢測算法對圖像進行處理[6],再配合多個模塊,使輸出的圖像壞點周具明顯標記,實現壞點個數及位置的檢測.檢測步驟分4步:
(1)用高斯濾波器對圖像做平滑處理.采用的高斯核矩陣進行濾波.

(2)采用Sobel算子找到圖像灰度沿著水平方向Gx和垂直方向Gy的偏導數,并按照如下兩式求出梯度的幅值G和方位θ.

(3)對梯度幅值進行非極大值抑制,即找到局部梯度最大點.方法是在3×3的鄰域窗內,給定像素p與沿著梯度線方向像素相比,如p的梯度幅值不比兩個像素的梯度幅值大,則令p=0,否則保留原幅值.劃分為水平、垂直、和正、負四種梯度方向來比較幅值的強度.
(4)用雙閥值算法來檢測連接邊緣.凡大于高閥值T1的一定是邊緣;凡小于低閥值T2的一定不是邊緣;如果檢測結果大于低閥值而又小于高閥值,則要看這個像素的鄰接像素中是否有大于高閥值的邊緣像素,如果有,則是邊緣,否則不是.
2.2.2 瓷磚缺陷檢測算法
從一幅瓷磚缺陷圖像中把具有裂紋、斑點的區域快速準確地分割出來是成功檢測缺陷瓷磚的關鍵,應用區域生長法對瓷磚圖像分割處理[7].
選取種子區域為Ri,由均值mi及標準方差σi作為衡量灰度一致性的特征量,n為區域像素數.則

定義生長規則P:若像素灰度值f(k,l)與mi接近滿足:

則(k,l)可并入區域Ri,同時更新mi與σi,

Tc是反映生長條件苛刻程度的量,初值可由初始種子區域估計,并且區域生長的過程中動態調整,放寬限制直至恰好將區域分割完畢.
在分割出缺陷后進行特征提取,提取出平均值、方差、平滑度、偏態系數、能量,將這些值與閾值比較判斷缺陷類型.
設假設分割的缺陷圖像f的像素總數為N,灰度等級數為l,灰度為i的像素全圖共有Ni個,則:

式中zi——直方圖的灰度變量.
平均值:

方差:

平滑度:

偏態系數:

能量:

系統測試的步驟是:打開DSP開關,通過開發軟件CCS向DSP燒制程序,待測樣品隨傳感器移動,當紅外檢測模塊檢測到載物臺上黑標時,給DSP一個信號,LED燈點亮,傳送帶停止,DSP控制攝像頭拍照.檢測完畢后,LED燈熄滅,傳送帶繼續運動,然后檢測下一個待測樣本,步驟同上.
圖像采集和檢測完畢后,上位機軟件看采集圖片和檢測過后輸出的缺陷類型,測試結束.
上述步驟中紅外檢測模塊給DSP發出信號使圖片停止移動,在實際工業應用中可以用行程開關達到此目的,而在檢測完成后,DSP上的蜂鳴器發出報警聲,LED點亮,在工業流水線中這種信號可以分別控制不同的流水線使殘次品和合格品分流,進而實現合格品的挑選.
屏幕壞點顯示主要顯示壞點的個數和位置信息.我們利用CCS5.5軟件中圖片輸出功能輸出檢測到的圖像,標注壞點位置,利用上位機軟件輸出壞點個數,方便操作人員觀看.
選擇具有不同壞點個數的三個樣本,經隨機編號后用本系統測試,所得結果壞點及處理后的點均用圓圈出.

圖1 屏幕壞點圖

圖2 瓷磚檢測結果
檢測結果可以看出,該檢測方法能夠準確檢測出屏幕壞點位置和個數.
選擇6塊已編好號的瓷磚樣本檢測,檢測表明1和4號瓷磚無缺陷,2和5號瓷磚存在裂紋缺陷,3號瓷磚存在裂紋劃痕缺陷,6號瓷磚存在劃痕缺陷.從上位機的輸出結果中能得到所檢測樣本是否有缺陷和缺陷種類(劃痕、裂紋等),據所檢測的區域的特征值與經過樣本訓練得到的閾值進行有較檢測瓷磚缺陷,雖對樣本分割,提取出了缺陷區域,但由于閾值要通過訓練樣本得到,樣本數據庫不夠大,使得閾值不合理,所以檢測結果會有誤判.
本文研究設計的機器視覺系統在比賽中較準確的完成了三種場景的檢測,取得了全國總決賽一等獎的優異成績.系統采用上位機軟件操作,很大程度上降低了對操作人員的技術要求,可推廣運用于實際工業生產上.
由于實驗條件和時間的限制,算法待改進,雖可實現三個場景的檢測,還未能達到通用,研制較為通用的視覺檢測系統,以適用于不同條件下的檢測任務,進而實現對不同目標的視覺檢測是今后的研究重點.
參考文獻:
〔1〕劉泉晶,沈俊杰.機器視覺技術在汽車發電機部件自動裝配線上的應用[J].工業控制計算機,2017,30(4):32-33.
〔2〕王宇,吳智恒,陳啟愉,等.基于機器視覺的瓶蓋封裝檢測系統[J].自動化與信息工程,2016,37(2):42-44.
〔3〕劉靜寒.基于機器視覺的瓶裝液體異物檢測技術研究[D].合肥工業大學,2012.
〔4〕黃玲,張葉林,等.基于機器視覺的透明瓶裝液體液位自動檢測[J].自動化與儀表,2012(2):57-59.
〔5〕馬志剛,趙志強,王保云.全自動泡罩藥品包裝視覺檢測控制系統設計[J].包裝工程,2017,38(17):124-127.
〔6〕文章,張欣,周昌順,等.一種基于Canny的邊緣檢測改進算法[J].通信技術,2017,50(10):2236-2239.
〔7〕Adams R,Bischof L.Seeded Region Growing[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1994,16(6):641-647.