跳至內容
測試伺服器
開發伺服器

校準vTool#

Calibration vTool 允許您進行相機校正,以便將像素座標轉換為世界座標。

您可以使用 Calibration vTool 作為預先處理步驟,後面接著 Geometric Pattern Matching vTool、Region Feature Extraction vTool 或 Measurements vTools 等工具。如果您已校正相機,任何後續工具都會輸出像素座標以及世界座標(以公尺為單位)。

若要購買 Calibration vTool 的授權,請造訪 Basler 網站。

校準vTool

Calibration vTool 版本#

Calibration vTool 提供兩種版本。下表顯示不同版本之間的差異。

Basic Pro
您可以選擇不同的 distortion models 嗎? 否 是
您可以選擇不同的 projection models 嗎? 否 是
購買授權 造訪 Basler 網站 造訪 Basler 網站

運作原理#

根據相機上安裝的鏡頭,原始影像會呈現一定程度的徑向畸變。此外,若未進行校正,您進行的任何量測都只會對應到影像中的像素座標。

使用 Calibration vTool 具有以下優點:

  • 校正過程會產生 transformation data,並將其套用到原始影像以消除畸變效果。
    其結果是呈現出如同由理想且線性的針孔相機所拍攝的影像,亦即目標場景中的直線在影像上會被投影為直線。
  • Rectification 可消除透視畸變。
    若使用較廣角的鏡頭,或相機未垂直對準放置待檢測物體的量測平面,就會產生透視畸變。
    舉例來說,如果相機的檢視方向是傾斜的,相機看到的現實世界中的正方形就會變成一般四邊形,其對邊並不平行,而會在消點處相交。
    因此,如果機械配置不允許您將相機垂直安裝於檢測平面,相機校正將可確保影像經過校正,並看起來像是對物體的真實呈現。
  • 校正在像素影像座標與公尺世界座標之間建立起一項 relation。
    透過這種方式,就能解決諸如量測真實世界中的距離或決定機器人夾持位置等任務。
  • 使用 Calibration Pro vTool 時,您可以在不同的畸變與投影模型之間進行選擇。這能將您的應用類型與所使用的鏡頭納入考量,讓校正更加精確或具針對性。

校正流程#

步驟 1:準備工作#

Calibration Plate#

Calibration vTool 允許您相對於單一量測平面來校正相機。這需要使用校正板。Calibration vTool 開箱即提供不同尺寸的圓形網格校正板。它們可在 Calibration plate 下拉式清單中取得。

請根據相機的視場來選擇校正板的尺寸。如果您的目標場景包含完整的視場,校正板的大小應大致涵蓋整個影像區域。

在大多數情況下,校正板稍微大於影像區域會是較佳的選擇。為了獲得最佳的校正結果,您應確保整個影像區域都被校正板的圓形網格所覆蓋。如果您的目標場景僅包含完整視場的一部分,則僅涵蓋該特定區域的校正板即已足夠。

若要製作您的校正板,請列印其中一個提供的範本,並將其黏貼在堅固、平坦且平整的表面上,例如厚紙板或鋁板。對於一般應用或評估用途,標準印表機或繪圖機的列印精度通常已足夠。

如果您要求的尺寸不在提供之列,我們可依需求提供自訂校正板。如需此服務,請聯絡 Basler Support。

失真模型(僅限 Pro 版本)#

透過選擇適合您應用的畸變模型,您可以產生更精確的轉換資料來修正畸變效果。有兩種模型可供選擇:

  • Division:此模型適用於大多數應用,特別是機器人或零件定位應用。它僅使用一個係因此模型建構畸變。因此,它非常穩健且能產生良好的結果。
  • Polynomial:此模型可達到更準確的校正結果。它應用於量測應用或在鏡頭畸變較強烈的情況下。它使用五個係因此模型建構畸變。

投影模型(僅限 Pro 版本)#

選擇投影模型可讓您將所使用的鏡頭類型納入考量。有兩種模型可供選擇:

  • Perspective:使用 entocentric 鏡頭時建議使用此模型。
  • Parallel:使用 telecentric 鏡頭時建議使用此模型。

若要執行步驟 1,請前往 Configuring the vTool。

步驟 2:相機校正#

在此步驟中,您會擷取校正板的影像。您可以使用相機擷取即時影像,或從磁碟載入影像。即時影像非常有用,因為它們可讓您隨時移動校正板以找到適合您量測的位置。校正板的上表面即定義了量測平面。

資訊

校正相機僅能在 single world plane 中進行量測。此世界平面是由校正板所定義。如果您的應用配置有所變更,您就需要重新校正相機。

您想要量測的物體必須位於此平面上或接近此平面。因此,待檢測物體必須是平坦的或高度較低。或者,您必須確保校正板的上表面與物體表面處於相同高度。

如果相機垂直俯視量測平面且鏡頭具有小張角,則位於量測平面之外的物體所產生的誤差可以忽略不計。唯有當量測平面與相機檢視方向之間的角度為傾斜時,關於位置或距離的量測誤差才會變得顯著。

在這種情況下,Basler 建議將物體之間的高度變化限制在相對於物體距離的 1–5% 之間的值。

一旦擷取影像後,校正程序隨即開始,且結果會顯示在影像區域下方。

透過對影像區域進行著色,可以立即顯示校正是否成功。以綠色突顯的圓形表示已成功偵測,而紅色圓形則表示未偵測到。此外,也會顯示世界座標系的基準點。

資訊

世界座標系的位置與方向已編碼至校正板圖案及其描述中。您無法變更此設定。如果您想調整世界座標系以符合應用需求,請使用machine calibration步驟。

若要執行步驟 2,請前往Configuring the vTool。

步驟 3:機器校正#

Machine calibration 是一個選用步驟,在此步驟中,您可以將視覺系統的世界座標系與視覺系統所屬機台的座標系進行對齊。例如,基於共同的座標系,機器人可以在視覺系統所確定的位置抓取物件。

如果相機校正已足夠,且您的應用不需要對齊的世界座標系,您可以在此結束校正程序。

注意事項#

若要定義機台座標系,會使用兩個標記來定義座標系中的兩個點 P1 與 P2。為了成功進行 machine calibration,了解機台座標平面與校正板平面之間的關係非常重要。有兩種選項:

  • 兩個平面完全相同。
    在這種情況下,您可以將標記放置在校正板的任何位置以定義您自己的機台座標系。了解標記的機台與影像座標即可定義一個轉換,讓您將測得的影像點轉換為機台座標。
  • 兩個平面彼此平行。
    有時候,擁有相同的機台與校正平面是不可能的或非預期的。或者,機台平面可能位於與校正平面不同的高度。不過,兩個平面必須始終彼此平行。

    資訊

    只有在相機垂直指向測量平面時,才建議使用此設定。在實際應用中,觀看方向可能會與理想配置偏離幾度。

    如果觀看方向相對於校正板是傾斜的,機台平面必須至少接近校正板。否則,會產生系統誤差,對於視野角更寬且觀看角度更傾斜的鏡頭而言,此誤差會更大。

方法#

提供定義機台座標系之標記的方法共有三種。

使用 Aztec Codes 自動進行#

Aztec codes 非常適合用於編碼有關座標位置的資訊,以及為影像中的位置偵測提供良好的視覺標記。

對於此方法,您可以產生並列印兩個以毫米為單位編碼位置的 Aztec codes:

  • 其中一個代碼編碼了座標系原點的位置,例如:「0 0」
  • 第二個代碼編碼了座標系 x 軸上的第二個點,例如距離第一個代碼 50 mm:「50 0」
    用於編碼位置的標記法為「point_coordinate_x point_coordinate_y」。

系統將會偵測影像中 Aztec codes 的位置,並將其世界位置與代碼的解碼內容建立關聯。

資訊

Aztec code 的中心定義了標記在世界座標中的位置。

標記之間的距離必須正好等於編碼位置所定義的數值。

使用 Aztec Codes 手動進行#

採用此方法時,這些代碼為通用代碼,可以包含您喜歡的任何資訊,例如簡短字串。這使得列印過程更為簡單,因為兩個代碼可以完全相同。更重要的是,這意味著代碼可以放置在任意位置。只需選擇您要註冊為機台座標的位置即可。

針對機器人應用,請依照下列步驟操作:放置代碼,並使用安裝在機器人手端上的合適觸覺探針測量其位置。然後擷取影像,並將機器人註冊的座標輸入至 World Coordinates 輸入欄位中。

完全手動#

此方法讓您能夠靈活地輸入世界座標與影像座標中的兩點座標。如同上述方法,世界座標是已知或是從您的系統中註冊取得,並輸入至 World Coordinates 輸入欄位中。您可以透過將影像中的 P1 與 P2 十字準線拖曳到所需的目標位置,來依需求調整影像座標。

完全手動方法主要適用於兩種情境:

  • 您可以使用任何可被識別的標記,例如圓心、矩形角落點,甚至是手動在紙板上快速畫出的十字。
  • 您可以在機器的設計中納入標記。這樣一來,標記的位置就會固定且隨時已知。標記例如可以是小圓孔或適當的定位標記 (fiducial markers)。

    資訊

    如果機器具有固定標記,您必須放置校正板,使得與兩個標記之間的距離相等。

若要執行步驟 3,請前往 Configuring the vTool。

成功校正的提示#

請考慮以下各個方面以確保獲得最佳的校正結果(假設灰階值範圍為 0–255 的 8 位元影像)。

  • 圖案覆蓋率:相機必須至少能看到一個尋找圖案 (finder pattern)。如果在影像中可以看到兩個或更多尋找圖案,則可以偵測校正板是否鏡射。一般而言,相機看到的校正圖案越多、校正板填滿的視野 (field of view) 比例越大越好。
  • 圓形直徑:網格中圓形的直徑在每張影像中應至少為 20 pixels。這對於成功校正至關重要。
  • 對比度:校正板影像中明亮區域與黑暗區域之間的對比度應至少為 100 個灰階值。
  • 過曝:避免影像過曝。校正板影像中的明亮區域的灰階值不應超過 240,特別是在尋找圖案的周圍。
  • 均勻度:確保照明均勻並避免反光。根據經驗法則,所拍攝影像中最亮白色部分與最暗白色部分的灰階值差異不應超過 45。

常見使用案例#

Geometric Pattern Matching#

如果使用經校正 (rectified) 的影像,您的匹配結果將會更準確。原因在於平坦物件無論其在測量平面上的位置如何,看起來都會相同,因為鏡頭畸變或透視畸變已被消除。

此外,校正過程產生的轉換資料可使 Geometric Pattern Matching vTool 輸出圖案中心的世界座標。

Region Feature Extraction#

Region Feature Extraction vTool 會計算區域的特徵(例如面積或重心),並允許您進行提取。使用校正過的設置可讓您將特徵(例如座標、長度或面積)轉換為測量單位(例如公尺或平方公尺)。

測量#

Measurements Basic vTool 能以高精度測定邊緣的位置或邊緣之間的距離。如果您使用 Calibration vTool 進行前處理,則可以防止鏡頭畸變和透視畸變。此外,您還能以公制測量單位(座標和距離)取得結果。

資訊

為了充分發揮 Calibration vTool 的優勢,請確保其輸出接腳(Image 和 Transformation)均已正確連接至所有後續的 vTools。

Measurements Pro vTools 的運作方式類似,但允許您測量完整的幾何形狀。

設定 vTool#

若要設定 Calibration vTool:

  1. 在 配方管理 窗格中的 vTool Settings 區域,按一下 Open Settings 或按兩下該 vTool。
    影像 Calibration Basic/Pro 對話框隨即在步驟 1 開啟。
    有關詳細資訊,請參閱 步驟 1:準備工作.
    Calibration vTool 設定 - 步驟 1

  2. 在 Calibration plate 下拉清單中,選取您要使用的型板大小。

  3. 如果您手邊還沒有實際的型板,請按一下 Print 按鈕來列印所需的型板。

  4. 選取 distortion model 與 projection model(僅限 PRO 版本)。

  5. 按一下 下一頁.
    第 2 步驟的 Calibration 對話方塊隨即開啟。
    有關詳細資訊,請參閱 步驟 2:相機校正.
    vTool 設定 - 第 2 步驟

  6. 將校正型板放置在影像中您想要測量的位置。
    校正型板的上表面定義了測量平面。

  7. 擷取或開啟影像。
    使用 Single Shot 按鈕來擷取即時影像,或按一下 Open Image 按鈕來開啟現有的影像。
    載入影像後,校正程序即會立即開始。完成後,結果會顯示在影像區域下方。如果校正程序成功,影像區域下方將會出現綠色勾選標記。

    資訊

    用於校正的影像大小必須與處理的影像大小完全相同。

  8. 檢查結果表格,看看是否符合您的需求。
    Calibration Results
    您可以使用箭頭按鈕隱藏表格。這麼做會擴大影像區域,讓您更容易檢視影像細節。
    Calibration Results Table Hidden

  9. 按一下 Next。
    Calibration 對話方塊的第 3 步驟隨即開啟。
    有關詳細資訊,請參閱 Step 3: Machine Calibration。

  10. 如果您要校正機器,請按一下 Enable Machine Calibration 按鈕位於工具列的最右側。
    如果您只想完成相機校正,請按一下 OK.
    Calibration vTool 設定 - 第 3 步驟已啟用

  11. 決定您要用來定義機器座標系統的 method。

    • Automatic with Aztec Codes:

      1. 產生兩個 Aztec codes,並在其中編碼座標系統中的兩個不同位置(通常是座標系統的原點和第二個位置)。

      2. 列印 Aztec 碼。

      3. 將兩個 Aztec 碼放置在世界或機器座標系統的確切位置。

      4. 選取 Use Aztec code coordinates 核取方塊。

      5. 擷取或開啟影像。
        使用 Single Shot 按鈕來擷取即時影像,或按一下 Open Image 按鈕來開啟現有影像。
        影像載入後,校正程序會立即開始。完成後,結果會顯示在影像區域下方。如果校正程序成功,影像區域下方會出現一個綠色勾號。影像中的 Aztec 碼會以十字準線顯示,世界座標系統的原點也會一併顯示。

      6. 檢查結果表格,看看是否符合您的需求。

      7. 如果您想要根據機器的座標系統來定義 z 軸的方向,請選取 Invert axes 核取方塊。
        機器校正 - 使用 Aztec 碼自動進行

    • 使用 Aztec 碼手動進行:

      1. 產生兩個編碼有通用字串的 Aztec 碼。
        這些字串可以完全相同,在此情況下,您只需要產生一個 Aztec 碼並列印兩份即可。

      2. 列印 Aztec 碼。

      3. 將 Aztec 碼放置在影像區域中合適的位置。

      4. 以世界座標量測 Aztec 碼的位置。

      5. 清除 Use Aztec code coordinates 核取方塊。

      6. 擷取或開啟影像。
        使用 Single Shot 按鈕來擷取即時影像,或按一下 Open Image 按鈕來開啟現有影像。

      7. 在各自的 World Coordinates 輸入欄位中輸入 P1 和 P2 的座標。

      機器校正 - 使用 Aztec 碼手動進行

    • 完全手動:

      1. 清除 Use Aztec code coordinates 核取方塊。

      2. 在各自的輸入欄位中輸入 P1 和 P2 的世界座標。
        這些座標是已知的(因為它們是由設計決定的),或者您必須進行量測。

      3. 若要指定 P1 和 P2 影像座標,請將影像區域中的十字準線拖曳至所需的位置。

      機器校正 - 完全手動

您可以在 pin data view 中檢視校正結果。在這裡,您可以選取要顯示的輸出。

Inputs#

Image#

直接接收來自 Camera vTool 或輸出影像之 vTool(例如 Image Format Converter vTool)的影像。

  • 資料類型:Image
  • 影像格式:8 位元至 16 位元單色或彩色影像(請參閱Supported Pixel Formats)

Outputs#

Image#

傳回校正後的影像。輸出影像可供任何接受影像作為輸入的 vTool 使用。

Transformation#

傳回將校正影像的像素座標轉換為世界座標的轉換資料。該轉換資料可供任何接受轉換資料作為輸入的工具使用,以決定一組像素座標的世界座標。

  • 資料類型:轉換資料

支援的 Pixel Format#

根據輸入影像的 Pixel Format,Calibration vTool 會輸出下列 Pixel Format:

Input Pixel Format Output Pixel Format
Bayer GR 8 RGB 8 Planar
Bayer GR 16 RGB 16 Planar
Bayer RG 8 RGB 8 Planar
BGRA 8 Packed RGB 8 Planar
BGR 8 Packed RGB 8 Planar
Mono 8 Mono 8
Mono 10 Mono 10
Mono 12 Mono 12
Mono 16 Mono 16
RGB 8 Packed RGB 8 Planar
RGB 16 Packed RGB 16 Planar
RGB 8 Planar RGB 8 Planar
RGB 16 Planar RGB 16 Planar

典型前置項目#

典型後續元件#