姚一鳴 陳龍
摘 要:根據(jù)汽車插片保險絲的形狀特征,基于機器視覺與OpneCV開源視覺庫設計汽車插片保險絲定位算法。通過對采集到的汽車插片保險絲圖像進行處理,計算出汽車插片保險絲的位置與角度。算法核心為通過計算汽車插片保險絲輪廓的幾何矩求取位置信息,并結合最小外接矩形與汽車插片保險絲的形狀特征求取角度信息。試驗結果表明,該算法能夠準確檢測出圖像中汽車插片保險絲的位置及角度信息,具備一定的應用價值。
關鍵詞:機器視覺;OpenCV;幾何矩;汽車插片保險絲;形狀特征
DOI:10.11907/rjdk.172726
中圖分類號:TP312
文獻標識碼:A 文章編號:1672-7800(2018)005-0053-03
Abstract:According to the shape features of the automobile plug fuse, we design a positioning algorithm for automobile plug fuses based on machine vision and OpenCV (Open Source Computer Vision Library). The main content of this paper is to calculate the position and angle information of the fuses by processing the fuse images. The core of the algorithm is to obtain the position information of the automobile plug fuse by geometric moments of the fuse contours, and to obtain the angle information using the minimum enclosing rectangle and the shape features of the automobile plug fuse.Experiments prove that the algorithm can accurately detect the position and angle information of the automobile plug fuse in the image, and has certain application value.
Key Words:machine vision; OpenCV; geometric moment; automobile plug fuse; shape features
0 引言
在現(xiàn)代工業(yè)中,隨著自動化技術的發(fā)展,機器視覺得到了廣泛運用。機器視覺即將視覺信息作為輸入,并對其進行處理。機器視覺的主要功能為識別物體信息,將識別結果作為下一步動作的信息指南,如定位、抓取、導航與避障等[1]。
在對工件的定位抓取研究中,東南大學的尤衛(wèi)衛(wèi)[2]對機器人分揀工件系統(tǒng)作了詳細研究;劉周林,盧建湘等[3]針對SMT零件,采用形狀匹配的方法設計了定位抓取算法;劉學平、陳藝昌、刁常龍等[4]采用機器視覺[5]對BGA芯片檢測對中技術進行了研究;彭繼彬、陳曉榮[6]采用HALCON對票據(jù)上的字符進行定位識別與提取;劉勁松、梁皓源[7]使用OpenCV對特定晶圓產品上的編號進行了定位識別與提取。
隨著汽車零部件行業(yè)逐漸往自動化方向發(fā)展,在汽車保險絲領域,保險絲的分揀裝配目前仍為人工操作,從而大大浪費了勞動資源并延長了產品生產周期,因此急需以機器代替人工勞動。本文基于汽車插片保險絲的形狀特征,結合Visual C++與OpenCV[8]開源視覺庫實現(xiàn)了汽車插片保險絲的定位。
1 系統(tǒng)概述
基于機器視覺的汽車插片保險絲定位系統(tǒng)需要對置物臺上的汽車插片保險絲進行采集和識別,最終確定其在置物平臺上的位置與姿態(tài)。系統(tǒng)構成主要有光照系統(tǒng)、CCD攝像機、圖像采集卡、工業(yè)計算機、控制機構等模塊,如圖1所示。
機器視覺系統(tǒng)主要包括圖像采集、圖像處理、目標識別3部分。在此系統(tǒng)中,工位放置在被檢測區(qū)域內,通過光源打光去除工件陰影,然后使用CCD相機拍照,經(jīng)過圖像采集卡傳輸給工業(yè)計算機,再通過系統(tǒng)定位識別軟件計算工件的位置與角度,最后傳輸給相應控制機構執(zhí)行下一步操作。例如:控制機構控制機械手或吸盤抓取工件。
本文根據(jù)汽車插片保險絲定位的實際需求,獲得清晰的汽車插片保險絲圖像,進而通過圖像預處理,獲取工件外輪廓,然后通過汽車插片保險絲外輪廓的形狀特征,用最小包圍矩形獲取工件在圖片中的位置信息,最后根據(jù)輪廓形狀的非對稱性獲取工件角度信息,系統(tǒng)流程如圖2所示。
2 圖像預處理
2.1 中值濾波
中值濾波[9]是一種典型的非線性濾波技術,其基本思想是用像素點鄰域灰度值的中值代替該像素點的灰度值。該方法在去除脈沖噪聲、椒鹽噪聲的同時又能保留圖像邊緣細節(jié)。
2.2 圖像二值化
圖像二值化有多種方式,如全局二值化、局部區(qū)域二值化等。本文中由于工件與背景色差明顯,易于分離背景,所以采用全局二值化方式提取目標物體。
全局二值化方法是設定一個全局閾值T,用T將圖像數(shù)據(jù)分成兩部分:大于T的像素群和小于T的像素群。將大于T像素群的像素值設定為白色(或者黑色),小于T像素群的像素值設定為黑色(或者白色)。
3 工件位置獲取
圖像經(jīng)過二值化后,先提取出工件外輪廓,然后計算其幾何矩,通過輪廓的零階矩和一階矩計算工件質心,以質心位置代表工件在圖像坐標系中的位置。
4 工件旋轉角度計算
在采集圖像時,工件在圖像中具有相同視角,即平置在臺面上,但是它們之間角度不同。本文在獲取保險絲片輪廓后,根據(jù)輪廓形狀,采用最小外接矩形包圍保險絲片,初步得到外接矩形與圖像坐標系X軸之間的傾斜角度.再通過工件輪廓的非對稱性分類計算,進而得到工件圖像的傾斜角度。
4.1 最小外接矩形
最小外接矩形也稱最小邊界矩形、最小包含矩形或最小外包矩形。最小外接矩形是指以二維坐標表示的若干二維形狀(例如點、直線、多邊形等)的最大范圍,即通過給定的二維形狀各個頂點中的最大與最小橫坐標,以及最大與最小縱坐標定下邊界的矩形。
在OpenCV庫中采用minArearect函數(shù)計算物體輪廓的最小外接矩形,并得到以下參數(shù):①最小矩形框的中心點C。中心點C為最小矩形框的對角線交點;②最小矩形框角度θ。角度θ為最小矩形框繞其中心點順時針不斷旋轉,在旋轉過程中,當X軸第一次與矩形框任意一條邊平行時,最小矩形框需旋轉的角度;③最小矩形框的寬width與高height。最小矩形框順時針旋轉θ度后,與X軸平行的對邊為寬width,與Y軸平行的對邊為長height。
最小矩形框的中心點C、角度θ、長heigh和寬width示意圖如圖3所示。
4.2 工件角度計算
根據(jù)OpenCV中最小矩形框的原理,采用最小矩形框包圍工件輪廓后,將圖像順時針旋轉θ度,然后單獨提取出旋轉后的圖像。
任意一個隨意擺放的汽車插片保險絲,經(jīng)過旋轉并提取圖像后,會出現(xiàn)A、B、C、D四種不同情況,此時可根據(jù)圖像長寬的差異以及工件特定區(qū)域內黑白像素個數(shù)的差異對旋轉后的4種不同形狀進行分類,進而得出最終的旋轉角度α。
如圖4所示,其中圖a、b、c、d代表旋轉前的圖形姿態(tài),圖A、B、C、D代表旋轉后圖形的4種不同姿態(tài),虛線框區(qū)域代表黑白像素檢測區(qū)域,其位置按提取后圖像的大小比例確定。
4類圖像判斷依據(jù)如表1所示。
以姿態(tài)A為基準姿態(tài),任意擺放的汽車插片保險絲經(jīng)過上述算法變換后,最終歸于A、B、C、D四類之一,即其與基準姿態(tài)之間的偏轉角α如表2所示。
5 實驗結果與分析
5.1 實驗細節(jié)過程
本文使用OpenCV3.1以及VS2013對上述所有過程進行實際測試,首先通過相機獲取汽車插片保險絲的原始灰度圖片,如圖5所示。
其次,調用OpenCV中的medianBlur函數(shù)對圖像進行中值濾波處理,處理后的圖像如圖6(a)所示;再調用二值化函數(shù)threshold,設定閾值后進行二值化,結果如圖6(b)所示;之后采用findcounters函數(shù),獲取二值化后的圖像輪廓;最后根據(jù)輪廓的大小、面積去除非工件輪廓,留下保險絲片輪廓,然后使用drawContours函數(shù)畫出輪廓,并用白色像素填充滿輪廓內部,效果如圖6(c)所示。
在提取出清晰的工件輪廓后,運用函數(shù)Moment根據(jù)工件外輪廓計算其零階矩和一階矩,進而確定工件質心,代表工件在圖像坐標系的位置,如圖7(a)所示,其中白色輪廓為工件外輪廓,黑色點為輪廓質心。然后使用minArearect函數(shù)獲取角度θ,輪廓的最小包圍矩形如圖7(b)所示。最后通過4.1與4.2節(jié)所述算法處理圖片,按表1、表2規(guī)則分類,計算最終偏轉角α。
5.2 實驗結果分析
筆者在生產線上隨機抽取20張保險絲圖像進行測試。樣本中,每張圖像中的工件均為隨意水平放置。試驗結果證明,該算法能夠有效識別汽車插片保險絲的位置與角度,且單個汽車插片保險絲的平均檢測時間為500ms,可滿足一般流水線生產要求。檢測的位置精度為±0.1mm,角度精度為±0.1°,滿足基本要求。該算法仍有很多不足,體現(xiàn)在該算法為針對特定產品設計,普適性較差,在保險絲片的角度求取上缺乏移植性。
6 結語
視覺檢測技術作為機器視覺的重要研究領域,不僅能提高系統(tǒng)的自動化程度,還能顯著提升檢測的安全性與可靠性[10]。本文基于汽車插片保險絲的輪廓形狀特點,設計了一種識別定位汽車插片保險絲的算法,通過機器視覺檢測應用,既保證了生產效率,又提高了可靠性,為后續(xù)汽車零配件行業(yè)的工業(yè)自動化發(fā)展提供了新的思路。該算法具有一定應用價值,后續(xù)將對其作進一步改進與完善。
參考文獻:
[1] 薛夢霞,劉士榮,王堅.基于機器視覺的動態(tài)多目標識別[J].上海交通大學學報,2017,51(6):727-733.
[2] 尤衛(wèi)衛(wèi). 機器人分揀作業(yè)中工件識別實用技術的研究與實現(xiàn)[D]. 南京:東南大學,2016.
[3] 劉周林,盧建湘,謝煌生,等.SMT零件的視覺遍歷定位與抓取方法[J]. 液壓與機床,2015,43(3):67-71.
[4] 劉學平,陳藝昌,刁常龍,等.基于機器視覺的BGA芯片檢測對中技術[J].計算機工程,2013,39(8):281-284.
[5] CARSTEN S,MARKUS U,CHRISTIAN W.機器視覺算法與應用[M].第3版.楊少榮,譯.北京:清華大學出版社,2011:432-438.
[6] 彭繼彬,陳曉榮.基于HAL CON的票據(jù)字符提取系統(tǒng)設計與實現(xiàn)[J].軟件導刊,2017,16(4):80-82.
[7] 劉勁松,梁皓源.基于OpenCV的晶圓編號識別算法研究[J].軟件導刊,2017,16(6):25-27.
[8] 布拉德斯基,克勒.學習OpenCV[M].北京:清華大學出版社,2009:256-258.
[9] 張廣淵,王愛俠,王超.數(shù)字圖像處理基礎及OpenCV實現(xiàn)[M].北京:知識產權出版社,2014:190-192.
[10] 趙杰文,陳振濤,鄒小波.機器視覺實現(xiàn)方便面破損在線檢測的研究[J].微計算機信息,2007,23(10):238-240.
(責任編輯:黃 ?。?/p>