KR102445556B1 - 가상 데이터를 생성하는 방법 및 장치 - Google Patents

가상 데이터를 생성하는 방법 및 장치 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
English (en)
Inventor
박용운
김용현
Original Assignee
주식회사 에이투마인드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에이투마인드 filed Critical 주식회사 에이투마인드
Application granted granted Critical
Publication of KR102445556B1 publication Critical patent/KR102445556B1/ko

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

본 발명은 가상 데이터를 생성하는 방법 및 장치에 관한 것으로서, 본 발명의 일 실시예에 의한 가상 데이터를 생성하는 생성기는 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하여 가상의 이미지를 가상 데이터로 변환하여 저장부에 저장하며 생성 조건을 가상 데이터의 메타 정보로 생성하는 프로세서와 가상 데이터 및 가상 데이터의 메타 정보를 저장하는 저장부를 포함한다.

Description

가상 데이터를 생성하는 방법 및 장치{METHOD OF GENERATING VIRTUAL DATA AND DEVICE OF GENERATING THEREOF}
본 발명은 가상 데이터를 생성하는 방법 및 장치에 관한 것이다.
지상의 물체나 사람을 탐지하거나 추적하기 위해서 최근 드론과 같은 비행체들을 이용하는 경우가 증가하고 있다. 그리고 사람이나 물체를 탐지 또는 추적하는 과정에서 인공지능이 사용될 수 있다.
그런데, 사람이나 물체의 탐지 정확도를 높이기 위해서 인공지능 학습이 필요한데, 학습과정에서 많은 양의 학습데이터를 필요로 한다.
이러한 학습데이터는 실제로 카메라 등으로 촬영한 것을 사용할 수 있으나 그 양에 있어서 한계가 있으며 이로 인해 인공지능을 학습시키는 과정에서 한계가 있다. 따라서, 인공지능의 학습을 위한 학습데이터의 충분한 확보가 인공지능 성능을 향상시키는 핵심 기술로 요구된다.
본 발명은 가상 데이터의 생성 조건을 다변화시켜 학습 성능을 높이는 가상 데이터를 생성하고자 한다.
본 발명은 다양한 객체를 다양한 기상 상황에서 다양한 공간에 배치한 가상 데이터를 생성하고자 한다.
본 발명은 가상 데이터의 생성 조건을 설정하면 생성 조건이 적용된 공간을 자동으로 생성하여 가상 데이터의 생성 효율을 높이고자 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 가상 데이터를 생성하는 생성기는 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하여 가상의 이미지를 가상 데이터로 변환하여 저장부에 저장하며 생성 조건을 상기 가상 데이터의 메타 정보로 생성하는 프로세서; 및 가상 데이터 및 가상 데이터의 메타 정보를 저장하는 저장부를 포함한다.
본 발명의 일 실시예에 의한 가상 데이터를 생성하는 방법은 생성기의 프로세서가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계, 프로세서가 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계, 프로세서가 가상의 이미지를 가상 데이터로 변환하고 생성 조건을 가상 데이터의 메타 정보로 생성하는 단계, 및 프로세서가 가상 데이터 및 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 포함한다.
본 발명을 구현할 경우, 가상 데이터의 생성 조건을 다변화시켜 학습 성능을 높이는 가상 데이터를 생성할 수 있다.
본 발명을 구현할 경우, 다양한 객체를 다양한 기상 상황에서 다양한 공간에 배치한 가상 데이터를 생성할 수 있다.
본 발명을 구현할 경우, 가상 데이터의 생성 조건을 설정하면 생성 조건이 적용된 공간을 자동으로 생성하여 가상 데이터의 생성 효율을 높일 수 있다.
본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 의한 가상 데이터 생성기의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 생성기가 가상 데이터를 생성하는 과정을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 환경 설정과 공간을 세부적으로 생성하는 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 도메인 공간을 설정하는 도면이다.
도 5는 본 발명의 일 실시예에 의한 시점 이동을 적용하여 가상 데이터를 생성하는 도면이다.
도 6은 본 발명의 일 실시예에 의한 기상환경 변화를 구현한 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 의한 객체의 변화를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 가상 데이터를 저장하는 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 이미지 프로세싱을 보여주는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 명세서에서는 인공지능 학습을 위한 가상 데이터 생성기의 구성과 가상 데이터를 생성하는 방법에 대해 살펴본다. 본 발명의 실시예에 의해 구현되는 가상 데이터 생성기는 인공지능을 학습시키는 과정에서 필수로 제공되는 학습 데이터(가상 데이터)를 가상 환경에서 생성한다. 가상 데이터를 다량 확보할 경우, 기존의 실제 데이터나 이를 기반으로 합성된 데이터에 비해 더 효율적으로 인공지능 학습에 적용할 수 있다.
인공지능(Artificial Intelligence)을 만들기 위해서는 학습이 필요하며 이에 대한 학습 데이터의 수요가 계속 증가하고 있다. 인공지능을 학습시키는데 필요한 데이터는 실제로 존재하는 객체에 대한 화상(이미지)을 획득하여 이를 수동으로 분류(레이블링)하여 이루어질 수 있다. 이는 실제 촬영된 데이터를 이용한 실시예이다. 또한, 기존과 다른 새로운 경우가 필요할 경우 실제 데이터를 합성하여 인공 데이터를 만들어 인공지능의 학습에 적용하였다.
그런데, 실제 데이터는 직접 촬영하거나 촬영된 이미지들로 구성된 데이터베이스를 구매해야 하는 단점이 있다. 또한, 실제 데이터는 주변 환경 (기상환경, 조명) 등을 직접 조절할 수 없기 때문에 다양한 데이터를 확보할 수 없다.
본 발명의 실시예를 적용할 경우, 완전히 가상으로 주어진 환경에서 실사적인 그래픽을 구현하여 가상 데이터를 생성할 수 있다. 그리고 이렇게 생성된 가상 데이터는 충분히 다양하고 많은 실제 데이터에 근접하거나 만일 일부 적은 실 데이터와 합하여 학습을 할 경우 단순히 실제 데이터만으로 학습하는 경우와 비교하여 상회하는 학습 성능을 제공한다.
본 발명의 실시예에 의한 생성기는 사용자가 직접 확장할 수 있는 구조를 갖추므로, 인공지능 학습 과정에서 요구되는 다양한 조건이나 제약사항 등의 필요에 맞추어 가상 데이터를 생성할 수 있다.
또한 가상 데이터를 구성하는 요소인 가상 환경은 그 특성상 기후, 조명 등의 환경을 사용자가 손쉽게 조절할 수 있으므로, 실제 데이터를 사용시 발생하는 데이터 편향(Data Bias) 및 엣지 케이스 (Edge Case)의 문제를 해결할 수 있다.
데이터 편향이란 인공지능이 일반적인 상황의 데이터만 학습하는 과정에서 편향성이 발생하여 같은 물체라도 날씨나 주변 사물 등의 외부 상황이 달라지면 인식하지 못하게 되는 문제를 의미한다. 예를 들어, 자율차량이 도로 위 주행 차량을 모두 인식하지만 사고로 뒤집어진 트럭은 인지하지 못하여 추돌하는 경우이다.
엣지 케이스란 실제로 발생할 확률이 낮거나, 존재가 거의 불가능한 특수한 경우의 사례를 의미한다. 예를 들어, 눈이 오는 배경에서는 스노우보드가 인지되지만, 일반 사무실 벽에 기댄 스노우보드가 인지되지 못하는 경우를 의미한다.
본 발명의 실시예에 의한 가상 데이터를 생성하여 학습할 경우 가능한 모든 사례를 가상 데이터로 생성할 수 있으므로, 데이터 편향이나 엣지 케이스를 극복할 수 있다.
도 1은 본 발명의 일 실시예에 의한 가상 데이터 생성기의 구성을 보여주는 도면이다. 가상 데이터 생성기(Virtual Data Generator)(100)는 사용자로부터 정보를 입력받거나, 사용자에게 정보를 제공하는 인터페이스(interface)(130)를 포함한다. 또한, 가상 데이터 생성기(100)는 가상 데이터를 생성하는 프로세서(processor)(150), 가상 데이터를 저장하고 가상 데이터를 생성하는데 필요한 생성 조건 등을 저장하는 저장부(storage)(170)를 포함한다.
인터페이스(130)는 사용자가 가상 데이터를 생성하는데 필요한 생성 조건을 입력하거나 결과물을 표시한다. 생성 조건이란 특정 위치, 혹은 특정한 지형, 특정한 건물 등에 대한 조건, 해당 위치에 놓여질 혹은 검색대상인 사물이나 사람에 대한 정보, 날씨나 온도 등 기후 조건, 오전/밤/낮 등의 시간 조건, 특수한 상황에 대한 조건 등을 포함한다.
프로세서(processor)(150)는 인터페이스(130)로부터 제공되는 조건을 적용하여 가상 데이터를 생성한다. 프로세서(processor)(150)는 가상 데이터를 생성하는 과정에서 이전에 유사한 조건에 따라 생성한 가상 데이터를 이용할 수 있다.
저장부(170)는 프로세서(150)가 생성한 가상 데이터를 저장한다. 저장부(170)는 가상의 이미지 데이터 및 메타 정보를 저장하는 데이터베이스(DB, database)를 일 실시예로 한다. 또는 저장부(170)는 파일 시스템을 포함하는 저장매체, 저장 장치 등을 일 실시예로 한다.
프로세서(150)는 저장부(170)에 저장된 가상 데이터를 이용하여 새로운 가상 데이터를 생성할 수 있다. 저장부(170)는 임시적으로 또는 영구적으로 이미지나 객체 정보, 기타 설정 정보 등을 저장할 수 있다. 또한 생성기(100)는 외부와 통신하는 통신부를 더 포함할 수 있다. 객체는 사람이나 사물 등 탐지의 대상을 지칭한다. 드론이나 차량 등이 객체 탐지(Object Detection)을 수행할 경우 탐지의 대상을 객체라 지칭한다.
저장부(170)는 데이터베이스가 구성된 영역과 별도의 저장 매체 영역으로 구분될 수 있다. 또는 저장부(170)는 데이터베이스와 일체의 저장 매체로 구성될 수 있다.
정리하면, 프로세서(150)는 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 공간에 객체를 배치한다. 그리고 프로세서(150)는 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하고 가상의 이미지를 가상 데이터로 변환하여 저장부(170)에 저장한다. 이 과정에서 생성 조건을 가상 데이터의 메타 정보로 생성할 수 있다.
저장부(170)는 가상 데이터 및 가상 데이터의 메타 정보를 저장한다.
본 발명의 실시예에 의한 생성기(100)는 강우 및 강설의 양을 자동으로 설정하여 발생하는 가상 데이터를 생성할 수 있다. 또한, 안개, 연막이나 구름 및 연무 등의 영향에 의한 가시조건을 자동으로 생성하여 객체의 가상 데이터를 생성할 수 있다. 또한, 생성기(100)는 조명 및 빛의 각도나 그림자 등을 다양하게 발생시켜 다양한 조건과 각도에서 객체를 촬영한 것과 같은 가상객체의 영상을 가상 데이터로 생성할 수 있다.
본 발명의 실시예에 의한 생성기(100)는 객체의 배경이나 환경이 계절적인 변화에 대해서도 색감이나 특징을 변화하여 이런 배경으로 다양한 객체의 학습영상을 자동으로 생성할 수 있다.
본 발명의 실시예에 의한 생성기(100)는 객체의 거리와 뷰잉(Viewing) 각도를 자동으로 변화하여 다양한 객체의 학습데이터를 생성할 수 있다. 또한, 본 발명의 실시예에 의한 생성기(100)는 객체의 배경에 대한 바이어스(Bias)를 제거하기 위하여 다양한 배경에 배치된 객체의 가상 데이터를 생성할 수 있다.
그리고, 본 발명의 실시예에 의한 생성기(100)는 다양한 변화를 수동적인 메뉴 혹은 파일구조를 기반으로 자동으로 설정하고 이를 적용한 가상 데이터를 배치(Batch) 형태로 자동처리하여 가상 데이터를 용이하게 생성할 수 있도록 한다.
본 발명의 실시예에 의한 생성기(100)는 외부의 다양한 전천후 환경에서 객체를 탐지하는 다음의 분야에 필요한 가상 데이터를 생성한다. 즉, 생성기(100)는 드론에 탑재된 영상센서를 이용한 객체 탐지를 위한 가상 데이터를 생성한다. 또한, 생성기(100)는 자율차 및 무인차량에 탑재된 영상센서를 이용한 객체 탐지를 위한 가상 데이터를 생성한다.
또한, 생성기(100)는 자동으로 감시 및 정찰하는 모든 디바이스, 예를 들어 실외용 지능형 감시카메라에서 객체탐지를 위한 가상 데이터를 생성한다.
본 발명의 실시예에 의한 생성기(100)는 로봇에 탑재된 영상센서를 기반으로 물체를 탐지하여 자율주행 혹은 자동검사 등을 수행하기 위한 가상 데이터를 생성한다.
뿐만 아니라, 생성기(100)는 다양한 객체를 중심으로 가상 데이터를 생성할 수 있으므로, 실외환경에서 필요한 모든 물체를 인식하는데 적용가능하며 실외환경에서 변화하는 모든 것을 포함하는 학습 데이터를 가상 데이터로 생성할 수 있다.
특히, 생성기(100)는 다양한 배경의 범위에 전천후 자연환경, 대기환경, 조명변화, 빛의 변화 및 계절적인 변화를 모두 포함시킬 수 있으므로 다양한 가상 데이터를 생성할 수 있다.
생성기(100)는 수동으로 변화하는 것과 파일형태에서 매개변수를 자동으로 변화하게 하여 배치로 다양한 조건들을 생성하여 가상 데이터를 풍부하게 생성할 수 있다.
도 1에서 인터페이스(130)는 사용자가 직접 생성 조건을 입력하거나 혹은 자동으로 생성 조건이 입력될 수 있도록 한다.
일 실시예로, 인터페이스(130)는 수동 입력 기능과 자동 배치(batch) 기능을 사용자가 선택할 수 있도록 한다. 또한 인터페이스(130)는 사용자가 기존의 배치 작업을 편집할 수 있도록 다양한 GUI(Graphic User Interface) 환경을 제공할 수 있다.
또한, 인터페이스(130)는 사용자의 편의를 위한 툴팁 기능이나 사용자가 선호하는 언어로 설명을 제공할 수 있다.
특정 공간에 대한 생성 조건을 사용자가 입력할 경우, 해당 공간을 구현한 맵에서 사용자는 객체를 배치할 구역을 직접 지정할 수 있다. 사용자가 구역을 지정하는 방식의 일 실시예로, 사각형, 다각형 또는 비정형의 선 등으로 구역의 경계선을 지정할 수 있다.
또는 해당 공간에서 사용자가 다수의 구역을 지정하면 프로세서(150)는 각각의 구역에 객체가 배치된 화상 이미지를 가상 데이터로 생성할 수 있다.
도 2는 본 발명의 일 실시예에 의한 생성기가 가상 데이터를 생성하는 과정을 보여주는 도면이다. 생성기(100)는 가상 데이터의 환경을 설정한다(S11). 환경설정은 가상 데이터를 생성하는 환경, 즉 가상 데이터의 취득환경설정(Acquisition Environment Setting)을 의미한다. 가상 데이터의 기록에 사용될 환경에 대한 매개변수를 자동 또는 수동으로 입력하는 단계이다.
S11 단계는 가상 데이터 생성에 사용될 환경에 대한 매개변수를 입력하는 단계로, 수동, 자동, 또는 반자동 등으로 입력이 가능하다.
수동은 환경 매개변수를 생성기를 사용하는 사용자가 모두 입력하는 경우에 해당하며, 수동으로 입력한 매개변수는 별도로 저장하여 추후 반자동 입력으로 활용 가능하다.
환경 설정에서 수동 대신 일부 매개변수를 자동으로 입력할 수 있다. 사용자가 최소/최대 범위를 입력하거나 이러한 범위에 따라 계산되어 자동화가 가능하다.
환경 설정에서 매개변수 여러 개를 한번에 입력하여 순차실행 시키는 반자동 방식도 적용 가능하다. 이는 컨트롤러(150) 또는 저장부(170)가 수동으로 입력해둔 매개변수들을 저장하였다가 추후 가상 데이터를 생성할 때 해당 매개변수를 로딩하여 재활용하는 실시예이다. 자동화가 가능한 매개변수에 대해서는 후술할 변화 공간에 관한 생성 조건을 수동, 자동 또는 반자동으로 설정하는 것을 일 실시예로 한다.
다음으로, 생성기(100)는 객체를 선택한다(S12). 사용자가 인터페이스(130)를 이용하여 객체를 선택하거나 미리 정해진 정보를 로딩하는 방식으로 이루어질 수 있다. 가상 데이터에 기록하고 기록에 사용될 객체를 선택(Acquisition Object Selection)한다.
객체선택 단계(S12)에서 생성기(100)는 기록에 사용될 객체를 자동으로 설정된 분류나 메타정보를 기입할 수 있다. 또는 사용자가 인터페이스(130)를 이용하여 객체에 대한 분류나 메타정보를 입력할 수 있다. 이는 사용자의 설정에 따라 객체를 선택하는 단계이며, 생성기(100) 내부에 탑재된 기본 객체 이외에 외부에서 객체를 자동으로 불러와 사용할 수 있다.
사용자는 인터페이스(130)를 이용하여 객체를 선택하는 과정에서 기록에 사용할 객체 또는 분류를 선택할 수 있다. 이는 생성기(100)의 프로세서(150)가 객체들의 종류나 분류, 또는 미리 저장된 객체 정보를 출력하고 사용자가 이 중에서 하나 이상을 선택하는 실시예를 포함한다.
또한, 사용자의 입력이 따로 없을 경우 로딩한 모든 객체가 기록 대상으로 선택될 수 있다.
생성기(100)는 자동 분류를 가능하게 한다. 생성기(100) 내부의 저장부에 객체를 탑재(Load)할 때, 프로세서(150)는 폴더 구조를 대분류/중분류/소분류 등으로 나누거나 객체 명칭으로 분류할 수 있다. 이 과정에서 프로세서(150)는 정보를 기록시 해당 구조에 맞도록 특정한 데이터셋(예를 들어 MS-COCO 데이터셋)에 분류 데이터가 입력되도록 할 수 있다.
다음으로 생성기(100)는 공간선택을 수행한다(S13). 생성기(100)는 사용자가 인터페이스(130)로 입력한 정보를 이용하거나 자동으로 객체를 생성할 도메인 공간 내의 좌표를 선택한다. 프로세서(150)는 임의로 사각형 또는 다각형 영역으로 공간을 선택할 수 있다. 일 실시예로, 프로세서(150)는 공간 선택을 수행함에 있어서 일정한 데이터(혹은 미리 저장된 정보)를 이용하여 자동으로 공간을 선택할 수 있다. 또한, 프로세서(150)는 필수로 입력된 기본적인 사각형 영역 (최소, 최대 좌표) 에서 임의로 공간을 선택(지역임의선택(사각형))할 수 있다. 그리고 프로세서(150)는 사용자가 입력한 다각형 영역 데이터가 하나 이상 있을 경우 이 영역 안쪽에 각각 임의로 좌표를 선택하여 공간을 선택(지역임의선택(다각형))할 수 있다. 도메인 공간선택(Domain Space Selection) 과정에서 프로세서(150)는 특정한 위치 외에도 특정한 지형 등이 입력되면 이에 따라 공간을 선택할 수 있다.
S11 내지 S13의 과정은 순차적으로 또는 상이한 순서로 이루어질 수 있다. 또는 S11 내지 S13의 과정은 동일한 인터페이스에서 한번에 이루어질 수 있다. 또한 S11 내지 S13의 과정에서 선택 또는 설정된 정보는 이후에 사용자의 선택 또는 이미지 생성 과정에서 변경될 수 있다.
프로세서(150)는 다양한 공간 선택 방식을 지원하기 위해 도메인 공간 내에서 객체를 생성할 지점을 선택하는 세부 단계를 제공할 수 있다. 또한 공간에 대해 사용자가 명확하게 규정하지 않은 경우 프로세서(150)는 자동 임의로 공간을 선택할 수 있다. 또한, 사용자가 광범위하게 공간을 규정한 경우 프로세서(150)가 세부적으로 임의 공간을 선택할 수 있다.
공간 선택 과정에서 프로세서(150) 또는 인터페이스(130)는 1개의 사각형 영역에 대한 정보(예를 들어, 최대, 최소 좌표)를 필수로 입력받을 수 있으며, 또는 사용자가 정의할 수 있는 다각형 영역 1개 이상을 입력받을 수 있다. 다각형 영역 입력 시, 여러 영역들 중 1개를 임의 선택하여 사용하며, 입력되지 않았을 시 사각형 영역에서 임의로 좌표가 선택 된다.
도메인 공간 및 임의 선택 방식에 대해서는 도 3 및 도 4에서 상세히 살펴본다.
또한, 프로세서(150)는 해당 공간에 앞서 S12 단계에서 선택했던 객체를 배치할 수 있다. 이를 객체 생성(Object Creation)이라 지칭한다. 프로세서(150)는 객체를 생성하는 과정에서 각 객체에 대해 "객체물리변화(OPV, Object Physics Variance)"를 적용할 수 있다.
S12의 객체선택 단계에서 기록 대상으로 선택된 객체들은 S13의 공간 선택이 이루어지면, 프로세서(150)는 동시에 혹은 시간차를 두고, 해당 위치에서 고도를 높인 상태로 객체를 생성한다. 프로세서(150)는 생성된 객체를 물리엔진을 이용하여 주변 사물 및 지면과 충돌하면서 자연스러운 모습으로 안착(Lay-Down)시킨다.
생성시 객체가 다른 객체 또는 지형과 심하게 겹칠 경우, 프로세서(150)는 생성 단계를 최대 N회까지 재귀 호출하여 객체의 재생성을 시도한다. 재생성이 실패할 경우 해당 객체는 삭제되어 기록에서 제외된다. 전술한 N은 미리 설정되거나, 선택한 공간 또는 객체에 따라 달리 설정될 수 있다.
다음으로, 생성기(100)는 시점 이동을 수행한다(S14). 시점 이동은 공간에 배치된 객체를 다양한 시점에서 바라본 가상 데이터를 생성할 수 있도록 프로세서(150)가 생성 시점을 이동시키는 과정이다. 프로세서(150)는 수동 시점 이동(Manual View Positioning) 또는 자동 시점 이동(Automatic View Positioning) 중 어느 하나 또는 둘을 조합하여 시점이동을 수행할 수 있다. 시점 이동에 대해서는 도 5에서 상세히 살펴본다.
자동 시점 이동의 경우 프로세서(150)는 선택된 객체들마다 자동으로 시점을 이동하여 다양한 시점의 가상 데이터를 생성할 수 있다.
시점 이동 과정에서 생성기(100)는 데이터를 취득한다(S15). 프로세서(150)는 특정 시점에 대응하여 가상 데이터가 될 화상 이미지를 취득한다. 일 실시예로 프로세서(150)는 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이미지 파일로 기록할 수 있다.
일 실시예로 프로세서(150)는 병렬성을 위해 멀티쓰레딩(multi-threading)을 사용할 수 있다. 즉, 프로세서(150)는 병렬적으로 데이터를 취득(Parallel Data Acquisition)하여 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이미지 파일로 기록할 수 있다. 도 9에서 상세히 살펴본다.
생성기(100)는 데이터 취득이 확정되면 이미지와 메타 정보를 저장한다(S16). 프로세서(150)는 기록을 완료하거나 도중 중단할 경우 현재까지의 결과 데이터를 확정하여 이미지에 대한 주석 (annotation) 을 파일로 기록하는 데이터 취득확정(Data Acquisition Finalization) 및 저장 과정을 수행한다.
S11 내지 S13은 프로세서(150)가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계를 보여준다.
S14 내지 S15은 프로세서(150)가 공간에 객체를 배치한 후, 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계를 보여준다.
S16은 프로세서(150)가 가상의 이미지를 가상 데이터로 변환하고 생성 조건을 가상 데이터의 메타 정보로 생성하는 단계와 프로세서가 가상 데이터 및 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 보여준다.
전술한 각 단계에 대해 보다 상세히 살펴본다.
도 3은 본 발명의 일 실시예에 의한 환경 설정과 공간을 세부적으로 생성하는 구성을 보여주는 도면이다. 도 3은 가상 데이터를 생성하는데 필요한 생성 조건의 예시를 보여준다.
앞서 S11, S12, S13 단계에서 프로세서(150)는 환경을 설정하고, 객체를 선택하며 공간을 선택하여 가상 데이터가 생성될 수 있는 전처리 단계를 수행한다. 이때, 전처리 과정에서 풍부한 가상 데이터를 생성하기 위한 생성 조건을 설정하기 위해, 프로세서(150)는 3가지의 하위 정보들을 설정할 수 있다. 도 3의 하위 정보들은 예시적이며 가상 데이터의 생성 조건은 이외에도 다양하게 구성될 수 있다.
프로세서(150)가 설정하는 제1하위정보(21)는 도메인 공간에 대한 정보이다. 프로세서(150)는 기록할 객체를 배치할 공간과 그에 대한 변화나 설정을 가상 데이터 생성에 반영할 수 있다.
일 실시예로, 프로세서(150)는 도메인 공간을 광역 도메인과 지역 도메인으로 구분하여 가상 데이터 생성에 적용할 수 있다. 또한, 사용자가 공간에 대한 특정한 조건을 입력할 경우 그 조건에 해당하는 지역을 프로세서(150)가 임의로 선택(지역 임의 선택)할 수 있다.
광역 도메인(Global Domain)의 일 실시예는 지리 좌표, 시간대, 날짜 등 도메인 공간이 속하는 지리적 정보이며 이는 광원 계산에 영향을 준다. 광역 도메인을 설정하는 단위의 일 실시예는 다음과 같다. 지리좌표인 경우, 위도, 경도 등의 정보, WGS84(LAT, LONG), 시간대(GMT)를 설정할 수 있다. 또한 프로세서(150)는 날짜 및 시간(YYYY/MM/DD/HH/mm/ss)을 설정할 수 있다. 여기서 시간을 설정하는 방식의 일 실시예로 프로세서(150)는 하루 24시간을 일정한 크기의 스텝(step)으로 나누어 자동화 시킬 수 있다.
지역 도메인(Local Domain)은 시점 선택이 이루어지는 공간과 그 환경에 대한 정보를 일 실시예로 한다. 예를 들어, 프로세서(150)는 대한민국 전체, 서울시 xx구, 유럽 산지 등의 3D 그래픽 및 정보와 같은 방식으로 지역 도메인을 설정할 수 있다.
도메인 공간에 대한 생성 조건은 지리적 정보 또는 행정적 정보 또는 물리적 사물 정보를 포함할 수 있다. 지리적 정보는 앞서 광역 도메인 또는 지역 도메인 중에서 물리적 좌표를 일 실시예로 한다. 행정적 정보는 앞서 광역 도메인 또는 지역 도메인 중에서 행정적인 명칭을 일 실시예로 한다. 물리적 사물 정보는 해당 공간에 배치되는 건물, 혹은 해당 공간을 묘사하는 산, 바다, 해안가 등의 정보를 일 실시예로 한다.
또한, 생성 조건은 시간 정보를 선택적으로 포함할 수 있다. 특정 시간대에 대한 정보가 전술한 지리적/행정적/물리적 사물 정보들과 결합할 경우 프로세서(150)는 생성조건을 이용하여 공간의 빛의 분포나 계절적 특징을 확인하고, 이를 반영하여 가상 데이터를 생성할 수 있다. 즉, 프로세서(150)는 생성 조건을 이용하여 공간의 태양 또는 달의 위치와 빛의 세기를 설정할 수 있다.
프로세서(150)는 광역 도메인을 이용하여 태양 또는 달과 같은 빛의 세기, 위치 등을 설정할 수 있다.
지역 임의 선택(Local Random Selection)은 프로세서(150)가 도메인 내에 미리 세부 구역을 다각형으로 나누고 이 다각형 내부의 영역에서 사용자 또는 프로세서(150)가 임의/자동으로 공간을 선택하는 실시예이다. 세부 구역은 사용자가 직접 지정할 수도 있다. 다각형 영역 지정이 필요치 않거나, 적용이 어려운 경우 프로세서(150)는 지역 도메인에서 사각형 영역을 지정하여 선택하도록 조정할 수 있다.
전술한 도메인의 설정 방식 외에도 프로세서(150)는 산, 해안가, 도시, 고층 건물 옆, 주거지, 특정 도시나 지역 명칭 등이 인터페이스(130)에 입력되면, 프로세서(150)는 입력된 정보를 이용하여 도메인 영역을 설정할 수 있다.
프로세서(150)가 설정하는 제2하위정보(22)는 기상환경변화에 대한 정보이다. 프로세서(150)는 조명(광원), 강우/강설 날씨환경, 안개, 구름 등의 임의 설정값을 포함하는 공간의 특성을 가상 데이터 생성에 적용할 수 있다.
일 실시예로, 외부의 조명의 변화, 강수 상황, 구름 여부, 안개 여부 등을 프로세서(150)가 설정하거나 다변화시킬 수 있다. 조명의 변화는 해당 공간 주변의 건물들이나 가로등의 조명 상황을 포함한다. 또는 프로세서(150)가 가상으로 가로등을 설치하거나 인접 건물의 실내등/간판 조명을 온/오프 시킬 수 있다.
또한, 프로세서(150)는 비가 오는 상황이나 눈이 내리는 상황 등 강수 상황을 설정할 수 있다. 또한, 프로세서(150)는 구름이 배치된 상황, 또는 구름이 태양을 가리는 상황 등을 설정할 수 있으며, 안개가 발생된 정도를 설정할 수 있다.
정리하면, 기상환경변화는 외부의 조명이나 태양/달과 같은 광원의 변화, 기상 상태의 변화 등을 설정하는 것을 일 실시예로 한다. 도시를 도메인으로 할 경우, 프로세서(150)는 인접한 건물의 조명이 켜진 상황과 켜지지 않은 상황을 설정할 수 있다. 강수로 인해 물이 차오르는 경우, 또는 눈이 쌓인 경우 모두 가상 데이터 생성 시 반영시킬 수 있다.
일 실시예로 프로세서(150)는 눈이나 물로 인해 객체의 하단부가 물에 잠기거나 객체의 일부분이 눈에 의해 외부로부터 차단된 상황을 반영하여 가상 데이터를 생성할 수 있다. 프로세서(150)는 비 또는 눈이 내린 시간을 반영하여 가상 데이터를 생성할 수 있으며, 프로세서(150)는 시간 정보 역시 가상 데이터에 대한 메타 정보로 구성하여 저장부(170)에 저장할 수 있다.
다음으로, 프로세서(150)가 설정하는 제3하위정보(23)는 객체의 물리적 변화이다. 프로세서(150)는 기록할 객체의 방향성, 위치 및 재질 등에 대한 변화를 가상 데이터 생성에 반영할 수 있다.
객체는 다양한 자세로 배치될 수 있다. 일 실시예로, 주자세(Primary Attitude)는 객체 전체가 배치된 위치와 각도를 지시할 수 있다. 부자세(Auxiliary Attitude)는 객체에 부착되어있는 자식 객체(Child Object)의 위치와 각도를 지시할 수 있으며 주 자세의 영향을 받는 상대적인 좌표로 표기될 수 있다. 따라서 주자세(Primary Attitude)에 포함되는 정보는 객체(사물 또는 사람)가 주로 배치된 형상을 지시할 수 있다. 부자세(Auxillary Attitude)에 포함되는 정보는 주자세에 해당하지 않지만 객체(사물 또는 사람)가 자주 배치될 수 있는 형상을 지시할 수 있다. 객체에 따라 주자세 및 부자세가 각각 하나 이상 설정될 수 있다. 또는 객체의 종류에 따라 주자세만 설정될 수 있다.
객체물리변화의 하위 카테고리로는 재질 변화와 형상변화가 더 포함될 수 있다. 프로세서(150)는 외부에서 확인 가능한 객체의 재질과 형상의 종류를 설정할 수 있다. 예를 들어, 객체가 자동차인 경우 프로세서(150)는 자동차의 색상을 설정할 수 있으며, 객체가 사람인 경우 프로세서(150)는 사람이 착용한 의복의 색상을 설정할 수 있으며, 객체가 가방인 경우 프로세서(150)는 가방의 재질(가죽, 천 등)을 설정할 수 있다.
전술한 실시예를 적용할 경우, 생성기(100)는 미리 만들어져 있는 여러 종류의 공간 또는 사용자의 선택이나 자동으로 생성된 공간 내에서 인식하고자 하는 객체를 생성하고 이에 대해 3차원으로 시점을 확보하여 가상 데이터를 생성하여 기록한다. 생성기(100)는 가상 데이터를 생성하는데 있어 다양하게 변화를 설정할 수 있도록 전술한 바와 같이 공간, 객체, 시점, 기상 등을 세밀하게 설정할 수 있다.
또한, 생성기(100) 내에서 기상, 조명 등과 같은 환경에 대한 설정이 가능하며 이 설정을 다수 만들어 순차적으로 기록하므로 생성기(100)는 다양한 기상과 조명의 상황에서 가상 데이터를 생성할 수 있다.
또한 가상 데이터의 빠른 생성 및 처리를 위해 생성기(100)는 데이터 생성의 시작과 동시에 시점의 변경과 기록이 이루어지도록 할 수 있으며, 생성기(100)가 가상 데이터 생성 도중에 중단하더라도 해당 시점까지의 데이터가 모두 기록될 수 있도록 한다.
생성기(100)는 소프트웨어로 구성될 수 있으며, 생성기(100)는 고성능 데스크탑 PC나 노트북 등에 설치되어 실행될 수 있다. 또는 생성기(100)는 하드웨어 일체 소프트웨어로 구성될 수도 있다. 본 명세서에서 생성기(100)는 가상 데이터를 생성하는 소프트웨어뿐만 아니라 가상 데이터를 생성하는 소프트웨어가 설치된 장치까지도 포괄하는 개념이다.
도 3과 같이 생성기(100)가 도메인 공간, 기상환경 변화, 객체물리 변화를 적용하여 가상 데이터를 생성할 경우 실외의 다양한 환경변화(대기조건, 조명조건, 계절적 변화조건, 악천후 환경조건 등)를 가상 데이터에 포함시킬 수 있다. 이러한 가상 데이터는 다양한 실외의 자연환경에 배치된 다양한 객체를 포함하여 생성되므로, 이들 가상 데이터를 이용하여 학습한 인공지능 모듈은 자동 탐지 성능을 향상시킬 수 있다.
도 4는 본 발명의 일 실시예에 의한 도메인 공간을 설정하는 도면이다. 도메인 공간을 선택하는 방식은 앞서 살펴본 바와 같이 광역 도메인과 지역 도메인의 선택으로 이루어질 수 있다.
사용자가 "서울, 대한민국 LAT 37.532600 LONG 127.024612 시간대 GMT+9 2021년 7월 1일 13시 25분 11초"와 같이 광역 도메인을 설정하고, 지역 도메인을 "서울시 xx구" 등과 같이 세부 지역으로 설정할 수 있다. 물론, 광역 도메인의 세부적인 정보의 설정은 자동으로 이루어질 수 있다. 프로세서(150)는 광역 도메인을 통해 태양이나 달 등 외부 광원의 위치나 광량 등을 계산할 수 있다.
또한, 지역 임의 선택의 일 실시예로 25와 같이 어느 한 지점(동그라미로 표시)을 임의로 선택하여 사각형으로 영역을 설정할 수 있다. 이 경우 프로세서(150)는 좌측 상단의 좌표(0, 0)을 기준으로 선택된 좌표를 (200, 50)으로 계산하여 사각형 영역을 가상 데이터를 촬영할 공간으로 설정할 수 있다.
또한, 지역 임의 선택의 일 실시예로 26과 같이 지역을 임의로 선택하되 다수의 좌표들(동그라미로 표시)을 선택하고, 각 좌표들을 중심으로 다각형으로 영역을 설정할 수 있다. 이 경우 프로세서(150)는 좌측 상단의 좌표(0, 0)을 기준으로 3개의 좌표들을 구분지어 다각형의 3 영역(영역 1, 영역 2, 영역 3)을 분할하여 이들을 대상으로 가상 데이터를 촬영할 공간으로 설정할 수 있다.
도 5는 본 발명의 일 실시예에 의한 시점 이동을 적용하여 가상 데이터를 생성하는 도면이다.
시점 이동이란 사용자 또는 시스템이 선택한 공간에 사용자 또는 시스템이 선택한 객체를 배치한 후, 객체 인식을 위한 가상 데이터를 생성하는 과정에서 객체를 촬영하는 시점(View point)를 다양하게 이동시켜 다량의 가상 데이터를 생성하는 기술이다.
즉, 생성기(100)는 선택되고 생성된 기록 객체들마다 자동으로 시점을 이동시키며 가상 데이터를 생성할 수 있다. 또한, 다양한 시점의 가상 데이터를 확보하기 위하여, 프로세서(150)는 타겟이 되는 객체를 기준으로 제1노이즈를 반영한 기준점을 설정할 수 있다. 그리고 프로세서(150)는 기준점과의 거리 또는 기준점과의 각도에 제2노이즈를 반영하여 객체를 촬영한 화상 이미지를 생성할 수 있다.
도 5에서 T는 측정 대상이 되는 객체, 즉 타겟(Target)을 의미한다. c는 T의 하단 중심 위치이며 c(x, y, z)라는 좌표를 가진다.
c'는 c로부터 노이즈(제1노이즈)를 추가한 위치이다. 실제 측정 좌표의 기준이 된다.
c'(x, y, z) = c(x, y, z) + cnoise(x, z)를 일 실시예로 한다.
또한, cnoise(x, z) = Vector3(rand(x), rand(z)) 와 같이 cnoise를 계산할 수 있다. 즉, 생성기(100)는 x, z에 대한 랜덤 값을 이용하여 cnoise를 생성할 수 있다. 여기서 Vector3 은 3차원 좌표/벡터를 나타낸 것이며, x, y, z 로 표기하고 생략된 경우엔 해당 좌표를 사용하지 않음을 나타낸 함수를 일 실시예로 한다.
이는 T와 촬영 시점인 P 사이의 거리를 다양하게 설정해주어 생성기(100)가 생성하는 가상 데이터에 다양성을 제공한다. 노이즈가 0일 경우 c' = c 를 만족한다.
P는 피측정체를 측정하는 물체, 예를 들어 드론을 일 지시한다. P는 c'를 바라보는 방향을 가진다. 예를 들어 P(x, y, z) = c'(x, y, z) + Vector3(dcos(a), dsin(e), dcos(a)) 등으로 산출할 수 있다.
여기서 d(Distance)는 T와 P 사이의 거리이며 이 값 역시 랜덤 노이즈(제2노이즈)를 적용할 수 있다.
d(x) = d'(x) + dnoise(x), dnoise(x) = rand(x)
e(Elevation)은 T 로부터 P가 얼마나 떠있는지를 나타내는 각도이며 예를 들어 0~360도 사이로 변할 수 있다. a(azimuth)는 T와 P의 수평 각도이다. 자동으로 0~360도 사이로 변할 수 있다.
도 5에서 공간에 배치된 객체 T의 하단 중심 위치는 c이며, 여기에 노이즈를 추가한 c'을 중심으로 P로 지시되는 드론이 T를 촬영한 가상 데이터가 생성된다. 드론이 27가 지시하는 반원의 원주를 이동하는 것을 시뮬레이션 하여 생성기(100)는 객체를 촬영한 가상 데이터를 생성할 수 있다. 마찬가지로 a라는 각도를 틀어서 드론이 28이 지시하는 반원의 원주를 이동하는 것을 시뮬레이션 하여 생성기(100)는 객체를 촬영한 가상 데이터를 생성할 수 있다.
이 과정에서 P를 산출하기 위해 생성기(100)는 c'라는 노이즈와 d'라는 노이즈를 반영하여 다양하게 변화된 거리와 방향에서 T를 촬영한 가상 데이터를 생성할 수 있다. 29은 c'이 0인 경우 드론이 이동할 수 있는 반원을 표시한다.
한편, 도 5와 같이 다양한 위치의 시점 이동에 기반하여 가상 데이터를 생성하는 과정에서 해당 시점에서 기록 및 가상 데이터 생성이 불가능한 경우가 발생할 수 있다. 이때, 프로세서(150)는 시점을 새롭게 계산하여 가상 데이터를 생성할 수 있다.
예를 들어, 계산된 기록 지점이 장애물의 안쪽인 경우(빌딩 안, 자동차 안 등의 상황)이거나, 계산된 기록 지점이 지표면보다 낮은 지하인 경우, 프로세서(150)는 장애물 위쪽으로 광선 투과(Ray Casting)를 수행하고, 천장(Ceiling)으로 판단된 지점으로부터 10m 정도 높은 지점으로 시점을 이동시켜 가상 데이터를 생성할 수 있다.
또한, 계산된 기록 지점에서 기록할 객체가 보이지 않는 경우, 프로세서(150)는 해당 시점에 대한 기록을 생략할 수 있다.
도 5에서 29가 지시하는 반원(c를 중심으로 한 반원)과 27, 28이 지시하는 반원(c'를 중심으로 한 반원)은 c-c' 만큼의 차이가 있다. 그로 인해 생성기(100)는 T에 대한 다양한 각도와 다양한 거리의 가상 데이터를 생성할 수 있다.
일 실시예로 프로세서(150)는 시점 이동을 통해 다수의 시점을 확보할 수 있는데, 각각의 시점들에서 화상 이미지를 생성하는 과정에서, 전술한 제1노이즈와 제2노이즈를 변경할 수 있다. 예를 들어, 프로세서(150)는 제1시점에서 제1화상 이미지를 생성한다.
그리고 프로세서(150)는 제1화상 이미지를 생성한 후, 제1노이즈 또는 제2노이즈를 미리 설정된 범위 이내에서 조절한다. 이 경우, 도 5의 27 또는 28의 위치나 크기가 달라질 수 있다. 그리고 프로세서(150)는 제1시점과 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성한다.
이와 같이 노이즈, 예를 들어 c' 및 D를 지속적으로 변경함으로써, 생성기(100)는 가상 데이터에 포함된 객체의 크기나 시점에 다양성을 제공할 수 있다. 즉, 생성기(100)는 동일한 객체에 대해 다양한 각도와 다양한 거리, 또는 다양한 중심지점에 기반하여 가상 데이터를 생성할 수 있으며, 이로 인해 동일한 객체에 대한 탐지 가능성을 높이는 다양한 가상 데이터를 인공지능의 학습에 적용할 수 있다.
도 6은 본 발명의 일 실시예에 의한 기상환경 변화를 구현한 도면이다. 프로세서(150)는 공간의 기상 환경 정보를 가상 데이터의 생성 조건으로 반영하여 가상 데이터를 생성할 수 있다. 또한, 프로세서(150)는 기상 환경 정보를 이용하여 공간에 배치된 객체의 형상을 설정할 수 있다.
앞서 살펴본 바와 같이, 조명(31)의 예로 태양이 제시되어 있다. 제1광선은 태양에서 직접 발산되는 빛을 표시한 것이다. 제2광선은 구름(32)과 강수(33), 안개(34) 등에 의해 제1광선이 산란/차단된 결과를 보여준다. 프로세서(150)는 각각의 구성요소들(31, 32, 33, 34)의 배치와 분포 등에 따라 제1광선 및 제2광선에 의한 밝기 상황이 반영된 가상 데이터를 생성할 수 있다.
프로세서(150)는 조명(31) 또는 광원에 대해 태양광, 월광 등의 실환경 광원의 입사 위치, 색상, 그리고 밝기 등의 변화를 적용하여 가상 데이터를 생성할 수 있다. 조명(31)에 대한 설정 정보들은 도 5의 도메인 변화 공간 밑의 지리적 공간의 값으로부터 영향을 받을 수 있으며, 기상 변화 공간의 다른 요소들(예를 들어, 32, 33, 34 등)으로부터 영향을 받을 수 있다.
일 실시예로 프로세서(150)는 대기상에 떠있는 구름(32)을 이용하여 태양광을 일부 차단하여 조명에 영향을 준 결과를 반영하여 가상 데이터를 생성할 수 있다. 프로세서(150)는 사용자의 설정 또는 자동으로 구름의 양, 밀도를 조절할 수 있다. 또한 프로세서(150)는 강수(33)에 의해 구름(32)이 중점적으로 조절되도록 설정할 수 있다.
프로세서(150)는 강수(33)를 이용하여 하늘에서 지상으로 떨어지는 모든 형태의 수분을 표시하며 이를 반영한 가상 데이터를 생성할 수 있다. 강수(33)는 강우, 강설 등이 포함되며, 프로세서(150)는 강수 환경의 설정이 구름(32)과 안개(34)에 상호 영향을 미칠 수 있도록 가상 데이터를 생성할 수 있다.
그리고 다양한 기상 환경의 구성요소들(32, 33, 34)은 간접적으로 조명(31)에 영향을 미치며 프로세서(150)는 그러한 영향이 반영된 외부의 밝기에 따라 가상 데이터를 생성할 수 있다. 또한 프로세서(150)는 강수의 종류에 따라 도메인 공간의 표시 그래픽의 반사율을 변경하여 가상 데이터를 생성할 수 있다.
안개(34)는 지표면에 가깝게 깔려있는 수증기이다. 프로세서(150)는 안개(34)가 배치된 경우 구름(32)에 차단되지 않은 태양광(제1광선)을 산란시켜 조명(31)에 영향을 줌과 동시에 가시 거리를 변화시킨 가상 데이터를 생성할 수 있다.
인터페이스(130)는 사용자가 쉽게 기상 상황에 대한 생성 조건을 설정할 수 있도록 미리 정의된 기상 생성 조건을 출력하고 이에 대해 사용자가 선택할 수 있도록 한다.
예를 들어, 인터페이스(130)는 "맑음", "강우", "폭우", "강설", "장마철", "대설", "안개" 등의 생성 조건을 표시할 수 있다. 또한 인터페이스(130)는 "봄", "여름", "가을", "겨울" 등의 생성 조건을 표시할 수 있다. 그리고 프로세서(150)는 사용자가 선택한 생성 조건을 반영하여 공간 상에 객체를 배치한 화상 이미지를 생성할 수 있다.
그리고 프로세서(150)는 생성 조건에 따라 해당 공간에 눈이나 비, 안개가 배치된 상황, 그리고 눈/비/안개 등에 의한 객체 외관의 변화를 적용하여 가상 데이터를 생성할 수 있다.
도 7 및 도 8은 본 발명의 일 실시예에 의한 객체의 변화를 보여주는 도면이다. 프로세서(150)는 객체의 자세 정보, 재질 정보 또는 형상 정보 중 어느 하나 이상을 가상 데이터의 생성 조건으로 이용하여 공간에 객체를 배치할 수 있다.
즉, 프로세서(150)는 타겟이 되는 객체의 외관을 자세, 재질, 형상 등으로 구분하여 설정할 수 있다. 주자세(Primary Attitude)는 객체의 3차원 위치 및 자세 각도(3DOF). 객체와 객체에 포함된 모든 자식 객체들에 영향을 미치며 모든 객체에 1개씩 존재한다. 프로세서(150)는 주자세인 객체를 촬영한 가상 데이터를 생성할 수 있다.
부자세(Auxillary Attitude)는 객체에 회전 또는 위치변경이 가능한 자식 객체(Child Object) 가 있는 경우 이들의 자세를 조절한다. 부자세는 주자세에 상대적으로(Relative) 적용되며 0개 이상 존재 가능하다. 프로세서(150)는 부자세인 객체를 촬영한 가상 데이터를 생성할 수 있다.
재질 변화(Material Variance)는 주변 환경 또는 객체의 각자 고유 상태에 따라 객체의 그래픽을 표시하는데 사용되는 재질 (Material)의 반사율, 광택 등의 속성 변화를 의미한다. 프로세서(150)는 타겟이 되는 객체의 재질을 변화시켜 촬영한 가상 데이터를 생성할 수 있다.
형상 변화(Shape Deformation)는 인간이나 생명체 등의 경우, 주/부자세 이외에도 운동 동작(Pose)에 따라 형상이 변화할 수 있다. 프로세서(150)는 객체의 여러 동작을 섞어서 랜덤화하거나, 물리 엔진을 통해 계산하여 변화된 객체의 형상을 촬영한 가상 데이터를 생성할 수 있다.
예를 들어 도 7의 실시예와 같이 객체가 전차인 경우는 주포장치(35)가 전면을 향하는 경우(36)와 측면을 향하는 경우(37)로 나뉘어질 수 있다. 프로세서(150)는 이 중에서 어느 하나를 주자세로, 다른 하나를 부자세로 설정할 수 있다.
일 실시예로, 탱크는 수직구조(Hierarchy)를 가질 수 있다. 즉, 탱크는 자식(하위) 객체로 포탑을, 포탑은 자식(하위) 객체로 주포를 포함하는 계층적, 수직 구조이며, 각 하위 객체들은 상위 객체를 기준으로 상대적인 위치를 가질 수 있다. 탱크 전체가 (0,0,0) 좌표에 (0,0,0) 회전으로 있다면, 탱크의 포탑(윗부분)은 따로 30도 회전할 수 있고, 주포는 포탑의 자식 객체로서 30도 회전이 된다고 가정할 수 있다.
즉, 주자세(탱크)를 변경하면 포탑, 주포는 자식 객체로서 주자세에 상대적인 좌표를 모두 가지고 있기 때문에, 만약 탱크의 주자세 회전이 (0,60,0) 이 되고, 포탑의 부자세 회전이 (0,30,0)인 경우, 포탑의 실제 회전좌표는 (0,90 = 30+60,0)이 될 수 있다.
또한, 도 8의 41과 같이 프로세서(150)는 물리적 계산을 통해 사람의 동작을 시각화시킬 수 있고 42와 같이 프로세서(150)는 사람의 특정 동작을 시각화 시킬 수 있다.
그리고 프로세서(150)는 시각화된 객체(사람)를 포함하는 가상 데이터를 생성한다.
도 9는 본 발명의 일 실시예에 의한 가상 데이터를 저장하는 과정을 보여주는 도면이다. 도 9는 도 2의 S11 내지 S13을 완료한 후, S14~S16 과정을 보여준다. 프로세서(150)는 병렬성을 위해 멀티쓰레딩을 사용할 수 있다.
프로세서(150)는 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드(45)와 화상 이미지를 이미지 프로세싱하여 가상 데이터를 저장부(170)에 저장하는 제2쓰레드(46)를 실행시킬 수 있다. 그리고 프로세서(150)는 제1쓰레드(45)과 제2쓰레드(46)를 병렬로 수행할 수 있다.
이미지 프로세싱이란, 제1쓰레드(45)가 생성한 화상 이미지를 제2쓰레드(46)가 특정한 형식(JPEG, PNG, TIFF 등)으로 변환하는 것을 포함한다. 이 과정에서 제1쓰레드(45)가 시점 이동을 통해 유사한 화상 이미지를 생성한 경우 제2쓰레드(46)는 앞서 생성한 가상 데이터를 일부 이용할 수 있다.
시점 이동을 통해 화상 이미지를 생성한 프로세서(150)는 둘 이상의 쓰레드(thread)를 이용하여 렌더링 및 기록하는 작업을 각각의 쓰레드가 수행할 수 있도록 한다. 제1쓰레드(45)는 메인 쓰레드로 시점 이동을 수행한 후 이동이 완료된 시점을 중심으로 객체 및 객체가 놓여진 주변을 촬영한 이미지를 생성하는 렌더링 과정을 수행한다. 그리고 시점이동과 렌더링은 계속 반복된다.
아울러 렌더링 이후 화상 이미지는 제2쓰레드(46)인 기록 쓰레드에서 이미지를 압축하여 기록한다.
일 실시예로, 제1쓰레드(45)인 메인 쓰레드는 시점이동과 동시에 각 시점에 대한 화상 이미지를 즉시 취득하여 이를 기록 대기열에 추가한다(S51a, S51b, S51c). 기록 대기열은 일종의 큐(Queue)와 같이 FIFO(First-In, First Out) 방식으로 동작할 수 있다. 대기열은 동시성 대기열 (Concurrent FIFO) 이며 쓰레드간 간섭을 최소화할 수 있다.
기록 대기열에는 압축되지 않은 이미지가 축적되며 기록 쓰레드(46)가 기록 대기열에 접근 가능할 경우 기록 대기열의 데이터를 팝(Pop)하여 이미지를 압축 및 기록한다.
즉, 기록 쓰레드(46)는 기록 대기열에서 화상 이미지를 인출하여 가상 데이터를 저장한다. 즉, 기록 쓰레드(46)는 기록 대기열에서 FIFO 방식으로 화상 이미지를 인출하여 이미지 파일로 기록한다. 이 과정에서 이미지를 압축하여 디스크에 기록하는 작업을 반복할 수 있다. 기록 쓰레드(46)는 메인 쓰레드(45)와 독립적으로 동시 실행될 수 있다.
프로세서(150)는 각 시점에서 화상 이미지를 생성함에 있어서, 일반적인 RGB 이미지 외에도 다양한 센서가 센싱한 결과를 화상 이미지로 생성할 수 있다.
일 실시예로, RGB 가상 데이터는 결정된 시점에 CCD/CMOS 등의 센서가 생성한 노이즈가 없는 이상적인 컬러 화상 이미지에 해당한다.
다른 실시예로 Noised RGB 가상 데이터는 결정된 시점에 CCD/CMOS 등의 센서가 생성한 그라디언트 노이즈(Gradient Noise)가 추가된 컬러 화상 이미지에 해당한다.
또다른 실시예로 Segmentation 가상 데이터는 결정된 시점에서 인터페이스(130)에 표시된 오브젝트에 대한 분류를 컬러로 나타낸 이미지에 해당한다.
또다른 실시예로 LiDAR 가상 데이터는 결정된 시점에 라이다(LiDAR) 센서가 생성한 거리, 높이, 반사율 등을 시각화한 이미지에 해당한다.
프로세서(150)는 각각의 가상 데이터들을 다양한 포맷의 이미지 파일로 생성할 수 있으며, 각 가상 데이터의 컬러 형식도 다양하게 설정할 수 있다.
뿐만 아니라 프로세서(150)는 기록을 완료하거나 도중 중단할 경우 현재까지의 결과 데이터를 확정하고 이미지에 대한 주석(annotation)을 파일로 기록할 수 있다. 프로세서(150)는 MS-COCO와 같은 형식을 적용하여 주석 파일을 생성할 수 있다. 일 실시예로, 프로세서(150)는 지금까지 기록된 모든 이미지 1개마다 다음 표 1과 같이 정보를 기록할 수 있다.
항목 이름 설명 형식
Id 이미지의 식별자 Int (정수)
Width 이미지의 너비 Int (정수)
height 이미지의 높이 int (정수)
File_name 이미지의 이름
또한, 일 실시예로 프로세서(150)는 각각의 이미지에 포함된 하나 이상의 객체에 대한 정보를 일종의 주석으로 포함시킬 수 있다. 이미지 내의 객체에 대한 정보는 표 2와 같이 생성할 수 있다.
항목 이름 설명 형식
Id 주석의 식별자 Int (정수)
Image_id 주석이 참조하는 이미지의 식별자 Int (정수)
Category_id 객체의 분류에 대한 참조 Int (정수)
area 이미지에서 해당 객체가 차지하는 면적 Float (실수)
bbox 이미지에서 해당 객체가 차지하는 사각형 영역 (x,y,w,h) Float (실수)
segmentation 이미지에서 해당 객체의 영역을 다각형으로 나타낸 것 float[][] x,y 좌표 순서로 하는 2차원 실수 배열
표 1 및 표 2의 항목들 및 설명, 형식은 다양하게 변형 및 추가/삭제될 수 있다.
동일한 공간에 배치된 동일 객체에 대해 시점 이동을 통해 다양하게 가상 데이터를 생성할 경우, 프로세서(150)는 저장부(170)의 동일한 폴더 내에 가상 데이터를 저장할 수 있다. 그리고 프로세서(150)는 해당 가상 데이터들에 대한 주석을 하나의 파일로 생성하여 해당 폴더 내에 저장할 수 있다. 또는 프로세서(150)는 해당 폴더의 상위 폴더에 해당 폴더를 지시하는 정보와 주석을 하나의 파일로 생성하여 저장할 수 있다.
도 10은 본 발명의 일 실시예에 의한 이미지 프로세싱을 보여주는 도면이다. 앞서 도 9에서 살펴본 바와 같이, 제1쓰레드(45)는 화상 이미지를 A 및 B와 같이 생성한다. 제2쓰레드(46)은 A, B를 각각 가상 데이터로 저장하는데, 여기서 A와 B는 시점 이동으로 인해 각도가 5도 달라졌다. 따라서, 제2쓰레드(46)는 B의 화상 이미지를 압축하거나 이미지를 처리할 때, 앞서 A의 화상 이미지를 압축 또는 이미지 처리하는 과정에서 산출된 가상 데이터를 일부 이용할 수 있다. 예를 들어, 제2쓰레드(46)는 A의 건물(52a)에 대한 화상 이미지를 가상 데이터로 변환한 결과를 이용하여 고도가 높아짐으로 인한 변화를 B에 적용하여 이미지 처리할 수 있다.
일 실시예로, 제2쓰레드(46)는 A 및 B에서 동일한 건물(52a, 52b)의 고도 변화로 인한 화상 이미지의 차이를 각각 이미지 처리하지 않는다. 즉, 제2쓰레드(46)는 먼저 A의 건물(52a)과 객체(51a)를 포함하는 화상 이미지를 변환하여 가상 데이터(A-가상 데이터)를 생성한다. 그리고 제2쓰레드(46)는 B의 건물(52b)과 객체(51b)를 포함하는 화상 이미지를 생성하는 과정에서 A-가상 데이터를 변형하여 새로운 가상 데이터(B-가상 데이터)를 생성할 수 있다.
전술한 실시예들을 적용할 경우 생성기(100)는 다양한 환경변화(대기조건, 조명조건, 계절적 변화조건, 악천후 환경조건, 배경조건 등)를 자동으로 생성할 수 있고 이를 포함하는 다양한 가상 데이터를 생성할 수 있다.
전술한 본 발명의 실시예를 적용할 경우, 영상을 기반으로 물체를 자동으로 탐지하거나 음성을 기반으로 자동인식함에 있어 필요한 학습 데이터를 다량 확보하여 인공지능의 물체 탐지 능력을 높일 수 있다. 본 발명의 실시예를 적용할 경우, 영상을 기반으로 물체를 탐지하는 능력인 탐지율을 증대시킬 수 있다.
또한, 본 발명의 실시예들은 다양한 기상 환경을 적용하여 가상 데이터를 생성하여 이를 통해 인공지능 모듈들이 가상 데이터에 기반하여 학습할 수 있으며 그에 따른 탐지율 및 추적 성능을 향상시킬 수 있다. 따라서, 정상적인 환경을 포함하여 악천후 환경인 강우 및 강설 환경과 안개, 구름 및 연무 등으로 가시성능이 저하되는 환경, 그리고 조명이나 계절의 환경 변화 등에서도 인공지능의 객체탐지 및 자동추적의 성능을 높일 수 있다.
특히, 본 발명의 실시예를 적용할 경우 기상 상태의 악조건이나 다양한 환경 및 대기 조건이 반영된 다양한 가상 데이터를 생성할 수 있다. 따라서 본 발명의 생성기(100)는 실제와 유사하거나 혹은 유사하지는 않지만 가상화를 통한 다양한 데이터를 확보할 수 있으며 이러한 가상 데이터를 이용한 인공지능의 학습이 진행되면 실제 악천후 등의 환경에서 객체의 탐지율 및 추적성능을 증대시킬 수 있다.
본 발명의 실시예를 적용할 경우, 실제 데이터에서 보여지는 환경에 대한 한계에서 자유롭게 가상 데이터를 생성할 수 있으며, 가상 데이터의 생성 과정에서 분류 작업 역시 자동으로 이루어지므로 실제 데이터에 비해 높은 경제성과 학습 성능을 제공할 수 있다.
뿐만 아니라, 가상 데이터를 제공함으로써, 기존의 인공지능 개발자들이 양질의 데이터를 취득하기 위해 직접 데이터를 수집, 분류, 처리하는 과정에 투입한 노력과 시간을 최소화 함으로써 개발의 능률을 올릴 수 있다. 또한 가상 데이터의 생성은 실제 데이터 생성이나 취득과 비교할 때, 절대적으로 낮은 비용이 소요되므로 경제적으로도 인공지능 개발자들에게 유리하다.
또한, 가상 데이터를 다량으로 사용함으로써 인공지능의 인식성능을 향상시킬 수 있으므로, 인식용 드론, 자율주행 차량 등의 인식 성능을 향상시킬 수 있으며, 인식 오류로 인한 오동작 등의 사고 등의 위험성을 줄여 안전성을 확보할 수 있다.
본 발명의 생성기 또는 방법을 구현할 경우, 카메라에 의한 RGB 이미지를 가상으로 생성하는 실시예 외에도 다양한 센서들(초음파, 라이다, 뎁스, 세그먼테이션 등)이 센싱한 데이터를 가상으로 생성할 수 있다. 또한, 다양한 이미지 형식(JPEG, PNG, TIFF 등)으로 가상 데이터를 생성할 수 있으며, 이미지의 압축 수준 역시 사용자가 자유로이 설정할 수 있다.
본 발명의 생성기 또는 방법을 구현할 경우, 다양한 3D(3차원, 3-Dimension) 물체의 다양한 자세(Attitude, posture)를 입력하여 가상 데이터를 생성할 수 있다. 또한, 가상 데이터를 생성함에 있어서 환경의 변화(강우, 강설, 조명, 안개 등)와 배경을 다양화하는 도메인 랜덤화(Domain Randomization) 기술을 적용할 수 있으므로 본 발명의 생성기 또는 방법을 구현할 경우 다양한 환경에서 다수의 객체가 등장하는 가상 데이터를 생성할 수 있다.
또한, 본 발명의 생성기 또는 방법을 구현할 경우, 객체와의 각도간격 및 거리에 다양한 변화를 제공할 수 있으며, 이러한 변화를 배치(Batch) 형태로 자동으로 생성할 수 있어 다양한 가상 데이터를 생성할 수 있다. 그리고 본 발명의 생성기 또는 방법을 구현할 경우, 3D 환경에서 폐쇄(Occlusion)된 부분을 자동으로 탐지하여 라벨링(Labeling)을 추가할 수 있다.
본 발명의 생성기(100)는 정교한 물리모델을 기반으로 열악한 가상환경(조명, 강우, 강설, 안개 등)을 가상으로 생성할 수 있다. 그리고 본 발명의 생성기(100)는 다양한 도메인(도로, 숲, 흙길, 논, 밭, 눈길, 잔디 등)을 포함한 3D 환경(3차원의 공간)을 가상으로 생성할 수 있다.
또한, 본 발명의 생성기(100)는 가상으로 생성된 공간에 3D의 객체를 임의의 위치에 위치시킬 수 있다. 생성기(100)는 객체를 임의의 방향 및 위치에서 자동으로 배치시킬 수 있으며 이에 대한 가상 데이터를 생성할 수 있다.
생성기(100)는 다양한 매개변수를 사전 메뉴에서 정의된 방법과 사전에 선정된 3D 모델에 따라서 배치(Batch) 방식으로 공간 및 객체, 기상 환경 등을 자동으로 생성할 수 있으며, 실제 데이터에 가깝게 가상 데이터를 생성하기 위해, 생성기(100)는 소수의 실측정데이터와 통합 데이터를 이용할 수 있다.
즉, 생성기(100)는 대량의 가상 데이터와 소수의 실측 데이터를 결합한 모델에 대해 통합 학습데이터를 활용하여 가상 데이터를 자동으로 생성할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변환 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 생성기 130: 인터페이스
150: 프로세서 170: 저장부

Claims (16)

  1. 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하고 상기 공간에 객체를 배치한 후, 상기 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하여 상기 가상의 이미지를 가상 데이터로 변환하여 저장부에 저장하며 상기 생성 조건을 상기 가상 데이터의 메타 정보로 생성하는 프로세서; 및
    상기 가상 데이터 및 상기 가상 데이터의 메타 정보를 저장하는 저장부를 포함하며,
    상기 생성 조건은 상기 객체의 자세 정보를 포함하며, 상기 객체의 자세 정보는 상기 객체 전체가 배치된 위치와 각도를 지시하는 주자세 정보 및 상기 객체에 부착되어 있는 자식 객체의 위치와 각도를 지시하는 부자세 정보를 포함하며, 상기 부자세 정보는 상기 주자세의 영향을 받는 상대적인 좌표로 표기되는, 가상 데이터를 생성하는 생성기.
  2. 제1항에 있어서,
    상기 생성 조건은 상기 공간에 대한 지리적 정보, 행정적 정보 또는 물리적 사물 정보 중 어느 하나 이상을 포함하며,
    상기 프로세서는 상기 생성 조건을 이용하여 상기 공간의 태양 또는 달의 위치와 빛의 세기를 설정하는, 가상 데이터를 생성하는 생성기.
  3. 제1항에 있어서,
    상기 생성 조건은 상기 공간의 기상 환경 정보를 포함하며,
    상기 프로세서는 상기 기상 환경 정보를 이용하여 상기 공간에 배치된 상기 객체의 형상을 설정하는, 가상 데이터를 생성하는 생성기.
  4. 제1항에 있어서,
    상기 생성 조건은 상기 객체의 재질 정보 또는 형상 정보 중 어느 하나 이상을 포함하며,
    상기 프로세서는 상기 생성 조건을 이용하여 상기 공간에 상기 객체를 배치하는, 가상 데이터를 생성하는 생성기.
  5. 제1항에 있어서,
    상기 프로세서는 상기 객체를 기준으로 제1노이즈를 반영한 기준점을 설정하며, 상기 기준점과의 거리에 제2노이즈를 반영하여 상기 객체를 촬영한 화상 이미지를 생성하는, 가상 데이터를 생성하는 생성기.
  6. 제5항에 있어서,
    상기 프로세서는 제1시점에서 제1화상 이미지를 생성하며,
    상기 프로세서는 상기 제1화상 이미지를 생성한 후, 상기 제1노이즈 또는 상기 제2노이즈를 미리 설정된 범위 이내에서 조절한 후에 상기 제1시점과 상이한 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성하는, 가상 데이터를 생성하는 생성기.
  7. 제1항에 있어서,
    상기 프로세서는 상기 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드와 상기 화상 이미지를 이미지 프로세싱하여 가상 데이터를 상기 저장부에 저장하는 제2쓰레드를 실행시키며,
    상기 프로세서는 상기 제1쓰레드과 상기 제2쓰레드를 병렬로 수행하는, 가상 데이터를 생성하는 생성기.
  8. 제7항에 있어서,
    상기 제1쓰레드가 기록 대기열에 상기 화상 이미지를 하나 이상 추가하며,
    상기 제2쓰레드가 상기 기록 대기열에서 FIFO 방식으로 상기 하나 이상의 화상 이미지 중 하나를 인출하는, 가상 데이터를 생성하는 생성기.
  9. 생성기의 프로세서가 가상 데이터의 생성 조건을 반영하여 공간을 가상으로 생성하는 단계;
    상기 프로세서가 상기 공간에 객체를 배치한 후, 상기 객체를 기준으로 시점 이동을 수행하여 가상의 이미지를 생성하는 단계;
    상기 프로세서가 상기 가상의 이미지를 가상 데이터로 변환하고 상기 생성 조건을 상기 가상 데이터의 메타 정보로 생성하는 단계; 및
    상기 프로세서가 상기 가상 데이터 및 상기 가상 데이터의 메타 정보를 저장부에 저장하는 단계를 포함하며,
    상기 생성 조건은 상기 객체의 자세 정보를 포함하며, 상기 객체의 자세 정보는 상기 객체 전체가 배치된 위치와 각도를 지시하는 주자세 정보 및 상기 객체에 부착되어 있는 자식 객체의 위치와 각도를 지시하는 부자세 정보를 포함하며, 상기 부자세 정보는 상기 주자세의 영향을 받는 상대적인 좌표로 표기되는, 가상 데이터를 생성하는 방법.
  10. 제9항에 있어서,
    상기 생성 조건은 상기 공간에 대한 지리적 정보, 행정적 정보 또는 물리적 사물 정보 중 어느 하나 이상을 포함하며,
    상기 프로세서가 상기 생성 조건을 이용하여 상기 공간의 태양 또는 달의 위치와 빛의 세기를 설정하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
  11. 제9항에 있어서,
    상기 생성 조건은 상기 공간의 기상 환경 정보를 포함하며,
    상기 프로세서가 상기 기상 환경 정보를 이용하여 상기 공간에 배치된 상기 객체의 형상을 설정하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
  12. 제9항에 있어서,
    상기 생성 조건은 상기 객체의 재질 정보 또는 형상 정보 중 어느 하나 이상을 포함하며,
    상기 프로세서가 상기 생성 조건을 이용하여 상기 공간에 상기 객체를 배치하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
  13. 제9항에 있어서,
    상기 프로세서가 상기 객체를 기준으로 제1노이즈를 반영한 기준점을 설정하며, 상기 기준점과의 거리에 제2노이즈를 반영하여 상기 객체를 촬영한 화상 이미지를 생성하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
  14. 제13항에 있어서,
    상기 프로세서가 제1시점에서 제1화상 이미지를 생성하는 단계; 및
    상기 프로세서가 상기 제1화상 이미지를 생성한 후, 상기 제1노이즈 또는 상기 제2노이즈를 미리 설정된 범위 이내에서 조절한 후에 상기 제1시점과 상이한 제2시점으로 시점 이동을 수행하여 제2화상 이미지를 생성하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
  15. 제9항에 있어서,
    상기 프로세서가 상기 시점 이동을 수행한 후 화상 이미지를 생성하는 제1쓰레드와 상기 화상 이미지를 이미지 프로세싱하여 가상 데이터를 상기 저장부에 저장하는 제2쓰레드를 실행시키는 단계; 및
    상기 프로세서가 상기 제1쓰레드과 상기 제2쓰레드를 병렬로 수행하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.
  16. 제15항에 있어서,
    상기 제1쓰레드가 기록 대기열에 상기 화상 이미지를 하나 이상 추가하는 단계; 및
    상기 제2쓰레드가 상기 기록 대기열에서 FIFO 방식으로 상기 하나 이상의 화상 이미지 중 하나를 인출하는 단계를 더 포함하는, 가상 데이터를 생성하는 방법.

KR1020210177988A 2021-06-10 2021-12-13 가상 데이터를 생성하는 방법 및 장치 KR102445556B1 (ko)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=83452827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210177988A KR102445556B1 (ko) 2021-06-10 2021-12-13 가상 데이터를 생성하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102445556B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240052467A (ko) 2022-10-14 2024-04-23 주식회사 이엘피케이뉴 딥러닝 비행 테스트용 시뮬레이터와 비행 테스트용 시뮬레이터를 이용한 비행체 트래킹 시스템 및 객체 트래킹 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170074413A (ko) * 2015-12-22 2017-06-30 연세대학교 산학협력단 3d 모델을 활용한 2d 영상 학습 데이터 생성 시스템 및 그 생성방법
KR101886754B1 (ko) * 2017-05-04 2018-09-10 국방과학연구소 머신 러닝을 위한 학습 이미지 생성 장치 및 방법
KR101947650B1 (ko) * 2017-11-14 2019-05-20 국방과학연구소 게임 엔진 기반의 머신 러닝 학습이미지 생성 장치 및 방법
KR20200087310A (ko) * 2018-12-28 2020-07-21 소프트온넷(주) 인공지능 영상판독 딥러닝 학습을 위한 애노테이션 학습데이터 생성과 증강 시스템 및 방법
KR20200108609A (ko) * 2019-03-11 2020-09-21 연세대학교 산학협력단 머신러닝 학습 데이터 증강장치 및 증강방법
KR20200136723A (ko) * 2019-05-28 2020-12-08 한국전자통신연구원 가상 도시 모델을 이용하여 객체 인식을 위한 학습 데이터 생성 방법 및 장치
KR102291162B1 (ko) * 2020-12-01 2021-08-20 주식회사 딥노이드 인공 지능 학습용 가상 데이터 생성 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170074413A (ko) * 2015-12-22 2017-06-30 연세대학교 산학협력단 3d 모델을 활용한 2d 영상 학습 데이터 생성 시스템 및 그 생성방법
KR101886754B1 (ko) * 2017-05-04 2018-09-10 국방과학연구소 머신 러닝을 위한 학습 이미지 생성 장치 및 방법
KR101947650B1 (ko) * 2017-11-14 2019-05-20 국방과학연구소 게임 엔진 기반의 머신 러닝 학습이미지 생성 장치 및 방법
KR20200087310A (ko) * 2018-12-28 2020-07-21 소프트온넷(주) 인공지능 영상판독 딥러닝 학습을 위한 애노테이션 학습데이터 생성과 증강 시스템 및 방법
KR20200108609A (ko) * 2019-03-11 2020-09-21 연세대학교 산학협력단 머신러닝 학습 데이터 증강장치 및 증강방법
KR20200136723A (ko) * 2019-05-28 2020-12-08 한국전자통신연구원 가상 도시 모델을 이용하여 객체 인식을 위한 학습 데이터 생성 방법 및 장치
KR102291162B1 (ko) * 2020-12-01 2021-08-20 주식회사 딥노이드 인공 지능 학습용 가상 데이터 생성 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240052467A (ko) 2022-10-14 2024-04-23 주식회사 이엘피케이뉴 딥러닝 비행 테스트용 시뮬레이터와 비행 테스트용 시뮬레이터를 이용한 비행체 트래킹 시스템 및 객체 트래킹 방법

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 (zh) 用于训练自动驾驶***的逼真的3d虚拟世界创造与模拟
US11120301B2 (en) Methods for generating a dataset of corresponding images for machine vision learning
JP5980295B2 (ja) カメラ姿勢決定方法、及び実環境物体認識方法
Lin et al. Capturing, reconstructing, and simulating: the urbanscene3d dataset
US11989899B2 (en) Determining object structure using physically mounted devices with only partial view of object
CN102317973A (zh) 用于场景解释和对准性能估计的2d电光图像和3d点云数据的融合
Díaz et al. Customizing unmanned aircraft systems to reduce forest inventory costs: can oblique images substantially improve the 3D reconstruction of the canopy?
Xing et al. Multi-UAV cooperative system for search and rescue based on YOLOv5
US20230281913A1 (en) Radiance Fields for Three-Dimensional Reconstruction and Novel View Synthesis in Large-Scale Environments
CN114202622B (zh) 虚拟建筑生成方法、装置、设备及计算机可读存储介质
KR102445556B1 (ko) 가상 데이터를 생성하는 방법 및 장치
Gao et al. Large-scale synthetic urban dataset for aerial scene understanding
Ramakrishnan et al. Shadow compensation for outdoor perception
Leberl et al. Aerial computer vision for a 3d virtual habitat
Spicer et al. Producing usable simulation terrain data from UAS-collected imagery
Maltezos et al. Improving the visualisation of 3D textured models via shadow detection and removal
CN115292287A (zh) 一种卫星特征部件图像自动标注及数据库构建方法
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
Boyko Detection and elimination of rock face vegetation from terrestrial LIDAR data using the virtual articulating conical probe algorithm
Hassan et al. Generation of Digital Surface Model (DSM) USING UAV/QUADCOPTER
Klette et al. Computer Vision in Vehicles