KR102310596B1 - 연속된 이미지에 대한 메타데이터 생성 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents
연속된 이미지에 대한 메타데이터 생성 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102310596B1 KR102310596B1 KR1020210062605A KR20210062605A KR102310596B1 KR 102310596 B1 KR102310596 B1 KR 102310596B1 KR 1020210062605 A KR1020210062605 A KR 1020210062605A KR 20210062605 A KR20210062605 A KR 20210062605A KR 102310596 B1 KR102310596 B1 KR 102310596B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- metadata
- annotation
- applicable
- learning
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/9201—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 연속된 이미지 각각에 대하여 메타데이터(metadata)를 용이하게 생성하고 검수할 수 있는 방법을 제안한다. 상기 방법은 어노테이션 장치가 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속에 포함된 객체(object)를 특정하는 단계; 상기 어노테이션 장치가 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보(environment information)를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계; 및 상기 어노테이션 장치가 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터(metadata)를 생성하는 단계를 포함할 수 있다.
Description
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터 설계에 관한 것이다. 보다 상세하게는, 연속된 이미지 각각에 대하여 메타데이터(metadata)를 용이하게 생성하고 검수할 수 있는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
데이터 가공은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 보다 구체적으로, 데이터 가공의 어노테이션 작업은 작업자가 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box) 처리하여 진행된다. 여기서, 바운딩 박스는 이미지 속에 포함된 객체의 위치, 형상 등을 특정하기 위한 영역이다.
그리고, 데이터 가공의 메타데이터 입력 작업은 작업자가 이미지의 정보, 저작권 정보, 촬영 조건 정보, 어노테이션된 객체의 정보 및 환경 정보 등을 입력하여 진행된다. 예를 들어, 이미지의 정보에는 파일명, 파일 크기 및 이미지 크기가 포함될 수 있다. 저작권 정보에는 이미지 저작권자에 관한 정보가 포함될 수 있다. 촬영 조건 정보에는 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이가 포함될 수 있다. 객체의 정보에는 어노테이션 종류, 좌표 값, 영역의 크기, 클래스 명, 태그 항목, 잘림 여부, 대분류, 중분류, 소분류, 인스턴스 정보가 포함될 수 있다. 그리고, 환경 정보에는 촬영 일시, 촬영 장소, 기상 정보가 포함될 수 있다.
이러한, 데이터 가공의 메타데이터 입력 과정에서 입력될 수 있는 정보의 개수와 종류는 인공지능(AI) 학습 목적에 따라 달라질 수 있다. 예를 들어, 자율주행(automatic driving)을 수행하기 위한 인공지능(AI) 학습용 데이터의 경우, 환경 정보에 이미지가 촬영된 도로의 유형, 도로 표면 정보, 교통 체증(traffic congestion) 정보 등이 더 포함될 수 있다.
상술한 바와 같은, 데이터 가공은 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수의 데이터를 대상으로 이루어진다. 따라서, 많은 수의 데이터를 보다 용이하게 가공하고, 가공된 데이터를 보다 용이하게 검증할 수 있는 다양한 수단들이 요구되고 있다.
본 발명의 일 목적은 연속된 이미지 각각에 대하여 메타데이터(metadata)를 용이하게 생성하고 검수할 수 있는 방법을 제공하는 것이다.
본 발명의 다른 목적은 메타데이터를 용이하게 생성하고 검수할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 이미지 속의 객체(object)를 추적하기 위한 트래킹 아이디(tracking identifier)를 부여하고 검수할 수 있는 방법을 제안한다. 상기 방법은 어노테이션 장치가 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속에 포함된 객체(object)를 특정하는 단계; 상기 어노테이션 장치가, 상기 특정된 객체에 대하여 트래킹 아이디(tracking identifier)를 부여하는 단계; 및 상기 어노테이션 장치가, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 부여된 트래킹 아이디를 포함시켜 상기 이미지에 대한 메타데이터(metadata)를 생성하는 단계를 포함할 수 있다.
이 경우, 상기 트래킹 아이디는 이미지 그룹으로부터 객체를 추적할 수 있도록 부여되는 객체의 고유한 식별자이고, 상기 이미지 그룹은 상기 이미지를 촬영한 카메라에 의해 상기 이미지와 시계열적으로 연속되게 촬영된 이미지들, 및 상기 이미지를 촬영한 카메라와 인접하게 배치된 다른 카메라에 의해 상기 이미지와 공간적으로 연속되게 촬영된 이미지들을 포함할 수 있다.
일 실시예에 따르면, 상기 트래킹 아이디를 부여하는 단계는 상기 이미지 속에서 상기 객체가 차지하고 있는 영역에 대한 RGB(Red, Green, Blue) 값의 패턴을 식별하고, 상기 식별된 RGB 값의 패턴에 대응하는 식별자를 생성하여 상기 특정된 객체의 트래킹 아이디로 부여할 수 있다. 또한, 상기 트래킹 아이디를 부여하는 단계는 상기 식별자를 생성하기 이전에, 상기 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 RGB 값의 패턴과 상기 식별된 RGB 값의 패턴을 비교하여 유사 객체를 검색하고, 상기 유사 객체가 검색된 경우 상기 유사 객체에 부여된 트래킹 아이디를 상기 특정된 객체의 트래킹 아이디로 부여할 수 있다. 이 경우, 상기 RGB 값의 패턴은 화소(pixel)들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴이 될 수 있다.
다른 실시예에 따르면, 상기 트래킹 아이디를 부여하는 단계는 상기 이미지의 엣지를 추출(edge det상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 연속된 이미지 각각에 대하여 메타데이터(metadata)를 용이하게 생성하고 검수할 수 있는 방법을 제안한다. 상기 방법은 어노테이션 장치가 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속에 포함된 객체(object)를 특정하는 단계; 상기 어노테이션 장치가 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보(environment information)를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계; 및 상기 어노테이션 장치가 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터(metadata)를 생성하는 단계를 포함할 수 있다.
이 경우, 상기 기존 이미지는 상기 이미지를 촬영한 카메라와 동일한 카메라에 의해 상기 이미지보다 선행하여 촬영된 이미지이고, 상기 환경 정보는 상기 카메라에 의해 상기 이미지가 촬영된 장소 또는 시점과 관련된 정보가 될 수 있다.
상기 선행하여 촬영된 이미지가 복수 개인 경우, 상기 적용 가능한지 여부를 판단하는 단계는 복수 개의 이미지들 중에서 상기 특정된 객체와 동일한 트래킹 아이디(tracking identifier)가 부여된 객체를 포함하고 있는 이미지를 상기 기존 이미지로 선택할 수 있다. 이 경우, 상기 트래킹 아이디는 객체를 추적할 수 있도록 부여된 객체의 고유 식별자가 될 수 있다. 이와 다르게, 상기 선행하여 촬영된 이미지가 복수 개인 경우, 상기 적용 가능한지 여부를 판단하는 단계는 복수 개의 이미지들 중에서 상기 어노테이션 작업의 대상이 되는 이미지와 촬영 시각이 가장 인접한 이미지를 상기 기존 이미지로 선택할 수 있다.
상기 적용 가능한지 여부를 판단하는 단계는 상기 이미지로부터 상기 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역과, 상기 선택된 기존 이미지로부터 상기 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교한 결과를 기초로, 상기 적용 가능한지 여부를 판단할 수 있다.
예를 들어, 상기 적용 가능한지 여부를 판단하는 단계는 상기 이미지의 배경 영역에 대한 RGB(Red, Green, Blue) 값의 패턴과 상기 기존 이미지의 배경 영역에 대한 RGB 값의 패턴을 기초로 상기 적용 가능한지 여부를 판단할 수 있다. 이 경우, 상기 RGB 값의 패턴은 화소(pixel)들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴이 될 수 있다.
다른 예를 들어, 상기 적용 가능한지 여부를 판단하는 단계는 상기 이미지의 배경 영역에 대한 엣지(edge)의 패턴과 상기 기존 이미지의 배경 영역에 대한 엣지의 패턴을 기초로 상기 적용 가능한지 여부를 판단하되, 상기 엣지의 패턴은 엣지에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀(pixel)의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴일 수 있다.
또 다른 예를 들어, 상기 적용 가능한지 여부를 판단하는 단계는 상기 이미지의 배경 영역에 대한 평균 밝기(brightness) 값 또는 평균 감마(gamma) 값과, 상기 기존 이미지의 배경 영역에 대한 평균 밝기 값 또는 평균 감마 값을 기초로 상기 적용 가능한지 여부를 판단할 수 있다.
한편, 상기 방법은 상기 메타데이터를 생성하는 단계 이후에, 학습 데이터 검증 장치가, 상기 어노테이션 장치에 의해 생성된 메타데이터를 검증할 수 있는 사용자 인터페이스(User Interface, UI)를 출력하되, 메타데이터에 포함된 값에 대응된 도형(figure)으로 표현될 수 있도록, 이미지 그룹에 포함된 이미지들 각각을 그래픽화(graphicalize)하여 상기 사용자 인터페이스(UI)에 포함시키는 단계를 더 포함할 수 있다. 이 경우, 상기 이미지 그룹은 상기 카메라에 의해 상기 이미지와 시계열적으로 연속되게 촬영된 이미지들, 및 상기 카메라와 인접하게 배치된 다른 카메라에 의해 상기 이미지와 공간적으로 연속되게 촬영된 이미지들을 포함할 수 있다.
예를 들어, 상기 출력하는 단계는 상기 이미지 그룹에 포함된 이미지들 각각을 메타데이터에 포함된 값에 대응하는 색상을 가지는 하나의 선분(line)으로 표현하고, 상기 이미지들의 촬영 선후에 따라 선분의 폭(width) 방향으로 상기 각각의 선분을 연속적으로 배치하여 막대(bar) 형태의 그래픽을 구성하고, 상기 구성된 막대 형태의 그래픽을 상기 사용자 인터페이스(UI)에 포함시켜 출력할 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 상술한 바와 같은 검증 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계; 상기 프로세서가 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계; 및 상기 프로세서가 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예들에 따르면, 연속된 이미지들에 대한 환경 정보를 자동으로 부여할 수 있게 된다. 또한, 어노테이션 장치에 의해 부여된 환경 정보를 보다 용이하게 검수할 수 있는 사용자 인터페이스(User Interface, UI)를 제공할 수 있다.
결과적으로 본 발명의 실시예들에 따르면, 인공지능(AI) 학습용 데이터를 생성하기 위한 환경 정보를 손쉽게 결정할 수 있으며, 결정된 환경 정보의 정확도를 일정 수준 이상으로 보장할 수 있게 된다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따라 인공지능(AI) 학습용 데이터를 생성하는 방법을 설명하기 위한 신호 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 개념을 설명하기 위한 개념도이다.
도 8은 본 발명의 일 실시예에 따른 트래킹 아이디의 개념을 설명하기 위한 예시도이다.
도 9는 본 발명의 일 실시예에 따라 트래킹 아이디를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.
도 10 및 도 11은 본 발명의 몇몇 실시예들에 따라 연속된 이미지에 환경 정보를 결정하는 과정을 설명하기 위한 예시도이다.
도 12 및 도 13은 본 발명의 몇몇 실시예들에 따라 환경 정보를 자동으로 결정하는 과정을 설명하기 위한 예시도이다.
도 14는 본 발명의 일 실시예에 따라 메타데이터를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.
도 15는 본 발명의 일 실시예에 따른 어노테이션 장치의 동작 과정을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따라 인공지능(AI) 학습용 데이터를 생성하는 방법을 설명하기 위한 신호 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 개념을 설명하기 위한 개념도이다.
도 8은 본 발명의 일 실시예에 따른 트래킹 아이디의 개념을 설명하기 위한 예시도이다.
도 9는 본 발명의 일 실시예에 따라 트래킹 아이디를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.
도 10 및 도 11은 본 발명의 몇몇 실시예들에 따라 연속된 이미지에 환경 정보를 결정하는 과정을 설명하기 위한 예시도이다.
도 12 및 도 13은 본 발명의 몇몇 실시예들에 따라 환경 정보를 자동으로 결정하는 과정을 설명하기 위한 예시도이다.
도 14는 본 발명의 일 실시예에 따라 메타데이터를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.
도 15는 본 발명의 일 실시예에 따른 어노테이션 장치의 동작 과정을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
인공지능(AI) 학습용 데이터를 생성하기 위한 이미지의 가공은 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수의 이미지를 대상으로 이루어진다. 따라서, 종래의 수단들에 따르면, 인공지능(AI)을 학습시키고자 하는 고객의 의뢰가 접수된 이후 인공지능(AI) 학습용 데이터를 생성하여 고객에게 납품하기까지 상대적으로 오랜 기간이 소요되었다.
이러한 어려움을 해결하고자, 본 발명은 많은 수의 이미지를 보다 용이하게 가공하고, 가공된 데이터를 보다 용이하게 검증할 수 있는 다양한 수단들을 제안하고자 한다.
도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200-1, 200-2, …, 200-n; 200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.
또한, 도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(200-a, 200-b, …, 200-m; 200)와 학습 데이터 검증 장치(300-a, 300-b, …, 300-m; 300)가 하나로 이루어진 복수 개의 그룹(Group-a, Group-b …, Group-m), 학습 데이터 생성 장치(100) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.
이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 학습 데이터 생성 장치(100)는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 생성 장치(100)는 기본적으로 학습 데이터 검증 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 학습 데이터 생성 장치(100)와 학습 데이터 검증 장치(300)가 하나의 장치로 통합되어 구현될 수도 있다.
특징적으로, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 인공지능(AI) 학습용 데이터의 요청이 수신되기 이전에, 선제적으로 인공지능(AI) 학습용 데이터를 생성할 수 있는 빅데이터(big data)를 구축해 놓을 수 있다.
그리고, 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 고객의 니즈(needs)에 따른 요구 값이 수신되면, 선제적으로 구축되어 있는 빅데이터를 마이닝 또는 필터링하여 인공지능(AI) 학습용 데이터를 생성하고, 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.
이와 같은 특징을 가지는, 학습 데이터 생성 장치(100)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
이와 같은, 학습 데이터 생성 장치(100)의 구체적인 구성 및 동작에 대해서는 추후 도 3을 참조하여 설명하기로 한다.
다음 구성으로, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 각각의 이미지(즉, 어노테이션의 대상이 되는 이미지)로부터 특정된 객체(object)를 추적할 수 있는 트래킹 아이디(tracking identifier)를 부여할 수 있다. 또한, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)에 의해 분배된 각각의 이미지에 대한 환경 정보(environment information)를 자동으로 부여할 수 있다.
이와 같은 특징을 가지는, 어노테이션 장치(200)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(100)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.
또한, 어노테이션 장치(200)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션을 수행하는 장치가 될 수도 있다.
이와 같은, 어노테이션 장치(200)의 구체적이 구성 및 동작에 대해서는 추후 도 4 및 도 5를 참조하여 설명하기로 한다.
다음 구성으로, 학습 데이터 검증 장치(300)는 인공지능(AI) 학습용 데이터를 검증하는데 사용될 수 있는 장치이다. 즉, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 사전에 설정된 목표 품질에 부합하는지 여부, 또는 어노테이션 작업 결과물이 인공지능(AI) 학습에 유효한지 여부를 검증할 수 있는 장치이다.
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)로부터 어노테이션 작업 결과물을 수신할 수 있다. 여기서, 어노테이션 작업 결과물은 어노테이션 작업자에 의해 특정된 객체의 좌표와, 이미지 또는 객체에 대한 메타데이터가 포함될 수 있다. 어노테이션 작업 결과물의 메타데이터는 이미지의 정보, 저작권 정보, 촬영 조건 정보, 특정된 객체의 정보 및 환경 정보가 포함될 수 있으며, 이에 한정되지 않는다. 이와 같은, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
학습 데이터 검증 장치(300)는 수신된 어노테이션 작업 결과물을 검수할 수 있다. 이를 위하여, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.
특징적으로, 본 발명의 실시예들에 따른 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물에 포함된 객체의 트래킹 아이디 및 환경 변수를 보다 용이하게 검수할 수 있는 사용자 인터페이스(UI)를 제공할 수 있다.
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물의 메타데이터를 검증할 수 있는 사용자 인터페이스(UI)를 출력함에 있어, 이미지 그룹에 포함된 이미지들로부터 동일한 트래킹 아이디가 부여된 객체의 크롭 이미지(cropped image)들을 수집한 후, 사용자 인터페이스(UI) 상에서 수집된 크롭 이미지들을 이미지의 촬영 선후에 따라 연속적으로 배치하여 출력할 수 있다.
여기서, 이미지 그룹은 어노테이션이 수행된 이미지들의 집합이다. 이와 같은, 이미지 그룹은 어노테이션 장치(200)별 또는 프로젝트 별로 형성될 수 있다. 예를 들어, 이미지 그룹은 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의해 시계열적으로 연속적으로 촬영된 이미지들, 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 인접하게 배치된 다른 카메라에 의해 공간적으로 연속되게 촬영된 이미지들이 포함될 수 있으며, 이에 한정되는 것도 아니다.
그리고, 크롭 이미지는 어노테이션에 의해 객체를 특정하기 위해 설정된 좌표를 기준으로, 어노테이션 작업의 대상이 된 이미지의 일부를 잘라낸 이미지이다.
또한, 학습 데이터 검증 장치(300)는 동일한 트래킹 아이디가 부여된 객체들의 크롭 이미지들을 대상으로, 크롭 이미지들 각각에 포함된 객체들의 RGB(Red, Green, Blue) 값의 패턴과 엣지의 패턴을 서로 교차 대비하여, 각각의 객체들에 대하여 동일한 트래킹 아이디가 부여된 것이 올바른지 자체적으로 검수할 수 있다.
이와 반대로, 학습 데이터 검증 장치(300)는 서로 다른 트래킹 아이디가 부여된 객체들의 크롭 이미지들을 대상으로, 서로 다른 트래킹 아이디가 부여된 객체들의 RGB 값의 패턴과 엣지의 패턴을 서로 교차 대비하여, 객체들에 대하여 서로 다른 트래킹 아이디가 부여된 것이 올바른지 검수할 수도 있다.
이 경우, RGB 값의 패턴은 이미지 속 화소(pixel)들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴(pattern)을 의미한다. 그리고, 엣지의 패턴은 이미지로부터 추출된 엣지(edge)에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴을 의미한다.
그리고, 학습 데이터 검증 장치(300)는 동일한 트래킹 아이디가 부여된 것이 올바르지 않다고 판단되거나, 또는 서로 다른 트래킹 아이디가 부여된 것이 올바르지 않다고 판단되는 경우, 사용자 인터페이스(UI) 상에서 올바르지 않다고 판단된 트래킹 아이디가 부여된 객체에 관한 정보를 출력할 수 있다.
이와 같이, 학습 데이터 검증 장치(300)가 동일한 트래킹 아이디가 부여된 복수 개의 객체들의 크롭 이미지들이 연속적으로 배치된 사용자 인터페이스(UI)를 출력하며, 객체들의 트래킹 아이디가 올바르게 부여되었는지 자체 검수한 결과를 포함하는 사용자 인터페이스(UI)를 출력함으로써, 학습 데이터 검증 장치(300)의 사용자는 동일한 것으로 판단된 다수의 객체들을 한 눈에 쉽게 확인하고 검수할 수 있게 된다.
한편, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물의 메타데이터를 검증할 수 있는 사용자 인터페이스(UI)를 출력함에 있어, 메타데이터 각각에 포함된 값에 대응하여 사전에 설정된 색상을 가지는 도형(figure)으로 표현될 수 있도록, 이미지 그룹에 포함된 이미지들 각각을 그래픽화(graphicalize)하여 사용자 인터페이스(UI)에 포함시킬 수 있다.
예를 들어, 학습 데이터 검증 장치(300)는 이미지 그룹에 포함된 이미지들 각각을 메타데이터에 포함된 값에 대응하는 색상을 가지는 하나의 선분(line)으로 표현할 수 있다. 학습 데이터 검증 장치(300)는 이미지들의 촬영 선후에 따라 선분의 폭(width) 방향으로 각각의 선분을 연속적으로 배치하여 막대(bar) 형태의 그래픽을 구성할 수 있다. 그리고, 학습 데이터 검증 장치(300)는 구성된 막대 형태의 그래픽을 사용자 인터페이스(UI)에 포함시켜 출력할 수 있다.
이와 같이, 학습 데이터 검증 장치(300)가 복수 개의 이미지들이 메타데이터의 값에 따라 단순 그래픽화된 사용자 인터페이스(UI)를 출력함으로써, 학습 데이터 검증 장치(300)의 사용자는 복수 개의 이미지들의 메타데이터를 한 눈에 쉽게 확인할 수 있으며, 다른 이미지들과 다르게 특이적인 메타데이터 값을 가지는 이미지를 직관적으로 식별할 수 있게 된다.
그리고, 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다.
상술한 바와 같은 특징을 가지는, 학습 데이터 검증 장치(300)는 어노테이션 장치(200) 및 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 검증 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 인공지능 학습 장치(400)는 인공지능(AI)을 개발하는데 사용될 수 있는 장치이다.
구체적으로, 인공지능 학습 장치(400)는 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항을 포함하는 요구 값을 학습 데이터 생성 장치(100)에 전송할 수 있다. 인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)로부터 인공지능(AI) 학습용 데이터를 수신할 수 있다. 그리고, 인공지능 학습 장치(400)는 수신된 인공지능(AI) 학습용 데이터를 이용하여, 개발하고자 하는 인공지능(AI)을 기계 학습할 수 있다.
이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
상술한 바와 같은, 학습 데이터 생성 장치(100), 하나 이상의 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
이하, 상술한 바와 같은, 학습 데이터 생성 장치(100)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 3에 도시된 바와 같이, 학습 데이터 생성 장치(300)는 통신부(105), 입출력부(110), 저장부(115), 데이터 구조 설계부(120), 데이터 수집 및 정제부(125), 데이터 가공부(130), 빅데이터 관리부(135) 및 학습 데이터 생성부(140)를 포함하여 구성될 수 있다.
이와 같은, 학습 데이터 생성 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(105)는 어노테이션 장치(200), 학습 데이터 검증 장치(300) 및 인공지능 학습 장치(400) 중 하나 이상과 데이터를 송수신할 수 있다.
구체적으로, 통신부(105)는 어노테이션 장치(200)에 어노테이션 작업의 대상이 되는 복수 개의 이미지를 전송할 수 있다. 통신부(105)는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.
통신부(105)는 인공지능 학습 장치(400)로부터 요구 값을 수신할 수 있다. 여기서, 요구 값은 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항에 관한 값이다. 즉, 요구 값은 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이다. 그리고, 통신부(105)는 인공지능(A) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.
다음 구성으로, 입출력부(110)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(110)는 사용자로부터 인공지능(AI) 학습을 위한 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다. 입출력부(110)는 인공지능(AI) 학습을 위한 데이터(즉, 이미지)를 외부로부터 입력 받을 수 있다. 입출력부(110)는 사용자로부터 복수 개의 어노테이션 장치(200)에 대하여 어노테이션 작업을 분배하기 위한 할당량을 입력 받을 수 있다.
입출력부(110)는 빅데이터 관리부(135)에 의해 관리되는 빅데이터의 상태 정보를 출력할 수 있다. 그리고, 입출력부(110)는 통신부(105)를 통해 인공지능 학습 장치(400)로부터 수신된 요구 값을 출력할 수 있다.
다음 구성으로, 저장부(115)는 인공지능(AI) 학습용 데이터를 생성하기 위한 데이터를 저장할 수 있다.
구체적으로, 저장부(115)는 데이터 구조 설계부(120)에 의해 설계된 데이터 구조를 저장할 수 있다. 저장부(115)는 데이터 수집 및 정제부(125)에 의해 수집된 인공지능(AI) 학습을 위한 데이터(즉, 이미지)를 저장할 수 있다. 저장부(115)는 어노테이션 장치(200) 또는 학습 데이터 검증 장치(300)로부터 수신된 어노테이션 작업 결과물을 저장할 수 있다.
그리고, 저장부(115)는 빅데이터 관리부(135)에 의해 생성 및 관리 중인 빅데이터에 관한 정보를 저장할 수 있다. 본 발명의 다른 실시예에 따른 저장부(115)는 빅데이터 관리부(135)에 의해 생성 및 관리 중인 빅데이터에 관한 정보를 외부의 저장장치를 통해 저장할 수도 있다.
다음 구성으로, 데이터 구조 설계부(120)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다.
구체적으로, 데이터 구조 설계부(120)는 입출력부(110)를 통해 입력된 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다. 예를 들어, 데이터 구조 설계부(120)는 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다. 이 경우, 학습 데이터 생성 장치(100)의 사용자는 주된 거래처 또는 고객의 니즈(needs)를 고려하여, 인공지능(AI) 학습을 위한 데이터의 구조가 범용성을 가지도록 제어를 수행할 수 있다.
다음 구성으로, 데이터 수집 및 정제부(125)는 데이터 구조 설계부(120)에 의해 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집 및 정제할 수 있다.
구체적으로, 데이터 수집 및 정제부(125)는 설계된 데이터 구조를 기초로, 입출력부(110)를 통해 외부로부터 이미지를 입력 받을 수 있다. 데이터 수집 및 정제부(125)는 통신부(105)를 통해 웹 크롤링(crawling)을 수행하여 이미지를 수집할 수 있다. 또한, 데이터 수집 및 정제부(125)는 이미지 데이터를 보유하고 있는 외부 기관의 장치로부터 이미지를 다운로드할 수도 있다.
데이터 수집 및 정제부(125)는 수집된 이미지들 중에서 중복되거나 또는 극히 유사한 이미지를 제거할 수 있다. 그리고, 데이터 수집 및 정제부(125)는 수집된 이미지에 포함된 개인정보를 비식별화(de-identification)할 수 있다.
다음 구성으로, 데이터 가공부(130)는 수집 및 정제된 데이터(즉, 어노테이션 작업의 대상이 되는 이미지)를 어노테이션 장치(200)를 이용하여 가공할 수 있다.
구체적으로, 데이터 가공부(130)는 입출력부(110)를 통해 설정된 할당량에 기초하여, 수집 및 정제된 데이터(즉, 어노테이션 작업의 대상이 되는 이미지들)를 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다.
데이터 가공부(130)는 통신부(105)를 통해, 어노테이션 장치(200)로부터 직접 어노테이션 작업 결과물을 수신하거나, 또는 학습 데이터 검증 장치(300)로부터 어노테이션 작업 결과물 및 검수 결과를 수신할 수 있다.
다음 구성으로, 빅데이터 관리부(135)는 메타데이터를 기반으로 복수 개의 어노테이션 작업 결과물에 관한 빅데이터를 구축 및 관리할 수 있다.
구체적으로, 빅데이터 관리부(135)는 어노테이션 작업 결과물에 포함된 메타데이터를 기반으로, 데이터 가공부(130)를 통해 어노테이션 장치(200) 또는 학습 데이터 검증 장치(300)로부터 수신된 복수 개의 어노테이션 작업 결과물을 분류할 수 있다.
여기서, 어노테이션 작업 결과물에 포함된 메타데이터에는 이미지의 정보, 저작권 정보, 촬영 조건 정보, 어노테이션된 객체의 정보 및 환경 정보가 포함될 수 있으나, 이에 한정되지 않는다. 메타데이터에 포함된 이미지의 정보에는 파일명, 파일 크기 및 이미지 크기가 포함될 수 있다. 저작권 정보에는 이미지 저작권자에 관한 정보가 포함될 수 있다. 촬영 조건 정보에는 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이가 포함될 수 있다. 객체의 정보에는 어노테이션 종류, 좌표 값, 영역의 크기, 클래스 명, 태그 항목, 잘림 여부, 대분류, 중분류, 소분류, 인스턴스 정보가 포함될 수 있다. 환경 정보에는 촬영 일시, 촬영 장소, 기상 정보, 도로의 유형, 도로 표면 정보, 교통 체증 정보가 포함될 수 있다. 또한, 메타데이터에 포함될 수 있는 정보의 개수와 종류는 이에 한정되지 아니한다.
빅데이터 관리부(135)는 메타데이터를 기반으로 분류된 복수 개의 어노테이션 작업 결과물을 이용하여 빅데이터를 구축할 수 있다. 빅데이터 관리부(135)는 빅데이터가 기 구축된 이후에 수신된 복수 개의 어노테이션 작업 결과물을 기 구축된 빅데이터에 포함시킬 수 있다.
이와 같이, 빅데이터 관리부(135)에 의해 구축된 빅데이터는 해시 테이블(hash table)을 포함할 수 있다. 빅데이터에 포함된 해시 테이블은 메타데이터의 종류에 따라 복수 개의 버킷(bucket)으로 구성될 수 있다. 해시 테이블을 구성하는 복수 개의 버킷 각각은 하나 이상의 슬롯(slot)을 포함하여 구성될 수 있다. 그리고, 버킷에 포함된 각각의 슬롯에는 어노테이션 작업 결과물에 대한 링크(link)가 포함될 수 있다.
한편, 빅데이터 관리부(135)는 빅데이터를 구축하는 과정에서 해시 테이블의 적재 밀도(load density)가 사전에 설정된 임계 밀도를 초과하는 경우, 각각의 슬롯에 포함된 링크를 유지한 상태에서 메타데이터의 종류에 따른 버킷의 수를 두 배로 늘린 이후 각 슬롯의 홈 버킷(home bucket)만을 재조정함으로써, 해시 테이블의 용량을 증가시킬 수 있다.
이와 다르게, 빅데이터 관리부(135)에 의해 구축된 빅데이터는 복수 개의 계층(layer)로 구획될 수 있다. 이 경우, 빅데이터 관리부(135)는 빅데이터를 구축하는 과정에서 어노테이션 장치(200)의 사용자에게 부여된 업무 평가 등급을 기준으로, 해당 어노테이션 장치(200)에 의해 생성된 어노테이션 작업 결과물이 소속될 빅데이터의 계층을 결정하고, 결정된 빅데이터의 계층에 해당 어노테이션 작업 결과물을 추가할 수도 있다.
다음 구성으로, 학습 데이터 생성부(140)는 빅데이터 관리부(135)에 의해 구축된 빅데이터를 이용하여 인공지능(AI) 학습용 데이터를 생성할 수 있다.
구체적으로, 학습 데이터 생성부(140)는 입출력부(110) 또는 통신부(105)를 통해 외부로부터 요구 값이 입력 또는 수신되면, 구축된 빅데이터를 마이닝(mining) 또는 필터링(filtering)하여 요구 값에 대응하는 어노테이션 작업 결과물을 추출할 수 있다.
여기서, 요구 값은 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항에 관한 값이다. 즉, 요구 값은 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이다.
예를 들어, 학습 데이터 생성부(140)는 빅데이터의 해시 테이블에 대응하여 사전에 설정된 해시 함수(hash function)에 요구 값을 대입하여 하나 이상의 슬롯을 탐색할 수 있다. 학습 데이터 생성부(140)는 탐색된 하나 이상의 슬롯에 각각 포함된 링크를 통해 하나 이상의 어노테이션 작업 결과물을 추출할 수 있다.
이와 다르게, 학습 데이터 생성부(140)는 요구 값에 대응하여 사전에 설정된 비율에 따라, 복수 개의 계층으로 구성된 빅데이터의 각각의 계층으로부터 어노테이션 작업 결과물을 추출할 수도 있다.
그리고, 학습 데이터 생성부(140)는 추출된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 생성부(140)는 생성된 인공지능(AI) 학습용 데이터를 통신부(105)를 통해 인공지능 학습 장치(400)에 전송할 수 있다.
한편, 학습 데이터 생성부(140)는 요구 값에 의해 지시되는 정보의 유형이 어노테이션 작업 결과물의 메타데이터에 포함되어 있지 않은 경우, 메타데이터에 포함되지 않은 정보의 유형이 메타데이터에 포함될 수 있도록, 데이터 구조 설계부(120)를 통해 데이터 구조의 재설계를 수행할 수 있다. 그리고, 학습 데이터 생성부(140)는 데이터 가공부(130)를 통해 복수 개의 어노테이션 장치(200)에 복수 개의 이미지를 재분배하여, 어노테이션 작업을 재수행할 수도 있다.
이하, 상술한 바와 같은, 어노테이션 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 4에 도시된 바와 같이, 어노테이션 장치(200)는 통신부(205), 입출력부(210), 저장부(215), 객체 특정부(220), 메타데이터 생성부(225) 및 결과물 생성부(230)를 포함하여 구성될 수 있다.
이와 같은, 어노테이션 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(205)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(205)는 학습 데이터 생성 장치(100)에 의해 분배된 복수 개의 이미지를 수신할 수 있다. 여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 복수 개의 이미지는 개별적으로 수신하거나, 또는 일괄적으로 수신할 수 있다.
그리고, 통신부(205)는 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다. 이와 같은, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나, 연산 결과를 외부로 출력할 수 있다. 여기서, 사용자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 사용자는 작업자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.
구체적으로, 입출력부(210)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.
그리고, 입출력부(110)는 이미지의 메타데이터를 설정하기 위한 제어 신호를 사용자로부터 입력 받을 수 있다.
다음 구성으로, 저장부(215)는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(215)는 통신부(205)를 통해 수신된 이미지를 저장할 수 있다. 또한, 저장부(215)는 통신부(205)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 사용자의 속성을 저장할 수 있다.
다음 구성으로, 객체 특정부(220)는 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정할 수 있다.
구체적으로, 객체 특정부(220)는 어노테이션 작업의 대상이 되는 이미지를 메모리로 로딩할 수 있다. 객체 특정부(220)는 입출력부(210)를 통해 입력된 사용자의 제어 신호에 따라 툴을 선택할 수 있다. 여기서, 툴(tool)은 이미지 속에 포함되어 있는 하나 이상의 객체를 특정하는 바운딩 박스를 설정하기 위한 도구이다.
객체 특정부(220)는 입출력부(210)를 통해 입력된 제어 신호에 따라, 선택된 툴을 통한 좌표를 입력 받을 수 있다. 객체 특정부(220)는 입력된 좌표를 기초로, 바운딩 박스(bounding box)를 설정하여 이미지 속에 포함된 객체를 특정할 수 있다.
여기서, 바운딩 박스는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.
예를 들어, 객체 특정부(220)는 입출력부(210)를 통해 사용자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정하여, 이미지 속에 포함된 객체를 특정할 수 있다.
이 경우, 두 개의 좌표는 사용자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지에 대한 메타데이터(metadata)를 생성할 수 있다.
여기서, 메타데이터에는 이미지의 정보, 저작권 정보, 촬영 조건 정보, 어노테이션된 객체의 정보 및 환경 정보가 포함될 수 있으나, 이에 한정되지 않는다. 메타데이터에 포함된 이미지의 정보에는 파일명, 파일 크기 및 이미지 크기가 포함될 수 있다. 저작권 정보에는 이미지 저작권자에 관한 정보가 포함될 수 있다. 촬영 조건 정보에는 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이가 포함될 수 있다. 객체의 정보에는 어노테이션 종류, 좌표 값, 영역의 크기, 클래스 명, 태그 항목, 잘림 여부, 대분류, 중분류, 소분류, 인스턴스 정보가 포함될 수 있다. 환경 정보에는 촬영 일시, 촬영 장소, 기상 정보, 도로의 유형, 도로 표면 정보, 교통 체증 정보가 포함될 수 있다. 또한, 메타데이터에 포함될 수 있는 정보의 개수와 종류는 이에 한정되지 아니한다.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 사용자로부터 입력된 제어 신호에 따라 메타데이터에 포함될 구체적인 값들을 설정할 수 있으나, 특징적으로 메타데이터 생성부(225)는 사용자의 제어 신호에 의지하지 않고, 객체의 트래킹 아이디 및 환경 정보를 자동으로 결정 또는 부여할 수 있다. 다르게 말하면, 메타 데이터 생성부(225)는 특정된 객체의 이미지 속 좌표, 자동으로 부여된 트래킹 아이디, 자동으로 결정된 환경 정보를 포함시켜 메타데이터를 생성할 수 있다.
구체적으로, 메타데이터 생성부(225)는 객체 특정부(220)에 의해 특정된 객체에 대하여 자동으로 트래킹 아이디를 부여할 수 있다. 여기서, 트래킹 아이디는 이미지 그룹으로부터 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자이다. 이미지 그룹은 어노테이션이 수행된 이미지들의 집합이다. 예를 들어, 이미지 그룹은 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의해 시계열적으로 연속적으로 촬영된 이미지들, 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 인접하게 배치된 다른 카메라에 의해 공간적으로 연속되게 촬영된 이미지들이 포함될 수 있으며, 이에 한정되는 것도 아니다.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 객체의 색상을 기준으로 트래킹 아이디를 부여할 수 있다. 구체적으로, 메타데이터 생성부(225)는 이미지 속에 객체가 차지하고 있는 영역에 대한 RGB 값의 패턴을 식별할 수 있다. 그리고, 메타데이터 생성부(225)는 식별된 RGB 값의 패턴에 대응하는 식별자를 생성하여, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 여기서, RGB 값의 패턴은 화소들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴을 의미한다.
이 경우, 메타데이터 생성부(225)는 식별자를 새롭게 생성하기 이전에, 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 RGB 값의 패턴과 객체 특정부(220)에 의해 특정된 객체로부터 식별된 RGB 값의 패턴을 서로 비교하여 유사 객체를 검색할 수 있다. 그리고, 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 유사 객체가 검색된 경우, 검색된 유사 객체에 부여된 트래킹 아이디를, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다.
본 발명의 다른 실시예에 따른 메타데이터 생성부(225)는 객체의 형상을 기준으로 트래킹 아이디를 부여할 수 있다. 구체적으로, 메타데이터 생성부(225)는 이미지의 엣지를 추출(edge detection)할 수 있다. 메타데이터 생성부(225)는 추출된 이미지의 전체 엣지로부터 객체 특정부(220)에 의해 특정된 객체의 엣지만을 식별할 수 있다. 메타데이터 생성부(225)는 식별된 객체의 엣지의 패턴에 대응하는 식별자를 생성하여, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다. 여기서, 엣지의 패턴은 이미지로부터 추출된 엣지에 의해 폐쇄된 영역에 포함된 픽셀의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴을 의미한다.
이 경우, 메타데이터 생성부(225)는 식별자를 새롭게 생성하기 이전에, 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 엣지 패턴과 객체 특정부(220)에 의해 특정된 객체로부터 식별된 객체의 엣지의 패턴을 서로 비교하여 유사 객체를 검색할 수 있다. 그리고, 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 유사 객체가 검색된 경우, 검색된 유사 객체에 부여된 트래킹 아이디를, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다.
본 발명의 또 다른 실시예에 따른 메타데이터 생성부(225)는 객체에 포함된 기호 또는 문자를 기준으로 트래킹 아이디를 부여할 수 있다. 구체적으로, 메타데이터 생성부(225)는 이미지 속에서 객체가 차지하고 있는 영역에 기호 또는 문자가 포함되어 있는지 식별할 수 있다. 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 특정된 객체들을 대상으로, 객체 특정부(220)에 의해 특정된 객체로부터 식별된 기호 또는 문자와 동일한 기호 또는 문자를 포함하는 유사 객체를 검색할 수 있다. 그리고, 메타데이터 생성부(225)는 이미지 그룹에 포함된 이미지들로부터 유사 객체가 검색된 경우, 검색된 유사 객체에 부여된 트래킹 아이디를, 객체 특정부(220)에 의해 특정된 객체의 트래킹 아이디로 부여할 수 있다.
한편, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지에 대한 환경 정보를 자동으로 결정할 수 있다. 여기서, 환경 정보는 카메라에 의해 이미지가 촬영된 장소 또는 시점과 관련된 정보를 의미한다. 이와 같은, 환경 정보에는 이미지의 촬영 일시, 촬영 장소, 기상(weather) 정보, 도로의 유형(road type), 노면(road surface) 및 교통 상황(traffic congestion)에 관한 정보가 포함될 수 있으나, 이에 한정되지 아니한다.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 기존 이미지와 어노테이션 작업의 대상이 되는 이미지를 서로 비교하여, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용할 수 있다.
보다 구체적으로, 메타데이터 생성부(225)는 기존 이미지와 어노테이션 작업의 대상이 되는 이미지를 서로 비교하여, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다. 여기서, 기존 이미지는 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의하여, 어노테이션 작업의 대상이 되는 이미지보다 선행하여 촬영된 이미지를 의미한다.
만약, 어노테이션 작업의 대상이 되는 이미지보다 선행하여 촬영된 이미지가 복수 개인 경우, 메타데이터 생성부(225)는 복수 개의 이미지들 중에서 객체 특정부(220)에 의해 특정된 객체와 동일한 트래킹 아이디가 부여된 객체를 포함하고 있는 이미지를 기존 이미지로 선택할 수 있다.
이와 다르게, 어노테이션 작업의 대상이 되는 이미지보다 선행하여 촬영된 이미지가 복수 개인 경우, 메타데이터 생성부(225)는 복수 개의 이미지들 중에서 어노테이션 작업의 대상이 되는 이미지와 촬영 시각이 가장 인접한 이미지를 기존 이미지로 선택할 수도 있다.
이후, 메타데이터 생성부(225)는 기존 이미지의 객체와 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을, 어노테이션 작업의 대상이 되는 이미지로부터 제거한 배경 영역을 식별할 수 있다. 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 객체와 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을, 선택된 기존 이미지로부터 제거한 배경 영역을 식별할 수 있다.
그리고, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역과, 기존 이미지의 배경 영역을 서로 비교한 결과를 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.
즉, 메타데이터 생성부(225)는 선행하여 촬영된 이미지(즉, 기존 이미지)와 후행하여 촬영된 이미지(어노테이션 작업의 대상이 되는 이미지) 각각에 대하여, 동일한 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교하고, 비교한 결과를 기초로 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 것이다.
구체적인 판단에 대한 예로서, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역에 대한 RGB 값의 패턴과, 기존 이미지의 배경 영역에 대한 RGB 값의 패턴을 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.
이와 다르게, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역에 대한 엣지의 패턴과, 기존 이미지의 배경 영역에 대한 엣지의 패턴을 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.
이와 또 다르게, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 배경 영역에 대한 평균 밝기(brightness) 값 또는 평균 감마(gamma) 값과, 기존 이미지의 배경 영역에 대한 평균 밝기 값 또는 평균 감마 값을 기초로, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한지 여부를 판단할 수도 있다.
그리고, 메타데이터 생성부(225)는 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용 가능한 것으로 판단된 경우, 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 포함시켜 메타데이터를 생성할 수 있다.
정리하면, 메타데이터 생성부(225)는 복수 개의 이미지가 동일한 카메라에 의해 연속적으로 촬영된 이미지에 해당하는 경우, 복수 개의 이미지 중 선행하여 촬영된 이미지에 대하여 기 부여된 환경 정보를 후행하여 촬영된 이미지의 환경 정보로 포함시켜 후행하여 촬영된 이미지에 대한 메타데이터를 자동으로 생성할 수 있다.
한편, 메타데이터 생성부(225)는 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지의 환경 정보로 적용이 불가능한 것으로 판단된 경우, 어노테이션 작업 대상이 되는 이미지의 내에 설정된 하나 이상의 기준점이 가지는 특징을 기초로 어노테이션 작업 대상이 되는 이미지에 대한 환경 정보를 자동으로 결정할 수 있다.
보다 구체적으로, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지 내에서 하나 이상의 기준점을 설정할 수 있다. 인공지능(AI)이 특정 목적을 달성할 수 있도록 기계학습에 사용되는 다수의 이미지들은 상대적으로 유사한 구도를 가지고 있다. 본 발명의 실시예에 따른 기준점은 인공지능(AI)의 학습 목적에 대응하여 설정되는 이미지 내의 하나 이상의 지점이 될 수 있다. 그리고, 메타데이터 생성부(225)는 설정된 하나 이상의 기준점 각각이 화소의 색상, 밝기 또는 감마를 기초로, 어노테이션 작업의 대상이 되는 이미지의 환경 정보를 결정할 수 있다.
본 발명의 일 실시예에 따른 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 엣지를 추출하고, 추출된 엣지를 기준으로 이미지를 복수 개의 영역으로 구분할 수 있다. 메타데이터 생성부(225)는 구분된 복수 개의 영역 각각에 대하여 하나 이상의 기준점을 설정할 수 있다. 메타데이터 생성부(225)는 추출된 엣지를 기준으로 어노테이션 작업의 대상이 되는 이미지에서 객체가 차지하고 있는 영역을 제거하여 배경 영역을 식별할 수 있다. 메타데이터 생성부(225)는 객체에 부여된 클래스(class)를 기준으로 이미지 내에서 객체의 방향성을 판단할 수 있다. 예를 들어, 메타데이터 생성부(225)는 개체에 부여된 클래스가 차량인 경우, 이미지 내에서 객체의 바퀴가 향하는 방향을 지면으로 판단할 수 있다. 메타데이터 생성부(225)는 판단된 객체의 방향성을 기초로, 식별된 배경 영역에 포함된 복수 개의 영역 중에서 지면(ground) 영역과 공중(air) 영역을 식별할 수 있다. 여기서, 지면 영역은 엣지에 의해 구분된 복수 개의 영역 중에서 지면에 가장 가까운 영역이다. 공중 영역은 엣지에 의해 구분된 복수 개의 영역 중에서 지면으로부터 가장 먼 영역이다. 그리고, 메타데이터 생성부(225)는 지면 영역 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 노면(road surface) 정보를 결정하고, 공중 영역 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 기상(weather) 정보를 결정할 수 있다.
본 발명의 다른 실시예에 따른 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지의 가장자리(border)를 구성하는 네 개의 선분 각각에 대하여 하나 이상의 기준점을 설정할 수 있다. 메타데이터 생성부(225)는 객체에 부여된 클래스(class)를 기준으로 이미지 내에서 객체의 방향성을 판단할 수 있다. 메타데이터 생성부(225)는 판단된 객체의 방향성을 기초로, 네 개의 선분 중에서 지면 선분과 공중 선분을 식별할 수 있다. 여기서, 지면 선분은 이미지의 가장자리를 구성하는 네 개의 선분 중에서 지면에 가장 가까운 선분이다. 공중 선분은 이미지의 가장자리를 구성하는 네 개의 선분 중에서 지면으로부터 가장 먼 선분이다. 그리고, 메타데이터 생성부(225)는 지면 선분 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 노면 정보를 결정하고, 공중 선분 내에서 설정된 기준점의 화소를 기초로 환경 정보를 구성하는 기상 정보를 결정할 수 있다.
한편, 메타데이터 생성부(225)는 어노테이션 작업의 대상이 되는 이미지와 이미지 그룹에 포함된 기존 이미지 각각에 대하여 동일한 위치에 기준점을 설정하고, 어노테이션 작업의 대상이 되는 이미지에 설정된 기준점의 화소와 기존 이미지에 동일하게 설정된 기준점의 화소를 대비하여, 화소의 색상, 밝기 및 감마 값이 사전에 설정된 허용 범위 이내인 경우, 기존 이미지에 대하여 기 설정된 환경 정보를 어노테이션 작업의 대상이 되는 이미지이 환경 정보로 결정할 수도 있다. 만약, 어노테이션 작업의 대상이 되는 이미지와 기존 이미지에 서로 동일하게 설정된 기준점의 화소의 색상, 밝기, 감마 값의 차이가 허용 범위를 벗어나는 경우, 메타데이터 생성부(225)는 환경 정보가 수동으로 설정되어야 함을 알리는 메시지를 사용자 인터페이스(UI)를 통해 출력할 수도 있다.
다음 구성으로, 결과물 생성부(230)는 메타데이터 생성부(225)에 의해 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
그리고, 결과물 생성부(230)은 생성된 어노테이션 작업 결과물을 통신부(205)를 통해 학습 데이터 생성 장치(100)에 직접 전송하거나, 또는 학습 데이터 검증 장치(300)에 전송할 수 있다.
이하, 상술한 바와 같은 어노테이션 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 5에 도시된 바와 같이, 어노테이션 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 어노테이션 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 생성 장치(100) 및 학습 데이터 검증 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 어노테이션 장치(200)의 동작에 필요한 데이터를 입력 받고, 어노테이션 작업의 대상이 되는 이미지, 바운딩 박스, 메타데이터를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보들을 저장할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 트래킹 아이디 부여 및 검수 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계, 프로세서(250)가 상기 특정된 객체에 대하여 트래킹 아이디를 부여하는 단계, 및 프로세서(250)가 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 부여된 트래킹 아이디를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 메타데이터 생성 및 검수 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계, 프로세서(250)가 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계, 및 프로세서(250)가 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 메타데이터 자동 생성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계, 프로세서(250)가 상기 이미지 내에서 하나 이상의 기준점을 설정하고, 상기 설정된 기준점의 화소의 색상, 밝기 또는 감마를 기초로 상기 이미지에 대한 환경 정보를 결정하는 단계, 및 프로세서(250)가 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 결정된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따라 인공지능(AI) 학습용 데이터를 생성하는 방법을 설명하기 위한 신호 흐름도이다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 학습 데이터 생성 장치(100)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다(S105).
구체적으로, 학습 데이터 생성 장치(100)는 사용자의 제어를 기초로, 인공지능(AI) 학습을 위한 온톨로지, 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다. 이 경우, 학습 데이터 생성 장치(100)의 사용자는 주된 거래처 또는 고객의 니즈(needs)를 고려하여, 인공지능(AI) 학습을 위한 데이터의 구조가 범용성을 가지도록 제어를 수행할 수 있다.
학습 데이터 생성 장치(100)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집 및 정제할 수 있다(S110).
구체적으로, 학습 데이터 생성 장치(100)는 외부로부터 이미지를 입력 받거나, 웹 크롤링(crawling)을 수행하여 이미지를 수집하거나, 또는 이미지 데이터를 보유하고 있는 외부 기관의 장치로부터 이미지를 다운로드할 수도 있다.
그리고, 학습 데이터 생성 장치(100)는 수집된 이미지들 중에서 중복되거나 또는 극히 유사한 이미지를 제거하고, 이미지에 포함된 개인정보를 비식별화할 수 있다.
학습 데이터 생성 장치(100)는 수집 및 정제된 데이터(즉, 어노테이션 작업의 대상이 되는 이미지)를 복수 개의 어노테이션 장치(200)에 분배하여 전송할 수 있다(S115).
본 발명의 일 실시예에 따른 인공지능 학습 시스템의 복수 개의 어노테이션 장치(200) 각각은 학습 데이터 생성 장치(100)로부터 수신된, 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정할 수 있다(S120).
구체적으로, 어노테이션 장치(200)는 사용자의 제어 신호에 따라, 툴을 통해 좌표를 입력 받고, 입력된 좌표를 기초로 바운딩 박스를 설정하여 이미지 속에 포함된 객체를 특정할 수 있다. 여기서, 바운딩 박스는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다.
어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지에 대한 메타데이터(metadata)를 생성할 수 있다(S125).
특징적으로, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 사용자로부터 입력된 제어 신호에 따라 메타데이터에 포함될 구체적인 값들을 설정할 수 있으나, 사용자의 제어 신호에 의지하지 않고도 객체의 트래킹 아이디 및 환경 정보를 자동으로 결정 또는 부여할 수 있다.
어노테이션 장치(200)는 생성된 메타데이터를 기초로 어노테이션 작업 결과물을 생성하고, 생성된 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다(S130).
본 발명의 일 실시예에 따른 인공지능 학습 시스템의 학습 데이터 검증 장치(300)는 어노테이션 장치(200)들로부터 수신된 어노테이션 작업 결과물을 검수할 수 있다(S135).
구체적으로, 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물을 대상으로 스크립트(script)를 이용하여 검수를 수행할 수 있다. 여기서, 스크립트는 어노테이션 작업 결과물을 대상으로 사전에 설정된 목표 품질의 부합 여부 또는 데이터 유효성 여부를 검증하기 위한 코드이다.
특징적으로, 본 발명의 일 실시예에 따른 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물에 포함된 객체의 트래킹 아이디 및 환경 변수를 보다 용이하게 검수할 수 있는 사용자 인터페이스(UI)를 제공할 수 있다.
학습 데이터 검증 장치(300)는 어노테이션 작업 결과물 및 검수 결과를 학습 데이터 생성 장치(100)에 전송할 수 있다(S140).
학습 데이터 생성 장치(100)는 어노테이션 작업 결과물의 메타데이터를 기반으로, 복수 개의 어노테이션 작업 결과물에 관한 빅데이터를 구축할 수 있다(S145).
상술한 바와 같이 빅데이터가 구축된 이후, 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 요구 값을 포함하는 데이터 요청을 수신할 수 있다(S150). 여기서, 요구 값은 인공지능(AI)이 개발 목적을 달성하기 위하여 인공지능(AI) 학습용 데이터가 만족해야 하는 요구 사항에 관한 값이다. 즉, 요구 값은 인공지능(AI) 학습용 데이터에 포함되어야 하는 정보의 유형을 지시하는 값이다.
학습 데이터 생성 장치(100)는 구축된 빅데이터를 마이닝(mining) 또는 필터링(filtering)하여 요구 값에 대응하는 어노테이션 작업 결과물을 추출할 수 있다. 학습 데이터 생성 장치(100)는 추출된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다(S155).
그리고, 학습 데이터 생성 장치(100)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다(Sa160).
인공지능 학습 장치(400)는 학습 데이터 생성 장치(100)로부터 수신된 인공지능(AI) 학습용 데이터를 이용하여, 개발하고자 하는 인공지능(AI)을 기계 학습할 수 있다(S165).
도 7은 본 발명의 일 실시예에 따른 인공지능(AI) 학습용 데이터의 생성 개념을 설명하기 위한 개념도이다.
종래의 수단들에 따르면, 인공지능(AI)을 학습시키고자 하는 고객으로부터 인공지능(AI) 학습용 데이터가 요청되면, 그 이후에 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행하고, 수행된 결과물을 패키징하여 인공지능(AI) 학습용 데이터를 생성하였다. 즉, 종래의 수단들에 따르면, 인공지능(AI)을 학습시키고자 하는 고객으로부터 요청이 수신된 이후 인공지능(AI) 학습용 데이터를 생성하여 고객에게 납품하기까지 상대적으로 오랜 기간이 소요되었다.
도 7에 도시된 바와 같이, 본 발명의 실시예에 따른 인공지능 학습 시스템은 인공지능 학습 장치(400, 즉, 인공지능(AI)을 학습시키고자 하는 고객)로부터 인공지능(AI) 학습용 데이터의 요청이 수신되기 이전에, 선제적으로 인공지능(AI) 학습용 데이터를 생성할 수 있는 빅데이터(110)를 학습 데이터 생성 장치(100)에 미리 구축해 놓을 수 있다.
그리고, 학습 데이터 생성 장치(100)는 인공지능 학습 장치(400)로부터 고객의 니즈에 따른 요구 값이 수신되면, 사전에 구축해 놓은 빅데이터를 단순히 마이닝 또는 필터링하여 인공지능(AI) 학습용 데이터(410)를 생성하고, 생성된 인공지능(AI) 학습용 데이터(410)를 곧바로 인공지능 학습 장치(400)에 전송할 수 있다.
따라서, 본 발명의 실시예들에 따르면, 고객의 요청이 수신된 이후 인공지능(AI) 학습용 데이터를 생성하여 납품하기까지 소요되는 기간을 크게 단축시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 트래킹 아이디(tracking identifier)의 개념을 설명하기 위한 예시도이다. 그리고, 도 9는 본 발명의 일 실시예에 따라 트래킹 아이디를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.
도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 어노테이션 작업 대상이 되는 이미지(10a, 10b, …)로부터 특정된 객체(20a, 20b, …)에 대하여 트래킹 아이디를 부여할 수 있다.
여기서, 트래킹 아이디(tracking identifier)는 어노테이션이 수행된 이미지들의 집합(즉, 이미지 그룹, 10a, 10b, …)으로부터 객체를 추적할 수 있도록 부여된 객체의 고유한 식별자이다. 예를 들어, 트래킹 아이디는 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 동일한 카메라에 의해 시계열적으로 연속적으로 촬영된 이미지들, 또는 어노테이션 작업의 대상이 되는 이미지를 촬영한 카메라와 인접하게 배치된 다른 카메라에 의해 공간적으로 연속되게 촬영된 이미지들로부터 특정한 객체를 추적할 수 있도록 부여된 식별자가 될 수 있다.
본 발명의 실시예들에 따른 어노테이션 장치(200)는 객체의 색상(RGB 값의 패턴), 객체의 형상(엣지의 패턴), 또는 객체에 포함된 기호 또는 문자를 기준으로, 어노테이션 작업의 대상이 되는 이미지들(10a, 10b, …)로부터 각각 특정된 객체(20a, 20b, …)에 대하여 트래킹 아이디를 자동으로 부여할 수 있다.
구체적으로, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10b) 속에 객체(20b)가 차지하고 있는 영역에 대한 RGB 값의 패턴을 식별할 수 있다. 어노테이션 장치(200)는 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 RGB 값의 패턴과, 어노테이션 작업의 대상이 되는 이미지(10b)로부터 특정된 객체(20b)에 대한 RGB 값의 패턴을 서로 비교하여 유사 객체(20a)를 검색할 수 있다. 그리고, 어노테이션 장치(200)는 검색된 유사 객체(20a)에 부여된 트래킹 아이디를 어노테이션 작업의 대상이 되는 이미지(10b)로부터 특정된 객체(20b)의 트래킹 아이디로 부여할 수 있다.
이와 다르게, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10b) 속에 객체(20b)에 대한 엣지 패턴을 식별할 수 있다. 어노테이션 장치(200)는 이미지 그룹에 포함된 이미지들로부터 특정된 객체들에 대한 엣지의 패턴과, 어노테이션 작업의 대상이 되는 이미지(10b)로부터 특정된 객체(20b)에 대한 엣지의 패턴을 서로 비교하여 유사 객체(20a)를 검색할 수 있다. 그리고, 어노테이션 장치(200)는 검색된 유사 객체(20a)에 부여된 트래킹 아이디를 어노테이션 작업의 대상이 되는 이미지(10b)로부터 특정된 객체(20b)의 트래킹 아이디로 부여할 수 있다.
이와 또 다르게, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10b) 속에서 객체(20b)가 차지하고 있는 영역에 기호 또는 문자가 포함되어 있는지 식별할 수 있다. 어노테이션 장치(200)는 이미지 그룹에 포함된 이미지들로부터 특정된 객체들을 대상으로 식별된 기호 또는 문자와 동일한 기호 또는 문자를 포함하는 유사 객체(20a)를 검색할 수 있다. 그리고, 어노테이션 장치(200)는 검색된 유사 객체(20a)에 부여된 트래킹 아이디를 어노테이션 작업의 대상이 되는 이미지(10b)로부터 특정된 객체(20b)의 트래킹 아이디로 부여할 수 있다.
한편, 도 9에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 검증 장치(300)는 객체의 트래킹 아이디가 정확하게 부여되었는지 용이하게 검수할 수 있는 사용자 인터페이스(UI)를 제공할 수 있다.
구체적으로, 학습 데이터 검증 장치(300)는 이미지 그룹에 포함된 이미지들로부터 동일한 트래킹 아이디가 부여된 객체가 존재하는지 식별할 수 있다. 학습 데이터 검증 장치(300)는 동일한 트래킹 아이디가 부여된 객체들(20a, 20b, 20c, 20d)의 크롭 이미지들(10a-cropped, 10b-cropped, 10c-cropped, 10d-cropped)을 수집할 수 있다. 그리고, 학습 데이터 검증 장치(300)는 사용자 인터페이스(UI) 상에서 수집된 크롭 이미지들(10a-cropped, 10b-cropped, 10c-cropped, 10d-cropped)을 이미지의 촬영 선후에 따라 연속적으로 배치하여 출력할 수 있다.
따라서, 본 발명의 실시예들에 따르면, 복수의 카메라에 의해 촬영된 각각의 이미지에 대한 객체의 동일성을 식별할 수 있는 수단을 제공하고, 복수 개의 이미지에 동일하게 등장하는 객체를 추적할 수 있게 된다.
도 10 및 도 11은 본 발명의 몇몇 실시예들에 따라 연속된 이미지에 환경 정보를 결정하는 과정을 설명하기 위한 예시도이다.
도 10 및 도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 연속된 이미지(10-pre, 10-cur, …)에 대한 환경 정보를 부여할 수 있다.
여기서, 환경 정보는 카메라에 의해 이미지가 촬영된 장소 또는 시점과 관련된 정보를 의미한다. 예를 들어, 환경 정보에는 이미지의 촬영 일시, 촬영 장소, 기상(weather) 정보, 도로의 유형(road type), 노면(road surface) 및 교통 상황(traffic congestion)에 관한 정보가 포함될 수 있으나, 이에 한정되지 아니한다.
본 발명의 일 실시예에 따른 어노테이션 장치(200)는 기존 이미지(10-pre)와 어노테이션 작업의 대상이 되는 이미지(10-cur)를 서로 비교하여, 기존 이미지(10-pre)에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지(10-cur)의 환경 정보로 적용할 수 있다.
구체적으로, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10-cur)로부터, 객체(기존 이미지의 객체와 동일한 트래킹 아이디가 부여된 객체)가 차지하고 있는 영역을 제거한 배경 영역(30b)을 식별할 수 있다. 어노테이션 장치(200)는 기존 이미지(10-pre)로부터, 객체(어노테이션 작업의 대상이 되는 이미지의 객체와 동일한 트래킹 아이디가 부여된 객체)가 차지하고 있는 영역을 제거한 배경 영역(30a)을 식별할 수 있다.
어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10-cur)의 배경 영역(30b)과 기존 이미지(10-pre)의 배경 영역(30a)을 서로 비교한 결과를 기초로, 기존 이미지(10-pre)에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지(10-cur)의 환경 정보로 적용할 수 있다.
도 10을 참조하여, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10-cur)의 배경 영역(30b)에 대한 RGB 값의 패턴과. 기존 이미지(10-pre)의 배경 영역(30a)에 대한 RGB 값의 패턴을 기초로, 기존 이미지(10-pre)에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지(10-cur)의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.
도 11를 참조하여, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10-cur)의 배경 영역(30b)에 대한 엣지의 패턴과. 기존 이미지(10-pre)의 배경 영역(30a)에 대한 엣지의 패턴을 기초로, 기존 이미지(10-pre)에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지(10-cur)의 환경 정보로 적용 가능한지 여부를 판단할 수 있다.
도 12 및 도 13은 본 발명의 몇몇 실시예들에 따라 환경 정보를 자동으로 결정하는 과정을 설명하기 위한 예시도이다.
도 12 및 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어노테이션 장치(200)는 기존 이미지에 대하여 기 부여된 환경 정보를 어노테이션 작업의 대상이 되는 이미지(10)의 환경 정보로 적용이 불가능한 경우, 어노테이션 작업의 대상이 되는 이미지(10) 내에 설정된 하나 이상의 기준점(50-air, 50-ground)이 가지는 특징을 기초로, 어노테이션 작업의 대상이 되는 이미지(10)에 대한 환경 정보를 결정할 수 있다.
인공지능(AI)이 특정 목적을 달성할 수 있도록 기계학습에 사용되는 다수의 이미지들은 상대적으로 유사한 구도를 가지고 있다. 따라서, 본 발명의 실시예에 따른 기준점(50-air, 50-ground)은 인공지능(AI)의 학습 목적에 대응하여 설정되는 하나 이상의 지점이 될 수 있다.
도 12를 참조하여, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10)의 엣지를 추출하고, 추출된 엣지를 기준으로 이미지(10)를 복수 개의 영역으로 구분할 수 있다. 어노테이션 장치(200)는 구분된 복수 개의 영역 각각에 대하여 하나 이상의 기준점을 설정할 수 있다.
어노테이션 장치(200)는 객체(20)에 부여된 클래스를 기준으로 이미지(10) 내에서 객체(20)의 방향성을 판단할 수 있다. 예를 들어, 개체(20)에 부여된 클래스가 차량인 경우, 이미지(10) 내에서 객체(20)의 바퀴가 향하는 방향을 지면으로 판단할 수 있다.
어노테이션 장치(200)는 판단된 객체(20)의 방향성을 기초로, 복수 개의 영역 중에서 지면 영역(30-ground)과 공중 영역(30-air)을 식별할 수 있다. 여기서, 지면 영역(30-ground)은 엣지에 의해 구분된 복수 개의 영역 중에서 지면에 가장 가까운 영역이다. 공중 영역(30-air)은 엣지에 의해 구분된 복수 개의 영역 중에서 지면으로부터 가장 먼 영역이다.
그리고, 어노테이션 장치(200)는 지면 영역(30-ground) 내에서 설정된 기준점(50-ground)의 화소를 기초로 환경 정보를 구성하는 노면(road surface) 정보를 결정하고, 공중 영역(30-air) 내에서 설정된 기준점(50-air)의 화소를 기초로 환경 정보를 구성하는 기상(weather) 정보를 결정할 수 있다.
도 13을 참조하여, 어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지(10)의 가장자리를 구성하는 네 개의 선분 각각에 대하여 하나 이상의 기준점을 설정할 수 있다. 어노테이션 장치(200)는 객체(20)에 부여된 클래스를 기준으로 이미지(10) 내에서 객체(20)의 방향성을 판단할 수 있다.
어노테이션 장치(200)는 판단된 객체(20)의 방향성을 기초로, 네 개의 선분 중에서 지면 선분(40-ground)과 공중 선분(40-air)을 식별할 수 있다. 여기서, 지면 선분(40-ground)은 이미지(10)의 가장자리를 구성하는 네 개의 선분 중에서 지면에 가장 가까운 선분이다. 공중 선분(40-air)은 이미지(10)의 가장자리를 구성하는 네 개의 선분 중에서 지면으로부터 가장 먼 선분이다.
어노테이션 장치(200)는 지면 선분(40-ground) 내에서 설정된 기준점(50-ground)의 화소를 기초로 환경 정보를 구성하는 노면 정보를 결정하고, 공중 선분(40-air) 내에서 설정된 기준점(50-air)의 화소를 기초로 환경 정보를 구성하는 기상 정보를 결정할 수 있다.
도 14는 본 발명의 일 실시예에 따라 메타데이터를 검수하기 위한 사용자 인터페이스(UI)를 설명하기 위한 예시도이다.
도 14에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 검증 장치(300)는 어노테이션 작업 결과물의 메타데이터를 용이하게 검수할 수 있는 사용자 인터페이스(UI)를 제공할 수 있다.
구체적으로, 학습 데이터 검증 장치(300)는 메타데이터에 포함된 값에 대응된 도형(figure)으로 표현될 수 있도록, 이미지 그룹에 포함된 이미지들(10-a, 10-b, 10-c, 10-d, 10-e, 10-f, …)을 그래픽화(graphicalize)하여 사용자 인터페이스(UI)에 포함시킬 수 있다.
예를 들어, 학습 데이터 검증 장치(300)는 이미지 그룹에 포함된 이미지들(10-a, 10-b, 10-c, 10-d, 10-e, 10-f, …) 각각을 메타데이터에 포함된 값에 대응하는 색상을 가지는 하나의 선분으로 표현할 수 있다. 학습 데이터 검증 장치(300)는 이미지들의 촬영 선후에 따라 선분의 폭(width) 방향으로 각각의 선분을 연속적으로 배치하여 막대(bar) 형태의 그래픽(60)을 구성할 수 있다. 그리고, 학습 데이터 검증 장치(300)는 구성된 막대 형태의 그래픽(60)을 사용자 인터페이스(UI)에 포함시켜 출력할 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 복수 개의 이미지들의 메타데이터를 한 눈에 쉽게 확인할 수 있으며, 다른 이미지들과 다르게 특이적인 메타데이터 값을 가지는 이미지를 직관적으로 식별할 수 있게 된다.
도 15는 본 발명의 일 실시예에 따른 어노테이션 장치의 동작 과정을 설명하기 위한 순서도이다.
도 15를 참조하면, 어노테이션 장치(200)는 학습 데이터 생성 장치(100)로부터 어노테이션 작업의 대상이 되는 이미지를 수신할 수 있다(S210).
어노테이션 장치(200)는 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정할 수 있다(S220). 구체적으로, 어노테이션 장치(200)는 사용자의 제어 신호에 따라 툴을 선택하고, 선택된 툴을 통한 좌표를 입력 받고, 입력된 좌표를 기초로 바운딩 박스를 설정하여 이미지 속에 포함된 객체를 특정할 수 있다.
어노테이션 장치(200)는 특정된 객체에 대하여 자동으로 트래킹 아이디를 부여할 수 있다(S230). 어노테이션 장치(200)가 트래킹 아이디를 자동으로 부여하는 과정에 대해서는 도 8을 참조하여 설명한 바와 동일하므로 중복하여 기재하지 않는다.
어노테이션 장치(200) 어노테이션 작업의 대상이 되는 이미지에 대한 환경 정보를 자동으로 결정할 수 있다(S240). 어노테이션 장치(200)가 환경 정보를 자동으로 결정하는 과정에 대해서는 도 10 내지 13을 참조하여 설명한 바와 동일하므로 중복하여 기재하지 않는다.
어노테이션 장치(200)는 특정된 객체의 이미지 속 좌표, 자동으로 부여된 트래킹 아이디, 자동으로 결정된 환경 정보를 포함시켜 메타데이터를 생성할 수 있다(S250).
그리고, 어노테이션 장치(200)는 생성된 메타데이터를 기초로 어노테이션 작업 결과물을 생성하고, 생성된 어노테이션 작업 결과물을 학습 데이터 검증 장치(300)에 전송할 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
학습 데이터 생성 장치: 100 어노테이션 장치: 200
학습 데이터 검증 장치: 300 인공지능 학습 장치: 400
통신부: 105 입출력부: 110
저장부: 115 데이터 구조 설계부: 120
데이터 수집 및 정제부: 125 데이터 가공부: 130
빅데이터 관리부: 135 학습 데이터 생성부: 140
통신부: 205 입출력부:210
저장부: 215 객체 특정부: 220
메타데이터 생성부: 225 결과물 생성부: 230
학습 데이터 검증 장치: 300 인공지능 학습 장치: 400
통신부: 105 입출력부: 110
저장부: 115 데이터 구조 설계부: 120
데이터 수집 및 정제부: 125 데이터 가공부: 130
빅데이터 관리부: 135 학습 데이터 생성부: 140
통신부: 205 입출력부:210
저장부: 215 객체 특정부: 220
메타데이터 생성부: 225 결과물 생성부: 230
Claims (10)
- 어노테이션 장치가, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속에 포함된 객체(object)를 특정하는 단계;
상기 어노테이션 장치가, 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보(environment information)를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계; 및
상기 어노테이션 장치가, 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터(metadata)를 생성하는 단계를 포함하되,
상기 기존 이미지는 상기 이미지를 촬영한 카메라와 동일한 카메라에 의해 상기 이미지보다 선행하여 촬영된 이미지이고,
상기 환경 정보는 상기 카메라에 의해 상기 이미지가 촬영된 장소 또는 시점과 관련된 정보이며,
상기 적용 가능한지 여부를 판단하는 단계는
상기 선행하여 촬영된 이미지가 복수 개인 경우, 복수 개의 이미지들 중에서 상기 특정된 객체와 동일한 트래킹 아이디(tracking identifier)가 부여된 객체를 포함하고 있는 이미지를 상기 기존 이미지로 선택하되,
상기 트래킹 아이디는 객체를 추적할 수 있도록 부여된 객체의 고유 식별자이고,
상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지로부터 상기 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역과, 상기 선택된 기존 이미지로부터 상기 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교한 결과를 기초로, 상기 적용 가능한지 여부를 판단하는 것을 특징으로 하는, 메타데이터 생성 및 검수 방법. - 제1 항에 있어서, 상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지의 배경 영역에 대한 RGB(Red, Green, Blue) 값의 패턴과 상기 기존 이미지의 배경 영역에 대한 RGB 값의 패턴을 기초로 상기 적용 가능한지 여부를 판단하되,
상기 RGB 값의 패턴은
화소(pixel)들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴인 것을 특징으로 하는, 메타데이터 생성 및 검수 방법. - 제1 항에 있어서, 상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지의 배경 영역에 대한 엣지(edge)의 패턴과 상기 기존 이미지의 배경 영역에 대한 엣지의 패턴을 기초로 상기 적용 가능한지 여부를 판단하되,
상기 엣지의 패턴은
엣지에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀(pixel)의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴인 것을 특징으로 하는, 메타데이터 생성 및 검수 방법. - 제1 항에 있어서, 상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지의 배경 영역에 대한 평균 밝기(brightness) 값 또는 평균 감마(gamma) 값과, 상기 기존 이미지의 배경 영역에 대한 평균 밝기 값 또는 평균 감마 값을 기초로 상기 적용 가능한지 여부를 판단하는 것을 특징으로 하는, 메타데이터 생성 및 검수 방법. - 제1 항에 있어서, 상기 메타데이터를 생성하는 단계 이후에,
학습 데이터 검증 장치가, 상기 어노테이션 장치에 의해 생성된 메타데이터를 검증할 수 있는 사용자 인터페이스(User Interface, UI)를 출력하되, 메타데이터에 포함된 값에 대응된 도형(figure)으로 표현될 수 있도록, 이미지 그룹에 포함된 이미지들 각각을 그래픽화(graphicalize)하여 상기 사용자 인터페이스(UI)에 포함시키는 단계를 더 포함하며,
상기 이미지 그룹은 상기 카메라에 의해 상기 이미지와 시계열적으로 연속되게 촬영된 이미지들, 및 상기 카메라와 인접하게 배치된 다른 카메라에 의해 상기 이미지와 공간적으로 연속되게 촬영된 이미지들을 포함하는 것을 특징으로 하는, 메타데이터 생성 및 검수 방법. - 제5 항에 있어서, 상기 출력하는 단계는
상기 이미지 그룹에 포함된 이미지들 각각을 메타데이터에 포함된 값에 대응하는 색상을 가지는 하나의 선분(line)으로 표현하고, 상기 이미지들의 촬영 선후에 따라 선분의 폭(width) 방향으로 상기 각각의 선분을 연속적으로 배치하여 막대(bar) 형태의 그래픽을 구성하고, 상기 구성된 막대 형태의 그래픽을 상기 사용자 인터페이스(UI)에 포함시켜 출력하는 것을 특징으로 하는, 메타데이터 생성 및 검수 방법. - 메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속에 포함된 객체를 특정하는 단계;
상기 프로세서가, 기존 이미지와 상기 이미지를 비교하여, 상기 기존 이미지에 대하여 기 부여된 환경 정보를 상기 이미지의 환경 정보로 적용 가능한지 여부를 판단하는 단계; 및
상기 프로세서가, 상기 기존 이미지에 대하여 기 부여된 환경 정보가 상기 이미지의 환경 정보로 적용 가능한 경우, 상기 특정된 객체의 상기 이미지 속 좌표 및 상기 기존 이미지에 대하여 기 부여된 환경 정보를 포함시켜 상기 이미지에 대한 메타데이터를 생성하는 단계를 실행시키되,
상기 기존 이미지는 상기 이미지를 촬영한 카메라와 동일한 카메라에 의해 상기 이미지보다 선행하여 촬영된 이미지이고,
상기 환경 정보는 상기 카메라에 의해 상기 이미지가 촬영된 장소 또는 시점과 관련된 정보이며,
상기 적용 가능한지 여부를 판단하는 단계는
상기 선행하여 촬영된 이미지가 복수 개인 경우, 복수 개의 이미지들 중에서 상기 특정된 객체와 동일한 트래킹 아이디(tracking identifier)가 부여된 객체를 포함하고 있는 이미지를 상기 기존 이미지로 선택하되,
상기 트래킹 아이디는 객체를 추적할 수 있도록 부여된 객체의 고유 식별자이고,
상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지로부터 상기 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역과, 상기 선택된 기존 이미지로부터 상기 동일한 트래킹 아이디가 부여된 객체가 차지하고 있는 영역을 제거한 배경 영역을 서로 비교한 결과를 기초로, 상기 적용 가능한지 여부를 판단하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램. - 제7 항에 있어서, 상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지의 배경 영역에 대한 RGB(Red, Green, Blue) 값의 패턴과 상기 기존 이미지의 배경 영역에 대한 RGB 값의 패턴을 기초로 상기 적용 가능한지 여부를 판단하되,
상기 RGB 값의 패턴은
화소(pixel)들에 대한 RGB 값의 비율 및 RGB 값의 배치 순서에 대한 패턴인 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램. - 제7 항에 있어서, 상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지의 배경 영역에 대한 엣지(edge)의 패턴과 상기 기존 이미지의 배경 영역에 대한 엣지의 패턴을 기초로 상기 적용 가능한지 여부를 판단하되,
상기 엣지의 패턴은
엣지에 의해 폐쇄된 영역(enclosure)에 포함된 픽셀(pixel)의 개수 및 이미지 내에서 엣지가 위치하고 있는 상대적인 위치에 대한 패턴인 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램. - 제7 항에 있어서, 상기 적용 가능한지 여부를 판단하는 단계는
상기 이미지의 배경 영역에 대한 평균 밝기(brightness) 값 또는 평균 감마(gamma) 값과, 상기 기존 이미지의 배경 영역에 대한 평균 밝기 값 또는 평균 감마 값을 기초로 상기 적용 가능한지 여부를 판단하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210062605A KR102310596B1 (ko) | 2021-05-14 | 2021-05-14 | 연속된 이미지에 대한 메타데이터 생성 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210062605A KR102310596B1 (ko) | 2021-05-14 | 2021-05-14 | 연속된 이미지에 대한 메타데이터 생성 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102310596B1 true KR102310596B1 (ko) | 2021-10-13 |
Family
ID=78150793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210062605A KR102310596B1 (ko) | 2021-05-14 | 2021-05-14 | 연속된 이미지에 대한 메타데이터 생성 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102310596B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101398700B1 (ko) * | 2012-12-20 | 2014-05-30 | 인하대학교 산학협력단 | 비디오 동영상 데이터를 위한 주석 시스템 및 방법 |
KR101879735B1 (ko) * | 2017-03-15 | 2018-07-18 | (주)넥셀 | 자동적인 학습데이터 생성 방법 및 장치와 이를 이용하는 자가 학습 장치 및 방법 |
KR20190088094A (ko) * | 2017-12-29 | 2019-07-26 | 주식회사 아임클라우드 | 자동 학습 데이터 생성을 통한 모델 학습 시스템 및 방법 |
KR20200042629A (ko) | 2018-10-16 | 2020-04-24 | 주식회사 키센스 | 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치 |
KR102204829B1 (ko) * | 2020-06-12 | 2021-01-19 | 인하대학교 산학협력단 | 딥러닝 기반의 어노테이션 툴을 제공하는 방법 및 시스템 |
-
2021
- 2021-05-14 KR KR1020210062605A patent/KR102310596B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101398700B1 (ko) * | 2012-12-20 | 2014-05-30 | 인하대학교 산학협력단 | 비디오 동영상 데이터를 위한 주석 시스템 및 방법 |
KR101879735B1 (ko) * | 2017-03-15 | 2018-07-18 | (주)넥셀 | 자동적인 학습데이터 생성 방법 및 장치와 이를 이용하는 자가 학습 장치 및 방법 |
KR20190088094A (ko) * | 2017-12-29 | 2019-07-26 | 주식회사 아임클라우드 | 자동 학습 데이터 생성을 통한 모델 학습 시스템 및 방법 |
KR20200042629A (ko) | 2018-10-16 | 2020-04-24 | 주식회사 키센스 | 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치 |
KR102204829B1 (ko) * | 2020-06-12 | 2021-01-19 | 인하대학교 산학협력단 | 딥러닝 기반의 어노테이션 툴을 제공하는 방법 및 시스템 |
Non-Patent Citations (1)
Title |
---|
Simone Bianco 등, A Semi-automatic Annotation Tool For Cooking Video, Image Processing: Machine Vision Application.(2013.03.06.)* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102310598B1 (ko) | 메타데이터를 이용한 인공지능 학습용 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102313942B1 (ko) | 연속된 이미지의 객체 추적 정보를 포함하는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310600B1 (ko) | 빅데이터 기반의 인공지능 학습용 데이터 추출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310585B1 (ko) | 용이하게 객체를 지정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102343056B1 (ko) | 어노테이션을 위한 이미지의 데이터 로드를 감축시키는 방법 | |
KR102356909B1 (ko) | 인공지능 학습용 데이터의 객체를 지정하고 속성을 설정하는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102389998B1 (ko) | 비식별 처리 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102439429B1 (ko) | 객체 추출이 용이한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102403169B1 (ko) | 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310594B1 (ko) | 작업 비용 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310612B1 (ko) | 라이다 점군에서 특정된 객체 정보를 이용한 2d 이미지 객체 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102433002B1 (ko) | 다중 바인딩 박스 선택을 통한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102313947B1 (ko) | 트래킹 아이디 부여 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102356914B1 (ko) | 메타데이터 자동 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310595B1 (ko) | 제안된 정보를 이용하여 객체 속성을 설정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310589B1 (ko) | 스크립트를 이용한 어노테이션 결과물의 검증 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310596B1 (ko) | 연속된 이미지에 대한 메타데이터 생성 및 검수 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102343049B1 (ko) | 인공지능 학습을 위한 이미지 메타데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102356907B1 (ko) | 인공지능 학습용 데이터의 메타데이터 입력 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102313922B1 (ko) | 연속되는 3d 점군 데이터의 품질 향상 방법 | |
KR102343045B1 (ko) | 작업 예측 및 관리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102310607B1 (ko) | 어노테이션 분산 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102343055B1 (ko) | 로컬 장치를 이용한 어노테이션 로드 밸런싱 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
KR102378890B1 (ko) | 어노테이션을 위한 3d 점군의 데이터 로드를 감축시키는 방법 | |
KR102378892B1 (ko) | 3d 점군 데이터 일괄 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |