KR20240055102A - 이미지 처리의 특징화 및 개선 - Google Patents

이미지 처리의 특징화 및 개선 Download PDF

Info

Publication number
KR20240055102A
KR20240055102A KR1020247011936A KR20247011936A KR20240055102A KR 20240055102 A KR20240055102 A KR 20240055102A KR 1020247011936 A KR1020247011936 A KR 1020247011936A KR 20247011936 A KR20247011936 A KR 20247011936A KR 20240055102 A KR20240055102 A KR 20240055102A
Authority
KR
South Korea
Prior art keywords
landmarks
image
images
accuracy
instance
Prior art date
Application number
KR1020247011936A
Other languages
English (en)
Inventor
다니엘 밀란 뤼트게헤트만
디미트리 자가니디스
니콜라스 알랭 베르거
펠릭스 쉬르만
Original Assignee
이나이트 에스아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/454,347 external-priority patent/US20230085384A1/en
Application filed by 이나이트 에스아 filed Critical 이나이트 에스아
Publication of KR20240055102A publication Critical patent/KR20240055102A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

이미지 처리의 정확성을 특징화하는 방법은 물체의 인스턴스의 이미지들을 수신하는 단계로, 상기 이미지는 다른 상대적 포즈에서 획득되는 단계, 수신된 이미지들의 각각에서 물체에 대한 대응하는 랜드마크들의 위치들을 식별하는 단계, 물체의 인스턴스의 적어도 하나와 이미지들이 획득될 때 하나 이상의 이미징 장치들의 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계, 상기 위치적 차이 또는 방향의 차이에 기초하여 제1 이미지에서 식별된 랜드마크들의 위치들을 전송하는 단계, 전송된 랜드마크들의 위치들을, 수신된 이미지들 중 제2 이미지에서 식별된 랜드마크들의 대응하는 위치들과 비교하는 단계, 및 수신된 이미지들 중 적어도 하나에서 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계를 포함한다.

Description

이미지 처리의 특징화 및 개선
본 발명은 이미지 처리에 관한 것으로, 보다 구체적으로는, 물체 계수, 물체 변형의 측정 및/또는 배치, 물체들의 상태의 측정 등을 포함하는, 포즈 추정 및 기타 이미지 처리 결과들을 특징화하고 가능하게는 이를 개선하는 방법에 관한 것이다.
이미지 처리는, 처리된 신호가 이미지인 신호 처리 형태이다. 입력 이미지는, 예를 들어, 출력 이미지 또는 이미지의 특성을 생성하기 위해 처리될 수 있다.
이미지 처리의 일례는 포즈 추정이다. 후술되는 바와 같이, 포즈 추정은 이미징 장치와 물체의 인스턴스의 상대적인 위치와 방향을 2차원 이미지로부터 추정하는 프로세스이다. 포즈 추정은, 이미지 처리의 다른 결과들에 기초할 수 있다. 한 예는 랜드마크 인식이다. 랜드마크 인식에서는, 2차원 이미지를 처리하여 이미지들의 랜드마크들과 그들의 위치들을 식별한다. 랜드마크들의 아이덴티티와 위치는 포즈의 추정의 기반으로 될 수 있는 결과들의 예이다.
프로세스의 특징화는 종종, 프로세스의 제어 또는 개선을 위해 필요한 전제 조건이다. 이는, 기계 학습 및/또는 인공 지능에 의존하는 기술들을 포함한 이미지 처리 기술들에도 적용된다.
예를 들어, 포즈 추정의 정확성에 대한 특징화와 포즈 추정의 기반이 되는 다른 이미지 처리를 사용하여 다양한 형태의 이미지 처리를 제어하거나 개선할 수 있다. 전술한 바와 같이, 랜드마크 인식 결과들에 기초하여 포즈들을 추정할 수 있다. 이러한 경우, 포즈의 추정의 정확성에 대한 특징화는 본질적으로 기본 랜드마크 인식 결과들의 정확성을 구현한다.
또한, 랜드마크 인식 결과는, 포즈 추정 이외의 다른 형태의 이미지 처리에도 이용될 수 있다. 예로는, 이미지 분류, 특징 추출, 패턴 인식, 기계 학습 및/또는 인공 지능 기술에 의존하는 이미지 처리 기술들을 포함한다. 이러한 이미지 처리 기술들은, 로봇 공학, 의료 및 의료 이미지, 자율 주행 차량, 손상 평가, 안면 인식, 우주 여행 및 농업과 같은 다양한 상황들에 적용될 수 있다. 포즈의 추정의 정확성과 기본 랜드마크 인식 결과를 특징화함으로써, 다른, 다양한 형태의 이미지 처리의 정확성도 특징화할 수 있다.
따라서, 한 양태에서, 이미지 처리의 정확성을 특징화하기 위한 방법은, 물체의 인스턴스에 대한 제1 이미지 및 제2 이미지를 수신하는 단계; 상기 제1 이미지의 물체의 인스턴스의 상대적인 포즈들을 추정하는 단계; 제1 이미지의 획득 동안과 제2 이미지의 획득 동안, 상기 물체의 인스턴스, 및 하나 이상의 이미징 장치들, 중 적어도 하나의 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계; 상기 위치적 차이 또는 방향의 차이에 기초하여 상기 제1 이미지의 물체의 인스턴스의 추정된 상대적인 포즈들을 전송하는 단계; 상기 물체의 인스턴스의 전송된 상대적인 포즈들을 이미지들 중 제2 이미지의 물체와 비교하는 단계; 및 상기 이미지들 중 제2 이미지의 물체와 상기 물체의 전송된 상대적인 포즈의 비교 결과에 기초하여 물체의 인스턴스의 상대적인 포즈의 추정의 정확성을 특징화하는 단계를 포함한다. 상기 제1 및 제2 이미지들은 다른 상대적 포즈들에서 획득된다.
다른 양태에서, 이미지 처리의 정확성을 특징화하는 방법은, 물체의 인스턴스의 이미지들을 수신하는 단계로, 상기 이미지들은 다른 상대적 포즈들에서 획득되는, 단계; 수신된 이미지들의 각각에서 물체에 대한 대응하는 랜드마크들의 위치들을 식별하는 단계; 물체의 인스턴스와, 이미지들이 획득되었을 때 하나 이상의 이미징 장치들, 중 적어도 하나의 위치적 차이 또는 방향의 차이를 특징화 하는 정보를 수신하는 단계; 위치적 차이 또는 방향의 차이에 기초하여 제1 이미지에서 식별된 랜드마크들의 위치들을 전송하는 단계; 전송된 랜드마크들의 위치들과, 수신된 이미지들 중 제2 이미지에서 식별된 랜드마크들의 대응 위치들을 비교하는 단계; 및 수신된 이미지들 중 적어도 하나에서 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계를 포함한다.
이들 및 다른 양태들 모두 다음 특징들 중 하나 이상을 포함할 수 있다. 상기 방법은, 상대적인 포즈의 추정의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및 상대적인 포즈의 추정의 정확성이 정확성의 임계 레벨을 만족하지 않는 것으로 결정하는 것에 응답하여, 에이전트에 지시하여 물체의 추가 이미지를 캡처하도록 물체의 인스턴스의 이미지들을 캡처하는 단계를 포함할 수 있다. 상기 방법은, 제1 이미지 및 제2 이미지의 상대적인 포즈와는 다른 상대적인 포즈에서; 또는 제1 이미지와 제2 이미지의 특성과는 다른 이미징 특성을 갖는; 어느 것의 추가 이미지를 캡처하도록 에이전트에 지시하는 단계를 포함할 수 있다.
상기 방법은, 상대적인 포즈의 추정의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및 상대적인 포즈의 추정의 정확성이 정확성의 임계 레벨을 만족하지 않는 것으로 결정하는 것에 응답하여, 제1 이미지의 물체의 인스턴스의 추정된 상대적인 포즈들을 추가 이미지 처리로부터 제외하는 단계를 포함할 수 있다. 상기 물체의 상대적인 포즈는, 물체의 3차원 모델을 수신하고, 다른 위치 또는 다른 방향에서 획득된 3차원 모델의 이미지의 특성을 계산함으로써 전송될 수 있다. 3차원 모델의 이미지의 특성을 계산하는 단계는, 3차원 모델의 이미지에 있는 랜드마크들의 위치들을 계산하거나, 또는 3차원 모델의 이미지의 외측 경계를 계산하는 것을 포함할 수 있다. 3차원 모델의 이미지의 특성을 계산하는 단계는, 위치적 차이 또는 방향의 차이에 기초하여 3차원 모델을 투영하는 것을 포함할 수 있다. 제1 이미지의 물체의 상대적인 포즈는, 기계 학습 모델을 사용하여 제1 이미지에 있는 랜드마크들을 검출하고, 검출된 랜드마크들을 사용하여 물체의 상대적 포즈들을 추정함으로써 추정될 수 있다.
상기 방법은, 이미지를 수신하고, 상대적인 포즈들을 추정하고, 위치 또는 방향의 차이를 특징화 하는 정보를 수신하고, 추정된 상대적인 포즈들을 전송하고, 전송된 상대적인 포즈들을 비교하는 것을 이터레이션적으로(iteratively) 반복하는 단계를 포함할 수 있다. 이터레이션적인 반복은, 정확성의 임계 레벨이 도달될 때까지 진행될 수 있다. 제1 이미지와 제2 이미지는, 동일한 이미징 장치에 의해 획득될 수 있다. 위치적 차이 또는 방향의 차이를 특징화하는 정보는, 제1 이미지와 제2 이미지로부터 도출될 수 있다. 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계는, 물체의 인스턴스의 이미지들에서 어느 다른 물체 또는 물체의 인스턴스의 일부를 식별하는 단계; 및 다른 물체 또는 물체의 인스턴스의 일부에 기초하여 위치적 차이 또는 방향의 차이를 결정하는 단계를 포함할 수 있다.
대응하는 랜드마크들의 위치는, 물체와 하나 이상의 이미지 장치들의 상대적인 포즈들을 추정함으로써 식별될 수 있다. 위치적 차이 또는 방향의 차이를 특징화하는 정보는, 물체와 이미징 장치 또는 장치들 모두의 차이를 특징화 할 수 있다. 랜드마크들의 위치들의 식별의 정확성은, 각각의 위치적 차이 또는 방향의 차이에 기초하여 이미지들 중 제2 및 제3 이미지에서 식별된 랜드마크들의 위치들을 전송하고, 제1, 제2, 및 제3 이미지로부터, 전송된 랜드마크들을 결합함으로써 특징화될 수 있다.
랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계는, 결합된 전송 랜드마크들의 위치들을, 수신된 이미지들 중 제2 이미지에서 식별된 랜드마크들의 해당 위치들과 비교하는 단계를 포함할 수 있다. 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계는, 물체의 인스턴스의 이미지들에서의 물체의 인스턴스의 일부 또는 다른 물체를 식별하고 다른 물체 또는 물체의 인스턴스의 일부에 기초하여 위치적 차이 또는 방향의 차이를 결정하는 단계를 포함할 수 있다. 랜드마크들의 위치는, 물체의 3차원 모델을 수신하고 랜드마크들의 위치들을 결정하기 위해 물체의 3차원 모델을 투영함으로써 전송될 수 있다.
상기 방법은, 랜드마크들의 위치들의 식별의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및 상대적인 포즈의 추정의 정확성이, 정확성의 임계 레벨을 만족하지 않는 것으로 결정하는 것에 응답하여, 물체의 인스턴스에 대한 하나 이상의 추가 이미지들을 수신하고 대응하는 랜드마크들의 위치들을 식별하고, 차이를 특징화하는 정보를 수신하고, 랜드마크들의 위치들을 전송하고, 전송된 랜드마크들의 위치들을 비교하고, 하나 이상의 추가 이미지들에 대한 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계를 포함할 수 있다.
상기 방법은, 랜드마크들의 위치들의 식별의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및 상대적인 포즈의 추정의 정확성이, 정확성의 임계 레벨을 만족하지 않는다는 결정에 응답하여, 추가 이미지 처리로부터 랜드마크들의 위치들의 식별을 제외하는 단계를 포함할 수 있다.
전술한 방법의 다른 구현예들은, 이 방법들의 동작을 수행하도록 구성된 대응 시스템과 장치, 및 기계 판독 가능 데이터 저장 장치에 유형적으로 구현되고 동작들을 수행하도록 데이터 처리 장치를 구성하는 컴퓨터 프로그램을 포함한다.
하나 이상의 구현예들의 세부사항은 첨부 도면 및 이하의 개시에 설명되어 있다. 본 발명의 다른 특징, 목적 및 이점들은 발명의 상세한 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은, 물체의 다양한 이미지들의 집합의 획득을 개략적으로 나타낸 다.
도 2는, 하나 이상의 카메라들에 의해 획득된 2차원 이미지들의 집합의 개략도이다.
도 3은, 이미지 처리의 정확성을 특징화하기 위한 컴퓨터 구현 프로세스의 흐름도이다.
도 4는, 도 3의 프로세스의 한 구현예의 개략도이다.
도 5는, 랜드마크 위치들의 비교의 다양한 결과들을 개략적으로 나타낸다.
도 6은, 도 3의 프로세스의 제2 반복예의 개략도이다.
도 7은, 랜드마크들의 그룹들의 위치적 차이들을 개략적으로 나타낸다.
도 8은, 결과들이 충분히 정확하도록 하기 위해 도 3의 프로세스의 다수의 반복들이 어떻게 사용될 수 있는지를 나타낸 개략도이다.
도 9는, 이미지 처리 결과를 그래프로 특징화하기 위해 도 3의 프로세스의 다수의 반복들이 어떻게 사용될 수 있는지를 나타낸 개략도이다.
도 10은, 다양한 이미지들에서 물체 또는 카메라의 위치들 및/또는 방향들의 차이를 추정하기 위해 수신된 이미지 내부의 정보에 의존하는 도 3의 프로세스의 구현예의 개략도이다.
도 11은, 제1 이미지로부터 전송된 상대적인 포즈와 제2 이미지로부터 추정된 상대적인 포즈들을 비교하는 프로세스의 개략도이다.
도 12는, 랜드마크 검출을 위한 기계 학습 모델을 사용하여 이미지 장치와 물체 사이의 상대적 포즈들을 추정하기 위한 프로세스를 나타낸 흐름도이다.
도 13은, 주석이 달린 3D 모델을 사용하여 실제 2차원 이미지에서 랜드마크들을 검출할 수 있는 랜드마크 디텍터를 생성하기 위한 프로세스의 흐름도이다.
도 14는, 물체의 이미지를 처리하기 위한 컴퓨터 구현 프로세스의 흐름도이다.
도 15는, 3D 모델에 나타나는 랜드마크들에 주석을 달기 위한 컴퓨터 구현 프로세스의 흐름도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
도 1은 물체(100)의 다양한 이미지들의 집합의 획득에 대한 개략도이다. 예시적 목적을 위해, 물체(100)는 표시되지 않은 이상적인 기하학적 부분들(예를 들어, 정육면체, 다면체, 평행육면체 등)의 조립체로서 도시된다. 그러나, 실제 적용 예에서, 물체들은 일반적으로 더 복잡한 형상을 가지며 또한 텍스처링되어 있거나 또는 달리, 장식적 데코레이션, 마모 마크 또는 기본 형상에 대한 다른 마킹 등으로 표시된다.
하나 이상의 이미징 장치들(여기서, 카메라 105, 110, 115, 120, 125로서 도시)의 집합은, 물체(100) 주위의 다양한 상대적 위치들에 연속적으로 또는 동시에 배치될 수 있고 물체(100)에 대해 다른 상대적 각도들로 배향될 수 있다. 위치들은 물체(100) 주위의 3차원 공간에 분포될 수 있다. 방향들은 또한, 3차원으로 다양할 수 있으며, 즉, 오일러 각도(또는 요, 피치 및 롤)가 모두 다를 수 있다. 물체(100)에 대한 카메라들(105, 110, 115, 120, 125)의 상대적 위치 및 방향은, 카메라와 물체 사이의 상대적 포즈로서 지칭될 수 있다. 카메라들(105, 110, 115, 120, 125)은 다양한 상대적인 포즈들을 갖기 때문에, 카메라들(105, 110, 115, 120, 125)은 각각 물체(100)의 다양한 이미지들을 획득한다.
카메라와 물체 사이의 상대적인 포즈는 다양한 참조 프레임들에서 규정될 수 있다. 예를 들어, 카메라와 물체의 인스턴스의 상대적인 포즈에 대한 참조 프레임은 카메라와 물체에만 기초하여, 예를 들어 물체의 한 점과 카메라의 한 점 사이에 직선을 그리고 이 라인을 따라 한 점을 선택함으로서 규정될 수 있다. 이 라인의 길이는 물체와 카메라 사이의 거리를 규정하며, 라인은 카메라와 물체의 각도 경사를 규정하도록 사용될 수 있다. 다른 예로서, 기준 프레임은, 예를 들어 지상의 위치 또는 다른 위치와 같은 다른 기준점들에 대해 규정될 수 있다. 이들 점에 관해 규정된 거리와 방향들은 카메라와 물체에만 기초하여 규정된 기준 프레임의 거리와 방향들로 변환될 수 있다.
도 2를 참조하면, 물체(100)와 같은 단순화된 물체도 다수의 랜드마크들(130, 131, 132, 133, 134, 135, 136, …)을 포함한다. 랜드마크는 물체(100)의 관심 위치이다. 랜드마크들은 물체의 기하학적 위치들에 위치되거나 기본 기하학적 형상의 표시에 위치될 수 있다. 이하에 상세히 개시되는 바와 같이, 랜드마크들은 물체의 포즈를 결정하기 위해 사용될 수 있다. 랜드마크들은 또한, 예컨대, 물체의 분류를 위해, 물체의 특징들을 추출하기 위해, 물체의 다른 구조들(기하학적 구조 또는 마킹들)을 위칫히키기 위해, 물체의 손상을 평가하기 위해, 및/또는 측정들이 이들 및 다른 이미지 처리 기술에서 행해질 수 있는 원점으로서 작용하기 위해 사용될 수 있다.
도 2는, 카메라들(105, 110, 115, 120, 125)(도 1)과 같은 하나 이상의 카메라들에 의해 획득된 2차원 이미지들의 집합(200)의 개략도이다. 집합(200)의 이미지는 다양한 상대적인 포즈들의 물체(100)를 나타낸다. 랜드마크들(130, 131, 132, 133, 134, 135, 136)과 같은 랜드마크들은, 이들이 모두 나타나는 경우, 다양한 이미지들에서의 다른 위치들에 나타난다. 예를 들어, 집합(200)의 가장 왼쪽 이미지에서, 랜드마크들(133, 134)은 물체(100)의 나머지 부분에 의해 가려진다. 이에 대해, 가장 오른쪽 이미지(210)에서, 랜드마크들(131, 135, 137)은 물체(100)의 나머지 부분에 의해 가려진다.
도 3은 이미지 처리의 정확성, 즉 포즈 추정 및 포즈의 추정의 기초가 되는 랜드마크 인식 프로세스의 정확성을 특징화하기 위한 컴퓨터 구현 프로세스(300)의 흐름도이다. 프로세스(300)는 데이터 처리 동작을 수행하는 하나 이상의 데이터 처리 장치에 의해 수행될 수 있다. 프로세스(300)의 동작은, 일련의 기계 판독 가능 명령어, 하드웨어 어셈블리, 또는 이들 및/또는 다른 명령어의 조합의 논리에 따라 수행될 수 있다.
단계 305에서, 프로세스(300)를 수행하는 장치는 관심 있는 물리적 물체의 인스턴스에 대한 2개 이상의 이미지들을 수신한다. 이미지들은 물체와 이미징 장치 사이의 다른 상대적인 포즈들에서 획득된다. 이미지들은 프로세스(300)를 수행하는 동일한 장치에 의해 획득될 수 있지만, 일반적으로 이미지를 획득하는 장치(들)는 프로세스(300)를 구현하는 장치와는 다르다. 이미지는, 예를 들어, 스마트폰, 카메라, 의료 이미징 장치, LIDAR 카메라 등에 의해 획득될 수 있다. 획득 후, 이미지들은, 예컨대, 유선 또는 무선 데이터 통신을 사용하여, 개별 이미지들 또는 비디오 스트림의 일부로서 프로세스(300)를 구현하는 장치에 전송될 수 있다.
단계 310에서, 프로세스(300)를 수행하는 장치는, 수신된 이미지들 자체를 이용하여 관심 물체와 이미지를 획득한 장치의 상대적인 포즈들을 추정한다. 예를 들어, 랜드마크들이 검출된 다음, 물체의 포즈들을 추정하기 위해 사용될 수 있다. 랜드마크 검출을 위한 기계 학습 모델의 일례는, https://github.com/ facebookresearch/Detectron2에서 이용가능한 detectorron2이다.
랜드마크 검출에 의존하는 포즈 추정기의 일례는, https://docs.opencv.org/ master/d7/d53/tutorial_py_pose.html에 개시된 OpenCV의 SolvePNP 기능이다.
다른 예로서, 상대적인 포즈들은 이하에 개시되는 프로세스(1200)(도 12)를 사용하여 추정될 수 있다. 이 방법은, 포즈들을 추정할 때 수신된 이미지들에서 랜드마크들을 식별하기 위해 물체의 3차원 모델을 사용한다. 다음, 랜드마크들을 사용하여 물체의 포즈들을 추정할 수 있다. 이와 같은 랜드마크 디텍터를 생성하기 위한 프로세스를 포함하는 추가 세부사항은 예를 들어 도 13-15 및 관련 텍스트에 개시된다.
단계 315에서, 프로세스(300)를 수행하는 장치는, 단계 310에서 상대적인 포즈들을 추정하기 위해 사용된 정보 이외의 정보를 사용하여 제1 이미지와 제2 이미지의 물체 또는 이미징 장치 중 적어도 하나의 위치들 및/또는 방향들의 차이를 추정한다. 위치들 및/또는 방향들의 차이는, 외부 소스, 제1 및 제2 이미지 자체 또는 이들 모두로부터 가져온 정보를 사용하여 추정될 수 있다. 위치들 및/또는 방향들의 차이는, 일반적으로 단계 310에서 포즈들을 추정하기 위해 사용되는 정보로부터 도출되지 않는다.
보다 상세하게, 전술한 바와 같이, 물체와 이미징 장치의 상대적인 포즈는 물체와 이미징 장치 모두의 위치와 방향에 따라 달라진다. 따라서, 제1의 상대적 포즈에서 획득된 이미지에서, 물체와 이미징 장치는 모두 각각의 위치와 방향을 갖는다. 위치 또는 방향(또는 위치와 방향 모두)이 변경되면, 상대적인 포즈도 변경된다.
그러나, 단계 315에서, 물체와 이미징 장치 사이의 상대적인 포즈들을 추정하기 위해 사용되는 정보로부터 위치들 및/또는 방향들의 변화를 도출하는 대신, 프로세스(300)를 수행하는 장치는, 다른 정보를 사용하는 다양한 이미지들의 물체 또는 이미징 장치 중 적어도 하나의(반드시, 둘 다일 필요는 없는) 위치들 및/또는 방향들의 차이를 추정한다. 다른 기준점에 대해 규정된 기준 프레임(즉, 물체 및 이미징 장치만에 대해 규정되지 않은)의 관점에서, 프로세스(300)를 수행하는 장치는, 다른 것의 위치 또는 방향에 관계없이, 물체 또는 이미징 장치의 적어도 하나의 위치 또는 방향의 변화를 추정할 수 있다. 어떤 구현예에서, 물체 및 이미징 장치 중 하나의 위치들 및/또는 방향들은 변경되지 않은 채 유지되는 것으로 가정된다.
위치들 및/또는 방향들의 차이들을 추정하는 방법에 대해, 상기 차이들은 다양한 서로 다른 소스로부터 가져온 정보로부터 추정될 수 있으며, 상시 소스들은 다음을 포함한다:
-외부 소스들(즉, 이미지들 자체 이외의 소스들),
-이미지들에 존재하지만 물체의 포즈를 추정하기 위해 사용되지 않는 정보에 기초한 이미지들 자체, 또는
-이미지들 내부 및 이미지들 외부의 정보 모두.
물체 또는 이미징 장치의 위치들 및/또는 방향들의 차이를 결정하기 위해 사용되는 정보의 정확한 특성 - 및 프로세스(300)를 수행하는 장치가 이 정보를 수신하는 방식은, 애플리케이션 컨텍스트에 따라 달라진다.
예를 들어, 이미지들이 단일 스마트폰, 카메라 또는 인간이 휴대하는 기타 휴대용 이미징 장치에 의해 획득된 경우, 외부 정보는, 장치의 전역 위치 시스템 또는 셀룰러 및/또는 이미징 장치로부터 전송/그에 의해 수신된 WiFi 신호의 다변측정정감시로부터 도출된 위치 정보를 포함할 수 있다. 방향은, 예를 들어 이미징 장치에 포함된 가속도계, 자이로스코프 및/또는 자력계로부터 도출될 수 있다. 이와 같은 경우, 외부 정보는, 단계 305에서 수신된 이미지들을 획득한 동일한 장치로부터 프로세스(300)를 수행하고 있는 이미징 장치에 의해 수신되고 새로운 포즈를 추정하기 위해 사용될 수 있다. 또한, 이미지화된 물체의 위치와 방향은 다른(불변) 지점에 대해 규정된 기준 프레임에서 변경되지 않고 유지되는 것으로 가정할 수 있다.
예시적 시나리오로는, 개인이 스마트폰을 사용하여 주차된 차량의 사진이나 비디오를 찍는 경우가 있을 수 있다. 스마트폰이 이미지들/프레임들 사이를 이동할 때, 휴대폰의 내부 센서를 사용하여 이미지들/프레임들 사이에서 휴대폰의 위치들 및/또는 방향들 변화를 추정할 수 있다. 또한, 다른 기준 프레임(예를 들어, 지상의 한 지점에 대해 규정된 기준 프레임)에 대한 주차된 차량의 위치와 방향은 변경되지 않은 것으로 가정될 수 있다.
다른 예로서, 이미지들은, 카메라 또는 다른 장치에 장착된 다른 이미징 장치에 의해 획득될 수 있다. 외부 정보에는, 장착 장치 자체 또는 장착 장치 및/또는 카메라를 모니터링하는 센서에 의해 측정된 위치 및 방향 정보가 포함될 수 있다. 일례로는, 로봇 팔이나 전환 및/또는 회전하는 다른 장치에 장착된 카메라가 있다. 이들 장치에는 일반적으로 전환 및/또는 회전 조절에 참여하고 포즈 추정을 전송하기 위해 적합한 외부 정보를 제공할 수 있는 내부 센서(예컨대, 인코더, 가속도계, 자이로스코프, LVDT)가 포함된다. 정보가 카메라가 장착된 장치의 내부 센서로부터 도출되지 않더라도, 장착 장치를 향한 다른 센서들(예컨대, 장착 장치의 포즈들을 추정하는 다중 카메라 시각 시스템)를 사용하여 포즈 추정들을 전송할 수 있다. 이러한 경우, 외부 정보는 카메라가 장착된 장치 또는 장착 장치를 향하고 새로운 포즈를 추정하기 위해 사용되는 센서로부터 프로세스(300)를 수행하는 장치에 의해 수신된다.
예시적 시나리오로는, 로봇 팔의 엔드 이펙터에 고정적으로 장착된 카메라를 들 수 있다. 팔이 움직일 때, 위치 정보는 로봇 팔의 내부 센서에 의해 수집되어 팔의 위치를 조절하기 위해 사용될 수 있다. 이 정보는 또한, 이미지들/프레임들 간 카메라의 위치들 및/또는 방향들 변화를 추정하기 위해 사용될 수 있다. 로봇 팔이 고정된 작업물에서 작동하는 경우, 다른 기준 프레임에 대한 작업물의 위치와 방향은 변경되지 않은 것으로 가정될 수 있다. 반면에, (예를 들어, 컨베이어 벨트 또는 작업 슬라이드 상에) 작업물이 이미지들/프레임들 사이에서 이동하는 경우, 프로세스(300)를 수행하는 장치는 다른 이미지들/프레임들에서 작업물과 카메라 모두의 위치들 및/또는 방향들의 차이를 추정할 수 있다. .
다른 예시적 시나리오로는, 드론이나 자동차와 같은 차량에 고정적으로 장착된 카메라가 있을 수 있다. 차량이 이동함에 따라, 차량의 내부 센서를 통해 위치 정보를 수집할 수 있다. 이 정보는 또한, 이미지들/프레임들 간 카메라의 위치들 및/또는 방향들 변화를 추정하기 위해 사용될 수 있다. 카메라가 고정된 물체를 이미징하는 경우, 다른 기준 프레임에 관한 물체의 위치와 방향은 변경되지 않은 것으로 가정할 수 있다. 반면에, 물체가 또한 이미지들/프레임들 사이에서 이동하는 경우(예를 들어, 물체 역시 움직이는 다른 차량인 경우), 프로세스를 수행하는 장치(300)는 다른 물체의 내부 센서로부터 위치 정보를 수신하고 다른 이미지들/프레임들에 있는 물체와 카메라 모두의 위치들 및/또는 방향들의 차이를 추정할 수 있다.
또 다른 예로서, 카메라들은 치과 이미징에 사용될 수 있다. 예를 들어, 일부 구현예에서, 카메라는 이미지화되는 물체(들)(예컨대, 치아)을 줌심으로 이동될 수 있다. 예를 들어, 치과 전문가 또는 자가 관리 상황에 있는 개인은, 개인의 입 안에서 카메라를 수동으로 움직일 수 있다. 일부 구현예에서는, 카메라가 고정되어 유지될 수 있으며 다양한 특성들을 갖는 다양한 이미지들이 동일한 위치에서 획득될 수 있다. 예를 들어, 다양한 초점들, 다양한 이미징 필터들, 다양한 광원들을 사용하여 이미지들이 획득될 수 있다. 예를 들면, 다양한 편광 광원 및 필터들, 다양한 파장 소스들 및 필터들, 다양한 강도 소스들 및 필터들 등이 포함된다. 일부 구현예에서는, 카메라와 물체의 상대적인 위치와 이미징 자체의 특성 모두 변경될 수 있다. 또한, 카메라 위치와 촬영 대상(들)의 위치가 동일한 상대 위치에서 다른 특성을 갖는 다수의 이미지들을 획득할 필요는 없다. 예를 들어, 카메라가 입 안에서 움직이는 제1 통과 동안, 제1 특성 세트를 갖는 이미지들이 획득될 수 있다. 제2 패스 동안, 제2의 다른 특성 세트를 갖는 이미지들를 얻을 수 있다.
또 다른 예로서, 이미지들은 움직이는 물체를 이미지화하는 고정 카메라에 의해 획득될 수 있다. 한 가지 예시적 시나리오는 조립 라인이나 컨베이어 벨트를 따라 운반되는 물체를 이미지화하는 카메라일 수 있다. 외부 정보는 운송인의 작동 파라미터 및/또는 센서로부터 도출되거나 운송인을 향해 전송될 수 있다. 예를 들어 센서는 컨베이어 벨트나 작업 슬라이드의 속도를 측정할 수 있다. 이러한 경우, 외부 정보는 캐리어로부터 또는 캐리어를 향하는 센서로부터 프로세스(300)를 수행하는 장치에 의해 수신된다. 또한, 일부 구현예에서, 다른 기준 프레임에 대한 고정 카메라의 위치 및 방향은 변경되지 않은 채 유지되는 것으로 가정될 수 있다.
또 다른 예로서, 이미지들은 알려진 공간 및 방향 관계를 갖지만, 동일한 물체를 예를 들어 동시에 이미지화하는 다수의 카메라들에 의해 획득될 수 있다. 외부 정보는 공간 및 방향 관계를 특징화할 수 있다. 이와 같은 경우, 외부 정보는 프로세스(300)의 모든 반복에서 프로세스(300)를 수행하는 장치에 의해 수신될 필요가 없다. 오히려, 카메라들의 공간 및 방향 관계는 일정하게 유지될 수 있다. 또한, 다수의 이미지들이 동시에 획득되는 것들을 포함하는 일부 구현예에서는, 다른 기준 프레임에 대한 물체의 위치와 방향이 변경되지 않은 것으로 가정될 수 있다.
또 다른 예로서, 내부 정보는 이미지들 그 자체로부터 도출될 수 있다. 예를 들어, 이하에 상세히 개시되는 바와 같이, 관심 물체의 일부가 아닌 랜드마크들을 사용하여 제2 이미지에서 카메라의 위치와 방향을 추정할 수 있다. 다른 예로서, 관심 대상의 일부이지만 단계 310에서 포즈들을 추정하기 위해 사용되지 않는 랜드마크들은 제2 이미지에서 카메라의 위치와 방향을 추정하기 위해 사용될 수 있다. 그럼에도 불구하고, 제2 이미지에서 카메라의 위치 및 방향에 대한 이러한 추정은 다른 이미지들의 위치들 및/또는 방향들의 차이를 추정하기 위해 사용될 수 있다. 내부 정보는 단계 305에서 수신되고 단계 305에서 프로세스(300)를 수행하는 장치에 의해 수신되는 이미지에 포함된다.
단계 320에서, 프로세스(300)를 수행하는 장치는, 단계 315에서 추정된 위치들 및/또는 방향들의 차이를 사용하여 이미지들 중 제1 이미지로부터 제1의 상대적 포즈 추정을 전송한다. 전송은 다수의 다양한 방식들로 수행될 수 있다. 예를 들어, 전송은, 위치들 및/또는 방향들의 차이에 따라 제1의 상대적 포즈의 아핀 변환을 포함할 수 있다. 다른 예로서, 상대적 또는 절대적 포즈를 갖는 이미지 쌍들에 대해 훈련된 신경망을 사용하여 제1의 상대적 포즈들을 전송할 수 있다. 또 다른 예로서, 제1의 상대적 포즈들을 전송하기 위해 시각적 주행거리 측정법(visual odometry method)이 사용될 수 있다. 물체의 3차원 모델이 이용 가능한 경우, 프로세스(300)를 수행하는 장치는 제1의 상대적 포즈 추정이 정확한 것으로 가정한 다음, 3차원 모델을 투영하여 단계 315에서 추정된 바와 같이 변경된 물체와 이미징 장치 중 하나 또는 모두의 위치들 및/또는 방향들을 갖는 물체가 어떻게 나타나는지를 계산하도록 한다.
단계 325에서, 프로세스(300)를 수행하는 장치는, 단계 320으로부터 전송된 제1의 상대적 포즈들을, 단계 310으로부터의 제2 이미지로부터 추정된 제2의 상대적 포즈 추정치와 비교한다. 이 비교는 다수의 다양한 방식들로 이루어질 수 있으며 상대적 포즈 추정의 정확성을 나타낼 수 있다.
예를 들어, 랜드마크 검출에 의존하는 프로세스(300)의 구현들에서, 제2 이미지에 있는 랜드마크들의 위치는 제1의 상대적 포즈들을 전송함으로써 형성된 가상 이미지의 동일한 랜드마크들의 계산된 위치와 비교될 수 있다. 단계 320에서의 전송이 물체의 3차원 모델에 의존하는 경우, 랜드마크들의 위치들의 이들 차이는 (단계 310으로부터의) 원래 이미지로부터의 랜드마크 검출 및/또는 단계 315로부터의 추정된 위치적 차이들의 오류를 나타낸다. 추정된 위치적 차이들의 오류가 충분히 작은 경우(예컨대, 위치 및 방향 정보가 매우 정확한 시나리오에서 이미지를 획득한 경우), 랜드마크들의 위치들의 차이들은, 단계 310에서 상대적 포즈 추정들의 기저를 이루는 랜드마크 검출 프로세스의 오류들로 인한 것일 수 있다. 랜드마크 검출을 위한 이미지 처리의 정확성이 특징화될 수 있다.
본 명세서는 "물체"의 3차원 모델을 지칭하지만, 3차원 모델들은 일반적으로 물체의 단일 물리적 인스턴스의 모델이 아니라는 점에 유의한다. 오히려, 3차원 모델은 일반적으로 공통 특성을 공유하는 다양한 물체의 일반적이고 이상적인 모델이다. 예를 들어 자동차나 가전제품의 특정 인스턴스에 대한 세부 사항을 고려하지 않고, 특정 제조사 및 모델의 자동차나 가전제품의 3차원 모델을 포함한다. 다른 예로는, 동물 분류학적 그룹의 3차원 모델(예컨대, 종의 인스턴스 또는 종의 성별)과 기관의 3차원 모델들을 포함한다. 그러나, 일부 구현예에서, 3차원 모델은 물체의 단일 물리적 인스턴스의 모델이다. 예를 들어, 3차원 모델은, (예컨대, 레이저 스캐너, LiDAR 장치 등을 사용하여) 실제 물체들의 개별 인스턴스를 3차원 스캐닝하여 형성할 수 있다.
단계 325로 돌아가서, 다른 예로서, 다른 구현예에서 그리고 이하에 추가로 개시되는 바와 같이, 포즈 추정은 단계 320으로부터의 제1의 상대적 포즈로부터 전송된 물체의 외측 경계를, 단계 310으로부터 추정된 제2의 상대적 포즈 추정에서의 동일한 물체의 외측 경계와 비교함으로써 비교될 수 있다. 다시 한번, 이는 상대적인 포즈 추정들의 정확성을 나타낼 수 있다.
일부 구현예에서, 상대적 포즈 추정치가 다른 특별한 이유를 식별하기 위해 상기 비교들이 사용될 수도 있다. 예를 들어, 랜드마크들의 위치적 차이들이 크기와 방향에서 일관된 경우 체계적 오류들을 식별할 수 있다. 다른 예로서, 프로세스(300)가 다수의 다양한 이미지들에 대해 여러 번 수행될 수 있기 때문에, 예를 들어 상이한 반복들의 결과가 평균화되기 때문에, 측정의 정밀도가 특징화될 수 있다. 실제로, 일부 구현예에서, 이미지 처리의 표준 오차를 결정하기 위해 프로세스(300)의 다수의 반복들이 사용될 수 있다.
또 다른 예로서, 이하에 보다 상세히 논의되는 바와 같이, 상대적으로 큰 위치적 차이를 지속적으로 표시하는 이상치(outlier) 랜드마크들이 - 다른 랜드마크들이 위치에서 훨씬 작은 차이를 표시함에도 불구하고 - 검출될 수 있다. 일부 구현예에서, 예상과 이상치 랜드마크의 편차의 원인은 이미지 처리 시나리오에 특정한 실제 상황에 기인할 수 있다. 이러한 상황의 예로는, 이미지인 물체의 국지적 손상 또는 변형, 국지적 제조 결함 또는 랜드마크들의 일부(전부는 아님)의 위치들의 불일치를 초래하는 기타 상황이 포함된다.
도 4는 프로세스(300)의 일 구현예의 개략도이다. 예시된 구현예에서, 물체(405)는 고정된 물체(405) 주위에 다른 위치들 및/또는 방향들(410, 412, 414)로 연속적으로 또는 동시에 배치된 하나 이상의 카메라들에 의해 이미지화된다. 이미징은 이미지들(415, 417, 419)을 생성한다. 이미지들(415, 417, 419) 중 2개만 프로세스(300)의 단일 반복 동안 제공되고 사용될 필요가 있다. 그러나, 이하에 추가로 개시되는 바와 같이, 3개 이상의 이미지들이 제공될 수도 있고 또한 프로세스(300)의 다수의 반복들이 수행될 수 있다.
제1 반복에서, 랜드마크들(420)은 이미지들(415, 417)의 각각에서 식별된다. 랜드마크들(420)은 각 이미지들(415, 417)(즉, 도 3의 310)에서 물체(405)와 이미징 장치의 상대적인 포즈들을 추정하기 위해 사용될 수 있다. 도시된 구현예에서, 전부는 아니지만, 대부분의 랜드마크들(420)은 이미지들(415, 417)에 대해 공통적이다. 한 가지 예외는 랜드마크들(420, 422)인데, 이는 이미지(415)에서는 볼 수 있지만 이미지들(417)(및 이미지(4)19)에서는 물체(405)의 다른 부분들에 의해 가려진다.. 다른 구현예에서는 일부 이미지들에서는 다른 랜드마크들이 표시되고 다른 이미지들에서는 가려진다.
또한, 위치들 및/또는 방향들(410, 412) 사이의 차이들은, 상대적인 포즈 추정 이외의 정보로부터 추정될 수 있다. 예를 들어, 이미지들(415, 417)에 대한 외부의 정보, 이미지들(415, 417)에 대한 내부의 정보, 또는 이들 모두가 사용될 수 있다. 이들 차이는 이미지들(415, 417) 중 하나를 이미지들(415, 417)의 다른 것으로 전송하기 위해 사용될 수 있다. 예시된 구현예에서는 물체(405)가 정지되어 있기 때문에, 전송은 이미징 장치(들)의 위치들 및/또는 방향들(410, 412)의 차이만 고려하면 된다. 장치. 그러나, 다른 구현예에서는 물체(405)의 위치들 및/또는 방향들의 차이들도 전송 동안 고려될 수 있다.
예시된 구현예에서, 이미지(415)(즉, 프로세스 300의 단계 320)의 전송은, 예시적 목적을 위해 화살표(425)와 물체(405)의 가상의 새로운 이미지(430)로 표현된다. 일반적으로, 물체(405)의 완전히 새로운 이미지(430)는 실제로 생성 또는 렌더링되지 않는다. 오히려, 전송은, 예를 들어, 그 차이들에 기초하여 기초하여 물체의 3차원 모델을 투영함으로써, 위치들 및/또는 방향들(410, 412) 간의 차이가 주어지도록 하는 가상의 새로운 이미지에서 다양한 랜드마크들(435)의 위치를 도출하기만 하면 된다. 이미지들(417)의 랜드마크들(420) 중 적어도 일부는 대응하는 랜드마크들(435)을 갖는다.
도시된 구현예에서, 이미지들(417)의 랜드마크(420)와 대응하는 랜드마크(435)의 위치가 비교된다. 이 비교는 스케일(440)로서 개략적으로 표현되지만, 예를 들어, 대응하는 랜드마크들(420, 435)의 x 및 y 좌표의 차이를 결정함으로써 구현될 수 있다.
도 5는, 랜드마크 위치들(즉, 도 4와 관련되지 않음)의 2개의 임의 비교의 다른 결과들(505, 510)을 개략적으로 나타낸다. 결과들(505, 510)의 각각의 도트( 점)는 하나의 이미지에서 검출된 각 랜드마크의 위치와 다른 위치로부터 전송된 대응하는 랜드마크들의 위치들 사이의 x 좌표 차이 Δx 및 y 좌표 차이 Δy를 나타내기 위해 데카르트 그래프에 위치된다. 전술한 바와 같이, 전송은, 두 이미지들에서 물체 및/또는 이미징 장치의 위치들 및/또는 방향들의 차이를 특징화 하는 외부 또는 내부 정보에 기초한다. 도시된 바와 같이, 결과들(505)는 결과들(510)보다 더 긴밀하게 클러스터링되어 있으며, 이는 결과들(505)이 생성된 이미지 처리가 결과들(510)이 생성된 이미지 처리보다 더 정확하다는 것을 나타낸다.
각각의 결과(505, 510)는 또한, 위치에서 허용 가능한 편차의 양을 나타내는 임계 레벨(515)을 개략적으로 나타낸다. 예를 들어, 결과(505)에서는, 위치적 차이들의 대부분이 임계 레벨 내에 있는 반면, 위치적 차이들의 대부분은 결과(515)의 임계 레벨 밖에 있다.
도 6은 프로세스(300)의 제2 반복의 개략도이다. 도시된 제2 반복은 도 4에 표시된 제1 반복과 함께 수행될 수 있다. 이 제2 반복에서는, 랜드마크(420)가 이미지들(417, 419) 각각에서 식별된다. 많은 경우에, 제1 반복에서 이미지들(417)에서 식별된 동일한 랜드마크들 중 일부가 재사용될 수 있다. 랜드마크들(420)은 각 이미지들(417, 419)에서 물체(405)와 이미징 장치의 상대적인 포즈를 추정하기 위해 사용될 수 있다. 위치들 및/또는 방향들(412, 414) 사이의 차이들은 다른 정보를 사용하여 추정될 수 있다. 이들 차이는, 화살표(605) 및 가상의 새로운 이미지(610)로 개략적으로 표현된 바와 같이 이미지들(417, 419) 중 하나를 이미지들(417, 419) 중 다른 이미지로 전송하기 위해 사용될 수 있다. 이미지(419)의 랜드마크들(420) 중 적어도 일부는 대응하는 랜드마크들(615)을 갖는다. 다시 한번, 이미지(419)의 랜드마크들(420)과 대응하는 랜드마크들(615)의 위치들은 스케일(440)에 의해 개략적으로 표현된 바와 같이 비교된다.
일부 구현예에서, 랜드마크들의 위치는 이미지 처리 결과를 특징화하기 위해 프로세스(300)의 다수의 반복들에 걸쳐 비교될 수 있다. 또한, 비교들은 이미지에서 검출된 개별 랜드마크들의 x, y 위치와 다른 이미지로부터 전송된 대응하는 랜드마크를 직접 비교하는 것으로 표현될 필요는 없다. 오히려, 비교들은 랜드마크들의 그룹 또는 하위 그룹들의 위치적 차이들을 표현할 수 있다. 예를 들어, 랜드마크들의 지역적 그룹화를 정의하고 비교하여 포즈 추정의 정확성을 국지적으로, 즉 지역별로 특징화할 수 있다. 예를 들어, 물체의 저부 영역에 있는 랜드마크들의 근접한 일치는, 포즈 추정들이 이 영역에서 더 정확하다는 것을 나타낼 수 있고 다른 영역에서의 불량한 일치는 이 다른 영역에서 포즈 추정들이 덜 정확하다는 것을 나타낼 수 있다.
또한, 위치적 차이들은, 예를 들어 x, y 위치들의 평균 차이들, 다수의 랜드마크들의 무게 중심 차이들, 또는 특정 랜드마크들이 식별되는 신뢰성, 랜드마크 자체와 물체 및/또는 카메라의 방향, 기타 파라미터들 간의 공간적 관계 등을 설명하는 다른 차이들을 반영할 수 있다. .
도 7은 랜드마크들의 그룹들의 위치적 차이들(705)을 개략적으로 나타낸다. 위치적 차이들(705)은 x축(710)과 y축(715)을 포함하는 막대 그래프로 표시된다. x축(710)을 따른 각 막대는 프로세스(300)의 반복에서 두 그룹의 랜드마크들의 집합적인 위치적 차이들을 나타낸다. 도시된 구현예에서, 막대들은 다음 표기법을 사용하여 지정된다: "1->2," "2->3," …. 이 표기법은, 막대가 반복과 관련되어 있음을 나타내며, 랜드마크들은 제1 이미지(예컨대, 이미지 1, 이미지 2, ...)를 제2 이미지(예컨대, 이미지 2, 이미지 3, ...)의 추정된 위치들 및/또는 방향들로 변환된다.
y축(715)을 따른 막대의 높이는, 집합적인 위치적 차이들의 불확실성을 나타낸다. 예를 들어, 높이는, 그룹의 대응하는 랜드마크들의 위치들 사이의 거리들의 합을 반영할 수 있다.
연속적인 반복들의 비교들을 행함으로써, 특정 포즈 추정들에 대한 세부 사항을 식별할 수 있다. 예를 들어, 위치적 차이들(705)에서, 이미지(4)를 수반하는 모든 비교는 다른 이미지들을 수반하는 비교들보다 더 큰 위치적 불확실성을 갖는 것으로 나타난다. 이 더 큰 위치적 불확실성은, 이미지(4)로부터 얻은 포즈 추정이 다른 이미지로부터 얻은 포즈 추정보다 덜 정확하다는 표시로서 간주될 수 있다.
도 8은, 랜드마크 검출 및 포즈의 추정의 결과가 충분히 정확한 것을 보장하기 위해 프로세스(300)의 다수의 반복들이 어떻게 사용될 수 있는지에 대한 개략도이다. 특히, 단일 이미지로부터 전송된 랜드마크들의 위치를 다른 이미지의 랜드마크들의 위치와 비교하는 것이 아니라, 다수의 이미지로부터 랜드마크들이 전송된 다음 비교될 수 있다. 예를 들어, 도시된 구현예에서, 랜드마크들은 이미지들(415, 417) - 그리고 가능하게는 다양한 위치들 및/또는 방향들에서 하나 이상의 다른 이미지들(805)의 모두로부터 전송될 수 있다. 전술한 바와 같이, 전송은 예시적 목적을 위해 화살표(710)와 가상의 새로운 이미지(815)의 집합으로서 개략적으로 표시된다.
다수의 이미지들(415, 417, 805)로부터의 전송은, 이미지들(415, 417, 805)이 획득되는 위치들 및/또는 방향들과 위치 및/또는 방향(414) 사이의 차이가 주어지면 발생하는 가상의 새로운 이미지들에서 다양한 랜드마크들의 클러스터들(820)을 생성한다.
클러스터들(820)의 특성은, 랜드마크별로 이미지 처리의 정확성을 특징화하기 위해 결정되고 사용될 수 있다. 예를 들어, 클러스터의 매우 좁은 확산은 랜드마크 검출 및 포즈 추정이 더 정확하다는 것을 나타내는 반면, 넓은 확산은 랜드마크 검출 및 포즈 추정이 덜 정확하다는 것을 나타낸다. 클러스터에 있어서의 위치들의 확산은 다양한 방법들로 결정될 수 있다. 예를 들어, 일부 구현예에서, 대응하는 랜드마크들의 평균 위치로부터 개별 랜드마크들의 위치적 편차는, 랜드마크 검출 및 포즈의 추정의 정확성에 대한 척도로서 취해질 수 있다.
다른 구현예에서, 다른 이미지들(415, 417, 805)로부터 전송된 랜드마크들은 평균화 이전에 필터링되어 이상치과 부정확한 랜드마크들 및 포즈 추정을 제거할 수 있다.
또 다른 구현예에서는, 랜드마크들의 위치들은 평균화 전에 가중될 수 있다. 예를 들어, 소스 이미지들(415, 417, 805)의 위치들 및/또는 방향들이 이미지(419)의 위치들 및/또는 방향들(414)에 얼마나 가까운지에 따라 위치들이 가중될 수 있다. 이러한 가중은 소스 이미지들(415, 417, 805) 및 이미지(419)에서 물체나 카메라의 위치들 및/또는 방향들의 차이를 추정하는 것으로 인한 임의의 오류의 영향을 감소시킬 것이다.
도 9는, 그래프(905)에서 이미지 처리의 결과들을 특징화하기 위해 프로세스(300)의 다수의 반복들이 어떻게 사용될 수 있는지를 개략적으로 나타낸다. 그래프(905)는 x축(910)과 y축(915)을 포함한다. x축(910)을 따른 위치는 반복 횟수, 즉, 랜드마크들이 이미지로부터 이미징 장치와 물체 사이의 다른 위치 및/또는 방향으로 전송되는 횟수를 나타낸다. y축(915)을 따른 위치는, 서로 다른 전송 결과들이 결합될 때 개별 랜드마크들의 위치의 불확실성을 나타낸다. 예를 들어, y축(915)을 따른 위치는, 클러스터의 확산, 예를 들어 전송된 랜드마크들의 위치가 특정 위치 및/또는 방향에서 랜드마크의 위치들을 얼마나 정확하게 식별하는지를 반영할 수 있다.
그래프(905)에서, 제1 랜드마크에 대한 위치적 불확실성은 실선 점들로 표시되는 반면, 제2 랜드마크에 대한 위치적 불확실성은 x's로서 도시된다. 일반적으로 랜드마크가 전송되는 이미지 수가 증가할수록 위치적 불확실성은 감소한다. 또한, 랜드마크들이 전송되는 이미지들의 수가 증가함에 따라, 랜드마크들의 위치적 불확실성은 일반적으로 점근적으로 최소값에 접근하게 된다. 이 최소값은 이미지 처리의 표준 오류로서 간주될 수 있다.
또한, 그래프(905)에는 임계 레벨(920)이 도시되어 있다. 임계 레벨(920)은, 위치적 불확실성이 충분히 낮고 및/또는 수용할 수 없을 정도로 높은 레벨을 지정할 수 있다. 일부 구현예에서, 임계 레벨(920)은, 충분한 수 및/또는 품질의 이미지들(예를 들어, 이미지들 415, 417, 805)이 획득되고 처리되는 것을 보장하기 위해 상호작용 프로세스의 일부로서 사용될 수 있다. 예를 들어, 개인이 스마트폰을 사용하여 주차된 자동차의 사진이나 비디오를 찍는 시나리오에서, 개인은 수용 가능한 낮은 위치적 불확실성이 달성될 때까지 이미지를 계속 획득하도록 지시받을 수 있다.
도 10은, 다양한 이미지들에서 물체 또는 카메라의 위치 및/또는 방향의 차이를 추정하기 위해 수신된 이미지 내의 정보에 의존하는 프로세스(300)의 구현을 개략적으로 나타낸 것이다.
도시된 구현예에서, 물체(405)는 다른 물체들(1005, 1010)의 부근에 있다. 물체들(1005, 1010)의 정확한 특성은 특정 시나리오에 따라 달라질 것이다. 예를 들어, 물체들(1005, 1010)은 차량, 건물 또는 풍경의 특징들일 수 있다. 다른 예로서, 물체들(1005, 1010)은, 예를 들어 조명, 레일, 바닥 표시 등을 포함하여 조립 라인 부근의 인프라 구성요소일 수 있다.
도시된 구현예에서, 물체들(1005, 1010)은 물체(405)와 별개이고 물체(405)의 일부가 아니다. 이는 반드시 상기 경우는 아니다. 예를 들어, 일부 구현예에서, 물체(405)의 구성요소들 또는 다른 부분들은 다양한 이미지들에서 물체 또는 카메라의 위치 및/또는 방향의 차이를 추정하기 위해 사용될 수 있다.
그럼에도 불구하고, 단계 310에서 상대적인 포즈들을 추정하는데 사용된 정보 이외의 정보는, 다양한 이미지들에서 물체 또는 카메라의 위치 및/또는 방향의 차이를 추정하기 위해 사용된다. 예를 들어, 상대적인 포즈들은 물체(405)의 일부 부분들/구성요소들을 사용하여 단계 310에서 추정될 수 있는 반면, 다른 이미지들의 물체 또는 카메라의 위치 및/또는 방향의 차이는 물체(405)의 다른 부분들/구성요소들을 사용하여 추정될 수 있다.
도 11은, 제1 이미지로부터 전송된 상대적인 포즈들을, 제2 이미지로부터 추정된 상대적인 포즈와 비교하기 위한 프로세스(1100)의 개략도이다. 예를 들어, 프로세스(1100)는 단계 320으로부터 전송된 포즈와 단계 310(도 3)에서 추정된 포즈를 사용하여 프로세스(300)의 단계 325에서 수행될 수 있다. 프로세스(1100)에서는, 이미지의 물체의 외측 경계와 다른 이미지로부터 전송된 물체의 외측 경계를 비교하여 상대적인 포즈 추정들을 비교한다. 외측 경계들 사이의 대응은 포즈 추정들의 정확성을 나타낸다.
랜드마크들의 위치에 의존하는 비교와 마찬가지로, 정확성을 특징화하기 위해 외측 경계 또는 다른 파라미터에 의존하는 비교는, 이미지 처리의 결과들을 특징화하기 위해 프로세스(300)의 다수의 반복들에 걸쳐 이루어질 수 있다. 또한, 전송 결과는, 예를 들어 포즈 추정이 충분히 정확한지 결정하기 위한 임계 레벨과 결합되고 비교될 수 있다. 또한, 포즈의 추정의 외측 경계(또는 다른 파라미터)를 하나의 전체로서 비교하는 대신, 외측 경계(또는 다른 파라미터)의 부분들을 비교하여 포즈 추정의 정확성을 국지적으로 특징화할 수 있다. 예를 들어, 물체의 바닥 영역에서 포즈 추정치의 근접 일치는, 이 영역에서 포즈 추정치가 더 정확하다는 것을 나타낼 수 있고 다른 영역에서 포즈 추정치의 불량한 일치는 포즈 추정치가 이 다른 영역에서 덜 정확하다는 것을 나타낼 수 있다.
결과들(505, 510)(도 5), (705)(도 7), (905)(도 9)을 포함한, 이미지 처리 의 결과들의 특징화는 다양한 방식으로 사용될 수 있다.
예를 들어, 일부 구현예에서는, 특정 결과가 불충분한 정확도 또는 부적절하다고 판단할 때 특징화들이 사용될 수 있다. 예를 들어, 도 7을 참조하면. 이미지(4)로부터 생성된 포즈 추정은 정확도가 불충분한 것으로 간주될 수 있으며, 이미지(4)로부터 생성된 포즈 추정들은 후속 이미지 처리에서 폐기되거나 필터링될 수 있다. 다른 예로서, 위치적 부정확도가 임계 레벨 미만이 되도록 이미지 획득을 계속하거나 반복할 수 있다. 일례가 도 9에 도시되어 있다.
일부 구현예에서, 단순히 더 많은 이미지를 획득하는 것보다, 이미지 획득은 다양한른 이미지들, 예를 들어 다른 상대 위치들 또는 줌으로부터의 이미지들, 다양한 노출을 갖는 이미지들, 다양한 광학 필터 및/또는 조명 소스들(예를 들어, 색상, 강도, 편광)를 갖는 이미지들, 디양한 프레임 속도를 갖는 이미지들, 등과 같은 다양한 이미지들을 획득함으로써 제어되거나 개선될 수 있다.
도 12는, 랜드마크 검출을 위한 기계 학습 모델을 사용하여 이미징 장치와 물체 사이의 상대적 포즈들을 추정하기 위한 프로세스(1200)의 흐름도이다. 프로세스(1200)는 예를 들어, 일련의 기계 판독 가능 명령어, 하드웨어 어셈블리, 또는 이들 및/또는 다른 명령어의 조합의 논리에 따라, 데이터 처리 활동을 수행하는 하나 이상의 데이터 처리 장치들에 의해 수행될 수 있다. 프로세스(1200)는 단독으로 또는 다른 활동들과 연계하여 수행될 수 있다. 예를 들어, 프로세스(1200)는 프로세스(300)(도 3)의 단계 310에서 수행될 수 있다.
프로세스(1200)에 의해 구현된 포즈 인식은, 카메라의 상대적 포즈와 현실 세계의 2차원 이미지에서 적어도 부분적으로 보이는 물체의 고품질 추정을 제공할 수 있다.
단계 1205에서, 프로세스(1200)를 수행하는 시스템은, 랜드마크 검출을 위한 기계 학습 모델을 사용하여 물체의 실제 2차원 이미지에서 랜드마크들을 검출한다. 일부 구현예에서, 랜드마크 검출을 위한 기계 학습 모델은 프로세스(1300)(도 13)를 사용하여 생성된다. 실제 2차원 이미지에 있는 랜드마크들은 2차원 랜드마크가 된다.
단계 1210에서, 프로세스(1200)를 수행하는 시스템은, 검출된 2차원 랜드마크들을 필터링하여 검출된 랜드마크들의 하나 이상의 서브세트를 생성하도록 한다. 일부 구현예에서, 필터링은,
- 물체의 3D 모델에 있는 랜드마크와,
- 검출된 2차원 랜드마크들,
사이의 대응성을 결정하는 단계를 포함할 수 있다..
예를 들어, (실제 이미지에서 검출된) 2차원 랜드마크와 (물체의 3D 모델에 존재하는) 3차원 랜드마크 쌍의 집합이 결정될 수 있다.
임의의 경우에, 다양한 필터링 작업들을 사용하여 이들 쌍을 사전 필터링하고 검출된 랜드마크들의 하위 집합(들)과 3D 모델의 대응하는 랜드마크를 생성할 수 있다. 예를 들어, 실제 이미지에서 물체의 외측 경계에 가까운 실제 이미지로부터의 2차원 랜드마크들이 제거될 수 있다. 물체의 경계는, 예를 들어 컴퓨터 비전 기술을 포함한 다양한 방법으로 식별될 수 있다. 어떤 경우에는, 단계 705에서 랜드마크 검출를 위한 기계 학습 모델에 의해 검출된 동일한 랜드마크를 사용하여 물체의 경계가 검출될 수 있다.
필터링 작업의 다른 예로서, 기계 학습 모델에 의해 검출되고 서로에 대해 가까운 2차원 랜드마크들을 무작위로 필터링하여 적어도 하나의 랜드마크가 근처에 남도록 할 수 있다. 2차원 랜드마크들 사이의 거리는, 예를 들어 픽셀들에서 측정될 수 있다. 일부 구현예에서, 2차원 랜드마크들은 거리가, 예를 들어 이미지의 폭 또는 높이의 2% 이하 또는 이미지의 폭 또는 높이의 1% 이하인 경우, 가까운 것으로 지정된다.
필터링 작업의 또 다른 예로서, 3D 모델의 하나 이상의 랜드마크들은 3D 모델의 다른 대칭 랜드마크들로 교체될 수 있다. 예를 들어, 물체가 자동차인 구현예에서, 자동차의 조수석 측의 3D 모델 랜드마크가 운전석 측 랜드마크로 교체될 수 있다. 다른 대칭 또는 거의 대칭 관계(예컨대, 점 또는 축을 중심으로 한 회전)가 있는 물체의 경우, 그에 따른 랜드마크들의 맞춤형 교체가 사용될 수 있다.
단계 1215에서, 프로세스(1200)를 수행하는 시스템은, 검출된 랜드마크들의 서브세트(들)를 사용하여 카메라와 물체에 대한 하나 이상의 후보 상대적 포즈들을 계산한다. 이 상대적인 포즈는 다양한 방법들로 계산될 수 있다. 예를 들어, (OpenCV 라이브러리 https://docs.opencv.org/4.4.0/d9/d0c/group__calib3d. html #ga549c2075fac14829ff4a58bc931c033d에서 입수가능한) 랜덤 샘플 컨센서스를 사용하는 SolvePnP와 같은 컴퓨터 비전 접근 방식을 사용하여, 소위 "원근법 n점 (perspective-n-point) 문제"를 해결하고 2차원 및 3차원 랜드마크들의 쌍들에 기초하여 상대적인 포즈를 계산할 수 있다.
이와 같은 컴퓨터 비전 접근 방식은, 이상치, 즉, 검출된 2D 랜드마크들의 위치가 실제 위치와 멀리 떨어져 있는 랜드마크 쌍에 대해 탄력적인 경향이 있다. 그러나, 컴퓨터 비전 접근 방식은,
실제 이미지에서는 보이지 않지만 실제 이미지의 코너나 가장자리에 있을 것으로 예측되는 2차원 랜드마크들, 물체가 보이거나 물체 뒤에 숨겨져 있는 것으로 확실하게 식별할 수 없는 랜드마크들, 신뢰할 수 없거나 부정확한 2차원 랜드마크에 대한 예측, 서로 교체되는 대칭 랜드마크들, 동일한 위치에서 검출되는 시각적으로 유사한 랜드마크들, 복잡한 국지적 구조를 갖는 영역에서의 클러스터 랜드마크들를 포함하는, 랜드마크 디텍터의 공통적인 결함들을 일관되게 극복할 만큼 탄력적이지 않은 경우가 많다. 단계 710에서, 검출된 2차원 랜드마크를 필터링함으로써 프로세스(700)를 수행하는 시스템은 이들 문제를 피할 수 있다.
단계 1220에서, 프로세스(1200)를 수행하는 시스템은, 검출된 랜드마크들의 서브세트(들)를 사용하여 계산된 후보인 상대적인 포즈(들)를 필터링한다. 필터링은, 실제 이미지의 물체에 대해 잠재적으로 허용 가능한 포즈를 규정하는 일련의 기준에 기초할 수 있다. 일반적으로, 기준은, 실제 이미지가 촬영될 가능성이 있는 실세계의 조건을 반영하고 물체의 특성에 따라 조정될 수 있다. 예를 들어, 물체가 자동차인 후보인 상대적인 포즈들에 대해:
- 카메라는 자동차 아래 지면에 대해 0미터에서 5미터 사이의 고도에 있어야 한다.
- 카메라는 자동차로부터 20m 이내에 있어야 하고.
- 자동차 아래 지면에 대한 카메라의 롤이 작다(예컨대, +/- 10도 미만).
- 추정된 포즈의 2차원 랜드마크들의 위치는 3D 모델의 대응하는 랜드마크들의 위치와 일치해야 하고, 예를 들어, 실제 이미지의 2차원 랜드마크를 3D 모델로 역투영하여 결정되며,
- 다른 기술로 식별된 물체의 경계는 예측된 포즈의 결과인 물체의 경계와 거의 일치해야 한다.
후보인 상대적인 포즈가 이러한 기준을 충족하지 않는 경우, 해당 포즈는 폐기되거나 후속 데이터 처리 활동에서 제외될 수 있다.
단계 1225에서, 프로세스(1200)를 수행하는 시스템은, 나머지(필터링되지 않은) 후보인 상대적인 포즈들에 기초하여 실제 이미지에서 물체의 상대적인 포즈들을 추정한다. 예를 들어, 단 하나의 후보인 상대적인 포즈만 남아 있다면, 이를 상대적인 포즈의 최종 추정으로 간주할 수 있다. 다른 예로서, 다수의 후보인 상대적인 포즈가 남아 있는 경우, 후보인 상대적인 포즈들 간의 차이를 결정하여 상대적인 포즈가 합리적으로 추정되었다고 결론을 내릴 수 있다. 다음, 나머지 후보인 상대적인 포즈들은 평균화되거나 달리 결합되어 상대적인 포즈들을 추정할 수 있다.
도 13은, 주석이 달린 3D 모델을 이용하여 실제 2차원 이미지들에서 랜드마크들을 검출할 수 있는 랜드마크 디텍터를 생성하기 위한 프로세스의 흐름도이다. 프로세스(1300)는, 예를 들어, 일련의 기계 판독 가능 명령어, 하드웨어 어셈블리, 또는 이들 및/또는 다른 명령어의 조합의 논리에 따라 데이터 처리 활동을 수행하는 하나 이상의 데이터 처리 장치들에 의해 수행될 수 있다. 프로세스(1300)는 단독으로 또는 다른 활동들과 연계하여 수행될 수 있다. 예를 들어, 프로세스(1200)(도 12)는, 프로세스(1300)에서 생성되고 포즈 인식에 맞춰진 랜드마크 검출을 위한 기계 학습 모델을 사용하여 수행될 수 있다.
단계 1305에서, 프로세스(1300)를 수행하는 시스템은, 물체의 주석이 달린 3D 모델을 사용하여 물체의 2차원 이미지들의 집합을 렌더링한다. 광선 추적이나 기타 컴퓨터 그래픽 기술이 사용될 수 있다. 전술한 바와 같이, 일반적으로 2차원 이미지는 가능한한 가변적인 것이 바람직하다. 물체, 이미징 장치, 이미지 처리 및 이미징 조건들의 다양한 서로 다른 상대적인 포즈들 및/또는 교란을 사용하여 다양한 2차원 이미지들의 집합을 생성할 수 있다. 일부 구현예에서는, 새로운 렌더링들을 생성할 필요가 없다. 오히려, 3D 모델로부터 도출된 완벽한 지식에 3D 모델로부터의 적절한 주석을 추가하여 기존 렌더링에 간단히 주석을 달 수 있다.
단계 1310에서, 프로세스(1300)를 수행하는 시스템은, 물체의 주석이 달린 3D 모델을 사용하여 렌더링된 2차원 이미지를 사용하여 실세계의 2차원 이미지들에서 랜드마크 검출을 위한 기계 학습 모델을 훈련한다. 랜드마크 검출를 위한 기계 학습 모델의 예는, https://github.com/facebookresearch/Detectron2에서 이용할 수 있는 detectorron2이다.
단계 1315에서, 프로세스(1300)를 수행하는 시스템은, 특정 형태의 이미지 처리에서 대용 2차원 이미지들을 사용하여 훈련된 2차원 랜드마크 검출을 위한 기계 학습 모델을 적용한다. 또한, 이미지 처리의 특정 결과를 부정확한 것으로 거부함으로써 동일한 기계 학습 모델을 추가로 훈련할 수 있다.
보다 상세하게는, 이미지 분류, 특징 추출, 패턴 인식, 포즈 추정, 투영 등에 랜드마크 검출이 사용될 수 있다. 3D 모델에서 렌더링된 대용 2차원 이미지를 사용하여 개발된 트레이닝 세트는, 특정 이미지 처리에 대한 랜드마크 검출를 위한 기계 학습 모델을 추가로 훈련시키도록 사용될 수 있다.
예를 들어, 위에서 설명한 바와 같이, 2차원 랜드마크 검출 기계 학습 모델을 포즈 인식에 적용할 수 있다. 특히, 대용 2차원 이미지에서 검출된 랜드마크들과 3D 모델의 랜드마크들 간의 대응관계를 이용하여 대용 2차원 이미지들에서 물체의 상대적인 포즈들을 결정할 수 있다. 이들 포즈 예측을 검토하여 특정 기준을 충족하지 않는 포즈를 무효화할 수 있다. 일부 구현예에서, 포즈 예측을 무효화하기 위한 기준은, 3D 모델로부터 대용 2차원 이미지를 렌더링할 때 사용되는 기준에 기초하여 설정된다. 예를 들어, 대용 2차원 이미지들(예컨대, 상대 각도들 또는 위치들의 범위)를 렌더링할 때 이미징 장치와 물체의 상대적 포즈들이 제한되는 경우, 이러한 제약에 포함되지 않는 예측된 포즈들은 부정확한 것으로 분류되어 사용될 수 있고, 또한, 예를 들어 랜드마크 검출를 위한 기계 학습 모델의 추가 훈련에 대한 부정적인 예로서 사용될 수 있다.
다른 구현예에서, 예측된 포즈는 ,3D 모델로부터 대용 2차원 이미지를 렌더링할 때 사용되는 임의의 기준과 무관한 기준으로 제한될 수 있다. 예를 들어, 예측된 포즈는, 실세계 포즈 예측에서 발견될 가능성이 있는 포즈들로 제한될 수 있다. 이러한 기준에 따라 거부된 포즈들은 반드시 부정적인 예로서 유용하지는 않지만 현실적인 조건 밖에서 랜드마크 검출를 수행할 필요가 없으므로 간단히 생략된다.
3D 모델로부터 대용 2차원 이미지를 렌더링할 때 기준이 사용되는지 여부에 관계없이, 예측된 포즈들은, 예를 들어, 카메라와 물체 사이의 정의된 거리 범위(예컨대, 1-20 미터 사이) 및/또는 카메라와 물체의 중심 사이의 축을 따라 정의된 롤의 규정된 범위(예컨대, +/- 10도 미만)로 제한될 수 있다.
다른 예로서, 다른 컴퓨터 구현 기술을 사용하여 포즈 예측을 부정확한 것으로서 거부할 수 있다. 예를 들어, 컴퓨터 그래픽 기술(예컨대, 광선 추적) 및 컴퓨터 비전 기술(예컨대, 의미론적 분할 및 능동 윤곽 모델)을 포함하는, 다양한 컴퓨터 구현 기술을 사용하여 물체의 경계를 식별할 수 있다. 이러한 기술에 의해 식별된 물체의 경계가 예측된 포즈에 따른 물체의 경계와 일치하지 않으면, 예측된 포즈가 부정확한 것으로서 거부될 수 있다.
따라서, 프로세스(1300)는 훈련 중에 실제 이미지들에 의존하지 않고 특정 형태의 이미지 처리에 랜드마크 검출 기계 학습 모델을 추가로 맞춤화할 수 있다.
도 14는, 이미지들(205, 210, 215, 220)(도 2)과 같은 물체의 이미지들을 처리하기 위한 컴퓨터 구현 프로세스(1400)의 흐름도이다. 프로세스(1400)는, 데이터 처리 활동을 수행하는 하나 이상의 데이터 처리 장치들에 의해 수행될 수 있다. 프로세스(1400)의 활동은, 기계 판독 가능 명령어 세트, 하드웨어 어셈블리, 또는 이들 및/또는 다른 명령어의 조합의 논리에 따라 수행될 수 있다.
전술한 바와 같이, 캡처된 포즈에 따라, 물체에 대한 랜드마크들이 다양한 사진 이미지들의 다양한 위치들에 나타날 수 있다. 프로세스(1400)는, 물체의 사진 이미지들에서 랜드마크들을 식별하기 위해 기계 학습 기술을 사용하여 훈련된 랜드마크 디텍터를 생성한다. 식별된 랜드마크들은, 포즈 추정, 이미지 분류, 특징 추출, 패턴 인식 등을 포함한 다양한 서로 다른 이미지 처리 애플리케이션들에 사용될 수 있다. 따라서, 프로세스(1400)는 독립적으로 또는 보다 큰 활동들의 집합의 일부로서 수행될 수 있다. 예를 들어, 프로세스(1400)는 프로세스(1200)(도 12)에서 사용되는 주석이 달린 3D 모델을 생성하기 위해 수행될 수 있다.
단계 1405에서, 프로세스(1400)를 수행하는 장치는, 처리될 하나 이상의 이미지들에 나타나는 물리적 물체의 3D 모델을 식별한다. 3D 모델은, 일반적으로 임의의 참조 프레임과 분리된 3차원 공간에서 물체를 나타낼 수 있다. 3D 모델은 수동으로, 알고리즘적으로(절차적 모델링) 또는 실제 물체들을 스캔하여 생성될 수 있다. 3D 모델의 표면은 텍스처 매핑을 통해 규정될 수 있다.
대부분의 경우, 단일 3D 모델에는 몇몇의 구성 부분들이 포함된다. 물체의 부분들은, 물체의 조각 또는 볼륨이며 일반적으로 기능 및/또는 구조에 기초하여 물체의 다른 조각 또는 볼륨들과 구별된다. 예를 들어, 자동차 부품에는, 범퍼, 휠, 차체 패널, 후드, 앞 유리 및 후드들이 포함될 수 있다. 기관의 부분들은, 예를 들어 챔버, 판막, 공동, 엽, 관, 막, 혈관계 등을 포함할 수 있다. 식물의 부분에는, 뿌리, 줄기, 잎, 꽃이 포함될 수 있다. 3D 모델의 특성에 따라, 3D 모델 자체가 구성 부분의 3D 모델로 분할될 수 있다. 예를 들어, CAD(Computer-Aided Design) 소프트웨어를 사용하여 생성된 자동차의 3D 모델은, 구성 부품들의 3D CAD 모델들의 조립일 수 있다. 그러나 다른 경우에, 3D 모델이 구성 부분들로 세분화된 단일 전체로서 시작할 수 있다. 예를 들어, 장기의 3D 모델은 의료인이나 기타 전문가의 지시에 따라 다양한 구성 부분들로 분할될 수 있다.
어떤 경우에, 이미지(들)에 나타나는 물체를 식별하는 데이터가 인간 사용자로부터 수신될 수 있다. 예를 들어, 인간 사용자는 이미지(들)에 나타나는 자동차의 제조사, 모델, 연도를 표시할 수 있다. 다른 경우에는, 인간 사용자가 이미지(들)에 나타나는 인간의 장기나 식물의 종을 나타낼 수도 있다. 다른 구현예에서는, 이미지 분류 기술을 사용하여 물체를 식별할 수 있다. 예를 들어, 컨벌루션 신경망은, 이미지의 물체 또는 물체의 일부에 대한 분류 레이블을 출력하도록 훈련될 수 있다.
물체의 3D 모델은 다양한 방법으로 식별될 수 있다. 예를 들어, 물체를 식별하는 데이터를 사용하여 기존 3D 모델들의 라이브러리를 검색할 수 있다. 대안적으로, 제품 제조업체는 3D 모델 제공을 요청하거나 실제 물체를 스캔할 수도 있다.
단계 1410에서, 프로세스(1400)를 수행하는 장치는 3D 모델에 나타나는 랜드마크들에 주석을 단다. 전술한 바와 같이, 이들 랜드마크는 3D 모델의 관심 위치이며 3D 모델에서 식별되고 주석을 달 수 있다.
도 15는, 3D 모델에 나타나는 랜드마크들에 주석을 달기 위한 컴퓨터 구현 프로세스(1500)의 흐름도이다. 프로세스(1500)는 예를 들어, 일련의 기계 판독 가능 명령어, 하드웨어 어셈블리, 또는 이들 및/또는 다른 명령어의 조합의 논리에 따라, 데이터 처리 활동을 수행하는 하나 이상의 데이터 처리 장치들에 의해 수행될 수 있다. 프로세스(1500)는 단독으로 또는 다른 활동들과 연계하여 수행될 수 있다. 예를 들어, 프로세스(1500)는, 프로세스(1400)(도 14)의 단계 1510에서 수행될 수 있다.
단계 1505에서, 프로세스(1500)를 수행하는 시스템은, 구성 부분들로 형성된 물체의 3D 모델을 사용하여 물체의 2차원 이미지 집합을 렌더링한다. 2차원 이미지들은 물체의 실세계 인스턴스에 대한 실제 이미지가 아니다. 오히려, 2차원 이미지들은 실제 물체의 이미지들을 대용하는 것으로 생각할 수 있다. 이들 대용 2차원 이미지들은, 마치 카메라가 다양한 서로 다른 상대적 포즈들에서 물체를 이미징하는 것처럼, 다양한 서로 다른 각도와 방향으로부터 물체를 나타낸다.
2차원 이미지들은, 3D 모델을 사용하여 다수의 방법들로 렌더링할 수 있다. 예를 들어, 광선 추적이나 기타 컴퓨터 그래픽 기술들이 사용될 수 있다. 일반적으로, 대용 2차원 이미지들을 렌더링하기 위해 물체의 3차원 모델들을 교란시킨다. 따라서, 다른 대용 2차원 이미지들은 3D 모델의 다양한 변형들을 예시할 수 있다. 일반적으로, 오류주입(perturbation)은 3D 모델로 표현되는 물체 또는 물체의 일부에서 실세계 변화들을 모방할 수 있다. 예를 들어, 자동차의 3D 모델에서는, 외부 페인트와 내부 장식의 색상이 교란될 수 있다. 경우에 따라, 부품들(타이어, 휠캡 및 루프 캐리어와 같은 기능부들)을 추가, 제거 또는 교체할 수 있다. 다른 예로서, 장기들의 3D 모델에서, 생리학적으로 관련된 크기와 상대적인 크기 변화를 사용하여 3D 모델을 교란시킬 수 있다.
일부 구현예에서, 3D 모델 이외의 양태는 2차원 이미지들을 추가로 변경하기 위해 교란될 수 있다. 일반적으로 오류주입(섭동)은 다음과 같은 실제 변화를 모방할 수 있다.
- 이미징 장치들의 변경(예컨대, 카메라 해상도, 줌, 초점, 조리개 속도),
-이미지 처리의 변경(예컨대, 디지털 데이터 압축, 크로마 서브샘플링)
- 이미징 조건의 변경(예컨대, 조명, 날씨, 배경 색상 및 형상)
일부 구현예에서, 2차원 이미지들은 기준 프레임에서 렌더링된다. 참조 프레임에는 물체 뒤에 나타나는 배경 특징과 물체 앞에 나타나는 - 아마도 물체의 일부를 흐릿하게 하는 - 전경 특징들이 포함될 수 있다. 일반적으로, 참조 프레임은 물체가 발견될 가능성이 있는 실세계 환경을 반영한다. 예를 들어, 자동차는 주차장과 유사한 기준 프레임으로 렌더링될 수 있는 반면, 장기는 생리학적으로 관련된 맥락에서 렌더링될 수 있다. 기준 프레임은 또한, 2차원 이미지들을 더욱 다양하게 하기 위해 변경될 수 있다.
일반적으로, 2차원 이미지들은 가변성이 높은 것이 바람직하다. 또한, 대용 2차원 이미지들의 수 - 및 변형들의 정도는 - 물체의 복잡성과, 3D 모델에 주석이 달린 랜드마크들을 사용하여 궁극적으로 수행되는 이미지 처리에 따라 달라질 수 있다. 예를 들어, 2000개 이상의 매우 가변적인(상대적 포즈 및 순열에서) 자동차의 대용 2차원 이미지들이 렌더링될 수 있다. 2차원 이미지들은 3D 모델로부터 렌더링되기 때문에, 2차원 이미지들의 수와 변경 정도에 관계없이 2차원 이미지에서 물체의 위치에 대한 완벽한 지식이 유지될 수 있다.
단계 1510에서, 프로세스(1500)를 수행하는 시스템은, 2차원 이미지들에 나타난 물체의 각 영역을 물체의 일부에 할당한다. 전술한 바와 같이, 물체의 3D 모델은, 기능 및/또는 구조에 따라 구별 가능한 구성 부분들로 분할될 수 있다. 3차원 모델의 2차원 대용 이미지를 렌더링할 때, 2차원 이미지들의 각 영역이 속한 부분은 보존될 수 있다. 따라서, 2차원 이미지들의 픽셀 또는 기타 영역들로 될 수 있는 영역들은, 3D 모델로부터 도출된 완벽한 지식에 따라 3D 모델의 해당 구성 부분에 할당될 수 있다.
단계 1515에서, 프로세스(1500)를 수행하는 시스템은, 2차원 이미지들에서 부분들의 구별 가능한 영역들을 결정한다. 부품의 구별 가능한 영역은, 하나 이상의 이미지 처리 기술을 사용하여 대용 2차원 이미지들에서 식별가능한 영역(예컨대, 픽셀 또는 픽셀들의 그룹)이다. 예를 들어, 일부 구현예에서는, 동일한 부분에 할당된 각 이미지의 영역들의 코너들이, 예를 들어, Moravec 코너 디텍터 또는 Harris Corner Detector(https://en.wikipedia.org/wiki/Harris_Corner_ Detector)를 사용하여 검출된다. 다른 예로서, 예를 들어, SIFT/SURF/HOG/(https: //en.wikipedia.org/wiki/Scale-invariant_feature_transform)를 사용하여 구별 가능한 영역들을 정의할 수 있다.
단계 1520에서, 프로세스(1500)를 수행하는 시스템은, 2차원 이미지들의 구별 가능한 영역들을 3D 모델에 다시 투영함으로써 3D 모델의 랜드마크들의 집합을 식별한다. 2차원 이미지에서 구별 가능한 영역에 대응하는 3D 모델의 볼륨은 3D 모델의 랜드마크들로서 식별된다.
일부 구현예에서는, 이러한 랜드마크의 수를 줄이고, 3D 모델에 역투영하기 전이나 후에, 품질을 보장하기 위해 하나 이상의 필터링 기술들을 적용할 수 있다. 예를 들어, 일부 구현예에서, 대용 2차원 이미지에서 물체의 외측 경계에 가까운 영역들은 역투영 전에 폐기될 수 있다. 다른 예로서, 3D 모델에서 해당 부분과 너무 멀리 떨어져 있는 영역의 역투영은 폐기될 수 있다.
일부 구현예에서는, 임계값 표준을 충족하는 3D 모델의 볼륨만 랜드마크들로 식별된다. 임계값은 다수의 방법들로 결정될 수 있다. 예를 들어, 3D 모델의 후보 랜드마크들이고 다양한 상대적 포즈들과 섭동들로 렌더링된 다양한 2차원 이미지들로부터의 역투영으로 식별되는 볼륨들이 수집될 수 있다. 후보 랜드마크들의 클러스터들이 식별되고 이상치 후보 랜드마크들이 삭제될 수 있다. 예를 들어, OPTICS 알고리즘(https://en.wikipedia.org/wiki/OPTICS_algorithm, DBSCAN의 변형 https://en.wikipedia.org/wiki/DBSCAN)과 같은 클러스터링 기술들을 사용하여 후보 랜드마크들의 클러스터들을 식별할 수 있다. 클러스터링의 효율성은, 예를 들어 Calinski-Harabasz 지수(즉, Variance Ratio Criterion) 또는 기타 기준을 사용하여 평가할 수 있다. 일부 구현예에서, 클러스터링 기술은, 클러스터링의 효율성을 향상시키기 위해 (예를 들어, 클러스터링 알고리즘의 하이퍼 파라미터를 조정함으로써) 선택 및/또는 맞춤화될 수 있다. 필요한 경우, 클러스터에 있고 임계값보다 더 가까운 후보 랜드마크들이 함께 병합될 수 있다. 일부 구현예에서는, 3D 모델의 다른 부분에 있는 후보 랜드마크 클러스터들이 단일 클러스터에 병합될 수도 있다. 일부 구현예에서는, 클러스터에 있는 몇몇 후보 랜드마크들의 무게 중심들이 단일 랜드마크로서 지정될 수 있다.
일부 구현예에서, 3D 모델로부터 렌더링된 대용 2차원 이미지에서의 랜드마크들의 위치가 예측될 수 있는 정확도에 기초하여 3D 모델의 랜드마크들이 필터링될 수 있다. 예를 들어, 2차원 이미지에서 3D 랜드마크들의 위치들을 예측하기가 너무 어려운 경우(예컨대, 시간의 임계값 백분율 이상으로 잘못 예측되거나 단지 정확도가 낮은 예측), 해당 3D 랜드마크는 폐기될 수 있다. 결과적으로, 랜드마크 예측자가 상대적으로 쉽게 예측할 수 있는 2차원 이미지에서의 위치들을 갖는 3차원 랜드마크들만 남게 된다.
어떤 경우에는, 식별된 랜드마크들의 수가 특정 데이터 처리 활동에 맞게 조정될 수 있다. 랜드마크들의 수는 다음을 다수의 방법들로 맞춤화될 수 있으며, 이들은, 예컨대, 다음을 포함한다:
- 단계 1505에서, 특히 3D 모델의 더 많거나 더 적은 순열을 사용하여 더 많거나 더 적은 2차원 이미지를 렌더링하는 것;
- 3D 모델을 단계 1510에서 영역들이 할당되는 더 많거나 더 적은 부분들로 분할하는 것.
- 단계 1515에서 영역들을 구별 가능하게 고려하기 위한 제약을 완화하거나 강화하는 것; 및/또는
-단계 1520년 이후 구별 가능한 영역들을 3D 모델에 역투영한 후 랜드마크 필터링에 대한 제약 조건을 완화하거나 강화하는 것.
본 명세서에 개시된 주제 및 동작의 실시예는, 디지털 전자 회로에서, 본 명세서에 개시된 구조와 그 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 개시된 주제의 실시예들은, 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체에 인코딩된 하나 이상의 컴퓨터 프로그램, 즉 하나 이상의 컴퓨터 프로그램 명령 모듈들로 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령은, 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된, 인공적으로 생성된 전파 신호, 예를 들어 기계 생성 전기적, 광학적 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나 이들에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체는, 전파된 신호는 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파된 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한, 하나 이상의 별도의 물리적 구성요소 또는 매체(예컨대, 다수의 CD들, 디스크들 또는 기타 저장 장치들)이거나 이들에 포함될 수 있다.
본 명세서에서 개시된 동작들은, 컴퓨터 판독 가능한 하나 이상의 저장 장치들에 저장되어 있거나 다른 소스들로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것들의 다수 또는 조합을 포함하여 데이터를 처리하기 위한 모든 종류의 장치들, 디바이스들 및 기계들을 포함한다. 장치는 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적 논리 회로를 포함할 수 있다. 상기 장치는 또한, 하드웨어에 추가하여, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스 플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 상기 장치 및 실행 환경은, 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라들을 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은, 컴파일 또는 해석 언어, 선언적 또는 절차적 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 구성 요소, 서브루틴, 물체 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하는 임의의 형태로 사용될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그럴 필요는 없다. 프로그램은, 다른 프로그램이나 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 다수의 조정된 파일들(예컨대, 하나 이상의 모듈, 하위 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치되거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크로 연결된 다수의 컴퓨터에서 실행되도록 사용될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은, 입력 데이터에 대해 작동하고 출력을 생성함으로써 작업을 수행하도록 하는 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍 가능한 프로세서들에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한, 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있으며 장치 역시 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는, 예를 들어, 범용 및 특수 목적 마이크로프로세서, 그리고 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 이들 모두로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령에 따라 작업을 수행하는 프로세서와 명령 및 데이터를 저장하는 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 전송하거나 이들 모두를 포함하거나 작동 가능하게 결합된다. 그러나, 컴퓨터는 이와 같은 장치들이 있을 필요는 없다.
더욱이, 컴퓨터는, 다른 장치, 예를 들어, 몇개만 들면, 휴대폰, PDA(Personal Digital Assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 장치(예컨대, USB 플래시 드라이브) 등에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기 위해 적합한 장치는, 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치가 포함되며, 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 자기 디스크(예컨대, 내부 하드 디스크 또는 이동식 디스크); 광자기 디스크; CD ROM 및 DVD-ROM 디스크를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로로 보완되거나 그에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 개시된 주제의 실시예들은, 사용자에 정보를 표시하기 위한 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터와 같은 디스플레이 장치, 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치, 예컨대, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 장치도 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자가 사용하는 장치와 문서를 주고받는 방식으로 사용자와 상호 작용할 수 있으며; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저로 웹 페이지를 전송함으로써 이루어진다.
따라서, 요지의 특정 실시예들이 개시되었다. 다른 실시예들은 이하의 청구범위의 범위 내에 있다. 어떤 경우에는, 청구범위에 언급된 작업이 다른 순서로 수행되어도 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하는 것은 아니다. 특정 구현예에서는 멀티태스킹 및 병렬 처리가 바람직할수 있다.
다양한 구현예들이 개시되었다. 그럼에도 불구하고, 다양한 변경들이 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들은 이하의 청구범위의 범위 내에 있다.

Claims (22)

  1. 이미지 처리의 정확성을 특징화하기 위한 방법으로서, 상기 방법은,
    물체의 인스턴스에 대한 제1 이미지 및 제2 이미지를 수신하는 단계로, 제1 이미지 및 제2 이미지는 다른 상대적 포즈들에서 획득되는, 단계;
    상기 제1 이미지의 물체의 인스턴스의 상대적인 포즈들을 추정하는 단계;
    제1 이미지의 획득 동안과 제2 이미지의 획득 동안,
    상기 물체의 인스턴스, 및
    하나 이상의 이미징 장치들, 중 적어도 하나의 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계;
    상기 위치적 차이 또는 방향의 차이에 기초하여 상기 제1 이미지의 물체의 인스턴스의 추정된 상대적인 포즈들을 전송하는 단계;
    상기 물체의 인스턴스의 전송된 상대적인 포즈들을 이미지들 중 제2 이미지의 물체와 비교하는 단계; 및
    상기 이미지들 중 제2 이미지의 물체와 상기 물체의 전송된 상대적인 포즈의 비교 결과에 기초하여 물체의 인스턴스의 상대적인 포즈의 추정의 정확성을 특징화하는 단계;를 포함하는, 방법.
  2. 제1항에 있어서, 상기 방법은,
    상대적인 포즈의 추정의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및
    상대적인 포즈의 추정의 정확성이 정확성의 임계 레벨을 만족하지 않는 것으로 결정하는 것에 응답하여, 에이전트에 지시하여 물체의 추가 이미지를 캡처하도록 물체의 인스턴스의 이미지들을 캡처하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 방법은,
    제1 이미지 및 제2 이미지의 상대적인 포즈와는 다른 상대적인 포즈에서; 또는
    제1 이미지와 제2 이미지의 특성과는 다른 이미징 특성을 갖는; 어느 것의 추가 이미지를 캡처하도록 에이전트에 지시하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, 상기 방법은,
    상대적인 포즈의 추정의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및
    상대적인 포즈의 추정의 정확성이 정확성의 임계 레벨을 만족하지 않는 것으로 결정하는 것에 응답하여, 제1 이미지의 물체의 인스턴스의 추정된 상대적인 포즈들을 추가 이미지 처리로부터 제외하는 단계;를 포함하는, 방법.
  5. 제1항에 있어서, 상기 물체의 상대적인 포즈들을 전송하는 단계는,
    물체의 3차원 모델을 수신하는 단계; 및
    다른 위치 또는 다른 방향에서 획득된 3차원 모델의 이미지의 특성을 계산하는 단계;를 포함하는, 방법.
  6. 제5항에 있어서, 상기 3차원 모델의 이미지의 특성을 계산하는 단계는, 상기 3차원 모델의 이미지에 있는 랜드마크들의 위치들을 계산하는 단계, 또는 상기 3차원 모델의 이미지의 외측 경계를 계산하는 단계를 포함하는, 방법.
  7. 제5항에 있어서, 상기 3차원 모델의 이미지의 특성을 계산하는 단계는, 위치적 차이 또는 방향의 차이에 기초하여 3차원 모델을 투영하는 단계를 포함하는, 방법.
  8. 제1항에 있어서, 상기 제1 이미지에서 물체의 인스턴스의 상대적인 포즈들을 추정하는 단계는,
    기계 학습 모델을 사용하여 제1 이미지에서 랜드마크들을 검출하는 단계; 및
    검출된 랜드마크들을 사용하여 물체의 인스턴스의 상대적인 포즈들을 추정하는 단계;를 포함하는, 방법.
  9. 제1항에 있어서, 상기 방법은.
    이미지들을 수신하고, 상대적인 포즈들을 추정하고, 위치 또는 방향의 차이를 특징화 하는 정보를 수신하고, 추정된 상대적인 포즈들을 전송하고, 전송된 상대적인 포즈들을 비교하는 것을 이터레이션적으로 반복하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 이터레이션적으로 반복하는 단계는, 정확성의 임계 레벨에 도달될 때까지 진행되는, 방법.
  11. 제1항에 있어서, 상기 제1 이미지와 제2 이미지는 동일한 이미징 장치에 의해 획득되는, 방법.
  12. 제1항에 있어서, 상기 위치적 차이 또는 방향의 차이를 특징화하는 정보는, 상기 제1 이미지와 제2 이미지로부터 도출된 정보를 포함하는, 방법.
  13. 제1항에 있어서, 상기 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계는,
    물체의 인스턴스의 이미지들에서 어느 다른 물체 또는 물체의 인스턴스의 일부를 식별하는 단계; 및
    다른 물체 또는 물체의 인스턴스의 일부에 기초하여 위치적 차이 또는 방향의 차이를 결정하는 단계;를 포함하는, 방법.
  14. 이미지 처리의 정확성을 특징화하는 방법으로서, 상기 방법은,
    물체의 인스턴스의 이미지들을 수신하는 단계로, 상기 이미지들은 다른 상대적 포즈들에서 획득되는, 단계;
    수신된 이미지들의 각각에서 물체에 대한 대응하는 랜드마크들의 위치들을 식별하는 단계;
    물체의 인스턴스와,
    이미지들이 획득되었을 때 하나 이상의 이미징 장치들, 중 적어도 하나의 위치적 차이 또는 방향의 차이를 특징화 하는 정보를 수신하는 단계;
    위치적 차이 또는 방향의 차이에 기초하여 제1 이미지에서 식별된 랜드마크들의 위치들을 전송하는 단계;
    전송된 랜드마크들의 위치들과, 수신된 이미지들 중 제2 이미지에서 식별된 랜드마크들의 대응 위치들을 비교하는 단계; 및
    수신된 이미지들 중 적어도 하나에서 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계;를 포함하는, 방법.
  15. 제14항에 있어서, 대응하는 랜드마크들의 위치들을 식별하는 단계는, 물체와 하나 이상의 이미징 장치들의 상대적인 포즈들을 추정하는 단계를 포함하는, 방법.
  16. 제14항에 있어서, 위치적 차이 또는 방향의 차이를 특징화 하는 정보는, 물체와 이미징 장치 또는 장치들 모두의 차이를 특징화 하는, 방법.
  17. 제14항에 있어서, 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계는,
    각각의 위치적 차이 또는 방향의 차이에 기초하여 이미지들 중 제2 및 제3 이미지에서 식별된 랜드마크들의 위치들을 전송하는 단계; 및
    제1, 제2, 및 제3 이미지로부터 전송된 랜드마크들을 결합하는 단계;를 포함하는, 방법.
  18. 제17항에 있어서, 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계는, 결합된 전송 랜드마크들의 위치들을, 수신된 이미지들 중 제2 이미지에서 식별된 대응하는 랜드마크들의 위치들과 비교하는 단계를 더 포함하는, 방법.
  19. 제14항에 있어서, 상기 위치적 차이 또는 방향의 차이를 특징화하는 정보를 수신하는 단계는,
    물체의 인스턴스의 이미지에서의 다른 물체 또는 물체의 인스턴스의 일부를 식별하는 단계; 및
    다른 물체 또는 물체의 인스턴스의 일부에 기초하여 위치적 차이 또는 방향의 차이를 결정하는 단계;를 더 포함하는, 방법.
  20. 제14항에 있어서, 랜드마크들의 위치들을 전송하는 단계는,
    물체의 3차원 모델을 수신하는 단계; 및
    랜드마크들의 위치들을 결정하기 위해 물체의 3차원 모델을 투영하는 단계;를 더 포함하는, 방법.
  21. 제14항에 있어서, 상기 방법은.
    랜드마크들의 위치들의 식별의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및
    상대적인 포즈의 추정의 정확성이, 정확성의 임계 레벨을 만족하지 않는 것으로 결정하는 것에 응답하여, 물체의 인스턴스에 대한 하나 이상의 추가 이미지들을 수신하고 대응하는 랜드마크들의 위치들을 식별하고, 차이를 특징화하는 정보를 수신하고, 랜드마크들의 위치들을 전송하고, 전송된 랜드마크들의 위치들을 비교하고, 하나 이상의 추가 이미지들에 대한 랜드마크들의 위치들의 식별의 정확성을 특징화하는 단계;를 더 포함하는, 방법.
  22. 제14항에 있어서, 상기 방법은.
    랜드마크들의 위치들의 식별의 정확성을, 정확성의 임계 레벨과 비교하는 단계; 및
    상대적인 포즈의 추정의 정확성이, 정확성의 임계 레벨을 만족하지 않는다는 결정에 응답하여, 추가 이미지 처리로부터 랜드마크들의 위치들의 식별을 제외하는 단계;를 더 포함하는, 방법.
KR1020247011936A 2021-09-13 2022-08-26 이미지 처리의 특징화 및 개선 KR20240055102A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GR20210100602 2021-09-13
GR20210100602 2021-09-13
US17/454,347 US20230085384A1 (en) 2021-09-13 2021-11-10 Characterizing and improving of image processing
US17/454,347 2021-11-10
PCT/EP2022/073852 WO2023036631A1 (en) 2021-09-13 2022-08-26 Characterizing and improving of image processing

Publications (1)

Publication Number Publication Date
KR20240055102A true KR20240055102A (ko) 2024-04-26

Family

ID=83322554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247011936A KR20240055102A (ko) 2021-09-13 2022-08-26 이미지 처리의 특징화 및 개선

Country Status (2)

Country Link
KR (1) KR20240055102A (ko)
WO (1) WO2023036631A1 (ko)

Also Published As

Publication number Publication date
WO2023036631A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
CN108369643B (zh) 用于3d手部骨架跟踪的方法和系统
US9990736B2 (en) Robust anytime tracking combining 3D shape, color, and motion with annealed dynamic histograms
US10600194B2 (en) Image and video capture architecture for three-dimensional reconstruction
US20230085384A1 (en) Characterizing and improving of image processing
KR101283262B1 (ko) 영상 처리 방법 및 장치
CN111563442A (zh) 基于激光雷达的点云和相机图像数据融合的slam方法及系统
CN108051002A (zh) 基于惯性测量辅助视觉的运输车空间定位方法及系统
KR20180044279A (ko) 깊이 맵 샘플링을 위한 시스템 및 방법
JP2012042396A (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
CN114424250A (zh) 结构建模
CN110260866A (zh) 一种基于视觉传感器的机器人定位与避障方法
CN113848931B (zh) 农机自动驾驶障碍物识别方法、系统、设备和存储介质
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
CN116051650A (zh) 激光雷达与相机联合的外部参数标定方法及装置
Wang et al. 3D-LIDAR based branch estimation and intersection location for autonomous vehicles
KR101766823B1 (ko) 불규칙한 조도 변화에 강건한 영상 기반 주행거리 측정 시스템 및 방법
US20220245860A1 (en) Annotation of two-dimensional images
CN108694348B (zh) 一种基于自然特征的跟踪注册方法及装置
KR20240055102A (ko) 이미지 처리의 특징화 및 개선
US20240013497A1 (en) Learning Articulated Shape Reconstruction from Imagery
CN111915632A (zh) 一种基于机器学习的贫纹理目标物体真值数据库构建方法
CN113592947A (zh) 一种半直接法的视觉里程计实现方法
Walczak et al. Locating occupants in preschool classrooms using a multiple RGB-D sensor system
US20230206493A1 (en) Processing images of objects and object portions, including multi-object arrangements and deformed objects
Zaslavskiy et al. Method for automated data collection for 3d reconstruction