KR102140594B1 - 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템 - Google Patents

프리미티브 기반의 3차원 자동 스캔 방법 및 시스템 Download PDF

Info

Publication number
KR102140594B1
KR102140594B1 KR1020190041590A KR20190041590A KR102140594B1 KR 102140594 B1 KR102140594 B1 KR 102140594B1 KR 1020190041590 A KR1020190041590 A KR 1020190041590A KR 20190041590 A KR20190041590 A KR 20190041590A KR 102140594 B1 KR102140594 B1 KR 102140594B1
Authority
KR
South Korea
Prior art keywords
primitive
model
estimated
reliability
scan
Prior art date
Application number
KR1020190041590A
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 KR1020190041590A priority Critical patent/KR102140594B1/ko
Priority to CN202010006404.7A priority patent/CN111798569A/zh
Priority to US16/794,223 priority patent/US11519714B2/en
Application granted granted Critical
Publication of KR102140594B1 publication Critical patent/KR102140594B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • 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
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/20Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring contours or curvatures, e.g. determining profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B26/00Optical devices or arrangements for the control of light using movable or deformable optical elements
    • G02B26/08Optical devices or arrangements for the control of light using movable or deformable optical elements for controlling the direction of light
    • G02B26/10Scanning systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

프리미티브 기반의 3차원 자동 스캔 방법 및 시스템에 관한 것으로서, 대상물의 3차원 스캔 데이터로부터 대상물의 3차원 모델을 추정하고, 적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 3차원 모델의 형상을 인식하고, 형상 인식에 이용된 적어도 하나의 프리미티브와 3차원 모델의 형상간의 유사도에 기초하여 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하는고, 표면점들 각각의 신뢰도에 기초하여 결정된 일련의 뷰(view)에서 대상물을 스캔함으로써 대상물의 3차원 스캔의 정확도를 향상시키면서도 스캔에 소요되는 시간을 줄일 수 있다.

Description

프리미티브 기반의 3차원 자동 스캔 방법 및 시스템 {Method and system for 3-dimensional automatic scan based primitive}
대상물에 대한 3차원 스캔을 신뢰도가 충족될 때까지 자동으로 반복 실시하는 3차원 자동 스캔 방법 및 시스템에 관한 것이다.
3차원 스캐너란 이미지센서를 이용하여 대상물의 3차원 형상을 나타내는 3차원 모델을 생성하는 장치를 말한다. 3차원 스캐닝 방식은 사람이 스캐너를 들고 그 위치를 조정하면서 대상물의 여러 부위를 스캔하는 수동 방식과 로봇 등에 의해 스캐너나 대상물의 위치가 자동으로 조정되면서 대상물의 여러 부위를 스캔하는 자동 방식으로 나뉜다. 수동 방식은 사람이 임의로 판단하여 스캐너의 위치를 설정함에 따라 스캔 데이터의 정확도가 낮고 불필요한 스캔 반복이 많다는 문제가 있었다.
자동 방식은 수동 방식의 문제를 어느 정도 해결할 수 있으나 미리 정해진 위치나 경로에 따라 스캐너 또는 대상물의 위치를 조정하면서 대상물에 대한 스캔을 반복함에 따라 대상물의 형상에 따라 스캔 데이터의 정확도 편차가 매우 심하다는 문제가 있었다. 이에 따라, 종래의 자동 방식 대부분은 공장에서 대량 생산한 제품을 검사하는 경우와 같이 스캔 대상의 대상물이 한정되어 있을 경우, 이에 맞게 스캔 위치들을 미리 결정하여 대상물을 검사하는 용도로만 사용되었다.
최근의 자동 방식은 임의의 대상물의 스캔을 위한 스캐너의 이동 경로를 수학적인 계산을 통하여 산출해 내려는 시도가 있었다. 이 방식은 대상물의 스캔된 형상에 대한 곡면의 완성도로부터 스캐너의 이동 경로를 산출함에 따라 기계부품 등 다수의 평면을 포함하고 급격하게 형상이 변하는 부분이 많은 대상물의 스캔에는 적합하지 않다는 문제가 있었다. 이 방식을 이용하여 다수의 평면을 포함하고 급격하게 형상이 변하는 부분이 많은 기계부품을 스캔하게 되면 3차원 스캔의 정확도가 매우 낮고, 스캐너가 급격하게 형상이 변하는 부분에 머물면서 스캔을 계속적으로 반복함으로 인해 스캔에 소요되는 시간이 매우 길다는 문제점이 있었다.
적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 대상물의 3차원 모델의 형상을 인식함으로써 3차원 스캔의 정확도를 향상시키면서도 스캔에 소요되는 시간을 줄일 수 있는 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템을 제공하는 데에 있다. 또한, 스캔이 물리적으로 불가능하거나 어려운 부분에 대해서도 3차원 모델의 정확도를 대폭 높일 수 있는 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템을 제공하는 데에 있다. 또한, 대상물의 표면 변화가 급격한 부분에 대해서 스캔이 계속적으로 반복되는 종래 스캔 기술의 문제를 해결할 수 있는 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템을 제공하는 데에 있다.
상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.
본 발명의 일 측면에 따른 3차원 자동 스캔 방법은 대상물의 3차원 스캔 데이터로부터 상기 대상물의 3차원 모델을 추정하는 단계; 적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 상기 추정된 3차원 모델의 형상을 인식하는 단계; 상기 형상 인식에 이용된 적어도 하나의 프리미티브와 상기 추정된 3차원 모델의 형상간의 유사도에 기초하여 상기 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하는 단계; 및 상기 표면점들 각각의 신뢰도에 기초하여 결정된 일련의 뷰(view)에서 상기 대상물을 스캔하는 단계를 포함한다.
상기 형상을 인식하는 단계는 상기 3차원 모델의 형상에 들어맞는(fitted) 적어도 하나의 프리미티브를 검출하고, 상기 검출된 적어도 하나의 프리미티브를 이용하여 상기 추정된 3차원 모델의 형상을 인식할 수 있다.
상기 형상을 인식하는 단계는 상기 3차원 모델의 표면 중 상기 3차원 스캔 데이터의 스캔점들이 존재하는 영역에서 상기 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출할 수 있다.
상기 3차원 자동 스캔 방법은 상기 검출된 적어도 하나의 프리미티브의 형상에 부합하도록 상기 3차원 모델을 수정하는 단계를 더 포함할 수 있다.
상기 신뢰도를 평가하는 단계는 상기 수정된 3차원 모델의 프리미티브 영역의 표면점들과 상기 추정된 3차원 모델의 표면점들간의 거리와 법선방향 차이에 기초하여 상기 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가할 수 있다.
상기 3차원 모델을 추정하는 단계는 상기 3차원 스캔 데이터에 대해 포아송 복원을 수행함으로서 상기 대상물의 3차원 모델을 추정하고, 상기 신뢰도를 평가하는 단계는 상기 수정된 3차원 모델의 프리미티브 영역의 등위점들과 상기 추정된 3차원 모델의 등위점들간의 거리와 법선방향 차이로부터 상기 추정된 3차원 모델의 각 등위점의 프리미티브 신뢰도를 산출하고, 상기 산출된 각 등위점의 프리미티브 신뢰도에 기초하여 상기 추정된 3차원 모델의 등위점들 각각에 대한 신뢰도를 평가할 수 있다.
상기 신뢰도를 평가하는 단계는 상기 추정된 3차원 모델의 각 등위점의 프리미티브 신뢰도를 산출하는 단계; 상기 추정된 3차원 모델의 각 등위점의 평활도 신뢰도를 산출하는 단계; 상기 추정된 3차원 모델의 각 등위점의 그래디언트 신뢰도를 산출하는 단계; 및 상기 산출된 각 등위점의 프리미티브 신뢰도, 상기 산출된 각 등위점의 평활도 신뢰도, 및 상기 산출된 각 등위점의 그래디언트 신뢰도로부터 상기 추정된 3차원 모델의 각 등위점의 최종 신뢰도를 산출하는 단계를 포함할 수 있다.
상기 3차원 자동 스캔 방법은 상기 검출된 각 프리미티브의 형상과 상기 각 프리미티브의 영역을 스캔할 때에 사용된 스캐너의 뷰프러스텀(view frustum)의 경계로부터 상기 각 프리미티브의 스캔되지 않은 부분을 예측하고, 상기 예측된 부분을 이용하여 상기 추정된 3차원 모델을 보완하는 단계를 더 포함할 수 있다.
상기 보완하는 단계는 상기 각 프리미티브의 스캔되지 않은 부분을 상기 뷰프러스텀의 경계 외측의 등위면 상에 투영(project)시키고, 상기 투영된 부분의 표면점들을 상기 각 프리미티브에 편입시킴으로써 상기 추정된 3차원 모델을 보완할 수 있다.
상기 3차원 자동 스캔 방법은 상기 추정된 3차원 모델의 표면점들간의 법선방향 유사도와 근접도를 기준으로 상기 검출된 각 프리미티브에 이웃하는 표면점들을 상기 각 프리미티브에 편입시킴으로써 상기 각 프리미티브의 영역을 확장하는 단계를 더 포함할 수 있다.
상기 3차원 자동 스캔 방법은 상기 추정된 3차원 모델의 등위면을 패치들로 분할하는 단계를 더 포함하고, 상기 각 프리미티브의 영역을 확장하는 단계는 상기 추정된 3차원 모델의 표면점들간의 법선방향 유사도와 근접도를 기준으로 상기 검출된 각 프리미티브에 이웃하는 패치들을 각 프리미티브에 편입시킴으로써 상기 각 프리미티브의 영역을 확장할 수 있다.
상기 3차원 자동 스캔 방법은 상기 형상 인식에 이용된 복수의 프리미티브간의 배치 구조로부터 스캔 회피 영역을 추정하고, 상기 표면점들 각각의 신뢰도와 상기 추정된 스캔 회피 영역에 기초하여 상기 일련의 뷰를 결정하는 단계를 더 포함할 수 있다.
상기 일련의 뷰를 결정하는 단계는 상기 복수의 프리미티브가 서로 맞닿아 있는가를 확인하고, 상기 서로 맞닿아 있는 복수의 프리미티브의 경계를 상기 스캔 회피 영역으로 추정할 수 있다.
상기 적어도 하나의 프리미티브는 평면, 원통, 원뿔, 구 및 토러스를 포함하는 여러 타입의 프리미티브 중에서 적어도 하나의 타입의 프리미티브에 해당할 수 있다.
본 발명의 다른 측면에 따라 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
본 발명의 또 다른 측면에 따른 3차원 자동 스캔 시스템은 대상물의 3차원 스캔 데이터로부터 상기 대상물의 3차원 모델을 추정하는 모델생성부; 적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 상기 추정된 3차원 모델의 형상을 인식하는 형상인식부; 상기 형상 인식에 이용된 적어도 하나의 프리미티브와 상기 추정된 3차원 모델의 형상간의 유사도에 기초하여 상기 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하는 스캔평가부; 및 상기 표면점들 각각의 신뢰도에 기초하여 결정된 일련의 뷰(view)에서 상기 대상물을 스캔하는 스캐너를 포함한다.
적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 대상물의 3차원 모델의 형상을 인식하고, 형상 인식에 이용된 적어도 하나의 프리미티브와 추정된 3차원 모델의 형상간의 유사도에 기초하여 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하고, 표면점들 각각의 신뢰도에 기초하여 결정된 일련의 뷰(view)에서 대상물을 스캔함으로써 대상물의 3차원 스캔의 정확도를 향상시키면서도 스캔에 소요되는 시간을 줄일 수 있다.
특히, 기계부품의 형상은 일반적으로 다수의 프리미티브의 조합으로 표현될 수 있기 때문에 기계부품에 대한 매우 정확한 스캔 데이터를 얻을 수 있을 뿐만 아니라 매우 높은 정확도의 스캔 데이터를 얻는 데 소요되는 시간이 대폭 줄어들게 된다. 3차원 스캔 결과물이 기계부품의 복제품을 제작하는 데에 사용될 경우, 복제품의 품질이 대폭 향상될 수 있고, 복제품 제조시간을 대폭 단축할 수 있다.
3차원 모델의 형상에 들어맞는(fitted) 적어도 하나의 프리미티브를 검출하고, 검출된 각 프리미티브의 형상과 각 프리미티브의 영역을 스캔할 때에 사용된 스캐너의 뷰프러스텀(view frustum)의 경계로부터 각 프리미티브의 스캔되지 않은 부분을 예측하고, 예측된 부분을 이용하여 3차원 모델을 보완함으로써 각 프리미티브의 스캔되지 않은 부분에 대한 스캔을 미리 차단할 수 있고, 그 결과 스캔의 반복 회수를 대폭 낮출 수 있다. 나아가, 각 프리미티브의 스캔되지 않은 부분이 좁은 틈 등, 스캔이 물리적으로 불가능하거나 어려운 부분인 경우에 3차원 모델의 정확도를 대폭 높일 수 있다.
3차원 모델의 표면점들간의 법선방향 유사도와 근접도를 기준으로 검출된 각 프리미티브에 이웃하는 표면점들을 각 프리미티브에 편입시킴으로써 각 프리미티브의 영역을 확장함으로써 어떤 프리미티브 주변에 있는 등위점들 중 그 프리미티브의 점일 가능성이 매우 높은 등위점을 미리 그 프리미티브의 점으로 설정할 수 있고, 결과적으로 스캔 반복 회수를 줄이고 3차원 모델의 정확도를 향상시킬 수 있다. 특히, 이러한 각 프리미티브의 영역 확장이 점 단위가 아닌, 패치 단위로 진행됨에 따라 대상물의 스캔 완료에 소요되는 시간이 대폭 감소될 수 있다.
3차원 모델의 형상 인식에 이용된 복수의 프리미티브간의 배치 구조로부터 스캔 회피 영역을 추정하고, 3차원 모델의 표면점들 각각의 신뢰도와 스캔 회피 영역에 기초하여 스캐너의 일련의 뷰를 결정함으로써 대상물의 표면 변화가 급격한 부분에 대해서 스캔이 계속적으로 반복되는 종래 스캔 기술의 문제를 해결 수 있다. 즉, 복수의 프리미티브의 경계, 예를 들어 상자의 모서리를 스캔 회피 영역으로 추정함으로써 더 이상의 스캔이 진행되지 않도록 함으로써 상자의 모서리에 대해 스캔이 계속적으로 반복되는 문제를 해결할 수 있다.
상기된 바와 같은 효과로 한정되지 않으며, 이하의 설명으로부터 또 다른 효과가 도출될 수도 있다.
도 1~2는 본 발명의 일 실시예에 따른 3차원 자동스캔시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 3차원 자동 스캔 방법의 흐름도이다.
도 4는 도 3에 도시된 3차원 자동 스캔 방법의 구체적인 일례를 도시한 도면이다.
도 5는 도 3에 도시된 3차원 자동 스캔 방법에 따른 대상물(100)의 3차원 모델의 단계적 변화를 도시한 도면이다.
도 6은 도 4에 도시된 43 단계에서의 프리미티브 검출 과정의 상세 흐름도이다.
도 7은 도 4에 도시된 44 단계에서의 3차원 모델의 수정 예시도이다.
도 8은 도 4에 도시된 45 단계의 상세 흐름도이다.
도 9는 도 3에 도시된 3차원 자동 스캔 방법의 다른 예를 도시한 도면이다.
도 10은 도 9에 도시된 94 단계에서의 프리미티브 투영 예를 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 이하에서 설명되는 본 발명의 실시예는 적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 대상물의 3차원 모델의 형상을 인식함으로써 3차원 스캔의 정확도를 향상시키면서도 스캔에 소요되는 시간을 줄일 수 있는 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템에 관한 것이다. 이하에서는 이러한 방법 및 시스템을 간략하게 "3차원 자동 스캔 방법" 및 "3차원 자동 스캔 시스템"으로 호칭할 수도 있다.
도 1~2는 본 발명의 일 실시예에 따른 3차원 자동스캔시스템의 구성도이다. 도 1~2를 참조하면, 본 실시예에 따른 3차원 자동스캔시스템은 턴테이블(1), 로봇암(2), 스캐너(3), 사용자인터페이스(4), 모델생성부(5), 형상인식부(6), 스캔평가부(7), 제어부(8), 및 스토리지(9)로 구성된다. 본 실시예에 따른 3차원 자동스캔시스템은 상술한 바와 같은 구성요소 외에 다른 구성요소를 더 포함할 수도 있다. 도 1에 도시된 바와 같이, 본 실시예에 따른 3차원 자동스캔시스템은 테이블(1)과 로봇암(2)이 설치되는 하우징을 더 포함할 수 있다. 모델생성부(5), 형상인식부(6), 스캔평가부(7), 제어부(8)는 특정 기능을 제공하는 하드웨어로 구현될 수도 있고, 특정 기능을 제공하는 소프트웨어가 기록된 메모리, 프로세서, 버스 등의 조합으로 구현될 수도 있다. 스토리지(9)는 메모리, 하드디스크 등으로 구현될 수 있다.
턴테이블(1)은 제어부(8)의 제어에 따라 그 위에 탑재된 대상물(100)을 회전시키는 역할을 한다. 로봇암(2)은 제어부(8)의 제어에 따라 그 말단에 장착된 스캐너(3)를 이동시키는 역할을 한다. 테이블(1)과 로봇암(2)은 스캐너(3)가 아래에 설명된 바와 같은 일련의 뷰(view)에서 대상물(100)을 스캔할 수 있도록 대상물(100)을 회전시키고 스캐너(3)를 이동시키는 역할을 한다. 턴테이블(1)과 로봇암(2)은 일례일 뿐이며, 다른 구조에 의해 스캐너(3)가 일련의 뷰에서 대상물(100)을 스캔할 수 있도록 할 수도 있다. 예를 들어, 스캐너(3)는 대상물(100)을 감싸는 구조의 3차원 레일(rail)에 의해 이동될 수도 있다.
스캐너(3)는 제어부(8)의 제어에 따른 일련의 뷰에서 대상물(100)을 스캔함으로써 대상물(100)의 3차원 스캔 데이터를 생성한다. 스캐너(3)는 일련의 뷰에 대응하는 여러 뷰프러스텀(view frustum)에서 대상물(100)의 여러 부분에 대한 3차원 스캔 데이터를 차례대로 생성함으로써 대상물(100)의 3차원 스캔 데이터를 생성한다. 3차원 스캔 데이터는 3차원 모델링 공간 내의 수많은 스캔점의 값들로 이루어진다. 각 스캔점(scanned point)의 값은 3차원 모델링 공간 내에서의 그것의 3차원 좌표와 컬러값 등으로 정의된다. 본 실시예에 따른 3차원 스캔 결과물이 3차원 프린터에 제공되어 대상물(100)의 복제품을 제작하는 데에 사용된 경우, 각 스캔점의 컬러값은 무의미하기 때문에 생략될 수도 있다.
사용자인터페이스(4)는 사용자로부터 어떤 명령, 정보 등을 입력받아 제어부(8)에 전달하거나 제어부(8)로부터 입력된 어떤 이미지 데이터를 디스플레이한다.
모델생성부(5)는 스캐너(3)로부터 스캐너(3)가 스캐닝 중인 대상물(100)의 3차원 스캔 데이터를 획득하고, 이와 같이 획득된 3차원 스캔 데이터로부터 스캐너(3)가 스캐닝 중인 대상물(100)의 3차원 모델을 추정함으로써 대상물(100)의 3차원 모델을 생성한다.
형상인식부(6)는 적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 모델생성부(5)에 의해 추정된 3차원 모델의 형상을 인식한다. 본 실시예의 프리미티브의 타입으로는 평면(plane), 원통(cylinder), 원뿔(cone), 구(sphere), 토러스(torus) 등을 들 수 있다. 3차원 모델의 형상 인식에 이용되는 적어도 하나의 프리미티브는 평면, 원통, 원뿔, 구 및 토러스를 포함하는 여러 타입의 프리미티브 중에서 적어도 하나의 타입의 프리미티브에 해당하게 된다. 평면은 법선방향(normal direction)과 한 점의 좌표로 정의될 수 있고, 원통은 중심축의 방향, 한 점의 좌표와 반지름으로 정의될 수 있고, 원뿔은 중심축의 방향, 꼭지점 좌표, 및 앵글로 정의될 수 있다. 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 구, 토러스, 그 외 다른 타입의 프리미티브도 유사하게 정의될 수 있음을 이해할 수 있다.
스캔평가부(7)는 형상인식부(6)의 형상 인식에 이용된 적어도 하나의 프리미티브와 모델생성부(5)에 의해 추정된 3차원 모델의 형상간의 유사도에 기초하여 모델생성부(5)에 의해 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가한다.
제어부(8)는 스캔평가부(7)에 의해 평가된 3차원 모델의 표면점들 각각의 신뢰도에 기초하여 스캐너(3)의 일련의 뷰를 결정하고, 일련의 뷰에서 스캐너(3)에 의해 대상물(100)이 스캔될 수 있도록 턴테이블(1)과 로봇암(2)의 동작을 제어한다. 제어부(8)는 스캐너(3)의 작동을 제어하면서 스캐너(3)로부터 입력된 3차원 스캔 데이터를 모델생성부(5)에 전달한다.
스토리지(9)에는 모델생성부(5)에 의해 생성된 대상물(100)의 3차원 모델, 형상인식부(6)의 형상 인식에 이용된 적어도 하나의 프리미티브를 정의하는 파라미터들, 스캔평가부(7)에 의해 산출된 3차원 모델의 표면점들 각각의 신뢰도 등 본 실시예에 따른 3차원 자동 스캔을 위한 각종 데이터가 저장된다.
도 3은 본 발명의 일 실시예에 따른 3차원 자동 스캔 방법의 흐름도이다. 도 3을 참조하면, 본 실시예에 따른 3차원 자동 스캔 방법은 도 1~2에 도시된 3차원 자동 스캔 시스템에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1~2에 도시된 3차원 자동 스캔 시스템에 관하여 이상에서 기술된 내용은 이하에서 기술될 3차원 자동 스캔 방법에도 적용된다.
31 단계에서 스캐너(3)는 사용자에 의해 미리 설정된 위치에서 대상물(100)을 스캔하거나 사용자에 의해 미리 설정된 경로를 따라 이동하면서 대상물(100)을 스캔함으로써 대상물(100)의 3차원 스캔 데이터를 생성한다. 예를 들어, 제어부(8)는 사용자인터페이스(4)를 통해 입력된 사용자의 설정 정보에 따라 로봇암(2)과 턴테이블(1)의 동작을 제어함으로써 스캐너(3)가 어떤 고정된 위치에서 턴테이블(1)의 회전에 따라 회전하는 대상물(100)의 정면과 후면을 스캔하도록 할 수 있다. 31 단계에서의 대상물 스캔은 첫 번째 회차(iteration)의 스캔에 해당한다. 이후의 단계들은 아래에서 설명된 바와 같이, 3차원 스캔 데이터가 목표 신뢰도를 충족할 때까지 계속적으로 반복된다.
32 단계에서 모델생성부(5)는 제어부(8)로부터 대상물(100)의 3차원 스캔 데이터를 입력받음으로써 31 단계에서 스캐너(3)에 의해 생성된 대상물(100)의 3차원 스캔 데이터를 획득하고, 이와 같이 획득된 대상물(100)의 3차원 스캔 데이터로부터 대상물(100)의 3차원 모델을 추정한다.
33 단계에서 형상인식부(6)는 적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 33 단계에서 추정된 3차원 모델의 형상을 인식한다. 본 실시예는 스캐너(3)의 스캔점들만에 의존하여 대상물(100)의 3차원 모델의 형상을 인식하지 않고, 적어도 하나의 프리미티브와의 피팅을 이용하여 대상물(100)의 3차원 모델의 형상을 인식함에 따라 종래의 반복적인 스캔에 의한 스캔점 축적으로 도달할 수 있는 대상물(100)의 프리미티브 형상을 신속하게 인식할 수 있다. 결론적으로, 본 실시예는 대상물(100)의 3차원 스캔의 정확도를 향상시키면서도 스캔에 소요되는 시간을 줄일 수 있다.
34 단계에서 스캔평가부(7)는 33 단계에서의 형상 인식에 이용된 적어도 하나의 프리미티브와 32 단계에서 추정된 3차원 모델의 형상간의 유사도에 기초하여 33 단계에서 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가한다. 아래에 자세하게 설명된 바와 같이, 대상물(100)의 3차원 모델 추정에는 포아송 복원(poisson reconstruction)이 이용되며, 3차원 모델의 표면점들은 포아송 복원에 의해 생성된 3차원 모델의 표면인 등위면(iso-surface)의 점들이다. 이러한 등위면의 점을 등위점(iso-point)이라고 한다. 이하에서는 3차원의 "표면"과 "등위면"을 혼용하여 호칭할 수도 있고, 3차원 모델의 "표면점"과 "등위점"으로 혼용하여 호칭할 수도 있다.
35 단계에서 스캔평가부(7)는 34 단계에서 평가된 표면점들 각각의 신뢰도가 스캔 완료에 해당하는 기준을 만족하는가를 확인한다. 예를 들어, 이전의 신뢰도와 현재 신뢰도의 오차가 스캔 완료에 해당하는 기준 범위 내이면 표면점들 각각의 신뢰도가 스캔 완료에 해당하는 기준을 만족하는 것으로 결정될 수 있다. 즉, 대상물(100)에 대한 스캔이 반복되더라도 스캔 신뢰도의 변화가 미미하면 스캔은 완료된다. 표면점들 각각의 신뢰도가 스캔 완료에 해당하는 기준을 만족하는 것으로 확인되면 적어도 하나의 프리미티브에 들어맞는 형상으로 인식된 영역에 대한 스캔은 종료되고, 그렇지 않으면 36 단계로 진행한다.
36 단계에서 제어부(8)는 34 단계에서 평가된 표면점들 각각의 신뢰도에 기초하여 스캐너(3)의 일련의 뷰(view)를 결정한다. 여기에서, 스캐너(3)의 뷰란 스캐너(3)가 대상물(100)을 바라볼 때의 뷰를 의미하며, 스캐너(3)의 위치와 턴테이블(1)의 회전각에 의해 결정된다. 이러한 스캐너(3)의 뷰는 3차원 스캔 분야에서 NBV(Next Best View)로 호칭된다. 스캐너(3)의 일련의 뷰란 현재 회차에서 평가된 스캔점들 각각의 신뢰도에 따라 다음 회차에서 스캐너(3)가 순차적으로 스캔해야 할 NBV들을 말한다.
37 단계에서 제어부(8)는 38 단계에서 결정된 일련의 뷰에서 스캐너(3)에 의해 대상물(100)이 스캔될 수 있도록 턴테이블(1)과 로봇암(2)의 동작, 즉 대상물(100)의 회전과 스캐너(3)의 위치를 제어하고, 스캐너(3)는 이러한 제어부(8)의 제어에 따라 36 단계에서 결정된 일련의 뷰에서 대상물(100)을 스캔함으로써 대상물(100)의 3차원 스캔 데이터를 생성한다. 37 단계에서 3차원 스캔 데이터의 생성이 완료되면 다시 32 단계로 돌아가며, 대상물(100)의 스캔 품질이 스캔 완료에 해당하는 기준을 만족할 때까지 32 단계와 그 이후의 단계들이 반복된다. 32~37 단계의 한 번 수행은 한 번의 회차가 된다.
스캔이 종료된 경우에 마지막 차수의 37 단계에서 생성된 3차원 스캔 데이터가 본 실시예에 따른 3차원 스캔 결과물로서 제공될 수도 있고, 마지막 차수의 37 단계에서 생성된 3차원 스캔 데이터로부터 추정된 3차원 모델이 본 실시예에 따른 3차원 스캔 결과물로서 제공될 수도 있다. 이러한 3차원 스캔 결과물은 3차원 프린터에 제공되어 대상물(100)의 복제품을 제작하는 데에 사용될 수 있다. 3차원 스캔 결과물이 기계부품의 복제품을 제작하는 데에 사용될 경우, 복제품의 품질이 대폭 향상될 수 있고, 복제품 제조시간을 대폭 단축할 수 있다.
도 4는 도 3에 도시된 3차원 자동 스캔 방법의 구체적인 일례를 도시한 도면이다. 도 4에는 도 3에 도시된 단계들 중 32~34 단계의 구체적인 예가 도시되어 있다. 도 5는 도 3에 도시된 3차원 자동 스캔 방법에 따른 대상물(100)의 3차원 모델의 단계적 변화를 도시한 도면이다. 도 5의 (a)에는 턴테이블(1)에 탑재된 대상물(100)의 일례가 도시되어 있다.
41 단계에서 모델생성부(5)는 스캐너(3)에 의해 생성된 대상물(100)의 3차원 스캔 데이터를 획득한다. 도 5의 (b)에는 이와 같이 획득된 3차원 스캔 데이터의 스캔점들의 일례가 도시되어 있다. 도 5의 (b)에 따르면, 각 스캔점의 법선방향 쪽은 밝게 표현되어 있고 그 반대쪽은 어둡게 표현되어 있다. 본 실시예에서 각 스캔점, 각 등위점, 각 샘플점의 법선방향은 각 점과 그 주변의 점들에 의해 형성되는 면의 법선방향을 말한다. 도 3에 도시된 3차원 자동 스캔 방법이 반복 수행될 때마다 3차원 모델링 공간 내에 스캔점들이 축적됨에 따라 3차원 자동 스캔 방법의 반복 회수가 늘어날수록 스캔점들의 밀도가 점점 더 높아지게 되고, 그 결과 이러한 스캔점들에 의해 표현되는 대상물(100)의 3차원 모델의 정확도가 점점 더 높아지게 된다.
42 단계에서 모델생성부(5)는 41 단계에서 획득된 대상물(100)의 3차원 스캔 데이터에 대해 포아송 복원(poisson reconstruction)을 수행함으로써 대상물(100)의 3차원 모델을 추정한다. 도 5의 (c)에는 도 5의 (b)에 도시된 스캔점들에 대해 포아송 복원을 수행한 결과에 해당하는 3차원 모델이 도시되어 있다. 3차원 스캔 데이터의 스캔점들은 스캐너(3)의 성능 한계, 스캔 과정에서의 노이즈 등으로 인하여 대상물의 형상을 정확하게 표현하지 못한다. 3차원 스캔 데이터의 스캔점들에 따르면 대상물(100)의 표면이 울퉁불퉁하게 표현된다. 도 5의 (c)에 도시된 바와 같이, 포아송 복원은 3차원 스캔 데이터의 수많은 스캔점으로 표현되는 울퉁불퉁한 표면을 포아송 방정식을 사용하여 평활화함(smooth)으로써 대상물(100)의 표면을 복원한다.
42 단계에서 추정된 3차원 모델은 3차원 모델링 공간 내의 수많은 등위점(iso-point)의 값들로 이루어진다. 각 등위점의 값은 3차원 모델링 공간 내에서의 그것의 3차원 좌표와 그것의 컬러값 등으로 정의된다. 상술한 바와 같이, 이러한 다수의 등위점들로 표현되는 대상물(100)의 표면을 등위면이라고 한다. 일반적으로, 등위면은 수많은 트라이앵글이 연속적으로 이어진 메시 구조를 갖는다. 각 트라이앵글은 세 개의 등위점으로 정의된다. 이에 따라, 3차원 스캔 데이터에 의하면 대상물 표면의 일부가 불연속적으로 표현된 경우라도 포아송 복원 후에는 대상물 표면 전체가 연속적으로 표현된다.
43 단계에서 형상인식부(6)는 42 단계에서 추정된 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출하고, 이와 같이 검출된 적어도 하나의 프리미티브를 이용하여 42 단계에서 추정된 3차원 모델의 형상을 인식한다. 도 6은 도 4에 도시된 43 단계에서의 프리미티브 검출 과정의 상세 흐름도이다. 도 6을 참조하면, 43 단계에서의 프리미티브 검출 과정은 다음과 같은 단계들로 구성된다.
61 단계에서 형상인식부(6)는 31 단계에서 실제 스캔된 영역과의 정합 여부에 따라 42 단계에서 추정된 3차원 모델의 표면, 즉 등위면을 정합영역(matched region)과 비정합영역(unmatched region)으로 분류한다. 도 5의 (d)에는 도 5의 (c)에 도시된 등위면을 분류한 결과가 도시되어 있다. 도 5의 (b)와 (c)의 대비로부터 이해되는 바와 같이, 정합영역(110)은 밝게 표현되어 있고, 비정합영역(120)은 어둡게 표현되어 있다. 이러한 분류는 실제 스캔되지 않았음에도 포아송 복원에 의해 생성된 인공적인 부분(artificial parts)에서 프리미티브가 검출되는 오류를 사전에 방지할 수 있다.
즉, 형상인식부(6)는 42 단계에서 추정된 3차원 모델의 등위면을 이루고 있는 등위점들 중에서 대상물(100)의 스캔점들로부터 근접거리 내에 존재하는 등위점들을 갖는 영역을 정합영역으로 분류하고, 나머지 등위점들을 갖는 영역을 비정합영역으로 분류한다. 여기에서, 근접거리는 본 실시예의 설계자에 의해 설정되는 거리로서 서로 이웃하는 스캔점들 간의 평균 거리에 따라 설정될 수 있다. 근접거리가 지나치게 작은 경우에는 실제 스캔된 영역보다 좁은 영역을 정합영역으로 분류됨에 따라 프리미티브 검출에 필요한 데이터가 부족하여 인식 가능한 프리미티브를 활용하지 못할 수 있으며, 지나치게 클 경우에는 실제 스캔된 영역 외에 너무 넓은 영역이 정합영역으로 분류됨에 따라 프리미티브 검출에 불필요한 데이터가 포함되어 본 실시예에 따른 스캔 결과물의 오차가 증가하게 된다.
아래에 자세히 설명된 바와 같이, 형상인식부(6)는 42 단계에서 추정된 3차원 모델의 등위면 중 정합영역, 즉 3차원 스캔 데이터의 스캔점들이 존재하는 영역에서 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출한다. 비정합영역은 3차원 스캔 데이터의 스캔점들이 실제로 존재하지 않으나 스캔점들로 표현되는 표면을 포아송 방정식을 사용하여 복원하는 과정에서 만들어진 영역이다. 이에 따라, 비정합영역에서 검출된 프리미티브는 대상물(100)의 실제 표면 형상에 존재하지 않는 프리미티브일 가능성이 있다. 본 실시예는 3차원 스캔 데이터의 스캔점들이 존재하는 영역에서 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출함으로써 대상물(100)의 실제 표면 형상에 존재하지 않는 프리미티브의 검출 확률을 대폭 낮출 수 있다.
62 단계에서 42 단계에서 추정된 3차원 모델의 등위면을 평면 패치들(planar patches)로 분할한다. 형상인식부(6)는 등위면에서 랜덤하게 하나의 시드점(seed point)을 뽑아내고, 그 시드점의 법선방향으로부터 임계각도 내의 법선방향을 갖는 이웃 점들의 집합을 하나의 평면 패치로 설정하고, 더 이상의 패치가 생성되지 않을 때까지 이러한 과정을 반복함으로써 등위면을 패치들로 분할할 수 있다. 이러한 패치 분할은 2차원의 평면 단위로 각 패치의 등위점들을 일괄 처리할 수 있기 때문에 각 등위점에 대한 라벨링과 같은 작업의 처리 속도가 향상될 수 있다.
63 단계에서 형상인식부(6)는 61 단계에서 정합영역으로 분류된 등위면에서 일정 간격의 점들을 샘플링한다. 상술한 바와 같이, 42 단계에서 추정된 3차원 모델의 등위면은 다수의 스캔점에 포아송 방정식을 적용함으로써 유도된 다수의 등위점으로 표현된다. 이러한 등위점들은 그 밀도가 너무 낮아 그 등위면에 어떤 종류의 프리미티브가 들어맞는지를 판별하는 데에 적합하지 않다. 이에 따라, 형상인식부(6)는 42 단계에서 추정된 3차원 모델의 등위면과 프리미티브간의 피팅 결정에 등위점들을 사용하지 않고 3차원 모델의 등위면과 프리미티브간의 피팅 결정에 적합한 촘촘한 간격으로 균일하게 샘플링한다.
64 단계에서 형상인식부(6)는 63 단계에서의 샘플링에 의한 샘플점들(sampled points)의 법선방향들로부터 42 단계에서 추정된 3차원 모델의 적어도 하나의 주방향(major orientation)을 결정하고, 각 주방향을 기준으로 샘플점들을 평면그룹(planar group)과 비평면그룹(nonplanar group)으로 분류한다. 형상인식부(6)는 샘플점들의 법선방향들을 서로 유사한 것들끼리 그룹핑함으로써 3차원 모델의 적어도 하나의 주방향을 결정할 수 있다. 이러한 주방향 결정은 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 공지된 기술이므로 이것에 대한 보다 상세한 설명은 생략하기로 한다. 도 5의 (e)에는 도 5의 (c)에 도시된 3차원 모델에 대해 결정된 3 개의 주방향이 도시되어 있다.
형상인식부(6)는 오차범위 내에서 각 주방향과 평행한 법선방향을 갖는 샘플점들을 평면그룹으로 분류하고, 나머지 샘플점들을 적어도 하나의 비평면그룹으로 분류한다. 여기에서, 오차범위는 본 실시예의 설계자에 의해 설정되는 범위로서 지나치게 작을 경우에는 어떤 영역의 형상이 실제 평면임에도 회전체로 인식될 가능성이 높아지고, 지나치게 클 경우에는 어떤 영역의 형상이 실제 회전체임에도 평면으로 인식될 가능성이 높아지게 된다. 이하에서 등장하는 오차범위에 대해서도 특별한 설명이 없더라도 상술한 바와 같은 관점에서 이해될 수 있다.
65 단계에서 형상인식부(6)는 64 단계에서의 분류에 따른 평면그룹에서 적어도 하나의 평면에 들어맞는 적어도 하나의 영역을 인식하고 각 영역의 샘플점들의 값으로부터 각 영역에 들어맞는 프리미티브를 정의하기 위한 파라미터들을 결정함으로써 61 단계에서 분류된 정합영역에서 평면 타입에 해당하는 적어도 하나의 프리미티브를 검출한다. 형상인식부(6)는 평면그룹에 속하는 샘플점들 중에서 임계 간격 이하로 밀집되고 그 개수가 평면기준 이상인 샘플점들이 분포된 영역 별로 하나의 평면에 들어맞는다고 인식한다. 형상인식부(6)는 각 평면에 들어맞는다고 인식된 영역의 샘플점들의 평균 법선방향과 임의의 한 점 좌표를 평면 타입에 해당하는 각 프리미티브의 파라미터들로서 결정한다. 여러 타입의 프리미티브 중 평면은 법선방향과 한 점의 좌표로 정의될 수 있다.
66 단계에서 형상인식부(6)는 64 단계에서의 분류에 따른 비평면그룹을 일정 두께의 슬라이스(slice)들로 분할한다. 67 단계에서 형상인식부(6)는 66 단계에서 분할된 슬라이스들 중에서 그 단면이 원(circle)인 슬라이스들을 검출한다. 즉, 형상인식부(6)는 어떤 슬라이스의 단면 둘레의 샘플점들이 오차 범위 내에서 원형으로 배치되어 있으면 그 슬라이스의 단면을 원으로 검출한다. 68 단계에서 형상인식부(6)는 67 단계에서 검출된 원형 슬라이스들을 그 슬라이스들의 중심의 연속성을 기준으로 그룹핑하고, 각 슬라이스그룹의 중심축을 추정한다. 형상인식부(6)는 그 중심이 서로 연속해서 이어진 슬라이스들을 하나의 슬라이스그룹으로 설정한다. 각 슬라이스그룹에 해당하는 슬라이스들의 중심을 연결한 선을 각 슬라이스그룹의 중심축으로 추정한다.
69 단계에서 형상인식부(6)는 68 단계에서 추정된 중심축을 이용하여 각 슬라이스그룹의 윤곽 형상을 분석하고, 그 분석 결과로부터 각 슬라이스그룹에 들어맞는 프리미티브를 정의하기 위한 파라미터들을 결정함으로써 61 단계에서 분류된 정합영역에서 비평면 타입에 해당하는 적어도 하나의 프리미티브를 검출한다. 어떤 슬라이스그룹의 윤곽 형상이 직선인 경우에는 원통 또는 원뿔로 분류되고, 커브인 경우에는 구 또는 토러스로 분류될 수 있다. 전자의 경우, 형상인식부(6)는 그 슬라이스그룹의 중심축 방향과 윤곽선이 오차범위 내에서 평행하면 그 슬라이스그룹에 원통이 들어맞는다고 인식하고, 그 슬라이스그룹의 중심축 방향과 슬라이스그룹의 윤곽선이 평행하지 않으면 그 슬라이스그룹에 원뿔이 들어맞는다고 인식한다.
후자의 경우, 그 슬라이스그룹의 윤곽선이 원일 때에 그 원의 중심과 주방향간의 거리는 본 실시예의 설계자에 의해 설정되는 거리에 따라 구 또는 토러스로 분류될 수 있다. 형상인식부(6)는 그 슬라이스그룹의 윤곽선인 원의 중심점과 주방향간의 거리가 그 원의 반지름의 절반 이상이면 그 슬라이스그룹에 토러스가 들어맞는다고 인식하고, 그 원의 중심과 주방향간의 거리가 그 원의 반지름의 절반 미만이면 그 슬라이스그룹에 구가 들어맞는다고 인식한다. 예를 들어, 형상인식부(6)는 원통에 들어맞는다고 확인된 슬라이스그룹의 중심축 방향, 중심축 상의 한 점의 좌표, 반지름을 원통 타입에 해당하는 프리미티브의 파라미터들로서 결정한다. 또한, 형상인식부(6)는 원뿔에 들어맞는다고 확인된 슬라이스그룹의 중심축 방향, 꼭지점 좌표, 윤곽선과 바닥면간의 각도를 원통 타입에 해당하는 프리미티브의 파라미터들로서 결정한다. 토러스나 구 등 다른 비평면 타입의 프리미티브에 대해서도 마찬가지로 프리미티브 파라미터들이 결정될 수 있음을 이해할 수 있다.
610 단계에서 형상인식부(6)는 65~69 단계에서 검출된 적어도 하나의 프리미티브에 대해 셋 커버 최적화(set cover optimization)를 수행함으로써 정합영역에서의 적어도 하나의 프리미티브를 최적화하고, 이와 같이 최적화된 각 프리미티브의 라벨을 62 단계에서의 분할에 따른 패치 단위로 각 프리미티브의 영역에 위치하는 등위점들에 일괄 할당한다. 예를 들어, 실제로 정합영역의 프리미티브들은 10개이나 서로간의 중첩(overlap)으로 인해 15개로 검출될 수 있다. 셋 커버 최적화는 서로간의 중첩을 제거하여 15개의 프리미티브를 10개의 프리미티브로 최적함으로써 이러한 문제를 해결할 수 있다. 셋 커버 최적화는 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 공지된 기술이므로 자세한 설명을 생략하기로 한다. 도 5의 (f)에는 도 5의 (a)에 도시된 3차원 모델의 정합영역에서 여러 개의 평면 타입의 프리미티브(130)와 여러 개의 원통 타입 프리미티브(140)가 검출된 예가 도시되어 있다.
형상인식부(6)는 정합영역의 등위점들 중에서 65~69 단계에서 검출된 각 프리미티브 별로 각 프리미티브의 영역에 속하는 등위점들 각각의 값에 그 프리미티브의 라벨을 할당한다. 상술한 바와 같이, 각 등위점의 값은 3차원 좌표, 컬러값을 포함하는데, 여기에 프리미티브 라벨이 할당되면 각 등위점의 값은 3차원 좌표, 컬러값, 프리미티브 라벨을 포함하게 된다. 예를 들어, 형상인식부(6)는 첫 번째 프리미티브의 영역에 속하는 등위점들 각각의 값에 그것의 라벨로서 이진값 "000"을 할당하고, 두 번째 프리미티브의 영역에 속하는 등위점들 각각의 값에 그것의 라벨로서 이진값 "001"을 할당할 수 있다.
611 단계에서 형상인식부(6)는 3차원 스캔 데이터의 스캔점들의 좌표값과 법선방향에 따라 65~69 단계에서 검출된 각 프리미티브의 파라미터 값들을 조정(tune)한다. 형상인식부(6)는 각 프리미티브가 검출된 영역의 스캔점들의 좌표값과 법선방향이 나타내는 형상에 근접하도록 일정 범위 내에서 각 프리미티브의 파라미터 값들을 조정한다. 이 과정은 각 프리미티브의 파라미터 값들의 오차를 감소시키는 역할을 한다. 상술한 바와 같이, 각 등위점에는 어떤 프리미티브의 라벨이 붙고, 그 프리미티브의 파라미터들은 스토리지(9)에 저장된다. 611 단계에서 각 프리미티브의 파라미터 값들이 조정된다는 것은 스토리지(9)에 저장된 파라미터 값들이 갱신됨을 의미한다.
612 단계에서 형상인식부(6)는 법선방향 유사도와 근접도를 기준으로 65~69 단계에서 검출된 각 프리미티브에 이웃하는 패치들을 각 프리미티브에 편입시킴으로써 각 프리미티브의 영역을 확장한다. 즉, 형상인식부(6)는 42 단계에서 추정된 3차원 모델의 등위점들간의 법선방향 유사도와 근접도를 기준으로 65~69 단계에서 검출된 각 프리미티브에 이웃하는 등위점들을 각 프리미티브에 편입시킴으로써 각 프리미티브의 영역을 확장한다. 본 실시예는 65~69 단계에서 검출된 어떤 프리미티브 주변에 있는 등위점들 중 그 프리미티브의 점일 가능성이 매우 높은 등위점을 미리 그 프리미티브의 점으로 설정함으로써 스캔 반복 회수를 줄이고 3차원 모델의 정확도를 향상시킬 수 있다. 특히, 이러한 각 프리미티브의 영역 확장이 점 단위가 아닌, 패치 단위로 진행됨에 따라 대상물(100)의 스캔 완료에 소요되는 시간이 대폭 감소될 수 있다.
형상인식부(6)는 65~69 단계에서 검출된 어떤 프리미티브의 가장자리 패치와 라벨이 없는 이웃 패치(unlabeled neighboring patch)가 서로 이어져 배치되어 있고 상호간의 법선방향 유사도가 확장 기준 이상으로 높으면 그 프리미티브의 라벨을 이웃 패치의 등위점들 값에 일괄 할당한다. 형상인식부(6)는 이와 같이 라벨을 갖게 된 이웃 패치와 라벨이 없는 또 다른 이웃 패치가 서로 이어져 배치되어 있고 상호간의 법선방향 유사도가 확장 기준 이상으로 높으면 그 프리미티브의 라벨을 또 다른 이웃 패치의 등위점들 값에 일괄 할당한다. 도 5의 (g)에는 도 5의 (f)에 도시된 평면 타입의 프리미티브(130)의 영역이 확장되고 원통 타입 프리미티브(140)의 영역이 확장된 예가 도시되어 있다.
다시 도 4를 참조하면, 44 단계에서 형상인식부(6)는 43 단계에서 검출된 적어도 하나의 프리미티브의 형상에 부합하도록 42 단계에서 추정된 3차원 모델을 수정한다(modify). 이러한 3차원 모델 수정 과정은 42 단계에서 추정된 3차원 모델의 등위점들 전체에 대해 프리미티브와의 피팅이 결정된 상태에서 프리미티브에 해당하는 등위점들의 위치와 법선방향을 그 프리미티브에 보다 들어맞도록 수정하는 과정이다. 44 단계의 3차원 모델 수정 과정은 반드시 수행되어야 하는 필수 과정이 아니며 생략될 수도 있다. 스캐너(3)가 고성능이고 그 측정값의 오차가 작은 경우에 상술한 바와 같은 예측을 기반으로 42 단계에서 추정된 3차원 모델을 수정하는 것이 대상물(100)의 세밀한 형상을 변형시킬 수도 있으며, 스캐너(3)의 뷰프러스텀 크기 대비 대상물(100)의 크기가 작은 경우에 42 단계에서 추정된 3차원 모델을 수정하기보다는 그대로 유지하는 것이 오히려 오차가 낮을 수도 있다.
대상물(100)에 대한 3차원 스캔은 3차원 모델의 표면점들 모두에 대한 신뢰도가 충분히 높게 확보될 때까지 많게는 수십 번 반복된다. 본 실시예의 대상물(100)은 주로 역설계(reverse engineering)의 대상인 기계부품이고, 이러한 기계부품의 형상은 다수의 프리미티브의 조합으로 표현될 수 있기 때문에 대상물(100)에 대한 3차원 스캔이 반복되는 과정에서 3차원 모델은 프리미티브의 형상에 점점 더 가깝게 추정될 가능성이 높다. 본 실시예는 프리미티브의 형상에 부합하도록 3차원 모델을 미리 수정함으로써 3차원 스캔의 반복 회수를 줄일 수 있다.
도 7은 도 4에 도시된 44 단계에서의 3차원 모델의 수정 예시도이다. 도 7을 참조하면, 원뿔 타입에 속하는 프리미티브(71)의 라벨을 갖는 등위점들 중 어느 하나(72)가 그 프리미티브(71)의 파라미터들에 의해 정의되는 원뿔 영역으로부터 벗어나서 위치하고 있다. 형상인식부(6)는 서로 대응하는 등위점(72)과 프리미티브(71)의 표면점(73) 간의 거리 "D"가 임계거리 이하이고 그 등위점(72)과 프리미티브의 표면점(73) 간의 법선방향 오차가 임계범위(예를 들어, -10~+10도) 내이면 등위점(72)의 좌표값을 표면점(73)의 좌표값으로 수정한다. 등위점(72)에 대응하는 프리미티브의 표면점(73)은 그 등위점(72)으로부터 프리미티브(71)의 중심축으로 수직으로 내린 선과 프리미티브(71)의 표면의 교차점(73)을 말한다.
45 단계에서 스캔평가부(7)는 44 단계에서 수정된 3차원 모델의 프리미티브 영역의 등위점들과 42 단계에서 추정된 3차원 모델의 등위점들간의 거리와 법선방향 차이로부터 42 단계에서 추정된 3차원 모델의 각 등위점의 프리미티브 신뢰도(primitive confidence)를 산출한다. 44 단계에서 수정된 3차원 모델의 프리미티브 영역의 등위점들과 42 단계에서 추정된 3차원 모델의 등위점들간의 거리와 법선방향 차이가 작을수록 33 단계에서의 형상 인식에 이용된 적어도 하나의 프리미티브와 42 단계에서 추정된 3차원 모델의 형상간의 유사도가 높다고 할 수 있으며 프리미티브 신뢰도가 높게 산출된다. 44 단계에서 수정된 3차원 모델의 프리미티브 영역의 등위점들과 42 단계에서 추정된 3차원 모델의 등위점들간의 거리와 법선방향 차이가 클수록 33 단계에서의 형상 인식에 이용된 적어도 하나의 프리미티브와 42 단계에서 추정된 3차원 모델의 형상간의 유사도가 낮다고 할 수 있으며 프리미티브 신뢰도가 낮게 산출된다.
46 단계에서 스캔평가부(7)는 42 단계에서 추정된 3차원 모델의 각 등위점 주변의 형상과 스캔점 밀도로부터 42 단계에서 추정된 3차원 모델의 각 등위점의 평활도 신뢰도(smoothness confidence)를 산출한다. 각 등위점의 평활도 신뢰도는 등위점에 근접한 스캔점들의 법선방향이 유사할 때에 높게 산출되고, 차이가 클수록 낮게 산출된다. 즉, 평평하거나 완만한 굴곡진 부분에 위치한 등위점은 그 주변에 스캔점들이 듬성듬성하게 존재해도 평활도 신뢰도가 높게 산출되는 경향이 있지만, 굴곡이 심하거나 예리한 부분에 위치한 등위점은 그 주변에 스캔점들이 조밀한 밀도로 존재하지 않는 한 평활도 신뢰도는 낮게 산출되는 경향이 있다. 평활도 신뢰도 산출은 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 공지된 기술이므로 이것에 대한 보다 상세한 설명은 생략하기로 한다.
47 단계에서 스캔평가부(7)는 42 단계에서 추정된 3차원 모델의 각 등위점 주변의 스캔점 밀도 변화율로부터 42 단계에서 추정된 3차원 모델의 각 등위점의 그래디언트 신뢰도(gradient confidence)를 산출한다. 그래디언트 신뢰도는 완성도 신뢰도(completeness confidence)로 불리기도 한다. 그래디언트 신뢰도는 각 등위점 주변의 스캔점들의 밀도가 높고 스캔점들간의 위치 변화가 완만한 경우에 높게 산출되고, 각 등위점 주변의 스캔점들의 밀도가 낮고 스캔점들간의 위치 변화가 급격한 경우에 낮게 산출된다. 그래디언트 신뢰도 산출은 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 공지된 기술이므로 이것에 대한 보다 상세한 설명은 생략하기로 한다.
48 단계에서 스캔평가부(7)는 45 단계에서 산출된 각 등위점의 프리미티브 신뢰도, 46 단계에서 산출된 각 등위점의 평활도 신뢰도, 및 47 단계에서 산출된 각 등위점의 그래디언트 신뢰도로부터 42 단계에서 추정된 3차원 모델의 각 등위점의 최종 신뢰도를 산출함으로써 42 단계에서 추정된 3차원 모델의 전체 등위점들의 신뢰도 분포, 즉 표면 신뢰도 분포를 나타내는 신뢰도맵을 생성한다. 예를 들어, 스캔평가부(7)는 45 단계에서 산출된 각 등위점의 프리미티브 신뢰도, 46 단계에서 산출된 각 등위점의 평활도 신뢰도, 및 47 단계에서 산출된 각 등위점의 그래디언트 신뢰도를 서로 곱함으로서 각 등위점의 최종 신뢰도를 산출할 수 있다.
프리미티브 신뢰도와 마찬가지로 평활도 신뢰도와 그래디언트 신뢰도는 0~1 사이의 정규화된 값이다. 이에 따라, 각 등위점의 최종 신뢰도는 0~1 사이의 값이 되며 낮을수록 NBV로 선정될 확률이 높아진다. 어떤 프리미티브 검출 영역의 등위점들의 프리미티브 신뢰도가 높게 산출될 경우에 평활도 신뢰도와 그래디언트 신뢰도가 낮더라도 주변 영역의 등위점보다 신뢰도가 높게 나타난다. 이에 따라, 프리미티브 검출 영역은 NBV로 선정될 확률이 낮아지게 된다. 본 실시예는 이와 같이 프리미티브 신뢰도 외에 평활도 신뢰도와 그래디언트 신뢰도 모두를 고려하여 각 등위점의 신뢰도를 산출하기 때문에 프리미티브 신뢰도, 평활도 신뢰도, 그래디언트 신뢰도 각각의 단점을 상호 보완할 수 있다. 그 결과, 각 등위점의 신뢰도가 매우 정확하게 산출될 수 있다.
36 단계에서 제어부(8)는 33 단계에서의 형상 인식에 이용된 복수의 프리미티브간의 배치 구조, 즉 43 단계에서 검출된 복수의 프리미티브간의 배치 구조로부터 스캔 회피 영역을 추정하고, 34 단계에서 평가된 표면점들 각각의 신뢰도와 이와 같이 추정된 스캔 회피 영역에 기초하여 스캐너(3)의 일련의 뷰를 결정한다. 제어부(8)는 48 단계에서 생성된 신뢰도맵이 나타내는 3차원 모델의 표면 신뢰도 분포에 기초하여 일련의 NBV를 결정한다. 제어부(8)는 48 단계에서 생성된 신뢰도맵이 나타내는 3차원 모델의 표면 신뢰도 분포에 기초하여 주변보다 상대적으로 더 낮은 신뢰도의 등위점들이 모여 있는 적어도 하나의 영역을 식별해내고 이와 같이 적어도 하나의 영역에 따라 일련의 NBV를 결정한다. 제어부(8)는 대상물(100)의 표면이 정확하게 스캔될 수 있도록 등위점들의 법선방향을 고려하여 NBV를 결정한다.
제어부(8)는 이와 같이 결정된 일련의 NBV로부터 스캔 회피 영역에 속하는 NBV를 삭제함으로써 다음 회차의 일련의 NBV를 최종적으로 결정한다. 제어부(8)는 43 단계에서 검출된 복수의 프리미티브가 서로 맞닿아 있는가를 확인하고, 서로 맞닿아 있는 복수의 프리미티브의 경계를 스캔 회피 영역으로 추정할 수 있다. 예를 들어, 본 실시예는 상자를 스캔할 때에 상자의 모서리를 평면 타입에 해당하는 두 프리미티브가 맞닿은 경계로 인식하고 그 모서리에 대해서는 스캔을 진행하지 않는다.
종래의 3차원 자동 스캔 방법은 스캔점들의 밀도, 연속성 등에 기초하여 신뢰도를 산출함에 따라 복수의 프리미티브가 서로 맞닿아 있어 변화가 급격한 부분에 대해서는 그 신뢰도가 계속적으로 낮게 산출된다. 그 결과, 이와 같이 변화가 급격한 부분에 대해서는 스캔이 계속적으로 반복된다. 본 실시예는 프리미티브와의 피팅을 이용하여 3차원 모델의 형상을 인식하기 때문에 변화가 급격한 부분임에도 불구하고 복수의 프리미티브의 경계를 정확하게 인식할 수 있고, 이러한 형상 인식의 정확성을 고려하여 복수의 프리미티브의 경계에 대해서는 스캔 회피 영역으로 설정함으로써 스캔이 진행되지 않도록 한다.
도 8은 도 4에 도시된 45 단계의 상세 흐름도이다. 도 8을 참조하면, 도 4에 도시된 45 단계에서의 프리미티브 신뢰도 산출 과정은 다음과 같은 단계들로 구성된다. 81 단계에서 스캔평가부(7)는 44 단계에서 수정된 3차원 모델로부터 43 단계에서 검출된 프리미티브 영역의 등위점들을 추출한다. 82 단계에서 스캔평가부(7)는 42 단계에서 추정된 3차원 모델, 즉 미수정된(unmodified) 모델로부터 62 단계에서 추출된 프리미티브 영역과 동일한 영역의 등위점들을 추출한다. 81 단계에서 추출된 프리미티브 영역의 등위점들과 82 단계에서 추출된 동일 영역의 등위점들은 서로 일대일 대응된다. 서로 일대일 대응되는 두 등위점들 중 하나는 프리미티브에 들어맞도록 수정된 값을 갖고, 다른 하나는 수정 전의 값을 갖는다.
83 단계에서 스캔평가부(7)는 82 단계에서 추출된 동일 영역의 각 등위점마다 각 등위점과 44 단계에 의해 이것의 수정된 값을 갖는 프리미티브 영역의 등위점간의 거리와 법선방향 차이로부터 82 단계에서 추출된 동일 영역, 즉 프리미티브 영역의 각 등위점의 프리미티브 신뢰도를 산출한다. 예를 들어, 스캔평가부(7)는 그 거리와 법선방향 차이의 합산의 역수를 각 등위점의 프리미티브 신뢰도로 할 수 있다. 43 단계에서 검출된 어떤 프리미티브, 예를 들어 원통이 42 단계에서 추정된 3차원 모델의 어떤 영역에 정확하게 들어맞는다면 그 영역의 형상은 거의 원통임이 확실하다고 할 수 있다. 즉, 스캔평가부(7)는 43 단계에서 검출된 어떤 프리미티브가 42 단계에서 추정된 3차원 모델의 어떤 영역에 정확하게 들어맞는다면 그 영역의 등위점들의 신뢰도를 매우 높게 평가함으로써 이후에 그 영역에 대한 스캔이 진행되지 않도록 할 수 있다.
84 단계에서 스캔평가부(7)는 42 단계에서 추정된 3차원 모델로부터 62 단계에서 추출된 프리미티브 영역 외의 나머지 영역의 등위점들을 추출한다. 85 단계에서 스캔평가부(7)는 84 단계에서 추출된 나머지 영역의 각 등위점마다 각 등위점과 이것에 가장 가깝게 위치하는 프리미티브 영역의 등위점간의 거리와 법선방향 차이로부터 84 단계에서 추출된 나머지 영역의 각 등위점의 프리미티브 신뢰도를 산출한다. 예를 들어, 스캔평가부(7)는 그 거리와 법선방향 차이의 합산의 역수를 각 등위점의 프리미티브 신뢰도로 할 수 있다. 86 단계에서 스캔평가부(7)는 83 단계에서 산출된 프리미티브 영역의 각 등위점의 프리미티브 신뢰도와 85 단계에서 산출된 나머지 영역의 각 등위점의 프리미티브 신뢰도를 0~1 사이의 값으로 정규화한다.
도 9는 도 3에 도시된 3차원 자동 스캔 방법의 다른 예를 도시한 도면이다. 도 9에는 도 4에 도시된 예의 다른 예로서, 도 3에 도시된 단계들 중 32~34 단계의 구체적인 예가 도시되어 있다. 91 단계에서 모델생성부(5)는 스캐너(3)에 의해 생성된 대상물(100)의 3차원 스캔 데이터를 획득한다. 92 단계에서 모델생성부(5)는 91 단계에서 획득된 대상물(100)의 3차원 스캔 데이터에 대해 포아송 복원을 수행함으로써 대상물(100)의 3차원 모델을 추정한다. 93 단계에서 형상인식부(6)는 92 단계에서 추정된 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출한다. 이와 같이, 91~93 단계는 도 4에 도시된 예의 41~43 단계와 동일하다.
94 단계에서 형상인식부(6)는 93 단계에서 검출된 각 프리미티브의 형상과 93 단계에서 검출된 각 프리미티브의 영역을 스캔할 때에 사용된 스캐너의 뷰프러스텀(view frustum)의 경계로부터 각 프리미티브의 스캔되지 않은 부분을 예측하고, 예측된 부분을 이용하여 92 단계에서 추정된 3차원 모델을 보완한다. 이와 같이, 본 실시예는 각 프리미티브의 스캔되지 않은 부분을 예측하고, 예측된 부분을 이용하여 3차원 모델을 보완하기 때문에 각 프리미티브의 스캔되지 않은 부분에 대한 스캔을 미리 차단할 수 있고, 그 결과 스캔의 반복 회수를 대폭 낮출 수 있다. 나아가, 각 프리미티브의 스캔되지 않은 부분이 좁은 틈 등, 스캔이 물리적으로 불가능하거나 어려운 부분인 경우에 3차원 모델의 정확도를 대폭 높일 수 있다.
형상인식부(6)는 각 프리미티브의 스캔되지 않은 부분을 그 뷰프러스텀의 경계 외측의 등위면 상에 투영(project)시키고, 이와 같이 투영된 부분의 등위점들을 각 프리미티브에 편입시킴으로써 92 단계에서 추정된 3차원 모델을 보완한다. 보다 상세하게 설명하면, 형상인식부(6)는 어떤 프리미티브의 스캔되지 않은 부분을 그 뷰프러스텀의 경계 외측의 등위면 상에 투영시키고, 이와 같이 투영된 부분의 등위점들 각각의 값에 그 프리미티브의 라벨을 할당하고 등위점들 각각의 좌표값을 그 프리미티브의 형상에 부합하도록 조정함으로써 이와 같이 투영된 부분의 등위점들을 각 프리미티브에 편입시킨다. 스캔되지 않은 부분의 등위면은 실제 측정된 표면이 아닌, 포아송 복원에 따라 예측된 표면이기 때문에 그 등위면보다는 프리미티브 파라미터들에 의해 정의되는 프리미티브 형상의 표면이 더 정확하다고 볼 수 있다.
도 10은 도 9에 도시된 94 단계에서의 프리미티브 투영 예를 도시한 도면이다. 도 10을 참조하면, 대상물(100)이 원통인 예가 도시되어 있다. 3차원 모델의 정합영역, 즉 스캔된 영역에서 원통 타입에 해당하는 프리미티브가 검출되었다. 도 10에 도시된 바와 같이 위치한 스캐너(3)의 뷰프러스텀 내에 그 프리미티브 전체가 들어가지 않음에 따라 뷰프러스텀의 경계에 의해 프리미티브 일부가 잘려 나간 상태의 스캔점들이 스캐너(3)에 의해 생성된다. 형상인식부(6)는 그 프리미티브의 파라미터들로부터 프리미티브의 전체 형상을 알 수 있다. 이에 따라, 형상인식부(6)는 프리미티브의 파라미터들로 정의되는 전체 형상과 그 프리미티브의 영역 스캔에 사용된 뷰프러스텀의 경계로부터 프리미티브의 스캔되지 않은 부분을 예측할 수 있다.
도 10을 참조하면, 프리미티브의 스캔점들이 존재하는 뷰프러스텀 내의 영역은 부호 "101"로 표시되어 있다. 뷰프러스텀의 경계에 의해 프리미티브가 잘린 부분은 굵은 실선(102)으로 표시되어 있다. 굵은 실선(102)의 화살표 방향 외측이 프리미티브의 스캔점들이 존재하는 뷰프러스텀의 경계 외측에 해당한다. 형상인식부(6)는 프리미티브의 스캔되지 않은 부분을 굵은 실선(102)의 화살표 방향 외측 영역의 등위면 상에 투영시키고, 이와 같이 투영된 부분의 등위점들을 도 10에 도시된 원통 프리미티브에 편입시킨다.
95 단계에서 모델생성부(5)는 91 단계에서 획득된 3차원 스캔 데이터의 스캔점들과 및 94 단계에서 투영에 의해 각 프리미티브에 편입된 등위점들을 갖는 3차원 모델에 대해 포아송 복원을 수행함으로써 대상물(100)의 3차원 모델을 다시 추정한다. 92 단계에서의 포아송 복원은 3차원 스캔 데이터의 스캔점들에 대해서 수행되나, 95 단계에서의 포아송 복원은 스캔점들과 각 프리미티브에 편입된 등위점들에 대해서 수행된다는 점을 제외하고는 92 단계와 동일하다. 96 단계에서 형상인식부(6)는 95 단계에서 추정된 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출한다. 97 단계에서 형상인식부(6)는 96 단계에서 검출된 적어도 하나의 프리미티브의 형상에 부합하도록 95 단계에서 추정된 3차원 모델을 수정한다. 97 단계는 44 단계에서 설명한 것과 동일한 이유로 반드시 수행되어야 하는 필수 과정이 아니며 생략될 수도 있다.
98 단계에서 스캔평가부(7)는 98 단계에서 수정된 3차원 모델의 프리미티브 영역의 등위점들과 95 단계에서 추정된 3차원 모델의 등위점들간의 거리와 법선방향 차이로부터 95 단계에서 추정된 3차원 모델의 각 등위점의 프리미티브 신뢰도를 산출한다. 99 단계에서 스캔평가부(7)는 95 단계에서 추정된 3차원 모델의 각 등위점 주변의 형상과 스캔점 밀도로부터 95 단계에서 추정된 3차원 모델의 각 등위점의 평활도 신뢰도를 산출한다. 910 단계에서 스캔평가부(7)는 95 단계에서 추정된 3차원 모델의 각 등위점 주변의 스캔점 밀도 변화율로부터 95 단계에서 추정된 3차원 모델의 각 등위점의 그래디언트 신뢰도를 산출한다.
911 단계에서 스캔평가부(7)는 98 단계에서 산출된 각 등위점의 프리미티브 신뢰도, 99 단계에서 산출된 각 등위점의 평활도 신뢰도, 및 910 단계에서 산출된 각 등위점의 그래디언트 신뢰도로부터 95 단계에서 추정된 3차원 모델의 각 등위점의 최종 신뢰도를 산출함으로써 95 단계에서 추정된 3차원 모델의 전체 등위점들의 신뢰도 분포를 나타내는 신뢰도맵을 생성한다. 96~911 단계는 도 4에 도시된 43~48 단계로 동일하므로 이것에 대한 자세한 설명은 43~48 단계에 대한 설명으로 갈음으로 하기로 한다.
한편, 상술한 바와 같은 본 발명의 일 실시예에 따른 3차원 자동 스캔 방법은 컴퓨터의 프로세서에서 실행 가능한 프로그램으로 작성 가능하고, 이 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 실행시키는 컴퓨터에서 구현될 수 있다. 컴퓨터는 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 임베디드 타입의 컴퓨터 등 프로그램을 실행시킬 수 있는 모든 타입의 컴퓨터를 포함한다. 또한, 상술한 본 발명의 일 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 램(RAM), 롬(ROM), 마그네틱 저장매체(예를 들면, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1 ... 턴테이블
2 ... 로봇암
3 ... 스캐너
4 ... 사용자인터페이스
5 ... 모델생성부
6 ... 형상인식부
7 ... 스캔평가부
8 ... 제어부
9 ... 스토리지

Claims (16)

  1. 대상물의 3차원 스캔 데이터에 기초하여 상기 대상물의 표면을 복원함으로써 상기 3차원 스캔 데이터로부터 상기 대상물의 3차원 모델을 추정하는 단계;
    적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 상기 추정된 3차원 모델의 형상을 인식하는 단계;
    상기 형상 인식에 이용된 적어도 하나의 프리미티브와 상기 추정된 3차원 모델의 형상간의 유사도에 기초하여 상기 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하는 단계; 및
    상기 표면점들 각각의 신뢰도에 기초하여 결정된 일련의 뷰(view)에서 상기 대상물을 스캔하는 단계를 포함하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  2. 제 1 항에 있어서,
    상기 형상을 인식하는 단계는 상기 3차원 모델의 형상에 들어맞는(fitted) 적어도 하나의 프리미티브를 검출하고, 상기 검출된 적어도 하나의 프리미티브를 이용하여 상기 추정된 3차원 모델의 형상을 인식하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  3. 제 2 항에 있어서,
    상기 형상을 인식하는 단계는 상기 3차원 모델의 표면 중 상기 3차원 스캔 데이터의 스캔점들이 존재하는 영역에서 상기 3차원 모델의 형상에 들어맞는 적어도 하나의 프리미티브를 검출하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  4. 제 2 항에 있어서,
    상기 검출된 적어도 하나의 프리미티브의 형상에 부합하도록 상기 3차원 모델을 수정하는 단계를 더 포함하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  5. 제 4 항에 있어서,
    상기 신뢰도를 평가하는 단계는 상기 수정된 3차원 모델의 프리미티브 영역의 표면점들과 상기 추정된 3차원 모델의 표면점들간의 거리와 법선방향 차이에 기초하여 상기 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  6. 제 4 항에 있어서,
    상기 3차원 모델을 추정하는 단계는 상기 3차원 스캔 데이터에 대해 포아송 복원을 수행함으로서 상기 대상물의 3차원 모델을 추정하고,
    상기 신뢰도를 평가하는 단계는 상기 수정된 3차원 모델의 프리미티브 영역의 등위점들과 상기 추정된 3차원 모델의 등위점들간의 거리와 법선방향 차이로부터 상기 추정된 3차원 모델의 각 등위점의 프리미티브 신뢰도를 산출하고, 상기 산출된 각 등위점의 프리미티브 신뢰도에 기초하여 상기 추정된 3차원 모델의 등위점들 각각에 대한 신뢰도를 평가하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  7. 제 6 항에 있어서,
    상기 신뢰도를 평가하는 단계는
    상기 추정된 3차원 모델의 각 등위점의 프리미티브 신뢰도를 산출하는 단계;
    상기 추정된 3차원 모델의 각 등위점의 평활도 신뢰도를 산출하는 단계;
    상기 추정된 3차원 모델의 각 등위점의 그래디언트 신뢰도를 산출하는 단계; 및
    상기 산출된 각 등위점의 프리미티브 신뢰도, 상기 산출된 각 등위점의 평활도 신뢰도, 및 상기 산출된 각 등위점의 그래디언트 신뢰도로부터 상기 추정된 3차원 모델의 각 등위점의 최종 신뢰도를 산출하는 단계를 포함하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  8. 제 2 항에 있어서,
    상기 검출된 각 프리미티브의 형상과 상기 각 프리미티브의 영역을 스캔할 때에 사용된 스캐너의 뷰프러스텀(view frustum)의 경계로부터 상기 각 프리미티브의 스캔되지 않은 부분을 예측하고, 상기 예측된 부분을 이용하여 상기 추정된 3차원 모델을 보완하는 단계를 더 포함하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  9. 제 8 항에 있어서,
    상기 보완하는 단계는 상기 각 프리미티브의 스캔되지 않은 부분을 상기 뷰프러스텀의 경계 외측의 등위면 상에 투영(project)시키고, 상기 투영된 부분의 표면점들을 상기 각 프리미티브에 편입시킴으로써 상기 추정된 3차원 모델을 보완하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  10. 제 2 항에 있어서,
    상기 추정된 3차원 모델의 표면점들간의 법선방향 유사도와 근접도를 기준으로 상기 검출된 각 프리미티브에 이웃하는 표면점들을 상기 각 프리미티브에 편입시킴으로써 상기 각 프리미티브의 영역을 확장하는 단계를 더 포함하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  11. 제 10 항에 있어서,
    상기 추정된 3차원 모델의 등위면을 패치들로 분할하는 단계를 더 포함하고,
    상기 각 프리미티브의 영역을 확장하는 단계는 상기 추정된 3차원 모델의 표면점들간의 법선방향 유사도와 근접도를 기준으로 상기 검출된 각 프리미티브에 이웃하는 패치들을 각 프리미티브에 편입시킴으로써 상기 각 프리미티브의 영역을 확장하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  12. 제 1 항에 있어서,
    상기 형상 인식에 이용된 복수의 프리미티브간의 배치 구조로부터 스캔 회피 영역을 추정하고, 상기 표면점들 각각의 신뢰도와 상기 추정된 스캔 회피 영역에 기초하여 상기 일련의 뷰를 결정하는 단계를 더 포함하는 것을 특징으로 하는 특징으로 하는 3차원 자동 스캔 방법.
  13. 제 12 항에 있어서,
    상기 일련의 뷰를 결정하는 단계는 상기 복수의 프리미티브가 서로 맞닿아 있는가를 확인하고, 상기 서로 맞닿아 있는 복수의 프리미티브의 경계를 상기 스캔 회피 영역으로 추정하는 것을 특징으로 하는 특징으로 하는 3차원 자동 스캔 방법.
  14. 제 1 항에 있어서,
    상기 적어도 하나의 프리미티브는 평면, 원통, 원뿔, 구 및 토러스를 포함하는 프리미티브 중에서 적어도 하나의 타입의 프리미티브에 해당하는 것을 특징으로 하는 3차원 자동 스캔 방법.
  15. 제 1 항 내지 제 14 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  16. 대상물의 3차원 스캔 데이터로부터 상기 대상물의 3차원 모델을 추정하는 모델생성부;
    적어도 하나의 프리미티브와의 피팅(fitting)을 이용하여 상기 추정된 3차원 모델의 형상을 인식하는 형상인식부;
    상기 형상 인식에 이용된 적어도 하나의 프리미티브와 상기 추정된 3차원 모델의 형상간의 유사도에 기초하여 상기 추정된 3차원 모델의 표면점들 각각에 대한 신뢰도를 평가하는 스캔평가부; 및
    상기 표면점들 각각의 신뢰도에 기초하여 결정된 일련의 뷰(view)에서 상기 대상물을 스캔하는 스캐너를 포함하는 것을 특징으로 하는 3차원 자동 스캔 시스템.
KR1020190041590A 2019-04-09 2019-04-09 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템 KR102140594B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190041590A KR102140594B1 (ko) 2019-04-09 2019-04-09 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템
CN202010006404.7A CN111798569A (zh) 2019-04-09 2020-01-03 基于基元的三维自动扫描方法及系统
US16/794,223 US11519714B2 (en) 2019-04-09 2020-02-19 Method and system for three-dimensional automatic scan based primitive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190041590A KR102140594B1 (ko) 2019-04-09 2019-04-09 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102140594B1 true KR102140594B1 (ko) 2020-08-03

Family

ID=72042802

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190041590A KR102140594B1 (ko) 2019-04-09 2019-04-09 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템

Country Status (3)

Country Link
US (1) US11519714B2 (ko)
KR (1) KR102140594B1 (ko)
CN (1) CN111798569A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112729251A (zh) * 2020-12-23 2021-04-30 上海微电机研究所(中国电子科技集团公司第二十一研究所) 一种柔性扫描机械臂系统及柔性扫描方法
CN112902868A (zh) * 2021-01-20 2021-06-04 上海云铸三维科技有限公司 一种随形轮廓扫描表面形貌的方法及装置
DE102022207647A1 (de) 2022-07-26 2024-02-22 Volkswagen Aktiengesellschaft Verfahren und Überprüfungseinrichtung zum Überprüfen einer Bauteilform basierend auf lokalen Abweichungen von einer Sollgeometrie

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090353A (ko) * 2016-01-20 2018-08-10 미쓰비시덴키 가부시키가이샤 3차원 계측 장치 및 그 계측 지원 처리 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837026B2 (en) * 2004-07-23 2014-09-16 3Shape A/S Adaptive 3D scanning
US20140192050A1 (en) * 2012-10-05 2014-07-10 University Of Southern California Three-dimensional point processing and model generation
CN104063894B (zh) * 2014-06-13 2017-02-22 中国科学院深圳先进技术研究院 点云三维模型重建方法及系统
CN107578470B (zh) * 2017-10-16 2020-11-06 北京锐安科技有限公司 一种三维模型处理方法、装置、服务器及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090353A (ko) * 2016-01-20 2018-08-10 미쓰비시덴키 가부시키가이샤 3차원 계측 장치 및 그 계측 지원 처리 방법

Also Published As

Publication number Publication date
US20200326173A1 (en) 2020-10-15
CN111798569A (zh) 2020-10-20
US11519714B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
KR102140594B1 (ko) 프리미티브 기반의 3차원 자동 스캔 방법 및 시스템
US20220207749A1 (en) Utilizing soft classifications to select input parameters for segmentation algorithms and identify segments of three-dimensional digital models
CN113424224A (zh) 识别并保留优选点的合并点云的方法
CN104573614A (zh) 用于跟踪人脸的设备和方法
KR20080007114A (ko) 자동 3차원 스캔 데이터 정렬 시스템 및 방법
Yacob et al. Anomaly detection in Skin Model Shapes using machine learning classifiers
Raffaeli et al. Off-line view planning for the inspection of mechanical parts
US20220004674A1 (en) Parallelized vehicle impact analysis
CN110310322B (zh) 一种10微米级高精度器件装配表面检测方法
Kang et al. An efficient planar feature fitting method using point cloud simplification and threshold-independent BaySAC
US20220004675A1 (en) Vehicle impact analysis with two-point-contact curves
US20210150078A1 (en) Reconstructing an object
CN110490865B (zh) 基于螺柱高反光特性的螺柱点云分割方法
CN117292337A (zh) 遥感图像目标检测方法
Takashima et al. Recognition of free-form features for finite element meshing using deep learning
Álvarez et al. Junction assisted 3d pose retrieval of untextured 3d models in monocular images
Vančo et al. Surface reconstruction from unorganized point data with quadrics
JP5960642B2 (ja) 3次元情報取得方法及び3次元情報取得装置
JPH05280941A (ja) 3次元形状入力装置
WO2022222160A1 (en) Method and apparatus for identifying planes of objects in 3d scenes
Bazazian et al. Segmentation-based multi-scale edge extraction to measure the persistence of features in unorganized point clouds
Rios et al. Back to meshes: Optimal simulation-ready mesh prototypes for autoencoder-based 3D car point clouds
Panchal et al. Surface remeshing using quadric based mesh simplification and minimal angle improvement
EP4310779A1 (en) Segmenting a building scene
KR102253089B1 (ko) 전자파 산란 해석 장치 및 그 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant