專利名稱:機(jī)器視覺系統(tǒng)中的圖像處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存在線性照射的機(jī)器視覺系統(tǒng)中的圖像處理。其示例是用于利用三角測(cè)量測(cè)量3D參數(shù)的系統(tǒng)。
背景技術(shù):
目前,已知可以利用CMOS或CCD照相機(jī)來捕捉圖像并利用諸如FPGA之類的板上處理器對(duì)圖像進(jìn)行處理。盡管這種配置是非常快速的,但是一般存在若干問題,如·在被處理的線的圖像中包括無關(guān)的反射或其他噪聲,·平均線位置偏離,·包括外緣(outlier),·處理來自于鏡面反射的噪聲,以及·不能區(qū)分彼此平行并且彼此鄰近的尖銳線。
為了例示,圖5a示出了分割線,圖5b示出了浮散(blooming),并且圖5c示出了散射光的示例。這些效應(yīng)對(duì)檢查結(jié)果有負(fù)面的影響。
本發(fā)明解決了這些問題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了一種用于捕捉照相機(jī)傳感器信號(hào)并識(shí)別目標(biāo)上的照射圖案的圖像處理器,其中所述處理器下述多條線中識(shí)別最可能的照射線,其中所述多條線包括來自與中心照射線相鄰的表面的光譜反射。
在一個(gè)實(shí)施例中,所述處理器將最寬的像素線識(shí)別為最可能的像素線。
在另一個(gè)實(shí)施例中,所述處理器對(duì)線寬度施加上限和下限。
在另一個(gè)實(shí)施例中,所述限度是可配置的。
在一個(gè)實(shí)施例中,所述上限被設(shè)置來消除浮散。
在另一個(gè)實(shí)施例中,所述處理器確定被暗像素分離的平行線之間的間隙,并且在兩者之間的距離低于閾值時(shí)將兩條平行線處理為單條線。
在另一個(gè)實(shí)施例中,所述閾值是兩個(gè)暗像素。
在一個(gè)實(shí)施例中,所述處理器比較像素值與閾值以識(shí)別線。
在另一個(gè)實(shí)施例中,所述處理器沿視場(chǎng)改變閾值。
在另一個(gè)實(shí)施例中,所述閾值是視場(chǎng)的尺寸(dimension)的函數(shù)。
在一個(gè)實(shí)施例中,通過根據(jù)尺寸值添加補(bǔ)償值所述閾值被改變。
在另一個(gè)實(shí)施例中,其中所述閾值隨著接近線的形心被增大或減小。
在另一個(gè)實(shí)施例中,所述處理器比較像素值與下閾值和上閾值。
在一個(gè)實(shí)施例中,一次或兩次比較的結(jié)果被用于形心計(jì)算。
在另一個(gè)實(shí)施例中,超過上閾值的像素在數(shù)量足夠的情況下優(yōu)選地被用于形心計(jì)算。
在另一個(gè)實(shí)施例中,所述處理器通過以下操作消除外緣像素跟蹤平均像素級(jí)別,以及比較像素值與平均級(jí)別以估計(jì)其是否是外緣。
在另一個(gè)方面,本發(fā)明提供了一種機(jī)器視覺系統(tǒng),包括用于線性照射目標(biāo)的照射儀,照相機(jī),和前述任何一個(gè)方面所述的圖像處理器,其連接到所述照相機(jī)。
從下面的某些實(shí)施例的詳細(xì)描述中可以更清楚地理解本發(fā)明,其中對(duì)實(shí)施例的描述是以示例方式參考附圖進(jìn)行的,在附圖中圖1a是裸PCB的現(xiàn)有技術(shù)3D圖像表示,而圖1b是本發(fā)明的處理的相應(yīng)圖像;圖2a是激光線的現(xiàn)有技術(shù)圖像,而圖2b是本發(fā)明的處理的相應(yīng)圖像;圖3是激光線與垂直跡線交叉的照射圖像;
圖4是圖示了圖像處理流程的流程圖;以及圖5a、5b和5c分別是分割線、浮散和散射光的示例。
下面給出圖4中的部分符號(hào)的解釋LT=下閾值UT=上閾值c=與X位置相關(guān)聯(lián)的LT補(bǔ)償值DT=暗像素閾值Dark=暗像素計(jì)數(shù)器Pixel=像素灰度值具體實(shí)施方式
在一個(gè)實(shí)施例中,圖像處理器包括連接到CMOS照相機(jī)傳感器的FPGA。參考圖1a和圖1b,圖1b圖示了本發(fā)明處理所得到的可觀的清晰度改進(jìn)。現(xiàn)有技術(shù)圖像(圖1a)中的大部分假象被消除了。這是因?yàn)楦倪M(jìn)了對(duì)激光線圖像的處理。
該處理使用低灰度閾值來確定沿一列圖像WOI(感興趣窗口)存在激光線“亮”像素。通常,其將線的寬度(沿該線超過閾值的像素?cái)?shù)目)視為激光線的重要指示符。在有多條線的情況下,選擇最寬的一條。
有效線截面標(biāo)準(zhǔn)該處理對(duì)“暗”像素(灰度級(jí)小于等于下閾值的像素)計(jì)數(shù),并且可以接合列中兩串分離的激光“亮”像素,只要其間的“暗”像素串小于“暗閾值”即可。圖2a和圖2b圖示了這種情形。一般而言,兩個(gè)像素是合適的“暗閾值”。
在圖2a中,在激光線圖像中圖示了暗像素閾值的應(yīng)用。在圖2b中,改變閾值,以在圖像中顯示超過下灰度閾值的像素。在左側(cè)有輕微的分割線。如果兩條平行線之間的垂直間隙小于等于暗像素閾值,則這兩條線可被認(rèn)為是一條線。
由于金屬表面(跡線、焊盤、焊膠等)趨向反射高強(qiáng)度的光(見圖3),因此使用上閾值來無誤地識(shí)別出這些區(qū)域。沿著激光線,這些結(jié)構(gòu)趨向顯示為強(qiáng)度超過~200灰度級(jí)的2+像素的粗線。如果遇到這種串,則認(rèn)為是該列的線截面,并且可以配置處理使得不考慮該列的剩余部分。
圖3示出了激光線與某些垂直跡線交叉的情形。其中存在從跡線上反射的較高強(qiáng)度的光。
對(duì)于允許的線的寬度,存在可配置的上限和下限。對(duì)于超過上閾值的像素串和超過下閾值的像素串,這些限度是不同的。線截面的超過這些限度之外的部分將不被考慮。這種有效性標(biāo)準(zhǔn)有用的極端示例可以參見圖5b,在圖5b中,圖像被嚴(yán)重浮散使得線的截面非常寬。
由于激光角度所致,對(duì)列進(jìn)行探查的方向?qū)Y(jié)果可能有輕微的影響,并且盡管通常探查最寬的線截面,但是在同一列中出現(xiàn)彼此寬度相似的多個(gè)線截面時(shí)會(huì)導(dǎo)致不清晰,在這種情況下通常使用遇到的第一條線。
形心計(jì)算對(duì)于有效線截面,形心計(jì)算如下 方程1·其中x代表被處理的列,并且對(duì)于任何一列都是常量。
·Start代表與有效線截面相關(guān)聯(lián)的y位置的有效范圍的起始點(diǎn)。
·End代表與有效線截面相關(guān)聯(lián)的y位置的有效范圍的末端點(diǎn)。
·N代表WOI中線的數(shù)目。
·M代表WOI的寬度,這種情況下是傳感器的寬度。
·T代表這樣的灰度閾值,超過該灰度閾值的灰度值被認(rèn)為是激光線的一部分。T可以是上閾值和下閾值這兩個(gè)值之一。其值取決于上述有效線截面標(biāo)準(zhǔn)的應(yīng)用。
位存儲(chǔ)要求分子位要求令g(x,y)的最大可能值為MaxGrey
MaxGrey*1+MaxGrey*2+……+MaxGrey*NMaxGrey*(1+2+……+N)MaxGrey*(N2+N)/2當(dāng)MaxGrey=255(在無符號(hào)字節(jié)的情況下),并且N=64(WOI的典型高度)時(shí),255*2080530400No bits=>Log 530400/Log 2~20bits分母位要求再一次令g(x,y)的最大可能值為MaxGreyMaxGrey+MaxGrey+……MaxGrey*N當(dāng)MaxGrey=255,N=64時(shí),255*6416320No bits=>Log 16320/Log 2~14bits期望輸出是每列8位。
由于WOI的高度最大是64個(gè)像素,因此列的行位置和灰度乘積的總和要求多至20位。類似地,灰度值的總和要求多至14個(gè)像素。以上的除法產(chǎn)生了6位的結(jié)果,這會(huì)損失以其他方式可以實(shí)現(xiàn)的2位精度,并且產(chǎn)生具有單像素精度而不是1/4像素精度的形心值。為了恢復(fù)這2位精度,灰度和行位置的乘積總和在除之前被向左移2位。從而該總和產(chǎn)生了高至22位的值。當(dāng)這被14位的總和除時(shí),結(jié)果是8位值,包括6位像素精度和另外2位亞像素精度。
視場(chǎng)的激光線強(qiáng)度補(bǔ)償通常,激光器的強(qiáng)度響應(yīng)在傳感器的視場(chǎng)內(nèi)是不均勻的。一般來說,光束強(qiáng)度在線的中心處較強(qiáng),而隨著線向左或右延伸逐漸降低。下強(qiáng)度閾值一般被設(shè)為這樣的值將拾取到的最低強(qiáng)度的值,該值可能代表反射激光線的一部分,從而使代表被掃描表面的盡可能多的數(shù)據(jù)被包括在內(nèi)。對(duì)于隨著逐漸接近線中心處而遇到的明顯較高的強(qiáng)度,人們可能希望對(duì)用在該區(qū)域中的閾值進(jìn)行控制。例如,由散射光引起的不希望產(chǎn)生的噪聲的強(qiáng)度級(jí)別可能強(qiáng)度更高,并且更有可能用于圖像處理中。然而,處理器可以通過改變視場(chǎng)內(nèi)的下閾值來對(duì)此進(jìn)行一定程度的補(bǔ)償。
最簡(jiǎn)單的模型是一種線性模型,其從WOI左側(cè)的0增大到WOI中心處的可配置最大值或最小值,C,并且逐漸減小回WOI右側(cè)的0。這可以由沿WOI的x位置的簡(jiǎn)單函數(shù)來代表。從而對(duì)于沿WOI的特定水平位置x,可以計(jì)算閾值補(bǔ)償值,c,見方程2和方程3??梢钥闯?,有兩個(gè)不同的方程,第一個(gè)僅僅處理函數(shù)的增大部分,第二個(gè)處理減小部分。所得到的補(bǔ)償值被加到下閾值上以補(bǔ)償向線中心處的較強(qiáng)閾值。參考方程1,當(dāng)且僅當(dāng)T是下閾值時(shí),T的值才增加c。中心最大補(bǔ)償值C是可配置的,以適應(yīng)來自被掃描的不同表面材料的不同響應(yīng)。
c=2CxM,∀x(0<=x<M2)]]>方程2c=2C(M-x)M,∀x(M2<=x<M)]]>方程3強(qiáng)度計(jì)算利用超過閾值的灰度值的總和來計(jì)算單列的強(qiáng)度數(shù)據(jù)。該總和被作為上述形心計(jì)算階段的一部分加以計(jì)算。包括相應(yīng)的激光線截面在內(nèi)的像素?cái)?shù)目的計(jì)數(shù)也在該階段記錄。
最正確的做法是計(jì)算列中激光線像素的準(zhǔn)確平均強(qiáng)度,包括被任意數(shù)除(與較簡(jiǎn)單的被2的冪除相對(duì),這種除可通過移位實(shí)現(xiàn))。形心計(jì)算意味著每個(gè)WOI必須發(fā)生高至M(照相機(jī)傳感器寬度)次除法。如果也利用任何除法來計(jì)算強(qiáng)度,則這會(huì)使每個(gè)WOI需要的除法次數(shù)加倍。
外緣消除沿激光輪廓的外緣可能由散射光(見圖5c)以及其他因素引起。在本發(fā)明中,這些效應(yīng)可通過以下措施減小跟蹤任意一列結(jié)果的最左N個(gè)像素的平均結(jié)果,并且利用利用轉(zhuǎn)變閾值(像素)來確定在最終結(jié)果中是否考慮該值。人們可能希望,對(duì)最大期望特征高度(例如,焊膠高度)的較小的過估計(jì)在這里能充當(dāng)良好閾值的基礎(chǔ)。當(dāng)然,無效但是落入閾值內(nèi)的任何轉(zhuǎn)變都不會(huì)成功地被消除一這是不可避免的。在該部分平均中使用的像素?cái)?shù)是可配置的,但是必須是2的冪,以簡(jiǎn)化所要求的除法。因此,參數(shù)由冪次自身指定,例如,2指示必須使用4個(gè)像素,3指示必須使用8個(gè)像素等等。
線的平均WOI的整個(gè)寬度的形心平均值被計(jì)算出,并且存儲(chǔ)為由FPGA輸出的結(jié)果線的最后(最右)字節(jié)。然而,差別在于在這種情況下只考慮非0的那些值。這樣作的優(yōu)點(diǎn)是平均值更有可能代表沿著該線的PCB的平均級(jí)別,而不是在數(shù)據(jù)中包含了孔,這些孔會(huì)不適當(dāng)?shù)仄x數(shù)據(jù)。然而,這引入了被任意數(shù)除,這種任意數(shù)取決于存在的0數(shù)據(jù)量,對(duì)每個(gè)激光輪廓可能是不同的。為了消除這種復(fù)雜性,又盡可能地維持結(jié)果的完整性和意義,有必要確信只執(zhí)行被2的冪除的除法。
這里采取的方法是隨著形心被沿著陣列加和并計(jì)數(shù),每次在計(jì)數(shù)達(dá)到2的冪時(shí),總和與關(guān)注的冪一同被備份。在加和結(jié)束時(shí),最近遇到的2的冪被用作除數(shù)(冪本身也可被用來對(duì)數(shù)字移位),并且相應(yīng)的備份總和被除。這一操作的影響是對(duì)于寬度2352的傳感器來說,只可以使用高至2048個(gè)值,如果超過0的值少于2048個(gè),則只可使用1024,等等。上面的內(nèi)容表明,在許多情形中,幾乎沒有0數(shù)據(jù)點(diǎn),除法是更簡(jiǎn)單的,并且可由FPGA更快的執(zhí)行,所得到的平均值的完整性也被最小地犧牲。
參考圖4,上述圖像處理方法以流程圖格式示出。注意,上閾值和下閾值都被使用,并且對(duì)下閾值進(jìn)行了補(bǔ)償以用于沿激光線寬度的強(qiáng)度變化。另外,對(duì)于兩個(gè)帶內(nèi)的像素,進(jìn)行獨(dú)立的形心計(jì)算。暗像素級(jí)別被重置為0,并且被動(dòng)態(tài)更新。另外,LT和UT數(shù)據(jù)被組合以檢查其是否構(gòu)成迄今為止最寬的線。
本發(fā)明并不限于上述實(shí)施例,而是可以在構(gòu)造和細(xì)節(jié)上進(jìn)行變化。
權(quán)利要求
1.一種用于捕捉照相機(jī)傳感器信號(hào)并識(shí)別目標(biāo)上的照射圖案的圖像處理器,其中所述處理器從下述多條線中識(shí)別最可能的照射線,所述多條線包括來自與照射中心線相鄰的表面的光譜反射。
2.如權(quán)利要求1所述的圖像處理器,其中所述處理器將最寬的像素線識(shí)別為最可能的像素線。
3.如權(quán)利要求2所述的圖像處理器,其中所述處理器對(duì)線寬度施加上限和下限。
4.如權(quán)利要求3所述的圖像處理器,其中所述限度是可配置的。
5.如權(quán)利要求3或4所述的圖像處理器,其中所述上限被設(shè)置來消除浮散。
6.如權(quán)利要求1~5中任何一個(gè)所述的圖像處理器,其中所述處理器確定被暗像素分離的平行線之間的間隙,并且在兩者之間的距離低于閾值時(shí)將兩條平行線處理為單條線。
7.如權(quán)利要求6所述的圖像處理器,其中所述閾值是兩個(gè)暗像素。
8.如權(quán)利要求1~7中任何一個(gè)所述的圖像處理器,其中所述處理器比較像素值與閾值以識(shí)別線。
9.如權(quán)利要求8所述的圖像處理器,其中所述處理器沿視場(chǎng)改變閾值。
10.如權(quán)利要求9所述的圖像處理器,其中所述閾值是視場(chǎng)的尺寸的函數(shù)。
11.如權(quán)利要求10所述的圖像處理器,其中通過根據(jù)尺寸值添加補(bǔ)償值來改變所述閾值。
12.如權(quán)利要求9~11中任何一個(gè)所述的圖像處理器,其中所述閾值隨著接近線的形心被增大或減小。
13.如權(quán)利要求8~12中任何一個(gè)所述的圖像處理器,其中所述處理器比較像素值與下閾值和上閾值。
14.如權(quán)利要求13所述的圖像處理器,其中一次或兩次比較的結(jié)果被用于形心計(jì)算。
15.如權(quán)利要求14所述的圖像處理器,其中超過上閾值的像素在數(shù)量足夠的情況下優(yōu)選被用于形心計(jì)算。
16.如權(quán)利要求1~15中任何一個(gè)所述的圖像處理器,其中所述處理器通過以下操作消除外緣像素跟蹤平均像素級(jí)別,以及比較像素值與平均級(jí)別以估計(jì)其是否是外緣。
17.一種機(jī)器視覺系統(tǒng),包括用于線性照射目標(biāo)的照射儀,照相機(jī),和權(quán)利要求1~16中的任何一個(gè)所述的圖像處理器,其連接到所述照相機(jī)。
全文摘要
本發(fā)明公開了機(jī)器視覺系統(tǒng)中的圖像處理。其中,捕捉線性照射的圖像,并且改進(jìn)對(duì)線的識(shí)別,消除噪聲。多條線中最寬的線被識(shí)別為最可能的線,并且如果相互鄰近的兩條平行線間的間隔是兩個(gè)或一個(gè)暗像素的話,認(rèn)為它們是一條線。并且利用線寬的上限來消除浮散。
文檔編號(hào)G01B21/00GK1841018SQ20061006695
公開日2006年10月4日 申請(qǐng)日期2006年3月30日 優(yōu)先權(quán)日2005年3月30日
發(fā)明者帕德拉吉·艾丹·安德魯·巴特爾, 安東尼·彼得·托馬斯·馬普斯通, 詹姆士·馬洪 申請(qǐng)人:Mv研究有限公司