KR102378890B1 - A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof - Google Patents

A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof Download PDF

Info

Publication number
KR102378890B1
KR102378890B1 KR1020210089485A KR20210089485A KR102378890B1 KR 102378890 B1 KR102378890 B1 KR 102378890B1 KR 1020210089485 A KR1020210089485 A KR 1020210089485A KR 20210089485 A KR20210089485 A KR 20210089485A KR 102378890 B1 KR102378890 B1 KR 102378890B1
Authority
KR
South Korea
Prior art keywords
point cloud
annotation
data
cloud data
learning
Prior art date
Application number
KR1020210089485A
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 KR1020210089485A priority Critical patent/KR102378890B1/en
Application granted granted Critical
Publication of KR102378890B1 publication Critical patent/KR102378890B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • 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
    • 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
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

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

Abstract

The present invention provides a method capable of preprocessing three-dimensional point group data in connection with annotation work of data for machine-learning artificial intelligence (AI). The method comprises: a step in which a learning data generation device receives three-dimensional point group data acquired through lidar fixed and installed in a vehicle for machine learning artificial intelligence (AI) usable in autonomous driving of the vehicle; a step in which the learning data generation device reduces the volume of the three-dimensional point group data based on distance values of points included in the three-dimensional point group data; and a step in which the learning data generation device distributes the three-dimensional point group data with a reduced volume to a plurality of annotation devices.

Description

어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법 {A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof}{A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof}

본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to the processing of data for artificial intelligence (AI) learning. More specifically, in relation to the data annotation operation for machine learning of artificial intelligence (AI), a method for reducing the data load of 3D point cloud for annotation and a computer program recorded on a recording medium for executing the same is about

인공지능(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 type 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. Data collection is performed 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 necessary. 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 stage of autonomous driving is divided into six levels classified by the Society of Automotive Engineers (SAE) International. According to the six levels 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)을 이용하여 구현하기 위해 개발 중에 있다. 그리고, 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수로 이루어진다. Autonomous driving of a vehicle is performed through mechanisms of perception, localization, path planning, and control. Currently, several companies are developing to implement cognitive and path planning among autonomous driving mechanisms using artificial intelligence (AI). And, 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.

이러한, 자율주행에 사용될 인공지능(AI)을 기계 학습에 사용될 많은 수의 데이터들에 대하여 개별적으로 어노테이션 작업을 수행하는 과정에는 수많은 작업자가 참여하게 된다. 그러나, 수많은 작업자가 개별적으로 어노테이션 작업을 수행하기 위해 사용하는 각 로컬 컴퓨팅 장치(local computing device)의 컴퓨팅 파워는 균일하지 아니하며, 각 로컬 컴퓨팅 장치와 데이터를 송수신하는 네트워크 회선의 대역폭(bandwidth)과 응답 속도(response time) 또한 균일하지 않다.Numerous workers participate in the process of individually annotating a large number of data to be used for machine learning with artificial intelligence (AI) to be used for autonomous driving. However, the computing power of each local computing device used by numerous workers to individually perform annotation work is not uniform, and the bandwidth and response of the network line that transmits and receives data to and from each local computing device The response time is also not uniform.

그리고, 균일하지 못한 로컬 컴퓨팅 장치의 컴퓨팅 파워와, 네트워크 회선의 대역폭과 응답 속도는 어노테이션 작업의 효율에 영향을 미치고 있다. Also, the non-uniform computing power of the local computing device and the bandwidth and response speed of the network line affect the efficiency of the annotation operation.

대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)Korean Patent Application Laid-Open No. 10-2020-0042629, ‘Method for generating touch-based annotations and images in mobile devices for artificial intelligence learning, and device therefor’, (published on April 24, 2020)

본 발명의 일 목적은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법을 제공하는 것이다.It is an object of the present invention to provide a method for reducing the data load of 3D point cloud for annotation in relation to an annotation operation of data for machine learning of artificial intelligence (AI).

본 발명의 다른 목적은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is a computer program recorded on a recording medium to execute a method of reducing the data load of 3D point cloud for annotation in relation to an annotation operation of data for machine learning of artificial intelligence (AI). is to provide

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.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.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 3D 점군 데이터들을 전처리할 수 있는 방법을 제안한다. 상기 방법은 학습 데이터 생성 장치가 차량의 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 기계 학습(machine learning)시키기 위하여 차량에 고정 설치된 라이다(lidar)를 통해 획득된 3D 점군(3D points group) 데이터들을 수신하는 단계; 상기 학습 데이터 생성 장치가 상기 3D 점군 데이터들에 포함된 점들(points)의 거리 값을 기초로, 각각의 3D 점군 데이터의 용량을 감축시키는 단계; 및 상기 학습 데이터 생성 장치가 상기 용량이 감축된 3D 점군 데이터들을 복수의 어노테이션 장치에 배포하는 단계를 포함할 수 있다.In order to achieve the technical task as described above, the present invention proposes a method capable of preprocessing 3D point cloud data in relation to annotating data for machine learning of artificial intelligence (AI). The method is a 3D point cloud (3D) obtained through a lidar fixed to a vehicle in order for the learning data generating device to machine learning artificial intelligence (AI) that can be used for autonomous driving of the vehicle. points group) receiving data; reducing, by the learning data generating apparatus, a capacity of each 3D point cloud data based on a distance value of points included in the 3D point cloud data; and distributing, by the training data generating device, the 3D point cloud data with the reduced capacity to a plurality of annotation devices.

구체적으로, 상기 용량을 감축시키는 단계는 각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 추출하여 객체 후보(object candidate)들을 식별하는 단계; 및 상기 식별된 객체 후보들을 구성하는 점들의 거리 값 또는 상기 식별된 객체 후보들의 크기 값을 기초로, 상기 3D 점군 데이터에 포함된 점들의 일부를 변경 또는 제거하는 단계를 포함할 수 있다.Specifically, the step of reducing the capacity may include: identifying object candidates by extracting points forming a crowd within a preset threshold range from among points included in each 3D point cloud data; and changing or removing some of the points included in the 3D point cloud data based on a distance value of points constituting the identified object candidates or a size value of the identified object candidates.

상기 3D 점군 데이터를 수신하는 단계는 상기 차량에 고정 설치된 카메라를 통해 촬영된 2D 이미지를 더 수신하고, 상기 객체 후보들을 식별하는 단계는 상기 수신된 2D 이미지 내에서 상기 객체 후보에 대응하는 영역의 RGB(Red, Green, Blue) 값을 기초로, 상기 식별된 객체 후보들에 대한 검증을 수행할 수 있다.The receiving of the 3D point cloud data further includes receiving a 2D image photographed through a camera fixedly installed in the vehicle, and the identifying of the object candidates includes RGB of a region corresponding to the object candidate in the received 2D image. Verification may be performed on the identified object candidates based on the (Red, Green, Blue) values.

상기 점들의 일부를 변경 또는 제거하는 단계는 상기 식별된 객체 후보들 각각에 대한 클래스(class)를 추정하고, 클래스의 유형별로 사전에 결정된 식별 가능 거리 값들을 기초로 상기 객체 후보들 각각에 대한 식별 가능 거리 값을 산출하고, 상기 라이다로부터 각 객체 후보까지의 거리 값과 상기 산출된 식별 가능 거리 값을 대비하여 상기 변경 또는 제거할 점들을 식별할 수 있다.The step of changing or removing some of the points estimates a class for each of the identified object candidates, and an identifiable distance for each of the object candidates based on pre-determined identifiable distance values for each type of class. A value may be calculated, and the points to be changed or removed may be identified by comparing the distance value from the lidar to each object candidate and the calculated identifiable distance value.

이 경우, 상기 점들의 일부를 변경 또는 제거하는 단계는 상기 객체 후보의 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)와 사전에 설정된 클래스별 크기(dimension) 범위를 대비하여, 상기 객체 후보들 각각에 대한 클래스를 추정할 수 있다.In this case, the step of changing or removing some of the points includes a width on an X-axis, a height on a Y-axis, a depth on a Z-axis, and a preset dimension for each class of the object candidate. ), it is possible to estimate a class for each of the object candidates by comparing the range.

일 실시예에 따르면, 상기 점들의 일부를 변경 또는 제거하는 단계는 상기 3D 점군 데이터로부터 원거리 객체 후보를 구성하는 점들을 제거할 수 있다. 이 경우, 상기 원거리 객체 후보는 객체 후보를 구성하는 점들의 각 거리 값들 중에서 최소 거리 값이 사전에 설정된 임계 거리 이상인 객체 후보가 될 수 있다.According to an embodiment, changing or removing some of the points may remove points constituting a distant object candidate from the 3D point cloud data. In this case, the distant object candidate may be an object candidate having a minimum distance value equal to or greater than a preset threshold distance among distance values of points constituting the object candidate.

다른 실시예에 따르면, 상기 점들의 일부를 변경 또는 제거하는 단계는 상기 라이다로부터의 거리 값이 상기 식별 가능 거리 값 이상인 객체 후보를 구성하는 점들을 사전에 설정된 단일의 가비지(garbage) 값으로 대체할 수 있다.According to another embodiment, in the step of changing or removing some of the points, points constituting an object candidate having a distance value greater than or equal to the identifiable distance value from the lidar are replaced with a single preset garbage value. can do.

다른 실시예에 따르면, 상기 점들의 일부를 변경 또는 제거하는 단계는 상기 라이다로부터의 거리 값이 상기 식별 가능 거리 값 이상인 객체 후보를 구성하는 점들을 상기 3D 점군 데이터로부터 제거할 수 있다.According to another embodiment, in the changing or removing of some of the points, points constituting an object candidate having a distance value greater than or equal to the identifiable distance value from the lidar may be removed from the 3D point cloud data.

또 다른 실시예에 따르면, 상기 점들의 일부를 변경 또는 제거하는 단계는 상기 인공지능(AI)의 기계 학습과 무관한 것으로 사전에 설정된 클래스의 유형으로 추정된 객체 후보를 구성하는 점들을 상기 변경 또는 제거할 점들로 식별할 수도 있다.According to another embodiment, the step of changing or removing some of the points includes changing or removing points constituting an object candidate estimated as a type of a class set in advance as irrelevant to machine learning of the artificial intelligence (AI). You can also identify the points to be removed.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 3D 점군 데이터들을 전처리할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계; 상기 프로세서가 상기 3D 점군 데이터들에 포함된 점들(points)의 거리 값을 기초로, 각각의 3D 점군 데이터의 용량을 감축시키는 단계; 및 상기 프로세서가 상기 용량이 감축된 3D 점군 데이터들을 상기 송수신기를 통해 복수의 어노테이션 장치에 배포하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다. In order to achieve the technical task as described above, the present invention relates to an annotation operation of data for machine learning of artificial intelligence (AI) recorded on a recording medium to execute a method capable of pre-processing 3D point cloud data. Suggest a computer program. The computer program includes a memory; transceiver; and a processor for processing instructions resident in the memory. The computer program may include: receiving, by the processor, 3D point cloud data acquired through a lidar fixed in a vehicle through the transceiver to machine-learning artificial intelligence (AI) that can be used for autonomous driving of the vehicle; reducing, by the processor, a capacity of each 3D point cloud data based on a distance value of points included in the 3D point cloud data; and distributing, by the processor, the 3D point cloud data with the reduced capacity to a plurality of annotation devices through the transceiver, it may be a computer program recorded on a recording medium.

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

본 발명의 실시예에 따르면, 3D 점군 데이터들 내에서 객체를 식별하지 못할 정도로 품질이 낮은 점군들을 전처리하여 그 용량을 감축함으로써, 어노테이션 작업 결과에 대한 영향을 최소화하며, 동시에 로컬 컴퓨팅 장치와 데이터를 송수신하는 네트워크 회선의 대역폭과 응답 속도에 따른 영향을 낮출 수 있다.According to an embodiment of the present invention, by pre-processing point clouds of low quality to the extent that objects cannot be identified in 3D point cloud data and reducing their capacity, the impact on the annotation operation result is minimized, and at the same time, the local computing device and data It is possible to reduce the influence of the bandwidth and response speed of the network line for sending and receiving.

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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 및 도 7은 본 발명의 몇몇 실시예에 따라 복수 개의 영역으로 구획된 2D 이미지를 설명하기 위한 예시도이다.
도 8 및 도 9는 본 발명의 몇몇 실시예에 따라 용량이 감축된 2D 이미지를 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따라 식별된 객체 후보들을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따라 객체 후보의 클래스를 추정하는 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따라 용량이 감축된 3D 점군 데이터를 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따라 기준 객체 후보를 선택하는 과정을 설명하기 위한 예시도이다.
도 14는 본 발명의 일 실시예에 따라 기준 객체 후보에 대한 작업 결과를 일괄 적용하는 과정을 설명하기 위한 예시도이다.
도 15는 본 발명의 일 실시예에 따라 로컬 장치의 능력을 평가하는 과정을 설명하기 위한 예시도이다.
도 16은 본 발명의 일 실시예에 따라 어노테이션 작업 결과물을 재작성하는 과정을 설명하기 위한 예시도이다.
도 17은 본 발명의 일 실시예에 따른 학습 데이터 생성 방법을 설명하기 위한 순서도이다.
도 18은 본 발명의 일 실시예에 따른 데이터 가공 방법을 설명하기 위한 순서도이다.
1 is a block diagram of an artificial intelligence learning system according to an embodiment of the present invention.
2 is an exemplary diagram for explaining an apparatus for collecting learning data according to an embodiment of the present invention.
3 is a logical configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.
4 is a logical configuration diagram of a data processing unit of an apparatus for generating learning data according to an embodiment of the present invention.
5 is a hardware configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.
6 and 7 are exemplary views for explaining a 2D image partitioned into a plurality of regions according to some embodiments of the present invention.
8 and 9 are exemplary diagrams for explaining a 2D image with reduced capacity according to some embodiments of the present invention.
10 is an exemplary diagram for describing identified object candidates according to an embodiment of the present invention.
11 is an exemplary diagram for explaining a process of estimating a class of an object candidate according to an embodiment of the present invention.
12 is an exemplary diagram for explaining 3D point cloud data with reduced capacity according to an embodiment of the present invention.
13 is an exemplary diagram for explaining a process of selecting a reference object candidate according to an embodiment of the present invention.
14 is an exemplary diagram for explaining a process of collectively applying a work result to a reference object candidate according to an embodiment of the present invention.
15 is an exemplary diagram for explaining a process of evaluating the capability of a local device according to an embodiment of the present invention.
16 is an exemplary diagram for explaining a process of rewriting an annotation work result according to an embodiment of the present invention.
17 is a flowchart illustrating a method of generating learning data according to an embodiment of the present invention.
18 is a flowchart illustrating a data processing method according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the 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 as meanings generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise specifically 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 can be correctly understood by those skilled in the art. In addition, the general terms used in the present invention should be interpreted according to the definition in the dictionary 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, and some of the 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 interpreted as extending to all changes, equivalents or substitutes other than the accompanying drawings.

상술한 바와 같이, 수많은 작업자가 개별적으로 어노테이션 작업을 수행하기 위해 사용하는 각 로컬 컴퓨팅 장치의 컴퓨팅 파워는 균일하지 아니하며, 각 로컬 컴퓨팅 장치와 데이터를 송수신하는 네트워크 회선의 대역폭과 응답 속도 또한 균일하지 않다. 그리고, 균일하지 못한 로컬 컴퓨팅 장치의 컴퓨팅 파워와, 네트워크 회선의 대역폭과 응답 속도는 어노테이션 작업의 효율에 영향을 미치고 있다. As described above, the computing power of each local computing device used by numerous workers to individually perform annotation work is not uniform, and the bandwidth and response speed of the network line for transmitting and receiving data to and from each local computing device are also not uniform. . Also, the non-uniform computing power of the local computing device and the bandwidth and response speed of the network line affect the efficiency of the annotation operation.

이러한 어려움을 해결하고자, 본 발명은 로컬 컴퓨팅 장치의 컴퓨팅 파워 또는 네트워크 회선의 품질로부터 받게 되는 영향을 최소화시킬 수 있는 다양한 수단들을 제안하고자 한다.In order to solve this difficulty, the present invention intends to propose various means that can minimize the influence received from the computing power of the local computing device or the quality of the network line.

도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.1 is a block diagram of an artificial intelligence learning system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 수집 장치(100), 학습 데이터 생성 장치(200), 다수 개의 어노테이션 장치(300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.As shown in FIG. 1 , an artificial intelligence learning system according to an embodiment of the present invention includes a learning data collection device 100 , a learning data generating device 200 , a plurality of annotation devices 300 , and an artificial intelligence learning device ( 400) may be included.

이와 같은, 일 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, since the components of the artificial intelligence learning system according to an embodiment 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)을 기계 학습시키기 위한 데이터를 수집하는데 사용될 수 있는 장치이다.Description of each component, the learning data collection device 100 is a device that can be used to collect data for machine learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

이를 위한, 학습 데이터 수집 장치(100)는 라이다(lidar), 카메라(camera), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않고, 하나 이상의 라이다, 카메라, 레이더 또는 초음파 센서에 의해 측정된 데이터를 수집하는 컴퓨팅 장치가 될 수도 있다.To this end, the learning data collection apparatus 100 may be configured to include one or more of a lidar, a camera, a radar, and an ultrasonic sensor, but is not limited thereto, and one It may be a computing device that collects data measured by the above lidar, camera, radar or ultrasonic sensor.

이와 같은, 학습 데이터 수집 장치(100)가 인공지능(AI) 기계 학습을 위한 데이터를 수집하는 예시에 대해서 추후 도 2를 참조하여 설명하기로 한다.An example in which the learning data collection device 100 collects data for artificial intelligence (AI) machine learning will be described later with reference to FIG. 2 .

다음 구성으로, 학습 데이터 생성 장치(200)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. With the following configuration, the learning data generating device 200 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.

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

특징적으로, 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)로부터 수신된 2D 이미지들 및 3D 점군 데이터를 다수 개의 어노테이션 장치(300)를 이용하여 데이터 가공함에 있어, 로컬 컴퓨팅 장치에 해당하는 어노테이션 장치(300)의 컴퓨팅 파워 또는 네트워크 회선의 품질로부터 받게 되는 영향을 최소화시킬 수 있다.Characteristically, the learning data generating apparatus 200 according to embodiments of the present invention processes the 2D images and 3D point cloud data received from the learning data collection apparatus 100 using a plurality of annotation apparatuses 300 . Therefore, it is possible to minimize the influence received from the computing power of the annotation device 300 corresponding to the local computing device or the quality of the network line.

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

다음 구성으로, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)에 의해 배포된 2D 이미지들 또는 3D 점군 데이터에 대하여, 어노테이션(annotation) 작업을 수행하는데 사용될 수 있는 로컬 컴퓨팅 장치이다. 이와 같은, 어노테이션 장치(300)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션 작업을 수행하는 장치가 될 수도 있다.With the following configuration, the annotation device 300 is a local computing device that can be used to perform an annotation operation on 2D images or 3D point cloud data distributed by the training data generating device 200 . As such, all or a part of the annotation device 300 may be a device in which an annotator performs an annotation operation through a clouding service.

구체적으로, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)로부터 수신된 2D 이미지들 또는 3D 점군 데이터 중에서 어노테이션 작업 대상이 되는 하나의 2D 이미지 또는 3D 점군 데이터를 디스플레이에 출력할 수 있다.Specifically, the annotation apparatus 300 may output one 2D image or 3D point cloud data to be annotated among the 2D images or 3D point cloud data received from the training data generating apparatus 200 to the display.

어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라 툴(tool)을 선택할 수 있다. 여기서, 툴은 2D 이미지 또는 3D 점군 데이터 속에 포함되어 있는 하나 이상의 객체(object)를 특정하는 바운딩 박스를 설정하기 위한 도구이다. The annotation device 300 may select a tool according to a signal input from the user through the input/output device. Here, the tool is a tool for setting a bounding box specifying one or more objects included in a 2D image or 3D point cloud data.

어노테이션 장치(300)는 입출력장치를 통해 선택된 툴에 따른 좌표를 입력 받을 수 있다. 그리고, 어노테이션 장치(300)는 입력된 좌표를 기초로 바운딩 박스(bounding box)를 설정하여, 2D 이미지 또는 3D 점군 데이터 속에 포함된 객체를 특정할 수 있다. 여기서, 바운딩 박스는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 정육면체(cube)의 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.The annotation device 300 may receive coordinates according to the selected tool through the input/output device. In addition, the annotation apparatus 300 may specify an object included in the 2D image or 3D point cloud data by setting a bounding box based on the input coordinates. Here, the bounding box is an area for specifying an object to be subjected to artificial intelligence (AI) learning among objects included in the image. As such, the bounding box may have a shape of a rectangle or a cube, but is not limited thereto.

예를 들어, 어노테이션 장치(300)는 입출력장치를 통해 두 개의 좌표를 입력 받고, 입력된 두 좌표를 2D 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정하여, 2D 이미지 속에 포함된 객체를 특정할 수 있다. 이 경우, 두 개의 좌표는 사용자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.For example, the annotation device 300 receives two coordinates through an input/output device, and uses the input two coordinates as the coordinates of the upper-left vertex and the coordinates of the lower-right vertex in the 2D image. Bounding based on a rectangle By setting the box, you can specify the object included in the 2D image. In this case, the two coordinates may be set by the user inputting one type of input signal twice (eg, clicking the mouse), or the user may inputting two types of input signals once (eg, dragging the mouse). However, the present invention is not limited thereto.

어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라, 어노테이션 작업의 대상이 되는 2D 이미지 또는 3D 점군 데이터, 또는 설정된 객체에 대한 메타데이터(metadata)를 생성할 수 있다. 여기서, 메타데이터는 3D 점군 데이터 또는 2D 이미지와, 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체를 설명하기 위한 데이터이다. 이와 같은, 메타데이터에는 3D 점군 데이터 또는 2D 이미지로부터 특정된 객체의 카테고리, 객체가 화각에 의해 잘려진 비율, 객체가 다른 객체 또는 물체에 의해 가려진 비율, 객체의 트래킹 아이디, 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되지 아니하고, 파일 크기, 이미지 크기, 저작권자, 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이, 클래스 명, 태그, 촬영 장소, 도로의 유형, 도로 표면 정보 또는 교통 체증 정보가 더 포함될 수도 있다.The annotation apparatus 300 may generate 2D image or 3D point cloud data to be annotated, or metadata for a set object according to a signal input from a user through the input/output device. Here, the metadata is 3D point cloud data or 2D image and data for describing an object specified from 3D point cloud data or 2D image. Such metadata includes a category of an object specified from 3D point cloud data or a 2D image, the ratio of the object cut by the angle of view, the ratio of the object to another object or object, the tracking ID of the object, the time the image was taken, the image may include, but are not limited to, the weather conditions on the day that ' was taken, file size, image size, copyright holder, resolution, bit value, aperture transmission amount, exposure time, ISO sensitivity, focal length, aperture opening number, 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.

어노테이션 장치(300)는 2D 이미지 또는 3D 점군 데이터로부터 설정된 객체와 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물을 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다. 어노테이션 장치(300)는 생성된 어노테이션 작업 결과물을 학습 데이터 생성 장치(200)에 전송할 수 있다. 그리고, 어노테이션 장치(300)는 생성된 어노테이션 작업 결과물 외에도, 검증을 위하여 객체가 설정된 2D 이미지 또는 3D 점군 데이터를 학습 데이터 생성 장치(200)에 전송할 수 있다. The annotation apparatus 300 may generate an annotation work result based on an object set from the 2D image or 3D point cloud data and the generated metadata. In this case, the annotation operation result may have a JSON (Java Script Object Notation) file format, but is not limited thereto. The annotation apparatus 300 may transmit the generated annotation work result to the training data generating apparatus 200 . In addition to the generated annotation work result, the annotation apparatus 300 may transmit a 2D image or 3D point cloud data in which an object is set to the learning data generating apparatus 200 for verification.

특징적으로, 본 발명을 일 실시예에 따른 어노테이션 장치(300)는 어노테이션 작업 결과물과 객체가 설정된 2D 이미지 또는 3D 점군 데이터를 학습 데이터 생성 장치(200)에 전송하지 아니하고, 어노테이션 장치(300)를 구성하고 있는 입출력장치의 제어 데이터를 학습 데이터 생성 장치(200)에 전송할 수도 있다.Characteristically, the annotation apparatus 300 according to an embodiment of the present invention configures the annotation apparatus 300 without transmitting the 2D image or 3D point cloud data in which the result of the annotation work and the object are set to the learning data generating apparatus 200 . It is also possible to transmit the control data of the input/output device in operation to the learning data generating device 200 .

여기서, 입출력장치의 제어 데이터는 어노테이션 장치(300)가 2D 이미지 또는 3D 점군 데이터에 대하여 어노테이션 작업을 수행하는 과정에서 사용자가 입출력장치를 제어하기 위하여 입력한 하나 이상의 신호를 시계열적으로 저장한 데이터가 될 수 있다. 여기서, 사용자는 작업자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.Here, the control data of the input/output device is data stored in time-series of one or more signals input by the user to control the input/output device while the annotation device 300 performs an annotation operation on the 2D image or 3D point cloud data. can be Here, the user may be referred to as an operator, performer, labeler, or data labeler, but is not limited thereto.

예를 들어, 어노테이션 장치(300)가 이벤트-주도 아키텍처(event-driven architecture)에 따른 운영체제(operating system)에 의해 구동되는 경우, 입출력장치의 제어 데이터에 포함된 하나 이상의 신호는 어노테이션 장치(200)의 입출력장치의 제어에 대응하여 운영체제에 의해 생성된 이벤트 메시지(event message)가 될 수 있다. 그리고, 어노테이션 장치(300)는 운영체제에 의해 생성된 이벤트 메시지가 선입선출(first-in first-out) 구조로 저장된 시스템 큐(system queue)를 복제하여 입출력장치의 제어 데이터를 생성할 수도 있다. For example, when the annotation device 300 is driven by an operating system according to an event-driven architecture, one or more signals included in the control data of the input/output device are the annotation device 200 . It may be an event message generated by the operating system in response to the control of the input/output device. Also, the annotation device 300 may generate control data of the input/output device by duplicating a system queue in which event messages generated by the operating system are stored in a first-in first-out structure.

보다 구체적인 예로, 어노테이션 장치(300)의 운영체제가 윈도우즈(windows)에 해당하는 경우, 입출력장치의 제어 데이터에는 마우스의 왼쪽 버튼 클릭에 대응하여 생성된 WM_LBUUTONDOWN, 키보드의 입력에 대응하여 생성된 WM_KEYDOWN 등의 이벤트 메시지가 포함될 수 있다.As a more specific example, when the operating system of the annotation device 300 corresponds to Windows, the control data of the input/output device includes WM_LBUTONDOWN generated in response to a left button click of the mouse, WM_KEYDOWN generated in response to a keyboard input, etc. Event messages may be included.

상술한 바와 같은 특징을 가지는, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.The annotation device 300 having the above-described characteristics may be any device as long as it is a device capable of transmitting and receiving data to and from the training data generating device 200 and performing an operation based on the transmitted/received data. For example, the annotation device 300 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), a personal digital assistant (PDA), or an e-book reader (E-book reader).

다음 구성으로, 인공지능 학습 장치(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)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 목적 달성을 위한 요구 사항을 학습 데이터 생성 장치(200)에 전송할 수 있다. 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)로부터 인공지능(AI) 학습용 데이터를 수신할 수 있다. 그리고, 인공지능 학습 장치(400)는 수신된 인공지능(AI) 학습용 데이터를 이용하여, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습할 수 있다.Specifically, the artificial intelligence learning apparatus 400 may transmit a requirement for achieving the purpose of artificial intelligence (AI) that can be used for autonomous driving of a vehicle to the learning data generating apparatus 200 . The artificial intelligence learning apparatus 400 may receive data for artificial intelligence (AI) learning from the learning data generating apparatus 200 . In addition, the artificial intelligence learning apparatus 400 may machine-learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle by using the received artificial intelligence (AI) learning data.

이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(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 200 and performing an operation using the transmitted/received data. For example, the artificial intelligence learning device 400 may be any one of a desktop, a workstation, or a stationary computing device such as a server, but is not limited thereto.

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

예를 들어, 공용 유선 통신망에는 이더넷(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.

이하, 상술한 바와 같은 학습 데이터 수집 장치(100)가 데이터를 수집하는 예시에 대하여 구체적으로 설명하기로 한다.Hereinafter, an example in which the learning data collection apparatus 100 as described above collects data will be described in detail.

도 2는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치를 설명하기 위한 예시도이다.2 is an exemplary diagram illustrating an apparatus for collecting learning data according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100a, 100b, 100c, 100d, 100e, 100f 및 100g; 100)는 차량(10)에 고정 설치되어, 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 수집할 수 있다.As shown in FIG. 2 , the learning data collection apparatuses 100a, 100b, 100c, 100d, 100e, 100f, and 100g 100 according to an embodiment of the present invention are fixedly installed in the vehicle 10 and are used for autonomous driving. It can collect data to machine learning artificial intelligence (AI) that can be used.

예를 들어, 학습 데이터 수집 장치(100)는 라이다(100a)와 복수 개의 카메라(100b, 100c, 100d, 100e, 100f 및 100g)를 포함하여 구성될 수 있다. 그러나, 이에 한정되지 않고 학습 데이터 수집 장치(100)는 하나 이상의 레이더 또는 초음파 센서를 포함하여 구성될 수 있다. 나아가, 학습 데이터 생성 장치(100)는 하나 이상의 라이다, 카메라, 레이더 또는 초음파 센서에 의해 측정된 데이터를 수집하는 컴퓨팅 장치가 될 수도 있다.For example, the learning data collection apparatus 100 may be configured to include a lidar 100a and a plurality of cameras 100b, 100c, 100d, 100e, 100f, and 100g. However, the present invention is not limited thereto, and the learning data collection apparatus 100 may include one or more radar or ultrasonic sensors. Furthermore, the learning data generating apparatus 100 may be a computing device that collects data measured by one or more lidar, camera, radar, or ultrasonic sensor.

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

학습 데이터 수집 장치(100)에 포함된 복수 개의 카메라(100b, 100c, 100d, 100e, 100f 및 100g)는 차량(10)을 중심으로 하는 방사형으로 고정 설치되어, 차량(10)의 주위에 대한 2차원 이미지를 각각 촬영할 수 있다. 도 2에는 학습 데이터 수집 장치(100)가 6개의 카메라(100b, 100c, 100d, 100e, 100f 및 100g)를 포함하는 것으로 도시되어 있으나, 본 발명이 6개 보다 적거나 또는 6개 보다 많은 카메라에 의해 촬영된 2D 이미지를 기초로 구현될 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.A plurality of cameras 100b, 100c, 100d, 100e, 100f, and 100g included in the learning data collection device 100 are radially fixed with the vehicle 10 as the center, and are installed around the vehicle 10. Each of the dimensional images can be taken. 2, the learning data collection apparatus 100 is illustrated as including six cameras 100b, 100c, 100d, 100e, 100f and 100g, but the present invention is applied to fewer than six or more than six cameras. It will be apparent to those of ordinary skill in the art that the present invention may be implemented based on the 2D image taken by the present invention.

이하, 상술한 바와 같은, 학습 데이터 생성 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the learning data generating apparatus 200 as described above will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.3 is a logical configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 통신부(205), 입출력부(210), 데이터 구조 설계부(215), 데이터 수집 및 정제부(220), 데이터 가공부(225) 및 학습 데이터 생성부(230)를 포함하여 구성될 수 있다. As shown in FIG. 3 , the learning data generating device 200 includes a communication unit 205 , an input/output unit 210 , a data structure design unit 215 , a data collection and refinement unit 220 , a data processing unit 225 and It may be configured to include a learning data generator 230 .

이와 같은, 학습 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the learning data generating 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 implemented with each other in the actual physical environment. It may be implemented separately.

각각의 구성 요소에 대하여 설명하면, 통신부(205)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400) 중 하나 이상과 데이터를 송수신할 수 있다.When each component is described, the communication unit 205 may transmit/receive data to and from one or more of the learning data collection apparatus 100 , the annotation apparatus 300 , and the artificial intelligence learning apparatus 400 .

구체적으로, 통신부(205)는 학습 데이터 수집 장치(100)로부터 2D 이미지들 및 3D 점군 데이터를 수신할 수 있다. 여기서, 2D 이미지들은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여, 차량에 고정 설치된 카메라를 통해 촬영된 이미지들이 될 수 있다. 그리고, 3D 점군 데이터들은 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여, 차량에 고정 설치된 라이다를 통해 획득된 점군 데이터들이 될 수 있다.Specifically, the communication unit 205 may receive 2D images and 3D point cloud data from the learning data collection apparatus 100 . Here, the 2D images may be images captured by a camera fixedly installed in the vehicle in order to machine-learning artificial intelligence (AI) that can be used for autonomous driving of the vehicle. In addition, the 3D point cloud data may be point cloud data acquired through a lidar fixedly installed in a vehicle in order to machine-learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

통신부(205)는 어노테이션 작업의 대상이 되는 복수 개의 2D 이미지들 또는 3D 점군 데이터들을 복수 개의 어노테이션 장치(200)에 배포 전송할 수 있다. 통신부(205)는 복수 개의 어노테이션 장치(300) 각각으로부터 어노테이션 작업 결과물을 수신할 수 있다. 또한, 통신부(205)는 복수 개의 어노테이션 장치(300) 각각으로부터 입출력장치의 제어 데이터를 수신할 수도 있다. 여기서, 입출력장치의 제어 데이터는 2D 이미지들 또는 3D 점군 데이터들 중 하나 이상을 수신한 어노테이션 장치(300)가 수신한 2D 이미지 또는 3D 점군 데이터에 대하여 어노테이션 작업을 수행하는 과정에서, 사용자가 어노테이션 장치(300)를 구성하고 있는 입출력장치를 제어하기 위하여 입력한 하나 이상의 신호를 시계열적으로 저장한 데이터가 될 수 있다.The communication unit 205 may distribute and transmit a plurality of 2D images or 3D point cloud data to be annotated to a plurality of annotation apparatuses 200 . The communication unit 205 may receive an annotation work result from each of the plurality of annotation apparatuses 300 . Also, the communication unit 205 may receive control data of the input/output device from each of the plurality of annotation devices 300 . Here, the control data of the input/output device includes the annotation device 300 that has received one or more of the 2D images or 3D point cloud data. In the process of performing an annotation operation on the received 2D image or 3D point cloud data, the user may use the annotation device It may be data stored in time series of one or more signals input to control the input/output device constituting the 300 .

그리고, 통신부(205)는 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(300)에 전송할 수 있다.In addition, the communication unit 205 may transmit data for artificial intelligence (AI) learning to the artificial intelligence learning apparatus 300 .

다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit 210 may receive a signal from a user through a user interface (UI) or output an operation result to the outside.

구체적으로, 입출력부(210)는 사용자로부터 인공지능(AI) 학습을 위한 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다. 입출력부(210)는 사용자로부터 복수 개의 어노테이션 장치(300)에 대하여 어노테이션 작업을 분배하기 위한 할당량 등을 입력 받을 수 있다.Specifically, the input/output unit 210 may receive a control signal for designing a data structure for artificial intelligence (AI) learning from a user. The input/output unit 210 may receive input from a user, such as a quota for distributing annotation tasks to the plurality of annotation apparatuses 300 .

다음 구성으로, 데이터 구조 설계부(215)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터 구조를 설계할 수 있다.With the following configuration, the data structure design unit 215 may design a data structure for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle.

구체적으로, 데이터 구조 설계부(215)는 입출력부(110)를 통해 입력된 사용자의 제어를 기초로, 인공지능(AI)을 기계 학습시키기 위한 데이터 구조를 설계할 수 있다. 예를 들어, 데이터 구조 설계부(215)는 입력된 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다. Specifically, the data structure design unit 215 may design a data structure for machine learning of artificial intelligence (AI) based on the user's control input through the input/output unit 110 . For example, the data structure design unit 215 may define an ontology for artificial intelligence (AI) learning and a classification system for data for artificial intelligence (AI) learning based on the input user's control. .

다음 구성으로, 데이터 수집 및 정제부(220)는 데이터 구조 설계부(215)에 의해 설계된 데이터 구조를 기초로, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 수집 및 정제할 수 있다.With the following configuration, the data collection and refinement unit 220 collects and performs data for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle based on the data structure designed by the data structure design unit 215 . can be purified.

구체적으로, 데이터 수집 및 정제부(220)는 통신부(205)를 통해 학습 데이터 수집 장치(100)로부터 2D 이미지들 및 3D 점군 데이터들을 수신할 수 있다. 그러나, 이에 한정되지 아니하고, 데이터 수집 및 정제부(220)는 통신부(205)를 통해 웹 크롤링(crawling)을 수행하여 2D 이미지를 수집하거나, 또는 2D 이미지 및 3D 점군 데이터를 보유하고 있는 외부 기관의 장치로부터 데이터를 다운로드할 수도 있다.Specifically, the data collection and refinement unit 220 may receive 2D images and 3D point cloud data from the learning data collection apparatus 100 through the communication unit 205 . However, the present invention is not limited thereto, and the data collection and refinement unit 220 performs web crawling through the communication unit 205 to collect a 2D image, or an external institution that has 2D image and 3D point cloud data. You can also download data from your device.

데이터 수집 및 정제부(220)는 수신된 2D 이미지들 및 3D 점군 데이터들 중에서 중복되거나 또는 극히 유사한 이미지를 제거할 수 있다. 그리고, 데이터 수집 및 정제부(220)는 수집된 2D 이미지들 및 3D 점군 데이터들에 포함된 개인정보를 비식별화(de-identification)할 수 있다.The data collection and refinement unit 220 may remove duplicate or extremely similar images from among the received 2D images and 3D point cloud data. In addition, the data collection and refinement unit 220 may de-identify personal information included in the collected 2D images and 3D point cloud data.

다음 구성으로, 데이터 가공부(225)는 데이터 수집 및 정제부(220)에 의해 수집 및 정제된 데이터를 어노테이션 장치(300)에 배포하여 가공할 수 있다.With the following configuration, the data processing unit 225 may distribute and process the data collected and refined by the data collection and refinement unit 220 to the annotation device 300 .

특징적으로, 본 발명의 일 실시예에 따른 데이터 가공부(225)는 데이터 가공(즉, 어노테이션 작업) 과정에서, 로컬 컴퓨팅 장치에 해당하는 어노테이션 장치(300)의 컴퓨팅 파워 또는 네트워크 회선의 품질로부터 받게 되는 영향을 최소화시킬 수 있다.Characteristically, in the data processing (ie, annotation operation) process, the data processing unit 225 according to an embodiment of the present invention receives from the computing power of the annotation device 300 corresponding to the local computing device or the quality of the network line. impact can be minimized.

이와 같은 특징을 가지는, 데이터 가공부(225)의 구체적인 구성에 대해서는 추후 도 4를 참조하여 보다 구체적으로 설명하기로 한다.A detailed configuration of the data processing unit 225 having such a characteristic will be described in more detail later with reference to FIG. 4 .

다음 구성으로, 학습 데이터 생성부(230)는 데이터 가공부(225)에 의해 가공된 데이터를 기초로, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용될 수 있는 데이터를 생성할 수 있다.With the following configuration, the learning data generating unit 230 generates data that can be used for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle based on the data processed by the data processing unit 225 . can do.

구체적으로, 학습 데이터 생성부(230)는 가공된 데이터를 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 생성부(230)는 생성된 인공지능(AI) 학습용 데이터를 통신부(205)를 통해 인공지능 학습 장치(400)에 전송할 수 있다.Specifically, the learning data generator 230 may generate data for artificial intelligence (AI) learning by packaging the processed data. In addition, the learning data generating unit 230 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning apparatus 400 through the communication unit 205 .

이하, 상술한 바와 같은, 데이터 가공부(225)에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, as described above, the data processing unit 225 will be described in more detail.

도 4는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 데이터 가공부의 논리적 구성도이다.4 is a logical configuration diagram of a data processing unit of an apparatus for generating learning data according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 학습 데이터 생성 장치(200)의 데이터 가공부(225)는 2D 이미지 전처리 모듈(225-1), 3D 점군 전처리 모듈(225-2), 로컬 능력 대응 모듈(225-3), 배포 및 수집 모듈(225-4), 결과물 재작성 모듈(225-5) 및 동일 객체 후처리 모듈(225-6)을 포함하여 구성될 수 있다.As shown in FIG. 4 , the data processing unit 225 of the learning data generating apparatus 200 includes a 2D image preprocessing module 225-1, a 3D point cloud preprocessing module 225-2, and a local capability correspondence module 225- 3), the distribution and collection module 225-4, the result rewriting module 225-5, and the same object post-processing module 225-6 may be included.

이와 같은, 데이터 가공부(225)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the data processing unit 225 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. and can be implemented.

각각의 구성 요소에 대하여 설명하면, 2D 이미지 전처리 모듈(225-1)은 어노테이션 장치(300)를 이용한 데이터의 가공(즉, 어노테이션 작업)에 앞서, 2D 이미지들을 재압축(recompression)하여 그 용량을 감축시키는 전처리를 수행할 수 있다. Description of each component, the 2D image preprocessing module 225-1 recompresses the 2D images prior to data processing (ie, annotation operation) using the annotation device 300 to increase its capacity. A pretreatment to reduce it can be performed.

우선적으로, 2D 이미지 전처리 모듈(225-1)은 통신부(205)를 통해 수신된 2D 이미지들을 대상으로, 각각의 2D 이미지를 복수 개의 영역(sector)으로 구획할 수 있다.First, the 2D image pre-processing module 225 - 1 may divide each 2D image into a plurality of sectors with respect to the 2D images received through the communication unit 205 .

본 발명의 일 실시예에 따르면, 2D 이미지 전처리 모듈(225-1)은 2D 이미지의 엣지(edge)를 기준으로 영역을 구획할 수 있다. 구체적으로, 2D 이미지 전처리 모듈(225-1)은 LoG(Laplacian of Gaussian) 알고리즘 또는 DoG(Difference of Gaussian) 알고리즘 중 어느 하나를 이용하여, 각각의 2D 이미지에 대하여 엣지를 추출할 수 있다. According to an embodiment of the present invention, the 2D image pre-processing module 225-1 may partition a region based on an edge of the 2D image. Specifically, the 2D image preprocessing module 225 - 1 may extract an edge for each 2D image using either a Laplacian of Gaussian (LoG) algorithm or a Difference of Gaussian (DoG) algorithm.

LoG 알고리즘을 이용할 경우, 2D 이미지 전처리 모듈(225-1)은 가우시안 필터(Gaussian filter)를 이용하여 2D 이미지 내에 존재하는 잡음을 제거할 수 있다. 2D 이미지 전처리 모듈(225-1)은 잡음이 제거된 2D 이미지에 라플라시안 필터(Laplacian)를 적용할 수 있다. 그리고, 2D 이미지 전처리 모듈(225-1)은 라플라시안 필터가 적용된 이미지에 영교차(zerocrossing)을 검출하여 엣지를 추출할 수 있다.When using the LoG algorithm, the 2D image preprocessing module 225 - 1 may use a Gaussian filter to remove noise existing in the 2D image. The 2D image preprocessing module 225 - 1 may apply a Laplacian filter to the 2D image from which noise has been removed. In addition, the 2D image preprocessing module 225-1 may extract an edge by detecting zerocrossing in the image to which the Laplacian filter is applied.

DoG 알고리즘을 이용할 경우, 2D 이미지 전처리 모듈(225-1)은 2D 이미지로부터 분산이 서로 다른 가우시안 마스크(Gaussian mask)를 두 개 생성한다. 2D 이미지 전처리 모듈(225-1)은 생성된 하나의 마스크에서 다른 하나의 마스크를 뺀다. 그리고, 2D 이미지 전처리 모듈(225-1)은 뺀 마스크를 2D 이미지에 적용하여 엣지를 추출할 수 있다.When the DoG algorithm is used, the 2D image preprocessing module 225-1 generates two Gaussian masks having different variances from the 2D image. The 2D image preprocessing module 225 - 1 subtracts another mask from one generated mask. In addition, the 2D image preprocessing module 225 - 1 may extract an edge by applying the subtracted mask to the 2D image.

2D 이미지 전처리 모듈(225-1)은 엣지가 추출된 2D 이미지들을 이진화(binarization)할 수 있다. 그리고, 2D 이미지 전처리 모듈(225-1)은 이진화된 2D 이미지 내에서 엣지에 의해 폐쇄된 영역(enclosure)들을 기준으로, 2D 이미지 내에서 복수 개의 영역을 구획할 수 있다.The 2D image preprocessing module 225 - 1 may binarize the 2D images from which edges are extracted. In addition, the 2D image preprocessing module 225 - 1 may partition a plurality of regions in the 2D image based on enclosures closed by edges in the binarized 2D image.

이와 다르게, 본 발명의 다른 실시예에 따르면, 2D 이미지 전처리 모듈(225-1)은 단순히 사전에 설정된 그리드(grid) 크기를 기준으로 각각의 2D 이미지를 격자화함으로써, 2D 이미지 내에서 복수 개의 영역을 구획할 수도 있다. 전처리를 수행하여야 할 2D 이미지들에 대한 연산량을 감소시키기 위하여, 학습 데이터 생성 장치(200)는 단순히 그리드 크기를 기준으로 영역을 구획할 수 있는 것이다. Alternatively, according to another embodiment of the present invention, the 2D image pre-processing module 225-1 simply grids each 2D image based on a preset grid size, thereby providing a plurality of regions within the 2D image. can also be partitioned. In order to reduce the amount of computation on 2D images to be pre-processed, the training data generating apparatus 200 may simply partition regions based on the grid size.

다음으로, 2D 이미지 전처리 모듈(225-1)은 구획된 복수 개의 영역 각각에 대하여, 영역 내에 객체(object)가 존재할 확률을 산출할 수 있다. 구체적으로, 2D 이미지 전처리 모듈(225-1)은 2D 이미지들과 함께 수신된 3D 점군 데이터 내에서 2D 이미지로부터 구획된 복수 개의 영역에 대응하는 영역에 포함된 점들(points)의 거리 값들 중에서 최소 값과 사전에 설정된 식별 가능 거리 값의 차이를 기초로, 영역 내에 객체가 존재할 확률을 산출할 수 있다. Next, the 2D image preprocessing module 225 - 1 may calculate a probability that an object exists in each of the plurality of partitioned regions. Specifically, the 2D image pre-processing module 225-1 sets the minimum value among the distance values of points included in the region corresponding to the plurality of regions partitioned from the 2D image in the 3D point cloud data received together with the 2D images. A probability that an object exists in the area may be calculated based on a difference between the identifiable distance value and the preset identifiable distance value.

이 경우, 3D 점군 데이터는 2D 이미지가 차량에 고정 설치된 카메라에 의해 촬영된 시점과 동일한 시점에, 동일한 차량에 고정 설치된 라이다에 의해 획득된 데이터가 될 것이다.In this case, the 3D point cloud data will be data acquired by the lidar fixedly installed in the same vehicle at the same time point as when the 2D image is captured by the camera fixedly installed in the vehicle.

다음으로, 2D 이미지 전처리 모듈(225-1)은 산출된 확률이 사전에 설정된 임계 값 이상인 영역들을 중심으로, 각각의 2D 이미지들을 재압축할 수 있다.Next, the 2D image preprocessing module 225 - 1 may recompress each of the 2D images centering on regions in which the calculated probability is equal to or greater than a preset threshold value.

본 발명의 일 실시예에 따르면, 2D 이미지 전처리 모듈(225-1)은 2D 이미지 내의 구획된 영역들 중에서, 산출된 확률이 임계 값 이하인 영역의 데이터 값을 사전에 설정된 단일의 가비지(garbage) 값으로 대체할 수 있다.According to an embodiment of the present invention, the 2D image pre-processing module 225-1 sets the data value of a region in which the calculated probability is equal to or less than a threshold value among the partitioned regions in the 2D image to a preset single garbage value. can be replaced with

본 발명의 다른 실시예에 따르면, 2D 이미지 전처리 모듈(225-1)은 2D 이미지 내의 구획된 영역들 중에서, 산출된 확률이 임계 값 이하인 영역의 이미지 압축률을, 산출된 확률이 임계 값 이상인 영역의 이미지 압축률보다 높게 설정하여 재압축을 수행할 수 있다.According to another embodiment of the present invention, the 2D image pre-processing module 225-1 calculates the image compression rate of a region in which the calculated probability is less than or equal to a threshold value among the partitioned regions in the 2D image, Recompression can be performed by setting it higher than the image compression rate.

본 발명의 다른 실시예에 따르면, 2D 이미지 전처리 모듈(225-1)은 2D 이미지 내의 구획된 영역들 중에서, 산출된 확률이 임계 값 이하인 영역의 해상도(resolution)를, 산출된 확률이 임계 값 이상인 영역의 해상도보다 낮게 설정하여 재압축을 수행할 수 있다.According to another embodiment of the present invention, the 2D image pre-processing module 225 - 1 sets the resolution of a region in which the calculated probability is equal to or less than the threshold value among the partitioned regions in the 2D image, and the calculated probability is equal to or greater than the threshold value. Recompression can be performed by setting it lower than the resolution of the region.

본 발명의 다른 실시예에 따르면, 2D 이미지 전처리 모듈(225-1)은 2D 이미지 내의 구획된 모든 영역에 대하여 산출된 확률이 임계 값 이하인 경우, 해당 2D 이미지를 어노테이션 작업 대상에서 배제시킬 수도 있다.According to another embodiment of the present invention, the 2D image preprocessing module 225-1 may exclude the 2D image from the annotation operation target when the calculated probabilities for all the partitioned regions in the 2D image are less than or equal to a threshold value.

다음 구성으로, 3D 점군 전처리 모듈(225-2)은 어노테이션 장치(300)를 이용한 데이터의 가공(즉, 어노테이션 작업)에 앞서, 3D 점군 데이터들에 포함된 점들(points)의 거리 값을 기초로, 각각의 3D 점군 데이터의 용량을 감축시키는 전처리를 수행할 수 있다. With the following configuration, the 3D point cloud preprocessing module 225 - 2 is based on the distance values of points included in the 3D point cloud data prior to data processing (ie, annotation operation) using the annotation device 300 . , it is possible to perform preprocessing to reduce the capacity of each 3D point cloud data.

본 발명의 일 실시예에 따르면, 3D 점군 전처리 모듈(225-2)은 3D 점군 데이터에 포함된 점들의 특성에 따라, 각각의 3D 점군 데이터의 용량을 감축시키는 전처리를 수행할 수 있다. According to an embodiment of the present invention, the 3D point cloud preprocessing module 225 - 2 may perform preprocessing to reduce the capacity of each 3D point cloud data according to characteristics of points included in the 3D point cloud data.

구체적으로, 3D 점군 전처리 모듈(225-2)은 각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 추출하여 객체 후보(object candidate)들로 식별할 수 있다. 이 경우, 3D 점군 전처리 모듈(225-2)은 3D 점군 데이터들과 함께 수신된 2D 이미지 내에서 객체 후보에 대응하는 영역의 RGB(Red, Green, Blue) 값을 기초로, 식별된 객체 후보들에 대한 검증을 수행할 수 있다. Specifically, the 3D point cloud preprocessing module 225-2 extracts points forming a crowd within a preset threshold range from among points included in each 3D point cloud data, and uses them as object candidates. can be identified. In this case, the 3D point cloud pre-processing module 225 - 2 is configured to apply to the identified object candidates based on the RGB (Red, Green, Blue) values of the regions corresponding to the object candidates in the 2D image received together with the 3D point cloud data. verification can be performed.

3D 점군 전처리 모듈(225-2)은 식별된 객체 후보들을 구성하는 점들의 거리 값 또는 식별된 객체 후보들의 크기 값을 기초로, 3D 점군 데이터에 포함된 점들의 일부를 변경 또는 제거할 수 있다.The 3D point cloud preprocessing module 225 - 2 may change or remove some of the points included in the 3D point cloud data based on the distance values of points constituting the identified object candidates or the size values of the identified object candidates.

보다 상세하게, 3D 점군 전처리 모듈(225-2)은 3D 점군 데이터로부터 원거리 객체 후보를 구성하는 점들을 제거할 수 있다. 여기서, 원거리 객체 후보는 객체 후보를 구성하는 점들의 각 거리 값들 중에서 최소 거리 값이 사전에 설정된 임계 거리 이상인 객체 후보가 될 수 있다.In more detail, the 3D point cloud preprocessing module 225 - 2 may remove points constituting the distant object candidate from the 3D point cloud data. Here, the distant object candidate may be an object candidate having a minimum distance value equal to or greater than a preset threshold distance among distance values of points constituting the object candidate.

3D 점군 전처리 모듈(225-2)은 식별된 객체 후보들 각각에 대한 클래스(class)를 추정할 수 있다. 예를 들어, 3D 점군 전처리 모듈(225-2)은 객체 후보가 3D 점군 데이터 내에서 차지하는 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)와, 사전에 설정된 클래스별 크기(dimension) 범위를 대비하여, 객체 후보들 각각에 대한 클래스를 추정할 수 있다.The 3D point cloud preprocessing module 225 - 2 may estimate a class for each of the identified object candidates. For example, the 3D point cloud preprocessing module 225 - 2 determines the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis that the object candidate occupies in the 3D point cloud data in advance. A class for each of the object candidates may be estimated by preparing a set dimension range for each class.

3D 점군 전처리 모듈(225-2)은 각각의 객체 후보에 대하여 추정된 클래스와, 클래스의 유형별로 사전에 설정된 식별 가능 거리 값들을 기초로, 객체 후보들 각각에 대한 식별 가능 거리 값을 산출할 수 있다. 3D 점군 전처리 모듈(225-2)은 차량에 고정 설치된 라이다로부터 각 객체 후보까지의 거리 값과, 각각의 객체 후보들에 대하여 산출된 식별 가능 거리 값을 서로 대비하여, 3D 점군 데이터로부터 변경 또는 제거할 점들을 식별할 수 있다.The 3D point cloud preprocessing module 225-2 may calculate an identifiable distance value for each of the object candidates based on the class estimated for each object candidate and the identifiable distance values preset for each class type. . The 3D point cloud preprocessing module 225-2 compares the distance value from the lidar fixed installed in the vehicle to each object candidate with the identifiable distance value calculated for each object candidate, and changes or removes it from the 3D point cloud data points to be identified.

예를 들어, 3D 점군 전처리 모듈(225-2)은 라이다로부터의 거리 값이 산출된 식별 가능 거리 값 이상인 객체 후보를 구성하는 점들을 사전에 설정된 단일의 가비지 값으로 대체할 수 있다.For example, the 3D point cloud preprocessing module 225 - 2 may replace points constituting an object candidate whose distance from the lidar is equal to or greater than the calculated identifiable distance value with a single preset garbage value.

다른 예를 들어, 3D 점군 전처리 모듈(225-2)은 라이다로부터의 거리 값이 산출된 식별 가능 거리 값 이상인 객체 후보를 구성하는 점들을 3D 점군 데이터로부터 단순 제거할 수 있다.As another example, the 3D point cloud preprocessing module 225 - 2 may simply remove points constituting an object candidate whose distance from the lidar is equal to or greater than the calculated identifiable distance value from the 3D point cloud data.

또한, 3D 점군 전처리 모듈(225-2)은 각각의 객체 후보에 대하여 추정된 클래스를 기초로, 인공지능(AI) 기계 학습과 무관한 것으로 사전에 설정된 클래스의 유형으로 추정된 객체 후보를 구성하는 점들을 3D 점군 데이터로부터 변경 또는 제거할 점들로 식별할 수도 있다.In addition, the 3D point cloud preprocessing module 225-2 configures the estimated object candidate as the type of the class set in advance as irrelevant to artificial intelligence (AI) machine learning, based on the class estimated for each object candidate. Points may be identified as points to be changed or removed from the 3D point cloud data.

본 발명의 다른 실시예에 따르면, 3D 점군 전처리 모듈(225-2)은 3D 점군 데이터들에 포함된 동일한 객체들을 일괄적으로 처리함으로써, 각각의 3D 점군 데이터의 용량을 감축시키는 전처리를 수행할 수 있다. 이 경우, 3D 점군 데이터들은 차량에 고정 설치된 라이다를 통해 시계열적으로 연속하여 획득된 3D 점군 데이터가 될 수 있다.According to another embodiment of the present invention, the 3D point cloud preprocessing module 225-2 may perform preprocessing to reduce the capacity of each 3D point cloud data by collectively processing the same objects included in the 3D point cloud data. there is. In this case, the 3D point cloud data may be 3D point cloud data continuously acquired in time series through the lidar fixedly installed in the vehicle.

구체적으로, 3D 점군 전처리 모듈(225-2)은 3D 점군 데이터들에 포함된 객체 후보들의 클래스를 추정할 수 있다. 이를 위하여, 3D 점군 전처리 모듈(225-2)은 각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집을 형성하고 있는 점들을 추출하여 객체 후보들로 식별할 수 있다. 이 경우, 3D 점군 전처리 모듈(225-2)은 3D 점군 데이터들과 함께 수신된 2D 이미지 내에서 객체 후보에 대응하는 영역의 RGB 값을 기초로, 식별된 객체 후보들에 대한 검증을 수행할 수 있다. Specifically, the 3D point cloud preprocessing module 225 - 2 may estimate the class of object candidates included in the 3D point cloud data. To this end, the 3D point cloud preprocessing module 225 - 2 may extract points forming a cluster within a preset threshold range among points included in each 3D point cloud data and identify them as object candidates. In this case, the 3D point cloud preprocessing module 225 - 2 may verify the identified object candidates based on the RGB values of the regions corresponding to the object candidates in the 2D image received together with the 3D point cloud data. .

3D 점군 전처리 모듈(225-2)은 객체 후보가 3D 점군 데이터 내에서 차지하는 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이와, 사전에 설정된 클래스별 크기 범위를 대비하여, 식별된 객체 후보들 각각에 대한 클래스를 추정할 수 있다.The 3D point cloud preprocessing module 225-2 compares the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis that the object candidate occupies in the 3D point cloud data, and a preset size range for each class to identify the identified object candidates. You can infer a class for each.

3D 점군 전처리 모듈(225-2)은 추정된 클래스의 유형이 동일한 객체 후보들에 대한 3D 점군 데이터 내에서의 품질을 서로 비교하여, 클래스의 유형이 동일한 객체 후보들 중에서 하나의 기준 객체 후보를 선택할 수 있다. The 3D point cloud preprocessing module 225-2 compares the qualities in 3D point cloud data for object candidates having the same estimated class type with each other, and selects one reference object candidate from among object candidates having the same class type. .

예를 들어, 3D 점군 전처리 모듈(225-2)은 클래스의 유형이 동일한 객체 후보들 중에서 차량에 고정 설치된 라이다로부터의 거리가 최소인 점(point)을 포함하는 개체 후보를 기준 객체 후보로 선택할 수 있다.For example, the 3D point cloud preprocessing module 225-2 may select, as a reference object candidate, an object candidate including a point having a minimum distance from a lidar fixedly installed in a vehicle from among object candidates having the same class type. there is.

다른 예를 들어, 3D 점군 전처리 모듈(225-2)은 클래스의 유형이 동일한 객체 후보들 중에서 객체 후보를 구성하는 점들의 개수가 가장 많은 객체 후보를 기준 객체 후보로 선택할 수도 있다.As another example, the 3D point cloud preprocessing module 225 - 2 may select an object candidate having the largest number of points constituting the object candidate from among object candidates having the same class type as the reference object candidate.

기준 객체 후보를 선택하기에 앞서, 3D 점군 전처리 모듈(225-2)은 클래스의 유형이 동일한 객체 후보들의 크기(dimension)를 서로 대조하여, 클래스의 유형이 이질적인 객체 후보를 필터링할 수도 있다.Prior to selecting the reference object candidate, the 3D point cloud preprocessing module 225 - 2 may filter object candidates having heterogeneous class types by comparing dimensions of object candidates having the same class type with each other.

그리고, 3D 점군 전처리 모듈(225-2)은 클래스의 유형이 동일한 객체 후보들을 각각 구성하는 점들 중에서 기준 객체 후보를 구성하지 않는 점들을 3D 점군 데이터들로부터 제거할 수 있다.Also, the 3D point cloud preprocessing module 225 - 2 may remove points that do not constitute a reference object candidate among points that respectively constitute object candidates having the same class type from the 3D point cloud data.

다음 구성으로, 로컬 능력 대응 모듈(225-3)은 로컬 컴퓨팅 장치에 해당하는 어노테이션 장치(300)의 능력에 대응하여, 각각의 어노테이션 장치(300)에 배포할 2D 이미지들 및 3D 점군 데이터들에 대하여 전처리를 수행할 수 있다.With the following configuration, the local capability correspondence module 225 - 3 corresponds to the capability of the annotation device 300 corresponding to the local computing device, and corresponds to the 2D images and 3D point cloud data to be distributed to each annotation device 300 . can be pre-processed.

구체적으로, 로컬 능력 대응 모듈(225-3)은 복수 어노테이션 장치(300)들의 능력을 평가할 수 있다. 여기서, 어노테이션 장치(300)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 2D 이미지들 및 3D 점군 데이터들에 대하여 어노테이션 작업을 수행할 로컬 컴퓨팅 장치이다. 그리고, 로컬 능력 대응 모듈(225-3)은 평가된 어노테이션 장치(300)의 능력에 대응하여, 2D 이미지들 또는 3D 점군 데이터들을 재압축하여 각각의 용량을 감축시킬 수 있다. Specifically, the local capability correspondence module 225 - 3 may evaluate the capabilities of the plurality of annotation devices 300 . Here, the annotation device 300 is a local computing device to perform an annotation operation on 2D images and 3D point cloud data for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle. In addition, the local capability correspondence module 225 - 3 may reduce each capacity by recompressing 2D images or 3D point cloud data in response to the evaluated capability of the annotation apparatus 300 .

본 발명의 일 실시예에 따르면, 로컬 능력 대응 모듈(225-3)은 복수의 어노테이션 장치(300)들 각각에 대한 하드웨어 정보를 수집할 수 있다. 로컬 능력 대응 모듈(225-3)은 수집된 하드웨어 정보를 기초로 복수의 어노테이션 장치(300) 각각에 대한 연산 능력을 산출할 수 있다. 그리고, 로컬 능력 대응 모듈(225-3)은 산출된 연산 능력에 대응하여, 각각의 어노테이션 장치(300)에 전송할 2D 이미지들 또는 3D 점군 데이터들의 재압축 품질을 결정할 수 있다.According to an embodiment of the present invention, the local capability correspondence module 225 - 3 may collect hardware information for each of the plurality of annotation devices 300 . The local capability correspondence module 225 - 3 may calculate the arithmetic capability of each of the plurality of annotation devices 300 based on the collected hardware information. In addition, the local capability correspondence module 225 - 3 may determine the recompression quality of 2D images or 3D point cloud data to be transmitted to each annotation apparatus 300 in response to the calculated computational capability.

로컬 능력 대응 모듈(225-3)은 사전에 설정된 권장 연산 능력보다 낮은 연산 능력이 산출된 어노테이션 장치에 대하여 3D 점군 데이터를 전송하지 아니하고, 오직 2D 이미지들만 전송하도록 결정할 수도 있다.The local capability correspondence module 225 - 3 may determine not to transmit 3D point cloud data to the annotation device for which a computational capability lower than a preset recommended computational capability is calculated, but to transmit only 2D images.

본 발명의 다른 실시예에 따르면, 로컬 능력 대응 모듈(225-3)은 복수의 어노테이션 장치(300) 각각에 대하여 ICMP(Internet Control Message Protocol)의 신호를 전송한 후 응답까지 소요된 시간을 산출할 수 있다. 로컬 능력 대응 모듈(225-3)은 응답까지 소요된 시간에 대응하여 각각의 어노테이션 장치(300)에 전송할 2D 이미지들 또는 3D 점군 데이터들의 재압축 품질을 결정할 수 있다.According to another embodiment of the present invention, the local capability correspondence module 225-3 calculates the time taken until a response after transmitting an Internet Control Message Protocol (ICMP) signal to each of the plurality of annotation devices 300 . can The local capability correspondence module 225 - 3 may determine the recompression quality of 2D images or 3D point cloud data to be transmitted to each annotation apparatus 300 in response to a time taken until a response.

로컬 능력 대응 모듈(225-3)은 어노테이션 장치(300)에 대하여 ICMP의 PING 신호를 전송하여 식별된 홉(hop)의 개수가 사전에 설정된 임계 개수 이상인 어노테이션 장치(300)에 대하여, 2D 이미지들 및 3D 점군 데이터들의 전송 대상에서 배제시키도록 결정할 수도 있다.The local capability correspondence module 225-3 transmits an ICMP PING signal to the annotation device 300, and for the annotation device 300, the number of identified hops is equal to or greater than a preset threshold number, 2D images And it may be determined to exclude from the transmission target of the 3D point cloud data.

본 발명의 또 다른 실시예에 따르면, 로컬 능력 대응 모듈(225-3)은 복수의 어노테이션 장치(300)가 접속된 각 ISP(Internet Service Provider)의 대역폭(bandwidth) 정보를 수집할 수 있다. 로컬 능력 대응 모듈(225-3)은 수집된 대역폭 정보에 대응하여 각각의 어노테이션 장치(300)에 전송할 2D 이미지들 또는 3D 점군 데이터들의 재압축 품질을 결정할 수도 있다.According to another embodiment of the present invention, the local capability correspondence module 225 - 3 may collect bandwidth information of each Internet Service Provider (ISP) to which the plurality of annotation devices 300 are connected. The local capability correspondence module 225 - 3 may determine the recompression quality of 2D images or 3D point cloud data to be transmitted to each annotation device 300 in response to the collected bandwidth information.

다음 구성으로, 배포 및 수집 모듈(225-4)은 2D 이미지 전처리 모듈(225-1), 3D 점군 전처리 모듈(225-2) 또는 로컬 능력 대응 모듈(225-3)에 의해 전처리된 2D 이미지들 및 3D 점군 데이터들을 복수의 어노테이션 장치(300)에 배포 전송할 수 있다.With the following configuration, the distribution and collection module 225-4 performs 2D images preprocessed by the 2D image preprocessing module 225-1, the 3D point cloud preprocessing module 225-2, or the local capability correspondence module 225-3. And 3D point cloud data may be distributed and transmitted to the plurality of annotation devices 300 .

그 후, 배포 및 수집 모듈(225-4)은 복수의 어노테이션 장치(300) 각각으로부터 어노테이션 작업 결과물을 수신할 수 있다. Thereafter, the distribution and collection module 225 - 4 may receive an annotation work result from each of the plurality of annotation devices 300 .

특징적으로, 배포 및 수집 모듈(225-4)은 복수의 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신하지 아니하고, 어노테이션 장치(300)를 구성하고 있는 입출력장치의 제어 데이터를 수신할 수도 있다. 여기서, 입출력장치의 제어 데이터는 어노테이션 장치(300)가 2D 이미지 또는 3D 점군 데이터에 대하여 어노테이션 작업을 수행하는 과정에서 사용자가 입출력장치를 제어하기 위하여 입력한 하나 이상의 신호를 시계열적으로 저장한 데이터가 될 수 있다.Characteristically, the distribution and collection module 225 - 4 may receive control data of input/output devices constituting the annotation device 300 without receiving the results of the annotation work from the plurality of annotation devices 300 . Here, the control data of the input/output device is data stored in time series of one or more signals input by the user to control the input/output device while the annotation device 300 performs an annotation operation on the 2D image or 3D point cloud data. can be

다음 구성으로, 결과물 재작성 모듈(225-5)은 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신하지 아니하고, 입출력장치의 제어 데이터를 수신한 경우, 수신된 입출력장치의 제어 데이터를 기초로 2D 이미지들 및 3D 점군 데이터에 대한 어노테이션 작업을 수행할 수 있다.With the following configuration, when the result rewriting module 225-5 does not receive the annotation work result from the annotation device 300 and receives control data of the input/output device, a 2D image based on the received control data of the input/output device It is possible to perform annotation work on field and 3D point cloud data.

구체적으로, 결과물 재작성 모듈(225-5)은 입출력장치의 제어 데이터를 생성한 어노테이션 장치(300)의 하드웨어 정보에 대응하여 가상 머신(virtual machine)을 생성할 수 있다. 결과물 재작성 모듈(225-5)은 생성된 가상 머신 상에서 수신된 제어 데이터에 포함된 하나 이상의 신호를 생성 순서에 따라 처리하여 어노테이션 작업을 수행할 수 있다.Specifically, the result rewriting module 225-5 may generate a virtual machine in response to hardware information of the annotation device 300 that has generated control data of the input/output device. The result rewriting module 225 - 5 may perform an annotation operation by processing one or more signals included in the control data received on the generated virtual machine according to the generation order.

예를 들어, 어노테이션 장치(300)가 이벤트-주도 아키텍처에 따른 운영체제에 의해 구동되는 경우, 입출력장치의 제어 데이터에 포함된 하나 이상의 신호는 어노테이션 장치(200)의 입출력장치의 제어에 대응하여 운영체제에 의해 생성된 이벤트 메시지가 될 수 있다. 그리고, 어노테이션 장치(300)는 운영체제에 의해 생성된 이벤트 메시지가 선입선출 구조로 저장된 시스템 큐를 복제하여 입출력장치의 제어 데이터를 생성할 수도 있다. For example, when the annotation device 300 is driven by the operating system according to the event-driven architecture, one or more signals included in the control data of the input/output device are transmitted to the operating system in response to the control of the input/output device of the annotation device 200 . It can be an event message generated by Also, the annotation device 300 may generate control data of the input/output device by duplicating a system queue in which event messages generated by the operating system are stored in a first-in, first-out structure.

이 경우, 결과물 재작성 모듈(225-5)은 수신된 입출력장치의 제어 데이터로부터 이벤트 메시지를 하나씩 순서대로 꺼내어(dequeue) 메시지 처리 루프를 통해 처리함으로써, 어노테이션 작업을 수행할 수 있다. In this case, the result rewriting module 225-5 may perform the annotation work by sequentially dequeueing event messages from the received control data of the input/output device one by one and processing them through a message processing loop.

다음 구성으로, 동일 객체 후처리 모듈(225-6)은 기준 객체 후보에 대하여 처리된 어노테이션 작업 결과를, 동일한 객체 후보들을 포함하고 있었던 3D 점군 데이터에 대한 어노테이션 작업 결과물에 일괄적으로 반영할 수 있다.With the following configuration, the same object post-processing module 225 - 6 may collectively reflect the results of the annotation work processed on the reference object candidates to the results of the annotation work on the 3D point cloud data including the same object candidates. .

구체적으로, 클래스의 유형이 동일한 객체 후보들을 포함하고 있었던 3D 점군 데이터들에 대한 어노테이션 작업 결과물들 중에서, 오직 기준 객체 후보가 포함된 3D 점군 데이터를 수신한 어노테이션 장치(300)만이 동일한 객체 후보에 대한 어노테이션 작업을 수행하였을 것이다. 따라서, 동일 객체 후처리 모듈(225-6)은 클래스의 유형이 동일한 객체 후보들을 포함하고 있었던 3D 점군 데이터들에 대한 어노테이션 작업 결과물에 대하여, 기준 객체 후보에 대한 어노테이션 작업 결과를 일괄적으로 포함시킬 수 있다.Specifically, among the results of the annotation work on 3D point cloud data including object candidates having the same class type, only the annotation device 300 receiving the 3D point cloud data including the reference object candidate is the same object candidate. Annotation work would have been performed. Accordingly, the same object post-processing module 225-6 may collectively include the results of the annotation operation on the reference object candidate for the results of the annotation operation on the 3D point cloud data including object candidates having the same class type. can

그리고, 동일 객체 후처리 모듈(225-6)은 기준 객체 후보에 대한 어노테이션 작업 결과가 일괄적으로 반영된 객체들에 대하여, 동일한 트래킹 아이디(tracking identifier)를 부여할 수 있다. 여기서, 트래킹 아이디는 3D 점군 데이터로부터 동일한 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자가 될 수 있다.In addition, the same object post-processing module 225 - 6 may assign the same tracking identifier to the objects to which the results of the annotation operation on the reference object candidates are collectively reflected. Here, the tracking ID may be a unique identifier of an object assigned to track the same object from 3D point cloud data.

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

도 5는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 하드웨어 구성도이다.5 is a hardware configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.

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

프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 학습 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신할 수 있다. 입출력장치(265)는 학습 데이터 생성 장치(200)의 동작에 필요한 데이터를 입력 받고, 수집 및 전처리된 2D 이미지들, 3D 점군 데이터들, 어노테이션 작업 결과물을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement the operations and functions of the learning data generating apparatus 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 . . In the memory 255, the software 280a in which the method according to the embodiments of the present invention is implemented may be loaded. The transceiver 260 may transmit/receive data to and from the learning data collection apparatus 100 , the annotation apparatus 300 , and the artificial intelligence learning apparatus 400 . The input/output device 265 may receive data necessary for the operation of the learning data generating device 200 , and output collected and preprocessed 2D images, 3D point cloud data, and annotation work results. 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)을 기계 학습시키기 위한 2D 이미지들 및 3D 점군 데이터들에 대하여 어노테이션 작업을 수행할 복수의 어노테이션 장치의 능력을 평가하는 단계, 프로세서(250)가 송수신기(260)를 통해 상기 복수의 어노테이션 장치에 상기 2D 이미지들 및 3D 점군 데이터들을 배포한 후, 상기 전 처리된 복수의 어노테이션 장치 각각으로부터 입출력장치의 제어 데이터를 수신하는 단계, 및 프로세서(250)가 상기 수신된 입출력장치의 제어 데이터를 기초로, 상기 2D 이미지들 및 3D 점군 데이터들에 대한 어노테이션 작업을 수행하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to an embodiment of the present invention, the software 280a and 280b for implementing the annotation distribution processing method, resident in the memory 255 or stored in the storage 275, is used by the processor 250 for autonomous driving of the vehicle. Evaluating the capability of a plurality of annotation devices to annotate 2D images and 3D point cloud data for machine learning capable artificial intelligence (AI); After distributing the 2D images and 3D point cloud data to a plurality of annotation devices, receiving control data of the input/output device from each of the pre-processed plurality of annotation devices, and a processor 250 of the received input/output device. Based on the control data, it may be a computer program recorded in a recording medium to execute the step of performing an annotation operation on the 2D images and the 3D point cloud data.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 2D 이미지 전처리 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여 차량에 고정 설치된 카메라를 통해 촬영된 2D 이미지들을 상기 송수신기를 통해 수신하는 단계, 프로세서(250)가 상기 2D 이미지들을 재압축하여 용량을 감축시키는 단계, 및 프로세서(250)가 상기 용량이 감축된 2D 이미지들을 상기 송수신기(260)를 통해 복수의 어노테이션 장치에 배포하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 280a, 280b for implementing the 2D image pre-processing method, resident in the memory 255 or stored in the storage 275, is the processor 250 to be used for autonomous driving of the vehicle. Receiving 2D images photographed through a camera fixed in a vehicle to machine-learning capable artificial intelligence (AI) through the transceiver, the processor 250 recompressing the 2D images to reduce the capacity; and the processor 250 distributing the reduced capacity 2D images to a plurality of annotation devices through the transceiver 260 may be a computer program recorded on the recording medium.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계, 프로세서(250)가 상기 3D 점군 데이터들에 포함된 점들(points)의 거리 값을 기초로, 각각의 3D 점군 데이터의 용량을 감축시키는 단계, 및 프로세서(250)가 상기 용량이 감축된 3D 점군 데이터들을 송수신기(260)를 통해 복수의 어노테이션 장치에 배포하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, software 280a, 280b for implementing a method of reducing the data load of a 3D point cloud for annotation, resident in memory 255 or stored in storage 275, is processor 250 ) receiving 3D point cloud data obtained through the lidar fixed in the vehicle through the transceiver to machine-learning artificial intelligence (AI) that can be used for autonomous driving of the vehicle, the processor 250 receiving the 3D point cloud reducing the capacity of each 3D point cloud data based on the distance value of points included in the data, and the processor 250 transmits the reduced capacity 3D point cloud data through the transceiver 260 . It may be a computer program recorded on a recording medium in order to execute the step of distributing it to the annotation device.

본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된, 3D 점군 데이터 일괄 처리 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여 차량에 고정 설치된 라이다를 통해 획득된 3D 점군 데이터들을 상기 송수신기(260)를 통해 수신하는 단계, 프로세서(250)가 상기 3D 점군 데이터들에 포함된 객체 후보들의 클래스를 추정하는 단계, 프로세서(250)가 상기 클래스의 유형이 동일한 객체 후보들에 대한 상기 3D 점군 데이터들 내에서의 품질을 서로 대비하여, 상기 클래스의 유형이 동일한 객체 후보들 중에서 하나의 기준 객체 후보를 선택하는 단계, 및 상기 프로세서(250)가 상기 선택된 기준 객체 후보를 기초로 상기 3D 점군 데이터에 포함된 점들의 일부를 제거한 이후, 상기 송수신기를 통해 복수의 어노테이션 장치들에 배포하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the 3D point cloud data batch processing method, resident in the memory 255 or stored in the storage 275, the processor 250 is autonomous of the vehicle. Receiving, through the transceiver 260, 3D point cloud data acquired through a lidar fixedly installed in a vehicle to machine-learning an artificial intelligence (AI) that can be used for driving, by a processor 250, the 3D point cloud data estimating the class of object candidates included in , the processor 250 compares the quality in the 3D point cloud data for the object candidates having the same class type, among the object candidates having the same class type Selecting one reference object candidate, and after the processor 250 removes some of the points included in the 3D point cloud data based on the selected reference object candidate, distribution to a plurality of annotation devices through the transceiver It may be a computer program recorded on a recording medium to execute the steps.

보다 구체적으로, 프로세서(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 provides 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, etc. may be implemented.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler. 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 및 도 7은 본 발명의 몇몇 실시예에 따라 복수 개의 영역으로 구획된 2D 이미지를 설명하기 위한 예시도이다. 그리고, 도 8 및 도 9는 본 발명의 몇몇 실시예에 따라 용량이 감축된 2D 이미지를 설명하기 위한 예시도이다.6 and 7 are exemplary views for explaining a 2D image partitioned into a plurality of regions according to some embodiments of the present invention. 8 and 9 are exemplary views for explaining a 2D image with reduced capacity according to some embodiments of the present invention.

본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 어노테이션 장치(300)를 이용한 데이터 가공(즉, 어노테이션 작업)에 앞서, 2D 이미지들의 용량을 감축시키는 전처리를 수행할 수 있다.The learning data generating apparatus 200 according to an embodiment of the present invention may perform preprocessing for reducing the capacity of 2D images prior to data processing (ie, annotation operation) using the annotation apparatus 300 .

구체적으로, 학습 데이터 생성 장치(200)는 2D 이미지들을 대상으로, 각각의 2D 이미지를 복수 개의 영역으로 구획할 수 있다. Specifically, the learning data generating apparatus 200 may divide each 2D image into a plurality of regions with respect to the 2D images.

도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 2D 이미지에 대하여 엣지(edge)를 추출하고, 엣지가 추출된 2D 이미지를 이진화한 후, 2D 이미지 내에서 엣지에 의해 폐쇄된 영역들을 기준으로 2D 이미지 내에서 복수 개의 영역을 구획할 수 있다. As shown in FIG. 6 , the learning data generating apparatus 200 according to an embodiment of the present invention extracts an edge with respect to a 2D image, and after binarizing the 2D image from which the edge is extracted, within the 2D image A plurality of regions may be partitioned in the 2D image based on regions closed by edges.

도 7에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 학습 데이터 생성 장치(200)는 단순히 사전에 설정된 그리드(grid) 크기를 기준으로 각각의 2D 이미지를 격자화함으로써, 2D 이미지 내에서 복수 개의 영역을 구획할 수도 있다.As shown in FIG. 7 , the apparatus 200 for generating learning data according to another embodiment of the present invention simply lattices each 2D image based on a preset grid size, so that a plurality of It is also possible to partition the domains of dogs.

다음으로, 학습 데이터 생성 장치(200)는 구획된 복수 개의 영역 각각에 대하여, 영역 내에 객체(object)가 존재할 확률을 산출할 수 있다. 예를 들어, 학습 데이터 생성 장치(200)는 2D 이미지들과 함께 수신된 3D 점군 데이터 내에서 2D 이미지로부터 구획된 복수 개의 영역에 대응하는 영역에 포함된 점들의 거리 값들 중에서 최소 값과 사전에 설정된 식별 가능 거리 값의 차이를 기초로, 영역 내에 객체가 존재할 확률을 산출할 수 있다. 이 경우, 3D 점군 데이터는 2D 이미지가 차량에 고정 설치된 카메라에 의해 촬영된 시점과 동일한 시점에, 동일한 차량에 고정 설치된 라이다에 의해 획득된 데이터가 될 것이다.Next, the learning data generating apparatus 200 may calculate a probability that an object exists in each of the plurality of partitioned regions. For example, the training data generating apparatus 200 may include a minimum value and a preset value among distance values of points included in an area corresponding to a plurality of areas partitioned from the 2D image in the 3D point cloud data received together with the 2D images. Based on the difference in the identifiable distance values, the probability that the object exists in the area may be calculated. In this case, the 3D point cloud data will be data acquired by the lidar fixedly installed in the same vehicle at the same time point as when the 2D image is captured by the camera fixedly installed in the vehicle.

다음으로, 학습 데이터 생성 장치(200)는 산출된 확률이 사전에 설정된 임계 값 이상인 영역들을 중심으로, 각각의 2D 이미지들을 재압축할 수 있다.Next, the learning data generating apparatus 200 may recompress each of the 2D images centering on regions in which the calculated probability is equal to or greater than a preset threshold value.

도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 2D 이미지 내의 구획된 영역들 중에서, 산출된 확률이 임계 값 이하인 영역의 데이터 값을 사전에 설정된 단일의 가비지(garbage) 값으로 대체할 수 있다.As shown in FIG. 8 , the apparatus 200 for generating learning data according to an embodiment of the present invention sets the data value of a region in which the calculated probability is equal to or less than a threshold value among the partitioned regions in the 2D image to a preset single value. It can be replaced with a garbage value.

도 9에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 학습 데이터 생성 장치(200)는 2D 이미지 내의 구획된 영역들 중에서, 산출된 확률이 임계 값 이하인 영역의 이미지 압축률을, 산출된 확률이 임계 값 이상인 영역의 이미지 압축률보다 높게 설정하여 재압축을 수행할 수 있다. As shown in FIG. 9 , the apparatus 200 for generating learning data according to another embodiment of the present invention calculates the image compression rate of the region in which the calculated probability is less than or equal to the threshold value among the partitioned regions in the 2D image, the calculated probability is Recompression may be performed by setting the image compression rate higher than the image compression rate of the region greater than the threshold value.

또한, 본 발명의 또 다른 실시예에 따른 학습 데이터 생성 장치(200)는 2D 이미지 내의 구획된 영역들 중에서, 산출된 확률이 임계 값 이하인 영역의 해상도(resolution)를, 산출된 확률이 임계 값 이상인 영역의 해상도보다 낮게 설정하여 재압축을 수행할 수도 있다.In addition, the apparatus 200 for generating learning data according to another embodiment of the present invention determines the resolution of an area in which the calculated probability is equal to or less than the threshold value among the partitioned areas in the 2D image, and the calculated probability is equal to or greater than the threshold value. Recompression may be performed by setting it lower than the resolution of the region.

따라서, 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 2D 이미지들 내에서 객체가 존재할 확률이 상대적으로 낮은 영역들을 전처리하여 그 용량을 감축함으로써, 어노테이션 작업 결과에 대한 영향을 최소화하며, 동시에 로컬 컴퓨팅 장치와 데이터를 송수신하는 네트워크 회선의 대역폭과 응답 속도에 따른 영향을 낮출 수 있다.Accordingly, the learning data generating apparatus 200 according to the embodiments of the present invention preprocesses regions with a relatively low probability of an object in the 2D images to reduce the capacity, thereby minimizing the influence on the annotation work result, , it is possible to reduce the impact of the bandwidth and response speed of the network line that transmits and receives data to and from the local computing device at the same time.

도 10은 본 발명의 일 실시예에 따라 식별된 객체 후보들을 설명하기 위한 예시도이다. 도 11은 본 발명의 일 실시예에 따라 객체 후보의 클래스를 추정하는 과정을 설명하기 위한 예시도이다. 그리고, 도 12는 본 발명의 일 실시예에 따라 용량이 감축된 3D 점군 데이터를 설명하기 위한 예시도이다.10 is an exemplary diagram for describing identified object candidates according to an embodiment of the present invention. 11 is an exemplary diagram for explaining a process of estimating a class of an object candidate according to an embodiment of the present invention. And, FIG. 12 is an exemplary diagram for explaining 3D point cloud data with reduced capacity according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 어노테이션 장치(300)를 이용한 데이터 가공(즉, 어노테이션 작업)에 앞서, 3D 점군 데이터들의 용량을 감축시키는 전처리를 수행할 수 있다.The training data generating apparatus 200 according to an embodiment of the present invention may perform preprocessing for reducing the capacity of 3D point cloud data prior to data processing (ie, annotation operation) using the annotation apparatus 300 .

구체적으로, 도 10에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 추출하여 객체 후보(object candidate)들로 식별할 수 있다. 이 경우, 학습 데이터 생성 장치(200)는 3D 점군 데이터들과 함께 수신된 2D 이미지 내에서 객체 후보에 대응하는 영역의 RGB 값을 기초로, 식별된 객체 후보들에 대한 검증을 수행할 수 있다. Specifically, as shown in FIG. 10 , the learning data generating apparatus 200 extracts points forming a cluster within a preset threshold range from among the points included in each 3D point cloud data to be object candidates. (object candidates) can be identified. In this case, the training data generating apparatus 200 may verify the identified object candidates based on the RGB values of the regions corresponding to the object candidates in the 2D image received together with the 3D point cloud data.

도 11에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 식별된 객체 후보들 각각에 대하여, 3D 점군 데이터 내에서 차지하는 X축 상의 폭(w), Y축 상의 높이(h) 및 Z축 상의 깊이(d)와, 사전에 설정된 클래스별 크기(dimension) 범위를 대비하여, 객체 후보들 각각에 대한 클래스를 추정할 수 있다.As shown in FIG. 11 , the learning data generating apparatus 200 occupies the 3D point cloud data in the X-axis width w, the Y-axis height h, and the Z-axis depth for each of the identified object candidates. In comparison with (d) and a preset dimension range for each class, a class for each of the object candidates may be estimated.

학습 데이터 생성 장치(200)는 각각의 객체 후보에 대하여 추정된 클래스와, 클래스의 유형별로 사전에 설정된 식별 가능 거리 값들을 기초로, 객체 후보들 각각에 대한 식별 가능 거리 값을 산출할 수 있다.The learning data generating apparatus 200 may calculate an identifiable distance value for each of the object candidates based on the class estimated for each object candidate and the identifiable distance values preset for each class type.

도 12에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 차량(10)에 고정 설치된 라이다로부터의 거리 값이 식별 가능 거리 값 이상인 객체 후보들을 대상으로, 객체 후보를 구성하는 점들을 사전에 설정된 가비지 값으로 대체하거나, 또는 3D 점군 데이터로부터 제거할 수 있다.As shown in FIG. 12 , the learning data generating apparatus 200 determines in advance the points constituting the object candidates with respect to the object candidates whose distance value from the lidar fixedly installed in the vehicle 10 is equal to or greater than the identifiable distance value. It can be replaced with a set garbage value or removed from the 3D point cloud data.

따라서, 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 3D 점군 데이터들 내에서 객체를 식별하지 못할 정도로 품질이 낮은 점군들을 전처리하여 그 용량을 감축함으로써, 어노테이션 작업 결과에 대한 영향을 최소화하며, 동시에 로컬 컴퓨팅 장치와 데이터를 송수신하는 네트워크 회선의 대역폭과 응답 속도에 따른 영향을 낮출 수 있다.Accordingly, the learning data generating apparatus 200 according to the embodiments of the present invention preprocesses point clouds of low quality to the extent that an object cannot be identified in the 3D point cloud data and reduces the capacity, thereby reducing the impact on the annotation operation result. It is possible to minimize the impact on the bandwidth and response speed of the network line that transmits and receives data to and from the local computing device at the same time.

도 13은 본 발명의 일 실시예에 따라 기준 객체 후보를 선택하는 과정을 설명하기 위한 예시도이다. 그리고, 도 14는 본 발명의 일 실시예에 따라 기준 객체 후보에 대한 작업 결과를 일괄 적용하는 과정을 설명하기 위한 예시도이다.13 is an exemplary diagram for explaining a process of selecting a reference object candidate according to an embodiment of the present invention. And, FIG. 14 is an exemplary diagram for explaining a process of collectively applying a work result to a reference object candidate according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 3D 점군 데이터들에 포함된 동일한 객체들을 일괄적으로 처리함으로써, 각각의 3D 점군 데이터의 용량을 감축시키는 전처리를 수행할 수 있다. 이 경우, 3D 점군 데이터들은 차량에 고정 설치된 라이다를 통해 시계열적으로 연속하여 획득된 3D 점군 데이터가 될 수 있다.The training data generating apparatus 200 according to an embodiment of the present invention may perform preprocessing for reducing the capacity of each 3D point cloud data by collectively processing the same objects included in the 3D point cloud data. In this case, the 3D point cloud data may be 3D point cloud data continuously acquired in time series through the lidar fixedly installed in the vehicle.

구체적으로, 도 13에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 3D 점군 데이터들에 포함된 객체 후보들의 클래스를 추정할 수 있다. 이를 위하여, 학습 데이터 생성 장치(200)는 각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집을 형성하고 있는 점들을 추출하여 객체 후보들로 식별할 수 있다. 학습 데이터 생성 장치(200)는 객체 후보가 3D 점군 데이터 내에서 차지하는 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이와, 사전에 설정된 클래스별 크기 범위를 대비하여, 식별된 객체 후보들 각각에 대한 클래스를 추정할 수 있다.Specifically, as shown in FIG. 13 , the training data generating apparatus 200 may estimate the classes of object candidates included in the 3D point cloud data. To this end, the learning data generating apparatus 200 may extract points forming a cluster within a preset threshold range among points included in each 3D point cloud data and identify them as object candidates. The learning data generating apparatus 200 compares the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis that the object candidate occupies in the 3D point cloud data, and a preset size range for each class, to each of the identified object candidates. class can be estimated.

학습 데이터 생성 장치(200)는 추정된 클래스의 유형이 동일한 객체 후보들에 대한 3D 점군 데이터 내에서의 품질을 서로 비교하여, 클래스의 유형이 동일한 객체 후보들 중에서 하나의 기준 객체 후보를 선택할 수 있다. 기준 객체 후보를 선택하기에 앞서, 학습 데이터 생성 장치(200)는 클래스의 유형이 동일한 객체 후보들의 크기(dimension)를 서로 대조하여, 클래스의 유형이 이질적인 객체 후보를 필터링할 수도 있다.The learning data generating apparatus 200 may select one reference object candidate from among object candidates having the same class type by comparing the qualities in the 3D point cloud data of object candidates having the same estimated class type. Prior to selecting a reference object candidate, the learning data generating apparatus 200 may filter object candidates having different class types by comparing dimensions of object candidates having the same class type with each other.

예를 들어, 학습 데이터 생성 장치(200)는 클래스의 유형이 동일한 객체 후보들 중에서 차량에 고정 설치된 라이다로부터의 거리가 최소인 점(point)을 포함하는 개체 후보를 기준 객체 후보로 선택할 수 있다.For example, the learning data generating apparatus 200 may select an object candidate including a point having a minimum distance from a lidar fixedly installed in a vehicle from among object candidates having the same class type as the reference object candidate.

다른 예를 들어, 학습 데이터 생성 장치(200)는 클래스의 유형이 동일한 객체 후보들 중에서 객체 후보를 구성하는 점들의 개수가 가장 많은 객체 후보를 기준 객체 후보로 선택할 수도 있다.As another example, the learning data generating apparatus 200 may select an object candidate having the largest number of points constituting the object candidate from among object candidates having the same class type as the reference object candidate.

그리고, 학습 데이터 생성 장치(200)는 클래스의 유형이 동일한 객체 후보들을 각각 구성하는 점들 중에서 기준 객체 후보를 구성하지 않는 점들을 3D 점군 데이터들로부터 제거할 수 있다.Also, the learning data generating apparatus 200 may remove points that do not constitute a reference object candidate among points that respectively constitute object candidates having the same class type from the 3D point cloud data.

도 14에 도시된 바와 같이, 복수의 어노테이션 장치(300)들로부터 어노테이션 작업 결과물을 수신 이후, 학습 데이터 생성 장치(200)는 클래스의 유형이 동일한 객체 후보들을 포함하고 있었던 3D 점군 데이터들에 대한 어노테이션 작업 결과물에 대하여, 기준 객체 후보에 대한 어노테이션 작업 결과를 일괄적으로 포함시킬 수 있다.As shown in FIG. 14 , after receiving the annotation work results from the plurality of annotation apparatuses 300 , the training data generating apparatus 200 annotates 3D point cloud data including object candidates having the same class type. With respect to the work result, it is possible to collectively include the result of the annotation work on the reference object candidate.

그리고, 학습 데이터 생성 장치(200)는 기준 객체 후보에 대한 어노테이션 작업 결과가 일괄적으로 반영된 객체들에 대하여, 동일한 트래킹 아이디를 부여할 수 있다.In addition, the learning data generating apparatus 200 may give the same tracking ID to the objects to which the results of the annotation operation for the reference object candidates are collectively reflected.

따라서, 본 발명의 실시예들에 따른 학습 데이터 생성 장치(200)는 3D 점군 데이터들 내의 동일한 객체에 대한 점군들 중에서 상대적으로 최고 품질을 가지는 하나의 객체만을 선택하여 데이터 가공을 수행한 이후 나머지 3D 점군 데이터들에 일괄 적용함으로써, 어노테이션 작업 대상이 되는 3D 점군 데이터들의 용량을 감소시킴과 동시에 어노테이션 작업 결과물의 품질을 향상시킬 수 있다.Accordingly, the learning data generating apparatus 200 according to embodiments of the present invention selects only one object having a relatively highest quality from among point clouds for the same object in 3D point cloud data and performs data processing on the remaining 3D point cloud data. By collectively applying the point cloud data, it is possible to reduce the capacity of 3D point cloud data to be annotated and to improve the quality of the result of the annotation work.

도 15는 본 발명의 일 실시예에 따라 로컬 장치의 능력을 평가하는 과정을 설명하기 위한 예시도이다. 그리고, 도 16은 본 발명의 일 실시예에 따라 어노테이션 작업 결과물을 재작성하는 과정을 설명하기 위한 예시도이다.15 is an exemplary diagram for explaining a process of evaluating the capability of a local device according to an embodiment of the present invention. And, FIG. 16 is an exemplary diagram for explaining a process of rewriting an annotation work result according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 로컬 컴퓨팅 장치에 해당하는 어노테이션 장치(300)의 능력에 대응하여, 각각의 어노테이션 장치(300)에 배포할 2D 이미지들 및 3D 점군 데이터들에 대하여 전처리를 수행할 수 있다.The training data generating apparatus 200 according to an embodiment of the present invention corresponds to the capability of the annotation device 300 corresponding to the local computing device, and 2D images and 3D point cloud data to be distributed to each annotation device 300 . can be pre-processed.

도 15에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 복수 어노테이션 장치(300)들의 능력을 평가할 수 있다. 구체적으로, 학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300)들 각각에 대한 하드웨어 정보를 수집할 수 있다. 학습 데이터 생성 장치(200)는 수집된 하드웨어 정보를 기초로, 복수의 어노테이션 장치(300) 각각에 대한 연산 능력을 산출할 수 있다.15 , the learning data generating apparatus 200 may evaluate the capabilities of the plurality of annotation apparatuses 300 . Specifically, the learning data generating apparatus 200 may collect hardware information for each of the plurality of annotation apparatuses 300 . The learning data generating apparatus 200 may calculate the arithmetic capability of each of the plurality of annotation apparatuses 300 based on the collected hardware information.

학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300) 각각에 대하여 ICMP의 신호를 전송한 후 응답까지 소요된 시간을 산출할 수 있다. 학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300)가 접속된 각 ISP의 대역폭 정보를 수집할 수 있다. 학습 데이터 생성 장치(200)는 산출된 ICMP의 신호를 전송한 후 응답까지 소요된 시간과 ISP의 대역폭 정보를 기초로, 복수의 어노테이션 장치(300) 각각에 대한 네트워킹 능력을 산출할 수 있다.The training data generating apparatus 200 may calculate a time taken until a response after transmitting the ICMP signal to each of the plurality of annotation apparatuses 300 . The learning data generating apparatus 200 may collect bandwidth information of each ISP to which the plurality of annotation apparatuses 300 are connected. The training data generating apparatus 200 may calculate the networking capability of each of the plurality of annotation apparatuses 300 based on the time taken from transmission of the calculated ICMP signal to the response and bandwidth information of the ISP.

그리고, 학습 데이터 생성 장치(200)는 평가된 어노테이션 장치(300)의 연산 능력 및 네트워킹 능력에 대응하여, 2D 이미지들 또는 3D 점군 데이터들을 재압축하여 각각의 용량을 감축시킬 수 있다. In addition, the training data generating apparatus 200 may reduce the capacity of each of the 2D images or 3D point cloud data by recompressing the 2D images or 3D point cloud data in response to the evaluated computational capability and networking capability of the annotation apparatus 300 .

한편, 도 16에 도시된 바와 같이, 학습 데이터 생성 장치(200)는 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신하지 아니하고, 입출력장치의 제어 데이터를 수신할 수 있다.Meanwhile, as shown in FIG. 16 , the learning data generating apparatus 200 may receive control data of the input/output device without receiving an annotation work result from the annotation apparatus 300 .

이 경우, 학습 데이터 생성 장치(200)는 입출력장치의 제어 데이터를 생성한 어노테이션 장치(300)의 하드웨어 정보에 대응하여 가상 머신을 생성할 수 있다. 그리고, 학습 데이터 생성 장치(200)는 생성된 가상 머신 상에서 수신된 제어 데이터에 포함된 하나 이상의 신호를 생성 순서에 따라 처리하여 어노테이션 작업을 수행할 수 있다.In this case, the learning data generating apparatus 200 may generate a virtual machine in response to hardware information of the annotation apparatus 300 that has generated control data of the input/output device. In addition, the training data generating apparatus 200 may perform an annotation operation by processing one or more signals included in the control data received on the generated virtual machine according to the generation order.

예를 들어, 어노테이션 장치(300)가 이벤트-주도 아키텍처에 따른 운영체제에 의해 구동되는 경우, 입출력장치의 제어 데이터에 포함된 하나 이상의 신호는 어노테이션 장치(200)의 입출력장치의 제어에 대응하여 운영체제에 의해 생성된 이벤트 메시지가 될 수 있다. 그리고, 어노테이션 장치(300)는 운영체제에 의해 생성된 이벤트 메시지가 선입선출 구조로 저장된 시스템 큐를 복제하여 입출력장치의 제어 데이터를 생성할 수도 있다. For example, when the annotation device 300 is driven by the operating system according to the event-driven architecture, one or more signals included in the control data of the input/output device are transmitted to the operating system in response to the control of the input/output device of the annotation device 200 . It can be an event message generated by Also, the annotation device 300 may generate control data of the input/output device by duplicating a system queue in which event messages generated by the operating system are stored in a first-in, first-out structure.

그리고, 학습 데이터 생성 장치(200)는 수신된 입출력장치의 제어 데이터로부터 이벤트 메시지를 하나씩 순서대로 꺼내어 메시지 처리 루프를 통해 처리함으로써, 어노테이션 작업을 수행할 수 있다.In addition, the learning data generating apparatus 200 may perform an annotation operation by sequentially taking out event messages one by one from the received control data of the input/output device and processing them through a message processing loop.

이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 학습 데이터 생성 장치(200)의 동작에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, the operation of the learning data generating apparatus 200 according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.

도 17은 본 발명의 일 실시예에 따른 학습 데이터 생성 방법을 설명하기 위한 순서도이다.17 is a flowchart illustrating a method of generating learning data according to an embodiment of the present invention.

도 17을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터 구조를 설계할 수 있다(S100). 예를 들어, 학습 데이터 생성 장치(200)는 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.Referring to FIG. 17 , the learning data generating apparatus 200 according to an embodiment of the present invention may design a data structure for machine learning artificial intelligence (AI) that can be used for autonomous driving of a vehicle (S100). . For example, the learning data generating apparatus 200 may define an ontology for artificial intelligence (AI) learning and a classification system for data for artificial intelligence (AI) learning.

학습 데이터 생성 장치(200)는 설계된 데이터 구조를 기초로, 학습 데이터 수집 장치(100)로부터 2D 이미지들 및 3D 점군 데이터들을 수신할 수 있다(S200). 그러나, 이에 한정되지 아니하고, 학습 데이터 생성 장치(200)는 웹 크롤링을 수행하여 2D 이미지를 수집하거나, 또는 2D 이미지 및 3D 점군 데이터를 보유하고 있는 외부 기관의 장치로부터 데이터를 다운로드할 수도 있다.The learning data generating apparatus 200 may receive 2D images and 3D point cloud data from the learning data collecting apparatus 100 based on the designed data structure ( S200 ). However, the present invention is not limited thereto, and the learning data generating apparatus 200 may perform web crawling to collect 2D images, or may download data from an external device having 2D image and 3D point cloud data.

학습 데이터 생성 장치(200)는 수신된 2D 이미지들 및 3D 점군 데이터들 중에서 중복되거나 또는 극히 유사한 이미지를 제거하고, 2D 이미지들 및 3D 점군 데이터들에 포함된 개인정보를 비식별화하여 데이터 정제를 수행할 수 있다(S300).The training data generating apparatus 200 removes duplicate or extremely similar images from among the received 2D images and 3D point cloud data, and de-identifies personal information included in the 2D images and 3D point cloud data to perform data purification. can be performed (S300).

학습 데이터 생성 장치(200)는 수집 및 정제된 데이터를 어노테이션 장치(300)에 배포하여 데이터를 가공할 수 있다(S400). 이와 같은, 데이터 가공 단계에 대해서는 도 18을 참조하여 후술하기로 한다.The learning data generating apparatus 200 may process the data by distributing the collected and refined data to the annotation apparatus 300 ( S400 ). Such a data processing step will be described later with reference to FIG. 18 .

학습 데이터 생성 장치(200)는 가공된 데이터를 패키징하여, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용될 수 있는 데이터를 생성할 수 있다(S500). The learning data generating apparatus 200 may package the processed data to generate data that can be used for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle (S500).

그리고, 학습 데이터 생성 장치(200)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다(S600).And, the learning data generating apparatus 200 may transmit the generated artificial intelligence (AI) learning data to the artificial intelligence learning apparatus 400 (S600).

도 18은 본 발명의 일 실시예에 따른 데이터 가공 방법을 설명하기 위한 순서도이다. 18 is a flowchart illustrating a data processing method according to an embodiment of the present invention.

도 18을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 2D 이미지들 및 3D 점군 데이터들을 대상으로, 그 용량을 감축시키기 위한 전처리를 수행할 수 있다(S410).Referring to FIG. 18 , the learning data generating apparatus 200 according to an embodiment of the present invention may perform preprocessing to reduce the capacity of 2D images and 3D point cloud data ( S410 ).

구체적으로, 학습 데이터 생성 장치(200)는 각각의 2D 이미지를 복수 개의 영역으로 구획하고, 구획된 복수 개의 영역 각각에 대하여 영역 내에 객체가 존재할 확률을 산출하고, 산출된 확률이 사전에 설정된 임계 값 이상인 영역들을 중심으로 각각의 2D 이미지들을 재압축할 수 있다.Specifically, the learning data generating apparatus 200 divides each 2D image into a plurality of regions, calculates a probability that an object exists in the region for each of the plurality of partitioned regions, and the calculated probability is a preset threshold value Each of the 2D images may be recompressed based on the abnormal regions.

학습 데이터 생성 장치(200)는 각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집을 형성하고 있는 점들을 추출하여 객체 후보들로 식별하고, 식별된 객체 후보들을 구성하는 점들의 거리 값 또는 식별된 객체 후보들의 크기 값을 기초로, 3D 점군 데이터에 포함된 점들의 일부를 변경 또는 제거할 수 있다.The learning data generating apparatus 200 extracts points forming a cluster within a preset threshold range among points included in each 3D point cloud data, identifies them as object candidates, and the distances between points constituting the identified object candidates. Based on the value or the size value of the identified object candidates, some of the points included in the 3D point cloud data may be changed or removed.

또한, 학습 데이터 생성 장치(200)는 각각의 3D 점군 데이터들에 포함된 객체 후보들의 클래스를 추정하고, 추정된 클래스의 유형이 동일한 객체 후보들에 대한 3D 점군 데이터 내에서의 품질을 서로 비교하여 클래스의 유형이 동일한 객체 후보들 중에서 하나의 기준 객체 후보를 선택하고, 클래스의 유형이 동일한 객체 후보들을 각각 구성하는 점들 중에서 기준 객체 후보를 구성하지 않는 점들을 3D 점군 데이터들로부터 제거할 수도 있다.In addition, the learning data generating apparatus 200 estimates the class of object candidates included in each 3D point cloud data, and compares the quality in the 3D point cloud data of the object candidates having the same estimated class type with each other to classify the class. One reference object candidate may be selected from among object candidates having the same type of , and points that do not constitute the reference object candidate among points constituting object candidates having the same class type may be removed from the 3D point cloud data.

다음으로, 학습 데이터 생성 장치(200)는 로컬 컴퓨팅 장치에 해당하는, 복수 어노테이션 장치(300)들의 능력을 평가할 수 있다(S420).Next, the learning data generating apparatus 200 may evaluate the capabilities of the plurality of annotation apparatuses 300 corresponding to the local computing apparatus ( S420 ).

구체적으로, 학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300)들 각각에 대한 하드웨어 정보를 수집하고, 이를 기초로 복수의 어노테이션 장치(300) 각각에 대한 연산 능력을 산출할 수 있다.In detail, the learning data generating apparatus 200 may collect hardware information on each of the plurality of annotation apparatuses 300 , and may calculate the arithmetic capability of each of the plurality of annotation apparatuses 300 based on this.

학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300) 각각에 대하여 ICMP의 신호를 전송한 후 응답까지 소요된 시간을 산출하고, 복수의 어노테이션 장치(300)가 접속된 각 ISP의 대역폭 정보를 수집하고, 이를 기초로 복수의 어노테이션 장치(300) 각각에 대한 네트워킹 능력을 산출할 수 있다.The training data generating apparatus 200 calculates a time taken until a response after transmitting the ICMP signal to each of the plurality of annotation apparatuses 300 , and transmits bandwidth information of each ISP to which the plurality of annotation apparatuses 300 are connected. collected, and based on this, a networking capability for each of the plurality of annotation devices 300 may be calculated.

그리고, 학습 데이터 생성 장치(200)는 평가된 어노테이션 장치(300)의 연산 능력 및 네트워킹 능력에 대응하여, 2D 이미지들 또는 3D 점군 데이터들을 재압축하여 각각의 용량을 감축시킬 수 있다. In addition, the training data generating apparatus 200 may reduce the capacity of each of the 2D images or 3D point cloud data by recompressing the 2D images or 3D point cloud data in response to the evaluated computational capability and networking capability of the annotation apparatus 300 .

다음으로, 학습 데이터 생성 장치(200)는 전처리된 2D 이미지들 및 3D 점군 데이터들을 복수의 어노테이션 장치(300)에 배포 전송할 수 있다(S430).Next, the training data generating apparatus 200 may distribute and transmit the preprocessed 2D images and 3D point cloud data to the plurality of annotation apparatuses 300 ( S430 ).

그 후, 학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300) 각각으로부터 어노테이션 작업 결과물을 수신할 수 있다. 특징적으로, 학습 데이터 생성 장치(200)는 복수의 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신하지 아니하고, 어노테이션 장치(300)를 구성하고 있는 입출력장치의 제어 데이터를 수신할 수도 있다(S440).Thereafter, the training data generating apparatus 200 may receive an annotation work result from each of the plurality of annotation apparatuses 300 . Characteristically, the training data generating apparatus 200 may receive control data of the input/output devices constituting the annotation apparatus 300 without receiving the results of the annotation work from the plurality of annotation apparatuses 300 ( S440 ).

마지막으로, 학습 데이터 생성 장치(200)는 수신된 데이터에 대하여 후처리를 수행하거나, 또는 어노테이션 작업 결과물을 재작성할 수 있다(S450).Finally, the training data generating apparatus 200 may perform post-processing on the received data or rewrite the annotation work result (S450).

구체적으로, 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신하지 아니하고 입출력장치의 제어 데이터를 수신한 경우, 학습 데이터 생성 장치(200)는 가상 머신 상에서 제어 데이터에 포함된 하나 이상의 신호를 생성 순서에 따라 처리하여 어노테이션 작업을 수행할 수 있다.Specifically, when the control data of the input/output device is received without receiving the annotation work result from the annotation device 300 , the learning data generating device 200 generates one or more signals included in the control data on the virtual machine according to the generation order. It can be processed to perform annotation operations.

그리고, 학습 데이터 생성 장치(200)는 클래스의 유형이 동일한 객체 후보들을 포함하고 있었던 3D 점군 데이터들에 대한 어노테이션 작업 결과물에 대하여, 기준 객체 후보에 대한 어노테이션 작업 결과를 일괄적으로 포함시킬 수 있다.Also, the learning data generating apparatus 200 may collectively include the results of the annotation operation on the reference object candidate with respect to the results of the annotation operation on the 3D point cloud data including object candidates having the same class type.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.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 are possible 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
2D 이미지 전처리 모듈: 225-1 3D 점군 전처리 모듈: 225-2
로컬 능력 대응 모듈: 225-3 배포 및 수집 모듈: 225-4
결과물 재작성 모듈: 225-5 동일 객체 후처리 모듈: 225-6
Training data collection device: 100 Training data generation device: 200
Annotation device: 300 AI learning device: 400
Communication unit: 205 Input/output unit: 210
Data structure design department: 215 Data collection and refinement department: 220
Data processing unit: 225 Learning data generation unit: 230
2D image preprocessing module: 225-1 3D point cloud preprocessing module: 225-2
Local Capability Response Module: 225-3 Distribution and Collection Module: 225-4
Output Rewrite Module: 225-5 Same Object Post-Processing Module: 225-6

Claims (10)

학습 데이터 생성 장치가, 인공지능(Artificial Intelligence, AI)을 기계 학습(machine learning)시키기 위하여 라이다(lidar)를 통해 획득된 3D 점군(3D points group) 데이터들을 수신하는 단계;
상기 학습 데이터 생성 장치가, 상기 3D 점군 데이터들에 포함된 점들(points)의 거리 값을 기초로, 각각의 3D 점군 데이터의 용량을 감축시키는 단계; 및
상기 학습 데이터 생성 장치가, 상기 용량이 감축된 3D 점군 데이터들을 복수의 어노테이션 장치에 배포하는 단계;를 포함하며,
상기 용량을 감축시키는 단계는
각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 추출하여 객체 후보(object candidate)들을 식별하는 단계;를 포함하고,
상기 학습 데이터 생성 장치가, 상기 식별된 객체 후보들을 구성하는 점들의 거리 값 또는 상기 식별된 객체 후보들의 크기 값을 기초로, 상기 3D 점군 데이터에 포함된 점들의 일부를 변경 또는 제거하는 단계를 포함하며,
상기 3D 점군 데이터를 수신하는 단계는,
차량에 고정 설치된 카메라를 통해 촬영된 2D 이미지를 더 수신하고,
상기 객체 후보들을 식별하는 단계는,
상기 수신된 2D 이미지 내에서 상기 객체 후보에 대응하는 영역의 RGB(Red, Green, Blue) 값을 기초로, 상기 식별된 객체 후보들에 대한 검증을 수행하는 것을 특징으로 하며,
상기 학습 데이터 생성 장치가, 상기 복수의 어노테이션 장치의 능력에 대응하여, 각각의 어노테이션 장치에 배포할 3D 점군 데이터들에 대하여 전처리를 수행하는 단계;를 더 포함하고,
상기 전처리를 수행하는 단계는,
상기 학습 데이터 생성 장치가, 상기 3D 점군 데이터들에 대하여, 어노테이션(annotation) 작업을 수행할 상기 복수의 어노테이션 장치의 능력을 평가하는 단계;를 포함하며,
상기 전처리를 수행하는 단계는,
상기 평가된 능력에 대응하여, 상기 3D 점군 데이터들을 재압축하여 각각의 용량을 감축시키는 것을 특징으로 하고,
상기 능력을 평가하는 단계는
상기 복수의 어노테이션 장치 각각에 대한 하드웨어 정보를 수집하고, 상기 수집된 하드웨어 정보를 기초로 상기 복수의 어노테이션 장치 각각에 대한 연산 능력을 산출하고, 상기 산출된 연산 능력에 대응하여 각각의 어노테이션 장치에 전송할 상기 3D 점군 데이터들의 재압축 품질을 결정하는 것을 특징으로 하며,
상기 배포하는 단계는
사전에 설정된 권장 연산 능력보다 낮은 연산 능력이 산출된 어노테이션 장치에 대하여, 상기 3D 점군 데이터를 전송하지 아니하고 상기 2D 이미지만 전송하도록 결정하는 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
Receiving, by the learning data generating apparatus, 3D point group data obtained through lidar in order to machine learning artificial intelligence (AI);
reducing, by the learning data generating apparatus, a capacity of each 3D point cloud data based on a distance value of points included in the 3D point cloud data; and
distributing, by the learning data generating device, the 3D point cloud data with reduced capacity to a plurality of annotation devices;
The step of reducing the capacity is
Including; identifying object candidates by extracting points forming a crowd within a preset threshold range among points included in each 3D point cloud data;
Changing or removing, by the learning data generating apparatus, some of the points included in the 3D point cloud data based on the distance values of points constituting the identified object candidates or the size values of the identified object candidates and
Receiving the 3D point cloud data includes:
Receive more 2D images taken through a camera fixedly installed in the vehicle,
The step of identifying the object candidates comprises:
Based on the RGB (Red, Green, Blue) values of the regions corresponding to the object candidates in the received 2D image, it is characterized in that verification of the identified object candidates is performed,
The method further includes, by the learning data generating device, performing pre-processing on 3D point cloud data to be distributed to each annotation device in response to the capabilities of the plurality of annotation devices;
Performing the pre-processing step,
Evaluating, by the learning data generating apparatus, the capability of the plurality of annotation apparatuses to perform an annotation operation on the 3D point cloud data;
Performing the pre-processing step,
In response to the evaluated capability, characterized in that the 3D point cloud data is recompressed to reduce the capacity of each,
Assessing the ability
Collecting hardware information for each of the plurality of annotation devices, calculating a computational capability for each of the plurality of annotation devices based on the collected hardware information, and transmitting the calculated computational capability to each annotation device It is characterized in that the recompression quality of the 3D point cloud data is determined,
The distributing step is
Reducing the data load of 3D point cloud for annotation, characterized in that it is determined to transmit only the 2D image without transmitting the 3D point cloud data to the annotation device for which the calculation capability lower than the preset recommended computing power is calculated method.
제1 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 3D 점군 데이터로부터 원거리 객체 후보를 구성하는 점들을 제거하되,
상기 원거리 객체 후보는
객체 후보를 구성하는 점들의 각 거리 값들 중에서 최소 거리 값이 사전에 설정된 임계 거리 이상인 객체 후보인 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
The method of claim 1, wherein changing or removing some of the points comprises:
Remove the points constituting the distant object candidate from the 3D point cloud data,
The distant object candidate is
A method of reducing the data load of a 3D point cloud for annotation, characterized in that the minimum distance value among the distance values of points constituting the object candidate is an object candidate having a preset threshold distance or more.
제1 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 식별된 객체 후보들 각각에 대한 클래스(class)를 추정하고, 클래스의 유형별로 사전에 결정된 식별 가능 거리 값들을 기초로 상기 객체 후보들 각각에 대한 식별 가능 거리 값을 산출하고, 상기 라이다로부터 각 객체 후보까지의 거리 값과 상기 산출된 식별 가능 거리 값을 대비하여 상기 변경 또는 제거할 점들을 식별하는 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
The method of claim 1, wherein changing or removing some of the points comprises:
Estimate a class for each of the identified object candidates, calculate an identifiable distance value for each of the object candidates based on identifiable distance values determined in advance for each type of class, and calculate each object from the lidar A method of reducing a data load of a 3D point cloud for annotation, characterized in that the points to be changed or removed are identified by comparing the distance value to the candidate and the calculated identifiable distance value.
제3 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 객체 후보의 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)와 사전에 설정된 클래스별 크기(dimension) 범위를 대비하여, 상기 객체 후보들 각각에 대한 클래스를 추정하는 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
4. The method of claim 3, wherein changing or removing some of the points comprises:
By comparing the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis of the object candidate, and the preset size range for each class, the class for each of the object candidates A method of reducing the data load of a 3D point cloud for annotation, comprising estimating.
제3 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 라이다로부터의 거리 값이 상기 식별 가능 거리 값 이상인 객체 후보를 구성하는 점들을 사전에 설정된 단일의 가비지(garbage) 값으로 대체하는 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
4. The method of claim 3, wherein changing or removing some of the points comprises:
Reducing the data load of 3D point cloud for annotation, characterized in that the points constituting the object candidate whose distance value from the lidar is greater than or equal to the identifiable distance value are replaced with a single preset garbage value method.
제3 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 라이다로부터의 거리 값이 상기 식별 가능 거리 값 이상인 객체 후보를 구성하는 점들을 상기 3D 점군 데이터로부터 제거하는 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
4. The method of claim 3, wherein changing or removing some of the points comprises:
A method of reducing a data load of a 3D point cloud for annotation, characterized in that points constituting an object candidate whose distance value from the lidar is equal to or greater than the identifiable distance value is removed from the 3D point cloud data.
제3 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 인공지능(AI)의 기계 학습과 무관한 것으로 사전에 설정된 클래스의 유형으로 추정된 객체 후보를 구성하는 점들을 상기 변경 또는 제거할 점들로 식별하는 것을 특징으로 하는, 어노테이션을 위한 3D 점군의 데이터 로드를 감축시키는 방법.
4. The method of claim 3, wherein changing or removing some of the points comprises:
3D point cloud data for annotation, characterized in that points constituting an object candidate estimated as a type of a class set in advance as irrelevant to machine learning of the artificial intelligence (AI) are identified as the points to be changed or removed How to reduce the load.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 인공지능(AI)을 기계 학습시키기 위하여 라이다를 통해 획득된 3D 점군 데이터들을 상기 송수신기를 통해 수신하는 단계;
상기 프로세서가, 상기 3D 점군 데이터들에 포함된 점들(points)의 거리 값을 기초로, 각각의 3D 점군 데이터의 용량을 감축시키는 단계; 및
상기 프로세서가, 상기 용량이 감축된 3D 점군 데이터들을 상기 송수신기를 통해 복수의 어노테이션 장치에 배포하는 단계를 실행시키기 위한 것이며,
상기 용량을 감축시키는 단계는
각각의 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 추출하여 객체 후보(object candidate)들을 식별하는 단계;를 포함하여 실행시키되,
상기 프로세서가, 상기 식별된 객체 후보들을 구성하는 점들의 거리 값 또는 상기 식별된 객체 후보들의 크기 값을 기초로, 상기 3D 점군 데이터에 포함된 점들의 일부를 변경 또는 제거하는 단계를 포함하며,
상기 3D 점군 데이터를 수신하는 단계는,
차량에 고정 설치된 카메라를 통해 촬영된 2D 이미지를 더 수신하고,
상기 객체 후보들을 식별하는 단계는,
상기 수신된 2D 이미지 내에서 상기 객체 후보에 대응하는 영역의 RGB(Red, Green, Blue) 값을 기초로, 상기 식별된 객체 후보들에 대한 검증을 수행하는 것을 특징으로 하며,
상기 프로세서가, 상기 복수의 어노테이션 장치의 능력에 대응하여, 각각의 어노테이션 장치에 배포할 3D 점군 데이터들에 대하여 전처리를 수행하는 단계;를 더 포함하고,
상기 전처리를 수행하는 단계는,
상기 프로세서가, 상기 3D 점군 데이터들에 대하여, 어노테이션(annotation) 작업을 수행할 상기 복수의 어노테이션 장치의 능력을 평가하는 단계;를 포함하며,
상기 전처리를 수행하는 단계는,
상기 평가된 능력에 대응하여, 상기 3D 점군 데이터들을 재압축하여 각각의 용량을 감축시키는 것을 특징으로 하고,
상기 능력을 평가하는 단계는
상기 복수의 어노테이션 장치 각각에 대한 하드웨어 정보를 수집하고, 상기 수집된 하드웨어 정보를 기초로 상기 복수의 어노테이션 장치 각각에 대한 연산 능력을 산출하고, 상기 산출된 연산 능력에 대응하여 각각의 어노테이션 장치에 전송할 상기 3D 점군 데이터들의 재압축 품질을 결정하는 것을 특징으로 하며,
상기 배포하는 단계는
사전에 설정된 권장 연산 능력보다 낮은 연산 능력이 산출된 어노테이션 장치에 대하여, 상기 3D 점군 데이터를 전송하지 아니하고 상기 2D 이미지만 전송하도록 결정하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
Combined with a computing device configured to include a processor (processor) for processing instructions resident in the memory,
receiving, by the processor, 3D point cloud data obtained through lidar through the transceiver to machine-learning artificial intelligence (AI);
reducing, by the processor, a capacity of each 3D point cloud data based on a distance value of points included in the 3D point cloud data; and
The processor is for executing the step of distributing the reduced capacity 3D point cloud data to a plurality of annotation devices through the transceiver,
The step of reducing the capacity is
Identifying object candidates by extracting points forming a crowd within a preset threshold range from among points included in each 3D point cloud data;
changing or removing, by the processor, some of the points included in the 3D point cloud data based on a distance value of points constituting the identified object candidates or a size value of the identified object candidates;
Receiving the 3D point cloud data includes:
Receive more 2D images taken through a camera fixedly installed in the vehicle,
The step of identifying the object candidates comprises:
Based on the RGB (Red, Green, Blue) values of the regions corresponding to the object candidates in the received 2D image, it is characterized in that verification of the identified object candidates is performed,
Further comprising; performing, by the processor, pre-processing on 3D point cloud data to be distributed to each annotation device in response to the capabilities of the plurality of annotation devices;
Performing the pre-processing step,
evaluating, by the processor, capabilities of the plurality of annotation devices to perform an annotation operation on the 3D point cloud data;
Performing the pre-processing step,
In response to the evaluated capability, characterized in that the 3D point cloud data is recompressed to reduce the capacity of each,
Assessing the ability
Collecting hardware information for each of the plurality of annotation devices, calculating a computational capability for each of the plurality of annotation devices based on the collected hardware information, and transmitting the calculated computational capability to each annotation device It is characterized in that the recompression quality of the 3D point cloud data is determined,
The distributing step is
A computer program recorded on a recording medium, characterized in that it is determined to transmit only the 2D image without transmitting the 3D point cloud data with respect to the annotation device for which the calculation power lower than the preset recommended computing power is calculated.
제8 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 식별된 객체 후보들 각각에 대한 클래스(class)를 추정하고, 클래스의 유형별로 사전에 결정된 식별 가능 거리 값들을 기초로 상기 객체 후보들 각각에 대한 식별 가능 거리 값을 산출하고, 상기 라이다로부터 각 객체 후보까지의 거리 값과 상기 산출된 식별 가능 거리 값을 대비하여 상기 변경 또는 제거할 점들을 식별하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
The method of claim 8, wherein changing or removing some of the points comprises:
Estimate a class for each of the identified object candidates, calculate an identifiable distance value for each of the object candidates based on identifiable distance values determined in advance for each type of class, and calculate each object from the lidar A computer program recorded on a recording medium, characterized in that the points to be changed or removed are identified by comparing the distance value to the candidate and the calculated identifiable distance value.
제9 항에 있어서, 상기 점들의 일부를 변경 또는 제거하는 단계는
상기 객체 후보의 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)와 사전에 설정된 클래스별 크기(dimension) 범위를 대비하여, 상기 객체 후보들 각각에 대한 클래스를 추정하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
10. The method of claim 9, wherein changing or removing some of the points comprises:
By comparing the width on the X-axis, the height on the Y-axis, and the depth on the Z-axis of the object candidate, and the preset size range for each class, the class for each of the object candidates A computer program recorded on a recording medium, characterized in that for estimating.
KR1020210089485A 2021-07-08 2021-07-08 A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof KR102378890B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210089485A KR102378890B1 (en) 2021-07-08 2021-07-08 A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210089485A KR102378890B1 (en) 2021-07-08 2021-07-08 A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof

Publications (1)

Publication Number Publication Date
KR102378890B1 true KR102378890B1 (en) 2022-03-28

Family

ID=80997074

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210089485A KR102378890B1 (en) 2021-07-08 2021-07-08 A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof

Country Status (1)

Country Link
KR (1) KR102378890B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018081545A (en) * 2016-11-17 2018-05-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Image data extraction device and image data extraction method
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
KR20200044182A (en) * 2018-10-05 2020-04-29 삼성전자주식회사 Method for recognizing object and autonomous driving device therefor
JP2021089723A (en) * 2019-11-15 2021-06-10 エヌビディア コーポレーション Multi-view deep neural network for LiDAR perception

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018081545A (en) * 2016-11-17 2018-05-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Image data extraction device and image data extraction method
KR20200044182A (en) * 2018-10-05 2020-04-29 삼성전자주식회사 Method for recognizing object and autonomous driving device therefor
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
JP2021089723A (en) * 2019-11-15 2021-06-10 エヌビディア コーポレーション Multi-view deep neural network for LiDAR perception

Similar Documents

Publication Publication Date Title
KR102343056B1 (en) A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof
KR102310598B1 (en) Method of creating data for machine learning using metadata, and computer program recorded on record-medium for executing method thereof
KR102343059B1 (en) Data collecting system for artificial intelligence machine learning, and device therefor
KR102310613B1 (en) Method for tracking object in continuous 2D image, and computer program recorded on record-medium for executing method therefor
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
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
KR102310600B1 (en) Method of extracting data for machine learning based on bigdata, and computer program recorded on record-medium for executing method thereof
KR102310602B1 (en) Method for correcting difference of multiple sensors, 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
KR102310595B1 (en) Annotation method of setting object properties using proposed information, and computer program recorded on record-medium for executing method thereof
KR102310592B1 (en) Annotation method capable of guiding change of working regulation, and computer program recorded on record-medium for executing method thereof
KR102378890B1 (en) A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof
KR102343048B1 (en) Preprocessing method of 3D points group, and computer program recorded on record-medium for executing method thereof
KR102378892B1 (en) Batch processing method of 3D points group, and computer program recorded on record-medium for executing method thereof
KR102343047B1 (en) Preprocessing method of 2D images, and computer program recorded on record-medium for executing method thereof
KR102310607B1 (en) Distributed processing method for annotations, and computer program recorded on record-medium for executing method therefor
KR102343055B1 (en) Load balancing method for annotation using local device, 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
KR102313947B1 (en) Assignment and inspection method of tracking identifier, and computer program recorded on record-medium for executing method thereof
KR102313942B1 (en) annotation method including object tracking data, and computer program recorded on record-medium for executing method thereof
KR102356914B1 (en) Method for automatically creation of metadata, and computer program recorded on record-medium for executing method therefor
KR102310604B1 (en) Method for processing data collected by multiple sensors, and computer program recorded on record-medium for executing method therefor
KR102313940B1 (en) Method for tracking object in continuous 3D data, and computer program recorded on record-medium for executing method therefor
CN112558035A (en) Method and apparatus for estimating ground

Legal Events

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