KR20190060673A - 데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법 - Google Patents

데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법 Download PDF

Info

Publication number
KR20190060673A
KR20190060673A KR1020180139312A KR20180139312A KR20190060673A KR 20190060673 A KR20190060673 A KR 20190060673A KR 1020180139312 A KR1020180139312 A KR 1020180139312A KR 20180139312 A KR20180139312 A KR 20180139312A KR 20190060673 A KR20190060673 A KR 20190060673A
Authority
KR
South Korea
Prior art keywords
objects
background
data processing
images
generating
Prior art date
Application number
KR1020180139312A
Other languages
English (en)
Other versions
KR102134640B1 (ko
Inventor
하영국
정혁준
박경식
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Publication of KR20190060673A publication Critical patent/KR20190060673A/ko
Application granted granted Critical
Publication of KR102134640B1 publication Critical patent/KR102134640B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4046Scaling the whole image or part thereof using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법이 개시된다. 일 실시예에 따른 DNN 일 실시예에 따른 데이터 처리 방법은, 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하는 단계와, 상기 복수의 이미지로부터 상기 객체가 배치될 배경(background)의 집합을 생성하는 단계와, 상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하는 단계와, 상기 배경의 집합 중에서 무작위로 배경을 선택하는 단계와, 상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하는 단계와, 상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 단계를 포함한다.

Description

데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법{DATA PROCESSING METHOD, APPARATUS, OBJECT DETECTING METHOD USING THE PROCESSED DATA}
아래 실시예들은 데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법에 관한 것이다.
일반적으로, 인공 신경망을 학습시키기 위해서는 대량의 학습데이터가 필요하다. 이 때, 학습 데이터를 수집하는 것이 쉽지 않고, 수집한 학습 데이터의 객체 간의 크기 및 실제 테스트 환경이 상이하기 때문에 인공 신경망의 인식률이 낮은 문제점이 존재한다.
따라서, 실제 테스트 환경을 반영하여 대량의 학습데이터를 자동으로 생성하는 방법이 요구된다.
실시예들은 인공 신경망을 학습시키기 위한 데이터 처리 기술을 제공할 수 있다.
또한, 실시예들은, 처리된 데이터를 이용하여 객체를 검출하는 기술을 제공할 수 있다.
일 실시예에 따른 데이터 처리 방법은, 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하는 단계와, 상기 복수의 이미지로부터 상기 객체가 배치될 배경(background)의 집합을 생성하는 단계와, 상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하는 단계와, 상기 배경의 집합 중에서 무작위로 배경을 선택하는 단계와, 상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하는 단계와, 상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 단계를 포함한다.
상기 객체의 집합을 생성하는 단계는, 상기 복수의 이미지에서 객체를 제외한 배경을 제거하는 단계와, 상기 객체에 상기 객체의 속성을 레이블링하는 단계를 포함할 수 있다.
상기 변환하는 단계는, 상기 배경에 포함된 곡선에 대응되는 2차 함수를 생성하는 단계와, 상기 2차 함수에 기초하여 상기 객체를 배치할 좌표를 결정하는 단계와, 상기 좌표에 기초하여 상기 객체의 크기를 변환하는 단계를 포함할 수 있다.
상기 타겟 이미지를 생성하는 단계는, 상기 객체의 속성에 기초하여 상기 복수의 객체가 배치된 좌표를 조절하는 단계와, 상기 복수의 객체가 배치된 이미지들을 병합(merge)하여 상기 타겟 이미지를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 데이터 처리 방법은, 복수의 이미지를 저장하는 메모리와, 상기 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하고, 상기 복수의 이미지로부터 상기 객체가 배치될 배경(background)의 집합을 생성하고, 상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하고, 상기 배경의 집합 중에서 무작위로 배경을 선택하고, 상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하고, 상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 프로세서를 포함한다.
상기 프로세서는, 상기 복수의 이미지에서 객체를 제외한 배경을 제거하고, 상기 객체에 상기 객체의 속성을 레이블링할 수 있다.
상기 프로세서는, 상기 배경에 포함된 곡선에 대응되는 2차 함수를 생성하고, 상기 2차 함수에 기초하여 상기 객체를 배치할 좌표를 결정하고, 상기 좌표에 기초하여 상기 객체의 크기를 변환할 수 있다.
상기 프로세서는, 상기 객체의 속성에 기초하여 상기 복수의 객체가 배치된 좌표를 조절하고, 상기 복수의 객체가 배치된 이미지들을 병합(merge)하여 상기 타겟 이미지를 생성할 수 있다.
일 실시예에 따른 객체 검출 방법은, 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하는 단계와, 상기 복수의 이미지로부터 상기 검출하고자 하는 객체가 배치될 배경(background)의 집합을 생성하는 단계와, 상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하는 단계와, 상기 배경의 집합 중에서 무작위로 배경을 선택하는 단계와, 상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하는 단계와, 상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 단계와, 상기 타겟 이미지에 기초하여 상기 객체를 검출하는 단계를 포함한다.
상기 검출하는 단계는, 상기 타겟 이미지에 기초하여 인공 신경망을 학습시키는 단계와, 학습된 인공 신경망에 기초하여 상기 객체를 검출하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 데이터 처리 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 데이터 처리 장치의 동작의 예를 나타낸다.
도 3은 도 1에 도시된 데이터 처리 장치가 배경에 객체를 배치하는 동작의 예를 나타낸다.
도 4는 도 1에 도시된 데이터 처리 장치가 생성한 이미지의 예를 나타낸다.
도 5는 도 1에 도시된 데이터 처리 장치의 동작의 순서도를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
도 1은 일 실시예에 따른 데이터 처리 장치의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 데이터 처리 장치(10)는 데이터를 수신하여 처리할 수 있다. 데이터 처리 장치(10))는 인공 신경망(artificial neural network)의 학습에 필요한 학습 데이터를 처리할 수 있다.
데이터는 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보를 포함할 수 있다. 예를 들어, 데이터는 이미지를 포함할 수 있다. 데이터는 인공 신경망을 학습시키기 위해 사용될 수 있다. 데이터 처리 장치(10)는 다양한 학습 데이터를 생성하여 인공 신경망을 효율적으로 학습시킬 수 있다.
데이터 처리 장치(10)는 인공 신경망의 학습에 필요한 학습 데이터를 자동으로 생성하여 인적 자원(human resource)를 절약할 수 있다. 데이터 처리 장치(10)는 한정된 객체를 이용하여 다양한 크기, 위치, 배경을 가지는 이미지들을 자동으로 생성할 수 있다.
데이터 처리 장치(10)는 프로세서(100) 및 메모리(200)를 포함한다. 데이터 처리 장치(10)는 프로세서(100) 및 메모리(200)를 이용하여 데이터를 처리함으로써 타겟 이미지(300)를 생성할 수 있다.
프로세서(100)는 데이터를 수신하여 처리할 수 있다. 프로세서(100)는 데이터를 처리하여 학습데이터를 생성할 수 있다. 예를 들어, 프로세서(100)는 이미지를 처리함으로써 타겟 이미지(300)를 생성할 수 있다.
프로세서(100)는 메모리(200)로부터 복수의 이미지를 불러올 수 있다. 프로세서(100)는 전기통신회선을 통하여 복수의 이미지를 수집할 수 있다.
프로세서(100)는 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하고, 복수의 이미지로부터 상기 객체가 배치될 배경(background)의 집합을 생성할 수 있다.
객체란 인공 신경망이 학습을 통해 검출하고자 하는 대상을 의미할 수 있다. 인공 신경망이 검출하고자 하는 대상은 사람, 사물, 텍스트를 포함할 수 있다. 예를 들어, 객체는 운전 중에 시각적으로 검출 가능한 차량, 사람, 신호등, 표지판 등을 포함할 수 있다.
프로세서(100)는 복수의 이미지에서 객체를 제외한 배경을 제거하고, 객체에 객체의 속성을 레이블링할 수 있다. 객체의 속성은 객체의 카테고리, 객체의 크기 및 객체의 위치에 관한 정보를 포함할 수 있다. 예를 들어, 프로세서(100)는 BBox 레이블 도구(label tool)를 이용하여 객체의 속성을 레이블링할 수 있다.
프로세서(100)는 동일한 크기의 배경으로 배경의 집합을 생성할 수 있다. 프로세서(100)는 빈 배경으로 배경의 집합을 생성할 수 있다. 예를 들어, 프로세서(100)는 Udacity의 빈 배경 이미지로 배경의 집합을 생성할 수 있다.
프로세서(100)는 객체의 집합 중에서 무작위로 복수의 객체를 선택하고, 배경의 집합 중에서 무작위로 배경을 선택할 수 있다.
프로세서(100)는 배경의 특성에 기초하여 복수의 객체를 변환할 수 있다. 배경의 특성은 배경의 카테고리, 배경에 포함된 경계선 등을 포함할 수 있다. 예를 들어, 도로 이미지에서 배경의 특성은 도로의 경계 또는 차선에 대응하는 2차 함수를 포함할 수 있다.
배경에 프로세서(100)는 배경에 포함된 곡선에 대응되는 2차 함수를 생성할 수 있다. 예를 들어, 프로세서(100)는 베이지안 스플라인(bayesian spline) 수식을 이용하여 2차 함수를 생성할 수 있다.
프로세서(100)는 생성한 2차 함수에 기초하여 객체를 배치할 좌표를 결정할 수 있다. 프로세서(100)는 복수의 객체가 겹치지 않도록 개체를 배치할 좌표를 결정할 수 있다. 예를 들어, 프로세서(100)는 2차 함수 상의 임의의 좌표를 객체를 배치할 좌표로 결정할 수 있다.
프로세서(100)는 객체를 배치할 좌표에 기초하여 객체의 크기를 변환할 수 있다. 객체의 크기는 실제 객체의 크기에 비례하여 변환될 수 있다. 객체의 크기는 객체가 배치될 좌표에 비례하여 변환될 수 있다. 예를 들어, 객체의 크기는 객체가 배치될 좌표의 y 값에 비례하여 변환될 수 있다.
프로세서(100)는 복수의 객체의 속성에 기초하여 복수의 객체를 배경에 배치하여 타겟 이미지(300)를 생성할 수 있다. 객체의 속성은 상술한 바와 같을 수 있다.
프로세서(100)는 객체의 속성에 기초하여 복수의 객체가 배치된 좌표를 조절할 수 있다. 예를 들어, 객체가 차량이고 배경이 도로를 포함하는 경우, 프로세서(100)는 차량을 도로 위에 배치되도록 차량이 배치된 좌표를 조절하여 타겟 이미지(300)를 생성할 수 있다.
프로세서(100)는 복수의 객체가 배치된 이미지들을 병합(merge)하여 타겟 이미지(300)를 생성할 수 있다. 프로세서(100)는 다양한 이미지들을 병합합으로써 다양한 학습 학습데이터를 생성하여 인공 신경망의 학습 효율을 상승시킬 수 있다.
타겟 이미지(300)는 프로세서(100)가 인공 신경망을 학습하는데 사용하는 학습 데이터를 의미할 수 있다. 즉, 프로세서(100)는 타겟 이미지(300)를 학습 데이터로 이용하여 인공 신경망을 학습시킬 수 있다.
프로세서(100)는 생성한 타겟 이미지(300)에 기초하여 객체를 검출할 수 있다. 프로세서(100)는 타겟 이미지(300)에 기초하여 인공 신경망을 학습시키고, 학습된 인공 신경망에 기초하여 상기 객체를 검출할 수 있다. 예를 들어, 프로세서(100)는 YOLO 알고리즘을 이용하여 인공 신경망을 학습시키고, 객체를 검출할 수 있다.
프로세서(100)는 생성한 타겟 이미지(300)를 메모리(200)로 출력할 수 있다. 메모리(200)는 복수의 이미지 및 생성된 타겟 이미지(300)를 저장할 수 있다. 또한, 메모리(200)는 인공 신경망의 학습에 사용되는 가중치 등과 같은 파라미터를 저장할 수 있다.
또한, 프로세서(100)는 생성한 타겟 이미지(300)에 레이블링을 수행할 수 있다. 예를 들어, 프로세서(100)는 타겟 이미지(300) 마다 BBox 레이블링을 수행할 수 있다. 이를 통해, 데이터 처리 장치(10)는 지도 학습 레이블(supervised learning label)을 개별적으로 만들 필요없이 한정된 객체로 다양한 학습데이터를 생성할 수 있다.
도 2는 도 1에 도시된 데이터 처리 장치(10)의 동작의 예를 나타낸다.
도 2를 참조하면, 데이터 처리 장치(10)는 인공 신경망을 학습시키기 위해 대량의 학습 데이터를 생성할 수 있다. 데이터 처리 장치(10)는 YOLO 알고리즘을 이용한 인공 신경망을 학습시키기 위한 커스텀 데이터 셋을 자동으로 생성할 수 있다. 예를 들어, 데이터 처리 장치(10)는 YOLO(You Only Look Once) 알고리즘을 이용한 인공 신경망에 사용될 학습 데이터를 한정된 자원으로 대량 생성할 수 있다.
데이터 처리 장치(10)는 복수의 이미지로부터 객체의 집합을 생성함으로써 객체를 수집할 수 있다. 데이터 처리 장치(10)는 다양한 이미지로부터 복수의 객체를 수집할 수 있다. 예를 들어, 데이터 처리 장치(10)는 차량, 사람, 콘(cone), 펜스(fence) 및 버스(bus) 등의 객체를 수집할 수 있다.
데이터 처리 장치(10)는 복수의 이미지로부터 배경의 집합을 생성함으로써 배경을 수집할 수 있다. 예를 들어, 데이터 처리 장치(10)는 비어 있는 도로를 배경으로 수집할 수 있다.
데이터 처리 장치(10)는 수집된 객체 및 배경들을 조합하여 실제 데이터 셋과 유사한 학습 데이터들을 생성할 수 있다. 데이터 처리 장치(10)는 객체 및 배경을 초기에 수집한 후, 타겟 이미지(300)를 생성하는 동안 지속적으로 새로운 객체 및 배경을 수집할 수 있다.
데이터 처리 장치(10)는 객체의 집합을 생성함에 있어서, 수집된 객체의 배경을 제거할 수 있다. 예를 들어, 데이터 처리 장치(10)는 png(Portable Network Graphics) 이미지 변환(image converting)을 통해 배경을 제거할 수 있다.
데이터 처리 장치(10)는 객체의 속성을 레이블링할 수 있다. 예를 들어, 데이터 처리 장치(10)는 BBOX 레이블 도구를 이용하여 객체의 속성을 레이블링할 수 있다.
데이터 처리 장치(10)는 특정한 크기를 가지는 배경만을 수집할 수 있다. 예를 들어, 데이터 처리 장치(10)는 Udacity의 1920*1080 크기의 배경 이미지 만을 수집할 수 있다.
데이터 처리 장치(10)는 객체의 집합 중에서 복수의 객체를 무작위로 선택할 수 있다. 데이터 처리 장치(10)는 배경의 집합 중에서 배경을 무작위로 선택할 수 있다. 예를 들어, 데이터 처리 장치(10)는 하나의 배경만을 무작위로 선택할 수 있다.
데이터 처리 장치(10)는 선택한 배경에 선택한 복수의 객체를 배치할 수 있다. 데이터 처리 장치(10)가 복수의 객체를 선택하는 동작은 도 3 및 도 4를 참조하여 자세하게 설명할 것이다.
도 3은 도 1에 도시된 데이터 처리 장치(10)가 배경에 객체를 배치하는 동작의 예를 나타내고, 도 4는 도 1에 도시된 데이터 처리 장치(10)가 생성한 이미지의 예를 나타낸다.
도 3 및 도 4를 참조하면, 데이터 처리 장치(10)는 선택된 배경에 선택된 복수의 객체를 배치할 수 있다. 객체가 무작위로 배치될 경우 객체의 속성과는 상이한 위치에 객체가 배치될 수 있다. 예를 들어, 자동차가 하늘에 배치되거나 나무 위에 배치되어 실제 환경과 상이해지는 문제가 발생할 수 있다.
또한, 객체의 크기가 무작위로 결정될 경우에, 거리상 뒤에 배치된 객체가 앞에 배치된 객체에 비해 크게 표현될 수 있다. 따라서, 데이터 처리 장치(10)는 객체의 속성에 기초하여 객체의 크기를 변환시키고, 객체의 위치를 조절할 수 있다.
데이터 처리 장치(10)는 배경의 특성에 기초하여 복수의 객체를 변환할 수 있다. 예를 들어, 데이터 처리 장치(10)는 베이지안 스플라인 수식을 이용하여 배경의 특성을 나타낼 수 있다.
일 예로 배경이 도로인 경우, 데이터 처리 장치(10)는 도로 양 끝 선에 대응하는 스플라인 곡선들을 추출할 수 있다. 그 후, 데이터 처리 장치(10)는 복수의 객체를 추출한 스플라인 곡선들 사이에 배치할 수 있다.
구체적으로, 데이터 처리 장치(10)는 도로를 포함하는 배경을 90도 회전시킬 수 있다. 이 경우, 도로 양 끝 선에 대응하는 스플라인 곡선은 y=f(x)의 2차 함수의 형태를 가질 수 있다. 예를 들어, 데이터 처리 장치는, 두 개의 스플라인 곡선 y=f(x) 및 y=g(x)를 추출할 수 있다.
이 때, 데이터 처리 장치(10)는 x 값을 무작위로 추출하고, 추출한 x1 값에 대응하는 y 값을 계산할 수 있다. 계산된 y 값은 각각 y1=f(x1), y2=f(x2)일 수 있다.
그 후, 데이터 처리 장치(10)는 y1 및 y2 사이의 값 중에서 무작위로 k 값을 추출할 수 있다(y1≤k≤y2). 데이터 처리 장치(10)는 일차적으로 객체가 배치될 좌표를 (x1, k)로 결정할 수 있다. 데이터 처리 장치(10)는 배경을 -90도 회전시켜 x, y 좌표를 반전시킬 수 있다. 최종적으로 데이터 처리 장치(10)는 반전된 좌표(k, x1)에 객체를 배치할 수 있다.
데이터 처리 장치(10)는 배경에서 뒷 부분으로 갈수록 객체의 크기를 감소시킬 수 있다. 예를 들어, 객체의 속성에 포함된 기준 크기에 기초하여 객체가 배치될 y좌표에 비례하여 객체의 크기를 감소시킬 수 있다.
데이터 처리 장치(10)는 다양한 상황에 대해서 인공 신경망을 학습시키기 위해서 복수의 객체가 배치된 이미지들을 병합(merge)할 수 있다. 또한, 데이터 처리 장치(10)는 객체를 특성 위치에 위치시키기 위해서 파라미터 값을 json(JavaScript Object Notation) 파일로 제공할 수 있다.
데이터 처리 장치(10)는 복수의 객체가 겹치지 않게 배치되도록 영역 유효성 검사를 수행할 수 있다. 데이터 처리 장치(10)는 레이블링된 객체의 속성에 기초하여 객체의 좌표를 결정할 수 있다. 예를 들어, 객체의 BBox 레이블된 위치(position) 영역의 객체 좌표를 변환하여 좌표를 결정할 수 있다.
데이터 처리 장치(10)는 객체의 속성에 기초하여 객체의 좌표를 조절할 수 있다. 예를 들어, 데이터 처리 장치(10)는 객체의 BBox 레이블 파일에 기초하여 객체의 좌표를 재계산할 수 있다. 이를 위해, 데이터 처리 장치(10)는 객체의 속성을 레이블링을 매칭하기 위한 전처리 작업을 수행할 수 있다.
데이터 처리 장치(10)는 배치될 객체의 최대 크기 및 최소 크기의 제한 값을 설정할 수 있다. 객체의 실제 상황에서 인식될 객체의 크기에 비해 크거나 작을 경우, 인식률이 낮아질 수 있기 때문에, 데이터 처리 장치(10)는 객체의 속성에 기초하여 객체의 최대 또는 최소 크기를 설정할 수 있다.
도 5는 도 1에 도시된 데이터 처리 장치(10)의 동작의 순서도를 나타낸다.
데이터 처리 장치(10)는 데이터를 처리하여 인공 신경망을 학습시키기 위한 학습 데이터를 생성할 수 있다. 데이터 처리 장치(10)는 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성할 수 있다(510). 데이터 처리 장치(10)는 복수의 이미지에서 객체를 제외한 배경을 제거하고, 객체에 객체의 속성을 레이블링할 수 있다.
데이터 처리 장치(10)는 복수의 이미지로부터 검출하고자 하는 객체가 배치될 배경의 집합을 생성할 수 있다(520). 데이터 처리 장치(10)는 객체의 집합 중에서 무작위로 복수의 객체를 선택할 수 있다(530). 데이터 처리 장치(10)는 배경의 집합 중에서 무작위로 배경을 선택할 수 있다(540).
그 후, 데이터 처리 장치(10)는 배경의 특성에 기초하여 복수의 객체를 변환할 수 있다(550). 데이터 처리 장치(10)는 배경에 포함된 곡선에 대응되는 2차 함수를 생성할 수 있고, 생성된 2차 함수에 기초하여 객체를 배치할 좌표를 결정할 수 있다. 또한, 데이터 처리 장치(10)는 결정된 좌표에 기초하여 객체의 크기를 변환할 수 있다.
데이터 처리 장치(10)는 복수의 객체의 속성에 기초하여 복수의 객체를 배경에 배치하여 타겟 이미지(300)를 생성할 수 있다(560). 데이터 처리 장치(10)는 객체의 속성에 기초하여 복수의 객체가 배치된 좌표를 조절할 수 있다. 또한, 데이터 처리 장치(10)는 복수의 객체가 배치된 이미지들을 병합하여 타겟 이미지(300)를 생성할 수 있다.
데이터 처리 장치(10)는 생성한 타겟 이미지(300)에 기초하여 인공 신경망을 학습시키고, 학습된 인공 신경망에 기초하여 객체를 검출할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (10)

  1. 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하는 단계;
    상기 복수의 이미지로부터 상기 객체가 배치될 배경(background)의 집합을 생성하는 단계;
    상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하는 단계;
    상기 배경의 집합 중에서 무작위로 배경을 선택하는 단계;
    상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하는 단계; 및
    상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 단계
    를 포함하는 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 객체의 집합을 생성하는 단계는,
    상기 복수의 이미지에서 객체를 제외한 배경을 제거하는 단계; 및
    상기 객체에 상기 객체의 속성을 레이블링하는 단계
    를 포함하는 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 변환하는 단계는,
    상기 배경에 포함된 곡선에 대응되는 2차 함수를 생성하는 단계;
    상기 2차 함수에 기초하여 상기 객체를 배치할 좌표를 결정하는 단계; 및
    상기 좌표에 기초하여 상기 객체의 크기를 변환하는 단계
    를 포함하는 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 타겟 이미지를 생성하는 단계는,
    상기 객체의 속성에 기초하여 상기 복수의 객체가 배치된 좌표를 조절하는 단계; 및
    상기 복수의 객체가 배치된 이미지들을 병합(merge)하여 상기 타겟 이미지를 생성하는 단계
    를 포함하는 데이터 처리 방법.
  5. 복수의 이미지를 저장하는 메모리; 및
    상기 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하고, 상기 복수의 이미지로부터 상기 객체가 배치될 배경(background)의 집합을 생성하고, 상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하고, 상기 배경의 집합 중에서 무작위로 배경을 선택하고, 상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하고, 상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 프로세서
    를 포함하는 데이터 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 복수의 이미지에서 객체를 제외한 배경을 제거하고, 상기 객체에 상기 객체의 속성을 레이블링하는
    데이터 처리 장치.
  7. 제5항에 있어서,
    상기 프로세서는,
    상기 배경에 포함된 곡선에 대응되는 2차 함수를 생성하고, 상기 2차 함수에 기초하여 상기 객체를 배치할 좌표를 결정하고, 상기 좌표에 기초하여 상기 객체의 크기를 변환하는
    데이터 처리 장치.
  8. 제5항에 있어서,
    상기 프로세서는,
    상기 객체의 속성에 기초하여 상기 복수의 객체가 배치된 좌표를 조절하고, 상기 복수의 객체가 배치된 이미지들을 병합(merge)하여 상기 타겟 이미지를 생성하는
    데이터 처리 장치.
  9. 복수의 이미지로부터 검출하고자 하는 객체의 집합을 생성하는 단계;
    상기 복수의 이미지로부터 상기 검출하고자 하는 객체가 배치될 배경(background)의 집합을 생성하는 단계;
    상기 객체의 집합 중에서 무작위로 복수의 객체를 선택하는 단계;
    상기 배경의 집합 중에서 무작위로 배경을 선택하는 단계;
    상기 배경의 특성에 기초하여 상기 복수의 객체를 변환하는 단계;
    상기 복수의 객체의 속성에 기초하여 상기 복수의 객체를 상기 배경에 배치하여 타겟 이미지를 생성하는 단계; 및
    상기 타겟 이미지에 기초하여 상기 객체를 검출하는 단계
    를 포함하는 객체 검출 방법.
  10. 제9항에 있어서,
    상기 검출하는 단계는,
    상기 타겟 이미지에 기초하여 인공 신경망을 학습시키는 단계; 및
    학습된 인공 신경망에 기초하여 상기 객체를 검출하는 단계
    를 포함하는 객체 검출 방법.
KR1020180139312A 2017-11-24 2018-11-13 데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법 KR102134640B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170158750 2017-11-24
KR20170158750 2017-11-24

Publications (2)

Publication Number Publication Date
KR20190060673A true KR20190060673A (ko) 2019-06-03
KR102134640B1 KR102134640B1 (ko) 2020-07-16

Family

ID=66849537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180139312A KR102134640B1 (ko) 2017-11-24 2018-11-13 데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법

Country Status (1)

Country Link
KR (1) KR102134640B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD989226S1 (en) * 2022-07-01 2023-06-13 Brio Water Technology, Inc. Filter
USD990620S1 (en) * 2022-07-01 2023-06-27 Brio Water Technology, Inc. Filter

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310890A (ja) * 2006-05-19 2007-11-29 Fuji Xerox Co Ltd オブジェクトを組織化する方法、システムおよびプログラム
JP2007334755A (ja) * 2006-06-16 2007-12-27 Hitachi Software Eng Co Ltd 学習データ生成装置及びオブジェクト判別装置、並びにプログラム
JP2014178957A (ja) * 2013-03-15 2014-09-25 Nec Corp 学習データ生成装置、学習データ作成システム、方法およびプログラム
KR20160089194A (ko) * 2015-01-19 2016-07-27 삼성전자주식회사 영상 처리 장치, 의료영상 장치 및 영상 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310890A (ja) * 2006-05-19 2007-11-29 Fuji Xerox Co Ltd オブジェクトを組織化する方法、システムおよびプログラム
JP2007334755A (ja) * 2006-06-16 2007-12-27 Hitachi Software Eng Co Ltd 学習データ生成装置及びオブジェクト判別装置、並びにプログラム
JP2014178957A (ja) * 2013-03-15 2014-09-25 Nec Corp 学習データ生成装置、学習データ作成システム、方法およびプログラム
KR20160089194A (ko) * 2015-01-19 2016-07-27 삼성전자주식회사 영상 처리 장치, 의료영상 장치 및 영상 처리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD989226S1 (en) * 2022-07-01 2023-06-13 Brio Water Technology, Inc. Filter
USD990620S1 (en) * 2022-07-01 2023-06-27 Brio Water Technology, Inc. Filter

Also Published As

Publication number Publication date
KR102134640B1 (ko) 2020-07-16

Similar Documents

Publication Publication Date Title
CN110879959B (zh) 生成数据集的方法及装置、利用其的测试方法及测试装置
US11847917B2 (en) Fixation generation for machine learning
US11922569B2 (en) Generating realistic point clouds
KR102337376B1 (ko) 레인 마스크(Lane Mask)를 사용하여 후처리 없이 입력 이미지에 포함된 하나 이상의 차선을 검출하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP2020123351A (ja) 自律走行車両を学習、テスティング及び検証をするために仮想走行環境に対するドメイン適応された交通シナリオを生成するための方法及び装置
KR20200093426A (ko) 이미지 분석 기반으로 환경에 영향 받지 않는 감시를 위한 보행자 검출기의 학습 방법 및 학습 장치, 그리고, 이를 이용하여 테스트 방법 및 테스트장치
CN110874841A (zh) 参照边缘图像的客体检测方法及装置
JP6869565B2 (ja) 危険要素検出に利用される学習用イメージデータセットの生成方法及びコンピューティング装置、そしてこれを利用した学習方法及び学習装置{method and computing device for generating image data set to be used for hazard detection and learning method and learning device using the same}
US11126820B2 (en) Generating object embeddings from images
KR102373499B1 (ko) 자율 주행 네트워크의 검출 프로세스를 검증하는 설명 가능한 인공지능을 사용하여 운전자에게 잠재적 위험 상황에 대해 경고함으로써 기능적 안전성을 제공하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
CN110879960B (zh) 生成卷积神经网络学习用图像数据集的方法及计算装置
CN112307978B (zh) 目标检测方法、装置、电子设备及可读存储介质
KR102095152B1 (ko) 상황 인지 방법 및 이를 수행하는 장치
CN106157283A (zh) 道路分割物的检测方法和装置
EP3710993B1 (en) Image segmentation using neural networks
KR101014125B1 (ko) 지능형 자동차를 위한 교통 표지판 검출 방법 및 상기 방법을 실행하는 시스템
KR102134640B1 (ko) 데이터 처리 방법, 장치, 처리된 데이터를 이용한 객체 검출 방법
CN113935143A (zh) 通过自主车辆的增加的严重性等级估计碰撞概率
CN114519819A (zh) 一种基于全局上下文感知的遥感图像目标检测方法
US10223601B1 (en) Synthetic traffic object generator
CN112288701A (zh) 一种智慧交通图像检测方法
CN111144361A (zh) 一种基于二值化cgan网络的公路车道检测方法
US20220180193A1 (en) Three-dimensional object detection using pseudo-labels
CN116229448A (zh) 三维目标检测方法、装置、设备及可读存储介质
KR20230099941A (ko) 자기 지도학습과 복사-붙이기 데이터 증강을 이용한 건설객체 분할모델 일반화방법 및 일반화시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right