KR102439429B1 - Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method - Google Patents

Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method Download PDF

Info

Publication number
KR102439429B1
KR102439429B1 KR1020210183372A KR20210183372A KR102439429B1 KR 102439429 B1 KR102439429 B1 KR 102439429B1 KR 1020210183372 A KR1020210183372 A KR 1020210183372A KR 20210183372 A KR20210183372 A KR 20210183372A KR 102439429 B1 KR102439429 B1 KR 102439429B1
Authority
KR
South Korea
Prior art keywords
bounding box
annotation
image
edge
learning
Prior art date
Application number
KR1020210183372A
Other languages
Korean (ko)
Inventor
노성운
오승진
Original Assignee
주식회사 인피닉
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 인피닉 filed Critical 주식회사 인피닉
Priority to KR1020210183372A priority Critical patent/KR102439429B1/en
Application granted granted Critical
Publication of KR102439429B1 publication Critical patent/KR102439429B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • 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/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

The present invention proposes an annotation method that can easily designate an object included in an image when annotating data for artificial intelligence (AI) learning. The method may include the steps of: setting, by an annotation device, a partial area in an image that is a target of annotation work for AI learning under the control of an operator as a bounding box; extracting, by the annotation device, an edge of an object from an inner region of the bounding box, and distinguishing an object from a background based on the extracted edge; and modifying, by the annotation device, a bounding box to an area of the object from which the background has been deleted.

Description

객체 추출이 용이한 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method}Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the same

본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터 설계에 관한 것이다. 보다 상세하게는, 인공지능(AI) 학습용 데이터를 어노테이션함에 있어, 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to data design for artificial intelligence (AI) learning. More specifically, in annotating data for artificial intelligence (AI) learning, it relates to an annotation method capable of easily designating an object included in an image, and a computer program recorded on a recording medium for executing the annotation method.

인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.Artificial intelligence (AI) refers to a technology that artificially implements some or all of human learning ability, reasoning ability, and perception ability using computer programs. In relation to artificial intelligence (AI), machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. Such machine learning is classified into supervised learning, unsupervised learning, and reinforcement learning according to the form of data for learning.

일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장, 및 데이터의 검증 단계로 진행된다.In general, the design of data for artificial intelligence (AI) learning proceeds in the steps of designing a data structure, collecting data, refining data, processing data, expanding data, and verifying data.

각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 메타데이터(meta data)를 입력하고 어노테이션(annotation)을 수행하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.In more detail with respect to each step, the design of the data structure is made through the definition of an ontology, a definition of a classification system, and the like. Data is collected by direct shooting, web crawling, or by collecting data through associations/professional groups. Data purification is performed by removing redundant data from the collected data and de-identifying personal information. Data processing is performed by inputting metadata and performing annotations. Data expansion is performed by performing ontology mapping and supplementing or extending the ontology as necessary. And, the verification of the data is performed by verifying the validity according to the set target quality using various verification tools.

일반적으로, 데이터 가공 단계의 어노테이션은 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box) 처리하고, 바운딩 박스 처리된 객체의 속성 정보를 입력하여 진행된다. 이와 같은 어노테이션은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 그리고, 어노테이션의 작업 결과물에 해당되는 데이터셋(dataset)은 JSON(Java Script Object Notation) 파일 형태로 산출된다.In general, the annotation of the data processing step is performed by processing a bounding box on an object included in an image, and inputting property information of the object that has been processed with the bounding box. Such annotations are also referred to as data labeling. And, the dataset corresponding to the work result of the annotation is calculated in the form of a JSON (Java Script Object Notation) file.

구체적으로, 어노테이션에서 바운딩 박스를 처리하는 과정은 이미지 속 인식하고자 하는 객체 각각에 대하여, 객체의 외곽에 따라 작업자가 일일이 수작업으로 바운딩 박스 처리하여 진행된다. Specifically, in the process of processing the bounding box in the annotation, for each object to be recognized in the image, the operator manually processes the bounding box according to the outline of the object.

그러나, 바운딩 박스 처리는 인공지능(AI) 학습 효과(즉, 이미지 속 객체의 인식률)를 보장하기 위하여 사전에 결정된 다양한 규칙에 따라야 한다. 예를 들어, 바운딩 박스 처리는 객체가 인식될 수 있는 영역의 최소 크기 값, 객체의 외곽선으로부터의 최대 이격 픽셀(pixel) 수 등의 규칙에 따라야 한다. 따라서, 작업자가 다수의 객체에 대하여 일일이 수작업으로 바운딩 박스 처리하는 과정에서 사전에 결정된 모든 규칙을 완벽하게 준수하는 것은 쉬운 일이 아니다.However, the bounding box processing must follow various pre-determined rules to ensure the AI learning effect (ie, the recognition rate of objects in the image). For example, the bounding box processing should follow rules such as a minimum size value of an area in which an object can be recognized, and a maximum number of pixels spaced apart from the outline of the object. Therefore, it is not easy for the operator to completely comply with all predetermined rules in the process of manually processing the bounding box for a large number of objects.

대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)Korean Patent Application Laid-Open No. 10-2020-0042629, ‘Method for generating touch-based annotation and image of mobile device for artificial intelligence learning, and device therefor’, (published on April 24, 2020)

본 발명의 일 목적은 인공지능(AI) 학습용 데이터를 어노테이션함에 있어, 이미지 속에 포함된 객체 추출을 용이하게 할 수 있는 어노테이션 방법을 제공하는 것이다.An object of the present invention is to provide an annotation method capable of facilitating extraction of an object included in an image when annotating data for artificial intelligence (AI) learning.

본 발명의 다른 목적은 이미지 속에 포함된 객체 추출을 용이하게 할 수 있는 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium for executing an annotation method that can facilitate extraction of an object included in an image.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 어노테이션 방법을 제안한다. 상기 방법은 어노테이션 장치가, 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계; 상기 어노테이션 장치가, 상기 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하는 단계; 및 상기 어노테이션 장치가, 상기 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정하는 단계를 포함할 수 있다.In order to achieve the technical problem as described above, the present invention proposes an annotation method that can easily designate an object included in an image. The method includes, by an annotation device, setting a partial region in an image to be subjected to an annotation operation for artificial intelligence (AI) learning as a bounding box under the control of an operator; extracting, by the annotation device, an edge of an object from an inner region of the bounding box, and classifying an object and a background based on the extracted edge; and modifying, by the annotation device, a bounding box to the area of the object from which the background has been deleted.

구체적으로, 상기 바운딩 박스로 설정하는 단계는 상기 이미지 내에서 상기 작업자로부터 입력된 두 좌표를 좌상단 꼭짓점(vertex)의 좌표와 우하단 꼭짓점의 좌표로 가지는 사각형을 기초로 상기 바운딩 박스를 설정할 수 있다.Specifically, in the setting of the bounding box, the bounding box may be set based on a rectangle having two coordinates input from the operator in the image as the coordinates of the upper left vertex and the coordinates of the lower right vertex.

상기 바운딩 박스로 설정하는 단계는 상기 이미지 내에서 상기 작업자로부터 입력된 네개의 좌표를 연결하는 사각형을 기초로 상기 바운딩 박스를 설정할 수 있다.In the setting of the bounding box, the bounding box may be set based on a rectangle connecting the four coordinates input by the operator in the image.

상기 배경을 구분하는 단계는 상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 상기 검출된 RGB 값을 통해 객체의 엣지(edge)를 추출할 수 있다.In the step of classifying the background, an RGB value of each pixel may be detected in an inner region of the bounding box, and an edge of an object may be extracted through the detected RGB value.

상기 배경을 구분하는 단계는 상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 인접한 픽셀과의 RGB 값의 변화량이 사전 설정된 임계 값보다 높은 지점을 엣지로 추출할 수 있다.In the step of classifying the background, the RGB value for each pixel is detected in the inner region of the bounding box, and a point where the change amount of the RGB value with respect to an adjacent pixel is higher than a preset threshold value may be extracted as an edge. .

상기 배경을 구분하는 단계는 상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB(red, green, blue) 값을 검출하여 RGB 이미지를 생성하는 단계; 상기 생성된 RGB 채널을 RGBA(red, green, blue, alpha) 이미지로 변경하는 단계; 및 상기 RGBA 이미지에서 투명도를 기준으로 객체의 엣지(edge)를 추출하는 단계를 포함할 수 있다.Separating the background may include: generating an RGB image by detecting RGB (red, green, blue) values for each pixel in an inner region of the bounding box; changing the generated RGB channel to an RGBA (red, green, blue, alpha) image; and extracting an edge of an object based on transparency from the RGBA image.

상기 엣지를 추출하는 단계는 상기 RGBA 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계 값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널의 가장자리를 블러링(blurring)하여 이미지를 전처리하는 단계; 및 중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써 상기 RGBA 이미지 내의 배경으로부터 상기 객체를 분리하여 추출하는 단계를 포함할 수 있다.In the step of extracting the edge, a transparency channel is extracted from the RGBA image, an area having a transparency value lower than a preset transparency threshold value is removed, but the image is preprocessed by blurring the edge of the extracted transparency channel to do; and separating and extracting the object from the background in the RGBA image by deriving the probability that the important object belongs to each pixel as an intensity value using salient object detection (SOD). may include

상기 엣지를 추출하는 단계는 상기 RGBA 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계 값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널의 가장자리를 블러링(blurring)하여 이미지를 전처리하는 단계; 및 상기 전처리 된 이미지에 투명도를 부여하면서, 객체가 보이지 않는 경계값을 기준으로 상기 RGBA 이미지 내의 배경으로부터 상기 객체를 분리하여 추출하는 단계를 포함할 수 있다.In the step of extracting the edge, a transparency channel is extracted from the RGBA image, an area having a transparency value lower than a preset transparency threshold value is removed, but the image is preprocessed by blurring the edge of the extracted transparency channel to do; and separating and extracting the object from the background in the RGBA image based on a boundary value at which the object is not visible while imparting transparency to the preprocessed image.

상기 엣지를 추출하는 단계는 상기 RGBA 이미지에서 투명도 채널을 추출하고, 투명도가 사전에 설정된 임계 값보다 낮은 투명도를 갖는 픽셀 영역을 배경으로 구분할 수 있다.In the extracting of the edge, a transparency channel may be extracted from the RGBA image, and a pixel area having a transparency lower than a preset threshold value may be distinguished as a background.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 어노테이션 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어, 상기 프로세서가, 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계; 상기 프로세서가, 상기 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하는 단계; 및 상기 프로세서가, 상기 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정하는 단계를 실행시키기 위하여, 기록매체에 기록될 수 있다.In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium for executing an annotation method. The computer program includes a memory; transceiver; And coupled with a computing device configured to include a processor (processor) for processing instructions resident in the memory, the processor, according to the control of the operator, artificial intelligence (Artificial Intelligence, AI) annotation for learning (annotation) operation setting a partial area in the image to be the target of as a bounding box; extracting, by the processor, an edge of an object from an inner region of the bounding box, and classifying an object and a background based on the extracted edge; and modifying, by the processor, the bounding box to the area of the object from which the background has been deleted, it may be recorded on the recording medium.

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.

본 발명의 실시 예들에 따르면, 인공지능(AI) 학습을 위한 다수의 이미지 각각에 대하여 어노테이션을 수행함에 있어, 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하고, 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정함에 따라, 작업자의 작업 시간을 단축하면서, 보다 균일한 품질의 어노테이션 작업 결과물을 가질 수 있다.According to embodiments of the present invention, in performing annotation on each of a plurality of images for artificial intelligence (AI) learning, an edge of an object is extracted from an inner region of a bounding box, and based on the extracted edge By classifying an object and a background and modifying the bounding box to the area of the object from which the background has been deleted, it is possible to shorten the worker's work time and have a more uniform quality of the annotation work result.

도 1은 본 발명의 일 실시예에 따른 보안 관리 시스템의 구성도이다.
도 2 내지 도 4는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 7은 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 8 내지 도 12는 본 발명의 실시예에 따라 바운딩 박스를 설정하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 14는 본 발명의 일 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.
도 15는 본 발명의 다른 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.
도 16은 본 발명의 또 다른 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.
도 17은 본 발명의 일 실시예에 따른 보안 관리 방법을 설명하기 위한 순서도이다.
1 is a block diagram of a security management system according to an embodiment of the present invention.
2 to 4 are block diagrams of an artificial intelligence learning system according to various embodiments of the present invention.
5 and 6 are logical configuration diagrams of an annotation apparatus according to an embodiment of the present invention.
7 is a hardware configuration diagram of an annotation apparatus according to an embodiment of the present invention.
8 to 12 are exemplary views for explaining a process of setting a bounding box according to an embodiment of the present invention.
13 is a flowchart illustrating an annotation method according to an embodiment of the present invention.
14 is a flowchart illustrating a method of setting a bounding box according to an embodiment of the present invention.
15 is a flowchart illustrating a method of setting a bounding box according to another embodiment of the present invention.
16 is a flowchart illustrating a method of setting a bounding box according to another embodiment of the present invention.
17 is a flowchart illustrating a security management method according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that technical terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in this specification should be interpreted in the meaning generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise defined in this specification, and excessively inclusive. It should not be construed as a human meaning or in an excessively reduced meaning. In addition, when the technical terms used in this specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be understood by being replaced with technical terms that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted as defined in advance or according to the context before and after, and should not be interpreted in an excessively reduced meaning.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, as used herein, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "consisting of" or "having" should not be construed as necessarily including all of the various components or various steps described in the specification, and some components or some of the steps are included. It should be construed that it may not, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Also, terms including ordinal numbers such as first, second, etc. used herein may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but another component may exist in between. On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are given the same reference numerals regardless of the reference numerals, and the redundant description thereof will be omitted. In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be construed as extending to all changes, equivalents, or substitutes other than the accompanying drawings.

한편, 어노테이션 작업을 수행하는 작업자는 내국인으로써 국내에 작업을 수행하지 않고, 외국인으로써 국외의 인공지능 학습 시스템에 접속하여 어노테이션 작업을 수행할 수 있다. 이에 따라, 작업자의 개인정보가 해당 인공지능 학습 시스템에 유출되거나, 해당 인공지능 학습 시스템에서 수집된 어노테이션 대상 이미지에 포함된 개인 정보가 작업자에 유출되는 문제점이 있었다. 즉 어노테이션 작업을 수행함에 있어, 각 국가의 개인 정보가 해외에 유출될 수 있으며, 개인 정보의 타 국가 반출은 국가별 개인 정보 보호법 등에 대한 위법에 해당할 수 있다.On the other hand, the worker performing the annotation work may perform the annotation work by accessing the foreign artificial intelligence learning system as a foreigner, without performing the work in Korea as a Korean. Accordingly, there is a problem in that the personal information of the worker is leaked to the corresponding AI learning system, or the personal information included in the annotation target image collected in the AI learning system is leaked to the worker. That is, when performing annotation work, personal information of each country may be leaked abroad, and export of personal information to other countries may be against the laws of each country's personal information protection laws, etc.

이에 따라, 전세계적으로 어노테이션 작업을 수행함에 있어, 국가별 개인정보 관련 법규에 따라 효율적으로 학습용 데이터를 관리할 수 있는 시스템 구축이 필요한 실정이다.Accordingly, in performing annotation work worldwide, it is necessary to establish a system that can efficiently manage data for learning in accordance with country-specific personal information-related laws.

이러한 어려움을 극복하기 위하여, 본 발명은 전세계적으로 어노테이션 작업을 수행함에 있어, 국가별 개인정보 관련 법규에 따라 효율적으로 학습용 데이터를 관리할 수 있는 수단들을 제안하고자 한다.In order to overcome these difficulties, the present invention intends to propose means for efficiently managing learning data according to country-specific personal information-related laws when performing annotation work worldwide.

도 1은 본 발명의 일 실시예에 따른 보안 관리 시스템의 구성도이다.1 is a block diagram of a security management system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 보안 관리 시스템(600)은 인공지능 학습 시스템(400-1, 400-2, 400-3, …, 400-n; 400) 및 보안 관리 장치(500)를 포함하여 구성될 수 있다.Referring to Figure 1, the security management system 600 according to an embodiment of the present invention is an artificial intelligence learning system (400-1, 400-2, 400-3, ..., 400-n; 400) and the security management device 500 may be included.

여기서, 인공지능 학습 시스템(400)은 어노테이션 장치, 학습 데이터 설계 장치 및 인공지능 학습 장치를 포함하여 구성될 수 있다. 한편 인공지능 학습 시스템(400)의 구체적인 구성 및 동작에 대해서는 추후 도 2 내지 도 4를 참조하여 설명하기로 한다.Here, the artificial intelligence learning system 400 may include an annotation device, a learning data design device, and an artificial intelligence learning device. Meanwhile, a detailed configuration and operation of the artificial intelligence learning system 400 will be described later with reference to FIGS. 2 to 4 .

이러한, 인공지능 학습 시스템(400)은 도시된 바와 같이 국가 별로 구비될 수 있다. 여기서 인공지능 학습 시스템(400)은 국가 별로 하나씩 구비된 것으로 도시되어 있지만, 이에 한정된 것은 아니고, 각 국가 별로 복수로 구비될 수 있다.Such an artificial intelligence learning system 400 may be provided for each country as shown. Here, the artificial intelligence learning system 400 is illustrated as provided one by one for each country, but is not limited thereto, and may be provided in plurality for each country.

또한, 인공지능 학습 시스템(400)에 포함된 어노테이션 장치들은 동일 시스템 내에 구비된 학습 데이터 설계 장치로부터 어노테이션 작업에 대한 업무를 분배 받을 수 있으나, 타 시스템에 접속하여 어노테이션 작업을 수행할 수도 있다.In addition, the annotation devices included in the artificial intelligence learning system 400 may receive the task for the annotation work from the learning data design device provided in the same system, but may also access other systems to perform the annotation work.

즉, 어노테이션 작업을 수행하는 작업자가 내국인으로써 국내에 작업을 수행하지 않고, 외국인으로써 국외의 인공지능 학습 시스템(400)에 접속하여 어노테이션 작업을 수행할 수 있다.That is, the worker performing the annotation work may perform the annotation work by accessing the artificial intelligence learning system 400 abroad as a foreigner without performing the work in Korea as a Korean.

이 경우, 어노테이션 작업을 수행하는 작업자가 어노테이션 장치를 통해 국외의 인공지능 학습 시스템(400)에 접속할 경우, 작업자의 개인정보가 해당 인공지능 학습 시스템(400)에 유출되거나, 해당 인공지능 학습 시스템(400)에서 수집된 어노테이션 대상물에 포함된 개인 정보가 어노테이션 장치에 유출될 수 있다.In this case, when the worker performing the annotation work accesses the overseas artificial intelligence learning system 400 through the annotation device, the worker's personal information is leaked to the corresponding artificial intelligence learning system 400, or the artificial intelligence learning system ( 400), personal information included in the annotation object collected may be leaked to the annotation device.

예를 들어, 한국 인공지능 학습 시스템(400-3)에 포함된 어노테이션 장치가 어노테이션 작업을 위해 미국 인공지능 학습 시스템(400-1)에 포함된 학습 데이터 설계 장치에 접속하는 경우, 한국과 미국의 개인 정보 보호법이 상이할 수 있기 때문에 위법 상황이 발생될 수 있다.For example, when the annotation device included in the Korean AI learning system 400-3 accesses the learning data design device included in the American AI learning system 400-1 for annotation work, Because privacy laws may be different, illegal situations may arise.

이에 따라, 각 인공지능 학습 시스템(400)의 학습 데이터 설계 장치 각각은 보안 정책에 따라 설정되는 공개 어노테이션 작업 대상물을 저장하는 비보안 영역과, 비공개 어노테이션 작업 대상물을 저장하는 보안 영역을 포함할 수 있다.Accordingly, each of the learning data designing devices of each artificial intelligence learning system 400 may include a non-security area storing a public annotation work object set according to a security policy, and a security area storing a private annotation work object.

여기서 보안 영역과 비보안 영역은 어노테이션 작업의 속성, 어노테이션 작업자의 수 및 해당 국가의 개인정보 관련 법규 중 적어도 하나를 고려하여 설정될 수 있다. 즉 인공지능 학습 시스템(400)에서 어노테이션 작업이 프로젝트(project) 단위로 진행되게 되는데, 각 인공지능 학습 시스템(400)은 해당 프로젝트의 속성, 해당 프로젝트를 수행하는 어노테이션 작업자의 수 및 프로젝트를 수행하는 시스템의 해당 국가의 개인정보 관련 법규를 고려하여, 공개할 어노테이션 작업 대상물과, 비공개 어노테이션 작업 대상물을 구분하여 저장할 수 있다.Here, the security area and the non-security area may be set in consideration of at least one of an attribute of an annotation operation, the number of annotation workers, and personal information related laws of a corresponding country. That is, in the artificial intelligence learning system 400, the annotation work is carried out in units of projects, and each artificial intelligence learning system 400 determines the properties of the project, the number of annotation workers performing the project, and the project. In consideration of the privacy-related laws and regulations of the relevant country of the system, it is possible to separate and store the object to be disclosed and the object to be annotated to be private.

다음 구성으로, 보안 관리 장치(500)는 위와 같은 복수의 인공지능 학습 시스템(400) 각각의 어노테이션(annotation) 작업에 대한 보안 정책을 수집하여 관리할 수 있다.With the following configuration, the security management device 500 may collect and manage security policies for each of the plurality of artificial intelligence learning systems 400 as described above.

이후, 보안 관리 장치(500)는 어노테이션 장치로부터 복수의 인공지능 학습 시스템(400)의 학습 데이터 설계 장치 중 하나로 어노테이션 작업을 위한 접근을 요청받으면, 접근을 요청한 인공지능 학습 시스템(400)의 보안 정책을 확인할 수 있다.Then, when the security management device 500 receives a request for access for annotation work from the annotation device to one of the learning data design devices of the plurality of artificial intelligence learning systems 400, the security policy of the artificial intelligence learning system 400 that has requested access can confirm.

그리고, 보안 관리 장치(500)는 접근이 필요한 인공지능 학습 시스템(400)의 보안 정책에 따라 어노테이션 장치에 접근을 허용할 수 있다. 즉 보안 관리 장치(500)는 접근이 필요한 학습 데이터 설계 장치의 비보안 영역에 저장된 공개 어노테이션 대상물을 제공하여, 어노테이션 작업을 수행하도록 할 수 있다.And, the security management device 500 may allow access to the annotation device according to the security policy of the artificial intelligence learning system 400 that requires access. That is, the security management device 500 may provide the public annotation object stored in the non-security area of the learning data design device requiring access to perform the annotation operation.

이때, 보안 관리 장치(500)는 접근을 요청한 어노테이션 장치의 식별 정보를 기초로, 접근을 요청한 어노테이션 장치의 국가를 식별하고, 식별된 국가에서 접속할 수 있는 인공지능 학습 시스템의 접근을 허용할 수 있다.In this case, the security management device 500 identifies the country of the annotation device that has requested access based on the identification information of the annotation device that has requested access, and allows access to the AI learning system that can be accessed from the identified country. .

또한 보안 관리 장치(500)는 접근을 요청한 어노테이션 장치의 식별 정보를 기초로, 접근을 요청한 어노테이션 장치의 국가를 식별하고, 식별된 국가에서 접속할 수 있는 비보안 영역의 접근을 허용할 수도 있다.In addition, the security management device 500 may identify the country of the annotation device requesting access based on the identification information of the annotation device requesting access, and allow access to the non-security area accessible from the identified country.

즉 보안 관리 장치(500)는 접근을 요청한 어노테이션 장치의 국가를 식별하고, 국가별로 인공지능 학습 시스템(400) 또는 인공지능 학습 시스템(400) 내에 포함된 비보안 영역에 대하여 선택적으로 접근을 허용할 수 있다.That is, the security management device 500 identifies the country of the annotation device that has requested access, and selectively allows access to the non-security area included in the artificial intelligence learning system 400 or the artificial intelligence learning system 400 by country. have.

이후 어노테이션 장치는 접근이 허용된 학습 데이터 설계 장치의 비보안 영역에 저장된 공개 어노테이션 대상물에 대하여 어노테이션 작업을 수행할 수 있다.Thereafter, the annotation device may perform an annotation operation on the public annotation object stored in the non-security area of the learning data design device to which access is allowed.

여기서, 보안 관리 장치(500)는 접근을 요청한 어노테이션 장치의 위치 정보 또는 사용 언어를 인식하여, 접근을 요청한 어노테이션 장치의 국가를 식별할 수 있다.Here, the security management device 500 may identify the country of the annotation device requesting access by recognizing the location information or language of the annotation device requesting access.

또한, 보안 관리 장치(500)는 접근을 요청한 어노테이션 장치의 식별 정보를 기초로, 접근을 요청한 어노테이션 장치를 사용하는 작업자 정보를 식별하고, 식별된 작업자 정보에서 접속할 수 있는 인공지능 학습 시스템(400)의 접근을 허용할 수 있다. 여기서 작업자 정보는 어노테이션 작업을 수행하는 작업자의 개인 정보가 될 수 있다.In addition, the security management device 500 identifies worker information using the annotation device requesting access based on the identification information of the annotation device requesting access, and artificial intelligence learning system 400 that can be accessed from the identified worker information can allow access. Here, the worker information may be personal information of a worker performing an annotation operation.

즉, 보안 관리 장치(500)는 각 국가의 보안 정책뿐만 아니라, 접근을 시도하는 어노테이션 장치의 국가, 어노테이션 장치를 통해 어노테이션 작업을 수행하는 작업자의 정보를 고려하여 접근을 제어할 수 있다.That is, the security management device 500 may control access in consideration of not only the security policy of each country, but also the country of the annotation device attempting to access, and information of a worker performing annotation work through the annotation device.

이와 같이, 본 발명의 일 실시예에 따른 보안 관리 시스템(600)은 보안 관리 장치(500)를 통해 전세계적으로 어노테이션 작업을 수행함에 있어, 국가별 개인정보 관련 법규에 따라 효율적으로 학습용 데이터를 관리할 수 있다.In this way, the security management system 600 according to an embodiment of the present invention efficiently manages learning data according to the privacy-related laws of each country in performing the annotation work worldwide through the security management device 500 . can do.

이와 같은, 본 발명의 일 실시예에 따른 보안 관리 시스템(600)은 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.As such, the security management system 600 according to an embodiment of the present invention may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto. , smart phone, laptop, tablet, phablet, portable multimedia player (PMP), personal digital assistants (PDA) or e-book reader It may be any one of the portable computing devices such as (E-book reader).

도 2 내지 도 4는 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 구성도이다.2 to 4 are block diagrams of an artificial intelligence learning system according to various embodiments of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템(400)은 하나 이상의 어노테이션 장치(100-1, 100-2, 100-3, …, 100-n; 100) 및 인공지능 학습 장치(300)를 포함하여 구성될 수 있다.As shown in Figure 2, the artificial intelligence learning system 400 according to an embodiment of the present invention is one or more annotation devices (100-1, 100-2, 100-3, ..., 100-n; 100) and It may be configured to include the artificial intelligence learning apparatus 300 .

도 3에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템(400)은 어노테이션 장치(100) 및 인공지능 학습 장치(300) 외에 학습 데이터 설계 장치(200)를 추가적으로 포함하여 구성될 수 있다.As shown in FIG. 3 , the artificial intelligence learning system 400 according to another embodiment of the present invention additionally includes a learning data design apparatus 200 in addition to the annotation apparatus 100 and the artificial intelligence learning apparatus 300 . can be

또한, 도 4에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 인공지능 학습 시스템(400)은 어노테이션 장치(100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)가 공개된 네트워크(public network)를 통해 서로 연결될 수도 있다. 이 경우, 어노테이션 장치(100)의 일부는 클라우딩 서비스(clouding service)에 의해 어노테이션을 수행하는 장치가 될 수도 있다.In addition, as shown in FIG. 4 , in the artificial intelligence learning system 400 according to another embodiment of the present invention, the annotation apparatus 100 , the learning data design apparatus 200 and the artificial intelligence learning apparatus 300 are disclosed. They may be connected to each other through a public network. In this case, a part of the annotation device 100 may be a device for performing annotation by a clouding service.

이와 같은, 다양한 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, since the components of the AI learning system according to various embodiments are merely functionally distinct elements, two or more components are integrated with each other in the actual physical environment, or one component is the actual physical environment. may be implemented separately from each other.

각각의 구성 요소에 대하여 설명하면, 어노테이션 장치(100)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 제공된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.Each component is described. The annotation apparatus 100 is a device that can be used to annotate an image provided from the learning data design apparatus 200 or the artificial intelligence learning apparatus 300 .

특히, 본 발명에 따른 어노테이션 장치(100)는 어노테이션 작업과 관련하여 바운딩 박스를 설정하고, 객체의 속성 정보를 입력하는 과정에서 작업자에게 다양한 편의성을 제공할 수 있는 특징을 가지고 있다.In particular, the annotation apparatus 100 according to the present invention has a feature of providing various conveniences to an operator in the process of setting a bounding box in relation to an annotation operation and inputting attribute information of an object.

이와 같은, 어노테이션 장치(100)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.As such, the annotation device 100 can transmit and receive data to and from the learning data design device 200 or the artificial intelligence learning device 300, and any device capable of performing an operation using the transmitted/received data may be permitted. have.

예를 들어, 어노테이션 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 아니하고, 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.For example, the annotation device 100 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto, and a smart phone, such as laptops, tablets, phablets, Portable Multimedia Players (PMPs), Personal Digital Assistants (PDAs), or E-book readers. It may be any of the mobile computing devices.

상술한 바와 같은, 어노테이션 장치(100)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 5 내지 도 16을 참조하여 설명하기로 한다.A detailed configuration and operation of the annotation apparatus 100 as described above will be described later with reference to FIGS. 5 to 16 .

다음 구성으로, 학습 데이터 설계 장치(200)는 인공지능(AI) 학습용 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다. 이와 같은, 학습 데이터 설계 장치(200)는 기본적으로 인공지능 학습 장치(300)와 구분되는 장치이나, 실제 물리적 환경에서 인공지능 학습 장치(300)에 통합되어 구현될 수도 있다.With the following configuration, the learning data design device 200 is a device that can be used to design and generate data for artificial intelligence (AI) learning. As described above, the learning data design apparatus 200 is basically a device distinct from the artificial intelligence learning apparatus 300 , but may be implemented by being integrated into the artificial intelligence learning apparatus 300 in an actual physical environment.

구체적으로, 학습 데이터 설계 장치(200)는 인공지능 학습 장치(300)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 설계 장치(200)는 사용자의 제어 및 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.Specifically, the learning data design apparatus 200 may receive the properties of the project related to artificial intelligence (AI) learning from the artificial intelligence learning apparatus 300 . The learning data design device 200 performs design of a data structure for artificial intelligence (AI) learning, purification of collected data, processing of data, expansion of data, and verification of data, based on the user's control and the properties of the project. can be done

특히, 학습 데이터 설계 장치(200)는 인공지능(AI) 학습을 위한 데이터 가공을 위하여, 어노테이션의 대상이 되는 이미지를 어노테이션 장치(100)에 전송할 수 있다. 학습 데이터 설계 장치(200)는 어노테이션 장치(100)로부터 어노테이션 작업 결과물을 수신할 수 있다. 이 경우, 어노테이션 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있다. 이와 다르게, 학습 데이터 설계 장치(200)는 JSON과 다른 형식의 어노테이션 작업 결과물을 수신한 후, 수신된 결과물을 기초로 JSON 파일을 생성할 수도 있다. 그리고, 학습 데이터 설계 장치(200)는 수신 또는 생성된 JSON 파일을 검수(inspection)한 후, 이를 패키징하여 인공지능 학습 장치(300)에 전송할 수 있다.In particular, the learning data design apparatus 200 may transmit an image to be annotated to the annotation apparatus 100 for data processing for artificial intelligence (AI) learning. The learning data design apparatus 200 may receive an annotation work result from the annotation apparatus 100 . In this case, the annotation operation result may have a JSON (Java Script Object Notation) file format. Alternatively, the learning data design apparatus 200 may generate a JSON file based on the received result after receiving an annotation work result in a format different from JSON. Then, the learning data design apparatus 200 may inspect the received or generated JSON file, package it, and transmit it to the artificial intelligence learning apparatus 300 .

이와 같은, 학습 데이터 설계 장치(200)는 어노테이션 장치(100) 및 인공지능 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 설계 장치(200)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the learning data design device 200 may be any device as long as it is a device capable of transmitting and receiving data to and from the annotation device 100 and the artificial intelligence learning device 300 and performing an operation using the transmitted/received data. have. For example, the learning data design apparatus 200 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto.

다음 구성으로, 인공지능 학습 장치(300)는 인공지능(AI) 학습용 데이터를 기초로, 인공지능(AI)의 기계 학습을 수행하는데 사용될 수 있는 장치이다.With the following configuration, the artificial intelligence learning device 300 is a device that can be used to perform machine learning of artificial intelligence (AI) based on data for artificial intelligence (AI) learning.

구체적으로, 인공지능 학습 장치(300)는 어노테이션 장치(100)로부터 직접 또는 학습 데이터 설계 장치(200)로부터 패키징된 JSON 파일을 수신할 수 있다. 그리고, 인공지능 학습 장치(300)는 수신된 JSON 파일을 이용하여 인공지능(AI)의 기계 학습을 수행할 수 있다.Specifically, the artificial intelligence learning apparatus 300 may receive the packaged JSON file directly from the annotation apparatus 100 or from the learning data design apparatus 200 . And, the artificial intelligence learning apparatus 300 may perform machine learning of artificial intelligence (AI) using the received JSON file.

이와 같은, 인공지능 학습 장치(300)는 어노테이션 장치(100) 또는 학습 데이터 설계 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the artificial intelligence learning apparatus 300 can transmit and receive data to and from the annotation apparatus 100 or the learning data design apparatus 200, and any apparatus that can perform an operation using the transmitted and received data is allowed. have. For example, the artificial intelligence learning apparatus 300 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto.

상술한 바와 같은, 하나 이상의 어노테이션 장치(100), 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, at least one annotation device 100, learning data design device 200, and artificial intelligence learning device 300 are a combination of at least one of a secure line, a public wired communication network, or a mobile communication network directly connected between the devices. Data can be transmitted and received using the network.

예를 들어, 공용 유선 통신망에는 이더넷(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)가 포함될 수 있으나, 이에 한정되는 것은 아니다.For example, public wired networks include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). However, it is not limited thereto. In addition, mobile communication networks include Code Division Multiple Access (CDMA), Wideband CDMA, WCDMA, High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile telecommunication may be included, but are not limited thereto.

이하, 상술한 바와 같은, 어노테이션 장치(100)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the annotation apparatus 100 as described above will be described in more detail.

도 5 및 도 6은 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.5 and 6 are logical configuration diagrams of an annotation apparatus according to an embodiment of the present invention.

도 5 및 도 6에 도시된 바와 같이, 어노테이션 장치(100)는 통신부(105), 입출력부(110), 저장부(115), 바운딩 박스 설정부(120), 객체 속성 설정부(125) 및 결과물 생성부(130)를 포함하여 구성될 수 있다.5 and 6, the annotation apparatus 100 includes a communication unit 105, an input/output unit 110, a storage unit 115, a bounding box setting unit 120, an object property setting unit 125, and It may be configured to include a result generating unit 130 .

이와 같은, 어노테이션 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the annotation apparatus 100 merely represent functionally distinct elements, so that two or more components are integrated with each other in the actual physical environment, or one component is separated from each other in the actual physical environment. could be implemented.

각각의 구성 요소에 대하여 설명하면, 통신부(105)는 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)와 데이터를 송수신할 수 있다.When describing each component, the communication unit 105 may transmit/receive data to and from the learning data design apparatus 200 and the artificial intelligence learning apparatus 300 .

구체적으로, 통신부(105)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 하나 이상의 이미지를 수신할 수 있다. Specifically, the communication unit 105 may receive one or more images from the learning data design apparatus 200 or the artificial intelligence learning apparatus 300 .

여기서, 이미지는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지이다. 이와 같은, 이미지는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)가 설계한 데이터 가공 계획에 따라, 어노테이션 작업의 대상이 되는 이미지를 개별적으로 수신하거나, 또는 복수 개의 이미지를 일괄적으로 수신할 수 있다.Here, the image is an image to be subjected to annotation work for artificial intelligence (AI) learning. As such, according to the data processing plan designed by the learning data design device 200 or the artificial intelligence learning device 300 , the images are individually received, or a plurality of images are collectively received. can receive

통신부(105)는 어노테이션의 작업 결과물을 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다.The communication unit 105 may transmit the work result of the annotation to the learning data design apparatus 200 or the artificial intelligence learning apparatus 300 .

여기서, 작업 결과물은 작업자의 제어에 따라 설정된 바운딩 박스의 좌표 및 객체의 속성 정보가 포함될 수 있다. 또한, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Here, the work result may include the coordinates of the bounding box set under the control of the operator and property information of the object. In addition, the work result may have a JSON file format, but is not limited thereto.

그리고, 통신부(150)는 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다.In addition, the communication unit 150 may receive a project property, an image property, or a worker property from the learning data design device 200 or the artificial intelligence learning device 300 .

여기서, 프로젝트의 속성에는 인공지능(AI)의 학습과 관련된 프로젝트에 대한 학습 목적, 학습 기간, 학습에 필요한 이미지의 수, 이미지에서 식별하고자 하는 객체의 속성, 바운딩 박스 설정 규칙 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Here, the properties of the project may include the learning purpose of the project related to the learning of artificial intelligence (AI), the learning period, the number of images required for learning, the properties of the object to be identified in the image, the bounding box setting rule, etc. However, the present invention is not limited thereto.

이미지의 속성에는 이미지의 파일명, 이미지의 크기(너비, 높이), 해상도, 비트 수준, 압축 형식, 촬영 장치명, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 값, 촬영 장소 좌표(GPS 위도, 경도), 촬영 시각 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The properties of the image include the file name of the image, size (width, height), resolution, bit level, compression format, recording device name, exposure time, ISO sensitivity, focal length, aperture opening value, and location coordinates (GPS latitude, longitude) of the image. , shooting time, etc. may be included, but is not limited thereto.

작업자의 속성에는 작업자의 명칭, 식별번호, 할당된 작업량, 작업에 따른 비용, 작업 결과 평가 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The attributes of the worker may include, but are not limited to, the name of the worker, an identification number, the amount of work assigned, the cost according to the work, and evaluation of the work result.

또한, 바운딩 박스 설정 규칙은 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라, 작업자가 이미지 내의 객체에 바운딩 박스를 설정하는 과정에서 지켜야 하는 규칙이다. 이러한, 바운딩 박스 설정 규칙에는 영역의 최소 크기 값, 객체의 외곽선으로부터의 최대 이격 픽셀 수 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.In addition, the bounding box setting rule is a rule that the operator must follow in the process of setting the bounding box to the object in the image according to the properties of the project, the properties of the image, or the properties of the worker. Such a bounding box setting rule may include, but is not limited to, a minimum size value of a region, a maximum number of pixels spaced apart from an outline of an object, and the like.

다음 구성으로, 입출력부(110)는 사용자 인터페이스(User Interface, UI)를 통해 작업자로부터 신호를 입력 거나, 또는 연산된 결과를 외부로 출력할 수 있다.With the following configuration, the input/output unit 110 may input a signal from an operator through a user interface (UI) or output the calculated result to the outside.

여기서, 작업자는 어노테이션 작업을 수행하는 자를 의미한다. 이와 같은, 작업자는 사용자, 수행자, 라벨러 또는 데이터 라벨러 등으로 지칭될 수 있으며, 이에 한정되는 것은 아니다.Here, the worker means a person who performs the annotation work. Such an operator may be referred to as a user, performer, labeler, or data labeler, but is not limited thereto.

구체적으로, 입출력부(110)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(110)는 바운딩 박스를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 그리고, 입출력부(110)는 이미지 위에 바운딩 박스를 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit 110 may output an image to be annotated. The input/output unit 110 may receive a control signal for setting a bounding box from an operator. In addition, the input/output unit 110 may output a bounding box by overlaying it on the image.

여기서, 바운딩 박스(bounding box)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 다각형(polygon) 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.Here, the bounding box is an area for specifying an object to be subjected to artificial intelligence (AI) learning among objects included in the image. As such, the bounding box may have a rectangular or polygonal shape, but is not limited thereto.

입출력부(110)는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 출력할 수 있다. 그리고, 입출력부(110)는 객체의 속성 정보를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. The input/output unit 110 may output a list of recommendation information that can be used as attribute information of an object. In addition, the input/output unit 110 may receive a control signal for setting object attribute information from an operator.

여기서, 추천 정보(proposed information)의 목록은 객체의 속성 정보에 포함될 가능성이 높은 정보들로 구성되어, 작업자가 어노테이션을 수행하는 과정에서 객체의 속성 정보로 활용할 수 있는 정보들의 목록(list)이다.Here, the list of recommended information is a list of information that is composed of information that is highly likely to be included in the attribute information of the object and can be utilized as the attribute information of the object in the process of annotating by the operator.

또한, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.In addition, the attribute information of the object is information for designating the attribute of the object to be the target of artificial intelligence (AI) learning. As such, the attribute information of the object includes information on the type of annotation, the class name, the classification item (tags), whether the object is truncated, the large classification, the small classification, or the upper level (instance upper). may, but is not limited thereto.

다음 구성으로, 저장부(115)는 어노테이션 작업에 필요한 데이터를 저장할 수 있다.With the following configuration, the storage unit 115 may store data required for annotation work.

구체적으로, 저장부(115)는 통신부(105)를 통해 수신된 이미지를 저장할 수 있다. 저장부(115)는 통신부(105)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다. Specifically, the storage unit 115 may store the image received through the communication unit 105 . The storage unit 115 may store the properties of the project, the properties of the images, or the properties of the workers received through the communication unit 105 .

저장부(115)는 입출력부(110)를 통해 입력된 제어 신호에 따라 설정된 바운딩 박스의 위치 및 크기를 임시 저장할 수 있다. 저장부(115)는 입출력부(110)를 통해 입력된 객체의 속성을 임시 저장할 수 있다.The storage unit 115 may temporarily store the position and size of the bounding box set according to the control signal input through the input/output unit 110 . The storage unit 115 may temporarily store the properties of the object input through the input/output unit 110 .

다음 구성으로, 바운딩 박스 설정부(120)는 이미지 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 바운딩 박스를 설정할 수 있다.With the following configuration, the bounding box setting unit 120 may set a bounding box for specifying an object to be a target of artificial intelligence (AI) learning among objects included in the image.

이러한 바운딩 박스 설정부(120)는 바운딩 박스 설정 모듈(121), 객체 식별 모듈(123), 바운딩 박스 수정 모듈(125) 및 객체 상호 보완 모듈(127)을 포함하여 구성될 수 있다.The bounding box setting unit 120 may include a bounding box setting module 121 , an object identification module 123 , a bounding box correction module 125 , and an object mutual complementation module 127 .

바운딩 박스 설정 모듈(121)은 입출력부(110)를 통해 입력된, 작업자의 제어에 따라 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정할 수 있다.The bounding box setting module 121 may set a partial region in an image to be annotated for learning, input through the input/output unit 110 , as a bounding box according to the control of the operator.

또한 바운딩 박스 설정 모듈(121)은 작업자의 제어에 따라, 인공지능 학습을 위한 어노테이션 작업의 대상이 되는 이미지의 복수의 객체(object) 중 하나를 포함하는 일부 영역을 제1 바운딩 박스로 설정하고, 제1 바운딩 박스에 포함된 객체와 적어도 일부가 겹쳐진 다른 객체를 포함하는 일부 영역을 제2 바운딩 박스로 설정할 수 있다.In addition, the bounding box setting module 121 sets, as the first bounding box, a partial area including one of a plurality of objects of an image to be annotated for artificial intelligence learning under the control of the operator, A partial region including an object included in the first bounding box and another object at least partially overlapping may be set as the second bounding box.

이때, 바운딩 박스 설정 모듈(121)은 입출력부(110)를 통해 작업자로부터 두 개의 좌표를 입력 받고, 입력된 두 좌표를 이미지 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 두 개의 좌표는 작업자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 작업자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.At this time, the bounding box setting module 121 receives two coordinates from the operator through the input/output unit 110, and a rectangle having the input two coordinates as the coordinates of the upper left vertex and the coordinates of the lower right vertex in the image. You can set the bounding box based on . In this case, the two coordinates may be set by the operator inputting one type of input signal twice (eg, clicking the mouse), or the operator entering two types of input signals once (eg, dragging the mouse) to set the two coordinates. However, the present invention is not limited thereto.

이와 다르게, 바운딩 박스 설정 모듈(121)은 입출력부(110)를 통해 작업자로부터 네 개의 좌표를 입력 받고, 입력된 네 개의 좌표를 연결하는 선을 기초로 바운딩 박스를 설정할 수 있다. 이 경우, 네 개의 좌표는 작업자가 한 종류의 입력 신호를 네 번 입력(예들 들어, 마우스 클릭)하여 설정될 수 있다.Alternatively, the bounding box setting module 121 may receive four coordinates from an operator through the input/output unit 110 and set the bounding box based on a line connecting the inputted four coordinates. In this case, the four coordinates may be set by the operator inputting one type of input signal four times (eg, clicking a mouse).

또한, 바운딩 박스 설정 모듈(121)은 작업자의 제어에 따라, 학습을 위한 어노테이션 작업의 대상이 되는 이미지 속의 특정 지점을 선택받을 수 있다. 여기서 특정 지점은 입출력부(11)를 통해 작업자로부터 입력받은 한 개의 좌표가 될 수 있다. 그리고 바운딩 박스 설정 모듈(121)은 선택받은 특정 지점을 중심으로 이미지 속의 객체를 포함하는 영역에 해당하는 바운딩 박스를 설정할 수 있다. 구체적으로, 바운딩 박스 설정 모듈(121)은 특정 지점을 중심점으로 하는 사전에 미리 설정된 반지름 값을 갖는 원을 형성하고, 작업자의 제어에 따라 원을 이동시켜 선택된 영역을 바운딩 박스로 설정할 수 있다.Also, the bounding box setting module 121 may receive a selection of a specific point in an image to be annotated for learning under the control of the operator. Here, the specific point may be one coordinate received from the operator through the input/output unit 11 . In addition, the bounding box setting module 121 may set a bounding box corresponding to a region including an object in the image based on a selected specific point. Specifically, the bounding box setting module 121 may form a circle having a preset radius value with a specific point as a center point, and move the circle under the control of the operator to set the selected area as the bounding box.

여기서, 바운딩 박스 설정 모듈(121)은 특정 지점을 중심으로 영역을 넓혀가고, 영역 내부에 특정 객체가 모두 포함되는 시점의 해당 영역을 바운딩 박스로 설정할 수 있다. 이때 바운딩 박스 설정 모듈(121)은 작업자의 제어에 따라, 특정 지점을 중심으로 영역을 넓혀가고, 작업자가 선택한 특정 영역을 바운딩 박스로 설정할 수도 있다. 구체적으로, 바운딩 박스 설정 모듈(121)은 특정 지점을 중심점으로 하는 원을 형성하고, 중심점을 중심으로 원의 반지름을 넓혀가면서, 원에 특정 객체가 모두 포함되는 시점의 해당 영역을 바운딩 박스로 설정할 수 있다.Here, the bounding box setting module 121 may expand the area around a specific point and set the corresponding area at the point in time when all the specific objects are included in the area as the bounding box. In this case, the bounding box setting module 121 may expand the area around a specific point according to the control of the operator, and set the specific area selected by the operator as the bounding box. Specifically, the bounding box setting module 121 forms a circle having a specific point as the center point, and sets the corresponding area at the point in time when all the specific objects are included in the circle as the bounding box while expanding the radius of the circle around the center point. can

이후, 바운딩 박스 설정 모듈(121)은 제1 바운딩 박스 내에서, 제1 바운딩 박스 내에 포함된 객체를 특정하기 위한 제2 특정 지점을 선택할 수 있다. 즉 바운딩 박스 설정 모듈(121)은 객체를 보다 정확히 인식하기 위하여 제1 바운딩 박스 영역 내에서 제2 특정 지점을 다시 지정할 수 있다.Thereafter, the bounding box setting module 121 may select, within the first bounding box, a second specific point for specifying an object included in the first bounding box. That is, the bounding box setting module 121 may designate the second specific point again within the first bounding box area in order to more accurately recognize the object.

그리고 바운딩 박스 설정 모듈(212)은 제2 특정 지점을 중심으로 영역을 넓혀가고, 영역 내부에 특정 객체가 모두 포함되는 시점의 해당 영역을 최종 바운딩 박스로 설정할 수 있다. 이때 제2 특정 지점은 최종 바운딩 박스에서 객체를 제외한 배경 영역이 최소화되도록 설정될 수 있다.In addition, the bounding box setting module 212 may expand the area around the second specific point, and set the corresponding area at the point in time when all the specific objects are included in the area as the final bounding box. In this case, the second specific point may be set such that the background area excluding the object in the final bounding box is minimized.

여기서, 바운딩 박스 설정 모듈(121)은 미리 학습된 기계 학습 모델을 통해 특정 지점을 지정하고, 지정된 특정 지점을 중심으로 객체를 포함하는 바운딩 박스를 설정할 수 있다.Here, the bounding box setting module 121 may designate a specific point through a pre-trained machine learning model, and set a bounding box including an object around the designated specific point.

객체 식별 모듈(123)은 작업자의 제어에 의해 설정된 바운딩 박스의 내측 영역에 완전히 포함되거나, 바운딩 박스를 구성하는 복수 개의 선분 중에서 하나 이상의 선분에 걸쳐 있는 객체를 식별할 수 있다.The object identification module 123 may identify an object that is completely included in the inner region of the bounding box set by the control of the operator or spans one or more line segments among a plurality of line segments constituting the bounding box.

구체적으로, 객체 식별 모듈(123)은 작업자의 제어 의해 설정된 바운딩 박스 내측 영역에 포함된 객체의 전부 또는 일부를 식별할 수 있다. 이를 위하여, 객체 식별 모듈(123)은 바운딩 박스 내측 영역에 대하여 이미지 처리(image processing)를 수행할 수 있다.Specifically, the object identification module 123 may identify all or a part of the object included in the area inside the bounding box set by the control of the operator. To this end, the object identification module 123 may perform image processing on an inner region of the bounding box.

이를 위해, 객체 식별 모듈(123)은 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 검출된 RGB 값을 통해 객체의 엣지(edge)를 추출할 수 있다. 이때 객체 식별 모듈(123)은 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 인접한 픽셀과의 RGB 값의 변화량이 사전 설정된 임계 값보다 높은 지점을 엣지로 추출할 수 있다.To this end, the object identification module 123 may detect an RGB value for each pixel in the inner region of the bounding box, and extract an edge of the object through the detected RGB value. At this time, the object identification module 123 may detect the RGB value for each pixel in the inner region of the bounding box, and extract a point where the change amount of the RGB value with the adjacent pixel is higher than a preset threshold as an edge. .

예를 들어, 객체 식별 모듈(123)은 바운딩 박스 내측 영역을 RGB(Red, Green, Blue)에 따라 세 개의 이미지로 분할할 수 있다. 객체 식별 모듈(123)은 세 개의 이미지로 분할된 각 이미지의 엣지를 추출(edge detection)할 수 있다. 보다 상세하게, 객체 식별 모듈(123)은 각 이미지의 엣지 추출을 위하여, LoG(Laplacian of Gaussian) 알고리즘 또는 DoG(Difference of Gaussian) 알고리즘 중 어느 하나를 이용할 수 있다. For example, the object identification module 123 may divide the area inside the bounding box into three images according to RGB (Red, Green, Blue). The object identification module 123 may extract an edge of each image divided into three images (edge detection). In more detail, the object identification module 123 may use either a Laplacian of Gaussian (LoG) algorithm or a Difference of Gaussian (DoG) algorithm for edge extraction of each image.

LoG 알고리즘을 이용할 경우, 객체 식별 모듈(123)은 가우시안 필터(Gaussian filter)를 이용하여 이미지 내에 존재하는 잡음을 제거할 수 있다. 객체 식별 모듈(123)은 잡음이 제거된 이미지에 라플라시안 필터(Laplacian)를 적용할 수 있다. 그리고, 객체 식별 모듈(123)은 라플라시안 필터가 적용된 이미지에 영교차(zerocrossing)을 검출하여 엣지를 추출할 수 있다.When using the LoG algorithm, the object identification module 123 may use a Gaussian filter to remove noise existing in the image. The object identification module 123 may apply a Laplacian filter to the image from which the noise has been removed. Then, the object identification module 123 may extract an edge by detecting a zero crossing in the image to which the Laplacian filter is applied.

DoG 알고리즘을 이용할 경우, 객체 식별 모듈(123)은 이미지로부터 분산이 서로 다른 가우시안 마스크(Gaussian mask)를 두 개 생성한다. 객체 식별 모듈(123)은 생성된 하나의 마스크에서 다른 하나의 마스크를 뺀다. 그리고, 객체 식별 모듈(123)은 뺀 마스크를 이미지에 적용하여 엣지를 추출할 수 있다.When using the DoG algorithm, the object identification module 123 generates two Gaussian masks having different variances from the image. The object identification module 123 subtracts another mask from the generated one mask. Then, the object identification module 123 may extract the edge by applying the subtracted mask to the image.

여기서 객체 식별 모듈(123)은 추출된 엣지를 기준으로 객체와 배경을 구분하고, 배경을 삭제하고 객체만을 인식하여 객체 정보만을 추출하는 배경 제거 과정이 수행될 수 있다.Here, the object identification module 123 may perform a background removal process of classifying an object and a background based on the extracted edge, deleting the background, recognizing only the object, and extracting only object information.

또한 객체 식별 모듈(123)은 영상으로부터 객체를 추출하기에 앞서, 이미지 내에 존재하는 객체들의 경계를 개선하기 위해 상대적으로 투명한 픽셀을 제거한 후 테두리를 부드럽게 처리하는 과정을 수행한다. 이를 위해, 대상 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널에서 객체의 가장자리를 블러링(blurring)하여 이미지를 전처리할 수 있다. 보다 구체적으로, 객체 식별 모듈(123)은 이미지의 RGBA 이미지로부터 알파 채널(투명도 채널)을 추출하고, 투명도 임계값을 기준으로 그 이상의 영역은 불투명으로 표시하되 투명도 임계값보다 낮은 영역은 완전히 투명하게 변환시킬 수 있다. 그런 다음, 앞서 추출된 알파 채널에서 객체의 가장자리를 부드럽게 처리(blurring)함으로써 이후의 객체 분리 과정을 보다 용이하게 해준다. 성능 보장의 측면에서 이상의 과정은, 예를 들어 2회 수행될 수 있다.In addition, before extracting the object from the image, the object identification module 123 removes relatively transparent pixels to improve the boundary of objects existing in the image and then performs a process of smoothing the edge. To this end, a transparency channel is extracted from the target image, a region having a transparency value lower than a preset transparency threshold is removed, but the image can be pre-processed by blurring the edge of the object in the extracted transparency channel. . More specifically, the object identification module 123 extracts the alpha channel (transparency channel) from the RGBA image of the image, and displays the area above the transparency threshold as opaque, but makes the area lower than the transparency threshold completely transparent. can be converted Then, by blurring the edge of the object in the previously extracted alpha channel, it makes the subsequent object separation process easier. In terms of performance guarantee, the above process may be performed, for example, twice.

이후, 객체 식별 모듈(123)은 중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써, 대상 이미지 내의 배경으로부터 객체를 분리하여 추출할 수 있다. 중요 물체 검출에 관한 다양한 알고리즘이 존재하는데, 여기서는 U2 net을 활용하여 구현된 예를 소개한다. 우선, 객체 추출을 위한 손실 함수는 다음의 수학식 1과 같다.Thereafter, the object identification module 123 derives the probability that the important object belongs to each pixel by using salient object detection (SOD) as an intensity value, thereby extracting the object from the background in the target image. can be isolated and extracted. There are various algorithms for detecting important objects. Here, an example implemented using U2 net is introduced. First, the loss function for object extraction is expressed in Equation 1 below.

Figure 112021147747412-pat00001
Figure 112021147747412-pat00001

여기서,

Figure 112021147747412-pat00002
은 모델의 각 스테이지마다의 중요 맵 손실(saliency map loss)이고, (r, c)는 픽셀 좌표이고, (H, W)는 이미지의 높이와 너비이고, PG는 픽셀의 ground truth 값이며, PS는 중요 맵(saliency map)을 예측한 값을 나타낸다.here,
Figure 112021147747412-pat00002
is the saliency map loss for each stage of the model, (r, c) is the pixel coordinate, (H, W) is the height and width of the image, P G is the ground truth value of the pixel, P S represents a predicted value of a saliency map.

또한, 최종 손실 함수는 다음의 수학식 2와 같다.In addition, the final loss function is expressed by Equation 2 below.

Figure 112021147747412-pat00003
Figure 112021147747412-pat00003

여기서,

Figure 112021147747412-pat00004
는 U2 net의 각 스테이지의 중요 맵을 업샘플링하고 1Х1 컨볼루션 및 시그모이드(sigmoid) 함수를 융합해 연산한 결과이고,
Figure 112021147747412-pat00005
는 U2 net의 각 스테이지에서의 중요 맵 손실의 결과이고,
Figure 112021147747412-pat00006
는 sfuse의 손실(loss)이며,
Figure 112021147747412-pat00007
, wfuse는 각 스테이지에서의 가중치, 및 모든 스테이지를 융합한 가중치를 나타낸다.here,
Figure 112021147747412-pat00004
is the result of upsampling the important map of each stage of U2 net and fusion of 1Х1 convolution and sigmoid function,
Figure 112021147747412-pat00005
is the result of significant map loss in each stage of U2 net,
Figure 112021147747412-pat00006
is the loss of s fuse ,
Figure 112021147747412-pat00007
, w fuse represents a weight in each stage, and a weight obtained by merging all stages.

한편 객체 식별 모듈(123)은 전처리 된 이미지에 투명도를 부여하면서, 객체가 보이지 않는 경계값을 기준으로 RGBA 이미지 내의 배경으로부터 객체를 분리하여 추출할 수 있다.Meanwhile, the object identification module 123 may separate and extract the object from the background in the RGBA image based on the boundary value at which the object is not visible while imparting transparency to the preprocessed image.

또한 객체 식별 모듈(123)은 RGBA 이미지에서 투명도 채널을 추출하고, 투명도가 사전에 설정된 임계 값보다 낮은 투명도를 갖는 픽셀 영역을 배경으로 구분할 수도 있다.In addition, the object identification module 123 may extract a transparency channel from the RGBA image and classify a pixel region having a transparency lower than a preset threshold value as a background.

바운딩 박스 수정 모듈(125)은 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정할 수 있다. 즉 바운딩 박스 수정 모듈(125)은 객체 식별 모듈(123)에 의해 객체와 배경을 구분된 이미지에서 배경을 삭제한 인식된 객체의 크기에 맞춰서 바운딩 박스를 수정할 수 있다.The bounding box correction module 125 may correct the bounding box to the area of the object from which the background is deleted. That is, the bounding box correction module 125 may correct the bounding box according to the size of the recognized object in which the background is deleted from the image in which the object and the background are separated by the object identification module 123 .

객체 상호 보완 모듈(127)은 바운딩 박스 설정 모듈(121)에 의해 겹쳐진 복수의 객체에 각각 바운딩 박스가 설정되면, 각각의 바운딩 박스에 포함된 객체를 추출하고, 각각의 바운딩 박스로부터 추출된 객체를 상호 보완할 수 있다.Object mutual complementation module 127 when each bounding box is set in a plurality of objects overlapped by the bounding box setting module 121, extracts the object included in each bounding box, and extracts the object extracted from each bounding box can complement each other.

예를 들어, 객체 상호 보완 모듈(127)은 제1 바운딩 박스로부터 추출된 객체에서, 제2 바운딩 박스로부터 추출된 객체의 일부를 삭제할 수 있다. 이에 따라, 객체 상호 보완 모듈(127)은 밀접한 복수의 객체를 중복없이 검출하도록 할 수 있다.For example, the object mutual complementation module 127 may delete a part of the object extracted from the second bounding box from the object extracted from the first bounding box. Accordingly, the object mutual complementation module 127 may detect a plurality of closely related objects without duplication.

또한 객체 상호 보완 모듈(127)은 제1 바운딩 박스로부터 추출된 객체에 제2 바운딩 박스로부터 추출된 객체의 일부를 추가할 수 있다. 이에 따라, 객체 상호 보완 모듈(127)은 경계가 폐쇄되지 않거나, 바운딩 박스 오생성으로 누락된 부분을 다른 바운딩 박스에서 추출된 객체로부터 추가할 수 있다.Also, the object mutual complementation module 127 may add a part of the object extracted from the second bounding box to the object extracted from the first bounding box. Accordingly, the object mutual complementation module 127 may add a part whose boundary is not closed or a missing part due to an erroneous creation of a bounding box from an object extracted from another bounding box.

다음 구성으로, 객체 속성 설정부(125)는 바운딩 박스에 의해 특정된 객체의 속성을 설정할 수 있다. 특히, 본 발명에 따른 객체 속성 설정부(125)는 작업자가 속성 정보를 직접 입력하기 이전에, 선제적으로 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 제공할 수 있다.With the following configuration, the object property setting unit 125 may set the property of the object specified by the bounding box. In particular, the object attribute setting unit 125 according to the present invention may provide a list of recommended information that can be preemptively utilized as attribute information of an object before an operator directly inputs attribute information.

우선적으로, 객체 속성 설정부(125)는 바운딩 박스 설정부(120)에 의해 설정된 바운딩 박스에 대응하는 객체의 속성 정보로 활용될 수 있는 추천 정보의 목록을 작성할 수 있다.First, the object property setting unit 125 may create a list of recommended information that can be used as property information of an object corresponding to the bounding box set by the bounding box setting unit 120 .

일 실시예로, 객체 속성 설정부(125)는 사전에 설정된 인공지능(AI) 학습과 관련된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성에 따라, 객체의 속성 정보로 활용될 가능성이 있는 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.In one embodiment, the object property setting unit 125 selects information that is likely to be used as property information of an object according to a property of a project related to artificial intelligence (AI) learning set in advance, a property of an image, or a property of a worker. You can include it to create a list of recommended information.

다른 실시예로, 객체 속성 설정부(125)는 바운딩 박스 설정(120)에 의해 설정된 바운딩 박스 내에 포함된 픽셀들의 평균 색상, 채도 또는 명도를 산출할 수 있다. 객체 속성 설정부(125)는 객체의 유형별로 구성된 색상, 채도 또는 명도의 확률 분포도를 기초로, 산출된 평균 색상, 채도 또는 명도에 따라 하나의 추천 객체의 유형을 선택할 수 있다. 그리고, 객체 속성 설정부(125)는 선택된 추천 객체의 유형과 관련된 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.In another embodiment, the object property setting unit 125 may calculate the average color, saturation, or brightness of pixels included in the bounding box set by the bounding box setting unit 120 . The object property setting unit 125 may select one recommended object type according to the calculated average color, saturation, or brightness based on a probability distribution diagram of color, saturation, or brightness configured for each type of object. In addition, the object property setting unit 125 may create a list of recommendation information by including information related to the type of the selected recommendation object.

또 다른 실시예로, 객체 속성 설정부(125)는 어노테이션 장치(100)의 로컬 저장장치(local storage)에 저장된 작업자의 작업 로그(log)로부터 작업자가 기존에 입력한 속성 정보의 입력 빈도를 식별할 수 있다. 그리고, 객체 속성 설정부(125)는 식별된 입력 빈도를 기초로, 입력 빈도가 높은 속성 정보를 포함시켜 추천 정보의 목록을 작성할 수 있다.In another embodiment, the object property setting unit 125 identifies the input frequency of the property information previously input by the worker from the worker's work log stored in the local storage of the annotation device 100 can do. In addition, the object attribute setting unit 125 may create a list of recommended information by including attribute information having a high input frequency based on the identified input frequency.

다음으로, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록을 필터링할 수 있다.Next, the object property setting unit 125 may filter the list of pre-written recommendation information.

구체적으로, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록에 포함된 정보 중에서, 작업자가 바운딩 박스를 설정하는 과정에서 사용한 작업 툴(tool)에 의해 설정될 수 없는 객체의 유형과 관련된 정보(즉, 객체와 무관한 정보)들을 제거할 수 있다.Specifically, the object property setting unit 125 is information related to the type of object that cannot be set by the work tool used in the process of setting the bounding box by the operator, among the information included in the list of pre-written recommendation information. (ie, information irrelevant to the object) can be removed.

일 실시예로, 작업자가 바운딩 박스를 설정하는 과정에서 사각형 모양의 영역을 지정할 수 있는 툴을 사용한 경우, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록에서 생명체에 해당하는 객체의 유형과 관련된 정보들을 제거할 수 있다. In one embodiment, when the operator uses a tool capable of designating a rectangular area in the process of setting the bounding box, the object property setting unit 125 determines the type and Relevant information can be removed.

다른 실시예로, 작업자가 바운딩 박스를 설정하는 과정에서 객체의 스켈레톤(skeleton) 구조를 지정할 수 있는 툴을 사용한 경우, 객체 속성 설정부(125)는 기 작성된 추천 정보의 목록에서 뼈대를 가지지 않는 객체의 유형과 관련된 정보들을 제거할 수도 있다.In another embodiment, when an operator uses a tool capable of designating a skeleton structure of an object in the process of setting a bounding box, the object property setting unit 125 may include an object having no skeleton in the list of pre-written recommendation information. It is also possible to remove information related to the type of

객체 속성 설정부(125)는 추천 정보의 목록에서 객체와 무관한 정보가 제거되고 남은 정보들을 정렬할 수 있다.The object property setting unit 125 may sort information remaining after information irrelevant to an object is removed from the list of recommendation information.

일 실시예로, 객체 속성 설정부(125)는 이미지 내에서 바운딩 박스가 차지하고 있는 위치 또는 크기를 기초로, 사전에 설정된 정렬 기준에 따라 추천 정보의 목록에 포함된 정보를 정렬할 수 있다.In an embodiment, the object property setting unit 125 may sort information included in the list of recommendation information according to a preset alignment criterion based on a position or size occupied by the bounding box in the image.

다른 실시예로, 객체 속성 설정부(125)는 객체의 유형별로 사전에 구비된 기초 형상과 바운딩 박스에 포함된 객체의 형상을 대비하여, 두 형상의 유사성을 기초로 추천 정보의 목록에 포함된 정보를 정렬할 수도 있다.In another embodiment, the object property setting unit 125 compares the basic shape provided in advance for each type of object and the shape of the object included in the bounding box, and is included in the list of recommended information based on the similarity of the two shapes. You can also sort information.

다음으로, 객체 속성 설정부(125)는 작성 및 필터링된 추천 정보의 목록을 입출력부(110)를 출력할 수 있다. 그리고, 객체 속성 설정부(125)는 입출력부(110)를 통해 작업자로부터 객체의 속성 정보를 설정하기 위한 제어 신호를 입력받을 수 있다.Next, the object property setting unit 125 may output the input/output unit 110 a list of the written and filtered recommendation information. In addition, the object property setting unit 125 may receive a control signal for setting object property information from an operator through the input/output unit 110 .

객체 속성 설정부(125)는 작업자의 제어에 의해 추천 정보의 목록 중에서 하나의 정보가 선택되면, 선택된 정보에 대응하는 객체의 유형에 따라 피드백(feedback)을 제공할 수 있다.When one piece of information is selected from the list of recommended information under the control of the operator, the object property setting unit 125 may provide feedback according to the type of object corresponding to the selected information.

일 실시예로, 객체 속성 설정부(125)는 선택된 정보에 대응하는 객체의 유형에 따라 서로 다르게 설정된 색상 또는 투명도를 반영하여, 바운딩 박스 내부의 영역 또는 객체 내부의 영역과 관련된 사용자 인터페이스(User Interface, UI)를 변경할 수 있다.In one embodiment, the object property setting unit 125 reflects a color or transparency set differently depending on the type of object corresponding to the selected information, and a user interface related to an area inside a bounding box or an area inside the object. , UI) can be changed.

다음 구성으로, 결과물 생성부(130)는 어노테이션의 작업 결과물을 생성하여, 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다. With the following configuration, the result generating unit 130 may generate a work result of the annotation and transmit it to the learning data design apparatus 200 or the artificial intelligence learning apparatus 300 .

구체적으로, 결과물 생성부(130)는 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되고, 추천 정보 목록을 기초로 작업자의 제어에 의해 객체의 속성 정보가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표 및 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다. 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.Specifically, the result generating unit 130 determines the position and size of the enlarged or reduced bounding box under the control of the operator, and when the property information of the object is determined by the control of the operator based on the list of recommended information, the determined A work result of the annotation can be generated including coordinates and determined attribute information according to the location and size of the bounding box. Such a work result may have a JSON file format, but is not limited thereto.

그리고, 결과물 생성부(130)는 생성된 어노테이션의 작업 결과물을 통신부(105)를 통해 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다. In addition, the result generating unit 130 may transmit the generated annotation work result to the learning data design apparatus 200 or the artificial intelligence learning apparatus 300 through the communication unit 105 .

이하, 상술한 바와 같은 어노테이션 장치(100)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the logical components of the annotation apparatus 100 as described above will be described in more detail.

도 7은 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.7 is a hardware configuration diagram of an annotation apparatus according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 어노테이션 장치(100)는 프로세서(Processor, 150), 메모리(Memory, 155), 송수신기(Transceiver, 160), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 170) 및 스토리지(Storage, 175)를 포함하여 구성될 수 있다. As shown in FIG. 7 , the annotation device 100 includes a processor 150 , a memory 155 , a transceiver 160 , an input/output device 165 , and a data bus Bus , 170) and storage (Storage, 175).

프로세서(150)는 메모리(155)에 상주된 어노테이션 방법이 구현된 소프트웨어(180a)에 따른 명령어를 기초로, 어노테이션 장치(100)의 동작 및 기능을 구현할 수 있다. 메모리(155)에는 어노테이션 방법이 구현된 소프트웨어(180a)가 상주(loading)될 수 있다. 송수신기(160)는 학습 데이터 설계 장치(200) 및 인공지능 학습 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(165)는 어노테이션 장치(100)의 동작에 필요한 데이터를 입력 받고, 이미지, 바운딩 박스 및 추천 정보의 목록을 출력할 수 있다. 데이터 버스(170)는 프로세서(150), 메모리(155), 송수신기(160), 입출력장치(165) 및 스토리지(175)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 150 may implement the operations and functions of the annotation apparatus 100 based on an instruction according to the software 180a in which the annotation method is implemented, which resides in the memory 155 . The memory 155 may be loaded with software 180a in which the annotation method is implemented. The transceiver 160 may transmit and receive data to and from the learning data design apparatus 200 and the artificial intelligence learning apparatus 300 . The input/output device 165 may receive data necessary for the operation of the annotation device 100 , and may output an image, a bounding box, and a list of recommendation information. The data bus 170 is connected to the processor 150 , the memory 155 , the transceiver 160 , the input/output device 165 , and the storage 175 . can play a role.

스토리지(175)는 어노테이션 방법이 구현된 소프트웨어(180a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(175)는 어노테이션 방법이 구현된 소프트웨어(180b)를 저장할 수 있다. 또한, 스토리지(175)는 어노테이션 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지(175)는 어노테이션 작업의 대상이 되는 이미지, 프로젝트의 속성, 이미지의 속성, 작업자의 속성 및 작업자의 작업 로그 등을 저장하는 데이터베이스(185)를 포함할 수 있다.The storage 175 may store an application programming interface (API), a library file, a resource file, and the like necessary for the execution of the software 180a in which the annotation method is implemented. The storage 175 may store the software 180b in which the annotation method is implemented. Also, the storage 175 may store information necessary for performing the annotation method. In particular, the storage 175 may include a database 185 that stores an image to be annotated, properties of a project, properties of an image, properties of workers, and work logs of workers.

본 발명의 일 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계, 프로세서(150)가 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하는 단계 및 프로세서가, 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to an embodiment of the present invention, the software 180a, 180b for implementing the annotation method resident in the memory 155 or stored in the storage 175 is the processor 150 under the control of the operator, artificial intelligence ( Step of setting a partial area in the image to be subjected to annotation work for artificial intelligence (AI) learning as a bounding box, the processor 150 is the edge of the object in the inner area of the bounding box extracts, distinguishing an object and a background based on the extracted edge, and the processor corrects the bounding box to the area of the object from which the background has been deleted. It can be a computer program.

본 발명의 다른 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 복수의 객체(object) 중 하나를 포함하는 일부 영역을 제1 바운딩 박스(bounding box)로 설정하는 단계, 프로세서(150), 작업자의 제어에 따라, 제1 바운딩 박스에 포함된 객체와 적어도 일부가 겹쳐진 다른 객체를 포함하는 일부 영역을 제2 바운딩 박스로 설정하는 단계 및 프로세서(150)가, 제1 바운딩 박스 및 제2 바운딩 박스에 포함된 객체를 각각 추출하고, 제1 바운딩 박스 및 제2 바운딩 박스로부터 각각 추출된 객체를 상호 보완하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 180a, 180b for implementing the annotation method resident in the memory 155 or stored in the storage 175 is the processor 150 under the control of the operator, artificial intelligence ( A step of setting a partial area including one of a plurality of objects in an image to be annotated for artificial intelligence (AI) learning as a first bounding box, the processor 150 , according to the control of the operator, setting a partial area including an object included in the first bounding box and another object at least partially overlapping with the second bounding box, and the processor 150, the first bounding box and the second It may be a computer program recorded on a recording medium to execute the steps of extracting each object included in the bounding box, and complementing each extracted object from the first bounding box and the second bounding box.

본 발명의 또 다른 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가, 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 특정 지점을 선택받는 단계 및 프로세서(150)가, 선택받은 특정 지점을 중심으로 이미지 속의 객체를 포함하는 영역에 해당하는 바운딩 박스(bounding box)를 설정하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 180a, 180b for implementing the annotation method resident in the memory 155 or stored in the storage 175 is performed by the processor 150 under the control of the operator, A step of selecting a specific point in an image to be subjected to an annotation operation for artificial intelligence (AI) learning and the processor 150 corresponds to an area including an object in the image centered on the selected specific point It may be a computer program recorded on a recording medium to execute the step of setting a bounding box.

보다 구체적으로, 프로세서(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) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 150 may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 155 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. The transceiver 160 may include a baseband circuit for processing wired and wireless signals. The input/output device 165 includes an input device such as a keyboard, a mouse, and/or a joystick, and a liquid crystal display (LCD), an organic light emitting diode (OLED) and/or an input device such as a joystick. Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(155)에 상주되고, 프로세서(150)에 의해 실행될 수 있다. 메모리(155)는 프로세서(150)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(150)와 연결될 수 있다.When the embodiment included in this specification is implemented in software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described function. The module resides in the memory 155 and may be executed by the processor 150 . The memory 155 may be internal or external to the processor 150 , and may be connected to the processor 150 by various well-known means.

도 7에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 7 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention provides one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), a processor, a controller, a microcontroller, a microprocessor, etc. may be implemented.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored in a recording medium readable through various computer means. can be recorded. Here, the recording medium may include a program command, a data file, a data structure, etc. alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. For example, the recording medium includes a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), and a floppy disk. magneto-optical media, such as a disk, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler. Such hardware devices may be configured to operate as one or more software to perform the operations of the present invention, and vice versa.

이하, 지금까지 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, the features of the artificial intelligence learning system according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.

도 8 내지 도 12는 본 발명의 실시예에 따라 바운딩 박스를 설정하는 과정을 설명하기 위한 예시도이다.8 to 12 are exemplary views for explaining a process of setting a bounding box according to an embodiment of the present invention.

도 8 및 도 12를 참조하면, 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 인공지능(AI) 학습을 위한 다수의 이미지 각각에 대하여 어노테이션을 수행함에 있어, 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하고, 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정함에 따라, 작업자의 작업 시간을 단축하면서, 보다 균일한 품질의 어노테이션 작업 결과물을 가질 수 있다.8 and 12 , the annotation apparatus 100 of the artificial intelligence learning system according to an embodiment of the present invention performs an annotation on each of a plurality of images for artificial intelligence (AI) learning, a bounding box By extracting the edge of the object from the inner region of It is possible to have a more uniform quality of the annotation work while reducing the work time.

예를 들어, 도 8에 도시된 바와 같이, 어노테이션 장치(100)는 작업자에 의해 객체(a2)를 포함하는 영역을 바운딩 박스로 설정할 수 있다. 이후 어노테이션 장치(100)는 바운딩 박스의 내측 영역에서 객체의 엣지를 추출하고, 추출된 엣지를 기준으로 객체(a2)와 배경(a1)을 구분할 수 있다. 그리고 도 9에 도시된 바와 같이, 어노테이션 장치(100)는 바운딩 박스에서 배경(a1)을 삭제하고, 바운딩 박스를 객체(a2)의 영역으로 수정할 수 있다.For example, as shown in FIG. 8 , the annotation apparatus 100 may set an area including the object a2 as a bounding box by an operator. Thereafter, the annotation apparatus 100 may extract the edge of the object from the inner region of the bounding box, and distinguish the object a2 and the background a1 based on the extracted edge. And as shown in FIG. 9 , the annotation apparatus 100 may delete the background a1 from the bounding box and modify the bounding box to the area of the object a2 .

또한 도 10을 참조하면, 본 발명의 다른 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 인공지능(AI) 학습을 위한 다수의 이미지 각각에 대하여 어노테이션을 수행함에 있어, 이미지 속에 포함된 겹쳐진 복수의 객체에 대하여 각각 바운딩 박스를 설정하고, 각각의 바운딩 박스에서 추출된 객체를 상호 보완함으로써, 겹쳐진 복수의 객체의 추출에 대한 오류를 최소화할 수 있다.Also, referring to FIG. 10 , the annotation apparatus 100 of the artificial intelligence learning system according to another embodiment of the present invention performs annotation on each of a plurality of images for artificial intelligence (AI) learning. By setting each bounding box for a plurality of overlapping objects and complementing objects extracted from each bounding box, it is possible to minimize errors in extraction of a plurality of overlapping objects.

예를 들어, 도 10에 도시된 바와 같이, 어노테이션 장치(100)는 겹쳐진 객체를 전부 포함하는 바운딩 박스(b1)을 1차로 생성하고, 구분할 객체에 대한 바운딩 박스(b2)를 2차로 생성한 후에, 1차 바운딩 박스(b1) 내에서 특정된 객체에서 2차 바운딩 박스(b2)에서 특정된 객체를 삭제함으로써, 겹쳐진 객체를 중복없이 검출할 수 있다.For example, as shown in FIG. 10 , the annotation apparatus 100 first creates a bounding box b1 including all overlapping objects, and after secondly creates a bounding box b2 for an object to be distinguished. , by deleting the object specified in the secondary bounding box b2 from the object specified in the primary bounding box b1, overlapping objects can be detected without duplication.

또한 도 11 및 도 12를 참조하면, 본 발명의 또 다른 실시예에 따른 인공지능 학습 시스템의 어노테이션 장치(100)는 인공지능(AI) 학습을 위한 다수의 이미지 각각에 대하여 어노테이션을 수행함에 있어, 작업자로부터 선택받은 특정 지점을 중심으로 이미지 속의 객체를 포함하는 영역에 해당하는 바운딩 박스를 설정함으로써, 작업자의 작업 시간을 단축할 수 있다.In addition, referring to FIGS. 11 and 12 , the annotation apparatus 100 of an artificial intelligence learning system according to another embodiment of the present invention performs annotation on each of a plurality of images for artificial intelligence (AI) learning, By setting a bounding box corresponding to an area including an object in an image with a focus on a specific point selected by the operator, the operator's work time can be reduced.

예를 들어, 도 11에 도시된 바와 같이, 어노테이션 장치(100)는 작업자의 제어에 따라 특정 지점(p1)을 선택받을 수 있다. 이후 어노테이션 장치(100)는 특정 지점을 기준으로 객체(object)를 모두 포함하는 원형의 바운딩 박스(a1)를 설정할 수 있다. 그리고 도 12에 도시된 바와 같이, 어노테이션 장치(100)는 객체를 모다 명확히 인식하기 위하여, 1차로 생성한 바운딩 박스(a1) 내에서 특정 지점(p2)를 특정하고, 2차로 특정한 특정 지점(p2)을 중심으로 객체(object)를 모두 포함하는 바운딩 박스(a2)를 최종적으로 설정할 수 있다.For example, as shown in FIG. 11 , the annotation apparatus 100 may receive a selection of a specific point p1 under the control of an operator. Thereafter, the annotation apparatus 100 may set a circular bounding box a1 including all objects based on a specific point. And, as shown in FIG. 12 , the annotation apparatus 100 specifies a specific point p2 within the firstly created bounding box a1 in order to clearly recognize the object, and secondly specifies a specific specific point p2 ), a bounding box a2 including all objects may be finally set.

도 13은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.13 is a flowchart illustrating an annotation method according to an embodiment of the present invention.

도 13을 참조하여 본 발명의 일 실시예에 따른 어노테이션 방법을 설명함에 있어, 도 8 내지 도 12를 참조하여 설명한 바와 동일한 설명은 반복하여 기재하지 않는다.In describing the annotation method according to an embodiment of the present invention with reference to FIG. 13 , the same description as described with reference to FIGS. 8 to 12 will not be repeated.

도 13을 참조하면, 어노테이션 장치(100)는 어노테이션 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스로 설정하기 위한 좌표를 작업자로부터 입력 받을 수 있다(S100).Referring to FIG. 13 , the annotation apparatus 100 may receive coordinates for setting a partial region in an image to be annotated as a bounding box from an operator ( S100 ).

어노테이션 장치(100)는 작업자로부터 입력된 좌표를 기초로 바운딩 박스를 설정할 수 있다(S200). 한편 바운딩 박스를 설정하는 구체적인 실시예들은 후술하도록 한다.The annotation apparatus 100 may set a bounding box based on the coordinates input from the operator (S200). Meanwhile, specific embodiments of setting the bounding box will be described later.

어노테이션 장치(100)는 바운딩 박스에 의해 특정된 객체의 속성 정보를 입력할 수 있다(S300). The annotation apparatus 100 may input attribute information of the object specified by the bounding box (S300).

어노테이션 장치(100)는 작업자의 제어에 의해 확대 또는 축소된 바운딩 박스의 위치 및 크기가 확정되고, 추천 정보 목록을 기초로 작업자의 제어에 의해 객체의 속성 정보가 확정되면, 확정된 바운딩 박스의 위치 및 크기에 따른 좌표 및 확정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다(S400). 이와 같은, 작업 결과물은 JSON 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.The annotation apparatus 100 determines the position and size of the enlarged or reduced bounding box by the control of the operator, and when the property information of the object is determined by the control of the operator based on the recommended information list, the position of the determined bounding box And it is possible to generate a work result of the annotation including the coordinates and the determined attribute information according to the size (S400). Such a work result may have a JSON file format, but is not limited thereto.

그리고, 어노테이션 장치(100)는 생성된 어노테이션의 작업 결과물을 학습 데이터 설계 장치(200) 또는 인공지능 학습 장치(300)에 전송할 수 있다. In addition, the annotation apparatus 100 may transmit a work result of the generated annotation to the learning data design apparatus 200 or the artificial intelligence learning apparatus 300 .

도 14는 본 발명의 일 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.14 is a flowchart illustrating a method of setting a bounding box according to an embodiment of the present invention.

도 14를 참조하면, 본 발명의 일 실시예에 따른 어노테이션 장치(100)는 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정할 수 있다(S211).Referring to FIG. 14 , in the annotation apparatus 100 according to an embodiment of the present invention, a partial region in an image to be subjected to an annotation operation for artificial intelligence (AI) learning under the control of an operator. can be set as a bounding box (S211).

다음으로 어노테이션 장치(100)는 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분할 수 있다(S213). 이때 어노테이션 장치(100)는 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 검출된 RGB 값을 통해 객체의 엣지(edge)를 추출할 수 있다. 이때 객체 식별 모듈(123)은 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 인접한 픽셀과의 RGB 값의 변화량이 사전 설정된 임계 값보다 높은 지점을 엣지로 추출할 수 있다.Next, the annotation apparatus 100 may extract an edge of the object from the inner region of the bounding box and classify the object and the background based on the extracted edge ( S213 ). In this case, the annotation apparatus 100 may detect an RGB value for each pixel in the inner region of the bounding box, and extract an edge of the object through the detected RGB value. At this time, the object identification module 123 may detect the RGB value for each pixel in the inner region of the bounding box, and extract a point where the change amount of the RGB value with the adjacent pixel is higher than a preset threshold as an edge. .

또한 어노테이션 장치(100)는 RGBA 이미지에서 투명도 채널을 추출하고, 투명도가 사전에 설정된 임계 값보다 낮은 투명도를 갖는 픽셀 영역을 배경으로 구분할 수도 있다.Also, the annotation apparatus 100 may extract a transparency channel from the RGBA image and classify a pixel area having a transparency lower than a preset threshold value as a background.

그리고 어노테이션 장치(100)는 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정할 수 있다(S215).And the annotation apparatus 100 may correct the bounding box to the area of the object from which the background is deleted (S215).

도 15는 본 발명의 다른 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.15 is a flowchart illustrating a method of setting a bounding box according to another embodiment of the present invention.

도 15를 참조하면, 본 발명의 다른 실시예에 따른 어노테이션 장치(100)는 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 복수의 객체(object) 중 하나를 포함하는 일부 영역을 제1 바운딩 박스(bounding box)로 설정할 수 있다(S221).Referring to FIG. 15 , the annotation apparatus 100 according to another embodiment of the present invention includes a plurality of images in an image to be subjected to an annotation operation for artificial intelligence (AI) learning under the control of an operator. A partial area including one of the objects may be set as a first bounding box (S221).

다음으로 어노테이션 장치(100)는 작업자의 제어에 따라, 제1 바운딩 박스에 포함된 객체와 적어도 일부가 겹쳐진 다른 객체를 포함하는 일부 영역을 제2 바운딩 박스로 설정할 수 있다(S223).Next, the annotation apparatus 100 may set a partial region including an object included in the first bounding box and another object at least partially overlapping with the second bounding box under the control of the operator ( S223 ).

그리고 어노테이션 장치(100)는 제1 바운딩 박스 및 제2 바운딩 박스에 포함된 객체를 각각 추출하고, 제1 바운딩 박스 및 제2 바운딩 박스로부터 각각 추출된 객체를 상호 보완할 수 있다(S225).In addition, the annotation apparatus 100 may extract objects included in the first and second bounding boxes, respectively, and complement the objects respectively extracted from the first and second bounding boxes ( S225 ).

즉 어노테이션 장치(100)는 제1 바운딩 박스로부터 추출된 객체에서, 제2 바운딩 박스로부터 추출된 객체의 일부를 삭제할 수 있다. 이에 따라, 밀접한 복수의 객체를 중복없이 검출하도록 할 수 있다.That is, the annotation apparatus 100 may delete a part of the object extracted from the second bounding box from the object extracted from the first bounding box. Accordingly, it is possible to detect a plurality of closely related objects without duplication.

또한 어노테이션 장치(100)는 제1 바운딩 박스로부터 추출된 객체에 제2 바운딩 박스로부터 추출된 객체의 일부를 추가할 수 있다. 이에 따라, 경계가 폐쇄되지 않거나, 바운딩 박스 오생성으로 누락된 부분을 다른 바운딩 박스에서 추출된 객체로부터 추가할 수 있다.Also, the annotation apparatus 100 may add a part of the object extracted from the second bounding box to the object extracted from the first bounding box. Accordingly, the boundary may not be closed, or a missing part due to misgeneration of the bounding box may be added from an object extracted from another bounding box.

도 16은 본 발명의 또 다른 실시예에 따라 바운딩 박스를 설정하는 방법을 설명하기 위한 순서도이다.16 is a flowchart illustrating a method of setting a bounding box according to another embodiment of the present invention.

도 16을 참조하면, 본 발명의 또 다른 실시예에 따른 어노테이션 장치(100)는 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 특정 지점을 선택받고, 선택받은 특정 지점을 중심으로 이미지 속의 객체를 포함하는 영역에 해당하는 바운딩 박스(bounding box)를 설정할 수 있다(S231).Referring to FIG. 16 , the annotation apparatus 100 according to another embodiment of the present invention is a specific image in an image to be subjected to an annotation operation for artificial intelligence (AI) learning under the control of an operator. A point may be selected, and a bounding box corresponding to an area including an object in the image may be set around the selected specific point (S231).

이때 어노테이션 장치(100)는 특정 지점을 중심점으로 하는 원을 형성하고, 중심점을 중심으로 원의 반지름을 넓혀가면서, 원에 특정 객체가 모두 포함되는 시점의 해당 영역을 바운딩 박스로 설정할 수 있다.In this case, the annotation apparatus 100 may form a circle having a specific point as a center point, and set a corresponding area at a viewpoint in which all specific objects are included in the circle as a bounding box while extending the radius of the circle around the center point.

다음으로 어노테이션 장치(100)는 제1 바운딩 박스 내에서, 제1 바운딩 박스 내에 포함된 객체를 특정하기 위한 제2 특정 지점을 선택한다(S233).Next, the annotation apparatus 100 selects, within the first bounding box, a second specific point for specifying an object included in the first bounding box ( S233 ).

그리고 어노테이션 장치(100)는 제2 특정 지점을 중심으로 영역을 넓혀가고, 영역 내부에 특정 객체가 모두 포함되는 시점의 해당 영역을 제2 바운딩 박스로 설정하여, 최종 바운딩 박스로 설정할 수 있다.In addition, the annotation apparatus 100 may expand the area around the second specific point, set the corresponding area at the point in time when all the specific objects are included in the area as the second bounding box, and set it as the final bounding box.

도 17은 본 발명의 일 실시예에 따른 보안 관리 방법을 설명하기 위한 순서도이다.17 is a flowchart illustrating a security management method according to an embodiment of the present invention.

도 17을 참조하면, 보안 관리 장치(500)는 복수의 인공지능 학습 시스템 각각의 어노테이션(annotation) 작업에 대한 보안 정책을 수집한다(S600). 여기서 학습 데이터 설계 장치(200) 각각은 보안 정책에 따라 설정되는 공개 어노테이션 작업 대상물을 저장하는 비보안 영역과, 비공개 어노테이션 작업 대상물을 저장하는 보안 영역을 포함할 수 있다. 이때 보안 영역과 비보안 영역은 어노테이션 작업의 속성, 어노테이션 작업자의 수 및 해당 국가의 개인정보 관련 법규 중 적어도 하나를 고려하여 설정될 수 있다.Referring to FIG. 17 , the security management device 500 collects security policies for annotation tasks of a plurality of AI learning systems ( S600 ). Here, each of the learning data design apparatus 200 may include a non-security area storing a public annotation work object set according to a security policy, and a security area storing a private annotation work object. In this case, the security area and the non-security area may be set in consideration of at least one of the properties of the annotation work, the number of annotation workers, and privacy-related laws of the country.

다음으로, 보안 관리 장치(500)는 어노테이션 장치(100)로부터 복수의 인공지능 학습 시스템(400)의 학습 데이터 설계 장치(200) 중 하나로 어노테이션 작업을 위한 접근을 요청받을 수 있다(S700).Next, the security management device 500 may receive a request for access for annotation work from the annotation device 100 to one of the learning data design devices 200 of the plurality of artificial intelligence learning systems 400 ( S700 ).

그리고, 보안 관리 장치(500)는 접근이 필요한 인공지능 학습 시스템(400)의 보안 정책에 따라 어노테이션 장치(100)에 접근을 허용할 수 있다(S800). 이때, 보안 관리 장치(500)는 접근이 필요한 학습 데이터 설계 장치(200)의 비보안 영역에 저장된 공개 어노테이션 대상물을 제공하여, 어노테이션 작업을 수행하도록 할 수 있다. 또한 보안 관리 장치(500)는 접근을 요청한 어노테이션 장치(100)의 식별 정보를 기초로, 접근을 요청한 어노테이션 장치의 국가를 식별하고, 식별된 국가에서 접속할 수 있는 인공지능 학습 시스템(400)의 접근을 허용할 수 있다.And, the security management device 500 may allow access to the annotation device 100 according to the security policy of the artificial intelligence learning system 400 that requires access (S800). In this case, the security management apparatus 500 may provide the public annotation object stored in the non-security area of the learning data design apparatus 200 that requires access to perform the annotation operation. In addition, the security management device 500 identifies the country of the annotation device that has requested access, based on the identification information of the annotation device 100 that has requested access, and accesses the artificial intelligence learning system 400 that can be accessed from the identified country. can allow

이후, 어노테이션 장치(100)는 접근이 허용된 학습 데이터 설계 장치(200)의 비보안 영역에 저장된 공개 어노테이션 대상물에 대하여 어노테이션 작업을 수행할 수 있다.Thereafter, the annotation apparatus 100 may perform an annotation operation on the public annotation object stored in the non-security area of the learning data design apparatus 200 to which access is allowed.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention pertains that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein. It is obvious to those with ordinary knowledge. In addition, although specific terms have been used in the present specification and drawings, these are only used in a general sense to easily describe the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. Accordingly, the foregoing detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

어노테이션 장치: 100-1, 100-2, 100-3, …, 100-n; 100
통신부: 105 입출력부: 110
저장부: 115 바운딩 박스 설정부: 120
객체 속성 설정부: 125 결과물 생성부: 130
학습 데이터 설계 장치: 200 인공지능 학습 장치: 300
인공지능 학습 시스템: 400 보안 관리 장치: 500
보안 관리 시스템: 600
Annotation devices: 100-1, 100-2, 100-3, … , 100-n; 100
Communication unit: 105 Input/output unit: 110
Storage unit: 115 Bounding box setting unit: 120
Object property setting unit: 125 Result generation unit: 130
Learning data design device: 200 Artificial intelligence learning device: 300
AI Learning System: 400 Security Management Unit: 500
Security Management System: 600

Claims (10)

어노테이션 장치가, 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계;
상기 어노테이션 장치가, 상기 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하는 단계; 및
상기 어노테이션 장치가, 상기 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정하는 단계를 포함하고,
상기 배경을 구분하는 단계는,
상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB(red, green, blue) 값을 검출하여 RGB 이미지를 생성하는 단계;
상기 생성된 RGB 채널을 RGBA(red, green, blue, alpha) 이미지로 변경하는 단계; 및
상기 RGBA 이미지에서 투명도를 기준으로 객체의 엣지(edge)를 추출하는 단계를 포함하고,
상기 엣지를 추출하는 단계는,
상기 RGBA 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계 값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널에서 상기 객체의 가장자리를 블러링(blurring)하여 이미지를 전처리하는 단계; 및
중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써 상기 RGBA 이미지 내의 배경으로부터 상기 객체를 분리하여 추출하는 단계를 포함하는 것을 특징으로 하는, 어노테이션 방법.
setting, by an annotation device, a partial region in an image to be subjected to an annotation operation for artificial intelligence (AI) learning as a bounding box according to the control of the operator;
extracting, by the annotation device, an edge of an object from an inner region of the bounding box, and classifying an object and a background based on the extracted edge; and
Including, by the annotation device, modifying a bounding box to the area of the object from which the background has been deleted,
The step of classifying the background is
generating an RGB image by detecting RGB (red, green, blue) values for each pixel in an inner region of the bounding box;
changing the generated RGB channel to an RGBA (red, green, blue, alpha) image; and
Extracting an edge of an object based on transparency from the RGBA image,
The step of extracting the edge is
extracting a transparency channel from the RGBA image, removing a region having a transparency value lower than a preset transparency threshold value, and preprocessing the image by blurring an edge of the object from the extracted transparency channel; and
Separating and extracting the object from the background in the RGBA image by deriving the probability that the important object belongs to each pixel as an intensity value using salient object detection (SOD) Annotation method, characterized in that.
제1항에 있어서, 상기 바운딩 박스로 설정하는 단계는,
상기 이미지 내에서 상기 작업자로부터 입력된 두 좌표를 좌상단 꼭짓점(vertex)의 좌표와 우하단 꼭짓점의 좌표로 가지는 사각형을 기초로 상기 바운딩 박스를 설정하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the setting of the bounding box comprises:
Annotation method, characterized in that the bounding box is set based on a rectangle having two coordinates input from the operator in the image as the coordinates of the upper-left vertex and the coordinates of the lower-right vertex.
제1항에 있어서, 상기 바운딩 박스로 설정하는 단계는,
상기 이미지 내에서 상기 작업자로부터 입력된 네개의 좌표를 연결하는 사각형을 기초로 상기 바운딩 박스를 설정하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the setting of the bounding box comprises:
Annotation method, characterized in that the bounding box is set based on a rectangle connecting the four coordinates input from the operator in the image.
제1항에 있어서, 상기 배경을 구분하는 단계는,
상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 상기 검출된 RGB 값을 통해 객체의 엣지(edge)를 추출하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 1, wherein the step of classifying the background comprises:
Annotation method, characterized in that the RGB value of each pixel is detected in the inner region of the bounding box, and the edge of the object is extracted through the detected RGB value.
제4항에 있어서, 상기 배경을 구분하는 단계는,
상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB 값을 검출하고, 인접한 픽셀과의 RGB 값의 변화량이 사전 설정된 임계 값보다 높은 지점을 엣지로 추출하는 것을 특징으로 하는, 어노테이션 방법.
The method of claim 4, wherein the step of classifying the background comprises:
Annotation method, characterized in that the RGB value of each pixel is detected in the inner region of the bounding box, and a point where the change amount of the RGB value with respect to an adjacent pixel is higher than a preset threshold value is extracted as an edge.
삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 엣지를 추출하는 단계는,
상기 RGBA 이미지에서 투명도 채널을 추출하고, 투명도가 사전에 설정된 임계 값보다 낮은 투명도를 갖는 픽셀 영역을 배경으로 구분하는 것을 특징으로 하는, 어노테이션 방법.
According to claim 1, wherein the step of extracting the edge,
Extracting a transparency channel from the RGBA image, and separating a pixel region having a transparency lower than a preset threshold value as a background, the annotation method.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지 속의 일부 영역을 바운딩 박스(bounding box)로 설정하는 단계;
상기 프로세서가, 상기 바운딩 박스의 내측 영역에서 객체의 엣지(edge)를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하는 단계; 및
상기 프로세서가, 상기 배경을 삭제한 객체의 영역으로 바운딩 박스를 수정하는 단계를 포함하고,
상기 배경을 구분하는 단계는,
상기 바운딩 박스의 내측 영역에서 각 픽셀(pixel)에 대한 RGB(red, green, blue) 값을 검출하여 RGB 이미지를 생성하는 단계;
상기 생성된 RGB 채널을 RGBA(red, green, blue, alpha) 이미지로 변경하는 단계; 및
상기 RGBA 이미지에서 투명도를 기준으로 객체의 엣지(edge)를 추출하는 단계를 포함하고,
상기 엣지를 추출하는 단계는,
상기 RGBA 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계 값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널에서 상기 객체의 가장자리를 블러링(blurring)하여 이미지를 전처리하는 단계; 및
중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써 상기 RGBA 이미지 내의 배경으로부터 상기 객체를 분리하여 추출하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
In combination with a computing device configured to include a processor (processor) for processing instructions resident in the memory,
setting, by the processor, a partial region in an image to be subjected to an annotation operation for artificial intelligence (AI) learning as a bounding box under the control of the operator;
extracting, by the processor, an edge of an object from an inner region of the bounding box, and classifying an object and a background based on the extracted edge; and
Including, by the processor, modifying a bounding box to the area of the object from which the background has been deleted,
The step of classifying the background is
generating an RGB image by detecting RGB (red, green, blue) values for each pixel in an inner region of the bounding box;
changing the generated RGB channel to an RGBA (red, green, blue, alpha) image; and
Extracting an edge of an object based on transparency from the RGBA image,
The step of extracting the edge is
extracting a transparency channel from the RGBA image, removing a region having a transparency value lower than a preset transparency threshold, and preprocessing the image by blurring an edge of the object from the extracted transparency channel; and
Execute the step of separating and extracting the object from the background in the RGBA image by deriving the probability that the important object belongs to each pixel as an intensity value using salient object detection (SOD) In order to do so, a computer program recorded on a recording medium.
KR1020210183372A 2021-12-21 2021-12-21 Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method KR102439429B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210183372A KR102439429B1 (en) 2021-12-21 2021-12-21 Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210183372A KR102439429B1 (en) 2021-12-21 2021-12-21 Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method

Publications (1)

Publication Number Publication Date
KR102439429B1 true KR102439429B1 (en) 2022-09-05

Family

ID=83279835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210183372A KR102439429B1 (en) 2021-12-21 2021-12-21 Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method

Country Status (1)

Country Link
KR (1) KR102439429B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565420B1 (en) * 2022-11-21 2023-08-09 주식회사 비브스튜디오스 Method for performing object segmentation in virtual production environment
WO2024101532A1 (en) * 2022-11-07 2024-05-16 한국생산기술연구원 Device and method for estimating three-dimensional location of object in real time

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190138885A (en) * 2017-08-25 2019-12-16 구글 엘엘씨 How to recolor dynamic image color using alpha blending
KR20200042629A (en) 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor
KR102305230B1 (en) * 2021-01-13 2021-09-27 셀렉트스타 주식회사 Method and device for improving accuracy of boundary information from image
KR102310595B1 (en) * 2021-02-10 2021-10-13 주식회사 인피닉 Annotation method of setting object properties using proposed information, and computer program recorded on record-medium for executing method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190138885A (en) * 2017-08-25 2019-12-16 구글 엘엘씨 How to recolor dynamic image color using alpha blending
KR20200042629A (en) 2018-10-16 2020-04-24 주식회사 키센스 Method for generating annotation and image based on touch of mobile device to learn artificial intelligence and apparatus therefor
KR102305230B1 (en) * 2021-01-13 2021-09-27 셀렉트스타 주식회사 Method and device for improving accuracy of boundary information from image
KR102310595B1 (en) * 2021-02-10 2021-10-13 주식회사 인피닉 Annotation method of setting object properties using proposed information, and computer program recorded on record-medium for executing method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101532A1 (en) * 2022-11-07 2024-05-16 한국생산기술연구원 Device and method for estimating three-dimensional location of object in real time
KR102565420B1 (en) * 2022-11-21 2023-08-09 주식회사 비브스튜디오스 Method for performing object segmentation in virtual production environment

Similar Documents

Publication Publication Date Title
US11055566B1 (en) Utilizing a large-scale object detector to automatically select objects in digital images
KR102356909B1 (en) Annotation method of assigning object and setting object properties for learning data of artificial intelligence, and computer program recorded on record-medium for executing method thereof
KR102439429B1 (en) Annotation method for easy object extraction and a computer program recorded on a recording medium to execute the annotation method
KR102310585B1 (en) Annotation method of assigning object simply, and computer program recorded on record-medium for executing method thereof
KR102433002B1 (en) Annotation method through multiple binding box selection and a computer program recorded on a recording medium to execute the same
US20210295114A1 (en) Method and apparatus for extracting structured data from image, and device
KR102310598B1 (en) Method of creating data for machine learning using metadata, and computer program recorded on record-medium for executing method thereof
US10789712B2 (en) Method and system for image analysis to detect cancer
US20200125595A1 (en) Systems and methods for parsing log files using classification and a plurality of neural networks
KR101963404B1 (en) Two-step optimized deep learning method, computer-readable medium having a program recorded therein for executing the same and deep learning system
KR102389998B1 (en) De-identification processing method and a computer program recorded on a recording medium to execute the same
KR102403169B1 (en) Method for providing guide through image analysis, and computer program recorded on record-medium for executing method therefor
KR102343043B1 (en) Annotation method capable of change of working condition simultaneously, and computer program recorded on record-medium for executing method thereof
KR102310595B1 (en) Annotation method of setting object properties using proposed information, and computer program recorded on record-medium for executing method thereof
KR102310599B1 (en) Method of generating skeleton data of 3D modeling for artificial intelligence learning, and computer program recorded on record-medium for executing method thereof
KR102310600B1 (en) Method of extracting data for machine learning based on bigdata, and computer program recorded on record-medium for executing method thereof
KR102310592B1 (en) Annotation method capable of guiding change of working regulation, and computer program recorded on record-medium for executing method thereof
KR102430398B1 (en) Annotation method through point designation and a computer program recorded on a recording medium to execute it
KR102419219B1 (en) A security management system for annotation work, a security management method, and a computer program recorded on a recording medium for executing the same
CN116595534A (en) Defect detection method of intelligent contract
KR102310587B1 (en) Method of generating skeleton data for consecutive images, and computer program recorded on record-medium for executing method thereof
KR102356914B1 (en) Method for automatically creation of metadata, and computer program recorded on record-medium for executing method therefor
KR102313942B1 (en) annotation method including object tracking data, and computer program recorded on record-medium for executing method thereof
KR102313947B1 (en) Assignment and inspection method of tracking identifier, and computer program recorded on record-medium for executing method thereof
CN116226850A (en) Method, device, equipment, medium and program product for detecting virus of application program

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant