KR102325367B1 - Method, apparatus and computer program for conducting automatic driving data labeling - Google Patents

Method, apparatus and computer program for conducting automatic driving data labeling Download PDF

Info

Publication number
KR102325367B1
KR102325367B1 KR1020190144770A KR20190144770A KR102325367B1 KR 102325367 B1 KR102325367 B1 KR 102325367B1 KR 1020190144770 A KR1020190144770 A KR 1020190144770A KR 20190144770 A KR20190144770 A KR 20190144770A KR 102325367 B1 KR102325367 B1 KR 102325367B1
Authority
KR
South Korea
Prior art keywords
data
labeling
sensor data
bounding box
computing device
Prior art date
Application number
KR1020190144770A
Other languages
Korean (ko)
Other versions
KR20210057943A (en
Inventor
김희곤
정하욱
박중희
윤호
Original Assignee
주식회사 라이드플럭스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 라이드플럭스 filed Critical 주식회사 라이드플럭스
Priority to KR1020190144770A priority Critical patent/KR102325367B1/en
Publication of KR20210057943A publication Critical patent/KR20210057943A/en
Priority to KR1020210151623A priority patent/KR20210135206A/en
Application granted granted Critical
Publication of KR102325367B1 publication Critical patent/KR102325367B1/en

Links

Images

Classifications

    • 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
    • G06K9/00624
    • G06T3/0031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 자율 주행 데이터의 데이터 레이블링 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함한다.A method, apparatus and computer program for data labeling of autonomous driving data are provided. The data labeling method of autonomous driving data according to various embodiments of the present invention, in a method performed by a computing device, is labeled on 2D data generated by converting 3D point cloud data (Labeling) Obtaining a user input pointing to a target, selecting a sensor data coordinate value corresponding to a 3D point cloud data coordinate value of the labeling target from sensor data previously matched with the 2D form data, and using the sensor data coordinate value and performing labeling on the sensor data.

Description

자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR CONDUCTING AUTOMATIC DRIVING DATA LABELING}Method, device and computer program for data labeling of autonomous driving data

본 발명의 다양한 실시예는 지도 학습(Supervised Learning)을 위하여 자율 주행 데이터를 레이블링 하기위한, 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램에 관한 것이다.Various embodiments of the present invention relate to a data labeling method, apparatus, and computer program of autonomous driving data for labeling autonomous driving data for supervised learning.

차량을 운전하는 사용자들의 편의를 위하여, 각종 센서와 전자 장치 등(예: 차량 운전자 보조 시스템(ADAS: Advanced Driver Assistance System)이 구비되고 있는 추세이며, 특히, 차량의 자율 주행 시스템(Autonomous driving System)에 대한 기술 개발이 활발하게 이루어지고 있다.For the convenience of users driving a vehicle, various sensors and electronic devices (eg, an advanced driver assistance system (ADAS)) are being provided, and in particular, an autonomous driving system of the vehicle. Technological development is being actively carried out.

여기서, 자율 주행 시스템이란 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 차량을 말한다.Here, the autonomous driving system refers to a vehicle that recognizes the surrounding environment without driver intervention and automatically drives to a given destination by itself according to the recognized surrounding environment.

일반적으로 자율 주행 시스템의 경우, 자율 주행 데이터(예: 도로의 상황이나 주행 경로 등에 대한 데이터)를 학습 데이터로 이용하여 모델을 학습시키고, 학습된 모델을 이용하여 차량이 목적지까지 주행할 수 있는 주행 경로를 제공한다.In general, in the case of an autonomous driving system, a model is trained by using autonomous driving data (eg, data on road conditions or driving routes) as learning data, and the vehicle can drive to a destination using the learned model. provide a path

자율 주행 데이터를 학습 데이터로써 이용하여 모델을 지도 학습시키기 위해서는 수많은 센서 데이터(예: 레이저 스캔 센서로부터 획득되는 레이저 스캔 데이터 및 카메라 센서를 통해 감지되는 영상(동영상 또는 이미지) 데이터)와 센서 데이터 상에서 차량의 위치를 가리키는 정답(ground truth)이 필요하다. 따라서, 각각의 센서 데이터 상에 정답을 제공하기 위해 자율 주행 데이터에 대한 레이블링(Labeling)이 필수적이다.In order to supervise a model using autonomous driving data as training data, a large number of sensor data (e.g., laser scan data obtained from a laser scan sensor and image (video or image) data detected through a camera sensor) and a vehicle based on sensor data We need a ground truth that points to the location of . Therefore, in order to provide a correct answer on each sensor data, labeling of autonomous driving data is essential.

한편, 종래에는 자율 주행 데이터에 대한 레이블링을 하기 위하여, 사람이 각각의 센서 데이터마다 직접 레이블링을 해주어야 하기 때문에, 레이블링 작업을 하는데 있어서 많은 시간이 소요된다는 문제가 있다. 또한, 시간을 단축시키기 위해서는 더 많은 인력이 투입해야 하기 때문에, 인건비와 같은 비용이 많이 필요하다는 문제가 있다.On the other hand, in the related art, in order to label autonomous driving data, since a person has to directly label each sensor data, there is a problem that it takes a lot of time for the labeling operation. In addition, since more manpower needs to be input to shorten the time, there is a problem that costs such as labor cost are required.

한국공개특허 제10-2017-0118501호(2017.10.25)Korean Patent Publication No. 10-2017-0118501 (2017.10.25)

본 발명이 해결하고자 하는 과제는 레이블링 작업을 수행할 수 있는 사용자 인터페이스(User interface, UI)를 제공하고, UI를 통해 출력된 2D 형태의 데이터 상에 간단한 입력(예: 레이블링 대상 선택)을 입력함으로써 복수의 센서 데이터에 대한 레이블링을 수행할 수 있는 자율 주행 데이터의 데이터 레이블링 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.The problem to be solved by the present invention is to provide a user interface (UI) capable of performing a labeling operation, and by inputting a simple input (eg, selecting a labeling target) on 2D data output through the UI. An object of the present invention is to provide a data labeling method, apparatus, and computer program for autonomous driving data capable of performing labeling on a plurality of sensor data.

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

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 레이블링 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 3D 포인트 클라우드 데이터(Point Cloud Data)를 X-Y 평면상에 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함할 수 있다.Data labeling method according to an embodiment of the present invention for solving the above problems, in a method performed by a computing device, a 2D form generated by converting 3D point cloud data (Point Cloud Data) on an XY plane obtaining a user input pointing to a labeling target on the data of , selecting a sensor data coordinate value corresponding to a 3D point cloud data coordinate value of the labeling target from sensor data previously matched with the 2D form data; And The method may include performing labeling on the sensor data by using the coordinate values of the sensor data.

상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 데이터 레이블링 장치는, 하나 이상의 인스트럭션(instruction)을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함할 수 있고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함하는 데이터 레이블링 방법을 수행할 수 있다.A data labeling apparatus according to another embodiment of the present invention for solving the above problems may include a memory for storing one or more instructions and a processor for executing the one or more instructions stored in the memory, The processor executes the one or more instructions, thereby converting 3D point cloud data to obtain a user input pointing to a labeling target on the 2D form data generated by converting 3D point cloud data, and matching with the 2D form data A data labeling method comprising: selecting a sensor data coordinate value corresponding to a coordinate value of the 3D point cloud data of the labeling target from the sensor data; and performing labeling on the sensor data using the sensor data coordinate value can be performed.

상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 데이터 레이블링 컴퓨터프로그램은, 하드웨어인 컴퓨터(또는 컴퓨팅 장치)와 결합되어, 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계, 상기 2D 형태의 데이터와 기 매칭된 센서 데이터에서 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 단계 및 상기 센서 데이터 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함하는 데이터 레이블링 방법을 수행할 수 있도록 컴퓨터(또는 컴퓨팅 장치)에서 판독가능한 기록매체에 저장될 수 있다.A data labeling computer program according to another embodiment of the present invention for solving the above-described problems is combined with a computer (or computing device) that is hardware, and a 2D form generated by converting 3D point cloud data obtaining a user input pointing to a labeling target on the data of , selecting a sensor data coordinate value corresponding to a 3D point cloud data coordinate value of the labeling target from sensor data previously matched with the 2D form data; And It may be stored in a computer (or computing device) readable recording medium to perform a data labeling method including performing labeling on the sensor data using the sensor data coordinate values.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명의 다양한 실시예에 따르면, 레이블링 작업을 수행할 수 있는 UI를 제공하고, UI를 통해 출력된 2D 형태의 데이터 상에 간단한 동작(예: 터치, 클릭 및 드래그 입력으로 레이블링 대상을 선택하는 동작)을 입력하여 복수의 센서 데이터에 대한 레이블링을 수행함으로써, 복수의 센서 데이터를 개별적으로 레이블링을 수행하는데 소요되는 시간과 비용을 줄일 수 있다는 이점이 있다.According to various embodiments of the present disclosure, a UI capable of performing a labeling operation is provided, and a simple operation (eg, an operation of selecting a labeling target by touch, click, and drag input) is provided on 2D data output through the UI. ) to perform labeling on a plurality of sensor data, there is an advantage in that the time and cost required for individually labeling the plurality of sensor data can be reduced.

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

도 1은 본 발명의 일 실시예에 따른 데이터 레이블링 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 다양한 실시예에 따른 데이터 레이블링 장치의 하드웨어 구성도이다.
도 3은 본 발명의 다양한 실시예에 따른 데이터 레이블링 방법을 설명하기 위한 순서도이다.
도 4는 다양한 실시예에서, 데이터 레이블링 장치가 사용자 단말로 제공하는 UI를 예시적으로 도시한 도면이다.
도 5는 다양한 실시예에서, 데이터 레이블링 장치가 제공하는 UI를 통해 출력되는 2D 형태의 데이터를 도시한 도면이다.
도 6은 다양한 실시예에서, 데이터 레이블링 장치가 제공하는 UI를 통해 출력된 2D 형태의 데이터 상에 레이블링 대상을 가리키는 사용자 입력이 입력된 형태를 도시한 도면이다.
도 7은 다양한 실시예에서, 센서 데이터가 3D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 3D 도형 형태의 경계 박스를 도시한 도면이다.
도 8은 다양한 실시예에서, 센서 데이터가 2D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 2D 도형 형태의 경계 박스를 도시한 도면이다.
1 is a diagram showing the configuration of a data labeling system according to an embodiment of the present invention.
2 is a hardware configuration diagram of a data labeling apparatus according to various embodiments of the present invention.
3 is a flowchart illustrating a data labeling method according to various embodiments of the present invention.
4 is a diagram exemplarily illustrating a UI provided by a data labeling apparatus to a user terminal according to various embodiments.
5 is a diagram illustrating data in a 2D form output through a UI provided by a data labeling apparatus according to various embodiments of the present disclosure;
6 is a diagram illustrating a form in which a user input indicating a labeling target is input on 2D data output through a UI provided by a data labeling apparatus according to various embodiments of the present disclosure;
7 is a diagram illustrating a bounding box in the form of a 3D figure output on a UI according to a user input when sensor data is 3D data, according to various embodiments.
8 is a diagram illustrating a bounding box in the form of a 2D figure output on a UI according to a user input when sensor data is 2D data, according to various embodiments.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully understand the scope of the present invention to those skilled in the art, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.As used herein, the term “unit” or “module” refers to a hardware component such as software, FPGA, or ASIC, and “unit” or “module” performs certain roles. However, “part” or “module” is not meant to be limited to software or hardware. A “unit” or “module” may be configured to reside on an addressable storage medium or may be configured to reproduce one or more processors. Thus, by way of example, “part” or “module” refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Components and functionality provided within “parts” or “modules” may be combined into a smaller number of components and “parts” or “modules” or as additional components and “parts” or “modules”. can be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe the correlation between a component and other components. A spatially relative term should be understood as a term that includes different directions of components during use or operation in addition to the directions shown in the drawings. For example, when a component shown in the drawing is turned over, a component described as “beneath” or “beneath” of another component may be placed “above” of the other component. can Accordingly, the exemplary term “below” may include both directions below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer means all types of hardware devices including at least one processor, and may be understood as encompassing software configurations operating in the corresponding hardware device according to embodiments. For example, a computer may be understood to include, but is not limited to, smart phones, tablet PCs, desktops, notebooks, and user clients and applications running on each device.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and at least a portion of each step may be performed in different devices according to embodiments.

도 1은 본 발명의 일 실시예에 따른 데이터 레이블링 시스템의 구성을 도시한 도면이다.1 is a diagram showing the configuration of a data labeling system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 레이블링 시스템은 데이터 레이블링 장치(100), 사용자 단말(200) 및 외부 서버(300)를 포함할 수 있다.Referring to FIG. 1 , a data labeling system according to an embodiment of the present invention may include a data labeling apparatus 100 , a user terminal 200 , and an external server 300 .

여기서, 도 1에 도시된 데이터 레이블링 시스템은 일 실시예에 따른 것이고, 그 구성요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.Here, the data labeling system shown in FIG. 1 is according to an embodiment, and its components are not limited to the embodiment shown in FIG. 1 , and may be added, changed, or deleted as necessary.

일 실시예에서, 데이터 레이블링 장치(100)는 외부 서버(300)로부터 3D 포인트 클라우드 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 얻을 수 있고, 3D 포인트 클라우드 데이터의 좌표 값과 센서 데이터의 좌표 값을 매칭하여 3D 포인트 클라우드 데이터와 센서 데이터를 캘리브레이션(calibration)할 수 있다.In an embodiment, the data labeling apparatus 100 may obtain 3D point cloud data and sensor data (eg, image data captured from a camera) from the external server 300 , and coordinate values and sensor data of the 3D point cloud data 3D point cloud data and sensor data can be calibrated by matching the coordinate values of .

일 실시예에서, 데이터 레이블링 장치(100)는 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)와 매칭된 3D 포인트 클라우드 데이터를 2D로 변환하여 2D 형태의 데이터를 생성할 수 있다. 예를 들어, 데이터 레이블링 장치(100)는 X축 및 Y축을 기준으로 센서 데이터와 매칭된 3D 포인트 클라우드 데이터를 2D로 변환하여 2D 형태의 데이터를 생성(3D 포인트 클라우드 데이터를 조감도(Brid-eye-view, BEV) 형태로 X-Y평면상에 출력되도록 변환하여 2D 형태의 데이터를 생성)할 수 있다. In an embodiment, the data labeling apparatus 100 may generate 2D data by converting 3D point cloud data matched with sensor data (eg, image data captured from a camera) into 2D. For example, the data labeling apparatus 100 converts the 3D point cloud data matched with the sensor data based on the X-axis and the Y-axis into 2D to generate 2D data (Brid-eye-view of 3D point cloud data) view, BEV) to be output on the XY plane to generate 2D data).

일 실시예에서, 데이터 레이블링 장치(100)는 2D 형태의 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 포함하는 UI를 사용자 단말(200)로 제공함으로써, 사용자 단말(200)로부터 레이블링 대상을 가리키는 사용자 입력을 얻을 수 있다.In one embodiment, the data labeling apparatus 100 provides a UI including 2D data and sensor data (eg, image data captured from a camera) to the user terminal 200, thereby labeling from the user terminal 200 . You can get user input pointing to an object.

다양한 실시예에서, 데이터 레이블링 장치(100)는 별도의 통신 모듈(미도시)를 포함할 수 있으며, 통신 모듈이 네트워크(400)를 통해 사용자 단말(200)과 연결되어 사용자 단말(200)로 UI(예: 도 4)를 제공하거나, 제공된 UI를 통해 입력된 사용자 입력을 얻을 수 있다. 또한, 통신 모듈이 네트워크(400)를 통해 외부 서버(300)와 연결되어 외부 서버(300)로부터 포인트 클라우드 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 수신할 수 있다.In various embodiments, the data labeling apparatus 100 may include a separate communication module (not shown), and the communication module is connected to the user terminal 200 through the network 400 to provide a UI to the user terminal 200 . (eg, FIG. 4 ) may be provided, or a user input input may be obtained through the provided UI. In addition, the communication module may be connected to the external server 300 through the network 400 to receive point cloud data and sensor data (eg, image data captured by a camera) from the external server 300 .

일 실시예에서, 데이터 레이블링 장치(100)는 사용자 단말(200)로부터 얻은 레이블링 대상을 가리키는 사용자 입력을 이용하여 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값을 추출할 수 있고, 추출된 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값(예: 카메라로부터 촬영된 영상 데이터 상의 좌표 값)을 선택할 수 있으며, 선택한 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행할 수 있다.In an embodiment, the data labeling apparatus 100 may extract the 3D point cloud data coordinate value of the labeling object by using a user input indicating the labeling object obtained from the user terminal 200, and the extracted 3D point of the labeling object A sensor data coordinate value corresponding to a cloud data coordinate value (eg, a coordinate value on image data captured from a camera) may be selected, and labeling may be performed on the sensor data using the selected sensor data coordinate value.

일 실시예에서, 사용자 단말(200)은 사용자 단말(200)의 적어도 일부분에 디스플레이를 포함할 수 있으며, 디스플레이를 통해 데이터 레이블링 장치(100)로부터 제공되는 UI를 출력할 수 있다. 예를 들어, 사용자 단말(200)는 스마트폰, 태블릿 PC, 노트북 및 데스크탑 중 적어도 하나를 포함할 수 있으나, 이에 한정되지 않는다.In an embodiment, the user terminal 200 may include a display in at least a portion of the user terminal 200 , and may output a UI provided from the data labeling apparatus 100 through the display. For example, the user terminal 200 may include at least one of a smartphone, a tablet PC, a notebook computer, and a desktop, but is not limited thereto.

다양한 실시예에서, 사용자 단말(200)은 데이터 레이블링 장치(100)와 유무선으로 연결되어, 데이터 레이블링 장치(100)로부터 UI를 제공받을 수 있고, UI를 통해 입력한 레이블링 대상을 가리키는 사용자 입력을 데이터 레이블링 장치(100)로 제공할 수 있다. 예를 들어, 사용자는 자신의 스마트폰에 포함된 통신 모듈을 이용하여 데이터 레이블링 장치(100)와 무선 연결될 수 있고, 데이터 레이블링 장치(100)로부터 제공된 UI를 스마트폰 화면에 출력할 수 있으며, 스마트폰에 출력된 UI를 통해 제공되는 2D 형태의 데이터 상에서 레이블링 대상을 터치 입력함으로써, 레이블링 대상을 선택할 수 있다. 이후, 스마트폰에 포함된 통신 모듈을 이용하여 레이블링 대상에 대한 정보(예: 레이블링 대상의 라벨 이름, 좌표 값 등)를 데이터 레이블링 장치(100)로 제공할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the user terminal 200 may be connected to the data labeling apparatus 100 by wire or wireless, may receive a UI from the data labeling apparatus 100, and may receive a user input pointing to a labeling target input through the UI as data. It may be provided to the labeling apparatus 100 . For example, the user may be wirelessly connected to the data labeling apparatus 100 using a communication module included in his/her smartphone, and may output a UI provided from the data labeling apparatus 100 on the smartphone screen, By touch-inputting a labeling target on 2D data provided through a UI output to the phone, a labeling target can be selected. Thereafter, information on the labeling target (eg, the label name of the labeling target, coordinate values, etc.) may be provided to the data labeling apparatus 100 using a communication module included in the smartphone. However, the present invention is not limited thereto.

일 실시예에서, 외부 서버(300)는 복수의 센서로부터 감지된 센서 데이터(예: 레이저 스캔 센서로부터 획득되는 레이저 스캔 데이터 및 카메라 센서를 통해 감지되는 영상(동영상 또는 이미지) 데이터) 및 3D 포인트 클라우드 데이터를 저장할 수 있다. 예를 들어, 외부 서버(300)는 복수의 센서를 구비한 정보 제공 차량이 소정의 지역을 이동하면서 감지한 센서 데이터(예: 카메라의 영상(동영상 및 이미지) 데이터 및 레이저 스캔 데이터)를 수신하여 저장할 수 있다. 그러나, 이에 한정되지 않는다.In an embodiment, the external server 300 includes sensor data detected from a plurality of sensors (eg, laser scan data obtained from a laser scan sensor and image (video or image) data detected through a camera sensor) and a 3D point cloud data can be saved. For example, the external server 300 receives sensor data (eg, camera image (video and image) data and laser scan data) detected while the information providing vehicle having a plurality of sensors moves in a predetermined area. can be saved However, the present invention is not limited thereto.

다양한 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 데이터 레이블링 장치(100)로부터 소정의 지역에 대한 센서 데이터의 송신 요청을 수신할 수 있으며, 복수의 센서 데이터 중 소정의 지역에 대한 센서 데이터만을 추출하여 데이터 레이블링 장치(100)로 제공할 수 있다.In various embodiments, the external server 300 may receive a transmission request of sensor data for a predetermined area from the data labeling apparatus 100 through the network 400, Only sensor data may be extracted and provided to the data labeling apparatus 100 .

다양한 실시예에서, 외부 서버(300)는 센서 데이터가 감지된 시점에 따라 동일한 시점에 감지된 센서 데이터들을 그룹화하고, 그룹화된 센서 데이터를 데이터 레이블링 장치(100)로 제공할 수 있다. 예를 들어, 복수의 센서 데이터를 제1 시점에서의 센서 데이터, 제2 시점에서의 센서 데이터 및 제3 시점에서의 센서 데이터로 그룹화하고, 그룹화한 센서 데이터를 데이터 레이블링 장치(100)로 제공할 수 있다. In various embodiments, the external server 300 may group sensor data sensed at the same time point according to a time point at which the sensor data is sensed, and provide the grouped sensor data to the data labeling apparatus 100 . For example, a plurality of sensor data is grouped into sensor data at a first time point, sensor data at a second time point, and sensor data at a third time point, and the grouped sensor data is provided to the data labeling apparatus 100 . can

여기서, 데이터 레이블링 장치(100)는 외부 서버(300)로부터 각종 데이터를 제공받고, 제공된 데이터를 가공, 분석하여 센서 데이터에 대한 레이블링을 수행하는 것으로 설명하고 있으나, 이에 한정되지 않고, 데이터 레이블링 장치(100)는 외부 서버(300)로 센서 데이터의 레이블링 작업을 수행하기 위한 제어 신호(예: 소정의 지역에 대한 동시점의 센서 데이터 추출 신호, 3D 포인트 클라우드 데이터와 센서 데이터를 매칭하는 것을 지시하는 제어 신호 및 2D 형태의 데이터 생성 신호 등)를 송신하는 기능만을 수행할 수 있고, 외부 서버(300)가 데이터 레이블링 장치(100)로부터 수신한 제어 신호를 이용하여 제어 신호에 따른 레이블링 작업 동작을 수행할 수 있다.Here, the data labeling apparatus 100 receives various data from the external server 300, processes and analyzes the provided data to perform labeling on sensor data, but is not limited thereto, and the data labeling apparatus ( 100) is a control signal for performing a labeling operation of sensor data to the external server 300 (eg, a control instructing matching sensor data extraction signal of a simultaneous point for a predetermined area, 3D point cloud data and sensor data) Signals and 2D-type data generation signals, etc.) can be performed only, and the external server 300 uses the control signal received from the data labeling apparatus 100 to perform a labeling operation according to the control signal. can

도 2는 본 발명의 다양한 실시예에 따른 데이터 레이블링 장치의 하드웨어 구성도이다.2 is a hardware configuration diagram of a data labeling apparatus according to various embodiments of the present invention.

도 2를 참조하면, 본 발명의 다른 실시예에 따른 데이터 레이블링 장치(100)(이하, "컴퓨팅 장치(100)")는 프로세서(110) 및 메모리(120)를 포함할 수 있다. 다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크 인터페이스(또는 통신 인터페이스)(미도시), 스토리지(미도시), 버스(bus)(미도시)를 더 포함할 수 있다.Referring to FIG. 2 , a data labeling apparatus 100 (hereinafter, "computing apparatus 100") according to another embodiment of the present invention may include a processor 110 and a memory 120 . In various embodiments, the computing device 100 may further include a network interface (or communication interface) (not shown), storage (not shown), and a bus (not shown).

일 실시예에서, 프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.In an embodiment, the processor 110 may control the overall operation of each component of the computing device 100 . The processor 110 may include a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), or any type of processor well known in the art.

다양한 실시예에서, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 다양한 실시예에서, 프로세서(110)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예: 버스(bus) 등)를 포함할 수 있다.In various embodiments, the processor 110 may perform an operation on at least one application or program for executing the method according to the embodiments of the present invention. In various embodiments, the processor 110 includes one or more cores (not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus, etc.) for transmitting and receiving signals to and from other components. can do.

다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.In various embodiments, the processor 110 temporarily and/or permanently stores a signal (or data) processed inside the processor 110 , a random access memory (RAM) and a read access memory (ROM). -Only Memory, not shown) may be further included. In addition, the processor 110 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, a RAM, and a ROM.

일 실시예에서, 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션(instruction)을 실행함으로써, 도 3 내지 8과 관련하여 설명될 방법(예: 데이터 레이블링 방법)을 수행할 수 있다. 예를 들어, 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 3D 포인트 클라우드 데이터를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링 대상을 가리키는 사용자 입력을 얻는 동작, 2D 형태의 데이터와 기 매칭된 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)에서 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하는 동작 및 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행하는 동작을 포함하는 데이터 레이블링 방법을 수행할 수 있다.In an embodiment, the processor 110 may perform a method (eg, a data labeling method) to be described with reference to FIGS. 3 to 8 by executing one or more instructions stored in the memory 120 . For example, the processor 110 executes one or more instructions stored in the memory 120, thereby converting 3D point cloud data to obtain a user input pointing to a labeling target on the 2D form data generated, 2D form data The operation of selecting the sensor data coordinate value corresponding to the 3D point cloud data coordinate value of the labeling target from the previously matched sensor data (eg, image data taken from the camera) and labeling on the sensor data using the sensor data coordinate value A data labeling method including an operation of performing

일 실시예에서, 메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(120)에는 프로세서(110)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(120)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.In one embodiment, memory 120 may store various data, commands, and/or information. The memory 120 may store programs (one or more instructions) for processing and controlling the processor 110 . Programs stored in the memory 120 may be divided into a plurality of modules according to functions.

다양한 실시예에서, 본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수 있다. 이하, 도 3 내지 8을 참조하여, 컴퓨팅 장치(100)가 수행하는 데이터 레이블링 방법에 대하여 설명하도록 한다.In various embodiments, steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains. Hereinafter, a data labeling method performed by the computing device 100 will be described with reference to FIGS. 3 to 8 .

도 3은 본 발명의 다양한 실시예에 따른 데이터 레이블링 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a data labeling method according to various embodiments of the present invention.

일 실시예에서, 컴퓨팅 장치(100)는 본 발명의 다양한 실시예에 따른 데이터 레이블링 방법은 2D 형태의 데이터 상에서 레이블링 대상을 가리키는 사용자 입력을 얻고, 2D 형태의 데이터와 기 매칭된 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)에서 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표 값을 선택하며, 선택한 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행할 수 있다. 이를 위해, 컴퓨팅 장치(100)는 본 발명의 또 다른 실시예에 따른 데이터 레이블링 방법을 수행하기에 앞서, 센서 데이터와 매칭된 2D 형태의 데이터를 생성할 수 있다.In one embodiment, the computing device 100 obtains a user input pointing to a labeling target on 2D data in the data labeling method according to various embodiments of the present disclosure, and includes sensor data previously matched with the 2D data (eg: A sensor data coordinate value corresponding to a 3D point cloud data coordinate value of a labeling target is selected from image data taken from a camera), and labeling may be performed on the sensor data using the selected sensor data coordinate value. To this end, the computing device 100 may generate 2D data matched with sensor data before performing the data labeling method according to another embodiment of the present invention.

여기서, 2D 형태의 데이터는 도 5에 도시된 바와 같이 3D 포인트 클라우드 데이터를 2D 화면(예: 사용자 단말(200)의 디스플레이)에 출력될 수 있는 형태로 변환된 데이터를 의미할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 외부 서버(300)로부터 얻은 복수의 센서 데이터 중 동일한 시점에서의 센서 데이터만을 선택하고, 선택한 센서 데이터의 좌표 값과 3D 포인트 클라우드 데이터의 좌표 값을 매칭할 수 있다. 이후, 컴퓨팅 장치(100)는 3D 포인트 클라우드 데이터를 조감도(Bird-eye-view, BEV) 형태로 X-Y평면상에 투사(projection)함으로써, UI를 통해 출력될 때 2D 형태로 출력될 수 있는 2D 형태의 데이터를 생성할 수 있다. Here, the data in the 2D form may refer to data converted into a form that can output 3D point cloud data to a 2D screen (eg, the display of the user terminal 200 ) as shown in FIG. 5 . For example, the computing device 100 may select only sensor data at the same point in time among a plurality of sensor data obtained from the external server 300 and match the coordinate values of the selected sensor data with the coordinate values of the 3D point cloud data. have. Thereafter, the computing device 100 projects the 3D point cloud data on the XY plane in the form of a bird-eye-view (BEV), so that when it is output through the UI, it is output in a 2D form in a 2D form. data can be created.

다양한 실시예에서, 컴퓨팅 장치(100)는 3D 포인트 클라우드 데이터를 2D 격자 지도(Grid map) 상에 양자화하여 2D 형태의 데이터를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 3D 포인트 클라우드 데이터를 조감도 형태로 2D 격자 지도(Grid map)상에 양자화(quantization)하고, 평균 값, 최대 값 및 밀도 값 중 적어도 하나의 값을 대표 값으로 표현함으로써, 2D 형태의 데이터를 생성할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may generate 2D data by quantizing 3D point cloud data on a 2D grid map. For example, the computing device 100 quantizes 3D point cloud data on a 2D grid map in the form of a bird's eye view, and uses at least one of an average value, a maximum value, and a density value as a representative value. By expressing it, it is possible to generate data in 2D form. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)의 시점별로 2D 형태의 데이터를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제1 시점의 센서 데이터에 대한 2D 형태의 데이터와 제1 시점과 다른 제2 시점에 대한 2D 형태의 데이터를 생성할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may generate 2D data for each viewpoint of sensor data (eg, image data captured from a camera). For example, the computing device 100 may generate 2D data for sensor data of a first viewpoint and 2D data for a second viewpoint different from the first viewpoint. However, the present invention is not limited thereto.

도 3을 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 사용자 단말(200)로 2D 형태의 데이터 및 센서 데이터(예: 카메라로부터 촬영된 영상 데이터)를 출력하고, 2D 형태의 데이터 상에서 레이블링 대상을 가리키는 사용자 입력을 얻으며, 사용자 입력에 대응하는 제1 경계 박스 및 제2 경계 박스를 출력하는 UI를 제공할 수 있다. 이하, 도 4를 참조하여, 컴퓨팅 장치(100)에서 제공하는 UI에 대하여 설명하도록 한다.Referring to FIG. 3 , in step S110 , the computing device 100 outputs 2D data and sensor data (eg, image data captured from a camera) to the user terminal 200 , and a labeling target on the 2D data A UI may be provided for obtaining a user input pointing to , and outputting a first bounding box and a second bounding box corresponding to the user input. Hereinafter, a UI provided by the computing device 100 will be described with reference to FIG. 4 .

도 4는 다양한 실시예에서, 데이터 레이블링 장치가 사용자 단말로 제공하는 UI를 예시적으로 도시한 도면이다.4 is a diagram exemplarily illustrating a UI provided by a data labeling apparatus to a user terminal according to various embodiments.

도 4를 참조하면, 다양한 실시예에서, UI(40)는 제1 UI(41), 제2 UI(42) 및 제3 UI(43)를 포함하 수 있다. Referring to FIG. 4 , in various embodiments, the UI 40 may include a first UI 41 , a second UI 42 , and a third UI 43 .

일 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 2D 형태의 데이터(10)를 출력할 수 있고, 사용자로부터 레이블링 대상을 가리키는 사용자 입력을 얻을 수 있다. 이후, 사용자 입력을 분석하여, 레이블링 대상의 종류(또는 라벨 네임) 및 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 같은 레이블링 대상에 대한 정보를 얻을 수 있다. In an embodiment, the computing device 100 may output the data 10 in a 2D form through the first UI 41 , and obtain a user input indicating a labeling target from the user. Thereafter, by analyzing the user input, information on the labeling object such as the type (or label name) of the labeling object and the 3D point cloud data coordinate value of the labeling object may be obtained.

다양한 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 2D 형태의 데이터(10)를 확대 또는 축소하는 기능을 제공할 수 있다. 다양한 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 소정의 지역에 대한 2D 형태의 데이터(10)를 하나의 화면에 출력할 수 있다.In various embodiments, the computing device 100 may provide a function of enlarging or reducing the data 10 in the 2D form through the first UI 41 . In various embodiments, the computing device 100 may output the data 10 in the 2D form for a predetermined area on one screen through the first UI 41 .

일 실시예에서, 컴퓨팅 장치(100)는 제2 UI(42)를 통해 센서 데이터(20) (예: 복수의 카메라로부터 촬영된 복수의 영상 데이터)를 출력할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제1 UI(41)를 통해 출력되는 2D 형태의 데이터와 기 매칭된 센서 데이터(20)를 제2 UI(42)에 출력할 수 있다.In an embodiment, the computing device 100 may output the sensor data 20 (eg, a plurality of image data captured by a plurality of cameras) through the second UI 42 . For example, the computing device 100 may output the sensor data 20 previously matched with the 2D data output through the first UI 41 to the second UI 42 .

다양한 실시예에서, 컴퓨팅 장치(100)는 제1 UI(41) 및 제3 UI(43)만을 출력 UI(40)를 제공할 수 있고, 제1 UI(41)를 통해 레이블링 대상을 가리키는 사용자 입력을 얻는 경우, 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표를 가지는 센서 데이터(20)(예: 영상 데이터)를 출력하는 제2 UI(42)를 팝업(Pop-up) 창형태로 출력할 수 있다.In various embodiments, the computing device 100 may provide the output UI 40 only to the first UI 41 and the third UI 43 , and a user input pointing to a labeling target through the first UI 41 . When obtaining , the second UI 42 that outputs the sensor data 20 (eg, image data) having sensor data coordinates corresponding to the 3D point cloud data coordinate values of the labeling target is displayed in a pop-up window form. can be output as

일 실시예에서, 컴퓨팅 장치(100)는 제3 UI(43)를 통해 제1 UI(41) 및 제2 UI(42)를 조작하기 위한 다양한 툴(tool)을 출력할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제3 UI(43)를 통해, 레이블링 대상에 따른 경계 박스(예: 도 6의 11, 12)의 크기, 형태를 선택하는 툴, 기 생성된 경계 박스의 속성을 변경하는 툴 및 제1 UI(41), 제2 UI(42) 및 제3 UI(43)의 설정을 변경하는 툴을 제공할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 제1 UI(41) 및 제2 UI(42)만을 출력하는 UI(40)를 제공하고, 기 설정된 조건이 만족하는 경우에 한하여 제3 UI(43)를 출력할 수 있다(예: 사용자가 UI(40) 상에서 특정 위치에 대한 터치 입력을 하는 경우, 제3 UI(43)를 출력).In an embodiment, the computing device 100 may output various tools for manipulating the first UI 41 and the second UI 42 through the third UI 43 . For example, the computing device 100, through the third UI 43, a tool for selecting the size and shape of the bounding box (eg, 11 and 12 in FIG. 6 ) according to the labeling target, the pre-generated bounding box A tool for changing properties and a tool for changing settings of the first UI 41 , the second UI 42 , and the third UI 43 may be provided. However, the present invention is not limited thereto, and the computing device 100 provides a UI 40 that outputs only the first UI 41 and the second UI 42, and only when a preset condition is satisfied, the third UI ( 43) can be output (eg, when the user makes a touch input for a specific location on the UI 40 , the third UI 43 is output).

다시 도 3을 참조하면, S120 단계에서, 컴퓨팅 장치(100)는 S110 단계에서 사용자 단말(200)로 제공한 UI를 통해 레이블링 대상을 가리키는 사용자 입력을 수신할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 UI에 출력되는 2D 형태의 데이터 상에서 레이블링 대상을 터치 입력함으로써 생성되는 사용자 입력 또는 마우스를 이용하여 마우스 포인터로 레이블링 대상을 클릭 입력함으로써 생성되는 사용자 입력을 수신할 수 있다.Referring back to FIG. 3 , in step S120 , the computing device 100 may receive a user input indicating a labeling target through the UI provided to the user terminal 200 in step S110 . For example, the computing device 100 may receive a user input generated by touch-inputting a labeling target on 2D data output to the UI or a user input generated by clicking and inputting a labeling target with a mouse pointer using a mouse. can

다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 대상의 종류 및 크기에 기초하여 레이블링 대상에 대한 2D 도형 형태의 제1 경계 박스를 생성하고, 생성된 제1 경계 박스를 UI 상에서 사용자 입력이 입력된 위치(예: 2D 형태의 데이터 상에서 사용자 입력이 입력된 위치)에 출력할 수 있다. 이하, 도 6을 참조하여 설명하도록 한다.In various embodiments, the computing device 100 generates a first bounding box in the form of a 2D figure for a labeling target based on the type and size of the labeling target, and uses the generated first bounding box to receive a user input on the UI. It can be output to a location (eg, a location where a user input is input on 2D data). Hereinafter, it will be described with reference to FIG.

도 6은 다양한 실시예에서, 데이터 레이블링 장치가 제공하는 UI를 통해 출력된 2D 형태의 데이터 상에 레이블링 대상을 가리키는 사용자 입력이 입력된 형태를 도시한 도면이다.6 is a diagram illustrating a form in which a user input indicating a labeling target is input on 2D data output through a UI provided by a data labeling apparatus according to various embodiments of the present disclosure;

도 6을 참조하면, 일 실시예에서, 사용자가 레이블링을 수행하고자 하는 레이블링 대상의 종류가 자동차인 경우, 컴퓨팅 장치(100)는 자동차의 크기에 기초하여 직사각형 형태의 제1 경계 박스(11, 12)를 생성할 수 있다. 컴퓨팅 장치(100)는 2D 형태의 데이터 상에서 사용자 입력(예: 마우스 포인터(13)를 통한 클릭 입력 및 키보드 입력)에 대응되는 위치에 직사각형 형태의 제1 경계 박스(11, 12)를 출력할 수 있다.Referring to FIG. 6 , in an embodiment, when the type of a labeling object on which the user wants to perform labeling is a car, the computing device 100 configures the first bounding boxes 11 and 12 in a rectangular shape based on the size of the car. ) can be created. The computing device 100 may output the first bounding boxes 11 and 12 in the form of a rectangle at a position corresponding to a user input (eg, a click input and a keyboard input through the mouse pointer 13) on the data in the 2D form. have.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자 입력(예: 키보드 입력 등)에 따라 UI를 통해 제1 경계 박스를 생성하는 경계 박스 추가 모드, 기 생성된 제1 경계 박스의 속성을 변경하는 경계 박스 수정 모드 및 특정 영역을 학습을 위한 데이터에서 제외하기 위한 ROU(Region of Uninterest) 모드 중 어느 하나의 모드를 제공할 수 있다.In various embodiments, the computing device 100 provides a bounding box addition mode for generating a first bounding box through a UI according to a user input (eg, a keyboard input, etc.) Any one of a box correction mode and a Region of Uninterest (ROU) mode for excluding a specific region from data for learning may be provided.

다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 대상의 종류에 기초하여 사용자 입력에 따라 생성되는 제1 경계 박스(11, 12)의 크기 및 형태를 미리 설정할 수 있고, UI가 경계 박스 추가 모드인 경우, 2D 형태의 데이터 상에서 사용자 입력에 대응되는 위치에 미리 설정된 크기 및 형태의 제1 경계 박스(11, 12)를 출력할 수 있다. 예를 들어, 레이블링 대상의 종류가 자동차인 경우, 자동차의 크기 및 형태(예: 경차, 오토바이, 소형차, 중형차, 트럭 및 버스 등)의 크기 및 형태)에 따라 소정의 크기를 가지는 2D 도형 형태(예: 직사각형 형태)의 제1 경계 박스(11, 12)를 템플릿(template)을 미리 설정할 수 있다.In various embodiments, the computing device 100 may preset the size and shape of the first bounding boxes 11 and 12 generated according to a user input based on the type of labeling target, and the UI is a bounding box addition mode. In this case, the first bounding boxes 11 and 12 having a preset size and shape may be output at a position corresponding to the user input on the 2D data. For example, when the type of labeling object is a car, a 2D figure shape having a predetermined size according to the size and shape of the car (eg, the size and shape of a light car, motorcycle, small car, medium car, truck, and bus, etc.) For example, a template may be preset for the first bounding boxes 11 and 12 of a rectangular shape.

이후, 컴퓨팅 장치(100)는 UI를 통해 레이블링 대상의 위치 및 레이블링 대상의 종류에 대한 정보를 포함하는 사용자 입력을 얻는 경우, 사용자 입력에 대응되는 위치에 미리 설정된 직사각형 제1 경계 박스(11, 12)의 템플릿을 출력할 수 있다. 예를 들어, 사용자로부터 입력된 레이블 대상의 종류가 40인승 버스인 경우, 미리 생성된 제1 경계 박스(11, 12)의 템플릿 중 40인승 버스에 대응되는 크기 및 형태의 제1 경계 박스(11, 12)를 사용자 입력에 대응되는 레이블링 대상의 위치에 출력할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 레이블링 대상의 종류가 사람, 공사 현장과 같은 고정된 장애물, 가드레일 및 표지판 등과 같은 경우에도 상기와 같은 방법을 적용하여 제1 경계 박스(11, 12)의 템플릿을 생성할 수 있고, 사용자 입력에 대응되는 레이블 대상의 종류에 따라 기 생성된 제1 경계 박스(11, 12)의 템플릿을 출력할 수 있다.Then, when the computing device 100 obtains a user input including information on the position of the labeling target and the type of the labeling target through the UI, the rectangular first bounding boxes 11 and 12 set in advance at positions corresponding to the user input ) template can be printed. For example, if the type of the label object input by the user is a 40-seater bus, the first bounding box 11 of a size and shape corresponding to the 40-seater bus among templates of the first bounding boxes 11 and 12 created in advance , 12) may be output to the position of the labeling target corresponding to the user input. However, the present invention is not limited thereto, and the computing device 100 applies the method as described above even when the type of labeling target is a person, a fixed obstacle such as a construction site, a guard rail, and a sign to the first bounding box 11, 12) may be generated, and the templates of the first bounding boxes 11 and 12 previously generated according to the type of the label target corresponding to the user input may be output.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI가 경계 박스 추가 모드인 경우, 사용자 입력(경계 박스 추가를 가리키는 입력 및 레이블링 대상의 종류를 가리키는 입력)에 대응되는 제1 경계 박스(11, 12)의 템플릿을 선택할 수 있고, 선택한 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 마우스 포인터의 형태를 설정할 수 있다 (예: 직사각형 형태의 마우스 포인터). 컴퓨팅 장치(100)는 사용자의 마우스 움직임에 응답하여, 제1 경계 박스(11, 12)의 템플릿과 동일한 형태의 마우스 포인터를 화면상에서 이동시킬 수 있고, 2D 형태의 데이터 상의 사용자의 클릭 입력된 위치에 마우스 포인터와 동일한 형태의 제1 경계 박스(11, 12)를 추가할 수 있다.In various embodiments, when the UI is in the bounding box addition mode, the computing device 100 may include the first bounding boxes 11 and 12 corresponding to a user input (an input indicating adding a bounding box and an input indicating a type of a labeling target). can be selected, and the shape of the mouse pointer can be set in the same shape as the template of the selected first bounding boxes 11 and 12 (eg, a mouse pointer having a rectangular shape). In response to the user's mouse movement, the computing device 100 may move a mouse pointer having the same shape as the template of the first bounding boxes 11 and 12 on the screen, and the location of the user's click input on the 2D data. The first bounding boxes 11 and 12 having the same shape as the mouse pointer may be added to the .

다양한 실시예에서, 컴퓨팅 장치(100)는 제1 경계 박스(11, 12)의 생성을 가리키는 입력 외에 추가적인 사용자 입력(예: 키보드 입력)이 수신되는 경우, 추가적인 사용자 입력에 따라 제1 경계 박스(11, 12)의 템플릿과 동일한 형태를 가지는 마우스 포인터의 형태(예: 마우스 포인터의 길이, 너비 및 각도)를 변경할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자로부터 소형차에 대한 제1 경계 박스 생성 요청을 수신하는 경우, 소형차에 대응되는 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 마우스 포인터를 설정할 수 있다. 이때, 컴퓨팅 장치(100)가 사용자로부터 레이블링 대상이 소형차에서 오토바이로 변경됨을 가리키는 제1 키보드 입력을 수신하는 경우, 소형차에 대응되는 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 설정된 마우스 포인터의 길이, 너비 및 각도를 변경하여 오토바이에 대응되는 제1 경계 박스(11, 12)의 템플릿과 동일한 형태로 마우스 포인터를 변경할 수 있다.다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 서로 상이한 형태(예: 크기, 모양, 각도 등)를 가지는 복수의 제1 경계 박스(11, 12)의 템플릿을 제공할 수 있고, 사용자의 입력에 따라 복수의 제1 경계 박스(11, 12)의 템플릿 중 적어도 하나의 템플릿을 생성할 수 있다. 이후, 컴퓨팅 장치(100)는 생성된 템플릿의 형태(크기, 모양)에 따라 자동적으로 제1 경계 박스가 가리키는 레이블링 대상의 종류를 판단할 수 있다. In various embodiments, when an additional user input (eg, a keyboard input) is received in addition to the input indicating generation of the first bounding boxes 11 and 12 , the computing device 100 receives the first bounding box ( 11 , 12 ) according to the additional user input. 11, 12), the shape of the mouse pointer having the same shape as the template (eg, the length, width, and angle of the mouse pointer) can be changed. For example, when receiving a request for generating a first bounding box for the compact car from the user, the computing device 100 may set the mouse pointer in the same form as the template of the first bounding boxes 11 and 12 corresponding to the compact car. have. In this case, when the computing device 100 receives a first keyboard input from the user indicating that the labeling target is changed from a small car to a motorcycle, a mouse set in the same shape as the template of the first bounding boxes 11 and 12 corresponding to the small car By changing the length, width, and angle of the pointer, the mouse pointer may be changed in the same form as the template of the first bounding box 11 and 12 corresponding to the motorcycle. In various embodiments, the computing device 100 may be configured to A template of a plurality of first bounding boxes 11 and 12 having different shapes (eg, size, shape, angle, etc.) may be provided, and a plurality of first bounding boxes 11 and 12 may be provided according to a user input. At least one template among the templates of . Thereafter, the computing device 100 may automatically determine the type of the labeling target indicated by the first bounding box according to the shape (size, shape) of the generated template.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 제1 경계 박스(11, 12)를 직접 입력(예: 마우스 포인터의 드래그 입력)받을 수 있으며, 직접 입력된 제1 경계 박스(11, 12)의 크기 및 형태를 이용하여, 레이블링 대상의 종류를 판단할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 직접 입력된 제1 경계 박스(11, 12)의 크기 및 형태와 기 저장된 레이블링 대상별 제1 경계 박스(11, 12)의 템플릿을 이용하여 제1 경계 박스(11, 12)가 입력된 레이블링 대상의 종류를 판단할 수 있다. 이를 통해, 컴퓨팅 장치(100)는 UI를 통해 사용자가 별도로 레이블링 대상의 종류를 입력하지 않고도, 레이블링 대상의 종류를 파악할 수 있다는 이점이 있다.In various embodiments, the computing device 100 may receive a direct input of the first bounding boxes 11 and 12 (eg, a drag input of a mouse pointer) through the UI, and the directly inputted first bounding boxes 11 and 12 . ) by using the size and shape of the labeling target can be determined. For example, the computing device 100 uses the directly input size and shape of the first bounding box 11 and 12 and a pre-stored template of the first bounding box 11 and 12 for each labeling target to the first bounding box ( 11, 12) can determine the type of the inputted labeling target. Through this, the computing device 100 has the advantage of being able to identify the type of the labeling target without the user separately inputting the type of the labeling target through the UI.

다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 대상의 종류 및 크기와 관계 없이 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 템플릿을 미리 생성할 수 있고, 사용자 입력에 대응되는 위치에 미리 생성된 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 템플릿을 출력할 수 있으며, UI를 통해 사용자로부터 입력된 수정 내용에 따라 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 크기, 형태 및 위치를 수정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 UI를 통해 출력된 제1 경계 박스(11, 12)에 대하여, 사용자로부터 크기 조절 요청(예: 마우스 포인터(13)를 이용하여 제1 경계 박스(11, 12)의 모서리 또는 꼭지점 부분을 클릭 한 상태에서 드래그 입력을 하는 경우), 형태 변경 요청(예: 제1 경계 박스(11, 12)을 선택(또는 활성화)한 상태에서 변경하고자 하는 도형의 형태를 선택하는 경우) 및 위치 조정 요청(예: 제1 경계 박스(11, 12)을 선택(또는 활성화)한 상태에서 이동하고자 하는 위치로 드래그 입력을 하는 경우)을 포함하는 수정 내용을 입력 받을 수 있다.In various embodiments, the computing device 100 may generate in advance a template of the first bounding boxes 11 and 12 in the form of a 2D figure having a predetermined size regardless of the type and size of the labeling object, and A template of the first bounding boxes 11 and 12 in the form of a 2D figure having a predetermined size generated in advance can be output at a corresponding position, and a 2D having a predetermined size according to the modification input from the user through the UI The size, shape, and position of the first bounding boxes 11 and 12 in the shape of a figure may be modified. For example, the computing device 100 uses a size adjustment request (eg, a mouse pointer 13 ) from a user with respect to the first bounding boxes 11 and 12 output through the UI, and the first bounding boxes 11 , 11 , 12), when dragging is input while clicking the corner or vertex), requesting a shape change (eg, selecting (or activating) the first bounding box 11, 12, and selecting the shape of the shape to be changed. When selecting) and a request for position adjustment (for example, when dragging input to a desired position while selecting (or activating) the first bounding boxes 11 and 12), correction contents including input can be received .

이후, 컴퓨팅 장치(100)는 UI가 경계 박스 수정 모드인 경우, 크기 조절 요청, 형태 변경 요청 및 위치 조정 요청 중 적어도 하나를 포함하는 수정 내용에 따라 소정의 크기를 가지는 2D 도형 형태의 제1 경계 박스(11, 12)의 형태를 변경할 수 있다. Thereafter, when the UI is in the bounding box modification mode, the computing device 100 sets the first boundary in the form of a 2D figure having a predetermined size according to the modification including at least one of a size adjustment request, a shape change request, and a position adjustment request. The shape of the boxes 11 and 12 can be changed.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 수정 내용이 입력되지 않은 제1 경계 박스(11)와 수정 내용이 입력되거나 또는 입력 중인 제1 경계 박스(12)의 색상을 서로 다르게 하여 출력할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 수정 내용이 입력되지 않은 제1 경계 박스(11)를 빨간색으로 표시하고, 수정 내용이 입력되거나 또는 입력 중인 제1 경계 박스(12)를 파란색으로 표시할 수 있다. 이를 통해, UI를 이용하는 사용자가 레이블링 작업이 완료된 레이블링 대상(예: 수정 내용이 입력되지 않은 제1 경계 박스(11))과 레이블링 작업이 수행중인 레이블링 대상(예: 수정 내용이 입력되거나 또는 입력 중인 제1 경계 박스(12))을 직관적으로 구분할 수 있도록 할 수 있다. In various embodiments, the computing device 100 may output the first bounding box 11 to which the correction content is not inputted from the user and the first bounding box 12 to which the correction content is inputted or inputted from each other and output. can For example, the computing device 100 may display the first bounding box 11 in which correction information is not input in red, and the first bounding box 12 in which correction information is input or being input, in blue. have. Through this, the user using the UI can determine the labeling target for which the labeling operation has been completed (eg, the first bounding box 11 in which the correction information is not input) and the labeling target for which the labeling operation is being performed (eg, the correction information is input or is being inputted). The first bounding box 12) may be intuitively distinguished.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI에 포함된 복수의 제1 경계 박스(11, 12)에 대하여, 사용자로부터 선택되어 활성화된 제1 경계 박스(12)와 사용자로부터 선택되지 않아 활성화되지 않은 제1 경계 박스(11)의 색상을 서로 다르게 하여 출력할 수 있다. 예를 들어, 사용자로부터 선택되지 않아 활성화되지 않은 제1 경계 박스(11)를 빨간색으로 표시하고, 사용자로부터 선택되어 활성화된 제1 경계 박스(12)를 파란색으로 표시함으로써, 사용자가 현재 어느 위치의 레이블링 대상에 대한 레이블링 작업을 수행하고 있는지를 직관적으로 확인 가능하도록 할 수 있다.In various embodiments, the computing device 100 is not activated because the first bounding box 12 is selected and activated by the user and is not selected from the user with respect to the plurality of first bounding boxes 11 and 12 included in the UI. The color of the first bounding box 11 that is not there may be different from each other and output. For example, by displaying the first bounding box 11 that is not selected and activated by the user in red, and the first bounding box 12 that is selected and activated by the user in blue, the user is currently It may be possible to intuitively check whether a labeling operation is being performed on a labeling target.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제1 경계 박스(11, 12)에 대한 수정 내용(예: 키보드 입력을 통한 길이, 너비, 각도, 높이, 지면의 증가 및 감소 등)을 입력받는 경우, 사용자로부터 입력된 수정 내용에 따라 복수의 제1 경계 박스(11, 12) 중 사용자로부터 선택되어 활성화된 제1 경계 박스(12)를 수정할 수 있다.In various embodiments, the computing device 100 inputs modifications to the first bounding boxes 11 and 12 from the user (eg, length, width, angle, height, increase and decrease of the ground, etc. through keyboard input). When receiving, the first bounding box 12 selected and activated by the user among the plurality of first bounding boxes 11 and 12 may be modified according to the correction inputted by the user.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI가 ROU 모드인 경우, 사용자로부터 입력된 임의의 크기의 영역 설정을 입력 받을 수 있으며, 입력 받은 임의의 크기의 영역을 학습을 위한 데이터에서 제외할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 UI가 ROU모드인 상태에서, 마우스를 클릭한 상태를 유지한 상태에서 드래그 동작으로 통해 임의의 크기의 영역을 지정하고, 영역 지정이 완료된 시점에 마우스 클릭을 떼는 동작을 통해 임의의 크기의 영역을 입력 받을 수 있으며, 입력 받은 임의의 크기의 영역을 학습을 위한 데이터에서 제외할 수 있다.In various embodiments, when the UI is in the ROU mode, the computing device 100 may receive a region setting of any size input from the user, and may exclude an input region of any size from the data for learning. have. For example, the computing device 100 designates an area of any size through a drag operation in a state where the UI is in the ROU mode, and maintains the clicked state of the mouse, and clicks the mouse when the area designation is completed. An area of an arbitrary size can be input through the tearing operation, and the received area of an arbitrary size can be excluded from the data for learning.

다시 도 3을 참조하면, S130 단계에서, 컴퓨팅 장치(100)는 레이블링 대상에 대한 센서 데이터 좌표(예: 영상 데이터 상의 좌표)를 선택할 수 있다. 예를 들어, 컴퓨팅 장치(100)가 2D 형태의 데이터 상에서 레이블링 대상에 대한 사용자 입력을 수신하는 경우, 사용자 입력에 대응되는 레이블링 대상에 대한 3D 포인트 클라우드 데이터 좌표를 추출할 수 있다. Referring back to FIG. 3 , in step S130 , the computing device 100 may select sensor data coordinates (eg, coordinates on image data) for a labeling target. For example, when the computing device 100 receives a user input for a labeling target on 2D data, 3D point cloud data coordinates for a labeling target corresponding to the user input may be extracted.

이후, 컴퓨팅 장치(100)는 2D 형태의 데이터와 기 매칭된 센서 데이터에서 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 좌표를 선택할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 조감도 형태로 XY평면상에 투사된 2D 형태의 데이터와 매칭되는 3D 포인트 클라우드 데이터의 좌표(x, y, z의 3차원 좌표)를 이용하여, 3D 포인트 클라우드 데이터와 투영된 센서 데이터(예: 영상 데이터)의 좌표 값을 선택할 수 있다.Thereafter, the computing device 100 may select the sensor data coordinates corresponding to the 3D point cloud data coordinate values of the labeling target from the sensor data previously matched with the 2D form data. For example, the computing device 100 uses the coordinates (three-dimensional coordinates of x, y, and z) of the 3D point cloud data matched with the data in the 2D form projected onto the XY plane in the form of a bird's eye view, the 3D point cloud Coordinate values of data and projected sensor data (eg image data) can be selected.

다양한 실시예에서, 컴퓨팅 장치(100)는 2D 형태의 데이터 상에 생성된 제1 경계 박스를 이용하여 센서 데이터 상에 출력할 제2 경계 박스를 생성할 수 있다. 이후, 컴퓨팅 장치(100)는 제2 경계 박스의 3D 좌표 값(X, Y, Z)과 센서 데이터 좌표 값을 매핑(mapping)할 수 있는 매트릭스(matrix)를 이용하여 센서 데이터 좌표를 선택할 수 있다.In various embodiments, the computing device 100 may generate a second bounding box to be output on the sensor data by using the first bounding box generated on the 2D data. Thereafter, the computing device 100 may select the sensor data coordinates using a matrix capable of mapping the 3D coordinate values (X, Y, Z) of the second bounding box and the sensor data coordinate values. .

다양한 실시예에서, 컴퓨팅 장치(100)는 S120 단계에서 생성된 제1 경계 박스(예: 도 6의 11, 12)에 기초하여, 센서 데이터(예: 영상 데이터) 상에서 2D 도형 형태 또는 3D 도형 형태의 제2 경계 박스를 생성할 수 있다. 이하, 도 7 및 8을 참조하여 설명하도록 한다.In various embodiments, the computing device 100 performs a 2D shape or a 3D shape on sensor data (eg, image data) based on the first bounding box (eg, 11 and 12 of FIG. 6 ) generated in step S120 . It is possible to create a second bounding box of . Hereinafter, it will be described with reference to FIGS. 7 and 8 .

도 7은 다양한 실시예에서, 센서 데이터가 3D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 3D 도형 형태의 경계 박스를 도시한 도면이다.7 is a diagram illustrating a bounding box in the form of a 3D figure output on a UI according to a user input when sensor data is 3D data, according to various embodiments of the present disclosure;

도 7을 참조하여, 컴퓨팅 장치(100)는 센서 데이터가 3D 데이터인 경우, S120 단계에서 생성된 제1 경계 박스(11a, 11b, 11c)에 기초하여 3D 도형 형태의 제2 경계 박스(31a, 31b, 31c)를 생성할 수 있다. Referring to FIG. 7 , when the sensor data is 3D data, the computing device 100 provides a second bounding box 31a in the form of a 3D figure based on the first bounding box 11a , 11b , 11c generated in step S120 , 31b, 31c) can be created.

다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터가 3D 데이터(예: 3D 레이저 스캔 데이터)인 경우, 제1 경계 박스(11a, 11b, 11c) 내부의 적어도 하나의 포인트에 대한 높이 정보를 이용하여 레이블링 대상의 바닥면 및 높이를 산출하고, 산출된 레이블링 대상의 바닥면 및 높이를 이용하여 3D 센서 데이터(30) 상에서 센서 데이터 좌표 값과 대응되는 위치에 3D 도형 형태의 제2 경계 박스(31a, 31b, 31c)를 생성할 수 있다. In various embodiments, when the sensor data is 3D data (eg, 3D laser scan data), the computing device 100 uses height information for at least one point inside the first bounding boxes 11a, 11b, and 11c. to calculate the bottom surface and height of the labeling object, and use the calculated bottom surface and height of the labeling object to place a second bounding box 31a in the form of a 3D figure at a position corresponding to the sensor data coordinate value on the 3D sensor data 30 , 31b, 31c) can be generated.

일례로, 레이블링 대상의 종류가 자동차이고, 제1 경계 박스(11a, 11b, 11c)가 직사각형 형태인 경우, 컴퓨팅 장치(100)는 직사각형 형태의 제1 경계 박스(11a, 11b, 11c) 내부에 포함된 포인트들의 평균 높이, 최소 높이 및 최대 높이를 산출하고, 산출된 평균 높이, 최소 높이 및 최대 높이를 이용하여 레이블링 대상인 자동차의 바닥면과 높이를 산출할 수 있다. For example, when the type of the labeling object is a car and the first bounding boxes 11a, 11b, and 11c have a rectangular shape, the computing device 100 is located inside the rectangular first bounding boxes 11a, 11b, and 11c. The average height, minimum height, and maximum height of the included points may be calculated, and the floor surface and height of the vehicle to be labeled may be calculated using the calculated average height, minimum height, and maximum height.

이후, 컴퓨팅 장치(100)는 레이블링 대상인 자동차의 바닥면과 높이를 이용하여 중심점(x, y, z), 각도(yaw), 크기(길이(length), 너비(width), 높이(height))를 계산하고, 계산된 중심점, 각도 및 크기를 특징으로 가지는 직육면체 형태의 제2 경계 박스(31a, 31b, 31c)를 생성할 수 있다. 또한, 컴퓨팅 장치(100)는 생성된 직육면체 형태의 제2 경계 박스(31a, 31b, 31c)를 3D 센서 데이터(30) 상 레이블링 대상의 센서 데이터 좌표 값과 대응되는 위치에 출력할 수 있다. 그러나, 이에 한정되지 않는다.Thereafter, the computing device 100 is a center point (x, y, z), angle (yaw), size (length (length), width (width), height (height)) using the floor surface and height of the vehicle to be labeled may be calculated, and the second bounding boxes 31a, 31b, and 31c in the form of a rectangular parallelepiped having the calculated center point, angle, and size may be generated. Also, the computing device 100 may output the generated second bounding boxes 31a, 31b, and 31c in the form of a cuboid at positions corresponding to the sensor data coordinate values of the labeling target on the 3D sensor data 30 . However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 산출된 레이블링 대상인 자동차의 바닥면과 높이를 이용하여 생성된 제2 경계 박스(31a, 31b, 31c)의 주변부를 단면(예: X-Z평면 및 Y-Z평면)으로 잘라 팝업창 형태로 UI상에 출력할 수 있다. 이를 통해, 컴퓨팅 장치(100)에서 산출한 자동차의 바닥면과 높이가 정확하지 않더라도, 사용자가 팝업창 형태로 출력된 제2 경계 박스(31a, 31b, 31c)의 단면을 확인하여 보다 세밀하게 수정 및 변경하도록 할 수 있다.In various embodiments, the computing device 100 cross-sections (eg, XZ plane and YZ plane) the periphery of the second bounding box 31a , 31b , 31c generated using the calculated labeling target car floor surface and height. It can be cut and output on the UI in the form of a pop-up window. Through this, even if the floor surface and height of the vehicle calculated by the computing device 100 are not accurate, the user checks the cross sections of the second bounding boxes 31a, 31b, and 31c output in the form of a pop-up window and corrects them in more detail and can make it change.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제2 경계 박스의 중심점, 각도 및 크기를 조정하는 사용자 입력(예: 키보드를 통하여 중심점, 각도 및 크기의 값을 직접 입력)을 수신하여 계산된 중심점, 각도 및 크기 값을 수정할 수 있다.In various embodiments, the computing device 100 receives, from a user, a user input for adjusting the center point, angle, and size of the second bounding box (eg, directly inputting values of the center point, angle, and size through a keyboard) and calculates the calculated value. The center point, angle and size values can be modified.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 제1 경계 박스(11a, 11b, 11c)의 크기 및 형태를 직접 입력 받을 수 있고, 사용자가 레이블링 대상의 종류를 직접 입력하지 않더라도, UI를 통해 직접 입력된 제1 경계 박스(11a, 11b, 11c)의 크기 및 형태를 이용하여 제1 경계 박스(11a, 11b, 11c) 각각이 가리키는 레이블링 대상의 종류를 판단할 수 있다.In various embodiments, the computing device 100 may directly receive the size and shape of the first bounding box 11a, 11b, 11c through the UI, and even if the user does not directly input the type of the labeling target, the UI The type of the labeling target indicated by each of the first bounding boxes 11a, 11b, and 11c may be determined by using the sizes and shapes of the first bounding boxes 11a, 11b, and 11c directly input through the .

예를 들어, 레이블링 대상의 종류는 도로상을 주행하는 차량의 종류(예를 들어, 경차, 오토바이, 소형차, 중형차, 트럭 및 버스 등)뿐 아니라, 실시 예에 따라 사람, 공사 현장과 같은 고정된 장애물, 가드레일 및 표지판 등을 포함할 수 있으며, 이에 제한되는 것은 아니다. 이러한 레이블링 대상의 종류는 상술한 바와 같이 사용자의 입력에 기반하여 획득될 수도 있고, 제1 경계 박스의 형태, 크기 및 제1 경계 박스에 포함된 데이터 중 적어도 일부에 기반하여 판단될 수도 있다. 레이블링 대상의 종류에 대한 정보가 기 저장되어 있는 경우, 컴퓨팅 장치(100)는 해당 레이블링 대상의 3차원 형태 및 크기에 대한 정보를 획득할 수 있으며, 실시 예에 따라 종류가 저장되지 않은 레이블링 대상의 경우에도 제1 경계 박스의 크기에 기반하여 소정의 비율로 해당 레이블링 대상의 3차원 형태 및 크기를 추정할 수도 있다.For example, the type of the labeling target may include not only the type of vehicle traveling on the road (eg, light vehicle, motorcycle, small vehicle, medium-sized vehicle, truck, and bus, etc.), but also a person, It may include, but is not limited to, obstacles, guard rails, and signs. The type of the labeling target may be obtained based on a user's input as described above, or may be determined based on at least a part of the shape and size of the first bounding box and data included in the first bounding box. When information on the type of the labeling object is previously stored, the computing device 100 may acquire information on the three-dimensional shape and size of the corresponding labeling object, and according to an embodiment, Even in this case, the three-dimensional shape and size of the corresponding labeling target may be estimated at a predetermined ratio based on the size of the first bounding box.

이후, 컴퓨팅 장치(100)는 제1 경계 박스(11a, 11b, 11c) 각각이 가리키는 레이블링 대상의 종류에 기초하여, 미리 생성된 제2 경계 박스(31a, 31b, 31c)의 템플릿을 중 레이블링 대상의 종류에 대응되는 제2 경계 박스(31a, 31b, 31c)의 템플릿을 선택하고, 선택한 제2 경계 박스(31a, 31b, 31c)의 템플릿을 3D 센서 데이터(30) 상 레이블링 대상의 센서 데이터 좌표 값과 대응되는 위치에 출력할 수 있다.Thereafter, the computing device 100 selects the templates of the second bounding boxes 31a, 31b, and 31c generated in advance based on the type of labeling target indicated by each of the first bounding boxes 11a, 11b, and 11c. Selects the template of the second bounding box 31a, 31b, 31c corresponding to the type of , and sets the template of the selected second bounding box 31a, 31b, 31c to the sensor data coordinates of the labeling target on the 3D sensor data 30 It can be output to the position corresponding to the value.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제2 경계 박스(31a, 31b, 31c)에 대한 수정 내용을 입력 받을 수 있으며, 수정 내용에 따라 제2 경계 박스(31a, 31b, 31c)를 수정함과 동시에 제2 경계 박스(31a, 31b, 31c)와 대응되는 제1 경계 박스(11a, 11b, 11c)도 함께 수정할 수 있다.In various embodiments, the computing device 100 may receive an input of correction for the second bounding boxes 31a, 31b, and 31c from the user, and set the second bounding boxes 31a, 31b, and 31c according to the correction. Simultaneously with the correction, the first bounding boxes 11a, 11b, and 11c corresponding to the second bounding boxes 31a, 31b, and 31c may also be modified.

도 8은 다양한 실시예에서, 센서 데이터가 2D 데이터인 경우에 사용자 입력에 따라 UI 상에 출력되는 2D 도형 형태의 경계 박스를 도시한 도면이다.8 is a diagram illustrating a bounding box in the form of a 2D figure output on a UI according to a user input when sensor data is 2D data, according to various embodiments of the present disclosure;

도 8을 참조하면, 센서 데이터가 2D 데이터인 경우, S120 단계에서 생성된 제1 경계 박스(11a, 11b, 11c)에 기초하여 2D 도형 형태의 제2 경계 박스(21a, 21b, 21c)를 생성할 수 있다. Referring to FIG. 8 , when sensor data is 2D data, second bounding boxes 21a, 21b, and 21c in the form of a 2D figure are generated based on the first bounding boxes 11a, 11b, and 11c generated in step S120. can do.

다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터가 2D 데이터(예: 카메라로부터 촬영된 영상 데이터)인 경우, 상기의 방법(예: 센서 데이터가 3D 데이터인 경우에 제2 경계 박스를 생성하는 방법)으로 생성된 3D 도형 형태의 제2 경계 박스(예: 도 7의 31a, 31b, 31c)의 좌표 값을 매트릭스 형태의 카메라 파라미터를 통해 이미지 좌표계로 변환하고, 2D 센서 데이터(20) 상에서 센서 데이터 좌표 값과 대응되는 위치에 이미지 좌표계로 변환된 2D 도형 형태의 제2 경계 박스(21a, 21b, 21c)를 생성할 수 있다.In various embodiments, when the sensor data is 2D data (eg, image data captured from a camera), the computing device 100 generates a second bounding box in the above method (eg, when the sensor data is 3D data) method), the coordinate values of the second bounding box (eg, 31a, 31b, 31c in FIG. 7 ) in the form of a 3D figure are converted into an image coordinate system through the camera parameters in the form of a matrix, and the 2D sensor data 20 The second bounding boxes 21a, 21b, and 21c in the form of a 2D figure converted into the image coordinate system may be generated at positions corresponding to the data coordinate values.

일례로, 레이블링 대상의 종류가 자동차이고, 제1 경계 박스(11a, 11b, 11c)가 직사각형 형태인 경우, 컴퓨팅 장치(100)는 직사각형 형태의 제1 경계 박스(11a, 11b, 11c) 내부에 포함된 포인트들의 평균 높이, 최소 높이 및 최대 높이를 산출하고, 산출된 평균 높이, 최소 높이 및 최대 높이를 이용하여 레이블링 대상인 자동차의 바닥면과 높이를 산출할 수 있다. For example, when the type of the labeling object is a car and the first bounding boxes 11a, 11b, and 11c have a rectangular shape, the computing device 100 is located inside the rectangular first bounding boxes 11a, 11b, and 11c. The average height, minimum height, and maximum height of the included points may be calculated, and the floor surface and height of the vehicle to be labeled may be calculated using the calculated average height, minimum height, and maximum height.

이후, 컴퓨팅 장치(100)는 레이블링 대상인 자동차의 바닥면과 높이를 이용하여 중심점, 각도, 크기를 계산하고, 계산된 중심점, 각도 및 크기를 특징으로 가지는 직육면체 형태의 제2 경계 박스(예: 도 7의 31a, 31b, 31c)를 생성할 수 있다.Thereafter, the computing device 100 calculates a center point, an angle, and a size using the floor surface and height of the vehicle as a labeling target, and a second bounding box in the form of a cuboid having the calculated center point, angle, and size (eg, in FIG. 31a, 31b, 31c) of 7 can be created.

이후, 컴퓨팅 장치(100)는 직육면체 형태의 제2 경계 박스(예: 도 7의 31a, 31b, 31c)의 꼭지점 좌표 이미지 좌표계로 변환하여 직사각형 형태의 제2 경계 박스(21a, 21b, 21c)를 생성할 수 있고, 생성한 직사각형 형태의 제2 경계 박스(21a, 21b, 21c)를 2D 센서 데이터(20)에서 레이블링 대상의 센서 데이터 좌표 값과 대응되는 위치에 출력할 수 있다. 그러나, 이에 한정되지 않는다.Thereafter, the computing device 100 converts the vertex coordinate image coordinate system of the second bounding box (eg, 31a, 31b, 31c of FIG. 7 ) of a rectangular parallelepiped shape to the second bounding box 21a, 21b, 21c in a rectangular shape. may be generated, and the generated rectangular second bounding boxes 21a, 21b, and 21c may be output at positions corresponding to the sensor data coordinate values of the labeling target in the 2D sensor data 20 . However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 기 생성된 제1 경계 박스에 대한 수정 내용(예: 제1 경계 박스에 대한 크기 조절 요청, 형태 변경 요청 및 위치 변경 요청 등)을 입력 받는 경우, 수정 내용에 따라 제1 경계 박스를 변경하고, 변경된 제1 경계 박스의 변경 내용에 따라 제2 경계 박스를 변경할 수 있다. 예를 들어, UI를 통해 제1 경계 박스의 형태가 직사각형에서 정사각형으로 변경할 것을 요청하는 수정 내용이 입력되는 경우, 컴퓨팅 장치(100)는 변경된 수정 내용에 따라 제1 경계 박스의 형태를 직사각형에서 정사각형으로 변경할 수 있으며, 제1 경계 박스의 형태가 변경되는 것에 기초하여 제2 경계 박스의 형태를 직육면체에서 정육면체로 변경할 수 있다.According to various embodiments, the computing device 100 is modified when receiving modifications of the previously created first bounding box (eg, a size adjustment request, a shape change request, a location change request, etc. for the first bounding box). The first bounding box may be changed according to the content, and the second bounding box may be changed according to the changed content of the changed first bounding box. For example, when a correction requesting that the shape of the first bounding box be changed from a rectangle to a square is input through the UI, the computing device 100 changes the shape of the first bounding box from a rectangle to a square according to the changed content , and the shape of the second bounding box may be changed from a cuboid to a cube based on the change in the shape of the first bounding box.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 기 생성된 제1 경계 박스에 대한 수정 내용이 입력되는 경우, 수정 내용에 따라 제1 경계 박스와 제2 경계 박스의 형태를 동시에 변경할 수 있다. 예를 들어, UI를 통해 입력된 제1 수정 내용이 크기 변경 요청인 경우, 컴퓨팅 장치(100)는 크기 변경 요청에 따라 제1 경계 박스 및 제2 경계 박스의 크기를 순차적으로 변경할 수 있다. 또한, UI를 통해 위치 변경을 요청하는 제2 수정 내용이 입력되는 경우, 제2 수정 내용에 따라 제1 경계 박스 및 제2 경계 박스의 위치를 순차적으로 변경할 수 있다. 이를 통해, 사용자는 제1 UI(예: 도 4의 41)를 통해 제1 경계 박스의 형태를 수정한 내용에 따라 제2 경계 박스가 어떻게 달라지는지는 제2 UI(예: 도 4의 42)를 통해 즉각적으로 확인할 수 있다는 이점이 있다.In various embodiments, when a modification to the previously generated first bounding box is input through the UI, the computing device 100 may simultaneously change the shapes of the first bounding box and the second bounding box according to the modified content. . For example, when the first modification input through the UI is a size change request, the computing device 100 may sequentially change the sizes of the first bounding box and the second bounding box according to the size change request. Also, when a second modification requesting a position change is input through the UI, the positions of the first bounding box and the second bounding box may be sequentially changed according to the second correction. Through this, the user can see how the second bounding box changes according to the content of the modification of the shape of the first bounding box through the first UI (eg, 41 in FIG. 4 ) through the second UI (eg, 42 in FIG. 4 ). It has the advantage of being able to check it immediately.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 기 생성된 제1 경계 박스에 대한 수정 내용이 입력되는 경우, 모든 수정 내용이 완료되는 시점에 모든 수정 내용을 적용하여 제2 경계 박스의 형태를 변경할 수 있다. 예를 들어, 제1 경계 박스에 수정 내용이 입력되고 있는 상태(예: 도 6의 12)에서, 제1 수정 내용 및 제2 수정 내용이 순차적으로 입력되는 경우, 컴퓨팅 장치(100)는 제1 수정 내용 및 제2 수정 내용을 순차적으로 반영하여 제1 경계 박스의 형태를 변경할 수 있고, 제1 경계 박스에 대한 수정 내용 입력이 완료된 상태(예: 도 6의 11)가 되면, 제1 수정 내용 및 제2 수정 내용을 일괄적으로 반영하여 제2 경계 박스의 형태를 변경할 수 있다. 사용자가 제1 경계 박스에 대하여 반복적으로 수정 내용을 입력할 경우, 반복적으로 입력되는 수정 내용에 따라 제2 경계 박스도 함께 반복적으로 변경하게 되면 연산량이 증가하게 된다. 이때, 컴퓨팅 장치(100)는 상기와 같이 반복적으로 입력되는 제1 경계 박스에 대한 수정 내용을 종합하여 일괄적으로 제2 경계 박스에 반영함으로써, 제2 경계 박스를 반복적으로 수정함으로써 연산량이 증가하는 것을 방지할 수 있다는 이점이 있다.In various embodiments, the computing device 100 applies all modifications at the point in time when all the modifications are completed when the previously generated first bounding box is inputted through the UI to form the second bounding box. can be changed. For example, in a state in which correction content is being input to the first bounding box (eg, 12 in FIG. 6 ), when the first correction content and the second correction content are sequentially input, the computing device 100 performs the first The shape of the first bounding box may be changed by sequentially reflecting the correction content and the second correction content, and when the correction content input to the first bounding box is completed (eg, 11 in FIG. 6 ), the first correction content and the shape of the second bounding box may be changed by collectively reflecting the second modification. When the user repeatedly inputs corrections with respect to the first bounding box, the amount of computation increases if the second bounding box is also repeatedly changed according to the repeatedly inputted corrections. In this case, the computing device 100 aggregates the corrections for the first bounding box input repeatedly as described above and collectively reflects the corrections in the second bounding box, thereby increasing the amount of computation by repeatedly modifying the second bounding box. This has the advantage of being able to prevent it.

다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 기 생성된 제1 경계 박스에 대한 수정 내용이 입력되는 경우, 수정 내용에 따라 수정된 제1 경계 박스의 크기 및 형태에 기초하여 제1 경계 박스에 대응되는 레이블링 대상의 종류를 변경할 수 있다. 또한, 컴퓨팅 장치(100)는 레이블링 대상의 종류가 변경됨에 따라 제2 경계 박스의 크기 및 형태를 변경할 수 있다.In various embodiments, the computing device 100 receives a first boundary based on the size and shape of the first boundary box modified according to the modification when a modification to the previously generated first boundary box is input through the UI. The type of labeling target corresponding to the box can be changed. Also, the computing device 100 may change the size and shape of the second bounding box as the type of the labeling target is changed.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 제2 경계 박스(21a, 21b, 21c)에 대한 수정 내용을 입력 받을 수 있으며, 수정 내용에 따라 제2 경계 박스(21a, 21b, 21c)를 수정함과 동시에 제2 경계 박스(21a, 21b, 21c)와 대응되는 제1 경계 박스(11a, 11b, 11c)도 함께 수정할 수 있다.In various embodiments, the computing device 100 may receive an input of correction for the second bounding boxes 21a, 21b, and 21c from the user, and set the second bounding boxes 21a, 21b, and 21c according to the correction. Simultaneously with the correction, the first bounding boxes 11a, 11b, and 11c corresponding to the second bounding boxes 21a, 21b, and 21c may also be modified.

다시 도 3을 참조하면, S140 단계에서, 컴퓨팅 장치(100)는 S130 단계에서 선택한 센서 데이터 좌표 값을 이용하여 센서 데이터 상에 레이블링을 수행할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 센서 데이터, 레이블링 대상의 종류(또는 라벨 네임)(예: 자동차, 사람 등)를 가리키는 데이터(예: 사용자로부터 직접 입력 받은 레이블링 대상의 종류 또는 제1 경계 박스의 크기 및 형태에 따라 판단된 레이블링 대상의 종류를 가리키는 데이터), 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값 및 레이블링 대상의 센서 데이터 좌표 값을 포함하는 데이터 셋(data set)을 구성할 수 있다. 그러나, 이에 한정되지 않는다.Referring back to FIG. 3 , in step S140 , the computing device 100 may perform labeling on the sensor data using the sensor data coordinate value selected in step S130 . For example, the computing device 100 may include sensor data, data indicating the type (or label name) (eg, car, person, etc.) of the labeling object (eg, the type of the labeling object directly input from the user or the first bounding box) data indicating the type of labeling target determined according to the size and shape of ), a 3D point cloud data coordinate value of the labeling target, and a data set including the sensor data coordinate value of the labeling target may be configured. However, the present invention is not limited thereto.

다양한 실시예에서, 하나의 2D 형태의 데이터와 복수의 센서 데이터가 매칭된 경우, 복수의 센서 데이터 각각에 대하여 데이터 셋을 구성할 수 있다.According to various embodiments, when one 2D data and a plurality of sensor data are matched, a data set may be configured for each of the plurality of sensor data.

다양한 실시예에서, 컴퓨팅 장치(100)는 센서 데이터 중 제1 시점에서의 센서 데이터에 대한 레이블링 작업이 완료되는 경우, 제1 시점 이후의 제2 시점에서의 센서 데이터와 기 매칭된 2D 형태의 데이터를 자동적으로 로드(Load)할 수 있다. 예를 들어, 제1 시점에서의 센서 데이터와 기 매칭된 제1 2D 형태의 데이터에 대한 레이블링 작업이 완료되는 경우(예: UI를 통해 레이블링 완료를 가리키는 사용자 입력이 수신되는 경우), 제1 시점 이후의 제2 시점에서의 센서 데이터와 기 매칭된 제2 2D 형태의 데이터를 자동적으로 로드할 수 있다. 이를 통해, 센서 데이터에 대한 레이블링을 수행하는 사용자가 별도의 동작을 취하지 않고도 작업 완료된 센서 데이터 이후의 센서 데이터에 대한 레이블링 작업을 수행할 수 있다는 점에서, 사용자가 작업의 연속성을 유지할 수 있다는 이점이 있다. In various embodiments, when the labeling operation of the sensor data at the first time point among the sensor data is completed, the computing device 100 performs 2D data matching with the sensor data at the second time point after the first time point. can be loaded automatically. For example, when the labeling operation on the first 2D form data previously matched with the sensor data at the first time point is completed (eg, when a user input indicating labeling completion is received through the UI), the first time point Data in a second 2D form previously matched with sensor data at a subsequent second time point may be automatically loaded. Through this, the user can maintain the continuity of the operation in that the user performing the labeling on the sensor data can perform the labeling operation on the sensor data after the completed sensor data without taking a separate action. have.

다양한 실시예에서, 컴퓨팅 장치(100)는 레이블링 작업이 완료된 복수의 2D 형태의 데이터 중 적어도 하나의 2D 형태의 데이터에 대한 로드를 요청받을 수 있다. 컴퓨팅 장치(100)는 사용자로부터 요청받은 적어도 하나의 2D 형태의 데이터와 적어도 하나의 2D 형태의 데이터 상에서 작업된 레이블링에 대한 정보(예: 레이블링 작업으로 생성된 데이터 셋 및 감지(detection) 알고리즘의 결과 데이터(2D 형태의 데이터 및 센서 데이터에 대하여 감지 알고리즘을 통해 자동적으로 레이블링 동작이 수행된 결과를 나타내는 데이터) 등)를 포함하는 UI를 사용자 단말(200)로 제공함으로써, 적어도 하나의 2D 형태의 데이터 상에 신규 경계 박스 생성을 입력 받거나, 기 생성된 경계 박스에 대한 수정 내용을 입력 받을 수 있다.In various embodiments, the computing device 100 may receive a load request for at least one 2D data from among a plurality of 2D data for which a labeling operation has been completed. Computing device 100 provides at least one 2D data requested from a user and information on labeling performed on the at least one 2D data (eg, a data set generated by a labeling operation and a detection algorithm result) By providing a UI including data (such as 2D data and data indicating a result of automatically performing a labeling operation on sensor data through a detection algorithm) to the user terminal 200, at least one 2D data A new bounding box creation may be input on the upper bounding box, or modifications to a pre-created bounding box may be input.

전술된 데이터 레이블링 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 데이터 레이블링 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.The data labeling method described above has been described with reference to the flowchart shown in the drawings. For the sake of simplicity, the data labeling method has been described by showing a series of blocks, but the present invention is not limited to the order of the blocks, and some blocks may be performed in an order different from that illustrated and described herein, or may be performed simultaneously. can In addition, new blocks not described in this specification and drawings may be added, or some blocks may be deleted or changed.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.The components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium. The components of the present invention may be implemented as software programming or software components, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects may be implemented in an algorithm running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

100 : 데이터 레이블링 장치(또는 컴퓨팅 장치)
200 : 사용자 단말
300 : 외부 서버
100: data labeling device (or computing device)
200: user terminal
300 : external server

Claims (11)

컴퓨팅 장치에 의해 수행되는 데이터 레이블링 방법에 있어서,
소정의 지역에 대한 3D 포인트 클라우드 데이터(Point Cloud Data)를 변환하여 생성된 2D 형태의 데이터 상에서 레이블링(Labeling) 대상을 가리키는 사용자 입력을 얻는 단계;
상기 3D 포인트 클라우드 데이터와 기 매칭된 센서 데이터 - 상기 센서 데이터는 레이저 스캔 센서로부터 획득되는 레이저 스캔 데이터 및 카메라 센서를 통해 촬영되는 영상 데이터 중 적어도 하나를 포함함 - 를 이용하여, 상기 레이블링 대상의 3D 포인트 클라우드 데이터 좌표 값과 대응되는 센서 데이터 상의 좌표 값을 선택하는 단계; 및
상기 센서 데이터 상의 좌표 값을 이용하여 상기 센서 데이터 상에 레이블링을 수행하는 단계를 포함하며,
상기 사용자 입력을 얻는 단계는,
상기 2D 형태의 데이터 및 상기 센서 데이터를 출력하는 사용자 인터페이스(User interface, UI)를 제공하고, 상기 제공된 UI를 통해 출력된 상기 2D 형태의 데이터 상에서 상기 레이블링 대상을 가리키는 사용자 입력을 얻는 단계를 포함하는, 데이터 레이블링 방법.
A data labeling method performed by a computing device, comprising:
obtaining a user input pointing to a labeling target on 2D data generated by converting 3D point cloud data for a predetermined region;
3D of the labeling target using sensor data previously matched with the 3D point cloud data, wherein the sensor data includes at least one of laser scan data obtained from a laser scan sensor and image data captured through a camera sensor selecting a coordinate value on the sensor data corresponding to the point cloud data coordinate value; and
performing labeling on the sensor data by using the coordinate values on the sensor data,
The step of obtaining the user input includes:
Providing a user interface (UI) for outputting the 2D data and the sensor data, and obtaining a user input indicating the labeling target on the 2D data output through the provided UI , data labeling methods.
제1항에 있어서,
상기 사용자 입력을 얻는 단계는,
상기 레이블링 대상의 크기에 기초하여 상기 레이블링 대상에 대한 2D 도형 형태의 제1 경계 박스(Bounding box)를 생성하는 단계를 포함하고,
상기 센서 데이터 상의 좌표 값을 선택하는 단계는,
상기 제1 경계 박스를 이용하여 상기 센서 데이터 상에 2D 또는 3D 도형 형태의 제2 경계 박스를 생성하는 단계를 포함하는, 데이터 레이블링 방법.
According to claim 1,
The step of obtaining the user input includes:
generating a first bounding box in the form of a 2D figure for the labeling object based on the size of the labeling object,
The step of selecting a coordinate value on the sensor data comprises:
and generating a second bounding box in the form of a 2D or 3D figure on the sensor data by using the first bounding box.
제2항에 있어서,
상기 제2 경계 박스를 생성하는 단계는,
상기 센서 데이터가 3D 데이터인 경우, 상기 제1 경계 박스 내부의 적어도 하나의 포인트에 대한 높이 정보를 이용하여 상기 레이블링 대상의 바닥면 및 높이를 산출하고, 상기 산출된 레이블링 대상의 바닥면 및 높이를 이용하여 상기 센서 데이터 상에서 상기 센서 데이터 상의 좌표 값과 대응되는 위치에 3D 도형 형태의 제2 경계 박스를 생성하는 단계; 및
상기 센서 데이터가 2D 데이터인 경우, 상기 3D 도형 형태의 제2 경계 박스의 좌표 값을 이미지 좌표계로 변환하고, 상기 센서 데이터 상에서 상기 센서 데이터 상의 좌표 값과 대응되는 위치에 상기 이미지 좌표계로 변환된 제2 경계 박스를 생성하는 단계를 포함하는, 데이터 레이블링 방법.
3. The method of claim 2,
The generating of the second bounding box includes:
When the sensor data is 3D data, the bottom surface and height of the labeling object are calculated using height information on at least one point inside the first bounding box, and the calculated bottom surface and height of the labeling object are calculated generating a second bounding box in the form of a 3D figure at a position corresponding to a coordinate value on the sensor data on the sensor data by using; and
When the sensor data is 2D data, the coordinate value of the second bounding box of the 3D figure form is converted into an image coordinate system, and the first converted into the image coordinate system at a position corresponding to the coordinate value on the sensor data on the sensor data 2 A method for labeling data, comprising generating a bounding box.
제2항에 있어서,
상기 사용자 입력을 얻는 단계는,
상기 UI를 통해 상기 사용자 입력에 대응하는 상기 제1 경계 박스 및 상기 제2 경계 박스를 출력하는 단계를 더 포함하는, 데이터 레이블링 방법.
3. The method of claim 2,
The step of obtaining the user input includes:
and outputting the first bounding box and the second bounding box corresponding to the user input through the UI.
제4항에 있어서,
상기 사용자 입력을 얻는 단계는,
상기 UI를 통해 기 생성된 제1 경계 박스에 대한 수정을 입력 받는 단계를 더 포함하며,
상기 센서 데이터 상의 좌표 값을 선택하는 단계는,
상기 기 생성된 제1 경계 박스의 수정 내용에 따라 상기 제2 경계 박스의 형태를 변경하는 단계를 더 포함하는, 데이터 레이블링 방법.
5. The method of claim 4,
The step of obtaining the user input includes:
Further comprising the step of receiving a correction input for the pre-generated first bounding box through the UI,
The step of selecting a coordinate value on the sensor data comprises:
The method further comprising the step of changing the shape of the second bounding box according to the modified content of the pre-generated first bounding box.
제4항에 있어서,
상기 사용자 입력을 얻는 단계는,
상기 사용자 입력에 따라 기 생성된 서로 다른 형태를 가지는 복수의 제1 경계 박스의 템플릿 중 어느 하나의 템플릿을 상기 UI상에 출력하는 단계를 더 포함하며,
상기 레이블링을 수행하는 단계는,
상기 출력된 어느 하나의 템플릿의 형태에 따라 상기 레이블링 대상의 종류를 판단하는 단계를 더 포함하는, 데이터 레이블링 방법.
5. The method of claim 4,
The step of obtaining the user input includes:
The method further comprising the step of outputting any one template among a plurality of templates of a plurality of first bounding boxes having different shapes previously generated according to the user input on the UI,
The step of performing the labeling comprises:
Further comprising the step of determining the type of the labeling target according to the form of any one of the output template, the data labeling method.
제1항에 있어서,
상기 데이터 레이블링 방법은,
상기 센서 데이터 중 동일한 시점에서의 센서 데이터의 좌표 값과 3D 포인트 클라우드 데이터의 좌표 값을 매칭하는 단계; 및
X축 및 Y축을 기준으로 상기 3D 포인트 클라우드 데이터를 조감도(Bird-eye-view, BEV) 형태로 투사(projection)하는 방법 및 상기 3D 포인트 클라우드 데이터를 2D 격자 지도 상에 양자화하는 방법 중 적어도 하나의 방법을 이용하여 상기 2D 형태의 데이터를 생성하는 단계를 더 포함하는, 데이터 레이블링 방법.
According to claim 1,
The data labeling method comprises:
matching the coordinate values of the sensor data at the same time point among the sensor data and the coordinate values of the 3D point cloud data; and
At least one of a method of projecting the 3D point cloud data in the form of a bird-eye-view (BEV) based on the X-axis and the Y-axis and a method of quantizing the 3D point cloud data on a 2D grid map The method further comprising the step of generating the data in the 2D form using the method, data labeling method.
제7항에 있어서,
상기 데이터 레이블링 방법은,
상기 센서 데이터 중 제1 시점에서의 센서 데이터에 대한 레이블링 작업이 완료되는 경우, 상기 제1 시점 이후의 제2 시점에서의 센서 데이터와 기 매칭된 3D 포인트 클라우드 데이터를 변환하여 생성된 2D 형태의 데이터를 자동적으로 로드하는 단계를 더 포함하는, 데이터 레이블링 방법.
8. The method of claim 7,
The data labeling method comprises:
When the labeling operation of the sensor data at the first time point among the sensor data is completed, 2D form data generated by converting the 3D point cloud data matched with the sensor data at the second time point after the first time point Further comprising the step of automatically loading the data labeling method.
삭제delete 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
제1 항의 방법을 수행하는, 장치.
a memory storing one or more instructions; and
a processor executing the one or more instructions stored in the memory;
The processor by executing the one or more instructions,
An apparatus for performing the method of claim 1 .
하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 판독가능한 기록매체에 저장된 컴퓨터프로그램.A computer program stored in a computer-readable recording medium in combination with a computer, which is hardware, to perform the method of claim 1.
KR1020190144770A 2019-11-13 2019-11-13 Method, apparatus and computer program for conducting automatic driving data labeling KR102325367B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190144770A KR102325367B1 (en) 2019-11-13 2019-11-13 Method, apparatus and computer program for conducting automatic driving data labeling
KR1020210151623A KR20210135206A (en) 2019-11-13 2021-11-05 Method, apparatus and computer program for conducting automatic driving data labeling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190144770A KR102325367B1 (en) 2019-11-13 2019-11-13 Method, apparatus and computer program for conducting automatic driving data labeling

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210151623A Division KR20210135206A (en) 2019-11-13 2021-11-05 Method, apparatus and computer program for conducting automatic driving data labeling

Publications (2)

Publication Number Publication Date
KR20210057943A KR20210057943A (en) 2021-05-24
KR102325367B1 true KR102325367B1 (en) 2021-11-11

Family

ID=76153110

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190144770A KR102325367B1 (en) 2019-11-13 2019-11-13 Method, apparatus and computer program for conducting automatic driving data labeling
KR1020210151623A KR20210135206A (en) 2019-11-13 2021-11-05 Method, apparatus and computer program for conducting automatic driving data labeling

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210151623A KR20210135206A (en) 2019-11-13 2021-11-05 Method, apparatus and computer program for conducting automatic driving data labeling

Country Status (1)

Country Link
KR (2) KR102325367B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230141103A (en) 2022-03-31 2023-10-10 주식회사 비솔 Object creating system based on real image of background data for AI training
KR20230146272A (en) 2022-04-12 2023-10-19 주식회사 비솔 Character creating system based on 3d graphics of background data for AI training

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376397B1 (en) 2021-09-27 2022-03-21 국방과학연구소 A Data Augmentation Method for End-to-End Autonomous Driving Using Fast and Accurate Viewpoint Transformation
KR102591078B1 (en) * 2023-05-02 2023-10-19 주식회사 렛서 Electronic device for performing 3d object detection using an artificial intelligence model and operating method thereof
KR102709551B1 (en) * 2023-09-20 2024-09-26 주식회사 라이드플럭스 Method, computing device and computer program for detecting object in real time based on lidar point cloud

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010011A (en) * 2008-07-21 2010-01-29 충북대학교 산학협력단 Method for detecting double touch of the image sensor touch screen
KR20170118501A (en) 2016-04-15 2017-10-25 현대자동차주식회사 Driving path planning apparatus and method for autonomous vehicles
KR102399130B1 (en) * 2017-06-28 2022-05-18 현대모비스 주식회사 Method, apparatus and system for recognizing driving environment of vehicle
KR20190110073A (en) * 2019-09-09 2019-09-27 엘지전자 주식회사 Artificial intelligence apparatus and method for updating artificial intelligence model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. Lerhinphonphan et al., '2D to 3D Label Propagation For Object Detection in Point Cloud,' 2018 IEEE ICMEW, San Diego, CA, USA, 2018, pp. 1-6 (2018.7.23.)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230141103A (en) 2022-03-31 2023-10-10 주식회사 비솔 Object creating system based on real image of background data for AI training
KR20230146272A (en) 2022-04-12 2023-10-19 주식회사 비솔 Character creating system based on 3d graphics of background data for AI training

Also Published As

Publication number Publication date
KR20210057943A (en) 2021-05-24
KR20210135206A (en) 2021-11-12

Similar Documents

Publication Publication Date Title
KR102325367B1 (en) Method, apparatus and computer program for conducting automatic driving data labeling
EP3955158A1 (en) Object detection method and apparatus, electronic device, and storage medium
US10712739B1 (en) Feedback to facilitate control of unmanned aerial vehicles (UAVs)
US10360473B2 (en) User interface creation from screenshots
KR102363501B1 (en) Method, apparatus and computer program for generating earth surface data from 3-dimensional point cloud data
KR102114496B1 (en) Method, terminal unit and server for providing task assistance information in mixed reality
CN111797650A (en) Obstacle identification method and device, computer equipment and storage medium
US11748998B1 (en) Three-dimensional object estimation using two-dimensional annotations
WO2019138597A1 (en) System and method for assigning semantic label to three-dimensional point of point cloud
US11209277B2 (en) Systems and methods for electronic mapping and localization within a facility
KR102424305B1 (en) Method, apparatus and computer program for generating and providing data video for generating training data of artificial intelligence model
CN112424832A (en) System and method for detecting 3D association of objects
CN114830177A (en) Electronic device and method for controlling the same
KR20220001152A (en) Method, apparatus and computer program for generating road network data to automatic driving vehicle
US11321864B1 (en) User guided mode for measurement purposes
CN116778458B (en) Parking space detection model construction method, parking space detection method, equipment and storage medium
US11829595B1 (en) Augmented-reality-based facility semantic mapping
JP7267068B2 (en) Trained model generation device, program and trained model generation system
KR20220021581A (en) Robot and control method thereof
CN108198272B (en) Data processing method and equipment thereof
US20220284667A1 (en) Image processing method and image processing device for generating 3d content by means of 2d images
US10921950B1 (en) Pointing and interaction control devices for large scale tabletop models
CN114299271A (en) Three-dimensional modeling method, three-dimensional modeling apparatus, electronic device, and readable storage medium
CN106527774B (en) Processing method and device for non-contact input handwriting
JP6495559B2 (en) Point cloud processing system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent