KR102433287B1 - Method for, device for, and system for generating an learning set - Google Patents

Method for, device for, and system for generating an learning set Download PDF

Info

Publication number
KR102433287B1
KR102433287B1 KR1020210134610A KR20210134610A KR102433287B1 KR 102433287 B1 KR102433287 B1 KR 102433287B1 KR 1020210134610 A KR1020210134610 A KR 1020210134610A KR 20210134610 A KR20210134610 A KR 20210134610A KR 102433287 B1 KR102433287 B1 KR 102433287B1
Authority
KR
South Korea
Prior art keywords
bounding box
target
obtaining
target object
image
Prior art date
Application number
KR1020210134610A
Other languages
Korean (ko)
Inventor
강창범
김성웅
Original Assignee
주식회사 에너자이(ENERZAi)
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 주식회사 에너자이(ENERZAi) filed Critical 주식회사 에너자이(ENERZAi)
Priority to KR1020210134610A priority Critical patent/KR102433287B1/en
Priority to KR1020220100621A priority patent/KR102639637B1/en
Application granted granted Critical
Publication of KR102433287B1 publication Critical patent/KR102433287B1/en
Priority to PCT/KR2022/015177 priority patent/WO2023063661A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • 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/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

A learning set generating method according to an embodiment of the present application includes the steps of: performing calibration on at least two cameras; acquiring a first image captured from a first camera and a second image captured from a second camera; recognizing a target object from the first image and acquiring first object information related to the target object; recognizing the target object from the second image and acquiring second object information related to the target object; acquiring a three-dimensional target bounding box related to the target object from the first object information and the second object information; acquiring sensing data corresponding to the target bounding box, wherein the sensing data is acquired through at least one of a LIDAR sensor and a radar sensor; and generating a learning set for learning a neural network model for detecting an object included in the sensing data, based on the sensing data and the target bounding box. The present invention is to train a neural network model that detects an object from sensing data obtained from a radar sensor or LIDAR sensor.

Description

학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템{METHOD FOR, DEVICE FOR, AND SYSTEM FOR GENERATING AN LEARNING SET}A method for generating a learning set, an apparatus for generating a learning set, and a system for generating a learning set

본 출원은 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템에 관한 것이다. 구체적으로 본 출원은 레이더(Radar) 데이터 또는 라이더(Lidar) 데이터를 포함하는 센싱 데이터로부터 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템에 관한 것이다. The present application relates to a learning set generating method, a learning set generating apparatus, and a learning set generating system. Specifically, the present application relates to a learning set generating method, a learning set generating apparatus, and a learning set generating system for learning a neural network model for detecting an object from sensing data including radar data or lidar data. .

인공 지능 기술이 발전하면서 다양한 산업 분야에 이용되기 위한 인공 지능 모델에 대한 연구와 개발이 증가되고 있다. 특히 자동차 산업과 관련하여 다양한 센서(예컨대, 레이더 센서, 라이더 센서 등)를 이용하여 측정한 데이터에 기반하여 객체를 인식하고, 객체 인식 결과에 기반하여 자동차를 자동적으로 제어하는 인공 지능 모델에 대한 관심이 높아지고 있다. As artificial intelligence technology develops, research and development of artificial intelligence models for use in various industries are increasing. In particular, in relation to the automobile industry, interest in artificial intelligence models that recognize objects based on data measured using various sensors (eg, radar sensors, lidar sensors, etc.) and automatically control cars based on the object recognition results this is rising

인공 지능 모델을 훈련시키기 위하여 가장 어려우면서 중요한 작업 중 하나는 인공 지능 모델을 학습시키기 위한 학습 세트에 대한 라벨링 작업이다. 종래에는 레이더 센서 또는 라이더 센서로부터 획득된 센싱 데이터에 포함된 포인트 클라우드(point cloud)에 전문가가 수작업으로 객체 정보를 할당하거나 어노테이션(annotation)하는 방식을 채택하였다. 다만, 종래의 방식은 학습 세트를 준비하는 데 상당한 시간과 비용이 소요된다는 문제가 존재하였다. 또한, 레이더 센서는 센서의 특성 상 해상도(resolution)가 상대적으로 낮아 레이더 데이터에 포함된 포인트 클라우드에 기초하여 객체의 정확한 형태를 유추하기 어려워 라벨링 작업이 불가능하거나, 라벨링을 수작업으로 하더라도 정확도가 낮다는 제약이 존재하였다. One of the most difficult and important tasks to train an artificial intelligence model is the labeling task on the training set for training the artificial intelligence model. Conventionally, a method in which an expert manually assigns or annotates object information to a point cloud included in sensing data obtained from a radar sensor or a lidar sensor is adopted. However, the conventional method has a problem in that it takes considerable time and cost to prepare a training set. In addition, the radar sensor has a relatively low resolution due to the characteristics of the sensor, so it is difficult to infer the exact shape of the object based on the point cloud included in the radar data, making labeling impossible, or even if the labeling is done manually, the accuracy is low. There were restrictions.

따라서, 센싱 데이터로부터 학습 세트를 자동적으로 생성하는 학습 세트 생성 방법, 장치 및 시스템의 개발이 요구된다.Accordingly, there is a need for development of a learning set generating method, apparatus and system for automatically generating a learning set from sensing data.

본 발명이 해결하고자 하는 일 과제는, 레이더 센서 또는 라이더 센서로부터 획득한 센싱 데이터로부터 객체를 검출하는 신경망 모델을 훈련시키기 위한 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템을 제공하는 것이다. One problem to be solved by the present invention is to provide a learning set generating method, a learning set generating apparatus, and a learning set generating system for training a neural network model for detecting an object from sensing data obtained from a radar sensor or a lidar sensor. .

본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the above-described problems, and the problems not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the present specification and the accompanying drawings. .

본 출원의 일 실시예에 따른 학습 세트 생성 방법은, 적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계; 제1 카메라로부터 촬영된 제1 영상과 제2 카메라로부터 촬영된 제2 영상을 획득하는 단계; 상기 제1 영상으로부터 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하는 단계; 상기 제2 영상으로부터 상기 대상 객체를 인식하고 상기 대상 객체와 관련된 제2 객체 정보를 획득하는 단계; 상기 제1 객체 정보 및 상기 제2 객체 정보에 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계; 상기 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계-상기 센싱 데이터는 라이더 센서 및 레이더 센서 중 적어도 하나를 통하여 획득됨-; 및 상기 센싱 데이터 및 상기 대상 바운딩박스에 기초하여, 상기 센싱 데이터에 포함된 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계;를 포함할 수 있다. A method for generating a learning set according to an embodiment of the present application includes: performing calibration on at least two or more cameras; obtaining a first image photographed from a first camera and a second image photographed from a second camera; recognizing a target object from the first image and obtaining first object information related to the target object; recognizing the target object from the second image and obtaining second object information related to the target object; obtaining a three-dimensional target bounding box related to the target object in the first object information and the second object information; obtaining sensing data corresponding to the target bounding box, wherein the sensing data is obtained through at least one of a lidar sensor and a radar sensor; and generating a training set for training a neural network model for detecting an object included in the sensing data based on the sensing data and the target bounding box.

본 출원의 일 실시예에 따른 학습 세트 생성 장치는, 제1 카메라, 제2 카메라 및 센서 중 적어도 하나와 통신하는 송수신부; 및 상기 제1 카메라 및 상기 제2 카메라를 통하여 영상 데이터를 획득하고, 상기 센서를 통하여 센싱 데이터를 획득하고, 상기 영상 데이터 및 상기 센싱 데이터에 기반하여 학습 세트를 생성하는 컨트롤러;를 포함하되, 상기 컨트롤러는, 상기 제1 카메라로부터 촬영된 제1 영상과 상기 제2 카메라로부터 촬영된 제2 영상을 획득하고, 상기 제1 영상으로부터 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하고, 상기 제2 영상으로부터 상기 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하고, 상기 제1 객체 정보 및 상기 제2 객체 정보에 기초하여 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하고, 상기 대상 바운딩박스에 대응되는 센서 데이터-상기 센서 데이터는 라이더 센서 및 레이더 센서 중 적어도 하나를 통하여 획득됨-;를 획득하고, 상기 센서 데이터 및 상기 대상 바운딩박스에 기초하여, 상기 센싱 데이터에 포함된 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트를 생성하도록 구성될 수 있다. A learning set generating apparatus according to an embodiment of the present application includes a transceiver for communicating with at least one of a first camera, a second camera, and a sensor; and a controller configured to obtain image data through the first camera and the second camera, obtain sensing data through the sensor, and generate a learning set based on the image data and the sensing data. The controller obtains a first image photographed from the first camera and a second image photographed from the second camera, recognizes a target object from the first image, and obtains first object information related to the target object, , Recognizes the target object from the second image, obtains first object information related to the target object, and based on the first object information and the second object information, a three-dimensional target bounding box related to the target object to obtain, and sensor data corresponding to the target bounding box, wherein the sensor data is acquired through at least one of a lidar sensor and a radar sensor, is obtained, and based on the sensor data and the target bounding box, the sensing It may be configured to generate a training set for training a neural network model to detect objects included in data.

본 발명의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The solutions to the problems of the present invention are not limited to the above-described solutions, and solutions not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the present specification and the accompanying drawings. will be able

본 출원의 실시예에 따른 학습 세트 생성 방법, 장치 및 시스템에 의하면, 센싱 데이터에 대한 라벨링 작업에 영상 데이터를 연계시킴으로써 학습 세트의 준비에 소요되는 시간 및 비용을 절약할 수 있다. According to the method, apparatus, and system for generating a training set according to an embodiment of the present application, time and cost required for preparing a training set can be reduced by associating image data with a labeling operation for sensing data.

본 출원의 실시예에 따른 학습 세트 생성 방법, 장치 및 시스템에 의하면, 객체의 특성 정보 간의 유사도 또는 객체의 랜드마크를 이용하여 대상 객체와 관련된 바운딩박스를 획득함으로써, 보다 정교한 학습 세트를 생성할 수 있다. According to the method, apparatus, and system for generating a learning set according to an embodiment of the present application, a more sophisticated learning set can be generated by obtaining a bounding box related to a target object using a similarity between characteristic information of an object or a landmark of the object have.

본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-described effects, and effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the present specification and accompanying drawings.

도 1은 본 출원의 일 실시예에 따른 학습 세트 생성 시스템의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 학습 세트 생성 시스템의 동작들을 나타낸 도면이다.
도 3은 본 출원의 일 실시예에 따라 학습 세트를 생성하는 방법을 나타낸 순서도이다.
도 4는 본 출원의 일 실시예에 따른 적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계를 구체화한 순서도이다.
도 5는 본 출원의 일 실시예에 따른 카메라의 내부 파라미터에 대한 캘리브레이션을 수행하는 단계를 구체화한 순서도이다.
도 6은 본 출원의 일 실시예에 따른 제1 캘리브레이션 기준 객체의 일 예를 도시한 도면이다.
도 7은 본 출원의 일 실시예에 따른 카메라의 외부 파라미터에 대한 캘리브레이션을 수행하는 단계를 구체화한 순서도이다.
도 8은 본 출원의 일 실시예에 따른 제2 캘리브레이션 기준 객체를 이용하여 카메라 캘리브레이션을 수행하는 일 양상을 도시한 도면이다.
도 9는 본 출원의 일 실시예에 따른 대상 바운딩박스를 획득하는 단계를 구체화한 순서도이다.
도 10은 본 출원의 일 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계를 구체화한 순서도이다.
도 11은 본 출원의 일 실시예에 따른 3차원의 대상 바운딩박스를 획득하는 일 양상을 도시한 도면이다.
도 12는 본 출원의 일 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계를 구체화한 순서도이다.
도 13은 본 출원의 일 실시예에 따른 3차원의 대상 바운딩박스를 결정하는 일 양상을 도시한 도면이다.
도 14는 본 출원의 다른 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계를 구체화한 순서도이다.
1 is a schematic diagram of a system for generating a learning set according to an embodiment of the present application;
2 is a diagram illustrating operations of a learning set generating system according to an embodiment of the present application.
3 is a flowchart illustrating a method of generating a training set according to an embodiment of the present application.
4 is a flowchart detailing the step of performing calibration of at least two or more cameras according to an embodiment of the present application.
5 is a flowchart detailing a step of performing calibration on internal parameters of a camera according to an embodiment of the present application.
6 is a diagram illustrating an example of a first calibration reference object according to an embodiment of the present application.
7 is a flowchart detailing a step of performing calibration on an external parameter of a camera according to an embodiment of the present application.
8 is a diagram illustrating an aspect of performing camera calibration using a second calibration reference object according to an embodiment of the present application.
9 is a flowchart detailing the step of obtaining a target bounding box according to an embodiment of the present application.
10 is a flowchart detailing the step of obtaining a target bounding box related to a target object according to an embodiment of the present application.
11 is a diagram illustrating an aspect of obtaining a three-dimensional target bounding box according to an embodiment of the present application.
12 is a flowchart detailing the step of obtaining a target bounding box related to a target object according to an embodiment of the present application.
13 is a diagram illustrating an aspect of determining a three-dimensional target bounding box according to an embodiment of the present application.
14 is a flowchart detailing the step of obtaining a target bounding box related to a target object according to another embodiment of the present application.

본 출원의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 출원은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.The above-mentioned objects, features and advantages of the present application will become more apparent from the following detailed description in conjunction with the accompanying drawings. However, since the present application may have various changes and may have various embodiments, specific embodiments will be exemplified in the drawings and described in detail below.

명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명하며, 이에 대한 중복되는 설명은 생략하기로 한다.Throughout the specification, like reference numerals refer to like elements in principle. In addition, components having the same function within the scope of the same idea shown in the drawings of each embodiment will be described using the same reference numerals, and overlapping descriptions thereof will be omitted.

본 출원과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 출원의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.If it is determined that a detailed description of a known function or configuration related to the present application may unnecessarily obscure the gist of the present application, the detailed description thereof will be omitted. In addition, numbers (eg, first, second, etc.) used in the description process of the present specification are merely identification symbols for distinguishing one component from other components.

또한, 이하의 실시예에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.In addition, the suffixes "module" and "part" for the components used in the following embodiments are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves.

이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.In the following examples, the singular expression includes the plural expression unless the context clearly dictates otherwise.

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.In the following embodiments, terms such as include or have means that the features or components described in the specification are present, and the possibility that one or more other features or components may be added is not excluded in advance.

도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타낸 것으로, 본 발명이 반드시 도시된 바에 한정되지 않는다.In the drawings, the size of the components may be exaggerated or reduced for convenience of description. For example, the size and thickness of each component shown in the drawings are arbitrarily indicated for convenience of description, and the present invention is not necessarily limited to the illustrated bar.

어떤 실시예가 달리 구현 가능한 경우에 특정한 프로세스의 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 프로세스가 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.In cases where certain embodiments are otherwise implementable, the order of specific processes may be performed differently from the order in which they are described. For example, two processes described in succession may be performed substantially simultaneously, or may be performed in an order opposite to the order described.

이하의 실시예에서, 구성 요소 등이 연결되었다고 할 때, 구성 요소들이 직접적으로 연결된 경우뿐만 아니라 구성요소들 중간에 구성 요소들이 개재되어 간접적으로 연결된 경우도 포함한다.In the following embodiments, when components are connected, it includes not only cases in which components are directly connected, but also cases in which components are interposed between components and connected indirectly.

예컨대, 본 명세서에서 구성 요소 등이 전기적으로 연결되었다고 할 때, 구성 요소 등이 직접 전기적으로 연결된 경우뿐만 아니라, 그 중간에 구성 요소 등이 개재되어 간접적으로 전기적 연결된 경우도 포함한다.For example, in the present specification, when it is said that components and the like are electrically connected, it includes not only the case where the components are directly electrically connected, but also the case where the components are interposed therebetween to be indirectly electrically connected.

본 출원의 일 실시예에 따른 학습 세트 생성 방법은, 적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계; 제1 카메라로부터 촬영된 제1 영상과 제2 카메라로부터 촬영된 제2 영상을 획득하는 단계; 상기 제1 영상으로부터 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하는 단계; 상기 제2 영상으로부터 상기 대상 객체를 인식하고 상기 대상 객체와 관련된 제2 객체 정보를 획득하는 단계; 상기 제1 객체 정보 및 상기 제2 객체 정보에 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계; 상기 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계-상기 센싱 데이터는 라이더 센서 및 레이더 센서 중 적어도 하나를 통하여 획득됨-; 및 상기 센싱 데이터 및 상기 대상 바운딩박스에 기초하여, 상기 센싱 데이터에 포함된 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계;를 포함할 수 있다. A method for generating a learning set according to an embodiment of the present application includes: performing calibration on at least two or more cameras; obtaining a first image photographed from a first camera and a second image photographed from a second camera; recognizing a target object from the first image and obtaining first object information related to the target object; recognizing the target object from the second image and obtaining second object information related to the target object; obtaining a three-dimensional target bounding box related to the target object in the first object information and the second object information; obtaining sensing data corresponding to the target bounding box, wherein the sensing data is obtained through at least one of a lidar sensor and a radar sensor; and generating a training set for training a neural network model for detecting an object included in the sensing data based on the sensing data and the target bounding box.

본 출원의 일 실시예에 따르면, 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계는, 상기 제1 객체 정보에 포함된 제1 바운딩박스를 3차원 공간좌표에 리버스 투영(Revere project)하여 제1 투영 체적을 획득하는 단계; 상기 제2 객체 정보에 포함된 제2 바운딩박스를 3차원 공간좌표에 리버스 투영(Revere project)하여 제2 투영 체적을 획득하는 단계; 및 상기 제1 투영 체적 및 상기 제2 투영 체적에 기초하여 상기 제1 투영 체적과 상기 제2 투영 체적 간의 교차 체적을 획득하고, 상기 교차 체적에 기초하여 상기 대상 객체와 관련된 상기 대상 바운딩박스를 획득하는 단계;를 포함할 수 있다.According to an embodiment of the present application, the step of obtaining a three-dimensional target bounding box related to the target object may include reversely projecting the first bounding box included in the first object information onto 3D spatial coordinates (Revere project). to obtain a first projection volume; obtaining a second projected volume by reverse projecting a second bounding box included in the second object information onto 3D spatial coordinates; and obtaining an intersection volume between the first projection volume and the second projection volume based on the first projection volume and the second projection volume, and obtaining the target bounding box associated with the target object based on the intersection volume may include;

본 출원의 일 실시예에 따르면, 상기 대상 객체와 관련된 상기 대상 바운딩박스를 획득하는 단계는, 상기 제1 투영 체적을 구성하는 적어도 하나의 제1 평면을 획득하는 단계; 상기 제2 투영 체적을 구성하는 적어도 하나의 상기 제2 평면을 획득하는 단계; 및 상기 제1 평면 및 상기 제2 평면의 공통 평면을 획득하고, 상기 공통 평면에 기초하여 상기 대상 바운딩박스를 획득하는 단계;를 포함할 수 있다.According to an embodiment of the present application, the acquiring the target bounding box related to the target object includes: acquiring at least one first plane constituting the first projection volume; obtaining at least one said second plane constituting said second projection volume; and acquiring a common plane of the first plane and the second plane, and acquiring the target bounding box based on the common plane.

본 출원의 일 실시예에 따르면, 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계는, 상기 제1 투영 체적 및 상기 제2 투영 체적에 기초하여 적어도 2 이상의 3차원의 임시 바운딩박스들을 획득하는 단계; 상기 제1 바운딩박스와 관련된 제1 특성 정보를 획득하는 단계; 상기 제2 바운딩박스와 관련된 제2 특성 정보를 획득하는 단계; 상기 제1 특성 정보와 상기 제2 특성 정보의 유사도에 기초하여 상기 임시 바운딩박스에 매칭 점수를 할당하는 단계; 및 상기 매칭 점수에 기초하여 상기 임시 바운딩박스들 중에서 상기 대상 바운딩박스를 결정하는 단계;를 포함할 수 있다.According to an embodiment of the present application, the obtaining of the three-dimensional target bounding box related to the target object includes at least two or more three-dimensional temporary bounding boxes based on the first projection volume and the second projection volume. obtaining; obtaining first characteristic information related to the first bounding box; obtaining second characteristic information related to the second bounding box; allocating a matching score to the temporary bounding box based on a degree of similarity between the first characteristic information and the second characteristic information; and determining the target bounding box from among the temporary bounding boxes based on the matching score.

본 출원의 일 실시예에 따르면, 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계는, 상기 제1 객체 정보에 포함된 상기 대상 객체와 관련된 제1 셀 정보를 3차원 공간좌표에 투영하여 제1 투영 직선을 획득하는 단계; 상기 제2 객체 정보에 포함된 상기 대상 객체와 관련된 제2 셀 정보를 3차원 공간좌표에 투영하여 제1 투영 직선을 획득하는 단계; 및 상기 제1 투영 직선 및 상기 제2 투영 직선에 기초하여 상기 대상 객체와 관련된 3차원 대상 바운딩박스를 획득하는 단계;를 포함할 수 있다. According to an embodiment of the present application, the obtaining of the three-dimensional target bounding box related to the target object includes projecting the first cell information related to the target object included in the first object information onto 3D spatial coordinates. to obtain a first projection straight line; obtaining a first projection straight line by projecting second cell information related to the target object included in the second object information onto 3D spatial coordinates; and obtaining a three-dimensional target bounding box related to the target object based on the first projection straight line and the second projection straight line.

본 출원의 일 실시예에 따르면, 상기 제1 투영 직선 및 상기 제2 투영 직선에 기초하여 상기 대상 객체와 관련된 3차원 대상 바운딩박스를 획득하는 단계는, 상기 제1 투영 직선 및 상기 제2 투영 직선에 기초하여 제1 임시 바운딩박스 및 제2 임시 바운딩박스를 포함하는 적어도 2 이상의 3차원의 임시 바운딩박스들을 획득하는 단계; 상기 제1 투영 직선 및 상기 제2 투영 직선 간의 거리를 연산하는 단계; 상기 연산된 거리에 기초하여 상기 제1 임시 바운딩박스에 제1 점수 및 상기 제2 임시 바운딩박스에 제2 점수를 할당하는 단계; 및 상기 제1 점수 및 상기 제2 점수를 비교하여 상기 제1 임시 바운딩박스 및 상기 제2 임시 바운딩박스 중에서 적어도 하나를 대상 바운딩박스로 결정하는 단계;를 포함할 수 있다.According to an embodiment of the present application, the step of obtaining a three-dimensional target bounding box related to the target object on the basis of the first projection straight line and the second projection straight line includes the first projection straight line and the second projection straight line. obtaining at least two or more three-dimensional temporary bounding boxes including a first temporary bounding box and a second temporary bounding box based on the ; calculating a distance between the first projection straight line and the second projection straight line; allocating a first score to the first temporary bounding box and a second score to the second temporary bounding box based on the calculated distance; and determining at least one of the first temporary bounding box and the second temporary bounding box as a target bounding box by comparing the first score and the second score.

본 출원의 일 실시예에 따르면, 상기 적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계는, 적어도 2 이상의 카메라의 내부 파라미터의 캘리브레이션을 수행하는 단계를 포함하되, 상기 적어도 2 이상의 카메라의 내부 파라미터의 캘리브레이션을 수행하는 단계는, 상기 카메라를 통하여 제1 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계; 상기 이미지에 기초하여 상기 제1 캘리브레이션 기준 객체와 관련된 제1 픽셀 세트를 획득하는 단계; 상기 카메라의 좌표계 정보를 획득하는 단계; 및 상기 좌표계 정보 및 상기 제1 픽셀 세트에 기초하여 상기 카메라의 내부 파라미터(intrinsic parameter)를 보정하는 단계;를 포함할 수 있다.According to an embodiment of the present application, the performing the calibration on the at least two or more cameras includes performing calibration of the internal parameters of the at least two or more cameras, and the calibration of the internal parameters of the at least two or more cameras The performing may include: acquiring an image of a first calibration reference object through the camera; obtaining a first set of pixels associated with the first calibration reference object based on the image; obtaining coordinate system information of the camera; and correcting an intrinsic parameter of the camera based on the coordinate system information and the first pixel set.

본 출원의 일 실시예에 따르면, 상기 적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계는, 적어도 2 이상의 카메라의 외부 파라미터의 캘리브레이션을 수행하는 단계를 포함하되, 상기 적어도 2 이상의 카메라의 외부 파라미터의 캘리브레이션을 수행하는 단계는, 제2 캘리브레이션 기준 객체에 대한 기준 좌표 정보를 획득하는 단계-상기 기준 좌표 정보는 라이더 센서 및 레이더 센서 중 적어도 하나의 센서 기반 좌표계와 관련됨-; 상기 카메라를 통하여 상기 제2 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계; 상기 이미지에 기초하여 상기 제2 캘리브레이션 기준 객체와 관련된 제2 픽셀 세트를 획득하는 단계; 상기 기준 좌표 정보 및 상기 제2 픽셀 세트에 기초하여 좌표 쌍(pair)을 획득하는 단계; 및 상기 좌표 쌍에 기초하여 상기 카메라의 외부 파라미터에 대한 보정을 수행하는 단계;를 포함할 수 있다. According to an embodiment of the present application, performing the calibration on the at least two or more cameras includes performing calibration of external parameters of the at least two or more cameras, and calibration of the external parameters of the at least two or more cameras The performing may include: obtaining reference coordinate information for a second calibration reference object, wherein the reference coordinate information is related to a sensor-based coordinate system of at least one of a lidar sensor and a radar sensor; acquiring an image of the second calibration reference object through the camera; obtaining a second set of pixels associated with the second calibration reference object based on the image; obtaining a coordinate pair based on the reference coordinate information and the second set of pixels; and performing a correction on an external parameter of the camera based on the coordinate pair.

본 출원의 일 실시예에 따르면, 상기 학습 세트 생성 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.According to an embodiment of the present application, a computer-readable recording medium in which a program for executing the learning set generating method is recorded may be provided.

본 출원의 일 실시예에 따른 학습 세트 생성 장치는, 제1 카메라, 제2 카메라 및 센서 중 적어도 하나와 통신하는 송수신부; 및 상기 제1 카메라 및 상기 제2 카메라를 통하여 영상 데이터를 획득하고, 상기 센서를 통하여 센싱 데이터를 획득하고, 상기 영상 데이터 및 상기 센싱 데이터에 기반하여 학습 세트를 생성하는 컨트롤러;를 포함하되, 상기 컨트롤러는, 상기 제1 카메라로부터 촬영된 제1 영상과 상기 제2 카메라로부터 촬영된 제2 영상을 획득하고, 상기 제1 영상으로부터 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하고, 상기 제2 영상으로부터 상기 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하고, 상기 제1 객체 정보 및 상기 제2 객체 정보에 기초하여 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하고, 상기 대상 바운딩박스에 대응되는 센서 데이터-상기 센서 데이터는 라이더 센서 및 레이더 센서 중 적어도 하나를 통하여 획득됨-;를 획득하고, 상기 센서 데이터 및 상기 대상 바운딩박스에 기초하여, 상기 센싱 데이터에 포함된 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트를 생성하도록 구성될 수 있다. A learning set generating apparatus according to an embodiment of the present application includes a transceiver for communicating with at least one of a first camera, a second camera, and a sensor; and a controller configured to obtain image data through the first camera and the second camera, obtain sensing data through the sensor, and generate a learning set based on the image data and the sensing data. The controller obtains a first image photographed from the first camera and a second image photographed from the second camera, recognizes a target object from the first image, and obtains first object information related to the target object, , Recognizes the target object from the second image, obtains first object information related to the target object, and based on the first object information and the second object information, a three-dimensional target bounding box related to the target object to obtain, and sensor data corresponding to the target bounding box, wherein the sensor data is acquired through at least one of a lidar sensor and a radar sensor, is obtained, and based on the sensor data and the target bounding box, the sensing It may be configured to generate a training set for training a neural network model to detect objects included in data.

이하에서는 도 1 내지 도 13을 참고하여 본 출원의 학습 세트 생성 방법, 학습 세트 생성 장치 및 학습 세트 생성 시스템에 관하여 설명한다. Hereinafter, a learning set generating method, a learning set generating apparatus, and a learning set generating system of the present application will be described with reference to FIGS. 1 to 13 .

도 1은 본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 개략도이다. 1 is a schematic diagram of a training set generation system 10 according to an embodiment of the present application.

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)은 적어도 하나의 카메라(예컨대, 제1 카메라(110) 및 제2 카메라(120)), 센서(200) 및 서버(1000, 혹은 학습 세트 생성 장치)를 포함할 수 있다. The training set generating system 10 according to an embodiment of the present application includes at least one camera (eg, the first camera 110 and the second camera 120 ), the sensor 200 and the server 1000 , or the training set. generating device).

적어도 하나의 카메라는 대상 객체를 촬영한 영상을 획득하고, 임의의 송수신부를 통하여 영상을 서버(1000)로 송신할 수 있다. 일 예로, 제1 카메라(110)는 대상 객체에 대하여 제1 위치에 배치되어 제1 각도(혹은 제1 기울기)로 대상 객체와 관련된 제1 영상을 획득할 수 있다. 다른 예로, 제2 카메라(120)는 대상 객체에 대하여 제1 위치와는 상이한 제2 위치(또는 제1 위치와는 인접한 제2 위치)에 배치되어 제2 각도(혹은 제2 기울기)로 대상 객체와 관련된 제2 영상을 획득할 수 있다. At least one camera may acquire an image of the target object and transmit the image to the server 1000 through an arbitrary transceiver. For example, the first camera 110 may be disposed at a first position with respect to the target object to acquire a first image related to the target object at a first angle (or a first inclination). As another example, the second camera 120 is disposed at a second position different from the first position (or a second position adjacent to the first position) with respect to the target object at a second angle (or second inclination) to the target object. A second image related to may be acquired.

한편, 도 1에서는 학습 세트 생성 시스템(10)이 제1 카메라(110) 및 제2 카메라(120)를 포함하는 것으로 도시하였다. 다만 이는 설명의 편의를 위한 예시에 불과하며, 학습 세트 생성 시스템(10)은 임의의 적절한 수의 카메라를 포함하도록 구성될 수 있다. 예컨대, 학습 세트 생성 시스템(10)은 단일의 카메라를 포함할 수 있다. 다른 예를 들어, 학습 세트 생성 시스템(10)은 적어도 2 이상의 카메라를 포함할 수 있다. Meanwhile, in FIG. 1 , the training set generating system 10 is illustrated as including a first camera 110 and a second camera 120 . However, this is only an example for convenience of description, and the learning set generating system 10 may be configured to include any suitable number of cameras. For example, the training set creation system 10 may include a single camera. As another example, the training set generation system 10 may include at least two or more cameras.

센서(200)는 대상 객체와 관련된 센싱 데이터를 획득하고, 임의의 송수신부를 통하여 센싱 데이터를 서버(1000)로 송신할 수 있다. 일 예로, 센서(200)는 레이더 센서(Radar sensor) 및/또는 라이더 센서(Lidar sensor) 중 적어도 하나일 수 있다. 다만, 이는 예시에 불과하며, 센서(200)는 레이더 센서(Radar sensor) 및/또는 라이더 센서(Lidar sensor) 이외의 객체를 검출하기 위한 임의의 센서일 수 있다. The sensor 200 may acquire sensing data related to a target object and transmit the sensing data to the server 1000 through an arbitrary transceiver. For example, the sensor 200 may be at least one of a radar sensor and/or a lidar sensor. However, this is only an example, and the sensor 200 may be any sensor for detecting an object other than a radar sensor and/or a lidar sensor.

한편, 센서(200)는 대상 객체에 대하여 제3 위치에 배치되어 대상 객체에 대한 센싱 데이터를 획득할 수 있다. 여기서, 제3 위치는 제1 위치 및/또는 제2 위치와는 인접하거나 상이할 수 있다. Meanwhile, the sensor 200 may be disposed at a third position with respect to the target object to acquire sensing data for the target object. Here, the third location may be adjacent to or different from the first location and/or the second location.

서버(1000) 혹은 학습 세트 생성 장치(이하에서는 서버(1000)로 지칭)는 송수신부(1100), 메모리(1200) 및 컨트롤러(1300)를 포함할 수 있다. The server 1000 or the learning set generating apparatus (hereinafter referred to as the server 1000 ) may include a transceiver 1100 , a memory 1200 , and a controller 1300 .

서버(1000)의 송수신부(1100)는 적어도 하나의 카메라(110, 120) 및 센서(200)를 포함한 임의의 외부 기기와 통신을 수행할 수 있다. 예컨대, 서버(1000)는, 송수신부(1100)를 통해, 적어도 하나의 카메라(110, 120)로부터 영상 데이터를 획득할 수 있다. 또한, 서버(1000)는 송수신부(1100)를 통해, 센서(200)로부터 센싱 데이터를 획득할 수 있다. The transceiver 1100 of the server 1000 may communicate with any external device including at least one camera 110 , 120 and a sensor 200 . For example, the server 1000 may acquire image data from the at least one camera 110 , 120 through the transceiver 1100 . Also, the server 1000 may acquire sensing data from the sensor 200 through the transceiver 1100 .

서버(1000)는, 송수신부(1100)를 통해 네트워크에 접속하여 각종 데이터를 송수신할 수 있다. 송수신부(1100)는 크게 유선 타입과 무선 타입을 포함할 수 있다. 유선 타입과 무선 타입은 각각의 장단점을 가지므로, 경우에 따라서 서버(1000)에는 유선 타입과 무선 타입이 동시에 마련될 수도 있다. 여기서, 무선 타입의 경우에는 주로 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식을 이용할 수 있다. 또는, 무선 타입의 경우에는 셀룰러 통신, 예컨대, LTE, 5G 계열의 통신 방식을 이용할 수 있다. 다만, 무선 통신 프로토콜이 상술한 예시에 제한되는 것은 아니며, 임의의 적절한 무선 타입의 통신 방식을 이용하는 것도 가능하다. 유선 타입의 경우에는 LAN(Local Area Network)이나 USB(Universal Serial Bus) 통신이 대표적인 예이며 그 외의 다른 방식도 가능하다.The server 1000 may access a network through the transceiver 1100 to transmit/receive various data. The transceiver 1100 may largely include a wired type and a wireless type. Since the wired type and the wireless type have their respective strengths and weaknesses, the server 1000 may be provided with both the wired type and the wireless type at the same time in some cases. Here, in the case of the wireless type, a wireless local area network (WLAN)-based communication method such as Wi-Fi may be mainly used. Alternatively, in the case of the wireless type, cellular communication, for example, LTE, 5G-based communication method may be used. However, the wireless communication protocol is not limited to the above-described example, and any suitable wireless type communication method may be used. In the case of the wired type, LAN (Local Area Network) or USB (Universal Serial Bus) communication is a representative example, and other methods are also possible.

서버(1000)의 메모리(1200)는 각종 정보를 저장할 수 있다. 메모리(1200)에는 각종 데이터가 임시적으로 또는 반영구적으로 저장될 수 있다. 메모리(1200)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 메모리(1200)는 서버(1000)에 내장되는 형태나 탈부착 가능한 형태로 제공될 수 있다. 메모리(1200)에는 서버(1000)를 구동하기 위한 운용 프로그램(OS: Operating System)이나 서버(1000)의 각 구성을 동작시키기 위한 프로그램을 비롯해 서버(1000)의 동작에 필요한 각종 데이터가 저장될 수 있다.The memory 1200 of the server 1000 may store various types of information. Various data may be temporarily or semi-permanently stored in the memory 1200 . Examples of the memory 1200 include a hard disk (HDD), a solid state drive (SSD), a flash memory, a read-only memory (ROM), a random access memory (RAM), and the like. This can be. The memory 1200 may be provided in a form embedded in the server 1000 or in a form detachable. The memory 1200 may store various data necessary for the operation of the server 1000 , including an operating program (OS) for driving the server 1000 or a program for operating each configuration of the server 1000 . have.

컨트롤러(1300, 혹은 프로세서)는 서버(1000)의 전반적인 동작을 제어할 수 있다. 예컨대, 컨트롤러(1300)는 후술할 카메라(110, 120)의 내부 파라미터 또는 외부 파라미터를 캘리브레이션(calibration)하는 동작, 카메라(110, 120)로부터 영상을 획득하거나 센서(200)로부터 센싱 데이터를 획득하는 동작, 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 객체 정보를 획득하는 동작, 객체 정보에 기초하여 3차원의 대상 바운딩박스를 획득하는 동작, 및 대상 바운딩박스와 센싱 데이터에 기초하여 학습 세트를 생성하는 동작 등 서버(1000)의 전반적인 동작을 제어할 수 있다. 구체적으로 컨트롤러(1300)는 메모리(1200)로부터 서버(1000)의 전반적인 동작을 위한 프로그램을 로딩하여 실행할 수 있다. 컨트롤러(1300)는 하드웨어나 소프트웨어 또는 이들의 조합에 따라 AP(Application Processor), CPU(Central Processing Unit), MCU(Microcontroller Unit)나 이와 유사한 장치로 구현될 수 있다. 이때, 하드웨어적으로는 전기적 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적 회로를 구동시키는 프로그램이나 코드 형태로 제공될 수 있다.The controller 1300 (or processor) may control the overall operation of the server 1000 . For example, the controller 1300 performs an operation of calibrating an internal parameter or an external parameter of the cameras 110 and 120 to be described later, acquiring an image from the cameras 110 and 120 or acquiring sensing data from the sensor 200 . Operation, operation of recognizing a target object from an image and obtaining object information related to the target object, operation of obtaining a three-dimensional target bounding box based on object information, and generating a learning set based on the target bounding box and sensing data It is possible to control the overall operation of the server 1000, such as the operation. Specifically, the controller 1300 may load and execute a program for the overall operation of the server 1000 from the memory 1200 . The controller 1300 may be implemented as an application processor (AP), a central processing unit (CPU), a microcontroller unit (MCU), or a similar device according to hardware, software, or a combination thereof. In this case, in terms of hardware, it may be provided in the form of an electronic circuit that performs a control function by processing an electrical signal, and in software, it may be provided in the form of a program or code for driving a hardware circuit.

이하에서는 도 2 내지 도 13을 참고하여 본 출원의 실시예들에 따른 학습 세트 생성 시스템(10)의 동작을 구체적으로 서술한다. Hereinafter, an operation of the learning set generating system 10 according to embodiments of the present application will be described in detail with reference to FIGS. 2 to 13 .

도 2는 본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 동작들을 나타낸 도면이다.2 is a diagram illustrating operations of the learning set generating system 10 according to an embodiment of the present application.

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 적어도 하나의 카메라(예, 제1 카메라(110) 또는 제2 카메라(120))의 내부 파라미터 및/또는 외부 파라미터를 보정하는 동작을 수행할 수 있다. The server 1000 of the training set generating system 10 according to an embodiment of the present application includes internal parameters and/or external parameters of at least one camera (eg, the first camera 110 or the second camera 120). can be corrected.

일 예로, 서버(1000)는 적어도 하나의 카메라를 통하여 제1 캘리브레이션 기준 객체에 대한 이미지를 획득하고, 제1 캘리브레이션 기준 객체에 대한 이미지에 포함된 특징점에 기초하여 제1 캘리브레이션 기준 객체와 관련된 특징점의 픽셀 좌표 정보를 획득할 수 있다. 또한, 서버(1000)는 카메라의 좌표계 정보를 획득할 수 있다. 이때, 서버(1000)는 카메라의 좌표계 정보 및 제1 캘리브레이션 기준 객체와 관련된 픽셀 좌표 정보에 기초하여 적어도 하나의 카메라의 내부 파라미터를 보정하는 동작을 수행할 수 있다. As an example, the server 1000 acquires an image of the first calibration reference object through at least one camera, and based on the feature points included in the image of the first calibration reference object, Pixel coordinate information may be obtained. Also, the server 1000 may acquire coordinate system information of the camera. In this case, the server 1000 may perform an operation of correcting an internal parameter of at least one camera based on the coordinate system information of the camera and the pixel coordinate information related to the first calibration reference object.

다른 예로, 서버(1000)는 제2 캘리브레이션 기준 객체에 대한 기준 좌표 정보를 획득할 수 있다. 여기서, 기준 좌표 정보란, 레이더(Radar) 센서 또는 라이더(Lidar) 센서 등을 포함하여 센서 기반 좌표계와 관련된 좌표 정보를 포괄하는 의미일 수 있다. 또한 서버(1000)는 적어도 하나의 카메라를 통하여 제2 캘리브레이션 기준 객체에 대한 이미지에 포함된 특징점을 획득하고, 제2 캘리브레이션 기준 객체와 관련된 특징점의 픽셀 좌표 정보를 획득할 수 있다. 또한, 서버(1000)는 기준 좌표 정보 및 픽셀 좌표 정보를 매칭시켜 좌표 쌍을 획득하고, 좌표 쌍에 기초하여 카메라의 외부 파라미터를 보정하는 동작을 수행할 수 있다. As another example, the server 1000 may obtain reference coordinate information for the second calibration reference object. Here, the reference coordinate information may mean to encompass coordinate information related to a sensor-based coordinate system, including a radar sensor or a lidar sensor. In addition, the server 1000 may acquire a feature point included in the image of the second calibration reference object through at least one camera, and obtain pixel coordinate information of the feature point related to the second calibration reference object. Also, the server 1000 may obtain a coordinate pair by matching the reference coordinate information and the pixel coordinate information, and may perform an operation of correcting an external parameter of the camera based on the coordinate pair.

카메라 캘리브레이션과 관련된 학습 세트 생성 시스템(10)의 동작에 대하여는 도 4 내지 도 8에서 구체적으로 서술한다. The operation of the learning set generating system 10 related to camera calibration will be described in detail with reference to FIGS. 4 to 8 .

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 적어도 하나의 카메라(예, 제1 카메라(110) 또는 제2 카메라(120))로부터 영상을 획득하거나 센서(200)로부터 센싱 데이터를 획득할 수 있다. 예컨대, 서버(1000)는 카메라를 통하여 대상 객체가 포함된 영상을 획득할 수 있다. 또한, 서버(1000)는 센서(200)를 통하여 대상 객체와 관련된 데이터를 측정한 센싱 데이터를 획득할 수 있다. The server 1000 of the training set generating system 10 according to an embodiment of the present application obtains an image from at least one camera (eg, the first camera 110 or the second camera 120) or the sensor 200 ) from which sensing data can be obtained. For example, the server 1000 may acquire an image including a target object through a camera. Also, the server 1000 may acquire sensing data obtained by measuring data related to the target object through the sensor 200 .

한편 도 2에서는 도시하지 않았으나, 본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 센서(200)를 통하여 프레임 정보(예, 프레임 수 정보, 프레임 시간 정보), 메타 정보 등을 포함한 임의의 데이터를 획득할 수 있다. 여기서, 서버(1000)는 프레임 정보, 메타 정보 등에 기초하여 센싱 데이터와 카메라를 통하여 획득한 영상 데이터 간의 싱크(sync)를 맞추는 동작을 수행할 수 있다. Meanwhile, although not shown in FIG. 2 , the server 1000 of the learning set generating system 10 according to an embodiment of the present application provides frame information (eg, number of frames information, frame time information), meta information through the sensor 200 . Any data including information and the like can be obtained. Here, the server 1000 may perform an operation of matching the sync between the sensing data and the image data acquired through the camera based on frame information, meta information, and the like.

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 카메라를 통하여 획득한 영상의 프레임별로 대상 객체를 검출(혹은 인식)하고, 대상 객체와 관련된 객체 정보를 획득하는 동작을 수행할 수 있다. 여기서, 대상 객체와 관련된 객체 정보는 대상 객체와 관련된 2차원의 바운딩박스에 대한 정보 및/또는 대상 객체의 랜드마크(예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발 등)에 대응되는 영상 정보(예, 영상 좌표 정보 등)를 포함하여 대상 객체와 관련된 임의의 영상 정보를 포함할 수 있다. The server 1000 of the learning set generating system 10 according to an embodiment of the present application detects (or recognizes) a target object for each frame of an image acquired through a camera, and obtains object information related to the target object can be performed. Here, the object information related to the target object includes information about a two-dimensional bounding box related to the target object and/or landmarks of the target object (eg, eyes, nose, ears, shoulders, elbows, hands, pelvis, knees, feet, etc.) ) may include arbitrary image information related to the target object including image information (eg, image coordinate information, etc.) corresponding to the .

일 실시예에 따르면, 서버(1000)는 제1 카메라(110)로부터 획득한 제1 영상으로부터 대상 객체를 검출하고 대상 객체 검출 결과에 기초하여 대상 객체와 관련된 2차원의 제1 바운딩박스를 연산할 수 있다. 또한, 서버(1000)는 제2 카메라(120)로부터 획득한 제2 영상으로부터 대상 객체를 검출하고 대상 객체 검출 결과에 기초하여 대상 객체와 관련된 2차원의 제2 바운딩박스를 획득할 수 있다. 예컨대, 서버(1000)는 딥 러닝 기법(예컨대, yolo, yoloV3, ssd, Retinanet 등)을 활용하여 영상으로부터 대상 객체를 검출하고 대상 객체에 해당하는 영역의 마스크(mask)를 획득할 수 있다. 또한 서버(1000)는 마스크에 기초하여 대상 객체와 관련된 바운딩박스를 연산하는 동작을 수행할 수 있다. 다른 예로, 서버(1000)는 대상 객체 검출의 성능을 높이기 위한 임의의 기법을 활용할 수 있다. 예컨대, 서버(1000)는 객체 검출 기법에 칼만 필터(Kalman filter)를 추가한 Simple Online and Realtime Tracking(이하, SORT) 알고리즘을 활용하여 대상 객체 검출의 정확도를 높이고 사물의 위치를 추적하는 연산을 수행하도록 구현될 수 있다. According to an embodiment, the server 1000 detects the target object from the first image obtained from the first camera 110 and calculates a two-dimensional first bounding box related to the target object based on the target object detection result. can Also, the server 1000 may detect the target object from the second image obtained from the second camera 120 and acquire a two-dimensional second bounding box related to the target object based on the target object detection result. For example, the server 1000 may detect a target object from an image by using a deep learning technique (eg, yolo, yoloV3, ssd, Retinanet, etc.) and obtain a mask of a region corresponding to the target object. Also, the server 1000 may perform an operation of calculating a bounding box related to the target object based on the mask. As another example, the server 1000 may utilize any technique for increasing the performance of target object detection. For example, the server 1000 utilizes a Simple Online and Realtime Tracking (hereinafter referred to as SORT) algorithm in which a Kalman filter is added to an object detection technique to increase the accuracy of target object detection and perform an operation to track the location of an object. can be implemented to do so.

다른 실시예에 따르면, 서버(1000)는 제1 카메라(110)로부터 획득한 제1 영상으로부터 대상 객체를 검출하고, 검출된 대상 객체에 대하여 포즈 추정(pose estimation)을 수행하여 대상 객체의 랜드마크와 관련된 객체 정보(예, 제1 셀 정보)를 획득할 수 있다. 또한 서버(1000)는 제2 카메라(120)로부터 획득한 제2 영상으로부터 대상 객체를 검출하고, 검출된 대상 객체에 대하여 포즈 추정(pose estimation)을 수행하여 대상 객체의 랜드마크와 관련된 객체 정보(예, 제2 셀 정보)를 획득할 수 있다. 예컨대, 서버(1000)는 딥 러닝 기법(예, AlphaPose 등)을 활용하여 대상 객체와 관련된 2차원 바운딩박스 내에서 대상 객체의 랜드마크와 관련된 영상 정보를 추출할 수 있다. According to another exemplary embodiment, the server 1000 detects the target object from the first image acquired from the first camera 110 , and performs pose estimation on the detected target object to determine the landmark of the target object. related object information (eg, first cell information) may be acquired. In addition, the server 1000 detects the target object from the second image acquired from the second camera 120 , and performs pose estimation on the detected target object to obtain object information ( Yes, the second cell information) can be obtained. For example, the server 1000 may extract image information related to a landmark of the target object from within a two-dimensional bounding box related to the target object by utilizing a deep learning technique (eg, AlphaPose, etc.).

다만 상술한 객체 검출 기법과 포즈 추정 기법은 예시에 불과하며, 서버(1000)는 임의의 적절한 방법을 활용하여 영상으로부터 대상 객체를 검출하도록 구현될 수 있을 것이다.However, the above-described object detection technique and pose estimation technique are merely examples, and the server 1000 may be implemented to detect a target object from an image by using any suitable method.

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 대상 객체와 관련된 객체 정보(예, 바운딩박스 또는 대상 객체의 랜드마크에 대응되는 영상 정보 등)에 기반하여 3차원의 대상 바운딩박스를 획득하는 동작을 수행할 수 있다. The server 1000 of the learning set generating system 10 according to an embodiment of the present application is based on object information related to the target object (eg, image information corresponding to a bounding box or a landmark of the target object, etc.) in 3D An operation of obtaining a target bounding box of .

일 예로, 서버(1000)는 제1 영상의 대상 객체와 관련된 제1 바운딩박스와 제2 영상의 대상 객체와 관련된 제2 바운딩박스에 기초하여 대상 객체와 관련된 3차원 대상 바운딩박스를 연산하는 동작을 수행할 수 있다. 구체적으로 서버(1000)는 제1 바운딩박스를 3차원 공간좌표에 리버스 투영하여 대상 객체와 관련된 제1 투영 체적을 획득할 수 있다. 또한, 서버(1000)는 제2 바운딩박스를 3차원 공간좌표에 리버스 투영하여 대상 객체와 관련된 제2 투영 체적을 획득할 수 있다. 이때, 서버(1000)는 제1 투영 체적과 제2 투영 체적에 기초하여 교차 체적(Intersection volume)을 획득하고, 교차 체적에 기반하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득할 수 있다. As an example, the server 1000 calculates the three-dimensional target bounding box related to the target object based on the first bounding box related to the target object of the first image and the second bounding box related to the target object of the second image. can be done In more detail, the server 1000 may reversely project the first bounding box onto the 3D spatial coordinates to obtain a first projected volume related to the target object. Also, the server 1000 may reversely project the second bounding box onto the 3D spatial coordinates to obtain a second projected volume related to the target object. In this case, the server 1000 may acquire an intersection volume based on the first projection volume and the second projection volume, and acquire a three-dimensional target bounding box related to the target object based on the intersection volume.

다른 예로, 서버(1000)는 대상 객체의 랜드마크(예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발 등)에 대응되는 제1 영상의 셀 정보(예, 셀 좌표 등)와 제2 영상의 셀 정보(예, 셀 좌표 등)에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 연산하는 동작을 수행할 수 있다. 구체적으로 서버(1000)는 대상 객체의 랜드마크에 대응되는 제1 영상의 제1 셀 좌표를 3차원 공간좌표에 투영하여 제1 투영 직선을 획득할 수 있다. 또한 서버(1000)는 대상 객체의 랜드마크에 대응되는 제2 영상의 제2 셀 좌표를 3차원 공간좌표에 투영하여 제2 투영 직선을 획득할 수 있다. 이때, 서버(1000)는 제1 투영 직선과 제2 투영 직선 간의 교차점을 연산하고, 적어도 하나의 대상 객체의 랜드마크에 대응되는 교차점들(또는 제1 투영 직선과 제2 투영 직선에 대하여 가장 가까운 3차원 공간좌표)에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득할 수 있다. As another example, the server 1000 may store cell information (eg, cell coordinates, etc.) of the first image corresponding to the landmarks (eg, eyes, nose, ears, shoulders, elbows, hands, pelvis, knees, feet, etc.) of the target object. ) and cell information (eg, cell coordinates, etc.) of the second image, an operation of calculating a three-dimensional target bounding box related to the target object may be performed. In more detail, the server 1000 may acquire the first projection straight line by projecting the first cell coordinates of the first image corresponding to the landmark of the target object onto the 3D spatial coordinates. Also, the server 1000 may obtain a second projection straight line by projecting the second cell coordinates of the second image corresponding to the landmark of the target object onto the 3D spatial coordinates. At this time, the server 1000 calculates the intersection point between the first projection straight line and the second projection straight line, and the intersection points corresponding to the landmark of at least one target object (or the closest to the first projection straight line and the second projection straight line) Based on the three-dimensional space coordinates), a three-dimensional target bounding box related to the target object may be obtained.

대상 바운딩박스를 획득하는 동작에 대하여는 도 9 내지 도 14에서 보다 구체적으로 서술한다. The operation of acquiring the target bounding box will be described in more detail with reference to FIGS. 9 to 14 .

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 센서(2000)를 통하여 대상 객체와 관련된 3차원의 대상 바운딩박스에 대응되는 센싱 데이터를 획득할 수 있다. 이때, 서버(1000)는 대상 바운딩박스 및 센싱 데이터에 기초하여 센싱 데이터로부터 대상 객체와 관련된 3차원의 대상 바운딩박스를 출력하는 신경망 모델을 훈련시키기 위한 학습 세트를 생성하는 동작을 수행할 수 있다. The server 1000 of the learning set generating system 10 according to an embodiment of the present application may obtain sensing data corresponding to a three-dimensional target bounding box related to a target object through the sensor 2000 . In this case, the server 1000 may perform an operation of generating a training set for training a neural network model that outputs a three-dimensional target bounding box related to a target object from the sensing data based on the target bounding box and the sensing data.

한편 도 2에서는 도시하지 않았으나, 본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)의 서버(1000)는 제1 카메라(110)로부터 획득한 제1 영상, 제2 카메라(120)로부터 획득한 제2 영상, 및/또는 센서(200)로부터 획득한 센싱 데이터 간의 싱크(sync)를 맞추는 동작을 수행할 수 있다. Meanwhile, although not shown in FIG. 2 , the server 1000 of the learning set generating system 10 according to an embodiment of the present application acquires the first image obtained from the first camera 110 and the second camera 120 . An operation of synchronizing a second image and/or sensing data acquired from the sensor 200 may be performed.

일 예로, 서버(1000)는 제1 카메라(110) 또는 제2 카메라(120)로부터 웹으로 브로드캐스트(broadcast)한 영상을 읽음으로써, 제1 카메라(110)로부터 획득한 제1 영상과 제2 카메라(120)로부터 획득한 제2 영상 간의 싱크를 맞추도록 구현될 수 있다. 예컨대, 서버(1000)는 OBS studio 27을 활용하여 제1 영상과 제2 영상을 획득하고, 공통의 서버의 시간 기준으로 제1 영상과 제2 영상의 타임 싱크를 맞추도록 구현될 수 있다. For example, the server 1000 reads an image broadcast on the web from the first camera 110 or the second camera 120 to obtain the first image and the second image obtained from the first camera 110 . It may be implemented to synchronize the second images obtained from the camera 120 . For example, the server 1000 may be implemented to acquire the first image and the second image by using OBS studio 27, and to synchronize the time of the first image and the second image based on a time reference of a common server.

다른 예로, 서버(1000)는 전술한 바와 같이, 센서(200)를 통하여 프레임 정보(예, 프레임 수 정보, 프레임 시간 정보) 및/또는 메타 정보 등을 포함한 임의의 데이터를 획득할 수 있다. 이때, 서버(1000)는 센싱 데이터에 포함된 프레임 정보에 기초하여 영상 데이터와 센싱 데이터 간의 타임 싱크를 맞추도록 구현될 수 있다. As another example, as described above, the server 1000 may acquire arbitrary data including frame information (eg, frame number information, frame time information) and/or meta information through the sensor 200 . In this case, the server 1000 may be implemented to synchronize time between the image data and the sensed data based on frame information included in the sensed data.

다만, 상술한 내용은 예시에 불과하며, 서버(1000)는 임의의 적절한 방법을 활용하여, 적어도 하나의 카메라로부터 획득한 영상 데이터와 센서로부터 획득한 센싱 데이터 간의 싱크를 맞추는 동작을 수행하도록 구현될 수 있다. However, the above is only an example, and the server 1000 may be implemented to perform an operation of synchronizing image data obtained from at least one camera and sensing data obtained from a sensor by using any suitable method. can

이하에서는 도 3 내지 도 13을 참고하여, 본 출원의 일 실시예에 따른 학습 세트 생성 방법에 대하여 구체적으로 서술한다. Hereinafter, a method for generating a learning set according to an embodiment of the present application will be described in detail with reference to FIGS. 3 to 13 .

도 3은 본 출원의 일 실시예에 따라 학습 세트를 생성하는 방법을 나타낸 순서도이다. 3 is a flowchart illustrating a method of generating a training set according to an embodiment of the present application.

본 출원의 일 실시예에 따른 학습 세트를 생성하는 방법은, 적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계(S1000), 제1 카메라로부터 촬영된 제1 영상과 제2 카메라로부터 촬영된 제2 영상을 획득하는 단계(S2000), 제1 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 제1 객체 정보를 획득하는 단계(S3000), 제2 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 제2 객체 정보를 획득하는 단계(S4000), 제1 객체 정보 및 제2 객체 정보에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5000), 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계(S6000), 및 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계(S7000)를 포함할 수 있다.The method of generating a learning set according to an embodiment of the present application includes: performing calibration of at least two or more cameras (S1000), a first image photographed from the first camera and a second image photographed from the second camera obtaining (S2000), recognizing a target object from a first image and obtaining first object information related to the target object (S3000), recognizing a target object from a second image and obtaining second object information related to the target object acquiring (S4000), acquiring a three-dimensional target bounding box related to the target object based on the first object information and the second object information (S5000), acquiring sensing data corresponding to the target bounding box ( S6000), and generating a training set for training the neural network model (S7000).

적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계(S1000)에서는, 본 출원의 일 실시예에 따른 서버(1000)는 제1 카메라(110) 또는 제2 카메라(120) 각각의 내부 파라미터를 보정할 수 있다. 예컨대, 서버(1000)는 제1 캘리브레이션 기준 객체에 대한 이미지로부터 획득한 픽셀 좌표 정보 및 각 카메라의 좌표계 정보에 기초하여 카메라(110 혹은 120)의 내부 파라미터를 보정할 수 있다. In performing the calibration of at least two or more cameras ( S1000 ), the server 1000 according to an embodiment of the present application may correct the internal parameters of the first camera 110 or the second camera 120 , respectively. . For example, the server 1000 may correct the internal parameters of the cameras 110 or 120 based on the pixel coordinate information obtained from the image of the first calibration reference object and the coordinate system information of each camera.

또한, 적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계(S1000)에서는, 서버(1000)는 제1 카메라(110) 또는 제2 카메라(120) 각각의 외부 파라미터를 보정할 수 있다. 예컨대, 서버(1000)는 제2 캘리브레이션 기준 객체에 대한 이미지로부터 획득한 픽셀 좌표 정보 및 센서(200)의 좌표계와 관련된 기준 좌표 정보에 기초하여 적어도 하나의 카메라(110 혹은 120)의 외부 파라미터를 보정할 수 있다. 여기서, 기준 좌표 정보란, 전술한 바와 같이 레이더(Radar) 센서 또는 라이더(Lidar) 센서의 좌표계와 관련된 정보를 포괄하는 의미일 수 있다. Also, in the step of calibrating at least two or more cameras ( S1000 ), the server 1000 may correct external parameters of the first camera 110 or the second camera 120 , respectively. For example, the server 1000 corrects an external parameter of the at least one camera 110 or 120 based on the pixel coordinate information obtained from the image of the second calibration reference object and the reference coordinate information related to the coordinate system of the sensor 200 . can do. Here, the reference coordinate information may refer to information related to a coordinate system of a radar sensor or a lidar sensor as described above.

이하에서는 도 4 내지 8을 참고하여 본 출원의 일 실시예에 따른 적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계(S1000)를 보다 구체적으로 설명하기로 한다. Hereinafter, the step ( S1000 ) of calibrating at least two cameras according to an embodiment of the present application will be described in more detail with reference to FIGS. 4 to 8 .

도 4는 본 출원의 일 실시예에 따른 적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계(S1000)를 구체화한 순서도이다. 4 is a flowchart detailing the step (S1000) of performing calibration of at least two or more cameras according to an embodiment of the present application.

본 출원의 일 실시예에 따른 적어도 2 이상의 카메라의 캘리브레이션을 수행하는 단계(S1000)는 카메라의 내부 파라미터(intrinsic parameter)에 대한 캘리브레이션을 수행하는 단계(S1100) 및 카메라의 외부 파라미터(extrinsic parameter)에 대한 캘리브레이션을 수행하는 단계(S1200)를 포함할 수 있다.The step of performing the calibration of at least two or more cameras according to an embodiment of the present application (S1000) is the step of performing the calibration for the intrinsic parameter of the camera (S1100) and the external parameter of the camera (extrinsic parameter) It may include a step of performing calibration (S1200).

카메라의 내부 파라미터(intrinsic parameter)에 대한 캘리브레이션을 수행하는 단계(S1100)에서는, 서버(1000)는 카메라를 통하여 획득한 이미지로부터 제1 기준 객체의 특징점과 관련된 픽셀 좌표 정보를 획득하고, 픽셀 좌표 정보에 기초하여 카메라의 내부 파라미터를 보정할 수 있다. 한편, 내부 파라미터(intrinsic parameter)는 초점 거리(focal length), 초점(principal point) 및 비대칭계수(skew coefficient) 중 적어도 하나를 포함할 수 있다. In the step (S1100) of performing the calibration for the intrinsic parameter of the camera, the server 1000 obtains pixel coordinate information related to the feature point of the first reference object from the image acquired through the camera, and the pixel coordinate information It is possible to correct the internal parameters of the camera based on Meanwhile, the intrinsic parameter may include at least one of a focal length, a principal point, and a skew coefficient.

도 5는 본 출원의 일 실시예에 따른 카메라의 내부 파라미터에 대한 캘리브레이션을 수행하는 단계(S1100)를 구체화한 순서도이다. 도 6은 본 출원의 일 실시예에 따른 제1 캘리브레이션 기준 객체의 일 예를 도시한 도면이다. 5 is a flowchart detailing the step (S1100) of performing calibration on the internal parameters of the camera according to an embodiment of the present application. 6 is a diagram illustrating an example of a first calibration reference object according to an embodiment of the present application.

본 출원의 일 실시예에 따른 카메라의 내부 파라미터에 대한 캘리브레이션을 수행하는 단계(S1100)는, 카메라를 통하여 제1 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계(S1110), 이미지에 기초하여 제1 캘리브레이션 기준 객체와 관련된 제1 픽셀 세트를 획득하는 단계(S1120), 카메라의 좌표계 정보를 획득하는 단계(S1130), 및 카메라의 좌표계 정보 및 제1 픽셀 세트에 기초하여 카메라의 내부 파라미터를 보정하는 단계(S1140)를 포함할 수 있다. The step (S1100) of performing calibration on the internal parameters of the camera according to an embodiment of the present application includes: obtaining an image of the first calibration reference object through the camera (S1110), based on the first calibration Obtaining a first set of pixels related to the reference object (S1120), obtaining information on the coordinate system of the camera (S1130), and correcting the internal parameters of the camera based on the information on the coordinate system of the camera and the first set of pixels ( S1140) may be included.

카메라를 통하여 제1 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계(S1110)에서는, 서버(1000)는, 카메라(110 또는 120)를 통하여 제1 캘리브레이션 기준 객체와 관련된 이미지를 획득할 수 있다. 구체적으로 서버(1000)는 카메라(110 혹은 120)을 이용하여 다양한 각도에서 촬영하여 획득한 제1 캘리브레이션 기준 객체와 관련된 이미지를 획득할 수 있다. 일 예로, 제1 캘리브레이션 기준 객체는 체커보드(checkerboard)일 수 있다. In step S1110 of obtaining an image of the first calibration reference object through the camera, the server 1000 may obtain an image related to the first calibration reference object through the camera 110 or 120 . Specifically, the server 1000 may acquire an image related to the first calibration reference object obtained by photographing from various angles using the camera 110 or 120 . For example, the first calibration reference object may be a checkerboard.

한편, 도 5에서는 도시하지 않았으나, 서버(1000)는 제1 캘리브레이션 기준 객체의 제1 특징점(예, 도 6의 P1)과 제2 특징점(예, 도 6의 P2) 사이의 실제 폭 정보를 획득할 수 있다. Meanwhile, although not shown in FIG. 5 , the server 1000 acquires the actual width information between the first feature point (eg, P1 in FIG. 6 ) and the second feature point (eg, P2 in FIG. 6 ) of the first calibration reference object. can do.

이미지에 기초하여 제1 캘리브레이션 기준 객체와 관련된 제1 픽셀 세트를 획득하는 단계(S1120)에서는, 서버(1000)는 제1 캘리브레이션 기준 객체와 관련된 이미지로부터 제1 특징점(예, 도 6의 P1)에 대응되는 제1 픽셀과 제2 특징점(예, 도 6의 P2)에 대응되는 제2 픽셀을 검출할 수 있다. 또한, 서버(1000)는 제1 픽셀에 대응되는 픽셀 좌표 정보와 제2 픽셀에 대응되는 픽셀 좌표 정보를 포함하는 제1 픽셀 세트를 획득할 수 있다. In step S1120 of obtaining the first pixel set related to the first calibration reference object based on the image, the server 1000 from the image related to the first calibration reference object to the first feature point (eg, P1 in FIG. 6 ). The corresponding first pixel and the second pixel corresponding to the second feature point (eg, P2 of FIG. 6 ) may be detected. Also, the server 1000 may obtain a first pixel set including pixel coordinate information corresponding to the first pixel and pixel coordinate information corresponding to the second pixel.

카메라의 좌표계 정보를 획득하는 단계(S1130)에서는, 서버(1000)는, 카메라 자체의 좌표계 정보를 획득할 수 있다. In the step of obtaining the coordinate system information of the camera ( S1130 ), the server 1000 may obtain the coordinate system information of the camera itself.

좌표계 정보 및 제1 픽셀 세트에 기초하여 카메라의 내부 파라미터를 보정하는 단계(S1140)에서는, 서버(1000)는, 카메라 자체의 좌표계 정보 및 제1 캘리브레이션 기준 객체와 관련된 이미지로부터 획득한 제1 픽셀 세트에 기초하여 카메라의 내부 파라미터(예, 초점 거리, 초점, 비대칭 계수 등)을 보정할 수 있다. 구체적으로 서버(1000)는 제1 캘리브레이션 기준 객체의 제1 특징점(예, 도 6의 P1)에 대응되는 제1 픽셀에 대응되는 픽셀 좌표 정보와 제1 캘리브레이션 기준 객체의 제2 특징점(예, 도 6의 P2)에 대응되는 제2 픽셀에 대응되는 픽셀 좌표 정보에 기초하여 제1 픽셀과 제2 픽셀 사이의 폭을 연산할 수 있다. 이때, 서버(1000)는 제1 특징점(예, 도 6의 P1)과 제2 특징점(예, 도 6의 P2)의 실제 폭 정보와, 제1 픽셀과 제2 픽셀 간의 폭 정보에 기초하여, 카메라의 내부 파라미터(예, 초점 거리, 초점, 비대칭 계수 등)를 보정할 수 있다. In the step of correcting the internal parameters of the camera based on the coordinate system information and the first pixel set (S1140), the server 1000, the first pixel set obtained from the coordinate system information of the camera itself and the image related to the first calibration reference object Based on the , internal parameters of the camera (eg, focal length, focus, asymmetry coefficient, etc.) may be corrected. Specifically, the server 1000 provides pixel coordinate information corresponding to a first pixel corresponding to a first feature point (eg, P1 in FIG. 6 ) of the first calibration reference object and a second feature point (eg, FIG. 6 ) of the first calibration reference object. A width between the first pixel and the second pixel may be calculated based on pixel coordinate information corresponding to the second pixel corresponding to P2 of 6). At this time, the server 1000 based on the actual width information of the first feature point (eg, P1 in FIG. 6 ) and the second feature point (eg, P2 in FIG. 6 ) and the width information between the first pixel and the second pixel, The camera's internal parameters (eg focal length, focus, coefficient of asymmetry, etc.) can be calibrated.

한편, 도 6에서는 제1 캘리브레이션 기준 객체에 포함된 제1 특징점(P1)과 제1 특징점(P1)에 인접한 제2 특징점(P2)을 중심으로 카메라의 내부 파라미터를 보정하는 내용을 중심으로 설명하였다. 다만, 도 6에 도시된 제1 특징점(P1)과 제2 특징점(P2)은 설명의 편의를 위한 예시에 불과하며, 서버(1000)는 제1 캘리브레이션 기준 객체에 포함된 임의의 특징 영역(예, 꼭지점, 선, 면 등)에 기초하여 카메라의 내부 파라미터를 보정하도록 구현될 수 있다. On the other hand, in FIG. 6 , the content of correcting the internal parameters of the camera was mainly described based on the first feature point P1 included in the first calibration reference object and the second feature point P2 adjacent to the first feature point P1. . However, the first feature point P1 and the second feature point P2 shown in FIG. 6 are merely examples for convenience of description, and the server 1000 may set an arbitrary feature area (eg, an arbitrary feature area included in the first calibration reference object) , vertex, line, plane, etc.) may be implemented to correct the internal parameters of the camera.

또한, 도 6에서는 체커보드(checkerboard)를 중심으로 제1 캘리브레이션 기준 객체를 설명하였으나, 이는 예시에 불과하며 서버(1000)는 임의의 유형, 형태의 객체의 정보를 이용하여 카메라의 내부 파라미터를 보정할 수 있다. In addition, although the first calibration reference object has been described with reference to a checkerboard in FIG. 6 , this is only an example, and the server 1000 corrects the internal parameters of the camera using information on objects of any type and shape. can do.

카메라의 외부 파라미터(extrinsic parameter)에 대한 캘리브레이션을 수행하는 단계(S1200)에서는, 서버(1000)는 카메라를 통하여 획득한 이미지로부터 제2 기준 객체의 특징점과 관련된 픽셀 좌표 정보를 획득하고, 제2 기준 객체의 특징점과 관련되고 센서 기반 좌표계에 대한 기준 좌표 정보를 획득할 수 있다. 이때, 서버(1000)는 픽셀 좌표 정보와 기준 좌표 정보에 기초하여 카메라의 외부 파라미터를 보정할 수 있다. 한편, 외부 파라미터(extrinsic parameter)는 카메라 좌표계와 임의의 외부 좌표계 사이의 변환 관계와 관련된 임의의 파라미터를 포괄하는 의미로, 회전(rotation) 변환 또는 평행이동(translation) 변환과 관련된 파라미터를 포함할 수 있다. In the step (S1200) of performing the calibration of the external parameter of the camera, the server 1000 obtains pixel coordinate information related to the feature point of the second reference object from the image acquired through the camera, and the second reference It is possible to obtain reference coordinate information related to the feature point of an object and for a sensor-based coordinate system. In this case, the server 1000 may correct the external parameters of the camera based on the pixel coordinate information and the reference coordinate information. On the other hand, the external parameter (extrinsic parameter) means to encompass any parameters related to the transformation relationship between the camera coordinate system and any external coordinate system, and may include parameters related to rotation transformation or translation transformation. have.

도 7은 본 출원의 일 실시예에 따른 카메라의 외부 파라미터에 대한 캘리브레이션을 수행하는 단계(S1200)를 구체화한 순서도이다. 도 8은 본 출원의 일 실시예에 따른 제2 캘리브레이션 기준 객체를 이용하여 카메라 캘리브레이션을 수행하는 일 양상을 도시한 도면이다. 7 is a flowchart detailing the step (S1200) of performing calibration on external parameters of the camera according to an embodiment of the present application. 8 is a diagram illustrating an aspect of performing camera calibration using a second calibration reference object according to an embodiment of the present application.

본 출원의 일 실시예에 따른 카메라의 외부 파라미터에 대한 캘리브레이션을 수행하는 단계(S1200)는, 제2 캘리브레이션 기준 객체에 대한 기준 좌표 정보를 획득하는 단계(S1210), 카메라를 통하여 제2 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계(S1220), 이미지에 기초하여 제2 캘리브레이션 기준 객체와 관련된 제2 픽셀 세트를 획득하는 단계(S1230), 기준 좌표 정보 및 제2 픽셀 세트에 기초하여 좌표 쌍(pair)을 획득하는 단계(S1240), 및 좌표 쌍에 기초하여 카메라의 외부 파라미터를 보정하는 단계(S1250)를 포함할 수 있다. The step of performing the calibration on the external parameter of the camera according to an embodiment of the present application (S1200), the step of obtaining reference coordinate information for the second calibration reference object (S1210), the second calibration reference object through the camera Acquiring an image for (S1220), acquiring a second set of pixels related to a second calibration reference object based on the image (S1230), a coordinate pair based on the reference coordinate information and the second set of pixels It may include a step of obtaining (S1240), and a step of correcting an external parameter of the camera based on the coordinate pair (S1250).

제2 캘리브레이션 기준 객체에 대한 기준 좌표 정보를 획득하는 단계(S1210)에서는, 서버(1000)는, 제2 캘리브레이션 기준 객체에 대한 기준 좌표 정보를 획득할 수 있다. 여기서, 기준 좌표 정보란, 레이더(Radar) 센서 또는 라이더(Lidar) 센서 등을 포함하여 센서 기반 좌표계와 관련된 좌표 정보를 포괄하는 의미일 수 있다. 구체적으로 센서(200)는 미리 결정된 센서 기반 좌표계의 특정 위치에 배치된 제2 캘리브레이션 기준 객체에 대한 센싱 데이터를 측정하고, 센싱 데이터를 서버(1000)로 송신할 수 있다. In the step of obtaining reference coordinate information for the second calibration reference object ( S1210 ), the server 1000 may obtain reference coordinate information for the second calibration reference object. Here, the reference coordinate information may mean to encompass coordinate information related to a sensor-based coordinate system, including a radar sensor or a lidar sensor. In more detail, the sensor 200 may measure sensing data for a second calibration reference object disposed at a specific position in a predetermined sensor-based coordinate system, and transmit the sensing data to the server 1000 .

이때, 서버(1000)는 제2 캘리브레이션 기준 객체가 위치하는 센서 기반 좌표계에 대한 좌표 정보와 제2 캘리브레이션 기준 객체의 정보(예, 실제 높이(h), 실제 너비(d) 및/또는 실제 폭(w))에 기초하여 제2 캘리브레이션 기준 객체의 임의의 특징점(예, 도 8의 제3 특징점(P3), 제4 특징점(P4) 등)의 센서 기반 좌표계에서의 기준 좌표 정보를 획득할 수 있다. At this time, the server 1000 provides coordinate information on the sensor-based coordinate system in which the second calibration reference object is located and information on the second calibration reference object (eg, actual height (h), actual width (d) and/or actual width ( w)), it is possible to obtain reference coordinate information in the sensor-based coordinate system of an arbitrary feature point of the second calibration reference object (eg, the third feature point P3, the fourth feature point P4, etc. in FIG. 8). .

카메라를 통하여 제2 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계(S1220)에서는, 서버(1000)는, 카메라(110 또는 120)를 통하여 제2 캘리브레이션 기준 객체와 관련된 이미지를 획득할 수 있다. 구체적으로 서버(1000)는 카메라(110 혹은 120)을 이용하여 다양한 각도에서 촬영하여 획득한 제2 캘리브레이션 기준 객체와 관련된 이미지를 획득할 수 있다. 일 예로, 제2 캘리브레이션 기준 객체는 직육각형의 박스(Box)일 수 있다. In step S1220 of obtaining an image of the second calibration reference object through the camera, the server 1000 may obtain an image related to the second calibration reference object through the camera 110 or 120 . Specifically, the server 1000 may acquire an image related to the second calibration reference object obtained by photographing from various angles using the camera 110 or 120 . For example, the second calibration reference object may be a rectangular box.

이미지에 기초하여 제2 캘리브레이션 기준 객체와 관련된 제2 픽셀 세트를 획득하는 단계(S1230)에서는, 서버(1000)는, 제2 캘리브레이션 기준 객체와 관련된 이미지로부터 제3 특징점(예, 도 8의 P3)에 대응되는 제3 픽셀과 제4 특징점(예, 도 8의 P4)에 대응되는 제4 픽셀을 검출할 수 있다. 또한, 서버(1000)는 제3 픽셀에 대응되는 픽셀 좌표 정보와 제4 픽셀에 대응되는 픽셀 좌표 정보를 포함하는 제2 픽셀 세트를 획득할 수 있다. In the step of obtaining a second set of pixels related to the second calibration reference object based on the image ( S1230 ), the server 1000 , from the image related to the second calibration reference object, a third feature point (eg, P3 in FIG. 8 ) A third pixel corresponding to , and a fourth pixel corresponding to a fourth feature point (eg, P4 of FIG. 8 ) may be detected. Also, the server 1000 may obtain a second pixel set including pixel coordinate information corresponding to the third pixel and pixel coordinate information corresponding to the fourth pixel.

기준 좌표 정보 및 제2 픽셀 세트에 기초하여 좌표 쌍(pair)을 획득하는 단계(S1240)에서는, 서버(1000)는, 센서 기반 좌표계와 관련된 기준 좌표 정보 및 제3 픽셀에 대응되는 픽셀 좌표 정보와 제4 픽셀에 대응되는 픽셀 좌표 정보를 포함하는 제2 픽셀 세트에 기초하여 좌표 쌍(pair)을 획득할 수 있다. 예컨대, 서버(1000)는 제3 특징점(예, 도 8의 P3)의 센서 기반 좌표계와 관련된 기준 좌표 정보와 제3 픽셀에 대응되는 픽셀 좌표 정보가 연계된 제1 좌표 쌍(pair)을 획득할 수 있다. 다른 예로, 서버(1000)는 제4 특징점(예, 도 8의 P4)의 센서 좌표계와 관련된 기준 좌표 정보와 제4 픽셀에 대응되는 픽셀 좌표 정보가 연계된 제2 좌표 쌍(pair)을 획득할 수 있다.In the step of obtaining a coordinate pair based on the reference coordinate information and the second pixel set ( S1240 ), the server 1000 includes the reference coordinate information related to the sensor-based coordinate system and the pixel coordinate information corresponding to the third pixel and A coordinate pair may be obtained based on the second pixel set including pixel coordinate information corresponding to the fourth pixel. For example, the server 1000 may obtain a first coordinate pair in which reference coordinate information related to a sensor-based coordinate system of a third feature point (eg, P3 in FIG. 8 ) and pixel coordinate information corresponding to the third pixel are linked. can As another example, the server 1000 may obtain a second coordinate pair in which reference coordinate information related to the sensor coordinate system of the fourth feature point (eg, P4 in FIG. 8 ) and pixel coordinate information corresponding to the fourth pixel are linked. can

좌표 쌍에 기초하여 카메라의 외부 파라미터를 보정하는 단계(S1250)에서는, 서버(1000)는 좌표 쌍에 기초하여 카메라의 외부 파라미터를 보정할 수 있다. In step S1250 of correcting the external parameter of the camera based on the coordinate pair, the server 1000 may correct the external parameter of the camera based on the coordinate pair.

예를 들면, 서버(1000)는 제2 캘리브레이션 기준 객체의 실제 높이(h), 실제 너비(d) 및/또는 실제 폭(w)에 대한 정보를 획득할 수 있다. 혹은 서버(1000)는 센서 기반 좌표계와 관련된 기준 좌표 정보로부터 제2 캘리브레이션 기준 객체의 실제 높이(h), 실제 너비(d) 및/또는 실제 폭(w)에 대한 정보를 연산할 수 있다. 구체적으로 서버(1000)는 제2 캘리브레이션 기준 객체의 제3 특징점(예, 도 8의 P3)의 기준 좌표 정보와 제2 캘리브레이션 기준 객체의 제4 특징점(예, 도 8의 P4)의 기준 좌표 정보에 기초하여 제2 캘리브레이션 기준 객체의 실제 높이(h), 실제 너비(d) 및/또는 실제 폭(w)에 대한 정보를 연산할 수 있다.For example, the server 1000 may obtain information about the actual height (h), the actual width (d), and/or the actual width (w) of the second calibration reference object. Alternatively, the server 1000 may calculate information on the actual height (h), the actual width (d) and/or the actual width (w) of the second calibration reference object from the reference coordinate information related to the sensor-based coordinate system. Specifically, the server 1000 provides reference coordinate information of a third feature point (eg, P3 in FIG. 8 ) of the second calibration reference object and reference coordinate information of a fourth feature point (eg, P4 in FIG. 8 ) of the second calibration reference object. Information on the actual height (h), the actual width (d), and/or the actual width (w) of the second calibration reference object may be calculated based on .

또한, 서버(1000)는 제2 캘리브레이션 기준 객체의 제3 특징점(예, 도 8의 P3)에 대응되는 제3 픽셀에 해당하는 픽셀 좌표 정보와 제4 캘리브레이션 기준 객체의 제4 특징점(예, 도 8의 P4)에 대응되는 제4 픽셀에 해당하는 픽셀 좌표 정보에 기초하여 제3 픽셀과 제4 픽셀 사이의 거리를 연산할 수 있다. In addition, the server 1000 provides the pixel coordinate information corresponding to the third pixel corresponding to the third feature point (eg, P3 of FIG. 8 ) of the second calibration reference object and the fourth feature point of the fourth calibration reference object (eg, FIG. 8 ). A distance between the third pixel and the fourth pixel may be calculated based on pixel coordinate information corresponding to the fourth pixel corresponding to P4 of 8).

이때, 서버(1000)는 센서 기반 좌표계와 관련된 제2 캘리브레이션 기준 객체의 실제 길이 정보, 및 이미지 기반의 픽셀 좌표 정보에 기반한 픽셀 간 거리 정보에 기초하여 카메라의 외부 파라미터를 보정할 수 있다. 구체적으로 좌표 쌍은 카메라를 통하여 획득한 이미지 기반의 픽셀 좌표 정보와 센서 기반 좌표계와 관련된 기준 좌표 정보를 포함하고 있기 때문에, 서버(1000)는 좌표 쌍에 기초하여 카메라 좌표계와 카메라 외부의 센서 좌표계 사이의 변환 관계와 관련된 카메라의 외부 파라미터를 보정할 수 있다.In this case, the server 1000 may correct the external parameter of the camera based on the actual length information of the second calibration reference object related to the sensor-based coordinate system and the inter-pixel distance information based on the image-based pixel coordinate information. Specifically, since the coordinate pair includes image-based pixel coordinate information obtained through the camera and reference coordinate information related to the sensor-based coordinate system, the server 1000 is configured between the camera coordinate system and the sensor coordinate system outside the camera based on the coordinate pair. It is possible to correct the external parameters of the camera related to the transformation relationship of .

한편 도 8에서는 제2 캘리브레이션 기준 객체에 포함된 제3 특징점(P3)과 제3 특징점(P3)에 인접한 제4 특징점(P4)를 중심으로 카메라의 외부 파라미터를 보정하는 내용을 중심으로 설명하였다. 다만, 도 8에 도시된 제3 특징점(P3)과 제4 특징점(P4)은 설명의 편의를 위한 예시에 불과하며, 서버(1000)는 제2 캘리브레이션 기준 객체에 포함된 임의의 기준 영역(예, 꼭지점, 선, 면 등)에 기초하여 카메라의 외부 파라미터를 보정하도록 구현될 수 있다. Meanwhile, in FIG. 8 , the correction of external parameters of the camera has been mainly described based on the third feature point P3 included in the second calibration reference object and the fourth feature point P4 adjacent to the third feature point P3 . However, the third feature point P3 and the fourth feature point P4 shown in FIG. 8 are only examples for convenience of description, and the server 1000 may set any reference area (eg, , vertex, line, plane, etc.) may be implemented to correct external parameters of the camera.

또한, 도 8에서는 직육면체 형태의 제2 캘리브레이션 기준 객체를 중심으로 설명하였으나, 이는 예시에 불과하며 서버(1000)는 임의의 형태의 객체의 정보를 이용하여 카메라의 외부 파라미터를 보정하도록 구현될 수 있다. In addition, in FIG. 8 , the second calibration reference object in the form of a cuboid has been mainly described, but this is only an example, and the server 1000 may be implemented to correct external parameters of the camera using information of an object of any shape. .

또한, 도 2 내지 도 8에서는 카메라 캘리브레이션 동작이 서버(1000)에서 수행되는 것으로 서술하였으나, 이는 예시에 불과하며, 카메라 캘리브레이션 동작은 서버(1000)와는 별도의 외부 장치(혹은 외부 서버)에서 수행되도록 구성될 수 있다. In addition, although it has been described that the camera calibration operation is performed in the server 1000 in FIGS. 2 to 8 , this is only an example, and the camera calibration operation is performed in an external device (or external server) separate from the server 1000 . can be configured.

다시 도 3을 참고하면, 본 출원의 일 실시예에 따른 학습 세트 생성 방법은, 제1 카메라(110)로부터 촬영된 제1 영상과 제2 카메라(120)로부터 촬영된 제2 영상을 획득하는 단계(S2000), 제1 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 2차원의 제1 바운딩박스를 획득하는 단계(S3000), 제2 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 2차원의 제2 바운딩박스를 획득하는 단계(S4000), 제1 바운딩박스 및 제2 바운딩박스에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5000) 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계(S6000), 및 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계(S7000)를 포함할 수 있다. Referring back to FIG. 3 , the method for generating a learning set according to an embodiment of the present application includes acquiring a first image photographed from the first camera 110 and a second image photographed from the second camera 120 . (S2000), recognizing a target object from a first image and obtaining a two-dimensional first bounding box related to the target object (S3000), recognizing a target object from a second image and a two-dimensional second related to the target object Step of obtaining a bounding box (S4000), a step of obtaining a three-dimensional target bounding box related to the target object based on the first bounding box and the second bounding box (S5000) Obtaining sensing data corresponding to the target bounding box It may include a step (S6000), and a step (S7000) of generating a training set for training the neural network model.

제1 카메라로부터 촬영된 제1 영상과 제2 카메라로부터 촬영된 제2 영상을 획득하는 단계(S2000)에서는, 서버(1000)는 적어도 하나의 카메라로부터 영상을 획득할 수 있다. 일 예로, 서버(1000)는 대상 객체에 대하여 제1 위치에 위치하는 제1 카메라(110)를 통하여 대상 객체가 촬영된 제1 영상을 획득할 수 있다. 다른 예로, 서버(1000)는 대상 객체에 대하여 제2 위치에 위치하는 제2 카메라(120)를 통하여 대상 객체가 촬영된 제2 영상을 획득할 수 있다. In the step of acquiring the first image photographed from the first camera and the second image photographed from the second camera ( S2000 ), the server 1000 may acquire the image from at least one camera. As an example, the server 1000 may acquire a first image in which the target object is captured through the first camera 110 positioned at a first position with respect to the target object. As another example, the server 1000 may acquire a second image in which the target object is captured through the second camera 120 positioned at a second position with respect to the target object.

한편 전술한 바와 같이, 제1 영상과 제2 영상은 프레임별로 싱크가 맞춰진 영상일 수 있다. 예컨대, 서버(1000)는 제1 카메라(110)로부터 획득한 제1 영상, 제2 카메라(120)로부터 획득한 제2 영상, 및/또는 센서(200)로부터 획득한 센싱 데이터 간의 싱크(sync)를 맞추는 동작을 수행할 수 있으며, 도 3에서 도시된 S2000 단계의 제1 영상과 제2 영상은 프레임별로 싱크가 맞춰진 후의 영상들을 의미할 수 있다.Meanwhile, as described above, the first image and the second image may be images that are synchronized for each frame. For example, the server 1000 may synchronize the first image acquired from the first camera 110 , the second image acquired from the second camera 120 , and/or the sensed data acquired from the sensor 200 . may be performed, and the first image and the second image of step S2000 shown in FIG. 3 may mean images after synchronization is matched for each frame.

본 출원의 일 실시예에 따른 학습 세트 생성 방법은, 제1 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 제1 객체 정보를 획득하는 단계(S3000)를 포함할 수 있다. 제1 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 제1 객체 정보를 획득하는 단계(S3000)에서는, 서버(1000)는 제1 영상의 프레임별로 대상 객체를 검출하고, 대상 객체와 관련된 제1 객체 정보를 획득할 수 있다. 여기서 제1 객체 정보란, 제1 영상 내에서 검출된 대상 객체와 관련된 2차원의 바운딩박스 및/또는 대상 객체의 랜드마크(예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발 등)에 대응되는 영상 정보(예, 셀 좌표 등) 중 적어도 하나를 포함할 수 있다. The method for generating a learning set according to an embodiment of the present application may include recognizing a target object from a first image and acquiring first object information related to the target object ( S3000 ). In the step of recognizing the target object from the first image and obtaining the first object information related to the target object ( S3000 ), the server 1000 detects the target object for each frame of the first image, and the first object related to the target object information can be obtained. Here, the first object information is a two-dimensional bounding box related to the target object detected in the first image and/or landmarks of the target object (eg, eyes, nose, ears, shoulders, elbows, hands, pelvis, knees, It may include at least one of image information (eg, cell coordinates, etc.) corresponding to the foot, etc.).

일 예로, 서버(1000)는 객체 검출(object detection)과 관련된 딥 러닝 기법(예, yolo, yoloV3, ssd, Retinanet 등)을 활용하여 제1 영상으로부터 대상 객체를 검출하고, 제1 영상 내의 대상 객체에 해당하는 영역의 마스크(mask)를 획득할 수 있다. 또한, 서버(1000)는 제1 영상의 마스크에 기초하여 대상 객체와 관련된 2차원의 제1 바운딩박스를 획득할 수 있다. 추가적으로 서버(1000)는 대상 객체 검출의 성능을 높이기 위한 임의의 기법을 활용할 수 있다. 예컨대, 서버(1000)는 객체 검출 기법에 칼만 필터(Kalman filter)를 추가한 Simple Online and Realtime Tracking(이하, SORT) 알고리즘을 활용하여 대상 객체 검출의 정확도를 높이고 사물의 위치를 추적하는 연산을 수행하도록 구현될 수 있다. For example, the server 1000 detects a target object from the first image by using a deep learning technique (eg, yolo, yoloV3, ssd, Retinanet, etc.) related to object detection, and the target object in the first image. It is possible to obtain a mask of an area corresponding to . Also, the server 1000 may acquire a two-dimensional first bounding box related to the target object based on the mask of the first image. Additionally, the server 1000 may utilize an arbitrary technique for increasing the performance of target object detection. For example, the server 1000 utilizes a Simple Online and Realtime Tracking (hereinafter referred to as SORT) algorithm in which a Kalman filter is added to an object detection technique to increase the accuracy of target object detection and perform an operation to track the location of an object. can be implemented to do so.

다른 예로, 서버(1000)는 포즈 추정(pose estimation)과 관련된 딥 러닝 기법(예, AlphaPose)을 활용하여 제1 영상으로부터 대상 객체의 랜드마크(예, 예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발 등)에 대응되는 제1 셀 정보(예, 셀 좌표 정보)를 획득할 수 있다. 구체적으로 서버(1000)는 제1 영상으로부터 검출된 대상 객체에 대하여 포즈 추정을 수행하여 대상 객체와 관련된 객체 정보로서 대상 객체의 랜드마크에 대응되는 제1 셀 정보를 획득할 수 있다. As another example, the server 1000 uses a deep learning technique (eg, AlphaPose) related to pose estimation to obtain landmarks (eg, eyes, nose, ears, shoulders, and elbows) of the target object from the first image. , hand, pelvis, knee, foot, etc.) may acquire first cell information (eg, cell coordinate information). Specifically, the server 1000 may perform pose estimation on the target object detected from the first image to obtain first cell information corresponding to the landmark of the target object as object information related to the target object.

다만 상술한 객체 검출 기법과 포즈 추정 기법은 예시에 불과하며, 서버(1000)는 임의의 적절한 방법을 활용하여 영상으로부터 대상 객체를 검출하도록 구현될 수 있을 것이다.However, the above-described object detection technique and pose estimation technique are merely examples, and the server 1000 may be implemented to detect a target object from an image by using any suitable method.

본 출원의 일 실시예에 따른 학습 세트 생성 방법은, 제2 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 제2 객체 정보를 획득하는 단계 (S4000)를 포함할 수 있다. 제2 영상으로부터 대상 객체를 인식하고 대상 객체와 관련된 제2 객체 정보를 획득하는 단계(S4000)에서는, 서버(1000)는 제2 영상의 프레임별로 대상 객체를 검출하고, 대상 객체와 관련된 제2 객체 정보를 획득할 수 있다. 여기서, 제2 객체 정보란, 제2 영상 내에서 검출된 대상 객체와 관련된 2차원의 바운딩박스 및/또는 대상 객체의 랜드마크(예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발 등)에 대응되는 영상 정보(예, 셀 좌표 등) 중 적어도 하나를 포함할 수 있다. The method for generating a learning set according to an embodiment of the present application may include recognizing a target object from a second image and acquiring second object information related to the target object ( S4000 ). In the step of recognizing the target object from the second image and obtaining second object information related to the target object ( S4000 ), the server 1000 detects the target object for each frame of the second image, and the second object related to the target object information can be obtained. Here, the second object information refers to a two-dimensional bounding box related to a target object detected in the second image and/or landmarks (eg, eyes, nose, ears, shoulders, elbows, hands, pelvis, and knees) of the target object. , feet, etc.) may include at least one of image information (eg, cell coordinates, etc.).

일 예로, 서버(1000)는 객체 검출(object detection)과 관련된 딥 러닝 기법(예, yolo, yoloV3, ssd, Retinanet 등)을 활용하여 제2 영상으로부터 대상 객체를 검출하고, 제2 영상 내의 대상 객체에 해당하는 영역의 마스크(mask)를 획득할 수 있다. 또한, 서버(1000)는 제2 영상의 마스크에 기초하여 대상 객체와 관련된 2차원의 제2 바운딩박스를 획득할 수 있다. 추가적으로 서버(1000)는 대상 객체 검출의 성능을 높이기 위한 임의의 기법을 활용할 수 있다. 예컨대, 서버(1000)는 객체 검출 기법에 칼만 필터(Kalman filter)를 추가한 Simple Online and Realtime Tracking(이하, SORT) 알고리즘을 활용하여 대상 객체 검출의 정확도를 높이고 사물의 위치를 추적하는 연산을 수행하도록 구현될 수 있다. For example, the server 1000 detects a target object from the second image by using a deep learning technique (eg, yolo, yoloV3, ssd, Retinanet, etc.) related to object detection, and the target object in the second image. It is possible to obtain a mask of an area corresponding to . Also, the server 1000 may acquire a two-dimensional second bounding box related to the target object based on the mask of the second image. Additionally, the server 1000 may utilize an arbitrary technique for increasing the performance of target object detection. For example, the server 1000 utilizes a Simple Online and Realtime Tracking (hereinafter referred to as SORT) algorithm in which a Kalman filter is added to an object detection technique to increase the accuracy of target object detection and perform an operation to track the location of an object. can be implemented to do so.

다른 예로, 서버(1000)는 포즈 추정(pose estimation)과 관련된 딥 러닝 기법(예, AlphaPose)을 활용하여 제2 영상으로부터 대상 객체의 랜드마크(예, 예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발 등)에 대응되는 제2 셀 정보(예, 셀 좌표 정보)를 획득할 수 있다. 구체적으로 서버(1000)는 제2 영상으로부터 검출된 대상 객체에 대하여 포즈 추정을 수행하여 대상 객체와 관련된 객체 정보로서 대상 객체의 랜드마크에 대응되는 제2 셀 정보를 획득할 수 있다. As another example, the server 1000 uses a deep learning technique (eg, AlphaPose) related to pose estimation to obtain landmarks (eg, eyes, nose, ears, shoulders, and elbows) of the target object from the second image. , hand, pelvis, knee, foot, etc.) may acquire second cell information (eg, cell coordinate information). Specifically, the server 1000 may perform pose estimation on the target object detected from the second image to obtain second cell information corresponding to the landmark of the target object as object information related to the target object.

다만 상술한 객체 검출 기법과 포즈 추정 기법은 예시에 불과하며, 서버(1000)는 임의의 적절한 방법을 활용하여 영상으로부터 대상 객체를 검출하도록 구현될 수 있을 것이다.However, the above-described object detection technique and pose estimation technique are merely examples, and the server 1000 may be implemented to detect a target object from an image by using any suitable method.

제1 객체 정보 및 제2 객체 정보에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5000)에서는, 서버(1000)는, 제1 영상으로부터 획득된 대상 객체와 관련된 제1 객체 정보 및 제2 영상으로부터 획득된 대상 객체와 관련된 제2 객체 정보로부터 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득할 수 있다. In the step of obtaining a three-dimensional target bounding box related to the target object based on the first object information and the second object information (S5000), the server 1000, the first object related to the target object obtained from the first image A three-dimensional target bounding box related to the target object may be obtained from the information and the second object information related to the target object obtained from the second image.

일 예로, 서버(1000)는 제1 객체 정보에 포함된 제1 바운딩박스와 제2 객체 정보에 포함된 제2 바운딩박스 각각을 3차원 공간좌표에 리버스 투영(Reverse project)함으로써 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득할 수 있다. 다른 예로, 서버(1000)는 제1 객체 정보에 포함된 제1 셀 정보와 제2 객체 정보에 포함된 제2 셀 정보 각각을 3차원 공간좌표에 투영(Reverse project)함으로써 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득할 수 있다.As an example, the server 1000 may reverse project each of the first bounding box included in the first object information and the second bounding box included in the second object information onto 3D spatial coordinates, thereby performing a 3D project related to the target object. You can obtain the bounding box of the dimension object. As another example, the server 1000 projects each of the first cell information included in the first object information and the second cell information included in the second object information onto the 3D spatial coordinates, thereby performing a three-dimensional (3D) related target object. You can obtain the target bounding box of .

이하에서는 도 9 내지 도 14를 참고하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5000)를 보다 구체적으로 서술한다. 구체적으로 도 9 내지 도 13을 참고하여 2차원의 바운딩박스와 관련된 객체 정보에 기초하여 대상 바운딩박스를 획득하는 일 실시예를 서술하며, 도 14를 참고하여 대상 객체의 랜드마크와 관련된 객체 정보에 기초하여 대상 바운딩박스를 획득하는 다른 실시예를 서술한다.Hereinafter, the step (S5000) of obtaining a three-dimensional target bounding box related to the target object will be described in more detail with reference to FIGS. 9 to 14 . Specifically, an embodiment of obtaining a target bounding box based on object information related to a two-dimensional bounding box will be described with reference to FIGS. 9 to 13, and object information related to a landmark of the target object with reference to FIG. 14 Another embodiment of obtaining the target bounding box based on the description will be made.

도 9는 본 출원의 일 실시예에 따른 대상 바운딩박스를 획득하는 단계(S5000)를 구체화한 순서도이다. 본 출원의 일 실시예에 따른 대상 바운딩박스를 획득하는 단계(S5000)는 제1 객체 정보에 포함된 2차원의 제1 바운딩박스를 3차원 공간좌표에 리버스 투영하여 제1 투영 체적을 획득하는 단계(S5100), 제2 객체 정보에 포함된 2차원의 제2 바운딩박스를 3차원 공간좌표에 리버스 투영하여 제2 투영 체적을 획득하는 단계(S5200), 및 제1 투영 체적 및 제2 투영 체적에 기초하여 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계(S5300)를 포함할 수 있다. 9 is a flowchart detailing the step (S5000) of obtaining a target bounding box according to an embodiment of the present application. The step of obtaining a target bounding box according to an embodiment of the present application (S5000) is a step of reverse-projecting a two-dimensional first bounding box included in the first object information onto three-dimensional spatial coordinates to obtain a first projection volume (S5100), a step of reversely projecting the two-dimensional second bounding box included in the second object information onto the three-dimensional spatial coordinates to obtain a second projection volume (S5200), and the first projection volume and the second projection volume It may include obtaining a target bounding box related to the target object based on the step (S5300).

제1 객체 정보에 포함된 2차원의 제1 바운딩박스를 3차원 공간좌표에 리버스 투영하여 제1 투영 체적을 획득하는 단계(S5100)에서는, 서버(1000)는 제1 영상에 포함된 대상 객체와 관련된 2차원의 제1 바운딩박스를 3차원 공간좌표에 리버스 투영하여 대상 객체와 관련된 제1 투영 체적을 획득할 수 있다. 구체적으로, 서버(1000)는 제1 카메라(110)의 내부 파라미터 및/또는 외부 파라미터를 이용하여 제1 바운딩박스를 3차원 공간좌표에 리버스 투영하여 제1 투영 체적을 획득할 수 있다. In the step (S5100) of obtaining a first projection volume by reverse-projecting the two-dimensional first bounding box included in the first object information onto the three-dimensional spatial coordinates (S5100), the server 1000 and the target object included in the first image The first projection volume related to the target object may be obtained by reversely projecting the related 2D first bounding box onto the 3D spatial coordinates. Specifically, the server 1000 may obtain the first projection volume by reversely projecting the first bounding box onto the 3D spatial coordinates using the internal parameter and/or the external parameter of the first camera 110 .

제2 객체 정보에 포함된 2차원의 제2 바운딩박스를 3차원 공간좌표에 투영하여 제2 투영 체적을 획득하는 단계(S5200)에서는, 서버(1000)는 제2 영상에 포함된 대상 객체와 관련된 2차원의 제2 바운딩박스를 3차원 공간좌표에 리버스 투영하여 대상 객체와 관련된 제2 투영 체적을 연산할 수 있다. 구체적으로, 서버(1000)는 제2 카메라(120)의 내부 파라미터 및/또는 외부 파라미터를 이용하여 제2 바운딩박스를 3차원 공간좌표에 리버스 투영하여 제2 투영 체적을 획득할 수 있다. In the step (S5200) of acquiring the second projection volume by projecting the second two-dimensional bounding box included in the second object information onto the three-dimensional spatial coordinates, the server 1000 relates to the target object included in the second image. A second projection volume related to the target object may be calculated by reversely projecting the 2D second bounding box onto the 3D spatial coordinates. Specifically, the server 1000 may obtain the second projection volume by reversely projecting the second bounding box onto the 3D spatial coordinates using the internal parameter and/or the external parameter of the second camera 120 .

제1 투영 체적 및 제2 투영 체적에 기초하여 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계(S5300)에서는, 서버(1000)는 제1 투영 체적 및 제2 투영 체적 간의 교차 체적(intersection volume)을 획득하고, 교차 체적(intersection volume)에 기반하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득할 수 있다. In the step S5300 of obtaining the target bounding box related to the target object on the basis of the first projection volume and the second projection volume, the server 1000 may obtain an intersection volume between the first projection volume and the second projection volume. and may obtain a three-dimensional target bounding box related to the target object based on the intersection volume.

이하에서는 도 10 및 도 11을 참고하여 본 출원의 일 실시예에 따른 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 방법에 대하여 구체적으로 서술한다. Hereinafter, a method of obtaining a three-dimensional target bounding box related to a target object according to an embodiment of the present application will be described in detail with reference to FIGS. 10 and 11 .

도 10은 본 출원의 일 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계(S5300)를 구체화한 순서도이다. 도 11은 본 출원의 일 실시예에 따른 3차원의 대상 바운딩박스를 획득하는 일 양상을 도시한 도면이다. 10 is a flowchart detailing the step (S5300) of obtaining a target bounding box related to a target object according to an embodiment of the present application. 11 is a diagram illustrating an aspect of obtaining a three-dimensional target bounding box according to an embodiment of the present application.

본 출원의 일 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계(S5300)는 제1 투영 체적을 구성하는 적어도 하나의 제1 평면을 획득하는 단계(S5310), 제2 투영 체적을 구성하는 적어도 하나의 제2 평면을 획득하는 단계(S5312), 및 제1 평면 및 제2 평면의 공통 평면을 획득하고 공통 평면에 기초하여 대상 바운딩박스를 획득하는 단계(S5314)를 포함할 수 있다.The step of obtaining the target bounding box related to the target object according to an embodiment of the present application (S5300) is the step of obtaining at least one first plane constituting the first projection volume (S5310), configuring the second projection volume obtaining at least one second plane ( S5312 ), and obtaining a common plane of the first and second planes and obtaining a target bounding box based on the common plane ( S5314 ).

제1 투영 체적을 구성하는 적어도 하나의 제1 평면을 획득하는 단계(S5310)에서는, 서버(1000)는 제1 투영 체적을 구성하는 적어도 하나의 제1 평면을 획득할 수 있다. 구체적으로 서버(1000)는, 제1 투영 체적을 구성하는 제1 라인(예, 도 11의 m1) 및 제2 라인(예, 도 11의 m2)을 포함하는 제1 평면을 획득할 수 있다. In step S5310 of obtaining at least one first plane constituting the first projection volume, the server 1000 may obtain at least one first plane constituting the first projection volume. In more detail, the server 1000 may obtain a first plane including a first line (eg, m1 of FIG. 11 ) and a second line (eg, m2 of FIG. 11 ) constituting the first projection volume.

제2 투영 체적을 구성하는 적어도 하나의 제2 평면을 획득하는 단계(S5312)에서는, 서버(1000)는 제2 투영 체적을 구성하는 적어도 하나의 제2 평면을 획득할 수 있다. 구체적으로 서버(1000)는, 제2 투영 체적을 구성하는 제3 라인(예, 도 11의 l1) 및 제4 라인(예, 도 11의 l2)을 포함하는 제2 평면을 획득할 수 있다.In the step of obtaining at least one second plane constituting the second projection volume ( S5312 ), the server 1000 may obtain at least one second plane constituting the second projection volume. Specifically, the server 1000 may obtain a second plane including a third line (eg, 11 in FIG. 11 ) and a fourth line (eg, 12 in FIG. 11 ) constituting the second projection volume.

제1 평면 및 제2 평면의 공통 평면을 획득하고 공통 평면에 기초하여 대상 바운딩박스를 획득하는 단계(S5314)에서는, 서버(1000)는 제1 투영 체적을 구성하는 적어도 하나의 제1 평면과 제2 투영 체적을 구성하는 적어도 하나의 제2 평면 간의 공통 평면을 획득할 수 있다. 또한, 서버(1000)는 획득한 복수의 공통 평면들에 기초하여 제1 투영 체적과 제2 투영 체적 간의 교차 체적을 획득할 수 있다. 또한, 서버(1000)는 교차 체적에 기반하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 생성하도록 구현될 수 있다. In the step of acquiring a common plane of the first plane and the second plane and acquiring a target bounding box based on the common plane (S5314), the server 1000 includes at least one first plane and a second plane constituting the first projection volume. A common plane between at least one second plane constituting the two projection volumes may be obtained. Also, the server 1000 may obtain an intersection volume between the first projection volume and the second projection volume based on the acquired plurality of common planes. Also, the server 1000 may be implemented to generate a three-dimensional target bounding box related to the target object based on the intersecting volume.

한편, 도 11에서는 제1 투영 체적과 제2 투영 체적 간의 교차 체적과 관련하여 제1 카메라(또는 제2 카메라)로부터 먼 위치에 대응되는 꼭지점(예, 도 11의 v1)을 포함하여 교차 체적을 생성하는 것으로 도시하였다. 다만 이는 예시에 불과하며, 서버(1000)는 카메라의 각도나 기울기(tilt)를 고려하여 제1 투영 체적과 제2 투영 체적 간의 교차 체적을 획득하도록 구현될 수 있다. 예컨대, 서버(1000)는, 제1 카메라(또는 제2 카메라)로부터 먼 위치에 대응되는 꼭지점(예, 도 11의 v1)는 보정하고 교차 체적을 생성하도록 구현될 수 있다. 구체적으로 서버(1000)는 특정 꼭지점(예, 도 11의 v1)은 제외하고 교차 체적을 생성하도록 구성될 수 있다.Meanwhile, in FIG. 11, with respect to the intersecting volume between the first projection volume and the second projection volume, the intersecting volume including the vertex (eg, v1 in FIG. 11 ) corresponding to a position far from the first camera (or the second camera) is obtained. shown to be generated. However, this is only an example, and the server 1000 may be implemented to obtain an intersection volume between the first projection volume and the second projection volume in consideration of the angle or tilt of the camera. For example, the server 1000 may be implemented to correct a vertex (eg, v1 of FIG. 11 ) corresponding to a location far from the first camera (or the second camera) and generate an intersecting volume. Specifically, the server 1000 may be configured to generate an intersecting volume excluding a specific vertex (eg, v1 in FIG. 11 ).

한편, 제1 영상(또는 제2 영상)으로부터 획득한 바운딩박스가 복수개인 경우(즉, 각 영상에 대상 객체가 복수인 경우)에는 제1 영상으로부터 획득한 바운딩박스와 제2 영상으로부터 획득한 바운딩박스가 어떻게 매칭되는지 불분명한 경우가 존재할 수 있다. On the other hand, when there are a plurality of bounding boxes obtained from the first image (or the second image) (that is, when there are a plurality of target objects in each image), the bounding box obtained from the first image and the bounding obtained from the second image There may be cases where it is not clear how the boxes match.

본 출원의 일 실시예에 따른 서버(1000)는 각 영상으로부터 획득한 바운딩박스에 대응되는 투영 체적(혹은 대상 객체)과 관련된 특성 정보를 획득하고, 특성 정보 간의 유사도에 기초하여 3차원의 대상 바운딩박스를 획득하도록 구현될 수 있다. 구체적으로 서버(1000)는 제1 영상으로부터 획득한 제1 바운딩박스와 대응되는 제1 투영 체적(또는 대상 객체)과 관련된 제1 특성 정보 및 제2 영상으로부터 획득한 제2 바운딩박스와 대응되는 제2 투영 체적(또는 대상 객체)과 관련된 제2 특성 정보를 획득하고, 제1 특성 정보와 제2 특성 정보 간의 유사도에 기반하여 대상 바운딩박스를 획득할 수 있다. The server 1000 according to an embodiment of the present application obtains characteristic information related to the projection volume (or target object) corresponding to the bounding box obtained from each image, and based on the similarity between the characteristic information, three-dimensional object bounding It can be implemented to obtain a box. Specifically, the server 1000 may include first characteristic information related to the first projection volume (or target object) corresponding to the first bounding box obtained from the first image and the second bounding box corresponding to the second image obtained from the second image. The second characteristic information related to the second projection volume (or the target object) may be acquired, and the target bounding box may be acquired based on the similarity between the first characteristic information and the second characteristic information.

이하에서는 도 12 및 도 13을 참고하여 본 출원의 일 실시예에 따른 대상 바운딩박스를 획득하는 내용에 대하여 보다 구체적으로 설명한다. Hereinafter, the content of obtaining a target bounding box according to an embodiment of the present application will be described in more detail with reference to FIGS. 12 and 13 .

도 12는 본 출원의 일 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계(S5300)를 구체화한 순서도이다. 도 13은 본 출원의 일 실시예에 따른 3차원의 대상 바운딩박스를 결정하는 일 양상을 도시한 도면이다. 12 is a flowchart detailing the step (S5300) of obtaining a target bounding box related to a target object according to an embodiment of the present application. 13 is a diagram illustrating an aspect of determining a three-dimensional target bounding box according to an embodiment of the present application.

본 출원의 일 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계(S5300)는 제1 투영 체적 및 제2 투영 체적에 기초하여 3차원의 임시 바운딩박스들을 획득하는 단계(S5320), 제1 바운딩박스와 관련된 제1 특성 정보를 획득하는 단계(S5322), 제2 바운딩박스와 관련된 제2 특성 정보를 획득하는 단계(S5324), 제1 특성 정보와 제2 특성 정보의 유사도에 기초하여 임시 바운딩박스에 매칭 점수를 할당하는 단계(S5326), 및 매칭 점수에 기초하여 임시 바운딩박스들 중에서 대상 바운딩박스를 결정하는 단계(S5328)를 포함할 수 있다. The step of obtaining the target bounding box related to the target object according to an embodiment of the present application (S5300) is the step of obtaining three-dimensional temporary bounding boxes based on the first projection volume and the second projection volume (S5320), the second A step of obtaining first characteristic information related to the first bounding box (S5322), a step of obtaining second characteristic information related to the second bounding box (S5324), a temporary basis based on the similarity between the first characteristic information and the second characteristic information It may include allocating a matching score to the bounding box (S5326), and determining a target bounding box from among temporary bounding boxes based on the matching score (S5328).

제1 투영 체적 및 제2 투영 체적에 기초하여 3차원의 임시 바운딩박스들을 획득하는 단계(S5320)에서는, 서버(1000)는, 제1 영상에 포함된 제1 대상객체와 관련된 2차원의 바운딩박스를 3차원 공간에 리버스 투영하여 투영체적을 획득할 수 있다. 또한, 서버(1000)는 제2 영상에 포함된 제1 대상객체와 관련된 2차원의 바운딩박스를 3차원 공간에 리버스 투영하여 투영체적을 획득할 수 있다. 또한, 서버(1000)는 제1 영상에 포함된 제2 대상객체와 관련된 2차원의 바운딩박스를 3차원 공간에 리버스 투영하여 투영체적을 획득할 수 있다. 또한, 서버(1000)는 제2 영상에 포함된 제2 대상객체와 관련된 2차원의 바운딩박스를 3차원 공간에 리버스 투영하여 투영체적을 획득할 수 있다. In the step of obtaining three-dimensional temporary bounding boxes based on the first projection volume and the second projection volume ( S5320 ), the server 1000 , the two-dimensional bounding box related to the first target object included in the first image. A projected volume can be obtained by reverse-projecting . In addition, the server 1000 may acquire the projection volume by reversely projecting the two-dimensional bounding box related to the first target object included in the second image into the three-dimensional space. In addition, the server 1000 may obtain the projection volume by reversely projecting the two-dimensional bounding box related to the second target object included in the first image into the three-dimensional space. In addition, the server 1000 may acquire the projection volume by reversely projecting the two-dimensional bounding box related to the second target object included in the second image into the three-dimensional space.

이때, 서버(1000)는 제1 대상 객체와 관련된 투영 체적과 제2 대상 객체와 관련된 투영 체적 간의 조합에 따라 복수 개의 임시 바운딩박스를 생성할 수 있다. 예컨대, 서버(1000)는 제1 영상의 제1 대상 객체와 관련된 바운딩박스로부터 획득한 투영체적과 제2 영상의 제1 대상 객체와 관련된 바운딩박스로부터 획득한 투영체적에 기반하여 교차 체적을 연산하고, 획득된 교차 체적에 기반하여 3차원의 임시 바운딩박스(예, 도 13의 제1 임시 바운딩박스)를 획득할 수 있다. 또한, 서버(1000)는 제1 영상의 제1 대상 객체와 관련된 바운딩박스로부터 획득한 투영체적과 제2 영상의 제2 대상 객체와 관련된 바운딩박스로부터 획득한 투영체적에 기반하여 교차 체적을 연산하고, 획득된 교차 체적에 기반하여 3차원의 임시 바운딩박스(예, 도 13의 제2 임시 바운딩박스)를 획득할 수 있다. In this case, the server 1000 may generate a plurality of temporary bounding boxes according to a combination between the projection volume related to the first target object and the projection volume related to the second target object. For example, the server 1000 calculates the intersection volume based on the projection volume obtained from the bounding box related to the first target object of the first image and the projection volume obtained from the bounding box related to the first target object of the second image, and , a three-dimensional temporary bounding box (eg, the first temporary bounding box of FIG. 13 ) may be obtained based on the obtained intersecting volume. In addition, the server 1000 calculates the intersection volume based on the projection volume obtained from the bounding box related to the first target object of the first image and the projection volume obtained from the bounding box related to the second target object of the second image, and , a three-dimensional temporary bounding box (eg, the second temporary bounding box of FIG. 13 ) may be obtained based on the obtained intersecting volume.

다만, 생성된 복수 개의 임시 바운딩박스들 중에는 오차가 존재할 수 있다. 예컨대, 도 13에 도시된 제2 임시 바운딩박스는 제1 대상 객체로부터 획득된 투영 체적과 제2 대상 객체로부터 획득된 투영 체적 간의 교차 체적에 기반하여 획득된 임시 바운딩박스로, 상이한 대상 객체로부터 획득되었다는 오류가 존재할 수 있다. However, an error may exist among the plurality of generated temporary bounding boxes. For example, the second temporary bounding box shown in FIG. 13 is a temporary bounding box obtained based on the intersection volume between the projection volume obtained from the first target object and the projection volume obtained from the second target object, obtained from different target objects. error may exist.

따라서, 본 출원의 일 실시예에 따른 서버(1000)는 임시 바운딩박스들 중에서 대상 바운딩박스를 결정하도록 구현될 수 있다. 구체적으로, 서버(1000)는 투영 체적(또는 대상 객체)과 관련된 특성 정보들을 획득하고, 특성 정보 간의 유사도에 따라여 임시 바운딩박스에 대하여 매칭 점수를 부여하고, 매칭 점수에 기반하여 임시 바운딩박스 중에서 대상 바운딩박스를 결정하도록 구현될 수 있다. 여기서, 특성 정보란 투영 체적(또는 대상 객체)과 관련된 색 정보, 분포 정보 등을 포함하여 제1 바운딩박스와 제2 바운딩박스 간의 유사도 판별에 이용할 수 있는 임의의 정보를 포괄하는 의미일 수 있다. 또한 여기서 제1 바운딩박스는 제1 영상으로부터 획득된 임의의 바운딩박스를 포괄하는 의미일 수 있으며, 제2 바운딩박스는 제2 영상으로부터 획득된 임의의 바운딩박스를 포괄하는 의미일 수 있다. Accordingly, the server 1000 according to an embodiment of the present application may be implemented to determine a target bounding box from among temporary bounding boxes. Specifically, the server 1000 obtains characteristic information related to the projection volume (or target object), gives a matching score to the temporary bounding box according to the similarity between the characteristic information, and based on the matching score, from among the temporary bounding boxes. It may be implemented to determine a target bounding box. Here, the characteristic information may mean encompassing any information that can be used to determine the degree of similarity between the first bounding box and the second bounding box, including color information and distribution information related to the projected volume (or target object). Also, here, the first bounding box may mean encompassing any bounding box obtained from the first image, and the second bounding box may mean encompassing any bounding box obtained from the second image.

제1 바운딩박스와 관련된 제1 특성 정보를 획득하는 단계(S5322)에서는, 서버(1000)는, 3차원의 임시 바운딩박스와 관련된 제1 바운딩박스에 대응되는 제1 투영 체적(또는 대상 객체)의 제1 특성 정보를 획득할 수 있다. 예컨대, 서버(1000)는 제1 임시 바운딩박스와 관련된 제1 바운딩박스(예컨대, 제1 영상의 제1 대상 객체에 대응되는 바운딩박스)와 대응되는 제1 대상 객체의 제1 특성 정보(예컨대, 제1 대상 객체의 색 정보)를 획득할 수 있다. 또한, 서버(1000)는 제2 임시 바운딩박스와 관련된 제1 바운딩박스(예컨대, 제1 영상의 제1 대상 객체에 대응되는 바운딩박스)와 대응되는 제1 대상 객체의 제1 특성 정보(예컨대, 제1 대상 객체의 색 정보)를 획득할 수 있다.In the step of obtaining the first characteristic information related to the first bounding box (S5322), the server 1000, the first projection volume (or target object) corresponding to the first bounding box related to the three-dimensional temporary bounding box The first characteristic information may be acquired. For example, the server 1000 may include a first bounding box (eg, a bounding box corresponding to the first target object of the first image) related to the first temporary bounding box and first characteristic information of the first target object (eg, color information of the first target object) may be obtained. In addition, the server 1000 may provide first characteristic information of the first target object corresponding to the first bounding box (eg, the bounding box corresponding to the first target object of the first image) related to the second temporary bounding box (eg, color information of the first target object) may be obtained.

제2 바운딩박스와 관련된 제2 특성 정보를 획득하는 단계(S5324)에서는, 서버(1000)는, 3차원의 임시 바운딩박스와 관련된 제2 바운딩박스에 대응되는 제2 투영 체적(또는 대상 객체)의 제2 특성 정보를 획득할 수 있다. 예컨대, 서버(1000)는 제1 임시 바운딩박스와 관련된 제2 바운딩박스(예컨대, 제2 영상의 제1 대상 객체에 대응되는 바운딩박스)와 대응되는 제1 대상 객체의 제2 특성 정보(예컨대, 제1 대상 객체의 색 정보)를 획득할 수 있다. 또한, 서버(1000)는 제2 임시 바운딩박스와 관련된 제2 바운딩박스(예컨대, 제2 영상의 제2 대상 객체에 대응되는 바운딩박스)와 대응되는 제2 대상 객체의 제2 특성 정보(예컨대, 제2 대상 객체의 색 정보)를 획득할 수 있다.In the step of obtaining the second characteristic information related to the second bounding box (S5324), the server 1000, the second projection volume (or target object) corresponding to the second bounding box related to the three-dimensional temporary bounding box Second characteristic information may be obtained. For example, the server 1000 may include a second bounding box (eg, a bounding box corresponding to the first target object of the second image) related to the first temporary bounding box and second characteristic information of the first target object (eg, color information of the first target object) may be obtained. In addition, the server 1000 may include second characteristic information of the second target object corresponding to the second bounding box (eg, the bounding box corresponding to the second target object of the second image) related to the second temporary bounding box (eg, color information of the second target object) may be obtained.

일 예로, 서버(1000)는 각 바운딩박스에 대응되는 대상 객체와 관련된 특성 정보를 획득하는 데 로모(Local Maximal Occurrence, Lomo) 피처 기법을 활용할 수 있다. 로모 피처 기법은 다른 각도의 영상에서의 객체 식별을 위하여 객체의 특성, 예컨대 객체의 색을 중점적으로 고려하여 동일한 객체인지 여부를 판단할 수 있는 기법이다. 본 출원의 일 실시예에 따른 서버(1000)는 로모 피처 기법을 활용하여 매칭된 제1 바운딩박스와 제2 바운딩박스에 대응되는 대상 객체 간의 유사도를 판단할 수 있다.As an example, the server 1000 may utilize a Lomo (Local Maximal Occurrence, Lomo) feature technique to obtain characteristic information related to a target object corresponding to each bounding box. The lomo feature technique is a technique capable of determining whether the object is the same object by focusing on characteristics of the object, for example, the color of the object, in order to identify the object in an image from a different angle. The server 1000 according to an embodiment of the present application may determine a similarity between a target object corresponding to the matched first bounding box and the second bounding box by using the lomo feature technique.

제1 특성 정보와 제2 특성 정보의 유사도에 기초하여 임시 바운딩박스에 매칭 점수를 할당하는 단계(S5326)에서는, 서버(1000)는, 제1 영상으로부터 획득한 제1 투영 체적(또는 대상 객체)의 제1 특성 정보와 제2 영상으로부터 획득한 제2 투영 체적(또는 대상 객체)의 제2 특성 정보 간의 유사도에 기초하여 3차원의 임시 바운딩박스에 매칭 점수를 부여할 수 있다. 예컨대, 서버(1000)는 제1 임시 바운딩박스와 관련된 제1 영상의 제1 바운딩박스에 대응되는 제1 특성 정보(예, 색 정보)와 제1 임시 바운딩박스와 관련된 제2 영상의 제2 바운딩박스에 대응되는 제2 특성 정보(예, 색 정보) 간에 유사도에 기반하여 제1 임시 바운딩박스에 제1 점수를 부여할 수 있다. 다른 예를 들어, 서버(1000)는 제2 임시 바운딩박스와 관련된 제1 영상의 제1 바운딩박스에 대응되는 제1 특성 정보(예, 색 정보)와 제2 임시 바운딩박스와 관련된 제2 영상의 제2 바운딩박스에 대응되는 제2 특성 정보(예, 색 정보) 간에 유사도에 기반하여 제2 임시 바운딩박스에 제2 점수를 부여할 수 있다. 이때, 서버(1000)는 제1 영상의 제1 대상 객체에 대응되는 제1 바운딩박스와 제2 영상의 제1 대상 객체에 대응되는 제2 바운딩박스로부터 획득된 제1 임시 바운딩박스에 제2 임시 바운딩박스에 할당된 제2 점수에 비하여 상대적으로 높은 점수를 부여할 수 있다. In the step of allocating a matching score to the temporary bounding box based on the similarity between the first characteristic information and the second characteristic information ( S5326 ), the server 1000 , the first projection volume (or target object) obtained from the first image A matching score may be given to the three-dimensional temporary bounding box based on the similarity between the first characteristic information of , and the second characteristic information of the second projection volume (or target object) obtained from the second image. For example, the server 1000 may configure the first characteristic information (eg, color information) corresponding to the first bounding box of the first image related to the first temporary bounding box and the second bounding of the second image related to the first temporary bounding box. A first score may be given to the first temporary bounding box based on the similarity between the second characteristic information (eg, color information) corresponding to the box. For another example, the server 1000 may store the first characteristic information (eg, color information) corresponding to the first bounding box of the first image related to the second temporary bounding box and the second image related to the second temporary bounding box. A second score may be given to the second temporary bounding box based on the similarity between the second characteristic information (eg, color information) corresponding to the second bounding box. In this case, the server 1000 may store the second temporary in the first temporary bounding box obtained from the first bounding box corresponding to the first target object of the first image and the second bounding box corresponding to the first target object of the second image. A relatively high score may be given compared to the second score assigned to the bounding box.

한편, 제2 임시 바운딩박스는 제1 영상의 제1 대상 객체에 대응되는 제1 바운딩박스와 제2 영상의 제2 대상 객체에 대응되는 제2 바운딩박스로부터 생성되었기 때문에, 특성 정보 간의 유사도가 제1 임시 바운딩박스의 경우보다 낮을 수 있다. 일 예로, 서버(1000)는 제2 임시 바운딩박스에 제1 임시 바운딩박스에 할당된 제1 점수보다 상대적으로 낮은 점수를 부여할 수 있다. 다른 예로, 서버(1000)는 제1 특성 정보와 제2 특성 정보 간의 유사도가 미리 결정된 기준보다 낮은 경우에는 미리 결정된 점수를 일률적으로 할당하여 해당 임시 바운딩박스를 대상 바운딩박스로 결정하지 않도록 구현될 수 있다. On the other hand, since the second temporary bounding box is generated from the first bounding box corresponding to the first target object of the first image and the second bounding box corresponding to the second target object of the second image, the similarity between the characteristic information is the second. 1 It may be lower than in the case of a temporary bounding box. For example, the server 1000 may give the second temporary bounding box a relatively lower score than the first score assigned to the first temporary bounding box. As another example, when the similarity between the first characteristic information and the second characteristic information is lower than a predetermined criterion, the server 1000 uniformly allocates a predetermined score so as not to determine the corresponding temporary bounding box as the target bounding box. have.

본 출원의 일 실시예에 따른 서버(1000)는, 임시 바운딩박스에 매칭 점수를 할당하는데, 제1 특성 정보와 제2 특성 정보 간의 코사인 유사성(cosine similarity)을 활용할 수 있다. 코사인 유사성은 임의의 벡터 간의 유사성을 측정하는 방법 중 하나로, 코사인 유사성이 높을수록 임의의 벡터들이 서로 동일할 확률이 높음을 의미한다. 본 출원의 일 실시예에 따른 서버(1000)는, 제1 특성 정보와 제2 특성 정보 간의 코사인 유사성을 측정하고, 코사인 유사성에 기반하여 임시 바운딩박스에 매칭 점수를 부여할 수 있다. 다만, 이는 예시에 불과하며, 서버(1000)는 임의의 적절한 기법을 활용하여 제1 특성 정보와 제2 특성 정보 간의 유사도를 평가하고, 평가된 유사도에 기반하여 임시 바운딩박스에 매칭 점수를 부여하도록 구성될 수 있을 것이다. The server 1000 according to an embodiment of the present application may utilize a cosine similarity between the first characteristic information and the second characteristic information to allocate a matching score to the temporary bounding box. The cosine similarity is one of the methods of measuring the similarity between arbitrary vectors, and the higher the cosine similarity, the higher the probability that the arbitrary vectors are identical to each other. The server 1000 according to an embodiment of the present application may measure the cosine similarity between the first characteristic information and the second characteristic information, and give a matching score to the temporary bounding box based on the cosine similarity. However, this is only an example, and the server 1000 evaluates the similarity between the first characteristic information and the second characteristic information using any suitable technique, and assigns a matching score to the temporary bounding box based on the evaluated similarity. could be configured.

매칭 점수에 기초하여 임시 바운딩박스들 중에서 대상 바운딩박스를 결정하는 단계(S5328)에서는, 서버(1000)는, 각 임시 바운딩박스의 매칭 점수에 기초하여 임시 바운딩박스들 중에서 대상 바운딩박스를 선택하거나 결정할 수 있다. 구체적으로 서버(1000)는, 임시 바운딩박스들의 매칭 점수를 비교하여 높은 점수를 할당 받은 임시 바운딩박스를 대상 바운딩박스로 결정할 수 있다. 이때, 또한, 서버(1000)는 Hungarian algorithm을 통해 임시 바운딩박스들 중에서 최적의 매칭 점수를 가지는 임시 바운딩박스를 대상 바운딩박스로 결정할 수 있다.In step S5328 of determining the target bounding box from among the temporary bounding boxes based on the matching score, the server 1000 selects or determines the target bounding box from among the temporary bounding boxes based on the matching score of each temporary bounding box. can Specifically, the server 1000 may compare the matching scores of the temporary bounding boxes and determine the temporary bounding box assigned a high score as the target bounding box. At this time, also, the server 1000 may determine a temporary bounding box having an optimal matching score among the temporary bounding boxes as the target bounding box through the Hungarian algorithm.

구체적으로 서버(1000)는 제1 임시 바운딩박스에 부여된 제1 점수와 제2 임시 바운딩박스에 부여된 제2 점수를 비교하여 제1 임시 바운딩박스와 제2 임시 바운딩박스 중에서 적어도 하나를 제1 대상 객체와 관련된 대상 바운딩박스로 결정할 수 있다. 예컨대, 도 13의 제1 임시 바운딩박스(즉, 제1 영상의 제1 대상 객체로부터 획득된 제1 바운딩박스 및 제2 영상의 제1 대상 객체로부터 획득된 제2 바운딩박스로부터 생성된 3차원의 임시 바운딩박스)는 도 13의 제2 임시 바운딩박스(즉, 제1 영상의 제1 대상 객체로부터 획득된 제1 바운딩박스 및 제2 영상의 제2 대상 객체로부터 획득된 제2 바운딩박스로부터 생성된 3차원의 바운딩박스)보다 높은 매칭 점수를 부여 받을 가능성이 높다. 이때, 서버(1000)는 제1 임시 바운딩박스에 부여된 제1 점수와 제2 임시 바운딩박스에 부여된 제2 점수를 비교하여 제1 임시 바운딩박스를 제1 대상 객체와 관련된 대상 바운딩박스로 결정할 수 있다.Specifically, the server 1000 compares the first score given to the first temporary bounding box with the second score given to the second temporary bounding box, and selects at least one of the first temporary bounding box and the second temporary bounding box as the first It can be determined by the target bounding box associated with the target object. For example, the first temporary bounding box of FIG. 13 (that is, the first bounding box obtained from the first target object of the first image and the second bounding box obtained from the first target object of the second image The temporary bounding box) is a second temporary bounding box of FIG. 13 (that is, a first bounding box obtained from a first target object of the first image and a second bounding box obtained from a second target object of the second image. It is highly likely to receive a higher matching score than a three-dimensional bounding box). At this time, the server 1000 compares the first score given to the first temporary bounding box with the second score given to the second temporary bounding box to determine the first temporary bounding box as the target bounding box related to the first target object. can

이상에서는 제1 대상 객체와 관련된 대상 바운딩박스를 결정하는 내용을 중심으로 서술하였다. 다만 이는 설명의 편의를 위한 것이며, 제2 대상 객체와 관련된 대상 바운딩박스를 결정하는 내용에도 유추적용될 수 있다. In the above, the content of determining the target bounding box related to the first target object has been mainly described. However, this is for convenience of description, and may be analogously applied to the content of determining the target bounding box related to the second target object.

이하에서는 도 14를 참고하여 따른 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 다른 실시예를 구체적으로 서술한다. 도 14는 본 출원의 다른 실시예에 따른 대상 객체와 관련된 대상 바운딩박스를 획득하는 단계를 구체화한 순서도이다. Hereinafter, another embodiment of obtaining a three-dimensional target bounding box related to a target object according to FIG. 14 will be described in detail. 14 is a flowchart detailing the step of obtaining a target bounding box related to a target object according to another embodiment of the present application.

본 출원의 다른 실시예에 따른 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5000)는 제1 객체 정보에 포함된 대상 객체와 관련된 제1 셀 정보를 투영하여 제1 투영 직선을 획득하는 단계(S5400), 제2 객체 정보에 포함된 대상 객체와 관련된 제2 셀 정보를 투영하여 제2 투영 직선을 획득하는 단계(S5500), 및 제1 투영 직선 및 제2 투영 직선에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5600)을 포함할 수 있다. The step of obtaining a three-dimensional target bounding box related to a target object according to another embodiment of the present application (S5000) is to obtain a first projection straight line by projecting the first cell information related to the target object included in the first object information step (S5400) of obtaining a second projection straight line by projecting second cell information related to the target object included in the second object information (S5500), and the target based on the first projection straight line and the second projection straight line It may include obtaining a three-dimensional target bounding box related to the object (S5600).

제1 객체 정보에 포함된 대상 객체와 관련된 제1 셀 정보를 투영하여 제1 투영 직선을 획득하는 단계(S5400)에서는, 서버(1000)는 제1 객체 정보에 포함된 대상 객체의 랜드마크(예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발)에 대응되는 제1 셀 정보를 3차원 공간좌표에 투영하여 제1 투영 직선을 획득할 수 있다.In the step of acquiring a first projection straight line by projecting the first cell information related to the target object included in the first object information ( S5400 ), the server 1000 determines the landmark (eg, the landmark of the target object included in the first object information). , eyes, nose, ears, shoulders, elbows, hands, pelvis, knees, and feet) may be projected onto the 3D spatial coordinates to obtain a first projected straight line.

제2 객체 정보에 포함된 대상 객체와 관련된 제2 셀 정보를 투영하여 제2 투영 직선을 획득하는 단계(S5500)에서는, 서버(1000)는 제2 객체 정보에 포함된 대상 객체의 랜드마크(예, 눈, 코, 귀, 어깨, 팔꿈치, 손, 골반, 무릎, 발)에 대응되는 제2 셀 정보를 3차원 공간좌표에 투영하여 제2 투영 직선을 획득할 수 있다.In the step (S5500) of obtaining a second projection straight line by projecting the second cell information related to the target object included in the second object information, the server 1000 is configured to generate a landmark (eg, a landmark of the target object included in the second object information). , eye, nose, ear, shoulder, elbow, hand, pelvis, knee, foot) may be projected on the 3D spatial coordinates of the second cell information to obtain a second projected straight line.

제1 투영 직선 및 제2 투영 직선에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계(S5600)에서는, 서버(1000)는 제1 투영 직선과 제2 투영 직선에 기초하여 대상 객체와 관련된 3차원의 대상 바운딩박스를 연산할 수 있다. 일 예로, 서버(1000)는 제1 투영 직선과 제2 투영 직선 간의 교차점이 존재하는 경우에는 제1 투영 직선과 제2 투영 직선 간의 교차점을 획득할 수 있다. 다른 예로, 서버(1000)는 제1 투영 직선과 제2 투영 직선 간의 교차점이 존재하지 않는 경우에는, 제1 투영 직선과 제2 투영 직선으로부터 가장 가까운 3차원 공간좌표 상의 좌표를 획득할 수 있다. 또한, 서버(1000)는 대상 객체와 관련된 복수의 랜드마크 각각에 대응되는 제1 투영 직선과 제2 투영 직선을 획득하고, 제1 투영 직선과 제2 투영 직선 간의 교차점(또는 제1 투영 직선과 제2 투영 직선에 대하여 가장 가까운 3차원 공간좌표 상의 좌표)를 획득할 수 있다. In the step of obtaining a three-dimensional target bounding box related to the target object based on the first projection straight line and the second projection straight line (S5600), the server 1000 is the target object based on the first projection straight line and the second projection straight line A three-dimensional target bounding box related to can be calculated. For example, when there is an intersection point between the first projection straight line and the second projection straight line, the server 1000 may obtain an intersection point between the first projection straight line and the second projection straight line. As another example, when there is no intersection point between the first projection straight line and the second projection straight line, the server 1000 may obtain the coordinates on the 3D space coordinates closest to the first projection straight line and the second projection straight line. In addition, the server 1000 obtains a first projection straight line and a second projection straight line corresponding to each of a plurality of landmarks related to the target object, and an intersection point between the first projection straight line and the second projection straight line (or the first projection straight line and the coordinates on the nearest three-dimensional space coordinates with respect to the second projection straight line) may be obtained.

이때, 서버(1000)는 대상 객체의 각 랜드마크에 대응되는 교차점(또는 제1 투영 직선과 제2 투영 직선에 대하여 가장 가까운 3차원 공간좌표 상의 좌표)들을 포함하는 3차원 상의 대상 바운딩박스를 획득할 수 있다. 이때, 대상 바운딩박스는 교차점들을 포함하는 임의의 형태(예, 직육면체)로 구현될 수 있다. At this time, the server 1000 obtains a three-dimensional target bounding box including intersection points (or coordinates on the three-dimensional space coordinates closest to the first projection straight line and the second projection straight line) corresponding to each landmark of the target object. can do. In this case, the target bounding box may be implemented in an arbitrary shape (eg, a rectangular parallelepiped) including intersection points.

한편, 전술한 바와 같이, 제1 영상(또는 제2 영상)으로부터 획득한 랜드마크의 교차점들이 어떤 조합으로 매칭되는지 불분명한 경우가 발생할 수 있다. 구체적으로, 대상 객체에 대하여 복수의 3차원의 바운딩박스(예, 제1 임시 바운딩박스, 제2 임시 바운딩박스 등)가 획득되는 경우가 존재할 수 있다. 이때, 본 출원의 일 실시예에 따른 서버(1000)는 각 랜드마크에 대응되는 투영 직선 사이의 거리에 기반하여 복수의 바운딩박스(예, 제1 임시 바운딩박스, 제2 임시 바운딩박스 중에서 3차원의 대상 바운딩박스를 결정하도록 구현될 수 있다.Meanwhile, as described above, it may be unclear in what combination the intersection points of landmarks obtained from the first image (or the second image) match. Specifically, there may exist a case in which a plurality of three-dimensional bounding boxes (eg, a first temporary bounding box, a second temporary bounding box, etc.) are obtained with respect to the target object. At this time, the server 1000 according to an embodiment of the present application is based on the distance between the projection straight lines corresponding to each landmark, a plurality of bounding boxes (eg, a first temporary bounding box, a 3D of the second temporary bounding box) It can be implemented to determine the target bounding box of .

구체적으로 서버(1000)는 대상 객체의 각 랜드마크에 대응되는 제1 투영 직선과 제2 투영 직선 간의 거리를 연산하고, 제1 투영 직선과 제2 투영 직선 간의 거리에 기반하여 복수의 바운딩박스(예, 제1 임시 바운딩박스, 제2 임시 바운딩박스) 각각에 매칭 점수를 부여할 수 있다. 일 예로, 서버(1000)는 제1 임시 바운딩박스와 관련된 적어도 하나의 랜드마크에 대응되는 제1 투영 직선과 제2 투영 직선 간의 거리들의 평균값 및/또는 중간값 등을 포함한 거리 정보를 연산하고, 거리 정보에 기초하여 제1 임시 바운딩박스에 제1 점수를 부여할 수 있다. 다른 예로, 서버(1000)는 제2 임시 바운딩박스와 관련된 적어도 하나의 랜드마크에 대응되는 제1 투영 직선과 제2 투영 직선 간의 거리들의 평균값 및/또는 중간값 등을 포함한 거리 정보를 연산하고, 거리 정보에 기초하여 제2 임시 바운딩박스에 제2 점수를 부여할 수 있다. 예컨대, 서버(1000)는 제1 투영 직선과 제2 투영 직선 간의 거리들의 평균값 및/또는 중간값 등을 포함한 거리 정보가 작은 값을 포함할수록, 바운딩박스에 더 작은 값을 부여할 수 있다. 특히 서버(1000)는 제1 투영 직선과 제2 투영 직선이 교차하는 경우에는 대응되는 바운딩박스의 교차점에 대하여 0점을 부여할 수 있다. Specifically, the server 1000 calculates the distance between the first projection straight line and the second projection straight line corresponding to each landmark of the target object, and based on the distance between the first projection straight line and the second projection straight line, a plurality of bounding boxes ( For example, a matching score may be given to each of the first temporary bounding box and the second temporary bounding box). As an example, the server 1000 calculates distance information including an average value and/or a median value of distances between a first projection straight line and a second projection straight line corresponding to at least one landmark related to the first temporary bounding box, A first score may be given to the first temporary bounding box based on the distance information. As another example, the server 1000 calculates distance information including the average value and/or median value of the distances between the first projection straight line and the second projection straight line corresponding to at least one landmark related to the second temporary bounding box, A second score may be given to the second temporary bounding box based on the distance information. For example, the server 1000 may assign a smaller value to the bounding box as the distance information including the average value and/or the median value of the distances between the first projection straight line and the second projection straight line includes a smaller value. In particular, when the first projection straight line and the second projection straight line intersect, the server 1000 may give 0 points to the intersection point of the corresponding bounding box.

이때, 서버(1000)는 제1 점수와 제2 점수를 비교하여 제1 임시 바운딩박스와 제2 임시 바운딩박스 중에서 적어도 하나를 대상 바운딩박스로 결정할 수 있다. 예컨대, 제1 점수와 제2 점수를 비교하여 더 낮은 점수를 가지는 임시 바운딩박스를 대상 바운딩박스로 결정할 수 있다. 또한, 서버(1000)는 Hungarian algorithm을 통해 제1 임시바운딩박스와 제2 임시 바운딩박스 중에서 최적의 매칭 점수를 가지는 바운딩박스를 대상 바운딩박스로 결정할 수 있다.In this case, the server 1000 may determine at least one of the first temporary bounding box and the second temporary bounding box as the target bounding box by comparing the first score with the second score. For example, by comparing the first score and the second score, a temporary bounding box having a lower score may be determined as the target bounding box. Also, the server 1000 may determine a bounding box having an optimal matching score among the first temporary bounding box and the second temporary bounding box as the target bounding box through the Hungarian algorithm.

다만, 상술한 내용은 예시에 불과하며, 서버(1000)는 거리 정보가 작은 값을 포함할수록, 임시 바운딩박스에 더 높은 값을 부여하고, 더 높은 점수를 가지는 임시 바운딩박스를 대상 바운딩박스로 결정하도록 구현될 수 있을 것이다. However, the above is only an example, and as the distance information includes a small value, the server 1000 gives a higher value to the temporary bounding box, and determines the temporary bounding box having a higher score as the target bounding box. may be implemented to do so.

다시 도 3을 참고하면, 본 출원의 일 실시예에 따른 학습 세트를 생성하는 방법은 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계(S6000)를 포함할 수 있다. 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계(S6000)에서는, 서버(1000)는 대상 바운딩박스와 관련된 센싱 데이터(예컨대, 레이더 데이터 또는 라이더 데이터)를 획득할 수 있다. 여기서, 센싱 데이터는 센서(200)로부터 획득된 이미지 형태의 데이터를 포함할 수 있다. 또한, 서버(1000)는, 전술한 바와 같이, 센싱 데이터와 카메라를 통하여 획득된 영상 데이터 간의 싱크(sync)를 맞추는 동작을 수행할 수 있기 때문에, 서버(1000)는 프레임별로 대상 바운딩박스에 대응되는 센싱 데이터를 획득할 수 있다. Referring back to FIG. 3 , the method of generating a learning set according to an embodiment of the present application may include acquiring sensing data corresponding to a target bounding box ( S6000 ). In the step of acquiring the sensing data corresponding to the target bounding box ( S6000 ), the server 1000 may acquire sensing data (eg, radar data or lidar data) related to the target bounding box. Here, the sensing data may include data in the form of an image obtained from the sensor 200 . In addition, as described above, the server 1000 may perform an operation of matching the sync between the sensed data and the image data acquired through the camera, so that the server 1000 corresponds to the target bounding box for each frame. sensing data can be acquired.

다시 도 3을 참고하면, 본 출원의 일 실시예에 따른 학습 세트를 생성하는 방법은 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계(S7000)를 포함할 수 있다. 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계(S7000)에서는, 서버(1000)는 적어도 하나의 카메라를 통하여 획득한 대상 객체와 관련된 대상 바운딩박스와 센싱 데이터에 기초하여 신경망 모델을 학습시키기 위한 학습 세트를 생성할 수 있다. 예컨대, 서버(1000)는 센싱 데이터(예컨대, 레이더 데이터 또는 라이더 데이터)에 기초하여 대상 객체와 관련된 대상 바운딩박스를 출력하는 신경망 모델을 학습시키기 위한 학습 세트를 생성할 수 있다. Referring back to FIG. 3 , the method of generating a training set according to an embodiment of the present application may include generating a training set for training a neural network model ( S7000 ). In the step (S7000) of generating a training set for learning the neural network model, the server 1000 learns to train the neural network model based on the sensing data and the target bounding box related to the target object acquired through at least one camera. You can create sets. For example, the server 1000 may generate a training set for training a neural network model that outputs a target bounding box related to a target object based on sensing data (eg, radar data or lidar data).

한편 도 3에서는 도시하지 않았으나, 본 출원의 일 실시예에 따른 학습 세트를 생성하는 방법은 제1 카메라(110)로부터 획득한 제1 영상, 제2 카메라(120)로부터 획득한 제2 영상, 및/또는 센서(200)로부터 획득한 센싱 데이터 간의 싱크(sync)를 맞추는 단계를 더 포함할 수 있다. Meanwhile, although not shown in FIG. 3 , the method for generating a learning set according to an embodiment of the present application includes a first image obtained from the first camera 110 , a second image obtained from the second camera 120 , and The method may further include the step of matching a sync between the sensed data obtained from the sensor 200 and/or the sensor 200 .

일 예로, 서버(1000)는 제1 카메라(110) 또는 제2 카메라(120)로부터 웹으로 브로드캐스트(broadcast)한 영상을 읽음으로써, 제1 카메라(110)로부터 획득한 제1 영상과 제2 카메라(120)로부터 획득한 제2 영상 간의 싱크를 맞추도록 구현될 수 있다. 예컨대, 서버(1000)는 OBS studio 27을 활용하여 제1 영상과 제2 영상을 획득하고, 공통의 서버(1000)의 시간 기준으로 제1 영상과 제2 영상의 타임 싱크를 맞추도록 구현될 수 있다. For example, the server 1000 reads an image broadcast on the web from the first camera 110 or the second camera 120 to obtain the first image and the second image obtained from the first camera 110 . It may be implemented to synchronize the second images obtained from the camera 120 . For example, the server 1000 may be implemented to acquire the first image and the second image by using OBS studio 27, and to synchronize the time of the first image and the second image based on the time of the common server 1000. have.

다른 예로, 서버(1000)는 전술한 바와 같이, 센서(200)를 통하여 프레임 정보(예, 프레임 수 정보, 프레임 시간 정보 등), 메타 정보 등을 포함한 임의의 데이터를 획득할 수 있다. 이때, 서버(1000)는 프레임 정보 및/또는 메타 정보에 기초하여 영상 데이터와 센싱 데이터 간의 타임 싱크를 맞추도록 구현될 수 있다. As another example, as described above, the server 1000 may acquire arbitrary data including frame information (eg, frame number information, frame time information, etc.) and meta information through the sensor 200 . In this case, the server 1000 may be implemented to synchronize time between image data and sensing data based on frame information and/or meta information.

다만, 상술한 내용은 예시에 불과하며, 서버(1000)는 임의의 적절한 방법을 활용하여, 적어도 하나의 카메라로부터 획득한 영상 데이터와 센서로부터 획득한 센싱 데이터 간의 싱크를 맞추는 동작을 수행하도록 구현될 수 있다. However, the above is only an example, and the server 1000 may be implemented to perform an operation of synchronizing image data obtained from at least one camera and sensing data obtained from a sensor by using any suitable method. can

본 출원의 일 실시예에 따라 획득된 학습 세트는 센싱 데이터(예, 레이더 데이터 또는 라이더 데이터)에 기반하여 센싱 데이터에 포함된 대상 객체를 검출하고 검출된 대상 객체에 대응되는 3차원의 대상 바운딩박스를 출력하는 신경망 모델을 학습시키는 데 이용될 수 있다. 구체적으로 학습 세트는 전술한 학습 세트 생성 방법을 통하여 획득된 영상 데이터에 기반한 대상 객체에 대응되는 3차원의 대상 바운딩박스와 센싱 데이터를 포함할 수 있다. 이때 신경망 모델은 센싱 데이터를 입력 받고, 대상 객체에 대응되는 3차원의 대상 바운딩박스를 출력값으로 출력하도록 신경망 모델에 포함된 적어도 하나의 노드의 파라미터가 갱신될 수 있다. A learning set obtained according to an embodiment of the present application detects a target object included in the sensing data based on the sensing data (eg, radar data or lidar data), and a three-dimensional target bounding box corresponding to the detected target object It can be used to train a neural network model that outputs Specifically, the training set may include a three-dimensional target bounding box corresponding to a target object based on image data obtained through the above-described training set generating method and sensing data. In this case, the neural network model may receive sensing data, and parameters of at least one node included in the neural network model may be updated to output a three-dimensional target bounding box corresponding to the target object as an output value.

학습이 완료된 신경망 모델은 센싱 데이터(예컨대, 레이더 데이터 또는 라이다 데이터)를 수신하고, 센싱 데이터에 포함된 대상 객체와 관련된 대상 바운딩박스를 출력하도록 구성될 수 있다.The trained neural network model may be configured to receive sensing data (eg, radar data or lidar data) and output a target bounding box related to a target object included in the sensing data.

본 출원의 일 실시예에 따른 학습이 완료된 신경망 모델은 차량에 탑재된 센서(예컨대, 라이더 센서 또는 레이더 센서)로부터 획득된 센싱 데이터에 기초하여, 차량 외부의 대상 객체를 인식하거나 차량 내부의 대상 객체를 인식하는 분야에 적용될 수 있다. 또한, 본 출원의 일 실시예에 따른 학습이 완료된 신경망 모델은 가정 또는 요양원 등에서의 객체의 낙상 감지(fall detection)에 이용될 수 있다. 구체적으로 벽이나 천장 등 일정 위치에 센서를 설치하고, 학습이 완료된 신경망 모델을 이용하여 대상 객체(예, 사람)를 인식하고, 대상 객체의 높이의 변화율을 연산하여 대상 객체의 낙상을 감지할 수 있다. 다만, 이는 예시에 불과하며, 임의의 유형의 센싱 데이터에 기초하여 대상 객체를 검출하는 임의의 적절한 분야에 활용될 수 있을 것이다. The trained neural network model according to an embodiment of the present application recognizes a target object outside the vehicle or a target object inside the vehicle based on sensing data obtained from a sensor (eg, a lidar sensor or a radar sensor) mounted on the vehicle. It can be applied to fields that recognize In addition, the neural network model that has been trained according to an embodiment of the present application may be used for fall detection of an object in a home or a nursing home. Specifically, by installing a sensor at a certain location such as a wall or ceiling, recognizing a target object (eg, a person) using a trained neural network model, and calculating the rate of change in the height of the target object, it is possible to detect a fall of the target object. have. However, this is only an example, and may be utilized in any suitable field of detecting a target object based on any type of sensing data.

본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)은 센싱 데이터 기반한 객체 인식 신경망 모델을 학습시키기 위한 학습 세트를 카메라 기반의 영상 데이터로부터 검출한 객체 정보와 연계하여 자동적으로 라벨링하여 생성함으로써, 라벨링 작업에 소요되는 시간 및 비용을 상당히 절약하고 용이하게 학습 세트를 획득할 수 있다는 유리한 효과를 제공할 수 있다. The training set generation system 10 according to an embodiment of the present application generates a training set for learning an object recognition neural network model based on sensing data by automatically labeling it in association with object information detected from camera-based image data, The time and cost required for the labeling operation can be significantly saved, and it can provide an advantageous effect that the training set can be easily acquired.

또한, 본 출원의 일 실시예에 따른 학습 세트 생성 시스템(10)은 카메라 기반의 영상 데이터로부터 대상 객체와 관련된 대상 바운딩박스를 연산함에 있어, 특성 정보 간의 유사도 또는 대상 객체의 랜드마크를 이용하여 대상 바운딩박스를 정교하게 생성함으로써 보다 퀄리티가 높은 학습 세트를 획득할 수 있다.In addition, the learning set generating system 10 according to an embodiment of the present application calculates a target bounding box related to a target object from camera-based image data, using similarity between characteristic information or a landmark of the target object. By elaborately creating the bounding box, a higher quality training set can be obtained.

상술한 서버(1000)의 다양한 동작들은 서버(1000)의 메모리(1200)에 저장될 수 있으며, 서버(1000)의 컨트롤러(1300)는 메모리(1200)에 저장된 동작들을 수행하도록 제공될 수 있다. The above-described various operations of the server 1000 may be stored in the memory 1200 of the server 1000 , and the controller 1300 of the server 1000 may be provided to perform the operations stored in the memory 1200 .

이상에서 실시 형태들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시 형태에 포함되며, 반드시 하나의 실시 형태에만 한정되는 것은 아니다. 나아가, 각 실시 형태에서 예시된 특징, 구조, 효과 등은 실시 형태들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시 형태들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Features, structures, effects, etc. described in the above embodiments are included in at least one embodiment of the present invention, and are not necessarily limited to only one embodiment. Furthermore, the features, structures, effects, etc. illustrated in each embodiment can be combined or modified for other embodiments by those of ordinary skill in the art to which the embodiments belong. Accordingly, the contents related to such combinations and modifications should be interpreted as being included in the scope of the present invention.

또한, 이상에서 실시 형태를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 형태의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 즉, 실시 형태에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.In addition, although the embodiment has been mainly described in the above, this is only an example and does not limit the present invention, and those of ordinary skill in the art to which the present invention pertains to the above in a range that does not deviate from the essential characteristics of the present embodiment. It will be appreciated that various modifications and applications not illustrated are possible. That is, each component specifically shown in the embodiment can be implemented by modification. And the differences related to these modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.

10: 학습 세트 생성 시스템
110: 제1 카메라
120: 제2 카메라
200: 센서
1000: 서버
10: Training Set Generation System
110: first camera
120: second camera
200: sensor
1000: server

Claims (10)

객체를 검출하는 신경망 모델을 훈현시키기 위한 학습 세트를 생성하는 학습 세트 생성 장치가 센싱 데이터에 기초하여 객체를 검출하는 신경망 모델을 훈련시키기 위한 학습 세트를 생성하는 방법에 있어서, 상기 방법은,
적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계;
제1 카메라로부터 촬영된 제1 영상과 제2 카메라로부터 촬영된 제2 영상을 획득하는 단계;
상기 제1 영상으로부터 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하는 단계;
상기 제2 영상으로부터 상기 대상 객체를 인식하고 상기 대상 객체와 관련된 제2 객체 정보를 획득하는 단계;
상기 제1 객체 정보 및 상기 제2 객체 정보에 기초하여 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계;
상기 대상 바운딩박스에 대응되는 센싱 데이터를 획득하는 단계-상기 센싱 데이터는 라이더 센서 및 레이더 센서 중 적어도 하나를 통하여 획득됨-; 및
상기 센싱 데이터 및 상기 대상 바운딩박스에 기초하여, 상기 센싱 데이터에 포함된 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트를 생성하는 단계;를 포함하되,
상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계는,
상기 제1 객체 정보에 포함된 제1 바운딩박스를 3차원 공간좌표에 리버스 투영(Revere project)하여 제1 투영 체적을 획득하는 단계;
상기 제2 객체 정보에 포함된 제2 바운딩박스를 3차원 공간좌표에 리버스 투영(Revere project)하여 제2 투영 체적을 획득하는 단계;
상기 제1 투영 체적 및 상기 제2 투영 체적에 기초하여 상기 제1 투영 체적과 상기 제2 투영 체적 간의 교차 체적을 획득하고, 상기 교차 체적에 기초하여 적어도 2 이상의 3차원의 임시 바운딩박스들을 획득하는 단계;
상기 제1 바운딩박스와 관련된 제1 특성 정보를 획득하는 단계;
상기 제2 바운딩박스와 관련된 제2 특성 정보를 획득하는 단계;
상기 제1 특성 정보와 상기 제2 특성 정보의 유사도에 기초하여 상기 임시 바운딩박스에 매칭 점수를 할당하는 단계; 및
상기 매칭 점수에 기초하여 상기 임시 바운딩박스들 중에서 상기 대상 바운딩박스를 결정하는 단계;를 포함하되,
상기 제1 특성 정보는 상기 제1 바운딩박스와 관련된 색 정보에 관한 것이며, 상기 제2 특성 정보는 상기 제2 바운딩박스와 관련된 색 정보에 관한 것인,
학습 세트 생성 방법.
A method for generating a training set for training a neural network model for detecting an object by a training set generating apparatus for generating a training set for executing a neural network model for detecting an object, based on sensing data, the method comprising:
performing calibration on at least two or more cameras;
obtaining a first image photographed from a first camera and a second image photographed from a second camera;
recognizing a target object from the first image and obtaining first object information related to the target object;
recognizing the target object from the second image and obtaining second object information related to the target object;
obtaining a three-dimensional target bounding box related to the target object based on the first object information and the second object information;
obtaining sensing data corresponding to the target bounding box, wherein the sensing data is obtained through at least one of a lidar sensor and a radar sensor; and
Based on the sensing data and the target bounding box, generating a training set for learning a neural network model for detecting an object included in the sensing data;
The step of obtaining a three-dimensional target bounding box related to the target object,
obtaining a first projected volume by reverse projecting the first bounding box included in the first object information onto 3D spatial coordinates;
obtaining a second projected volume by reverse projecting a second bounding box included in the second object information onto 3D spatial coordinates;
obtaining an intersection volume between the first projection volume and the second projection volume based on the first projection volume and the second projection volume, and obtaining at least two or more three-dimensional temporary bounding boxes based on the intersection volume step;
obtaining first characteristic information related to the first bounding box;
obtaining second characteristic information related to the second bounding box;
allocating a matching score to the temporary bounding box based on a degree of similarity between the first characteristic information and the second characteristic information; and
Determining the target bounding box from among the temporary bounding boxes based on the matching score;
The first characteristic information relates to color information related to the first bounding box, and the second characteristic information relates to color information related to the second bounding box,
How to create a training set.
삭제delete 제1 항에 있어서,
상기 대상 객체와 관련된 상기 대상 바운딩박스를 획득하는 단계는,
상기 제1 투영 체적을 구성하는 적어도 하나의 제1 평면을 획득하는 단계;
상기 제2 투영 체적을 구성하는 적어도 하나의 제2 평면을 획득하는 단계; 및
상기 제1 평면 및 상기 제2 평면의 공통 평면을 획득하고, 상기 공통 평면에 기초하여 상기 대상 바운딩박스를 획득하는 단계;를 포함하는,
학습 세트 생성 방법.
The method of claim 1,
The step of obtaining the target bounding box related to the target object,
obtaining at least one first plane constituting the first projection volume;
obtaining at least one second plane constituting the second projection volume; and
Including; acquiring a common plane of the first plane and the second plane, and acquiring the target bounding box based on the common plane;
How to create a training set.
삭제delete 제1 항에 있어서,
상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하는 단계는,
상기 제1 객체 정보에 포함된 상기 대상 객체와 관련된 제1 셀 정보를 3차원 공간좌표에 투영하여 제1 투영 직선을 획득하는 단계;
상기 제2 객체 정보에 포함된 상기 대상 객체와 관련된 제2 셀 정보를 3차원 공간좌표에 투영하여 제2 투영 직선을 획득하는 단계; 및
상기 제1 투영 직선 및 상기 제2 투영 직선에 기초하여 상기 대상 객체와 관련된 3차원 대상 바운딩박스를 획득하는 단계;를 포함하는,
학습 세트 생성 방법.
The method of claim 1,
The step of obtaining a three-dimensional target bounding box related to the target object,
obtaining a first projection straight line by projecting first cell information related to the target object included in the first object information onto 3D spatial coordinates;
obtaining a second projection straight line by projecting second cell information related to the target object included in the second object information onto 3D spatial coordinates; and
Including; obtaining a three-dimensional target bounding box related to the target object based on the first projection straight line and the second projection straight line
How to create a training set.
제5 항에 있어서,
상기 제1 투영 직선 및 상기 제2 투영 직선에 기초하여 상기 대상 객체와 관련된 3차원 대상 바운딩박스를 획득하는 단계는,
상기 제1 투영 직선 및 상기 제2 투영 직선에 기초하여 제1 임시 바운딩박스 및 제2 임시 바운딩박스를 포함하는 적어도 2 이상의 3차원의 임시 바운딩박스들을 획득하는 단계;
상기 제1 투영 직선 및 상기 제2 투영 직선 간의 거리를 연산하는 단계;
상기 연산된 거리에 기초하여 상기 제1 임시 바운딩박스에 제1 점수 및 상기 제2 임시 바운딩박스에 제2 점수를 할당하는 단계; 및
상기 제1 점수 및 상기 제2 점수를 비교하여 상기 제1 임시 바운딩박스 및 상기 제2 임시 바운딩박스 중에서 적어도 하나를 대상 바운딩박스로 결정하는 단계;를 포함하는,
학습 세트 생성 방법.
6. The method of claim 5,
The step of obtaining a three-dimensional target bounding box related to the target object on the basis of the first projection straight line and the second projection straight line,
obtaining at least two or more three-dimensional temporary bounding boxes including a first temporary bounding box and a second temporary bounding box based on the first projection straight line and the second projection straight line;
calculating a distance between the first projection straight line and the second projection straight line;
allocating a first score to the first temporary bounding box and a second score to the second temporary bounding box based on the calculated distance; and
Comparing the first score and the second score, determining at least one of the first temporary bounding box and the second temporary bounding box as a target bounding box;
How to create a training set.
제1 항에 있어서,
상기 적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계는,
적어도 2 이상의 카메라의 내부 파라미터의 캘리브레이션을 수행하는 단계를 포함하되,
상기 적어도 2 이상의 카메라의 내부 파라미터의 캘리브레이션을 수행하는 단계는,
상기 카메라를 통하여 제1 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계;
상기 이미지에 기초하여 상기 제1 캘리브레이션 기준 객체와 관련된 제1 픽셀 세트를 획득하는 단계;
상기 카메라의 좌표계 정보를 획득하는 단계; 및
상기 좌표계 정보 및 상기 제1 픽셀 세트에 기초하여 상기 카메라의 내부 파라미터(intrinsic parameter)를 보정하는 단계;를 포함하는,
학습 세트 생성 방법.
The method of claim 1,
The step of performing calibration for the at least two or more cameras,
Comprising the step of performing calibration of the internal parameters of at least two or more cameras,
The step of performing calibration of the internal parameters of the at least two or more cameras,
acquiring an image of a first calibration reference object through the camera;
obtaining a first set of pixels associated with the first calibration reference object based on the image;
obtaining coordinate system information of the camera; and
correcting an intrinsic parameter of the camera based on the coordinate system information and the first set of pixels;
How to create a training set.
제7 항에 있어서,
상기 적어도 2 이상의 카메라에 대하여 캘리브레이션을 수행하는 단계는,
적어도 2 이상의 카메라의 외부 파라미터의 캘리브레이션을 수행하는 단계를 포함하되,
상기 적어도 2 이상의 카메라의 외부 파라미터의 캘리브레이션을 수행하는 단계는,
제2 캘리브레이션 기준 객체에 대한 기준 좌표 정보를 획득하는 단계-상기 기준 좌표 정보는 라이더 센서 및 레이더 센서 중 적어도 하나의 센서 기반 좌표계와 관련됨-;
상기 카메라를 통하여 상기 제2 캘리브레이션 기준 객체에 대한 이미지를 획득하는 단계;
상기 이미지에 기초하여 상기 제2 캘리브레이션 기준 객체와 관련된 제2 픽셀 세트를 획득하는 단계;
상기 기준 좌표 정보 및 상기 제2 픽셀 세트에 기초하여 좌표 쌍(pair)을 획득하는 단계; 및
상기 좌표 쌍에 기초하여 상기 카메라의 외부 파라미터에 대한 보정을 수행하는 단계;를 포함하는,
학습 세트 생성 방법.
8. The method of claim 7,
The step of performing calibration for the at least two or more cameras,
Comprising the step of performing calibration of the external parameters of at least two or more cameras,
The step of performing calibration of the external parameters of the at least two or more cameras,
obtaining reference coordinate information for a second calibration reference object, wherein the reference coordinate information is related to a sensor-based coordinate system of at least one of a lidar sensor and a radar sensor;
acquiring an image of the second calibration reference object through the camera;
obtaining a second set of pixels associated with the second calibration reference object based on the image;
obtaining a coordinate pair based on the reference coordinate information and the second set of pixels; and
Comprising; performing correction on the external parameter of the camera based on the coordinate pair;
How to create a training set.
컴퓨터에 제1 항, 제3 항, 제5 항 내지 제8 항 중 어느 하나의 항에 따른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
A computer-readable recording medium in which a program for executing the method according to any one of claims 1 to 8 in a computer is recorded.
센싱 데이터에 기초하여 객체를 검출하는 신경망 모델을 훈련시키기 위한 학습 세트를 생성하는 학습 세트 생성 장치에 있어서,
제1 카메라, 제2 카메라 및 센서 중 적어도 하나와 통신하는 송수신부; 및
상기 제1 카메라 및 상기 제2 카메라를 통하여 영상 데이터를 획득하고, 상기 센서를 통하여 센싱 데이터를 획득하고, 상기 영상 데이터 및 상기 센싱 데이터에 기반하여 학습 세트를 생성하는 컨트롤러;를 포함하되,
상기 컨트롤러는,
상기 제1 카메라로부터 촬영된 제1 영상과 상기 제2 카메라로부터 촬영된 제2 영상을 획득하고, 상기 제1 영상으로부터 대상 객체를 인식하고 상기 대상 객체와 관련된 제1 객체 정보를 획득하고, 상기 제2 영상으로부터 상기 대상 객체를 인식하고 상기 대상 객체와 관련된 제2 객체 정보를 획득하고, 상기 제1 객체 정보 및 상기 제2 객체 정보에 기초하여 상기 대상 객체와 관련된 3차원의 대상 바운딩박스를 획득하고, 상기 대상 바운딩박스에 대응되는 센서 데이터-상기 센서 데이터는 라이더 센서 및 레이더 센서 중 적어도 하나를 통하여 획득됨-;를 획득하고, 상기 센서 데이터 및 상기 대상 바운딩박스에 기초하여, 상기 센싱 데이터에 포함된 객체를 검출하는 신경망 모델을 학습시키기 위한 학습 세트를 생성하도록 구성되되,
상기 컨트롤러는,
상기 제1 객체 정보에 포함된 제1 바운딩박스를 3차원 공간좌표에 리버스 투영(Revere project)하여 제1 투영 체적을 획득하고, 상기 제2 객체 정보에 포함된 제2 바운딩박스를 3차원 공간좌표에 리버스 투영(Revere project)하여 제2 투영 체적을 획득하고, 상기 제1 투영 체적 및 상기 제2 투영 체적에 기초하여 상기 제1 투영 체적과 상기 제2 투영 체적 간의 교차 체적을 획득하고, 상기 교차 체적에 기초하여 적어도 2 이상의 3차원의 임시 바운딩박스들을 획득하고, 상기 제1 바운딩박스와 관련된 제1 특성 정보를 획득하고, 상기 제2 바운딩박스와 관련된 제2 특성 정보를 획득하고, 상기 제1 특성 정보와 상기 제2 특성 정보의 유사도에 기초하여 상기 임시 바운딩박스에 매칭 점수를 할당하고, 상기 매칭 점수에 기초하여 상기 임시 바운딩박스들 중에서 상기 대상 바운딩박스를 결정하도록 구성되되,
상기 제1 특성 정보는 상기 제1 바운딩박스와 관련된 색 정보에 관한 것이며, 상기 제2 특성 정보는 상기 제2 바운딩박스와 관련된 색 정보에 관한 것인,
학습 세트 생성 장치.
An apparatus for generating a training set for generating a training set for training a neural network model for detecting an object based on sensing data, the apparatus comprising:
a transceiver for communicating with at least one of a first camera, a second camera, and a sensor; and
A controller configured to obtain image data through the first camera and the second camera, obtain sensing data through the sensor, and generate a learning set based on the image data and the sensing data;
The controller is
Obtaining a first image photographed from the first camera and a second image photographed from the second camera, recognizing a target object from the first image, acquiring first object information related to the target object, and 2 Recognize the target object from the image, obtain second object information related to the target object, and obtain a three-dimensional target bounding box related to the target object based on the first object information and the second object information, and , sensor data corresponding to the target bounding box - the sensor data is acquired through at least one of a lidar sensor and a radar sensor - is acquired, based on the sensor data and the target bounding box, included in the sensing data configured to generate a training set for training a neural network model to detect an object,
The controller is
A first projection volume is obtained by reverse projecting the first bounding box included in the first object information on 3D spatial coordinates, and the second bounding box included in the second object information is converted into 3D spatial coordinates. to reverse project to obtain a second projection volume, and to obtain an intersection volume between the first projection volume and the second projection volume based on the first projection volume and the second projection volume; At least two or more three-dimensional temporary bounding boxes are obtained based on the volume, first characteristic information related to the first bounding box is obtained, second characteristic information related to the second bounding box is obtained, and the first Allocating a matching score to the temporary bounding box based on the similarity between the characteristic information and the second characteristic information, and determining the target bounding box from among the temporary bounding boxes based on the matching score,
The first characteristic information relates to color information related to the first bounding box, and the second characteristic information relates to color information related to the second bounding box,
Learning set generator.
KR1020210134610A 2021-10-12 2021-10-12 Method for, device for, and system for generating an learning set KR102433287B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210134610A KR102433287B1 (en) 2021-10-12 2021-10-12 Method for, device for, and system for generating an learning set
KR1020220100621A KR102639637B1 (en) 2021-10-12 2022-08-11 Method for, device for, and system for generating an learning set
PCT/KR2022/015177 WO2023063661A1 (en) 2021-10-12 2022-10-07 Training set generation method, training set generation apparatus, and training set generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210134610A KR102433287B1 (en) 2021-10-12 2021-10-12 Method for, device for, and system for generating an learning set

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220100621A Division KR102639637B1 (en) 2021-10-12 2022-08-11 Method for, device for, and system for generating an learning set

Publications (1)

Publication Number Publication Date
KR102433287B1 true KR102433287B1 (en) 2022-08-18

Family

ID=83112252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210134610A KR102433287B1 (en) 2021-10-12 2021-10-12 Method for, device for, and system for generating an learning set

Country Status (1)

Country Link
KR (1) KR102433287B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023063661A1 (en) * 2021-10-12 2023-04-20 주식회사 에너자이 Training set generation method, training set generation apparatus, and training set generation system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120148145A1 (en) * 2010-12-08 2012-06-14 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US20200082180A1 (en) * 2018-09-12 2020-03-12 TuSimple System and method for three-dimensional (3d) object detection
KR20200071960A (en) * 2018-12-12 2020-06-22 충북대학교 산학협력단 Method and Apparatus for Vehicle Detection Using Lidar Sensor and Camera Convergence
US20210312655A1 (en) * 2020-04-03 2021-10-07 Fanuc Corporation 3d pose estimation by a 2d camera
KR102310612B1 (en) * 2021-06-17 2021-10-13 주식회사 인피닉 Method for predicting object of 2D image using object information of point group of a lidar, and computer program recorded on record-medium for executing method therefor
KR102310606B1 (en) * 2021-07-08 2021-10-14 주식회사 인피닉 Method for correcting difference of multiple sensors, and computer program recorded on record-medium for executing method therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120148145A1 (en) * 2010-12-08 2012-06-14 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US20200082180A1 (en) * 2018-09-12 2020-03-12 TuSimple System and method for three-dimensional (3d) object detection
KR20200071960A (en) * 2018-12-12 2020-06-22 충북대학교 산학협력단 Method and Apparatus for Vehicle Detection Using Lidar Sensor and Camera Convergence
US20210312655A1 (en) * 2020-04-03 2021-10-07 Fanuc Corporation 3d pose estimation by a 2d camera
KR102310612B1 (en) * 2021-06-17 2021-10-13 주식회사 인피닉 Method for predicting object of 2D image using object information of point group of a lidar, and computer program recorded on record-medium for executing method therefor
KR102310606B1 (en) * 2021-07-08 2021-10-14 주식회사 인피닉 Method for correcting difference of multiple sensors, and computer program recorded on record-medium for executing method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Li, Peiliang, Xiaozhi Chen, and Shaojie Shen. Stereo R-CNN based 3D Object Detection for Autonomous Driving. arXiv preprint arXiv:1902.09738. 2019.2.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023063661A1 (en) * 2021-10-12 2023-04-20 주식회사 에너자이 Training set generation method, training set generation apparatus, and training set generation system

Similar Documents

Publication Publication Date Title
JP6702453B2 (en) Positioning method, positioning device, and readable storage medium
CN110568447B (en) Visual positioning method, device and computer readable medium
US20220254105A1 (en) Systems and Methods for 3D Facial Modeling
JP6295645B2 (en) Object detection method and object detection apparatus
US9020251B2 (en) Image processing apparatus and method
Tamas et al. Targetless calibration of a lidar-perspective camera pair
CN105335955A (en) Object detection method and object detection apparatus
JP5672112B2 (en) Stereo image calibration method, stereo image calibration apparatus, and computer program for stereo image calibration
Castillo et al. Wide-baseline stereo for face recognition with large pose variation
JP6172432B2 (en) Subject identification device, subject identification method, and subject identification program
Phuc Truong et al. Registration of RGB and thermal point clouds generated by structure from motion
KR102386444B1 (en) Image depth determining method and living body identification method, circuit, device, and medium
WO2018216341A1 (en) Information processing device, information processing method, and program
US11232315B2 (en) Image depth determining method and living body identification method, circuit, device, and medium
WO2021114777A1 (en) Target detection method, terminal device, and medium
JP2016170610A (en) Three-dimensional model processing device and camera calibration system
CN114766042A (en) Target detection method, device, terminal equipment and medium
KR102433287B1 (en) Method for, device for, and system for generating an learning set
KR102639637B1 (en) Method for, device for, and system for generating an learning set
CN112802114B (en) Multi-vision sensor fusion device, method thereof and electronic equipment
US20230306636A1 (en) Object three-dimensional localizations in images or videos
JP7298687B2 (en) Object recognition device and object recognition method
JP6374812B2 (en) 3D model processing apparatus and camera calibration system
CN112598736A (en) Map construction based visual positioning method and device
KR102648104B1 (en) Method, apparatus and computer program for measuring gap and flush

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant