KR20160147491A - 3차원 모델 생성 장치 및 방법 - Google Patents
3차원 모델 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR20160147491A KR20160147491A KR1020150084302A KR20150084302A KR20160147491A KR 20160147491 A KR20160147491 A KR 20160147491A KR 1020150084302 A KR1020150084302 A KR 1020150084302A KR 20150084302 A KR20150084302 A KR 20150084302A KR 20160147491 A KR20160147491 A KR 20160147491A
- Authority
- KR
- South Korea
- Prior art keywords
- point
- group
- marker
- cloud
- point cloud
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Processing Or Creating Images (AREA)
Abstract
마커를 물체에 붙인 상태에서 스캐너로부터 얻어진 점군에 대해서 마커 정보를 이용하여 자동으로 정렬을 하는 3차원 모델 생성 장치 및 방법을 제시한다. 제시된 장치는 물체 스캔에 따른 점군 및 마커군을 입력받아 점군을 정제하고 정제된 점군 및 마커군을 점군 및 마커군 데이터베이스에 전달하는 점군 정제부, 점군 및 마커군 데이터베이스로부터 하나의 물체에 대해 여러 방향에서 스캔하여 획득한 점군의 쌍으로 된 점군 집합 및 마커군의 쌍으로 된 마커군 집합을 조회하여 점군 집합을 정렬하는 점군 정렬부, 및 정렬된 점군 집합을 근거로 표면 재구성을 하여 3D 모델을 생성하는 표면 생성부를 포함한다.
Description
본 발명은 3차원 모델 생성 장치 및 방법에 관한 것으로, 보다 상세하게는 대상체에 마커를 붙이고 스캔을 하는 핸드-헬드 스캐너로부터 획득된 점군으로부터 고정밀 3D 표면 모델을 생성하는 장치 및 방법에 관한 것이다.
3D 스캐너의 목적은 물체 표면상의 기하학적 샘플의 포인트 클라우드를 생성하는 것이다.
다양한 3D 스캐너 중에 삼각측정 방식의 레이저 3D 스캐너는 상대적으로 저렴하여 많이 사용되어 왔다. 삼각측정 방식의 레이저 3D 스캐너는 레이저 방출기에서 레이저 점을 물체에 비춘다. 이때, 카메라의 이미지를 조사하여 레이저 점을 찾는다. 레이저가 얼마나 멀리서 표면을 강타하는지에 따라 레이저 점은 카메라의 이미지에서 다른 장소에 나타난다. 여기서, 레이저 점, 카메라, 레이저 방출기가 이루는 삼각형의 모양과 크기를 결정함으로써 레이저 점의 위치를 알아내는 것이 삼각 측정 방식의 핵심이다.
하나의 이미지 내에서 이렇게 얻어진 점들의 좌표는 해당 이미지 고유의 좌표계로 표현되어 있으므로, 스캔시 얻어지는 수많은 연속 이미지 내의 점들의 좌표계를 하나의 참조 좌표계로 변환해야 한다. 이때, 이미지에서 고유의 특징점들을 검출하여서, 두 연속된 이미지 사이에서 동일한 특징점을 찾으면 공통 참조 좌표계로 변환하는 변환 행렬을 구할 수 있다.
이미지에서 특징점을 구하기 위해서 이미지에서 주위 픽셀의 색깔, 그래디언트 등의 특성을 기반으로 특징점을 구하는 방법이 있다. 또 하나는 은색의 반사가 강한 원 모양의 스티커 형태인 마커를 바닥이나 물체 자체에 붙여서 이미지 내에서 특징점으로서 마커를 검출하는 방법이다. 이미지 내에서 마커는 그 특성상 쉽게 다른 것들에 비해 쉽게 구별되기 때문에 전자보다 훨씬 신뢰성 높게 특징점으로서 역할을 할 수 있다.
스캐너에서 대부분 한 번의 스캔만으로는 물체의 좌우, 앞뒤, 위아래의 완전한 모델을 얻지 못하기 때문에 다른 방향에서 여러 번 스캔을 해야 한다. 심지어 물체 자체를 움직여서 스캔해야 하는 경우도 있다. 이렇게 획득된 각 스캔의 점군(Point Cloud)은 각자 나름의 좌표계로 설정되어 있기 때문에 상기에서 언급한 것과 비슷하게 공통의 참조 좌표계로 점군들을 변환하는 정렬(alignment) 과정을 거쳐야 한다. 이때, 각 스캔에서의 점군은 최소한 한 개의 다른 스캔의 점군과 일부가 겹쳐 있어야 정렬을 할 수 있다.
점군을 정렬하는 가장 일반적인 방법은 ICP(Iterative Closest Point) 알고리즘을 수행하는 것이다. ICP 알고리즘은 초기에 점군들이 대략적으로 정렬되어 있어야만 제대로 동작한다.
ICP 알고리즘에 초기해를 주는 방법으로 점군내의 특징점을 이용한 방법, 사용자 상호작용 방법 등이 있다.
특징점을 이용한 방법에서는 점군에서 뾰족한 곳이든지 에지라든지 등의 주위와 비교하여 특이한 속성을 가지고 있는 특징점들을 구하여 두 점군의 동일한 특징점들을 찾으려고 한다. 그러나, 편평하거나 곡률이 일정한 물체를 스캔해서 얻은 점군들은 특징점들의 속성이 매우 유사하여 그 결과가 좋지 않다.
그래서, Artec Studio와 같은 상용 전문 스캐너 소프트웨어(SW) 또는 David 스캐너에 달린 저렴한 소프트웨어(SW)에서도 사용자가 두 점군을 직접 보면서 동일한 영역을 매핑시켜 주어서 초기 정렬을 하는 사용자 상호작용 방법을 제공한다. 사용자 상호작용 방법은 인간이 개입함으로써 가장 좋은 초기 정렬 결과를 얻을 수 있으나, 스캔이 수십 개가 되는 경우 매핑 작업에 시간이 많이 걸리게 된다. 즉, 자동화 관점에서 볼 때 상호작용 자체가 단점이라고 할 수 있다.
본 발명과 관련되는 선행기술로는, 대한민국 공개특허 제2004-0010091호(광학식 마커를 이용한 3차원 측정 데이터 자동 정렬장치 및 그 방법), 미국 공개특허 제2008-0201101호(AUTO-REFERENCED SYSTEM AND APPARATUS FOR THREE-DIMENSIONAL SCANNING)가 있다.
이에 사용자 상호작용 방법처럼 효과를 보이면서도 자동으로 수행할 수 있는 정렬 방법이 필요하다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 마커를 물체에 붙인 상태에서 스캐너로부터 얻어진 점군에 대해서 마커 정보를 이용하여 자동으로 정렬을 하는 3차원 모델 생성 장치 및 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 3차원 모델 생성 장치는, 물체 스캔에 따른 점군 및 마커군을 입력받아 상기 점군을 정제하고, 상기 정제된 점군 및 상기 마커군을 점군 및 마커군 데이터베이스에 전달하는 점군 정제부; 상기 점군 및 마커군 데이터베이스로부터 하나의 물체에 대해 여러 방향에서 스캔하여 획득한 점군의 쌍으로 된 점군 집합 및 마커군의 쌍으로 된 마커군 집합을 조회하여 상기 점군 집합을 정렬하는 점군 정렬부; 및 상기 정렬된 점군 집합을 근거로 표면 재구성을 하여 3D 모델을 생성하는 표면 생성부;를 포함한다.
상기 점군 정제부는 상기 점군 내의 각 점에서 일정 개수의 이웃점까지의 거리들의 평균치가 일정 수치 이상이면 이상점으로 판단하여 자동으로 제거할 수 있다.
상기 점군 정제부는 상기 자동으로 제거가 안 되는 이상점의 경우 사용자의 선택이 있게 되면 해당 이상점을 제거할 수 있다.
상기 점군 정렬부는 상기 마커군 집합을 이용하여 상기 점군 집합을 정렬할 수 있다.
상기 점군 정렬부는 상기 마커군 집합의 첫번째 마커군의 좌표계로 다른 마커군의 좌표계를 변환할 때 사용된 변환 행렬을 이용하여 상기 점군 집합을 정렬할 수 있다.
상기 표면 생성부는 폴리곤 메쉬 3D 모델을 만드는 알고리즘을 통해 표면 재구성을 행할 수 있다.
상기 점군은 획득된 점의 집합이고, 각 점은 고유의 3차원 위치를 가질 수 있다.
상기 마커군은 획득된 마커들의 3차원 위치의 집합일 수 있다.
그리고, 본 발명의 바람직한 실시양태에 따른 3차원 모델 생성 방법은, 점군 정제부가, 물체 스캔에 따른 점군 및 마커군을 입력받아 상기 점군을 정제하는 단계; 상기 점군 정제부가, 상기 정제된 점군 및 상기 마커군을 점군 및 마커군 데이터베이스에 전달하는 단계; 점군 정렬부가, 상기 점군 및 마커군 데이터베이스로부터 하나의 물체에 대해 여러 방향에서 스캔하여 획득한 점군의 쌍으로 된 점군 집합 및 마커군의 쌍으로 된 마커군 집합을 조회하는 단계; 상기 점군 정렬부가, 상기 조회된 점군 집합을 정렬하는 단계; 및 표면 생성부가, 상기 정렬된 점군 집합을 근거로 표면 재구성을 하여 3D 모델을 생성하는 단계;를 포함한다.
이러한 구성의 본 발명에 따르면, 편평하거나 일정 곡률을 가진 물체(즉, 특징점을 찾기 어려운 물체)에 대해서도 자동으로 항상 정확하게 초기 정렬을 해주어 고정밀 3D 모델을 생성시킬 수 있다.
도 1은 본 발명의 실시예에 따른 3차원 모델 생성 장치를 채용한 전체 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 3차원 모델 생성 장치의 구성을 설명하기 위한 도면이다.
도 3은 마커가 붙은 스캔 대상체를 예시한 도면이다.
도 4는 본 발명의 실시예에 따른 3차원 모델 생성 장치의 방법을 설명하기 위한 흐름도이다.
도 5 및 도 6은 도 4의 설명에 채용되는 점군 및 마커군의 예를 나타낸 도면이다.
도 7은 본 발명의 실시예가 구현된 컴퓨터 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 3차원 모델 생성 장치의 구성을 설명하기 위한 도면이다.
도 3은 마커가 붙은 스캔 대상체를 예시한 도면이다.
도 4는 본 발명의 실시예에 따른 3차원 모델 생성 장치의 방법을 설명하기 위한 흐름도이다.
도 5 및 도 6은 도 4의 설명에 채용되는 점군 및 마커군의 예를 나타낸 도면이다.
도 7은 본 발명의 실시예가 구현된 컴퓨터 시스템을 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 3차원 모델 생성 장치를 채용한 전체 시스템의 구성을 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 3차원 모델 생성 장치의 구성을 설명하기 위한 도면이고, 도 3은 마커가 붙은 스캔 대상체를 예시한 도면이다.
본 발명의 실시예에 따른 3D 모델 생성 장치(100)는 3D 스캐너(10)로부터 점군 및 마커군을 입력받아 3D 폴리곤 모델을 생성한다.
도 1에서, 3D 스캐너(10)는 도 3에서와 같이 하나 이상의 마커(1)가 붙여진 물체(5)를 스캔하여 점군, 마커군 쌍을 생성한다.
본 발명의 실시예에 따른 3차원 모델 생성 장치(100)는, 점군 정제부(20), 점군 및 마커군 데이터베이스(30), 점군 정렬부(40), 표면 생성부(50), 및 3D 모델 데이터베이스(60)를 포함한다.
점군 정제부(20)는 3D 스캐너(10)로부터 점군 및 마커군을 입력받고, 그 중에서 점군 내의 이상점(outlier)들을 제거한다. 여기서, 점군 내의 이상점은 점군 내에서 비정상적인 분포를 갖는 점을 의미한다고 볼 수 있다. 점군 정제부(20)는 정제된 점군, 마커군 쌍을 점군 및 마커군 데이터베이스(30)에 전달한다.
점군 및 마커군 데이터베이스(30)는 하나의 물체를 여러 방향에서 스캔한 복수의 점군, 마커군 쌍을 저장한다.
점군 정렬부(40)는 점군 및 마커군 데이터베이스(30)로부터 하나의 물체에 대한 점군, 마커군 쌍의 집합을 가져와서 기준 점군의 좌표계로 다른 점군들을 정렬하여 표면 생성부(50)에 전달한다.
표면 생성부(50)는 점군 집합을 하나의 점군으로 통합하고 나서 통합된 점군을 기반으로 폴리곤 메쉬 (Polygonal Mesh)로 표면을 생성(Surface Reconstruction)한다. 본 발명의 실시예에서는 폴리곤 메쉬로 생성된 표면을 3D 모델(3D 폴리곤 모델이라고 함)이라고 한다.
3D 모델 데이터베이스(60)는 표면 생성부(50)에서 생성된 3D 모델을 저장한다.
도 4는 본 발명의 실시예에 따른 3차원 모델 생성 장치의 방법을 설명하기 위한 흐름도이고, 도 5 및 도 6은 도 4의 설명에 채용되는 점군 및 마커군의 예를 나타낸 도면이다.
먼저, 3D 스캐너(10)는 물체에 대해서 스캔 한 번이 끝나면 그때까지 획득된 점군과 마커군을 점군 정제부(20)에게로 보낸다(S10). 여기서, 점군(Point Cloud)이란 획득된 점의 집합으로서, 각 점은 최소한 (x, y, z)로 표현되는 자기의 3차원 위치를 가진다. 부가적으로, 점군은 색상, 점으로부터 캡쳐 당시의 센서로의 방향 벡터 등의 속성을 가질 수 있다. 마커군(Marker Set)은 획득된 마커들의 3차원 위치의 집합이다. 여기서, 점의 3차원 위치나 마커의 3차원 위치는 모두 공통 참조 좌표계에서 정의된다. 도 5 및 도 6에 두 개의 스캔에 대한 점군과 마커군의 예를 볼 수 있다. 하얀 선처럼 보이는 것은 사실 점군을 이루는 점들로서 조밀하게 모여 있다보니 선처럼 보이는 것이다. 회색의 큰 점은 마커를 나타낸다. 도 5는 마스크의 오른쪽을 보고 스캔하여 얻은 점군과 마커군을 나타낸 것이다. 도 5에서, 원(A, B) 안의 마커(13, 14, 15)는 상대방에게는 보이지 않을 것이다. 도 6은 마스크의 왼쪽을 보고 스캔하여 얻은 점군 및 마커군을 나타낸 것이다. 도 6에서, 원(C) 안의 마커(16, 17, 18, 19)는 상대방에게는 보이지 않을 것이다. 나머지 마커들(예컨대, 12a, 12b, 12c, 12d, 12e, 12f, 12g)은 상대방 스캔에서도 보이는 마커들이다. 두 스캔이 아예 겹치지 않는 경우도 있으며, 이런 경우 12a, …, 12g와 같이 상대방 스캔에서도 보이는 마커들은 존재하지 않는다.
이어, 점군 정제부(20)는 전달받은 점군 중에서 실제로는 물체의 표면 위에 없는 이상점(outlier)들을 제거한다(S12). 여기서, 이상점을 제거하는 방법으로는 자동으로 제거하는 방법과 수동으로 제거하는 방법을 모두 사용할 수 있다. 자동으로 제거하는 전형적인 방법은 각 점에서 일정 개수의 이웃점까지의 거리들의 평균치가 일정 수치 이상이면 이상점으로 판단하여 제거한다. 자동 방법으로 제거가 안 되는 이상점의 경우 사용자가 직접 이상점을 선택하여 지울 수 있다.
점군 정제부(20)는 이렇게 정제된 점군과 마커군 쌍을 점군 및 마커군 데이터베이스(30)에 전달하여 저장한다(S14).
물체의 표면을 충분히 잘 재구성할 수 있도록 하기 위해, 여러 방향에서 물체를 스캔하여 정제한 후 저장하는 과정(즉, 단계 S10~S14)을 반복한다.
여러 방향에서의 물체 스캔 및 정제 후의 저장이 완료된 이후, 점군 정렬부(40)는 점군 및 마커군 데이터베이스(30)로부터 하나의 물체를 여러 방향에서 스캔해서 획득한 점군, 마커군 쌍들로 이루어진 집합을 조회한다(S16). 이들 점군은 현재 각자 별개의 좌표계를 가진 상태이다.
이후, 점군 정렬부(40)는 마커군 집합을 이용해서 현재 주어진 점군 집합에 대해서 정렬을 자동으로 수행한다(S18). 즉, 마커군 집합을 정렬하면 점군 집합을 정렬할 수 있다. 여기서, 정렬의 목표는 점군 집합의 서로 다른 좌표계를 하나의 공통 좌표계로 일치시키는 것이다. 보통, 점군 집합의 첫번째 점군의 좌표계로 다른 점군들의 좌표계를 변환할 수 있다. 어떤 스캔의 점군과 마커군은 동일한 좌표계를 가지고 있으므로, 첫번째 마커군의 좌표계로 다른 마커군의 좌표계를 변환할 때 사용된 변환 행렬을 이용하여 점군의 좌표계를 일치시킬 수 있다. 이에 대해서는 후술하기로 한다.
그리고 나서, 점군 정렬부(40)는 정렬된 점군 집합을 표면 생성부(50)에 전달한다(S20).
표면 생성부(50)는 전달받은 점군 집합을 이용하여 표면 재구성을 수행한다(S22). 이제 점군 집합은 정렬되어 있으므로 단순히 점군 집합을 하나의 점군으로 간주할 수 있다.
표면 생성부(50)는 표면 재구성에 의해 3D 모델(즉, 3D 폴리곤 모델)을 생성하게 된다. 여기서, 물체의 표면을 샘플링하여 나온 점군에서 폴리곤 메쉬 3D 모델을 만드는 알고리즘은 널리 알려져 있다. 예를 들어, M. Kazhdan 등이 제안한 포아송 표면 재구성(Poisson Surface Reconstruction) 알고리즘이 대표적일 수 있다.
표면 생성부(5)는 새로 생성된 3D 모델을 3D 모델 데이터베이스(60)에 전달한다(S24).
이와 같이 생성된 3D 모델을 3D 모델 데이터베이스(60)에 전달함으로써 3D 모델 생성 절차가 완료된다.
이하에서는, 상기 단계 S18의 동작을 보다 구체적으로 설명한다. 단계 S18에서, 첫번째 마커군의 좌표계로 다른 마커군의 좌표계를 변환할 때 사용된 변환 행렬을 이용하여 점군의 좌표계를 일치시킬 수 있다고 하였는데, 여기서 변환 행렬은 마커군의 좌표계를 일치시키기 위한 알고리즘으로 알아낼 수 있다.
예를 들어, 임의의 마커군이 주어졌을 때 해당 마커군의 각각의 마커는 정점에 대응된다고 볼 수 있다. 따라서, 모든 정점 사이에 에지가 존재하는 완전 그래프를 만들 수 있다. 마커(정점)는 3차원 공간상에 위치해 있기 때문에 그래프의 에지에 길이 속성을 줄 수 있다. 또한, 도 5 및 도 6에 예시한 바와 같이 마커군에 대응되는 점군이 있기 때문에 마커(정점)에 특징(feature)으로서 마커 주위의 점들을 이용하여 곡률(curvature) 속성을 쉽게 계산하여 부여할 수 있다. 한편, 점군이 색상 속성을 가지고 있다면, 마커(정점)의 특징으로서 색상 속성도 조합할 수 있다.
그리고, 기준 마커군 T(Target)의 좌표계로 마커군 S(Source)를 변환시키기 위해서는 마커군 S와 기준 마커군 T가 공유하는 3개 이상의 동일 마커를 찾아야 한다. 모든 동일 마커를 찾는 문제는 두 그래프에서 최대의 공통 서브 그래프를 찾는 문제(Maximum common subgraph isomorphism problem)와 비슷하게 보이나, 이번 문제에서는 위에서 언급한 속성들을 이용해서 훨씬 빨리 풀 수 있다. 또한, 모든 동일 마커를 찾을 필요없이 3개 내지 4개의 동일 마커만 찾아도 변환 행렬을 구할 수 있다. 마커군 S의 한 마커 s_i와 기준 마커군 T의 마커 t_j가 물리적으로 동일 마커라고 하면, 그 두 마커는 같은 특징을 가지고 있어야 하며, 같은 길이의 에지를 "동일 마커 개수-1"개만큼 가지고 있어야 하며, 해당 에지의 끝 정점도 역시 동일 마커 집합의 멤버여야 한다.
따라서, 주어진 마커군 집합 {M_1, …, M_n}의 좌표계를 첫번째 마커군(예컨대, M_1)의 좌표계로 일치시키기 위한 알고리즘은 다음의 순서대로 행해진다.
1) 각 마커군 M_i에 대해서 transformed(M_i) = 0, checked(M_i) = 0으로 초기화한다.
2) 각 마커군 M_i에 대해서 완전 그래프를 구성한다. 이때, 정점에 대해서는 특징값(곡률 또는 색상과의 조합)을 구해 놓고, 효율을 위해서 특징값 순서대로 정렬해 놓는다. 한편, 정점에 붙어 있는 에지들에 대해서도 길이 순서대로 정렬해 놓는다.
3) 첫번째 마커군 M_1에 대해서 transformed(M_1) = 1로 설정한다. 이는 첫번째 마커군은 좌표계가 이미 변환 완료된 것임을 표시한다.
4) transformed가 1이면서 checked가 0인 마커군이 존재하지 않을 때까지 이 단계를 반복한다.
4-1) transformed가 1이면서 checked가 0인 마커군 M_i를 고려하자.
4-2) checked(M_i) = 1로 설정한다(즉, 이 마커군은 조사되고 있음을 의미한다).
4-3) transformed가 0인 각각의 마커군 M_j에 대해서 M_j 좌표계를 M_i 좌표계로 변환시도를 한다. M_j 좌표계가 M_i 좌표계로 변환되었다면 transformed(M_j) = 1로 설정한다. 만약, 마커군 M_i, 마커군 M_j에 동일한 마커들이 없어서 변환되지 않았으면 transformed(M_j)는 여전히 0을 가진다.
한편, 상기에서, M_j 좌표계를 마커군 S(Source)의 좌표계라고 할 수 있고, M_i 좌표계를 기준 마커군 T(Target)의 좌표계라고 할 수 있다. 여기서, 상기 4-3) 단계에서 행해지는 마커군 S의 좌표계를 기준 마커군 T의 좌표계로 변환하는 알고리즘은 다음의 순서대로 행해진다.
1) 동일 마커 후보쌍의 집합 C = { (s_i, t_i) | s_i는 S의 마커이고, t_i는 T의 마커이고, s_i와 t_i의 특징값이 같고, s_i에 연결된 에지들과 t_i에 연결된 에지들을 비교한 결과 같은 길이를 가지는 에지의 수가 각각 일정 개수(보통 2-3)이상 }을 구한다. 정점 및 에지들이 모두 미리 정렬되어 있기 때문에 C를 구하는 계산 시간은 정점의 개수에 선형적이다.
2) 하기의 2-1, 2-2를 통해 집합 C를 정제한다.
2-1) 집합 C의 멤버 (s, t)의 s, t 각각에 대해서 각 에지의 다른 끝 정점이 집합 C 에 속한 멤버의 정점에 속한 경우에만 남겨 두었을 때, 같은 길이의 에지의 수가 일정 개수 미만으로 떨어지면 해당 멤버를 집합 C에서 제거한다.
2-2) 집합 C에서 멤버가 제거된 적이 있다면 단계 2를 다시 수행한다.
3) 집합 C의 크기가 일정값 이하이면 유의미한 개수의 동일 마커가 없는 것이므로, 변환없이 알고리즘을 종료한다.
4) 집합 C에 속한 (s_i, t_i) 각각에 대해서 하기의 4-1 ~ 4-3 단계를 수행한다.
4-1) 동일 마커쌍 집합 V = { (s_i, t_i) }로 초기화한다.
4-2) 집합 C에 속한 다른 (s_j, t_j)가 집합 A에 있는 모든 멤버와 이웃관계라면 (s_j, t_j)를 집합 V에 넣는다.
4-3) 집합 V의 크기가 일정 개수(예커대, 3-4개)에 다다르면 널리 알려진 특이값 분해(SVD, Singular Value Decomposition)를 통해 s_i에서 t_i로의 강체 변환 행렬을 구할 수 있다. 이 강체 변환 행렬을 이용해서 S 및 S에 대응되는 점군을 강체 변환시킨다. 또한, 이 상태에서 보다 정밀한 정렬을 위해 ICP(Iterative Closest Point) 알고리즘을 적용한다. 그리고, 알고리즘을 종료한다.
5) 일정 크기의 동일 마커쌍 집합 V가 없다면 변환없이 알고리즘을 종료한다.
한편, 상술한 본 발명의 실시예는 컴퓨터 시스템에서 구현될 수 있다. 도 7에 도시된 바와 같이, 컴퓨터 시스템(120)은 버스(122)를 통하여 서로 통신하는 하나 이상의 프로세서(121), 메모리(123), 사용자 인터페이스 입력 장치(126), 사용자 인터페이스 출력 장치(127) 및 스토리지(128)를 포함할 수 있다. 또한, 컴퓨터 시스템(120)은 네트워크(130)에 연결되는 하나 이상의 네트워크 인터페이스(129)를 더 포함할 수 있다. 프로세서(121)는 중앙 처리 장치 또는 메모리(123) 또는 스토리지(128)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(123) 및 스토리지(128)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(123)는 ROM(124)이나 RAM(125)을 포함할 수 있다.
컴퓨터 시스템(120)은 무선 통신 칩(와이파이 칩)(131)을 추가로 포함할 수 있다.
컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 실시예에 따른 방법을 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 3D 스캐너
20 : 점군 정제부
30 : 점군 및 마커군 데이터베이스 40 : 점군 정렬부
50 : 표면 생성부 60 : 3D 모델 데이터베이스
100 : 3D 모델 생성 장치
30 : 점군 및 마커군 데이터베이스 40 : 점군 정렬부
50 : 표면 생성부 60 : 3D 모델 데이터베이스
100 : 3D 모델 생성 장치
Claims (16)
- 물체 스캔에 따른 점군 및 마커군을 입력받아 상기 점군을 정제하고, 상기 정제된 점군 및 상기 마커군을 점군 및 마커군 데이터베이스에 전달하는 점군 정제부;
상기 점군 및 마커군 데이터베이스로부터 하나의 물체에 대해 여러 방향에서 스캔하여 획득한 점군의 쌍으로 된 점군 집합 및 마커군의 쌍으로 된 마커군 집합을 조회하여 상기 점군 집합을 정렬하는 점군 정렬부; 및
상기 정렬된 점군 집합을 근거로 표면 재구성을 하여 3D 모델을 생성하는 표면 생성부;를 포함하는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 1에 있어서,
상기 점군 정제부는 상기 점군 내의 각 점에서 일정 개수의 이웃점까지의 거리들의 평균치가 일정 수치 이상이면 이상점으로 판단하여 자동으로 제거하는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 2에 있어서,
상기 점군 정제부는 상기 자동으로 제거가 안 되는 이상점의 경우 사용자의 선택이 있게 되면 해당 이상점을 제거하는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 1에 있어서,
상기 점군 정렬부는 상기 마커군 집합을 이용하여 상기 점군 집합을 정렬하는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 4에 있어서,
상기 점군 정렬부는 상기 마커군 집합의 첫번째 마커군의 좌표계로 다른 마커군의 좌표계를 변환할 때 사용된 변환 행렬을 이용하여 상기 점군 집합을 정렬하는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 1에 있어서,
상기 표면 생성부는 폴리곤 메쉬 3D 모델을 만드는 알고리즘을 통해 표면 재구성을 행하는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 1에 있어서,
상기 점군은 획득된 점의 집합이고, 각 점은 고유의 3차원 위치를 갖는 것을 특징으로 하는 3차원 모델 생성 장치. - 청구항 1에 있어서,
상기 마커군은 획득된 마커들의 3차원 위치의 집합인 것을 특징으로 하는 3차원 모델 생성 장치. - 점군 정제부가, 물체 스캔에 따른 점군 및 마커군을 입력받아 상기 점군을 정제하는 단계;
상기 점군 정제부가, 상기 정제된 점군 및 상기 마커군을 점군 및 마커군 데이터베이스에 전달하는 단계;
점군 정렬부가, 상기 점군 및 마커군 데이터베이스로부터 하나의 물체에 대해 여러 방향에서 스캔하여 획득한 점군의 쌍으로 된 점군 집합 및 마커군의 쌍으로 된 마커군 집합을 조회하는 단계;
상기 점군 정렬부가, 상기 조회된 점군 집합을 정렬하는 단계; 및
표면 생성부가, 상기 정렬된 점군 집합을 근거로 표면 재구성을 하여 3D 모델을 생성하는 단계;를 포함하는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 9에 있어서,
상기 점군을 정제하는 단계는,
상기 점군 내의 각 점에서 일정 개수의 이웃점까지의 거리들의 평균치가 일정 수치 이상이면 이상점으로 판단하여 자동으로 제거하는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 10에 있어서,
상기 점군을 정제하는 단계는,
상기 자동으로 제거가 안 되는 이상점의 경우 사용자의 선택이 있게 되면 해당 이상점을 제거하는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 9에 있어서,
상기 점군 집합을 정렬하는 단계는,
상기 마커군 집합을 이용하여 상기 점군 집합을 정렬하는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 12에 있어서,
상기 점군 집합을 정렬하는 단계는,
상기 마커군 집합의 첫번째 마커군의 좌표계로 다른 마커군의 좌표계를 변환할 때 사용된 변환 행렬을 이용하여 상기 점군 집합을 정렬하는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 9에 있어서,
상기 3D 모델을 생성하는 단계는,
폴리곤 메쉬 3D 모델을 만드는 알고리즘을 통해 표면 재구성을 행하는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 9에 있어서,
상기 점군은 획득된 점의 집합이고, 각 점은 고유의 3차원 위치를 갖는 것을 특징으로 하는 3차원 모델 생성 방법. - 청구항 9에 있어서,
상기 마커군은 획득된 마커들의 3차원 위치의 집합인 것을 특징으로 하는 3차원 모델 생성 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150084302A KR20160147491A (ko) | 2015-06-15 | 2015-06-15 | 3차원 모델 생성 장치 및 방법 |
US15/045,594 US20160364905A1 (en) | 2015-06-15 | 2016-02-17 | Apparatus and method for generating 3d model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150084302A KR20160147491A (ko) | 2015-06-15 | 2015-06-15 | 3차원 모델 생성 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160147491A true KR20160147491A (ko) | 2016-12-23 |
Family
ID=57517257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150084302A KR20160147491A (ko) | 2015-06-15 | 2015-06-15 | 3차원 모델 생성 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160364905A1 (ko) |
KR (1) | KR20160147491A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101886570B1 (ko) * | 2017-04-21 | 2018-08-07 | 경북대학교 산학협력단 | 3d 프린팅 기반 유지보수 지원을 위한 부품 데이터베이스 관리 장치 및 방법, 그리고 3d 프린팅 기반 부품 유지보수 시스템 |
KR20190030788A (ko) * | 2017-07-31 | 2019-03-25 | 주식회사 자이언소프트 | 3차원 의류 데이터 생성 시스템 |
WO2020076026A1 (ko) * | 2018-10-08 | 2020-04-16 | 한국과학기술원 | 인공조명 사진을 이용한 3차원 객체 획득 방법 및 그 장치 |
KR20200040194A (ko) * | 2018-10-08 | 2020-04-17 | 한국과학기술원 | 인공조명 사진을 이용한 3차원 객체 획득 방법 및 그 장치 |
KR102161452B1 (ko) * | 2019-07-24 | 2020-10-05 | (주)칼리온 | 스캐너 움직임에 따른 모션 유효성 검출 장치 및 그 방법 |
KR102217215B1 (ko) * | 2019-08-12 | 2021-02-18 | 한다희 | 스케일바를 이용한 3차원 모델 제작 서버 및 방법 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103489218B (zh) * | 2013-09-17 | 2016-06-29 | 中国科学院深圳先进技术研究院 | 点云数据质量自动优化方法及系统 |
JP6868992B2 (ja) * | 2016-09-27 | 2021-05-12 | 株式会社トプコン | 画像処理装置、画像処理方法および画像処理用プログラム |
CN110044371A (zh) * | 2018-01-16 | 2019-07-23 | 华为技术有限公司 | 一种车辆定位的方法以及车辆定位装置 |
CN108520550B (zh) * | 2018-04-10 | 2021-09-24 | 南京信息工程大学 | 基于噪声分类与mls的点云数据泊松曲面重建方法 |
CN108805976B (zh) * | 2018-05-31 | 2022-05-13 | 武汉中观自动化科技有限公司 | 一种三维扫描系统及方法 |
CN109003327B (zh) * | 2018-06-29 | 2022-09-30 | 平安科技(深圳)有限公司 | 图像处理方法、装置、计算机设备及存储介质 |
KR102304124B1 (ko) | 2019-02-21 | 2021-09-24 | 한국전자통신연구원 | 학습기반 3d 모델 생성 장치 및 방법 |
CN110009029B (zh) * | 2019-03-28 | 2021-02-12 | 北京智行者科技有限公司 | 基于点云分割的特征匹配方法 |
CN110547766B (zh) * | 2019-08-22 | 2023-04-28 | 苏州佳世达光电有限公司 | 口扫机的操作方法 |
CN112950785B (zh) * | 2019-12-11 | 2023-05-30 | 杭州海康威视数字技术股份有限公司 | 点云标注方法、装置及系统 |
CN111524238B (zh) * | 2020-04-23 | 2022-02-01 | 南京航空航天大学 | 一种基于编码点驱动的三维点云变形方法 |
EP4033755A1 (en) * | 2021-01-22 | 2022-07-27 | Illice, consulting, innovation & construction | System for broadcasting volumetric videoconferences in 3d animated virtual environment with audio information, and method for operating said system |
JP2023022517A (ja) * | 2021-08-03 | 2023-02-15 | 株式会社東芝 | 計測システム及び計測プログラム |
JP7228070B1 (ja) * | 2022-07-20 | 2023-02-22 | 株式会社ダイヘン | 点群データ合成装置、点群データ合成プログラム、点群データ合成方法及び点群データ合成システム |
CN115795632A (zh) * | 2023-01-17 | 2023-03-14 | 四川省公路规划勘察设计研究院有限公司 | 一种基于标记点云的自动几何孪生方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9547838B2 (en) * | 2013-11-06 | 2017-01-17 | Oracle International Corporation | Automated generation of a three-dimensional space representation and planogram verification |
-
2015
- 2015-06-15 KR KR1020150084302A patent/KR20160147491A/ko unknown
-
2016
- 2016-02-17 US US15/045,594 patent/US20160364905A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101886570B1 (ko) * | 2017-04-21 | 2018-08-07 | 경북대학교 산학협력단 | 3d 프린팅 기반 유지보수 지원을 위한 부품 데이터베이스 관리 장치 및 방법, 그리고 3d 프린팅 기반 부품 유지보수 시스템 |
KR20190030788A (ko) * | 2017-07-31 | 2019-03-25 | 주식회사 자이언소프트 | 3차원 의류 데이터 생성 시스템 |
WO2020076026A1 (ko) * | 2018-10-08 | 2020-04-16 | 한국과학기술원 | 인공조명 사진을 이용한 3차원 객체 획득 방법 및 그 장치 |
KR20200040194A (ko) * | 2018-10-08 | 2020-04-17 | 한국과학기술원 | 인공조명 사진을 이용한 3차원 객체 획득 방법 및 그 장치 |
KR102161452B1 (ko) * | 2019-07-24 | 2020-10-05 | (주)칼리온 | 스캐너 움직임에 따른 모션 유효성 검출 장치 및 그 방법 |
KR102217215B1 (ko) * | 2019-08-12 | 2021-02-18 | 한다희 | 스케일바를 이용한 3차원 모델 제작 서버 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20160364905A1 (en) | 2016-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20160147491A (ko) | 3차원 모델 생성 장치 및 방법 | |
CN107194962B (zh) | 点云与平面图像融合方法及装置 | |
WO2018049998A1 (zh) | 交通标志牌信息获取方法及装置 | |
CN111566437B (zh) | 三维测量系统以及三维测量方法 | |
EP3985615A1 (en) | Point cloud data processing device, point cloud data processing method, and program | |
CN113424224A (zh) | 识别并保留优选点的合并点云的方法 | |
JP2020053008A (ja) | 位置決め方法、ロボット及びコンピューター記憶媒体 | |
CN108875804A (zh) | 一种基于激光点云数据的数据处理方法和相关装置 | |
CN113077523B (zh) | 一种标定方法、装置、计算机设备及存储介质 | |
KR20170100718A (ko) | 점군 정합 장치 및 방법 | |
Harandi et al. | How to make sense of 3D representations for plant phenotyping: a compendium of processing and analysis techniques | |
JP2020101437A (ja) | 3次元位置・姿勢認識装置及び方法 | |
CN115205470B (zh) | 续扫重定位方法、装置、设备、存储介质及三维续扫方法 | |
JP7432793B1 (ja) | 三次元点群に基づくマッピング方法、装置、チップ及びモジュール機器 | |
CN115088020A (zh) | 点云数据处理装置、点云数据处理方法及程序 | |
US12094227B2 (en) | Object recognition device and object recognition method | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
Watanabe et al. | Registration of point-clouds from terrestrial and portable laser scanners | |
WO2022043746A1 (en) | Systems and methods of 3d object reconstruction using a neural network | |
JP7374433B2 (ja) | 構築物の三次元形状データの生成方法 | |
JP3823559B2 (ja) | 三次元距離データを変換する方法 | |
CN113592976A (zh) | 地图数据的处理方法、装置、家用电器和可读存储介质 | |
CN109145935B (zh) | 模板制作装置及其方法、物体识别处理装置以及存储介质 | |
JP4888023B2 (ja) | 物体の反射特性データの作成方法および作成装置 | |
JP2016218920A (ja) | 情報処理装置、情報処理方法及びプログラム |