KR102343053B1 - 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102343053B1
KR102343053B1 KR1020210078690A KR20210078690A KR102343053B1 KR 102343053 B1 KR102343053 B1 KR 102343053B1 KR 1020210078690 A KR1020210078690 A KR 1020210078690A KR 20210078690 A KR20210078690 A KR 20210078690A KR 102343053 B1 KR102343053 B1 KR 102343053B1
Authority
KR
South Korea
Prior art keywords
axis
bounding box
point cloud
cloud data
point
Prior art date
Application number
KR1020210078690A
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 KR1020210078690A priority Critical patent/KR102343053B1/ko
Application granted granted Critical
Publication of KR102343053B1 publication Critical patent/KR102343053B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling

Abstract

본 발명은 라이다(lidar)에 의해 획득된 라이다 점군의 3D 바운딩 박스 생성 방법을 제안한다. 상기 방법은 어노테이션 장치가 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 학습시키기 위하여 차량에 고정 설치된 라이다(lidar)에 의해 획득된 3D 점군(3D point group) 데이터를 수신하는 단계; 상기 어노테이션 장치가 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계; 상기 어노테이션 장치가 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스(temporary bounding box)를 각각 설정하는 단계; 및 상기 어노테이션 장치가 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 포함할 수 있다.

Description

라이다 점군의 3D 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{a creation method of a 3D bounding box for a lidar point group, and computer program recorded on record-medium for executing method therefor}
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 라이다(lidar)에 의해 획득된 라이다 점군의 3D 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.
자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 그리고, 다양한 기업체들은 자율주행 메커니즘에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.
예를 들어, 테슬라(Tesla)의 경우, 위치 정보를 최소화하고 카메라와 센서로부터 입력된 정보를 기반으로 동작하는 자율주행용 인공지능(AI)을 개발 중에 있다. 이를 위하여, 테슬라는 자사의 차량 주행 데이터를 수집하여 데이터센터에서 관리하며, 이를 기반으로 인공지능(AI)에 대하여 실제 운전자의 주행 패턴을 따라하게 하는 모방 학습(imitation learning)을 수행하고 있다.
이와 다르게, 구글(Google)의 웨이모(Waymo)와, 현대자동차와 앱티브(Aptiv)의 모셔널(Motional)은 차량의 위치 정보, 지도 정보로부터 획득된 지형 및 도로 정보와, 카메라와 센서로부터 입력된 정보를 기반으로 동작하는 자율주행용 인공지능(AI)을 개발 중에 있다. 이를 위하여, 해당 기업들은 정보 수집 차량의 시험 주행을 통해 얻은 정보를 기반으로 주행 알고리즘을 설정하고, 주행 알고리즘을 기초로 시뮬레이터를 이용하여 인공지능(AI)의 강화 학습을 수행하고 있다.
상술한 바와 같은, 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수로 이루어진다. 따라서, 많은 수의 데이터를 보다 용이하게 가공할 수 있는 다양한 수단들이 요구되고 있는 실정이다.
대한민국 등록특허공보 제10-2230144호, ‘인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치’, (2021.03.15. 공고)
본 발명의 일 목적은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 라이다(lidar)에 의해 획득된 라이다 점군의 3D 바운딩 박스 생성 방법을 제공하는 것이다.
본 발명의 다른 목적은 라이다에 의해 획득된 라이다 점군의 3D 바운딩 박스 생성 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 라이다(lidar)에 의해 획득된 라이다 점군의 3D 바운딩 박스 생성 방법 을 제안한다. 상기 방법은 어노테이션 장치가 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 학습시키기 위하여 차량에 고정 설치된 라이다(lidar)에 의해 획득된 3D 점군(3D point group) 데이터를 수신하는 단계; 상기 어노테이션 장치가 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계; 상기 어노테이션 장치가 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스(temporary bounding box)를 각각 설정하는 단계; 및 상기 어노테이션 장치가 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 포함할 수 있다. 이 경우, 상기 2D 임시 바운딩 박스는 상기 3D 점군 데이터를 구성하고 있는 2차원 면(surface)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이고, 상기 3D 바운딩 박스는 상기 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이 될 수 있다.
구체적으로, 상기 2D 이미지 세 개를 식별하는 단계는 상기 3D 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 상기 3D 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 그리고 상기 3D 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별할 수 있다.
상기 2D 임시 바운딩 박스를 각각 설정하는 단계는 상기 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 상기 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점이 탐색되면, 상기 탐색된 인접점을 새로운 기준점으로 하여 X축에서 상기 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적(recursive)으로 수행할 수 있다.
상기 2D 임시 바운딩 박스를 각각 설정하는 단계는 상기 X축에서 상기 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 상기 인접점이 탐색되지 않은 점을 기준으로 Z축에서 상기 인접 거리 내에서 위치하는 인접점이 탐색되면, 상기 Z축에서 탐색된 인접점을 새로운 기준점으로 하여 Z축에서 상기 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다.
상기 2D 임시 바운딩 박스를 각각 설정하는 단계는 상기 Z축에서 상기 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 상기 X축에서 탐색된 기준점 및 인접점과 상기 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 상기 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.
그리고, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는 상기 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 상기 기준점의 설정 및 상기 인접점의 탐색 과정을 회귀적으로 수행하고, 상기 Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 상기 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하고, 상기 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 상기 기준점의 설정 및 상기 인접점의 탐색 과정을 회귀적으로 수행하고, 상기 X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 상기 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.
한편, 상기 객체를 특정하는 단계는 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 Z축에서 서로 중첩되고, 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 X축에서 서로 중첩되고, 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 Y축에서 서로 중첩되는 경우, 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스, 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스, 및 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 상기 3D 점군 데이터 내에 객체를 특정하기 위한 3D 바운딩 박스를 구성하는 2차원 평면으로 포함시킬 수 있다.
이 경우, 상기 3D 바운딩 박스는 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 평면(top), 저면(bottom)으로 가지고, 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 좌측면(left lateral), 우측면(right lateral)으로 가지고, 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 정면(front), 배면(rear)으로 가지는 육면체(hexahedron) 형상을 가질 수 있다.
한편, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계 이후에, 상기 어노테이션 장치가, 사용자로부터 입력된 방향 지시에 대응하여, 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 X축 상에서 이동시키거나, 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Z축 상에서 이동시키거나, 또는 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Y축 상에서 이동시키는 단계를 더 포함할 수도 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상술한 바와 같은 검증 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 3D 점군 데이터를 상기 송수신기를 통해 수신하는 단계; 상기 프로세서가 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계; 상기 프로세서가 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스를 각각 설정하는 단계; 및 상기 프로세서가 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예들에 따르면, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다(lidar)를 통해 획득된 3D 점군(3D point group) 데이터에 직접 어노테이션을 수행하지 않고, 3D 점군 데이터를 세 개의 2D 이미지로 분해하여 각각 어노테이션을 수행한 이후 이를 재조합함으로써 3D 점군 데이터로부터 객체를 자동으로 특정할 수 있게 된다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 객체 특정부의 논리적 구성도이다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따라 인공지능(AI) 기계 학습을 위한 데이터를 수집하는 차량을 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따라 3D 점군 데이터로부터 객체를 자동으로 특정하는 과정을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예에 따라 3D 점군 데이터의 품질을 향상시키는 과정을 설명하기 위한 예시도이다.
도 9a 내지 도 9c는 본 발명의 일 실시예에 따라 3D 점군 데이터들로부터 객체를 추적하는 과정을 설명하기 위한 예시도이다.
도 10a 내지 도 10c는 본 발명의 일 실시예에 따라 2D 이미지들로부터 객체를 추적하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따라 3D 점군 데이터와 2D 이미지 사이의 동기화를 수행하는 과정을 설명하기 위한 예시도이다.
도 12 및 도 13은 본 발명의 일 실시예에 따라 화각의 경계를 넘어가는 객체를 추적하는 과정을 설명하기 위한 예시도이다.
도 14는 본 발명의 일 실시예에 따라 3D 점군 데이터를 이용하여 2D 이미지를 전처리하는 과정을 설명하기 위한 예시도이다.
도 15는 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 방법을 설명하기 위한 순서도이다.
도 16은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
종래의 수단들에 따르면, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여, 차량에 고정 설치된 라이다(lidar)를 통해 획득된 다수의 3D 점군(3D point group) 데이터들과, 해당 차량에 동일하게 고정 설치된 카메라를 통해 획득된 다수의 2D 이미지들을 가공하는 과정에서 많은 시간과 인력이 요구되었다.
이러한 한계를 극복하기 위하여, 본 발명은 다수의 3D 점군 데이터들과 2D 이미지들을 보다 용이하게 가공할 수 있는 다양한 수단들을 제안하고자 한다.
도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200-1, 200-2, …, 200-n; 200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.
또한, 도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(200-a, 200-b, …, 200-m; 200)와 학습 데이터 검증 장치(300-a, 300-b, …, 300-m; 300)가 하나로 이루어진 복수 개의 그룹(Group-a, Group-b …, Group-m), 학습 데이터 생성 장치(100) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.
이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 학습 데이터 생성 장치(100)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다.
이와 같은, 학습 데이터 생성 장치(100)는 기본적으로 학습 데이터 검증 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 학습 데이터 생성 장치(100)와 학습 데이터 검증 장치(300)가 하나의 장치로 통합되어 구현될 수도 있다.
구체적으로, 학습 데이터 설계 장치(100)는 인공지능 학습 장치(400)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.
우선적으로, 학습 데이터 설계 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다. 예를 들어, 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.
학습 데이터 설계 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집할 수 있다. 이를 위하여, 학습 데이터 설계 장치(100)는 외부로부터 3D 점군 데이터 및 2D 이미지들을 입력 받거나, 웹 크롤링(web crawling)을 수행하여 3D 점군 데이터 및 2D 이미지들을 수집하거나, 또는 외부 기관의 장치로부터 3D 점군 데이터 및 2D 이미지들을 다운로드 할 수 있다.
여기서, 3D 점군 데이터는 차량에 고정 설치된 라이다(lidar)에 의해 획득된 데이터이다. 차량에 고정 설치된 라이다는 레이저 펄스를 발사하고, 차량 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다. 즉, 3D 점군 데이터를 구성하는 점군은 라이다에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점(point)들의 집합을 의미한다.
그리고, 2D 이미지는 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다. 자율주행을 위하여 하나의 차량에는 다수 개의 카메라가 고정 설치되어, 차량 주위에 대한 2차원 이미지를 각각 촬영할 수 있다. 예를 들어, 하나의 차량에 6개의 카메라가 설치될 수 있으나, 이에 한정되지 않는다.
학습 데이터 설계 장치(100)는 수집된 3D 점군 데이터 및 2D 이미지들 중에서 중복되거나 또는 극히 유사한 데이터를 제거할 수 있다. 학습 데이터 설계 장치(100)는 수집된 3D 점군 데이터 및 2D 이미지들에 포함된 개인정보를 비식별화(de-identification)할 수 있다.
학습 데이터 설계 장치(100)는 수집 및 정제된 3D 점군 데이터 및 2D 이미지들을 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다. 이 경우, 학습 데이터 설계 장치(100)는 어노테이션 장치(200)의 작업자(즉, 라벨러)에 대하여 사전에 할당된 양에 따라 3D 점군 데이터 및 2D 이미지들을 분배할 수 있다.
학습 데이터 설계 장치(100)는 어노테이션 장치(200)로부터 직접 어노테이션 작업 결과물을 수신하거나, 또는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.
학습 데이터 설계 장치(100)는 수신된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 설계 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.
이와 같은 특징을 가지는, 학습 데이터 생성 장치(100)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 3D 점군 데이터 및 2D 이미지들에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 3D 점군 데이터와 2D 이미지들을 보다 용이하게 가공할 수 있는 다양한 수단들을 제공할 수 있다.
이와 같은 특징을 가지는, 어노테이션 장치(200)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(100)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.
또한, 어노테이션 장치(200)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션을 수행하는 장치가 될 수도 있다.
이와 같은, 어노테이션 장치(200)의 구체적이 구성 및 동작에 대해서는 추후 도 3 내지 도 5를 참조하여 설명하기로 한다.
다음 구성으로, 학습 데이터 검증 장치(300)는 인공지능(AI) 학습용 데이터를 검증하는데 사용될 수 있는 장치이다. 즉, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 사전에 설정된 목표 품질에 부합하는지 여부, 또는 어노테이션 작업 결과물이 인공지능(AI) 학습에 유효한지 여부를 검증할 수 있는 장치이다.
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 수신할 수 있다. 여기서, 어노테이션 작업 결과물은 3D 점군 데이터 및 2D 이미지들로부터 특정된 객체의 좌표와, 이미지 또는 객체에 대한 메타데이터가 포함될 수 있다. 어노테이션 작업 결과물의 메타데이터에는 특정된 객체의 카테고리(category), 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation), 객체가 다른 객체 또는 물체에 의해 가려진 비율(occlusion), 객체의 트래킹 아이디(tracking identifier), 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되는 것은 아니다. 이와 같은, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것도 아니다.
학습 데이터 검증 장치(300)는 수신된 어노테이션 작업 결과물을 검수할 수 있다. 이를 위하여, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.
그리고, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다.
상술한 바와 같은 특징을 가지는, 학습 데이터 검증 장치(300)는 어노테이션 장치(200) 및 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 검증 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 인공지능 학습 장치(400)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습하는데 사용될 수 있는 장치이다.
이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
상술한 바와 같은, 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
이하, 상술한 바와 같은, 어노테이션 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 통신부(205), 입출력부(210), 저장부(215), 객체 특정부(220), 메타데이터 생성부(225) 및 결과물 생성부(230)를 포함하여 구성될 수 있다.
이와 같은, 어노테이션 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(205)는 학습 데이터 생성 장치(100)로부터 3D 점군 데이터 및 2D 이미지들을 수신할 수 있다. 통신부(205)는 3D 점군 데이터 및 2D 이미지들을 학습 데이터 생성 장치(100)로부터 개별적으로 수신하거나, 또는 일괄적으로 수신할 수 있다.
여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 데이터이다. 이와 같은, 3D 점군 데이터는 차량에 설치된 라이다에 의해 시계열적으로 연속되게 획득될 수 있다. 그리고, 통신부(205)는 시계열적으로 연속되게 획득된 3D 점군 데이터들을 수신할 수 있다.
그리고, 2D 이미지는 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다. 이와 같은, 2D 이미지는 차량에 설치된 카메라에 의해 시계열적으로 연속되게 촬영될 수 있다. 그리고, 통신부(205)는 시계열적으로 연속되게 촬영된 2D 이미지들을 수신할 수 있다.
그리고, 통신부(205)는 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다. 이와 같은, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다. 여기서, 사용자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 사용자는 작업자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.
구체적으로, 입출력부(210)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 3D 점군 데이터 또는 2D 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.
그리고, 입출력부(110)는 이미지의 메타데이터를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다.
구체적으로, 저장부(215)는 통신부(205)를 통해 수신된 3D 점군 데이터 및 2D 이미지들을 저장할 수 있다. 또한, 저장부(215)는 통신부(205)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 사용자의 속성을 저장할 수 있다.
다음 구성으로, 객체 특정부(220)는 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지 각각에 대하여, 인공지능(AI)의 기계 학습의 대상이 되는 객체를 특정할 수 있다.
특징적으로, 본 발명의 일 실시예에 따른 객체 특정부(220)는 3D 점군 데이터와 2D 이미지들을 대상으로 보다 용이하게 어노테이션을 수행할 수 있는 다양한 수단들을 제공할 수 있다.
이와 같은, 객체 특정부(220)의 구체적인 구성 및 동작에 대해서는 추후 도 4를 참조하여 설명하기로 한다.
다음 구성으로, 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지에 대한 메타데이터(metadata)를 생성할 수 있다.
여기서, 메타데이터는 3D 점군 데이터 또는 2D 이미지와, 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체를 설명하기 위한 데이터이다. 이와 같은, 메타데이터에는 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체의 카테고리, 객체가 2D 이미지의 화각에 의해 잘려진 비율, 객체가 다른 객체 또는 물체에 의해 가려진 비율, 객체의 트래킹 아이디, 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되지 아니하고, 파일 크기, 이미지 크기, 저작권자, 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이, 클래스 명, 태그, 촬영 장소, 도로의 유형, 도로 표면 정보 또는 교통 체증 정보가 더 포함될 수도 있다.
메타데이터 생성부(225)는 기본적으로 입출력부(210)를 통해 사용자로부터 입력된 제어 신호에 따라, 메타데이터에 포함될 구체적인 값들을 설정할 수 있다.
특징적으로, 본 발명의 일 실시예에 따른 객체 특정부(220)에 의해 전처리된 2D 이미지들에 대하여 메타데이터가 사전 설정될 수 있으며, 메타데이터 생성부(225)는 사전 설정된 메타데이터를 단순히 수정 또는 검증하는 역할만 수행할 수도 있다.
다음 구성으로, 결과물 생성부(230)는 어노테이션 작업 결과물을 생성할 수 있다.
구체적으로, 결과물 생성부(230)는 객체 특정부(220)에 의해 3D 점군 데이터 및 2D 이미지들로부터 특정된 객체의 좌표 및 메타데이터 생성부(225)에 의해 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
그리고, 결과물 생성부(230)은 생성된 어노테이션 작업 결과물을 통신부(205)를 통해 학습 데이터 생성 장치(100)에 직접 전송하거나, 또는 학습 데이터 검증 장치(300)에 전송할 수 있다.
이하 상술한 바와 같은, 본 발명의 일 실시예에 따른 어노테이션 장치(200)를 구성하는 객체 특정부(220)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 객체 특정부의 논리적 구성도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 객체 특정부(220)는 3D 데이터 객체 특정 모듈(220-1), 2D 이미지 객체 특정 모듈(220-2), 품질 관리 모듈(220-3), 객체 자동 추적 모듈(220-4), 동기화 처리 모듈(220-5) 및 전처리 모듈(220-6)을 포함하여 구성될 수 있다.
이와 같은, 객체 특정부(220)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 3D 데이터 객체 특정 모듈(220-1)는 3D 점군 데이터로부터 객체(object)를 특정할 수 있다.
구체적으로, 3D 데이터 객체 특정 모듈(220-1)은 통신부(205)를 통해, 3D 점군 데이터를 수신할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 데이터이다.
기본적으로, 3D 데이터 객체 특정 모듈(220-1)은 입출력부(210)를 통해 입력된 제어 신호에 따라 여섯 개의 좌표를 입력 받을 수 있다. 3D 데이터 객체 특정 모듈(220-1)은 입력된 여섯 개의 좌표를 기초로 3D 바운딩 박스(3D bounding box)를 설정함으로써, 3D 점군 데이터 속에 포함된 객체를 특정할 수 있다.
여기서, 3D 바운딩 박스는 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은,3D 바운딩 박스는 육면체(hexahedron)의 형상을 가질 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 입출력부(210)를 통해 사용자로부터 여섯 개의 좌표를 입력 받고, 입력된 여섯 개의 좌표를 꼭지점(vertex)의 좌표로 가지는 육면체의 3D 바운딩 박스를 3D 점군 데이터 내에 설정할 수 있다.
이 경우, 여섯 개의 좌표는 사용자가 한 종류의 입력 신호를 여섯 번 입력(예들 들어, 마우스의 클릭 또는 키보드의 키 입력)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스의 드래그 또는 키보드의 두 개의 키 입력)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.
특징적으로, 3D 데이터 객체 특정 모듈(220-1)은 3D 점군 데이터로부터 객체를 자동으로 특정할 수 있다.
구체적으로, 3D 데이터 객체 특정 모듈(220-1)은 수신된 3D 점군 데이터의 X축(즉, 3D 점군 데이터의 폭), Y축(즉, 3D 점군 데이터의 높이) 및 Z축(즉 3D 점군 데이터의 깊이) 중에서 하나의 축(axis)을 고정한 2D 이미지 세 개를 식별할 수 있다.
예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 3차원 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 3차원 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 및 상기 3차원 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별할 수 있다.
3D 데이터 객체 특정 모듈(220-1)은 식별된 세 개의 2D 이미지 각각을 대상으로 이미지 내에 포함되어 있는 일부 점들의 집합을 식별할 수 있다. 그리고, 3D 데이터 객체 특정 모듈(220-1)은 식별된 일부 점들의 집합이 포함되도록, 2D 임시 바운딩 박스(temporary bounding box)를 세 개의 2D 이미지 각각에 설정할 수 있다.
여기서, 2D 임시 바운딩 박스는 인공지능(AI) 학습을 위한 객체를 직접적으로 특정하기 위한 영역은 아니며, 3D 점군 데이터를 구성하고 있는 2차원 면(surface, 즉, 3D 점군 데이터로부터 식별된 평면 시점 이미지, 정면 시점 이미지 및 측면 시점 이미지)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이다.
예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 평면 시점 이미지, 정면 시점 이미지 및 측면 시점 이미지 각각에 대하여 다음을 수행할 수 있다.
우선, 3D 데이터 객체 특정 모듈(220-1)은 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점을 탐색한다. 3D 데이터 객체 특정 모듈(220-1)은 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 X축에서 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적(recursive)으로 수행할 수 있다.
3D 데이터 객체 특정 모듈(220-1)은 X축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 인접점이 탐색되지 않은 점을 기준으로 Z축에서 인접 거리 내에서 위치하는 인접점을 탐색한다. 3D 데이터 객체 특정 모듈(220-1)은 Z 축에서 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 Z축에서 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다.
3D 데이터 객체 특정 모듈(220-1)은 Z축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, X축에서 탐색된 기준점 및 인접점과 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.
상술한 바와 같은 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하는 과정과 동일하게, 3D 데이터 객체 특정 모듈(220-1)은 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.
또한, 3D 데이터 객체 특정 모듈(220-1)은 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 정면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.
상술한 바와 같이, 2D 임시 바운딩 박스를 각각 설정한 이후, 3D 데이터 객체 특정 모듈(220-1)은 입출력부(210)를 통해 사용자로부터 입력된 방향 지시에 대응하여, 2D 임시 바운딩 박스를 평행 이동(parallel transference)시킬 수 있다.
예를 들어, 3D 객체 특정 모듈(220-1)은 사용자로부터 입력된 방향 지시에 대응하여, 평면 시점 이미지에 설정된 2D 임시 바운딩 박스를 X축 상에서 평행 이동시키거나, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Z축 상에서 평행 이동시키거나, 또는 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Y축 상에서 평행 이동시킬 수 있다.
그리고, 3D 데이터 객체 특정 모듈(220-1)은 세 개의 2D 이미지(즉, 평면 시점 이미지, 측면 시점 이미지 및 정면 시점 이미지) 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 자동으로 설정할 수 있다.
예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 Z축에서 서로 중첩되고, 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 X축에서 서로 중첩되고, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 Y축에서 서로 중첩되는 경우, 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스, 및 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 3D 점군 데이터 내에서 객체를 특정하기 위한 3D 바운딩 박스를 구성하는 2차원 평면으로 포함시킬 수 있다.
이 경우, 3D 바운딩 박스는 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 평면(top), 저면(bottom)으로 가지고, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 좌측면(left lateral), 우측면(right lateral)으로 가지고, 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 정면(front), 배면(rear)으로 가지는, 육면체(hexahedron) 형상을 가지게 된다.
다음 구성으로, 2D 이미지 객체 특정 모듈(220-2)은 2D 이미지로부터 객체를 특정할 수 있다.
구체적으로, 2D 이미지 객체 특정 모듈(220-2)은 통신부(205)를 통해, 복수 개의 2D 이미지를 수신할 수 있다. 여기서, 2D 이미지는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다.
기본적으로, 2D 데이터 객체 특정 모듈(220-2)은 입출력부(210)를 통해 입력된 제어 신호에 따라 복수 개의 좌표를 입력 받을 수 있다. 2D 데이터 객체 특정 모듈(220-2)은 입력된 복수 개의 좌표를 기초로 2D 바운딩 박스(2D bounding box)를 설정함으로써, 2D 이미지 속에 포함된 객체를 특정할 수 있다.
여기서, 2D 바운딩 박스는 2D 이미지에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 2D 이미지에 설정되는 2D 바운딩 박스는 본 발명의 구현 방식에 따라, 여섯 개의 꼭지점을 가지는 3차원의 육면체 형상을 가지거나, 또는 4개의 꼭지점을 가지는 2차원 사각(rectangle) 형상을 가질 수 있으며, 이에 한정되는 것도 아니다.
특징적으로, 2D 데이터 객체 특정 모듈(220-2)은 객체 자동 추적 모듈(220-4) 또는 전처리 모듈(220-6)에 의해 미리 배치된 2D 바운딩 박스를, 입출력부(210)를 통해 입력된 제어 신호에 따라 단순히 수정할 수도 있다.
다음 구성으로, 품질 관리 모듈(220-3)은 연속적으로 획득된 3D 점군 데이터들의 품질을 향상시킬 수 있다.
구체적으로, 품질 관리 모듈(220-3)은 통신부(205)를 통해 수신된 3D 점군 데이터들 각각을 대상으로, 3D 데이터 객체 특정 모듈(220-1)을 통해 3D 점군 데이터 내에 포함된 객체를 특정할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.
품질 관리 모듈(220-3)은 특정된 객체를 기초로, 3D 점군 데이터들 중에서 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터를 식별할 수 있다.
예를 들어, 품질 관리 모듈(220-3)은 3D 점군 데이터들 각각에 포함된 객체에 대하여, 메타 데이터 생성부(225)에 의해 부여된 트래킹 아이디를 서로 비교하여, 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터를 식별할 수 있다. 이 경우, 트래킹 아이디는 3D 점군 데이터들 및 2D 이미지들 내에서 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자가 될 수 있다.
품질 관리 모듈(220-3)은 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체들의 품질을 서로 비교하여, 품질이 가장 우수한 하나의 객체를 선택할 수 있다.
예를 들어, 품질 관리 모듈(220-3)은 3D 점군 데이터들 각각으로 특정된 객체들이 3D 점군 데이터 내에서 차지하고 있는 부피(volume)를 산출하고, 상기 산출된 부피가 가장 큰 하나의 객체를 선택할 수 있다. 이 경우, 품질 관리 모듈(220-3)은 객체를 특정하기 위하여 설정된 3D 바운딩 박스에 대한, X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 곱하여 객체의 부피를 산출할 수 있다. 품질 관리 모듈(220-3)은 산출된 부피가 가장 큰 객체가 복수 개인 경우, 복수 개의 객체 각각을 구성하고 있는 점(point)들의 개수를 산출하고, 점들의 개수가 가장 많은 하나의 객체를 선택할 수 있다.
품질 관리 모듈(220-3)은 산출된 부피를 기초로 하나의 객체를 선택함에 있어, 객체가 다른 물체에 의해 가려진 비율(occlusion)이 최소인 객체들의 부피를 우선적으로 비교할 수 있다.
품질 관리 모듈(220-3)은 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지 내에서 3D 점군 데이터로부터 특정된 객체와 동일한 트래킹 아이디가 부여된 객체를 특정하고, 2D 이미지 내에서 특정된 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation)이 최소인 객체들의 부피를 우선적으로 비교할 수도 있다.
또한, 품질 관리 모듈(220-3)은 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지가 복수 개이고, 복수 개의 2D 이미지 중 제1 2D 이미지와 제2 2D 이미지가 동일한 객체의 서로 다른 부분을 포함하고 있으며, 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 객체의 두 부분을 서로 조합하여 잘려진 비율이 0인 객체를 도출할 수 있는 경우, 두 부분을 서로 조합하여 도출된 객체의 부피를 기초로 품질이 가장 우수한 하나의 객체를 선택할 수 있다.
이를 위하여, 품질 관리 모듈(220-3)은 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 두 부분에 대한 색상(hue), 밝기(brightness) 및 감마(gamma)를 비교하여, 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 두 부분이 동일한 객체의 서로 다른 부분인지 검증할 수도 있다.
그리고, 품질 관리 모듈(220-3)은 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체를 구성하고 있는 점들을 대상으로, 가장 우수한 품질을 가지는 것으로 선택된 하나의 객체를 구성하는 점들로 대체할 수 있다.
다음 구성으로, 객체 자동 추적 모듈(220-4)은 연속적으로 획득된 3D 점군 데이터들 또는 연속적으로 획득된 2D 이미지들로부터 동일한 객체를 추적할 수 있다.
우선, 객체 자동 추적 모듈(220-4)이 연속적으로 획득된 3D 점군 데이터들로부터 동일한 객체를 추적하는 과정을 설명한다.
객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터, 제2 3D 점군 데이터 및 제3 3D 점군 데이터 각각에 대하여, 3D 데이터 객체 특정 모듈(220-1)을 통해 3D 점군 데이터 내에 포함된 하나 이상의 객체를 특정할 수 있다.
여기서, 제1 3D 점군 데이터, 제2 3D 점군 데이터 및 제3 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 시계열에 따라 연속적으로 획득된 데이터들에 포함된 3D 점군 데이터이다. 그리고, 제1 3D 점군 데이터는 제2 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터이고, 제2 3D 점군 데이터는 제3 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터가 될 수 있다.
객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터 및 제2 3D 점군 데이터 내에 공통적으로 포함되어 있는 공통 객체를 식별할 수 있다.
예를 들어, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터 및 제2 3D 점군 데이터 각각에 포함된 객체에 대하여 부여된 트래킹 아이디를 서로 비교하여, 동일한 트래킹 아이디가 부여된 객체를 공통 객체로 식별할 수 있다.
객체 자동 추적 모듈(220-4)은 식별된 공통 객체의 이동 속도를 산출할 수 있다.
예를 들어, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터로부터 특정된 공통 객체와 상기 제2 3D 점군 데이터로부터 특정된 공통 객체 사이의 이격 거리와, 제1 3D 점군 데이터의 획득 시각과 제2 3D 점군 데이터의 획득 시각 사이의 이격 시간을 이용하여, 공통 객체의 이동 속도를 산출할 수 있다.
객체 자동 추적 모듈(220-4)은 산출된 이동 속도를 기초로, 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역을 식별할 수 있다.
객체 자동 추적 모듈(220-4)은 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역에 실제로 공통 객체가 존재하는지 검증할 수 있다. 보다 구체적으로, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역과, 제3 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체가 위치할 것으로 추정되는 영역 내에 실제로 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 2D 이미지와 상기 제3 2D 이미지는 제1 3D 점군 데이터 및 제3 3D 점군 데이터를 획득하는데 사용된 라이다가 설치된 차량과 동일한 차량에 고정 설치된 카메라에 의해 촬영된 이미지가 될 수 있다.
예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB(Red, Green, Blue) 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, RGB 패턴은 영역 내 화소(pixel)에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴이 될 수 있다.
다를 예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지(edge) 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 엣지 패턴은 영역 내에서 엣지에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀의 개수 및 영역 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴이 될 수 있다.
객체 자동 추적 모듈(220-4)은 공통 객체가 위치할 것으로 추정되는 영역의 위치 및 크기를 기초로, 제3 3D 점군 데이터로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여 기 설정된 3D 바운딩 박스의 위치 및 크기를 재조정할 수 있다.
그리고, 객체 자동 추적 모듈(220-4)은 제3 3D 점군 데이터로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여, 공통 객체에 대하여 기 부여된 메타데이터를 부여할 수 있다. 이 경우, 객체 자동 추적 모듈(220-4)은 제3 3D 점군 데이터에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여 크기를 부여할 수 있다.
관측자와 관측 대상 사이의 거리가 달라지면, 관측자에 의해 관측되는 관측 대상의 상대적인 크기는 달라지게 된다. 그러나, 객체 자동 추적 모듈(220-4)은 라이다가 고정 설치된 차량으로부터 공통 객체가 이격된 거리와 무관하게, 공통 객체의 고유한 형상에 의해 결정된 절대 크기를 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체의 크기로 부여할 수 있다.
다음으로, 객체 자동 추적 모듈(220-4)이 연속적으로 획득된 2D 이미지들로부터 동일한 객체를 추적하는 과정을 설명한다.
객체 자동 추적 모듈(220-4)은 제1 2D 이미지, 제2 2D 이미지 및 제3 2D 이미지 각각에 대하여, 2D 데이터 객체 특정 모듈(220-2)을 통해 2D 이미지 내에 포함된 하나 이상의 객체를 특정할 수 있다.
여기서, 제1 2D 이미지, 제2 2D 이미지 및 제3 2D 이미지는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 카메라를 통해 시계열에 따라 연속적으로 촬영된 이미지들에 포함된 2D 이미지이다. 그리고, 제1 2D 이미지는 제2 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지이고, 제2 2D 이미지는 제3 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지가 될 수 있다.
객체 자동 추적 모듈(220-4)은 제1 2D 이미지 및 제2 이미지 내에 공통적으로 포함되어 있는 공통 객체를 식별할 수 있다.
예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 및 제2 2D 이미지 각각에 포함된 객체에 대하여 부여된 트래킹 아이디를 서로 비교하여, 동일한 트래킹 아이디가 부여된 객체를 공통 객체로 식별할 수 있다.
객체 자동 추적 모듈(220-4)은 식별된 공통 객체의 이동 속도를 산출할 수 있다.
예를 들어, 2D 이미지에 설정되는 2D 바운딩 박스가 3차원 육면체 형상을 가질 경우, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지에서 공통 객체를 특정하기 위해 설정된 바운딩 박스의 부피와 제2 2D 이미지에서 공통 객체를 특정하기 위하여 설정된 바운딩 박스의 부피를 비교하여, 제1 2D 이미지로부터 특정된 상기 공통 객체와 제2 2D 이미지로부터 특정된 상기 공통 객체 사이의 이격 거리를 추정할 수 있다.
이와 다르게, 2D 이미지에 설정되는 2D 바운딩 박스가 2차원 사각 형상을 가질 경우, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지에서 공통 객체를 특정하기 위해 설정된 바운딩 박스의 넓이와 제2 2D 이미지에서 공통 객체를 특정하기 위하여 설정된 바운딩 박스의 넓이를 비교하여, 제1 2D 이미지로부터 특정된 상기 공통 객체와 제2 2D 이미지로부터 특정된 상기 공통 객체 사이의 이격 거리를 추정할 수 있다.
객체 자동 추적 모듈(220-4)은 제1 이미지의 촬영 시각과 제2 이미지의 촬영 시각 사이의 이격 시간을 산출하고, 이격 거리 및 이격 시간을 이용하여 공통 객체의 이동 속도를 산출할 수 있다.
객체 자동 추적 모듈(220-4)은 산출된 이동 속도를 기초로, 제3 2D 이미지 내에서 상기 공통 객체가 위치할 것으로 추정되는 영역을 식별할 수 있다.
객체 자동 추적 모듈(220-4)은 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역에 실제로 공통 객체가 존재하는지 검증할 수 있다. 보다 구체적으로, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지가 촬영된 시각과 동일한 시각에 획득된 제1 3D 점군 데이터 내에서 공통 객체가 차지하고 있는 영역과, 제3 2D 이미지가 촬영된 시각과 동일한 시각에 획득된 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체가 위치할 것으로 추정되는 영역 내에 실제로 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 3D 점군 데이터와 제3 3D 점군 데이터는 제1 이미지 및 제3 이미지를 촬영하는데 사용된 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 획득된 점군 데이터가 될 수 있다.
예를 들어, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터 내에서 공통 객체를 특정하기 위해 설정된 3D 바운딩 박스에 포함된 점들의 개수와, 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역에 포함된 점들의 개수의 차이가 사전에 설정된 품질 변화 범위 내에 포함되는지 여부를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다.
다른 예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다.
또 다른 예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수도 있다.
객체 자동 추적 모듈(220-4)은 공통 객체가 위치할 것으로 추정되는 영역의 위치 및 크기를 기초로, 제3 이미지로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여 기 설정된 2D 바운딩 박스의 위치 및 크기를 재조정할 수 있다.
그리고, 객체 자동 추적 모듈(220-4)은 제3 2D 이미지로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여, 공통 객체에 대하여 기 부여된 메타데이터를 부여할 수 있다. 이 경우, 객체 자동 추적 모듈(220-4)은 제3 이미지에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여, 공통 객체의 고유한 형상에 의해 결정된 절대 크기를 부여할 수 있다.
다음 구성으로, 동기화 처리 모듈(220-5)은 동일한 차량에 고정 설치된 라이다의 3D 점군 데이터로부터 특정된 객체와, 카메라의 2D 이미지로부터 특정된 객체를 서로 동기화시킬 수 있다.
구체적으로, 동기화 처리 모듈(220-5)은 3D 점군 데이터를 대상으로, 3D 데이터 객체 특정 모듈(220-1)을 통해 3D 점군 데이터 내에 포함된 객체를 특정할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.
동기화 처리 모듈(220-5)은 2D 이미지로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체를 특정할 수 있다. 이 경우, 2D 이미지는 3D 점군 데이터를 획득한 라이다가 설치된 차량과 동일한 차량에 고정 설치된 카메라를 통해, 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 이미지이다.
동기화 처리 모듈(220-5)은 3D 점군 데이터로부터 특정된 객체와 2D 이미지로부터 특정된 객체가 서로 대응하는지 판단할 수 있다.
예를 들어, 동기화 처리 모듈(220-5)은 3D 바운딩 박스의 관측 방향(observation direction)이 2D 이미지를 촬영한 카메라의 광축(optical axis) 방향에 대응하도록 3D 바운딩 박스를 3차원 회전시킨 후, 3차원 회전된 3D 바운딩 박스와 2D 바운딩 박스의 형상이 서로 대응되는지 판단할 수 있다. 이 경우, 3D 바운딩 박스와 2D 바운딩 박스는 모두 육면체 형상을 가질 수 있을 것이다.
동기화 처리 모듈(220-5)은 3D 점군 데이터로부터 특정된 객체와 2D 이미지로부터 특정된 객체가 서로 대응할 수 있도록, 동일한 객체를 특정하기 위하여 3D 점군 데이터 내에 설정된 3D 바운딩 박스의 위치 또는 크기를 조정하거나, 또는 동일한 객체를 특정하기 위하여 2D 이미지 내에 설정된 2D 바운딩 박스의 위치 또는 크기를 조정할 수 있다.
예를 들어, 동기화 처리 모듈(220-5)은 3D 점군 데이터에 포함된 깊이(depth) 값을 기초로, 동일한 객체를 특정하기 위해 2D 이미지 내에 설정된 2D 바운딩 박스의 경계선(border line)의 위치를 재조정할 수 있다. 여기서, 깊이 값은 라이다로부터 발사된 레이저 펄스를 반사시킨 객체가 라이다로부터 이격된 거리를 지시하는 값이 될 수 있다.
이 경우, 동기화 처리 모듈(220-5)은 3D 점군 데이터에 포함된 깊이 값이 사전에 설정된 임계 범위 이상으로 변화되는 변곡선(inflection line)을 식별하고, 2D 이미지 내에서 동일 객체를 특정하기 위해 설정된 2D 바운딩 박스의 경계선이 식별된 변곡선에 대응하도록, 2D 바운딩 박스의 경계선의 위치를 재조정할 수 있다.
다른 예를 들어, 동기화 처리 모듈(220-5)은 2D 이미지에 포함된 RGB 값을 기초로, 동일한 객체를 특정하기 위해 설정된 3D 바운딩 박스의 경계선의 위치를 재조정할 수 있다. 또한, 동기화 처리 모듈(220-5)은 2D 이미지에 포함된 엣지를 검출(edge detection)하고, 동일한 객체를 특정하기 위해 3D 점군 데이터 내에 설정된 3D 바운딩 박스의 경계선이 2D 이미지로부터 검출된 엣지에 대응하도록 상기 3D 바운딩 박스의 경계선의 위치를 재조정할 수도 있다.
또 다른 예를 들어, 동기화 처리 모듈(220-5)은 동일 객체를 특정하기 위한 3D 바운딩 박스의 부피(volume)가, 동일 객체를 특정하기 위한 2D 바운딩 박스의 부피보다 작은 경우, 상기 2D 바운딩 박스의 부피가 3D 바운딩 박스의 부피와 동일해지도록 2D 바운딩 박스의 부피를 감축시킬 수 있다.
이 경우, 동기화 처리 모듈(220-5)은 2D 이미지를 파일(file)로 압축하는 과정에서 적용된 크로마 서브샘플링(chroma subsampling)의 크기 내에서, 2D 바운딩 박스를 구성하는 선분 각각을 2D 바운딩 박스의 내측을 향하여 이동시켜 2D 바운딩 박스의 부피를 감축시킬 수 있다.
그리고, 동기화 처리 모듈(220-5)은 3D 바운딩 박스의 위치 또는 크기, 또는 상기 2D 바운딩 박스의 위치 또는 크기가 조정된 이후, 조정된 위치 또는 크기 값을 임시 저장할 수 있다. 이와 같이, 임시 저장된 위치 또는 크기 값은 3D 점군 데이터 또는 2D 이미지와 시계열적으로 연속되게 획득 또는 촬영된 후속 3D 점군 데이터 또는 2D 이미지에 적용될 수 있을 것이다.
다음 구성으로, 전처리 모듈(220-6)은 연속적으로 획득된 3D 점군 데이터들을 기초로, 2D 이미지를 촬영한 카메라들의 화각과 무관하게 동일한 객체를 추적하여, 2D 이미지들을 전처리할 수 있다.
우선, 전처리 모듈(220-6)이 2D 이미지들을 각각 촬영한 카메라들의 화각과 무관하게 동일한 객체를 추적하는 과정을 설명한다.
전처리 모듈(220-6)은 통신부(205)를 통해 수신된 복수 개의 2D 이미지들 각각을 대상으로 2D 데이터 객체 특정 모듈(220-2)을 통해 2D 이미지 내에 포함된 객체를 특정할 수 있다. 여기서, 복수 개의 2D 이미지들은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다.
전처리 모듈(220-6)은 3D 점군 데이터들로부터 2D 이미지로부터 특정된 객체와 동일한 객체를 특정할 수 있다. 여기서, 3D 점군 데이터들은 2D 이미지의 촬영을 위해 복수 개의 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.
예를 들어, 전처리 모듈(220-6)은 라이다 및 카메라가 설치된 차량이 가상의 원형의 중심점이 되도록, 복수 개의 2D 이미지들을 카메라의 광축(optical axis) 각도에 따라 원형으로 배치할 수 있다. 전처리 모듈(220-6)은 3D 점군 데이터로부터 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지를 획득할 수 있다. 전처리 모듈(220-6)은 원형으로 배치된 복수 개의 2D 이미지와 상기 평면 시점 이미지를 매칭하여 상기 동일한 객체를 특정할 수 있다.
전처리 모듈(220-6)은 3D 점군 데이터들로부터 특정된 동일한 객체의 위치 변화를 기초로 동일한 객체의 이동 경로를 식별할 수 있다.
보다 상세하게, 전처리 모듈(220-6)은 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 경우, 동일한 객체의 이동 경로를 식별할 수 있다.
이를 위하여, 전처리 모듈(220-6)은 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지 중에서 제1 2D 이미지의 화각에 의해 잘려진 비율(truncation)과 제2 이미지의 화각에 의해 잘려진 비율의 합이 사전에 설정된 임계 비율 이상인 경우, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 것으로 판단할 수 있다.
전처리 모듈(220-6)은 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지로부터 특정된 객체의 RGB 값과 제2 2D 이미지로부터 특정된 객체의 RGB 값을 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는지 여부를 검증할 수 있다.
이와 다르게, 전처리 모듈(220-6)은 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지와 제2 2D 이미지 사이의 경계선을 기준으로, 제1 2D 이미지로부터 특정된 객체의 엣지와 제2 2D 이미지로부터 특정된 객체의 엣지가 연속되는지 여부를 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는지 여부를 검증할 수 있다.
또한, 전처리 모듈(220-6)은 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지 사이의 경계선에 3D 점군 데이터로부터 특정된 객체가 걸쳐진(across) 경우, 동일한 객체의 이동 경로를 식별할 수도 있다.
그리고, 전처리 모듈(220-6)은 식별된 동일한 객체의 이동 경로를 기초로, 복수 개의 2D 이미지들 각각으로부터 특정된 객체에 동일한 메타데이터를 부여할 수 있다.
예를 들어, 전처리 모듈(220-6)은 복수 개의 2D 이미지들 각각으로부터 특정된 객체에 대하여 동일한 트래킹 아이디를 부여할 수 있다. 또한, 전처리 모듈(220-6)은 2D 이미지 내에서 객체가 차지하고 있는 상대적인 크기가 아닌, 3D 점군 데이터로부터 식별되며 객체의 고유한 형상에 의해 결정되는 절대 크기를 복수 개의 2D 이미지들 각각으로부터 특정된 객체의 메타데이터에 동일하게 포함시킬 수도 있다.
다음으로, 전처리 모듈(220-6)이 2D 이미지들을 전처리하는 과정을 설명한다.
전처리 모듈(220-6)은 통신부(205)를 통해 수신된 3D 점군 데이터들 각각을 대상으로, 라이다에 의해 획득된 시간 순서에 따라 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.
만약, 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 전처리 모듈(220-6)은 라이다에 의해 3D 점군 데이터가 획득된 시간동안 복수 개의 카메라에 의해 촬영된 2D 이미지들을 객체의 특정 대상으로부터 제외시킬 수 있다.
전처리 모듈(220-6)은 라이다에 의해 획득된 시간 순서에 따라 특정된 객체의 위치 변화를 기초로 객체의 이동 경로를 식별할 수 있다.
예를 들어, 전처리 모듈(220-6)은 3D 점군 데이터들에서 X축 및 Z축의 데이터만으로 구성된 평면 시점 이미지들을 획득하고, 평면 시점 이미지들 각각에서 객체가 위치하는 지점을 연결하여 객체의 이동 경로를 식별할 수 있다. 이 경우, X축의 데이터는 상기 3D 점군 데이터 중에서 폭에 관한 데이터이고, 상기 Z축의 데이터는 상기 3D 점군 데이터 중에서 깊이에 관한 데이터가 될 수 있다.
전처리 모듈(220-6)은 식별된 객체의 이동 경로를 이용하여, 라이다가 설치된 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체를 특정할 수 있다.
보다 상세하게, 전처리 모듈(220-6)은 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체의 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 객체의 특정 대상으로부터 제외시킬 수 있다.
전처리 모듈(220-6)은 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체의 이동 경로에 매칭되는 2D 이미지 내에, 3D 점군 데이터들로부터 특정된 객체와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스를 미리 배치할 수 있다.
이를 위하여, 전처리 모듈(220-6)은 객체의 이동 경로에 매칭되는 2D 이미지를 촬영한 카메라의 광축 방향 및 3D 점군 데이터 내에서 객체가 특정된 위치를 기초로, 2D 이미지 내에서 2D 바운딩 박스를 미리 배치할 위치를 결정할 수 있다.
전처리 모듈(220-6)은 입출력부(210)의 사용자 인터페이스(UI)를 통해 2D 바운딩 박스의 꼭짓점 위치의 조정이 완료되었음을 지시하는 신호가 입력되면, 3D 점군 데이터들로부터 특정된 객체에 기 부여된 메타데이터를 2D 바운딩 박스에 의해 특정된 객체의 메타데이터로 부여할 수 있다.
예를 들어, 전처리 모듈(220-6)은 3D 점군 데이터들로부터 특정된 객체에 기 부여된 트래킹 아이디를 2D 바운딩 박스에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 또한, 전처리 모듈(220-6)은 3D 점군 데이터로부터 식별되며 객체의 고유한 형상에 의해 결정되는 절대 크기를 2D 바운딩 박스에 의해 특정된 객체의 메타데이터에 포함시킬 수도 있다.
이하, 상술한 바와 같은 어노테이션 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 5에 도시된 바와 같이, 어노테이션 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 어노테이션 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 어노테이션 장치(200)의 동작에 필요한 데이터를 입력 받고, 어노테이션 작업의 대상이 되는 이미지, 바운딩 박스, 메타데이터를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 라이다 점군의 3D 바운딩 박스 생성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다에 의해 획득된 3D 점군 데이터를 상기 송수신기를 통해 수신하는 단계, 상기 프로세서(250)가 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계, 상기 프로세서(250)가 상기 세 개의 2D 이미지 각각을 대상으로 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스를 각각 설정하는 단계, 및 상기 프로세서(250)가 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 실행시키기 위하여, 기록매체에 기록된 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 객체 품질 향상 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 연속적으로 획득된 3D 점군 데이터들 각각을 대상으로, 3D 점군 데이터 내에 포함된 객체를 특정하는 단계, 상기 프로세서(250)가 상기 특정된 객체를 기초로 상기 3D 점군 데이터들 중에서 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터를 식별하는 단계, 상기 프로세서(250)가 상기 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체들의 품질을 서로 비교하여 하나의 객체를 선택하는 단계, 및 상기 프로세서(250)가 상기 복수 개의 3D점군 데이터에 각각 포함된 상기 동일한 객체를 구성하고 있는 점들을, 상기 선택된 하나의 객체를 구성하는 점들로 대체하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 연속된 3D 데이터에서 객체 추적 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 제1 3D 점군 데이터, 제2 3D 점군 데이터, 제3 3D 점군 데이터 각각에 대하여, 3D 점군 데이터 내에 포함된 하나 이상의 객체를 특정하는 단계, 상기 프로세서(250)가 상기 제1 3D 점군 데이터 및 제2 3D 점군 데이터 내에 공통적으로 포함되어 있는 공통 객체를 식별하는 단계, 상기 프로세서(250)가 상기 식별된 공통 객체의 이동 속도를 산출하는 단계, 상기 프로세서(250)가 상기 산출된 이동 속도를 기초로, 상기 제3 3D 점군 데이터 내에서 상기 공통 객체가 위치할 것으로 추정되는 영역을 식별하는 단계, 및 상기 프로세서(250)가 상기 제3 3D 점군 데이터로부터 특정된 객체들 중 상기 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체에 대하여, 상기 공통 객체에 대하여 기 부여된 메타데이터를 부여하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 연속된 2D 데이터에서 객체 추적 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 제1 2D 이미지, 제2 2D 이미지, 제3 2D 이미지 각각에 대하여, 2D 이미지 내에 포함된 하나 이상의 객체를 특정하는 단계, 상기 프로세서(250)가 상기 제1 2D 이미지 및 제2 이미지 내에 공통적으로 포함되어 있는 공통 객체를 식별하는 단계, 상기 프로세서(250)가 상기 식별된 공통 객체의 이동 속도를 산출하는 단계, 상기 프로세서(250)가 상기 산출된 이동 속도를 기초로, 상기 제3 2D 이미지 내에서 상기 공통 객체가 위치할 것으로 추정되는 영역을 식별하는 단계, 및 상기 프로세서(250)가 상기 제3 2D 이미지로부터 특정된 객체들 중 상기 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체에 대하여, 상기 공통 객체에 대하여 기 부여된 메타데이터를 부여하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 3D 데이터와 2D 이미지의 동기화 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터로부터 객체를 특정하는 단계, 상기 프로세서(250)가 상기 라이다가 설치된 차량에 고정 설치된 카메라를 통해, 상기 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지로부터 상기 객체와 동일한 객체를 특정하는 단계, 및 상기 프로세서(250)가 상기 3D 점군 데이터로부터 특정된 객체와 상기 2D 이미지로부터 특정된 객체가 서로 대응할 수 있도록, 상기 객체를 특정하기 위해 상기 3D 점군 데이터 내에 설정된 바운딩 박스의 위치 또는 크기, 또는 상기 객체를 특정하기 위해 상기 2D 이미지 내에 설정된 바운딩 박스의 위치 또는 크기를 조정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 화각의 경계를 넘어가는 객체 추적 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 복수 개의 2D 이미지들 각각으로부터 객체를 특정하는 단계, 상기 프로세서(250)가 상기 복수 개의 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 연속적으로 획득된 3D 점군 데이터들로부터 상기 객체와 동일한 객체를 특정하는 단계, 상기 프로세서(250)가 상기 3D 점군 데이터들로부터 특정된 객체의 위치 변화를 기초로 상기 객체의 이동 경로를 식별하는 단계, 및 상기 프로세서(250)가 상기 식별된 이동 경로를 기초로, 상기 복수 개의 2D 이미지들 각각으로부터 특정된 객체에 동일한 메타데이터를 부여하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
그리고, 본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 3D 데이터를 이용한 2D 이미지의 전처리 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 연속적으로 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계, 상기 프로세서(250)가 상기 라이다에 의해 획득된 시간 순서에 따라 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계, 상기 프로세서(250)가 상기 시간 순서에 따라 특정된 객체의 위치 변화를 기초로, 상기 객체의 이동 경로를 식별하는 단계, 및 상기 프로세서(250)가 상기 식별된 객체의 이동 경로를 이용하여, 상기 라이다가 설치된 차량과 동일한 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 상기 객체와 동일한 객체를 특정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따라 인공지능(AI) 기계 학습을 위한 데이터를 수집하는 차량을 설명하기 위한 예시도이다.
도 6에 도시된 바와 같이, 본 발명의 실시예에 따라 인공지능(AI) 기계 학습을 위한 데이터를 수집하는 차량(10)은 라이다(lidar)와 복수 개의 카메라(camera 1, camera 2, camera 3, camera 4, camera 5, camera)가 고정 설치될 수 있다.
차량(10)에 고정 설치된 라이다는 레이저 펄스를 발사하고, 차량 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다. 따라서, 라이다에 의해 획득된 3D 점군 데이터는 라이다에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점(point)들의 집합을 포함할 수 있다.
차량(10)에 고정 설치된 카메라는 차량 주위에 대한 2차원 이미지를 각각 촬영할 수 있다. 도 6에는 차량(10)에 6개의 카메라가 고정 설치된 실시 예가 도시되어 있으나, 본 발명이 6개 보다 적거나 또는 6개 보다 많은 카메라에 의해 촬영된 2D 이미지를 기초로 구현될 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.
도 7은 본 발명의 일 실시예에 따라 3D 점군 데이터로부터 객체를 자동으로 특정하는 과정을 설명하기 위한 예시도이다.
도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 3D 점군 데이터로부터 객체(20)를 자동으로 특정할 수 있다.
우선, 어노테이션 장치(200)는 3D 점군 데이터의 X축(즉, 3D 점군 데이터의 폭), Y축(즉, 3D 점군 데이터의 높이) 및 Z축(즉 3D 점군 데이터의 깊이) 중에서 하나의 축(axis)을 고정한 2D 이미지 세 개를 식별할 수 있다.
구체적으로, 어노테이션 장치(200)는 3차원 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 3차원 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 및 상기 3차원 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별할 수 있다.
어노테이션 장치(200)는 식별된 세 개의 2D 이미지 각각을 대상으로 이미지 내에 포함되어 있는 일부 점들의 집합(20-T, 20-S, 20-F)을 식별할 수 있다. 그리고, 어노테이션 장치(200)는 식별된 일부 점들의 집합(20-T, 20-S, 20-F)이 포함되도록, 2D 임시 바운딩 박스(30-T, 30-S, 30-F)를 세 개의 2D 이미지 각각에 설정할 수 있다.
이를 위하여, 어노테이션 장치(200)는 평면 시점 이미지, 정면 시점 이미지 및 측면 시점 이미지 각각에 대하여 다음을 수행할 수 있다.
어노테이션 장치(200)는 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점을 탐색한다. 어노테이션 장치(200)는 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 X축에서 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다.
어노테이션 장치(200)는 X축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 인접점이 탐색되지 않은 점을 기준으로 Z축에서 인접 거리 내에서 위치하는 인접점을 탐색한다. 어노테이션 장치(200)는 Z 축에서 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 Z축에서 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다.
어노테이션 장치(200)는 Z축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, X축에서 탐색된 기준점 및 인접점과 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 평면 시점 이미지 내에 2D 임시 바운딩 박스(30-T)를 설정할 수 있다.
상술한 바와 같은 평면 시점 이미지 내에 2D 임시 바운딩 박스(30-T)를 설정하는 과정과 동일하게, 어노테이션 장치(200)는 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 측면 시점 이미지 내에 2D 임시 바운딩 박스(30-S)를 설정할 수 있다.
또한, 어노테이션 장치(200)는 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 정면 시점 이미지 내에 2D 임시 바운딩 박스(30-F)를 설정할 수 있다.
그리고, 어노테이션 장치(200)는 세 개의 2D 이미지(즉, 평면 시점 이미지, 측면 시점 이미지 및 정면 시점 이미지) 각각에 대하여 설정된 2D 임시 바운딩 박스(30-T, 30-S, 30-F)를 이용하여, 3D 점군 데이터 내에 포함된 객체(20)를 특정하기 위한 3D 바운딩 박스(30)를 자동으로 설정할 수 있다.
이 경우, 3D 바운딩 박스(30)는 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스(30-T)를 평면(top), 저면(bottom)으로 가지고, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스(30-S)를 좌측면(left lateral), 우측면(right lateral)으로 가지고, 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스(30-F)를 정면(front), 배면(rear)으로 가지는, 육면체(hexahedron) 형상을 가지게 된다.
따라서, 본 발명의 실시예들에 따르면, 차량(10)에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터에 직접 어노테이션을 수행하지 않고도, 자동으로 객체(20)를 특정할 수 있게 된다.
도 8은 본 발명의 일 실시예에 따라 3D 점군 데이터의 품질을 향상시키는 과정을 설명하기 위한 예시도이다.
도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속적으로 획득된 3D 점군 데이터들의 품질을 향상시킬 수 있다.
어노테이션 장치(200)는 3D 점군 데이터 내에 포함된 객체를 특정할 수 있다. 그리고, 어노테이션 장치(200)는 특정된 객체를 기초로 3D 점군 데이터들 중에서 동일한 객체(20-1, 20-2 및 20-3)를 포함하고 있는 복수 개의 3D 점군 데이터를 식별할 수 있다.
어노테이션 장치(200)는 동일한 객체(20-1, 20-2 및 20-3)를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체들의 품질을 서로 비교하여, 품질이 가장 우수한 하나의 객체(20-3)를 선택할 수 있다.
구체적으로, 어노테이션 장치(200)는 3D 점군 데이터들 각각으로 특정된 객체들이 3D 점군 데이터 내에서 차지하고 있는 부피를 산출하고, 상기 산출된 부피가 가장 큰 하나의 객체(20-3)를 선택할 수 있다. 이 경우, 어노테이션 장치(200)는 객체를 특정하기 위하여 설정된 3D 바운딩 박스에 대한, X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 곱하여 객체의 부피를 산출할 수 있다. 어노테이션 장치(200)는 산출된 부피가 가장 큰 객체가 복수 개인 경우, 복수 개의 객체 각각을 구성하고 있는 점(point)들의 개수를 산출하고, 점들의 개수가 가장 많은 하나의 객체(20-3)를 선택할 수 있다.
어노테이션 장치(200)는 산출된 부피를 기초로 하나의 객체를 선택함에 있어, 객체가 다른 물체에 의해 가려진 비율(occlusion)이 최소인 객체들의 부피를 우선적으로 비교할 수 있다.
어노테이션 장치(200)는 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지 내에서 3D 점군 데이터로부터 특정된 객체와 동일한 트래킹 아이디가 부여된 객체를 특정하고, 2D 이미지 내에서 특정된 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation)이 최소인 객체들의 부피를 우선적으로 비교할 수도 있다.
어노테이션 장치(200)는 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지가 복수 개이고, 복수 개의 2D 이미지 중 제1 2D 이미지와 제2 2D 이미지가 동일한 객체의 서로 다른 부분을 포함하고 있으며, 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 객체의 두 부분을 서로 조합하여 잘려진 비율이 0인 객체를 도출할 수 있는 경우, 두 부분을 서로 조합하여 도출된 객체의 부피를 기초로 품질이 가장 우수한 하나의 객체(20-3)를 선택할 수 있다.
그리고, 어노테이션 장치(200)는 동일한 객체(20-1, 20-2 및 20-3)를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체(20-1, 20-2 및 20-3)를 구성하고 있는 점들을 대상으로, 가장 우수한 품질을 가지는 것으로 선택된 하나의 객체(20-3)를 구성하는 점들로 대체할 수 있다.
따라서, 본 발명의 실시예들에 따르면, 객체들에 대한 데이터들을 동일한 객체의 고품질 데이터로 대체함으로써 3D 점군 데이터들의 전체적인 품질을 향상시킬 수 있게 된다.
도 9a 내지 도 9c는 본 발명의 일 실시예에 따라 3D 점군 데이터들로부터 객체를 추적하는 과정을 설명하기 위한 예시도이다.
도 9a 내지 9c에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속적으로 획득된 3D 점군 데이터들로부터 동일한 객체를 추적할 수 있다.
어노테이션 장치(200)는 제1 3D 점군 데이터, 제2 3D 점군 데이터 및 제3 3D 점군 데이터 각각에 대하여, 3D 점군 데이터 내에 포함된 하나 이상의 객체를 특정할 수 있다. 여기서, 제1 3D 점군 데이터는 제2 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터이고, 제2 3D 점군 데이터는 제3 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터가 될 수 있다.
어노테이션 장치(200)는 제1 3D 점군 데이터 및 제2 3D 점군 데이터 내에 공통적으로 포함되어 있는 공통 객체(20)를 식별할 수 있다. 그리고, 어노테이션 장치(200)는 식별된 공통 객체(20)의 이동 속도를 산출할 수 있다.
구체적으로, 어노테이션 장치(200)는 제1 3D 점군 데이터로부터 특정된 공통 객체(20)와 상기 제2 3D 점군 데이터로부터 특정된 공통 객체(20) 사이의 이격 거리(d)와, 제1 3D 점군 데이터의 획득 시각(t1)과 제2 3D 점군 데이터의 획득 시각(t2) 사이의 이격 시간을 이용하여, 공통 객체(20)의 이동 속도를 산출할 수 있다.
어노테이션 장치(200)는 산출된 이동 속도를 기초로, 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)을 식별할 수 있다.
어노테이션 장치(200)는 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)에 실제로 공통 객체(20)가 존재하는지 검증할 수 있다.
구체적으로, 어노테이션 장치(200)는 제1 3D 점군 데이터가 획득된 시각(t1)과 동일한 시각에 촬영된 제1 2D 이미지 내에서 공통 객체(20)가 차지하고 있는 영역과, 제3 점군 데이터가 획득된 시각(t3)과 동일한 시각에 촬영된 제3 2D 이미지 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 실제로 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 2D 이미지와 상기 제3 2D 이미지는 제1 3D 점군 데이터 및 제3 3D 점군 데이터를 획득하는데 사용된 라이다가 설치된 차량과 동일한 차량에 고정 설치된 카메라에 의해 촬영된 이미지가 될 수 있다.
이를 위하여, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 이와 다르게, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수도 있다.
그리고, 어노테이션 장치(200)는 제3 3D 점군 데이터로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역(30-3)에 대응하는 객체(20)에 대하여, 공통 객체(20)에 대하여 기 부여된 메타데이터를 부여할 수 있다.
따라서, 본 발명의 실시예들에 따르면, 연속적으로 획득된 3D 점군 데이터들 중에서 일부의 3D 점군 데이터에 대하여 어노테이션을 수행한 이후, 후속 3D 점군 데이터가 자동으로 어노테이션될 수 있다.
도 10a 내지 도 10c는 본 발명의 일 실시예에 따라 2D 이미지들로부터 객체를 추적하는 과정을 설명하기 위한 예시도이다.
도 9a 내지 9c에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속적으로 획득된 2D 이미지들로부터 동일한 객체를 추적할 수 있다.
어노테이션 장치(200)는 제1 2D 이미지, 제2 2D 이미지 및 제3 2D 이미지 각각에 대하여, 2D 이미지 내에 포함된 하나 이상의 객체를 특정할 수 있다. 여기서, 제1 2D 이미지는 제2 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지이고, 제2 2D 이미지는 제3 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지가 될 수 있다.
어노테이션 장치(200)는 제1 2D 이미지 및 제2 이미지 내에 공통적으로 포함되어 있는 공통 객체(20)를 식별할 수 있다. 그리고, 어노테이션 장치(200)는 식별된 공통 객체(20)의 이동 속도를 산출할 수 있다.
구체적으로, 어노테이션 장치(200)는 제1 2D 이미지에서 공통 객체를 특정하기 위해 설정된 바운딩 박스(30-1)의 넓이와 제2 2D 이미지에서 공통 객체를 특정하기 위하여 설정된 바운딩 박스(30-2)의 넓이를 비교하여, 제1 2D 이미지로부터 특정된 상기 공통 객체(20)와 제2 2D 이미지로부터 특정된 상기 공통 객체(20) 사이의 이격 거리를 추정할 수 있다. 어노테이션 장치(200)는 제1 이미지의 촬영 시각(t1)과 제2 이미지의 촬영 시각(t2) 사이의 이격 시간을 산출하고, 이격 거리 및 이격 시간을 이용하여 공통 객체(20)의 이동 속도를 산출할 수 있다.
어노테이션 장치(200)는 산출된 이동 속도를 기초로, 제3 2D 이미지 내에서 상기 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)을 식별할 수 있다.
어노테이션 장치(200)는 제3 2D 이미지 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)에 실제로 공통 객체(20)가 존재하는지 검증할 수 있다.
구체적으로, 어노테이션 장치(200)는 제1 2D 이미지가 촬영된 시각(t1)과 동일한 시각에 획득된 제1 3D 점군 데이터 내에서 공통 객체(20)가 차지하고 있는 영역과, 제3 2D 이미지가 촬영된 시각(t3)과 동일한 시각에 획득된 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3) 내에 실제로 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 3D 점군 데이터와 제3 3D 점군 데이터는 제1 이미지 및 제3 이미지를 촬영하는데 사용된 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 획득된 점군 데이터가 될 수 있다.
이를 위하여, 어노테이션 장치(200)는 제1 3D 점군 데이터 내에서 공통 객체(20)를 특정하기 위해 설정된 3D 바운딩 박스(30-1)에 포함된 점들의 개수와, 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)에 포함된 점들의 개수의 차이가 사전에 설정된 품질 변화 범위 내에 포함되는지 여부를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다.
이와 다르게, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 또한, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수도 있다.
그리고, 어노테이션 장치(200)는 제3 2D 이미지로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역(30-3)에 대응하는 객체(20)에 대하여, 공통 객체(20)에 대하여 기 부여된 메타데이터를 부여할 수 있다.
따라서, 본 발명의 실시예들에 따르면, 연속적으로 획득된 복수 개의 2D 이미지들 중에서 일부의 2D 이미지들에 대하여 어노테이션을 수행한 이후, 후속 2D 이미지들이 자동으로 어노테이션될 수 있다.
도 11은 본 발명의 일 실시예에 따라 3D 점군 데이터와 2D 이미지 사이의 동기화를 수행하는 과정을 설명하기 위한 예시도이다.
도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 동일한 차량에 고정 설치된 라이다의 3D 점군 데이터로부터 특정된 객체와, 카메라의 2D 이미지로부터 특정된 객체를 서로 동기화시킬 수 있다.
어노테이션 장치(200)는 3D 점군 데이터 내에 포함된 객체(20)를 특정할 수 있다. 어노테이션 장치(200)는 2D 이미지로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체(20)를 특정할 수 있다.
어노테이션 장치(200)는 3D 점군 데이터로부터 특정된 객체(20)와 2D 이미지로부터 특정된 객체(20)가 서로 대응하는지 판단할 수 있다. 그리고, 어노테이션 장치(200)는 3D 점군 데이터로부터 특정된 객체(20)와 2D 이미지로부터 특정된 객체(20)가 서로 대응할 수 있도록, 동일한 객체(20)를 특정하기 위하여 3D 점군 데이터 내에 설정된 3D 바운딩 박스(30-3D)의 위치 또는 크기를 조정하거나, 또는 동일한 객체(20)를 특정하기 위하여 2D 이미지 내에 설정된 2D 바운딩 박스(30-2D)의 위치 또는 크기를 조정할 수 있다.
구체적으로, 어노테이션 장치(200)는 3D 점군 데이터에 포함된 깊이(depth) 값을 기초로, 동일한 객체(20)를 특정하기 위해 2D 이미지 내에 설정된 2D 바운딩 박스(30-2D)의 경계선(border line)의 위치를 재조정할 수 있다. 이 경우, 어노테이션 장치(200)는 3D 점군 데이터에 포함된 깊이 값이 사전에 설정된 임계 범위 이상으로 변화되는 변곡선(inflection line)을 식별하고, 2D 이미지 내에서 동일 객체(20)를 특정하기 위해 설정된 2D 바운딩 박스(30-2D)의 경계선이 식별된 변곡선에 대응하도록, 2D 바운딩 박스(30-2D)의 경계선의 위치를 재조정할 수 있다.
이와 다르게, 어노테이션 장치(200)는 동일 객체(20)를 특정하기 위한 3D 바운딩 박스(30-3D)의 부피(volume)가, 동일 객체(20)를 특정하기 위한 2D 바운딩 박스(30-2D)의 부피보다 작은 경우, 상기 2D 바운딩 박스(30-2D)의 부피가 3D 바운딩 박스(30-3D)의 부피와 동일해지도록 2D 바운딩 박스(30-2D)의 부피를 감축시킬 수 있다. 이 경우, 어노테이션 장치(200)는 2D 이미지를 파일로 압축하는 과정에서 적용된 크로마 서브샘플링의 크기 내에서, 2D 바운딩 박스(30-2D)를 구성하는 선분 각각을 2D 바운딩 박스(30-2D)의 내측을 향하여 이동시켜 2D 바운딩 박스(30-2D)의 부피를 감축시킬 수 있다.
따라서, 본 발명의 실시예들에 따르면, 동일한 차량에서 동일한 시각에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지로부터 각각 특정된 객체가 서로 불일치하여 오류가 발생할 수 있는 리스크를 감소시킬 수 있다.
도 12 및 도 13은 본 발명의 일 실시예에 따라 화각의 경계를 넘어가는 객체를 추적하는 과정을 설명하기 위한 예시도이다.
도 12 및 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 2D 이미지들을 각각 촬영한 카메라들의 화각과 무관하게 동일한 객체를 추적할 수 있다.
어노테이션 장치(200)는 복수 개의 2D 이미지들 각각에 포함된 객체(20)를 특정할 수 있다. 그리고, 어노테이션 장치(200)는 3D 점군 데이터들로부터 2D 이미지들로부터 특정된 객체와 동일한 객체(20)를 특정할 수 있다.
어노테이션 장치(200)는 3D 점군 데이터들로부터 특정된 동일한 객체(20)의 위치 변화를 기초로, 동일한 객체(20)의 이동 경로를 식별할 수 있다.
구체적으로, 어노테이션 장치(200)는 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는 경우, 동일한 객체(20)의 이동 경로를 식별할 수 있다.
이를 위하여, 어노테이션 장치(200)는 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지 중에서 제1 2D 이미지의 화각에 의해 잘려진 비율(truncation)과 제2 이미지의 화각에 의해 잘려진 비율의 합이 사전에 설정된 임계 비율 이상인 경우, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는 것으로 판단할 수 있다.
어노테이션 장치(200)는 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지로부터 특정된 객체의 RGB 값과 제2 2D 이미지로부터 특정된 객체의 RGB 값을 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는지 여부를 검증할 수 있다.
어노테이션 장치(200)는 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지와 제2 2D 이미지 사이의 경계선을 기준으로, 제1 2D 이미지로부터 특정된 객체의 엣지와 제2 2D 이미지로부터 특정된 객체의 엣지가 연속되는지 여부를 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는지 여부를 검증할 수 있다.
그리고, 어노테이션 장치(200)는 식별된 동일한 객체의 이동 경로를 기초로, 복수 개의 2D 이미지들 각각으로부터 특정된 객체(20)에 동일한 메타데이터를 부여할 수 있다.
따라서, 본 발명의 실시예들에 따르면, 하나의 객체(20)가 두 2D 이미지 사이의 경계(즉, 카메라 화각의 경계)를 넘어가더라도, 두 2D 이미지로부터 개별적으로 특정된 객체(20)가 서로 동일한 객체(20)로 특정될 수 있도록 보장할 수 있다.
도 14는 본 발명의 일 실시예에 따라 3D 점군 데이터를 이용하여 2D 이미지를 전처리하는 과정을 설명하기 위한 예시도이다.
도 12 및 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 3D 점군 데이터를 기초로 2D 이미지들을 전처리할 수 있다.
어노테이션 장치(200)는 라이다에 의해 획득된 시간 순서에 따라 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정할 수 있다.
만약, 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 어노테이션 장치(200)는 라이다에 의해 3D 점군 데이터가 획득된 시간동안 복수 개의 카메라에 의해 촬영된 2D 이미지들을 객체의 특정 대상으로부터 제외시킬 수 있다.
어노테이션 장치(200)는 라이다에 의해 획득된 시간 순서에 따라 특정된 객체(20)의 위치 변화를 기초로, 객체(20)의 이동 경로를 식별할 수 있다.
어노테이션 장치(200)는 식별된 객체(20)의 이동 경로를 이용하여, 라이다가 설치된 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체(20)를 특정할 수 있다.
구체적으로, 어노테이션 장치(200)는 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체(20)의 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 객체의 특정 대상으로부터 제외시킬 수 있다.
어노테이션 장치(200)는 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체(20)의 이동 경로에 매칭되는 2D 이미지 내에, 3D 점군 데이터들로부터 특정된 객체(20)와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스를 미리 배치할 수 있다.
어노테이션 장치(200)는 사용자 인터페이스(UI)를 통해 2D 바운딩 박스의 꼭짓점 위치의 조정이 완료되었음을 지시하는 신호가 입력되면, 3D 점군 데이터들로부터 특정된 객체(20)에 기 부여된 메타데이터를 2D 바운딩 박스에 의해 특정된 객체(20)의 메타데이터로 부여할 수 있다.
이하 상술한 바와 같은, 본 발명의 실시예들에 따라 인공지능(AI)을 기계 학습하기 위한 데이터를 생성하는 과정에 대하여, 보다 구체적으로 설명하기로 한다.
도 15는 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 방법을 설명하기 위한 순서도이다.
도 15에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 설계 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다(S110). 구체적으로, 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.
학습 데이터 설계 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집할 수 있다(S120). 이를 위하여, 학습 데이터 설계 장치(100)는 외부로부터 3D 점군 데이터 및 2D 이미지들을 입력 받거나, 웹 크롤링(web crawling)을 수행하여 3D 점군 데이터 및 2D 이미지들을 수집하거나, 또는 외부 기관의 장치로부터 3D 점군 데이터 및 2D 이미지들을 다운로드 할 수 있다.
이 경우, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 데이터이다. 이와 같은, 3D 점군 데이터는 차량에 설치된 라이다에 의해 시계열적으로 연속되게 획득될 수 있다. 그리고, 2D 이미지는 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다. 이와 같은, 2D 이미지는 차량에 설치된 카메라에 의해 시계열적으로 연속되게 촬영될 수 있다.
학습 데이터 설계 장치(100)는 수집된 3D 점군 데이터 및 2D 이미지들 중에서 중복되거나 또는 극히 유사한 데이터를 제거하고, 수집된 3D 점군 데이터 및 2D 이미지들에 포함된 개인정보를 비식별화하는 정제를 수행할 수 있다(S130).
학습 데이터 설계 장치(100)는 수집 및 정제된 3D 점군 데이터 및 2D 이미지들을 복수 개의 어노테이션 장치(200)를 통해 가공할 수 있다(S140).
학습 데이터 설계 장치(100)는 복수 개의 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 하고, 수신된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다(S150).
그리고, 학습 데이터 설계 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송하여 납품할 수 있다(S160).
도 16은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 15에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지들을 학습 데이터 생성 장치(100)로부터 수신할 수 있다(S210).
어노테이션 장치(200)는 수신된 3D 점군 데이터 및 2D 이미지 각각에 대하여 인공지능(AI)의 기계 학습의 대상이 되는 객체를 특정할 수 있다(S220).
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 3D 점군 데이터와 2D 이미지들을 대상으로 보다 용이하게 어노테이션을 수행할 수 있는 다양한 수단들을 제공할 수 있다. 이러한 수단들에 대한 구체적인 설명은 도 7 내지 도 14를 참조하여 설명한 바와 동일하므로 중복하여 기재하지 않는다.
어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지에 대한 메타데이터를 생성할 수 있다(S230).
어노테이션 장치(200)는 3D 점군 데이터 및 2D 이미지들로부터 특정된 객체의 좌표 및 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다(S240). 이 경우, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
그리고, 어노테이션 장치(200)는 생성된 어노테이션 작업 결과물을 학습 데이터 생성 장치(100)에 직접 전송하거나, 또는 학습 데이터 검증 장치(300)를 경유하여 전송할 수 있다(S250).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
학습 데이터 생성 장치: 100 어노테이션 장치: 200
학습 데이터 검증 장치: 300 인공지능 학습 장치: 400
통신부: 205 입출력부:210
저장부: 215 객체 특정부: 220
메타데이터 생성부: 225 결과물 생성부: 230
3D 데이터 객체 특정 모듈: 220-1
2D 이미지 객체 특정 모듈: 220-2
품질 관리 모듈: 220-3 객체 자동 추적 모듈: 220-4
동기화 처리 모듈: 220-5 전처리 모듈: 220-6

Claims (10)

  1. 어노테이션 장치가, 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 학습시키기 위하여 차량에 고정 설치된 라이다(lidar)에 의해 획득된 3D 점군(3D point group) 데이터를 수신하는 단계;
    상기 어노테이션 장치가, 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계;
    상기 어노테이션 장치가, 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스(temporary bounding box)를 각각 설정하는 단계; 및
    상기 어노테이션 장치가, 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 포함하며,
    상기 2D 임시 바운딩 박스는 상기 3D 점군 데이터를 구성하고 있는 2차원 면(surface)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이고,
    상기 3D 바운딩 박스는 상기 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이
    상기 2D 이미지 세 개를 식별하는 단계는
    상기 3D 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 상기 3D 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 그리고 상기 3D 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별하고,
    상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 상기 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점이 탐색되면, 상기 탐색된 인접점을 새로운 기준점으로 하여 X축에서 상기 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적(recursive)으로 수행하는 것을 특징으로 하는, 라이다 점군의 3D 바운딩 박스 생성 방법.
  2. 제1 항에 있어서, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 X축에서 상기 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 상기 인접점이 탐색되지 않은 점을 기준으로 Z축에서 상기 인접 거리 내에서 위치하는 인접점이 탐색되면, 상기 Z축에서 탐색된 인접점을 새로운 기준점으로 하여 Z축에서 상기 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적으로 수행하는 것을 특징으로 하는, 라이다 점군의 3D 바운딩 박스 생성 방법.
  3. 제2 항에 있어서, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 Z축에서 상기 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 상기 X축에서 탐색된 기준점 및 인접점과 상기 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 상기 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하는 것을 특징으로 하는, 라이다 점군의 3D 바운딩 박스 생성 방법.
  4. 제3 항에 있어서, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 상기 기준점의 설정 및 상기 인접점의 탐색 과정을 회귀적으로 수행하고, 상기 Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 상기 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하고, 상기 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 상기 기준점의 설정 및 상기 인접점의 탐색 과정을 회귀적으로 수행하고, 상기 X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 상기 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하는 것을 특징으로 하는, 라이다 점군의 3D 바운딩 박스 생성 방법.
  5. 어노테이션 장치가, 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 학습시키기 위하여 차량에 고정 설치된 라이다(lidar)에 의해 획득된 3D 점군(3D point group) 데이터를 수신하는 단계;
    상기 어노테이션 장치가, 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계;
    상기 어노테이션 장치가, 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스(temporary bounding box)를 각각 설정하는 단계; 및
    상기 어노테이션 장치가, 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 포함하며,
    상기 2D 임시 바운딩 박스는 상기 3D 점군 데이터를 구성하고 있는 2차원 면(surface)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이고,
    상기 3D 바운딩 박스는 상기 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이며,
    상기 2D 이미지 세 개를 식별하는 단계는
    상기 3D 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 상기 3D 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 그리고 상기 3D 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별하고,
    상기 2D 임시 바운딩 박스를 각각 설정하는 단계 이후에,
    상기 어노테이션 장치가, 사용자로부터 입력된 방향 지시에 대응하여, 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 X축 상에서 이동시키거나, 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Z축 상에서 이동시키거나, 또는 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Y축 상에서 이동시키는 단계를 더 포함하는 것을 특징으로 하는, 라이다 점군의 3D 바운딩 박스 생성 방법.
  6. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 3D 점군 데이터를 상기 송수신기를 통해 수신하는 단계;
    상기 프로세서가, 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계;
    상기 프로세서가, 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스를 각각 설정하는 단계; 및
    상기 프로세서가, 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 실행시키기 위한 것이며,
    상기 2D 임시 바운딩 박스는 상기 3D 점군 데이터를 구성하고 있는 2차원 면(surface)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이고,
    상기 3D 바운딩 박스는 상기 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이며,
    상기 2D 이미지 세 개를 식별하는 단계는
    상기 3D 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 상기 3D 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 그리고 상기 3D 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별하고,
    상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 상기 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점이 탐색되면, 상기 탐색된 인접점을 새로운 기준점으로 하여 X축에서 상기 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적(recursive)으로 수행하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  7. 제6 항에 있어서, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 X축에서 상기 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 상기 인접점이 탐색되지 않은 점을 기준으로 Z축에서 상기 인접 거리 내에서 위치하는 인접점이 탐색되면, 상기 Z축에서 탐색된 인접점을 새로운 기준점으로 하여 Z축에서 상기 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적으로 수행하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  8. 제7 항에 있어서, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 Z축에서 상기 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 상기 X축에서 탐색된 기준점 및 인접점과 상기 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 상기 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  9. 제8 항에 있어서, 상기 2D 임시 바운딩 박스를 각각 설정하는 단계는
    상기 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 상기 기준점의 설정 및 상기 인접점의 탐색 과정을 회귀적으로 수행하고, 상기 Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 상기 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하고, 상기 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 상기 기준점의 설정 및 상기 인접점의 탐색 과정을 회귀적으로 수행하고, 상기 X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 상기 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  10. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 3D 점군 데이터를 상기 송수신기를 통해 수신하는 단계;
    상기 프로세서가, 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계;
    상기 프로세서가, 상기 세 개의 2D 이미지 각각을 대상으로, 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스를 각각 설정하는 단계; 및
    상기 프로세서가, 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 실행시키기 위한 것이며,
    상기 2D 임시 바운딩 박스는 상기 3D 점군 데이터를 구성하고 있는 2차원 면(surface)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이고,
    상기 3D 바운딩 박스는 상기 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이며,
    상기 2D 이미지 세 개를 식별하는 단계는
    상기 3D 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 상기 3D 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 그리고 상기 3D 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별하고,
    상기 2D 임시 바운딩 박스를 각각 설정하는 단계 이후에,
    상기 어노테이션 장치가, 사용자로부터 입력된 방향 지시에 대응하여, 상기 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 X축 상에서 이동시키거나, 상기 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Z축 상에서 이동시키거나, 또는 상기 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Y축 상에서 이동시키는 단계를 더 포함하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
KR1020210078690A 2021-06-17 2021-06-17 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102343053B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210078690A KR102343053B1 (ko) 2021-06-17 2021-06-17 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210078690A KR102343053B1 (ko) 2021-06-17 2021-06-17 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102343053B1 true KR102343053B1 (ko) 2021-12-24

Family

ID=79176210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210078690A KR102343053B1 (ko) 2021-06-17 2021-06-17 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102343053B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200070287A (ko) * 2017-10-05 2020-06-17 어플리케이션스 모빌스 오버뷰 인코포레이티드 객체 인식 방법
KR102230144B1 (ko) 2019-07-29 2021-03-22 군산대학교산학협력단 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치
KR20210063841A (ko) * 2019-11-25 2021-06-02 숭실대학교산학협력단 3d 포인트 클라우드의 클러스터링 방법 및 이를 수행하는 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200070287A (ko) * 2017-10-05 2020-06-17 어플리케이션스 모빌스 오버뷰 인코포레이티드 객체 인식 방법
KR102230144B1 (ko) 2019-07-29 2021-03-22 군산대학교산학협력단 인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치
KR20210063841A (ko) * 2019-11-25 2021-06-02 숭실대학교산학협력단 3d 포인트 클라우드의 클러스터링 방법 및 이를 수행하는 장치

Similar Documents

Publication Publication Date Title
KR102310613B1 (ko) 연속된 2d 이미지에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
Yue et al. A lidar point cloud generator: from a virtual world to autonomous driving
JP7179186B2 (ja) 物体検出方法、装置、電子機器、及びコンピュータプログラム
CN108961327A (zh) 一种单目深度估计方法及其装置、设备和存储介质
KR102310612B1 (ko) 라이다 점군에서 특정된 객체 정보를 이용한 2d 이미지 객체 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313918B1 (ko) 3d 데이터와 2d 이미지의 동기화 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343059B1 (ko) 인공지능 기계 학습용 데이터 수집 시스템 및 이를 위한 장치
KR102356910B1 (ko) 객체의 선제 검출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
WO2022193515A1 (en) Devices, systems, methods, and media for adaptive augmentation for a point cloud dataset used for training
KR102389998B1 (ko) 비식별 처리 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102403169B1 (ko) 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN111598065A (zh) 深度图像获取方法及活体识别方法、设备、电路和介质
KR102313940B1 (ko) 연속된 3d 데이터에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN114913495A (zh) 基于协作图融合的协同目标检测方法及系统
US20230350418A1 (en) Position determination by means of neural networks
KR102343053B1 (ko) 라이다 점군의 3d 바운딩 박스 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343041B1 (ko) 3d 데이터에서 객체 자동 특정 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343052B1 (ko) 3d 데이터를 기반으로 2d 이미지에서의 객체의 이동 경로를 식별하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343051B1 (ko) 라이다 점군으로부터 카메라 이미지의 바운딩 박스를 조정하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343042B1 (ko) 연속된 3d 데이터에서 객체 품질 향상 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313944B1 (ko) 화각의 경계를 넘어가는 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313938B1 (ko) 3d 경로 추론을 통한 동일 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343054B1 (ko) 3d 데이터 어노테이션 결과물의 대체 및 확대 적용 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310611B1 (ko) 2d 경로 추론을 통한 동일 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310609B1 (ko) 3d 데이터를 이용한 2d 이미지의 전처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant