KR20210087875A - 희소 포인트 처리 방법 및 장치 - Google Patents

희소 포인트 처리 방법 및 장치 Download PDF

Info

Publication number
KR20210087875A
KR20210087875A KR1020200150499A KR20200150499A KR20210087875A KR 20210087875 A KR20210087875 A KR 20210087875A KR 1020200150499 A KR1020200150499 A KR 1020200150499A KR 20200150499 A KR20200150499 A KR 20200150499A KR 20210087875 A KR20210087875 A KR 20210087875A
Authority
KR
South Korea
Prior art keywords
point
data
sparse
point set
spatial hierarchical
Prior art date
Application number
KR1020200150499A
Other languages
English (en)
Inventor
리 주오
양 후이광
리 유광
양 리우
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/123,540 priority Critical patent/US11430150B2/en
Publication of KR20210087875A publication Critical patent/KR20210087875A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

희소 포인트 처리 방법 및 장치가 개시된다. 일 실시예에 따르면, 그 방법은 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하고, 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 관계 특징 데이터를 결정하고, 관계 특징 데이터에 관한 변환 연산을 통해 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하는 단계들을 포함한다.

Description

희소 포인트 처리 방법 및 장치{METHOD AND APPARATUS FOR PROCESSING SPARSE POINTS}
아래 실시예들은 희소 포인트 처리 방법 및 장치에 관한 것이다.
대상의 자세를 추정하기 위한 기존의 포인트 세트(예: 2D 픽셀 포인트) 처리 과정은 매우 복잡하다. 해당 과정은 특징 추출, 2D-3D 등록, 기하학적 변환, 비선형 최적화 등을 포함한다. 이는 대량의 컴퓨팅 자원을 필요로 하며, 노이즈 또한 상대적으로 크다. 최근에는 딥 러닝을 기반으로 한 해당 문제 해결 방법이 점점 많아지고 있다. 예를 들어, CNN(convolutional neural network)을 통해 영상을 처리하여 대상의 자세를 추정하는 방법이 있는데, 이는 기존의 방법보다 강인하다. 그러나 이는 주로 조밀한 픽셀 포인트 세트에 맞춰진 것으로 영상에서 텍스처와 윤곽 특징을 추출한다. 이는 무질서한(unordered) 포인트 세트, 특히 텍스처, 윤곽, 및 색상이 없는 희소 포인트 세트에는 적용할 수 없다.
일 실시예에 따르면, 희소 포인트 처리 방법은 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하는 단계; 상기 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 상기 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하는 단계; 상기 관계 특징 데이터에 관한 변환 연산을 통해 상기 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하는 단계; 및 상기 글로벌 특징 및 상기 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성하는 단계를 포함한다.
상기 공간 계층적 포인트 데이터를 결정하는 단계는 상기 희소 포인트 세트에서 키 포인트들을 샘플링하여 상기 키 포인트 세트를 결정하는 단계; 및 상기 키 포인트들의 각 키포인트 주변에서 로컬 포인트들을 그룹핑하여 상기 로컬 포인트 세트를 결정하는 단계를 포함할 수 있다.
상기 관계 특징 데이터를 결정하는 단계는 상기 공간 계층적 포인트 데이터의 공간 계층적 관계 표현을 결정하는 단계; 및 상기 공간 계층적 포인트 데이터에 상기 공간 계층적 관계 표현을 적용하여 상기 관계 특징 데이터를 결정하는 단계를 포함할 수 있다. 상기 공간 계층적 관계 표현을 결정하는 단계는 상기 공간 계층적 포인트 데이터를 상기 키 포인트 세트 기준으로 변형하여 제1 중간 데이터를 결정하는 단계; 상기 공간 계층적 포인트 데이터를 상기 로컬 포인트 세트 기준으로 변형하여 제2 중간 데이터를 결정하는 단계; 및 상기 제1 중간 데이터 및 상기 제2 중간 데이터를 합산하여 상기 공간 계층적 관계 표현을 결정하는 단계를 포함한다.
상기 글로벌 특징 및 상기 로컬 특징을 생성하는 단계는 상기 관계 특징 데이터에 기초한 맥스 풀링 연산을 통해 상기 글로벌 특징을 생성하는 단계; 및 상기 관계 특징 데이터에 기초한 연쇄화 연산을 통해 상기 로컬 특징을 생성하는 단계를 포함할 수 있다.
상기 희소 포인트 세트는 동적 비전 센서에 의해 센싱된 시각 정보의 변화에 기초하여 생성될 수 있다. 상기 처리 결과는 상기 희소 포인트 세트에 대응하는 대상의 자세 추정 결과를 포함할 수 있다. 상기 자세 추정 결과는 상기 대상의 자세를 6-DOF로 나타낼 수 있다. 상기 처리 결과는 상기 희소 포인트 세트의 각 포인트의 식별 정보를 포함할 수 있다. 상기 희소 포인트 세트는 텍스처, 윤곽, 및 색상이 없는 희소 2D 포인트 세트일 수 있다.
일 실시예에 따르면, 희소 포인트 처리 장치는 프로세서; 및 상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리를 포함하고, 상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하고, 상기 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 상기 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하고, 상기 관계 특징 데이터에 관한 변환 연산을 통해 상기 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하고, 상기 글로벌 특징 및 상기 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성한다.
일 실시예에 따르면, 전자 장치는 센싱된 시각 정보의 변화에 기초하여 희소 포인트 세트에 관한 이벤트 스트림을 생성하는 동적 비전 센서; 및 상기 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하고, 상기 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 상기 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하고, 상기 관계 특징 데이터에 관한 변환 연산을 통해 상기 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하고, 상기 글로벌 특징 및 상기 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성하는, 프로세서를 포함한다.
도 1은 일 실시예에 따른 희소 포인트 처리 장치의 동작을 개략적으로 나타낸다.
도 2는 일 실시예에 따른 포인트 처리 네트워크의 구성을 나타내는 블록도이다.
도 3은 일 실시예에 따른 특징 추출 네트워크의 구성을 나타내는 블록도이다.
도 4는 일 실시예에 따른 글로벌 특징 생성을 위한 네트워크 구조를 나타낸다.
도 5는 일 실시예에 따른 로컬 특징 생성을 위한 네트워크 구조를 나타낸다.
도 6은 일 실시예에 따른 다중 논로컬-인코더의 구조를 나타낸다.
도 7은 일 실시예에 따른 인코딩 네트워크의 논-로컬 블록을 나타낸다.
도 8은 일 실시예에 따른 희소 포인트 처리 방법을 나타내는 플로우 차트이다.
도 9는 일 실시예에 따른 희소 포인트 처리 장치의 구성을 나타내는 블록도이다.
도 10은 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 희소 포인트 처리 장치의 동작을 개략적으로 나타낸다. 도 1을 참조하면, 희소 포인트 처리 장치(100)는 희소 포인트 세트(101)를 처리하여 처리 결과(102)를 출력한다. 희소 포인트 세트(sparse point set, 101)는 텍스처, 윤곽, 및 색상이 없고, 무질서한(unordered) 희소 2차원 포인트 세트일 수 있다.
일 실시예에 따르면, 희소 포인트 세트(101)는 동적 비전 센서(dynamic vision sensor, DVS)에 의해 센싱된 시각 정보의 변화에 기초하여 생성될 수 있다. 예를 들어, DVS는 LED(light emitting diode)와 같은 광원의 움직임 또는 깜빡임을 통해 시각 정보의 변화를 감지하고, 감지된 변화에 대응하는 센서 정보(예: 희소 포인트 세트(101)에 관한 이벤트 스트림)를 생성할 수 있다. 희소 포인트 세트(101)는 이러한 센서 정보, 특히 희소 이벤트 스트림을 통해 특정되는 영상 내 각 포인트의 정보를 포함할 수 있다. 희소 포인트 세트(101)는
Figure pat00001
로 나타낼 수 있다. 이때, 포인트
Figure pat00002
는 2차원 픽셀 좌표 (u, v)에 대응하고, 포인트
Figure pat00003
에 대해
Figure pat00004
가 성립할 수 있다. 물론, 각 포인트
Figure pat00005
에 대해 추가적인 특징 채널이 부가될 수 있다.
일 실시예에 따르면, 처리 결과(102)는 희소 포인트 세트(101)에 대응하는 대상(target)의 자세(pose) 추정 결과를 포함할 수 있다. 일례로, 대상은 몇몇 LED들을 포함하는 핸드 컨트롤러일 수 있고, 희소 포인트 세트(101)는 해당 LED들의 발광 상태를 나타낼 수 있다. 핸드 컨트롤러의 자세는 사용자의 손의 움직임에 따라 바뀔 수 있고, 희소 포인트 처리 장치(100)는 희소 포인트 세트(101)를 통해 핸드 컨트롤러의 자세를 추정할 수 있다. 핸드 컨트롤러는 게임 컨트롤러, VR(virtual reality) 컨트롤러 등에 해당할 수 있다. 다른 예로, 희소 포인트 처리 장치(100)는 자율주행 차량에 탑재될 수 있고, 대상은 차량 주변의 다양한 장애물들(예: 주변의 다른 차량, 가로등, 표지판 등)일 수 있다. 희소 포인트 처리 장치(100)는 희소 포인트 세트(101)를 통해 주변 장애물들의 자세를 추정할 수 있다. 자세 추정 결과는 대상의 자세를 6-DOF(degrees of freedom)로 나타낼 수 있다. 예를 들어, 자세 추정 결과는 3-DOF의 변위 정보(translation information) 및 3-DOF의 회전 정보(rotation information)를 포함하는 7차원 벡터
Figure pat00006
로 나타낼 수 있다.
다른 일 실시예에 따르면, 처리 결과(102)는 희소 포인트 세트(101)의 각 포인트의 식별 정보를 포함할 수 있고, 이를 통해 희소 포인트 세트(101)의 세그먼테이션(segmentation)이 수행될 수 있다. 예를 들어, 희소 포인트 세트(101)가 핸드 컨트롤러의 LED들에 대응하는 경우, 식별 정보는 희소 포인트 세트(101)의 각 포인트가 핸드 컨트롤러의 어느 LED에 해당하는지 나타낼 수 있다. 다른 예로, 희소 포인트 세트(101)가 자율주행 차량의 주변 장애물들에 대응하는 경우, 식별 정보는 장애물들(예: 주변의 다른 차량, 가로등, 표지판 등)을 식별하는데 이용될 수 있다. 그 밖에, 희소 포인트 처리 장치(100)는 희소 포인트 세트(101)와 관련된 작업에 비교적 높은 보편성을 가질 수 있다.
희소 포인트 처리 장치(100)는 딥 러닝 기반의 뉴럴 네트워크를 이용하여 희소 포인트 세트(101)를 처리할 수 있다. 희소 포인트 처리 장치(100)는 2-스테이지(two-stage) 서브 네트워크의 방식을 채택하여, 각각의 스테이지를 통해 키 포인트 세트의 관계 특징 코딩과 로컬 포인트 세트의 관계 특징 코딩을 수행하고, 희소 포인트 세트의 글로벌 특징과 로컬 특징을 추출하여 완벽한 포인트 세트 특징 매핑을 얻을 수 있다. 카메라 또는 물체의 변위는 희소 포인트 세트(101)의 전체적인 특징에 크게 영향을 받는 반면, 물체의 회전은 입력 희소 포인트 세트의 로컬 특징(특히, 포인트들 간의 관계 특징)에 크게 영향을 받기 때문에, 2-스테이지(two-stage) 네트워크는 희소 포인트 세트의 글로벌 및 로컬 특징을 각각 추출하고, 글로벌 특징과 로컬 특징을 융합하여 처리 결과(102)의 정확도를 향상시킨다.
희소 포인트 처리 장치(100)는 희소, 나아가 극도 희소 2D 포인트 세트의 포인트들 간의 공간 계층적(spatial hierarchical) 관계 특징(relationship feature)들을 코딩할 수 있고, 보다 더 정확한 깊이 특징(글로벌 특징 및/또는 로컬 특징)을 획득할 수 있다. 해당 방식은 키 포인트 세트의 관계 특징 코딩과 로컬 포인트 세트의 관계 특징 코딩을 각각 동시에 진행할 수 있다. 실질적으로, 특징 추출에 주로 CNN이 이용되는 밀도가 높은 픽셀 영상과 달리 희소 포인트 세트(101)는 명확한 텍스처 및 윤곽 특징이 없다. 따라서, 희소 포인트 세트(101)에서 가장 중요한 특징은 포인트들 간의 관계 특징(예: 공간적 위치 관계 등)이다. 희소 포인트 세트(101), 특히 극도 희소 포인트 세트에 있어서, 포인트들 간의 관계 특징은 작업 처리에 매우 유용하므로, 희소 포인트 처리 장치(100)는 공간 계층적 관계의 인코딩를 통해 글로벌 및/또는 로컬 특징을 추출하여 최종 작업의 효과를 향상시킬 수 있다.
일 실시예에 따르면, 희소 포인트 처리 장치(100)는 키 포인트 세트 및 로컬 포인트 세트에 대해 각각 관계 특징 코딩을 진행하고, 키 포인트 세트의 관계 특징 코드와 로컬 포인트 세트의 관계 특징 코드를 획득할 수 있다. 희소 포인트 처리 장치(100)는 논로컬(nonlocal) 코딩 방법을 이용하여 키 포인트 세트에 대해 포인트들 간의 관계 특징 코딩을 수행하고, 논로컬 코딩 방법을 이용하여 로컬 포인트 세트에 대해 포인트들 간의 관계 특징 코딩을 수행할 수 있다. 또한, 희소 포인트 처리 장치(100)는 키 포인트 세트의 관계 특징 코드 및/또는 로컬 포인트 세트의 관계 특징 코드에 따라 희소 2D 포인트 세트(101)의 글로벌 특징 및/또는 로컬 특징을 각각 추출할 수 있다.
일 실시예에 따르면, 희소 포인트 처리 장치(100)는 글로벌 특징 및 로컬 특징을 기반으로 보간(interpolation) 레이어 별 재구성 전략을 사용하여 공간 계층적 포인트 데이터를 희소 포인트 세트(101)의 형태로 복원하고, MLP(multilayer perceptron)를 이용하여 희소 포인트 세트(101) 형태의 데이터 중 각 이벤트 스트림에 대응하는 마커를 결정할 수 있다. 이를 통해, 포인트 세트의 세그먼테이션의 정확도가 향상될 수 있다.
도 2는 일 실시예에 따른 포인트 처리 네트워크의 구성을 나타내는 블록도이다. 포인트 처리 네트워크(200)는 딥 러닝 기반의 뉴럴 네트워크 모델에 해당할 수 있고, 도 1의 희소 포인트 처리 장치(100)는 포인트 처리 네트워크(200)를 이용하여 희소 포인트 세트를 처리할 수 있다. 도 2를 참조하면, 포인트 처리 네트워크(200)는 포인트 데이터 생성 네트워크(210), 관계 인코딩 네트워크(220), 특징 추출 네트워크(230), 및 출력 처리 네트워크(240)를 포함한다. 아래에서는 희소 포인트 세트의 처리 과정을 이러한 각 서브 네트워크의 동작으로 설명하지만, 아래의 동작은 포인트 처리 네트워크(200)의 동작, 나아가 도 1의 희소 포인트 처리 장치(100)의 동작으로 이해될 수 있다.
포인트 처리 네트워크(200)는 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터(이하, 포인트 데이터로 간단히 지칭될 수 있음)를 결정한다. 구체적으로, 포인트 처리 네트워크(200)는 희소 포인트 세트에서 키 포인트들을 샘플링하여 키 포인트 세트를 결정하고, 키 포인트들의 각 키포인트 주변에서 로컬 포인트들을 그룹핑하여 로컬 포인트 세트를 결정할 수 있다. 포인트 처리 네트워크(200)는 이를 통해 포인트 데이터가 입력 포인트 세트의 포인트 정보를 가능한 많이 보유하게 할 수 있다. 예를 들어, 포인트 처리 네트워크(200)는 샘플링 포인트의 전체 커버리지 효과를 높이기 위해, FPS(farthest point sampling)을 사용할 수 있다.
포인트 처리 네트워크(200)는 먼저 K개의 키 포인트들을 포함하는 키 포인트 세트를 결정한 다음, M개의 로컬 포인트들을 포함하는 로컬 포인트 세트를 키 포인트 세트의 각 키포인트의 주변에서 수집하여, 키 포인트 세트와 로컬 포인트 세트의 공간 계층적 구조의 포인트 데이터를 획득할 수 있다. 포인트 데이터는 키 포인트 세트의 각 키 포인트와 로컬 포인트 세트의 로컬 서브 포인트 세트 사이의 일대일 대응 관계를 포함한다. 이에 따라 포인트 데이터는 총 KXM개의 포인트 세트들(키 포인트 세트들 및 로컬 포인트 세트들)을 포함할 수 있다.
관계 인코딩 네트워크(220)는 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정한다. 상술된 것처럼, 희소 포인트 세트에서 가장 중요한 특징은 포인트들 간의 관계 특징이다. 관계 인코딩 네트워크(220)는 이러한 관계 특징이 반영될 수 있는 인코딩 방식을 통해 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정할 수 있다. 예를 들어, 관계 인코딩 네트워크(220)는 공간 계층적 포인트 데이터를 키 포인트 세트 기준으로 변형하여 제1 중간 데이터를 결정하고, 공간 계층적 포인트 데이터를 로컬 포인트 세트 기준으로 변형하여 제2 중간 데이터를 결정하고, 제1 중간 데이터 및 제2 중간 데이터를 합산하여 공간 계층적 관계 표현을 결정할 수 있다. 관계 인코딩 네트워크(220)는 이러한 공간 계층적 관계 표현을 공간 계층적 포인트 데이터에 적용하여 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정할 수 있다. 그 밖에, 관계 인코딩 네트워크(220)의 구조 및 동작 예시들을 추후 추가로 설명한다.
특징 추출 네트워크(230)는 관계 특징 데이터에 관한 변환 연산을 통해 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성한다. 예를 들어, 특징 추출 네트워크(230)는 관계 특징 데이터에 기초한 맥스 풀링(max pooling) 연산을 통해 글로벌 특징을 생성하고, 관계 특징 데이터에 기초한 연쇄화(concatenation) 연산을 통해 로컬 특징을 생성할 수 있다. 보다 구체적으로, 관계 특징 데이터는 복수의 인코딩 단계들에 걸쳐 생성될 수 있는데, 특징 추출 네트워크(230)는 최종 단계의 출력에 맥스 풀링을 적용하여 글로벌 특징을 생성할 수 있고, 최종 단계의 출력 및 최종 단계 이전의 몇몇 단계들의 출력들을 연쇄화하여 로컬 특징을 생성할 수 있다. 이후에, 특징 추출 네트워크(230)는 맥스 풀링의 결과 및 연쇄화의 결과를 각각 적절한 크기로 스케일링하여 글로벌 특징 및 로컬 특징을 생성할 수 있다. 그 밖에, 특징 추출 네트워크(230)의 구조 및 동작 예시들을 추후 추가로 설명한다.
출력 처리 네트워크(240)는 글로벌 특징 및 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성한다. 출력 처리 네트워크(240)는 스케일링을 통해 사이즈가 동일하게 조절된 글로벌 특징 및 로컬 특징을 연쇄화하고, 연쇄화된 통합 특징을 이용하여 처리 결과를 생성할 수 있다. 예를 들어, 출력 처리 네트워크(240)는 MLP, 풀링(예: 맥스 풀링), FCN(fully-connected network), 소프트맥스(Softmax) 등의 다양한 레이어 및/또는 서브 네트워크를 이용하여 통합 특징을 처리할 수 있다. 처리 결과는 희소 포인트 세트의 자세 정보(예: 6-DOF), 식별 정보 등을 포함할 수 있다.
도 3은 일 실시예에 따른 특징 추출 네트워크의 구성을 나타내는 블록도이다. 도 3을 참조하면, 특징 추출 네트워크(300)는 글로벌 특징 추출 네트워크(310) 및 로컬 특징 추출 네트워크(320)를 포함할 수 있다. 글로벌 특징은 포인트 세트의 전역 매핑을 나타낼 수 있고, 로컬 특징은 포인트 세트의 세부 매핑을 나타낼 수 있다. 상술된 것처럼, 희소 포인트 처리 장치는 글로벌 특징 추출 네트워크(310) 및 로컬 특징 추출 네트워크(320)의 2-스테이지 서브 네트워크 방식을 채택하여, 각각의 스테이지를 통해 키 포인트 세트의 관계 특징 코딩과 로컬 포인트 세트의 관계 특징 코딩을 수행하고, 희소 포인트 세트의 글로벌 특징과 로컬 특징을 추출하여 완벽한 포인트 세트 특징 매핑을 얻을 수 있다.
도 4는 일 실시예에 따른 글로벌 특징 생성을 위한 네트워크 구조를 나타낸다. 도 4를 참조하면, 글로벌 특징 생성 네트워크(400)는 관계 인코딩 네트워크(410) 및 글로벌 특징 추출 네트워크(420)를 포함한다. 관계 인코딩 네트워크(410)는 공간 계층적 포인트 데이터(401)에 기초하여 관계 특징 데이터(relationship feature data, 403)를 결정할 수 있고, 글로벌 특징 추출 네트워크(420)는 관계 특징 데이터(403)에 기초하여 글로벌 특징(406)을 생성할 수 있다.
관계 인코딩 네트워크(410)는 제1 서브 네트워크(411) 및 제2 서브 네트워크(412)를 포함한다. 제1 서브 네트워크(411) 및 제2 서브 네트워크(412)는 각각 다중 논로컬-인코더(multiple nl-encoder)에 해당할 수 있다. 다중 논로컬-인코더는 입력 데이터의 공간 계층적 관계를 인코딩할 수 있고, 그 구체적인 구조 및 동작 예시들을 추후 추가로 설명한다. 제1 서브 네트워크(411)는 포인트 데이터(401)의 공간 계층적 관계를 인코딩하여 관계 특징 데이터(402)를 결정할 수 있고, 제2 서브 네트워크(412)는 관계 특징 데이터(402)의 공간 계층적 관계를 인코딩하여 관계 특징 데이터(403)를 결정할 수 있다.
포인트 데이터(401)는 KXMX2의 차원을 가질 수 있고, 관계 특징 데이터(402)는 KXMX64의 차원을 가질 수 있고, 관계 특징 데이터(403)는 KXMX1024의 차원을 가질 수 있다. 여기서, K는 키 포인트의 수를 나타내고, M은 각 키 포인트에 매칭된 이웃 로컬 포인트의 수를 나타낸다. 예를 들어, 제1 서브 네트워크(411)는 (64, 64)의 MLP를 포함할 수 있고, 제2 서브 네트워크(412)는 (64, 128, 1024)의 MLP를 포함할 수 있다. 여기서, 괄호 안의 엘리먼트들의 수는 MLP의 레이어의 수를 나타내고, 각 값은 각 레이어의 뉴런 사이즈를 나타낸다. 이와 같이 관계 인코딩 네트워크(410)를 통과하면서 증가 채널 방향의 차원은 예를 들어, 2, 62, 1024와 같이 증가될 수 있다. 2, 64, 1024와 같은 채널 수는 하나의 예시에 불과하며, 채널 수는 이와 다른 다양한 값을 가질 수 있다. 또한, 도 4에는 관계 인코딩 네트워크(410)가 두 개의 서브 네트워크들(411, 412)을 포함하는 것으로 도시되었으나, 관계 인코딩 네트워크(410)는 하나 혹은 셋 이상의 서브 네트워크들을 포함할 수도 있다.
글로벌 특징 추출 네트워크(420)는 풀링 레이어(421), MLP(422), 및 스케일링 레이어(423)를 포함할 수 있다. 풀링 레이어(421)는 관계 특징 데이터(403)에 관한 풀링 연산(예: 맥스 풀링 연산)을 수행하여 제1 중간 데이터(404)를 생성할 수 있다. 제1 중간 데이터(404)가 MLP(422)를 통과함에 따라 제2 중간 데이터(405)가 생성될 수 있고, 스케일링 레이어(423)는 제2 중간 데이터(405)의 스케일링(예: tile)을 통해 글로벌 특징(406)을 생성할 수 있다. 예를 들어, 풀링 레이어(421)를 통해 데이터의 차원은 KXMX1024에서 1X1024로 감소할 수 있고, 차원은 MLP(422)를 통해 1X256으로 더 감소할 수 있다. 예를 들어, MLP(422)는 (512, 256, 256)의 구조를 가질 수 있다. 또한, 스케일링에 따라 1X256의 차원은 KXMX256으로 증가할 수 있다. 다만, 이러한 차원 수는 하나의 예시에 불과하며, 각 차원은 다른 값을 가질 수도 있다. 제1 서브 네트워크(411), 제2 서브 네트워크(412), 및 MLP(422)는 서로 파라미터들을 공유할 수 있다.
도 5는 일 실시예에 따른 로컬 특징 생성을 위한 네트워크 구조를 나타낸다. 도 5를 참조하면, 로컬 특징 생성 네트워크(500)는 관계 인코딩 네트워크(510) 및 글로벌 특징 추출 네트워크(520)를 포함한다. 관계 인코딩 네트워크(510)는 공간 계층적 포인트 데이터(501)에 기초하여 관계 특징 데이터(502)를 결정할 수 있고, 로컬 특징 추출 네트워크(520)는 관계 특징 데이터(502)에 기초하여 글로벌 특징(504)을 생성할 수 있다.
관계 인코딩 네트워크(510)는 제1 서브 네트워크(511) 및 제2 서브 네트워크(512)를 포함한다. 관계 인코딩 네트워크(510)는 도 4의 관계 인코딩 네트워크(410)에 대응할 수 있다. 일 실시예에 따르면, 로컬 특징 생성 네트워크(500)는 관계 인코딩 네트워크(510)를 통해 관계 특징 데이터(502)를 결정하는 대신, 관계 인코딩 네트워크(410)에 의해 출력된 관계 특징 데이터(403)를 사용할 수 있다. 반대의 경우도 가능하다. 다시 말해, 글로벌 특징 생성 네트워크(400)와 로컬 특징 생성 네트워크(500)는 관계 인코딩 네트워크들(410, 510) 중 어느 하나를 사용하되, 이 것을 서로 공유할 수 있다.
로컬 특징 추출 네트워크(520)는 연쇄화 레이어(521) 및 MLP(522)를 포함할 수 있다. 연쇄화 레이어(521)는 관계 특징 데이터(502)에 관한 연쇄화 연산을 수행할 수 있다. 관계 특징 데이터는 복수의 인코딩 단계들에 걸쳐 생성될 수 있고, 연쇄화 레이어(521)는 이 중 최종 단계의 데이터 및 최종 단계 이전의 몇몇 단계들의 데이터를 연쇄화할 수 있다. 예를 들어, 제1 서브 네트워크(511)는 (64, 64)의 MLP를 포함할 수 있고, 제2 서브 네트워크(512)는 (64, 128, 1024)의 MLP를 포함할 수 있고, 인코딩 단계들에 걸쳐 KXMX64, KXMX64, KXMX64, KXMX128, KXMX1024의 관계 특징 데이터가 생성될 수 있고, 이들 중 적어도 일부에 관한 연쇄화가 수행될 수 있다. MLP(522)는 (512, 256, 256)의 구조를 가질 수 있고, MLP(522)를 통해 데이터의 차원은 KXMX1024에서 KXMX256으로 변환될 수 있다. 이에 따라 로컬 특징(503)의 차원은 도 4의 글로벌 특징(406)과 동일해질 수 있다. 64, 128, 512, 256, 1024와 같은 차원 수는 예시에 불과하며, 각 차원은 다른 값을 가질 수도 있다.
도 6은 일 실시예에 따른 다중 논로컬-인코더의 구조를 나타낸다. 도 6을 참조하면, 다중 논로컬-인코더(600)는 MLP(610), 논-로컬 블록(620), 및 스킵 커넥션(skip connection, 630)을 포함한다. 앞서 다중 논로컬-인코더(600)가 다른 네트워크와 파라미터를 공유한다는 표현이 있었는데, 보다 정확히 말하면 이는 다중 논로컬-인코더(600)의 MLP(610)가 다른 네트워크(예: 다른 MLP)와 파라미터를 공유한다는 의미일 수 있다. MLP(610)는 입력 데이터(601)의 입력에 따라 중간 데이터(602)를 출력한다. 이 과정에서 데이터의 차원은 KXMXC_IN에서 KXMXC_OUT으로 변환될 수 있다.
예를 들어, 다중 논로컬-인코더(600)가 도 4의 관계 인코딩 네트워크(410)의 제1 서브 네트워크(411)인 경우, 입력 데이터(601)는 공간 계층적 포인트 데이터(401)이고, 출력 데이터(603)는 관계 특징 데이터(402)일 수 있다. 이에 따라, C_IN은 2이고, C_OUT은 64일 수 있다. 또한, 중간 데이터(602)가 논-로컬 블록(620)에 입력되어, 입력 데이터(601)에 관한 공간 계층적 관계 표현이 결정될 수 있고, 입력 데이터(601)에 해당 공간 계층적 관계 표현이 적용(예: 스킵 커넥션(630)을 통한 중간 데이터(602)와 공간 계층적 관계 표현의 합산)되어 출력 데이터(603)가 결정될 수 있다.
도 7은 일 실시예에 따른 인코딩 네트워크의 논-로컬 블록을 나타낸다. 도 7을 참조하면, 논-로컬 블록(700)을 통해 공간 계층적 포인트 데이터(701)에 대응하는 공간 계층적 관계 표현(704)이 생성된다. 논-로컬 블록(700)과 관련된 연산은 희소 포인트 처리 장치에 의해 수행될 수 있다. 공간 계층적 포인트 데이터(701)는 도 6의 중간 데이터(602)에 대응할 수 있다. 포인트 데이터(701)는 다양한 형태로 될 수 있고, 변형된 데이터 간의 연산을 통해 키 포인트 세트(예: K-차원) 기준의 제1 중간 데이터(702) 및 로컬 포인트 세트(예: M-차원) 기준의 제2 중간 데이터(703)가 생성될 수 있다. 이후에, 제1 중간 데이터(702) 및 제2 중간 데이터(703)의 합산을 통해 공간 계층적 관계 표현(704)이 생성될 수 있다.
보다 구체적으로, 포인트 데이터(701)는 컨볼루션, 전치(transpose) 등을 통해 theta, phi, g와 같은 다양한 형태로 변형될 수 있고, 다양한 형태의 변형 데이터들 간의 연산이 수행될 수 있다. C_MID는 논-로컬 블록(700)에서 사용되는 임시 값으로, C_OUT과 다른 임의의 값일 수 있다. 예를 들어, 연산 블록(710)에서 phi는 KXC_MIDXM으로 변형되고, theta와 변형된 phi 간의 곱셈 연산을 통해 f가 계산될 수 있다. f는 KXMXM의 차원을 가질 수 있고, f가 도출되는 과정에서 소프트맥스가 이용될 수 있다. 연산 블록(710)의 결과로서 제1 중간 데이터(702)가 도출될 수 있다.
유사하게, 연산 블록(720)에서 theta는 MXKXC_MID로 전치되고, phi는 MXC_MIDXK로 변형되고, 전치된 theta와 변형된 phi 간의 곱셈 연산을 통해 f가 계산될 수 있다. f는 MXKXK의 차원을 가질 수 있고, f가 도출되는 과정에서 소프트맥스가 이용될 수 있다. 또한, g는 MXKXC_MID로 전치되고, f와 전치된 g 간의 곱셈 연산이 수행될 수 있다. 연산 블록(720)의 결과로서 제2 중간 데이터(703)가 도출될 수 있다. 제2 중간 데이터(703)는 제1 중간 데이터(702)와의 합산을 위해 전치될 수 있다.
도 8은 일 실시예에 따른 희소 포인트 처리 방법을 나타내는 플로우 차트이다. 도 8을 참조하면, 단계(810)에서 희소 포인트 처리 장치는 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정한다. 희소 포인트 처리 장치는 희소 포인트 세트에서 키 포인트들을 샘플링하여 키 포인트 세트를 결정하고, 키 포인트들의 각 키포인트 주변에서 로컬 포인트들을 그룹핑하여 로컬 포인트 세트를 결정할 수 있다. 단계(820)에서 희소 포인트 처리 장치는 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정할 수 있다. 희소 포인트 처리 장치는 공간 계층적 포인트 데이터의 공간 계층적 관계 표현을 결정하고, 공간 계층적 포인트 데이터에 공간 계층적 관계 표현을 적용하여 관계 특징 데이터를 결정할 수 있다.
단계(830)에서 희소 포인트 처리 장치는 관계 특징 데이터에 관한 변환 연산을 통해 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성한다. 희소 포인트 처리 장치는 관계 특징 데이터에 기초한 맥스 풀링 연산을 통해 글로벌 특징을 생성하고, 관계 특징 데이터에 기초한 연쇄화 연산을 통해 로컬 특징을 생성할 수 있다. 단계(840)에서 희소 포인트 처리 장치는 글로벌 특징 및 로컬 특징에 기초하여 희소 포인트 세트에 관한 처리 결과를 생성한다. 예를 들어, 처리 결과는 대상의 자세 추정 결과 및/또는 각 포인트의 식별 정보를 포함할 수 있다. 그 밖에, 희소 포인트 처리 방법에는 도 1 내지 도 7, 도 9, 및 도 10의 설명이 적용될 수 있다.
도 9는 일 실시예에 따른 희소 포인트 처리 장치의 구성을 나타내는 블록도이다. 도 9를 참조하면, 희소 포인트 처리 장치(900)는 프로세서(910) 및 메모리(920)를 포함한다. 메모리(920)는 프로세서(910)에 연결되고, 프로세서(910)에 의해 실행가능한 명령어들, 프로세서(910)가 연산할 데이터 또는 프로세서(910)에 의해 처리된 데이터를 저장할 수 있다. 메모리(920)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(910)는 도 1 내지 도 8, 도 10의 동작을 수행하기 위한 명령어들을 실행할 수 있다. 예를 들어, 프로세서(910)는 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하고,공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하고, 관계 특징 데이터에 관한 변환 연산을 통해 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하고, 글로벌 특징 및 로컬 특징에 기초하여 희소 포인트 세트에 관한 처리 결과를 생성할 수 있다. 그 밖에, 희소 포인트 처리 장치(900)에는 도 1 내지 도 8, 도 10의 설명이 적용될 수 있다.
도 10은 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다. 도 10를 참조하면, 전자 장치(1000)는 프로세서(1010), 메모리(1020), 카메라(1030), 저장 장치(1040), 입력 장치(1050), 출력 장치(1060) 및 네트워크 인터페이스(1070)를 포함할 수 있으며, 이들은 통신 버스(1080)를 통해 서로 통신할 수 있다. 예를 들어, 전자 장치(1000)는 이동 전화, 스마트 폰, PDA, 넷북, 태블릿 컴퓨터, 랩톱 컴퓨터 등과 같은 모바일 장치, 스마트 워치, 스마트 밴드, 스마트 안경 등과 같은 웨어러블 디바이스, 데스크탑, 서버 등과 같은 컴퓨팅 장치, 텔레비전, 스마트 텔레비전, 냉장고 등과 같은 가전 제품, 도어 락 등과 같은 보안 장치, 자율주행 차량, 스마트 차량 등과 같은 차량, VR(virtual reality) 기기, AR(augmented reality) 기기 등의 적어도 일부로 구현될 수 있다.
전자 장치(1000)는 희소 포인트 세트를 획득하고, 희소 포인트 세트에 관한 처리 결과를 생성하고, 처리 결과와 연계된 동작들을 수행할 수 있다. 전자 장치(1000)는 도 1의 희소 포인트 처리 장치(100) 및 도 9의 희소 포인트 처리 장치(900)를 구조적 및/또는 기능적으로 포함할 수 있다. 프로세서(1010)는 전자 장치(1000) 내에서 실행하기 위한 기능 및 명령어들을 실행한다. 예를 들어, 프로세서(1010)는 메모리(1020) 또는 저장 장치(1040)에 저장된 명령어들을 처리할 수 있다. 프로세서(1010)는 도 1 내지 도 9를 통하여 설명된 하나 이상의 동작을 수행할 수 있다. 메모리(1020)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함할 수 있다. 메모리(1020)는 프로세서(1010)에 의해 실행하기 위한 명령어들을 저장할 수 있고, 전자 장치(1000)에 의해 소프트웨어 및/또는 애플리케이션이 실행되는 동안 관련 정보를 저장할 수 있다.
카메라(1030)는 사진 및/또는 비디오를 촬영할 수 있다. 예를 들어, 카메라(1030)는 센싱된 시각 정보의 변화에 기초하여 희소 포인트 세트에 관한 이벤트 스트림을 생성하는 동적 비전 센서일 수 있다. 저장 장치(1040)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함한다. 저장 장치(1040)는 메모리(1020)보다 더 많은 양의 정보를 저장하고, 정보를 장기간 저장할 수 있다. 예를 들어, 저장 장치(1040)는 자기 하드 디스크, 광 디스크, 플래쉬 메모리, 플로피 디스크 또는 이 기술 분야에서 알려진 다른 형태의 비휘발성 메모리를 포함할 수 있다.
입력 장치(1050)는 키보드 및 마우스를 통한 전통적인 입력 방식, 및 터치 입력, 음성 입력, 및 이미지 입력과 같은 새로운 입력 방식을 통해 사용자로부터 입력을 수신할 수 있다. 예를 들어, 입력 장치(1050)는 키보드, 마우스, 터치 스크린, 마이크로폰, 또는 사용자로부터 입력을 검출하고, 검출된 입력을 전자 장치(1000)에 전달할 수 있는 임의의 다른 장치를 포함할 수 있다. 출력 장치(1060)는 시각적, 청각적 또는 촉각적인 채널을 통해 사용자에게 전자 장치(1000)의 출력을 제공할 수 있다. 출력 장치(1060)는 예를 들어, 디스플레이, 터치 스크린, 스피커, 진동 발생 장치 또는 사용자에게 출력을 제공할 수 있는 임의의 다른 장치를 포함할 수 있다. 네트워크 인터페이스(1070)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하는 단계;
    상기 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 상기 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하는 단계;
    상기 관계 특징 데이터에 관한 변환 연산을 통해 상기 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하는 단계; 및
    상기 글로벌 특징 및 상기 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성하는 단계
    를 포함하는 희소 포인트 처리 방법.
  2. 제1항에 있어서,
    상기 공간 계층적 포인트 데이터를 결정하는 단계는
    상기 희소 포인트 세트에서 키 포인트들을 샘플링하여 상기 키 포인트 세트를 결정하는 단계; 및
    상기 키 포인트들의 각 키포인트 주변에서 로컬 포인트들을 그룹핑하여 상기 로컬 포인트 세트를 결정하는 단계
    를 포함하는, 희소 포인트 처리 방법.
  3. 제1항에 있어서,
    상기 관계 특징 데이터를 결정하는 단계는
    상기 공간 계층적 포인트 데이터의 공간 계층적 관계 표현을 결정하는 단계; 및
    상기 공간 계층적 포인트 데이터에 상기 공간 계층적 관계 표현을 적용하여 상기 관계 특징 데이터를 결정하는 단계
    를 포함하는, 희소 포인트 처리 방법.
  4. 제3항에 있어서,
    상기 공간 계층적 관계 표현을 결정하는 단계는
    상기 공간 계층적 포인트 데이터를 상기 키 포인트 세트 기준으로 변형하여 제1 중간 데이터를 결정하는 단계;
    상기 공간 계층적 포인트 데이터를 상기 로컬 포인트 세트 기준으로 변형하여 제2 중간 데이터를 결정하는 단계; 및
    상기 제1 중간 데이터 및 상기 제2 중간 데이터를 합산하여 상기 공간 계층적 관계 표현을 결정하는 단계
    를 포함하는, 희소 포인트 처리 방법.
  5. 제1항에 있어서,
    상기 글로벌 특징 및 상기 로컬 특징을 생성하는 단계는
    상기 관계 특징 데이터에 기초한 맥스 풀링 연산을 통해 상기 글로벌 특징을 생성하는 단계; 및
    상기 관계 특징 데이터에 기초한 연쇄화 연산을 통해 상기 로컬 특징을 생성하는 단계
    를 포함하는, 희소 포인트 처리 방법.
  6. 제1항에 있어서,
    상기 희소 포인트 세트는
    동적 비전 센서에 의해 센싱된 시각 정보의 변화에 기초하여 생성되는,
    희소 포인트 처리 방법.
  7. 제1항에 있어서,
    상기 처리 결과는
    상기 희소 포인트 세트에 대응하는 대상의 자세 추정 결과를 포함하는,
    희소 포인트 처리 방법.
  8. 제7항에 있어서,
    상기 자세 추정 결과는
    상기 대상의 자세를 6-DOF로 나타내는,
    희소 포인트 처리 방법.
  9. 제1항에 있어서,
    상기 처리 결과는
    상기 희소 포인트 세트의 각 포인트의 식별 정보를 포함하는,
    희소 포인트 처리 방법.
  10. 제1항에 있어서,
    상기 희소 포인트 세트는
    텍스처, 윤곽, 및 색상이 없는 희소 2D 포인트 세트인,
    희소 포인트 처리 방법.
  11. 하드웨어와 결합되어 제1항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  12. 프로세서; 및
    상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리
    를 포함하고,
    상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는
    희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하고,
    상기 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 상기 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하고,
    상기 관계 특징 데이터에 관한 변환 연산을 통해 상기 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하고,
    상기 글로벌 특징 및 상기 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성하는,
    희소 포인트 처리 장치.
  13. 제12항에 있어서,
    상기 프로세서는
    상기 공간 계층적 포인트 데이터의 공간 계층적 관계 표현을 결정하고,
    상기 공간 계층적 포인트 데이터에 상기 공간 계층적 관계 표현을 적용하여 상기 관계 특징 데이터를 결정하는,
    희소 포인트 처리 장치.
  14. 제13항에 있어서,
    상기 프로세서는
    상기 공간 계층적 포인트 데이터를 상기 키 포인트 세트 기준으로 변형하여 제1 중간 데이터를 결정하고,
    상기 공간 계층적 포인트 데이터를 상기 로컬 포인트 세트 기준으로 변형하여 제2 중간 데이터를 결정하고,
    상기 제1 중간 데이터 및 상기 제2 중간 데이터를 합산하여,
    상기 공간 계층적 관계 표현을 결정하는,
    희소 포인트 처리 장치.
  15. 제12항에 있어서,
    상기 희소 포인트 세트는
    동적 비전 센서에 의해 센싱된 시각 정보의 변화에 기초하여 생성되는,
    희소 포인트 처리 장치.
  16. 제12항에 있어서,
    상기 처리 결과는
    상기 희소 포인트 세트에 대응하는 대상의 자세 추정 결과 및 상기 희소 포인트 세트의 각 포인트의 식별 정보 중에 적어도 하나를 포함하는,
    희소 포인트 처리 장치.
  17. 센싱된 시각 정보의 변화에 기초하여 희소 포인트 세트에 관한 이벤트 스트림을 생성하는 동적 비전 센서; 및
    상기 희소 포인트 세트의 키 포인트 세트 및 로컬 포인트 세트에 기초하여 공간 계층적 포인트 데이터를 결정하고,
    상기 공간 계층적 포인트 데이터의 포인트들 사이의 공간 계층적 관계를 인코딩하여 상기 공간 계층적 포인트 데이터의 관계 특징 데이터를 결정하고,
    상기 관계 특징 데이터에 관한 변환 연산을 통해 상기 희소 포인트 세트의 글로벌 특징 및 로컬 특징을 생성하고,
    상기 글로벌 특징 및 상기 로컬 특징에 기초하여 상기 희소 포인트 세트에 관한 처리 결과를 생성하는, 프로세서
    를 포함하는 전자 장치.
  18. 제17항에 있어서,
    상기 프로세서는
    상기 공간 계층적 포인트 데이터의 공간 계층적 관계 표현을 결정하고,
    상기 공간 계층적 포인트 데이터에 상기 공간 계층적 관계 표현을 적용하여 상기 관계 특징 데이터를 결정하는,
    희소 포인트 처리 장치.
  19. 제18항에 있어서,
    상기 프로세서는
    상기 공간 계층적 포인트 데이터를 상기 키 포인트 세트 기준으로 변형하여 제1 중간 데이터를 결정하고,
    상기 공간 계층적 포인트 데이터를 상기 로컬 포인트 세트 기준으로 변형하여 제2 중간 데이터를 결정하고,
    상기 제1 중간 데이터 및 상기 제2 중간 데이터를 합산하여,
    상기 공간 계층적 관계 표현을 결정하는,
    희소 포인트 처리 장치.
  20. 제17항에 있어서,
    상기 처리 결과는
    상기 희소 포인트 세트에 대응하는 대상의 자세 추정 결과 및 상기 희소 포인트 세트의 각 포인트의 식별 정보 중에 적어도 하나를 포함하는,
    희소 포인트 처리 장치.
KR1020200150499A 2020-01-03 2020-11-11 희소 포인트 처리 방법 및 장치 KR20210087875A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/123,540 US11430150B2 (en) 2020-01-03 2020-12-16 Method and apparatus for processing sparse points

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010006265.8 2020-01-03
CN202010006265.8A CN111223136B (zh) 2020-01-03 2020-01-03 稀疏2d点集的深度特征提取方法及装置

Publications (1)

Publication Number Publication Date
KR20210087875A true KR20210087875A (ko) 2021-07-13

Family

ID=70832242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200150499A KR20210087875A (ko) 2020-01-03 2020-11-11 희소 포인트 처리 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20210087875A (ko)
CN (1) CN111223136B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116165274A (zh) * 2023-02-17 2023-05-26 哈尔滨工业大学 基于贝叶斯全局稀疏概率主成分分析的城市轨道损伤识别方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017156243A1 (en) * 2016-03-11 2017-09-14 Siemens Aktiengesellschaft Deep-learning based feature mining for 2.5d sensing image search
CN107038717B (zh) * 2017-04-14 2019-08-27 东南大学 一种基于立体栅格自动分析3d点云配准误差的方法
US10438371B2 (en) * 2017-09-22 2019-10-08 Zoox, Inc. Three-dimensional bounding box from two-dimensional image and point cloud data
CN109633665A (zh) * 2018-12-17 2019-04-16 北京主线科技有限公司 交通场景稀疏激光点云拼接方法
CN110243370A (zh) * 2019-05-16 2019-09-17 西安理工大学 一种基于深度学习的室内环境三维语义地图构建方法
CN110223298A (zh) * 2019-05-27 2019-09-10 东南大学 基于点云局部结构的语义分割改进算法
CN110197223B (zh) * 2019-05-29 2021-02-09 北方民族大学 基于深度学习的点云数据分类方法
CN110287873B (zh) * 2019-06-25 2021-06-29 清华大学深圳研究生院 基于深度神经网络的非合作目标位姿测量方法、系统及终端设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116165274A (zh) * 2023-02-17 2023-05-26 哈尔滨工业大学 基于贝叶斯全局稀疏概率主成分分析的城市轨道损伤识别方法
CN116165274B (zh) * 2023-02-17 2023-11-14 哈尔滨工业大学 基于贝叶斯全局稀疏概率主成分分析的城市轨道损伤识别方法

Also Published As

Publication number Publication date
CN111223136A (zh) 2020-06-02
CN111223136B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
JP5520387B2 (ja) 拡張現実における動的モデリングによる頑強なオブジェクト認識
JP2019149149A (ja) 点群データを復旧するための方法及び装置
US11348270B2 (en) Method for stereo matching using end-to-end convolutional neural network
KR102472767B1 (ko) 신뢰도에 기초하여 깊이 맵을 산출하는 방법 및 장치
KR20150111641A (ko) 계층적 패턴 구조에 기반한 기술자 생성 방법 및 이를 이용한 객체 인식 방법과 장치
KR20210015695A (ko) 포즈 추정 방법, 포즈 추정 장치, 및 포즈 추정을 위한 트레이닝 방법
KR20230069607A (ko) 셀프 어텐션 기반의 영상 인식 방법 및 장치
KR20220081261A (ko) 객체 포즈 추정 방법 및 장치
WO2019223262A1 (zh) 单目图像的深度恢复方法及装置、计算机设备
US20220262093A1 (en) Object detection method and system, and non-transitory computer-readable medium
CN114663514B (zh) 一种基于多模态稠密融合网络的物体6d姿态估计方法
US11875529B2 (en) Method and system for monocular depth estimation of persons
KR20220038996A (ko) 특징 임베딩 방법 및 장치
JP2019159940A (ja) 点群特徴抽出装置、点群特徴抽出方法及びプログラム
TW201436552A (zh) 用於使用至少一較高訊框率之影像流而增加影像流之訊框率之方法及裝置
CN116258757A (zh) 一种基于多尺度交叉注意力的单目图像深度估计方法
KR20210087875A (ko) 희소 포인트 처리 방법 및 장치
Liu et al. Two-stream refinement network for RGB-D saliency detection
CN114066984A (zh) 基于二维关键点的三维姿态分类方法以及相关装置
US11430150B2 (en) Method and apparatus for processing sparse points
Saif et al. An efficient method for hand gesture recognition using robust features vector
KR20050027796A (ko) 물체 인식 및 추적방법
Zou et al. Real-time passable area segmentation with consumer RGB-D cameras for the visually impaired
CN107767450B (zh) 一种基于sparse-slam的实时建图方法
JP2023098597A (ja) 映像処理方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination