[go: up one dir, main page]

KR102591078B1 - 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법 - Google Patents

인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR102591078B1
KR102591078B1 KR1020230057376A KR20230057376A KR102591078B1 KR 102591078 B1 KR102591078 B1 KR 102591078B1 KR 1020230057376 A KR1020230057376 A KR 1020230057376A KR 20230057376 A KR20230057376 A KR 20230057376A KR 102591078 B1 KR102591078 B1 KR 102591078B1
Authority
KR
South Korea
Prior art keywords
user input
point cloud
point
electronic device
artificial intelligence
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020230057376A
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 KR1020230057376A priority Critical patent/KR102591078B1/ko
Application granted granted Critical
Publication of KR102591078B1 publication Critical patent/KR102591078B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법을 제공한다. 일 실시예에 따른 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하되, 적어도 하나의 프로세서는, 복수의 객체들을 포함하는 3차원 장면에 대응하는 포인트 클라우드를 획득하고, 포인트 클라우드를 2차원 좌표계로 변환하고, 변환된 포인트 클라우드를 디스플레이에 표시하고, 변환된 포인트 클라우드 중 복수의 객체들에 대응하는 적어도 하나의 포인트를 포함하는 제1 사용자 입력을 획득하고, 포인트 클라우드에 기초하여 제1 사용자 입력을 인코딩하고, 포인트 클라우드 및 인코딩된 제1 사용자 입력을 입력으로 하는, 인공지능 모델을 이용하여, 포인트 클라우드에서 복수의 객체들에 대응하는 3차원 바운딩 박스를 추론하는, 하나 이상의 인스트럭션을 실행할 수 있다.

Description

인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법 {ELECTRONIC DEVICE FOR PERFORMING 3D OBJECT DETECTION USING AN ARTIFICIAL INTELLIGENCE MODEL AND OPERATING METHOD THEREOF}
본 개시는 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법에 관한 것이며, 좀 더 상세하게는, 포인트 클라우드 및 사용자 입력에 기초하여 3차원 바운딩 박스를 추론하는 인공지능 모델을 이용함으로써 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법에 관한 것이다.
장기간 연구되어 온 3차원 객체 탐지 기술은 자율주행 및 로봇 공학 분야에서 활발히 연구되고 있다. 포인트 클라우드는 복잡한 장면을 효율적으로 나타내는 데 사용되는 대표적인 3차원 데이터 유형 중 하나이다. 포인트 클라우드에서의 3차원 객체 탐지를 수행하기 위해, 복셀(voxel)화 방식, 포인트 기반 방식, 그래프 기반 방식 등 다양한 기법들이 연구되어 왔다.
그러나, 포인트 클라우드에서 3차원 객체 탐지 모델을 학습시키기 위한 데이터셋을 확보하기 어려운 실정이며, 특히 포인트 클라우드의 복잡한 데이터 특성으로 인해 주석 처리 과정에 오류가 발생하기 쉽고 비용이 많이 드는 문제가 있다. 이러한 문제는 고성능 3차원 객체 탐지 기술 개발에 어려움을 주고 있다.
본 개시의 목적은, 객체에 대응하는 3차원 바운딩 박스를 정확하고 효율적으로 추론하기 위해, 사용자 상호작용 및 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법을 제공하는 것이다.
일 실시예에 따른 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하되, 상기 적어도 하나의 프로세서는, 복수의 객체들을 포함하는 3차원 장면에 대응하는 포인트 클라우드(point cloud)를 획득하고, 상기 포인트 클라우드를 2차원 좌표계로 변환하고, 상기 변환된 포인트 클라우드를 상기 디스플레이에 표시하고, 상기 변환된 포인트 클라우드 중 상기 복수의 객체들에 대응하는 적어도 하나의 포인트를 포함하는 제1 사용자 입력을 획득하고, 상기 포인트 클라우드에 기초하여 상기 제1 사용자 입력을 인코딩하고, 상기 포인트 클라우드 및 상기 인코딩된 제1 사용자 입력을 입력으로 하는, 인공지능 모델을 이용하여, 상기 포인트 클라우드에서 상기 복수의 객체들에 대응하는 3차원 바운딩 박스(bounding box)를 추론하는, 상기 하나 이상의 인스트럭션을 실행할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는, 상기 변환된 포인트 클라우드 및 상기 추론된 3차원 바운딩 박스를 상기 디스플레이에 표시하고, 상기 추론된 3차원 바운딩 박스에 대응하되 상기 복수의 객체들에 대응하지 않는 포인트, 및 상기 추론된 3차원 바운딩 박스에 대응하지 않되 상기 복수의 객체들에 대응하는 포인트 중 적어도 하나를 포함하는 제2 사용자 입력을 획득하고, 상기 포인트 클라우드에 기초하여 제2 사용자 입력을 인코딩하고, 상기 포인트 클라우드, 및 상기 인코딩된 제1 사용자 입력 및 상기 인코딩된 제2 사용자 입력을 입력으로 하는, 인공지능 모델을 이용하여, 상기 포인트 클라우드에서 상기 복수의 객체들에 대응하는 3차원 바운딩 박스를 추론하는, 상기 하나 이상의 인스트럭션을 더 실행할 수 있다.
일 실시예에 따르면, 상기 인공지능 모델은, 상기 포인트 클라우드 및 상기 인코딩된 제1 사용자 입력에 기초하여 특징을 추출하는 포인트 인코더(point encoder), 상기 추출된 특징에 기초하여 상기 복수의 객체들에 대응하는 중심점을 예측하고, 상기 예측된 중심점에 기초하여 상기 복수의 객체들에 대응하는 포인트들을 그룹화하는 센트로이드 어그리게이션(centroid aggregation) 모듈, 상기 추출된 특징 및 상기 인코딩된 제1 사용자 입력에 기초하여 상기 제1 사용자 입력에 대응하는 객체와 동일한 클래스의 객체의 정보를 계산하는 공간 클릭 전파(spatial click propagation) 모듈, 및 상기 센트로이드 어그리게이 모듈의 출력 및 상기 공간 클릭 전파 모듈의 출력에 기초하여 상기 복수의 객체들에 대응하는 상기 3차원 바운딩 박스를 출력하는 검출 헤드(detection head) 모듈을 포함할 수 있다.
일 실시예에 따르면, 상기 포인트 인코더는 적어도 하나의 완전 연결 레이어 및 적어도 하나의 다운샘플링(downsampling) 레이어를 포함하고, 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 다운샘플링 레이어의 출력에 상기 인코딩된 제1 사용자 입력을 연결(concatenating)하는, 상기 하나 이상의 인스트럭션을 더 실행할 수 있다.
일 실시예에 따르면, 상기 공간 클릭 전파 모듈은, 상기 인코딩된 제1 사용자 입력에 대응하는 정보와 상기 추출된 특징 간의 유사도를 계산하고, 상기 검출 헤드 모듈은, 상기 센트로이드 어그리게이션 모듈의 출력에 상기 유사도가 연결된 데이터를 획득하고, 상기 획득된 값에 기초하여 상기 제1 사용자 입력에 대응하는 객체와 동일한 클래스의 객체를 검출할 수 있다.
일 실시예에 따르면, 상기 인공지능 모델은, 포인트 클라우드 데이터셋, 상기 포인트 클라우드 데이터셋 중 객체에 대응하는 적어도 하나의 포지티브(positive) 포인트, 및 상기 포인트 클라우드 데이터셋 중 배경에 대응하는 적어도 하나의 네거티브(negative) 포인트에 기초하여, 객체에 대응하는 3차원 바운딩 박스를 출력하도록 학습될 수 있다.
일 실시예에 따르면, 상기 인공지능 모델은, 상기 인공지능 모델의 학습 과정에서, 그라운드 트루스 값 및 상기 추출된 특징에 기초하여 상기 복수의 객체들에 대응하지 않는 배경부 포인트들 중 전경부 점수가 임계 값을 초과하는 포인트들을 상기 적어도 하나의 네거티브 포인트로 할당하는, 네거티브 클릭 시뮬레이션 모듈을 포함할 수 있다.
일 실시예에 따르면, 상기 제1 사용자 입력은 객체 위치 정보 및 객체 클래스 정보를 포함할 수 있다.
일 실시예에 따르면, 상기 제1 사용자 입력을 인코딩하는, 상기 하나 이상의 인스트럭션은, 상기 포인트 클라우드의 (x, y) 위치 정보와 상기 제1 사용자 입력의 상기 객체 위치 정보 간의 거리에 기초하여 상기 제1 사용자 입력을 인코딩하는, 상기 하나 이상의 인스트럭션을 포함할 수 있다.
일 실시예에 따르면, 상기 인공지능 모델은, 상기 포인트 클라우드에 상기 인코딩된 제1 사용자 입력을 연결한 값을 입력으로 할 수 있다.
일 실시예에 따르면, 네거티브 클릭 시뮬레이션을 통해 잘못된 3차원 바운딩 박스 추론을 줄일 수 있다. 일 실시예에 따르면, 덴스 클릭 가이던스를 통해 사용자 입력이 인공지능 모델의 데이터 처리에서 희석되지 않아 사용자 상호작용의 효과를 최대화할 수 있다. 일 실시예에 따르면, 공간 클릭 전파를 통해 적은 수의 사용자 입력만으로도 정확한 추론을 할 수 있다. 일 실시예에 따르면, 포인트 클라우드를 2차원 좌표계로 변환하여 사용자에게 제공함으로써, 더 편리한 사용자 경험 및 상호작용 툴을 제공할 수 있다.
도 1a 및 1b는 일 실시예에 따른 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치의 동작을 개략적으로 보여주는 개념도이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 보여주는 블록도이다.
도 3은 일 실시예에 따른 인공지능 모델을 이용한 추론 과정을 보여주는 블록도이다.
도 4는 일 실시예에 따른 공간 클릭 전파 모듈의 동작을 설명하기 위한 개념도이다.
도 5는 일 실시예에 따른 인공지능 모델의 학습 과정을 보여주는 블록도이다.
도 6은 일 실시예에 따른 네거티브 클릭 시뮬레이션 모듈의 동작을 설명하기 위한 개념도이다.
도 7a 및 7b는 일 실시예에 따른 2차원 변환 모듈의 동작을 예시적으로 보여주는 도면이다.
도 8a 및 8b는 일 실시예에 따른 인코딩 모듈의 동작을 예시적으로 보여주는 도면이다.
도 9a 내지 9d는 일 실시예에 따른 공간 클릭 전파 모듈의 동작을 예시적으로 보여주는 도면이다.
도 10은 일 실시예에 따른 전자 장치의 동작 방법을 보여주는 흐름도이다.
도 11은 일 실시예에 따른 전자 장치의 동작 방법을 보여주는 흐름도이다.
이하에서, 본 개시의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 용이하게 실시할 수 있을 정도로, 실시예들이 명확하게 상세하게 기재될 것이다. 그러나, 권리범위는 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면 상의 유사한 구성요소에 대해서는 동일 또는 유사한 참조부호가 사용되고, 동일 또는 유사한 구성요소에 대해서 중복되는 설명은 생략한다.
아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.
또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한, 각각의 도면에서 사용된 도면 부호는 각각의 도면을 설명하기 위한 것일 뿐, 상이한 도면들 각각에서 사용된 상이한 도면 부호가 상이한 요소를 나타내기 위한 것은 아니다. 이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
본 개시에서, 인공지능 모델은 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 심층 신경망 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 심층 신경망 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 예를 들어, 심층 신경망 모델은 CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등을 포함할 수 있으나, 이에 한정되지 않는다.
본 개시에서, 사용자 입력은 2차원 좌표계에서의 객체 위치 정보 및 객체 클래스(또는 카테고리로 지칭될 수 있음) 정보를 포함할 수 있다. 예를 들어, 사용자 입력은 (pk, ck)로 정의될 수 있다. 여기서, k는 사용자 입력에 대응하는 포인트의 수로 정의될 수 있다. 여기서, pk는 객체 위치 정보로, 예컨대, pk는 (pk,x, pk,y)로 정의될 수 있다. 여기서, ck는 객체 클래스 정보로, 예컨대, 미리 정의된 C 개의 클래스 중 해당 포인트의 클래스로 정의될 수 있다.
도 1a 및 1b는 일 실시예에 따른 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치의 동작을 개략적으로 보여주는 개념도이다.
도 1a을 참조하면, 전자 장치(100)는 포인트 클라우드(110) 및 제1 사용자 입력(10)을 입력으로 하는 인공지능 모델(150)을 이용하여, 포인트 클라우드(110)의 복수의 객체들에 대응하는 3차원 바운딩 박스(예컨대, 160a, 160b)를 추론할 수 있다. 전자 장치(100)는 미리 정해진 이터레이션(iteration) 횟수만큼 3차원 바운딩 박스(예컨대, 160a, 160b)를 추론할 수 있다. 도 1a는 초기 이터레이션의 예시를 보여준다.
예를 들어, 전자 장치(100)는 디스플레이(130)를 포함하는 장치일 수 있다. 전자 장치(100)는 포인트 클라우드(110)에 대응하는 2차원 이미지를 디스플레이(130)를 통해 출력하는 장치일 수 있다. 예를 들어, 전자 장치(100)는 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), PC(Personal Computer), 태블릿 PC, 디지털 카메라, CCTV(Closed-Circuit Television), 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 또는 MP3 플레이어 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 전자 장치(100)는 디스플레이(130)를 포함하는 다양한 종류 및 형태의 장치로 구현될 수 있다.
일 실시예에 따른 전자 장치(100)는 2차원 변환 모듈(120), 인코딩 모듈(140), 및 인공지능 모델(150)을 포함할 수 있다.
전자 장치(100)는 복수의 객체들을 포함하는 3차원 장면에 대응하는 포인트 클라우드(110)를 획득할 수 있다. 예를 들어, 전자 장치(100)는 포인트 클라우드(110)를 생성하기 위해 센서(미도시)를 포함할 수 있다. 예를 들어, 센서(미도시)는 이미지 센서, LiDAR 센서, RGB-D 센서, 깊이 센서, ToF(time of flight) 센서, 초음파 센서, 레이다 센서, 및 스테레오 카메라 중 적어도 하나로 구성될 수 있으나, 본 개시는 이에 한정되지 않는다.
일 실시예에 있어서, 센서(미도시)는 외부로부터 센싱 데이터를 획득할 수 있다. 일 실시예에 있어서, 전자 장치(100)는 센싱 데이터에 기초하여 포인트 클라우드(110)를 생성할 수 있다. 일 실시예에 있어서, 전자 장치(100)는 외부 서버 또는 외부 전자 장치로부터 포인트 클라우드(110)를 수신할 수 있다.
2차원 변환 모듈(120)은 포인트 클라우드(110)를 2차원 좌표계로 변환할 수 있다. 전자 장치(100)는 변환된 포인트 클라우드(111)를 디스플레이(130)에 표시할 수 있다. 전자 장치(100)는 변환된 포인트 클라우드(111) 중 복수의 객체들에 대응하는 적어도 하나의 포인트(포지티브 클릭(positive click) 또는 포지티브 포인트(positive point))를 포함하는 제1 사용자 입력(10)을 수신할 수 있다. 예를 들어, 전자 장치(100)는 입력 인터페이스를 통해 복수의 객체들 중 어느 객체에 해당하는 포인트에 대응하는 제1 사용자 입력(10)을 수신할 수 있다. 예를 들어, 제1 사용자 입력(10)은 변환된 포인트 클라우드(111)에서의 객체 위치 정보 및 객체 클래스 정보(예컨대, 보행자 클래스)를 포함할 수 있다.
인코딩 모듈(140)은 포인트 클라우드(110)에 기초하여 제1 사용자 입력(10)을 인코딩할 수 있다. 예를 들어, 인코딩 모듈(140)은 포인트 클라우드의 (x, y) 위치 정보와 제1 사용자 입력(10)의 객체 위치 정보 간의 거리에 기초하여 제1 사용자 입력(10)을 인코딩할 수 있다. 일 실시예에 있어서, 전자 장치(100)는 포인트 클라우드(110)에 인코딩된 제1 사용자 입력을 연결(concatenating)할 수 있다.
전자 장치(100)는 (미리 학습된) 인공지능 모델(150)에 포인트 클라우드(110) 및 인코딩된 제1 사용자 입력을 입력할 수 있다. 인공지능 모델(150)은 포인트 클라우드(110) 및 인코딩된 제1 사용자 입력에 기초하여 포인트 클라우드(110)에서 복수의 객체들에 대응하는 3차원 바운딩 박스(예컨대, 160a, 160b)를 추론(또는 예측)할 수 있다. 예를 들어, 인공지능 모델(150)은 3차원 바운딩 박스(예컨대, 160a, 160b)에 대응하는 어노테이션(annotation) 값을 출력할 수 있다. 즉, 추론 결과는 3차원 바운딩 박스(예컨대, 160a, 160b)의 어노테이션 값을 나타낼 수 있다. 예를 들어, 어노테이션 값은, 3차원 바운딩 박스의 중심점, 높이, 폭, 깊이, 클래스, 및 각도 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따르면, 객체에 대응하는 포지티브 포인트에 대한 정보가 인공지능 모델(150)에 제공됨에 따라, 3차원 바운딩 박스가 높은 정확도로 추론될 수 있다.
예를 들어, 3차원 바운딩 박스들(160a_1~160a_5)는 보행자 클래스에 대응하고, 3차원 바운딩 박스들(160b_1, 160b_2)는 차량 클래스에 대응할 수 있다. 3차원 바운딩 박스들(160a_1~160a_3) 및 3차원 바운딩 박스(160b_1)는 트루 포지티브(true positive)로 분류될 수 있다. 3차원 바운딩 박스들(160a_4, 160a_5) 및 3차원 바운딩 박스(160b_2)는 폴스 포지티브(false positive)로 분류될 수 있다. 본 개시에서, 트루 포지티브는 검출되어야 할 객체가 검출된 것을 나타내고, 폴스 포지티브는 검출되지 않아야 할 객체가 검출된 것을 나타낼 수 있다. 따라서, 3차원 바운딩 박스들(160a_4, 160a_5, 160b_2)은 배경부이거나 다른 객체로 검출되어야 함에도 잘못 검출된 3차원 바운딩 박스들이다.
도 1b와 함께, 도 1a를 참조하면, 도 1b는 도 1a의 초기 이터레이션 이후의 이터레이션에서 객체 검출을 수행하는 전자 장치(100)의 동작을 보여준다.
전자 장치(100)는 변환된 포인트 클라우드(111) 및 초기 이터레이션에서 추론된 3차원 바운딩 박스(160a_1~160a_5, 160b_1, 160b_2)에 대응하는 데이터를 디스플레이(130)에 표시할 수 있다.
전자 장치(100)는 상기 추론된 3차원 바운딩 박스에 대응하되 상기 복수의 객체들에 대응하지 않는 포인트(즉, 네거티브 포인트(negative point) 또는 네거티브 클릭(negative click)), 및 상기 추론된 3차원 바운딩 박스에 대응하지 않되 상기 복수의 객체들에 대응하는 포인트(즉, 포지티브 포인트 또는 포지티브 클릭) 중 적어도 하나를 포함하는 제2 사용자 입력(11)을 획득할 수 있다. 예를 들어, 제2 사용자 입력(11)은 복수의 네거티브 포인트 및/또는 복수의 포지티브 포인트를 포함할 수 있다. 도 1b를 참조하면, 3차원 바운딩 박스(160a_4)는 보행자 클래스에 대응하지 않는 객체임에도 검출되었으므로, 제2 사용자 입력(11)은 네거티브 포인트일 수 있다.
인코딩 모듈(140)은 포인트 클라우드(110)에 기초하여 제2 사용자 입력(11)을 인코딩할 수 있다. 일 실시예에 있어서, 인코딩 모듈(140)은 이전 이터레이션의 사용자 입력(예컨대, 제1 사용자 입력(10))과 함께, 현재 이터레이션의 사용자 입력(예컨대, 제2 사용자 입력(11))을 연결(concatenating)한 값을 인코딩할 수 있다.
전자 장치(100)는 포인트 클라우드(110), 인코딩된 제1 사용자 입력, 및 인코딩된 제2 사용자 입력을 입력으로 하는, 인공지능 모델(150)을 이용하여, 포인트 클라우드(110)에서 복수의 객체들에 대응하는 3차원 바운딩 박스를 추론할 수 있다.
도 1b를 참조하면, 인공지능 모델(150)은 제2 사용자 입력(11)에 대응하는 3차원 바운딩 박스(160a_4)를 추론하지 않았을 뿐만 아니라, 3차원 바운딩 박스(160a_4)와 유사한 특징을 가진 3차원 바운딩 박스(160a_5)를 추론하지 않았음을 알 수 있다.
일 실시예에 따르면, 객체에 대응하는 소량의 포지티브 포인트 또는 객체에 대응하지 않는 소량의 네거티브 포인트에 대한 정보가 인공지능 모델(150)에 되었음에도, 3차원 바운딩 박스가 높은 정확도로 추론될 수 있다.
도 2는 일 실시예에 따른 전자 장치의 구성을 보여주는 블록도이다. 전자 장치(200)의 구성, 동작, 및 기능은 도 1a 및 1b에 도시된 전자 장치(100)의 구성, 동작, 및 기능에 대응할 수 있다. 설명의 편의를 위해, 도 1a 및 1b에서 설명한 내용과 중복되는 내용은 생략한다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(200)는 통신 인터페이스(210), 사용자 인터페이스(220), 프로세서(230), 및 메모리(240)를 포함할 수 있다. 그러나, 도 2에 도시된 구성요소가 필수 구성요소인 것은 아니며, 전자 장치(200)는 구성요소를 생략하거나, 추가 구성요소를 더 포함할 수 있다. 예를 들어, 전자 장치(200)는 디스플레이(130), 프로세서(230), 및 메모리(240)를 포함하도록 구성될 수 있다.
통신 인터페이스(210)는 전자 장치(200)와 외부의 다른 전자 장치(미도시) 또는 서버(미도시) 사이의 유선 또는 무선 통신 채널의 수립 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 일 실시 예에 있어서, 통신 인터페이스(210)는 유선 또는 무선 통신을 통해 외부의 다른 전자 장치(미도시) 또는 서버(미도시)로부터 데이터를 수신하거나 외부의 다른 전자 장치(미도시) 또는 서버(미도시)로 데이터를 송신할 수 있다. 일 실시 예에 있어서, 통신 인터페이스(210)는 무선 통신 모듈(예컨대, 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예컨대, LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있고, 그 중 어느 하나의 통신 모듈을 이용하여 적어도 하나의 네트워크(예컨대, 근거리 통신 네트워크(예컨대, 블루투스, WiFi direct 또는 IrDA(infrared data association)) 또는 원거리 통신 네트워크(예컨대, 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예컨대, LAN 또는 WAN)))를 통하여 외부의 다른 전자 장치(미도시) 또는 서버(미도시)와 통신할 수 있다.
일 실시예에 있어서, 전자 장치(200)는 통신 인터페이스(210)를 통해 외부의 다른 전자 장치(미도시) 또는 서버(미도시)로부터 포인트 클라우드를 수신할 수 있다.
사용자 인터페이스(220)는 입력 인터페이스(221) 및 출력 인터페이스(222)를 포함할 수 있다.
입력 인터페이스(221)는, 사용자로부터의 입력(이하에서, 사용자 입력)을 수신하기 위한 것이다. 입력 인터페이스(221)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 터치 스크린, 컨트롤러, 조그 휠, 조그 스위치, 마우스, 키보드, 무선 펜, 음성 인식 장치, 제스처 인식 장치 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.
출력 인터페이스(222)는 비디오 신호의 출력을 위한 디스플레이(130)를 포함할 수 있다. 일 실시예에 의하면, 전자 장치(200)는 디스플레이(130)를 통해서 전자 장치(200)와 관련된 정보를 표시해 줄 수 있다. 예를 들어, 전자 장치(200)는 포인트 클라우드를 2차원 좌표계로 변환하여 시각화한 이미지들을 디스플레이(130)에 표시할 수 있다.
디스플레이(130)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이(130)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이(130)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 발광 다이오드(LED, light-emitting diode), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 장치(200)의 구현 형태에 따라 디스플레이를 2개 이상 포함할 수도 있다.
프로세서(230)는 AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
프로세서(230)는 복수의 프로세서로 구성될 수도 있다. 이 경우, 전용 프로세서들의 조합으로 구현될 수도 있고, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다.
일 실시예에 있어서, 프로세서(230)는, 인공지능(AI) 전용 프로세서를 탑재할 수도 있다. 인공지능 전용 프로세서는, 인공지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전자 장치(200)에 탑재될 수도 있다. 예를 들어, 인공지능 전용 프로세서는 인공지능 모델(150)과 관련된 학습 및/또는 추론에 필요한 데이터 처리를 수행할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서(230)와 메모리(240)를 통해 동작된다. 프로세서(230)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델(예컨대, 인공지능 모델(150))에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 인공지능 모델(150)의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델(150)은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다. 메모리(240)는, 프로세서(230)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들을 저장할 수도 있다. 메모리(240)는 학습된 인공지능 모델(150)을 저장할 수도 있다.
메모리(240)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 전자 장치(200)는 인터넷(internet)상에서 저장 기능을 수행하는 웹 스토리지(web storage) 또는 클라우드 서버를 운영할 수도 있다.
일 실시예에 있어서, 메모리(240)에는 프로세서(230)에 의하여 처리되거나 처리될 예정인 데이터, 펌웨어, 소프트웨어, 및 프로세스 코드 등이 저장될 수 있다. 일 실시 예에 있어서, 메모리(240)에는 2차원 변환 모듈(120), 인코딩 모듈(140), 및 인공지능 모델(150) 중 적어도 하나에 대응되는 데이터 및 프로그램 코드들이 저장될 수 있다.
도 3은 일 실시예에 따른 인공지능 모델을 이용한 추론 과정을 보여주는 블록도이다. 인공지능 모델(150)의 구성, 동작, 및 기능은 도 1a 내지 2에 도시된 인공지능 모델(150)의 구성, 동작, 및 기능에 대응할 수 있다. 설명의 편의를 위해, 도 1a 내지 2에서 설명한 내용과 중복되는 내용은 생략한다.
도 3을 참조하면, 인공지능 모델(150)은 포인트 인코더(point encoder)(310), 센트로이드 어그리게이션(centroid aggregation) 모듈(320), 공간 클릭 전파(spatial click propagation) 모듈, 및 검출 헤드(detection head) 모듈을 포함할 수 있다. 예를 들어, 인공지능 모델(150)은 복수의 신경망 레이어들을 포함할 수 있다. 복수의 신경망 레이어들은 기능에 따라, 포인트 인코더(310), 센트로이드 어그리게이션 모듈(320), 공간 클릭 전파 모듈, 및 검출 헤드 모듈로 구분될 수 있다.
포인트 인코더(310)는 포인트 클라우드 및 인코딩된 사용자 입력을 획득할 수 있다. 일 실시예에 있어서, 포인트 인코더(310)는 포인트 클라우드에 인코딩된 사용자 입력이 연결된 데이터를 획득할 수 있다. 포인트 인코더(310)는 포인트 클라우드 및 인코딩된 사용자 입력(예컨대, 제1 사용자 입력(도 1a, 10) 및/또는 제2 사용자 입력(도 1b, 11))에 기초하여 특징(feature)(또는 특징 맵, 특징 벡터, 내재 표현, 내재 벡터 등으로도 지칭될 수 있음)을 추출할 수 있다.
포인트 인코더(310)는 적어도 하나의 완전 연결(fully connected) 레이어 및 적어도 하나의 다운샘플링(downsampling) 레이어를 포함할 수 있다. 예를 들어, 포인트 인코더(310)는 포인트 클라우드의 총 N 개의 포인트들을 완전 연결 레이어 및 활성화 함수를 이용하여 인코딩할 수 있다. 예를 들어, 포인트 인코더(310)는 인코딩된 포인트들을 다운샘플링 레이어에 입력함으로써 샘플링할 수 있다. 일 실시예에 있어서, 다운샘플링 레이어는 인코딩된 포인트들을 거리 기준으로 샘플링(farthest point sampling)하거나, 전경부 점수(foreground score)를 기준으로 가장 높은 n 개를 샘플링할 수 있다. 그러나 본 개시는 이에 한정되지 않으며, 인코딩된 포인트들은 최대 풀링(max pooling), 평균 풀링(average pooling), 스트라이드 컨볼루션(strided convolution), 글로벌 풀링(global pooling) 기법 등에 의해 샘플링될 수 있다.
일 실시예에 있어서, 다운샘플링 레이어의 출력마다 인코딩된 사용자 입력이 연결(concatenating)될 수 있다. 본 개시에서, 다운샘플링 레이어의 출력마다 인코딩된 사용자 입력이 연결되는 기법을, 덴스 클릭 가이던스(dense click guidance)로 지칭할 수 있다. 도 3을 참조하면, 3 개의 다운샘플링 레이어의 출력에 인코딩된 사용자 입력이 연결된 것으로 도시되었으나, 다운샘플링 레이어의 개수는 이에 한정되지 않는다. 일 실시예에 있어서, 포인트 인코더(310)의 다운샘플링 레이어들 중 적어도 일부의 출력에 인코딩된 사용자 입력이 연결될 수 있다.
일 실시예에 따르면, 사용자 입력에 대응하는 정보가 다운샘플링 레이어를 거치면서 희석되는 현상이 방지됨으로써, 인공지능 모델(150)이 더 효율적이고 정확한 추론을 수행할 수 있다.
센트로이드 어그리게이션 모듈(320)은 포인트 인코더(310)로부터 추출된 특징을 수신할 수 있다. 센트로이드 어그리게이션 모듈(320)은 추출된 특징에 기초하여, 3차원 장면의 복수의 객체들에 대응하는 중심점을 예측할 수 있다. 센트로이드 어그리게이션 모듈(320)은 예측된 중심점에 기초하여 복수의 객체들에 대응하는 포인트들을 그룹화할 수 있다.
공간 클릭 전파 모듈(330)은 포인트 인코더(310)로부터 추출된 특징을 수신할 수 있다. 공간 클릭 전파 모듈(330)은 센트로이드 어그리게이션 모듈(320)의 출력을 수신할 수 있다. 공간 클릭 전파 모듈(330)은 추출된 특징(또는 센트로이드 어그리게이션 모듈(320)의 출력) 및 인코딩된 사용자 입력에 기초하여, 사용자 입력에 대응하는 객체와 동일한 클래스의 객체의 정보를 계산할 수 있다.
일 실시예에 있어서, 공간 클릭 전파 모듈(330)은 인코딩된 사용자 입력에 대응하는 정보와 추출된 특징 간의 유사도를 계산할 수 있다. 공간 클릭 전파 모듈(330)은 유사도에 대응하는 정보를 검출 헤드 모듈(340)에 전달할 수 있다.
일 실시예에 따르면, 공간 클릭 전파 모듈(330)에 의해 사용자 입력으로 획득되지 않은 포지티브 포인트 및/또는 네거티브 포인트에 대한 정보가 동일한 클래스의 객체로 전파됨으로써, 3차원 바운딩 박스가 효율적으로 추론될 수 있다.
검출 헤드 모듈(340)은 센트로이드 어그리게이션 모듈(320)의 출력 및 공간 클릭 전파 모듈(330)의 출력을 수신할 수 있다. 일 실시예에 있어서, 검출 헤드 모듈(340)은 센트로이드 어그리게이션 모듈(320)의 출력에 공간 클릭 전파 모듈(330)의 출력이 연결된 데이터를 획득(예컨대, 수신)할 수 있다. 일 실시예에 있어서, 검출 헤드 모듈(340)은 획득된 데이터에 기초하여 사용자 입력(예컨대, 제1 사용자 입력 또는 제2 사용자 입력)에 대응하는 객체와 동일한 클래스의 객체를 검출할 수 있다. 검출 헤드 모듈(340)은 센트로이드 어그리게이션 모듈(320)의 출력 및 공간 클릭 전파 모듈(330)의 출력에 기초하여 복수의 객체들에 대응하는 3차원 바운딩 박스를 출력할 수 있다.
도 4는 일 실시예에 따른 공간 클릭 전파 모듈의 동작을 설명하기 위한 개념도이다. 도 4와 함께, 도 3을 참조하면, 공간 클릭 전파 모듈(330)은 인코딩된 사용자 입력(Ek) 및 추출된 특징(F)을 수신할 수 있다. 공간 클릭 전파 모듈(330)은 인코딩된 사용자 입력(Ek) 및 추출된 특징(F)을 내적함으로써, 클릭 프로토타입(click prototype) 벡터(Pk)를 생성할 수 있다. 공간 클릭 전파 모듈(330)은 클릭 프로토타입 벡터(Pk)에 글로벌 합 풀링(global sum pooling)을 수행할 수 있다. 공간 클릭 전파 모듈(330)은 추출된 특징(F)과 풀링된 클릭 프로토타입 벡터(Pk) 간의 코사인 유사도(Mk)를 계산할 수 있다. 공간 클릭 전파 모듈(330)은 코사인 유사도(Mk)에 기초하여 클래스 별 연관성 맵을 생성할 수 있다. 클래스별 연관성 맵은 센트로이드 어그리게이션 모듈(320)의 출력에 연결될 수 있다.
도 5는 일 실시예에 따른 인공지능 모델의 학습 과정을 보여주는 블록도이다. 도 5를 참조하면, 포인트 인코더(310), 센트로이드 어그리게이션 모듈(320), 공간 클릭 전파 모듈(330), 및 검출 헤드 모듈(340)의 구성, 동작, 기능은, 도 3의 포인트 인코더(310), 센트로이드 어그리게이션 모듈(320), 공간 클릭 전파 모듈(330), 및 검출 헤드 모듈(340)의 구성, 동작, 기능에 대응할 수 있다. 따라서, 도 3 및 4에서 설명한 내용과 중복되는 내용은 생략한다.
인공지능 모델(150)의 학습 과정에서는, 사용자 입력이 제공되지 않는다. 따라서, 인공지능 모델(150)에 포지티브 포인트(520) 및/또는 네거티브 포인트(530)에 대응하는 데이터가 입력되어야 한다. 일 실시예에 있어서, 포지티브 포인트(520)는 포인트 클라우드 데이터셋의 그라운드 트루스 값에서 랜덤하게 선택될 수 있다. 일 실시예에 있어서, 네거티브 포인트(530)는 네거티브 클릭 시뮬레이션 모듈(510)의 출력에 의해 생성될 수 있다. 일 실시예에 있어서, 인코딩 모듈(140)은 포인트 클라우드에 기초하여 포지티브 포인트(520) 및/또는 네거티브 포인트(530)를 인코딩할 수 있다.
인공지능 모델(150)은, 포인트 클라우드 데이터셋, 포인트 클라우드 데이터셋 중 객체에 대응하는 적어도 하나의 포지티브 포인트(520), 및 포인트 클라우드 데이터셋 중 배경(또는 일치하지 않는 클래스 정보를 갖는 객체)에 대응하는 적어도 하나의 네거티브 포인트(530)에 기초하여, 객체에 대응하는 3차원 바운딩 박스를 출력하도록 학습될 수 있다.
일 실시예에 있어서, 인공지능 모델(150)은 네거티브 클릭 시뮬레이션 모듈(510)을 포함할 수 있다. 네거티브 클릭 시뮬레이션 모듈(510)은, 인공지능 모델(150)의 학습 과정에서, 그라운드 트루스 값 및 추출된 특징에 기초하여 상기 복수의 객체들에 대응하지 않는 배경부 포인트들 중 전경부 점수(foreground score)가 임계 값을 초과하는 포인트들을 네거티브 포인트로 할당할 수 있다. 일 실시예에 있어서, 임계 값은 사용자 또는 제조사의 설정에 의해 미리 정의될 수 있다.
도 6은 일 실시예에 따른 네거티브 클릭 시뮬레이션 모듈의 동작을 설명하기 위한 개념도이다. 도 6과 함께, 도 5를 참조하면, 네거티브 클릭 시뮬레이션 모듈(510)은 추출된 특징에 기초하여 전경부 점수를 계산할 수 있다. 예를 들어, 네거티브 클릭 시뮬레이션 모듈(510)은 추출된 특징에 기초하여 전경부 점수를 계산할 수 있다. 네거티브 클릭 시뮬레이션 모듈(510)은 그라운드 트루스 값을 참조하여 배경부 포인트들 중 전경부 점수가 임계 값을 초과하는 포인트를 결정할 수 있다. 네거티브 클릭 시뮬레이션 모듈(510)은 결정된 포인트들을 네거티브 포인트(또는 네거티브 클릭으로 지칭될 수 있음)로 할당할 수 있다. 할당된 네거티브 포인트는 인코딩 모듈(140)에 의해 인코딩될 수 있다. 인코딩된 네거티브 포인트는 인공지능 모델(150)의 학습의 다음 이터레이션에서 활용될 수 있다.
도 7a 및 7b는 일 실시예에 따른 2차원 변환 모듈의 동작을 예시적으로 보여주는 도면이다. 도 7a 및 7b와 함께, 도 1a를 참조하면, 2차원 변환 모듈(120)은 3차원 장면으로 구성되는 포인트 클라우드(710)를 2차원 좌표계로 변환한 2차원 포인트 그룹(720)을 생성할 수 있다.
도 7a를 참조하면, 포인트 클라우드(710)는 x, y, z 좌표계의 포인트들로 구성될 수 있다. 포인트 클라우드(710)을 이용한 3차원 좌표계에서 사용자 입력(12, 13)을 수신하는 경우를 가정한다. 사용자가 사용자 입력(12)을 양의 x 축 방향으로 수정하려 했으나, 의도치 않은 축 방향(예컨대, y 축)으로 포인트가 이동되어 사용자 입력(13)이 수신될 수 있다.
도 7b를 참조하면, 2차원 포인트 그룹(720)이 출력 인터페이스(예컨대, 디스플레이)를 통해 표시되는 경우를 가정한다. 즉, 2차원 좌표계에서 사용자 입력(14, 15)을 수신하는 경우를 가정한다. 사용자가 사용자 입력(14)을 양의 x 축 방향으로 수정하려 했으며, 깊이 값을 고려하지 않으므로, 의도한 축 방향으로 포인트가 이동되어 사용자 입력(15)이 의도한 대로 수신될 수 있다.
일 실시예에 따르면, 2차원 변환 모듈(120)로 포인트 클라우드가 2차원 좌표계로 변환되어 사용자에게 제공됨에 따라, 신속하고 용이하며 정확하게 사용자 입력이 수신될 수 있다.
도 8a 및 8b는 일 실시예에 따른 인코딩 모듈의 동작을 예시적으로 보여주는 도면이다. 도 8a 및 8b와 함께, 도 1a, 1b, 3, 및 5를 참조하면, 인코딩 모듈(140)은 사용자 입력(즉, 포지티브 포인트 및/또는 네거티브 포인트)을 인코딩할 수 있다. 인코딩된 사용자 입력은 거리 기반 히트맵을 나타낼 수 있다.
인코딩 모듈(140)은 주어진 N 개의 포인트들로 구성되는 포인트 클라우드에 기초하여, 사용자 입력을 인코딩할 수 있다. 예를 들어, 포인트 클라우드는 로 표현될 수 있다. 예를 들어, 사용자 입력은 전술한 바와 같이 로 표현될 수 있다. 인코딩된 사용자 입력은 Ek로 표현될 수 있으며, 사용자 입력을 인코딩하는 방법은 수학식 1을 따를 수 있다.
수학식 1을 참조하면, d는 pk와 (xi, yi) 사이의 2차원 유클리드 거리로 정의되며, 예컨대, 로 계산될 수 있다. 는 거리 임계 값을 제어하는 하이퍼파라미터일 수 있다.
일 실시예에 있어서, 인코딩된 사용자 입력은 클래스 별로 인코딩될 수 있다. 클래스 개수는 C로 정의되며, 예컨대, 일 수 있다. 클래스별로 인코딩되는 사용자 입력은 Uc로 표현될 수 있으며, 수학식 2를 따를 수 있다.
C 개의 인코딩된 사용자 입력이 생성되면, 포인트 클라우드에 클래스별로 인코딩된 사용자 입력(즉, )가 연결될 수 있다.
도 8a를 참조하면, 사용자 입력은 차량 클래스의 객체(16, 17)에 대응하는 적어도 하나의 포인트일 수 있다. 도 8b를 참조하면, 인코딩 모듈(140)은 차량 클래스의 객체(16, 17)에 대응하는 거리 기반 히트맵(18,19)을 생성할 수 있다. 거리 기반 히트맵(18,19)에 대응하는 값들은 포인트 클라우드에 연결되어 인공지능 모델(150)에 입력될 수 있다.
도 9a 내지 9d는 일 실시예에 따른 공간 클릭 전파 모듈의 동작을 예시적으로 보여주는 도면이다. 도 9a 내지 9d와 함께, 도 3 및 5를 참조하면, 사용자 입력에 대응하는 객체에 대한 정보는 포인트 클라우드 내의 동일한 클래스의 객체를 검출하는데 활용될 수 있다.
도 9a를 참조하면, 인코딩된 사용자 입력(또는 인코딩된 포지티브 포인트 또는 인코딩된 네거티브 포인트)에 대응하는 값은 포인트 인코더(310)에 입력될 수 있다. 예를 들어, 인코딩된 사용자 입력은 도 9a에서 도시되는 화살표로 표시되는 거리 기반 히트맵에 대응할 수 있다.
도 9b를 참조하면, 인코딩된 사용자 입력에 대응하는 정보가 포인트 인코더(310)의 다운샘플링 레이어를 통해 샘플링될 수 있다. 도 9c를 참조하면, 공간 클릭 전파 모듈(330)은 다운샘플링된 사용자 입력을 수신할 수 있다. 공간 클릭 전파 모듈(330)은 다운샘플링된 사용자 입력에 대응하는 포인트와 다운샘플링된 포인트 클라우드의 포인트들 간의 유사도를 계산할 수 있다. 공간 클릭 전파 모듈(330)은 유사도에 기초하여 연관성 맵을 생성할 수 있다.
도 9d를 참조하면, 사용자 입력에 대응하는 포인트 뿐만 아니라, 공간 클릭 전파 모듈(330)에 의해 결정된 포인트들이 해당 클래스의 3차원 바운딩 박스로 추론될 수 있다.
도 10은 일 실시예에 따른 전자 장치의 동작 방법을 보여주는 흐름도이다. 도 1 내지 9d에서 설명한 내용과 중복되는 내용은 생략한다. 설명의 편의를 위해, 1a 및 2를 참조하여, 도 10을 설명한다.
도 10을 참조하면, 단계 S1010 내지 S1060은 전자 장치(100, 200) 또는 전자 장치(200)의 프로세서(230)에 의해 수행될 수 있다. 본 개시에 따른 전자 장치(100, 200)의 동작 방법은 도 10에 도시된 바에 한정되지 않으며, 도 10에 도시된 단계 중 어느 하나를 생략할 수도 있고, 도 10에 도시되지 않은 단계를 더 포함할 수도 있다.
일 실시예에 있어서, 단계 S1010 내지 S1060은 3차원 바운딩 박스를 추론하는 인공지능 모델(150)의 초기 이터레이션에 대응할 수 있다.
단계 S1010에서, 전자 장치(100, 200)는 복수의 객체들을 포함하는 3차원 장면에 대응하는 포인트 클라우드를 획득할 수 있다. 예를 들어, 포인트 클라우드는 외부 장치 또는 서버로부터 수신될 수 있다. 예를 들어, 포인트 클라우드는 전자 장치(100, 200)의 센서에 의해 획득될 수 있다.
단계 S1020에서, 전자 장치(100, 200)는 포인트 클라우드를 2차원 좌표계로 변환할 수 있다. 예를 들어, 포인트 클라우드는 (x, y, z) 좌표계로 표현될 수 있고, 변환된 포인트 클라우드는 (x, y) 좌표계로 표현될 수 있다. 일 실시예에 있어서, 전자 장치(100, 200) 포인트 클라우드의 포인트들을 투영하여 2차원 좌표계로 변환할 수 있다.
단계 S1030에서, 전자 장치(100, 200)는 변환된 포인트 클라우드를 디스플레이(130)에 표시할 수 있다. 예를 들어, 전자 장치(100, 200)는 변환된 포인트 클라우드에 대응하는 이미지를 디스플레이(130)에 출력할 수 있다.
단계 S1040에서, 전자 장치(100, 200)는 변환된 포인트 클라우드 중 복수의 객체들에 대응하는 적어도 하나의 포인트를 포함하는 제1 사용자 입력을 획득할 수 있다. 예를 들어, 제1 사용자 입력은 적어도 하나의 포지티브 포인트일 수 있다. 그러나 본 개시는 이에 한정되지 않으며, 제1 사용자 입력은 적어도 하나의 네거티브 포인트를 포함할 수도 있다.
단계 S1050에서, 전자 장치(100, 200)는 포인트 클라우드에 기초하여 제1 사용자 입력을 인코딩할 수 있다. 일 실시예에 있어서, 인코딩된 사용자 입력은 포인트 클라우드에 연결되어 인공지능 모델(150)에 입력될 수 있다.
단계 S1060에서, 전자 장치(100, 200)는 포인트 클라우드 및 인코딩된 제1 사용자 입력을 입력으로 하는 인공지능 모델(150)을 이용하여, 포인트 클라우드에서 복수의 객체들에 대응하는 3차원 바운딩 박스를 추론할 수 있다.
도 11은 일 실시예에 따른 전자 장치의 동작 방법을 보여주는 흐름도이다. 도 1 내지 10에서 설명한 내용과 중복되는 내용은 생략한다. 설명의 편의를 위해, 1b 및 2를 참조하여, 도 11을 설명한다.
도 11을 참조하면, 도 10의 단계 S1060 이후, 단계 S1110 내지 S1140은 전자 장치(100, 200) 또는 전자 장치(200)의 프로세서(230)에 의해 수행될 수 있다. 본 개시에 따른 전자 장치(100, 200)의 동작 방법은 도 11에 도시된 바에 한정되지 않으며, 도 11에 도시된 단계 중 어느 하나를 생략할 수도 있고, 도 11에 도시되지 않은 단계를 더 포함할 수도 있다.
일 실시예에 있어서, 단계 S1110 내지 S1140은 3차원 바운딩 박스를 추론하는 인공지능 모델(150)의 초기 이터레이션 이후의 이터레이션 중 하나에 대응할 수 있다.
단계 S1110에서, 전자 장치(100, 200)는 변환된 포인트 클라우드 및 추론된 3차원 바운딩 박스를 디스플레이(130)에 표시할 수 있다. 예를 들어, 전자 장치(100, 200)는 변환된 포인트 클라우드와 함께, 추론된 3차원 바운딩 박스가 2차원 변환된 데이터를 이용하여 2차원 이미지를 생성할 수 있다. 전자 장치(100, 200)는 2차원 이미지를 디스플레이(130)에 표시할 수 있다.
단계 S1120에서, 전자 장치(100, 200)는 상기 추론된 3차원 바운딩 박스에 대응하되 복수의 객체들에 대응하지 않는 포인트(즉, 네거티브 포인트), 및 추론된 3차원 바운딩 박스에 대응하지 않되 상기 복수의 객체들에 대응하는 포인트(즉, 포지티브 포인트) 중 적어도 하나를 포함하는 제2 사용자 입력을 획득할 수 있다. 네거티브 포인트와 포지티브 포인트의 개수는 적어도 하나일 수 있다.
단계 S1140에서, 전자 장치(100, 200)는 포인트 클라우드에 기초하여 제2 사용자 입력을 인코딩할 수 있다. 일 실시예에 있어서, 전자 장치(100, 200)는 이전 이터레이션의 제1 사용자 입력과 제2 사용자 입력을 함께 인코딩할 수 있다. 일 실시예에 있어서, 전자 장치(100, 200)는 인코딩된 제1 사용자 입력 및 제2 사용자 입력을 포인트 클라우드에 연결할 수 있다.
단계 S1140에서, 전자 장치(100, 200)는 포인트 클라우드, 인코딩된 제1 사용자 입력, 및 인코딩된 제2 사용자 입력을 입력으로 하는, 인공지능 모델을 이용하여, 포인트 클라우드에서 복수의 객체들에 대응하는 3차원 바운딩 박스를 추론할 수 있다.
일 실시예에 있어서, 미리 정의된 이터레이션 횟수가 도달하거나, 또는 이터레이션 종료에 대응하는 사용자 입력이 수신되지 않는 한, 전자 장치(100, 200)는 단계 S1110 내지 S1140에 대응하는 동작을 반복할 수 있다.
일 실시예에 있어서, 본 개시의 실시예들에 따른 방법은 컴퓨터 프로그램 제품에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 기록 매체의 형태로 배포될 수 있다. 또는, 컴퓨터 프로그램 제품은 애플리케이션 스토어를 통해 또는 복수의 장치들 간에 직접 배포될 수 있다.
상술된 실시예들에서, 제1, 제2, 제3 등의 용어들을 사용하여 본 개시의 기술적 사상에 따른 구성 요소들이 설명되었다. 그러나 제1, 제2, 제3 등과 같은 용어들은 구성 요소들을 서로 구별하기 위해 사용되며, 본 개시의 기술적 사상을 한정하는 것은 아니다. 제1, 제2, 제3 등과 같은 용어들은 순서 또는 임의의 형태의 수치적 의미를 내포하지 않는다.
상술된 실시예들은, 본 개시를 실시하기 위한 구체적인 실시예들이다. 본 개시은 상술된 실시예들뿐만 아니라, 상술된 실시예들을 이용하여 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시예들을 포함하는 것으로 이해되어야 한다. 따라서, 본 개시의 범위는 상술된 실시예들에 한정되어서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.

Claims (10)

  1. 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치에 있어서,
    디스플레이;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하되, 상기 적어도 하나의 프로세서는,
    복수의 객체들을 포함하는 3차원 장면에 대응하는 포인트 클라우드(point cloud)를 획득하고,
    상기 포인트 클라우드를 2차원 좌표계로 변환하고,
    상기 변환된 포인트 클라우드를 상기 디스플레이에 표시하고,
    상기 변환된 포인트 클라우드 중 상기 복수의 객체들에 대응하는 적어도 하나의 포인트를 포함하는 제1 사용자 입력을 획득하고,
    상기 포인트 클라우드에 기초하여 상기 제1 사용자 입력을 인코딩하고,
    상기 포인트 클라우드 및 상기 인코딩된 제1 사용자 입력을 입력으로 하는, 인공지능 모델을 이용하여, 상기 포인트 클라우드에서 상기 복수의 객체들에 대응하는 3차원 바운딩 박스(bounding box)를 추론하는, 상기 하나 이상의 인스트럭션을 실행하는, 전자 장치.
  2. 제1항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 변환된 포인트 클라우드 및 상기 추론된 3차원 바운딩 박스를 상기 디스플레이에 표시하고,
    상기 추론된 3차원 바운딩 박스에 대응하되 상기 복수의 객체들에 대응하지 않는 포인트, 및 상기 추론된 3차원 바운딩 박스에 대응하지 않되 상기 복수의 객체들에 대응하는 포인트 중 적어도 하나를 포함하는 제2 사용자 입력을 획득하고,
    상기 포인트 클라우드에 기초하여 제2 사용자 입력을 인코딩하고,
    상기 포인트 클라우드, 및 상기 인코딩된 제1 사용자 입력 및 상기 인코딩된 제2 사용자 입력을 입력으로 하는, 인공지능 모델을 이용하여, 상기 포인트 클라우드에서 상기 복수의 객체들에 대응하는 3차원 바운딩 박스를 추론하는, 상기 하나 이상의 인스트럭션을 더 실행하는, 전자 장치.
  3. 제1항에 있어서, 상기 인공지능 모델은,
    상기 포인트 클라우드 및 상기 인코딩된 제1 사용자 입력에 기초하여 특징을 추출하는 포인트 인코더(point encoder);
    상기 추출된 특징에 기초하여 상기 복수의 객체들에 대응하는 중심점을 예측하고, 상기 예측된 중심점에 기초하여 상기 복수의 객체들에 대응하는 포인트들을 그룹화하는 센트로이드 어그리게이션(centroid aggregation) 모듈;
    상기 추출된 특징 및 상기 인코딩된 제1 사용자 입력에 기초하여 상기 제1 사용자 입력에 대응하는 객체와 동일한 클래스의 객체의 정보를 계산하는 공간 클릭 전파(spatial click propagation) 모듈; 및
    상기 센트로이드 어그리게이션 모듈의 출력 및 상기 공간 클릭 전파 모듈의 출력에 기초하여 상기 복수의 객체들에 대응하는 상기 3차원 바운딩 박스를 출력하는 검출 헤드(detection head) 모듈을 포함하는, 전자 장치.
  4. 제3항에 있어서,
    상기 포인트 인코더는 적어도 하나의 완전 연결 레이어 및 적어도 하나의 다운샘플링(downsampling) 레이어를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 다운샘플링 레이어의 출력에 상기 인코딩된 제1 사용자 입력을 연결(concatenating)하는, 상기 하나 이상의 인스트럭션을 더 실행하는, 전자 장치.
  5. 제3항에 있어서,
    상기 공간 클릭 전파 모듈은,
    상기 인코딩된 제1 사용자 입력에 대응하는 정보와 상기 추출된 특징 간의 유사도를 계산하고,
    상기 검출 헤드 모듈은,
    상기 센트로이드 어그리게이션 모듈의 출력에 상기 유사도가 연결된 데이터를 획득하고,
    상기 획득된 값에 기초하여 상기 제1 사용자 입력에 대응하는 객체와 동일한 클래스의 객체를 검출하는, 전자 장치.
  6. 제3항에 있어서,
    상기 인공지능 모델은, 포인트 클라우드 데이터셋, 상기 포인트 클라우드 데이터셋 중 객체에 대응하는 적어도 하나의 포지티브(positive) 포인트, 및 상기 포인트 클라우드 데이터셋 중 배경에 대응하는 적어도 하나의 네거티브(negative) 포인트에 기초하여, 객체에 대응하는 3차원 바운딩 박스를 출력하도록 학습된, 전자 장치.
  7. 제6항에 있어서,
    상기 인공지능 모델은:
    상기 인공지능 모델의 학습 과정에서, 그라운드 트루스 값 및 상기 추출된 특징에 기초하여 상기 복수의 객체들에 대응하지 않는 배경부 포인트들 중 전경부 점수가 임계 값을 초과하는 포인트들을 상기 적어도 하나의 네거티브 포인트로 할당하는, 네거티브 클릭 시뮬레이션 모듈을 더 포함하는, 전자 장치.
  8. 제1항에 있어서,
    상기 제1 사용자 입력은 객체 위치 정보 및 객체 클래스 정보를 포함하는, 전자 장치.
  9. 제8항에 있어서,
    상기 제1 사용자 입력을 인코딩하는, 상기 하나 이상의 인스트럭션은,
    상기 포인트 클라우드의 (x, y) 위치 정보와 상기 제1 사용자 입력의 상기 객체 위치 정보 간의 거리에 기초하여 상기 제1 사용자 입력을 인코딩하는, 상기 하나 이상의 인스트럭션을 포함하는, 전자 장치.
  10. 제1항에 있어서,
    상기 인공지능 모델은, 상기 포인트 클라우드에 상기 인코딩된 제1 사용자 입력을 연결한 값을 입력으로 하는, 전자 장치.
KR1020230057376A 2023-05-02 2023-05-02 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법 Active KR102591078B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230057376A KR102591078B1 (ko) 2023-05-02 2023-05-02 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230057376A KR102591078B1 (ko) 2023-05-02 2023-05-02 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR102591078B1 true KR102591078B1 (ko) 2023-10-19

Family

ID=88507515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230057376A Active KR102591078B1 (ko) 2023-05-02 2023-05-02 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법

Country Status (1)

Country Link
KR (1) KR102591078B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200096726A (ko) * 2019-01-30 2020-08-13 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 자율 주행 차량을 위한 맵 파티셔닝 시스템
KR20210057943A (ko) * 2019-11-13 2021-05-24 주식회사 라이드플럭스 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램
KR20220034210A (ko) * 2019-07-15 2022-03-17 프로메이톤 홀딩 비.브이. 딥 러닝 기반 3d 포인트 클라우드의 객체 감지 및 인스턴스 분할

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200096726A (ko) * 2019-01-30 2020-08-13 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 자율 주행 차량을 위한 맵 파티셔닝 시스템
KR20220034210A (ko) * 2019-07-15 2022-03-17 프로메이톤 홀딩 비.브이. 딥 러닝 기반 3d 포인트 클라우드의 객체 감지 및 인스턴스 분할
KR20210057943A (ko) * 2019-11-13 2021-05-24 주식회사 라이드플럭스 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램

Similar Documents

Publication Publication Date Title
US11928866B2 (en) Neural networks for object detection and characterization
US12154188B2 (en) Training neural networks for vehicle re-identification
US20210142491A1 (en) Scene embedding for visual navigation
CN110363058B (zh) 使用单触发卷积神经网络的用于避障的三维对象定位
US11062461B2 (en) Pose determination from contact points
US11328182B2 (en) Three-dimensional map inconsistency detection using neural network
CN115273002A (zh) 一种图像处理方法、装置、存储介质及计算机程序产品
CN114556375A (zh) 跨批次归一化
CN112085041A (zh) 神经网络的训练方法、训练装置和电子设备
US20220292765A1 (en) Fitting 3d primitives to a high-resolution point cloud
US20250178615A1 (en) Robot navigation using a high-level policy model and a trained low-level policy model
EP4172861A1 (en) Semi-supervised keypoint based models
KR102636586B1 (ko) 자율 주행 차량의 주행 테스트 제어 장치 및 방법
KR20210022935A (ko) Slam을 구현하는 방법 및 전자 장치
US11950166B2 (en) Predicting occupancy probabilities of surrounding agents
KR102591078B1 (ko) 인공지능 모델을 이용하여 3차원 객체 탐지를 수행하는 전자 장치 및 이의 동작 방법
US20240257374A1 (en) Learning reliable keypoints in situ with introspective self-supervision
US12280796B1 (en) Vehicle control using auto-regressive control distibution generation based on world state embeddings
KR102829082B1 (ko) 구조식 이미지를 인식하는 인공 지능 장치 및 그 방법
US20240302530A1 (en) Lidar memory based segmentation
KR20230142164A (ko) 구조식 이미지를 인식하는 인공 지능 장치 및 그 방법
CN119399626A (zh) 一种基于多特征协同作用的跨模态建筑物图像提取方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20230502

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20230503

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20230502

Patent event code: PA03021R01I

Comment text: Patent Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230919

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20231013

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20231013

End annual number: 3

Start annual number: 1

PG1601 Publication of registration