專利名稱:用于相機校準誤差的運行時測定的系統和方法
技術領域:
本發明涉及到視覺系統且更具體的涉及視覺系統相機的校準。
背景技術:
機器視覺系統通常應用于工業中以確定關于預設的二維(2D)或三維(3D)坐標空間的部件和對象校準。這些系統采用各種技術和程序,通常基于已訓練的對象模型,以確定對象的對準。相機校準是計算機視覺的一個重要步驟——在二維(2D)和三維(3D)成像系統中皆是。相機校準包含對被稱為外部和內部參數的相機位置和鏡頭特性的建模。相機校準可以在單個相機或如包括一個或多個立體攝像頭的系統的多相機配置中施行。立體攝像 頭和其他形式的3D傳感器能夠產生一個對象的3D深度的圖像。這些相機的校準確定了所觀測2D圖像空間與3D世界之間的關系。在相機校準之后,3D信息可以從2D計算機圖像坐標中推斷出來,同樣的,2D圖像坐標也可以從3D信息中推斷。更具體的是,相機校準包含對圖像形成系統建模,建模是通過估計內置幾何和光學相機特性(內在參數,其中包括有效焦距,或圖像平面到投影中心距離,鏡頭畸變系數,X的縮放因數,相機的掃描和采集時間誤差,圖像平面原點的計算機圖像坐標)及相對于一限定的世界坐標系統(外部參數)的相機3D位置和方向。相機的內部和外部(通常被稱為相機校準參數)是用于運行時調準或檢查任務,以移除鏡頭畸變和解釋在3D空間中所觀測的2D圖像的特征點。相機校準的精確度直接影響視覺系統的性能。在圍繞包含一個對象的場景的一個或多個分別的有利點,一個或多個2D或3D相機的使用可以為產生一個該主體對象關于世界坐標空間的整體圖像提供優勢。通過結合不同相機的圖像,該對象某些部分中可能發生在一個或多個圖像上的各種遮擋和障礙可被其他有利點獲取的圖像所補償。因此,在所有情況下,特別是在視覺系統可以使用多個2D或2D相機時,相機校準的精確度對視覺系統的整體性能來說至關重要。然而,相機校準通常被認為是一種一次性的視覺系統設置過程。它通常由技術人員執行,他們明顯比典型的運行時用戶具有更多視覺系統的知識——運行時用戶往往是生產線上的工人和他們的管理者。通常情況下,在系統校準后,相機參數在被這些運行時用戶重復使用于機器視覺任務中時沒有考慮到當前校準的真實精確度。校準是一個艱巨而耗時的任務,由熟練的技術人員承擔,因此它最好只在有實際需要時執行。然而,當視覺系統工作在不利的環境運行時,比如生產線中,實際相機位置和鏡頭畸變可能會由于熱膨脹、振動、無意中焦點的變化等等而改變。因此,如果相機校準不再代表所觀測2D圖像和3D世界之間的關系,機器視覺應用程序是次最佳地運行的。此外,即使機器視覺應用程序正在次最佳地運行,由于相機校準誤差,也可能難以追查該應用程序性能惡化的根本原因。相機校準的周期性檢驗可以幫助確保相機在可接受的校準參數下運作,并避免執行不必要的校準程序,或者相反的,避免繼續操作已失準的相機。一種用于周期性檢驗相機校準的新穎有效的方法,適用單一或多個二 2D或3D相機,在美國專利申請序列號12/346773,題為“視覺系統中的相機校準檢驗的系統和方法(SYSTEMAND METHODFORVALIDATING CAMERA CALIBRATION IN A VISION SYSTEM)” 中教導,由 Xiangyue Ye 等人發表,其技術將作為有用的背景信息以引用的方式并入本文中。簡而言之,這種檢驗程序需要使相機系統脫離運行時操作并將校正目標放置到相機的視域中。檢驗程序之后就使用該目標執行,通常由系統運行時操作員而不是校準技術員執行。這一程序產生了當前的內部和(在多相機系統情況下的)外部參數。內部參數包括有效焦距,或圖像平面到投影中心距離,鏡頭畸變系數,X的縮放因數,由于相機的掃描和采集時間誤差產生的已獲得圖像的原點移位。外部參數通常是由該相機關于一個限定的世界坐標系統的3D位置和方向所定義。這些當前參數通過已存儲的、設置時的內部和外部參數來分析,以確定是否相機系統和/或其中個別相機仍保持在可接受的校準范圍之內。這一檢驗過程大大縮短了系統停機 時間,因為該檢驗過程只需要一小部分校準時間,而且只有當檢驗過程表明該相機“失準”時才需執行再校準。同樣,它可以由系統運行時操作員執行。雖然如此,這種方法仍需要該系統在檢驗過程執行時停止生產。執行檢驗的頻率可能產生問題,因為過于頻繁的檢驗需要視覺系統更多的停機時間,從而降低了生產線的生產量。相反的,過少的檢驗可能使3D視覺系統承擔惡化的相機校準的過度的偽拒絕/偽接受的風險。因此很需要提供一個使系統在運行時不需要采取脫機方式也無需由系統操作員承擔的單獨檢驗過程即可診斷相機系統的校準的系統和方法。。這樣一個系統和方法應允許頻繁驗證,該頻繁驗證更好地確保不會因失準的相機系統而產生錯誤讀數。
發明內容
本發明提供了用于相機校準誤差(精確度)的運行時測定(自我診斷)的系統和方法,典型地涉及相機外部參數,基于場景中所獲得對象的運行時測量的歷史統計數據。運行時測量的一個例子是調準分數,其基于與已訓練的對象模型的觀測以及預期的圖像數據的匹配而定義。這樣的安排避免了為診斷系統(一個或多個)相機是否保持被校準而終止視覺系統的運行時操作和/或停止由視覺系統支持的生產線的需求。假設由視覺系統檢驗的對象或特征隨時間大致相同,則視覺系統積累部分校準結果的統計數據并存儲中間結果用作當前系統精確度的指標。對于多相機視覺系統來說,說明性地利用交叉驗證來識別個別有問題的相機。該系統和方法允許更快、更廉價和更直接的與惡化的相機校準有關的視覺系統故障診斷。在一個說明性實施例中,由多個相機組成的系統,說明性地包含三個或多個相機,是從離散的有利點對準一個場景。所述至少三個相機首先被校準,其中包括為至少三個相機的每個查找各自的外部校準參數。第一對象特征或該對象整體(或其中一部分)是利用所述至少三個相機中的第一多數在三維空間中被發現的。然后將推導出該第一對象特征的第一次測量值或第一對象位姿。第二對象特征或該對象的整體(或其一部分)是利用所述至少三個相機中的第二多數在三維空間中被發現的。然后將推導出該第二對象特征的第二次測量值或第二對象位姿。所發現的第一特征可能大體上類似所發現的第二特征,或兩者可能不同并且被已知物理維度所分離。之后第一次測量值和第二次測量值會相對于以下參數中至少一個而相比較(i)在校準過程中確定的精確度,(ii)所需的系統精確度,以及
(iii)兩種特征的已知屬性。說明性地,第一次測量值包括第一特征的第一位置的估計而第二次測量值包括第二特征的第二位置的估計。第一次測量值可以包括成功發現第一特征的得分,而第二次測量值可以包含成功發現第二特征的得分。在一個實施例中,比較的步驟或過程包括計算第一測量值和第二次測量值之間的差異并將差異與下列中至少一個相比較
(i)在校準過程中確定的精確度,(ii)所需的系統精確度,以及(iii)所述對象的已知屬性。在說明性實施例中,為響應比較的步驟或過程,發出一個信號,基于比較超越以下至少其一的步驟的結果而指示所需的再校準(i)步驟a中確定的精確度,及(ii)所需的系統精確度。這可以包括基于上 述比較產生新外部校準參數,并提供外部校準參數給至少三個相機中的一個,以再校準所述至少三個相機中的該至少一個。說明性地,所述至少三個相機的系統可包括機器視覺系統檢測功能,用以對通過一個被上述至少三個相機所觀察的體積空間的對象執行運行時機器視覺檢測。這些對象形成了來自多個相機的測量值生成的基礎。
以下本發明的描述參閱附圖,其中圖I是依照一說明性實施例的采用至少三個離散的相機以獲取三維空間中場景內對象的圖像的視覺系統的圖,包括示范性校準對象,用來建立該相機系統的初始校準;圖IA是被用于從事關于對象的機器視覺任務的示范性三相機系統的圖;圖IB是被用于從事關于對象的機器視覺任務的示范性四相機系統的圖;圖IC是示范性系統的圖,該系統中兩對(兩組多數)相機各承擔關于一對象的機器視覺任務,每組多個相機各相對于該對象的不同離散特征而運行;圖2是根據一說明性實施例的用于具有至少三個相機的視覺系統的建立和校準過程以及運行時檢驗和自我診斷過程的方框圖;圖3是一圖表,顯示了各種錯誤統計數據,其子集合使用在圖2的自診斷過程中;圖4是跟據這里的系統和方法的用于執行運行時自診斷的說明性過程的流程圖,再校準跟隨著該運行時自診斷;圖5是用于此處的實施例的展示了 3D世界坐標空間和2D相機坐標空間之間的映射點的圖形;以及圖6是用于此處的實施例的展示了對世界坐標系統中的點通過其在兩個或以上(多數個)相機中的圖像點的三角測量的圖形。
具體實施例方式A.系統綜沭和校準圖I描述了一個視覺系統100的典型機構,用以確定所查看場景的二維(2D)或三維(3D)校準或位姿,該場景可以包括一個或多個要由機械臂或任何由機器視覺過程控制或輔助的其他操作來檢驗、調準、促動的運行時對象。該系統可以根據本發明中的一說明性實施例被校準(且校準可在可自我診斷之后)。通常情況下,系統100可以是任何視覺系統機構,其中包含在其視野之內具有內含對象的場景128的至少三個相機。(一個或多個)相機或(一個或多個)傳感器120,122,124每個可以都包括如圖所示的2D相機,或可選擇的,一個3D傳感器。在被提供時,3D傳感器傳感器可適用于產生一場景的深度圖像,在一個立體攝像頭內于被其間一條已知的基線分開的兩個離散的相機(雙目觀察)之間使用光學三角測量。更普遍的,一個3D傳感器可以基于能產生深度數據的各種傳感方式,產生深度數據利用多種技術,多種技術包括但不限于立體(多相機)成像,光探測和測距或激光雷達(LIDAR),結構光,或采用掃描激光的設備。同樣,2D和3D成像設備可以根據各種原理進行操作,其中包括CCD和CMOS。無論是2D相機還是3D傳感器,多個附加相機/傳感器一般顯示為區塊125,可以位于相對場景128的不同、離散的有利位置。在提供多個立體攝像頭時,每個頭中的個體相機可被系統單獨訪問,或由頭生成的深度圖像可作為填充一處理器的原始數據而被提供。舉例來說,該2D(—個或多個)相機和/或3D傳感器所連接的該處理器被顯示為帶接口和顯示器的通用計算機130,它實現基于軟件和/或硬件的校準進程(150),也可實現運行時視覺進程(檢查,調準,操作等)(152)。該(一個或多個)視覺處理器的機構、類型和位置是高度可變的。在說明性實施例中,(一個或多個)該處理器可以包含在一個或多個2D相機和/或3D傳感器中,并且可提供適當的多相機和/或傳感器之間的有線或無線互連。在采用多2D相機和/或多個3D傳感器的實施例中,相機120,122,124各自定義 自己的內部坐標系,在此被描述為正交x,y和Z軸140,142,143,其中Z是指向場景的相機光軸,X和y定義了圖像平面。視覺處理器(130)適用于將每個這些個體相機的坐標系校準到一個公用的3D世界坐標系148,其由相對于場景128的x,y和z軸所表現。通過更深入的背景,關于3D成像及其相關概念的一般討論在共同受讓的Cyril C. Marrion等的美國專利申請號 12/345,130,標題為“System And Method For Three-Dimensional AlignmentOf Objects Using Machine Vision”中可以找到,將其教導作為有用的背景信息以引用的方式并入本文中。圖IA和IB詳細描述了兩例示范性相機系統的機構,根據本發明,該機構可以被校準和隨后(如圖所述)應用在對象的運行時視覺檢驗操作上。在每一個所描述的機構中,一對象在3D空間的調準是通過對所獲取圖像特征進行三角測量和評估預期特征與所測量圖像特征的匹配度來完成的。根據圖IA中的示范性三相機系統機構153,三個相機154,155,156位于就對象或零件157而言的不同方向,而對象或零件157通過基于允許一系列對象被檢驗和/或調準的移動式傳送帶或其他機制的系統的視野。該系統163可用于檢驗零件質量或允許機械臂(未顯示)在其他任務中的定位。在這個例子中的相機機構153通常類似于在視覺引導機器人技術(VGR)應用中所采用的。在這樣VGR應用中,一般來說零件157對于所有相機154,155,156來說是可見的。如下文進一步所述,一零件位姿的分數是基于三角測量誤差,即衡量所觀察圖像與已訓練模型的匹配程度。在這種情況下,該模型包括對每個相機可見的一個或多個特征158,159,160,如圖中虛線所示。交叉對照的差異衡量了來自多相機的相同特征點的光線彼此相交的密切度。相機系統的另一個不范性機構161含有四個相機163,164,165,166,如圖IB所不。相機163,164,165,166分別位于相對于零件162的一個離散位置,如圖所不,并且每個定義了一個面向離散的x,y,z (或其他坐標系統)方向的對應圖像平面167。在該機構中,一零件162的調準無需基于同時觀察共同特征的相機,而是說明性地,一零件位姿的評分是基于所觀察圖像與所預計圖像的匹配度,該預計圖像來源于已訓練的3D形狀模型。各種可選的多相機機構和運行時檢查/調準過程被明確考慮到。進一步參照圖1,一個示范性相機校準過程——例如(但不限于)市售的來自馬薩諸塞州納蒂克市康奈視公司的、與視覺系統相關的可用校準軟件——采用了一種靈活的技術,該技術通常需要相機來觀察某一已知其大小和形狀的平面校準對象170,在多個不同的方向呈現給(多個)相機120,122和124 (通過虛擬的例子顯示)。該校準進程可以調整每個相機的內部參數和外部參數(通常在一個多相機實施例中),用來為每個相機界定其3D世界坐標空間。在所描述的校準過程中,技術員或機器人將(箭頭171)校準對象170——此處是一說明性的已知其大小和形狀的方格盤,還可以包括一個中央基準點172——在多個位置彼此之間移動,而同時校準應用程序150運行于視覺處理系統130中以獲取和分析對象170在每一個位置上的圖像。利用所獲得的該對象的圖像,該相機校準過程可從與所觀測的位 于一平面上的2D圖像特征點和3D特征相關聯的(圖像對物理性)特征對應中估計內部參數和外部參數。在一個例子中,這些(圖像對物理性)特征對應可以通過運行例如在一方格盤校準板的圖像上的方格盤特征提取器視覺系統軟件工具而被自動確定,軟件工具和校準板均是從康耐視公司可獲得的。一個著名的可用于示例系統的相機校準技術是由Roger Tsai描述于“AVersatileCamera Calibration Technique for High-Accuracy 3D Machine Vision MetrologyUsing Off-the-shelf TV Cameras and Lenses”, IEEE, JOURNAL OF ROBOTICS ANDAUTOMATION,卷RA_3,No. 4,1987年8月,第323-344頁,其中的技術將作為有用的背景信息以引用的方式并入本文中。校準進程更普遍的描述參見前文引用的美國專利申請序號12/346773,題為 “SystemAnd Method For Validating Camera Calibration In A VisionSystem”。此外,這種進程的通常情況在以下基于兩個離散相機所獲得特征的位姿測量的上下文中被提及到。總之,相機校準是一種非線性最優化方法,用以使檢測到的2D圖像特征點(方格盤拐角)和所預測特征點之間的差異最小化。這相機校準方法可計算校準板位姿(相對于相機)。現參照圖2,其中展示了系統校準進程、運行時調準或系統校準的檢驗和自我診斷任務的原理概述圖200。如圖所示,離線過程212的部分是零件或對象訓練過程213,在其中視覺系統被訓練為識別預設大小、地點和/或形狀的一個或多個不同對象特征(例如邊,印刷物,孔等)。可選地,該系統可以被訓練為識別該對象的整體形狀或其中一部分。該訓練取決于視覺系統所采用的特定應用程序。這些可以包括目標分析,邊緣檢測,旋轉和尺度不變性搜索等。其他視覺系統特定的設置過程214也發生在離線過程212。這些可以包括照明控制,與機械臂協調及其他各種操作。顯而易見的是,相機內部參數222和外部參數224是在校準226中產生的。這些內部外部參數是在系統運行時操作(塊230)中使用(箭頭225)。更具體的說,外部參數是在運行時間230執行的說明性校準自我診斷中使用。在所述說明性實施例中,設置存儲器220也存儲“錯誤”的統計數據228,其中包含關于所觀察圖像特征和所預測物理特征之間的差異的信息,該差異可以用來定義允許系統確定校準是否仍然在容忍范圍內的可接受閾值。參照圖3,存儲的錯誤統計數據228包括但不限于a.畸變的圖像坐標(實際獲得的像素)310中的精確度或差異。對每個估計的校準對象/板位姿來說,校準過程計算了每個2D特征點(板塊圖案中的方格盤拐角)的圖像平面上的2D位置,同時考慮到鏡頭畸變。精確度測量值對應于每個所觀察2D點和相關的所投影/畸變的2D位置之間的差異,并被存儲為錯誤統計數據228 ;b.無畸變圖像坐標(即三維坐標系中的投影平面z=l,其中z是每個像素的深度而x,y是視野中每個象素的2D坐標)320中的精確度或差異。對每個估計的校準板位姿來說,該過程計算了 3D點在Z=I投影平面上的線性投影。此外,該過程通過反鏡頭畸變映射了所需2D圖像點(換句話說,用所存儲的鏡頭修正系數重算這些點)。精確度測量值對應于所投射的2D點和相應的畸變2D點之間的差異,并被存儲為錯誤統計數據228 ;以及c.從立體三角測量330獲得的3D位置的精確度。對于多相機系統,對每個估計的校準板位姿來說,該過程計算了多相機經由三角測量成像的每個特征點的3D坐標,并保留了均方根匹配誤差(rmsFitEiror)。多相機特征點的三角測量位置和估計位置之間的差異被存儲為錯誤統計數據228。
上述的精確度測量a到c對于那些視覺系統中的普通技術人員來說是眾所周知的,而且可以使用那些普通技術人員所熟知的過程來生成。這些測量通常是用來比較每種相機校準方法。根據一實施例,這些錯誤統計數據228被存儲以便能夠用于隨后在運行時視覺系統操作期間的診斷相機校準準確性(圖2中的塊230)。請注意,可接受閾值可以根據特定的視覺系統應用需求進行不定的設置。就是說,特定的應用程序可能要求較高的精確度,需要較低的可接受閾值(例如,校準和運行時/驗證差異之間一個較小的不同)。相機校準的精確度,如上所述,直接影響視覺系統的性能。雖然大多數視覺系統把相機校準看做是一次性的系統設置任務,一個圖像形成系統的實際行為可能隨時間而偏移,歸結于相機框架的熱膨脹、無意中相機移動等。解決這種偏移的一種方法是定期再校準相機。然而,校準相機是一項艱巨的任務,需要采集校準目標各種位姿的多幅圖像,可能會很費時。此外,它通常涉及一個技術熟練人員,如系統集成商。因此,相機校準(塊226)通常只有在需要的時候執行,且由技術熟練的專家來完成。B.運行時過稈根據一說明性實施例,一個校準自我診斷過程是整個運行時視覺系統操作230的一部分。一般來說,在這個例子中的系統使用多相機基于一訓練模型連同所存儲內部參數222、外部參數224和錯誤統計數據228 (來自過程分支234)來調準并檢驗的對象/零件。調準結果收集來自測量值,包括一個或多個對象特征或對象位姿的估計位置(在X,1,z世界坐標,或另一個世界坐標系統中)。這些數據可用于根據運行時塊240計算調準分數。如圖所示,運行時過程可以收集調準結果以及中間結果的歷史統計數據(塊250)。這些都被提供給存儲器260,它基于三個或以上相機的子集或群組(多數個)或整個系統來收集和組織調準結果和中間結果的統計數據。因此,這些群組可以定義為包括至少2個相機但少于所述至少三個相機的整個相機組。就是說,該系統生成一套相機組合的N中選M的群組或子集。每個由視覺系統估計的特征位置或位姿都是用一個評分公式被說明性地評估,該評分公式定義為測量已訓練3D模型和所觀測圖像數據的匹配度。位姿候選和相關分數可以通過選擇每個N-選-M]相機組合來估計。更具體的說,存儲器260可以包含關于所觀測圖像特征和所預計物理特征之間差異的統計數據。舉例而言,圖IA中的3-相機機構(VGR)定義了 3_選_2,即3種相機組合,該組合可用于零件調準(位姿估計)。而如圖IB所示的4相機機構定義了 4-選-2加上4-選-3,即10種相機組合,可用于零件調準(位姿估計)。該10種相機組合中,使用相鄰2個相機進行零件調準的4種相機組合可能是最具代表性的,原因在于其良好的視角。在運行時過程270中,所存儲的統計數據(塊260)是用來確定相機是否保持在一個預設的校準精確度或閾值內。一種情況下該閾值可以是一個可能取決于或可能不取決于具體視覺任務的預設值。對一個非常精確的任務的例子,閾值可能是一個非常小的值,而一個粗略的(trough)操作任務可能允許一個更大的值。該過程270確定哪些個別的照相機(或相機組)在精確度上已足夠的偏移。一般來說,這樣的偏移涉及到外部參數——一個相機相對于系統內其他相機的相對狀態——而不是內部參數。然而,內部參數的儲存是明確計劃的,而且這些參數可用于隨后的任何再校 準步驟(226 )。決定步驟280確定一個或多個相機是否已經足夠的偏移,以保證一個再校準程序的性能。如果所述閾值還沒有達到,那么該系統繼續進行在運行時零件或對象的檢驗和/或調準的正常操作期間的監測和存儲統計數據(來自過程分支290),依照步驟240,250,260和270。然而,如果預設的精確度/閾值在一個或多個系統內相機被超過,那么決定步驟280會分支(通過分支292)到校準步驟226。如下文所述,該系統可以保持在線并發出一個指示或警告給操作員,或可能停止運行并且等待操作員的行動(例如,一個再校準過程)。作為步驟280的一部分,該系統可以傳送在運行時過程(230)中產生的外部參數和差異數據,以便它可以被用來確定需要再校準的(一個或多個)相機。此外,可以預計到自動化再校準程序可以用來使用更新的外部參數(依照傳統技術)自動再校準(一個或多個)相機。根據步驟270比較校準測量值與運行時統計數據可以使用各種不同的技術來完成。一個實施例是比較運行時統計過程中的精確度觀察和那些使用統計假設檢驗測量獲得的校準過程。給定一個校準測量值的分布和運行時測量的分布,其為兩種分布的統計相關性。零假設(Null Hypothesis)可以被設定為兩個程序具有相同的精確度,帶有特定的統計意義。一旦一個決定在兩組觀察結果的基礎上做出,終端用戶就可以決定相機是否需要重新校準。另一個實施例提供了一個過程將最大差異和根據作為在相機校準時間觀測到的差異的函數所設置的閾值進行比較。現在參照圖4,它描述了一個一般化過程400,用于根據一說明性實施例,在三個或多個相機機構中,相機校準的運行時自我診斷。通過舉例,該過程可以被實例化于一個運行在計算機或處理器上的診斷應用程序180 (圖1),或者它可以直接被提供給系統內一個或多個相機的硬件。校準進程最初是依照步驟410以及如上所述而離線執行的。在這個過程中,例如關于多種相機群組或子集合(如相機對)的特征位置或位姿的測量值之間的差異的外部參數和其他參數和統計數據被產生和存儲。如前所述,“相機”在此處的定義是可獲得一個場景的離散圖像的任何設備。傳感器是一種相機的形式,它可以包括一個或多個成像設備(相機,以及其他用于三維成像的測距設備)。過程400隨后進入運行時階段(虛線420),其中對象特征或整體對象可被系統內的每個相機所發現——被如塊430,432,434的至少三個相機以及可應用的其他相機(塊436)所發現。所發現的特征可能實質上相同(即每個相機一般發現與在世界x,y,z或其他坐標中自己所估計位置相同的特征)。可選地,不同的相機可以發現一個或多個不同特征,這些特征位于在物理空間中相對彼此已知的位置。在有些相機會對其他相機已發現的特征有退化的或模糊的視像的地方,這可能很正常。可選地,每個相機可以基于已訓練模型確定三維空間中該對象的一個位姿。根據塊430,432,434,436,這些相機中每一個都確定一個該對象特征的“測量值”。說明性地,測量值可以是估計的X,y,z (或其他坐標系統)位置,該位置用于特征、位姿或該特征或對象被每個相機發現的成功度的評分。在步驟440來自每個相機的測量值可以相對于系統中每一個相機被存儲。他們可以組織成相機群組并且轉化成適當的格式。在三維空間中的特征位置和/或位姿可以由種類繁多的常規機器視覺技術來確定,其中包括邊緣查找,目標分析,旋轉和尺度不變性搜索等。一種在3D中查找位姿的技術還被描述于上文中合并的美國專利申請序號12/345,130,題為“SYSTEM AND METHOD FORTHREE-DIMENSIONAL ALIGNMENT OF OBJECT USING MACHINE VISION,,中。 在步驟450中,多個相機(來自整個多相機系統的相機群組或子集合,通常成相機對出現)中每一個所發現的特征測量值之后都會進行比較以推導出其間三角測量結果的評分或殘差。這也可以定義為差異。這些比較參照一閾值或精度值輪流被分析。精度值可以被定義為一個理想的預設值,由用戶提供或預編程在系統之中。這樣一個離散閾值可以部分基于所需的精確度,該精確度指示了相機偏移的公差水平——即低精確度在需要再校準之前允許更多的相機偏移,而較高精確度決定了較少的相機偏移。另一方面,該精確度可以是一個根據校準期間產生的殘差或差異的累積而定義的系統精確度。在決定步驟460中,對來自步驟450中每個相機群組或子集的測量值的比較,其結果是閾值或精確度超出,會引起系統發出信號來再校準,或采取其他適當的行動(步驟470)。采取的行動可取決于若干因素和程序指令。例如,如果不是大大超過閾值,系統會發出進行再校準的警告但仍繼續運行。可選地,所述信號可以導致系統關閉和發出警報聲。在進一步的實施例中,該系統可以選擇性地使用存儲的測量值,其中若干對象的檢驗循環作為目前系統狀態的合理準確的指標,以便為一個或多個失準相機獲得新的外部參數(步驟480)。這些新的外在參數可以被返回到適當的(一個或多個)相機(通過過程分支482),并用于執行再校準,通過人工或自動化實現(例如更換相機現存的外部參數為可解釋所檢測到的偏移的新的外部參數)。再校準可以在離線時完成,或者在提供適當的應用程序時,用再校準的相機以即時的方式完成,又或者在至少其他系統內未再校準的相機保持在線以繼續檢驗任務時完成。在任何再校準中,可考慮到內部參數也可以使用適當的校準對象和/或其他程序進行更新。在決定步驟460確定為每個相機群組所比較的測量值保持在允許的精確度內時,運行時過程繼續進行(通過過程分支484),并且積累進一步的測量值。注意到對于任何系統或所需精確度的比較都可以考慮到許多檢驗周期的平均(歷史)測量值,使得相對較小數目的異常測量值不會產生過早的再校準信號。注意到一相機由于偏移產生的可接受誤差可以基于誤差分布。例如,該系統可以適用于復查相對于誤差歷史上的位置的均方根(RMS )誤差。一般來說,給定三個或多個相機,該系統包括對象測量值中固有的冗余。這種冗余允許測量值中整個相機組的子集團群組之間的分歧,以顯示其中至少一個相機的失準條件。C.確定和比較位置和位姿估計的說明性技術
根據圖4的比較步驟450,該系統可以采用各種技術來確定一個對象的3D位置或位姿,并基于估計推導出誤差或差異。下面是一個確定和比較的說明性技術。I.從多相機中的2D圖像點估計一個特征點的3D位置遵循相機校準,一個在物理空間的3D點可以映射到一個在圖像空間的2D點;一個在圖像空間的2D點可以映射到一條在物理空間的3D射線。以下對映射的描述作進一步討論,參見由Richard I. Hartley和Andrew Zisserman所著,劍橋大學出版社2004年出版的圖書《Multiple View Geometry))(第二版),作為技術背景。為簡化現有描述,目前假定徑向畸變可以忽略不計。因此,來自3D世界坐標系510 —個點到處理器圖像坐標系統520的映射是由相機校準矩陣M所控制的。對于一個有η個相機的系統,這些矩陣可以表示為Mi,I彡i彡η。參照圖6,根據方程式Pi=MiP,點P在世界中被映射為Pi。同樣給定一個點的圖像(如圖所示的示范點Pl和P2)于兩個或多個相機中(如圖所示示范相機I相機2),它在世界坐標系統中的位置可以使用三角測量來計算。對于在各自的相機i (相機1,相機2)中的點Pi (P1, P2)來說,其圖像投射為射線Ri (R1,R2)。在世界坐標系中射線的方程式是由 Pi(A)=Mr □ Pi+λ Ci給出,此處Ci (C1和C2)是世界坐標系統中的相機中心。CjPMiO是從相機校準參數中獲得。世界坐標系中的點可以通過查找來自多個相機的射線之間的交叉點來獲得。在實踐中,當存在噪聲時,2條射線(Rl和R2)不能保證相交。有幾種方法可在這種情況下作三角測量。該說明性實施例使用一種技術,該技術首先找到在世界坐標系統中一個點,該點到所有射線距離之和最小。基于從相機中心到該點的距離和射線到光軸的角度,這一估計被精細化。其他三角測量技術也可以被用來輔助或替代這一技術。因此,進一步參照圖6,點P的值是使用三角測量推導出的,如此處所述,并且位置 是通過找出方程式?1(入)=|^口?1+入(;和?2(@)=厘2口?2+@(2中λ和β的值而計算得出。2.從2D和3D的對應關系估計對象的3D位姿對象的位姿是指需要將一對象模型從其內在坐標系統映射到與傳感數據協調一致的3D剛體變換。估計剛體位姿意味著確定在3D空間中來自2D圖像的剛體運動。因為對3D模型的了解,估計進程依賴于圖像中的一些2D特征和它們在3D模型上的副本之間的對應關系。不同位姿估計問題的解決方案可見于Haralick, R. Μ.的《Pose estimation fromcorresponding point data)), IEEE Transactions on Systems, Man and Cybernetics,第19 卷,第 6 期,1989 年 11 月 /12 月,第 1426-1446 頁。通過進一步說明方式,并且如前述的Tsai的出版物中所提供的,圖5闡釋了該相機模型的基本幾何學。(xw,Yw, zw),定義了對象點P在3D世界坐標系統中的3D坐標。(X,Y,Z)定義了對象點P在3D相機坐標系統520中的3D坐標510,坐標系統520以點O為光學中心,z軸與光軸相同(同樣參見圖I)。(x,y)是以Oi (光軸z和前圖像平面530的交叉點)為中心,平行于X軸和y軸的圖像坐標系統。f是前圖像平面530和光學中心O之間的距離。如果使用一個完美的針孔相機模型,(xu,yu)是(X,Y,Z)的圖像坐標。(xd,yd)是實際圖像坐標,由于鏡頭畸變而不同于(xu,yu)。然而,由于相機現已被校準,鏡頭畸變可以在映射之前得到修正。
從3D世界坐標向2D相機坐標系統的映射被說明性地表現為四步轉化,按照下列步驟進行體轉I
權利要求
1.一種在至少三個相機的系統中用于確定相機校準誤差的方法,包括以下步驟 a)校準該至少三個相機,包括查找該至少三個相機中每個相機各自的外部校準參數; b)利用該至少三個相機中第一多數來查找在三維空間的第一特征,并確定該第一特征的第一測量值; c)利用該至少三個相機中第二多數來查找在三維空間的第二特征,并確定該第二特征的第二測量值;以及 d)針對以下至少其中一個(i)步驟(a)中確定的精確度,(ii)所需的系統精確度以及(iii)該第一特征和第二特征的已知屬性,比較第一測量值與第二測量值。
2.根據權利要求I所述的方法,其中所述第一特征是(a)與第二特征實質上相同及(b)不同于第二特征中的一個。
3.根據權利要求I所述的方法,其中所述第一測量值包含一個估計的第一特征的第一位置而第二測量值包含一個估計的第二特征的第二位置。
4.根據權利要求2所述的方法,其中所述第一測量值包含在查找第一特征中的成功的評分而第二測量值包含在查找第二特征中的成功的評分。
5.根據權利要求I所述的方法,其中步驟(d)包括計算第一測量值和第二測量值之間的差異,并針對以下至少一個比較該差異(i)在步驟(a)中確定的精確度,(ii)所需的系統精確度,以及(iii)第一個特征和第二特征的已知屬性的至少一個。
6.根據權利要求5所述的方法,其中已知屬性包括第一特征和第二特征之間的一個已知距離,以及至少三個相機中的第一多數其中包括至少兩個相機的第一群組和至少三個相機中的第二多數其中包括至少兩個相機的第二群組。
7.根據權利要求I所述的方法,進一步包括,響應步驟(d)基于比較步驟的結果超出以下至少一個(i)在步驟(a)中確定的精確度,(ii)所需的系統精確度,發出信號指示需要再校準。
8.根據權利要求7所述的方法,其中發出信號的步驟包括基于步驟(d)產生新的外在校準參數,并將外部校準參數提供給所述至少三個相機中的至少一個,以再校準所述至少三個相機中的所述至少一個。
9.根據權利要求I所述的方法,其中在步驟(a)中確定的精確度包括一基于校準殘余誤差的的值的集合。
10.根據權利要求9所述的方法,進一步包括提供新的外在參數以再校準按照步驟(a)的所述至少三個相機中的至少一個。
11.根據權利要求I所述的方法,其中至少三個相機的系統包括一機器視覺系統檢驗功能以便對通過一被所述至少三個相機看到的體積空間的多個對象執行運行時機器視覺檢驗。
12.根據權利要求I所述的方法,其中所需的系統精確度是基于每個第一次測量值和第二次測量值的歷史值。
13.根據權利要求I所述的方法,其中所需的系統精確度是基于一個預先確定的閾值。
14.根據權利要求13所述的方法,其中所述閾值是基于一個運行時視覺系統任務的理想精確度而定義的。
15.根據權利要求I所述的方法,進一步包括在步驟(a)中將內部參數提供給所述至少三個相機中的至少一個并且基于新的內部參數對所述至少三個相機中的所述至少一個進行再校準。
16.根據權利要求I所述的方法,其中已知屬性包括第一特征和第二特征之間的已知距離,以及至少三個相機中的第一多數其中包括至少兩個相機的第一群組和至少三個相機中的第二多數其中包括至少兩個相機的第二群組。
17.一種用于確定在至少三個相機的系統中的相機校準誤差的方法,包括以下步驟 a)校準所述至少三個相機,包括為所述至少三個相機中每一個查找各自的外部校準參數; b)用至少三個相機中的第一多數查找三維空間中的第一對象位姿并確定第一對象位姿的第一測量值; c)用至少三個相機中的第二多數查找三維空間中的第二對象位姿并確定第二對象位姿的第二測量值;以及 d)針對以下至少其中一個(i)步驟(a)中確定的精確度,(i i )所需的系統精確度,比較第一測量值與第二測量值。
18.根據權利要求17所述的方法,其中第一測量值是第一位姿的評分,而第二測量值是第二位姿的評分。
19.一個用于在至少三個相機的系統中確定相機的校準誤差的系統,其中包括 a)至少有三個相機,其中每一個都包括各自的外部校準參數; b)所述至少三個相機中的第一多數,該第一多數查找三維空間中的第一特征并確定該第一特征的第一測量值; c)所述至少三個相機中的第二多數,該第二多數可查找三維空間中的第二特征并確定該第二特征的第二測量值;以及 d)—比較進程,其針對以下至少其中一個(i)關聯于外部校準參數的精確度,(ii)所需的系統精確度,以及(iii)第一特征與第二特征的已知屬性,比較第一測量值與第二測量值。
20.根據權利要求19所述的方法,其中所述已知屬性包括第一特征和第二特征之間的已知距離,以及至少三個相機中的第一多數其中包括至少兩個相機的第一群組和至少三個相機中的第二多數其中包括至少兩個相機的第二群組。
21.根據權利要求20所述的方法,其中所述第一群組的至少兩個相機的每個都不同于所述第二群組的至少兩個相機。
22.一個用于在至少三個相機的系統中確定相機校準誤差的系統,包括 a)至少三個相機,每一個都包括各自的外部校準參數; b)所述至少三個相機中的第一多數,該第一多數查找三維空間中的第一對象位姿并確定該第一對象位姿的第一測量值; c)所述至少三個相機中的第二多數,該第二多數查找三維空間中的第二對象位姿并確定該第二對象位姿的第二測量值;以及 d)—比較進程,其針對以下至少其中一個(i)關聯于外部校準參數的精確度,(ii)所需的系統精確度,比較第一次測量值與第二次測量值。
全文摘要
本發明提供了相機校準誤差(精確度)運行時測定(自我診斷)的系統和方法,典型地涉及相機外部參數,基于場景中所收入對象的運行時調準分數的歷史統計數據,基于與已訓練的對象模型的觀測和預期的圖像數據的匹配而定義這些分數。這樣的安排避免了為診斷系統(一個或多個)相機是否保持被校準而終止視覺系統的運行時操作和/或停止由視覺系統支持的生產線的需求。假設由視覺系統檢驗的對象或特征隨時間大致相同,則視覺系統積累部分校準結果的統計數據并存儲中間結果用作當前系統精確度的指標。對于多相機視覺系統來說,說明性地利用交叉驗證來識別個別有問題的相機。該系統和方法允許更快、更廉價和更直接的與惡化的相機校準有關的視覺系統故障診斷。
文檔編號G06T7/00GK102782721SQ201080059217
公開日2012年11月14日 申請日期2010年12月23日 優先權日2009年12月24日
發明者D·J·邁克爾, D·Y·李, G·什瓦拉姆, 葉薌蕓 申請人:康耐視公司