午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種快速穩(wěn)定的亞像素級(jí)精度器件厚度檢測(cè)方法與流程

文檔序號(hào):11196671閱讀:376來(lái)源:國(guó)知局
一種快速穩(wěn)定的亞像素級(jí)精度器件厚度檢測(cè)方法與流程

本發(fā)明屬于自動(dòng)化檢測(cè)領(lǐng)域,涉及工業(yè)視覺(jué)技術(shù)領(lǐng)域,具體涉及一種快速穩(wěn)定的亞像素級(jí)精度器件厚度檢測(cè)方法。



背景技術(shù):

隨著我國(guó)制造業(yè)的飛速發(fā)展,對(duì)質(zhì)量的重視日益重要。在各種產(chǎn)品的生產(chǎn)過(guò)程中,對(duì)各種元器件利用自動(dòng)化設(shè)備進(jìn)行質(zhì)量檢測(cè),就可以降低廢品率,降低對(duì)材料的損耗,這已經(jīng)成為提高企業(yè)利潤(rùn)和品牌影響力的強(qiáng)有力的手段。工業(yè)視覺(jué)技術(shù)是自動(dòng)化檢測(cè)領(lǐng)域最常用的技術(shù)。

對(duì)元器件的厚度和尺寸進(jìn)行測(cè)量,是工業(yè)視覺(jué)檢測(cè)的最常見(jiàn)的應(yīng)用。在得到元器件的尺寸參數(shù)之后,就可以判斷器件是否合格,從而提前加以剔除,防止對(duì)后續(xù)制造環(huán)節(jié)造成影響。通過(guò)測(cè)量元器件的各種尺寸參數(shù),然后與標(biāo)準(zhǔn)尺寸進(jìn)行對(duì)比,就可以知道哪些元器件是不合格的,以及不合格的比例和詳細(xì)情形。

器件的厚度檢測(cè),是自動(dòng)化檢測(cè)中的最常見(jiàn)的步驟。目前的厚度檢測(cè),都是通過(guò)在圖像中,對(duì)器件的亞像素邊界進(jìn)行定位而實(shí)現(xiàn)的。但是,當(dāng)前常見(jiàn)的亞像素邊界定位算法,復(fù)雜度過(guò)高,存在較高程度的冗余計(jì)算,導(dǎo)致自動(dòng)檢測(cè)設(shè)備的效率降低,從而降低了產(chǎn)能,影響了企業(yè)的利潤(rùn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明目的是提供一種快速穩(wěn)定的亞像素級(jí)精度器件厚度檢測(cè)方法,針對(duì)亞像素邊界定位算法進(jìn)行改進(jìn),從初定位、參數(shù)大致估計(jì)、快速搜索最佳參數(shù)三個(gè)方面,在保證了定位精度滿(mǎn)足要求的基礎(chǔ)上,進(jìn)一步實(shí)現(xiàn)了算法速度的提升,從而提高亞像素邊界定位算法的應(yīng)用潛力。

為了實(shí)現(xiàn)以上目的,本發(fā)明采用的技術(shù)方案為:一種快速穩(wěn)定的亞像素級(jí)精度器件厚度檢測(cè)方法,包括以下步驟:

1)邊界初步定位:將圖像分成目標(biāo)和空氣兩個(gè)區(qū)域,然后得到這兩個(gè)區(qū)域的分界線(xiàn),作為初步的邊界定位結(jié)果;

2)亞像素精準(zhǔn)定位:采用反正切曲線(xiàn)擬合的方法,采用粒子群優(yōu)化算法進(jìn)行求解,針對(duì)每一列的定位結(jié)果,再采用貝塞爾曲線(xiàn)進(jìn)行擬合;

3)異常情況處理。

進(jìn)一步的,邊界初步定位的初定位位置與最終的亞像素景區(qū)坐標(biāo)的偏差在1個(gè)像素的距離之內(nèi)。

再進(jìn)一步的,所述的邊界初步定位包括以下步驟:

a)由粗到精的邊界初步定位

按照如下流程來(lái)得到分界面的初步定位坐標(biāo)點(diǎn):

1a)圖像縮?。簩D像先進(jìn)行縮小,縮小到原有尺寸的四分之一;

2a)提取目標(biāo)區(qū)域參考亮度值、空氣區(qū)域參考亮度值:預(yù)先計(jì)算圖像中,目標(biāo)區(qū)域和空氣區(qū)域的亮度參考值,采用聚類(lèi)方法,對(duì)所有像素,根據(jù)亮度值,分成兩個(gè)大類(lèi),然后計(jì)算每一類(lèi)的亮度平均值,分別作為目標(biāo)亮度和空氣區(qū)域亮度的參考值;

3a)二值化操作:在得到目標(biāo)區(qū)域和空氣區(qū)域的參考亮度值之后,利用二者的均值,作為整幅圖像的二值化閾值,對(duì)所有像素進(jìn)行二值化操作;

4a)提取最大連通區(qū)域:提取二值化操作結(jié)果中的最大連通區(qū)域;

5a)基于對(duì)稱(chēng)性的初步邊界定位;利用邊界附近的像素亮度變化規(guī)律曲線(xiàn)的對(duì)稱(chēng)性來(lái)得到初步判定;

6a)初定位時(shí)的異常處理;

b)承重界面的定位

1b)設(shè)定傾斜角度的范圍,對(duì)該角度進(jìn)行遍歷,根據(jù)設(shè)定的角度值,對(duì)二值圖像進(jìn)行水平投影,得到投影曲線(xiàn);

2b)對(duì)各種角度下的投影曲線(xiàn),進(jìn)行分析,統(tǒng)計(jì)投影值從0增長(zhǎng)到圖像寬度值n,所需要經(jīng)歷的行數(shù),選擇行數(shù)最少的情形對(duì)應(yīng)的角度值作為承重界面的傾斜角;

3b)找到傾斜角對(duì)應(yīng)的投影曲線(xiàn),對(duì)其進(jìn)行差分計(jì)算,計(jì)算上下兩行投影值的差,選擇差分值最大的一行,作為承重界面的位置;

4b)然后在差分曲線(xiàn)中,濾除承重界面對(duì)應(yīng)的值,再搜索其中最大的差分值,作為器件頂部邊界的初定位位置;

c)器件左右邊界的定位:

1c)利用前面步驟得到的器件頂部邊界位置,以及承重界面的位置,得到二者的分界線(xiàn);

2c)將所有邊界點(diǎn)中的坐標(biāo)值位于分界線(xiàn)上方的點(diǎn)提取出來(lái);

3c)根據(jù)被提取出來(lái)的點(diǎn),找到最左側(cè)和最右側(cè)的;

4c)在左側(cè)點(diǎn)周邊20個(gè)像素范圍內(nèi),對(duì)二值圖進(jìn)行垂直投影;

5c)對(duì)投影曲線(xiàn)進(jìn)行差分,找到差分值最大的位置,作為器件的左邊界;

6c)在右側(cè)點(diǎn)周邊20個(gè)像素范圍內(nèi),對(duì)二值圖進(jìn)行垂直投影,對(duì)投影曲線(xiàn)進(jìn)行差分,找到差分值最大的位置,得到器件的右邊界;

d)器件頂部坐標(biāo)圓角的定位

1d)利用前面步驟得到的承重面坐標(biāo)、器件頂部坐標(biāo)、器件左右邊界位置,將器件對(duì)應(yīng)的子輪廓提取出來(lái);

2d)針對(duì)器件子輪廓,計(jì)算其對(duì)應(yīng)的凸包;

3d)利用該凸包,生成新的二值圖像,凸包區(qū)域填充為白色;

4d)凸包區(qū)域圖像與原來(lái)的器件圖像做差;

5d)差值圖中,定位到面積最大的四個(gè)連通區(qū)域;

6d)計(jì)算得到四個(gè)連通區(qū)域的位置,得到器件圓角位置。

進(jìn)一步的,所述的亞像素精準(zhǔn)定位通過(guò)對(duì)反正切曲線(xiàn)與邊界位置附近的列像素曲線(xiàn)進(jìn)行擬合,反正切曲線(xiàn)的數(shù)學(xué)表達(dá)式為:y=p1*atan(p2*x+p3)+p4,得到當(dāng)前列的亮度曲線(xiàn)的精確數(shù)學(xué)模型,然后,利用下式得到:x0=-p3/p2,計(jì)算得到每一列的亞像素坐標(biāo)。

再進(jìn)一步的,所述的亞像素精準(zhǔn)定位包括以下步驟:

a)p1和p4兩個(gè)參數(shù)的直接估值:提前利用亮度曲線(xiàn)的形狀,將p1和p4兩個(gè)參數(shù)算出來(lái),再計(jì)算出來(lái)的這兩個(gè)參數(shù)值作為p1和p4的初始值:

按照如下流程:

1a)從初始邊界位置的上方開(kāi)始,逐漸將當(dāng)前列的像素加入到集合中,如果集合中的像素亮度標(biāo)準(zhǔn)差小于5,則繼續(xù)增加新的像素,如果大于5,則停止增加新的像素,計(jì)算此時(shí)集合中的像素亮度的平均值,作為該上側(cè)的平均亮度;

2a)從初始邊界位置的下方開(kāi)始,逐漸將當(dāng)前列的像素加入到集合中,如果集合中的像素亮度標(biāo)準(zhǔn)差小于5,則繼續(xù)增加新的像素,如果大于5,則停止增加新的像素,計(jì)算此時(shí)集合中的像素亮度的平均值,得到該下側(cè)的平均亮度,該上側(cè)的平均亮度與該下側(cè)的平均亮度的差值為p1;

3a)p4的計(jì)算:將亮度曲線(xiàn)上所有的像素亮度值計(jì)算平均值,得到邊界曲線(xiàn)中心點(diǎn)位置的縱坐標(biāo);

b)基于粒子群算法的反正切曲線(xiàn)求解:

按照如下流程:

1b)設(shè)定一組粒子,總共20個(gè),每個(gè)粒子包含4個(gè)參數(shù),隨機(jī)設(shè)定初始值,代表反正切曲線(xiàn)的一個(gè)解;

2b)計(jì)算當(dāng)前20個(gè)粒子所對(duì)應(yīng)的曲線(xiàn),與實(shí)際的亮度曲線(xiàn)的誤差,將誤差取反,作為適應(yīng)度;

3b)找到當(dāng)前最合適的曲線(xiàn)參數(shù),然后調(diào)整各個(gè)粒子的方向和位置,繼續(xù)計(jì)算;

4b)重復(fù)2b)、3b)兩個(gè)步驟,直到最好的粒子的誤差小于閾值10為止;

5b)根據(jù)式x0=-p3/p2計(jì)算得到精確的亞像素邊界位置;

c)前一列結(jié)果的應(yīng)用,得到p2和p3的初始值:

在完成指定一列曲線(xiàn)擬合之后,將該列的參數(shù)中的p2和p3的值,作為下一列的亮度曲線(xiàn)的參數(shù),p1和p4依然通過(guò)計(jì)算進(jìn)行估計(jì);

d)噪聲干擾的解決:

通過(guò)判斷擬合過(guò)程中的誤差,來(lái)決定當(dāng)前列的擬合結(jié)果是否正確,對(duì)于誤差較大的情形,該列不進(jìn)行邊界的精準(zhǔn)定位,是后期通過(guò)邊界平滑得到修補(bǔ);

e)邊界平滑:

采用貝塞爾曲線(xiàn)擬合方法,完成邊界點(diǎn)坐標(biāo)的擬合。

進(jìn)一步的,所述的異常情況處理包括

a)沒(méi)有器件預(yù)警:通過(guò)分析玻璃分界面上的垂直坐標(biāo)進(jìn)行檢測(cè),將分界面的坐標(biāo),擬合成一條直線(xiàn),然后計(jì)算每一個(gè)點(diǎn)到直線(xiàn)的距離,如果所有點(diǎn)到直線(xiàn)的距離,都小于3個(gè)像素,則沒(méi)有器件,對(duì)于圖像中沒(méi)有器件存在的情形,需要進(jìn)行預(yù)警;

b)多個(gè)器件預(yù)警:包括:

1b)多塊器件彼此分開(kāi):如果上升次數(shù)和下降次數(shù)都超過(guò)1次,預(yù)警;

2b)多塊器件發(fā)生交疊:在利用器件坐標(biāo)上升和下降的規(guī)律,得到器件的左右邊界之后,考察左右邊界之間的器件的厚度分布,在左右邊界之間,如果某一個(gè)位置的厚度值,等于或者超過(guò)兩倍厚度的高度,則說(shuō)明發(fā)生了多個(gè)器件的交疊,進(jìn)行預(yù)警;

c)縫隙預(yù)警:

1c)器件區(qū)域的輪廓提取:在器件邊界的初步定位過(guò)程中,已經(jīng)得到了器件的左右邊界的位置,根據(jù)這個(gè)位置,將器件對(duì)應(yīng)的二值化子圖像截取出來(lái),然后提取輪廓,后續(xù)步驟將在輪廓的基礎(chǔ)上,進(jìn)行縫隙的檢測(cè);

2c)器件頂部和左右兩側(cè)輪廓的濾除:利用初定位過(guò)程中得到的承重界面坐標(biāo),以及器件左右邊界坐標(biāo),得到器件的左下角和右下角坐標(biāo),然后根據(jù)這兩個(gè)坐標(biāo)值,將器件的頂部輪廓、左側(cè)輪廓、右側(cè)輪廓都過(guò)濾掉,只留下縫隙區(qū)域的輪廓點(diǎn);

3c)縫隙區(qū)域尺寸測(cè)量:經(jīng)過(guò)前面1c)、2c)兩個(gè)步驟的處理,此時(shí)留存下來(lái)的直線(xiàn)段,是器件與玻璃平面之間的縫隙所對(duì)應(yīng)的輪廓,分析此時(shí)的輪廓點(diǎn),計(jì)算該區(qū)域的邊界,如果該區(qū)域的高度小于5個(gè)像素,而寬度大于20個(gè)像素,則是縫隙,需要預(yù)警;

d)灰塵干擾的過(guò)濾:

1d)對(duì)亞像素邊界坐標(biāo),進(jìn)行局部直線(xiàn)擬合:采用邊增長(zhǎng),邊搜索的方式,試探性的將邊界點(diǎn)分成多個(gè)字跡合;

2d)將距離大于閾值的坐標(biāo)點(diǎn),挑選出來(lái);在每一個(gè)子集中,將輪廓點(diǎn)到直線(xiàn)距離大于閾值的坐標(biāo)點(diǎn)挑選出來(lái);

3d)針對(duì)被挑選出來(lái)的坐標(biāo)點(diǎn),進(jìn)行分段;分析子集中被挑選出來(lái)的坐標(biāo)點(diǎn),根據(jù)是否連接,分成多個(gè)子段;

4d)考察每一個(gè)子段的寬度,寬度小于閾值的,都算作是灰塵;

5d)重新計(jì)算坐標(biāo)點(diǎn):濾除灰塵對(duì)應(yīng)的子段,將該子段上的坐標(biāo)點(diǎn),全部用對(duì)應(yīng)的擬合的直線(xiàn)上的坐標(biāo)點(diǎn)來(lái)替代;

e)拖尾現(xiàn)象的預(yù)警

1e)器件頂部邊界垂直坐標(biāo)一致性的判斷:在器件的左右兩端,各自選擇一個(gè)長(zhǎng)度為20的區(qū)域,然后在器件的中心位置,選擇一個(gè)長(zhǎng)度是50的區(qū)域,分別計(jì)算這三個(gè)區(qū)域的器件的頂部輪廓點(diǎn)垂直坐標(biāo)的平均值,如果左右兩端之中有一個(gè)區(qū)域,其平均坐標(biāo)與中心區(qū)域平均坐標(biāo)相比,差值大于5,則存在拖尾現(xiàn)象,預(yù)警;

2e)器件中心區(qū)域,與首尾兩端區(qū)域的亮度一致性分析:與1e)一樣,在器件的左右兩端,各自選擇一個(gè)長(zhǎng)度為20的區(qū)域,然后在器件的中心位置,選擇一個(gè)長(zhǎng)度是50的區(qū)域,分別計(jì)算這三個(gè)區(qū)域的平均亮度,如果左右兩端之中有一個(gè)區(qū)域,其亮度與中心區(qū)域平均亮度,差值大于20,則存在拖尾現(xiàn)象,預(yù)警。

本發(fā)明的技術(shù)效果在于:

1、速度快,本發(fā)明所提出的亞像素邊界定位方法,在算法的各個(gè)環(huán)節(jié),都進(jìn)行了最大限度的優(yōu)化,將計(jì)算量降低了到了最低限度,能夠最大限度提高系統(tǒng)的整體運(yùn)行速度;

2、精度高,與器件的實(shí)際厚度(使用游標(biāo)卡尺多次測(cè)量),偏差在3微米以?xún)?nèi);

3、能適應(yīng)各種干擾情況,針對(duì)系統(tǒng)真實(shí)使用過(guò)程中,可能遇到的各種異常情況進(jìn)行了處理,保證這些異常情況不會(huì)干擾正常檢測(cè),在必要的情形下,還可以對(duì)異常情況進(jìn)行預(yù)警。

附圖說(shuō)明

圖1為本發(fā)明器件厚度檢測(cè)系統(tǒng)總流程圖;

圖2為本發(fā)明器件邊界初步定位流程圖;

圖3為本發(fā)明器件承重界面定位流程圖;

圖4為本發(fā)明器件左右邊界的定位流程圖;

圖5為本發(fā)明器件圓角位置計(jì)算流程圖;

圖6為本發(fā)明亞像素邊界定位流程圖;

圖7為本發(fā)明參數(shù)p1和p4的估計(jì)流程圖;

圖8為本發(fā)明基于pso算法的反正切曲線(xiàn)求解流程圖;

圖9為本發(fā)明器件厚度檢測(cè)過(guò)程中的異常情況處理流程圖;

圖10為本發(fā)明多個(gè)器件存在時(shí)的檢測(cè)流程圖;

圖11為本發(fā)明器件縫隙預(yù)警流程圖;

圖12為本發(fā)明灰塵過(guò)濾流程圖;

圖13為本發(fā)明拖尾現(xiàn)象預(yù)警流程圖。

具體實(shí)施方式

參照附圖,本發(fā)明處理的異常情況包括:視野中沒(méi)有器件,視野中有多個(gè)器件,器件發(fā)生交疊,器件與玻璃盤(pán)面之間存在縫隙,器件上的灰塵干擾,器件角度擺放不準(zhǔn)造成的甩尾現(xiàn)象。針對(duì)亞像素邊界定位算法進(jìn)行改進(jìn),從初定位、參數(shù)大致估計(jì)、快速搜索最佳參數(shù)三個(gè)方面,在保證了定位精度滿(mǎn)足要求的基礎(chǔ)上,進(jìn)一步實(shí)現(xiàn)了算法速度的提升,從而提高亞像素邊界定位算法的應(yīng)用潛力。

1、邊界的初步定位

將圖像分成目標(biāo)和空氣兩個(gè)區(qū)域,然后得到這兩個(gè)區(qū)域的分界線(xiàn),作為初步的邊界定位結(jié)果。這樣后續(xù)的亞像素級(jí)別的精確定位,在此基礎(chǔ)上展開(kāi),從而節(jié)約了大量的搜索時(shí)間。此外,初步定位階段,還將根據(jù)邊界點(diǎn)的坐標(biāo),得到器件所在的水平位置。

2、亞像素精準(zhǔn)定位

本發(fā)明采用反正切曲線(xiàn)擬合的方法。來(lái)實(shí)現(xiàn)邊界點(diǎn)的亞像素級(jí)精度定位。為了提高曲線(xiàn)擬合的速度,采用粒子群優(yōu)化算法進(jìn)行求解。最終,針對(duì)每一列的定位結(jié)果,再采用貝塞爾曲線(xiàn)進(jìn)行擬合,使最終的邊緣變的平滑。

3、異常情況處理

這個(gè)步驟,需要解決一些異常情況:視野中沒(méi)有器件,視野中有多個(gè)器件,器件發(fā)生交疊,器件與玻璃盤(pán)面之間存在縫隙,器件上的灰塵干擾,器件角度擺放不準(zhǔn)造成的甩尾現(xiàn)象。

具體是,1.快速定位器件在圖像中的位置:由于每個(gè)坐標(biāo)點(diǎn)位置,進(jìn)行亞像素坐標(biāo)的精確求解,所需要的計(jì)算量是很大的,因此必須在亞像素坐標(biāo)求解之前,就得到邊界的初定位位置。初定位位置與最終的亞像素景區(qū)坐標(biāo)的偏差在1個(gè)像素的距離之內(nèi)。這樣可以在后續(xù)的反正切曲線(xiàn)擬合時(shí),降低搜索的次數(shù),盡快完成求解。

a)由粗到精的邊界初步定位

按照如下流程來(lái)得到分界面的初步定位坐標(biāo)點(diǎn):

1a)圖像縮小

為了提高粗定位的精度,將圖像先進(jìn)行縮小,縮小到原有尺寸的四分之一。這樣算法可以處理盡量少的像素,同時(shí)又不會(huì)影響最終的精度。

2a)提取目標(biāo)區(qū)域參考亮度值、空氣區(qū)域參考亮度值

在進(jìn)行二值化操作之前,需要預(yù)先計(jì)算圖像中,目標(biāo)區(qū)域和空氣區(qū)域的亮度參考值。采用聚類(lèi)方法,對(duì)所有像素,根據(jù)亮度值,分成兩個(gè)大類(lèi)。然后計(jì)算每一類(lèi)的亮度平均值,分別作為目標(biāo)亮度和空氣區(qū)域亮度的參考值。

3a)二值化操作

在得到目標(biāo)區(qū)域和空氣區(qū)域的參考亮度值之后,利用二者的均值,作為整幅圖像的二值化閾值,對(duì)所有像素進(jìn)行二值化操作。

4a)提取最大連通區(qū)域

為了盡量降低噪聲的干擾,需要提取二值化操作結(jié)果中的最大連通區(qū)域。因?yàn)槠骷c承重面是粘連的,它們共同組成目標(biāo)區(qū)域,因此只需要找到最大面積的連通區(qū)域,就可以濾除各種噪聲的干擾。

5a)基于對(duì)稱(chēng)性的初步邊界定位

二值化操作后,連通域的邊界,可能與真實(shí)的邊界位置有一定的偏差,這是因?yàn)槎祷撝?,并不一定等于真?shí)邊界位置的亮度值。為了得到足夠精準(zhǔn)的初始邊界位置,降低后續(xù)搜索的復(fù)雜度,本發(fā)明利用邊界附近的像素亮度變化規(guī)律曲線(xiàn)的對(duì)稱(chēng)性來(lái)得到初步判定估計(jì)。

具體做法如下:以二值化邊界作為中心點(diǎn),設(shè)置一個(gè)長(zhǎng)度為21的列向搜索窗口;然后對(duì)這21個(gè)像素進(jìn)行逐一考察,每個(gè)像素上都采集長(zhǎng)度為11的一列像素;然后,分析這11個(gè)像素的中心對(duì)稱(chēng)性;選擇對(duì)稱(chēng)性最好的位置,作為初定位邊界。

6a)初定位時(shí)的異常處理

實(shí)際拍攝的圖像中,會(huì)受到各種異常情況的干擾——器件與玻璃盤(pán)面之間因?yàn)槠骷A角而出現(xiàn)的縫隙,或者是邊界周邊因?yàn)槎祷霈F(xiàn)的噪聲。這些干擾情況都會(huì)使邊界的初步定位遇到挑戰(zhàn)。

采用如下辦法來(lái)實(shí)現(xiàn)干擾情況下的邊界定位:如果該列像素亮度變化正常(僅僅存在一處變化),則是正常情形,沒(méi)有干擾;如果該列像素亮度跳變多次,則屬于干擾情況。

b)承重界面的定位

承重界面是用來(lái)放置被檢測(cè)器件的平臺(tái),一般能夠轉(zhuǎn)動(dòng),其表面可以認(rèn)為是完全平滑的。為了得到器件的精準(zhǔn)位置,需要從初定位邊界坐標(biāo)中提前得到承重界面的坐標(biāo)。為了提高穩(wěn)定性,降低噪聲的干擾,本發(fā)明采用投影的方法,來(lái)實(shí)現(xiàn)承重界面的定位。同時(shí),為了防止稱(chēng)重接線(xiàn)可能存在的傾斜,還需要在一定范圍內(nèi)對(duì)圖像進(jìn)行旋轉(zhuǎn),然后才能投影。

具體是:

1b)設(shè)定傾斜角度可能的范圍,對(duì)該角度進(jìn)行遍歷。根據(jù)設(shè)定的角度值,對(duì)二值圖像進(jìn)行水平投影,得到投影曲線(xiàn);

2b)對(duì)各種角度下的投影曲線(xiàn),進(jìn)行分析,統(tǒng)計(jì)投影值從0增長(zhǎng)到圖像寬度值n,所需要經(jīng)歷的行數(shù),選擇行數(shù)最少的情形對(duì)應(yīng)的角度值作為承重界面的傾斜角;

3b)找到傾斜角對(duì)應(yīng)的投影曲線(xiàn),對(duì)其進(jìn)行差分計(jì)算,計(jì)算上下兩行投影值的差,選擇差分值最大的一行,作為承重界面的位置;

4b)然后在差分曲線(xiàn)中,濾除承重界面對(duì)應(yīng)的值,再搜索其中最大的差分值,作為器件頂部邊界的初定位位置。

c)器件左右邊界的定位

為了便于后續(xù)亞像素級(jí)別的精確定位,同樣需要確定器件的左右邊界。為了降低噪聲的干擾,利用垂直投影來(lái)確定邊界。具體步驟如下:

1c)利用前面步驟得到的器件頂部邊界位置,以及承重界面的位置,得到二者的分界線(xiàn)(二者垂直坐標(biāo)平均值);

2c)將所有邊界點(diǎn)中的坐標(biāo)值位于分界線(xiàn)上方的點(diǎn)提取出來(lái);

3c)根據(jù)被提取出來(lái)的點(diǎn),找到最左側(cè)和最右側(cè)的;

4c)在左側(cè)點(diǎn)周邊20個(gè)像素范圍內(nèi),對(duì)二值圖進(jìn)行垂直投影;

5c)對(duì)投影曲線(xiàn)進(jìn)行差分,找到差分值最大的位置,作為器件的左邊界;

6c)同樣的方法,得到器件的右邊界;

d)器件頂部坐標(biāo)圓角的定位

由于有些器件的四角是圓角的,其邊界點(diǎn)的坐標(biāo)值,比正常的頂部邊界點(diǎn)要低。如果不能對(duì)圓角位置進(jìn)行精確定位,則會(huì)對(duì)后續(xù)的精準(zhǔn)厚度測(cè)量造成影響。本發(fā)明采用如下方法定位圓角范圍:

1d)利用前面幾個(gè)步驟得到的承重面坐標(biāo)、器件頂部坐標(biāo)、器件左右邊界位置,將器件對(duì)應(yīng)的子輪廓提取出來(lái);

2d)針對(duì)器件子輪廓,計(jì)算其對(duì)應(yīng)的凸包;

3d)利用該凸包,生成新的二值圖像,凸包區(qū)域填充為白色;

4d)凸包區(qū)域圖像與原來(lái)的器件圖像做差;

5d)差值圖中,定位到面積最大的四個(gè)連通區(qū)域;

6d)計(jì)算得到四個(gè)連通區(qū)域的位置,進(jìn)而推算得到器件圓角位置。

2.亞像素邊界定位

在高清的工業(yè)相機(jī)拍攝的圖像中,器件的邊界,在亮度上會(huì)形成一種緩慢下降的階梯形狀。這種形狀與反正切曲線(xiàn)的形狀非常相似。出現(xiàn)這種形狀的原因,是工業(yè)相機(jī)在捕獲圖像時(shí),由于數(shù)據(jù)采樣的精度以及鏡頭的清晰度等問(wèn)題,導(dǎo)致器件空氣的邊界不能截然分開(kāi),從而發(fā)生了一定程度的模糊現(xiàn)象。通常這種帶有一定過(guò)渡效應(yīng)的邊界,需要采用亞像素邊界定位技術(shù),否則會(huì)影響器件尺寸的測(cè)量。

傳統(tǒng)的亞像素邊界定位技術(shù),諸如灰度矩方法等,計(jì)算量都較大,影響了算法的實(shí)時(shí)性能。本發(fā)明通過(guò)對(duì)反正切曲線(xiàn)與邊界位置附近的列像素曲線(xiàn)進(jìn)行擬合,來(lái)實(shí)現(xiàn)邊界的亞像素定位。反正切曲線(xiàn)的數(shù)學(xué)表達(dá)式如下:

y=p1*atan(p2*x+p3)+p4(1)

假定邊界位置附近的列方向圖像亮度曲線(xiàn),也是符合反正切曲線(xiàn)的形狀的。因此只需用式(1),求解出當(dāng)前列的亮度曲線(xiàn)的四個(gè)參數(shù):p1,p2,p3,p4,即可得到當(dāng)前列的亮度曲線(xiàn)的精確數(shù)學(xué)模型。然后,精準(zhǔn)的亞像素邊界位置,就是反正切曲線(xiàn)的中心點(diǎn)位置,可以利用下式得到:

x0=-p3/p2(2)

根據(jù)式(2),很快就能計(jì)算得到每一列的亞像素坐標(biāo)。

為了提高求解的速度,本發(fā)明不再利用諸如lm之類(lèi)的迭代求解方法,而直接采用粒子群優(yōu)化算法(pso)進(jìn)行快速搜索,從而實(shí)現(xiàn)了求解過(guò)程的大規(guī)模提速。

亞像素定位過(guò)程流程如下:

a)p1和p4兩個(gè)參數(shù)的直接估值

反正切曲線(xiàn)總共有四個(gè)參數(shù),為了降低搜索次數(shù),可以提前利用亮度曲線(xiàn)的形狀,將p1和p4兩個(gè)參數(shù)算出來(lái),這樣后續(xù)可以將計(jì)算出來(lái)的這兩個(gè)參數(shù)值作為p1和p4的初始值。

p1的計(jì)算——p1描述的物理量其實(shí)就是反正切曲線(xiàn)在垂直方向上的覆蓋范圍。因此該值的估算,可以通過(guò)計(jì)算邊界兩側(cè)的亮度平均值,然后做差得到。但是,在計(jì)算兩側(cè)亮度平均值時(shí),需要將亮度過(guò)渡區(qū)域?yàn)V除掉,以免造成干擾。具體做法如下:

1a)從初始邊界位置的上方開(kāi)始,逐漸陸續(xù)將當(dāng)前列的像素加入到集合中。如果集合中的像素亮度標(biāo)準(zhǔn)差小于5,則可以繼續(xù)增加新的像素。如果大于5,則停止增加新的像素。計(jì)算此時(shí)集合中的像素亮度的平均值,作為該上側(cè)的平均亮度。

2a)同樣,從初始邊界位置的下方開(kāi)始,也進(jìn)行同樣的操作,得到下側(cè)的平均亮度。兩個(gè)亮度值的差值,就是p1。

3a)p4的計(jì)算——p4其實(shí)就是邊界曲線(xiàn)中心點(diǎn)位置的縱坐標(biāo)。該值的計(jì)算比較簡(jiǎn)單,只需要將亮度曲線(xiàn)上所有的像素亮度值計(jì)算平均值即可。

b)基于粒子群算法(pso)的反正切曲線(xiàn)求解

式(1)中的反正切曲線(xiàn)模型包含4個(gè)參數(shù),無(wú)法使用解方程的方式得到精確地解,因此常規(guī)的方法是利用諸如梯度下降法等迭代方法,逐步逼近較好的結(jié)果。這些方法往往搜索次數(shù)較多,而且容易陷入局部最優(yōu)。為了同時(shí)解決速度和局部最優(yōu)的問(wèn)題,本發(fā)明采用最優(yōu)化搜索策略(pso算法),來(lái)進(jìn)行反正切曲線(xiàn)模型的求解。

粒子群算法(pso)是一種經(jīng)典的演化計(jì)算方法。該算法模擬了鳥(niǎo)類(lèi)尋找食物的規(guī)律。一群鳥(niǎo)在某個(gè)區(qū)域搜索食物,它們具有各自的位置和速度。如果某一只鳥(niǎo)找到了食物,周邊的其它鳥(niǎo)則會(huì)參考它的方向,對(duì)自己的飛行方向進(jìn)行調(diào)整。同時(shí),每一只鳥(niǎo)也具有一定的記憶,它們會(huì)記住到目前為止,曾經(jīng)食物最多的地方,其飛行的方向,也在一定程度上參考該位置。這樣,經(jīng)過(guò)少數(shù)幾次迭代之后,鳥(niǎo)群的整體適應(yīng)度,就可以達(dá)到一個(gè)較高的值,從而得到一個(gè)較好的解。

利用pso算法求解反正切曲線(xiàn)的參數(shù)的具體辦法如下:

1b)設(shè)定一組粒子,總共20個(gè),每個(gè)粒子包含4個(gè)參數(shù),隨機(jī)設(shè)定初始值,代表反正切曲線(xiàn)的一個(gè)解;

2b)計(jì)算當(dāng)前20個(gè)粒子所對(duì)應(yīng)的曲線(xiàn),與實(shí)際的亮度曲線(xiàn)的誤差,將誤差取反,作為適應(yīng)度;

3b)找到當(dāng)前最合適的曲線(xiàn)參數(shù),然后調(diào)整各個(gè)粒子的方向和位置,繼續(xù)計(jì)算;

4b)重復(fù)上述兩個(gè)步驟,直到最好的粒子的誤差小于閾值10為止;

5b)此時(shí)最好的粒子的4個(gè)參數(shù),就是最終需要的反正切曲線(xiàn)的參數(shù),根據(jù)式(2)計(jì)算得到精確的亞像素邊界位置。

c)前一列結(jié)果的應(yīng)用,得到p2和p3的初始值

在完成指定某一列的曲線(xiàn)擬合之后,可以將該列的參數(shù)中的p2和p3的值,作為下一列的亮度曲線(xiàn)的參數(shù)。而p1和p4依然通過(guò)計(jì)算進(jìn)行估計(jì)。這樣可以使得當(dāng)前列在進(jìn)行結(jié)果搜索時(shí),一開(kāi)始的初始值就是比較接近真實(shí)位置的,這樣可以進(jìn)一步降低搜索量。

d)噪聲干擾問(wèn)題的解決

噪聲的存在,會(huì)引起亮度曲線(xiàn)與常規(guī)的反正切曲線(xiàn)的形狀,相差極大。此時(shí)直接套用反正切曲線(xiàn)模型進(jìn)行求解,最終的結(jié)果與沒(méi)有噪聲干擾的情形,相差也很大。本發(fā)明通過(guò)判斷擬合過(guò)程中的誤差,來(lái)決定當(dāng)前列的擬合結(jié)果是否正確。對(duì)于誤差較大的情形,該列不進(jìn)行邊界的精準(zhǔn)定位,而是后期通過(guò)邊界平滑得到修補(bǔ)。

e)邊界平滑

對(duì)初步得到的邊界亞像素坐標(biāo)值,相鄰列之間的坐標(biāo)進(jìn)行平滑操作,以降低噪聲干擾,或者是圖像采樣過(guò)程中的隨機(jī)偏差,引起的邊界抖動(dòng)現(xiàn)象。如果不對(duì)邊界坐標(biāo)進(jìn)行平滑,則可能會(huì)對(duì)后續(xù)的灰塵濾除過(guò)程造成影響,導(dǎo)致很多真實(shí)的灰塵檢測(cè)不出來(lái),從而影響測(cè)量結(jié)果。

本發(fā)明采用貝塞爾曲線(xiàn)擬合方法,來(lái)完成邊界點(diǎn)坐標(biāo)的擬合。

3.異常情況處理

a)沒(méi)有器件預(yù)警

檢測(cè)視野中是否存在器件的策略比較簡(jiǎn)單,但是要注意節(jié)約時(shí)間,提高算法效率。本發(fā)明采用如下方法,快速驗(yàn)證視野中是否存在器件:

不存在器件時(shí),圖像中玻璃分界面是一條直線(xiàn)。通過(guò)分析玻璃分界面上的垂直坐標(biāo)即可進(jìn)行檢測(cè)。將分界面的坐標(biāo),擬合成一條直線(xiàn)。然后計(jì)算每一個(gè)點(diǎn)到直線(xiàn)的距離。如果所有點(diǎn)到直線(xiàn)的距離,都足夠小,則沒(méi)有器件。

對(duì)于圖像中沒(méi)有器件存在的情形,需要進(jìn)行預(yù)警,防止測(cè)量結(jié)果出現(xiàn)異常。

b)多個(gè)器件預(yù)警

由于系統(tǒng)機(jī)械部分可能存在的異常,導(dǎo)致圖像中可能同時(shí)出現(xiàn)多個(gè)器件。這種情況必須預(yù)警,防止測(cè)量結(jié)果出現(xiàn)異常。分兩種情況來(lái)處理:

1b)多塊器件彼此分開(kāi)

考察邊界坐標(biāo)的上升和下降的次數(shù),如果上升次數(shù)和下降次數(shù)都超過(guò)1次,那么可以理解預(yù)警。

2b)多塊器件發(fā)生交疊

在利用器件坐標(biāo)上升和下降的規(guī)律,得到器件的左右邊界之后,就需要考察左右邊界之間的器件的厚度分布。由于器件的厚度都是固定的,因此可以設(shè)置經(jīng)驗(yàn)值。在左右邊界之間,如果某一個(gè)位置的厚度值,接近或者超過(guò)兩倍厚度的高度,則說(shuō)明發(fā)生了多個(gè)器件的交疊。此時(shí),需要進(jìn)行預(yù)警。

c)縫隙預(yù)警

玻璃盤(pán)上可能存在顆粒較大的灰塵,如果此時(shí)碰巧器件位于灰塵上,則器件與玻璃盤(pán)之間就會(huì)出現(xiàn)縫隙。由于工業(yè)檢測(cè)要求的精度在微米級(jí),這種縫隙足以造成器件厚度檢測(cè)不準(zhǔn)確。因此必須對(duì)這種情況進(jìn)行預(yù)警。

采用如下方法來(lái)檢測(cè)縫隙的存在:

1c)器件區(qū)域的輪廓提取

在器件邊界的初步定位過(guò)程中,已經(jīng)得到了器件的左右邊界的大致位置。根據(jù)這個(gè)位置,將器件對(duì)應(yīng)的二值化子圖像截取出來(lái),然后提取輪廓。后續(xù)步驟將在輪廓的基礎(chǔ)上,進(jìn)行縫隙的檢測(cè)。

2c)器件頂部和左右兩側(cè)輪廓的濾除

利用初定位過(guò)程中得到的承重界面坐標(biāo),以及器件左右邊界坐標(biāo),可以大致得到器件的左下角和右下角坐標(biāo)。然后根據(jù)這兩個(gè)坐標(biāo)值,將器件的頂部輪廓、左側(cè)輪廓、右側(cè)輪廓都過(guò)濾掉,只留下可能的縫隙區(qū)域的輪廓點(diǎn)。

3c)縫隙區(qū)域尺寸測(cè)量

經(jīng)過(guò)前面兩個(gè)步驟的處理,此時(shí)留存下來(lái)的直線(xiàn)段,就可以認(rèn)為是器件與玻璃平面之間的縫隙所對(duì)應(yīng)的輪廓。分析此時(shí)的輪廓點(diǎn),計(jì)算該區(qū)域的邊界。如果該區(qū)域的高度小于5個(gè)像素,而寬度大于20個(gè)像素,則認(rèn)為是縫隙。此時(shí)需要預(yù)警。

d)灰塵干擾的過(guò)濾

灰塵對(duì)亞像素邊界的定位,影響非常大,如果不能準(zhǔn)確的過(guò)濾灰塵,則整個(gè)器件厚度檢測(cè)系統(tǒng)無(wú)法得到正確的測(cè)量結(jié)果。尤其是今天的中國(guó),大氣污染嚴(yán)重,空氣中顆粒物比重很高,灰塵對(duì)工業(yè)檢測(cè)系統(tǒng)的干擾,非常普遍。

本發(fā)明按照如下的策略來(lái)進(jìn)行灰塵過(guò)濾:

1d)對(duì)亞像素邊界坐標(biāo),進(jìn)行局部直線(xiàn)擬合:采用邊增長(zhǎng),邊搜索的方式,試探性的將邊界點(diǎn)分成多個(gè)字跡合:

首先,選擇最坐標(biāo)的輪廓點(diǎn),加入集合。然后,陸續(xù)將右側(cè)新的鄰接點(diǎn)加入集合。每加入一個(gè)點(diǎn),就擬合一次直線(xiàn),然后計(jì)算集合中所有點(diǎn)到該直線(xiàn)的距離。如果平均距離大于閾值(1個(gè)像素),則停止增加點(diǎn),該直線(xiàn)子段擬合完成。后續(xù)的輪廓點(diǎn)加入到新的集合中。

2d)將距離大于閾值的坐標(biāo)點(diǎn),挑選出來(lái);

在每一個(gè)子集中,將輪廓點(diǎn)到直線(xiàn)距離大于閾值的坐標(biāo)點(diǎn)挑選出來(lái)。

3d)針對(duì)被挑選出來(lái)的坐標(biāo)點(diǎn),進(jìn)行分段;

分析子集中被挑選出來(lái)的坐標(biāo)點(diǎn),根據(jù)是否連接,分成多個(gè)子段。

4d)考察每一個(gè)子段的寬度,寬度小于閾值的,都算作是灰塵;

5d)重新計(jì)算坐標(biāo)點(diǎn),濾除灰塵對(duì)應(yīng)的子段,將該子段上的坐標(biāo)點(diǎn),全部用對(duì)應(yīng)的擬合的直線(xiàn)上的坐標(biāo)點(diǎn)來(lái)替代。

e)拖尾現(xiàn)象的預(yù)警

器件在玻璃盤(pán)上的擺放位置,受到機(jī)械設(shè)備的影響,并不能保證每一次器件的方向都跟相機(jī)光軸方向垂直。當(dāng)器件方向與相機(jī)光軸方向存在較大夾角時(shí),由于攝像機(jī)的焦距比較小,遠(yuǎn)離相機(jī)的器件末端,將不能正確聚焦,并且在器件圖像的末尾,出現(xiàn)一個(gè)亮度偏高的灰色區(qū)域。該區(qū)域直接導(dǎo)致器件的厚度測(cè)量出現(xiàn)問(wèn)題,因此必須對(duì)這種情況加以檢測(cè),并且進(jìn)行預(yù)警。

采用如下的流程,來(lái)實(shí)現(xiàn)拖尾現(xiàn)象的預(yù)警:

1e)器件頂部邊界垂直坐標(biāo)一致性的判斷

發(fā)生拖尾現(xiàn)象時(shí),由于器件遠(yuǎn)端在圖像中的垂直方向所占的像素較少,因此其頂部邊界坐標(biāo),比器件上其他頂部邊界坐標(biāo)的垂直位置偏低。可以利用這個(gè)特性,對(duì)拖尾現(xiàn)象進(jìn)行初步預(yù)警。具體做法如下:

在器件的左右兩端,各自選擇一個(gè)長(zhǎng)度為20的區(qū)域。然后在器件的中心位置,選擇一個(gè)長(zhǎng)度是50的區(qū)域,分別計(jì)算這三個(gè)區(qū)域的器件的頂部輪廓點(diǎn)垂直坐標(biāo)的平均值。

如果左右兩端之中有一個(gè)區(qū)域,其平均坐標(biāo)與中心區(qū)域平均坐標(biāo)相比,差值大于5,則認(rèn)為存在拖尾現(xiàn)象,預(yù)警。

2e)器件中心區(qū)域,與首尾兩端區(qū)域的亮度一致性分析

與上面一樣,在器件的左右兩端,各自選擇一個(gè)長(zhǎng)度為20的區(qū)域。然后在器件的中心位置,選擇一個(gè)長(zhǎng)度是50的區(qū)域,分別計(jì)算這三個(gè)區(qū)域的平均亮度。

如果左右兩端之中有一個(gè)區(qū)域,其亮度與中心區(qū)域平均亮度,差值大于20,則認(rèn)為存在拖尾現(xiàn)象,預(yù)警。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1