KR101814728B1 - 3d 모델 골격 추출 방법 및 장치 - Google Patents

3d 모델 골격 추출 방법 및 장치 Download PDF

Info

Publication number
KR101814728B1
KR101814728B1 KR1020170017581A KR20170017581A KR101814728B1 KR 101814728 B1 KR101814728 B1 KR 101814728B1 KR 1020170017581 A KR1020170017581 A KR 1020170017581A KR 20170017581 A KR20170017581 A KR 20170017581A KR 101814728 B1 KR101814728 B1 KR 101814728B1
Authority
KR
South Korea
Prior art keywords
skeleton
voxel
model
voxels
templates
Prior art date
Application number
KR1020170017581A
Other languages
English (en)
Inventor
김종원
김훈
Original Assignee
상명대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 상명대학교산학협력단 filed Critical 상명대학교산학협력단
Priority to KR1020170017581A priority Critical patent/KR101814728B1/ko
Application granted granted Critical
Publication of KR101814728B1 publication Critical patent/KR101814728B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform

Abstract

본 발명은 3D 모델로부터 연결되고 노이즈가 섞이지 않은 단일 굵기 골격을 추출하는 방법에 관한 것으로서, 구체적으로는 stl 형식 파일로 저장된 3D 모델로부터 골격을 추출하기 위하여 3D 모델을 복셀의 집합으로 변화시킨 후 세선화 작업을 반복하여 골격을 추출하되, 오류 정정 프로세스를 통해 세선화 과정에서 절단된 골격을 연결하고, 노이즈를 제거하여 단일 굵기로 수정한 골격을 추출하는 방법에 관한 것이다.
본 발명은 미리 정의한 3차원 템플릿을 이용하여 3D 모델의 복셀을 표면으로부터 한층 씩 제거해 들어가며 골격을 형성하는 방식을 사용한다. 또한 복셀을 제거하면서 제거결과를 점검하고 오류 정정 절차를 걸쳐 3D 모델의 골격을 수정하는 방식을 사용한다. 연결된 골격을 추출한 후 VDSM 알고리즘을 이용하여 단일 굵기 골격을 형성시킨다.

Description

3D 모델 골격 추출 방법 및 장치{The method for extracting 3D model skeletons}
본 발명은 3D 모델로부터 연결되고 노이즈가 섞이지 않은 단일 굵기 골격을 추출하는 방법에 관한 것으로서, 구체적으로는 stl 형식 파일로 저장된 3D 모델로부터 골격을 추출하기 위하여 3D 모델을 복셀의 집합으로 변화시킨 후 세선화 작업을 반복하여 골격을 추출하되, 오류 정정 프로세스를 통해 세선화 과정에서 절단된 골격을 연결하고, 노이즈를 제거하여 단일 굵기로 수정한 골격을 추출하는 방법에 관한 것이다.
3D 프린팅 기술의 개발은 3D 모델 관련 산업의 폭발적인 성장을 가져 왔고, 이에 따라 다시 3D 프린팅 서비스가 증가하는 선순환 구조로 이어져 왔다.
또한, 최근 3D 프린터의 원천특허가 만료됨에 따라 3D 프린터의 가격이 감소하여 대중화가 가능해 지면서, 미국과 유럽 등 3D 프린터 산업의 선발국가에서는 3D 프린터와 STL 파일 설계도를 이용하여 가정에서 직접 물건을 만들어 사용하고 있다.
그러나 제품 배포 웹 사이트, 3D 프린팅 서비스 업체, 디자인 공유 등으로 3D 모델의 STL 파일 설계도, 원본 3D 모델에 기반하여 변형된 모델 등이 유포되는 사례가 증가하면서 3D 모델의 저작권 침해 문제가 제기되고 있다.
저작권이 있는 3D 모델의 무단 사용을 방지하기 위해서는 인터넷에 배포된 저작권이 있는 3D 모델을 찾아 식별하는 기술 수단이 필요하므로, 3D 모델 식별을 위해 특징을 추출하는 다양한 방법이 제안된 바 있다. 그 중에서도 3D 모델의 골격에 기반한 특징의 매우 차별적인 속성 때문에 3D 골격 기반 접근법이 많은 관심을 끌고있다. 3D 골격은 모델 중심선에 기초하여 모델을 추상화시킨 것으로서, 3D 모델의 기하학적 특성 및 토폴로지(topology, 노드 사이의 거리, 노드 간의 연결관계 등) 특성을 보존하므로 3D 모델을 인식, 검색, 매칭하는데 유용하다.
3D 모델을 골격화시키는 방법으로는 크게 거리 변환 필드 기반 방법(Distance Transform Field-based method; 주 1~3), 보로노이 다이어그램 기반 방법(Voronoi Diagram-based method; 주 4~6) 및 세선화 기반 방법(Thinning-based method; 주 7~11)으로 구분된다.
- 주 1 : Uitert, R.V.; Bitter, I. Subvoxel precise skeletons of volumetric data based on fast marching methods. Med. Phys. 2007, 34, 627-638.
- 주 2 : Pudney, C. Distance-Ordered Homotopic Thinning: A Skeletonization Algorithm for 3D Digital Images. Comput. Vis. Image Underst. 1998, 72, 404-413.
- 주 3 : Arcelli, C.; Baja, G.S.; Serino, L. Distance-Driven Skeletonization in Voxel Images. IEEE Trans. Pattern Anal. Mach. Intell. 2011, 33, 709-720.
- 주 4: Ogniewicz, R.L.; Ilg, M. Voronoi skeletons: theory and applications. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Champaign, IL, USA, 15?18 June 1992; pp. 63-69.
- 주 5 : Ogniewicz, R.L.; Kubler, O. Hierarchic Voronoi Skeletons, Pattern Recognition. 1992, 28 343-359.
- 주 6 : Naf, M.; Szekely, G.; Kikinis, R.; Shenton, M.E.; Kubler, O. 3D voronoi skeletons and their usage for the characterization and recognition of 3D organ shape. Comput. Vis. Image Underst. 1997, 66, 147-161.
- 주 7 : Lee, T.C.; Kashyap, R.L.; Chu, C.N. Building Skeleton Models via 3-D Medial Surface/Axis Thinning Algorithms. Graph. Models Image Process. 1994, 56, 462-478.
- 주 8 : Kerschnitzki, M.; Kollmannsberger, P.; Burghammer, M.; Duda, G.N.; Weinkamer, R.; Wagermaier, W.; Fratzl, P. Architecture of the osteocyte network correlates with bone material quality. J. Bone Miner. Res. 2013, 28, 1837-1845.
- 주 9 : Wang, T.; Basu, A. A note on ‘A fully parallel 3D thinning algorithm and its applications’. Pattern Recognit. Lett. 2007, 28, 501-506.
- 주 10 : Ma, C.M.; Sonka, M. A Fully Parallel 3D Thinning Algorithm and Its Applications. Comput. Vis. Image Underst. 1996, 64, 420-433.
- 주 11 : She, F.H.; Chen, R.H.; Gao, W.M.; Hodgson, P.H.; Kong, L.X.; Hong, H.Y. Improved 3D Thinning Algorithms for Skeleton Extraction. In Proceedings of the Digital Image Computing: Techniques and Applications (DICTA), Melbourne, Australia, 1-3 December 2009; pp. 14-18.
상기 필드 기반 방법은 누락 된 지점(missing branches)이 있는 채로 골격을 추출한다. 상기 보로노이 다이어그램 기반 방법은 모델의 간결한 표현에 필수적이지 않은 많은 수의 가(假) 골격을 추출하고, 골격 추출을 위한 다이어그램 계산 시간이 과도하게 소요된다. 상기 세선화 기반 방법은 상기 보로노이 다이어그램 기반 방법보다 빠르며 필드 기반 방법으로 추출된 방법보다는 더 상세하고 정확한 골격을 추출한다.
3D 모델의 세선화(Thinning) 과정은 골격만 남아있을 때까지 객체의 표면부터 레이어별로 제거하는 과정이다. 그러나 종래의 세선화 알고리즘을 적용하는 경우에는 3D 모델의 골격이 끊어지는 경우가 많고, 골격에 남아 있어야 할 복셀(Voxel)이 제거되기도 한다. 이에 따라 부정확한 골격이 추출되는 경우가 많다.
[도 1]은 종래의 세선화 과정을 통해 복셀화된 3D 모델의 골격 추출 결과를 도시한 것으로서, 여러 번의 연속적인 세선화 과정을 거친 후 골격이 절단되는 현상이 발생함을 확인할 수 있다.
[도 1]의 (a) 내지 (c)는 3D 모델의 세선화 과정을 도시한 것이며, (d) 내지 (f)는 상기 (a) 내지 (c)를 각각 2D x-z 평면으로 도시하여 골격의 단절 상태를 명확히 보여준다.
이와 같이 절단된 부분을 포함하는 골격은 어느 3D 모델이 원본 3D 모델을 변형한 것인지 여부를 판단하기 위한 기준이 되기에는 인식결과의 정확도가 많이 떨어지며, 저작권 보호분야에 적용하기에는 적합하지 않다.
저작권 보호를 위한 3D 모델 인식 기술은 모델을 회전시키거나, 크기 변환, 일부 절단, 혼합 등의 수단으로 변형하더라도 원본 모델의 특징을 통해 변형된 원본에서 변형된 모델임을 파악할 수 있어야 한다. 이를 위해서는 3D 모델의 특징이 정확히 나타난 골격을 추출하는 것이 중요하다.
전술한 과제 해결을 위해 본 발명은 「(A) 3D 모델을 복셀(Voxel)의 집합으로 변환시키는 단계; (B) 복셀의 집합으로 변환된 상기 3D 모델의 표면층부터 복셀별로, 하기 제1,2조건이 모두 충족되는 복셀을 삭제하는 세선화(thinning) 작업을 더 이상 제거할 복셀이 없을 때까지 반복하는 골격 추출 단계((1) 제1조건 : 완전 병렬 3D 세선화 알고리즘의 제거템플릿 중 어느 하나에 라도 일치될 것, (2) 제2조건 : 논테일(Non-Tail) 복셀일 것); (C) 추출된 골격을 단일 굵기로 수정하는 단위 폭 골격(unit-width Skeleton) 추출 단계; 를 포함하는 3D 모델의 골격 추출 방법」을 제공한다.
또한, 본 발명은 상기 (B)단계의 제1조건 적용 시, 클래스 A 내지 D의 제거템플릿을 대칭성에 따라 각각 1·2그룹으로 분류하여, 홀수 순번 세선화 작업시에는 상기 1그룹 제거템플릿을 적용하고, 짝수 순번 세선화 작업시에는 상기 2그룹 제거템플릿을 적용하는 방법과, 상기 (C)단계에서 VDSM 알고리즘을 적용하여 혼잡 복셀(crowed voxel)을 제거하여 단위 폭 골격을 추출하는 방법을 함께 제공한다.
아울러, 상기 (B)단계에서 삭제된 복셀마다 하기 복구템플릿 e1, e2, e3 중 어느 하나에 라도 일치하는 것을 복구하는 작업을 수행하여, 절단된 골격을 연결하는 방법과,
Figure 112017013224576-pat00001

상기 (B)단계에서 삭제된 복셀이 상기 복구템플릿 e1, e2, e3 모두와 일치되지 않는 경우, 하기 복구템플릿 f1, f2, f3 중 어느 하나에 라도 일치하는 것을 복구하는 작업을 더 수행하여, 절단된 골격을 연결하는 방법을 함께 제공한다.
Figure 112017013224576-pat00002

본 발명은 3D 모델에서 빠른 시간 내에 3D 모델의 특징이 정확히 나타나 있는 골격을 추출할 수 있는 방법을 사용한다.
이러한 본 발명은 3D 모델의 일부분(예: 팔 또는 다리 같은 가지 부분)에서 골격을 추출할 수 없거나, 필요 없는 골격을 생성하는 경우(예: 팔 또는 다리에서 골격이 각각 하나 씩 추출 되어야 하는데 골격이 많이 생성)가 많은 기존 방법들의 문제점을 극복하여 저작권 보호를 위한 3D 모델 간의 유사 판단에 크게 기여할 수 있다.
[도 1]은 종래의 세선화 과정을 통해 복셀화된 3D 모델의 골격 추출 결과를 도시한 것이다.
[도 2]는 본 발명에 따른 복셀 사이 위치 관계를 보여주는 설명도이다.
[도 3]은 62개 제거템플릿을 한번에 적용(완전 병렬 3D 세선화 알고리즘을 적용)하는 3D 모델 골격 추출 방법을 사용하였을 경우 피라미드 구조인 복셀 집합을 세선화 할 때 골격이 추출되지 않는 현상을 예시한 설명도이다.
[도 4]는 본 발명이 제공하는 부분 병렬 3D 세선화 알고리즘을 적용한 만타가오리 날개 일부 3D 모델의 세선화 결과를 도시한 것이다.
[도 5]는 종래의 세선화 과정에 의해 3D 모델의 골격이 분리되는 예를 도시한 것이다.
[도 6]은 3D 모델의 골격이 분리된 또 다른 예를 도시한 것이다.
[도 7]은 (a)아르마딜로, (b)센타우르스, (c)만타가오리의 3D 모델을 나타낸 것이다.
[도 8]은 (a)사람, (b)개미, (c)의자, (d)플라밍고, (e)사자, (f)낙타의 3D모델을 나타낸 것이다.
[도 9]는 본 발명을 적용하여 [도 8]의 3D 모델에서 골격을 추출한 결과를 나타낸 것이다.
본 발명은 3D 모델의 골격 추출 방법에 관한 것으로서, 3D 모델을 복셀(Voxel)로 변환시키는 (A)단계 및 복셀화된 3D 모델에 대한 세선화(thinning) 작업의 반복으로 골격을 추출하는 (B)단계 및 추출된 골격을 단일 굵기로 수정하는 (C)단계를 포함하여 구성된다. 이하에서 설명하는 본 발명의 전 과정은 컴퓨터 프로그램에 의해 수행된다.
본 발명은 [발명의 배경이 되는 기술] 부분에 서술한 주 21(Wang, T.; Basu, A. A note on ‘A fully parallel 3D thinning algorithm and its applications’. Pattern Recognit. Lett. 2007, 28, 501-506.)의 완전 병렬 3D 세선화 알고리즘(A fully parallel 3D thinning algorithm)의 네 가지 유형의 제거템플릿(클래스 A, B, C 및 D)을 이용한다.
그러나, 상기 완전 병렬 3D 세선화 알고리즘의 제거템플릿에 의해 추출된 골격은 골격의 연결이 끊어질 수 있고, 이렇게 끊어진 부분이 포함된 골격은 3D 모델 식별의 정밀도를 떨어뜨리는 원인이 되므로 저작권이 있는 3D 모델의 불법적인 배포를 효율적으로 방어하기 어렵다.
본 발명은 상기 완전 병렬 3D 세선화 알고리즘과는 별도로 개발된 복구템플릿이 적용된 3D 골격 보정 알고리즘을 추가 적용하고, 상기 완전 병렬 3D 세선화 알고리즘을 개선한 부분 병렬 간헐 알고리즘을 적용하는 등의 방법으로 하자 없는 3D 모델의 골격을 추출하고, 추출된 골격을 단일 굵기로 수정하여 노이즈를 제거하는 과정을 함께 적용하여 골격 기반 3D 모델 식별의 정밀도를 향상시킨 것이다.
이하에서는 첨부된 도면과 함께 본 발명을 단계별로 상세히 설명한다.
1. (A)단계
본 발명의 (A)단계는 3D 모델을 복셀(Voxel)로 변환시키는 단계이다.
3D 모델의 복셀화 과정은 Patil(Patil, S.; Ravi, B. Voxel-based representation, display and thickness analysis of intricate shapes. In Proceedings of the International Conference on CAD and CG, Hong Kong, China, 7-10 December 2005; pp. 415-422.)의 제시 방법과 같이 3D 모델이 포함된 공간을 0과 1로 표현되는 3D-2진 배열로 나타낸다. 상기 3D-2진 배열에서 이진값 1은 복셀을 의미하는 것이고, 이진값 0은 복셀이 없음을 의미한다.
[도 2]는 3D 모델의 복셀(voxel) 사이 위치 관계를 나타내는 설명도이다. [도 2]는 하나의 복셀 p를 중심으로 3×3×3 공간 영역의 이웃 복셀들을 나타낸 것인데, e, w, s, n는 동, 서, 남, 북을 의미하고, u, d는 위, 아래를 의미한다.
두 복셀 p1 및 p2의 좌표를 (x1, y1, z1) 및 (x2, y2, z2)라고 하면 두 복셀 간 거리(d)는 유클리드 거리 공식에 따라 다음과 같이 나타낼 수 있다.
Figure 112017013224576-pat00003
[도 2]를 참고해 보면, 가장 인접한 복셀 간 거리(d)를 1이라 할 경우, 복셀 p에서 가장 가까운 복셀은 e(p),w(p),s(p),n(p),u(p),d(p)로 총 6개이다.
p와 nu(p), ne(p), nd(p), nw(p), eu(p), ed(p), su(p), se(p), sd(p), sw(p), wu(p), wd(p)간의 거리(d)는
Figure 112017013224576-pat00004
이다. 즉, 임의의 한 복셀을 기준으로 복셀 간 거리(d)가 1인 복셀은 6개, 거리(d)가
Figure 112017013224576-pat00005
이하인 복셀은 18개이다. 마찬가지 방식으로, 거리(d)가
Figure 112017013224576-pat00006
이하인 복셀을 산정하면 26개이다.
이하에서는
Figure 112017013224576-pat00007
인 p1 및 p2는 6-adjacent,
Figure 112017013224576-pat00008
인 p1 및 p2는 18-adjacent,
Figure 112017013224576-pat00009
인 p1 및 p2는 26-adjacent라 정의한다.
2. (B)단계
본 발명의 (B)단계는 복셀화된 3D 모델을 세선화(thinning)시켜 골격을 추출하는 단계이다. 본 (B)단계는 상기 3D 모델의 표면층부터 복셀별로 하기 제1,2조건이 모두 충족되는 복셀을 삭제하는 세선화 작업을, 더 이상 제거할 복셀이 없을 때까지 반복하는 과정으로 진행된다.
상기 제1조건은 "완전 병렬 3D 세선화 알고리즘의 제거템플릿 중 어느 하나에 라도 일치될 것"으로서, 상기 완전 병렬 3D 세선화 알고리즘에서는 클래스 A 내지 D로 분류되는 62개 제거템플릿이 적용된다. 클래스 A 내지 D의 제거템플릿은 다음과 같다.
① 클래스 A
Figure 112017013224576-pat00010
상기 클래스 A의 제거템플릿에서 까만원(●)은 해당 지점에 복셀이 있음을, 흰원(○)은 해당 지점에 복셀이 없음을 나타내는 것이고, 아무런 기호가 표시되어 있지 않은 지점은 복셀 존재 여부에 관심이 없는 영역(복셀이 있으나 없으나 상관없는 영역)임을 나타내는 것이다(이하 클래스 B 내지 D 제거템플릿도 동일함).
② 클래스 B
Figure 112017013224576-pat00011

③ 클래스 C
Figure 112017013224576-pat00012

④ 클래스 D
Figure 112017013224576-pat00013
상기 클래스 D의 각 제거템플릿에서, 흰사각형(□)은 상기 흰사각형이 표시된 지점 중에서 적어도 하나에는 복셀이 있음을, 흰삼각형(△)은 상기 흰삼각형이 표시된 지점의 하나 또는 전부에 복셀이 없음을 의미하는 것이다.
상기 (A)단계를 거쳐 복셀화된 3D 모델의 임의의 한 복셀(p)을 중심으로, 3×3×3 공간 모듈 내의 복셀 배치 상태가 상기 클래스 A의 6가지 제거템플릿(a1 내지 a6), 상기 클래스 B의 12가지 제거템플릿(b1 내지 b12), 상기 클래스 C의 8가지 제거템플릿(c1 내지 c8), 상기 클래스 D의 36가지 제거템플릿(d1-1,2,3 내지 d12-1,2,3) 중 어느 하나와 일치하면 해당 복셀(p)를 제거 후보로 삼아 아래의 제2조건에 부합되는지 여부를 판단한다(총 62개 제거템플릿 중 어느 하나라도 매칭되는 복셀을 제거 후보로 설정함).
상기 제2조건은 "논테일(Non-Tail) 복셀일 것"이다. 상기 "논테일 복셀"은 "테엘(Tail) 복셀이 아닌 것"을 의미하며, 상기 "테일 복셀"은 아래와 같이 정의되는 "라인엔드(Line-End) 복셀" 및 "니어라인엔드(Near-Line-End) 복셀"을 포함하는 것이다.
① 라인엔드(Line-End) 복셀 : 복셀 간의 단위거리를 1이라 할 때, 기준 복셀에서
Figure 112017013224576-pat00014
이하 거리의 복셀이 한 개 있는 경우 상기 기준 복셀을 라인엔드 복셀이라 함(한 복셀 p가 오직 다른 한 복셀과 26-adjacent 관계)
② 니어라인엔드(Near-Line-End) 복셀 : 복셀 간의 단위거리를 1이라 할 때, 기준 복셀에서
Figure 112017013224576-pat00015
이하 거리의 복셀이 두 개 있는 경우 상기 기준 복셀을 라인엔드 복셀이라 함(한 복셀 p가 오직 다른 두 복셀과 26-adjacent 관계)
한편, 본 발명에서는 상기 제1조건 적용 시, 클래스 A 내지 D의 제거템플릿을 대칭성에 따라 각각 1·2그룹으로 분류하여, 홀수 순번 세선화 작업시에는 상기 1그룹 제거템플릿을 적용하고, 짝수 순번 세선화 작업시에는 상기 2그룹 제거템플릿을 적용토록 할 수 있다.
상기 제1조건을 그대로 적용하여 세선화 작업을 진행하는 경우에는 피라미드 구조와 같은 3D 모델의 세선화에 약점이 있기 때문이다. [도 3]은 기존의 3D 모델 골격 추출 방법을 사용하였을 경우 피라미드 구조인 복셀 집합을 세선화 할 때 골격이 추출되지 않는 현상을 예시한 설명도이다.
[도 3]의 (a)는 만타가오리 날개의 일부에 대한 3D 모델의 복셀 집합이다. 이러한 구조의 3D 모델 각 층의 표면 복셀은 논테일(Non-Tail) 복셀이며, 상기 A 내지 클래스 D 제거템플릿 중 어느 하나와 매칭된다. [도 3]의 (b)는 상기 제1,2조건(제1조건에서 62개 제거템플릿을 한번에 적용)에 따라 표면층에서부터 레이어별 세선화 과정을 8회 반복한 결과를 보여준다. [도 3]의 (b) 상태에서 9 번째 세선화를 진행시키면 모든 복셀이 제거되면서, 3D 모델의 골격은 추출되지 않는다.
이러한 문제 해결을 위해 본 발명에서는 전술한 바와 같이 클래스 A 내지 D의 제거템플릿을 대칭성(좌우대칭 또는 전후대칭 또는 상하대칭)에 따라 1·2그룹으로 분류한다.
상기 클래스 A에서는 제거템플릿 a1과 a2, a3과 a4, a5와 a6이 각각 짝을 지어 대칭을 이룬다. 이에 상기 제거템플릿 a1, a3 및 a5가 1그룹을 이루고, a2, a4 및 a6가 2그룹을 이룬다.
마찬가지 방식으로 상기 클래스 B에서는 제거템플릿 b1, b3, b5, b7, b9 및 b11은 1그룹에 할당되고, 나머지 제거템플릿은 2그룹에 할당된다.
클래스 C에서는 제거템플릿 c1, c3, c5 및 c7이 1그룹에 할당되고 나머지 제거템플릿은 2그룹에 할당된다.
클래스 D에서는 제거템플릿 d1, d3, d5, d7, d9 및 d11은 1그룹에 할당되고 나머지 제거템플릿은 2그룹에 할당된다.
상기 1그룹 제거템플릿은 홀수 순번 세선화 작업시에 적용하고, 상기 2그룹 제거템플릿은 짝수 순번 세선화 작업시에 적용한다.
이러한 방법은 전술한 "완전 병렬 3D 세선화 알고리즘"과 대비하여 "부분 병렬 3D 세선화 알고리즘"으로 칭할 수 있다.
[도 4]는 [도 3]의 (a)에 도시된 만타가오리 날개 일부 3D 모델에 대해 부분 병렬 3D 세선화 알고리즘을 적용한 세선화 결과를 도시한 것이다. [도 4]의 (a)는 세선화 작업을 10회 반복한 결과이고, [도 4]의 (b)는 세선화 작업을 20회 반복한 결과이며, 세선화 작업을 더 반복하여도 [도 4]의 (b)에 나타난 골격은 제거되지 않는다.
즉, 상기 제1조건에 전술한 부분 병렬 3D 세선화 알고리즘을 적용하는 경우 피라미드 구조의 3D 모델에서 골격을 추출하는 작업에도 문제가 없게 된다.
또한, 본 발명은 상기 3D 모델의 표면층부터 복셀별로 하기 상기 제1,2조건이 모두 충족되는 복셀을 삭제하되, 삭제된 복셀에 대해 복구템플릿을 적용하여 조건에 부합할 때 복구하는 작업을 함께 진행하도록 구성할 수 있다. 상기 복구템플릿을 통해 제거된 복셀을 복구하여 절단된 3D 모델의 골격을 연결하는 것이다.
즉, 본 발명에서는 3D 모델의 복셀마다 상기 제1,2조건에 따라 삭제 여부를 검토하고, 이에 따라 복셀이 삭제된 경우 복구템플릿을 적용하여 삭제된 복셀의 복구 여부를 검토하는 과정을 표면층에서 부터 반복 실시하여 더 이상 제거할 복셀이 없을 때까지 반복하는 것이다.
상기 복구템플릿으로 하기 클래스 E의 복구템플릿 e1, e2, e3를 적용하는 경우와, 상기 클래스 E 적용 후 하기 클래스 F의 복구템플릿 f1, f2, f3를 추가로 적용하는 경우를 나누어 설명할 수 있다. 클래스 E 및 클래스 F의 복구템플릿은 아래와 같다.
① 클래스 E
Figure 112017013224576-pat00016
상기 클래스 E의 복구템플릿에서 흰원(○)은 해당 지점에 복셀이 없음을 나타내는 것이고, 흰사각형(□)은 상기 흰사각형이 표시된 지점 중에서 적어도 하나에는 복셀이 있음을, 검정사각형(■)은 상기 검정사각형이 표시된 지점 중에서 적어도 하나에는 복셀이 있음을 나타내는 것이다(아래 클래스 F의 복구템플릿도 동일).
② 클래스 F
Figure 112017013224576-pat00017
상기 클래스 F의 복구템플릿에서 검정삼각형(▲)은 상기 검정삼각형이 표시된 지점 중에서 적어도 하나에는 복셀이 있음을 나타내는 것이다.
전술한 바와 같이 종래의 3D 모델의 세선화 과정을 통해 추출된 골격은 연결성이 확보되지 않는 경우가 많았다.
[도 5]는 종래의 세선화 과정에 의해 3D 모델의 골격이 분리되는 예를 도시한 것이다.
[도 5]에서 복셀 p1은 D 클래스의 d7-2 제거템플릿과 매칭되고(제1조건 충족), 26-adjacent 관계에 있는 복셀이 6개(p2, p3, q1, q2, q3 및 q4) 있는 논테일 복셀(제2조건 충족)이므로 제거된다. 복셀 p2는 클래스 A의 제거템플릿 a5와 매칭(제1조건 충족)되고, 26-adjacent 관계에 있는 복셀이 5개(p1, p3, q2, q3 및 q4) 있는 논테일 복셀(제2조건 충족)이므로 제거된다. 복셀 p3는 클래스 D의 제거템플릿 d9-3와 매칭되고(제1조건 충족), 26-adjacent 관계에 있는 복셀이 4개(p1, p2, q2 및 q3) 있는 논테일 복셀(제2조건 충족)이므로 이 역시 제거된다. [도 5]에서 복셀 p1, p2 및 p3가 제거되면, 나머지 복셀은 분리된다.
본 발명은 위와 같은 문제를 해결하여 추출된 3D 모델 골격의 연결성을 확보하기 위해 복셀 단절을 검사하고 보정하기 위해 위의 클래스 E에 속하는 3가지 복구템플릿(e1, e2, e3) 및 클래스 F에 속하는 3가지 복구템플릿(f1, f2, f3)을 제공하는 것이다.
상기 클래스 E의 복구템플릿은 복셀 간의 거리가 2 이상인지 여부를 확인함으로써 복셀의 연결성을 검사하기 위한 것이다.
[도 5]의 경우, 복셀 p1, p2 및 p3가 마지막으로 제거된 후 복셀 q1, q2, q3 및 q4가 복구템플릿 e3을 만족하는지 여부를 검사함으로써 제거 된 복셀을 복구하여 단절된 골격을 연결할 수 있다.
[도 6]은 3D 모델의 골격이 분리된 또 다른 예를 도시한 것이다. [도 6]의 경우는 복셀 p가 제거템플릿 d11-1에 매칭되어 제거 된 상태이다. 이 경우 나머지 복셀은 두 부분으로 분리되며, 제거된 복셀 p는 상기 클래스 E의 복구템플릿에 매칭되지 않는다. 이에 따라 본 발명에서는 상기 클래스 F의 세 가지 복구템플릿(f1, f2, f3)을 추가하여 처리한다.
즉, 본 (B)단계에서는 상기 제1,2조건에 따라 삭제된 복셀마다 복구템플릿 e1, e2, e3 중 어느 하나에 라도 일치하는 것을 복구하는 작업을 수행하여, 절단된 골격을 연결시킬 수 있다.
또한, 삭제된 복셀이 상기 복구템플릿 e1, e2, e3 모두와 일치되지 않는 경우에는 상기 복구템플릿 f1, f2, f3 중 어느 하나에 라도 일치하는 것을 복구하는 작업을 더 수행하여, 절단된 골격을 연결시킬 수 있다.
3. (C)단계
본 발명의 (C)단계는 추출된 골격을 단일 굵기로 수정하는 단위 폭 골격(unit-width Skeleton) 추출 단계이다.
상기 (A)단계 및 (B)단계 실시 후 단위 폭 골격(unit-width Skeleton) 즉, 일정 굵기의 골격을 얻기 위해서는 VDSM(Valence Driven Spatial Median) 알고리즘을 사용하여 혼잡 한 복셀을 제거하고 1개의 복셀 폭으로 이루어진 골격을 추출할 수 있다. 상기 VDSM 알고리즘에 대해서는 Tao Wang 논문(Wang, T.; Cheng, I. Generation of Unit-Width Curve Skeletons Based on Valence Driven Spatial Median (VDSM). In Proceedings of the International Symposium (ISVC), Las Vegas, NV, USA, 1?3 December 2008; pp. 1051-1060.)에 상세히 설명되어 있다.
상기 VDSM 알고리즘은 골격에서 각 복셀의 26-adjacent 복셀 수를 세어 D(p)로 나타낸다.
D(p)=1이면, 해당 복셀은 말단 복셀(End Voxel)이라 칭한다. D(p)=2인 복셀은 중간 복셀(Midle Voxel)이라 칭한다.
D(p)=n(n>2)이고, 26-adjacent 복셀이 중간 복셀 또는 말단 복셀인 경우, 해당 복셀은 연결 복셀(Joint Voxel)이라 칭한다.
복셀이 상기 연결 복셀, 중간 복셀, 말단 복셀 중 어느 것도 아닌 경우, 그 복셀은 혼잡 복셀(Crowded Voxel)이라 칭한다.
26-adjacent 관계상의 혼잡 복셀의 집합을 혼잡 영역(Crowded Region; CR)이라 칭한다. 상기 혼잡 영역이 없는 골격이 곧 단위 폭 골격(unit-width Skeleton)이다.
혼잡 영역의 한 복셀과 26-adjacent 관계에 있는 말단 복셀 또는 중간 복셀을 출구(exit)라 칭한다.
VDSM 알고리즘은 모든 말단 복셀, 중간 복셀, 연결 복셀 및 혼잡 복셀을 표시하고, 각 혼잡 영역의 중심점을 찾는다. n개의 혼잡 복셀로 이루어진 혼잡 영역(CR)은 {cv1, cv2,…,cvn}으로 표시한다.
혼잡 영역의 중심점(c)은 다음과 같이 계산된다.
Figure 112017013224576-pat00018

혼잡 영역의 중심점(c)을 도출하면, 상기 중심점과 모든 출구(exit)를 연결하는 최단 경로를 찾고, 상기 최단 경로 외부의 혼잡 복셀을 모두 제거하여 단위 폭 골격을 추출한다. 상기 최단 경로를 찾는데에는 디익스트라(Dijkstra) 알고리즘을 적용할 수 있다(Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269-271.)
이하에서는, 동일한 3D 모델에 대해 종래의 여러 가지 방법을 통해 추출된 골격과 본 발명의 적용을 통해 추출된 골격을 비교한다.
비교 대상이 되는 종래의 방법은 다음의 다섯 가지이다.
(1) FMM : fast marching method
(2) MSA : 3D medial surface and axis
(3) MTTAC : modified the templates and added two additional criteria
(4) FPT : fully parallel thinning algorithm
(5) CCMP : cell complexes and medial persistence
아래의 [표 1] 내지 [표 6]은 위의 비교 대상 방법과 본 발명이 제공하는 방법을 적용하여 추출된 골격을 정리하여 보여준다.
FMM
아르마딜로
Figure 112017013224576-pat00019
켄타우르스
Figure 112017013224576-pat00020
만타가오리
Figure 112017013224576-pat00021
상기 FMM에 의해 도출된 골격에는 아르마딜로의 꼬리, 켄타우로스의 머리 및 만타 가오리의 날개 골격이 추출되지 않았다.
MSA
아르마딜로
Figure 112017013224576-pat00022
켄타우르스
Figure 112017013224576-pat00023
만타가오리
Figure 112017013224576-pat00024
상기 MSA에 의해 도출된 골격에는 아르마딜로와 켄타우루스 머리 골격에 가(假) 분기가 나타났고, 특히 만타 가오리 골격에서 불필요한 많은 가지 골격이 나타났다.
MTTAC
아르마딜로
Figure 112017013224576-pat00025
켄타우르스
Figure 112017013224576-pat00026
만타가오리
Figure 112017013224576-pat00027
상기 MTTAC에 의해 도출된 골격은 너무 많은 복셀이 제거되어 골격이 분산된 상태로 나타났다.
FPT
아르마딜로
Figure 112017013224576-pat00028
켄타우르스
Figure 112017013224576-pat00029
만타가오리
Figure 112017013224576-pat00030
상기 FPT에 의해 추출된 골격은 아르마딜로 머리와 켄타우로스 꼬리의 골격 연결이 끊어지고 만타가오리 모델의 날개의 날개는 추출되지 않았다.
구분 CCMP
low MP score high MP score
아르마딜로
Figure 112017013224576-pat00031
Figure 112017013224576-pat00032
켄타우르스
Figure 112017013224576-pat00033
Figure 112017013224576-pat00034
만타가오리
Figure 112017013224576-pat00035
Figure 112017013224576-pat00036
상기 CCMP를 적용할 때, MP 값을 낮게 설정한 상태에서는 각 골격에 노이즈가 포함되어 나타나고, MP 값을 높게 설정한 상태에서는 아르마딜로와 센타우르스 머리 골격이 분리되고, 만타가오리 모델에서는 추출되는 골격이 거의 없게 된다.
본 발명
아르마딜로
Figure 112017013224576-pat00037
켄타우르스
Figure 112017013224576-pat00038
만타가오리
Figure 112017013224576-pat00039
본 발명에 따라 부분 병렬 3D 세선화 알고리즘 및 복구템플릿이 적용된 경우, 상기 [표 6]에 나타난 바와 같이 원본 3D 모델의 특징이 정확히 나타나고, 끊어진 부분이 없는 골격이 추출되었다.
또한, 본 발명을 [도 8]과 같은 여러 가지 3D 모델((a)사람, (b)개미, (c)의자, (d)플라밍고, (e)사자, (f)낙타)에 적용한 경우, [도 9]와 같은 골격이 추출되었다.
[도 9]에서는 (d)플라밍고 골격을 제외한 나머지의 골격이 연결성을 유지하는 것으로 나타났다. 플라밍고 모델은 얇은 물갈퀴 발로 인해 복셀화 과정 중에 정확한 지점에 복셀을 균일하게 생성할 수 없었기 때문이며, 세선화 과정의 문제는 아닌 것으로 검토되었다.
본 발명은 위에서 언급한 바와 같이 첨부된 도면과 관련하여 설명되었으나, 본 발명의 요지를 벗어남이 없는 범위 내에서 다양한 수정 및 변형이 가능하며, 다양한 분야에서 사용 가능하다. 따라서 본 발명의 청구범위는 이건 발명의 진정한 범위 내에 속하는 수정 및 변형을 포함한다.
해당없음

Claims (5)

  1. (A) 3D 모델을 복셀(Voxel)의 집합으로 변환시키는 단계;
    (B) 복셀의 집합으로 변환된 상기 3D 모델의 표면층부터 복셀별로, 하기 제1,2조건이 모두 충족되는 복셀을 삭제하는 세선화(thinning) 작업을 더 이상 제거할 복셀이 없을 때까지 반복하는 골격 추출 단계;
    (1) 제1조건 : 완전 병렬 3D 세선화 알고리즘의 제거템플릿 중 어느 하나에 라도 일치될 것
    (2) 제2조건 : 논테일(Non-Tail) 복셀일 것
    (C) 추출된 골격을 단일 굵기로 수정하는 단위 폭 골격(unit-width Skeleton) 추출 단계; 를 포함하고,
    상기 (B)단계는 삭제된 복셀마다 하기 복구템플릿 e1, e2, e3 중 어느 하나에 라도 일치하는 것을 복구하는 작업을 수행하여, 절단된 골격을 연결하는 것을 특징으로 하는 3D 모델의 골격 추출 방법.
    Figure 112017119007628-pat00051

  2. 제1항에서,
    상기 (B)단계의 제1조건 적용 시, 클래스 A 내지 D의 제거템플릿을 대칭성에 따라 각각 1·2그룹으로 분류하여, 홀수 순번 세선화 작업시에는 상기 1그룹 제거템플릿을 적용하고, 짝수 순번 세선화 작업시에는 상기 2그룹 제거템플릿을 적용하는 것을 특징으로 하는 3D 모델의 골격 추출 방법.
  3. 제1항에서,
    상기 (C)단계는 VDSM 알고리즘을 적용하여 혼잡 복셀(crowed voxel)을 제거하여 단위 폭 골격을 추출하는 것을 특징으로 하는 3D 모델의 골격 추출 방법.
  4. 삭제
  5. 제1항에서,
    상기 (B)단계는 삭제된 복셀이 상기 복구템플릿 e1, e2, e3 모두와 일치되지 않는 경우, 하기 복구템플릿 f1, f2, f3 중 어느 하나에 라도 일치하는 것을 복구하는 작업을 더 수행하여, 절단된 골격을 연결하는 것을 특징으로 하는 3D 모델의 골격 추출 방법.
    Figure 112017119007628-pat00041
KR1020170017581A 2017-02-08 2017-02-08 3d 모델 골격 추출 방법 및 장치 KR101814728B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170017581A KR101814728B1 (ko) 2017-02-08 2017-02-08 3d 모델 골격 추출 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170017581A KR101814728B1 (ko) 2017-02-08 2017-02-08 3d 모델 골격 추출 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101814728B1 true KR101814728B1 (ko) 2018-01-04

Family

ID=60997841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170017581A KR101814728B1 (ko) 2017-02-08 2017-02-08 3d 모델 골격 추출 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101814728B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934928A (zh) * 2019-03-18 2019-06-25 江西博微新技术有限公司 基于骨架化的三维模型简化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011945A2 (en) 2004-06-24 2006-02-02 Visiongate, Inc. Method for correction of relative object-detector motion between successive views
US20120129276A1 (en) 2010-01-08 2012-05-24 International Business Machines Corporation 4D Process and Structure
US20130258062A1 (en) 2012-03-29 2013-10-03 Korea Advanced Institute Of Science And Technology Method and apparatus for generating 3d stereoscopic image
WO2015080670A1 (en) 2013-11-30 2015-06-04 Agency For Science, Technology And Research Novel ultrashort hydrophobic peptides that self-assemble into nanofibrous hydrogels and their uses
WO2016024897A1 (en) 2014-08-15 2016-02-18 Babota, Balance Body Tape Ab A method and a system for producing a tape for correction of a motion pattern

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011945A2 (en) 2004-06-24 2006-02-02 Visiongate, Inc. Method for correction of relative object-detector motion between successive views
US20120129276A1 (en) 2010-01-08 2012-05-24 International Business Machines Corporation 4D Process and Structure
US20130258062A1 (en) 2012-03-29 2013-10-03 Korea Advanced Institute Of Science And Technology Method and apparatus for generating 3d stereoscopic image
WO2015080670A1 (en) 2013-11-30 2015-06-04 Agency For Science, Technology And Research Novel ultrashort hydrophobic peptides that self-assemble into nanofibrous hydrogels and their uses
WO2016024897A1 (en) 2014-08-15 2016-02-18 Babota, Balance Body Tape Ab A method and a system for producing a tape for correction of a motion pattern

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
An improved fully parallel 3D thinning algorithm, Department of Computing Science; University of Alberta(2005)*
Generation of Unit-Width Curve Skeletons Based on Valence Driven Spatial Median, Proceedings of the 4th International Symposium on Advances in Visual Computing(2008.11.)*
Topology preserving parallel 3D thinning algorithms, Digital Geometry Algorithms. Springer Netherlands(2012)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934928A (zh) * 2019-03-18 2019-06-25 江西博微新技术有限公司 基于骨架化的三维模型简化方法

Similar Documents

Publication Publication Date Title
Xie et al. A topology-preserving parallel 3D thinning algorithm for extracting the curve skeleton
Furukawa et al. Carved visual hulls for image-based modeling
US8687895B2 (en) Image processing apparatus, image processing method, and computer-readable medium
TW201335588A (zh) 用於在檢查圖像內分類的系統、方法以及電腦程式產品
CN101226594B (zh) 图案分离提取装置和图案分离提取方法
CN105528614A (zh) 一种漫画图像版面的识别方法和自动识别系统
CN110363774B (zh) 图像分割方法、装置、计算机设备和存储介质
CN112396643A (zh) 一种尺度不变特征与几何特征融合的多模态高分影像配准方法
Zhou et al. Point cloud denoising using non-local collaborative projections
Zhang et al. A line scan camera-based structure from motion for high-resolution 3D reconstruction
US9864898B2 (en) Feature point input assisting device, feature point input assisting method, and storage medium stored with program
Xiao et al. An improved 3D shape context based non-rigid registration method and its application to small animal skeletons registration
CN113221869A (zh) 医疗发票结构化信息提取方法、装置设备及存储介质
CN116051575A (zh) 图像分割方法、装置、计算机设备、存储介质程序产品
KR101814728B1 (ko) 3d 모델 골격 추출 방법 및 장치
CN108805022A (zh) 一种基于多尺度centrist特征的遥感场景分类方法
Kustra et al. Robust segmentation of multiple intersecting manifolds from unoriented noisy point clouds
Liu et al. Real3d-ad: A dataset of point cloud anomaly detection
Lasser et al. NET: a new framework for the vectorization and examination of network data
CN112364863B (zh) 证照文档的文字定位方法及系统
Qu et al. An algorithm of image mosaic based on binary tree and eliminating distortion error
JP2007293829A (ja) 画像処理方法及び画像処理装置
Kang et al. Fast object recognition using dynamic programming from combination of salient line groups
CN106909720B (zh) 一种有限元节点坐标快速提取方法
JP2007133874A (ja) イメージオブジェクト用の多角形境界定義を生成するための方法およびシステム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant