楊子鈺 周翔 鄧琬云 林智桂 陳林
關(guān)鍵詞:視覺識(shí)別;HALCON;漏裝監(jiān)測(cè);OCR字符識(shí)別
0 引言
當(dāng)前車間流水線生產(chǎn)大多設(shè)置有點(diǎn)檢工位,可用于沿線監(jiān)測(cè)當(dāng)前零件是否存在誤裝漏裝,或確認(rèn)當(dāng)前零件編碼并通過人工掃碼來錄入系統(tǒng)等。無論何種用途,多設(shè)置一個(gè)工位就意味著多一份人工成本。為貫徹落實(shí)企業(yè)智能化發(fā)展及降本增效的理念,智能化視覺識(shí)別技術(shù)的引入能夠大大提高生產(chǎn)效率,加快流水線生產(chǎn)節(jié)拍,降低人工成本,為企業(yè)帶來可觀的效益。
1 HALCON 軟件簡(jiǎn)介
HALCON 軟件是由德國(guó)MVtec 公司研發(fā)的一款數(shù)字圖像處理的機(jī)器視覺軟件,其界面提供了相當(dāng)全面的視覺處理窗口,不僅提供功能全面的視覺處理庫(kù),而且提供了幾乎所有最先進(jìn)和最新的技術(shù)算法和算子[1]。該軟件有一個(gè)圖像處理庫(kù),其包含了1 000 多個(gè)獨(dú)立的函數(shù),同時(shí)加上了底層的數(shù)據(jù)管理核心,從而擁有數(shù)學(xué)變換、色彩分析、數(shù)學(xué)幾何變換、校正分類、各類濾波、辨識(shí)、分類以及形狀搜索等各種圖像處理的功能[2]。
HALCON 軟件中的HDEVELOP 是能夠與用戶交互的集程序、分析、設(shè)計(jì)和編程于一體的圖像處理界面。其中,包含了圖像窗口、參變量值的變化觀察窗口、程序編輯窗口和算子窗口等數(shù)種能夠讓用戶直接對(duì)平面圖像或者影視圖像進(jìn)行編輯和觀察變化的窗口[3]。
2 基于HALCON 視覺識(shí)別的產(chǎn)線監(jiān)測(cè)
采用HALCON 機(jī)器視覺監(jiān)測(cè)的辦法,通過產(chǎn)線相機(jī)抓取過線樣本圖片,并通過圖像處理模塊對(duì)已采集的樣本進(jìn)行分析處理后輸出檢測(cè)結(jié)果,從而自動(dòng)判斷過線零件是否合格。
2.1 發(fā)動(dòng)機(jī)缸蓋挺柱漏裝監(jiān)測(cè)
發(fā)動(dòng)機(jī)缸蓋挺柱通過流水線進(jìn)行人工安裝,共計(jì)16 根挺柱。由于人工操作的不確定性,容易出現(xiàn)漏裝、錯(cuò)裝的問題,故需設(shè)立點(diǎn)檢工位對(duì)是否正確安裝挺柱進(jìn)行檢查判斷。該辦法不僅效率低,且人為判斷也存在一定的失誤率,而采用機(jī)器視覺識(shí)別的辦法能大大提高生產(chǎn)效率及準(zhǔn)確率,并且一定程度上減輕人工負(fù)擔(dān),降低人工成本。
發(fā)動(dòng)機(jī)缸蓋挺柱安裝監(jiān)測(cè)邏輯圖如圖1 所示。
2.1.1 圖像采集模塊
為減輕人工成本,取消原有點(diǎn)檢工位,采取在流水線上安裝攝像頭自動(dòng)抓拍的方式來代替人工目檢。攝像頭監(jiān)測(cè)成本低、效率高且準(zhǔn)確率高,有效避免人工監(jiān)測(cè)疲勞帶來的失誤錯(cuò)漏。
在產(chǎn)線相機(jī)安裝固定完成后,將產(chǎn)線生產(chǎn)節(jié)拍調(diào)整,使得缸蓋進(jìn)入相機(jī)點(diǎn)檢位時(shí)做一個(gè)3 s 的停留。此時(shí)相機(jī)自動(dòng)抓拍圖片進(jìn)入系統(tǒng),程序中調(diào)用Image Acquisition 選擇圖像獲取途徑,選中產(chǎn)線所安裝的攝像頭。設(shè)置完成后系統(tǒng)可自動(dòng)打開圖片捕捉器open_framegrabber 并進(jìn)行圖片抓取grab_image_start,圖像抓取成功后進(jìn)入圖像處理單元。
2.1.2 圖像處理模塊
HALCON 通過圖像處理模塊對(duì)采集到的樣本圖片進(jìn)行分析處理。圖像處理模塊通常包含圖像讀取、圖像分割、形態(tài)學(xué)處理、特征提取及最后的結(jié)果輸出,從而最終實(shí)現(xiàn)自動(dòng)監(jiān)測(cè)和自動(dòng)識(shí)別。
2.1.2.1 圖像分割
在圖像處理模塊中,首先需要對(duì)圖片中的判斷區(qū)域進(jìn)行選取。根據(jù)缸蓋挺柱安裝部分的形狀位置,采用創(chuàng)建ROI 生成圓的方式,自定義選取判斷部分的形狀及位置坐標(biāo)。此辦法能更精確地選擇不同形狀、不同大小的各個(gè)區(qū)域的判定目標(biāo)。由于發(fā)動(dòng)機(jī)缸蓋共有16 個(gè)挺柱需要安裝,在完成16 個(gè)判定區(qū)域框選的同時(shí),還需采用concat_obj 命令將每個(gè)Region 合并到一起,便于后續(xù)進(jìn)行批量判斷處理(圖2)。
判斷區(qū)域選擇完成后,通過采用difference 算子實(shí)現(xiàn)原圖像區(qū)域與所選判斷區(qū)域的邊緣提取,獲得二者間的差集。然后采用select_shape 算子,選取面積area 作為判斷條件,根據(jù)發(fā)動(dòng)機(jī)缸蓋挺柱安裝區(qū)域的實(shí)際面積,選擇1000 作為閾值進(jìn)行判斷;選取面積閾值內(nèi)的區(qū)域做為分析對(duì)象,運(yùn)用reduce_domain 算子,將閾值外的區(qū)域進(jìn)行裁剪。裁剪后得到所需判斷區(qū)域如圖3 所示。
2.1.2.2 灰度特征提取
裁剪完成后,對(duì)判斷區(qū)域進(jìn)行灰度篩選。首先采用var_threshold 算子根據(jù)局部的均值和方差二值化,通過灰度均值對(duì)比可以得到區(qū)域內(nèi)較暗的部分。再利用intensity 算子計(jì)算出灰度的均值和方差,后通過expand_gray_ref 算子填充各區(qū)域之間的間隙并分割重疊的區(qū)域,最后運(yùn)用connection 算子將區(qū)域進(jìn)行分割。
分割完成后,利用fill_up 算子對(duì)區(qū)域中的孔隙進(jìn)行填充,可形成完整的區(qū)域。再次通過面積裁剪,裁掉不符合條件的小塊面積,獲得最終監(jiān)測(cè)區(qū)域如圖4 所示。
2.1.3 檢測(cè)結(jié)果輸出
通過批量灰度篩選后,可發(fā)現(xiàn)是否安裝挺柱的灰度閾值存在差異化。通過批量確定判定區(qū)域的閾值,結(jié)合灰度判定與面積的裁剪,能夠判斷該區(qū)域是否存在漏裝現(xiàn)象。最后對(duì)是否安裝挺柱個(gè)數(shù)進(jìn)行計(jì)數(shù),對(duì)已安裝及未安裝的數(shù)量進(jìn)行目視化顯示。
系統(tǒng)采用count_obj 算子讀取篩選后region 的個(gè)數(shù)。若此時(shí)region 個(gè)數(shù)小于16,則意味著存在漏裝現(xiàn)象,有未安裝的區(qū)域被篩選裁剪,同時(shí)輸出漏裝個(gè)數(shù)。當(dāng)系統(tǒng)判斷漏裝個(gè)數(shù)大于0 時(shí),則該發(fā)動(dòng)機(jī)缸蓋存在挺柱漏裝,系統(tǒng)輸出NOT OK 并報(bào)警;否則系統(tǒng)判斷該件合格,輸出OK,零件過檢。
為便于查看漏裝數(shù)量,系統(tǒng)還會(huì)分別輸出該件缸蓋挺柱已安裝個(gè)數(shù)及未安裝個(gè)數(shù)。考慮后期統(tǒng)計(jì)漏裝率及漏裝件的過線時(shí)間、狀態(tài)等信息,系統(tǒng)通過使用get_image_time 算子,獲得系統(tǒng)監(jiān)測(cè)時(shí)間。同時(shí)運(yùn)用write_image 算子,將錯(cuò)誤漏裝件監(jiān)測(cè)結(jié)果以時(shí)間命名并歸檔在目標(biāo)文件夾中,以便于后續(xù)管理。
產(chǎn)線發(fā)動(dòng)機(jī)缸蓋挺柱漏裝測(cè)試最終監(jiān)測(cè)結(jié)果如圖5 所示。
2.2 發(fā)動(dòng)機(jī)下線標(biāo)簽檢測(cè)
在流水線生產(chǎn)過程中,產(chǎn)品下線掃碼入庫(kù)工位,同樣可設(shè)立攝像機(jī)自動(dòng)視覺識(shí)別產(chǎn)品身上標(biāo)簽,自動(dòng)過線,來取代人工掃碼工位。標(biāo)簽識(shí)別的流程同樣采用攝像機(jī)拍照讀取標(biāo)簽數(shù)據(jù)后,將數(shù)據(jù)進(jìn)行存儲(chǔ),流程簡(jiǎn)單操作便利。標(biāo)簽自動(dòng)識(shí)別的邏輯如圖6 所示。
算法采用read_ocr_class_mlp 算子讀取OCR 分類器,選定判斷區(qū)域后,運(yùn)用do_ocr_multi_class_mlp 對(duì)區(qū)域字符進(jìn)行識(shí)別,最后通過tuple_regexp_match正則表達(dá)式提取子字符串。本例中需識(shí)別提取的字符如圖7 所示,所有貼標(biāo)下方的字符均為10-xx-xxxxx 的格式,故選擇10 為識(shí)別的目標(biāo)。將10 的2 位數(shù)字位置固定,識(shí)別后方的12 位字符。
3 結(jié)束語
隨著工業(yè)4.0 的到來,智能化生產(chǎn)日益變成現(xiàn)今車間生產(chǎn)的主流選擇。機(jī)器代替人工,一方面能大大提高車間產(chǎn)線的生產(chǎn)效率,另一方面使得生產(chǎn)過程更加安全可靠。機(jī)器視覺逐漸進(jìn)入人們的視野,通過視覺識(shí)別技術(shù),能夠大大降低人工目檢的失誤率。通過視覺監(jiān)測(cè)取代人工工位,貫徹落實(shí)降本增效理念的同時(shí),更有利于企業(yè)未來長(zhǎng)期可持續(xù)發(fā)展。