3D 머신 비전의 기초 ①
Zivid
소개
우리가 살고 있는 세계는 3 차원 세계이고, 우리 인간은 두뇌에서 공간에 대한 3 차원의 이해를 돕기 위해 우리의 눈으로 들어오는 시각적인 정보를 보고 처리한다. 기계가 사람들이 하는 작업을 이해하고 수행하기 위해서는 기계도 우리, 사람들이 보는 것처럼 3 차원을 이해하고 인식할 수 있는 능력이 필요하다.
이런 이유로, 로봇과 기계가 사람처럼 작업을 수행할 수 있는 능력을 갖도록 하기 위해 여러 업계에서 3D 비전에 대한 수요가 급증하고 있다. 3D 비전 시스템은 자동차 및 주요 관련 산업의 다양한 어플리케이션에 지속적으로 공급되고 있다.
자동화, 물류 및 제조 분야에서 사용되고 있는 다양한 3D 머신 비전 기술과 시스템에 대해 알아보겠다.
1. 로봇과 기계의 비전 시스템
로봇과 기계는 제조업 및 다양한 산업에서 점점 더 널리 쓰이고 있다. 기계는 반복적이고, 더럽고 위험한 작업을 사람들을 대신해서 수행한다. 비전 시스템을 활용한 로봇이 큰 인기를 끌고 있는 산업 분야로는 빈 픽킹, 픽 앤 플레이스, 검사, 조립, 측정 등이 있다.
머신 비전 시스템은 일반적으로 아래 5 가지 요소로 구성된다.
• 조명 Lighting (specific to the vision system).
• 렌즈 Optical lenses.
• 디지털 이미지 센서 Digital imaging sensors (CMOS or CCD).
• 이미지 처리 소프트웨어 Image processing software.
• 통신 장비 Communication.
▶ 2D 비전 – 할 수 있는 것과 할 수 없는 것
2 차원 (2D) 비전 시스템의 이미지에는 X 와 Y 의 2 개의 축이 있다. 2D 비전은 보이는 것의 길이와 폭은 확인할 수 있지만, 3 번째 요소(Z-axis)가 없기 때문에 보이는 것의 높이와 깊이에 대해 알 수 없다.
이것의 예는 축구공을 보는 것이다. 축구공은 구체이고 X, Y, Z 축을 분명히 가지고 있다. 2D 기능으로 제한된 시스템에서는, 축구공이 원으로 표시되며 축구공은 축구공과높이와 폭이 같은 원형의 물체(디스크)와 다를 것이 없다. <그림 2>에서 확인할 수 있다.
그러므로, 2D 비전 시스템은 축구공, 박스, 실린더 등 높이와 깊이가 있는 물체를 인식하는데 적합하지 않다. 그러나 ‘Z’ 축 정보가 요구되는 어플리케이션이 아니라면 2D 비전으로 충분할 수 있다. 아래와 같은 예제가 있다. :
• 형상 및 위치 확인 Verification of features and position
• 치수 검사 Dimension checking
• 바코드 판독 Barcode reading
• 문자 인식 Character recognition
• 라벨 확인 Label verification
• 특정 품질 검사 프로세스 Certain quality inspection processes
• 감시 및 객체 추적(트레킹) Surveillance and object tracking
• 물체 인식 Presence detection
▶ 3D 비전의 경우
2D 비전 시스템은 수 십년 동안 사용해 왔다. 이러한 시스템은 기계가 더 나은 결정을 내리는 데 도움이 되는 중요한 정보를 제공함으로써 우리에게 큰 도움이 되었다. 그러나 수요가 증가함에 따라, 2D는 많은 상황 및 조건을 만족시키지 못할 것이고 3D 로의 진화는 분명이 필요하다.
이러한 비전이 필요한 매우 전형적인 예는 정확하고 신뢰도가 필요한 사물인식과 선정 및 픽킹(Picking) 어플리케이션이다. 이러한 작업은 몇 가지 하위 카테고리로 분류되며, 빈-픽킹(bin-picking), 피스-픽킹(piece-picking)과 픽 앤 플레이스(pick-andplace) 작업 등이 있다. 여기 객체(사물)는 안정적으로 위치해야 하며, 다른 객체와 구별이 되어야 하고, 시스템이 찾고 있는 특정 패턴과 일치하는 특징을 가지고 있어야 한다.
▶ 사람의 눈이 보는 방법
모든 일은 잠깐의 역사가 반복되는 것이니, 사람의 비전 시스템이 어떻게 동작하는지 자세히 살펴봄으로써 기계가 어떻게 동작해야 하는지 알아보겠다.
사람의 눈은 두 개로 머리에 서로 나란히 있다. ‘baseline’이라고 설명하는 두 눈 사이거리는 약 6cm이다. 각각의 눈은 약간 다른 3차원 시야를 가지고 있으며, 그 결과 우리의 눈 망막에 투사되는 시야는 약간 다른 이미지를 가지고 있다.
직접 한번 따라해보자. (그림 4):
1. 아래 그림처럼 손가락 하나를 얼굴 앞에 가까이에 위치시킨다.
2. 손가락을 보면서 양쪽 눈을 번갈아 감고 뜬다(왼쪽, 오른쪽).
3. 2 개의 시야(C 와 D) 사이에서 손가락을 좌우로 움직여 관찰한다. 손가락을 얼굴에서 더 멀리 움직이면, 이 시야의 차이는 더 작아질 것이다.
이 시야의 차이는 대상 물체(손가락)과 센서(눈) 사이의 거리에 따라 달라진다. 사람의 뇌는 각각의 눈, 센서 장치(cone)로 받아들이는 각각의 장면(scene)의 일관된 3D 이미지의 점/형상 사이의 거리의 변화와 장면에서 특정 지점 혹은 형상을 관찰하면서 깊이(depth)를 측정한다.
▶ Baseline 이 이미지 퀄리티에 미치는 영향
3D 머신 비전에서 Baseline은 2개의 카메라 혹은 카메라와 패턴 프로젝터 사이의 거리를 나타낸다. Baseline 은 3D 이미지에서 중요한 요소이며, Baseline 을 증가시키면 아래와 같은 다양한 방식으로 시스템에 영향을 준다:
• 정밀도를 높이지만, 카메라와 프로젝터의 오버랩 구간(겹치는 구간)이 감소하기 때문에 깊이 범위(depth range)와 field-of-view (FOV)를 제한한다.
• 더 많은 가림 ‘occlusion’(카메라/센서와 프로젝터 모두에게 동시에 보이지 않는영역)이 생긴다. 이로 인해 구멍‘holes’이 생기고 데이터가 부족해진다.
• 피사체와 카메라 사이에 필요한 최소 거리를 증가시킨다.
이미지 캡쳐를 위한 더 넓은 Baseline은 분명 몇가지의 장점이 있다.
그러나 로봇을 활용한 작업의 특성을 생각하면 이 접근법은 상당한 단점이 있다. Baseline의 증가는 분명 카메라가 우리가 기대하는 것보다 더 긴 측면 길이를 가지게 한다. Baseline의 증가에 따른 단점은 특히 로봇 팔에 부착된 3D 카메라의 ‘무엇을 하고 있는지 보는것(seeing what it is doing)’이라는 목표를 향해 나아가는데 방해가 될 것이다.
2. 3D 머신 비전의 현재
아래 3D 이미지 촬영을 위한 4 가지 주요 기술이 있다.
• Laser triangulation (레이저 삼각측량 방식)
• Stereo vision (스테레오 비전)
• Time-of-flight (TOF, 비행 시간 측정 방식)
• Structured light (구조광 방식)
Zivid 3D 칼라 카메라는 구조광 방식(structured light technique)을 사용한다.
3D로 작업하는 것은 2D로 작업하는 것보다 당연히 더 계산 집약적이다. 하지만, multi-core CPUs 의 발전과 함께 발전한 계산 능력은 3D 작업이 요구하는 계산을 충분히 능가한다. 또한, 소프트웨어의 가용성과 완성도가 높아지고 있다. 3D 머신 비전의 발전에 따라 요구된 연산능력은 우리가 사용하는 컴퓨터 재원에 의해 문제없이 처리된다.
3차원 데이터를 안정적으로 캡처할 수 있다는 것은 3D 머신 비전 시스템이 조명, 대비, 거리 등의 2D 시스템에 악영향을 미치는 환경 요인으로부터 상대적으로 더 강하다는 것을 의미한다.
▶ The point cloud – 3 차원에 대한 세부 정보
3D 비전 시스템에서 얻은 데이터를 보면 X, Y, Z 방향의 값들로 만들어져 있다. 이러한 데이터들을 결합하여 Point Cloud라고 말하는 데이터를 생성한다. Point cloud 이미지는 일반 2D 이미지와 유사하지만 추가로 깊이(depth, the Z-axis component)에 대한 정보를 가지고 있다.
Point cloud 는 시각화 프로그램(Visualization applications)에서 확인할 수 있으며, 이러한 이미지를 회전, 이동, 기울임 등을 활용하여 Point cloud 와 그 안의 물체에 대해보다 명확하게 이해할 수 있다. 가장 발전된 형태의 Point cloud 는 3D 깊이(3D dimensional depth)뿐만 아니라 Zivid 3D 비전시스템과 같은 색상 정보도 제공한다.
▶ 3D 작업의 장점
대상 물체의 매우 정확한 3차원(digitized) 모델을 사용하여 작업하고 있기 때문에, 우리 머신(Machines)은 이제 모양과 위치 모두 편안하게 활용할 수 있다. 3D 이미지는 대상 물체의 정확한 위치와 정확한 부피, 표면 각도, 평탄도 등 다양한 특징에 대한 정확한 정보를 가지고 있다. 이러한 점을 통해 대상 물체의 고정 및 전체 시스템 설계가 크게 간소화된다.
▶ 3 차원의 장점
3 차원을 사용하는 비전 시스템은 각 축에 정밀한 좌표(X, Y, Z)와 각 축에 대한 회전에 대한 정보를 가지고 있다. 이러한 시스템은 laser triangulation(레이저 삼각측량 방식), stereo vision(스테레오 비전), time-of-flight(TOF, 비행 시간 측정 방식), structured light(구조광방식), 4가지 기술 중 하나를 사용한다. 이러한 추가적인 성능과 기능에 대한 결과로, 3D 비전 시스템은 거의 모든 비전 시나리오와 2D 비전 시스템이 필요한 성능과 기능을 제공하지 못한 상황에서 사용한다.
• 로봇 가이드(Robot guidance)와 표면 트레킹(surface tracking)
• 배치(Place), 포장 및 조립을 위한 빈 픽킹(Bin-picking)
• 대상 물체 스캔과 디지털화(digitization)
• 두께, 높이, 부치 측정
• 치수 및 공간 관리
• 형상, 구멍, 각도 및 곡선 측정
• 표면 또는 조립 결함 검출
• 3D CAD 모델을 활용한 품질 관리 및 검증
▶ 랜덤 빈 픽킹
Random bin-picking(랜덤 빈 픽킹)이라는 어플리케이션은 상당한 어려움으로 인해 많은 사람이 머신 비전 시스템에 대한 성능 테스트로 간주하고 있다.
최악의 경우, Random bin-picking(랜덤 빈 픽킹) 어플리케이션은 반짝이는 원뿔형 강철 제품으로 가득 찬 통이 될 것이다. 이러한 어플리케이션의 도전 과제는 많다. 로봇은 무작위로 쌓여 있는 물체중에서 정확하게 하나를 선택하여, 그것을 잡는 가장 좋은 방법을 찾아야 한다. 충돌 및 간섭을 방지하기 위해 그리퍼(Gripper)의 크기, 물체의 측면 및 인접 물체를 모두 동시에 고려해야 한다.
이런 로봇의 요구를 충족하기 위해 로봇은 물체를 명확하고 자세하게 볼 수 있어야 한다. 물체를 명확하게 구별할 수 있어야 하며, 로봇은 입체적으로 물체에 접근하는 스스로의 자세를 평가해야 한다. 로봇이 보는 장면의 시각 역동성(The visual dynamics)은 끊임없이 변화할 것이고, 명암도 유동적일 것이다. 로봇은 이러한 도전적인 과제들을 일관되고, 견고하고, 설정된 속도로 물체를 픽킹할 만큼 짧은 시간 내에 대처해야 한다.
이와 같은 복잡하고, 높은 정확도가 필요하고, 실시간 처리가 필요한 과제는 3D 기술의 적절한 조합으로 해결할 수 있다. 어떤 면에서 3D 머신 비전은 아직 ‘신입사원’과 비슷하지만, 이것은 2D 가 쉽게 할 수 없는 도전들을 극복함으로써 스스로를 증명하고 있다.
2D 시스템과 비교할 때, 이러한 성능 향상은 구현 및 배치 중에 더 많은 어플리케이션에 적용하고 사용될 필요가 있음을 의미한다. 3D로 보다 많은 데이터를 처리할 수 있다. 3D 머신 비전으로 제공되는 여러가지 기술(the technology and techniques)을 살펴본다.
자료 제공: zivid(www.zivid.com)








