ARToolkit 학습
( Camera Calibration ) |
조: 1조 |
작성일: 2012-10-17 |
작성자: 김선호 |
증강현실? : 실세계에 3차원 가상물체를 겹쳐 보여주는 기술
사용자가 눈으로 보는 현실세계와 부가정보를 갖는 가상세계를 합쳐 하나의 영상으로 보여주는 가상현실의 하나이다. 현실환경과 가상환경을 융합하는 복합형 가상현실 시스템(hybrid VR system)으로 1990년대 후반부터 미국·일본을 중심으로 연구·개발이 진행되고 있다.
현실세계를 가상세계로 보완해주는 개념인 증강현실은 컴퓨터 그래픽으로 만들어진 가상환경을 사용하지만 주역은 현실환경이다. 컴퓨터 그래픽은 현실환경에 필요한 정보를 추가 제공하는 역할을 한다. 사용자가 보고 있는 실사 영상에 3차원 가상영상을 겹침(overlap)으로써 현실환경과 가상화면과의 구분이 모호해지도록 한다는 뜻이다.
시작하기에 앞서 ARToolkit을 사용하기 위해 ARToolKit-2.72.1-bin-win32 다운로드
1. Camera Calibration
- 사용하는 카메라에 따라서 초점 거리와 렌즈의 뒤틀림 등 특성이 달라지는데 이러한 카메라의 특성 값은 영상으로부터 마커의 3차원 위치상태를 구하는 계산과 3D개체를 정확하게 처리하는데 영향을 미친다. 보다 정확한 계측을 위해서는 카메라 파라미터를 구하는 작업이 Camera Calibration이라 할 수 있다.
2. Calibration용 패턴을 인쇄.
- 일반적인 Camera Calibration으로는 격자 모양과 등간격 점을 인쇄한 종이를 사용하는데 이것을 카메라에 촬영하고 영상 안에 격자모양의 점들의 위치를 마우스 드래그를 통하여 순서대로 기록한 뒤, 약간의 계산을 실행함으로써 카메라 파라미터를 산출하는 것이 가능하다. ARToolKit에는 그 Calibration용 패턴과 계산 툴이 들어가 있다.
C:\Program Files\ARToolKit\patterns\calib_dist.pdf 파일을 인쇄한다.
( tip : 기본 A4용지로 인쇄한 경우 점과 점 사이의 간격이 38~40mm정도)
3. C:\Program Files\ARToolKit\bin\calib_camera2.exe을 실행하면
Input the distance between each marker dot, in millimeters: 라고 나오는데 이것은 점과 점 사이의 간격을 mm로 입력해 달라는 말인데 점과 점 사이를 자로 측정해서 길이를 측정한 후 Enter를 눌러준다.
(A4용지에 Calibration용 패턴을 인쇄했으므로 38mm라고 입력함.)
다음 Property Sheet 속성 창이 나오는데 프레임 속도나 색 공간, 출력 크기 등을 변경시켜 줄 수 있다. (그냥 Enter 눌름)
4. Property Sheet 속성 창에서 확인버튼을 누르면, Press mouse button to grab first image, or press right mouse button or [esc] to quit.argl error: Your OpenGL implementation and/or hardware's texturing capabilitiesare insufficient to support rectangle textures. 라고 뜨면서 설치한 캠의 영상화면이 뜬다. 방금 인쇄하였던 4 X 6 개의 점에 모든 점이 화면에 들어가도록 맞춘 후 영상 상에서 마우스 왼쪽 버튼을 눌러 촬영한다.(Calibration용 패턴종이는 평평한 바닥에 놓고 촬영 해야 함.)
Marked feature position 1 of 24
Marked feature position 2 of 24
Marked feature position 3 of 24
Marked feature position 4 of 24
Marked feature position 5 of 24
.
.
. |
|
작업 중에는 이렇게 표시되며 화면상에서는 오른 쪽 위의 그림과 같이 표시된다. |
왼쪽 위부터 오른쪽 아래로 순서대로 왼쪽 마우스를 드래그하여 점의 영역 및 위치 지정해준 후 다 끝내면 영상 안에서 마우스 왼쪽 버튼 클릭. |
5. 위와 같은 작업이 끝나면 Press mouse button to save feature positions, or press right mouse button or [esc] to discard feature positions & retry grabbing 라고 뜨는데, 마우스 왼쪽 버튼 클릭하면, 조금 전의 영상에서 사용자가 영역을 지정한 점의 좌표 값이 표시되어 정지상태가 해제된다. 우 클릭이나 ESC키를 누르면 뒤틀린 상태의 파라미터를 구할 수 있다고 말하지만 Calibaration에서는 2장 이상의 영상을 필요로 하고 있기 때문에 전 작업의 Calibration영상을 찍어 각각의 점의 영역을 마우스로 드래그 해주는 작업을 다시 한번 반복한다.
6. 2번째 특징 점 영역 지정 및 클릭이 끝나면 영상을 한번 마우스 왼쪽클릭하고, 이후 마우스 오른쪽 클릭한다. 그럼 계산이 실행되고 Checking fit on image 1 of 2.Press mouse button to check fit of next 라고 뜨면서 점과 점 사이를 빨간색 선으로 이은 영상이 표시된다. 격자 사이사이 및 대각선상에 빨간 선이 잘 표시되었다면 마우스 왼쪽버튼 클릭!. 이후 2번째 작업한 영상이 나오는데 여기에서도 첫번째와 마찬가지로 대각선과 대각선의 정확하게 표시되는 것을 확인 할 수 있다면, 영상에서 마우스 왼쪽버튼을 클릭한다.
1번째 Calibration
|
2번째 Calibration
|
위 그림과 같이, 대각선과 격자 점이 확실하게 교차하고 있는 영상이 표시된다면 잘 된 것. |
7. 마지막 2번째 Calibration 패턴을 확인 후 마우스 왼쪽 버튼을 눌렀을 시 Calibration succeeded. Enter filename to save camera parameter to below문구가 보인다면 성공한 것으로 파일명을 입력해서 카메라 파라미터를 보존해준다.
8. 카메라 파라미터 파일은 파일은 C:\Program Files\ARToolKit\bin 안에 생성된다
이것으로 Calibration은 종료!.