KR102445556B1 - Method of generating virtual data and device of generating thereof - Google Patents

Method of generating virtual data and device of generating thereof Download PDF

Info

Publication number
KR102445556B1
KR102445556B1 KR1020210177988A KR20210177988A KR102445556B1 KR 102445556 B1 KR102445556 B1 KR 102445556B1 KR 1020210177988 A KR1020210177988 A KR 1020210177988A KR 20210177988 A KR20210177988 A KR 20210177988A KR 102445556 B1 KR102445556 B1 KR 102445556B1
Authority
KR
South Korea
Prior art keywords
virtual data
processor
image
information
generating
Prior art date
Application number
KR1020210177988A
Other languages
Korean (ko)
Inventor
박용운
김용현
Original Assignee
주식회사 에이투마인드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에이투마인드 filed Critical 주식회사 에이투마인드
Application granted granted Critical
Publication of KR102445556B1 publication Critical patent/KR102445556B1/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
    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

The present invention relates to a method and device for generating virtual data. A generator that generates the virtual data according to one embodiment of the present invention comprises: a processor that, after virtually generating a space by reflecting a generation condition of the virtual data and disposing an object in the space, performs a time movement based on the object, generates a virtual image, converts the virtual image into the virtual data, stores in a storage part, and generates a generation condition as the meta information of the virtual data; and a storage part that stores the virtual data and the meta information of the virtual data. Therefore, the present invention is capable of increasing a generation efficiency of the virtual data.

Description

가상 데이터를 생성하는 방법 및 장치{METHOD OF GENERATING VIRTUAL DATA AND DEVICE OF GENERATING THEREOF}METHOD OF GENERATING VIRTUAL DATA AND DEVICE OF GENERATING THEREOF

본 발명은 가상 데이터를 생성하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for generating virtual data.

지상의 물체나 사람을 탐지하거나 추적하기 위해서 최근 드론과 같은 비행체들을 이용하는 경우가 증가하고 있다. 그리고 사람이나 물체를 탐지 또는 추적하는 과정에서 인공지능이 사용될 수 있다. Recently, the use of flying vehicles such as drones to detect or track objects or people on the ground is increasing. And artificial intelligence can be used in the process of detecting or tracking people or objects.

그런데, 사람이나 물체의 탐지 정확도를 높이기 위해서 인공지능 학습이 필요한데, 학습과정에서 많은 양의 학습데이터를 필요로 한다. However, in order to increase the detection accuracy of a person or an object, artificial intelligence learning is required, and a large amount of learning data is required in the learning process.

이러한 학습데이터는 실제로 카메라 등으로 촬영한 것을 사용할 수 있으나 그 양에 있어서 한계가 있으며 이로 인해 인공지능을 학습시키는 과정에서 한계가 있다. 따라서, 인공지능의 학습을 위한 학습데이터의 충분한 확보가 인공지능 성능을 향상시키는 핵심 기술로 요구된다. Such learning data can be actually taken with a camera, etc., but there is a limit in the amount, and this has a limit in the process of learning artificial intelligence. Therefore, securing sufficient learning data for AI learning is required as a core technology to improve AI performance.

본 발명은 가상 데이터의 생성 조건을 다변화시켜 학습 성능을 높이는 가상 데이터를 생성하고자 한다. The present invention intends to generate virtual data to increase learning performance by diversifying the conditions for generating virtual data.

본 발명은 다양한 객체를 다양한 기상 상황에서 다양한 공간에 배치한 가상 데이터를 생성하고자 한다. The present invention intends to generate virtual data in which various objects are arranged in various spaces in various weather conditions.

본 발명은 가상 데이터의 생성 조건을 설정하면 생성 조건이 적용된 공간을 자동으로 생성하여 가상 데이터의 생성 효율을 높이고자 한다. An object of the present invention is to increase virtual data generation efficiency by automatically creating a space to which the generation condition is applied when the virtual data generation conditions are set.

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

본 발명의 일 실시예에 의한 가상 데이터를 생성하는 생성기는 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하여 가상의 이미지를 가상 데이터로 변환하여 저장부에 저장하며 생성 조건을 상기 가상 데이터의 메타 정보로 생성하는 프로세서; 및 가상 데이터 및 가상 데이터의 메타 정보를 저장하는 저장부를 포함한다. A generator for generating virtual data according to an embodiment of the present invention creates a virtual space by reflecting the virtual data generation conditions, places an object in the space, and then moves a viewpoint based on the object to create a virtual image a processor that generates, converts a virtual image into virtual data, stores it in a storage unit, and generates a generation condition as meta information of the virtual data; and a storage unit for storing virtual data and meta information of the virtual data.

본 발명의 일 실시예에 의한 가상 데이터를 생성하는 방법은 생성기의 프로세서가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계, 프로세서가 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계, 프로세서가 가상의 이미지를 가상 데이터로 변환하고 생성 조건을 가상 데이터의 메타 정보로 생성하는 단계, 및 프로세서가 가상 데이터 및 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 포함한다.A method of generating virtual data according to an embodiment of the present invention includes the steps of, by a processor of a generator, a virtual data generation condition by reflecting a virtual data generation condition, and after the processor places an object in the space, a viewpoint based on the object generating a virtual image by moving, the processor converting the virtual image into virtual data and generating a generation condition as meta information of the virtual data, and the processor storing the virtual data and meta information of the virtual data including storing it in

본 발명을 구현할 경우, 가상 데이터의 생성 조건을 다변화시켜 학습 성능을 높이는 가상 데이터를 생성할 수 있다. When the present invention is implemented, virtual data can be generated to increase learning performance by diversifying the conditions for generating virtual data.

본 발명을 구현할 경우, 다양한 객체를 다양한 기상 상황에서 다양한 공간에 배치한 가상 데이터를 생성할 수 있다. When the present invention is implemented, virtual data in which various objects are arranged in various spaces in various weather conditions can be generated.

본 발명을 구현할 경우, 가상 데이터의 생성 조건을 설정하면 생성 조건이 적용된 공간을 자동으로 생성하여 가상 데이터의 생성 효율을 높일 수 있다. When the present invention is implemented, if the virtual data generation condition is set, a space to which the generation condition is applied is automatically generated, thereby increasing the virtual data generation efficiency.

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

도 1은 본 발명의 일 실시예에 의한 가상 데이터 생성기의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 생성기가 가상 데이터를 생성하는 과정을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 환경 설정과 공간을 세부적으로 생성하는 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 도메인 공간을 설정하는 도면이다.
도 5는 본 발명의 일 실시예에 의한 시점 이동을 적용하여 가상 데이터를 생성하는 도면이다.
도 6은 본 발명의 일 실시예에 의한 기상환경 변화를 구현한 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 의한 객체의 변화를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 가상 데이터를 저장하는 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 이미지 프로세싱을 보여주는 도면이다.
1 is a diagram showing the configuration of a virtual data generator according to an embodiment of the present invention.
2 is a diagram illustrating a process in which a generator generates virtual data according to an embodiment of the present invention.
3 is a view showing a configuration for creating environment settings and space in detail according to an embodiment of the present invention.
4 is a diagram for setting a domain space according to an embodiment of the present invention.
5 is a diagram for generating virtual data by applying a viewpoint movement according to an embodiment of the present invention.
6 is a view showing a change in the weather environment according to an embodiment of the present invention.
7 and 8 are diagrams illustrating changes in an object according to an embodiment of the present invention.
9 is a diagram illustrating a process of storing virtual data according to an embodiment of the present invention.
10 is a diagram illustrating image processing according to an embodiment of the present invention.

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

본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In order to clearly describe the present invention, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar elements throughout the specification. Further, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to components of each drawing, the same components may have the same reference numerals as much as possible even though they are indicated in different drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description may be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, order, or number of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but other components may be interposed between each component. It should be understood that each component may be “interposed” or “connected,” “coupled,” or “connected” through another component.

본 명세서에서는 인공지능 학습을 위한 가상 데이터 생성기의 구성과 가상 데이터를 생성하는 방법에 대해 살펴본다. 본 발명의 실시예에 의해 구현되는 가상 데이터 생성기는 인공지능을 학습시키는 과정에서 필수로 제공되는 학습 데이터(가상 데이터)를 가상 환경에서 생성한다. 가상 데이터를 다량 확보할 경우, 기존의 실제 데이터나 이를 기반으로 합성된 데이터에 비해 더 효율적으로 인공지능 학습에 적용할 수 있다. In this specification, a configuration of a virtual data generator for artificial intelligence learning and a method of generating virtual data will be described. The virtual data generator implemented by the embodiment of the present invention generates learning data (virtual data) that is essential in the process of learning artificial intelligence in a virtual environment. When a large amount of virtual data is secured, it can be applied to AI learning more efficiently than existing real data or data synthesized based on it.

인공지능(Artificial Intelligence)을 만들기 위해서는 학습이 필요하며 이에 대한 학습 데이터의 수요가 계속 증가하고 있다. 인공지능을 학습시키는데 필요한 데이터는 실제로 존재하는 객체에 대한 화상(이미지)을 획득하여 이를 수동으로 분류(레이블링)하여 이루어질 수 있다. 이는 실제 촬영된 데이터를 이용한 실시예이다. 또한, 기존과 다른 새로운 경우가 필요할 경우 실제 데이터를 합성하여 인공 데이터를 만들어 인공지능의 학습에 적용하였다. To create artificial intelligence (Artificial Intelligence), learning is required, and the demand for learning data for this is continuously increasing. The data required to learn artificial intelligence can be achieved by acquiring an image (image) of an object that actually exists and manually classifying (labeling) it. This is an embodiment using actual photographed data. In addition, when a new case different from the existing one is necessary, artificial data is created by synthesizing real data and applied to the learning of artificial intelligence.

그런데, 실제 데이터는 직접 촬영하거나 촬영된 이미지들로 구성된 데이터베이스를 구매해야 하는 단점이 있다. 또한, 실제 데이터는 주변 환경 (기상환경, 조명) 등을 직접 조절할 수 없기 때문에 다양한 데이터를 확보할 수 없다. However, the actual data has a disadvantage in that it is necessary to directly photograph or purchase a database composed of photographed images. Also, since the actual data cannot directly control the surrounding environment (weather environment, lighting), etc., various data cannot be obtained.

본 발명의 실시예를 적용할 경우, 완전히 가상으로 주어진 환경에서 실사적인 그래픽을 구현하여 가상 데이터를 생성할 수 있다. 그리고 이렇게 생성된 가상 데이터는 충분히 다양하고 많은 실제 데이터에 근접하거나 만일 일부 적은 실 데이터와 합하여 학습을 할 경우 단순히 실제 데이터만으로 학습하는 경우와 비교하여 상회하는 학습 성능을 제공한다.When an embodiment of the present invention is applied, virtual data can be generated by realizing photorealistic graphics in a completely virtual environment. In addition, the generated virtual data is sufficiently diverse and close to a lot of real data, or if learning is performed by combining some small real data, it provides a learning performance that is superior to that of learning only with real data.

본 발명의 실시예에 의한 생성기는 사용자가 직접 확장할 수 있는 구조를 갖추므로, 인공지능 학습 과정에서 요구되는 다양한 조건이나 제약사항 등의 필요에 맞추어 가상 데이터를 생성할 수 있다.Since the generator according to the embodiment of the present invention has a structure that can be directly extended by the user, it is possible to generate virtual data according to the needs of various conditions or constraints required in the AI learning process.

또한 가상 데이터를 구성하는 요소인 가상 환경은 그 특성상 기후, 조명 등의 환경을 사용자가 손쉽게 조절할 수 있으므로, 실제 데이터를 사용시 발생하는 데이터 편향(Data Bias) 및 엣지 케이스 (Edge Case)의 문제를 해결할 수 있다. In addition, since the virtual environment, which is a component of virtual data, allows users to easily control the environment such as climate and lighting due to its nature, it can solve the problems of data bias and edge cases that occur when using real data. can

데이터 편향이란 인공지능이 일반적인 상황의 데이터만 학습하는 과정에서 편향성이 발생하여 같은 물체라도 날씨나 주변 사물 등의 외부 상황이 달라지면 인식하지 못하게 되는 문제를 의미한다. 예를 들어, 자율차량이 도로 위 주행 차량을 모두 인식하지만 사고로 뒤집어진 트럭은 인지하지 못하여 추돌하는 경우이다. Data bias refers to a problem in which bias occurs in the process of AI learning only data in general situations, so that even the same object cannot be recognized when external conditions such as weather or surrounding objects change. For example, when an autonomous vehicle recognizes all vehicles traveling on the road, but does not recognize a truck that has been overturned in an accident, it collides.

엣지 케이스란 실제로 발생할 확률이 낮거나, 존재가 거의 불가능한 특수한 경우의 사례를 의미한다. 예를 들어, 눈이 오는 배경에서는 스노우보드가 인지되지만, 일반 사무실 벽에 기댄 스노우보드가 인지되지 못하는 경우를 의미한다. An edge case refers to a special case that has a low probability of actually occurring or almost impossible to exist. For example, a snowboard is recognized in a snowy background, but a snowboard leaning against a wall in a general office is not recognized.

본 발명의 실시예에 의한 가상 데이터를 생성하여 학습할 경우 가능한 모든 사례를 가상 데이터로 생성할 수 있으므로, 데이터 편향이나 엣지 케이스를 극복할 수 있다.When creating and learning virtual data according to an embodiment of the present invention, all possible cases can be generated as virtual data, so that data bias or edge cases can be overcome.

도 1은 본 발명의 일 실시예에 의한 가상 데이터 생성기의 구성을 보여주는 도면이다. 가상 데이터 생성기(Virtual Data Generator)(100)는 사용자로부터 정보를 입력받거나, 사용자에게 정보를 제공하는 인터페이스(interface)(130)를 포함한다. 또한, 가상 데이터 생성기(100)는 가상 데이터를 생성하는 프로세서(processor)(150), 가상 데이터를 저장하고 가상 데이터를 생성하는데 필요한 생성 조건 등을 저장하는 저장부(storage)(170)를 포함한다. 1 is a diagram showing the configuration of a virtual data generator according to an embodiment of the present invention. The virtual data generator 100 includes an interface 130 that receives information from a user or provides information to the user. In addition, the virtual data generator 100 includes a processor 150 for generating virtual data, and a storage 170 for storing virtual data and generating conditions necessary to generate the virtual data. .

인터페이스(130)는 사용자가 가상 데이터를 생성하는데 필요한 생성 조건을 입력하거나 결과물을 표시한다. 생성 조건이란 특정 위치, 혹은 특정한 지형, 특정한 건물 등에 대한 조건, 해당 위치에 놓여질 혹은 검색대상인 사물이나 사람에 대한 정보, 날씨나 온도 등 기후 조건, 오전/밤/낮 등의 시간 조건, 특수한 상황에 대한 조건 등을 포함한다. The interface 130 allows a user to input a generation condition necessary for generating virtual data or display a result. Creation conditions are conditions for a specific location, specific terrain, specific building, etc., information on objects or people to be placed in the location or to be searched for, climatic conditions such as weather or temperature, time conditions such as morning/night/day, and special circumstances. conditions, etc.

프로세서(processor)(150)는 인터페이스(130)로부터 제공되는 조건을 적용하여 가상 데이터를 생성한다. 프로세서(processor)(150)는 가상 데이터를 생성하는 과정에서 이전에 유사한 조건에 따라 생성한 가상 데이터를 이용할 수 있다. The processor 150 generates virtual data by applying a condition provided from the interface 130 . The processor 150 may use virtual data previously generated under similar conditions in the process of generating the virtual data.

저장부(170)는 프로세서(150)가 생성한 가상 데이터를 저장한다. 저장부(170)는 가상의 이미지 데이터 및 메타 정보를 저장하는 데이터베이스(DB, database)를 일 실시예로 한다. 또는 저장부(170)는 파일 시스템을 포함하는 저장매체, 저장 장치 등을 일 실시예로 한다.The storage unit 170 stores virtual data generated by the processor 150 . The storage unit 170 is a database (DB, database) for storing virtual image data and meta information as an embodiment. Alternatively, the storage unit 170 may be a storage medium or a storage device including a file system as an embodiment.

프로세서(150)는 저장부(170)에 저장된 가상 데이터를 이용하여 새로운 가상 데이터를 생성할 수 있다. 저장부(170)는 임시적으로 또는 영구적으로 이미지나 객체 정보, 기타 설정 정보 등을 저장할 수 있다. 또한 생성기(100)는 외부와 통신하는 통신부를 더 포함할 수 있다. 객체는 사람이나 사물 등 탐지의 대상을 지칭한다. 드론이나 차량 등이 객체 탐지(Object Detection)을 수행할 경우 탐지의 대상을 객체라 지칭한다. The processor 150 may generate new virtual data by using the virtual data stored in the storage unit 170 . The storage unit 170 may temporarily or permanently store image or object information, other setting information, and the like. In addition, the generator 100 may further include a communication unit that communicates with the outside. An object refers to an object to be detected, such as a person or an object. When a drone or vehicle performs object detection, the target of detection is referred to as an object.

저장부(170)는 데이터베이스가 구성된 영역과 별도의 저장 매체 영역으로 구분될 수 있다. 또는 저장부(170)는 데이터베이스와 일체의 저장 매체로 구성될 수 있다. The storage unit 170 may be divided into an area in which a database is configured and a separate storage medium area. Alternatively, the storage unit 170 may be configured as a storage medium integrated with the database.

정리하면, 프로세서(150)는 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 공간에 객체를 배치한다. 그리고 프로세서(150)는 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하고 가상의 이미지를 가상 데이터로 변환하여 저장부(170)에 저장한다. 이 과정에서 생성 조건을 가상 데이터의 메타 정보로 생성할 수 있다. In summary, the processor 150 virtually creates a space by reflecting the virtual data generation condition and arranges an object in the space. In addition, the processor 150 generates a virtual image by moving the viewpoint based on the object, converts the virtual image into virtual data, and stores the converted virtual image in the storage unit 170 . In this process, the creation condition can be created as meta information of virtual data.

저장부(170)는 가상 데이터 및 가상 데이터의 메타 정보를 저장한다. The storage unit 170 stores virtual data and meta information of the virtual data.

본 발명의 실시예에 의한 생성기(100)는 강우 및 강설의 양을 자동으로 설정하여 발생하는 가상 데이터를 생성할 수 있다. 또한, 안개, 연막이나 구름 및 연무 등의 영향에 의한 가시조건을 자동으로 생성하여 객체의 가상 데이터를 생성할 수 있다. 또한, 생성기(100)는 조명 및 빛의 각도나 그림자 등을 다양하게 발생시켜 다양한 조건과 각도에서 객체를 촬영한 것과 같은 가상객체의 영상을 가상 데이터로 생성할 수 있다. The generator 100 according to an embodiment of the present invention may generate virtual data generated by automatically setting the amount of rainfall and snowfall. In addition, virtual data of an object can be generated by automatically creating visibility conditions under the influence of fog, smoke screen, clouds, and haze. In addition, the generator 100 may generate an image of a virtual object, such as a photograph of the object under various conditions and angles, as virtual data by variously generating illumination, light angles, shadows, and the like.

본 발명의 실시예에 의한 생성기(100)는 객체의 배경이나 환경이 계절적인 변화에 대해서도 색감이나 특징을 변화하여 이런 배경으로 다양한 객체의 학습영상을 자동으로 생성할 수 있다. The generator 100 according to an embodiment of the present invention can automatically generate learning images of various objects with the background or environment of the object by changing the color or characteristic even when the background or environment changes seasonally.

본 발명의 실시예에 의한 생성기(100)는 객체의 거리와 뷰잉(Viewing) 각도를 자동으로 변화하여 다양한 객체의 학습데이터를 생성할 수 있다. 또한, 본 발명의 실시예에 의한 생성기(100)는 객체의 배경에 대한 바이어스(Bias)를 제거하기 위하여 다양한 배경에 배치된 객체의 가상 데이터를 생성할 수 있다. The generator 100 according to an embodiment of the present invention may generate learning data of various objects by automatically changing the distance and viewing angle of the object. In addition, the generator 100 according to an embodiment of the present invention may generate virtual data of objects arranged in various backgrounds in order to remove a bias with respect to the background of the object.

그리고, 본 발명의 실시예에 의한 생성기(100)는 다양한 변화를 수동적인 메뉴 혹은 파일구조를 기반으로 자동으로 설정하고 이를 적용한 가상 데이터를 배치(Batch) 형태로 자동처리하여 가상 데이터를 용이하게 생성할 수 있도록 한다. In addition, the generator 100 according to an embodiment of the present invention automatically sets various changes based on a manual menu or file structure, and automatically processes virtual data to which it is applied in a batch form to easily generate virtual data. make it possible

본 발명의 실시예에 의한 생성기(100)는 외부의 다양한 전천후 환경에서 객체를 탐지하는 다음의 분야에 필요한 가상 데이터를 생성한다. 즉, 생성기(100)는 드론에 탑재된 영상센서를 이용한 객체 탐지를 위한 가상 데이터를 생성한다. 또한, 생성기(100)는 자율차 및 무인차량에 탑재된 영상센서를 이용한 객체 탐지를 위한 가상 데이터를 생성한다. The generator 100 according to an embodiment of the present invention generates virtual data necessary for the following fields of detecting objects in various external all-weather environments. That is, the generator 100 generates virtual data for object detection using an image sensor mounted on the drone. In addition, the generator 100 generates virtual data for object detection using an image sensor mounted on an autonomous vehicle or an unmanned vehicle.

또한, 생성기(100)는 자동으로 감시 및 정찰하는 모든 디바이스, 예를 들어 실외용 지능형 감시카메라에서 객체탐지를 위한 가상 데이터를 생성한다. In addition, the generator 100 generates virtual data for object detection in all devices automatically monitoring and reconnaissance, for example, an intelligent outdoor surveillance camera.

본 발명의 실시예에 의한 생성기(100)는 로봇에 탑재된 영상센서를 기반으로 물체를 탐지하여 자율주행 혹은 자동검사 등을 수행하기 위한 가상 데이터를 생성한다.The generator 100 according to an embodiment of the present invention detects an object based on an image sensor mounted on the robot and generates virtual data for autonomous driving or automatic inspection.

뿐만 아니라, 생성기(100)는 다양한 객체를 중심으로 가상 데이터를 생성할 수 있으므로, 실외환경에서 필요한 모든 물체를 인식하는데 적용가능하며 실외환경에서 변화하는 모든 것을 포함하는 학습 데이터를 가상 데이터로 생성할 수 있다.In addition, since the generator 100 can generate virtual data centering on various objects, it is applicable to recognizing all objects required in the outdoor environment and can generate learning data including everything that changes in the outdoor environment as virtual data. can

특히, 생성기(100)는 다양한 배경의 범위에 전천후 자연환경, 대기환경, 조명변화, 빛의 변화 및 계절적인 변화를 모두 포함시킬 수 있으므로 다양한 가상 데이터를 생성할 수 있다.In particular, since the generator 100 can include all weather natural environments, atmospheric environments, lighting changes, light changes, and seasonal changes in a range of various backgrounds, it is possible to generate various virtual data.

생성기(100)는 수동으로 변화하는 것과 파일형태에서 매개변수를 자동으로 변화하게 하여 배치로 다양한 조건들을 생성하여 가상 데이터를 풍부하게 생성할 수 있다. The generator 100 can generate various conditions in batches by changing manually and automatically changing parameters in the form of a file, thereby creating rich virtual data.

도 1에서 인터페이스(130)는 사용자가 직접 생성 조건을 입력하거나 혹은 자동으로 생성 조건이 입력될 수 있도록 한다. In FIG. 1 , the interface 130 allows a user to directly input a generation condition or automatically input a generation condition.

일 실시예로, 인터페이스(130)는 수동 입력 기능과 자동 배치(batch) 기능을 사용자가 선택할 수 있도록 한다. 또한 인터페이스(130)는 사용자가 기존의 배치 작업을 편집할 수 있도록 다양한 GUI(Graphic User Interface) 환경을 제공할 수 있다. In one embodiment, the interface 130 allows a user to select a manual input function and an automatic batch function. Also, the interface 130 may provide various graphic user interface (GUI) environments so that a user can edit an existing batch job.

또한, 인터페이스(130)는 사용자의 편의를 위한 툴팁 기능이나 사용자가 선호하는 언어로 설명을 제공할 수 있다. Also, the interface 130 may provide a tooltip function for the user's convenience or a description in the user's preferred language.

특정 공간에 대한 생성 조건을 사용자가 입력할 경우, 해당 공간을 구현한 맵에서 사용자는 객체를 배치할 구역을 직접 지정할 수 있다. 사용자가 구역을 지정하는 방식의 일 실시예로, 사각형, 다각형 또는 비정형의 선 등으로 구역의 경계선을 지정할 수 있다. When a user inputs a creation condition for a specific space, the user can directly designate an area to place an object on the map that implements the space. As an embodiment of a method for a user to designate a region, a boundary line of the region may be designated by a rectangle, polygon, or irregular line.

또는 해당 공간에서 사용자가 다수의 구역을 지정하면 프로세서(150)는 각각의 구역에 객체가 배치된 화상 이미지를 가상 데이터로 생성할 수 있다. Alternatively, when a user designates a plurality of zones in a corresponding space, the processor 150 may generate an image image in which an object is disposed in each zone as virtual data.

도 2는 본 발명의 일 실시예에 의한 생성기가 가상 데이터를 생성하는 과정을 보여주는 도면이다. 생성기(100)는 가상 데이터의 환경을 설정한다(S11). 환경설정은 가상 데이터를 생성하는 환경, 즉 가상 데이터의 취득환경설정(Acquisition Environment Setting)을 의미한다. 가상 데이터의 기록에 사용될 환경에 대한 매개변수를 자동 또는 수동으로 입력하는 단계이다. 2 is a diagram illustrating a process in which a generator generates virtual data according to an embodiment of the present invention. The generator 100 sets the environment of the virtual data (S11). The environment setting refers to an environment in which virtual data is created, that is, an acquisition environment setting for virtual data. This is the step of automatically or manually entering parameters for the environment to be used for recording virtual data.

S11 단계는 가상 데이터 생성에 사용될 환경에 대한 매개변수를 입력하는 단계로, 수동, 자동, 또는 반자동 등으로 입력이 가능하다.Step S11 is a step of inputting parameters for the environment to be used for virtual data creation, and can be entered manually, automatically, or semi-automatically.

수동은 환경 매개변수를 생성기를 사용하는 사용자가 모두 입력하는 경우에 해당하며, 수동으로 입력한 매개변수는 별도로 저장하여 추후 반자동 입력으로 활용 가능하다.Manual mode corresponds to a case where the user who uses the generator inputs all environmental parameters, and the manually entered parameters can be saved separately and used as semi-automatic input later.

환경 설정에서 수동 대신 일부 매개변수를 자동으로 입력할 수 있다. 사용자가 최소/최대 범위를 입력하거나 이러한 범위에 따라 계산되어 자동화가 가능하다. Some parameters can be entered automatically instead of manually in the preferences. The user enters the minimum/maximum range or calculates according to these ranges, allowing automation.

환경 설정에서 매개변수 여러 개를 한번에 입력하여 순차실행 시키는 반자동 방식도 적용 가능하다. 이는 컨트롤러(150) 또는 저장부(170)가 수동으로 입력해둔 매개변수들을 저장하였다가 추후 가상 데이터를 생성할 때 해당 매개변수를 로딩하여 재활용하는 실시예이다. 자동화가 가능한 매개변수에 대해서는 후술할 변화 공간에 관한 생성 조건을 수동, 자동 또는 반자동으로 설정하는 것을 일 실시예로 한다. A semi-automatic method of entering several parameters at once in the environment setting and executing them sequentially is also applicable. This is an embodiment in which the parameters manually input by the controller 150 or the storage unit 170 are stored, and then the parameters are loaded and recycled when generating virtual data later. With respect to the parameters that can be automated, as an embodiment, manually, automatically, or semi-automatically set a generation condition for a change space, which will be described later.

다음으로, 생성기(100)는 객체를 선택한다(S12). 사용자가 인터페이스(130)를 이용하여 객체를 선택하거나 미리 정해진 정보를 로딩하는 방식으로 이루어질 수 있다. 가상 데이터에 기록하고 기록에 사용될 객체를 선택(Acquisition Object Selection)한다. Next, the generator 100 selects an object (S12). This may be accomplished in a manner in which the user selects an object using the interface 130 or loads predetermined information. Write to virtual data and select an object to be used for recording (Acquisition Object Selection).

객체선택 단계(S12)에서 생성기(100)는 기록에 사용될 객체를 자동으로 설정된 분류나 메타정보를 기입할 수 있다. 또는 사용자가 인터페이스(130)를 이용하여 객체에 대한 분류나 메타정보를 입력할 수 있다. 이는 사용자의 설정에 따라 객체를 선택하는 단계이며, 생성기(100) 내부에 탑재된 기본 객체 이외에 외부에서 객체를 자동으로 불러와 사용할 수 있다. In the object selection step ( S12 ), the generator 100 may write classification or meta information that automatically sets an object to be used for recording. Alternatively, the user may input classification or meta information about the object using the interface 130 . This is a step of selecting an object according to a user's setting, and an object other than the basic object mounted inside the generator 100 may be automatically called and used from the outside.

사용자는 인터페이스(130)를 이용하여 객체를 선택하는 과정에서 기록에 사용할 객체 또는 분류를 선택할 수 있다. 이는 생성기(100)의 프로세서(150)가 객체들의 종류나 분류, 또는 미리 저장된 객체 정보를 출력하고 사용자가 이 중에서 하나 이상을 선택하는 실시예를 포함한다.A user may select an object or a classification to be used for recording in the process of selecting an object using the interface 130 . This includes an embodiment in which the processor 150 of the generator 100 outputs types or classifications of objects, or pre-stored object information, and the user selects one or more of them.

또한, 사용자의 입력이 따로 없을 경우 로딩한 모든 객체가 기록 대상으로 선택될 수 있다.In addition, when there is no separate input from the user, all loaded objects may be selected as recording targets.

생성기(100)는 자동 분류를 가능하게 한다. 생성기(100) 내부의 저장부에 객체를 탑재(Load)할 때, 프로세서(150)는 폴더 구조를 대분류/중분류/소분류 등으로 나누거나 객체 명칭으로 분류할 수 있다. 이 과정에서 프로세서(150)는 정보를 기록시 해당 구조에 맞도록 특정한 데이터셋(예를 들어 MS-COCO 데이터셋)에 분류 데이터가 입력되도록 할 수 있다.Generator 100 enables automatic classification. When loading an object into the storage unit inside the generator 100 , the processor 150 may divide the folder structure into major/middle/small categories or classify by object name. In this process, the processor 150 may allow classification data to be input to a specific data set (eg, MS-COCO data set) to fit the structure when information is recorded.

다음으로 생성기(100)는 공간선택을 수행한다(S13). 생성기(100)는 사용자가 인터페이스(130)로 입력한 정보를 이용하거나 자동으로 객체를 생성할 도메인 공간 내의 좌표를 선택한다. 프로세서(150)는 임의로 사각형 또는 다각형 영역으로 공간을 선택할 수 있다. 일 실시예로, 프로세서(150)는 공간 선택을 수행함에 있어서 일정한 데이터(혹은 미리 저장된 정보)를 이용하여 자동으로 공간을 선택할 수 있다. 또한, 프로세서(150)는 필수로 입력된 기본적인 사각형 영역 (최소, 최대 좌표) 에서 임의로 공간을 선택(지역임의선택(사각형))할 수 있다. 그리고 프로세서(150)는 사용자가 입력한 다각형 영역 데이터가 하나 이상 있을 경우 이 영역 안쪽에 각각 임의로 좌표를 선택하여 공간을 선택(지역임의선택(다각형))할 수 있다. 도메인 공간선택(Domain Space Selection) 과정에서 프로세서(150)는 특정한 위치 외에도 특정한 지형 등이 입력되면 이에 따라 공간을 선택할 수 있다. Next, the generator 100 performs spatial selection (S13). The generator 100 uses information input by the user through the interface 130 or selects coordinates in a domain space to automatically create an object. The processor 150 may arbitrarily select a space as a rectangular or polygonal area. In an embodiment, the processor 150 may automatically select a space using predetermined data (or pre-stored information) in performing space selection. In addition, the processor 150 may arbitrarily select a space (area random selection (rectangle)) from the essential rectangular area (minimum and maximum coordinates). In addition, when there is one or more polygonal area data input by the user, the processor 150 may select a space (area random selection (polygon)) by randomly selecting each coordinate inside the area. In a domain space selection process, the processor 150 may select a space according to input of a specific terrain in addition to a specific location.

S11 내지 S13의 과정은 순차적으로 또는 상이한 순서로 이루어질 수 있다. 또는 S11 내지 S13의 과정은 동일한 인터페이스에서 한번에 이루어질 수 있다. 또한 S11 내지 S13의 과정에서 선택 또는 설정된 정보는 이후에 사용자의 선택 또는 이미지 생성 과정에서 변경될 수 있다. The processes of S11 to S13 may be performed sequentially or in a different order. Alternatively, the processes S11 to S13 may be performed at once in the same interface. In addition, the information selected or set in the processes of S11 to S13 may be changed later in the process of selecting the user or generating the image.

프로세서(150)는 다양한 공간 선택 방식을 지원하기 위해 도메인 공간 내에서 객체를 생성할 지점을 선택하는 세부 단계를 제공할 수 있다. 또한 공간에 대해 사용자가 명확하게 규정하지 않은 경우 프로세서(150)는 자동 임의로 공간을 선택할 수 있다. 또한, 사용자가 광범위하게 공간을 규정한 경우 프로세서(150)가 세부적으로 임의 공간을 선택할 수 있다. The processor 150 may provide a detailed step of selecting a point at which an object is to be created in the domain space in order to support various spatial selection methods. In addition, when the user does not clearly define the space, the processor 150 may automatically select the space. In addition, when the user defines the space in a wide range, the processor 150 may select an arbitrary space in detail.

공간 선택 과정에서 프로세서(150) 또는 인터페이스(130)는 1개의 사각형 영역에 대한 정보(예를 들어, 최대, 최소 좌표)를 필수로 입력받을 수 있으며, 또는 사용자가 정의할 수 있는 다각형 영역 1개 이상을 입력받을 수 있다. 다각형 영역 입력 시, 여러 영역들 중 1개를 임의 선택하여 사용하며, 입력되지 않았을 시 사각형 영역에서 임의로 좌표가 선택 된다.In the space selection process, the processor 150 or the interface 130 may receive information (for example, maximum and minimum coordinates) on one rectangular area as essential, or one polygon area that can be defined by the user. You can input more than that. When inputting a polygonal area, one of several areas is randomly selected and used, and when not inputted, coordinates are randomly selected from the rectangular area.

도메인 공간 및 임의 선택 방식에 대해서는 도 3 및 도 4에서 상세히 살펴본다.The domain space and the random selection method will be described in detail with reference to FIGS. 3 and 4 .

또한, 프로세서(150)는 해당 공간에 앞서 S12 단계에서 선택했던 객체를 배치할 수 있다. 이를 객체 생성(Object Creation)이라 지칭한다. 프로세서(150)는 객체를 생성하는 과정에서 각 객체에 대해 "객체물리변화(OPV, Object Physics Variance)"를 적용할 수 있다. Also, the processor 150 may arrange the object selected in step S12 prior to the corresponding space. This is called object creation. The processor 150 may apply "Object Physics Variance (OPV)" to each object in the process of creating the object.

S12의 객체선택 단계에서 기록 대상으로 선택된 객체들은 S13의 공간 선택이 이루어지면, 프로세서(150)는 동시에 혹은 시간차를 두고, 해당 위치에서 고도를 높인 상태로 객체를 생성한다. 프로세서(150)는 생성된 객체를 물리엔진을 이용하여 주변 사물 및 지면과 충돌하면서 자연스러운 모습으로 안착(Lay-Down)시킨다. In the object selection step of S12, when the spatial selection of the objects selected as the recording target is made, the processor 150 creates the object at the same time or with a time difference, in a state of increasing the altitude at the corresponding location. The processor 150 lays down the created object in a natural shape while collided with surrounding objects and the ground using a physics engine.

생성시 객체가 다른 객체 또는 지형과 심하게 겹칠 경우, 프로세서(150)는 생성 단계를 최대 N회까지 재귀 호출하여 객체의 재생성을 시도한다. 재생성이 실패할 경우 해당 객체는 삭제되어 기록에서 제외된다. 전술한 N은 미리 설정되거나, 선택한 공간 또는 객체에 따라 달리 설정될 수 있다.When an object heavily overlaps with another object or terrain during creation, the processor 150 recursively calls the creation step up to N times to attempt to recreate the object. If regeneration fails, the object is deleted and excluded from the record. The aforementioned N may be preset or set differently according to a selected space or object.

다음으로, 생성기(100)는 시점 이동을 수행한다(S14). 시점 이동은 공간에 배치된 객체를 다양한 시점에서 바라본 가상 데이터를 생성할 수 있도록 프로세서(150)가 생성 시점을 이동시키는 과정이다. 프로세서(150)는 수동 시점 이동(Manual View Positioning) 또는 자동 시점 이동(Automatic View Positioning) 중 어느 하나 또는 둘을 조합하여 시점이동을 수행할 수 있다. 시점 이동에 대해서는 도 5에서 상세히 살펴본다.Next, the generator 100 performs a viewpoint movement (S14). The viewpoint movement is a process in which the processor 150 moves the creation viewpoint so that virtual data viewed from various viewpoints can be generated. The processor 150 may perform viewpoint movement by combining any one or two of manual view positioning and automatic view positioning. The movement of the viewpoint will be described in detail with reference to FIG. 5 .

자동 시점 이동의 경우 프로세서(150)는 선택된 객체들마다 자동으로 시점을 이동하여 다양한 시점의 가상 데이터를 생성할 수 있다.In the case of automatic viewpoint movement, the processor 150 may automatically move viewpoints for each selected object to generate virtual data of various viewpoints.

시점 이동 과정에서 생성기(100)는 데이터를 취득한다(S15). 프로세서(150)는 특정 시점에 대응하여 가상 데이터가 될 화상 이미지를 취득한다. 일 실시예로 프로세서(150)는 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이미지 파일로 기록할 수 있다. In the process of moving the viewpoint, the generator 100 acquires data (S15). The processor 150 acquires an image image to be virtual data corresponding to a specific time point. In an embodiment, the processor 150 may immediately acquire an image image for each viewpoint at the same time as the viewpoint is moved and record it as an image file.

일 실시예로 프로세서(150)는 병렬성을 위해 멀티쓰레딩(multi-threading)을 사용할 수 있다. 즉, 프로세서(150)는 병렬적으로 데이터를 취득(Parallel Data Acquisition)하여 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이미지 파일로 기록할 수 있다. 도 9에서 상세히 살펴본다. In an embodiment, the processor 150 may use multi-threading for parallelism. That is, the processor 150 may acquire data in parallel (Parallel Data Acquisition) to immediately acquire an image image for each viewpoint at the same time as the viewpoint moves and record the image as an image file. It will be described in detail in FIG. 9 .

생성기(100)는 데이터 취득이 확정되면 이미지와 메타 정보를 저장한다(S16). 프로세서(150)는 기록을 완료하거나 도중 중단할 경우 현재까지의 결과 데이터를 확정하여 이미지에 대한 주석 (annotation) 을 파일로 기록하는 데이터 취득확정(Data Acquisition Finalization) 및 저장 과정을 수행한다. When the data acquisition is confirmed, the generator 100 stores the image and meta information (S16). When the recording is completed or stopped in the middle, the processor 150 confirms the result data up to the present, and performs a data acquisition finalization and storage process of recording an annotation on the image as a file.

S11 내지 S13은 프로세서(150)가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계를 보여준다. S11 to S13 show the steps in which the processor 150 virtually creates a space by reflecting the virtual data generation condition.

S14 내지 S15은 프로세서(150)가 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계를 보여준다.S14 to S15 show the steps of the processor 150 arranging an object in space and then performing a viewpoint movement based on the object to generate a virtual image.

S16은 프로세서(150)가 가상의 이미지를 가상 데이터로 변환하고 생성 조건을 가상 데이터의 메타 정보로 생성하는 단계와 프로세서가 가상 데이터 및 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 보여준다.S16 shows a step in which the processor 150 converts a virtual image into virtual data and generates a generation condition as meta information of the virtual data, and a step in which the processor stores the virtual data and meta information of the virtual data in the storage unit.

전술한 각 단계에 대해 보다 상세히 살펴본다.Let's look at each of the above steps in more detail.

도 3은 본 발명의 일 실시예에 의한 환경 설정과 공간을 세부적으로 생성하는 구성을 보여주는 도면이다. 도 3은 가상 데이터를 생성하는데 필요한 생성 조건의 예시를 보여준다. 3 is a view showing a configuration for creating environment settings and space in detail according to an embodiment of the present invention. 3 shows an example of a generation condition required to generate virtual data.

앞서 S11, S12, S13 단계에서 프로세서(150)는 환경을 설정하고, 객체를 선택하며 공간을 선택하여 가상 데이터가 생성될 수 있는 전처리 단계를 수행한다. 이때, 전처리 과정에서 풍부한 가상 데이터를 생성하기 위한 생성 조건을 설정하기 위해, 프로세서(150)는 3가지의 하위 정보들을 설정할 수 있다. 도 3의 하위 정보들은 예시적이며 가상 데이터의 생성 조건은 이외에도 다양하게 구성될 수 있다. Previously, in steps S11, S12, and S13, the processor 150 sets an environment, selects an object, and selects a space to perform a preprocessing step in which virtual data can be generated. In this case, in order to set a generation condition for generating rich virtual data in the pre-processing process, the processor 150 may set three pieces of sub-information. The sub-information of FIG. 3 is exemplary, and conditions for generating virtual data may be variously configured.

프로세서(150)가 설정하는 제1하위정보(21)는 도메인 공간에 대한 정보이다. 프로세서(150)는 기록할 객체를 배치할 공간과 그에 대한 변화나 설정을 가상 데이터 생성에 반영할 수 있다. The first sub-information 21 set by the processor 150 is information about the domain space. The processor 150 may reflect a space for arranging an object to be recorded and a change or setting thereof to the virtual data generation.

일 실시예로, 프로세서(150)는 도메인 공간을 광역 도메인과 지역 도메인으로 구분하여 가상 데이터 생성에 적용할 수 있다. 또한, 사용자가 공간에 대한 특정한 조건을 입력할 경우 그 조건에 해당하는 지역을 프로세서(150)가 임의로 선택(지역 임의 선택)할 수 있다. In an embodiment, the processor 150 may divide the domain space into a wide domain and a local domain, and may apply it to virtual data generation. Also, when a user inputs a specific condition for a space, the processor 150 may arbitrarily select a region corresponding to the condition (arbitrarily select a region).

광역 도메인(Global Domain)의 일 실시예는 지리 좌표, 시간대, 날짜 등 도메인 공간이 속하는 지리적 정보이며 이는 광원 계산에 영향을 준다. 광역 도메인을 설정하는 단위의 일 실시예는 다음과 같다. 지리좌표인 경우, 위도, 경도 등의 정보, WGS84(LAT, LONG), 시간대(GMT)를 설정할 수 있다. 또한 프로세서(150)는 날짜 및 시간(YYYY/MM/DD/HH/mm/ss)을 설정할 수 있다. 여기서 시간을 설정하는 방식의 일 실시예로 프로세서(150)는 하루 24시간을 일정한 크기의 스텝(step)으로 나누어 자동화 시킬 수 있다.One embodiment of the global domain is geographic information to which the domain space belongs, such as geographic coordinates, time zone, and date, which affects light source calculation. An example of a unit for configuring a wide area domain is as follows. In the case of geographic coordinates, information such as latitude and longitude, WGS84 (LAT, LONG), and time zone (GMT) can be set. In addition, the processor 150 may set the date and time (YYYY/MM/DD/HH/mm/ss). Here, as an embodiment of the method of setting the time, the processor 150 may divide 24 hours a day into steps of a predetermined size and automate it.

지역 도메인(Local Domain)은 시점 선택이 이루어지는 공간과 그 환경에 대한 정보를 일 실시예로 한다. 예를 들어, 프로세서(150)는 대한민국 전체, 서울시 xx구, 유럽 산지 등의 3D 그래픽 및 정보와 같은 방식으로 지역 도메인을 설정할 수 있다. The local domain includes information about a space and an environment in which a viewpoint is selected as an embodiment. For example, the processor 150 may set the regional domain in the same way as 3D graphics and information for the entire Republic of Korea, xx-gu, Seoul, and European mountains.

도메인 공간에 대한 생성 조건은 지리적 정보 또는 행정적 정보 또는 물리적 사물 정보를 포함할 수 있다. 지리적 정보는 앞서 광역 도메인 또는 지역 도메인 중에서 물리적 좌표를 일 실시예로 한다. 행정적 정보는 앞서 광역 도메인 또는 지역 도메인 중에서 행정적인 명칭을 일 실시예로 한다. 물리적 사물 정보는 해당 공간에 배치되는 건물, 혹은 해당 공간을 묘사하는 산, 바다, 해안가 등의 정보를 일 실시예로 한다.The generation condition for the domain space may include geographic information, administrative information, or physical thing information. Geographic information is an embodiment of the physical coordinates in a wide area domain or a local domain. Administrative information refers to an administrative name among the above-mentioned wide-area domains or regional domains as an embodiment. The physical object information includes, as an embodiment, information such as a building disposed in a corresponding space or a mountain, the sea, and a coastline depicting the corresponding space.

또한, 생성 조건은 시간 정보를 선택적으로 포함할 수 있다. 특정 시간대에 대한 정보가 전술한 지리적/행정적/물리적 사물 정보들과 결합할 경우 프로세서(150)는 생성조건을 이용하여 공간의 빛의 분포나 계절적 특징을 확인하고, 이를 반영하여 가상 데이터를 생성할 수 있다. 즉, 프로세서(150)는 생성 조건을 이용하여 공간의 태양 또는 달의 위치와 빛의 세기를 설정할 수 있다. In addition, the generation condition may optionally include time information. When information on a specific time period is combined with the above-described geographical/administrative/physical thing information, the processor 150 checks the distribution of light or seasonal characteristics of the space using the generation condition, and reflects this to generate virtual data. can That is, the processor 150 may set the position of the sun or the moon in space and the intensity of light by using the generation condition.

프로세서(150)는 광역 도메인을 이용하여 태양 또는 달과 같은 빛의 세기, 위치 등을 설정할 수 있다. The processor 150 may set the intensity and position of light such as the sun or the moon by using the wide domain.

지역 임의 선택(Local Random Selection)은 프로세서(150)가 도메인 내에 미리 세부 구역을 다각형으로 나누고 이 다각형 내부의 영역에서 사용자 또는 프로세서(150)가 임의/자동으로 공간을 선택하는 실시예이다. 세부 구역은 사용자가 직접 지정할 수도 있다. 다각형 영역 지정이 필요치 않거나, 적용이 어려운 경우 프로세서(150)는 지역 도메인에서 사각형 영역을 지정하여 선택하도록 조정할 수 있다. Local random selection is an embodiment in which the processor 150 divides a detailed area into polygons in advance in a domain, and a user or the processor 150 randomly/automatically selects a space in an area inside the polygon. The detailed area can also be designated by the user. When it is not necessary to designate a polygonal area or it is difficult to apply, the processor 150 may adjust to select and designate a rectangular area in the local domain.

전술한 도메인의 설정 방식 외에도 프로세서(150)는 산, 해안가, 도시, 고층 건물 옆, 주거지, 특정 도시나 지역 명칭 등이 인터페이스(130)에 입력되면, 프로세서(150)는 입력된 정보를 이용하여 도메인 영역을 설정할 수 있다. In addition to the above-described domain setting method, when a mountain, a seaside, a city, a high-rise building, a residence, a specific city or region name, etc. is input to the interface 130, the processor 150 uses the input information to You can set the domain area.

프로세서(150)가 설정하는 제2하위정보(22)는 기상환경변화에 대한 정보이다. 프로세서(150)는 조명(광원), 강우/강설 날씨환경, 안개, 구름 등의 임의 설정값을 포함하는 공간의 특성을 가상 데이터 생성에 적용할 수 있다. The second sub-information 22 set by the processor 150 is information on changes in the weather environment. The processor 150 may apply spatial characteristics including arbitrary setting values such as lighting (light source), rain/snow weather environment, fog, and clouds to the virtual data generation.

일 실시예로, 외부의 조명의 변화, 강수 상황, 구름 여부, 안개 여부 등을 프로세서(150)가 설정하거나 다변화시킬 수 있다. 조명의 변화는 해당 공간 주변의 건물들이나 가로등의 조명 상황을 포함한다. 또는 프로세서(150)가 가상으로 가로등을 설치하거나 인접 건물의 실내등/간판 조명을 온/오프 시킬 수 있다. As an embodiment, the processor 150 may set or diversify changes in external lighting, precipitation conditions, clouds, fog, and the like. Changes in lighting include lighting conditions of buildings or street lights around the space. Alternatively, the processor 150 may virtually install street lights or turn on/off indoor lights/signboard lights of adjacent buildings.

또한, 프로세서(150)는 비가 오는 상황이나 눈이 내리는 상황 등 강수 상황을 설정할 수 있다. 또한, 프로세서(150)는 구름이 배치된 상황, 또는 구름이 태양을 가리는 상황 등을 설정할 수 있으며, 안개가 발생된 정도를 설정할 수 있다.In addition, the processor 150 may set a precipitation situation, such as a raining situation or a snowing situation. In addition, the processor 150 may set a situation in which clouds are arranged, a situation in which the clouds cover the sun, and the like, and may set the degree of fog generation.

정리하면, 기상환경변화는 외부의 조명이나 태양/달과 같은 광원의 변화, 기상 상태의 변화 등을 설정하는 것을 일 실시예로 한다. 도시를 도메인으로 할 경우, 프로세서(150)는 인접한 건물의 조명이 켜진 상황과 켜지지 않은 상황을 설정할 수 있다. 강수로 인해 물이 차오르는 경우, 또는 눈이 쌓인 경우 모두 가상 데이터 생성 시 반영시킬 수 있다. In summary, the change of the weather environment includes setting external lighting, a change in a light source such as the sun/moon, and a change in a meteorological state as an embodiment. When a city is a domain, the processor 150 may set a situation in which the lighting of an adjacent building is turned on and a situation in which the lighting is not turned on. When water fills up due to precipitation or when snow accumulates, it can be reflected when generating virtual data.

일 실시예로 프로세서(150)는 눈이나 물로 인해 객체의 하단부가 물에 잠기거나 객체의 일부분이 눈에 의해 외부로부터 차단된 상황을 반영하여 가상 데이터를 생성할 수 있다. 프로세서(150)는 비 또는 눈이 내린 시간을 반영하여 가상 데이터를 생성할 수 있으며, 프로세서(150)는 시간 정보 역시 가상 데이터에 대한 메타 정보로 구성하여 저장부(170)에 저장할 수 있다. In an embodiment, the processor 150 may generate virtual data by reflecting a situation in which the lower end of the object is submerged in water due to snow or water or a part of the object is blocked from the outside by snow. The processor 150 may generate virtual data by reflecting rain or snow time, and the processor 150 may also configure time information as meta information about the virtual data and store it in the storage unit 170 .

다음으로, 프로세서(150)가 설정하는 제3하위정보(23)는 객체의 물리적 변화이다. 프로세서(150)는 기록할 객체의 방향성, 위치 및 재질 등에 대한 변화를 가상 데이터 생성에 반영할 수 있다. Next, the third sub-information 23 set by the processor 150 is a physical change of an object. The processor 150 may reflect changes in the direction, location, material, etc. of the object to be recorded in the virtual data generation.

객체는 다양한 자세로 배치될 수 있다. 일 실시예로, 주자세(Primary Attitude)는 객체 전체가 배치된 위치와 각도를 지시할 수 있다. 부자세(Auxiliary Attitude)는 객체에 부착되어있는 자식 객체(Child Object)의 위치와 각도를 지시할 수 있으며 주 자세의 영향을 받는 상대적인 좌표로 표기될 수 있다. 따라서 주자세(Primary Attitude)에 포함되는 정보는 객체(사물 또는 사람)가 주로 배치된 형상을 지시할 수 있다. 부자세(Auxillary Attitude)에 포함되는 정보는 주자세에 해당하지 않지만 객체(사물 또는 사람)가 자주 배치될 수 있는 형상을 지시할 수 있다. 객체에 따라 주자세 및 부자세가 각각 하나 이상 설정될 수 있다. 또는 객체의 종류에 따라 주자세만 설정될 수 있다. The object may be disposed in various postures. As an embodiment, the primary attitude may indicate the position and angle at which the entire object is disposed. Auxiliary Attitude may indicate the position and angle of a child object attached to the object, and may be expressed as relative coordinates affected by the main posture. Accordingly, the information included in the primary attitude may indicate the shape in which the object (thing or person) is mainly arranged. Information included in the Auxillary Attitude does not correspond to the main posture, but may indicate a shape in which an object (object or person) can be frequently placed. One or more main and sub-taxes may be set according to the object. Alternatively, only the running posture may be set according to the type of object.

객체물리변화의 하위 카테고리로는 재질 변화와 형상변화가 더 포함될 수 있다. 프로세서(150)는 외부에서 확인 가능한 객체의 재질과 형상의 종류를 설정할 수 있다. 예를 들어, 객체가 자동차인 경우 프로세서(150)는 자동차의 색상을 설정할 수 있으며, 객체가 사람인 경우 프로세서(150)는 사람이 착용한 의복의 색상을 설정할 수 있으며, 객체가 가방인 경우 프로세서(150)는 가방의 재질(가죽, 천 등)을 설정할 수 있다.Subcategories of object physical change may further include material change and shape change. The processor 150 may set the type of material and shape of an object that can be checked from the outside. For example, if the object is a car, the processor 150 may set the color of the car, if the object is a person, the processor 150 may set the color of the clothes worn by the person, and if the object is a bag, the processor ( 150) can set the material (leather, cloth, etc.) of the bag.

전술한 실시예를 적용할 경우, 생성기(100)는 미리 만들어져 있는 여러 종류의 공간 또는 사용자의 선택이나 자동으로 생성된 공간 내에서 인식하고자 하는 객체를 생성하고 이에 대해 3차원으로 시점을 확보하여 가상 데이터를 생성하여 기록한다. 생성기(100)는 가상 데이터를 생성하는데 있어 다양하게 변화를 설정할 수 있도록 전술한 바와 같이 공간, 객체, 시점, 기상 등을 세밀하게 설정할 수 있다. When the above-described embodiment is applied, the generator 100 generates an object to be recognized in several types of pre-made spaces or a space selected or automatically generated by the user, and secures a viewpoint in three dimensions for virtual Create and record data. The generator 100 may finely set a space, an object, a viewpoint, a weather, and the like, as described above, so as to set various changes in generating the virtual data.

또한, 생성기(100) 내에서 기상, 조명 등과 같은 환경에 대한 설정이 가능하며 이 설정을 다수 만들어 순차적으로 기록하므로 생성기(100)는 다양한 기상과 조명의 상황에서 가상 데이터를 생성할 수 있다. In addition, it is possible to set the environment such as weather and lighting in the generator 100, and since a plurality of these settings are made and recorded sequentially, the generator 100 can generate virtual data in various weather and lighting conditions.

또한 가상 데이터의 빠른 생성 및 처리를 위해 생성기(100)는 데이터 생성의 시작과 동시에 시점의 변경과 기록이 이루어지도록 할 수 있으며, 생성기(100)가 가상 데이터 생성 도중에 중단하더라도 해당 시점까지의 데이터가 모두 기록될 수 있도록 한다. In addition, for quick creation and processing of virtual data, the generator 100 may change and record the time point at the same time as the start of data generation, and even if the generator 100 stops during the virtual data generation, the data up to that point so that all can be recorded.

생성기(100)는 소프트웨어로 구성될 수 있으며, 생성기(100)는 고성능 데스크탑 PC나 노트북 등에 설치되어 실행될 수 있다. 또는 생성기(100)는 하드웨어 일체 소프트웨어로 구성될 수도 있다. 본 명세서에서 생성기(100)는 가상 데이터를 생성하는 소프트웨어뿐만 아니라 가상 데이터를 생성하는 소프트웨어가 설치된 장치까지도 포괄하는 개념이다.The generator 100 may be composed of software, and the generator 100 may be installed and executed on a high-performance desktop PC or notebook. Alternatively, the generator 100 may be composed of hardware-integrated software. In the present specification, the generator 100 is a concept that encompasses not only software for generating virtual data, but also a device in which software for generating virtual data is installed.

도 3과 같이 생성기(100)가 도메인 공간, 기상환경 변화, 객체물리 변화를 적용하여 가상 데이터를 생성할 경우 실외의 다양한 환경변화(대기조건, 조명조건, 계절적 변화조건, 악천후 환경조건 등)를 가상 데이터에 포함시킬 수 있다. 이러한 가상 데이터는 다양한 실외의 자연환경에 배치된 다양한 객체를 포함하여 생성되므로, 이들 가상 데이터를 이용하여 학습한 인공지능 모듈은 자동 탐지 성능을 향상시킬 수 있다. 3, when the generator 100 generates virtual data by applying domain space, weather environment change, and object physics change, various outdoor environmental changes (atmospheric conditions, lighting conditions, seasonal change conditions, bad weather environmental conditions, etc.) It can be included in virtual data. Since such virtual data is generated including various objects arranged in various outdoor natural environments, an artificial intelligence module learned using these virtual data can improve automatic detection performance.

도 4는 본 발명의 일 실시예에 의한 도메인 공간을 설정하는 도면이다. 도메인 공간을 선택하는 방식은 앞서 살펴본 바와 같이 광역 도메인과 지역 도메인의 선택으로 이루어질 수 있다. 4 is a diagram for setting a domain space according to an embodiment of the present invention. A method of selecting a domain space may be made by selecting a global domain and a local domain, as described above.

사용자가 "서울, 대한민국 LAT 37.532600 LONG 127.024612 시간대 GMT+9 2021년 7월 1일 13시 25분 11초"와 같이 광역 도메인을 설정하고, 지역 도메인을 "서울시 xx구" 등과 같이 세부 지역으로 설정할 수 있다. 물론, 광역 도메인의 세부적인 정보의 설정은 자동으로 이루어질 수 있다. 프로세서(150)는 광역 도메인을 통해 태양이나 달 등 외부 광원의 위치나 광량 등을 계산할 수 있다. Users can set a global domain like "Seoul, South Korea LAT 37.532600 LONG 127.024612 time zone GMT+9 Jul 1, 2021 13:25:11", and set the regional domain to a detailed region like "Seoul xx-gu" have. Of course, detailed information of the wide domain may be set automatically. The processor 150 may calculate the position or light amount of an external light source such as the sun or the moon through the wide domain.

또한, 지역 임의 선택의 일 실시예로 25와 같이 어느 한 지점(동그라미로 표시)을 임의로 선택하여 사각형으로 영역을 설정할 수 있다. 이 경우 프로세서(150)는 좌측 상단의 좌표(0, 0)을 기준으로 선택된 좌표를 (200, 50)으로 계산하여 사각형 영역을 가상 데이터를 촬영할 공간으로 설정할 수 있다. In addition, as an embodiment of the random selection of the region, as shown in 25, any one point (indicated by a circle) may be arbitrarily selected and the region may be set as a rectangle. In this case, the processor 150 may calculate the coordinates selected based on the coordinates (0, 0) of the upper left as (200, 50) to set the rectangular area as a space for capturing virtual data.

또한, 지역 임의 선택의 일 실시예로 26과 같이 지역을 임의로 선택하되 다수의 좌표들(동그라미로 표시)을 선택하고, 각 좌표들을 중심으로 다각형으로 영역을 설정할 수 있다. 이 경우 프로세서(150)는 좌측 상단의 좌표(0, 0)을 기준으로 3개의 좌표들을 구분지어 다각형의 3 영역(영역 1, 영역 2, 영역 3)을 분할하여 이들을 대상으로 가상 데이터를 촬영할 공간으로 설정할 수 있다. In addition, as an embodiment of the region random selection, as shown in 26, a region may be arbitrarily selected, a plurality of coordinates (indicated by a circle) may be selected, and the region may be set as a polygon centering on each coordinate. In this case, the processor 150 divides the three coordinates based on the coordinates (0, 0) of the upper left corner, divides 3 areas (area 1, area 2, area 3) of the polygon into a space in which virtual data is to be photographed. can be set to

도 5는 본 발명의 일 실시예에 의한 시점 이동을 적용하여 가상 데이터를 생성하는 도면이다.5 is a diagram for generating virtual data by applying a viewpoint movement according to an embodiment of the present invention.

시점 이동이란 사용자 또는 시스템이 선택한 공간에 사용자 또는 시스템이 선택한 객체를 배치한 후, 객체 인식을 위한 가상 데이터를 생성하는 과정에서 객체를 촬영하는 시점(View point)를 다양하게 이동시켜 다량의 가상 데이터를 생성하는 기술이다. View point movement refers to placing an object selected by the user or system in the space selected by the user or system, and then moving the view point for photographing the object in various ways in the process of generating virtual data for object recognition to generate a large amount of virtual data. is a technique that creates

즉, 생성기(100)는 선택되고 생성된 기록 객체들마다 자동으로 시점을 이동시키며 가상 데이터를 생성할 수 있다. 또한, 다양한 시점의 가상 데이터를 확보하기 위하여, 프로세서(150)는 타겟이 되는 객체를 기준으로 제1노이즈를 반영한 기준점을 설정할 수 있다. 그리고 프로세서(150)는 기준점과의 거리 또는 기준점과의 각도에 제2노이즈를 반영하여 객체를 촬영한 화상 이미지를 생성할 수 있다. That is, the generator 100 may automatically move a viewpoint for each selected and created recording object and generate virtual data. In addition, in order to secure virtual data of various viewpoints, the processor 150 may set a reference point reflecting the first noise based on a target object. In addition, the processor 150 may generate an image image obtained by photographing an object by reflecting the second noise to a distance or an angle from the reference point.

도 5에서 T는 측정 대상이 되는 객체, 즉 타겟(Target)을 의미한다. c는 T의 하단 중심 위치이며 c(x, y, z)라는 좌표를 가진다. In FIG. 5 , T denotes an object to be measured, that is, a target. c is the lower center position of T and has the coordinates c(x, y, z).

c'는 c로부터 노이즈(제1노이즈)를 추가한 위치이다. 실제 측정 좌표의 기준이 된다. c' is a position where noise (first noise) is added from c. It becomes the standard of the actual measurement coordinates.

c'(x, y, z) = c(x, y, z) + cnoise(x, z)를 일 실시예로 한다. Let c'(x, y, z) = c(x, y, z) + cnoise(x, z) as an embodiment.

또한, cnoise(x, z) = Vector3(rand(x), rand(z)) 와 같이 cnoise를 계산할 수 있다. 즉, 생성기(100)는 x, z에 대한 랜덤 값을 이용하여 cnoise를 생성할 수 있다. 여기서 Vector3 은 3차원 좌표/벡터를 나타낸 것이며, x, y, z 로 표기하고 생략된 경우엔 해당 좌표를 사용하지 않음을 나타낸 함수를 일 실시예로 한다. Also, cnoise can be calculated as cnoise(x, z) = Vector3(rand(x), rand(z)) . That is, the generator 100 may generate cnoise by using random values for x and z. Here, Vector3 represents three-dimensional coordinates/vectors, and a function indicating that the coordinates are not used when expressed as x, y, and z and omitted will be used as an embodiment.

이는 T와 촬영 시점인 P 사이의 거리를 다양하게 설정해주어 생성기(100)가 생성하는 가상 데이터에 다양성을 제공한다. 노이즈가 0일 경우 c' = c 를 만족한다. This provides variety to the virtual data generated by the generator 100 by variously setting the distance between T and the photographing time P. When the noise is 0, c' = c is satisfied.

P는 피측정체를 측정하는 물체, 예를 들어 드론을 일 지시한다. P는 c'를 바라보는 방향을 가진다. 예를 들어 P(x, y, z) = c'(x, y, z) + Vector3(dcos(a), dsin(e), dcos(a)) 등으로 산출할 수 있다. P indicates an object measuring the target, for example, a drone. P has a direction facing c'. For example, it can be calculated as P(x, y, z) = c'(x, y, z) + Vector3(dcos(a), dsin(e), dcos(a)).

여기서 d(Distance)는 T와 P 사이의 거리이며 이 값 역시 랜덤 노이즈(제2노이즈)를 적용할 수 있다. Here, d(Distance) is the distance between T and P, and random noise (second noise) may also be applied to this value.

d(x) = d'(x) + dnoise(x), dnoise(x) = rand(x) d(x) = d'(x) + dnoise(x), dnoise(x) = rand(x)

e(Elevation)은 T 로부터 P가 얼마나 떠있는지를 나타내는 각도이며 예를 들어 0~360도 사이로 변할 수 있다. a(azimuth)는 T와 P의 수평 각도이다. 자동으로 0~360도 사이로 변할 수 있다.e(Elevation) is an angle indicating how much P is lifted from T and can vary between 0 and 360 degrees, for example. a(azimuth) is the horizontal angle between T and P. It can automatically change between 0 and 360 degrees.

도 5에서 공간에 배치된 객체 T의 하단 중심 위치는 c이며, 여기에 노이즈를 추가한 c'을 중심으로 P로 지시되는 드론이 T를 촬영한 가상 데이터가 생성된다. 드론이 27가 지시하는 반원의 원주를 이동하는 것을 시뮬레이션 하여 생성기(100)는 객체를 촬영한 가상 데이터를 생성할 수 있다. 마찬가지로 a라는 각도를 틀어서 드론이 28이 지시하는 반원의 원주를 이동하는 것을 시뮬레이션 하여 생성기(100)는 객체를 촬영한 가상 데이터를 생성할 수 있다. In FIG. 5 , the lower center position of the object T arranged in space is c, and virtual data obtained by photographing T by a drone indicated by P is generated based on c′ to which noise is added. By simulating the movement of the drone on the circumference of the semicircle indicated by 27, the generator 100 may generate virtual data obtained by photographing the object. Similarly, by changing the angle a to simulate the movement of the drone around the circumference of the semicircle indicated by 28, the generator 100 may generate virtual data obtained by photographing the object.

이 과정에서 P를 산출하기 위해 생성기(100)는 c'라는 노이즈와 d'라는 노이즈를 반영하여 다양하게 변화된 거리와 방향에서 T를 촬영한 가상 데이터를 생성할 수 있다. 29은 c'이 0인 경우 드론이 이동할 수 있는 반원을 표시한다. In this process, in order to calculate P, the generator 100 may generate virtual data obtained by photographing T at variously changed distances and directions by reflecting the noise c' and the noise d'. 29 indicates a semicircle that the drone can move when c' is 0.

한편, 도 5와 같이 다양한 위치의 시점 이동에 기반하여 가상 데이터를 생성하는 과정에서 해당 시점에서 기록 및 가상 데이터 생성이 불가능한 경우가 발생할 수 있다. 이때, 프로세서(150)는 시점을 새롭게 계산하여 가상 데이터를 생성할 수 있다. Meanwhile, as shown in FIG. 5 , in the process of generating virtual data based on movement of viewpoints at various locations, a case may occur in which recording and creation of virtual data are impossible at the corresponding time point. In this case, the processor 150 may generate virtual data by newly calculating the viewpoint.

예를 들어, 계산된 기록 지점이 장애물의 안쪽인 경우(빌딩 안, 자동차 안 등의 상황)이거나, 계산된 기록 지점이 지표면보다 낮은 지하인 경우, 프로세서(150)는 장애물 위쪽으로 광선 투과(Ray Casting)를 수행하고, 천장(Ceiling)으로 판단된 지점으로부터 10m 정도 높은 지점으로 시점을 이동시켜 가상 데이터를 생성할 수 있다. For example, if the calculated recording point is inside an obstacle (in a building, in a car, etc.) or if the calculated recording point is underground lower than the ground surface, the processor 150 transmits light (Ray) above the obstacle. Casting), and moving the viewpoint to a point about 10m high from the point determined to be a ceiling, virtual data can be generated.

또한, 계산된 기록 지점에서 기록할 객체가 보이지 않는 경우, 프로세서(150)는 해당 시점에 대한 기록을 생략할 수 있다.Also, when an object to be recorded is not seen at the calculated recording point, the processor 150 may omit recording for the corresponding time point.

도 5에서 29가 지시하는 반원(c를 중심으로 한 반원)과 27, 28이 지시하는 반원(c'를 중심으로 한 반원)은 c-c' 만큼의 차이가 있다. 그로 인해 생성기(100)는 T에 대한 다양한 각도와 다양한 거리의 가상 데이터를 생성할 수 있다. In FIG. 5, the semicircle indicated by 29 (a semicircle centered on c) and the semicircles indicated by 27 and 28 (a semicircle centered on c') are different by c-c'. Accordingly, the generator 100 may generate virtual data of various angles and various distances with respect to T.

일 실시예로 프로세서(150)는 시점 이동을 통해 다수의 시점을 확보할 수 있는데, 각각의 시점들에서 화상 이미지를 생성하는 과정에서, 전술한 제1노이즈와 제2노이즈를 변경할 수 있다. 예를 들어, 프로세서(150)는 제1시점에서 제1화상 이미지를 생성한다. In an embodiment, the processor 150 may secure a plurality of viewpoints by moving the viewpoints. In the process of generating an image image at each viewpoint, the above-described first noise and second noise may be changed. For example, the processor 150 generates a first image image at a first viewpoint.

그리고 프로세서(150)는 제1화상 이미지를 생성한 후, 제1노이즈 또는 제2노이즈를 미리 설정된 범위 이내에서 조절한다. 이 경우, 도 5의 27 또는 28의 위치나 크기가 달라질 수 있다. 그리고 프로세서(150)는 제1시점과 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성한다. And, after generating the first image image, the processor 150 adjusts the first noise or the second noise within a preset range. In this case, the position or size of 27 or 28 of FIG. 5 may be changed. In addition, the processor 150 generates a second image image by moving the viewpoint to the first viewpoint and the second viewpoint.

이와 같이 노이즈, 예를 들어 c' 및 D를 지속적으로 변경함으로써, 생성기(100)는 가상 데이터에 포함된 객체의 크기나 시점에 다양성을 제공할 수 있다. 즉, 생성기(100)는 동일한 객체에 대해 다양한 각도와 다양한 거리, 또는 다양한 중심지점에 기반하여 가상 데이터를 생성할 수 있으며, 이로 인해 동일한 객체에 대한 탐지 가능성을 높이는 다양한 가상 데이터를 인공지능의 학습에 적용할 수 있다. As described above, by continuously changing noise, for example, c′ and D, the generator 100 may provide diversity in the size or viewpoint of objects included in the virtual data. That is, the generator 100 may generate virtual data based on various angles, various distances, or various central points for the same object, and thus, artificial intelligence learns various virtual data that increases the detection probability of the same object. can be applied to

도 6은 본 발명의 일 실시예에 의한 기상환경 변화를 구현한 도면이다. 프로세서(150)는 공간의 기상 환경 정보를 가상 데이터의 생성 조건으로 반영하여 가상 데이터를 생성할 수 있다. 또한, 프로세서(150)는 기상 환경 정보를 이용하여 공간에 배치된 객체의 형상을 설정할 수 있다. 6 is a view showing a change in the weather environment according to an embodiment of the present invention. The processor 150 may generate virtual data by reflecting the weather environment information of the space as a generation condition of the virtual data. Also, the processor 150 may set the shape of an object disposed in space by using the weather environment information.

앞서 살펴본 바와 같이, 조명(31)의 예로 태양이 제시되어 있다. 제1광선은 태양에서 직접 발산되는 빛을 표시한 것이다. 제2광선은 구름(32)과 강수(33), 안개(34) 등에 의해 제1광선이 산란/차단된 결과를 보여준다. 프로세서(150)는 각각의 구성요소들(31, 32, 33, 34)의 배치와 분포 등에 따라 제1광선 및 제2광선에 의한 밝기 상황이 반영된 가상 데이터를 생성할 수 있다. As noted above, the sun is presented as an example of the lighting 31 . The first ray represents light emitted directly from the sun. The second ray shows the result of scattering/blocking the first ray by clouds 32, precipitation 33, fog 34, and the like. The processor 150 may generate virtual data in which a brightness situation by the first ray and the second ray is reflected according to the arrangement and distribution of each of the components 31 , 32 , 33 , and 34 .

프로세서(150)는 조명(31) 또는 광원에 대해 태양광, 월광 등의 실환경 광원의 입사 위치, 색상, 그리고 밝기 등의 변화를 적용하여 가상 데이터를 생성할 수 있다. 조명(31)에 대한 설정 정보들은 도 5의 도메인 변화 공간 밑의 지리적 공간의 값으로부터 영향을 받을 수 있으며, 기상 변화 공간의 다른 요소들(예를 들어, 32, 33, 34 등)으로부터 영향을 받을 수 있다. The processor 150 may generate virtual data by applying changes such as an incident position, color, and brightness of a real environment light source such as sunlight or moonlight to the illumination 31 or the light source. The setting information for the lighting 31 may be influenced by the value of the geographic space under the domain change space of FIG. 5, and may be influenced by other elements of the weather change space (eg, 32, 33, 34, etc.) can receive

일 실시예로 프로세서(150)는 대기상에 떠있는 구름(32)을 이용하여 태양광을 일부 차단하여 조명에 영향을 준 결과를 반영하여 가상 데이터를 생성할 수 있다. 프로세서(150)는 사용자의 설정 또는 자동으로 구름의 양, 밀도를 조절할 수 있다. 또한 프로세서(150)는 강수(33)에 의해 구름(32)이 중점적으로 조절되도록 설정할 수 있다. In an embodiment, the processor 150 may generate virtual data by reflecting the result of influencing the lighting by partially blocking sunlight using the clouds 32 floating in the atmosphere. The processor 150 may adjust the amount and density of clouds automatically by a user's setting or automatically. In addition, the processor 150 may set the cloud 32 to be centrally adjusted by the precipitation 33 .

프로세서(150)는 강수(33)를 이용하여 하늘에서 지상으로 떨어지는 모든 형태의 수분을 표시하며 이를 반영한 가상 데이터를 생성할 수 있다. 강수(33)는 강우, 강설 등이 포함되며, 프로세서(150)는 강수 환경의 설정이 구름(32)과 안개(34)에 상호 영향을 미칠 수 있도록 가상 데이터를 생성할 수 있다. The processor 150 may display all forms of moisture falling from the sky to the ground using the precipitation 33 and generate virtual data reflecting this. The precipitation 33 includes rainfall, snowfall, and the like, and the processor 150 may generate virtual data so that the setting of the precipitation environment may mutually affect the clouds 32 and the fog 34 .

그리고 다양한 기상 환경의 구성요소들(32, 33, 34)은 간접적으로 조명(31)에 영향을 미치며 프로세서(150)는 그러한 영향이 반영된 외부의 밝기에 따라 가상 데이터를 생성할 수 있다. 또한 프로세서(150)는 강수의 종류에 따라 도메인 공간의 표시 그래픽의 반사율을 변경하여 가상 데이터를 생성할 수 있다. In addition, the components 32 , 33 , and 34 of various weather environments indirectly affect the lighting 31 , and the processor 150 may generate virtual data according to external brightness in which the influence is reflected. Also, the processor 150 may generate virtual data by changing the reflectance of the display graphic in the domain space according to the type of precipitation.

안개(34)는 지표면에 가깝게 깔려있는 수증기이다. 프로세서(150)는 안개(34)가 배치된 경우 구름(32)에 차단되지 않은 태양광(제1광선)을 산란시켜 조명(31)에 영향을 줌과 동시에 가시 거리를 변화시킨 가상 데이터를 생성할 수 있다.Fog 34 is water vapor lying close to the earth's surface. When the fog 34 is disposed, the processor 150 scatters sunlight (first ray) that is not blocked by the cloud 32 to affect the lighting 31 and generate virtual data in which the visible distance is changed. can do.

인터페이스(130)는 사용자가 쉽게 기상 상황에 대한 생성 조건을 설정할 수 있도록 미리 정의된 기상 생성 조건을 출력하고 이에 대해 사용자가 선택할 수 있도록 한다.The interface 130 outputs a predefined weather generation condition so that the user can easily set the generation condition for the weather situation, and allows the user to select it.

예를 들어, 인터페이스(130)는 "맑음", "강우", "폭우", "강설", "장마철", "대설", "안개" 등의 생성 조건을 표시할 수 있다. 또한 인터페이스(130)는 "봄", "여름", "가을", "겨울" 등의 생성 조건을 표시할 수 있다. 그리고 프로세서(150)는 사용자가 선택한 생성 조건을 반영하여 공간 상에 객체를 배치한 화상 이미지를 생성할 수 있다. For example, the interface 130 may display generation conditions such as “sunny”, “rainfall”, “heavy rain”, “snowfall”, “monsoon season”, “heavy snow”, “fog”, and the like. In addition, the interface 130 may display generation conditions such as “spring”, “summer”, “autumn”, and “winter”. In addition, the processor 150 may generate an image image in which an object is arranged in a space by reflecting the generation condition selected by the user.

그리고 프로세서(150)는 생성 조건에 따라 해당 공간에 눈이나 비, 안개가 배치된 상황, 그리고 눈/비/안개 등에 의한 객체 외관의 변화를 적용하여 가상 데이터를 생성할 수 있다. In addition, the processor 150 may generate virtual data by applying a change in object appearance due to a situation in which snow, rain, or fog is disposed in a corresponding space, and snow/rain/fog according to a generation condition.

도 7 및 도 8은 본 발명의 일 실시예에 의한 객체의 변화를 보여주는 도면이다. 프로세서(150)는 객체의 자세 정보, 재질 정보 또는 형상 정보 중 어느 하나 이상을 가상 데이터의 생성 조건으로 이용하여 공간에 객체를 배치할 수 있다. 7 and 8 are diagrams illustrating changes in an object according to an embodiment of the present invention. The processor 150 may use any one or more of posture information, material information, and shape information of the object as a condition for generating virtual data to arrange the object in space.

즉, 프로세서(150)는 타겟이 되는 객체의 외관을 자세, 재질, 형상 등으로 구분하여 설정할 수 있다. 주자세(Primary Attitude)는 객체의 3차원 위치 및 자세 각도(3DOF). 객체와 객체에 포함된 모든 자식 객체들에 영향을 미치며 모든 객체에 1개씩 존재한다. 프로세서(150)는 주자세인 객체를 촬영한 가상 데이터를 생성할 수 있다. That is, the processor 150 may set the appearance of the target object by dividing it into posture, material, shape, and the like. Primary Attitude is an object's three-dimensional position and attitude angle (3DOF). It affects the object and all child objects included in the object, and there is one in every object. The processor 150 may generate virtual data obtained by photographing an object with a running posture.

부자세(Auxillary Attitude)는 객체에 회전 또는 위치변경이 가능한 자식 객체(Child Object) 가 있는 경우 이들의 자세를 조절한다. 부자세는 주자세에 상대적으로(Relative) 적용되며 0개 이상 존재 가능하다. 프로세서(150)는 부자세인 객체를 촬영한 가상 데이터를 생성할 수 있다.Auxillary Attitude controls the posture of child objects that can be rotated or repositioned if they exist. The sub-tax is applied relative to the main tax, and there can be zero or more. The processor 150 may generate virtual data obtained by photographing the subordinate object.

재질 변화(Material Variance)는 주변 환경 또는 객체의 각자 고유 상태에 따라 객체의 그래픽을 표시하는데 사용되는 재질 (Material)의 반사율, 광택 등의 속성 변화를 의미한다. 프로세서(150)는 타겟이 되는 객체의 재질을 변화시켜 촬영한 가상 데이터를 생성할 수 있다.Material variation refers to a change in properties such as reflectance and gloss of the material used to display the graphic of an object according to the surrounding environment or each unique state of the object. The processor 150 may generate the captured virtual data by changing the material of the target object.

형상 변화(Shape Deformation)는 인간이나 생명체 등의 경우, 주/부자세 이외에도 운동 동작(Pose)에 따라 형상이 변화할 수 있다. 프로세서(150)는 객체의 여러 동작을 섞어서 랜덤화하거나, 물리 엔진을 통해 계산하여 변화된 객체의 형상을 촬영한 가상 데이터를 생성할 수 있다.In the case of a human or a living organism, shape deformation may be changed according to a pose in addition to the main/subordinate posture. The processor 150 may generate virtual data obtained by mixing and randomizing various motions of the object, or by photographing the changed shape of the object by calculating it through a physics engine.

예를 들어 도 7의 실시예와 같이 객체가 전차인 경우는 주포장치(35)가 전면을 향하는 경우(36)와 측면을 향하는 경우(37)로 나뉘어질 수 있다. 프로세서(150)는 이 중에서 어느 하나를 주자세로, 다른 하나를 부자세로 설정할 수 있다. For example, when the object is a tank as in the embodiment of FIG. 7 , it may be divided into a case where the main gun device 35 faces the front (36) and a case (37) which faces the side. The processor 150 may set any one of them as the main posture and the other as the subordinate posture.

일 실시예로, 탱크는 수직구조(Hierarchy)를 가질 수 있다. 즉, 탱크는 자식(하위) 객체로 포탑을, 포탑은 자식(하위) 객체로 주포를 포함하는 계층적, 수직 구조이며, 각 하위 객체들은 상위 객체를 기준으로 상대적인 위치를 가질 수 있다. 탱크 전체가 (0,0,0) 좌표에 (0,0,0) 회전으로 있다면, 탱크의 포탑(윗부분)은 따로 30도 회전할 수 있고, 주포는 포탑의 자식 객체로서 30도 회전이 된다고 가정할 수 있다. In one embodiment, the tank may have a vertical structure (Hierarchy). That is, a tank has a hierarchical, vertical structure that includes a turret as a child (sub) object, and a turret as a child (sub) object, and each sub-object may have a relative position with respect to the parent object. If the entire tank is at (0,0,0) coordinates with (0,0,0) rotation, then the tank's turret (top) can be rotated 30 degrees separately, and the main gun is rotated 30 degrees as a child object of the turret. can be assumed

즉, 주자세(탱크)를 변경하면 포탑, 주포는 자식 객체로서 주자세에 상대적인 좌표를 모두 가지고 있기 때문에, 만약 탱크의 주자세 회전이 (0,60,0) 이 되고, 포탑의 부자세 회전이 (0,30,0)인 경우, 포탑의 실제 회전좌표는 (0,90 = 30+60,0)이 될 수 있다.In other words, if the main posture (tank) is changed, the turret and main gun have all coordinates relative to the main posture as child objects, so if the main posture rotation of the tank becomes (0,60,0), If this is (0,30,0), the actual rotational coordinates of the turret can be (0,90 = 30+60,0).

또한, 도 8의 41과 같이 프로세서(150)는 물리적 계산을 통해 사람의 동작을 시각화시킬 수 있고 42와 같이 프로세서(150)는 사람의 특정 동작을 시각화 시킬 수 있다. In addition, as shown in 41 of FIG. 8 , the processor 150 may visualize a human motion through physical calculation, and as shown in 42 , the processor 150 may visualize a specific human motion.

그리고 프로세서(150)는 시각화된 객체(사람)를 포함하는 가상 데이터를 생성한다. In addition, the processor 150 generates virtual data including a visualized object (person).

도 9는 본 발명의 일 실시예에 의한 가상 데이터를 저장하는 과정을 보여주는 도면이다. 도 9는 도 2의 S11 내지 S13을 완료한 후, S14~S16 과정을 보여준다. 프로세서(150)는 병렬성을 위해 멀티쓰레딩을 사용할 수 있다. 9 is a diagram illustrating a process of storing virtual data according to an embodiment of the present invention. 9 shows processes S14 to S16 after completing S11 to S13 of FIG. 2 . The processor 150 may use multithreading for parallelism.

프로세서(150)는 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드(45)와 화상 이미지를 이미지 프로세싱하여 가상 데이터를 저장부(170)에 저장하는 제2쓰레드(46)를 실행시킬 수 있다. 그리고 프로세서(150)는 제1쓰레드(45)과 제2쓰레드(46)를 병렬로 수행할 수 있다. The processor 150 may execute a first thread 45 for generating an image image after moving the viewpoint and a second thread 46 for image processing and storing virtual data in the storage unit 170 . have. In addition, the processor 150 may execute the first thread 45 and the second thread 46 in parallel.

이미지 프로세싱이란, 제1쓰레드(45)가 생성한 화상 이미지를 제2쓰레드(46)가 특정한 형식(JPEG, PNG, TIFF 등)으로 변환하는 것을 포함한다. 이 과정에서 제1쓰레드(45)가 시점 이동을 통해 유사한 화상 이미지를 생성한 경우 제2쓰레드(46)는 앞서 생성한 가상 데이터를 일부 이용할 수 있다. The image processing includes converting the image image generated by the first thread 45 into a specific format (JPEG, PNG, TIFF, etc.) by the second thread 46 . In this process, when the first thread 45 generates a similar image image by moving the viewpoint, the second thread 46 may partially use the previously generated virtual data.

시점 이동을 통해 화상 이미지를 생성한 프로세서(150)는 둘 이상의 쓰레드(thread)를 이용하여 렌더링 및 기록하는 작업을 각각의 쓰레드가 수행할 수 있도록 한다. 제1쓰레드(45)는 메인 쓰레드로 시점 이동을 수행한 후 이동이 완료된 시점을 중심으로 객체 및 객체가 놓여진 주변을 촬영한 이미지를 생성하는 렌더링 과정을 수행한다. 그리고 시점이동과 렌더링은 계속 반복된다. The processor 150 that generates the image image by moving the viewpoint enables each thread to perform rendering and recording operations using two or more threads. The first thread 45 performs a rendering process of generating an image of an object and its surroundings on which the object is placed, centering on the time point at which the movement is completed after moving the viewpoint to the main thread. And moving the viewpoint and rendering are repeated continuously.

아울러 렌더링 이후 화상 이미지는 제2쓰레드(46)인 기록 쓰레드에서 이미지를 압축하여 기록한다. In addition, the image image after rendering is recorded by compressing the image in the recording thread which is the second thread 46 .

일 실시예로, 제1쓰레드(45)인 메인 쓰레드는 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이를 기록 대기열에 추가한다(S51a, S51b, S51c). 기록 대기열은 일종의 큐(Queue)와 같이 FIFO(First-In, First Out) 방식으로 동작할 수 있다. 대기열은 동시성 대기열 (Concurrent FIFO) 이며 쓰레드간 간섭을 최소화할 수 있다. In one embodiment, the main thread, which is the first thread 45, immediately acquires an image image for each viewpoint at the same time as the viewpoint moves and adds it to the recording queue (S51a, S51b, S51c). The write queue may operate in a first-in, first-out (FIFO) manner like a kind of queue. The queue is a concurrent queue (Concurrent FIFO), and inter-thread interference can be minimized.

기록 대기열에는 압축되지 않은 이미지가 축적되며 기록 쓰레드(46)가 기록 대기열에 접근 가능할 경우 기록 대기열의 데이터를 팝(Pop)하여 이미지를 압축 및 기록한다. Uncompressed images are accumulated in the recording queue, and when the recording thread 46 has access to the recording queue, it compresses and records the image by popping the data in the recording queue.

즉, 기록 쓰레드(46)는 기록 대기열에서 화상 이미지를 인출하여 가상 데이터를 저장한다. 즉, 기록 쓰레드(46)는 기록 대기열에서 FIFO 방식으로 화상 이미지를 인출하여 이미지 파일로 기록한다. 이 과정에서 이미지를 압축하여 디스크에 기록하는 작업을 반복할 수 있다. 기록 쓰레드(46)는 메인 쓰레드(45)와 독립적으로 동시 실행될 수 있다.That is, the recording thread 46 fetches the image image from the recording queue and stores the virtual data. That is, the recording thread 46 fetches an image image from the recording queue in a FIFO manner and records it as an image file. In this process, you can repeat the operation of compressing the image and writing it to disk. The write thread 46 may execute concurrently independently of the main thread 45 .

프로세서(150)는 각 시점에서 화상 이미지를 생성함에 있어서, 일반적인 RGB 이미지 외에도 다양한 센서가 센싱한 결과를 화상 이미지로 생성할 수 있다. When generating an image image at each viewpoint, the processor 150 may generate an image image as a result of sensing by various sensors in addition to a general RGB image.

일 실시예로, RGB 가상 데이터는 결정된 시점에 CCD/CMOS 등의 센서가 생성한 노이즈가 없는 이상적인 컬러 화상 이미지에 해당한다. In one embodiment, the RGB virtual data corresponds to an ideal color image image without noise generated by a sensor such as a CCD/CMOS at a determined time point.

다른 실시예로 Noised RGB 가상 데이터는 결정된 시점에 CCD/CMOS 등의 센서가 생성한 그라디언트 노이즈(Gradient Noise)가 추가된 컬러 화상 이미지에 해당한다. In another embodiment, the noised RGB virtual data corresponds to a color image image to which gradient noise generated by a sensor such as a CCD/CMOS is added at a determined time point.

또다른 실시예로 Segmentation 가상 데이터는 결정된 시점에서 인터페이스(130)에 표시된 오브젝트에 대한 분류를 컬러로 나타낸 이미지에 해당한다. In another embodiment, the segmentation virtual data corresponds to an image in which a classification of an object displayed on the interface 130 is displayed in color at a determined time point.

또다른 실시예로 LiDAR 가상 데이터는 결정된 시점에 라이다(LiDAR) 센서가 생성한 거리, 높이, 반사율 등을 시각화한 이미지에 해당한다. In another embodiment, the LiDAR virtual data corresponds to an image that visualizes the distance, height, reflectance, etc. generated by the LiDAR sensor at the determined time point.

프로세서(150)는 각각의 가상 데이터들을 다양한 포맷의 이미지 파일로 생성할 수 있으며, 각 가상 데이터의 컬러 형식도 다양하게 설정할 수 있다. The processor 150 may generate each virtual data as an image file of various formats, and may set a color format of each virtual data in various ways.

뿐만 아니라 프로세서(150)는 기록을 완료하거나 도중 중단할 경우 현재까지의 결과 데이터를 확정하고 이미지에 대한 주석(annotation)을 파일로 기록할 수 있다. 프로세서(150)는 MS-COCO와 같은 형식을 적용하여 주석 파일을 생성할 수 있다. 일 실시예로, 프로세서(150)는 지금까지 기록된 모든 이미지 1개마다 다음 표 1과 같이 정보를 기록할 수 있다. In addition, when the recording is completed or stopped, the processor 150 may confirm the result data up to now and record the annotation on the image as a file. The processor 150 may generate the annotation file by applying a format such as MS-COCO. In an embodiment, the processor 150 may record information as shown in Table 1 below for every one image recorded so far.

항목 이름Item name 설명Explanation 형식form Id Id 이미지의 식별자Identifier of the image Int (정수)Int (integer) Width Width 이미지의 너비width of the image Int (정수)Int (integer) height height 이미지의 높이image height int (정수)int (integer) File_name File_name 이미지의 이름name of the image

또한, 일 실시예로 프로세서(150)는 각각의 이미지에 포함된 하나 이상의 객체에 대한 정보를 일종의 주석으로 포함시킬 수 있다. 이미지 내의 객체에 대한 정보는 표 2와 같이 생성할 수 있다. Also, according to an embodiment, the processor 150 may include information on one or more objects included in each image as a kind of annotation. Information on the object in the image can be generated as shown in Table 2.

항목 이름Item name 설명Explanation 형식form Id Id 주석의 식별자Identifiers in comments Int (정수)Int (integer) Image_id image_id 주석이 참조하는 이미지의 식별자Identifier of the image referenced by the annotation Int (정수)Int (integer) Category_id Category_id 객체의 분류에 대한 참조A reference to the classification of objects Int (정수)Int (integer) area area 이미지에서 해당 객체가 차지하는 면적area occupied by the object in the image Float (실수)Float (real number) bbox box 이미지에서 해당 객체가 차지하는 사각형 영역Rectangular area occupied by that object in the image (x,y,w,h) Float (실수)(x,y,w,h) Float (real number) segmentationsegmentation 이미지에서 해당 객체의 영역을 다각형으로 나타낸 것A polygonal representation of the area of the object in the image. float[][] x,y 좌표 순서로 하는 2차원 실수 배열float[][] 2D real array in x,y coordinate order

표 1 및 표 2의 항목들 및 설명, 형식은 다양하게 변형 및 추가/삭제될 수 있다. Items, descriptions, and formats of Tables 1 and 2 may be variously modified and added/deleted.

동일한 공간에 배치된 동일 객체에 대해 시점 이동을 통해 다양하게 가상 데이터를 생성할 경우, 프로세서(150)는 저장부(170)의 동일한 폴더 내에 가상 데이터를 저장할 수 있다. 그리고 프로세서(150)는 해당 가상 데이터들에 대한 주석을 하나의 파일로 생성하여 해당 폴더 내에 저장할 수 있다. 또는 프로세서(150)는 해당 폴더의 상위 폴더에 해당 폴더를 지시하는 정보와 주석을 하나의 파일로 생성하여 저장할 수 있다. When various virtual data is generated by moving the viewpoint for the same object disposed in the same space, the processor 150 may store the virtual data in the same folder of the storage unit 170 . In addition, the processor 150 may generate an annotation for the corresponding virtual data as one file and store it in the corresponding folder. Alternatively, the processor 150 may generate and store information and comments indicating a corresponding folder in a higher folder of the corresponding folder as one file.

도 10은 본 발명의 일 실시예에 의한 이미지 프로세싱을 보여주는 도면이다. 앞서 도 9에서 살펴본 바와 같이, 제1쓰레드(45)는 화상 이미지를 A 및 B와 같이 생성한다. 제2쓰레드(46)은 A, B를 각각 가상 데이터로 저장하는데, 여기서 A와 B는 시점 이동으로 인해 각도가 5도 달라졌다. 따라서, 제2쓰레드(46)는 B의 화상 이미지를 압축하거나 이미지를 처리할 때, 앞서 A의 화상 이미지를 압축 또는 이미지 처리하는 과정에서 산출된 가상 데이터를 일부 이용할 수 있다. 예를 들어, 제2쓰레드(46)는 A의 건물(52a)에 대한 화상 이미지를 가상 데이터로 변환한 결과를 이용하여 고도가 높아짐으로 인한 변화를 B에 적용하여 이미지 처리할 수 있다. 10 is a diagram illustrating image processing according to an embodiment of the present invention. 9, the first thread 45 generates image images like A and B. The second thread 46 stores A and B as virtual data, respectively, where the angle of A and B is changed by 5 degrees due to the movement of the viewpoint. Accordingly, when the second thread 46 compresses the image image of B or processes the image, the second thread 46 may partially use the virtual data calculated in the process of compressing or processing the image image of A. For example, the second thread 46 may process an image by applying a change due to an increase in altitude to B using a result of converting the image image of the building 52a of A into virtual data.

일 실시예로, 제2쓰레드(46)는 A 및 B에서 동일한 건물(52a, 52b)의 고도 변화로 인한 화상 이미지의 차이를 각각 이미지 처리하지 않는다. 즉, 제2쓰레드(46)는 먼저 A의 건물(52a)과 객체(51a)를 포함하는 화상 이미지를 변환하여 가상 데이터(A-가상 데이터)를 생성한다. 그리고 제2쓰레드(46)는 B의 건물(52b)과 객체(51b)를 포함하는 화상 이미지를 생성하는 과정에서 A-가상 데이터를 변형하여 새로운 가상 데이터(B-가상 데이터)를 생성할 수 있다. In one embodiment, the second thread 46 does not image the difference in image images due to the elevation change of the same buildings 52a and 52b in A and B, respectively. That is, the second thread 46 first converts the image image including the building 52a and the object 51a of A to generate virtual data (A-virtual data). In addition, the second thread 46 may generate new virtual data (B-virtual data) by transforming the A-virtual data in the process of generating an image image including the building 52b and the object 51b of B. .

전술한 실시예들을 적용할 경우 생성기(100)는 다양한 환경변화(대기조건, 조명조건, 계절적 변화조건, 악천후 환경조건, 배경조건 등)를 자동으로 생성할 수 있고 이를 포함하는 다양한 가상 데이터를 생성할 수 있다.When the above-described embodiments are applied, the generator 100 can automatically generate various environmental changes (atmospheric conditions, lighting conditions, seasonal change conditions, bad weather environmental conditions, background conditions, etc.) and generate various virtual data including them. can do.

전술한 본 발명의 실시예를 적용할 경우, 영상을 기반으로 물체를 자동으로 탐지하거나 음성을 기반으로 자동인식함에 있어 필요한 학습 데이터를 다량 확보하여 인공지능의 물체 탐지 능력을 높일 수 있다. 본 발명의 실시예를 적용할 경우, 영상을 기반으로 물체를 탐지하는 능력인 탐지율을 증대시킬 수 있다. When the above-described embodiment of the present invention is applied, it is possible to increase the object detection ability of artificial intelligence by securing a large amount of learning data necessary for automatically detecting an object based on an image or automatically recognizing it based on a voice. When an embodiment of the present invention is applied, the detection rate, which is the ability to detect an object based on an image, can be increased.

또한, 본 발명의 실시예들은 다양한 기상 환경을 적용하여 가상 데이터를 생성하여 이를 통해 인공지능 모듈들이 가상 데이터에 기반하여 학습할 수 있으며 그에 따른 탐지율 및 추적 성능을 향상시킬 수 있다. 따라서, 정상적인 환경을 포함하여 악천후 환경인 강우 및 강설 환경과 안개, 구름 및 연무 등으로 가시성능이 저하되는 환경, 그리고 조명이나 계절의 환경 변화 등에서도 인공지능의 객체탐지 및 자동추적의 성능을 높일 수 있다. In addition, embodiments of the present invention generate virtual data by applying various weather environments, so that artificial intelligence modules can learn based on the virtual data, thereby improving the detection rate and tracking performance. Therefore, the performance of artificial intelligence object detection and automatic tracking will be improved in environments where visibility performance is reduced due to rain and snow environments, fog, clouds and haze, etc., and environmental changes in lighting and seasons, including normal environments. can

특히, 본 발명의 실시예를 적용할 경우 기상 상태의 악조건이나 다양한 환경 및 대기 조건이 반영된 다양한 가상 데이터를 생성할 수 있다. 따라서 본 발명의 생성기(100)는 실제와 유사하거나 혹은 유사하지는 않지만 가상화를 통한 다양한 데이터를 확보할 수 있으며 이러한 가상 데이터를 이용한 인공지능의 학습이 진행되면 실제 악천후 등의 환경에서 객체의 탐지율 및 추적성능을 증대시킬 수 있다. In particular, when an embodiment of the present invention is applied, various virtual data in which adverse weather conditions or various environmental and atmospheric conditions are reflected can be generated. Therefore, the generator 100 of the present invention is similar to or not similar to the real one, but can secure various data through virtualization, and when artificial intelligence learning using this virtual data proceeds, the detection rate and tracking of an object in an environment such as actual bad weather performance can be increased.

본 발명의 실시예를 적용할 경우, 실제 데이터에서 보여지는 환경에 대한 한계에서 자유롭게 가상 데이터를 생성할 수 있으며, 가상 데이터의 생성 과정에서 분류 작업 역시 자동으로 이루어지므로 실제 데이터에 비해 높은 경제성과 학습 성능을 제공할 수 있다. When an embodiment of the present invention is applied, virtual data can be freely generated within the limits of the environment shown in real data, and since the classification operation is also automatically performed in the process of generating virtual data, higher economic efficiency and learning compared to real data performance can be provided.

뿐만 아니라, 가상 데이터를 제공함으로써, 기존의 인공지능 개발자들이 양질의 데이터를 취득하기 위해 직접 데이터를 수집, 분류, 처리하는 과정에 투입한 노력과 시간을 최소화 함으로써 개발의 능률을 올릴 수 있다. 또한 가상 데이터의 생성은 실제 데이터 생성이나 취득과 비교할 때, 절대적으로 낮은 비용이 소요되므로 경제적으로도 인공지능 개발자들에게 유리하다. In addition, by providing virtual data, it is possible to increase development efficiency by minimizing the effort and time invested by existing AI developers in the process of collecting, classifying, and processing data directly to acquire high-quality data. In addition, the generation of virtual data is economically advantageous to AI developers because it requires an absolutely low cost compared to the generation or acquisition of real data.

또한, 가상 데이터를 다량으로 사용함으로써 인공지능의 인식성능을 향상시킬 수 있으므로, 인식용 드론, 자율주행 차량 등의 인식 성능을 향상시킬 수 있으며, 인식 오류로 인한 오동작 등의 사고 등의 위험성을 줄여 안전성을 확보할 수 있다.In addition, since the recognition performance of artificial intelligence can be improved by using a large amount of virtual data, the recognition performance of drones for recognition and autonomous driving vehicles can be improved, and the risk of accidents such as malfunctions due to recognition errors can be reduced. safety can be ensured.

본 발명의 생성기 또는 방법을 구현할 경우, 카메라에 의한 RGB 이미지를 가상으로 생성하는 실시예 외에도 다양한 센서들(초음파, 라이다, 뎁스, 세그먼테이션 등)이 센싱한 데이터를 가상으로 생성할 수 있다. 또한, 다양한 이미지 형식(JPEG, PNG, TIFF 등)으로 가상 데이터를 생성할 수 있으며, 이미지의 압축 수준 역시 사용자가 자유로이 설정할 수 있다. When the generator or method of the present invention is implemented, data sensed by various sensors (ultrasound, lidar, depth, segmentation, etc.) may be virtually generated in addition to the embodiment in which an RGB image by a camera is generated virtually. In addition, virtual data can be created in various image formats (JPEG, PNG, TIFF, etc.), and the user can freely set the compression level of the image.

본 발명의 생성기 또는 방법을 구현할 경우, 다양한 3D(3차원, 3-Dimension) 물체의 다양한 자세(Attitude, posture)를 입력하여 가상 데이터를 생성할 수 있다. 또한, 가상 데이터를 생성함에 있어서 환경의 변화(강우, 강설, 조명, 안개 등)와 배경을 다양화하는 도메인 랜덤화(Domain Randomization) 기술을 적용할 수 있으므로 본 발명의 생성기 또는 방법을 구현할 경우 다양한 환경에서 다수의 객체가 등장하는 가상 데이터를 생성할 수 있다. When the generator or method of the present invention is implemented, virtual data can be generated by inputting various postures (attitudes, postures) of various 3D (3-dimensional) objects. In addition, since a domain randomization technique that diversifies environment changes (rainfall, snowfall, lighting, fog, etc.) and background can be applied in generating virtual data, when implementing the generator or method of the present invention, various It is possible to create virtual data in which multiple objects appear in the environment.

또한, 본 발명의 생성기 또는 방법을 구현할 경우, 객체와의 각도간격 및 거리에 다양한 변화를 제공할 수 있으며, 이러한 변화를 배치(Batch) 형태로 자동으로 생성할 수 있어 다양한 가상 데이터를 생성할 수 있다. 그리고 본 발명의 생성기 또는 방법을 구현할 경우, 3D 환경에서 폐쇄(Occlusion)된 부분을 자동으로 탐지하여 라벨링(Labeling)을 추가할 수 있다. In addition, when implementing the generator or method of the present invention, it is possible to provide various changes in the angular interval and distance from the object, and these changes can be automatically generated in the form of a batch, so that various virtual data can be generated. have. And, when implementing the generator or method of the present invention, it is possible to automatically detect an occlusion part in a 3D environment and add a labeling (Labeling).

본 발명의 생성기(100)는 정교한 물리모델을 기반으로 열악한 가상환경(조명, 강우, 강설, 안개 등)을 가상으로 생성할 수 있다. 그리고 본 발명의 생성기(100)는 다양한 도메인(도로, 숲, 흙길, 논, 밭, 눈길, 잔디 등)을 포함한 3D 환경(3차원의 공간)을 가상으로 생성할 수 있다.The generator 100 of the present invention can virtually create a poor virtual environment (lighting, rainfall, snowfall, fog, etc.) based on a sophisticated physical model. In addition, the generator 100 of the present invention can virtually create a 3D environment (three-dimensional space) including various domains (road, forest, dirt road, paddy field, snowy road, grass, etc.).

또한, 본 발명의 생성기(100)는 가상으로 생성된 공간에 3D의 객체를 임의의 위치에 위치시킬 수 있다. 생성기(100)는 객체를 임의의 방향 및 위치에서 자동으로 배치시킬 수 있으며 이에 대한 가상 데이터를 생성할 수 있다. In addition, the generator 100 of the present invention may position a 3D object at an arbitrary position in a space created virtually. The generator 100 may automatically place an object in an arbitrary direction and position, and may generate virtual data therefor.

생성기(100)는 다양한 매개변수를 사전 메뉴에서 정의된 방법과 사전에 선정된 3D 모델에 따라서 배치(Batch) 방식으로 공간 및 객체, 기상 환경 등을 자동으로 생성할 수 있으며, 실제 데이터에 가깝게 가상 데이터를 생성하기 위해, 생성기(100)는 소수의 실측정데이터와 통합 데이터를 이용할 수 있다. The generator 100 can automatically generate spaces, objects, weather environments, etc. in a batch method according to the method defined in the dictionary menu and the 3D model selected in advance for various parameters, and virtual close to real data. To generate the data, the generator 100 may use a small number of actual measurement data and integrated data.

즉, 생성기(100)는 대량의 가상 데이터와 소수의 실측 데이터를 결합한 모델에 대해 통합 학습데이터를 활용하여 가상 데이터를 자동으로 생성할 수 있다. That is, the generator 100 may automatically generate virtual data by using integrated learning data for a model combining a large amount of virtual data and a small number of actual data.

본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다. Even though all the components constituting the embodiment of the present invention are described as being combined or operated as one, the present invention is not necessarily limited to this embodiment, and all components within the scope of the present invention are one or more may be selectively combined to operate. In addition, all of the components may be implemented as one independent hardware, but a part or all of each component is selectively combined to perform some or all of the functions of the combined hardware in one or a plurality of hardware program modules It may be implemented as a computer program having Codes and code segments constituting the computer program can be easily deduced by those skilled in the art of the present invention. Such a computer program is stored in a computer readable storage medium (Computer Readable Media), read and executed by the computer, thereby implementing the embodiment of the present invention. The storage medium of the computer program includes a magnetic recording medium, an optical recording medium, and a storage medium including a semiconductor recording device. In addition, the computer program implementing the embodiment of the present invention includes a program module that is transmitted in real time through an external device.

전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변환 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It is to be understood that the foregoing embodiments are illustrative in all respects and not restrictive, and the scope of the present invention will be indicated by the appended claims rather than the foregoing detailed description. And it should be construed as being included in the scope of the present invention, as well as the meaning and scope of the claims, as well as all transformations and deformable forms derived from the equivalent concept.

100: 생성기 130: 인터페이스
150: 프로세서 170: 저장부
100: generator 130: interface
150: processor 170: storage

Claims (16)

가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 상기 공간에 객체를 배치한 후, 상기 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하여 상기 가상의 이미지를 가상 데이터로 변환하여 저장부에 저장하며 상기 생성 조건을 상기 가상 데이터의 메타 정보로 생성하는 프로세서; 및
상기 가상 데이터 및 상기 가상 데이터의 메타 정보를 저장하는 저장부를 포함하며,
상기 생성 조건은 상기 객체의 자세 정보를 포함하며, 상기 객체의 자세 정보는 상기 객체 전체가 배치된 위치와 각도를 지시하는 주자세 정보 및 상기 객체에 부착되어 있는 자식 객체의 위치와 각도를 지시하는 부자세 정보를 포함하며, 상기 부자세 정보는 상기 주자세의 영향을 받는 상대적인 좌표로 표기되는, 가상 데이터를 생성하는 생성기.
After creating a virtual space by reflecting the creation conditions of virtual data, arranging an object in the space, moving a viewpoint based on the object to create a virtual image, converting the virtual image into virtual data and storing it a processor that stores the data in the unit and generates the generation condition as meta information of the virtual data; and
a storage unit for storing the virtual data and meta information of the virtual data;
The creation condition includes posture information of the object, and the posture information of the object indicates main posture information indicating the position and angle of the entire object and the position and angle of a child object attached to the object A generator for generating virtual data, comprising sub-tax information, wherein the sub-tax information is expressed in relative coordinates affected by the main posture.
제1항에 있어서,
상기 생성 조건은 상기 공간에 대한 지리적 정보, 행정적 정보 또는 물리적 사물 정보 중 어느 하나 이상을 포함하며,
상기 프로세서는 상기 생성 조건을 이용하여 상기 공간의 태양 또는 달의 위치와 빛의 세기를 설정하는, 가상 데이터를 생성하는 생성기.
According to claim 1,
The creation condition includes any one or more of geographic information, administrative information, and physical thing information about the space,
The processor sets the position of the sun or the moon in the space and the intensity of light by using the generation condition, a generator for generating virtual data.
제1항에 있어서,
상기 생성 조건은 상기 공간의 기상 환경 정보를 포함하며,
상기 프로세서는 상기 기상 환경 정보를 이용하여 상기 공간에 배치된 상기 객체의 형상을 설정하는, 가상 데이터를 생성하는 생성기.
According to claim 1,
The generation condition includes weather environment information of the space,
The processor is configured to set the shape of the object disposed in the space by using the weather environment information, a generator for generating virtual data.
제1항에 있어서,
상기 생성 조건은 상기 객체의 재질 정보 또는 형상 정보 중 어느 하나 이상을 포함하며,
상기 프로세서는 상기 생성 조건을 이용하여 상기 공간에 상기 객체를 배치하는, 가상 데이터를 생성하는 생성기.
According to claim 1,
The creation condition includes any one or more of material information and shape information of the object,
and the processor places the object in the space using the creation condition.
제1항에 있어서,
상기 프로세서는 상기 객체를 기준으로 제1노이즈를 반영한 기준점을 설정하며, 상기 기준점과의 거리에 제2노이즈를 반영하여 상기 객체를 촬영한 화상 이미지를 생성하는, 가상 데이터를 생성하는 생성기.
According to claim 1,
The processor sets a reference point reflecting a first noise based on the object, and generates an image image obtained by photographing the object by reflecting a second noise at a distance from the reference point.
제5항에 있어서,
상기 프로세서는 제1시점에서 제1화상 이미지를 생성하며,
상기 프로세서는 상기 제1화상 이미지를 생성한 후, 상기 제1노이즈 또는 상기 제2노이즈를 미리 설정된 범위 이내에서 조절한 후에 상기 제1시점과 상이한 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성하는, 가상 데이터를 생성하는 생성기.
6. The method of claim 5,
The processor generates a first image image at a first time point,
After generating the first image, the processor adjusts the first noise or the second noise within a preset range, and then moves the viewpoint to a second viewpoint different from the first viewpoint to obtain a second image image A generator that creates virtual data.
제1항에 있어서,
상기 프로세서는 상기 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드와 상기 화상 이미지를 이미지 프로세싱하여 가상 데이터를 상기 저장부에 저장하는 제2쓰레드를 실행시키며,
상기 프로세서는 상기 제1쓰레드과 상기 제2쓰레드를 병렬로 수행하는, 가상 데이터를 생성하는 생성기.
According to claim 1,
The processor executes a first thread for generating an image image after moving the viewpoint and a second thread for image processing the image image to store virtual data in the storage unit,
The processor performs the first thread and the second thread in parallel, a generator for generating virtual data.
제7항에 있어서,
상기 제1쓰레드가 기록 대기열에 상기 화상 이미지를 하나 이상 추가하며,
상기 제2쓰레드가 상기 기록 대기열에서 FIFO 방식으로 상기 하나 이상의 화상 이미지 중 하나를 인출하는, 가상 데이터를 생성하는 생성기.
8. The method of claim 7,
the first thread adds one or more video images to a write queue;
and the second thread fetches one of the one or more picture images in a FIFO manner from the write queue.
생성기의 프로세서가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계;
상기 프로세서가 상기 공간에 객체를 배치한 후, 상기 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계;
상기 프로세서가 상기 가상의 이미지를 가상 데이터로 변환하고 상기 생성 조건을 상기 가상 데이터의 메타 정보로 생성하는 단계; 및
상기 프로세서가 상기 가상 데이터 및 상기 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 포함하며,
상기 생성 조건은 상기 객체의 자세 정보를 포함하며, 상기 객체의 자세 정보는 상기 객체 전체가 배치된 위치와 각도를 지시하는 주자세 정보 및 상기 객체에 부착되어 있는 자식 객체의 위치와 각도를 지시하는 부자세 정보를 포함하며, 상기 부자세 정보는 상기 주자세의 영향을 받는 상대적인 좌표로 표기되는, 가상 데이터를 생성하는 방법.
generating, by a processor of a generator, a virtual space by reflecting a generation condition of virtual data;
generating, by the processor, a virtual image by moving a viewpoint based on the object after arranging the object in the space;
converting, by the processor, the virtual image into virtual data and generating the generation condition as meta information of the virtual data; and
and storing, by the processor, the virtual data and meta information of the virtual data in a storage unit,
The creation condition includes posture information of the object, and the posture information of the object indicates main posture information indicating the position and angle of the entire object and the position and angle of a child object attached to the object A method of generating virtual data comprising sub-tax information, wherein the sub-tax information is expressed as relative coordinates affected by the main posture.
제9항에 있어서,
상기 생성 조건은 상기 공간에 대한 지리적 정보, 행정적 정보 또는 물리적 사물 정보 중 어느 하나 이상을 포함하며,
상기 프로세서가 상기 생성 조건을 이용하여 상기 공간의 태양 또는 달의 위치와 빛의 세기를 설정하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
10. The method of claim 9,
The creation condition includes any one or more of geographic information, administrative information, and physical thing information about the space,
The method of generating virtual data, further comprising the step of the processor setting the position of the sun or the moon in the space and the intensity of light by using the generation condition.
제9항에 있어서,
상기 생성 조건은 상기 공간의 기상 환경 정보를 포함하며,
상기 프로세서가 상기 기상 환경 정보를 이용하여 상기 공간에 배치된 상기 객체의 형상을 설정하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
10. The method of claim 9,
The generation condition includes weather environment information of the space,
The method of generating virtual data, further comprising the step of the processor setting the shape of the object disposed in the space by using the weather environment information.
제9항에 있어서,
상기 생성 조건은 상기 객체의 재질 정보 또는 형상 정보 중 어느 하나 이상을 포함하며,
상기 프로세서가 상기 생성 조건을 이용하여 상기 공간에 상기 객체를 배치하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
10. The method of claim 9,
The creation condition includes any one or more of material information and shape information of the object,
The method of generating virtual data, further comprising the step of the processor placing the object in the space using the creation condition.
제9항에 있어서,
상기 프로세서가 상기 객체를 기준으로 제1노이즈를 반영한 기준점을 설정하며, 상기 기준점과의 거리에 제2노이즈를 반영하여 상기 객체를 촬영한 화상 이미지를 생성하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
10. The method of claim 9,
Creating, by the processor, a reference point reflecting a first noise based on the object, and generating an image image obtained by photographing the object by reflecting a second noise at a distance from the reference point How to.
제13항에 있어서,
상기 프로세서가 제1시점에서 제1화상 이미지를 생성하는 단계; 및
상기 프로세서가 상기 제1화상 이미지를 생성한 후, 상기 제1노이즈 또는 상기 제2노이즈를 미리 설정된 범위 이내에서 조절한 후에 상기 제1시점과 상이한 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
14. The method of claim 13,
generating, by the processor, a first image image at a first viewpoint; and
After the processor generates the first video image, after adjusting the first noise or the second noise within a preset range, the view point is moved to a second point of view different from the first point of view to obtain a second video image The method of generating virtual data, further comprising the step of generating
제9항에 있어서,
상기 프로세서가 상기 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드와 상기 화상 이미지를 이미지 프로세싱하여 가상 데이터를 상기 저장부에 저장하는 제2쓰레드를 실행시키는 단계; 및
상기 프로세서가 상기 제1쓰레드과 상기 제2쓰레드를 병렬로 수행하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
10. The method of claim 9,
executing, by the processor, a first thread for generating an image image and a second thread for image processing the image image and storing virtual data in the storage unit after moving the viewpoint; and
The method of generating virtual data, further comprising the step of the processor executing the first thread and the second thread in parallel.
제15항에 있어서,
상기 제1쓰레드가 기록 대기열에 상기 화상 이미지를 하나 이상 추가하는 단계; 및
상기 제2쓰레드가 상기 기록 대기열에서 FIFO 방식으로 상기 하나 이상의 화상 이미지 중 하나를 인출하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.

16. The method of claim 15,
adding, by the first thread, one or more of the video images to a recording queue; and
and the second thread fetching one of the one or more picture images in a FIFO manner from the write queue.

KR1020210177988A 2021-06-10 2021-12-13 Method of generating virtual data and device of generating thereof KR102445556B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210075261 2021-06-10
KR20210075261 2021-06-10

Publications (1)

Publication Number Publication Date
KR102445556B1 true KR102445556B1 (en) 2022-09-21

Family

ID=83452827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210177988A KR102445556B1 (en) 2021-06-10 2021-12-13 Method of generating virtual data and device of generating thereof

Country Status (1)

Country Link
KR (1) KR102445556B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240052467A (en) 2022-10-14 2024-04-23 주식회사 이엘피케이뉴 Air vehicle tracking system and object tracking method using simulator for deep learning flight test and flight test simulator

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170074413A (en) * 2015-12-22 2017-06-30 연세대학교 산학협력단 2d image data generation system using of 3d model, and thereof method
KR101886754B1 (en) * 2017-05-04 2018-09-10 국방과학연구소 Apparatus and method for generating a learning image for machine learning
KR101947650B1 (en) * 2017-11-14 2019-05-20 국방과학연구소 Apparatus and method for generating learning image in game engine-based machine learning
KR20200087310A (en) * 2018-12-28 2020-07-21 소프트온넷(주) System and method for generation and augmentation of annotation learning data for deep learning in artificial intelligence picture reading
KR20200108609A (en) * 2019-03-11 2020-09-21 연세대학교 산학협력단 Learning-data enhancement device for machine learning model and method for learning-data enhancement
KR20200136723A (en) * 2019-05-28 2020-12-08 한국전자통신연구원 Method and apparatus for generating learning data for object recognition using virtual city model
KR102291162B1 (en) * 2020-12-01 2021-08-20 주식회사 딥노이드 Apparatus and method for generating virtual data for artificial intelligence learning

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170074413A (en) * 2015-12-22 2017-06-30 연세대학교 산학협력단 2d image data generation system using of 3d model, and thereof method
KR101886754B1 (en) * 2017-05-04 2018-09-10 국방과학연구소 Apparatus and method for generating a learning image for machine learning
KR101947650B1 (en) * 2017-11-14 2019-05-20 국방과학연구소 Apparatus and method for generating learning image in game engine-based machine learning
KR20200087310A (en) * 2018-12-28 2020-07-21 소프트온넷(주) System and method for generation and augmentation of annotation learning data for deep learning in artificial intelligence picture reading
KR20200108609A (en) * 2019-03-11 2020-09-21 연세대학교 산학협력단 Learning-data enhancement device for machine learning model and method for learning-data enhancement
KR20200136723A (en) * 2019-05-28 2020-12-08 한국전자통신연구원 Method and apparatus for generating learning data for object recognition using virtual city model
KR102291162B1 (en) * 2020-12-01 2021-08-20 주식회사 딥노이드 Apparatus and method for generating virtual data for artificial intelligence learning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240052467A (en) 2022-10-14 2024-04-23 주식회사 이엘피케이뉴 Air vehicle tracking system and object tracking method using simulator for deep learning flight test and flight test simulator

Similar Documents

Publication Publication Date Title
Xiang et al. Mini-unmanned aerial vehicle-based remote sensing: Techniques, applications, and prospects
Daneshmand et al. 3d scanning: A comprehensive survey
CN109643125B (en) Realistic 3D virtual world creation and simulation for training an autonomous driving system
US11120301B2 (en) Methods for generating a dataset of corresponding images for machine vision learning
JP5980295B2 (en) Camera posture determination method and real environment object recognition method
US11989899B2 (en) Determining object structure using physically mounted devices with only partial view of object
Lin et al. Capturing, reconstructing, and simulating: the urbanscene3d dataset
CN102317973A (en) Fusion of a 2d electro-optical image and 3d point cloud data for scene interpretation and registration performance assessment
Díaz et al. Customizing unmanned aircraft systems to reduce forest inventory costs: can oblique images substantially improve the 3D reconstruction of the canopy?
US20230281913A1 (en) Radiance Fields for Three-Dimensional Reconstruction and Novel View Synthesis in Large-Scale Environments
KR102445556B1 (en) Method of generating virtual data and device of generating thereof
Gao et al. Large-scale synthetic urban dataset for aerial scene understanding
Ramakrishnan et al. Shadow compensation for outdoor perception
Spicer et al. Producing usable simulation terrain data from UAS-collected imagery
Leberl et al. Aerial computer vision for a 3d virtual habitat
Maltezos et al. Improving the visualisation of 3D textured models via shadow detection and removal
CN115292287A (en) Automatic labeling and database construction method for satellite feature component image
Iwaszczuk et al. Model-to-image registration and automatic texture mapping using a video sequence taken by a mini UAV
Hammoudi Contributions to the 3D city modeling: 3D polyhedral building model reconstruction from aerial images and 3D facade modeling from terrestrial 3D point cloud and images
US20210168283A1 (en) Method and a system to provide aerial visualization of large landscape area
Hassan et al. Generation of Digital Surface Model (DSM) USING UAV/QUADCOPTER
KR102540634B1 (en) Method for create a projection-based colormap and computer program recorded on record-medium for executing method therefor
Shende Heritage3DMtl: A Multi-modal UAV Dataset of Heritage Buildings for Digital Preservation
Shafaat Change detection of urban vegetation from terrestrial laser scanning and drone photogrammetry
Frommholz et al. Geospecific terrain databases for military simulation environments