本發(fā)明一般地涉及諸如可包括在機(jī)器視覺系統(tǒng)或其它光電子系統(tǒng)中的光學(xué)系統(tǒng),并且特別地涉及檢測和減輕光學(xué)系統(tǒng)中的機(jī)械不對準(zhǔn)。
背景技術(shù):
光學(xué)系統(tǒng)在各種行業(yè)中被廣泛地使用。光電子系統(tǒng)特別地提供寶貴的監(jiān)視和對象檢測能力,包括在安全關(guān)鍵應(yīng)用中。作為示例,可使用單相機(jī)或多相機(jī)成像系統(tǒng)來監(jiān)視或“保護(hù)”工業(yè)機(jī)器人、金屬壓機(jī)或其它危險(xiǎn)機(jī)器周圍的區(qū)域,并響應(yīng)于檢測到人類正進(jìn)入受保護(hù)的危險(xiǎn)區(qū)域的侵入而提供應(yīng)急停止信令。
許多機(jī)器視覺系統(tǒng)使用體視(stereoscopic)視覺或多相機(jī)成像,其涉及到具有重疊視場的兩個(gè)或更多相機(jī)。通過從不同的視角觀察相同的一個(gè)或多個(gè)對象,多個(gè)視圖中的各個(gè)視圖中的對象位置之間的觀察到的差異(disparity)提供用于計(jì)算到那些對象的距離的基礎(chǔ)。在示例性情況下,機(jī)器視覺系統(tǒng)使用體視圖像處理來檢測被監(jiān)視區(qū)中的對象并計(jì)算到那些對象的距離。此類檢測可以是安全關(guān)鍵的,諸如當(dāng)被監(jiān)視區(qū)表示工業(yè)機(jī)器周圍的危險(xiǎn)區(qū)域或體積且依賴于機(jī)器視覺系統(tǒng)以便檢測對象進(jìn)入被監(jiān)視區(qū)域的侵入時(shí)。在這里,術(shù)語“對象”可以被寬泛地理解成包括人類。
機(jī)器視覺系統(tǒng)的準(zhǔn)確度和總體性能取決于許多關(guān)鍵的機(jī)械對準(zhǔn)。考慮例如圖1,其描繪了可能包括在機(jī)器視覺系統(tǒng)的傳感器頭或其它相機(jī)組件內(nèi)的示例性透鏡6和圖像傳感器8(“成像器8”)。在適用制造精度和公差的極限內(nèi),相機(jī)組件固定透鏡6和成像器8的相對定位,成像器8其可以是電荷耦合器件(CCD)或其它像素陣列。
在圖2的背景下更好地理解這些關(guān)鍵對準(zhǔn),圖2示出了關(guān)于透鏡6的焦平面的成像器8的圖像平面。在沒有不對準(zhǔn)問題的情況下,相機(jī)組件將圖像平面平行于焦平面固定,并且將圖像平面固定在距焦平面適當(dāng)距離d處。
然而,由于老化、熱膨脹、振動(dòng)、沖擊等,可引入各種類型的機(jī)械不對準(zhǔn),諸如成像器8在垂直于光軸的方向上相對于透鏡6的相對移位或平移。這些橫向移位(無論是由透鏡6還是成像器8還是兩者的移動(dòng)引起的)使圖像平面的光學(xué)中心或原點(diǎn)R從光軸移開且與焦平面的光學(xué)中心或原點(diǎn)O不對準(zhǔn)。
此外,透鏡6和/或成像器8可能沿著光軸移位。這些移位(被稱為縱向平移)改變透鏡6與成像器8之間的距離d??v向平移有效地改變相機(jī)組件的放大率或焦距。
作為不對準(zhǔn)的另一示例,成像器8可繞著光軸旋轉(zhuǎn)。此類旋轉(zhuǎn)有效地使圖像投影從透鏡6旋轉(zhuǎn)到圖像平面上。此外,透鏡6和/或成像器8的任何相對傾斜將導(dǎo)致圖像平面不再與焦平面平行。傾斜改變到圖像平面上的圖像投影,并且類似于另一個(gè)(前述不對準(zhǔn)),降低機(jī)器視覺系統(tǒng)準(zhǔn)確地處理從其相機(jī)獲得的圖像的能力。
在聚焦質(zhì)量和/對比度的背景下出現(xiàn)其它問題。透鏡6可具有例如聚焦質(zhì)量輪廓,其中,透鏡6的聚焦質(zhì)量在透鏡中心處最高且在透鏡的邊緣處最低。圖3描繪了用于透鏡6的示例性聚焦質(zhì)量輪廓。
雖然透鏡6的聚焦質(zhì)量輪廓一般將使得透鏡的最低聚焦質(zhì)量是可接受的,至少在標(biāo)稱操作條件下,透鏡6和/或成像器8上的朦朧、霧化、油污、灰塵等將降低在從成像器8獲取的圖像中看到的聚焦質(zhì)量和/或?qū)Ρ榷?。諸如場景照明中的變化之類的其它環(huán)境變化也可使對比度或其它圖像參數(shù)退化。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本文中的教導(dǎo)的一個(gè)方面,一種方法和裝置在機(jī)器視覺系統(tǒng)的運(yùn)行時(shí)操作期間檢測機(jī)器視覺系統(tǒng)中的機(jī)械不對準(zhǔn),并且基于檢測到的不對準(zhǔn)來補(bǔ)償圖像處理,除非檢測到的不對準(zhǔn)過多??赏ㄟ^基于它們來確定最壞情況誤差來檢測過多不對準(zhǔn)。如果最壞情況誤差超過定義極限,則機(jī)器視覺系統(tǒng)過渡至故障狀態(tài)。故障狀態(tài)可包括中斷危險(xiǎn)機(jī)器的操作或執(zhí)行一個(gè)或多個(gè)其它故障狀態(tài)操作。在檢測到的不對準(zhǔn)之中的是用于成像的單獨(dú)相機(jī)內(nèi)的內(nèi)部不對準(zhǔn)以及相機(jī)之間的相對不對準(zhǔn)。該方法和裝置還可執(zhí)行焦點(diǎn)的運(yùn)行時(shí)驗(yàn)證,并響應(yīng)于檢測到不足的聚焦質(zhì)量而使機(jī)器視覺系統(tǒng)過渡至故障狀態(tài)。
在示例性實(shí)施例中,在運(yùn)行狀態(tài)下操作的機(jī)器視覺系統(tǒng)實(shí)現(xiàn)一種方法,該方法包括從包括立體相機(jī)對并對包含一個(gè)或多個(gè)參考標(biāo)記的場景進(jìn)行成像的第一和第二相機(jī)獲得一對圖像或當(dāng)前幀。本方法包括基于將當(dāng)前參考標(biāo)記位置與最初的參考標(biāo)記位置相比較來估計(jì)第一和第二相機(jī)中和/或之間的機(jī)械不對準(zhǔn)。在這里,根據(jù)當(dāng)前幀來確定當(dāng)前參考標(biāo)記位置,而從存儲(chǔ)在機(jī)器視覺系統(tǒng)中的設(shè)置數(shù)據(jù)而已知最初的參考標(biāo)記位置。本方法進(jìn)一步包括根據(jù)估計(jì)的機(jī)械不對準(zhǔn)來計(jì)算用于由機(jī)器視覺系統(tǒng)進(jìn)行的立體視覺處理的最壞情況誤差,并且響應(yīng)于確定最壞情況誤差超過經(jīng)定義的閾值而使機(jī)器視覺系統(tǒng)從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。
在另一示例性實(shí)施例中,一種機(jī)器視覺系統(tǒng)包括接口電路,其被配置成從包括立體相機(jī)對并對包含一個(gè)或多個(gè)參考標(biāo)記的場景進(jìn)行成像的第一和第二相機(jī)獲得圖像。該機(jī)器視覺系統(tǒng)還包括處理電路,其被與接口電路操作地相關(guān)聯(lián),并且在機(jī)器視覺系統(tǒng)的運(yùn)行狀態(tài)操作期間,被配置成估計(jì)第一和第二相機(jī)中和/或之間的機(jī)械不對準(zhǔn)。該估計(jì)是基于處理電路將當(dāng)前參考標(biāo)記位置與最初的參考標(biāo)記位置相比較,并且處理電路被配置成根據(jù)所估計(jì)的機(jī)械不對準(zhǔn)來計(jì)算用于由機(jī)器視覺系統(tǒng)進(jìn)行的立體視覺處理的最壞情況誤差。該處理電路進(jìn)一步被配置成響應(yīng)于確定最壞情況誤差超過經(jīng)定義的閾值而使機(jī)器視覺系統(tǒng)從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。
當(dāng)然,本發(fā)明不限于上述特征和優(yōu)點(diǎn)。本領(lǐng)域普通技術(shù)人員在閱讀以下詳細(xì)描述時(shí)以及在觀察附圖時(shí)將認(rèn)識到附加特征和優(yōu)點(diǎn)。
附圖說明
圖1是相機(jī)組件內(nèi)的示例性透鏡和圖像傳感器的圖,并且圖示出其之間的關(guān)鍵機(jī)械對準(zhǔn)。
圖2是對應(yīng)于圖1的透鏡和圖像傳感器的焦平面和圖像平面的圖,并且圖示出透鏡與圖像傳感器之間的機(jī)械對準(zhǔn)的其它方面。
圖3圖示出用于相機(jī)透鏡的示例性聚焦質(zhì)量輪廓。
圖4是圖示出根據(jù)本文中的教導(dǎo)的機(jī)器視覺系統(tǒng)的一個(gè)實(shí)施例的框圖。
圖5是在機(jī)器視覺系統(tǒng)的運(yùn)行時(shí)操作期間檢測機(jī)械不對準(zhǔn)的方法的一個(gè)實(shí)施例的邏輯流程圖。
圖6是在機(jī)器視覺系統(tǒng)的運(yùn)行時(shí)操作期間檢測機(jī)械不對準(zhǔn)的方法的另一實(shí)施例的邏輯流程圖。
圖7是圖示出適用于來自立體相機(jī)對的幀或立體圖像對的不同坐標(biāo)系之間的示例性關(guān)系的圖。
圖8是圖示出被用來估計(jì)用于立體視覺處理的最壞情況誤差的拐角位置確定的示例的圖。
具體實(shí)施方式
圖4是根據(jù)一個(gè)實(shí)施例的裝置10的框圖。在下文中稱為“機(jī)器視覺系統(tǒng)10”的裝置10包括控制單元12和一個(gè)或多個(gè)傳感器頭或SH 14。為了方便起見,僅圖示出一個(gè)傳感器頭14。然而,在一個(gè)或多個(gè)實(shí)施例中,控制單元12可被通信耦合到兩個(gè)或更多此類傳感器頭14,例如傳感器頭14-1、14-2等。
每個(gè)傳感器頭14提供多視圖成像能力,例如體視成像能力。在本示例性實(shí)施例中,傳感器頭14(其也可稱為相機(jī)頭或相機(jī)單元)包括第一和第二相機(jī)組件16-1和16-2,其操作為立體相機(jī)對。相機(jī)組件16-1和16-2在下文中簡單地稱為相機(jī)16-1和16-2或者簡單地稱為“相機(jī)16”,除非為了明了起見需要后綴。
每個(gè)相機(jī)16包括包含一個(gè)或多個(gè)透鏡的透鏡組件18、被放置成與透鏡組件18精確光學(xué)對準(zhǔn)的成像器20,以及圖像處理器22,其可以是被配置成操作成像器20、提供圖像傳感器數(shù)據(jù)的讀出、控制曝光時(shí)間等的預(yù)處理器或其它處理電路。在下文中,將每個(gè)透鏡組件18簡單地稱為“透鏡18”,并且將每個(gè)圖像傳感器20簡單地稱為“成像器20”。
傳感器頭14還包括立體圖像處理電路24,其可包括一個(gè)或多個(gè)基于微處理器、基于DSP、基于ASIC和/或基于FPGA的電路。寬泛地,立體圖像處理電路24包括被配置成對由相機(jī)16-1和16-2捕捉的立體圖像執(zhí)行立體圖像相關(guān)處理的數(shù)字處理電路。特別地,針對傳感器頭14包括超過兩個(gè)相機(jī)16的情況,一個(gè)或多個(gè)實(shí)施例中的立體圖像處理電路24更一般地執(zhí)行多視圖圖像處理,諸如生成深度圖、確定到被成像場景內(nèi)的對象的距離等。
在示例性實(shí)施例中,立體圖像處理電路24從相機(jī)16-1和16-2中的每一個(gè)接收連續(xù)圖像,也稱為“幀”。在這里,“幀”或“圖像”包括針對給定圖像捕捉的來自涉及到的成像器20的圖像數(shù)據(jù),例如像素?cái)?shù)據(jù)。例如,立體圖像處理電路24在連續(xù)捕捉間隔中的每一個(gè)期間接收一對圖像,一個(gè)來自第一相機(jī)16-1且一個(gè)來自第二相機(jī)16-2。幀速率或捕捉速率確定由相機(jī)16捕捉新圖像的速率。
立體圖像處理電路24基于跨來自兩個(gè)相機(jī)16-1和16-2的相應(yīng)圖像對執(zhí)行相關(guān)處理來對捕捉圖像執(zhí)行3D測距。兩個(gè)相機(jī)16-1和16-2可被沿著水平線布置在某個(gè)分隔距離處,以實(shí)現(xiàn)作為左圖像和右圖像相機(jī)的操作。針對相同的被成像對象或特征,在左圖像與右圖像中的像素位置之間看到的“差異”或位移提供用于確定3D測距信息的基礎(chǔ),如本領(lǐng)域普通技術(shù)人員所理解的??蓪蓚€(gè)相機(jī)16-1和16-2之間的水平距離稱為“基線”。
在一個(gè)或多個(gè)實(shí)施例中,立體圖像處理電路24包括存儲(chǔ)設(shè)備26或與之相關(guān)聯(lián)。存儲(chǔ)設(shè)備26將被理解為包括在非臨時(shí)的基礎(chǔ)上提供用于計(jì)算機(jī)程序28和配置數(shù)據(jù)30的一個(gè)或多個(gè)項(xiàng)目的非臨時(shí)存儲(chǔ)的一種計(jì)算機(jī)可讀介質(zhì)(例如,閃存或EEPROM)。在這里,“非臨時(shí)”不一定意指永久性或不變的存儲(chǔ),并且可包括易失性存儲(chǔ),而是意味著一定定義的持久性的存儲(chǔ)且不包括僅僅傳播的信號。
在某些實(shí)施例中,立體圖像處理電路24特別地適合于基于其執(zhí)行計(jì)算機(jī)程序指令(包括計(jì)算機(jī)程序28)而執(zhí)行在本文中講授的相應(yīng)處理。此外,配置數(shù)據(jù)30包括例如操作配置設(shè)置,諸如被用來定義監(jiān)視邊界或其它關(guān)鍵對象檢測距離的3D距離或范圍。
傳感器頭14還包括控制單元接口電路32,其將控制單元12通信耦合到傳感器頭14,從而允許傳感器頭14向控制單元12提供圖像數(shù)據(jù)和/或?qū)С龅膶ο髾z測數(shù)據(jù),并且允許控制單元12為傳感器頭14提供配置數(shù)據(jù)30和/或用來導(dǎo)出配置數(shù)據(jù)30的信息。當(dāng)然,可在控制單元12與傳感器頭14之間載送其它信令,例如測試等。
控制單元12因此包括用于將控制單元12接合到本質(zhì)上任何數(shù)目的傳感器頭14的相應(yīng)一個(gè)或多個(gè)傳感器頭接口電路34??刂茊卧?2還包括處理電路36,其在一個(gè)或多個(gè)實(shí)施例中包括提供用于計(jì)算機(jī)程序40和配置數(shù)據(jù)42的非臨時(shí)存儲(chǔ)的存儲(chǔ)設(shè)備38或與之相關(guān)聯(lián)。存儲(chǔ)設(shè)備38包括計(jì)算機(jī)可讀介質(zhì),諸如FLASH或EEPROM,其提供用于計(jì)算機(jī)程序40和配置數(shù)據(jù)42的非臨時(shí)存儲(chǔ)。
在這里,配置數(shù)據(jù)42可以是從用戶(或用戶設(shè)備)接收到的,或者可從此類信息導(dǎo)出的,并且其可與傳感器頭14中的配置數(shù)據(jù)30重疊或提供用于導(dǎo)出該配置數(shù)據(jù)30的基礎(chǔ)。配置數(shù)據(jù)42包括例如監(jiān)視區(qū)定義以及控制行為定義,例如定義控制單元12如何對由傳感器頭14所指示的對象檢測進(jìn)行響應(yīng),包括何時(shí)從控制單元12輸出哪些控制信號。此類信令是從控制/安全接口電路44輸出的,并且經(jīng)由配置和/或監(jiān)視接口電路來交換來自用戶(用戶設(shè)備,諸如膝上型計(jì)算機(jī))的數(shù)據(jù)。
在某些實(shí)施例中,處理電路36包括一個(gè)或多個(gè)微處理器、DSP、ASIC、FPGA或其它數(shù)字處理電路。更寬泛地,處理電路36包括固定電路或編程電路以及固定和編程電路的某種組合。在至少一個(gè)實(shí)施例中,例如,在處理電路36包括一個(gè)或多個(gè)處理器或其它可編程電路的情況下,處理電路36特別地適合于基于其執(zhí)行包括計(jì)算機(jī)程序40的計(jì)算機(jī)程序指令根據(jù)本文中的教導(dǎo)進(jìn)行操作。
鑒于上述內(nèi)容,傳感器頭14經(jīng)由相機(jī)16-1和16-2的其立體成像對來提供用于重疊視場(FOV)50的成像。當(dāng)然,機(jī)器視覺系統(tǒng)10可具有附加相機(jī)16,其還具有至少部分地重疊的FOV 50。配置數(shù)據(jù)42例如就定義有界區(qū)域或有界體積的3D范圍或坐標(biāo)而言定義一個(gè)或多個(gè)監(jiān)視或危險(xiǎn)區(qū)52。
可例如存在警告區(qū)和關(guān)鍵(critical)“停止”或停工區(qū)。例如,可將警告區(qū)定義為在距被機(jī)器視覺系統(tǒng)10監(jiān)視的危險(xiǎn)機(jī)器的六米的距離處開始并延伸至距機(jī)器兩米的距離,在該距離處停工區(qū)開始。
在示例性配置中,在警告區(qū)內(nèi)的坐標(biāo)位置處檢測到的對象引起機(jī)器視覺系統(tǒng)10輸出一個(gè)或多個(gè)警告信號和/或記錄相應(yīng)檢測數(shù)據(jù)等。相反地,在關(guān)鍵停止區(qū)內(nèi)的坐標(biāo)位置處檢測到的對象引起機(jī)器視覺系統(tǒng)10輸出一個(gè)或多個(gè)機(jī)器停止和/或其它安全關(guān)鍵信號。
請注意,F(xiàn)OV 50具有放置在其內(nèi)部(例如在位于FOV 50內(nèi)的底的一部分上)的一個(gè)或多個(gè)參考標(biāo)記54。參考標(biāo)記54(RM)可具有已知尺寸、形狀、色彩和/或圖案化,使得其被機(jī)器視覺系統(tǒng)10認(rèn)為是RM 54。在至少一個(gè)實(shí)施例中,傳感器頭14中的立體圖像處理電路24被配置成識別包括從相機(jī)16-1和16-2輸出的立體圖像對的像素?cái)?shù)據(jù)中的RM 54。至少在其中圖像數(shù)據(jù)被從傳感器頭14傳送至控制單元12的實(shí)施例中,可在控制單元12的處理電路36中提供相同功能。配置數(shù)據(jù)30和/或42包括例如指示RM 54的已知或預(yù)期屬性的信息,諸如尺寸、色彩、形狀、圖案細(xì)節(jié)以及在FOV 50內(nèi)的位置,例如對應(yīng)于RM 54的位置的坐標(biāo)。
鑒于上述內(nèi)容,在示例性實(shí)施例中,機(jī)器視覺系統(tǒng)10包括被配置成從第一和第二相機(jī)16-1和16-2獲得一對圖像的接口電路。在這里,該對圖像包括當(dāng)前幀,即來自相機(jī)16-1和16-2的當(dāng)前立體圖像對,其中一個(gè)圖像來自第一相機(jī)16-1且一個(gè)圖像來自第二相機(jī)16-2。在這里,假設(shè)第一和第二相機(jī)16-1和16-2對包含一個(gè)或多個(gè)RM 54的場景進(jìn)行成像。
機(jī)器視覺系統(tǒng)10還包括與接口電路操作地相關(guān)聯(lián)的處理電路。如果處理電路被合并在包含第一和第二相機(jī)16-1和16-2的傳感器頭14中,例如立體圖像處理電路24,則接口電路將被理解為包括立體圖像處理電路24和/或從成像器20讀入圖像數(shù)據(jù)的相應(yīng)圖像處理器22中的接口電路。如果處理電路被合并在控制單元12中,例如處理電路36,則接口電路將被理解為包括將控制單元12通信耦合到傳感器頭14的接口電路34。為了方便起見,參考這些可能性,處理電路將被稱為“處理電路24和/或36”或者簡單地稱為“處理電路24、36”。兩個(gè)命名都應(yīng)被理解為表示“和/或”,除非根據(jù)上下文顯而易見或敘述了不同的意義。
在機(jī)器視覺系統(tǒng)的運(yùn)行狀態(tài)操作期間,處理電路24和/或36被配置成基于將當(dāng)前參考標(biāo)記位置與最初的參考標(biāo)記位置相比較來估計(jì)第一和第二相機(jī)16-1和16-2中和/或之間的機(jī)械不對準(zhǔn)。當(dāng)前參考標(biāo)記位置是根據(jù)當(dāng)前幀(即如在組成當(dāng)前幀的圖像數(shù)據(jù)中觀察到的)確定的,并且從存儲(chǔ)在機(jī)器視覺系統(tǒng)10中的設(shè)置數(shù)據(jù)得知最初的參考標(biāo)記位置。配置數(shù)據(jù)30和/或配置數(shù)據(jù)42包括例如設(shè)置數(shù)據(jù)。
關(guān)于估計(jì)的機(jī)械不對準(zhǔn),一個(gè)或多個(gè)實(shí)施例中的處理電路24和/或36被配置成基于被配置成估計(jì)以下各項(xiàng)中的至少一項(xiàng)來估計(jì)機(jī)械不對準(zhǔn):每相機(jī)(per-camera)成像器移位、每相機(jī)放大率變化、相機(jī)之間的相對旋轉(zhuǎn)以及相機(jī)之間的放大率比。每相機(jī)成像器移位估計(jì)慮及例如透鏡18與成像器20之間的相對平移,其垂直于涉及到的相機(jī)16的光軸。每相機(jī)放大率變化說明(account for)透鏡18與成像器20之間的距離的變化,即沿著光軸的平移,并且每相機(jī)放大率變化可以用來確定相機(jī)之間的放大率比。
雖然處理電路24和/或36的某些實(shí)施例被配置成估計(jì)所有上面識別的不對準(zhǔn),但還設(shè)想估計(jì)少于全部,諸如在處理電路24和/或36僅估計(jì)每相機(jī)成像器移位并補(bǔ)償檢測到的移位和/或相對于檢測到的移位執(zhí)行故障處理的情況。
在任何情況下,處理電路24和/或36進(jìn)一步被配置成根據(jù)所估計(jì)的機(jī)械不對準(zhǔn)來計(jì)算用于由機(jī)器視覺系統(tǒng)10進(jìn)行的立體視覺處理的最壞情況誤差。此外,處理電路24和/或36被配置成響應(yīng)于確定最壞情況誤差超過經(jīng)定義的閾值而使機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。定義的閾值例如是在配置數(shù)據(jù)30和/或42中定義的,并且最壞情況誤差涉及機(jī)器視覺系統(tǒng)10的立體相關(guān)性能,使得相機(jī)16-1或16-2內(nèi)或其之間的過多機(jī)械不對準(zhǔn)引起機(jī)器視覺系統(tǒng)10過渡至故障操作狀態(tài)。
在一個(gè)或多個(gè)實(shí)施例中,處理電路24和/或36被配置成在機(jī)器視覺系統(tǒng)10的經(jīng)定義的響應(yīng)時(shí)間內(nèi)執(zhí)行上述操作的獲得、估計(jì)和計(jì)算。這里的經(jīng)定義的響應(yīng)時(shí)間與由機(jī)器視覺系統(tǒng)10執(zhí)行的安全關(guān)鍵對象檢測功能相關(guān)聯(lián)。
在相同或其它實(shí)施例中,處理電路24和/或36被配置成基于每個(gè)幀重復(fù)獲得、估計(jì)和計(jì)算的操作,除非在任何給定幀中計(jì)算的最壞情況誤差超過經(jīng)定義的閾值,或者機(jī)器視覺系統(tǒng)10的運(yùn)行操作狀態(tài)以其他方式被中斷。
例如,機(jī)器視覺系統(tǒng)10可針對由立體相機(jī)對輸出—或者來自與機(jī)器視覺系統(tǒng)10相關(guān)聯(lián)的任何數(shù)目的立體相機(jī)對中的每一個(gè)—的每個(gè)幀檢查機(jī)械不對準(zhǔn)和最壞情況誤差。根據(jù)此每個(gè)幀檢查,處理電路24和/或36繼續(xù)機(jī)器視覺系統(tǒng)10在運(yùn)行狀態(tài)下的操作,除非檢測到過多最壞情況誤差,或者發(fā)生另一故障,或者其它操作(諸如控制信令進(jìn)入機(jī)器視覺系統(tǒng)10)指示應(yīng)結(jié)束或中止運(yùn)行狀態(tài)操作。
在至少某些實(shí)施例中,處理電路34和/或36被配置成獲得來自第一和第二相機(jī)16-1和16-2的一定數(shù)目的幀范圍內(nèi)的機(jī)械不對準(zhǔn)的已過濾估計(jì)。相應(yīng)地,處理電路24和/或36被配置成從已過濾估計(jì)獲得已過濾最壞情況誤差,并且如果已過濾最壞情況誤差超過經(jīng)定義的閾值,則使機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。
例如,處理電路24和/或36被配置成基于被配置成獲得一定數(shù)目的幀的范圍內(nèi)的已過濾參考標(biāo)記位置并通過根據(jù)已過濾參考標(biāo)記位置來計(jì)算第一和第二相機(jī)中和之間的機(jī)械不對準(zhǔn)而獲得機(jī)械不對準(zhǔn)的已過濾估計(jì)而獲得一定數(shù)目的幀范圍內(nèi)的機(jī)械不對準(zhǔn)的已過濾估計(jì)。替換地,作為在一定數(shù)目的幀范圍內(nèi)對參考標(biāo)記位置進(jìn)行過濾的替代,處理電路24和/或36被配置成對在每個(gè)涉及到的幀中的估計(jì)的估計(jì)的機(jī)械不對準(zhǔn)進(jìn)行過濾,以獲得已過濾機(jī)械不對準(zhǔn)。
一般地,在本文中設(shè)想的至少一個(gè)實(shí)施例中,處理電路34和/或36被配置成獲得來自第一和第二相機(jī)16-1和16-2的一定數(shù)目的幀范圍內(nèi)的機(jī)械不對準(zhǔn)的已過濾估計(jì)。相應(yīng)地,處理電路24和/或36被配置成根據(jù)已過濾機(jī)械不對準(zhǔn)而補(bǔ)償機(jī)器視覺系統(tǒng)10相對于第一和第二相機(jī)16-1和16-2的立體視覺處理。在至少一個(gè)此類實(shí)施例中,處理電路24和/或36被配置成通過使被機(jī)器視覺系統(tǒng)10在對從第一和第二相機(jī)16-1和16-2獲得的圖像對進(jìn)行修正時(shí)所使用的一個(gè)或多個(gè)校準(zhǔn)參數(shù)適應(yīng)而補(bǔ)償立體視覺處理。
一個(gè)或多個(gè)校準(zhǔn)參數(shù)結(jié)合或取決于檢測到的不對準(zhǔn),并且處理電路24和/或36更新被用于已修正坐標(biāo)系中的第一和第二相機(jī)圖像之間的差異確定和/或其它相關(guān)處理的相關(guān)存儲(chǔ)值。因此,可針對檢測到的成像器移位、檢測到的相機(jī)中或之間的放大率變化以及檢測到的相機(jī)之間的相對旋轉(zhuǎn)的變化中的一個(gè)或多個(gè)來補(bǔ)償?shù)谝缓偷诙鄼C(jī)圖像中的對象之間的“表觀”差異。
雖然可以將圖4理解為圖示出用于機(jī)器視覺系統(tǒng)10的有利示例性布置,但可將處理電路的其它布置等用于獲得并處理來自立體相機(jī)對的幀。因此,可以將在圖5中看到的方法500理解為經(jīng)由圖4中所示的機(jī)器視覺系統(tǒng)10的固定和/或編程配置來實(shí)現(xiàn),但是該示例是非限制性的,并且可以用其它電路布置來實(shí)現(xiàn)圖5的處理。
此外,將認(rèn)識到的是方法500中所示的一個(gè)或多個(gè)步驟或操作可按照除由圖提出的順序之外的順序?qū)崿F(xiàn),或者可并行地執(zhí)行,或者可在進(jìn)行中(例如重復(fù)或循環(huán))執(zhí)行。事實(shí)上,在至少某些實(shí)施例中,在機(jī)器視覺系統(tǒng)10在運(yùn)行狀態(tài)下操作的同時(shí)基于每個(gè)幀而循環(huán)或重復(fù)方法500,并且相對于任何數(shù)目的立體相機(jī)對執(zhí)行。
鑒于上述可能性,方法500包括從第一和第二相機(jī)16-1和16-2獲得(方框502)的獲得包括當(dāng)前幀的一對圖像。如前所述,相機(jī)16-1和16-2包括對包含一個(gè)或多個(gè)RM 54的場景進(jìn)行成像的立體相機(jī)對。
方法500還包括估計(jì)(方框504)第一和第二相機(jī)16-1和16-2中和之間的機(jī)械不對準(zhǔn)。估計(jì)處理是基于將當(dāng)前參考標(biāo)記位置與最初的參考標(biāo)記位置相比較,其中,當(dāng)前參考標(biāo)記位置是根據(jù)當(dāng)前幀確定的,并且最初的參考標(biāo)記位置是根據(jù)存儲(chǔ)在機(jī)器視覺系統(tǒng)中的設(shè)置數(shù)據(jù)而已知的。例如,可就色彩、尺寸、形狀以及圖案中的任何一個(gè)而言識別RM 54,并且將包括當(dāng)前幀的像素或圖像數(shù)據(jù)中的RM 54的觀察到的x-y位置與RM 54的最初的x-y位置相比較。
機(jī)械不對準(zhǔn)的估計(jì)(方框505)包括每相機(jī)不對準(zhǔn)的估計(jì)(方框504A)和/或相機(jī)16-1和16-2之間的相對不對準(zhǔn)的估計(jì)(方框504B),可將其稱為“跨相機(jī)”不對準(zhǔn)。例如,方框504A包括估計(jì)每個(gè)相機(jī)16-1和16-2的成像器移位和/或放大率變化。方框504B包括例如估計(jì)相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)和/或相機(jī)16-1和16-2之間的放大率比。
方法500還包括計(jì)算(方框506)用于由機(jī)器視覺系統(tǒng)10進(jìn)行的立體視覺處理的最壞情況誤差。根據(jù)所估計(jì)的機(jī)械不對準(zhǔn)來計(jì)算最壞情況誤差,并且方法500還包括響應(yīng)于確定最壞情況誤差超過經(jīng)定義的閾值(來自方框508的NO)而使機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡(512)至故障操作狀態(tài)。另一方面,如果最壞情況誤差被確定為在定義極限內(nèi)(來自方框508的YES),則方法500包括繼續(xù)機(jī)器視覺系統(tǒng)10的運(yùn)行狀態(tài)操作(方框510)。
圖6圖示出檢測機(jī)器視覺系統(tǒng)10中的機(jī)械不對準(zhǔn)并對其進(jìn)行響應(yīng)的另一實(shí)施例??梢詫⒎椒?00理解為方法500的擴(kuò)展或更詳細(xì)版本。雖然不限于在圖4中看到的機(jī)器視覺系統(tǒng)10,但將認(rèn)識到的是圖4的機(jī)器視覺系統(tǒng)10在一個(gè)或多個(gè)實(shí)施例中被配置成執(zhí)行方法600。方法600基于每個(gè)幀而重復(fù),并且可相對于一個(gè)或多個(gè)立體相機(jī)對中的每一個(gè)串行地或并行地執(zhí)行。還應(yīng)認(rèn)識到的是方法600包括當(dāng)前幀值的處理以及處理已過濾的和/或在先幀值。
在步驟1(方框602)處,方法600包括“跟蹤”當(dāng)前幀中的RM 54的位置。在這里,“跟蹤”表示觀察到的RM位置與預(yù)期RM位置的比較。觀察到的RM位置是如在包括當(dāng)前幀的圖像數(shù)據(jù)中檢測到的位置,而預(yù)期RM位置是例如從機(jī)器視覺系統(tǒng)10的最初的設(shè)置配置已知的最初的位置。
RM位置跟蹤可使用已修正坐標(biāo)來完成。在這里,可注意到的是每個(gè)相機(jī)16具有相機(jī)坐標(biāo)系,可將其稱為“原始”或“畸變”坐標(biāo)系,因?yàn)槠浒ㄍ哥R畸變等效應(yīng)。因此,當(dāng)參考從任何給定相機(jī)獲取的任何給定圖像時(shí),將認(rèn)識到的是圖像可在畸變坐標(biāo)系中或在無畸變坐標(biāo)系中或者在已修正坐標(biāo)系中?;诒磉_(dá)涉及到的相機(jī)透鏡的已知或表征畸變的配置數(shù)據(jù),可將畸變坐標(biāo)系中的圖像變換成無畸變坐標(biāo)系。此外,可將無畸變坐標(biāo)系中的圖像變換到已修正坐標(biāo)系中,該已修正坐標(biāo)系被用來修整立體圖像對中的左圖像和右圖像,使得兩個(gè)圖像具有相同的水平參考系。
處理繼續(xù)進(jìn)行步驟2(方框604),其也表示相對于當(dāng)前幀的每幀處理,并且包括子方框604A、604B和604C??傮w上,方框604表示“損失”測試,其中機(jī)器視覺系統(tǒng)10確定從檢測到的機(jī)械不對準(zhǔn)產(chǎn)生的最壞情況誤差是否超過適用的誤差預(yù)算所允許的誤差。在這里,可將術(shù)語“損失”理解為機(jī)器視覺系統(tǒng)10對象檢測能力的損失,至少相對于某個(gè)指定水平的檢測性能,諸如用最小對象尺寸、距離檢測準(zhǔn)確度等表示的。
損失測試是基于檢測機(jī)械不對準(zhǔn),包括垂直于和沿著光軸兩者的每相機(jī)成像器移位。損失測試還包括確定相機(jī)之間的放大率比(即兩個(gè)相機(jī)16-1和16-2之間的放大率的失配)和相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)。這些估計(jì)然后被用來確定用于由機(jī)器視覺系統(tǒng)10進(jìn)行的立體視覺處理的最壞情況誤差,并且確定最壞情況誤差是否超過定義極限(方框604B)。
如果是這樣(來自方框604B的YES),則處理繼續(xù)至方框604C,在那里,機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài),其為本示例性方法中的“機(jī)器停止”條件。在這里,“機(jī)器停止”表示其中使用機(jī)器視覺系統(tǒng)10來保護(hù)或監(jiān)視制造設(shè)備或其它機(jī)器的項(xiàng)目周圍的區(qū)域或體積,并且響應(yīng)于在機(jī)器周圍定義的距離或邊界內(nèi)的對象的侵入且響應(yīng)于檢測到檢測能力的損失或其它故障而將機(jī)器停止的示例性情形。
假設(shè)方框604的處理遵循從方框604B到方框606中的“NO”路徑,方法600繼續(xù)進(jìn)行方框606A所表示的處理,其包括針對“退化”的不對準(zhǔn)和放大率測試。也就是說,方框604表示針對機(jī)器視覺系統(tǒng)10的檢測能力損失的測試,例如相對于某些定義性能要求(諸如最小對象尺寸、最小距離估計(jì)準(zhǔn)確度等)的檢測能力的損失。相反地,方框606表示針對機(jī)器視覺系統(tǒng)10的檢測能力退化的測試。
可以將這些退化理解為引起在針對機(jī)器視覺系統(tǒng)10定義的誤差預(yù)算所允許的公差內(nèi)的誤差。在這里,“誤差預(yù)算”包括其每個(gè)由機(jī)器視覺系統(tǒng)10的圖像獲取和處理流程中的不同組件或操作引起的許多組成誤差。將理解的是本文討論中的機(jī)械不對準(zhǔn)全部對誤差預(yù)算內(nèi)的組成誤差有所貢獻(xiàn)。
此外,雖然在方框604中討論的損失測試關(guān)于每幀值(即關(guān)于機(jī)械不對準(zhǔn)和結(jié)果產(chǎn)生的最壞情況誤差計(jì)算)進(jìn)行操作,但作為基于在當(dāng)前幀中觀察到的RM位置,在方框606中討論的退化測試使用已過濾值進(jìn)行操作,或者另外使用來自當(dāng)前幀和一個(gè)或多個(gè)先前幀的值。在這里,“值”一般地被用來指代以下各項(xiàng)中的任何一個(gè)或多個(gè):跟蹤的RM位置、檢測到的機(jī)械不對準(zhǔn)、估計(jì)最壞情況誤差以及在此類計(jì)算中使用的任何中間值。
雖然方框604在機(jī)器視覺系統(tǒng)10的經(jīng)定義的響應(yīng)時(shí)間(RT)內(nèi)檢測檢測損失并對損失做出反應(yīng),但作為非限制性示例,方框606的測試一般用完較長的持續(xù)時(shí)間(諸如在圖中表示的五秒(5S))。在這里,機(jī)器視覺系統(tǒng)10的“響應(yīng)時(shí)間”是其在檢測到對象侵入到危險(xiǎn)區(qū)域中和/或檢測到檢測能力的損失與關(guān)聯(lián)的被保護(hù)機(jī)器的關(guān)斷之間必須呈現(xiàn)的經(jīng)定義的反應(yīng)時(shí)間。
在方框606的一個(gè)示例性實(shí)施方式中,機(jī)器視覺系統(tǒng)10將針對當(dāng)前幀計(jì)算的最壞情況誤差與針對在先幀(例如來自過去的一定秒數(shù)的幀)計(jì)算的最壞情況誤差相比較(方框606A)。如果兩個(gè)最壞情況誤差之間的差超過經(jīng)定義的閾值(來自方框606B的YES),則機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)??梢詫⒋颂幚砝斫鉃闄z測逐漸增加的誤差并對其進(jìn)行響應(yīng)。
另一方面,如果不存在故障(來自方框606B的NO),則處理繼續(xù)進(jìn)行方框606D中的系統(tǒng)誤差消除。系統(tǒng)誤差消除使機(jī)器視覺系統(tǒng)10在其立體視覺處理中使用的一個(gè)或多個(gè)參數(shù)適應(yīng)。例如,為了確定到存在于FOV 50中的對象的距離,機(jī)器視覺系統(tǒng)10確定從相機(jī)16-1和從相機(jī)16-2觀察的對象之間的立體差異。在這里,“立體差異”是兩個(gè)圖像中的相應(yīng)點(diǎn)之間的位置的差。在機(jī)器視覺系統(tǒng)10的初始設(shè)置時(shí),立體差異取決于兩個(gè)相機(jī)16之間的實(shí)際間隔(“基線”)及其相對角度或定位。寬泛地,配置數(shù)據(jù)準(zhǔn)確地捕捉或說明初始的總體相機(jī)對準(zhǔn)。
在設(shè)置時(shí)確定或加載的校準(zhǔn)參數(shù)然后被機(jī)器視覺系統(tǒng)10在其后續(xù)的運(yùn)行狀態(tài)機(jī)器視覺處理期間(例如在修正立體對中的圖像時(shí)和當(dāng)計(jì)算立體差異時(shí))使用。然而,關(guān)鍵地,校準(zhǔn)參數(shù)隨著在機(jī)器視覺系統(tǒng)10的后續(xù)操作期間出現(xiàn)機(jī)械不對準(zhǔn)而變得不準(zhǔn)確。
因此,在方框606D中,機(jī)器視覺系統(tǒng)10響應(yīng)于檢測到相對于設(shè)置條件的機(jī)械不對準(zhǔn)而更新其校準(zhǔn)參數(shù)中的一個(gè)或多個(gè)。例如,機(jī)器視覺系統(tǒng)10保持或更新反應(yīng)相機(jī)之間的相對旋轉(zhuǎn)角(例如,以度為單位)的參數(shù)并使用檢測到的相對旋轉(zhuǎn)角來補(bǔ)償圖像修正。在這里,可以將圖像“修正”理解為使得來自立體相機(jī)對的左圖像和右圖像相對于相機(jī)之間的基線而言共面,即所有極線(epipolar line)平行于由相機(jī)16之間的基線確立的橫軸。
通過連續(xù)地或重復(fù)地估計(jì)相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)角,機(jī)器視覺系統(tǒng)10可以保持用于表示或關(guān)于相對旋轉(zhuǎn)角的校準(zhǔn)參數(shù)的已更新值。對于相機(jī)之間的放大率中的失配和放大率比而言同樣如此。此外,可將例如可用圖像坐標(biāo)或像素行-列值表示的x-y偏移值保持在配置數(shù)據(jù)30和/或42中,以捕捉檢測到的成像器移位,并且可使用此類值來補(bǔ)償立體差異計(jì)算等。
特別地,一個(gè)或多個(gè)實(shí)施例中的機(jī)器視覺系統(tǒng)10在其系統(tǒng)誤差消除處理中使用過濾。也就是說,作為基于與一個(gè)幀相關(guān)聯(lián)的值來更新校準(zhǔn)參數(shù)的替代(該值可能有噪聲),機(jī)器視覺系統(tǒng)10可使用已過濾值。例如,機(jī)器視覺系統(tǒng)10使用已過濾RM位置(例如,在一定數(shù)目的幀(例如100個(gè)幀)內(nèi)觀察)來計(jì)算機(jī)械不對準(zhǔn),并且基于那些不對準(zhǔn)進(jìn)行其校準(zhǔn)參數(shù)更新。替換地,作為對觀察到的RM位置進(jìn)行過濾的替代,機(jī)器視覺系統(tǒng)10跨一定數(shù)目的幀對機(jī)械不對準(zhǔn)進(jìn)行過濾,并且基于已過濾機(jī)械不對準(zhǔn)進(jìn)行其校準(zhǔn)參數(shù)更新。
還看到圖6在方框608中包括焦點(diǎn)測試,方框608包括方框608A、608B和608C。在方框608A中,機(jī)器視覺系統(tǒng)10執(zhí)行焦點(diǎn)測試。如果焦點(diǎn)測試失?。▉碜苑娇?08B的YES),則處理繼續(xù)進(jìn)行機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。如果焦點(diǎn)測試通過(來自方框608B的NO),則處理在運(yùn)行操作狀態(tài)下繼續(xù)??稍诶绫挥糜诜娇?06的時(shí)間幀內(nèi)(即比機(jī)器視覺系統(tǒng)10的基礎(chǔ)響應(yīng)時(shí)間要求更緩慢地)執(zhí)行方框608,并且其可將已過濾值用于此類測試和/或可在拋出故障之前要求一定次數(shù)的失敗。
在焦點(diǎn)測試的一個(gè)示例中,應(yīng)理解的是RM 54具有促進(jìn)焦點(diǎn)測試的一個(gè)或多個(gè)視覺屬性,諸如色彩、形狀、圖案、與背景的對比度等。相應(yīng)地,為了檢測不聚焦(out of focus)條件,機(jī)器視覺系統(tǒng)10在一個(gè)或多個(gè)實(shí)施例中:(1)計(jì)算在對應(yīng)于每個(gè)RM 54的圖像數(shù)據(jù)中觀察到的高頻圖像分量的量,該RM可在策略上被置于場景中從而出現(xiàn)在圖像拐角處或附近;并且(2)估計(jì)圖像中的最壞模糊效果的程度。如果該程度超過被定義為可容忍的水平,則機(jī)器視覺系統(tǒng)10從運(yùn)行狀態(tài)過渡至機(jī)器停止或其它指定故障條件。
此外,為了放松對在被成像場景內(nèi)的RM放置的要求,機(jī)器視覺系統(tǒng)10在一個(gè)或多個(gè)實(shí)施例中:(1)存儲(chǔ)表征涉及到的相機(jī)透鏡的散焦分布的信息(通過設(shè)計(jì)得知或者由出廠表征);并且(2)根據(jù)在圖像內(nèi)的某個(gè)RM位置處測量的實(shí)際散焦水平來估計(jì)最壞散焦水平。也就是說,機(jī)器視覺系統(tǒng)10可使用涉及到的透鏡的焦點(diǎn)輪廓根據(jù)正在圖像中的哪里評估焦點(diǎn)而評估焦點(diǎn)質(zhì)量。
為了以更詳細(xì)的方式且在一個(gè)或多個(gè)示例性實(shí)施例的背景下更好地理解上述處理,考慮圖7。針對立體對中的相機(jī)16中的第一個(gè)或主要的一個(gè),圖描繪了已修正坐標(biāo)系和用于已修正圖像的x-y維度的相應(yīng)符號。該圖進(jìn)一步描繪了針對主要相機(jī)的無畸變坐標(biāo)系和用于無畸變圖像的相應(yīng)符號。此外,該圖描繪了畸變或原始圖像坐標(biāo)系和用于畸變圖像的x-y維度的相應(yīng)符號。針對成對相機(jī)16之中的第二個(gè)或副的一個(gè)給出了相應(yīng)坐標(biāo)系和維度表達(dá)式,其中,用針對“副”的“s”而不是針對“主要”的“p”來對這些項(xiàng)加上標(biāo)。
由涉及到的相機(jī)16提供的圖像最初在那些相機(jī)16的畸變坐標(biāo)系中。針對對象檢測及其它處理,機(jī)器視覺系統(tǒng)10將圖像從畸變坐標(biāo)系變換到相應(yīng)無畸變坐標(biāo)系,并且然后從無畸變坐標(biāo)系到已修正坐標(biāo)系。
當(dāng)在本公開的上下文中提及“圖像”時(shí),圖像可采取任何上述坐標(biāo)系和/或可在一個(gè)坐標(biāo)系中對圖像執(zhí)行某些操作,同時(shí)對該圖像執(zhí)行其它操作,但是在將其變換到另一坐標(biāo)系之后。因此,可將來自給定相機(jī)16的當(dāng)前幀中的給定圖像輸出稱為原始或畸變圖像或者稱為無畸變圖像或者稱為已修正圖像,全部取決于哪個(gè)坐標(biāo)系在該特定時(shí)間或在視覺處理流程中的特定點(diǎn)處可用。
例如,在本文中設(shè)想的一個(gè)或多個(gè)實(shí)施例中,機(jī)器視覺系統(tǒng)10使用已修正圖像來跟蹤RM位置,但是使用無畸變圖像來估計(jì)立體相機(jī)對中的相機(jī)16之間的相對旋轉(zhuǎn)。因此,當(dāng)處理組成由相機(jī)16-1和16-2的立體對輸出的當(dāng)前幀的圖像對時(shí),機(jī)器視覺系統(tǒng)10將該圖像對變換成其相應(yīng)的無畸變坐標(biāo)系,并且使用無畸變圖像來估計(jì)相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)。然而,機(jī)器視覺系統(tǒng)10使用已修正坐標(biāo)系來確定來自每個(gè)相機(jī)16-1和16-2的圖像內(nèi)的RM位置的移位的表觀移動(dòng)。
坐標(biāo)系之間的變換是基于上述配置數(shù)據(jù)30和/或42,其包括上述校準(zhǔn)參數(shù),包括被用于圖像修正的那些參數(shù)。因此,根據(jù)適用關(guān)系,可以將已修正圖像中的RM位置變換成無畸變坐標(biāo)系和畸變圖像坐標(biāo)系。
更詳細(xì)地,3D相機(jī)坐標(biāo)與圖像坐標(biāo)K之間的關(guān)系是固有相機(jī)矩陣,并且可以定義為。這里,f是焦距【像素】,【像素】是相機(jī)16的主點(diǎn)。W 每個(gè)圖像坐標(biāo)具有其自己的K。坐標(biāo)系中的3D位置被如下用K投射到圖像坐標(biāo)。此轉(zhuǎn)換使用針孔相機(jī)模型。
針對每個(gè)相機(jī)16,用賦予坐標(biāo)系之間的相對旋轉(zhuǎn)的旋轉(zhuǎn)矩陣R來表示已修正坐標(biāo)系與無畸變坐標(biāo)系之間的關(guān)系。此外,為了從主相機(jī)16-1的無畸變坐標(biāo)系投射或轉(zhuǎn)換成副相機(jī)16-2的無畸變坐標(biāo)系,可使用轉(zhuǎn)換矢量t。在這里,矢量t表示主相機(jī)16-1的無畸變坐標(biāo)系的原點(diǎn)與副相機(jī)16-2的無畸變坐標(biāo)系的原點(diǎn)之間的移位。因此,可以如下使用這兩個(gè)參數(shù)使3D坐標(biāo)可在兩個(gè)相機(jī)16-1和16-2的無畸變坐標(biāo)系之間變換:
。
關(guān)于無畸變坐標(biāo)與已修正坐標(biāo)之間的關(guān)系,僅定義相對旋轉(zhuǎn),因?yàn)橐研拚鴺?biāo)是使得屬于立體相機(jī)對的圖像相互平行的虛擬坐標(biāo)。關(guān)于無畸變圖像與畸變圖像之間的關(guān)系,用適用的透鏡畸變模型和畸變系數(shù)k和p來表示該關(guān)系。系數(shù)對應(yīng)于徑向畸變。系數(shù)對應(yīng)于切向畸變。
因此,可以如下將無畸變圖像坐標(biāo)轉(zhuǎn)換成畸變圖像坐標(biāo):
。
當(dāng)在相機(jī)16-1和16-2中或之間發(fā)生機(jī)械移位時(shí),諸如在圖4的示例中看到的,可以假設(shè)映射到機(jī)器視覺系統(tǒng)10所使用的一個(gè)或多個(gè)校準(zhǔn)參數(shù)的變化。相應(yīng)地,圖8圖示出基于使用“拐角移動(dòng)矢量”來確定用于由機(jī)器視覺系統(tǒng)10進(jìn)行的立體視覺處理的最壞情況誤差的示例性方法。
首先,機(jī)器視覺系統(tǒng)10從立體相機(jī)對16-1和16-2獲得幀,即包括左圖像和右圖像或主圖像和副圖像的一對圖像。機(jī)器視覺系統(tǒng)10將那些圖像變換成涉及相機(jī)16-1和16-2的已修正坐標(biāo)系,確定已修正圖像中的觀察到的RM位置相對于從設(shè)置開始的其最初的位置之間的差,并且使用那些差來確定每相機(jī)不對準(zhǔn),包括成像器20相對于相機(jī)16的光軸的垂直移位或偏移和相機(jī)16的放大率比。可相對于在設(shè)置時(shí)已知或確定的相應(yīng)參數(shù)來確定或表示這些檢測。
機(jī)器視覺系統(tǒng)10基于每相機(jī)放大率確定來確定相機(jī)16-1和16-2之間的相對放大率比,并且進(jìn)一步確定相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)。在這里,相對旋轉(zhuǎn)的估計(jì)是基于機(jī)器視覺系統(tǒng)10將觀察到的RM位置從已修正坐標(biāo)系變換成相應(yīng)無畸變坐標(biāo)系。機(jī)器視覺系統(tǒng)10使用機(jī)械不對準(zhǔn)的這些估計(jì)(即每相機(jī)移位)以及根據(jù)其RM位置跟蹤確定的跨相機(jī)放大率比和相對旋轉(zhuǎn),以估計(jì)用于由機(jī)器視覺系統(tǒng)10進(jìn)行的立體視覺處理的最壞情況誤差。
特別地,機(jī)器視覺系統(tǒng)10在一個(gè)或多個(gè)實(shí)施例中使用“拐角移動(dòng)矢量”來估計(jì)最壞情況誤差,因?yàn)榭深A(yù)期立體差異誤差對于圖像拐角而言將處于其最壞情況??磮D8中的主相機(jī)列時(shí),拐角移動(dòng)矢量處理從“點(diǎn)A”開始,其是已修正坐標(biāo)系中的拐角位置。機(jī)器視覺系統(tǒng)10將來自已修正坐標(biāo)系的點(diǎn)A變換成主相機(jī)16的無畸變坐標(biāo)系中的“點(diǎn)B”,并且將點(diǎn)B變換成主相機(jī)16的畸變坐標(biāo)系中的“點(diǎn)C”。
機(jī)器視覺系統(tǒng)10然后將針對主相機(jī)16確定的每相機(jī)不對準(zhǔn)應(yīng)用于點(diǎn)C,這具有將點(diǎn)C移位至畸變坐標(biāo)系中的“點(diǎn)D”的效果。從那里,機(jī)器視覺系統(tǒng)10將點(diǎn)D變換回到無畸變坐標(biāo)系(作為“點(diǎn)E”),并且將點(diǎn)E變換到已修正坐標(biāo)系作為“點(diǎn)F”。
機(jī)器視覺系統(tǒng)10然后在主相機(jī)16的已修正坐標(biāo)系中基于點(diǎn)A與點(diǎn)F之間的x-y位置差來計(jì)算第一拐角移動(dòng)矢量??蓪Ⅻc(diǎn)A表示為,并且可將點(diǎn)F表示為。因此,可將第一拐角移動(dòng)矢量表示為
。
機(jī)器視覺系統(tǒng)10還計(jì)算第二拐角移動(dòng)矢量,其不僅考慮到副相機(jī)16的每相機(jī)不對準(zhǔn),而且考慮到主相機(jī)與副相機(jī)16之間的相對旋轉(zhuǎn)。首先,機(jī)器視覺系統(tǒng)10將點(diǎn)B從主相機(jī)16的無畸變坐標(biāo)系投射到副相機(jī)16的無畸變坐標(biāo)系中,以獲得“點(diǎn)H”。可將點(diǎn)B表示為,并且可將點(diǎn)H表示為,并且將理解的是通過應(yīng)用上文所解釋的變換(被針對由機(jī)器視覺系統(tǒng)10基于觀察的RM位置的其評估而確定的相對旋轉(zhuǎn)進(jìn)行調(diào)整)而獲得。
機(jī)器視覺系統(tǒng)10然后對副相機(jī)16的無畸變坐標(biāo)系內(nèi)的點(diǎn)H進(jìn)行移位以獲得“點(diǎn)I”。特別地,根據(jù)主相機(jī)和副相機(jī)16之間的檢測到的相對旋轉(zhuǎn)來對點(diǎn)H進(jìn)行移位。機(jī)器視覺系統(tǒng)10然后將點(diǎn)I變換成第二相機(jī)16的畸變坐標(biāo)系中的“點(diǎn)J”。機(jī)器視覺系統(tǒng)10然后將點(diǎn)J移位至畸變坐標(biāo)系中的“點(diǎn)K”,其中,根據(jù)由機(jī)器視覺系統(tǒng)10針對副相機(jī)16確定的每相機(jī)不對準(zhǔn)來計(jì)算移位。處理繼續(xù)進(jìn)行機(jī)器視覺系統(tǒng)10將點(diǎn)K變換到副相機(jī)16的無畸變坐標(biāo)系中,以獲得“點(diǎn)L”。點(diǎn)L然后被變換到副相機(jī)16的已修正坐標(biāo)系中,以獲得“點(diǎn)M”。機(jī)器視覺系統(tǒng)10進(jìn)一步基于將點(diǎn)H從副相機(jī)16的無畸變坐標(biāo)系變換到副相機(jī)16的已修正坐標(biāo)系中而獲得副相機(jī)16的已修正坐標(biāo)系中的“點(diǎn)N”。
點(diǎn)N并未說明主和副相機(jī)16之間的相對旋轉(zhuǎn),并且替代地說明沒有任何機(jī)械不對準(zhǔn)的情況下的相應(yīng)拐角“移動(dòng)”。然而,點(diǎn)M說明主相機(jī)和副相機(jī)16之間的相對旋轉(zhuǎn)和副相機(jī)16的每相機(jī)不對準(zhǔn)兩者。根據(jù)點(diǎn)M和N的x-y位置的差來計(jì)算第二移動(dòng)矢量。如果將點(diǎn)M表示為并將點(diǎn)N表示為,則可將第二拐角移動(dòng)矢量表示為
。
因此,可以將用于在機(jī)器視覺系統(tǒng)10的設(shè)置時(shí)存在的不對準(zhǔn)的極線誤差和差異表示為:
其中,按照在設(shè)置條件期間的計(jì)算,是圖8中的點(diǎn)A且是圖8中的點(diǎn)N。機(jī)器視覺系統(tǒng)10的運(yùn)行時(shí)操作期間的這些不對準(zhǔn)的范圍或性質(zhì)的變化改變極線誤差和差異。因此,可以將用于機(jī)器視覺系統(tǒng)10的運(yùn)行時(shí)操作期間的任何點(diǎn)的極線誤差和差異表示為:
其中,是圖8中的點(diǎn)F,并且是圖8中的點(diǎn)M。
因此可以將運(yùn)行時(shí)操作期間的用于由機(jī)器視覺系統(tǒng)10進(jìn)行的立體視覺處理的最壞情況誤差理解為相對于機(jī)器視覺系統(tǒng)10的設(shè)置條件而言的極線誤差和差異的變化或差。就這些項(xiàng)而言,可以將最壞情況誤差表示為:
。
通過簡單替代,可看到是第一拐角移動(dòng)矢量與第二拐角移動(dòng)矢量之間的差,即:
。
因此,相對于圖5的方框508中的討論中的每幀處理和/或相對于圖6中的方框604的每幀處理,將理解的是在一個(gè)或多個(gè)實(shí)施例中,機(jī)器視覺系統(tǒng)10確定機(jī)械不對準(zhǔn),其中,短語“機(jī)械不對準(zhǔn)”在這里并不意圖寬泛地涵蓋本文所述的每相機(jī)和跨相機(jī)(相機(jī)之間)不對準(zhǔn)和差,并且然后使用那些確定的機(jī)械不對準(zhǔn)來計(jì)算第一和第二拐角移動(dòng)矢量,并且然后使用那些拐角移動(dòng)矢量來計(jì)算最壞情況誤差。
然而,此每幀誤差確定在一個(gè)或多個(gè)實(shí)施例中被配置成對幀間變化進(jìn)行操作。例如,可使用“t-n”來表示具有機(jī)械不對準(zhǔn)的“有效”確定的前一幀,并且使用“t”來表示當(dāng)前幀。然后,假設(shè)用于當(dāng)前幀的機(jī)械不對準(zhǔn)確定也是有效的,可以執(zhí)行關(guān)于用于當(dāng)前幀的最壞情況誤差是否在容許極限內(nèi)的確定作為表示為下式的幀間變化確定:
,
其中,n例如在在緊接地前面的幀有效的情況下等于1,或者在其有效之前的幀的情況下等于2,以此類推。
因此,在某些實(shí)施例中,根據(jù)確定最壞情況誤差中的幀間變化是否在定義極限內(nèi)來進(jìn)行方框508中的YES/NO判定和/或方框604B中的YES/NO判定。多個(gè)其它評論適用于用于故障檢測的這種方法。
首先,基于跟蹤幀間變化的故障檢測本身并未慮及緩慢變化不對準(zhǔn)。因此,圖6的方框606B中的故障檢測可以例如執(zhí)行相同類型的變化評定,但是可將用于當(dāng)前幀的最壞情況誤差與來自在過去更遠(yuǎn)(例如來自三秒前)的幀的最壞情況誤差相比較。當(dāng)然,可在方框606B中使用過濾來計(jì)算最壞情況誤差值,但是盡管如此,通過將在當(dāng)前幀中確定的最壞情況誤差與較早(例如早90或100個(gè)幀)確定的最壞情況誤差相比較,機(jī)器視覺系統(tǒng)10也檢測逐漸的變化中的不對準(zhǔn)并對其進(jìn)行響應(yīng)。
其次,在確定幀間變化的上述說明中,應(yīng)注意的是使用“有效”幀。如果針對該幀進(jìn)行的機(jī)械不對準(zhǔn)確定在定義極限內(nèi),則可認(rèn)為該幀是有效的,并且可將那些極限定義為Δ(delta)或允許偏移,其可以被用來確定在任何給定幀中確定的機(jī)械不對準(zhǔn)是否過大,或者表示如此大的變化以致于被認(rèn)為對于由機(jī)器視覺系統(tǒng)10使用而言是不準(zhǔn)確的。
鑒于上述內(nèi)容,在一個(gè)或多個(gè)實(shí)施例中且在參考圖8中看到的點(diǎn)標(biāo)記,處理電路24和/或36被配置成根據(jù)相機(jī)16-1和16-2的立體對中的第一相機(jī)16-1的成像器移位和放大率變化來計(jì)算第一拐角移動(dòng)矢量,根據(jù)第二相機(jī)16-2的成像器移位和放大率變化來計(jì)算第二拐角移動(dòng)矢量,并且進(jìn)一步根據(jù)第一和第二相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)和放大率比,確定第一和第二拐角移動(dòng)矢量之間的差,并且將該差與對應(yīng)于從設(shè)置數(shù)據(jù)已知的最初的第一和第二拐角移動(dòng)矢量的參考差(例如,上文所解釋的確定)相比較。
上述處理是基于處理電路24和/或36基于被配置成通過將用于第一相機(jī)16-1的最初的圖像拐角位置(點(diǎn)A)從已修正坐標(biāo)系變換到第一相機(jī)16-1的無畸變坐標(biāo)系中(點(diǎn)B)且從無畸變坐標(biāo)系變換到第一相機(jī)16-1的畸變坐標(biāo)系中(點(diǎn)C)來獲得變換拐角位置(點(diǎn)F)而計(jì)算第一拐角移動(dòng)矢量。在這里,第一相機(jī)16-1的畸變坐標(biāo)系是用于第一相機(jī)16-1的原始坐標(biāo)系,其反應(yīng)第一相機(jī)16-1的透鏡畸變。
處理電路24和/或36進(jìn)一步被配置成根據(jù)用于相機(jī)16-1的估計(jì)的機(jī)械不對準(zhǔn)和變換拐角位置(點(diǎn)C)來計(jì)算用于第一相機(jī)16-1的移動(dòng)拐角位置(點(diǎn)D),并通過將經(jīng)移動(dòng)的拐角位置(點(diǎn)D)從第一相機(jī)16-1的畸變坐標(biāo)系變換回到已修正坐標(biāo)系(即,到點(diǎn)E且然后到點(diǎn)F)中來獲得用于第一相機(jī)16-1的變換移動(dòng)拐角位置(點(diǎn)F)。從那里,根據(jù)變換移動(dòng)拐角位置(點(diǎn)F)與最初的圖像拐角位置(點(diǎn)A)之間的差來計(jì)算處理電路24和/或36被配置成將第一拐角移動(dòng)矢量。
此外,處理電路24和/或36被配置成基于被配置成通過基于將用于第一相機(jī)16-1的最初的圖像拐角位置(點(diǎn)A)從第一相機(jī)16-1的已修正坐標(biāo)系變換到第一相機(jī)16-1的無畸變坐標(biāo)系中且將變換拐角位置(點(diǎn)B)投射到第二相機(jī)16-2的無畸變坐標(biāo)系中來獲得變換拐角位置(點(diǎn) B)而獲得投影拐角位置(點(diǎn)H)以計(jì)算第二拐角移動(dòng)矢量。
處理電路24和/或36然后通過將投射拐角位置變換到第二相機(jī)16-2的已修正坐標(biāo)系中來獲得第二變換拐角位置(點(diǎn)N),并且通過根據(jù)第一和第二相機(jī)16-1和16-2之間的相對旋轉(zhuǎn)來使經(jīng)投射的拐角位置(點(diǎn)H)移位并在所述移位之后將投影拐角位置(點(diǎn)I)變換到第二相機(jī)16-2的畸變坐標(biāo)系中(點(diǎn)J)來獲得第三變換拐角位置(點(diǎn)I)。
處理電路24和/或36然后根據(jù)針對第二相機(jī)估計(jì)的估計(jì)成像器移位和估計(jì)放大率變化來使第三變換拐角位置(點(diǎn)J)在畸變坐標(biāo)系內(nèi)移位(這產(chǎn)生點(diǎn)K),并且然后通過在第二相機(jī)的畸變坐標(biāo)系中的所述移位(點(diǎn)K)之后將第三變換拐角位置變換到第二相機(jī)16-2的無畸變坐標(biāo)系中(點(diǎn)L)且然后到第二相機(jī)16-2的已修正坐標(biāo)系中(點(diǎn)M)來獲得第四變換拐角位置(點(diǎn)M)。根據(jù)第二變換拐角位置(點(diǎn)N)與第四變換拐角位置(點(diǎn)M)之間的差來計(jì)算處理電路24和/或36然后將第二拐角移動(dòng)矢量。
并且,如所述,處理電路24和/或36在一個(gè)或多個(gè)實(shí)施例中被配置成評估當(dāng)前幀或一定數(shù)目的幀,以檢測RM 54的模糊并響應(yīng)于檢測到超過經(jīng)定義的閾值的模糊水平而使機(jī)器視覺系統(tǒng)10從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。模糊可由透鏡劣化和/或均勻污染(諸如灰塵、油等)而引起。在至少一個(gè)此類實(shí)施例中,處理電路24和/或36被配置成根據(jù)涉及到的一個(gè)或多個(gè)圖像內(nèi)的RM 54的位置和針對第一和第二相機(jī)16-1和16-2的透鏡18已知的相應(yīng)焦點(diǎn)質(zhì)量輪廓來使經(jīng)定義的模糊閾值適應(yīng)。
此外,機(jī)器視覺系統(tǒng)10可被配置成要求在被相機(jī)16-1和16-2的立體對成像的場景中存在一定數(shù)目的RM 54。在此類實(shí)施例中,處理電路24和/或36被配置成例如在每個(gè)幀中評估圖像數(shù)據(jù),確定最小所需數(shù)目的RM 54是否可見,并且如果不可見,則從運(yùn)行操作狀態(tài)過渡至故障操作狀態(tài)。
特別地,已受益于在前文描述和關(guān)聯(lián)附圖中提出的教導(dǎo)的本領(lǐng)域的技術(shù)人員將想到所公開發(fā)明的修改及其它實(shí)施例。例如,本文中的教導(dǎo)適用于任何數(shù)目的立體相機(jī)對以及超過兩個(gè)相機(jī)的使用,例如,其中,具有重疊視場的三個(gè)、四個(gè)或更多相機(jī)中和之間的不對準(zhǔn)被用于3D測距和對象檢測。
因此,要理解的是本發(fā)明不限于公開的特定實(shí)施例,并且修改及其它實(shí)施例意圖被包括在本公開的范圍內(nèi)。雖然在本文中可采用特定術(shù)語,但其僅是在一般且描述性的意義上使用而不是出于限制的目的。