KR20180117138A - 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법 - Google Patents

텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20180117138A
KR20180117138A KR1020187027352A KR20187027352A KR20180117138A KR 20180117138 A KR20180117138 A KR 20180117138A KR 1020187027352 A KR1020187027352 A KR 1020187027352A KR 20187027352 A KR20187027352 A KR 20187027352A KR 20180117138 A KR20180117138 A KR 20180117138A
Authority
KR
South Korea
Prior art keywords
texture
pose
patches
processing device
single image
Prior art date
Application number
KR1020187027352A
Other languages
English (en)
Other versions
KR102009851B1 (ko
Inventor
제 카오
나타샤 바네르지
야세르 셰이크
Original Assignee
카네기 멜론 유니버시티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 카네기 멜론 유니버시티 filed Critical 카네기 멜론 유니버시티
Publication of KR20180117138A publication Critical patent/KR20180117138A/ko
Application granted granted Critical
Publication of KR102009851B1 publication Critical patent/KR102009851B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Abstract

텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법이 개시된다. 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 방법은, 프로세싱 디바이스에 의해, 상기 텍스쳐가 없는 오브젝트의 단일의 이미지를 획득하는 것을 포함한다. 텍스쳐가 없는 오브젝트의 포즈는 단일의 이미지로부터 추론될 수 있다. 방법은, 프로세싱 디바이스에 의해, 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하는 것, 프로세싱 디바이스에 의해, 단일의 이미지를 다중 레벨 조명 불변 트리 구조를 통해 삼차원 모델의 별개로 구분된 렌더링과 매치시켜 별개로 구분된 렌더링과의 단일의 이미지의 정렬을 획득하는 것, 및 프로세싱 디바이스에 의해, 정렬에 기초하여 텍스쳐가 없는 오브젝트의 포즈를 추정하는 것을 더 포함한다.

Description

텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법
관련 출원에 대한 교차 참조
본 출원은 2016년 2월 26일자로 출원된 발명의 명칭이 "SYSTEMS AND METHODS FOR ESTIMATING POSE OF TEXTURELESS OBJECTS"인 미국 특허 정식 출원 제15/054,773호의 이점을 청구하는데, 이 출원의 전체는 참조에 의해 본원에 통합된다.
기술 분야
본 명세서는 일반적으로 포즈 추정에 관한 것으로, 더 구체적으로는, 텍스쳐가 없는 오브젝트(textureless object)의 위치(location) 및 배치(positioning)를 추정하기 위해 로봇 파지 디바이스에 의해 사용되는 시스템 및 방법에 관한 것이다.
인공 지능을 사용하여 오브젝트의 위치 및 배치를 결정하기 위한 이전의 시도는, 블록, 일반화된 실린더 및 변형 가능한 수퍼쿼드러틱(superquadratic)과 같은 로우 레벨 프리미티브(primitive)의 관점에서 파라미터화되는 3D 모델을 이미지로 정렬시키는 것을 포함하였다. 하나의 이러한 시도는 정점과 면의 3D 메쉬로서 표현되는 3D 모델을 이미지로 정렬하는 것을 포함하였다. 이 시도는, 타겟 오브젝트가 로우 레벨 프리미티브로 구성되고, 그 이미지가 강한 그래디언트를 가지며, 및/또는 기본 3D 형상이 공지의 3D 모델과 정확하게 매치하도록 타겟 오브젝트가 "깨끗한" 경우로 제한되었다. 이 문제에 대한 해결책은, 로우 레벨 피쳐에 불변성을 제공하는 것에 의해 이미지 사이의 유사도를 개선하기 위해, 그래디언트의 히스토그램과 같은 표현을 개발하 는 것에 초점을 맞춘 접근법으로 나타나게 되었다. 그러나 로우 레벨 피쳐에 대한 불변성은 정확한 정렬을 방해하였다.
따라서, 오브젝트의 단일의 이미지에서 오브젝트에 대한 3D 모델의 정확한 정렬을 수행하는 완전 자동화된 접근법에 대한 필요성이 존재한다.
하나의 실시형태에서, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템은 프로세싱 디바이스 및 비일시적 프로세서 판독 가능 저장 매체를 포함한다. 비일시적 프로세서 판독 가능 저장 매체는, 실행시 프로세싱 디바이스로 하여금 텍스쳐가 없는 오브젝트의 단일의 이미지를 획득하게 하는 하나 이상의 프로그래밍 명령어를 포함한다. 텍스쳐가 없는 오브젝트의 포즈는 단일의 이미지로부터 추론될 수 있다. 비일시적 프로세서 판독 가능 저장 매체는, 실행시, 프로세싱 디바이스로 하여금, 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하게 하고, 삼차원 모델의 복수의 별개로 구분된 렌더링의 각각으로부터 복수의 패치 - 복수의 패치는 복수의 하이 레벨 패치 및 복수의 로우 레벨 패치를 포함함 - 를 추출하게 하고, 복수의 하이 레벨 패치의 각각을 복수의 로우 레벨 패치의 적어도 하나로 연결하여 다중 레벨 조명 불변 트리 구조를 구성하게 하고, 단일의 이미지를 다중 레벨 조명 불변 트리 구조를 통해 삼차원 모델의 별개로 구분된 렌더링과 매치시켜 별개로 구분된 렌더링과의 단일의 이미지의 정렬을 획득하게 하고, 정렬에 기초하여 텍스쳐가 없는 오브젝트의 포즈를 출력하게 하는 하나 이상의 프로그래밍 명령어를 더 포함한다.
다른 실시형태에서, 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 방법은, 프로세싱 디바이스에 의해, 텍스쳐가 없는 오브젝트의 단일의 이미지를 획득하는 것을 포함한다. 텍스쳐가 없는 오브젝트의 포즈는 단일의 이미지로부터 추론될 수 있다. 방법은, 프로세싱 디바이스에 의해, 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하는 것, 프로세싱 디바이스에 의해, 단일의 이미지를 다중 레벨 조명 불변 트리 구조를 통해 삼차원 모델의 별개로 구분된 렌더링과 매치시켜 별개로 구분된 렌더링과의 단일의 이미지의 정렬을 획득하는 것, 및 프로세싱 디바이스에 의해, 정렬에 기초하여 텍스쳐가 없는 오브젝트의 포즈를 추정하는 것을 더 포함한다.
또 다른 실시형태에서, 텍스쳐가 없는 오브젝트의 포즈에 기초하여 로봇 디바이스에게 지시하기 위한 시스템은, 프로세싱 디바이스, 프로세싱 디바이스에 통신 가능하게 커플링되는 하나 이상의 이미징 디바이스, 프로세싱 디바이스에 통신 가능하게 커플링되는 로봇 디바이스, 텍스쳐가 없는 오브젝트를 지지하는 픽킹 표면(picking surface), 및 비일시적 프로세서 판독 가능 저장 매체를 포함한다. 비일시적 프로세서 판독 가능 저장 매체는, 실행시, 프로세싱 디바이스로 하여금, 하나 이상의 이미징 디바이스 중 적어도 하나로부터 텍스쳐가 없는 오브젝트의 단일의 이미지를 획득하게 하는 하나 이상의 프로그래밍 명령어를 포함한다. 텍스쳐가 없는 오브젝트의 포즈는 단일의 이미지로부터 추론될 수 있다. 비일시적 프로세서 판독 가능 저장 매체는, 실행시, 프로세싱 디바이스로 하여금, 하나 이상의 이미징 디바이스에 의해 생성되는 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하게 하고, 단일의 이미지를 다중 레벨 조명 불변 트리 구조를 통해 삼차원 모델의 별개로 구분된 렌더링과 매치하여 별개로 구분된 렌더링과의 단일의 이미지의 정렬을 획득하게 하고, 정렬에 기초하여 텍스쳐가 없는 오브젝트의 포즈를 추정하게 하고, 추정된 포즈에 기초하여 이동하여 텍스쳐가 없는 오브젝트를 파지하도록 로봇 디바이스에게 지시하게 하는 하나 이상의 프로그래밍 명령어를 더 포함한다.
본원에서 설명되는 실시형태에 의해 제공되는 이들 및 추가적인 피쳐는, 도면과 연계하는 하기의 상세한 설명의 관점에서 더욱 완전히 이해될 것이다.
도면에서 개시되는 실시형태는 본질적으로 예시적이고 예증적인 것이며, 청구범위에 의해 정의되는 주제를 제한하도록 의도되지는 않는다. 예시적인 실시형태의 다음의 상세한 설명은, 동일한 구조체가 동일한 도면 부호로 나타내어지는 다음의 도면과 연계하여 판독될 때 이해될 수 있는데, 도면에서:
도 1은 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템에 대한 예시적인 컴퓨팅 네트워크를 개략적으로 묘사한다;
도 2a는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위해 사용되는 컴퓨팅 디바이스의 예시적인 하드웨어의 블록도를 개략적으로 묘사한다;
도 2b는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위해 사용되는 컴퓨팅 디바이스의 메모리 내에 포함되는 소프트웨어 모듈의 블록도를 개략적으로 묘사한다;
도 2c는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위해 사용되는 컴퓨팅 디바이스의 데이터 저장 컴포넌트 내에 포함되는 다양한 데이터의 블록도를 개략적으로 묘사한다;
도 3a는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 텍스쳐가 없는 오브젝트를 포함하는 예시적인 픽킹 표면을 개략적으로 묘사한다;
도 3b는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 텍스쳐가 없는 오브젝트를 포함하는 다른 예시적인 픽킹 표면을 개략적으로 묘사한다;
도 4는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 이미징 디바이스에 의해 획득되는 텍스쳐가 없는 오브젝트의 복수의 뷰포인트 및 스케일을 개략적으로 묘사한다;
도 5a는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 테스팅 단계 및 트레이닝 단계를 완료하는 예시적인 방법의 하이 레벨 흐름도를 묘사한다;
도 5b는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 추정 단계를 완료하는 예시적인 방법의 흐름도를 묘사한다;
도 6은 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 트레이닝 단계를 완료하는 예시적인 방법의 흐름도를 묘사한다;
도 7은 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 테스팅 단계를 완료하는 예시적인 방법의 흐름도를 묘사한다;
도 8a는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 다양한 표준 편차에서의 캡쳐된 이미지의 예시적인 다중 레벨 가우시안의 라플라시안(Laplacian of Gaussian; LoG) 표현을 묘사한다;
도 8b는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 다양한 포인트 위치에 중심을 두는 가우시안의 라플라시안(LoG) 표현으로부터의 다양한 사이즈의 예시적인 복수의 추출된 패치를 묘사한다;
도 8c는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 이미지의 예시적인 병렬 다중 레벨 가우시안의 라플라시안(LoG) 표현을 묘사한다;
도 9는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 복수의 예시적인 맵을 묘사한다;
도 10은 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 조밀 이행 정렬(coarse-to-fine alignment)을 제공하는 예시적인 방법의 흐름도를 묘사한다;
도 11은 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 오브젝트의 이미지에 대한 3D 모델의 복수의 예시적인 정렬을 묘사한다;
도 12는 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 방위각(azimuth), 고각(elevation) 및 평면내 회전과 대비한 오브젝트당 회전 및 병진(translation)에서의 예시적인 평균 제곱 오차(mean squared error; MSE)의 히스토그램을 묘사한다; 그리고
도 13은 본원에서 도시되고 설명되는 하나 이상의 실시형태에 따른 최상의 매칭 렌더링으로부터의 방위각에서의 편차와 대비한 예시적인 평균 제곱 회전 및 병진 오차의 히스토그램을 묘사한다.
본원에서 설명되는 실시형태는 일반적으로 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법에 관한 것이다. 로봇 픽킹 디바이스 또는 등등과 같은 로봇 디바이스가, 오브젝트를 떨어뜨리거나, 오브젝트를 잘못 다루거나, 및/또는 오브젝트를 손상시키지 않으면서, 오브젝트를 정확하게 파지하고 조작할 수 있도록, 오브젝트의 포즈의 추정이 필요하다.
본원에서 사용될 때, "텍스쳐가 없는 오브젝트"는, 오브젝트의 포즈를 결정하기 위해 포즈 추정 시스템에 의해 전통적으로 사용된 표면 피쳐가 실질적으로 전혀 없는 임의의 오브젝트를 지칭한다. 예를 들면, 텍스쳐가 없는 오브젝트는, 매끄러운 표면, 둥근 표면, 임의의 구별되는 마킹을 포함하지 않는 표면, 및/또는 등등을 구비하는 오브젝트를 포함할 수도 있다. 따라서, 현존하는 포즈 추정 시스템 및 방법은, 텍스쳐가 없는 오브젝트가 추정에 필요한 소정의 기준 지점이 없기 때문에, 텍스쳐가 없는 오브젝트의 배치를 결정할 수 없다. 몇몇 실시형태에서, 텍스쳐가 없는 오브젝트는, 로봇 디바이스에 의해 선택되고, 로봇 디바이스에 의해 파지되며, 및/또는 로봇 디바이스에 의해 조작 및 이동되는 오브젝트일 수도 있다. 예시적인 텍스쳐가 없는 오브젝트는, 텍스쳐가 없는 자동차 부품 및/또는 등등을 포함할 수도 있지만, 그러나 이들로 제한되지는 않는다.
본원에서 설명되는 바와 같은 포즈를 추정하기 위한 접근법은, 3D 모델 주위의 포즈의 공간을 조밀하게 샘플링하는 것에 의해, 텍스쳐가 없는 오브젝트의 3D 모델을 오브젝트의 단일의 이미지에 정렬하는 것을 포함한다. 포즈의 공간은 3D 모델을 복수의 뷰포인트 및 스케일로부터 렌더링하는 것에 의해 채워진다. 조명에 대한 불변성을 유지하면서 별개로 구분된 렌더링을 정확하게 매치시키기 위해, 다중 레벨 조명 불변 트리 구조가 제시된다. 다중 레벨 조명 불변 트리 구조는, 동적 프로그래밍을 활용하여, 이미지의 다양한 레벨의 해상도에서 몇몇의 패치의 위치를 동시에 추정하는 것을 허용한다. 패치의 동시적 위치 측정(localization)은, 하이 레벨 패치의 차별성(distinctiveness) 및 로우 레벨 패치의 정밀도를 활용하여, 가장 매치하는 뷰포인트를 획득하는 것 및 이미지에 대한 3D 모델의 정확한 정렬을 획득하는 것을 허용한다.
본원에서 개시되는 시스템 및 방법은, 다수의 RGB-D 오브젝트 포즈 추정의 검출 기반 접근법의 속도 및 확장성을 증가시킬 수 있다. 예를 들면, 본원에서 개시되는 몇몇 실시형태에서, 시스템 및 방법은 초당 23 프레임의 320×240 이미지에서 15개의 오브젝트에 대한 포즈를 추정할 수도 있는데, 이 경우, 각각의 오브젝트는 600 개의 뷰포인트 및 12 개의 스케일을 가지고 샘플링되는 템플릿을 갖는다. 본원에서 설명되는 시스템 및 방법은 준선형 런타임 증가(linear runtime increase)를 가지고 오브젝트의 수를 증가시킬 수 있다.
본원에서 사용될 때, "포즈"는, 일반적으로, 이미징 디바이스가 보았을 때 텍스쳐가 없는 오브젝트가 이미징 디바이스에게 보이는 방식을 가리키는데, 이미징 디바이스에 의해 획득되는 이미지로부터의 포즈 정보로서 추출 가능한 텍스쳐가 없는 오브젝트의 배치 위치(positional location)를 나타내는 정보를 포함한다. 즉, 포즈는, 예를 들면, 오브젝트를 지지하는 표면, 로봇 디바이스, 텍스쳐가 없는 오브젝트에 인접하는 다른 텍스쳐가 없는 오브젝트, 다양한 이미징 디바이스, 표면의 경계, 및/또는 등등과 같은 다른 오브젝트에 대한 텍스쳐가 없는 오브젝트의 위치 및 배치를 나타낼 수도 있다.
본원에서 사용될 때, "패치"는 특정한 기하학적 구조의 단일의 섹션 또는 최소 표면 엘리먼트를 지칭한다. 따라서, 특정한 기하학적 구조는 하나 이상의 패치에 대응할 수도 있다. 3D 메쉬가 삼각형으로 구성되면, 패치는 따라서 작은 삼각형의 지리적 영역에 대응할 수도 있다. 각각의 개별 삼각형 또는 패치에 대해, 기하학적 구조의 조각에 대한 반사가 결정될 수도 있다. 몇몇 실시형태에서, 패치는 삼각형의 집합 또는 3D 메시의 다각형을 지칭할 수도 있다. 또한, 메시의 삼각형은, 최장 에지 이분법(longest-edge bisection) 및 에지 붕괴 연산(edge collapse operation)을 반복하는 것에 의해, 적절한 사이즈의 일반적으로 균일한 형상의 삼각형 패치의 세트로 재구성될 수도 있다.
이제 도면을 참조하면, 도 1은, 본원에서 도시되고 설명되는 실시형태에 따른, 텍스쳐가 없는 오브젝트의 포즈를 추정하는 시스템에 대한 컴포넌트를 묘사하는 예시적인 컴퓨팅 네트워크를 묘사한다. 도 1에서 예시되는 바와 같이, 컴퓨터 네트워크(100)는, 인터넷, 근거리 통신망(local area network; LAN), 이동 통신 네트워크, 공중 서비스 전화망(public service telephone network; PSTN), 개인 영역 네트워크(personal area network; PAN), 도시권 통신망(Metropolitan Area Network; MAN), 가상 사설망(virtual private network; VPN), 및/또는 다른 네트워크와 같은 광역 통신망(wide area network; WAN)을 포함할 수도 있다. 컴퓨터 네트워크(100)는, 일반적으로, 하나 이상의 컴퓨팅 디바이스 및/또는 그 컴포넌트, 하나 이상의 이미징 디바이스, 및/또는 하나 이상의 로봇 디바이스를 전기적으로 연결하도록 구성될 수도 있다. 예시적인 컴퓨팅 디바이스는 유저 컴퓨팅 디바이스(200) 및 서버 컴퓨팅 디바이스(150)를 포함할 수도 있지만, 그러나 이들로 제한되는 것은 아니다. 예시적인 이미징 디바이스는, 본원에서 더 상세히 설명되는 바와 같이, 텍스쳐가 없는 오브젝트의 하나 이상의 이미지를 캡쳐하도록 구성되는 이미징 디바이스(305)를 포함할 수도 있지만, 그러나 이것으로 제한되는 것은 아니다. 예시적인 로봇 디바이스는, 본원에서 더 상세히 설명되는 바와 같이, 로봇 디바이스(300)가 텍스쳐가 없는 오브젝트를 효과적으로 파지, 조작, 및/또는 이동시키는 것을 허용하는 포지션으로 이동하도록 구성되는 로봇 디바이스(300), 예컨대 로봇 픽킹 디바이스 또는 등등을 포함할 수도 있지만, 그러나 이들로 제한되는 것은 아니다. 본원에서 추가로 설명되는 바와 같이, 로봇 디바이스(300) 및 이미징 디바이스(305)는 별개의 디바이스일 수도 있거나 또는 단일의 디바이스로 통합될 수도 있다.
유저 컴퓨팅 디바이스(200)는 일반적으로 유저와 컴퓨터 네트워크(100)에 연결되는 다른 컴포넌트 사이의 인터페이스로서 사용될 수도 있다. 따라서, 유저 컴퓨팅 디바이스(200)는, 유저로부터 하나 이상의 입력을 수신하는 것 또는 유저에게 정보를 제공하는 것과 같은 하나 이상의 유저 대향 기능(user-facing function)을 수행하기 위해 사용될 수도 있다. 추가적으로, 서버 컴퓨팅 디바이스(150)가 감독, 업데이트, 또는 수정을 필요로 하는 경우, 유저 컴퓨팅 디바이스(200)는 소망되는 감독, 업데이트, 및/또는 수정을 제공하도록 구성될 수도 있다. 유저 컴퓨팅 디바이스(200)는 또한 서버 컴퓨터 디바이스(150)의 데이터 저장 부분에 추가 데이터를 입력하기 위해 사용될 수도 있다.
서버 컴퓨팅 디바이스(150)는 하나 이상의 소스(예를 들면, 이미징 디바이스(305) 및/또는 하나 이상의 데이터베이스)로부터 전자 데이터 및/또는 등등을 수신할 수도 있고, 수신된 전자 데이터에 기초하여 하나 이상의 텍스쳐가 없는 오브젝트의 포즈를 결정할 수도 있고, 및/또는 컴퓨터 네트워크(100)에 연결되는 다양한 컴포넌트에게 이동할 것을 지시할 수도 있다. 예를 들면, 서버 컴퓨팅 디바이스(150)는, 본원에서 더욱 상세히 설명되는 바와 같이, 텍스쳐가 없는 오브젝트에 대해 이동할 것을 이미징 디바이스(305)에게 지시할 수도 있고, 텍스쳐가 없는 오브젝트를 줌인 또는 줌 아웃할 것을 이미징 디바이스(305)에게 지시할 수도 있고, 텍스쳐가 없는 오브젝트에 대해 이동하여 텍스쳐가 없는 오브젝트를 파지할 것을 로봇 디바이스(300)에게 지시할 수도 있다.
유저 컴퓨팅 디바이스(200)가 퍼스널 컴퓨터로서 묘사되고 서버 컴퓨팅 디바이스(150)가 서버로서 묘사되지만, 이들은 비제한적인 예라는 것이 이해되어야 한다. 더 구체적으로, 몇몇 실시형태에서, 임의의 타입의 컴퓨팅 디바이스(예를 들면, 모바일 컴퓨팅 디바이스, 퍼스널 컴퓨터, 서버, 등등)가 이들 컴포넌트 중 임의의 것에 대해 사용될 수도 있다. 추가적으로, 이들 컴퓨팅 디바이스의 각각이 도 1에서 단일 피스(piece)의 하드웨어로서 예시되지만, 이것도 또한 예에 불과하다. 더 구체적으로, 유저 컴퓨팅 디바이스(200) 및 서버 컴퓨팅 디바이스(150)의 각각은 복수의 컴퓨터, 서버, 데이터베이스, 컴포넌트, 및/또는 등등을 나타낼 수도 있다.
또한, 본원에서 묘사되는 실시형태가 컴퓨팅 디바이스의 네트워크를 참조하지만, 본 개시는 그러한 네트워크에 전적으로 제한되는 것은 아니다는 것이 이해되어야 한다. 예를 들면, 몇몇 실시형태에서, 본원에서 설명되는 다양한 프로세스는, 본원에서 설명되는 다양한 프로세스를 완료하기 위해 네트워크를 사용하지 않는 비 네트워크형 컴퓨팅 디바이스 또는 네트워크형 컴퓨팅 디바이스와 같은 단일의 컴퓨팅 디바이스에 의해 완료될 수도 있다.
유저 컴퓨팅 디바이스(200) 및/또는 서버 컴퓨팅 디바이스(150)의 예시적인 하드웨어 컴포넌트가 도 2a에서 묘사된다. 버스(201)는 다양한 컴포넌트를 상호 연결할 수도 있다. 컴퓨터 프로세싱 유닛(CPU)과 같은 프로세싱 디바이스(205)는, 프로그램을 실행하는 데 필요한 계산 및 논리 연산을 수행하는, 컴퓨팅 디바이스의 중앙 프로세싱 유닛일 수도 있다. 프로세싱 디바이스(205)는, 단독으로 또는 도 2에서 개시되는 다른 엘리먼트 중 하나 이상과 연계하여, 본 개시 내에서 사용되는 바와 같이, 예시적인 프로세싱 디바이스, 컴퓨팅 디바이스, 프로세서, 또는 이들의 조합이다. 리드 온리 메모리(Read Only Memory; ROM) 및 랜덤 액세스 메모리(random access memory; RAM)와 같은 메모리(210)는 예시적인 메모리 디바이스(즉, 비일시적 프로세서 판독 가능 저장 매체)를 구성할 수도 있다. 이러한 메모리(210)는, 프로세싱 디바이스(205)에 의한 실행시, 프로세싱 디바이스(205)로 하여금 본원에서 설명되는 프로세스와 같은 다양한 프로세스를 완료하게 하는 하나 이상의 프로그래밍 명령어를 그 상에 포함할 수도 있다. 옵션적으로(optionally), 프로그램 명령어는, 콤팩트 디스크, 디지털 디스크, 플래시 메모리, 메모리 카드, USB 드라이브, 광학 디스크 저장 매체, 예컨대 Blu-ray™디스크, 및/또는 다른 비일시적 프로세서 판독 가능 저장 매체와 같은 유형의 컴퓨터 판독 가능 매체 상에 저장될 수도 있다.
몇몇 실시형태에서, 메모리(210) 상에 포함되는 프로그램 명령어는 복수의 소프트웨어 모듈로서 구현될 수도 있는데, 이 경우, 각각의 모듈은 하나 이상의 작업을 완료하기 위한 프로그래밍 명령어를 제공한다. 예를 들면, 도 2b에서 도시되는 바와 같이, 메모리(210)는 동작 로직(212), 트레이닝 로직(214), 및/또는 테스팅 로직(216)을 포함할 수도 있다. 동작 로직(212)은 컴퓨팅 디바이스의 컴포넌트를 관리하기 위한 다른 소프트웨어 및/또는 오퍼레이팅 시스템을 포함할 수도 있다. 트레이닝 로직(214)은, 하나 이상의 텍스쳐가 없는 오브젝트의 포즈를 인식하도록 컴퓨팅 디바이스를 트레이닝시키기 위한 하나 이상의 소프트웨어 모듈을 포함할 수도 있다. 테스팅 로직(216)은, 컴퓨팅 디바이스의 트레이닝의 정확도를 검증하고, 그에 의해 컴퓨팅 디바이스가 텍스쳐가 없는 오브젝트의 포즈를 정확하게 결정하고 있다는 것 및/또는 예를 들면, 로봇 디바이스(300)와 같은 컴퓨터 네트워크(100)(도 1)의 다양한 다른 컴포넌트로 적절한 커맨드를 송신하고 있다는 것을 보장하기 위해 컴퓨팅 디바이스의 트레이닝을 테스트하기 위한 하나 이상의 소프트웨어 모듈을 포함할 수도 있다.
다시 도 2a를 참조하면, 일반적으로 메모리(210)와는 별개의 저장 매체일 수도 있는 스토리지 디바이스(250)는, 본원에서 설명되는 바와 같이, 트레이닝 데이터 및/또는 테스팅 데이터를 비롯한, 오브젝트의 포즈를 추정하기 위해 사용되는 데이터를 저장하기 위한 데이터 저장소를 포함할 수도 있다. 스토리지 디바이스(250)는, 하드 디스크 드라이브(HDD), 메모리, 착탈식 스토리지, 및/또는 등등을 포함하는, 그러나 이들로 제한되지는 않는 임의의 물리적 저장 매체일 수도 있다. 스토리지 디바이스(250)가 로컬 디바이스로서 묘사되지만, 스토리지 디바이스(250)는, 예를 들면, 서버 컴퓨팅 디바이스 또는 등등과 같은 원격 스토리지 디바이스일 수도 있다는 것이 이해되어야 한다.
스토리지 디바이스(250) 내에 포함될 수도 있는 예시적인 데이터가 도 2c에서 묘사된다. 도 2c에서 도시되는 바와 같이, 스토리지 디바이스(250)는, 예를 들면, 이미지 데이터(252), 트레이닝 데이터(254), 및/또는 테스팅 데이터(256)를 포함할 수도 있다. 이미지 데이터(252)는, 예를 들면, 텍스쳐가 없는 오브젝트의 포즈를 결정함에 있어서 기준으로 사용될 수 있는 공지의 텍스쳐가 없는 오브젝트의 샘플 이미지, 타겟의 텍스쳐가 없는 오브젝트(target textureless object)로부터 수집되며 텍스쳐가 없는 오브젝트의 포즈를 결정하기 위해 후속하여 사용되는 이미지, 및/또는 등등을 포함할 수도 있다. 트레이닝 데이터(254)는, 예를 들면, 본원에서 더 상세히 설명되는 바와 같이, 텍스쳐가 없는 오브젝트의 포즈를 인식하기 위한 컴퓨팅 디바이스의 트레이닝에 관련되는 데이터를 포함할 수도 있다. 테스팅 데이터(256)는, 예를 들면, 본원에서 더 상세히 설명되는 바와 같이, 컴퓨팅 디바이스가 텍스쳐가 없는 오브젝트의 포즈를 정확하게 인식하는 것을 보장하는 컴퓨팅 디바이스 테스팅에 관련되는 데이터를 포함할 수도 있다.
도 2a를 다시 참조하면, 옵션적인 유저 인터페이스(220)는, 버스(201)로부터의 정보가 오디오, 비주얼, 그래픽, 또는 영숫자 포맷으로 컴퓨팅 디바이스의 디스플레이(225) 부분 상에서 디스플레이 되는 것을 허용할 수도 있다. 또한, 유저 인터페이스(220)는, 키보드, 마우스, 조이스틱, 터치스크린, 원격 컨트롤러, 포인팅 디바이스, 비디오 입력 디바이스, 오디오 입력 디바이스, 햅틱 피드백 디바이스, 및/또는 등등과 같은 입력 디바이스로부터의 데이터의 수신 및 그 입력 디바이스로의 데이터의 송신을 허용하는 하나 이상의 입력부(230)를 포함할 수도 있다. 이러한 유저 인터페이스(220)는, 예를 들면, 유저가 컴퓨팅 디바이스 또는 그것의 임의의 컴포넌트와 상호 작용하는 것을 허용하기 위해 사용될 수도 있다.
시스템 인터페이스(235)는, 일반적으로, 예를 들면, 로봇 디바이스(300) 및/또는 이미징 디바이스(305)와 같은, 컴퓨터 네트워크(100)(도 1)의 컴포넌트 중 하나 이상과 인터페이싱하는 능력을 컴퓨팅 디바이스에 제공할 수도 있다. 이러한 컴포넌트와의 통신은 다양한 통신 포트(도시되지 않음)를 사용하여 발생할 수도 있다. 예시적인 통신 포트는, 인터넷, 인트라넷, 로컬 네트워크, 직접 연결, 및/또는 등등과 같은 통신 네트워크에 부착될 수도 있다.
통신 인터페이스(245)는, 일반적으로, 예를 들면, 외부 컴퓨팅 디바이스, 원격 서버, 및/또는 등등과 같은 하나 이상의 외부 컴포넌트와 인터페이싱하는 능력을 컴퓨팅 디바이스에게 제공할 수도 있다. 외부 디바이스와의 통신은 다양한 통신 포트(도시되지 않음)를 사용하여 발생할 수도 있다. 예시적인 통신 포트는, 인터넷, 인트라넷, 로컬 네트워크, 직접 연결, 및/또는 등등과 같은 통신 네트워크에 부착될 수도 있다.
도 2a 내지 도 2c에서 예시되는 컴포넌트는 단지 예시적인 것이고 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 이해되어야 한다. 보다 구체적으로, 도 2a 내지 도 2c의 컴포넌트가 서버 컴퓨팅 디바이스(150) 또는 유저 컴퓨팅 디바이스(200) 내에 존재하는 것으로 예시되어 있지만, 이들은 비제한적인 예이다. 몇몇 실시형태에서, 컴포넌트 중 하나 이상은 서버 컴퓨팅 디바이스(150) 및/또는 유저 컴퓨팅 디바이스(200) 외부에 존재할 수도 있다. 마찬가지로, 컴포넌트 중 하나 이상은 본원에서 구체적으로 설명되지 않는 다른 컴퓨팅 디바이스에서 구현될 수도 있다.
도 3a 및 도 3b는 하나 이상의 텍스쳐가 없는 오브젝트를 지지하는 예시적인 픽킹 표면을 묘사한다. 픽킹 표면(310)은, 로봇 디바이스(300)가 픽킹 표면(310) 상에 위치되는 임의의 오브젝트에 도달할 수 있도록 로봇 디바이스(300)에 인접할 수도 있다. 픽킹 표면(310)은, 작업 표면 또는 등등과 같은 임의의 표면일 수도 있다. 픽킹 표면(310)은, 텍스쳐가 없는 오브젝트(315)가 픽킹 표면(310)으로부터 떨어지지 않도록, 그 상에서의 하나 이상의 텍스쳐가 없는 오브젝트(315)의 배치를 지원하도록 구성될 수도 있다. 따라서, 몇몇 실시형태에서, 픽킹 표면(310)은 수평일 수도 있고 픽킹 표면(310)의 하나 이상의 에지는, 텍스쳐가 없는 오브젝트(315)가 픽킹 표면(310)의 에지로부터 떨어지는 것을 방지하는 립(lip), 리지(ridge), 벽(wall), 또는 등등을 포함할 수도 있다. 픽킹 표면(310)의 치수는 본 개시에 의해 제한되지는 않지만, 그러나, 로봇 디바이스(300)의 적어도 일부가, 픽킹 표면(310)의 하나 이상의 에지를 비롯한, 픽킹 표면(310)의 모든 부분에 도달할 수 있도록 사이즈가 정해지고 형상이 정해질 수도 있다.
하나 이상의 이미징 디바이스(305)는 본 개시에 의해 제한되지 않으며, 각각은, 일반적으로, 이미지를 캡쳐하는 임의의 디바이스일 수도 있다. 몇몇 실시형태에서, 하나 이상의 이미징 디바이스(305)의 각각은, 카메라, 캠코더, 또는 등등일 수도 있고, 하나 이상의 이미지 센서, 하나 이상의 이미지 프로세서, 하나 이상의 광학 엘리먼트, 및/또는 등등을 통합할 수도 있다. 하나 이상의 이미징 디바이스(305)의 각각은 줌인 및 줌아웃 가능할 수도 있고, 예를 들면, 패닝(panning), 틸팅(tilting), 및/또는 등등과 같이, 추가적으로 움직일 수도 있다.
이미징 디바이스(305)의 수는 본 개시에 의해 제한되지는 않으며, 일반적으로 임의의 수의 이미징 디바이스(305)를 포함할 수도 있다. 예를 들면, 도 3a에서 도시되는 바와 같이, 픽킹 표면(310) 및/또는 그 상에 지지되는 하나 이상의 텍스쳐가 없는 오브젝트(315)를 캡쳐하기 위해 복수의 이미징 디바이스(305)가 사용될 수도 있다. 다른 예에서, 도 3b에서 도시되는 바와 같이, 픽킹 표면(310) 및/또는 그 상에 지지되는 하나 이상의 텍스쳐가 없는 오브젝트(315)를 캡쳐하기 위해 단일의 이미징 디바이스(305)가 사용될 수도 있다.
다양한 실시형태에서, 하나 이상의 이미징 디바이스(305)가 픽킹 표면(310)에 인접하게 배치될 수도 있다. 하나 이상의 이미징 디바이스(305)는, 일반적으로, 하나 이상의 이미징 디바이스(305)의 각각의 시야가, 픽킹 표면(310) 상에 위치되는 임의의 오브젝트, 예컨대 하나 이상의 텍스쳐가 없는 오브젝트(315)를 비롯한, 픽킹 표면(310)의 적어도 일부를 캡쳐하도록, 배치될 수도 있다. 예를 들면, 하나 이상의 이미징 디바이스(305)가 (도 3a에서 도시되는 바와 같이) 복수의 이미징 디바이스인 실시형태에서, 복수의 이미징 디바이스의 각각은 그 자신의 광학 축을 갖는다. 또한, 각각의 개별적인 이미징 디바이스는, 각기 각각의 광학 축이 픽킹 표면(310)에 대해 상이한 각도에 있도록 배향된다. 다른 예에서, 하나 이상의 이미징 디바이스(305)가 (도 3b에서 도시되는 바와 같은) 단일의 이미징 디바이스인 실시형태에서, 이미징 디바이스는 광학 축을 가질 수도 있고, 이미징 디바이스의 이동(예를 들면, 회전)은 광학 축으로 하여금 픽킹 표면(310)에 대해 복수의 상이한 각도에서 연속적으로 재배향하게 한다.
하나 이상의 이미징 디바이스(305)는, 본원에서 설명되는 바와 같이 픽킹 표면(310)을 이미지화하는 능력을 이미징 디바이스에게 제공하는 임의의 정지 또는 이동 장치에 장착될 수도 있다. 예를 들면, 도 3b에 특별히 도시되는 바와 같이, 이미징 디바이스(305)는, 이미징 디바이스(305)가 픽킹 표면(310)의 임의의 각도를 캡쳐할 수 있도록 (점선에 의해 나타내어지는 바와 같이) 이미징 디바이스(305)가 픽킹 표면(310) 주위를 중심 축(A)을 중심으로 이동하는 것을 허용하는 암 또는 다른 지지체(도시되지 않음)에 커플링될 수도 있다. 몇몇 실시형태에서, 하나 이상의 이미징 디바이스(305)의 각각은 하나 이상의 텍스쳐가 없는 오브젝트(315)와 같은 오브젝트의 움직임을 추적하도록 구성될 수도 있다. 몇몇 실시형태에서, 하나 이상의 이미징 디바이스(305)의 각각의 움직임은 유저에 의해 원격으로 제어될 수도 있다.
이제 도 4를 참조하면, 하나 이상의 이미징 디바이스(305)는 복수의 상이한 뷰포인트(405a 내지 405h)(일괄적으로 405)에서 텍스쳐가 없는 오브젝트(315)의 이미지를 캡쳐하도록 구성될 수도 있다. 하나 이상의 이미징 디바이스(305)는, 그것이 픽킹 표면(310) 상에 배치되기 이전 또는 그것이 픽킹 표면(310) 상에 배치된 이후 중 어느 하나에서 텍스쳐가 없는 오브젝트(315)의 이미지를 캡쳐할 수도 있다. 몇몇 실시형태에서, 다양한 뷰포인트(405)는 (예를 들면, 도 3b에서 도시되는 바와 같이) 각각의 뷰포인트(405a 내지 405h)를 캡쳐하기 위해 텍스쳐가 없는 오브젝트(315) 주위를 회전하는 단일의 이미징 디바이스(305)로부터 획득될 수도 있다. 다른 실시형태에서, 다양한 뷰포인트(405)는 (예를 들면, 도 3a에서 도시되는 바와 같이) 각각의 뷰포인트(405a 내지 405h)를 캡쳐하기 위해 텍스쳐가 없는 오브젝트 주위에 배치되는 복수의 이미징 디바이스(305)로부터 획득될 수도 있다. 도 4는 8 개의 상이한 뷰포인트(405)를 묘사하지만, 뷰포인트(405)의 수는 본 개시에 의해 제한되지 않으며, 일반적으로는, 본원에서 더 상세히 설명되는 바와 같이, 이미지 데이터를 캡쳐하고 텍스쳐가 없는 오브젝트의 포즈를 결정하기에 충분한 임의의 수의 뷰포인트일 수도 있다.
복수의 뷰포인트(405) 외에, 하나 이상의 이미징 디바이스(305)는 또한, 각각의 뷰포인트(405a 내지 405h)에서 텍스쳐가 없는 오브젝트(315)의 복수의 스케일을 캡쳐하도록 구성될 수도 있다. 스케일은, 일반적으로, 만약 텍스쳐가 없는 오브젝트가 각각의 줌에서 전체적으로 보이면, 텍스쳐가 없는 오브젝트(315)의 "줌인" 또는 "줌아웃" 캡쳐를 가리킨다. 즉, 각각의 스케일은 각각의 뷰포인트(405a 내지 405h)에서의 캡쳐된 이미지의 특정한 레벨의 배율을 나타낼 수도 있다. 다양한 레벨의 배율은, 예를 들면, 줌 렌즈 또는 등등과 같은 하나 이상의 이미징 디바이스(305)의 각각의 광학 부분을 사용하여 획득될 수도 있다. 예를 들면, 하나 이상의 이미징 디바이스(305)는, 각각의 뷰포인트(405a 내지 405h)에서, 1배 배율에서 제1 스케일(410a 내지 410h)을, 2배 배율에서 제2 스케일(415a 내지 415h)을, 그리고 3배 배율에서 제3 스케일(420a 내지 420h)을 캡쳐할 수도 있다. 본원에서 설명되는 각각의 스케일에서의 배율의 양은 단지 예시적인 것에 불과하고 본 개시의 범위를 벗어나지 않으면서 임의의 배율이 사용될 수 있다는 것이 이해되어야 한다.
도 3a 및 도 3b를 다시 참조하면, 몇몇 실시형태에서, 하나 이상의 이미징 디바이스(305)의 각각은 연속적으로 이미지를 캡쳐할 수도 있고(예를 들면, "버스트 모드" 캡쳐), 특정한 간격으로 단일의 이미지를 캡쳐할 수도 있고, 및/또는 모션 이미지를 캡쳐할 수도 있다(예를 들면, 비디오 캡쳐). 이미지가 특정한 간격으로 캡쳐되는 실시형태에서, 예시적인 간격은, 매 초마다, 2 초마다, 3 초마다, 4 초마다, 또는 등등을 포함할 수도 있지만, 그러나 이들로 제한되는 것은 아니다. 몇몇 실시형태에서, 하나 이상의 이미징 디바이스(305)의 각각은, 예를 들면, 도 1에서 묘사되는 서버 컴퓨팅 디바이스(150) 및/또는 유저 컴퓨팅 디바이스(200)와 같은 컴퓨팅 디바이스에 의해 지시될 때마다, 이미지를 캡쳐할 수도 있다. 하나 이상의 이미징 디바이스(305)의 각각에 의해 캡쳐되는 이미지 데이터는, 일반적으로, 예를 들면, 도 1에서 묘사되는 서버 컴퓨팅 디바이스(150) 및/또는 유저 컴퓨팅 디바이스(200)와 같은 컴퓨팅 디바이스로 송신될 수도 있다. 이미지 데이터는, 본원에서 더 상세히 설명되는 바와 같이, 컴퓨팅 디바이스(예를 들면, 도 1의 서버 컴퓨팅 디바이스(150) 및/또는 유저 컴퓨팅 디바이스(200))가 이미지로부터 텍스쳐가 없는 오브젝트(315)의 포즈를 결정할 수 있도록 하는 그러한 것일 수도 있다. 또한, 하나 이상의 이미징 디바이스(305)의 각각에 의해 캡쳐되는 이미지 데이터는, 스토리지 디바이스(250)(도 2a)와 같은 저장 매체에 저장될 수도 있다.
로봇 디바이스(300)는 본 개시에 의해 제한되지 않으며, 일반적으로, 로봇 픽킹 디바이스 또는 등등과 같은, 이동, 오브젝트 파지, 오브젝트 이동, 오브젝트 조작, 및 또는 등등을 할 수 있고 그렇게 하게끔 지시받도록 구성되는 임의의 로봇 디바이스일 수도 있다. 예를 들면, 로봇 디바이스(300)는, 임의의 방향으로 움직일 수 있고 또한 연장 가능하고 축소 가능한 암을 구비할 수도 있다. 또한, 로봇 디바이스(300)는, 로봇 디바이스(300)가 오브젝트를 파지하는 것을 허용하는 복수의 핑거를 포함하는 손 또는 등등을 구비할 수도 있다. 따라서, 로봇 디바이스(300)는 임의의 수의 고정된 부재, 연장 부재, 조인트, 가동 컴포넌트, 및/또는 등등을 포함할 수도 있다. 로봇 디바이스(300)는 또한, 모터, 솔레노이드, 유압 시스템, 공압 시스템, 압전 시스템, 및/또는 등등과 같은, 로봇 디바이스(300)를 이동시키도록 구성되는 하나 이상의 디바이스를 포함할 수도 있다. 몇몇 실시형태에서, 로봇 디바이스(300)는, 특정한 증분으로 로봇 디바이스(300)의 정확한 이동을 허용할 수도 있고, 그에 의해, 로봇 디바이스(300)의 정확한 제어를 허용할 수도 있는 하나 이상의 스텝 모터를 포함할 수도 있다. 또한, 로봇 디바이스(300)는, 본원에서 더 상세히 설명되는 바와 같이, 자신의 다양한 컴포넌트 및/또는 하나 이상의 컴퓨팅 디바이스 사이의 통신을 위한 하나 이상의 디바이스를 포함할 수도 있다. 이러한 통신 디바이스는, 로봇 디바이스(300) 및/또는 그것의 컴포넌트의 움직임을 지시하는 제어 신호를 수신할 수도 있다.
다양한 실시형태에서, 로봇 디바이스(300)는, 예를 들면, 암 본체 세그먼트, 로봇 핸드, 조인트, 베이스 부분, 및/또는 등등과 같은 자신의 부분에 부착되는 하나 이상의 센서를 포함할 수도 있다. 하나 이상의 센서는 일반적으로 로봇 디바이스(300)와 다른 오브젝트 사이의 접촉을 감지하도록 구성될 수도 있다. 예를 들면, 몇몇 실시형태에서, 하나 이상의 센서는 로봇 디바이스(300)와 텍스쳐가 없는 오브젝트(315) 사이의 접촉을 감지할 수도 있다. 특정한 실시형태에서, 하나 이상의 센서는 로봇 디바이스(300)와 텍스쳐가 없는 오브젝트(315) 사이의 접촉의 정확한 위치를 감지하도록 구성될 수도 있다. 접촉의 이러한 정확한 위치는, 본원에서 더 상세히 설명되는 바와 같이, 텍스쳐가 없는 오브젝트(315)의 포즈에 관한 추가적인 정보를 제공할 수도 있다. 하나 이상의 센서는 일반적으로 임의의 센서, 특히 오브젝트 접촉을 감지하도록 구성되는 센서일 수도 있다. 따라서, 몇몇 실시형태에서, 하나 이상의 센서는 터치 센서, 적외선 센서, 광학 센서, 레이저 감지 디바이스, 및/또는 등등 중 하나 이상을 포함할 수도 있다. 터치 센서는 일반적으로, 로봇 디바이스(300)와 텍스쳐가 없는 오브젝트(315) 사이의 접촉에 의해 야기되는 압력을 감지하도록 구성되는 센서일 수도 있다. 광학 센서는, 텍스쳐가 없는 오브젝트(315)가 로봇 디바이스(300)와 접촉할 때 자신의 시야에서 텍스쳐가 없는 오브젝트(315)를 검출하도록 구성되는 광학 다이오드 또는 등등일 수도 있다. 몇몇 실시형태에서, 하나 이상의 센서는, 일반적으로 사용되고, 쉽게 이용 가능하며, 복잡한 컴포넌트 및 유지 보수를 필요로 하지 않는 일종의 센서일 수도 있다.
도 3a 및 도 3b에서 묘사되는 로봇 디바이스(300)는 단지 예시적인 것에 불과하다는 것이 일반적으로 이해되어야 한다. 따라서, 로봇 디바이스(300)는 본 개시의 범위를 벗어나지 않으면서, 임의의 타입의 로봇 디바이스 또는 유사한 장치를 포함할 수도 있다. 따라서, 기술 분야에서 통상의 지식을 가진 자는, 본원에서 개시되는 로봇 디바이스(300)와 유사한 사안에서 기능하는 다른 로봇 디바이스 및 유사한 장치를 인식할 것이다. 또한, 본 개시는 또한, 추가적인 또는 대안적인 컴포넌트 및 기능성을 포함하는 로봇 디바이스 및 유사한 장치를 포함할 수도 있다.
몇몇 실시형태에서, 로봇 디바이스(300) 및 하나 이상의 이미징 디바이스(305)는 단일의 컴포넌트로 통합될 수도 있다. 즉, 로봇 디바이스(300) 및 이미징 디바이스(305)는, 본원에서 설명되는 바와 같이, 텍스쳐가 없는 오브젝트(315)를 이미징하는 것 및 텍스쳐가 없는 오브젝트(315)를 파지, 이동 및 조작하는 것 둘 다를 위해 사용되는 단일의 유닛을 구성할 수도 있다. 다른 실시형태에서, 로봇 디바이스(300) 및 하나 이상의 이미징 디바이스(305)는, 도 3a 및 도 3b에서 도시되는 바와 같이, 자기 자신의 별개의 기능을 갖는 각각 구비하는 서로 별개의 컴포넌트일 수도 있다.
로봇 디바이스(300) 및 이미징 디바이스(305)는, 일반적으로, 텍스쳐가 없는 오브젝트(315)의 포즈를 추정하는 것 및 텍스쳐가 없는 오브젝트(315)를 조작하는 것의 목적을 위해 협력하여 기능할 수도 있다. 예를 들면, 이미징 디바이스(305)는, 로봇 디바이스(300)가 텍스쳐가 없는 오브젝트(315)를 조작하기 이전에 텍스쳐가 없는 오브젝트(315)의 포즈의 결정을 위해(즉, 조작 이전에 로봇 디바이스(300)의 배치에 관해 정확한 결정이 이루어질 수도 있도록) 텍스쳐가 없는 오브젝트(315)의 이미지를 캡쳐할 수도 있다. 다른 예에서, 이미징 디바이스(305)는, 텍스쳐가 없는 오브젝트(315)를 로봇 디바이스(300)가 부정확하게 조작하지 않는 것을 보장하기 위해 및/또는 텍스쳐가 없는 오브젝트(315)의 조작 동안 로봇 디바이스(300)를 보정하기 위해 텍스쳐가 없는 오브젝트(315)가 포즈에 대해 모니터링될 수 있도록, 로봇 디바이스(300)에 의한 텍스쳐가 없는 오브젝트(315)의 조작 동안 텍스쳐가 없는 오브젝트(315)의 이미지를 연속적으로 캡쳐할 수도 있다.
도 5a에서 도시되는 바와 같이, 컴퓨팅 디바이스(예를 들면, 도 1의 서버 컴퓨팅 디바이스(150) 및/또는 유저 컴퓨팅 디바이스(200))에 의해 수행될 수도 있는 방법은 일반적으로, 트레이닝 단계(510) 및 테스팅 단계(515)를 포함하는 추정 단계(505)를 포함할 수도 있다. 추정 단계(505)는 도 5b와 관련하여 본원에서 일반적으로 설명된다. 트레이닝 단계는 도 6과 관련하여 본원에서 일반적으로 설명되며, 테스팅 단계는 도 7과 관련하여 본원에서 일반적으로 설명된다. 몇몇 실시형태에서, 트레이닝 단계(510)는 트레이닝 로직(214)(도 2b) 내에 포함되는 하나 이상의 명령어에 의해 완료될 수도 있다. 몇몇 실시형태에서, 테스팅 단계(515)는 테스트 로직(216)(도 2b) 내에 포함되는 하나 이상의 명령어에 의해 완료될 수도 있다.
도 5b를 참조하면, 추정 단계는 단계(516)에서 텍스쳐가 없는 오브젝트의 단일의 이미지를 획득하는 것을 포함할 수도 있다. 텍스쳐가 없는 오브젝트의 포즈는 단일의 이미지로부터 추론될 수 있다. 포즈가 본원에서 설명되는 바와 같이 추정될 때, 텍스쳐가 없는 오브젝트를 정확하게 픽업하기 위한, 텍스쳐가 없는 오브젝트를 조작하기 위한, 텍스쳐가 없는 오브젝트를 이동시키기 위한, 및/또는 등등을 위한 이동을 위해 명령어를 로봇 디바이스(300)로 송신하기 위해 추정이 사용될 수 있도록, 단일의 이미지는, 예를 들면, 로봇 디바이스(300)(도 1)의 관점으로부터 획득될 수도 있다.
단계(518)에서, 텍스쳐가 없는 오브젝트의 3 차원(3D) 모델이 생성(렌더링)될 수도 있다. 3 차원 모델을 렌더링하는 것에 관한 추가적인 세부 사항이, 트레이닝 단계의 일부로서 도 6과 관련하여 본원에서 설명될 것이다.
단계(520)에서, 단계(516)에서 획득된 단일의 이미지는 단계(518)에서 생성된 3D 모델의 별개로 구분된 렌더링과 매칭된다. 3 차원 모델에 관한 추가적인 세부 사항이, 테스팅 단계의 일부로서 적어도 도 7과 관련하여 본원에서 설명될 것이다. 매칭 단계의 결과로서, 별개로 구분된 렌더링과의 단일의 이미지의 정렬이 획득될 수도 있다.
단계(520)에서의 매칭으로부터, 단계(522)에 의해 나타내어지는 바와 같이, 결정된 정렬에 기초하여 텍스쳐가 없는 오브젝트의 포즈가 추정된다. 포즈의 추정에 관한 추가적인 세부 사항이, 본원에서 더 상세히 설명될 것이다.
도 6에서 도시되는 바와 같이, 단계 605에서, 텍스쳐가 없는 오브젝트의 이미지가 획득된다. 이미지는 일반적으로, 본원에서 더 상세히 설명되는 바와 같이, 이미징 디바이스로부터 획득될 수도 있다. 단계(610)에서, 도 8c에서 도시되는 바와 같이, 텍스쳐가 없는 오브젝트의 폭 및 높이가 이미지
Figure pct00001
로부터 결정될 수도 있는데, 여기서, I는 획득되는 이미지를 나타내고, w는 이미지의 폭이고, h는 이미지의 높이이다. 단계(615)에서, 텍스쳐가 없는 오브젝트의 추가적인 이미지가 존재하는지에 대한 결정이 이루어질 수도 있다. 예를 들면, 도 4와 관련하여 본원에서 앞서 설명된 바와 같이, 하나 이상의 이미징 디바이스는, 복수의 뷰포인트
Figure pct00002
및/또는 복수의 스케일
Figure pct00003
을 나타내는 복수의 이미지를 캡쳐할 수도 있다.
Figure pct00004
는 뷰포인트의 수를 나타내고
Figure pct00005
는 스케일의 수를 나타낸다.
추가 이미지가 획득되어야 하는 경우, 프로세스는 추가 이미지를 획득하기 위해 단계(605)로 복귀할 수도 있다. 일단 모든 이미지가 획득되면, 텍스쳐가 없는 오브젝트 주위의 뷰포인트 및 스케일의 각각로부터 이미지를 모두 취하여 n 개의 템플릿을 획득하는 것에 의해 단계(620)에서 3D 모델이 생성(렌더링)된다. 아래의 알고리즘 1 및 알고리즘 2에 따라 템플릿 및 이미지 패치를 벡터화하는 것에 의해 모든 템플릿이 이미지와 동시에 매치될 수도 있다. 알고리즘 1 및 알고리즘 2의 일반적인 목적은, 함수
Figure pct00006
하에서 패치
Figure pct00007
Figure pct00008
Figure pct00009
Figure pct00010
로 변환하는 것에 의해 템플릿 벡터와 이미지 패치 벡터 사이에 강건한 유사도 척도를 갖는 것이다, 즉,
Figure pct00011
Figure pct00012
를 계산하는 것이다. 이 함수 하에서, 두 벡터(템플릿 벡터 및 이미지 벡터)의 유사도를 측정하는 강건한 방법으로서 교차 상관(cross-correlation)이 사용된다. 방법은 일반적으로, 변환 함수
Figure pct00013
가 가우시안의 라플라시안 이미지 패치의 평균 분산 정규화를 수행하면, 즉,
Figure pct00014
이면, 상이한 조명, 상이한 모델 외관, 텍스쳐, 및 약간의 변형 변화에 강건할 수도 있는데,
여기서
Figure pct00015
이고, 여기서
Figure pct00016
Figure pct00017
는 벡터화된 패치
Figure pct00018
의 강도 값의 평균 및 표준 편차이고,
Figure pct00019
이고, 여기서
Figure pct00020
는 원본 이미지로부터의 패치이고,
Figure pct00021
는 이차원 가우시안을 나타내고,
Figure pct00022
는 라플라스 연산자를 나타낸다.
변환된 패치
Figure pct00023
Figure pct00024
사이의 유사도는 다음에 의해 표현되는데:
Figure pct00025
여기서 s'는 원래 패치 Ti 및 Pj의 가우시안의 라플라시안 사이의 정규화된 교차 상관을 나타낸다.
패치를 벡터화하는 것에 의해, 프로세싱 디바이스(205)(도 2a) 상에서의 고속 매트릭스 곱셈(fast matrix-matrix multiplication)이 계산의 속도를 높이기 위해 활용된다. 사이즈
Figure pct00026
를 갖는 스코어 매트릭스
Figure pct00027
가 생성되는데, 여기서 n은 템플릿의 수이고, m은 이미지에서의 패치의 수이다.
Figure pct00028
여기서, S(i,j)는 j 번째 이미지 패치를 갖는 i 번째 템플릿 Ti의 상관 값을 나타내고,
Figure pct00029
는 벡터화된 템플릿 매트릭스이며,
Figure pct00030
의 각각의 행은 하나의 벡터화 템플릿
Figure pct00031
을 나타낸다.
Figure pct00032
P'는 이미지 매트릭스인데, P'의 각각의 열은 하나의 벡터화된 이미지 패치
Figure pct00033
를 나타낸다.
Figure pct00034
식 (5)의 계산을 더욱 가속화하기 위해, 템플릿 매트릭스 T'에 대한 차원 감소가 사전 계산된다.
Figure pct00035
여기서 A는 직교 매트릭스이고, Z는 처음 k 개의 주성분을 갖는 기저 매트릭스이다. A 및 Z를 구하기 위해, T'에 대한 특이 값 분해는 주성분 분석(principal component analysis; PCA)을 사용하여 완료된다. 즉, T'는 다음과 같이 분해된다:
Figure pct00036
여기서 D는 비 음수 대각선 요소를 감소하는 순서로 갖는, X와 동일한 차원의 대각선 매트릭스를 나타내고, U, V는 각각 대각선 매트릭스, 단위 매트릭스이다. 여기서, k 개의 주성분이 선택되고 α 비율 분산이 유지된다:
Figure pct00037
여기서, α=90%이고, 매트릭스의 차원을 감소시키면서 정확도는 유지된다. 처음 k 개의 열이 U로부터 선택되고:
Figure pct00038
Z를 다음과 같이 정의하는데:
Figure pct00039
S = T'P' 및 T'= AZ'로부터, 다음이 얻어진다:
Figure pct00040
여기서
Figure pct00041
이다. 식 (13)을 직접 계산하는 대신, 높은 스코어가 있을 가능성이 없는 이미지 위치를 먼저 제거하는 것에 의해 AQ의 계산이 가속된다. 구체적으로, Q의 열이 제거되고,
Figure pct00042
,
Figure pct00043
를 얻는데, 여기서 I는 가능한 이미지 위치에 대응하는 이미지 매트릭스 열로의 인덱스의 작은 서브세트이다. 최종 스코어 매트릭스 S'는 다음과 같이 얻어진다:
Figure pct00044
매트릭스 Q의 각각의 열의 L2 놈(norm)(즉,
Figure pct00045
)이 측정치로서 사용된다.
Figure pct00046
가 λ에 의해 위쪽으로 경계가 정해지면, 즉, 이 픽셀에서의 모든 템플릿 스코어는 λ 아래에 있다. 이 관찰은 Q에서 j 번째 열에 대응하는 있을 것 같지 않은 이미지 패치의 제거를 허용한다.
알고리즘 1: 오프라인 템플릿 매트릭스 생성 및 PCA
Figure pct00047
알고리즘 2: 온라인 대규모 템플릿 매칭
Figure pct00048
예를 들면, 템플릿
Figure pct00049
이고, 여기서
Figure pct00050
이고, 그리고 n이 템플릿의 수이면, w' 및 h'는, 각각, 템플릿의 폭 및 높이이다. 템플릿은 구체적으로 행 순서 픽셀을 열 벡터
Figure pct00051
에 순차적으로 배치하도록 벡터화되는데, N은 한 템플릿에서의 픽셀 번호이다. 마찬가지로, 이미지
Figure pct00052
의 위치 j에서 동일한 사이즈의 템플릿을 갖는 이미지 패치 Pj(여기서
Figure pct00053
임) 및 m은 I에서의 이미지 패치의 수를 나타낸다. 패치는 벡터
Figure pct00054
로 벡터화된다. 두 벡터 ti와 pj 사이의 교차 상관은, i 번째 템플릿 Ti와 j 번째 이미지 패치 Pj 사이의 유사도를 나타낸다.
단계(625)에서, 폭 U의 정사각형 렌더링이 생성되는데, 여기서
Figure pct00055
이고
Figure pct00056
이다. 뷰포인트
Figure pct00057
및 스케일
Figure pct00058
로부터의 렌더링은
Figure pct00059
에 의해 표현된다. 각각의 렌더링
Figure pct00060
에 대해,
Figure pct00061
을, 감소하는 표준 편차
Figure pct00062
의 가우시안의 라플라시안(LoG)로 컨볼빙하여 LoG 이미지의 세트
Figure pct00063
를 산출하는 것에 의해 단계(630)에서 다중 레벨 표현이 생성되는데, 여기서, L은 다중 레벨 표현에서의 레벨의 수이다. 최상위 레벨에서(즉,
Figure pct00064
에서), LoG는 이미지의 다양한 일관된 영역을 나타내는 거친 블랍(coarse blob)을 포함하고 차별성을 제공한다. 최하위 레벨에서(즉,
Figure pct00065
에서), LoG는 코너 및 텍스쳐의 미세한 스케일의 세부 사항을 나타내고, 차별성은 아닌 정밀도를 제공한다. 예를 들면, 도 8a에서 묘사되는 바와 같이,
Figure pct00066
은 몇몇 정밀한 에지 피쳐를 포함한다.
이제 도 7을 참조하면, 테스팅 단계는 패치 위치 측정을 위한 다중 레벨 트리를 형성하기 위한 프로세스를 포함할 수도 있다. 단계(705)에서, 각각의 렌더링
Figure pct00067
로부터 패치가 추출되고, 단계(710)에서 각각의 패치의 위치가 추출된다. 따라서 각각의 레벨 l(
Figure pct00068
)에 대해, 레벨 l에서 LoG
Figure pct00069
의 위치
Figure pct00070
로부터 Nl 패치
Figure pct00071
가 추출된다. 여기서,
Figure pct00072
이고,
Figure pct00073
이다. 위치 yil은, 다중 레벨 가우시안의 라플라시안 표현에 대해, 스케일 불변 피쳐 변환(Scale Invariant Feature Transform; SIFT)의 기초가 되는 주목 지점 추출 알고리즘(interest point extraction algorithm)을 실행시키는 것에 의해 추출된다. 단계(715)에서, 추가 레벨이 존재하는지의 여부에 관한 결정이 이루어지고, 만약 그렇다면, 프로세스는 단계(705)로 되돌아간다.
단계(720)에서, 레벨당 많은 수의 주목 지점 위치가 추출되어야 하는지의 여부에 관한 결정이 이루어지고, 만약 그렇다면, 단계(725)에서 코너성 임계치(cornerness threshold)가 낮은 값으로 설정된다. 예를 들면, 몇몇 실시형태에서, 코너성 임계치는 0.02일 수도 있다. 그 목적은
Figure pct00074
의 다중 레벨 표현에서의(즉, 세트
Figure pct00075
에서의) 모든 패치의 위치를 동시에 추정하는 것이다. 패치
Figure pct00076
의 위치는 레벨
Figure pct00077
에서 LoG
Figure pct00078
에서 랜덤 변수 xil로서 표현된다. 각각의 xil의 샘플 공간은, 이미지
Figure pct00079
의 도메인을 나타내는 별개의 이차원 그리드
Figure pct00080
이다. 그 목표는,
Figure pct00081
에 대한 LoG의 세트
Figure pct00082
이 주어지면 위치
Figure pct00083
의 결합 확률(joint probability)
Figure pct00084
의 최대치, 즉 다음을 계산하는 것에 대응한다
Figure pct00085
.
식 (16)에서의 결합 확률의 최적화는 계산적으로 다루기가 어렵다. 이미지의 모든 패치의 최상의 위치 측정을 결정하기 위해,
Figure pct00086
가설이 평가되어야만 한다. 가능한 패치 위치의 공간을 다루기 쉽게 검색하기 위해, 도 8b에서 도시되는 바와 같이, 각각의 상위 레벨 패치를 몇몇의 하위 레벨 패치에 연결하는 것에 의해 다중 레벨 트리가 구성된다. 베이스의 규칙(Bayes rule) 및 조건부 독립성의 규칙을 사용하여, 결합 확률
Figure pct00087
은, 더 높은 레벨의 패치가 주어지면, 더 낮은 레벨의 패치의 위치의 조건부 확률의 곱으로서, 즉 다음으로서 표현된다
Figure pct00088
.
식 (17)에서의 확률의 최대화를 다음과 같이 분해하기 위해 최대 곱 규칙(max-product rule)이 사용된다
Figure pct00089
.
식 (18)은 동적 프로그래밍을 활용하여 도 8b에서 도시되는 트리 구조에 대한 정확한 추론을 수행하는 것을 허용한다.
간략화의 목적을 위해, 이하의 설명은, 자신의 부모 x11이 주어지면, 자식 x21의 조건부 확률
Figure pct00090
를 획득하는 것에 관한 것이다. 그러나, 이하의 설명은 모든 패치에 적용된다는 것이 이해되어야 한다. 베이스의 규칙이 사용되어
Figure pct00091
를 다음과 같이 표현한다
Figure pct00092
.
식 (19)에서,
Figure pct00093
는, 자신의 부모의 위치 x11가 주어지면, 자식 패치의 위치 x21을 알 사전 확률을 나타내고,
Figure pct00094
는 데이터 우도(data likelihood)를 나타낸다. 식 (19)에서의 항 Z는, 통상적으로
Figure pct00095
를 1과 동일하게 강제하는 증거를 나타낸다. Z를 1로 설정하는 것에 의해 수치적으로 안정적인 결과가 획득되는데, 그렇지 않으면, 그것은 작은 값에 의한 제산을 도입하고
Figure pct00096
에서 가짜 응답을 산출하기 때문이다.
식 (19)에서의 항
Figure pct00097
은, 자신의 부모의 위치 x11이 주어지면, 자식 패치의 x21의 위치를 알 사전 확률을 나타낸다. 3D 모델 렌더링은, 이미지에서의 x21과 x11 사이의 변위가 렌더링에서의 y21과 y11 사이의 변위와 유사해야 한다는 프라이어(prior)를 제공하기 위해 사용된다. 변위 유사도는 가우시안 프라이어(Gaussian prior)
Figure pct00098
로서 모델링되는데, 여기서
Figure pct00099
이다.
Figure pct00100
,
Figure pct00101
, 및 y21 및 y11은 렌더링 내의 자식 패치 및 부모 패치의 위치이다. 식 (20)에서, 표준 편차 λ2(또는 일반적으로
Figure pct00102
)는, LoG
Figure pct00103
내에서(또는, 일반적으로
Figure pct00104
에서) 패치가 지터링할 수 있는 범위를 나타낸다. 최하위 레벨에서, 즉 레벨 L에서, 패치는, 패치가 자신의 부모 패치의 사이즈에 대응하는 영역 내에서 지터링하는 것을 허용하기 위해, L에서의 LoG 커널의 표준 편차
Figure pct00105
로 설정될 수도 있다. 다른 모든 레벨의 경우,
Figure pct00106
은 패치 사이즈에서의 감소를 2의 멱승에 의해 반영하기 위해 2로 설정된다.
식 (19)에서,
Figure pct00107
은 이미지에서의 패치
Figure pct00108
의 위치 x21를 찾는 데이터 우도를 나타낸다. LoG 이미지는 패치에 의해 독립적으로 생성되는 것으로 가정되며, 다음을 산출한다
Figure pct00109
또한, 자식 x21의 레벨에서 LoG를 생성하는 우도는 그것의 부모 x11과는 독립적이다는 것이 가정되어, 식 (21)에서 x11에 대한 의존성이 버려지는 것을 허용한다. 또한, 각각의 넌리프(non-leaf) 패치 위치(즉, x21, x22, 및 x11)는 그 자체 및 그 자식에만 의존한다는 것이 가정되어, 식 (21)에서의 제1 곱셈 항이 버려지는 것을 허용한다. 이 가정은 데이터 우도를 다음으로 단순화한다
Figure pct00110
Figure pct00111
가 위치 x21에서 이미지
Figure pct00112
의 LoG로부터 추출되는 사이즈 U2×U2의 패치를 나타내고,
Figure pct00113
는 열 벡터로서 벡터화되는 패치를 나타낸다고 가정한다. 마찬가지로
Figure pct00114
가 위치 y21에서 렌더링의 LoG
Figure pct00115
로부터 추출되는 사이즈 U2×U2의 패치를 나타내고,
Figure pct00116
는 열 벡터로서 벡터화되는 패치를 나타낸다고 가정한다.
Figure pct00117
는 다음과 같이 모델링된다(즉,
Figure pct00118
를 생성함에 있어서의 패치
Figure pct00119
의 기여도)
Figure pct00120
.
도 9의 중간 열의 하단에 위치되는 맵(900)은
Figure pct00121
을 나타낸다. 식 (23)의 절대 값의 항은, 이미지의 LoG로부터의 패치
Figure pct00122
과의 패치
Figure pct00123
의 정규화된 교차 상관이다. 식 (23)에서,
Figure pct00124
Figure pct00125
는, 각각, 패치
Figure pct00126
및 패치
Figure pct00127
에서의 평균 강도이며, 한편
Figure pct00128
Figure pct00129
는 그들의 강도에서의 표준 편차이다. 정규화된 교차 상관은, 이미지에서 유사한 피쳐를 나타내는 패치의 피쳐 사이의 조명 불변성을 제공한다. 매칭을 가속시키기 위해, 푸리에 변환 및 적분 합을 사용하여 전체 LoG
Figure pct00130
에서
Figure pct00131
의 고속 정규화 교차 상관이 수행된다. 콘트라스트 설명을 담당하기 위해, 정규화된 교차 상관의 절대 값이 취해진다. 파라미터 β는 확률 분포의 피크성을 나타내는데, 이것은, 예를 들면, 4로 설정될 수도 있다.
Figure pct00132
, 즉, 위치 x21에서의 패치의 기여도는, 다음과 같이 나타내는 것에 의해 x21에 대응하는 패치의 자식의 데이터 우도를 주변화하는(marginalizing) 것에 의해 모델링될 수 있다:
Figure pct00133
.
도 9의 우측 열의 상위 두 개의 맵(905, 910)은 식 (24)의 주변화(marginalization)를 나타낸다. 식 (24)를 식(22)으로 대체하면, 데이터 우도
Figure pct00134
는 다음과 같이 작성된다:
Figure pct00135
.
도 9의 하단 우측 맵(915)은
Figure pct00136
을 나타낸다. 식 (25)는, 패치의 데이터 우도를, 그 자체로부터의 그리고 그 자식으로부터의 기여도를 갖는 것으로 모델링하는 것을 허용하고, 따라서 패치의 응답을 보강한다. 이와 관련하여, 이러한 접근법은, 부모 파트의 데이터 우도가 자식 파트와는 별개로 모델링되는 다른 접근법과는 구별된다. 식 (16)에서의 결합 확률에 기여함에 있어서의 리프 패치를 강조하기 위해, x21과 같은 넌리프 패치에 대해 식 (25)의 우변의 제곱근이 사용되어 데이터 우도
Figure pct00137
을 나타낸다.
도 9의 맵(920)에서 도시되는 식 (16)에서의 항
Figure pct00138
은, 식 (19)에서의 유사한 항
Figure pct00139
과는 구별된다. 여기서, 그것은, 이미지 내의 위치 x21에서의 패치의, 그 자식으로 인한, 예상된 외관에 대한 프라이어를 모델링하기 위해 사용된다. 정확한 뷰포인트로부터의 렌더링이 오브젝트의 조명 불변 외관에 대한 합당한 이니셜라이저(initializer)를 제공하기 때문에, 외관 프라이어는, 평균하여, 패치로 인한 이미지의 응답, 즉,
Figure pct00140
에 의해 표현되는 응답이, 패치로 인한 렌더링의 응답과 유사해야 한다는 개념을 나타낸다.
Figure pct00141
을 모델링하기 위해, 패치
Figure pct00142
는 LoG
Figure pct00143
로부터 부모 y21의 위치 상에서 추출된다.
Figure pct00144
는 도 9의 맵(925)에서 도시된다.
Figure pct00145
이 각각의 자식 패치 y31의 위치에서
Figure pct00146
로부터 추출되는 사이즈
Figure pct00147
의 패치를 나타낸다고 하자. 또한,
Figure pct00148
이 위치 y31 위치에서
Figure pct00149
으로부터 추출되는 자식 패치를 나타낸다고 하자.
Figure pct00150
Figure pct00151
가, 각각, 벡터화되는
Figure pct00152
Figure pct00153
을 나타내는 경우,
Figure pct00154
는 식 (23)과 유사하게, 즉 다음과 같이 작성될 수 있다:
Figure pct00155
여기서,
Figure pct00156
이다. 식 (23)에서와 같이, 식 (26)에서의 절대 값의 항은, 패치
Figure pct00157
와 패치
Figure pct00158
사이의 정규화된 교차 상관을 나타낸다. 식 (26)이 이미지에 의존하지 않기 때문에,
Figure pct00159
은 테스트 단계 이전에 구축 및 저장된다. 실제, 주변화
Figure pct00160
는, 전체 이미지에 걸친 우도
Figure pct00161
의 맵을, 푸리에(Fourier) 도메인에서의 외관의 사전 확률
Figure pct00162
의 맵으로 컨볼빙하는 것에 의해 수행된다.
빠른 망라적 검색으로 정확한 정렬을 제공하기 위해, 도 10에서 도시되는 바와 같이, 조밀 이행 정렬 접근법이 제공된다. 단계(1005)에서, 3D 모델은 복수의 정사각형 템플릿 렌더링을 산출하기 위해 복수의 방위에 걸쳐 그리고 복수의 스케일에 걸쳐 렌더링된다. 비제한적 예에서, 3D 모델은 324 개의 방위(방위각에서의 10° 간격의 36개의 샘플, 고각에서의 20° 간격의 3개의 샘플, 20° 간격으로 평면 내 회전 공간에서 샘플링되는 3 개)에 걸쳐 렌더링될 수도 있다. 다른 비제한적인 예에서, 3D 모델은 16 개의 스케일에 걸쳐 렌더링될 수도 있다. 결과적으로, 폭 U = 180인 5184 개의 정사각형 템플릿 렌더링이 산출될 수도 있다. s 번째 스케일은, 예를 들면, (0.75 + 0.05(s-1))-1로 설정될 수도 있다. 템플릿으로부터 후보의 세트를 선택하기 위한
Figure pct00163
을 갖는 1 레벨 트리(L-1). 비제한적 예로, 5184 개의 템플릿으로부터 20 개의 후보가 선택될 수도 있다.
단계(1010)에서, 고각 오프셋, 방위각 오프셋, 및/또는 평면 내 오프셋을 갖는 후보의 각각의 공간 주변의 뷰포인트에서의 복수의 미세 샘플이 획득된다. 비제한적인 예에서, 고각 오프셋 5°, 0°, 0°, 0°, 및 -5°, 방위각 오프셋 0°, 5°, 0°, -5° 및 0°, 0°, 0°, 및 -5°을 가지고 그리고 평면 내 오프셋 없이, 20 개의 후보의 각각의 공간 주위에서 5 개의 미세 샘플이 획득될 수도 있다. 단계(1015)에서, 복수의 템플릿을 산출하기 위해 스케일에서 복수의 샘플이 획득될 수도 있다. 비제한적인 예에서, 5 개의 샘플이 스케일에서 획득되어, 5000 개의 템플릿을 산출할 수도 있다.
다중 레벨 정렬 접근법은, 단계(1020)에서 각각의 최상의 매치 포즈로부터의 패치의 정확한 정렬과 함께 복수의 최상의 매칭 포즈를 획득하기 위해 사용될 수도 있다. 비제한적인 예에서, 상위 다섯 개의 가장 매치하는 포즈를 획득하기 위해, 다중 레벨 정렬 접근법이 L = 5에서 사용될 수도 있다.
단계(1025)에서, 3D 모델의 회전
Figure pct00164
및 그것의 병진
Figure pct00165
를 매칭된 이미지 위치에 정렬하기 위해, 랜덤 샘플 컨센서스(Random sample consensus: RANSAC)가 사용될 수도 있다. 각각의 RANSAC 반복 내에서, 효율적인 투시 n 지점(Perspective-n-Point: PnP) 알고리즘이 복수의 대응과 함께 사용될 수도 있다. 비제한적인 예에서, 효율적인 PnP 알고리즘은 n = 4 대응과 함께 사용될 수도 있다. 초점 길이는 교환 가능한 이미지 파일(EXIF) 태그에 의해 또는 카메라 캘리브레이션(즉, 도 1의 이미징 디바이스(305)로부터 전송되는 데이터)을 통해 제공되는 것으로 가정된다. 원본 이미지로부터의 3D 모델 기하학적 구조 사이의 차이를 설명하기 위해, 3D 모델의 최종 비강체 변형이 제공되어, 변형
Figure pct00166
에서 다음의 목적 함수를 최소화하는 것에 의해 지점 위치를 정확하게 매치시킬 수도 있다:
Figure pct00167
식 (27)에서, 제1 제곱 항은,
Figure pct00168
Figure pct00169
를 사용하여 배향되며 추정된 패치 위치 xil로부터 변형
Figure pct00170
를 가지고 증강되는 2D 모델 X의 투영의 DLT 선형의 재구성 에러( DLT-linearized reconstruction error)를 나타낸다. 라플라시안 표면 편집에서 사용되는 것과 유사한 제2 항은, j 번째 정점의 1 링
Figure pct00171
에 있는 모든 k 개의 정점이, j 번째 정점과 유사한 변형을 갖는 것을 보장하는 것에 의해 3D 모델 메쉬가 평활화하도록 제한한다. 제3 항은 변형을 작아지게 제한한다. Nmodel은 3D 모델 상의 지점의 수를 나타내며,
Figure pct00172
는 내부 파라미터 매트릭스(intrinsic parameters matrix)의 처음 두 행의 매트릭스를 나타내고,
Figure pct00173
는 내부 파라미터 매트릭스의 제3 행에 대응하는 행 벡터이다. 몇몇 실시형태에서, 평활도 가중치(smoothness weight) λ는 0.1로 설정될 수도 있고 수축 파라미터 γ는 0.005로 설정될 수도 있다.
상기의 결과로서, 텍스쳐가 없는 오브젝트의 포즈는, 로봇 디바이스(300)의 위치 및 배치가 텍스쳐가 없는 오브젝트를 적절히 파지하기에, 텍스쳐가 없는 오브젝트를 이동시키기에, 그리고 텍스쳐가 없는 오브젝트를 조작하기에 충분하도록 로봇 디바이스(300)(도 1)가 특정한 포지션으로 이동하게끔 지시받을 수 있도록 충분해야 한다. 본원에서 설명되는 바와 같이 포즈를 추정하는 것에 의해, 텍스쳐가 없는 오브젝트의 부적절한 파지, 떨어뜨림, 및/또는 등등을 수반하는 문제가 방지 또는 최소화된다.
예1: 테스팅
이미징 센서에 의해 이미지화될 영역에 복수의 텍스쳐가 없는 오브젝트가 배치되었다. 텍스쳐가 없는 오브젝트는, 나무로 된 다리, 컵, 머그잔, 나무로 된 차, 장난감 호박, 차 주전자, 커피 크리머 캔(coffee creamer can), 및 박제한 장난감 새를 포함한다. 이미징 센서는, 다양한 뷰포인트로부터 각각의 오브젝트에 대해 사이즈 640×480의 이미지를 캡쳐하는 RGB 카메라였다. 그 다음, 이미지를 320×240으로 다운샘플링하였다. 제2 이미징 디바이스를 사용하여 각각의 오브젝트에 대해 해상도 3648×2048의 30 내지 50 장의 사진을 캡쳐하는 것에 의해, 머그잔을 제외한 모든 오브젝트에 대한 3D 모델을 작성하기 위해, Autodesk 123D Catch(미국, 캘리포니아(CA), 산 라파엘(San Rafael) 소재의 Autodesk Inc.)가 사용되었다. 다리, 차, 호박, 및 새 오브젝트는 Autodesk 123D Catch의 고해상도 사진 내에서 일치점을 찾기에 충분한 세밀한 텍스쳐를 갖는다. 컵 및 차 주전자와 같은 매끄러운 오브젝트의 경우, 오브젝트 상의 점착성 테이프 위에 마커가 적용되었고, 3D 모델을 구축한 이후 테이프는 제거되었다. 머그잔의 경우, 온라인 모델 저장소에서 얻은 3D 모델이 사용되었다.
도 11은 이미징 센서를 사용하여 캡쳐된 입력 이미지에 대한 오브젝트의 상부 3D 정렬을 묘사한다. 특히, 도 11은 원래의 입력 이미지(1105), 5 레벨 트리의 레벨 1에 국한된 패치(1110), 5 레벨 트리의 레벨 3에 국한된 패치(1115), 5 레벨 트리의 레벨 5에 국한된 패치 트리(1120), 원래의 오브젝트 픽셀 대신 추정된 포즈의 렌더링(1125), 및 이미지 위에 중첩되는 추정된 포즈 렌더링의 에지 표현(1130)을 도시한다. 5 레벨 트리(1110)의 레벨 1에 있는 패치는 최상의 매치 렌더링을 나타낸다. 아래의 표 1과 표 2는 오브젝트당 평균 제곱 회전 및 병진 오차를 도시한다. 제2 행은 상위 다섯 개 결과로부터 가장 정확한 매치의 오차를 나타낸다. 상위 다섯 개 매치를 제공하는 것은 평균 약 26 %만큼 오차를 감소시킨다.
Figure pct00174
회전 정확도는, 가장 가까운 회전을 추론하기 위해 사용되는 가장 가까운 매칭 렌더링을 접근법이 제공하는 현존하는 방법에 비교되었다. 그러나, 현존하는 방법은 3D 병진을 제공하지 않는다. 자동차 및 호박을 제외한 모든 오브젝트에 대해 현존하는 방법보다 더 낮은 평균 제곱 오차가 발견되었다. 자동차가 직선으로 구성되므로, 자동차의 전방 및 후방 뷰는 비 자동차 오브젝트와 또는 자동차의 측면 뷰와 몇 개의 에지 방위를 공유한다.
도 12는 각각의 오브젝트에 대한 방위각, 고각, 및 평면 내 회전과 대비하여 플롯된 평균 제곱 회전 및 병진 오차의 히스토그램을 묘사한다. 자동차를 제외하면, 모든 오브젝트는 방위각에서 낮은 평균 병진 오차를 갖는다. 차 주전자, 다리, 및 컵은 평균적으로 낮은 방위각 오차를 보여준다. 다리는, 전체 평면 표면에 대한 PnP 정렬에서의 오차로 인해, 단일 평면의 뷰에 대응하는 방위각에 대해 높은 오차를 나타낸다. 고각 및 방위각과 대비한 병진 오차는, 3D 모델에서 뚜껑과 병(jar) 사이의 구별의 결여가 더 작은 스케일 렌더링으로 하여금 크리머의 하부 부분과 정렬하게 하기 때문에, 크리머의 경우 더 높다. 차 주전자는, 손잡이의 상단 에지가 하단 에지와 유사한 더 낮은 고각에서 높은 오차를 보인다. 대부분의 오브젝트의 경우, 평면 내 회전에 대해 더 낮은 오차를 나타낸다.
예 2 - 평가
다양한 수의 레벨에 대한 정렬의 정밀도를 평가하기 위해, 박제된 장난감 새 모델의 324 개의 템플릿 이미지 세트가 선택되었고, 방위각에서 10° 간격의 36 개의 샘플, 고각에서 20° 간격의 3개의 샘플, 평면 내 회전에서 20° 떨어진 간격의 3 개의 샘플, 스케일에서 1 개의 샘플을 사용하여 렌더링되었다. 박제된 장난감 새의 3D 모델의 3240 개의 지상 검증 이미지(ground truth image)는, 스케일, 고각 및 평면 내 회전에서 템플릿 이미지와 동일한 샘플 및 동일한 병진을 사용하여, 그리고 방위각에서 1° 간격의 360 개의 샘플을 사용하여 렌더링되었다. 조명에 대한 불변성을 테스트하기 위해, 템플릿 이미지를 렌더링하기 위해 사용된 것과는 상이한 조명 환경이 사용되어 지상 검증 이미지를 렌더링하였다. 각각의 지상 검증 렌더링 이미지는 324 개의 템플릿의 세트로부터 가장 가까운 두 개의 템플릿에 할당되었으며, 본원에서 설명되는 바와 같은 다중 레벨 정렬 접근법이 다양한 수의 레벨(즉, 다양한 L)과 함께 적용되어 두 개의 템플릿으로부터 최상의 매치를 획득하였다. L의 각각의 선택에 대한 지상 검증 회전 및 병진으로부터, 추정된 회전 및 병진에서 오차가 얻어졌다. 지상 검증 렌더링은, 최상의 매칭 템플릿으로부터 방위각에서의 그들의 편차에 따라 분류되었으며, 편차의 각각의 값에 대한 평균 제곱 오차가 획득되었다.
도 13은 방위각에서의 편차와 대비한 평균 제곱 회전 및 병진 오차의 플롯을 묘사한다. 1 레벨 트리를 제외하면, L을 증가시키는 것은 0°의 편차에서 오차를 감소시킨다, 즉, 지상 검증 렌더링이 템플릿 렌더링에 정확히 대응한다. 1 레벨 트리의 경우, 지상 검증 렌더링에 대한 가장 매치하는 템플릿 회전 및 병진의 간단한 할당이 완료되는데, 이것은 0°에서의 지상 검증 렌더링에 대해 0 회전 오차를, 그리고 모든 렌더링에 대해 제로 병진 오차를 발생시킨다. L = 2 및 그 이상의 경우, 0° 편차 마크에서 PnP 정렬에서 작은 편차를 도입하는 유사한 로컬 에지 그래디언트로 인해, 최대 1 픽셀의 작은 패치 오정렬이 관측되었다. 0°로부터의 더 높은 편차의 경우, L을 증가시키는 것은 회전 오차를 상당히 감소시킨다. L = 5에서, 회전 오차 그래프의 경사(slope)는 작다. 그러한 만큼, 본원에서 설명되는 제2 미세 매칭 단계에 대해, L = 5가 사용된다.
따라서, 본원에서 설명되는 시스템 및 방법은, 텍스쳐가 없는 오브젝트로 하여금, 떨어지게, 부적절하게 핸들링되게, 및/또는 등등이 되게 하지 않으면서, 텍스쳐가 없는 오브젝트가 로봇 디바이스에 의해 적절하게 파지될 수 있도록, 조작될 수 있도록, 이동될 수 있도록, 및/또는 등등이 될 수 있도록, 텍스쳐가 없는 오브젝트의 포즈를 빠르고 정확하게 결정한다는 것이 이제 이해되어야 한다. 본원에서 설명되는 시스템 및 방법은, 복수의 뷰포인트 및 스케일로부터 3D 모델을 렌더링하는 것에 의해 채워지는, 3D 모델 주위의 포즈의 공간을 샘플링하는 것에 의해 텍스쳐가 없는 오브젝트의 단일의 이미지에 텍스쳐가 없는 오브젝트의 3D 모델을 정렬하는 것에 의해 포즈를 추정한다.
용어 "실질적으로" 및 "약"은, 본원에서, 임의의 정량적 비교, 값, 측정치, 또는 다른 표현에 기인할 수도 있는 불확실성의 내재하는 정도를 나타내기 위해 활용될 수도 있다는 것을 유의한다. 이들 용어는 또한, 문제가 되고 있는 주제의 기본적인 기능에서 변화를 야기하지 않으면서 정량적 표현이 언급된 기준으로부터 변할 수도 있는 정도를 나타내기 위해 본원에서 활용된다.
특정한 실시형태가 본원에서 예시되고 설명되었지만, 청구된 주제의 취지 및 범위를 벗어나지 않으면서 다양한 다른 변경 및 수정이 이루어질 수도 있다는 것이 이해되어야 한다. 또한, 비록 청구된 주제의 다양한 양태가 본원에서 설명되었지만, 이러한 양태는 조합하여 활용될 필요는 없다. 따라서, 첨부된 청구범위는 청구된 주제의 범위 내에 있는 이러한 모든 변경 및 수정을 포괄한다는 것이 의도된다.

Claims (20)

  1. 텍스쳐가 없는 오브젝트(textureless object)의 포즈를 출력하기 위한 시스템으로서,
    프로세싱 디바이스; 및
    비일시적 프로세서 판독 가능 저장 매체를 포함하고, 상기 비일시적 프로세서 판독 가능 저장 매체는, 실행시, 상기 프로세싱 디바이스로 하여금:
    상기 텍스쳐가 없는 오브젝트의 단일의 이미지 - 상기 텍스쳐가 없는 오브젝트의 상기 포즈는 상기 단일의 이미지로부터 추론됨 - 를 획득하게 하고;
    상기 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 상기 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하게 하고;
    상기 삼차원 모델의 복수의 별개로 구분된 렌더링의 각각으로부터 복수의 패치 - 상기 복수의 패치는 복수의 하이 레벨 패치 및 복수의 로우 레벨 패치를 포함함 - 를 추출하게 하고;
    상기 복수의 하이 레벨 패치의 각각의 하나를 상기 복수의 로우 레벨 패치의 적어도 하나에 연결하여 다중 레벨 조명 불변 트리 구조(multi-level illumination invariant tree structure)를 구성하게 하고;
    상기 단일의 이미지를 상기 다중 레벨 조명 불변 트리 구조를 통해 상기 삼차원 모델의 별개로 구분된 렌더링과 매치시켜 상기 별개로 구분된 렌더링과의 상기 단일의 이미지의 정렬을 획득하게 하고; 그리고
    상기 정렬에 기초하여 상기 텍스쳐가 없는 오브젝트의 상기 포즈를 출력하게 하는
    하나 이상의 프로그래밍 명령어를 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  2. 제1항에 있어서,
    상기 텍스쳐가 없는 오브젝트의 상기 추정된 포즈에 기초하여 상기 텍스쳐가 없는 오브젝트를 파지하는 로봇 디바이스를 더 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  3. 제1항에 있어서,
    상기 프로세싱 디바이스에 통신 가능하게 커플링되는 하나 이상의 이미징 디바이스를 더 포함하고, 실행시, 상기 프로세싱 디바이스로 하여금, 상기 단일의 이미지를 획득하게 하는 상기 하나 이상의 프로그래밍 명령어는 또한, 상기 프로세싱 디바이스로 하여금, 상기 하나 이상의 이미징 디바이스로부터 상기 단일의 이미지를 획득하게 하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  4. 제3항에 있어서,
    상기 하나 이상의 이미징 디바이스는 복수의 이미징 디바이스를 포함하고, 상기 복수의 이미징 디바이스의 각각은 광학 축을 구비하고, 상기 복수의 이미징 디바이스의 개개의 이미징 디바이스는, 각기 각각의 광학 축이 상기 텍스쳐가 없는 오브젝트를 지지하는 픽킹 표면(picking surface)에 대해 상이한 각도에 있도록 배향되는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  5. 제3항에 있어서,
    상기 하나 이상의 이미징 디바이스는 광학 축을 구비하는 단일의 이미징 디바이스를 포함하고, 상기 단일의 이미징 디바이스는, 상기 광학 축이 상기 텍스쳐가 없는 오브젝트를 지지하는 픽킹 표면에 대해 복수의 상이한 각도로 연속적으로 재배향되도록, 중심 축을 중심으로 회전하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  6. 제1항에 있어서,
    실행시, 상기 프로세싱 디바이스로 하여금 상기 삼차원 모델을 생성하게 하는 상기 하나 이상의 프로그래밍 명령어는 또한, 상기 프로세싱 디바이스로 하여금:
    상기 텍스쳐가 없는 오브젝트 주위에서 상기 복수의 스케일의 각각 및 복수의 뷰포인트의 각각으로부터 복수의 이미지를 획득하여 복수의 템플릿을 획득하게 하고; 그리고
    상기 복수의 템플릿을 복수의 패치로 벡터화하게 하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  7. 제1항에 있어서,
    상기 다중 레벨 조명 불변 트리 구조는:
    Figure pct00175

    에 의해 표현되고, 여기서 p는 확률을 나타내고, x11, x21, x22, x31, x32, x33, 및 x34 각각은 상기 복수의 패치 중 하나의 위치를 나타내고, I는 가우시안의 라플라시안(Laplacian of Gaussian; LoG) 표현의 세트를 나타내는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  8. 제7항에 있어서,
    자식 x21의 부모 x11이 주어지면, 상기 자식 x21의 조건부 확률은:
    Figure pct00176

    에 의해 표현되고, 여기서
    Figure pct00177
    는 상기 부모 x11의 위치 x11이 주어지면 상기 자식 x21의 위치를 알 사전 확률을 나타내고,
    Figure pct00178
    은 데이터 우도(data likelihood)를 나타내고, Z는, 통상적으로
    Figure pct00179
    를 1과 동일하게 강제하는 증거를 나타내는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  9. 제1항에 있어서,
    실행시, 상기 프로세싱 디바이스로 하여금 상기 단일의 이미지를 상기 별개로 구분된 렌더링과 매치하게 하는 상기 하나 이상의 프로그래밍 명령어는 또한, 상기 프로세싱 디바이스로 하여금, 상기 삼차원 모델의 회전 및 병진(translation)을 랜덤 샘플 컨센서스(random sample consensus)를 통해 상기 단일의 이미지에 정렬하게 하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 시스템.
  10. 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법으로서,
    프로세싱 디바이스에 의해, 상기 텍스쳐가 없는 오브젝트의 단일의 이미지 - 상기 단일의 이미지는 상기 텍스쳐가 없는 오브젝트의 상기 포즈를 나타냄 - 를 획득하는 단계;
    상기 프로세싱 디바이스에 의해, 상기 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 상기 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하는 단계;
    상기 프로세싱 디바이스에 의해, 상기 단일의 이미지를 다중 레벨 조명 불변 트리 구조를 통해 상기 삼차원 모델의 별개로 구분된 렌더링과 매치시켜 상기 별개로 구분된 렌더링과의 상기 단일의 이미지의 정렬을 획득하는 단계; 및
    상기 프로세싱 디바이스에 의해, 상기 정렬에 기초하여 상기 텍스쳐가 없는 오브젝트의 상기 포즈를 출력하는 단계를 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  11. 제10항에 있어서,
    상기 프로세싱 디바이스에 의해, 상기 텍스쳐가 없는 오브젝트의 상기 추정된 포즈에 기초하여 상기 텍스쳐가 없는 오브젝트를 파지하도록 로봇 디바이스에게 지시하는 단계를 더 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  12. 제10항에 있어서,
    상기 단일의 이미지를 획득하는 단계는, 상기 프로세싱 디바이스에 통신 가능하게 커플링되는 하나 이상의 이미징 디바이스로부터 상기 단일의 이미지를 획득하는 단계를 더 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  13. 제10항에 있어서,
    상기 삼차원 모델을 생성하는 단계는:
    상기 텍스쳐가 없는 오브젝트 주위에서 상기 복수의 스케일의 각각 및 복수의 뷰포인트의 각각으로부터 복수의 이미지를 획득하여 복수의 템플릿을 획득하는 단계; 및
    상기 복수의 템플릿을 복수의 패치로 벡터화하는 단계를 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  14. 제10항에 있어서,
    상기 프로세싱 디바이스에 의해, 상기 삼차원 모델의 복수의 별개로 구분된 렌더링의 각각으로부터 복수의 패치 - 상기 복수의 패치는 복수의 하이 레벨 패치 및 복수의 로우 레벨 패치를 포함함 - 를 추출하는 단계; 및
    상기 프로세싱 디바이스에 의해, 상기 복수의 하이 레벨 패치의 각각의 하나를 상기 복수의 로우 레벨 패치의 적어도 하나에 연결하여 상기 다중 레벨 조명 불변 트리 구조를 구성하는 단계를 더 포함하는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  15. 제14항에 있어서,
    상기 다중 레벨 조명 불변 트리 구조는:
    Figure pct00180

    에 의해 표현되고, 여기서 p는 확률을 나타내고, x11, x21, x22, x31, x32, x33, 및 x34는 상기 복수의 패치 중 하나의 위치를 나타내고, I는 가우시안의 라플라시안(LoG) 표현의 세트를 나타내는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  16. 제15항에 있어서,
    자식 x21의 부모 x11이 주어지면, 상기 자식 x21의 조건부 확률은:
    Figure pct00181

    에 의해 표현되고, 여기서
    Figure pct00182
    은 상기 부모 x11의 위치 x11이 주어지면 상기 자식 x21의 위치를 알 사전 확률을 나타내고,
    Figure pct00183
    는 데이터 우도를 나타내고, Z는, 통상적으로
    Figure pct00184
    를 1과 동일하게 강제하는 증거를 나타내는, 텍스쳐가 없는 오브젝트의 포즈를 출력하기 위한 방법.
  17. 텍스쳐가 없는 오브젝트의 포즈에 기초하여 로봇 디바이스에게 지시하기 위한 시스템으로서,
    프로세싱 디바이스;
    상기 프로세싱 디바이스에 통신 가능하게 커플링되는 하나 이상의 이미징 디바이스;
    상기 프로세싱 디바이스에 통신 가능하게 커플링되는 상기 로봇 디바이스;
    상기 텍스쳐가 없는 오브젝트를 지지하는 픽킹 표면; 및
    비일시적 프로세서 판독 가능 저장 매체를 포함하고, 상기 비일시적 프로세서 판독 가능 저장 매체는, 실행시, 상기 프로세싱 디바이스로 하여금:
    상기 하나 이상의 이미징 디바이스 중 적어도 하나로부터 상기 텍스쳐가 없는 오브젝트의 단일의 이미지 - 상기 단일의 이미지는 상기 텍스쳐가 없는 오브젝트의 상기 포즈를 나타냄 - 를 획득하게 하고;
    상기 하나 이상의 이미징 디바이스에 의해 생성되는 상기 텍스쳐가 없는 오브젝트의 이미지 데이터로부터 획득되는 복수의 스케일 및 복수의 뷰포인트로부터 상기 텍스쳐가 없는 오브젝트의 삼차원 모델을 생성하게 하고;
    상기 단일의 이미지를 다중 레벨 조명 불변 트리 구조를 통해 상기 삼차원 모델의 별개로 구분된 렌더링과 매치시켜 상기 별개로 구분된 렌더링과의 상기 단일의 이미지의 정렬을 획득하게 하고;
    상기 정렬에 기초하여 상기 텍스쳐가 없는 오브젝트의 상기 포즈를 추정하게 하고; 그리고
    상기 추정된 포즈에 기초하여 상기 텍스쳐가 없는 오브젝트를 이동 및 파지하도록 상기 로봇 디바이스에게 지시하게 하는
    하나 이상의 프로그램 명령어를 포함하는, 텍스쳐가 없는 오브젝트의 포즈에 기초하여 로봇 디바이스에게 지시하기 위한 시스템.
  18. 제17항에 있어서,
    상기 하나 이상의 이미징 디바이스는 복수의 이미징 디바이스를 포함하고, 상기 복수의 이미징 디바이스의 각각은 광학 축을 구비하고, 상기 복수의 이미징 디바이스의 개개의 이미징 디바이스는, 각기 각각의 광학 축이 상기 텍스쳐가 없는 오브젝트를 지지하는 상기 픽킹 표면에 대해 상이한 각도에 있도록 배향되는, 텍스쳐가 없는 오브젝트의 포즈에 기초하여 로봇 디바이스에게 지시하기 위한 시스템.
  19. 제17항에 있어서,
    상기 하나 이상의 이미징 디바이스는 광학 축을 구비하는 단일의 이미징 디바이스를 포함하고, 상기 단일의 이미징 디바이스는, 상기 광학 축이 상기 텍스쳐가 없는 오브젝트를 지지하는 상기 픽킹 표면에 대해 복수의 상이한 각도로 연속적으로 재배향되도록, 중심 축을 중심으로 회전하는, 텍스쳐가 없는 오브젝트의 포즈에 기초하여 로봇 디바이스에게 지시하기 위한 시스템.
  20. 제17항에 있어서,
    실행시, 상기 프로세싱 디바이스로 하여금:
    상기 삼차원 모델의 복수의 별개로 구분된 렌더링의 각각으로부터 복수의 패치 - 상기 복수의 패치는 복수의 하이 레벨 패치 및 복수의 로우 레벨 패치를 포함함 - 를 추출하게 하고; 그리고
    상기 복수의 하이 레벨 패치의 각각의 하나를 상기 복수의 로우 레벨 패치의 적어도 하나에 연결하여 상기 다중 레벨 조명 불변 트리 구조를 구성하게 하는
    하나 이상의 프로그램 명령어를 더 포함하는, 텍스쳐가 없는 오브젝트의 포즈에 기초하여 로봇 디바이스에게 지시하기 위한 시스템.
KR1020187027352A 2016-02-26 2017-02-15 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법 KR102009851B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/054,773 US9892543B2 (en) 2016-02-26 2016-02-26 Systems and methods for estimating pose of textureless objects
US15/054,773 2016-02-26
PCT/US2017/017909 WO2017146955A1 (en) 2016-02-26 2017-02-15 Systems and methods for estimating pose of textureless objects

Publications (2)

Publication Number Publication Date
KR20180117138A true KR20180117138A (ko) 2018-10-26
KR102009851B1 KR102009851B1 (ko) 2019-08-12

Family

ID=58461421

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187027352A KR102009851B1 (ko) 2016-02-26 2017-02-15 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US9892543B2 (ko)
EP (1) EP3420532B1 (ko)
JP (1) JP6506483B1 (ko)
KR (1) KR102009851B1 (ko)
CN (1) CN109074666B (ko)
WO (1) WO2017146955A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733755B2 (en) 2017-07-18 2020-08-04 Qualcomm Incorporated Learning geometric differentials for matching 3D models to objects in a 2D image
CN109241844B (zh) * 2018-08-03 2020-11-17 百度在线网络技术(北京)有限公司 三维物体的姿态估计方法、装置、设备及存储介质
CN109325444B (zh) * 2018-09-19 2021-08-03 山东大学 一种基于三维几何模型的单目无纹理三维物体姿态跟踪方法
US11232685B1 (en) * 2018-12-04 2022-01-25 Amazon Technologies, Inc. Security system with dual-mode event video and still image recording
US10929992B2 (en) * 2019-03-29 2021-02-23 Wipro Limited Method and system for rendering augmented reality (AR) content for textureless objects
WO2021076125A1 (en) 2019-10-16 2021-04-22 Hewlett-Packard Development Company, L.P. Training using rendered images
US11195303B2 (en) 2020-01-29 2021-12-07 Boston Polarimetrics, Inc. Systems and methods for characterizing object pose detection and measurement systems

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000111322A (ja) * 1998-10-01 2000-04-18 Sony Corp 3次元データ処理装置および方法
US7756325B2 (en) 2005-06-20 2010-07-13 University Of Basel Estimating 3D shape and texture of a 3D object based on a 2D image of the 3D object
FR2913128B1 (fr) 2007-02-23 2009-08-28 Total Immersion Sa Procede et dispositif de determination de la pose d'un objet tridimensionnel dans une image et procede et dispositif de creation d'au moins une image cle
EP2048599B1 (en) 2007-10-11 2009-12-16 MVTec Software GmbH System and method for 3D object recognition
US8447120B2 (en) * 2008-10-04 2013-05-21 Microsoft Corporation Incremental feature indexing for scalable location recognition
US8437537B2 (en) 2009-03-27 2013-05-07 Mitsubishi Electric Research Laboratories, Inc. Method and system for estimating 3D pose of specular objects
WO2013029673A1 (en) 2011-08-31 2013-03-07 Metaio Gmbh Method of detecting and describing features from an intensity image
WO2013071981A1 (en) * 2011-11-18 2013-05-23 Metaio Gmbh Method of matching image features with reference features and integrated circuit therefor
US9075826B2 (en) * 2013-05-16 2015-07-07 Hewlett-Packard Development Company, L.P. Image matching
US9646384B2 (en) 2013-09-11 2017-05-09 Google Technology Holdings LLC 3D feature descriptors with camera pose information
US8761457B1 (en) * 2013-11-27 2014-06-24 Google Inc. Aligning ground based images and aerial imagery
US9665606B2 (en) 2014-02-14 2017-05-30 Nant Holdings Ip, Llc Edge-based recognition, systems and methods

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Changchang Wu et al., "3D model matching with Viewpoint-Invariant Patches (VIP)", 2008 IEEE Conference on Computer Vision and Pattern Recognition, 2008.* *
Menglong Zhu et al., "Single Image 3D Object Detection and Pose Estimation for Grasping", 2014 IEEE International Conference on Robotics & Automation (ICRA), 2014.* *
Silvio Savarese, Stanford University lecture note, 2015년02월16일, 인터넷 <URL: http://cvgl.stanford.edu/teaching/cs231a_winter1415/lecture/lecture10_detector_descriptors_2015_notes.pdf>* *
Stefan Hinterstoisser et al., "Model Based Training, Detection and Pose Estimation of Texture-Less 3D Objects in Heavily Cluttered Scenes", Computer Vision - ACCV, 2012.* *

Also Published As

Publication number Publication date
WO2017146955A1 (en) 2017-08-31
US20170249776A1 (en) 2017-08-31
EP3420532A1 (en) 2019-01-02
CN109074666A (zh) 2018-12-21
EP3420532B1 (en) 2020-05-06
JP2019515364A (ja) 2019-06-06
CN109074666B (zh) 2020-03-10
KR102009851B1 (ko) 2019-08-12
US9892543B2 (en) 2018-02-13
JP6506483B1 (ja) 2019-04-24

Similar Documents

Publication Publication Date Title
KR102009851B1 (ko) 텍스쳐가 없는 오브젝트의 포즈를 추정하기 위한 시스템 및 방법
CN112476434B (zh) 一种基于协作机器人的视觉3d取放方法及系统
JP6573354B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5455873B2 (ja) シーンにおける物体の姿勢を求めるための方法
CN109903313B (zh) 一种基于目标三维模型的实时位姿跟踪方法
WO2015135323A1 (zh) 一种摄像机跟踪方法及装置
CN111738261A (zh) 基于位姿估计和校正的单图像机器人无序目标抓取方法
CN108229416B (zh) 基于语义分割技术的机器人slam方法
WO2013094441A1 (en) Method for estimating pose of object
CN109033989B (zh) 基于三维点云的目标识别方法、装置及存储介质
Tomono 3-d object map building using dense object models with sift-based recognition features
JP2011085971A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び画像処理システム
Tomono 3-D localization and mapping using a single camera based on structure-from-motion with automatic baseline selection
CN111079565A (zh) 视图二维姿态模板的构建方法及识别方法、定位抓取系统
Kroemer et al. Point cloud completion using extrusions
JP2006252275A (ja) カメラ運動及び物体形状の復元システム
Torii et al. Omnidirectional image stabilization for visual object recognition
CN115082498A (zh) 一种机器人抓取位姿估计方法、装置、设备及存储介质
JP6922605B2 (ja) 3次元物体検出装置、ロボット、及びプログラム
CN112070005A (zh) 一种三维基元数据的提取方法及装置、存储介质
Neubert et al. Rapidly constructed appearance models for tracking in augmented reality applications
Nowicki et al. Robust registration of kinect range data for sensor motion estimation
Biza et al. One-shot imitation learning via interaction warping
WO2022200082A1 (en) Multi-dimensional object pose regression
Nguyen et al. Modelling of 3d objects using unconstrained and uncalibrated images taken with a handheld camera

Legal Events

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