KR102531286B1 - 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치 - Google Patents

깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR102531286B1
KR102531286B1 KR1020220038596A KR20220038596A KR102531286B1 KR 102531286 B1 KR102531286 B1 KR 102531286B1 KR 1020220038596 A KR1020220038596 A KR 1020220038596A KR 20220038596 A KR20220038596 A KR 20220038596A KR 102531286 B1 KR102531286 B1 KR 102531286B1
Authority
KR
South Korea
Prior art keywords
data
image data
learning
evaluation
database
Prior art date
Application number
KR1020220038596A
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 KR1020220038596A priority Critical patent/KR102531286B1/ko
Priority to JP2023052293A priority patent/JP7500811B2/ja
Priority to DE102023107856.9A priority patent/DE102023107856A1/de
Priority to US18/191,027 priority patent/US20230316146A1/en
Application granted granted Critical
Publication of KR102531286B1 publication Critical patent/KR102531286B1/ko

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • 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/20081Training; Learning

Landscapes

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

Abstract

본 개시는 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치에 관한 것이다. 본 개시의 일 실시예는, 하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하는 단계; 상기 로깅된 데이터를 데이터베이스에 전송하는 단계; 상기 데이터베이스의 영상 데이터에 기초하여 학습용 데이터를 구성하는 단계; 및 상기 학습용 데이터에 기초하여 모델을 학습시키는 단계;를 포함하는 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법을 제공할 수 있다.

Description

깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치{METHOD AND DEVICE OF PROCESSING DATA FOR DEPTH INFORMATION ESTIMATING MODEL LEARNING}
본 발명은 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치에 관한 것이다.
로봇 비전(robot vision), 휴먼 컴퓨터 인터페이스(human computer interface), 지능형 시각 감시(intelligent visual surveillance), 3D 이미지 획득(3D image acquisition) 등과 같이 다양한 분야에서 이용되는 3D 깊이 정보의 추정 방법에 대해 활발한 연구가 이루어지고 있다. 특히 자율주행(autonomous driving) 시스템에서, 수집된 영상 데이터 상에서 검출된 객체와 차량과의 거리를 비롯하여 다양한 주행 환경을 인지하고 판단함으로써 차량을 제어하기 위해 정확성이 높은 깊이 정보 추정에 대한 연구가 요구되고 있다.
깊이 정보 추정을 포함하는 인공지능 모델의 기능을 향상시키기 위해서는, 인공지능 모델의 인공 신경망(artificial neural network) 자체의 성능도 중요하지만, 인공지능 모델을 학습시키고 평가하기 위한 데이터도 중요하다. 학습용 데이터 또는 평가용 데이터의 양이 증가함에 따라 인공지능 모델의 성능 또한 증가하는 경향을 보이나, 항상 비례하는 것은 아니며, 부적합한 데이터를 학습하는 경우가 발생할 수 있으며, 오히려 과적합(overfitting)되는 문제가 발생할 수도 있다. 따라서, 학습용 데이터 또는 평가용 데이터를 인공지능 모델의 학습에 적합하게 가공하여 품질을 높이는 것 또한 중요하다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 개시의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 개시의 목적은 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치를 제공하는 데 있다. 본 개시가 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 개시의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시가 해결하고자 하는 과제 및 장점들은 특허 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 개시의 제 1 측면은, 하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하는 단계; 상기 로깅된 데이터를 데이터베이스에 전송하는 단계; 상기 데이터베이스의 영상 데이터에 기초하여 학습용 데이터를 구성하는 단계; 및 상기 학습용 데이터에 기초하여 모델을 학습시키는 단계;를 포함하는 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법을 제공할 수 있다.
본 개시의 제 2 측면은, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하고, 상기 로깅된 데이터를 데이터베이스에 전송하며, 상기 데이터베이스의 영상 데이터에 기초하여 학습용 데이터를 구성하고, 상기 학습용 데이터에 기초하여 모델을 학습시키는, 깊이 정보 추정 모델 학습을 위한 데이터 처리 장치를 제공할 수 있다.
본 개시의 제 3 측면은, 제 1 측면의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 장치 및 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 깊이 정보 추정을 포함하는 기능을 수행하는 인공지능 모델을 효과적으로 학습시킬 수 있도록 학습용 데이터 또는 평가용 데이터를 구성할 수 있다.
또한, 카메라를 통해 수집되는 영상 데이터, 학습된 인공지능 모델에 관한 데이터, 인공지능 모델의 평가 결과 데이터 등을 효과적으로 조회 및 관리하고, 이를 통해 향후 지속적인 인공지능 모델 학습 과정을 개선할 수 있다.
도 1 내지 도 3은 일 실시예에 따른 자율 주행 방식을 설명하기 위한 도면들이다.
도 4는 일 실시예에 따른 영상 데이터에 포함되는 복수의 객체들 예시를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 데이터 처리 장치의 작업 흐름의 전반적인 측면을 간략하게 도시하는 도면이다.
도 6a 내지 6c는 일 실시예에 따른 하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하는 과정을 설명하기 위한 도면이다.
도 7a 및 7b는 일 실시예에 따른 렉티피케이션 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 렉티피케이션 행렬 적합성 결정 과정을 설명하기 위한 순서도이다.
도 9은 일 실시예에 따른 데이터에 대한 군집화 과정을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 인공지능 모델의 학습 또는 평가 과정을 개략적으로 설명하기 위한 도면이다.
도 11는 일 실시예에 따른 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법의 흐름도이다.
도 12은 일 실시예에 따른 깊이 정보 추정 모델 학습을 위한 데이터 처리 장치의 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘 ", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서, '차량'은 자동차, 버스, 오토바이, 킥보드 또는 트럭과 같이 기관을 가지고 사람이나 물건을 이동시키기 위해 이용되는 모든 종류의 운송 수단을 의미할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치는, 차량에 장착되어 자율 주행 차량(10)을 구현할 수 있다. 자율 주행 차량(10)에 장착되는 자율 주행 장치는, 주변의 상황 정보를 수집하기 위한 다양한 센서(카메라를 포함함)들을 포함할 수 있다. 일례로, 자율 주행 장치는 자율 주행 차량(10)의 전면에 장착된 이미지 센서 및/또는 이벤트 센서를 통해, 전방에서 운행 중인 선행 차량(20)의 움직임을 감지할 수 있다. 자율 주행 장치는 자율 주행 차량(10)의 전면은 물론, 옆 차로에서 운행중인 다른 주행 차량(30)과, 자율 주행 차량(10) 주변의 보행자 등을 감지하기 위한 센서들을 더 포함할 수 있다.
자율 주행 차량 주변의 상황 정보를 수집하기 위한 센서들 중 적어도 하나는, 도 1에 도시한 바와 같이 소정의 화각(FoV)을 가질 수 있다. 일례로, 자율 주행 차량(10)의 전면에 장착된 센서가 도 1에 도시한 바와 같은 화각(FoV)을 갖는 경우에, 센서의 중앙에서 검출되는 정보가 상대적으로 높은 중요도를 가질 수 있다. 이는, 센서의 중앙에서 검출되는 정보에, 선행 차량(20)의 움직임에 대응하는 정보가 대부분 포함되어 있기 때문일 수 있다.
자율 주행 장치는, 자율 주행 차량(10)의 센서들이 수집한 정보를 실시간으로 처리하여 자율 주행 차량(10)의 움직임을 제어하는 한편, 센서들이 수집한 정보 중에 적어도 일부는 메모리 장치에 저장할 수 있다.
도 2를 참조하면, 자율 주행 장치(40)는 센서부(41), 프로세서(46), 메모리 시스템(47), 및 차체 제어 모듈(48) 등을 포함할 수 있다. 센서부(41)는 복수의 센서(카메라를 포함함)(42-45)를 포함하며, 복수의 센서들(42-45)은 이미지 센서, 이벤트 센서, 조도 센서, GPS 장치, 가속도 센서 등을 포함할 수 있다.
센서들(42-45)이 수집한 데이터는 프로세서(46)로 전달될 수 있다. 프로세서(46)는 센서들(42-45)이 수집한 데이터를 메모리 시스템(47)에 저장하고, 센서들(42-45)이 수집한 데이터에 기초하여 차체 제어 모듈(48)을 제어하여 차량의 움직임을 결정할 수 있다. 메모리 시스템(47)은 둘 이상의 메모리 장치들과, 메모리 장치들을 제어하기 위한 시스템 컨트롤러를 포함할 수 있다. 메모리 장치들 각각은 하나의 반도체 칩으로 제공될 수 있다.
메모리 시스템(47)의 시스템 컨트롤러 외에, 메모리 시스템(47)에 포함되는 메모리 장치들 각각은 메모리 컨트롤러를 포함할 수 있으며, 메모리 컨트롤러는 신경망과 같은 인공지능(AI) 연산 회로를 포함할 수 있다. 메모리 컨트롤러는 센서들(42-45) 또는 프로세서(46)로부터 수신한 데이터에 소정의 가중치를 부여하여 연산 데이터를 생성하고, 연산 데이터를 메모리 칩에 저장할 수 있다.
도 3은 자율 주행 장치가 탑재된 자율 주행 차량의 센서(카메라를 포함함)가 획득한 영상 데이터의 예시를 나타낸 도면이다. 도 3을 참조하면, 영상 데이터(50)는 자율 주행 차량의 전면에 장착된 센서가 획득한 데이터일 수 있다. 따라서 영상 데이터(50)에는 자율 주행 차량의 전면부(51), 자율 주행 차량과 같은 차로의 선행 차량(52), 자율 주행 차량 주변의 주행 차량(53) 및 배경(54) 등이 포함될 수 있다.
도 3에 도시한 실시예에 따른 영상 데이터(50)에서, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터는 자율 주행 차량의 운행에 영향을 미칠 가능성이 거의 없는 데이터일 수 있다. 다시 말해, 자율 주행 차량의 전면부(51)와 배경(54)은 상대적으로 낮은 중요도를 갖는 데이터로 간주될 수 있다.
반면, 선행 차량(52)과의 거리, 및 주행 차량(53)의 차로 변경 움직임 등은 자율 주행 차량의 안전한 운행에 있어서 매우 중요한 요소일 수 있다. 따라서, 영상 데이터(50)에서 선행 차량(52) 및 주행 차량(53) 등이 포함되는 영역의 데이터는 자율 주행 차량의 운행에 있어서 상대적으로 높은 중요도를 가질 수 있다.
자율 주행 장치의 메모리 장치는, 센서로부터 수신한 영상 데이터(50)의 영역별로 가중치를 다르게 부여하여 저장할 수 있다. 일례로, 선행 차량(52)과 주행 차량(53) 등이 포함되는 영역의 데이터에는 높은 가중치를 부여하고, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터에는 낮은 가중치를 부여할 수 있다.
도 4는 일 실시예에 따른 영상 데이터에 포함되는 복수의 객체들 예시를 설명하기 위한 도면이다.
하나 이상의 카메라를 통해 수집된 영상 데이터는 깊이 정보 추정을 위한 심층 신경망 모델의 학습을 위해 사용될 수 있다. 수집된 영상 데이터에는 복수의 객체가 포함될 수 있다.
객체에 관한 정보는 객체 종류 정보 및 객체 속성 정보를 포함한다. 여기에서, 객체 종류 정보는 객체의 종류를 나타내는 인덱스 정보이며, 큰 범위인 그룹과 세부 범위인 클래스로 구성된다. 그리고, 객체 속성 정보는 객체의 현재 상태에 대한 속성 정보를 나타내는 것이며, 움직임 정보, 회전 정보, 교통 정보, 색상 정보, 및 가시성 정보를 포함한다.
일 실시예에서, 객체 종류 정보에 포함되는 그룹 및 클래스는 아래의 표 1과 같을 수 있으나, 이에 제한되지 않는다.
Figure 112022033630991-pat00001
또한, 객체 속성 정보에 포함되는 정보에는 Action, Rotate, Traffic info, color, Visibility 정보가 포함될 수 있다.
Action 정보는 객체의 움직임 정보를 표현하며 정차, 주차, 이동 등으로 정의될 수 있다. 차량의 경우 정차, 주차, 이동이 객체 속성 정보로 결정될 수 있고, 신호등과 같이 움직일 수 없는 객체의 경우 디폴트 값인 정지로 객체 속성 정보가 결정될 수 있다.
Rotate 정보는 객체의 회전 정보를 표현하며 정면, 후면, 수평(horizontal), 수직(vertical), 측면 등으로 정의될 수 있다. 차량의 경우 정면, 후면, 측면으로 객체 속성 정보가 정해질 수 있고, 가로 또는 세로 방향의 신호등은 각각 수평 또는 수직으로 객체 속성 정보가 정해질 수 있다.
Traffic info는 객체의 교통정보를 의미하며, 교통표지판의 지시, 주의, 규제, 보조 표지 등으로 정의될 수 있다. Color는 객체의 색상 정보를 의미하며 객체의 색상, 신호등 및 교통표지판의 색상을 표현할 수 있다.
도 4를 참조하면, 수집된 영상 데이터에 포함된 객체들은 신호등, 표지판, 현재 주행 차로, 로드 마킹, 횡단보도, 방지턱, 교차로 등일 수 있으나, 이에 제한되지 않는다.
이하에서, '영상 데이터'는 카메라가 수집할 수 있는 연속된 이미지 데이터 세트를 의미할 수 있으며, 방법의 각 세부적인 단계 또는 장치가 수행하는 각 세부적인 프로세스에서 '영상 데이터'는 단일 이미지 데이터, 단일 이미지 데이터 세트, 연속된 이미지 데이터 등을 포함하는 개념으로서 사용될 수 있다.
이하에서, 다양한 실시예에 따른 데이터 처리 동작은 데이터 처리 장치 또는 데이터 처리 장치에 포함된 프로세서에 의해 수행되는 것으로 이해될 수 있다.
자율 주행 차량을 구현하는 자율 주행 장치 또는 데이터 처리 장치는 인공지능 모델을 포함할 수 있다. 본 개시에서, 인공지능 모델은 하나 이상의 카메라를 통해 수집된 영상 데이터를 이용하여 학습되고, 수집된 영상 데이터에 대한 깊이 정보 추정을 수행할 수 있다. 본 개시에서, 인공지능 모델은 머신 러닝(machine learning)에서 통용되는 모델, 딥 러닝(deep learning)에서 통용되는 모델 등을 포함한다.
일 실시예에서, 본 개시의 인공지능 모델은 인공 신경망(artificial neural network)을 포함할 수 있다.
인공 신경망은 시냅스의 결합으로 네트워크를 형성한 인공 노드(뉴런)들로 구성되는, 문제 해결 능력을 갖는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 계층의 노드들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은 복수의 계층을 포함할 수 있다. 각 계층은 하나 이상의 노드를 포함하고, 인공 신경망은 노드와 노드를 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 노드는 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함수 값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 노드의 편향 등이 포함될 수 있다. 하이퍼 파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률, 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함될 수 있다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다. 인공 신경망은 순전파(forward propagation) 및 역전파(back propagation) 과정을 통하여 학습될 수 있다.
본 개시에서, 자율 주행 장치 또는 데이터 처리 장치의 인공지능 모델은 여러 기계 학습 알고리즘 및 기술을 이용하여 수집된 영상 데이터를 고수준(high-level)의 특징(feature)으로 변환하고, 고수준의 특징으로부터 깊이 맵을 생성할 수 있다. 깊이 맵은 관찰 시점으로부터 물체 표면까지의 거리에 대한 정보가 담긴 영상 또는 이미지이다. 깊이 맵은 영상 데이터와 동일한 크기를 가질 수 있으며, 픽셀 수준의 깊이 정보를 나타낼 수 있다. 깊이 정보를 추정하기 위한 인공지능 모델은 입력된 영상 데이터를 기초로 깊이 맵을 출력하며, 이 깊이 맵을 이용하여 자동화된 시스템을 통해 학습될 수 있다.
도 5는 일 실시예에 따른 데이터 처리 장치의 작업 흐름의 전반적인 측면을 간략하게 도시하는 도면이다.
본 개시에서, 하나 이상의 카메라(510)는 영상 데이터를 수집할 수 있다. 하나 이상의 카메라(510)에 의해 수집된 영상 데이터는 데이터 로거(520)에 의해서 로깅될 수 있다. 데이터 로거(520)에 의해서 로깅된 데이터는 사용자 또는 관리자에게 표시되기 위해 뷰어(530)로 전송될 수 있다. 뷰어(530)에서 뷰어 인터페이스가 구성되어 사용자 또는 관리자에게 데이터 표시가 제공될 수 있다. 로깅된 데이터는 데이터 업로더(540)에 의해 데이터베이스로 전송되어 저장될 수 있다. 데이터베이스의 영상 데이터에 기초하여 데이터 구성기(550)에서 학습용 데이터 또는 평가용 데이터가 구성될 수 있다. 학습용 데이터 또는 평가용 데이터가 구성되는 과정에서 렉티피케이션 또는 군집화 프로세스가 수행될 수 있다. 구성된 데이터는 학습 또는 평가(560)를 위해 전송되어, 학습용 데이터는 인공지능 모델을 학습시키는 데 사용되고, 평가용 데이터는 학습된 인공지능 모델을 평가하는 데 사용될 수 있다.
이하에서, 본 개시의 각 데이터 처리 과정과 관련된 구체적이고 다양한 실시예에 대해 더 상세하게 살펴본다.
일 실시예에서, 하나 이상의 카메라를 통해 영상 데이터가 수집될 수 있다.
영상 데이터를 수집하는 카메라는 다양한 종류의 카메라일 수 있다. 일 실시예에서, 각각의 카메라는 단안 카메라일 수 있다. 일 실시예에서, 하나 이상의 카메라는 스테레오 구조로 형성될 수 있다.
도 6a 내지 6c는 일 실시예에 따른 하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하는 과정을 설명하기 위한 도면이다.
도 6a는 일 실시예에 따른 다중 카메라 구조의 영상 데이터 취득 구조물을 도시한다.
도시된 바와 같이, 일 실시예에 따른 다중 카메라 구조의 영상 데이터 취득 구조물은 하나 이상의 카메라를 포함할 수 있다. 다중 카메라 구조의 영상 데이터 취득 구조물 내의 하나 이상의 카메라는 차량의 전방위에 대한 영상 데이터를 취득할 수 있도록 배향되어 배치될 수 있다. 다중 카메라 구조는 같은 방향으로 배향된 2개 이상의 카메라가 쌍을 이루는 스테레오 구조 카메라 쌍으로 구성되어 영상을 취득할 수 있다.
도시된 바와 같이, 다중 카메라 구조의 영상 데이터 취득 구조물은 60° 화각(FOV)의 카메라와, 120° 화각의 카메라들로 구성될 수 있다. 도시된 바와 같이, 2개의 동일한 화각의 카메라로 구성된 스테레오 구조 카메라 쌍들이 전방향에 대한 영상 데이터를 취득할 수 있도록 배향되며, 차량의 주행 방향으로 배향된 추가적인 카메라가 배치되어 있다. 다만, 이는 단순한 예시의 목적으로 제공되며, 본 발명을 한정하려는 것이 아니다. 다중 카메라 구조의 영상 데이터 취득 구조물 내의 카메라의 화각, 수, 배향 또는 배치 등은 상이할 수 있다.
일 실시예에서, 카메라는 15fps의 초당 프레임 수 단위로, 1920*1080의 해상도를 갖는, jpeg 형식의 이미지를 취득할 수 있다.
도 6b는 일 실시예에 따른 도 6a의 다중 카메라 구조의 영상 데이터 취득 구조물이 차량에 탑재된 모습을 도시한다. 이러한 구조를 통해 차량이 주행 중인 상태에서 다양한 주행 상황에서 손쉽게 데이터를 수집할 수 있다.
하나 이상의 카메라로부터 수집된 영상 데이터는 데이터 로거를 통해 로깅될 수 있다. 데이터 처리 장치에 포함될 수 있는 데이터 로거는 인공지능 모델의 학습 또는 평가에 사용되는 데이터의 기초가 될 수 있는 영상 데이터를 효율적으로 관리하는 역할을 수행할 수 있다.
도 6c는 일 실시예에 따른 동일한 타임 스탬프를 갖는 이미지들이 페어링된 모습을 도시한다.
하나의 카메라로부터 수집된 영상 데이터는 연속된 복수의 이미지들의 집합으로 간주될 수 있다. 즉, 하나의 카메라로부터 수집된 영상 데이터는 복수의 이미지들을 포함할 수 있다. 일 실시예에서, 영상 데이터에 포함되는 복수의 이미지들 각각은 타임 스탬프를 가질 수 있다. 타임 스탬프는 카메라에 의해 이미지 각각이 수집된 시간 정보를 나타낼 수 있다.
따라서, 예를 들어, 자율 주행 차량의 다중 카메라 구조의 영상 데이터 취득 구조물이 8개의 카메라(예컨대, 2개의 전방 배향 카메라, 4개의 측방 배향 카메라 및 2개의 후방 배향 카메라)를 포함하는 경우, 동일한 타임 스탬프를 갖는 이미지들이 8개 존재할 수 있다. 데이터 로거는 동일한 타임 스탬프를 갖는 이미지들을 페어링하여, 동기화된(synchronized) 이미지를 저장할 수 있다.
도 6c를 참조하면, 각각 페어링된 이미지 세트(610) 및 이미지 세트(620)가 도시된다. 이미지 세트(610)는 동일한 타임 스탬프 t1을 갖는 이미지들이 페어링된 이미지 세트이다. 이미지 세트(620)는 동일한 타임 스탬프 t2를 갖는 이미지들이 페어링된 이미지 세트이다. 예를 들어, t1과 t2는 인접한 타임 스탬프일 수 있다. 이미지 세트(610)와 이미지 세트(620) 각각은 서로 다른 카메라에서 수집된 8개의 이미지들을 포함할 수 있다. 데이터 로거는 동일한 타임 스탬프를 갖는 이미지들을 페어링하여, 동기화된 이미지인 이미지 세트(610), 이미지 세트(620) 등을 구성하여 저장할 수 있다.
일 실시예에서, 데이터 로거는 수집된 영상 데이터에 관성 측정 장치(IMU, inertial measurement unit)에 의해 측정된 관성 정보를 결합하여 저장할 수 있다.
본 개시에서, 관성 측정 장치는 자율 주행 차량(또는 자율 주행 차량에 탑재된 다중 카메라 구조의 영상 데이터 취득 구조물)에 탑재되어, 자율 주행 차량의 속도, 회전 속도, 자율 주행 차량에 가해지는 힘, 자율 주행 차량의 자세 등에 대한 정보를 출력할 수 있는 장치를 지칭할 수 있다. 관성 측정 장치는 자이로스코프 및 가속도계를 포함할 수 있고, 지자기센서를 포함할 수도 있다.
데이터 로거가 수집된 영상 데이터에 관성 측정 장치에 의해 측정된 관성 정보를 결합하여 저장함으로써, 예를 들어 도로가 기울어져 있는 경우, 평평하지 않은 경우 등과 같이 자율 주행 차량의 주변 환경과 관련된 정보까지 학습용 데이터 또는 평가용 데이터에 포함될 수 있다.
일 실시예에서, 데이터 로거에 의해서 저장된 동기화된 이미지는 사용자 또는 관리자에게 표시되기 위해 사용될 수 있다. 일 실시예에서, 동기화된 이미지는 동일한 타임 스탬프를 갖는 이미지 단위로 표시 장치로 전송될 수 있다. 일 실시예에서, 사용자 또는 관리자가 관찰하기에 용이하도록, 뷰어(viewer) 인터페이스가 구성될 수 있다. 예를 들어, 동일한 스탬프를 갖는 이미지들이 다같이 표시될 수 있도록 뷰어 인터페이스가 구성될 수 있다.
일 실시예에서, 뷰어 인터페이스는 데이터 로거를 제어할 수 있는 인터페이스를 포함할 수 있다. 예를 들어, 뷰어 인터페이스는 데이터 로거의 로깅 동작을 활성화 또는 비활성화 제어 기능을 포함할 수 있다. 예를 들어, 뷰어 인터페이스는 데이터베이스와 같은 저장 장치의 사용량 정보를 표시할 수 있다.
일 실시예에서, 뷰어 인터페이스는 수집된 영상 데이터를 실시간으로 표시하도록 구성될 수 있다. 일 실시예에서, 뷰어 인터페이스는 캡처 기능을 포함할 수 있다. 일 실시예에서, 뷰어 인터페이스는 특정 카메라에 의해 수집된 영상 데이터만을 표시하도록 하는 기능을 포함할 수 있다. 일 실시예에서, 뷰어 인터페이스는 특정 시간 구간 동안 수집된 영상 데이터를 검색하는 기능을 포함할 수 있다.
일 실시예에서, 데이터 로거에 의해 로깅된 영상 데이터는 데이터베이스로 전송되어 저장될 수 있다. 일 실시예에서, 로깅된 영상 데이터는 실시간으로 데이터베이스로 전송될 수 있다. 일 실시예에서, 로깅된 영상 데이터는 임시 저장소에 누적되어 저장되고, 사용자 또는 관리자의 입력에 의해 트리거되어 누적된 데이터가 데이터베이스로 전송될 수 있다. 일 실시예에서, 로깅된 영상 데이터는 임시 저장소에 누적되어 저장되고, 임시 저장소에 저장된 데이터의 양이 소정의 용량에 도달하는 경우 누적된 데이터가 데이터베이스로 전송될 수 있다. 일 실시예에서, 로깅된 영상 데이터는 임시 저장소에 누적되어 저장되고, 주행이 종료되면 자동으로 누적된 데이터가 데이터베이스로 전송될 수 있다. 데이터베이스로의 데이터 전송은 임의의 적합한 전송 방식에 의해 수행될 수 있다.
본 개시에서, 데이터베이스에 저장된 영상 데이터로부터 학습용 데이터 또는 평가용 데이터가 구성될 수 있다. 학습용 데이터 또는 평가용 데이터가 구성되는 과정에서, 인공지능 모델의 효과적인 학습 또는 평가를 위해 데이터베이스에 저장된 영상 데이터에 대해 렉티피케이션(rectification) 또는 군집화(clustering) 과정이 수행될 수 있다.
일 실시예에서, 학습용 데이터 또는 평가용 데이터를 구성하는 데 렉티피케이션 과정이 수행될 수 있다.
도 7a 및 7b는 일 실시예에 따른 렉티피케이션 과정을 설명하기 위한 도면이다.
일 실시예에서, 학습용 데이터 또는 평가용 데이터는 스테레오 매칭(stereo matching) 기반의 깊이 정보 추정에 의해 생성될 수 있다. 전술한 바와 같이, 일 실시예에 따른 다중 카메라 구조의 영상 데이터 취득 구조물은 하나 이상의 카메라를 포함할 수 있고, 다중 카메라 구조는 같은 방향으로 배향된 2개 이상의 카메라가 쌍을 이루는 스테레오 구조 카메라 쌍으로 구성되어 영상을 취득할 수 있다. 스테레오 구조 카메라 쌍의 좌측 및 우측 카메라로 취득된 영상은 시차(disparity)를 가지고 있다. 스테레오 영상 데이터에 대해, 스테레오 카메라 캘리브레이션(calibration), 이미지 렉티피케이션(rectification) 과정을 거쳐 시차가 계산될 수 있고, 이러한 시차를 통해 깊이 정보를 추정하여 학습용 데이터 또는 평가용 데이터가 생성될 수 있다.
더 구체적으로, 렉티피케이션 과정을 통해 스테레오 영상 데이터는 동일한 행상에 정렬되고, 이를 통해 물체의 시차 정보가 추출될 수 있다. 스테레오 카메라는 생산 과정에서 공차가 발생할 수 있고, 사용 중에 카메라의 배열이 어긋나는 경우가 발생할 수도 있다. 특히, 스테레오 카메라가 자율 주행 차량에 탑재되는 경우, 도로 사정에 의한 충격 등으로 인해, 양쪽 카메라에 의해 수집되는 영상 데이터 각각은 어긋나기가 쉽다. 따라서, 실질적으로 스테레오 카메라 사이의 행상이 일치되도록 수집될 수는 없고, 행상을 일치시키는 렉티피케이션 과정이 요구된다.
도 7a는 스테레오 카메라가 수집한 영상 데이터에 렉티피케이션 행렬을 적용하는 것을 설명하기 위한 개략도이다.
일 실시예에서, 데이터 처리 장치는 카메라 캘리브레이션을 통해 스테레오 카메라 쌍에 대한 외부(extrinsic) 파라미터를 도출하여, 렉티피케이션 행렬을 취득할 수 있다. 도 7a를 참조하면, 두 개의 카메라가 스테레오 카메라를 구성하고, 좌측 카메라에 의해 수집된 영상 데이터(710)와 우측 카메라에 의해 수집된 영상 데이터(720)가 도시된다. 인공지능 모델을 통한 깊이 정보 추정을 하기 위해, 좌측 카메라에 의해 수집된 영상 데이터(710)와 우측 카메라에 의해 수집된 영상 데이터(720)를 동일한 행상에 정렬하기 위해 렉티피케이션 행렬이 필요하다.
일 실시예에서, 데이터 처리 장치는 영상 데이터에 대해 렉티피케이션 행렬을 적용한 결과로서, 교정된 영상 데이터를 획득할 수 있다. 도 7a를 참조하면, 좌측 카메라에 의해 수집된 영상 데이터(710)와 우측 카메라에 의해 수집된 영상 데이터(720)에 렉티피케이션 행렬을 적용하여, 각각 교정된 좌측 영상 데이터(730)와 교정된 우측 영상 데이터(740)를 획득할 수 있다. 교정된 좌측 영상 데이터(730) 및 교정된 우측 영상 데이터(740)는 상호 비교를 통해 가로 방향, 즉 x축 시차를 계산하여 깊이 정보를 추출하는 데 사용된다.
전술한 바와 같이, 렉티피케이션 행렬을 적용하여 영상 데이터를 교정하고, 교정된 영상 데이터에 기초하여 가로 방향 시차를 계산함으로써 깊이 정보가 추출될 수 있는데, 이는 교정된 스테레오 영상 데이터에 대한 수직 방향의 정렬이 올바르게 되었음을 전제로 할 수 있다. 렉티피케이션 행렬은 영상 데이터를 수집하는 카메라의 외부 환경, 예를 들어 타이어 공기압, 외부 충격 등에 의해 변경될 수 있다. 따라서 렉티피케이션 행렬이 적절하게 취득되었는지 여부에 대한 검증이 필요할 수 있다.
도 7b는 교정된 스테레오 영상 데이터에 대해 수직 방향 시차를 검증하는 과정을 설명하기 위한 개략도이다.
일 실시예에서, 스테레오 영상 데이터에 대해 취득된 렉티피케이션 행렬을 적용한 후, 렉티피케이션 행렬을 적용한 결과에 대해 수직 방향 시차를 검증하는 과정이 수행될 수 있다.
더 구체적으로, 일 실시예에서, 렉티피케이션 행렬을 적용한 후의 스테레오 영상 데이터에 대해 수직 방향 시차 수치가 계산될 수 있다. 수직 방향 시차 수치는 스테레오 영상 데이터가 수직 방향, 즉 y축 방향으로 어긋나는 정도를 나타낸 값을 지칭할 수 있다. 다시 말해, 스테레오 영상 데이터에 렉티피케이션 행렬을 적용한 후의 데이터를 서로 비교하여, 어긋나는 정도를 수치화하는 과정을 수행한다.
일 실시예에서, 수직 방향 시차 수치 계산은 특징점 기반으로 이루어질 수 있다. 일 실시예에서, 수직 방향 시차 수치는 발생하는 모든 시차의 평균값으로 계산될 수 있다. 일 실시예에서, 수직 방향 시차 수치는 시차가 발생하는 특징점 중 그 차이가 가장 큰 경우에 대한 값으로 나타낼 수 있다. 이외에도, 수직 방향 시차 수치는 스테레오 영상 데이터의 수직 방향 시차를 대표하거나 나타낼 수 있도록 적합하게 계산된 값일 수 있다. 도 7b를 참조하면, 교정된 좌측 영상 데이터(730)와 교정된 우측 영상 데이터(740)에 대해 수직 방향 시차 검증, 구체적으로 특징점 기반의 수직 방향 시차 검증이 수행될 수 있다.
도 8은 일 실시예에 따른 렉티피케이션 행렬 적합성 결정 과정을 설명하기 위한 순서도이다.
일 실시예에서, 계산된 수직 방향 시차 수치와 임계값 비교를 통해 렉티피케이션 행렬이 적합하거나 부적합하다고 간주하고, 렉티피케이션 행렬이 부적합한 경우 렉티피케이션 행렬을 재취득하는, 렉티피케이션 행렬 적합성 결정 과정을 자동화할 수 있다.
구체적으로, 일 실시예에서, 데이터 처리 장치는 렉티피케이션 행렬을 취득(810)하고, 영상 데이터에 대해 렉티피케이션 행렬을 적용(820)할 수 있다. 데이터 처리 장치는 렉티피케이션 행렬을 적용한 결과인 교정된 영상 데이터에 대해 수직 방향 시차 수치를 계산(830)할 수 있다.
데이터 처리 장치는 계산된 수직 방향 시차 수치가 임계값보다 작은지 여부를 결정(840)할 수 있다. 수직 방향 시차 수치가 임계값보다 작다고 결정한 경우, 데이터 처리 장치는 렉티피케이션 행렬이 적합한 것으로 간주할 수 있다. 수직 방향 시차 수치가 임계값보다 작지 않다고 결정한 경우, 데이터 처리 장치는 렉티피케이션 행렬이 적합하지 않은 것으로 간주할 수 있다.
데이터 처리 장치는 계산된 수직 방향 시차 수치가 임계값보다 작지 않다고 결정한 경우, 카메라 캘리브레이션을 통한 렉티피케이션 행렬을 취득(810)하는 과정을 다시 수행할 수 있다.
임계값은, 수직 방향 시차 수치 계산 방식에 따라, 초과되는 경우 스테레오 영상 데이터가 올바르게 정렬되지 않아 적절한 깊이 정보 추정을 할 수 없다고 결정하는 값으로 지정될 수 있다.
카메라가 자율 주행 차량에 탑재되는 경우, 자율 주행 차량 및 이에 탑재되는 카메라는 다양하게 변화하는 외부 환경에 노출되기 때문에, 과거에 취득된 렉티피케이션 행렬은 변화된 외부 환경에 따라 더 이상 적합하지 않게 될 수 있고, 이를 검출하여 변화된 외부 환경에 대한 렉티피케이션 행렬을 재취득함으로써 인공지능 모델 학습 또는 평가를 더 적합하게 수행하게 할 수 있다.
일 실시예에서, 학습용 데이터 또는 평가용 데이터를 구성하는 데 군집화 과정이 수행될 수 있다.
군집화는 데이터 세트에 포함된 데이터들에 대해 유사한 성질을 갖는 데이터들끼리 그룹을 이루도록 복수의 군집으로 나누는 것이다. 데이터들을 복수의 군집으로 나누는 과정을 통해, 동일한 군집에 속하는 데이터들은 서로 가깝거나 유사하게, 상이한 군집에 속하는 데이터들은 서로 멀거나 유사하지 않게 구분하는 것이 군집화의 목적이다.
본 개시에서, 데이터 처리 장치는 수집된 영상 데이터에 대해 군집화를 수행하여, 유사한 특징을 갖는 데이터들끼리 군집을 이루도록 분류할 수 있다. 동일한 비용을 들이고 동일한 양의 샘플을 통해 인공지능 모델을 학습 또는 평가를 한다면, 수집된 데이터들 중에서 무작위로 샘플링하여 인공지능 모델에 대한 학습 또는 평가를 하게 하는 것에 비해, 다양한 특징에 대해 또는 취약한 특징에 대해 학습 또는 평가를 하게 하는 것이 효율적일 수 있다. 이러한 측면에서, 군집화 프로세스는 학습용 데이터 또는 평가용 데이터를 효율적으로 구성할 수 있게 한다.
도 9은 일 실시예에 따른 데이터에 대한 군집화 과정을 설명하기 위한 도면이다.
도 9을 참조하면, 데이터 처리 장치는 수집된 데이터(910)에 대해 군집화 과정을 통해 유사한 특징을 갖는 데이터들끼리 군집(941 내지 944)을 이루도록 분류할 수 있다.
구체적으로, 수집된 데이터(910)는 특징 벡터(feature vector) 추출기(920)에 입력된다. 특징 벡터 추출기(920)는 이에 대한 출력으로서, 수집된 데이터(910)에 대한 특징 벡터(930)를 추출한다. 추출된 특징 벡터(930)에 대해 그룹화가 수행된다. 도 9의 하단에 군집화 결과가 도시되는데, 여기에서 특징 벡터(930)는 4개의 군집(941 내지 944)으로 군집화되고, 4개의 군집(941 내지 944)이 유클리드 공간에 표현되는 것으로 나타난다. 각 군집은 중심점(centroid)(미도시)을 갖는다. 각각의 특징 벡터는 복수의 중심점 중 가장 가까운 중심점을 갖는 군집으로 군집화되는 것으로 이해될 수 있다.
도 9의 하단의 군집화 결과 도시에서, 예를 들어, 군집(941)은 '횡단보도'와 연관된 특징을 갖는 데이터의 특징 벡터로 구성되고, 군집(944)은 '1차로'와 연관된 특징을 갖는 데이터의 특징 벡터로 구성될 수 있다.
일 실시예에서, 특징 벡터 추출기(920)는 합성곱 신경망을 포함할 수 있다. 예를 들어, 특징 벡터 추출기(920)는 ResNet, VGGNet, LeNet, AlexNet, ZFNet, GoogleNet 등 임의의 적합한 합성곱 신경망 구조를 가질 수 있다.
일 실시예에서, 군집화 과정에 있어서, K-means 알고리즘 및 이의 변형, 계층형 군집화(hierarchical clustering) 알고리즘 등 임의의 적합한 알고리즘이 사용될 수 있다.
일 실시예에서, 전술한 바와 같은 과정에 기초하여, 데이터베이스의 영상 데이터에 대해 특징 벡터가 추출될 수 있고, 추출된 특징 벡터는 하나 이상의 군집으로 군집화될 수 있다. 하나 이상의 군집으로부터 학습용 데이터 또는 평가용 데이터가 샘플링될 수 있다. 이때, 학습용 데이터 또는 평가용 데이터를 각각의 군집으로부터 균등하게 샘플링할 수도 있고, 경우에 따라서, 각각의 군집으로부터 의도적으로 불균등하게 샘플링할 수 있다.
일 실시예에서, 데이터베이스의 영상 데이터는 사전에 수집된 데이터를 기반으로 군집화될 수 있다. 구체적으로, 사전에 수집된 데이터는, 하나 이상의 카메라로부터 새롭게 수집된 데이터가 아닌, 미리 구축되고 상대적으로 많은 양을 가질 수 있는 데이터를 지칭할 수 있다. 데이터 처리 장치는 사전에 수집된 데이터에 대해 사전 특징 벡터를 추출하고, 사전 특징 벡터에 기초하여 기초 군집들을 형성하고 중심점을 추출할 수 있다. 추출된 기초 군집들에 대한 중심점들은 좌표 평면(유클리드 공간)에 매핑될 수 있다. 인공지능 모델의 목적에 따라 적합한 수의 기초 군집이 형성될 수 있다. 일반적으로, 인공지능 모델이 다양한 상황 및 환경에 대해서 학습하고 분류 작업을 수행할 수 있도록, 많은 수의 기초 군집이 형성될 수 있을 것이다.
일 실시예에서, 데이터 처리 장치는 기초 군집들에 대한 중심점들에 기초하여 새롭게 수집된 데이터에 대한 군집화를 수행할 수 있다. 데이터 처리 장치는 새롭게 수집된 데이터에 대한 특징 벡터를 추출하고, 기초 군집들에 대한 중심점들이 매핑된 좌표 평면과 동일한 좌표 평면에 추출된 특징 벡터를 매핑할 수 있다. 그 후, 매핑된 특징 벡터와 기초 군집들에 대한 중심점들과의 거리를 계산하고, 거리가 가장 가까운 중심점이 공유하는 특징 벡터들끼리 군집화할 수 있다.
전술한 과정을 통해, 새롭게 수집된 데이터에 대해 별도의 중심점을 추출하는 과정을 생략할 수 있다. 또한, 사전에 수집된 데이터에 대한 군집 분석을 통해 취약 부분을 미리 파악할 수 있고, 새롭게 수집된 데이터에 기초하여 학습용 데이터 또는 평가용 데이터를 구성하거나, 학습용 데이터 또는 평가용 데이터를 구성하기 위해 데이터를 새롭게 수집하는 데 이를 반영할 수 있다. 또한, 새롭게 수집된 데이터보다 많은 양의 사전에 수집된 데이터에 기초하여 군집을 미리 형성하는 것이, 많은 수의 기초 군집을 형성함으로써 인공지능 모델이 다양한 상황 및 환경에 대해 학습하는 것을 가능하게 할 수 있다.
일 실시예에서, 사전에 수집된 데이터에 대한 군집 분석을 통해, 자율 주행 차량에 탑재된 카메라로 하여금 취약 부분에 대한 영상 데이터 수집을 강화할 수 있다.
전술한 실시예들에서, 중심점 및 특징 벡터가 '좌표 평면'으로 매핑되는 것으로 설명하였으나, 3차원 유클리드 공간일 수도 있다.
일 실시예에서, 사전에 수집된 데이터는 군집(또는 중심점)을 형성하는 과정에서만 사용되는 데이터이고, 새롭게 수집된 데이터는 학습용 데이터 또는 평가용 데이터를 구성하는 데 사용되는 데이터일 수 있다. 일 실시예에서, 새롭게 수집된 데이터는 단안 카메라로부터 수집된 영상 데이터로서 단안 카메라 깊이 정보 추정을 위한 인공지능 모델을 학습 또는 평가하는 데 사용되는 데이터일 수 있다.
일 실시예에서, 데이터 처리 장치는 전술한 군집화 프로세스로 형성된 군집들에 기초하여 학습용 데이터 또는 평가용 데이터를 샘플링할 수 있다. 특정 군집의 경우 데이터의 양이 다른 군집에 비해 상대적으로 많을 수 있는데, 이러한 경우 전체 데이터에서 무작위로 추출하여 학습용 또는 평가용 데이터를 샘플링하는 것은 인공지능 모델로 하여금 다양한 특징들을 학습시키지 못하고 다양한 특징들에 관한 인공지능 모델의 성능을 평가하지 못할 수 있다. 따라서, 일 실시예에서, 각각의 군집으로부터 동일한 수의 데이터를 무작위로 추출하여 샘플링할 수 있다. 일 실시예에서, 취약 부분으로 파악된 군집에 대해 가중치가 부여되고, 각각의 군집으로부터 가중치에 따라 상이한 수의 데이터를 무작위로 추출하여 샘플링할 수 있다.
데이터 처리 장치는, 전술한 바와 같은 다양한 실시예에 따른 과정을 통해, 학습용 데이터 또는 평가용 데이터를 구성하고, 인공지능 모델을 학습시키거나 평가할 수 있다.
도 10은 일 실시예에 따른 인공지능 모델의 학습 또는 평가 과정을 개략적으로 설명하기 위한 도면이다.
도 10을 참조하면, 학습용 데이터를 구성하고 인공지능 모델을 학습시키는 과정은 데이터 처리 장치에 포함될 수 있는 학습 스케줄러(1010)에 의해 제어될 수 있다. 학습 스케줄러(1010)는 학습용 데이터 구성 및 인공지능 모델 학습 과정에 대한 전반을 제어하도록 설계될 수 있다. 학습 스케줄러(1010)는 임의의 적합한 방식 또는 조건에 따라 학습용 데이터 구성 및 인공지능 모델 학습을 개시할 수 있다. 일 예시로, 학습 스케줄러(1010)는 소정의 주기에 따라 학습용 데이터 구성 및 인공지능 모델 학습을 개시하도록 설계될 수 있다. 또 다른 예시로, 학습 스케줄러(1010)는 데이터베이스에 소정의 용량 또는 소정의 수량의 데이터가 누적되었을 때 학습용 데이터 구성 및 인공지능 모델 학습을 개시하도록 설계될 수 있다.
일 실시예에서, 데이터 처리 장치는 학습 과정을 거친 인공지능 모델에 대한 평가를 수행할 수 있다. 데이터 처리 장치는, 전술한 바와 같은 다양한 실시예에 따른 과정을 통해, 인공지능 모델을 평가하기 위한 평가용 데이터를 구성할 수 있고, 구성된 평가용 데이터에 기초하여 인공지능 모델을 평가할 수 있다.
일 실시예에서, 평가용 데이터는 데이터베이스에 포함된 데이터 중 학습용 데이터로 구성된 바 없는 데이터에 의해서만 구성될 수 있다. 평가용 데이터를 구성하고 인공지능 모델을 평가하는 과정은 다양한 방법으로 인해 개시될 수 있다. 예를 들어, 평가용 데이터를 구성하고 인공지능 모델을 평가하는 과정은 인공지능 모델의 학습이 종료된 것에 대응하여 개시되도록 설계될 수 있다. 다른 예시로, 평가용 데이터를 구성하고 인공지능 모델을 평가하는 과정은 인공지능 모델의 학습이 소정의 횟수 수행된 것에 대응하여 개시되도록 설계될 수 있다. 또 다른 예시로, 평가용 데이터를 구성하고 인공지능 모델을 평가하는 과정은 모델 레지스트리(상세히 후술함)에 학습된 인공지능 모델이 업데이트되는 것에 대응하여 개시되도록 설계될 수 있다.
일 실시예에서, 인공지능 모델의 학습과 관련된 데이터를 저장하고 관리를 수행할 수 있는 모델 레지스트리가 구성될 수 있다.
도 10을 참조하면, 모델 레지스트리(1020)는 인공지능 모델의 학습 또는 평가와 관련된 데이터를 저장 또는 관리하거나, 인공지능 모델의 학습 또는 평가를 제어하도록 구성될 수 있다.
일 실시예에서, 데이터 처리 장치는 인공지능 모델의 학습이 개시되거나 종료되는 것에 대응하여, 학습되는 인공지능 모델에 관한 데이터를 모델 레지스트리(1020)에 저장할 수 있다. 예를 들어, 학습의 결과로서의 모델, 구체적으로 학습을 통해 결정되는 인공지능 모델의 파라미터를 모델 레지스트리(1020)에 저장할 수 있다. 예를 들어, 인공지능 모델의 학습 전에 설정된 하이퍼 파라미터를 저장할 수 있다. 예를 들어, 인공지능 모델의 학습 진행 상황, 예컨대 손실, 정확도(accuracy) 등 각종 메트릭을 저장할 수 있다.
일 실시예에서, 모델 레지스트리(1020)는 학습된 인공지능 모델에 대한 추가 학습을 개시하거나 학습된 인공지능 모델의 배포를 관리하도록 구성될 수 있다.
일 실시예에서, 모델 레지스트리(1020)는 인공지능 모델에 대한 평가 데이터를 저장하고 관리하도록 구성될 수 있다. 일 실시예에서, 인공지능 모델에 대한 평가가 종료되는 것에 대응하여, 인공지능 모델에 대한 평가 지표가 모델 레지스트리(1020)에 저장될 수 있다.
일 실시예에서, 모델 레지스트리(1020)는, 인공지능 모델에 대한 군집화 기반의 평가를 통해 취약 부분에 대한 파악이 가능하도록, 군집별 평가 지표가 저장되도록 구성될 수 있다. 구체적으로, 일 실시예에서, 데이터 처리 장치는 영상 데이터에 대한 특징 벡터를 추출하고, 특징 벡터를 하나 이상의 군집으로 군집화하며, 하나 이상의 군집으로부터 샘플링하여 평가용 데이터를 구성할 수 있다. 이로써, 데이터 처리 장치는 군집화 기반의 인공지능 모델 평가를 수행할 수 있다. 일 실시예에서, 데이터 처리 장치는 군집별로 인공지능 모델의 성능을 평가할 수 있고, 평가의 결과를 나타내는 평가 지표를 군집별로 계산할 수 있다. 일 실시예에서, 모델 레지스트리(1020)는 데이터 처리 장치가 군집별로 계산한 평가 지표를 저장할 수 있도록 구성될 수 있다.
도 11는 일 실시예에 따른 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법의 흐름도이다.
도 11에 도시된, 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법은, 앞서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 설명된 내용들은 도 11의 방법에도 적용될 수 있다.
도 11에 도시된 동작들은 전술한 자율 주행 장치 또는 데이터 처리 장치에 의하여 실행될 수 있다. 구체적으로, 도 11에 도시된 동작들은 전술한 자율 주행 장치 또는 데이터 처리 장치에 포함된 프로세서에 의하여 실행될 수 있다.
단계 1110에서 하나 이상의 카메라로부터 수집된 영상 데이터가 로깅될 수 있다.
일 실시예에서, 하나 이상의 카메라로부터 수집된 영상 데이터 각각은 복수의 이미지들을 포함할 수 있다.
일 실시예에서, 하나 이상의 카메라로부터 수집된 영상 데이터 각각이 포함하는 복수의 이미지들은 각각 수집된 시간 정보를 나타내는 타임 스탬프를 포함할 수 있다.
일 실시예에서, 단계 1110은 동일한 타임 스탬프를 갖는 이미지들을 페어링하여 저장하는 단계를 포함할 수 있다.
일 실시예에서, 사용자에게 표시하기 위해, 페어링된 동일한 타임 스탬프를 갖는 이미지 단위로 표시 장치로 전송되는 단계를 더 포함할 수 있다.
일 실시예에서, 단계 1110은 하나 이상의 카메라로부터 수집된 영상 데이터 각각을 관성 측정 장치에 의해 측정된 관성 정보와 결합하여 저장하는 것을 포함할 수 있다.
단계 1120에서 로깅된 데이터가 데이터베이스로 전송될 수 있다.
단계 1130에서 데이터베이스의 영상 데이터에 기초하여 학습용 데이터가 구성될 수 있다.
일 실시예에서, 단계 1130은 스테레오 렉티피케이션 행렬을 취득하고, 데이터베이스의 영상 데이터에 대해 취득된 렉티피케이션 행렬을 적용하며, 렉티피케이션 행렬을 적용한 결과에 기초하여 수직 방향 시차를 검증하는 단계를 포함할 수 있다.
일 실시예에서, 수직 방향 시차를 검증하는 단계는 렉티피케이션 행렬을 적용한 후의 데이터를 비교하여 수직 방향 시차 수치를 계산하고, 수직 방향 시차 수치가 임계값보다 높은 것에 대응하여, 스테레오 렉티피케이션 행렬을 다시 취득하는 단계를 포함할 수 있다.
일 실시예에서, 단계 1130은 데이터베이스의 영상 데이터에 대한 특징 벡터를 추출하고, 특징 벡터를 하나 이상의 군집으로 군집화하며, 하나 이상의 군집으로부터 학습용 데이터를 샘플링하는 단계를 포함할 수 있다.
일 실시예에서, 군집화하는 단계는, 사전에 수집된 데이터를 기반으로 추출된 사전 특징 벡터에 기초하여 하나 이상의 기초 군집을 형성하고, 하나 이상의 기초 군집에 기초하여 각 기초 군집에 대한 중심점을 추출하며, 좌표 평면에 각 기초 군집에 대한 중심점을 매핑하고, 특징 벡터를 좌표 평면에 매핑하며, 특징 벡터와 각 기초 군집에 대한 중심점 사이의 거리를 계산하고, 특징 벡터를 가장 가까운 중심점의 군집으로 군집화하는 단계를 포함할 수 있다.
일 실시예에서, 학습용 데이터를 샘플링하는 단계는, 하나 이상의 군집으로부터 동일한 수의 데이터를 무작위로 추출하는 것일 수 있다.
단계 1140에서 학습용 데이터에 기초하여 모델이 학습될 수 있다.
일 실시예에서, 데이터베이스의 영상 데이터에 기초하여 평가용 데이터를 구성하는 단계를 더 포함할 수 있다.
일 실시예에서, 평가용 데이터에 기초하여 모델을 평가하는 단계를 더 포함할 수 있다.
일 실시예에서, 평가용 데이터를 구성하는 단계 및 모델을 평가하는 단계는 모델 레지스트리에 학습된 모델이 업데이트되는 것에 대응하여 수행될 수 있다.
일 실시예에서, 모델을 평가하는 단계는, 평가 지표를 계산하는 단계를 포함할 수 있다.
일 실시예에서, 모델 레지스트리에 평가 지표를 저장하는 단계를 더 포함할 수 있다.
일 실시예에서, 평가용 데이터를 구성하는 단계는, 데이터베이스의 영상 데이터에 대한 특징 벡터를 추출하고, 특징 벡터를 하나 이상의 군집으로 군집화하며, 하나 이상의 군집으로부터 평가용 데이터를 샘플링하는 단계를 포함할 수 있고, 모델을 평가하는 단계는, 하나 이상의 군집별로 평가 지표를 계산하는 단계를 포함할 수 있다.
도 12는 일 실시예에 따른 깊이 정보 추정 모델 학습을 위한 데이터 처리 장치의 블록도이다.
도 12를 참조하면, 깊이 정보 추정 모델 학습을 위한 데이터 처리 장치(1200)는 통신부(1210), 프로세서(1220) 및 DB(1230)를 포함할 수 있다. 도 12의 깊이 정보 추정 모델 학습을 위한 데이터 처리 장치(1200)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 12에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
통신부(1210)는 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1210)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.
DB(1230)는 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(1220)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(1230)는 결제 정보, 사용자 정보 등을 저장할 수 있다.
DB(1230)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(1220)는 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1220)는 DB(1230)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(1210), DB(1230) 등을 전반적으로 제어할 수 있다. 프로세서(1220)는, DB(1230)에 저장된 프로그램들을 실행함으로써, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)의 동작을 제어할 수 있다.
프로세서(1220)는 도 1 내지 도 11에서 상술한 깊이 추정 모델 학습을 위한 데이터 처리 장치의 동작 중 적어도 일부를 제어할 수 있다.
프로세서(1220)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
일 실시예로, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)는 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 네비게이션, 카메라가 탑재된 디바이스 및 기타 모바일 전자 장치로 구현될 수 있다. 또한, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 장치로 구현될 수 있다.
다른 실시예로, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)는 차량 내에 임베디드되는 전자 장치일 수 있다. 예를 들어, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)는 생산 과정 이후 튜닝(tuning)을 통해 차량 내에 삽입되는 전자 장치일 수 있다.
또 다른 실시예로, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)는 차량 외부에 위치하는 서버일 수 있다. 서버는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버는 차량에 탑재된 장치들로부터 차량의 이동 경로를 결정하기 위해 필요한 데이터를 수신하고, 수신한 데이터에 기초하여 차량의 이동 경로를 결정할 수 있다.
또 다른 실시예로, 깊이 추정 모델 학습을 위한 데이터 처리 장치(1200)에서 수행되는 프로세스는 이동성을 가지는 전자 장치, 차량 내에 임베디드 되는 전자 장치 및 차량 외부에 위치하는 서버 중 적어도 일부에 의해 수행될 수 있다.
본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (10)

  1. 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법에 있어서,
    하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하는 단계;
    상기 로깅된 데이터를 데이터베이스에 전송하는 단계;
    상기 데이터베이스의 영상 데이터에 기초하여 학습용 데이터를 구성하는 단계;
    상기 학습용 데이터에 기초하여 모델을 학습시키는 단계;
    상기 데이터베이스의 영상 데이터에 기초하여 평가용 데이터를 구성하는 단계; 및
    상기 평가용 데이터에 기초하여 모델을 평가하는 단계;
    를 포함하되,
    상기 학습용 데이터를 구성하는 단계는,
    상기 데이터베이스의 영상 데이터에 대한 제1 특징 벡터(feature vector)를 추출하는 단계;
    상기 제1 특징 벡터를 하나 이상의 제1 군집으로 군집화(clustering)하는 단계; 및
    상기 하나 이상의 제1 군집으로부터 학습용 데이터를 샘플링하는 단계;
    를 포함하고,
    상기 평가용 데이터를 구성하는 단계는,
    상기 데이터베이스의 영상 데이터에 대한 제2 특징 벡터를 추출하는 단계;
    상기 제2 특징 벡터를 하나 이상의 제2 군집으로 군집화하는 단계; 및
    상기 하나 이상의 제2 군집으로부터 평가용 데이터를 샘플링하는 단계;
    를 포함하고,
    상기 모델을 평가하는 단계는,
    상기 하나 이상의 제2 군집별로 평가 지표를 계산하는 단계;
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 카메라로부터 수집된 영상 데이터 각각은,
    복수의 이미지들을 포함하고,
    상기 복수의 이미지들은 각각 수집된 시간 정보를 나타내는 타임 스탬프를 포함하며,
    상기 영상 데이터를 로깅하는 단계는,
    동일한 타임 스탬프를 갖는 이미지들을 페어링하여 저장하는 단계를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 영상 데이터를 로깅하는 단계는,
    상기 하나 이상의 카메라로부터 수집된 영상 데이터 각각을 관성 측정 장치에 의해 측정된 관성 정보와 결합하여 저장하는 단계를 포함하는,
    방법.
  4. 제 2 항에 있어서,
    사용자에게 표시하기 위해, 상기 페어링된 동일한 타임 스탬프를 갖는 이미지 단위로 표시 장치로 전송하는 단계를 더 포함하는,
    방법.
  5. 제 1 항에 있어서,
    상기 학습용 데이터를 구성하는 단계는,
    스테레오 렉티피케이션(rectification) 행렬을 취득하는 단계;
    상기 데이터베이스의 영상 데이터에 대해 렉티피케이션 행렬을 적용하는 단계; 및
    상기 렉티피케이션 행렬을 적용한 결과에 기초하여 수직 방향 시차(disparity)를 검증하는 단계;
    를 포함하는 방법.
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    모델 레지스트리에 상기 평가 지표를 저장하는 단계;
    를 더 포함하는 방법.
  9. 깊이 정보 추정 모델 학습을 위한 데이터 처리 장치에 있어서,
    적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,
    상기 프로세서는,
    하나 이상의 카메라로부터 수집된 영상 데이터를 로깅하고,
    상기 로깅된 데이터를 데이터베이스에 전송하며,
    상기 데이터베이스의 영상 데이터에 기초하여 학습용 데이터를 구성하고,
    상기 학습용 데이터에 기초하여 모델을 학습시키며,
    상기 데이터베이스의 영상 데이터에 기초하여 평가용 데이터를 구성하고,
    상기 평가용 데이터에 기초하여 모델을 평가하되,
    상기 학습용 데이터를 구성하는 것은,
    상기 데이터베이스의 영상 데이터에 대한 제1 특징 벡터를 추출하고,
    상기 제1 특징 벡터를 하나 이상의 제1 군집으로 군집화하며,
    상기 하나 이상의 제1 군집으로부터 학습용 데이터를 샘플링하는 것을 포함하고,
    상기 평가용 데이터를 구성하는 것은,
    상기 데이터베이스의 영상 데이터에 대한 제2 특징 벡터를 추출하고,
    상기 제2 특징 벡터를 하나 이상의 제2 군집으로 군집화하며,
    상기 하나 이상의 제2 군집으로부터 평가용 데이터를 샘플링하는 것을 포함하고,
    상기 모델을 평가하는 것은,
    상기 하나 이상의 제2 군집별로 평가 지표를 계산하는 것을 포함하는,
    장치.
  10. 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020220038596A 2022-03-29 2022-03-29 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치 KR102531286B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220038596A KR102531286B1 (ko) 2022-03-29 2022-03-29 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치
JP2023052293A JP7500811B2 (ja) 2022-03-29 2023-03-28 深度情報推定モデル学習のためのデータ処理方法及び装置
DE102023107856.9A DE102023107856A1 (de) 2022-03-29 2023-03-28 Verfahren und vorrichtung zur datenverarbeitung zum trainieren eines schätzmodells für tiefeninformationen
US18/191,027 US20230316146A1 (en) 2022-03-29 2023-03-28 Data processing method and apparatus for training depth information estimation model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220038596A KR102531286B1 (ko) 2022-03-29 2022-03-29 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102531286B1 true KR102531286B1 (ko) 2023-05-12

Family

ID=86385504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220038596A KR102531286B1 (ko) 2022-03-29 2022-03-29 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치

Country Status (4)

Country Link
US (1) US20230316146A1 (ko)
JP (1) JP7500811B2 (ko)
KR (1) KR102531286B1 (ko)
DE (1) DE102023107856A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7539738B1 (ja) 2023-11-20 2024-08-26 株式会社Adansons プログラム、方法、情報処理装置、システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180096984A (ko) * 2017-02-22 2018-08-30 한국과학기술원 열화상 영상 기반의 거리 추정 장치 및 방법. 그리고 이를 위한 신경망 학습 방법
KR20190065287A (ko) * 2016-09-12 2019-06-11 나이앤틱, 인크. 통계적 모델을 이용한 이미지 데이터로부터의 깊이 예측
KR20200130472A (ko) * 2019-05-02 2020-11-18 나이앤틱, 인크. 깊이 힌트를 사용하는 깊이 추정 모델의 자가 감독 훈련
JP2021513701A (ja) * 2018-02-16 2021-05-27 日本電気株式会社 情報処理装置、方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5214762B2 (ja) 2011-03-25 2013-06-19 株式会社東芝 認識装置、方法及びプログラム
JP6660501B1 (ja) 2019-03-11 2020-03-11 三菱電機インフォメーションシステムズ株式会社 データ抽出装置、データ抽出方法及びデータ抽出プログラム
KR20220024906A (ko) 2019-06-25 2022-03-03 스냅 인코포레이티드 연속 카메라 캡처를 위한 듀얼 카메라들의 활용

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190065287A (ko) * 2016-09-12 2019-06-11 나이앤틱, 인크. 통계적 모델을 이용한 이미지 데이터로부터의 깊이 예측
KR20180096984A (ko) * 2017-02-22 2018-08-30 한국과학기술원 열화상 영상 기반의 거리 추정 장치 및 방법. 그리고 이를 위한 신경망 학습 방법
JP2021513701A (ja) * 2018-02-16 2021-05-27 日本電気株式会社 情報処理装置、方法およびプログラム
KR20200130472A (ko) * 2019-05-02 2020-11-18 나이앤틱, 인크. 깊이 힌트를 사용하는 깊이 추정 모델의 자가 감독 훈련

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김재인 등, 입체영상 제작을 위한 비정렬 스테레오 영상의 정밀편위수정, 방송공학회논문지(2012.12.31.)* *

Also Published As

Publication number Publication date
US20230316146A1 (en) 2023-10-05
DE102023107856A1 (de) 2023-10-05
JP7500811B2 (ja) 2024-06-17
JP2023147276A (ja) 2023-10-12

Similar Documents

Publication Publication Date Title
CN112292711B (zh) 关联lidar数据和图像数据
WO2021004548A1 (zh) 一种基于双目立体视觉系统的车辆智能测速方法
CN112419494B (zh) 用于自动驾驶的障碍物检测、标记方法、设备及存储介质
WO2020155615A1 (zh) Vslam方法、控制器和可移动设备
WO2020154966A1 (en) A rgb point clouds based map generation system for autonomous vehicles
US10510187B2 (en) Method and system for virtual sensor data generation with depth ground truth annotation
CN113874870A (zh) 基于图像的定位
EP3707473A1 (en) A real-time map generation system for autonomous vehicles
EP3707469A1 (en) A point clouds registration system for autonomous vehicles
EP3711030A1 (en) A point clouds ghosting effects detection system for autonomous driving vehicles
CN110073362A (zh) 用于车道标记检测的系统及方法
JP7413543B2 (ja) データ伝送方法および装置
CN110869559A (zh) 用于自动驾驶车辆中的集成的全局式与分布式学习的方法和系统
CN110753953A (zh) 用于自动驾驶车辆中经由交叉模态验证的以物体为中心的立体视觉的方法和系统
US10733463B1 (en) Systems and methods for augmenting perception data with supplemental information
US11961304B2 (en) Systems and methods for deriving an agent trajectory based on multiple image sources
US11961241B2 (en) Systems and methods for deriving an agent trajectory based on tracking points within images
KR102531286B1 (ko) 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치
US20230105331A1 (en) Methods and systems for semantic scene completion for sparse 3d data
US20220198714A1 (en) Camera to camera calibration
KR20230120615A (ko) 보행자의 위치를 결정하는 방법 및 장치
WO2023283929A1 (zh) 双目相机外参标定的方法及装置
KR102559936B1 (ko) 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치
CN115662167B (zh) 自动驾驶地图构建方法、自动驾驶方法及相关装置
KR102686274B1 (ko) 시맨틱 분할 이미지 및 시맨틱 포인트 클라우드 맵 기반의 전체론적 매칭을 통한 위치 추정 장치 및 방법

Legal Events

Date Code Title Description
GRNT Written decision to grant