도 1은 종래의 3차원형상 측정장치의 일예를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 의한 불규칙패턴들을 나타낸 도면이다.
도 3 및 도 4는 1대 또는 2대의 카메라 및 1대의 프로젝터를 이용한 3차원형상 측정장치와 불규칙패턴이 투사된 측정대상물을 나타낸 도면이다.
도 5는 2대의 카메라 및 불규칙패턴이 인쇄된 천과 그 천이 감싸진 측정대상물을 나타낸 도면이다.
도 6은 2대의 카메라 영상에 나타난 대응점과 그 대응점과 연결된 3차원상의 직선 벡터를 나타낸 도면이다.
도 7은 2대의 카메라 영상에 나타난 대응선을 나타낸 도면이다.
도 8은 1대의 카메라 및 1대의 프로젝터를 이용하여 3차원상의 선의 좌표를 연산하는 과정을 나타낸 도면이다.
도 9 내지 도 11은 불규칙패턴에서 대응점을 구하는 과정을 나타낸 도면이다.
도 12는 불규칙패턴이 직조된 양말을 신은 발바닥을 2대의 카메라로 촬영하는 모습을 나타낸 사진이다.
도 13은 도 12의 과정을 통해 2대의 카메라로 촬영한 영상을 나타낸 사진이다.
도 14는 도 12의 과정을 통해 촬영된 3차원 형상을 3차원 폴리곤 데이터로 표현한 화면의 사진이다.
발명의 실시를 위한 형태
이하 첨부도면을 참조하여 본 발명의 바람직한 일실시예를 설명한다.
도 2는 본 발명의 일실시예에 의한 불규칙패턴들을 나타낸 도면, 도 3 및 도 4는 1대 또는 2대의 카메라 및 1대의 프로젝터를 이용한 3차원형상 측정장치와 불규칙패턴이 투사된 측정대상물을 나타낸 도면, 도 5는 2대의 카메라 및 불규칙패턴이 인쇄된 천과 그 천이 감싸진 측정대상물을 나타낸 도면이다.
불규칙패턴을 생성하는 불규칙패턴 생성수단과, 불규칙패턴이 생성된 측정대상물의 영상을 획득하는 촬영수단과, 촬영수단을 제어하는 제어부와, 촬영수단에서 획득한 영상을 처리하여 3차원형상의 데이터를 생성하는 연산부가 구비된다. 제어부와 연산부는 예를 들어, 일반적인 컴퓨터(데스크탑, 노트북)로 구성되며, 바람직하게는 하나의 컴퓨터로 구성된다.
먼저, 불규칙패턴 생성수단에 대하여 설명한다.
도 2에 예시된 불규칙패턴은 줄의 간격이 모두 동일하지는 않은(즉, 적어도 하나의 간격이 다른) 줄무늬들 또는 크기가 모두 같지는 않은 원들, 도너츠 모양들, 사각형들, 기타 도형들로 구성된다.
이러한 불규칙패턴을 생성하는 수단으로서 불규칙패턴을 투사하는 프로젝터(33) 또는 불규칙패턴이 인쇄된 천(42)을 예로 들 수 있다.
프로젝터(33)로서는 LCD프로젝터, DLP프로젝터, 슬라이드 프로젝터(환등기), 레이저 투사장치 또는 이와 유사한 것들이 사용된다.
LCD프로젝터를 사용하는 경우를 예로 들면, LCD프로젝터를 측정대상물(36)쪽으로 향하게 하고 컴퓨터 모니터에 불규칙패턴의 이미지를 띄우면, 컴퓨터에 연결된 LCD프로젝터에서 불규칙패턴이 투사되어 측정대상물의 표면에 불규칙패턴이 생성된다. 슬라이드 프로젝터를 사용하는 경우는 불규칙패턴이 인쇄된 필름을 끼우고 투사하게 된다.
불규칙패턴이 인쇄된 천(42)으로서는 예를 들어, 도 5에 도시된 것처럼 흰색 천에 검정색의 줄무늬들을 인쇄한 것이 사용되며, 측정대상물(42)의 표면에 직접 감싸서 불규칙패턴이 생성되는 효과를 얻을 수 있다. 측정대상물이 발인 경우에는 불규칙패턴이 인쇄되거나 직조된 양말이 사용될 수 있다.
다음으로, 촬영수단에 대하여 설명한다.
촬영수단은 불규칙패턴이 생성된 측정대상물(36)의 영상을 획득하는 수단으로서 카메라가 사용되며, 예를 들어 CCD카메라, CMOS카메라, 화상카메라, 웹카메라, 디지털카메라 등이 사용된다.
카메라(31, 32)는 도 3, 도 4 또는 도 5에 예시된 것처럼 1대 또는 2대로 구성될 수 있으며, 불규칙패턴 생성수단(33, 42)에 의해 불규칙패턴이 생성된 측정대상물(36)의 영상을 획득한다.
도 1을 통해 예시한 종래 기술에 있어서는, 대응성을 찾기 위하여 측정대상물에 투사되는 패턴(114)이 여러 개(보통 10개 이상)이기 때문에 여러 장의 영상을 획득하게 되지만, 이와 달리 본 실시예에서는 불규칙패턴이 생성된 측정대상물에 대하여 각 카메라는 단 1회의 촬영으로 영상을 획득한다. 예를 들어, 카메라가 1대인 경우에는 1장의 영상을 획득하며, 카메라가 2대인 경우는 2장의 영상을 획득하게 된다.
도 12와 도 13의 예에서는 카메라 2대를 수평으로 놓고서 촬영을 하였으나, 사용자가 촬영의 편의를 위해 2대의 카메라 전체를 회전해서(예: 90도 좌회전, 90도 우회전) 사용할 수도 있다. 이 경우 불규칙 패턴이 생성된 대상물(예: 불규칙패턴이 직조된 양말을 신은 발)도 같은 방향으로 회전할 필요가 있다.
다음으로, 제어부에 대하여 설명한다.
제어부(37)는 데스크탑 컴퓨터, 노트북, 마이크로 프로세서 또는 이와 동일한 기능을 수행하는 장치가 사용될 수 있다.
제어부(37)는 측정 대상물에 불규칙패턴이 생성되었을 때에 촬영수단이 측정대상물의 영상을 획득할 수 있도록 제어하며, 획득된 영상을 연산부에 전달하는 기능을 수행한다. 바람직하게는, 불규칙패턴 생성수단이 프로젝터인 경우에 제어부(37)는 모니터 화면에 나타난 불규칙패턴을 제어부(37)에 연결된 프로젝터에 전송 하는 기능도 수행한다.
다음으로, 연산부에 대하여 설명한다.
연산부(38)는 데스크탑 컴퓨터, 노트북, 마이크로 프로세서 또는 이와 동일한 기능을 수행하는 장치가 사용될 수 있으며, 바람직하게는 제어부와 일체로 구성된다. 연산부(38)는 촬영수단에 의해 획득된 1장 또는 2장의 영상을 처리하여 3차원 데이터를 생성하는 역할을 수행한다.
본 발명의 일실시예에 따라 2대의 카메라를 이용하여 3차원형상을 측정하는 과정을 설명한다.
(1)카메라 보정(Calibration)
측정대상물(36)을 2대의 카메라(31, 32)로 촬영하기에 앞서, 기준좌표계로부터 각 카메라의 상대적위치(외부변수)와 촛점거리 및 렌즈 왜곡계수(내부 변수)를 알아낸다.
(2) 불규칙패턴 생성 및 촬영
제1카메라(31)가 촬영한 이미지의 특정한 선이 제2카메라(32)가 촬영한 이미지의 어느 선에 해당하는지에 대한 대응성을 찾기 위하여, 불규칙패턴을 측정대상물(36)에 프로젝터(3)로 투사하고 이를 양측 카메라(31, 32)로 촬영하여 영상을 획득한다.
도 9 내지 도 11은 불규칙 패턴에서 대응점을 구하는 과정을 나타낸 도면이다.
3차원형상 측정에 있어서 가장 중요한 문제는 측정 과정 중에 대응점들 (correspondent points) 또는 대응선들(correspondent lines)을 찾는 것이다.
그런데, 도 7과 같이 3차원 상에 모두 동일한 간격의 줄무늬들만 있을 경우에는 양측 영상에서 쌍을 이루는 대응선들(대응점들이 모인 것)을 찾기가 곤란하다.
3차원형상을 정밀 측정하기 위하여는 줄무늬의 갯수가 많이 형성될 필요가 있고(발바닥을 촬영하는 경우를 예로 들면, 30개 이상), 예를 들어 2대의 카메라중 제1카메라(31)에는 29개, 제2카메라(32)에는 25개의 줄무늬가 촬영된다면, 기준 선을 설정하기가 곤란하게 된다. 즉, 제1카메라(31)로 촬영된 첫번째 줄이 제2카메라(32)로 촬영된 첫번째 줄과 다른 경우가 발생할 수 있다.
이로 인해, 종래에는 이러한 대응선들을 찾기 위하여 프로젝터를 이용하여 일련의 패턴(그레이코드 또는 공간부호화된 패턴 또는 모아레)을 측정대상물에 순차적으로(보통 10장 이상) 투사하고 카메라로 반복 촬영하여, 촬영된 영상에 포함된 선이나 점에 이력(History)을 부여하는 방식을 취하였다.
그러나, 본 발명에서는 불규칙패턴을 측정대상물 표면에 생성하고 이를 카메라로 촬영하여, 촬영된 영상에 포함된 불규칙패턴을 이용하여 대응선 또는 대응점을 찾는다.
도 9는 흰색과 검정색 선으로 패턴이 구성되어 줄간 간격이 하나만 넓고 나머지는 모두 동일한 불규칙패턴이 사용된 경우이다.
1에서 16까지의 숫자는 에지(Edge, 흰색선과 검정색선의 경계부분)의 아이디(id)를 나타낸 것으로서 좌측에서 우측방향으로 볼 때 검정색에서 흰색으로 변하는 에지(업에지:Up Edge)는 홀수, 흰색에서 검정색으로 변하는 에지(다운에지:Down Edge)는 짝수이다.
도 10을 참조하여 에지를 찾는 방법을 설명한다.
이상적인 흰색을 그레이값(gray value)'255'로 하고, 이상적인 검정색을 '0'으로 한다.
실제 촬영된 영상의 좌측에서 우측방향으로 따라가면서 줄무늬의 그레이값을 찾으면, 도 9의 흰색과 검정색 줄은 도 10에 나타난 것과 같이 0에서 255사이의 그레이값으로 표현되며, 이는 줄의 갯수만큼의 정현파 곡선(sine curve)으로 표현된다.
이 곡선에서 기울기가 급격히 변하는 부분 또는 기울기가 0인 부분(top, bottom)이 바로 에지(edge)가 된다. 이와 같이 에지는 2가지가 고려될 수 있으나, 본 실시예에서는 기울기가 급격히 변하는 부분을 에지로 본다.
카메라 영상에 이와 같은 선(또는 띠)으로 이루어진 불규칙패턴이 획득됐을 때, 영상의 좌측에서 시작하여 우측 방향으로 임의의 검정색선과 다음 검정색선의 간격이 가장 넓은 흰색선(아이디 1번 및 10번 사이의 넓은 흰색 부분)을 찾는다. 바로 이 흰색선이 기준선이 되며, 이 흰색선의 폭(간격)이 넓을수록 다른 선간 간격에 비해 그 차이가 크므로 쉽게 찾을 수 있다. 도 12 내지 도 13의 예의 경우 이 기준선이 다른 흰색선에 비해 거의 4~5배의 폭을 갖는다.
첫번째 단계로서, 가장 넓은 흰색선의 좌측 에지의 아이디를 1번으로 설정하고, 위와 아래로 에지를 찾아 진행하면서 모두 1번으로 설정한다.
1번 에지의 아이디 설정이 모두 끝나면 좌측으로 진행하면서 새로운 에지가 나올 때마다 순서대로 아이디를 설정하며 마지막 에지인 8번까지 찾는다.
그 다음 단계로서, 다시 가장 넓은 흰색선(기준선)으로 돌아와 우측으로 진행하면서 업에지(홀수)와 다운에지(짝수)를 구별하면서 순서대로 아이디를 설정한다. 이와 같이 진행하면 모든 선들에 대하여 아이디가 설정되므로 대응선들을 찾을 수 있다.
도 11은 규칙적으로 배열된 도너츠 모양 중에서 하나의 도너츠 모양만 크게 형성된 불규칙패턴이 사용된 경우로서, 도 11에 도시된 1에서 12까지의 숫자는 전체 도너츠 모양 원들의 아이디 중 일부만을 나타낸 것이다.
첫번째 단계로서, 가장 크기가 큰 도너츠 모양을 찾아 그 중심점을 아이디 1번으로 설정한 후, 좌측으로 진행하며 차례로 아이디를 2번, 3번으로 설정하고, 그 다음 단계에서 1번 바로 위의 아이디는 4번, 그 좌측으로는 5번, 6번으로 설정한다.
이렇게 위로의 진행 및 좌측 진행의 반복이 끝나면, 아래로의 진행 및 좌측 진행을 한다. 좌측 부분의 아이디 설정이 모두 끝나면 우측 부분을 좌측부분과 대칭적으로 수행하면 모든 도너츠 모양의 원들에 아이디가 설정되어 대응점들을 찾을 수 있게 된다.
한편, 도너츠 모양 원들의 아이디 설정의 다른 방법을 예로 들면, 가운데 가장 크기가 큰 도너츠 모양을 찾아 아이디를 1번으로 설정한 후 인접한 8개의 도너츠 원들에 아이디를 설정하고 다시 그 인접한 도너츠 원들에 아이디를 설정하는 방 법이 사용될 수도 있다.
이러한 과정이 완료되면 2대의 카메라를 이용한 3차원형상 측정장치에서 제1카메라 영상의 아이디 1번 선(점)이 제2카메라 영상의 아이디 1번 선(점)과 동일하다는 대응성(correspondence)을 찾을 수 있게 된다.
(3) 3차원 점 데이터 구현
2대의 카메라에서 촬영된 각 영상에 포함된 대응점들 또는 대응선들을 이용하여 연산부에서 3차원 점 데이터 구현을 수행한다.
불규칙패턴이 점의 형태로 형성된 경우에는 도 6에서 대응점인 p1(u1,v1) 또는 p2(u2,v2)를 상기 (2)과정을 통해 직접 찾게 되며, 불규칙패턴이 선의 형태로 형성된 경우에는 상기 (2)과정을 통해 찾은 대응선 상의 임의의 한 점을 대응점인 p1(u1,v1) 또는 p2(u2,v2)로서 찾게 된다.
도 6은 2대의 카메라 영상에 나타난 대응점 p1(u1,v1)과 p2(u2,v2)와 그 대응점과 연결된 3차원상의 직선 벡터를 나타낸 도면으로서, 측정대상물의 표면에 존재하는 3차원상의 임의의 점 P1(x1,y1,z1) 또는 P2(x2,y2,z2)에 대하여 2대의 카메라의 영상(52, 53)에 각각 나타난 두 점 p1(u1,v1), p2(u2,v2)와 카메라좌표계의 직선벡터인 vector E1과 vector E2이 도시되어 있다. 여기서, 카메라의 영상(52, 53)이란, 예를 들어 카메라의 영상감지수단인 CMOS 또는 CCD에 의해 감지된 영상으로 볼 수 있다.
도시된 좌표축 xw,yw,zw 는 기준좌표계(world coordinate)를 의미하며, 또다른 좌표축 xc,yc,zc는 카메라좌표계(camera coordinate)를 의미한다.
카메라의 영상(52, 53)에 각각 나타난 두 점 p1(u1,v1), p2(u2,v2)는 대응점(correspondent point)으로서 한 쌍을 이루게 된다.
제1카메라의 영상(52)에 나타난 점 p1(u1,v1), 그 직선 벡터인 vector E1(xc1,yc1,zc1), 제1카메라의 초점거리 f1, 벡터의 매개변수 t1을 고려할 때, 다음과 같은 관계식이 성립한다.
vector E1 = (xc1,yc1,zc1)=(t1 u1,t1 v1,t1 f1)
vector P1 =(x1,y1,z1) = vector O1 + vector E1
동일한 방법으로 제2카메라의 영상(53)의 대응점 p2(u2,v2)에 대한 직선 벡터 vector E2를 구한 후 두 직선 벡터 E1 및 E2의 교차점을 구하면, 이 교차점이 3차원상의 점 P1 또는 P2의 좌표값이 된다. 이를 수식으로 표현하면 다음과 같다.
vector E2 = (xc2, yc2, zc2)= (t2 u2, t2 v2, t2 f2)
vector P2 = (x2,y2,z2) = vector O2 + vector E2
vector P1 = vector P2
(x1,y1,z1) = (x2,y2,z2)
위 식에서 f1, f2, vector O1, vector O2는 카메라 보정(Calibration) 단계에 의해 구할 수 있으므로, 미지수는 t1, t2로서 2개이고, 식은 3개(x1 = x2, y1 = y2, z1 = z2)이므로 행렬 계산(예를 들어, least squares solution)에 의해 P1의 좌표값 x1,y1,z1(또는 P2의 좌표 x2,y2,z2)을 구할 수 있게 된다.
한편, 불규칙패턴 생성 수단으로서 천이나 양말, 카메라와의 상대 좌표가 고정되지 않은 프로젝터 등이 사용되는 경우에는, 상기와 같은 방식으로 3차원형상의 데이터를 생성하기 위하여 적어도 2대의 카메라가 필요하게 된다.
본발명의 또다른 실시예에 따라 1대의 카메라를 이용하여 3차원형상을 측정하는 과정을 설명한다.
도 8은 1대의 카메라 및 1대의 프로젝터를 이용하여 3차원상의 선의 좌표를 계산하는 과정을 나타낸 도면으로서, 본 실시예에서는 1대의 카메라와 1대의 프로젝터를 이용한다.
프로젝터(33)에서 공간상에 1개의 줄무늬(65)를 투사하고, 그 줄무늬를 카메라(31)가 촬영한다. 2대의 카메라를 이용하는 경우와 유사한 방식으로, 프로젝터(33)에서 투사되는 직선 벡터들(64)을 구하고, 상기 줄무늬(65)가 투영된 카메라(31)의 영상으로부터 직선 벡터들(63)을 구하여 두 직선 벡터들(63, 64)의 교차점들을 구하게 된다.
이를 보다 상세하게 설명하면, 프로젝터(33)에서 투사되는 줄무늬의 경계선(에지선, 65)의 방정식을 3차원 기준좌표계 기준으로 구하고, 프로젝터(33) 램프점 의 3차원 좌표를 구한 후, 위 에지선과 램프점이 이루는 평면에 대한 3차원 평면 방정식을 구한다.
상기 평면 방정식은 카메라 보정 단계에서 구해지며, 3차원 측정장치의 고유값이 된다. 예를 들어, 줄무늬 형태로 형성된 에지선의 아이디가 1에서 30번까지 설정되면 평면 방정식도 30개가 구해지게 된다.
이후, 측정대상물을 측정장치 앞에 두고 프로젝터(33)를 투사한 후, 측정대상물의 표면에 투사된 에지선(65)에 해당하는 평면 방정식(카메라 보정 단계에서 저장된 평면 방정식)을 파악하고, 그 평면과 카메라(31)에서 가상적으로 뻗어나오는 직선 벡터(63)의 교점을 구하면 3차원 점의 좌표값이 구해지게 된다.
예를 들어, 카메라의 영상에서 어느 에지선(에지점들의 집합)의 아이디가 12번인 경우, 그 12번 에지선에 해당하는 평면 방정식을 카메라 보정 단계에서 이미 저장되어 있는 카메라 보정(Calibration) 파일에서 찾아 그 평면 방정식과 카메라 이미지(12번 에지점)에서 가상적으로 뻗어나오는 직선 벡터와의 교점을 찾는 방식이다.
도 12는 불규칙패턴이 직조된 양말을 신은 발바닥을 2대의 카메라로 촬영하는 모습을 나타낸 사진이며, 도 13은 도 12의 과정을 통해 2대의 카메라로 촬영한 영상을 나타낸 사진이다.
불규칙패턴 생성수단으로서 줄무늬가 직조된 양말을 발에 신고, 촬영수단으로서 화상카메라 2대를 사용하여 영상을 획득하였다. 제어부 및 연산부는 데스크탑 컴퓨터를 사용하였다.
도 14는 도 12의 과정을 통해 촬영된 3차원 형상을 3차원 폴리곤 데이터로 표현한 화면의 사진이다.
촬영수단에서 획득한 2장의 영상으로부터 대응선들(대응점들의 집합)을 찾아 3차원형상의 선(점들의 집합) 데이티를 계산하고, 그 3차원 데이터를 폴리곤(polygon)으로 만들어 컴퓨터 화면에 도시하였다.
이상 설명한 본 발명은 그 기술적 사상 또는 주요한 특징으로부터 벗어남이 없이 다른 여러가지 형태로 실시될 수 있다. 따라서, 상기 실시예는 모든 점에서 단순한 예시에 지나지 않으며 한정적으로 해석되어서는 안된다.