本申請要求2015年7月31日提交的標題為“機器視覺系統校準”的臨時專利申請No.62/199,459在35 U.S.C.§119(e)下的權益,其全部內容都通過引用整體包含于此。
技術領域
公開的裝置、系統、與計算方法大體上涉及機器視覺系統,并且更具體地說,涉及校準機器視覺系統。
背景技術:
在機器視覺系統中,可以利用一個或多個圖像捕獲裝置以在對象或成像場景內的表面上執行視覺系統處理。這些處理可以包括檢查、成像/符號解碼、對象對準、和/或多種其它任務。在一些實施方式中,機器視覺系統可以用于檢查布置在成像場景內或者經過成像場景的工件。此場景可以通過一個或多個圖像捕獲裝置成像。通過圖像捕獲裝置捕獲的圖像可以通過機器視覺系統處理以確定關于成像場景內的特征的信息,諸如特征的現實世界位置、位姿等的信息。在一些應用中,可以校準圖像捕獲裝置以允許機器視覺系統以增加的準確性和可靠性執行視覺任務。
在一些情形中,可以利用校準目標來校準視覺系統中的圖像捕獲裝置。校準目標可以是具有準確地已知(例如,由于制造過程)或者可測量尺寸特征的任何對象。例如,校準目標可以包括校準板。校準板可以是使得具有在其表面上可見的不同圖案的平面對象。可以布置不同的圖案,使得機器視覺系統或用戶可以容易地識別通過圖像捕獲裝置獲取的校準板的圖像中的可視特征。一些示例性圖案包括點柵格、線柵格、蜂窩圖案,正方形棋盤、三角形棋盤等。此圖案通常地包括高度可定位特征。特征的定位中的準確性等級可能影響校準的準確性。
通過板的設計,諸如關于在此設計中明確定義的參考位置和/或坐標系統的位置和/或定向,每個可視特征的特征都是已知的。存在于此設計中的特征可以包括校準特征。校準特征可以是校準板的設計中的單獨特征,其特征可以容易地測量(例如,特征的位置、尺寸、顏色等),并且其通過標定設計的期望特征是已知的。例如,一些可能的校準特征位置包括棋盤圖案瓷磚的角或中心,或者點柵格中的點的中心,或者線柵格中的線交叉。
校準板設計可以包括以重復圖案布置的大量的校準特征。更基本地,校準特征可以從獲取的圖像容易地提取并且可以提供已知特征。在一些應用中,利用已知的尺寸特征來校準機器視覺系統。
技術實現要素:
一些實施方式包括機器視覺系統。機器視覺系統包括一個或多個接口,此一個或多個接口構造為提供與運動呈現裝置、第一圖像傳感器、第二圖像傳感器的通信。運動呈現裝置構造為提供平移移動與面內旋轉移動中的至少一個,并且與第一坐標系統相關。運動呈現裝置構造為直接地或間接地承載第一校準板與第二校準板,并且第一校準板與第二校準板相應地包括具有關于第一校準板的已知的物理位置的多個第一特征,與具有關于第二校準板的已知的物理位置的多個第二特征。第一圖像傳感器與第二圖像傳感器構造為相應地捕獲第一校準板與第二校準板的圖像,并且第一圖像傳感器與第二圖像傳感器相應地與第二坐標系統與第三坐標系統相關。機器視覺系統還包括構造為運行存儲在存儲器中的計算機程序的處理器。存儲在存儲器中的計算機程序可操作為致使處理器經由一個或多個接口將第一數據發送到運動呈現裝置,該第一數據構造為致使運動呈現裝置移動到要求的第一位姿;經由一個或多個接口接收來自運動呈現裝置的報告的第一位姿;以及經由一個或多個接口接收來自第一圖像傳感器的關于報告的第一位姿的第一校準板的第一圖像;以及經由一個或多個接口接收來自第二圖像傳感器的關于報告的第一位姿的第二校準板的第二圖像。計算機程序還可操作為致使處理器確定第一校準板上的多個第一特征與第一圖像中的多個第一特征的第一位置之間的多個第一對應關系;確定第二校準板上的多個第二特征與第二圖像中的多個第二特征的第二位置之間的多個第二對應關系;至少部分地基于多個第一對應關系與報告的第一位姿確定第一坐標系統與第二坐標系統之間的第一轉換;以及至少部分地基于多個第二通信與報告的第一位姿確定在第一坐標系統與第三坐標系統之間的第二變換。
一些實施方式包括機器視覺系統。機器視覺系統包括一個或多個接口,此一個或多個接口構造為提供與運動呈現裝置、第一圖像傳感器、第二圖像傳感器的通信。運動呈現裝置構造為提供平移移動與面內旋轉移動中的至少一個,并且與第一坐標系統相關。運動呈現裝置構造為直接地或間接地承載第一校準板與第二校準板,并且第一校準板與第二校準板相應地包括具有關于第一校準板的已知的物理位置的多個第一特征,與具有關于第二校準板的已知的物理位置的多個第二特征。第一圖像傳感器與第二圖像傳感器構造為相應地捕獲第一校準板與第二校準板的圖像,并且第一圖像傳感器與第二圖像傳感器相應地與第二坐標系統與第三坐標系統相關。機器視覺系統還包括構造為運行存儲在存儲器中的計算機程序的處理器。存儲在存儲器中的計算機程序可操作為致使處理器經由一個或多個接口將第一數據發送到運動呈現裝置,該第一數據構造為致使運動呈現裝置移動到要求的第一位姿;經由一個或多個接口接收來自運動呈現裝置的報告的第一位姿;以及經由一個或多個接口接收來自第一圖像傳感器的關于報告的第一位姿的第一校準板的第一圖像;以及經由一個或多個接口接收來自第二圖像傳感器的關于報告的第一位姿的第二校準板的第二圖像。計算機程序還可操作為致使處理器確定第一校準板上的多個第一特征與第一圖像中的多個第一特征的第一位置之間的多個第一對應關系;確定第二校準板上的多個第二特征與第二圖像中的多個第二特征的第二位置之間的多個第二對應關系;確定第一變換,其允許在與運動呈現裝置相關的第一坐標系統和與第一圖像傳感器相關的第二坐標系統之間映射;以及確定第二變換,其允許在與運動呈現裝置相關的第一坐標系統和與第一圖像傳感器相關的第三坐標系統之間映射。
一些實施方式包括另一種類型的機器視覺系統。機器視覺系統包括一個或多個接口,此一個或多個接口構造為提供與運動呈現裝置、第一圖像傳感器、第二圖像傳感器的通信。運動呈現裝置構造為提供平移移動與面內旋轉移動中的至少一個,并且與第一坐標系統相關,運動呈現裝置還構造為直接地或間接地承載第一圖像傳感器與第二圖像傳感器。第一圖像傳感器與第二圖像傳感器構造為相應地捕獲第一校準板與第二校準板的圖像,并且第一圖像傳感器與第二圖像傳感器相應地與第二坐標系統與第三坐標系統相關。第一校準板與第二校準板相應地包括具有關于第一校準板的已知物理位置的多個第一特征,與具有關于第二校準板的已知物理位置的多個第二特征。機器視覺系統還包括構造為運行存儲在存儲器中的計算機程序的處理器。計算機程序可操作為致使處理器經由一個或多個接口將第一數據發送到運動呈現裝置,該第一數據構造為致使運動呈現裝置移動到要求的第一位姿;經由一個或多個接口接收來自運動呈現裝置的報告的第一位姿;以及經由一個或多個接口接收來自第一圖像傳感器的關于報告的第一位姿的第一校準板的第一圖像;以及經由一個或多個接口接收來自第二圖像傳感器的關于報告的第一位姿的第二校準板的第二圖像。計算機程序進一步可操作為致使處理器確定第一校準板上的多個第一特征與第一圖像中的多個第一特征的第一位置之間的多個第一對應關系;確定第二校準板上的多個第二特征與第二圖像中的多個第二特征的第二位置之間的多個第二對應關系;至少部分地基于多個第一對應關系與報告的位姿確定第一坐標系統與第二坐標系統之間的第一轉換;以及至少部分地基于多個第二對應關系與報告的位姿確定第一坐標系統與第三坐標系統之間的第二轉換。
一些實施方式包括另一種類型的機器視覺系統。機器視覺系統包括一個或多個接口,此一個或多個接口構造為提供與運動呈現裝置、第一圖像傳感器、第二圖像傳感器的通信。運動呈現裝置構造為提供平移移動與面內旋轉移動中的至少一個,并且與第一坐標系統相關。運動呈現裝置進一步構造為直接地或間接地承載包括具有未知物理位置的多個特征的目標物體。第一圖像傳感器與第二圖像傳感器構造為相應地捕獲目標對象中的第一子組與第二子組多個特征,并且第一圖像傳感器與第二圖像傳感器相應地與第二坐標系統與第三坐標系統相關。機器視覺系統還包括構造為運行存儲在存儲器中的計算機程序的處理器。計算機程序可操作為致使處理器經由一個或多個接口將第一數據發送到運動呈現裝置,該第一數據構造為致使運動呈現裝置移動到要求的第一位姿;經由一個或多個接口接收來自運動呈現裝置的報告的第一位姿;經由一個或多個接口接收來自第一圖像傳感器的關于報告第一位姿的多個特征的第一子組的第一圖像;以及經由一個或多個接口接收來自第二圖像傳感器的關于報告第一位姿的多個特征的第二子組的第一圖像。計算機程序進一步可操作為致使處理器確定在第一圖像中的目標物體上的第一子組特征;確定在第二圖像中的目標物體上的第二子組特征;至少部分地基于多個特征的第一子組與報告的第一位姿確定第一坐標系統與第二坐標系統之間的第一變換,以及根據多個特征的第二子組與報告的第一位姿確定第一坐標系統與第三坐標系統之間的第二變換。
一些實施方式包括另一種類型的機器視覺系統。機器視覺系統包括一個或多個接口,此一個或多個接口構造為提供與運動呈現裝置、第一圖像傳感器、第二圖像傳感器的通信。運動呈現裝置構造為提供平移移動與面內旋轉移動中的至少一個,并且與第一坐標系統相關。運動呈現裝置還構造為直接地或間接地承載第一圖像傳感器與第二圖像傳感器。第一圖像傳感器與第二圖像傳感器構造為捕獲包括具有未知物理位置的多個特征的目標對象的圖像,并且第一圖像傳感器與第二圖像傳感器相應地與第二坐標系統與第三坐標系統相關。機器視覺系統還包括構造為運行存儲在存儲器中的計算機程序的處理器。計算機程序可操作為致使處理器經由一個或多個接口將第一數據發送到運動呈現裝置,該第一數據構造為致使運動呈現裝置移動到要求的第一位姿;經由一個或多個接口接收來自運動呈現裝置的報告的第一位姿;經由一個或多個接口接收來自第一圖像傳感器的關于報告第一位姿的多個特征的第一子組的第一圖像;以及經由一個或多個接口接收來自第二圖像傳感器的關于報告第一位姿的多個特征的第二子組的第二圖像。計算機程序進一步可操作為致使處理器確定在第一圖像中的目標物體上的第一子組特征;確定在第二圖像中的目標物體上的第二子組特征;以及至少部分地基于多個特征的第一子組與報告的第一位姿確定第一坐標系統與第二坐標系統之間的第一變換;以及基于多個特征的第二子組與報告的第一位姿確定第一坐標系統與第三坐標系統之間的第二變換。
在一些實施方式中,計算機程序可操作為致使處理器確定補償與運動呈現裝置相關的系統運動誤差的運動修正變換。
在一些實施方式中,計算機程序可操作為致使處理器在第一時間段以后再校準機器視覺系統,包括預確定:多個第一對應關系、多個第二對應關系、第一變換與第二變換。在一些實施方式中,再校準機器視覺系統包括調節一個或多個預校準參數。
因此相當寬泛地概述了公開主題的特征以便可以更好地理解下面其詳細的描述,并且以便可以更好地理解對本技術領域的當前貢獻。當然具有在下文中將要描述的并且其將形成所附于此的權利要求的主題的公開的主題的其它特征。應該理解的是這里使用的措辭與術語,是出于描述的目的并且不應被視為限定。
附圖說明
當結合其中相同的附圖標記表示相同的元件的下面的附圖考慮時,參照公開的主題的下面的詳細描述可以更加充分地理解公開主題的多個目的、特點與優點。
圖1示出了根據一些實施方式的基于單板的手眼(SPH)校準系統。
圖2A示出了根據一些實施方式的以靜態圖像捕獲裝置模式的坐標系統之間的關系;圖2B示出了根據一些實施方式的以移動圖像捕獲裝置模式的坐標系統之間的關系。
圖3示出了根據一些實施方式的在SPH校準系統中的SPH校準模塊的操作。
圖4示出了根據一些實施方式的SPH校準模塊的直線估計階段。
圖5示出了根據一些實施方式的基于跟蹤特征的手眼(TFH)校準系統。
圖6示出了根據一些實施方式的在TFH校準系統中的TFH校準模塊的操作。
圖7示出了根據一些實施方式的TFH校準單元的直線估計階段。
具體實施方式
在下面的描述中,闡述了關于公開主題的系統與方法以及此系統與方法可以在其中操作的環境等的多個具體細節,以便提供對公開的主體的透徹理解。然而,對于本領域中的技術人員顯而易見的是,公開的主題可以在沒有此具體細節的情況下執行,并且未詳細描述本領域中眾所周知的一些特征,以避免使公開的主題復雜化。此外,應該理解的是,下面提供的實例是示例性的,并且應該考慮到其它系統與方法在公開主題的范圍內。
下面根據一個或多個實施方式引入了貫穿說明書使用的術語的示例性說明。這些說明不旨在限定。
在自動工業系統中兩個通常重要的部件是機器視覺系統與運動呈現裝置。視覺系統可以提供運行時環境的重要信息,使得運動呈現裝置可以情境感知。在一些高精度任務中,視覺系統可以提供運動呈現裝置的狀態的視覺反饋,使得可以進行調節以提高運動呈現裝置的準確性,以形成閉環控制系統。通常,機器視覺系統利用圖像捕獲裝置來探測運動呈現裝置周圍的視覺信息。
為了使用從圖像捕獲裝置獲得的信息,機器視覺系統應該能夠在圖像捕獲裝置的坐標系統與運動呈現裝置的坐標系統之間轉換。可以通過稱為手眼校準的程序確立(1)圖像捕獲裝置的坐標系統與(2)運動呈現裝置的坐標系統之間的關系,其中手指的是運動呈現裝置,而眼指的是視覺系統。
通常地,手眼校準包括利用運動呈現裝置使諸如校準板校準目標移動到多個不同位姿。在各不同位姿處,視覺系統可以獲取校準目標周圍的圖像。通過運動呈現裝置的預期的運動與由視覺系統觀察到的運動,校準系統可以確定視覺系統與運動呈現裝置的坐標系統之間的轉換。在一些情形中,替代移動校準目標,運動呈現裝置可以相對于校準目標移動圖像捕獲裝置以實現相同的目標。
用于手眼校準的通常準確且常用的校準目標是單個的大校準板,其通常大于單個圖像捕獲裝置的視野(FOV)或者大于由多個圖像捕獲裝置的FOV跨越的區域。大的校準板可以包括具有已知物理尺寸的大量的可靠特征。因此,大的校準板允許校準系統提供準確的手眼校準。然而,對于多種應用來說,大的校準板通常太笨重。實際上,基于大的校準板的校準系統可能需要人為干預,可能增加維護成本,或者在一些應用中可能是不實用的。
這里公開的實施方式解決了與基于大校準板的校準系統相關的問題。特別地,公開的實施方式提供了改進手眼校準系統的靈活性的兩個手眼校準機構。公開的實施方式允許在對于基于大校準板的校準系統不實用的應用中配置手眼校準。這些校準機構稱為基于單校準板的手眼(SPH)校準機構與基于跟蹤特征的手眼(TFH)校準機構,并且實施這些機構的校準系統稱相應地稱為SPH校準系統與TFH校準系統。
在一些實施方式中,SPH校準系統可以構造為使用多個小的校準板以便手眼校準,而不是單個大的校準板。在一些實施方式中,每個圖像捕獲裝置具有一個小的校準板。在一些實施方式中,可以剛性地并且與運動平面平行地安裝多個小的校準板。較小校準板的使用可以改進校準機構的靈活性:由于SPH校準系統不依賴于笨重、大的校準板,因此可以在先前不實用的應用中配置此SPH校準系統。例如,在非常大的平板電視上,將單個校準板安裝在實際部分上比構造大的校準板更實用。
使用多個小的校準板的典型挑戰中的一個是多個校準板相對于彼此未對準。換句話說,多個小的校準板中的一個或多個可能具有不同的面內旋轉,因為使校準板的面內旋轉完全對準是困難的。此外,小的校準板中的每個都通常與其自身的獨特坐標系統相關。因此,SPH校準系統可以構造為不僅確定校準板之間的相對面內旋轉與平移,而且確定校準板的實際坐標系統。當使用單個大的校準板時,通常不出現此挑戰。
在一些實施方式中,TFH校準系統將運行時間對象用作手眼校準的校準目標。由于運行時間對象被用作校準目標,因此TFH校準系統不需要用戶創建、購買、保持與存儲校準板。此外,使用運行時間對象能夠提高校準機構的靈活性。盡管運行時間對象可以提供與大校準板相比較少數量的可靠校準特征,TFH校準機構可以提高校準系統的靈活性。由于TFH校準系統不依賴于笨重、大的校準板,因此可以在先前不實用的應用中配置此TFH校準系統。
由于透鏡變形手眼校準在圖像捕獲裝置中通常地是非直線問題。不幸地的是,由于非直線問題可能包括局部解并且現有的非直線優化技術可能不能有效地識別整體解,因此不能容易且有效地解決此非直線問題。
為解決此問題,在一些實施方式中,SPH校準系統與TFH校準系統可以使用手眼校準的兩步驟方法。例如,校準方法的第一步驟中,SPH校準系統可以線性地接近坐標轉換之間的關系,并且解決此線性關系以對手眼校準確定近似解。隨后地,在第二步驟中,SPH校準系統可以通過利用來自第一步驟的近似解初始化非線性優化技術來解決此實際非直線問題。由于從第一步驟的近似解接近手眼校準的整體解,因此非直線優化技術可以有效地識別整體解。還可以通過TFH校準系統使用類似的兩步驟方法。
在一些實施方式中,SPH校準系統與TFH校準系統可以在靜態圖像捕獲裝置構造中操作。在此靜態圖像捕獲裝置構造中,當運動呈現裝置移動時,圖像捕獲裝置的物理位置保持不改變。通常地,當在此系統上校準圖像捕獲裝置時,校準對象或運行時間對象固定到運動呈現裝置并且在校準過程中通過運動呈現裝置移動。在此構造中,在全部圖像捕獲裝置中的位置都保持不改變。
在一些實施方式中,SPH校準系統與TFH校準系統可以在移動圖像捕獲裝置構造中操作。在移動圖像捕獲裝置構造中,圖像捕獲裝置可以安裝在運動呈現裝置上,使得它們的物理位置相對于運動呈現裝置的原位置改變。通常地,當校準在此系統上的圖像捕獲裝置時,校準板固定到機器的基部并且在校準過程中保持靜止,同時運動呈現裝置使圖像捕獲裝置四處移動。在此構造中,在全部圖像捕獲裝置中的相對位置都保持不改變。在一些實施方式中,運動呈現裝置運動必須與校準對象或運行時間對象平行。
在一些實施方式中,SPH校準系統與TFH校準系統可以在運動呈現裝置模式化系統誤差,并且確定用于控制運動呈現裝置的參數,例如(x,y,θ),以及原坐標系統中的運動呈現裝置的實際物理位姿之間的關系。
SPH校準系統
圖1示出了根據一些實施方式的SPH校準系統。圖1示出了機器視覺系統100與運動呈現裝置114。裝置視覺系統100包括大體上朝向包括運動呈現裝置114的場景指向的一個或多個圖像捕獲裝置102。圖像捕獲裝置102可以包括電耦合裝置(CCD)圖像傳感器或者互補金屬氧化物半導體(CMOS)–圖像傳感器、線掃描傳感器、飛點掃描器、電子顯微鏡、包括計算機斷層掃描(CT)掃描儀、磁共振成像機的X光裝置,和/或本領域中技術人員已知的其它裝置。
在一些實施方式中,機器視覺系統100包括計算裝置104。計算裝置104可以包括處理器106與存儲裝置108。處理器106可以執行指令并且一個或多個存儲裝置108可以存儲指令和/或數據。存儲裝置108可以是非瞬態計算機可讀介質,諸如動態隨機存取存儲器(DRAM)、靜態隨機存取存儲器(SRAM)、閃存、磁盤驅動器、光盤驅動器、可編程只讀存儲器(PROM)、只讀存儲器(ROM)或者任何其它存儲器或者存儲器的組合。存儲裝置108可以用于臨時地存儲數據。存儲裝置108還可以用于長期數據存儲。處理器106與存儲裝置108可以由特定目的的邏輯電路增補和/或并入到特定目的的邏輯電路中。
在一些實施方式中,計算裝置104可以包括SPH校準模塊110。SPH校準模塊110可以構造為調整SPH校準機構。SPH校準模塊110可以構造為經由一個或多個接口112將構造為致使運動呈現裝置移動到要求的第一位姿的第一數據發送到運動呈現裝置114。SPH校準模塊110還構造為經由一個或多個接口112接收來自運動呈現裝置114的報告的第一位姿;經由一個或多個接口112接收來自第一圖像處理器的關于報告的第一位姿的第一校準板的第一圖像;經由一個或多個接口112接收來自第二圖像傳感器的關于報告的第一位姿的第二校準板的第二圖像;確定第一校準板上的多個第一特征與第一圖像中的多個第一特征的第一位置之間的多個第一對應關系;確定所述第二校準板上的多個第二特征與所述第二圖像中的多個第二特征的第二位置之間的多個第二對應關系;至少部分地基于多個第一對應關系與報告的第一位姿確定第一坐標系統與第二坐標系統之間的第一轉換;以及至少部分地基于多個第二對應關系與報告的第一位姿確定第一坐標系統與第三坐標系統之間的第二轉換。
在一些實施方式中,SPH校準模塊110可以在兩步驟處理中確定第一轉換與第二轉換。在第一步驟中,SPH校準模塊110可以構造線性系統,此線性系統使未知參數、特征的對應關系、以及運動呈現裝置114的報告的位姿相關。隨后地,SPH校準模塊110可以通過迭代求解線性系統與非線性單個照相機校準步驟確定未知參數的估計值。在第二步驟中,SPH校準模塊110可以構造使得特征再投影誤差最小的非線性系統,化,并且利用非線性解算器求解非線性系統。在此第二步驟中,線性系統的解可以用作用于非線性解算器的初始值。在一些實施方式中,利用全部對應關系與運動再現裝置的報告的位姿同時地求解此轉換。
在一些實施方式中,可以在數字電子電路中、或者在計算機硬件、固件、軟件或者它們的組合中實施SPH校準模塊110。此實施可以是作為例如明確地體現在機器可讀存儲裝置中的計算機程序的計算機程序產品,以便通過例如可編程處理器、計算機、和/或多個計算機的數據處理裝置執行或者控制該數據處理裝置的操作。可以以任何形式的計算機或編程語言書寫計算機程序,包括源代碼、編譯代碼、解釋代碼和/或機器代碼,并且計算機程序可以以任何形式部署,包括作為獨立程序或作為子程序、元素或適于在計算環境中使用的其它單元。計算機程序可以部署為在一臺計算機上或者在一個或多個位置處的多臺計算機上被執行。
在一些實施方式中,計算裝置104可以包括一個或多個接口112。一個或多個接口112可以構造為在計算裝置104與運動呈現裝置114或圖像捕獲裝置102之間提供通信。可以在硬件中實施一個或多個接口112以便在諸如光學、銅和/或無線接口的多種介質中以及在多個不同協議方中發送與接收信號,其中一些可能是非瞬態的。
在一些實施方式中,計算裝置104可以包括服務器。可以利用操作系統(OS)軟件操作此服務器。在一些實施方式中,OS軟件以Linux軟件內核為基礎并且在服務器中運行特定應用,諸如監控任務與提供協議棧。OS軟件允許服務器資源為控制與數據路徑單獨地分配。例如,一些數據包加速卡和數據包服務卡專用于執行布線或安全控制功能,同時其它數據包加速卡/數據包服務卡專用于處理用戶會話流量。當網絡要求改變時,可以動態地部署硬件資源以滿足一些實施方式中的要求。
在一些實施方式中,運動呈現裝置114可以構造為將運動提供到布置在運動呈現裝置114上的對象。運動呈現裝置114可以包括機械臂的端部效應器、運動臺、或者能夠將運動提供到布置在裝置的對象的任意類型的裝置。
在一些實施方式中,在靜態圖像捕獲裝置構造中,運動呈現裝置114可以構造為承載多個校準板116,并且多個校準板116可以通過靜態圖像捕獲裝置102成像。運動呈現裝置114可以構造為沿著x軸135和/或y軸平移,由此使多個校準板116平移。運動呈現裝置114還可以提供面內旋轉,由此還旋轉校準板116。
在一些實施方式中,每個校準板116都可以足夠小,使得各校準板116都能覆蓋單個圖像捕獲裝置102的視野的大部分。在一些實施方式中,校準目標是平面,并且保持在相同的物理平面中,同時校準目標移動到各圖像捕獲裝置的視野中的多個位置。
在一些實施方式中,每個圖像捕獲裝置的光軸都無需垂直于校準目標116的平面。如通過將校準目標116布置在運動呈現裝置114上限定的校準目標116相對于圖像捕獲裝置圖像坐標軸的初始面內定向,可以是任意的。
在一些實施方式中,在移動圖像捕獲裝置構造中,多個校準板116可以是靜止的,并且可以將圖像捕獲裝置102安裝在運動呈現裝置114上,使得圖像捕獲裝置102可以構造為相對于多個校準板116移動。
在一些實施方式中,可以將通過圖像捕獲裝置102捕獲的一個或多個圖像傳送到計算裝置104以便進一步處理。一個或多個圖像可以經由一個或多個接口112傳送。
在一些實施方式中,計算裝置104可以構造為經由一個或多個接口112接收一個或多個圖像,以及經由一個或多個接口112接收運動呈現裝置位姿,并且將接收的圖像與運動呈現裝置位姿提供到SPH校準模塊110。隨后,SPH校準模塊110可以構造為處理接收的多個校準板116的圖像以及運動呈現裝置位姿以確定圖像捕獲裝置102的坐標系統與運動呈現裝置114的坐標系統之間的坐標轉換。
盡管圖1描述了具有四個圖像捕獲裝置102的機器視覺系統100,但是在一些實施方式中,機器視覺系統100可以包括全部大體上朝向場景的較少或較大數量的圖像捕獲裝置102。在一些實施方式中,單個圖像捕獲裝置可以用于使場景成像。
盡管圖1將運動呈現裝置114描述為能夠沿著x軸135和/或y軸140平移,但是在一些實施方式中,運動呈現裝置114能夠提供三維(3D)運動,包括沿著垂直于由x軸和y軸限定的平面的z軸的平移分量和/或者傾斜/旋出x-y平面的至少一個。在一些實施方式中,計算裝置104可以完全地自容納于圖像捕獲裝置102內,部分地容納于圖像捕獲裝置102內,或者在圖像捕獲裝置102之外。
坐標系統
在一些實施方式中,SPH校準模塊110使坐標系統與校準系統中的一個或多個部件相關。在SPH校準模塊110中使用的坐標系統可以如下設置:
原坐標系統(Home2D):Home2D是基礎參考空間,其中描述了全部其它坐標空間以及它們的關系。Home2D是標準正交的并且通過x軸與運動呈現裝置114的旋轉中心限定。例如,Home2D的x軸與運動呈現裝置的x軸對準,并且Home2D限定為與x軸成90度。正y軸方向是沿著與運動呈現裝置的y軸大體相同方向。根據是否校準板或運動呈現裝置的運動被認為更準確,沿著軸的長度單元通過在校準板上的圖案或者通過運動呈現裝置的x單元行進提供。當此裝置位于原位置時,Home2D的起始點位于運動呈現裝置的旋轉中心。在校準系統中僅存在一個Home2D坐標系統。
圖像坐標系統(Raw2D):Raw2D是單個圖像捕獲裝置的像素空間坐標系統。存在用于每個圖像捕獲裝置102的此坐標系統的一個實例。初始地在此坐標系統中探測到圖像特征。由于透鏡與透視變形,Raw2D相對于Home2D坐標系統不是標準正交空間。每個圖像捕獲裝置的Raw2D坐標系統都獨立于其它圖像捕獲裝置的Raw2D坐標系統。
圖像捕獲裝置坐標系統(Camera2D):Camera2D是用于單個圖像捕獲裝置102的物理空間標準正交坐標系統(如在Home2D中觀察的)。存在用于每個圖像捕獲裝置102的此坐標系統的一個實例。它具有與Home2D坐標系統相同的長度單位。Camera2D的原點位于在Home2D中的與圖像捕獲裝置的圖像窗口的中心對應的位置處。它的x軸平行于在Camera2D原點處的Raw2Dx軸。在一些實施方式中,SPH校準模塊110使Raw2D在窗口中心處線性化,并且獲取線性化x軸的方向,并且獲取y軸的大體方向。每個圖像捕獲裝置的Raw2D坐標系統都通過單視圖、單獨成像捕獲裝置、校準模型與此圖像捕獲裝置的Camera2D系統相關。在移動圖像捕獲裝置構造中,由于當運動呈現裝置114移動到特定位姿時,圖像捕獲裝置102隨著運動呈現裝置114移動,因此每個圖像捕獲裝置的Camera2D坐標都取決于如通過SPH校準模塊110命令的運動呈現裝置的位姿。因此,在此情形中,Camera2D坐標系統也相對于Home2D坐標系統移動。在靜態圖像捕獲裝置構造中,Camera2D獨立于如通過SPH校準模塊110命令的運動呈現裝置的位姿。
校準板坐標系統(Plate2D):Plate2D是校準板的坐標系統。存在用于各校準板的此坐標系統的一個實例。校準板包括定義明確的校準圖案,其通常地包括至少一個基準點以限定系統原點與校準目標的坐標軸方向。在任意時間情形處,通過全部圖像捕獲裝置觀察的在單個校準板內的全部校準特征,都在相同的Plate2D坐標系統中進行描述。然而,此空間可以通過運動呈現裝置114在Home2D坐標周圍移動。Plate2D是標準正交坐標系統(如在Home2D中觀察的),盡管其長度單元可以與Home2D具有非恒等性比例因數。Plate2D和Home2D可以具有不同的利手性。每個校準目標Plate2D坐標系統都獨立于其它校準板的Plate2D坐標系統。
在靜態圖像捕獲裝置構造(例如,移動板)中,Plate2D取決于如通過校準系統命令的運動呈現裝置114的位姿。由于校準目標116隨著運動呈現裝置114移動,即使當運動呈現裝置114移動到不同位姿時,Plate2D從Stage2D轉換也是固定的轉換。然而,當運動呈現裝置114移動到不同位姿時,Home2D從Plate2D轉換不固定。因此,當運動呈現裝置114移動到不同位姿時,Plate2D坐標系統相對于Home2D坐標系統移動。
在移動圖像捕獲裝置構造中,Plate2D獨立于如通過SPH校準模塊110命令的運動呈現裝置的位姿。
校準對象坐標系統(Part2D):這是與校準對象(這可能不是校準板)相關的更加通常的坐標系統。Part2D用于表示在校準對象上的特征的相對位置。在一些實施方式中,Part2D可以設置為與Home2D或Stage2D相同。
臺坐標系統(Stage2D):Stage2D是標準正交坐標系統(如在Home2D中觀察的),其附接到運動呈現裝置,并且由此隨著運動呈現裝置移動。Home2D與Stage2D之間的關系通過二維剛性轉換提供,當運動呈現裝置114處于原位置時,這是恒等轉換。
在一些實施方式中,Home2D從Stage2D表示Home2D中的運動呈現裝置的實際物理位姿。Home2D從Stage2D可以限定Home2D與Stage2D之間的關系并且可以通過2D剛性轉換表示。
在一些實施方式中,SPH校準模塊110構造為在Home2D、Camera2D與Plate2D的利手性是獨立的假設下操作。利手性涉及x軸與y軸的相對位置。通過運動臺的軸線的方向來確定Home2D利手性。Plate2D利手性伴隨在校準板上的圖案。通過校準板與圖像傳感器之間的光學路徑中的多個反射鏡確定Camera2D利手性。
在一些實施方式中,未修正的Home2D從Stage2D可以指示運動呈現裝置114的命令或報告的位姿。由于運動呈現裝置114中的系統性誤差,運動呈現裝置114的命令或報告的位姿可能不與Home2D(例如,Home2D從Stage2D)中的運動呈現裝置114的實際物理位姿匹配。由此,未修正的Home2D從Stage2D在某種意義上代表在校準以前的運動呈現裝置的位姿的最佳猜測。
圖2A示出了根據一些實施方式的靜止圖像捕獲裝置模式中的坐標系統之間的關系;圖2B示出了根據一些實施方式的移動圖像捕獲裝置模式中的坐標系統之間的關系。
圖3示出了根據一些實施方式的在SPH校準系統中的SPH校準模塊的操作。
SPH校準模塊110構造為確定一個或多個圖像捕獲裝置102的坐標系統(例如,Raw2D)與同運動呈現裝置114相關的坐標系統(Home2D)之間的關系。在一些實施方式中,SPH校準模塊110構造為在通過圖像捕獲裝置102拍攝的圖像中發現的Raw2D特征位置到當運動呈現裝置114移動通過已知的一組位姿時這些特征的物理Home2D位置之間建立對應關系。
在一些實施方式中,運動呈現裝置114承載多個校準板116。在此實施方式中,SPH校準系統被認為在靜止圖像捕獲裝置構造中操作。在其它實施方式中,運動呈現裝置114承載圖像捕獲裝置102。在此實施方式中,SPH校準系統被認為在移動圖像捕獲裝置構造中操作。
在步驟302中,SPH校準模塊110構造為指令運動呈現裝置114移動到預定位姿。一旦運動呈現裝置114接收指令,運動呈現裝置114就移動到預定位姿,并且將運動呈現裝置114的報告的位姿向回報告到SPH校準模塊110。由于運動呈現裝置114的有限準確性,運動呈現裝置114的實際位姿可以與由SPH校準模式110指令的命令位姿不同。
在步驟304中,SPH校準模塊110構造為指令圖像捕獲裝置102捕獲多個校準板的圖像。一旦圖像捕獲裝置102接收指令,每個圖像捕獲裝置102都能夠捕獲對應校準板116的圖像并且將捕獲的圖像傳送到SPH校準模塊110。
在一些實施方式中,可以在圖像捕獲裝置與校準板之間存在一對一對應關系。例如,第一圖像捕獲裝置可以構造為捕獲第一校準板的圖像;第二圖像捕獲裝置可以構造為捕獲第二校準板的圖像;并且第三圖像捕獲裝置可以構造為捕獲第三校準板的圖像。在另一些實施方式中,在圖像捕獲裝置與校準板之間可以存在多對一對應關系。例如,第一圖像捕獲裝置與第二圖像捕獲裝置可以構造為捕獲第一校準板的圖像;并且第三圖像捕獲裝置與第四圖像捕獲裝置可以構造為捕獲第二校準板的圖像。
在步驟306中,SPH校準模塊110構造為確定是否存在在其將捕獲校準板116的圖像的其它位姿。當存在在其將捕獲校準板116的圖像的其它位姿時,SPH校準模塊110可以前進到步驟302。當不存在在其將捕獲校準板116的圖像的其它位姿時,那么SPH校準模塊110可以前進到步驟308。
在步驟308中,SPH校準模塊110構造為確定在校準板上的物理特征位置與在圖像中捕獲的Raw2D特征位置之間的通信。例如,SPH校準模塊110可以利用特征查找技術來確定在圖像中捕獲的特征的位置。隨后地,SPH校準模塊110可以確定在圖像中捕獲的確定的Raw2D特征位置與已知的物理Plate2D特征位置之間的對應關系。
在步驟310中,SPH校準模塊110可以利用對應關系與運動呈現裝置114中的一個或多個位姿來確定關于圖像捕獲裝置的Raw2D坐標系統與Home2D坐標系統的變換。
盡管SPH校準模塊110將相同類型的信息用作基于單個校準板的手眼校準系統,SPH校準模塊110利用不同的方法來確定關于Raw2D坐標系統與Home2D坐標系統的變換。在基于單個校準板的手眼校準系統中,在校準板上的特征的全部物理位置都限定在相同的Plate2D坐標系統中。然而,在SPH校準系統中,在不同校準板上的特征的物理位置限定在不同的Plate2D坐標系統中。因此,SPH校準系統可以將這些Plate2D坐標系統變換到Home2D坐標系統以便在相同的坐標系統中表示全部特征。在基于手眼校準系統的單個校準板中未出現此困難。
在一些實施方式中,SPH校準模塊110構造為確定下面參數中的一個或多個:
-單個圖像捕獲裝置單視圖校準模型,其特征在于各圖像捕獲裝置的Raw2D坐標與Camera2D坐標系統之間的非線性變換。
-圖像捕獲裝置的布置位姿:Camera2D坐標系統與Home2D坐標系統(例如,Home2D從Camera2D或者Camera2D從Home2D)之間的變換。
-校準目標的布置位姿:Plate2D坐標系統與Stage2D坐標系統(例如,Stage2D從Plate2D或Plate2D從Stage2D)之間的變換。
-從(1)用于控制運動呈現裝置的參數,例如(x,y,θ)或者非修正的Home2D從Stage2D到(2)在原坐標系統(Home2D)(例如運動修正矩陣)中的臺的實際物理位姿的變換。
在一些實施方式中,圖像捕獲裝置的布置位姿可以指示系統中的圖像捕獲裝置的位姿。在靜態圖像捕獲裝置構造中,通過Home2D從靜態Camera2D給定布置位姿,其提供了各靜態照相機的Camera2D在Home2D中的位姿。在移動圖像捕獲裝置構造中,通過Stage2D從移動Camera2D給定布置位姿,其提供了各移動圖像捕獲裝置的Camera2D在Stage2D中的位姿。在兩種情形中,圖像捕獲裝置的布置位姿包括2D剛性變換與可能的利手性翻轉(flip)。
在一些實施方式中,校準目標的布置位姿可以具體限定校準目標在校準系統中的位姿。在靜態照相機構造中,通過Stage2D從移動Plate2D提供了布置位姿,其提供了移動校準目標的Plate2D在Stage2D中的位姿。在移動照相機構造中,通過Home2D從靜止Plate2D提供了布置位姿,這提供了校準目標Plate2D在Home2D中的位姿。在兩種情形中,布置位姿包括2D剛性變換以及可能的利手性翻轉。
在一些實施方式中,SPH校準模塊110還可以構造為補償運動呈現裝置114中的系統誤差。一些較低準確性的運動呈現裝置可能顯示系統誤差,諸如x運動軸與Y運動軸之間的歪斜,兩個軸之間的單位行進中的差值,和/或來自期望的標定值的單位行進中的比例誤差。SPH校準模塊110可以構造為通過利用運動修正矩陣補償運動呈現裝置的以下參數來補償此系統性誤差:
-x單元行進的量級
-y單元行進的方向
-y單元行進的量級
在此實施方式中,SPH校準模塊110可以假設x單元前進的方向通過定義是準確的。
在一些實施方式中,SPH校準模塊110可以構造為基于在步驟308中確定的特征的對應關系以及運動呈現裝置114的報告位姿確定這些估計值。
在一些實施方式中,SPH校準模塊110假設在靜態圖像捕獲裝置構造中,校準目標剛性地附接到運動呈現裝置114。在目標上的附接點與目標的定向是任意的。類似地,在一些實施方式中,SPH校準模塊110假設在移動圖像捕獲裝置構造中,圖像捕獲裝置剛性地附接到運動臺,并且此圖像捕獲裝置的附接點與它們的定向是任意的。在兩種構造中,一旦附接,附接點與定向就應該貫穿校準程序保持不變。由于剛性地附接校準目標(或者圖像捕獲裝置),當運動呈現裝置移動校準目標或圖像捕獲裝置時,布置位姿保持不變。布置位姿包括2-D剛性變換與可能的利手性翻轉。在大部分應用中,不能精確地控制布置位姿并且在操作SPH校準模塊110以前布置位姿是未知的。
在一些實施方式中,SPH校準模塊110可以使用兩步驟方法來確定這些估計值。
在第一步驟中,SPH校準模塊110可以構造與未知參數、在步驟308中確定的特征的對應關系、以及運動呈現裝置114的報告位姿相關的線性系統。隨后地,SPH校準模塊110可以通過迭代求解線性系統與非線性單個照相機校準步驟確定未知參數的估計值。
在第二步驟中,SPH校準模塊110可以構造使特征再投影誤差最小化非線性系統,并且利用非線性解算器求解非線性系統。在此第二步驟中,對于線性系統的解可以用作用于非線性解算器的初始值。
第一步驟
圖4示出了根據一些實施方式的SPH校準模塊110的線性估計臺。
在步驟402中,SPH校準模塊110可以構造為估計Raw2D從Plate2D、Raw2D從Camera2D以及Camera2D從Plate2D的對應關系。
為此目的,SPH校準模塊110可以執行單視圖、用于運動呈現裝置的各位姿的單個圖像捕獲裝置校準。SPH校準模塊110可以使用單視圖,在本技術領域中已知的單個圖像捕獲裝置校準技術。
在一些實施方式中,執行單視圖、單圖像捕獲裝置校準的SPH校準模塊110基于校準板的單個圖像計算Camera2D從Plate2D以及Raw2D從Camera2D。通過這種方式,SPH校準模塊110能夠解決校準目標與圖像捕獲裝置之間的任何利手性翻轉。
單視圖單照相機校準假設圖像捕獲裝置與校準板兩者都是靜止的(或者彼此相對靜止)。在此假設下,單視圖單照相機校準基于特征對應關系(在圖像空間Raw2D上探測到的特征,與Plate2D上的相應特征位置)計算Camera2D坐標系統與Plate2D坐標系統之間的變換,以及照相機固有參數(Raw2D從Camera2D)。
由于特征對應關系代表Raw2D與Plate2D之間的變換,因此SPH校準模塊110可以使Raw2D從Plate2D分解成Raw2D從Camera2D與Camera2D從Plate2D。為確定Raw2D從Camera2D與Camera2D從Plate2D,SPH校準模塊110可以利用(1)Raw2D特征點與Plate2D特征位置之間的對應關系以及(2)與圖像捕獲裝置相關的透鏡變形模式類型。
對于將Raw2D從Plate2D分解到Raw2D從Camera2D與Camera2D從Plate2D來說,SPH校準模塊110假設Raw2D從Camera2D與Camera2D從Plate2D呈現特定形式。例如,當在照相機的光學路徑中具有反射鏡時,SPH校準模塊110可以假設Camera2D從Plate2D的變換是具有潛在利手性翻轉的剛性變換。類似地,SPH校準模塊110可以假設Raw2D從Camera2D指示立體透視變換和仿射變換。SPH校準模塊110還可以假設Raw2D從Camera2D包括透鏡變形。在一些情形中,透鏡變形可以模式化為單個參數的徑向模型,如下:Rx=x*(1+k*r2);Ry=y*(1+k*r2),其中r2=x2+y2,x和y是沒有透鏡變形的位置,并且k是徑向變形的系數。由于k是未知的,因此通過校準程序估計此系數。Raw2D從Camera2D還包括透視變換和仿射變換。
通過形成線性與非線性等式映射Plate2D特征到Raw2D特征,SPH校準模塊110執行單視圖、單圖像捕獲裝置校準,以解算Raw2D從Camera2D與Camera2D從Plate2D中的未知數。
在一些實施方式中,需要執行單視圖單圖像捕獲裝置校準的最小對應數量是九個,具有非退化位置。當對應的數量小于九但是大于兩個時,那么SPH校準模塊110可以使用剛性增加等級(rigid plus scale)并且利手性線性擬合以確定包括利手性的Raw2D從Plate2D。在一些實施方式中,SPH校準模塊110可以構造為利用最小二乘法發現剛性增加等級與利手性線性擬合。最小二乘法可以發現使最小二乘方誤差最小化的Raw2D從Plate2D。在其它實施方式中,SPH校準模塊110可以構造為利用迭代最近點方法發現剛性增加等級與利手性線性擬合。
當在全部視圖中具有小于三個非線性特征時,那么SPH校準模塊110不能確定校準板的布置。因此,在此情形中,SPH校準模塊110可以引發異常并且終止。
在步驟404中,利用在步驟402中確定的Raw2D從Camera2D的倒轉,SPH校準模塊110可以將Raw2D特征坐標變換到Camera2D特征坐標。
在步驟406中,SPH校準模塊110可以利用在Camera2D坐標中表示的特征構造線性系統,并且求解運動模型與校準目標與圖像捕獲裝置的布置位姿。
基于用于各對應關系的特征可以構造此線性系統,存在至少兩種方式以將特征位置繪制到Home2D坐標系統。
首先,可以通過將板布置變換施加到特征的Plate2D坐標計算特征的Home2D位置,這將Plate2D坐標變換到Stage2D坐標。然后施加運動呈現裝置114的運動并且坐標變換到Home2D:其中R表示運動呈現裝置旋轉矩陣,其代表運動呈現裝置的旋轉,P表示將Plate2D坐標系統變換到Stage2D坐標系統的Plate2D布置變換矩陣,表示Plate2D坐標系統中的特征點的坐標。其次,可以通過施加Home2D從Camera2D的變換計算特征的Home2D位置以繪制特征到Home2D的Camera2D坐標描述:其中C表示將Camera2D坐標系統變換到Home2D坐標系統的照相機布置變換矩陣,并且表示Camera2D坐標系統中的特征點的坐標。
由于當繪制到Home2D坐標系統時在Plate2D上的物理位置與Camera2D的中成像點應該與相同位置對應,因此通過兩種方法計算的Home2D位置應該是相同的。然而,運動呈現裝置114的系統性誤差可以在由兩種方法計算的Home2D位置中形成差值。由此,利用運動模型可以補償運動呈現裝置114的系統誤差。在一些實施方式中,運動模型可以表示為運動修正項其中M表示運動修正矩陣并且表示運動呈現裝置的未校準位姿。
因此,通過兩種方法計算的Home2D位置之間的關系可以表述為如下系統:
因為和R是已知的值,因此根據未知的M、P和C,上面確定的系統是線性系統。
在一些實施方式中,運動修正矩陣M可以如下表示:
其中i表示運動修正矩陣的x方向,j表示運動修正矩陣的y方向,并且s表示運動修正矩陣的歪斜。
在一些實施方式中,運動呈現裝置旋轉矩陣R可以如下表示:
其中θ表示運動呈現裝置114的面內旋轉。
在一些實施方式中,Plate2D布置變換矩陣P可以如下表示:
其中a、b、c和d是板布置旋轉系數、以及e和f相應地是x和y軸中的板布置平移系數。如上所述,Plate2D布置變換矩陣P已知是2D剛性變換與利手性變換的組合。因此,Plate2D布置變換矩陣P可以如下簡化
在一些實施方式中,照相機布置變換矩陣C可以如下表示:
其中k、l、m和n是照相機布置旋轉系數、并且r和t相應地是x和y軸中的照相機布置平移系數。如上所述,照相機布置變換矩陣C已知使2D變換與利手變換的組合。因此,照相機布置變換矩陣C可以簡化如下:
在一些實施方式中,SPH校準模塊110可以基于Plate2D坐標系統中的物理特征坐標與Camera2D坐標系統中的成像特征位置之間的對應關系,相對于運動修正矩陣M、Plate2D布置變換矩陣P以及照相機布置變換矩陣C解算線性系統
在一些實施方式中,SPH校準模塊110可以構造為確定Plate2D坐標系統是否在其利手性中翻轉并且Camera2D坐標系統是否在其利手性中翻轉。如上提供的Plate2D布置變換矩陣P與照相機布置變換矩陣C假設校準目標與圖像捕獲裝置兩者不具有利手性翻轉。然而,當圖像捕獲裝置或校準目標布置具有利手性翻轉時,那么在Plate2D布置變換矩陣P中的符號值和/或照相機布置變換矩陣C中的符號值應該適當地修改以相應地解釋翻轉的g與h軸,以及翻轉的p和q軸。
例如,當校準目標與圖像捕獲裝置兩者不具有利手性翻轉時,則Plate2D布置變換矩陣P與照相機布置變換矩陣C可以設置如下:
再例如,當校準目標具有利手性翻轉、但是圖像捕獲裝置不具有利手性翻轉時,則Plate2D布置變換矩陣P與照相機布置變換矩陣C可以設置如下:
再例如,當校準目標不具有利手性翻轉、但是圖像捕獲裝置具有利手性翻轉時,則Plate2D布置變換矩陣P與照相機布置變換矩陣C可以設置如下:
再例如,當校準目標與圖像捕獲裝置兩者具有利手性翻轉時,則Plate2D布置變換矩陣P與照相機布置變換矩陣C可以如下設置:
如果SPH校準模塊110關于Plate2D坐標系統是否在其利手性中翻轉并且Camera2D坐標系統是否在其利手性中翻轉不具有任何信息,那么SPH校準模塊110需要測試上面提供的全部四種情形以確定構造的線性系統的解。
然而,在一些情形中,SPH校準模塊110可以限制測試情形的數量,因為SPH校準模塊110可以通過檢查Raw2D從Plate2D變換確定在Plate2D與Raw2D之間是否存在利手性翻轉。
在一些實施方式中,SPH校準模塊110可以構造為通過檢查從Plate2D到Raw2D變換來確定是否在Plate2D與Raw2D之間存在利手性翻轉。例如,SPH校準模塊110可以構造為通過在圖像的中心處線性化Raw2D從Plate2D和檢查行列式來確定是否存在利手性翻狀。當行列式為正時,那么SPH校準模塊110而已確定不存在利手性翻轉。
因此,當Raw2D從Plate2D變換指示在Plate2D與Raw2D之間存在利手性翻轉時,則SPH校準模塊110已知P和C的組合僅可能是下面兩種選擇中的一種:
或者
類似地,當Raw2D從Plate2D變換指示在Plate2D與Raw2D之間不存在利手性翻轉時,則SPH校準模塊110已知P和C的組合僅可能是下面兩種選擇中的一種:
或者
一旦SPH校準模塊110確定Plate2D的利手性是翻轉的,那么SPH校準模塊110就能夠檢查Raw2D從Plate2D變換以確定是是否Raw2D也翻轉。
在一些實施方式中,SPH校準模塊110可以構造為通過(1)從用于兩個選擇的線性系統估計M,P,以及C,以及(2)根據用于兩個選擇的估計的M,P和C檢查與之間的差值確定兩種選擇中哪一種是正確的。SPH校準模塊110還可以確定運動修正矩陣M的正定性。SPH校準模塊110構造為確定具有(1)較小差值與(2)更正定的運動校正矩陣M的選擇是正確的選擇。
在步驟408中,一旦SPH校準模塊110估計M,P,和C,SPH校準模塊110可以在用于一個圖像捕獲裝置102的不同位姿下結合對應關系。例如,SPH校準模塊110可以基于估計的M和P將Plate2D坐標系統中的特征變換到Home2D坐標系統。因此,在用于一個圖像捕獲裝置102的不同位姿下的對應關系可以結合在Home2D坐標系統中。
在步驟410中,SPH校準模塊110可以在結合的對應關系上操作單視圖單圖像捕獲裝置校準。這種方式,SPH校準模塊110可以基于來自全部位姿的對應關系確定Camera2D從Home2D與Raw2D從Camera2D。由于在第一迭代的開始中使用的Raw2D從Camera2D變換不是從全部位姿計算的,因此能夠通過第一迭代改進其準確性。在隨后的迭代中,更加準確的Raw2D從Camera2D變換將進一步提高結果的準確性。當達到預設的最大迭代時,迭代將終止。
第二步驟
SPH校準機構的第一步驟可以大體上提供接近地面真相的粗略的求解,但是仍可能需要進一步精化以改進準確性。為了從第一步驟精化初始結果,SPH校準模塊110可以構造為執行非線性優化以使“再投影誤差”最小化,其中從第一步驟返回的結果被用作初始值。第二步驟可以如下表述:
其中(x,y,θ)是運動呈現裝置114的非正確位姿,((g,h),(p,q))是特征的Plate2D坐標與Raw2D坐標。Cresult是需要解算的手眼校準結果,其包括圖像捕獲裝置的固有與外在參數,與圖像捕獲裝置相關的透鏡變形量,運動修正變換,以及校準目標布置。C是非線性優化中的一個中間校準結果。利用C,可以將物理點繪制到Raw2D。T(C,x,y,θ,g,h,...)可以表述為:
T(C,x,y,θ,g,h,...)=Raw2D從Camera2D*Camera2D從Home2D*Home2D從Stage2D*Stage2D從Plate2D*(g,h)。
在一些實施方式中,能量函數能夠計算兩個輸入參數之間的歐幾里得距離
在一些實施方式中,SPH校準模塊110可以構造為利用諸如利文貝格–馬夸特(LM)優化技術的非線性技術求解上述非線性系統。例如,SPH校準模塊110可以通過SPH校準機構的第一步驟將初始解向量設置為線性解。目標函數設計為利用當前手眼校準結果計算Raw2D與繪制Raw2D之間的再投影誤差。可以通過計算Raw2D與繪制的Raw2D之間的距離計算此再投影誤差。
隨后,SPH校準模塊110利用數字方法計算雅克比矩陣。在計算雅克比矩陣以后,SPH校準模塊110更新非線性系統的解,計算殘差,并且持續迭代直到滿足默認停止標準。默認停止標準可以包括,例如此標準的數量是預定數量,或者此殘差小于預定閾值。一旦SPH校準模塊110完成迭代,接收向量就可以包括圖像捕獲裝置的固有與外在參數,與圖像捕獲裝置相關的透鏡變形量,運動修正變換,以及校準目標布置。
TFH校準系統
TFH校準系統可以用于其中運行時間對象(通過機器視覺系統分析的對象)具有可以用作校準圖案的充分特征的應用中。例如,當運行時間對象具有大量角、邊緣、或任意可識別特征時,利用TFH校準系統,這些特征可以用于執行手眼校準。
將運行時間對象用作校準目標的挑戰之一通常是在運行時間對象上的校準特征的物理位置是未知的。因此,TFH校準系統應該構造為(1)跨越運動呈現裝置位姿探測與跟蹤在運行時間對象上的校準特征,(2)估計探測到的校準特征的未知物理位置,以及(3)估計手眼校準參數。
在一些實施方式中,TFH校準系統可以以靜態圖像捕獲裝置構造操作。在此構造中,圖像捕獲裝置可以是靜止的,并且運動呈現裝置可以通過多種預定位姿承載運行時間對象。在其它實施方式中,TFH校準系統可以以移動圖像捕獲裝置構造操作。在此構造中,運行時間對象可以保持靜止,并且運動呈現裝置可以通過多種預定位姿承載圖像捕獲裝置。
在一些實施方式中,TFH校準系統可以關聯(1)通過多個圖像捕獲裝置捕獲的校準目標的圖像,以及(2)在其下拍攝圖像的運動呈現裝置的位姿,并且將圖像與相關的位姿存儲在圖像數據庫中。
在一些實施方式中,TFH校準系統可以構造為對存儲在圖像數據庫中的圖像執行TFH校準。TFH校準系統可以操作一個或多個特征跟蹤器以探測與跟蹤可以用作校準特征的特征。特征跟蹤器可以包括角探測器、邊緣探測器、尺度不變特征變換(SIFT)探測器、和/或能夠探測適于校準目的的可靠特征的任何其它探測器。這些校準特征在Raw2D坐標系統中描述,并且由此還稱作為跟蹤Raw2D特征。TFH校準系統隨后使用跟蹤的Raw2D特征以執行手眼校準。
圖5示出了根據一些實施方式的TFH校準系統。圖5包括如圖1的多個相同部件。然而,在跟蹤的特征手眼校準系統中,計算裝置104包括TFH校準模塊502,并且運動呈現裝置114構造為承載通過機器視覺系統100檢查的運行時間對象504。
在一些實施方式中,TFH校準模塊502可以構造為與TFH校準機構匹配。TFH校準模塊502可以構造為將構造為致使運動運動呈現裝置移動到要求的第一位姿的第一數據經由一個或多個接口發送到運動呈現裝置;經由一個或多個接口接收來自運動呈現裝置的報告的第一位姿;經由一個或多個接口接收來自第一圖像傳感器的關于報告第一位姿的多個特征的第一子組的第一圖像;以及經由一個或多個接口接收來自第二圖像傳感器的關于報告第一位姿的多個特征的第二子組的第二圖像。TFH校準模塊502還可以構造為至少部分地基于多個特征的第一子組與報告的第一位姿確定第一坐標系統與第二坐標系統之間的第一變換,以及至少部分地基于多個特征的第二子組與報告的第一位姿確定第一坐標系統與第三坐標系統之間的第二變換。
在一些實施方式中,TFH校準模塊502可以在兩步驟處理中確定第一變換與第二變換。在第一步驟中,TFH校準模塊502可以構造與未知參數、捕獲圖像中的特征的位置、運動呈現裝置114的報告位姿相關的線性系統。隨后地,TFH校準模塊502可以通過迭代求解線性系統與非線性單照相機校準步驟確定未知參數的估計值。在第二步驟中,TFH校準模塊502可以構造使特征再投影誤差最小化非線性系統,并且利用非線性解算器解算非線性系統。在此第二步驟中,線性系統的此解決方案可以用作用于非線性解算器。
在一些實施方式中,可以在數字電子電路中、或者在計算機硬件、固件、軟件、或者在它們的組合中實施TFH校準模塊502。此實施可以是作為例如明確地體現在機器可讀存儲裝置中的計算機程序的計算機程序產品,以便通過例如可編程處理器、計算機、和/或多個計算機的數據處理裝置執行或者控制該數據處理裝置的操作。可以以任何形式的計算機語言或編程語言的書寫計算機程序,包括源代碼、匯編代碼、翻譯代碼和/或機器代碼,并且計算機程序可以以任意形式部署,包括作為獨立程序或作為子程序、元素、或者適于在計算環境中使用的其它單元。計算機程序可以部署為在一臺計算機上或者在一個或多個位置處的多臺計算機上被執行。
在一些實施方式中,SPH校準模塊110與TFH校準模塊502可以存在于相同的計算裝置104中。在一些實施方式中,可以在諸如ASIC、PLA、DSP或FPGA的相同的集成電路上實施SPH校準模塊110與TFH校準模塊502,由此在芯片上形成系統。子程序可以表示執行一個或多個功能的計算機程序和/或處理器/特定電路的部分。
在其它實施方式中,SPH校準模塊110與TFH校準模塊502可以存在于不同的計算裝置中。
圖6示出了根據一些實施方式的在TFH校準系統中的TFH校準模塊的操作。
TFH校準模塊502可以構造為確定一個或多個圖像捕獲裝置102(例如,Raw2D)的坐標系統與運動呈現裝置(例如,Stage2D)的坐標系統之間的關系。為此目的,當運動呈現裝置114移動通過已知組的位姿時,TFH校準模塊502構造為在通過圖像捕獲裝置102獲取的圖像中發現的Raw2D特征到這些特征的物理Stage2D坐標之間建立對應關系。
在一些實施方式中,運動呈現裝置114承載運行時間對象504。在此實施方式中,TFH校準系統被認為在靜止圖像捕獲裝置構造中操作。在一些實施方式中,運動呈現裝置114承載圖像捕獲裝置102。在此實施方式中,TFH校準系統被認為在移動圖像捕獲裝置構造中操作。
在步驟602中,TFH校準模塊502構造為指令運動呈現裝置114移動到預定位姿。一旦運動呈現裝置114接收指令,運動呈現裝置114就移動到預定位姿,并且將運動呈現裝置114的報告的位姿向回報告到TFH校準模塊502。由于運動呈現裝置114的限定的準確性,運動呈現裝置114的實際位姿可以與由TFH校準模塊502指示的報告與命令的位姿不同。
在步驟604中,TFH校準模塊502構造為指示圖像捕獲裝置102捕獲運行時間對象504的圖像。一旦圖像捕獲裝置102接收指令,每個圖像捕獲裝置102都可以捕獲運行時間對象504的圖像并且將捕獲的圖像傳送到TFH校準模塊502。
在步驟606中,TFH校準模塊502構造為確定是否存在運行時間對象504的圖像將被捕獲的其它位姿。當存在在其將捕獲運行時間對象504的圖像的其它位姿時,TFH校準模塊502可以前進到步驟602。當不存在在其將捕獲運行時間對象504的圖像的其它位姿時,那么TFH校準模塊502可以前進到步驟608。
在步驟608中,TFH校準模塊502構造為基于從運行時間對象504的圖像提取的校準特征,確定與圖像捕獲裝置的Raw2D坐標系統與Home2D坐標系統相關的變換。
在一些實施方式中,TFH校準模塊502還可以構造為補償運動呈現裝置114中的系統誤差。一些較低準確性的運動呈現裝置可能顯示系統性誤差,諸如x運動軸與Y運動軸之間的歪斜,兩個軸之間的單位行進中的差值,和/或來自期望的標定值的單位行進中的比例誤差。TFH校準模塊502可以構造為通過估計運動呈現裝置的以下參數補償此系統性誤差:
y單元行進的方向
x單元行進的量級
在此實施方式中,TFH校準模塊502可以假設x行進的方向與x單元尺寸通過定義是準確的。
在一些實施方式中,TFH校準模塊502可以構造為基于從運行時間對象504的圖像提取的Raw2D特征位置與運動呈現裝置114的報告的位姿確定這些估計值。
在一些實施方式中,TFH校準模塊502假設,在靜態圖像捕獲裝置構造中,運行時間對象504剛性地附接到運動呈現裝置114。運行時間對象504的附接點與運行時間對象504的定向是任意的。類似地,在一些實施方式中,TFH校準模塊502假設在移動圖像捕獲裝置構造中,圖像捕獲裝置剛性地附接到運動臺,并且此圖像捕獲裝置的附接點與它們的定向是任意的。在兩種構造中,一旦附接,附接點與定向就應該貫穿校準程序保持不改變。
由于剛性地附接運行時間對象504或圖像捕獲裝置102,當運動呈現裝置移動校準目標或圖像捕獲裝置時,布置位姿保持不改變。布置位姿包括2D剛性變換與可能的利手性翻轉。在大部分應用中,布置位姿不能被精確地控制并且在操作TFH校準模塊502以前是未知的。
在一些實施方式中,SPH校準模塊502可以使用兩步驟方法來確定這些估計值。
在第一步驟中,TFH校準模塊502可以構造與未知參數、在運行時間對象504上的校準特征的Raw2D位置、以及運動呈現裝置114的報告位姿相關的線性系統。隨后地,TFH校準模塊502可以通過迭代求解線性系統與非線性單照相機校準步驟確定未知參數的估計值。
在第二步驟中,TFH校準模塊502可以構造使特征再投影誤差最小化的非線性系統并且利用非線性解算器解算非線性系統。在此第二步驟中,對于線性系統的求解可以用作用于非線性解算器的初始值。TFH校準模塊502的第二步驟與SPH校準模塊110的第二步驟相同。
第一步驟
如相對于SPH校準模塊110的第一步驟說明的,由于在Stage2D坐標系統上的特征的物理位置與在Camera2D坐標系統中的成像點當繪制到Home2D坐標系統時應該對應于相同位置,因此通過兩種方法計算的Home2D的位置應該是相同的。此關系可以表述為以下系統:
其中M表示運動修正矩陣,表示運動呈現裝置的未校準位姿,R表示運動呈現裝置旋轉矩陣,其代表在Home2D坐標系統中的運動呈現裝置的旋轉,P表示將Part2D坐標系統變換到Home2D坐標系統的Part2D布置變換矩陣,表示在Part2D坐標系統中的特征點的坐標,C表示將Camera2D坐標系統變換到Home2D坐標系統的照相機布置變換矩陣,并且表示在Camera2D坐標系統中的特征點的坐標。
在SPH校準的情形中,由于和R是已知值,因此根據未知值M,P和C上述系統是線性系統。然而,在TFH校準的情形中,TFH校準模塊502不知道提取特征的Part2D坐標:由此,根據未知變量:M,P,C,和上述系統不再是線性的。
為確保以上確定的系統根據未知變量是線性系統,TFH校準模塊502可以假設,在不損失一般性的情況下,Part2D布置變換矩陣P是恒等矩陣。換句話說,不考慮運行時間物體504的面內旋轉,在Stage2D中測量校準特征。
基于此假設,以上確定的系統可以如下書寫:
在一些實施方式中,僅存在2個可能的利手性翻轉。由于Stage2D從Part2D是恒等,因此在Part2D與Stage2D之間不具有利手性翻轉。在圖像捕獲裝置的布置不具有利手性翻轉的情形中,那么在圖像捕獲裝置的布置具有利手性翻轉的情形中,那么通過求解以上確定的線性系統,TFH校準模塊502可以估計圖像捕獲裝置布置、運動模型與Stage2D中的估計的特征位置。
圖7總結了根據一些實施方式的TFH校準模塊502的線性估計臺。
在步驟702中,TFH校準模塊502可以確定在Raw2D坐標系統中的校準目標上的校準特征的位置。為此目的,TFH校準模塊502可以在運動呈現裝置114的一個或多個位姿下在通過多個圖像捕獲裝置102獲取的校準目標的圖像上操作特征跟蹤器。特征跟蹤器可以包括角探測器、邊緣探測器、尺度不變特征變換(SIFT)探測器、和/或能夠探測適于校準目的的可靠特征的任何其它探測器。
在步驟703中,TFH校準模塊502可以將Raw2D從Camera2D設置為恒等變換。
在步驟704中,TFH校準模塊502可以利用Raw 2D從Camera 2D變換將Raw2D特征位置變換到Camera 2D特征位置
在步驟706,TFH校準模塊502可以建立線性系統并且通過線性系統估計M,Cand(g,h)。
在步驟708中,TFH校準模塊502可以將全部Stage2D特征位置轉換到如下的Home2D位置:隨后地,TFH校準模塊502可以在Home2D特征位置與Raw2D特征位置之間構造對應關系。基于這些對應關系,TFH校準模塊502可以確定Home2D從Raw2D變換。此外,基于Home 2D特征位置與Camera2D特征位置之間的關系,TFH校準模塊502可以估計Camera 2D從Home 2D變換。
此外,在一些實施方式中,TFH校準模塊502可以通過迭代步驟704–708再估計Raw2D從Camera 2D變換,直到滿足停止標準。停止標準可以包括達到最大數量的迭代。此再估計過程與相對于SPH校準模塊110描述的迭代過程類似。
在一些實施方式中,Camera2D坐標系統是中間坐標系統,并且其單元尺寸(例如,比例因數)限定為與Home2D坐標系統的單元尺寸是相同的。這意味著,當TFH校準模塊502將Raw2D從Home2D分解成Raw2D從Camera2D與Camera2D從Home2D時,TFH校準模塊502將比例因數分配在Raw2D從Camera2D中,并且將全部平移因數分配在Home2D從Camera2D中。或者,另選地,全部比例與平移可以被因式分解到Home2D從Camera2D,以使Raw2D從Camera2D為恒等。然而,這可能不是最準確的分解。但是可以求解在Stage2D上的特征的物理位置以前,將不存在關于Raw2D從Home2D的任何信息。因此,TFH校準模塊502可以迭代步驟702-708,以便當確定另一個時迭代求解Raw2D從Camera2D或Camera2D從Home2D的一個。
例如,在第一迭代中,TFH校準模塊502可以將Raw2D從Camera2D初始化為恒等,并且為Camera2D從Home2D與其它參數/變換解算。由于用于求解Camera2D從Home2D的Raw2D從Camera2D是恒等的,Raw2D從Camera2D的實際比例與平移被因式分解成Camera2D從Home2D。然而,通過定義,Camera2D從Home2D的比例應該是一個,由此可以計算與使用此比例因數以將計算的運動模式(例如,利用運動修正矩陣表示的運動修正項)、圖像捕獲裝置的布置位姿、以及在步驟706中的特征的物理位置轉換成正確比例。然后在步驟708中,Raw2D從Camera2D可以計算為取代初始恒等變換。在第二迭代中,TFH校準模塊502可以使用更準確Raw2D從Camera2D以解算運動修正模式,圖像捕獲裝置的布置位姿,以及特征的物理位置,并且然后通過特征的更準確物理位置更新Raw2D從Camera2D。此迭代處理改進了此分解的準確性。
因此,在計算新的Raw2D從Camera2D以后,TFH校準模塊502可以迭代步驟704-708,直到TFH校準模塊502達到最大迭代數。步驟704-708的迭代可以減小由使非線性關系(例如,透鏡變形)接近作為線性系統產生的近似誤差。
在第一迭代的過程中,可以求解Raw2D與Home2D之間的比例模糊。在大部分情形中,在第二迭代以后,TFH校準模塊502應該能夠提供相對準確的估計值。在一些實施方式中,最大迭代數可以設置到4,因為在公開的TFH校準機構的第一步驟中準確性不是主要的問題。
第二步驟
TFH校準機構的第一步驟通常地提供了接近地面真相的粗略求解,但是可能仍需要進一步細化化以改進準確性。為了細化來自第一步驟的初始結果,TFH校準模塊502可以構造為執行非線性優化以使“再投影誤差”最小化,其中從第一步驟返回的結果被用作初始值。通過TFH校準模塊502執行的非線性優化可以與通過SPH校準模塊110執行的非線性優化基本上相同。一個區別在于,在TFH校準的情形中,在Stage2D中的物理特征位置是未知的。由此,TFH校準模塊502可以構造為利用來自第一步驟的Stage2D中的估計的物理特征位置用作初始值迭代地估計在非線性估計中的Stage2D中的物理特征位置。在LM解算器中細化在Stage2D中的物理特征位置。
再校準
由于手眼校準方法的不同特征,可以在不同的方案中使用不同的手眼校準方法。例如,圖像捕獲裝置通常地是利用提供高校準準確性的大校準板在工廠中預校準。然而,當運動呈現裝置與圖像捕獲裝置部署用于應用時,仍需定期地校準運動呈現裝置與圖像捕獲裝置以補償物理設置中的改變。例如,一些預校準參數,諸如圖像捕獲裝置的外部參數可能由于運動呈現裝置的振動隨著時間改變,并且可以需要定期地再校準以補償此改變。為此定期校準應用,SPH校準機構與TFH校準機構可以是有用的。
如上面說明的,尤其當在存在透鏡變形的情況下僅具有幾個特征或運動位姿時,SPH校準機構與TFH校準機構可以提供限定的準確性。然而,當可獲得從先前執行的校準產生的高度準確校準時,再校準的概念可以用于通過使用高度準確的先前執行的照相機校準改進SPH校準機構與TFH校準機構的準確性。
例如,在圖像捕獲裝置或其透鏡未被重新組裝的前提下,即使在存在運動呈現裝置的振動的情況下,諸如圖像捕獲裝置的固有參數的一些校準參數也可能不改變。由此,再校準方案可以保持圖像捕獲裝置的固有參數并且僅校準圖像捕獲裝置的外部參數。再校準方案可以與全校準方案基本上類似。然而,再校準方案可以使用包括圖像捕獲裝置的校準參數的其它輸入向量。在沒有關于圖像捕獲裝置,尤其是TFH校準機構的固有參數的現有信息的情況下,與全手眼校準相比再校準方案不僅更快速,而且還更加準確。
應該理解的是公開的主題不限于其應用到在下面描述中闡述的或者在附圖中描述的構造的細節與部件的布置。公開的主題能夠具有其它實施方式并且以多種方式實踐與實施。此外,應該理解的是這里使用的措辭與術語,是出于描述的目的并且不應被視為限定。
同樣地,本領域中的技術人員將會理解的,作為本公開基礎的構思可以容易地用作設計其它結構、方法、與裝置的基礎以用于執行公開的主題的幾個目的。因此,重要的是,在它們不偏離公開的主題精神和范圍的情況下,該權利要求被視為包括此等效構造。例如,公開實施方式中的一些涉及一個或多個變量。可以利用數學等式表達此關系。然而,本領域中的普通技術人員還可以利用不同的數學等式、通過變換公開的數學等式在一個或多個變量之間表述相同的關系。重要的是此權利要求視為包括一個或多個變量之間的此等效關系式。
盡管已經在上述示例性實施方式中描述與說明了公開的主題,但是應該理解的是本公開僅通過實例的方式作出,并且可以在不偏離公開主題的精神與范圍的情況下對公開主題的實施細節上作出多種改變。