April 26, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

[7호]위드로봇 무료강좌 기술자료 – 3차

07scwith30303차 릴레이 무료강좌 기술자료

스테레오 영상 및 3D Vision 기술

 

글 | 위드로봇(주) 김도윤대표

 

위드로봇 연구실 확장 이전 기념 릴레이 무료 강좌 3차 교육이 2010년 12월 18일 토요일에 성수동 위드로봇 본사에서 진행 되었습니다. 영상 처리 시스템에 대한 주제로 진행된 이번 강좌의 강의 내용을 참석하지 못한 디바이스마트 매거진 구독자들을 위해 간단히 소개하고자 합니다.

사람 눈이 2개인 이유
지난 달(2011년 3월호)에는 “영상 처리 시스템 소개”라는 제목으로 영상 처리 시스템에 대한 개요를 설명했다. 이 때 우리가 얻는 영상이란 “3차원 공간 상에 존재하는 물체들이 광원의 빛 입자를 반사하는 파장을 렌즈로 모아 2D 평면에 투영(projection)한 것” 이라 정의했다. 이 때 3차원 정보를 2차원 평면에 투영하기 때문에 거리(또는 깊이)에 대한 정보는 사라지게 된다. 즉, 2D 이미지 한 장 만으로는 어떤 물체가 원래 작아서 작게 보이는 것인지, 아니면 멀리 있는 물체를 찍어서 작게 보이는 것인지 알 수 없다는 것이다.

07scwith3001
그림 1. 2D 평면으로 투영되면 같은 ray상에 있는 물체는 같은 크기로 보인다.

따라서 생명체들은 최소 두 개의 영상을 이용해 한 개의 눈으로 얻을 때 사라지는 거리의 정보를 다시 복원해 낸다. 이 때 재미있는 점은 두 눈이 바라보는 영역이 서로 많이 겹칠수록 거리를 정밀하게 알 수 있는 반면 한 번에 볼 수 있는 영역은 줄어들고, 반대로 서로 겹치지 않도록 하면 한 번에 많은 영역을 볼 수 있지만 거리 계산은 정확하지가 않다는 점이다. 이와 같은 특징은 동물의 진화에도 적용되었다. 육식 동물들은 눈이 앞쪽으로 달려있어 가능한 먹잇감과 나와의 거리를 정확하게 계산할 수 있도록 진화되었고, 초식 동물은 머리의 양 옆으로 붙어 거리 계산보다는 사방 팔방 중에 어디에 포식자가 있는지 방향을 판단하여 반대 방향으로 도망가기 쉽도록 진화되었다는 점은 재미있는 부분이다. 이와 같은 차이도 3D 비전 기술을 이해하면 쉽게 설명된다.

07scwith3002 07scwith3003
그림 2. 초식 동물과 육식동물의 눈의 방향 비교

본고에서는 3차원 정보를 영상 정보를 통해 추출하기 위한 방법을 소개한다. 지난 달 원고에서도 밝혔듯이 이 부분은 꽤나 복잡한 수학과 개념의 이해를 필요로 한다. 특히 우리가 이 때까지 배워왔던 기하학은 유클리드 기하학인데, 카메라 이미지에서 발생하는 기하학 문제는 프로젝티브 스페이스(projective space) 상에서 발생하는 기하학 문제이다. 따라서 직관적으로 이해하기 어려우며 수학의 벡터 스페이스 개념을 빌어야 온전히 이해가 가능하다. 대학원에서는 통상적으로 두 학기간의 과목을 통해 해당 개념을 학습하는 분량이기에 잡지의 한정된 분량에서 3D 기술을 모두 소개한다는 것은 무리이다. 따라서 최대한 개념과 그림을 위주로 3D 영상 처리 분야를 소개해 보려고 한다.

3D 정보를 얻기 위한 방법
두 대의 카메라로부터 3D 정보를 얻기 위한 연구는 미국 CMU, MIT 및 영국 Cambridge University를 필두로 유수 대학 및 연구소에서 50년 넘게 연구가 진행되고 있다. 가장 일반적인 방법, 즉 교과서에 나오는 방법은 1987년도 MIT의 O.Fangers의 연구로 현재 전형적인 3D 스테레오 비전 기술에 해당한다. 이전에는 계산량의 문제로 실시간 처리가 어려워 실제 사용이 불가했으나 최근 프로세서 성능의 개선으로 2000년대 들어 실시간 동작이 가능해 지고 있다. 이로 인해 보안 시스템, 무인 자동차, 군사용 로봇 등에서 많은 연구가 진행되고 있다.

07scwith3004
그림 3. 전형적인 3D 스테레오 비전의 3D 좌표값을 계산하기 위한 수식

3D 스테레오 비전 기술은 두 개의 카메라를 이용하여 각 영상의 차이(disparity)를 이용하여 2D 영상에서 사라진 거리 정보를 복원해 내는 기술이다. 즉, 두 카메라로부터 멀리 떨어진 물체는 각각의 카메라에 입력된 위치의 차이가 그다지 나지 않게 된다. 반면 두 카메라로부터 가까운 물체는 각각의 카메라에 입력된 위치의 차이가 크다. 이러한 차이를 디스패리티(disparity)라고 하며 디스패리티를 구하면 거리 정보를 복원할 수 있게된다.
그런데 여기서 문제점이 왼쪽 영상의 한 점이 오른쪽 영상의 어디에 대응되는가를 알아야 디스패리티를 구할 수 있다. 이렇게 왼쪽, 오른쪽 영상의 일치점을 찾는 과정을 매칭(matching)이라고 한다. 통상적으로 한 점만으로는 서로 비교가 어렵기 때문에 대응점 주변의 정보를 하나의 블록으로 이용하여 찾는 것이 일반적이며, 이를 블록 매칭이라 부른다.
매칭을 위해 한 블록을 다른 쪽 영상에서 처음부터 끝까지 모두 뒤지는 것은 불합리해 보이니 카메라간의 기하학적인 구조 정보를 이용하여 최소한 어느 근방에 있을 것 같다라는 정보를 이용하여 탐색 위치를 줄여주는 과정을 영상 교정(image rectification)이라고 한다.
영상 교정이라는 표현보다는 이미지 렉티피케이션이라는 표현이 더 일반적으로 많이 쓰인다. Rectification을 위해서는 두 대의 카메라 사이의 배치 형태를 정확하게 알고 있어야만 한다. 이를 카메라 외부 파라미터(camera extrinsic parameter)라고 한다.
마지막으로 앞서 디스패리티를 구하면 거리 정보를 알 수 있다고 했는데 이는 상대적인 정보까지만 알아낸 것이다. 영상 처리 분야에서는 이를 up to scale까지 찾아냈다고 표현하는데, 우리가 사용하는 단위, 즉 metrical information을 알고 싶다면, 좀 더 쉽게 설명하면 몇 cm 떨어져 있는지 알고 싶다면 카메라 내부 파라미터(camera intrinsic parameter)를 찾아내야 한다.
이처럼 카메라 내부, 외부 파라미터를 찾아내는 과정을 카메라 캘리브레이션(camera calibration)이라고 한다. 꽤나 복잡하게 많이 파고 내려갔는데, 다시 한 번 정리해보자.

한 장의 영상만으로는 3D 정보를 얻을 수가 없으며 서로 다른 위치에서 촬영한 최소 두 장의 영상이 필요하다. 이 두 장의 영상에서 disparity를 계산하면 위치를 파악할 수 있는데, disparity를 구하려면 image matching을 풀어야 한다. 그냥 image matching을 하면 너무나 많은 시간이 걸리기에 image rectification을 수행하는데, 이를 위해서는 camera calibration이 필요하다. 따라서 3D 영상 처리의 순서는 역순으로 (1) 카메라 캘리브레이션을 수행한 뒤, (2) image rectification을 수행하고, (3) image matching을 통해 disparity를 구한 뒤, (4) camera intrinsic parameter값을 이용하여 유클리디안 공간 상의 3차원 좌표를 계산하는 순서로 이뤄진다.

07scwith3005
07scwith3006
그림 5. image rectification 과정

그림 5에서 왼쪽과 오른쪽의 매칭이 되는 부분은 2D 공간에서 1D 직선으로 일치시키는 과정으로 매칭 시간을 줄여준다.
이 위 한 문단이 영상 처리 대학원에서 약 반학기 동안 이뤄지는 내용이다. 3D 영상 처리를 하겠다면 필수적으로 알고 있어야 한다. 다행스러운 부분은 필자가 공부하던 1990년대까지만해도 위 모든 문제를 각자가 알아서 다 해결해야만 했다. 따라서 어느 한 부분에서 막혀서 진도가 나가지 않으면 고급 알고리즘의 구현은 고사하고, 3D 좌표값도 한 번 계산하지 못하고 시간만 버리는 경우도 많았다. 2000년대 접어들어 MATLAB에서 다양한 이미지 관련 Toolbox가 나오고, OpenCV라는 걸출한 오픈 소스 영상 처리 알고리즘이 공개되면서 위 내용을 모두 알지 못해도 3D 좌표값을 구할 수 있게 되었다. 하지만 그 근본 원리를 알고 라이브러리를 쓰는 개발자와 뭔지도 모르고, 그 결과값만을 받아 쓰기에 급급한 개발자 사이에는 새로운 문제를 접할 때 개발 속도에 차이가 나기 마련이다. 3D 영상 처리에 관심 있는 독자들은 별도의 책들을 통해 앞에서 소개한 각각의 기술들을 숙지하면 연구에 많은 도움을 받을 수 있을 것이다.

3D 스테레오 비전을 연구하는 사람들이 흔히 사용하는 시스템은 캐나다 Point Grey사의 Bumblebee 스테레오 카메라이다. CCD 센서 두 개를 내장하고 있으며, 320×240 크기의 영상을 동기화 맞춰 1394 Firewire 인터페이스로 출력하는 시스템으로 2000년대 초반에는 이 시스템이 3D 스테레오 영상을 얻는 방법으로 유일했었다.

07scwith3007 07scwith3008
그림 6. Point Grey사의 Bumblebee(좌)와 이 카메라에서 출력되는 3D 이미지(우)

그림6에서 2D이미지로 표시할 때 깊이 정보는 밝기값으로 표기가 된다. 위 이미지에서는 밝을수록 가까운 물체에 해당한다.
Bumblebee 시스템의 경우 영상을 PC로 전달하며, 스테레오 비전 알고리즘은 PC에서 동작하기에 다양한 알고리즘을 시도해 볼 수 있어 국내의 많은 연구진들이 이를 구매하여 연구를 진행했었다. 최근에는 Tyzx사에서 Deepsea라는 고속 스테레오 카메라가 출시되었는데 이전의 복잡한 매칭 계산을 상대적으로 간단한 census transform을 사용하여 초당 200 프레임까지 계산이 가능하다. 실제로 census transform은 이전의 방식 보다는 결과가 더 좋지 않지만 빠른 연산으로 우선 매칭을 해결한 다음 post processing으로 계산 결과를 다시 한 번 정리하여 보다 짧은 시간에 이전의 복잡한 방식보다 더 나은 결과를 내고 있다.

07scwith3009 07scwith3010
그림 7. Tyzx사의 Deepsea(좌)와 이 카메라에서 출력되는 3D 이미지(우)

이와 비슷하게 위드로봇에서도 3D 좌표를 계산하는 카메라를 만들어 보유 중이다. CMOS 카메라 두 개를 이용하며 BumbleBee와 동일하게 싱크를 맞춘 영상을 USB 2.0 인터페이스를 통해 PC로 최대 640×480 크기로 전달하며, 3D 계산 알고리즘은 라이브러리로 제공되어 PC 상에서 30fps 속도로 320×240 크기에서 실시간 동작시킬 수 있다.

07scwith3011 07scwith3012
그림 8. myVision-Stereo 프로토타입

그림8은 최대 640×480 컬러 스테레오 이미지를 USB 2.0 HS 인터페이스를 통해 30프레임을 전달하는 장치이다.
위 제품은 외형을 좀 더 손질하여 myVision-Stereo 라는 제품으로 9월 전에 출시할 예정이므로 3D 영상을 연구하는 분들이 외산 장비에 비해 보다 저렴하고 손쉽게 시작할 수 있는 계기를 마련할 것으로 보인다.

게임 분야에서 3D
앞서 소개한 스테레오 영상 장치들은 연구용이라 외산 제품의 경우 한 대의 가격이 최소 300만원에서 최대 1천만에 육박하는 고가 시스템이다. 따라서 이러한 제품에서 동작하는 알고리즘을 작성해 봤자 컨슈머 시장으로 진입하기에는 많은 어려움이 있어 시중에서는 3D 정보를 활용하는 장치를 보기가 어려웠었다.
2000년 후반에 들어 3D 모션 인식 분야에서 패러다임 쉬프트가 발생하는데 바로 게임 분야의 적용 및 시장에서의 성공이다. 전통적인 스테레오 영상 처리 기술로는 가격도 비싸고, 성능도 원하는 만큼 나오지 않자 게임 분야에서는 또 다른 방법으로 3D 정보를 얻는 방법을 모색하기 시작했다. 그 첫 번째 신호탄이 닌텐도에서 Wii로 시장에 나타났다. TV 수상기 위에 적외선 LED 바를 올려 놓고, 손에 쥐고 게임을 조정하는 컨트롤로(WiiMote) 내에는 카메라 센서가 들어있어 TV 수상기 위에 위치한 적외선 LED 위치를 추적한다. 추가로 WiiMote 내에는 3축 가속도 센서가 내장되어 있어 WiiMote의 pose를 실시간으로 파악한다. 최근에는 Wii Motion Plus 팩이라고 해서 3축 자이로 센서를 WiiMote에 추가로 부착할 수 있는 장치가 출시되어 보다 정밀한 3차원 공간상에의 위치, 각도를 추정할 수 있다.

07scwith3013 07scwith3014
그림 9. 닌텐도 사의 WiiMote와 Wii Motion Plus

소니의 플레이스테이션의 화려한 그래픽에 수세에 몰려있던 닌텐도는 3D 모션 인식이라는 신기술로 이러한 열세 분위기를 단번에 만회한다. 실제로 2007, 2008년도에는 매장마다 입고가 되자마자 매진되는 분위기였으며, 게임에 있어 가장 중요한 부분은 화려한 그래픽이 아닌 사용자의 몰입감이라는 사실을 다시 한 번 확인하게 된다.
3D 모션 인식이 게임 분야에서 화두로 떠오르면서 소니 사에서도 플레이스테이션 아이라는 장치를 도입하여 추격을 하는데, 이는 닌텐도와 다른 본격적인 영상 처리를 통한 모션 인식에 해당한다. 3차원 공간 상에서 컨트롤러 앞단에 장착되어 있는 구의 색상과 크기를 이용하여 플레이스테이션 아이와 상대적인 위치를 파악하고, 포즈는 MEMS 기반 센서들로 파악한다.

07scwith3015 07scwith3016
그림 10. 소니 사의 플레이스테이션 아이(좌)와 무브 컨트롤러(우)

이와 같은 방식은 앞서 소개한 닌텐도 방식에 비해 컨트롤러의 위치를 놓칠 확률이 줄어들고, 동작 범위가 넓어지는 효과가 있으며, 무엇보다 플레이스테이션에 카메라가 장착되는 셈이기에 각종 영상 처리 알고리즘을 응용한 게임이 가능해 진다는 장점이 있다. 이를 이용한 게임 타이틀도 출시 되었는데, eye toy 시리즈와 eye pet이 그것이다. 카메라로부터 입력된 영상을 이용하여 3D 캐릭터를 3차원 공간 상에 실제 존재하는 것처럼 출력하는 즉, 증강 현실 기술을 이용하여 게임을 구현하고 있다. 기존 게임기에 카메라가 붙으니 좀 더 지능적인 장치로 탈바꿈하는 경우이다.

07scwith3017 07scwith3018 07scwith3019
그림 11. EyePet 데모 동영상 그림 12. MS사의 Kinect 내부 구조와 모션 인식

2000년대 3D 동작 인식 게임기 시장을 닌텐도와 소니가 이끌어왔다면 2010년부터는 MS사의 XBOX 반격이 시작된다. XBOX에서 추가로 부착할 수 있는 Kinect 라는 장비를 선보이는데, 이 제품은 내부에 IR 카메라와 IR 방식의 소형 프로젝터(엄밀히 말하면 IR LED와 렌즈 및 패턴 필름)을 내장한 3D 카메라이다. 흔히 외부에서 보기에 두 개의 카메라가 배치되어 있어 Kinect가 스테레오 기법으로 3D 좌표를 추출하는 것으로 잘못 알고 있는 분들이 많이 있다. Kinect는 기존 3D 영상 처리와 다르게 하나의 카메라로 3D 좌표를 계산해 내는데, 카메라를 하나 사용하는 대신 광원을 이용하여 미리 알고 있는 패턴을 공간에 투사하고, 이 패턴이 어떻게 일그러지는가를 파악하여 거리 정보를 파악하는 방식이다. 이는 이스라엘의 프라임센서사가 가지고 있는 특허로, MS사는 이 특허를 이용하여 Kinect를 제작하였다. 패턴 매칭 및 거리 계산은 ASIC으로 구현하였고, 속도는 놀랍게도 60fps으로 계산이 가능하다. 또한 3D 스테레오 기법에서 해결 못한 고질적인 문제인 “특징점들이 없는 밋밋한 평면”의 거리도 깔끔하게 해결이 된다. 그리고, 오히려 이러한 밋밋한 평면에서 거리 계산이 좀 더 정밀하게 나오기에 게임기가 놓이는 공간인 거실 바닥면을 생각하면 매우 훌륭한 어플리케이션에 접목했다는 것을 알 수 있다.

07scwith3020
그림 13. Kinect에서 투사하는 random dot pattern

그림 13 위 그림처럼 Kinect는 random dot stereogram의 패턴을 쏘고 이 패턴의 일그러짐을 찾아내어 거리를 계산한다.
재미있는 점은 kinect가 시중에서 판매되는 가격이 20만원선인데, 열 배 가격인 연구용 3D 스테레오 시스템보다도 성능이 더 좋다는 사실이다. 이에 kinect를 XBOX가 아닌 일반 PC에서 사용하기 위한 해킹 시도가 있었으며, 실제로 해킹에 성공하여 PC와 리눅스에서 연결에 성공하였다. 이에 올해 4월 MS사는 정식으로 kinect를 지원하는 라이브러리를 공개하였으며, 이를 이용한 여러 PC 응용 프로그램이 출시될 가능성을 열어두었다. Kinect는 많은 가능성을 영상 처리 전공자들에게 열어 두었지만 그 방식의 한계상 실내에서만 사용이 가능하다. 이를 실외에서 응용할 수 있도록 개선한다면 그 활용 범위는 무궁무진하게 넓어질 것으로 예상된다.
이와 같은 게임 분야에서 3D 영상 처리의 성공에 고무된 영상 처리 업체들은 앞다퉈 3D 좌표를 추출할 수 있는 카메라들을 선보이고 있으며, 재미있게도 그림-14의 Zcam은 MS사가 인수 합병하였다.

07scwith3021 07scwith3022 07scwith3023
그림 14. 여려 종류의 3D 카메라들 (좌에서부터 MESA사의 SR4000, PMDTec, ZCam)

3D 정보를 얻는 또 다른 방법

본고의 주제가 3D 영상 처리이기에 카메라 영상을 통해 3D 정보를 얻는 방법을 소개했지만 현재까지 3D 정보를 추출하는 방식으로는 카메라의 영상을 이용하는 것보다는 레이저를 이용하는 방식이 훨씬 신뢰도가 높다. 대표적인 회사로 SICK 시스템이 있는데, 실내-실외 모두 mm 이하의 정밀도로 거리를 빠르게 계산해 주기에 무인 차량에는 영상 처리용 카메라 이외에 레이저 스캐너 센서를 차량 천장에 주렁주렁 달고 실험을 하고 있다. 이러한 현실은 이런저런 영상 처리 기법으로 3D 정보를 찾아내는 방법이 레이저를 쏘고 물체에 맞아 돌아오는 시간을 측정하는 TOF(Time of Flight) 방식에 비해 아직 정밀도가 떨어진다는 것을 간접적으로 설명해 준다. 이와 같은 상황을 비관적으로 해석하여 ‘영상 처리로는 3D 정보를 얻는데 한계가 있다’라고 단정적으로 결론을 짓고 레이저 센서의 응용으로 분야를 바꾸는 연구자들도 있는 것이 사실이다. 하지만 실제 생태계에서 수많은 동물들이 영상 처리를 통해 3D 정보를 얻고 있으며, TOF 방식으로 공간에 대한 정보를 얻는 동물은 박쥐와 돌고래 정도 뿐이니 아직 우리에게 충분히 빠른 프로세서와 뛰어난 알고리즘이 없음을 탓해야 할 것 같다. 또한 달리 표현하면 아직 영상 처리 쪽에서는 할 일이 많이 남아있다고 해도 과언이 아닐 것이다.

07scwith3024 07scwith3025
그림 15. SICK사의 레이저 스캐너와 무인 차량 모습

카메라 캘리브레이션
이제서야 카메라 캘리브레이션을 설명하려고 한다. 통상적인 3D 스테레오 영상 처리 설명이라면 카메라 캘리브레이션부터 설명하지만 저자는 “왜 캘리브레이션이 필요한지, 어떤 분야에서 쓰게 되는 것인지”를 먼저 설명하고 싶었다. 전형적인 캘리브레이션의 수학적인 표현은 아래와 같다.

07scwith3026
그림 16. 카메라 좌표계와 유클리디안 좌표계

(x,y,z)는 일반적으로 우리가 알고 있는 3차원 공간 상의 좌표계이며, (u,v)는 이미지 상에서 좌표계이다. 이 때 카메라 내부 파라미터를 최대한 간략하게 표기하면 초점 거리 f와 scale factor w로 두 좌표계간의 변환을 쓸 수 있다.

카메라 캘리브레이션이란, 이 미지수들을 찾아내는 과정이며, 이를 찾기 위해 미리 3차원 공간상의 좌표를 알고 있는 특정 패턴을 카메라로 받아들여 계산해 낸다. 위에서 [u,v, w] 좌표와 [x,y,z] 사이의 좌표를 변환하는 행렬을 프로젝션 매트릭스 P라고 부르며, P를 계산하기 위해 3차원 공간의 여러 점 또는 한 점을 공간 상에서 움직여가며 촬영하여 수식을 쌓아(stacking) 최적화 문제로 해결한다. 이 때 P 매트릭스에 여러 가지 기하학적인 특징이 있기에 값을 계산할 때 이러한 기하학적 특징까지 고려하여 계산하면 보다 정밀한 값을 찾을 수 있다. 가장 일반적으로 많이 사용하는 방식은 SVD(Singular Value Decomposition)을 사용하며 좀 더 복잡하게 계산할 때는 전형적인 최적화 방식으로 계산하기도 한다.

캘리브레이션을 수행하기 위해 사용되는 패턴은 크게 2D 체커 보드와 3D 캘리브레이션 박스로 나눌 수 있다. 2D 체커 보드는 상대적으로 제작이 쉽지만 캘리브레이션을 위해 체커 보드를 이리저리 바꿔가며 여러 장의 이미지를 얻어야 한다는 단점이 있다. 반면 캘리브레이션 박스는 한 장의 이미지만으로 카메라 캘리브레이션을 수행할 수 있다는 장점이 있지만 제작이 복잡하다는 단점이 있다.

07scwith3027 07scwith3028
그림 17. 카메라 캘리브레이션에 사용되는2D 체커 보드(좌)와 위드로봇에서 제작한 캘리브레이션 박스(우)

위드로봇에서는 영상 처리 전공자들이 손쉽게 사용할 수 있는 캘리브레이션 박스를 제작하여 시판을 앞두고 있으며, PC와 무선으로 데이터를 주고 받을 수 있어 매칭 문제도 손쉽게 해결할 수 있도록 하였다.
3D 좌표값의 정밀도는 카메라 캘리브레이션의 정확도와 연결된다. 위드로봇에서는 1280×1024 해상도의 카메라를 이용하여 전방 3m 앞의 물체가 움직일 때 mm 이하의 해상도로 0.01도의 움직임까지 측정할 수 있는 기술을 확보하고 있다. 이는 전적으로 캘리브레이션 기술에 의존적이기에 영상 처리를 통해 정밀한 계측이 필요하다면 캘리브레이션 기술 확보가 먼저 수행되어야 한다.

마감하며
원고를 정리하다 보니 해당 내용을 공개 강좌로 진행한지도 벌써 3개월이 지났다. 공개 강좌 때 여러 내용을 추가 보강하여 유료 강좌로 시작하겠다고 독자들에게 약속을 했었는데, 아직 그 약속이 실행되고 있지 못하고 있다. 다행스러운 점은 위드로봇 연구소에서 다양한 신기술들이 개발되어 올해 하반기에는 여러 종류의 영상 처리 시스템이 선 보일 것으로 예상된다. 하루 빨리 제품 개발을 마무리하고, 새로운 내용을 보강하여 강의 프로그램을 만들 것을 다시 한 번 약속 드린다. 다음 번 원고는 마지막 원고로 임베디드 비전 시스템에 대한 설명이 이어지며, 위드로봇의 여러 기술이 소개될 것이다.

※이미지 출처
그림6 PointGrey Inc. 홈페이지
그림7 PointGrey Inc. 홈페이지
그림9 Nintendo Inc.
그림10 Sony Inc.
그림11 YouTube
그림12 www.ros.org, PrimeSense사
그림13 www.ros.org
그림14 산기평 비전 SoC 기획 보고서
그림15 SICK Inc, DARPA
Leave A Comment

*