本發明屬于自動化檢測領域,涉及工業視覺技術領域,具體涉及一種快速穩定的亞像素級精度器件厚度檢測方法。
背景技術:
隨著我國制造業的飛速發展,對質量的重視日益重要。在各種產品的生產過程中,對各種元器件利用自動化設備進行質量檢測,就可以降低廢品率,降低對材料的損耗,這已經成為提高企業利潤和品牌影響力的強有力的手段。工業視覺技術是自動化檢測領域最常用的技術。
對元器件的厚度和尺寸進行測量,是工業視覺檢測的最常見的應用。在得到元器件的尺寸參數之后,就可以判斷器件是否合格,從而提前加以剔除,防止對后續制造環節造成影響。通過測量元器件的各種尺寸參數,然后與標準尺寸進行對比,就可以知道哪些元器件是不合格的,以及不合格的比例和詳細情形。
器件的厚度檢測,是自動化檢測中的最常見的步驟。目前的厚度檢測,都是通過在圖像中,對器件的亞像素邊界進行定位而實現的。但是,當前常見的亞像素邊界定位算法,復雜度過高,存在較高程度的冗余計算,導致自動檢測設備的效率降低,從而降低了產能,影響了企業的利潤。
技術實現要素:
本發明目的是提供一種快速穩定的亞像素級精度器件厚度檢測方法,針對亞像素邊界定位算法進行改進,從初定位、參數大致估計、快速搜索最佳參數三個方面,在保證了定位精度滿足要求的基礎上,進一步實現了算法速度的提升,從而提高亞像素邊界定位算法的應用潛力。
為了實現以上目的,本發明采用的技術方案為:一種快速穩定的亞像素級精度器件厚度檢測方法,包括以下步驟:
1)邊界初步定位:將圖像分成目標和空氣兩個區域,然后得到這兩個區域的分界線,作為初步的邊界定位結果;
2)亞像素精準定位:采用反正切曲線擬合的方法,采用粒子群優化算法進行求解,針對每一列的定位結果,再采用貝塞爾曲線進行擬合;
3)異常情況處理。
進一步的,邊界初步定位的初定位位置與最終的亞像素景區坐標的偏差在1個像素的距離之內。
再進一步的,所述的邊界初步定位包括以下步驟:
a)由粗到精的邊界初步定位
按照如下流程來得到分界面的初步定位坐標點:
1a)圖像縮小:將圖像先進行縮小,縮小到原有尺寸的四分之一;
2a)提取目標區域參考亮度值、空氣區域參考亮度值:預先計算圖像中,目標區域和空氣區域的亮度參考值,采用聚類方法,對所有像素,根據亮度值,分成兩個大類,然后計算每一類的亮度平均值,分別作為目標亮度和空氣區域亮度的參考值;
3a)二值化操作:在得到目標區域和空氣區域的參考亮度值之后,利用二者的均值,作為整幅圖像的二值化閾值,對所有像素進行二值化操作;
4a)提取最大連通區域:提取二值化操作結果中的最大連通區域;
5a)基于對稱性的初步邊界定位;利用邊界附近的像素亮度變化規律曲線的對稱性來得到初步判定;
6a)初定位時的異常處理;
b)承重界面的定位
1b)設定傾斜角度的范圍,對該角度進行遍歷,根據設定的角度值,對二值圖像進行水平投影,得到投影曲線;
2b)對各種角度下的投影曲線,進行分析,統計投影值從0增長到圖像寬度值n,所需要經歷的行數,選擇行數最少的情形對應的角度值作為承重界面的傾斜角;
3b)找到傾斜角對應的投影曲線,對其進行差分計算,計算上下兩行投影值的差,選擇差分值最大的一行,作為承重界面的位置;
4b)然后在差分曲線中,濾除承重界面對應的值,再搜索其中最大的差分值,作為器件頂部邊界的初定位位置;
c)器件左右邊界的定位:
1c)利用前面步驟得到的器件頂部邊界位置,以及承重界面的位置,得到二者的分界線;
2c)將所有邊界點中的坐標值位于分界線上方的點提取出來;
3c)根據被提取出來的點,找到最左側和最右側的;
4c)在左側點周邊20個像素范圍內,對二值圖進行垂直投影;
5c)對投影曲線進行差分,找到差分值最大的位置,作為器件的左邊界;
6c)在右側點周邊20個像素范圍內,對二值圖進行垂直投影,對投影曲線進行差分,找到差分值最大的位置,得到器件的右邊界;
d)器件頂部坐標圓角的定位
1d)利用前面步驟得到的承重面坐標、器件頂部坐標、器件左右邊界位置,將器件對應的子輪廓提取出來;
2d)針對器件子輪廓,計算其對應的凸包;
3d)利用該凸包,生成新的二值圖像,凸包區域填充為白色;
4d)凸包區域圖像與原來的器件圖像做差;
5d)差值圖中,定位到面積最大的四個連通區域;
6d)計算得到四個連通區域的位置,得到器件圓角位置。
進一步的,所述的亞像素精準定位通過對反正切曲線與邊界位置附近的列像素曲線進行擬合,反正切曲線的數學表達式為:y=p1*atan(p2*x+p3)+p4,得到當前列的亮度曲線的精確數學模型,然后,利用下式得到:x0=-p3/p2,計算得到每一列的亞像素坐標。
再進一步的,所述的亞像素精準定位包括以下步驟:
a)p1和p4兩個參數的直接估值:提前利用亮度曲線的形狀,將p1和p4兩個參數算出來,再計算出來的這兩個參數值作為p1和p4的初始值:
按照如下流程:
1a)從初始邊界位置的上方開始,逐漸將當前列的像素加入到集合中,如果集合中的像素亮度標準差小于5,則繼續增加新的像素,如果大于5,則停止增加新的像素,計算此時集合中的像素亮度的平均值,作為該上側的平均亮度;
2a)從初始邊界位置的下方開始,逐漸將當前列的像素加入到集合中,如果集合中的像素亮度標準差小于5,則繼續增加新的像素,如果大于5,則停止增加新的像素,計算此時集合中的像素亮度的平均值,得到該下側的平均亮度,該上側的平均亮度與該下側的平均亮度的差值為p1;
3a)p4的計算:將亮度曲線上所有的像素亮度值計算平均值,得到邊界曲線中心點位置的縱坐標;
b)基于粒子群算法的反正切曲線求解:
按照如下流程:
1b)設定一組粒子,總共20個,每個粒子包含4個參數,隨機設定初始值,代表反正切曲線的一個解;
2b)計算當前20個粒子所對應的曲線,與實際的亮度曲線的誤差,將誤差取反,作為適應度;
3b)找到當前最合適的曲線參數,然后調整各個粒子的方向和位置,繼續計算;
4b)重復2b)、3b)兩個步驟,直到最好的粒子的誤差小于閾值10為止;
5b)根據式x0=-p3/p2計算得到精確的亞像素邊界位置;
c)前一列結果的應用,得到p2和p3的初始值:
在完成指定一列曲線擬合之后,將該列的參數中的p2和p3的值,作為下一列的亮度曲線的參數,p1和p4依然通過計算進行估計;
d)噪聲干擾的解決:
通過判斷擬合過程中的誤差,來決定當前列的擬合結果是否正確,對于誤差較大的情形,該列不進行邊界的精準定位,是后期通過邊界平滑得到修補;
e)邊界平滑:
采用貝塞爾曲線擬合方法,完成邊界點坐標的擬合。
進一步的,所述的異常情況處理包括
a)沒有器件預警:通過分析玻璃分界面上的垂直坐標進行檢測,將分界面的坐標,擬合成一條直線,然后計算每一個點到直線的距離,如果所有點到直線的距離,都小于3個像素,則沒有器件,對于圖像中沒有器件存在的情形,需要進行預警;
b)多個器件預警:包括:
1b)多塊器件彼此分開:如果上升次數和下降次數都超過1次,預警;
2b)多塊器件發生交疊:在利用器件坐標上升和下降的規律,得到器件的左右邊界之后,考察左右邊界之間的器件的厚度分布,在左右邊界之間,如果某一個位置的厚度值,等于或者超過兩倍厚度的高度,則說明發生了多個器件的交疊,進行預警;
c)縫隙預警:
1c)器件區域的輪廓提取:在器件邊界的初步定位過程中,已經得到了器件的左右邊界的位置,根據這個位置,將器件對應的二值化子圖像截取出來,然后提取輪廓,后續步驟將在輪廓的基礎上,進行縫隙的檢測;
2c)器件頂部和左右兩側輪廓的濾除:利用初定位過程中得到的承重界面坐標,以及器件左右邊界坐標,得到器件的左下角和右下角坐標,然后根據這兩個坐標值,將器件的頂部輪廓、左側輪廓、右側輪廓都過濾掉,只留下縫隙區域的輪廓點;
3c)縫隙區域尺寸測量:經過前面1c)、2c)兩個步驟的處理,此時留存下來的直線段,是器件與玻璃平面之間的縫隙所對應的輪廓,分析此時的輪廓點,計算該區域的邊界,如果該區域的高度小于5個像素,而寬度大于20個像素,則是縫隙,需要預警;
d)灰塵干擾的過濾:
1d)對亞像素邊界坐標,進行局部直線擬合:采用邊增長,邊搜索的方式,試探性的將邊界點分成多個字跡合;
2d)將距離大于閾值的坐標點,挑選出來;在每一個子集中,將輪廓點到直線距離大于閾值的坐標點挑選出來;
3d)針對被挑選出來的坐標點,進行分段;分析子集中被挑選出來的坐標點,根據是否連接,分成多個子段;
4d)考察每一個子段的寬度,寬度小于閾值的,都算作是灰塵;
5d)重新計算坐標點:濾除灰塵對應的子段,將該子段上的坐標點,全部用對應的擬合的直線上的坐標點來替代;
e)拖尾現象的預警
1e)器件頂部邊界垂直坐標一致性的判斷:在器件的左右兩端,各自選擇一個長度為20的區域,然后在器件的中心位置,選擇一個長度是50的區域,分別計算這三個區域的器件的頂部輪廓點垂直坐標的平均值,如果左右兩端之中有一個區域,其平均坐標與中心區域平均坐標相比,差值大于5,則存在拖尾現象,預警;
2e)器件中心區域,與首尾兩端區域的亮度一致性分析:與1e)一樣,在器件的左右兩端,各自選擇一個長度為20的區域,然后在器件的中心位置,選擇一個長度是50的區域,分別計算這三個區域的平均亮度,如果左右兩端之中有一個區域,其亮度與中心區域平均亮度,差值大于20,則存在拖尾現象,預警。
本發明的技術效果在于:
1、速度快,本發明所提出的亞像素邊界定位方法,在算法的各個環節,都進行了最大限度的優化,將計算量降低了到了最低限度,能夠最大限度提高系統的整體運行速度;
2、精度高,與器件的實際厚度(使用游標卡尺多次測量),偏差在3微米以內;
3、能適應各種干擾情況,針對系統真實使用過程中,可能遇到的各種異常情況進行了處理,保證這些異常情況不會干擾正常檢測,在必要的情形下,還可以對異常情況進行預警。
附圖說明
圖1為本發明器件厚度檢測系統總流程圖;
圖2為本發明器件邊界初步定位流程圖;
圖3為本發明器件承重界面定位流程圖;
圖4為本發明器件左右邊界的定位流程圖;
圖5為本發明器件圓角位置計算流程圖;
圖6為本發明亞像素邊界定位流程圖;
圖7為本發明參數p1和p4的估計流程圖;
圖8為本發明基于pso算法的反正切曲線求解流程圖;
圖9為本發明器件厚度檢測過程中的異常情況處理流程圖;
圖10為本發明多個器件存在時的檢測流程圖;
圖11為本發明器件縫隙預警流程圖;
圖12為本發明灰塵過濾流程圖;
圖13為本發明拖尾現象預警流程圖。
具體實施方式
參照附圖,本發明處理的異常情況包括:視野中沒有器件,視野中有多個器件,器件發生交疊,器件與玻璃盤面之間存在縫隙,器件上的灰塵干擾,器件角度擺放不準造成的甩尾現象。針對亞像素邊界定位算法進行改進,從初定位、參數大致估計、快速搜索最佳參數三個方面,在保證了定位精度滿足要求的基礎上,進一步實現了算法速度的提升,從而提高亞像素邊界定位算法的應用潛力。
1、邊界的初步定位
將圖像分成目標和空氣兩個區域,然后得到這兩個區域的分界線,作為初步的邊界定位結果。這樣后續的亞像素級別的精確定位,在此基礎上展開,從而節約了大量的搜索時間。此外,初步定位階段,還將根據邊界點的坐標,得到器件所在的水平位置。
2、亞像素精準定位
本發明采用反正切曲線擬合的方法。來實現邊界點的亞像素級精度定位。為了提高曲線擬合的速度,采用粒子群優化算法進行求解。最終,針對每一列的定位結果,再采用貝塞爾曲線進行擬合,使最終的邊緣變的平滑。
3、異常情況處理
這個步驟,需要解決一些異常情況:視野中沒有器件,視野中有多個器件,器件發生交疊,器件與玻璃盤面之間存在縫隙,器件上的灰塵干擾,器件角度擺放不準造成的甩尾現象。
具體是,1.快速定位器件在圖像中的位置:由于每個坐標點位置,進行亞像素坐標的精確求解,所需要的計算量是很大的,因此必須在亞像素坐標求解之前,就得到邊界的初定位位置。初定位位置與最終的亞像素景區坐標的偏差在1個像素的距離之內。這樣可以在后續的反正切曲線擬合時,降低搜索的次數,盡快完成求解。
a)由粗到精的邊界初步定位
按照如下流程來得到分界面的初步定位坐標點:
1a)圖像縮小
為了提高粗定位的精度,將圖像先進行縮小,縮小到原有尺寸的四分之一。這樣算法可以處理盡量少的像素,同時又不會影響最終的精度。
2a)提取目標區域參考亮度值、空氣區域參考亮度值
在進行二值化操作之前,需要預先計算圖像中,目標區域和空氣區域的亮度參考值。采用聚類方法,對所有像素,根據亮度值,分成兩個大類。然后計算每一類的亮度平均值,分別作為目標亮度和空氣區域亮度的參考值。
3a)二值化操作
在得到目標區域和空氣區域的參考亮度值之后,利用二者的均值,作為整幅圖像的二值化閾值,對所有像素進行二值化操作。
4a)提取最大連通區域
為了盡量降低噪聲的干擾,需要提取二值化操作結果中的最大連通區域。因為器件與承重面是粘連的,它們共同組成目標區域,因此只需要找到最大面積的連通區域,就可以濾除各種噪聲的干擾。
5a)基于對稱性的初步邊界定位
二值化操作后,連通域的邊界,可能與真實的邊界位置有一定的偏差,這是因為二值化閾值,并不一定等于真實邊界位置的亮度值。為了得到足夠精準的初始邊界位置,降低后續搜索的復雜度,本發明利用邊界附近的像素亮度變化規律曲線的對稱性來得到初步判定估計。
具體做法如下:以二值化邊界作為中心點,設置一個長度為21的列向搜索窗口;然后對這21個像素進行逐一考察,每個像素上都采集長度為11的一列像素;然后,分析這11個像素的中心對稱性;選擇對稱性最好的位置,作為初定位邊界。
6a)初定位時的異常處理
實際拍攝的圖像中,會受到各種異常情況的干擾——器件與玻璃盤面之間因為器件圓角而出現的縫隙,或者是邊界周邊因為二值化而出現的噪聲。這些干擾情況都會使邊界的初步定位遇到挑戰。
采用如下辦法來實現干擾情況下的邊界定位:如果該列像素亮度變化正常(僅僅存在一處變化),則是正常情形,沒有干擾;如果該列像素亮度跳變多次,則屬于干擾情況。
b)承重界面的定位
承重界面是用來放置被檢測器件的平臺,一般能夠轉動,其表面可以認為是完全平滑的。為了得到器件的精準位置,需要從初定位邊界坐標中提前得到承重界面的坐標。為了提高穩定性,降低噪聲的干擾,本發明采用投影的方法,來實現承重界面的定位。同時,為了防止稱重接線可能存在的傾斜,還需要在一定范圍內對圖像進行旋轉,然后才能投影。
具體是:
1b)設定傾斜角度可能的范圍,對該角度進行遍歷。根據設定的角度值,對二值圖像進行水平投影,得到投影曲線;
2b)對各種角度下的投影曲線,進行分析,統計投影值從0增長到圖像寬度值n,所需要經歷的行數,選擇行數最少的情形對應的角度值作為承重界面的傾斜角;
3b)找到傾斜角對應的投影曲線,對其進行差分計算,計算上下兩行投影值的差,選擇差分值最大的一行,作為承重界面的位置;
4b)然后在差分曲線中,濾除承重界面對應的值,再搜索其中最大的差分值,作為器件頂部邊界的初定位位置。
c)器件左右邊界的定位
為了便于后續亞像素級別的精確定位,同樣需要確定器件的左右邊界。為了降低噪聲的干擾,利用垂直投影來確定邊界。具體步驟如下:
1c)利用前面步驟得到的器件頂部邊界位置,以及承重界面的位置,得到二者的分界線(二者垂直坐標平均值);
2c)將所有邊界點中的坐標值位于分界線上方的點提取出來;
3c)根據被提取出來的點,找到最左側和最右側的;
4c)在左側點周邊20個像素范圍內,對二值圖進行垂直投影;
5c)對投影曲線進行差分,找到差分值最大的位置,作為器件的左邊界;
6c)同樣的方法,得到器件的右邊界;
d)器件頂部坐標圓角的定位
由于有些器件的四角是圓角的,其邊界點的坐標值,比正常的頂部邊界點要低。如果不能對圓角位置進行精確定位,則會對后續的精準厚度測量造成影響。本發明采用如下方法定位圓角范圍:
1d)利用前面幾個步驟得到的承重面坐標、器件頂部坐標、器件左右邊界位置,將器件對應的子輪廓提取出來;
2d)針對器件子輪廓,計算其對應的凸包;
3d)利用該凸包,生成新的二值圖像,凸包區域填充為白色;
4d)凸包區域圖像與原來的器件圖像做差;
5d)差值圖中,定位到面積最大的四個連通區域;
6d)計算得到四個連通區域的位置,進而推算得到器件圓角位置。
2.亞像素邊界定位
在高清的工業相機拍攝的圖像中,器件的邊界,在亮度上會形成一種緩慢下降的階梯形狀。這種形狀與反正切曲線的形狀非常相似。出現這種形狀的原因,是工業相機在捕獲圖像時,由于數據采樣的精度以及鏡頭的清晰度等問題,導致器件空氣的邊界不能截然分開,從而發生了一定程度的模糊現象。通常這種帶有一定過渡效應的邊界,需要采用亞像素邊界定位技術,否則會影響器件尺寸的測量。
傳統的亞像素邊界定位技術,諸如灰度矩方法等,計算量都較大,影響了算法的實時性能。本發明通過對反正切曲線與邊界位置附近的列像素曲線進行擬合,來實現邊界的亞像素定位。反正切曲線的數學表達式如下:
y=p1*atan(p2*x+p3)+p4(1)
假定邊界位置附近的列方向圖像亮度曲線,也是符合反正切曲線的形狀的。因此只需用式(1),求解出當前列的亮度曲線的四個參數:p1,p2,p3,p4,即可得到當前列的亮度曲線的精確數學模型。然后,精準的亞像素邊界位置,就是反正切曲線的中心點位置,可以利用下式得到:
x0=-p3/p2(2)
根據式(2),很快就能計算得到每一列的亞像素坐標。
為了提高求解的速度,本發明不再利用諸如lm之類的迭代求解方法,而直接采用粒子群優化算法(pso)進行快速搜索,從而實現了求解過程的大規模提速。
亞像素定位過程流程如下:
a)p1和p4兩個參數的直接估值
反正切曲線總共有四個參數,為了降低搜索次數,可以提前利用亮度曲線的形狀,將p1和p4兩個參數算出來,這樣后續可以將計算出來的這兩個參數值作為p1和p4的初始值。
p1的計算——p1描述的物理量其實就是反正切曲線在垂直方向上的覆蓋范圍。因此該值的估算,可以通過計算邊界兩側的亮度平均值,然后做差得到。但是,在計算兩側亮度平均值時,需要將亮度過渡區域濾除掉,以免造成干擾。具體做法如下:
1a)從初始邊界位置的上方開始,逐漸陸續將當前列的像素加入到集合中。如果集合中的像素亮度標準差小于5,則可以繼續增加新的像素。如果大于5,則停止增加新的像素。計算此時集合中的像素亮度的平均值,作為該上側的平均亮度。
2a)同樣,從初始邊界位置的下方開始,也進行同樣的操作,得到下側的平均亮度。兩個亮度值的差值,就是p1。
3a)p4的計算——p4其實就是邊界曲線中心點位置的縱坐標。該值的計算比較簡單,只需要將亮度曲線上所有的像素亮度值計算平均值即可。
b)基于粒子群算法(pso)的反正切曲線求解
式(1)中的反正切曲線模型包含4個參數,無法使用解方程的方式得到精確地解,因此常規的方法是利用諸如梯度下降法等迭代方法,逐步逼近較好的結果。這些方法往往搜索次數較多,而且容易陷入局部最優。為了同時解決速度和局部最優的問題,本發明采用最優化搜索策略(pso算法),來進行反正切曲線模型的求解。
粒子群算法(pso)是一種經典的演化計算方法。該算法模擬了鳥類尋找食物的規律。一群鳥在某個區域搜索食物,它們具有各自的位置和速度。如果某一只鳥找到了食物,周邊的其它鳥則會參考它的方向,對自己的飛行方向進行調整。同時,每一只鳥也具有一定的記憶,它們會記住到目前為止,曾經食物最多的地方,其飛行的方向,也在一定程度上參考該位置。這樣,經過少數幾次迭代之后,鳥群的整體適應度,就可以達到一個較高的值,從而得到一個較好的解。
利用pso算法求解反正切曲線的參數的具體辦法如下:
1b)設定一組粒子,總共20個,每個粒子包含4個參數,隨機設定初始值,代表反正切曲線的一個解;
2b)計算當前20個粒子所對應的曲線,與實際的亮度曲線的誤差,將誤差取反,作為適應度;
3b)找到當前最合適的曲線參數,然后調整各個粒子的方向和位置,繼續計算;
4b)重復上述兩個步驟,直到最好的粒子的誤差小于閾值10為止;
5b)此時最好的粒子的4個參數,就是最終需要的反正切曲線的參數,根據式(2)計算得到精確的亞像素邊界位置。
c)前一列結果的應用,得到p2和p3的初始值
在完成指定某一列的曲線擬合之后,可以將該列的參數中的p2和p3的值,作為下一列的亮度曲線的參數。而p1和p4依然通過計算進行估計。這樣可以使得當前列在進行結果搜索時,一開始的初始值就是比較接近真實位置的,這樣可以進一步降低搜索量。
d)噪聲干擾問題的解決
噪聲的存在,會引起亮度曲線與常規的反正切曲線的形狀,相差極大。此時直接套用反正切曲線模型進行求解,最終的結果與沒有噪聲干擾的情形,相差也很大。本發明通過判斷擬合過程中的誤差,來決定當前列的擬合結果是否正確。對于誤差較大的情形,該列不進行邊界的精準定位,而是后期通過邊界平滑得到修補。
e)邊界平滑
對初步得到的邊界亞像素坐標值,相鄰列之間的坐標進行平滑操作,以降低噪聲干擾,或者是圖像采樣過程中的隨機偏差,引起的邊界抖動現象。如果不對邊界坐標進行平滑,則可能會對后續的灰塵濾除過程造成影響,導致很多真實的灰塵檢測不出來,從而影響測量結果。
本發明采用貝塞爾曲線擬合方法,來完成邊界點坐標的擬合。
3.異常情況處理
a)沒有器件預警
檢測視野中是否存在器件的策略比較簡單,但是要注意節約時間,提高算法效率。本發明采用如下方法,快速驗證視野中是否存在器件:
不存在器件時,圖像中玻璃分界面是一條直線。通過分析玻璃分界面上的垂直坐標即可進行檢測。將分界面的坐標,擬合成一條直線。然后計算每一個點到直線的距離。如果所有點到直線的距離,都足夠小,則沒有器件。
對于圖像中沒有器件存在的情形,需要進行預警,防止測量結果出現異常。
b)多個器件預警
由于系統機械部分可能存在的異常,導致圖像中可能同時出現多個器件。這種情況必須預警,防止測量結果出現異常。分兩種情況來處理:
1b)多塊器件彼此分開
考察邊界坐標的上升和下降的次數,如果上升次數和下降次數都超過1次,那么可以理解預警。
2b)多塊器件發生交疊
在利用器件坐標上升和下降的規律,得到器件的左右邊界之后,就需要考察左右邊界之間的器件的厚度分布。由于器件的厚度都是固定的,因此可以設置經驗值。在左右邊界之間,如果某一個位置的厚度值,接近或者超過兩倍厚度的高度,則說明發生了多個器件的交疊。此時,需要進行預警。
c)縫隙預警
玻璃盤上可能存在顆粒較大的灰塵,如果此時碰巧器件位于灰塵上,則器件與玻璃盤之間就會出現縫隙。由于工業檢測要求的精度在微米級,這種縫隙足以造成器件厚度檢測不準確。因此必須對這種情況進行預警。
采用如下方法來檢測縫隙的存在:
1c)器件區域的輪廓提取
在器件邊界的初步定位過程中,已經得到了器件的左右邊界的大致位置。根據這個位置,將器件對應的二值化子圖像截取出來,然后提取輪廓。后續步驟將在輪廓的基礎上,進行縫隙的檢測。
2c)器件頂部和左右兩側輪廓的濾除
利用初定位過程中得到的承重界面坐標,以及器件左右邊界坐標,可以大致得到器件的左下角和右下角坐標。然后根據這兩個坐標值,將器件的頂部輪廓、左側輪廓、右側輪廓都過濾掉,只留下可能的縫隙區域的輪廓點。
3c)縫隙區域尺寸測量
經過前面兩個步驟的處理,此時留存下來的直線段,就可以認為是器件與玻璃平面之間的縫隙所對應的輪廓。分析此時的輪廓點,計算該區域的邊界。如果該區域的高度小于5個像素,而寬度大于20個像素,則認為是縫隙。此時需要預警。
d)灰塵干擾的過濾
灰塵對亞像素邊界的定位,影響非常大,如果不能準確的過濾灰塵,則整個器件厚度檢測系統無法得到正確的測量結果。尤其是今天的中國,大氣污染嚴重,空氣中顆粒物比重很高,灰塵對工業檢測系統的干擾,非常普遍。
本發明按照如下的策略來進行灰塵過濾:
1d)對亞像素邊界坐標,進行局部直線擬合:采用邊增長,邊搜索的方式,試探性的將邊界點分成多個字跡合:
首先,選擇最坐標的輪廓點,加入集合。然后,陸續將右側新的鄰接點加入集合。每加入一個點,就擬合一次直線,然后計算集合中所有點到該直線的距離。如果平均距離大于閾值(1個像素),則停止增加點,該直線子段擬合完成。后續的輪廓點加入到新的集合中。
2d)將距離大于閾值的坐標點,挑選出來;
在每一個子集中,將輪廓點到直線距離大于閾值的坐標點挑選出來。
3d)針對被挑選出來的坐標點,進行分段;
分析子集中被挑選出來的坐標點,根據是否連接,分成多個子段。
4d)考察每一個子段的寬度,寬度小于閾值的,都算作是灰塵;
5d)重新計算坐標點,濾除灰塵對應的子段,將該子段上的坐標點,全部用對應的擬合的直線上的坐標點來替代。
e)拖尾現象的預警
器件在玻璃盤上的擺放位置,受到機械設備的影響,并不能保證每一次器件的方向都跟相機光軸方向垂直。當器件方向與相機光軸方向存在較大夾角時,由于攝像機的焦距比較小,遠離相機的器件末端,將不能正確聚焦,并且在器件圖像的末尾,出現一個亮度偏高的灰色區域。該區域直接導致器件的厚度測量出現問題,因此必須對這種情況加以檢測,并且進行預警。
采用如下的流程,來實現拖尾現象的預警:
1e)器件頂部邊界垂直坐標一致性的判斷
發生拖尾現象時,由于器件遠端在圖像中的垂直方向所占的像素較少,因此其頂部邊界坐標,比器件上其他頂部邊界坐標的垂直位置偏低。可以利用這個特性,對拖尾現象進行初步預警。具體做法如下:
在器件的左右兩端,各自選擇一個長度為20的區域。然后在器件的中心位置,選擇一個長度是50的區域,分別計算這三個區域的器件的頂部輪廓點垂直坐標的平均值。
如果左右兩端之中有一個區域,其平均坐標與中心區域平均坐標相比,差值大于5,則認為存在拖尾現象,預警。
2e)器件中心區域,與首尾兩端區域的亮度一致性分析
與上面一樣,在器件的左右兩端,各自選擇一個長度為20的區域。然后在器件的中心位置,選擇一個長度是50的區域,分別計算這三個區域的平均亮度。
如果左右兩端之中有一個區域,其亮度與中心區域平均亮度,差值大于20,則認為存在拖尾現象,預警。