NI LabVIEW로 3D 이미징

개요

3D 이미징 기술은 교육 연구 실험에 처음 사용된 이래로, 센서, 조명, 그리고 특히 임베디드 처리 기술의 발전에 힘입어 현재 다양한 머신 자동화 어플리케이션에 사용되고 있습니다. 로봇 비전을 이용한 빈 픽킹 (bin-picking)에서 고정밀 계측에 이르기까지, 최신 프로세서는 깊이 정보를 추출하고 신속하게 의사 결정을 하기 위해 필요한 광대한 데이터 세트와 고급 알고리즘을 처리할 수 있습니다. LabVIEW Vision Development Module을 사용하면, 엔지니어들은 단일의 그래픽 기반 개발 환경 내에서 3D용 소프트웨어 및 하드웨어 도구의 긴밀한 통합을 통해 3D 비전을 활용할 수 있습니다.

내용

3D 이미징 소개

2D 카메라 센서 또는 다른 광학 센서 기술을 사용하여 깊이 정보를 계산하는 방법에는 여러 가지가 있습니다.  아래는 가장 일반적인 방식에 대한 간략한 설명입니다.

3D 이미징 기술 설명

 

스테레오 비전

 

두 개의 카메라가 한 물체를 서로 다른 시각으로 보도록 사용되며, 교정 기술이 사용되어 카메라 사이의 픽셀 정보를 정렬하고 깊이 정보를 추출합니다.  이는 뇌가 시각적으로 거리를 측정하는 방법과 가장 유사합니다.

 

 

레이저 삼각측량

 

레이저 라인이 객체에 투영되고, 카메라를 사용하여 이미지를 수집하고 객체의 단일 슬라이스에서 레이저 라인의 변위를 측정하여 높이 프로파일이 생성됩니다.  레이저와 카메라는 객체 표면의 여러 슬라이스를 스캔하여 최종적으로 3D 이미지를 생성합니다.

 

 

투사된 빛

 

알려진 빛 패턴이 물체에 투사되며 패턴이 물체에서 왜곡되는 정도를 통해 깊이 정보가 계산됩니다.

 

 

TOF (Time of Flight) 센서

 

광원이 이미지 센서와 동기화되어 광 펄스와 센서로 반사된 빛 사이의 시간을 계산하여 거리를 계산합니다.

 

 

라이다

 

레이저를 사용하여 빛의 반사를 측정하고, 3D 프로파일을 생성하여 표면 특성을 파악하고 물체를 감지함으로써 영역을 조사합니다.

 

 

광간섭 단층 영상 기술 (OCT)

 

근적외선을 사용해 물체의 단면을 통하는 빛의 반사를 측정하여 깊이 정보를 계산하는 고해상도의 이미징 기술입니다.  이는 여러 층의 생물 조직을 통과할 수 있는 비침습성 기술이므로 의료 이미징 어플리케이션에서 가장 일반적으로 사용됩니다.

 

 

 

Vision Development Module의 스테레오 비전 함수

 

LabVIEW 2012부터 Vision Development Module에는 여러 카메라에서 깊이 정보를 계산할 수 있는 양안 스테레오 비전 알고리즘이 포함되어 있습니다.  두 카메라 사이의 교정 정보를 통해, 새로운 알고리즘은 깊이 이미지를 생성하여 객체를 식별하고, 결함을 감지하고, 로봇 팔의 움직임과 응답 방법을 조정할 수 있도록, 더 많은 데이터를 제공할 수 있습니다.

양안 스테레오 비전 시스템은 정확히 두 대의 카메라를 사용합니다. 이상적으로, 두 대의 카메라는 서로 간격이 짧고 거의 평행하게 장착되어야 합니다. 그림 1의 예는 구형 초콜렛 자동 검사를 위한 3D 이미징의 이점을 보여줍니다.  두 카메라를 교정하여 분리와 기울기와 같은 3D 공간 관계를 확인한 후, 두 개의 다른 이미지를 수집하여 초콜렛의 잠재적인 결함을 찾습니다.  Vision Development Module의 새로운 3D 스테레오 비전 알고리즘을 사용하면 두 이미지를 결합하여 깊이 정보를 계산하고 깊이 이미지를 시각화할 수 있습니다.

 

3D Stereo Vision Front Panel.PNG

그림 1.  스테레오 비전을 사용하여 왼쪽과 오른쪽 이미지로 생성된 깊이 이미지의 예

 

 

 

2차원 이미지에서는 보이지 않지만, 3D 깊이 이미지는 두 개의 초콜렛이 높은 품질 기준을 통과할 정도로 충분히 둥글지 않다는 것을 보여줍니다.  그림 2의 이미지는 식별된 결함을 흰색 상자로 둘러싸 보여줍니다.

 

그림 2.  결함이 있는 초콜렛이 흰색 상자로 표시된 3D 깊이 이미지

 

스테레오 비전을 사용할 때 고려해야 할 한 가지 중요한 점은 시차 (disparity)를 연산할 때 왼쪽 이미지의 라인과 오른쪽 이미지의 동일한 라인에서 특징을 찾아야 한다는 것입니다. 특징을 찾고 차이를 파악하려면 이미지에 충분한 질감 (texture)이 있어야 하며, 보다 우수한 결과를 얻으려면 구조광으로 현장을 밝혀 질감을 더해야 할 수도 있습니다.

 

마지막으로, 양안 스테레오 비전은 검사 중인 물체 표면에 있는 점들의 3D 좌표값 (X,Y,Z)을 계산할 때 사용할 수도 있습니다. 이같은 점들을 포인트 클라우드또는 포인트의 클라우드라고 부릅니다. 포인트 클라우드는 물체의 3D 모양을 시각적으로 표현할 때 매우 유용하며 다른 3D 분석 소프트웨어에도 사용됩니다.  예를 들어, AQSense 3D Shape Analysis Library (SAL3D)는 이제 LabVIEW Tools Network에서 찾을 수 있는데, 클라우드 포인트를 사용하여 추가적인 이미지 처리와 시각화를 수행합니다.

 

스테레오 비전의 작동 방식

양안 스테레오 비전의 작동 방식을 더 잘 설명하기 위해 그림 3은 간략한 스테레오 비전 설정 다이어그램을 보여줍니다. 여기에서 두 개의 카메라는 서로 완벽하게 평행하게 장착되어 있고 초점 거리가 정확히 같습니다.

그림 3. 간단한 스테레오 비전 시스템

그림 3의 변수:

b는 기준선 (baseline), 또는 두 카메라 사이의 거리

f는 카메라의 초점 거리

XA는 카메라의 X축

ZA는 카메라의 광학 축

P는 좌표 X, Y, Z로 정의된 실제의 점

uL은 왼쪽 카메라가 수집한 이미지로 투사된 물체 P

uR은 오른쪽 카메라가 수집한 이미지로 투사된 물체 P

 

두 대의 카메라가 "b" 만큼 떨어져 있으므로, 두 카메라는 수집된 2D 이미지의 다른 위치에서 동일한 실제 점 P를 봅니다.  포인트 uL과 uR의 X 좌표는 다음과 같이 주어집니다.

uL = f * X/Z

그리고

uR = f * (X-b)/Z

 

투사된 두 점 사이의 거리를 시차 (disparity)라고 하며 시차값을 사용하여 깊이 정보, 즉 실제 점 "P"와 스테레오 비전 시스템 사이의 거리를 계산할 수 있습니다. 

시차 =   uL – uR   =  f * b/z

깊이 = f * b/disparity

 

현실에서의 실제 스테레오 비전의 구성은 일반적으로 그림 4의 시스템처럼 복잡하지만, 적용되는 기본 원리는 동일합니다.

 

그림 4.  일반적 스테레오 비전 시스템

 

단순화한 스테레오 비전 시스템에 사용된 가정을 실제의 스테레오 비전 어플리케이션에 적용할 수는 없습니다. 최고의 카메라와 렌즈에서도 수집된 이미지에 일정 수준의 왜곡이 발생하며, 이를 보완하기 위해 일반적인 스테레오 비전 시스템도 교정이 필요합니다.  교정 과정에서는 다른 각도에서 수집된 교정 그리드를 사용하여 이미지 왜곡과 두 카메라 사이의 정확한 공간 관계를 계산합니다.  그림 5는 Vision Development Module에 포함된 교정 그리드를 보여줍니다.

그림 5.  교정 그리드는 Vision Development Module에 PDF 파일로 포함되어 있습니다.

 

 

Vision Development Module에는 스테레오 비전 교정 과정을 안내하는 함수와 LabVIEW 예제가 포함되어 있어, 몇 가지 교정 매트릭스를 생성할 수 있게 도우며, 이를 추가적인 계산에 활용하여 시차와 깊이 정보를 계산할 수 있습니다.  그 후 위의 그림 1과 같이 3D 이미지를 시각화하거나, 결함 감지, 물체 추적 및 모션 제어와 같은 다양한 유형의 분석을 수행할 수 있습니다.

 

스테레오 비전 어플리케이션

스테레오 비전 시스템은 카메라 구성과 위치가 고정되고, 큰 방해가 없는 어플리케이션에 가장 적합합니다. 일반 어플리케이션으로는 운행, 산업용 로봇, 자동화 검사 및 감시 등을 들 수 있습니다.

 

운행

 

 

 

자율 주행 차량은 정확한 경로 계획과 장애물 회피를 위해 깊이 정보를 사용하여 장애물의 크기와 거리를 측정합니다.  스테레오 비전 시스템은 운행 어플리케이션에 광범위한 3D 정보를 제공할 수 있으며 빛 조건이 변하는 환경에서도 준수한 성능을 제공합니다.

 

 

 

산업용 로봇

 

 

 

스테레오 비전 시스템은 빈 픽킹 (bin picking) 또는 화물 상자 다루기 같은 로봇 산업 자동화 작업에 유용합니다. 빈 픽킹 어플리케이션에서는, 로봇 팔이 여러 종류의 부품이 들어 있는 용기에서 특정 물체를 골라내야 합니다.  스테레오 비전 시스템은 저렴한 방법으로 3D 정보를 얻고 어떤 부분을 자유롭게 잡을 수 있는지 결정할 수 있습니다.  또한 상자에 있는 개별 제품의 정확한 위치를 제공하고 로봇 팔이 팔레트에서 물체를 제거하여 다른 팔레트나 프로세스로 옮기는 어플리케이션을 지원할 수도 있습니다.

 

 

 

자동화 검사

 

3D 정보는 자동화 검사 어플리케이션에서 고품질을 유지하는 데 매우 유용합니다.  스테레오 비전을 사용하면 2D 이미지만으로 파악하기 매우 힘든 결함을 파악할 수 있습니다. 블리스터 팩 안의 알약 유무 확인, 병 모양 검사, 커넥터의 구부러진 핀 찾기 등은 모두 깊이 정보가 품질 보장에 큰, 영향을 미치는 자동화 검사 어플리케이션의 예입니다.

 

 

 

감시

 

 

 

스테레오 비전 시스템은 또한 조명 변화와 그림자가 있을 때에도 견고하게 작동하므로 추적 어플리케이션에도 적절합니다. 스테레오 비전 시스템은 추적되는 물체에 대한 3D 정보를 정확하게 제공하여 침입하는 사람이나 버려진 짐과 같이 비정상적인 이벤트 파악을 도울 수 있습니다. 또한 스테레오 비전 시스템은 안면 인식 또는 기타 생체 인식 시스템의 정확도를 개선하는 데도 사용될 수 있습니다.

 

 

 

요약 및 다음 단계

LabVIEW Vision Development Module의 스테레오 비전 기능은 다양한 산업 및 어플리케이션 영역의 엔지니어에게 새로운 3D 비전 기능을 제공합니다.  또한 LabVIEW의 개방성 덕분에, 레이저 삼각측량 이미징을 위한 SICK 3D Ranger 카메라와 3D 이미지 처리를 위한 AQSense 3D 형태 분석 라이브러리와 같은, 추가적인 고급 기능을 포함하는 타사 하드웨어 및 소프트웨어 3D 비전 도구를 사용할 수 있습니다. LabVIEW Vision Development Module을 사용하면 단일 그래픽 기반 개발 환경에서 엔지니어들이 3D 비전을 사용할 수 있습니다.

 

다음 단계:

Vision Development Module 다운로드 및 평가

Vision Development Module에 대해 자세히 알아보기

SICK 3D 카메라로 3D 및 MultiScan 데이터 수집

LabVIEW Tools Network에서 인증된 타사 애드온 검색

 

참고 자료:

Vision Development Module 개념 도움말