KR102613162B1 - Method for annotation for 3D point cloud data, and computer program recorded on record-medium for executing method thereof - Google Patents
Method for annotation for 3D point cloud data, and computer program recorded on record-medium for executing method thereof Download PDFInfo
- Publication number
- KR102613162B1 KR102613162B1 KR1020230053734A KR20230053734A KR102613162B1 KR 102613162 B1 KR102613162 B1 KR 102613162B1 KR 1020230053734 A KR1020230053734 A KR 1020230053734A KR 20230053734 A KR20230053734 A KR 20230053734A KR 102613162 B1 KR102613162 B1 KR 102613162B1
- Authority
- KR
- South Korea
- Prior art keywords
- point
- annotation
- board
- guide points
- created
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 title claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 34
- 238000010801 machine learning Methods 0.000 abstract description 11
- 238000013524 data verification Methods 0.000 description 20
- 238000013461 design Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/12—Acquisition of 3D measurements of objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Radar, Positioning & Navigation (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 인공지능을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 라이다에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정하기 위한 어노테이션 방법을 제안한다. 상기 방법은 어노테이션 장치가, 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신하는 단계, 상기 어노테이션 장치가, 상기 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 상기 설정된 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성하는 단계 및 상기 어노테이션 장치가, 상기 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행하는 단계를 포함할 수 있다.The present invention proposes an annotation method for specifying objects included in 3D point cloud data acquired by LIDAR in relation to data annotation work for machine learning artificial intelligence. The method includes an annotation device receiving 3D point group data collected from a lidar, the annotation device setting the 3D point group data to at least one view point, and , generating a plurality of guide points for specifying an object at each of the set at least one view point, and the annotation device creates an object based on the selected plurality of guide points. It may include the step of performing annotation to specify.
Description
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터의 가공에 관한 것이다. 보다 상세하게는, 인공지능(AI)을 기계 학습하기 위한 데이터의 어노테이션(annotation) 작업과 관련하여, 라이다(lidar)에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정하기 위한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to the processing of artificial intelligence (AI) learning data. More specifically, in relation to the annotation task of data for machine learning artificial intelligence (AI), an annotation method for specifying objects included in 3D point cloud data acquired by lidar and the same It relates to a computer program recorded on a recording medium for execution.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.Artificial intelligence (AI) refers to a technology that artificially implements some or all of human learning, reasoning, and perception abilities using computer programs. In relation to artificial intelligence (AI), machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. According to the type of learning data, machine learning is divided into supervised learning, unsupervised learning, and reinforcement learning.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.In general, the design of data for artificial intelligence (AI) learning progresses through the stages of data structure design, data collection, data purification, data processing, data expansion, and data verification.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.To explain each step in more detail, the design of the data structure is accomplished through the definition of ontology and classification system. Data collection is done through direct photography, web crawling, or through associations/professional organizations. Data cleaning is accomplished by removing duplicate data from the collected data and de-identifying personal information. Data processing is accomplished by performing annotation and entering metadata. Data expansion is accomplished by performing ontology mapping and supplementing or expanding the ontology as needed. In addition, data verification is accomplished by verifying the validity according to the set target quality using various verification tools.
한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전자가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회가 분류한 6단계에 따르면, 레벨 0단계는 비자동화, 레벨 1단계는 운전자 보조, 레벨 2단계는 부분 자동화, 레벨 3단계는 조건부 자동화, 레벨 4단계는 고도 자동화, 그리고 레벨 5단계는 완전 자동화 단계이다.Meanwhile, automatic driving of a vehicle refers to a system that allows the vehicle to drive by making its own decisions. As such, autonomous driving can be divided into progressive stages from non-automation to full automation, depending on the degree to which the system participates in driving and the degree to which the driver controls the vehicle. In general, the stages of autonomous driving are divided into six levels classified by SAE (Society of Automotive Engineers) International. According to the six levels classified by the International Association of Automotive Engineers, level 0 is non-automation, level 1 is driver assistance, level 2 is partial automation, level 3 is conditional automation, level 4 is high automation, and level 5. The step is fully automated.
자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 그리고, 다양한 기업체들은 자율주행 메커니즘에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.Autonomous driving is performed through mechanisms of perception, localization, path planning, and control. Additionally, various companies are developing to implement recognition and path planning in autonomous driving mechanisms using artificial intelligence (AI).
최근에는 상술한 바와 같은, 자율주행의 인공지능(AI) 기계 학습(machine learning)에 사용되는 데이터뿐만 아니라, 다양한 분야에서 라이다(lidar)로부터 획득된 3D 점군 데이터를 인공지능 기계 학습에 사용하기 위한 요구가 증가하고 있다.Recently, in addition to the data used for artificial intelligence (AI) machine learning of autonomous driving as described above, 3D point cloud data acquired from lidar in various fields has been used for artificial intelligence machine learning. The demand for this is increasing.
라이다로부터 획득된 3D 점군 데이터를 가공하기 위해서는 3D 공간에서 각 객체에 해당되는 점들을 효과적으로 그룹(group)화 하여 어노테이션 작업을 수행해야 한다.In order to process 3D point cloud data obtained from LIDAR, annotation work must be performed by effectively grouping the points corresponding to each object in 3D space.
종래의 3D 점군 데이터에 대한 어노테이션 작업은 작업자가 특정 뷰 포인트에서 객체에 해당하는 2D 바운딩 박스(bounding box)를 지정하여 어노테이션 작업을 수행하였다.Conventionally, annotation work on 3D point cloud data was performed by the operator specifying a 2D bounding box corresponding to the object at a specific view point.
그러나, 3D 공간의 특정 시점에서 2D 바운딩 박스를 통해 어노테이션 작업을 수행함에 따라, 특정하기 위한 객체에 해당되지 않는 노이즈 점들까지 선택되는 문제점이 있었다.However, as annotation work was performed through a 2D bounding box at a specific point in 3D space, there was a problem in that noise points that did not correspond to the object to be specified were selected.
본 발명의 일 목적은 인공지능을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 라이다에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정하기 위한 어노테이션 방법을 제공하는 것이다.One purpose of the present invention is to provide an annotation method for specifying objects included in 3D point cloud data acquired by LIDAR in relation to annotation work on data for machine learning artificial intelligence.
본 발명의 다른 목적은 인공지능을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 라이다에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정하기 위한 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to use a computer recorded on a recording medium to execute an annotation method for specifying objects included in 3D point cloud data acquired by LiDAR, in relation to data annotation work for machine learning artificial intelligence. To provide a program.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 라이다에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정하기 위한 어노테이션 방법을 제안한다. 상기 방법은 어노테이션 장치가, 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신하는 단계, 상기 어노테이션 장치가, 상기 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 상기 설정된 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성하는 단계 및 상기 어노테이션 장치가, 상기 생성한 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행하는 단계를 포함할 수 있다.In order to achieve the technical challenges described above, the present invention proposes an annotation method for specifying objects included in 3D point cloud data acquired by LIDAR in relation to annotation work on data for machine learning artificial intelligence. do. The method includes an annotation device receiving 3D point group data collected from a lidar, the annotation device setting the 3D point group data to at least one view point, and , generating a plurality of guide points for specifying an object at each of the set at least one view point, and the annotation device creates an object based on the generated plurality of guide points. It may include the step of performing annotation to specify.
구체적으로, 상기 가이드 포인트들을 생성하는 단계는 상기 3D 점군 데이터에서 상기 객체를 횡단하는 평면인 적어도 하나의 포인트 보드(point board)를 생성하는 단계 및 상기 적어도 하나의 포인트 보드 내에서 상기 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받는 단계를 포함하는 것을 특징으로 한다.Specifically, generating the guide points includes generating at least one point board, which is a plane crossing the object, from the 3D point cloud data, and specifying the object within the at least one point board. It is characterized in that it includes the step of selecting a plurality of guide points for.
또한, 상기 포인트 보드는 상기 3D 점군 데이터에 사전 설정된 3D 직교좌표계(orthogonal coordinate)에서의 좌표 평면인 것을 특징으로 한다.In addition, the point board is characterized in that it is a coordinate plane in a 3D orthogonal coordinate system preset in the 3D point cloud data.
또한, 상기 포인트 보드를 생성하는 단계는 어노테이션을 수행하는 작업자의 제어에 따라 상기 객체의 특정 지점을 선택받으면, 상기 선택받은 지점을 원점으로 하는 상기 3D 직교좌표계를 생성하고, 상기 생성된 3D 직교좌표계에서의 각 좌표축 쌍을 기초로 생성된 좌표 평면을 포인트 보드로 생성하는 것을 특징으로 한다.In addition, in the step of creating the point board, when a specific point of the object is selected under the control of an operator performing annotation, the 3D Cartesian coordinate system is created with the selected point as the origin, and the created 3D Cartesian coordinate system is It is characterized in that the coordinate plane created based on each pair of coordinate axes in is generated as a point board.
상기 포인트 보드를 생성하는 단계는 상기 적어도 하나의 포인트 보드를 생성하되, 각 포인트 보드와 평행하며 상기 객체를 횡단하는 일정 간격 이격된 복수 개의 추가 포인트 보드들을 생성하는 것을 특징으로 한다.The step of generating the point board is characterized by generating the at least one point board, and generating a plurality of additional point boards that are parallel to each point board and spaced apart at a predetermined interval across the object.
상기 포인트 보드를 생성하는 단계는 상기 작업자의 제어에 따라 상기 적어도 하나의 포인트 보드를 평행 이동시켜 복수 개의 추가 포인트 보드들을 생성하는 것을 특징으로 한다.The step of generating the point board may include generating a plurality of additional point boards by moving the at least one point board in parallel under the control of the operator.
상기 포인트 보드를 생성하는 단계는 상기 생성된 적어도 하나의 포인트 보드 각각에서의 상기 객체의 외곽선을 식별하고, 상기 객체를 횡단하는 가상선을 생성하고, 상기 생성된 가상선 중 가장 큰 폭을 갖는 가상선을 기준으로 상기 생성된 적어도 하나의 포인트 보드 각각의 크기를 설정하는 것을 특징으로 한다.The step of generating the point board includes identifying an outline of the object in each of the generated at least one point board, generating a virtual line crossing the object, and generating a virtual line having the largest width among the generated virtual lines. Characterized by setting the size of each of the at least one point board created based on a line.
상기 가이드 포인트들을 선택받는 단계는 상기 적어도 하나의 포인트 보드들 각각에서의 상기 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받되, 상기 적어도 하나의 포인트 보드 각각에서의 상기 객체의 외곽선을 식별하고, 상기 식별된 외곽선으로부터 상기 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시키는 것을 특징으로 한다.The step of selecting the guide points includes selecting a plurality of guide points for specifying the object in each of the at least one point boards, identifying an outline of the object in each of the at least one point boards, and The plurality of guide points are spaced apart from the identified outline by a preset distance.
상기 가이드 포인트들을 선택받는 단계는 상기 적어도 하나의 포인트 보드 각각에서의 상기 객체의 외곽선을 식별하고, 상기 식별된 객체의 외곽선을 따라 일정 간격 이격된 복수 개의 가이드 포인트들을 자동 생성하고, 상기 식별된 객체의 외곽선으로부터 상기 생성된 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시키는 것을 특징으로 한다.The step of selecting the guide points includes identifying an outline of the object in each of the at least one point board, automatically generating a plurality of guide points spaced at regular intervals along the outline of the identified object, and automatically generating a plurality of guide points spaced apart from each other at regular intervals along the outline of the identified object. The plurality of guide points created are spaced apart from the outline of by a preset distance.
상기 어노테이션을 수행하는 단계는 상기 가이드 포인트들을 삼각형으로 연결하여 공간을 분할하되, 삼각형들의 내각의 최소값이 최대가 되도록 분할하여 생성된 삼각형을 기초로 3D 모델링을 수행하는 것을 특징으로 한다.The step of performing the annotation is characterized by dividing the space by connecting the guide points into triangles, and performing 3D modeling based on the triangles created by dividing the triangles so that the minimum value of the interior angle is maximum.
상기 어노테이션을 수행하는 단계는 상기 3D 점군 데이터 내의 점군의 밀도를 기초로 상기 객체에 해당하는 점군을 식별하고, 상기 식별된 점군 중 상기 3D 모델링된 영역의 외곽에 위치하는 점을 추출하고, 상기 추출된 점을 기준으로 3D 모델링을 재수행하는 것을 특징으로 한다.The step of performing the annotation identifies a point cloud corresponding to the object based on the density of the point cloud in the 3D point cloud data, extracts a point located outside the 3D modeled area from among the identified point cloud, and extracts the point cloud. It is characterized by re-performing 3D modeling based on the point made.
상기 어노테이션을 수행하는 단계는 상기 3D 모델링된 영역의 외곽에 위치하는 점에 가이드 포인트를 생성하고, 상기 생성된 가이드 포인트를 기초로 상기 3D 모델링을 재수행하는 것을 특징으로 한다.The step of performing the annotation is characterized by creating a guide point at a point located outside the 3D modeled area and re-performing the 3D modeling based on the generated guide point.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능을 기계 학습하기 위한 데이터의 어노테이션 작업과 관련하여, 라이다에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정하기 위한 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신하는 단계, 상기 프로세서가, 상기 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 상기 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성하는 단계 및 상기 프로세서가, 상기 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.In order to achieve the technical task described above, the present invention implements an annotation method to specify objects included in 3D point cloud data acquired by LIDAR in relation to annotation work on data for machine learning artificial intelligence. To do this, we propose a computer program recorded on a recording medium. The computer program may be combined with a computing device that includes a memory and a processor that processes instructions resident in the memory. And, the computer program includes the steps of the processor receiving 3D point group data collected from a lidar, the processor converting the 3D point group data into at least one view point. setting and generating a plurality of guide points for specifying an object at each of the at least one view point, and the processor creates an object based on the selected plurality of guide points. It may be a computer program recorded on a recording medium to execute the step of performing annotation to specify.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.
본 발명의 실시 예들에 따르면, 3D 점군 데이터의 3D 공간 상에서 객체 특정을 위한 가이드 포인트(guide point)를 생성하여 어노테이션을 수행함으로써, 정교하게 객체를 특정할 수 있으며, 객체에 해당되는 점들을 정확하게 특정할 수 있다.According to embodiments of the present invention, by creating a guide point for object specification in the 3D space of 3D point cloud data and performing annotation, it is possible to precisely specify the object and accurately specify the points corresponding to the object. can do.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description of the claims.
도 1 및 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템을 나타낸 구성도이다.
도 3은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 6 내지 도 10은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 예시도이다.1 and 2 are configuration diagrams showing an artificial intelligence learning system according to various embodiments of the present invention.
Figure 3 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
Figure 4 is a hardware configuration diagram of an annotation device according to an embodiment of the present invention.
Figure 5 is a flowchart for explaining an annotation method according to an embodiment of the present invention.
6 to 10 are exemplary diagrams for explaining an annotation method according to an embodiment of the present invention.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, the technical terms used in this specification, unless specifically defined in a different way in this specification, should be interpreted as meanings generally understood by those skilled in the art in the technical field to which the present invention pertains, and are not overly comprehensive. It should not be interpreted in a literal or excessively reduced sense. Additionally, if the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be replaced with technical terms that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted according to the definition in the dictionary or according to the context, and should not be interpreted in an excessively reduced sense.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Additionally, as used herein, singular expressions include plural expressions, unless the context clearly dictates otherwise. In this application, terms such as “consists of” or “have” should not be construed as necessarily including all of the various components or steps described in the specification, and only some of the components or steps are included. It may not be possible, or it should be interpreted as including additional components or steps.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Additionally, terms including ordinal numbers, such as first, second, etc., used in this specification may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component without departing from the scope of the present invention.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected to or connected to the other component, but other components may also exist in between. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. However, identical or similar components will be assigned the same reference numbers regardless of the reference numerals, and duplicate descriptions thereof will be omitted. Additionally, when describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted. In addition, it should be noted that the attached drawings are only intended to facilitate easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the attached drawings. The spirit of the present invention should be construed as extending to all changes, equivalents, or substitutes other than the attached drawings.
한편, 라이다로부터 획득된 3D 점군 데이터를 가공하기 위해서는 3D 공간에서 각 객체에 해당되는 점들을 효과적으로 그룹(group)화 하여 어노테이션 작업을 수행해야 한다.Meanwhile, in order to process 3D point cloud data obtained from LIDAR, annotation work must be performed by effectively grouping the points corresponding to each object in 3D space.
종래의 3D 점군 데이터에 대한 어노테이션 작업은 작업자가 특정 뷰 포인트에서 객체에 해당하는 2D 바운딩 박스(bounding box)를 지정하여 어노테이션 작업을 수행하였다.Conventionally, annotation work on 3D point cloud data was performed by the operator specifying a 2D bounding box corresponding to the object at a specific view point.
그러나, 3D 공간의 특정 시점에서 2D 바운딩 박스를 통해 어노테이션 작업을 수행함에 따라, 특정하기 위한 객체에 해당되지 않는 점들까지 선택되는 문제점이 있었다.However, as annotation work was performed through a 2D bounding box at a specific point in 3D space, there was a problem in that even points that did not correspond to the object to be specified were selected.
이러한 한계를 극복하고자, 본 발명은 라이다에 의해 획득된 3D 점군 데이터에 포함된 객체를 특정할 수 있는 다양한 수단들을 제안하고자 한다.In order to overcome these limitations, the present invention seeks to propose various means for specifying objects included in 3D point cloud data acquired by LIDAR.
도 1 및 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템을 나타낸 구성도이다.1 and 2 are configuration diagrams showing an artificial intelligence learning system according to various embodiments of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200-1, 200-2, …, 200-n; 200), 학습 데이터 검증 장치(300) 및 학습 장치(400)를 포함하여 구성될 수 있다.As shown in Figure 1, the artificial intelligence learning system according to an embodiment of the present invention includes a learning
또한, 도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(200-a, 200-b, …, 200-m; 200)와 학습 데이터 검증 장치(300-a, 300-b, …, 300-m; 300)가 하나로 이루어진 복수 개의 그룹(Group-a, Group-b …, Group-m), 학습 데이터 생성 장치(100) 및 학습 장치(400)를 포함하여 구성될 수 있다.In addition, as shown in Figure 2, the artificial intelligence learning system according to another embodiment of the present invention includes one or more annotation devices (200-a, 200-b, ..., 200-m; 200) and a learning data verification device ( A plurality of groups (Group-a, Group-b..., Group-m) consisting of 300-a, 300-b, ..., 300-m; 300), a learning
이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the artificial intelligence learning system according to various embodiments of this kind merely represent functionally distinct elements, two or more components are integrated and implemented with each other in the actual physical environment, or one component is implemented in the actual physical environment. may be implemented separately from each other.
각각의 구성 요소에 대하여 설명하면, 학습 데이터 생성 장치(100)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. In terms of each component, the learning
이와 같은, 학습 데이터 생성 장치(100)는 기본적으로 학습 데이터 검증 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 학습 데이터 생성 장치(100)와 학습 데이터 검증 장치(300)가 하나의 장치로 통합되어 구현될 수도 있다.In this way, the learning
구체적으로, 학습 데이터 설계 장치(100)는 학습 장치(400)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.Specifically, the learning
우선적으로, 학습 데이터 설계 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다. 예를 들어, 학습 데이터 설계 장치(100)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.First, the learning
학습 데이터 설계 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집할 수 있다. 이를 위하여, 학습 데이터 설계 장치(100)는 외부로부터 3D 점군 데이터를 입력 받거나, 웹 크롤링(web crawling)을 수행하여 3D 점군 데이터를 수집하거나, 또는 외부 기관의 장치로부터 3D 점군 데이터를 다운로드 할 수 있다.The learning
여기서, 3D 점군 데이터는 차량에 고정 설치된 라이다(lidar)에 의해 획득된 데이터이다. 차량에 고정 설치된 라이다는 레이저 펄스를 발사하고, 차량 주위에 위치하는 객체들에 의해 반사되어 돌아온 빛을 감지하여, 차량 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다. 즉, 3D 점군 데이터를 구성하는 점군은 라이다에 의해 3차원 공간으로 발사된 레이저 펄스를 반사시킨 점(point)들의 집합을 의미한다.Here, the 3D point cloud data is data acquired by a lidar fixed to a vehicle. Lidar fixed to a vehicle can emit laser pulses, detect light reflected by objects located around the vehicle, and generate 3D point cloud data corresponding to a 3D image of the vehicle's surroundings. In other words, the point cloud that constitutes 3D point cloud data refers to a set of points that reflect laser pulses fired into 3D space by LIDAR.
학습 데이터 생성 장치(100)는 수집된 3D 점군 데이터 중에서 중복되거나 또는 극히 유사한 데이터를 제거할 수 있다.The learning
학습 데이터 생성 장치(100)는 수집 및 정제된 3D 점군 데이터를 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다. 이 경우, 학습 데이터 생성 장치(100)는 어노테이션 장치(200)의 작업자(즉, 라벨러)에 대하여 사전에 할당된 양에 따라 3D 점군 데이터를 분배할 수 있다.The learning
학습 데이터 생성 장치(100)는 어노테이션 장치(200)로부터 직접 어노테이션 작업 결과물을 수신하거나, 또는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.The learning
학습 데이터 생성 장치(100)는 수신된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 생성 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 학습 장치(400)에 전송할 수 있다.The learning
이와 같은 특징을 가지는, 학습 데이터 생성 장치(100)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.Having these characteristics, the learning
예를 들어, 학습 데이터 생성 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.For example, the learning
어노테이션 장치(200)는 학습 데이터 생성 장치(100)로부터 제공된 이미지에 대하여 어노테이션 작업을 수행하는데 사용될 수 있는 장치이다.The
구체적으로, 어노테이션 작업은 3D 점군 데이터 내에서 객체를 특정하고, 특정된 객체의 속성 정보를 포함하는 클래스(class) 정보를 입력하는 과정을 포함할 수 있다.Specifically, the annotation task may include the process of specifying an object within 3D point cloud data and inputting class information including attribute information of the specified object.
특히, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신하고, 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 설정된 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성할 수 있다.In particular, the
그리고, 어노테이션 장치(200)는 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행할 수 있다.Additionally, the
한편, 어노테이션 장치(200)에 관한 구체적인 내용은 이하 도 3 및 도 4를 참조하여 후술하도록 한다.Meanwhile, specific details regarding the
이와 같은, 어노테이션 장치(200)는 학습 데이터 생성 장치(100) 또는 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.As such, the
예를 들어, 어노테이션 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.For example, the
다음 구성으로, 학습 데이터 검증 장치(300)는 인공지능(AI) 학습용 데이터를 검증하는데 사용될 수 있는 장치이다. 즉, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 사전에 설정된 목표 품질에 부합하는지 여부, 또는 어노테이션 작업 결과물이 인공지능(AI) 학습에 유효한지 여부를 검증할 수 있는 장치이다.With the following configuration, the learning
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 수신할 수 있다. 여기서, 어노테이션 작업 결과물은 3D 점군 데이터로부터 특정된 객체의 좌표와, 이미지 또는 객체에 대한 메타데이터가 포함될 수 있다. 어노테이션 작업 결과물의 메타데이터에는 특정된 객체의 카테고리(category), 객체가 2D 이미지의 화각에 의해 잘려진 비율(truncation), 객체가 다른 객체 또는 물체에 의해 가려진 비율(occlusion), 객체의 트래킹 아이디(tracking identifier), 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되는 것은 아니다. 이와 같은, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것도 아니다.Specifically, the learning
학습 데이터 검증 장치(300)는 수신된 어노테이션 작업 결과물을 검수할 수 있다. 이를 위하여, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.The learning
그리고, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다.Additionally, the learning
상술한 바와 같은 특징을 가지는, 학습 데이터 검증 장치(300)는 어노테이션 장치(200) 및 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 검증 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The learning
다음 구성으로, 학습 장치(400)는 학습 데이터 생성 장치(100)로부터 제공된 3D 점군 데이터를 통해 인공지능(AI)을 기계 학습하는데 사용될 수 있는 장치이다.In the following configuration, the
이와 같은, 학습 장치(400)는 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the
상술한 바와 같은, 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 학습 장치(400)는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, the learning
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired networks may include Ethernet, xDigital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be possible, but it is not limited to this. In addition, mobile communication networks include Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed Packet Access (HSPA), and Long Term Evolution. LTE) and 5th generation mobile telecommunication may be included, but are not limited thereto.
이하, 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성에 대하여 구체적으로 설명하도록 한다.Hereinafter, the logical configuration of the annotation device according to an embodiment of the present invention will be described in detail.
도 3은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.Figure 3 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 통신부(205), 입출력부(210), 포인트 생성부(215), 객체 특정부(220) 및 저장부(225)를 포함하여 구성될 수 있다.As shown in Figure 3, the
이와 같은, 어노테이션 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 어노테이션의 작업 결과물을 학습 데이터 생성 장치(100) 또는 학습 데이터 검증 장치(300)에 전송할 수 있다.To describe each component, the
여기서, 작업 결과물은 작업자의 제어에 따라 설정된 어노테이션의 작업 결과물에 대한 좌표 및 객체의 속성 정보가 포함될 수 있다. 또한, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Here, the work result may include the coordinates of the work result and object attribute information of the annotation set according to the operator's control. Additionally, the work result may be in a JSON file format, but is not limited thereto.
그리고, 통신부(250)는 학습 데이터 생성 장치(100)로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다.Additionally, the
여기서, 프로젝트의 속성에는 인공지능(AI)의 학습과 관련된 프로젝트에 대한 학습 목적, 학습 기간, 학습에 필요한 3D 점군 데이터에서 식별하고자 하는 객체의 속성, 어노테이션 규칙 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Here, the properties of the project may include the learning purpose for the project related to artificial intelligence (AI) learning, the learning period, the properties of the object to be identified in the 3D point cloud data required for learning, annotation rules, etc., but are not limited to this. no.
작업자의 속성에는 작업자의 명칭, 식별번호, 할당된 작업량, 작업에 따른 비용, 작업 결과 평가 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The worker's attributes may include, but are not limited to, the worker's name, identification number, assigned work amount, cost according to the work, and work result evaluation.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다.In the following configuration, the input/
구체적으로, 입출력부(210)는 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 신호를 입력 거나, 또는 연산된 결과를 외부로 출력할 수 있다.Specifically, the input/
여기서, 작업자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 작업자는 사용자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.Here, a worker refers to a person who performs annotation work. As such, the worker may be referred to as a user, performer, labeler, or data labeler, but is not limited thereto.
구체적으로, 입출력부(210)는 어노테이션 작업의 대상이 되는 3D 점군 데이터를 출력할 수 있다. 입출력부(210)는 어노테이션 작업을 위한 제어 신호를 작업자로부터 입력 받을 수 있다.Specifically, the input/
다음 구성으로, 포인트 생성부(215)는 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 설정된 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성할 수 있다.In the following configuration, the
구체적으로, 포인트 생성부(215)는 3D 점군 데이터에서 객체를 횡단하는 평면인 적어도 하나의 포인트 보드(point board)를 생성할 수 있다.Specifically, the
여기서, 포인트 보드는 3D 점군 데이터에 사전 설정된 3D 직교좌표계(orthogonal coordinate)에서의 좌표 평면이 될 수 있다.Here, the point board may be a coordinate plane in a 3D orthogonal coordinate system preset in 3D point cloud data.
예를 들어, 포인트 보드는 x축, y축 및 z축을 포함하는 직교좌표계의 xy 좌표 평면, yz 좌표 평면 및 xz 좌표 평면이 될 수 있다.For example, the point board can be an xy coordinate plane, a yz coordinate plane, and an xz coordinate plane in a Cartesian coordinate system that includes the x, y, and z axes.
즉, 포인트 생성부(215)는 어노테이션을 수행하는 작업자의 제어에 따라 객체의 특정 지점을 선택받으면, 선택받은 지점을 원점으로 하는 3D 직교좌표계를 생성하고, 생성된 3D 직교좌표계에서의 각 좌표축 쌍을 기초로 생성된 좌표 평면을 포인트 보드로 생성할 수 있다.That is, when a specific point of an object is selected according to the control of the operator performing the annotation, the
그리고, 포인트 생성부(215)는 작업자의 제어에 따라 적어도 하나의 포인트 보드를 평행 이동시켜 복수 개의 추가 포인트 보드들을 생성할 수 있다.Additionally, the
예를 들어, 포인트 생성부(215)는 작업자로부터 최초 객체의 최상단에 위치한 점을 선택받고, 선택받은 점을 원점으로 하는 3D 직교좌표계를 생성할 수 있다. 이후, 포인트 생성부(215)는 포인트 보드를 z축 방향으로 평행 이동시킬 수 있으며, 최종적으로 객체의 최하단까지 포인트 보드를 이동시킬 수 있다.For example, the
하지만 이에 한정된 것은 아니고, 포인트 생성부(215)는 각 포인트 보드와 평행하며 객체를 횡단하는 일정 간격 이격된 복수 개의 추가 포인트 보드들을 생성할 수 있다.However, it is not limited to this, and the
예를 들어, 포인트 생성부(215)는 작업자로부터 객체를 선택받을 수 있으며, 객체가 선택되면, 선택받은 객체의 외곽선을 식별할 수 있다. 그리고, 포인트 생성부(215)는 사전 설정된 3D 직교좌표계를 기준으로 좌표 평면인 포인트 보드를 생성하되, 식별된 객체의 외곽선을 기초로 각 포인트 보드와 평행하며 객체를 횡단하는 일정 간격 이격된 복수 개의 추가 포인트 보드들을 생성할 수 있다.For example, the
포인트 생성부(215)는 포인트 보드를 생성함에 있어서 객체의 외곽선을 기준으로 포인트 보드의 크기를 설정함으로써, 작업자가 포인트 보드 상에 가이드 포인트들을 용이하게 입력할 수 있도록 지원할 수 있다.When creating a point board, the
즉, 포인트 생성부(215)는 생성된 적어도 하나의 포인트 보드 각각에서의 객체의 외곽선을 식별하고, 객체를 횡단하는 가상선을 생성하고, 생성된 가상선 중 가장 큰 폭을 갖는 가상선을 기준으로 생성된 적어도 하나의 포인트 보드 각각의 크기를 설정할 수 있다.That is, the
이후, 포인트 생성부(215)는 적어도 하나의 포인트 보드 내에서 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받을 수 있다.Thereafter, the
구체적으로, 포인트 생성부(215)는 적어도 하나의 포인트 보드 각각에서의 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받되, 적어도 하나의 포인트 보드 각각에서의 객체의 외곽선을 식별하고, 식별된 외곽선으로부터 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시킬 수 있다.Specifically, the
또한, 포인트 생성부(215)는 적어도 하나의 포인트 보드 각각에서의 객체의 외곽선을 식별하고, 식별된 객체의 외곽선을 따라 일정 간격 이격된 복수 개의 가이드 포인트들을 자동 생성하고, 식별된 객체의 외곽선으로부터 생성된 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시킬 수 있다.In addition, the
즉, 후술할 객체 특정부(220)가 선택된 복수 개의 가이드 포인트들 연결하여 어노테이션을 수행함에 있어서, 작업자로부터 충분히 가이드 포인트를 입력받지 않은 상태로 복수 개의 가이드 포인트들을 연결하는 경우에는 3D 모델링 된 영역 내에 객체에 대한 점군이 모두 포함되지 않는 문제가 발생될 수 있다.That is, when the object specification unit 220, which will be described later, performs annotation by connecting a plurality of selected guide points, if the plurality of guide points are connected without receiving sufficient guide points from the operator, the object specification unit 220, which will be described later, connects the plurality of guide points without receiving sufficient guide points from the operator, within the 3D modeled area. A problem may arise in which not all point clouds for an object are included.
이에 따라, 포인트 생성부(215)는 작업자가 선택한 가이드 포인트들을 객체로부터 이격시킴으로써, 3D 모델링 된 영역 내에 객체의 점군이 완전히 포함될 수 있도록 지원할 수 있다.Accordingly, the
예를 들어, 포인트 생성부(215)는 식별된 객체의 중심점 추정하고, 추정된 중심점을 기준으로 해당 가이드 포인트를 연결하는 가상선을 형성하고, 형성된 가상선을 기준으로 객체의 외곽으로부터 가이드 포인트를 사전 설정된 거리만큼 이격시킬 수 있다.For example, the
다음 구성으로, 객체 특정부(220)는 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행할 수 있다.With the following configuration, the object specification unit 220 can perform annotation to specify an object based on a plurality of selected guide points.
구체적으로, 객체 특정부(220)는 선택받은 복수 개의 가이드 포인트들을 연결하여, 3D 점군 데이터에서 객체의 점군 기초로 3D 모델링을 수행하여, 특정을 위한 객체의 점군을 포함하는 3D 모델을 생성할 수 있다.Specifically, the object specification unit 220 connects a plurality of selected guide points, performs 3D modeling based on the point cloud of the object in the 3D point cloud data, and creates a 3D model including the point cloud of the object for specification. there is.
예를 들어, 객체 특정부(220)는 가이드 포인트들을 삼각형으로 연결하여 공간을 분할하되, 삼각형들의 내각의 최소값이 최대가 되도록 분할하여 생성된 삼각형을 기초로 3D 모델링을 수행할 수 있다.For example, the object specification unit 220 may divide the space by connecting guide points into triangles and perform 3D modeling based on the triangles created by dividing the space so that the minimum value of the interior angle of the triangles is maximum.
즉, 객체 특정부(220)는 들로네 삼각분할(delaunay triangulation)을 통해 객체를 3D 모델링할 수 있다. 다시 말하면, 객체 특정부(220)는 선택된 복수 개의 가이드 포인트들을 모두 포함하는 최초 삼각형(super triangle)을 구성하고, 최초 삼각형 안에서 각 점을 대상으로 세 점을 포함하는 원 안에 다른 점이 존재하지 않으면, 그 삼각형을 델로니 삼각형으로 추가할 수 있다. 이때, 최초 삼각형은 모든 델로니 삼각망 구성 과정이 수행되면 삭제할 수 있다.That is, the object specification unit 220 can 3D model the object through Delaunay triangulation. In other words, the object specification unit 220 forms a super triangle including all of the selected plurality of guide points, and if there are no other points within the circle containing the three points for each point in the initial triangle, We can add that triangle as a Delaunay triangle. At this time, the initial triangle can be deleted once all Delaney triangle network construction processes have been performed.
또한, 객체 특정부(220)는 3D 점군 데이터 내의 점군의 밀도를 기초로 객체에 해당하는 점군을 식별하고, 식별된 점군 중 3D 모델링 된 영역 외곽에 위치하는 점을 추출하고, 추출된 점을 기준으로 3D 모델링을 재수행할 수 있다.In addition, the object specification unit 220 identifies a point cloud corresponding to an object based on the density of the point cloud in the 3D point cloud data, extracts points located outside the 3D modeled area from among the identified point clouds, and sets the extracted points as the basis. You can re-perform 3D modeling.
예를 들어, 객체 특정부(220)는 3D 모델링 된 영역 외곽에 위치하는 점에 가이드 포인트를 생성하고, 생성된 가이드 포인트를 기초로 3D 모델링을 재수행할 수 있다.For example, the object specification unit 220 may create a guide point at a point located outside the 3D modeled area and re-perform 3D modeling based on the generated guide point.
이하, 상술한 바와 같은 어노테이션 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the logical components of the
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.Figure 4 is a hardware configuration diagram of an annotation device according to an embodiment of the present invention.
도 4에 도시된 바와 같이, 어노테이션 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다. As shown in FIG. 4, the
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 어노테이션 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 생성 장치(100), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신할 수 있다. 입출력장치(265)는 어노테이션 장치(200)의 동작에 필요한 데이터를 입력 받거나, 학습 결과물을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다.The storage 275 stores an application programming interface (API), library files, resource files, etc. necessary for executing the
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 학습 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신하는 단계, 프로세서(250)가, 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성하는 단계 및 프로세서(250)가, 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to one embodiment of the present invention,
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.When the embodiments included in this specification are implemented as software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described function. The module resides in
도 4에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 4 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), and FPGAs ( Field Programmable Gate Arrays), processor, controller, microcontroller, microprocessor, etc.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored on a recording medium readable through various computer means. can be recorded Here, the recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the recording medium may be those specifically designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROM (Compact Disk Read Only Memory) and DVD (Digital Video Disk), and floptical media. It includes magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, etc. Examples of program instructions may include machine language code such as that created by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. Such hardware devices may be configured to operate as one or more software to perform the operations of the present invention, and vice versa.
도 5는 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.Figure 5 is a flowchart for explaining an annotation method according to an embodiment of the present invention.
도 5를 참조하면, S100 단계에서 어노테이션 장치는 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신할 수 있다.Referring to FIG. 5, in step S100, the annotation device may receive 3D point group data collected from lidar.
다음으로, S200 단계에서 어노테이션 장치는 3D 점군 데이터에서 객체를 횡단하는 평면인 적어도 하나의 포인트 보드(point board)를 생성할 수 있다.Next, in step S200, the annotation device may generate at least one point board, which is a plane that traverses the object from the 3D point cloud data.
여기서, 포인트 보드는 3D 점군 데이터에 사전 설정된 3D 직교좌표계(orthogonal coordinate)에서의 좌표 평면이 될 수 있다.Here, the point board may be a coordinate plane in a 3D orthogonal coordinate system preset in 3D point cloud data.
즉, 어노테이션 장치는 어노테이션을 수행하는 작업자의 제어에 따라 객체의 특정 지점을 선택받으면, 선택받은 지점을 원점으로 하는 3D 직교좌표계를 생성하고, 생성된 3D 직교좌표계에서의 각 좌표축 쌍을 기초로 생성된 좌표 평면을 포인트 보드로 생성할 수 있다.In other words, when the annotation device selects a specific point of an object under the control of the operator performing the annotation, it creates a 3D Cartesian coordinate system with the selected point as the origin, and creates it based on each pair of coordinate axes in the created 3D Cartesian coordinate system. The coordinate plane can be created as a point board.
이때, 어노테이션 장치는 적어도 하나의 포인트 보드를 생성하되, 각 포인트 보드와 평행하며 객체를 횡단하는 일정 간격 이격된 복수 개의 추가 포인트 보드들을 생성할 수 있다.At this time, the annotation device may generate at least one point board, and may generate a plurality of additional point boards that are parallel to each point board and spaced apart at a predetermined interval across the object.
하지만, 이에 한정된 것은 아니고, 어노테이션 장치는 작업자의 제어에 따라 상기 적어도 하나의 포인트 보드를 평행 이동시켜 복수 개의 추가 포인트 보드들을 생성할 수도 있다.However, the annotation device is not limited to this, and may create a plurality of additional point boards by moving the at least one point board in parallel under the control of the operator.
또한, 어노테이션 장치는 생성된 적어도 하나의 포인트 보드 각각에서의 객체의 외곽선을 식별하고, 객체를 횡단하는 가상선을 생성하고, 생성된 가상선 중 가장 큰 폭을 갖는 가상선을 기준으로 생성된 적어도 하나의 포인트 보드 각각의 크기를 설정할 수 있다.Additionally, the annotation device identifies the outline of an object in each of at least one generated point board, generates a virtual line crossing the object, and generates at least one virtual line based on the virtual line with the largest width among the generated virtual lines. You can set the size of each point board.
다음으로, S300 단계에서 어노테이션 장치는 적어도 하나의 포인트 보드 내에서 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받을 수 있다.Next, in step S300, the annotation device may select a plurality of guide points for specifying an object within at least one point board.
구체적으로, 어노테이션 장치는 적어도 하나의 포인트 보드들 각각에서의 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받되, 적어도 하나의 포인트 보드 각각에서의 객체의 외곽선을 식별하고, 식별된 외곽선으로부터 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시킬 수 있다.Specifically, the annotation device selects a plurality of guide points for specifying an object in each of at least one point board, identifies the outline of the object in each of the at least one point board, and generates a plurality of guide points from the identified outline. Points can be spaced apart by a preset distance.
또한, 어노테이션 장치는 적어도 하나의 포인트 보드 각각에서의 객체의 외곽선을 식별하고, 식별된 객체의 외곽선을 따라 일정 간격 이격된 복수 개의 가이드 포인트들을 자동 생성하고, 식별된 객체의 외곽선으로부터 생성된 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시킬 수 있다.In addition, the annotation device identifies the outline of an object in each of at least one point board, automatically generates a plurality of guide points spaced at regular intervals along the outline of the identified object, and generates a plurality of guide points from the outline of the identified object. Guide points can be spaced apart by a preset distance.
그리고, S400 단계에서 어노테이션 장치는 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행할 수 있다.And, in step S400, the annotation device may perform annotation to specify an object based on a plurality of selected guide points.
구체적으로, 어노테이션 장치는 선택받은 복수 개의 가이드 포인트들을 연결하여, 3D 점군 데이터에서 객체의 점군 기초로 3D 모델링을 수행하여, 특정을 위한 객체의 점군을 포함하는 3D 모델을 생성할 수 있다.Specifically, the annotation device may connect a plurality of selected guide points, perform 3D modeling based on the point cloud of the object in 3D point cloud data, and create a 3D model including the point cloud of the object for specification.
예를 들어, 어노테이션 장치는 가이드 포인트들을 삼각형으로 연결하여 공간을 분할하되, 삼각형들의 내각의 최소값이 최대가 되도록 분할하여 생성된 삼각형을 기초로 3D 모델링을 수행할 수 있다.For example, the annotation device may divide space by connecting guide points into triangles, and perform 3D modeling based on the triangles created by dividing the triangles so that the minimum value of the interior angle is maximum.
또한, 어노테이션 장치는 3D 점군 데이터 내의 점군의 밀도를 기초로 객체에 해당하는 점군을 식별하고, 식별된 점군 중 3D 모델링 된 외곽에 위치하는 점을 추출하고, 추출된 점을 기준으로 3D 모델링을 재수행할 수 있다.In addition, the annotation device identifies the point cloud corresponding to the object based on the density of the point cloud in the 3D point cloud data, extracts points located on the 3D modeled outskirts among the identified point clouds, and re-executes 3D modeling based on the extracted points. It can be done.
이때, 어노테이션 장치는 3D 모델링 된 영역의 외곽에 위치하는 점에 가이드 포인트를 생성하고, 생성된 가이드 포인트를 기초로 3D 모델링을 재수행할 수 있다.At this time, the annotation device may create a guide point at a point located on the outside of the 3D modeled area and re-perform 3D modeling based on the generated guide point.
또한, 어노테이션 장치는 3D 모델링 된 영역 내에 위치하는 객체의 점군의 색상을 변경하여 작업자가 용이하게 식별하도록 할 수 있다.Additionally, the annotation device can change the color of the point cloud of an object located within a 3D modeled area so that workers can easily identify it.
도 6 내지 도 10은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 예시도이다.6 to 10 are exemplary diagrams for explaining an annotation method according to an embodiment of the present invention.
도 6 내지 도 10을 참조하면, 본 발명의 일 실시예에 따른 어노테이션 장치는 3D 점군 데이터에서 객체를 횡단하는 평면인 적어도 하나의 포인트 보드(point board)를 생성할 수 있다.Referring to FIGS. 6 to 10 , the annotation device according to an embodiment of the present invention may generate at least one point board, which is a plane crossing an object, from 3D point cloud data.
여기서, 포인트 보드는 3D 점군 데이터에 사전 설정된 3D 직교좌표계(orthogonal coordinate)에서의 좌표 평면이 될 수 있다.Here, the point board may be a coordinate plane in a 3D orthogonal coordinate system preset in 3D point cloud data.
즉, 어노테이션 장치는 어노테이션을 수행하는 작업자의 제어에 따라 객체의 특정 지점을 선택받으면, 선택받은 지점을 원점으로 하는 3D 직교좌표계를 생성하고, 생성된 3D 직교좌표계에서의 각 좌표축 쌍을 기초로 생성된 xy 좌표 평면(a), yz 좌표 평면(b) 및 xz 좌표 평면(c)을 포인트 보드로 생성할 수 있다.In other words, when the annotation device selects a specific point of an object under the control of the operator performing the annotation, it creates a 3D Cartesian coordinate system with the selected point as the origin, and creates it based on each pair of coordinate axes in the created 3D Cartesian coordinate system. The xy coordinate plane (a), yz coordinate plane (b), and xz coordinate plane (c) can be created as a point board.
도 6에 도시된 바와 같이, 어노테이션 장치는 포인트 보드(a, b, c)가 생성되면, 생성된 포인트 보드(a, b, c) 중 적어도 하나에 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받을 수 있다.As shown in FIG. 6, when a point board (a, b, c) is created, the annotation device selects a plurality of guide points to specify an object on at least one of the created point boards (a, b, c). You can receive it.
예를 들어, 작업자는 3D 점군 데이터의 뷰 포인트를 변경하면서, 포인트 보드(a, b, c) 중 하나를 선택할 수 있다. 그리고, 작업자는 포인트 보드(a, b, c) 중 하나를 선택한 상태로, 선택된 포인트 보드 상에서 특정 지점을 지정하게 되면, 해당 포인트 보드 상에 가이드 포인트를 생성할 수 있다.For example, the operator can select one of the point boards (a, b, c) while changing the view point of the 3D point cloud data. Also, when the worker selects one of the point boards (a, b, c) and designates a specific point on the selected point board, a guide point can be created on the point board.
이때, 어노테이션 장치는 작업자의 제어에 따라 포인트 보드(a, b, c)를 평행 이동시킬 수 있다. 즉, 도 7에 도시된 바와 같이, 어노테이션 장치는 작업자의 제어에 따라 포인트 보드(a, b, c)를 z축 방향으로 평행 이동시킬 수 있다.At this time, the annotation device can move the point boards (a, b, c) in parallel according to the operator's control. That is, as shown in FIG. 7, the annotation device can move the point boards (a, b, c) in parallel in the z-axis direction under the control of the operator.
즉, 작업자는 xy 좌표 평면에 해당하는 포인트 보드(a)를 객체(object)의 최상단에 위치시킨 상태로 가이드 포인트들을 생성하고, 객체의 하부로 포인트 보드(a)를 평행 이동시키면서 가이드 포인트들을 추가로 생성할 수 있다.That is, the operator creates guide points by placing the point board (a) corresponding to the xy coordinate plane at the top of the object, and adds guide points by moving the point board (a) to the bottom of the object in parallel. It can be created with
최종적으로, 도 8에 도시된 바와 같이, 작업자는 객체의 최하단에 포인트 보드(a)를 위치시킨 후 가이드 포인트들을 생성할 수 있다.Finally, as shown in FIG. 8, the operator can create guide points after placing the point board (a) at the bottom of the object.
도 9에 도시된 바와 같이, 어노테이션 장치는 작업자의 가이드 포인트 생성 작업이 완료되면, 선택받은 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행할 수 있다.As shown in FIG. 9, when the operator's guide point creation task is completed, the annotation device can perform annotation to specify an object based on a plurality of selected guide points.
구체적으로, 어노테이션 장치는 가이드 포인트들을 삼각형으로 연결하여 공간을 분할하되, 삼각형들의 내각의 최소값이 최대가 되도록 분할할 수 있다.Specifically, the annotation device can divide the space by connecting guide points into triangles so that the minimum value of the interior angles of the triangles is maximum.
그리고, 도 10에 도시된 바와 같이, 어노테이션 장치는 작업자로부터 선택받은 가이드 포인트들을 삭제하고, 생성된 삼각형을 기초로 외부면을 형성함으로써 3D 모델링을 수행할 수 있다.And, as shown in FIG. 10, the annotation device can perform 3D modeling by deleting guide points selected by the operator and forming an external surface based on the generated triangle.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.As described above, although preferred embodiments of the present invention have been disclosed in the specification and drawings, it is known in the technical field to which the present invention belongs that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein. It is self-evident to those with ordinary knowledge.
또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.In addition, although specific terms are used in the specification and drawings, they are merely used in a general sense to easily explain the technical content of the present invention and aid understanding of the invention, and are not intended to limit the scope of the present invention. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
100 : 학습 데이터 생성 장치 200 : 어노테이션 장치
300 : 학습 데이터 검증 장치 400 : 인공지능 학습 장치
205 : 통신부 210 : 입출력부
215 : 포인트 생성부 220 : 객체 특정부
225 : 저장부100: Learning data generation device 200: Annotation device
300: Learning data verification device 400: Artificial intelligence learning device
205: communication unit 210: input/output unit
215: Point creation unit 220: Object specific unit
225: storage unit
Claims (10)
상기 어노테이션 장치가, 상기 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 상기 설정된 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성하는 단계; 및
상기 어노테이션 장치가, 상기 생성한 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행하는 단계; 를 포함하고,
상기 가이드 포인트들을 생성하는 단계는
상기 3D 점군 데이터에서 상기 객체를 횡단하는 평면인 적어도 하나의 포인트 보드(point board)를 생성하는 단계; 및
상기 적어도 하나의 포인트 보드 내에서 상기 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받는 단계;를 포함하며,
상기 포인트 보드는
상기 3D 점군 데이터에 사전 설정된 3D 직교좌표계(orthogonal coordinate)에서의 좌표 평면인 것을 특징으로 하고,
상기 포인트 보드를 생성하는 단계는
어노테이션을 수행하는 작업자의 제어에 따라 상기 객체의 특정 지점을 선택받으면, 상기 선택받은 지점을 원점으로 하는 상기 3D 직교좌표계를 생성하고, 상기 생성된 3D 직교좌표계에서의 각 좌표축 쌍을 기초로 생성된 좌표 평면을 포인트 보드로 생성하는 것을 특징으로 하며,
상기 포인트 보드를 생성하는 단계는
상기 적어도 하나의 포인트 보드를 생성하되, 각 포인트 보드와 평행하며 상기 객체를 횡단하는 일정 간격 이격된 복수 개의 추가 포인트 보드들을 생성하는 것을 특징으로 하는, 어노테이션 방법.
An annotation device receiving 3D point group data collected from lidar;
The annotation device sets the 3D point cloud data to at least one view point and generates a plurality of guide points for specifying an object at each of the set at least one view point. steps; and
performing, by the annotation device, an annotation to specify an object based on the plurality of guide points created; Including,
The step of creating the guide points is
generating at least one point board, which is a plane crossing the object, from the 3D point cloud data; and
A step of selecting a plurality of guide points for specifying the object within the at least one point board,
The point board is
Characterized in that it is a coordinate plane in a 3D orthogonal coordinate system preset in the 3D point cloud data,
The step of creating the point board is
When a specific point of the object is selected under the control of the operator performing annotation, the 3D Cartesian coordinate system is created with the selected point as the origin, and the 3D Cartesian coordinate system is generated based on each pair of coordinate axes in the created 3D Cartesian coordinate system. Characterized by creating a coordinate plane as a point board,
The step of creating the point board is
An annotation method, characterized in that generating the at least one point board and generating a plurality of additional point boards that are parallel to each point board and spaced at a predetermined interval across the object.
상기 작업자의 제어에 따라 상기 적어도 하나의 포인트 보드를 평행 이동시켜 복수 개의 추가 포인트 보드들을 생성하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the step of creating the point board is
An annotation method, characterized in that a plurality of additional point boards are created by moving the at least one point board in parallel under the control of the operator.
상기 적어도 하나의 포인트 보드들 각각에서의 상기 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받되, 상기 적어도 하나의 포인트 보드 각각에서의 상기 객체의 외곽선을 식별하고, 상기 식별된 외곽선으로부터 상기 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시키는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the step of selecting the guide points is
A plurality of guide points for specifying the object in each of the at least one point boards are selected, an outline of the object in each of the at least one point boards is identified, and the plurality of guide points are selected from the identified outline. An annotation method characterized by separating points by a preset distance.
상기 포인트 보드를 생성하는 단계는
상기 생성된 적어도 하나의 포인트 보드 각각에서의 상기 객체의 외곽선을 식별하고, 상기 객체를 횡단하는 가상선을 생성하고, 상기 생성된 가상선 중 가장 큰 폭을 갖는 가상선을 기준으로 상기 생성된 적어도 하나의 포인트 보드 각각의 크기를 설정하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the step of selecting the guide points is
The step of creating the point board is
Identifying the outline of the object in each of the generated at least one point board, generating a virtual line crossing the object, and generating at least one virtual line based on the virtual line having the largest width among the generated virtual lines. An annotation method characterized by setting the size of each point board.
상기 적어도 하나의 포인트 보드 각각에서의 상기 객체의 외곽선을 식별하고, 상기 식별된 객체의 외곽선을 따라 일정 간격 이격된 복수 개의 가이드 포인트들을 자동 생성하고, 상기 식별된 객체의 외곽선으로부터 상기 생성된 복수 개의 가이드 포인트들을 사전 설정된 거리만큼 이격시키는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the step of selecting the guide points is
Identifying the outline of the object in each of the at least one point board, automatically generating a plurality of guide points spaced at regular intervals along the outline of the identified object, and automatically generating a plurality of guide points created from the outline of the identified object. An annotation method characterized by spacing guide points by a preset distance.
상기 가이드 포인트들을 삼각형으로 연결하여 공간을 분할하되, 삼각형들의 내각의 최소값이 최대가 되도록 분할하여 생성된 삼각형을 기초로 3D 모델링을 수행하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein performing the annotation includes
An annotation method characterized in that the space is divided by connecting the guide points into triangles, and 3D modeling is performed based on the triangles created by dividing the triangles so that the minimum value of the interior angle is maximum.
상기 3D 점군 데이터 내의 점군의 밀도를 기초로 상기 객체에 해당하는 점군을 식별하고, 상기 식별된 점군 중 상기 3D 모델링 된 영역의 외곽에 위치하는 점을 추출하고, 상기 추출된 점을 기준으로 3D 모델링을 재수행하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 6, wherein the step of performing the annotation is
Identify a point cloud corresponding to the object based on the density of the point cloud in the 3D point cloud data, extract points located outside the 3D modeled area from among the identified point clouds, and perform 3D modeling based on the extracted points. An annotation method, characterized in that re-performing.
상기 3D 모델링 된 영역의 외곽에 위치하는 점에 가이드 포인트를 생성하고, 상기 생성된 가이드 포인트를 기초로 3D 모델링을 재수행하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 7, wherein the step of performing the annotation is
An annotation method characterized by creating a guide point at a point located outside the 3D modeled area and re-performing 3D modeling based on the created guide point.
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 라이다(lidar)로부터 수집된 3D 점군 데이터(3D point group)를 수신하는 단계;
상기 프로세서가, 상기 3D 점군 데이터를 적어도 하나의 뷰 포인트(view point)로 설정하고, 상기 적어도 하나의 뷰 포인트 각각에서 객체(object)를 특정하기 위한 복수 개의 가이드 포인트(guide point)들을 생성하는 단계; 및
상기 프로세서가, 상기 생성한 복수 개의 가이드 포인트들을 기초로 객체(object)를 특정하기 위한 어노테이션(annotation)을 수행하는 단계;를 포함하여 실행시키되,
상기 가이드 포인트들을 생성하는 단계는
상기 3D 점군 데이터에서 상기 객체를 횡단하는 평면인 적어도 하나의 포인트 보드(point board)를 생성하는 단계; 및
상기 적어도 하나의 포인트 보드 내에서 상기 객체를 특정하기 위한 복수 개의 가이드 포인트들을 선택받는 단계;를 포함하며,
상기 포인트 보드는
상기 3D 점군 데이터에 사전 설정된 3D 직교좌표계(orthogonal coordinate)에서의 좌표 평면인 것을 특징으로 하고,
상기 포인트 보드를 생성하는 단계는
어노테이션을 수행하는 작업자의 제어에 따라 상기 객체의 특정 지점을 선택받으면, 상기 선택받은 지점을 원점으로 하는 상기 3D 직교좌표계를 생성하고, 상기 생성된 3D 직교좌표계에서의 각 좌표축 쌍을 기초로 생성된 좌표 평면을 포인트 보드로 생성하는 것을 특징으로 하며,
상기 포인트 보드를 생성하는 단계는
상기 적어도 하나의 포인트 보드를 생성하되, 각 포인트 보드와 평행하며 상기 객체를 횡단하는 일정 간격 이격된 복수 개의 추가 포인트 보드들을 생성하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
Combined with a computing device configured to include a processor that processes instructions resident in the memory,
Receiving, by the processor, 3D point group data collected from lidar;
The processor sets the 3D point cloud data to at least one view point and generates a plurality of guide points for specifying an object at each of the at least one view point. ; and
The processor performs an annotation to specify an object based on the generated plurality of guide points.
The step of creating the guide points is
generating at least one point board, which is a plane crossing the object, from the 3D point cloud data; and
A step of selecting a plurality of guide points for specifying the object within the at least one point board,
The point board is
Characterized in that it is a coordinate plane in a 3D orthogonal coordinate system preset in the 3D point cloud data,
The step of creating the point board is
When a specific point of the object is selected under the control of the operator performing the annotation, the 3D Cartesian coordinate system is created with the selected point as the origin, and the 3D Cartesian coordinate system is generated based on each pair of coordinate axes in the created 3D Cartesian coordinate system. Characterized by creating a coordinate plane as a point board,
The step of creating the point board is
A computer program recorded on a recording medium, characterized in that it generates the at least one point board and generates a plurality of additional point boards parallel to each point board and spaced at a predetermined interval across the object.
상기 가이드 포인트들을 삼각형으로 연결하여 공간을 분할하되, 삼각형들의 내각의 최소값이 최대가 되도록 분할하여 생성된 삼각형을 기초로 3D 모델링을 수행하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.The method of claim 9, wherein the step of performing the annotation is
A computer program recorded on a recording medium, characterized in that space is divided by connecting the guide points into triangles, and 3D modeling is performed based on the triangles created by dividing the triangles so that the minimum value of the interior angle is maximum.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230053734A KR102613162B1 (en) | 2023-04-25 | 2023-04-25 | Method for annotation for 3D point cloud data, and computer program recorded on record-medium for executing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230053734A KR102613162B1 (en) | 2023-04-25 | 2023-04-25 | Method for annotation for 3D point cloud data, and computer program recorded on record-medium for executing method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102613162B1 true KR102613162B1 (en) | 2023-12-13 |
Family
ID=89157559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230053734A KR102613162B1 (en) | 2023-04-25 | 2023-04-25 | Method for annotation for 3D point cloud data, and computer program recorded on record-medium for executing method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102613162B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102230144B1 (en) | 2019-07-29 | 2021-03-22 | 군산대학교산학협력단 | Artificial intelligence deep learning target detection and velocity potential field algorithm based obstacle avoidance and autonomous navigation technique |
KR102305229B1 (en) * | 2021-01-13 | 2021-09-27 | 셀렉트스타 주식회사 | Method and device for producing feature map information for extracting boundary information from image |
KR102317182B1 (en) * | 2020-11-25 | 2021-10-27 | 주식회사 리얼이매진 | Apparatus for generating composite image using 3d object and 2d background |
KR102356910B1 (en) * | 2021-08-05 | 2022-02-08 | 주식회사 인피닉 | Method for preemptively detecting object, and computer program recorded on record-medium for executing method therefor |
-
2023
- 2023-04-25 KR KR1020230053734A patent/KR102613162B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102230144B1 (en) | 2019-07-29 | 2021-03-22 | 군산대학교산학협력단 | Artificial intelligence deep learning target detection and velocity potential field algorithm based obstacle avoidance and autonomous navigation technique |
KR102317182B1 (en) * | 2020-11-25 | 2021-10-27 | 주식회사 리얼이매진 | Apparatus for generating composite image using 3d object and 2d background |
KR102305229B1 (en) * | 2021-01-13 | 2021-09-27 | 셀렉트스타 주식회사 | Method and device for producing feature map information for extracting boundary information from image |
KR102356910B1 (en) * | 2021-08-05 | 2022-02-08 | 주식회사 인피닉 | Method for preemptively detecting object, and computer program recorded on record-medium for executing method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507099B2 (en) | Systems and methods for graph-based AI training | |
JP2018200685A (en) | Forming of data set for fully supervised learning | |
CN108279670A (en) | Method, equipment and computer-readable medium for adjusting point cloud data acquisition trajectories | |
KR102343056B1 (en) | A method of reducing data load of images for annotation, and computer program recorded on record-medium for executing method thereof | |
KR102305230B1 (en) | Method and device for improving accuracy of boundary information from image | |
KR102310594B1 (en) | Method for predicting cost of works, and computer program recorded on record-medium for executing method therefor | |
KR102356910B1 (en) | Method for preemptively detecting object, and computer program recorded on record-medium for executing method therefor | |
KR102343059B1 (en) | Data collecting system for artificial intelligence machine learning, and device therefor | |
KR102171269B1 (en) | Method, apparatus and computer program for coloring of image, Method, apparatus and computer program for learning of artificial neural network | |
KR102401113B1 (en) | Artificial neural network Automatic design generation apparatus and method using compensation possibility and UX-bit | |
KR102343043B1 (en) | Annotation method capable of change of working condition simultaneously, and computer program recorded on record-medium for executing method thereof | |
KR102310589B1 (en) | Method for inspecting of annotation product using scripts, and computer program recorded on record-medium for executing method therefor | |
KR102310592B1 (en) | Annotation method capable of guiding change of working regulation, and computer program recorded on record-medium for executing method thereof | |
US11703350B2 (en) | System and method for automatically annotating a map | |
KR102310599B1 (en) | Method of generating skeleton data of 3D modeling for artificial intelligence learning, and computer program recorded on record-medium for executing method thereof | |
KR102613162B1 (en) | Method for annotation for 3D point cloud data, and computer program recorded on record-medium for executing method thereof | |
CN111645687A (en) | Lane changing strategy determining method, device and storage medium | |
KR102313922B1 (en) | A method of increasing quality for data of connected 3D points group, and computer program recorded on record-medium for executing method thereof | |
US20220375205A1 (en) | Aggregating Nested Vision Transformers | |
KR102343061B1 (en) | Method for de-identifying personal information, and computer program recorded on record-medium for executing method therefor | |
US11941327B2 (en) | Customizable reinforcement learning of column placement in structural design | |
KR102599192B1 (en) | Method for object detection, and computer program recorded on record-medium for executing method thereof | |
CN113627646A (en) | Path planning method, device, equipment and medium based on neural network | |
KR102343055B1 (en) | Load balancing method for annotation using local device, and computer program recorded on record-medium for executing method therefor | |
KR102378892B1 (en) | Batch processing method of 3D points group, and computer program recorded on record-medium for executing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |