KR102445556B1 - Method of generating virtual data and device of generating thereof - Google Patents
Method of generating virtual data and device of generating thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G06K9/6256—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human 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
Description
본 발명은 가상 데이터를 생성하는 방법 및 장치에 관한 것이다.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
인터페이스(130)는 사용자가 가상 데이터를 생성하는데 필요한 생성 조건을 입력하거나 결과물을 표시한다. 생성 조건이란 특정 위치, 혹은 특정한 지형, 특정한 건물 등에 대한 조건, 해당 위치에 놓여질 혹은 검색대상인 사물이나 사람에 대한 정보, 날씨나 온도 등 기후 조건, 오전/밤/낮 등의 시간 조건, 특수한 상황에 대한 조건 등을 포함한다. The
프로세서(processor)(150)는 인터페이스(130)로부터 제공되는 조건을 적용하여 가상 데이터를 생성한다. 프로세서(processor)(150)는 가상 데이터를 생성하는 과정에서 이전에 유사한 조건에 따라 생성한 가상 데이터를 이용할 수 있다. The
저장부(170)는 프로세서(150)가 생성한 가상 데이터를 저장한다. 저장부(170)는 가상의 이미지 데이터 및 메타 정보를 저장하는 데이터베이스(DB, database)를 일 실시예로 한다. 또는 저장부(170)는 파일 시스템을 포함하는 저장매체, 저장 장치 등을 일 실시예로 한다.The
프로세서(150)는 저장부(170)에 저장된 가상 데이터를 이용하여 새로운 가상 데이터를 생성할 수 있다. 저장부(170)는 임시적으로 또는 영구적으로 이미지나 객체 정보, 기타 설정 정보 등을 저장할 수 있다. 또한 생성기(100)는 외부와 통신하는 통신부를 더 포함할 수 있다. 객체는 사람이나 사물 등 탐지의 대상을 지칭한다. 드론이나 차량 등이 객체 탐지(Object Detection)을 수행할 경우 탐지의 대상을 객체라 지칭한다. The
저장부(170)는 데이터베이스가 구성된 영역과 별도의 저장 매체 영역으로 구분될 수 있다. 또는 저장부(170)는 데이터베이스와 일체의 저장 매체로 구성될 수 있다. The
정리하면, 프로세서(150)는 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 공간에 객체를 배치한다. 그리고 프로세서(150)는 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하고 가상의 이미지를 가상 데이터로 변환하여 저장부(170)에 저장한다. 이 과정에서 생성 조건을 가상 데이터의 메타 정보로 생성할 수 있다. In summary, the
저장부(170)는 가상 데이터 및 가상 데이터의 메타 정보를 저장한다. The
본 발명의 실시예에 의한 생성기(100)는 강우 및 강설의 양을 자동으로 설정하여 발생하는 가상 데이터를 생성할 수 있다. 또한, 안개, 연막이나 구름 및 연무 등의 영향에 의한 가시조건을 자동으로 생성하여 객체의 가상 데이터를 생성할 수 있다. 또한, 생성기(100)는 조명 및 빛의 각도나 그림자 등을 다양하게 발생시켜 다양한 조건과 각도에서 객체를 촬영한 것과 같은 가상객체의 영상을 가상 데이터로 생성할 수 있다. The
본 발명의 실시예에 의한 생성기(100)는 객체의 배경이나 환경이 계절적인 변화에 대해서도 색감이나 특징을 변화하여 이런 배경으로 다양한 객체의 학습영상을 자동으로 생성할 수 있다. The
본 발명의 실시예에 의한 생성기(100)는 객체의 거리와 뷰잉(Viewing) 각도를 자동으로 변화하여 다양한 객체의 학습데이터를 생성할 수 있다. 또한, 본 발명의 실시예에 의한 생성기(100)는 객체의 배경에 대한 바이어스(Bias)를 제거하기 위하여 다양한 배경에 배치된 객체의 가상 데이터를 생성할 수 있다. The
그리고, 본 발명의 실시예에 의한 생성기(100)는 다양한 변화를 수동적인 메뉴 혹은 파일구조를 기반으로 자동으로 설정하고 이를 적용한 가상 데이터를 배치(Batch) 형태로 자동처리하여 가상 데이터를 용이하게 생성할 수 있도록 한다. In addition, the
본 발명의 실시예에 의한 생성기(100)는 외부의 다양한 전천후 환경에서 객체를 탐지하는 다음의 분야에 필요한 가상 데이터를 생성한다. 즉, 생성기(100)는 드론에 탑재된 영상센서를 이용한 객체 탐지를 위한 가상 데이터를 생성한다. 또한, 생성기(100)는 자율차 및 무인차량에 탑재된 영상센서를 이용한 객체 탐지를 위한 가상 데이터를 생성한다. The
또한, 생성기(100)는 자동으로 감시 및 정찰하는 모든 디바이스, 예를 들어 실외용 지능형 감시카메라에서 객체탐지를 위한 가상 데이터를 생성한다. In addition, the
본 발명의 실시예에 의한 생성기(100)는 로봇에 탑재된 영상센서를 기반으로 물체를 탐지하여 자율주행 혹은 자동검사 등을 수행하기 위한 가상 데이터를 생성한다.The
뿐만 아니라, 생성기(100)는 다양한 객체를 중심으로 가상 데이터를 생성할 수 있으므로, 실외환경에서 필요한 모든 물체를 인식하는데 적용가능하며 실외환경에서 변화하는 모든 것을 포함하는 학습 데이터를 가상 데이터로 생성할 수 있다.In addition, since the
특히, 생성기(100)는 다양한 배경의 범위에 전천후 자연환경, 대기환경, 조명변화, 빛의 변화 및 계절적인 변화를 모두 포함시킬 수 있으므로 다양한 가상 데이터를 생성할 수 있다.In particular, since the
생성기(100)는 수동으로 변화하는 것과 파일형태에서 매개변수를 자동으로 변화하게 하여 배치로 다양한 조건들을 생성하여 가상 데이터를 풍부하게 생성할 수 있다. The
도 1에서 인터페이스(130)는 사용자가 직접 생성 조건을 입력하거나 혹은 자동으로 생성 조건이 입력될 수 있도록 한다. In FIG. 1 , the
일 실시예로, 인터페이스(130)는 수동 입력 기능과 자동 배치(batch) 기능을 사용자가 선택할 수 있도록 한다. 또한 인터페이스(130)는 사용자가 기존의 배치 작업을 편집할 수 있도록 다양한 GUI(Graphic User Interface) 환경을 제공할 수 있다. In one embodiment, the
또한, 인터페이스(130)는 사용자의 편의를 위한 툴팁 기능이나 사용자가 선호하는 언어로 설명을 제공할 수 있다. Also, the
특정 공간에 대한 생성 조건을 사용자가 입력할 경우, 해당 공간을 구현한 맵에서 사용자는 객체를 배치할 구역을 직접 지정할 수 있다. 사용자가 구역을 지정하는 방식의 일 실시예로, 사각형, 다각형 또는 비정형의 선 등으로 구역의 경계선을 지정할 수 있다. 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
도 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
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
다음으로, 생성기(100)는 객체를 선택한다(S12). 사용자가 인터페이스(130)를 이용하여 객체를 선택하거나 미리 정해진 정보를 로딩하는 방식으로 이루어질 수 있다. 가상 데이터에 기록하고 기록에 사용될 객체를 선택(Acquisition Object Selection)한다. Next, the
객체선택 단계(S12)에서 생성기(100)는 기록에 사용될 객체를 자동으로 설정된 분류나 메타정보를 기입할 수 있다. 또는 사용자가 인터페이스(130)를 이용하여 객체에 대한 분류나 메타정보를 입력할 수 있다. 이는 사용자의 설정에 따라 객체를 선택하는 단계이며, 생성기(100) 내부에 탑재된 기본 객체 이외에 외부에서 객체를 자동으로 불러와 사용할 수 있다. In the object selection step ( S12 ), the
사용자는 인터페이스(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
또한, 사용자의 입력이 따로 없을 경우 로딩한 모든 객체가 기록 대상으로 선택될 수 있다.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 데이터셋)에 분류 데이터가 입력되도록 할 수 있다.
다음으로 생성기(100)는 공간선택을 수행한다(S13). 생성기(100)는 사용자가 인터페이스(130)로 입력한 정보를 이용하거나 자동으로 객체를 생성할 도메인 공간 내의 좌표를 선택한다. 프로세서(150)는 임의로 사각형 또는 다각형 영역으로 공간을 선택할 수 있다. 일 실시예로, 프로세서(150)는 공간 선택을 수행함에 있어서 일정한 데이터(혹은 미리 저장된 정보)를 이용하여 자동으로 공간을 선택할 수 있다. 또한, 프로세서(150)는 필수로 입력된 기본적인 사각형 영역 (최소, 최대 좌표) 에서 임의로 공간을 선택(지역임의선택(사각형))할 수 있다. 그리고 프로세서(150)는 사용자가 입력한 다각형 영역 데이터가 하나 이상 있을 경우 이 영역 안쪽에 각각 임의로 좌표를 선택하여 공간을 선택(지역임의선택(다각형))할 수 있다. 도메인 공간선택(Domain Space Selection) 과정에서 프로세서(150)는 특정한 위치 외에도 특정한 지형 등이 입력되면 이에 따라 공간을 선택할 수 있다. Next, the
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
공간 선택 과정에서 프로세서(150) 또는 인터페이스(130)는 1개의 사각형 영역에 대한 정보(예를 들어, 최대, 최소 좌표)를 필수로 입력받을 수 있으며, 또는 사용자가 정의할 수 있는 다각형 영역 1개 이상을 입력받을 수 있다. 다각형 영역 입력 시, 여러 영역들 중 1개를 임의 선택하여 사용하며, 입력되지 않았을 시 사각형 영역에서 임의로 좌표가 선택 된다.In the space selection process, the
도메인 공간 및 임의 선택 방식에 대해서는 도 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
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
생성시 객체가 다른 객체 또는 지형과 심하게 겹칠 경우, 프로세서(150)는 생성 단계를 최대 N회까지 재귀 호출하여 객체의 재생성을 시도한다. 재생성이 실패할 경우 해당 객체는 삭제되어 기록에서 제외된다. 전술한 N은 미리 설정되거나, 선택한 공간 또는 객체에 따라 달리 설정될 수 있다.When an object heavily overlaps with another object or terrain during creation, the
다음으로, 생성기(100)는 시점 이동을 수행한다(S14). 시점 이동은 공간에 배치된 객체를 다양한 시점에서 바라본 가상 데이터를 생성할 수 있도록 프로세서(150)가 생성 시점을 이동시키는 과정이다. 프로세서(150)는 수동 시점 이동(Manual View Positioning) 또는 자동 시점 이동(Automatic View Positioning) 중 어느 하나 또는 둘을 조합하여 시점이동을 수행할 수 있다. 시점 이동에 대해서는 도 5에서 상세히 살펴본다.Next, the
자동 시점 이동의 경우 프로세서(150)는 선택된 객체들마다 자동으로 시점을 이동하여 다양한 시점의 가상 데이터를 생성할 수 있다.In the case of automatic viewpoint movement, the
시점 이동 과정에서 생성기(100)는 데이터를 취득한다(S15). 프로세서(150)는 특정 시점에 대응하여 가상 데이터가 될 화상 이미지를 취득한다. 일 실시예로 프로세서(150)는 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이미지 파일로 기록할 수 있다. In the process of moving the viewpoint, the
일 실시예로 프로세서(150)는 병렬성을 위해 멀티쓰레딩(multi-threading)을 사용할 수 있다. 즉, 프로세서(150)는 병렬적으로 데이터를 취득(Parallel Data Acquisition)하여 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이미지 파일로 기록할 수 있다. 도 9에서 상세히 살펴본다. In an embodiment, the
생성기(100)는 데이터 취득이 확정되면 이미지와 메타 정보를 저장한다(S16). 프로세서(150)는 기록을 완료하거나 도중 중단할 경우 현재까지의 결과 데이터를 확정하여 이미지에 대한 주석 (annotation) 을 파일로 기록하는 데이터 취득확정(Data Acquisition Finalization) 및 저장 과정을 수행한다. When the data acquisition is confirmed, the
S11 내지 S13은 프로세서(150)가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계를 보여준다. S11 to S13 show the steps in which the
S14 내지 S15은 프로세서(150)가 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계를 보여준다.S14 to S15 show the steps of the
S16은 프로세서(150)가 가상의 이미지를 가상 데이터로 변환하고 생성 조건을 가상 데이터의 메타 정보로 생성하는 단계와 프로세서가 가상 데이터 및 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 보여준다.S16 shows a step in which the
전술한 각 단계에 대해 보다 상세히 살펴본다.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
프로세서(150)가 설정하는 제1하위정보(21)는 도메인 공간에 대한 정보이다. 프로세서(150)는 기록할 객체를 배치할 공간과 그에 대한 변화나 설정을 가상 데이터 생성에 반영할 수 있다. The
일 실시예로, 프로세서(150)는 도메인 공간을 광역 도메인과 지역 도메인으로 구분하여 가상 데이터 생성에 적용할 수 있다. 또한, 사용자가 공간에 대한 특정한 조건을 입력할 경우 그 조건에 해당하는 지역을 프로세서(150)가 임의로 선택(지역 임의 선택)할 수 있다. In an embodiment, the
광역 도메인(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
지역 도메인(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
도메인 공간에 대한 생성 조건은 지리적 정보 또는 행정적 정보 또는 물리적 사물 정보를 포함할 수 있다. 지리적 정보는 앞서 광역 도메인 또는 지역 도메인 중에서 물리적 좌표를 일 실시예로 한다. 행정적 정보는 앞서 광역 도메인 또는 지역 도메인 중에서 행정적인 명칭을 일 실시예로 한다. 물리적 사물 정보는 해당 공간에 배치되는 건물, 혹은 해당 공간을 묘사하는 산, 바다, 해안가 등의 정보를 일 실시예로 한다.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
프로세서(150)는 광역 도메인을 이용하여 태양 또는 달과 같은 빛의 세기, 위치 등을 설정할 수 있다. The
지역 임의 선택(Local Random Selection)은 프로세서(150)가 도메인 내에 미리 세부 구역을 다각형으로 나누고 이 다각형 내부의 영역에서 사용자 또는 프로세서(150)가 임의/자동으로 공간을 선택하는 실시예이다. 세부 구역은 사용자가 직접 지정할 수도 있다. 다각형 영역 지정이 필요치 않거나, 적용이 어려운 경우 프로세서(150)는 지역 도메인에서 사각형 영역을 지정하여 선택하도록 조정할 수 있다. Local random selection is an embodiment in which the
전술한 도메인의 설정 방식 외에도 프로세서(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
프로세서(150)가 설정하는 제2하위정보(22)는 기상환경변화에 대한 정보이다. 프로세서(150)는 조명(광원), 강우/강설 날씨환경, 안개, 구름 등의 임의 설정값을 포함하는 공간의 특성을 가상 데이터 생성에 적용할 수 있다. The
일 실시예로, 외부의 조명의 변화, 강수 상황, 구름 여부, 안개 여부 등을 프로세서(150)가 설정하거나 다변화시킬 수 있다. 조명의 변화는 해당 공간 주변의 건물들이나 가로등의 조명 상황을 포함한다. 또는 프로세서(150)가 가상으로 가로등을 설치하거나 인접 건물의 실내등/간판 조명을 온/오프 시킬 수 있다. As an embodiment, the
또한, 프로세서(150)는 비가 오는 상황이나 눈이 내리는 상황 등 강수 상황을 설정할 수 있다. 또한, 프로세서(150)는 구름이 배치된 상황, 또는 구름이 태양을 가리는 상황 등을 설정할 수 있으며, 안개가 발생된 정도를 설정할 수 있다.In addition, the
정리하면, 기상환경변화는 외부의 조명이나 태양/달과 같은 광원의 변화, 기상 상태의 변화 등을 설정하는 것을 일 실시예로 한다. 도시를 도메인으로 할 경우, 프로세서(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
일 실시예로 프로세서(150)는 눈이나 물로 인해 객체의 하단부가 물에 잠기거나 객체의 일부분이 눈에 의해 외부로부터 차단된 상황을 반영하여 가상 데이터를 생성할 수 있다. 프로세서(150)는 비 또는 눈이 내린 시간을 반영하여 가상 데이터를 생성할 수 있으며, 프로세서(150)는 시간 정보 역시 가상 데이터에 대한 메타 정보로 구성하여 저장부(170)에 저장할 수 있다. In an embodiment, the
다음으로, 프로세서(150)가 설정하는 제3하위정보(23)는 객체의 물리적 변화이다. 프로세서(150)는 기록할 객체의 방향성, 위치 및 재질 등에 대한 변화를 가상 데이터 생성에 반영할 수 있다. Next, the
객체는 다양한 자세로 배치될 수 있다. 일 실시예로, 주자세(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
전술한 실시예를 적용할 경우, 생성기(100)는 미리 만들어져 있는 여러 종류의 공간 또는 사용자의 선택이나 자동으로 생성된 공간 내에서 인식하고자 하는 객체를 생성하고 이에 대해 3차원으로 시점을 확보하여 가상 데이터를 생성하여 기록한다. 생성기(100)는 가상 데이터를 생성하는데 있어 다양하게 변화를 설정할 수 있도록 전술한 바와 같이 공간, 객체, 시점, 기상 등을 세밀하게 설정할 수 있다. When the above-described embodiment is applied, the
또한, 생성기(100) 내에서 기상, 조명 등과 같은 환경에 대한 설정이 가능하며 이 설정을 다수 만들어 순차적으로 기록하므로 생성기(100)는 다양한 기상과 조명의 상황에서 가상 데이터를 생성할 수 있다. In addition, it is possible to set the environment such as weather and lighting in the
또한 가상 데이터의 빠른 생성 및 처리를 위해 생성기(100)는 데이터 생성의 시작과 동시에 시점의 변경과 기록이 이루어지도록 할 수 있으며, 생성기(100)가 가상 데이터 생성 도중에 중단하더라도 해당 시점까지의 데이터가 모두 기록될 수 있도록 한다. In addition, for quick creation and processing of virtual data, the
생성기(100)는 소프트웨어로 구성될 수 있으며, 생성기(100)는 고성능 데스크탑 PC나 노트북 등에 설치되어 실행될 수 있다. 또는 생성기(100)는 하드웨어 일체 소프트웨어로 구성될 수도 있다. 본 명세서에서 생성기(100)는 가상 데이터를 생성하는 소프트웨어뿐만 아니라 가상 데이터를 생성하는 소프트웨어가 설치된 장치까지도 포괄하는 개념이다.The
도 3과 같이 생성기(100)가 도메인 공간, 기상환경 변화, 객체물리 변화를 적용하여 가상 데이터를 생성할 경우 실외의 다양한 환경변화(대기조건, 조명조건, 계절적 변화조건, 악천후 환경조건 등)를 가상 데이터에 포함시킬 수 있다. 이러한 가상 데이터는 다양한 실외의 자연환경에 배치된 다양한 객체를 포함하여 생성되므로, 이들 가상 데이터를 이용하여 학습한 인공지능 모듈은 자동 탐지 성능을 향상시킬 수 있다. 3, when the
도 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
또한, 지역 임의 선택의 일 실시예로 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
또한, 지역 임의 선택의 일 실시예로 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
도 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
도 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
이는 T와 촬영 시점인 P 사이의 거리를 다양하게 설정해주어 생성기(100)가 생성하는 가상 데이터에 다양성을 제공한다. 노이즈가 0일 경우 c' = c 를 만족한다. This provides variety to the virtual data generated by the
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
이 과정에서 P를 산출하기 위해 생성기(100)는 c'라는 노이즈와 d'라는 노이즈를 반영하여 다양하게 변화된 거리와 방향에서 T를 촬영한 가상 데이터를 생성할 수 있다. 29은 c'이 0인 경우 드론이 이동할 수 있는 반원을 표시한다. In this process, in order to calculate P, the
한편, 도 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
예를 들어, 계산된 기록 지점이 장애물의 안쪽인 경우(빌딩 안, 자동차 안 등의 상황)이거나, 계산된 기록 지점이 지표면보다 낮은 지하인 경우, 프로세서(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
또한, 계산된 기록 지점에서 기록할 객체가 보이지 않는 경우, 프로세서(150)는 해당 시점에 대한 기록을 생략할 수 있다.Also, when an object to be recorded is not seen at the calculated recording point, the
도 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
일 실시예로 프로세서(150)는 시점 이동을 통해 다수의 시점을 확보할 수 있는데, 각각의 시점들에서 화상 이미지를 생성하는 과정에서, 전술한 제1노이즈와 제2노이즈를 변경할 수 있다. 예를 들어, 프로세서(150)는 제1시점에서 제1화상 이미지를 생성한다. In an embodiment, the
그리고 프로세서(150)는 제1화상 이미지를 생성한 후, 제1노이즈 또는 제2노이즈를 미리 설정된 범위 이내에서 조절한다. 이 경우, 도 5의 27 또는 28의 위치나 크기가 달라질 수 있다. 그리고 프로세서(150)는 제1시점과 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성한다. And, after generating the first image image, the
이와 같이 노이즈, 예를 들어 c' 및 D를 지속적으로 변경함으로써, 생성기(100)는 가상 데이터에 포함된 객체의 크기나 시점에 다양성을 제공할 수 있다. 즉, 생성기(100)는 동일한 객체에 대해 다양한 각도와 다양한 거리, 또는 다양한 중심지점에 기반하여 가상 데이터를 생성할 수 있으며, 이로 인해 동일한 객체에 대한 탐지 가능성을 높이는 다양한 가상 데이터를 인공지능의 학습에 적용할 수 있다. As described above, by continuously changing noise, for example, c′ and D, the
도 6은 본 발명의 일 실시예에 의한 기상환경 변화를 구현한 도면이다. 프로세서(150)는 공간의 기상 환경 정보를 가상 데이터의 생성 조건으로 반영하여 가상 데이터를 생성할 수 있다. 또한, 프로세서(150)는 기상 환경 정보를 이용하여 공간에 배치된 객체의 형상을 설정할 수 있다. 6 is a view showing a change in the weather environment according to an embodiment of the present invention. The
앞서 살펴본 바와 같이, 조명(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
프로세서(150)는 조명(31) 또는 광원에 대해 태양광, 월광 등의 실환경 광원의 입사 위치, 색상, 그리고 밝기 등의 변화를 적용하여 가상 데이터를 생성할 수 있다. 조명(31)에 대한 설정 정보들은 도 5의 도메인 변화 공간 밑의 지리적 공간의 값으로부터 영향을 받을 수 있으며, 기상 변화 공간의 다른 요소들(예를 들어, 32, 33, 34 등)으로부터 영향을 받을 수 있다. The
일 실시예로 프로세서(150)는 대기상에 떠있는 구름(32)을 이용하여 태양광을 일부 차단하여 조명에 영향을 준 결과를 반영하여 가상 데이터를 생성할 수 있다. 프로세서(150)는 사용자의 설정 또는 자동으로 구름의 양, 밀도를 조절할 수 있다. 또한 프로세서(150)는 강수(33)에 의해 구름(32)이 중점적으로 조절되도록 설정할 수 있다. In an embodiment, the
프로세서(150)는 강수(33)를 이용하여 하늘에서 지상으로 떨어지는 모든 형태의 수분을 표시하며 이를 반영한 가상 데이터를 생성할 수 있다. 강수(33)는 강우, 강설 등이 포함되며, 프로세서(150)는 강수 환경의 설정이 구름(32)과 안개(34)에 상호 영향을 미칠 수 있도록 가상 데이터를 생성할 수 있다. The
그리고 다양한 기상 환경의 구성요소들(32, 33, 34)은 간접적으로 조명(31)에 영향을 미치며 프로세서(150)는 그러한 영향이 반영된 외부의 밝기에 따라 가상 데이터를 생성할 수 있다. 또한 프로세서(150)는 강수의 종류에 따라 도메인 공간의 표시 그래픽의 반사율을 변경하여 가상 데이터를 생성할 수 있다. In addition, the
안개(34)는 지표면에 가깝게 깔려있는 수증기이다. 프로세서(150)는 안개(34)가 배치된 경우 구름(32)에 차단되지 않은 태양광(제1광선)을 산란시켜 조명(31)에 영향을 줌과 동시에 가시 거리를 변화시킨 가상 데이터를 생성할 수 있다.
인터페이스(130)는 사용자가 쉽게 기상 상황에 대한 생성 조건을 설정할 수 있도록 미리 정의된 기상 생성 조건을 출력하고 이에 대해 사용자가 선택할 수 있도록 한다.The
예를 들어, 인터페이스(130)는 "맑음", "강우", "폭우", "강설", "장마철", "대설", "안개" 등의 생성 조건을 표시할 수 있다. 또한 인터페이스(130)는 "봄", "여름", "가을", "겨울" 등의 생성 조건을 표시할 수 있다. 그리고 프로세서(150)는 사용자가 선택한 생성 조건을 반영하여 공간 상에 객체를 배치한 화상 이미지를 생성할 수 있다. For example, the
그리고 프로세서(150)는 생성 조건에 따라 해당 공간에 눈이나 비, 안개가 배치된 상황, 그리고 눈/비/안개 등에 의한 객체 외관의 변화를 적용하여 가상 데이터를 생성할 수 있다. In addition, the
도 7 및 도 8은 본 발명의 일 실시예에 의한 객체의 변화를 보여주는 도면이다. 프로세서(150)는 객체의 자세 정보, 재질 정보 또는 형상 정보 중 어느 하나 이상을 가상 데이터의 생성 조건으로 이용하여 공간에 객체를 배치할 수 있다. 7 and 8 are diagrams illustrating changes in an object according to an embodiment of the present invention. The
즉, 프로세서(150)는 타겟이 되는 객체의 외관을 자세, 재질, 형상 등으로 구분하여 설정할 수 있다. 주자세(Primary Attitude)는 객체의 3차원 위치 및 자세 각도(3DOF). 객체와 객체에 포함된 모든 자식 객체들에 영향을 미치며 모든 객체에 1개씩 존재한다. 프로세서(150)는 주자세인 객체를 촬영한 가상 데이터를 생성할 수 있다. That is, the
부자세(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
재질 변화(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
형상 변화(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
예를 들어 도 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
일 실시예로, 탱크는 수직구조(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
그리고 프로세서(150)는 시각화된 객체(사람)를 포함하는 가상 데이터를 생성한다. In addition, the
도 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
프로세서(150)는 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드(45)와 화상 이미지를 이미지 프로세싱하여 가상 데이터를 저장부(170)에 저장하는 제2쓰레드(46)를 실행시킬 수 있다. 그리고 프로세서(150)는 제1쓰레드(45)과 제2쓰레드(46)를 병렬로 수행할 수 있다. The
이미지 프로세싱이란, 제1쓰레드(45)가 생성한 화상 이미지를 제2쓰레드(46)가 특정한 형식(JPEG, PNG, TIFF 등)으로 변환하는 것을 포함한다. 이 과정에서 제1쓰레드(45)가 시점 이동을 통해 유사한 화상 이미지를 생성한 경우 제2쓰레드(46)는 앞서 생성한 가상 데이터를 일부 이용할 수 있다. The image processing includes converting the image image generated by the
시점 이동을 통해 화상 이미지를 생성한 프로세서(150)는 둘 이상의 쓰레드(thread)를 이용하여 렌더링 및 기록하는 작업을 각각의 쓰레드가 수행할 수 있도록 한다. 제1쓰레드(45)는 메인 쓰레드로 시점 이동을 수행한 후 이동이 완료된 시점을 중심으로 객체 및 객체가 놓여진 주변을 촬영한 이미지를 생성하는 렌더링 과정을 수행한다. 그리고 시점이동과 렌더링은 계속 반복된다. The
아울러 렌더링 이후 화상 이미지는 제2쓰레드(46)인 기록 쓰레드에서 이미지를 압축하여 기록한다. In addition, the image image after rendering is recorded by compressing the image in the recording thread which is the
일 실시예로, 제1쓰레드(45)인 메인 쓰레드는 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이를 기록 대기열에 추가한다(S51a, S51b, S51c). 기록 대기열은 일종의 큐(Queue)와 같이 FIFO(First-In, First Out) 방식으로 동작할 수 있다. 대기열은 동시성 대기열 (Concurrent FIFO) 이며 쓰레드간 간섭을 최소화할 수 있다. In one embodiment, the main thread, which is the
기록 대기열에는 압축되지 않은 이미지가 축적되며 기록 쓰레드(46)가 기록 대기열에 접근 가능할 경우 기록 대기열의 데이터를 팝(Pop)하여 이미지를 압축 및 기록한다. Uncompressed images are accumulated in the recording queue, and when the
즉, 기록 쓰레드(46)는 기록 대기열에서 화상 이미지를 인출하여 가상 데이터를 저장한다. 즉, 기록 쓰레드(46)는 기록 대기열에서 FIFO 방식으로 화상 이미지를 인출하여 이미지 파일로 기록한다. 이 과정에서 이미지를 압축하여 디스크에 기록하는 작업을 반복할 수 있다. 기록 쓰레드(46)는 메인 쓰레드(45)와 독립적으로 동시 실행될 수 있다.That is, the
프로세서(150)는 각 시점에서 화상 이미지를 생성함에 있어서, 일반적인 RGB 이미지 외에도 다양한 센서가 센싱한 결과를 화상 이미지로 생성할 수 있다. When generating an image image at each viewpoint, the
일 실시예로, 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
또다른 실시예로 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
뿐만 아니라 프로세서(150)는 기록을 완료하거나 도중 중단할 경우 현재까지의 결과 데이터를 확정하고 이미지에 대한 주석(annotation)을 파일로 기록할 수 있다. 프로세서(150)는 MS-COCO와 같은 형식을 적용하여 주석 파일을 생성할 수 있다. 일 실시예로, 프로세서(150)는 지금까지 기록된 모든 이미지 1개마다 다음 표 1과 같이 정보를 기록할 수 있다. In addition, when the recording is completed or stopped, the
또한, 일 실시예로 프로세서(150)는 각각의 이미지에 포함된 하나 이상의 객체에 대한 정보를 일종의 주석으로 포함시킬 수 있다. 이미지 내의 객체에 대한 정보는 표 2와 같이 생성할 수 있다. Also, according to an embodiment, the
표 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
도 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
일 실시예로, 제2쓰레드(46)는 A 및 B에서 동일한 건물(52a, 52b)의 고도 변화로 인한 화상 이미지의 차이를 각각 이미지 처리하지 않는다. 즉, 제2쓰레드(46)는 먼저 A의 건물(52a)과 객체(51a)를 포함하는 화상 이미지를 변환하여 가상 데이터(A-가상 데이터)를 생성한다. 그리고 제2쓰레드(46)는 B의 건물(52b)과 객체(51b)를 포함하는 화상 이미지를 생성하는 과정에서 A-가상 데이터를 변형하여 새로운 가상 데이터(B-가상 데이터)를 생성할 수 있다. In one embodiment, the
전술한 실시예들을 적용할 경우 생성기(100)는 다양한 환경변화(대기조건, 조명조건, 계절적 변화조건, 악천후 환경조건, 배경조건 등)를 자동으로 생성할 수 있고 이를 포함하는 다양한 가상 데이터를 생성할 수 있다.When the above-described embodiments are applied, the
전술한 본 발명의 실시예를 적용할 경우, 영상을 기반으로 물체를 자동으로 탐지하거나 음성을 기반으로 자동인식함에 있어 필요한 학습 데이터를 다량 확보하여 인공지능의 물체 탐지 능력을 높일 수 있다. 본 발명의 실시예를 적용할 경우, 영상을 기반으로 물체를 탐지하는 능력인 탐지율을 증대시킬 수 있다. 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
본 발명의 실시예를 적용할 경우, 실제 데이터에서 보여지는 환경에 대한 한계에서 자유롭게 가상 데이터를 생성할 수 있으며, 가상 데이터의 생성 과정에서 분류 작업 역시 자동으로 이루어지므로 실제 데이터에 비해 높은 경제성과 학습 성능을 제공할 수 있다. 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
또한, 본 발명의 생성기(100)는 가상으로 생성된 공간에 3D의 객체를 임의의 위치에 위치시킬 수 있다. 생성기(100)는 객체를 임의의 방향 및 위치에서 자동으로 배치시킬 수 있으며 이에 대한 가상 데이터를 생성할 수 있다. In addition, the
생성기(100)는 다양한 매개변수를 사전 메뉴에서 정의된 방법과 사전에 선정된 3D 모델에 따라서 배치(Batch) 방식으로 공간 및 객체, 기상 환경 등을 자동으로 생성할 수 있으며, 실제 데이터에 가깝게 가상 데이터를 생성하기 위해, 생성기(100)는 소수의 실측정데이터와 통합 데이터를 이용할 수 있다. The
즉, 생성기(100)는 대량의 가상 데이터와 소수의 실측 데이터를 결합한 모델에 대해 통합 학습데이터를 활용하여 가상 데이터를 자동으로 생성할 수 있다. That is, the
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(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.
상기 생성 조건은 상기 공간에 대한 지리적 정보, 행정적 정보 또는 물리적 사물 정보 중 어느 하나 이상을 포함하며,
상기 프로세서는 상기 생성 조건을 이용하여 상기 공간의 태양 또는 달의 위치와 빛의 세기를 설정하는, 가상 데이터를 생성하는 생성기.
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.
상기 생성 조건은 상기 공간의 기상 환경 정보를 포함하며,
상기 프로세서는 상기 기상 환경 정보를 이용하여 상기 공간에 배치된 상기 객체의 형상을 설정하는, 가상 데이터를 생성하는 생성기.
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.
상기 생성 조건은 상기 객체의 재질 정보 또는 형상 정보 중 어느 하나 이상을 포함하며,
상기 프로세서는 상기 생성 조건을 이용하여 상기 공간에 상기 객체를 배치하는, 가상 데이터를 생성하는 생성기.
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노이즈를 반영한 기준점을 설정하며, 상기 기준점과의 거리에 제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.
상기 프로세서는 제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쓰레드와 상기 화상 이미지를 이미지 프로세싱하여 가상 데이터를 상기 저장부에 저장하는 제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.
상기 제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.
상기 생성 조건은 상기 공간에 대한 지리적 정보, 행정적 정보 또는 물리적 사물 정보 중 어느 하나 이상을 포함하며,
상기 프로세서가 상기 생성 조건을 이용하여 상기 공간의 태양 또는 달의 위치와 빛의 세기를 설정하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
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.
상기 생성 조건은 상기 공간의 기상 환경 정보를 포함하며,
상기 프로세서가 상기 기상 환경 정보를 이용하여 상기 공간에 배치된 상기 객체의 형상을 설정하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
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.
상기 생성 조건은 상기 객체의 재질 정보 또는 형상 정보 중 어느 하나 이상을 포함하며,
상기 프로세서가 상기 생성 조건을 이용하여 상기 공간에 상기 객체를 배치하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
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.
상기 프로세서가 상기 객체를 기준으로 제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.
상기 프로세서가 제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
상기 프로세서가 상기 시점 이동을 수행한 후 화상 이미지를 생성하는 제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.
상기 제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.
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)
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)
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 |
-
2021
- 2021-12-13 KR KR1020210177988A patent/KR102445556B1/en active
Patent Citations (7)
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)
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 |