楊宏賢,朱世根,白云峰,丁 浩,朱巧蓮
(1.東華大學(xué)機(jī)械工程學(xué)院,紡織裝備教育部工程研究中心,上海 2016202.義烏云溪新材料科技有限公司,浙江義烏 322000)
近年來,在小尺寸mm級(jí)精密零件或大尺寸cm級(jí)非精密零件的自動(dòng)化檢測(cè)領(lǐng)域,機(jī)器視覺檢測(cè)技術(shù)的研究與應(yīng)用取得了長(zhǎng)足的進(jìn)步,然而對(duì)于同時(shí)具有cm級(jí)大尺寸以及高精密要求的復(fù)雜形狀零件,即使用高分辨率的視覺硬件,也難以直接達(dá)到高速、穩(wěn)定的高精度檢測(cè)要求,基于機(jī)器視覺的自動(dòng)化檢測(cè)技術(shù)還存在一定的困難[1]。
例如某種扁平細(xì)長(zhǎng)帶鉤零件,輪廓尺寸為51 mm×3 mm,厚度只有0.49 mm,結(jié)構(gòu)如圖1所示,形狀不規(guī)則、結(jié)構(gòu)精細(xì),使用時(shí)需要數(shù)千個(gè)零件按相同的步調(diào)工作,所以必須保證零件之間的高度一致性。此類零件制作工序繁復(fù),因而成品率較低,但在工業(yè)生產(chǎn)中消耗量卻很大。長(zhǎng)期以來,一直依靠人工逐一檢測(cè)的方式從大量產(chǎn)品中分揀出部分合格產(chǎn)品,人工檢驗(yàn)的檢測(cè)速度和檢測(cè)精度較低[2-4]。
以實(shí)現(xiàn)上述零件的外形檢測(cè)為目標(biāo),研發(fā)了一種基于機(jī)器視覺的檢驗(yàn)方法與系統(tǒng),該系統(tǒng)利用優(yōu)化的硬件以及基于LabVIEW的軟件檢測(cè)算法設(shè)計(jì),實(shí)現(xiàn)了形狀尺寸的自動(dòng)化檢測(cè),從而提高了此類零件檢驗(yàn)工序的效率和可靠性。
零件具有扁平細(xì)長(zhǎng)的結(jié)構(gòu)特點(diǎn),在人工方法檢測(cè)外輪廓形變時(shí),通常只有采用特制夾具固定,才能準(zhǔn)確檢驗(yàn)主要部位的尺寸和變形情況。這是導(dǎo)致人工檢測(cè)緩慢的原因,也是自動(dòng)化檢測(cè)系統(tǒng)設(shè)計(jì)過程中的難點(diǎn)之一。考慮到快速檢測(cè)的要求,如圖2所示,系統(tǒng)采用無色玻璃環(huán)作為零件移位的載體,零件依次排列放上環(huán)面,環(huán)面可由電機(jī)帶動(dòng)進(jìn)行旋轉(zhuǎn)。沿環(huán)面轉(zhuǎn)動(dòng)方向依次布置有自動(dòng)入料模塊、自動(dòng)定位模塊、位置傳感模塊、圖像采集與處理模塊、產(chǎn)品收集模塊、運(yùn)動(dòng)控制模塊等。
系統(tǒng)工作原理如下所述:自動(dòng)入料模塊將零件以一定的間距依次推送到玻璃環(huán)面上。零件隨著環(huán)面一起運(yùn)動(dòng),當(dāng)運(yùn)動(dòng)到自動(dòng)定位模塊時(shí),快速定位并完成初步的位姿調(diào)整。當(dāng)零件經(jīng)過位置傳感模塊時(shí),光纖傳感器發(fā)出的光線受到遮擋,接收信號(hào)產(chǎn)生變化,檢測(cè)到零件當(dāng)時(shí)所在的位置。圖像采集與處理模塊由相機(jī)、鏡頭、光源、計(jì)算機(jī)、圖像采集卡等組成,其中相機(jī)和光源采用背光照明的方式分別設(shè)置在玻璃環(huán)上、下側(cè),當(dāng)有零件經(jīng)過時(shí)觸發(fā)相機(jī)拍攝俯視圖像并完成圖像處理、檢測(cè)和判斷。最后,由產(chǎn)品收集模塊完成合格品與不合格品的分類分揀。零件隨著環(huán)面旋轉(zhuǎn)1圈即可完成1次檢驗(yàn)。
工業(yè)相機(jī)與鏡頭是圖像采集與處理模塊最重要的組成部分。相機(jī)主要根據(jù)分辨率、傳感器尺寸、幀率、圖像噪聲等因素,選取滿足檢測(cè)系統(tǒng)精度要求的型號(hào)[5]。本設(shè)計(jì)的檢驗(yàn)?zāi)繕?biāo)長(zhǎng)度可達(dá)51 mm,按照每個(gè)像素0.015 mm的設(shè)計(jì)要求,最終選取Dual GigE 協(xié)議的4 864像素×3 232像素CCD相機(jī),傳感器靶面尺寸為35 mm。鏡頭按照成像光路的區(qū)別分為普通鏡頭和遠(yuǎn)心鏡頭,普通鏡頭在成像時(shí)難以使細(xì)長(zhǎng)物體在整個(gè)視場(chǎng)中同時(shí)呈現(xiàn)清晰的邊緣,而遠(yuǎn)心鏡頭采用平行光路設(shè)計(jì),其特點(diǎn)是在一定景深或焦深范圍內(nèi),成像的放大倍率不會(huì)隨著物距或像距的變化而變化,還能改善或者消除圖像畸變、投影誤差、邊緣效應(yīng)。圖3為普通鏡頭與雙遠(yuǎn)心鏡頭局部放大的成像效果對(duì)比圖。精確呈現(xiàn)細(xì)長(zhǎng)零件的全部輪廓邊緣是保證檢測(cè)精度的關(guān)鍵,因此選用物方視場(chǎng)FOV為90 mm、放大倍率為0.489的大靶面雙遠(yuǎn)心鏡頭獲取清晰銳利的圖像。
在大尺寸零件的檢驗(yàn)領(lǐng)域,僅靠合理的硬件設(shè)計(jì)與選型,視場(chǎng)與精度的矛盾仍然難以調(diào)和,還需在檢驗(yàn)算法及方法上進(jìn)一步研究。
傳統(tǒng)的規(guī)則形狀零件檢驗(yàn)方法一般依賴于對(duì)個(gè)別尺寸的檢驗(yàn)。對(duì)于不規(guī)則形狀零件來說,這種檢驗(yàn)方法只能保證個(gè)體上局部尺寸的準(zhǔn)確性,卻難以保證同一批次產(chǎn)品之間的一致性。而圖像檢驗(yàn)方法不僅可以對(duì)規(guī)定尺寸進(jìn)行檢驗(yàn),還可以對(duì)包含復(fù)雜曲線的全部輪廓進(jìn)行檢驗(yàn),從而更好地保證一致性。據(jù)此,設(shè)計(jì)了基于LabVIEW的不規(guī)則的扁平細(xì)長(zhǎng)帶鉤零件檢測(cè)算法,算法包含尺寸檢驗(yàn)以及輪廓檢驗(yàn)相結(jié)合的2種檢測(cè)模式。其中,尺寸檢測(cè)可以通過調(diào)用LabVIEW卡尺工具方便地實(shí)現(xiàn)相關(guān)尺寸的測(cè)量,此處不再贅述,下文重點(diǎn)介紹為了保證零件之間的一致性而開發(fā)的輪廓檢驗(yàn)算法,如圖4所示。
采集到零件圖像后,首先需要進(jìn)行圖像預(yù)處理,以改善圖像視覺效果[6]。圖像預(yù)處理步驟包括灰度變換、中值濾波等。其次,零件在圖像中并不能保證總是處于完全相同的位置和方向,可能產(chǎn)生重疊、缺失、旋轉(zhuǎn)、平移等變化,因此檢測(cè)系統(tǒng)必須具備定位功能。使用形狀模板匹配算法定位,需要先創(chuàng)建模板。參考零件在上機(jī)使用過程時(shí)的基準(zhǔn)位置,作為模板匹配定位的基準(zhǔn),如圖5所示。在LabVIEW算法中通過庫函數(shù)節(jié)點(diǎn)調(diào)用HALCON模板匹配算子find_shape_model,算子輸入輸出端主要有最小匹配分值、最大匹配數(shù)量、搜索起始角度、搜索角度范圍、模板匹配結(jié)果等參數(shù)。匹配分值代表目標(biāo)物體和模板的相似程度,它的值介于0和1之間,值越大代表基準(zhǔn)線的匹配吻合程度越高,定位準(zhǔn)確程度也越高。通過定義一個(gè)最小匹配分值,可以排除與模板匹配度較低的目標(biāo),避免因?yàn)槟0迤ヅ洳痪珳?zhǔn)而造成的誤差。匹配數(shù)量設(shè)置為1,搜索角度設(shè)置在±10°范圍內(nèi),以限制擺放位置偏差較大的目標(biāo)物體,避免誤檢。
標(biāo)定的作用是確定圖像坐標(biāo)系與空間坐標(biāo)系的對(duì)應(yīng)關(guān)系。采用像素當(dāng)量標(biāo)定方法[7],確定單個(gè)圖像像素所代表的空間距離,如式(1)所示:
(1)
式中:D為空間距離,mm;L為像素?cái)?shù)量,pixel;k為標(biāo)定系數(shù),由此式得k為0.014 mm/pixel。
2.3.1 形態(tài)學(xué)
數(shù)學(xué)形態(tài)學(xué)有2個(gè)基本的運(yùn)算,即膨脹和腐蝕,從數(shù)學(xué)上來講,膨脹或者腐蝕運(yùn)算就是將數(shù)字圖像或數(shù)字圖像的一部分區(qū)域A與核B進(jìn)行卷積[8]。通過數(shù)學(xué)形態(tài)學(xué)操作對(duì)零件圖像進(jìn)行膨脹、腐蝕操作,獲得相應(yīng)放大或者縮小后的模板圖像,提取其亞像素輪廓線作為感興趣區(qū)域(ROI),如圖6所示,獲得內(nèi)、外2條線ROI。檢測(cè)算法運(yùn)行時(shí),將外輪廓處于這兩條線之間的待檢目標(biāo)定義為合格品,反之為不合格品。
2.3.2 輪廓擬合
模板匹配完成目標(biāo)零件的定位后,按照匹配結(jié)果,將目標(biāo)的位姿調(diào)整到檢測(cè)所需的位姿,最簡(jiǎn)單的方法是對(duì)ROI的位姿進(jìn)行適當(dāng)?shù)恼{(diào)整,而非目標(biāo)圖像,以減少計(jì)算量。通過旋轉(zhuǎn)、平移等仿射變換使ROI與目標(biāo)位姿一致。如圖7中模板參考坐標(biāo)系為(x,y),放大輪廓與縮小輪廓作為ROI,其坐標(biāo)系與模板參考坐標(biāo)系(x,y)一致。零件通過模板匹配得到反映零件位姿的測(cè)量坐標(biāo)系為(x″,y″)。 將參考坐標(biāo)系(x,y)向X、Y方向分別平移一定距離后得到坐標(biāo)系(x′,y′),再旋轉(zhuǎn)θ角度后參考坐標(biāo)系與測(cè)量坐標(biāo)系(x″,y″)重合,此時(shí)ROI位姿與目標(biāo)位姿一致。其坐標(biāo)轉(zhuǎn)換關(guān)系如式(2)所示:
(2)
式中:a和b為坐標(biāo)系原點(diǎn)平移的距離。
2.3.3 逐點(diǎn)掃描法檢驗(yàn)
將ROI擬合到目標(biāo)圖像上,如圖8所示。逐點(diǎn)計(jì)算ROI與待檢驗(yàn)?zāi)繕?biāo)輪廓的一致性,即可判斷總輪廓超差量。此處為了說明問題,僅以模板放大輪廓上提取的ROI與目標(biāo)輪廓的比對(duì)為例進(jìn)行詳細(xì)介紹:
步驟1:若在ROI上所選取點(diǎn)的集合為X={x1,x2,x3,…,xn},每個(gè)點(diǎn)對(duì)應(yīng)的灰度值組成的集合定義為G={g1,g2,g3,…,gn}。
步驟2:定義變量y,作用是過濾長(zhǎng)度為y以下的超差輪廓線段。首先依次讀取集合G中從g1開始的連續(xù)y個(gè)值,并分別與灰度閾值N進(jìn)行比較,若此y個(gè)g值均大于N,表示此處零件輪廓點(diǎn)均位于這連續(xù)y個(gè)點(diǎn)組成的放大輪廓線以內(nèi),為合格點(diǎn),否則將x1放入不合格輪廓點(diǎn)組成的集合M;再依次讀取集合G中從g2開始的連續(xù)y個(gè)值,同樣按以上方法判斷是否將x2計(jì)入M;繼續(xù)讀取g3做同樣的處理,直到讀取到gn-y為止。
步驟3:計(jì)算集合M中元素個(gè)數(shù),數(shù)量越多表示輪廓點(diǎn)擬合程度越差。例如圖8中輪廓線上顯示的十字標(biāo)記點(diǎn)表示y=1時(shí)集合M包含的所有點(diǎn),可見點(diǎn)數(shù)量較多,輪廓擬合程度較差。若個(gè)數(shù)小于規(guī)定值z(mì),輪廓上相關(guān)尺寸測(cè)量結(jié)果滿足要求,則目標(biāo)零件形狀符合要求,否則為不合格品。
扁平細(xì)長(zhǎng)帶鉤零件是一種邊緣光滑的沖壓件,但是臟物顆粒及圖像噪聲往往容易造成邊緣像素灰度值波動(dòng),進(jìn)而影響檢測(cè)結(jié)果的可靠性,因此必須從算法層面對(duì)檢驗(yàn)系統(tǒng)進(jìn)行優(yōu)化調(diào)試。系統(tǒng)調(diào)試時(shí),設(shè)定上文2.3.3節(jié)所述算法中y=1或y=10,在其他變量相同的情況下,對(duì)同一批300枚零件進(jìn)行初檢,并對(duì)初檢得到的產(chǎn)品再檢,結(jié)果如表1及表2所示。對(duì)比表1、表2可知:y=1時(shí),合格品檢出量較少,重復(fù)檢出率較低,為76.6%~81.8%;y=10時(shí),合格品檢出量大幅增加,重復(fù)檢出率大幅提高,達(dá)到92.6%~95.8%。其原因是,零件輪廓上細(xì)微臟物顆粒及圖像噪聲易造成個(gè)別像素灰度值波動(dòng),進(jìn)而造成輪廓點(diǎn)誤判,而真正的超差輪廓線段長(zhǎng)度較大,取y=10時(shí)相比y=1時(shí)可以更有效地避免這種誤判。調(diào)試結(jié)果表明,合理的算法設(shè)計(jì)有效地避免了漏檢,提高了檢出率和檢測(cè)結(jié)果的穩(wěn)定性。
表1 設(shè)定y=1時(shí)的零件檢測(cè)實(shí)驗(yàn)結(jié)果
3.2.1 安全裕度
檢測(cè)系統(tǒng)隨機(jī)誤差很難完全消除,當(dāng)真實(shí)輪廓位于極限輪廓附近時(shí),可能產(chǎn)生誤檢,包括誤收和誤廢2種情況。本研究的檢測(cè)對(duì)象,一致性要求很高,誤檢率須控制在0.1%以內(nèi)。為了嚴(yán)格避免誤檢,檢測(cè)系統(tǒng)的安全裕度A的值十分重要。經(jīng)過標(biāo)定測(cè)量,測(cè)得本系統(tǒng)的測(cè)量不確定度在7 μm以內(nèi),據(jù)此,安全裕度A可確定為7 μm。
3.2.2 誤收與誤廢
現(xiàn)舉例說明檢驗(yàn)系統(tǒng)的檢測(cè)效果。任意將模板向外或向內(nèi)膨脹、腐蝕3個(gè)像素尺寸,并提取為放大和縮小輪廓。此時(shí)合格品輪廓一致性的公差確定為±(42+7)μm(其中的42=14×3,7為安全裕度)。
對(duì)300枚未知零件進(jìn)行檢測(cè)檢驗(yàn),第一次檢出a枚合格品,300-a枚非合格品,重復(fù)檢測(cè)10次。每次用投影儀分別對(duì)合格品和非合格品進(jìn)行校驗(yàn),發(fā)現(xiàn)合格品中沒有一致性超差的非合格產(chǎn)品,而非合格品中存在一致性不超差的合格品。說明系統(tǒng)檢測(cè)的產(chǎn)品不存在誤收,但存在誤廢。
為減少誤廢,采用了遞進(jìn)檢測(cè)的方式。對(duì)300枚未知零件檢測(cè)第一次,檢出a枚合格品,對(duì)剩余300-a枚檢第二次得b枚合格品,再對(duì)300-a-b枚檢第三次得c枚合格品,以此類推,統(tǒng)計(jì)每次遞進(jìn)檢測(cè)后的合格品總數(shù)量。設(shè)遞進(jìn)檢測(cè)次數(shù)為t,系統(tǒng)檢測(cè)速度約為70枚/min,重復(fù)10次,結(jié)果如表3所示。分析可知隨著遞進(jìn)檢測(cè)次數(shù)t的增加,單次檢測(cè)得到的合格品數(shù)量逐漸減少,合格品總數(shù)量逐漸趨于穩(wěn)定。
用投影儀復(fù)檢所有機(jī)檢合格品,總體上一致性效果好,達(dá)到預(yù)設(shè)要求。但第一次機(jī)檢所得零件變形量較小,遞進(jìn)檢測(cè)2、3、4次及以后,所得零件變形量增大,大多位于極限輪廓附近,但零件輪廓的最大偏差均不超過±(42+7)μm,說明系統(tǒng)檢測(cè)沒有誤收,合格品誤檢率均為0。
表3 遞進(jìn)檢驗(yàn)法所得合格品數(shù)量及誤檢率
在避免誤收的同時(shí),應(yīng)盡可能減少誤廢。由表3可見,遞進(jìn)檢測(cè)1次,合格品平均檢出率達(dá)84%,進(jìn)行再檢可大幅提高檢出率至93%~99%。說明遞進(jìn)檢測(cè)可有效減少誤廢。
3.2.3 可控的一致性
實(shí)際檢驗(yàn)時(shí),若按單個(gè)像素尺寸設(shè)定模板零件縮放量,輪廓一致性公差最小可做到±(14+7) μm,優(yōu)于扁平細(xì)長(zhǎng)帶鉤零件現(xiàn)行人工檢驗(yàn)標(biāo)準(zhǔn)的一致性要求。通常而言,一致性公差設(shè)置值越小,檢出的零件總數(shù)越少。
所以,實(shí)際檢驗(yàn)生產(chǎn)可根據(jù)產(chǎn)品檔次要求,合理控制一致性及檢驗(yàn)次數(shù),獲得最佳的一致性效果和檢出率。
針對(duì)目前某種扁平細(xì)長(zhǎng)帶鉤零件依靠人工檢測(cè)的現(xiàn)狀,設(shè)計(jì)了一種基于視覺的自動(dòng)化形狀檢驗(yàn)系統(tǒng),利用優(yōu)化的硬件以及軟件檢測(cè)算法,實(shí)現(xiàn)了高效、穩(wěn)定、高精度檢驗(yàn),系統(tǒng)具有以下優(yōu)點(diǎn):
(1)優(yōu)化的檢測(cè)算法可降低臟物顆粒及圖像噪聲造成的影響,提高檢測(cè)的可靠性,大幅提高檢出率。
(2)在70枚/min的檢測(cè)速度下,檢測(cè)效果達(dá)到預(yù)設(shè)要求,誤檢率為0,檢出率可通過遞進(jìn)檢測(cè)法大幅提高至93%~99%。檢測(cè)系統(tǒng)一致性效果可控,最低可達(dá)±(14+7) μm。
(3)該系統(tǒng)的應(yīng)用有效地解決了人工檢驗(yàn)速度慢、精準(zhǔn)度低等問題。