文/張昊武·中國機械總院集團機電研究所有限公司
彭群,杜貴江,李峰·北京機電研究所有限公司揚州分公司
為解決生產(chǎn)線上精沖件正反面實時分揀的問題,提出了一種基于像素點分割的判別算法,從提取的ROI 中心對圖像進行n(n>3)等分,計算每份中非零像素點數(shù)量,并由此組成一個特征向量,然后通過計算待檢測圖像和模板兩者的特征向量的歐氏距離,根據(jù)其結果設定閾值用來判別正反面?;诖怂惴ㄔO計開發(fā)了一套檢測系統(tǒng),整體平均運行速度達到2.68ms/件,準確率達到99.99%。
精沖零件的幾何形狀、尺寸和形位公差以及剪切面的質(zhì)量都遠優(yōu)于普通沖裁的零件,因此精沖工藝在汽車零件制造和航空航天等相關領域發(fā)揮著很大作用。利用機器視覺檢測,按照零件的正反面進行分揀,可減少人工,極大地提高生產(chǎn)效率,便于后續(xù)的直接裝配、去毛刺和打包裝箱等生產(chǎn)流程。
對于小型零件,模具往往采用多型腔設計,一次沖裁可以成形多個零件(2 ~6 個)。這種短時間內(nèi)成形多個零件的工作節(jié)拍,會導致一個周期內(nèi)掉落在送檢傳送帶上的零件間隔較小,在傳送帶長度有限的情況下,不能很好的將其間隔變大。在利用機器視覺進行檢測時,間隔較小對于觸發(fā)拍照的方式也有影響,即:當?shù)谝粋€零件還沒有走出拍照區(qū)域,第二個零件就觸發(fā)了拍攝開關,存在拍攝不到完整零件或者將上一個零件拍進照片的可能。
另外實際生產(chǎn)環(huán)境中油污、灰塵及零件料渣等可能對傳感器探頭造成一定遮擋,使觸發(fā)閾值發(fā)生變化;以及未去除的廢料粒觸發(fā)了開關,這些都有可能導致拍攝不到完整零件或將上一個零件再次識別,從而無法對零件進行檢測判斷。因此,急需一種快速穩(wěn)定的檢測技術對零件進行目標識別與正反面判斷,以解決上述問題。
為了解決觸發(fā)拍照帶來的問題,本文使用視頻模式連續(xù)拍攝,對目標的完整性提出了以下判斷方法。其可以對出現(xiàn)在視野里的零件依次追蹤編號,由此可以將檢測結果與每個零件一一對應上,通過相關信息的判斷語句,在每個零件完全進入相機視野時,對其進行判斷。新零件出現(xiàn)在視野中時賦予其新編號,退出視野時取消其編號。其中關鍵在于,如何判斷目標完全進入視野和退出視野、檢測以及目標跟蹤。
首先用最小外接矩形框住進入視野的目標,然后設置兩個條件語句。條件一,矩形短邊的長度超過一個閾值;條件二,矩形中心點跨過“絆線”(圖1 中綠色豎線)。若條件一,二均為真,則認為該目標完全進入視野,沒有處于視野之外的部分,并且提取矩形框中的圖形作為ROI,流程圖如圖2 所示。目標進入視野時的情況如圖1 所示,時刻1 中,右側零件滿足條件一、二,矩形框為綠色表示已標記,標記為01 號零件;左側零件不滿足條件一、二,矩形框為藍色表示未標記,不進行標記編號。時刻2 中,左側零件越過絆線,滿足條件一、二,矩形框變?yōu)榫G色,標記為02 號零件。
圖1 目標進入視野的情況
圖2 判斷是否進入視野的流程圖
由于零件掉落到傳送帶上位姿是隨機的,以圖3為例,往往與模板之間存在一定的角度差異,以矩形框最下方一點為原點,過原點的水平線為角的始邊,過原點且位于原點右側的矩形的一邊為終邊,始邊與終邊所夾銳角為角度差異θ。逆時針旋轉θ 角度后,最小外接矩形連同零件的圖像被轉正。轉正后的圖像位姿與4 個模板(圖4 中a-d)其中之一相同。
圖3 待檢測圖像ROI
將圖4a 的模板,以中心點為原點,按圖5 的方式進行四等分,分別計算各象限的黑色像素點數(shù)量。對于復雜的圖形,可以進行大于4 的等分。模板從第一象限到第四象限的黑色像素點數(shù)量組成向量a,以a 中最小值為第一個元素,同樣按照逆時針排序,得到向量b,b 作為模板向量。轉正后的待檢測圖像以同樣方法進行分割,從第一象限到第四象限為c,拼接兩個c 得到d。計算c 中最小值的索引為cmin,可以得到新的向量e,e 作為待檢測向量。向量a-e 見式1。
圖4 模板
圖5 分割圖
隨機抽取20 個零件檢測,結果如圖6 所示。結果表明,正面零件的歐式距離均大于500,反面零件的歐式距離均小于200??梢栽O定判別閾值為350,據(jù)此來判別圖像的正反面。
圖6 歐氏距離分布圖
根據(jù)本文提出的基于像素點分割的判別算法,利用C++編寫代碼,實現(xiàn)目標識別、ROI 提取和正反面判斷功能。被判斷為反面的零件,使用氣缸或機械臂將其放置于另一條傳送帶上,完成正反零件的分揀操作。若有需要可采用翻面機構將反面零件翻正,便于后續(xù)的去毛刺、打包裝箱和裝配等生產(chǎn)流程的進行。
連續(xù)采集100 件,整體的平均運行速度可達2.68ms/件,其中正反面判別部分的速度可達1.00ms/件,能夠滿足在20 ~60 幀/秒的視頻采集條件下運行。判別速度高于OpenCV中matchTemplate算子的5.00ms/件。本文算法與Hu 不變矩方法的判別速度相當,但其在實時檢測的情況下,誤判率更低,穩(wěn)定性更好。
本文針對精沖零件,提出了一種用于正反面識別的基于像素點分割的判別算法。由此開發(fā)了一套精沖件實時分揀的技術,搭建了零件正反面檢測系統(tǒng)并進行了實驗驗證。研究結果表明:
⑴檢測系統(tǒng)運行流暢,本文算法切實可行;
⑵檢測系統(tǒng)對單個零件的檢測時間為2.68ms;
⑶檢測系統(tǒng)對精沖零件正反面判斷的準確率達到99.99%。
研究成果對類似場景下其他產(chǎn)品正反面判別及實時分揀技術的研發(fā)具有借鑒意義。