KR20220132617A - 포즈 검출 및 측정을 위한 시스템들 및 방법들 - Google Patents
포즈 검출 및 측정을 위한 시스템들 및 방법들 Download PDFInfo
- Publication number
- KR20220132617A KR20220132617A KR1020227029641A KR20227029641A KR20220132617A KR 20220132617 A KR20220132617 A KR 20220132617A KR 1020227029641 A KR1020227029641 A KR 1020227029641A KR 20227029641 A KR20227029641 A KR 20227029641A KR 20220132617 A KR20220132617 A KR 20220132617A
- Authority
- KR
- South Korea
- Prior art keywords
- pose
- images
- image
- instance
- polarization
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Switches Operated By Changes In Physical Conditions (AREA)
Abstract
물체의 포즈를 추정하기 위한 방법은 물체에 대해 다수의 시점들로부터 캡처된 물체의 복수의 이미지들을 수신하는 단계; 복수의 이미지들 중 적어도 하나로부터 물체의 초기 추정된 포즈를 계산하는 것에 기초하여 물체의 현재 포즈를 초기화하는 단계; 복수의 이미지들 각각으로부터 물체와 연관된 복수의 2-D 키포인트들을 예측하는 단계; 및 현재 포즈에 따라 배열되고 시점들 각각에 투영된 바와 같은 물체의 3-D 모델과 연관된 복수의 3-D 키포인트들과 2-D 키포인트들 사이의 복수의 차이들에 기초하여 비용 함수를 최소화하는 업데이트된 포즈를 계산하는 단계를 포함한다.
Description
관련 출원들에 대한 상호 참조
본 출원은 2020년 1월 29일자로 미국 특허청에 출원된 미국 가특허 출원 제62/967,487호, 2020년 1월 30일자로 미국 특허청에 출원된 미국 가특허 출원 제62/968,038호, 및 2020년 3월 29일자로 미국 특허청에 출원된 미국 가특허 출원 제63/001,445호의 우선권 및 이익을 주장하며, 그 전체 개시내용은 본 명세서에 참고로 포함된다.
본 개시내용의 실시예들의 양태들은 센서들의 분야, 특히, 장면에서의 물체들의 위치들 및 배향들과 같은 포즈(pose)들의 측정들을 수행하기 위한 시스템들 및 방법들에 관한 것이다.
로봇 공학(robotics)과 같은 많은 자동화 영역들에서, 실세계에서의 물체들의 물리적 관계를 결정하기 위해 센서들을 이용한다. 예를 들어, 로봇 시스템들(robotic systems)은, 예를 들어, 다양한 배향들에서 도달할 수 있는 물체를 잡고, 물체를 원하는 위치로 재배향시키고, 물체를 다른 물체에 연결하기 위해 다양한 물리적 물체들의 위치들을 측정하기 위해 감지 시스템들을 종종 이용한다. 기준 좌표계에 대한 물체의 위치 및 배향은 "포즈"라고 지칭될 수 있고, 3차원 좌표계에서, 일반적으로 6개의 자유도―3개의 축을 중심으로 한 회전 및 3개의 축을 따른 병진―를 포함한다.
본 개시내용의 실시예들의 양태들은 센서들의 분야, 특히, 장면에서의 물체들의 포즈들의 측정들을 수행하기 위한 시스템들 및 방법들에 관한 것이다.
본 개시내용의 일 실시예에 따르면, 물체의 포즈를 추정하기 위한 방법은, 물체에 대해 다수의 시점들(viewpoints)로부터 캡처된 물체의 복수의 이미지들을 수신하는 단계; 복수의 이미지들 중 적어도 하나로부터 물체의 초기 추정된 포즈를 계산하는 것에 기초하여 물체의 현재 포즈를 초기화하는 단계; 복수의 이미지들 각각으로부터 물체와 연관된 복수의 2-D 키포인트들(keypoints)을 예측하는 단계; 및 현재 포즈에 따라 배열되고 시점들 각각에 투영된 바와 같은 물체의 3-D 모델과 연관된 복수의 3-D 키포인트들과 2-D 키포인트들 사이의 복수의 차이들에 기초하여 비용 함수를 최소화하는 업데이트된 포즈를 계산하는 단계를 포함한다.
복수의 차이들 각각은 시점들의 상이한 시점에 대응할 수 있고, 차이들 각각은 다음의 것들, 즉, 시점에 대응하는 복수의 이미지들 중의 이미지와 연관되는 복수의 2-D 키포인트들; 및 현재 포즈로 배열된 3-D 모델의 3-D 키포인트들을 시점에 투영하는 것 사이의 차이에 기초하여 시점들의 시점에 대해 계산될 수 있다.
비용 함수는 다음과 같을 수 있다:
여기서, 은 물체의 포즈이고, i는 N개의 3-D 키포인트들을 통해 반복하는 인덱스이고, j는 M개의 시점들을 통해 반복하는 인덱스이고, 는 j-번째 시점에 대응하기 위한 이미지에서의 i-번째 키포인트의 대응하는 키포인트 예측 에 대한 신뢰도(confidence)이고, 는 j-번째 시점으로부터의 이미지를 캡처하는데 이용되는 j-번째 카메라의 외부(extrinsic) 파라미터들 및 내부(intrinsic) 파라미터들이고, 는 i-번째 3-D 키포인트이다.
비용 함수는 다음에 따라 물체에서의 대칭들을 추가로 고려할 수 있다:
여기서, 은 물체의 포즈이고, i는 N개의 3-D 키포인트들을 통해 반복하는 인덱스이고, j는 M개의 시점들을 통해 반복하는 인덱스이고, 는 j-번째 시점으로부터의 이미지에서의 i-번째 키포인트의 대응하는 키포인트 예측 에 대한 신뢰도이고, 는 j-번째 시점으로부터의 이미지들을 캡처하는데 이용되는 j-번째 카메라의 외부 파라미터들 및 내부 파라미터들이고, 는 i-번째 3-D 키포인트이고, S는 물체의 상이한 대칭들 사이의 변환이고, 는 j-번째 뷰이다.
복수의 2-D 키포인트들을 예측하는 단계는 심층 학습 키포인트 검출기(deep learning keypoint detector)를 이용하여 수행될 수 있다.
이미지들은 편광 정보(polarization information)를 포함할 수 있고, 심층 학습 키포인트 검출기는 이미지들의 편광 정보에 기초하여 예측된 2-D 키포인트들을 계산하도록 구성될 수 있다.
심층 학습 키포인트 검출기는 합성된 편광 정보 및 합성된 키포인트 라벨들을 포함하는 합성된 훈련 데이터에 기초하여 훈련될 수 있다.
이미지들은 편광 정보를 포함할 수 있고, 방법은 3-D 모델을 편광 정보와 정렬함으로써 업데이트된 포즈를 정제(refining)하는 단계를 더 포함할 수 있다.
업데이트된 포즈를 정제하는 단계는, 이미지들에서 물체의 하나 이상의 에지를 검출하여 하나 이상의 측정된 에지 이미지를 생성하는 단계; 현재 포즈로 배열된 3-D 모델의 하나 이상의 측정된 에지 렌더링된 에지 이미지들 사이의 대응들(correspondences)을 검출하는 단계; 및 검출된 대응들에 기초하여 다중-뷰 관점-n-포인트(multi-view perspective-n-point)를 이용하여 업데이트된 포즈를 반복적으로 정제하는 단계를 포함할 수 있다.
에지들은, 편광 정보에 기초하여 표면 법선들(surface normals)을 계산하는 것; 및 표면 법선들에서의 불연속들에서 물체의 에지들을 검출하는 것에 의해 검출될 수 있다.
에지들은, 이미지들로부터 복수의 인스턴스 세그먼트화 맵들(instance segmentation maps)을 계산하는 것; 및 인스턴스 세그먼트화 맵들에서 물체의 인스턴스들의 경계들에서 물체의 에지들을 검출하는 것에 의해 검출될 수 있다.
업데이트된 포즈를 정제하는 단계는, 편광 정보에 기초하여 물체의 측정된 표면 법선들을 계산하는 단계; 업데이트된 포즈에 기초하여 물체의 3-D 모델을 배치하는 단계; 3-D 모델의 표면 법선들을 측정된 표면 법선들과 정렬하기 위해 3-D 모델의 포즈를 반복적으로 업데이트하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따르면, 이미지들을 처리하기 위한 컴퓨터-구현 방법은, 컴퓨팅 시스템에 의해, 제1 이미지 및 제2 이미지를 수신하는 단계; 컴퓨팅 시스템에 의해, 신경망을 호출(invoking)하고, 제1 이미지에서의 물체의 제1 인스턴스 및 제2 이미지에서의 물체의 제2 인스턴스를 검출하는 단계; 제1 이미지에서의 물체의 제1 인스턴스의 제1 영역, 및 제2 이미지에서의 물체의 제2 인스턴스의 제2 영역을 결정하는 단계; 제1 영역에서의 물체의 제1 인스턴스와 제2 영역에서의 물체의 제2 인스턴스 사이의 대응을 결정하는 단계; 및 대응의 결정에 기초하여 출력을 생성하는 단계를 포함한다.
방법은, 물체의 제1 인스턴스의 제1 영역을 결정하는 것에 기초하여 제1 세그먼트화 마스크를 생성하고, 물체의 제2 인스턴스의 제2 영역을 결정하는 것에 기초하여 제2 세그먼트화 마스크를 생성하는 단계를 더 포함할 수 있다.
방법은, 제1 영역에서의 물체의 제1 인스턴스와 제2 영역에서의 물체의 제2 인스턴스 사이의 대응을 결정하는 것에 응답하여, 제2 처리 작업을 제1 영역 및 제2 영역으로 제한하는 단계를 더 포함할 수 있다.
제2 처리 작업은 제2 영역에서의 하나 이상의 픽셀에 대한 제1 영역에서의 하나 이상의 픽셀의 대응을 결정하기 위한 것일 수 있다.
제2 처리 작업들은 제2 영역에서의 하나 이상의 키포인트에 대한 제1 영역에서의 하나 이상의 키포인트의 대응을 결정하기 위한 것일 수 있다.
출력은 제1 이미지와 제2 이미지 사이의 격차(disparity)의 측정치일 수 있다.
출력은 물체의 제1 인스턴스와 물체의 제2 인스턴스 사이의 3차원 상대 포즈(three-dimensional relative pose)일 수 있다.
제1 이미지는 제1 편광 이미지(first polarized image)일 수 있고, 제1 이미지는 편광 카메라에 의해 캡처될 수 있다.
제1 이미지는 물체의 제1 시점을 제공할 수 있고, 제2 이미지는 제1 시점과 상이한 물체의 제2 시점을 제공할 수 있다.
제1 영역에서의 물체의 제1 인스턴스와 제2 영역에서의 물체의 제2 인스턴스 사이의 대응들을 결정하는 단계는, 물체의 제1 인스턴스와 연관된 에피폴라 라인(epipolar line)을 식별하는 단계; 및 에피폴라 라인을 따른 제2 이미지의 검색(search)을 제약하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따르면, 장면에서의 하나 이상의 물체의 포즈 추정치들(pose estimates)을 계산하기 위한 방법은, 복수의 시점들로부터 장면에서의 하나 이상의 물체의 복수의 이미지들을 캡처하는 단계; 이미지들에 대해 인스턴스 세그먼트화를 수행하여 장면에서의 하나 이상의 검출된 물체의 복수의 인스턴스 세그먼트화 맵들을 계산하는 단계; 인스턴스 세그먼트화 맵들 사이에서 인스턴스 세그먼트화들을 매칭함으로써 하나 이상의 물체의 하나 이상의 추정된 깊이를 계산하는 단계; 및 복수의 시점들에 걸친 복수의 이미지들에 기초하여 하나 이상의 검출된 물체 각각에 대한 복수의 키포인트의 다중-뷰 공동 최적화(multi-view joint optimization)에 따라 하나 이상의 물체의 포즈들을 추정하는 단계를 포함한다. 인스턴스 세그먼트화는 상기의 단락들 중 임의의 것에서의 인스턴스 세그먼트화의 방법들을 이용하여 수행될 수 있다.
포즈들을 추정하는 단계는, 장면에서의 하나 이상의 검출된 물체 각각에 대해, 검출된 물체들 중 동일한 물체에 대응하는 이미지들의 영역들을 제1항 내지 제12항 중 어느 한 항의 방법에 제공하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따르면, 시스템은, 메인 카메라; 메인 카메라로부터 이격된 하나 이상의 지원 카메라―메인 카메라 및 하나 이상의 지원 카메라는 중첩 시야들(fields of view)을 가짐―; 및 프로세서 및 메모리를 포함하는 포즈 추정기―메모리는, 프로세서에 의해 실행될 때, 프로세서로 하여금, 메인 카메라, 하나 이상의 지원 카메라를 제어하게 하고, 상기의 방법들 중 임의의 방법들을 수행하게 하는 명령어들을 저장함―를 포함한다.
메인 카메라 및 하나 이상의 지원 카메라는 수동 카메라 시스템(passive camera system)을 형성할 수 있다.
시스템은 메인 카메라 및 지원 카메라들의 중첩 시야들 내의 영역에 구조화된 광을 투영하도록 구성된 능동 투영기(active projector)를 더 포함할 수 있다.
본 개시내용의 일 실시예에 따르면, 내용에 따라 카메라 시스템을 자동으로 교정하기 위한 방법은, 메인 카메라 및 하나 이상의 지원 카메라의 중첩 시야들에서 물체의 복수의 이미지들을 수신하는 단계―이미지들은 물체에 대해 다수의 시점들로부터 캡처됨―; 복수의 이미지들 중 적어도 하나로부터 물체의 초기 추정된 포즈를 계산하는 것에 기초하여 물체의 현재 포즈를 초기화하는 단계; 복수의 이미지들 각각으로부터 물체와 연관된 복수의 2-D 키포인트들을 예측하는 단계; 및 현재 포즈에 따라 배열되고 시점들 각각에 투영된 바와 같은 물체의 3-D 모델과 연관된 복수의 3-D 키포인트들과 2-D 키포인트들 사이의 복수의 차이들에 기초하여 비용 함수를 최소화하는 메인 카메라 및 하나 이상의 지원 카메라의 업데이트된 시점들 및 물체의 업데이트된 포즈를 계산하는 단계를 포함한다.
비용 함수는 다음과 같을 수 있다:
첨부 도면들은, 명세서와 함께, 본 발명의 예시적인 실시예들을 예시하고, 설명과 함께, 본 발명의 원리들을 설명하는 역할을 한다.
도 1a는 본 개시내용의 일 실시예에 따른 포즈 추정 시스템을 도시하는 개략도이다.
도 1b는 투명(transparent) 물체들 및 불투명(non-transparent)(예를 들어, 확산 및/또는 반사) 물체들과의 광의 상호작용의 하이 레벨 도면이다.
도 1c는 본 개시내용의 일 실시예에 따른 편광 카메라 모듈의 사시도이다.
도 1d는 본 개시내용의 일 실시예에 따른 편광 카메라 모듈의 일부의 단면도이다.
도 1e는 본 개시내용의 일 실시예에 따른 스테레오 편광 카메라 시스템(stereo polarization camera system)의 사시도이다.
도 2a는 본 개시내용의 일 실시예에 따른, 포즈들을 추정하기 위한 방법을 도시하는 흐름도이다.
도 2b는 본 개시내용의 일 실시예에 따른, 포즈 추정 시스템의 카메라들에 의해 캡처된 물체들의 배열을 포함하는 장면의 4개의 뷰들을 도시한다.
도 2c는 본 개시내용의 일 실시예에 따른, 포즈 추정 시스템의 카메라들에 의해 캡처된 4개의 상이한 시점들로부터의 물체의 동일한 인스턴스의 4개의 상이한 뷰들에서 검출된 2-D 키포인트들의 도면이다.
도 2d는 본 개시내용의 일 실시예에 따른, 포즈 추정기(100)에 의해 계산된 바와 같은 단일 물체의 추정된 포즈에 따라 카메라들 중 하나로부터 캡처된 이미지로부터 추출된 바와 같은 장면에서의 단일 물체를 도시하는 크롭(crop) 및 장면 내에 포즈된 물체의 3-D 모델의 오버레이된 렌더링을 갖는 동일한 크롭을 도시한다.
도 2e는 본 개시내용의 일 실시예에 따른, 포즈 추정기(100)에 의해 검출되었고 포즈들이 있었던 물체들의 추정된 포즈들에 따라 카메라들 중 하나로부터 캡처된 바와 같은 그리고 장면 내에 포즈된 물체들의 3-D 모델의 오버레이된 렌더링들을 갖는 다수의 물체들을 포함하는 장면의 이미지를 도시한다.
도 3은 물체의 다수의 뷰들에 기초하여 물체의 포즈를 추정하기 위한 본 개시내용의 일 실시예에 따른 방법을 도시하는 흐름도이다.
도 4는 본 개시내용의 일 실시예에 따른, 포즈의 에지 기반 정제(edge-based refinement)를 위한 방법의 흐름도이다.
도 5는 본 개시내용의 일 실시예에 따른, 편광 데이터에 기초한 포즈의 표면 법선 기반 정제(surface normals-based refinement)를 위한 방법을 도시하는 흐름도이다.
도 6은 다양한 양식들에서의 이미지들에 기초하여 컴퓨터 비전 작업들(computer vision tasks)을 수행하기 위해 통계적 모델을 훈련하기 위한 시스템을 도시하는 블록도이며, 여기서 훈련은 본 개시내용의 실시예들에 따라 생성된 데이터를 이용하여 수행된다.
도 7a는 2개의 투명 공들("스푸프들(spoofs)") 및 일부 배경 클러터(background clutter)를 포함하는 다른 장면을 도시하는 사진의 프린트아웃 위에 배치된 하나의 실제 투명 공을 갖는 장면의 이미지 또는 강도 이미지이다.
도 7b는 투명 공들의 인스턴스들을 식별하는 비교 마스크 영역 기반 컨볼루션 신경망(Mask Region-based Convolutional Neural Network)(Mask R-CNN)에 의해 계산된 바와 같은 오버레이된 세그먼트화 마스크를 갖는 도 7a의 강도 이미지를 도시하고, 여기서 실제 투명 공은 인스턴스로서 정확하게 식별되고, 2개의 스푸프들은 인스턴스들로서 부정확하게 식별된다.
도 7c는 본 발명의 일 실시예에 따른, 장면의 캡처된 편광 원시 프레임들(polarization raw frames)로부터 계산된 편광 각도 이미지이다.
도 7d는 본 발명의 실시예에 따라 편광 데이터를 이용하여 계산된 바와 같은 오버레이된 세그먼트화 마스크를 갖는 도 7a의 강도 이미지를 도시하고, 여기서 실제 투명 공은 인스턴스로서 정확하게 식별되고, 2개의 스푸프들은 인스턴스들로서 정확하게 배제된다.
도 8은 투과된 광의 에너지 대 대략 1.5의 굴절률을 갖는 표면에 대한 입사 각도들의 범위에 걸쳐 반사된 광의 에너지의 그래프이다.
도 9는 본 개시내용의 일 실시예에 따른, 합성 이미지들을 생성하기 위한 파이프라인을 도시하는 흐름도이다.
도 10은 본 개시내용의 일 실시예에 따른, 편광 카메라 시스템을 이용하여 다수의 각도들로부터 실제 재료를 샘플링하는 것의 개략도이다.
도 11은 본 개시내용의 일 실시예에 따른, 훈련 데이터 세트를 생성하기 위한 방법을 도시하는 흐름도이다.
도 12는 일 실시예에 따른, 물체 레벨 대응을 위한 프로세스의 흐름도이다.
도 13은 일 실시예에 따른, 단계의 인스턴스 세그먼트화 및 마스크 생성을 위한 아키텍처의 블록도이다.
도 14는 일 실시예에 따른, 제1 세그먼트화 마스크에서 특정 물체 인스턴스에 대한 물체 레벨 대응을 식별하기 위해 단계(1204)(도 12)에서 이용되는 매칭 알고리즘의 더 상세한 흐름도이다.
도 15는 일 실시예에 따른, 도 2b에서의 이미지(211-L)에 대해 생성된 인스턴스 세그먼트화 마스크이다.
도 16a 및 도 16b는 일 실시예에 따른, 도 12에 대해 설명된 물체 레벨 대응을 결정하기 위한 프로세스의 결과들을 도시하는 이미지들이다.
도 17은 본 개시내용의 일 실시예에 따른, 카메라 자동 교정의 개략도이다.
도 18은 로봇 팔의 정확도 및 반복성이 로봇의 포즈 및 위치 둘다의 함수인 것을 도시하는 개략도이다.
도 1a는 본 개시내용의 일 실시예에 따른 포즈 추정 시스템을 도시하는 개략도이다.
도 1b는 투명(transparent) 물체들 및 불투명(non-transparent)(예를 들어, 확산 및/또는 반사) 물체들과의 광의 상호작용의 하이 레벨 도면이다.
도 1c는 본 개시내용의 일 실시예에 따른 편광 카메라 모듈의 사시도이다.
도 1d는 본 개시내용의 일 실시예에 따른 편광 카메라 모듈의 일부의 단면도이다.
도 1e는 본 개시내용의 일 실시예에 따른 스테레오 편광 카메라 시스템(stereo polarization camera system)의 사시도이다.
도 2a는 본 개시내용의 일 실시예에 따른, 포즈들을 추정하기 위한 방법을 도시하는 흐름도이다.
도 2b는 본 개시내용의 일 실시예에 따른, 포즈 추정 시스템의 카메라들에 의해 캡처된 물체들의 배열을 포함하는 장면의 4개의 뷰들을 도시한다.
도 2c는 본 개시내용의 일 실시예에 따른, 포즈 추정 시스템의 카메라들에 의해 캡처된 4개의 상이한 시점들로부터의 물체의 동일한 인스턴스의 4개의 상이한 뷰들에서 검출된 2-D 키포인트들의 도면이다.
도 2d는 본 개시내용의 일 실시예에 따른, 포즈 추정기(100)에 의해 계산된 바와 같은 단일 물체의 추정된 포즈에 따라 카메라들 중 하나로부터 캡처된 이미지로부터 추출된 바와 같은 장면에서의 단일 물체를 도시하는 크롭(crop) 및 장면 내에 포즈된 물체의 3-D 모델의 오버레이된 렌더링을 갖는 동일한 크롭을 도시한다.
도 2e는 본 개시내용의 일 실시예에 따른, 포즈 추정기(100)에 의해 검출되었고 포즈들이 있었던 물체들의 추정된 포즈들에 따라 카메라들 중 하나로부터 캡처된 바와 같은 그리고 장면 내에 포즈된 물체들의 3-D 모델의 오버레이된 렌더링들을 갖는 다수의 물체들을 포함하는 장면의 이미지를 도시한다.
도 3은 물체의 다수의 뷰들에 기초하여 물체의 포즈를 추정하기 위한 본 개시내용의 일 실시예에 따른 방법을 도시하는 흐름도이다.
도 4는 본 개시내용의 일 실시예에 따른, 포즈의 에지 기반 정제(edge-based refinement)를 위한 방법의 흐름도이다.
도 5는 본 개시내용의 일 실시예에 따른, 편광 데이터에 기초한 포즈의 표면 법선 기반 정제(surface normals-based refinement)를 위한 방법을 도시하는 흐름도이다.
도 6은 다양한 양식들에서의 이미지들에 기초하여 컴퓨터 비전 작업들(computer vision tasks)을 수행하기 위해 통계적 모델을 훈련하기 위한 시스템을 도시하는 블록도이며, 여기서 훈련은 본 개시내용의 실시예들에 따라 생성된 데이터를 이용하여 수행된다.
도 7a는 2개의 투명 공들("스푸프들(spoofs)") 및 일부 배경 클러터(background clutter)를 포함하는 다른 장면을 도시하는 사진의 프린트아웃 위에 배치된 하나의 실제 투명 공을 갖는 장면의 이미지 또는 강도 이미지이다.
도 7b는 투명 공들의 인스턴스들을 식별하는 비교 마스크 영역 기반 컨볼루션 신경망(Mask Region-based Convolutional Neural Network)(Mask R-CNN)에 의해 계산된 바와 같은 오버레이된 세그먼트화 마스크를 갖는 도 7a의 강도 이미지를 도시하고, 여기서 실제 투명 공은 인스턴스로서 정확하게 식별되고, 2개의 스푸프들은 인스턴스들로서 부정확하게 식별된다.
도 7c는 본 발명의 일 실시예에 따른, 장면의 캡처된 편광 원시 프레임들(polarization raw frames)로부터 계산된 편광 각도 이미지이다.
도 7d는 본 발명의 실시예에 따라 편광 데이터를 이용하여 계산된 바와 같은 오버레이된 세그먼트화 마스크를 갖는 도 7a의 강도 이미지를 도시하고, 여기서 실제 투명 공은 인스턴스로서 정확하게 식별되고, 2개의 스푸프들은 인스턴스들로서 정확하게 배제된다.
도 8은 투과된 광의 에너지 대 대략 1.5의 굴절률을 갖는 표면에 대한 입사 각도들의 범위에 걸쳐 반사된 광의 에너지의 그래프이다.
도 9는 본 개시내용의 일 실시예에 따른, 합성 이미지들을 생성하기 위한 파이프라인을 도시하는 흐름도이다.
도 10은 본 개시내용의 일 실시예에 따른, 편광 카메라 시스템을 이용하여 다수의 각도들로부터 실제 재료를 샘플링하는 것의 개략도이다.
도 11은 본 개시내용의 일 실시예에 따른, 훈련 데이터 세트를 생성하기 위한 방법을 도시하는 흐름도이다.
도 12는 일 실시예에 따른, 물체 레벨 대응을 위한 프로세스의 흐름도이다.
도 13은 일 실시예에 따른, 단계의 인스턴스 세그먼트화 및 마스크 생성을 위한 아키텍처의 블록도이다.
도 14는 일 실시예에 따른, 제1 세그먼트화 마스크에서 특정 물체 인스턴스에 대한 물체 레벨 대응을 식별하기 위해 단계(1204)(도 12)에서 이용되는 매칭 알고리즘의 더 상세한 흐름도이다.
도 15는 일 실시예에 따른, 도 2b에서의 이미지(211-L)에 대해 생성된 인스턴스 세그먼트화 마스크이다.
도 16a 및 도 16b는 일 실시예에 따른, 도 12에 대해 설명된 물체 레벨 대응을 결정하기 위한 프로세스의 결과들을 도시하는 이미지들이다.
도 17은 본 개시내용의 일 실시예에 따른, 카메라 자동 교정의 개략도이다.
도 18은 로봇 팔의 정확도 및 반복성이 로봇의 포즈 및 위치 둘다의 함수인 것을 도시하는 개략도이다.
이하의 상세한 설명에서, 본 발명의 특정 예시적인 실시예들만이 예시로서 도시되고 설명된다. 본 기술 분야의 통상의 기술자들이 인식하듯이, 본 발명은 많은 상이한 형태로 구현될 수 있으며, 본 명세서에서 개시되는 실시예들로 제한되는 것으로 해석되지 않아야 한다.
포즈 추정은 일반적으로 물체들의 위치 및 배향을 추정 또는 예측하기 위한 컴퓨터 비전 기술을 지칭한다. 포즈 추정의 일부 형태들은 사람의 머리, 팔들, 다리들, 및 관절들의 위치 및 배향과 같은, 인물의 물리적 포즈를 검출하는 것을 지칭한다. 포즈 추정은 또한 더 일반적으로 장면에서의 다양한 생물 또는 무생물의 물리적 물체들의 위치 및 배향을 지칭할 수 있다. 예를 들어, 자율적으로 내비게이팅하는 로봇들은 충돌들을 회피하고 다른 움직이는 물체들의 궤적들을 예측하기 위해 그들 주위의 물체들의 물리적 포즈들에 관한 정보를 유지할 수 있다. 다른 예로서, 제조에 이용하기 위한 로봇 공학의 경우, 물리적 제조 컴포넌트들의 위치 및 배향을 검출하기 위해 로봇들에 의해 포즈 추정이 이용될 수 있고, 그에 의해 로봇 팔이 정확한 각도로부터 컴포넌트에 접근하여, 제조된 제품의 다른 컴포넌트들과의 조립을 위한 부품에 대한 적절한 파지(grip)를 할 수 있게 된다(예를 들어, 나사의 헤드를 파지하고, 나사를 구멍에 끼우는 반면, 팁에 의한 나사의 파지는 구멍에 삽입하는 것을 어렵게 할 것이다).
본 개시내용의 실시예들의 양태들은 장면에서의 매우 다양한 물체들의 자동화된 6 자유도(six degree of freedom)(6-DoF) 추정을 위한 시스템들 및 방법들에 관한 것이다. 3차원 공간에서의 6 자유도는 위치 좌표들(예를 들어, 3차원 전역 좌표계에서의 x, y, 및 z 병진 좌표들) 및 배향 좌표들(예를 들어, 3차원 좌표계에서의 θ, φ, 및 ψ 회전 좌표들)을 포함한다.
본 개시내용의 실시예들의 일부 양태들은 단일 물체의 포즈 또는 그러한 물체들의 클러터링된 빈(cluttered bin)에서의 다수의 물체들의 포즈들을 계산하기 위해 6-DoF 추정을 수행하기 위한 특정 기술들에 관한 것이다. 많은 물체들은 상이한 양방향 반사율 분포 함수들(bi-directional reflectance distribution functions)(BRDF)을 가져서, 6DoF 추정을 위한 단일 프레임워크를 깊이 캡처와 같은 비교 방법들로 달성하기 어렵게 한다. 이를 해결하기 위해, 본 개시내용의 실시예들의 일부 양태들은 본 개시내용의 실시예들에 따른 이미징 시스템에 의해 이미징된 임의의 물체의 포즈를 추정하기 위해 시뮬레이션, 물리 기반 학습, 및 다중-뷰 기하구조를 이용하여 포즈 추정치들 또는 측정치들을 계산하는 것에 관한 것이다.
도 1a는 본 개시내용의 일 실시예에 따른 포즈 추정 시스템(1)을 도시하는 개략도이다. 도 1a에 도시된 바와 같이, 메인 카메라(10)는 그의 시야(12)가 장면에서의 물체들(22)의 배열(20)을 캡처하도록 배열된다. 도 1a에 도시된 실시예에서, 메인 카메라(10)는 지지 플랫폼(40) 위에 위치되지만(예를 들어, 중력 방향을 따라 물체들(22)로부터 이격되지만), 본 개시내용의 실시예들은 이에 제한되지 않는다―예를 들어, 포즈 추정기는 물체들(22)의 하향 각진 뷰를 갖도록 배열될 수 있다.
일부 실시예들에서, 하나 이상의 지원 카메라(30)가, 물체들(22)의 배열(20)을 포함하는 장면 주위에 상이한 포즈들로 배열된다. 따라서, 지원 카메라들(30), 예를 들어, 제1 지원 카메라(30a), 제2 지원 카메라(30b), 및 제3 지원 카메라(30c) 각각은 상이한 시점(예를 들어, 각각 제1 시점, 제2 시점, 및 제3 시점)으로부터 물체들(22)의 상이한 뷰를 캡처한다. 도 1a가 3개의 지원 카메라들(30)을 도시하지만, 본 개시내용의 실시예들은 이에 제한되지 않으며, 예를 들어, 적어도 하나의 지원 카메라(30)를 포함할 수 있고, 3개보다 많은 지원 카메라들(30)을 포함할 수 있다.
지지 플랫폼(40)은 벤치탑, 테이블탑, 컨베이어 벨트 등과 같이 물체들(22)을 지지하는 임의의 표면일 수 있다. 지지 플랫폼(40)은 요구되지 않고, 포즈 추정기 시스템에 의해 그 포즈가 추정될 수 있는 물체들(22) 또는 물체(22)는 로봇의 이동가능한 팔, 오버헤드 컨베이어 시스템 등과 같은 다른 디바이스들에 의해 지지될 수 있다.
본 개시내용의 다양한 실시예들에 따른 포즈 추정기(100)는 메인 카메라(10) 및 지원 카메라들(30)에 의해 캡처된 정보에 기초하여 물체들(22)의 포즈들을 계산 또는 추정하도록 구성된다.
더 상세하게는, 메인 카메라(10) 및 지원 카메라들(30)은 그들의 시야들(12) 내에서 검출된 물체들(22)의 포즈들을 추정하도록 구성된다. 도 1a에 도시된 실시예에서, 물체들(22)은 구(spheres), 직사각형 프리즘 및 실린더와 같은 간단한 3차원 고체들로서 추상적으로 도시된다. 그러나, 본 개시내용의 실시예들은 이에 제한되지 않고, 포즈 추정기들의 특성화는 카메라에 대한 포즈가 명확하게 정의될 수 있는 임의의 물체를 이용하여 수행될 수 있다.
특히, "포즈"는 기준 좌표계에 대한 물체의 위치 및 배향을 지칭한다. 예를 들어, 기준 좌표계는 원점에서 메인 카메라(10)로 정의될 수 있으며, 메인 카메라(10)의 광학 축을 따르는 방향(예를 들어, 시야(12)의 중심을 통과하는 방향)은 좌표계의 z축으로서 정의되고, x축 및 y축은 서로 수직이고 z축에 수직인 것으로 정의된다. (본 개시내용의 실시예들은 이 특정 좌표계로 제한되지 않고, 본 기술분야의 통상의 기술자는 포즈들이 상이한 좌표계들에서의 동등한 표현들로 수학적으로 변환될 수 있다는 것을 이해할 것이다.)
각각의 물체(22)는 또한, 그 특정한 형상에 관하여 정의된 그 자신의 대응하는 좌표계와 연관될 수 있다. 예를 들어, 상이한 길이들의 변들을 갖는 직사각형 프리즘은 x축이 그의 최단 방향에 평행하고, z축이 그의 최장 방향에 평행하고, y축이 x축 및 z축에 직교하고, 원점이 물체(22)의 중심에 위치하는 정규(canonical) 좌표계를 가질 수 있다.
일반적으로, 3차원 좌표계에서, 물체(22)는 6 자유도, 즉, 3개의 축을 중심으로 한 회전(예를 들어, x축, y축 및 z축을 중심으로 한 회전) 및 3개의 축을 따른 병진(예를 들어, x축, y축 및 z축을 따른 병진)을 갖는다. 명료성을 위해, 물체들(22)의 대칭들은 본 명세서에서 상세히 논의되지 않을 것이지만, 예를 들어, (예를 들어, 우측 직사각형 프리즘의 z-축의 양의 방향 대 음의 방향을 선택하는 경우) 상이한 대칭들에 대해 다수의 가능한 포즈들을 식별함으로써, 또는 포즈의 일부 회전 컴포넌트들을 무시함으로써(예를 들어, 우측 실린더가 그것의 축을 중심으로 회전 대칭임) 다루어질 수 있다.
일부 실시예들에서, 물체(20)의 배열에서 각각의 타입의 물체(22)의 정규 또는 이상적 버전을 나타내는 3차원(3-D) 모델 또는 CAD(computer aided design) 모델이 이용가능하다고 가정된다. 예를 들어, 본 개시내용의 일부 실시예들에서, 물체들(22)은 컴포넌트마다 실질적으로 균일한 외관을 갖는 제조된 컴포넌트들의 개별 인스턴스들이다. 그러한 제조된 컴포넌트들의 예들은, 나사들, 볼트들, 너트들, 커넥터들, 및 스프링들뿐만 아니라, 전자 회로 컴포넌트들(예를 들어, 패키징된 집적 회로들, 발광 다이오드들, 스위치들, 저항기들 등), 실험실 공급기들(예를 들어, 테스트 튜브들, PCR 튜브들, 병들, 캡들, 뚜껑들, 피펫 팁들(pipette tips), 샘플 플레이트들 등), 및 제조된 부품들(예를 들어, 핸들들, 스위치 캡들, 전구들 등)과 같은 특수 부품들을 포함한다. 따라서, 이러한 상황들에서, 배열(20)에서의 임의의 특정 물체(22)의 이상적 또는 정규 형상을 정의하는 CAD 모델은 물체에 대한 좌표계(예를 들어, CAD 모델의 표현에 이용되는 좌표계)를 정의하는데 이용될 수 있다.
기준 좌표계(또는 예를 들어, 포즈 추정 시스템에 대해 정의된 카메라 공간) 및 물체 좌표계(또는 예를 들어, 물체들 중 하나에 대해 정의된 물체 공간)에 기초하여, 물체의 포즈는 물체 공간으로부터 카메라 공간으로의 강체 변환(rigid transform)(회전 및 병진)인 것으로 간주될 수 있다. 카메라 공간(1) 내의 물체(1)의 포즈는 로서 표시될 수 있고, 물체(1) 공간으로부터 카메라 공간으로의 변환은 다음의 행렬에 의해 표현될 수 있다:
여기서, 회전 서브행렬 R은 다음과 같고:
이는 물체 공간으로부터 카메라 공간으로의 3개의 축을 따른 회전들을 나타내며, 병진 서브행렬 T는 다음과 같고:
이는 물체 공간으로부터 카메라 공간으로의 3개의 축을 따른 병진들을 나타낸다.
2개의 물체, 즉, 물체 A 및 물체 B가 동일 카메라 C 좌표 프레임 내에 있는 경우, 표기법 PCA는 카메라 C에 대한 물체 A의 포즈를 표시하는데 이용되고, PCB는 카메라 C에 대한 물체 B의 포즈를 표시하는데 이용된다. 편의를 위해, 물체들의 포즈들은 기준 좌표계에 기초하여 표현되므로, 카메라 공간 C에 대한 물체들 A 및 B의 포즈들은 PA 및 PB로 각각 표시될 수 있는 것으로 본 명세서에서 가정된다.
물체 A 및 물체 B가 실제로 동일한 물체이지만, 상이한 포즈 추정 측정들 동안 수행되고, 잔여 포즈 Perr 또는 PAB(PAB = Perr)가 포즈 PA로부터 포즈 PB로의 변환을 표시하기 위해 이용되는 경우, 다음 관계가 유지되어야 한다:
따라서,
이상적으로, 물체가 포즈 추정치들 PA 및 PB의 측정들 사이에서 포즈 추정기(10)에 대해 이동(예를 들어, 병진 또는 회전)하지 않았다고 가정하면,
PA 및 PB는 둘다 동일해야 하고, Perr은 (예를 들어, 포즈들 사이에 에러가 없음을 나타내는) 항등 행렬(identity matrix)이어야 한다:
유사한 방식으로, 특정 물체의 포즈는 2개의 상이한 카메라들로부터의 뷰들에 대해 계산될 수 있다. 예를 들어, 메인 카메라 C에 의해 캡처된 물체 A의 이미지들은 메인 카메라 C에 대한 물체 A의 포즈 PCA를 계산하는데 이용될 수 있다. 마찬가지로, 제1 지원 카메라 S1에 의해 캡처된 물체 A의 이미지들은 지원 카메라 S1에 대한 물체 A의 포즈 를 계산하는데 이용될 수 있다. 메인 카메라 C 및 지원 카메라 S1의 상대 포즈들이 알려지는 경우, 포즈 는 메인 카메라 C의 좌표계로 변환될 수 있다.
이상적으로, 메인 카메라 C 및 지원 카메라 S1의 알려진 상대 포즈들이 정확하고, 2개의 카메라에 의해 캡처된 데이터에 기초하여 계산된 포즈들이 정확하다고 가정하면, 및 는 둘다 동일해야 하고, Perr은 (예를 들어, 포즈들 사이에 에러가 없음을 나타내는) 항등 행렬이어야 한다.
포즈 추정기(10)에 의해 계산된 추정치들에 기초하여 계산된 실제 측정 값과 항등 행렬 사이의 차이들 Perr은 에러들인 것으로 간주될 수 있다:
여기서, Rerr은 회전 에러이고, Terr은 병진 에러이다. 함수 R( )은 Perr을 크기가 회전 차이인 축-각도로 변환하고, 함수 T( )는 포즈 행렬의 병진 컴포넌트를 추출한다.
회전 행렬 R로부터의 축-각도 표현은 다음과 같이 주어진다:
여기서, Tr( )은 행렬 트레이스(행렬의 대각선 요소들의 합)를 나타내고, θ는 회전의 각도를 나타낸다.
본 개시내용의 실시예들의 일부 양태들은 메인 카메라(10) 및 지원 카메라들(30)에 걸친 물체들의 포즈들의 공동 추정에 기초하여 장면에서의 물체들(22)의 높은 정확도의 포즈 추정을 계산하는 것에 관한 것이다. 본 개시내용의 실시예들의 일부 양태들은 또한 장면 내의 물체들(22)의 포즈들의 공동 추정치들을 계산하는 것에 기초한 카메라 시스템들의 교정에 관한 것이다.
포즈 추정 하드웨어
도 1a에 도시된 실시예에서, 포즈 추정 시스템(1)은 메인 카메라(10) 및 하나 이상의 지원 카메라(30)를 포함한다. 본 개시내용의 일부 실시예들에서, 메인 카메라(10)는 스테레오 카메라를 포함한다. 스테레오 카메라들의 예들은 기준선을 따라 서로 이격된 적어도 2개의 단안 카메라들(monocular cameras)을 갖는 카메라 시스템들을 포함하며, 단안 카메라들은 서로 실질적으로 평행한 중첩 시야들 및 광학 축들을 갖는다. 본 개시내용의 실시예들은 메인 카메라(10) 및 지원 카메라들(30)이 (예를 들어, 전용 광 투영기에 접속되지 않고 대신에 주변 조명 또는 다른 광원들을 이용하는) 수동 카메라들인 실시예들에서 본 명세서에 제시될 것이지만, 본 개시내용의 실시예들은 이에 제한되지 않고 하나 이상의 능동 광 투영기가 카메라 시스템에 포함되어, 이에 의해 능동 카메라 시스템을 형성하는 상황들을 또한 포함할 수 있으며, 여기서 능동 광 투영기는 장면 상에 구조화된 광 또는 패턴을 투영하도록 구성될 수 있다. 지원 카메라들(30)은 스테레오 카메라들, 단안 카메라들, 또는 이들의 조합들(예를 들어, 일부 스테레오 지원 카메라들 및 일부 단안 지원 카메라들)일 수 있다.
메인 카메라(10) 및 지원 카메라들(30)은 동일한 이미징 양식들 또는 상이한 이미징 양식들을 이용할 수 있다. 이미징 양식들의 예들은 단색, 컬러, 적외선, 자외선, 열, 편광, 및 이들의 조합들을 포함한다.
도 1b, 도 1c, 도 1d 및 도 1e는 본 개시내용의 일부 실시예들에 따른, 메인 카메라(10)의 일부로서 이용될 수 있는 편광 카메라 시스템의 일례를 제공한다.
광과 투명 물체들 사이의 상호작용은 풍부하고 복잡하지만, 물체의 재료는 가시 광 하에서 그것의 투명도를 결정한다. 많은 투명한 가정 물체들에 대해, 가시 광의 대부분은 직진하고 작은 부분(굴절률에 따라, ~4% 내지 ~8%)이 반사된다. 이것은 스펙트럼의 가시 부분 내의 광이 투명 물체 내의 원자들을 여기시키기에 불충분한 에너지를 갖기 때문이다. 결과적으로, 투명 물체 뒤의 (또는 투명 물체를 통해 보이는) 물체들의 텍스처(예로서, 외관)는 투명 물체의 외관을 지배한다. 예를 들어, 테이블 상의 투명 유리 컵 또는 텀블러를 볼 때, 텀블러의 다른 측면(예를 들어, 테이블의 표면) 상의 물체들의 외관은 일반적으로 컵을 통해 보이는 것을 지배한다. 이 속성은 강도 이미지들만에 기초하여 유리창들 및 광택 투명 페인트 층들과 같은 투명 물체들의 표면 특성들을 검출하려고 시도할 때 일부 어려움들을 초래한다.
도 1b는 투명 물체들 및 불투명(예를 들어, 확산 및/또는 반사) 물체들과의 광의 상호작용의 하이 레벨 도면이다. 도 1b에 도시된 바와 같이, 편광 카메라(10)는 불투명 배경 물체(42)의 앞에 투명 물체(41)를 포함하는 장면의 편광 원시 프레임들을 캡처한다. 편광 카메라(10)의 이미지 센서(14)에 부딪치는 광선(43)은 투명 물체(41) 및 배경 물체(42) 둘다로부터의 편광 정보를 포함한다. 투명 물체(41)로부터 반사된 광(44)의 작은 부분은, 배경 물체(42)에서 반사되고 투명 물체(41)를 통과하는 광(45)과 대조적으로, 과도하게 편광되고, 따라서 편광 측정에 큰 영향을 미친다.
유사하게, 물체의 표면에 부딪치는 광선은 다양한 방식으로 표면의 형상과 상호작용할 수 있다. 예를 들어, 광택 페인트를 갖는 표면은 도 1b에 도시된 바와 같이 불투명 물체의 앞에 있는 투명 물체와 실질적으로 유사하게 거동할 수 있고, 여기서 광선과 광택 페인트의 투명 또는 반투명 층(또는 클리어 코트 층) 사이의 상호작용들은 표면으로부터 반사되는 광이 이미지 센서에 부딪치는 광선에 인코딩되어 있는 투명 또는 반투명 층의 특성들에 기초하여(예를 들어, 층의 두께 및 표면 법선들에 기초하여) 편광되게 한다. 유사하게, 편광으로부터의 형상(shape from polarization)(SfP) 이론과 관련하여 이하에서 더 상세히 논의되는 바와 같이, 표면의 형상의 변동들(예를 들어, 표면 법선들의 방향)은 물체의 표면에 의해 반사되는 광의 편광의 상당한 변화들을 야기할 수 있다. 예를 들어, 매끄러운 표면들은 일반적으로 전체에 걸쳐 동일한 편광 특성들을 나타낼 수 있지만, 표면에서의 스크래치 또는 덴트는 그 영역들에서의 표면 법선들의 방향을 변화시키고, 스크래치들 또는 덴트들에 부딪치는 광은 물체의 표면의 다른 부분들에서와 상이한 방식들로 편광, 감쇠, 또는 반사될 수 있다. 광과 물질 사이의 상호작용들의 모델들은 일반적으로 3개의 기본들, 즉, 기하구조, 조명 및 재료를 고려한다. 기하구조는 재료의 형상에 기초한다. 조명은 조명의 방향 및 컬러를 포함한다. 재료는 광의 굴절률 또는 각도 반사/투과에 의해 파라미터화될 수 있다. 이러한 각도 반사는 양방향 반사율 분포 함수(BRDF)로 알려져 있지만, 다른 함수적 형태들은 특정 시나리오들을 더 정확하게 표현할 수 있다. 예를 들어, 양방향 지하 산란 분포 함수(bidirectional subsurface scattering distribution function)(BSSRDF)는 지하 산란을 나타내는 재료들(예를 들어, 대리석 또는 왁스)의 맥락에서 더 정확할 것이다.
편광 카메라(10)의 이미지 센서(14)에 부딪치는 광선(43)은 3개의 측정가능한 컴포넌트를 갖는다: 광의 강도(강도 이미지/I), 선형 편광된 광의 백분율 또는 비율(선형 편광도/DOLP/ρ), 및 그 선형 편광의 방향(선형 편광 각도/AOLP/φ). 이러한 속성들은 아래에 더 상세히 설명되는 바와 같이, 투명 물체들을 검출하기 위해 포즈 추정기(100)에 의해 이용될 수 있는, 이미징되는 물체의 표면 곡률 및 재료에 관한 정보를 인코딩한다. 일부 실시예들에서, 하나 이상의 편광 카메라를 이용함으로써, 포즈 추정기(100)는 반투명 물체들을 통과하는 광의 유사한 편광 속성들 및/또는 다중경로 유도 물체들과 또는 비반사 물체들(예를 들어, 매트 블랙 물체들(matte black objects))에 의해 상호작용하는 광에 기초하여 다른 광학적으로 도전적인 물체들을 검출할 수 있다.
더 상세하게는, 편광 카메라(10)는 장면(1)과 이미지 센서(14) 사이의 광학 경로에 배치된 편광기 또는 편광 필터 또는 편광 마스크(16)를 더 포함할 수 있다. 본 개시내용의 다양한 실시예들에 따르면, 편광기 또는 편광 마스크(16)는 편광 카메라(10)가 다양한 지정된 각도들로(예를 들어, 45°회전으로 또는 60°회전으로 또는 불균일하게 이격된 회전들로) 설정된 편광기로 장면(1)의 이미지들을 캡처할 수 있게 하도록 구성된다.
일례로서, 도 1b는 편광 마스크(16)가 컬러 카메라의 적색-녹색-청색(RGB) 컬러 필터(예를 들어, 베이어 필터(Bayer filter))와 유사한 방식으로 이미지 센서(14)의 픽셀 그리드와 정렬된 편광 모자이크인 실시예를 도시한다. 이미지 센서(14)에서의 각각의 픽셀이 모자이크의 컬러 필터들의 패턴에 따라 스펙트럼의 특정 부분(예를 들어, 적색, 녹색 또는 청색)에서 광을 수신하도록, 컬러 필터 모자이크가 파장에 기초하여 입사 광을 필터링하는 방법과 유사한 방식으로, 편광 모자이크를 이용하는 편광 마스크(16)는 상이한 픽셀들이 상이한 각도들의 선형 편광(예를 들어, 0°, 45°, 90°및 135°, 또는 0°, 60°및 120°)에서 광을 수신하도록 선형 편광에 기초하여 광을 필터링한다. 따라서, 도 1b에 도시된 것과 같은 편광 마스크(16)를 이용하는 편광 카메라(10)는 4개의 상이한 선형 편광으로 광을 함께(concurrently) 또는 동시에(simultaneously) 캡처할 수 있다. 편광 카메라의 일례는 오레곤주 윌슨빌의 FLIR® Systems, Inc.에 의해 생산되는 Blackfly® S Polarization Camera이다.
위의 설명은 편광 모자이크를 이용하는 편광 카메라의 일부 가능한 구현들에 관한 것이지만, 본 개시내용의 실시예들은 그에 제한되지 않으며, 다수의 상이한 편광으로 이미지들을 캡처할 수 있는 다른 타입의 편광 카메라들을 포함한다. 예를 들어, 편광 마스크(16)는 4개보다 적은 편광 또는 4개보다 많은 상이한 편광을 가질 수 있거나, 전술한 것들과 다른 각도들(예를 들어, 0°, 60° 및 120°의 편광 각도들 또는 0°, 30°, 60°, 90°, 120° 및 150°의 편광 각도들)의 편광들을 가질 수 있다. 다른 예로서, 편광 마스크(16)는 전기-광학 변조기(electro-optic modulator)(예를 들어, 액정층을 포함할 수 있음)와 같은 전자적으로 제어되는 편광 마스크를 이용하여 구현될 수 있으며, 여기서 마스크의 개별 픽셀들의 편광 각도들은 이미지 센서(14)의 상이한 부분들이 상이한 편광들을 갖는 광을 수신하도록 독립적으로 제어될 수 있다. 다른 예로서, 전기-광학 변조기는 상이한 프레임들을 캡처할 때 상이한 선형 편광들의 광을 송신하도록 구성될 수 있으므로, 예를 들어, 카메라는 편광 마스크 전체를 상이한 선형 편광기 각도들로 순차적으로 (예를 들어, 0도; 45도; 90도; 또는 135도로 순차적으로) 설정하여 이미지들을 캡처한다. 다른 예로서, 편광 마스크(16)는 기계적으로 회전하는 편광 필터를 포함할 수 있으며, 따라서 상이한 편광 원시 프레임들이 편광 카메라(10)에 의해 캡처되고, 편광 필터는 상이한 편광 각도들의 광을 이미지 센서(14)로 송신하기 위해 렌즈(12)에 대해 기계적으로 회전된다. 또한, 상기의 예들은 선형 편광 필터의 이용에 관한 것이지만, 본 개시내용의 실시예들은 이것으로 제한되지 않고, 원형 편광 필터들(예를 들어, 1/4 파장판을 갖는 선형 편광 필터들)을 포함하는 편광 카메라들의 이용도 포함한다. 따라서, 본 개시내용의 다양한 실시예들에서, 편광 카메라는 상이한 선형 편광 각도들 및 상이한 원형 편광들(예를 들어, 손잡이(handedness))과 같은, 광의 상이한 편광들에서 다수의 편광 원시 프레임들을 캡처하기 위해 편광 필터를 이용한다.
그 결과, 편광 카메라(10)는 물체들(22)의 표면들을 포함하는 장면의 다수의 입력 이미지들(또는 편광 원시 프레임들)을 캡처한다. 일부 실시예들에서, 편광 원시 프레임들 각각은 상이한 편광 각도 (예를 들어, 0도, 45도, 90도, 또는 135도)에서 편광 필터 또는 편광기 뒤에서 취해진 이미지에 대응한다. 편광 원시 프레임들 각각은, 장면에 대하여 상이한 위치들 및 배향들로부터 편광 원시 프레임들을 캡처하는 것과는 대조적으로, 장면(1)에 대하여 실질적으로 동일한 포즈로부터 캡처된다(예를 들어, 0도, 45도, 90도, 또는 135도에서 편광 필터로 캡처된 이미지들은 모두 동일한 위치 및 배향에 위치한 동일한 편광 카메라(10)에 의해 캡처된다). 편광 카메라(10)는 적외선 및 자외선과 같은 전자기 스펙트럼의 비가시 부분들뿐만 아니라, 전자기 스펙트럼의 인간 가시 부분, 인간 가시 스펙트럼의 적색, 녹색, 및 청색 부분들과 같은 전자기 스펙트럼의 다양한 상이한 부분들에서 광을 검출하도록 구성될 수 있다.
도 1c는 본 개시내용의 일 실시예에 따른 편광 카메라 모듈의 사시도이다. 도 1d는 본 개시내용의 일 실시예에 따른 편광 카메라 모듈의 일부의 단면도이다. 본 개시내용의 실시예들의 일부 양태들은 다수의 편광 카메라들(예를 들어, 다수의 카메라들, 여기서 각각의 카메라는 그의 광학 경로에 편광 필터를 가짐)이 서로 인접하여 어레이로 배열되고, 그룹으로 이미지들을 캡처하도록 제어될 수 있는 편광 카메라 모듈에 관한 것이다(예를 들어, 단일 트리거는 함께 또는 실질적으로 동시에 이미지들을 캡처하도록 시스템 내의 모든 카메라들을 제어하는데 이용될 수 있다). 어레이에서의 카메라들 각각의 광학 경로들에서의 편광 필터들은 상이하게 편광된 광이 카메라들의 이미지 센서들에 도달하게 한다. 카메라 시스템에서의 개별 편광 카메라들은 서로 실질적으로 수직인 광학 축들을 갖고, 서로 인접하여 배치되고, 실질적으로 동일한 시야를 가져서, 카메라 시스템에서의 카메라들은 장면(1)의 실질적으로 동일한 뷰를 캡처하지만, 상이한 편광들을 갖는다. 일부 실시예들에서, 개별 편광 카메라들은 카메라들 사이의 시차 이동(parallax shift)이 장면에서의 물체들에 대한 카메라 시스템의 설계된 동작 거리에 기초하여 실질적으로 무시가능하도록 배열되고, 여기서, 설계된 동작 거리가 크다면 카메라들 사이의 더 큰 간격이 허용될 수 있다. 본 개시내용의 일부 실시예들에서, 편광 카메라 모듈은 적어도 3개의 편광 카메라를 포함하고, 각각의 편광 카메라는 (예를 들어, 각각 0°, 60° 및 120°와 같은 상이한 선형 편광 각도에서) 상이한 편광 상태를 갖는 편광 필터를 갖는다.
예를 들어, 도 1c에 도시된 편광 카메라 모듈(10')의 실시예에서, 4개의 카메라들(10A', 10B', 10C', 및 10D')은 2×2 그리드로 배열되어 카메라 어레이를 형성하고, 여기서 4개의 카메라들은 실질적으로 평행한 광학 축들을 갖는다. 4개의 카메라는 그들이 동일한 노출 설정들(예를 들어, 동일한 조리개, 노출 길이, 및 이득 또는 "ISO" 설정들)을 이용하여 실질적으로 동시에 이미지들을 캡처하도록 함께 제어될 수 있다. 본 개시내용의 다양한 실시예들에서, 개별 카메라들(10A', 10B', 10C', 및 10D') 각각은 상이한 편광 필터를 포함한다.
도 1d는 도 1c에 도시된 편광 카메라들 중 2개(10A' 및 10B')의 단면도를 도시한다. 도 1d에 도시된 바와 같이, 각각의 편광 카메라(10A' 및 10B') 시스템은 대응하는 렌즈, 대응하는 이미지 센서 및 대응하는 편광 필터를 포함한다. 특히, 편광 카메라(10A')는 렌즈(12A'), 이미지 센서(14A') 및 편광 필터(16A')를 포함한다. 마찬가지로, 편광 카메라(10B')는 렌즈(12B'), 이미지 센서(14B') 및 편광 필터(16B')를 포함한다. 본 개시내용의 일부 실시예들에서, 4개의 카메라들(10A', 10B', 10C', 및 10D')의 이미지 센서들은 동일한 반도체 다이 상에 모놀리식으로 형성되고, 4개의 카메라들은 상이한 이미지 센서들에 대응하는 렌즈들(12)을 위한 분리된 조리개들을 갖는 동일한 하우징에 위치한다. 유사하게, 편광 필터들(16)은 (상이한 카메라들에 대응하는) 층의 상이한 영역들에서 상이한 편광 필터들(예를 들어, 상이한 선형 편광 각도들)을 갖는 단일 물리적 층의 상이한 부분들에 대응할 수 있다.
본 개시내용의 일부 실시예들에서, 카메라 시스템(10')에서의 카메라들 각각은 상이하게 편광된 광을 필터링하도록 구성되는 대응하는 편광 필터를 갖는다. 예를 들어, 도 1c 및 도 1d에 도시된 실시예에서, 카메라(10A')의 편광 필터(16A')는 0°의 각도로 배향된 선형 편광 필터일 수 있고, 카메라(10B')의 편광 필터(16B')는 45°의 각도로 배향된 선형 편광 필터일 수 있고, 카메라(10C')의 편광 필터(16C')는 90°의 각도로 배향된 선형 편광 필터일 수 있고, 카메라(10D')의 편광 필터(16D')는 135°의 각도로 배향된 선형 편광 필터일 수 있다. 일부 실시예들에서, 카메라들 중 하나 이상은 원형 편광기를 포함할 수 있다. 본 개시내용의 일부 실시예들에서, 카메라 시스템(10')은 적어도 2개의 상이한 편광으로 광을 필터링하도록 구성되는 편광 필터들을 포함한다. 본 개시내용의 일부 실시예들에서, 카메라 시스템(10')은 적어도 3개의 상이한 편광으로 광을 필터링하도록 구성되는 편광 필터들을 포함한다. 도 1d에 도시된 실시예에서, 편광 필터(16)는 렌즈(12) 뒤에 (예를 들어, 렌즈(12)와 이미지 센서(14) 사이에) 위치하지만, 본 개시내용의 실시예들은 이에 제한되지 않는다. 일부 실시예들에서, 편광 필터는 렌즈(12)의 앞에 위치된다.
일부 실시예들에서, 카메라 어레이의 다양한 개별 카메라들은 체커보드 패턴, ArUco 타겟(예를 들어, Garrido-Jurado, Sergio 등의 "Automatic generation and detection of highly reliable fiducial markers under occlusion." Pattern Recognition 47.6(2014): 2280-2292. 참조) 또는 ChArUco 타겟(예를 들어, An, Gwon Hwan 등의 "Charuco board-based omnidirectional camera calibration method." Electronics 7.12(2018): 421. 참조)과 같은 교정 타겟의 다수의 이미지들을 캡처함으로써 그들의 상대적 포즈들(또는 상대적 위치들 및 배향들)을 결정함으로써 서로 등록된다. 특히, 타깃들을 교정하는 프로세스는 각각의 카메라의 내부 파라미터들을 특징짓는 내부 행렬들(예를 들어, 카메라의 초점 길이, 이미지 센서 포맷, 및 주요 포인트를 특징짓는 행렬들) 및 세계 좌표들에 대해 각각의 카메라의 포즈를 특징짓는 외부 행렬들(예를 들어, 카메라 좌표 공간과 세계 또는 장면 좌표 공간 사이의 변환들을 수행하는 행렬들)을 계산하는 것을 포함할 수 있다.
도 1d에 도시되지 않았지만, 본 개시내용의 일부 실시예들에서, 각각의 편광 카메라는 또한 베이어 필터와 같은 모자이크 패턴을 갖는 컬러 필터를 포함할 수 있고, 따라서 이미지 센서들(14)의 개별 픽셀들은, 예를 들어, 스펙트럼의 적색(R), 녹색(G), 및 청색(B) 부분들에 대응하는 광을 수신하고, 따라서 각각의 카메라는 모자이크 패턴에 따라 전자기 스펙트럼의 가시 부분에서의 광을 캡처한다. 일부 실시예들에서, 디모자이킹(demosaicing) 프로세스는 원시 데이터로부터 개별 적색, 녹색 및 청색 채널들을 계산하는데 이용된다. 본 개시내용의 일부 실시예들에서, 각각의 편광 카메라는 적외선 광과 같은 전자기 스펙트럼의 다양한 다른 부분들을 투과시키거나 선택적으로 투과시키기 위해 이용되는 필터들과 함께 또는 컬러 필터 없이 이용될 수 있다.
도 1e는 본 개시내용의 일 실시예에 따른 스테레오 편광 카메라 시스템의 사시도이다. 일부 응용들에서, 스테레오 비전 기술들은 상이한 관점들로부터 장면의 다수의 이미지를 캡처하기 위해 이용된다. 전술한 바와 같이, 본 개시내용의 일부 실시예들에서, 카메라 시스템 내의 개별 편광 카메라들은 카메라들 사이의 시차 이동들이 이미징되는 피사체들에 대한 카메라 시스템의 설계된 동작 거리에 기초하여 실질적으로 무시될 수 있도록 서로 인접하여 배치된다. 스테레오 편광 카메라 시스템들에서, 개별 편광 카메라들 중 일부는 시차 이동들이 카메라 시스템의 설계된 동작 거리에서 물체들에 대해 상당하고 검출가능하도록 이격된다. 이것은 장면에서의 다양한 표면들까지의 거리들("깊이")이 시차 이동의 크기에 따라 검출될 수 있게 한다(예를 들어, 이미지들의 대응하는 부분들의 위치들에서의 더 큰 시차 이동들은 그 대응하는 부분들이 카메라 시스템에 더 가까운 표면들 상에 있음을 나타내고, 더 작은 시차 이동들은 대응하는 부분들이 카메라 시스템으로부터 더 멀리 떨어진 표면들 상에 있음을 나타낸다). 시차 이동들에 기초하여 깊이를 계산하기 위한 이러한 기술들은 때때로 스테레오로부터의 깊이(Depth from Stereo)로 지칭된다.
따라서, 도 1e는 실질적으로 평행한 광학 축들을 갖고 기준선(10-B)을 따라 이격된 제1 편광 카메라 모듈(10-1") 및 제2 편광 카메라 모듈(10-2")을 갖는 스테레오 편광 카메라 시스템(10")을 도시한다. 도 1e에 도시된 실시예에서, 제1 편광 카메라 모듈(10-1")은 도 1c 및 1d에 도시된 것과 유사한 2×2 어레이로 배열된 편광 카메라들(10A", 10B", 10C", 및 10D")을 포함한다. 마찬가지로, 제2 편광 카메라 모듈(10-2")은 2×2 어레이로 배열된 편광 카메라들(10E", 10F", 10G", 및 10H")을 포함하고, 전체 스테레오 편광 카메라 모듈(10")은 8개의 개별 편광 카메라들(예를 들어, 8개의 개별 렌즈들 뒤의 8개의 개별 이미지 센서들)을 포함한다. 본 개시내용의 일부 실시예들에서, 편광 카메라 모듈들(10-1", 10-2")의 대응하는 편광 카메라들은 실질적으로 동일한 편광들을 갖는 편광 원시 프레임들을 캡처하도록 구성된다. 예를 들어, 카메라들(10A" 및 10E")은 양쪽 모두 0°의 동일한 각도에서 선형 편광 필터를 가질 수 있고, 카메라들(10B" 및 10F")은 양쪽 모두 45°의 동일한 각도에서 선형 편광 필터를 가질 수 있으며, 카메라들(10C" 및 10G")은 양쪽 모두 90°의 동일한 각도에서 선형 편광 필터를 가질 수 있고, 카메라들(10D" 및 10H")은 양쪽 모두 135°의 동일한 각도에서 선형 편광 필터를 가질 수 있다.
본 개시내용의 실시예들은 도 1e에 도시된 특정 실시예로 제한되지 않는다. 일부 실시예들에서, 스테레오 편광 카메라 시스템은 3개 이상의 편광 카메라 모듈을 포함하고, 각각의 편광 카메라 모듈은 어레이로 배열되고, 편광 필터들을 이용하여 상이한 편광들의 편광 원시 프레임들을 캡처하도록 구성되는 다수의 편광 카메라를 포함한다. 위에서 언급된 바와 같이, 본 개시내용의 일부 실시예들에서, 편광 카메라 모듈의 개별 편광 카메라들 중 하나 이상은 컬러 필터를 포함할 수 있고, 그와 같이, 스테레오 편광 카메라 모듈에서의 편광 카메라들 중 하나 이상은 또한 컬러 필터를 포함할 수 있다.
카메라 모듈 내의 카메라들을 교정 또는 등록하기 위해 설명된 것과 유사한 방식으로, 스테레오 편광 카메라 시스템의 다양한 편광 카메라 모듈들은 또한 교정 타겟들의 다수의 이미지를 캡처하고 다양한 카메라 모듈들에 대한 내부 및 외부 행렬들을 계산함으로써 서로 등록될 수 있다.
도 1e에 도시된 스테레오 편광 카메라 시스템의 실시예는 각각 4개의 편광 카메라를 갖는 2개의 편광 카메라 모듈을 포함하지만, 본 개시내용의 실시예들은 이에 제한되지 않는다.
예를 들어, 본 개시내용의 일부 실시예들에서, 스테레오 편광 카메라 시스템은 복수의 편광 카메라 모듈들을 포함하고, 여기서, 편광 카메라 모듈들 각각은 3개 이상의 개별 편광 카메라를 포함하고, 편광 카메라 모듈의 개별 편광 카메라들 각각은 상이한 편광 상태들(예를 들어, 상이한 각도들의 선형 편광)을 갖는 편광 필터들을 갖는다.
본 개시내용의 일부 실시예들에서, 스테레오 편광 카메라 시스템은 하나 이상의 기준선을 따라 이격된 복수의 편광 카메라 모듈들을 포함하고, 여기서 편광 카메라 모듈들 각각은 도 1b에 대하여 위에 설명된 것과 같은 실시예들에 따라, 상이한 편광들을 갖는 편광 원시 프레임들을 캡처하도록 구성된 단일 편광 카메라를 포함한다. 예를 들어, 본 개시내용의 일부 실시예들에서, 각각의 모듈의 편광 카메라는 (예를 들어, 도 1b에 도시된 편광 마스크와 유사한) 편광 마스크를 포함할 수 있어서, 각각의 개별 편광 카메라는 픽셀들이 상이한 편광 필터들(예를 들어, 상이한 각도들에서의 편광 필터들)의 모자이크 패턴에 따라 광을 검출하는 이미지들을 캡처한다. 예를 들어, 도 1b에 도시된 실시예에서, 편광 마스크의 픽셀들의 각각의 2x2 블록은 0°, 45°, 90° 및 135°의 선형 편광 각도들에서 선형 편광기들을 포함한다. 본 개시내용의 다른 실시예들에서, 개별 편광 카메라들은 편광 카메라들이 상이한 편광들의 편광 원시 프레임들을 캡처할 수 있게 하기 위해 도 1b에 대하여 전술한 바와 같은 기계적으로 또는 전자적으로 제어가능한 편광 필터들을 포함할 수 있다.
상기의 실시예들은, 스테레오 편광 카메라 시스템에서 하나 이상의 기준선을 따라 이격되는 개별 편광 카메라 모듈들 또는 편광 카메라들이 실질적으로 평행한 광학 축들을 갖는 것으로 명시하였지만, 본 개시내용의 실시예는 이것으로 제한되지 않는다. 예를 들어, 본 개시내용의 일부 실시예들에서, 편광 카메라 모듈들의 광학 축들은 (예를 들어, 광학 축들이 스테레오 카메라 시스템으로부터 설계된 작동 거리의 이웃에서 크로스하거나 교차하는 경우) 편광 카메라 모듈들이 설계된 작동 거리에서 물체들의 상이하게 각진 뷰들을 제공하도록 서로를 향해 각을 이룬다.
본 개시내용의 다양한 실시예들에 따르면, 포즈 추정기(100)는 아래에 더 상세히 설명되는 바와 같이 다양한 동작들을 수행하도록 구성되는 하나 이상의 처리 회로 또는 전자 회로를 이용하여 구현된다. 전자 회로들의 타입들은 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 인공 지능(AI) 가속기(예를 들어, 내적들(dot products) 및 소프트맥스(softmax)와 같은 신경망들에 공통인 동작들을 효율적으로 수행하도록 구성된 벡터 산술 로직 유닛들을 포함할 수 있는 벡터 프로세서), 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP) 등을 포함할 수 있다. 예를 들어, 일부 상황들에서, 본 개시내용의 실시예들의 양태들은, 전자 회로(예를 들어, CPU, GPU, AI 가속기, 또는 이들의 조합들)에 의해 실행될 때, 입력 편광 원시 프레임들(18)로부터, 인스턴스 세그먼트화 맵과 같은 처리 출력(20)을 계산하기 위해 본 명세서에 설명된 동작들을 수행하는 비휘발성 컴퓨터 판독가능 메모리에 저장되는 프로그램 명령어들로 구현된다. 포즈 추정기(100)에 의해 수행되는 동작들은 단일 전자 회로(예를 들어, 단일 CPU, 단일 GPU 등)에 의해 수행될 수 있거나, 다수의 전자 회로들(예를 들어, 다수의 GPU, 또는 GPU와 함께 CPU) 사이에 할당될 수 있다. 다수의 전자 회로들은 서로 로컬일 수 있고(예를 들어, 동일한 다이 상에 위치되거나, 동일한 패키지 내에 위치되거나, 동일한 임베디드 디바이스 또는 컴퓨터 시스템 내에 위치됨), 및/또는 서로 원격일 수 있다(예를 들어, 블루투스®와 같은 로컬 개인 영역 네트워크와 같은 네트워크를 통해, 로컬 유선 및/또는 무선 네트워크와 같은 로컬 영역 네트워크를 통해, 및/또는, 일부 동작들이 로컬로 수행되고 다른 동작들이 클라우드 컴퓨팅 서비스에 의해 호스팅되는 서버 상에서 수행되는 경우와 같은, 인터넷과 같은 광역 네트워크를 통해 통신함). 포즈 추정기(100)를 구현하도록 동작하는 하나 이상의 전자 회로는 본 명세서에서 컴퓨터 또는 컴퓨터 시스템이라고 지칭될 수 있고, 이는 하나 이상의 전자 회로에 의해 실행될 때, 본 명세서에 설명된 시스템들 및 방법들을 구현하는 명령어들을 저장하는 메모리를 포함할 수 있다.
다중-뷰 카메라 시스템들에 기초한 포즈 추정
본 개시내용의 실시예들의 일부 양태들은 공동 포즈 추정을 수행하기 위해 큰 기준선들에서 다수의 독립 카메라들의 시스템들을 이용하여 장면에서의 물체들의 포즈들을 추정하는 것에 관한 것이다. 본 개시내용의 실시예들의 일부 양태들은 다수의 뷰들로부터의(예를 들어, 메인 카메라(10) 및 지원 카메라(30)로부터의) 수동 키포인트 매칭 및 키포인트들을 상이한 시점들(예를 들어, 상이한 지원 카메라들(30)에 대응함) 상에 재투영하여 인스턴스 세그먼트화 맵들에서 대응하는 물체 인스턴스들을 식별하는 것을 포함하는 기술들을 적용하는 것에 의한 포즈 추정에 관한 것이다. 그 후, 동일한 물체와 연관된 더 많은 키포인트들을 검출하기 위해 인스턴스 세그먼트화를 이용할 수 있다. 그 다음, 이러한 새로운 키포인트들은 추정된 포즈를 더 정제하기 위해 본 개시내용의 실시예들에 따른 다중-뷰 관점-n-포인트(PnP) 알고리즘에 따라 물체들의 포즈들을 추정하는데 이용될 수 있다. 일부 실시예들은 또한 아래에 더 상세히 설명되는 바와 같이, 편광으로부터의 반복적 최근접 포인트(ICP) 및 형상에 기초하여 물체들의 포즈의 정제를 위해 깊이 예측들 및 에지 예측들을 정제하기 위해 상이한 지원 카메라들(30)에 대응하는 이러한 추가 시점들을 이용하는 것에 관한 것이다.
도 2a는 본 개시내용의 일 실시예에 따른, 포즈들을 추정하기 위한 방법(200)을 도시하는 흐름도이다. 본 개시내용의 다양한 실시예들에서, 도 2a에 도시된 방법(200)의 동작들은 포즈 추정기(100)의 컴포넌트들인 하나 이상의 처리 회로 또는 전자 회로에 의해 수행될 수 있다.
동작(210)에서, 포즈 추정기(100)는 메인 카메라(10) 및 하나 이상의 지원 카메라(30)를 제어하여 장면의 다중-시점 이미지들(multi-viewpoint images) 또는 이미지들의 다중-뷰 교정된 세트를 획득한다. 특히, 이미지들의 세트는 메인 카메라 및 지원 카메라들이 상이한 시점들로부터 장면의 이미지들을 캡처한다는 의미에서 다중-시점 또는 다중-뷰이다. 일부 개별 카메라들은 적어도 2개의 시점으로부터 이미지들을 캡처할 수 있는 스테레오 메인 카메라 및/또는 스테레오 지원 카메라의 경우와 같이 다수의 시점으로부터 이미지들을 캡처할 수 있다. 예를 들어, 도 1e에 도시된 실시예들에 따른 메인 카메라(10)는 제1 편광 카메라 모듈(10-1") 및 제2 편광 카메라 모듈(10-2")에 의해 실질적으로 함께 그리고 실질적으로 2개의 상이한 시점으로부터 장면의 8개의 상이한 이미지를 캡처할 수 있다. 일반적으로, 메인 카메라(10) 및 지원 카메라들(30)은 동일한 장면의 중첩 뷰들을 캡처하고, 그에 의해 장면 내의 실질적으로 동일한 물체 또는 물체들의 상이한 뷰들을 제공하고, 일부 물체들은 일부 시점들로부터 가시적일 수 있지만 장면에서의 상이한 물체들 사이의 차단(occlusion)으로 인해 다른 시점들로부터 가시적이지 않을 수 있다는 것에 주목한다.
도 2b는 본 개시내용의 일 실시예에 따른, 포즈 추정 시스템의 카메라들에 의해 캡처된 물체들의 배열을 포함하는 장면의 4개의 뷰를 도시한다. 도 2b의 실시예에서, 4개의 이미지는 2개의 스테레오 카메라(예를 들어, 메인 카메라(10) 및 지원 카메라들(30) 중에서의 스테레오 카메라)에 의해 캡처된다. 제1 스테레오 카메라는 좌측 이미지(211-L) 및 우측 이미지(211-R)를 캡처하고, 제2 스테레오 카메라는 좌측 이미지(212-L) 및 우측 이미지(211-R)를 캡처하며, 여기서 4개의 이미지들은 동일한 장면의 중첩 뷰들을 나타내고 있다. 도 2b에 도시된 특정 장면에서, 물체들의 컬렉션은 ChArUco 보드 내부에 배치되고, 여기서 ChArUco 보드는 카메라들의 포즈들에 관한 추가 정보를 제공하기 위한 기준들을 제공한다.
이미지들의 세트는 본 명세서에서 메인 카메라(10) 및 하나 이상의 지원 카메라(30)를 포함하는 카메라들의 시스템이 서로에 대해 교정된다는, 예를 들어, 카메라들의 상대 포즈들이 포즈 추정기(100)에 의해 알려지고 저장된다는 가정에 기초하여 "교정"되는 것으로 지칭된다. 본 개시내용의 실시예들의 일부 양태들은 카메라 시스템들의 자동 교정에 관한 것이고, 아래의 개별 섹션에서 더 상세히 설명될 것이다.
본 개시내용의 일부 실시예들에서, 포즈 추정기(100)는 메인 카메라 및 하나 이상의 지원 카메라로부터 수신된 이미지들에 대해 스테레오 정류(stereo rectification)를 추가로 수행한다. 스테레오 정류는 이미지들을 변환하여 상이한 시점들로부터의 이미지들을 동일한 이미지 평면 상에 투영하는 것을 포함할 수 있다. 예를 들어, 제1 편광 카메라 모듈(10-1") 및 제2 편광 카메라 모듈(10-2")에 의해 캡처된 이미지들은 내부 및 외부 카메라 파라미터들로 인해 본질적으로 정류될 수 있다. 예를 들어, 렌즈 왜곡들, 카메라 모듈들의 광학 축들의 및/또는 메인 카메라와 지원 카메라들 사이의 불완전한 물리적 정렬 등은 추가 처리로 진행하기 전에 교정 동작들 동안 수집된 알려진 교정 데이터에 기초하여 포즈 추정기(100)에 의해 정정될 수 있다.
동작(230)에서, 포즈 추정기(100)는 다중-뷰 이미지들에 대해 인스턴스 세그먼트화를 수행하여 메인 카메라(10) 및 지원 카메라들(30)에 의해 캡처된 각각의 뷰에 대한 별개의 인스턴스 세그먼트화 맵들을 계산한다. 인스턴스 세그먼트화는, 입력 이미지에서의 모든 픽셀에 대해, 물체의 속하는 인스턴스뿐만 아니라 그 물체의 타입 또는 클래스를 식별하는 컴퓨터 비전 접근법이다. 예를 들어, 직사각형 프리즘들, 실린더들, 및 구들의 3-D 기하학적 블록들의 이미지는, 각각의 "인스턴스"가 상이한 블록에 대응하고, 인스턴스 세그먼트화 맵은 각각의 픽셀을 상이한 블록 식별자 및 블록 타입(직사각형 프리즘, 실린더, 또는 구)으로 라벨링할 것이다.
입력 이미지들에 대해 인스턴스 세그먼트화를 수행하는 접근법들의 하나의 클래스는 입력 이미지들을 컨볼루션 신경망(CNN)에 공급하는 것이고, 이 CNN은 그 입력 이미지들로부터 인스턴스 세그먼트화 맵들을 계산하도록 훈련된다. 이미지 세그먼트화 CNN들의 예들은 Mask R-CNN(He, Kaiming 등의 "Mask R-CNN." Proceedings of the IEEE International Conference on Computer Vision. 2017.), AlexNet(예를 들어, Krizhevsky, Alex, Ilya Sutskever, 및 Geoffrey E. Hinton의 "ImageNet classification with deep convolutional neural networks." Advances in neural information processing systems. 2012. 참조), VGG(예를 들어, Simonyan, Karen, 및 Andrew Zisserman의 "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556(2014). 참조), ResNet-101(예를 들어, Kaiming He, Xiangyu Zhang, Shaoqing Ren, 및 Jian Sun의 Deep residual learning for image recognition. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 770-778, 2016. 참조), MobileNet(예를 들어, Howard, Andrew G. 등의 "Mobilenets: Efficient convolutional neural networks for mobile vision applications." arXiv preprint arXiv:1704.04861(2017). 참조), MobileNetV2(예를 들어, Sandler, Mark 등의 "MobileNetV2: Inverted residuals and linear bottlenecks." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. 참조), 및 MobileNetV3(예를 들어, Howard, Andrew 등의 "Searching for MobileNetV3." Proceedings of the IEEE International Conference on Computer Vision. 2019 참조)을 포함한다.
많은 상황들에서, 컨볼루션 신경망에 의해 계산된 성능(예를 들어, 세그먼트화 맵들의 정확도)은 그것이 동작하는 타겟 도메인을 나타내는 데이터에 기초하여 훈련되거나 재훈련될 때 상당히 개선된다.
따라서, 본 개시내용의 실시예들의 일부 양태들은 특정 이용 사례들에 대한 인스턴스 세그먼트화 맵들을 계산하기 위해, 컨볼루션 신경망과 같은 기계 학습 모델을 훈련하기 위한 시스템들 및 방법들에 관한 것이다.
추가로, 위에서 언급된 바와 같이, 일부 타입들의 재료들은 컬러 카메라들과 같은 표준 이미징 양식들을 이용하여 이미징하기 어려울 수 있다. 반면, 편광 카메라 시스템들의 이용은 이들 물체들과 표면들을 검출가능하게 할 수 있다. 본 개시내용의 실시예들의 일부 양태는 본 개시내용의 실시예들에 따라 캡처된 편광측정 큐들(polarimetric cues)을 이용하여 인스턴스 세그먼트화를 수행하는 것에 관한 것이다. 편광측정 큐들을 이용하여 인스턴스 세그먼트화를 수행하기 위한 일부 기술들은, 2019년 11월 30일 미국 특허청에 출원된 미국 가특허 출원 제62/942,113호, 2020년 3월 29일 미국 특허청에 출원된 미국 가특허 출원 제63/001,445호, 및 2020년 8월 28일 미국 특허청에 출원된 PCT 특허 출원 제US2020/048604호에 더 상세히 설명되어 있으며, 이들의 전체 개시내용들은 본 명세서에 참고로 포함된다.
인스턴스 세그먼트화를 수행하기 위한 컨볼루션 신경망의 훈련에 관련된 본 개시내용의 실시예들의 이들 양태들은 이하의 후속 섹션에서 더 상세히 설명될 것이다.
메인 카메라(10) 및 지원 카메라들(30)을 포함하는 카메라 시스템의 각각의 시점으로부터 캡처되는 이미지들에 대해 인스턴스 세그먼트화를 수행함으로써, 복수의 인스턴스 세그먼트화 맵들이 계산된다. 각각의 인스턴스 세그먼트화 맵은 캡처된 이미지들에서 보이는 가시적인 물체들(22)의 별개의 인스턴스들을 라벨링한다.
동작(250)에서, 포즈 추정기(100)는 물체당 대략적인 깊이 추정치를 달성하기 위해 다수의 스테레오 이미지에 걸쳐 인스턴스 세그먼트화들을 매칭시킨다. 전술한 바와 같이, 일부 실시예들에서, 적어도 메인 카메라(10)는 스테레오 쌍 이미지들을 캡처하도록 구성된 스테레오 카메라이다. 메인 카메라의 카메라들(예를 들어, 카메라 모듈들)이 비교적 가깝기 때문에, 이미지들의 스테레오 쌍들은 이미지들 사이의 검출된 물체 인스턴스들의 전체 형상들이 비교적 유사할 것이고 물체들의 검출된 인스턴스들의 서로에 대한 상대적 위치들이 일반적으로 동일할 것이라는 점에서 유사할 것이다. 따라서, 일부 실시예들에서, 스테레오 쌍에 의해 이미징된 각각의 물체 인스턴스의 깊이 추정치들은, 블록 매칭을 이용한 격차로부터의 깊이와 유사한 방식으로, 별개의 인스턴스 세그먼트화 맵들에서 검출된 대응하는 인스턴스들을 식별하고 2개의 이미지들 사이의 세그먼트화 내의 인스턴스들의 위치들에서의 격차(예를 들어, 위치의 시프트)를 측정함으로써 계산된다. 인스턴스들 사이의 대응 매칭을 자동으로 수행하기 위한 시스템들 및 방법들의 상세 사항들은 세그먼트화를 이용하는 물체 레벨 대응들에 관한 이하의 섹션에서 더 상세히 설명된다.
동작(270)에서, 포즈 추정기(100)는 검출된 물체들의 키포인트들을 계산한다. 특히, 인스턴스 세그먼트화 프로세스에 의해 검출된 각각의 물체의 각각의 인스턴스는 메인 카메라(10) 및 스테레오 카메라들(30)에 의해 캡처된 그들의 대응하는 이미지들로부터 추출(예를 들어, 크롭)되어 이미지 패치들 또는 크롭들의 컬렉션을 (이들이 원래의 이미지들로부터 추출된 좌표 위치들과 함께) 생성한다. 이러한 이미지 패치들은 키포인트 검출기에 공급되어 장면에서 검출된 각각의 물체에 대한 복수의 키포인트들을 계산한다. 이미지 패치에서 검출된 각각의 키포인트는, 예를 들어, 대응하는 카메라(예를 들어, 메인 카메라(10) 또는 지원 카메라(30))의 시점으로부터 캡처된 이미지의 좌표 공간에서 2차원 좌표들 [u,v]에 의해 표현될 수 있다.
동작(270)에서 이용될 수 있는 키포인트 검출기들 또는 특징 검출기들의 예들은 SIFT(scale-invariant feature transform), SURF(speeded up robust features), GLOH(gradient location and orientation histogram), HOG(histogram of oriented gradients), 기저 계수들(basis coefficients), 하르 웨이블릿 계수들(Haar wavelet coefficients) 등을 포함하지만, 이들로 제한되지 않는다.
도 2c는 본 개시내용의 일 실시예에 따른, 포즈 추정 시스템의 카메라들에 의해 캡처된 4개의 상이한 시점으로부터의 물체의 동일한 인스턴스의 4개의 상이한 뷰들에서 검출된 2-D 키포인트들의 도면이다. 도 2c에 도시된 실시예에서, 물체(예를 들어, 제조된 부품)는 2개의 스테레오 카메라, 즉, 스테레오 1 및 스테레오 2에 의해 관찰되고, 각각의 스테레오 카메라는 좌측 카메라 및 우측 카메라를 갖는다. 따라서, 도 2c는 카메라 스테레오 1에 의해 캡처된 좌측 이미지(271-L) 및 우측 이미지(271-R)로부터 동일 물체를 묘사하는 크롭들 및 카메라 스테레오 2에 의해 캡처된 좌측 이미지(272-L) 및 우측 이미지(272-R)로부터 동일 물체를 묘사하는 크롭들을 나타낸다. 도 2c에서의 각각의 점은 키포인트 검출기에 의해 검출된 2-D 키포인트를 나타내고, 여기서 점들에 인접한 숫자들은 키포인트 식별자들을 나타내며, 따라서 완벽한 키포인트 검출의 경우에, 상이한 뷰들에 걸친 동일한 키포인트 식별자들은 물체의 표면 상의 동일한 물리적 위치들을 나타낸다.
본 개시내용의 일부 실시예들에서, 이미지에서의 키포인트들은 훈련 컨볼루션 신경망들에 관한 다른 섹션에서 아래에 더 상세히 설명되는 바와 같이, 훈련된 컨볼루션 신경망과 같은 훈련된 키포인트 검출기를 이용하여 검출된다. 훈련된 키포인트 검출기를 적용할 때, 이미지에서 검출되거나 예측되는 각각의 키포인트는 대응하는 신뢰도(예를 들어, 주어진 포인트가 키포인트일 확률)와 연관될 수 있다.
또한, 전술한 바와 같이, 본 개시내용의 일부 실시예들에서, 메인 카메라(10) 및 지원 카메라들(30) 중 하나 이상은 장면의 편광 정보를 캡처하도록 구성되는 편광 카메라들이다. 편광 정보는 투명 표면들, 고반사성 표면들, 매트 블랙 표면들 등과 같은, 물체들의 광학적으로 도전적인 표면들(예를 들어, 비교 컬러 카메라에 대해 검출하기에 광학적으로 도전적일 수 있는 표면들)의 검출을 가능하게 한다. 따라서, 일부 실시예들에서, 훈련된 키포인트 검출기는 장면으로부터 캡처된 편광 정보에 기초하여 물체들의 광학적으로 도전적인 표면들 상의 키포인트들을 검출하기 위해 편광 데이터(예를 들어, 편광 원시 프레임들, 편광측정 큐들, 및/또는 편광 표현 공간들 내의 편광 특징들)에 대해 훈련된다. 편광 데이터에 기초한 키포인트 검출기들의 훈련은 다른 섹션에서 더 상세히 후술된다.
동작(290)에서, 포즈 추정기(100)는 메인 카메라(10) 및 지원 카메라들(30)에 의해 캡처된 물체들의 다수의 뷰들에 걸쳐 물체들의 키포인트들에 걸쳐 다중-뷰 공동 최적화를 수행하여 장면에서의 물체들의 추정된 포즈들을 계산한다.
일부 실시예들에서, 포즈 추정기(100)는 인스턴스 세그먼트화에 따라 각각의 검출된 물체에 대해 검출된 별개의 키포인트들에 기초하여, 장면에서의 각각의 검출된 물체의 포즈를 독립적으로 계산한다.
동작(290)에서, 포즈 추정기(100)는 검출된 물체들 중에서 현재 검출된 물체의 이미지들에 기초하여 다중-뷰 물체 매칭을 수행한다. 일부 실시예들에서, 포즈 추정기는 본 개시내용의 실시예들에 따른 다중-뷰 관점-n-포인트 알고리즘에 따라 물체의 포즈를 계산하기 위해 간단한 헝가리안 매칭 알고리즘(Hungarian matching algorithm)(예를 들어, 선형 합산 할당) 및 맞춤 비용 함수(custom cost function)를 이용하여 물체 대응들을 추정하기 위해 키포인트 예측들 및 스테레오 제약들을 이용한다.
다중-뷰 관점-n-포인트
일부 실시예들에서, 포즈 추정기(100)는 특정한 미리 정의된 타입들의 물체들에 대한 포즈를 검출하고 추정하도록 구성된다. 예를 들어, 제조 로봇 공학 제조에서 이용하도록 구성된 포즈 추정기(100)의 경우에, 포즈 추정기(100)는 로봇 팔들에 대한 다양한 엔드 이펙터들(end-effectors)의 포즈들 및 제조된 제품(예를 들어, 나사들, 패널들, 케이스들 등)에 조립될 다양한 부품들의 포즈들을 검출하도록 구성될 수 있다. 따라서, 포즈 추정기(100)는 포즈들을 검출하고 계산하도록 구성되는 각각의 타입의 물체에 대한 키포인트들의 미리 정의된 세트를 저장하고, 여기서 이들 키포인트들은 물체의 표면 상의 특유의 3차원 포인트들에 대응한다. 특정 물체와 연관된 복수 N개의 3-D 키포인트 중 i-번째 3-D 키포인트는 본 명세서에서 그의 데카르트 좌표들 [xi,yi,zi]에 따라 참조될 수 있다. 일례로서, 나사 상의 일부 키포인트들은 나사의 포인트, 나사의 헤드의 에지 등에 대응할 수 있다.
동작(290)에서, 포즈 추정기(100)는 현재 물체의 타입(예를 들어, 물체가 로봇 팔에 부착된 특정 엔드 이펙터 또는 나사인지의 여부)과 연관된 미리 정의된 3-D 키포인트들([xi,yi,zi]) 및 물체의 각각의 뷰에서 검출된 2-D 키포인트들([u,v])에 기초하여 전역 좌표계(예를 들어, 메인 카메라(10)에 대해 정의된 좌표계)에 대한 회전 변환 및 병진 변환 에 의해 표현되는 현재 물체의 포즈를 추정한다.
보다 상세하게는, 일부 실시예들에서, 포즈 추정기(100)는 3-D 키포인트들이 각각의 시점과 연관된 2-D 공간들에 투영될 때 검출된 2-D 키포인트들과 미리 정의된 3-D 키포인트들 사이의 (메인 카메라(10) 및 지원 카메라들(30)로부터의) 모든 시점들에 걸친 에러 또는 차이를 최소화하는 포즈 를 계산한다. 보다 정확하게는, 일부 실시예들에서, 포즈 추정기(100)는 다음의 비용 함수를 최소화하거나 최적화한다:
여기서, 은 물체의 포즈이고, i는 N개의 3-D 키포인트들을 통해 반복하는 인덱스이고, j는 M개의 시점들을 통해 반복하는 인덱스이고, 는 j-번째 시점에 대응하기 위한 이미지에서의 i-번째 키포인트의 대응하는 키포인트 예측 에 대한 신뢰도이고, 는 j-번째 시점으로부터의 이미지를 캡처하는데 이용되는 j-번째 카메라의 카메라 외부 파라미터들 및 내부 파라미터들이고, 는 i-번째 3-D 키포인트이다.
더 상세하게는, 3-D 키포인트들 i 각각에 대해 그리고 각각의 시점 j에 대해, 포즈 추정기(100)는 시점 j(키포인트 [uij,vij])으로부터 캡처된 이미지에서 검출된 i-번째 2-D 키포인트를 대응하는 i-번째 3-D 키포인트 [xi,yi,zi]의 변환된 버전과 비교하는데, 그 이유는 그 i-번째 3-D 키포인트가 현재 추정된 물체 포즈 에 따라 변환되고, 시점 j의 카메라 외부 파라미터들 (예를 들어, 전역 좌표계에 대한 시점 j에서의 카메라 사이의 상대 포즈) 및 카메라 내부 파라미터들 (예를 들어, 렌즈 왜곡들과 같은 시점 j에서의 카메라의 내부 특성들)에 기초하여 시점 j의 2-D 공간 내에 투영되기 때문이다. 에러들 또는 비용들은 모든 N개의 상이한 3-D 키포인트들에 걸쳐 그리고 모든 M개의 상이한 시점들(예를 들어, 하나의 메인 카메라 및 M-1 지원 카메라들)에 걸쳐 합산되고, 포즈 추정기(100)는 전체 비용 또는 전체 에러를 최소화하는 추정된 물체 포즈 를 계산하기 위해 최적화기를 적용한다. 최적화기의 일례는 이 에러를 최소화하는 물체 포즈 를 찾기 위해 기울기 하강(gradient descent)을 적용하는 것이다. 일부 실시예들에서, 최적화는 각각의 시점을 한번에 하나씩 반복적으로 고려하기보다는 모든 시점에 걸쳐 공동으로 수행된다.
도 2d는 본 개시내용의 일 실시예에 따른, 포즈 추정기(100)에 의해 계산된 바와 같은 단일 물체의 추정된 포즈에 따라 카메라들 중 하나로부터 캡처된 이미지로부터 추출된 바와 같은 장면에서의 단일 물체를 도시하는 크롭 및 장면 내에 포즈된 물체의 3-D 모델의 오버레이된 렌더링을 갖는 동일한 크롭을 도시한다.
도 2e는 본 개시내용의 일 실시예에 따른, 포즈 추정기(100)에 의해 검출되었고 포즈들이 있었던 물체들의 추정된 포즈들에 따라 카메라들 중 하나로부터 캡처된 바와 같은 그리고 장면 내에 포즈된 물체의 3-D 모델의 오버레이된 렌더링들을 갖는 다수의 물체들을 포함하는 장면의 이미지를 도시한다. 도 2e에 도시된 특정한 경우에, 포즈 추정기(100)는 장면에서의 물체들 모두에 대한 포즈들을 추정하지 않았는데, 그 이유는, 일부 실시예들에서, (예를 들어, 다른 물체들에 의해) 광범위하게 차단된 물체들 또는 다른 기준들을 충족시키지 못하는(예를 들어, 다른 뷰들과 충분히 매칭하지 못하는) 장면의 부분들이 포즈 추정기(100)에 의해 분석되지 않은 채로 남을 수 있지만, 물체들이 장면 내에서 시프트할 때 및/또는 물체들이 장면으로부터 제거될 때, 나중에 그들의 포즈들이 추정될 수 있기 때문이다.
키포인트 검출에서의 대칭 인식
대칭 물체들의 경우, 물체의 주어진 포즈에 대해 이도록 4×4 변환 S가 존재한다. 대칭 물체의 일례는 8개의 대칭을 갖는 큐브이다. 이는 이러한 8개의 포즈들 중 임의의 주어진 포즈에 대해, 큐브는 주어진 시점으로부터 동일하게 보일 것임을 의미한다. 그러나, 키포인트들은 결정론적으로 계산(또는 예측)되어, 하나의 시점으로부터 캡처된 이미지 상의 특정 2-D 포인트가 물체의 표면 상의 특정 3-D 포인트에 매칭될 수 있다. 다른 관점으로부터, 그 2-D 포인트는 물체의 표면 상의 상이한 3-D 포인트와 매칭될 수 있다. 이것은 검출된 키포인트들이 상이한 시점들로부터의 이미지들 사이에서 일관되지 않을 수 있다는 것을 의미한다.
따라서, 본 개시내용의 일부 실시예들은 변환들의 세트(S)를 정의하고, 특정 뷰 vj에 대한 재투영 에러(예를 들어, 시점 j로부터 보여지는 바와 같은 2-D 공간으로의 i-번째 3-D 키포인트의 재투영과 연관된 에러)를 최소화하는 변환 S에 대한 검색을 수행하는 추가적인 항(term)을 이용하여 (상기의 수학식 7과 같은) 물체의 포즈 를 추정하기 위한 비용 함수들을 수정하는 것에 관한 것이고, 그에 의해 본 개시내용의 실시예들은 동일한 3-D 키포인트가 상이한 2-D 키포인트 뷰들에서 상이하게 라벨링될 때에도 최소 포즈를 결정하는 것을 가능하게 한다. 아래의 수학식 8은 물체에서의 대칭들을 고려하기 위한 변경된 비용 함수의 일례를 제공한다.
여기서, S는 물체의 상이한 대칭들 사이의 변환이고, vj는 j-번째 뷰이고, 나머지 변수들은 상기의 수학식 7에 대한 것과 같이 정의된다.
일부 실시예들에서, 포즈 추정기(100)는 시점별로 현재 물체의 추정된 포즈 를 반복적으로 정제한다. 도 3은 물체의 다수의 뷰에 기초하여 물체의 포즈를 추정하기 위한 본 개시내용의 일 실시예에 따른 방법(300)을 도시하는 흐름도이다. 프로세스는 메인 카메라(10)에 의해 캡처된 이미지들에 기초하여 물체의 추정된 포즈를 계산하는 것으로 시작할 수 있다. 메인 카메라(10)는 깊이 카메라(예를 들어, 스테레오 카메라)이기 때문에, 포즈 추정기(100)는 격차에 기초하여 장면에서의 표면들의 깊이를 계산할 수 있고, 따라서 장면에서 검출된 물체들의 인스턴스들의 표면들의 깊이를 계산할 수 있다.
일부 실시예들에서, 포즈 추정기(100)는 동작(310)에서 검출된 물체의 3-D 모델(예를 들어, CAD 모델)을 물체의 인스턴스에 대응하는 깊이 맵의 부분과 정렬하여 물체의 초기 추정된 포즈()를 결정한다.
동작(330)에서, 포즈 추정기(100)는 나머지 시점들 중에서(예를 들어, 지원 카메라들에 대응하는 시점들 중에서) 다음 시점을 선택하고, 그 시점을 "현재 시점"으로서 설정한다.
동작(350)에서, 포즈 추정기(100)는 현재 시점과 연관된 물체의 2-D 키포인트들과 현재 시점에 대한 (미리 정의된) 3-D 키포인트들의 투영 사이의 차이 또는 에러를 최소화하는 업데이트된 포즈()를 계산함으로써 비용 함수(예를 들어, 상기의 수학식 7 또는 8)를 최소화한다. 물체의 예상 포즈가 포즈의 현재 추정치(예를 들어, 동작(310)에서 계산된 물체의 초기 포즈)에 가까울 것으로 예상되기 때문에, 일부 실시예들에서, 최소화 프로세스는 현재 추정치에 가까운 값들의 로컬 윈도우를 검색하는 것으로 제한되고, 그에 의해 최적화 프로세스의 성능을 개선한다.
동작(390)에서, 포즈 추정기(100)는 고려할 추가적인 시점들이 있는지를 결정한다. 만약 그렇다면, 프로세스는 다음 키포인트를 선택하고 다음 시점으로부터 검출된 2-D 키포인트들에 기초하여 추정치를 업데이트하기 위해 동작(330)으로 되돌아간다. 추가적인 키포인트들이 존재하지 않는 경우, 포즈의 현재 추정치는 다중-뷰 키포인트들에 기초하여 현재 물체의 추정된 포즈()로서 출력된다.
일부 실시예들에서, 메인 카메라(10)와 지원 카메라들(30)의 조합은 다수의 스테레오 쌍들을 포함한다(예를 들어, 지원 카메라들(30)은 카메라들의 적어도 하나의 스테레오 쌍을 포함한다). 이러한 실시예들 중 일부에서, (예를 들어, 도 2의) 전체 세그먼트화, 키포인트 검출, 및 다중-뷰 관점-n-포인트 프로세스가 각각의 스테레오 쌍에 대해 독립적으로 수행되고, 그 후 포즈 추정기(100)는 다수의 카메라에 걸친 3D 위치들 및 에피폴라 라인들에 기초하여 물체들을 매칭시킨다. 이것은 거리가 더 클 때 더 정확한 매치들을 야기하지만, 더 계산 집약적인 트레이드오프를 가질 수 있고, 이는 더 긴 실행시간들(runtimes)을 초래할 수 있다.
편광 기반 정제
본 개시내용의 실시예들의 일부 양태들은 편광 정보에 기초하여 동작(290)에서 계산된 포즈 추정치들을 더 정제하는 것에 관한 것이다. 이 프로세스는 본 명세서에서 편광에 기초한 다중-뷰 에지 기반 정제(multi-view edge based refinement)라고 지칭될 수 있고, 여기서 메인 카메라(10) 및/또는 지원 카메라들(30) 중 하나 이상은 장면에서의 물체들의 편광 원시 프레임들을 캡처하도록 구성된 편광 카메라들이다.
도 1b에 관하여 위에 언급한 바와 같이, 편광 카메라(10)의 이미지 센서(14)에 부딪치는 광선(43)은 3개의 측정가능한 컴포넌트를 갖는다: 광의 강도(강도 이미지/I), 선형 편광된 광의 백분율 또는 비율(선형 편광도/DOLP/ρ), 및 그 선형 편광의 방향(선형 편광 각도/AOLP/φ).
각각의 픽셀에서 강도 I, DOLP ρ, 및 AOLP φ를 측정하는 것은, (예를 들어, 결정될 3개의 미지의 값들, 즉, 강도 I, DOLP ρ, 및 AOLP φ가 존재하기 때문에) 상이한 각도들 에서 편광 필터들(또는 편광기들) 뒤에서 취해진 장면의 3개 이상의 편광 원시 프레임을 요구한다. 예를 들어, 도 1b, 도 1c, 도 1d 및 도 1e와 관련하여 전술한 것들과 같은 편광 카메라는 4개의 상이한 편광 각도 , 예를 들어 0도, 45도, 90도 또는 135도를 갖는 편광 원시 프레임들을 캡처하며, 그에 의해 본 명세서에서 I0, I45, I90 및 I135로 표시되는 4개의 편광 원시 프레임들 을 생성한다.
따라서, 4개의 상이한 편광 원시 프레임들 (I0, I45, I90 및 I135)를 갖고, 4개의 수학식들의 시스템을 이용하여, 강도 I, DOLP ρ, 및 AOLP φ를 풀 수 있다.
편광으로부터의 형상(SfP) 이론(예를 들어, Gary A Atkinson 및 Edwin R Hancock의 Recovery of surface orientation from diffuse polarization. IEEE transactions on image processing, 15(6):1653-1664, 2006. 참조)은, 물체의 표면 법선의 굴절률(n), 방위각 및 천정각과 그 물체로부터 오는 광선의 φ 및 ρ 컴포넌트들 사이의 관계는 다음의 특성들을 따른다고 진술한다. 즉, 난반사(diffuse reflection)가 우세할 때:
그리고, 정반사(specular reflection)가 우세할 때:
따라서, 본 개시내용의 실시예들의 일부 양태는, 메인 카메라(10)와 지원 카메라들(30) 사이의 편광 카메라에 의해 캡처된 바와 같은, 물체들의 원시 편광 프레임들에 기초하여 표면들의 기울기들(예를 들어, 표면들의 배향 또는 그들의 표면 법선들 또는 표면들에 수직인 방향들)을 검출 또는 측정하기 위해 SfP 이론을 적용하는 것, 및 물체의 기존의 3-D 모델(예를 들어, CAD 모델)을 물체의 측정된 표면 법선들과 정렬함으로써 물체의 추정된 포즈를 업데이트하는 것에 관한 것이다.
편광을 이용하여, 포즈 추정기(100)는 이미지에서의 표면의 기하구조 및 알베도 에지들(albedo edges)을 정확하게 검출할 수 있다. 포즈 추정기(100)가 검출된 물체의 텍스처링된 3-D 모델(또는 CAD 모델)을 저장하는 상황들에서, 포즈 추정기(100)는 또한 전술한 다중-뷰 포즈 추정 프로세스(예를 들어, 방법(300))에 의해 추정된 바와 같은 주어진 물체 포즈에 대한 기하구조 및 알베도 기반 에지들을 결정한다. 포즈를 정제하기 위해, 포즈 추정기(100)는 3-D 모델의 에지들이 이미지들로부터 계산된 물체의 형상(예를 들어, 그의 에지들 및 표면 법선들)과 정렬될 때까지 ICP(iterative closest point) 알고리즘과 유사한 방식으로 포즈를 교란시킨다.
더 상세하게는, 도 4는 본 개시내용의 일 실시예에 따른, 포즈의 에지 기반 정제를 위한 방법의 흐름도이다.
동작(410)에서, 포즈 추정기(100)는 주어진 다중-뷰 입력 이미지들로부터 다중-뷰 에지 이미지들을 계산한다. 다중-뷰 에지 이미지들은 (포즈가 추정되고 있는) 현재 물체의 검출된 에지들에 대응한다. 이러한 에지들은 장면의 나머지에 대한 (예를 들어, 배경에 대한 또는 장면 내에서 검출되거나 검출되지 않은 다른 물체들에 대한) 물체의 외부 경계를 포함할 수 있고, 또한 내부 에지들, 예컨대, 이미지의 시점으로부터 정면에서 보이는 큐브의 에지들을 포함할 수 있다.
본 개시내용의 일부 실시예들에서, 위에서 설명된 바와 같이, 물체의 에지들은 편광으로부터의 형상에 기초하여 검출되고, 여기서 에지들은 계산된 표면 법선들에서의 불연속들의 위치들에 대응한다. 이러한 불연속들은 에지 검출 필터(예를 들어, 캐니 에지 검출기(Canny edge detector) 또는 차동 에지 검출기(differential edge detector), 그러나 본 개시내용의 실시예들은 이에 제한되지 않음)를 적용함으로써 계산될 수 있다. 예를 들어, 본 개시내용의 일부 실시예들에서, 심층 컨볼루션 신경망은 편광 표현 공간들(예를 들어, 강도, AOLP φ, 및 DOLP ρ) 내의 입력 이미지들 및/또는 특징들에서 에지들을 검출하도록 훈련된다. 편광 데이터에 기초한 신경망들의 훈련에 대한 상세들은 다른 섹션에서 아래에 더 상세히 설명된다.
본 개시내용의 일부 실시예들에서, 메인 카메라(10) 및 지원 카메라들(30)에 의해 제공되는 입력 이미지들에 기초하여 세그먼트화 맵들을 계산하도록 훈련되는 신경망은 형상들의 정확하고 정밀한 경계들을 갖는 그것의 출력 세그먼트화 맵들을 계산한다. 더 상세하게, 본 개시내용의 실시예들의 일부 양태들은 인스턴스 세그먼트화 맵에서 날카로운(예를 들어, 낮은 잡음) 그리고 정확한 경계들을 갖는 시맨틱 세그먼트화를 수행하기 위하여 심층 학습 모델들을 훈련시키는 것에 관한 것이다. 시맨틱 경계 예측을 수행하기 위한 일부 기술들이 Acuna, David, Amlan Kar, 및 Sanja Fidler의 "Devil is in edges: Learning semantic boundaries from noisy annotations." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019에 기술되어 있다. 라벨링된 편광 정보(예를 들어, 강도, AOLP φ 및 DOLP ρ와 같은 편광 표현 공간들에서의 편광 원시 프레임들 및/또는 특징들)를 이용하여 그러한 심층 학습 모델을 훈련함으로써, 본 개시내용의 실시예들은 비교 컬러 카메라들에 의해 캡처되는 이미지들에 의해 다른 방식으로 검출가능할 수 있는 물체들에 더하여, 광학적으로 도전적인 물체들의 인스턴스들의 경계들의 정확한 검출을 가능하게 한다.
따라서, 본 개시내용의 일부 실시예들에서, 이미지에서의 에지들은 이미지에 대응하는 세그먼트화 맵 내의 인스턴스들의 경계들의 위치들에 기초하여 검출된다(예를 들어, 이미지에 기초하여, 직접적으로 또는 간접적으로 계산된다).
본 개시내용의 일부 실시예들에서, 포즈 추정기(100)는 위에 논의된 바와 같이, 편광 및 인스턴스 세그먼트화로부터의 형상의 조합에 기초하여 에지들을 검출한다.
동작(430)에서, 포즈 추정기(100)는 동작(410)에서 물체의 다중-시점 이미지들로부터 검출된 측정된 에지 이미지들과 현재 포즈 추정치에 따라 가상 장면에 배열된 물체의 3-D 모델의 렌더링된 에지들 사이의 대응들을 검출한다. 더 상세하게는, (도 3과 관련하여 위에서 설명된 바와 같이, 키포인트 매칭을 이용하여 다중-포인트 관점-n-포인트를 통하는 것과 같이, 이전에 추정된 포즈에 기초하여 초기화된) 현재 포즈 추정치 는 물체의 3-D 모델을 변환하여 장면에서의 실제 물체의 포즈를 근사화하는데 이용된다. 포즈 추정기(100)는 이어서 카메라들(예를 들어, 메인 카메라(10) 및 지원 카메라들(30))과 연관된 시점들로부터의 3-D 모델의 에지 이미지들은 물론, 렌더링된 장면에서의 각각의 픽셀의 깊이(예를 들어, 대응하는 실제 카메라의 시점에 대응하는 포즈에서의 가상 카메라로부터의 거리)를 렌더링하고, 렌더링된 에지 이미지들의 에지 픽셀들과 측정된 에지 이미지들 사이의 (거리 임계값 내에서의) 대응들을 검색한다.
동작(450)에서, 포즈 추정기(100)는 대응들에 기초하여 (예를 들어, 도 3과 관련하여 위에서 설명된 것과 유사한 다중-뷰 관점-n-포인트를 이용하여 위에서 논의된 바와 같은 대응 사이의 위치들의 차이를 최소화하는 것에 기초하여) 새로운 포즈를 추정하고, 비용 함수를 이용하여 계산된 손실에 기초하여(예를 들어, 현재 추정된 포즈 및 측정된 에지들에 기초하여 에지들의 위치들 사이의 정렬의 품질의 다중-스케일 평가를 수행하기 위해 가우시안 피라미드에 기초하여) 새로운 포즈를 평가한다. 새로운 포즈가 더 양호한 경우 (예를 들어, 비용 함수에 따라 이전의 최상의 포즈보다 낮은 손실을 갖는 경우), 이 새로운 포즈는 현재의 최상의 포즈로서 저장된다.
동작(490)에서, 포즈 추정기(100)는 비용 함수(또는 현재 손실)의 변화가 이전의 최상의 포즈와 현재 계산된 포즈 사이의 임계값보다 작은지(예를 들어, 10-4 보다 작은지)와 같이, 포즈가 수렴되었는지를 결정한다. 그렇지 않은 경우, 프로세스는 동작(450)에서 현재의 최상의 포즈에 기초하여 물체의 3-D 모델의 이미지들을 렌더링하고, 이 렌더링된 이미지들에 기초하여 새로운 포즈를 계산하기 위해 동작(430)으로 되돌아간다. 포즈가 수렴된 경우, 현재의 최상의 포즈 가 물체의 정제된 포즈로서 반환된다.
이하의 표는, 의사 코드로서, 도 4와 관련하여 전술한 에지 정렬 프로세스를 제시한다.
표: 에지 정렬 의사 코드
도 5는 본 개시내용의 일 실시예에 따른, 편광 데이터에 기초한 포즈의 표면 법선 기반 정제를 위한 방법(500)을 도시하는 흐름도이다. 도 5에 도시된 실시예에서, 방법(500)에 대한 입력들은 현재 물체의 편광 원시 프레임들(또는 편광 표현 공간들에서 추출된 특징들), (예를 들어, 다중-뷰 관점-n-포인트와 같은 다른 기법들에 기초하여 이전에 계산된 바와 같은) 물체의 초기 추정된 포즈, 및 물체의 기존의 3-D 모델(예를 들어, 포즈 추정기(100)에 의해 저장된 물체의 3-D 모델, 여기서 포즈 추정기(100)는 입력 이미지들의 인스턴스 세그먼트화를 통해 식별된 바와 같은 물체의 클래스에 기초하여 물체에 대응하는 3-D 모델을 식별함)을 포함한다.
동작(510)에서, 포즈 추정기(100)는 물체의 캡처된 편광 원시 프레임들에 기초하여 물체의 표면 법선들을 계산 또는 측정한다. 더 상세하게는, 포즈 추정기(100)는 현재 물체에 대응하는 (인스턴스 세그먼트화를 통해 검출된) 영역들에 대응하는 (메인 카메라(10)와 지원 카메라들(30) 중 하나 이상의 편광 카메라에 의해 캡처된) 편광 원시 프레임들의 부분들을 입력으로서 취할 수 있다. 일부 실시예들에서, 메인 카메라(10) 및 지원 카메라들(30) 중에서의 카메라들 중 하나만이 편광 카메라이다. 일부 실시예들에서, 메인 카메라 및 지원 카메라들(30) 중 다수의 카메라들이 편광 카메라들이다(또는 그것을 포함한다). 편광 원시 프레임들은 물체에 대응하는 편광 표현 공간들(예를 들어, 강도 I, DOLP ρ, 및 AOLP φ)에서의 특징들을 계산하는데 이용되고, 이러한 편광 특징들은 물체의 표면 법선들(예를 들어, 물체의 표면에 수직인 방향들)을 계산하는데 이용된다.
동작(530)에서, 포즈 추정기(100)는 전술한 바와 같이 다중-뷰 관점-n-포인트에 기초하여 계산된 포즈 추정치와 같은 이전에 추정된 포즈에 따라 전역 좌표계 내에 3-D 모델을 배치한다.
물체의 3-D 모델은 물체의 표면들의 위치들의 기하학적 정의들을 포함하고, 일부 실시예들에서, 포즈 추정기(100)는 포즈된 3-D 모델의 표면 법선들을 계산한다. 동작(550)에서, 포즈 추정기(100)는, ICP(iterative closest point) 알고리즘과 유사한 방식으로, 동작(510)에서 측정된 표면 법선들과 3-D 모델의 표면 법선들을 정렬시키기 위해 3-D 모델의 포즈를 반복적으로 업데이트한다. 일부 실시예들에서, 포즈 추정기(100)는 3-D 모델의 표면 법선들을 편광 카메라를 갖는 각각의 시점으로부터 캡처된 편광 원시 프레임들에 기초하여 측정된 표면 법선들과 비교하는(예를 들어, 그들 사이의 차이를 계산하는) 비용 함수를 계산하고, 포즈 추정기(100)는 포즈된 3-D 모델의 표면 법선들과 측정된 표면 법선들 사이의 차이를 최소화하도록 물체의 3-D 모델의 포즈를 업데이트한다(예를 들어, 비용 함수에 의해 계산된 비용을 최소화하는 포즈 를 계산한다). 일부 실시예들에서, 포즈 추정기(100)는 현재의 포즈에 따라 물체의 이미지들에 그리고 배치된 3-D 모델의 렌더링에 나타나는 표면들의 부분들 사이의 대응들을 결정하고, 포즈된 3-D 모델의 대응하는 부분들에서의 표면 법선들과 측정된 표면 법선들 사이의 차이를 계산한다.
본 개시내용의 일부 실시예들에서, 포즈 추정치들의 정제는 검출된 에지들에 기초한 정렬(예컨대 도 4에 도시된 방법(400)에 따름) 및 표면 법선들에 기초한 정렬(예컨대 도 5에 도시된 방법(500)에 따름) 둘다에 기초하여 수행된다. 예를 들어, 물체의 포즈 를 업데이트하는 것은 물체의 측정된 에지들과 현재 추정된 포즈에 따라 포즈된 3-D 모델의 에지들의 매칭에서의 에러 및 물체의 측정된 표면 법선들과 현재 추정된 포즈에 따라 포즈된 3-D 모델의 표면 법선들의 매칭에서의 에러 둘다에 대한 항들을 포함하는 비용 함수를 공동으로 최적화할 수 있다.
편광 훈련 데이터를 포함하는 생성된 훈련 데이터에 기초한 심층 신경망들의 훈련
일반적으로, 장면에 도시된 물체들을 분류하는 세그먼트화 맵들을 계산하기 위한 컴퓨터 비전 시스템은 입력으로서 (예를 들어, 컬러 카메라에 의해 캡처된 것과 같은) 2차원 이미지들을 취하고, 그들 이미지에 기초하여 세그먼트화 맵들을 출력하는 훈련된 컨볼루션 신경망을 포함할 수 있다. 그러한 컨볼루션 신경망은 ImageNet과 같은 기존의 데이터 세트에 대해 사전 훈련될 수 있다(예를 들어, J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li 및 L. Fei-Fei, ImageNet: A Large-Scale Hierarchical Image Database. IEEE Computer Vision and Pattern Recognition (CVPR), 2009 참조). 그러나, 이러한 기존의 데이터 세트들은 컴퓨터 비전 시스템의 특정 애플리케이션에서 마주칠 것으로 예상되는 이미지들을 나타내지 않는 이미지들을 포함할 수 있고, 따라서 이러한 사전 훈련된 모델들은 컴퓨터 비전 시스템이 수행하도록 의도되는 특정 컴퓨터 비전 작업에 대한 열악한 성능을 가질 수 있다. 예를 들어, 제조 환경을 위한 컴퓨터 비전 시스템은 더 "범용(general purpose)" 데이터 세트들에서 발견될 수 있는 사람들, 동물들, 가정 물체들, 및 실외 환경들의 이미지들보다는, 도구들, 부분적으로 조립된 제품들, 제조 컴포넌트들 등의 이미지들에 더 많이 직면할 가능성이 있다.
그와 같이, "재훈련"은 재훈련된 모델에 의해 수행될 작업과 연관된 특정한 타겟 도메인으로부터의 추가적인 훈련 데이터에 기초하여 사전 훈련된 모델의 파라미터들(예를 들어, 연결 가중치들)을 업데이트하는 것과 관련된다. 위의 예를 계속하면, 특정 제조 환경으로부터의 도구들, 부분적으로 조립된 제품들, 컴포넌트들 등의 라벨링된 이미지들은 사전 훈련된 모델(예를 들어, 사전 훈련된 컨볼루션 신경망)을 재훈련시켜 그 제조 환경에서 마주치는 물체들을 검출하고 분류함에 있어서 그 성능을 개선하기 위한 훈련 데이터로서 이용될 수 있다. 그러나, 그 제조 환경에서 전형적인 장면들의 상이한 이미지들을 수동으로 수집하고 그들의 실측 정보 값들(예를 들어, 물체들의 상이한 클래스들에 대응하는 픽셀들을 식별하는 것)에 기초하여 이들 이미지들을 라벨링하는 것은 일반적으로 시간 소모적이고 값비싼 작업이다.
전술한 바와 같이, 3차원(3-D) 렌더링 컴퓨터 그래픽 소프트웨어는 컴퓨터 비전 작업들을 수행하기 위한 기계 학습 모델들을 훈련시키기 위한 훈련 데이터를 생성하는데 이용될 수 있다. 예를 들어, 그러한 도구들, 부분적으로 조립된 제품들, 및 제조 컴포넌트들의 기존의 3-D 모델들은 (예를 들어, 환경 내의 지지 표면들 및 장비의 조명 조건들 및 3-D 모델들을 포함하여) 그러한 물체들이 실세계에서 마주칠 수 있는 다양한 방식들에 따라 가상 장면에서 배열될 수 있다. 예를 들어, 부분적으로 조립된 제품들은 컨베이어 벨트의 3-D 모델 상에 배치될 수 있고, 컴포넌트들은 부품 빈에 위치할 수 있고, 도구들은 부분적으로 조립된 제품 내에 컴포넌트를 배치하는 프로세스에서 도구 벤치 상에 및/또는 장면 내에 배치될 수 있다. 따라서, 3-D 컴퓨터 그래픽 렌더링 시스템은 특정 환경에서 물체들의 전형적인 배열들의 범위의 사실적인 이미지들(photorealistic images)을 생성하는데 이용된다. 이러한 생성된 이미지들은 또한 자동으로 라벨링될 수 있다. 특히, 상이한 타입의 물체들 각각을 묘사하는데 이용되는 특정 3-D 모델들이 이미 클래스 라벨들(예를 들어, 다양한 크기의 나사들, 사전 조립된 컴포넌트들, 다양한 조립 스테이지들에서의 제품들, 특정 타입의 도구들 등)과 연관되어 있을 때, 세그먼트화 맵들이 (예를 들어, 물체들의 표면들을 그들의 특정 클래스 라벨들에 맵핑함으로써) 자동으로 생성될 수 있다.
그러나, 3-D 렌더링 컴퓨터 그래픽 소프트웨어 시스템들은 일반적으로 가시 광의 강도(예를 들어, 적색, 녹색, 및 청색 광의 강도들)에 기초하여 전형적인 이미징 양식들을 나타내는 이미지들을 생성하도록 조정된다. 블렌더 파운데이션(Blender Foundation)에 의한 Blender®와 같은 그러한 3-D 렌더링 소프트웨어는 일반적으로 사실적인 장면들을 렌더링할 때 비가시적이거나 그렇지 않으면 무시가능할 수 있는 전자기 방사의 거동들을 고려하지 않는다. 이러한 추가 거동들의 예들은 광의 편광(예를 들어, 편광된 광이 장면에서의 투명 물체들 및 반사 물체들과 상호작용할 때, 그의 광 경로에 편광 필터를 갖는 카메라에 의해 검출될 때), 열 또는 적외선 방사(예를 들어, 장면에서의 따뜻한 물체들에 의해 방출될 때 그리고 적외선 광을 검출하는데 민감한 카메라 시스템에 의해 검출될 때), 자외선 방사(예를 들어, 자외선 광에 민감한 카메라 시스템에 의해 검출될 때), 이들의 조합들(예를 들어, 열 방사를 갖는 편광, 가시 광을 갖는 편광, 자외선 광을 갖는 편광 등) 등을 포함한다.
따라서, 본 개시내용의 실시예들의 양태들은, 편광 또는 다른 이미징 양식에 기초하여 이미징될 때 다양한 재료의 거동을 모델링하기 위한 시스템들 및 방법들에 관한 것이다. 본 개시내용의 실시예들에 따라 생성된 데이터(예를 들어, 이미지들)는 그 다음으로, 표준 이미징 양식들 이외의 이미징 양식들(예를 들어, 가시 광의 강도 또는 전자기 스펙트럼의 가시 부분에서의 광)에 기초하여 예측들을 계산하기 위하여 심층 컨볼루션 신경망들과 같은 심층 학습 모델들을 훈련시키기 위한 훈련 데이터로서 이용될 수도 있다.
동기부여 예로서, 본 개시내용의 실시예들은, 편광 필터(여기서는 "편광 원시 프레임들"이라고 함)를 통해 캡처된 물체의 합성 이미지들을 생성하는 맥락에서 설명될 것이며, 여기서, 이들 이미지들은 편광 원시 프레임들에 기초하여 작업을 수행하기 위해 컨볼루션 신경망과 같은 심층 신경망을 훈련하는데 이용될 수 있다. 그러나, 본 개시내용의 실시예들은, 편광 원시 프레임들(또는 이로부터 추출된 특징들)을 입력 데이터로서 취하는 컨볼루션 신경망을 훈련하기 위한 합성 편광 원시 프레임들을 생성하는 것으로 제한되지 않는다.
도 6은 다양한 양식들에서의 이미지들에 기초하여 컴퓨터 비전 작업들을 수행하기 위해 통계적 모델을 훈련하기 위한 시스템을 도시하는 블록도이며, 여기서 훈련은 본 개시내용의 실시예들에 따라 생성된 데이터를 이용하여 수행된다. 도 6에 도시된 바와 같이, 훈련 데이터(605)는 모델(630)(예를 들어, 사전 훈련된 모델 또는 초기화된 가중치들을 갖는 모델 아키텍처)을 취하고, 훈련 데이터(5)를 이용하여 훈련된 모델(또는 재훈련된 모델)(632)을 생성하는 모델 훈련 시스템(607)에 공급된다. 모델(630) 및 훈련된 모델(632)은 심층 신경망(심층 신경망들은 컨볼루션 신경망들을 포함함)과 같은 통계적 모델일 수 있다. 본 개시내용의 실시예들에 따른 합성 데이터 생성기(640)는 훈련된 모델(632)을 생성하기 위해 훈련 데이터(605)와 함께 포함될 수 있는 합성된 데이터(642)를 생성한다. 모델 훈련 시스템(607)은 공급된 훈련 데이터(605)(예를 들어, 합성된 데이터(642)를 포함함)에 따라 훈련된 모델(632)을 생성하기 위해 모델(630)의 파라미터들을 업데이트하는 반복 프로세스를 적용할 수 있다. 모델(630)의 파라미터들의 업데이트는, 예를 들어, 훈련 데이터에 응답하여 라벨들과 모델의 출력 사이의 차이를 측정하는 손실 함수에 따라 기울기 하강(및 신경망의 경우에, 역전파(backpropagation))을 적용하는 것을 포함할 수도 있다. 모델 훈련 시스템(607) 및 합성 데이터 생성기(640)는 하나 이상의 전자 회로를 이용하여 구현될 수 있다.
본 개시내용의 다양한 실시예들에 따르면, 모델 훈련 시스템(607) 및/또는 합성 데이터 생성기(640)는 하기에 더 상세히 기술되는 바와 같이 다양한 동작들을 수행하도록 구성되는 하나 이상의 전자 회로를 이용하여 구현된다. 전자 회로들의 타입들은 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 인공 지능(AI) 가속기(예를 들어, 내적들 및 소프트맥스와 같은 신경망들에 공통인 동작들을 효율적으로 수행하도록 구성된 벡터 산술 로직 유닛들을 포함할 수 있는 벡터 프로세서), 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP) 등을 포함할 수 있다. 예를 들어, 일부 상황들에서, 본 개시내용의 실시예들의 양태들은 전자 회로(예를 들어, CPU, GPU, AI 가속기, 또는 그 조합들)에 의해 실행될 때, 편광 표현 공간들(예를 들어, 강도, AOLP, 및 DOLP)에서의 입력 편광 원시 프레임들 또는 입력 편광 특징들로부터 세그먼트화 맵을 계산하기 위하여 본 명세서에서 설명된 동작들을 수행하는 비휘발성 컴퓨터 판독가능 메모리에 저장되는 프로그램 명령어들에서 구현된다. 모델 훈련 시스템(607) 및 합성 데이터 생성기(640)에 의해 수행되는 동작들은 단일 전자 회로(예를 들어, 단일 CPU, 단일 GPU 등)에 의해 수행될 수 있거나 또는 다수의 전자 회로들(예를 들어, 다수의 GPU들, 또는 GPU와 함께 CPU) 사이에 할당될 수 있다. 다수의 전자 회로들은 서로 로컬일 수 있고(예를 들어, 동일한 다이 상에 위치되거나, 동일한 패키지 내에 위치되거나, 동일한 임베디드 디바이스 또는 컴퓨터 시스템 내에 위치됨), 및/또는 서로 원격일 수 있다(예를 들어, 블루투스®와 같은 로컬 개인 영역 네트워크와 같은 네트워크를 통해, 로컬 유선 및/또는 무선 네트워크와 같은 로컬 영역 네트워크를 통해, 및/또는, 일부 동작들이 로컬로 수행되고 다른 동작들이 클라우드 컴퓨팅 서비스에 의해 호스팅되는 서버 상에서 수행되는 경우와 같은, 인터넷과 같은 광역 네트워크를 통해 통신함). 모델 훈련 시스템(607) 및 합성 데이터 생성기(640)를 구현하도록 동작하는 하나 이상의 전자 회로는, 하나 이상의 전자 회로에 의해 실행될 때, 본 명세서에 설명된 시스템들 및 방법들을 구현하는 명령어들을 저장하는 메모리를 포함할 수 있는 컴퓨터 또는 컴퓨터 시스템이라고 본 명세서에서 지칭될 수 있다.
도 7a, 도 7b, 도 7c, 및 도 7d는 본 개시내용의 실시예들에 따른, 비교 접근법 및 시맨틱 세그먼트화 또는 인스턴스 세그먼트화에 의해 계산되는 세그먼트화 맵들을 예시하기 위한 배경을 제공한다. 더 상세하게는, 도 7a는 2개의 투명 공들("스푸프들") 및 일부 배경 클러터를 포함하는 다른 장면을 도시하는 사진의 프린트아웃의 위에 배치된 하나의 실제 투명 공을 갖는 장면의 이미지 또는 강도 이미지이다. 도 7b는 라인들의 상이한 패턴들을 이용하여 도 7a의 강도 이미지 상에 오버레이된 투명 공들의 인스턴스들을 식별하는 비교 마스크 영역 기반 컨볼루션 신경망(Mask R-CNN)에 의해 계산된 바와 같은 세그먼트화 마스크를 도시하며, 여기서 실제 투명 공은 인스턴스로서 정확하게 식별되고, 2개의 스푸프들은 인스턴스로서 부정확하게 식별된다. 즉, Mask R-CNN 알고리즘은 2개의 스푸프 투명 공을 장면에서의 실제 투명 공의 인스턴스로서 라벨링하는 것으로 풀링(fooled)된다.
도 7c는 본 발명의 일 실시예에 따른, 장면의 캡처된 편광 원시 프레임들로부터 계산된 선형 편광 각도(AOLP) 이미지이다. 도 7c에 도시된 바와 같이, 투명 물체들은 AOLP 도메인과 같은 편광 공간에서 매우 고유한 텍스처를 가지며, 여기서, 에지들 상의 기하구조-종속적 시그니처, 및 선형 편광의 각도에서 투명 물체들의 표면들 상에서 발생하는 별개의 또는 고유한 또는 특정 패턴이 존재한다. 즉, (예를 들어, 투명 물체를 통해 보이는 배경 표면들로부터 채택된 외부 텍스처와 달리) 투명 물체의 내부 텍스처는 도 7a의 강도 이미지에 있는 것보다 도 7c의 편광 이미지 각도에서 더 잘 보인다.
도 7d는 본 발명의 실시예에 따라 편광 데이터를 이용하여 계산된 바와 같은 오버레이된 세그먼트화 마스크를 갖는 도 7a의 강도 이미지를 도시하고, 여기서 실제 투명 공은 라인들의 오버레이된 패턴을 이용하는 인스턴스로서 정확하게 식별되고, 2개의 스푸프들은 인스턴스들로서 정확하게 배제된다(예를 들어, 도 7b와 대조적으로, 도 7d는 2개의 스푸프들 위에 오버레이된 라인들의 패턴들을 포함하지 않는다). 도 7a, 도 7b, 도 7c, 및 도 7d는 스푸프 투명 물체들의 존재 시에 실제 투명 물체를 검출하는 것에 관한 예를 예시하지만, 본 개시내용의 실시예들은 그것으로 제한되지 않고, 투명, 반투명, 및 비-매트(non-matte) 또는 비-램버시안(non-Lambertian) 물체들뿐만 아니라, 비-반사성(예를 들어, 매트 블랙 물체들) 및 다중경로 유도 물체들과 같은 다른 광학적으로 도전적인 물체들에 또한 적용될 수 있다.
도 8은 투과된 광의 에너지 대 대략 1.5의 굴절률을 갖는 표면에 대한 입사 각도들의 범위에 걸쳐 반사된 광의 에너지의 그래프이다. 도 8에 도시된 바와 같이, 투과 에너지(도 8에서 실선으로 도시됨) 및 반사 에너지(도 8에서 점선으로 도시됨) 라인들의 기울기들은 낮은 입사 각도들에서 (예를 들어, 표면의 평면에 수직에 더 가까운 각도들에서) 비교적 작다. 따라서, 표면의 각도의 작은 차이들은 입사 각도가 낮을 때(예를 들어, 표면에 수직에 가까울 때, 즉 표면 법선에 가까울 때) 편광 패턴에서 (낮은 콘트라스트를) 검출하기 어려울 수 있다. 한편, 반사 에너지의 기울기는 입사 각도가 증가함에 따라 편평함으로부터 증가하고, 투과 에너지의 기울기는 입사 각도가 증가함에 따라 (더 큰 절대값을 갖도록) 편평함으로부터 감소한다. 굴절률이 1.5인 도 8에 도시된 예에서, 양쪽 둘다의 라인들의 기울기들은 약 60°의 입사 각도에서 시작하여 실질적으로 더 가파르고, 그들의 기울기들은 약 80°의 입사 각도에서 매우 가파르다. 곡선들의 특정 형상들은 재료의 굴절률에 따라 상이한 재료들에 대해 변할 수 있다. 따라서, 곡선들의 더 가파른 부분들에 대응하는 입사 각도들(예를 들어, 도 8에 도시된 바와 같이, 굴절률 1.5의 경우 약 80°와 같이, 표면에 평행에 가까운 각도들)에서 검사 중인 표면들의 이미지들을 캡처하는 것은, 편광 원시 프레임들(18)에서의 표면 형상들의 변동들의 콘트라스트 및 검출가능성을 개선할 수 있고, 편광 표현 공간들에서의 텐서들(tensors)에서의 그러한 특징들의 검출가능성을 개선할 수 있는데, 그 이유는 (표면 법선에서의 작은 변화들로 인한) 입사 각도에서의 작은 변화들이 캡처된 편광 원시 프레임들에서의 큰 변화들을 야기할 수 있기 때문이다.
도 9는 본 개시내용의 일 실시예에 따른, 합성 이미지들을 생성하기 위한 파이프라인을 도시하는 흐름도이다. 본 개시내용의 일부 실시예들에서, 도 9의 동작들은, 합성 데이터 생성기(40)에 의해, 예를 들어, 합성 데이터 생성기(40)의 프로세서에 의해 실행될 때, 합성 데이터 생성기(40)로 하여금 광학 현상의 물리적 시뮬레이션에 기초하여 합성 이미지들을 생성하기 위해 본 명세서에 설명된 특수 목적 동작들을 수행하게 하는 합성 데이터 생성기(40)의 메모리에 저장된 특수 목적 프로그램 명령어들에서 수행된다. 편의상, 본 개시내용의 실시예들의 양태들은, 투명, 광택 금속 및/또는 어두운 매트 표면들을 갖는 물체들과 같은 광학적으로 도전적인 제조 컴포넌트들 및 도구들에 관해 컴퓨터 비전 작업들을 수행하기 위해 제조 맥락에서 편광 이미징을 적용하는 맥락에서 설명될 것이다.
동작(910)에서, 합성 데이터 생성기(40)는 가상 장면에 물체들의 3-D 모델들을 배치한다. 제조 환경에서 장면들의 합성 이미지들을 생성하는 맥락에서, 물체들의 3-D 모델들은 컴포넌트들의 CAD(computer aided design) 모델들 및 부분적으로 또는 완전히 조립된 제조 제품들로부터 쉽게 이용가능할 수 있다. 이러한 CAD 모델들은 제품 설계 단계에서 이전에 생성되었을 수 있고, 예를 들어, 컴포넌트의 벤더로부터(예를 들어, 컴포넌트들을 제조자에게 공급한 벤더로부터), 공개적으로 이용가능한 정보(예를 들어, 데이터 시트들)로부터, 또는 제조자에 의해 이용되는 내부 제품 설계자들로부터 획득될 수 있다. 일부 상황들에서, CAD 모델들은 컴포넌트의 사양들에 기초하여 수동으로 생성될 수 있다.
본 개시내용의 일부 실시예들에서, 물체들의 3-D 모델들은 기계 학습 모델이 수행하도록 훈련될 특정 컴퓨터 비전 작업에 대해 직면할 것으로 예상되는 바와 같은 물체들의 배열과 유사한 방식으로 가상 장면에 배치된다.
제조 맥락에서의 컴퓨터 비전의 상기의 예에서, 하나의 작업은 컴포넌트들의 빈(bin)에 대해 인스턴스 세그먼트화를 수행하는 것이며, 여기서 컴포넌트들은 동종(homogeneous)(예를 들어, 스프링들 또는 나사들의 빈과 같이 빈 내의 모든 컴포넌트들이 동일함) 또는 이종(heterogeneous)(예를 들어, 상이한 크기들의 나사들 또는 매칭 너트들과 혼합되는 나사들과 같은 상이한 타입들의 컴포넌트들의 혼합)일 수 있다. 물체들은 빈 내에 랜덤하게 배열될 수 있고, 여기서, 컴포넌트들은 빈 내의 많은 상이한 방향들로 배향될 수 있고, 이종 컴포넌트들의 빈에서, 상이한 타입의 컴포넌트들은 빈의 상이한 부분들에서 분리되는 것이 아니라 함께 혼합된다. 컴퓨터 비전 시스템은 빈의 세그먼트화 맵을 계산하여, 빈 내의 개별 컴포넌트들의 위치 및 배향(그리고, 이종 컴포넌트들의 빈의 경우에, 물체들의 타입들)을 식별하도록 훈련될 수 있다. 그 다음, 이러한 세그먼트화 맵은 로봇 팔이 빈으로부터 컴포넌트들을 픽킹(pick)하고 픽킹된 컴포넌트들을 부분적으로 조립된 제품에 추가하도록, 액추에이터 시스템에 의해 이용될 수 있다.
따라서, 본 개시내용의 일부 실시예들에서, 합성 데이터 생성기(40)는, 가상 빈의 3-D 모델을 장면에 배치하고, 3-D 컴퓨터 그래픽 렌더링 시스템에 통합된 물리 엔진과 같은 물리 시뮬레이션 엔진을 이용하여 시뮬레이션된 바와 같이, 컴포넌트들의 3-D 모델들을 가상 빈에 드롭핑(dropping)함으로써 빈에서 컴포넌트들의 장면을 생성한다. 예를 들어, Blender® 3-D 렌더링 소프트웨어는 중력 또는 다른 힘들에 의해 영향을 받는 강체들, 직물, 연체들, 유체들 등의 움직임, 충돌, 및 잠재적 변형과 같은 다양한 물리적 실세계 현상들을 시뮬레이션하는 물리 시스템을 포함한다. 따라서, 강체 시뮬레이션은 강성 컴포넌트들(예를 들어, 나사들, 볼트들, 비교적 뻣뻣한 스프링들)의 강성 가상 빈 내로의 드롭핑을 시뮬레이션하는데 이용될 수 있고, 연체 시뮬레이션은 강성 가상 빈 내로의 탄성 또는 변형가능한 컴포넌트들(예를 들어, 줄, 와이어, 플라스틱 시트 등)에 대해 이용될 수 있다.
더 상세하게는, 예컨대 컴포넌트들의 3-D 모델들의 다양한 수의 인스턴스들을 가상 빈에 드롭핑함으로써, 빈의 상이한 잠재적 상태들을 표현하는 다양한 상이한 장면들이 생성될 수 있다. 예를 들어, 전형적인 빈이 1,000개의 나사의 최대 용량을 갖는다면, 가상 빈의 상이한 잠재적 가득함 상태들을 나타내는 상이한 장면들을 생성하기 위해 가상 빈에 1,000개의 나사, 900개의 나사, 500개의 나사, 100개의 나사, 및 10개의 나사를 드롭핑함으로써 다양한 장면들이 생성될 수 있다. 또한, 임의의 주어진 수의 나사들에 대해 다수의 장면이 생성될 수 있으며(또는 나사들의 수는 상이한 장면들의 생성 사이에 랜덤화될 수 있으며), 빈 내의 컴포넌트들의 배열은 또한 예를 들어 빈 위의 상이한 랜덤 위치들로부터 한 번에 하나씩 빈 내에 컴포넌트들을 드롭핑함으로써 랜덤화된다.
따라서, 동작(910)에서, 합성 데이터 생성기(40)는 대표 물체들의 배열을 포함하는 장면을 생성한다.
동작(930)에서, 합성 데이터 생성기(40)는 동작(910)에서 생성된 가상 장면에 조명을 추가한다. 특히, 합성 데이터 생성기(40)는 가상 장면에 하나 이상의 광원을 추가하고, 여기서 광원들은 빈에서의 물체들의 표면들의 일부 또는 전부를 조명한다. 일부 실시예들에서, 하나 이상의 광원의 위치는 랜덤화되고, 훈련의 강건성을 개선하기 위해 부분들의 빈에 대해 상이한 위치들(예를 들어, 상이한 각도들 및 거리들)에 있는 광원들로 다수의 장면들이 생성된다. 본 개시내용의 일부 실시예들에서, 가상 조명은 컴퓨터 비전 시스템이 동작하도록 훈련되는 환경들에서 발견될 광원들을 나타내는 가상 광원들을 포함한다. 잠재적인 대표적인 광원들의 예들은, 예를 들어, 백열등들, 형광등들, 발광 다이오드(LED) 전구들, 환경 내의 시뮬레이션된 창으로부터의 자연광, 및 다른 형태의 조명 기술에 대응하는 상이한 컬러 온도들을 포함하며, 가상 광들의 형상(예를 들어, 광들에 의해 방출되는 광선들의 방향)은 직사광에서 확산광까지의 범위에 있을 수 있다. 본 개시내용의 일부 실시예들에서, 광의 특성(예를 들어, 컬러 온도 및 형상)은 또한 상이한 타입들의 조명을 갖는 상이한 장면들을 생성하도록 랜덤화된다.
동작(950)에서, 합성 데이터 생성기(40)는 3-D 가상 장면에서의 물체들에 양식-특정 재료들을 적용한다. 예를 들어, 합성 편광 이미징 데이터를 생성하는 경우, 편광 특정 재료들이 가상 장면에서의 물체들에 적용되는 반면, 합성 열 이미징 데이터를 생성하는 경우, 열 이미징 특정 재료들이 가상 장면에서의 물체들에 적용될 수 있다. 예시의 목적을 위해, 편광 특정 재료들이 본 명세서에서 상세히 설명될 것이지만, 본 개시내용의 실시예들은 이것으로 제한되지 않고, 다중모드 이미징 양식들 및/또는 플렌옵틱(plenoptic) 이미징 양식들에 특정적인 재료들을 생성 및 적용하는 것에도 적용될 수 있다.
본 개시내용의 실시예들의 일부 양태들은 장면에서의 물체들의 물질적 외관이 물체들의 전형적인 외관을 넘어 랜덤화되는 도메인 랜덤화에 관한 것이다. 예를 들어, 일부 실시예들에서, 랜덤 컬러들을 갖는 많은 수의 재료들(예를 들어, 상이한, 랜덤하게 선택된 컬러들의 수천 개의 상이한 재료들)이 가상 장면에서의 상이한 물체들에 적용된다. 실세계 환경에서, 장면에서의 물체들은 일반적으로 명확한 컬러들을 갖는다(예를 들어, 고무 와셔들(rubber washers)은 일반적으로 모두 매트 블랙으로 보이고, 나사들은 특정한 음영들의 광택 블랙, 매트 블랙, 금 또는 광택 금속일 수 있다). 그러나, 실세계 물체들은 종종 광들의 컬러 온도, 반사들, 정반사 하이라이트들 등과 같은 조명 조건들의 변화들로 인해 상이한 외관들을 가질 수 있다. 따라서, 훈련 데이터를 생성할 때 물체들에 적용되는 재료들의 컬러들에 랜덤화를 적용하는 것은 비현실적인 컬러들을 또한 포함하도록 훈련 데이터의 도메인을 확장하고, 그에 의해 더 다양한 실세계 조건들에서 정확한 예측들(예를 들어, 더 정확한 인스턴스 세그먼트화 맵들)을 행할 수 있는 더 강건한 기계 학습 모델을 훈련하기 위한 훈련 데이터의 다양성을 증가시킨다.
본 개시내용의 실시예들의 일부 양태들은, 이미징 양식에 따라 하나 이상의 파라미터(파라미터화된 재료)에 의존하는 재료들의 모델들을 생성하기 위해 텍스처 맵핑을 수행하는 것에 관한 것이다. 예를 들어, 위에서 논의된 바와 같이, 편광 카메라 시스템에 의해 이미징된 바와 같은, 장면에서의 주어진 표면의 외관은 표면의 재료의 속성들, 장면에서의 조명원 또는 조명원들(광원들)의 스펙트럼 프로파일 및 편광 파라미터들, 표면 상으로의 광의 입사 각도, 및 관찰자(예를 들어, 편광 카메라 시스템)의 시점 각도에 기초하여 변할 수 있다. 그와 같이, 상이한 재료들에 대한 편광의 물리학을 시뮬레이션하는 것은 복잡하고 계산 집약적인 작업이다.
그와 같이, 본 개시내용의 실시예들의 일부 양태들은 실세계 재료들의 캡처된 실세계 이미지들과 같은 경험적 데이터에 기초하여 다양한 이미징 양식들의 물리학을 에뮬레이팅하는 것에 관한 것이다. 더 상세하게는, 관심있는 특정한 이미징 양식을 구현하는 이미징 시스템(예를 들어, 편광 카메라 시스템)은 관심있는 특정한 재료로 이루어진 물체로부터 샘플 이미지를 수집하는데 이용된다. 일부 실시예들에서, 수집된 샘플 이미지들은 그것의 표면 명시야 함수(예를 들어, 양방향 반사율 밀도 함수 또는 BRDF)와 같은 재료의 경험적 모델을 계산하기 위해 이용된다.
일반적으로, 재료들의 경험적 모델들을 생성하기 위한 일부 기술들은 다수의 시야 각도들로부터 다수의 상이한 조명 각도로 대표 재료들의 이미지들의 샘플들을 캡처하는 것을 포함한다.
도 10은 본 개시내용의 일 실시예에 따른, 편광 카메라 시스템을 이용하여 다수의 각도로부터 실제 재료를 샘플링하는 것의 개략도이다. 도 10에 도시된 바와 같이, 물리적 물체(예를 들어, 와셔, 나사 등)의 표면(1002)은 관심있는 재료(예를 들어, 각각, 흑색 고무, 크롬 도금된 스테인리스강 등)로 형성된다. 동작(810)에서, 이 재료는 (예를 들어, 실험실 벤치톱 상의) 물리적 장면에 배치된다. LED 램프 또는 형광 램프와 같은 물리적 조명원(1004)이 장면에 배치되고 표면(1002)의 적어도 일부를 조명하도록 배열된다. 예를 들어, 도 10에 도시된 바와 같이, 물리적 조명원(1004)으로부터 방출된 광선(1006)은 특정 포인트(1008)에서 표면(1002)의 법선 방향(1014)에 대해 표면(1002) 상의 특정 포인트(1008)에서 입사각 α로 표면(1002)의 특정 포인트(1008) 상에 입사한다.
이미징 시스템은 표면의 법선 방향에 대한 다수의 포즈로부터 물체의 표면(1002)의 이미지들을 캡처하는데 이용된다. 도 10에 도시된 실시예에서, 편광 카메라 시스템(1010)은 (예를 들어, 특정 포인트(1008)를 포함하는) 물리적 조명원(1004)에 의해 조명되는 부분들을 포함하는 표면(1002)의 이미지들을 캡처하기 위한 이미징 시스템으로서 이용된다. 편광 카메라 시스템(1010)은, 예컨대, 편광 카메라 시스템(1010)을 하나의 포즈로부터 다음 포즈로 이동시키고, 각각의 포즈로부터 편광 원시 프레임들을 캡처하는 것에 의해, 상이한 포즈들(1012)로부터 표면(1002)의 이미지들을 캡처한다. 도 10에 도시된 실시예에서, 편광 카메라 시스템(1010)은 제1 포즈(1012A)에서 0°의 전방-평행 관찰자 각도(fronto-parallel observer angle) β(예를 들어, 포인트(1008)에서 표면 법선(1014)의 바로 위로부터의 또는 이와 정렬된 전방-평행 뷰)로, 제2 포즈(1012B)에서 표면 법선(1014)에 관하여 45°의 각도와 같은 중간 관찰자 각도 β로, 및 제3 포즈(1012C)에서 표면 법선(1014)에 관하여 얕은 관찰자 각도 β(예를 들어, 89°와 같이 90°보다 약간 작음)로 표면(1002)을 이미징한다.
위에서 논의된 바와 같이, 편광 카메라 시스템(1010)은 일반적으로 상이한 각도들에서 편광 필터들로(예를 들어, 단일 렌즈 및 센서 시스템의 광학 경로에서 4개의 상이한 편광 각도들을 갖는 편광 모자이크로, 4개의 카메라들의 어레이로―카메라들 각각은 상이한 각도에서 선형 편광 필터를 가짐―, 동일한 포즈로부터 상이한 시간들에서 캡처된 상이한 프레임들에 대해 상이한 각도로 설정된 편광 필터로 등등에 의해) 편광 원시 프레임들을 캡처하도록 구성된다.
이러한 관점들 또는 포즈들(1012) 각각은 편광의 물리학의 성질로 인해 상이한 편광 신호를 제공한다. 따라서, 상이한 관찰자 각도들로부터 표면(1002)의 이미지들을 캡처함으로써, 재료의 BRDF의 모델은 가장 가까운 대응하는 관찰자 각도들 β를 갖는 하나 이상의 포즈(1012)에서 카메라 시스템에 의해 하나 이상의 가장 가까운 대응하는 입사 각도들 α에서 물리적 조명원(1004)으로 캡처된 이미지들 사이의 보간에 기초하여 추정될 수 있다.
샘플링에 기초하여 재료들의 경험적 플렌옵틱 모델들(예를 들어, 편광 모델들)을 생성하는 방법들은, 2021년 1월 4일자로 미국 특허청에 출원되었으며, 그 개시내용 전체가 본 명세서에 참고로 포함되는 PCT 특허 출원 제US21/12073호에 더 상세히 설명된다.
도 9를 다시 참조하면, 일부 실시예들에서, 동작 (970)에서 합성 데이터 생성기(40)는 장면에 대한 가상 배경을 설정한다. 일부 실시예들에서, 가상 배경은 합성 데이터 생성기(40)에 의해 시뮬레이션되는 양식과 동일한 이미징 양식을 이용하여 캡처된 이미지이다. 예를 들어, 일부 실시예들에서, 합성 편광 이미지를 생성할 때, 가상 배경은 편광 카메라를 이용하여 캡처된 실제 이미지이고, 합성 열 이미지를 생성할 때, 가상 배경은 열 카메라를 이용하여 캡처된 실제 이미지이다. 일부 실시예들에서, 가상 배경은, 훈련된 기계 학습 모델이 동작하도록 의도된 환경(예를 들어, 로봇을 제조하기 위한 컴퓨터 비전 시스템의 경우 제조 설비 또는 공장)과 유사한 환경의 이미지이다. 일부 실시예들에서, 가상 배경은 랜덤화되어, 합성 훈련 데이터 세트의 다양성을 증가시킨다.
동작(990)에서, 합성 데이터 생성기(40)는 경험적으로 도출된 양식-특정 재료 모델들 중 하나 이상을 이용하여 지정된 이미징 양식(예를 들어, 편광, 열 등)에 기초하여 3-D 장면을 렌더링한다. 본 개시내용의 실시예들의 일부 양태들은 본 개시내용의 일 실시예에 따른 재료의 경험적 모델에 기초하여 이미지를 렌더링하는 것에 관한 것이다. 재료의 경험적 모델은 관심있는 재료로 만들어진 실세계 물체들의 캡처된 이미지들로부터 수집된 샘플들에 기초하여 전술한 바와 같이 개발될 수 있다.
일반적으로, 3-D 컴퓨터 그래픽 렌더링 엔진은 출력 이미지 내의 각각의 픽셀의 컬러를 그 픽셀에 의해 묘사되는 가상 장면의 표면의 컬러에 따라 계산함으로써 가상 장면들의 2-D 렌더링들을 생성한다. 예를 들어, 광선 추적 렌더링 엔진(ray tracing rendering engine)에서, 가상 광선이 가상 카메라로부터 가상 장면으로 (실세계에서의 전형적인 광 경로의 역으로) 방출되고, 여기서 가상 광선은 가상 장면에서의 물체들의 3-D 모델들의 표면들과 상호작용한다. 이 3-D 모델들은 전형적으로 편평한 표면들(예를 들어, 삼각형들)을 정의하는 포인트들의 메시들과 같은 기하학적 형상들을 이용하여 렌더링되며, 여기서 이 표면들은, 반사, 굴절, 산란, 분산, 및 다른 광학 효과들과 같은, 가상 광선이 표면과 어떻게 상호작용하는지를 기술하는 재료들은 물론, 표면의 컬러를 표현하는 텍스처(예를 들어, 텍스처는 단색(solid color)일 수 있거나, 예를 들어, 표면에 적용되는 비트맵 이미지일 수 있음)를 할당받을 수 있다. 각각의 가상 광선의 경로는 가상 장면에서의 광원(예를 들어, 가상 조명 기구)에 도달할 때까지 가상 장면을 통해 추종(또는 "추적")되고, 카메라로부터 광원으로의 경로를 따라 마주치는 텍스처들의 누적된 수정들은 픽셀의 컬러를 계산하기 위해 광원의 특성들(예를 들어, 광원의 컬러 온도)과 조합된다. 이 일반적인 프로세스는, 각각의 픽셀의 상이한 부분들을 통해 다수의 광선들을 추적함으로써 안티-에일리어싱(anti-aliasing)(또는 평활화 (smoothing))을 수행하고, 장면과 상호작용하는 상이한 광선들을 추적함으로써 계산된 상이한 컬러들의 조합(예를 들어, 평균)에 기초하여 픽셀의 컬러를 계산하는 것과 같이, 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이 수정될 수 있다.
이들 경험적 플렌옵틱 모델들에 기초하여 플렌옵틱 이미지들(예를 들어, 편광 이미지들 또는 편광 표현 공간들에서의 이미지들)을 렌더링하기 위한 시스템들 및 방법들은, 2021년 1월 4일자로 미국 특허청에 출원되었으며, 그 개시내용 전체가 본 명세서에 참고로 포함되는 PCT 특허 출원 제US21/12073호에 더 상세히 설명된다.
따라서, 본 개시내용의 실시예들의 양태들은 관심있는 물체들(예를 들어, 포즈 추정기(100)에 의해 포즈들이 추정될 물체들의 타입들), 조명 조건들, 및 재료 속성들의 3D 기하구조를 시뮬레이션하도록 구성되는 시뮬레이션 환경들에 관한 것이다. 재료 속성들의 시뮬레이션은 정반사들, 재료 컬러, 거칠기, 및 광의 편광 및 상이한 재료들로부터의 그것의 반사들을 포함하는 다양한 물리적 현상들을 시뮬레이션하는 능력을 포함하며, 광의 편광과 같은 적어도 일부 플렌옵틱 재료 속성들은 재료들의 경험적 모델들에 기초하여 시뮬레이션된다.
시뮬레이션을 이용한 데이터 생성
본 개시내용의 실시예들의 일부 양태들은 기계 학습 모델들을 훈련하기 위한 합성 이미지들을 생성하기 위한 상기의 기술들의 조합들에 관한 것이다. 도 11은 본 개시내용의 일 실시예에 따른, 훈련 데이터 세트를 생성하기 위한 방법을 도시하는 흐름도이다. 타겟 도메인을 나타내는 하나 이상의 가상 장면은 (예를 들어, 컴포넌트들의 하나 이상의 3-D 모델을 선택하고 3-D 모델들의 인스턴스들을 컨테이너에 드롭핑함으로써, 컴포넌트들의 빈들의 이미지들을 생성하기 위해) 위에서 논의된 바와 같이 생성될 수 있다. 예를 들어, 본 개시내용의 실시예들의 일부 양태들은 다음에 기초하여 훈련 데이터 세트를 형성하는 것에 관한 것이다: (1) 동작(1110)에서 도메인 랜덤화에 의해 전적으로 생성된 이미지들, (2) 동작(1112)에서 (예를 들어, 물체들의 표면들에 플렌옵틱 재료들을 적용하는) 텍스처 맵핑을 통해 전적으로 생성된 이미지들, 및 (3) 동작(1114)에서 (예를 들어, 물체들의 표면 법선들에 기초하여 생성된 DOLP ρ 및 AOLP φ 이미지들에서와 같은 편광 공간 특징 맵들) 법선 맵핑을 통해 전적으로 생성된 이미지들.
또한, 훈련 데이터 세트는, 위에서 논의된 바와 같이, 임베딩 공간에서 파라미터화된 바와 같은, 상이한 경험적으로 생성된 모델들 사이에서 보간함으로써 생성된 재료 모델들을 이용하여 생성된 이미지들을 포함할 수 있다.
본 개시내용의 일부 실시예들에서, (1) 도메인 랜덤화, (2) 텍스처 맵핑, 및 (3) 법선 맵핑에 따라 생성된 이미지들은, 이미지를 훈련 데이터 세트에 추가하기 전에, 동작(1120)에서 생성된 이미지에 스타일 전송 또는 다른 필터를 각각 적용함으로써 추가로 처리된다. 스타일 전송을 적용하면, 전술한 3개의 기술을 이용하여 생성된 바와 같이 다소 상이하게 보이는 이미지들이 더 일관된 외관을 갖게 된다. 일부 실시예들에서, 스타일 전송 프로세스는 관심있는 이미징 양식에 기초하여 캡처된 이미지와 더 유사하게 보이도록 합성된 입력 이미지들을 변환하거나(예를 들어, (1) 도메인 랜덤화, 및 (3) 법선 맵핑을 이용하여 생성된 특징 맵들을 이용하여 생성된 이미지들이 편광 원시 프레임들과 더 유사하게 보이게 함), 예를 들어, 입력 이미지들에 비현실적인 페인터 스타일(painterly style)을 적용함으로써 합성된 입력 이미지들이 더 인공적으로 보이게 함에 의한 것이다(예를 들어, (1) 도메인 랜덤화, (2) 텍스처 맵핑을 이용하는 렌더링들, 및 (3) 법선 맵핑을 이용하여 생성된 특징 맵들을 이용하여 생성된 이미지들이 캔버스 상에 페인트브러시를 이용하여 만들어진 페인팅처럼 보이게 함).
일부 실시예들에서, 신경 스타일 전송 네트워크는 복합 글로벌 스타일 전송들을 위한 SytleGAN(예를 들어, Karras, Tero 등의 "Analyzing and improving the image quality of stylegan." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. 참조); 로컬 스타일 전송들을 위한 패치 기반 네트워크들(예를 들어, Chen, Tian Qi, 및 Mark Schmidt의 "Fast patch-based style transfer of arbitrary style." arXiv preprint arXiv:1612.04337 (2016) 참조); 및 도메인 적응을 이용하는 네트워크들(예를 들어, Dundar, Aysegul 등의 "Domain stylization: A strong, simple baseline for synthetic to real image domain adaptation." arXiv preprint arXiv:1807.09384 (2018) 참조)과 같은 훈련 데이터 세트에 대해 선택된 이미지들에 대해 동작(1120)에서 스타일 전송을 수행하기 위해 훈련되고 이용된다. 그 결과, 훈련 데이터 세트 내의 모든 이미지들은, 스타일 전송 동작에 의해 변환된 바와 같이, 이미지들이 획득된 방법(예를 들어, (1) 도메인 랜덤화, (2) 텍스처 맵핑, (3) 법선 맵핑, 또는 편광 이미징 또는 열 이미징과 같은 관심있는 양식을 구현하는 이미징 시스템을 이용하여 캡처된 물체들의 실제 이미지들과 같은 다른 소스들을 통해서 인지)에 관계없이 유사한 스타일 또는 외관을 가질 수 있다.
추가로, 본 개시내용의 실시예들의 일부 양태들은 생성된 이미지들에 대한 추가적인 또는 다른 데이터 증강들을 수행하는 것에 관한 것이며, 이는: 스타일 랜덤화, 가우시안 잡음, 아핀(affine) 변환들, 에지 블러 및 왜곡을 포함하지만 이에 제한되지는 않는다.
감독 학습을 위한 훈련 데이터를 생성할 때, 합성 데이터 생성기(640)는 또한 동작(1124)에서 합성된 이미지들에 대한 라벨들(예를 들어, 원하는 출력들)을 자동으로 생성한다. 예를 들어, 이미지 분류 작업을 수행하기 위해 기계 학습 모델을 훈련하기 위한 훈련 데이터를 생성할 때, 주어진 이미지에 대한 생성된 라벨은 이미지에 묘사된 물체들의 클래스들을 포함할 수 있다. 이러한 분류 라벨은 가상 장면에서 보이는 물체의 각각의 고유 타입을 식별함으로써 생성될 수 있다. 다른 예로서, 인스턴스 세그먼트화 작업을 수행하기 위해 기계 학습 모델을 훈련하는 훈련 데이터를 생성할 때, 생성된 라벨은 각각의 물체의 각각의 인스턴스가 그것의 클래스와 함께 (예를 들어, 상이한 인스턴스 식별자로) 고유하게 식별되는 (예를 들어, 동일한 타입의 물체들이 동일한 클래스 식별자를 갖는) 세그먼트화 맵을 포함할 수 있다. 예를 들어, 세그먼트화 맵은 카메라로부터의 광선들을 가상 장면 내로 추적함으로써 생성될 수 있고, 여기서 각각의 광선은 가상 장면의 일부 제1 표면과 교차할 수 있다. 세그먼트화 맵의 각각의 픽셀은 픽셀을 통해 카메라로부터 방출된 광선에 의해 타격된 표면을 포함하는 물체의 인스턴스 식별자 및 클래스 식별자에 기초하여 그에 따라 라벨링된다. 또 다른 예로서, 키포인트 검출기를 훈련하기 위한 훈련 데이터를 생성할 때, 표준 3-D 키포인트 선택 방법들을 이용하여 키포인트들이 선택된다. 일부 실시예들에서, 가능한 한 서로 멀리 떨어져 있는 3-D 모델 상의 키포인트들을 선택하기 위해 가장 먼 포인트 알고리즘이 이용되고, 따라서 키포인트들이 물체의 상이한 부분들 상에 있게 한다.
본 개시내용의 일부 실시예들에서, 훈련 데이터 세트에 대한 이미지들은 동작(1124)에서 하드 예제 마이닝(hard example mining)에 기초하여 합성된 데이터 세트들 (1), (2), 및 (3)으로부터 샘플링된다(예를 들어, Smirnov, Evgeny 등의 "Hard example mining with auxiliary embeddings." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2018. 참조). 하드 예제 마이닝을 이용하여 합성된 데이터 세트들을 샘플링하는 것은 결과적인 훈련된 모델에 더 많은 영향을 미치는 "하드 예제들"을 유지하면서 훈련 프로세스에 많은 영향을 미치지 않을 실질적으로 중복된 이미지들을 제거하기 위해 훈련 세트의 크기를 감소시킴으로써 훈련 프로세스의 효율을 개선할 수 있다.
위에서 논의된 바와 같이, 그리고 도 1을 참조하면, 합성 데이터 생성기(640)에 의해 생성된 합성된 데이터의 결과적인 훈련 데이터 세트(642)는 이후 사전 훈련된 모델 또는 랜덤 파라미터들로 초기화된 모델과 같은 모델(630)을 훈련하여 훈련된 모델(632)을 생성하기 위해 모델 훈련 시스템(607)에 의해 훈련 데이터(605)로서 이용된다. 편광 이미징 양식에 따라 훈련 데이터를 생성하는 경우에 위에 제시된 예를 계속하면, 훈련 데이터 세트(605)는 (예를 들어, 텍스처 맵핑을 통해 생성된 이미지들인) 편광 원시 프레임들 및 (예를 들어, 법선 맵핑을 통해 생성된 이미지들인) 편광 표현 공간들 내의 텐서들과 같은 편광 입력 특징들에 대해 동작하도록 모델(630)을 훈련하는데 이용될 수 있다.
따라서, 합성된 데이터(642)를 포함하는 훈련 데이터(605)는 특정 이미징 양식에 기초하여 컴퓨터 비전 작업을 수행하도록 기계 학습 모델(630)을 훈련 또는 재훈련하기 위해 이용된다. 예를 들어, 편광 이미징 양식에 따른 합성 데이터는, 편광 입력 특징들에 기초하여 인스턴스 세그먼트화를 수행하기 위해 표준 컬러 이미지에 기초하여 인스턴스 세그먼트화를 수행하도록 사전 훈련되었을 수 있는 컨볼루션 신경망을 재훈련하는데 이용될 수 있다.
배치에서, 본 개시내용의 실시예들에 따라 생성된 훈련 데이터에 기초하여 훈련되는 훈련된 모델(632)은 다음에 세그먼트화 맵들과 같은 예측된 출력들을 생성하기 위해 편광 원시 프레임들 및/또는 편광 표현 공간들 내의 텐서들과 같은 훈련 데이터와 유사한 입력을 취하도록 구성된다(여기서 이들 입력 이미지들은 훈련 데이터를 생성할 때 적용된, 만약 있는 경우, 동일한 스타일 전송에 의해 추가로 수정된다). 예를 들어, 일부 실시예들에서, 인스턴스 세그먼트화 및 키포인트 검출과 같은 작업들을 수행하도록 훈련된 모델들은 도 2a에 도시된 바와 같이, 각각 동작들(230 및 270)에서 세그먼트화 맵들을 계산하고 키포인트들을 검출하기 위해 포즈 추정기(100)에 의해 이용된다. 이러한 컴퓨터 비전 작업들에 적절한 아키텍처들의 예들은 다음을 포함하지만, 이에 제한되지 않는다: 세그먼트화 및 키포인트에 대한 Mask R-CNN(예를 들어, He, Kaiming 등의 "Mask R-CNN." Proceedings of the IEEE International Conference on Computer Vision. 2017. 참조). U-Net(예를 들어, Ronneberger, Olaf, Philipp Fischer, 및 Thomas Brox의 "U-net: Convolutional networks for biomedical image segmentation." International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2015. 참조), 및 AdaptIS(예를 들어, Sofiiuk, Konstantin, Olga Barinova, 및 Anton Konushin의 "Adaptis: Adaptive Instance Selection Network." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019. 참조).
따라서, 포즈 추정치들을 계산하기 위한 비교 시스템들은 일반화된 6DoF 성능을 달성하기 위해 실세계 훈련 데이터 또는 특정 깊이 센서들에 의존하지만, 본 개시내용의 실시예들은 정확한 3-D 모델(예를 들어, CAD 모델)이 이용가능한 임의의 타입의 물체에 적용될 수 있다. 시스템들 및 방법들은, 출력이 시뮬레이션된 데이터의 생성으로 달성가능한 것과 유사한 것인 한, 임의의 이미징 기법에 또한 적용될 수 있다. 또한, 본 개시내용의 실시예들은 또한, 편광 큐들로부터의 정보와 같은 더 높은 차원의 광학 데이터에 기초하여 컴퓨터 비전 작업을 수행하도록 신경망을 훈련하는데 이용될 수 있다. 따라서, 본 개시내용의 일부 실시예들은, 위에서 논의된 바와 같이 6 자유도(6DoF) 포즈 추정을 수행하기 위해, 편광 큐들에 기초한 훈련을 포함하여, 본 개시내용의 실시예들에 따른 렌더링 엔진에 의해 생성된 훈련 데이터에 기초하여 훈련된 심층 학습 모델들(예를 들어, 컨볼루션 신경망들)의 조합들에 관한 것이다.
세그먼트화를 이용하는 물체 레벨 대응들
이격된 다수의 카메라들이 이미지 캡처를 위해 이용될 때, 다수의 카메라들(예를 들어, 메인 및 지원 카메라들(10, 30)) 각각은 상이한 시점으로부터 하나 이상의 관심 물체의 이미지를 캡처할 수 있다. 캡처된 이미지들에서 물체들을 식별하고 묘사하기 위해 인스턴스 세그먼트화 맵들(인스턴스 세그먼트화 마스크들이라고도 함)이 생성될 수 있다. 동일한 물체들이 다양한 이미지들에 묘사되지만, 다양한 이미지들에 기초하여 생성된 인스턴스 세그먼트화 맵들은 이미지들이 상이한 시점들로부터 물체들을 묘사할 때 상이할 수 있다. 현재 기술의 메커니즘들은 제2 이미지의 픽셀들의 그룹에 대응하는 제1 이미지의 픽셀들의 블록을 식별하기 위한 글로벌 픽셀 레벨 대응을 수행할 수 있다. 그러한 대응은 각각의 물체 인스턴스에 대한 깊이 추정을 수행하기 위해 바람직할 수 있다. 그러나, (예를 들어, 전체 이미지에 대한) 글로벌 레벨에 대한 픽셀 레벨 대응들의 계산은 계산 비용이 많이 들 수 있다. 따라서, 동일한 물체의 상이한 시점들을 묘사하는 이미지들의 부분들의 대응들을 찾는 보다 효율적인 방식을 갖는 것이 바람직하다.
일반적으로, 본 개시내용의 실시예들은, 예를 들어, 픽셀 레벨 대응과 같은 이미지 처리 작업들을 수행하기 위한 검색 공간을 감소시키는 것에 관한 것이다. 일 실시예에서, 인스턴스 세그먼트화는 상이한 시점들로부터 보이는 바와 같은 장면을 묘사하는 이미지들 내의 물체들의 상이한 인스턴스들을 식별하기 위해 수행되고, 인스턴스 세그먼트화 맵들/마스크들은 인스턴스 세그먼트화 동작에 응답하여 생성될 수 있다. 그 후, 인스턴스 세그먼트화 마스크들은 물체 레벨 대응들을 계산하기 위해 이용될 수 있다.
일 실시예에서, 물체 레벨 대응은 제1 시점을 묘사하는 제1 이미지에 나타나는 물체의 제1 인스턴스를 제2 시점을 묘사하는 제2 이미지에 나타나는 동일한 물체의 제2 인스턴스에 매칭시키는 것을 허용한다. 일단 물체 레벨 대응이 수행되면, 예를 들어, 픽셀 레벨 대응을 수행하기 위한 검색 공간은 동일한 물체에 대응하는 이미지의 영역들로 제한될 수 있다. 이러한 방식으로 검색 공간을 감소시키는 것은 픽셀 레벨 대응 및 다른 유사한 작업들의 더 빠른 처리를 야기할 수 있다.
도 12는 일 실시예에 따른, 물체 레벨 대응을 위한 프로세스의 흐름도이다. 프로세스는 포즈 추정기(100)의 컴포넌트들인 하나 이상의 처리 회로 또는 전자 회로에 의해 구현될 수 있다. 본 기술분야의 통상의 기술자에 의해 인식되는 바와 같이, 프로세스의 단계들의 시퀀스는 고정되지 않고, 수정되거나, 순서가 변경되거나, 상이하게 수행되거나, 순차적으로, 함께, 또는 동시에 수행되거나, 임의의 원하는 시퀀스로 변경될 수 있다는 것을 이해해야 한다.
프로세스는 블록(1200)에서 시작되고, 포즈 추정기(100)는 메인 및 지원 카메라들(10, 30)로부터 다중-뷰 이미지들을 수신한다. 카메라들 중 하나에 의해 캡처된 제1 이미지는 제1 시점으로부터의 장면에서의 하나 이상의 물체를 묘사할 수 있고, 제2 카메라에 의해 캡처된 제2 이미지는 제1 시점과 상이한 제2 시점으로부터의 장면에서의 하나 이상의 물체를 묘사할 수 있다. 카메라에 의해 캡처된 이미지는, 예를 들어, 편광된 이미지 및/또는 어떠한 편광도 겪지 않은 이미지일 수 있다.
블록(1202)에서, 포즈 추정기(100)는 캡처된 이미지들에 기초하여 인스턴스 세그먼트화 및 마스크 생성을 수행한다. 이와 관련하여, 포즈 추정기(100)는 특정 카메라(10, 30)에 의해 캡처된 이미지의 다양한 영역들(예를 들어, 픽셀들)을 물체들의 특정 클래스들에 속하는 것으로서 분류한다. 이미지 내의 물체들의 상이한 인스턴스들 각각이 또한 식별될 수 있으며, 예를 들어, 이미지 내의 각각의 물체를 상이한 식별자로 개별적으로 라벨링함으로써 물체들의 상이한 인스턴스들 각각에 고유 라벨들이 적용될 수 있다.
일 실시예에서, 다양한 물체 인스턴스들을 묘사하는 세그먼트화 마스크들이 또한 생성된다. 각각의 세그먼트화 마스크는 입력 이미지와 동일한 치수들을 갖는 2-D 이미지일 수 있으며, 각각의 픽셀의 값은 라벨(예를 들어, 픽셀에 의해 묘사되는 물체의 특정 인스턴스)에 대응할 수 있다. 관심 물체들의 상이한 시점들을 묘사하는 상이한 이미지들에 대해 상이한 세그먼트화 마스크가 생성될 수 있다. 예를 들어, 제1 세그먼트화 마스크는 제1 카메라에 의해 캡처된 제1 이미지 내의 물체 인스턴스들을 묘사하기 위해 생성될 수 있고, 제2 세그먼트화 마스크는 제2 카메라에 의해 캡처된 제2 이미지 내의 물체 인스턴스들을 묘사하기 위해 생성될 수 있다. 예를 들어, Mask R-CNN과 같은 컨볼루션 신경망이 세그먼트화 마스크들을 생성하기 위해 이용될 수 있다.
블록(1204)에서, 포즈 추정기(100)는 세그먼트화 마스크들에서 식별된 물체들의 물체 레벨 대응에 관여한다. 이와 관련하여, 포즈 추정기는 하나의 이미지 내의 특정 물체의 세그먼트화된 인스턴스를 다른 이미지 내의 동일한 물체의 세그먼트화된 인스턴스에 대응하는(또는 매칭하는) 것으로서 식별하기 위해 매칭 알고리즘을 호출할 수 있다. 매칭 알고리즘은 하나의 이미지에서 물체 인스턴스를 통하여 에피폴라 라인을 따라 매칭하는 물체 인스턴스들을 검색하여 상이한 이미지에서 대응하는 물체 인스턴스를 찾도록 제약될 수 있다. 일 실시예에서, 매칭 알고리즘은 세그먼트화된 물체 인스턴스들에 대응하는 영역들의 상이한 특징들을 비교하여 물체 대응을 추정한다. 하나의 이미지로부터 다른 이미지로의 물체 인스턴스들의 매칭은, 예를 들어, 픽셀 레벨 대응 또는 키포인트 대응을 수행하는 것과 같은 다른 이미지 처리 작업들을 위한 검색 공간을 좁힐 수 있다. 검색 공간은 동일한 물체에 대응하는 것으로 식별되는 이미지들의 식별된 영역들로 좁혀질 수 있다.
블록(1206)에서, 포즈 추정기(100)는 물체 레벨 대응에 기초하여 출력을 생성한다. 출력은, 예를 들어, 다양한 이미지들에 묘사된 바와 같은 대응하는 인스턴스들 사이의 격차에 기초한 물체의 격차의 측정 또는 추정된 깊이(예를 들어, 카메라들(10, 30)로부터의 거리)일 수 있다. 일 실시예에서, 출력은, 도 2a, 도 3, 도 4 및 도 5와 관련하여 앞서 논의된 바와 같이, 예를 들어, 다중-뷰 키포인트 관점-n-포인트 및/또는 후속 포즈 정제에 기초하여 계산된, 물체의 제1 인스턴스와 물체의 제2 인스턴스 사이의 3차원 상대 포즈이다.
도 13은 일 실시예에 따른, 단계(1002)의 인스턴스 세그먼트화 및 마스크 생성을 위한 아키텍처의 블록도이다. 다양한 카메라들(10, 30)에 의해 캡처된 입력 이미지들(1300)은, 예를 들어, CNN 백본과 같은 심층 학습 네트워크(1302)에 제공된다. 이미지들이 편광된 이미지들을 포함하는 실시예들에서, 심층 학습 네트워크는, 그 내용이 본 명세서에 참고로 포함되는 PCT 특허 출원 제US2020/048604호에 기술된 바와 같은 편광된 CNN 백본으로서 구현될 수 있다.
일 실시예에서, 심층 학습 네트워크(1302)는 입력 이미지들(1300)에 기초하여 특징 맵들을 생성하고, 생성된 특징 맵들로부터 관심 영역들을 제안하기 위해 영역 제안 네트워크(RPN)를 이용하도록 구성된다. CNN 백본에 의한 제안들은 분류 및 바운딩 박스 회귀를 수행하기 위해 박스 헤드(1304)에 제공될 수 있다. 일 실시예에서, 분류는 입력 이미지들(1300) 내의 물체 인스턴스들 각각에 대한 클래스 라벨(1306)을 출력하고, 바운딩 박스 회귀는 분류된 물체들에 대한 바운딩 박스들(1308)을 예측한다. 일 실시예에서, 상이한 클래스 라벨(1306)이 물체의 각각의 인스턴스에 제공된다.
CNN 백본에 의한 제안들은 또한 인스턴스 세그먼트화 마스크들을 생성하기 위한 마스크 헤드(1310)에 제공될 수 있다. 마스크 헤드(1306)는 FCN(fully convolutional network)으로서 구현될 수 있다. 일 실시예에서, 마스크 헤드(1310)는 입력 이미지들(1300)에서의 물체 인스턴스들 각각에 대한 이진 마스크를 인코딩하도록 구성되어 있다. 예시적인 인스턴스 세그먼트화 마스크가 도 15에 도시된다.
도 14는 일 실시예에 따른, 제1 세그먼트화 마스크에서 특정 물체 인스턴스에 대한 물체 레벨 대응을 식별하기 위해 단계(1204)(도 12)에서 이용되는 매칭 알고리즘의 더 상세한 흐름도이다. 프로세스는 제1 세그먼트화 마스크에서 식별된 모든 물체 인스턴스에 대해 반복될 수 있다. 도 14의 프로세스의 단계들의 시퀀스는 고정되어 있지 않고, 본 기술분야의 통상의 기술자에 의해 인식되는 바와 같이, 수정되거나, 순서가 변경되거나, 상이하게 수행되거나, 순차적으로, 함께, 또는 동시에 수행되거나, 임의의 원하는 시퀀스로 변경될 수 있다.
블록(1420)에서, 매칭 알고리즘은 제1 세그먼트화 마스크에서 제1 물체 인스턴스의 특징들을 식별한다. 제1 물체 인스턴스에 대한 식별된 특징들은 물체 인스턴스의 영역의 형상, 영역에서의 특징 벡터, 및/또는 영역에서의 키포인트 예측들을 포함할 수 있다. 제1 물체 인스턴스에 대한 영역의 형상은 영역의 윤곽들을 따라 샘플링된 포인트들의 세트를 통해 표현될 수 있다. 영역에서의 특징 벡터가 특징 서술자로서 이용되는 경우, 특징 벡터는 컨볼루션 신경망을 통해 추출되는 평균 심층 학습 특징 벡터일 수 있다.
블록(1422)에서, 매칭 알고리즘은 제1 세그먼트화 마스크에서 제1 물체 인스턴스를 통과하는 에피폴라 라인을 식별한다.
블록(1424)에서, 매칭 알고리즘은 제1 물체 인스턴스에 대응할 수 있는 제2 세그먼트화 마스크에서의 하나 이상의 제2 물체 인스턴스를 식별한다. 제2 물체 인스턴스들에 대한 검색은 제1 물체 인스턴스를 통해 이어지는 제1 세그먼트화 맵과 제2 세그먼트화 맵 사이의 에피폴라 라인에 제한될 수 있다. 일 실시예에서, 매칭 알고리즘은 제1 물체 인스턴스와 동일한 클래스 식별자를 갖는 제2 세그먼트화 마스크에서 물체 인스턴스들을 식별하기 위해 식별된 에피폴라 라인을 따라 대략적으로 검색한다. 예를 들어, 제1 물체 인스턴스가 "개(dog)" 클래스에 속하면, 매칭 알고리즘은 또한 "개" 클래스에 속하는 제2 세그먼트화 마스크에서의 물체 인스턴스들을 평가하고, 상이한 클래스(예를 들어, "고양이" 클래스)에 속하는 물체들을 무시한다.
블록(1426)에서, 매칭 알고리즘은 동일한 클래스에 속하는 제2 물체 인스턴스들의 특징들을 식별한다. 제1 물체 인스턴스와 마찬가지로, 특정 제2 물체 인스턴스의 특징들은 제2 물체 인스턴스의 영역의 형상, 영역을 나타내는 특징 벡터, 및/또는 영역에서의 키포인트 예측들을 포함할 수 있다.
블록(1428)에서, 매칭 알고리즘은 매칭을 결정하기 위해 제1 물체 인스턴스의 특징들을 제2 물체 인스턴스들의 특징들과 비교한다. 일 실시예에서, 매칭 알고리즘은 최상의 정합(best fit)을 선택하기 위해 제1 물체 인스턴스의 특징들과 제2 물체 인스턴스들의 특징들 간의 정합을 식별한다. 일 실시예에서, 최상의 정합은 헝가리안 매칭 함수 등의 정합 함수를 통해 식별될 수 있다. 일 실시예에서, 물체 인스턴스들의 특징들은 확률 분포들로서 표현되고, 매칭 함수는 쿨백-라이블러(Kullback-Leibler)(KL) 발산을 최소화하는 확률 분포들의 매치를 찾으려고 시도한다.
블록(1430)에서, 매치가 발견되었는지에 관한 결정이 이루어진다. 대답이 예(YES)이면, 블록(1432)에서 출력이 생성된다. 출력은, 예를 들어, 제1 물체 인스턴스와 매칭된 제2 물체 인스턴스의 정보(예를 들어, 물체 ID)를 포함할 수 있다.
대답이 아니오(NO)이면, 블록(1434)에서 매치 실패를 나타내는 출력이 생성될 수 있다.
도 15는 일 실시예에 따른, 도 2b의 이미지(211-L)에 대해 생성된 인스턴스 세그먼트화 마스크이다. 세그먼트화 마스크는 식별된 물체의 인스턴스를 포함하는 이미지의 각각의 영역(1600, 1602)을 그들의 독특한 경계들과 함께 식별할 수 있다. 각각의 식별된 마스크 영역은 식별된 물체 인스턴스의 형상을 취할 수 있다. 식별된 마스크 영역에서의 픽셀들은 특정의 물체 인스턴스 및 물체 타입을 식별하는 하나 이상의 값과 연관되어 있을 수 있다.
도 16a 및 도 16b는 일 실시예에 따른 도 12에 대해 설명된 물체 레벨 대응을 결정하기 위한 프로세스의 결과들을 도시하는 이미지들이다. 도 16a 및 도 16b의 예에서, 매칭은 이미지들(1500a, 1500b)에서 묘사된 물체들에 대한 것이다. 예를 들면, 도 12의 프로세스를 실행한 결과로서, 도 16a의 물체 인스턴스(1600)는 도 16b의 대응하는/매칭하는 물체 인스턴스(1602)로서 식별될 수 있다. 그러나, 특정 물체 인스턴스들은 매칭되지 않을 수 있다. 예를 들어, 도 16a에서 물체 인스턴스(1604)에 대해 매칭이 발견되지 않는다.
하드웨어 시스템 자동 교정
본 개시내용의 실시예들의 일부 양태들은 메인 카메라(10) 및 지원 카메라들(30)을 포함하는 카메라 시스템의 자동 교정을 위한 시스템들 및 방법들에 관한 것이다. 본 개시내용의 실시예들의 일부 양태들은 메인 카메라(10) 및 지원 카메라들(30)에 의해 이미징되는 장면에서 물체들의 포즈들을 추정할 때 (예를 들어, 상기의 수학식 7 및 8에 나타낸 바와 같이) 비용 함수를 최적화하는 것에 관한 것이다. 이들 비용 함수는 각각의 시점과 연관된 상대 포즈가 알려져 있는 것으로, 즉, 각각의 카메라의 교정 파라미터들이 알려져 있는 것으로 가정한다.
카메라 교정들은 일반적으로 3개의 카테고리에 속한다: 카메라 내재적, 스테레오 외재적, 및 디바이스 또는 시스템 외재적. 3개 모두의 초기 추정치는 표준 카메라 교정을 이용하여 계산될 수 있지만, 이러한 초기 추정치들은 부정확할 수 있다. 따라서, 본 개시내용의 일부 실시예들은 부품들 자체로부터의 능동 교정에 관한 것이다. 특히, 본 개시내용의 실시예들의 일부 양태들은 수학식 14에서 아래의 비용 함수를 공동으로 최적화함으로써 장면에서의 물체들의 포즈들을 공동으로 찾고 카메라들의 교정들(외부 파라미터들 및 j-번째 카메라에 대한 내부 파라미터들 )에 관한 것이다:
수학식 14는 3D 물체들(i에 의해 인덱싱됨)의 키포인트들 을 카메라들 및 물체 포즈 행렬들을 이용하여 2D 예측 키포인트들 (j-번째 시점에서의 카메라로부터 볼 때 현재 키포인트 i에 의해 인덱싱됨)에 재투영하는 것을 나타낸다. (예를 들어, 특수화된 교정 타겟들과 대조적으로) 임의의 물체들을 갖는 심층 학습 기반 키포인트들을 이용하는 이러한 능동 교정은, 심지어 수동 카메라 시스템을 이용하여(예를 들어, 능동 광 투영기의 이용 없이), 클러터링된 부분들(22)의 빈을 이용하여 M 카메라들의 교정을 가능하게 한다.
도 17은 본 개시내용의 일 실시예에 따른 카메라 자동 교정의 개략도이다. 도 17에 도시된 바와 같이, 물체(1210)는 장면 내에 포즈를 가질 수 있고, 대응하는 3-D 키포인트들 및 를 가질 수 있다. 이들 키포인트들은 캠 1 및 캠 2의 시점들(또는 포즈들)에 대응하는 2-D 이미지 공간들로 투영되고, 이들 투영된 포인트들은 그들의 대응하는 심층 학습 추정 포인트들 근처에 있는 것으로서 예시된다. 이러한 심층 학습 추정 포인트들은 캠 1 및 캠 2에 의해 캡처된 2-D 이미지들에서 검출된 2-D 키포인트들에 대응하고, 도 17에서 및 그리고 및 로서 각각 라벨링된다. 포즈 추정기(100)는 추정된 물체 포즈 , 추정된 캠 포즈 1 및 추정된 캠 포즈 2 를 공동으로 업데이트함으로써 카메라 시스템을 자동으로 교정한다(예를 들어, 카메라 외부 파라미터들 및 내부 파라미터들을 결정한다).
카메라 공간과 로봇 공간의 상관
위에서 언급된 바와 같이, 본 개시내용의 실시예들의 일부 양태들은, 로봇의 이웃 내의 로봇 팔들 및 물체들의 엔드-이펙터들(및 다른 부분들)의 포즈들을 검출하기 위해 로봇 공학 시스템들에 대한 포즈 추정을 제공하는 것과 같이, 로봇 공학의 맥락에서의 포즈 추정에 관한 것이다. 그 다음, 이러한 포즈 추정치들은 로봇 제어기에 의해 이용되어 로봇 시스템들의 움직임을 제어하여 그것의 작업 공간 또는 환경에서 검출되는 물체들을 조작하고/하거나 주위를 내비게이팅할 수 있다.
예를 들어, 일부 실시예들에서, 일단 물체의 6 자유도(6DoF) 포즈가 (예를 들어, 위에서 설명된 바와 같이 도 2a에 따라) 계산되면, 물체의 포즈는, 포즈를 로봇 제어기에 의해 이용되는 좌표계로 변환하는 것 등에 의해, 엔드-이펙터를 물체를 잡기 위한 요구되는 위치로 효율적으로 변환할 수 있게 하는 방식으로 로봇의 작업 공간에 상관된다.
일부 실시예들에서, 기준들(예를 들어, ArUco 마커들과 같은 시각적으로 검출가능한 마커들)은 엔드-이펙터의 포즈를 추적하기 더 쉽게 하기 위해 로봇의 엔드-이펙터 상에 통합된다. 다중-뷰 비전 시스템(1)을 이용하여 이러한 기준들을 추적하는 것은, 비전 시스템(1)을 로봇 작업공간에 쉽게 인터페이스하고, 포즈 추정기(100)에 의해 계산된 물체의 위치에 기초하여 로봇 팔의 엔드-이펙터를 엔드-이펙터에 의해 파지될 물체의 위치로 이동시키는 것에 수반되는 위치 에러를 감소시키는 것이 가능하다.
도 18은 로봇 팔의 정확도 및 반복성이 로봇의 포즈 및 위치 둘다의 함수인 것을 도시하는 개략도이다. 도 18에 도시된 바와 같이, 몇 번의 상이한 시도들에 걸쳐 자신의 엔드-이펙터를 원하는 위치로 이동시키려고 시도하는 로봇 팔은 실제로 자신의 엔드-이펙터를 상이한 획득된 위치들의 클러스터로 이동시킬 수 있다. 획득된 위치들의 중심과 원하는 위치 사이의 차이는 로봇 시스템의 정확도(또는 에러)에 대응하고, 더 작은 차이는 더 높은 정확도에 대응한다. 획득된 위치들 모두를 포함하는 원(또는 구 또는 공)의 반경 또는 크기는 움직임들의 반복성에 대응한다(예를 들어, 더 작은 반경은 더 높은 반복성에 대응한다).
따라서, 본 개시내용의 실시예들의 양태들은 본 개시내용의 일 실시예에 따른 다중-뷰 비전 시스템(1)을 이용하여, (예를 들어, 로봇 팔의 엔드-이펙터 및/또는 다른 관절들의 기준들 및/또는 3-D 모델에 기초한 포즈 추정을 통해) 로봇 팔의 엔드-이펙터 및/또는 다른 관절들을 추적하여, 엔드-이펙터의 초기 포즈 및 위치 둘다에 기초하여 로봇 팔의 엔드-이펙터를 원하는 위치로 이동시키는 것에 수반되는 위치 에러를 예측하는 것에 관한 것이다. 특히, 일부 실시예들에서, 본 개시내용의 실시예들에 따른 다중-뷰 비전 시스템(1)은 심층 학습 백엔드와 결합되어, 로봇 팔의 관절들 및 엔드-이펙터의 검출된 포즈에 기초하여 엔드-이펙터의 모든 이동에 대해 수반되는 에러를 예측한다. 이러한 예측들은 로봇 팔의 엔드-이펙터의 원하는 위치로의 이동의 정확도 및 반복성을 개선하기 위해 로봇 제어기에 실시간 피드백으로서 제공된다.
따라서, 본 개시내용의 실시예들의 양태들은 (예를 들어, 추가적인 광 투영기들이 없는) 완전 수동 다중-뷰 비전 시스템에 관한 것이고, 그렇지 않으면 수동 비전 시스템으로 가능하지 않을 높은 정확도의 6 자유도(6-DoF) 포즈 추정들을 달성하기 위해 다수의 뷰들에 걸쳐 공동 최적화를 수행하도록 심층 학습 기반 키포인트 검출기를 적용한다. 수동 비전 시스템은 추가적인 광 투영기 및 광 투영기의 연관된 교정에 대한 필요성이 없기 때문에 매우 경제적일 수 있고, 대신에, 심층 학습 및 공동 최적화를 이용하여 높은 성능 깊이 정확도를 여전히 달성하면서 장면에서의 검출된 물체들을 이용하여 기준들 및/또는 자동 교정을 이용하여 교정될 수 있다.
일부 실시예들에서, 메인 카메라(10) 및 하나의 지원 카메라가 서로 30cm 떨어져서 그리고 물체들(22) 위의 대략 1미터에 배치되고, 메인 카메라(10) 및 지원 카메라(30) 둘다가 30도 FoV 렌즈들(예를 들어, 도 1e의 배열에서 4개의 렌즈들의 세트) 및 5 메가픽셀 이미지 센서들을 갖는 2개의 카메라 모듈들을 갖는 경우, 포즈 추정 시스템은, 다양한 심하게 클러터링된 물체들 및 다양한 조명 조건들에 대한 500μm 포인트 클라우드 정확도와 함께, 깊이 방향에서의 (예를 들어, 메인 카메라(10) 및 지원 카메라의 광학 축들에 대략 평행한) 대략 200μm 포즈 검출 정확도 및 (예를 들어, 광학 축들에 수직인 방향들에서의) 100μm 이하의 포즈 검출 병진 정확도 및 1도 회전 정확도를 달성할 수 있다. 본 개시내용의 이러한 예시적인 실시예들은 메인 카메라(10) 및 지원 카메라들(30)에 의한 이미지 캡처의 시간으로부터 포즈 추정기(100)에 의한 물체들 및 포인트 클라우드들의 6DoF 포즈들의 출력 시간까지 측정되는 바와 같은 500밀리초(ms) 미만의 실험적으로 측정된 사이클 시간을 갖는다.
본 발명이 특정 예시적인 실시예들과 관련하여 설명되었지만, 본 발명은 개시된 실시예들로 제한되는 것이 아니라, 오히려, 첨부된 청구항들의 사상 및 범위, 및 그 등가물들 내에 포함되는 다양한 수정들 및 등가 배열들을 커버하도록 의도된다는 점이 이해되어야 한다.
Claims (30)
- 물체의 포즈를 추정하기 위한 방법으로서,
상기 물체에 대해 다수의 시점들로부터 캡처된 상기 물체의 복수의 이미지들을 수신하는 단계;
상기 복수의 이미지들 중 적어도 하나로부터 상기 물체의 초기 추정된 포즈를 계산하는 것에 기초하여 상기 물체의 현재 포즈를 초기화하는 단계;
상기 복수의 이미지들 각각으로부터 상기 물체와 연관된 복수의 2-D 키포인트들을 예측하는 단계; 및
상기 현재 포즈에 따라 배열되고 상기 시점들 각각에 투영된 바와 같은 상기 물체의 3-D 모델과 연관된 복수의 3-D 키포인트들과 상기 2-D 키포인트들 사이의 복수의 차이들에 기초하여 비용 함수를 최소화하는 업데이트된 포즈를 계산하는 단계
를 포함하는, 방법. - 제1항에 있어서,
상기 복수의 차이들 각각은 상기 시점들의 상이한 시점에 대응하고,
상기 차이들 각각은,
상기 시점에 대응하는 상기 복수의 이미지들 중의 이미지와 연관되는 상기 복수의 2-D 키포인트들; 및
상기 현재 포즈로 배열된 상기 3-D 모델의 상기 3-D 키포인트들을 상기 시점에 투영하는 것
사이의 차이에 기초하여 상기 시점들의 시점에 대해 계산되는, 방법. - 제2항에 있어서,
상기 비용 함수는 다음에 따라 상기 물체에서의 대칭들을 추가로 고려하고,
여기서, 은 상기 물체의 포즈이고, i는 N개의 3-D 키포인트들을 통해 반복하는 인덱스이고, j는 M개의 시점들을 통해 반복하는 인덱스이고, 는 j-번째 시점으로부터의 이미지에서의 i-번째 키포인트의 대응하는 키포인트 예측 에 대한 신뢰도이고, 는 j-번째 시점으로부터의 이미지를 캡처하는데 이용되는 상기 j-번째 카메라의 외부 파라미터들 및 내부 파라미터들이고, 는 i-번째 3-D 키포인트이고, S는 상기 물체의 상이한 대칭들 사이의 변환이고, 는 j-번째 뷰인, 방법. - 제1항에 있어서,
상기 복수의 2-D 키포인트들을 예측하는 단계는 심층 학습 키포인트 검출기를 이용하여 수행되는, 방법. - 제5항에 있어서,
상기 이미지들은 편광 정보를 포함하고,
상기 심층 학습 키포인트 검출기는 상기 이미지들의 상기 편광 정보에 기초하여 예측된 2-D 키포인트들을 계산하도록 구성되는, 방법. - 제6항에 있어서,
상기 심층 학습 키포인트 검출기는 합성된 편광 정보 및 합성된 키포인트 라벨들을 포함하는 합성된 훈련 데이터에 기초하여 훈련되는, 방법. - 제1항에 있어서,
상기 이미지들은 편광 정보를 포함하고,
상기 방법은 상기 3-D 모델을 상기 편광 정보와 정렬함으로써 상기 업데이트된 포즈를 정제하는 단계를 더 포함하는, 방법. - 제8항에 있어서,
상기 업데이트된 포즈를 정제하는 단계는,
상기 이미지들에서 상기 물체의 하나 이상의 에지들을 검출하여 하나 이상의 측정된 에지 이미지들을 생성하는 단계;
상기 현재 포즈로 배열된 상기 3-D 모델의 상기 하나 이상의 측정된 에지 렌더링된 에지 이미지들 사이의 대응들을 검출하는 단계; 및
상기 검출된 대응들에 기초하여 다중-뷰 관점-n-포인트를 이용하여 상기 업데이트된 포즈를 반복적으로 정제하는 단계
를 포함하는, 방법. - 제9항에 있어서,
상기 에지들은,
상기 편광 정보에 기초하여 표면 법선들을 계산하는 것; 및
상기 표면 법선들에서의 불연속들에서 상기 물체의 에지들을 검출하는 것
에 의해 검출되는, 방법. - 제9항에 있어서,
상기 에지들은,
상기 이미지들로부터 복수의 인스턴스 세그먼트화 맵들을 계산하는 것; 및
상기 인스턴스 세그먼트화 맵들에서 상기 물체의 인스턴스들의 경계들에서 상기 물체의 에지들을 검출하는 것
에 의해 검출되는, 방법. - 제8항에 있어서,
상기 업데이트된 포즈를 정제하는 단계는,
상기 편광 정보에 기초하여 상기 물체의 측정된 표면 법선들을 계산하는 단계;
상기 업데이트된 포즈에 기초하여 상기 물체의 상기 3-D 모델을 배치하는 단계; 및
상기 3-D 모델의 상기 표면 법선들을 상기 측정된 표면 법선들과 정렬하기 위해 상기 3-D 모델의 상기 포즈를 반복적으로 업데이트하는 단계
를 포함하는, 방법. - 이미지들을 처리하기 위한 컴퓨터-구현 방법으로서,
컴퓨팅 시스템에 의해, 제1 이미지 및 제2 이미지를 수신하는 단계;
상기 컴퓨팅 시스템에 의해, 신경망을 호출하고, 상기 제1 이미지에서의 물체의 제1 인스턴스 및 상기 제2 이미지에서의 상기 물체의 제2 인스턴스를 검출하는 단계;
상기 제1 이미지에서의 상기 물체의 상기 제1 인스턴스의 제1 영역, 및 상기 제2 이미지에서의 상기 물체의 상기 제2 인스턴스의 제2 영역을 결정하는 단계;
상기 제1 영역에서의 상기 물체의 상기 제1 인스턴스와 상기 제2 영역에서의 상기 물체의 상기 제2 인스턴스 사이의 대응을 결정하는 단계; 및
상기 대응의 결정에 기초하여 출력을 생성하는 단계
를 포함하는, 컴퓨터-구현 방법. - 제13항에 있어서,
상기 물체의 상기 제1 인스턴스의 상기 제1 영역을 결정하는 것에 기초하여 제1 세그먼트화 마스크를 생성하고, 상기 물체의 상기 제2 인스턴스의 상기 제2 영역을 결정하는 것에 기초하여 제2 세그먼트화 마스크를 생성하는 단계를 더 포함하는, 컴퓨터-구현 방법. - 제13항 또는 제14항에 있어서,
상기 제1 영역에서의 상기 물체의 상기 제1 인스턴스와 상기 제2 영역에서의 상기 물체의 상기 제2 인스턴스 사이의 대응을 결정하는 것에 응답하여, 제2 처리 작업을 상기 제1 영역 및 상기 제2 영역으로 제한하는 단계를 더 포함하는, 컴퓨터-구현 방법. - 제15항에 있어서,
상기 제2 처리 작업은 상기 제2 영역에서의 하나 이상의 픽셀들에 대한 상기 제1 영역에서의 하나 이상의 픽셀들의 대응을 결정하기 위한 것인, 컴퓨터-구현 방법. - 제15항에 있어서,
상기 제2 처리 작업들은 상기 제2 영역에서의 하나 이상의 키포인트들에 대한 상기 제1 영역에서의 하나 이상의 키포인트들의 대응을 결정하기 위한 것인, 컴퓨터-구현 방법. - 제13항 내지 제17항 중 어느 한 항에 있어서,
상기 출력은 상기 제1 이미지와 상기 제2 이미지 사이의 격차의 측정치인, 컴퓨터-구현 방법. - 제13항 내지 제17항 중 어느 한 항에 있어서,
상기 출력은 상기 물체의 상기 제1 인스턴스와 상기 물체의 상기 제2 인스턴스 사이의 3차원 상대 포즈인, 컴퓨터-구현 방법. - 제13항에 있어서,
상기 제1 이미지는 제1 편광 이미지이고, 상기 제1 이미지는 편광 카메라에 의해 캡처되는, 컴퓨터-구현 방법. - 제13항에 있어서,
상기 제1 이미지는 상기 물체의 제1 시점을 제공하고, 상기 제2 이미지는 상기 제1 시점과 상이한 상기 물체의 제2 시점을 제공하는, 컴퓨터-구현 방법. - 제13항에 있어서,
상기 제1 영역에서의 상기 물체의 상기 제1 인스턴스와 상기 제2 영역에서의 상기 물체의 상기 제2 인스턴스 사이의 대응들을 결정하는 단계는,
상기 물체의 상기 제1 인스턴스와 연관된 에피폴라 라인을 식별하는 단계; 및
상기 에피폴라 라인을 따른 상기 제2 이미지의 검색을 제약하는 단계
를 포함하는, 컴퓨터-구현 방법. - 장면에서의 하나 이상의 물체들의 포즈 추정치들을 계산하기 위한 방법으로서,
복수의 시점들로부터 장면에서의 하나 이상의 물체들의 복수의 이미지들을 캡처하는 단계;
상기 이미지들에 대해 인스턴스 세그먼트화를 수행하여 상기 장면에서의 하나 이상의 검출된 물체들의 복수의 인스턴스 세그먼트화 맵들을 계산하는 단계;
상기 인스턴스 세그먼트화 맵들 사이에서 인스턴스 세그먼트화들을 매칭함으로써 상기 하나 이상의 물체들의 하나 이상의 추정된 깊이들을 계산하는 단계; 및
상기 복수의 시점들에 걸친 상기 복수의 이미지들에 기초하여 상기 하나 이상의 검출된 물체들 각각에 대한 복수의 키포인트들의 다중-뷰 공동 최적화에 따라 상기 하나 이상의 물체들의 상기 포즈들을 추정하는 단계
를 포함하는, 방법. - 제23항에 있어서,
상기 인스턴스 세그먼트화는 제13항 내지 제22항 중 어느 한 항의 방법을 이용하여 수행되는, 방법. - 제23항에 있어서,
상기 포즈들을 추정하는 단계는, 상기 장면에서의 상기 하나 이상의 검출된 물체들 각각에 대해, 상기 검출된 물체들 중 동일한 물체에 대응하는 상기 이미지들의 영역들을 제1항 내지 제12항 중 어느 한 항의 방법에 제공하는 단계를 포함하는, 방법. - 시스템으로서,
메인 카메라;
상기 메인 카메라로부터 이격된 하나 이상의 지원 카메라들 ― 상기 메인 카메라 및 상기 하나 이상의 지원 카메라들은 중첩 시야들을 가짐 ―; 및
프로세서 및 메모리를 포함하는 포즈 추정기 ― 상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 상기 메인 카메라, 상기 하나 이상의 지원 카메라들을 제어하게 하고, 제1항 내지 제25항 중 어느 한 항의 방법들을 수행하게 하는 명령어들을 저장함 ―
를 포함하는, 시스템. - 제26항에 있어서,
상기 메인 카메라 및 상기 하나 이상의 지원 카메라들은 수동 카메라 시스템을 형성하는, 시스템. - 제26항에 있어서,
상기 메인 카메라 및 상기 지원 카메라들의 상기 중첩 시야들 내의 영역에 구조화된 광을 투영하도록 구성된 능동 투영기를 더 포함하는, 시스템. - 제26항에 따른 카메라 시스템을 자동으로 교정하기 위한 방법으로서,
상기 메인 카메라 및 상기 하나 이상의 지원 카메라들의 상기 중첩 시야들에서 물체의 복수의 이미지들을 수신하는 단계 ― 상기 이미지들은 상기 물체에 대해 다수의 시점들로부터 캡처됨 ―;
상기 복수의 이미지들 중 적어도 하나로부터 상기 물체의 초기 추정된 포즈를 계산하는 것에 기초하여 상기 물체의 현재 포즈를 초기화하는 단계;
상기 복수의 이미지들 각각으로부터 상기 물체와 연관된 복수의 2-D 키포인트들을 예측하는 단계; 및
상기 현재 포즈에 따라 배열되고 상기 시점들 각각에 투영된 바와 같은 상기 물체의 3-D 모델과 연관된 복수의 3-D 키포인트들과 상기 2-D 키포인트들 사이의 복수의 차이들에 기초하여 비용 함수를 최소화하는 상기 메인 카메라 및 상기 하나 이상의 지원 카메라의 업데이트된 시점들 및 상기 물체의 업데이트된 포즈를 계산하는 단계
를 포함하는, 방법.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062967487P | 2020-01-29 | 2020-01-29 | |
US62/967,487 | 2020-01-29 | ||
US202062968038P | 2020-01-30 | 2020-01-30 | |
US62/968,038 | 2020-01-30 | ||
US202063001445P | 2020-03-29 | 2020-03-29 | |
US63/001,445 | 2020-03-29 | ||
PCT/US2021/015926 WO2021155308A1 (en) | 2020-01-29 | 2021-01-29 | Systems and methods for pose detection and measurement |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220132617A true KR20220132617A (ko) | 2022-09-30 |
Family
ID=77079665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227029641A KR20220132617A (ko) | 2020-01-29 | 2021-01-29 | 포즈 검출 및 측정을 위한 시스템들 및 방법들 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11295475B2 (ko) |
EP (1) | EP4081938A4 (ko) |
JP (1) | JP2023512058A (ko) |
KR (1) | KR20220132617A (ko) |
CN (1) | CN115362477A (ko) |
WO (1) | WO2021155308A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024090942A1 (ko) * | 2022-10-24 | 2024-05-02 | 삼성전자 주식회사 | 다수의 카메라들에 의해 촬영된 객체를 나타내는 영상을 증강하여 신경망 모델을 학습시키는 방법 및 전자 장치 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11022495B1 (en) | 2020-03-06 | 2021-06-01 | Butlr Technologies, Inc. | Monitoring human location, trajectory and behavior using thermal data |
US12050133B2 (en) | 2020-03-06 | 2024-07-30 | Butlr Technologies, Inc. | Pose detection using thermal data |
US12067738B2 (en) | 2020-09-11 | 2024-08-20 | Waymo Llc | Estimating ground truth object keypoint labels for sensor readings |
CN112528786B (zh) * | 2020-11-30 | 2023-10-31 | 北京百度网讯科技有限公司 | 车辆跟踪方法、装置及电子设备 |
US20210299866A1 (en) * | 2020-12-23 | 2021-09-30 | Intel Corporation | Robotic manipulation planning based on probalistic elastoplastic deformation material point method |
WO2022133883A1 (en) * | 2020-12-24 | 2022-06-30 | Nvidia Corporation | Generation of moving three dimensional models using motion transfer |
US11823415B2 (en) * | 2021-03-03 | 2023-11-21 | Nvidia Corporation | 3D pose estimation in robotics |
US20220392188A1 (en) * | 2021-04-27 | 2022-12-08 | ARETé ASSOCIATES | Systems and methods for estimating visibility in a scene |
US12067746B2 (en) | 2021-05-07 | 2024-08-20 | Intrinsic Innovation Llc | Systems and methods for using computer vision to pick up small objects |
US20220405506A1 (en) * | 2021-06-22 | 2022-12-22 | Intrinsic Innovation Llc | Systems and methods for a vision guided end effector |
US12008787B2 (en) * | 2021-07-20 | 2024-06-11 | Ford Global Technologies, Llc | Object pose estimation |
US11986955B2 (en) | 2021-09-09 | 2024-05-21 | Intrinsic Innovation Llc | In-hand pose refinement for pick and place automation |
KR20230046138A (ko) * | 2021-09-29 | 2023-04-05 | 현대자동차주식회사 | 전기차 충전 소켓 자세 추정 방법 및 이를 이용하는 자율 충전 로봇 |
CN113689503B (zh) * | 2021-10-25 | 2022-02-25 | 北京市商汤科技开发有限公司 | 目标对象的姿态检测方法、装置、设备及存储介质 |
EP4191526A1 (en) * | 2021-12-02 | 2023-06-07 | Samsung Electronics Co., Ltd. | Apparatus and method with object posture estimating |
CN114445617B (zh) * | 2021-12-27 | 2024-05-31 | 宁波韵升智能技术有限公司 | 一种基于深度学习的工件目标识别方法 |
CN114332377A (zh) * | 2021-12-31 | 2022-04-12 | 科大讯飞股份有限公司 | 一种对象模型的确定方法和相关装置 |
CN114727017A (zh) * | 2022-03-30 | 2022-07-08 | 努比亚技术有限公司 | 一种证件照拍摄方法、设备及计算机可读存储介质 |
AU2023241553A1 (en) * | 2022-03-30 | 2024-10-17 | Butlr Technologies, Inc. | Pose detection using thermal data |
US20230419539A1 (en) * | 2022-05-17 | 2023-12-28 | Ford Global Technologies, Llc | Vehicle pose management |
CN117152240A (zh) * | 2022-05-19 | 2023-12-01 | 鸿富锦精密电子(烟台)有限公司 | 基于单目相机的物体检测方法、装置、设备及存储介质 |
CN117218621A (zh) * | 2022-05-31 | 2023-12-12 | 鸿海精密工业股份有限公司 | 三维目标检测方法、电子设备及存储介质 |
US20240037916A1 (en) * | 2022-07-26 | 2024-02-01 | Caterpillar Inc. | Systems and methods for creating used part machine learning training images |
EP4372687A1 (en) * | 2022-11-18 | 2024-05-22 | Toyota Jidosha Kabushiki Kaisha | Training method for object pose estimation |
WO2024110048A1 (en) * | 2022-11-25 | 2024-05-30 | Huawei Technologies Co., Ltd. | Device and method for scene graph generation |
NL2034466B1 (en) * | 2023-03-29 | 2024-10-08 | Rocsys B V | Method and system for calibrating an autonomous charging device (acd) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536030B2 (en) * | 2005-11-30 | 2009-05-19 | Microsoft Corporation | Real-time Bayesian 3D pose tracking |
US8837839B1 (en) | 2010-11-03 | 2014-09-16 | Hrl Laboratories, Llc | Method for recognition and pose estimation of multiple occurrences of multiple objects in visual images |
US8467596B2 (en) * | 2011-08-30 | 2013-06-18 | Seiko Epson Corporation | Method and apparatus for object pose estimation |
EP3766962A1 (en) | 2013-02-06 | 2021-01-20 | University of Rochester | Induced pluripotent cell-derived oligodendrocyte progenitor cells for the treatment of myelin disorders |
US9747717B2 (en) | 2015-05-13 | 2017-08-29 | Intel Corporation | Iterative closest point technique based on a solution of inverse kinematics problem |
JP2017182274A (ja) * | 2016-03-29 | 2017-10-05 | セイコーエプソン株式会社 | 情報処理装置およびコンピュータープログラム |
CA3018604C (en) * | 2016-04-12 | 2023-11-07 | Quidient, Llc | Quotidian scene reconstruction engine |
US10748326B2 (en) * | 2016-08-19 | 2020-08-18 | Movidius Ltd. | Rendering operations using sparse volumetric data |
JP2018055589A (ja) * | 2016-09-30 | 2018-04-05 | セイコーエプソン株式会社 | プログラム、物体の追跡方法、表示装置 |
-
2021
- 2021-01-29 EP EP21747195.2A patent/EP4081938A4/en active Pending
- 2021-01-29 US US17/420,992 patent/US11295475B2/en active Active
- 2021-01-29 JP JP2022546126A patent/JP2023512058A/ja active Pending
- 2021-01-29 WO PCT/US2021/015926 patent/WO2021155308A1/en unknown
- 2021-01-29 KR KR1020227029641A patent/KR20220132617A/ko unknown
- 2021-01-29 CN CN202180023531.0A patent/CN115362477A/zh active Pending
-
2022
- 2022-01-28 US US17/588,098 patent/US12008796B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024090942A1 (ko) * | 2022-10-24 | 2024-05-02 | 삼성전자 주식회사 | 다수의 카메라들에 의해 촬영된 객체를 나타내는 영상을 증강하여 신경망 모델을 학습시키는 방법 및 전자 장치 |
Also Published As
Publication number | Publication date |
---|---|
US11295475B2 (en) | 2022-04-05 |
US20220044441A1 (en) | 2022-02-10 |
WO2021155308A1 (en) | 2021-08-05 |
US12008796B2 (en) | 2024-06-11 |
EP4081938A1 (en) | 2022-11-02 |
CN115362477A (zh) | 2022-11-18 |
EP4081938A4 (en) | 2024-03-20 |
JP2023512058A (ja) | 2023-03-23 |
US20220156975A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12008796B2 (en) | Systems and methods for pose detection and measurement | |
Ichnowski et al. | Dex-NeRF: Using a neural radiance field to grasp transparent objects | |
US11954886B2 (en) | Systems and methods for six-degree of freedom pose estimation of deformable objects | |
Sajjan et al. | Clear grasp: 3d shape estimation of transparent objects for manipulation | |
US20220405506A1 (en) | Systems and methods for a vision guided end effector | |
CN109344882B (zh) | 基于卷积神经网络的机器人控制目标位姿识别方法 | |
US12067746B2 (en) | Systems and methods for using computer vision to pick up small objects | |
Lysenkov et al. | Recognition and pose estimation of rigid transparent objects with a kinect sensor | |
JP7542070B2 (ja) | 偏光画像を含む異なる撮像モダリティで統計モデルを訓練するためのデータを合成するためのシステムおよび方法 | |
US20220410381A1 (en) | Systems and methods for picking objects using 3-d geometry and segmentation | |
KR20230004423A (ko) | 편광을 사용한 표면 법선 감지 시스템 및 방법 | |
JP5484133B2 (ja) | 鏡面反射物体の3d姿勢を推定する方法 | |
US11986955B2 (en) | In-hand pose refinement for pick and place automation | |
JP2021163503A (ja) | 2次元カメラによる3次元の姿勢推定 | |
WO2022272166A1 (en) | Systems and methods for generating and using visual datasets for training computer vision models | |
US20230368414A1 (en) | Pick and place systems and methods | |
CN113496524A (zh) | 通过深度学习和矢量场估计的特征检测 | |
Li et al. | End-to-end pixelwise surface normal estimation with convolutional neural networks and shape reconstruction using GelSight sensor | |
WO2022015802A1 (en) | Method and system for generating training data | |
JP2021163502A (ja) | 複数の2次元カメラによる3次元の姿勢推定 | |
US20230041560A1 (en) | Systems and methods for training pose estimators in computer vision | |
Kalra et al. | Towards Co-Evaluation of Cameras HDR and Algorithms for Industrial-Grade 6DoF Pose Estimation | |
Peng et al. | Vision-Based Manipulator Grasping | |
Avigal | Dex-NeRF: Using a Neural Radiance Field to Grasp Transparent Objects | |
Borsu | Pose and motion estimation of parts exhibiting few visual features for robotic marking of deformations |