본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
본원발명인 자기보정이 가능한 3차원 정보 생성 장치(10)는 광원부(20), 좌표 기구부(30), 카메라부(40), 정보 처리부(50)를 포함한다.
상기 광원부(20)는 3차원 정보를 복원하는 대상이 되는 대상체(100)에 광을 조사하게 된다.
그리고 상기 광원부(20)는 라인 레이저 광을 출력하는 적어도 하나의 라인 레이저 장치, 미리 정해진 패턴의 레이저 광을 출력하는 적어도 하나의 패턴 레이저 장치 등으로 구성된다.
이때, 상기 광원부(20)는 동시에 두 개 이상의 레이저 광을 조사하도록 구성될 수 있다.
상기 좌표 기구부(30)는 광원부(20)와 대상체(100)의 사이에 장착된다.
그리고 상기 좌표 기구부(30)는 소정의 크기를 가지고 형성되는 고정판(32)과 상기 고정판(32)의 상부에 간격을 두고 장착되어 상기 광원부(20)로부터 조사되는 광을 반사하는 복수개의 경사 돌기(34a, 34b, 34c, 34d)로 구성된다.
여기서, 상기 경사 돌기(34a, 34b, 34c, 34d)는 고정판(32)의 상부에 사각형 형상으로 배치되면서 소정의 각도로 경사지게 장착되어, 상기 광원부(20)를 통한 광의 조사시 좌표의 기준을 설정하는데 사용하게 된다.
이때, 상기 경사 돌기(34a, 34b, 34c, 34d)는 좌표 설정 방식에 따라 그 위치 및 배열이 달라질 수 있다.
또한, 상기 좌표 기구부(30)와 광원부(20)의 사이에 고정판(32)과 경사 돌기(34a, 34b, 34c, 34d)의 위치를 용이하게 설정할 수 있도록 일 단이 광원부(20)에 결합되고 타 단은 좌표 기구부(30)의 고정판(32)과 결합되는 고정암(36)이 포함될 수 있다.
이때, 상기 고정암(36)은 광원부(20)의 위치 조절이 용이하도록 끈, 전선 등과 같은 공지된 연결부재가 선택적으로 사용된다.
상기 카메라부(40)는 렌즈 어레이 및 이미지 센서를 구비하며 2차원 이미지(200) 또는 영상을 생성 및 제공하게 된다.
즉, 상기 카메라부(40)는 좌표 기구부(30)와 대상체(100)가 포함된 이미지(200) 또는 영상을 촬영하고, 촬영된 이미지(200) 또는 영상을 정보 처리부(50)에 제공하게 된다.
여기서, 상기 좌표 기구부(30)와 대상체(100)가 포함된 이미지(200) 또는 영상은 3차원 정보를 생성하는데 기초가 되는 데이터로 사용된다.
이때, 상기 대상체(100)에 대한 3차원 정보를 보다 정확하게 생성하기 위해서는 상기 대상체(100)를 서로 다른 방향 또는 위치에서 촬영한 영상이 요구되므로, 상기 카메라부(40)는 다수개수로 구성되고, 서로 다른 방향으로 형성되는 것이 효과적이다.
일 예로, 상기 카메라부(40)를 세 개로 구성한 경우, 상기 카메라부(40, 40a, 40b)는 제1방향에 마련된 제1카메라부(40)로부터 촬영된 제1이미지 또는 영상, 제2방향에 마련된 제2카메라부(40a)로부터 촬영된 제2이미지 또는 영상, 제3방향에 마련된 제3카메라부(40b)로부터 촬영된 제3이미지 또는 영상을 획득하여, 정보 처리부(50)에 제공함으로써 3차원 정보를 보다 정확하게 생성할 수 있게 된다.
이때, 상기 제1카메라부(40), 제2카메라부(40a), 제3카메라부(40b)는 동일한 카메라 장치를 이용하고 다른 위치에 배치되는 예를 나타낸 것이다.
다른 예로, 상기 제1카메라부(40), 제2카메라부(40a), 제3카메라부(40b)는 서로 다른 카메라 장치일 수 있으며, 동일한 시각에 촬영되는 제1이미지 또는 영상, 제2이미지 또는 영상, 제3이미지 또는 영상을 각각 정보 처리부(50)에 제공하게 된다.
또한, 상기 카메라부(40, 40a, 40b)는 광원부(20)와 좌표 기구부(30) 및 대상체(100)를 촬영하여 디지털 이미지를 출력할 수 있으면 충분하다.
즉, 상기 카메라부(40, 40a, 40b)는 휴대가 용이한 소형의 카메라 장치로서, 통상의 디지털 카메라 장치, 모바일 기기에 구비되는 카메라 장치, 액션캠(Sports & Action Cameras) 등을 포함할 수 있다.
상기 정보 처리부(50)는 3차원 정보를 생성하는 프로그램을 수행할 수 있는 프로그램 코드를 수록한 저장매체와, 프로그램 코드를 실행하는 적어도 하나의 프로세서를 구비한 전자장치를 포함한다.
이때, 상기 정보 처리부(50)는 카메라부(40, 40a, 40b)가 구비되는 카메라 장치 내에 구비되거나 또는 별도의 전자장치에 구비될 수 있다.
특히, 상기 정보 처리부(50)는 좌표 기구부(30)와 대상체(100)가 포함된 이미지(200) 또는 영상에서 상기 복수의 경사 돌기(30)에 의해 상기 광이 각각 반사되는 복수의 경사 돌기 반사점에 기초한 3차원 기준 좌표를 설정하고, 상기 3차원 기준 좌표를 기준으로 상기 대상체의 3차원 정보를 생성하면서 오차를 보정하게 된다.
이하, 정보 처리부(50)가 대상체의 3차원 정보를 생성하는 동작을 구체적으로 설명한다.
도 2는 본 발명에 따른 자기보정이 가능한 3차원 정보 생성 장치에 구비되는 일부 구성부와 자기보정이 가능한 3차원 정보 생성 장치에 구비되는 카메라의 의해 촬영된 이미지 사이의 관계를 나타낸 도면이다.
핀홀 카메라 모델에 기초하여, 카메라 좌표계의 원점(201)을 기준으로 이미지(200) 상에서의 라인 레이저가 지나는 임의의 점(202)을 지나는 직선(203)(이하, '투사선'이라 함)을 연장할 수 있다.
한편, 라인 레이저에 의해 발광되는 광은 투사 평면(207)을 형성하게 되고, 상기 투사 평면(207)이 대상체(100)에 도달함에 따라, 상기 대상체(100)의 외곽 영역을 따라 라인 레이저의 투사곡선(204)을 형성할 수 있게 된다.
이때, 직선(203)과 투사 평면(207)의 교점(205)을 확인할 수 있는데, 이 교점(205)은 대상체(100)의 표면상의 한 점으로 결정될 수 있다.
이에 기초하여, 정보 처리부(50)는 이미지(200) 상에서의 라인 레이저가 지나는 점들을 확인하고, 이 점들에 대응되는 교점을 확인하여 대상체(100)의 표면 상의 점에 대응되는 좌표를 검출할 수 있게 된다.
예컨대, 정보 처리부(50)는 이미지(200) 상에서의 라인 레이저가 지나는 임의의 점(202)을 [u v]로 정의하고, 하기의 수학식 1의 연산을 통해 임의의 점(202)을 지나는 직선(202)의 방향 벡터를 산출할 수 있다.
여기서 K는 컴퓨터 비전 분야에서 정의되는 카메라 내부변수 메트릭스이고, 카메라의 내부변수 메트릭스는 일반적인 카메라 보정 방법으로 미리 설정될 수 있다.
또한, 이미지(200) 상에서의 라인 레이저가 지나는 임의의 점(202)의 값은 카메라부에 구비되는 렌즈의 왜곡도를 반영하여 보정될 수 있다.
한편, 정보 처리부(50)는 라인 레이저에 의해 발광되는 광에 의해 형성되는 투사 평면(207)을 카메라 좌표계에 기초하여 이미지(200)로부터 산출할 수 있다.
이하, 정보 처리부(50)가 투사 평면(207)을 산출하는 동작에 대하여 상세히 설명한다.
도 3은 본 발명에 따른 자기보정이 가능한 3차원 정보 생성 장치에 의해 생성되는 광이 반사되는 복수의 실제 돌기 반사점과, 이미지에 표시되는 복수의 돌기 반사점 사이의 관계를 나타낸 도면이다.
상기 광원부(20)에서 출력되는 레이저 광은 투사 평면(207)을 형성할 수 있다. 레이저 광에 의해 형성되는 투사 평면(207)은 레이저 광이 어느 위치에서 발생되는지와 어느 방향으로 투사되는지를 정확하게 확인하기 위하여, 좌표 기구부(30)에 구비되는 복수의 경사 돌기(34a, 34b, 34c, 34d)에 반사되는 돌기 반사점(38a, 38b, 38c, 38d)을 사용할 수 있다.
정보 처리부(50)는 복수의 경사 돌기(34a, 34b, 34c, 34d)에 반사되는 돌기 반사점(38a, 38b, 38c, 38d)의 실제 위치와, 이미지(200)로부터 추출되는 돌기 반사점(52a, 52b, 52c, 52d) 사이의 관계를 고려하여, 투사 평면(207)을 산출할 수 있다.
구체적으로, 도 3에 도시된 바와 같이, 정보 처리부(50)는 실제 공간을 고려하여 좌표 기구부(30)에 대한 가상의 좌표(Xl, Yl, Zl)을 설정한다.
정보 처리부(50)는 복수의 경사 돌기(34a, 34b, 34c, 34d)에서 반사되는 돌기 반사점(38a, 38b, 38c, 38d) 중 하나의 점에 원점을 설정하고, 나머지 점으로 이루어진 평면에 X축과 Y축이 위치하도록 설정할 수 있다.
이때, 투사 평면(207)이 고정판(32)과 평행한 경우, 정보 처리부(50)는 좌표 기구부(30)의 구조를 기반으로, 복수의 경사 돌기(34a, 34b, 34c, 34d) 상의 돌기 반사점에 대한 3차원 좌표([Xi Yi 0], i=0, 1, 2, 3)를 획득할 수 있다.
그러나 광원부(20)와 좌표 기구부(30)를 배치하는 경우에 공정오차, 사용하는 동안의 변형 등에 의해, 투사 평면(207)이 고정판(32)가 평행하지 않게 되면(즉, 오차가 발생하면), 이러한 오차를 보정하여 하며, 오차 보정 방법에 대해서는 후술하도록 한다.
그리고 정보 처리부(50)는 이미지(200) 상에서의 돌기 반사점(38a, 38b, 38c, 38d)을 추출하고, 좌표계 uc, vc에 대해, 각 돌기 반사점(38a, 38b, 38c, 38d)에 대한 2D 좌표를 [ui vi](i=0, 1, 2, 3)로 설정할 수 있다.
정보 처리부(50)는 정규화된 이미지(200) 평면상의 점 [xi yi]T(K-1[ui vi1]T)에 대해 하기의 수학식 2로 표현할 수 있다.
여기서, H는 호모그래피 3x3 메트릭스로서, [Xi Yi 0](i=0, 1,...,3)와 [ui vi](i=0, 1,... , 3)로부터 산출할 수 있다.
이때 두 좌표계 Xl Yl Zl 와 XC YC ZC 사이의 회전행렬(R=[r0 r1 r2])과, 병진벡터(t)를 사용하여 H를 하기의 수학식 3으로 표현할 수 있다.
정보 처리부(50)는 수학식 3에 의해 위에서 구한 H로부터 회전행렬(R=[r0 r1 r2])과, 병진벡터(t)를 산출할 수 있다. 나아가, 정보 처리부(50)는 정밀도를 향상시키기 위해 이렇게 산출한 회전행렬(R=[r0 r1 r2])과, 병진벡터(t)를 초기값으로 설정하고, 하기의 수학식 4의 비용함수를 통해 비선형 최적화 방법으로 회전행렬(R=[r0 r1 r2])과, 병진벡터(t)를 산출할 수 있다.
여기서 p([a b c]T)=[a/c b/c]T로 정의되는 함수이다.
r2=[r02 r12 r22]T, t=[tx ty tz]T로 가정하면, 회전행렬(R=[r0r1 r2])과, 병진벡터(t)로부터 Xl -Yl 평면식을 하기의 수학식 5와 같이 산출할 수 있다.
돌기 반사점(38a, 38b, 38c, 38d)은 복수의 경사 돌기(34a, 34b, 34c, 34d)와 투사 평면(207)이 만나서 생기므로, 전술한 수학식 5의 평면식이 투사 평면(207)의 표현식과 일치한다.
따라서, 정보 처리부(50)는 투사 평면(207)의 표현식에 대응되는 수학식 5와, 임의의 점(202)을 지나는 투사선(203)의 방향 벡터를 나타내는 수학식 1을 사용하여, 투사선(203)과 투사 평면(207)과의 교점(205)을 산출할 수 있다. 레이저에 의한 투사 곡선(204)의 이미지(200) 상에 투영된 모든 레이저 점에 대해 이 과정을 수행하면 투사 곡선(204) 상의 3차원 점의 집합을 얻을 수 있다.
정보 처리부(50)는 레이저 광원이 이동하며 물체 위에 레이저 광이 조사되는 동안 획득한 연속 이미지에 대해, 투사 곡선(204)의 3차원 좌표를 산출하는 동작을 반복하여 수행함으로써, 대상체의 외형을 나타내는 3차원 스캔 결과를 산출할 수 있다.
이상에서는 광원부(20)와 표준 기준 기구부(30)가 평행한 경우, 즉 투사 평면(207)과 고정판(32)가 평행한 경우에 대해서 설명하였다.
앞서 기술한 바와 같이, 공정 오차, 변형 등에 따라 오차가 발생하는 경우, 이러한 오차를 보정하여야 대상체의 외형에 대한 정확한 3차원 스캔 결과를 산출할 수 있다.
이하에서는 광원부(20)와 표준 기준 기구부(30)가 평행하지 않은 경우에 있어서의 대상체의 외형에 대해 스캔하는 방법을 설명하며, 이러한 설명은 오차에 대한 보정에 대한 설명으로 귀결된다.
도 4는 본 발명에 따른 자기보정이 가능한 3차원 정보 생성 장치에 있어서의 광원부와 표준 기준 기구부 사이의 오차 보정을 설명하기 위한 도면이다.
여기서, 2개의 투사 평면(221, 222)이 도시되어 있는데, 제 1 투사 평면(혹은 '실제 투사 평면', 221)은 광원부(미도시)로부터 출력되는 광에 의해 돌기들(223 ~ 226)에 형성되는 실제 반사점들(Q0 ~ Q3)에 의해 형성되는 투사 평면으로서, 광원부와 표준 기구부(30)가 평행하지 않은 상태에서의 투사 평면이다.
그리고 제 2 투사 평면(혹은 '기준 투사 평면', 222)은 설명을 위한 가상의 투사 평면으로서, 광원부와 표준 기구부(30)가 평행한 상태에서의 투사 평면이며, 제 2 투사 평면(222)을 형성하는 가상의 반사점('기준 반사점')(Q4, Q5, Q6)이 제 2 내지 제 4 돌기(224 ~ 226)에 형성되는 것으로 가정한다.
즉, 광원부(20)와 표준 기구부(30)가 평행한 경우에는 제 2 투사 평면(222)이 형성되나, 오차에 의해 광원부와 표준 기구부(30)가 평행하지 않은 경우에는 제 2 투사 평면(222)과는 다른 제 1 투사 평면(221)이 형성된다.
설명을 위해, 제 1 돌기(223)에 형성되는 제 1 반사점(Q0)이 제 1 투사 평면(221)과 제 2 투사 평면(222)에 공통되는 반사점인 것으로 가정한다.
즉, 제 1 반사점(Q0)은 광원부와 표준 기구부(30)가 평행한 상태에서의 투사 평면에 존재하는 반사점이다.
광원부(20)로부터 출력되는 광이 제 1 내지 제 4 돌기(223 ~ 226)에서 반사됨에 따라 돌기들(223 ~ 226)에 제 1 내지 제 4 실제 반사점(Q0~ Q3)이 형성되고, 실제 반사점들(Q0~ Q3)에 의해 실제 투사 평면(221)이 형성된다.
본 실시 예에서는 제 1 내지 제 4 돌기(223 ~ 226)가 가로 W, 세로 H인 사각 형태의 고정판(32)의 모서리 측에 위치한 것으로 가정하여 설명하나, 고정판(32)의 형태, 돌기들(223 ~ 226)의 위치 등은 다양하게 고려될 수 있다.
그리고 제 1 내지 제 4 돌기(223 ~ 226)는 고정판(32)에 광이 출력되는 방향과 동일한 방향으로 소정의 각도(θ) 기울어져 있을 수 있으나, 고정판(32)에 수직하게 형성될 수 있다.
제 1 실제 반사점(Q0)은 실제 투사 평면(221)과 가상 투사 평면(222)에 공통되는 반사점이기 때문에 제 1 실제 반사점(Q0)에 대한 오프셋이 존재하지 않는다.
하지만, 제 2 내지 제 4 실제 반사점(Q1, Q2, Q3)은 오차에 의해 형성되는 반사점이기 때문에, 기준 반사점(Q4, Q5, Q6)에 대해서 제 2 내지 제 4 실제 반사점들(Q1, Q2, Q3)에 대한 오프셋(W1, W2, W3)이 존재한다.
본 발명에 있어서 오프셋은 돌기에 있어서의 기준 반사점과 실제 반사점의 수평 상의 거리 차이 값으로서, W1, W2 및 W3는 제 2 내지 제 4 실제 반사점(Q1, Q2, Q3)에 대한 오차 오프셋이다.
즉, W1은 제 2 돌기(224)에 있어서의 제 2 실제 반사점(Q1)에 대한 오차 오프셋이고, W2는 제 3 돌기(225)에 있어서의 제 3 실제 반사점(Q2)에 대한 오차 오프셋이고, W3은 제 4 돌기(226)에 있어서의 제 4 실제 반사점(Q3)에 대한 오차 오프셋이다.
기울임 각도(θ)와 오차 오프셋(W1, W2, W3)을 이용하면, 제 1 내지 제 4 실제 반사점(Q0 ~ Q3)의 좌표계 XlYlZl에서의 좌표는 하기의 수학식 6과 같이 나타낼 수 있다.
여기서, τ=tan(θ)이다.
그리고, 제 1 내지 제 4 돌기들(223 ~ 226)은 모두 평행하기 때문에 수학식 7과 같이 나타낼 수 있다.
좌표 기구부(30)를 카메라부(40) 앞에서 일정 시간 동작 움직이면, 매 영상 프레임마다의 반사점의 좌표(
)을 획득할 수 있는데, 수학식 6을 하기의 수학식 8과 같은 비선형 최적화 수식에 대입함에 따라 오차 오프셋(W
1, W
2, W
3)을 얻을 수 있으며, 이에 따라, 돌기 상의 실제 반사점들(Q
0 ~ Q
3)의 좌표를 획득할 수 있다.
여기서, i는 프레임 번호이고, j는 돌기 상의 실제 반사점에 대한 인덱스이고, (
,
)의 초기치는 수학식 5로부터 계산되는 결과를 이용하고, W
1, W
3에 대한 초기치는 0으로 설정된다.
수학식 6을 수학식 8에 대입함에 따라 오차 오프셋(W1, W2, W3)을 구할 수 있으므로, 실제 투사 평면(221)과 가상 투사 평면(222) 사이의 관계가 설정되고, 실제 반사점들(Q0 ~ Q3)의 좌표를 구하기 위해, 새로운 좌표계 X'lY'lZ'l을 정의하면, 좌표계 X'lY'lZ'l에 대해 {Q0, Q1, Q2, Q3}의 좌표를 구할 수 있다.
좌표계 X'lY'lZ'l에 대해 구해진 {Q0, Q1, Q2, Q3}의 좌표를 수학식 2 및 수학식 5에 적용하면, 보다 정밀한 3D 스캔 결과를 얻을 수 있다.
설명을 위해, 돌기들(223 ~ 226)이 가로 W, 세로 H인 사각 형태의 고정판(32)의 모서리 측에 위치한 것으로 가정했으나, 돌기들(223 ~ 226)이 서로 평행하다는 전제하에서는 그대로 적용될 수 있다.
도 5는 본 발명에 따른 자기보정이 가능한 3차원 정보 생성 방법의 순서를 도시하는 흐름도이다.
자기보정이 가능한 3차원 정보 생성 방법은 전술한 자기보정이 가능한 3차원 정보 생성 장치에 의해 수행될 수 있다.
먼저, S100 단계에서, 자기보정이 가능한 3차원 정보 생성 장치는 광원부에서 발광되는 광과, 3차원 정보를 복원하는 대상이 되는 대상체를 촬영한 이미지 획득할 수 있다.
이때, 상기 광원부와 상기 대상체 사이에는 광원부가 제공하는 광을 반사하는 복수의 돌기를 구비하는 좌표 기준 기구부가 마련될 수 있다.
따라서, 상기 획득한 이미지에는 광원부가 발광하는 광, 상기 좌표 기준 기구부, 및 대상체가 포함될 수 있으며, 상기 광에 의해 형성되는 투사 평면, 좌표 기준 기구부 에 의해 반사되는 복수의 반사돌기점, 상기 투사 평면이 대상체를 통해 반사되는 투사 평면선이 함께 포함될 수 있다.
그리고 S200 단계에서, 자기보정이 가능한 3차원 정보 생성 장치는 이미지 상에 표시되는 적어도 하나의 돌기 반사점의 좌표를 확인한다.
예컨대, 자기보정이 가능한 3차원 정보 생성 장치는 이미지 상에 표시되는 돌기 반사점(38a, 38b, 38c, 38d)을 추출하고, 좌표계 uC, vC 에 대해, 이 점의 2D 좌표를 [ui vi](i=0,1, ... 3)로 설정할 수 있다.
다음으로, S300 단계에서, 자기보정이 가능한 3차원 정보 생성 장치는 실제 돌기의 설계정보를 고려하여, 이미지 상에 표시되는 적어도 하나의 돌기 반사점과, 실제 돌기 반사점 사이의 관계를 확인한다.
그리고 이미지 상에 표시되는 적어도 하나의 돌기 반사점과, 실제 돌기 반사점 사이의 관계를 고려하여 상기 광에 의해 형성되는 투사 평면을 확인하고, 상기 투사 평면을 사용하여 대상체의 3차원 정보를 생성한다.
예컨대, 자기보정이 가능한 3차원 정보 생성 장치는 실제 공간을 고려하여 가상의 좌표계(Xl, Yl, Zl)를 설정한다. 복수의 경사 돌기(34a, 34b, 34c, 34d)에 반사되는 돌기 반사점 중 하나의 점에 원점을 설정하고, 나머지 점으로 이루어진 평면에 X축과, Y축이 위치하도록 설정한다.
이에 따라, 자기보정이 가능한 3차원 정보 생성 장치는 좌표 기구부(30)의 구조를 반영하여, 돌기 반사점의 3차원 좌표([Xi Yi 0] (i=0,1, ... 3))를 획득할 수 있다.
또한, 자기보정이 가능한 3차원 정보 생성 장치는 정규화된 이미지(200) 평면상의 점 [xi yi 1]T(K-1[ui vi1]T)에 대해 하기의 수학식 9로 표현할 수 있다.
여기서, H는 호모그래피 3x3 메트릭스로서, [Xi Yi 0](i=0, 1, ...,3)와 [ui vi](i=0, 1, ..., 3)로부터 산출할 수 있다.
이때 두 좌표계 Xl Yl Zl 와 XC YC ZC 사이의 회전행렬(R=[r0 r1 r2])과, 병진벡터(t)를 사용하여 H를 하기의 수학식 10으로 표현할 수 있다.
정보 처리부(50)는 수학식 10에 의해 위에서 구한 H로부터 회전행렬(R=[r0r1r2])과, 병진벡터(t)를 산출할 수 있다. 나아가, 정보 처리부(50)는 정밀도를 향상 시키기 위해 이렇게 산출한 회전행렬(R=[r0r1r2])과, 병진벡터(t)를 초기값으로 설정하고, 하기의 수학식 11의 비용함수를 통해 비선형 최적화방법으로 회전행렬(R=[r0r1r2])과, 병진벡터(t)를 산출할 수 있다.
여기서 ð([a b c]T )=[a/c b/c]T로 정의되는 함수이다.
다음으로, 자기보정이 가능한 3차원 정보 생성 장치는 이미지 상의 돌기 반사점과 실제 돌기 반사점 사이의 관계정보에 기초하여, 라인 레이저에 의해 형성되는 투사 평면(207)을 산출할 수 있다.
예를 들어, 3차원 정보 생성 장치는 r2 =[r02 r12r22 ]T, t=[tx ty tz]로 가정하고, 회전행렬(R=[r0 r1 r2])과, 병진벡터(t)로부터 Xl -Yl 평면식을 산출할 수 있다. Xl -Yl 평면식은 하기의 수학식 12와 같이 산출할 수 있다.
한편, 핀홀 카메라 모델에 기초하여, 카메라 좌표계의 원점(201, 도 2참조)을 기준으로, 이미지(200) 상에서의 라인 레이저가 지나는 임의의 점(202)을 지나는 투사선(203)을 연장할 수 있다.
그리고 라인 레이저에 의해 발광되는 광은 투사 평면(207)을 형성하게 되고, 투사 평면(207)이 대상체(100)에 도달함에 따라, 대상체(100)에는 라인 레이저의 투사 투사 곡선(204)이 형성될 수 있다.
또한, S300 단계에서, 자기보정이 가능한 3차원 정보 생성 장치는 투사선(203)과 라인 레이저의 투사 평면(207)과의 교점(205)을 확인할 수 있는데, 이 교점(205)은 대상체(100) 표면상의 한 점으로 결정될 수 있다.
이에 기초하여, 정보 처리부(50)는 이미지(200) 상에서의 라인 레이저가 지나는 점들을 확인하고, 이 점들에 대응되는 교점을 확인하여 대상체의 표면상의 점에 대응되는 투사 곡선(207) 상의 3차원 점들의 좌표를 검출할 수 있다.
예컨대, 자기보정이 가능한 3차원 정보 생성 장치는 이미지(200) 상에서의 라인 레이저가 지나는 임의의 점(202)을 [u v]로 정의하고, 하기의 수학식 13의 연산을 통해 임의의 점(202)을 지나는 투사선(203)의 방향 벡터를 산출할 수 있다.
여기서 K는 컴퓨터 비전 분야에서 정의되는 카메라 내부변수 메트릭스이고, 카메라의 내부변수 메트릭스는 일반적인 카메라 보정 방법으로 미리 설정될 수 있다. 또한, 이미지(200) 상에서의 라인 레이저가 지나는 임의의 점(202)의 값은 카메라부에 구비되는 렌즈의 왜곡도를 반영하여 보정될 수 있다.
한편, 돌기 반사점은 복수의 경사 돌기(34a, 34b, 34c, 34d)와 투사 평면(207)이 만나서 생기므로, 전술한 수학식 12의 평면식이 투사 평면(207)의 표현식과 일치한다. 나아가, 투사 평면(207)은 투사 평면선(204)을 형성할 수 있다.
따라서, 자기보정이 가능한 3차원 정보 생성 장치는 투사 평면(207)의 표현식에 대응되는 수학식 12와, 임의의 점(202)을 지나는 투사선(203)의 방향 벡터를 나타내는 수학식 13을 사용하여, 투사선(203)과 투사 평면(207)과의 교점(205)을 산출할 수 있다.
전술한 본 개시의 일 실시예에 따른자기보정이 가능한 3차원 정보 생성 장치에 따르면, 광원부에 장착하는 간단한 좌표 기준 기구부와, 카메라부 및 3차원 정보처리부 만을 가지고 3차원 스캐너를 구성할 수 있다. 이와 같이, 외부에 설치하는 복잡한 기구부가 필요 없어 이동과 유지보수에 장점을 가질 수 있다. 특히, 카메라 부 및 정보 처리부는 모바일 기기와 같은 모바일 기기에 구비될 수 있으며, 광원부에 장착하는 간단한 좌표 기준 기구부와 모바일 기기를 사용하여 용이하게 3차원 스캐너를 구성할 수 있다.
나아가, 전술한 본 개시의 일 실시예에 따른 3차원 정보 생성 장치에 따르면, 보정이 편리하고 정밀도를 향상시킬 수 있어 전문가가 아닌 일반인도 용이하게 사용할 수 있다.
도 6은 본 발명에 따른 자기보정이 가능한 3차원 정보 생성 장치 및 방법을 실행하는 컴퓨팅 시스템을 예시하는 블록도이다.
도 6을 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 본질적 특성을 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다.
따라서, 본 발명에 표현된 실시예들은 본 발명의 기술적 사상을 한정하는 것이 아니라, 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하고, 그와 동등하거나, 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.