KR20230104407A - Method and apparatus for generating training model using multi-label sets - Google Patents

Method and apparatus for generating training model using multi-label sets Download PDF

Info

Publication number
KR20230104407A
KR20230104407A KR1020210193800A KR20210193800A KR20230104407A KR 20230104407 A KR20230104407 A KR 20230104407A KR 1020210193800 A KR1020210193800 A KR 1020210193800A KR 20210193800 A KR20210193800 A KR 20210193800A KR 20230104407 A KR20230104407 A KR 20230104407A
Authority
KR
South Korea
Prior art keywords
label
generating
image set
learning
sets
Prior art date
Application number
KR1020210193800A
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 KR1020210193800A priority Critical patent/KR20230104407A/en
Priority to PCT/KR2022/021669 priority patent/WO2023128677A1/en
Publication of KR20230104407A publication Critical patent/KR20230104407A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

본 개시는 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치에 관한 것으로, 본 개시의 실시예에 따른 방법은, 복수의 이미지를 포함하는 이미지 세트를 획득하는 단계; 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는 단계; 및 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성하는 단계를 포함할 수 있다.The present disclosure relates to a method for generating a learning model using a multi-label set and an apparatus therefor. The method according to an embodiment of the present disclosure includes obtaining an image set including a plurality of images; generating a plurality of label sets of different types for the image set; and generating a plurality of learning models corresponding to at least two or more of the plurality of label sets by inputting the image set to a network function.

Description

다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치{METHOD AND APPARATUS FOR GENERATING TRAINING MODEL USING MULTI-LABEL SETS}Learning model generation method using multi-label set and apparatus therefor

본 개시(disclosure)의 기술적 사상은 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치에 관한 것이다.The technical idea of the present disclosure relates to a method for generating a learning model using a multi-label set and an apparatus therefor.

기계 학습(Machine Learning)은 AI의 한 분야로 데이터를 바탕으로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이며, 이미지 처리, 영상 인식, 음성 인식, 인터넷 검색 등의 다양한 분야의 핵심 기술로 예측(prediction), 객체 검출(detection), 객체 분류(classification), 객체 분할(segmentation), 이상 탐지(anomaly detection) 등에 탁월한 성과를 나타낸다.Machine learning is a field of AI that develops algorithms and technologies that enable computers to learn based on data, and is a field of core technologies in various fields such as image processing, image recognition, voice recognition, and Internet search. It shows excellent performance in prediction, object detection, object classification, object segmentation, and anomaly detection.

기계 학습을 수행을 위해서는 선결적으로 학습 데이터의 생성이 필요하며, 이러한 학습 데이터를 생성하기 위하여 학습 데이터에 대하여 검출하고자 하는 정답(label)을 표기하는 레이블링을 수행하여야 한다. 예를 들어, 이미지로부터 특정 객체를 검출하고자 하는 경우, 학습 데이터인 이미지에 해당 객체의 종류, 위치, 경계 등의 정보를 포함하는 레이블을 학습 데이터에 대응하여 생성하며, 이러한 레이블에 기초하여 기계 학습 알고리즘이 학습 데이터를 학습함으로써, 해당 객체를 검출하는 학습 모델을 생성할 수 있다.In order to perform machine learning, it is necessary to generate learning data in advance, and in order to create such learning data, labeling to mark the correct answer (label) to be detected for the learning data must be performed. For example, when a specific object is to be detected from an image, a label containing information such as the type, location, boundary, etc. of the object is generated in response to the learning data, and machine learning is performed based on the label. By learning the learning data, the algorithm may create a learning model for detecting the object.

그러나, 종래의 레이블링 방식은 학습 데이터 별로 단일 종류의 레이블만을 포함하도록 함으로써, 동일한 학습 데이터로부터 다양한 종류의 레이블에 기초한 결과를 도출하고 이들을 서로 앙상블(ensemble)하여 활용하는데 한계가 존재하였으며, 더하여, 개별 레이블 별로 학습 데이터를 별도 생성하는 방식으로 인해, 학습 데이터의 생성, 저장, 관리 등의 측면에서 불필요한 리소스가 소모되는 문제점이 있었다.However, the conventional labeling method includes only a single type of label for each training data, so there is a limit to deriving results based on various types of labels from the same training data and using them in an ensemble. In addition, individual Due to the method of separately generating training data for each label, there is a problem in that unnecessary resources are consumed in terms of generation, storage, and management of training data.

본 개시의 기술적 사상에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치가 이루고자 하는 기술적 과제는, 단일 이미지 세트에 상이한 종류의 복수의 레이블 세트를 생성하고, 이를 기초로 각각의 레이블 세트에 대응하는 복수의 학습 모델을 생성할 수 있는 방법 및 그 장치를 제공하는 데에 있다.A technical problem to be achieved by a method for generating a learning model using a multi-label set and an apparatus therefor according to the technical idea of the present disclosure is to generate a plurality of different types of label sets in a single image set, and, based on this, generate a plurality of label sets for each label set. An object of the present invention is to provide a method and apparatus capable of generating a plurality of corresponding learning models.

본 개시의 기술적 사상에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치가 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical task to be achieved by the method for generating a learning model using a multi-label set and the device therefor according to the technical idea of the present disclosure is not limited to the above-mentioned tasks, and other tasks not mentioned will be clear to those skilled in the art from the description below. will be understandable.

본 개시의 기술적 사상에 의한 일 양태에 따르면, 다중 레이블 세트를 이용한 학습 모델 생성 방법은, 복수의 이미지를 포함하는 이미지 세트를 획득하는 단계; 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는 단계; 및 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성하는 단계를 포함할 수 있다.According to one aspect of the technical idea of the present disclosure, a method for generating a learning model using a multi-label set includes acquiring an image set including a plurality of images; generating a plurality of label sets of different types for the image set; and generating a plurality of learning models corresponding to at least two or more of the plurality of label sets by inputting the image set to a network function.

예시적인 실시예에 따르면, 상기 복수의 레이블 세트를 생성하는 단계는, 복수의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신하는 단계; 및 상기 레이블 정보에 기초하여 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링을 수행함으로써, 상기 레이블 정보 각각에 대응하는 상기 복수의 레이블 세트를 생성하는 단계를 포함할 수 있다.According to an exemplary embodiment, the generating of the plurality of label sets may include receiving label information for at least one of a plurality of images belonging to the image set from a plurality of users, respectively; and generating the plurality of label sets corresponding to each of the label information by performing labeling on a plurality of images included in the image set based on the label information.

예시적인 실시예에 따르면, 상기 복수의 레이블 세트는 제 1 레이블 세트와 제 2 레이블 세트를 포함하고, 상기 제 2 레이블 세트는 상기 제 1 레이블 세트를 상기 네트워크 함수에 입력하여 생성된 출력 결과에 기초하여 생성될 수 있다.According to an exemplary embodiment, the plurality of label sets include a first label set and a second label set, and the second label set is based on an output result generated by inputting the first label set to the network function. can be created by

예시적인 실시예에 따르면, 상기 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교하는 단계를 더 포함하고, 상기 성능은 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 산출될 수 있다.According to an exemplary embodiment, the method further includes comparing performance of at least two of the plurality of learning models, wherein the performance is selected from among recall, precision, accuracy, and combinations thereof. It can be calculated based on at least one.

예시적인 실시예에 따르면, 상기 복수의 학습 모델은 각각 객체 검출(detection), 객체 분류(classification), 객체 분할(segmentation), 문자 인식(character recognition), 예측(prediction) 및 이상 탐지(anomaly detection) 중 하나를 수행할 수 있다.According to an exemplary embodiment, each of the plurality of learning models performs object detection, object classification, object segmentation, character recognition, prediction, and anomaly detection. You can do either.

예시적인 실시예에 따르면, 상기 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method may further include building an ensemble model by combining at least two of the learning models.

본 개시의 기술적 사상에 의한 일 양태에 따르면, 다중 레이블 세트를 이용한 학습 모델 생성 장치는, 적어도 하나의 프로세서; 상기 프로세서에 의해 실행 가능한 프로그램을 저장하는 메모리; 및 상기 프로세서는, 상기 프로그램을 실행함으로써, 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하며, 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성할 수 있다.According to an aspect of the technical concept of the present disclosure, an apparatus for generating a learning model using a multi-label set includes at least one processor; a memory for storing a program executable by the processor; and the processor, by executing the program, acquires an image set including a plurality of images, generates a plurality of label sets of different types for the image set, inputs the image set to a network function, and A plurality of learning models corresponding to at least two of the plurality of label sets may be generated.

본 개시의 기술적 사상에 의한 실시예들에 따르면, 단일 이미지 세트에 대하여 상이한 종류의 레이블 세트를 생성하고, 이를 기초로 각각의 레이블 세트에 대응하는 복수의 학습 모델을 생성하여, 성능 비교를 통해 수행 작업에 최적화된 레이블 세트 및/또는 학습 모델을 선정할 수 있다.According to embodiments according to the technical idea of the present disclosure, label sets of different types are generated for a single image set, and based on this, a plurality of learning models corresponding to each label set are generated, and performance is compared. A label set and/or learning model optimized for the task may be selected.

본 개시의 기술적 사상에 의한 실시예들에 따르면, 상이한 레이블 세트에 기초하여 생성된 복수의 학습 모델을 결합하여 수행 작업에 적합한 앙상블 모델을 구축함으로써, 보다 정확한 최종 결과를 획득할 수 있다.According to embodiments according to the technical concept of the present disclosure, a more accurate final result may be obtained by building an ensemble model suitable for a task to be performed by combining a plurality of learning models generated based on different label sets.

본 개시의 기술적 사상에 따른 방법 및 이를 위한 장치가 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable by the method and apparatus for the method according to the technical concept of the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned above are based on common knowledge in the art to which the present disclosure belongs from the description below. It will be clearly understandable to those who have it.

본 개시에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
도 2는 도 1의 S120 단계에 대한 일 실시예를 설명하기 위한 흐름도이다.
도 3은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.
도 5는 본 개시의 실시예에 따른 학습 데이터의 구조 및 네트워크 함수를 개념적으로 도식화한 도면이다.
도 6은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 장치의 구성을 간략히 도시한 블록도이다.
A brief description of each figure is provided in order to more fully understand the figures cited in this disclosure.
1 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
FIG. 2 is a flowchart illustrating an embodiment of step S120 of FIG. 1 .
3 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
4 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.
5 is a diagram conceptually illustrating the structure and network function of learning data according to an embodiment of the present disclosure.
6 is a block diagram briefly illustrating the configuration of an apparatus for generating a learning model using a multi-label set according to an embodiment of the present disclosure.

본 개시의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 그러나, 이는 본 개시의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the technical spirit of the present disclosure may be subject to various changes and may have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the technical spirit of the present disclosure to specific embodiments, and should be understood to include all changes, equivalents, or substitutes included in the scope of the technical spirit of the present disclosure.

본 개시의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 개시의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the technical idea of the present disclosure, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present disclosure, the detailed description will be omitted. In addition, numbers (eg, first, second, etc.) used in the description process of the present disclosure are only identifiers for distinguishing one component from another component.

또한, 본 개시에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present disclosure, when one component is referred to as "connected" or "connected" to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.

또한, 본 개시에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as "~ unit", "~ group", "~ character", and "~ module" described in the present disclosure mean a unit that processes at least one function or operation, which includes a processor, a micro Processor (Micro Processor), Micro Controller, CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerate Processor Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) may be implemented by hardware or software or a combination of hardware and software.

그리고 본 개시에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, it is intended to make it clear that the classification of components in the present disclosure is merely a classification for each main function in charge of each component. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function. In addition, each component to be described below may additionally perform some or all of the functions of other components in addition to its main function, and some of the main functions of each component may be performed by other components. Of course, it may be dedicated and performed by .

본 개시의 실시예에 따른 방법은 연산 능력을 구비한 개인용 컴퓨터(Personal Computer), 워크스테이션(work station), 서버용 컴퓨터 장치 등에서 수행되거나 이를 위한 별도의 장치에서 수행될 수 있다. The method according to an embodiment of the present disclosure may be performed in a personal computer having computing capability, a workstation, a computer device for a server, or a separate device for this purpose.

또한, 방법은 하나 이상의 연산 장치들에서 수행될 수도 있다. 예를 들어, 본 개시의 실시예에 따른 방법 중 적어도 하나 이상의 단계들은 클라이언트 디바이스에서, 다른 단계들은 서버 디바이스에서 수행될 수 있다. 이러한 경우, 클라이언트 디바이스와 서버 디바이스는 네트워크로 연결되어 연산 결과를 송수신할 수 있다. 또는, 방법은 분산 컴퓨팅 기술에 의해 수행될 수도 있다.Also, the method may be performed on one or more computing devices. For example, at least one or more steps of a method according to an embodiment of the present disclosure may be performed by a client device and other steps may be performed by a server device. In this case, the client device and the server device may be connected through a network to transmit and receive calculation results. Alternatively, the method may be performed by distributed computing technology.

또한, 본 명세서에 걸쳐, 네트워크 함수는 신경망 네트워크 및/또는 뉴럴 네트워크(neural network)와 동일한 의미로 사용될 수 있다. 여기서, 뉴럴 네트워크(신경망)는 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있고, 이러한 노드들은 뉴런으로 지칭될 수 있다. 뉴럴 네트워크는 일반적으로 복수의 노드들을 포함하여 구성된다. 뉴럴 네트워크를 구성하는 노드들은 하나 이상의 링크에 의해 상호 연결될 수 있다.Also, throughout this specification, a network function may be used interchangeably with a neural network and/or a neural network. Here, a neural network (neural network) may be composed of a set of interconnected computational units, which may be generally referred to as nodes, and these nodes may be referred to as neurons. A neural network is generally composed of a plurality of nodes. Nodes constituting a neural network may be interconnected by one or more links.

뉴럴 네트워크를 구성하는 노드들 중 일부는 최초 입력 노드로부터의 거리들에 기초하여 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은 n 레이어를 구성할 수 있다.Some of the nodes constituting the neural network may form one layer based on distances from the first input node. For example, a set of nodes having a distance of n from the first input node may constitute n layers.

본 명세서에서 설명하는 뉴럴 네트워크는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 딥 뉴럴 네트워크(Deep Neural Network, DNN)를 포함할 수 있다.The neural network described in this specification may include a deep neural network (DNN) including a plurality of hidden layers in addition to an input layer and an output layer.

이하, 본 개시의 실시예들을 차례로 상세히 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail in turn.

도 1은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이고, 도 2는 도 1의 S120 단계에 대한 일 실시예를 설명하기 위한 흐름도이다. 1 is a flowchart for explaining a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure, and FIG. 2 is a flowchart for explaining an embodiment of step S120 of FIG. 1 .

S110 단계에서, 장치는 복수의 이미지를 포함하는 이미지 세트를 획득할 수 있다. 여기서, 이미지 세트를 구성하는 복수의 이미지는 적어도 하나의 단말로부터 수신되거나, 유, 무선 통신을 통해 연결된 적어도 하나의 촬영 장치에 의해 획득될 수 있다. 예를 들어, 복수의 이미지는 제품의 생산, 제조, 가공 등의 공정 라인에서 획득된 공정 이미지일 수 있으나, 이에 한정하는 것은 아니다.In step S110, the device may obtain an image set including a plurality of images. Here, the plurality of images constituting the image set may be received from at least one terminal or acquired by at least one photographing device connected through wired or wireless communication. For example, the plurality of images may be process images acquired in a process line of product production, manufacturing, processing, etc., but are not limited thereto.

S120 단계에서, 장치는 이미지 세트에 대하여 복수의 레이블 세트를 생성할 수 있다.In step S120, the device may generate a plurality of label sets for the image set.

실시예에서, 복수의 레이블 세트 각각은 서로 상이한 종류의 레이블(label)을 포함할 수 있다. 이때, 레이블 또는 이를 포함하는 레이블 세트의 종류는 네트워크 함수를 통해 복수의 이미지로부터 획득하고자 하는 결과에 따라 구분될 수 있다. In an embodiment, each of the plurality of label sets may include different types of labels. In this case, the type of label or label set including the label may be classified according to a result to be obtained from a plurality of images through a network function.

예를 들어, 이미지 세트가 복수의 공정 이미지로 구성된다고 가정하면, 하나의 이미지에는 제품의 불량 여부를 확인할 수 있는 객체 분류(classification), 불량 위치를 정확히 확인할 수 있는 객체 분할(segmentation), 제품을 구성하는 각 부품의 위치를 확인할 수 있는 객체 검출(detection), 일련 번호(serial number)를 확인할 수 있는 문자 인식(character recognition) 등을 각각 수행하는데 적합한 레이블이 모두 포함될 수 있으며, 이러한 방식을 통해, 하나의 이미지 세트에 대응하여 각각 상이한 종류(또는, 목적)의 복수의 레이블 세트가 생성될 수 있다.For example, assuming that an image set consists of a plurality of process images, one image includes object classification to determine whether a product is defective, object segmentation to accurately identify the location of the defect, and product All labels suitable for performing object detection, which can confirm the location of each component, character recognition, etc., which can confirm serial numbers, can be included. Through this method, A plurality of label sets of different types (or purposes) may be generated corresponding to one image set.

다만, 이는 예시적인 것으로서, 이에 한정되는 것은 아니며, 레이블 세트는 각각 객체 분류, 객체 분할, 객체 검출, 문자 인식에 더하여, 예측(prediction), 이상 탐지(anomaly detection) 등과 같이 네트워크 함수에 의해 수행 가능한 다양한 기능에 적합하도록 생성될 수 있다.However, this is illustrative and not limited thereto, and each label set can be performed by a network function such as object classification, object segmentation, object detection, text recognition, prediction, anomaly detection, and the like. It can be created to suit various functions.

또한, 실시예에 따라, 장치는 이미지 세트에 동일한 종류의 복수의 레이블 세트를 포함하도록 구성될 수 있다. 예를 들어, 복수의 레이블 세트는 동일한 객체를 검출하기 위하여 상이한 사용자에 의해 수행된 레이블 정보에 기초하여 각각 생성될 수 있다. 이 경우, 각 레이블 세트에 기초하여 생성된 학습 모델에 대한 성능 평가를 통해, 가장 적합한 레이블 세트 및/또는 학습 모델을 선택할 수 있다.Also, according to embodiments, the device may be configured to include a plurality of label sets of the same type in an image set. For example, a plurality of label sets may be each generated based on label information performed by different users to detect the same object. In this case, the most appropriate label set and/or learning model may be selected through performance evaluation of the learning model generated based on each label set.

실시예에서, S120 단계는, 복수의 사용자로부터 수신된 레이블 정보에 기초하여 수행될 수 있다. 예를 들어, S120 단계는, 도 2에 도시되는 바와 같이, S121 단계 및 S122 단계를 포함할 수 있다.In an embodiment, step S120 may be performed based on label information received from a plurality of users. For example, step S120 may include steps S121 and S122 as shown in FIG. 2 .

S121 단계에서, 장치는 복수의 사용자(즉, 사용자 단말)로부터 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신할 수 있다. 즉, 장치는 사용자 단말에 이미지 세트를 제공하고, 이에 응답하여 사용자 단말로부터 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 수신할 수 있다. 이때, 레이블 정보는 객체 분류, 객체 분할, 객체 검출, 문자 인식, 예측, 이상 감지 등을 수행하기 위한 것일 수 있다.In step S121 , the device may receive label information for at least one of a plurality of images belonging to an image set from a plurality of users (ie, user terminals). That is, the device may provide an image set to the user terminal and receive label information for at least one of a plurality of images from the user terminal in response thereto. In this case, the label information may be for performing object classification, object segmentation, object detection, character recognition, prediction, anomaly detection, and the like.

S122 단계에서, 장치는 사용자로부터 수신한 레이블 정보에 기초하여 이미지 세트를 구성하는 복수의 이미지 각각에 레이블링을 수행함으로써, 레이블 정보 각각에 대응하는 복수의 레이블 세트를 생성할 수 있다. 상술한 바와 같이, 생성된 복수의 레이블 세트는 서로 다른 종류의 것으로서, 각각 상이한 출력을 획득하기 위한 것일 수 있다.In step S122, the device may generate a plurality of label sets corresponding to each label information by labeling each of a plurality of images constituting the image set based on the label information received from the user. As described above, the plurality of generated label sets are of different types and may be for obtaining different outputs.

실시예에서, 복수의 레이블 세트 중 적어도 일부는 다른 레이블 세트를 기초로 한 네트워크 함수의 학습 결과에 기초하여 생성될 수 있다. In an embodiment, at least some of the plurality of label sets may be generated based on a learning result of a network function based on another label set.

레이블 세트는 제 1 레이블 세트와 제 2 레이블 세트를 포함하고, 제 2 레이블 세트는 제 1 레이블 세트를 소정의 네트워크 함수에 입력하여 생성된 학습 결과에 기초하여 생성될 수 있다. 예를 들어, 제 1 레이블 세트가 객체 분류를 위한 레이블로 구성되는 경우, 네트워크 함수의 학습 결과에서 발생하는 클래스 액티베이션 맵(CAM, class activation map)을 기초로 객체 분할을 위한 제 2 레이블 세트를 생성할 수 있다. The label set may include a first label set and a second label set, and the second label set may be generated based on a learning result generated by inputting the first label set to a predetermined network function. For example, if the first label set consists of labels for object classification, a second label set for object segmentation is generated based on a class activation map (CAM) generated from the learning result of the network function. can do.

또한, 실시예에서, 복수의 레이블 세트 중 적어도 일부는 다른 레이블 세트를 변형하여 생성될 수 있다. 예를 들어, 객체 분할을 위한 제 1 레이블 세트로부터 이에 포함된 레이블의 width/height을 변형하여 객체 검출을 위한 제 2 레이블 세트를 생성할 수 있다.Also, in an embodiment, at least some of the plurality of label sets may be generated by modifying other label sets. For example, a second label set for object detection may be generated by modifying the width/height of labels included in the first label set for object segmentation.

S130 단계에서, 장치는 이미지 세트를 네트워크 함수에 입력하여 복수의 학습 모델을 생성할 수 있다. 이에 따라, 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델이 생성될 수 있으며, 바람직하게는, 레이블 세트 별로 각각 이에 대응하는 학습 모델이 생성될 수 있다.In step S130, the device may generate a plurality of learning models by inputting the image set to the network function. Accordingly, a plurality of learning models corresponding to at least two of the plurality of label sets may be generated, and preferably, a learning model corresponding to each label set may be generated.

이때, 복수의 학습 모델은 각각 객체 검출(detection), 객체 분류(classification), 객체 분할(segmentation), 문자 인식(character recognition), 예측(prediction) 및 이상 탐지(anomaly detection) 중 하나를 수행할 수 있으나, 이에 한정하는 것은 아니다.In this case, each of the plurality of learning models may perform one of object detection, object classification, object segmentation, character recognition, prediction, and anomaly detection. However, it is not limited thereto.

이하 도 3 및 도 4를 참조하여 상술되는 바와 같이, 사용자는 복수의 학습 모델 중에서 작업에 가장 적합한 모델을 선택하거나, 2 이상의 학습 모델을 조합하여 보다 정확한 결과를 도출하기 위한 앙상블 모델을 구축할 수 있다.As will be described in detail with reference to FIGS. 3 and 4 below, the user can select a model most suitable for a task from among a plurality of learning models or build an ensemble model to derive more accurate results by combining two or more learning models. there is.

도 3은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.

여기서, 방법(300)의 S310 내지 S330 단계는 도 1을 참조하여 상술한 S110 내지 S130 단계와 동일하므로, 중복되는 설명은 생략하기로 한다.Here, since steps S310 to S330 of the method 300 are the same as steps S110 to S130 described above with reference to FIG. 1 , overlapping descriptions will be omitted.

S340 단계에서, 장치는 복수의 레이블 세트에 기초하여 생성된 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교할 수 있다.In step S340, the device may compare performances of at least two or more of a plurality of learning models generated based on a plurality of label sets.

실시예에서, 장치는 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 학습 모델의 성능을 산출할 수 있다. 학습 모델의 성능을 산출하기 위하여, 교차 검증 등 다양한 방식이 이용될 수 있다.In an embodiment, the device may calculate the performance of the learning model based on at least one of recall, precision, accuracy, and combinations thereof. In order to calculate the performance of the learning model, various methods such as cross-validation may be used.

이러한 성능 비교를 통해, 수행하고자 하는 작업에 어떠한 종류의 레이블 세트 및 학습 모델이 가장 유용한지를 확인 가능하다. 즉, 예를 들어, 객체 분할과 객체 검출로 동일한 불량 부위를 확인하는, 복수의 레이블 세트를 만들 경우, 불량의 종류에 따라 각 모델이 더 잘 분석할 수 있는 것을 비교할 수 있게 된다.Through this performance comparison, it is possible to determine which type of label set and learning model is most useful for the task to be performed. That is, for example, when a plurality of label sets are created that identify the same defective part through object segmentation and object detection, it is possible to compare what each model can analyze better according to the type of defect.

도 4는 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method for generating a learning model using a multi-label set according to an embodiment of the present disclosure.

여기서, 방법(400)의 S410 내지 S430 단계는 도 1을 참조하여 상술한 S110 내지 S130 단계와 동일하므로, 중복되는 설명은 생략하기로 한다.Here, since steps S410 to S430 of the method 400 are the same as steps S110 to S130 described above with reference to FIG. 1 , overlapping descriptions will be omitted.

S440 단계에서, 장치는 생성된 복수의 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축할 수 있다. In step S440, the device may build an ensemble model by combining at least two of the generated learning models.

즉, 수행하고자 하는 작업의 특성 등에 따라, 학습 모델의 2 이상을 소정의 방식으로 결합하여 각 학습 모델에 따른 출력값을 조합하도록 함으로써, 보다 정확한 최종 결과를 도출할 수 있다.That is, a more accurate final result can be derived by combining two or more learning models in a predetermined manner according to the characteristics of a task to be performed and output values according to each learning model.

예를 들어, 객체 분할을 통해 PCB의 영역을 분류하는 학습 모델과, 객체 분할 또는 객체 검출을 통해 끊어진 선(즉, 단선)을 찾아낼 수 있는 학습 모델이 있다고 가정하면, 동일하게 끊어진 선을 찾더라도, 분류된 PCB 영역에 따라 불량 여부를 다르게 판단할 수 있기 때문에, 양 모델을 결합하여 앙상블 모델을 구축하고, 이들의 출력값을 조합하여 최종 결과를 도출하도록 구현될 수 있다.For example, assuming that there is a learning model that classifies areas of a PCB through object segmentation and a learning model that can find broken lines (i.e., disconnected lines) through object segmentation or object detection, the same broken line can be found. However, since the defectiveness can be determined differently depending on the classified PCB area, it can be implemented to build an ensemble model by combining both models and to derive a final result by combining their output values.

또한, 예를 들어, 객체 분할과 관련하여, A 클래스는 어두울 때 잘 검출되고, B 클래스는 밝을 때 잘 검출되는 경우라면, A, B 클래스를 확인하기 위한 객체 분할 모델과 어둡고 밝은 이미지를 가르는 객체 분류 모델을 결합하여 앙상블 모델을 구축하고, 양 학습 모델의 출력값을 조합하여 보다 정확한 최종 결과를 도출하도록 구현될 수 있다.Also, for example, in relation to object segmentation, if class A is well detected when it is dark and class B is well detected when it is bright, an object segmentation model for identifying classes A and B and an object that separates dark and bright images It can be implemented to build an ensemble model by combining classification models and to derive a more accurate final result by combining output values of both learning models.

실시예에서, 앙상블 모델(ensemble model)은, 보팅(voting), 배깅(bagging), 부스팅(booting) 방식 등에 기초하여 생성될 수 있으나, 이에 한정되는 것은 아니다.In an embodiment, an ensemble model may be generated based on a voting, bagging, or booting method, but is not limited thereto.

도 5는 본 개시의 실시예에 따른 학습 데이터의 구조 및 네트워크 함수를 개념적으로 도식화한 도면이다.5 is a diagram conceptually illustrating the structure and network function of learning data according to an embodiment of the present disclosure.

도시되는 바와 같이, 하나의 이미지 세트(510)는 복수의 개별 이미지를 포함하고, 각 개별 이미지에 상이한 종류의 레이블이 각각 포함됨으로써, 이미지 세트(510)에 대응하는 복수의 레이블 세트가 생성된다.As shown, one image set 510 includes a plurality of individual images, and a plurality of label sets corresponding to the image set 510 are generated by including different types of labels in each individual image.

이어서, 이미지 세트(510)는 네트워크 함수(520)에 입력되어, 네트워크 함수(520)에 대한 학습을 수행하게 되고, 이에 따라, 복수의 레이블 세트 중 적어도 일부에 대응하는 복수의 학습 모델(530)이 생성될 수 있다.Subsequently, the image set 510 is input to the network function 520 to perform learning on the network function 520, and thus, a plurality of learning models 530 corresponding to at least some of the plurality of label sets this can be created.

이때, 네트워크 함수(520)는 레이블 세트의 종류에 따라 각각 동일 또는 상이한 네트워크 함수가 적용될 수 있다.In this case, the same or different network functions may be applied to the network function 520 according to the type of label set.

도 6은 본 개시의 실시예에 따른 다중 레이블 세트를 이용한 학습 모델 생성 장치의 구성을 간략히 도시한 블록도이다.6 is a block diagram briefly illustrating the configuration of an apparatus for generating a learning model using a multi-label set according to an embodiment of the present disclosure.

통신부(610)는 외부로부터 데이터(이미지 세트, 레이블 정보 등)를 수신할 수 있다. 통신부(610)는 유무선 통신부를 포함할 수 있다. 통신부(610)가 유선 통신부를 포함하는 경우, 통신부(610)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 또한, 통신부(610)가 무선 통신부를 포함하는 경우, 통신부(610)는 셀룰러 통신, 무선랜(예를 들어, 와이-파이(Wi-Fi)) 등을 이용하여 무선으로 데이터 또는 신호를 송수신할 수 있다. 실시예에서, 통신부는 프로세서(640)의 제어에 의해 외부 장치 또는 외부 서버와 데이터 또는 신호를 송수신할 수 있다. The communication unit 610 may receive data (image set, label information, etc.) from the outside. The communication unit 610 may include a wired/wireless communication unit. When the communication unit 610 includes a wired communication unit, the communication unit 610 may include a local area network (LAN), a wide area network (WAN), a value added network (VAN), and a mobile communication network ( mobile radio communication network), a satellite communication network, and one or more components that enable communication through a mutual combination thereof. In addition, when the communication unit 610 includes a wireless communication unit, the communication unit 610 transmits and receives data or signals wirelessly using cellular communication, a wireless LAN (eg, Wi-Fi), and the like. can In an embodiment, the communication unit may transmit/receive data or signals with an external device or an external server under the control of the processor 640 .

입력부(620)는 외부의 조작을 통해 다양한 사용자 명령을 수신할 수 있다. 이를 위해, 입력부(620)는 하나 이상의 입력 장치를 포함하거나 연결할 수 있다. 예를 들어, 입력부(620)는 키패드, 마우스 등 다양한 입력을 위한 인터페이스와 연결되어 사용자 명령을 수신할 수 있다. 이를 위해, 입력부(620)는 USB 포트 뿐만 아니라 선더볼트 등의 인터페이스를 포함할 수도 있다. 또한, 입력부(620)는 터치스크린, 버튼 등의 다양한 입력 장치를 포함하거나 이들과 결합하여 외부의 사용자 명령을 수신할 수 있다.The input unit 620 may receive various user commands through external manipulation. To this end, the input unit 620 may include or connect one or more input devices. For example, the input unit 620 may receive user commands by being connected to various input interfaces such as a keypad and a mouse. To this end, the input unit 620 may include an interface such as a thunderbolt as well as a USB port. In addition, the input unit 620 may receive an external user command by including or combining various input devices such as a touch screen and buttons.

메모리(630)는 프로세서(640)의 동작을 위한 프로그램 및/또는 프로그램 명령을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수 있다. 메모리(630)는 플래시 메모리(flash memory) 타입, 하드디스크(hard disk) 타입, 멀티미디어 카드 마이크로(multimedia card micro) 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), SRAM, 롬(ROM), EEPROM, PROM, 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The memory 630 may store programs and/or program commands for operation of the processor 640 and may temporarily or permanently store input/output data. The memory 630 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM , SRAM, ROM (ROM), EEPROM, PROM, magnetic memory, a magnetic disk, it may include at least one type of storage medium.

또한, 메모리(630)는 다양한 네트워크 함수 및 알고리즘을 저장할 수 있으며, 장치(700)를 구동하고 제어하기 위한 다양한 데이터, 프로그램(하나 이상이 인스트럭션들), 어플리케이션, 소프트웨어, 명령, 코드 등을 저장할 수 있다.In addition, the memory 630 may store various network functions and algorithms, and may store various data, programs (one or more instructions), applications, software, commands, codes, etc. for driving and controlling the device 700. there is.

프로세서(640)는 장치(700)의 전반적인 동작을 제어할 수 있다. 프로세서(640)는 메모리(630)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다. 프로세서(640)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU) 또는 본 개시의 기술적 사상에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.The processor 640 may control the overall operation of the device 700 . Processor 640 may execute one or more programs stored in memory 630 . The processor 640 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to the technical idea of the present disclosure are performed.

실시예에서, 프로세서(640)는 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하며, 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성할 수 있다.In an embodiment, the processor 640 obtains an image set including a plurality of images, generates a plurality of label sets of different types for the image set, inputs the image set to a network function, and A plurality of learning models corresponding to at least two of the label sets may be generated.

실시예에서, 프로세서(640)는 복수의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신하고, 상기 레이블 정보에 기초하여 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링을 수행함으로써, 상기 레이블 정보 각각에 대응하는 상기 복수의 레이블 세트를 생성 수 있다. In an embodiment, the processor 640 receives label information for at least one of a plurality of images belonging to the image set from a plurality of users, respectively, and for a plurality of images included in the image set based on the label information. By performing labeling, the plurality of label sets corresponding to each of the label information may be generated.

실시예에서, 상기 복수의 레이블 세트는 제 1 레이블 세트와 제 2 레이블 세트를 포함하고, 프로세서(640)는 상기 제 1 레이블 세트를 상기 네트워크 함수에 입력하여 생성된 출력 결과에 기초하여 상기 제 2 레이블 세트를 생성할 수 있다.In an embodiment, the plurality of label sets include a first label set and a second label set, and the processor 640 inputs the first label set to the network function, and based on an output result generated, the second label set. You can create a set of labels.

실시예에서, 프로세서(640)는 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 상기 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교할 수 있다.In an embodiment, the processor 640 may compare performance of at least two or more of the plurality of learning models based on at least one of recall, precision, accuracy, and a combination thereof.

실시예에서, 프로세서(640)는 상기 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축할 수 있다.In an embodiment, the processor 640 may build an ensemble model by combining at least two of the learning models.

본 개시의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the present disclosure, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.In addition, the method according to the disclosed embodiments may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities.

컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.A computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored. For example, a computer program product may include a product in the form of a S/W program (eg, a downloadable app) that is distributed electronically through a manufacturer of an electronic device or an electronic marketplace (eg, Google Play Store, App Store). there is. For electronic distribution, at least a part of the S/W program may be stored in a storage medium or temporarily generated. In this case, the storage medium may be a storage medium of a manufacturer's server, an electronic market server, or a relay server temporarily storing SW programs.

컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제 3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제 3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제 3 장치로 전송되거나, 제 3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.A computer program product may include a storage medium of a server or a storage medium of a client device in a system composed of a server and a client device. Alternatively, if there is a third device (eg, a smart phone) that is communicatively connected to the server or the client device, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include a S/W program itself transmitted from the server to the client device or the third device or from the third device to the client device.

이 경우, 서버, 클라이언트 장치 및 제 3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제 3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.In this case, one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments. Alternatively, two or more of the server, the client device, and the third device may execute the computer program product to implement the method according to the disclosed embodiments in a distributed manner.

예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.For example, a server (eg, a cloud server or an artificial intelligence server) may execute a computer program product stored in the server to control a client device communicatively connected to the server to perform a method according to the disclosed embodiments.

이상에서 실시예들에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present disclosure is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present disclosure defined in the following claims are also within the scope of the present disclosure. belongs to

Claims (8)

다중 레이블 세트를 이용한 학습 모델 생성 방법에 있어서,
복수의 이미지를 포함하는 이미지 세트를 획득하는 단계;
상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하는 단계; 및
상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성하는 단계를 포함하는, 방법.
In the method of generating a learning model using a multi-label set,
obtaining an image set comprising a plurality of images;
generating a plurality of label sets of different types for the image set; and
And generating a plurality of learning models corresponding to at least two or more of the plurality of label sets by inputting the image set to a network function.
제 1 항에 있어서,
상기 복수의 레이블 세트를 생성하는 단계는,
복수의 사용자로부터 상기 이미지 세트에 속하는 복수의 이미지 중 적어도 하나에 대한 레이블 정보를 각각 수신하는 단계; 및
상기 레이블 정보에 기초하여 상기 이미지 세트에 포함된 복수의 이미지에 대해 레이블링을 수행함으로써, 상기 레이블 정보 각각에 대응하는 상기 복수의 레이블 세트를 생성하는 단계를 포함하는, 방법.
According to claim 1,
Generating the plurality of label sets,
Receiving, from a plurality of users, label information for at least one of a plurality of images belonging to the image set, respectively; and
and generating the plurality of label sets corresponding to each of the label information by performing labeling on a plurality of images included in the image set based on the label information.
제 1 항에 있어서,
상기 복수의 레이블 세트는 제 1 레이블 세트와 제 2 레이블 세트를 포함하고,
상기 제 2 레이블 세트는 상기 제 1 레이블 세트를 상기 네트워크 함수에 입력하여 생성된 출력 결과에 기초하여 생성되는, 방법.
According to claim 1,
The plurality of label sets include a first label set and a second label set,
Wherein the second label set is generated based on an output result generated by inputting the first label set to the network function.
제 1 항에 있어서,
상기 복수의 학습 모델 중 적어도 2 이상에 대하여 성능을 비교하는 단계를 더 포함하고,
상기 성능은 재현율(recall), 정밀도(precision), 정확도(accuracy) 및 이들의 조합 중 적어도 하나에 기초하여 산출되는, 방법.
According to claim 1,
Comparing performance of at least two or more of the plurality of learning models;
Wherein the performance is calculated based on at least one of recall, precision, accuracy, and combinations thereof.
제 1 항에 있어서,
상기 복수의 학습 모델은 각각 객체 검출(detection), 객체 분류(classification), 객체 분할(segmentation), 문자 인식(character recognition), 예측(prediction) 및 이상 탐지(anomaly detection) 중 하나를 수행하는, 방법.
According to claim 1,
Each of the plurality of learning models performs one of object detection, object classification, object segmentation, character recognition, prediction, and anomaly detection. .
제 1 항에 있어서,
상기 학습 모델 중 적어도 2 이상을 결합하여, 앙상블 모델(ensemble model)을 구축하는 단계를 더 포함하는, 방법.
According to claim 1,
Constructing an ensemble model by combining at least two of the learning models.
다중 레이블 세트를 이용한 학습 모델 생성 장치에 있어서,
적어도 하나의 프로세서;
상기 프로세서에 의해 실행 가능한 프로그램을 저장하는 메모리; 및
상기 프로세서는, 상기 프로그램을 실행함으로써, 복수의 이미지를 포함하는 이미지 세트를 획득하고, 상기 이미지 세트에 대하여 상이한 종류의 복수의 레이블 세트를 생성하며, 상기 이미지 세트를 네트워크 함수에 입력하여, 상기 복수의 레이블 세트 중 적어도 2 이상에 대응하는 복수의 학습 모델을 생성하는, 장치.
In the device for generating a learning model using a multi-label set,
at least one processor;
a memory for storing a program executable by the processor; and
The processor, by executing the program, obtains an image set including a plurality of images, generates a plurality of label sets of different types for the image set, inputs the image set to a network function, and Apparatus for generating a plurality of learning models corresponding to at least two or more of the label sets of .
제 1 항 내지 제 6 항 중 어느 한 항의 방법을 실행하기 위하여 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a recording medium to execute the method of any one of claims 1 to 6.
KR1020210193800A 2021-12-31 2021-12-31 Method and apparatus for generating training model using multi-label sets KR20230104407A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210193800A KR20230104407A (en) 2021-12-31 2021-12-31 Method and apparatus for generating training model using multi-label sets
PCT/KR2022/021669 WO2023128677A1 (en) 2021-12-31 2022-12-29 Method for generating learning model using multi-label set, and device for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210193800A KR20230104407A (en) 2021-12-31 2021-12-31 Method and apparatus for generating training model using multi-label sets

Publications (1)

Publication Number Publication Date
KR20230104407A true KR20230104407A (en) 2023-07-10

Family

ID=87155816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210193800A KR20230104407A (en) 2021-12-31 2021-12-31 Method and apparatus for generating training model using multi-label sets

Country Status (1)

Country Link
KR (1) KR20230104407A (en)

Similar Documents

Publication Publication Date Title
US11216694B2 (en) Method and apparatus for recognizing object
CN112232293B (en) Image processing model training method, image processing method and related equipment
EP3696736A1 (en) Device and method for deep learning-based image comparison, and computer program stored in computer-readable recording medium
US20190158433A1 (en) Electronic device and method for changing chatbot
KR102255833B1 (en) Method and apparatus for anomaly detection
US20200151585A1 (en) Information processing apparatus and rule generation method
KR102264233B1 (en) An explanation-added document classification method by an artificial neural network that learns the correlation between sentences, document feature values, and sentence weights
US11301723B2 (en) Data generation device, data generation method, and computer program product
EP3937076A1 (en) Activity detection device, activity detection system, and activity detection method
JP2020060879A (en) Learning device, image generator, method for learning, and learning program
CN107251048A (en) Reliable finger tip and palm detection
CN110059646A (en) The method and Target Searching Method of training action plan model
US20210089823A1 (en) Information processing device, information processing method, and non-transitory computer-readable storage medium
WO2019176989A1 (en) Inspection system, discrimination system, and learning data generator
CN116467615A (en) Clustering method and device for vehicle tracks, storage medium and electronic device
KR102271736B1 (en) Method and apparatus for automated machine learning
CN114581702A (en) Image classification method and device, computer equipment and computer readable storage medium
TWI769603B (en) Image processing method and computer readable medium thereof
KR20230104407A (en) Method and apparatus for generating training model using multi-label sets
US20220207377A1 (en) Methods and apparatuses for training neural networks and detecting correlated objects
CN112200711B (en) Training method and system of watermark classification model
JP2019086473A (en) Learning program, detection program, learning method, detection method, learning device, and detection device
CN113408564A (en) Graph processing method, network training method, device, equipment and storage medium
CN112766320A (en) Classification model training method and computer equipment
US20190325261A1 (en) Generation of a classifier from existing classifiers