KR102577134B1 - 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템 - Google Patents

영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템 Download PDF

Info

Publication number
KR102577134B1
KR102577134B1 KR1020230027455A KR20230027455A KR102577134B1 KR 102577134 B1 KR102577134 B1 KR 102577134B1 KR 1020230027455 A KR1020230027455 A KR 1020230027455A KR 20230027455 A KR20230027455 A KR 20230027455A KR 102577134 B1 KR102577134 B1 KR 102577134B1
Authority
KR
South Korea
Prior art keywords
image
data
domain
background
images
Prior art date
Application number
KR1020230027455A
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 (주) 씨이랩
Priority to KR1020230027455A priority Critical patent/KR102577134B1/ko
Application granted granted Critical
Publication of KR102577134B1 publication Critical patent/KR102577134B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템이 제공되며, 기 설정된 도메인(Domain)의 이미지에 라벨을 부착하여 데이터셋(DataSet)을 제공하고, 적어도 하나의 객체, 배경, 날씨, 시간, 스폰(Spawn), 카메라 세팅 및 해상도(Resolution)를 변경하여 합성 데이터가 생성되도록 하는 사용자 단말 및 사용자 단말로부터 기 설정된 도메인의 이미지에 라벨링을 받는 라벨링부, 이미지 내 객체를 추출하고, 배경, 날씨, 시간, 스폰, 카메라 세팅 및 해상도를 변화시켜 객체와 합성하는 합성부, 객체와 합성된 합성 데이터 내 객체 이동(Object Move), 색상 변화(Change Color) 및 분할(Segmentation) 중 적어도 하나를 적용하여 캡쳐 이미지와 메타데이터(MetaData)를 생성하는 생성부, 캡쳐 이미지를 이미지 파일로 저장하고 메타데이터를 JSON 좌표로 표현한 JSON 데이터를 생성하여 저장하는 저장부를 포함하는 생성 서비스 제공 서버를 포함한다.

Description

영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템{SYSTEM FOR PROVIDING DOMAIN-SPECIFIC DATA GENERATING SERVICE FOR IMAGE ANALYSIS}
본 발명은 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템에 관한 것으로, 영상분석 모델을 학습 및 검증하기 위한 다양한 환경의 데이터셋을 합성할 수 있는 시스템을 제공한다.
지능형 영상보안시스템에서 영상분석을 수행할 때 비, 눈, 안개, 바람, 저조도 등의 환경 변화는 이미지의 가시성을 떨어뜨리고, 객체 탐지 및 인식과 같은 컴퓨터 비전 작업에 많은 영향을 미친다. 날씨를 포함한 환경 정보를 파악하여 이를 개선함으로써, 지능형 영상분석의 정확도를 향상시키려는 연구가 진행되었는데, 비가 영상분석에 어떤 영향을 미치는지 확인하고, 비를 제거하기 하여 신경망에 가우시안-라플랑시안 이미지 피라미드를 도입하거나, 안개를 제거하기위해 CNN(Convolutional Neural Network) 기반의 네트워크를 이용하여 안개 이미지를 복구하기도 한다. 특히, 겨울은 다양한 환경 변화로 인해 객체 탐지 등 영상분석 성능이 저하되는데, 눈이 오는 환경에서 객체를 탐지했을 경우 객체 탐지 성능은 눈이 내리는 강도에 따라 객체 탐지 성능이 달라지며, 눈이 많이 오면 객체 탐지가 거의 불가능해진다. 날씨 이외에도 저조도 환경도 영상분석 성능을 저하시키기도 한다.
이때, 영상분석의 품질을 개선하기 위하여 데이터증강(Data Augmentation)을 수행하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-2482262호(2022년12월28일 공고) 및 한국공개특허 제2022-0046925호(2022년04월15일 공개)에는, 입력 이미지에서 객체를 추출한 후 객체와 배경으로 나누고, 합성을 할 객체와 배경을 추출한 후 렌더링(Rendering)을 통하여 합성 이미지를 생성하는 구성과, 라벨(Label)이 부여되지 않은 이미지를 이용하여 딥러닝 모델의 성능을 평가하기 위해 이미지를 증강하여 딥러닝 모델에 제공하고, 딥러닝 모델에서 정답을 출력했는지의 여부를 분석하는 구성이 각각 개시되어 있다.
다만, 전자의 경우 객체가 포함된 이미지로부터 배경과 객체를 추출하므로 각 배경의 종류와 다양성이 한정될 수 밖에는 없어서 다양한 환경에서의 객체 이미지를 생성해낼 수 없고, 후자의 경우에도 단순 회전, 미러링, 크기변환 등의 데이터증강일 뿐, 사막, 초원, 숲 등의 배경이나, 구름, 안개 등 날씨, 카메라 위치, 거리 및 광원 등의 시야 설정 등을 변경한 데이터증강의 구성이 아니다. 이에, 다양한 환경변화를 적용한 데이터증강을 통하여 영상분석을 위한 모델을 학습시킬 데이터셋을 생성할 수 있는 시스템의 연구 및 개발이 요구된다.
본 발명의 일 실시예는, 기 설정된 도메인(Domain)의 이미지에 라벨을 부착하여 데이터셋(DataSet)을 생성하고, 영상분석모델을 학습시킬 데이터셋의 데이터증강(Data Augmentation)을 위하여, 배경(Map), 시간(Time), 라이트(Light), 스폰(Spawn) 및 카메라 세팅(Setting)을 기 설정된 하위설정으로 각각 변경하여 객체와 합성한 합성 데이터를 생성하며, 합성 데이터의 객체를 이동시키거나, 색상을 변경시키거나 분할(Segmentation)을 수행하고 캡쳐 이미지를 생성하고, 캡쳐 이미지의 메타데이터를 생성함으로써 자동으로 라벨링(Labelling)된 이미지 파일 및 JSON 좌표를 생성할 수 있는, 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 기 설정된 도메인(Domain)의 이미지에 라벨을 부착하여 데이터셋(DataSet)을 제공하고, 적어도 하나의 객체, 배경, 날씨, 시간, 스폰(Spawn), 카메라 세팅 및 해상도(Resolution)를 변경하여 합성 데이터가 생성되도록 하는 사용자 단말 및 사용자 단말로부터 기 설정된 도메인의 이미지에 라벨링을 받는 라벨링부, 이미지 내 객체를 추출하고, 배경, 날씨, 시간, 스폰, 카메라 세팅 및 해상도를 변화시켜 객체와 합성하는 합성부, 객체와 합성된 합성 데이터 내 객체 이동(Object Move), 색상 변화(Change Color) 및 분할(Segmentation) 중 적어도 하나를 적용하여 캡쳐 이미지와 메타데이터(MetaData)를 생성하는 생성부, 캡쳐 이미지를 이미지 파일로 저장하고 메타데이터를 JSON 좌표로 표현한 JSON 데이터를 생성하여 저장하는 저장부를 포함하는 생성 서비스 제공 서버를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 기 설정된 도메인(Domain)의 이미지에 라벨을 부착하여 데이터셋(DataSet)을 생성하고, 영상분석모델을 학습시킬 데이터셋의 데이터증강(Data Augmentation)을 위하여, 배경(Map), 시간(Time), 라이트(Light), 스폰(Spawn) 및 카메라 세팅(Setting)을 기 설정된 하위설정으로 각각 변경하여 객체와 합성한 합성 데이터를 생성하며, 합성 데이터의 객체를 이동시키거나, 색상을 변경시키거나 분할(Segmentation)을 수행하고 캡쳐 이미지를 생성하고, 캡쳐 이미지의 메타데이터를 생성함으로써 자동으로 라벨링(Labelling)된 이미지 파일 및 JSON 좌표를 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 생성 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 생성 서비스 제공 서버(300) 및 라벨러 단말(400)를 포함할 수 있다. 다만, 이러한 도 1의 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 생성 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 생성 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100)과 연결될 수 있다. 또, 라벨러 단말(400)는, 네트워크(200)를 통하여 생성 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 영상분석 모델을 학습 및 검증하기 위한 데이터셋을 구축하는 개발자의 단말일 수 있다. 이를 위하여, 사용자 단말(100)은, 라벨이 이미지에 부착되어 라벨링이된 데이터셋을 입력하고, 각 환경의 조건을 세팅한 후 데이터증강(Data Augmenation)이 된 이미지 데이터셋을 수신하는 단말일 수 있다. 이때, 설명의 편의를 위하여, 또 두 개(입력 및 출력)의 구성을 구분하기 위해, 데이터증강 전 데이터셋을 데이터셋으로, 데이터증강 후 데이터셋을 이미지 데이터셋으로 구분하여 부르기로 한다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
생성 서비스 제공 서버(300)는, 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 생성 서비스 제공 서버(300)는, 적어도 하나의 환경에 대한 파라미터를 설정하고, 각 파라미터에 대한 효과를 줄 수 있는 이미지나 툴(Tool)을 구비하며, 사용자 단말(100)에서 라벨링된 데이터셋을 입력한 경우, 각 환경에 대한 효과를 적용하여 합성 데이터를 생성하고, 합성 데이터 내 캡쳐 이미지 및 메타데이터를 이용하여 이미지 파일 및 JSON 데이터를 생성하여, 이미지 데이터셋의 추가 라벨링이 필요없도록 하는 서버일 수 있다. JSON 데이터에는, 어떠한 효과가 적용되었는지, 객체는 무엇인지, 그 위치(좌표)는 무엇인지 등의 이미 합성하는 동안 효과에 대한 정보가 모두 기록되어 있으므로 다시 라벨링을 할 필요가 없다.
여기서, 생성 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 라벨러 단말(400)은, 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 이미지에 라벨을 부착하는 라벨링을 수행하는 단말일 수 있다.
여기서, 적어도 하나의 라벨러 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 라벨러 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 라벨러 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 생성 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 생성 서비스 제공 서버(300)는, 라벨링부(310), 합성부(320), 생성부(330), 저장부(340), 배경확보부(350), 데이터확보부(360), 모델링부(370)를 포함할 수 있다.
본 발명의 일 실시예에 따른 생성 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100)로 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100)은, 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 2를 설명하기 이전에, 이미지 합성에 대한 기본개념을 이하에서 설명한다. 이하에서 설명된 기본개념은 도 2를 설명하면서 중복하여 기재하지 않는다.
<Metamorphic Testing>
Test Oracle은 Testing 과정에서 입력에 따른 프로그램 실행 결과가 올바른지 판단하는 절차이다. 복잡한 수식을 계산하는 프로그램이나 컴파일러 프로그램과 같이 입력에 따른 예상 출력을 계산하기 어려워 Test Oracle을 수행할 수 없는 문제를 Oracle Problem이라고 한다. Oracle Problem이 있는 경우 테스트 케이스를 생성하기가 어렵고, 그에 따라 프로그램을 테스트하기 어려운 문제가 있다. 이러한 Oracle Problem을 완화하기 위해 고안된 기법이 Metamorphic Testing이다. Metamorphic Testing은 여러 입력에 따른 프로그램 출력을 통해 예상되는 관계로 테스트 케이스를 생성하는 방법이다. 예를 들어, sin 함수에 12를 입력한다고 할 때 예상 출력을 결정하기 어렵다. 이런 상황에서 sin 함수의 특성이 sin(x)=sin(π-x)이므로, sin(12)의 출력을 정확하게 알지 않아도 식 sin(12)=sin(π-12)로 테스트할 수 있다. 이러한 프로그램 출력을 통해 추론되는 관계를 Metamorphic Relation이라 한다.
본 발명의 일 실시예에서는, 테스트 이미지 수, 즉 이미지 데이터셋을 증가시키는 방법으로 합성 이미지 생성과 데이터증강 기법을 적용한다. 예를 들어, 테스트 이미지에 개가 들어있을 경우, 개의 이미지를 추출하고, 추출한 개 이미지를 배경 이미지와 합성하여 합성 이미지를 생성한다. 생성된 합성 이미지에는 개가 존재하므로 이미지 분류 또는 객체 탐지모델은 합성 이미지의 라벨(Label_을 테스트 이미지의 라벨(Label)과 동일하게 개로 판별할 수 있어야 한다. 또한 합성 이미지에 데이터증강 기법을 적용해도 합성 이미지 내 객체의 형태는 그대로 유지된다. 이에 CNN 모델의 Metamorphic Relation으로 식 테스트 이미지의 라벨과 합성 이미지의 라벨이 같음을 적용한다.
<합성 이미지 생성>
합성 이미지(합성 데이터) 생성은 CNN 모델을 평가하기 위해 테스트 이미지로부터 객체 이미지를 추출하고, 추출한 객체 이미지를 배경 이미지와 합성하여 새로운 테스트 이미지를 생성하는 방법이다. 합성 이미지 생성은 객체 이미지 추출과 이미지 합성 두 단계로 이루어진다. 이미지 추출은 객체가 존재하는 이미지에서 객체만 객체 이미지로 추출하는 방법이다. 이미지 합성은 객체 이미지와 수집한 배경 이미지를 합성하고 데이터증강 기법을 적용하여 새로운 테스트 이미지를 생성하는 방법이다.
<이미지 추출>
이미지 추출은 객체가 존재하는 이미지에서 배경이 없는 객체 이미지를 추출하는 방법이다. 이미지 추출 방법으로 Canny Edge Detection과 GrabCut 알고리즘, Object Detection과 Instance Segmentation이 있다. Canny Edge Detection은 이미지 내 Edge를 탐색하는 알고리즘으로, 이미지 내 객체를 추출할 수 있다. 하지만 Canny Edge Detection 을 적용할 때 임계값(Threshold)에 따라 객체의 Edge가 판별이 안 되는 경우가 있을 수 있으며, 객체의 일부분만 추출될 수 있다는 단점을 가지고 있다. GrabCut 알고리즘은 이미지에서 전경을 추출하기 위해 개발된 알고리즘으로, 사용자가 객체를 중심으로 직사각형 바운딩 박스를 그리면 객체의 이미지를 추출할 수 있다. 또한 객체의 바운딩 박스 내 배경 이미지를 완전히 제거하려면 사용자가 배경과 전경을 설정하는 작업이 필요하여 이미지 생성을 자동화하기 위한 이미지 데이터 증강 도구에 적절하지 않다. 객체 탐지(Object Detection)는 학습된 라벨에 따라 이미지 내 객체를 탐지하여 바운딩 박스를 출력하는 방법이다. 객체 탐지 기법을 할 수 있는 인공신경망 모델로는 YOLOv3와 Faster R-CNN 등 여러 모델이 있다. 인공신경망을 사용하기에 학습된 라벨에 대해서만 객체를 탐지할 수 있으며, 바운딩 박스에 따라 이미지 내 객체 이미지를 추출하면 객체 이외 영역에 기존 이미지의 배경 이미지가 남아있다는 단점이 있다.
인스턴스 분할(Instance Segmentation)은 이미지 내 객체의 형태에 따른 마스크(Mask) 정보로 색을 입히는 방법으로, 인스턴스 분할 기능을 하는 모델로 Mask R-CNN이 있다. Mask R-CNN 모델은 분류(Classification), 객체 탐지(Object Detection), 인스턴스 분할 기능을 가지고 있어, 입력된 이미지의 마스크 정보와 바운딩 박스 정보를 사용하여 객체의 형태를 유지하면서 배경 이미지를 제거한 객체 이미지를 추출할 수 있다. 객체 탐지처럼 학습된 데이터셋의 라벨에 대해서만 객체 이미지를 추출 가능하다는 단점이 있다. 본 발명의 일 실시예에서는, 객체 이미지 추출을 위한 이미지 추출 방법으로 인스턴스 분할(Instance Segmentation)을 이용할 수 있닫. 인스턴스 분할은 마스크 정보를 활용해서 자동으로 배경을 제거하면서 객체 이미지를 추출할 수 있다.
<이미지 합성>
이미지 합성은 이미지 추출로 추출한 객체 이미지(전경)와 배경 이미지(배경)를 합성하는 과정이다. 이미지 합성하는 방법으로는 이미지 더하기와 블랜딩(Blending), 이미지 비트 연산을 사용한 합성이 있다. 이미지 더하기는 두 이미지의 각 좌표의 RGB값을 각각 더하는 방법이다. 더하기 연산 방법을 적용하여 RGB 값이 255보다 큰 값을 가지게 되는 경우 해당 RGB 값을 256으로 나눈 나머지 값 또는 255로 변경한다. 따라서 객체 이미지와 배경 이미지의 RGB 값을 더하는 경우 객체 이미지의 형태가 유지되지 않을 수 있다. 객체 이미지의 형태가 크게 달라지는 경우 Metamorphic Relation을 적용할 수 없는 이미지가 생성된다. 블랜딩은 두 이미지의 RGB값마다 일정 비율을 곱하여 더하는 방법이다. 객체 이미지의 합성 비율이 0에서 1 사이의 실수 α라면 배경 이미지의 합성 비율은 1-α이다. 두 이미지의 합성 비율 합이 1이므로 이미지 합성을 하더라도 RGB값이 255를 초과하지 않는다. 그러나 이 방법도 객체 이미지의 형태가 변형될 수 있다.
이미지 비트 연산은 두 이미지를 AND 나 XOR 같은 비트 연산을 적용하여 합성하는 방법이다. 추출한 객체 이미지를 임계값에 따라 객체 형태의 마스크 정보를 계산하고, 마스크 정보를 사용하여 객체 이미지를 배경 이미지와 합성한다. 마스크 정보를 사용하여 배경 이미지와 객체 이미지 간에 섞이지 않고 이미지가 합성이 된다. 하지만 객체 이미지에서 객체와 배경의 구분이 명확하지 않다면 객체의 영역 이외 영역도 마스크 정보에 포함될 수 있다. 본 발명의 일 실시예에서는 비트 연산을 사용하여 객체 이미지와 배경 이미지를 합성할 수 있는데. 비트 연산을 사용하면 객체 이미지의 형태를 유지하면서 배경 이미지와 합성이 가능하다. 또한 이미지 추출에서 인스턴스 분할을 적용하여 객체 이미지의 배경을 일정한 값으로 바꾸어 객체와 배경의 구분이 명확하다면, 비트 연산에서 발생하는 마스크 영역 문제를 해결할 수 있다. 물론, 상술한 방법에 한정되지 않는다.
<데이터증강>
데이터증강은 이미지에 변형 기법을 적용하여 변형된 이미지를 생성하는 방법이다. 데이터증강은 주로 모델 학습 전에 학습 데이터셋에 여러 데이터증강 기법을 적용하여 학습 데이터셋의 양을 늘려서 모델을 학습시킨다. 데이터증강을 적용할 때 주로 사용하는 이미지 변형 기법으로 이미지 대칭, 이미지 크기, 이미지 회전, 이미지 밝기 조절 등이 있다. 데이터증강을 사용하면 각 테스트 이미지마다 여러 장의 데이터증강을 적용한 이미지를 생성할 수 있다. 같은 데이터증강 기법을 적용할 때 그 정도에 따라 다른 이미지를 여러 장 생성할 수 있다. 이미지 확대 및 축소의 경우 10%, 20%, 30% 값을 입력하여 크기가 다른 이미지들을 생성할 수 있으며, 회전의 경우 회전 각도를 10°, 20°, 30° 등으로 다르게 적용하여 회전한 정도가 다른 이미지를 생성할 수 있다.
본 발명의 일 실시예에서는, 데이터증강을 적용할 수 있다. 평가 대상 CNN 모델은 Metamorphic Relation에 따라 데이터증강을 적용한 합성 이미지의 라벨과 데이터증강을 적용하지 않은 합성 이미지의 라벨, 테스트 이미지의 라벨은 모두 동일하게 판별해야 한다. 데이터증강 기법들은 예를 들어, 이미지의 밝기를 증가 또는 감소시키는 밝기(Brightness) 조절, Gaussian Noise, Salt and Pepper Noise, Speckle Noise, Poisson Noise 등을 적용한 노이즈 처리, 비, 안개, 눈 효과를 적용하는 날씨 변형 등이 존재할 수 있다.
상술한 기본개념을 바탕으로 도 2를 참조하면, 라벨링부(310)는, 사용자 단말(100)로부터 기 설정된 도메인의 이미지에 라벨링을 받을 수 있다. 사용자 단말(100)은, 기 설정된 도메인(Domain)의 이미지에 라벨을 부착하여 데이터셋(DataSet)을 제공할 수 있다. 이때, 라벨링된 데이터셋은 라벨러 단말(400)에서 제공할 수 있다. 여기서, 개발자가 라벨러 역할까지 수행하는 경우 두 단말(100, 400)의 분리는 필요조건이 아닐 수 있다. 이때 기 설정된 도메인은 예를 들어, 이미지에서 화염을 분류해내기 위해 딥러닝을 사용할 때 충분한 학습이 이루어져야 분류의 정확도를 높여 화재 탐지 시스템의 성능을 향상할 수 있고, 학습 정확도는 학습 데이터의 양과 적합성에 좌우되는데, 일반적인 이미지 데이터 증강에 사용한 방법은 이미지 크기 축소, 확대, 불필요한 부분 삭제, 뒤집기, 회전 등이 사용되지만, 화재와 같은 특정 용도에서는 이러한 방법 보다는 화재의 특징을 강화할 수 있는 증강 방법이 필요하게 된다. 이렇게 특수 용도에 따른 데이터셋이 필요할 때 기 설정된 도메인에 따른 이미지를 따로 모으게 되고, 이러한 특수 용도에 따른 이미지를 특정 도메인에 따른 이미지로 정의한다. 이때, 라벨링 및 후술하는 어노테이션은 본 출원인의 한국등록특허 제10-2439838호(2022년09월06일 공고) 및 본 출원인((주)씨이랩)의 웹사이트의 XLabeller를 이용할 수도 있다. 이때 XLabeller의 구체적인 설명은 상술한 한국등록특허 및 본 출원인의 솔루션(https://xiilab.com/brand/xlabeller)을 참고하기로 한다.
합성부(320)는, 이미지 내 객체를 추출하고, 배경, 날씨, 시간, 스폰, 카메라 세팅 및 해상도를 변화시켜 객체와 합성할 수 있다. 사용자 단말(100)은, 적어도 하나의 객체, 배경, 날씨, 시간, 스폰(Spawn), 카메라 세팅 및 해상도(Resolution)를 변경하여 합성 데이터가 생성되도록 할 수 있다. 즉, 사용자 단말(100)은, 객체에 어떠한 효과를 주고, 어떠한 방식으로 합성을 할 것인지에 대한 효과 종류, 합성 툴, 합성 방법 등을 세팅할 수 있다. 또, 사용자 단말(100)은, 배경을 크롤링하는 경우, 어디에서 어떠한 배경을 어떠한 포맷으로 크롤링할 것인지에 대한 웹크롤러를 세팅할 수 있다. 날씨는, 안개(Fog), 구름(Cloudy), 눈(Snow) 및 비(Rain)를 포함하고, 시간은, 오전, 오후 및 저녁을 포함하고, 카메라 세팅은, 위치(Position) 및 회전(Rotation)을 포함하는 고정세팅(Fix Setting)과, 거리(Distance), 높이(Height) 및 각도(Angle)를 포함하는 랜덤세팅(Random Setting)을 포함할 수 있다.
<데이터증강>
데이터증강은 객체탐지 모델의 학습 이미지 데이터 수량을 늘리기 위해 연구되는 분야로서 추가적인 데이터를 확보하는 것과 달리 기존의 데이터를 활용하여 데이터의 수를 증가시키는 방법이다. 데이터증강은 기본 이미지 변형(Basic Image Manipulation), 딥러닝 접근법(Deep Learning Approaches) 및 메타 학습(Meta Learning)이라는 3 가지 분류로 나뉘어진다. 기본 이미지 변형은 가장 기본적인 데이터증강 모델로 기존의 이미지를 회전, 색상변경, 합치기, 일부 삭제 등 이미지의 기하학적 특성을 변형시킨 데이터를 증강 데이터로 사용한다. 딥러닝 접근법은 데이터증강에 GAN(Generative Adversarial Network)과 같은 딥러닝 모델을 활용하여 데이터를 증강한다. 메타 학습은 데이터증강에 사용되는 최적의 하이퍼파라미터를 학습의 과정을 통해 도출하고 도출한 방법들을 활용하여 데이터증강을 하는 방법이다.
<모자이크 증강>
모자이크 증강(Mosaic Augmentation) 모델은 기존 네 개의 원본 이미지의 잘라낸 부분들을 조합하여 새로운 이미지를 형성한다. 각 이미지의 일부를 잘라낼 때에는 객체탐지에 사용될 수있도록 바운딩 박스(바운딩 박스)가 포함된 부분을 잘라낸다. 기존 이미지의 어느 부분을 잘라내고 새로운 이미지 형성시 기존 이미지를 조합하는 방법에 따라 다양한 이미지를 형성한다. 이 과정에서 이미지의 배치(Batch) 사이즈를 키워 객체탐지 모델의 학습효과를 증대시키므로 객체탐지 데이터셋에 대한 데이터증강 모델로 자주 사용된다.
<단일 GAN>
SinGAN(Single Generative Adversarial Network) 모델은 많은 학습 이미지에 대해 생성기와 판별기 네트워크의 대립구조를 통해 이미지를 증강하는 기존의 GAN 모델과는 달리 단일 이미지를 통해 이미지를 증강한다. 단일 이미지만으로도 기존과 유사한 이미지를 형성할 수 있다는 특징으로 인해 소규모 데이터셋에 대한 데이터증강 모델로 주로 사용된다. 이 외에도 Cycle-GAN이 이용될 수도 있는데 그 종류는 이에 한정되지 않는다.
<랜덤증강>
랜덤증강(RandAugment) 모델은 딥러닝 모델의 정책에 따른 최적의 데이터증강방법을 찾기 위한 시도에서 시간과 비용이라는 현실적인 문제를 해결하고자 제시된 방법이다. 랜덤증강 모델은 기존 이미지를 기하학적으로 변형시킬 방법과 그 강도를 설정하여 이미지를 증강하는 방법이다. 변형 방법은 14 가지의 방법 중 몇 가지의 방법을 적용할지 설정하면 무작위로 설정되고 강도는 0~30 범위에서 설정한다. RandAugment 모델은 메타 학습 모델 중 비교적 적은 컴퓨팅 시간에 높은 성능 달성이 가능하여 각종 딥러닝 모델 관련 분석 대회에서 주로 사용된다. 이 외에도 강화학습을 이용하여 데이터셋을 자동 증강하는 방법이나, 전이학습을 이용하여 이미 구축된 데이터셋을 이용하는 방법 등도 가능하다.
생성부(330)는, 객체와 합성된 합성 데이터 내 객체 이동(Object Move), 색상 변화(Change Color) 및 분할(Segmentation) 중 적어도 하나를 적용하여 캡쳐 이미지와 메타데이터(MetaData)를 생성할 수 있다. 이때, PASCAL 3D+, 3D Ware House나 언리얼 또는 유니티(Unity) 등의 게임엔진을 이용하여 객체를 3D로 생성할 수 있고, 3D CAD 모델에서 객체를 렌더링하여 합성 데이터를 만들기 전 객체 탐지(Object Detection) 및 포즈 추정(Pose Estimation)에 필요한 어노테이션(Annotation)을 먼저 추출할 수 있다. 이를 위하여 가상 카메라(Virtual Camera)를 사용하여, 실제 렌더링된 이미지와는 색상을 제외한 다른 것들은 모두 동일한 이미지를 얻어낸다. 이 이미지는 객체 탐지와 자세 추정에 필요한 어노테이션을 추출하기 위한 기반이 된다.
이때, 합성 데이터는 예를 들어 Blender를 이용하여 3D CAD 모델을 렌더링하 합성 데이터를 만들어낼 수 있다. 정확한 어노테이션 추출을 위해서는 Blender를 통해 생성된 이미지와 가상 카메라를 통해 만들어진 이미지가 완전히 동일해야 하기에, 실제 카메라가 아닌 Blender에서 렌더링을 할 때에 사용되는 카메라와 가상 카메라가 동일한 카메라 내부 파라미터(Intrinsic Parameters)를 갖게 해야 한다. 두 개의 카메라 모두 동일한 해상도를 가지는 영상으로 정의할 수 있고, 해당 이미지 생성을 위한 카메라의 내부 파라미터도 미리 설정할 수 있다. 또한, 가상 카메라의 FOV 안에 객체가 없을 때에는 RGB의 값이 모두 255인 하얀색의 이미지를 얻을 수 있게 만들어 줄 수 있다.
<객체의 포즈 샘플 생성>
구면 좌표계를 이용할 수 있는데, 구면 좌표계의 중심에 객체를 위치시키기 때문에 다중 객체들 간의 올바른 겹침 현상(Occlusion)을 반영하기 힘들다. 다중 객체를 고려하여 객체 간 오큘레이션(Occlusion)을 고려하기 위해 카메라는 직교 좌표계의 중심인 (0, 0, 0)에 위치시킨다. 그리고 카메라의 FOV 안에서 객체들을 이동시키게 된다. 이때 카메라와 객체 간의 상대 변환(Relative Transformation)을 임의로 만들어 줄 수도 있다. 샘플링해야 할 파라미터는 총 6개로 Translation 속성인 X, Y, Z와 회전 속성인 Roll, Pitch, Yaw이다. 회전 속성인 Roll, Pitch, Yaw는 정해진 범위(0°~360°) 안에서 무작위로 생성되며, Translation 속성인 X, Y, Z는 카메라의 FOV에 따라 정해지게 된다.
<바운딩 박스 및 세그멘테이션 어노테이션>
이미지에 필요한 어노테이션을 추출하기 위한 과정을 구체적으로 설명한다. N개의 객체를 가상 카메라의 이미지 평면으로 프로젝션시키는 과정에서 객체의 색상을 조작하여 객체의 어노테이션을 추출한다. 구체적으로, 카메라와의 거리에 해당하는 값인 Z가 큰 객체부터(카메라로부터 멀리 있는 순으로) 어노테이션을 추출한다. 이때에 n 번째로 Z 값이 큰 객체의 어노테이션을 추출하기 위해, n 번째로 Z 값이 큰 객체를 제외하고 객체의 색상을 하얀색으로 지정하여 이미지 평면에 투영한다. 이와 같은 방식으로 얻어진 이미지들을 이용하여 각각의 객체에 대한 어노테이션을 추출하게 된다. 세그멘테이션 어노테이션을 추출하기 위해, 프로젝션 결과 이미지를 그레이 스케일로 변환한다. 그 후, 단일 채널 이미지 픽셀들의 간단한 크기 비교를 통해 객체의 세그멘테이션 어노테이션을 얻을 수 있다. 바운딩 박스 어노테이션을 얻어내기 위해 가우시안 필터를 적용해 객체 형태의 가장자리의 모호함을 제거한다. 그 후, 케니 윤곽선 탐지(Canny Edge Detection)을 수행하여 객체의 외곽선(Contour)의 좌표를 알아낼 수 있다. 이 외곽선의 x, y 좌표의 최댓값과 최솟값을 이용하여 바운딩 박스를 추출해 낸다. 이러한 어노테이션 추출과정은 모든 객체에 반복하여 수행한다.
<어노테이션 저장 방식>
어노테이션은 JSON 타입으로 저장하며, 각각의 이미지별로 분류한다. 어노테이션은 한 이미지에 나타나는 객체의 개수와 각각의 객체에 대한 정보들을 포함한다. 객체 분류(Object Classification), 객체 탐지(Object Detection), 인스턴스 세그멘테이션(Instance Segmentation), 객체 포즈 추정(Object Pose Estimation)을 수행할 수 있는 어노테이션을 모두 포함한다.
<이미지 합성>
<렌더링>
상술한 바와 같이 이미지 렌더링을 위해 Blender를 이용할 수 있다. 지금부터의 과정은 위에서 얻은 어노테이션들을 이용하여 객체를 정렬하고 이미지 데이터셋에 사용될 이미지를 만드는 과정이다. 다양한 광학적 환경을 만들기 위해 점광원(Point Light)을 추가할 수 있다. 각 점광원의 포즈는 좌표계의 원점에 위치한 카메라를 중심으로 균일하게 샘플링할 수 있고, 또한 점광원의 에너지 값은 평균과 표준편차 모두 2가 되게 샘플링할 수 있다. Blender를 통해 3D CAD 모델을 렌더링하면 투명 배경의 이미지를 얻는다 이 이미지는 각 도메인에 맞는 이미지로 변경된다.
<잘라내기>
이 과정은 포즈 추정(Pose Estimation)에 적합한 데이터 셋을 만들기 위해 필요하다. 상술한 렌더링된 이미지는 어노테이션에 포함된 바운딩 박스를 관심 영역(Region of Interest, ROI)으로 간주하고 이미지를 잘라낸다. 이를 통해 포즈 추정기는 다른 것들은 제외하고 오로지 추정해야 하는 객체에만 집중할 수 있다.
<배경 오버레이>
렌더링 및 잘라내기(Cropping)이 된 이미지는 배경을 가지고 있지 않다. 이때, 이미지에 배경을 씌우게 되는데, 학습시 영상분석 모델이 지나치게 비현실적 이미지에 오버피팅되는 것을 방지하기 위해 다양한 배경 이미지를 사용할 수 있다.
저장부(340)는, 캡쳐 이미지를 이미지 파일로 저장하고 메타데이터를 JSON 좌표로 표현한 JSON 데이터를 생성하여 저장할 수 있다.
배경확보부(350)는, 객체에 따라 검증하는 환경에 대한 유사한 배경을 크롤링(Crawling)을 통하여 확보할 수 있다. 웹크롤러를 통하여 검증하는 환경에 대한 유사한 배경을 크롤링했다면, 이 배경이 밤에 촬영된 것인지 낮에 촬영된 것인지, 겨울인지 여름인지, 산인지 바다인지 등에 대한 라벨링이 다시 필요하게 된다. 이때, 실제 이미지에 나타나는 객체들에 자동으로 라벨을 생성하는 것은 매우 힘들기 때문에, 주로 사람이 직접 작업을 수행하는 것이 일반적이지만, 사람이 직접 라벨을 표시하는 것 또한 부정확할 수 있고, 데이터셋의 양이 많을 경우에는 어려움이 있어 적합하지 못한 방법이다. 이를 해결하기 위해 높은 현실감을 반영한 시뮬레이션 엔진을 통해 딥러닝(Deep Learning)에 필요한 트레이닝셋을 만들어 낼 수도 있다. 시뮬레이션 엔진을 통해 날씨의 변화, 낮과 밤 등의 시간 변화를 주어 트레이닝셋의 다양성을 확보하고, 또한 이미지의 깊이 정보도 얻어낼 수 있다. 또 다른 방법으로는 3D CAD 모델을 사용하여 이미지를 생성한 후 자동으로 라벨을 생성하는 툴을 이용할 수도 있는데, 구면 좌표계의 중심에 하나의 객체를 두고, 구면 좌표계의 성분인 Azimuth, Elevation에 대한 샘플을 생성하여 가상 카메라를 이 샘플에 맞게 구면 좌표계에 위치시킨 후, 가상 카메라를 이용하여 객체에 대한 이미지를 촬영한다. 그리고 촬영한 이미지에서 객체의 바운딩 박스와 세그멘테이션 라벨을 추출해낼 수 있다. 또, 여러 개의 객체를 사용하여 객체들 간의 겹침 현상을 고려하기 위해, 카메라를 직교 좌표계의 중심에 위치시키고, 가상 카메라의 FOV(Field of View) 안에서 객체들을 이동시켜 이미지를 촬영할 수도 있다.
데이터확보부(360)는, 이미지 파일 및 JSON 데이터로 자동 라벨링이 된 이미지 데이터셋을 확보할 수 있다. 모델링부(370)는, 이미지 데이터셋을 이용하여 영상분석을 위한 영상분석 모델을 학습 및 검증시킬 수 있다.
이하, 상술한 도 2의 생성 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, (a) 생성 서비스 제공 서버(300)는 라벨러 단말(400)로부터 이미지에 라벨이 부착된 데이터셋을 수집하고, 사용자 단말(100)로부터 어떠한 도메인의 배경을 수집하거나 크롤링할 것인지, 어떠한 효과와 카메라 세팅을 적용할 것인지에 대한 세팅을 받은 후, (b) 및 (c) 과정을 통해 데이터증강을 수행한 후, (d)와 같이 객체 이동, 색상 변화, 분할(Segmentation)을 통해 캡쳐 이미지 및 메타데이터를 생성한 후, 이미지 파일 및 JSON 데이터를 생성함으로써 이미지 데이터셋을 만들 수 있다. 이 과정은 도 4에 상세히 도시되는데, 도 4에서 라벨링된 데이터셋은 객체, 배경, 효과세팅으로 나뉘고, 객체는 동물, 자동차, 사람 등이고, 배경은 검증하는 환경에 대한 유사한 배경으로 크롤링 등으로 확보하게 된다. 이때, 날씨에 안개를 세팅하면 안개가 배경에 합성되어 안개낀 배경이 만들어지고, 구름이 세팅되면 배경에 구름이 합성되어 구름낀 배경이 만들어지며, 여름의 알프스 산 배경을, 겨울의 알프스 산 배경으로 변환 또는 합성하거나, 겨울의 로키산맥을 여름으로 변환하는 등의 날씨 변화를 줄 수 있다. 또, 시간도 낮의 숲속 배경이라면, 밤의 숲속 배경으로, 저녁의 숲속 배경이라면 새벽의 숲속 배경으로 각각 변환하는 방식으로 데이터를 늘릴 수 있고, 스폰(Spawn), 즉 특정 영역을 확대하거나 늘리는 방식으로 변환을 줌으로써 데이터를 늘릴 수 있다. 카메라 세팅도 위치를 변환하거나 회전을 시키거나, 객체와의 거리를 좁히거나 늘리거나, 객체와의 높이를 줄이거나 늘리거나, 각도를 크게하거나 작게하는 등으로 데이터를 늘릴 수 있고, 해상도도 줄이거나 높이는 등으로 변경함으로써 데이터를 늘릴 수 있다. 최종적으로 객체의 이동, 색상 변화, 분할 등을 각각 적용하여 이미지 캡쳐를 수행하고, 캡쳐된 이미지 내 객체가 어디에 존재하는지, 배경은 어떤 배경인지, 효과는 무엇을 준것인지, 카메라 세팅은 어떻게 되는지 등등의 메타데이터를 JSON 데이터로 변환하여 저장할 수 있다. 결과로 나온 이미지 파일은 숲 속에 객체(강아지)가 합성된 결과이다.
이와 같은 도 2 내지 도 4의 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 생성 서비스 제공 서버는, 사용자 단말로부터 기 설정된 도메인의 이미지에 라벨링하고(S5100), 이미지 내 객체를 추출하고, 배경, 날씨, 시간, 스폰, 카메라 세팅 및 해상도를 변화시켜 객체와 합성한다(S5200). 또, 생성 서비스 제공 서버는, 객체와 합성된 합성 데이터 내 객체 이동(Object Move), 색상 변화(Change Color) 및 분할(Segmentation) 중 적어도 하나를 적용하여 캡쳐 이미지와 메타데이터(MetaData)를 생성하고(S5300), 캡쳐 이미지를 이미지 파일로 저장하고 메타데이터를 JSON 좌표로 표현한 JSON 데이터를 생성하여 저장한다(S5400).
상술한 단계들(S5100~S5400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (5)

  1. 기 설정된 도메인(Domain)의 이미지에 라벨을 부착하여 데이터셋(DataSet)을 제공하고, 적어도 하나의 객체, 배경, 날씨, 시간, 스폰(Spawn), 카메라 세팅 및 해상도(Resolution)를 변경하여 합성 데이터가 생성되도록 하는 사용자 단말; 및
    상기 사용자 단말로부터 기 설정된 도메인의 이미지에 라벨링을 받는 라벨링부, 상기 라벨링된 이미지 내 객체를 추출하고, 배경, 날씨, 시간, 스폰, 카메라 세팅 및 해상도를 변화시켜 상기 추출된 객체와 합성하는 합성부, 상기 객체와 합성된 합성 데이터 내 객체 이동(Object Move), 색상 변화(Change Color) 및 분할(Segmentation)을 적용하여 캡쳐 이미지와 메타데이터(MetaData)를 생성하는 생성부, 상기 캡쳐 이미지를 이미지 파일로 저장하고 상기 메타데이터를 JSON 좌표로 표현한 JSON 데이터를 생성하여 저장하는 저장부를 포함하는 생성 서비스 제공 서버를 포함하되,
    상기 날씨는, 안개(Fog), 구름(Cloudy), 눈(Snow) 및 비(Rain)를 포함하고,
    상기 시간은, 오전, 오후 및 저녁을 포함하며,
    상기 카메라 세팅은, 위치(Position) 및 회전(Rotation)을 포함하는 고정세팅(Fix Setting)과, 거리(Distance), 높이(Height) 및 각도(Angle)를 포함하는 랜덤세팅(Random Setting)을 포함하는 것을 특징으로 하는 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 생성 서비스 제공 서버는,
    상기 이미지 파일 및 JSON 데이터로 자동 라벨링이 된 이미지 데이터셋을 확보하는 데이터확보부;
    를 더 포함하는 것을 특징으로 하는 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템.
  5. 제 4 항에 있어서,
    상기 생성 서비스 제공 서버는,
    상기 이미지 데이터셋을 이용하여 영상분석을 위한 영상분석 모델을 학습 및 검증시키는 모델링부;
    를 더 포함하는 것을 특징으로 하는 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템.
KR1020230027455A 2023-03-02 2023-03-02 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템 KR102577134B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230027455A KR102577134B1 (ko) 2023-03-02 2023-03-02 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230027455A KR102577134B1 (ko) 2023-03-02 2023-03-02 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템

Publications (1)

Publication Number Publication Date
KR102577134B1 true KR102577134B1 (ko) 2023-09-12

Family

ID=88019585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230027455A KR102577134B1 (ko) 2023-03-02 2023-03-02 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템

Country Status (1)

Country Link
KR (1) KR102577134B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200054613A (ko) * 2018-11-12 2020-05-20 주식회사 코난테크놀로지 동영상 메타데이터 태깅 시스템 및 그 방법
KR20220039533A (ko) * 2020-09-22 2022-03-29 주식회사 로닥테크놀로지스 이미지 캡처를 통한 자기개선 사물 인식 방법 및 시스템
KR20220073242A (ko) * 2020-11-26 2022-06-03 한국전력공사 전력설비의 기계학습을 위한 학습 데이터 구축장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200054613A (ko) * 2018-11-12 2020-05-20 주식회사 코난테크놀로지 동영상 메타데이터 태깅 시스템 및 그 방법
KR20220039533A (ko) * 2020-09-22 2022-03-29 주식회사 로닥테크놀로지스 이미지 캡처를 통한 자기개선 사물 인식 방법 및 시스템
KR20220073242A (ko) * 2020-11-26 2022-06-03 한국전력공사 전력설비의 기계학습을 위한 학습 데이터 구축장치 및 그 방법

Similar Documents

Publication Publication Date Title
JP6898534B2 (ja) 機械学習におけるデータ・ストレージを低減するためのシステムおよび方法
US10628890B2 (en) Visual analytics based vehicle insurance anti-fraud detection
US10297074B2 (en) Three-dimensional modeling from optical capture
US10019652B2 (en) Generating a virtual world to assess real-world video analysis performance
US20220319046A1 (en) Systems and methods for visual positioning
US20200265630A1 (en) Generative image synthesis for training deep learning machines
CN111598174A (zh) 图像地物要素分类模型的训练方法、图像分析方法及系统
WO2019239211A2 (en) System and method for generating simulated scenes from open map data for machine learning
Zhang et al. Semi-automatic road tracking by template matching and distance transformation in urban areas
KR102321998B1 (ko) 환경 변화에 강인한 이미지의 위치 및 방향 추정 방법 및 시스템
CN112052855A (zh) 一种基于深度学习的车牌识别方法及装置
CN112561973A (zh) 训练图像配准模型的方法、装置和电子设备
CN115375868B (zh) 地图显示和遥感地图显示方法、计算设备以及存储介质
Marathe et al. Wedge: A multi-weather autonomous driving dataset built from generative vision-language models
Li et al. Using Google street view for street-level urban form analysis, a case study in Cambridge, Massachusetts
Krump et al. Deep learning algorithms for vehicle detection on UAV platforms: first investigations on the effects of synthetic training
Taşyürek ODRP: a new approach for spatial street sign detection from EXIF using deep learning-based object detection, distance estimation, rotation and projection system
KR102388777B1 (ko) 360도 vr 카메라를 이용한 연도변 조사 서비스 제공 시스템
KR102577134B1 (ko) 영상분석을 위한 도메인 특화 합성 데이터 생성 서비스 제공 시스템
Zhuo et al. A novel vehicle detection framework based on parallel vision
CN111612894B (zh) 基于航拍图像与cim的植被模型辅助生成方法与系统
Krump et al. UAV based vehicle detection on real and synthetic image pairs: performance differences and influence analysis of context and simulation parameters
CN112001380B (zh) 基于人工智能现实场景下的中文意义词组的识别方法和系统
Cao et al. A Real-Time Visual Environmental Estimation System Using Image Segmentation
Hanel et al. Evaluation of a traffic sign detector by synthetic image data for advanced driver assistance systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant