KR102310609B1 - Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor - Google Patents

Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor Download PDF

Info

Publication number
KR102310609B1
KR102310609B1 KR1020210062628A KR20210062628A KR102310609B1 KR 102310609 B1 KR102310609 B1 KR 102310609B1 KR 1020210062628 A KR1020210062628 A KR 1020210062628A KR 20210062628 A KR20210062628 A KR 20210062628A KR 102310609 B1 KR102310609 B1 KR 102310609B1
Authority
KR
South Korea
Prior art keywords
image
point cloud
data
cloud data
images
Prior art date
Application number
KR1020210062628A
Other languages
Korean (ko)
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 KR1020210062628A priority Critical patent/KR102310609B1/en
Application granted granted Critical
Publication of KR102310609B1 publication Critical patent/KR102310609B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • 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
    • 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/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

Proposed is a method for pre-processing a two-dimensional image photographed by a plurality of cameras by using three-dimensional data acquired by LiDAR. The method can comprise: a step in which an annotation apparatus receives 3D point group data which are continuously acquired by LiDAR fixed on a vehicle for making the artificial intelligence (AI) learn, which can be used for the autonomous driving of the vehicle; a step in which the annotation apparatus specifies an object included in each of the 3D point group data in accordance with the sequence in time of being acquired by the LiDAR; a step in which the annotation apparatus identifies the moving path of the object based on the position changes of the specified object in accordance with the sequence in time; and a step in which the annotation apparatus uses the identified moving path of the object, and specifies the same object as the object from each of two-dimensional images continuously photographed by a plurality of cameras fixed and installed on the vehicle which is the same as the vehicle with the LiDAR installed. The present invention aims to provide a method for pre-processing a two-dimensional image photographed by a plurality of cameras by using three-dimensional data acquired by LiDAR, which is capable of greatly reducing the workload for annotation.

Description

3D 데이터를 이용한 2D 이미지의 전처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor}Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor

본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 라이다(lidar)에 의해 획득된 3D 데이터를 이용하여 복수 개의 카메라에 의해 촬영된 2D 이미지를 전처리할 수 있는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to the processing of data for artificial intelligence (AI) learning. More specifically, in relation to the data annotation work for machine learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle, using 3D data obtained by lidar, a plurality of It relates to a method capable of pre-processing a 2D image photographed by a camera and a computer program recorded on a recording medium for executing the method.

인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.Artificial intelligence (AI) refers to a technology that artificially implements some or all of human learning ability, reasoning ability, and perception ability using computer programs. In relation to artificial intelligence (AI), machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. Such machine learning is classified into supervised learning, unsupervised learning, and reinforcement learning according to the form of data for learning.

일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.In general, the design of data for artificial intelligence (AI) learning proceeds in the stages of data structure design, data collection, data purification, data processing, data expansion, and data verification.

각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.To describe each step in more detail, the design of the data structure is made through the definition of an ontology, a definition of a classification system, and the like. The collection of data is made by collecting data through direct shooting, web crawling, or association/professional organizations. Data purification is performed by removing duplicate data from the collected data and de-identifying personal information. Data processing is performed by performing annotations and inputting metadata. Data expansion is performed by performing ontology mapping and supplementing or extending the ontology as needed. And, the verification of the data is performed by verifying the validity according to the set target quality using various verification tools.

한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.Meanwhile, automatic driving of a vehicle refers to a system capable of driving by determining the vehicle itself. Such autonomous driving may be divided into gradual stages from non-automation to full automation according to the degree to which the system is involved in driving and the degree to which the driver controls the vehicle. In general, the stages of autonomous driving are divided into six levels classified by the Society of Automotive Engineers (SAE) International. According to the six stages classified by the International Association of Automobile Engineers, level 0 is non-automated, level 1 is driver assistance, level 2 is partial automation, level 3 is conditional automation, level 4 is highly automated, and level 5 is The steps are fully automated steps.

자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 그리고, 다양한 기업체들은 자율주행 메커니즘에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.Autonomous driving is performed through the mechanisms of perception, localization, path planning, and control. And, various companies are developing to implement perception and route planning in autonomous driving mechanisms using artificial intelligence (AI).

예를 들어, 테슬라(Tesla)의 경우, 위치 정보를 최소화하고 카메라와 센서로부터 입력된 정보를 기반으로 동작하는 자율주행용 인공지능(AI)을 개발 중에 있다. 이를 위하여, 테슬라는 자사의 차량 주행 데이터를 수집하여 데이터센터에서 관리하며, 이를 기반으로 인공지능(AI)에 대하여 실제 운전자의 주행 패턴을 따라하게 하는 모방 학습(imitation learning)을 수행하고 있다.For example, Tesla is developing artificial intelligence (AI) for autonomous driving that minimizes location information and operates based on information input from cameras and sensors. To this end, Tesla collects its own vehicle driving data and manages it in a data center, and based on this, performs imitation learning to imitate the driving pattern of a real driver with respect to artificial intelligence (AI).

이와 다르게, 구글(Google)의 웨이모(Waymo)와, 현대자동차와 앱티브(Aptiv)의 모셔널(Motional)은 차량의 위치 정보, 지도 정보로부터 획득된 지형 및 도로 정보와, 카메라와 센서로부터 입력된 정보를 기반으로 동작하는 자율주행용 인공지능(AI)을 개발 중에 있다. 이를 위하여, 해당 기업들은 정보 수집 차량의 시험 주행을 통해 얻은 정보를 기반으로 주행 알고리즘을 설정하고, 주행 알고리즘을 기초로 시뮬레이터를 이용하여 인공지능(AI)의 강화 학습을 수행하고 있다.In contrast, Google's Waymo and Hyundai Motor's and Aptiv's Motional provide vehicle location information, terrain and road information obtained from map information, and cameras and sensors. We are developing artificial intelligence (AI) for autonomous driving that operates based on input information. To this end, the companies are setting driving algorithms based on the information obtained through test driving of the information collection vehicle, and performing artificial intelligence (AI) reinforcement learning using simulators based on the driving algorithm.

상술한 바와 같은, 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수로 이루어진다. 따라서, 많은 수의 데이터를 보다 용이하게 가공할 수 있는 다양한 수단들이 요구되고 있는 실정이다. As described above, the data used for machine learning of artificial intelligence (AI) that can be used for autonomous driving consists of a large number ranging from a few thousand to a maximum of several million. Accordingly, various means for more easily processing a large number of data are required.

대한민국 등록특허공보 제10-2230144호, ‘인공 지능 심층 학습 타겟 탐지 및 속도 퍼텐셜 필드 알고리즘 기반 장애물 회피 및 자율 주행 방법 및 장치’, (2021.03.15. 공고)Republic of Korea Patent Publication No. 10-2230144, ‘Artificial intelligence deep learning target detection and speed potential field algorithm-based obstacle avoidance and autonomous driving method and device’, (2021.03.15. Announcement)

본 발명의 일 목적은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 라이다(lidar)에 의해 획득된 3D 데이터를 이용하여 복수 개의 카메라에 의해 촬영된 2D 이미지를 전처리할 수 있는 방법을 제공하는 것이다.One object of the present invention is to use 3D data obtained by lidar in relation to an annotation operation of data for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle. It is to provide a method for pre-processing a 2D image captured by a dog's camera.

본 발명의 다른 목적은 라이다에 의해 획득된 3D 데이터를 이용하여 복수 개의 카메라에 의해 촬영된 2D 이미지를 전처리할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium in order to execute a method capable of pre-processing a 2D image photographed by a plurality of cameras using 3D data obtained by a lidar.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 라이다(lidar)에 의해 획득된 3D 데이터를 이용하여 복수 개의 카메라에 의해 촬영된 2D 이미지를 전처리할 수 있는 방법을 제안한다. 상기 방법은 어노테이션 장치가, 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다(lidar)에 의해 연속적으로 획득된 3D 점군(3D point group) 데이터들을 수신하는 단계; 상기 어노테이션 장치가, 상기 라이다에 의해 획득된 시간 순서에 따라 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계; 상기 어노테이션 장치가, 상기 시간 순서에 따라 특정된 객체의 위치 변화를 기초로, 상기 객체의 이동 경로를 식별하는 단계; 및 상기 어노테이션 장치가, 상기 식별된 객체의 이동 경로를 이용하여, 상기 라이다가 설치된 차량과 동일한 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 상기 객체와 동일한 객체를 특정하는 단계를 포함할 수 있다.In order to achieve the technical problem as described above, the present invention proposes a method for pre-processing a 2D image captured by a plurality of cameras using 3D data obtained by a lidar. The method is a 3D point group continuously acquired by a lidar fixed to a vehicle in order for the annotation device to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle. receiving data; specifying, by the annotation device, an object included in each of the 3D point cloud data according to the temporal sequence acquired by the lidar; identifying, by the annotation device, a movement path of the object based on a change in the position of the specified object according to the time sequence; and the annotation device specifies the same object as the object from each of the 2D images successively photographed by a plurality of cameras fixedly installed in the same vehicle as the vehicle in which the lidar is installed, using the movement path of the identified object may include the step of

구체적으로, 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계는 상기 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 상기 라이다에 의해 3D 점군 데이터가 획득된 시간동안 상기 복수 개의 카메라에 의해 촬영된 2D 이미지들을 상기 객체의 특정 대상으로부터 제외시킬 수 있다.Specifically, in the step of specifying an object included in each of the 3D point cloud data, when no object is included in all of the 3D point cloud data, the plurality of 3D point cloud data is acquired by the lidar during a time period. 2D images photographed by the dog cameras may be excluded from the specific target of the object.

상기 동일한 객체를 특정하는 단계는 상기 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 상기 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 상기 객체의 특정 대상으로부터 제외시킬 수 있다.In the specifying of the same object, one or more 2D images that do not match the movement path among the 2D images successively photographed by the plurality of cameras may be excluded from the specific target of the object.

또한, 상기 동일한 객체를 특정하는 단계는 상기 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 상기 이동 경로에 매칭되는 2D 이미지 내에, 상기 3D 점군 데이터들로부터 특정된 객체와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스(bounding box)를 미리 배치할 수 있다. 이 경우, 상기 2D 바운딩 박스는 상기 2D 이미지에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이 될 수 있다.In addition, the step of specifying the same object may include selecting an object of the same type as the object specified from the 3D point cloud data in a 2D image matching the movement path among the 2D images continuously photographed by the plurality of cameras. A 2D bounding box to be specified in the image may be pre-arranged. In this case, the 2D bounding box may be a region for specifying an object to be a target of the artificial intelligence (AI) learning from among the objects included in the 2D image.

이를 위하여, 상기 동일한 객체를 특정하는 단계는 상기 이동 경로에 매칭되는 2D 이미지를 촬영한 카메라의 광축(optical axis) 방향 및 상기 3D 점군 데이터 내에서 상기 객체가 특정된 위치를 기초로, 상기 2D 이미지 내에서 상기 2D 바운딩 박스를 미리 배치할 위치를 결정할 수 있다.To this end, the step of specifying the same object is based on an optical axis direction of a camera photographing a 2D image matching the movement path and a position at which the object is specified in the 3D point cloud data, the 2D image It is possible to determine a position in which the 2D bounding box is to be arranged in advance.

한편, 상기 동일한 객체를 특정하는 단계는 사용자 인터페이스(User Interface, UI)를 통해 상기 2D 바운딩 박스의 꼭짓점(vertex) 위치의 조정이 완료되었음을 지시하는 신호가 입력되면, 상기 3D 점군 데이터들로부터 특정된 객체에 기 부여된 메타데이터를 상기 2D 바운딩 박스에 의해 특정된 객체의 메타데이터로 부여할 수 있다.On the other hand, in the step of specifying the same object, when a signal indicating that the adjustment of the vertex position of the 2D bounding box is completed is input through a user interface (UI), it is specified from the 3D point cloud data. Metadata previously assigned to an object may be assigned as metadata of an object specified by the 2D bounding box.

구체적으로, 상기 동일한 객체를 특정하는 단계는 상기 3D 점군 데이터들로부터 특정된 객체에 기 부여된 트래킹 아이디(tracking identifier)를 상기 2D 바운딩 박스에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 이 경우, 상기 트래킹 아이디는 상기 3D 점군 데이터 또는 상기 2D 이미지들 내에서 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자가 될 수 있다. 또한, 상기 동일한 객체를 특정하는 단계는 상기 3D 점군 데이터로부터 식별되며 상기 객체의 고유한 형상에 의해 결정되는 절대 크기를 상기 2D 바운딩 박스에 의해 특정된 객체의 메타데이터에 포함시킬 수 있다.Specifically, in the step of specifying the same object, a tracking ID previously assigned to the object specified from the 3D point cloud data may be assigned as the tracking ID of the object specified by the 2D bounding box. In this case, the tracking ID may be a unique identifier of an object assigned to track an object in the 3D point cloud data or the 2D images. In addition, the step of specifying the same object may include an absolute size identified from the 3D point cloud data and determined by a unique shape of the object in the metadata of the object specified by the 2D bounding box.

상기 이동 경로를 식별하는 단계는 상기 3D 점군 데이터들에서 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지들을 획득하고, 상기 평면 시점 이미지들 각각에서 객체가 위치하는 지점을 연결하여 상기 이동 경로를 식별할 수 있다. 이 경우, 상기 X축의 데이터는 상기 3D 점군 데이터 중에서 폭(width)에 관한 데이터이고, 상기 Z축의 데이터는 상기 3D 점군 데이터 중에서 깊이(depth)에 관한 데이터가 될 수 있다. The step of identifying the movement path includes acquiring top view images composed of only X-axis and Z-axis data from the 3D point cloud data, and connecting a point where an object is located in each of the plane viewpoint images to move the path can be identified. In this case, the data on the X-axis may be data on a width among the 3D point cloud data, and the data on the Z-axis may be data on a depth among the 3D point cloud data.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상술한 바와 같은 검증 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 연속적으로 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계; 상기 프로세서가 상기 라이다에 의해 획득된 시간 순서에 따라 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계; 상기 프로세서가 상기 시간 순서에 따라 특정된 객체의 위치 변화를 기초로, 상기 객체의 이동 경로를 식별하는 단계; 및 상기 프로세서가 상기 식별된 객체의 이동 경로를 이용하여, 상기 라이다가 설치된 차량과 동일한 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 상기 객체와 동일한 객체를 특정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다. In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium to execute the verification method as described above. The computer program includes a memory; transceiver; and a processor for processing instructions resident in the memory. In addition, the computer program receives, through the transceiver, 3D point cloud data continuously acquired by the lidar fixed to the vehicle, in order for the processor to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle. ; specifying, by the processor, an object included in each of the 3D point cloud data according to the time sequence acquired by the lidar; identifying, by the processor, a movement path of the object based on a change in the position of the specified object according to the time sequence; and specifying, by the processor, the same object as the object from each of the 2D images continuously photographed by a plurality of cameras fixedly installed in the same vehicle as the vehicle in which the lidar is installed, using the movement path of the identified object. In order to execute the , it may be a computer program recorded on a recording medium.

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.

본 발명의 실시예들에 따르면, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라를 통해 획득된 복수 개의 2D 이미지들 각각에 대하여 어노테이션을 수행하기에 앞서, 3D 점군 데이터를 기초로 2D 이미지들을 전처리함으로써 어노테이션의 작업량을 크게 감소시킬 수 있다.According to embodiments of the present invention, in order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle, annotation is performed on each of a plurality of 2D images acquired through a plurality of cameras fixedly installed in a vehicle. Prior to this, by preprocessing 2D images based on 3D point cloud data, the amount of annotation work can be greatly reduced.

구체적으로, 본 발명의 실시예들에 따르면, 3D 점군 데이터를 통해 식별된 객체의 이동 경로를 기반으로, 복수 개의 2D 이미지들 중에서 객체와 무관한 2D 이미지는 어노테이션의 대상에서 제외시키고, 어노테이션의 대상이 되는 2D 이미지들에 대하여 선제적으로 바운딩 박스를 배치함으로써, 어노테이션 작업을 수행하는 라벨러(labeler)는 최소한의 작업만 수행할 수 있게 된다.Specifically, according to embodiments of the present invention, based on the movement path of the object identified through the 3D point cloud data, a 2D image irrelevant to the object among the plurality of 2D images is excluded from the object of the annotation, and the object of the annotation is excluded. By preemptively arranging a bounding box for the 2D images, a labeler performing an annotation operation can perform only a minimum operation.

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 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 and 2 are block diagrams of an artificial intelligence learning system according to various embodiments of the present invention.
3 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
4 is a logical configuration diagram of an object specifying unit according to an embodiment of the present invention.
5 is a hardware configuration diagram of an annotation apparatus according to an embodiment of the present invention.
6 is an exemplary diagram illustrating a vehicle that collects data for artificial intelligence (AI) machine learning according to an embodiment of the present invention.
7 is an exemplary diagram for explaining a process of automatically specifying an object from 3D point cloud data according to an embodiment of the present invention.
8 is an exemplary diagram for explaining a process of improving the quality of 3D point cloud data according to an embodiment of the present invention.
9A to 9C are exemplary diagrams for explaining a process of tracking an object from 3D point cloud data according to an embodiment of the present invention.
10A to 10C are exemplary diagrams for explaining a process of tracking an object from 2D images according to an embodiment of the present invention.
11 is an exemplary diagram for explaining a process of performing synchronization between 3D point cloud data and a 2D image according to an embodiment of the present invention.
12 and 13 are exemplary diagrams for explaining a process of tracking an object crossing a boundary of an angle of view according to an embodiment of the present invention.
14 is an exemplary diagram for explaining a process of preprocessing a 2D image using 3D point cloud data according to an embodiment of the present invention.
15 is a flowchart illustrating a method of generating data for artificial intelligence (AI) learning according to an embodiment of the present invention.
16 is a flowchart illustrating an annotation method according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that technical terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in this specification should be interpreted in the meaning generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise defined in this specification, and excessively inclusive. It should not be construed in the meaning of a human being or in an excessively reduced meaning. In addition, when the technical terms used in the present specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be understood by being replaced with technical terms that those skilled in the art can correctly understand. In addition, general terms used in the present invention should be interpreted as defined in advance or according to the context before and after, and should not be interpreted in an excessively reduced meaning.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, as used herein, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “consisting of” or “having” should not be construed as necessarily including all of the various components or various steps described in the specification, some of which components or some steps are included. It should be construed that it may not, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Also, terms including ordinal numbers such as first, second, etc. used herein may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but another component may exist in between. On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed as extending to all changes, equivalents, or substitutes other than the accompanying drawings.

종래의 수단들에 따르면, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여, 차량에 고정 설치된 라이다(lidar)를 통해 획득된 다수의 3D 점군(3D point group) 데이터들과, 해당 차량에 동일하게 고정 설치된 카메라를 통해 획득된 다수의 2D 이미지들을 가공하는 과정에서 많은 시간과 인력이 요구되었다.According to conventional means, in order to machine-learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle, a plurality of 3D point group data obtained through a lidar fixedly installed in a vehicle And, a lot of time and manpower was required in the process of processing a number of 2D images acquired through the cameras fixedly installed in the vehicle.

이러한 한계를 극복하기 위하여, 본 발명은 다수의 3D 점군 데이터들과 2D 이미지들을 보다 용이하게 가공할 수 있는 다양한 수단들을 제안하고자 한다.In order to overcome this limitation, the present invention intends to propose various means for more easily processing a plurality of 3D point cloud data and 2D images.

도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.1 and 2 are block diagrams of an artificial intelligence learning system according to various embodiments of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200-1, 200-2, …, 200-n; 200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.As shown in Figure 1, the artificial intelligence learning system according to an embodiment of the present invention is a learning data generating device 100, one or more annotation devices (200-1, 200-2, ..., 200-n; 200) , the learning data verification apparatus 300 and the artificial intelligence learning apparatus 400 may be included.

또한, 도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(200-a, 200-b, …, 200-m; 200)와 학습 데이터 검증 장치(300-a, 300-b, …, 300-m; 300)가 하나로 이루어진 복수 개의 그룹(Group-a, Group-b …, Group-m), 학습 데이터 생성 장치(100) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.In addition, as shown in FIG. 2, the artificial intelligence learning system according to another embodiment of the present invention includes one or more annotation devices 200-a, 200-b, ..., 200-m; 200 and a learning data verification device ( 300-a, 300-b, …, 300-m; 300) a plurality of groups (Group-a, Group-b …, Group-m), a learning data generating apparatus 100 and an artificial intelligence learning apparatus ( 400) may be included.

이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, since the components of the AI learning system according to various embodiments are merely functionally distinct elements, two or more components are integrated with each other in the actual physical environment, or one component is the actual physical environment. may be implemented separately from each other.

각각의 구성 요소에 대하여 설명하면, 학습 데이터 생성 장치(100)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. Each component will be described. The learning data generating apparatus 100 is a device that can be used to design and generate data for machine learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

이와 같은, 학습 데이터 생성 장치(100)는 기본적으로 학습 데이터 검증 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 학습 데이터 생성 장치(100)와 학습 데이터 검증 장치(300)가 하나의 장치로 통합되어 구현될 수도 있다.As such, the learning data generating apparatus 100 is basically a device distinct from the learning data verifying apparatus 300, but in an actual physical environment, the learning data generating apparatus 100 and the learning data verifying apparatus 300 are one device. It may be integrated and implemented.

구체적으로, 학습 데이터 설계 장치(100)는 인공지능 학습 장치(400)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.Specifically, the learning data design apparatus 100 may receive the properties of the project related to artificial intelligence (AI) learning from the artificial intelligence learning apparatus 400 . The learning data design device 100 is based on the user's control and the properties of the received project, the design of the data structure for artificial intelligence (AI) learning, the purification of the collected data, the processing of the data, the expansion of the data, and the verification can be performed.

우선적으로, 학습 데이터 설계 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다. 예를 들어, 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.First, the learning data design apparatus 100 may design a data structure for artificial intelligence (AI) learning. For example, the learning data design apparatus 100 is based on the user's control and the properties of the received project, an ontology for artificial intelligence (AI) learning, a classification system of data for artificial intelligence (AI) learning can be defined.

학습 데이터 설계 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집할 수 있다. 이를 위하여, 학습 데이터 설계 장치(100)는 외부로부터 3D 점군 데이터 및 2D 이미지들을 입력 받거나, 웹 크롤링(web crawling)을 수행하여 3D 점군 데이터 및 2D 이미지들을 수집하거나, 또는 외부 기관의 장치로부터 3D 점군 데이터 및 2D 이미지들을 다운로드 할 수 있다.The learning data design apparatus 100 may collect data for artificial intelligence (AI) learning based on the designed data structure. To this end, the learning data design apparatus 100 receives 3D point cloud data and 2D images from the outside, performs web crawling to collect 3D point cloud data and 2D images, or 3D point cloud from an external device. Data and 2D images can be downloaded.

여기서, 3D 점군 데이터는 차량에 고정 설치된 라이다(lidar)에 의해 획득된 데이터이다. 차량에 고정 설치된 라이다는 레이저 펄스를 발사하고, 차량 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다. 즉, 3D 점군 데이터를 구성하는 점군은 라이다에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점(point)들의 집합을 의미한다. Here, the 3D point cloud data is data acquired by a lidar fixedly installed in a vehicle. The lidar fixedly installed in the vehicle may generate 3D point cloud data corresponding to a 3D image of the vehicle's surroundings by emitting a laser pulse and detecting the light reflected back by objects located around the vehicle. That is, the point cloud constituting the 3D point cloud data refers to a set of points that reflect the laser pulse emitted by the lidar into the 3D space.

그리고, 2D 이미지는 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다. 자율주행을 위하여 하나의 차량에는 다수 개의 카메라가 고정 설치되어, 차량 주위에 대한 2차원 이미지를 각각 촬영할 수 있다. 예를 들어, 하나의 차량에 6개의 카메라가 설치될 수 있으나, 이에 한정되지 않는다. And, the 2D image is an image taken by a plurality of cameras fixedly installed in the vehicle. For autonomous driving, a plurality of cameras are fixedly installed in one vehicle, and two-dimensional images of the surroundings of the vehicle can be captured, respectively. For example, six cameras may be installed in one vehicle, but the present invention is not limited thereto.

학습 데이터 설계 장치(100)는 수집된 3D 점군 데이터 및 2D 이미지들 중에서 중복되거나 또는 극히 유사한 데이터를 제거할 수 있다. 학습 데이터 설계 장치(100)는 수집된 3D 점군 데이터 및 2D 이미지들에 포함된 개인정보를 비식별화(de-identification)할 수 있다.The learning data design apparatus 100 may remove duplicate or extremely similar data from the collected 3D point cloud data and 2D images. The learning data design apparatus 100 may de-identify personal information included in the collected 3D point cloud data and 2D images.

학습 데이터 설계 장치(100)는 수집 및 정제된 3D 점군 데이터 및 2D 이미지들을 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다. 이 경우, 학습 데이터 설계 장치(100)는 어노테이션 장치(200)의 작업자(즉, 라벨러)에 대하여 사전에 할당된 양에 따라 3D 점군 데이터 및 2D 이미지들을 분배할 수 있다.The learning data design apparatus 100 may distribute and transmit the collected and refined 3D point cloud data and 2D images to the plurality of annotation apparatuses 200 . In this case, the learning data design apparatus 100 may distribute the 3D point cloud data and the 2D images according to an amount previously allocated to the operator (ie, the labeler) of the annotation apparatus 200 .

학습 데이터 설계 장치(100)는 어노테이션 장치(200)로부터 직접 어노테이션 작업 결과물을 수신하거나, 또는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.The learning data design apparatus 100 may receive an annotation operation result directly from the annotation apparatus 200 , or may receive an annotation operation result and an inspection result from the learning data verification apparatus 300 .

학습 데이터 설계 장치(100)는 수신된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 설계 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다. The learning data design apparatus 100 may generate data for artificial intelligence (AI) learning by packaging the received annotation work result. In addition, the learning data design apparatus 100 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning apparatus 400 .

이와 같은 특징을 가지는, 학습 데이터 생성 장치(100)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The training data generating apparatus 100 having such a characteristic transmits and receives data to and from the annotation apparatus 200, the learning data verification apparatus 300, and the artificial intelligence learning apparatus 400, and performs an operation based on the transmitted and received data Any device that can do it is allowed. For example, the training data generating apparatus 100 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto.

다음 구성으로, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 3D 점군 데이터 및 2D 이미지들에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다. With the following configuration, the annotation device 200 is a device that can be used to annotate 3D point cloud data and 2D images distributed by the training data generating device 100 .

특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 3D 점군 데이터와 2D 이미지들을 보다 용이하게 가공할 수 있는 다양한 수단들을 제공할 수 있다.Characteristically, the annotation apparatus 200 according to an embodiment of the present invention may provide various means for more easily processing 3D point cloud data and 2D images distributed by the learning data generating apparatus 100 .

이와 같은 특징을 가지는, 어노테이션 장치(200)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(100)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.Any device capable of transmitting and receiving data to and from the training data generating device 100 and the training data verifying device 300, and performing an operation based on the transmitted/received data, may use the annotation device 200 having these characteristics. may be permitted. For example, the annotation device 100 may be a desktop, a stationary computing device such as a workstation or a server, or a smart phone, a laptop, a tablet, a phablet, or a portable multimedia player. It may be any one of a portable computing device such as a Portable Multimedia Player (PMP), Personal Digital Assistants (PDA), or an E-book reader.

또한, 어노테이션 장치(200)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션을 수행하는 장치가 될 수도 있다.In addition, all or a part of the annotation apparatus 200 may be a device in which an annotator performs an annotation through a clouding service.

이와 같은, 어노테이션 장치(200)의 구체적이 구성 및 동작에 대해서는 추후 도 3 내지 도 5를 참조하여 설명하기로 한다.A detailed configuration and operation of the annotation apparatus 200 will be described later with reference to FIGS. 3 to 5 .

다음 구성으로, 학습 데이터 검증 장치(300)는 인공지능(AI) 학습용 데이터를 검증하는데 사용될 수 있는 장치이다. 즉, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 사전에 설정된 목표 품질에 부합하는지 여부, 또는 어노테이션 작업 결과물이 인공지능(AI) 학습에 유효한지 여부를 검증할 수 있는 장치이다.With the following configuration, the learning data verification device 300 is a device that can be used to verify data for artificial intelligence (AI) learning. That is, the learning data verification apparatus 300 verifies whether the annotation operation result generated by the annotation apparatus 200 meets a preset target quality or whether the annotation operation result is valid for artificial intelligence (AI) learning. It is a device that can

구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 수신할 수 있다. 여기서, 어노테이션 작업 결과물은 3D 점군 데이터 및 2D 이미지들로부터 특정된 객체의 좌표와, 이미지 또는 객체에 대한 메타데이터가 포함될 수 있다. 어노테이션 작업 결과물의 메타데이터에는 특정된 객체의 카테고리(category), 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation), 객체가 다른 객체 또는 물체에 의해 가려진 비율(occlusion), 객체의 트래킹 아이디(tracking identifier), 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되는 것은 아니다. 이와 같은, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것도 아니다.Specifically, the training data verification apparatus 300 may receive an annotation work result from the annotation apparatus 200 . Here, the annotation work result may include coordinates of an object specified from 3D point cloud data and 2D images, and metadata about the image or object. The metadata of the results of annotation work includes the specified object category (category), the rate at which the object is truncated by the angle of view of the 2D image (truncation), the rate at which the object is occluded by other objects or objects (occlusion), and the tracking ID of the object (tracking). identifier), the time at which the image was captured, weather conditions on the day the image was captured, and the like, but is not limited thereto. Such an annotation operation result may have a JSON (Java Script Object Notation) file format, but is not limited thereto.

학습 데이터 검증 장치(300)는 수신된 어노테이션 작업 결과물을 검수할 수 있다. 이를 위하여, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.The training data verification apparatus 300 may inspect the received annotation work result. To this end, the learning data verification apparatus 300 may perform inspection using a script on the annotation work result. Here, the script is a code for verifying whether a preset target quality is met or whether data is valid with respect to the results of the annotation work.

그리고, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다.In addition, the training data verification apparatus 300 may transmit the annotation work result and the inspection result received from the annotation apparatuses 200 to the training data generating apparatus 100 .

상술한 바와 같은 특징을 가지는, 학습 데이터 검증 장치(300)는 어노테이션 장치(200) 및 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 검증 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The training data verification apparatus 300, having the above-described characteristics, transmits/receives data to and from the annotation apparatus 200 and the training data generation apparatus 100, and any device capable of performing an operation based on the transmitted/received data. A device may be acceptable. For example, the training data verification apparatus 300 may be any one of a desktop, a workstation, or a stationary computing device such as a server, but is not limited thereto.

다음 구성으로, 인공지능 학습 장치(400)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습하는데 사용될 수 있는 장치이다.With the following configuration, the artificial intelligence learning device 400 is a device that can be used for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the artificial intelligence learning apparatus 400 may be any device as long as it is capable of transmitting and receiving data to and from the learning data generating apparatus 100 and performing an operation using the transmitted/received data. For example, the artificial intelligence learning apparatus 400 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto.

상술한 바와 같은, 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, the training data generating device 100 , one or more annotation devices 200 , the training data verification device 300 , and the artificial intelligence learning device 400 are a secure line directly connecting the devices and a public wired communication network. Alternatively, data may be transmitted/received using a combined network of one or more of the mobile communication networks.

예를 들어, 공용 유선 통신망에는 이더넷(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)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired networks include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). However, it is not limited thereto. In addition, the mobile communication network includes Code Division Multiple Access (CDMA), Wideband CDMA, WCDMA, High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile communication may be included, but are not limited thereto.

이하, 상술한 바와 같은, 어노테이션 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the annotation apparatus 200 as described above will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.3 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 통신부(205), 입출력부(210), 저장부(215), 객체 특정부(220), 메타데이터 생성부(225) 및 결과물 생성부(230)를 포함하여 구성될 수 있다.As shown in FIG. 3 , the annotation apparatus 200 according to an embodiment of the present invention includes a communication unit 205 , an input/output unit 210 , a storage unit 215 , an object specifying unit 220 , and a metadata generation unit. 225 and a result generating unit 230 may be included.

이와 같은, 어노테이션 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the annotation apparatus 200 merely represent functionally distinct elements, so that two or more components are integrated with each other in the actual physical environment, or one component is separated from each other in the actual physical environment. could be implemented.

각각의 구성 요소에 대하여 설명하면, 통신부(205)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다.When each component is described, the communication unit 205 may transmit/receive data to and from the learning data generating apparatus 100 and the learning data verifying apparatus 300 .

구체적으로, 통신부(205)는 학습 데이터 생성 장치(100)로부터 3D 점군 데이터 및 2D 이미지들을 수신할 수 있다. 통신부(205)는 3D 점군 데이터 및 2D 이미지들을 학습 데이터 생성 장치(100)로부터 개별적으로 수신하거나, 또는 일괄적으로 수신할 수 있다.Specifically, the communication unit 205 may receive 3D point cloud data and 2D images from the learning data generating apparatus 100 . The communication unit 205 may individually receive the 3D point cloud data and the 2D images from the training data generating apparatus 100 , or may receive them collectively.

여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 데이터이다. 이와 같은, 3D 점군 데이터는 차량에 설치된 라이다에 의해 시계열적으로 연속되게 획득될 수 있다. 그리고, 통신부(205)는 시계열적으로 연속되게 획득된 3D 점군 데이터들을 수신할 수 있다.Here, the 3D point cloud data is data obtained by a lidar fixedly installed in a vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle. Such 3D point cloud data may be continuously acquired in time series by the lidar installed in the vehicle. In addition, the communication unit 205 may receive 3D point cloud data continuously acquired in time series.

그리고, 2D 이미지는 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다. 이와 같은, 2D 이미지는 차량에 설치된 카메라에 의해 시계열적으로 연속되게 촬영될 수 있다. 그리고, 통신부(205)는 시계열적으로 연속되게 촬영된 2D 이미지들을 수신할 수 있다.And, the 2D image is an image taken by a plurality of cameras fixedly installed in the vehicle. Such 2D images may be continuously captured in time series by a camera installed in the vehicle. In addition, the communication unit 205 may receive 2D images continuously photographed in time series.

그리고, 통신부(205)는 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다. 이와 같은, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.In addition, the communication unit 205 may transmit the annotation work result to the training data verification apparatus 300 . Such an annotation work result may have a JSON file format, but is not limited thereto.

다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다. 여기서, 사용자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 사용자는 작업자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.With the following configuration, the input/output unit 210 may receive a signal from a user through a user interface (UI) or may output an operation result to the outside. Here, the user means a person who performs the annotation work. As such, a user may be referred to as an operator, performer, labeler, or data labeler, but is not limited thereto.

구체적으로, 입출력부(210)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 3D 점군 데이터 또는 2D 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit 210 may output an image to be annotated. The input/output unit 110 may receive a control signal for setting a bounding box from a user. In addition, the input/output unit 110 may output the 3D point cloud data or the 2D image by overlaying the bounding box.

그리고, 입출력부(110)는 이미지의 메타데이터를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다. In addition, the input/output unit 110 may receive a control signal for setting metadata of an image from a user.

구체적으로, 저장부(215)는 통신부(205)를 통해 수신된 3D 점군 데이터 및 2D 이미지들을 저장할 수 있다. 또한, 저장부(215)는 통신부(205)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 사용자의 속성을 저장할 수 있다. Specifically, the storage unit 215 may store 3D point cloud data and 2D images received through the communication unit 205 . Also, the storage unit 215 may store the properties of the project, the properties of the image, or the properties of the user received through the communication unit 205 .

다음 구성으로, 객체 특정부(220)는 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지 각각에 대하여, 인공지능(AI)의 기계 학습의 대상이 되는 객체를 특정할 수 있다.With the following configuration, the object specifying unit 220 may specify an object to be subjected to machine learning of artificial intelligence (AI) with respect to each of the 3D point cloud data and the 2D image that is the object of the annotation operation.

특징적으로, 본 발명의 일 실시예에 따른 객체 특정부(220)는 3D 점군 데이터와 2D 이미지들을 대상으로 보다 용이하게 어노테이션을 수행할 수 있는 다양한 수단들을 제공할 수 있다. Characteristically, the object specifying unit 220 according to an embodiment of the present invention may provide various means for more easily performing annotations on 3D point cloud data and 2D images.

이와 같은, 객체 특정부(220)의 구체적인 구성 및 동작에 대해서는 추후 도 4를 참조하여 설명하기로 한다.Such a detailed configuration and operation of the object specifying unit 220 will be described later with reference to FIG. 4 .

다음 구성으로, 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지에 대한 메타데이터(metadata)를 생성할 수 있다. With the following configuration, it is possible to generate metadata for 3D point cloud data and 2D images to be annotated.

여기서, 메타데이터는 3D 점군 데이터 또는 2D 이미지와, 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체를 설명하기 위한 데이터이다. 이와 같은, 메타데이터에는 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체의 카테고리, 객체가 2D 이미지의 화각에 의해 잘려진 비율, 객체가 다른 객체 또는 물체에 의해 가려진 비율, 객체의 트래킹 아이디, 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되지 아니하고, 파일 크기, 이미지 크기, 저작권자, 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이, 클래스 명, 태그, 촬영 장소, 도로의 유형, 도로 표면 정보 또는 교통 체증 정보가 더 포함될 수도 있다.Here, the metadata is 3D point cloud data or 2D image and data for describing an object specified from the 3D point cloud data or 2D image. As such, metadata includes 3D point cloud data or a category of an object specified from a 2D image, the rate at which the object is cut by the angle of view of the 2D image, the rate at which the object is obscured by other objects or objects, the tracking ID of the object, and the Time, weather conditions on the day the image was taken, etc. may include, but are not limited to, file size, image size, copyright holder, resolution, bit value, aperture transmission, exposure time, ISO sensitivity, focal length, aperture opening value, Angle of view, white balance, RGB depth, class name, tag, shooting location, type of road, road surface information, or traffic jam information may be further included.

메타데이터 생성부(225)는 기본적으로 입출력부(210)를 통해 사용자로부터 입력된 제어 신호에 따라, 메타데이터에 포함될 구체적인 값들을 설정할 수 있다.The metadata generator 225 may basically set specific values to be included in the metadata according to a control signal input from the user through the input/output unit 210 .

특징적으로, 본 발명의 일 실시예에 따른 객체 특정부(220)에 의해 전처리된 2D 이미지들에 대하여 메타데이터가 사전 설정될 수 있으며, 메타데이터 생성부(225)는 사전 설정된 메타데이터를 단순히 수정 또는 검증하는 역할만 수행할 수도 있다. Characteristically, metadata may be preset for the 2D images preprocessed by the object specifying unit 220 according to an embodiment of the present invention, and the metadata generating unit 225 may simply modify the preset metadata. Alternatively, it may only perform the role of verification.

다음 구성으로, 결과물 생성부(230)는 어노테이션 작업 결과물을 생성할 수 있다.With the following configuration, the result generating unit 230 may generate an annotation work result.

구체적으로, 결과물 생성부(230)는 객체 특정부(220)에 의해 3D 점군 데이터 및 2D 이미지들로부터 특정된 객체의 좌표 및 메타데이터 생성부(225)에 의해 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Specifically, the result generating unit 230 performs annotations based on the coordinates of the object specified from the 3D point cloud data and 2D images by the object specifying unit 220 and the metadata generated by the metadata generating unit 225 . You can create work results. In this case, the annotation work result may have a JSON file format, but is not limited thereto.

그리고, 결과물 생성부(230)은 생성된 어노테이션 작업 결과물을 통신부(205)를 통해 학습 데이터 생성 장치(100)에 직접 전송하거나, 또는 학습 데이터 검증 장치(300)에 전송할 수 있다.In addition, the result generating unit 230 may directly transmit the generated annotation work result to the learning data generating apparatus 100 through the communication unit 205 , or may transmit it to the learning data verifying apparatus 300 .

이하 상술한 바와 같은, 본 발명의 일 실시예에 따른 어노테이션 장치(200)를 구성하는 객체 특정부(220)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, as described above, the configuration of the object specifying unit 220 constituting the annotation apparatus 200 according to an embodiment of the present invention will be described in more detail.

도 4는 본 발명의 일 실시예에 따른 객체 특정부의 논리적 구성도이다.4 is a logical configuration diagram of an object specifying unit according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 객체 특정부(220)는 3D 데이터 객체 특정 모듈(220-1), 2D 이미지 객체 특정 모듈(220-2), 품질 관리 모듈(220-3), 객체 자동 추적 모듈(220-4), 동기화 처리 모듈(220-5) 및 전처리 모듈(220-6)을 포함하여 구성될 수 있다.As shown in FIG. 4 , the object specifying unit 220 according to an embodiment of the present invention includes a 3D data object specifying module 220-1, a 2D image object specifying module 220-2, and a quality management module 220 -3), an object automatic tracking module 220-4, a synchronization processing module 220-5, and a pre-processing module 220-6 may be included.

이와 같은, 객체 특정부(220)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the object specifying unit 220 are merely functionally distinct elements, two or more components are integrated with each other in the actual physical environment, or one component is separated from each other in the actual physical environment. and can be implemented.

각각의 구성 요소에 대하여 설명하면, 3D 데이터 객체 특정 모듈(220-1)는 3D 점군 데이터로부터 객체(object)를 특정할 수 있다.When each component is described, the 3D data object specifying module 220 - 1 may specify an object from 3D point cloud data.

구체적으로, 3D 데이터 객체 특정 모듈(220-1)은 통신부(205)를 통해, 3D 점군 데이터를 수신할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 데이터이다.Specifically, the 3D data object specifying module 220 - 1 may receive 3D point cloud data through the communication unit 205 . Here, the 3D point cloud data is data obtained by a lidar fixedly installed in a vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

기본적으로, 3D 데이터 객체 특정 모듈(220-1)은 입출력부(210)를 통해 입력된 제어 신호에 따라 여섯 개의 좌표를 입력 받을 수 있다. 3D 데이터 객체 특정 모듈(220-1)은 입력된 여섯 개의 좌표를 기초로 3D 바운딩 박스(3D bounding box)를 설정함으로써, 3D 점군 데이터 속에 포함된 객체를 특정할 수 있다.Basically, the 3D data object specifying module 220 - 1 may receive six coordinates according to a control signal input through the input/output unit 210 . The 3D data object specifying module 220-1 may specify an object included in the 3D point cloud data by setting a 3D bounding box based on six input coordinates.

여기서, 3D 바운딩 박스는 3D 점군 데이터에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은,3D 바운딩 박스는 육면체(hexahedron)의 형상을 가질 수 있으나, 이에 한정되는 것은 아니다. Here, the 3D bounding box is an area for specifying an object to be the target of the artificial intelligence (AI) learning from among the objects included in the 3D point cloud data. As such, the 3D bounding box may have a shape of a hexahedron, but is not limited thereto.

예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 입출력부(210)를 통해 사용자로부터 여섯 개의 좌표를 입력 받고, 입력된 여섯 개의 좌표를 꼭지점(vertex)의 좌표로 가지는 육면체의 3D 바운딩 박스를 3D 점군 데이터 내에 설정할 수 있다.For example, the 3D data object specifying module 220-1 receives six coordinates from the user through the input/output unit 210, and a hexahedral 3D bounding box having the six coordinates as vertex coordinates. can be set in the 3D point cloud data.

이 경우, 여섯 개의 좌표는 사용자가 한 종류의 입력 신호를 여섯 번 입력(예들 들어, 마우스의 클릭 또는 키보드의 키 입력)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스의 드래그 또는 키보드의 두 개의 키 입력)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.In this case, the six coordinates are set by the user inputting one type of input signal six times (eg, clicking a mouse or inputting a key on the keyboard), or the user inputs two types of input signals once (eg, may be set by dragging the mouse or inputting two keys on the keyboard), but is not limited thereto.

특징적으로, 3D 데이터 객체 특정 모듈(220-1)은 3D 점군 데이터로부터 객체를 자동으로 특정할 수 있다.Characteristically, the 3D data object specifying module 220 - 1 may automatically specify an object from the 3D point cloud data.

구체적으로, 3D 데이터 객체 특정 모듈(220-1)은 수신된 3D 점군 데이터의 X축(즉, 3D 점군 데이터의 폭), Y축(즉, 3D 점군 데이터의 높이) 및 Z축(즉 3D 점군 데이터의 깊이) 중에서 하나의 축(axis)을 고정한 2D 이미지 세 개를 식별할 수 있다.Specifically, the 3D data object specification module 220-1 configures the X-axis (ie, the width of the 3D point cloud data), the Y-axis (ie, the height of the 3D point cloud data) and the Z-axis (ie, the 3D point cloud data) of the received 3D point cloud data. In the depth of data), three 2D images with one axis fixed can be identified.

예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 3차원 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 3차원 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 및 상기 3차원 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별할 수 있다.For example, the 3D data object specifying module 220-1 provides a side view image consisting of only data of the Y and Z axes in which the X axis is fixed in the 3D point cloud data, and the Y axis is fixed in the 3D point cloud data. It is possible to identify a top view image composed of only the X-axis and Z-axis data, and a front view image composed only of the data of the X-axis and the Y-axis in which the Z-axis is fixed in the three-dimensional point cloud data.

3D 데이터 객체 특정 모듈(220-1)은 식별된 세 개의 2D 이미지 각각을 대상으로 이미지 내에 포함되어 있는 일부 점들의 집합을 식별할 수 있다. 그리고, 3D 데이터 객체 특정 모듈(220-1)은 식별된 일부 점들의 집합이 포함되도록, 2D 임시 바운딩 박스(temporary bounding box)를 세 개의 2D 이미지 각각에 설정할 수 있다. The 3D data object specifying module 220-1 may identify a set of some points included in the image for each of the three identified 2D images. In addition, the 3D data object specifying module 220-1 may set a 2D temporary bounding box to each of the three 2D images so that the identified set of some points is included.

여기서, 2D 임시 바운딩 박스는 인공지능(AI) 학습을 위한 객체를 직접적으로 특정하기 위한 영역은 아니며, 3D 점군 데이터를 구성하고 있는 2차원 면(surface, 즉, 3D 점군 데이터로부터 식별된 평면 시점 이미지, 정면 시점 이미지 및 측면 시점 이미지)으로부터 객체의 2차원 면을 임시로 특정하기 위한 영역이다.Here, the 2D temporary bounding box is not an area for directly specifying an object for artificial intelligence (AI) learning. , an area for temporarily specifying a two-dimensional surface of an object from a front view image and a side view image).

예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 평면 시점 이미지, 정면 시점 이미지 및 측면 시점 이미지 각각에 대하여 다음을 수행할 수 있다. For example, the 3D data object specifying module 220-1 may perform the following for each of a planar view image, a front view image, and a side view image.

우선, 3D 데이터 객체 특정 모듈(220-1)은 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점을 탐색한다. 3D 데이터 객체 특정 모듈(220-1)은 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 X축에서 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적(recursive)으로 수행할 수 있다.First, the 3D data object specification module 220-1 sets one point located at one end as a reference point for points included in the planar view image, and a preset adjacent distance on the X-axis based on the reference point Search for adjacent points located within. The 3D data object specific module 220-1 performs a process of recursively searching for a new adjacent point located within the adjacent distance on the X-axis by setting the found adjacent point as a new reference point when the adjacent point is searched. can

3D 데이터 객체 특정 모듈(220-1)은 X축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 인접점이 탐색되지 않은 점을 기준으로 Z축에서 인접 거리 내에서 위치하는 인접점을 탐색한다. 3D 데이터 객체 특정 모듈(220-1)은 Z 축에서 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 Z축에서 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다. The 3D data object specifying module 220-1 searches for an adjacent point located within the adjacent distance on the Z-axis based on the point where the adjacent point is not searched when the adjacent point located within the adjacent distance on the X-axis is not searched. When an adjacent point is found on the Z-axis, the 3D data object specifying module 220-1 may recursively perform a process of searching for the adjacent point on the Z-axis by setting the found adjacent point as a new reference point.

3D 데이터 객체 특정 모듈(220-1)은 Z축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, X축에서 탐색된 기준점 및 인접점과 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.The 3D data object specification module 220-1 is configured to include both the reference point and the adjacent point found on the X-axis and the reference point and the adjacent point found on the Z-axis when the adjacent point located within the adjacent distance on the Z-axis is not searched. You can set a 2D temporary bounding box within the viewpoint image.

상술한 바와 같은 평면 시점 이미지 내에 2D 임시 바운딩 박스를 설정하는 과정과 동일하게, 3D 데이터 객체 특정 모듈(220-1)은 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 측면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.In the same manner as in the process of setting the 2D temporary bounding box in the planar view image as described above, the 3D data object specifying module 220-1 targets the points included in the side view image in the Y axis and the Z axis respectively. A 2D temporary bounding box may be set in the side view image to recursively perform the setting and search for adjacent points, and to include both reference points and adjacent points found on the Y-axis and Z-axis, respectively.

또한, 3D 데이터 객체 특정 모듈(220-1)은 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 정면 시점 이미지 내에 2D 임시 바운딩 박스를 설정할 수 있다.In addition, the 3D data object specifying module 220-1 recursively performs a process of setting a reference point and searching for adjacent points on the X-axis and Y-axis, respectively, for points included in the front view image, and the X-axis and Y-axis A 2D temporary bounding box can be set in the front view image so that both the reference point and the adjacent point searched for each axis are included.

상술한 바와 같이, 2D 임시 바운딩 박스를 각각 설정한 이후, 3D 데이터 객체 특정 모듈(220-1)은 입출력부(210)를 통해 사용자로부터 입력된 방향 지시에 대응하여, 2D 임시 바운딩 박스를 평행 이동(parallel transference)시킬 수 있다.As described above, after each setting of the 2D temporary bounding box, the 3D data object specifying module 220 - 1 moves the 2D temporary bounding box in parallel in response to a direction indication input by the user through the input/output unit 210 . (parallel transference) is possible.

예를 들어, 3D 객체 특정 모듈(220-1)은 사용자로부터 입력된 방향 지시에 대응하여, 평면 시점 이미지에 설정된 2D 임시 바운딩 박스를 X축 상에서 평행 이동시키거나, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Z축 상에서 평행 이동시키거나, 또는 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 Y축 상에서 평행 이동시킬 수 있다. For example, the 3D object specifying module 220-1 may move a 2D temporary bounding box set in a planar view image in parallel on the X-axis in response to a direction indication input from a user, or 2D temporary bounding set in a side view image. The box can be translated on the Z-axis, or the 2D temporary bounding box set in the front view image can be translated on the Y-axis.

그리고, 3D 데이터 객체 특정 모듈(220-1)은 세 개의 2D 이미지(즉, 평면 시점 이미지, 측면 시점 이미지 및 정면 시점 이미지) 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 자동으로 설정할 수 있다.And, the 3D data object specifying module 220-1 uses the 2D temporary bounding box set for each of the three 2D images (that is, a plane view image, a side view image, and a front view image), which is included in the 3D point cloud data. You can automatically set a 3D bounding box to specify an object.

예를 들어, 3D 데이터 객체 특정 모듈(220-1)은 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 Z축에서 서로 중첩되고, 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 X축에서 서로 중첩되고, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스와 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스가 Y축에서 서로 중첩되는 경우, 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스, 및 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 3D 점군 데이터 내에서 객체를 특정하기 위한 3D 바운딩 박스를 구성하는 2차원 평면으로 포함시킬 수 있다. For example, in the 3D data object specification module 220-1, the 2D temporary bounding box set in the planar view image and the 2D temporary bounding box set in the side view image are superimposed on each other in the Z-axis, and the 2D temporary bounding box set in the planar view image is superimposed on each other. When the box and the 2D temporary bounding box set in the front view image overlap each other on the X axis, and the 2D temporary bounding box set in the side view image and the 2D temporary bounding box set in the front view image overlap each other on the Y axis, the plane view image The 2D temporary bounding box set in the 2D temporary bounding box, the 2D temporary bounding box set in the side view image, and the 2D temporary bounding box set in the front view image are included as a two-dimensional plane constituting a 3D bounding box for specifying an object in the 3D point cloud data. can

이 경우, 3D 바운딩 박스는 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 평면(top), 저면(bottom)으로 가지고, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 좌측면(left lateral), 우측면(right lateral)으로 가지고, 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스를 정면(front), 배면(rear)으로 가지는, 육면체(hexahedron) 형상을 가지게 된다.In this case, the 3D bounding box has the 2D temporary bounding box set in the planar view image as the plane (top) and the bottom (bottom), and the 2D temporary bounding box set in the side view image is left lateral, right lateral ), and has a hexahedron shape with the 2D temporary bounding box set in the front view image as the front and rear.

다음 구성으로, 2D 이미지 객체 특정 모듈(220-2)은 2D 이미지로부터 객체를 특정할 수 있다.With the following configuration, the 2D image object specifying module 220 - 2 may specify an object from the 2D image.

구체적으로, 2D 이미지 객체 특정 모듈(220-2)은 통신부(205)를 통해, 복수 개의 2D 이미지를 수신할 수 있다. 여기서, 2D 이미지는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다.Specifically, the 2D image object specifying module 220 - 2 may receive a plurality of 2D images through the communication unit 205 . Here, the 2D image is an image taken by a plurality of cameras fixedly installed in the vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle.

기본적으로, 2D 데이터 객체 특정 모듈(220-2)은 입출력부(210)를 통해 입력된 제어 신호에 따라 복수 개의 좌표를 입력 받을 수 있다. 2D 데이터 객체 특정 모듈(220-2)은 입력된 복수 개의 좌표를 기초로 2D 바운딩 박스(2D bounding box)를 설정함으로써, 2D 이미지 속에 포함된 객체를 특정할 수 있다.Basically, the 2D data object specifying module 220 - 2 may receive a plurality of coordinates according to a control signal input through the input/output unit 210 . The 2D data object specifying module 220 - 2 may specify an object included in the 2D image by setting a 2D bounding box based on a plurality of input coordinates.

여기서, 2D 바운딩 박스는 2D 이미지에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 2D 이미지에 설정되는 2D 바운딩 박스는 본 발명의 구현 방식에 따라, 여섯 개의 꼭지점을 가지는 3차원의 육면체 형상을 가지거나, 또는 4개의 꼭지점을 가지는 2차원 사각(rectangle) 형상을 가질 수 있으며, 이에 한정되는 것도 아니다.Here, the 2D bounding box is an area for specifying an object to be the target of the artificial intelligence (AI) learning from among the objects included in the 2D image. Such a 2D bounding box set in a 2D image may have a three-dimensional hexahedral shape having six vertices, or a two-dimensional rectangular shape having four vertices, depending on the implementation method of the present invention. and is not limited thereto.

특징적으로, 2D 데이터 객체 특정 모듈(220-2)은 객체 자동 추적 모듈(220-4) 또는 전처리 모듈(220-6)에 의해 미리 배치된 2D 바운딩 박스를, 입출력부(210)를 통해 입력된 제어 신호에 따라 단순히 수정할 수도 있다. Characteristically, the 2D data object specifying module 220-2 receives the 2D bounding box pre-arranged by the object automatic tracking module 220-4 or the pre-processing module 220-6 through the input/output unit 210. It can also be simply modified according to the control signal.

다음 구성으로, 품질 관리 모듈(220-3)은 연속적으로 획득된 3D 점군 데이터들의 품질을 향상시킬 수 있다.With the following configuration, the quality management module 220 - 3 may improve the quality of continuously acquired 3D point cloud data.

구체적으로, 품질 관리 모듈(220-3)은 통신부(205)를 통해 수신된 3D 점군 데이터들 각각을 대상으로, 3D 데이터 객체 특정 모듈(220-1)을 통해 3D 점군 데이터 내에 포함된 객체를 특정할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.Specifically, the quality management module 220 - 3 specifies an object included in the 3D point cloud data through the 3D data object specifying module 220 - 1 for each of the 3D point cloud data received through the communication unit 205 . can do. Here, the 3D point cloud data is data continuously acquired according to a time series by a lidar that is fixedly installed in a vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

품질 관리 모듈(220-3)은 특정된 객체를 기초로, 3D 점군 데이터들 중에서 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터를 식별할 수 있다. The quality management module 220 - 3 may identify a plurality of 3D point cloud data including the same object from among 3D point cloud data, based on the specified object.

예를 들어, 품질 관리 모듈(220-3)은 3D 점군 데이터들 각각에 포함된 객체에 대하여, 메타 데이터 생성부(225)에 의해 부여된 트래킹 아이디를 서로 비교하여, 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터를 식별할 수 있다. 이 경우, 트래킹 아이디는 3D 점군 데이터들 및 2D 이미지들 내에서 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자가 될 수 있다. For example, the quality management module 220 - 3 compares the tracking IDs provided by the meta data generator 225 with respect to the objects included in each of the 3D point cloud data with each other to obtain a plurality of objects including the same object. 3D point cloud data can be identified. In this case, the tracking ID may be a unique identifier of an object assigned to track the object in 3D point cloud data and 2D images.

품질 관리 모듈(220-3)은 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체들의 품질을 서로 비교하여, 품질이 가장 우수한 하나의 객체를 선택할 수 있다. The quality management module 220 - 3 may compare the qualities of the same objects included in a plurality of 3D point cloud data including the same object with each other, and select one object having the best quality.

예를 들어, 품질 관리 모듈(220-3)은 3D 점군 데이터들 각각으로 특정된 객체들이 3D 점군 데이터 내에서 차지하고 있는 부피(volume)를 산출하고, 상기 산출된 부피가 가장 큰 하나의 객체를 선택할 수 있다. 이 경우, 품질 관리 모듈(220-3)은 객체를 특정하기 위하여 설정된 3D 바운딩 박스에 대한, X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 곱하여 객체의 부피를 산출할 수 있다. 품질 관리 모듈(220-3)은 산출된 부피가 가장 큰 객체가 복수 개인 경우, 복수 개의 객체 각각을 구성하고 있는 점(point)들의 개수를 산출하고, 점들의 개수가 가장 많은 하나의 객체를 선택할 수 있다.For example, the quality management module 220-3 calculates a volume occupied by objects specified as each of the 3D point cloud data in the 3D point cloud data, and selects one object having the largest calculated volume. can In this case, the quality control module 220-3 multiplies the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis with respect to the 3D bounding box set to specify the object. volume can be calculated. When there are a plurality of objects with the largest calculated volume, the quality management module 220-3 calculates the number of points constituting each of the plurality of objects, and selects one object having the largest number of points. can

품질 관리 모듈(220-3)은 산출된 부피를 기초로 하나의 객체를 선택함에 있어, 객체가 다른 물체에 의해 가려진 비율(occlusion)이 최소인 객체들의 부피를 우선적으로 비교할 수 있다.When selecting one object based on the calculated volume, the quality management module 220 - 3 may preferentially compare volumes of objects having a minimum occlusion ratio of the object to another object.

품질 관리 모듈(220-3)은 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지 내에서 3D 점군 데이터로부터 특정된 객체와 동일한 트래킹 아이디가 부여된 객체를 특정하고, 2D 이미지 내에서 특정된 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation)이 최소인 객체들의 부피를 우선적으로 비교할 수도 있다. The quality control module 220-3 specifies an object to which the same tracking ID as the object specified from the 3D point cloud data is assigned in the 2D image taken at the same time as the time at which the 3D point cloud data was acquired, and specified within the 2D image. It is also possible to preferentially compare the volumes of the objects whose truncation is the minimum by the angle of view of the 2D image.

또한, 품질 관리 모듈(220-3)은 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지가 복수 개이고, 복수 개의 2D 이미지 중 제1 2D 이미지와 제2 2D 이미지가 동일한 객체의 서로 다른 부분을 포함하고 있으며, 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 객체의 두 부분을 서로 조합하여 잘려진 비율이 0인 객체를 도출할 수 있는 경우, 두 부분을 서로 조합하여 도출된 객체의 부피를 기초로 품질이 가장 우수한 하나의 객체를 선택할 수 있다.In addition, the quality management module 220-3 includes a plurality of 2D images captured at the same time as the time at which the 3D point cloud data was acquired, and the first 2D image and the second 2D image among the plurality of 2D images are different from each other of the same object. When an object having a cropped ratio of 0 can be derived by combining two parts of the object included in the first 2D image and the second 2D image, respectively, the object derived by combining the two parts Based on volume, one object with the highest quality can be selected.

이를 위하여, 품질 관리 모듈(220-3)은 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 두 부분에 대한 색상(hue), 밝기(brightness) 및 감마(gamma)를 비교하여, 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 두 부분이 동일한 객체의 서로 다른 부분인지 검증할 수도 있다.To this end, the quality control module 220-3 compares the hue, brightness, and gamma of two parts included in the first 2D image and the second 2D image, respectively, to obtain the first 2D It may be verified whether two parts included in the image and the second 2D image are different parts of the same object.

그리고, 품질 관리 모듈(220-3)은 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체를 구성하고 있는 점들을 대상으로, 가장 우수한 품질을 가지는 것으로 선택된 하나의 객체를 구성하는 점들로 대체할 수 있다.In addition, the quality management module 220-3 configures one object selected as having the best quality with respect to points constituting the same object included in a plurality of 3D point cloud data including the same object, respectively. points can be replaced.

다음 구성으로, 객체 자동 추적 모듈(220-4)은 연속적으로 획득된 3D 점군 데이터들 또는 연속적으로 획득된 2D 이미지들로부터 동일한 객체를 추적할 수 있다.With the following configuration, the object automatic tracking module 220 - 4 may track the same object from continuously acquired 3D point cloud data or continuously acquired 2D images.

우선, 객체 자동 추적 모듈(220-4)이 연속적으로 획득된 3D 점군 데이터들로부터 동일한 객체를 추적하는 과정을 설명한다.First, a process in which the automatic object tracking module 220 - 4 tracks the same object from continuously acquired 3D point cloud data will be described.

객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터, 제2 3D 점군 데이터 및 제3 3D 점군 데이터 각각에 대하여, 3D 데이터 객체 특정 모듈(220-1)을 통해 3D 점군 데이터 내에 포함된 하나 이상의 객체를 특정할 수 있다. The object automatic tracking module 220-4 is configured for each of the first 3D point cloud data, the second 3D point cloud data, and the third 3D point cloud data, one included in the 3D point cloud data through the 3D data object specifying module 220-1. More than one object can be specified.

여기서, 제1 3D 점군 데이터, 제2 3D 점군 데이터 및 제3 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 시계열에 따라 연속적으로 획득된 데이터들에 포함된 3D 점군 데이터이다. 그리고, 제1 3D 점군 데이터는 제2 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터이고, 제2 3D 점군 데이터는 제3 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터가 될 수 있다.Here, the first 3D point cloud data, the second 3D point cloud data, and the third 3D point cloud data are successively in time series through the lidar installed in the vehicle to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle. It is 3D point cloud data included in the acquired data. In addition, the first 3D point cloud data may be data acquired chronologically prior to the second 3D point cloud data, and the second 3D point cloud data may be data acquired chronologically preceding the third 3D point cloud data.

객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터 및 제2 3D 점군 데이터 내에 공통적으로 포함되어 있는 공통 객체를 식별할 수 있다.The object automatic tracking module 220 - 4 may identify a common object commonly included in the first 3D point cloud data and the second 3D point cloud data.

예를 들어, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터 및 제2 3D 점군 데이터 각각에 포함된 객체에 대하여 부여된 트래킹 아이디를 서로 비교하여, 동일한 트래킹 아이디가 부여된 객체를 공통 객체로 식별할 수 있다.For example, the object automatic tracking module 220-4 compares the tracking IDs given to the objects included in each of the first 3D point cloud data and the second 3D point cloud data with each other, so that the objects to which the same tracking ID is assigned are shared. It can be identified as an object.

객체 자동 추적 모듈(220-4)은 식별된 공통 객체의 이동 속도를 산출할 수 있다.The object automatic tracking module 220 - 4 may calculate the movement speed of the identified common object.

예를 들어, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터로부터 특정된 공통 객체와 상기 제2 3D 점군 데이터로부터 특정된 공통 객체 사이의 이격 거리와, 제1 3D 점군 데이터의 획득 시각과 제2 3D 점군 데이터의 획득 시각 사이의 이격 시간을 이용하여, 공통 객체의 이동 속도를 산출할 수 있다.For example, the automatic object tracking module 220 - 4 may determine the separation distance between the common object specified from the first 3D point cloud data and the common object specified from the second 3D point cloud data, and the acquisition time of the first 3D point cloud data. The moving speed of the common object may be calculated by using the separation time between the acquisition time of the second 3D point cloud data and the 3D point cloud data.

객체 자동 추적 모듈(220-4)은 산출된 이동 속도를 기초로, 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역을 식별할 수 있다. The object automatic tracking module 220 - 4 may identify an area in which the common object is estimated to be located in the third 3D point cloud data, based on the calculated moving speed.

객체 자동 추적 모듈(220-4)은 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역에 실제로 공통 객체가 존재하는지 검증할 수 있다. 보다 구체적으로, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역과, 제3 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체가 위치할 것으로 추정되는 영역 내에 실제로 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 2D 이미지와 상기 제3 2D 이미지는 제1 3D 점군 데이터 및 제3 3D 점군 데이터를 획득하는데 사용된 라이다가 설치된 차량과 동일한 차량에 고정 설치된 카메라에 의해 촬영된 이미지가 될 수 있다.The object automatic tracking module 220 - 4 may verify whether a common object actually exists in an area where the common object is estimated to be located in the third 3D point cloud data. More specifically, the object automatic tracking module 220-4 determines the area occupied by the common object in the first 2D image captured at the same time as the time at which the first 3D point cloud data was obtained, and the area at which the third point cloud data was obtained. It is possible to verify whether an object corresponding to the common object actually exists in the area where the common object is estimated to be located by comparing the areas where the common object is estimated to be located in the third 2D image taken at the same time as the time. have. In this case, the first 2D image and the third 2D image may be images taken by a camera fixedly installed in the same vehicle as the vehicle in which the lidar used to obtain the first 3D point cloud data and the third 3D point cloud data is installed. have.

예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB(Red, Green, Blue) 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, RGB 패턴은 영역 내 화소(pixel)에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴이 될 수 있다.For example, the object automatic tracking module 220-4 predicts that the RGB (Red, Green, Blue) pattern of the area occupied by the common object in the first 2D image and that the common object will be located in the third 2D image Based on a result of comparing the RGB patterns of the estimated area with each other, it may be verified whether an object corresponding to the common object exists in the area where the common object is estimated to be located. In this case, the RGB pattern may be a pattern for the ratio of the RGB values to the pixels in the region and the arrangement order of the RGB values.

다를 예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지(edge) 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 엣지 패턴은 영역 내에서 엣지에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀의 개수 및 영역 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴이 될 수 있다.For example, the automatic object tracking module 220 - 4 determines the edge pattern of the area occupied by the common object in the first 2D image, and the area where the common object is estimated to be located in the third 2D image. Based on the result of comparing the edge patterns of , it may be verified whether an object corresponding to the common object exists in the region where the common object is estimated to be located. In this case, the edge pattern may be a pattern for the number of pixels included in an enclosure closed by the edge within the area and a relative position where the edge is located within the area.

객체 자동 추적 모듈(220-4)은 공통 객체가 위치할 것으로 추정되는 영역의 위치 및 크기를 기초로, 제3 3D 점군 데이터로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여 기 설정된 3D 바운딩 박스의 위치 및 크기를 재조정할 수 있다.The object automatic tracking module 220-4 is configured to correspond to an area where the common object is estimated to be located among objects specified from the third 3D point cloud data, based on the location and size of the area where the common object is estimated to be located. The position and size of a preset 3D bounding box with respect to an object (that is, it may be a common object) may be readjusted.

그리고, 객체 자동 추적 모듈(220-4)은 제3 3D 점군 데이터로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여, 공통 객체에 대하여 기 부여된 메타데이터를 부여할 수 있다. 이 경우, 객체 자동 추적 모듈(220-4)은 제3 3D 점군 데이터에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여 크기를 부여할 수 있다.In addition, the object automatic tracking module 220 - 4 provides a common object (that is, may be a common object) corresponding to an area in which the common object is estimated to be located among objects specified from the third 3D point cloud data. Pre-set metadata can be assigned to an object. In this case, the object automatic tracking module 220 - 4 may assign a size to an object (that is, may be a common object) corresponding to an area where the common object is estimated to be located in the third 3D point cloud data. .

관측자와 관측 대상 사이의 거리가 달라지면, 관측자에 의해 관측되는 관측 대상의 상대적인 크기는 달라지게 된다. 그러나, 객체 자동 추적 모듈(220-4)은 라이다가 고정 설치된 차량으로부터 공통 객체가 이격된 거리와 무관하게, 공통 객체의 고유한 형상에 의해 결정된 절대 크기를 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체의 크기로 부여할 수 있다.If the distance between the observer and the object is changed, the relative size of the object observed by the observer will change. However, the object automatic tracking module 220-4 determines the absolute size determined by the unique shape of the common object regardless of the distance the common object is spaced apart from the vehicle in which the lidar is fixedly installed, the area in which the common object is estimated to be located. It can be given as the size of the object corresponding to .

다음으로, 객체 자동 추적 모듈(220-4)이 연속적으로 획득된 2D 이미지들로부터 동일한 객체를 추적하는 과정을 설명한다.Next, a process in which the object automatic tracking module 220 - 4 tracks the same object from successively acquired 2D images will be described.

객체 자동 추적 모듈(220-4)은 제1 2D 이미지, 제2 2D 이미지 및 제3 2D 이미지 각각에 대하여, 2D 데이터 객체 특정 모듈(220-2)을 통해 2D 이미지 내에 포함된 하나 이상의 객체를 특정할 수 있다.The object automatic tracking module 220-4 specifies one or more objects included in the 2D image through the 2D data object specifying module 220-2 for each of the first 2D image, the second 2D image, and the third 2D image. can do.

여기서, 제1 2D 이미지, 제2 2D 이미지 및 제3 2D 이미지는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 카메라를 통해 시계열에 따라 연속적으로 촬영된 이미지들에 포함된 2D 이미지이다. 그리고, 제1 2D 이미지는 제2 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지이고, 제2 2D 이미지는 제3 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지가 될 수 있다.Here, the first 2D image, the second 2D image, and the third 2D image are images continuously taken in a time series through a camera fixedly installed in the vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle. 2D image included in In addition, the first 2D image may be an image photographed chronologically before the second 2D image, and the second 2D image may be an image photographed chronologically before the third 2D image.

객체 자동 추적 모듈(220-4)은 제1 2D 이미지 및 제2 이미지 내에 공통적으로 포함되어 있는 공통 객체를 식별할 수 있다.The object automatic tracking module 220 - 4 may identify a common object commonly included in the first 2D image and the second image.

예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 및 제2 2D 이미지 각각에 포함된 객체에 대하여 부여된 트래킹 아이디를 서로 비교하여, 동일한 트래킹 아이디가 부여된 객체를 공통 객체로 식별할 수 있다. For example, the object automatic tracking module 220-4 compares the tracking IDs given to the objects included in each of the first 2D image and the second 2D image with each other, and sets the object to which the same tracking ID is assigned as a common object. can be identified.

객체 자동 추적 모듈(220-4)은 식별된 공통 객체의 이동 속도를 산출할 수 있다.The object automatic tracking module 220 - 4 may calculate the movement speed of the identified common object.

예를 들어, 2D 이미지에 설정되는 2D 바운딩 박스가 3차원 육면체 형상을 가질 경우, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지에서 공통 객체를 특정하기 위해 설정된 바운딩 박스의 부피와 제2 2D 이미지에서 공통 객체를 특정하기 위하여 설정된 바운딩 박스의 부피를 비교하여, 제1 2D 이미지로부터 특정된 상기 공통 객체와 제2 2D 이미지로부터 특정된 상기 공통 객체 사이의 이격 거리를 추정할 수 있다.For example, if the 2D bounding box set in the 2D image has a three-dimensional hexahedral shape, the object automatic tracking module 220-4 sets the volume of the bounding box set to specify a common object in the first 2D image and the second A separation distance between the common object specified from the first 2D image and the common object specified from the second 2D image may be estimated by comparing the volume of the bounding box set to specify the common object in the 2D image.

이와 다르게, 2D 이미지에 설정되는 2D 바운딩 박스가 2차원 사각 형상을 가질 경우, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지에서 공통 객체를 특정하기 위해 설정된 바운딩 박스의 넓이와 제2 2D 이미지에서 공통 객체를 특정하기 위하여 설정된 바운딩 박스의 넓이를 비교하여, 제1 2D 이미지로부터 특정된 상기 공통 객체와 제2 2D 이미지로부터 특정된 상기 공통 객체 사이의 이격 거리를 추정할 수 있다.Alternatively, when the 2D bounding box set in the 2D image has a two-dimensional rectangular shape, the object automatic tracking module 220-4 sets the width of the bounding box set to specify a common object in the first 2D image and the second 2D The separation distance between the common object specified from the first 2D image and the common object specified from the second 2D image may be estimated by comparing the width of a bounding box set to specify the common object in the image.

객체 자동 추적 모듈(220-4)은 제1 이미지의 촬영 시각과 제2 이미지의 촬영 시각 사이의 이격 시간을 산출하고, 이격 거리 및 이격 시간을 이용하여 공통 객체의 이동 속도를 산출할 수 있다.The object automatic tracking module 220 - 4 may calculate a separation time between the photographing time of the first image and the photographing time of the second image, and calculate the moving speed of the common object using the separation distance and the separation time.

객체 자동 추적 모듈(220-4)은 산출된 이동 속도를 기초로, 제3 2D 이미지 내에서 상기 공통 객체가 위치할 것으로 추정되는 영역을 식별할 수 있다.The object automatic tracking module 220 - 4 may identify an area where the common object is estimated to be located in the third 2D image, based on the calculated moving speed.

객체 자동 추적 모듈(220-4)은 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역에 실제로 공통 객체가 존재하는지 검증할 수 있다. 보다 구체적으로, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지가 촬영된 시각과 동일한 시각에 획득된 제1 3D 점군 데이터 내에서 공통 객체가 차지하고 있는 영역과, 제3 2D 이미지가 촬영된 시각과 동일한 시각에 획득된 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체가 위치할 것으로 추정되는 영역 내에 실제로 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 3D 점군 데이터와 제3 3D 점군 데이터는 제1 이미지 및 제3 이미지를 촬영하는데 사용된 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 획득된 점군 데이터가 될 수 있다.The object automatic tracking module 220 - 4 may verify whether a common object actually exists in an area where the common object is estimated to be located in the third 2D image. More specifically, the object automatic tracking module 220-4 is configured to include an area occupied by a common object in the first 3D point cloud data acquired at the same time as the time at which the first 2D image was captured, and the area at which the third 2D image was captured. By comparing regions where the common object is estimated to be located in the third 3D point cloud data acquired at the same time as the time, it is possible to verify whether an object corresponding to the common object actually exists in the region where the common object is estimated to be located. can In this case, the first 3D point cloud data and the third 3D point cloud data may be point cloud data acquired by a lidar fixedly installed in the same vehicle as the vehicle in which the camera used to photograph the first image and the third image is installed.

예를 들어, 객체 자동 추적 모듈(220-4)은 제1 3D 점군 데이터 내에서 공통 객체를 특정하기 위해 설정된 3D 바운딩 박스에 포함된 점들의 개수와, 제3 3D 점군 데이터 내에서 공통 객체가 위치할 것으로 추정되는 영역에 포함된 점들의 개수의 차이가 사전에 설정된 품질 변화 범위 내에 포함되는지 여부를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다.For example, the object automatic tracking module 220-4 determines the number of points included in the 3D bounding box set to specify the common object in the first 3D point cloud data, and the location of the common object in the third 3D point cloud data. Based on whether the difference in the number of points included in the area estimated to be performed is included within a preset quality change range, it can be verified whether an object corresponding to the common object exists in the area where the common object is estimated to be located. have.

다른 예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수 있다.For another example, the object automatic tracking module 220-4 may include an RGB pattern of an area occupied by a common object in the first 2D image and an RGB pattern of an area where a common object is estimated to be located in the third 2D image. Based on the result of comparing the , it may be verified whether an object corresponding to the common object exists in the region where the common object is estimated to be located.

또 다른 예를 들어, 객체 자동 추적 모듈(220-4)은 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체가 위치할 것으로 추정되는 영역 내에 공통 객체에 대응하는 객체가 존재하는지 검증할 수도 있다.As another example, the automatic object tracking module 220-4 may include an edge pattern of an area occupied by a common object in the first 2D image, and an edge of an area where the common object is estimated to be located in the third 2D image. Based on a result of comparing the patterns with each other, it may be verified whether an object corresponding to the common object exists in an area where the common object is estimated to be located.

객체 자동 추적 모듈(220-4)은 공통 객체가 위치할 것으로 추정되는 영역의 위치 및 크기를 기초로, 제3 이미지로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여 기 설정된 2D 바운딩 박스의 위치 및 크기를 재조정할 수 있다.Object automatic tracking module 220-4 is based on the location and size of the area where the common object is estimated to be located, the object corresponding to the area where the common object is estimated to be located among the objects specified from the third image ( That is, it is possible to readjust the position and size of the preset 2D bounding box with respect to (which may be a common object).

그리고, 객체 자동 추적 모듈(220-4)은 제3 2D 이미지로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여, 공통 객체에 대하여 기 부여된 메타데이터를 부여할 수 있다. 이 경우, 객체 자동 추적 모듈(220-4)은 제3 이미지에서 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체(즉, 공통 객체가 될 수 있음)에 대하여, 공통 객체의 고유한 형상에 의해 결정된 절대 크기를 부여할 수 있다.In addition, the object automatic tracking module 220-4 is configured to, with respect to an object (ie, may be a common object) corresponding to an area in which the common object is estimated to be located, among objects specified from the third 2D image, the common object. Pre-specified metadata can be given to . In this case, the object automatic tracking module 220-4 determines the unique shape of the common object with respect to the object (that is, may be a common object) corresponding to the region where the common object is estimated to be located in the third image. can be given an absolute size determined by

다음 구성으로, 동기화 처리 모듈(220-5)은 동일한 차량에 고정 설치된 라이다의 3D 점군 데이터로부터 특정된 객체와, 카메라의 2D 이미지로부터 특정된 객체를 서로 동기화시킬 수 있다.With the following configuration, the synchronization processing module 220 - 5 may synchronize the object specified from the 3D point cloud data of the lidar fixedly installed in the same vehicle and the object specified from the 2D image of the camera with each other.

구체적으로, 동기화 처리 모듈(220-5)은 3D 점군 데이터를 대상으로, 3D 데이터 객체 특정 모듈(220-1)을 통해 3D 점군 데이터 내에 포함된 객체를 특정할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.Specifically, the synchronization processing module 220 - 5 may specify an object included in the 3D point cloud data through the 3D data object specifying module 220 - 1 with respect to the 3D point cloud data. Here, the 3D point cloud data is data continuously acquired according to a time series by a lidar that is fixedly installed in a vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

동기화 처리 모듈(220-5)은 2D 이미지로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체를 특정할 수 있다. 이 경우, 2D 이미지는 3D 점군 데이터를 획득한 라이다가 설치된 차량과 동일한 차량에 고정 설치된 카메라를 통해, 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 이미지이다.The synchronization processing module 220 - 5 may specify the same object as the object specified from the 3D point cloud data from the 2D image. In this case, the 2D image is an image taken at the same time as the time at which the 3D point cloud data was obtained through a camera fixedly installed in the same vehicle as the vehicle in which the lidar obtained the 3D point cloud data was acquired.

동기화 처리 모듈(220-5)은 3D 점군 데이터로부터 특정된 객체와 2D 이미지로부터 특정된 객체가 서로 대응하는지 판단할 수 있다.The synchronization processing module 220 - 5 may determine whether the object specified from the 3D point cloud data and the object specified from the 2D image correspond to each other.

예를 들어, 동기화 처리 모듈(220-5)은 3D 바운딩 박스의 관측 방향(observation direction)이 2D 이미지를 촬영한 카메라의 광축(optical axis) 방향에 대응하도록 3D 바운딩 박스를 3차원 회전시킨 후, 3차원 회전된 3D 바운딩 박스와 2D 바운딩 박스의 형상이 서로 대응되는지 판단할 수 있다. 이 경우, 3D 바운딩 박스와 2D 바운딩 박스는 모두 육면체 형상을 가질 수 있을 것이다.For example, the synchronization processing module 220-5 rotates the 3D bounding box three-dimensionally so that the observation direction of the 3D bounding box corresponds to the optical axis direction of the camera photographing the 2D image, It may be determined whether the shapes of the 3D rotated 3D bounding box and the 2D bounding box correspond to each other. In this case, both the 3D bounding box and the 2D bounding box may have a hexahedral shape.

동기화 처리 모듈(220-5)은 3D 점군 데이터로부터 특정된 객체와 2D 이미지로부터 특정된 객체가 서로 대응할 수 있도록, 동일한 객체를 특정하기 위하여 3D 점군 데이터 내에 설정된 3D 바운딩 박스의 위치 또는 크기를 조정하거나, 또는 동일한 객체를 특정하기 위하여 2D 이미지 내에 설정된 2D 바운딩 박스의 위치 또는 크기를 조정할 수 있다.The synchronization processing module 220-5 adjusts the position or size of the 3D bounding box set in the 3D point cloud data to specify the same object so that the object specified from the 3D point cloud data and the object specified from the 2D image correspond to each other. , or it is possible to adjust the position or size of the 2D bounding box set in the 2D image to specify the same object.

예를 들어, 동기화 처리 모듈(220-5)은 3D 점군 데이터에 포함된 깊이(depth) 값을 기초로, 동일한 객체를 특정하기 위해 2D 이미지 내에 설정된 2D 바운딩 박스의 경계선(border line)의 위치를 재조정할 수 있다. 여기서, 깊이 값은 라이다로부터 발사된 레이저 펄스를 반사시킨 객체가 라이다로부터 이격된 거리를 지시하는 값이 될 수 있다.For example, the synchronization processing module 220-5 determines the position of the border line of the 2D bounding box set in the 2D image to specify the same object based on the depth value included in the 3D point cloud data. can be readjusted. Here, the depth value may be a value indicating a distance from the lidar to the object reflecting the laser pulse emitted from the lidar.

이 경우, 동기화 처리 모듈(220-5)은 3D 점군 데이터에 포함된 깊이 값이 사전에 설정된 임계 범위 이상으로 변화되는 변곡선(inflection line)을 식별하고, 2D 이미지 내에서 동일 객체를 특정하기 위해 설정된 2D 바운딩 박스의 경계선이 식별된 변곡선에 대응하도록, 2D 바운딩 박스의 경계선의 위치를 재조정할 수 있다.In this case, the synchronization processing module 220-5 identifies an inflection line in which the depth value included in the 3D point cloud data changes beyond a preset threshold range, and specifies the same object in the 2D image. The position of the boundary line of the 2D bounding box may be readjusted so that the boundary line of the set 2D bounding box corresponds to the identified inflection line.

다른 예를 들어, 동기화 처리 모듈(220-5)은 2D 이미지에 포함된 RGB 값을 기초로, 동일한 객체를 특정하기 위해 설정된 3D 바운딩 박스의 경계선의 위치를 재조정할 수 있다. 또한, 동기화 처리 모듈(220-5)은 2D 이미지에 포함된 엣지를 검출(edge detection)하고, 동일한 객체를 특정하기 위해 3D 점군 데이터 내에 설정된 3D 바운딩 박스의 경계선이 2D 이미지로부터 검출된 엣지에 대응하도록 상기 3D 바운딩 박스의 경계선의 위치를 재조정할 수도 있다. As another example, the synchronization processing module 220 - 5 may readjust the position of the boundary line of the 3D bounding box set to specify the same object based on the RGB values included in the 2D image. In addition, the synchronization processing module 220-5 detects an edge included in the 2D image, and the boundary line of the 3D bounding box set in the 3D point cloud data to specify the same object corresponds to the detected edge from the 2D image. It is also possible to readjust the position of the boundary line of the 3D bounding box to do so.

또 다른 예를 들어, 동기화 처리 모듈(220-5)은 동일 객체를 특정하기 위한 3D 바운딩 박스의 부피(volume)가, 동일 객체를 특정하기 위한 2D 바운딩 박스의 부피보다 작은 경우, 상기 2D 바운딩 박스의 부피가 3D 바운딩 박스의 부피와 동일해지도록 2D 바운딩 박스의 부피를 감축시킬 수 있다.As another example, the synchronization processing module 220-5 is configured to: When the volume of the 3D bounding box for specifying the same object is smaller than the volume of the 2D bounding box for specifying the same object, the 2D bounding box The volume of the 2D bounding box may be reduced such that the volume of the 2D bounding box becomes the same as the volume of the 3D bounding box.

이 경우, 동기화 처리 모듈(220-5)은 2D 이미지를 파일(file)로 압축하는 과정에서 적용된 크로마 서브샘플링(chroma subsampling)의 크기 내에서, 2D 바운딩 박스를 구성하는 선분 각각을 2D 바운딩 박스의 내측을 향하여 이동시켜 2D 바운딩 박스의 부피를 감축시킬 수 있다.In this case, the synchronization processing module 220-5 converts each of the line segments constituting the 2D bounding box within the size of the chroma subsampling applied in the process of compressing the 2D image to a file of the 2D bounding box. The volume of the 2D bounding box can be reduced by moving it inward.

그리고, 동기화 처리 모듈(220-5)은 3D 바운딩 박스의 위치 또는 크기, 또는 상기 2D 바운딩 박스의 위치 또는 크기가 조정된 이후, 조정된 위치 또는 크기 값을 임시 저장할 수 있다. 이와 같이, 임시 저장된 위치 또는 크기 값은 3D 점군 데이터 또는 2D 이미지와 시계열적으로 연속되게 획득 또는 촬영된 후속 3D 점군 데이터 또는 2D 이미지에 적용될 수 있을 것이다.In addition, the synchronization processing module 220 - 5 may temporarily store the adjusted position or size value after the position or size of the 3D bounding box or the position or size of the 2D bounding box is adjusted. In this way, the temporarily stored position or size value may be applied to 3D point cloud data or 2D image and subsequent 3D point cloud data or 2D image continuously acquired or photographed in time series.

다음 구성으로, 전처리 모듈(220-6)은 연속적으로 획득된 3D 점군 데이터들을 기초로, 2D 이미지를 촬영한 카메라들의 화각과 무관하게 동일한 객체를 추적하여, 2D 이미지들을 전처리할 수 있다.With the following configuration, the pre-processing module 220 - 6 may pre-process the 2D images by tracking the same object irrespective of the angles of view of cameras that have photographed the 2D images based on the continuously acquired 3D point cloud data.

우선, 전처리 모듈(220-6)이 2D 이미지들을 각각 촬영한 카메라들의 화각과 무관하게 동일한 객체를 추적하는 과정을 설명한다.First, a process in which the pre-processing module 220 - 6 tracks the same object regardless of the angle of view of the cameras that have respectively captured the 2D images will be described.

전처리 모듈(220-6)은 통신부(205)를 통해 수신된 복수 개의 2D 이미지들 각각을 대상으로 2D 데이터 객체 특정 모듈(220-2)을 통해 2D 이미지 내에 포함된 객체를 특정할 수 있다. 여기서, 복수 개의 2D 이미지들은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다.The pre-processing module 220 - 6 may specify an object included in the 2D image through the 2D data object specifying module 220 - 2 for each of the plurality of 2D images received through the communication unit 205 . Here, the plurality of 2D images are images taken by a plurality of cameras fixedly installed in the vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle.

전처리 모듈(220-6)은 3D 점군 데이터들로부터 2D 이미지로부터 특정된 객체와 동일한 객체를 특정할 수 있다. 여기서, 3D 점군 데이터들은 2D 이미지의 촬영을 위해 복수 개의 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.The preprocessing module 220 - 6 may specify the same object as the object specified from the 2D image from the 3D point cloud data. Here, the 3D point cloud data is data continuously acquired in a time series by a lidar fixedly installed in the same vehicle as a vehicle in which a plurality of cameras are installed for capturing a 2D image.

예를 들어, 전처리 모듈(220-6)은 라이다 및 카메라가 설치된 차량이 가상의 원형의 중심점이 되도록, 복수 개의 2D 이미지들을 카메라의 광축(optical axis) 각도에 따라 원형으로 배치할 수 있다. 전처리 모듈(220-6)은 3D 점군 데이터로부터 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지를 획득할 수 있다. 전처리 모듈(220-6)은 원형으로 배치된 복수 개의 2D 이미지와 상기 평면 시점 이미지를 매칭하여 상기 동일한 객체를 특정할 수 있다.For example, the pre-processing module 220 - 6 may arrange a plurality of 2D images in a circle according to the angle of the optical axis of the camera so that the vehicle in which the lidar and the camera are installed becomes the center point of a virtual circle. The preprocessing module 220 - 6 may acquire a top view image composed of only X-axis and Z-axis data from the 3D point cloud data. The pre-processing module 220 - 6 may specify the same object by matching a plurality of circularly arranged 2D images with the plane view image.

전처리 모듈(220-6)은 3D 점군 데이터들로부터 특정된 동일한 객체의 위치 변화를 기초로 동일한 객체의 이동 경로를 식별할 수 있다.The preprocessing module 220 - 6 may identify the movement path of the same object based on the change in the position of the same object specified from the 3D point cloud data.

보다 상세하게, 전처리 모듈(220-6)은 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 경우, 동일한 객체의 이동 경로를 식별할 수 있다. In more detail, the pre-processing module 220 - 6 determines the movement path of the same object when two 2D images obtained by photographing spatially continuous angles of view from among a plurality of 2D images each include different parts of one object. can be identified.

이를 위하여, 전처리 모듈(220-6)은 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지 중에서 제1 2D 이미지의 화각에 의해 잘려진 비율(truncation)과 제2 이미지의 화각에 의해 잘려진 비율의 합이 사전에 설정된 임계 비율 이상인 경우, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 것으로 판단할 수 있다.To this end, the pre-processing module 220-6 calculates the sum of the ratio truncated by the angle of view of the first 2D image and the ratio truncated by the angle of view of the second image among two 2D images obtained by photographing spatially continuous angles of view. When it is equal to or greater than a preset threshold ratio, it may be determined that the two 2D images each include different parts of one object.

전처리 모듈(220-6)은 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지로부터 특정된 객체의 RGB 값과 제2 2D 이미지로부터 특정된 객체의 RGB 값을 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는지 여부를 검증할 수 있다.The pre-processing module 220-6 is configured to, when the sum of the ratio of the cropped by the angle of view of the first 2D image and the ratio cropped by the angle of view of the second image is equal to or greater than a threshold ratio, the RGB value of the object specified from the first 2D image and the second Based on the RGB value of the object specified from the 2D image, it may be verified whether the two 2D images each include different parts of one object.

이와 다르게, 전처리 모듈(220-6)은 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지와 제2 2D 이미지 사이의 경계선을 기준으로, 제1 2D 이미지로부터 특정된 객체의 엣지와 제2 2D 이미지로부터 특정된 객체의 엣지가 연속되는지 여부를 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는지 여부를 검증할 수 있다.Alternatively, the pre-processing module 220-6 is configured to perform a process between the first 2D image and the second 2D image when the sum of the ratio of the cropped by the angle of view of the first 2D image and the ratio of the cropped by the angle of view of the second image is equal to or greater than a threshold ratio. Based on the boundary line, based on whether the edge of the object specified from the first 2D image and the edge of the object specified from the second 2D image are continuous, the two 2D images each include different parts of one object, It can be verified whether or not

또한, 전처리 모듈(220-6)은 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지 사이의 경계선에 3D 점군 데이터로부터 특정된 객체가 걸쳐진(across) 경우, 동일한 객체의 이동 경로를 식별할 수도 있다.In addition, the preprocessing module 220-6 is configured to move the same object when an object specified from the 3D point cloud data crosses the boundary line between two 2D images obtained by taking spatially continuous angles of view among the plurality of 2D images. A path can also be identified.

그리고, 전처리 모듈(220-6)은 식별된 동일한 객체의 이동 경로를 기초로, 복수 개의 2D 이미지들 각각으로부터 특정된 객체에 동일한 메타데이터를 부여할 수 있다. In addition, the preprocessing module 220 - 6 may assign the same metadata to the object specified from each of the plurality of 2D images based on the identified movement path of the same object.

예를 들어, 전처리 모듈(220-6)은 복수 개의 2D 이미지들 각각으로부터 특정된 객체에 대하여 동일한 트래킹 아이디를 부여할 수 있다. 또한, 전처리 모듈(220-6)은 2D 이미지 내에서 객체가 차지하고 있는 상대적인 크기가 아닌, 3D 점군 데이터로부터 식별되며 객체의 고유한 형상에 의해 결정되는 절대 크기를 복수 개의 2D 이미지들 각각으로부터 특정된 객체의 메타데이터에 동일하게 포함시킬 수도 있다.For example, the preprocessing module 220 - 6 may assign the same tracking ID to an object specified from each of a plurality of 2D images. In addition, the preprocessing module 220-6 is identified from 3D point cloud data, not the relative size occupied by the object in the 2D image, and the absolute size determined by the unique shape of the object is specified from each of the plurality of 2D images. The same can be included in the object's metadata.

다음으로, 전처리 모듈(220-6)이 2D 이미지들을 전처리하는 과정을 설명한다.Next, a process of preprocessing the 2D images by the preprocessing module 220-6 will be described.

전처리 모듈(220-6)은 통신부(205)를 통해 수신된 3D 점군 데이터들 각각을 대상으로, 라이다에 의해 획득된 시간 순서에 따라 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정할 수 있다. 여기서, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 시계열에 따라 연속적으로 획득된 데이터이다.The pre-processing module 220 - 6 may specify an object included in each of the 3D point cloud data according to a time sequence obtained by the lidar with respect to each of the 3D point cloud data received through the communication unit 205 . . Here, the 3D point cloud data is data continuously acquired according to a time series by a lidar that is fixedly installed in a vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

만약, 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 전처리 모듈(220-6)은 라이다에 의해 3D 점군 데이터가 획득된 시간동안 복수 개의 카메라에 의해 촬영된 2D 이미지들을 객체의 특정 대상으로부터 제외시킬 수 있다.If no object is included in all of the 3D point cloud data, the preprocessing module 220 - 6 converts the 2D images captured by a plurality of cameras during the time the 3D point cloud data was acquired by the lidar to the specific object. can be excluded from the subject.

전처리 모듈(220-6)은 라이다에 의해 획득된 시간 순서에 따라 특정된 객체의 위치 변화를 기초로 객체의 이동 경로를 식별할 수 있다.The preprocessing module 220 - 6 may identify the movement path of the object based on the change in the position of the object specified according to the time sequence obtained by the lidar.

예를 들어, 전처리 모듈(220-6)은 3D 점군 데이터들에서 X축 및 Z축의 데이터만으로 구성된 평면 시점 이미지들을 획득하고, 평면 시점 이미지들 각각에서 객체가 위치하는 지점을 연결하여 객체의 이동 경로를 식별할 수 있다. 이 경우, X축의 데이터는 상기 3D 점군 데이터 중에서 폭에 관한 데이터이고, 상기 Z축의 데이터는 상기 3D 점군 데이터 중에서 깊이에 관한 데이터가 될 수 있다.For example, the preprocessing module 220-6 acquires plane view images composed of only X-axis and Z-axis data from the 3D point cloud data, and connects points where the object is located in each of the plane viewpoint images to move the object. can be identified. In this case, the X-axis data may be width-related data among the 3D point cloud data, and the Z-axis data may be depth-related data among the 3D point cloud data.

전처리 모듈(220-6)은 식별된 객체의 이동 경로를 이용하여, 라이다가 설치된 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체를 특정할 수 있다.The preprocessing module 220-6 uses the movement path of the identified object, and the same object as the object specified from the 3D point cloud data from each of the 2D images successively photographed by a plurality of cameras fixedly installed in the vehicle in which the lidar is installed. can be specified.

보다 상세하게, 전처리 모듈(220-6)은 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체의 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 객체의 특정 대상으로부터 제외시킬 수 있다.In more detail, the pre-processing module 220 - 6 may exclude one or more 2D images that do not match the movement path of the object from among the 2D images continuously photographed by a plurality of cameras from the specific target of the object.

전처리 모듈(220-6)은 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체의 이동 경로에 매칭되는 2D 이미지 내에, 3D 점군 데이터들로부터 특정된 객체와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스를 미리 배치할 수 있다.The preprocessing module 220-6 specifies an object of the same type as the object specified from the 3D point cloud data in the 2D image matching the movement path of the object from among the 2D images continuously photographed by the plurality of cameras in the 2D image. You can place a 2D bounding box in advance for

이를 위하여, 전처리 모듈(220-6)은 객체의 이동 경로에 매칭되는 2D 이미지를 촬영한 카메라의 광축 방향 및 3D 점군 데이터 내에서 객체가 특정된 위치를 기초로, 2D 이미지 내에서 2D 바운딩 박스를 미리 배치할 위치를 결정할 수 있다.To this end, the pre-processing module 220-6 generates a 2D bounding box in the 2D image based on the optical axis direction of the camera that captured the 2D image matching the movement path of the object and the position at which the object is specified in the 3D point cloud data. You can decide where to place it in advance.

전처리 모듈(220-6)은 입출력부(210)의 사용자 인터페이스(UI)를 통해 2D 바운딩 박스의 꼭짓점 위치의 조정이 완료되었음을 지시하는 신호가 입력되면, 3D 점군 데이터들로부터 특정된 객체에 기 부여된 메타데이터를 2D 바운딩 박스에 의해 특정된 객체의 메타데이터로 부여할 수 있다.When a signal indicating that the adjustment of the vertex position of the 2D bounding box has been completed is inputted through the user interface (UI) of the input/output unit 210, the preprocessing module 220-6 gives an object specified from the 3D point cloud data. The specified metadata can be given as metadata of the object specified by the 2D bounding box.

예를 들어, 전처리 모듈(220-6)은 3D 점군 데이터들로부터 특정된 객체에 기 부여된 트래킹 아이디를 2D 바운딩 박스에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 또한, 전처리 모듈(220-6)은 3D 점군 데이터로부터 식별되며 객체의 고유한 형상에 의해 결정되는 절대 크기를 2D 바운딩 박스에 의해 특정된 객체의 메타데이터에 포함시킬 수도 있다.For example, the preprocessing module 220 - 6 may assign a tracking ID previously assigned to an object specified from the 3D point cloud data as a tracking ID of the object specified by the 2D bounding box. In addition, the pre-processing module 220 - 6 may include the absolute size identified from the 3D point cloud data and determined by the unique shape of the object in the metadata of the object specified by the 2D bounding box.

이하, 상술한 바와 같은 어노테이션 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the logical components of the annotation apparatus 200 as described above will be described in more detail.

도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.5 is a hardware configuration diagram of an annotation apparatus according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 어노테이션 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다. 5, the annotation device 200 includes a processor 250, a memory 255, a transceiver 260, an input/output device 265, and a data bus. , 270) and may be configured to include a storage (Storage, 275).

프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 어노테이션 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 어노테이션 장치(200)의 동작에 필요한 데이터를 입력 받고, 어노테이션 작업의 대상이 되는 이미지, 바운딩 박스, 메타데이터를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement the operations and functions of the annotation device 200 based on an instruction according to the software 280a in which the method according to the embodiments of the present invention is implemented residing in the memory 255 . The memory 255 may be loaded with software 280a in which methods according to embodiments of the present invention are implemented. The transceiver 260 may transmit/receive data to and from the training data generating apparatus 100 and the training data verifying apparatus 300 . The input/output device 265 may receive data necessary for the operation of the annotation device 200 , and may output an image, a bounding box, and metadata to be annotated. The data bus 270 is connected to the processor 250 , the memory 255 , the transceiver 260 , the input/output device 265 , and the storage 275 . can play a role.

스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다. The storage 275 stores an application programming interface (API), a library file, a resource file, etc. necessary for the execution of the software 280a in which the method according to the embodiments of the present invention is implemented. can be saved The storage 275 may store the software 280b in which the method according to the embodiments of the present invention is implemented. Also, the storage 275 may store information necessary for performing the method according to the embodiments of the present invention.

본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 객체 자동 특정 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다에 의해 획득된 3D 점군 데이터를 상기 송수신기를 통해 수신하는 단계, 상기 프로세서(250)가 상기 수신된 3D 점군 데이터의 X축, Y축 및 Z축 중 하나의 축을 고정한 2D 이미지 세 개를 식별하는 단계, 상기 프로세서(250)가 상기 세 개의 2D 이미지 각각을 대상으로 이미지 내에 포함되어 있는 일부 점들의 집합을 식별하고, 상기 식별된 일부 점들의 집합이 포함되도록 2D 임시 바운딩 박스를 각각 설정하는 단계, 및 상기 프로세서(250)가 상기 세 개의 2D 이미지 각각에 대하여 설정된 2D 임시 바운딩 박스를 이용하여, 상기 3D 점군 데이터 내에 포함된 객체를 특정하기 위한 3D 바운딩 박스를 설정하는 단계를 실행시키기 위하여, 기록매체에 기록된 프로그램이 될 수 있다.According to an embodiment of the present invention, the software 280a and 280b for implementing the automatic object specification method resident in the memory 255 or stored in the storage 275 may be used by the processor 250 for autonomous driving of the vehicle. Receiving 3D point cloud data obtained by a lidar fixedly installed in a vehicle through the transceiver in order to learn artificial intelligence (AI), the processor 250 is X-axis and Y-axis of the received 3D point cloud data and identifying three 2D images in which one of the Z-axis is fixed. setting each 2D temporary bounding box to include a set of , and specifying an object included in the 3D point cloud data by the processor 250 using the 2D temporary bounding box set for each of the three 2D images In order to execute the step of setting the 3D bounding box for

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 객체 품질 향상 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 연속적으로 획득된 3D 점군 데이터들 각각을 대상으로, 3D 점군 데이터 내에 포함된 객체를 특정하는 단계, 상기 프로세서(250)가 상기 특정된 객체를 기초로 상기 3D 점군 데이터들 중에서 동일한 객체를 포함하고 있는 복수 개의 3D 점군 데이터를 식별하는 단계, 상기 프로세서(250)가 상기 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체들의 품질을 서로 비교하여 하나의 객체를 선택하는 단계, 및 상기 프로세서(250)가 상기 복수 개의 3D점군 데이터에 각각 포함된 상기 동일한 객체를 구성하고 있는 점들을, 상기 선택된 하나의 객체를 구성하는 점들로 대체하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 280a and 280b for implementing the object quality improvement method resident in the memory 255 or stored in the storage 275 may be used by the processor 250 for autonomous driving of the vehicle. Specifying an object included in the 3D point cloud data for each of the 3D point cloud data continuously acquired through the lidar fixedly installed in the vehicle in order to learn the artificial intelligence (AI) in the vehicle, the processor 250 is the identifying a plurality of 3D point cloud data including the same object from among the 3D point cloud data based on the specified object; comparing and selecting one object, and replacing, by the processor 250, points constituting the same object included in the plurality of 3D point cloud data with points constituting the selected one object In order to execute the , it may be a computer program recorded on a recording medium.

본 발명의 다른 실시예에 따르면, 메모리(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 점군 데이터로부터 특정된 객체들 중 상기 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체에 대하여, 상기 공통 객체에 대하여 기 부여된 메타데이터를 부여하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the object tracking method in the continuous 3D data resident in the memory 255 or stored in the storage 275 is the processor 250 is the first 3D specifying, for each of the point cloud data, the second 3D point cloud data, and the third 3D point cloud data, one or more objects included in the 3D point cloud data, by the processor 250 , the first 3D point cloud data and the second 3D point cloud data Identifying a common object included in common, the processor 250 calculating the movement speed of the identified common object, the processor 250 based on the calculated movement speed, the third identifying an area in which the common object is estimated to be located in 3D point cloud data, and the processor 250 is located in an area where the common object is estimated to be located among the objects specified from the third 3D point cloud data. In order to execute the step of assigning metadata previously assigned to the common object to the corresponding object, it may be a computer program recorded on a recording medium.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 연속된 2D 데이터에서 객체 추적 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 제1 2D 이미지, 제2 2D 이미지, 제3 2D 이미지 각각에 대하여, 2D 이미지 내에 포함된 하나 이상의 객체를 특정하는 단계, 상기 프로세서(250)가 상기 제1 2D 이미지 및 제2 이미지 내에 공통적으로 포함되어 있는 공통 객체를 식별하는 단계, 상기 프로세서(250)가 상기 식별된 공통 객체의 이동 속도를 산출하는 단계, 상기 프로세서(250)가 상기 산출된 이동 속도를 기초로, 상기 제3 2D 이미지 내에서 상기 공통 객체가 위치할 것으로 추정되는 영역을 식별하는 단계, 및 상기 프로세서(250)가 상기 제3 2D 이미지로부터 특정된 객체들 중 상기 공통 객체가 위치할 것으로 추정되는 영역에 대응하는 객체에 대하여, 상기 공통 객체에 대하여 기 부여된 메타데이터를 부여하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the object tracking method in the continuous 2D data resident in the memory 255 or stored in the storage 275 is the processor 250 is the first 2D specifying, for each of the image, the second 2D image, and the third 2D image, one or more objects included in the 2D image, by the processor 250 being commonly included in the first 2D image and the second image Identifying the object, the processor 250 calculating the movement speed of the identified common object, the processor 250 based on the calculated movement speed, the common object in the third 2D image identifying an area in which the common object is estimated to be located; It may be a computer program recorded on a recording medium in order to execute the step of assigning previously assigned metadata to the .

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 3D 데이터와 2D 이미지의 동기화 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터로부터 객체를 특정하는 단계, 상기 프로세서(250)가 상기 라이다가 설치된 차량에 고정 설치된 카메라를 통해, 상기 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지로부터 상기 객체와 동일한 객체를 특정하는 단계, 및 상기 프로세서(250)가 상기 3D 점군 데이터로부터 특정된 객체와 상기 2D 이미지로부터 특정된 객체가 서로 대응할 수 있도록, 상기 객체를 특정하기 위해 상기 3D 점군 데이터 내에 설정된 바운딩 박스의 위치 또는 크기, 또는 상기 객체를 특정하기 위해 상기 2D 이미지 내에 설정된 바운딩 박스의 위치 또는 크기를 조정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 280a and 280b for implementing a method of synchronizing 3D data and 2D images residing in the memory 255 or stored in the storage 275 is performed by the processor 250 autonomously of the vehicle. Specifying an object from 3D point cloud data obtained through a lidar fixedly installed in a vehicle in order to learn artificial intelligence (AI) that can be used for driving, wherein the processor 250 is a camera fixedly installed in the vehicle in which the lidar is installed through, specifying the same object as the object from a 2D image taken at the same time as the time at which the 3D point cloud data was obtained, and the processor 250 from the 2D image and the object specified from the 3D point cloud data Adjusting the position or size of a bounding box set in the 3D point cloud data to specify the object, or the position or size of a bounding box set in the 2D image to specify the object, so that the specified objects can correspond to each other In order to execute the , it may be a computer program recorded on a recording medium.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 화각의 경계를 넘어가는 객체 추적 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 복수 개의 2D 이미지들 각각으로부터 객체를 특정하는 단계, 상기 프로세서(250)가 상기 복수 개의 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 연속적으로 획득된 3D 점군 데이터들로부터 상기 객체와 동일한 객체를 특정하는 단계, 상기 프로세서(250)가 상기 3D 점군 데이터들로부터 특정된 객체의 위치 변화를 기초로 상기 객체의 이동 경로를 식별하는 단계, 및 상기 프로세서(250)가 상기 식별된 이동 경로를 기초로, 상기 복수 개의 2D 이미지들 각각으로부터 특정된 객체에 동일한 메타데이터를 부여하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the object tracking method that crosses the boundary of the angle of view resident in the memory 255 or stored in the storage 275 is the processor 250 is the vehicle. In order to learn artificial intelligence (AI) that can be used for autonomous driving, specifying an object from each of a plurality of 2D images taken by a plurality of cameras fixedly installed in a vehicle, the processor 250 is the plurality of cameras specifying, by the processor 250, the same object as the object from 3D point cloud data continuously acquired by the lidar fixedly installed in the same vehicle as the vehicle in which , Identifying a movement path of the object based on In order to do this, it may be a computer program recorded on a recording medium.

그리고, 본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 3D 데이터를 이용한 2D 이미지의 전처리 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 연속적으로 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계, 상기 프로세서(250)가 상기 라이다에 의해 획득된 시간 순서에 따라 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계, 상기 프로세서(250)가 상기 시간 순서에 따라 특정된 객체의 위치 변화를 기초로, 상기 객체의 이동 경로를 식별하는 단계, 및 상기 프로세서(250)가 상기 식별된 객체의 이동 경로를 이용하여, 상기 라이다가 설치된 차량과 동일한 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 상기 객체와 동일한 객체를 특정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.And, according to another embodiment of the present invention, the software (280a, 280b) for implementing a method of pre-processing a 2D image using 3D data resident in the memory 255 or stored in the storage 275 is the processor 250 In order to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle, receiving 3D point cloud data continuously acquired by a lidar fixedly installed in a vehicle through the transceiver, the processor 250 is the specifying an object included in each of the 3D point cloud data according to the temporal sequence obtained by the lidar; based on the change in the position of the specified object according to the temporal sequence, by the processor 250 Identifying a movement path, and the processor 250 using the movement path of the identified object, each of the 2D images successively photographed by a plurality of cameras fixedly installed in the same vehicle as the vehicle in which the lidar is installed In order to execute the step of specifying the same object as the object, it may be a computer program recorded on a recording medium.

보다 구체적으로, 프로세서(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) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired and wireless signals. The input/output device 265 includes an input device such as a keyboard, a mouse, and/or a joystick, and a liquid crystal display (LCD), an organic light emitting diode (OLED) and/or an input device such as a joystick. Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.When the embodiment included in this specification is implemented in software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described function. Modules reside in memory 255 and may be executed by processor 250 . The memory 255 may be internal or external to the processor 250 , and may be coupled to the processor 250 by various well-known means.

도 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), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 5 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention is one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs ( Field Programmable Gate Arrays), a processor, a controller, a microcontroller, a microprocessor, and the like.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored in a recording medium readable through various computer means. can be recorded. Here, the recording medium may include a program command, a data file, a data structure, etc. alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. For example, the recording medium includes a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), and a floppy disk. magneto-optical media, such as a disk, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. Such hardware devices may be configured to operate as one or more software to perform the operations of the present invention, and vice versa.

이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, the features of the artificial intelligence learning system according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.

도 6은 본 발명의 일 실시예에 따라 인공지능(AI) 기계 학습을 위한 데이터를 수집하는 차량을 설명하기 위한 예시도이다.6 is an exemplary diagram illustrating a vehicle that collects data for artificial intelligence (AI) machine learning according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 본 발명의 실시예에 따라 인공지능(AI) 기계 학습을 위한 데이터를 수집하는 차량(10)은 라이다(lidar)와 복수 개의 카메라(camera 1, camera 2, camera 3, camera 4, camera 5, camera)가 고정 설치될 수 있다.As shown in FIG. 6 , the vehicle 10 for collecting data for artificial intelligence (AI) machine learning according to an embodiment of the present invention includes a lidar and a plurality of cameras (camera 1, camera 2, camera). 3, camera 4, camera 5, camera) can be fixedly installed.

차량(10)에 고정 설치된 라이다는 레이저 펄스를 발사하고, 차량 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다. 따라서, 라이다에 의해 획득된 3D 점군 데이터는 라이다에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점(point)들의 집합을 포함할 수 있다.The lidar fixedly installed in the vehicle 10 can generate 3D point cloud data corresponding to a three-dimensional image of the vehicle's surroundings by emitting a laser pulse and detecting the light reflected back by objects located around the vehicle. have. Accordingly, the 3D point cloud data obtained by the lidar may include a set of points that reflect the laser pulse emitted by the lidar into a 3D space.

차량(10)에 고정 설치된 카메라는 차량 주위에 대한 2차원 이미지를 각각 촬영할 수 있다. 도 6에는 차량(10)에 6개의 카메라가 고정 설치된 실시 예가 도시되어 있으나, 본 발명이 6개 보다 적거나 또는 6개 보다 많은 카메라에 의해 촬영된 2D 이미지를 기초로 구현될 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.A camera fixedly installed in the vehicle 10 may take a two-dimensional image of the vehicle's surroundings, respectively. 6 shows an embodiment in which six cameras are fixedly installed in the vehicle 10, but the present invention can be implemented based on 2D images captured by fewer than six or more than six cameras. It will be apparent to those of ordinary skill in the art to which this belongs.

도 7은 본 발명의 일 실시예에 따라 3D 점군 데이터로부터 객체를 자동으로 특정하는 과정을 설명하기 위한 예시도이다.7 is an exemplary diagram for explaining a process of automatically specifying an object from 3D point cloud data according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 3D 점군 데이터로부터 객체(20)를 자동으로 특정할 수 있다.7 , the annotation apparatus 200 according to an embodiment of the present invention may automatically specify the object 20 from 3D point cloud data.

우선, 어노테이션 장치(200)는 3D 점군 데이터의 X축(즉, 3D 점군 데이터의 폭), Y축(즉, 3D 점군 데이터의 높이) 및 Z축(즉 3D 점군 데이터의 깊이) 중에서 하나의 축(axis)을 고정한 2D 이미지 세 개를 식별할 수 있다.First, the annotation apparatus 200 selects one of the X-axis (ie, the width of the 3D point cloud data), the Y-axis (ie, the height of the 3D point cloud data), and the Z axis (ie, the depth of the 3D point cloud data) of the 3D point cloud data. Three 2D images with fixed (axis) can be identified.

구체적으로, 어노테이션 장치(200)는 3차원 점군 데이터에서 X축이 고정된 Y축 및 Z축의 데이터만으로 구성된 측면 시점(side view) 이미지, 3차원 점군 데이터에서 Y축이 고정된 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지, 및 상기 3차원 점군 데이터에서 Z축이 고정된 X축 및 Y축의 데이터만으로 구성된 정면 시점(front view) 이미지를 식별할 수 있다.Specifically, the annotation apparatus 200 is a side view image composed only of data of the Y-axis and the Z-axis in which the X-axis is fixed in the 3D point cloud data, and the X-axis and the Z-axis in which the Y-axis is fixed in the 3D point cloud data. A top view image composed of only data and a front view image composed of only data of an X-axis and a Y-axis in which the Z-axis is fixed in the 3D point cloud data may be identified.

어노테이션 장치(200)는 식별된 세 개의 2D 이미지 각각을 대상으로 이미지 내에 포함되어 있는 일부 점들의 집합(20-T, 20-S, 20-F)을 식별할 수 있다. 그리고, 어노테이션 장치(200)는 식별된 일부 점들의 집합(20-T, 20-S, 20-F)이 포함되도록, 2D 임시 바운딩 박스(30-T, 30-S, 30-F)를 세 개의 2D 이미지 각각에 설정할 수 있다. The annotation apparatus 200 may identify a set of some points 20-T, 20-S, and 20-F included in the image with respect to each of the three identified 2D images. Then, the annotation device 200 counts the 2D temporary bounding boxes 30-T, 30-S, 30-F so that the identified sets of some points 20-T, 20-S, and 20-F are included. It can be set for each 2D image.

이를 위하여, 어노테이션 장치(200)는 평면 시점 이미지, 정면 시점 이미지 및 측면 시점 이미지 각각에 대하여 다음을 수행할 수 있다. To this end, the annotation apparatus 200 may perform the following for each of the planar view image, the front view image, and the side view image.

어노테이션 장치(200)는 평면 시점 이미지에 포함된 점들을 대상으로, 일 단에 위치하는 하나의 점을 기준점으로 설정하고, 기준점을 기준으로 X축에서 사전에 설정된 인접 거리 내에 위치하는 인접점을 탐색한다. 어노테이션 장치(200)는 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 X축에서 인접 거리 내에 위치하는 새로운 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다.The annotation apparatus 200 sets one point located at one end as a reference point with respect to points included in the planar view image, and searches for adjacent points located within a preset adjacent distance on the X-axis based on the reference point. do. When an adjacent point is found, the annotation apparatus 200 may recursively search for a new adjacent point located within the adjacent distance on the X-axis by setting the found adjacent point as a new reference point.

어노테이션 장치(200)는 X축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, 인접점이 탐색되지 않은 점을 기준으로 Z축에서 인접 거리 내에서 위치하는 인접점을 탐색한다. 어노테이션 장치(200)는 Z 축에서 인접점이 탐색되면, 탐색된 인접점을 새로운 기준점으로 설정하여 Z축에서 인접점을 탐색하는 과정을 회귀적으로 수행할 수 있다. When the adjacent point located within the adjacent distance on the X-axis is not searched, the annotation apparatus 200 searches for the adjacent point located within the adjacent distance on the Z-axis based on the point at which the adjacent point is not searched. When an adjacent point is searched for on the Z-axis, the annotation apparatus 200 may recursively perform a process of searching for the adjacent point on the Z-axis by setting the searched adjacent point as a new reference point.

어노테이션 장치(200)는 Z축에서 인접 거리 내에 위치하는 인접점이 탐색되지 않은 경우, X축에서 탐색된 기준점 및 인접점과 Z축에서 탐색된 기준점 및 인접점이 모두 포함되도록, 평면 시점 이미지 내에 2D 임시 바운딩 박스(30-T)를 설정할 수 있다.The annotation apparatus 200 is configured to include both the reference point and the adjacent point found on the X-axis and the reference point and the adjacent point found on the Z-axis when the adjacent point located within the adjacent distance on the Z-axis is not searched. The bounding box 30-T can be set.

상술한 바와 같은 평면 시점 이미지 내에 2D 임시 바운딩 박스(30-T)를 설정하는 과정과 동일하게, 어노테이션 장치(200)는 측면 시점 이미지에 포함된 점들을 대상으로 Y축과 Z축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, Y축과 Z축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 측면 시점 이미지 내에 2D 임시 바운딩 박스(30-S)를 설정할 수 있다.In the same manner as in the process of setting the 2D temporary bounding box 30-T in the planar view image as described above, the annotation apparatus 200 targets the points included in the side view image in the Y axis and the Z axis respectively. The process of setting and searching for adjacent points may be recursively performed, and the 2D temporary bounding box 30-S may be set in the side view image so that both the reference point and the adjacent point searched on the Y-axis and Z-axis, respectively, are included.

또한, 어노테이션 장치(200)는 정면 시점 이미지에 포함된 점들을 대상으로 X축과 Y축에서 각각 기준점의 설정 및 인접점의 탐색 과정을 회귀적으로 수행하고, X축과 Y축에서 각각 탐색된 기준점 및 인접점이 모두 포함되도록 정면 시점 이미지 내에 2D 임시 바운딩 박스(30-F)를 설정할 수 있다.In addition, the annotation apparatus 200 recursively performs a process of setting a reference point and searching for an adjacent point on the X-axis and the Y-axis, respectively, on the points included in the front view image, and the X-axis and the Y-axis are respectively searched for. The 2D temporary bounding box 30-F may be set in the front view image so that both the reference point and the adjacent point are included.

그리고, 어노테이션 장치(200)는 세 개의 2D 이미지(즉, 평면 시점 이미지, 측면 시점 이미지 및 정면 시점 이미지) 각각에 대하여 설정된 2D 임시 바운딩 박스(30-T, 30-S, 30-F)를 이용하여, 3D 점군 데이터 내에 포함된 객체(20)를 특정하기 위한 3D 바운딩 박스(30)를 자동으로 설정할 수 있다.Then, the annotation apparatus 200 uses the 2D temporary bounding boxes 30-T, 30-S, 30-F set for each of the three 2D images (ie, a planar view image, a side view image, and a front view image). Accordingly, the 3D bounding box 30 for specifying the object 20 included in the 3D point cloud data may be automatically set.

이 경우, 3D 바운딩 박스(30)는 평면 시점 이미지 내에 설정된 2D 임시 바운딩 박스(30-T)를 평면(top), 저면(bottom)으로 가지고, 측면 시점 이미지 내에 설정된 2D 임시 바운딩 박스(30-S)를 좌측면(left lateral), 우측면(right lateral)으로 가지고, 정면 시점 이미지 내에 설정된 2D 임시 바운딩 박스(30-F)를 정면(front), 배면(rear)으로 가지는, 육면체(hexahedron) 형상을 가지게 된다.In this case, the 3D bounding box 30 has the 2D temporary bounding box 30-T set in the planar view image as the plane (top) and the bottom (bottom), and the 2D temporary bounding box 30-S set in the side view image. ) as the left side, the right side, and the 2D temporary bounding box 30-F set in the front view image as the front and rear, a hexahedron shape will have

따라서, 본 발명의 실시예들에 따르면, 차량(10)에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터에 직접 어노테이션을 수행하지 않고도, 자동으로 객체(20)를 특정할 수 있게 된다.Accordingly, according to embodiments of the present invention, it is possible to automatically specify the object 20 without directly annotating the 3D point cloud data obtained through the lidar fixedly installed in the vehicle 10 .

도 8은 본 발명의 일 실시예에 따라 3D 점군 데이터의 품질을 향상시키는 과정을 설명하기 위한 예시도이다.8 is an exemplary diagram for explaining a process of improving the quality of 3D point cloud data according to an embodiment of the present invention.

도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속적으로 획득된 3D 점군 데이터들의 품질을 향상시킬 수 있다.As shown in FIG. 8 , the annotation apparatus 200 according to an embodiment of the present invention may improve the quality of continuously acquired 3D point cloud data.

어노테이션 장치(200)는 3D 점군 데이터 내에 포함된 객체를 특정할 수 있다. 그리고, 어노테이션 장치(200)는 특정된 객체를 기초로 3D 점군 데이터들 중에서 동일한 객체(20-1, 20-2 및 20-3)를 포함하고 있는 복수 개의 3D 점군 데이터를 식별할 수 있다. The annotation apparatus 200 may specify an object included in the 3D point cloud data. In addition, the annotation apparatus 200 may identify a plurality of 3D point cloud data including the same object 20 - 1 , 20 - 2 and 20 - 3 from among 3D point cloud data based on the specified object.

어노테이션 장치(200)는 동일한 객체(20-1, 20-2 및 20-3)를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체들의 품질을 서로 비교하여, 품질이 가장 우수한 하나의 객체(20-3)를 선택할 수 있다. The annotation apparatus 200 compares the qualities of the same objects included in a plurality of 3D point cloud data including the same objects 20-1, 20-2, and 20-3 with each other to determine one object with the highest quality. (20-3) can be selected.

구체적으로, 어노테이션 장치(200)는 3D 점군 데이터들 각각으로 특정된 객체들이 3D 점군 데이터 내에서 차지하고 있는 부피를 산출하고, 상기 산출된 부피가 가장 큰 하나의 객체(20-3)를 선택할 수 있다. 이 경우, 어노테이션 장치(200)는 객체를 특정하기 위하여 설정된 3D 바운딩 박스에 대한, X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 곱하여 객체의 부피를 산출할 수 있다. 어노테이션 장치(200)는 산출된 부피가 가장 큰 객체가 복수 개인 경우, 복수 개의 객체 각각을 구성하고 있는 점(point)들의 개수를 산출하고, 점들의 개수가 가장 많은 하나의 객체(20-3)를 선택할 수 있다.Specifically, the annotation apparatus 200 may calculate a volume occupied by objects specified as each of the 3D point cloud data in the 3D point cloud data, and select one object 20 - 3 having the largest calculated volume. . In this case, the annotation apparatus 200 multiplies the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis for the 3D bounding box set to specify the object to determine the volume of the object. can be calculated. When there are a plurality of objects with the largest calculated volume, the annotation apparatus 200 calculates the number of points constituting each of the plurality of objects, and one object 20-3 having the largest number of points can be selected.

어노테이션 장치(200)는 산출된 부피를 기초로 하나의 객체를 선택함에 있어, 객체가 다른 물체에 의해 가려진 비율(occlusion)이 최소인 객체들의 부피를 우선적으로 비교할 수 있다.When selecting one object based on the calculated volume, the annotation apparatus 200 may preferentially compare volumes of objects having a minimum occlusion ratio of the object to another object.

어노테이션 장치(200)는 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지 내에서 3D 점군 데이터로부터 특정된 객체와 동일한 트래킹 아이디가 부여된 객체를 특정하고, 2D 이미지 내에서 특정된 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation)이 최소인 객체들의 부피를 우선적으로 비교할 수도 있다. The annotation device 200 specifies an object to which the same tracking ID as the object specified from the 3D point cloud data is given in the 2D image taken at the same time as the time at which the 3D point cloud data was acquired, and the specified object in the 2D image Volumes of objects having a minimum truncation by the angle of view of the 2D image may be compared preferentially.

어노테이션 장치(200)는 3D 점군 데이터가 획득된 시각과 동일한 시각에 촬영된 2D 이미지가 복수 개이고, 복수 개의 2D 이미지 중 제1 2D 이미지와 제2 2D 이미지가 동일한 객체의 서로 다른 부분을 포함하고 있으며, 제1 2D 이미지와 제2 2D 이미지에 각각 포함된 객체의 두 부분을 서로 조합하여 잘려진 비율이 0인 객체를 도출할 수 있는 경우, 두 부분을 서로 조합하여 도출된 객체의 부피를 기초로 품질이 가장 우수한 하나의 객체(20-3)를 선택할 수 있다.The annotation apparatus 200 includes a plurality of 2D images taken at the same time as the time at which the 3D point cloud data was acquired, and the first 2D image and the second 2D image among the plurality of 2D images include different parts of the same object, , if it is possible to derive an object with a cropped ratio of 0 by combining two parts of the object included in the first 2D image and the second 2D image with each other, the quality based on the volume of the object derived by combining the two parts with each other The single best object 20-3 may be selected.

그리고, 어노테이션 장치(200)는 동일한 객체(20-1, 20-2 및 20-3)를 포함하고 있는 복수 개의 3D 점군 데이터에 각각 포함된 동일한 객체(20-1, 20-2 및 20-3)를 구성하고 있는 점들을 대상으로, 가장 우수한 품질을 가지는 것으로 선택된 하나의 객체(20-3)를 구성하는 점들로 대체할 수 있다.In addition, the annotation apparatus 200 sets the same object 20-1, 20-2, and 20-3 included in a plurality of 3D point cloud data including the same object 20-1, 20-2, and 20-3, respectively. ) may be replaced with points constituting one object 20 - 3 selected as having the best quality.

따라서, 본 발명의 실시예들에 따르면, 객체들에 대한 데이터들을 동일한 객체의 고품질 데이터로 대체함으로써 3D 점군 데이터들의 전체적인 품질을 향상시킬 수 있게 된다.Accordingly, according to embodiments of the present invention, it is possible to improve the overall quality of 3D point cloud data by replacing data on objects with high-quality data of the same object.

도 9a 내지 도 9c는 본 발명의 일 실시예에 따라 3D 점군 데이터들로부터 객체를 추적하는 과정을 설명하기 위한 예시도이다.9A to 9C are exemplary diagrams for explaining a process of tracking an object from 3D point cloud data according to an embodiment of the present invention.

도 9a 내지 9c에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속적으로 획득된 3D 점군 데이터들로부터 동일한 객체를 추적할 수 있다.9A to 9C , the annotation apparatus 200 according to an embodiment of the present invention may track the same object from continuously acquired 3D point cloud data.

어노테이션 장치(200)는 제1 3D 점군 데이터, 제2 3D 점군 데이터 및 제3 3D 점군 데이터 각각에 대하여, 3D 점군 데이터 내에 포함된 하나 이상의 객체를 특정할 수 있다. 여기서, 제1 3D 점군 데이터는 제2 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터이고, 제2 3D 점군 데이터는 제3 3D 점군 데이터보다 시계열적으로 선행하여 획득된 데이터가 될 수 있다.The annotation apparatus 200 may specify one or more objects included in the 3D point cloud data for each of the first 3D point cloud data, the second 3D point cloud data, and the third 3D point cloud data. Here, the first 3D point cloud data may be data acquired chronologically before the second 3D point cloud data, and the second 3D point cloud data may be data acquired chronologically before the third 3D point cloud data.

어노테이션 장치(200)는 제1 3D 점군 데이터 및 제2 3D 점군 데이터 내에 공통적으로 포함되어 있는 공통 객체(20)를 식별할 수 있다. 그리고, 어노테이션 장치(200)는 식별된 공통 객체(20)의 이동 속도를 산출할 수 있다.The annotation apparatus 200 may identify the common object 20 commonly included in the first 3D point cloud data and the second 3D point cloud data. In addition, the annotation apparatus 200 may calculate the movement speed of the identified common object 20 .

구체적으로, 어노테이션 장치(200)는 제1 3D 점군 데이터로부터 특정된 공통 객체(20)와 상기 제2 3D 점군 데이터로부터 특정된 공통 객체(20) 사이의 이격 거리(d)와, 제1 3D 점군 데이터의 획득 시각(t1)과 제2 3D 점군 데이터의 획득 시각(t2) 사이의 이격 시간을 이용하여, 공통 객체(20)의 이동 속도를 산출할 수 있다.Specifically, the annotation apparatus 200 determines the separation distance d between the common object 20 specified from the first 3D point cloud data and the common object 20 specified from the second 3D point cloud data, and the first 3D point cloud The moving speed of the common object 20 may be calculated using a separation time between the data acquisition time t1 and the second 3D point cloud data acquisition time t2.

어노테이션 장치(200)는 산출된 이동 속도를 기초로, 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)을 식별할 수 있다. The annotation apparatus 200 may identify an area 30 - 3 in which the common object 20 is estimated to be located in the third 3D point cloud data, based on the calculated movement speed.

어노테이션 장치(200)는 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)에 실제로 공통 객체(20)가 존재하는지 검증할 수 있다.The annotation apparatus 200 may verify whether the common object 20 actually exists in the region 30 - 3 where the common object 20 is estimated to be located in the third 3D point cloud data.

구체적으로, 어노테이션 장치(200)는 제1 3D 점군 데이터가 획득된 시각(t1)과 동일한 시각에 촬영된 제1 2D 이미지 내에서 공통 객체(20)가 차지하고 있는 영역과, 제3 점군 데이터가 획득된 시각(t3)과 동일한 시각에 촬영된 제3 2D 이미지 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 실제로 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 2D 이미지와 상기 제3 2D 이미지는 제1 3D 점군 데이터 및 제3 3D 점군 데이터를 획득하는데 사용된 라이다가 설치된 차량과 동일한 차량에 고정 설치된 카메라에 의해 촬영된 이미지가 될 수 있다.Specifically, the annotation apparatus 200 obtains the area occupied by the common object 20 in the first 2D image taken at the same time as the time t1 at which the first 3D point cloud data was obtained, and the third point cloud data The area where the common object 20 is estimated to be located in the third 2D image taken at the same time as the time t3 is compared with each other, and the common object is actually within the area where the common object 20 is estimated to be located. It can be verified whether an object corresponding to (20) exists. In this case, the first 2D image and the third 2D image may be images taken by a camera fixedly installed in the same vehicle as the vehicle in which the lidar used to obtain the first 3D point cloud data and the third 3D point cloud data is installed. have.

이를 위하여, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 이와 다르게, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수도 있다.To this end, the annotation apparatus 200 compares the RGB pattern of the region occupied by the common object in the first 2D image with the RGB pattern of the region where the common object is estimated to be located in the third 2D image. Based on this, it may be verified whether an object corresponding to the common object 20 exists in an area where the common object 20 is estimated to be located. Alternatively, the annotation apparatus 200 compares the edge pattern of the area occupied by the common object in the first 2D image with the edge pattern of the area where the common object is estimated to be located in the third 2D image. Based on this, it may be verified whether an object corresponding to the common object 20 exists in an area where the common object 20 is estimated to be located.

그리고, 어노테이션 장치(200)는 제3 3D 점군 데이터로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역(30-3)에 대응하는 객체(20)에 대하여, 공통 객체(20)에 대하여 기 부여된 메타데이터를 부여할 수 있다.In addition, the annotation apparatus 200 performs an object 20 corresponding to an area 30 - 3 in which a common object is estimated to be located among objects specified from the third 3D point cloud data, and the common object 20 . Pre-set metadata can be provided.

따라서, 본 발명의 실시예들에 따르면, 연속적으로 획득된 3D 점군 데이터들 중에서 일부의 3D 점군 데이터에 대하여 어노테이션을 수행한 이후, 후속 3D 점군 데이터가 자동으로 어노테이션될 수 있다.Accordingly, according to embodiments of the present invention, after annotating some 3D point cloud data among continuously acquired 3D point cloud data, subsequent 3D point cloud data may be automatically annotated.

도 10a 내지 도 10c는 본 발명의 일 실시예에 따라 2D 이미지들로부터 객체를 추적하는 과정을 설명하기 위한 예시도이다.10A to 10C are exemplary diagrams for explaining a process of tracking an object from 2D images according to an embodiment of the present invention.

도 9a 내지 9c에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속적으로 획득된 2D 이미지들로부터 동일한 객체를 추적할 수 있다.9A to 9C , the annotation apparatus 200 according to an embodiment of the present invention may track the same object from continuously acquired 2D images.

어노테이션 장치(200)는 제1 2D 이미지, 제2 2D 이미지 및 제3 2D 이미지 각각에 대하여, 2D 이미지 내에 포함된 하나 이상의 객체를 특정할 수 있다. 여기서, 제1 2D 이미지는 제2 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지이고, 제2 2D 이미지는 제3 2D 이미지보다 시계열적으로 선행하여 촬영된 이미지가 될 수 있다.The annotation apparatus 200 may specify, with respect to each of the first 2D image, the second 2D image, and the third 2D image, one or more objects included in the 2D image. Here, the first 2D image may be an image photographed chronologically prior to the second 2D image, and the second 2D image may be an image photographed chronologically prior to the third 2D image.

어노테이션 장치(200)는 제1 2D 이미지 및 제2 이미지 내에 공통적으로 포함되어 있는 공통 객체(20)를 식별할 수 있다. 그리고, 어노테이션 장치(200)는 식별된 공통 객체(20)의 이동 속도를 산출할 수 있다.The annotation apparatus 200 may identify the common object 20 commonly included in the first 2D image and the second image. In addition, the annotation apparatus 200 may calculate the movement speed of the identified common object 20 .

구체적으로, 어노테이션 장치(200)는 제1 2D 이미지에서 공통 객체를 특정하기 위해 설정된 바운딩 박스(30-1)의 넓이와 제2 2D 이미지에서 공통 객체를 특정하기 위하여 설정된 바운딩 박스(30-2)의 넓이를 비교하여, 제1 2D 이미지로부터 특정된 상기 공통 객체(20)와 제2 2D 이미지로부터 특정된 상기 공통 객체(20) 사이의 이격 거리를 추정할 수 있다. 어노테이션 장치(200)는 제1 이미지의 촬영 시각(t1)과 제2 이미지의 촬영 시각(t2) 사이의 이격 시간을 산출하고, 이격 거리 및 이격 시간을 이용하여 공통 객체(20)의 이동 속도를 산출할 수 있다.Specifically, the annotation apparatus 200 includes the width of the bounding box 30-1 set to specify the common object in the first 2D image and the bounding box 30-2 set to specify the common object in the second 2D image. By comparing the areas of , the separation distance between the common object 20 specified from the first 2D image and the common object 20 specified from the second 2D image may be estimated. The annotation device 200 calculates the separation time between the photographing time t1 of the first image and the photographing time t2 of the second image, and calculates the moving speed of the common object 20 using the separation distance and the separation time. can be calculated.

어노테이션 장치(200)는 산출된 이동 속도를 기초로, 제3 2D 이미지 내에서 상기 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)을 식별할 수 있다.The annotation apparatus 200 may identify an area 30 - 3 in which the common object 20 is estimated to be located in the third 2D image, based on the calculated movement speed.

어노테이션 장치(200)는 제3 2D 이미지 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)에 실제로 공통 객체(20)가 존재하는지 검증할 수 있다.The annotation apparatus 200 may verify whether the common object 20 actually exists in the region 30 - 3 where the common object 20 is estimated to be located in the third 2D image.

구체적으로, 어노테이션 장치(200)는 제1 2D 이미지가 촬영된 시각(t1)과 동일한 시각에 획득된 제1 3D 점군 데이터 내에서 공통 객체(20)가 차지하고 있는 영역과, 제3 2D 이미지가 촬영된 시각(t3)과 동일한 시각에 획득된 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역을 서로 비교하여, 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3) 내에 실제로 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 이 경우, 제1 3D 점군 데이터와 제3 3D 점군 데이터는 제1 이미지 및 제3 이미지를 촬영하는데 사용된 카메라가 설치된 차량과 동일한 차량에 고정 설치된 라이다에 의해 획득된 점군 데이터가 될 수 있다.Specifically, the annotation apparatus 200 determines the area occupied by the common object 20 in the first 3D point cloud data acquired at the same time t1 as the time t1 at which the first 2D image was captured, and the area occupied by the third 2D image. The area where the common object 20 is estimated to be located is compared with each other in the third 3D point cloud data obtained at the same time as the time t3, and the area 30- where the common object 20 is estimated to be located. It can be verified whether an object corresponding to the common object 20 actually exists in 3). In this case, the first 3D point cloud data and the third 3D point cloud data may be point cloud data acquired by a lidar fixedly installed in the same vehicle as the vehicle in which the camera used to photograph the first image and the third image is installed.

이를 위하여, 어노테이션 장치(200)는 제1 3D 점군 데이터 내에서 공통 객체(20)를 특정하기 위해 설정된 3D 바운딩 박스(30-1)에 포함된 점들의 개수와, 제3 3D 점군 데이터 내에서 공통 객체(20)가 위치할 것으로 추정되는 영역(30-3)에 포함된 점들의 개수의 차이가 사전에 설정된 품질 변화 범위 내에 포함되는지 여부를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다.To this end, the annotation apparatus 200 determines the number of points included in the 3D bounding box 30-1 set to specify the common object 20 in the first 3D point cloud data, and the number of points included in the third 3D point cloud data. Based on whether the difference in the number of points included in the region 30-3 where the object 20 is estimated to be located is included within a preset quality change range, the common object 20 is estimated to be located It may be verified whether an object corresponding to the common object 20 exists in the region.

이와 다르게, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 RGB 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 RGB 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수 있다. 또한, 어노테이션 장치(200)는 제1 2D 이미지 내에서 공통 객체가 차지하고 있는 영역의 엣지 패턴과, 제3 2D 이미지 내에서 공통 객체가 위치할 것으로 추정되는 영역의 엣지 패턴을 서로 비교한 결과를 기초로, 공통 객체(20)가 위치할 것으로 추정되는 영역 내에 공통 객체(20)에 대응하는 객체가 존재하는지 검증할 수도 있다.Alternatively, the annotation apparatus 200 compares the RGB pattern of the region occupied by the common object in the first 2D image with the RGB pattern of the region where the common object is estimated to be located in the third 2D image. Based on this, it may be verified whether an object corresponding to the common object 20 exists in an area where the common object 20 is estimated to be located. In addition, the annotation apparatus 200 compares the edge pattern of the area occupied by the common object in the first 2D image with the edge pattern of the area where the common object is estimated to be located in the third 2D image. As such, it may be verified whether an object corresponding to the common object 20 exists in an area where the common object 20 is estimated to be located.

그리고, 어노테이션 장치(200)는 제3 2D 이미지로부터 특정된 객체들 중에서 공통 객체가 위치할 것으로 추정되는 영역(30-3)에 대응하는 객체(20)에 대하여, 공통 객체(20)에 대하여 기 부여된 메타데이터를 부여할 수 있다.And, the annotation apparatus 200 writes the common object 20 with respect to the object 20 corresponding to the region 30-3 where the common object is estimated to be located among the objects specified from the third 2D image. You can assign assigned metadata.

따라서, 본 발명의 실시예들에 따르면, 연속적으로 획득된 복수 개의 2D 이미지들 중에서 일부의 2D 이미지들에 대하여 어노테이션을 수행한 이후, 후속 2D 이미지들이 자동으로 어노테이션될 수 있다.Accordingly, according to embodiments of the present invention, after annotating some 2D images among a plurality of continuously acquired 2D images, subsequent 2D images may be automatically annotated.

도 11은 본 발명의 일 실시예에 따라 3D 점군 데이터와 2D 이미지 사이의 동기화를 수행하는 과정을 설명하기 위한 예시도이다.11 is an exemplary diagram for explaining a process of performing synchronization between 3D point cloud data and a 2D image according to an embodiment of the present invention.

도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 동일한 차량에 고정 설치된 라이다의 3D 점군 데이터로부터 특정된 객체와, 카메라의 2D 이미지로부터 특정된 객체를 서로 동기화시킬 수 있다.11 , the annotation apparatus 200 according to an embodiment of the present invention synchronizes an object specified from 3D point cloud data of a lidar fixedly installed in the same vehicle and an object specified from a 2D image of a camera with each other. can do it

어노테이션 장치(200)는 3D 점군 데이터 내에 포함된 객체(20)를 특정할 수 있다. 어노테이션 장치(200)는 2D 이미지로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체(20)를 특정할 수 있다.The annotation apparatus 200 may specify the object 20 included in the 3D point cloud data. The annotation apparatus 200 may specify the same object 20 as the object specified from the 3D point cloud data from the 2D image.

어노테이션 장치(200)는 3D 점군 데이터로부터 특정된 객체(20)와 2D 이미지로부터 특정된 객체(20)가 서로 대응하는지 판단할 수 있다. 그리고, 어노테이션 장치(200)는 3D 점군 데이터로부터 특정된 객체(20)와 2D 이미지로부터 특정된 객체(20)가 서로 대응할 수 있도록, 동일한 객체(20)를 특정하기 위하여 3D 점군 데이터 내에 설정된 3D 바운딩 박스(30-3D)의 위치 또는 크기를 조정하거나, 또는 동일한 객체(20)를 특정하기 위하여 2D 이미지 내에 설정된 2D 바운딩 박스(30-2D)의 위치 또는 크기를 조정할 수 있다.The annotation apparatus 200 may determine whether the object 20 specified from the 3D point cloud data and the object 20 specified from the 2D image correspond to each other. And, the annotation device 200 sets the 3D bounding set in the 3D point cloud data to specify the same object 20 so that the object 20 specified from the 3D point cloud data and the object 20 specified from the 2D image can correspond to each other. The position or size of the box 30 - 3D may be adjusted, or the position or size of the 2D bounding box 30 - 2D set in the 2D image may be adjusted to specify the same object 20 .

구체적으로, 어노테이션 장치(200)는 3D 점군 데이터에 포함된 깊이(depth) 값을 기초로, 동일한 객체(20)를 특정하기 위해 2D 이미지 내에 설정된 2D 바운딩 박스(30-2D)의 경계선(border line)의 위치를 재조정할 수 있다. 이 경우, 어노테이션 장치(200)는 3D 점군 데이터에 포함된 깊이 값이 사전에 설정된 임계 범위 이상으로 변화되는 변곡선(inflection line)을 식별하고, 2D 이미지 내에서 동일 객체(20)를 특정하기 위해 설정된 2D 바운딩 박스(30-2D)의 경계선이 식별된 변곡선에 대응하도록, 2D 바운딩 박스(30-2D)의 경계선의 위치를 재조정할 수 있다.Specifically, the annotation apparatus 200 sets a border line of the 2D bounding box 30 - 2D set in the 2D image to specify the same object 20 based on a depth value included in the 3D point cloud data. ) can be repositioned. In this case, the annotation apparatus 200 identifies an inflection line in which the depth value included in the 3D point cloud data changes beyond a preset threshold range, and to specify the same object 20 within the 2D image. The position of the boundary line of the 2D bounding box 30 - 2D may be readjusted so that the boundary line of the set 2D bounding box 30 - 2D corresponds to the identified inflection line.

이와 다르게, 어노테이션 장치(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)의 부피를 감축시킬 수 있다.On the other hand, the annotation apparatus 200 determines the volume of the 3D bounding box 30-3D for specifying the same object 20, and the 2D bounding box 30-2D for specifying the same object 20. When smaller than the volume of , the volume of the 2D bounding box 30 - 2D may be reduced such that the volume of the 2D bounding box 30 - 2D is equal to the volume of the 3D bounding box 30 - 3D. In this case, the annotation apparatus 200 converts each of the line segments constituting the 2D bounding box 30-2D within the size of the chroma subsampling applied in the process of compressing the 2D image into a file of the 2D bounding box 30-2D. It is possible to reduce the volume of the 2D bounding box 30 - 2D by moving it inward.

따라서, 본 발명의 실시예들에 따르면, 동일한 차량에서 동일한 시각에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지로부터 각각 특정된 객체가 서로 불일치하여 오류가 발생할 수 있는 리스크를 감소시킬 수 있다.Accordingly, according to embodiments of the present invention, it is possible to reduce the risk that an error may occur due to inconsistency between objects specified from 3D point cloud data and 2D images acquired and photographed at the same time in the same vehicle.

도 12 및 도 13은 본 발명의 일 실시예에 따라 화각의 경계를 넘어가는 객체를 추적하는 과정을 설명하기 위한 예시도이다.12 and 13 are exemplary diagrams for explaining a process of tracking an object crossing a boundary of an angle of view according to an embodiment of the present invention.

도 12 및 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 2D 이미지들을 각각 촬영한 카메라들의 화각과 무관하게 동일한 객체를 추적할 수 있다.12 and 13 , the annotation apparatus 200 according to an embodiment of the present invention may track the same object irrespective of angles of view of cameras that have respectively captured 2D images.

어노테이션 장치(200)는 복수 개의 2D 이미지들 각각에 포함된 객체(20)를 특정할 수 있다. 그리고, 어노테이션 장치(200)는 3D 점군 데이터들로부터 2D 이미지들로부터 특정된 객체와 동일한 객체(20)를 특정할 수 있다.The annotation apparatus 200 may specify the object 20 included in each of the plurality of 2D images. Then, the annotation apparatus 200 may specify the same object 20 as the object specified from the 2D images from the 3D point cloud data.

어노테이션 장치(200)는 3D 점군 데이터들로부터 특정된 동일한 객체(20)의 위치 변화를 기초로, 동일한 객체(20)의 이동 경로를 식별할 수 있다.The annotation apparatus 200 may identify a movement path of the same object 20 based on a change in the position of the same object 20 specified from the 3D point cloud data.

구체적으로, 어노테이션 장치(200)는 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는 경우, 동일한 객체(20)의 이동 경로를 식별할 수 있다. Specifically, when two 2D images obtained by photographing spatially continuous angles of view among a plurality of 2D images, the annotation apparatus 200 includes different parts 20-part1 and 20-part2 of one object, respectively. , it is possible to identify the movement path of the same object 20 .

이를 위하여, 어노테이션 장치(200)는 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지 중에서 제1 2D 이미지의 화각에 의해 잘려진 비율(truncation)과 제2 이미지의 화각에 의해 잘려진 비율의 합이 사전에 설정된 임계 비율 이상인 경우, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는 것으로 판단할 수 있다.To this end, the annotation apparatus 200 calculates in advance the sum of the ratio truncated by the angle of view of the first 2D image and the ratio truncated by the angle of view of the second image among two 2D images obtained by photographing spatially continuous angles of view. When it is equal to or greater than the set threshold ratio, it may be determined that the two 2D images include different parts 20-part1 and 20-part2 of one object, respectively.

어노테이션 장치(200)는 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지로부터 특정된 객체의 RGB 값과 제2 2D 이미지로부터 특정된 객체의 RGB 값을 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는지 여부를 검증할 수 있다.If the sum of the ratio of cropped by the angle of view of the first 2D image and the ratio of cropped by the angle of view of the second image is equal to or greater than a threshold ratio, the annotation apparatus 200 determines the RGB value of the object specified from the first 2D image and the second 2D image Based on the RGB value of the object specified from , it can be verified whether the two 2D images each include different parts (20-part1, 20-part2) of one object.

어노테이션 장치(200)는 제1 2D 이미지의 화각에 의해 잘려진 비율과 제2 이미지의 화각에 의해 잘려진 비율의 합이 임계 비율 이상인 경우, 제1 2D 이미지와 제2 2D 이미지 사이의 경계선을 기준으로, 제1 2D 이미지로부터 특정된 객체의 엣지와 제2 2D 이미지로부터 특정된 객체의 엣지가 연속되는지 여부를 기초로, 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분(20-part1, 20-part2)을 각각 포함하고 있는지 여부를 검증할 수 있다.When the sum of the ratio of cropped by the angle of view of the first 2D image and the ratio of cropped by the angle of view of the second image is equal to or greater than a threshold ratio, the annotation device 200 determines the boundary line between the first 2D image and the second 2D image, Based on whether the edge of the object specified from the first 2D image and the edge of the object specified from the second 2D image are continuous, the two 2D images are different parts of one object (20-part1, 20-part2) It can be verified whether each of the

그리고, 어노테이션 장치(200)는 식별된 동일한 객체의 이동 경로를 기초로, 복수 개의 2D 이미지들 각각으로부터 특정된 객체(20)에 동일한 메타데이터를 부여할 수 있다. In addition, the annotation apparatus 200 may assign the same metadata to the object 20 specified from each of the plurality of 2D images based on the identified movement path of the same object.

따라서, 본 발명의 실시예들에 따르면, 하나의 객체(20)가 두 2D 이미지 사이의 경계(즉, 카메라 화각의 경계)를 넘어가더라도, 두 2D 이미지로부터 개별적으로 특정된 객체(20)가 서로 동일한 객체(20)로 특정될 수 있도록 보장할 수 있다.Accordingly, according to embodiments of the present invention, even if one object 20 crosses the boundary between the two 2D images (ie, the boundary of the camera angle of view), the objects 20 individually specified from the two 2D images are mutually exclusive. It can be guaranteed to be specified as the same object 20 .

도 14는 본 발명의 일 실시예에 따라 3D 점군 데이터를 이용하여 2D 이미지를 전처리하는 과정을 설명하기 위한 예시도이다.14 is an exemplary diagram for explaining a process of pre-processing a 2D image using 3D point cloud data according to an embodiment of the present invention.

도 12 및 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 3D 점군 데이터를 기초로 2D 이미지들을 전처리할 수 있다.12 and 13 , the annotation apparatus 200 according to an embodiment of the present invention may preprocess 2D images based on 3D point cloud data.

어노테이션 장치(200)는 라이다에 의해 획득된 시간 순서에 따라 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정할 수 있다.The annotation apparatus 200 may specify an object included in each of the 3D point cloud data according to a time sequence obtained by the lidar.

만약, 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 어노테이션 장치(200)는 라이다에 의해 3D 점군 데이터가 획득된 시간동안 복수 개의 카메라에 의해 촬영된 2D 이미지들을 객체의 특정 대상으로부터 제외시킬 수 있다.If any object is not included in all of the 3D point cloud data, the annotation apparatus 200 converts 2D images captured by a plurality of cameras during the time the 3D point cloud data is acquired by the lidar from a specific target of the object. can be excluded.

어노테이션 장치(200)는 라이다에 의해 획득된 시간 순서에 따라 특정된 객체(20)의 위치 변화를 기초로, 객체(20)의 이동 경로를 식별할 수 있다.The annotation apparatus 200 may identify the movement path of the object 20 based on the change in the position of the object 20 specified according to the temporal sequence obtained by the lidar.

어노테이션 장치(200)는 식별된 객체(20)의 이동 경로를 이용하여, 라이다가 설치된 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 3D 점군 데이터로부터 특정된 객체와 동일한 객체(20)를 특정할 수 있다.The annotation apparatus 200 uses the movement path of the identified object 20 to be identical to the object specified from the 3D point cloud data from each of the 2D images successively photographed by a plurality of cameras fixedly installed in the vehicle in which the lidar is installed. The object 20 can be specified.

구체적으로, 어노테이션 장치(200)는 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체(20)의 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 객체의 특정 대상으로부터 제외시킬 수 있다.Specifically, the annotation apparatus 200 may exclude one or more 2D images that do not match the movement path of the object 20 from among the 2D images continuously photographed by a plurality of cameras from the specific target of the object.

어노테이션 장치(200)는 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 객체(20)의 이동 경로에 매칭되는 2D 이미지 내에, 3D 점군 데이터들로부터 특정된 객체(20)와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스를 미리 배치할 수 있다.The annotation apparatus 200 selects an object of the same type as the object 20 specified from the 3D point cloud data in a 2D image matching the movement path of the object 20 among 2D images continuously photographed by a plurality of cameras. A 2D bounding box for specifying within a 2D image can be pre-arranged.

어노테이션 장치(200)는 사용자 인터페이스(UI)를 통해 2D 바운딩 박스의 꼭짓점 위치의 조정이 완료되었음을 지시하는 신호가 입력되면, 3D 점군 데이터들로부터 특정된 객체(20)에 기 부여된 메타데이터를 2D 바운딩 박스에 의해 특정된 객체(20)의 메타데이터로 부여할 수 있다.When a signal indicating that the adjustment of the vertex position of the 2D bounding box is completed is inputted through the user interface (UI), the annotation apparatus 200 transmits metadata previously assigned to the object 20 specified from the 3D point cloud data in 2D It can be given as metadata of the object 20 specified by the bounding box.

이하 상술한 바와 같은, 본 발명의 실시예들에 따라 인공지능(AI)을 기계 학습하기 위한 데이터를 생성하는 과정에 대하여, 보다 구체적으로 설명하기로 한다.Hereinafter, as described above, a process of generating data for machine learning of artificial intelligence (AI) according to embodiments of the present invention will be described in more detail.

도 15는 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 방법을 설명하기 위한 순서도이다.15 is a flowchart illustrating a method of generating data for artificial intelligence (AI) learning according to an embodiment of the present invention.

도 15에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 설계 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다(S110). 구체적으로, 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.As shown in FIG. 15 , the apparatus 100 for designing learning data according to an embodiment of the present invention may design a data structure for artificial intelligence (AI) learning ( S110 ). Specifically, the learning data design device 100 is based on the user's control and the properties of the received project, an ontology for artificial intelligence (AI) learning, a classification system of data for artificial intelligence (AI) learning can be defined

학습 데이터 설계 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집할 수 있다(S120). 이를 위하여, 학습 데이터 설계 장치(100)는 외부로부터 3D 점군 데이터 및 2D 이미지들을 입력 받거나, 웹 크롤링(web crawling)을 수행하여 3D 점군 데이터 및 2D 이미지들을 수집하거나, 또는 외부 기관의 장치로부터 3D 점군 데이터 및 2D 이미지들을 다운로드 할 수 있다.The learning data design apparatus 100 may collect data for artificial intelligence (AI) learning based on the designed data structure (S120). To this end, the learning data design apparatus 100 receives 3D point cloud data and 2D images from the outside, performs web crawling to collect 3D point cloud data and 2D images, or 3D point cloud from an external device. Data and 2D images can be downloaded.

이 경우, 3D 점군 데이터는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 획득된 데이터이다. 이와 같은, 3D 점군 데이터는 차량에 설치된 라이다에 의해 시계열적으로 연속되게 획득될 수 있다. 그리고, 2D 이미지는 차량에 고정 설치된 복수 개의 카메라에 의해 촬영된 이미지이다. 이와 같은, 2D 이미지는 차량에 설치된 카메라에 의해 시계열적으로 연속되게 촬영될 수 있다.In this case, the 3D point cloud data is data acquired by the lidar installed in the vehicle in order to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle. Such 3D point cloud data may be continuously acquired in time series by the lidar installed in the vehicle. And, the 2D image is an image taken by a plurality of cameras fixedly installed in the vehicle. Such 2D images may be continuously captured in time series by a camera installed in the vehicle.

학습 데이터 설계 장치(100)는 수집된 3D 점군 데이터 및 2D 이미지들 중에서 중복되거나 또는 극히 유사한 데이터를 제거하고, 수집된 3D 점군 데이터 및 2D 이미지들에 포함된 개인정보를 비식별화하는 정제를 수행할 수 있다(S130).The learning data design apparatus 100 removes duplicate or extremely similar data from the collected 3D point cloud data and 2D images, and performs purification to de-identify personal information included in the collected 3D point cloud data and 2D images. You can (S130).

학습 데이터 설계 장치(100)는 수집 및 정제된 3D 점군 데이터 및 2D 이미지들을 복수 개의 어노테이션 장치(200)를 통해 가공할 수 있다(S140).The learning data design apparatus 100 may process the collected and refined 3D point cloud data and 2D images through the plurality of annotation apparatuses 200 ( S140 ).

학습 데이터 설계 장치(100)는 복수 개의 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 하고, 수신된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다(S150).The learning data design apparatus 100 may generate data for artificial intelligence (AI) learning by performing annotation work results from the plurality of annotation apparatuses 200 and packaging the received annotation work results (S150).

그리고, 학습 데이터 설계 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송하여 납품할 수 있다(S160). In addition, the learning data design apparatus 100 may transmit and deliver the generated artificial intelligence (AI) learning data to the artificial intelligence learning apparatus 400 ( S160 ).

도 16은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다. 16 is a flowchart illustrating an annotation method according to an embodiment of the present invention.

도 15에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지들을 학습 데이터 생성 장치(100)로부터 수신할 수 있다(S210).As shown in FIG. 15 , the annotation apparatus 200 according to an embodiment of the present invention may receive 3D point cloud data and 2D images to be annotated from the training data generating apparatus 100 ( S210 ). .

어노테이션 장치(200)는 수신된 3D 점군 데이터 및 2D 이미지 각각에 대하여 인공지능(AI)의 기계 학습의 대상이 되는 객체를 특정할 수 있다(S220).The annotation apparatus 200 may specify an object to be subjected to machine learning of artificial intelligence (AI) for each of the received 3D point cloud data and the 2D image ( S220 ).

특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 3D 점군 데이터와 2D 이미지들을 대상으로 보다 용이하게 어노테이션을 수행할 수 있는 다양한 수단들을 제공할 수 있다. 이러한 수단들에 대한 구체적인 설명은 도 7 내지 도 14를 참조하여 설명한 바와 동일하므로 중복하여 기재하지 않는다.Characteristically, the annotation apparatus 200 according to an embodiment of the present invention may provide various means for more easily performing annotation on 3D point cloud data and 2D images. Specific descriptions of these means are the same as those described with reference to FIGS. 7 to 14 , and thus will not be repeated.

어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 3D 점군 데이터 및 2D 이미지에 대한 메타데이터를 생성할 수 있다(S230). The annotation apparatus 200 may generate metadata for 3D point cloud data and 2D images to be annotated ( S230 ).

어노테이션 장치(200)는 3D 점군 데이터 및 2D 이미지들로부터 특정된 객체의 좌표 및 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다(S240). 이 경우, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.The annotation apparatus 200 may generate an annotation work result based on the coordinates and metadata of the object specified from the 3D point cloud data and the 2D images ( S240 ). In this case, the annotation work result may have a JSON file format, but is not limited thereto.

그리고, 어노테이션 장치(200)는 생성된 어노테이션 작업 결과물을 학습 데이터 생성 장치(100)에 직접 전송하거나, 또는 학습 데이터 검증 장치(300)를 경유하여 전송할 수 있다(S250).In addition, the annotation apparatus 200 may transmit the generated annotation work result directly to the learning data generating apparatus 100 or via the learning data verifying apparatus 300 ( S250 ).

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention pertains that other modifications based on the technical idea of the present invention can be implemented in addition to the embodiments disclosed herein. It is obvious to those with ordinary knowledge. In addition, although specific terms have been used in the present specification and drawings, these are only used in a general sense to easily explain the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

학습 데이터 생성 장치: 100 어노테이션 장치: 200
학습 데이터 검증 장치: 300 인공지능 학습 장치: 400
통신부: 205 입출력부:210
저장부: 215 객체 특정부: 220
메타데이터 생성부: 225 결과물 생성부: 230
3D 데이터 객체 특정 모듈: 220-1
2D 이미지 객체 특정 모듈: 220-2
품질 관리 모듈: 220-3 객체 자동 추적 모듈: 220-4
동기화 처리 모듈: 220-5 전처리 모듈: 220-6
Training data generator: 100 Annotator: 200
Training data verification device: 300 Artificial intelligence training device: 400
Communication unit: 205 Input/output unit: 210
Storage: 215 Object Specifier: 220
Metadata generator: 225 Result generator: 230
3D Data Object Specific Module: 220-1
2D Image Object Specific Module: 220-2
Quality Management Module: 220-3 Object Tracking Module: 220-4
Synchronization processing module: 220-5 Preprocessing module: 220-6

Claims (10)

어노테이션 장치가, 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다(lidar)에 의해 연속적으로 획득된 3D 점군(3D point group) 데이터들을 수신하는 단계;
상기 어노테이션 장치가, 상기 라이다에 의해 획득된 시간 순서에 따라 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계;
상기 어노테이션 장치가, 상기 시간 순서에 따라 특정된 객체의 위치 변화를 기초로, 상기 객체의 이동 경로를 식별하는 단계; 및
상기 어노테이션 장치가, 상기 식별된 객체의 이동 경로를 이용하여, 상기 라이다가 설치된 차량과 동일한 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 상기 객체와 동일한 객체를 특정하는 단계를 포함하고,
상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계는
상기 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 상기 라이다에 의해 3D 점군 데이터가 획득된 시간동안 상기 복수 개의 카메라에 의해 촬영된 2D 이미지들을 상기 객체의 특정 대상으로부터 제외시키는 것을 특징으로 하며,
상기 이동 경로를 식별하는 단계는,
상기 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 경우, 동일한 객체의 이동 경로를 식별하는 것을 특징으로 하고,
상기 이동 경로를 식별하는 단계는,
공간적으로 연속되는 화각을 촬영한 상기 두 개의 2D 이미지 중에서 제1 2D 이미지의 화각에 의해 잘려진 비율(truncation)과 제2 2D 이미지의 화각에 의해 잘려진 비율의 합이 사전에 설정된 임계 비율 이상인 경우, 상기 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 것으로 판단하되, 상기 제1 2D 이미지로부터 특정된 객체의 RGB 값과 상기 제2 2D 이미지로부터 특정된 객체의 RGB 값을 기초로, 상기 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는지 여부를 검증하는 것을 특징으로 하며,
상기 동일한 객체를 특정하는 단계는
상기 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 상기 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 상기 객체의 특정 대상으로부터 제외시키는 것을 특징으로 하는, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
In order for the annotation device to learn artificial intelligence (AI) that can be used for autonomous driving of a vehicle, 3D point group data continuously acquired by a lidar fixedly installed in a vehicle is received. to do;
specifying, by the annotation device, an object included in each of the 3D point cloud data according to the temporal sequence acquired by the lidar;
identifying, by the annotation device, a movement path of the object based on a change in the position of the specified object according to the time sequence; and
The annotation device specifies the same object as the object from each of the 2D images successively photographed by a plurality of cameras fixedly installed in the same vehicle as the vehicle in which the lidar is installed, using the movement path of the identified object comprising steps,
The step of specifying an object included in each of the 3D point cloud data includes:
When no object is included in all of the 3D point cloud data, 2D images photographed by the plurality of cameras during a time when 3D point cloud data is acquired by the lidar are excluded from the specific target of the object with
The step of identifying the movement path,
When two 2D images obtained by photographing spatially continuous angles of view among the plurality of 2D images each include different parts of one object, it is characterized in that the movement path of the same object is identified,
The step of identifying the movement path,
When the sum of the truncated ratio by the angle of view of the first 2D image and the ratio truncated by the angle of view of the second 2D image among the two 2D images obtained by photographing spatially continuous angles of view is equal to or greater than a preset threshold ratio, the It is determined that the two 2D images each include different parts of one object, but based on the RGB value of the object specified from the first 2D image and the RGB value of the object specified from the second 2D image, It is characterized in that it is verified whether the two 2D images each contain different parts of one object,
The step of specifying the same object is
A method of pre-processing a 2D image using 3D data, characterized in that one or more 2D images that do not match the movement path from among the 2D images continuously photographed by the plurality of cameras are excluded from the specific target of the object.
제1 항에 있어서, 상기 동일한 객체를 특정하는 단계는
상기 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 상기 이동 경로에 매칭되는 2D 이미지 내에, 상기 3D 점군 데이터들로부터 특정된 객체와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스(bounding box)를 미리 배치하되,
상기 2D 바운딩 박스는 상기 2D 이미지에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역인 것을 특징으로 하는, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
The method of claim 1, wherein specifying the same object comprises:
A 2D bounding box for specifying in a 2D image an object of the same type as an object specified from the 3D point cloud data in a 2D image matching the movement path among 2D images continuously photographed by the plurality of cameras box) in advance,
The 2D bounding box is a preprocessing method of a 2D image using 3D data, characterized in that it is an area for specifying an object to be a target of the artificial intelligence (AI) learning from among the objects included in the 2D image.
제2 항에 있어서, 상기 동일한 객체를 특정하는 단계는
상기 이동 경로에 매칭되는 2D 이미지를 촬영한 카메라의 광축(optical axis) 방향 및 상기 3D 점군 데이터 내에서 상기 객체가 특정된 위치를 기초로, 상기 2D 이미지 내에서 상기 2D 바운딩 박스를 미리 배치할 위치를 결정하는 것을 특징으로 하는, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
The method of claim 2, wherein specifying the same object comprises:
A position to pre-arrange the 2D bounding box in the 2D image based on the optical axis direction of the camera that captured the 2D image matching the movement path and the position at which the object is specified in the 3D point cloud data A pre-processing method of a 2D image using 3D data, characterized in that determining a.
제3 항에 있어서, 상기 동일한 객체를 특정하는 단계는
사용자 인터페이스(User Interface, UI)를 통해 상기 2D 바운딩 박스의 꼭짓점(vertex) 위치의 조정이 완료되었음을 지시하는 신호가 입력되면, 상기 3D 점군 데이터들로부터 특정된 객체에 기 부여된 메타데이터를 상기 2D 바운딩 박스에 의해 특정된 객체의 메타데이터로 부여하는 것을 특징으로 하는, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
The method of claim 3, wherein specifying the same object comprises:
When a signal indicating that the adjustment of the vertex position of the 2D bounding box is completed is input through a user interface (UI), metadata previously assigned to an object specified from the 3D point cloud data is transferred to the 2D A method of pre-processing a 2D image using 3D data, characterized in that it is given as metadata of an object specified by a bounding box.
제4 항에 있어서, 상기 동일한 객체를 특정하는 단계는
상기 3D 점군 데이터들로부터 특정된 객체에 기 부여된 트래킹 아이디(tracking identifier)를 상기 2D 바운딩 박스에 의해 특정된 객체의 트래킹 아이디로 부여하되,
상기 트래킹 아이디는 상기 3D 점군 데이터 또는 상기 2D 이미지들 내에서 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자인 것을 특징으로, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
5. The method of claim 4, wherein specifying the same object comprises:
A tracking ID previously assigned to an object specified from the 3D point cloud data is given as a tracking ID of the object specified by the 2D bounding box,
The tracking ID is a method for preprocessing a 2D image using 3D data, characterized in that the 3D point cloud data or a unique identifier of an object assigned to track an object within the 2D images.
제4 항에 있어서, 상기 동일한 객체를 특정하는 단계는
상기 3D 점군 데이터로부터 식별되며 상기 객체의 고유한 형상에 의해 결정되는 절대 크기를 상기 2D 바운딩 박스에 의해 특정된 객체의 메타데이터에 포함시키는 것을 특징으로 하는, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
5. The method of claim 4, wherein specifying the same object comprises:
A method for preprocessing a 2D image using 3D data, characterized in that the absolute size identified from the 3D point cloud data and determined by the unique shape of the object is included in the metadata of the object specified by the 2D bounding box.
제1 항에 있어서, 상기 이동 경로를 식별하는 단계는
상기 3D 점군 데이터들에서 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지들을 획득하고, 상기 평면 시점 이미지들 각각에서 객체가 위치하는 지점을 연결하여 상기 이동 경로를 식별하되,
상기 X축의 데이터는 상기 3D 점군 데이터 중에서 폭(width)에 관한 데이터이고, 상기 Z축의 데이터는 상기 3D 점군 데이터 중에서 깊이(depth)에 관한 데이터인 것을 특징으로 하는, 3D 데이터를 이용한 2D 이미지의 전처리 방법.
The method of claim 1, wherein the step of identifying the movement path comprises:
Obtaining top view images composed of only X-axis and Z-axis data from the 3D point cloud data, and identifying the movement path by connecting the point where the object is located in each of the plane viewpoint images,
Pre-processing of a 2D image using 3D data, characterized in that the X-axis data is data on width among the 3D point cloud data, and the Z-axis data is data on depth among the 3D point cloud data Way.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 학습시키기 위하여, 차량에 고정 설치된 라이다에 의해 연속적으로 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계;
상기 프로세서가, 상기 라이다에 의해 획득된 시간 순서에 따라 상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계;
상기 프로세서가, 상기 시간 순서에 따라 특정된 객체의 위치 변화를 기초로, 상기 객체의 이동 경로를 식별하는 단계; 및
상기 프로세서가, 상기 식별된 객체의 이동 경로를 이용하여, 상기 라이다가 설치된 차량과 동일한 차량에 고정 설치된 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 각각으로부터 상기 객체와 동일한 객체를 특정하는 단계를 실행시키는 것을 특징으로 하고,
상기 3D 점군 데이터들 각각에 포함되어 있는 객체를 특정하는 단계는
상기 3D 점군 데이터들 모두에 어떠한 객체도 포함되어 있지 않은 경우, 상기 라이다에 의해 3D 점군 데이터가 획득된 시간동안 상기 복수 개의 카메라에 의해 촬영된 2D 이미지들을 상기 객체의 특정 대상으로부터 제외시키는 것을 특징으로 하며,
상기 이동 경로를 식별하는 단계는,
상기 복수 개의 2D 이미지들 중에서 공간적으로 연속되는 화각을 촬영한 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 경우, 동일한 객체의 이동 경로를 식별하는 것을 특징으로 하고,
상기 이동 경로를 식별하는 단계는,
공간적으로 연속되는 화각을 촬영한 상기 두 개의 2D 이미지 중에서 제1 2D 이미지의 화각에 의해 잘려진 비율(truncation)과 제2 2D 이미지의 화각에 의해 잘려진 비율의 합이 사전에 설정된 임계 비율 이상인 경우, 상기 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는 것으로 판단하되, 상기 제1 2D 이미지로부터 특정된 객체의 RGB 값과 상기 제2 2D 이미지로부터 특정된 객체의 RGB 값을 기초로, 상기 두 개의 2D 이미지가 하나의 객체의 서로 다른 부분을 각각 포함하고 있는지 여부를 검증하는 것을 특징으로 하며,
상기 동일한 객체를 특정하는 단계는
상기 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 상기 이동 경로에 매칭되지 않는 하나 이상의 2D 이미지를 상기 객체의 특정 대상으로부터 제외시키는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
In combination with a computing device configured to include a processor for processing instructions resident in the memory,
receiving, by the processor, 3D point cloud data continuously acquired by a lidar fixedly installed in a vehicle through the transceiver, in order to learn artificial intelligence (AI) that can be used for autonomous driving of the vehicle;
specifying, by the processor, an object included in each of the 3D point cloud data according to the temporal sequence acquired by the lidar;
identifying, by the processor, a movement path of the object based on a change in the position of the specified object according to the time sequence; and
specifying, by the processor, the same object as the object from each of the 2D images continuously photographed by a plurality of cameras fixedly installed in the same vehicle as the vehicle in which the lidar is installed, using the movement path of the identified object characterized by executing
The step of specifying an object included in each of the 3D point cloud data includes:
When no object is included in all of the 3D point cloud data, 2D images photographed by the plurality of cameras during a time when 3D point cloud data is acquired by the lidar are excluded from the specific target of the object with
The step of identifying the movement path,
When two 2D images obtained by photographing spatially continuous angles of view among the plurality of 2D images each include different parts of one object, it is characterized in that the movement path of the same object is identified,
The step of identifying the movement path,
When the sum of the truncated ratio by the angle of view of the first 2D image and the ratio truncated by the angle of view of the second 2D image among the two 2D images obtained by photographing spatially continuous angles of view is equal to or greater than a preset threshold ratio, the It is determined that the two 2D images each include different parts of one object, but based on the RGB value of the object specified from the first 2D image and the RGB value of the object specified from the second 2D image, It is characterized in that it is verified whether the two 2D images each contain different parts of one object,
The step of specifying the same object is
One or more 2D images that do not match the movement path from among the 2D images continuously photographed by the plurality of cameras are excluded from the specific target of the object.
제8 항에 있어서, 상기 동일한 객체를 특정하는 단계는
상기 복수 개의 카메라에 의해 연속적으로 촬영된 2D 이미지들 중에서 상기 이동 경로에 매칭되는 2D 이미지 내에, 상기 3D 점군 데이터들로부터 특정된 객체와 동일한 유형의 객체를 2D 이미지 내에 특정하기 위한 2D 바운딩 박스(bounding box)를 미리 배치하되,
상기 2D 바운딩 박스는 상기 2D 이미지에 포함된 객체들 중에서 상기 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역인 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
The method of claim 8, wherein specifying the same object comprises:
A 2D bounding box for specifying in a 2D image an object of the same type as an object specified from the 3D point cloud data in a 2D image matching the movement path among 2D images continuously photographed by the plurality of cameras box) in advance,
The 2D bounding box is a computer program recorded on a recording medium, characterized in that it is an area for specifying an object to be subjected to the artificial intelligence (AI) learning from among the objects included in the 2D image.
제8 항에 있어서, 상기 이동 경로를 식별하는 단계는
상기 3D 점군 데이터들에서 X축 및 Z축의 데이터만으로 구성된 평면 시점(top view) 이미지들을 획득하고, 상기 평면 시점 이미지들 각각에서 객체가 위치하는 지점을 연결하여 상기 이동 경로를 식별하되,
상기 X축의 데이터는 상기 3D 점군 데이터 중에서 폭(width)에 관한 데이터이고, 상기 Z축의 데이터는 상기 3D 점군 데이터 중에서 깊이(depth)에 관한 데이터인 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
The method of claim 8, wherein the step of identifying the movement path comprises:
Obtaining top view images composed of only X-axis and Z-axis data from the 3D point cloud data, and identifying the movement path by connecting the point where the object is located in each of the plane viewpoint images,
The computer program recorded on the recording medium, characterized in that the X-axis data is data about width among the 3D point cloud data, and the Z-axis data is data about depth among the 3D point cloud data.
KR1020210062628A 2021-05-14 2021-05-14 Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor KR102310609B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210062628A KR102310609B1 (en) 2021-05-14 2021-05-14 Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210062628A KR102310609B1 (en) 2021-05-14 2021-05-14 Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor

Publications (1)

Publication Number Publication Date
KR102310609B1 true KR102310609B1 (en) 2021-10-13

Family

ID=78150799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210062628A KR102310609B1 (en) 2021-05-14 2021-05-14 Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor

Country Status (1)

Country Link
KR (1) KR102310609B1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095592A (en) * 2018-01-23 2019-08-16 충북대학교 산학협력단 Method and Apparatus for Vehicle Detection Using Lidar Sensor and Camera
KR20200042629A (en) * 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor
KR20200092819A (en) * 2019-01-04 2020-08-04 (주)서울로보틱스 Vehicle and sensing device of utilizing spatial information acquired using sensor, and server for the same
KR20200115705A (en) * 2019-03-08 2020-10-08 현대모비스 주식회사 Class labeling apparatus for autonomous driving
KR20200119419A (en) * 2019-03-29 2020-10-20 삼성전자주식회사 Electronic apparatus and method for assisting driving of a vehicle
KR20200131664A (en) * 2019-05-14 2020-11-24 삼성전자주식회사 Electronic apparatus and method for assisting driving of a vehicle
KR102230144B1 (en) 2019-07-29 2021-03-22 군산대학교산학협력단 Artificial intelligence deep learning target detection and velocity potential field algorithm based obstacle avoidance and autonomous navigation technique
KR20210037469A (en) * 2019-09-27 2021-04-06 (주)서울로보틱스 Vehicle and method for generating map corresponding to three-dimentional space

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190095592A (en) * 2018-01-23 2019-08-16 충북대학교 산학협력단 Method and Apparatus for Vehicle Detection Using Lidar Sensor and Camera
KR20200042629A (en) * 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor
KR20200092819A (en) * 2019-01-04 2020-08-04 (주)서울로보틱스 Vehicle and sensing device of utilizing spatial information acquired using sensor, and server for the same
KR20200115705A (en) * 2019-03-08 2020-10-08 현대모비스 주식회사 Class labeling apparatus for autonomous driving
KR20200119419A (en) * 2019-03-29 2020-10-20 삼성전자주식회사 Electronic apparatus and method for assisting driving of a vehicle
KR20200131664A (en) * 2019-05-14 2020-11-24 삼성전자주식회사 Electronic apparatus and method for assisting driving of a vehicle
KR102230144B1 (en) 2019-07-29 2021-03-22 군산대학교산학협력단 Artificial intelligence deep learning target detection and velocity potential field algorithm based obstacle avoidance and autonomous navigation technique
KR20210037469A (en) * 2019-09-27 2021-04-06 (주)서울로보틱스 Vehicle and method for generating map corresponding to three-dimentional space

Similar Documents

Publication Publication Date Title
KR102310613B1 (en) Method for tracking object in continuous 2D image, and computer program recorded on record-medium for executing method therefor
Yue et al. A lidar point cloud generator: from a virtual world to autonomous driving
CN108961327A (en) A kind of monocular depth estimation method and its device, equipment and storage medium
KR102310612B1 (en) Method for predicting object of 2D image using object information of point group of a lidar, and computer program recorded on record-medium for executing method therefor
KR102313918B1 (en) Synchronization method of 3D data and 2D image, and computer program recorded on record-medium for executing method thereof
KR102343059B1 (en) Data collecting system for artificial intelligence machine learning, and device therefor
KR102356910B1 (en) Method for preemptively detecting object, and computer program recorded on record-medium for executing method therefor
KR102343056B1 (en) A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof
KR102389998B1 (en) De-identification processing method and a computer program recorded on a recording medium to execute the same
KR102403169B1 (en) Method for providing guide through image analysis, and computer program recorded on record-medium for executing method therefor
CN111598065A (en) Depth image acquisition method, living body identification method, apparatus, circuit, and medium
KR102313940B1 (en) Method for tracking object in continuous 3D data, and computer program recorded on record-medium for executing method therefor
KR102310609B1 (en) Method for preprocessing 2D image using 3D data, and computer program recorded on record-medium for executing method therefor
KR102313938B1 (en) Method for tracking object through 3D path inference, and computer program recorded on record-medium for executing method therefor
KR102310611B1 (en) Method for tracking object through 2D path inference, and computer program recorded on record-medium for executing method therefor
KR102313944B1 (en) Method for tracking object crossing the boundary of the angle of view, and computer program recorded on record-medium for executing method therefor
KR102343042B1 (en) Method for improving object quality in continuous 3D data, and computer program recorded on record-medium for executing method therefor
KR102343052B1 (en) Method for identifying the path of an object in a 2D image based on 3D data, and computer program recorded on record-medium for executing method therefor
KR102343053B1 (en) a creation method of a 3D bounding box for a lidar point group, and computer program recorded on record-medium for executing method therefor
KR102343051B1 (en) adjusting method of bounding box of camera image from point group of lidar, and computer program recorded on record-medium for executing method thereof
KR102343041B1 (en) Method for automatic specifying object in 3D data, and computer program recorded on record-medium for executing method therefor
KR102343054B1 (en) Method for replacing and expanding of annotation result of 3D data, and computer program recorded on record-medium for executing method therefor
KR102343061B1 (en) Method for de-identifying personal information, and computer program recorded on record-medium for executing method therefor
KR102313922B1 (en) A method of increasing quality for data of connected 3D points group, and computer program recorded on record-medium for executing method thereof
CN116012609A (en) Multi-target tracking method, device, electronic equipment and medium for looking around fish eyes

Legal Events

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