콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

보정 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 중에서 선택할 수 있습니까? No Yes
다양한 projection 모델 중에서 선택할 수 있나요? No Yes
라이선스 구매 Basler 웹사이트 방문 Basler 웹사이트 방문

작동 원리#

카메라에 장착된 렌즈에 따라 원본 이미지에는 일정 수준의 방사 왜곡이 나타납니다. 또한 캘리브레이션이 없으면 측정값은 이미지의 픽셀 좌표만을 참조하게 됩니다.

Calibration vTool을 사용하면 다음과 같은 이점이 있습니다.

  • 캘리브레이션 프로세스는 원본 이미지에 적용되어 왜곡 효과를 제거하는 transformation 데이터를 생성합니다.
    그 결과 이상적이고 선형적인 핀홀 카메라로 촬영한 것 같은 이미지, 즉 대상 장인의 직선이 이미지에 직선으로 투영되는 이미지가 생성됩니다.
  • Rectification은 원근 왜곡을 제거합니다.
    원근 왜곡은 더 넓은 각도의 렌즈를 사용하거나 카메라가 검사할 대상 객체가 놓인 측정 평면을 수직으로 향하지 않을 때 발생합니다.
    예를 들어 카메라의 시야 방향이 비스듬한 경우, 실제 세상의 정사각형은 반대쪽 변들이 평행하지 않고 소실점에서 교차하는 일반적인 사각형으로 카메라에 보입니다.
    따라서 기기 설정상 카메라를 검사 평면에 수직으로 장착할 수 없는 경우, 카메라 캘리브레이션을 통해 이미지가 보정되어 객체를 정확하게 표현할 수 있습니다.
  • 캘리브레이션은 픽셀 단위의 이미지 좌표와 미터 단위의 월드 좌표 간의 관계를 설정합니다.
    이를 통해 실제 세상에서 거리를 측정하거나 로봇의 그리핑 위치를 결정하는 등의 작업을 해결할 수 있습니다.
  • Calibration Pro vTool을 사용하면 다양한 왜곡 및 projection 모델 중에서 선택할 수 있습니다. 이를 통해 애플리케이션 유형과 사용하는 렌즈를 반영할 수 있으므로 캘리브레이션이 더욱 정밀해지거나 구체화됩니다.

캘리브레이션 프로세스#

1단계: 준비#

Calibration Plate#

Calibration vTool을 사용하면 단일 측정 평면과 관련하여 카메라를 캘리브레이션할 수 있습니다. 이를 위해서는 캘리브레이션 플레이트가 필요합니다. 기본적으로 Calibration vTool은 다양한 크기의 원형 그리드 캘리브레이션 플레이트를 제공합니다. 이들은 Calibration plate 드롭다운 목록에서 사용할 수 있습니다.

카메라의 시야각에 따라 캘리브레이션 플레이트의 크기를 선택하십시오. 대상 장면에 전체 시야각이 포함되는 경우, 캘리브레이션 플레이트는 거의 전체 이미지 영역을 덮어야 합니다.

대부분의 상황에서 캘리브레이션 플레이트가 이미지 영역보다 약간 더 큰 것이 좋습니다. 최적의 캘리브레이션 결과를 얻으려면 전체 이미지 영역이 캘리브레이션 플레이트의 원형 그리드로 덮여 있는지 확인해야 합니다. 대상 장면에 전체 시야각의 일부만 포함되는 경우, 해당 특정 영역만 덮는 캘리브레이션 플레이트로도 충분합니다.

캘리브레이션 플레이트를 생성하려면 제공된 템플릿 중 하나를 인쇄하여 두껍고 평평하며 고른 표면(예: 두꺼운 판지 또는 알루미늄 플레이트)에 붙이십시오. 일반적인 애플리케이션이나 평가 목적의 경우, 표준 프린터나 플로터의 인쇄 정밀도로 충분합니다.

제공되는 크기가 요구 사항을 충족하지 않는 경우, 요청 시 맞춤형 캘리브레이션 플레이트를 사용할 수 있습니다. 이와 관련하여 Basler Support에 문의하십시오.

왜곡 모델 (Pro 버전 전용)#

애플리케이션에 적합한 왜곡 모델을 선택하여 왜곡 효과를 교정하기 위한 더 정확한 transformation 데이터를 생성할 수 있습니다. 선택할 수 있는 두 가지 모델이 있습니다.

  • Division: 이 모델은 대부분의 애플리케이션, 특히 로봇 또는 부품 위치 파악 애플리케이션에 적합합니다. 왜곡 모델링에 하나의 계수만 사용합니다. 따라서 매우 견고하며 좋은 결과를 생성합니다.
  • Polynomial: 이 모델은 훨씬 더 정확한 캘리브레이션 결과를 달성합니다. 측정 애플리케이션이나 렌즈 왜곡이 더 심한 경우에 사용해야 합니다. 왜곡 모델링에 5개의 계수가 사용됩니다.

투영 모델 (Pro 버전 전용)#

projection 모델을 선택하면 사용 중인 렌즈 유형을 반영할 수 있습니다. 선택할 수 있는 두 가지 모델이 있습니다.

  • Perspective: 이 모델은 entocentric 렌즈를 사용할 때 권장됩니다.
  • Parallel: 이 모델은 telecentric 렌즈를 사용할 때 권장됩니다.

1단계를 수행하려면 Configuring the vTool로 이동하십시오.

2단계: 카메라 캘리브레이션#

이 단계에서는 캘리브레이션 플레이트의 이미지를 획득합니다. 카메라로 라이브 이미지를 캡처하거나 디스크에서 이미지를 로드할 수 있습니다. 라이브 이미지는 측정에 적합한 위치를 찾기 위해 캘리브레이션 플레이트를 즉시 이동할 수 있으므로 유용합니다. 캘리브레이션 플레이트의 상단 표면이 측정 평면을 정의합니다.

정보

카메라를 캘리브레이션하면 단일 월드 평면에서만 측정할 수 있습니다. 이 월드 평면은 캘리브레이션 플레이트에 의해 정의됩니다. 애플리케이션 설정이 변경되면 카메라를 다시 캘리브레이션해야 합니다.

측정하려는 객체는 이 평면 위에 있거나 이 평면에 가까워야 합니다. 따라서 검사할 객체는 평평하거나 높이가 낮아야 합니다. 또는 캘리브레이션 플레이트의 상단 표면이 객체 표면과 동일한 높이에 있도록 해야 합니다.

카메라가 측정 평면을 수직으로 바라보고 렌즈의 개방 각도가 작은 경우, 측정 평면 외부에 있는 객체로 인한 오차는 무시할 수 있습니다. 측정 평면과 카메라의 시야 방향 사이의 각도가 비스듬한 경우에만 위치 또는 거리에 대한 측정 오차가 유의미해집니다.

이 경우 Basler는 객체 거리 대비 객체 간 높이 변동을 1~5% 범위 내로 제한할 것을 권장합니다.

이미지가 획득되면 캘리브레이션 프로세스가 즉시 시작되며 결과가 이미지 영역 아래에 표시됩니다.

이미지 영역의 색상을 통해 캘리브레이션 성공 여부를 즉시 확인할 수 있습니다. 녹색으로 강조 표시된 원은 성공적으로 감지된 반면, 빨간색 원은 감지되지 않았습니다. 또한 월드 좌표계의 원점이 표시됩니다.

정보

월드 좌표계의 위치와 방향은 캘리브레이션 플레이트 패턴과 해당 설명에 인코딩되어 있습니다. 이는 변경할 수 없습니다. 애플리케이션의 요구에 맞게 월드 좌표계를 조정하려면 machine calibration 단계를 사용하십시오.

2단계를 수행하려면 Configuring the vTool로 이동하십시오.

3단계: 머신 캘리브레이션#

Machine calibration은 비전 시스템의 월드 좌표계를 비전 시스템이 속한 기계의 좌표계와 정렬하는 선택적 단계입니다. 공통 좌표계를 기반으로, 예를 들어 로봇은 비전 시스템이 결정한 위치에서 객체를 집어 들 수 있습니다.

카메라 캘리브레이션만으로 충분하고 애플리케이션에 정렬된 월드 좌표계가 필요하지 않은 경우, 여기서 캘리브레이션 프로세스를 종료할 수 있습니다.

고려 사항#

머신 좌표계를 정의하기 위해 두 개의 마커를 사용하여 좌표계의 두 점 P1과 P2를 정의합니다. 성공적인 machine calibration을 위해서는 머신 좌표 평면과 캘리브레이션 플레이트 평면 사이의 관계를 아는 것이 중요합니다. 두 가지 옵션이 있습니다.

  • 두 평면이 동일한 경우.
    이 경우 캘리브레이션 플레이트의 원하는 위치에 마커를 배치하여 자신만의 머신 좌표계를 정의할 수 있습니다. 마커의 머신 좌표와 이미지 좌표를 알면 측정된 이미지 점을 머신 좌표로 변환할 수 있는 변환 관계가 정의됩니다.
  • 두 평면이 서로 평행한 경우.
    경우에 따라 머신 평면과 캘리브레이션 평면을 동일하게 만드는 것이 불가능하거나 원치 않을 수 있습니다. 대안으로 머신 평면이 캘리브레이션 평면과 다른 높이에 있을 수 있습니다. 그러나 두 평면은 항상 서로 평행해야 합니다.

    정보

    이 설정은 카메라가 측정 평면을 수직으로 향하고 있는 경우에만 권장됩니다. 실제로는 시야 방향이 이상적인 구성에서 몇도 정도 벗어날 수 있습니다.

    시야 방향이 캘리브레이션 플레이트에 대해 비스듬한 경우, 머신 평면은 적어도 캘리브레이션 평면과 가까워야 합니다. 그렇지 않으면 더 넓은 개방각과 더 비스듬한 시야각을 가진 렌즈의 경우 체계적 오차가 훨씬 더 커집니다.

방법#

머신 좌표계를 정의하는 마커를 제공하는 세 가지 방법이 있습니다.

Aztec Codes를 이용한 자동 방식#

Aztec code는 좌표 위치에 대한 정보를 인코딩하는 데 이상적이며, 이미지에서 위치 감지를 위한 우수한 시각적 마커를 제공합니다.

이 방법을 사용하려면 밀리미터 단위의 위치를 인코딩하는 두 개의 Aztec code를 생성하고 인쇄합니다.

  • 예를 들어 하나의 코드는 좌표계 원점의 위치를 인코딩합니다: "0 0"
  • 두 번째 코드는 좌표계의 x축 상의 두 번째 점(예: 첫 번째 코드에서 50 mm 떨어진 위치)을 인코딩합니다: "50 0"
    위치를 인코딩하는 표기법은 "point_coordinate_x point_coordinate_y"입니다.

시스템은 이미지에서 Aztec code의 위치를 감지하고, 그 월드 위치를 코드의 디코딩된 콘텐츠와 연결합니다.

정보

Aztec code의 중심이 월드 좌표에서 마커의 위치를 정의합니다.

마커 사이의 거리는 인코딩된 위치에 의해 정의된 값과 정확히 일치해야 합니다.

Aztec Codes를 이용한 수동 방식#

이 방법에서 코드는 일반적이며 짧은 문자열과 같이 원하는 모든 정보를 포함할 수 있습니다. 두 코드가 동일할 수 있으므로 인쇄 과정이 더 쉬워집니다. 더 중요한 것은 코드를 임의의 위치에 배치할 수 있다는 점입니다. 머신 좌표로 등록하려는 위치를 선택하기만 하면 됩니다.

로보틱스 애플리케이션의 경우 다음과 같이 진행합니다: 코드를 배치하고 로봇 핸드에 장착된 적절한 터치 프로브로 해당 위치를 측정합니다. 그런 다음 이미지를 획득하고 로봇이 등록한 좌표를 World Coordinates 입력 필드에 입력합니다.

완전 수동 방식#

이 방법을 사용하면 두 점의 월드 좌표와 이미지 좌표를 유연하게 입력할 수 있습니다. 위의 방법과 마찬가지로 월드 좌표는 시스템에서 알려져 있거나 등록되어 World Coordinates 입력 필드에 입력됩니다. 이미지의 P1 및 P2 십자선을 원하는 목표 위치로 드래그하여 필요에 따라 이미지 좌표를 조정할 수 있습니다.

완전 수동 방식이 유용한 두 가지 주요 시나리오가 있습니다.

  • 원 중심, 사각형의 모서리 점, 혹은 골판지 위에 손으로 대충 그린 십자가 모양 등 등록 가능한 어떤 마커든 사용할 수 있습니다.
  • 기계 설계에 마커를 포함할 수 있습니다. 이를 통해 마커의 위치가 고정되고 항상 알려지게 됩니다. 마커는 작은 구멍이나 적절한 십자형 기준 마커 등이 될 수 있습니다.

    정보

    장비에 고정 마커가 있는 경우, 두 마커까지의 거리가 동일하도록 캘리브레이션 플레이트를 배치해야 합니다.

3단계를 수행하려면 Configuring the vTool로 이동하십시오.

성공적인 캘리브레이션을 위한 팁#

최적의 캘리브레이션 결과를 보장하려면 (0~255의 그레이 밸류 범위를 가진 8비트 이미지 가정) 다음 측면을 고려하십시오.

  • 패턴 커버리지: 카메라에 최소한 하나의 파인더 패턴이 보여야 합니다. 이미지에 두 개 이상의 파인더 패턴이 보이는 경우, 캘리브레이션 플레이트가 대칭되었는지 여부를 감지할 수 있습니다. 일반적으로 카메라에 캘리브레이션 패턴이 많이 보일수록, 그리고 시야각(Field of View)을 캘리브레이션 플레이트가 많이 채울수록 좋습니다.
  • 원 직경: 그리드 내 원의 직경은 모든 이미지에서 최소 20픽셀 이상이어야 합니다. 이는 성공적인 캘리브레이션을 위해 필수적입니다.
  • 대비: 캘리브레이션 플레이트 이미지의 밝은 영역과 어두운 영역 간의 대비는 최소 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)이 후속하는 모든 vTool에 올바르게 연결되어 있는지 확인하십시오.

Measurements Pro vTools는 유사한 방식으로 작동하지만 완전한 기하학적 형상을 측정할 수 있게 해줍니다.

vTool 설정하기#

Calibration vTool을 설정하려면:

  1. 다음에서 레시피 관리 창(pane)의 vTool Settings 영역에서 다음을 클릭합니다. Open Settings 를 클릭하거나 해당 vTool을 더블 클릭하십시오.
    이 Calibration Basic/Pro 대화 상자가 1단계를 표시하며 열립니다.
    자세한 내용은 다음을 참조하십시오: 1단계: 준비.
    Calibration vTool 설정 - 1단계

  2. Calibration plate 드롭다운 목록에서 사용할 플레이트의 크기를 선택하십시오.

  3. 아직 실제 플레이트가 없는 경우, Print 버튼을 클릭하여 원하는 플레이트를 인쇄하십시오.

  4. 왜곡 모델과 투영 모델을 선택하십시오(Pro 버전 전용).

  5. 클릭 다음.
    다음 단계: 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 Settings - Step 3 Enabled

  11. 머신의 좌표계를 정의하는 데 사용할 방법을 결정하십시오.

    • Automatic with Aztec Codes:

      1. 좌표계에 인코딩된 두 가지 다른 위치(일반적으로 좌표계 원점과 두 번째 위치)를 가진 두 개의 Aztec 코드를 생성합니다.

      2. Aztec 코드를 인쇄합니다.

      3. 월드 또는 머신 좌표계의 정확한 위치에 두 개의 Aztec 코드를 배치합니다.

      4. Use Aztec code coordinates 확인란을 선택합니다.

      5. 이미지를 캡처하거나 엽니다.
        Single Shot 버튼을 사용하여 라이브 이미지를 획득하거나 Open Image 버튼을 클릭하여 기존 이미지를 엽니다.
        이미지가 로드되면 교정 프로세스가 즉시 시작됩니다. 완료되면 결과가 이미지 영역 아래에 표시됩니다. 교정 프로세스가 성공하면 이미지 영역 아래에 녹색 체크 표시가 나타납니다. 이미지에 십자선으로 Aztec 코드가 시각화되며 월드 좌표계의 원점도 시각화됩니다.

      6. 요건이 충족되는지 결과 테이블을 확인하십시오.

      7. 머신의 좌표계에 따라 z축의 방향을 정의하려면 다음을 선택하십시오. 축 반전 체크 박스입니다.
        Machine Calibration - Automatic with Aztec Codes

    • Aztec Code를 이용한 수동 설정:

      1. 임의의 문자열이 인코딩된 두 개의 Aztec code를 생성합니다.
        문자열이 동일한 경우, 하나의 Aztec code만 생성하여 두 장 인쇄할 수 있습니다.

      2. Aztec 코드를 인쇄합니다.

      3. 이미지 영역 내 적절한 위치에 Aztec code를 배치합니다.

      4. 실세계 좌표계에서 Aztec code의 위치를 측정합니다.

      5. Use Aztec code coordinates 체크 박스를 해제합니다.

      6. 이미지를 캡처하거나 엽니다.
        Single Shot 버튼을 사용하여 라이브 이미지를 획득하거나 Open Image 버튼을 클릭하여 기존 이미지를 엽니다.

      7. 해당 World Coordinates 입력 필드에 P1 및 P2의 좌표를 입력합니다.

      머신 캘리브레이션 - Aztec Code를 이용한 수동 설정

    • 완전 수동:

      1. Use Aztec code coordinates 체크 박스를 해제합니다.

      2. 해당 입력 필드에 P1 및 P2의 실세계 좌표를 입력합니다.
        설계상 고정되어 있어 이미 알고 있거나 직접 측정해야 합니다.

      3. P1 및 P2 이미지 좌표를 지정하려면 이미지 영역의 십자선(crosshair)을 원하는 위치로 드래그합니다.

      머신 캘리브레이션 - 완전 수동

핀 데이터 뷰(pin data view)에서 캘리브레이션 결과를 확인할 수 있습니다. 여기에서 표시할 출력을 선택할 수 있습니다.

입력#

이미지#

Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)에서 직접 이미지를 허용합니다.

  • 데이터 형식: 이미지
  • 이미지 형식: 8비트~16비트 단색 또는 컬러 이미지 ( 지원되는 픽셀 형식 참조)

출력#

이미지#

보정된 이미지를 반환합니다. 출력 이미지는 이미지를 입력으로 받는 모든 vTool에서 사용할 수 있습니다.

변환#

보정된 이미지의 픽셀 좌표를 실세계 좌표로 변환하는 변환 데이터를 반환합니다. 이 변환 데이터는 픽셀 좌표 세트에 대한 실세계 좌표를 결정하기 위해 변환 데이터를 입력으로 받는 모든 툴에서 사용할 수 있습니다.

  • 데이터 형식: 변환 데이터

지원되는 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

일반적인 선행 vTools#

Typical Successors#