辛永信 黃泳波



摘 要:針對目前禽蛋臟污裂紋仍主要依靠人工目測挑選,導致效率低下等問題,以雞蛋為試驗樣本,提出了一種基于Halcon視覺算法庫的家禽禽蛋臟污裂紋自動識別檢測系統。首先進行系統硬件選型,搭建檢測平臺;之后對工業攝像機進行單目相機內外參數標定;運用濾波、形態學等方法對畸變矯正之后的圖像進行預處理;以頻域濾波為核心算法,結合差分等思想對樣本進行臟污及裂紋的檢測;最后利用Microsoft Visual Studio軟件開發平臺,以C++為核心語言聯合Halcon混合編程,構建圖形環境軟件平臺。
關鍵詞:機器視覺;缺陷檢測;禽蛋;裂紋臟污
0 引言
我國是世界家禽禽蛋生產及消費大國,禽蛋蛋殼品質對于種蛋、新鮮蛋和各種蛋制品的品質來說是尤為重要的指標。優質禽蛋表面干凈無裂紋,臟污破裂的禽蛋蛋殼無法保證蛋液干凈衛生,微生物會侵入禽蛋內部,隨著儲藏期的延長禽蛋加速變質,進而發生嚴重的食品安全問題。現如今我國主要依靠工人在燈光下目測的方法挑選臟污開裂的禽蛋,這種傳統方法不僅效率低下,容易造成視覺疲勞引起誤判,而且人工成本高,因此,研究高速、高效、高精度的破損禽蛋自動化檢測系統是現代蛋品檢測技術的必然發展趨勢。
本文基于Halcon視覺算法庫以及微軟基礎類庫,設計研究了一種家禽禽蛋臟污裂紋自動識別檢測系統,通過圖像矯正、Blob分析、頻域濾波、圖像差分等方法,對多個樣本雞蛋表面進行臟污裂紋檢測試驗,利用Microsoft Visual Studio軟件開發平臺,以C++為核心語言聯合Halcon混合編程,編寫MFC人機交互程序,顯示檢測結果。
1 檢測流程及系統硬件
1.1? ? 檢測流程
禽蛋臟污及裂紋檢測系統設計主要由構建硬件平臺、相機標定、缺陷檢測、設計軟件平臺4個過程組成,依次涉及系統硬件選型、標定原理及實現、圖像矯正及預處理、臟污及裂紋不同缺陷檢測算法的編寫、MFC應用框架及UI界面設計等過程。
1.2? ? 系統硬件
在機器視覺系統中,硬件的選型關系到圖像采集速度以及分辨精度,工業相機及鏡頭的選擇更是受到整個檢測系統要求的制約。本系統選用的相機部分參數:CCD彩色,像元尺寸2.2 μm×2.2 μm,光譜范圍400~1 030 nm,相機動態范圍(相機動態范圍表明相機探測光信號的范圍)>70.1 dB,信噪比38.1 dB;鏡頭部分參數:焦距8 mm,相對孔徑1.2,后截距7.53 mm,接口CS,光源采用白色同軸光。
2 相機標定
2.1? ? 標定原理
由于鏡頭無法完全避免畸變且相機無法做到絕對水平,為了避免處理失真的缺陷,對系統檢測準確率造成影響,需要在開始檢測缺陷之前對相機進行標定,重建三維環境信息,在采集到缺陷圖像后進行矯正。標定的主要目的就是求解相機內外參數:設相機坐標系是xoyz,設世界坐標系為XWYWZW,則有xoyz=R(XWYWZW)+T,其中T是空間平移向量(Tx,Ty,Tz),R是空間旋轉矩陣R(a,b,c),式中T、R即相機外參,解得外參即可求解世界坐標系中任一點在相機坐標系中的坐標。同樣保留相機坐標系xoyz,設圖像物理坐標系XOY,設圖像像素坐標系xfofyf,從相機坐標系xoyz到圖像物理坐標系XOY是透視投影關系,即從三維坐標轉換到平面坐標;圖像物理坐標系XOY與像素坐標系xfofyf的關系是原點不同,坐標軸對應平行且同平面,度量單位各自為毫米及像素;通過四個坐標系的依次轉換,就得到從世界坐標系XWYWZW轉換到像素坐標系xfofyf的轉換關系,即相機內參,所謂相機參數標定就是為了通過一次標定求得這些轉換關系,之后采集的圖像均可利用保存的內參外參進行矯正。
2.2? ? 標定矯正
本系統設定世界坐標系為與試驗架測試平臺面重合的平面坐標系,利用gen_caltab算子生成一個各參數已知的標準2D圓形精密靶標標定板圖像文件以及參數描述文件,借助Halcon Calibretion助手可獲得成像后的各個特征點像素坐標系坐標,通過在測試平面不同角度對標定板拍攝成像,且保證每次采集的圖像需覆蓋完整標定板,從而建立多個方程求解,值得注意的是,在之后矯正及缺陷檢測過程中,相機鏡頭與試驗架測試平臺的相對位置不允許發生改變,否則之前標定的相機外參將失效,進而影響圖像矯正,缺陷區域將依舊失真。為了更加明顯地展示標定矯正的效果,選用白底黑色矩形進行測試,未矯正及矯正后的圖像如圖1所示,可以看出原始矩形由于桶形失真造成的邊線彎曲已被矯正。
3 缺陷檢測
3.1? ? 臟污檢測
得到標定過的樣本圖像后即可對缺陷進行檢測。常用的Blob分析算法主要依靠二值化、圖像割補加減、形態學、連通性分析、特征值計算、場景描述等操作逐步逼近缺陷區域,但是由于前提是對灰度范圍的篩選,當受到偏高或偏低光強影響,目標連通域灰度范圍發生變化時,往往檢測結果會產生較大誤差。因此,為提高系統準確率及魯棒性,本文對于禽蛋蛋殼表面的臟污檢測以頻域濾波為核心算法,通過傅里葉變換將空間域變換到頻域,因為臟污區域一般為圖像高頻成分,因此選擇低頻段進行濾波,通過傅里葉逆變換從頻域返回空間域,進而可得到缺陷增強區域。
濾波算法的實現:首先利用opimize_rft_speed對指定圖像進行傅里葉變換速度優化;之后構造帶通濾波器,先通過算子gen_gauss_filter連續構造兩個高斯濾波器,其中Sigma1、Sigma2分別取12、0.01;通過sub_image對兩濾波器灰度相減得到目標帶通濾波器;rft_generic計算圖像的頻域變換;convol_fft用新濾波器在頻域上做卷積運算;同理利用rft_generic做逆變換得到帶通濾波后的空間域樣本圖像;之后通過gray_range_rect生成一個矩形掩膜,計算掩膜內像素點最大、最小灰度差,并輸出到每個像素點以增強圖像對比度。最后輔助Blob分析包括threshold全局閾值分割、connection區域連通、形態學算子、特征區域篩選等方法,對樣本雞蛋臟污孔洞進行ROI提取選中并顯示,檢測效果如圖2所示。同時,針對上文提到的受光強影響問題,在試驗環境恒定的前提下,改變同軸光源強度得到高光及低光影響的檢測效果,因為該算法核心為頻率是表征圖像中灰度變化劇烈程度的指標,當灰度整體變化時檢測系統有較強的穩定性,且系統單次檢測的平均時間約為0.005 s,具有良好的實時檢測性。
3.2? ? 裂紋檢測
裂紋檢測的算法核心思想同樣是頻域濾波,但與上文臟污檢測不同,裂紋檢測涉及XLD輪廓的提取,關于頻域濾波的原理及具體實現不再贅述。裂紋檢測的主要流程為:首先進行預處理,將原圖像通過decompose3拆分為R、G、B三個通道,根據裂紋的灰度特征,本次檢測試驗選用B通道圖像;通過傅里葉變換算子生成頻域圖像,然后構造一個較大Sigma值的高斯濾波器(低通濾波器),通過頻域濾波保留圖像低頻成分,由于設置的Sigma偏大(100~130),保留的低頻成分較為純凈,得到的濾波圖像會是一張各像素點灰度值均近似于背景灰度值的圖像;再通過sub_image算子以B通道圖像對濾波圖像做差分處理,差分計算式為:
ImageSub:=(ImageMinuend-ImageSubtrahend)*Mult+Add
通過差分使得裂紋得到銳化,最后通過lines_gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth, LineModel, CompleteJunctions :)提取裂紋及紋寬,需要注意的是,其中Sigma為空間域高斯濾波系數。
本次試驗通過calculate_lines_gauss_parameters算子計算,該Sigma取4.907 48效果最佳。裂紋檢測效果如圖3所示。由于在本裂紋檢測算法中頻域濾波只起到增強目標區域的作用,因此魯棒性也相對不如臟污檢測算法。
4 軟件平臺
本系統使用Microsoft Visual Studio professional 2015作為軟件開發平臺,以C++為核心語言聯合Halcon混合編程,操作界面通過使用Microsoft Foundation Classes(MFC)作為應用程序框架開發,配置Halcon編程環境之后利用定時器實現消息循環過程;同時將圖像處理算子及相關參數封裝好,界面簡潔,運行效果理想。
5 結語
禽蛋在日常生活中是必不可少的消費食材,而禽蛋蛋殼有臟污裂紋是影響其品質的重要因素之一,為了提高不合格禽蛋的檢測效率,本文基于機器視覺設計了一種禽蛋臟污及裂紋檢測系統,包括構建一個硬件平臺,提出以頻域濾波為核心的臟污孔洞裂紋等視覺識別算法,設計MFC人機交互軟件界面,穩定性良好,檢測速度快,可避免傳統人工目測方式帶來的諸多弊端,同時也適應禽蛋工業檢測行業對禽蛋的基本質檢要求,具有一定的實用價值。
[參考文獻]
[1] 孫力,蔡健榮,李雅琪,等.禽蛋蛋殼品質無損檢測方法研究進展[J].中國農業科技導報,2015,17(5):11-17.
[2] 姜勇,郭文川.基于DSP的雞蛋蛋殼破損檢測系統硬件設計[J].農機化研究,2008(8):103-105.
[3] 黃思博,蔡昭權,陳伽,等.基于HALCON的LED陶瓷基板缺陷檢測系統[J].現代計算機,2019(16):48-53.
[4] 羅珍茜,薛雷,孫峰杰,等.基于HALCON的攝像機標定[J].電視技術,2010,34(4):100-102.
[5] 徐祥宇,劉玉婷,王超,等.基于機器視覺的食品缺陷檢測系統研究[J].大連民族大學學報,2019,21(3):257-261.
[6] 任鵬霏,周傳德,胡帥,等.HALCON圖像處理在紙杯缺陷檢測中的應用[J].自動化應用,2019(6):98-99.
[7] 司徒偉明,鄒湘軍,王成琳,等.基于OpenCV的木材表面缺陷檢測系統[J].現代電子技術,2017,40(12):148-151.
收稿日期:2020-01-07
作者簡介:辛永信(1999—),男,廣東汕頭人,研究方向:機器視覺,裂紋檢測系統。