KR102546195B1 - Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof - Google Patents

Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof Download PDF

Info

Publication number
KR102546195B1
KR102546195B1 KR1020220164779A KR20220164779A KR102546195B1 KR 102546195 B1 KR102546195 B1 KR 102546195B1 KR 1020220164779 A KR1020220164779 A KR 1020220164779A KR 20220164779 A KR20220164779 A KR 20220164779A KR 102546195 B1 KR102546195 B1 KR 102546195B1
Authority
KR
South Korea
Prior art keywords
images
image
data
learning
information
Prior art date
Application number
KR1020220164779A
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 KR1020220164779A priority Critical patent/KR102546195B1/en
Application granted granted Critical
Publication of KR102546195B1 publication Critical patent/KR102546195B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Abstract

본 발명은 인공지능의 기계 학습용 데이터를 수집하고, 수집된 데이터 중 불필요한 데이터를 정제할 수 있는 방법을 제안한다. 상기 방법은 학습 데이터 생성 장치가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송하는 단계, 상기 학습 데이터 생성 장치가, 상기 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계, 상기 학습 데이터 생성 장치가, 상기 수집 조건과 대응하는 이미지 정보를 상기 이미지들로부터 추출하는 단계 및 상기 학습 데이터 생성 장치가, 상기 추출한 이미지 정보를 상기 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류하는 단계를 포함할 수 있다.The present invention proposes a method for collecting data for machine learning of artificial intelligence and refining unnecessary data among the collected data. The method includes transmitting, by a learning data generating device, guide information including image collection conditions for artificial intelligence (AI) machine learning to at least one learning data collecting device; Receiving, by a data generating device, images from the at least one learning data collecting device; Extracting, by the learning data generating device, image information corresponding to the collection condition from the images; and , comparing the extracted image information with the guide information and classifying the noisy image according to the collection environment.

Figure 112022128728815-pat00007
Figure 112022128728815-pat00007

Description

수집 환경 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof}Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof}

본 발명은 인공지능(Artificial Intelligence, AI) 기계 학습용 데이터의 정제에 관한 것이다. 보다 상세하게는, 인공지능(AI)의 기계 학습용 데이터를 수집하고, 수집된 데이터 중 불필요한 데이터를 정제할 수 있는, 수집 환경 기반 학습 데이터 분류 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to the purification of data for artificial intelligence (AI) machine learning. More specifically, a method for classifying learning data based on a collection environment capable of collecting data for machine learning of artificial intelligence (AI) and refining unnecessary data among the collected data, and a computer program recorded on a recording medium to execute the method it's about

인공지능(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 abilities, reasoning abilities, and perception abilities 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 learning data.

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

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

한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회(SAE)가 분류한 6단계에 따르면, 레벨 0단계는 비자동화(no automation), 레벨 1단계는 운전자 보조(driver assistance), 레벨 2단계는 부분 자동화(partial automation), 레벨 3단계는 조건부 자동화(conditional automation), 레벨 4단계는 고도 자동화(high automation), 그리고 레벨 5단계는 완전 자동화(full automation) 단계이다.On the other hand, autonomous driving of a vehicle refers to a system that can judge and drive a vehicle by itself. Such autonomous driving may be classified into gradual stages from non-automation to complete automation according to the degree of involvement of the system in driving and the degree of control of the vehicle by the driver. In general, the level of autonomous driving is divided into six levels classified by the Society of Automotive Engineers (SAE) International. According to the six levels classified by the International Society of Automotive Engineers (SAE), level 0 is no automation, level 1 is driver assistance, level 2 is partial automation, and level 3 The stage is conditional automation, level 4 is high automation, and level 5 is full automation.

차량의 자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 현재 여러 기업체들은 자율주행 메커니즘 중에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다. 그리고, 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 적게는 몇 천개에서, 많게는 수 백만개에 이르는 많은 수로 이루어진다. Autonomous driving of vehicles is performed through mechanisms of perception, localization, path planning, and control. Currently, several companies are developing to implement recognition and path planning among autonomous driving mechanisms using artificial intelligence (AI). In addition, the data used for machine learning of artificial intelligence (AI) that can be used for autonomous driving consists of a large number ranging from a few thousand to several million.

이러한, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 차량에 설치된 다양한 종류의 센서들에 의해 수집된다. 예를 들어, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터들은 차량에 고정 설치된 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor) 및 GPS(Global Positioning System) 등에 의해 획득, 촬영 또는 감지된 데이터들이 될 수 있으며, 이에 한정되는 것도 아니다.Data used for machine learning of artificial intelligence (AI) that can be used for autonomous vehicle driving is collected by various types of sensors installed in the vehicle. For example, the data used for machine learning of artificial intelligence (AI) that can be used for autonomous driving of a vehicle is lidar, camera, radar, and ultrasonic sensor fixed to the vehicle. ) and GPS (Global Positioning System), etc., may be acquired, photographed, or sensed data, but are not limited thereto.

일반적으로, 학습 데이터의 수집은 프로젝트(project) 단위로 진행된다. 이때, 각 프로젝트의 컨트롤 타워는 데이터 수집을 위한 장치가 설치된 복수의 차량으로부터 데이터를 수신하게 된다.In general, collection of learning data is carried out in units of projects. At this time, the control tower of each project receives data from a plurality of vehicles equipped with devices for data collection.

이때, 복수의 차량으로부터 수집된 데이터를 업로드 받는 과정에서는 각 차량으로부터 동일한 이미지가 중복되어 업로드 되거나, 서로 다른 차량으로부터 동일한 이미지가 중복되어 업로드 되는 문제점이 있었다.At this time, in the process of uploading data collected from a plurality of vehicles, there is a problem in that the same image is repeatedly uploaded from each vehicle or the same image is repeatedly uploaded from different vehicles.

또한, 각 차량의 관리자는 컨트롤 타워로부터 수집 조건이 명시된 가이드에 따라 데이터를 수집하고, 수집된 데이터를 업로드하게 된다. 이때, 각 차량의 관리자의 주관인 관점, 수집 환경, 수집 장치의 오류 둥에 따라, 기준에 적합하지 않은 데이터들이 무작위로 업로드 되는 문제점이 있었다.In addition, the manager of each vehicle collects data from the control tower according to a guide specifying the collection conditions and uploads the collected data. At this time, there is a problem in that data that does not meet the standards are randomly uploaded according to the viewpoint of the manager of each vehicle, the collection environment, and errors in the collection device.

위와 같은 문제점을 방지하기 위하여, 컨트롤 타워는 업로드 된 데이터를 수동으로 검수하기 위한 검수자를 배치하고 있다. 그러나, 검수자를 배치함에 따른 불필요한 리소스 낭비를 방지할 수 방안이 필요한 실정이다.In order to prevent the above problems, the control tower has an inspector to manually inspect uploaded data. However, there is a need for a plan to prevent unnecessary waste of resources due to the arrangement of inspectors.

한편, 데이터 가공 단계의 어노테이션 작업은 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box), 폴리곤(polygon) 등으로 객체를 식별하고, 식별된 객체의 속성 정보를 입력하여 진행된다. 이와 같은 어노테이션 작업은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 그리고, 어노테이션 작업 결과물에 해당되는 데이터셋(dataset)은 JSON(Java Script Object Notation) 파일 형태로 산출된다. 이러한, 어노테이션 작업은 적게는 몇 천개에서 많게는 수 백만개에 이르는 많은 수의 데이터를 대상으로 이루어지므로, 어노테이션 작업을 수행하는 작업자 또한 많은 수의 인원으로 이루어진다.Meanwhile, the annotation work in the data processing step is performed by identifying an object included in an image with a bounding box, a polygon, or the like, and inputting property information of the identified object. Such annotation work is also referred to as data labeling. And, a dataset corresponding to the annotation work result is calculated in the form of a JSON (Java Script Object Notation) file. Since such annotation work is performed on a large number of data ranging from a few thousand to several million pieces of data, a large number of workers perform the annotation work.

따라서, 수많은 작업자가 수많은 어노테이션 작업을 수행해야하는 프로젝트의 전체 작업 비용을 산출하는 것은 어려운 작업이다. 종래에는 어노테이션 작업에 관한 프로젝트의 전체 작업 비용은 단순히 작업 대상이 되는 데이터의 개수, 또는 담당자의 직관에 따라 예측된 작업의 난이도에 의존하여 산출되고 있는 문제점이 있었다.Therefore, it is a difficult task to calculate the overall cost of work for a project that requires numerous operators to perform numerous annotation tasks. Conventionally, there has been a problem in that the total work cost of a project related to an annotation work is simply calculated depending on the number of data to be worked or the difficulty of the work predicted according to the intuition of the person in charge.

또한, 어노테이션 작업 중 폴리곤 기법은 작업자가 이미지 내에 포함된 객체의 외곽선을 따라 복수의 점을 생성하여 객체를 식별하는 방법이다. 이러한 폴리곤 기법은 자동차나 사람과 같은 비정형 객체의 윤곽을 정밀하게 선택할 수 있어, 객체의 크기와 형태를 정확하게 인식할 수 있는 장점이 있다.Also, during annotation work, the polygon technique is a method in which a worker creates a plurality of points along the outline of an object included in an image to identify an object. This polygon technique has the advantage of being able to accurately recognize the size and shape of an object by precisely selecting the outline of an atypical object such as a car or a person.

그러나, 이미지 내에 객체가 중첩되어 배치되는 경우, 폴리곤 기법으로 각각의 객체를 식별하기 위해서는 이미지를 확대하여 경계선의 동일한 지점에 이중으로 점을 생성해야 한다. 이때, 경계선의 동일한 지점에 정확히 점을 생성하지 않는 경우, 중첩된 객체와 객체 사이에 공간이 발생되는 문제점이 있었다.However, when objects are overlapped and placed in an image, in order to identify each object using the polygon technique, the image must be enlarged to create double points at the same point on the boundary line. At this time, if a point is not created exactly at the same point of the boundary line, there is a problem in that a space is generated between overlapping objects.

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

본 발명의 일 목적은 인공지능의 기계 학습용 데이터를 수집하고, 수집된 데이터 중 불필요한 데이터를 정제할 수 있는, 수집 환경 기반 학습 데이터 분류 방법을 제공하는 것이다.One object of the present invention is to provide a learning data classification method based on a collection environment capable of collecting data for machine learning of artificial intelligence and refining unnecessary data among the collected data.

본 발명의 다른 목적은 인공지능의 기계 학습용 데이터를 수집하고, 수집된 데이터 중 불필요한 데이터를 정제할 수 있는, 수집 환경 기반 학습 데이터 분류 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium to execute a collection environment-based learning data classification method capable of collecting artificial intelligence machine learning data and refining unnecessary data among the collected data. .

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.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)의 기계 학습(machine learning)을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송하는 단계, 상기 학습 데이터 생성 장치가, 상기 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계, 상기 학습 데이터 생성 장치가, 상기 수집 조건과 대응하는 이미지 정보를 상기 이미지들로부터 추출하는 단계 및 상기 학습 데이터 생성 장치가, 상기 추출한 이미지 정보를 상기 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류하는 단계를 포함할 수 있다.In order to achieve the technical problem as described above, the present invention proposes a method for collecting data for machine learning of artificial intelligence and refining unnecessary data among the collected data. The method includes transmitting, by a learning data generating device, guide information including image collection conditions for artificial intelligence (AI) machine learning to at least one learning data collecting device; Receiving, by a data generating device, images from the at least one learning data collecting device; Extracting, by the learning data generating device, image information corresponding to the collection condition from the images; and , comparing the extracted image information with the guide information and classifying the noisy image according to the collection environment.

구체적으로, 상기 가이드 정보는 상기 수집 조건에 따른 샘플 이미지를 포함하고, 상기 이미지 정보는 파일 확장자, 이미지 해상도, 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 및 컬러 코드(color code) 값 중 적어도 하나를 포함하고, 상기 분류하는 단계는 상기 샘플 이미지의 파일 확장자, 이미지 해상도, 픽셀에 대한 RGB 값 및 컬러 코드 값 중 적어도 하나를 포함하는 샘플 이미지 정보를 추출하고, 상기 추출된 샘플 이미지 정보를 상기 이미지들로부터 추출된 이미지 정보와 비교하는 것을 특징으로 한다.Specifically, the guide information includes sample images according to the collection conditions, and the image information includes file extensions, image resolutions, RGB (Red, Green, Blue) values and color codes for pixels. value, and the classifying step extracts sample image information including at least one of a file extension of the sample image, an image resolution, an RGB value for a pixel, and a color code value, and the extracted sample image It is characterized in that the information is compared with image information extracted from the images.

상기 분류하는 단계는 상기 이미지들을 시간 순으로 나열하고, 연속된 복수의 이미지를 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 상기 시퀀스 데이터 별로 노이즈 이미지를 분류하는 것을 특징으로 한다.The classifying may include arranging the images in chronological order, generating sequence data obtained by grouping a plurality of consecutive images into a preset number, and classifying noise images according to the sequence data.

상기 분류하는 단계는 상기 시퀀스 데이터 중 특정 이미지를 대상으로 전후 이미지의 유사도를 비교하고, 상기 전후 이미지 사이의 유사도가 사전 설정된 값보다 높되, 상기 전후 이미지와 상기 특정 이미지 사이의 유사도가 사전 설정된 값보다 낮은 경우, 상기 특정 이미지를 노이즈 이미지로 판단하는 것을 특징으로 한다.The classifying step compares the similarity between the before and after images for a specific image among the sequence data, and the similarity between the before and after images is higher than a preset value, but the similarity between the before and after images and the specific image is higher than the preset value. If it is low, it is characterized in that the specific image is determined as a noise image.

상기 분류하는 단계는 상기 이미지들을 사전 설정된 해상도로 리샘플링(resamping)하고, 상기 리샘플링 된 이미지들의 동일한 위치에 존재하는 픽셀의 컬러 정보를 각각 비교하여 상기 이미지들 간 유사도를 평가하는 것을 특징으로 한다.The classifying may include resampling the images at a preset resolution and evaluating similarity between the images by comparing color information of pixels existing in the same location of the resampled images.

상기 추출하는 단계는 상기 이미지들 각각에 포함된 객체의 엣지(edge)를 추출하는 것을 특징으로 한다.The extracting may include extracting an edge of an object included in each of the images.

상기 분류하는 단계는 상기 이미지들 각각에 포함된 객체를 검출하고, 상기 검출된 객체의 위치 변화 값이 사전 설정된 값보다 높은 이미지를 노이즈 이미지로 분류하는 것을 특징으로 한다.The classifying may include detecting an object included in each of the images, and classifying an image in which a position change value of the detected object is higher than a preset value as a noise image.

상기 수신하는 단계는 상기 적어도 하나의 학습 데이터 수집 장치로부터 상기 이미지들과 함께 상기 이미지들 각각의 메타 정보를 함께 수신하는 것을 특징으로 한다.The receiving may include receiving meta information of each of the images together with the images from the at least one training data collection device.

상기 메타 정보는 상기 이미지들 각각의 촬영 시점에서 상기 학습 데이터 수집 장치의 위치 정보 및 속도 정보를 포함하는 것을 특징으로 한다.The meta-information may include location information and speed information of the learning data collection device at a point in time of capturing each of the images.

상기 분류하는 단계는 상기 학습 데이터 수집 장치가 이동한 경로를 포함하는 지도 정보에 포함된 과속 방지턱의 위치 정보를 기준으로 상기 메타 정보와 비교하여, 과속 방지턱의 위치에서 촬영된 이미지를 노이즈 이미지로 분류하는 것을 특징으로 한다.The classifying step compares the location information of the speed bump included in the map information including the path traveled by the learning data collection device with the meta information, and classifies the image captured at the location of the speed bump as a noise image It is characterized by doing.

상기 분류하는 단계는 상기 학습 데이터 수집 장치가 이동한 경로를 포함하는 지도 정보에 포함된 커브(curve)길의 위치 정보를 기준으로 상기 메타 정보와 비교하여, 상기 커브길의 위치에서 생성된 이미지를 노이즈 이미지로 분류하는 것을 특징으로 한다.In the classifying step, the image generated at the location of the curve road is compared with the meta information based on the location information of the curve road included in the map information including the path traveled by the learning data collection device. It is characterized in that the image is classified as a noisy image.

상기 분류하는 단계는 상기 시퀀스 데이터에서 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 연속적으로 검출된 경우, 상기 검출된 이미지들이 커브길에서 촬영된 이미지들로 판단하고, 상기 검출된 이미지들을 노이즈 이미지로 분류하는 것을 특징으로 한다.The classifying step compares the similarity between successive images in the sequence data, and when an image having a similarity lower than a preset value is continuously detected, the detected images are determined as images taken on a curve road, , characterized in that the detected images are classified as noise images.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 인공지능의 기계 학습용 데이터를 수집하고, 수집된 데이터 중 불필요한 데이터를 정제할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송하는 단계, 상기 프로세서가, 상기 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계, 상기 프로세서가, 상기 수집 조건과 대응하는 이미지 정보를 상기 이미지들로부터 추출하는 단계 및 상기 프로세서가, 상기 이미지 정보를 상기 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium to collect data for artificial intelligence machine learning and execute a method capable of refining unnecessary data among the collected data. . The computer program may be combined with a computing device comprising a memory and a processor that processes instructions resident in the memory. In addition, the computer program transmits, by the processor, guide information including collection conditions for machine learning of artificial intelligence (AI) to at least one learning data collection device, the processor , Receiving images from the at least one learning data collection device, extracting, by the processor, image information corresponding to the collection condition from the images, and comparing the image information with the guide information by the processor Thus, in order to execute the step of classifying the noise image according to the collection environment, it may be a computer program recorded on a recording medium.

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

본 발명의 실시예들에 따르면, 인공지능 학습을 위하여 복수의 학습 데이터 수집 장치로부터 수신한 이미지를 대상으로, 추출한 이미지 정보를 수집 조건을 포함하는 가이드 정보와 비교하여 노이즈 이미지를 분류함으로써, 수집 환경에 따른 불량 데이터를 효과적으로 정제할 수 있다.According to the embodiments of the present invention, for artificial intelligence learning, for images received from a plurality of learning data collection devices, extracted image information is compared with guide information including collection conditions, and noise images are classified, thereby collecting environment data. Defective data can be effectively refined according to

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 하드웨어 구성도이다.
도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.
도 5는 본 발명의 일 실시예에 따른 어노테이션 장치의 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따른 데이터 분류 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 데이터 분류 방법을 설명하기 위한 순서도이다.
도 8는 본 발명의 일 실시예에 따른 작업 비용 예측 방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 10 내지 도 16은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 예시도이다.
도 17은 본 발명의 다른 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이다.
도 18 내지 도 20은 본 발명의 다른 실시예에 따른 어노테이션 방법을 설명하기 위한 예시도이다.
도 21은 본 발명의 일 실시예에 따른 데이터 분류 방법을 설명하기 위한 예시도이다.
도 22는 본 발명의 다른 실시예에 따른 데이터 분류 방법을 설명하기 위한 예시도이다.
1 is a block diagram of an artificial intelligence learning system according to an embodiment of the present invention.
2 is a logical configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.
3 is a hardware configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.
4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.
5 is a hardware configuration diagram of an annotation device according to an embodiment of the present invention.
6 is a flowchart illustrating a data classification method according to an embodiment of the present invention.
7 is a flowchart illustrating a data classification method according to another embodiment of the present invention.
8 is a flowchart illustrating a method for predicting a work cost according to an embodiment of the present invention.
9 is a flowchart for explaining an annotation method according to an embodiment of the present invention.
10 to 16 are exemplary diagrams for explaining an annotation method according to an embodiment of the present invention.
17 is a flowchart for explaining an annotation method according to another embodiment of the present invention.
18 to 20 are exemplary diagrams for explaining an annotation method according to another embodiment of the present invention.
21 is an exemplary diagram for explaining a data classification method according to an embodiment of the present invention.
22 is an exemplary diagram for explaining a data classification method according to another embodiment of the present invention.

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

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

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

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

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.Hereinafter, preferred embodiments 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 reference numerals, and redundant description thereof will be omitted. In addition, in describing 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 will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding 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.

한편, 학습 데이터의 수집은 프로젝트(project) 단위로 진행된다. 이때, 각 프로젝트의 컨트롤 타워는 데이터 수집을 위한 장치가 설치된 복수의 차량으로부터 데이터를 수신하게 된다.On the other hand, collection of learning data is carried out in units of projects. At this time, the control tower of each project receives data from a plurality of vehicles equipped with devices for data collection.

이때, 복수의 차량으로부터 수집된 데이터를 업로드 받는 과정에서는 각 차량으로부터 동일한 이미지가 중복되어 업로드 되거나, 서로 다른 차량으로부터 동일한 이미지가 중복되어 업로드 되는 문제점이 있었다.At this time, in the process of uploading data collected from a plurality of vehicles, there is a problem in that the same image is repeatedly uploaded from each vehicle or the same image is repeatedly uploaded from different vehicles.

또한, 각 차량의 관리자는 컨트롤 타워로부터 수집 조건이 명시된 가이드에 따라 데이터를 수집하고, 수집된 데이터를 업로드하게 된다. 이때, 각 차량의 관리자의 주관인 관점, 수집 환경, 수집 장치의 오류 둥에 따라, 기준에 적합하지 않은 데이터들이 무작위로 업로드 되는 문제점이 있었다.In addition, the manager of each vehicle collects data from the control tower according to a guide specifying the collection conditions and uploads the collected data. At this time, there is a problem in that data that does not meet the standards are randomly uploaded according to the viewpoint of the manager of each vehicle, the collection environment, and errors in the collection device.

위와 같은 문제점을 방지하기 위하여, 컨트롤 타워는 업로드 된 데이터를 수동으로 검수하기 위한 검수자를 배치하고 있다. 그러나, 검수자를 배치함에 따른 불필요한 리소스 낭비를 방지할 수 방안이 필요한 실정이다.In order to prevent the above problems, the control tower has an inspector to manually inspect uploaded data. However, there is a need for a plan to prevent unnecessary waste of resources due to the arrangement of inspectors.

또한, 수많은 작업자가 수많은 어노테이션 작업을 수행해야하는 프로젝트의 전체 작업 비용을 산출하는 것은 어려운 작업이다. 종래에는 어노테이션 작업에 관한 프로젝트의 전체 작업 비용은 단순히 작업 대상이 되는 데이터의 개수, 또는 담당자의 직관에 따라 예측된 작업의 난이도에 의존하여 산출되고 있는 문제점이 있었다.In addition, it is difficult to calculate the overall cost of work for a project that requires many people to do a lot of annotation work. Conventionally, there has been a problem in that the total work cost of a project related to an annotation work is simply calculated depending on the number of data to be worked or the difficulty of the work predicted according to the intuition of the person in charge.

그리고, 이미지 내에 객체가 중첩되어 배치되는 경우, 폴리곤 기법으로 각각의 객체를 식별하기 위해서는 이미지를 확대하여 경계선의 동일한 지점에 이중으로 점을 생성해야 한다. 이때, 경계선의 동일한 지점에 정확히 점을 생성하지 않는 경우, 중첩된 객체와 객체 사이에 공간이 발생되는 문제점이 있었다.In addition, when objects are overlapped and disposed in the image, in order to identify each object using the polygon technique, the image must be enlarged to create double points at the same point of the boundary line. At this time, if a point is not created exactly at the same point of the boundary line, there is a problem in that a space is generated between overlapping objects.

이러한 한계를 극복하고자, 본 발명은 인공지능의 기계 학습용 데이터를 수집하고, 수집된 데이터 중 불필요한 데이터를 정제할 수 있는 다양한 수단을 제안하고자 한다.In order to overcome these limitations, the present invention proposes various means capable of collecting data for machine learning of artificial intelligence and refining unnecessary data among the collected data.

또한, 본 발명은 인공지능 학습용 데이터의 어노테이션 작업에 관한 프로젝트의 전체 작업 비용을 합리적으로 예측할 수 있는 다양한 수단을 제안하고자 한다.In addition, the present invention intends to propose various means that can reasonably predict the total work cost of a project related to the annotation work of artificial intelligence learning data.

그리고, 본 발명은 인공지능 학습용 데이터를 어노테이션함에 있어서, 이미지 속에 포함된 중첩된 객체를 용이하게 지정할 수 있는 다양한 수단을 제공하고자 한다.In addition, the present invention intends to provide various means that can easily designate overlapping objects included in an image in annotating data for artificial intelligence learning.

도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.1 is a block diagram of an artificial intelligence learning system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 복수의 학습 데이터 수집 장치(100a, 100b, …, 100n; 100), 학습 데이터 생성 장치(200), 복수의 어노테이션 장치(300a, 300b, …, 300n; 300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.As shown in FIG. 1, the artificial intelligence learning system according to an embodiment of the present invention includes a plurality of learning data collection devices (100a, 100b, ..., 100n; 100), a learning data generating device 200, and a plurality of annotations. Devices 300a, 300b, ..., 300n; 300 and the artificial intelligence learning device 400 may be included.

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

각각의 구성 요소에 대하여 설명하면, 학습 데이터 수집 장치(100)는 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 수집하기 위하여, 차량에 설치된 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor), 레인 센서(rain sensor), 위치 측정 센서 및 속도 감지 센서 중 하나 이상으로부터 실시간으로 데이터를 수집하는 장치이다.Describing each component, the learning data collection device 100 includes a lidar installed in a vehicle, a camera ( A device that collects data in real time from one or more of a camera, radar, ultrasonic sensor, rain sensor, position measurement sensor, and speed sensor.

이러한, 학습 데이터 수집 장치(100)는 인공지능의 기계 학습을 위한 데이터의 수집을 학습 데이터 생성 장치(100)로부터 요청받을 수 있다. 이때, 학습 데이터 수집 장치(100)는 데이터의 수집 조건을 포함하는 가이드 정보를 학습 데이터 생성 장치(100)로부터 수신할 수 있다.The learning data collection device 100 may receive a request from the learning data generating device 100 to collect data for machine learning of artificial intelligence. At this time, the learning data collecting device 100 may receive guide information including data collection conditions from the learning data generating device 100 .

여기서, 가이드 정보는 수집 조건인 객체(object)의 클래스(class), 데이터 확장자(filename extension), 이미지 해상도(resolution) 등을 포함할 수 있다. 이때, 학습 데이터 수집 장치(100)는 가이드 정보를 샘플 이미지를 통해 제공받을 수 있다.Here, the guide information may include collection conditions such as object class, data extension, image resolution, and the like. At this time, the learning data collection device 100 may receive guide information through a sample image.

이러한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서의 종류에는 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor), 레인 센서(rain sensor), 위치 측정 센서 및 속도 감지 센서 중 하나 이상이 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서는 종류별로 하나씩 구비되는 것으로 한정되지 아니하며, 동일한 종류의 센서라 할지라도 복수 개로 구비될 수 있다.Types of sensors that are controlled by the learning data collection device 100 and that are installed in the vehicle to obtain, photograph, or detect machine learning data include lidar, camera, radar, and ultrasonic sensors. One or more of an ultrasonic sensor, a rain sensor, a position measurement sensor, and a speed detection sensor may be included, but is not limited thereto. In addition, sensors that are controlled by the learning data collection device 100 and are installed in a vehicle to obtain, photograph, or detect machine learning data are not limited to being provided one by one for each type, and are provided in plural even if they are the same type of sensor. It can be.

다음 구성으로, 학습 데이터 생성 장치(200)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 설계 및 생성하는데 사용될 수 있는 장치이다.With the following configuration, the learning data generating device 200 is a device that can be used to design and generate data for machine learning of artificial intelligence (AI) that can be used for autonomous driving of vehicles.

특징적으로, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치(200)는 인공지능(AI)의 기계 학습(machine learning)을 위한 이미지의 수집을 적어도 하나의 학습 데이터 수집 장치(100)에 요청하고, 적어도 하나의 학습 데이터 수집 장치(100)로부터 이미지들을 수신할 수 있다. 학습 데이터 생성 장치(200)는 수신한 이미지들의 컬러 정보를 추출하고, 이미지들 사이의 컬러 정보를 기준으로 노이즈 이미지를 분류할 수 있다.Characteristically, the learning data generating device 200 according to an embodiment of the present invention requests at least one learning data collecting device 100 to collect images for machine learning of artificial intelligence (AI), and , images may be received from at least one learning data collection device 100. The training data generating apparatus 200 may extract color information of received images and classify noise images based on color information between images.

또한, 본 발명의 다른 실시예에 따른 학습 데이터 생성 장치(200)는 인공지능의 기계 학습을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치(100)에 전송하고, 적어도 하나의 학습 데이터 수집 장치(100)로부터 이미지들을 수신할 수 있다. 학습 데이터 생성 장치(200)는 수집 조건과 대응하는 이미지 정보를 이미지들로부터 추출하고, 추출한 이미지 정보를 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류할 수 있다.In addition, the learning data generating device 200 according to another embodiment of the present invention transmits guide information including image collection conditions for artificial intelligence machine learning to at least one learning data collecting device 100, and at least Images may be received from one learning data collection device 100 . The learning data generating device 200 may extract image information corresponding to a collection condition from images, compare the extracted image information with guide information, and classify noise images according to the collection environment.

또한, 본 발명의 다른 실시예에 따른 학습 데이터 생성 장치(200)는 인공지능의 기계 학습을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치(100)에 전송하고, 적어도 하나의 학습 데이터 수집 장치(100)로부터 이미지들을 수신할 수 있다. 학습 데이터 생성 장치(200)는 수집 조건과 대응하는 이미지 정보를 이미지들로부터 추출하고, 추출한 이미지 정보를 가이드 정보와 비교하여, 학습 데이터 수집 장치(100)의 물리적 요인에 따른 노이즈 이미지를 분류할 수 있다.In addition, the learning data generating device 200 according to another embodiment of the present invention transmits guide information including image collection conditions for artificial intelligence machine learning to at least one learning data collecting device 100, and at least Images may be received from one learning data collection device 100 . The learning data generating device 200 may extract image information corresponding to a collection condition from images, compare the extracted image information with guide information, and classify noise images according to physical factors of the learning data collecting device 100. there is.

그리고, 본 발명의 또 다른 실시예에 따른 학습 데이터 생성 장치(200)는 인공지능 학습을 위하여 수행 예정인 어노테이션(annotation) 작업과 관련된 프로젝트를 수행하기 위한 적어도 하나의 샘플 데이터를 수신하고, 기 수행된 복수의 프로젝트에 포함된 기존 데이터를 상기 샘플 데이터와 비교하고, 샘플 데이터와의 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 적어도 하나의 프로젝트를 추출할 수 있다. 학습 데이터 생성 장치(200)는 추출된 적어도 하나의 프로젝트를 기초로 수행 예정인 어노테이션 작업과 관련된 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 예측할 수 있다.In addition, the learning data generation device 200 according to another embodiment of the present invention receives at least one sample data for performing a project related to an annotation task scheduled to be performed for artificial intelligence learning, and previously performed Existing data included in a plurality of projects may be compared with the sample data, and at least one project including existing data having a similarity with the sample data higher than a preset value may be extracted. The learning data generation device 200 may estimate the total cost of work required to perform a project related to an annotation work to be performed based on at least one extracted project.

이와 같은 특징을 가지는, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The learning data generation device 200 having such characteristics transmits and receives data to and from the learning data collection device 100, the annotation device 300, and the artificial intelligence learning device 400, and performs calculations based on the transmitted and received data. Any device that can do this is acceptable. For example, the learning data generating device 200 may be any one of a fixed computing device such as a desktop, workstation, or server, but is not limited thereto.

상술한 바와 같은, 학습 데이터 생성 장치(200)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 2 및 도 3을 참조하여 설명하기로 한다.As described above, the specific configuration and operation of the learning data generating device 200 will be described later with reference to FIGS. 2 and 3 .

다음 구성으로, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)로부터 제공된 이미지에 대하여 어노테이션을 수행하는데 사용될 수 있는 장치이다.With the following configuration, the annotation device 300 is a device that can be used to annotate an image provided from the training data generating device 200 .

이와 같은, 어노테이션 장치(300)의 사용자는 라벨러(labeler), 리뷰어(reviewer), 인스펙터(inspector) 및 트레이니(trainee)로 구분될 수 있다.As such, users of the annotation device 300 may be classified into labelers, reviewers, inspectors, and trainees.

여기서, 라벨러는 이미지를 대상으로 어노테이션 작업을 수행하는 자에 해당된다. 리뷰어는 상기 어노테이션 작업이 수행된 이미지를 시각적으로 검증하는 자에 해당된다. 인스펙터는 상기 어노테이션 작업 결과물을 스크립트(script)를 이용하여 검증하는 자에 해당된다. 그리고, 트레이니는 상기 어노테이션 작업을 수행하기 위한 교육을 받는 자에 해당된다.Here, the labeler corresponds to a person who performs annotation work on images. The reviewer corresponds to a person who visually verifies the image on which the annotation work has been performed. An inspector corresponds to a person who verifies the annotation work result using a script. In addition, the trainee corresponds to a person receiving training to perform the annotation work.

구체적으로, 어노테이션 장치(300)는 라벨러에 해당되는 사용자의 제어에 따라 다음과 같이 어노테이션 작업을 수행할 수 있다.Specifically, the annotation device 300 may perform annotation work as follows under the control of a user corresponding to a labeler.

어노테이션 장치(300)는 사용자의 제어에 따라, 학습 데이터 생성 장치(200)로부터 수신된 이미지를 출력할 수 있다. The annotation device 300 may output an image received from the learning data generating device 200 according to a user's control.

어노테이션 장치(300)는 사용자의 제어에 따라, 툴을 선택할 수 있다. 여기서, 툴(tool)은 이미지 속에 포함되어 있는 하나 이상의 객체를 특정하기 위한 도구이다. 어노테이션 장치(300)는 선택된 툴을 이용한 사용자의 제어에 따라, 좌표를 입력 받을 수 있다. 어노테이션 장치(300)는 입력된 좌표를 기초로 객체를 식별할 수 있다.The annotation device 300 may select a tool according to a user's control. Here, the tool is a tool for specifying one or more objects included in the image. The annotation device 300 may receive coordinates according to the user's control using the selected tool. The annotation device 300 may identify an object based on the input coordinates.

한편, 본 발명의 일 실시예에 따른 어노테이션 장치(300)는 작업자가 이미지 내에 포함된 객체의 외곽선을 따라 복수의 점을 생성하여 객체를 식별하는 폴리곤(polygon) 기법을 통해 이미지 속에 포함된 하나 이상의 객체를 식별할 수 있다. 하지만, 이에 한정된 것은 아니고 어노테이션 장치(300)는 바운딩 박스(bounding box), 폴리라인(polyline), 포인트(point), 큐보이드(cuboid), 시맨틱 세그멘티이션(semantic segmentation) 등의 기법을 사용할 수도 있다.Meanwhile, in the annotation device 300 according to an embodiment of the present invention, an operator generates a plurality of points along the outline of an object included in an image to identify an object by using a polygon technique to identify one or more points included in an image. object can be identified. However, it is not limited thereto, and the annotation device 300 may use techniques such as bounding box, polyline, point, cuboid, and semantic segmentation. there is.

특히, 본 발명의 일 실시예에 따른 어노테이션 장치(300)는 작업자의 제어에 따라, 인공지능 학습을 위한 어노테이션 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체 중 제1 객체의 외곽선을 지정하고, 제1 객체와 중첩되어 배치된 제2 객체 사이의 경계선을 지정하고, 경계선을 상기 제2 객체의 외곽선의 일부로 설정할 수 있다. 어노테이션 장치(300)는 설정된 경계선을 기준으로 제2 객체의 외곽선을 지정할 수 있다.In particular, according to the control of the operator, the annotation device 300 according to an embodiment of the present invention is a first object among a plurality of objects included in an image that is a target of annotation work for artificial intelligence learning and disposed overlapping with each other. It is possible to designate an outline, designate a boundary line between a first object and an overlapping second object, and set the boundary line as a part of the outline of the second object. The annotation device 300 may designate an outline of the second object based on the set boundary line.

또한, 본 발명의 다른 실시예에 따른 어노테이션 장치(300)는 작업자의 제어에 따라, 인공지능 학습을 위한 어노테이션 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체의 외곽선을 지정하고, 지정된 외곽선 내에서 복수의 객체 사이의 경계선을 지정할 수 있다. 어노테이션 장치(300)는 지정된 경계선을 기준으로 구획된 복수의 영역을 기준으로 복수의 객체를 각각 식별할 수 있다.In addition, the annotation device 300 according to another embodiment of the present invention designates outlines of a plurality of objects included in an image that is a target of an annotation task for artificial intelligence learning and disposed overlapping each other under the control of an operator, and , Boundary lines between multiple objects can be specified within the specified outline. The annotation device 300 may respectively identify a plurality of objects based on a plurality of regions partitioned based on a designated boundary line.

어노테이션 장치(300)는 특정된 객체의 속성 정보를 설정할 수 있다. 여기서, 객체의 속성 정보는 인공지능(AI) 학습의 대상이 되는 객체의 속성을 지정하기 위한 정보이다. 이와 같은, 객체의 속성 정보에는 어노테이션의 종류(type), 클래스 명(class), 분류 항목(tags), 객체의 잘림 여부(truncated), 대분류, 소분류 또는 상위 레벨(instance upper)에 관한 정보가 포함될 수 있으며, 이에 한정되는 것은 아니다.The annotation device 300 may set attribute information of a specified object. Here, the property information of the object is information for designating the property of an object to be an artificial intelligence (AI) learning target. Such object attribute information includes information on the type of annotation, class name (class), classification items (tags), truncated state of the object, major classification, subclassification, or upper level (instance upper). may be, but is not limited thereto.

어노테이션 장치(300)는 사용자에 의해 설정된 객체의 위치 및 크기에 따른 좌표와, 설정된 속성 정보를 포함하여 어노테이션의 작업 결과물을 생성할 수 있다. 이와 같은, 작업 결과물은 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다.The annotation device 300 may generate an annotation work result including coordinates according to the location and size of an object set by a user and set property information. Such a work result may have a JSON (Java Script Object Notation) file format, but is not limited thereto.

그리고, 어노테이션 장치(300)는 생성된 어노테이션 작업 결과물을 학습 데이터 생성 장치(200)에 전송할 수 있다.And, the annotation device 300 may transmit the generated annotation work result to the learning data generating device 200 .

한편, 어노테이션 장치(300)와 관련한 구체적인 설명은 도 4 및 도 5를 참조하여 후술하도록 한다.Meanwhile, a detailed description of the annotation device 300 will be described later with reference to FIGS. 4 and 5 .

이와 같은, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.As such, the annotation device 300 may be any device capable of transmitting/receiving data with the learning data generating device 200 and performing calculations using the transmitted/received data.

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

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

구체적으로, 인공지능 학습 장치(400)는 수행 예정인 프로젝트와 관련된 샘플 데이터를 학습 데이터 생성 장치(200)에 전송할 수 있다. 여기서, 샘플 데이터는 인공지능 학습을 위하여 수행 예정인 어노테이션 작업과 관련된 샘플이다. 이와 같은, 샘플 데이터는 어노테이션 작업의 대상이 되는 이미지이거나, 또는 어노테이션 작업 결과물이 될 수 있으며, 이에 한정되는 것도 아니다.Specifically, the artificial intelligence learning device 400 may transmit sample data related to a project to be performed to the learning data generating device 200 . Here, the sample data is a sample related to an annotation task to be performed for artificial intelligence learning. Such sample data may be an image to be an annotation work or a result of an annotation work, but is not limited thereto.

인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)로부터 수행 예정인 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 수신할 수 있다. 인공지능 학습 장치(400)는 수신된 전체 작업 비용을 출력할 수 있다.The artificial intelligence learning device 400 may receive total work costs required to carry out a project to be performed from the learning data generating device 200 . The artificial intelligence learning device 400 may output the total cost of the work received.

이러한, 전체 작업 비용은 인공지능 학습 장치(400)의 운영 주체와 학습 데이터 생성 장치(200)의 운영 주체 사이에 프로젝트 수행과 관련된 계약을 체결하는데 활용될 수 있다.These total work costs may be used to conclude a contract related to project execution between the operating entity of the artificial intelligence learning device 400 and the operating entity of the learning data generating device 200 .

인공지능 학습 장치(400)의 운영 주체와 학습 데이터 생성 장치(200)의 운영 주체 사이에 프로젝트 수행과 관련된 계약이 체결된 이후, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)로부터 패키징 된 어노테이션 작업 결과물을 수신할 수 있다. 그리고, 인공지능 학습 장치(400)는 수신된 어노테이션 작업 결과물을 기반으로, 인공지능(AI)의 기계 학습을 수행할 수 있다.After a contract related to project performance is concluded between the operating entity of the artificial intelligence learning device 400 and the operating entity of the learning data generating device 200, the artificial intelligence learning device 400 is packaged from the learning data generating device 200 You can receive the annotation work result. And, the artificial intelligence learning device 400 may perform artificial intelligence (AI) machine learning based on the received annotation work result.

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

상술한 바와 같은, 하나 이상의 학습 데이터 수집 장치(100), 학습 데이터 생성 장치(200), 어노테이션 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이에 직접 연결된 보안회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, one or more of the learning data collection device 100, the learning data generating device 200, the annotation device 300, and the artificial intelligence learning device 400 are directly connected to each other through a security line, a public wired communication network, or Data may be transmitted and received using a network in which one or more of the mobile communication networks are combined.

예를 들어, 공용 유선 통신망에는 이더넷(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 communication networks may include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). It may be, but is not limited thereto. In addition, in the mobile communication network, 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 is not limited thereto.

이하, 상술한 바와 같은, 학습 데이터 생성 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the learning data generating device 200 as described above will be described in more detail.

도 2는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 논리적 구성도이다.2 is a logical configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.

도 2를 참조하면, 학습 데이터 생성 장치(200)는 통신부(205), 입출력부(210), 데이터 설계부(215), 데이터 수집부(220), 데이터 전처리부(225), 데이터 납품부(230) 및 저장부(235)를 포함하여 구성될 수 있다.Referring to FIG. 2 , the learning data generating device 200 includes a communication unit 205, an input/output unit 210, a data design unit 215, a data collection unit 220, a data pre-processing unit 225, and a data delivery unit 230. ) and a storage unit 235.

이와 같은, 학습 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.Since the components of the learning data generation device 200 are merely functionally distinct elements, two or more components are integrated and implemented in an actual physical environment, or one component is mutually exclusive in an actual physical environment. It could be implemented separately.

구체적으로, 통신부(205)는 인공지능(AI)의 기계 학습을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송할 수 있다.Specifically, the communication unit 205 may transmit guide information including image collection conditions for AI machine learning to at least one learning data collection device.

또한, 통신부(205)는 학습 데이터 수집 장치(100)로부터, 카메라(camera)에 의해 촬영된 이미지, 라이다(lidar)로부터 획득된 점군 데이터, 위치 측정 센서 및 속도 감지 센서로부터 감지된 데이터를 수신할 수 있다.In addition, the communication unit 205 receives, from the learning data collection device 100, an image captured by a camera, point cloud data obtained from a lidar, and data sensed by a position measurement sensor and a speed detection sensor. can do.

또한, 통신부(205)는 어노테이션 작업의 대상이 되는 하나 이상의 이미지를 어노테이션 장치(300)에 전송할 수 있다. 또한, 통신부(205)는 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신할 수 있다.Also, the communication unit 205 may transmit one or more images to be annotated to the annotation device 300 . Also, the communication unit 205 may receive annotation work results from the annotation device 300 .

또한, 통신부(205)는 인공지능 학습 장치(400)로부터 적어도 하나의 샘플 데이터를 수신할 수 있다. 통신부(205)는 데이터 설계부(215)에 의해 예측되거나, 또는 사용자로부터 입력된, 수행 예정인 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 인공지능 학습 장치(400)에 전송할 수 있다.Also, the communication unit 205 may receive at least one sample data from the artificial intelligence learning device 400 . The communication unit 205 may transmit to the artificial intelligence learning device 400 the total cost of work required to carry out the project to be performed, predicted by the data design unit 215 or input from the user.

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

구체적으로, 입출력부(210)는 사용자로부터 학습 데이터 수집 장치(100)의 수집 조건을 포함하는 가이드 정보를 입력받을 수 있다. 가이드 정보에는 학습 목적, 학습 기간, 학습에 필요한 이미지의 수, 이미지에서 식별하고자 하는 객체의 속성, 이미지의 해상도, 이미지의 확장자 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.Specifically, the input/output unit 210 may receive guide information including collection conditions of the learning data collection device 100 from the user. Guide information may include, but is not limited to, learning purpose, learning period, number of images required for learning, attributes of objects to be identified in images, image resolution, and image extensions.

또한, 입출력부(210)는 사용자로부터 샘플 데이터를 입력 받을 수 있다. 또한, 입출력부(210)는 사용자로부터 분해 구성요소, 가중치 및 가이드 정보를 입력 받을 수 있다. 여기서, 분해 구성요소는 어노테이션 작업 결과물을 구성하고 있는 요소들 중에서, 프로젝트의 전체 작업 비용을 예측하기 위해 사용되는 요소이다. 예를 들어, 분해 구성요소에는 클래스(class)와 툴(tool)이 포함될 수 있으나, 이에 한정되는 것은 아니다.Also, the input/output unit 210 may receive sample data from a user. In addition, the input/output unit 210 may receive disassembly components, weights, and guide information from a user. Here, the decomposition component is an element used to estimate the total work cost of the project among the elements constituting the annotation work product. For example, decomposition components may include classes and tools, but are not limited thereto.

입출력부(210)는 데이터 설계부(215)에 의해 예측된, 수행 예정인 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 출력할 수 있다. 입출력부(210)는 사용자로부터 수정된 전체 작업 비용을 입력 받을 수 있다.The input/output unit 210 may output the total cost of work required to carry out the project to be performed, predicted by the data design unit 215 . The input/output unit 210 may receive input of the corrected total work cost from the user.

다음 구성으로, 데이터 설계부(215)는 수행 예정인 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 예측하여, 인공지능 학습 장치(400)에 제공할 수 있다.With the following configuration, the data design unit 215 may predict the total cost of work required to carry out the project to be performed and provide it to the artificial intelligence learning device 400 .

구체적으로, 데이터 설계부(215)는 인공지능 학습을 위하여 수행 예정인 어노테이션 작업과 관련된 프로젝트를 수행하기 위한 적어도 하나의 샘플 데이터를 인공지능 학습 장치(400)로부터 수신할 수 있다. 여기서, 샘플 데이터는 인공지능(AI) 학습을 위하여 수행 예정인 어노테이션 작업과 관련된 샘플이다. 이와 같은, 샘플 데이터는 어노테이션 작업의 대상이 되는 이미지이거나, 또는 어노테이션 작업 결과물이 될 수 있으며, 이에 한정되는 것도 아니다.Specifically, the data design unit 215 may receive at least one sample data for performing a project related to an annotation task scheduled to be performed for artificial intelligence learning from the artificial intelligence learning device 400 . Here, the sample data is a sample related to an annotation task to be performed for artificial intelligence (AI) learning. Such sample data may be an image to be an annotation work or a result of an annotation work, but is not limited thereto.

데이터 설계부(215)는 기 수행된 복수의 프로젝트에 포함된 기존 데이터를 샘플 데이터와 비교하고, 샘플 데이터와의 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 적어도 하나의 프로젝트를 추출할 수 있다.The data design unit 215 may compare existing data included in a plurality of previously performed projects with sample data, and extract at least one project including existing data having a higher similarity with the sample data than a preset value.

이때, 데이터 설계부(215)는 기존 데이터를 대상으로, 기존 데이터를 구성하고 있는 하나 이상의 분해 구성요소를 식별할 수 있다. 여기서, 분해 구성요소는 어노테이션 작업 결과물을 구성하고 있는 요소들 중에서, 프로젝트의 전체 작업 비용을 예측하기 위해 사용되는 요소이다. 예를 들어, 분해 구성요소에는 클래스(class)와 툴(tool)이 포함될 수 있으나, 이에 한정되는 것은 아니다.At this time, the data design unit 215 may identify one or more disassembly components constituting the existing data with respect to the existing data. Here, the decomposition component is an element used to estimate the total work cost of the project among the elements constituting the annotation work product. For example, decomposition components may include classes and tools, but are not limited thereto.

일 예를 들어, 샘플 데이터가 어노테이션 작업 대상이 되는 이미지에 해당되는 경우, 데이터 설계부(215)는 샘플 데이터에 해당되는 이미지를 대상으로, 사용자의 제어에 따라 어노테이션 작업을 수행할 수 있다. 그리고, 데이터 설계부(215)는 어노테이션 작업에 의해 이미지로부터 특정된 객체의 클래스와, 객체를 특정하기 위하여 사용된 툴을 샘플 데이터의 분해 구성요소로 식별할 수 있다For example, when the sample data corresponds to an image to be annotated, the data design unit 215 may perform an annotation operation on the image corresponding to the sample data under user control. In addition, the data design unit 215 may identify the class of the object specified from the image by the annotation work and the tool used to specify the object as decomposition components of the sample data.

또한, 데이터 설계부(215)는 샘플 데이터와의 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 적어도 하나의 프로젝트를 추출할 수 있다. 이때, 데이터 설계부(215)는 인공지능 학습 장치(400)로부터 샘플 이미지의 분해 구성요소에 대한 가중치를 입력 받고, 입력받은 가중치를 고려하여, 기존 이미지와의 유사도를 평가할 수 있다. 예를 들어, 인공지능 학습 장치(400)에 의해 객체의 클래스와, 객체를 특정하기 위하여 사용된 툴 중 객체의 클래스에 더 높은 가중치를 부여하는 경우, 데이터 설계부(215)는 객체의 클래스를 중점적으로 유사한 기존 데이터를 추출하고, 해당 기존 데이터가 포함된 프로젝트를 추출할 수 있다.Also, the data design unit 215 may extract at least one project including existing data having a similarity with the sample data higher than a preset value. At this time, the data design unit 215 may receive weights for decomposition components of the sample image from the artificial intelligence learning device 400 and evaluate similarity with the existing image in consideration of the input weights. For example, when assigning a higher weight to the class of an object among tools used to specify the class of an object and the object by the artificial intelligence learning device 400, the data design unit 215 focuses on the class of the object. It is possible to extract similar existing data and extract a project that includes the existing data.

데이터 설계부(215)는 샘플 이미지의 엣지(edge)를 추출하고, 추출된 엣지를 기초로 샘플 데이터에 포함된 객체를 검출하고, 객체의 RGB(Red, Green, Blue) 값을 기존 데이터에 포함된 객체의 RGB 값과 비교하여 유사도를 평가할 수 있다.The data design unit 215 extracts an edge of the sample image, detects an object included in the sample data based on the extracted edge, and converts the RGB (Red, Green, Blue) values of the object to the existing data. The degree of similarity can be evaluated by comparing with the RGB values of the object.

예를 들어, 데이터 설계부(215)는 검출된 객체의 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 히스토그램을 생성하고, 생성된 RGB 히스토그램을 비교하여 유사도를 산출할 수 있다. 여기서 RGB 히스토그램은 이미지에서 각 원색(RGB)의 밝기 분포를 나타내는 그래프이다. 예를 들어, RGB 히스토그램은 가로축이 컬러의 밝기 레벨을 표시하며, 세로축이 컬러의 밝기 레벨에 할당된 픽셀 수로 표시되고, 좌측으로 치우친 픽셀 수가 많을수록 색상이 어둡고 덜 선명하게 표현되며, 우측으로 치운 친 픽셀 수가 많을수록 색상이 더 밝고 진하게 표현될 수 있다. 이와 같이, 데이터 설계부(215)는 RGB 히스토그램을 통해 샘플 이미지에 포함된 객체 및 기존 이미지에 포함된 객체의 색상의 채도와 계조 상태, 화이트 밸런스의 성향 등을 비교하여 유사도를 산출할 수 있다. 하지만, 이에 한정된 것은 아니고, 데이터 설계부(215)는 추출된 객체의 엣지에 대한 모멘트(moment)를 비교하여 유사도를 산출할 수 있다.For example, the data design unit 215 may generate a red, green, blue (RGB) histogram for pixels of the detected object, and compare the generated RGB histograms to calculate a degree of similarity. Here, the RGB histogram is a graph representing the brightness distribution of each primary color (RGB) in an image. For example, in an RGB histogram, the horizontal axis indicates the brightness level of a color, and the vertical axis indicates the number of pixels allocated to the brightness level of a color. The more pixels there are, the brighter and darker the color can be expressed. As such, the data design unit 215 may calculate a similarity by comparing color saturation and gradation state of objects included in the sample image and objects included in the existing image, white balance inclination, etc. through the RGB histogram. However, the present invention is not limited thereto, and the data design unit 215 may calculate a similarity by comparing a moment with respect to an edge of an extracted object.

또한, 데이터 설계부(215)는 기 수행된 복수의 프로젝트 별로 각각 사전 저장된 대표 이미지를 샘플 이미지와 비교하고, 샘플 이미지와의 유사도가 사전 설정된 값보다 높은 복수의 대표 이미지를 인공지능 학습 장치에 전송하고, 인공지능 학습 장치(400)로부터 복수의 대표 이미지 중 하나를 선택받을 수 있다. 여기서, 대표 이미지는 기 수행된 복수의 프로젝트를 수행하는 과정에서 수집된 이미지 중 기 수행된 복수의 프로젝트 각각을 수행하기 위하여 수신한 샘플 이미지와 유사도가 가장 높은 이미지가 될 수 있다. In addition, the data design unit 215 compares each pre-stored representative image with a sample image for each of a plurality of previously performed projects, transmits a plurality of representative images having a similarity with the sample image higher than a preset value to the artificial intelligence learning device, , One of a plurality of representative images may be selected from the artificial intelligence learning device 400 . Here, the representative image may be an image having the highest similarity with the sample image received for each of the plurality of previously performed projects among the images collected in the course of performing a plurality of previously performed projects.

이때, 데이터 설계부(215)는 샘플 이미지와의 유사도가 사전 설정된 값보다 높은 복수의 대표 이미지를 인공지능 학습 장치(400)에 전송하되, 대표 이미지에 포함된 객체를 식별하고, 식별된 객체의 클래스가 기밀 정보로 사전 등록된 경우, 식별된 객체를 비식별(de-identify) 처리하여 인공지능 학습 장치(400)에 전송할 수 있다. 데이터 설계부(215)는 기밀 정보로 등록된 클래스에 해당하는 객체를 블러링(blurring) 처리하여 비식별 처리를 수행할 수 있다.At this time, the data design unit 215 transmits a plurality of representative images having a similarity with the sample image higher than a preset value to the artificial intelligence learning device 400, identifies objects included in the representative images, and class of the identified objects. If is pre-registered as confidential information, the identified object may be de-identified and transmitted to the artificial intelligence learning device 400. The data design unit 215 may perform de-identification processing by blurring an object corresponding to a class registered as confidential information.

즉, 각 프로젝트별로 수집된 이미지에는 기밀 정보가 포함될 수 있다. 여기서, 기밀 정보는 각 프로젝트를 의뢰한 기업으로부터 지정된 각 기업의 기밀 정보이거나, 얼굴, 자동차번호판 등의 개인 정보가 포함될 수 있다. 이러한, 기밀 정보는 기 수행된 복수의 프로젝트 각각을 요청한 인공지능 학습 장치(400)로부터 설정되거나, 학습 데이터 생성 장치(200)에 의해 미리 설정될 수 있다.That is, images collected for each project may contain confidential information. Here, the confidential information may include confidential information of each company designated by the company requesting each project, or personal information such as a face and license plate number. Such confidential information may be set from the artificial intelligence learning device 400 that requests each of a plurality of previously performed projects or set in advance by the learning data generating device 200.

데이터 설계부(215)는 기밀 정보로 지정된 객체의 일부를 블러링(blurring) 처리하여 비식별 처리를 수행하되, 식별된 객체에서 랜드 마크(land mark)를 추출하고, 추출된 랜드 마크에 블러링 처리를 수행할 수 있다. 예를 들어, 데이터 설계부(215)는 식별된 객체가 사람일 경우, 사람의 랜드 마크에 해당하는 눈, 코, 입을 추출하고, 추출된 눈, 코, 입만 선택적으로 블러링 처리할 수 있다.The data design unit 215 performs de-identification processing by blurring a part of the object designated as confidential information, extracts a landmark from the identified object, and blurs the extracted landmark. can be performed. For example, when the identified object is a person, the data design unit 215 may extract eyes, nose, and mouth corresponding to the person's landmarks, and selectively blur only the extracted eyes, nose, and mouth.

또한, 데이터 설계부(215)는 추출된 적어도 하나의 프로젝트를 기초로 수행 예정인 어노테이션 작업과 관련된 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 예측할 수 있다. 이때, 데이터 설계부(215)는 수행 예정인 어노테이션 작업과 관련된 프로젝트의 데이터 수량을 입력 받고, 추출된 프로젝트의 비용 및 데이터 수량을 고려하여, 전체 작업 비용을 예측할 수 있다.In addition, the data design unit 215 may estimate a total cost of work required to perform a project related to an annotation work to be performed based on at least one extracted project. At this time, the data design unit 215 may receive input of the amount of data of the project related to the annotation work to be performed, and estimate the total cost of the work by considering the cost of the extracted project and the amount of data.

예를 들어, 데이터 설계부(215)는 추출된 적어도 하나의 프로젝트에 대한 데이터 수량 및 작업 비용을 검출한다. 그리고, 데이터 설계부(215)는 수행 예정인 프로젝트의 데이터 수량을 입력 받고, 추출된 프로젝트의 데이터 수량 및 작업 비용과 비례하여, 입력받은 데이터 수량에 따른 작업 비용을 가감하여 전체 작업 비용을 예측할 수 있다.For example, the data design unit 215 detects the amount of data and work cost for at least one extracted project. In addition, the data design unit 215 receives the amount of data of the project to be performed, and predicts the total work cost by adding or subtracting the work cost according to the received data amount in proportion to the amount of data and the work cost of the extracted project.

또한, 데이터 설계부(215)는 샘플 데이터와 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 복수의 프로젝트를 추출하고, 추출된 복수의 프로젝트의 작업 비용 평균값을 수행 예정인 프로젝트의 전체 작업 비용으로 예측할 수 있다.In addition, the data design unit 215 may extract a plurality of projects including existing data having a higher degree of similarity with the sample data than a preset value, and estimate the average value of the work cost of the plurality of extracted projects as the total work cost of the project to be performed. there is.

그리고, 데이터 설계부(215)는 예측된 전체 작업 비용을 입출력부(210)를 통하여 출력할 수 있다. 데이터 설계부(215)는 입출력부(210)를 통해 입력된 사용자의 제어에 따라, 전체 작업 비용을 수정할 수도 있다. 그리고, 데이터 설계부(215)는 예측 또는 수정된 전체 작업 비용을 통신부(205)를 통해 인공지능 학습 장치(400)에 전송할 수 있다.Also, the data design unit 215 may output the estimated total cost of work through the input/output unit 210 . The data design unit 215 may modify the total work cost according to the user's control input through the input/output unit 210 . And, the data design unit 215 may transmit the estimated or corrected total cost of work to the artificial intelligence learning device 400 through the communication unit 205 .

다음 구성으로, 데이터 수집부(220)는 인공지능 학습 장치(400)의 운영 주체와 프로젝트 수행과 관련된 계약이 체결되면, 해당 프로젝트를 위하여 인공지능(AI) 학습용 데이터를 수집할 수 있다.With the following configuration, the data collection unit 220 may collect artificial intelligence (AI) learning data for the project when a contract related to the execution of the project is concluded with the operator of the artificial intelligence learning device 400.

구체적으로, 데이터 수집부(220)는 인공지능의 기계 학습을 위한 이미지의 수집을 적어도 하나의 학습 데이터 수집 장치(100)에 요청할 수 있다. 이를 위해, 데이터 수집부(220)는 이미지의 수집 조건을 포함하는 가이드 정보를 학습 데이터 수집 장치(100)에 전송할 수 있다. 여기서, 가이드 정보는 수집 조건인 객체의 클래스, 데이터 확장자, 이미지 해상도 등을 포함할 수 있다. 이때, 데이터 수집부(220)는 가이드 정보를 샘플 이미지를 통해 제공할 수 있다. 즉, 데이터 수집부(220)는 프로젝트 계약 당시 수신한 샘플 이미지를 학습 데이터 수집 장치(100)에 전송하여, 학습 데이터 수집 장치(100) 수집 조건을 인지하도록 할 수 있다.Specifically, the data collection unit 220 may request at least one learning data collection device 100 to collect images for machine learning of artificial intelligence. To this end, the data collection unit 220 may transmit guide information including image collection conditions to the learning data collection device 100 . Here, the guide information may include collection conditions such as object class, data extension, image resolution, and the like. At this time, the data collection unit 220 may provide guide information through sample images. That is, the data collection unit 220 may transmit the sample image received at the time of the project contract to the learning data collection device 100 so that the learning data collection device 100 recognizes the collection condition.

또한, 데이터 수집부(220)는 적어도 하나의 학습 데이터 수집 장치(100)로부터 이미지들을 수신할 수 있다. 이때, 데이터 수집부(220)는 적어도 하나의 학습 데이터 수집 장치(100) 각각에 식별자(identifier)를 부여하고, 부여된 식별자별로 수신한 이미지들을 저장할 수 있다.Also, the data collection unit 220 may receive images from at least one learning data collection device 100 . At this time, the data collection unit 220 may assign an identifier to each of the at least one learning data collection device 100 and store images received for each assigned identifier.

다음 구성으로, 데이터 정제부(225)는 수신한 이미지들의 컬러 정보를 추출할 수 있다. 여기서, 컬러 정보는 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 또는 컬러 코드(color code) 값이 될 수 있다. 데이터 정제부(225)는 적어도 하나의 학습 데이터 수집 장치 각각에 부여된 식별자(identifier)를 기준으로 이미지들의 파일명 및 컬러 정보를 저장부(235)에 저장할 수 있다.With the following configuration, the data refiner 225 may extract color information of the received images. Here, the color information may be a red, green, blue (RGB) value or a color code value for a pixel. The data refiner 225 may store file names and color information of images in the storage 235 based on an identifier assigned to each of the at least one learning data collection device.

데이터 정제부(225)는 이미지들 사이의 컬러 정보를 기준으로 노이즈 이미지를 분류할 수 있다. 즉, 데이터 정제부(225)는 이미지들 중 컬러 정보의 유사도가 사전 설정된 값보다 높은 이미지들 중 적어도 하나를 노이즈 이미지로 분류할 수 있다.The data refiner 225 may classify the noise image based on color information between the images. That is, the data refiner 225 may classify at least one of images having a similarity of color information higher than a preset value as a noise image.

이때, 데이터 정제부(225)는 이미지들을 사전 설정된 해상도로 리샘플링(resamping)하고, 리샘플링 된 이미지들의 동일한 좌표에 존재하는 픽셀의 컬러 정보를 각각 비교하여 이미지들 간 유사도를 평가할 수 있다.At this time, the data refiner 225 resamples the images at a preset resolution, and compares color information of pixels existing at the same coordinates of the resampled images to evaluate similarity between the images.

또한, 데이터 정제부(225)는 동일한 식별자에 동일한 파일명을 갖는 이미지가 복수개로 존재하는 경우, 동일한 파일명을 갖는 이미지 중 적어도 하나를 노이즈 이미지로 분류할 수 있다. 데이터 정제부(225)는 식별자가 상이하나 동일한 파일명이 복수개로 존재하는 경우, 동일한 파일명을 갖는 이미지 중 적어도 하나를 노이즈 이미지로 분류할 수 있다. 즉, 데이터 정제부(225)는 동일한 식별자에서 같은 이름의 파일이 중복되어 등록되거나, 다른 식별자로부터 동일한 파일이 중복되어 등록되는 경우를 사전 방지할 수 있다.Also, when there are a plurality of images having the same identifier and the same file name, the data refiner 225 may classify at least one of the images having the same file name as a noise image. When a plurality of files with different identifiers but the same file name exist, the data refiner 225 may classify at least one of the images having the same file name as a noise image. That is, the data refining unit 225 may prevent in advance a case in which a file having the same name with the same identifier is repeatedly registered or the same file is repeatedly registered with a different identifier.

또한, 데이터 정제부(225)는 이미지들을 시간 순으로 나열하고, 나열된 이미지들을 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 시퀀스 데이터 별로 포함된 이미지들의 컬러 정보를 각각 비교하여 노이즈 이미지를 분류할 수 있다.In addition, the data refiner 225 lists the images in chronological order, generates sequence data by grouping the listed images into a preset number, and compares color information of images included for each sequence data to generate a noise image. can be classified.

구체적으로, 데이터 정제부(225)는 생성된 시퀀스 데이터의 이미지들 각각에 포함된 객체의 엣지(edge)를 추출할 수 있다. 데이터 정제부(225)는 시퀀스 데이터 별로 연속된 이미지 사이의 엣지 변화량을 기준으로 이미지들의 유사도를 평가할 수 있다.Specifically, the data refiner 225 may extract an edge of an object included in each of the generated images of the sequence data. The data refiner 225 may evaluate the similarity of the images based on the amount of edge change between consecutive images for each sequence data.

여기서, 엣지는 이미지 안에서 픽셀의 값이 급격하게 변하는 곳이다. 이러한, 데이터 정제부(225)는 이미지를 미분한 그레디언트(gradient) 벡터의 크기로 엣지를 판단할 수 있다. 예를 들어, 데이터 정제부(225)는 소벨 엣지 검출(sobel edge detection) 알고리즘, 케니 엣지 검출(canny edge detection) 알고리즘 등의 엣지 추출 알고리즘을 통해 이미지 상의 엣지를 추출할 수 있다.Here, an edge is a place in an image where the value of a pixel changes rapidly. The data refiner 225 may determine an edge based on the size of a gradient vector obtained by differentiating an image. For example, the data refiner 225 may extract an edge on the image through an edge extraction algorithm such as a Sobel edge detection algorithm or a Canny edge detection algorithm.

또한, 데이터 정제부(225)는 이미지들 중 유사도가 사전 설정된 값보다 높은 이미지들의 선명도(sharpness)를 산출하고, 산출된 선명도가 가장 높은 이미지를 제외한 나머지 이미지를 노이즈 이미지로 분류할 수 있다.In addition, the data refiner 225 may calculate the sharpness of images having a similarity higher than a preset value among the images, and classify the remaining images except for the image having the highest calculated sharpness as a noise image.

즉, 유사한 이미지가 복수개 존재하는 경우, 특정 기준을 통해 복수의 이미지 중 하나를 제외한 나머지 이미지를 제거해야 한다. 이를 위해, 데이터 정제부(225)는 선정된 이미지들 중 선명도가 가장 높은 이미지를 제외한 나머지 이미지를 노이즈 이미지로 분류하여 삭제할 수 있다.That is, when a plurality of similar images exist, images other than one of the plurality of images must be removed through a specific criterion. To this end, the data refiner 225 may classify and delete the remaining images except for the image having the highest sharpness among the selected images as noise images.

또한, 데이터 정제부(225)는 시퀀스 데이터 별로 연속된 이미지 사이의 유사도를 산출하고, 산출된 유사도를 기준으로 시퀀스 데이터 별 초당 프레임 수(frame per second)를 결정할 수 있다.In addition, the data refiner 225 may calculate a similarity between consecutive images for each sequence data, and determine the number of frames per second for each sequence data based on the calculated similarity.

즉, 데이터 정제부(225)는 하나의 시퀀스 데이터에 연속된 이미지 사이의 유사도가 사전 설정된 값보다 높은 경우, 해당 이미지를 수집한 차량의 속도로 높은 것으로 판단하고, 해당 시퀀스 데이터 별 초당 프레임 수를 결정하여, 시퀀스 데이터 내에 포함된 이미지의 부피를 줄일 수 있다.That is, when the similarity between consecutive images in one sequence data is higher than a preset value, the data refiner 225 determines that the speed of the vehicle that collected the corresponding image is high, and calculates the number of frames per second for each sequence data. By determining, the volume of an image included in the sequence data may be reduced.

또한, 데이터 정제부(225)는 수집 조건과 대응하는 이미지 정보를 이미지들로부터 추출할 수 있다. 여기서, 이미지 정보는 파일 확장자, 이미지 해상도, 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 및 컬러 코드(color code) 값 중 적어도 하나를 포함할 수 있다.Also, the data refiner 225 may extract image information corresponding to the collection conditions from the images. Here, the image information may include at least one of a file extension, image resolution, RGB (Red, Green, Blue) values and color code values for pixels.

여기서, 데이터 정제부(225)는 추출한 이미지 정보를 가이드 정보와 비교하여, 수집 환경 또는 학습 데이터 수집 장치(100)의 오류에 따른 노이즈 이미지를 분류할 수 있다.Here, the data refiner 225 may compare the extracted image information with the guide information and classify noise images according to errors in the collection environment or the learning data collection device 100 .

구체적으로, 데이터 정제부(225)는 샘플 이미지의 파일 확장자, 이미지 해상도, 픽셀에 대한 RGB 값 및 컬러 코드 값 중 적어도 하나를 포함하는 샘플 이미지 정보를 추출하고, 추출된 샘플 이미지 정보를 이미지들로부터 추출된 이미지 정보와 비교할 수 있다.Specifically, the data refiner 225 extracts sample image information including at least one of a file extension of the sample image, an image resolution, an RGB value for a pixel, and a color code value, and extracts the extracted sample image information from the images. It can be compared with the extracted image information.

이때, 데이터 정제부(225)는 샘플 이미지와 유사도가 사전 설정된 값보다 낮은 이미지를 노이즈 이미지로 분류할 수 있다. 즉, 데이터 정제부(225)는 샘플 이미지와 파일 확장자 또는 이미지 해상도가 상이하거나, 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 및 컬러 코드(color code) 값의 유사도가 사전 설정된 값보다 낮은 경우, 해당 이미지를 노이즈 이미지로 분류할 수 있다.In this case, the data refiner 225 may classify an image having a similarity lower than a preset value to the sample image as a noise image. That is, the data refiner 225 may have different file extensions or image resolutions from the sample image, or the similarity of RGB (Red, Green, Blue) values and color code values for pixels to preset values. If it is lower than that, the corresponding image may be classified as a noise image.

데이터 정제부(225)는 이미지들을 시간 순으로 나열하고, 나열된 이미지들을 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 시퀀스 데이터 별로 노이즈 이미지를 분류할 수 있다. 이때, 데이터 정제부(225)는 시퀀스 데이터 중 특정 이미지를 대상으로 전후 이미지의 유사도를 비교하고, 전후 이미지 사이의 유사도가 사전 설정된 값보다 높되, 전후 이미지와 상기 특정 이미지 사이의 유사도가 사전 설정된 값보다 낮은 경우, 특정 이미지를 노이즈 이미지로 판단할 수 있다.The data refiner 225 may list images in chronological order, generate sequence data by grouping the listed images into a preset number, and classify noise images for each sequence data. At this time, the data refiner 225 compares the similarity between the before and after images for a specific image among the sequence data, and the similarity between the before and after images is higher than a preset value, but the similarity between the before and after images and the specific image is a preset value. If it is lower than that, the specific image may be determined as a noise image.

즉, 데이터 정제부(225)는 특정 이미지의 전후 이미지를 비교하여 특정 이미지 만 유사도가 낮은 경우, 특정 이미지가 과속 방지턱을 넘는 과정에서 촬영된 이미지로 판단하고, 해당 이미지를 노이즈 이미지로 분류할 수 있다. 여기서, 데이터 정제부(225)는 이미지들을 사전 설정된 해상도로 리샘플링하고, 리샘플링 된 이미지들의 동일한 위치에 존재하는 픽셀의 컬러 정보를 각각 비교하여 이미지들 간 유사도를 평가할 수 있다.That is, the data refiner 225 compares the before and after images of the specific image, determines that the specific image is an image taken while crossing a speed bump, and classifies the image as a noise image when the similarity of the specific image is low. there is. Here, the data refiner 225 resamples the images at a preset resolution, and compares color information of pixels existing in the same location of the resampled images to evaluate similarity between the images.

또한, 데이터 정제부(225)는 이미지들 각각에 포함된 객체의 엣지를 추출하고, 이미지들 각각에 포함된 객체를 검출하고, 검출된 객체의 위치 변화 값이 사전 설정된 값보다 높은 이미지를 노이즈 이미지로 분류할 수 있다. 즉, 데이터 정제부(225)는 이미지에 포함된 객체의 움직임의 정도를 통해 특정 이미지가 과속 방지턱을 넘는 과정에서 촬영된 이미지 인지를 판단할 수 있다.In addition, the data refiner 225 extracts an edge of an object included in each of the images, detects an object included in each of the images, and converts an image in which a position change value of the detected object is higher than a preset value into a noise image. can be classified as That is, the data refiner 225 may determine whether a specific image is an image captured while crossing a speed bump through the degree of movement of an object included in the image.

또한, 데이터 정제부(225)는 통신부(205)를 통해 적어도 하나의 학습 데이터 수집 장치(100)로부터 이미지들 각각의 메타 정보를 함께 수신할 수 있다. 여기서, 메타 정보는 이미지들 각각의 촬영 시점에서 학습 데이터 수집 장치(100)의 위치 정보 및 속도 정보를 포함할 수 있다.In addition, the data refiner 225 may also receive meta information of each of the images from at least one learning data collection device 100 through the communication unit 205 . Here, the meta information may include location information and speed information of the learning data collection device 100 at the time of capturing each of the images.

학습 데이터 수집 장치(100)로부터 제공받은 메타 정보를 활용하여, 데이터 정제부(225)는 학습 데이터 수집 장치(100)가 이동한 경로를 포함하는 지도 정보에 포함된 과속 방지턱의 위치 정보를 기준으로 메타 정보와 비교하여, 과속 방지턱의 위치에서 촬영된 이미지를 노이즈 이미지로 분류할 수 있다.Using the meta information provided from the learning data collection device 100, the data refiner 225 based on the location information of the speed bump included in the map information including the path along which the learning data collection device 100 moved. Compared with the meta information, an image photographed at a location of a speed bump may be classified as a noise image.

또한, 데이터 정제부(225)는 학습 데이터 수집 장치(100)가 이동한 경로를 포함하는 지도 정보에 포함된 커브(curve)길의 위치 정보를 기준으로 메타 정보와 비교하여, 커브길의 위치에서 생성된 이미지를 노이즈 이미지로 분류할 수 있다.In addition, the data refiner 225 compares the location information of the curve road included in the map information including the path traveled by the learning data collection device 100 with meta information, The generated image may be classified as a noise image.

또한, 데이터 정제부(225)는 시퀀스 데이터에서 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 연속적으로 검출된 경우, 검출된 이미지들이 커브길에서 촬영된 이미지들로 판단하고, 검출된 이미지들을 노이즈 이미지로 분류할 수 있다.In addition, the data refiner 225 compares the similarity between successive images in the sequence data, and when an image having a similarity lower than a preset value is continuously detected, the detected images are converted into images taken on a curved road. and may classify the detected images as noise images.

또한, 데이터 정제부(225)는 시퀀스 데이터 별 연속된 이미지의 유사도를 기초로 노이즈 이미지를 분류하고, 분류된 노이즈 이미지 각각의 오류 종류를 추정할 수 있다.In addition, the data refiner 225 may classify the noise images based on the similarity of consecutive images for each sequence data, and estimate the error type of each of the classified noise images.

구제적으로, 데이터 정제부(225)는 시퀀스 데이터 중 연속된 이미지 사이의 유사도를 비교하고, 제1 이미지와 연속된 제2 이미지 사이의 유사도가 사전 설정된 값보다 낮고, 제2 이미지와 연속된 제3 이미지와 제2 이미지의 유사도가 사전 설정된 값보다 높은 경우, 시퀀스 데이터에 포함된 이미지를 촬영한 카메라의 카메라 앵글(camera angle)이 변경된 오류로 판단할 수 있다. 즉, 데이터 정제부(225)는 이미지가 급격하게 변화된 후 변화된 상태의 이미지가 지속적으로 수집되는 경우, 이미지가 변화된 이후의 데이터를 카메라 앵글이 변경된 오류에 따른 노이즈 데이터로 판단할 수 있다.Specifically, the data refiner 225 compares the similarity between consecutive images among the sequence data, and if the similarity between the first image and the second consecutive image is lower than a preset value, the second image and the consecutive second image are lower than a preset value. When the similarity between the third image and the second image is higher than a preset value, it may be determined as an error in which a camera angle of a camera that has taken an image included in the sequence data has been changed. That is, when an image in a changed state is continuously collected after an image is rapidly changed, the data refiner 225 may determine data after the image is changed as noise data due to a camera angle change error.

또한, 데이터 정제부(225)는 시퀀스 데이터 중 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 사전 설정된 개수를 초과하는 경우, 시퀀스 데이터에 포함된 이미지를 촬영한 카메라의 결속 불량에 따른 오류로 판단할 수 있다. 즉, 데이터 정제부(225)는 이미지가 지속적으로 변화되는 경우, 카메라의 결속 불량에 따른 오류로 판단할 수 있다.In addition, the data refiner 225 compares the similarity between successive images among the sequence data, and when the number of images having a similarity lower than a preset value exceeds a preset number, the camera that has taken the image included in the sequence data. It can be judged as an error due to poor binding of . That is, the data refiner 225 may determine that the image is continuously changed as an error due to poor coupling of the camera.

데이터 정제부(225)는 추정된 오류에 해당하는 데이터를 삭제하거나, 추정된 오류의 종류를 메타 정보에 포함시켜 검수자가 확인할 수 있도록 할 수 있다.The data refiner 225 may delete data corresponding to the estimated error or include the type of the estimated error in the meta information so that the inspector can check it.

또한, 데이터 정제부(225)는 GPS(global positioning system) 좌표를 기초로 수신한 이미지들 및 사전 저장된 이미지를 매칭하고, 매칭된 이미지 사이의 유사도를 비교하여, 노이즈 이미지를 분류할 수 있다. 즉, 데이터 정제부(225)는 기 수행된 프로젝트 중 해당 위치에서 이전에 수집된 이미지와, 현재 수집된 이미지들을 매칭하고, 매칭된 이미지 사이의 유사도를 비교하여 유사도가 사전 설정된 값보다 낮은 경우, 해당 이미지를 노이즈 이미지로 분류할 수 있다.Also, the data refiner 225 may classify the noise image by matching the received images and the pre-stored image based on global positioning system (GPS) coordinates and comparing similarities between the matched images. That is, the data refiner 225 matches an image previously collected at a corresponding location among previously performed projects with currently collected images, compares the similarity between the matched images, and if the similarity is lower than a preset value, The image may be classified as a noise image.

또한, 데이터 정제부(225)는 각 이미지의 제1 변(side)을 구성하는 픽셀들과 제2 변을 구성하는 픽셀들 사이의 RGB 값의 유사도를 기준으로 제1 변 및 제2 변으로부터 각각 하나의 정점(vertex)을 식별하고, 제1 변 및 상기 제2 변으로부터 각각 식별된 두 정점을 연결한 선분을 추출할 수 있다. In addition, the data refiner 225 separates each image from the first side and the second side based on the similarity of RGB values between the pixels constituting the first side and the pixels constituting the second side of each image. One vertex may be identified, and a line segment connecting the identified two vertices may be extracted from the first side and the second side.

즉, 데이터 정제부(225)는 이미지 내에서 도로, 방음벽, 가드레일 등의 정적으로 존재하는 객체를 식별하기 위하여, 이미지 내에서 양단부에 존재하는 픽셀의 유사도를 평가하여 이미지의 양단부를 연결하는 객체를 식별할 수 있다. 그리고, 이미지의 양단부를 연결하는 객체를 정적으로 존재하는 객체로 인식할 수 있다.That is, the data refiner 225 evaluates the similarity of pixels existing at both ends in the image in order to identify statically existing objects such as roads, sound barriers, and guardrails in the image, and objects connecting both ends of the image. can identify. In addition, an object connecting both ends of the image may be recognized as a statically existing object.

데이터 정제부(225)는 매칭된 이미지 각각에서 추출된 선분의 길이 및 각도 중 적어도 하나를 기준으로 사전 설정된 오차 범위를 벗어나는 경우, 카메라 앵글이 변경된 오류로 판단할 수 있다. The data refiner 225 may determine that the camera angle has changed as an error when at least one of the length and angle of the line segment extracted from each matched image is out of a preset error range.

하지만 이에 한정된 것은 아니고, 데이터 정제부(225)는 매칭된 이미지 각각에서 엣지(edge)를 추출하고, 추출된 엣지를 기초로 매칭된 이미지 각각에 포함된 객체를 식별하고, 식별된 객체의 위치 변화 값을 기초로 노이즈 이미지를 분류할 수 있다.However, it is not limited thereto, and the data refiner 225 extracts an edge from each matched image, identifies an object included in each matched image based on the extracted edge, and changes the location of the identified object. Based on the value, a noisy image can be classified.

또한, 데이터 정제부(225)는 통신부(205)를 통해 이미지들과 동시에 획득된 라이다(lidar)를 통해 획득된 3D 점군(3D points group) 데이터를 더 수신할 수 있다. 데이터 정제부(225)는 3D 점군 데이터에 포함된 거리 정보를 기초로 매칭된 이미지 각각에 검출된 객체의 유형이 유동 객체 또는 정적 객체 인지 여부를 판단하고, 검출된 객체 중 정적 객체의 위치 변화 값을 기초로 상기 노이즈 이미지를 분류할 수 있다.In addition, the data refiner 225 may further receive 3D point group data acquired through lidar simultaneously obtained with the images through the communication unit 205 . The data refiner 225 determines whether the type of object detected in each matched image is a moving object or a static object based on the distance information included in the 3D point cloud data, and determines the position change value of the static object among the detected objects. The noise image may be classified based on .

즉, 이미지에 포함된 객체 중에는 자동차, 자전거, 사람 등과 같은 유동 객체와, 도로, 건물, 가이드레일 등과 같은 정적 객체가 존재할 수 있다. 이에 따라, 데이터 정제부(225)는 샘플 이미지와 매칭되는 이미지 사이의 정적 객체의 위치 변화 값이 사전 설정된 값보다 높은 이미지를 노이즈 이미지로 분류할 수 있다.That is, among the objects included in the image, moving objects such as cars, bicycles, and people and static objects such as roads, buildings, and guide rails may exist. Accordingly, the data refiner 225 may classify as a noise image an image in which a position change value of a static object between the sample image and the matched image is higher than a preset value.

다음 구성으로, 데이터 납품부(230)는 어노테이션 장치(300)들에 대하여 하나 이상의 어노테이션 작업 대상물(즉, 이미지)을 분배할 수 있다. 또한, 데이터 납품부(230)는 어노테이션 작업 결과물을 검증한 후, 인공지능 학습 장치(400)에 납품할 수 있다.With the following configuration, the data delivery unit 230 may distribute one or more annotation work objects (ie, images) to the annotation devices 300 . In addition, the data delivery unit 230 may verify the annotation work result and then deliver it to the artificial intelligence learning device 400 .

다음 구성으로, 저장부(235)는 학습 데이터 생성 장치(200)의 동작에 필요한 데이터를 저장할 수 있다. 저장부(235)는 인공지능(AI) 학습을 위한 데이터 설계하는데 필요한 데이터를 저장할 수 있다.With the following configuration, the storage unit 235 may store data necessary for the operation of the learning data generating device 200 . The storage unit 235 may store data necessary for data design for artificial intelligence (AI) learning.

구체적으로, 저장부(235)는 어노테이션 작업의 대상이 되는 이미지들을 저장할 수 있다. 저장부(235)는 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다. Specifically, the storage unit 235 may store images that are subject to annotation work. The storage unit 235 may store project properties, image properties, or worker properties.

이하, 상술한 바와 같은 학습 데이터 생성 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the above-described logical components of the learning data generating device 200 will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 하드웨어 구성도이다.3 is a hardware configuration diagram of an apparatus for generating learning data according to an embodiment of the present invention.

학습 데이터 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.The learning data generation device 200 includes a processor (250), a memory (Memory, 255), a transceiver (260), an input/output device (265), a data bus (Bus, 270), and a storage ( Storage, 275).

프로세서(250)는 메모리(255)에 상주된 소프트웨어(280a)에 따른 명령어를 기초로, 학습 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신할 수 있다. 입출력장치(265)는 학습 데이터 설계 장치(200)의 동작에 필요한 데이터를 입력 받고, 분류된 노이즈 이미지, 예측된 전체 작업 비용 등을 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement operations and functions of the learning data generating device 200 based on instructions according to the software 280a residing in the memory 255 . Software 280a implementing the method according to the present invention may be loaded in the memory 255 . The transceiver 260 may transmit and receive data to and from the learning data collection device 100 , the annotation device 300 , and the artificial intelligence learning device 400 . The input/output device 265 may receive data necessary for the operation of the learning data design device 200 and output a classified noise image, a predicted total cost of work, and the like. The data bus 270 is connected to the processor 250, the memory 255, the transceiver 260, the input/output device 265, and the storage 275, and is a movement path for transferring data between each component. role can be fulfilled.

스토리지(275)는 본 발명에 다른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 인공지능 학습용 데이터 생성 방법의 수행에 필요한 정보들을 저장할 수 있다. 특히, 스토리지(275)는 프로젝트의 속성, 이미지의 속성, 작업자의 속성, 기존에 수행된 복수 개의 프로젝트에 관한 정보 및 작업자들의 풀을 저장하는 데이터베이스(285)를 포함할 수 있다.The storage 275 may store an application programming interface (API), a library file, a resource file, and the like necessary for the execution of the software 280a implemented in another method according to the present invention. The storage 275 may store software 280b in which the method according to the present invention is implemented. In addition, the storage 275 may store information necessary for performing a data generation method for artificial intelligence learning. In particular, the storage 275 may include a database 285 for storing project attributes, image attributes, worker attributes, information on a plurality of previously performed projects, and a pool of workers.

본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 이미지의 수집을 적어도 하나의 학습 데이터 수집 장치에 요청하는 단계, 프로세서(250)가, 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계, 프로세서(250)가, 수신한 이미지들의 컬러 정보를 추출하는 단계 및 프로세서(250)가, 이미지들 사이의 컬러 정보를 기준으로 노이즈 이미지를 분류하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to one embodiment of the present invention, the software 280a, 280b resident in the memory 255 or stored in the storage 275 allows the processor 250 to perform machine learning of artificial intelligence (AI). Requesting collection of images for at least one training data collection device, processor 250, receiving images from at least one learning data collection device, processor 250, color information of the received images It may be a computer program recorded on a recording medium to execute the step of extracting and the processor 250 classifying the noise image based on color information between the images.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 수집 조건을 포함하는 가이드 정보를 적어도 하나의 수집 장치에 전송하는 단계, 프로세서(250)가, 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계, 프로세서(250)가, 수집 조건과 대응하는 이미지 정보를 이미지들로부터 추출하는 단계 및 프로세서(250)가, 이미지 정보를 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 280a, 280b resident in the memory 255 or stored in the storage 275 causes the processor 250 to perform machine learning of artificial intelligence (AI). ) Transmitting guide information including collection conditions for at least one collection device, processor 250 receiving images from at least one learning data collection device, processor 250, collection conditions and In order to execute the step of extracting corresponding image information from images and the step of classifying noise images according to the collection environment by comparing the image information with guide information by the processor 250, a computer program recorded on a recording medium It can be.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송하는 단계, 프로세서(250)가, 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계, 프로세서(250)가, 수집 조건과 대응하는 이미지 정보를 이미지들로부터 추출하는 단계 및 프로세서(250)가, 추출한 이미지 정보를 상기 가이드 정보와 비교하여, 이미지들 중 수집 장치 오류에 따른 노이즈 이미지를 분류하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 280a, 280b resident in the memory 255 or stored in the storage 275 causes the processor 250 to perform machine learning of artificial intelligence (AI). ) Transmitting guide information including image collection conditions for at least one training data collection device, processor 250 receiving images from at least one learning data collection device, processor 250 Executing the step of extracting image information corresponding to the collection condition from the images and the processor 250 comparing the extracted image information with the guide information and classifying noise images according to the error of the collection device among the images. For this purpose, it may be a computer program recorded on a recording medium.

본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 소프트웨어(280a, 280b)는 프로세서(250)가, 인공지능(Artificial Intelligence, AI) 학습을 위하여 수행 예정인 어노테이션(annotation) 작업과 관련된 프로젝트를 수행하기 위한 적어도 하나의 샘플 데이터를 인공지능 학습 장치로부터 수신하는 단계, 프로세서(250)가, 기 수행된 복수의 프로젝트에 포함된 기존 데이터를 샘플 데이터와 비교하고, 샘플 데이터와의 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 적어도 하나의 프로젝트를 추출하는 단계 및 프로세서(250)가, 추출된 적어도 하나의 프로젝트를 기초로 수행 예정인 어노테이션 작업과 관련된 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 예측하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software 280a, 280b residing in the memory 255 or stored in the storage 275 is scheduled to be executed by the processor 250 for artificial intelligence (AI) learning. Receiving at least one sample data for carrying out a project related to annotation work from an artificial intelligence learning device, wherein the processor 250 compares existing data included in a plurality of previously performed projects with the sample data Extracting at least one project including existing data having a similarity with sample data higher than a preset value, and the processor 250 performing a project related to an annotation task to be performed based on the extracted at least one project. In order to execute the step of estimating the total cost of work required to do so, it may be a computer program recorded on a recording medium.

보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired/wireless signals. The input/output device 265 includes an input device such as a keyboard, a mouse, and/or a joystick, and a Liquid Crystal Display (LCD), an Organic LED (OLED), and/or a liquid crystal display (LCD). Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.

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

도 3에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(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. 3 may be implemented by various means, eg, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one embodiment of the present invention includes 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), processors, controllers, microcontrollers, microprocessors, etc.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 on a recording medium readable through various computer means. can be recorded. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and 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 generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.

이하, 본 발명의 일 실시예에 따른 어노테이션 장치(300)의 논리적 구성에 대하여 상세히 설명하도록 한다.Hereinafter, the logical configuration of the annotation device 300 according to an embodiment of the present invention will be described in detail.

도 4는 본 발명의 일 실시예에 따른 어노테이션 장치의 논리적 구성도이다.4 is a logical configuration diagram of an annotation device according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 어노테이션 장치(300)는 통신부(305), 입출력부(310), 저장부(315), 객체 식별부(320), 객체 속성 설정부(325) 및 결과물 생성부(330)를 포함하여 구성될 수 있다.Referring to FIG. 4 , the annotation device 300 according to an embodiment of the present invention includes a communication unit 305, an input/output unit 310, a storage unit 315, an object identification unit 320, and an object property setting unit 325. ) and a result generating unit 330.

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

각각의 구성 요소에 대하여 설명하면, 통신부(305)는 학습 데이터 생성 장치(200)와 데이터를 송수신할 수 있다.Describing each component, the communication unit 305 may transmit and receive data to and from the learning data generating device 200 .

구체적으로, 통신부(305)는 학습 데이터 생성 장치(200)로부터 이미지를 수신할 수 있다.Specifically, the communication unit 305 may receive an image from the learning data generating device 200 .

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

또한, 통신부(305)는 어노테이션의 작업 결과물을 학습 데이터 생성 장치(200)에 전송할 수 있다.In addition, the communication unit 305 may transmit an annotation work result to the learning data generating device 200 .

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

그리고, 통신부(305)는 학습 데이터 생성 장치(200)로부터 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 수신할 수 있다.Also, the communication unit 305 may receive project properties, image properties, or worker properties from the learning data generating device 200 .

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

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

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

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

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

구체적으로, 입출력부(310)는 어노테이션 작업의 대상이 되는 이미지를 출력할 수 있다. 입출력부(310)는 객체를 지정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다. 그리고, 입출력부(310)는 이미지 위에 사용자가 지정한 영역을 오버레이(overlay)하여 출력할 수 있다.Specifically, the input/output unit 310 may output an image to be an annotation work. The input/output unit 310 may receive a control signal for designating an object from an operator. Also, the input/output unit 310 may overlay and output an area designated by the user on the image.

또한, 입출력부(310)는 객체의 속성 정보를 설정하기 위한 제어 신호를 작업자로부터 입력 받을 수 있다.Also, the input/output unit 310 may receive a control signal for setting object attribute information from an operator.

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

다음 구성으로, 저장부(315)는 통신부(305)를 통해 수신된 이미지를 저장할 수 있다. 저장부(315)는 통신부(305)를 통해 수신된 프로젝트의 속성, 이미지의 속성 또는 작업자의 속성을 저장할 수 있다.With the following configuration, the storage unit 315 may store images received through the communication unit 305 . The storage unit 315 may store project properties, image properties, or worker properties received through the communication unit 305 .

다음 구성으로, 객체 식별부(320)는 인공지능(AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체 중 제1 객체의 외곽선을 지정할 수 있다.With the following configuration, the object identification unit 320 may designate an outline of a first object among a plurality of overlapping objects included in an image that is a target of an annotation task for artificial intelligence (AI) learning. .

이때, 객체 식별부(320)는 작업자로부터 제1 객체의 외곽선을 따라 복수의 점을 입력 받고, 복수의 점을 연결하여 제1 객체의 외곽선을 형성할 수 있다. 즉, 객체 식별부(320)는 작업자가 지정한 점을 연결하여 폴리곤(polygon) 형태의 영역을 생성할 수 있다.In this case, the object identification unit 320 may receive a plurality of points along the outline of the first object from the operator and connect the plurality of points to form the outline of the first object. That is, the object identification unit 320 may create a polygonal area by connecting points designated by the operator.

이때, 객체 식별부(320)는 작업자로부터 상기 복수의 점 중 임의의 제1 점 및 제2 점을 선택받고, 제1 점 및 제2 점 사이에 적어도 하나의 새로운 제3 점을 지정 받는 경우, 제1 점, 제2 점 및 상기 제3 점을 연결하여, 제1 객체의 외곽선을 수정할 수 있다. 즉, 객체 식별부(320)는 복수의 점을 지정받은 후에 수정이 필요한 영역에 해당하는 두개의 점을 선택받고, 두개의 점 사이에 새로운 점을 지정하는 경우, 기존에 지정했던 점을 삭제하고, 새로운 점을 기준으로 복수의 점을 연결하여 새로운 영역을 생성할 수 있다.At this time, when the object identification unit 320 receives a selection of a first point and a second point among the plurality of points from the operator and designates at least one new third point between the first and second points, The outline of the first object may be modified by connecting the first point, the second point, and the third point. That is, after receiving a plurality of points, the object identification unit 320 selects two points corresponding to an area requiring correction, and when a new point is specified between the two points, the previously specified point is deleted. , a new area can be created by connecting a plurality of points based on the new point.

하지만, 이에 한정된 것은 아니고, 객체 식별부(320)는 작업자의 제어에 따라, 복수의 점 중 임의의 점을 드레그(drag)하여 이동시키는 경우, 이동시킨 점을 기준으로 제1 객체의 외곽선을 수정할 수 있다.However, it is not limited thereto, and the object identification unit 320 may modify the outline of the first object based on the moved point when an arbitrary point among a plurality of points is dragged and moved according to the operator's control. can

또한, 객체 식별부(320)는 이미지의 엣지(edge)를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 작업자로부터 하나의 점을 입력 받으면, 입력 받은 점을 포함하는 객체의 엣지를 제1 객체의 외곽선으로 지정할 수 있다.In addition, the object identification unit 320 extracts an edge of the image, identifies at least one object based on the extracted edge, and receives an input from an operator, and determines the number of objects including the input point. The edge may be designated as the outline of the first object.

즉, 객체 식별부(320)는 작업자로부터 복수의 점을 입력 받아 객체의 외곽선을 생성하지 않고, 자동으로 객체를 식별하여 객체의 외곽선을 지정할 수 있다. 즉, 엣지를 기초로 객체를 식별하는 경우, 이미지 내에 여러 개의 객체가 식별될 수 있다. 이때, 객체 식별부(320)는 작업자가 특정 점을 선택하게 되면, 해당 점이 포함된 엣지를 식별하고자 하는 객체의 엣지로 판단하고, 해당 객체의 엣지를 외곽선으로 인식할 수 있다.That is, the object identification unit 320 may automatically identify the object and designate the outline of the object without generating the outline of the object by receiving a plurality of points from the operator. That is, when an object is identified based on an edge, several objects may be identified in an image. In this case, when the operator selects a specific point, the object identification unit 320 may determine an edge including the corresponding point as an edge of an object to be identified and recognize the edge of the object as an outline.

제1 객체의 외곽선을 지정한 후에, 객체 식별부(320)는 제1 객체와 중첩되어 배치된 제2 객체 사이의 경계선을 지정할 수 있다.After designating the outline of the first object, the object identification unit 320 may designate a boundary line between the first object and the overlapping second object.

구체적으로, 객체 식별부(320)는 제1 객체의 외곽선을 따라 사전 설정된 간격을 갖는 복수의 점을 생성하고, 생성된 복수의 점 중 적어도 하나의 점을 선택받고, 선택받은 적어도 하나의 점을 기초로 상기 경계선을 지정할 수 있다.Specifically, the object identification unit 320 generates a plurality of points having a preset interval along the outline of the first object, receives at least one point selected from among the plurality of points created, and selects at least one selected point. The boundary line can be specified as a basis.

이때, 사용자에게 경계선에 해당하는 모든 점을 입력받는 것이 아니고, 객체 식별부(320)는 복수의 점 중 임의의 두개의 점을 선택받고, 선택받은 두개의 점 사이에 존재하는 적어도 하나의 점을 연결하는 선을 생성하고, 생성된 선을 경계선으로 지정할 수 있다.At this time, instead of receiving all points corresponding to the boundary line from the user, the object identification unit 320 selects two random points from among a plurality of points and identifies at least one point between the two selected points. You can create a connecting line and designate the created line as a boundary line.

여기서, 객체 식별부(320)는 복수의 점 중 임의의 제1 점 및 제2 점을 선택받고, 제1 점 및 제2 점 사이에 존재하는 제3 점을 선택받는 경우, 제1 점, 제2 점 및 제3 점을 연결하는 선을 생성할 수 있다. 즉, 두개의 점을 선택받는 경우, 선택받은 두개의 점을 기준으로 객체의 외곽선을 이루는 두개의 선이 존재한다. 이에 따라, 객체 식별부(320)는 두개의 점 사이에 다른 한점을 선택받아, 경계선을 명확히 인식할 수 있다.Here, the object identification unit 320 receives a selection of a first point and a second point among a plurality of points, and when a third point existing between the first and second points is selected, the first point and the second point are selected. A line connecting the two points and the third point can be created. That is, when two points are selected, two lines forming the outline of the object exist based on the two selected points. Accordingly, the object identification unit 320 can clearly recognize the boundary line by receiving another point selected between the two points.

경계선을 지정한 후에 객체 식별부(320)는 경계선을 제2 객체의 외곽선의 일부로 설정할 수 있다. 이때, 객체 식별부(320)는 경계선이 제1 객체의 외곽선과 구분되도록 색상을 달리하여 출력할 수 있다.After designating the boundary line, the object identification unit 320 may set the boundary line as a part of the outline of the second object. In this case, the object identification unit 320 may output the boundary line in a different color so as to be distinguished from the outline of the first object.

또한, 객체 식별부(320)는 설정된 경계선을 기준으로 제2 객체의 외곽선을 지정할 수 있다.Also, the object identification unit 320 may designate an outline of the second object based on the set boundary line.

이때, 객체 식별부(320)는 이미지의 엣지를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 식별된 적어도 하나의 객체 중 경계선을 포함하는 객체 중 제1 객체를 제외한 나머지 객체의 엣지를 제2 객체의 외곽선으로 지정할 수 있다.At this time, the object identification unit 320 extracts an edge of the image, identifies at least one object based on the extracted edge, and among the identified at least one object including a boundary line, the remaining objects except for the first object. The edge of may be designated as the outline of the second object.

또한, 객체 식별부(320)는 작업자로부터 제2 객체의 외곽선을 따라 복수의 점을 입력 받고, 경계선 및 복수의 점을 연결하여 제2 객체의 외곽선을 형성할 수 있다.In addition, the object identification unit 320 may receive a plurality of points along the outline of the second object from the operator, and form the outline of the second object by connecting the boundary line and the plurality of points.

그리고, 객체 식별부(320)는 제1 객체의 외곽선 및 제2 객체의 외곽선의 너비를 합산한 너비로 경계선의 너비를 변경하고, 너비가 변경된 경계선을 인접(adjacent)한 두개의 선으로 구분하고, 구분된 두개의 선 각각을 제1 객체의 외곽선 및 제2 객체의 외곽선과 연결할 수 있다. 즉, 객체 식별부(320)는 입력받은 하나의 경계선을 서로 밀착되어 배치되는 두개의 경계선으로 생성하고, 생성된 두개의 경계선을 각 객체에 연결할 수 있다.Then, the object identification unit 320 changes the width of the boundary line to the sum of the widths of the outline of the first object and the outline of the second object, divides the boundary line whose width is changed into two adjacent lines, , each of the two separated lines may be connected to the outline of the first object and the outline of the second object. That is, the object identification unit 320 may generate two boundary lines that are placed in close contact with each other from one input boundary line, and connect the two boundary lines to each object.

한편, 객체 식별부(320)는 상술한 방법 이외에 하기와 같이 객체를 식별할 수 있다.Meanwhile, the object identification unit 320 may identify an object as follows in addition to the above method.

구체적으로, 객체 식별부(320)는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체의 외곽선을 지정할 수 있다.Specifically, the object identification unit 320 may designate outlines of a plurality of objects included in an image that is a target of an annotation task for artificial intelligence (AI) learning and overlapping with each other.

이때, 객체 식별부(320)는 작업자로부터 복수의 객체를 포함하는 외곽선을 따라 복수의 점을 입력 받고, 복수의 점을 연결하여, 복수의 객체에 대한 외곽선을 생성할 수 있다.At this time, the object identification unit 320 may receive a plurality of points from the operator along the outline including the plurality of objects, connect the plurality of points, and generate outlines for the plurality of objects.

또한, 객체 식별부(320)는 이미지의 엣지(edge)를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 작업자로부터 식별된 객체 중 복수의 객체를 선택받고, 추출된 엣지를 기초로 경계선을 제외한 선택받은 복수의 객체에 대한 외곽선을 생성할 수 있다.In addition, the object identification unit 320 extracts an edge of the image, identifies at least one object based on the extracted edge, receives a plurality of objects selected from among the identified objects from an operator, and selects the extracted edge. As a basis, it is possible to create outlines for a plurality of selected objects excluding boundary lines.

또한, 객체 식별부(320)는 통신부(305)를 통해 이미지와 동시에 라이다(lidar)로부터 획득된 점군 데이터를 수신할 수 있다. 객체 식별부(320)는 이미지와 동시에 라이다로부터 획득된 점군 데이터를 기초로, 지정된 외곽선 내부에 존재하는 점들 중 거리(depth)가 일정 범위(range)를 갖는 복수의 점군을 식별하고, 작업자로부터 복수의 점군 중 복수의 객체를 선택받고, 식별된 복수의 점군을 기초로 선택받은 복수의 객체에 대한 외곽선을 생성할 수 있다.In addition, the object identification unit 320 may receive point cloud data obtained from lidar simultaneously with the image through the communication unit 305 . The object identification unit 320 identifies a plurality of point clouds having a certain range of depth among the points existing inside the designated outline based on the point cloud data obtained from LIDAR at the same time as the image, and from the operator A plurality of objects may be selected from among a plurality of point clouds, and outlines for the selected plurality of objects may be created based on the identified plurality of point clouds.

그리고, 객체 식별부(320)는 복수의 객체를 포함하는 일부 영역을 바운딩 박스(bounding box)로 설정하고, 바운딩 박스 내측 영역에서 객체의 엣지를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하고, 배경을 삭제하여 복수의 객체의 외곽선을 지정할 수 있다.Then, the object identification unit 320 sets a partial area including a plurality of objects as a bounding box, extracts an edge of the object from the inner area of the bounding box, and identifies the object based on the extracted edge. and background, and by deleting the background, the outlines of multiple objects can be specified.

복수의 객체에 대한 외곽선을 지정한 후에, 객체 식별부(320)는 지정된 외곽선 내에서 복수의 객체 사이의 경계선을 지정할 수 있다.After designating outlines for a plurality of objects, the object identification unit 320 may designate boundary lines between the plurality of objects within the specified outlines.

여기서, 객체 식별부(320)는 추출된 엣지를 기초로 복수의 객체에 대한 외곽선 내에서 경계선을 식별할 수 있다. Here, the object identification unit 320 may identify boundary lines within the outlines of the plurality of objects based on the extracted edges.

또한, 객체 식별부(320)는 작업자로부터 복수의 객체에 대한 외곽선 내부에 위치한 복수의 점을 입력 받고, 입력받은 복수의 점을 연결하여 경계선을 생성할 수 있다.In addition, the object identification unit 320 may receive a plurality of points located inside the outline of a plurality of objects from an operator, and connect the plurality of input points to create a boundary line.

또한, 객체 식별부(320)는 이미지와 동시에 라이다로부터 획득된 점군 데이터를 기초로, 지정된 외곽선 내부에 존재하는 점들 중 거리가 일정 범위를 갖는 복수의 점군을 식별하고, 복수의 점군 사이의 경계선을 복수의 객체 사이의 경계선으로 지정할 수 있다.In addition, the object identification unit 320 identifies a plurality of point clouds having a certain distance among points existing inside the designated outline based on the point cloud data obtained from LIDAR at the same time as the image, and the boundary line between the plurality of point clouds. can be designated as a boundary line between multiple objects.

또한, 객체 식별부(320)는 지정된 외곽선 내부에 위치한 픽셀(pixel)의 RGB(Red, Green, Blue) 값을 기초로, 사전 설정된 값보다 유사한 RGB 값을 갖는 그룹을 생성하고, 생성된 그룹을 각각 객체로 인식하고, 인식된 객체의 경계선을 생성할 수 있다.In addition, the object identification unit 320 creates a group having RGB values similar to those of a preset value based on RGB (Red, Green, Blue) values of pixels located inside the designated outline, and selects the generated group. Each object may be recognized, and a boundary line of the recognized object may be created.

또한, 객체 식별부(320)는 이미지와 동시에 라이다로부터 획득된 점군 데이터를 기초로, 지정된 외곽선 내부에 존재하는 점들 중 거리가 일정 범위를 갖는 복수의 점군을 식별하고, 작업자로부터 복수의 점군 중 하나의 객체를 선택받고, 선택받은 객체의 점군을 기초로 경계선을 생성할 수 있다.In addition, the object identification unit 320 identifies a plurality of point clouds having a certain distance among points existing inside the designated outline based on the point cloud data obtained from LIDAR at the same time as the image, and identifies a plurality of point clouds from the operator. One object can be selected, and a boundary line can be created based on the point cloud of the selected object.

그리고, 객체 식별부(320)는 지정된 외곽선 내부의 엣지를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 작업자로부터 식별된 객체 중 하나의 객체를 선택받고, 추출된 엣지를 기초로 경계선을 생성할 수 있다. 이때, 객체 식별부(320)는 생성된 경계선을 따라 사전 설정된 간격을 갖는 복수의 점을 생성하고, 작업자의 제어에 따라 복수의 점 중 적어도 하나의 점을 이동시켜 경계선을 수정할 수 있다.Then, the object identification unit 320 extracts an edge inside the designated outline, identifies at least one object based on the extracted edge, receives a selection of one object from among the identified objects from the operator, and based on the extracted edge. borders can be created. In this case, the object identification unit 320 may create a plurality of points having preset intervals along the created boundary line, and may modify the boundary line by moving at least one of the plurality of points according to the operator's control.

경계선을 지정한 후에, 객체 식별부(320)는 지정된 경계선을 기준으로 구획된 복수의 영역을 기준으로 복수의 객체를 각각 식별할 수 있다.After designating the boundary line, the object identification unit 320 may respectively identify a plurality of objects based on a plurality of regions partitioned based on the designated boundary line.

다음 구성으로, 객체 속성 설정부(325)는 입출력부(310)를 통해 작업자로부터 객체의 속성 정보를 설정하기 위한 제어 신호를 입력받을 수 있다.With the following configuration, the object property setting unit 325 may receive a control signal for setting object property information from an operator through the input/output unit 310 .

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

일 실시예로, 객체 속성 설정부(325)는 선택된 정보에 대응하는 객체의 유형에 따라 서로 다르게 설정된 색상 또는 투명도를 반영하여, 객체 내부의 영역과 관련된 사용자 인터페이스(User Interface, UI)를 변경할 수 있다.As an embodiment, the object property setting unit 325 may change a user interface (UI) related to an area inside the object by reflecting differently set colors or transparency according to the type of object corresponding to the selected information. there is.

다음 구성으로, 결과물 생성부(330)는 어노테이션의 작업 결과물을 생성하여, 학습 데이터 생성 장치(200)에 전송할 수 있다.With the following configuration, the result generation unit 330 may generate an annotation work result and transmit it to the learning data generation device 200 .

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

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

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

프로세서(350)는 메모리(355)에 상주된 어노테이션 방법이 구현된 소프트웨어(380a)에 따른 명령어를 기초로, 어노테이션 장치(300)의 동작 및 기능을 구현할 수 있다. 메모리(355)에는 어노테이션 방법이 구현된 소프트웨어(380a)가 상주(loading)될 수 있다. 송수신기(360)는 학습 데이터 생성 장치(200) 와 데이터를 송수신할 수 있다. 입출력장치(365)는 어노테이션 장치(300)의 동작에 필요한 데이터를 입력 받고, 이미지를 출력할 수 있다. 데이터 버스(370)는 프로세서(350), 메모리(355), 송수신기(360), 입출력장치(365) 및 스토리지(375)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 350 may implement operations and functions of the annotation device 300 based on instructions according to the software 380a in which the annotation method is implemented resident in the memory 355 . Software 380a in which the annotation method is implemented may be loaded in the memory 355 . The transceiver 360 may transmit and receive data to and from the learning data generating device 200 . The input/output device 365 may receive data necessary for the operation of the annotation device 300 and output an image. The data bus 370 is connected to the processor 350, the memory 355, the transceiver 360, the input/output device 365, and the storage 375, and is a moving path for transferring data between each component. role can be fulfilled.

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

본 발명의 일 실시예에 따르면, 메모리(355)에 상주되거나 또는 스토리지(375)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(380a, 380b)는 프로세서(350)가 작업자의 제어에 따라, 인공지능(Artificial Intelligence, AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체 중 제1 객체의 외곽선을 지정하는 단계, 프로세서(350)가, 제1 객체와 중첩되어 배치된 제2 객체 사이의 경계선을 지정하는 단계, 프로세서(350)가, 경계선을 제2 객체의 외곽선의 일부로 설정하는 단계 및 프로세서(350)가, 경계선을 기준으로 제2 객체의 외곽선을 지정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to one embodiment of the present invention, the software (380a, 380b) for implementing the annotation method resident in the memory 355 or stored in the storage 375 is the processor 350 under the control of the operator, artificial intelligence ( Designating the outline of a first object among a plurality of objects overlapping each other included in an image that is a target of annotation (artificial intelligence, AI) learning, the processor 350, the first object and Designating a boundary between overlapping second objects, setting, by the processor 350, the boundary as a part of the outline of the second object, and setting the outline of the second object based on the boundary, by the processor 350 In order to execute the designated step, it may be a computer program recorded on a recording medium.

본 발명의 다른 실시예에 따르면, 메모리(355)에 상주되거나 또는 스토리지(375)에 저장된 어노테이션 방법을 구현하기 위한 소프트웨어(380a, 380b)는 프로세서(350)가 작업자의 제어에 따라, 인공지능학습을 위한 어노테이션 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체의 외곽선을 지정하는 단계, 프로세서(350)가, 지정된 외곽선 내에서 복수의 객체 사이의 경계선을 지정하는 단계 및 프로세서(350)가, 지정된 경계선을 기준으로 구획된 복수의 영역을 기준으로 복수의 객체를 각각 식별하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (380a, 380b) for implementing the annotation method resident in the memory 355 or stored in the storage 375 allows the processor 350 to perform artificial intelligence learning under the control of the operator. A step of designating outlines of a plurality of objects included in an image that is a target of an annotation work for, which are overlapped with each other and arranged, by the processor 350, designating a boundary between a plurality of objects within the specified outline, and a processor ( 350) may be a computer program recorded on a recording medium to execute a step of identifying a plurality of objects based on a plurality of areas partitioned based on a designated boundary line.

보다 구체적으로, 프로세서(350)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(355)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(360)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(365)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 350 may include an Application-Specific Integrated Circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 355 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices. The transceiver 360 may include a baseband circuit for processing wired/wireless signals. The input/output device 365 includes an input device such as a keyboard, a mouse, and/or a joystick, and a Liquid Crystal Display (LCD), an Organic LED (OLED), and/or a liquid crystal display (LCD). Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.

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

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

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 on a recording medium readable through various computer means. can be recorded. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks), floptical It includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, such as a floptical disk, and 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 generated by a compiler. These hardware devices may be configured to operate as one or more pieces of software to perform the operations of the present invention, and vice versa.

이하, 본 발명의 일 실시예에 따른 데이터 분류 방법을 설명하도록 한다.Hereinafter, a data classification method according to an embodiment of the present invention will be described.

도 6은 본 발명의 일 실시예에 따른 데이터 분류 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a data classification method according to an embodiment of the present invention.

도 6을 참조하면, 먼저 S110 단계에서 학습 데이터 생성 장치는 적어도 하나의 학습 데이터 수집 장치에 이미지 수집을 요청할 수 있다.Referring to FIG. 6 , in step S110, the learning data generating device may request image collection from at least one learning data collecting device.

다음으로, S120 단계에서 학습 데이터 생성 장치는 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신할 수 있다.Next, in step S120, the learning data generating device may receive images from at least one learning data collecting device.

다음으로, S130 단계에서 학습 데이터 생성 장치는 수신한 이미지들의 컬러 정보를 추출할 수 있다. 여기서, 컬러 정보는 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 또는 컬러 코드(color code) 값이 될 수 있다.Next, in step S130, the training data generating device may extract color information of the received images. Here, the color information may be a red, green, blue (RGB) value or a color code value for a pixel.

여기서, 학습 데이터 생성 장치는 적어도 하나의 학습 데이터 수집 장치 각각에 부여된 식별자(identifier)를 기준으로 이미지들의 파일명 및 컬러 정보를 저장할 수 있다.Here, the learning data generating device may store file names and color information of images based on an identifier assigned to each of the at least one learning data collecting device.

다음으로, S140 단계에서 학습 데이터 생성 장치는 이미지들 사이의 컬러 정보를 기준으로 노이즈 이미지를 분류할 수 있다. 즉, 학습 데이터 생성 장치는 이미지들 중 컬러 정보의 유사도가 사전 설정된 값보다 높은 이미지들 중 적어도 하나를 노이즈 이미지로 분류할 수 있다.Next, in step S140, the training data generating device may classify the noisy image based on color information between the images. That is, the learning data generation apparatus may classify at least one of images having a similarity of color information higher than a preset value as a noise image.

구체적으로, 학습 데이터 생성 장치는 동일한 식별자에 동일한 파일명을 갖는 이미지가 복수개로 존재하는 경우, 동일한 파일명을 갖는 이미지 중 적어도 하나를 노이즈 이미지로 분류할 수 있다. Specifically, when there are a plurality of images having the same identifier and the same file name, the training data generating device may classify at least one of the images having the same file name as a noise image.

또한, 학습 데이터 생성 장치는 식별자가 상이하나 동일한 파일명이 복수개로 존재하는 경우, 동일한 파일명을 갖는 이미지 중 적어도 하나를 노이즈 이미지로 분류할 수 있다.In addition, when a plurality of files having different identifiers but the same file name exist, the training data generating apparatus may classify at least one of the images having the same file name as a noise image.

즉, 학습 데이터 생성 장치는 동일한 식별자에서 같은 이름의 파일이 중복되어 등록되거나, 다른 식별자로부터 동일한 파일이 중복되어 등록되는 경우를 사전 방지할 수 있다.That is, the learning data generating device can prevent in advance a case in which a file with the same name is duplicated and registered with the same identifier or the same file is duplicated and registered with a different identifier.

또한, 학습 데이터 생성 장치는 이미지들을 시간 순으로 나열하고, 나열된 이미지들을 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 시퀀스 데이터 별로 포함된 이미지들의 컬러 정보를 각각 비교하여 노이즈 이미지를 분류할 수 있다.In addition, the learning data generation apparatus lists images in chronological order, generates sequence data by grouping the listed images into a preset number, and classifies noisy images by comparing color information of images included for each sequence data. can do.

구체적으로, 학습 데이터 생성 장치는 생성된 시퀀스 데이터의 이미지들 각각에 포함된 객체의 엣지(edge)를 추출할 수 있다. 학습 데이터 생성 장치는 시퀀스 데이터 별로 연속된 이미지 사이의 엣지 변화량을 기준으로 이미지들의 유사도를 평가할 수 있다.Specifically, the learning data generating device may extract an edge of an object included in each of the generated images of the sequence data. The learning data generation apparatus may evaluate the similarity of images based on the amount of edge change between consecutive images for each sequence data.

또한, 학습 데이터 생성 장치는 이미지들 중 유사도가 사전 설정된 값보다 높은 이미지들의 선명도(sharpness)를 산출하고, 산출된 선명도가 가장 높은 이미지를 제외한 나머지 이미지를 노이즈 이미지로 분류할 수 있다.In addition, the training data generation apparatus may calculate the sharpness of images having a similarity higher than a preset value among the images, and classify the remaining images except for the image having the highest calculated sharpness as a noise image.

또한, 학습 데이터 생성 장치는 시퀀스 데이터 별로 연속된 이미지 사이의 유사도를 산출하고, 산출된 유사도를 기준으로 시퀀스 데이터 별 초당 프레임 수(frame per second)를 결정할 수 있다.In addition, the learning data generating apparatus may calculate a similarity between consecutive images for each sequence data, and determine the number of frames per second for each sequence data based on the calculated similarity.

그리고, S150 단계에서 학습 데이터 생성 장치는 S140 단계에서 분류된 노이즈 이미지를 리스트화 하여 출력하거나, 노이즈 이미지로 분류된 이미지를 삭제할 수 있다.In step S150, the learning data generating device may list and output the noise images classified in step S140, or delete images classified as noise images.

이하, 본 발명의 다른 실시예에 따른 데이터 분류 방법을 설명하도록 한다.Hereinafter, a data classification method according to another embodiment of the present invention will be described.

도 7은 본 발명의 다른 실시예에 따른 데이터 분류 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a data classification method according to another embodiment of the present invention.

도 7을 참조하면, 먼저, S210 단계에서 학습 데이터 생성 장치는 적어도 하나의 학습 데이터 수집 장치에 이미지 수집을 요청할 수 있다. 이때, 학습 데이터 생성 장치는 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송할 수 있다.Referring to FIG. 7 , first, in step S210, the learning data generating device may request image collection from at least one learning data collecting device. In this case, the learning data generating device may transmit guide information including collection conditions to at least one learning data collecting device.

다음으로, S220 단계에서 학습 데이터 생성 장치는 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신할 수 있다.Next, in step S220, the learning data generating device may receive images from at least one learning data collecting device.

다음으로, S230 단계에서 학습 데이터 생성 장치는 수집 조건과 대응하는 이미지 정보를 이미지들로부터 추출할 수 있다. 여기서, 이미지 정보는 파일 확장자, 이미지 해상도, 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 및 컬러 코드(color code) 값 중 적어도 하나를 포함할 수 있다.Next, in step S230, the training data generating device may extract image information corresponding to the collection conditions from the images. Here, the image information may include at least one of a file extension, image resolution, RGB (Red, Green, Blue) values and color code values for pixels.

다음으로, S240 단계에서 학습 데이터 생성 장치는 추출한 이미지 정보를 가이드 정보와 비교하여, 수집 환경 또는 학습 데이터 수집 장치의 오류에 따른 노이즈 이미지를 분류할 수 있다.Next, in step S240, the learning data generating device compares the extracted image information with the guide information and classifies noise images according to errors in the collection environment or the learning data collection device.

구체적으로, 학습 데이터 생성 장치는 샘플 이미지의 파일 확장자, 이미지 해상도, 픽셀에 대한 RGB 값 및 컬러 코드 값 중 적어도 하나를 포함하는 샘플 이미지 정보를 추출하고, 추출된 샘플 이미지 정보를 이미지들로부터 추출된 이미지 정보와 비교할 수 있다. 이때, 학습 데이터 생성 장치는 샘플 이미지와 유사도가 사전 설정된 값보다 낮은 이미지를 노이즈 이미지로 분류할 수 있다. 즉, 학습 데이터 생성 장치는 샘플 이미지와 파일 확장자 또는 이미지 해상도가 상이하거나, 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 및 컬러 코드(color code) 값의 유사도가 사전 설정된 값보다 낮은 경우, 해당 이미지를 노이즈 이미지로 분류할 수 있다.Specifically, the training data generating device extracts sample image information including at least one of a file extension of the sample image, an image resolution, an RGB value for a pixel, and a color code value, and extracts the extracted sample image information from the images. It can be compared with image information. In this case, the learning data generation device may classify an image having a similarity lower than a preset value to the sample image as a noise image. That is, the learning data generating device has a different file extension or image resolution from the sample image, or the similarity of RGB (Red, Green, Blue) values and color code values for pixels is lower than a preset value. In this case, the corresponding image may be classified as a noise image.

또한, 학습 데이터 생성 장치는 이미지들을 시간 순으로 나열하고, 나열된 이미지들을 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 시퀀스 데이터 별로 노이즈 이미지를 분류할 수 있다. In addition, the learning data generation apparatus may list images in chronological order, generate sequence data obtained by grouping the listed images in a preset number, and classify noise images for each sequence data.

이때, 학습 데이터 생성 장치는 시퀀스 데이터 중 특정 이미지를 대상으로 전후 이미지의 유사도를 비교하고, 전후 이미지 사이의 유사도가 사전 설정된 값보다 높되, 전후 이미지와 상기 특정 이미지 사이의 유사도가 사전 설정된 값보다 낮은 경우, 특정 이미지를 노이즈 이미지로 판단할 수 있다.At this time, the learning data generation device compares the similarity between the before and after images for a specific image among the sequence data, and the similarity between the before and after images is higher than a preset value, but the similarity between the before and after images and the specific image is lower than the preset value. In this case, a specific image may be determined as a noise image.

또한, 학습 데이터 생성 장치는 이미지들 각각에 포함된 객체의 엣지(edge)를 추출하고, 이미지들 각각에 포함된 객체를 검출하고, 검출된 객체의 위치 변화 값이 사전 설정된 값보다 높은 이미지를 노이즈 이미지로 분류할 수 있다. 즉, 학습 데이터 생성 장치는 이미지에 포함된 객체의 움직임의 정도를 통해 특정 이미지가 과속 방지턱을 넘는 과정에서 촬영된 이미지인지를 판단할 수 있다.In addition, the learning data generation device extracts an edge of an object included in each of the images, detects an object included in each of the images, and noises an image in which a position change value of the detected object is higher than a preset value. It can be classified as an image. That is, the learning data generation device may determine whether a specific image is an image captured while crossing a speed bump through the degree of motion of an object included in the image.

또한, 학습 데이터 생성 장치는 적어도 하나의 학습 데이터 수집 장치로부터 이미지들 각각의 메타 정보를 함께 수신할 수 있다. 여기서, 메타 정보는 이미지들 각각의 촬영 시점에서 학습 데이터 수집 장치의 위치 정보 및 속도 정보를 포함할 수 있다.Also, the learning data generating device may receive meta information of each of the images together from at least one learning data collecting device. Here, the meta information may include location information and speed information of the learning data collection device at the point of time when each of the images is captured.

학습 데이터 생성 장치는 학습 데이터 수집 장치가 이동한 경로를 포함하는 지도 정보에 포함된 과속 방지턱의 위치 정보를 기준으로 메타 정보와 비교하여, 과속 방지턱의 위치에서 촬영된 이미지를 노이즈 이미지로 분류할 수 있다.The learning data generating device compares the location information of the speed bump included in the map information including the path traveled by the learning data collecting device with meta information, and classifies the image captured at the location of the speed bump as a noise image. there is.

또한, 학습 데이터 생성 장치는 학습 데이터 수집 장치가 이동한 경로를 포함하는 지도 정보에 포함된 커브(curve)길의 위치 정보를 기준으로 메타 정보와 비교하여, 커브길의 위치에서 생성된 이미지를 노이즈 이미지로 분류할 수 있다.In addition, the learning data generating device compares the location information of the curved road included in the map information including the path traveled by the learning data collecting device with meta information, and converts the image generated at the location of the curved road into noise. It can be classified as an image.

또한, 학습 데이터 생성 장치는 시퀀스 데이터에서 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 연속적으로 검출된 경우, 검출된 이미지들이 커브길에서 촬영된 이미지들로 판단하고, 검출된 이미지들을 노이즈 이미지로 분류할 수 있다.In addition, the learning data generating device compares the similarity between successive images in the sequence data, and when an image having a similarity lower than a preset value is continuously detected, the detected images are determined as images taken on a curve road, , detected images can be classified as noise images.

또한, 학습 데이터 생성 장치는 시퀀스 데이터 별 연속된 이미지의 유사도를 기초로 노이즈 이미지를 분류하고, 분류된 노이즈 이미지 각각의 오류 종류를 추정할 수 있다.In addition, the learning data generation apparatus may classify the noise image based on the similarity of consecutive images for each sequence data, and estimate the error type of each of the classified noise images.

구제적으로, 학습 데이터 생성 장치는 시퀀스 데이터 중 연속된 이미지 사이의 유사도를 비교하고, 제1 이미지와 연속된 제2 이미지 사이의 유사도가 사전 설정된 값보다 낮고, 제2 이미지와 연속된 제3 이미지와 제2 이미지의 유사도가 사전 설정된 값보다 높은 경우, 시퀀스 데이터에 포함된 이미지를 촬영한 카메라의 카메라 앵글(camera angle)이 변경된 오류로 판단할 수 있다. Specifically, the learning data generating device compares the similarity between consecutive images of the sequence data, and if the similarity between the first image and the second consecutive image is lower than a preset value, the second image and the third consecutive image are lower than a preset value. If the similarity between the second image and the second image is higher than a preset value, it may be determined that the camera angle of the camera that has taken the image included in the sequence data is changed as an error.

또한, 학습 데이터 생성 장치는 시퀀스 데이터 중 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 사전 설정된 개수를 초과하는 경우, 시퀀스 데이터에 포함된 이미지를 촬영한 카메라의 결속 불량에 따른 오류로 판단할 수 있다.In addition, the learning data generation device compares the similarity between consecutive images among the sequence data, and when the number of images having a similarity lower than a preset value exceeds a preset number, the camera that has taken the image included in the sequence data is bound. It can be judged as an error according to the defect.

또한, 학습 데이터 생성 장치는 GPS(global positioning system) 좌표를 기초로 수신한 이미지들 및 사전 저장된 이미지를 매칭하고, 매칭된 이미지 사이의 유사도를 비교하여, 노이즈 이미지를 분류할 수 있다. In addition, the learning data generating apparatus may classify the noise image by matching the received images and the pre-stored image based on global positioning system (GPS) coordinates and comparing similarities between the matched images.

또한, 학습 데이터 생성 장치는 각 이미지의 제1 변(side)을 구성하는 픽셀들과 제2 변을 구성하는 픽셀들 사이의 RGB 값의 유사도를 기준으로 제1 변 및 제2 변으로부터 각각 하나의 정점(vertex)을 식별하고, 제1 변 및 상기 제2 변으로부터 각각 식별된 두 정점을 연결한 선분을 추출할 수 있다. In addition, the learning data generating apparatus is based on the similarity of RGB values between the pixels constituting the first side and the pixels constituting the second side of each image, respectively, from the first side and the second side. A vertex may be identified, and a line segment connecting the identified two vertices may be extracted from the first side and the second side.

학습 데이터 생성 장치는 매칭된 이미지 각각에서 추출된 선분의 길이 및 각도 중 적어도 하나를 기준으로 사전 설정된 오차 범위를 벗어나는 경우, 카메라 앵글이 변경된 오류로 판단할 수 있다.The learning data generating device may determine that the camera angle has changed as an error when at least one of the length and angle of the line segment extracted from each matched image is out of a preset error range.

하지만 이에 한정된 것은 아니고, 학습 데이터 생성 장치는 매칭된 이미지 각각에서 엣지(edge)를 추출하고, 추출된 엣지를 기초로 매칭된 이미지 각각에 포함된 객체를 식별하고, 식별된 객체의 위치 변화 값을 기초로 노이즈 이미지를 분류할 수 있다.However, it is not limited thereto, and the learning data generating device extracts an edge from each matched image, identifies an object included in each matched image based on the extracted edge, and calculates the position change value of the identified object. Based on this, noise images can be classified.

또한, 학습 데이터 생성 장치는 이미지들과 동시에 획득된 라이다(lidar)를 통해 획득된 3D 점군(3D points group) 데이터를 더 수신할 수 있다. 학습 데이터 생성 장치는 3D 점군 데이터에 포함된 거리 정보를 기초로 매칭된 이미지 각각에 검출된 객체의 유형이 유동 객체 또는 정적 객체 인지 여부를 판단하고, 검출된 객체 중 정적 객체의 위치 변화 값을 기초로 상기 노이즈 이미지를 분류할 수 있다.In addition, the learning data generating apparatus may further receive 3D point group data acquired through lidar simultaneously acquired with the images. The learning data generation device determines whether the type of object detected in each matched image is a moving object or a static object based on the distance information included in the 3D point cloud data, and based on the position change value of the static object among the detected objects The noisy image can be classified as

그리고, S250 단계에서 학습 데이터 생성 장치는 분류된 노이즈 이미지를 리스트화 하여 출력하거나, 노이즈 이미지로 분류된 이미지를 삭제할 수 있다.And, in step S250, the learning data generation device may list and output the classified noise images or delete the images classified as noise images.

이하, 본 발명의 일 실시예에 따른 작업 비용 예측 방법에 대하여 설명하도록 한다.Hereinafter, an operation cost estimation method according to an embodiment of the present invention will be described.

도 8는 본 발명의 일 실시예에 따른 작업 비용 예측 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating a method for predicting a work cost according to an embodiment of the present invention.

도 8을 참조하면, S310 단계에서 학습 데이터 생성 장치는 인공지능 학습을 위하여 수행 예정인 어노테이션 작업과 관련된 프로젝트를 수행하기 위한 적어도 하나의 샘플 데이터를 인공지능 학습 장치(400)로부터 수신할 수 있다.Referring to FIG. 8 , in step S310, the learning data generating device may receive at least one sample data for performing a project related to an annotation task to be performed for artificial intelligence learning from the artificial intelligence learning device 400.

다음으로, S320 단계에서 학습 데이터 생성 장치는 기 수행된 복수의 프로젝트에 포함된 기존 데이터를 샘플 데이터와 비교하고, 샘플 데이터와의 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 적어도 하나의 프로젝트를 추출할 수 있다.Next, in step S320, the learning data generating device compares existing data included in a plurality of previously performed projects with sample data, and selects at least one project including existing data having a similarity with the sample data higher than a preset value. can be extracted.

이때, 학습 데이터 생성 장치는 기존 데이터를 대상으로, 기존 데이터를 구성하고 있는 하나 이상의 분해 구성요소를 식별할 수 있다.At this time, the learning data generating device may identify one or more decomposition components constituting the existing data, for the existing data.

구체적으로, 샘플 데이터가 어노테이션 작업 대상이 되는 이미지에 해당되는 경우, 학습 데이터 생성 장치는 샘플 데이터에 해당되는 이미지를 대상으로, 사용자의 제어에 따라 어노테이션 작업을 수행할 수 있다. 그리고, 학습 데이터 생성 장치는 어노테이션 작업에 의해 이미지로부터 특정된 객체의 클래스와, 객체를 특정하기 위하여 사용된 툴을 샘플 데이터의 분해 구성요소로 식별할 수 있다Specifically, when the sample data corresponds to an image to be annotated, the training data generation device may perform an annotation operation on the image corresponding to the sample data according to a user's control. And, the learning data generation device may identify the class of the object specified from the image by the annotation work and the tool used to specify the object as decomposition components of the sample data.

또한, 학습 데이터 생성 장치는 샘플 데이터와의 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 적어도 하나의 프로젝트를 추출할 수 있다. 이때, 학습 데이터 생성 장치는 인공지능 학습 장치로부터 샘플 이미지의 분해 구성요소에 대한 가중치를 입력 받고, 입력 받은 가중치를 고려하여, 기존 이미지와의 유사도를 평가할 수 있다.Also, the learning data generating device may extract at least one project including existing data having a similarity with the sample data higher than a preset value. In this case, the learning data generating device may receive weights for decomposition components of the sample image from the artificial intelligence learning device and evaluate similarity with the existing image in consideration of the input weights.

또한, 학습 데이터 생성 장치는 샘플 이미지의 엣지(edge)를 추출하고, 추출된 엣지를 기초로 샘플 데이터에 포함된 객체를 검출하고, 객체의 RGB(Red, Green, Blue) 값을 기존 데이터에 포함된 객체의 RGB 값과 비교하여 유사도를 평가할 수 있다.In addition, the learning data generating device extracts an edge of a sample image, detects an object included in the sample data based on the extracted edge, and includes the RGB (Red, Green, Blue) values of the object in the existing data. The degree of similarity can be evaluated by comparing with the RGB values of the object.

또한, 학습 데이터 생성 장치는 기 수행된 복수의 프로젝트 별로 각각 사전 저장된 대표 이미지를 샘플 이미지와 비교하고, 샘플 이미지와의 유사도가 사전 설정된 값보다 높은 복수의 대표 이미지를 인공지능 학습 장치에 전송하고, 인공지능 학습 장치로부터 복수의 대표 이미지 중 하나를 선택받을 수 있다.In addition, the learning data generation device compares pre-stored representative images with sample images for each of a plurality of previously performed projects, and transmits a plurality of representative images having a similarity with the sample image higher than a preset value to the artificial intelligence learning device, One of a plurality of representative images may be selected from the artificial intelligence learning device.

이때, 학습 데이터 생성 장치는 샘플 이미지와의 유사도가 사전 설정된 값보다 높은 복수의 대표 이미지를 인공지능 학습 장치에 전송하되, 대표 이미지에 포함된 객체를 식별하고, 식별된 객체의 클래스가 기밀 정보로 사전 등록된 경우, 식별된 객체를 비식별(de-identify) 처리하여 인공지능 학습 장치(400)에 전송할 수 있다.At this time, the learning data generating device transmits a plurality of representative images having a similarity with the sample image higher than a preset value to the artificial intelligence learning device, identifies an object included in the representative image, and classifies the identified object as confidential information. If pre-registered, the identified object may be de-identified and transmitted to the artificial intelligence learning device 400.

그리고, S330 단계에서 학습 데이터 생성 장치는 추출된 적어도 하나의 프로젝트를 기초로 수행 예정인 어노테이션 작업과 관련된 프로젝트를 수행하기 위하여 요구되는 전체 작업 비용을 예측할 수 있다. 이때, 학습 데이터 생성 장치는 수행 예정인 어노테이션 작업과 관련된 프로젝트의 데이터 수량을 입력 받고, 추출된 프로젝트의 비용 및 데이터 수량을 고려하여, 전체 작업 비용을 예측할 수 있다.And, in step S330, the learning data generation device may estimate the total cost of work required to perform a project related to the annotation work to be performed based on at least one extracted project. In this case, the learning data generating device may receive input of the amount of data of a project related to the annotation work to be performed, and estimate the total cost of the work in consideration of the cost of the extracted project and the amount of data.

또한, 학습 데이터 생성 장치는 샘플 데이터와 유사도가 사전 설정된 값보다 높은 기존 데이터가 포함된 복수의 프로젝트를 추출하고, 추출된 복수의 프로젝트의 작업 비용 평균값을 수행 예정인 프로젝트의 전체 작업 비용으로 예측할 수 있다.In addition, the learning data generating device extracts a plurality of projects including existing data having a similarity with the sample data higher than a preset value, and predicts the average value of the work cost of the plurality of extracted projects as the total work cost of the project to be performed. .

그리고, 학습 데이터 생성 장치는 예측된 전체 작업 비용을 출력할 수 있다. 학습 데이터 생성 장치는 사용자의 제어에 따라, 전체 작업 비용을 수정할 수도 있다. 그리고, 학습 데이터 생성 장치는 예측 또는 수정된 전체 작업 비용을 인공지능 학습 장치에 전송할 수 있다.In addition, the learning data generating device may output the predicted total cost of work. The learning data generating device may modify the entire operation cost according to the user's control. And, the learning data generating device may transmit the predicted or corrected total cost of work to the artificial intelligence learning device.

이하, 본 발명의 일 실시예에 따른 어노테이션 방법에 대하여 설명하도록 한다.Hereinafter, an annotation method according to an embodiment of the present invention will be described.

도 9는 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이고, 도 10 내지 도 16은 본 발명의 일 실시예에 따른 어노테이션 방법을 설명하기 위한 예시도이다.9 is a flowchart for explaining an annotation method according to an embodiment of the present invention, and FIGS. 10 to 16 are exemplary diagrams for explaining an annotation method according to an embodiment of the present invention.

먼저, 도 10에 도시된 바와 같이, S410 단계에서 어노테이션 장치는 작업자의 제어에 따라, 인공지능(AI) 학습을 위한 어노테이션(annotation) 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체(A, B) 중 제1 객체(A)의 외곽선을 지정할 수 있다.First, as shown in FIG. 10, in step S410, the annotation device includes a plurality of overlapping arrays included in an image to be an annotation work for artificial intelligence (AI) learning under the control of an operator. Among the objects A and B, the outline of the first object A may be designated.

이때, 도 11에 도시된 바와 같이, 어노테이션 장치는 작업자로부터 제1 객체(A)의 외곽선을 따라 복수의 점(point)을 입력 받고, 복수의 점을 연결하여 제1 객체(A)의 외곽선을 형성할 수 있다. 즉, 어노테이션 장치는 작업자가 지정한 점을 연결하여 폴리곤(polygon) 형태의 영역을 생성할 수 있다.At this time, as shown in FIG. 11, the annotation device receives a plurality of points along the outline of the first object A from the operator, and connects the plurality of points to create the outline of the first object A. can form That is, the annotation device may create a polygon-shaped area by connecting points specified by an operator.

다음으로, S420 단계에서 어노테이션 장치는 제1 객체(A)의 외곽선을 지정한 후에, 제1 객체(A)와 중첩되어 배치된 제2 객체(A) 사이의 경계선(borderline)을 지정할 수 있다.Next, in step S420, the annotation device may designate an outline of the first object A, and then designate a borderline between the first object A and the overlapping second object A.

구체적으로, 어노테이션 장치는 제1 객체(A)의 외곽선을 따라 생성된 복수의 점 중 적어도 하나의 점을 선택받고, 선택받은 적어도 하나의 점을 기초로 경계선을 지정할 수 있다.Specifically, the annotation device may receive at least one point selected from among a plurality of points generated along the outline of the first object A, and designate a boundary line based on the selected at least one point.

이때, 사용자에게 경계선에 해당하는 모든 점을 입력받는 것이 아니고, 도 12에 도시된 바와 같이, 어노테이션 장치는 복수의 점 중 임의의 두개의 점을 선택받고, 도 13에 도시된 바와 같이, 선택받은 두개의 점 사이에 존재하는 적어도 하나의 점을 연결하는 선을 생성하고, 생성된 선을 경계선으로 지정할 수 있다.At this time, the user does not receive all the points corresponding to the boundary line, but as shown in FIG. 12, the annotation device receives a selection of two random points among a plurality of points, and as shown in FIG. 13, the selected A line connecting at least one point between two points can be created, and the created line can be designated as a boundary line.

다음으로, 도 14에 도시된 바와 같이, S430 단계에서 어노테이션 장치는 경계선을 지정한 후에 경계선을 제2 객체(B)의 외곽선의 일부로 설정할 수 있다. 이때, 어노테이션 장치는 경계선이 제1 객체(A)의 외곽선과 구분되도록 출력할 수 있다.Next, as shown in FIG. 14 , in step S430, the annotation device may set the boundary line as part of the outline of the second object B after designating the boundary line. In this case, the annotation device may output the boundary line to be distinguished from the outline of the first object A.

다음으로, 도 15에 도시된 바와 같이, S440 단계에서 어노테이션 장치는 설정된 경계선을 기준으로 제2 객체(B)의 외곽선을 지정할 수 있다.Next, as shown in FIG. 15 , in step S440, the annotation device may designate the outline of the second object B based on the set boundary line.

이때, 어노테이션 장치는 작업자로부터 제2 객체(B)의 외곽선을 따라 복수의 점을 입력 받고, 경계선 및 복수의 점을 연결하여 제2 객체(B)의 외곽선을 형성할 수 있다.In this case, the annotation device may receive a plurality of points along the outline of the second object B from the operator, and form the outline of the second object B by connecting the boundary line and the plurality of points.

또한, 어노테이션 장치는 이미지의 엣지를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 식별된 적어도 하나의 객체 중 경계선을 포함하는 객체 중 제1 객체(A)를 제외한 나머지 객체의 엣지를 제2 객체(B)의 외곽선으로 지정할 수 있다.In addition, the annotation device extracts an edge of the image, identifies at least one object based on the extracted edge, and among the identified at least one object including a boundary line, the remaining objects other than the first object (A). The edge may be designated as the outline of the second object (B).

그리고, 도 16에 도시된 바와 같이, S450 단계에서 어노테이션 장치는 지정된 제1 객체(A) 및 제2 객체(B)를 각각 식별할 수 있다.And, as shown in FIG. 16 , in step S450, the annotation device may identify the designated first object A and second object B, respectively.

이하, 본 발명의 다른 실시예에 따른 어노테이션 방법에 대하여 설명하도록 한다.Hereinafter, an annotation method according to another embodiment of the present invention will be described.

도 17은 본 발명의 다른 실시예에 따른 어노테이션 방법을 설명하기 위한 순서도이고, 도 18 내지 도 21은 본 발명의 다른 실시예에 따른 어노테이션 방법을 설명하기 위한 예시도이다.17 is a flowchart for explaining an annotation method according to another embodiment of the present invention, and FIGS. 18 to 21 are exemplary diagrams for explaining an annotation method according to another embodiment of the present invention.

먼저, 도 18에 도시된 바와 같이, S510 단계에서 어노테이션 장치는 인공지능(AI) 학습을 위한 어노테이션 작업의 대상이 되는 이미지에 포함된 서로 중첩되어 배치되는 복수의 객체(A, B)의 외곽선을 지정할 수 있다. 이때, 복수의 객체의 외곽선은 경계선을 제외한 외곽선이 될 수 있다.First, as shown in FIG. 18, in step S510, the annotation device draws the outlines of a plurality of objects A and B included in an image that is a target of annotation work for artificial intelligence (AI) learning and overlaps with each other. can be specified. In this case, the outlines of the plurality of objects may be outlines excluding boundary lines.

이때, 어노테이션 장치는 작업자로부터 복수의 객체를 포함하는 외곽선을 따라 복수의 점을 입력 받고, 복수의 점을 연결하여, 복수의 객체에 대한 외곽선을 생성할 수 있다.At this time, the annotation device may receive a plurality of points from the operator along the outline including the plurality of objects, connect the plurality of points, and generate outlines for the plurality of objects.

또한, 어노테이션 장치는 이미지의 엣지(edge)를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 작업자로부터 식별된 객체 중 복수의 객체를 선택받고, 추출된 엣지를 기초로 경계선을 제외한 선택받은 복수의 객체에 대한 외곽선을 생성할 수 있다.In addition, the annotation device extracts an edge of an image, identifies at least one object based on the extracted edge, receives a plurality of objects selected from among the identified objects from an operator, and draws a boundary line based on the extracted edge. It is possible to create outlines for a plurality of selected objects excluded.

또한, 어노테이션 장치는 이미지와 동시에 라이다(lidar)로부터 획득된 점군 데이터를 기초로, 지정된 외곽선 내부에 존재하는 점들 중 거리(depth)가 일정 범위(range)를 갖는 복수의 점군을 식별하고, 작업자로부터 복수의 점군 중 복수의 객체를 선택받고, 식별된 복수의 점군을 기초로 선택받은 복수의 객체에 대한 외곽선을 생성할 수 있다.In addition, the annotation device identifies a plurality of point clouds having a certain depth range among points existing inside a designated outline based on point cloud data obtained from lidar at the same time as the image, and the operator A plurality of objects may be selected from among a plurality of point clouds, and outlines for the selected plurality of objects may be generated based on the identified plurality of point clouds.

그리고, 어노테이션 장치는 복수의 객체를 포함하는 일부 영역을 바운딩 박스(bounding box)로 설정하고, 바운딩 박스 내측 영역에서 객체의 엣지를 추출하고, 추출된 엣지를 기준으로 객체(object)와 배경(background)을 구분하고, 배경을 삭제하여 복수의 객체의 외곽선을 지정할 수 있다.In addition, the annotation device sets a partial area including a plurality of objects as a bounding box, extracts the edge of the object from the area inside the bounding box, and compares the object and the background based on the extracted edge. ), and delete the background to designate the outlines of multiple objects.

다음으로, 도 19에 도시된 바와 같이, 어노테이션 장치는 지정된 외곽선 내에서 복수의 객체 사이의 경계선을 지정할 수 있다.Next, as shown in FIG. 19 , the annotation device may designate a boundary line between a plurality of objects within the designated outline.

여기서, 어노테이션 장치는 S510 단계에서 추출된 엣지를 기초로 복수의 객체에 대한 외곽선 내에서 경계선을 식별할 수 있다. Here, the annotation device may identify boundary lines within the outlines of a plurality of objects based on the edges extracted in step S510.

또한, 어노테이션 장치는 작업자로부터 복수의 객체에 대한 외곽선 내부에 위치한 복수의 점을 입력 받고, 입력받은 복수의 점을 연결하여 경계선을 생성할 수 있다.In addition, the annotation device may receive a plurality of points located inside the outline of a plurality of objects from an operator, and create a boundary line by connecting the plurality of input points.

또한, 어노테이션 장치는 이미지와 동시에 라이다로부터 획득된 점군 데이터를 기초로, 지정된 외곽선 내부에 존재하는 점들 중 거리가 일정 범위를 갖는 복수의 점군을 식별하고, 복수의 점군 사이의 경계선을 복수의 객체 사이의 경계선으로 지정할 수 있다.In addition, the annotation device identifies a plurality of point clouds having a certain distance among points existing inside the designated outline based on the point cloud data obtained from LIDAR at the same time as the image, and draws the boundary between the plurality of point clouds to a plurality of objects. It can be specified as a boundary line in between.

또한, 어노테이션 장치는 지정된 외곽선 내부에 위치한 픽셀(pixel)의 RGB(Red, Green, Blue) 값을 기초로, 사전 설정된 값보다 유사한 RGB 값을 갖는 그룹을 생성하고, 생성된 그룹을 각각 객체로 인식하고, 인식된 객체의 경계선을 생성할 수 있다.In addition, based on the RGB (Red, Green, Blue) values of pixels located inside the designated outline, the annotation device creates groups having RGB values similar to those of the preset values, and recognizes each created group as an object. and create a boundary of the recognized object.

또한, 어노테이션 장치는 이미지와 동시에 라이다로부터 획득된 점군 데이터를 기초로, 지정된 외곽선 내부에 존재하는 점들 중 거리가 일정 범위를 갖는 복수의 점군을 식별하고, 작업자로부터 복수의 점군 중 하나의 객체를 선택받고, 선택받은 객체의 점군을 기초로 경계선을 생성할 수 있다.In addition, the annotation device identifies a plurality of point clouds having a certain distance among the points existing inside the designated outline based on the point cloud data obtained from LIDAR at the same time as the image, and selects one object from the plurality of point clouds from the operator. After being selected, a boundary line can be created based on the point cloud of the selected object.

그리고, 어노테이션 장치는 지정된 외곽선 내부의 엣지를 추출하고, 추출된 엣지를 기초로 적어도 하나의 객체를 식별하고, 작업자로부터 식별된 객체 중 하나의 객체를 선택받고, 추출된 엣지를 기초로 경계선을 생성할 수 있다. 이때, 어노테이션 장치는 생성된 경계선을 따라 사전 설정된 간격을 갖는 복수의 점을 생성하고, 작업자의 제어에 따라 복수의 점 중 적어도 하나의 점을 이동시켜 경계선을 수정할 수 있다.Then, the annotation device extracts an edge inside the designated outline, identifies at least one object based on the extracted edge, receives a selection of one of the identified objects from the operator, and generates a boundary line based on the extracted edge. can do. In this case, the annotation device may generate a plurality of points having preset intervals along the created boundary line, and may modify the boundary line by moving at least one of the plurality of points according to the operator's control.

그리고, 도 20에 도시된 바와 같이, 어노테이션 장치는 지정된 경계선을 기준으로 구획된 복수의 영역을 기준으로 복수의 객체를 각각 식별할 수 있다.And, as shown in FIG. 20 , the annotation device may identify a plurality of objects based on a plurality of regions partitioned based on a designated boundary line.

도 21은 본 발명의 일 실시예에 따른 데이터 분류 방법을 설명하기 위한 예시도이다.21 is an exemplary diagram for explaining a data classification method according to an embodiment of the present invention.

도 21을 참조하면, 학습 데이터 생성 장치는 이미지들을 시간 순으로 나열하고, 나열된 이미지들을 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터(sequence data)를 생성하고, 시퀀스 데이터 별로 포함된 이미지들의 컬러 정보를 각각 비교하여 노이즈 이미지를 분류할 수 있다.Referring to FIG. 21 , the learning data generation apparatus lists images in chronological order, generates sequence data by grouping the listed images into a preset number, and generates color information of images included for each sequence data. It is possible to classify a noisy image by comparing each.

구체적으로, 학습 데이터 생성 장치는 연속하는 제1 이미지(image A) 및 제2 이미지(image B) 각각의 RGB 값에 대한 컬러 히스토그램을 생성하고, 생성된 컬러 히스토그램을 기준으로 제1 이미지(image A) 및 제2 이미지(image B)의 유사도를 판단할 수 있다.Specifically, the learning data generating device generates a color histogram for RGB values of each successive first image (image A) and second image (image B), and based on the generated color histogram, the first image (image A). ) and the similarity of the second image (image B).

학습 데이터 생성 장치는 제1 이미지(image A) 및 제2 이미지(image B)의 유사도가 사전 설정된 값보다 높은 경우, 제1 이미지(image A) 및 제2 이미지(image B) 중 적어도 하나를 노이즈 이미지로 판단할 수 있다.When the similarity between the first image (image A) and the second image (image B) is higher than a preset value, the training data generating device converts at least one of the first image (image A) and the second image (image B) into noise. You can judge by image.

이때, 학습 데이터 생성 장치는 이미지들 중 유사도가 사전 설정된 값보다 높은 이미지들의 선명도(sharpness)를 산출하고, 산출된 선명도가 가장 높은 이미지를 제외한 나머지 이미지를 노이즈 이미지로 분류할 수 있다.At this time, the learning data generating device may calculate the sharpness of images having a similarity higher than a preset value among the images, and classify the remaining images except for the image having the highest calculated sharpness as a noise image.

즉, 제1 이미지(image A) 및 제2 이미지(image B)의 유사도가 높게 판단된 경우, 특정 기준을 통해 제1 이미지(image A) 및 제2 이미지(image B) 중 하나를 제거해야 한다. 이를 위해, 학습 데이터 생성 장치는 선정된 제1 이미지(image A) 및 제2 이미지(image B) 중 선명도가 높은 이미지를 제외한 나머지 이미지를 노이즈 이미지로 분류하여 삭제할 수 있다.That is, when the similarity between the first image (image A) and the second image (image B) is determined to be high, one of the first image (image A) and the second image (image B) must be removed through a specific criterion. . To this end, the training data generating device may classify and delete remaining images except for images having high sharpness among the selected first image (image A) and second image (image B) as noise images.

도 22는 본 발명의 다른 실시예에 따른 데이터 분류 방법을 설명하기 위한 예시도이다.22 is an exemplary diagram for explaining a data classification method according to another embodiment of the present invention.

도 22를 참조하면, 학습 데이터 생성 장치는 GPS(global positioning system) 좌표를 기초로 수신한 이미지들 및 사전 저장된 이미지를 매칭하고, 매칭된 이미지 사이의 유사도를 비교하여, 노이즈 이미지를 분류할 수 있다.Referring to FIG. 22 , the learning data generating device may classify a noisy image by matching received images and a pre-stored image based on global positioning system (GPS) coordinates and comparing similarities between the matched images. .

즉, (A)에 도시된 바와 같이, 학습 데이터 생성 장치는 사전 저장된 이미지의 제1 변을 구성하는 픽셀들과 제2 변을 구성하는 픽셀들 사이의 RGB 값의 유사도를 기준으로 제1 변 및 제2 변으로부터 각각 하나의 정점(point A, B)을 식별할 수 있다. 이때, 식별된 각각 하나의 정점은 정적 객체인 가이드 레일이 될 수 있다.That is, as shown in (A), the training data generating device is based on the similarity of RGB values between the pixels constituting the first side and the pixels constituting the second side of the pre-stored image, and From the second side, one vertex (point A, B) can be identified. In this case, each identified vertex may be a guide rail that is a static object.

학습 데이터 생성 장치는 제1 변 및 제2 변으로부터 각각 식별된 두 정점(point A, B)을 연결한 선분(line A)을 추출할 수 있다.The learning data generation apparatus may extract a line segment (line A) connecting two identified vertices (points A and B) from the first side and the second side, respectively.

그리고, (B)에 도시된 바와 같이, 학습 데이터 생성 장치는 사전 저장된 이미지와 동일한 위치에 존재하는 이미지에서 제1 변을 구성하는 픽셀들과 제2 변을 구성하는 픽셀들 사이의 RGB 값의 유사도를 기준으로 제1 변 및 제2 변으로부터 각각 하나의 정점(point A, C)을 식별할 수 있다.And, as shown in (B), the learning data generation apparatus is a similarity of RGB values between pixels constituting the first side and pixels constituting the second side in an image existing at the same location as the pre-stored image. It is possible to identify one vertex (point A, C) from the first side and the second side based on .

학습 데이터 생성 장치는 제1 변 및 제2 변으로부터 각각 식별된 두 정점(point A, C)을 연결한 선분(line B)을 추출할 수 있다.The learning data generation apparatus may extract a line segment (line B) connecting the two identified vertices (points A and C) from the first side and the second side, respectively.

그리고, 학습 데이터 생성 장치는 추출된 선분의 길이 및 각도 중 적어도 하나를 기준으로 사전 설정된 오차 범위를 벗어나는 경우, 카메라 앵글이 변경된 오류로 판단할 수 있다.In addition, the learning data generation device may determine that the camera angle is changed as an error when at least one of the length and angle of the extracted line segment is out of a preset error range.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.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 belongs that other modified examples based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein. It is self-evident to those skilled in the art. In addition, although specific terms have been used in the present specification and drawings, they are only used in a general sense to easily explain the technical content of the present invention and help understanding of the present invention, but are not intended to limit the scope of the present invention. Accordingly, the foregoing detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the present invention should be selected by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

100 : 학습 데이터 수집 장치 200 : 학습 데이터 생성 장치
300 : 어노테이션 장치 400 : 인공지능 학습 장치
205 : 통신부 210 : 입출력부
215 : 데이터 설계부 220 : 데이터 수집부
225 : 데이터 정제부 230 : 데이터 납품부
235 : 저장부 305 : 통신부
310 : 입출력부 315 : 저장부
320 : 객체 식별부 325 : 객체 속성 설정부
330 : 결과물 생성부
100: learning data collection device 200: learning data generating device
300: annotation device 400: artificial intelligence learning device
205: communication unit 210: input/output unit
215: data design unit 220: data collection unit
225: data purification unit 230: data delivery unit
235: storage unit 305: communication unit
310: input/output unit 315: storage unit
320: object identification unit 325: object property setting unit
330: result generating unit

Claims (10)

학습 데이터 생성 장치가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 이미지의 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송하는 단계;
상기 학습 데이터 생성 장치가, 상기 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계;
상기 학습 데이터 생성 장치가, 상기 수집 조건과 대응하는 이미지 정보를 상기 이미지들로부터 추출하는 단계; 및
상기 학습 데이터 생성 장치가, 상기 추출한 이미지 정보를 상기 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류하는 단계; 를 포함하는 것을 특징으로 하고,
상기 분류하는 단계는
상기 이미지들을 시간 순으로 나열하고, 연속된 복수의 이미지를 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 상기 시퀀스 데이터 별로 노이즈 이미지를 분류하는 것을 특징으로 하며,
상기 분류하는 단계는
상기 시퀀스 데이터 중 특정 이미지를 대상으로 전후 이미지의 유사도를 비교하고, 상기 전후 이미지 사이의 유사도가 사전 설정된 값보다 높되, 상기 전후 이미지와 상기 특정 이미지 사이의 유사도가 사전 설정된 값보다 낮은 경우, 상기 특정 이미지가 방지턱을 넘는 과정에서 촬영된 이미지인 것으로 판단하고,
상기 분류하는 단계는
상기 이미지들 각각에 포함된 객체를 검출하고, 상기 검출된 객체의 위치 변화 값이 사전 설정된 값보다 높은 이미지를 노이즈 이미지로 분류하는 것을 특징으로 하며,
상기 분류하는 단계는
상기 시퀀스 데이터에서 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 연속적으로 검출된 경우, 상기 검출된 이미지들이 커브(curve)길에서 촬영된 이미지들인 것으로 판단하고, 상기 검출된 이미지들을 노이즈 이미지로 분류하는 것을 특징으로 하는, 데이터 분류 방법.
transmitting, by a learning data generating device, guide information including image collection conditions for artificial intelligence (AI) machine learning to at least one learning data collecting device;
receiving, by the learning data generating device, images from the at least one learning data collecting device;
extracting, by the learning data generation device, image information corresponding to the collection condition from the images; and
Classifying, by the training data generation device, a noisy image according to a collection environment by comparing the extracted image information with the guide information; It is characterized by including,
The classification step is
Arranging the images in chronological order, generating sequence data by grouping a plurality of consecutive images into a preset number, and classifying noise images for each sequence data,
The classification step is
Comparing the similarity between before and after images for a specific image among the sequence data, and when the similarity between the before and after images is higher than a preset value, but the similarity between the before and after images and the specific image is lower than the preset value, the specific It is determined that the image is an image taken in the process of crossing the barrier,
The classification step is
Characterized in that an object included in each of the images is detected, and an image in which a position change value of the detected object is higher than a preset value is classified as a noise image,
The classification step is
The similarity between successive images in the sequence data is compared, and when images having a similarity lower than a preset value are continuously detected, it is determined that the detected images are images taken on a curve road, and the A data classification method, characterized in that the detected images are classified as noisy images.
제1 항에 있어서, 상기 가이드 정보는
상기 수집 조건에 따른 샘플 이미지를 포함하고,
상기 이미지 정보는
파일 확장자, 이미지 해상도, 픽셀(pixel)에 대한 RGB(Red, Green, Blue) 값 및 컬러 코드(color code) 값 중 적어도 하나를 포함하고,
상기 분류하는 단계는
상기 샘플 이미지의 파일 확장자, 이미지 해상도, 픽셀에 대한 RGB 값 및 컬러 코드 값 중 적어도 하나를 포함하는 샘플 이미지 정보를 추출하고, 상기 추출된 샘플 이미지 정보를 상기 이미지들로부터 추출된 이미지 정보와 비교하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 1, wherein the guide information
Including sample images according to the collection conditions,
The image information
At least one of a file extension, an image resolution, a red, green, blue (RGB) value for a pixel, and a color code value,
The classification step is
Extracting sample image information including at least one of a file extension of the sample image, an image resolution, an RGB value for a pixel, and a color code value, and comparing the extracted sample image information with image information extracted from the images Characterized in that, a data classification method.
제1 항에 있어서, 상기 분류하는 단계는
상기 이미지들을 사전 설정된 해상도로 리샘플링(resamping)하고, 상기 리샘플링 된 이미지들의 동일한 위치에 존재하는 픽셀의 컬러 정보를 각각 비교하여 상기 이미지들 간 유사도를 평가하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 1, wherein the classifying step
Characterized in that, resampling the images to a preset resolution, and comparing the color information of pixels existing in the same location of the resampled images, respectively, to evaluate the similarity between the images, the data classification method.
제1 항에 있어서, 상기 추출하는 단계는
상기 이미지들 각각에 포함된 객체의 엣지(edge)를 추출하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 1, wherein the extracting
Characterized in that for extracting the edge (edge) of the object included in each of the images, data classification method.
제1 항에 있어서, 상기 수신하는 단계는
상기 적어도 하나의 학습 데이터 수집 장치로부터 상기 이미지들과 함께 상기 이미지들 각각의 메타 정보를 함께 수신하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 1, wherein the receiving step
Characterized in that, the data classification method for receiving the meta information of each of the images together with the images from the at least one learning data collection device.
제5 항에 있어서, 상기 메타 정보는
상기 이미지들 각각의 촬영 시점에서 상기 학습 데이터 수집 장치의 위치 정보 및 속도 정보를 포함하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 5, wherein the meta information
Characterized in that, the data classification method comprising the location information and speed information of the learning data collection device at the time point of each of the images.
제6 항에 있어서, 상기 분류하는 단계는
상기 학습 데이터 수집 장치가 이동한 경로를 포함하는 지도 정보에 포함된 과속 방지턱의 위치 정보를 기준으로 상기 메타 정보와 비교하여, 과속 방지턱의 위치에서 촬영된 이미지를 노이즈 이미지로 분류하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 6, wherein the classifying step
Characterized in that the image captured at the location of the speed bump is classified as a noise image by comparing the location information of the speed bump included in the map information including the path traveled by the learning data collection device with the meta information. , a data classification method.
제6 항에 있어서, 상기 분류하는 단계는
상기 학습 데이터 수집 장치가 이동한 경로를 포함하는 지도 정보에 포함된 커브길의 위치 정보를 기준으로 상기 메타 정보와 비교하여, 상기 커브길의 위치에서 생성된 이미지를 노이즈 이미지로 분류하는 것을 특징으로 하는, 데이터 분류 방법.
The method of claim 6, wherein the classifying step
Classifying an image generated at the location of the curve as a noise image by comparing the location information of the curve road included in the map information including the path traveled by the learning data collection device with the meta information , a data classification method.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 인공지능(Artificial Intelligence, AI)의 기계 학습(machine learning)을 위한 수집 조건을 포함하는 가이드 정보를 적어도 하나의 학습 데이터 수집 장치에 전송하는 단계;
상기 프로세서가, 상기 적어도 하나의 학습 데이터 수집 장치로부터 이미지들을 수신하는 단계;
상기 프로세서가, 상기 수집 조건과 대응하는 이미지 정보를 상기 이미지들로부터 추출하는 단계; 및
상기 프로세서가, 상기 이미지 정보를 상기 가이드 정보와 비교하여, 수집 환경에 따른 노이즈 이미지를 분류하는 단계; 를 포함하여 실행시키되,
상기 분류하는 단계는
상기 이미지들을 시간 순으로 나열하고, 연속된 복수의 이미지를 사전 설정된 개수로 그룹핑(grouping) 한 시퀀스 데이터를 생성하고, 상기 시퀀스 데이터 별로 노이즈 이미지를 분류하는 것을 특징으로 하며,
상기 분류하는 단계는
상기 시퀀스 데이터 중 특정 이미지를 대상으로 전후 이미지의 유사도를 비교하고, 상기 전후 이미지 사이의 유사도가 사전 설정된 값보다 높되, 상기 전후 이미지와 상기 특정 이미지 사이의 유사도가 사전 설정된 값보다 낮은 경우, 상기 특정 이미지가 방지턱을 넘는 과정에서 촬영된 이미지인 것으로 판단하고,
상기 분류하는 단계는
상기 이미지들 각각에 포함된 객체를 검출하고, 상기 검출된 객체의 위치 변화 값이 사전 설정된 값보다 높은 이미지를 노이즈 이미지로 분류하는 것을 특징으로 하며,
상기 분류하는 단계는
상기 시퀀스 데이터에서 연속된 이미지 사이의 유사도를 비교하고, 유사도가 사전에 설정된 값보다 낮은 이미지가 연속적으로 검출된 경우, 상기 검출된 이미지들이 커브(curve)길에서 촬영된 이미지들인 것으로 판단하고, 상기 검출된 이미지들을 노이즈 이미지로 분류하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
In combination with a computing device configured to include a processor for processing instructions resident in the memory,
transmitting, by the processor, guide information including collection conditions for machine learning of artificial intelligence (AI) to at least one learning data collection device;
receiving, by the processor, images from the at least one training data collection device;
extracting, by the processor, image information corresponding to the collection condition from the images; and
Classifying, by the processor, a noisy image according to a collection environment by comparing the image information with the guide information; Execute, including
The classification step is
Arranging the images in chronological order, generating sequence data by grouping a plurality of consecutive images into a preset number, and classifying noise images for each sequence data,
The classification step is
Comparing the similarity between before and after images for a specific image among the sequence data, and when the similarity between the before and after images is higher than a preset value, but the similarity between the before and after images and the specific image is lower than the preset value, the specific It is determined that the image is an image taken in the process of crossing the barrier,
The classification step is
Characterized in that an object included in each of the images is detected, and an image in which a position change value of the detected object is higher than a preset value is classified as a noise image,
The classification step is
The similarity between successive images in the sequence data is compared, and when images having a similarity lower than a preset value are continuously detected, it is determined that the detected images are images taken on a curve road, and the A computer program recorded on a recording medium, characterized in that the detected images are classified as noise images.
제9 항에 있어서, 상기 수신하는 단계는
상기 적어도 하나의 학습 데이터 수집 장치로부터 상기 이미지들과 함께 상기 이미지들 각각의 메타 정보를 함께 수신하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
10. The method of claim 9, wherein the receiving step
A computer program recorded on a recording medium, characterized in that for receiving the meta information of each of the images together with the images from the at least one learning data collection device.
KR1020220164779A 2022-11-30 2022-11-30 Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof KR102546195B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220164779A KR102546195B1 (en) 2022-11-30 2022-11-30 Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220164779A KR102546195B1 (en) 2022-11-30 2022-11-30 Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof

Publications (1)

Publication Number Publication Date
KR102546195B1 true KR102546195B1 (en) 2023-06-23

Family

ID=86993364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220164779A KR102546195B1 (en) 2022-11-30 2022-11-30 Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof

Country Status (1)

Country Link
KR (1) KR102546195B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102063492B1 (en) * 2018-11-30 2020-01-08 아주대학교산학협력단 The Method and System for Filtering the Obstacle Data in Machine Learning of Medical Images
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
KR20200094814A (en) * 2019-01-16 2020-08-10 연세대학교 산학협력단 Apparatus and method for validating image data for learning
KR102403169B1 (en) * 2021-12-21 2022-05-30 주식회사 인피닉 Method for providing guide through image analysis, and computer program recorded on record-medium for executing method therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR102063492B1 (en) * 2018-11-30 2020-01-08 아주대학교산학협력단 The Method and System for Filtering the Obstacle Data in Machine Learning of Medical Images
KR20200094814A (en) * 2019-01-16 2020-08-10 연세대학교 산학협력단 Apparatus and method for validating image data for learning
KR102403169B1 (en) * 2021-12-21 2022-05-30 주식회사 인피닉 Method for providing guide through image analysis, and computer program recorded on record-medium for executing method therefor

Similar Documents

Publication Publication Date Title
KR102117543B1 (en) Computing device and artificial intelligence based image processing service system using the same
Hadjidemetriou et al. Automated pavement patch detection and quantification using support vector machines
CN108229307B (en) Method, device and equipment for object detection
Hara et al. Tohme: detecting curb ramps in google street view using crowdsourcing, computer vision, and machine learning
US20150379371A1 (en) Object Detection Utilizing Geometric Information Fused With Image Data
KR102403169B1 (en) Method for providing guide through image analysis, and computer program recorded on record-medium for executing method therefor
KR102389998B1 (en) De-identification processing method and a computer program recorded on a recording medium to execute the same
EP3620958B1 (en) Learning method, learning device for detecting lane through lane model and testing method, testing device using the same
CN107430815A (en) Method and system for automatic identification parking area
CN117893845A (en) Method for providing AI model, AI platform, computing device and storage medium
US11908170B2 (en) Multi-level transferable region-based domain adaptive object detection apparatus and method
CN112749653A (en) Pedestrian detection method, device, electronic equipment and storage medium
CN115830399A (en) Classification model training method, apparatus, device, storage medium, and program product
JP2015103188A (en) Image analysis device, image analysis method, and image analysis program
KR102546195B1 (en) Method for learning data classification based on collection environment, and computer program recorded on record-medium for executing method thereof
KR102546193B1 (en) Method for learning data classification using color information, and computer program recorded on record-medium for executing method thereof
KR102546198B1 (en) Method for learning data classification based physical factor, and computer program recorded on record-medium for executing method thereof
KR102531917B1 (en) Method for annotation using boundary transplant, and computer program recorded on record-medium for executing method thereof
KR102599196B1 (en) Method for estimate job cost of work on generating training data, and computer program recorded on record-medium for executing method thereof
KR102658711B1 (en) Method for annotation using boundary designation
CN115546824B (en) Taboo picture identification method, apparatus and storage medium
KR102301635B1 (en) Method of inferring bounding box using artificial intelligence model and computer apparatus of inferring bounding box
Wang et al. Instance segmentation of soft‐story buildings from street‐view images with semiautomatic annotation
KR20230149255A (en) Method for annotation using boundary designation
KR20190093752A (en) Method and system for scene text detection using deep learning

Legal Events

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