KR20230083212A - 객체 자세 추정 장치 및 방법 - Google Patents
객체 자세 추정 장치 및 방법 Download PDFInfo
- Publication number
- KR20230083212A KR20230083212A KR1020220129712A KR20220129712A KR20230083212A KR 20230083212 A KR20230083212 A KR 20230083212A KR 1020220129712 A KR1020220129712 A KR 1020220129712A KR 20220129712 A KR20220129712 A KR 20220129712A KR 20230083212 A KR20230083212 A KR 20230083212A
- Authority
- KR
- South Korea
- Prior art keywords
- key point
- image
- processed
- point information
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 230000008569 process Effects 0.000 claims description 63
- 238000013507 mapping Methods 0.000 claims description 27
- 230000004927 fusion Effects 0.000 claims description 25
- 238000012937 correction Methods 0.000 claims description 24
- 238000009877 rendering Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 description 50
- 238000012545 processing Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 20
- 239000002131 composite material Substances 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 12
- 239000000284 extract Substances 0.000 description 11
- 230000002457 bidirectional effect Effects 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 238000011960 computer-aided design Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000010428 oil painting Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001144 postural effect Effects 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
본 개시는 객체 자세 추정 장치 및 방법에 관한 것으로, 상기 방법은 처리할 이미지에서 키 포인트 정보를 결정하는 단계, 상기 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정하는 단계 및 상기 수정된 키 포인트 정보에 기초하여, 상기 처리할 이미지에서 객체 자세를 추정하는 단계를 포함할 수 있다.
Description
이하의 일 실시 예들은 컴퓨터 비전 기술분야에 관한 것이고, 구체적으로, 객체의 자세를 추정하는 장치 및 방법에 관한 것이다.
컴퓨터 비전을 기반으로 한 증강현실(AR; Augmented Reality) 기술은, 사용자 앞의 현실 장면에 가상 콘텐츠를 추가함으로써, 사용자에게 실감나는 정보 경험을 제공한다.
사용자의 눈앞에서 고품질의 가상 현실 융합 효과를 나타내기 위하여, 증강 현실 시스템은 3D 공간에서 주변 객체의 3D 상태에 대한 높은 정밀도의 실시간 처리 및 이해가 필요하다. 따라서 정확하고 신속한 객체 자세 추정은 AR 상호작용에 있어서 매우 중요하다.
기존의 객체 자세 추정 방법은 일반적으로 2개 주요 단계로 구성되는데, 첫 번째 단계에서 다양한 방식으로 초기 자세를 추정하고, 두 번째 단계에서 렌더링-비교와 같은 방법을 사용하여 이전 단계의 자세를 정제(refinement)한다.
그러나 이와 같은 기존의 정제 과정은 이미지 렌더링을 수반하기 때문에 많은 컴퓨팅 리소스와 컴퓨팅 시간이 소요되고, AR 응용 시나리오에서 긴 지연을 유발하여 좋은 사용자 경험을 제공하지 못한다.
기존의 자세 추정 방법은 많은 시간이 소요되어, 속도에 대한 요구가 높은 AR 시나리오의 사용 요구를 충족시키지 못한다.
본 개시는 객체 자세 추정 장치 및 방법을 제공하는 것을 목적으로 한다.
일 실시 예에 따른 객체 자세 추정 방법은, 처리할 이미지에서 키 포인트 정보를 결정하는 단계; 상기 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정하는 단계; 및 상기 수정된 키 포인트 정보에 기초하여, 상기 처리할 이미지에서 객체 자세를 추정하는 단계를 포함할 수 있다.
이때, 객체 자세 추정 방법은, 상기 처리할 이미지 중의 상기 키 포인트 정보를 결정하는 단계 이전에, 입력 이미지를 수신하는 단계; 및 상기 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 상기 처리할 이미지를 획득하는 단계를 더 포함할 수 있다.
이때, 상기 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 상기 처리할 이미지를 획득하는 단계는, 콘텐츠 백본 네트워크를 통해, 상기 입력 이미지의 이미지 콘텐츠 특징을 추출하는 단계; 기설정된 이미지 스타일 특징을 획득하는 단계; 양방향 네트워크를 통해, 상기 이미지 콘텐츠 특징과 상기 이미지 스타일 특징을 융합하여 융합 특징을 생성하는 단계; 및 상기 융합 특징을 기반으로, 상기 입력 이미지를 렌더러로 렌더링하여, 상기 처리할 이미지를 획득하는 단계를 포함할 수 있다.
이때, 상기 이미지 콘텐츠 특징은, 저해상도 이미지 콘텐츠 특징이고, 상기 이미지 스타일 특징은, 저해상도 이미지 스타일 특징일 수 있다.
이때, 상기 키 포인트 정보에 대응하는 상기 키 포인트 특징맵에 기초하여, 상기 수정된 키 포인트 정보를 결정하는 단계는, 상기 키 포인트 정보에 대응하는 상기 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득하는 단계; 및 상기 키 포인트 오프셋 잔차 정보 및 상기 키 포인트 정보에 기초하여, 상기 수정된 키 포인트 정보를 획득하는 단계를 포함할 수 있다.
이때, 객체 자세 추정 방법은, 상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는 단계를 더 포함할 수 있다.
이때, 상기 키 포인트 정보는, 2D 키 포인트 정보이고, 상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는 단계는, 상기 처리할 이미지에서 추정한 객체 자세에 기초하여, 상기 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하는 단계; 상기 3D 키 포인트 매핑 정보에 기초하여, 업데이트된 키 포인트 정보를 획득하는 단계; 및 상기 업데이트된 키 포인트 정보에 기초하여, 수정된 키 포인트 정보를 다시 결정하는 단계; 및 다시 결정된 수정된 키 포인트 정보에 기초하여, 상기 처리할 이미지에서 객체 자세를 추정하는 단계를 포함할 수 있다.
이때, 상기 처리할 이미지에서 추정한 객체 자세에 기초하여, 상기 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하는 단계는, 상기 처리할 이미지에서 추정한 객체 자세, 기설정된 3D 모델 집합 및 카메라 고유 행렬에 기초하여, 상기 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정할 수 있다.
이때, 상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는 단계는, 종료 조건을 만족할 때까지 반복해서 수행하고, 상기 종료 조건은, 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우, 및 키 포인트에 대한 수정이 미리 정해진 횟수에 도달한 경우 중 적어도 하나를 포함할 수 있다.
이때, 상기 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우는, 적어도 하나의 키 포인트의 수정 전후의 차이값 총합이 임계값보다 작은 경우, 및 적어도 하나의 키 포인트 중 각각의 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우 중 적어도 하나를 포함할 수 있다.
이때, 상기 처리할 이미지에서 상기 키 포인트 정보를 결정하는 단계는, 검출기 네트워크를 통해, 상기 처리할 이미지에서 키 포인트 좌표 정보 및 키 포인트 가시적 정보를 결정하는 단계; 및 상기 키 포인트 좌표 정보 및 상기 키 포인트 가시적 정보에 기초하여, 상기 키 포인트 정보를 결정하는 단계를 포함할 수 있다.
이때, 상기 처리할 이미지에서 상기 키 포인트 정보를 결정하는 단계는, 상기 검출기 네트워크를 통해, 상기 처리할 이미지에서 관심영역 특징맵을 획득하는 단계를 더 포함하고, 상기 키 포인트 정보가 대응하는 상기 키 포인트 특징맵에 기초하여, 상기 수정된 키 포인트 정보를 결정하는 단계 이전에, 상기 키 포인트 정보에 기초하여, 상기 관심영역 특징맵에서 대응되는 상기 키 포인트 특징맵을 결정하는 단계를 더 포함할 수 있다.
이때, 객체 자세 추정 방법은, 상기 처리할 이미지에 두 개 이상의 객체가 있는 경우, 상기 검출기 네트워크를 통해, 상기 처리할 이미지 중의 객체 카테고리를 결정하는 단계더 포함하고, 상기 키 포인트 정보가 대응하는 상기 키 포인트 특징맵에 기초하여, 상기 수정된 키 포인트 정보를 결정하는 단계 이전에, 상기 객체 카테고리 및 상기 키 포인트 정보에 기초하여, 대응되는 상기 키 포인트 특징맵을 결정하는 단계를 더 포함할 수 있다.
일 실시 예에 따른 객체 자세 추정 방법은, 입력 이미지를 기설정된 이미지 스타일의 처리할 이미지로 전환하는 단계; 상기 처리할 이미지 중의 키 포인트 정보를 결정하는 단계; 및 상기 키 포인트 정보에 기초하여, 상기 입력 이미지 중의 객체 자세를 추정하는 단계를 포함할 수 있다.
일 실시 예에 따른 객체 자세 추정 장치는, 처리할 이미지에서 키 포인트 정보를 결정하는 결정부; 상기 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정하는 수정부; 및 상기 수정된 키 포인트 정보에 기초하여, 처리할 이미지에서 객체의 자세를 추정하는 추정부를 포함할 수 있다.
이때, 상기 결정부는, 입력 이미지를 수신하면, 상기 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 상기 처리할 이미지를 획득할 수 있다.
이때, 상기 결정부는, 콘텐츠 백본 네트워크를 통해, 상기 입력 이미지의 이미지 콘텐츠 특징을 추출하고, 기설정된 이미지 스타일 특징을 획득하고, 양방향 네트워크를 통해, 상기 이미지 콘텐츠 특징과 상기 이미지 스타일 특징을 융합하여 융합 특징을 생성하고, 상기 융합 특징을 기반으로, 상기 입력 이미지를 렌더러로 렌더링하여, 상기 처리할 이미지를 획득할 수 있다.
이때, 상기 수정부는, 상기 키 포인트 정보에 대응하는 상기 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득하고, 상기 키 포인트 오프셋 잔차 정보 및 상기 키 포인트 정보에 기초하여, 상기 수정된 키 포인트 정보를 획득할 수 있다.
이때, 상기 추정부는, 상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행할 수 있다.
도 1은 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 일 예를 도시한 흐름도이다.
도 2는 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 3은 일 실시 예에 따른 이미지 스타일 전환하는 개략적인 과정을 도시한 도면이다.
도 4는 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 정제 방법을 개략적으로 도시한 도면이다.
도 5는 일 실시 예에서 따른 객체 자세 추정 장치의 정제 네트워크의 구성을 도시한 도면이다.
도 6은 일 실시 예에서 따른 객체 자세 추정 장치에서 제공하는 수정된 키 포인트 정보를 시각화한 일 예를 도시한 도면이다.
도 7은 일 실시 예에 따른 객체 자세 추정 장치에서 자세 추정을 위한 반복적인 정제 과정을 도시한 도면이다.
도 8은 일 실시 예에 따른 객체 자세 추정 장치에서 제공하는 수정된 키 포인트 정보를 시각화한 다른 예를 도시한 도면이다.
도 9는 일 실시 예에 따른 객체 자세 추정 장치에서 전체 객체 자세 추정을 개략적으로 도시한 도면이다.
도 10은 일 실시 예에 따른 객체 자세 추정 장치에서 처리할 이미지로부터 추정한 객체 자세를 시각화한 일 예를 도시한 도면이다.
도 11은 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 12는 일 실시 예에 따른 객체 자세 추정 장치의 개략적인 구성의 일 예를 도시한 도면이다.
도 13는 일 실시 예에 따른 객체 자세 추정 장치의 개략적인 구성의 다른 예를 도시한 도면이다.
도 14은 일 실시 예에 따른 전자 기기의 개략적인 구조를 도시한 도면이다.
도 2는 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 3은 일 실시 예에 따른 이미지 스타일 전환하는 개략적인 과정을 도시한 도면이다.
도 4는 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 정제 방법을 개략적으로 도시한 도면이다.
도 5는 일 실시 예에서 따른 객체 자세 추정 장치의 정제 네트워크의 구성을 도시한 도면이다.
도 6은 일 실시 예에서 따른 객체 자세 추정 장치에서 제공하는 수정된 키 포인트 정보를 시각화한 일 예를 도시한 도면이다.
도 7은 일 실시 예에 따른 객체 자세 추정 장치에서 자세 추정을 위한 반복적인 정제 과정을 도시한 도면이다.
도 8은 일 실시 예에 따른 객체 자세 추정 장치에서 제공하는 수정된 키 포인트 정보를 시각화한 다른 예를 도시한 도면이다.
도 9는 일 실시 예에 따른 객체 자세 추정 장치에서 전체 객체 자세 추정을 개략적으로 도시한 도면이다.
도 10은 일 실시 예에 따른 객체 자세 추정 장치에서 처리할 이미지로부터 추정한 객체 자세를 시각화한 일 예를 도시한 도면이다.
도 11은 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 12는 일 실시 예에 따른 객체 자세 추정 장치의 개략적인 구성의 일 예를 도시한 도면이다.
도 13는 일 실시 예에 따른 객체 자세 추정 장치의 개략적인 구성의 다른 예를 도시한 도면이다.
도 14은 일 실시 예에 따른 전자 기기의 개략적인 구조를 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
이하에서는, 본 개시의 일 실시 예에 따른
객체 자세 추정 장치 및 방법을 첨부된 도 1 내지 도 14를 참조하여 상세히 설명한다.
도 1은 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 일 예를 도시한 흐름도이다.
도 1을 참조하면, 객체 자세 추정 장치는 처리할 이미지에서 키 포인트 정보를 결정할 수 있다(110).
일 실시예에서, 처리할 이미지는 실제 장면(예를 들어, 센서에 의해 캡처된)으로부터 수집한 객체 자세를 추정할 입력 이미지이거나, 입력 이미지에 대해 특정 처리를 수행한 한 후, 객체 자세를 추정할 이미지일 수 있다.
여기서, 처리할 이미지에 하나 이상의 객체가 있을 수 있으며, 본 개시에서는 이를 한정하지 않는다.
일 실시 예에서, 키 포인트는 객체에 대하여 의미적 특징(즉, 대표적인 특징)을 갖는 포인트로 이해될 수 있으며, 각각의 처리할 이미지에 하나 이상의 키 포인트가 존재할 수 있다. 예를 들어, 객체가 테이블인 경우, 키 포인트는 테이블 모서리, 테이블 플레이트 가장자리, 기둥, 테이블 텍스처 또는 패턴 등을 포함하되, 이에 한정되지 않는다.
110단계는, 처리할 이미지 중의 키 포인트 정보를 실시간으로 추출하거나, 처리할 이미지에서 이미 추출된 키 포인트 정보를 획득하거나, 임의의 처리 과정 중의 키 포인트 정보일 수 있다. 본 개시에서는 처리할 이미지에서 키 포인트 정보를 결정하는 방식을 제한하지 않는다. 또한, 본 개시의 실시 예는 처리할 이미지 중의 키 포인트 정보를 추출하는 방식도 제한하지 않는다. 예를 들어, 객체 자세 추정 장치는 하나 이상의 임의의 신경망을 사용하여 키 포인트를 추출할 수 있다.
그리고, 객체 자세 추정 장치는 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정할 수 있다(120).
여기서, 키 포인트 정보에 대응하는 키 포인트 특징맵은, 각각의 키 포인트를 중심으로, 처리할 이미지가 대응하는 특징맵에서 크로핑(cropping)한 특징맵일 수 있다. 선택적으로 처리할 이미지가 대응하는 특징맵은 관심영역(RoI; Region of Interest) 특징맵, 즉 각 객체의 관심 영역에서 추출한 깊이 특징맵일 수 있으나, 이에 한정되지 않는다.
일 실시 예에서, 120단계는 키 포인트 정보가 대응하는 키 포인트 특징맵에 대해 정제(refinement) 동작을 수행하는 것으로 이해될 수도 있는데, 개선 동작, 최적화 동작 등으로 이해될 수도 있다. 키 포인트 정보가 대응하는 키 포인트 특징맵를 정제하는 것은, 키 포인트 기반의 객체 자세 추정을 정제하기 위한 것으로, 정제 과정 없이 기존의 키 포인트만을 사용하여 객체의 자세를 추정하는 것과 비교하면, 본 개시의 실시 예는 키 포인트의 정확성에 대해 과도하게 의존하지 않고, 객체 자세 추정의 정확도를 최적화할 수 있다.
그리고, 객체 자세 추정 장치는 수정된 키 포인트 정보에 기초하여, 처리할 이미지에서 객체 자세를 추정할 수 있다(130).
여기서, 객체 자세는 두 좌표계 사이에서 객체의 상대적 위치를 설명하는 데 사용될 수 있다. 일 실시 예에서, 객체의 자세는 객체의 6 자유도(DoF; Degree of Freedom) 자세일 수 있으나, 이에 한정되지 않는다. 구체적으로, 6 DoF 자세는, 공간에서 움직이는 객체의 상대적 위치를 3가지 유형의 병진 자유도와 3가지 유형의 회전 자유도로 특징화하는 것이다.
일 실시 예에서, 상기 키 포인트는 객체에 대응되는 3차원(3D; Three Dimensional) 키 포인트로부터 2차원(2D; Two Dimensional) 이미지에 투영된 2D 키 포인트를 의미할 수 있으며, 즉, 본 개시의 실시 예는 수정된 2D 키 포인트에 기초하여, 객체의 3D 자세를 추정한다.
본 개시의 실시 예는 수정된 키 포인트 정보에 기초하여, 처리할 이미지 중의 객체 자세를 추정하기에, 데이터 노이즈 및/또는 데이터 누락 문제를 해결할 수 있다.
본 개시의 실시예는 고정식 단말 및/또는 이동식 단말에 사용될 수 있는데, 예를 들어, 휴대전화, 태블릿 PC, 노트북, 웨어러블 기기, 게임기, 데스크톱, 올인원 컴퓨터, 차량용 단말기 등이 있다. 여기서, 웨어러블 기기는 스마트 웨어러블 기기라고도 부를 수 있으며, 이는 안경, 헬멧, 헤드밴드, 시계, 손목밴드, 스마트 의류, 스마트 가방, 지팡이, 액세서리 등과 같이, 몸에 직접 착용하거나 옷이나 액세서리에 통합할 수 있는 일종의 휴대용 기기일 수 있다. 실제 응용에서, 웨어러블 장치는 완전히 구현될 수 있는 응용 기능을 포함하여, 스마트폰 등 다른 기기에 의존하지 않고 독립적으로 사용될 수 있거나, 특정 유형 또는 일부 응용 기능을 포함하여, 다른 장치와 함께 사용될 수도 있는데, 본 개시의 실시 예에서 이를 한정하지 않는다.
일 실시 예에서 따른 객체 자세 추정 방법은 키 포인트를 기반으로 한 객체 자세 추정의 정제 방법을 채택하여, 객체 자세 추정의 정확도를 보장하고, 동시에 이미지 렌더링 비용으로 인한 시간 소모가 없기에, AR 애플리케이션의 처리 속도를 향상시킬 수 있다.
본 개시의 실시 예에서는, 기존의 감독 학습에서 대량의 훈련 데이터를 획득하여 실제 자세 주석을 다는 것은 많은 인력과 시간을 소모하고, 오류가 발생하기 쉬우며, 감독 학습의 최적의 성능을 제한하는 점을 고려하였다.
일 실시 예에 따른 객체 자세 추정 방법은 이미 알려진 3D 모델에 대해, 실제 자세 주석을 가진 훈련 데이터를 컴퓨터 그래픽 프로세서로 일괄 합성하여 모델을 훈련할 수 있다. 그러나 모델 훈련에 사용되는 실제 자세 주석이 있는 훈련 데이터는 합성 이미지 스타일과 같은 특정 스타일을 가질 수 있는데, 수집된 입력 이미지(합성 이미지의 스타일과 다름)를 처리하는 경우, 데이터 사이의 정보 필드에 간격이 발생하여 모델 성능에 영향을 줄 수 있다.
도 2는 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 2를 참조하면, 객체 자세 추정 장치는 110단계 이전에, 입력 이미지를 수신하고(210), 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 처리할 이미지를 획득할 수 있다(220).
즉, 처리할 이미지는 입력 이미지에 대해 특정 처리(즉, 이미지 스타일 전환 처리)를 수행한 후 객체의 자세를 추정할 이미지일 수 있다.
여기서, 이미지 스타일은 이미지의 조명, 질감, 색온도, 색조, 대비도, 포화도, 휘도 등과 같은 이미지 속성으로 표현되는 시각적 경험을 의미하다. 예를 들어 유화 스타일, 드로잉 스타일, 만화 스타일 등은 모두 다른 스타일로 간주될 수 있다. 다른 예로, 수집 장치로 수집한 입력 이미지(실제 장면의 사진)와 합성 이미지(프로세서에 의해 합성된 가상 이미지)도 서로 다른 스타일로 간주될 수 있으며, 통상적으로 입력 이미지는 합성 이미지보다 질감이 섬세하고, 어둡다. 이미지 스타일에 따라 이미지는 다른 효과를 나타내지만, 이미지의 내용은 바뀌지 않는 것은 이해할 수 있다.
일 실시 예에서 기설정된 이미지 스타일은, 예를 들어, 합성 이미지 스타일과 같이 구체적으로 모델 훈련에 사용되는 실제 자세 주석을 포함하는 훈련 데이터의 이미지 스타일일 수 있으나, 이에 한정되지 않는다.
도 3은 일 실시 예에 따른 이미지 스타일 전환하는 개략적인 과정을 도시한 도면이다.
도 3을 참조하면, 이미지 스타일 전환하는 과정은 다음의 4단계를 포함할 수 있다.
이미지 스타일 전환하는 첫번째 단계는 콘텐츠 백본 네트워크(352)를 통해 입력 이미지의 이미지 콘텐츠 특징을 추출할 수 있다.
일 실시 예에서, 입력 이미지는 콘텐츠 특징을 추출하기 위한 콘텐츠 이미지이다.
일 실시 예에서, 이미지 콘텐츠 특징은 저해상도 이미지 콘텐츠(351) 특징일 수 있다.
여기서, 저해상도 이미지는 해상도가 이미지의 전체 해상도보다 낮은 이미지를 의미할 수 있다. 일 실시 예에서 저해상도의 정도는 특별히 한정하지 않으며, 실제 상황에 따라 설정할 수 있다.
일 실시 예에서 콘텐츠 백본 네트워크(352)는 입력된 실제 이미지에 대하여 저해상도 이미지 콘텐츠 특징을 직접 추출할 수 있다.
도 3의 실시 예에서는, 먼저 입력 이미지를 다운 샘플링하여 저해상도 입력 이미지(351)를 얻은 다음, 콘텐츠 백본 네트워크(352)에 입력하여 저해상도 이미지 콘텐츠 특징을 추출할 수 있다. 하지만, 도 3의 실시 예로 한정되는 것은 아니고, 콘텐츠 백본 네트워크(352)에 입력되는 이미지는 서로 다른 훈련 방법에 기초하여 획득할 수도 있다.
이미지 스타일 전환하는 두번째 단계는 기설정된 이미지 스타일 특징(353)을 획득할 수 있다. 본 개시의 실시 예에서, 이미지 스타일 특징은 저해상도 이미지 스타일 특징일 수 있다.
실제 응용에서, 당업자는 실제 상황에 따라 적절한 저해상도 이미지 스타일 특징을 미리 설정할 수 있으며, 본 개시의 실시 예는 저해상도 이미지 스타일 특징의 유형 및 내용을 특별히 제한하지 않는다. 기설정된 저해상도 이미지 스타일 특징을 온라인 추리 과정에서 직접 획득하여 사용할 수 있다.
일 실시 예에서 저해상도 이미지 스타일 특징은 훈련 단계의 데이터를 직접 사용하여 효율과 신뢰도를 향상시킬 수 있다. 예를 들어, 미리 설정된 저해상도 이미지 스타일 특징은, 훈련 과정에서 얻은 각 훈련 샘플이 대응하는 저해상도 이미지 스타일 특징의 평균값이다.
이해를 돕기 위해, 먼저 도 3에서 나타낸 훈련 과정(310)을 아래에서 설명한다.
훈련 과정(310)의 스타일 전환 네트워크 모델은 콘텐츠 특징 및 스타일 특징 추출, 양방향 예측, 및 렌더링 등 적어도 세 부분을 포함한다.
나아가, 상기 세 부분은 구체적으로, 저해상도 콘텐츠 특징 및 저해상도 스타일 특징 추출, 저해상도 양방향 예측, 및 전체 해상도 렌더링일 수 있다.
모델의 훈련 과정(310)에서, 훈련 샘플로서 두 개의 이미지(다운 샘플링된 저해상도 이미지를 직접 사용할 수도 있음)를 입력하는데, 하나는 입력 이미지 샘플(311)이고 다른 하나는 기설정된 스타일의 이미지 샘플(313)(합성 이미지 샘플을 사용할 수 있음)이며, 두 개의 백본 네트워크(312, 314)를 통해 (저해상도)입력 이미지 샘플의 콘텐츠 특징 및 (저해상도)합성 이미지 샘플의 스타일 특징을 각각 추출한다. (저해상도)합성 영상 샘플의 스타일 특징은 저장되어 추리 과정(350)에서 사용될 수 있다. 즉, 앞서 설명한 추리 과정(350)에서 획득한 기설정된 저해상도 이미지 스타일 특징에 대응하여, 훈련 과정(310)에서 획득한 각각의 기설정된 스타일의 이미지 샘플이 대응하는 저해상도 이미지 스타일 특징의 평균값을 사용할 수 있다. 설명에서 저해상도를 괄호로 표기하는 것은 저해상도 이미지를 이용할 수도 있지만, 저해상도 이미지가 아닌 경우도 가능함을 나타내기 위함이다.
또한, 모델의 훈련 과정(310)에서, (저해상도)입력 이미지 샘플의 콘텐츠 특징과 (저해상도)합성 이미지 샘플의 스타일 특징을 (저해상도)양방향 네트워크(315)에 입력하고, (저해상도)양방향 네트워크(315)는 (저해상도)입력 이미지 샘플의 콘텐츠 특징과 (저해상도)합성 이미지 샘플의 스타일 특징을 융합한다.
구체적으로, (저해상도)양방향 네트워크(315)의 구체적인 수행 내용은, 입력 예측 계수로서 (저해상도)콘텐츠 특징 및 스타일 특징을 사용하여, 저수준 특징의 결합 분포를 학습하고, 양방향 그리드를 예측하며, 양방향 그리드는 트랜스코딩 방법을 학습하는 것이다.
나아가, 모델의 훈련 과정(310)에서, (저해상도)양방향 네트워크(315)는 출력한 특징 융합 결과를 (전체 해상도)렌더러(317)로 출력하고, (전체 해상도)렌더러(317)는 전체 해상도로 (전체 해상도)렌더링하며, (저해상도)양방향 네트워크(315)에서 출력한 특징 융합 결과와 입력 이미지 샘플(전체 해상도 이미지 콘텐츠(316))을 렌더링하여, (전체 해상도)합성 이미지(320)를 출력한다. 구체적으로, 샘플링 작업은 곱셈을 통해 미리 정해진 행렬(예를 들어, 3*4 행렬)을 사용하여, 양방향 그리드에서 각각의 픽셀을 샘플링한다. 훈련 과정(310)은 출력된 합성 이미지와 대응되는 훈련 샘플을 기반으로, 콘텐츠와 스타일이 각각 훈련 종료 조건을 충족하는지 여부를 확인하고, 충족하는 경우 훈련된 스타일 전환 네트워크 모델을 얻고, 아닌 경우 모델 파라미터를 조정하여 스타일 전환 네트워크 모델을 계속 훈련한다.
본 개시의 실시 예에서, 모델 훈련 과정(310)에서 사용하는 손실 함수는 KL(Kullback-Leibler) 손실 함수(321), 양방향 공간 Laplacian 정규화 손실 함수(322) 등을 포함하되, 이에 한정되지 않는다.
훈련된 스타일 전환 네트워크 모델에 포함된 콘텐츠 백본 네트워크(312)는
이미지 스타일 전환하는 첫번째 단계에 사용될 수 있고, (저해상도)양방향 네트워크(315)와 (전체 해상도)렌더러(317)는 각각 아래의 세번째 단계와 네번째 단계에서 사용될 수 있다.
이미지 스타일 전환하는 세번째 단계는 양방향 네트워크(354)를 통해, 이미지 콘텐츠 특징과 이미지 스타일 특징을 융합하여 융합된 특징을 얻을 수 있다.
예를 들어, 훈련된 (저해상도)양방향 네트워크(354)에 두 개의 저해상도 특징을 입력하여, 저해상도 이미지 콘텐츠 특징과 저해상도 이미지 스타일 특징을 융합한 후의 저해상도 융합 특징을 예측할 수 있다.
이미지 스타일 전환하는 네번째 단계는 융합 특징을 기반으로, 입력 이미지를 렌더러(317)로 렌더링하여 합성 이미지(처리하라 이미지에 대응)를 획득할 수 있다.
여기서, 입력 이미지는 입력 이미지 콘텐츠를 포함하고, 입력 이미지와 융합 특징을 훈련된 렌더러에 입력하여 렌더링하면, 입력 내용이 입력 이미지와 동일하고, 스타일이 미리 정해진 이미지의 스타일인 생성된 이미지(합성 이미지)를 얻을 수 있다. 합성 이미지는 처리할 이미지로서 후속 정제 동작 및 객체 자세 추정에 사용할 수 있다.
선택적으로, 네번째 단계에서 렌더러(317)는 입력 이미지의 전체 해상도 이미지(316)와 저해상도 융합 특징을 렌더링하여 입력 내용이 입력 이미지와 동일하고, 스타일이 미리 정해진 이미지의 스타일인 생성된 이미지(합성 이미지)를 획득할 수 있다.
전반적으로, 도 3의 스타일 전환 처리 과정은 크게 훈련 과정(310)과 추리 과정(350)을 포함할 수 있다.
훈련과정(310)은 다운 샘플링된 저해상도 입력 이미지 샘플인 이미지 콘텐츠(311)을 이미지 콘텐츠를 추출하는 백본 네트워크(312)에 입력하고, 다운 샘플링된 저해상도 합성 이미지 샘플인 이미지 스타일(313)을 이미지 스타일을 추출하는 백본 네트워크(314)에 입력할 수 있다.
콘텐츠 백본 네트워크(312)는 저해상도 콘텐츠 특징을 양방향 네트워크(315)로 출력하고, 스타일 백본 네트워크(314)는 저해상도 스타일 특징을 양방향 네트워크(315)로 출력할 수 있다.
양방향 네트워크는 두 개의 저해상도 특징을 융합하여, 저해상도 특징 융합 결과를 렌더러(317)로 출력할 수 있다.
렌더러(317)는 저해상도 특징 융합 결과와 입력 이미지 샘플의 전체 해상도 이미지 콘텐츠(316)을 수신하면 이를 이용하여 합성 이미지(320)를 생성하여 출력할 수 있다.
훈련과정(310)은 출력된 합성 이미지(320) 및 대응되는 훈련 샘플을 기반으로, 콘텐츠와 스타일이 각각 훈련 종료 조건을 충족하는지 여부를 결정할 수 있다. 훈련과정(310)은 훈련 종료 조건을 충족하는 경우, 훈련된 스타일 전환 네트워크 모델을 획득하고, 아닌 경우, 미리 설정된 손실 함수를 기반으로 모델 파라미터를 조정하여, 스타일 전환 네트워크 모델에 대한 훈련을 계속할 수 있다. 도 2에서 훈련과정(310)의 손실 함수는 KL(Kullback-Leibler) 손실 함수(321), 양방향 공간 Laplacian 정규화 손실 함수(322)일 수 있으나, 이에 한정되지 않는다.
추리 과정(350)은 다운 샘플링된 저해상도 입력 이미지(351)를 이미지 콘텐츠를 추출하는 백본 네트워크(352)에 입력하고, 콘텐츠 백본 네트워크(352)는 저해상도 이미지 콘텐츠 특징을 출력할 수 있다.
양방향 네트워크(354)는 저해상도 이미지 콘텐츠 특징과 기설정된 저해상도 이미지 스타일 특징(353)을 수신하면, 두 개의 저해상도 특징을 융합하여 저해상도 융합 특징을 생성하여 렌더러(356) 출력할 수 있다.
렌더러(356)는 저해상도 융합 특징과 입력 이미지의 전체 해상도 이미지 콘텐츠(355)를 수신하면 합성 이미지(357)을 출력할 수 있다.
이때, 합성 이미지(357)는 110단계의 처리할 이미지에 해당할 수 있다.
일 실시예에서, 입력 이미지를 미리 정해진 이미지 스타일(예를 들어, 합성 이미지 스타일)로 전환하는 것은, 객체 자세 주석이 있는 훈련 데이터(합성 이미지 스타일)와 입력 이미지 사이의 필드간의 간격을 좁히는데 기여함으로써, 모델 성능을 향상시키고, 나아가 3D 객체 자세 추정의 견고성을 향상시킬 수 있다.
일 실시 예에서, 스타일 전환 처리는 가벼운 처리 부하로, 실행 속도에 거의 영향을 미치지 않는다. 또한, 본 개시의 실시 예에서는 스타일 전환 처리에서 하나의 입력 이미지만을 사용하기에, 실행 시간을 더욱 절약할 수 있다.
일 실시 예에 따른 110단계에서, 처리할 이미지의 키 포인트 정보는 구체적으로 가시적 키 포인트의 좌표 정보일 수 있다. 여기서, 가시적 키 포인트는 스스로 가리거나 다른 객체에 의해 가려지지 않은 유효한 키 포인트를 의미한다.
도 4는 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 정제 방법을 개략적으로 도시한 도면이다.
도 4를 참조하면, 일 실시 예에 따른 110단계는 구체적으로 객체 자세 추정 장치는 검출기 네트워크(410)를 통해, 처리할 이미지(400)에서 키 포인트 좌표 정보(411) 및 키 포인트 가시적 정보(412)를 결정하고, 키 포인트 좌표 정보(411) 및 키 포인트 가시적 정보(412)에 기초하여, 키 포인트 정보를 결정할 수 있다. 이때, 결정된 키 포인트 정보는 가시적 키 포인트 좌표 정보(414)이다.
일 실시 예에서 검출기 네트워크(410)는 처리할 이미지(400)를 수신하면 처리할 이미지(400)에서 객체의 키 포인트 가시적 정보()(412)와 키 포인트 좌표 정보((,))(411)를 출력한다. 추가로, 검출기 네트워크(410)는 객체의 카테고리()(413)를 출력할 수도 있다. 그리고, 검출기 네트워크(410)는 검출기 네트워크(410)의 중간 처리 과정을 통해 처리할 이미지의 정렬된 RoI 특징맵을 얻을 수도 있다.
객체 자세 추정을 위한 이후 과정에서 다중 스케일의 특징을 융합하는 동작이 포함되어 있기 때문에, 객체 자세 추정 RoI 정렬을 수행하여 동일한 크기의 특징맵을 획득하는 것이 필요할 수 있다.
선택적으로, 키 포인트(좌표 정보) 회귀 손실 함수는 wing loss 손실 함수를 사용할 수 있고, 키 포인트 가시적 정보 분류 손실 함수는 L1 손실 함수를 사용할 수 있으며, 객체 카테고리 구분 손실 함수는 교차 엔트로피 손실 함수 등을 사용할 수 있으나, 이에 한정되지 않는다.
선택적으로, 검출기 네트워크(410)는 가시적 키 포인트 제안 네트워크를 통해 처리할 이미지 중 객체의 키 포인트 가시적 정보(414)를 출력할 수 있다. 구체적으로, 가시적 키 포인트 제안 네트워크는 먼저 가시적 키 포인트 제안을 예측하고, 예측한 가시적 키 포인트 제안에서 최종 키 포인트 가시적 정보(414)를 결정할 수 있다.
일 실시 예에서, 가시적 키 포인트 제안 네트워크를 통해 가시적 키 포인트 제안 예측을 수행할 때, 여러 인접 영역 단위의 특징맵 예측 결과를 융합할 수 있다. 예를 들어, 테이블 모서리가 가시적 키 포인트인지 여부를 예측할 때, 해당 테이블 모서리가 위치한 특징맵의 여러 인접 영역 단위의 특징맵을 융합하여, 대응되는 예측 제안을 얻을 수 있다.
일 실시 예에서, 여러 인접 영역 단위의 특징맵의 예측 결과를 융합할 때, 특징맵을 가중합산 할 수 있다.
선택적으로, 가중 합산의 가중 계수는 훈련된 신경망 모델을 통해 얻을 수 있다.
또는, 다른 방법으로 가중 계수를 얻을 수 있다. 가시적 키 포인트 제안 네트워크는 인접한 영역 단위를 그래프로 구성하고, 그래프의 구조와 연결 관계로부터 각 구역 단위의 가중계수를 구할 수 있다. 이때, 그래프의 노드는 각각의 영역 단위이고, 그래프의 가장자리는 인접 영역 단위의 유사 관계일 수 있다.
일 실시 예에서, 가시적 키 포인트 제안 네트워크는 훈련과정에서 2D 이미지 분할과 같은 다른 지도 방식을 사용할 수 있으며, 훈련 중에 여러 지도 방식을 조합하여 사용할 수 있다.
상기 방법은 단일 단계 또는 다단계 객체 가시적 키 포인트 제안 예측에 적용될 수 있다.
처리할 이미지(400)에서 객체의 키 포인트 가시적 정보(412) 및 키 포인트 좌표 정보(411)를 획득한 후, 객체의 키 포인트가 가시적인지 여부를 판단 및 필터링하여, 스스로 가리거나 다른 객체에 의해 가려진 불필요한 키 포인트를 삭제하여, 가시적인 유효 키 포인트(414)만 유지할 수 있다.
나아가, 유효한 가시적 키 포인트(414)에 기초하여, 처리할 이미지(400)가 대응하는 특징맵을 크로핑(cropping)하여, 키 포인트 정보가 대응하는 키 포인트 특징맵(421)을 획득하고, 이를 120단계의 실행에 사용할 수 있다.
일 실시 예에서, 검출기 네트워크(410)를 통해 처리할 이미지(400)의 관심 영역 RoI 특징맵을 획득할 수도 있는데, 이 경우, 120단계 이전에, 키 포인트 정보에 기초하여, RoI 특징맵에서 대응되는 키 포인트 특징맵을 결정하는 단계를 더 포함할 수 있다.
예를 들어, 각각의 키 포인트(, y)에 대해, 처리할 이미지(400)에 대응하는 RoI 특징맵에서, 키 포인트(, y)를 중심으로 하는 16x16 특징맵을 크로핑할 수 있다. 실제 응용에서, 당업자는 실제 상황에 따라 크로핑 방식을 설정할 수 있으며, 본 개시의 실시 예에서 이를 한정하지 않는다.
일 실시 예에서, 처리할 이미지(400)에 적어도 2개의 객체가 있는 경우, 검출기 네트워크(410)를 통해 처리할 이미지 중의 객체 카테고리를 결정할 수도 있는데, 이 경우, 단계(S102) 이전에, 객체 카테고리(413) 및 키 포인트 정보(414)를 기반으로, 대응되는 키 포인트 특징맵을 결정하는 단계를 더 포함할 수 있다.
즉, 처리할 이미지(400)에 여러 객체가 포함되는 경우, 각각의 키 포인트(, y)에 대해, 처리할 이미지(400)에 대응하는 RoI 특징맵에서, 각각의 객체가 대응하는 객체 카테고리에 따라 키 포인트(, y)를 중심으로 하는 특징맵을 크로핑해야 한다. 실제 응용에서, 당업자는 실제 상황에 따라 크로핑 방식을 설정할 수 있으며, 본 개시의 실시예에서 이를 한정하지 않는다.
120단계는 키포인트 정제 과정(420)을 더 포함할 수 있다.
구체적으로, 객체 자세 추정 장치는 키 포인트 정보가 대응하는 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득할 수 있다.
그리고, 객체 자세 추정 장치는 키 포인트 오프셋 잔차 정보 및 키 포인트 정보에 기초하여, 수정된 키 포인트 정보를 획득할 수 있다.
구체적으로, 도 4와 같이, 객체 자세 추정 장치는 크로핑된 키 포인트 특징맵(421)을 정제 네트워크(422)에 각각 입력할 수 있고, 정제 네트워크(422)는 각각의 키 포인트 특징맵(421)에 대해 키 포인트 오프셋 회귀를 각각 수행하여, 키 포인트 오프셋 잔차(△x,△y)(423)를 얻는다.
객체 자세 추정 장치는 가산기(424)를 이용해서 키 포인트 오프셋 잔차 정보(△x,△y)(423)에 키 포인트 정보(x, y)(414)를 추가함으로써, 수정된 키 포인트 정보(,)(426)를 얻을 수 있다.
본 개시의 실시 예에 있어서, 키 포인트 정제 과정(420)에 사용되는 손실 함수는 L1 손실 함수일 수 있으나, 이에 한정되지 않는다.
본 개시의 실시예에서, 정제 네트워크(422)를 위해 실현 가능한 일 구현 방식을 제공한다. 구체적으로, 정제 네트워크(422)는 적어도 하나의 해상도의 서로 연결된 서브 네트워크를 포함할 수 있다.
120단계의 구체적인 단계 중에서 키 포인트 오프셋 잔차 정보를 획득하는 단계는 구체적으로 다음의 단계를 포함할 수 있다.
정제 네트워크(422)는 적어도 하나의 해상도의 서브 네트워크를 통해, 키 포인트 정보가 대응하는 키 포인트 특징맵으로부터 해당 스케일의 의미적 특징을 각각 추출할 수 있다. 그리고, 정제 네트워크(422)는 각 스케일의 의미적 특징을 융합하여, 융합된 의미적 특징을 얻을 수 있다. 그리고, 정제 네트워크(422)는 완전 연결 레이어를 통해, 융합된 의미적 특징을 회귀 처리하여, 키 포인트 오프셋의 잔차 정보를 얻을 수 있다.
도 5는 일 실시 예에서 따른 객체 자세 추정 장치의 정제 네트워크의 구성을 도시한 도면이다. 도 6은 일 실시 예에서 따른 객체 자세 추정 장치에서 제공하는 수정된 키 포인트 정보를 시각화한 일 예를 도시한 도면이다.
도 5를 참조하면, 정제 네트워크(422)는Lite-HRNet(A Lightweight High-Resolution Network)-18와 유사한 구조를 백본 네트워크로 사용할 수 있다. 정제 네트워크(422)는 네트워크 전체에서 고해상도 표현을 유지할 수 있다. 정제 네트워크(422)는 고해상도 서브 네트워크부터 시작하여 고해상도에서 저해상도로 서브 네트워크를 단계적으로 늘려가며 여러 단계를 하나씩 형성하고, 다중 해상도의 서브 네트워크를 병렬로 연결할 수 있다. 정제 네트워크(422)는 각각의 해상도의 서브 네트워크를 통해, 키 포인트 정보가 대응하는 키 포인트 특징맵에서 해당 스케일의 의미적 특징을 각각 추출할 수 있다.
또한, 정제 네트워크(422)는 다중 스케일 융합을 반복함으로써, 각각의 고해상도 내지 저해상도 표현이 모두 다른 병렬된 표현으로부터 정보를 수신하도록 하여, 풍부한 고해상도 표현을 획득한다. 결과적으로, 예측한 키 포인트 오프셋은 보다 더 정확해질 수 있다.
또한, 정제 네트워크(422)는 융합된 의미적 특징에 대해 완전 연결 레이어로 회귀 처리하여, 예측된 키 포인트 오프셋 잔차 정보(키 포인트 잔차 정보라고도 함)를 획득한다. 앞서 설명한 바와 같이, 객체 자세 추정 장치는 키 포인트 오프셋 잔차 정보(△x,△y)(423)를 키 포인트 정보(x, y)(414)에 추가함으로써, 수정된 키 포인트 정보(,)(425)를 얻을 수 있다.
전반적으로, 도 5에서 도시한 정제 네트워크의 처리 과정은 다음과 같다.
(1) 정제 네트워크(422)는 컨볼루션 유닛, 업 샘플링 동작 및 다운 샘플링 동작을 통해, 다중 해상도의 서브 네트워크를 구성하고(도 5에서 3가지 유형을 예시함), 다중 해상도의 서브 네트워크를 통해, 키 포인트 특징맵에 대해 대응되는 스케일의 의미적 특징을 각각 추출할 수 있다.
(2) 정제 네트워크(422)는 각 스케일의 의미적 특징을 융합하여, 융합된 의미적 특징을 얻을 수 있다.
(3) 이후, 객체 자세 추정 장치는 완전 연결 레이어(510)를 통해 융합된 의미적 특징을 회귀 처리하여, 키 포인트 오프셋 잔차 정보(423)를 얻을 수 있다.
(4) 객체 자세 추정 장치는 키 포인트 오프셋 잔차 정보(423)를 대응되는 키 포인트 정보(414)에 추가(424)함으로써, 수정된 (2D)키 포인트 정보(425)를 얻을 수 있다.
여기서, 획득한 수정된 (2D)키 포인트 정보(425)를 시각화한 이미지(610)는 도 6의 예와 같을 수 있다.
일 실시 예에서, 도 5에서 도시한 정제 네트워크(422)는, 추리 단계에서 속도 요구에 따라 비율 및 단계의 수량을 조절할 수 있기에, 높은 유연성을 갖는다.
130단계에서, 객체 자세 추정 장치는 PNP(Perspective-n-Point) 알고리즘을 사용하여 객체의 자세를 추정할 수 있다.
구체적으로, 키 포인트 정보는 2D 키 포인트 정보이다. 그리고, 130단계는 수정된 2D 키 포인트 정보 및 미리 설정된 3D 모델 집합에 기초하여, PnP 알고리즘을 통해, 처리할 이미지에서 객체의 자세를 추정하는 단계를 포함할 수 있다. 구체적으로, 도 4에 도시된 바와 같이, 처리할 이미지(400)에서 객체의 6DoF 자세(6DoF 자세라고도 함)(440)를 추정하는 것일 수 있다.
여기서, PnP 알고리즘은 3D에서 2D 포인트 페어로의 운동을 구하는 알고리즘으로, 공간 내의 실제 좌표와 이미지 좌표에 따라 카메라의 자세를 구한다. 일 실시 예에서, PnP 알고리즘은 복수의 3D 키 포인트와 그에 대응되는 투영 위치(2D 키 포인트)가 알려진 경우, 카메라의 자세를 추정할 수 있다.
일 실시 예에서, 기설정된 3D 모델 집합에는 처리할 이미지(400)에 대응하는 실제 장면 중 각 객체의 3D 모델이 포함된다. 실제 응용에서, 객체 자세 추정 장치는 각자의 이미 알려진 CAD(Computer Aided Design) 모델(도 4의 예시)로부터 각 3D 모델을 얻을 수 있다. 예를 들어, 객체 자세 추정 장치는 객체의 3D CAD 모델 라이브러리에서 객체의 3D 모델을 검색하여 획득할 수 있고, 또는 3D 객체를 스캔하여 각각의 3D 모델을 획득할 수도 있으며, 본 개시의 실시 예에서 기설정된 3D 모델 집합의 소스를 특별히 제한하지 않는다.
위의 설명과 결합하여, 처리할 이미지(400)를 검출기 네트워크(410)에 입력하여, 처리할 이미지 중의 2D 키 포인트 정보를 결정할 때, 검출기 네트워크(410)는 객체의 카테고리()(413)를 출력할 수도 있다. 즉, 110단계는 검출기 네트워크(410)를 통해, 처리할 이미지(400) 중 객체의 카테고리(413)를 결정하는 것을 포함할 수 있다. 결정된 객체 카테고리(413)는 3D 키 포인트 정보를 결정하는데 사용될 수 있다.
구체적으로, PnP 알고리즘(431)을 통해, 처리할 이미지에서 객체의 자세를 추정하는 것은, 객체 카테고리 및 3D 모델 집합에 따라 3D 키 포인트 정보를 결정하고, 수정된 2D 키 포인트 정보(425)와 3D 키 포인트 정보(432)를 기반으로, PnP 알고리즘(431)을 사용하여 처리할 이미지(400)에서 객체 자세(440)를 추정하는 것을 포함할 수 있다.
일 실시 예에서, 객체 자세 추정 장치는 객체 카테고리(413)와 결합하여 3D 모델 집합을 검색하면, 대응되는 3D 키 포인트 정보를 보다 효율적으로 결정할 수 있다. 따라서, 객체 자세 추정 장치는 수정된 2D 키 포인트 정보(425) 및 3D 키 포인트 정보(432)에 기초하여, PnP 알고리즘(431)을 사용하여, 처리할 이미지(400)에서 3D 객체 자세(440)를 추정할 수 있다.
전반적으로, 도 4의 객체 자세 추정 과정은 다음의 단계로 표현될 수 있다.
(1) 객체 자세 추정 장치는 처리할 이미지(400)를 검출기 네트워크(410)에 입력할 수 있다. 검출기 네트워크(410)는 처리할 이미지(400)에서 객체의 키 포인트 가시적 정보(가시 여부)(412)와 키 포인트 좌표 정보(412)를 출력할 수 있다. 실제 응용에서, 검출기 네트워크(410)는 객체 카테고리를 출력할 수도 있다.
(2) 객체 자세 추정 장치는 처리할 이미지(400)에서 객체의 키 포인트 가시적 정보(412)와 키 포인트 좌표 정보(411)를 기반으로, 객체의 키 포인트의 가시 여부를 판단 및 필터링하고, 스스로 가리거나 다른 객체에 의해 가려진 불필요한 키 포인트를 삭제하여, 가시적인 유효 키 포인트(414)만 유지할 수 있다.
(3) 객체 자세 추정 장치는 유효한 가시적 키 포인트(414)에 기초하여, 처리할 이미지가 대응하는 특징맵을 크로핑하여, 키 포인트 정보가 대응하는 키 포인트 특징맵(421)을 획득할 수 있다.
(4) 객체 자세 추정 장치는 크로핑된 키 포인트 특징맵(421)을 정제 네트워크(422)에 각각 입력할 수 있다. 정제 네트워크(422)는 각각의 키 포인트 특징맵(421)에 대해 키 포인트 오프셋 회귀를 각각 수행하여, 대응되는 키 포인트 오프셋 잔차 정보(423)를 얻을 수 있다.
(5) 객체 자세 추정 장치는 키 포인트 오프셋 잔차 정보(423)를 대응되는 키 포인트 정보(414)에 추가(424)함으로써, 수정된 (2D)키 포인트 정보(425)를 얻을 수 있다.
(6) 객체 자세 추정 장치는 수정된 2D 키 포인트 정보(425)와 대응되는 3D 키 포인트 정보(432)(예를 들어, CAD 모델의 3D 키 포인트 정보)를 기반으로, PnP 알고리즘(431)을 통해 처리할 이미지에서 객체의 6DoF 자세(440)를 추정할 수 있다.
여기서, 키 포인트 정제 과정(420)은 구체적으로 위의 (4) 및 (5)의 과정을 포함하되, 이에 한정되지 않는다.
본 개시의 실시 예에서 객체 자세를 추정하기 위해 키 포인트 정렬 방법을 반복적으로 사용할 수 있다. 예를 들어, 객체 자세를 추정 방법은 110단계 내지 130단계를 반복함으로써, 객체의 키 포인트와 6DoF 자세를 번갈아 업데이트할 수 있다. 여기서, 반복적인 키 포인트를 정렬하는 피드백 루프는 아래 도 7과 같을 수 있다.
도 7은 일 실시 예에 따른 객체 자세 추정 장치에서 자세 추정을 위한 반복적인 정제 과정을 도시한 도면이다. 도 8은 일 실시 예에 따른 객체 자세 추정 장치에서 제공하는 수정된 키 포인트 정보를 시각화한 다른 예를 도시한 도면이다.
도 7을 참조하면, 키 포인트 정보는 2D 키 포인트 정보이고, 처리할 이미지(400)에서 객체 자세를 처음으로 추정한 후, 객체 자세 추정 방법은 종료 조건이 충족될 때까지, 처리할 이미지(400)에서 추정한 객체 자세(440)에 기초하여, 처리할 이미지(400)에서 객체의 3D 키 포인트 매핑 정보(720)를 결정할 수 있다. 객체 자세 추정 방법은 3D 키 포인트 매핑 정보(720)에 기초하여, 업데이트된 키 포인트 정보를 얻을 수 있다. 그리고, 객체 자세 추정 방법은 업데이트된 키 포인트 정보(414)에 기초하여, 수정된 키 포인트 정보(425)를 다시 결정하고, 다시 결정된 수정된 키 포인트 정보(425)에 기초하여, 처리할 이미지(400)에서 객체 자세(440)를 추정하는 동작을 반복적으로 수행할 수 있다.
구체적으로, 객체 자세 추정 방법에서 처리할 이미지(400)에서 추정한 객체 자세(440)에 기초하여, 처리할 이미지(400)에서 객체의 3D 키 포인트 매핑 정보(720)를 결정하는 것은, 처리할 이미지(400)에서 추정한 객체 자세(440), 미리 설정된 3D 모델 집합, 및 카메라 고유 행렬에 기초하여, 처리할 이미지(400)에서 객체의 3D 키 포인트 매핑 정보(720)를 결정하는 것을 포함할 수 있다.
이때, 기설정된 3D 모델 집합은, 처리할 이미지(400)가 대응하는 실제 장면 중 각 객체의 3D 모델을 포함할 수 있다. 실제 응용에서, 각자의 알려진 CAD 모델(도 7의 예)로부터 각 3D 모델을 얻을 수 있다. 예를 들어, 객체 자세 추정 장치는 객체의 3D CAD 모델 라이브러리에서 객체의 3D 모델을 검색하여 획득할 수 있고, 또는 3D 객체를 스캔하여 각각의 3D 모델을 획득할 수도 있으며, 본 개시의 실시 예에서 기설정된 3D 모델 집합을 구체적으로 제한하지 않는다.
일 실시 예에서, 객체 자세 추정 방법에서 처리할 이미지(400)에서 추정한 객체 자세(440), 기설정된 3D 모델 집합, 및 카메라 고유 행렬에 기초하여, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하는 것은, 처리할 이미지(400)에서 추정한 객체 자세(440), 기설정된 3D 모델 집합 중에서 처리할 이미지(400)의 객체에 대응하는 3D 키 포인트 정보(432), 및 카메라 고유 행렬에 기초하여, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보(720)를 결정하는 것일 수 있다.
여기서, 카메라 고유 행렬은 카메라의 고유 속성으로, 카메라마다 고유 행렬이 다를 수 있다. 일 실시 예에서, 획득한 입력 이미지에 대해, 해당 입력 이미지를 수집한 카메라의 고유 행렬을 대응되게 획득할 수 있다.
일 실시 예에서 객체 자세 추정 장치는 현재의 반복이 업데이트된 처리할 이미지 중의 키 포인트 정보를 제 k+1 번째 결정하는 예시일 수 있다. 객체 자세 추정 장치는 제 k번째 반복에서 처리할 이미지에서 객체 자세를 추정한 후, 미리 설정된 3D 모델 집합 중 대응되는 3D 키 포인트 정보, 카메라 고유 행렬을 결합하여, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정할 수 있다. 그리고, 객체 자세 추정 장치는 객체의 3D 키 포인트 매핑 정보를 사용하여 제 k번째 반복에서 사용한 처리할 이미지 중의 키 포인트 정보를 업데이트하여, 제 k+1번째 반복에서 사용하는 처리할 이미지 중의 키 포인트 정보를 획득하고, 이로부터 제 k+1번째 반복에서 키 포인트 정제 및 객체 자세 추정을 수행할 수 있다.
예를 들어, 현재 k 번째 반복인 경우, 추정된 객체 자세는 []이고, 여기서, R은 회전 행렬이고, T는 병진 벡터이다. 대응되는 3D 모델 집합 중의 3D 키 포인트 정보가 P = [P1,P2,..., Pn]이고, 카메라 고유 행렬이 K이면, 아래 <수학식 1>로 3D 키 포인트 매핑 정보를 계산할 수 있다
[수학식 1]
따라서, 객체 자세 추정 장치는 업데이트된 키 포인트 정보 를 기반으로, 각각의 키 포인트를 중심으로 하는 특징맵을 정제 네트워크(422)에 입력하여, 수정된 키 포인트()를 얻을 수 있다.
더 나아가, 객체 자세 추정 장치는 수정된 키 포인트 정보()를 기반으로, PNP 알고리즘(431)을 사용하여 제 k+1번째 반복에서 추정한 처리할 이미지 중의 객체 자세([])를 업데이트 할 수 있다.
객체 자세 추정 장치는 위의 과정을 반복함으로써 객체의 키 포인트와 6DoF 자세를 반복적으로 업데이트하여, 객체 키 포인트와 6DoF 자세 추정의 정확도를 향상시킬 수 있다.
일 실시 예에서, 키 포인트 정보의 반복적인 업데이트는 종료 조건이 충족될 때 종료된다. 여기서, 종료 조건은 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우 및 키 포인트에 대한 수정이 미리 정해진 횟수에 도달한 경우 중 적어도 하나를 포함할 수 있다. 여기서, 키 포인트의 수정 횟수는 객체 자세 정제를 반복한 횟수로도 이해할 수 있다.
일 실시 예에서, 객체 자세 추정 장치는 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우에만 반복이 종료하도록 설정할 수 있다. 객체 자세 추정 장치는 키 포인트에 대한 수정이 기설정된 횟수(즉 반복 횟수)에 도달한 경우에만 반복이 종료하도록 설정할수 있다. 또는 객체 자세 추정 장치는 두 가지 조건을 동시에 설정하여, 둘 중 하나가 우선 충족되는 경우, 반복을 종료하도록 설정할 수 있다.
구체적으로, 키 포인트의 수정 전후의 차이값이 임계값보다 작은 것은, 적어도 하나의 키 포인트의 수정 전후의 차이값 총합이 임계값보다 작은 경우, 적어도 하나의 키 포인트 중 각각의 키 포인트에 대한 수정 전후의 차이값이 임계값보다 작은 경우 중 적어도 하나를 포함할 수 있다.
예를 들어, 키 포인트의 업데이트된 차이값 총합(D)은 아래 <수학식 2>와 같이 표현될 수 있다.
[수학식 2]
즉, 객체 자세 추정 장치는 제 k+1번째 반복에서 획득한 수정된 키 포인트 와 k번째 반복에서 획득한 수정된 키 포인트 의 차이의 총합이 임계값보다 작은 경우, k+2번째 반복을 수행하지 않을 수 있다.
또는, 객체 자세 추정 장치는 각각의 제 k+1번째 반복에서 획득한 수정된 키 포인트 와 대응되는 제 k번째 반복에서 획득한 수정된 키 포인트 의 차이값이 임계값보다 작은 경우, 제 k+2번째 반복을 수행하지 않을 수 있다.
또는, 객체 자세 추정 장치는 반복 횟수가 미리 정해진 k+1회에 도달한 경우, 제 k+2번째 반복을 수행하지 않을 수 있다.
해당 예시에서, 제 k+1번째 반복에서 처리할 이미지에서 추정한 객체 자세 []는, 네트워크의 출력으로 사용될 수 있다. 즉, 제 k+1번째 반복에서 추정한 객체 자세 []는 최종 객체 자세 추정 결과일 수 있다.
도 7에 도시된 반복적인 정제 과정은 다음과 같이 동작할 수 있다.
(1) 객체 자세 추정 장치는 초기화된 2D 키 포인트 정보(414), 객체 카테고리(413) 및 RoI 특징맵(710)에 기초하여, 각각의 키 포인트를 중심으로한 키 포인트 특징맵(421)을 크로핑할 수 있다.
(2) 객체 자세 추정 장치는 크로핑된 키 포인트 특징맵(421)을 정제 네트워크(422)에 각각 입력할 수 있다. 정제 네트워크(422)는 각각의 키 포인트 특징맵(421)에 대해 키 포인트 오프셋 회귀를 각각 수행하여, 대응되는 키 포인트 오프셋 잔차 정보(423)를 얻을 수 있다.
(3) 객체 자세 추정 장치는 키 포인트 오프셋 잔차 정보(423)를 대응되는 2D 키 포인트 정보(414)에 추가(424)함으로써, 수정된 2D 키 포인트 정보(425)를 얻을 수 있다.
(4) 객체 자세 추정 장치는 수정된 2D 키 포인트 정보(425) 및 대응되는 3D 키 포인트 정보(432)를 기반으로, PnP 알고리즘(431)을 통해, 처리할 이미지에서 객체의 6DoF 자세(440)를 추정할 수 있다.
(5) 객체 자세 추정 장치는 처리할 이미지에서 추정한 객체 자세(440), 대응되는 3D 키 포인트 정보(432), 및 카메라 고유 행렬을 기반으로, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보(720)를 결정할 수 있다.
(6) 객체 자세 추정 장치는 3D 키 포인트 매핑 정보(720)에 기초하여, (1) 단계의 키 포인트 정보를 업데이트하여, 업데이트된 키 포인트 정보를 획득하고, 업데이트된 키 포인트 정보에 기초하여 다시 (1) 단계부터 일련의 단계를 수행할 수 있다.
객체 자세 추정 장치는 키 포인트의 수정 전후의 차이값이 임계값 미만 및/또는 반복 횟수가 미리 정해진 횟수에 도달할 때까지, (1) 단계에서 (6)단계를 반복할 수 있다.
여기서, 획득한 수정된 (2D)키 포인트 정보(425)를 시각화한 이미지(810)는 도 8과 같을 수 있다.
일 실시 예에서, 객체의 6dof 자세 추정을 위한 반복적인 정제 방법은 CNN(Convolutional Neural Networks, 컨볼루션 신경망) 네트워크를 사용할 수 있으나, 이에 한정되지 않는다. 구체적으로, 객체 자세 추정 장치는 객체의 3D 키 포인트를 2D 이미지에 투영하고, 인코더에서 특징을 추출하여, 대응되는 2D 키 포인트 정보를 얻을 수 잇다. 객체 자세 추정 장치는 컨볼루션 신경망을 통해, 객체들의 2D 키 포인트 정보가 대응하는 키 포인트 특징맵으로부터 수정된 2D 키 포인트 정보를 획득하여, 객체의 3D 자세의 예측에 사용할 수 잇다.
본 개시의 실시 예에서, 객체 자세 추정 장치는 반복적인 정제를 통하여, 객체 키 포인트와 6DoF 자세를 반복적으로 최적화함으로써, 객체의 자세 추정을 향상시킬 수 있다.
도 9는 일 실시 예에 따른 객체 자세 추정 장치에서 전체 객체 자세 추정을 개략적으로 도시한 도면이다. 도 10은 일 실시 예에 따른 객체 자세 추정 장치에서 처리할 이미지로부터 추정한 객체 자세를 시각화한 일 예를 도시한 도면이다.
도 9를 참조하면, 객체 자세 추정의 전체 과정은 다음의 단계로 구성될 수 있다.
(1) 객체 자세 추정 장치는 입력 이미지(910)를 스타일 전환 네트워크(920)에 입력하고, 스타일 전환 네트워크(9210)는 전체 해상도 합성 이미지 스타일의 처리할 이미지(400)를 출력할 수 있다.
(2) 객체 자세 추정 장치는 처리할 이미지(400)를 검출기 네트워크(410)에 입력하고, 검출기 네트워크(410)는 처리할 이미지(400)에서 객체의 키 포인트 가시적 정보(가시 여부)(412)와 키 포인트 좌표 정보(411)를 출력할 수 있다. 실제 응용에서, 검출기 네트워크(410)는 객체 카테고리(413) 및 중간 처리 결과 RoI 특징맵을 출력할 수도 있다.
(3) 객체 자세 추정 장치는 처리할 이미지(400) 중 객체의 키 포인트 가시적 정보(412) 및 키 포인트 좌표 정보(411)에 기초하여, 객체의 키 포인트가 가시적인지 여부를 판단 및 필터링하여, 가시적인 키 포인트(414)를 획득할 수 있다.
(4) 객체 자세 추정 장치는 가시적 키 포인트 정보 (414), 객체 카테고리(413) 및 RoI 특징맵에 기초하여, 각각의 키 포인트를 중심으로 하는 키 포인트 특징맵(421)을 크로핑할 수 있다. 이때, 객체 자세 추정 장치는 처리할 이미지(400)에 여러 객체가 포함되는 경우, 객체 카테고리(413)에 따라 크로핑 해야 할 수 있다.
(5) 객체 자세 추정 장치는 크로핑된 키 포인트 특징맵(421)을 정제 네트워크(422)에 각각 입력할 수 있다. 정제 네트워크(422)는 각각의 키 포인트 특징맵(421)에 대해 키 포인트 오프셋 회귀를 각각 수행하여, 대응되는 키 포인트 오프셋 잔차 정보(423)를 얻을 수 있다.
(6) 객체 자세 추정 장치는 키 포인트 오프셋 잔차 정보(423)를 대응되는 2D 키 포인트 정보(414)에 추가(424)함으로써, 수정된 2D 키 포인트 정보(425)를 얻을 수 있다.
(7) 객체 자세 추정 장치는 수정된 2D 키 포인트 정보(425) 및 대응되는 3D 키 포인트 정보(432)를 기반으로, PnP 알고리즘(431)을 통해, 처리할 이미지에서 객체의 6DoF 자세(440)를 추정할 수 있다.
(8) 객체 자세 추정 장치는 처리할 이미지에서 추정한 객체 자세(440), 대응되는 3D 키 포인트 정보(432), 및 카메라 고유 행렬을 기반으로, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보(720)를 결정할 수 있다.
(9) 객체 자세 추정 장치는 3D 키 포인트 매핑 정보(720)에 기초하여, (1) 단계의 키 포인트 정보를 업데이트하여, 업데이트된 키 포인트 정보를 획득하고, 업데이트된 키 포인트 정보에 기초하여 다시 (4) 단계부터 이후 일련의 단계를 수행할 수 있다.
객체 자세 추정 장치는 키 포인트의 수정 전후의 차이값이 임계값 미만 및/또는 반복 횟수가 미리 정해진 횟수에 도달할 때까지, (4) 단계에서 (9)단계를 반복할 수 있다.
여기서, 처리할 이미지(400)에서 추정한 객체 자세(440)를 시각화한 이미지(1010)는 도 10과 같을 수 있다.
일 실시 예에서 제공하는 객체 자세 추정 방법은, 단대단 (end-to-end) 훈련 가능한 키 포인트 회귀 및 정제 방법을 사용하여, 종래의 기술에서 훈련하기 어려운 문제를 해결할 수 있다.
일 실시 예에서 제공하는 객체 자세 추정 방법은, 종래의 대부분 자세 정제 방법의 시간 소모가 많은 이미지 렌더링 및 비교 사이클이 없기에, 속도 및 정확도에서 매우 효과적이다.
일 실시 예에서 제공하는 컬러 이미지 입력에 기초한 3D 객체의 6DoF 자세 추정 및 최적화 방법은, 증강 현실 응용에서 시스템의 효율성 및 견고성을 향상시킬 수 있다.
여기서, 본 개시의 실시 예에서 제공하는 스타일 전환 딥러닝 네트워크는, 입력 이미지를 합성 이미지 스타일의 이미지로 전환하여 처리함으로써, 데이터 필드 간격의 문제를 해결하고, 3D 객체 자세 추정의 견고성을 향상시킬 수 있다.
본 개시의 실시 예에서 제공하는 객체의 가시적인 2D 키 포인트 예측 및 키 포인트에 기초한 객체의6DoF 자세 추정 방법은, 데이터 노이즈 및 데이터 누락 문제를 해결할 수 있다.
본 개시의 실시예에서 제공하는 객체 키 포인트의 반복적 최적화 및 6DoF 자세 추정 최적화 방법은, 기하학적 선험적 지식을 사용하여 결과의 정확도를 향상킬 수 있다
본 개시의 실시 예에서 제공하는 객체 자세 추정 방법을 통하여 정확하고 빠른 증강 현실 상호 작용을 실현할 수 있다.
실제 응용에서, AR 애플리케이션은 3D 가상 - 현실 정렬을 통해 승인되기에, 이를 위해서는 객체의 6DoF 자세를 인식하는 것이 매우 중요하다. AR 애플리케이션은 본 개시의 실시예에서 제공하는 객체 자세 추정 방법을 사용함으로써, 3D 자세를 정확하게 추정하여, 가상 콘텐츠와 실제 객체를 실시간으로 빠르고 효과적으로 정렬할 수 있다. 특히, AR 애플리케이션은 실제 장면에서 움직이는 객체의 경우, 지연을 감소하거나 지연이 없도록, 실시간으로 자세를 추정하여 AR 시스템에서 시각 장치를 사용할 때 가상 콘텐츠를 적시에 업데이트하기에, 사람과 객체의 상호 작용, 특히, 객체가 실제 장명세서 움직일 때의 상호 작용을 보다 잘 처리할 수 있다.
실제 응용에서, 모델 훈련에 사용되는 실제 자세 주석이 있는 훈련 데이터는 합성 이미지 스타일과 같은 특정 스타일을 가질 수 있는데, 수집된 실제 장면의 입력 이미지를 입력 이미지(합성 이미지의 스타일과 다름)로 처리하는 경우, 데이터 사이의 정보 필드에 간격이 발생하여 모델 성능에 영향을 줄 수 있다.
도 11은 일 실시 예에 따른 객체 자세 추정 장치에서 객체 자세를 추정하는 방법의 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 11을 참조하면, 객체 자세 추정 방법은 다음의 단계를 포함할 수 있다.
객체 자세 추정 장치는 입력 이미지를 기설정된 이미지 스타일의 처리할 이미지로 전환할 수 있다(1110).
그리고, 객체 자세 추정 장치는 처리할 이미지 중의 키 포인트 정보를 결정할 수 있다(1120).
그리고, 객체 자세 추정 장치는 키 포인트 정보에 기초하여, 입력 이미지에서 객체의 자세를 추정할 수 있다(1130).
여기서, 이미지 스타일은 이미지의 조명, 질감, 색온도, 색조, 대비도, 포화도, 휘도 등과 같은 이미지 속성으로 표현되는 시각적 경험을 의미하다. 예를 들어 유화 스타일, 드로잉 스타일, 만화 스타일 등은 모두 다른 스타일로 간주될 수 있다. 다른 예로, 수집 장치로 수집한 입력 이미지(실제 장면의 사진)와 합성 이미지(프로세서에 의해 합성된 가상 이미지)도 서로 다른 스타일로 간주될 수 있으며, 통상적으로 입력 이미지는 합성 이미지보다 질감이 섬세하고 어둡다. 이미지 스타일에 따라 이미지는 다른 효과를 나타내지만, 이미지의 내용은 바뀌지 않는 것은 이해 가능하다.
일 실시 예에서, 기설정된 이미지 스타일은, 예를 들어, 합성 이미지 스타일과 같이 모델 훈련에 사용되는 실제 자세 주석을 포함하는 훈련 데이터의 이미지 스타일일 수 있으나, 이에 한정되지 않는다.
본 출원의 실시예에서, 도 3에 도시된 바와 같이, 이미지 스타일 전환하는 과정은 구체적으로 다음 단계를 포함할 수 있다:
이미지 스타일 전환하는 첫번째 단계는 콘텐츠 백본 네트워크(352)를 통해 입력 이미지의 이미지 콘텐츠 특징을 추출할 수 있다.
일 실시 예에서, 입력 이미지는 콘텐츠 특징을 추출하기 위한 콘텐츠 이미지이다.
일 실시 예에서, 이미지 콘텐츠 특징은 저해상도 이미지 콘텐츠(351) 특징일 수 있다.
여기서, 저해상도 이미지는 해상도가 이미지의 전체 해상도보다 낮은 이미지를 의미할 수 있다. 일 실시 예에서 저해상도의 정도는 특별히 한정하지 않으며, 실제 상황에 따라 설정할 수 있다.
일 실시 예에서 콘텐츠 백본 네트워크(352)는 입력된 실제 이미지에 대하여 저해상도 이미지 콘텐츠 특징을 직접 추출할 수 있다.
일 실시 예에서 먼저 입력 이미지를 다운 샘플링하여 저해상도 입력 이미지(351)를 얻은 다음, 콘텐츠 백본 네트워크(352)에 입력하여 저해상도 이미지 콘텐츠 특징을 추출할 수 있다. 하지만, 도 3의 실시 예로 한정되는 것은 아니고, 콘텐츠 백본 네트워크(352)에 입력되는 이미지는 서로 다른 훈련 방법에 기초하여 획득할 수도 있다.
이미지 스타일 전환하는 두번째 단계는 기설정된 이미지 스타일 특징(353)을 획득할 수 있다. 본 개시의 실시 예에서, 이미지 스타일 특징은 저해상도 이미지 스타일 특징일 수 있다.
실제 응용에서, 당업자는 실제 상황에 따라 적절한 저해상도 이미지 스타일 특징을 미리 설정할 수 있으며, 본 개시의 실시 예는 저해상도 이미지 스타일 특징의 유형 및 내용을 특별히 제한하지 않는다. 기설정된 저해상도 이미지 스타일 특징을 온라인 추리 과정에서 직접 획득하여 사용할 수 있다.
일 실시 예에서 저해상도 이미지 스타일 특징은 훈련 단계의 데이터를 직접 사용하여 효율과 신뢰도를 향상시킬 수 있다. 예를 들어, 미리 설정된 저해상도 이미지 스타일 특징은, 훈련 과정에서 얻은 각 훈련 샘플이 대응하는 저해상도 이미지 스타일 특징의 평균값이다.
이해의 편의를 위해, 도 3에 도시된 훈련 과정에 대한 설명을 참조할 수 있고, 중복된 설명은 생략한다,
이미지 스타일 전환하는 세번째 단계는 양방향 네트워크(354)를 통해, 이미지 콘텐츠 특징과 이미지 스타일 특징을 융합하여 융합된 특징을 얻을 수 있다.
예를 들어, 훈련된 (저해상도)양방향 네트워크(354)에 두 개의 저해상도 특징을 입력하여, 저해상도 이미지 콘텐츠 특징과 저해상도 이미지 스타일 특징을 융합한 후의 저해상도 융합 특징을 예측할 수 있다.
이미지 스타일 전환하는 네번째 단계는 융합 특징을 기반으로, 입력 이미지를 렌더러(317)로 렌더링하여 합성 이미지(처리하라 이미지에 대응)를 획득할 수 있다.
여기서, 입력 이미지는 입력 이미지 콘텐츠를 포함하고, 입력 이미지와 융합 특징을 훈련된 렌더러에 입력하여 렌더링하면, 입력 내용이 입력 이미지와 동일하고, 스타일이 미리 정해진 이미지의 스타일인 생성된 이미지(합성 이미지)를 얻을 수 있다. 합성 이미지는 처리할 이미지로서 후속 정제 동작 및 객체 자세 추정에 사용할 수 있다.
선택적으로, 네번째 단계에서 렌더러(317)는 입력 이미지의 전체 해상도 이미지(316)와 저해상도 융합 특징을 렌더링하여 입력 내용이 입력 이미지와 동일하고, 스타일이 미리 정해진 이미지의 스타일인 생성된 이미지(합성 이미지)를 획득할 수 있다.
일 실시 예에서, 입력 이미지를 기설정된 이미지 스타일(예를 들어, 합성 이미지 스타일)로 전환하는 것은, 객체 자세 주석을 갖는 훈련 데이터(합성 이미지 스타일)와 입력 이미지 사이의 필드간의 간격을 좁히는데 기여함으로써, 모델 성능을 향상시키고 나아가 3D 객체 자세 추정의 견고성을 향상시킨다.
일 실시 예에서, 스타일 전환 처리는 가벼운 처리 부하로, 실행 속도에 거의 영향을 미치지 않는다. 또한, 본 개시의 실시예에서는 스타일 전환 처리에서 하나의 입력 이미지만을 사용하기에, 실행 시간을 더욱 절약할 수 있다.
본 개시의 실시 예에서, 기타 처리 과정 및 유익한 효과는 전술된 설명을 참조할 수 있으며, 중복된 설명은 생략한다.
도 12는 일 실시 예에 따른 객체 자세 추정 장치의 개략적인 구성의 일 예를 도시한 도면이다.
도 12를 참조하면, 객체 자세 추정 장치(1200)는, 결정부(1210), 수정부(1220) 및 추정부(1230)를 포함할 수 있다.
결정부(1210)는 처리할 이미지에서 키 포인트 정보를 결정할 수 있다.
수정부(1220)는 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정할 수 있다.
보다 구체적으로, 수정부(1220)는 키 포인트 정보에 대응하는 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득하고, 키 포인트 오프셋 잔차 정보 및 키 포인트 정보에 기초하여 수정된 키 포인트 정보를 획득할 수 있다.
이때, 수정부(1220)이 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정할 때, 키 포인트 정보에 대응하는 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득하고, 키 포인트 오프셋 잔차 정보 및 키 포인트 정보에 기초하여 수정된 키 포인트 정보를 획득할 수 있다.
추정부(1230)는 수정된 키 포인트 정보에 기초하여, 처리할 이미지에서 객체 자세를 추정할 수 있다.
결정부(1210)는 처리할 이미지에서 포인트 정보를 결정하기 전에, 입력 이미지를 획득하고, 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 처리할 이미지를 획득할 수 있다.
결정부(1210)이 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 처리할 이미지를 획득하는 것은, 콘텐츠 백본 네트워크를 통해 입력 이미지의 이미지 콘텐츠 특징을 추출하고, 기설정된 이미지 스타일 특징을 획득하고, 양방향 네트워크를 통해, 이미지 콘텐츠 특징과 이미지 스타일 특징을 융합하여 융합 특징을 얻고, 융합 특징을 기반으로, 입력 이미지를 렌더러로 렌더링하여, 처리할 이미지를 얻을 것 일수 있다. 일 실시 예에서, 이미지 콘텐츠 특징은 저해상도 이미지 콘텐츠 특징이고, 이미지 스타일 특징은 저해상도 이미지 스타일 특징이다.
일 실시 예에서, 키 포인트 정보는 2D 키 포인트 정보일 수 있다.
그리고, 결정부(1210)는 종료 조건이 충족될 때까지, 처리할 이미지에서 추정한 객체 자세에 기초하여, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하고, 3D 키 포인트 매핑 정보에 기초하여, 업데이트된 키 포인트 정보를 얻고, 업데이트된 키 포인트 정보에 기초하여 수정된 키 포인트 정보를 다시 결정하고, 다시 결정된 수정된 키 포인트 정보에 기초하여 처리할 이미지에서 객체 자세를 추정하는 동작을 반복할 수 있다. 여기서, 종료 조건은 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우, 키 포인트에 대한 수정이 미리 정해진 횟수에 도달한 경우 중 적어도 하나를 포함할 수 있다. 이때, 키 포인트의 수정 전후의 차이값이 임계값보다 작은 것은 적어도 하나의 키 포인트의 수정 전후의 차이값 총합이 임계값보다 작은 경우 및 적어도 하나의 키 포인트 각각에 대한 수정 전후의 차이값이 임계값보다 작은 경우 중 적어도 하나를 포함할 수 있다.
결정부(1210)는 객체의 3D 키 포인트 매핑 정보를 결정할 때, 처리할 이미지에서 추정한 객체 자세, 미리 설정된 3D 모델 집합, 및 카메라 고유 행렬에 기초하여, 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정할 수 있다.
결정부(1210)는 처리할 이미지 중의 키 포인트 정보를 결정할 때, 검출기 네트워크를 통해 처리할 이미지 중의 키 포인트 좌표 정보 및 키 포인트 가시적 정보를 결정하고, 키 포인트 좌표 정보 및 키 포인트 가시적 정보에 기초하여, 키 포인트 정보를 결정할 수 있다.
결정부(1210)는 검출기 네트워크를 통해 처리할 이미지의 관심 영역 RoI 특징맵을 획득할 수 있다.
결정부(1210)는 수정된 키 포인트 정보를 결정하기 전에, 키 포인트 정보에 기초하여, RoI 특징맵에서 대응되는 키 포인트 특징맵을 결정할 수 있다.
또한, 결정부(1210)는 처리할 이미지에 두 개 이상의 객체가 있는 경우, 검출기 네트워크를 통해 처리할 이미지 중의 객체 카테고리를 결정할 수 있다. 결정부(1210)는 수정된 키 포인트 정보를 결정하기 전에, 객체 카테고리 및 키 포인트 정보에 기초하여, 대응되는 키 포인트 특징맵을 결정할 수 있다.
한편, 키 포인트 정보는 2D 키 포인트 정보일 수 있다.
추정부(1230)는 객체 자세를 추정할 때, 수정된 2D 키 포인트 정보 및 미리 설정된 3D 모델 집합에 기초하여, PnP 알고리즘을 통해, 처리할 이미지에서 객체의 자세를 추정할 수 있다.
결정부(1210)는 2D 키 포인트 정보를 결정할 때, 검출기 네트워크를 통해 처리할 이미지에서 객체 카테고리를 결정할 수 있다.
추정부(1230)는 객체의 자세를 추정할 때, 객체 카테고리 및 3D 모델 집합에 따라, 3D 키 포인트 정보를 결정하고, 수정된 2D 키 포인트 정보 및 3D 키 포인트 정보에 기초하여, PnP 알고리즘을 통해 처리할 이미지에서 객체의 자세를 추정할 수 있다.
본 개시의 실시예의 장치는 본 개시의 실시예에서 제공하는 방법을 실행할 수 있고, 그 구현 원리는 유사하며, 본 개시의 여러 실시예의 장치에서 각 구성이 수행하는 동작은 본 개시의 각 실시예의 방법의 단계에 대응되는데, 장치의 각 구성의 자세한 기능 설명 및 유익한 효과는, 전술된 대응되는 방법에 대한 설명을 참조할 수 있으므로, 중복된 설명은 생략한다.
도 13는 일 실시 예에 따른 객체 자세 추정 장치의 개략적인 구성의 다른 예를 도시한 도면이다.
도 13을 참조하면, 본 출원의 실시예에서 객체 자세 추정 장치를 제공하는데, 도 9에 도시된 바와 같이, 객체 자세 추정 장치(1300)는 스타일 전환부(1310), 키 포인트 결정부(1320) 및 객체 자세 추정부(1330)을 포함할 수 있다.
스타일 전환부(1310)는 입력 이미지를 기설정된 이미지 스타일의 처리할 이미지로 전환할 수 있다.
보다 구체적으로, 스타일 전환부(1310)는 콘텐츠 백본 네트워크를 통해 입력 이미지의 이미지 콘텐츠 특징을 추출하고, 기설정된 이미지 스타일 특징을 획득하고, 양방향 네트워크를 통해 이미지 콘텐츠 특징과 이미지 스타일 특징을 융합하여 융합 특징을 얻고, 융합 이미지를 기반으로 입력 이미지를 렌더러로 렌더링하여 처리할 이미지를 얻을 수 있다. 일 실시 예에 따른 이미지 콘텐츠 특징은 저해상도 이미지 콘텐츠 특징이고, 이미지 스타일 특징은 저해상도 이미지 스타일 특징일 수 있다.
키 포인트 결정부(1320)는 처리할 이미지 중의 키 포인트 정보를 결정할 수 있다.
객체 자세 추정부(1330)는 키 포인트 정보에 기초하여, 입력 이미지에서 객체 자세를 추정할 수 있다.
본 개시의 실시예의 장치는 본 개시의 실시 예에서 제공하는 방법을 실행할 수 있고, 그 구현 원리는 유사하며, 본 개시의 여러 실시예의 장치에서 각 모듈이 수행하는 동작은 본 개시의 각 실시예의 방법의 단계에 대응되는데, 장치의 각 모듈의 자세한 기능 설명 및 유익한 효과는, 전술된 대응되는 방법에 대한 설명을 참조할 수 있으므로, 중복된 설명은 생략한다.
본 개시의 실시 예에서 제공하는 장치는 AI(Artificial Intelligence) 모델을 통해 여러 모듈 중 적어도 하나를 구현할 수 있다. AI와 관련된 기능은 비 휘발성 메모리, 휘발성 메모리 및 프로세서를 통해 수행될 수 있다.
해당 프로세서는 적어도 하나의 프로세서를 포함할 수 있다. 이때, 해당 적어도 하나의 프로세서는 중앙 처리 유닛(CPU), 애플리케이션 프로세서(AP) 등과 같은 범용 프로세서이거나, 그래픽 처리 유닛(GPU), 시각 처리 유닛(VPU) 및 /또는 신경망 처리 유닛(NPU)와 같은 AI 전용 프로세서와 같은 순수 그래픽 처리 유닛일 수 있다.
적어도 하나의 프로세서는 비 휘발성 메모리 및 휘발성 메모리에 저장된 사전 정의된 동작 규칙 또는 인공 지능(AI) 모델에 따라 입력 데이터의 처리를 제어한다. 훈련 또는 학습을 통해 미리 정해진 동작 규칙 또는 인공 지능 모델을 제공할 수 있다.
여기서, 학습을 통한 제공은 학습 알고리즘을 여러 학습 데이터에 적용하여 미리 정의된 동작 규칙 또는 원하는 특성을 가진 AI 모델을 획득하는 것을 의미한다. 해당 학습은 실시예에 따른 AI가 수행되는 장치 자체에서 수행될 수 있고, 및/또는 별도의 서버/시스템을 통해 구현될 수 있다.
해당 AI 모델은 복수의 신경망 레이어를 포함할 수 있다. 각 레이어에는 여러 가중치 값이 있으며, 하나의 레이어 계산은 이전 레이어의 계산 결과와 현재 레이어의 복수의 가중치에 의해 수행된다. 신경망의 예시로, 컨볼루션 신경망(CNN), 심층 신경망(DNN), 순환 신경망(RNN), 제한된 볼츠만 머신(RBM), 심층 신념 네트워크(DBN), 양방향 순환 심층 네트워크(BRDNN), 생성적 대립쌍 네트워크(GAN) 및 심층 Q 네트워크를 포함하되, 이에 한정되지 않는다.
학습 알고리즘은 다중 학습 데이터를 사용하여 미리 정해진 목표 장치(예, 로봇)를 훈련하여, 목표 장치를 결정하거나 예측하도록 만들거나 허용하거나 제어하는 방법이다. 해당 학습 알고리즘의 예시로, 지도 학습(supervised learning), 비지도 학습, 반 지도 학습 또는 강화 학습을 포함하되, 이에 한정되지 않는다.
본 개시의 실시 예는 메모리, 프로세서 및 메모리에 저장된 컴퓨터 프로그램을 포함하는 전자 기기를 제공하며, 해당 프로세서는 컴퓨터 프로그램을 실행하여 전술한 각 방법 실시예의 단계들을 구현할 수 있다.
도 14은 일 실시 예에 따른 전자 기기의 개략적인 구조를 도시한 도면이다.
도 14를 참조하면, 전자 기기(1400)는, 프로세서(1401) 및 메모리(1403)를 포함할 수 있다. 프로세서(1401)는, 예를 들어, 버스(1402)를 통해 메모리(1403)와 연결될 수 있다. 선택적으로, 전자 기기(1400)는 트랜시버(1404)를 더 포함할 수 있고, 트랜시버(1404)는 데이터 전송 및/또는 데이터 수신과 같은 전자 기기와 다른 전자 기기 사이의 데이터 상호작용에 사용될 수 있다. 실제 응용에서, 트랜시버(1404)는 하나로 제한되지 않으며, 전자 기기(1400)의 구조는 본 개시의 실시 예를 한정하지 않는다.
프로세서(1401)는 중앙 처리 유닛(central processing unit, CPU), 범용 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC), 필드 프로그램 가능 게이트 어레이(Field Programmable Gate Array, FPGA) 또는 다른 프로그램 가능 로직(logic) 디바이스, 트랜지스터 로직 디바이스, 하드웨어 구성 요소 또는 이들의 임의의 조합일 수 있다. 프로세서는 본 개시에 개시된 내용을 참조하여 설명한 다양한 예시적인 로직 블록, 모듈 및 회로를 구현 또는 실행할 수 있다. 프로세서(1401)는 컴퓨팅 기능을 구현하기 위한 조합, 예를 들어 하나 이상의 마이크로 프로세서를 포함하는 조합 또는 DSP와 마이크로 프로세서의 조합일 수도 있다.
버스(1402)는 전술한 구성요소들 사이에서 정보를 전달하기 위한 경로를 포함할 수 있다. 버스(1402)는 PCI(Peripheral Component Interconnect, 주변 장치 상호 연결 표준) 버스 또는 EISA(Extended Industry Standard Architecture, 확장된 산업 표준 구조) 버스 등일 수 있다. 버스(1402)는 주소 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 설명을 쉽게 하기 위해, 하나의 선만이 도 14에 사용되어 버스를 나타내지만 버스가 하나만 있거나 한 유형의 버스만이 있음을 나타내지는 않는다.
메모리(1403)는ROM(Read Only Memory) 또는 정적 정보 및 명령어들을 저장할 수 있는 또 다른 유형의 정적 저장 디바이스, 또는 RAM(Random Access Memory, 랜덤 액세스 메모리) 또는 정보 및 명령어들을 저장할 수 있는 또 다른 유형의 동적 저장 기기일 수 있거나, 또는 EEPROM(Electrically erasable programmabler-only memory), CD-ROM(compact disc read-only memory), 또는 다른 콤팩트 디스크 스토리지 또는 광 디스크 스토리지(압축 광 디스크, 레이저 디스크, 광 디스크, DVD(digital versatile disc), 블루레이 광 디스크, 및 등등의 것을 포함함), 자기 디스크 스토리지 매체 또는 또 다른 자기 스토리지 디바이스, 또는 명령어들 또는 데이터 구조들의 형태로 예상 프로그램 코드를 운반하거나 저장할 수 있고 또한 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체일 수 있는데, 이에 한정되지 않는다.
메모리(1403)는 본 개시의 실시 예들을 실행하기 위한 컴퓨터 프로그램을 저장하는데 사용되며, 프로세서(1401)에 의해 제어된다. 프로세서(1401)는 메모리(1403)에 저장된 컴퓨터 프로그램을 실행하여 전술한 방법 실시예의 단계들을 구현한다.
본 개시의 실시 예들에 따르면, 전자 기기에서 수행되는 객체 자세 추정에서, 이미지 데이터를 인공 지능 모델의 입력 데이터로 이용하여 이미지 내의 특징들의 출력 데이터를 획득할 수 있다. AI 모델은 훈련을 통해 획득될 수 있다. 여기서, "훈련을 통한 획득"이란 훈련 알고리즘을 통해 다수의 훈련 데이터로 기본 AI 모델을 훈련시켜 원하는 특징(또는 목적)을 수행하도록 구성된 미리 정의된 동작 규칙 또는 AI 모델을 획득하는 것을 의미한다. AI 모델에는 복수의 신경망 레이어가 포함될 수 있다. 복수의 신경망 레이어 각각은 복수의 가중치 값을 포함하고, 신경망 계산은 이전 레이어의 계산 결과와 복수의 가중치 값 사이의 계산에 의해 수행된다.
시각적 이해는 인간의 시각과 같이 인식하고 처리하는 기술이며, 예를 들어 객체 인식, 객체 추적, 이미지 검색, 인간 인식, 장면 인식, 3D 재구성/포니셔닝 또는 이미지 향상을 포함한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (20)
- 처리할 이미지에서 키 포인트 정보를 결정하는 단계;
상기 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정하는 단계; 및
상기 수정된 키 포인트 정보에 기초하여, 상기 처리할 이미지에서 객체 자세를 추정하는 단계
를 포함하는 객체 자세 추정 방법.
- 제1항에 있어서,
상기 처리할 이미지 중의 상기 키 포인트 정보를 결정하는 단계 이전에,
입력 이미지를 수신하는 단계; 및
상기 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 상기 처리할 이미지를 획득하는 단계
를 더 포함하는 객체 자세 추정 방법.
- 제2항에 있어서,
상기 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 상기 처리할 이미지를 획득하는 단계는,
콘텐츠 백본 네트워크를 통해, 상기 입력 이미지의 이미지 콘텐츠 특징을 추출하는 단계;
기설정된 이미지 스타일 특징을 획득하는 단계;
양방향 네트워크를 통해, 상기 이미지 콘텐츠 특징과 상기 이미지 스타일 특징을 융합하여 융합 특징을 생성하는 단계; 및
상기 융합 특징을 기반으로, 상기 입력 이미지를 렌더러로 렌더링하여, 상기 처리할 이미지를 획득하는 단계
를 포함하는 객체 자세 추정 방법.
- 제3항에 있어서,
상기 이미지 콘텐츠 특징은,
저해상도 이미지 콘텐츠 특징이고,
상기 이미지 스타일 특징은,
저해상도 이미지 스타일 특징인
객체 자세 추정 방법.
- 제1항에 있어서,
상기 키 포인트 정보에 대응하는 상기 키 포인트 특징맵에 기초하여, 상기 수정된 키 포인트 정보를 결정하는 단계는,
상기 키 포인트 정보에 대응하는 상기 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득하는 단계; 및
상기 키 포인트 오프셋 잔차 정보 및 상기 키 포인트 정보에 기초하여, 상기 수정된 키 포인트 정보를 획득하는 단계
를 포함하는 객체 자세 추정 방법.
- 제1항에 있어서,
상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는 단계
를 더 포함하는 객체 자세 추정 방법.
- 제6항에 있어서,
상기 키 포인트 정보는,
2D 키 포인트 정보이고,
상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는 단계는,
상기 처리할 이미지에서 추정한 객체 자세에 기초하여, 상기 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하는 단계;
상기 3D 키 포인트 매핑 정보에 기초하여, 업데이트된 키 포인트 정보를 획득하는 단계;
상기 업데이트된 키 포인트 정보에 기초하여, 수정된 키 포인트 정보를 다시 결정하는 단계; 및
다시 결정된 수정된 키 포인트 정보에 기초하여, 상기 처리할 이미지에서 객체 자세를 추정하는 단계
를 포함하는 객체 자세 추정 방법.
- 제7항에 있어서,
상기 처리할 이미지에서 추정한 객체 자세에 기초하여, 상기 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하는 단계는,
상기 처리할 이미지에서 추정한 객체 자세, 기설정된 3D 모델 집합 및 카메라 고유 행렬에 기초하여, 상기 처리할 이미지에서 객체의 3D 키 포인트 매핑 정보를 결정하는
객체 자세 추정 방법.
- 제7항에 있어서,
상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는 단계는,
종료 조건을 만족할 때까지 반복해서 수행하고,
상기 종료 조건은,
키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우, 및
키 포인트에 대한 수정이 미리 정해진 횟수에 도달한 경우 중 적어도 하나를 포함하는
객체 자세 추정 방법.
- 제9항에 있어서,
상기 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우는,
적어도 하나의 키 포인트의 수정 전후의 차이값 총합이 임계값보다 작은 경우, 및
적어도 하나의 키 포인트 중 각각의 키 포인트의 수정 전후의 차이값이 임계값보다 작은 경우 중 적어도 하나를 포함하는
객체 자세 추정 방법.
- 제1항에 있어서,
상기 처리할 이미지에서 상기 키 포인트 정보를 결정하는 단계는,
검출기 네트워크를 통해, 상기 처리할 이미지에서 키 포인트 좌표 정보 및 키 포인트 가시적 정보를 결정하는 단계; 및
상기 키 포인트 좌표 정보 및 상기 키 포인트 가시적 정보에 기초하여, 상기 키 포인트 정보를 결정하는 단계
를 포함하는 객체 자세 추정 방법.
- 제11항에 있어서,
상기 처리할 이미지에서 상기 키 포인트 정보를 결정하는 단계는,
상기 검출기 네트워크를 통해, 상기 처리할 이미지에서 관심영역 특징맵을 획득하는 단계
를 더 포함하고,
상기 키 포인트 정보가 대응하는 상기 키 포인트 특징맵에 기초하여, 상기 수정된 키 포인트 정보를 결정하는 단계 이전에,
상기 키 포인트 정보에 기초하여, 상기 관심영역 특징맵에서 대응되는 상기 키 포인트 특징맵을 결정하는 단계
를 더 포함하는 객체 자세 추정 방법.
- 제11항에 있어서,
상기 처리할 이미지에 두 개 이상의 객체가 있는 경우, 상기 검출기 네트워크를 통해, 상기 처리할 이미지 중의 객체 카테고리를 결정하는 단계
더 포함하고,
상기 키 포인트 정보가 대응하는 상기 키 포인트 특징맵에 기초하여, 상기 수정된 키 포인트 정보를 결정하는 단계 이전에,
상기 객체 카테고리 및 상기 키 포인트 정보에 기초하여, 대응되는 상기 키 포인트 특징맵을 결정하는 단계
를 더 포함하는 객체 자세 추정 방법.
- 입력 이미지를 기설정된 이미지 스타일의 처리할 이미지로 전환하는 단계;
상기 처리할 이미지 중의 키 포인트 정보를 결정하는 단계; 및
상기 키 포인트 정보에 기초하여, 상기 입력 이미지 중의 객체 자세를 추정하는 단계
를 포함하는 객체 자세 추정 방법.
- 제1항 내지 제14항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
- 처리할 이미지에서 키 포인트 정보를 결정하는 결정부;
상기 키 포인트 정보에 대응하는 키 포인트 특징맵에 기초하여, 수정된 키 포인트 정보를 결정하는 수정부; 및
상기 수정된 키 포인트 정보에 기초하여, 처리할 이미지에서 객체의 자세를 추정하는 추정부
를 포함하는 객체 자세 추정 장치.
- 제16항에 있어서,
상기 결정부는,
입력 이미지를 수신하면, 상기 입력 이미지를 기설정된 이미지 스타일의 이미지로 전환하여, 상기 처리할 이미지를 획득하는
객체 자세 추정 장치.
- 제17항에 있어서,
상기 결정부는,
콘텐츠 백본 네트워크를 통해, 상기 입력 이미지의 이미지 콘텐츠 특징을 추출하고,
기설정된 이미지 스타일 특징을 획득하고,
양방향 네트워크를 통해, 상기 이미지 콘텐츠 특징과 상기 이미지 스타일 특징을 융합하여 융합 특징을 생성하고,
상기 융합 특징을 기반으로, 상기 입력 이미지를 렌더러로 렌더링하여, 상기 처리할 이미지를 획득하는
객체 자세 추정 장치.
- 제16항에 있어서,
상기 수정부는,
상기 키 포인트 정보에 대응하는 상기 키 포인트 특징맵에 대해 키 포인트 오프셋 회귀를 수행하여, 키 포인트 오프셋 잔차 정보를 획득하고,
상기 키 포인트 오프셋 잔차 정보 및 상기 키 포인트 정보에 기초하여, 상기 수정된 키 포인트 정보를 획득하는
객체 자세 추정 장치.
- 제16항에 있어서,
상기 추정부는,
상기 처리할 이미지에서 추정한 객체 자세를 고려하여 객체 자세 추정의 정확도를 높이는 정제 과정을 수행하는
객체 자세 추정 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22208523.5A EP4191526A1 (en) | 2021-12-02 | 2022-11-21 | Apparatus and method with object posture estimating |
JP2022189728A JP2023082681A (ja) | 2021-12-02 | 2022-11-29 | オブジェクト姿勢推定装置及び方法 |
US18/072,974 US20230177722A1 (en) | 2021-12-02 | 2022-12-01 | Apparatus and method with object posture estimating |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111460674.6 | 2021-12-02 | ||
CN202111460674.6A CN116228850A (zh) | 2021-12-02 | 2021-12-02 | 物体姿态估计方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230083212A true KR20230083212A (ko) | 2023-06-09 |
Family
ID=86571769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220129712A KR20230083212A (ko) | 2021-12-02 | 2022-10-11 | 객체 자세 추정 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230083212A (ko) |
CN (1) | CN116228850A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824631A (zh) * | 2023-06-14 | 2023-09-29 | 西南交通大学 | 一种姿态估计方法及系统 |
-
2021
- 2021-12-02 CN CN202111460674.6A patent/CN116228850A/zh active Pending
-
2022
- 2022-10-11 KR KR1020220129712A patent/KR20230083212A/ko unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824631A (zh) * | 2023-06-14 | 2023-09-29 | 西南交通大学 | 一种姿态估计方法及系统 |
CN116824631B (zh) * | 2023-06-14 | 2024-02-27 | 西南交通大学 | 一种姿态估计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116228850A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791697B (zh) | 使用统计模型从图像数据预测深度 | |
Poggi et al. | On the synergies between machine learning and binocular stereo for depth estimation from images: a survey | |
JP7236545B2 (ja) | ビデオターゲット追跡方法と装置、コンピュータ装置、プログラム | |
Truong et al. | Learning accurate dense correspondences and when to trust them | |
Yan et al. | Ddrnet: Depth map denoising and refinement for consumer depth cameras using cascaded cnns | |
Riegler et al. | A deep primal-dual network for guided depth super-resolution | |
Garg et al. | Unsupervised cnn for single view depth estimation: Geometry to the rescue | |
Zhang et al. | Deep hierarchical guidance and regularization learning for end-to-end depth estimation | |
Fischer et al. | Flownet: Learning optical flow with convolutional networks | |
CN112991413A (zh) | 自监督深度估测方法和系统 | |
CN113066017A (zh) | 一种图像增强方法、模型训练方法及设备 | |
KR20220043847A (ko) | 객체 포즈 추정 방법, 장치, 전자 장치 및 저장 매체 | |
KR102311796B1 (ko) | 지역적 신체영역 정보를 이용한 휴먼 모션 디블러링 방법 및 장치 | |
GB2606785A (en) | Adaptive convolutions in neural networks | |
CN112036260A (zh) | 一种自然环境下多尺度子块聚合的表情识别方法及系统 | |
CN117218246A (zh) | 图像生成模型的训练方法、装置、电子设备及存储介质 | |
KR20230083212A (ko) | 객체 자세 추정 장치 및 방법 | |
CN117894072A (zh) | 一种基于扩散模型的手部检测和三维姿态估计方法及系统 | |
Tang et al. | Encoder-decoder structure with the feature pyramid for depth estimation from a single image | |
Xu et al. | A real-time semi-dense depth-guided depth completion network | |
Amirkolaee et al. | Monocular depth estimation with geometrical guidance using a multi-level convolutional neural network | |
JP2023082681A (ja) | オブジェクト姿勢推定装置及び方法 | |
Kim et al. | Accurate depth image generation via overfit training of point cloud registration using local frame sets | |
CN117689990B (zh) | 一种基于6d姿态估计的三支流双向融合网络方法 | |
CN117420917B (zh) | 基于手部骨架的虚拟现实控制方法、系统、设备及介质 |