KR102343036B1 - 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102343036B1
KR102343036B1 KR1020210019306A KR20210019306A KR102343036B1 KR 102343036 B1 KR102343036 B1 KR 102343036B1 KR 1020210019306 A KR1020210019306 A KR 1020210019306A KR 20210019306 A KR20210019306 A KR 20210019306A KR 102343036 B1 KR102343036 B1 KR 102343036B1
Authority
KR
South Korea
Prior art keywords
annotation
operator
guide information
learning
identified
Prior art date
Application number
KR1020210019306A
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 KR1020210019306A priority Critical patent/KR102343036B1/ko
Application granted granted Critical
Publication of KR102343036B1 publication Critical patent/KR102343036B1/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 단계별 작업 가이드를 제공할 수 있는 어노테이션 방법을 제안한다. 상기 방법은 어노테이션 장치가 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별하는 단계; 상기 어노테이션 장치가 상기 식별된 작업의 진행 상태를 기초로, 상기 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별하는 단계; 및 상기 어노테이션 장치가 사용자 인터페이스(User Interface, UI)를 통해, 상기 식별된 가이드 정보를 출력하는 단계를 포함할 수 있다.

Description

작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Annotation method capable of providing working guides, and computer program recorded on record-medium for executing method thereof}
본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터 설계에 관한 것이다. 보다 상세하게는, 많은 수의 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 단계별 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장, 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 메타데이터(meta data)를 입력하고 어노테이션(annotation)을 수행하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
이와 같은 단계들 중에서 데이터의 가공하는 단계는 적게는 몇 천개에서 많게는 수 백만개에 이르는 많은 양의 데이터를 가공하여야 하므로, 그 과정에서 다양한 위험 요소들이 존재할 수 있다.
우선, 데이터 가공 규칙은 수많은 작업자들이 어노테이션 작업을 수행함에 있어 공통적으로 준수해야 하는 규칙으로, 인공지능(AI)의 학습 목표 및 학습 방법론 등에 따라 다양하게 설정될 수 있다. 예를 들어, 데이터 가공 규칙은 객체를 특정하기 위한 바운딩 박스(bounding box)의 설정 순서, 설정 방식 및 사용해야 하는 툴과, 특정된 객체에 할당하는 속성 정보(properties information)의 입력 유형, 입력 규칙 및 입력 가능한 형식 등이 다양하게 조합되어 설정될 수 있다.
따라서, 이러한 데이터 가공 규칙이 명확하게 숙지되지 않은 작업자, 또는 숙련도가 아직 부족한 작업자는 자신에게 할당된 많은 양의 데이터를 가공하는 과정에서 데이터 가공 규칙의 일부를 준수하지 못할 위험이 있다.
또한, 많은 양의 데이터를 가공하기 위해서는 당연히 긴 시간이 소요된다. 이러한 긴 시간의 데이터 가공이 진행되는 과정에서 인공지능(AI)의 학습 목표 및 학습 방법론 등이 변경되거나, 어노테이션에 이용되는 툴의 기능 업그레이드 등으로 조작 방식이 변경되는 등의 다양한 변경 사항이 발생할 수 있다.
따라서, 데이터 가공 작업을 동시에 수행하고 있는 수많은 작업자들이 변경 사항을 인지하고 이를 작업에 반영하는 시점은 제각각이 될 수 있으며, 변경 사항이 제각각 반영된 작업 결과물을 일괄적으로 검수할 경우 오류를 검출하지 못할 위험이 있다.
대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)
본 발명의 일 목적은 많은 수의 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 단계별 작업 가이드를 제공할 수 있는 어노테이션 방법을 제공하는 것이다.
본 발명의 다른 목적은 단계별 작업 가이드를 제공할 수 있는 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능(AI) 학습용 데이터를 어노테이션하는 과정에서 단계별 작업 가이드를 제공할 수 있는 어노테이션 방법을 제안한다. 상기 방법은 어노테이션 장치가 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별하는 단계; 상기 어노테이션 장치가 상기 식별된 작업의 진행 상태를 기초로, 상기 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별하는 단계; 및 상기 어노테이션 장치가 사용자 인터페이스(User Interface, UI)를 통해, 상기 식별된 가이드 정보를 출력하는 단계를 포함할 수 있다.
여기서, 상기 어노테이션 작업 과정은 상기 어노테이션 작업의 대상이 되는 이미지의 로딩(loading) 과정, 상기 작업자에 의한 툴(tool)의 선택 과정, 상기 툴을 이용한 좌표의 입력 과정, 상기 좌표에 의한 바운딩 박스(bounding box)의 설정 과정, 상기 바운딩 박스에 의해 특정된 객체(object)의 속성 정보 입력 과정을 포함하여 구분되고, 상기 가이드 정보는 상기 어노테이션 작업의 각 과정에서 상기 작업자가 참고할 수 있도록, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다.
일 예로, 상기 가이드 정보를 식별하는 단계는 상기 식별된 작업의 진행 상태가 상기 이미지의 로딩 과정에 해당되는 경우, 사전에 설정된 상기 인공지능(AI) 학습과 관련된 프로젝트의 속성, 상기 이미지의 속성 또는 상기 작업자의 속성에 따라 상기 이미지 속에 포함될 것으로 예측되는 객체의 유형을 결정하고, 상기 결정된 유형의 객체를 특정하는데 사용할 수 있는 유형의 툴을 지시하는 정보가 포함된 가이드 정보를 식별할 수 있다.
다른 예로, 상기 가이드 정보를 식별하는 단계는 상기 식별된 작업의 진행 상태가 상기 작업자에 의한 툴 선택 과정에 해당되는 경우, 상기 작업자로부터 상기 제어 신호를 입력 받은 입출력 장치의 유형을 식별하고, 상기 식별된 유형의 입출력 장치를 이용하여 상기 작업자에 의해 선택된 툴을 사용하는 방법에 관한 정보가 포함된 가이드 정보를 식별할 수 있다.
다른 예로, 상기 가이드 정보를 식별하는 단계는 상기 식별된 작업의 진행 상태가 상기 툴을 이용한 좌표 입력 과정에 해당되는 경우, 상기 작업자에 의해 선택된 툴을 사용하여 바운딩 박스를 설정하는데 필요한 최소 좌표의 개수를 식별하고, 식별된 개수의 좌표를 지정하는 순서 및 위치에 관한 정보가 포함된 가이드 정보를 식별할 수 있다.
또 다른 예로, 상기 가이드 정보를 식별하는 단계는 상기 식별된 작업의 진행 상태가 상기 바운딩 박스의 설정 과정에 해당되는 경우, 상기 바운딩 박스를 구성하는 선분(line)과 객체의 외곽선으로부터의 최대 이격 픽셀의 수와, 객체가 인식될 수 있는 최소 영역의 크기 값에 관한 정보가 포함된 가이드 정보를 식별할 수 있다.
상기 가이드 정보를 출력하는 단계는 상기 가이드 정보를 출력한 이후, 상기 작업자에 의해 입력된 제어 신호를 기초로 상기 작업자가 상기 가이드 정보에 따라 작업을 수행하는지 판단하고, 상기 판단 결과 상기 작업자가 상기 가이드 정보를 따르지 않을 경우, 상기 사용자 인터페이스(UI)를 통해 상기 식별된 가이드 정보를 재출력할 수 있다.
또한, 상기 판단 결과 상기 작업자가 상기 가이드 정보를 따르지 않을 경우, 상기 식별된 작업의 진행 상태 및 상기 식별된 가이드 정보에 관한 정보를 사전에 설정된 학습 데이터 설계 장치에 전송할 수도 있다. 이 경우, 상기 학습 데이터 설계 장치는 상기 어노테이션 장치로부터 수신된 작업의 진행 상태 및 가이드 정보를 기초로, 상기 어노테이션 장치에 추후 배포할 가이드 정보를 재구성할 수 있다.
상기 가이드 정보를 출력하는 단계는 상기 식별된 가이드 정보가 사전에 설정된 중요 가이드에 해당하는 경우, 상기 식별된 가이드 정보에 따른 제어를 1회 이상 수행할 수 있도록 사전에 설정된 샘플 작업을 수행하도록 상기 사용자 인터페이스(UI)를 변경할 수 있다. 또한, 상기 가이드 정보를 출력하는 단계는 상기 샘플 작업의 수행 결과 및 수행 시각을 사전에 설정된 학습 데이터 설계 장치에 전송할 수도 있다. 이 경우, 상기 학습 데이터 설계 장치는 상기 어노테이션 장치로부터 수신된 샘플 작업의 수행 결과 및 수행 시각을 기초로, 상기 작업자에게 할당된 작업의 로드 밸런싱(load balancing)을 수행할 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 입출력장치(input output device); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서, 상기 입출력장치를 통해 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별하는 단계; 상기 프로세서가 상기 식별된 작업의 진행 상태를 기초로, 상기 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별하는 단계; 및 상기 프로세서가 상기 입출력장치의 사용자 인터페이스(UI)를 통해, 상기 식별된 가이드 정보를 출력하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 작업자들이 인공지능(AI) 학습을 위한 다수의 이미지에 대하여 어노테이션 작업을 수행함에 있어 작업 진행 상태에 대응하여 가이드 정보를 제공함으로써, 데이터 가공 규칙이 숙지되지 않은 작업자 또는 숙련도가 부족한 자업자라 할지라도 데이터 가공 규칙을 준수할 가능성이 높아지게 된다.
또한, 본 발명의 실시 예들에 따르면, 수많은 작업자들이 수행한 작업 결과물의 품질이 균일해질 수 있으며, 결과적으로 이미지 속에 포함된 객체의 인식률을 일정하게 보장할 수 있는 인공지능(AI) 학습용 데이터를 생성할 수 있게 된다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 5 내지 도 9는 본 발명의 일 실시예에 따라 가이드 정보를 제공하는 과정을 설명하기 위한 예시도이다.
도 10 내지 도 12는 본 발명의 일 실시예에 따라 변경된 가공 규칙을 공지하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 14는 본 발명의 일 실시예에 따라 가이드 정보 제공 방법을 설명하기 위한 순서도이다.
도 15는 본 발명은 일 실시예에 따라 공지 메시지 제공 방법을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
한편, 상술한 바와 같이, 데이터 가공 규칙은 수많은 작업자들이 어노테이션 작업을 수행함에 있어 공통적으로 준수해야 하는 규칙으로, 인공지능(AI)의 학습 목표 및 학습 방법론 등에 따라 다양하게 설정될 수 있다. 따라서, 이러한 데이터 가공 규칙이 명확하게 숙지되지 않은 작업자, 또는 숙련도가 아직 부족한 작업자는 자신에게 할당된 많은 양의 데이터를 가공하는 과정에서 데이터 가공 규칙의 일부를 준수하지 못할 위험이 있다.
또한, 많은 양의 데이터를 가공하기 위한 긴 작업 시간동안 인공지능(AI)의 학습 목표 및 학습 방법론 등이 변경되거나, 어노테이션에 이용되는 툴의 기능 업그레이드 등으로 조작 방식이 변경되는 등의 다양한 변경 사항이 발생할 수 있다. 따라서, 데이터 가공 작업을 동시에 수행하고 있는 수많은 작업자들이 변경 사항을 인지하고 이를 작업에 반영하는 시점은 제각각이 될 수 있으며, 변경 사항이 제각각 반영된 작업 결과물을 일괄적으로 검수할 경우 오류를 검출하지 못할 위험이 있다.
이러한 어려움을 극복하기 위하여, 본 발명은 작업자가 어노테이션 작업을 수행하는 과정에서 다양한 작업 가이드와 실시간 공지를 제공할 수 있는 수단들을 제안하고자 한다.
도 1 및 도 2는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 하나 이상의 어노테이션 장치(100-1, 100-2, 100-3, …, 100-n; 100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)를 포함하여 구성될 수 있다.
또한, 도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템은 어노테이션 장치(100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)가 공개된 네트워크(public network)를 통해 서로 연결될 수도 있다. 이 경우, 어노테이션 장치(100)의 일부는 클라우딩 서비스(clouding service)에 의해 어노테이션을 수행하는 장치가 될 수도 있다.
이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 어노테이션 장치(100)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 제공된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.
특히, 본 발명에 따른 어노테이션 장치(100)는 작업자(즉, 어노테이션 장치의 사용자)가 어노테이션 작업을 수행하는 과정에서 다양한 작업 가이드와 실시간 공지를 제공할 수 있는 특징을 가지고 있다.
이와 같은, 어노테이션 장치(100)는 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)와 각각 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.
예를 들어, 어노테이션 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.
상술한 바와 같은, 어노테이션 장치(100)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 3 내지 도 16을 참조하여 설명하기로 한다.
다음 구성으로, 학습 데이터 설계 장치(200)는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 설계 장치(200)는 기본적으로 인공지능 학습 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 인공지능 학습 장치(300)에 통합되어 구현될 수도 있다.
구체적으로, 학습 데이터 설계 장치(200)는 인공지능 학습 장치(300)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치(200)는 사용자의 제어 및 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.
보다 상세하게, 학습 데이터 설계 장치(200)는 인공지능(AI) 학습을 위한 데이터 가공을 위하여, 어노테이션의 대상이 되는 이미지를 어노테이션 장치(100)에 전송할 수 있다. 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 어노테이션 작업 결과물을 수신할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있다. 이와 다르게, 학습 데이터 설계 장치(200)는 JSON과 다른 형식의 어노테이션 작업 결과물을 수신한 후, 수신된 결과물을 기초로 JSON 파일을 생성할 수도 있다. 그리고, 학습 데이터 설계 장치(200)는 수신 또는 생성된 JSON 파일을 검수(inspection)한 후, 이를 패키징하여 인공지능 학습 장치(300)에 전송할 수 있다.
특히, 본 발명에 따른 학습 데이터 설계 장치(200)는 작업자가 어노테이션 작업을 수행하는 과정에서 참고할 수 있는 가이드 정보를 어노테이션 장치(100)들에게 배포(즉, 전송)할 수 있다.
여기서, 가이드 정보는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있도록 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다. 예를 들어, 가이드 정보는 이미지 속에 포함된 객체를 특정하는데 사용할 수 있는 툴의 종류, 툴의 사용 방법, 좌표의 지정 순서 및 위치, 바운딩 박스의 설정 규칙 등에 대한 정보를 포함할 수 있으며, 이에 한정되는 것은 아니다. 이와 같은, 가이드 정보에 포함된 정보는 작업 결과물에 미치는 영향의 정도에 따라 중요 가이드 또는 일반 가이드로 구분될 수 있다. 즉, 가이드 정보에 포함된 정보 중에서 작업 결과물에 미치는 영향의 정도가 상대적으로 큰 정보는 중요 가이드로 사전에 설정될 수 있다.
학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 작업자가 가이드 정보를 따르지 않는 작업의 진행 상태 및 작업자가 따르지 않는 가이드 정보를 수신하고, 이를 기초로 어노테이션 장치(100)에 추후 배포할 가이드 정보를 재구성할 수도 있다.
학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 샘플 작업의 수행 결과 및 수행 시각을 수신할 수 있다.
여기서, 샘플 작업은 가이드 정보에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다.
학습 데이터 설계 장치(200)는 수신된 샘플 작업의 수행 결과 및 수행 시각을 기초로, 해당 어노테이션 장치(100)의 작업자에게 할당된 작업의 로드 밸런싱(load balancing)을 수행할 수도 있다.
한편, 본 발명에 따른 학습 데이터 설계 장치(200)는 인공지능(AI) 학습용 데이터의 가공 규칙이 변경되는 경우, 가공 규칙의 변경을 알리는 신호를 어노테이션 장치(100)에 전송할 수 있다. 또한, 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 가공 규칙의 변경 여부가 질의(query)되면, 이에 대한 응답으로 가공 규칙의 변경 여부에 대한 결과를 어노테이션 장치(100)에 전송할 수 있다. 그리고, 학습 데이터 설계 장치(200)는 어노테이션 장치(100)의 요청에 따라, 변경된 가공 규칙을 어노테이션 장치(100)에 전송할 수 있다.
여기서, 가공 규칙은 인공지능(AI) 학습용 데이터의 가공을 위하여 어노테이션 작업을 수행하는 모든 작업자들이 공통적으로 준수해야하는 규칙으로, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 따라 다르게 설정될 수 있다. 예를 들어, 가공 규칙에는 객체 유형별로 반드시 사용해야 하는 툴의 종류, 각 툴의 사용 방법, 각 툴을 이용한 좌표의 지정 순서 및 위치, 바운딩 박스의 설정 규칙 등에 대한 정보를 포함할 수 있으며, 이에 한정되는 것은 아니다.
학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 작업자가 테스트 작업을 대상으로 어노테이션 작업을 수행한 결과 및 수행 시각을 수신할 수 있다.
여기서, 테스트 작업은 변경된 가공 규칙에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다.
학습 데이터 설계 장치(200)는 수신된 테스트 작업의 수행한 결과 및 수행 시각을 기초로, 해당 어노테이션 장치(100)의 작업자의 업무 평가 등급을 재조정할 수 있다.
여기서, 작업자의 업무 평가 등급은 작업자가 어노테이션 작업을 수행할 수 있는 능력치를 평가한 등급이다. 이와 같은, 작업자의 업무 평가 등급은 작업자에게 할당할 작업의 종류, 양(load) 또는 작업자에게 지급할 보수(pay)를 결정하는데 활용될 수 있으며, 이에 한정되지 않는다.
한편, 본 발명에 따른 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 작업자가 어노테이션 작업을 수행한 작업 결과물을 수시함에 있어, 변경된 가공 규칙이 반영되었는지 여부에 따라 두 개의 집합으로 분리된 작업 결과물을 수신할 수 있다. 이와 같은, 두 개의 집합으로 분리된 작업 결과물은 각각의 어노테이션 작업 과정에서 적용된 가공 규칙의 버전(version) 정보를 포함할 수 있다.
학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 수신된 버전 정보를 기준으로, 두 개의 집합으로 분리된 작업 결과물을 각각 검수(inspection)하기 위한 스크립트(script)를 생성할 수 있다.
또한, 학습 데이터 설계 장치(200)는 변경된 가공 규칙이 반영되기 이전에 작업된 작업 결과물을 폐기(discard) 또는 보완(complement) 작업을 수행할지 여부에 대한 지시를 어노테이션 장치(100)에 전송할 수도 있다.
이와 같은, 학습 데이터 설계 장치(200)는 어노테이션 장치(100) 및 인공지능 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 설계 장치(200)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 인공지능 학습 장치(300)는 인공지능(AI) 학습용 데이터를 기초로, 인공지능(AI)의 기계 학습을 수행하는데 사용될 수 있는 장치이다.
구체적으로, 인공지능 학습 장치(300)는 학습 데이터 설계 장치(200)로부터 패키징된 JSON 파일을 수신할 수 있다. 그리고, 인공지능 학습 장치(300)는 수신된 JSON 파일을 이용하여 인공지능(AI)의 기계 학습을 수행할 수 있다.
이와 같은, 인공지능 학습 장치(300)는 학습 데이터 설계 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
상술한 바와 같은, 하나 이상의 어노테이션 장치(100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(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에 도시된 바와 같이, 어노테이션 장치(100)는 통신부(105), 입출력부(110), 저장부(115), 어노테이션 작업부(120), 품질 관리부(125) 및 결과물 생성부(130)를 포함하여 구성될 수 있다.
이와 같은, 어노테이션 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(105)는 학습 데이터 설계 장치(200)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(105)는 학습 데이터 설계 장치(200)로부터 하나 이상의 이미지를 수신할 수 있다. 여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 이미지는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)가 설계한 데이터 가공 계획에 따라, 어노테이션 작업의 대상이 되는 이미지를 개별적으로 수신하거나, 또는 복수 개의 이미지를 일괄적으로 수신할 수 있다.
통신부(150)는 학습 데이터 설계 장치(200)로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다. 여기서, 프로젝트의 속성에는 인공지능(AI)의 학습과 관련된 프로젝트에 대한 학습 목적, 학습 기간, 학습에 필요한 이미지의 수, 이미지에서 식별하고자 하는 객체의 속성, 바운딩 박스 설정 규칙 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 이미지의 속성에는 이미지의 파일명, 이미지의 크기(너비, 높이), 해상도, 비트 수준, 압축 형식, 촬영 장치명, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 값, 촬영 장소 좌표(GPS 위도, 경도), 촬영 시각 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 작업자의 속성에는 작업자의 명칭, 식별번호, 할당된 작업량, 작업에 따른 비용, 작업 결과 평가 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
통신부(105)는 학습 데이터 설계 장치(200)로부터 가이드 정보를 수신할 수 있다. 여기서, 가이드 정보는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있도록 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다. 이와 같은, 가이드 정보에 포함된 정보는 작업 결과물에 미치는 영향의 정도에 따라 중요 가이드 또는 일반 가이드로 구분될 수 있다.
통신부(105)는 학습 데이터 설계 장치(200)로부터 가공 규칙을 수신할 수 있다. 여기서, 가공 규칙은 인공지능(AI) 학습용 데이터의 가공을 위하여 어노테이션 작업을 수행하는 모든 작업자들이 공통적으로 준수해야하는 규칙으로, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 따라 다르게 설정될 수 있다.
통신부(105)는 학습 데이터 설계 장치(200)로부터 테스트 작업을 수행하기 위한 데이터를 수신할 수 있다. 여기서, 테스트 작업은 변경된 가공 규칙에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다.
통신부(105)는 작업자가 가이드 정보를 따르지 않는 작업의 진행 상태 및 작업자가 따르지 않는 가이드 정보를 학습 데이터 설계 장치(200)에 전송할 수 있다. 통신부(105)는 작업자가 수행한 샘플 작업의 수행 결과 및 수행 시각을 학습 데이터 설계 장치(200)에 전송할 수 있다. 통신부(105)는 작업자가 테스트 작업을 수행한 결과 및 수행 시각을 학습 데이터 설계 장치(200)에 전송할 수 있다.
그리고, 통신부(105)는 어노테이션의 작업 결과물을 학습 데이터 설계 장치(200)에 전송할 수 있다. 여기서, 작업 결과물은 작업자의 제어에 따라 설정된 바운딩 박스의 좌표 및 객체의 속성 정보가 포함될 수 있다. 또한, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
특히, 통신부(105)는 어노테이션 이노베이션의 작업 과정에서 가공 규칙이 변경된 경우, 가공 규칙이 반영되었는지 여부에 따라 작업 결과물을 두 개로 분리하여 학습 데이터 설계 장치(200)에 전송할 수 있다.
다음 구성으로, 입출력부(110)는 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 신호를 입력 거나, 또는 연산된 결과를 외부로 출력할 수 있다.
여기서, 작업자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 작업자는 사용자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.
구체적으로, 입출력부(110)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.
여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.
입출력부(110)는 객체의 속성 정보를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 여기서, 또한, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.
입출력부(110)는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있는 가이드 정보를 출력할 수 있다. 입출력부(110)는 가이드 정보에 따른 제어를 1회 이상 수행해볼 수 있는 샘플 작업을 출력할 수 있다.
그리고, 입출력부(110)는 변경된 가공 규칙을 알리기 위한 공지 메시지를 출력할 수 있다. 입출력부(110)는 변경된 가공 규칙에 따른 제어를 1회 이상 수행해볼 수 있는 테스트 작업을 출력할 수 있다.
다음 구성으로, 저장부(115)는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(115)는 통신부(105)를 통해 수신된 이미지를 저장할 수 있다. 저장부(115)는 통신부(105)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다.
저장부(115)는 통신부(105)를 통해 수신된 가이드 정보 및 가공 규칙을 저장할 수 있다.
다음 구성으로, 어노테이션 작업부(120)는 인공지능(AI) 학습을 위한 데이터의 어노테이션 작업을 수행할 수 있다.
구체적으로, 어노테이션 작업부(120)는 어노테이션 작업의 대상이 되는 이미지를 메모리로 로딩할 수 있다. 어노테이션 작업부(120)는 입출력부(110)를 통해 입력된 작업자의 제어 신호에 따라 툴을 선택할 수 있다. 여기서, 툴(tool)은 이미지 속에 포함되어 있는 하나 이상의 객체를 특정하는 바운딩 박스를 설정하기 위한 도구이다.
어노테이션 작업부(120)는 입출력부(110)를 통해 입력된 제어 신호에 따라, 선택된 툴을 통한 좌표를 입력 받을 수 있다. 어노테이션 작업부(120)는 입력된 좌표를 기초로, 이미지 속 객체를 특정하기 위한 바운딩 박스를 설정할 수 있다. 여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.
예를 들어, 어노테이션 작업부(120)는 입출력부(110)를 통해 작업자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 두 개의 좌표는 작업자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 작업자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.
그리고, 어노테이션 작업부(120)는 입출력부(110)를 통해 입력된 제어 신호에 따라, 바운딩 박스에 의해 특정된 객체의 속성 정보를 설정할 수 있다. 여기서, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.
다음 구성으로, 품질 관리부(125)는 어노테이션 작업부(120)를 통해 어노테이션 작업이 이루어지는 과정에서 작업의 품질을 관리할 수 있다.
우선적으로, 본 발명의 일 실시예에 따른 품질 관리부(125)는 어노테이션 작업의 각 과정에서 가이드 정보를 제공할 수 있다.
구체적으로, 품질 관리부(125)는 어노테이션 작업부(120)를 통한 어노테이션 작업이 이루어지는 과정에서, 입출력부(110)를 통해 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별할 수 있다.
여기서, 어노테이션 작업 과정은 어노테이션 작업의 대상이 되는 이미지의 로딩 과정, 작업자에 의한 툴의 선택 과정, 툴을 이용한 좌표의 입력 과정, 좌표에 의한 바운딩 박스의 설정 과정, 바운딩 박스에 의해 특정된 객체의 속성 정보 입력 과정을 포함하여 구분될 수 있다.
예를 들어, 품질 관리부(125)는 작업자로부터 입력된 제어 신호의 유형이 이미지를 로딩하기 위한 메뉴 아이콘(icon)을 선택하거나, 저장장치에 저장된 이미지의 위치를 탐색하는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 이미지의 로딩 과정에 해당되는 것으로 판단할 수 있다.
품질 관리부(125)는 작업자로부터 입력된 제어 신호의 유형이 이미지 로딩 이후 툴바(toolbar)를 향하여 입력 커서(cursor)를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 툴의 선택 과정에 해당되는 것으로 판단할 수 있다.
품질 관리부(125)는 작업자로부터 입력된 제어 신호의 유형이 툴이 선택된 이후 이미지 내부에서 입력 커서를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 좌표의 입력 과정에 해당되는 것으로 판단할 수 있다.
품질 관리부(125)는 작업자로부터 입력된 제어 신호의 유형이 선택된 툴을 이용하여 입력할 수 있는 좌표들 중에서 마지막 좌표를 입력하는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 바운딩 박스의 설정 과정에 해당되는 것으로 판단할 수 있다.
그리고, 품질 관리부(125)는 작업자로부터 입력된 제어 신호의 유형이 바운딩 박스가 설정된 이후 속성 입력 창을 향하여 입력 커서를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 객체의 속성 정보 입력 과정에 해당되는 것으로 판단할 수 있다.
지금까지 상술한 작업 진행 상태를 식별하는 제어 신호의 유형은 하나의 예시에 불과하며, 이와 다른 제어 신호의 유형에 따라 작업 진행 상태를 식별할 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.
다음으로, 품질 관리부(125)는 식별된 작업의 진행 상태를 기초로 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별할 수 있다.
예를 들어, 품질 관리부(125)는 식별된 작업의 진행 상태가 이미지의 로딩 과정에 해당되는 경우, 사전에 설정된 상기 인공지능(AI) 학습과 관련된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라 이미지 속에 포함될 것으로 예측되는 객체의 유형을 결정하고, 결정된 유형의 객체를 특정하는데 사용할 수 있는 유형의 툴을 지시하는 정보가 포함된 가이드 정보를 식별할 수 있다.
품질 관리부(125)는 식별된 작업의 진행 상태가 작업자에 의한 툴 선택 과정에 해당되는 경우, 작업자로부터 제어 신호를 입력 받은 입출력 장치의 유형을 식별하고, 식별된 유형의 입출력 장치를 이용하여 작업자에 의해 선택된 툴을 사용하는 방법에 관한 정보가 포함된 가이드 정보를 식별할 수 있다. 여기서, 입출력 장치의 유형에는 마우스, 키보드, 조이스틱, 터치패드 및 터치 스크린이 포함될 수 있으나, 이에 한정되는 것은 아니다.
품질 관리부(125)는 식별된 작업의 진행 상태가 툴을 이용한 좌표 입력 과정에 해당되는 경우, 작업자에 의해 선택된 툴을 사용하여 바운딩 박스를 설정하는데 필요한 최소 좌표의 개수를 식별하고, 식별된 개수의 좌표를 지정하는 순서 및 위치에 관한 정보가 포함된 가이드 정보를 식별할 수 있다.
품질 관리부(125)는 식별된 작업의 진행 상태가 바운딩 박스의 설정 과정에 해당되는 경우, 바운딩 박스를 구성하는 선분(line)과 객체의 외곽선으로부터의 최대 이격 픽셀(pixel)의 수와, 객체가 인식될 수 있는 최소 영역의 크기 값에 관한 정보가 포함된 가이드 정보를 식별할 수 있다.
품질 관리부(125)는 식별된 작업의 진행 상태가 객체의 속성 정보 입력 과정에 해당되는 경우, 바운딩 박스 내에 포함된 객체의 속성에 따라 입력될 수 있는 속성 정보에 관한 정보가 포함된 가이드 정보를 식별할 수 있다.
지금까지 상술한 가이드 정보에 포함된 정보들은 하나의 예시에 불과하며, 이와 다른 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있는 다양한 정보가 포함될 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.
다음으로, 품질 관리부(125)는 입출력부(110)의 사용자 인터페이스(User Interface, UI)를 통해, 식별된 가이드 정보를 출력할 수 있다.
이 경우, 품질 관리부(125)는 가이드 정보가 일차적으로 출력된 이후, 작업자에 의해 입력된 제어 신호를 기초로 작업자가 출력된 가이드 정보에 따라 작업을 수행하는지 판단할 수 있다. 판단 결과, 작업자가 출력된 가이드 정보를 따르지 않을 경우, 품질 관리부(125)는 입출력부(110)의 사용자 인터페이스(UI)를 통해 가이드 정보를 재출력할 수 있다. 또한, 품질 관리부(125)는 작업자가 따르지 않는 작업의 진행 상태 및 작업자가 따르지 않는 가이드 정보를 학습 데이터 설계 장치(200)에 전송할 수 있다.
또한, 품질 관리부(125)는 식별된 가이드 정보가 사전에 설정된 중요 가이드에 해당하는 경우, 식별된 가이드 정보에 대응하는 샘플 작업을 수행하도록 입출력부(110)의 사용자 인터페이스(UI)를 변경할 수 있다. 여기서, 샘플 작업은 가이드 정보에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다. 그리고, 품질 관리부(125)는 샘플 작업의 수행 결과 및 수행 시각을 학습 데이터 설계 장치(200)에 전송할 수 있다.
본 발명의 다른 실시예에 따른 품질 관리부(125)는 어노테이션 작업이 이루어지는 과정에서 실시간 공지를 제공할 수 있다.
구체적으로, 품질 관리부(125)는 어노테이션 작업부(120)를 통한 어노테이션 작업이 이루어지는 과정에서, 인공지능(AI) 학습용 데이터의 가공 규칙이 변경되었는지 판단할 수 있다. 여기서, 가공 규칙은 인공지능(AI) 학습용 데이터의 가공을 위하여 어노테이션 작업을 수행하는 모든 작업자들이 공통적으로 준수해야하는 규칙으로, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 따라 다르게 설정될 수 있다.
예를 들어, 품질 관리부(125)는 학습 데이터 설계 장치(200)로부터 수신된 가공 규칙의 변경을 알리는 신호, 또는 사전에 설정된 주기마다 학습 데이터 설계 장치(200)에 가공 규칙의 변경 여부를 질의한 결과를 기초로, 가공 규칙이 변경되었는지 여부를 판단할 수 있다.
품질 관리부(125)는 가공 규칙이 변경된 것으로 판단된 경우, 작업자에게 할당된 작업과 관련되어 변경된 가공 규칙을 포함시켜 공지 메시지를 구성할 수 있다. 그리고, 품질 관리부(125)는 입출력부(110)의 사용자 인터페이스(UI)를 통해, 구성된 공지 메시지를 출력할 수 있다.
이 경우, 품질 관리부(125)는 공지 메시지가 일차적으로 출력된 이후, 작업자에 의해 입력된 제어 신호를 기초로 작업자가 변경된 가공 규칙에 따라 작업을 수행하는지 판단할 수 있다. 판단 결과, 작업자가 변경된 가공 규칙을 따르지 않을 경우, 품질 관리부(125)는 입출력부(110)의 사용자 인터페이스(UI)를 통해 공지 메시지를 재출력할 수 있다.
다음으로, 품질 관리부(125)는 변경된 가공 규칙에 대응하는 테스트 작업을 대상으로 작업자가 어노테이션 작업을 수행할 수 있도록 제어할 수 있다. 여기서, 테스트 작업은 변경된 가공 규칙에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다. 이 경우, 품질 관리부(125)는 작업자에게 테스트 작업을 진행함을 명시적으로 안내한 이후, 테스트 작업을 대상으로 하는 어노테이션 작업의 제어를 수행할 수 있다.
이와 다르게, 품질 관리부(125)는 작업자에게 테스트 작업을 진행함을 묵시적으로 숨긴 상태에서, 테스트 작업을 대상으로 하는 어노테이션 작업의 제어를 수행할 수 있다. 특히, 품질 관리부(125)는 작업자에게 사전에 할당된 작업들 사이에 테스트 작업을 무작위(randomly)로 삽입하여, 상기 작업자가 테스트 작업을 인지하지 못한 상태에서 어노테이션 작업을 수행하도록 제어할 수도 있다.
그리고, 품질 관리부(125)는 작업자가 테스트 작업을 대상으로 어노테이션 작업을 수행한 결과 및 수행 시각을 로컬 저장장치(local storage)에 로깅(logging)한 이후, 이를 학습 데이터 설계 장치(200)에 전송할 수 있다.
다음 구성으로, 결과물 생성부(130)는 어노테이션의 작업 결과물을 생성하여, 학습 데이터 설계 장치(200)에 전송할 수 있다.
구체적으로, 결과물 생성부(130)는 어노테이션 작업부(120)를 통해 설정된 바운딩 박스의 위치 및 크기에 따른 좌표와, 설정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다. 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.
그리고, 결과물 생성부(130)는 생성된 어노테이션의 작업 결과물을 통신부(105)를 통해 학습 데이터 설계 장치(200)에 전송할 수 있다.
특히, 결과물 생성부(130)는 품질 관리부(125)를 통해 작업자가 변경된 가공 규칙에 따르는 것으로 판단된 경우, 품질 관리부(125)에 의한 공지 메시지의 출력 시점을 기준으로, 작업자가 어노테이션 작업을 수행한 작업 결과물을 두 개의 집합으로 분리할 수 있다.
결과물 생성부(125)는 두 개의 집합으로 분리된 작업 결과물을 학습 데이터 설계 장치(200)에 전송할 수 있다. 이 경우, 두 개의 집합으로 분리된 작업 결과물에는 각각에 적용된 가공 규칙의 버전 정보가 포함될 수 있다.
이와 다르게, 결과물 생성부(125)는 두 개의 집합으로 분리된 작업 결과물 중에서 공지 메시지의 출력 시점 이후에 작업된 작업 결과물만을 학습 데이터 설계 장치(200)에 전송할 수 있다. 결과물 생성부(125)는 공지 메시지의 출력 시점 이전에 작업된 작업 결과물이 폐기 또는 보완 작업의 대상으로 분류될 수 있도록, 두 개의 집합으로 분리된 작업 결과물 중에서 공지 메시지의 출력 시점 이전에 작업된 작업 결과물만을 별도로 패키징(packaging)할 수 있다. 그리고, 결과물 생성부(125)는 학습 데이터 설계 장치(200)로부터 추가적으로 수신된 지시에 따라, 별도로 패키징된 작업 결과물을 폐기하거나 또는 보완 작업 대상으로 설정할 수 있다.
이하, 상술한 바와 같은 어노테이션 장치(100)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 4에 도시된 바와 같이, 어노테이션 장치(100)는 프로세서(Processor, 150), 메모리(Memory, 155), 송수신기(Transceiver, 160), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 170) 및 스토리지(Storage, 175)를 포함하여 구성될 수 있다.
프로세서(150)는 메모리(155)에 상주된 어노테이션 방법이 구현된 소프트웨어(180a)에 따른 명령어를 기초로, 어노테이션 장치(100)의 동작 및 기능을 구현할 수 있다. 메모리(155)에는 어노테이션 방법이 구현된 소프트웨어(180a)가 상주(loading)될 수 있다. 송수신기(160)는 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(165)는 어노테이션 장치(100)의 동작에 필요한 데이터를 입력 받고, 이미지, 가이드 정보 및 공지 메시지를 출력할 수 있다. 데이터 버스(170)는 프로세서(150), 메모리(155), 송수신기(160), 입출력장치(165) 및 스토리지(175)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(175)는 어노테이션 방법이 구현된 소프트웨어(180a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(175)는 어노테이션 방법이 구현된 소프트웨어(180b)를 저장할 수 있다. 또한, 스토리지(175)는 어노테이션 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지(175)는 어노테이션 작업의 대상이 되는 이미지, 가이드 정보, 가공 규칙, 샘플 작업에 관한 정보 및 테스트 작업에 관한 정보 등을 저장하는 데이터베이스(185)를 포함할 수 있다.
본 발명의 제1 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서 입출력장치(165)를 통해 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별하는 단계, 프로세서(150)가 식별된 작업의 진행 상태를 기초로 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별하는 단계, 및 프로세서(150)가 입출력장치(165)의 사용자 인터페이스(UI)를 통해 가이드 정보를 출력하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 제2 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 인공지능(AI) 학습을 위한 어노테이션 작업 과정에서 인공지능(AI) 학습용 데이터의 가공 규칙이 변경되었는지 판단하는 단계, 프로세서(150)가 가공 규칙이 변경된 것으로 판단된 경우 작업자에게 할당된 작업과 관련되어 변경된 가공 규칙을 포함시켜 공지 메시지를 구성하는 단계, 및 프로세서(150)가 입출력장치(165)의 사용자 인터페이스(UI)를 통해 공지 메시지를 출력하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(150)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(155)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(160)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(165)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(155)에 상주되고, 프로세서(150)에 의해 실행될 수 있다. 메모리(155)는 프로세서(150)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(150)와 연결될 수 있다.
도 4에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 5 내지 도 9는 본 발명의 일 실시예에 따라 가이드 정보를 제공하는 과정을 설명하기 위한 예시도이다.
도 5 내지 도 9를 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 작업자의 어노테이션 작업이 이루어지는 과정에서, 작업자가 참고할 수 있는 가이드 정보를 제공할 수 있다. 여기서, 가이드 정보는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있도록 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다.
보다 구체적으로, 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 소프트웨어(10) 상에서 작업자로부터 입력된 제어 신호의 유형이 이미지(30)를 로딩하기 위한 메뉴 아이콘을 선택하거나, 저장장치에 저장된 이미지(30)의 위치를 탐색하는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 이미지(30)의 로딩 과정에 해당되는 것으로 판단할 수 있다.
이 경우, 어노테이션 장치(100)는 사전에 설정된 상기 인공지능(AI) 학습과 관련된 프로젝트의 속성, 이미지(30)의 속성 또는 작업자의 속성에 따라 이미지(30) 속에 포함될 것으로 예측되는 객체(40)의 유형을 결정하고, 결정된 유형의 객체(40)를 특정하는데 사용할 수 있는 유형의 툴(51)을 지시하는 정보가 포함된 가이드 정보(20)를 식별할 수 있다.
그리고, 어노테이션 장치(100)는 식별된 가이드 정보(20)를 사용자 인터페이스(UI)를 통해 출력할 수 있다.
도 6에 도시된 바와 같이, 어노테이션 장치(100)는 소프트웨어(10) 상에서 작업자로부터 입력된 제어 신호의 유형이 이미지(40) 로딩 이후 툴바(toolbar)를 향하여 입력 커서(cursor)를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 툴의 선택 과정에 해당되는 것으로 판단할 수 있다.
이 경우, 어노테이션 장치(100)는 작업자로부터 제어 신호를 입력 받은 입출력 장치의 유형을 식별하고, 식별된 유형의 입출력 장치를 이용하여 작업자에 의해 선택된 툴(50)을 사용하는 방법에 관한 정보가 포함된 가이드 정보(20)를 식별할 수 있다. 여기서, 입출력 장치의 유형에는 마우스, 키보드, 조이스틱, 터치패드 및 터치 스크린이 포함될 수 있으나, 이에 한정되는 것은 아니다.
그리고, 어노테이션 장치(100)는 식별된 가이드 정보(20)를 사용자 인터페이스(UI)를 통해 출력할 수 있다.
도 7에 도시된 바와 같이, 어노테이션 장치(100)는 소프트웨어(10) 상에서 작업자로부터 입력된 제어 신호의 유형이 툴이 선택된 이후 이미지(40) 내부에서 입력 커서를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 좌표의 입력 과정에 해당되는 것으로 판단할 수 있다.
이 경우, 어노테이션 장치(100)는 작업자에 의해 선택된 툴을 사용하여 바운딩 박스를 설정하는데 필요한 최소 좌표(61, 62)의 개수를 식별하고, 식별된 개수의 좌표(61, 62)를 지정하는 순서 및 위치에 관한 정보가 포함된 가이드 정보(20)를 식별할 수 있다.
그리고, 어노테이션 장치(100)는 식별된 가이드 정보(20)를 사용자 인터페이스(UI)를 통해 출력할 수 있다.
도 8에 도시된 바와 같이, 어노테이션 장치(100)는 소프트웨어(10) 상에서 작업자로부터 입력된 제어 신호의 유형이 선택된 툴을 이용하여 입력할 수 있는 좌표들 중에서 마지막 좌표를 입력하는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 바운딩 박스(60)의 설정 과정에 해당되는 것으로 판단할 수 있다.
이 경우, 어노테이션 장치(100)는 바운딩 박스(60)를 구성하는 선분(line)과 객체의 외곽선으로부터의 최대 이격 픽셀(pixel)의 수와, 객체가 인식될 수 있는 최소 영역의 크기 값에 관한 정보가 포함된 가이드 정보(20)를 식별할 수 있다.
그리고, 어노테이션 장치(100)는 식별된 가이드 정보(20)를 사용자 인터페이스(UI)를 통해 출력할 수 있다.
도 9에 도시된 바와 같이, 어노테이션 장치(100)는 소프트웨어(10) 상에서 작업자로부터 입력된 제어 신호의 유형이 바운딩 박스(60)가 설정된 이후 속성 입력 창을 향하여 입력 커서를 이동시키는 명령에 해당되는 경우, 어노테이션 작업의 진행 상태가 객체(40)의 속성 정보 입력 과정에 해당되는 것으로 판단할 수 있다.
이 경우, 어노테이션 장치(100)는 바운딩 박스(60) 내에 포함된 객체(40)의 속성에 따라 입력될 수 있는 속성 정보에 관한 정보가 포함된 가이드 정보(20)를 식별할 수 있다.
그리고, 어노테이션 장치(100)는 식별된 가이드 정보(20)를 사용자 인터페이스(UI)를 통해 출력할 수 있다.
상술한 바와 같은 본 발명의 실시예에 따르면, 작업자들이 인공지능(AI) 학습을 위한 다수의 이미지(30)에 대하여 어노테이션 작업을 수행함에 있어, 작업 진행 상태에 대응하여 가이드 정보(20)를 제공함으로써, 데이터 가공 규칙이 숙지되지 않은 작업자 또는 숙련도가 부족한 자업자라 할지라도 데이터 가공 규칙을 준수할 가능성이 높아지게 된다.
또한, 본 발명의 실시 예들에 따르면, 수많은 작업자들이 수행한 작업 결과물의 품질이 균일해질 수 있으며, 결과적으로 이미지(30) 속에 포함된 객체(40)의 인식률을 일정하게 보장할 수 있는 인공지능(AI) 학습용 데이터를 생성할 수 있게 된다.
도 10 내지 도 12는 본 발명의 일 실시예에 따라 변경된 가공 규칙을 공지하는 과정을 설명하기 위한 예시도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 작업자의 어노테이션 작업이 이루어지는 과정에서, 인공지능(AI) 학습용 데이터의 가공 규칙이 변경되었는지 판단할 수 있다. 여기서, 가공 규칙은 인공지능(AI) 학습용 데이터의 가공을 위하여 어노테이션 작업을 수행하는 모든 작업자들이 공통적으로 준수해야하는 규칙으로, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 따라 다르게 설정될 수 있다.
어노테이션 장치(100)는 가공 규칙이 변경된 것으로 판단된 경우, 작업자에게 할당된 작업과 관련되어 변경된 가공 규칙을 포함시켜 공지 메시지(70)를 구성할 수 있다. 그리고, 품질 관리부(125)는 소프트웨어(10) 상의 사용자 인터페이스(UI)를 통해 구성된 공지 메시지(70)를 출력할 수 있다.
도 11을 참조하면, 공지 메시지가 일차적으로 출력된 이후, 어노테이션 장치(100)는 변경된 가공 규칙에 대응하는 테스트 작업(80)을 대상으로 작업자가 어노테이션 작업을 수행할 수 있도록 제어할 수 있다. 여기서, 테스트 작업(80)은 변경된 가공 규칙에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다.
특히, 어노테이션 장치(100)는 작업자에게 테스트 작업(80)을 진행함을 명시적으로 안내한 이후, 테스트 작업(80)을 대상으로 하는 어노테이션 작업의 제어를 수행할 수 있다. 이와 다르게, 어노테이션 장치(100)는 작업자에게 테스트 작업(80)을 진행함을 묵시적으로 숨긴 상태에서, 테스트 작업(80)을 대상으로 하는 어노테이션 작업의 제어를 수행할 수 있다.
어노테이션 장치(100)는 작업자가 테스트 작업(80)을 대상으로 어노테이션 작업을 수행한 결과 및 수행 시각을 로컬 저장장치(local storage)에 로깅(logging)한 이후, 이를 학습 데이터 설계 장치(200)에 전송할 수 있다.
그리고, 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 수신된 테스트 작업에 대한 수행 결과 및 수행 시각을 기초로, 해당 어노테이션 장치(100)의 작업자의 업무 평가 등급을 재조정할 수 있다. 여기서, 작업자의 업무 평가 등급은 작업자가 어노테이션 작업을 수행할 수 있는 능력치를 평가한 등급이다. 이와 같은, 작업자의 업무 평가 등급은 작업자에게 할당할 작업의 종류, 양(load) 또는 작업자에게 지급할 보수(pay)를 결정하는데 활용될 수 있으며, 이에 한정되지 않는다.
도 12를 참조하면, 어노테이션 장치(100)는 공지 메시지(70)의 출력 시점을 기준으로, 작업자가 어노테이션 작업을 수행한 작업 결과물을 두 개의 집합으로 분리할 수 있다(90-a, 90-b).
어노테이션 장치(100)는 두 개의 집합으로 분리된 작업 결과물(90-a, 90-b)을 학습 데이터 설계 장치(200)에 전송할 수 있다. 이 경우, 두 개의 집합으로 분리된 작업 결과물(90-a, 90-b)에는 각각에 적용된 가공 규칙의 버전 정보가 포함될 수 있다.
그리고, 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 수신된 버전 정보를 기준으로, 두 개의 집합으로 분리된 작업 결과물(90-a, 90-b)을 각각 검수(inspection)하기 위한 스크립트(script)를 생성할 수 있다.
상술한 바와 같은 본 발명의 실시예에 따르면, 작업자들이 인공지능(AI) 학습을 위한 다수의 이미지에 대하여 어노테이션 작업을 수행하는 과정에서 데이터의 가공 규칙이 갑작스럽게 변경되더라도, 변경된 가공 규칙 등에 대한 공지(70)를 실시간으로 안내함으로써, 작업자가 변경된 데이터 가공 규칙을 즉각적으로 인지하고 이를 반영하여 작업을 수행할 수 있게 된다.
또한, 본 발명의 실시 예들에 따르면, 데이터의 가공 규칙이 변경된 시점이 아닌, 작업자가 변경된 데이터 가공 규칙을 반영한 시점을 명확히 특정함으로써, 작업 결과물(90-a, 90-b)의 검수 기준을 명확히 결정할 수 있게 된다.
도 13은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 작업자로부터 입력된 제어 신호에 따라, 어노테이션 작업의 대상이 되는 이미지를 메모리로 로딩할 수 있다(S110).
어노테이션 장치(100)는 작업자로부터 입력된 제어 신호에 따라, 툴을 선택할 수 있다(S120). 여기서, 툴(tool)은 이미지 속에 포함되어 있는 하나 이상의 객체를 특정하는 바운딩 박스를 설정하기 위한 도구이다(S130).
어노테이션 장치(100)는 작업자로부터 입력된 제어 신호에, 선택된 툴을 통한 좌표를 입력 받을 수 있다(S130). 어노테이션 장치(100)는 입력된 좌표를 기초로, 이미지 속 객체를 특정하기 위한 바운딩 박스를 설정할 수 있다(S140). 여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.
어노테이션 장치(100)는 작업자로부터 입력된 제어 신호에 따라, 바운딩 박스에 의해 특정된 객체의 속성 정보를 설정할 수 있다(S150). 여기서, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.
어노테이션 장치(100)는 설정된 바운딩 박스의 위치 및 크기에 따른 좌표와, 설정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다(S160). 그리고, 어노테이션 장치(100)는 생성된 어노테이션의 작업 결과물을 학습 데이터 설계 장치(200)에 전송할 수 있다(S170).
특히, 본 발명의 일 실시예에 따른 어노테이션 방법의 이미지 로딩(S110) 단계에서 속성 정보를 설정하는 단계(150)가 진행되는 과정에서 가이드 정보를 제공하거나, 공지 메시지를 제공할 수 있다. 이하, 이와 같은 특징들에 대하여 도 14 및 도 15를 참조하여 설명한다.
도 14는 본 발명의 일 실시예에 따라 가이드 정보 제공 방법을 설명하기 위한 순서도이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 어노테이션 작업이 이루어지는 과정에서, 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별할 수 있다(S210). 여기서, 어노테이션 작업 과정은 어노테이션 작업의 대상이 되는 이미지의 로딩 과정, 작업자에 의한 툴의 선택 과정, 툴을 이용한 좌표의 입력 과정, 좌표에 의한 바운딩 박스의 설정 과정, 바운딩 박스에 의해 특정된 객체의 속성 정보 입력 과정을 포함하여 구분될 수 있다.
어노테이션 장치(100)는 식별된 작업의 진행 상태를 기초로 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별할 수 있다(S220). 여기서, 가이드 정보는 어노테이션 작업의 각 과정에서 작업자가 참고할 수 있도록 인공지능(AI) 학습의 목표 및 학습 방법론에 대응하여 사전에 설정된 정보가 될 수 있다. 예를 들어, 가이드 정보는 이미지 속에 포함된 객체를 특정하는데 사용할 수 있는 툴의 종류, 툴의 사용 방법, 좌표의 지정 순서 및 위치, 바운딩 박스의 설정 규칙 등에 대한 정보를 포함할 수 있으며, 이에 한정되는 것은 아니다.
그리고, 어노테이션 장치(100)는 사용자 인터페이스(UI)를 통해, 식별된 가이드 정보를 출력할 수 있다(S230).
상술한 바와 같은, 가이드 정보를 제공하는 방법은 작업자가 어노테이션 작업을 수행하는 과정에서 병렬적으로 수행될 수 있다.
도 15는 본 발명은 일 실시예에 따라 공지 메시지 제공 방법을 설명하기 위한 순서도이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 어노테이션 작업이 이루어지는 과정에서, 인공지능(AI) 학습용 데이터의 가공 규칙이 변경되었는지 판단할 수 있다(S310). 여기서, 가공 규칙은 인공지능(AI) 학습용 데이터의 가공을 위하여 어노테이션 작업을 수행하는 모든 작업자들이 공통적으로 준수해야하는 규칙으로, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 따라 다르게 설정될 수 있다.
판단 결과, 가공 규칙이 변경되지 않은 것으로 판단된 경우, 어노테이션 장치(100)는 이하의 단계를 수행하지 않을 수 있다. 이와 다르게, 가공 규칙이 변경된 것으로 판단된 경우, 어노테이션 장치(100)는 작업자에게 할당된 작업과 관련되어 변경된 가공 규칙을 포함시켜 공지 메시지를 구성할 수 있다(S320).
어노테이션 장치(100)는 사용자 인터페이스(UI)를 통해, 구성된 공지 메시지를 출력할 수 있다(S330).
그리고, 어노테이션 장치(100)는 변경된 가공 규칙에 대응하는 테스트 작업을 대상으로 작업자가 어노테이션 작업을 수행할 수 있도록 제어할 수 있다(S340). 여기서, 테스트 작업은 변경된 가공 규칙에 따른 제어를 1회 이상 수행해볼 수 있도록 사전에 설정된 어노테이션 작업이다. 나아가, 어노테이션 장치(100)는 작업자가 테스트 작업을 대상으로 어노테이션 작업을 수행한 결과 및 수행 시각을 로컬 저장장치에 로깅한 이후, 이를 학습 데이터 설계 장치(200)에 전송할 수도 있다.
상술한 바와 같은, 공지 메시지를 제공하는 방법은 작업자가 어노테이션 작업을 수행하는 과정에서 병렬적으로 수행될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
어노테이션 장치: 100-1, 100-2, 100-3, …, 100-n; 100
학습 데이터 설계 장치: 200 인공지능 학습 장치: 300
통신부: 105 입출력부: 110
저장부: 115 어노테이션 작업부: 120
품질 관리부: 125 결과물 생성부: 130

Claims (10)

  1. 어노테이션 장치가, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업 과정에서 작업자로부터 입력된 제어 신호의 유형에 따라 작업의 진행 상태를 식별하는 단계;
    상기 인공지능(AI) 학습용 데이터의 가공 규칙이 변경되었는지 판단하는 단계;
    상기 어노테이션 장치가, 상기 식별된 작업의 진행 상태를 기초로, 상기 작업자가 이어서 수행해야 하는 후속 작업과 관련된 가이드 정보를 식별하는 단계;
    상기 어노테이션 장치가, 상기 가공 규칙이 변경된 것으로 판단된 경우, 작업자에게 할당된 작업과 관련되어 변경된 가공 규칙을 포함시켜 공지 메시지를 구성하는 단계; 및
    상기 어노테이션 장치가, 사용자 인터페이스(User Interface, UI)를 통해, 상기 식별된 가이드 정보를 출력하는 단계;
    상기 어노테이션 장치가, 사용자 인터페이스(User Interface, UI)를 통해, 상기 구성된 공지 메시지를 출력하는 단계를 포함하되,
    상기 어노테이션 작업 과정은
    상기 어노테이션 작업의 대상이 되는 이미지의 로딩(loading) 과정, 상기 작업자에 의한 툴(tool)의 선택 과정, 상기 툴을 이용한 좌표의 입력 과정, 상기 좌표에 의한 바운딩 박스(bounding box)의 설정 과정, 상기 바운딩 박스에 의해 특정된 객체(object)의 속성 정보 입력 과정을 포함하여 구분되고,
    상기 가이드 정보는
    상기 어노테이션 작업의 각 과정에서 상기 작업자가 참고할 수 있도록 사전에 설정된 정보이며,
    상기 가공 규칙은
    상기 어노테이션 작업을 수행하는 모든 작업자들이 공통적으로 준수해야하는 규칙으로, 상기 인공지능(AI) 학습의 목표 및 학습 방법론에 따라 다르게 설정되며,
    상기 공지 메시지를 출력하는 단계는
    상기 공지 메시지를 출력한 이후, 상기 작업자에 의해 입력된 제어 신호를 기초로 상기 작업자가 상기 변경된 가공 규칙에 따라 작업을 수행하는지 판단하고, 판단 결과 상기 작업자가 상기 변경된 가공 규칙을 따르지 않을 경우, 상기 사용자 인터페이스를 통해 상기 공지 메시지를 재출력하고, 상기 판단 결과 상기 작업자가 상기 변경된 가공 규칙에 따르는 경우, 상기 공지 메시지의 출력 시점을 기준으로 상기 작업자가 어노테이션 작업을 수행한 작업 결과물을 두 개의 집합으로 분리하며,
    상기 공지 메시지를 출력하는 단계 이후,
    상기 두 개의 집합으로 분리된 작업 결과물을 사전에 설정된 학습 데이터 설계 장치에 전송하는 단계를 더 포함하되,
    상기 두 개의 집합으로 분리된 작업 결과물은
    각각에 적용된 가공 규칙의 버전(version) 정보를 포함하고,
    상기 학습 데이터 설계 장치는
    상기 어노테이션 장치로부터 수신된 버전 정보를 기준으로, 상기 두 개의 집합으로 분리된 작업 결과물을 각각 검수(inspection)하기 위한 스크립트(script)를 생성하는 것을 특징으로 하는, 어노테이션 방법.
  2. 제1 항에 있어서, 상기 가이드 정보를 식별하는 단계는
    상기 식별된 작업의 진행 상태가 상기 이미지의 로딩 과정에 해당되는 경우, 상기 이미지 속에 포함될 것으로 예측되는 객체의 유형을 결정하고, 상기 결정된 유형의 객체를 특정하는데 사용할 수 있는 유형의 툴을 지시하는 정보가 포함된 가이드 정보를 식별하는 것을 특징으로 하는, 어노테이션 방법.
  3. 제1 항에 있어서, 상기 가이드 정보를 식별하는 단계는
    상기 식별된 작업의 진행 상태가 상기 작업자에 의한 툴 선택 과정에 해당되는 경우, 상기 작업자로부터 상기 제어 신호를 입력 받은 입출력 장치의 유형을 식별하고, 상기 식별된 유형의 입출력 장치를 이용하여 상기 작업자에 의해 선택된 툴을 사용하는 방법에 관한 정보가 포함된 가이드 정보를 식별하는 것을 특징으로 하는, 어노테이션 방법.
  4. 제1 항에 있어서, 상기 가이드 정보를 식별하는 단계는
    상기 식별된 작업의 진행 상태가 상기 툴을 이용한 좌표 입력 과정에 해당되는 경우, 상기 작업자에 의해 선택된 툴을 사용하여 바운딩 박스를 설정하는데 필요한 최소 좌표의 개수를 식별하고, 식별된 개수의 좌표를 지정하는 순서 및 위치에 관한 정보가 포함된 가이드 정보를 식별하는 것을 특징으로 하는, 어노테이션 방법.
  5. 제1 항에 있어서, 상기 가이드 정보를 식별하는 단계는
    상기 식별된 작업의 진행 상태가 상기 바운딩 박스의 설정 과정에 해당되는 경우, 상기 바운딩 박스를 구성하는 선분(line)과 객체의 외곽선으로부터의 최대 이격 픽셀의 수와, 객체가 인식될 수 있는 최소 영역의 크기 값에 관한 정보가 포함된 가이드 정보를 식별하는 것을 특징으로 하는, 어노테이션 방법.
  6. 제1 항에 있어서, 상기 가이드 정보를 출력하는 단계는
    상기 가이드 정보를 출력한 이후, 상기 작업자에 의해 입력된 제어 신호를 기초로 상기 작업자가 상기 가이드 정보에 따라 작업을 수행하는지 판단하고, 상기 판단 결과 상기 작업자가 상기 가이드 정보를 따르지 않을 경우, 상기 사용자 인터페이스(UI)를 통해 상기 식별된 가이드 정보를 재출력하는 것을 특징으로 하는, 어노테이션 방법.
  7. 제6 항에 있어서, 상기 가이드 정보를 출력하는 단계는
    상기 판단 결과 상기 작업자가 상기 가이드 정보를 따르지 않을 경우, 상기 식별된 작업의 진행 상태 및 상기 식별된 가이드 정보에 관한 정보를 사전에 설정된 학습 데이터 설계 장치에 전송하고,
    상기 학습 데이터 설계 장치는
    상기 어노테이션 장치로부터 수신된 작업의 진행 상태 및 가이드 정보를 기초로, 상기 어노테이션 장치에 추후 배포할 가이드 정보를 재구성하는 것을 특징으로 하는, 어노테이션 방법.
  8. 제6 항에 있어서, 상기 가이드 정보를 출력하는 단계는
    상기 식별된 가이드 정보가 사전에 설정된 중요 가이드에 해당하는 경우, 상기 식별된 가이드 정보에 따른 제어를 1회 이상 수행할 수 있도록 사전에 설정된 샘플 작업을 수행하도록 상기 사용자 인터페이스(UI)를 변경하는 것을 특징으로 하는, 어노테이션 방법.
  9. 제8 항에 있어서, 상기 가이드 정보를 출력하는 단계는
    상기 샘플 작업의 수행 결과 및 수행 시각을 사전에 설정된 학습 데이터 설계 장치에 전송하고,
    상기 학습 데이터 설계 장치는
    상기 어노테이션 장치로부터 수신된 샘플 작업의 수행 결과 및 수행 시각을 기초로, 상기 작업자에게 할당된 작업의 로드 밸런싱(load balancing)을 수행하는 것을 특징으로 하는, 어노테이션 방법.
  10. 제1 항에 있어서, 상기 가공 규칙이 변경되었는지 판단하는 단계는
    사전에 설정된 학습 데이터 설계 장치로부터 수신된 상기 가공 규칙의 변경을 알리는 신호, 또는 사전에 설정된 주기마다 상기 학습 데이터 설계 장치에 상기 가공 규칙의 변경 여부를 질의한 결과를 기초로, 상기 가공 규칙이 변경되었는지 여부를 판단하는 것을 특징으로 하는, 어노테이션 방법.
KR1020210019306A 2021-02-10 2021-02-10 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102343036B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210019306A KR102343036B1 (ko) 2021-02-10 2021-02-10 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210019306A KR102343036B1 (ko) 2021-02-10 2021-02-10 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102343036B1 true KR102343036B1 (ko) 2021-12-24

Family

ID=79176111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210019306A KR102343036B1 (ko) 2021-02-10 2021-02-10 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102343036B1 (ko)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043185A (ja) * 2010-08-19 2012-03-01 Kddi Corp 三次元地図作成方法および装置ならびに窓領域検出装置
US20120162217A1 (en) * 2010-12-22 2012-06-28 Electronics And Telecommunications Research Institute 3d model shape transformation method and apparatus
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR20160103485A (ko) * 2015-02-23 2016-09-01 한국과학기술원 학습자 의사 수집을 통한 개인화 교육 콘텐츠 구성 시스템 및 그 기법
JP2018036621A (ja) * 2016-08-30 2018-03-08 北京百度網訊科技有限公司 情報入力方法および装置
KR20180080051A (ko) * 2017-01-03 2018-07-11 한국전자통신연구원 기계 학습 방법 및 장치
KR20180081353A (ko) * 2017-01-06 2018-07-16 삼성전자주식회사 전자 장치 및 그의 동작 방법
KR20180122247A (ko) * 2017-05-02 2018-11-12 한국전자통신연구원 이종 센서들로부터 추출된 스켈레톤 정보를 이용하여 기계학습 데이터 및 주석을 생성하는 장치 및 그 방법
KR20180126220A (ko) * 2017-05-17 2018-11-27 삼성전자주식회사 객체를 식별하는 방법 및 디바이스
KR20200037816A (ko) * 2017-08-02 2020-04-09 스트롱 포스 아이오티 포트폴리오 2016, 엘엘씨 대규모 데이터 세트들을 갖는 산업 사물 인터넷 데이터 수집 환경에서의 검출을 위한 방법들 및 시스템들
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치
US20200167671A1 (en) * 2017-06-30 2020-05-28 Abeja, Inc. Computer system and method for machine learning or inference
US20200184278A1 (en) * 2014-03-18 2020-06-11 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043185A (ja) * 2010-08-19 2012-03-01 Kddi Corp 三次元地図作成方法および装置ならびに窓領域検出装置
US20120162217A1 (en) * 2010-12-22 2012-06-28 Electronics And Telecommunications Research Institute 3d model shape transformation method and apparatus
US20160026253A1 (en) * 2014-03-11 2016-01-28 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20200184278A1 (en) * 2014-03-18 2020-06-11 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
KR20160103485A (ko) * 2015-02-23 2016-09-01 한국과학기술원 학습자 의사 수집을 통한 개인화 교육 콘텐츠 구성 시스템 및 그 기법
JP2018036621A (ja) * 2016-08-30 2018-03-08 北京百度網訊科技有限公司 情報入力方法および装置
KR20180080051A (ko) * 2017-01-03 2018-07-11 한국전자통신연구원 기계 학습 방법 및 장치
KR20180081353A (ko) * 2017-01-06 2018-07-16 삼성전자주식회사 전자 장치 및 그의 동작 방법
KR20180122247A (ko) * 2017-05-02 2018-11-12 한국전자통신연구원 이종 센서들로부터 추출된 스켈레톤 정보를 이용하여 기계학습 데이터 및 주석을 생성하는 장치 및 그 방법
KR20180126220A (ko) * 2017-05-17 2018-11-27 삼성전자주식회사 객체를 식별하는 방법 및 디바이스
US20200167671A1 (en) * 2017-06-30 2020-05-28 Abeja, Inc. Computer system and method for machine learning or inference
KR20200037816A (ko) * 2017-08-02 2020-04-09 스트롱 포스 아이오티 포트폴리오 2016, 엘엘씨 대규모 데이터 세트들을 갖는 산업 사물 인터넷 데이터 수집 환경에서의 검출을 위한 방법들 및 시스템들
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치

Similar Documents

Publication Publication Date Title
KR102443654B1 (ko) 소스 코드에서 작동하는 소프트웨어 도구를 위한 기계 학습 모델 자동 생성
US10318595B2 (en) Analytics based on pipes programming model
US8881116B2 (en) Identifying and triaging software bugs through backward propagation of under-approximated values and empiric techniques
US10649836B2 (en) Detecting an error message and automatically presenting links to relevant solution pages
KR102343043B1 (ko) 실시간 작업 변경 사항에 대응하는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310594B1 (ko) 작업 비용 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US9959197B2 (en) Automated bug detection with virtual machine forking
US9910641B2 (en) Generation of application behaviors
KR102310592B1 (ko) 작업 규칙의 변경을 안내할 수 있는 어노테이션 방법
KR102356909B1 (ko) 인공지능 학습용 데이터의 객체를 지정하고 속성을 설정하는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US11816479B2 (en) System and method for implementing a code audit tool
US20130227524A1 (en) Method and apparatus for analyzing application program by analysis of source code
US20230004486A1 (en) Software testing using machine learning
KR102310589B1 (ko) 스크립트를 이용한 어노테이션 결과물의 검증 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102433002B1 (ko) 다중 바인딩 박스 선택을 통한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310595B1 (ko) 제안된 정보를 이용하여 객체 속성을 설정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US11868465B2 (en) Binary image stack cookie protection
US20170091070A1 (en) Identifying and visualizing suboptimal memory layouts in software programs
KR102310597B1 (ko) 질의응답 제공 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343044B1 (ko) 어노테이션 작업 및 질의 제어 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343036B1 (ko) 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343045B1 (ko) 작업 예측 및 관리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102439429B1 (ko) 객체 추출이 용이한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US11681511B2 (en) Systems and methods for building and deploying machine learning applications
KR102205810B1 (ko) 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 재작업 결과의 자동 반려 방법

Legal Events

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