KR20220005428A - 이동식 스캐너를 사용한 텍스처 모델 생성 - Google Patents

이동식 스캐너를 사용한 텍스처 모델 생성 Download PDF

Info

Publication number
KR20220005428A
KR20220005428A KR1020217024830A KR20217024830A KR20220005428A KR 20220005428 A KR20220005428 A KR 20220005428A KR 1020217024830 A KR1020217024830 A KR 1020217024830A KR 20217024830 A KR20217024830 A KR 20217024830A KR 20220005428 A KR20220005428 A KR 20220005428A
Authority
KR
South Korea
Prior art keywords
scanner
color
pixel
object surface
data
Prior art date
Application number
KR1020217024830A
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 아르텍 유럽, 에스.에이.알.엘.
Publication of KR20220005428A publication Critical patent/KR20220005428A/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/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/514Depth or shape recovery from specularities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation

Abstract

방법은 하나 이상의 광학 센서를 구비한 이동식 스캐너에서 수행된다. 방법은 이동식 스캐너를 사용하여 표면을 갖는 물체를 스캐닝하는 단계를 포함한다. 스캐닝은 물체에 대해 이동식 스캐너의 복수의 방향으로부터 컬러 데이터를 생성한다. 방법은 적어도 컬러 데이터를 사용하여 물체 표면의 픽셀 맵을 생성하는 단계를 더 포함하고, 픽셀 맵은 복수의 픽셀의 각각의 픽셀마다, 물체 표면 상의 대응하는 지점의 컬러 값; 및 물체 표면 상의 대응하는 지점의 비컬러 특성에 대한 값을 포함한다.

Description

이동식 스캐너를 사용한 텍스처 모델 생성
본 발명은 일반적으로 텍스처 모델을 생성하는 것에 관한 것으로, 더욱 특히 구조화 광 3차원 스캐너(structured light three-dimensional scanner) 및/또는 사진 측량 스캐너(photogrammetry scanner)와 같은 이동식 스캐너를 사용하여 텍스처 모델을 생성하는 것에 관한 것이다.
컴퓨터 그래픽의 목표는 다양한 조명 조건 하에서 컬러를 포함한 물체의 물리적 외관을 정확하게 모델링하는 것이다. 그렇게 하려면, 물체에 대한 텍스처 모델이 있어야 한다. 물리적으로 정확한 텍스처 모델을 생성하는 것은 컬러를 관찰하기 위해 단순히 물체의 사진을 찍는 것보다 더 복잡하다. 예를 들어, 사람이 물체의 사진을 찍을 때, 사진은 사진을 찍을 때 존재했던 특정의 조명 조건 하에서 물체가 어떻게 보이는지만을 나타낸다. 또한, 플래시와 같은 특정의 조명 조건은 사진에 스트레이 하이라이트(stray highlight)(예를 들어, 과도하게 밝고 빛나게 보이는 물체의 영역)를 남길 수 있다.
따라서, 임의의 추가 프로세싱 없이 물체의 3D 모델이 이러한 사진으로부터 텍스처링된 경우(예를 들어, 텍스처 모델이 이러한 사진을 사용하여 생성된 경우), 3D 모델은 물리적으로 정확하지 않은 것처럼 보일 것이다. 물리적으로 정확한 텍스처 모델을 생성함에 있어서 도전 과제는, 예를 들어 단일 사진에 존재하는 특성보다는 물체의 외관에 영향을 미치는 물리적 특성의 모델을 생성하는 것이다. 이러한 모델은 상이한 각도로부터 다양한 조명 조건에서 물체의 텍스처를 정확하게 나타낼 수 있도록 하는 애니메이션에 특히 유용하다.
일부 실시형태에 따르면, 물체에 대한 텍스처 모델을 생성하는 방법이 제공된다. 방법은 표면을 갖는 물체를 스캐닝하는 단계를 포함한다. 스캐닝은 물체에 대해 3D 스캐너의 복수의 방향으로부터 컬러 데이터를 생성한다. 방법은 적어도 컬러 데이터를 사용하여 물체 표면의 픽셀 맵을 생성하는 단계를 더 포함하고, 픽셀 맵은 복수의 픽셀의 각각의 픽셀마다, 물체 표면 상의 대응하는 지점의 컬러 값; 및 물체 표면 상의 대응하는 지점의 비컬러(non-color) 특성에 대한 값을 포함한다.
일부 실시형태에 따르면, 물체의 텍스처 모델을 생성하기 위한 전자 시스템이 제공된다. 전자 시스템은 하나 이상의 광학 센서, 하나 이상의 프로세서, 및 메모리를 포함하는 스캐너(예를 들어, 이동식 3D 스캐너와 같은 이동식 스캐너)를 포함한다. 메모리는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서가 본 명세서에 설명된 방법 중 임의의 것을 수행하게 하는 명령어를 저장한다.
일부 실시형태에 따르면, 비일시적 컴퓨터 판독가능 저장 매체가 제공된다. 비일시적 컴퓨터 판독가능 저장 매체는 하나 이상의 프로세서, 메모리, 및 하나 이상의 광학 센서를 포함하는 이동식 스캐너를 구비한 전자 시스템에 의해 실행될 때 하나 이상의 프로세서가 본 명세서에 설명된 방법 중 임의의 것을 수행하게 하는 명령어를 저장한다.
설명되는 다양한 실시형태에 대한 이해를 촉진하기 위해, 하기 실시형태를 이하의 도면과 관련하여 설명할 것이고, 여기서 도면 전체에 걸쳐서 유사한 참조 번호는 대응하는 부분을 지칭한다.
도 1a 내지 도 1b는 일부 실시형태에 따른 3D 스캐너의 다양한 도면을 도시한다.
도 2는 일부 실시형태에 따른 3D 스캐너의 블록도이다.
도 3은 일부 실시형태에 따른 데이터 획득 환경의 개략도이다.
도 4는 일부 실시형태에 따른, 도 3에 나타낸 데이터 획득 환경으로부터 수집된 데이터의 예측적인 예이다.
도 5a 내지 도 5c는 일부 실시형태에 따른, 물체의 텍스처링된 3D 표현을 생성하기 위해 사용되는 물체 표면의 이미지의 개략적인 예를 도시한다.
도 5d는 일부 실시형태에 따라 생성된, 도 5a 내지 도 5c에 나타낸 물체의 텍스처링된 3D 표현의 개략적인 예를 도시한다.
도 6은 일부 실시형태에 따른 3D 스캐너의 기계도이다.
도 7a 내지 도 7d는 일부 실시형태에 따른 물체에 대한 텍스처 모델을 생성하는 방법의 흐름도를 도시한다.
개시된 실시형태는 물체의 사실적인 텍스처 맵을 생성하기 위해 이동식 스캐너에 의해 얻어진 컬러 데이터를 사용한다. 일부 실시형태에서, 이동식 스캐너는 3차원(3D) 스캐너(예를 들어, 물체 표면의 3D 모델을 구축하는 디바이스)이다. 이들 3D 스캐너는 물리적 물체의 사실적인 텍스처링된 3D 표현을 생성하는 데 사용된다. 일부 3D 스캐너는 후술되는 구조화 광 접근 방식을 기반으로 하는 반면, 다른 스캐너는 사진 측량 접근 방식을 기반으로 한다. 3차원 스캐너는 산업 디자인 및 제조, 컴퓨터화 애니메이션, 과학, 교육, 의학, 예술, 디자인, 및 기타를 포함한 많은 분야에 걸쳐 적용되고 있다.
기존의 3D 스캐너에 의하면, 사용자가 사용할 수 있는 유일한 유형의 픽셀당(per-pixel) 재료 정보는 일관성 없는 조도(illumination)로 조합된 컬러 맵이다. 이러한 스캐너에 의하면, 물체 표면의 제공된 영역의 관찰 값에 기초하여 각 픽셀마다 적색, 녹색, 청색(RGB) 값이 생성된다. 예를 들어, 각 픽셀마다 다른 컬러 값이 평균화되거나 컬러 값 중 하나가 대표(예를 들어, 가장 밝은 픽셀)로 선택된다. 다시 말해, 이들 스캐너에 의해 생성된 텍스처는 컬러 텍스처의 각 픽셀이 캡처된 방향 및 강도뿐만 아니라 반사된 광의 행동 양식에 관계없이 조합된다. 결과적인 컬러 맵은 일관성 없는 조명 및 음영 정보를 포함하고, 물체의 실사 렌더링(photorealistic rendering)에 도움이 되는 재료 정보를 포함하지 않는다.
대안적으로, 재료의 실사 텍스처 모델을 생성하도록 특별히 설계되는 종래 시스템은 일반적으로 정밀하게 배치되고 신중하게 교정된 조명 및 카메라의 복잡한 시스템을 필요로 한다.
본 개시는 정밀하게 배치되고 신중하게 교정된 조명 및 카메라의 복잡한 시스템에 대한 필요없이 이동식 스캐너(예를 들어, 3D 스캐너)를 사용하여 물체의 진 표면 컬러(true surface color)로부터 일관성 없는 조도 및 음영을 분리하는 시스템 및 방법을 제공한다. 또한, 본 명세서에 제공된 시스템 및 방법은 물체에 대한 텍스처 맵의 각 픽셀마다 재료 특성(반사율, 정반사 컬러(specular color), 금속성(metalness), 표면 거칠기)이 측정될 수 있게 한다. 이것은 상이한 값이 캡처된 방향에 대한 정보를 제공하는 추적 데이터와 함께 (예를 들어, 스캐너가 물체에 대해 이동될 때 상이한 방향에서 캡처된) 물체 표면의 상이한 이미지로부터의 대응하는 픽셀을 사용하여 수행된다. 다시 말해, 일부 실시형태에서, 3D 스캐너는 다양한 픽셀에 대한 컬러 값(예를 들어, RGB 값)을 수집하고 해당 값이 캡처되는 각도를 기록한다. 대응하는 픽셀로부터의 컬러 값은 물체 표면에 다양한 각도로 입사하는 광의 행동 양식을 기술하는 수식(예를 들어, 램버시안 확산 모델(Lambertian diffuse model) 또는 더 복잡한 텍스처 모델)을 사용하는 재료 특성에 관한 것이다. 이 프로세스는 각 픽셀 지점마다의 보정된 단일 RGB 값을 산출하여, 스트레이 하이라이트를 제거한다. 또한, 최대 정반사 값 및 이 값이 발생하는 각도와 같은 특성이 연산될 수 있다.
이들 시스템 및 방법은 3D 스캐닝에 의해 생성된 텍스처 모델의 상당한 개량을 가능하게 한다. 또한, 이들 시스템 및 방법은 다양한 재료 특성을 검출하는 데 도움을 준다.
이제 실시형태를 언급할 것이고, 이들 예는 첨부 도면에 도시되어 있다. 이하의 설명에서는, 설명되는 다양한 실시형태의 완전한 이해를 제공하기 위해 다수의 구체적인 상세가 제시된다. 그러나, 이러한 구체적인 상세없이도 설명되는 다양한 실시형태가 실시될 수 있다는 것이 당업자에게 명백할 것이다. 다른 예에서, 당업자에게 잘 알려진 방법, 절차, 구성요소, 회로 및 네트워크는 실시형태의 발명의 양태를 불필요하게 모호하게 하지 않도록 상세하게 설명되지 않는다.
도 1a 내지 도 1b는 일부 실시형태에 따른 3D 스캐너(100)의 정면도 및 배면도를 도시한다. 일부 실시형태에서, 3D 스캐너(100)는 물체의 사실적인 컬러 맵이 생성될 수 있는 데이터를 획득하는 데 사용된다. 그러나, 3D 스캐너(100)는 이러한 디바이스의 예시일 뿐이라는 것을 이해해야 한다. 다른 디바이스(예를 들어, 사진 측량 스캐너)가 또한 본 개시의 실시형태에 따른 물체의 사실적인 컬러 맵을 생성하는 데 사용될 수 있다.
스캐너(100)는 본체 하우징(102), 핸들(108), 및 (예를 들어, 배터리를 수용하는) 배터리 하우징(110)을 포함한다. 일부 실시형태에서, 3D 스캐너(100)는 휴대용 핸드헬드 스캐너이다. 이를 위해, 일부 실시형태에서, 3D 스캐너(100)는 30cm x 30cm x 30cm 미만의 치수를 갖는다(예를 들어, 30cm x 30cm x 30cm 치수를 갖는 박스 내부에 피팅된다). 일부 실시형태에서, 3D 스캐너(100)는 사람이 한 손으로 운반할 정도로 충분히 가볍다(예를 들어, 3D 스캐너(100)의 무게는 약 2.5kg이다).
일부 실시형태에서, 본체 하우징(102)은 핸들(108)로부터 분리될 수 있다. 일부 실시형태에서, 본체 하우징(102)은 장착 지점(112)(예를 들어, 장착 지점(112a) 내지 장착 지점(112c))을 통해 별도의 장치(예를 들어, 로봇 전동화 스캐닝 암)에 (예를 들어, 핸들(108) 및 배터리 하우징(110) 없이) 장착될 수 있다. 따라서, 3D 스캐너(100)는 핸드헬드 스캐너로부터 산업용 또는 실험실용 스캐너로 변환될 수 있다.
일부 실시형태에서, 3D 스캐너(100)는, 물체 표면에 광의 공간 패턴(본 명세서에서는 "구조화 광"이라고 지칭함)을 투영하고 광의 공간 패턴이 물체 표면에 투영되는 동안 광학 센서(예를 들어, 카메라)를 사용하여 물체 표면의 이미지를 획득함으로써 물체의 3D 모델을 생성한다. 이를 위해, 본체 하우징(102)은 하나 이상의 내부 광원(예를 들어, VCSEL 레이저(606)(도 6)) 및 소스 광학 장치(104)를 하우징한다. 하나 이상의 내부 광원은 소스 광학 장치(104)를 통해 물체 표면에, 본체 하우징(102) 내부의 공간적으로 패터닝된 슬라이드(예를 들어, 슬라이드(616)(도 6))를 통해 특정 주파수에서 스트로보스코프 방식으로 광을 투영한다(예를 들어, 펄스 광을 투영한다). 물체 표면에 투영된 구조화 광의 이미지는 본체 하우징(102)에 의해 하우징된 카메라 광학 장치(106)를 통해 획득된다. 하나 이상의 카메라/센서(예를 들어, CCD 검출기(602)(도 6))는 물체 표면 상에 투영된 구조화 광의 이미지를 기록한다. 물체 표면의 형상의 3D 모델은, 발명의 명칭이 "System and Method for Three-Dimensional Measurement of the Shape of Material Objects"이고, 그 전문이 참조로 본 명세서에 포함되는 미국 특허 제7,768,656호에 더욱 상세히 설명되어 있는 바와 같이, 물체 표면에 투영된 광의 패턴의 왜곡에 의해 결정될 수 있다(즉, 물체 표면의 형상으로 인해 왜곡이 유발되는 경우).
일부 실시형태에서, 내부 광원은 레이저이다. 일부 실시형태에서, 내부 광원은 수직 캐비티 면발광 레이저(vertical-cavity surface-emitting laser: VCSEL)이다. 일부 실시형태에서, 3D 스캐너(100)는 클래스 1 광원으로 작동하며, 이는 레이저가 본체 하우징(102) 외부의 모든 곳에서 클래스 1(즉, 본 개시의 출원일의 미국연방규정집(CFR) 파트 1040의 21 코드에 의해 정의됨)로 간주된다는 것을 의미한다
일부 실시형태에서, 3D 스캐너(100)는 실외 일광 조건에서 획득된 이미지가 (예를 들어, 적어도 0.1mm, 0.2mm, 0.3mm, 0.4mm, 또는 0.5mm의 정확도로; 또는 대안적으로 0.25mm, 0.5mm, 0.75mm, 또는 1mm의 해상도로) 물체의 적어도 일부의 3D 형상을 재구성하기에 충분한 신호 대 잡음비를 갖도록 물체 표면의 충분한 조도를 제공함에 유의해야 한다. 레이저가 클래스 1 범위에서 작동하는 것을 보장하기 위한 일반적인 접근 방식은, 광이 하우징을 나갈 때까지 광이 클래스 1로 간주될 정도로 충분히 감쇠되도록 큰 하우징으로 레이저를 에워싸는 것이다. 이 접근 방식은 핸드헬드 스캐너가 비교적 작은 크기(예를 들어, 30cm x 30cm x 30cm 미만)를 가져야 하기 때문에 핸드헬드 스캐너에는 적용되지 않는다. 본 개시의 일부 실시형태는 본체 하우징(102)으로 에워싸인 광원을 펄스 폭, 피크 전력, 반복율 및/또는 듀티 사이클의 적절한 선택을 통해 클래스 1 광원으로서 작동시켜, 스캐너(100)가 핸드헬드형이고, 안전하고 정상적인 일광 조건(예를 들어, 120,000lux, 100,000lux, 20,000lux, 2,000lux 또는 1,000lux)에서 작동 가능하게 한다. 이것은 또한 스캐너(100)가 비교적 짧은 최소 작동 거리(예를 들어, 35mm 이하인 최소 작동 거리)를 가질 수 있게 한다.
또한, 구조화 광 데이터로부터 신호 대 잡음을 증가시키고 구조화 광 데이터를 텍스처(예를 들어, 컬러) 데이터와 구별하기 위해, 일부 실시형태에서는, 전술한 VCSEL 레이저가 가시 스펙트럼 외측의 주파수(예를 들어, 적외선(IR) 주파수)로 작동된다. 이러한 실시형태에서, 본체 하우징(102)은 카메라 렌즈(예를 들어, 카메라 광학 장치(106)) 이외에, IR 광을 제1 광학 센서(예를 들어, CCD 검출기(602-a)(도 6))로 유도하고 가시광을 제2 광학 센서(예를 들어, CCD 검출기(602-b)(도 6))로 유도하는 IR/가시 빔 스플리터를 에워싼다. 일부 실시형태에서, 제1 광학 센서로부터의 데이터는 스트로보스코프 주파수에서의 데이터가 다른 주파수에서의 정보보다 우선적으로 검출되도록 하나 이상의 내부 광원으로부터의 스트로보스코프 광과 동기식으로 검출된다. 이것은, 예를 들어 광을 생성하는 하나 이상의 광원과 동기식으로 데이터를 수집하기 위해 동기식 복조를 사용하여 또는 제1 광학 센서를 게이팅함으로써 수행될 수 있다.
일부 실시형태에서, 본체 하우징(102)으로 에워싸인 제2 광학 센서(예를 들어, CCD 검출기(602-b)(도 6))는 텍스처 데이터(예를 들어, 컬러 데이터)를 획득한다. 일부 실시형태에서, 텍스처 데이터(예를 들어, 이미지)는 3D 재구성을 컬러로 렌더링하는 것뿐만 아니라 (예를 들어, 사진 측량 분석을 통해) 스캐너(100)의 위치 및/또는 회전을 추적하는 것을 위해 사용되며, 결국에는 (예를 들어, 도 3을 참조하여 후술하는 바와 같이) 물체에 대해 상이한 위치에서 3D 스캐너(100)에 의해 취해진 구조화 광 데이터(예를 들어, 3D 형상 데이터)를 등록(예를 들어, 정렬)하기 위해 사용된다.
일부 실시형태에서, 본체 하우징(102)은 또한 스캐너(100)의 움직임을 추적하는 하나 이상의 움직임 센서를 에워싼다. 하나 이상의 움직임 센서는 선택적으로 스캐너(100)의 위치 및/또는 회전을 측정하기 위해 3축 가속도계, 3축 자이로스코프, 및/또는 3축 자력계를 포함한다. 일부 실시형태에서, 하나 이상의 움직임 센서는 3축 가속도계, 3축 자이로스코프, 및 3축 자력계 중 3개 모두를 포함하므로, 스캐너(100)가 단지 6개의 기계적 자유도(즉, 3개의 위치 자유도 및 3개의 회전 자유도)를 갖는다는 사실에도 불구하고 9 자유도(DOF) 센서라고 지칭된다. 하나 이상의 움직임 센서로부터의 위치 및/또는 회전 데이터는 (예를 들어, 칼만 필터의 적용을 통해) 스캐너(100)의 위치 및/또는 회전을 추적하는 데 사용되어, 결국에는 (예를 들어, 도 3을 참조하여 후술하는 바와 같이) 물체에 대해 상이한 위치에서 스캐너(100)에 의해 취해진 구조화 광 데이터(예를 들어, 3D 형상 데이터) 및 컬러 데이터(예를 들어, 이미지)를 등록(예를 들어, 정렬)하는 데 사용된다.
온보드 자동 프로세싱을 용이하게 하기 위해(예를 들어, 물체의 적어도 초기 3D 재구성을 생성하기 위해), 사용자에게 완전한 모바일 스캐닝 경험을 제공하기 위해, 일부 실시형태에서 본체 하우징(102)은 하나 이상의 필드 프로그래머블 게이트 어레이, 하나 이상의 그래픽 프로세싱 유닛(GPU) 및/또는 하나 이상의 CPU를 포함한 복수의 프로세서를 하우징한다. 일부 실시형태에서, 본체 하우징(102)은 물체의 3D 모델의 적어도 초기 재구성(예를 들어, 물체의 3D 모델의 프리뷰)을 생성하기에 충분한 프로세싱을 포함한다.
일부 실시형태에서, 본체 하우징(102)은 스캐너(100)에 대한 그래픽 사용자 인터페이스를 표시하는 디스플레이(114)를 또한 하우징한다. 특히, 스캐너(100)가 물체를 스캐닝함에 따라, 스캐너(100)에 대한 그래픽 사용자 인터페이스는 물체의 초기 3D 재구성(예를 들어, 물체의 3D 재구성의 프리뷰)을 표시한다. 일부 실시형태에서, 디스플레이(114)는 터치 감응형 디스플레이(때로는 터치 스크린이라 불림)이고, 이에 따라 (예를 들어, 스캔을 시작하고, 스캔을 일시 중지하고, 스캔을 종료하고, 그렇지 않으면 스캐너(100)를 제어하기 위해) 사용자 입력도 수신할 수 있다.
도 2는 일부 실시형태에 따른 3D 스캐너(100) 및/또는 3D 스캐너(100)로부터 데이터를 수신하고 획득후 프로세싱을 수행하는 3D 데이터 프로세싱 컴퓨터 시스템(310)의 블록도이다(총칭하여, 스캐너(100) 및 시스템(310)을 "시스템(100/310)"이라 지칭한다). 일부 실시형태에서, 도 2에 설명된 다양한 모듈은 3D 스캐너와 3D 데이터 프로세싱 컴퓨터 시스템(310) 간에서 분할됨에 유의해야 한다.
시스템(100/310)은 일반적으로 메모리(204), 하나 이상의 프로세서(들)(202), 전원(206), 사용자 입력/출력(I/O) 서브시스템(208), 센서(209), 광원(211), 및 이들 구성요소를 상호 연결하기 위한 통신 버스(210)를 포함한다. 프로세서(들)(202)는 메모리(204)에 저장된 모듈, 프로그램, 및/또는 명령어를 실행하여 프로세싱 동작을 수행한다.
일부 실시형태에서, 프로세서(들)(202)는 적어도 하나의 그래픽 프로세싱 유닛을 포함한다. 일부 실시형태에서, 프로세서(들)(202)는 적어도 하나의 필드 프로그래머블 게이트 어레이를 포함한다.
일부 실시형태에서, 메모리(204)는 하나 이상의 프로그램(예를 들어, 명령어 세트) 및/또는 데이터 구조를 저장한다. 일부 실시형태에서, 메모리(204), 또는 메모리(204)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램, 모듈, 및 데이터 구조, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다:
· 운영 체제(212);
· 칼만 필터 모듈(214);
· 모션 추적 모듈(216);
· 컬러 추적 모듈(218);
· 3D 등록 모듈(220);
· 컬러 통일 모듈(222);
· 융합 모듈(224);
· 컬러 교정 모듈(226);
· 텍스처링 모듈(228); 및
· 버퍼(들), RAM, ROM, 및/또는 시스템(100/310)에 의해 사용 및 생성된 데이터를 저장하는 다른 메모리를 포함하는 스토리지(230).
상기 식별된 모듈(예를 들어, 명령어 세트를 포함하는 데이터 구조 및/또는 프로그램)은 별도의 소프트웨어 프로그램, 절차 또는 모듈로 구현될 필요가 없으므로, 이들 모듈의 다양한 서브세트가 다양한 실시형태에서 조합되거나 달리 재배열될 수 있다. 일부 실시형태에서, 메모리(204)는 상기 식별된 모듈의 서브세트를 저장한다. 또한, 메모리(204)는 전술되지 않은 추가 모듈을 저장할 수 있다. 일부 실시형태에서, 메모리(204), 또는 메모리(204)의 비일시적 컴퓨터 판독가능 저장 매체에 저장된 모듈은 후술하는 방법에서 각각의 동작을 구현하기 위한 명령어를 제공한다. 일부 실시형태에서, 이들 모듈 중 일부 또는 전부는 모듈 기능의 일부 또는 전부를 포함하는 특수 하드웨어 회로(예를 들어, FPGA)로 구현될 수 있다. 상기 식별된 요소 중 하나 이상은 프로세서(들)(202) 중 하나 이상에 의해 실행될 수 있다.
일부 실시형태에서, I/O 서브시스템(208)은 통신 네트워크(250)를 통해 그리고/또는 유선 및/또는 무선 연결을 통해 시스템(100/310)을 하나 이상의 원격 디바이스(들)(236)(예를 들어, 외부 디스플레이)와 같은 하나 이상의 디바이스에 통신 가능하게 결합한다. 일부 실시형태에서, 통신 네트워크(250)는 인터넷이다. 일부 실시형태에서, I/O 서브시스템(208)은 시스템(100/310)을 디스플레이(114)와 같은 하나 이상의 통합 또는 주변 디바이스에 통신 가능하게 결합한다.
일부 실시형태에서, 센서(209)는 3D 데이터를 수집하는 제1 광학 센서(예를 들어, CCD 검출기(602-a)(도 6)와 같은 제1 CCD 검출기), 텍스처(예를 들어, 컬러) 데이터를 수집하는 제2 광학 센서(예를 들어, CCD 검출기(602-b)(도 6)와 같은 제2 CCD 검출기), 및 모션 센서(예를 들어, MEMS(Microelectromechanical Systems), 자이로스코프, 및 하나 이상의 홀 센서(Hall sensor)를 사용하여 구현될 수 있는 9 DOF 센서)를 포함한다.
일부 실시형태에서, 광원(211)은 하나 이상의 레이저를 포함한다. 일부 실시형태에서, 하나 이상의 레이저는 수직 캐비티 면발광 레이저(VCSEL)를 포함한다. 일부 실시형태에서, 광원(211)은 또한 가시광을 생성하는 발광 다이오드(LED)의 어레이를 포함한다.
통신 버스(210)는 선택적으로 시스템 구성요소들 간의 통신을 상호 연결하고 제어하는 회로(때로는 칩셋이라 불림)를 포함한다.
도 3은 일부 실시형태에 따른 데이터 획득 환경(300)의 개략도이다. 데이터 획득 환경(300)에서, 3D 스캐너(100)는 표면을 갖는 물체(302)를 스캐닝한다. 스캐닝은 물체(302)에 대해 3D 스캐너(100)의 복수의 방향으로부터(예를 들어, 위치(304)로부터) 컬러 데이터(예를 들어, 물체 표면의 컬러 이미지)를 생성한다. 예를 들어, 도 3에서 3D 스캐너는 위치(304a)(제1 컬러 이미지를 획득하는 위치)로부터 위치(304b)(제2 컬러 이미지를 획득하는 위치)로, 위치(304c)(제3 컬러 이미지를 획득하는 위치)로 재배치된다. 일부 실시형태에서, 컬러 데이터(예를 들어, 컬러 이미지)를 획득하는 것과 동시에, 3D 스캐너(100)는 (예를 들어, 물체 표면에 광의 공간 패턴을 투영하고, 이어서, 광의 공간 패턴이 물체 표면에 투영되는 동안 (예를 들어, 컬러 이미지와는 상이한) 물체 표면의 이미지를 획득함으로써) 3차원(3D) 형상에 대응하는 데이터를 획득함에 유의해야 한다.
제1 컬러 이미지(위치(304a)에서 3D 스캐너(100)로 획득됨), 제2 컬러 이미지(위치(304b)에서 3D 스캐너(100)로 획득됨) 및 제3 컬러 이미지(위치(304c)에서 3D 스캐너(100)로 획득됨) 각각은 물체(302) 표면 상의 지점(306)을 각각 캡처함에 유의해야 한다. 즉, 물체(302) 표면 상의 지점(306)에 대응하는 각각의 제1, 제2 및 제3 컬러 이미지 내의 대응하는 픽셀이 있다. 일부 실시형태에서, 각각의 제1, 제2 및 제3 컬러 이미지 내의 대응하는 픽셀은 RGB 값을 가지며, 이로부터 휘도가 적색(R) 값, 녹색(G) 값 및 청색(B) 값의 선형 조합(예를 들어, 광도 함수)으로서 계산될 수 있다. 이러한 휘도 값은 때로는 "상대 휘도"라고 지칭되며 1 또는 100으로 정규화된 값을 갖는다.
일부 실시형태에서, 3D 스캐너(100)에 의해 획득된 데이터는 (예를 들어, 유선 또는 무선 연결을 통해) 이것을 수신하는 3D 데이터 프로세싱 컴퓨터 시스템(310)으로 전송된다. 일부 실시형태에서, 3D 데이터 프로세싱 컴퓨터 시스템(310)은 물체 표면의 픽셀 맵(예를 들어, 텍스처 맵)을 생성한다. 대안적으로, 일부 실시형태에서, 픽셀 맵은 3D 스캐너(100)에 의해 생성된다.
도 4는 일부 실시형태에 따른, 도 3에 나타낸 데이터 획득 환경(300)으로부터 수집된 데이터의 예측적인 예이다. 특히, 도 4는 물체(302) 표면 상의 지점(306)으로부터 수집된 데이터를 도시한다. 도 4의 그래프는 물체 표면에 대해 상이한 방향에서 획득된 상이한 컬러 이미지로부터의 다양한 데이터 픽셀의 휘도를 도시한다. 이를 위해, 일부 실시형태에서, 3D 스캐너(100) 및/또는 3D 데이터 프로세싱 컴퓨터 시스템(310)은 물체 표면의 상이한 이미지 내의 픽셀들 간의 픽셀 레벨 대응(pixel-level correspondence)을 결정한다(예를 들어, 제공된 예에서는, 제1, 제2 및 제3 컬러 이미지를 등록한다). 일부 실시형태에서, 물체 표면의 상이한 이미지 내의 픽셀들 간의 픽셀 레벨 대응을 결정하는 것은 제1 컬러 이미지 내의 제1 픽셀이 제2 컬러 이미지 내의 제2 픽셀과 물체 표면 상의 동일한 위치에 대응한다고 결정하는 것을 포함한다.
휘도 값은 물체 표면의 지점(306)에 대한 공칭 법선 벡터로부터의 각도에 대해 플롯된다. 일부 실시형태에서, 공칭 법선 벡터는 (예를 들어, 스캐닝 동안 획득된 3차원(3D) 형상에 대응하는 데이터로부터 재구성된) 물체의 3D 재구성으로부터의 법선 벡터이다.
데이터는 휘도(404a)를 갖는 제1 컬러 이미지로부터의 제1 픽셀, 휘도(404b)를 갖는 제2 컬러 이미지로부터의 제2 픽셀, 및 휘도(404c)를 갖는 제3 컬러 이미지로부터의 제3 픽셀을 포함한다. 일부 실시형태에서, 이들 데이터로부터, "진 법선(true normal)" 방향(θ N,T )이 (예를 들어, 최대 휘도를 갖는 데이터 픽셀이 획득된 각도를 선택함으로써, 또는 도 7a 내지 도 7c의 방법(700)을 참조하여 더욱 상세히 설명되는 바와 같이, 데이터를 미리 결정된 함수(예를 들어, 가우스 함수)에 피팅하고 피팅된 미리 결정된 함수가 최대값을 갖는 각도를 선택함으로써) 결정된다. 일부 실시형태에서는, "진 법선" 방향을 사용하여, 확산 값이 (예를 들어, 진 법선 방향에 대해 미리 정의된 각도를 초과하는 각도에서 획득된 데이터 픽셀을 사용함으로써 - 이들 데이터를 도 4에 중실점(solid dot)으로 나타낸 반면에, 미리 정의된 각도 이내의 각도를 개방점(open dot)으로 나타냄) 결정된다. 정반사성(specularness), 금속성 파라미터, 표면 거칠기와 같은 다른 재료 특성은 진 법선 방향을 사용하여 결정될 수 있다.
도 5a 내지 도 5c는 일부 실시형태에 따른, 물체의 텍스처링된 3D 표현을 생성하기 위해 사용되는 물체 표면의 이미지의 개략적인 예(즉, 예시)를 도시한다. 예를 들어, 도 5a는 제1 방향으로부터 취해진 너트의 이미지(502a)를 도시한다. 이미지(502a)에서, 스트레이 하이라이트(504a)(예를 들어, 이미지(502a)가 획득되었을 때 존재하는 광원으로부터의 거울형 반사)가 너트에서 관찰 가능하다. 스트레이 하이라이트(504a)는 이미지(502a)가 획득되었을 때 존재하는 광원으로부터의 정반사(예를 들어, 거울형 반사)이다. 도 5b는 제1 방향과 다른 제2 방향으로부터 취해진 제2 이미지(502b)를 도시하고, 도 5c는 제1 및 제2 방향과 다른 제3 방향으로부터 취해진 제3 이미지(502c)를 도시한다. 도 5d는 본 발명의 일부 실시형태에 따라 생성된, 도 5a 내지 도 5c에 나타낸 물체(즉, 너트)의 텍스처링된 3D 표현(506)의 일례를 도시한다. 물체의 텍스처링된 3D 표현(506)은 스트레이 하이라이트를 포함하지 않는다(예를 들어, 물체 표면의 이미지에 존재했던 하나 이상의 스트레이 하이라이트를 포함하지 않는다). 또한, 텍스처링된 3D 표현(506)은 도 5a 내지 도 5c의 이미지(원시 데이터)와 비교하여 물체와 테이블 모두의 텍스처(컬러)를 보다 정확하게 나타내는 모델을 제공하여, 물체와 테이블 모두의 텍스처가 다양한 조명 조건 하에서 보다 정확하게 표시될 수 있다.
도 6은 일부 실시형태에 따른 3D 스캐너(100)의 다양한 구성요소를 도시하는 도면이다. 특히, 도 6은 본체 하우징(102)(도 1)의 단면을 도시한다. 도 6에 나타낸 바와 같이, 스캐너(100)는 (다른 구성요소 중에서) 다음을 포함한다:
· 스캐닝되는 물체의 3D 데이터를 수집하는(예를 들어, 물체의 3D 형상의 재구성이 결정될 수 있는, 물체 표면에 비추어지고 그 표면에 의해 왜곡된 구조화 광의 이미지를 수집하는) 제1 광학 센서(602a)(예를 들어, 제1 전하 결합 소자(CCD) 검출기). 일부 실시형태에서, 제1 광학 센서(602a)는 적외선(IR) 광에 민감함(하지만, 제1 광학 센서(602a)는 가시광에 민감할 수도 있음);
· 스캐닝되는 물체로부터 텍스처(예를 들어, 컬러) 데이터를 수집하는(예를 들어, 구조화 광이 물체 표면에 나타나지 않는 동안 이미지를 수집하는, 예를 들어, 물체에 비춰진 구조화 광의 스트로보스코프 펄스들 간의 이미지를 수집하는) 제2 광학 센서(602b)(예를 들어, 제2 CCD 검출기). 일부 실시형태에서, 제2 광학 센서(602b)는 가시광에 민감함(하지만, 제2 광학 센서(602b)는 IR 광에 민감할 수도 있음);
· 가시광과 IR 광을 분리하는 빔 스플리터(604). 빔 스플리터(604)는 카메라 광학계(106)를 통해 수신된 IR 광을 우선적으로 제1 광학 센서(602a)로 유도하고 카메라 광학계(106)를 통해 수신된 가시광을 우선적으로 제2 광학 센서(602b)로 유도함;
· 광원(606). 일부 실시형태에서, 광원(606)은 펄스 광원(예를 들어, 스트로보스코프 광원)이다. 일부 실시형태에서, 광원(606)은 적외선 광원임. 일부 실시형태에서, 광원(606)은 레이저임. 일부 실시형태에서, 광원(606)은 수직 캐비티 면발광 레이저임. 일부 실시형태에서, 광원(606)은 본체 하우징(102) 외부의 모든 곳에서 (예를 들어, 펄스 폭, 피크 전력, 반복률, 및/또는 듀티 사이클의 적절한 선택을 통해) 클래스 1 레이저로서 작동하도록 구성됨;
· 광이 물체 표면에 투영되는 공간 패턴이 형성된(예를 들어, 인쇄 또는 에칭된) 슬라이드(616)(예를 들어, 공간 패턴은 슬라이드에 대해 불투명하고 투명하게 형성됨). 따라서, 광원(606)에 의해 생성된 광은 슬라이드(616)를 통과하고 광원(104)을 통해 물체 표면을 향하여(예를 들어, 그 위에) 구조화 광으로서 투영됨; 및
· 광원(606), 광학 센서(602) 및 위치(614)에 위치한 GPU 및 위치(612)에 위치한 FPGA를 포함한, 복수의 프로세서와 열적으로 결합된 단일 금속편을 포함하는 냉각 매니폴드(608)(도면의 여러 위치에 표기됨).
3D 데이터를 얻는(예를 들어, 상당히 강력한 광원으로부터 스트로보스코프 방식으로 광을 생성하고, 또한 초당 많은 이미지를 수집하고 프로세싱하는) 방식 때문에, 열 생성 및 제거는 물체의 3D 재구성을 실시간으로 프리뷰할 수 있는 핸드헬드 3D 스캐너를 설계하는 데 가장 큰 도전과제 중 하나이다. 비교적 시원한 온도를 유지하는 것이 중요하지만, (공간적으로나 시간적으로) 일정한 온도를 유지하는 것도 적어도 동일하게 중요하다. 냉각 매니폴드(608)는 3D 스캐너의 주요 발열 구성요소들 간에 열 연결을 제공함으로써 3D 스캐너(100)의 다양한 구성요소를 일관성 있는 안정적인 온도로 유지한다. 따라서, 냉각 매니폴드(608)는 3D 스캐너가 안정적인 온도에 도달하는 데 필요한 "예열" 시간을 줄이고, 더 큰 프로세싱 능력을 가능하게 하며, 3D 스캐너가 데이터를 수집할 수 있는 시간을 늘린다.
도 7a 내지 도 7d는 일부 실시형태에 따른 물체에 대한 텍스처 모델을 생성하는 방법(700)의 흐름도를 도시한다. 일부 실시형태에서, 방법(700)은 스캐너(예를 들어, 단일의 이동식 스캐너)(예를 들어, 3D 스캐너(100)(도 1a 내지 도 1b), 또는 사진 측량 스캐너)에서 수행된다. 이동식 스캐너는 하나 이상의 광학 센서를 포함한다. 일부 실시형태에서, 이동식 스캐너는 디스플레이를 포함한다. 일부 실시형태에서, 이동식 스캐너는 물체 표면의 형상의 적어도 일부의 3D 재구성을 생성하기 위한 프로세서를 포함하는 3D 스캐너이다. 일부 실시형태에서, 이동식 스캐너는 (예를 들어, 전체 디바이스가 30cm x 30cm x 30cm인 박스 내부에 피팅되도록 30cm x 30cm x 30cm 미만의 크기를 갖는) 휴대용 핸드헬드 스캐너이다. 일부 실시형태에서, 이동식 스캐너는 3D 스캐너가 아니다(예를 들어, 이동식 스캐너는 물체의 형상의 3D 재구성을 생성하지 않고 물체의 기존의 텍스처링되지 않은 3D 모델에 대한 텍스처 맵을 생성하는 사진 측량 스캐너이다). 일부 실시형태에서, 스캐너는 물체 표면의 3D 재구성을 생성하는 사진 측량 스캐너이다. 설명의 편의를 위해, 방법(700)은 3D 스캐너(100)에 의해 수행되는 것으로 설명된다. 그러나, 방법(700)은 본 개시에 따라 구축된 임의의 이동식 스캐너를 사용하여 수행될 수 있다. 일부 실시형태에서, 방법(700)의 동작 중 하나 이상은 이동식 스캐너(예를 들어, 텍스처 모델을 생성하기 위해 획득후 프로세싱을 수행하는 시스템(310)(도 3))과 별개의 컴퓨터 시스템에서 수행된다. 반대로, 다른 실시형태에서, 3D 스캐너(100)는 본 개시의 교시에 따른 방법(700) 이외의 방법을 수행한다. 방법(700)의 일부 동작은 선택적으로 조합되고 및/또는 일부 동작의 순서는 선택적으로 변경된다.
방법(700)은 이동식 스캐너를 사용하여 스캐닝된 물체의 진 표면 컬러로부터 일관성 없는 조도 및 음영을 분리하는 데 사용될 수 있다. 또한, 방법(700)은 물체에 대한 텍스처 맵의 각 픽셀마다 재료 특성(반사율, 정반사 컬러, 금속성, 표면 거칠기)을 결정하는 데 사용될 수 있다. 이를 위해, 일부 실시형태에서, 방법(700)은 텍스처 맵(이하, 픽셀 맵이라고 지칭함)의 단일 픽셀을 생성하도록 상이한 값들이 캡처된 방향의 지식을 제공하는 추적 데이터와 함께 (예를 들어, 물체에 대한 스캐너의 상이한 방향에서 캡처된) 물체 표면의 상이한 이미지로부터의 대응하는 픽셀을 사용한다. 대응하는 데이터 픽셀로부터의 컬러 값은 물체 표면에 다양한 각도로 입사하는 광의 행동 양식을 기술하는 수식(예를 들어, 램버시안 확산 모델 또는 더 복잡한 텍스처 모델)을 사용하는 재료 특성에 관한 것이다. 일부 실시형태에서, 방법(700)은 각 픽셀 지점마다 단일의 보정된 RGB 값을 산출하여, 스트레이 하이라이트(즉, 다른 조명으로 텍스처링된 3D 재구성을 렌더링할 때 반드시 존재하지 않아야 하는, 컬러 데이터가 획득되었을 때 존재하는 광원으로부터의 정반사)를 제거한다. 방법(700)은 최대 정반사 값 및 이 값이 발생하는 각도(예를 들어, "진 법선")와 같은 비컬러 재료 특성에 대한 적어도 하나의 픽셀당 값을 또한 산출한다.
도 7a를 참조하면, 3D 스캐너(100)는 표면을 갖는 물체를 스캐닝한다(702). 스캐닝은 물체에 대해 3D 스캐너(100)의 복수의 방향으로부터 컬러 데이터를 생성한다. 일부 실시형태에서, 3D 스캐너(100)와 별개인 3D 데이터 프로세싱 컴퓨터 시스템(310)은 (예를 들어, 도 3을 참조하여 설명된 바와 같이) 물체에 대해 3D 스캐너(100)의 복수의 방향으로부터 3D 스캐너(100)에 의해 생성된 컬러 데이터를 수신한다. 일부 실시형태에서, 3D 스캐너(100)는 물체에 대해 3D 스캐너(100)의 방향의 선험적 지식을 갖고 있지 않다(예를 들어, 방향은 미리 정의되거나 정밀하게 교정되어 있지 않다).
일부 실시형태에서, 스캐닝은 물체에 대해 복수의 방향으로 3D 스캐너(100)를 재배치하는 것을 포함한다(704). 예를 들어, 도 3에 나타낸 바와 같이, 3D 스캐너(100)는 위치(304a)로부터 위치(304b)로, 위치(304c)로 재배치된다. 3D 스캐너(100)는 해당 위치 각각에서 물체(302)의 이미지를 획득한다.
일부 실시형태에서, 단일 광학 센서는 물체에 대해 3D 스캐너(100)의 복수의 방향으로부터 컬러 데이터를 얻는다(706)(예를 들어, 단일 광학 센서는 스캐닝 프로세스 동안 재배치된다). 후술하는 바와 같이, 일부 이러한 실시형태에서, 3D 스캐너(100)는 컬러 데이터 이외의 데이터를 얻는 추가 광학 센서를 포함한다.
일부 실시형태에서, 스캐닝은 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터(예를 들어, 물체 표면의 적어도 일부의 3D 형상이 재구성될 수 있는 데이터)를 생성한다(708).
일부 실시형태에서, 하나 이상의 광학 센서는 제1 광학 센서(예를 들어, 제1 적외선 CCD)(예를 들어, CCD 검출기(602a)(도 6))를 포함한다(710). 일부 실시형태에서, 제1 광학 센서는 물체 표면의 적어도 일부의 3D 형상에 대응하는 데이터를 생성하기 위한 것이다. 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터를 생성하는 것은 광의 공간 패턴을 물체 표면에 투영하는 동작을 반복적으로 수행하는 것, 및 광의 공간 패턴이 물체 표면에 투영되는 동안, 제1 광학 센서를 사용하여 물체 표면의 이미지를 획득하는 것을 포함한다.
일부 실시형태에서, 하나 이상의 광학 센서는 제2 광학 센서(예를 들어, 제2 광학 카메라)(예를 들어, CCD 검출기(602b)(도 6))를 포함한다(712). 일부 실시형태에서, 제2 광학 센서는 컬러 데이터를 생성하기 위한 것이다(예를 들어, 제2 광학 센서는 동작(706)에서 설명된 단일 광학 센서이다). 물체에 대해 3D 스캐너(100)의 복수의 방향으로부터 컬러 데이터를 생성하는 것은 제2 광학 센서를 사용하여 물체에 대해 복수의 방향 각각에 위치하는 3D 스캐너(100)로 물체 표면의 이미지를 획득하는 것을 포함한다. 이러한 실시형태에서, 컬러 데이터로부터의 복수의 픽셀은 (예를 들어, 복수의 픽셀이 상이한 이미지로부터의 대응하는 픽셀을 포함하는 경우) 픽셀 맵의 단일 픽셀에 대한 값을 생성하는 데 사용된다는 점에 유의해야 한다. 혼동을 피하기 위해, 물체 표면 이미지의 픽셀을 때로는 "데이터 픽셀"이라고 지칭한다.
일부 실시형태에서, 이미지는 데이터 픽셀에 대한 RGB 값을 제공한다. 일부 실시형태에서, 제2 광학 센서에 의해 얻어진 이미지는 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터를 생성하는 데 사용되는 제1 광학 센서에 의해 얻어진 이미지와 다르다. 일부 실시형태에서, 컬러 데이터를 생성하는 데 사용되는 이미지는 광의 공간 패턴이 물체 표면 상에 투영되지 않는 동안(예를 들어, 물체 표면 상으로의 광의 공간 패턴의 투영들 사이에) 얻어진다.
일부 실시형태에서, 3D 스캐너(100)는 물체 표면의 상이한 이미지 내의 데이터 픽셀들 간의 픽셀 레벨 대응을 결정한다(714)(예를 들어, 제2 광학 센서에 의해 얻어진 컬러 이미지를 등록한다). 일부 실시형태에서, 물체 표면의 상이한 이미지 내의 픽셀들 간의 픽셀 레벨 대응을 결정하는 것은 제1 이미지 내의 제1 픽셀이 (제1 이미지와 다른) 제2 이미지 내의 제2 픽셀과 물체 표면 상의 동일한 위치에 대응한다고 결정하는 것을 포함한다.
도 7b를 참조하면, 일부 실시형태에서, 3D 스캐너(100)는 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터를 사용하여 물체 표면의 형상의 적어도 일부의 3D 재구성을 생성한다(716). 일부 실시형태에서, 픽셀 레벨 대응은 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터를 사용하여 결정된다(예를 들어, 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터가 컬러 이미지를 등록하는 데 사용되는 3D 재구성을 생성하기 위해 사용된다). 일부 실시형태에서, 픽셀 레벨 대응은 이미지 등록을 사용하여(예를 들어, 특징부 검출 및 매칭, 또는 이미지들 간의 대응을 정의하는 것에 의해) 결정된다. 일부 실시형태에서, 픽셀 레벨 대응은 사진 측량을 사용하여(예를 들어, 상이한 이미지 내의 2개의 픽셀이 물체 표면 상의 동일한 위치에 대응한다고 결정하기 위해 이미지 분석을 사용함으로써) 결정된다. 일부 상황에는, 카메라 위치뿐만 아니라 표면의 3D 형상이 알려져 있고 픽셀 레벨 대응은 투영 기하학적 구성을 사용하여 계산된다.
일부 실시형태에서, 3D 재구성은 물체의 다각형 표현(예를 들어, 복수의 다각형의 각 다각형이 물체 표면 영역을 나타내는 복수의 다각형을 포함하는 다각형 메쉬)이다. 따라서, 복수의 다각형의 각 다각형은 공칭 법선 벡터를 갖는다. 물체 표면의 상이한 이미지 내의 데이터 픽셀들 간의 픽셀 레벨 대응을 결정하는 것은 대응하는 픽셀로서 동일한 다각형으로 표현되는 영역에 대응하는 상이한 이미지로부터 픽셀을 선택하는 것을 포함한다(예를 들어, 동일한 다각형이 함께 그룹화된다). 도 4를 참조하면, 일부 실시형태에서, 공칭 법선 벡터는 다각형에 대한 공칭 법선 벡터이다. 일부 실시형태에서, 대응하는 픽셀로서 동일한 다각형으로 표현되는 영역에 대응하는 상이한 이미지로부터 픽셀을 선택하는 것은 컬러 데이터를 물체의 3D 재구성의 좌표계에 매핑하는 것을 포함한다.
일부 실시형태에서, 3D 스캐너(100)는 물체 표면의 형상의 적어도 일부의 3D 재구성을 사용하여, 컬러 데이터가 얻어진 물체에 대해 3D 스캐너(100)의 복수의 방향을 결정한다(718). 일부 실시형태에서, (예를 들어, 9 DOF 센서로부터의) 모션 데이터도 복수의 방향을 결정(예를 들어, 물체 표면에 대해 컬러 데이터의 픽셀이 얻어진 각도를 결정)하는 데 사용된다. 예를 들어, 복수의 소스로부터의 정보(예를 들어, 9 DOF 센서로부터의 3D 데이터, 컬러 데이터 및 모션 데이터)는 상이한 이미지의 물체에 대해 3D 스캐너(100)의 방향을 결정하기 위해 조합된다.
3D 스캐너(100)는 적어도 컬러 데이터를 사용하여 물체 표면의 픽셀 맵을 생성한다(720). 픽셀 맵은, 복수의 픽셀의 각각의 픽셀마다, 물체 표면 상의 대응하는 지점의 컬러 값; 및 물체 표면 상의 대응하는 지점의 비컬러 특성에 대한 값을 포함한다. 일부 실시형태에서, 픽셀 맵은 복수의 픽셀의 각각의 픽셀마다 물체 표면 상의 대응하는 지점의 복수의 비컬러 특성에 대한 값을 포함한다. 일부 실시형태에서, 픽셀 맵은 (예를 들어, 3D 모델을 실사로 표현하기 위해 함께 사용되는 파라미터에 대한 값의 세트를 포함하는) 물체 표면의 텍스처 맵이다(722). 일부 실시형태에서, 컬러 값은 픽셀에 대한 확산 값이다. 일부 실시형태에서, 확산 값(예를 들어, RGB 값)은 모든 방향으로(예를 들어, 모든 방향으로 동일하게) 광을 산란시키는 재료의 경향을 나타낸다. 픽셀 맵의 픽셀은 데이터 픽셀(즉, 이미지의 픽셀)과 달리 물체 표면의 영역을 나타냄에 유의해야 한다. 따라서, 일부 상황에서, 픽셀 맵의 픽셀은 서펠(surfel)(즉, 표면 요소)이라고 지칭되고, 픽셀 맵은 서펠 맵이라고 지칭된다.
일부 실시형태에서, 비컬러 특성은 텍스처 특성(예를 들어, 물체 표면 상의 대응하는 지점의 외관에 영향을 미치는 특성)이다. 일부 실시형태에서, 비컬러 특성(또는 특성들)은 반사율 파라미터, 정반사 파라미터, 금속성 파라미터, 표면 거칠기, 또는 법선 방향으로 이루어지는 그룹으로부터 선택된다(724). 일부 실시형태에서, 정반사 파라미터는 (예를 들어, 입사각이 반사각과 동일한) 거울과 같이 광을 산란시키는 물질의 경향을 나타내는 경향을 나타낸다.
일부 실시형태에서, 픽셀 맵의 복수의 픽셀 각각에 대한 컬러 값은 벡터 값(예를 들어, RGB 값)이다(726).
일부 실시형태에서, 픽셀 맵의 복수의 픽셀 각각에 대한 비컬러 특성에 대한 값은 스칼라 값(예를 들어, 0과 1 사이의 단일 값)이다(728).
일부 실시형태에서, 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 물체 표면 상의 대응하는 지점의 컬러 값은 보정된 컬러 값(예를 들어, "진 확산(true diffuse)" 값)이다(730). 보정된 컬러 값을 생성하는 것은, 컬러 데이터를 사용하여(예를 들어, 물체 표면의 상이한 이미지로부터 대응하는 픽셀을 사용하여) 각각의 픽셀에 대한 공칭 컬러 값을 결정하는 것; 및 물체 표면 상의 대응하는 지점의 비컬러 특성에 대한 값을 사용하여 픽셀 맵의 각각의 픽셀에 대한 공칭 컬러 값을 조정하는 것을 포함한다(예를 들어, 3D 스캐너(100)는 컬러 데이터를 사용하여 "진 법선" 방향을 결정하고, "진 법선" 방향을 사용하여 "진 확산" 값을 결정한다).
일부 실시형태에서, 픽셀 맵의 픽셀에 대한 공칭 컬러 값의 조정은 (예를 들어, 플래시 및/또는 다른 조명으로부터의 반사 때문에 과도하게 밝게 보이는 픽셀의 강도를 줄임으로써) 스트레이 하이라이트를 제거하는 데 사용된다. 종래의 시스템에서, 이러한 스트레이 하이라이트는 수동으로(예를 들어, 아티스트에 의해) 제거된다. 따라서, 본 개시의 일부 실시형태는 텍스처 데이터로부터 핫스폿을 수동으로 제거할 필요성을 제거한다.
도 7c를 참조하면, 일부 실시형태에서, 비컬러 특성은 법선 방향이다(732). 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 컬러 값은 각각의 픽셀에 대한 법선 방향에 대해 미리 정의된 각도 범위로부터의 컬러 데이터를 사용하여 결정된다.
일부 실시형태에서, 미리 정의된 각도 범위는 확산 임계 각도보다 큰 각도 범위이다(734). 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 확산 각도 임계값 미만인 법선 방향에 대한 각도에서 얻어진 컬러 데이터를 사용하여 정반사 파라미터가 결정된다.
일부 실시형태에서, 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 컬러 데이터에서 최대 휘도가 발생하는 각도를 법선 방향으로서 선택함으로써 법선 방향이 결정된다(736).
예를 들어, 일부 실시형태에서, 방법(700)은 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다 대응하는 데이터 픽셀 중 어느 것이 가장 높은 휘도를 갖는지를 결정하는 것을 포함한다. 가장 높은 휘도를 갖는 대응하는 데이터 픽셀이 얻어진 각도가 법선 방향(예를 들어, "진 법선")인 것으로 결정된다. 예를 들어 이 "진 법선"의 55°보다 큰 각도에서 얻어진 데이터 픽셀은 확산 휘도에 대한 램버트(Lambert)의 확산 반사율 모델을 통해 각각의 픽셀에 대해 조정된 컬러 값을 결정하는 데 사용된다:
Figure pct00001
여기서, Ld는 법선 방향에 대한 관찰 각도(θi)에서의 휘도이고, E0은 표면에 입사하는 광의 에너지이며, ρ는 표면의 확산 컬러(때로는 픽셀 또는 서펠의 확산 알베도(diffuse albedo)라고도 지칭됨)이다.
일부 실시형태에서, 정반사 파라미터(예를 들어, 광택(gloss) 또는 역으로 거칠기)는 다음의 마이크로-패싯 이론 렌더링 수식에 따라, 가장 높은 휘도를 갖는 데이터 픽셀의 휘도로부터 피팅된 램버트의 확산 반사율 모델(예를 들어, θi=0 값)의 최대값을 감산함으로써 각각의 픽셀에 대해 결정된다:
Figure pct00002
여기서, Ls는 정반사 휘도이고, Lo는 수직 입사에서의 휘도이다.
일부 실시형태에서, 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 컬러 데이터(예를 들어, 인지된 휘도)를 컬러 데이터가 얻어진 각도의 미리 결정된 함수에 피팅하고 피팅된 미리 결정된 함수가 최대 휘도를 갖는 각도를 법선 방향으로서 선택함으로써 법선 방향이 결정된다(738). 예를 들어 이 "진 법선"의 55°보다 큰 각도에서 얻어진 데이터 픽셀은 전술한 바와 같이 확산 휘도에 대한 램버트의 반사율 모델을 통해 각각의 픽셀에 대해 조정된 컬러 값을 결정하는 데 사용된다: 정반사 파라미터(예를 들어, 광택 또는 역으로 거칠기)는 수식 (2)에 따라, 피팅된 인지 휘도의 가장 높은 값으로부터 피팅된 램버트의 반사율 모델의 최대 값(예를 들어, θi=0 값)을 감산함으로써 각각의 픽셀에 대해 결정된다.
보다 일반적으로, 일부 실시형태에서, 방법(700)은 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 픽셀에 대응하는 컬러 데이터의 제1 서브세트를 사용하여 제1 파라미터(예를 들어, 정반사 파라미터 또는 진 법선 방향)를 결정하는 것 및 컬러 데이터의 제1 서브세트와 다른 픽셀에 대응하는 컬러 데이터의 제2 서브세트를 사용하여 제2 파라미터(예를 들어, 확산 파라미터)를 결정하는 것을 포함한다. 일부 실시형태에서, 전술한 바와 같이, 컬러 데이터의 2개의 서브세트(확산 컬러 계산을 위한 데이터 및 정반사 컬러 계산을 위한 데이터)로의 분리는 데이터가 얻어진 각도에 기초할 수 있다. 일부 실시형태에서, 컬러 데이터의 2개의 서브세트로의 분리는 절대 컬러 또는 이들의 임의의 변형과 같은 다른 원리에 기초하여 수행될 수 있다.
도 7d를 참조하면, 일부 실시형태에서, 픽셀 맵의 복수의 픽셀의 각각의 픽셀마다, 물체 표면 상의 대응하는 지점의 비컬러 특성에 대한 값은, 하나 이상의 텍스처 수식(예를 들어, 조명 및/또는 음영 수식)의 세트에 대한 해결기(solver)(예를 들어, 음영 수식을 포함할 수 있는 텍스처 모델 및/또는 반사율 모델)에, 이미지가 얻어진 물체에 대한 3D 스캐너(100)의 방향을 나타내는 정보와 함께 물체 표면의 이미지를 제공하는 것; 및 하나 이상의 텍스처 수식의 세트에 대한 해결기로부터의 출력으로서, 물체 표면 상의 대응하는 지점의 비컬러 특성에 대한 값을 수신하는 것에 의해 결정된다(740).
일부 실시형태에서, 텍스처 모델은 물리 기반 렌더링(physically-based rendering)에 통상적으로 사용되는 수식 세트를 포함함에 유의해야 한다. 따라서, 일부 실시형태에서, 동작(740)은 물리 기반 렌더링(PBR) 모델을 "역으로" 실행하는 것에 해당한다. 일반적으로 이러한 PBR 모델은 컴퓨터 애니메이터에 의해(예를 들어, 비디오 게임 또는 영화의 경우) 사용되며, 컴퓨터 애니메이터는 선택한 재료 특성을 입력하고 애니메이터에 의해 선택된 조명에 의존하는 인지된 컬러를 출력으로서 수신한다. 동작(740)은 다양한 각도에서 인지된 컬러를 입력으로서 사용하고 재료 특성을 결정한다.
일부 실시형태에서, 텍스처 모델은 양방향 반사율 분포 함수(BRDF) 모델이다. 예를 들어, 램버시안 확산 반사율 모델은 다음과 같이 기록될 수 있다:
Figure pct00003
여기서, l은 광원 방향의 단위 벡터이고, v는 뷰어 방향의 단위 벡터이다.
일부 실시형태에서, 텍스처 모델은 쿡-토랜스 마이크로-패싯 정반사 음영 모델(Cook-Torrance micro-facet specular shading model) 또는 다른 마이크로-패싯 모델과 같은 마이크로-패싯 정반사 BRDF 모델이다. 쿡-토랜스 마이크로-패싯 정반사 음영 모델은 표면이 마이크로-패싯으로 이루어지는 것으로 가정하고, 마이크로-패싯 각각은 정반사한다. 쿡-토랜스 마이크로-패싯 정반사 음영 모델은 다음과 같이 기록될 수 있다:
Figure pct00004
여기서, hvl의 단위 각 이등분선(unit angular bisector)이고, n은 단위 법선 벡터(예를 들어, "진 법선" 방향의 단위 벡터)이다. 함수 D, F, G는 아래에 정의되어 있다. 일부 상황에서, 쿡-토랜스 모델은 정반사 파라미터(예를 들어, 정반사 음영)의 값을 결정하는 데 사용되며, 램버시안 반사율 모델은 확산 값을 결정하는 데 사용된다.
법선이 h 방향인 패싯만이 l로부터 v로의 반사의 정반사 성분에 기여한다. 따라서, 함수 D(h)는 h 방향으로 향하는 패싯의 비율을 나타내는 패싯 기울기 분포 함수이다. 함수 D는 다음과 같이 기록될 수 있다:
Figure pct00005
여기서, α는 거칠기의 제곱이다.
함수 G는 한 패싯의 다른 패싯에 의한 음영 및 마스킹을 설명하는 기하학적 감쇠 인수이며, 다음과 같이 기록될 수 있다:
Figure pct00006
여기서, k는 모델에 특정한 파라미터이다. 예를 들어, 일부 실시형태에서 k는 재료의 거칠기에 관한 것이다.
함수 F는 각각의 평활한 마이크로-패싯으로부터 광이 반사되는 방식을 설명하는 프레즈넬 용어이고, 다음과 같이 기록될 수 있다:
Figure pct00007
여기서, F0는 수직 입사에서의 정반사율이다.
쿡-토랜스 마이크로-패싯 정반사 음영 모델을 포함한, 전술한 BRDF 모델 및 공식은 단지 텍스처 모델의 예일 뿐임에 유의해야 한다. 당업자는 본 개시의 이점이 주어지면 임의의 수의 텍스처 모델이 본 개시의 다양한 실시형태에 따라 사용될 수 있음을 인식할 것이다. 다른 텍스처 모델은 퐁(Phong) 반사 모델, 가우시안(Gaussian) 분포 모델, 베크만(Beckmann) 분포 모델, 하이드리히-사이델(Heidrich-Seidel) 등방성 모델 및/또는 와드(Ward) 등방성 모델을 포함하지만 이에 한정되지 않는다.
따라서, 본 개시의 일부 실시형태는 물체 상의 표면의 텍스처가 (예를 들어, 부가적으로) 재료의 복수의 텍스처 특성(예를 들어, 정반사 및 확산 휘도)으로 분해될 수 있고, 이러한 텍스처 특성은 텍스처 모델을 통한 컬러 관찰과 관련될 수 있다. 그러나, 이하의 청구범위는 명시되지 않는 한 특정 텍스처 모델로 한정되는 것으로 해석되지 않아야 한다.
또한, 상기 수식으로부터 알 수 있는 바와 같이, 일부 텍스처 모델은 하나 이상의 광원 위치를 관찰된 컬러와 관련시킨다. 일부 실시형태에서, 3D 스캐너는 광원을 포함한다. 일부 실시형태에서, 3D 스캐너 상의 광원은 3D 스캐너 외부의 임의의 광원보다 실질적으로 더 밝다. 따라서, 일부 실시형태에서, 광원의 위치가 알려져 있고, 방법은 텍스처링 수식에서 광원의 알려진 위치를 사용하는 것을 포함한다. 예를 들어, 방법은 정반사가 3D 스캐너의 광원에만 기인한다고 가정하는 것, 및 3D 스캐너 외부의 임의의 광원에 관계없이 텍스처 수식을 푸는 것을 포함한다(예를 들어, 텍스처 수식을 푸는 것은 주변 조도가 3D 스캐너 상의 광원에 의해 발광되는 광에 비해 무시 가능하다고 가정하는 것을 포함한다).
일부 실시형태에서, 3D 스캐너(100)는 물체 표면의 형상의 적어도 일부의 3D 재구성 및 픽셀 맵을 사용하여 물체의 텍스처링된 3D 표현을 생성한다(742).
일부 실시형태에서, 3D 스캐너(100)는 물체의 텍스처링된 3D 표현을 사용하여 (예를 들어, 물체의 3D 재구성의 다각형 그리드 상에 컬러 맵을 매핑함으로써) 애니메이션에서 대응하는 물체를 애니메이팅한다(744).
일부 실시형태에서, 비컬러 특성은 법선 방향이고 픽셀 맵 내의 법선 방향은 계측, 검사 및/또는 품질 보증 목적(예를 들어, 표면 검사, 스크래치 및 크랙 검출 등)을 위해 사용된다. 일부 실시형태에서, 3D 스캐너(100)는 하나 이상의 크랙(또는 스크래치)을 검출하고 (예를 들어, 통합 디스플레이 또는 3D 스캐너(100)와 분리된 디스플레이 상에) 크랙(또는 스크래치)의 위치를 나타내는 시각적 표시와 함께 물체의 3D 표현을 표시한다. 일부 실시형태에서, 물체가 미리 정의된 임계값(예를 들어, 품질 보증 임계값)을 넘어 스크래치(또는 크랙)되어 있다는 결정에 따라, 3D 스캐너(100)는 물체가 미리 정의된 임계값을 넘어 스크래치된 것을 나타내는 리포트를 생성한다.
일부 실시형태에서, 3D 스캐너(100)는 (예를 들어, 통합 디스플레이 또는 3D 스캐너(100)와 분리된 디스플레이 상에) 픽셀 맵을 표시한다(예를 들어, 물체의 텍스처링된 3D 표현을 표시한다). 일부 실시형태에서, 3D 스캐너(100)는 픽셀 맵의 비컬러 특성의 값을 표시하지 않고 픽셀 맵의 컬러 값을 표시한다(예를 들어, 확산 컬러만으로 물체의 텍스처 3D 표현을 표시한다). 일부 실시형태에서, 3D 스캐너(100)는 픽셀 맵의 컬러 값을 표시하지 않고 픽셀 맵의 비컬러 특성의 값을 표시한다(예를 들어, 확산 컬러만으로 물체의 텍스처 3D 표현을 표시한다). 일부 실시형태에서, 3D 스캐너(100)는 사용자 입력을 수신하고, 사용자 입력에 응답하여, 물체의 텍스처링된 3D 표현을 표시하는 것, 픽셀 맵의 컬러 값을 표시하는 것, 및 비컬러 특성(또는 특성들)에 대한 값을 표시하는 것 사이에서 토글한다(예를 들어, 사용자 입력을 수신하는 것에 응답하여, 3D 스캐너(100)는 물체의 텍스처링된 3D 표현을 표시하는 것으로부터 픽셀 맵의 컬러 값 또는 비컬러 특성에 대한 값을 표시하는 것으로 전환하고; 또는 사용자 입력을 수신하는 것에 응답하여, 3D 스캐너(100)는 픽셀 맵의 컬러 값을 표시하는 것으로부터 물체의 텍스처링된 3D 표현을 표시하는 것 또는 비컬러 특성에 대한 값을 표시하는 것으로 전환하고; 또는 사용자 입력을 수신하는 것에 응답하여, 3D 스캐너(100)는 비컬러 특성의 값을 표시하는 것으로부터 물체의 텍스처링된 3D 표현을 표시하는 것 또는 픽셀 맵의 컬러 값을 표시하는 것으로 전환한다).
전술한 설명은 설명의 목적으로 특정 실시형태 및 도면을 참조하여 설명되었다. 그러나, 상기 예시적인 논의는 포괄적이거나 개시된 정확한 형태로 본 발명을 한정하는 것을 의도하지 않는다. 상기 교시를 고려하여 많은 수정 및 변형이 가능하다. 실시형태들은 본 발명의 원리 및 그 실제 적용을 가장 잘 설명하기 위해 선택되고 설명되어, 당업자가 고려되는 특정 용도에 적합한 다양한 수정을 통해 본 발명 및 다양하게 설명된 실시형태를 가장 잘 사용할 수 있도록 한다.
또한, 용어 제1, 제2 등이 본 명세서에서 다양한 요소를 설명하기 위해 경우에 따라 사용되지만, 이들 요소는 이들 용어에 의해 한정되지 않아야 함이 이해될 것이다 이들 용어는 하나의 요소를 다른 요소와 구별하는 데만 사용된다. 예를 들어, 제1 센서는 제2 센서로 명명될 수 있고, 마찬가지로 제2 센서는 다양하게 설명된 실시형태의 범위를 벗어나지 않고 제1 센서로 명명될 수 있다. 제1 센서와 제2 센서는 둘 다 센서이지만, 문맥상 달리 명시하지 않는 한 동일한 센서가 아니다.
본 명세서에서 다양하게 설명된 실시형태의 설명에 사용된 용어는 단지 특정 실시형태를 설명하기 위한 것이며 한정하려는 의도가 아니다. 다양하게 설명된 실시형태 및 첨부된 청구범위의 설명에 사용된 바와 같이, 단수 형태("a", "an" 및 "the")는 문맥상 달리 명시하지 않는 한 복수 형태도 포함하도록 의도된다. 또한, 본 명세서에 사용된 용어 "및/또는"은 관련된 열거 아이템 중 하나 이상의 임의 및 모든 가능한 조합을 지칭함이 이해될 것이다. 또한, 용어 "포함하다(include)", "포함하는(including)", "포함하다(comprise)" 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용될 때, 언급된 특징, 정수, 단계, 동작, 요소 및/또는 구성요소의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소 구성요소, 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음이 이해될 것이다.
본 명세서에 사용된 바와 같이, 용어 "만약(if)"은 문맥에 따라 "때" 또는 "시점" 또는 "결정에 응답하여" 또는 "검출에 응답하여"를 의미하는 것으로 선택적으로 해석된다. 마찬가지로, "결정된 경우" 또는 "[제시된 조건 또는 이벤트]가 검출된 경우"라는 문구는 문맥에 따라 "결정시" 또는 "결정에 응답하여" 또는 "[제시된 조건 또는 이벤트] 검출시" 또는 "[제시된 조건 또는 이벤트] 검출에 응답하여"를 의미하는 것으로 선택적으로 해석된다.

Claims (24)

  1. 방법으로서,
    하나 이상의 광학 센서를 구비한 3차원(3D) 스캐너를 사용하여, 표면을 갖는 물체를 스캐닝하는 단계 - 상기 스캐닝은 상기 물체에 대해 상기 3D 스캐너의 복수의 방향으로부터 컬러 데이터를 생성함 -; 및
    적어도 상기 컬러 데이터를 사용하여, 상기 물체 표면의 픽셀 맵을 생성하는 단계를 포함하고, 상기 픽셀 맵은 복수의 픽셀의 각각의 픽셀마다,
    상기 물체 표면 상의 대응하는 지점의 컬러 값; 및
    상기 물체 표면의 상기 대응하는 지점의 비컬러(non-color) 특성에 대한 값을 포함하는, 방법.
  2. 제1항에 있어서, 상기 픽셀 맵은 상기 물체 표면의 텍스처 맵인, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 비컬러 특성은 반사율 파라미터, 정반사 파라미터(specular parameter), 금속성 파라미터(metalness parameter), 표면 거칠기, 또는 법선 방향으로 이루어지는 그룹으로부터 선택되는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 스캐닝은 상기 물체에 대해 상기 복수의 방향으로 상기 3D 스캐너를 재배치하는 단계를 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 단일 광학 센서가 상기 물체에 대해 상기 3D 스캐너의 상기 복수의 방향으로부터 상기 컬러 데이터를 얻는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 스캐닝은 상기 물체 표면의 적어도 일부의 3차원(3D) 형상에 대응하는 데이터를 생성하고; 그리고,
    상기 방법은,
    상기 물체 표면의 상기 적어도 일부의 상기 3차원(3D) 형상에 대응하는 상기 데이터를 사용하여, 상기 물체 표면의 상기 형상의 상기 적어도 일부의 3D 재구성을 생성하는 단계를 더 포함하는, 방법.
  7. 제6항에 있어서,
    상기 물체 표면의 상기 형상의 상기 적어도 일부의 상기 3D 재구성 및 픽셀 맵을 사용하여, 상기 물체의 텍스처링된 3D 표현을 생성하는 단계를 더 포함하는, 방법.
  8. 제7항에 있어서,
    상기 물체의 상기 텍스처링된 3D 표현을 사용하여 애니메이션에서 대응하는 물체를 애니메이팅하는 단계를 더 포함하는, 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 물체 표면의 상기 형상의 상기 적어도 일부의 상기 3D 재구성을 사용하여, 상기 컬러 데이터가 얻어진 상기 물체에 대한 상기 3D 스캐너의 복수의 방향을 결정하는 단계를 더 포함하는, 방법.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서,
    상기 하나 이상의 광학 센서는 제1 광학 센서를 포함하고; 상기 물체 표면의 상기 적어도 일부의 3차원(3D) 형상에 대응하는 상기 데이터를 생성하는 단계는,
    상기 물체 표면 상에 광의 공간 패턴(spatial pattern)을 투영하는 동작; 및
    상기 광의 공간 패턴이 상기 물체 표면 상에 투영되는 동안, 상기 제1 광학 센서를 사용하여, 상기 물체 표면의 이미지를 획득하는 동작을 반복적으로 수행하는 단계를 포함하는, 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 하나 이상의 광학 센서는 제2 광학 센서를 포함하고;
    상기 물체에 대해 상기 3D 스캐너의 상기 복수의 방향으로부터 상기 컬러 데이터를 생성하는 단계는, 상기 제2 광학 센서를 사용하여, 상기 물체에 대해 상기 복수의 방향 각각에 위치한 3D 스캐너로 상기 물체 표면의 이미지를 획득하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 물체 표면의 상이한 이미지 내의 픽셀들 간의 픽셀 레벨 대응(pixel-level correspondence)을 결정하는 단계를 더 포함하는, 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 픽셀 맵의 상기 복수의 픽셀의 각각의 픽셀마다, 상기 물체 표면 상의 상기 대응하는 지점의 상기 컬러 값은 보정된 컬러 값이고;
    상기 보정된 컬러 값을 생성하는 단계는,
    상기 컬러 데이터를 사용하여 상기 각각의 픽셀에 대한 공칭 컬러 값을 결정하는 단계; 및
    상기 물체 표면 상의 상기 대응하는 지점의 상기 비컬러 특성에 대한 값을 사용하여 상기 픽셀 맵의 상기 각각의 픽셀에 대한 공칭 컬러 값을 조정하는 단계를 포함하는, 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 비컬러 특성은 법선 방향이고;
    상기 픽셀 맵의 상기 복수의 픽셀의 각각의 픽셀마다, 상기 컬러 값은 상기 각각의 픽셀에 대한 상기 법선 방향에 대해 미리 정의된 각도 범위로부터의 컬러 데이터를 사용하여 결정되는, 방법.
  15. 제14항에 있어서,
    상기 미리 정의된 각도 범위는 확산 임계 각도보다 큰 각도 범위이고;
    상기 방법은, 상기 픽셀 맵의 상기 복수의 픽셀의 각각의 픽셀마다,
    상기 확산 각도 임계값 미만인 상기 법선 방향에 대한 각도에서 얻어진 컬러 데이터를 사용하여 정반사 파라미터를 결정하는 단계를 더 포함하는, 방법.
  16. 제14항 또는 제15항에 있어서, 상기 픽셀 맵의 상기 복수의 픽셀의 각각의 픽셀마다, 상기 컬러 데이터에서 최대 휘도가 발생하는 상기 각도를 상기 법선 방향으로서 선택함으로써 상기 법선 방향이 결정되는, 방법.
  17. 제14항 또는 제15항에 있어서, 상기 픽셀 맵의 상기 복수의 픽셀의 각각의 픽셀마다, 상기 법선 방향은,
    상기 컬러 데이터가 얻어진 상기 각도의 미리 결정된 함수에 상기 컬러 데이터를 피팅하는 것; 및
    상기 피팅된 미리 결정된 함수가 최대 휘도를 갖는 각도를 상기 법선 방향으로서 선택하는 것에 의해 결정되는, 방법.
  18. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 하나 이상의 광학 센서는 카메라를 포함하고;
    상기 물체에 대해 상기 3D 스캐너의 상기 복수의 방향으로부터 상기 컬러 데이터를 생성하는 단계는, 상기 물체에 대해 상기 복수의 방향 각각에 위치한 상기 카메라로 상기 물체 표면의 이미지를 획득하는 단계를 포함하며;
    상기 픽셀 맵의 상기 복수 픽셀의 각 픽셀마다, 상기 물체 표면의 상기 대응하는 지점의 상기 비컬러 특성에 대한 값은,
    하나 이상의 텍스처 수식 세트에 대한 해결기(solver)에, 상기 이미지가 얻어진 물체에 대한 상기 3D 스캐너의 방향을 나타내는 정보와 함께 상기 물체 표면의 상기 이미지를 제공하는 것; 및
    상기 하나 이상의 텍스처 수식 세트에 대한 상기 해결기로부터의 출력으로서, 상기 물체 표면 상의 상기 대응하는 지점의 상기 비컬러 특성에 대한 값을 수신하는 것에 의해 결정되는, 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 상기 복수의 픽셀 각각에 대한 상기 컬러 값은 벡터 값인, 방법.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서, 상기 복수의 픽셀 각각에 대한 비컬러 특성에 대한 값은 스칼라 값인, 방법.
  21. 제1항 내지 제20항 중 어느 한 항에 있어서, 상기 3D 스캐너는 휴대용 핸드헬드 3D 스캐너인, 방법.
  22. 제1항 내지 제21항 중 어느 한 항에 있어서, 상기 3D 스캐너는 30cm x 30cm x 30cm 미만의 크기를 갖는, 방법.
  23. 전자 시스템으로서,
    하나 이상의 광학 센서를 포함하는 3D 스캐너;
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서가 제1항 내지 제22항 중 어느 한 항의 방법을 수행하게 하는 명령어를 저장하는 메모리를 포함하는, 전자 시스템.
  24. 하나 이상의 프로세서, 메모리, 및 하나 이상의 광학 센서를 포함하는 3D 스캐너를 구비한 전자 시스템에 의해 실행될 때, 상기 하나 이상의 프로세서가 제1항 내지 제22항 중 어느 한 항의 방법을 수행하게 하는 명령어를 저장하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020217024830A 2019-02-05 2020-01-21 이동식 스캐너를 사용한 텍스처 모델 생성 KR20220005428A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962801568P 2019-02-05 2019-02-05
US62/801,568 2019-02-05
US201962840290P 2019-04-29 2019-04-29
US62/840,290 2019-04-29
PCT/IB2020/000009 WO2020161540A1 (en) 2019-02-05 2020-01-21 Generation of texture models using a moveable scanner

Publications (1)

Publication Number Publication Date
KR20220005428A true KR20220005428A (ko) 2022-01-13

Family

ID=69770946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217024830A KR20220005428A (ko) 2019-02-05 2020-01-21 이동식 스캐너를 사용한 텍스처 모델 생성

Country Status (8)

Country Link
US (1) US11443474B2 (ko)
EP (1) EP3921597A1 (ko)
JP (1) JP7473558B2 (ko)
KR (1) KR20220005428A (ko)
CN (1) CN113474619A (ko)
AU (1) AU2020217607B2 (ko)
MX (1) MX2021009226A (ko)
WO (1) WO2020161540A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021131652A (ja) * 2020-02-19 2021-09-09 株式会社トプコン データ構造、記録媒体、プログラム、及びシステム
WO2023220778A1 (en) * 2022-05-17 2023-11-23 Breville Pty Limited Decorated kitchen appliance

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7098435B2 (en) * 1996-10-25 2006-08-29 Frederick E. Mueller Method and apparatus for scanning three-dimensional objects
US7616198B2 (en) * 1998-02-20 2009-11-10 Mental Images Gmbh System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
JP2001084408A (ja) 1999-09-13 2001-03-30 Sanyo Electric Co Ltd 3次元データ加工装置及び方法並びに記録媒体
US6639594B2 (en) * 2001-06-03 2003-10-28 Microsoft Corporation View-dependent image synthesis
US7768656B2 (en) 2007-08-28 2010-08-03 Artec Group, Inc. System and method for three-dimensional measurement of the shape of material objects
GB201414144D0 (en) * 2014-08-08 2014-09-24 Imagination Tech Ltd Relightable texture for use in rendering an image
CN107257992B (zh) * 2015-03-09 2021-02-02 锐珂牙科技术顶阔有限公司 用于牙科3d扫描仪的纹理映射的设备和方法
JP6556013B2 (ja) * 2015-10-08 2019-08-07 キヤノン株式会社 処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体
US9912862B2 (en) 2016-02-29 2018-03-06 Aquifi, Inc. System and method for assisted 3D scanning
US10055882B2 (en) * 2016-08-15 2018-08-21 Aquifi, Inc. System and method for three-dimensional scanning and for capturing a bidirectional reflectance distribution function
US10417810B2 (en) 2017-05-31 2019-09-17 Verizon Patent And Licensing Inc. Methods and systems for rendering virtual reality content based on two-dimensional (“2D”) captured imagery of a three-dimensional (“3D”) scene

Also Published As

Publication number Publication date
AU2020217607A1 (en) 2021-09-16
JP2022523122A (ja) 2022-04-21
US20210158600A1 (en) 2021-05-27
EP3921597A1 (en) 2021-12-15
MX2021009226A (es) 2021-11-12
WO2020161540A1 (en) 2020-08-13
JP7473558B2 (ja) 2024-04-23
AU2020217607B2 (en) 2023-02-02
US11443474B2 (en) 2022-09-13
CN113474619A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US11869139B2 (en) System and method for three-dimensional scanning and for capturing a bidirectional reflectance distribution function
TWI486551B (zh) 三維資料擷取方法及其系統
CN103959012B (zh) 6自由度位置和取向确定
US7564571B2 (en) Method for calibrating a camera-laser-unit in respect to a calibration-object
CN104335005B (zh) 3d扫描以及定位系统
CN112739974B (zh) 具有数据收集反馈的三维扫描器
US20150024337A1 (en) Voxel level new information updates using intelligent weighting
CN107221025B (zh) 一种同步获取物体表面三维彩色点云模型的系统和方法
US11443474B2 (en) Generation of texture models using a moveable scanner
EP3381015B1 (en) Systems and methods for forming three-dimensional models of objects
US20190066366A1 (en) Methods and Apparatus for Decorating User Interface Elements with Environmental Lighting
RU2810240C2 (ru) Формирование моделей текстуры с помощью портативного сканера
Palka et al. 3D object digitization devices in manufacturing engineering applications and services
JP2020112981A (ja) 検出装置、情報処理装置、検出方法、検出プログラム、及び検出システム
JP7463697B2 (ja) 光沢取得状態算出装置、光沢取得状態算出方法、光沢取得状態算出プログラム、端末及び光沢取得状態表示プログラム
RU2793584C2 (ru) Трехмерный сканер с обратной связью по сбору данных
JP2020169856A (ja) 画像処理装置、画像処理方法およびプログラム
JP6379651B2 (ja) 光源の配光分布および物体の双方向反射率分布関数測定のための装置、方法、及びプログラム
JP2019082955A (ja) 画像処理装置、画像処理方法及びプログラム
Mufti et al. Specularity detection using time-of-flight cameras