KR20220090367A - Method of searching trademarks and apparatus for searching trademarks - Google Patents

Method of searching trademarks and apparatus for searching trademarks Download PDF

Info

Publication number
KR20220090367A
KR20220090367A KR1020210038827A KR20210038827A KR20220090367A KR 20220090367 A KR20220090367 A KR 20220090367A KR 1020210038827 A KR1020210038827 A KR 1020210038827A KR 20210038827 A KR20210038827 A KR 20210038827A KR 20220090367 A KR20220090367 A KR 20220090367A
Authority
KR
South Korea
Prior art keywords
classification
model
classifications
trademark
image
Prior art date
Application number
KR1020210038827A
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 KR1020210038827A priority Critical patent/KR20220090367A/en
Publication of KR20220090367A publication Critical patent/KR20220090367A/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/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • 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/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • 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/53Querying
    • G06F16/538Presentation of query results
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/11Patent retrieval

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

상표 검색 방법은 하나 이상의 프로세서에 의해 실행되는 제1 학습 모델이 쿼리 이미지를 수신하는 단계; 상기 제1 학습 모델이 상기 쿼리 이미지의 전체 외형에 관한 제1 특징 벡터를 추출하는 단계; 상기 하나 이상의 프로세서에 의해, 데이터베이스에 저장된 상표 이미지의 제2 특징 벡터와 상기 제1 특징 벡터의 유사도를 계산하는 단계; 상기 하나 이상의 프로세서에 의해 실행되는 제2 학습 모델이 상기 쿼리 이미지를 수신하는 단계 - 상기 제2 학습 모델은 메인 모델 및 제1 서브 모델을 포함하고, 상기 메인 모델은 상기 쿼리 이미지를 N개의 분류로 분류하도록 구성되고, 상기 제1 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 M개의 분류로 분류하도록 구성되고, 상기 메인 모델 및 제1 서브 모델이 분류하는 분류는 동일 계층의 분류임; 상기 제2 학습 모델이 상기 쿼리 이미지의 부분 이미지에 기초하여 상기 쿼리 이미지가 해당하는 적어도 하나의 분류를 출력하는 단계; 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 제2 학습 모델의 분류에 기초하여 상기 데이터베이스에 저장된 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계; 및 상기 선택된 이미지를 제공하는 단계를 포함한다. 상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는, 상기 메인 모델이 상기 쿼리 이미지에 기초하여 제1 분류를 제공하는 단계; 및 상기 제1 서브 모델이 상기 쿼리 이미지에 기초하여 제2 분류를 제공하는 단계를 포함한다.A trademark retrieval method includes: receiving a query image by a first learning model executed by one or more processors; extracting, by the first learning model, a first feature vector related to the overall appearance of the query image; calculating, by the one or more processors, a degree of similarity between a second feature vector of a trademark image stored in a database and the first feature vector; receiving, by a second learning model executed by the one or more processors, the query image, wherein the second learning model includes a main model and a first sub-model, wherein the main model divides the query image into N classifications. is configured to classify, the first sub-model is configured to classify the query image into M classifications selected from among the N classifications, and the classification by the main model and the first sub-model is a classification of the same layer; outputting, by the second learning model, at least one classification corresponding to the query image based on the partial image of the query image; selecting at least one image similar to the query image from among trademark images stored in the database based on the similarity between the second feature vector and the first feature vector and the classification of the second learning model; and providing the selected image. The outputting of the at least one classification by the second learning model may include: providing, by the main model, a first classification based on the query image; and providing, by the first sub-model, a second classification based on the query image.

Description

상표 검색 방법 및 장치{METHOD OF SEARCHING TRADEMARKS AND APPARATUS FOR SEARCHING TRADEMARKS}TRADEMARKS AND APPARATUS FOR SEARCHING TRADEMARKS

본 개시는 상표 검색 방법 및 장치에 관한 것으로, 보다 자세하게는 두 가지 인공 지능(Artificial Intelligence, AI) 모델을 이용한 상표 검색 방법 및 장치에 관한 것이다.The present disclosure relates to a trademark search method and apparatus, and more particularly, to a trademark search method and apparatus using two artificial intelligence (AI) models.

현재 상표를 검색하기 위해 많이 사용하고 있는 키프리스(kipris.or.kr)의 경우 상품분류목록, 유사군코드, 상표명, 도형상표, 출원번호, 공고번호, 등록번호, 출원인 등의 분류기준을 통해 상표를 검색할 수 있다. 또한, 유사한 발음을 가진 상표명을 검색할 수도 있다. 또한, 도형의 유사성을 분류한 비엔나 코드를 이용하여 상표를 검색할 수도 있다. 그러나, 이미지 검색의 경우, 비엔나 코드가 동일하더라도 유사하지 않은 이미지가 검색되거나, 비엔나 코드가 상이하지만 유사한 이미지는 검색하기 어려운 문제가 있다. 이를 보완하기 위해 인공 지능을 활용하여 상표 이미지를 분류하는 여러 방안이 고안되고 있으나, 실질적으로 성과를 내고 있는 경우는 찾기 어렵다.In the case of Cypris (kipris.or.kr), which is currently widely used to search for trademarks, through classification criteria such as product classification list, similar group code, trade name, graphic trademark, application number, announcement number, registration number, and applicant You can search for a trademark. You can also search for brand names with similar pronunciations. Also, it is possible to search for a trademark using the Vienna code that classifies the similarity of figures. However, in the case of image retrieval, there is a problem in that images that are not similar are searched even if the Vienna code is the same, or it is difficult to search for images that are similar even though the Vienna code is different. To compensate for this, various methods for classifying trademark images using artificial intelligence have been devised, but it is difficult to find cases that are actually producing results.

한국특허 공개번호 제10-2017-0083453호Korean Patent Publication No. 10-2017-0083453 한국특허 공개번호 제10-2019-0030434호Korean Patent Publication No. 10-2019-0030434 한국특허 공개번호 제10-2019-0098801호Korean Patent Publication No. 10-2019-0098801

본 개시는 상표 검색에 있어서 이미지 유사도를 추정하는 모델과 분류 코드를 추정하는 모델, 두 가지 모델을 이용하여 유사한 도형 이미지를 갖는 상표를 용이하게 검색하는 상표 검색 방법 및 장치를 제공한다.The present disclosure provides a trademark search method and apparatus for easily searching for a trademark having a similar figure image by using two models: a model for estimating image similarity and a model for estimating a classification code in a trademark search.

본 개시의 일 형태에 의하면, 인공 지능을 이용한 상표 검색 방법이 개시된다. 상표 검색 방법은 하나 이상의 프로세서에 의해 실행되는 제1 학습 모델이 쿼리 이미지를 수신하는 단계; 상기 제1 학습 모델이 상기 쿼리 이미지의 전체 외형에 관한 제1 특징 벡터를 추출하는 단계; 상기 하나 이상의 프로세서에 의해, 데이터베이스에 저장된 상표 이미지의 제2 특징 벡터와 상기 제1 특징 벡터의 유사도를 계산하는 단계; 상기 하나 이상의 프로세서에 의해 실행되는 제2 학습 모델이 상기 쿼리 이미지를 수신하는 단계; 상기 제2 학습 모델이 상기 쿼리 이미지의 부분 이미지에 기초하여 상기 쿼리 이미지가 해당하는 적어도 하나의 분류를 출력하는 단계; 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 적어도 하나의 분류에 기초하여 상기 데이터베이스에 저장된 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계; 및 상기 선택된 이미지를 제공하는 단계를 포함한다.According to one aspect of the present disclosure, a trademark search method using artificial intelligence is disclosed. A trademark retrieval method includes: receiving a query image by a first learning model executed by one or more processors; extracting, by the first learning model, a first feature vector related to the overall appearance of the query image; calculating, by the one or more processors, a degree of similarity between a second feature vector of a trademark image stored in a database and the first feature vector; receiving the query image by a second learning model executed by the one or more processors; outputting, by the second learning model, at least one classification corresponding to the query image based on the partial image of the query image; selecting at least one image similar to the query image from among trademark images stored in the database based on a degree of similarity between the second feature vector and the first feature vector and the at least one classification; and providing the selected image.

일 실시예에서, 상기 제2 학습 모델은 메인 모델과 서브 모델을 포함한다. 상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는, 상기 메인 모델이 상기 쿼리 이미지에 기초하여 제1 분류를 제공 - 상기 제1 분류는 상기 적어도 하나의 분류에 포함됨 - 하는 단계; 상기 서브 모델이 상기 쿼리 이미지에 기초하여 제2 분류를 제공하는 단계; 및 상기 하나 이상의 프로세서에 의해, 상기 제1 분류와 상기 제2 분류가 상이하다고 판단하는 것에 대응하여, 상기 제1 분류를 상기 제2 분류로 대체하는 단계를 포함할 수 있다.In an embodiment, the second learning model includes a main model and a sub-model. The outputting of the at least one classification by the second learning model may include: providing, by the main model, a first classification based on the query image, wherein the first classification is included in the at least one classification; providing, by the sub-model, a second classification based on the query image; and replacing, by the one or more processors, the first classification with the second classification in response to determining that the first classification and the second classification are different.

일 실시예에서, 상기 제2 학습 모델은 메인 모델과 서브 모델을 포함하고, 상기 메인 모델은 상기 쿼리 이미지에 포함된 도형을 N개의 분류로 분류하도록 구성되고, 상기 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 M개의 분류로 분류하도록 구성될 수 있다. In an embodiment, the second learning model includes a main model and a sub-model, the main model is configured to classify figures included in the query image into N classifications, and the sub-model divides the query image into the N classifications. It may be configured to classify into M classifications selected from among the N classifications.

일 실시예에서, 상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는, 상기 메인 모델이 상기 쿼리 이미지에 기초하여 제1 분류를 제공 - 상기 제1 분류는 상기 적어도 하나의 분류에 포함됨 - 하는 단계; 상기 하나 이상의 프로세서에 의해, 상기 제1 분류가 상기 M개의 분류에 포함되는지 판정하는 단계; 상기 제1 분류가 상기 M개의 분류에 포함된다는 판정에 대응하여, 상기 서브 모델이 상기 쿼리 이미지에 기초하여 제2 분류를 제공하는 단계; 및 상기 하나 이상의 프로세서에 의해, 상기 제1 분류와 상기 제2 분류가 상이하다고 판단하는 것에 대응하여, 상기 제1 분류를 상기 제2 분류로 대체하는 단계를 포함할 수 있다.In an embodiment, the outputting of the at least one classification by the second learning model comprises: the main model providing a first classification based on the query image, wherein the first classification is included in the at least one classification - to do; determining, by the one or more processors, whether the first classification is included in the M classifications; in response to determining that the first classification is included in the M classifications, providing, by the sub-model, a second classification based on the query image; and replacing, by the one or more processors, the first classification with the second classification in response to determining that the first classification and the second classification are different.

일 실시예에서, 상기 제2 학습 모델은 객체 탐지를 수행하는 모델을 포함하고, 상기 쿼리 이미지 내에서 픽셀값이 급변하는 지점에 기초해 복수의 오브젝트 가능성 박스를 결정하고, 상기 오브젝트 가능성 박스의 관심 영역이 겹치는 비율을 계산하여 상기 쿼리 이미지의 일부 이미지에 대한 분류를 수행하도록 구성될 수 있다. In an embodiment, the second learning model includes a model for performing object detection, and determines a plurality of object likelihood boxes based on a point at which a pixel value changes rapidly in the query image, and an interest of the object likelihood box. It may be configured to perform classification on some images of the query image by calculating a ratio of overlapping regions.

일 실시예에서, 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 적어도 하나의 분류에 기초하여 상기 데이터베이스에 저장된 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계는, 상기 적어도 하나의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수를 판정하는 단계, 상기 적어도 하나의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수에 따른 가중치를 불러오는 단계, 및 상기 가중치와 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도에 기초하여 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계를 포함할 수 있다. In an embodiment, the selecting of at least one similar image to the query image from among trademark images stored in the database based on the similarity between the second feature vector and the first feature vector and the at least one classification comprises: determining the number of overlapping classifications by comparing one classification with the classifications of the trademark images stored in the database; comparing the at least one classification with the classifications of the trademark images stored in the database and calling a weight according to the number of overlapping classifications and selecting at least one image similar to the query image based on the weight and a degree of similarity between the second feature vector and the first feature vector.

본 개시의 일 형태에 의하면, 상표 검색 장치가 개시된다. 상표 검색 장치는, 상표 검색 모델을 저장하도록 구성된 스토리지; 및 상기 상표 검색 모델을 실행하도록 구성된 프로세서를 포함한다. 상기 상표 검색 모델은 제1 학습 모델 및 제2 학습 모델을 포함 - 상기 제1 학습 모델은 쿼리 이미지로부터 제1 특징 벡터를 추출하여 데이터베이스에 저장된 상표 이미지의 제2 특징 벡터와의 유사도를 구하도록 구성되고, 제2 학습 모델은 상기 쿼리 이미지의 부분 이미지에 기초하여 상기 쿼리 이미지가 해당하는 적어도 하나의 분류를 출력하도록 구성된다. 상기 프로세서는 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 적어도 하나의 분류에 기초하여 상기 데이터베이스에 저장된 상기 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하도록 구성된다. According to one aspect of the present disclosure, a trademark search apparatus is disclosed. The trademark retrieval device includes: a storage configured to store a trademark retrieval model; and a processor configured to execute the trademark search model. the trademark search model includes a first learning model and a second learning model, wherein the first learning model is configured to extract a first feature vector from a query image to obtain a similarity with a second feature vector of a trademark image stored in a database and the second learning model is configured to output at least one classification corresponding to the query image based on the partial image of the query image. The processor is configured to select at least one image similar to the query image from among the trademark images stored in the database based on a degree of similarity between the second feature vector and the first feature vector and the at least one classification.

일 실시예에서, 상기 제1 학습 모델은 도형의 유사도를 측정하도록 구성되고 학습되되, N개의 분류로 분류된 제1 학습 데이터를 사용하여 삼중 손실 함수(triplet loss function)로 학습되고, 상기 제2 학습 모델은 상표에 포함된 도형을 상기 N개의 분류로 분류하도록 구성되고 학습되되, 상기 제1 학습 데이터를 사용하여 학습될 수 있다. In an embodiment, the first learning model is configured and trained to measure the similarity of figures, and is trained with a triplet loss function using first learning data classified into N classifications, and the second The learning model is configured and trained to classify figures included in the trademark into the N classifications, and may be learned using the first learning data.

일 실시예에서, 상기 제2 학습 모델은 메인 모델 및 서브 모델을 포함할 수 있다. 상기 메인 모델은 상기 쿼리 이미지를 N개의 분류로 분류하도록 구성되고, 상기 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 M개의 분류로 분류하도록 구성될 수 있다. In an embodiment, the second learning model may include a main model and a sub-model. The main model may be configured to classify the query image into N classifications, and the sub-model may be configured to classify the query image into M classifications selected from among the N classifications.

일 실시예에서, 상기 적어도 하나의 분류를 분류하는 기준 중 적어도 하나는 비엔나 코드일 수 있다. 상기 메인 모델은 상기 쿼리 이미지에 기초하여 제1 분류를 제공 - 상기 제1 분류는 상기 N개의 분류에 포함됨 - 하도록 구성되고; 상기 하나 이상의 프로세서는, 상기 제1 분류가 상기 M개의 분류에 포함되는지 판정하도록 구성되고; 상기 서브 모델은, 상기 제1 분류가 상기 M개의 분류에 포함된다는 판정에 대응하여 상기 쿼리 이미지에 기초하여 제2 분류를 제공하도록 구성되고; 및 상기 하나 이상의 프로세서는, 상기 제1 분류와 상기 제2 분류가 상이하다고 판단하는 것에 대응하여, 상기 제1 분류를 상기 제2 분류로 대체하도록 구성될 수 있다. In an embodiment, at least one of the criteria for classifying the at least one classification may be a Vienna code. the main model is configured to provide a first classification based on the query image, the first classification being included in the N classifications; the one or more processors are configured to determine whether the first classification is included in the M classifications; the sub-model is configured to provide a second classification based on the query image in response to determining that the first classification is included in the M classifications; and the one or more processors may be configured to replace the first classification with the second classification in response to determining that the first classification and the second classification are different.

일 실시예에서, 상기 제2 학습 모델은 메인 모델과 서브 모델을 포함할 수 있다. 상기 메인 모델은 상기 쿼리 이미지에 기초하여 제1 분류를 제공 - 상기 제1 분류는 상기 적어도 하나의 분류에 포함됨 - 하도록 구성되고, 상기 서브 모델은 상기 쿼리 이미지에 기초하여 제2 분류를 제공하도록 구성되고, 상기 프로세서는, 상기 제1 분류와 상기 제2 분류가 상이하다고 판단하는 것에 대응하여, 상기 제1 분류를 상기 제2 분류로 대체하도록 구성될 수 있다.In an embodiment, the second learning model may include a main model and a sub-model. the main model is configured to provide a first classification based on the query image, wherein the first classification is included in the at least one classification, and the sub-model is configured to provide a second classification based on the query image. and the processor may be configured to replace the first classification with the second classification in response to determining that the first classification and the second classification are different.

일 실시예에서, 상기 제2 학습 모델은 객체 탐지를 수행하는 신경망을 포함하고, 상기 제2 상표 이미지로부터 복수의 요부를 추출하여 상기 복수의 요부 각각에 해당하는 분류를 추정하도록 구성될 수 있다. In an embodiment, the second learning model may include a neural network for performing object detection, and may be configured to extract a plurality of features from the second trademark image to estimate a classification corresponding to each of the plurality of features.

일 실시예에서, 상기 프로세서는, 상기 적어도 하나의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수를 판정하고, 상기 적어도 하나의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수에 따른 가중치를 불러오고, 상기 가중치와 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도에 기초하여 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하도록 구성될 수 있다.In an embodiment, the processor compares the at least one classification with the classification of the trademark image stored in the database to determine the number of overlapping classifications, and compares the at least one classification with the classification of the trademark image stored in the database to retrieve a weight according to the number of overlapping classifications, and select at least one image similar to the query image based on the weight and the degree of similarity between the second feature vector and the first feature vector.

상표 검색을 위해 간단히 이미지를 업로드하여 유사한 상표 이미지를 용이하게 검색할 수 있다. 또한, 두 가지 인공 지능 모델을 이용한 검색 모델을 이용하여 도형의 전체적인 외형 이미지뿐 아니라 상표 요부의 세부적 이미지의 유사함을 구분할 수 있는 상표 검색 엔진을 제공할 수 있다. You can easily search for similar trademark images by simply uploading an image for a trademark search. In addition, it is possible to provide a trademark search engine capable of distinguishing not only the overall external image of a figure but also the similarity of the detailed image of the trademark main part by using the search model using the two artificial intelligence models.

도 1은 일 실시예에 따른 상표 검색 환경의 블록도이다.
도 2는 일 실시예에 따른 단말기의 블록도이다.
도 3은 일 실시예에 따른 상표 검색 서버의 블록도이다.
도 4a는 일실시예에 따른 제1 학습 모델을 사용한 유사 이미지의 유사도 히스토그램이고 도 4b는 일실시예에 따른 제1 학습 모델을 사용한 랜덤 이미지의 유사도 히스토그램이다.
도 5a는 일실시예에 따른 제1 학습 모델 및 제2 학습 모델을 사용한 유사 이미지의 유사도 히스토그램이고 도 5b는 일실시예에 따른 제1 학습 모델 및 제2 학습 모델을 사용한 랜덤 이미지의 유사도 히스토그램이다
도 6은 일 실시예에 따른 상표 검색 모델을 도시한 블록도이다.
도 7은 일 실시예에 따른 상표 검색 방법을 도시한 순서도이다.
도 8은 일 실시예에 따른 데이터베이스 제작 방법을 도시한 순서도이다.
도 9a 내지 9c는 일 실시예에 따른 상표 이미지에서 일부 이미지에 따라 분류하는 예시도이다.
1 is a block diagram of a trademark search environment according to one embodiment.
2 is a block diagram of a terminal according to an embodiment.
3 is a block diagram of a trademark search server according to an embodiment.
4A is a similarity histogram of a similarity image using the first learning model according to an embodiment, and FIG. 4B is a similarity histogram of a random image using the first learning model according to an embodiment.
5A is a similarity histogram of a similarity image using a first learning model and a second learning model according to an embodiment, and FIG. 5B is a similarity histogram of a random image using the first learning model and a second learning model according to an embodiment.
6 is a block diagram illustrating a trademark search model according to an embodiment.
7 is a flowchart illustrating a trademark search method according to an embodiment.
8 is a flowchart illustrating a database manufacturing method according to an exemplary embodiment.
9A to 9C are diagrams illustrating classification according to some images in a trademark image according to an embodiment.

이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대해 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.Hereinafter, the present disclosure will be described in detail with reference to the drawings. In describing the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present disclosure, a detailed description thereof will be omitted. In addition, the following examples may be modified in various other forms, and the scope of the technical spirit of the present disclosure is not limited to the following examples. Rather, these embodiments are provided to more fully and complete the present disclosure, and to fully convey the technical spirit of the present disclosure to those skilled in the art.

본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다.It is to be understood that the technology described in the present disclosure is not intended to be limited to specific embodiments, and includes various modifications, equivalents, and/or alternatives of the embodiments of the present disclosure.

도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.In connection with the description of the drawings, like reference numerals may be used for like components.

본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. 본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In the present disclosure, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features. In this disclosure, expressions such as "A or B," "at least one of A and/and B," or "one or more of A or/and B" may include all possible combinations of the items listed together. . For example, "A or B," "at least one of A and B," or "at least one of A or B" means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.

본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.As used in the present disclosure, expressions such as “first,” “second,” “first,” or “second,” may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component); When referring to "connected to", it will be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서," A, B, 및 C를 수행하도록 구성된(또는 설정된) 모듈"은 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression “configured to (or configured to)” as used in this disclosure, depending on the context, for example, “suitable for,” “having the capacity to” ," "designed to," "adapted to," "made to," or "capable of." The term “configured (or configured to)” may not necessarily mean only “specifically designed to” hardware. Instead, in some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase "a processor configured (or configured to perform) A, B, and C," a module configured (or configured to perform) A, B, and C," refers to a dedicated processor (eg, : embedded processor) or a generic-purpose processor (eg, CPU or application processor) capable of performing corresponding operations by executing one or more software programs stored in a memory device.

인공 지능을 이용한 상표 이미지 검색Trademark Image Search Using Artificial Intelligence

본 개시에서, 인공 지능을 이용한다는 것은 대량의 학습 데이터를 통해 인공 신경망(Artificial Neural Network, ANN)을 포함하는 학습 모델을 학습시켜 인공 신경망 내부의 파라미터를 최적화하고, 학습된 학습 모델을 이용한다는 것을 의미할 수 있다. 본 개시의 일 실시예에서, 특허청에서 제공하는 상표의 이미지 데이터를 수집하고 가공하여 학습 데이터를 만들고 이를 저장하는 데이터베이스를 만든다. 데이터베이스에 학습 데이터, 상표 데이터, 상표 데이터의 특징 벡터(feature vector), 상표 데이터의 분류 등을 저장시킬 수 있다. In the present disclosure, using artificial intelligence means that a learning model including an artificial neural network (ANN) is trained through a large amount of learning data to optimize parameters inside the artificial neural network, and the learned learning model is used. can mean In an embodiment of the present disclosure, it collects and processes image data of trademarks provided by the Korean Intellectual Property Office to create learning data and create a database for storing them. Learning data, trademark data, feature vectors of trademark data, classification of trademark data, etc. may be stored in the database.

학습 데이터는 별도의 데이터베이스에 저장될 수 있다. 학습 데이터를 이용하여 학습시킨 학습 모델에 데이터베이스에 저장되어 있는 상표 이미지들을 입력하여, 각각의 상표 이미지로부터 특징 벡터를 추출하여 저장하고, 검색하고자 하는 상표의 이미지(쿼리 이미지, (query image))가 학습 모델이 입력되면, 쿼리 이미지로부터 특징 벡터를 추출하여 저장된 특징 벡터와 비교하여 유사도를 계산한다. 또, 본 개시에 있어서, 인공 지능을 활용하여 상표 이미지에 포함된 도형의 전체적인 유사도뿐 아니라, 도형의 일부분의 유사도를 판단하여 이를 활용할 수 있다. 예를 들어, 학습 모델을 사용하여 도형 전체 및/또는 일부를 각각 분류하고 도형의 분류에 따른 도형 분류 결과값을 구한다. 그 다음, 특징 벡터의 유사도와 도형 분류 결과값을 곱하여 최종 유사도를 계산할 수 있다. The training data may be stored in a separate database. By inputting the trademark images stored in the database to the learning model trained using the learning data, extracting a feature vector from each trademark image and storing it, the image of the trademark to be searched (query image) is When the learning model is input, the similarity is calculated by extracting a feature vector from the query image and comparing it with the stored feature vector. In addition, in the present disclosure, by using artificial intelligence, not only the overall similarity of figures included in the trademark image, but also the degree of similarity of a part of the figure may be determined and utilized. For example, the whole and/or part of a figure is classified by using the learning model, and a figure classification result value is obtained according to the classification of the figure. Then, the final similarity may be calculated by multiplying the similarity of the feature vector and the result of the figure classification.

인공 신경망artificial neural network

인공 신경망은 생물학적 신경막에 착안된 컴퓨팅 시스템을 지칭할 수 있다. 인공 신경망은 복수의 신경망 레이어로 구성될 수 있다. 각각의 신경망 레이어는 복수의 파라미터를 갖고 있으며, 이전 레이어의 연산 결과와 복수의 파라미터들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 파라미터들은 인공 신경망의 학습 결과에 의해 최적화될 수 있다. 본 개시에 따른 인공 신경망 모델은 합성곱 신경망(Convolutional Neural Network, CNN), 심층 신경망(Deep Neural Network, DNN), 순환 신경망(Recurrent Neural Network, RNN), 제한적 볼츠만 머신(Restricted Boltzmann Machine, RBM), 심층 신뢰 신경망(Deep Belief Network, DBN), 양방향 순환 신경망(Bidirectional Recurrent Deep Neural Network, BRDNN) 또는 심층 Q-네트워크(Deep Q-Networks) 등 중 적어도 어느 하나 또는 이들의 조합이 있으나, 전술한 예에 한정되지 않는다.The artificial neural network may refer to a computing system based on a biological neural membrane. The artificial neural network may be composed of a plurality of neural network layers. Each neural network layer has a plurality of parameters, and a neural network operation is performed through an operation between the operation result of the previous layer and the plurality of parameters. The parameters of the plurality of neural network layers may be optimized by the learning result of the artificial neural network. The artificial neural network model according to the present disclosure is a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), There is at least one or a combination of these, such as Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks, but in the above example not limited

일 실시예에서, 인공 신경망으로 합성곱 신경망을 이용한 모델을 사용한다. 예를 들어, 이미지 전체 외형의 유사도를 측정하기 위해 특화된 합성곱 신경망을 사용한다. In one embodiment, a model using a convolutional neural network is used as the artificial neural network. For example, a specialized convolutional neural network is used to measure the similarity of the overall appearance of an image.

합성곱 신경망convolutional neural network

합성곱 신경망은 이미지 인식에 일반적으로 사용되므로, 간단히 설명한다. 합성곱 신경망은 이미지의 공간 정보를 유지할 수 있어 이미지 인식에 주로 사용된다. 일반적으로 합성곱 신경망은 합성곱 계층(layer), 활성화 함수, 풀링 계층 등을 조합하여 제작될 수 있다. 합성곱 계층은, 입력 데이터에 행렬로 표현되는 필터(혹은 커널(Kernel))를 적용하여 특징 맵을 출력하는 계층이다. 필터는 학습에 의해 자동으로 생성될 수 있고, 학습 모델을 학습시켜 인공 신경망 내부의 파라미터를 최적화한다는 것은 필터를 최적화함을 의미한다. Since convolutional neural networks are commonly used for image recognition, we briefly describe them. Convolutional neural networks are mainly used for image recognition because they can maintain spatial information of images. In general, a convolutional neural network may be manufactured by combining a convolutional layer, an activation function, a pooling layer, and the like. The convolution layer is a layer that outputs a feature map by applying a filter (or kernel) expressed as a matrix to input data. Filters can be automatically generated by learning, and optimizing the parameters inside the artificial neural network by training the learning model means optimizing the filter.

합성곱 신경망을 포함하는 학습 모델은, 이미지로부터 복수의 필터를 이용해 특징 맵을 추출하고 풀링하는 것을 반복하고, 최종적으로 얻어지는 특징 맵을 완전 연결 계층(fully connected layer)으로 변환하여, 이를 통해 특징 벡터를 얻는다. A learning model including a convolutional neural network repeatedly extracts and pools a feature map using a plurality of filters from an image, transforms the finally obtained feature map into a fully connected layer, and through this, a feature vector to get

본 개시의 일 실시예에서 사용하는 학습 모델은 inception, VGG. LeNet, AlexNet, ZFNet, VGG, GoogLeNet, ResNet, MobileNet, EfficientNet 등의 모델 중 어느 하나를 사용하거나 일부 변형하여 사용할 수 있으나, 이에 한정되지 않는다. The learning model used in an embodiment of the present disclosure is inception, VGG. Any one of models such as LeNet, AlexNet, ZFNet, VGG, GoogLeNet, ResNet, MobileNet, and EfficientNet may be used or partially modified, but the present invention is not limited thereto.

데이터베이스 제작database creation

데이터베이스의 제작은 다음과 같이 수행하였다. The database was prepared as follows.

본 개시에서, 상표 데이터는 키프리스 플러스(plus.kipris.or.kr)로부터 제공받았다. 키프리스 플러스는 bulk data 및/또는 open API 방식으로 특허청이 개방 중인 특허, 상표, 디자인 정보를 제공한다. 데이터베이스 제작 시에, 약 90만개의 데이터를 키프리스 플러스로부터 얻었다. 즉, 약 총 90만개의 도형 상표 및 도형과 문자의 복합 상표를 얻었다. 여기서 중복되는 상표를 제거하였다. 또한, 본 개시의 여러 목적 중 하나는 도형의 유사함을 용이하게 검색하는 것이므로 복합 상표에서 문자를 구분하여 이미지(도형) 상표로 분류된 상표만을 추출하였다. In the present disclosure, trademark data were provided from Cypris Plus (plus.kipris.or.kr). Cypris Plus provides information on patents, trademarks, and designs that are open to the Korean Intellectual Property Office in bulk data and/or open API methods. At the time of database creation, about 900,000 data were obtained from Cypris Plus. That is, a total of about 900,000 graphic trademarks and composite trademarks of figures and characters were obtained. Duplicate trademarks have been removed here. In addition, since one of the several purposes of the present disclosure is to easily search for similarity of figures, only trademarks classified as image (figure) trademarks are extracted by separating characters from composite trademarks.

일 실시예에서, 중복되는 상표의 제거는, 키프리스로부터 얻은 데이터에서 특허 출원인을 파싱하여 진행한다. 이를 통해, 제1 상표 데이터(중복 제거한 데이터)를 획득한다.In one embodiment, the removal of duplicate trademarks proceeds by parsing the patent applicants from data obtained from Cypris. Through this, the first trademark data (duplicated data) is obtained.

일 실시예에서, 제1 상표 데이터에서 도형 이미지로 사용할 상표를 분류하는 단계는 다음과 같다. 제1 상표 데이터로부터 도형이미지로 분류하기 위해서 종래에 알려진 Binary Classification model(이하, 도형 추출 모델)을 사용한다. In one embodiment, the step of classifying a trademark to be used as a figure image in the first trademark data is as follows. In order to classify a figure image from the first trademark data, a conventionally known Binary Classification model (hereinafter, a figure extraction model) is used.

예를 들어, inception, VGG. LeNet, AlexNet, ZFNet, VGG, GoogLeNet, ResNet, MobileNet, EfficientNet 등의 모델 중 어느 하나를 사용하거나 일부 변형하여 사용할 수 있다. 일 실시예에서, OpenCV, PIL의 Image 모듈 중 적어도 하나와 합성곱 신경망을 이용하여 복합 상표로부터 도형과 문자를 구분한다. 일 실시예에서, 상표 데이터를 임의로 분할하거나 문자가 있다고 추정되는 영역을 합성곱 신경망으로 학습시키고 이를 이용해 도형과 문자를 구분할 수 있다. See, for example, inception, VGG. Any one of the models such as LeNet, AlexNet, ZFNet, VGG, GoogLeNet, ResNet, MobileNet, and EfficientNet can be used or some modified ones can be used. In one embodiment, at least one of OpenCV and PIL's Image module and a convolutional neural network are used to distinguish figures and characters from a composite trademark. In an embodiment, trademark data may be arbitrarily divided or an area estimated to contain characters may be trained with a convolutional neural network, and figures and characters may be distinguished using the convolutional neural network.

일 실시예에 있어서, 상표 데이터에서 문자와 상표의 구분 기준은 도형이 전체 상표의 일정 크기 이상을 차지하는 경우 도형 이미지로 구분하였다. 예를 들어 상기 일정 크기는 전체 크기의 약 50%일 수 있다. 상기 일정 크기는 변경될 수 있다. 일 실시예에서, 크기 비율은 도형 및 문자의 실제 면적을 이용할 수도 있고, 바운딩 박스(bounding box)를 이용할 수도 있다. 문자가 디자인을 가진 경우, 도형 내에 문자가 포함되는 경우 도형으로 분류한다. 도형 추출 모델의 학습 데이터는 임의로 2000개를 선택하였다. 즉 2000개의 상표 이미지로 도형 추출 모델을 학습시키고, 제1 상표 데이터를 도형 추출 모델에 입력하여 도형 이미지로 사용할 제2 상표 데이터를 획득한다. In one embodiment, in the trademark data, the criterion for distinguishing between a character and a trademark is when the figure occupies a certain size or more of the entire trademark, it is classified as a figure image. For example, the predetermined size may be about 50% of the total size. The predetermined size may be changed. In one embodiment, the size ratio may use the actual area of the figure and character, or may use a bounding box. When a character has a design, if the character is included in the figure, it is classified as a figure. As the training data of the figure extraction model, 2000 were randomly selected. That is, a figure extraction model is trained with 2000 trademark images, and the first trademark data is input to the figure extraction model to obtain second trademark data to be used as a figure image.

학습데이터를 이용하여 도형 추출 모델을 학습시키고, 제1 상표 데이터를 도형 추출 모델에 입력하여 제2 상표 데이터(중복 제거 및 도형으로 분류된 데이터)를 얻어 데이터베이스에 저장하였다. 즉, 키프리스 플러스로부터 얻은 상표 데이터에서 중복 상표를 제거하고 도형으로 분류된 상표인 제2 상표 데이터를 획득하였다. The figure extraction model was trained using the learning data, and the first trademark data was input to the figure extraction model to obtain the second trademark data (data classified as duplicates and figures) and stored in the database. That is, duplicate trademarks were removed from the trademark data obtained from Cypris Plus, and second trademark data, which is a trademark classified as a figure, was obtained.

학습데이터 제작Learning data production

일 실시예에서, 제2 상표 데이터를 비엔나 코드에 따른 분류를 이용하여 추가적인 분류없이 그대로 사용할 수 있다. 비엔나 코드는 상표 내에 있는 도형을 여섯 자리 숫자로 표현하는 분류 코드로, 앞의 두 자리 숫자는 대분류, 중간의 두 자리 숫자는 중분류, 마지막 두 자리 숫자는 세부분류에 해당한다.In an embodiment, the second trademark data may be used as it is without further classification using classification according to the Vienna code. The Vienna code is a classification code that expresses the figure within a trademark with six digits. The first two digits correspond to the major classification, the middle two digits correspond to the intermediate classification, and the last two digits correspond to the subclassification.

일 실시예에서 제2 상표 데이터를 비엔나 코드에 기초하여 새롭게 분류하여 사용할 수 있다. 비엔나 코드에 따른 분류에 추가적인 분류를 수행하였다. 이에 따라, 제2 상표 데이터를 N개의 분류로 분류하였다. According to an embodiment, the second trademark data may be newly classified and used based on the Vienna code. An additional classification was performed on the classification according to the Vienna code. Accordingly, the second trademark data was classified into N classifications.

보다 자세히, 비엔나 코드를 이용하여 제2 상표 데이터를 분류한다. 대분류, 중분류, 세부분류를 모두 이용하여 분류하고 추가적인 분류를 수행하는 경우도 있었다. 예를 들어, 비엔나 코드에 따라 분류한 도형 이미지의 수량이 충분하고 유사한 분류로 분류되면 별도의 추가적인 분류를 하지 않았다. 즉, 이 경우 비엔나 코드에 따른 분류를 그대로 사용한다. 세부 분류를 통해 분류한 도형 이미지가 유사하지 않은 분류로 분류되면 다른 분류로 나누었다. 즉, 동일한 세부분류지만 다른 분류로 구분하였다. 이미지의 수량이 부족한 비엔나 코드 분류들이 서로 유사한 분류로 판단될 경우 두 그룹을 합병하였다. 예를 들어, 비엔나 코드가 08-07-03(마카로니, 다른 파스타), 11-01-06(젓가락), 11-03-07(사발) 인 경우, 위 세 분류는 비엔나 코드가 상이하고 이미지의 수량이 부족하지만, 그림에 “용기”, “면 음식” 이 공통으로 들어가 있어 유사한 분류로 판단되고 따라서 “면 요리” 라는 분류로 지정/합병하였다. 이러한 방식으로 241분류의 분류표를 작성하고, 각 분류당 100개의 학습데이터를 선별했다. 241분류는 임의적인 개수이며 선택적으로 조절 가능하다. In more detail, the second trademark data is classified using the Vienna code. In some cases, classification was performed using all major classifications, medium classifications, and subclassifications and additional classification was performed. For example, if the number of figure images classified according to the Vienna code is sufficient and they are classified into a similar classification, additional classification is not performed. That is, in this case, classification according to the Vienna code is used as it is. If the figure images classified through detailed classification were classified as dissimilar classifications, they were divided into other classifications. That is, the same sub-category but different classifications. The two groups were merged when the Vienna code classifications, which lacked the number of images, were judged to be similar to each other. For example, if the Vienna code is 08-07-03 (macaroni, other pasta), 11-01-06 (chopsticks), and 11-03-07 (bowl), the above three classifications have different Vienna codes and Although the quantity is insufficient, “container” and “noodle food” are commonly included in the picture, so it is judged to be a similar classification, and therefore it has been designated/merged into the category “noodle dish”. In this way, a classification table of 241 classifications was prepared, and 100 pieces of learning data were selected for each classification. The number of 241 classifications is arbitrary and can be selectively adjusted.

문자나 다른 분류가 최대한 섞여있지 않은 이미지를 선별했으며, 100개에 미달한 경우 구글 이미지 크롤링을 이용하여 100개를 채웠다.Images without text or other classifications were selected as much as possible, and if less than 100 images were filled, Google image crawling was used to fill in 100 images.

이렇게 만들어진 24100개의 데이터 세트는 첫 번째 인공 지능 모델(제1 학습 모델)인 이미지 유사도 측정 모델에 사용되고, 추가로 바운딩 박스 라벨링을 진행한 뒤 두 번째 인공지능 모델(제2 학습 모델)인 분류 추정 모델에 사용되었다. The 24,100 data sets created in this way are used for the image similarity measurement model, which is the first artificial intelligence model (first learning model), and after additional bounding box labeling, the second artificial intelligence model (second learning model), the classification estimation model was used for

검증데이터 제작Verification data production

검증 데이터는 유사한 상표 이미지 쌍과 유사하지 않은 상표 이미지 쌍으로 이루어져 있다.The verification data consists of pairs of similar and dissimilar trademark images.

유사한 상표 이미지 쌍은 특허청의 거절이유서 통지서를 파싱하여 만들었다. 거절이유서의 거절 이유가 “유사한 상표 이미지가 존재한다.” 인 경우를 프로그램으로 파싱하여 292개의 유사 쌍을 제작했다.A pair of similar trademark images was created by parsing the Notice of Reason for Rejection by the Korean Intellectual Property Office. The reason for refusal in the statement of refusal is “A similar trademark image exists.” 292 similar pairs were produced by parsing the case of .

유사하지 않은 상표 이미지 쌍은 10만여개의 데이터베이스에서 랜덤으로 뽑아 제작했다. 유사 쌍과 개수를 맞추기 위해 292개의 비유사 쌍을 제작했다.Dissimilar brand image pairs were randomly selected from 100,000 databases and produced. To match the number of similar pairs, 292 dissimilar pairs were produced.

제1 학습 모델first learning model

제1 학습 모델은 도형 전체 외형의 유사도를 측정하는 모델을 포함한다. 제1 학습 모델은 합성공 신경망을 포함하는 모델이다 예를 들어, inception, VGG. LeNet, AlexNet, ZFNet, VGG, GoogLeNet, ResNet, MobileNet, EfficientNet 등의 모델 중 어느 하나를 사용하거나 일부 변형하여 사용할 수 있다. 이미지 사이의 유사도 학습을 위해서, 샴 네트워크, 대조 손실(contrastive loss), 트리플릿 손실(triplet loss)을 사용할 수 있다. 일 실시예에서, 기존의 이미지 유사도 측정 모델에 트리플릿 손실을 사용한 전이 학습을 사용한다. 트리플릿 손실 학습 데이터는 다음과 같이 제작하였다.The first learning model includes a model for measuring the similarity of the overall shape of the figure. The first learning model is a model comprising a synthetic neural network, eg, inception, VGG. Any one of the models such as LeNet, AlexNet, ZFNet, VGG, GoogLeNet, ResNet, MobileNet, and EfficientNet can be used or some modified ones can be used. For similarity learning between images, a Siamese network, a contrastive loss, and a triplet loss can be used. In one embodiment, transfer learning using triplet loss is used in an existing image similarity measurement model. The triple loss training data was prepared as follows.

예를 들어, 241 분류의 한 분류에서 2개의 도형 이미지를 선택하여 하나는 앵커 이미지(anchor image)로, 나머지는 긍정 이미지(positive image)로, 다른 분류에서 1개의 도형 이미지를 선택하여 부정 이미지(negative image)로 하였다. 241 분류 각각에서 동일한 방식으로 학습데이터를 선택하였다. For example, by selecting two figure images from one classification of 241 classification, one as an anchor image, the other as a positive image, and by selecting one figure image from another classification as a negative image ( negative image). In each of the 241 classifications, the training data were selected in the same way.

제1 학습 모델에 데이터베이스에 저장된 제2 상표 데이터를 입력하여 마지막 계층인 완전연결계층의 특징 벡터를 얻을 수 있다. 제2 상표 데이터의 각 상표의 특징 벡터를 추출하여 데이터베이스에 저장한다. 제1 학습 모델에 검색하기 원하는 상표(쿼리 상표)를 입력하면, 쿼리 상표의 특징 벡터를 추출한 뒤, 데이터베이스에 기 저장된 특징 벡터와 코사인 유사도를 계산한다. By inputting the second trademark data stored in the database to the first learning model, it is possible to obtain the feature vector of the fully connected layer, which is the last layer. The feature vector of each trademark of the second trademark data is extracted and stored in the database. When a desired trademark (query trademark) is input to the first learning model, a feature vector of the query trademark is extracted, and the cosine similarity is calculated with the feature vector pre-stored in the database.

제2 학습 모델second learning model

제2 학습 모델은 상표를 분류하는 모델을 포함할 수 있다. 제2 학습 모델은 도형 전체의 외형의 유사성뿐 아니라, 도형의 요부의 유사성을 비교하는 모델이다. 제2 학습 모델의 학습을 위해, 상표에 포함된 도형으로부터 도형의 요부라고 판단되는 부분들을 추출한다. 일 실시예에서, 요부의 추출은 객체 탐지(object detection)를 위한 신경망 및/또는 알고리즘을 사용할 수 있다. 예를 들어, 영역 제안 신경망(Region Proposal Network, RPN)을 포함하는 모델, YOLO 모델 등을 사용할 수 있다. RPN에서는 픽셀값이 급변하는 지점을 토대로 복수의 오브젝트 가능성 박스를 잡고 박스들의 상호 관심 영역(Region of Interest, ROI) 박스가 겹치는 비율을 계산한다. 상호 ROI가 높으면 같은 요부를 나타냈다는 것을 판단하고 이를 통해 2~10개 정도의 유력후보를 남기고 제거한다. 요부의 개수는 사용자가 학습 모델을 학습시킬 때 임의로 선택할 수 있다. 하나의 도형 이미지가 복수 개의 요부를 포함하고, 각 요부는 제2 학습 모델에 의해 분류된다. The second learning model may include a model for classifying trademarks. The second learning model is a model that compares not only the similarity of the overall appearance of the figure, but also the similarity of the main part of the figure. In order to learn the second learning model, parts determined to be the main part of the figure are extracted from the figure included in the trademark. In one embodiment, the extraction of the feature may use a neural network and/or algorithm for object detection. For example, a model including a Region Proposal Network (RPN), a YOLO model, or the like may be used. In RPN, a plurality of object possibility boxes are held based on the point at which pixel values change rapidly, and the ratio of overlapping regions of interest (ROI) boxes of the boxes is calculated. If the mutual ROI is high, it is judged that the same features are shown, and 2 to 10 strong candidates are removed through this. The number of recessed parts can be arbitrarily selected by the user when training the learning model. One figure image includes a plurality of recesses, and each recess is classified by the second learning model.

도 9a 내지 9c는 일 실시예에 따른 상표 이미지에서 일부 이미지를 분류하는 예시도이다. 9A to 9C are exemplary diagrams of classifying some images in a trademark image according to an embodiment.

예를 들어, 도 9a와 같이, 안경과 모자를 착용한 해골의 전체 이미지에서 일부 이미지를 요부로 하여 각각 분류를 수행할 수 있다. 이 경우, 도 9a에 도시된 이미지로부터 안경, 모자, 갓의 분류가 출력될 수 있다. 도 9b를 참조하면, 전체 이미지의 일부 이미지 각각으로부터 둥근 왕관, 곤충, 나비의 분류가 출력될 수 있다. 9c를 참조하면, 닻, 날개의 분류가 출력될 수 있다. For example, as shown in FIG. 9A , classification may be performed using some images as a main part in the entire image of a skeleton wearing glasses and a hat. In this case, classification of glasses, hats, and shades may be output from the image shown in FIG. 9A . Referring to FIG. 9B , a classification of a round crown, an insect, and a butterfly may be output from each of the partial images of the entire image. Referring to 9c, the classification of anchors and wings may be output.

일 실시예에서, 도형은 복수의 요부를 포함할 수 있고 각 요부는 각각 다른 분류에 속할 수 있기 때문에 하나의 상표는 복수의 분류에 해당할 수 있다. 일 실시예에서, 제2 학습 모델은 다중 레이블 분류(Multi Label Classification) 모델을 포함할 수 있다. 제2 학습 모델의 학습데이터로는 241 분류의 24100개의 데이터를 사용하였다.In an embodiment, since the figure may include a plurality of main parts and each main part may belong to a different classification, one trademark may correspond to a plurality of classifications. In an embodiment, the second learning model may include a multi-label classification model. As training data of the second learning model, 24100 data of 241 classifications were used.

학습데이터로 도형 분류표에 따라 모두 분류하도록 학습하면 분류가 편향되는 경우가 생길 수 있다. 이는 241개의 분류가 너무 많기 때문일 수 있다. 또한, 편향된다는 것은 일종의 오버 피팅(Over Fitting) 문제이다. 일 실시예에서 한 검증세트(제1 세트)의 특징 벡터(Feature Vector)는 오버 피팅이 아닌 경우 해당 분류의 값이 특정 임계값보다 큰 값을 가진다. 보다 자세히, 예를 들어, N개의 분류를 사용하는 경우 특징 벡터(Feature Vector)는 (N,1)의 모양이며 N분류 각각의 확률을 갖고 있다. 여기서, 특징 벡터가 갖는 확률은 예측된 확률일 수 있다.When learning to classify everything according to the figure classification table as the learning data, the classification may be biased. This may be because there are too many 241 classifications. Also, being biased is a kind of over-fitting problem. In an embodiment, a feature vector of one verification set (first set) has a value of a corresponding classification greater than a specific threshold value when not overfitting. In more detail, for example, when using N classifications, a feature vector has a shape of (N,1) and has a probability of each of the N classifications. Here, the probability that the feature vector has may be a predicted probability.

일 실시예에서, 241 분류를 사용하는 경우, 특징 벡터(Feature Vector)는 (241,1)의 모양이며 241 분류 각각의 확률을 담는다. 특징 벡터(Feature Vector)는 [a1, ..., a241]의 값으로 나타날 수 있으며, a1, ..., a241은 각 분류의 값에 해당한다. 오버 피팅이 아닌 경우, 제1 세트의 분류의 특징 벡터에 해당하는 값이 크게 나타난다. In one embodiment, when 241 classifications are used, a feature vector has the shape of (241,1) and contains the probability of each of the 241 classifications. A feature vector may be expressed as values of [a 1 , ..., a 241 ], and a 1 , ..., a 241 correspond to values of each classification. In the case of not overfitting, a value corresponding to the feature vector of the first set of classification appears large.

그러나, 오버 피팅인 경우, 해당 분류의 값이 특정 임계값보다 작고, 다른 분류에 해당하는 값이 클 수 있다. 예를 들어, 지구에 해당하는 이미지를 입력하였지만, 태양에 해당하는 특징 벡터의 값이 크게 출력될 수 있다. However, in the case of overfitting, a value of a corresponding classification may be smaller than a specific threshold and a value corresponding to another classification may be large. For example, although an image corresponding to the earth is input, a value of a feature vector corresponding to the sun may be greatly output.

이는 태양과 지구는 '둥글다'는 동일한 특성이 있어 학습되면서 두 분류가 구분되지 않을 수 있기 때문이다. 이 경우, 태양을 태양으로 분류하지만 지구도 태양으로 분류하는 문제가 발생한다. 이러한 경우를 마지막 계층의 특징 벡터(Feature Vector)로 확인할 수 있다. This is because the sun and the earth have the same characteristic that they are 'round', so the two classifications may not be distinguished as they are learned. In this case, although the sun is classified as a sun, a problem arises that the earth is also classified as a sun. This case can be confirmed as a feature vector of the last layer.

보다 자세히, 오버 피팅의 경우, '검증세트:지구'의 특징 벡터(Feature Vector) 중 대부분이 지구 분류에 해당하는 값이 낮게 나타날 수 있다. 예를 들어, 값이 낮다는 것을 0.3 정도로 잡을 수 있고, 이 값은 변경 가능하다. 오버 피팅의 경우, '검증세트:지구'의 예에서, 다른 분류, 예를 들어 태양에 해당하는 값이 특정 임계값보다 높게 나타날 수 있다. More specifically, in the case of overfitting, most of the feature vectors of the 'verification set: earth' may have a low value corresponding to the earth classification. For example, you can take a low value around 0.3, and this value can be changed. In the case of overfitting, in the example of 'Verification Set: Earth', a value corresponding to another classification, for example, the Sun, may appear higher than a specific threshold.

또, 다른 검증세트(제2 세트)의 특징 벡터(Feature Vector)와 제1 검증세트의 특징 벡터를 비교하여 두 특징 벡터가 유사한 경우 두 분류의 구분이 명확하지 않다고 판단한다. 예를 들어, 검증세트:태양 의 특징 벡터들이 검증세트:지구의 특징 벡터와 유사할 경우 두 분류가 제대로 구분되지 않았다고 판단한다. 특징 벡터의 유사성은 코사인 유사도로 확인할 수 있다. 이 경우는 하나의 예시이며 다양한 경우가 존재할 수 있다. Also, by comparing a feature vector of another verification set (the second set) with a feature vector of the first verification set, if the two feature vectors are similar, it is determined that the distinction between the two classifications is not clear. For example, if the feature vectors of the validation set:Sun are similar to those of the validation set:Earth, it is judged that the two classifications are not properly distinguished. The similarity of the feature vectors can be confirmed by the cosine similarity. This case is one example, and various cases may exist.

위의 예시의 경우 지구로 분류된 상표 이미지와 태양으로 분류된 상표 이미지만을 학습데이터로 이용하여 서브 학습 모델을 만든다. 서브 학습 모델은 메인 모델과 유사한 방법으로, 다중 레이블 분류(Multi Label Classification) 모델을 사용하여 만들 수 있다. In the case of the above example, a sub-learning model is created by using only the trademark image classified as the earth and the trademark image classified as the sun as training data. A sub-learning model can be created using a multi-label classification model in a similar way to the main model.

오버 피팅은 상기와 같이 2 가지 분류(지구, 태양) 사이에 발생할 수도 있지만, 더 많은 수의 분류에서 발생할 수 있다. 일 실시예에서, 오버 피팅으로 인해 복수개의 분류(M개의 분류, M은 N보다 작음)의 특징 벡터의 값이 정확한 값을 가지지 못하는 경우가 있다. Overfitting may occur between the two classifications (Earth, Sun) as above, but may occur in a larger number of classifications. In an embodiment, values of feature vectors of a plurality of classifications (M classifications, M being less than N) may not have accurate values due to overfitting.

예를 들어, '달, 지구, 태양, 원, 바퀴, 로고_1' 이 유사성을 갖는 것으로 판단될 수 있다. 이 경우, 6가지 분류에 해당하는 600개의 학습데이터로 서브 학습 모델을 학습시켜 6개의 분류를 정확히 하도록 학습시킨다. 이 경우, 특징 벡터는 (241,1)이 아닌 (6,1) 모양으로 생성된다. For example, it may be determined that 'moon, earth, sun, circle, wheel, logo_1' has similarity. In this case, the sub-learning model is trained with 600 pieces of training data corresponding to 6 classifications, so that the 6 classifications are accurately learned. In this case, the feature vector is generated in the shape of (6,1) rather than (241,1).

일 실시예에 있어서, 도형 분류는 1개의 메인 모델과 복수개의 서브 모델을 사용할 수 있다. 예를 들어, 메인 모델에 N개의 분류로 분류된 제2 상표 데이터를 입력하여 학습한 결과, N개 분류 중 임의의 M개의 분류들이 유사성을 가져 정확히 분류되지 않으면, M개의 분류에 해당하는 상표 데이터를 이용하여 서브 모델을 학습시키는 것이다. 유사성을 가져 정확히 분류되지 않는 그룹이 복수개 있을 수 있어, 서브 모델은 복수일 수 있다. 또 일 실시예에 있어서, 서브 모델이 M개의 분류에 해당하는 상표 데이터를 이용하여 학습한 결과, M개 분류 중 임의의 K개의 분류들이 유사성을 가져 정확히 분류되지 않으면 또 다른 서브 모델(서브 모델의 서브 모델)을 이용하여 K개의 분류에 해당하는 상표 데이터를 이용하여 또 다른 서브 모델을 학습시킬 수 있다. According to an embodiment, the figure classification may use one main model and a plurality of sub-models. For example, as a result of learning by inputting second trademark data classified into N classifications into the main model, if any M classifications among the N classifications have similarities and are not accurately classified, trademark data corresponding to the M classifications is used to train the submodel. Since there may be a plurality of groups that are not accurately classified due to similarity, there may be a plurality of sub-models. In another embodiment, as a result of the sub-model learning using the trademark data corresponding to the M classifications, if any K classifications among the M classifications have similarities and are not accurately classified, another sub-model (of the sub-models) sub-model), another sub-model can be trained using trademark data corresponding to K classifications.

일 실시예에서, 메인 모델은 241분류 모두 분류하는 모델이고 서브 모델은 특정 분류들 만을 분류하는 모델이다. 메인 모델과, 서브 모델은 다중 레이블 분류(Multi Label Classification) 모델을 사용하여 만들되, 다른 학습 데이터를 이용하여 학습된 모델이다. 상술한 바와 같이, 메인 모델을 사용하여 241분류를 수행하는 도중 발생하는 오버 피팅을 해결하기 위해, 241 분류 중 구분이 명확하지 않은 분류에 해당하는 상표 데이터를 사용하여 서브 모델을 학습시킨다. 이에 따라, 서브 모델은 복수의 서브 모델을 포함할 수 있다. 각 서브 모델은 메인 모델이 정확히 분류하지 못한 분류들을 분류하기 위한 모델로, 상술한 2 가지 분류(지구, 태양) 또는 '달, 지구, 태양, 원, 바퀴, 로고_1' 가 그 예이다. In an embodiment, the main model is a model that classifies all 241 classifications, and the sub-model is a model that classifies only specific classifications. The main model and sub-model are made using a multi-label classification model, but are models trained using other training data. As described above, in order to solve overfitting that occurs while performing 241 classification using the main model, a sub-model is trained using trademark data corresponding to a classification whose classification is not clear among 241 classifications. Accordingly, the sub-model may include a plurality of sub-models. Each sub-model is a model for classifying classifications that the main model does not accurately classify, and the above-mentioned two classifications (Earth, Sun) or 'Moon, Earth, Sun, Circle, Wheel, Logo_1' are examples.

메인 모델과 서브 모델을 사용하여 상표 데이터를 분류하는 방법은 다음과 같다. 메인 모델이 입력 상표에 대해, [태양, 사람, 산]으로 예측한다고 가정한다. [태양, 사람, 산] 중 어느 하나의 분류가 서브 모델의 분류 유형에 포함되는 지 판정한다. 예를 들어, {달, 지구, 태양, 원, 바퀴, 로고_1}이 제1 서브 모델이 분류하는 분류들이라고 하면, 메인 모델이 예측한 [태양, 사람, 산]에 {달, 지구, 태양, 원, 바퀴, 로고_1}중 '태양'이 포함되었기 때문에 '태양'의 분류가 정확한지 제1 서브 모델에 상기 입력 상표를 입력하여 세부 분류를 수행한다. 제1 서브 모델의 분류 결과가 메인 모델의 분류 결과를 대체할 수 있다. The method of classifying trademark data using the main model and sub-model is as follows. Assume that the main model predicts [sun, person, mountain] for the input brand. It is determined whether any one classification of [sun, person, and mountain] is included in the classification type of the submodel. For example, if {moon, earth, sun, circle, wheel, logo_1} are the classifications classified by the first sub-model, {moon, earth, Since 'sun' is included among the sun, circle, wheel, and logo_1}, whether the classification of 'sun' is correct is performed by entering the input trademark into the first sub-model to perform detailed classification. The classification result of the first sub-model may replace the classification result of the main model.

예를 들어, 제1 서브 모델의 분류 결과 [지구]가 나온 경우, 최종 분류 결과는 [태양, 사람, 산]이 아닌 [지구, 사람, 산]이 되고, 제1 서브 모델의 분류 결과 [지구, 원]이 나온 경우, 최종 분류 결과는 [태양, 사람, 산]이 아닌 [지구, 원, 사람, 산]이 되며, 제1 서브 모델의 분류 결과 [태양]이 나온 경우, 최종 분류 결과는 [태양, 사람, 산]이 유지된다. For example, if the first sub-model classification result [Earth] is obtained, the final classification result becomes [Earth, person, mountain] instead of [Sun, person, mountain], and the classification result of the first sub-model [Earth] . [Sun, Man, Mountain] is maintained.

메인 모델과 서브 모델이 예측하는 분류는 상위 N 번째로 정할 수 있다. 일 실시예에서 메인 모델은 상위 3개의 분류를 예측하고, 각 서브 모델은 상위 2개의 분류를 예측하도록 조정할 수 있다. 이 경우, 메인 모델에서 예측한 [a,b,c]가 모두 서브 모델에 포함될 경우 최대 [a1,a2,b1,b2,c1,c2] 6분류로 추정될 수 있다. 메인 모델과 서브 모델이 예측하는 상위 분류의 수는 예시적인 것으로 변경 가능하다.The classification predicted by the main model and the sub-model can be set to the top Nth. In an embodiment, the main model may predict the top three classifications, and each sub-model may be adjusted to predict the top two classifications. In this case, when [a, b, c] predicted by the main model are all included in the sub-model, it can be estimated as a maximum of 6 classifications [a1, a2, b1, b2, c1, c2]. The number of upper classifications predicted by the main model and the sub-model is exemplary and can be changed.

따라서, 일 실시예에서, 한 이미지 당 0~6개의 분류를 추정할 수 있다. 이때 0개의 분류는 분류를 하지 못한 것이다. 제1 학습 모델과 같이, 데이터베이스에 제2 학습 데이터의 분류들을 저장한다. Accordingly, in an embodiment, 0 to 6 classifications may be estimated per one image. In this case, 0 classification means no classification. As with the first learning model, the classifications of the second learning data are stored in the database.

상기 분류는 나중에 최종 상표의 유사도를 결정할 때 이용될 수 있다. The classification can later be used to determine the degree of similarity of the final trademark.

상표 검색Trademark Search

이미지 유사도 측정 모델(제1 학습 모델)과 분류 추정 모델(제2 학습 모델)의 결과를 이용하여 최종 유사도를 산출한다. 분류 추정 모델이 예측한 입력 이미지의 분류와 데이터베이스의 이미지들의 분류가 겹치는 비율을 이미지 유사도와 곱하는 방식이다The final similarity is calculated using the results of the image similarity measurement model (first learning model) and the classification estimation model (second learning model). It is a method of multiplying the overlapping ratio of the classification of the input image predicted by the classification estimation model and the classification of the images in the database by the image similarity.

사용자가 이미지를 입력하면 최종모델이 데이터베이스의 이미지들과의 유사도를 계산하여 유사도가 높은 순서대로 정렬되어 표시된다.When the user inputs an image, the final model calculates the similarity with the images in the database, and displays them in order of the highest similarity.

상표 검색 환경Trademark search experience

도 1은 일 실시예에 따른 상표 검색 환경의 블록도이다.1 is a block diagram of a trademark search environment according to one embodiment.

도 1을 참조하면, 상표 검색 환경은 단말기(100), 상표 검색 서버(200) 및 데이터베이스(300)를 포함할 수 있다. 단말기(100)는 상표 검색을 하고자 하는 사용자의 단말기(100)이다. 단말기(100)는 유선 또는 무선 통신을 통해 상표 검색 서버(200)에 접속하여 상표 검색을 수행할 수 있다. 단말기(100)에는, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device), 등을 포함할 수 있다. 사용자는 단말기(100)를 통해 상표를 축소, 확대 또는 상표의 일부만을 추출, 축소, 확대하는 등의 편집을 통해 검색 대상을 설정할 수 있다. Referring to FIG. 1 , the trademark search environment may include a terminal 100 , a trademark search server 200 , and a database 300 . The terminal 100 is a terminal 100 of a user who wants to search for a trademark. The terminal 100 may perform a trademark search by accessing the trademark search server 200 through wired or wireless communication. The terminal 100 may include a smart phone, a laptop computer, a tablet PC, an ultrabook, a wearable device, and the like. The user may set a search target through editing such as reducing or enlarging a trademark or extracting, reducing, or enlarging only a part of the trademark through the terminal 100 .

상표 검색 서버(200)는 별도의 클라우드 서버나 컴퓨팅 장치를 포함할 수 있다. 또한, 상표 검색 서버 (200)는 단말기(100)의 프로세서 또는 데이터베이스(300)의 데이터 처리부에 설치된 신경망 시스템일 수 있다. 즉, 도 1에는 데이터베이스(300)와 상표 검색 서버(200)를 별도의 장치로 도시하였으나 하나의 장치일 수도 있다. The trademark search server 200 may include a separate cloud server or computing device. In addition, the trademark search server 200 may be a neural network system installed in the processor of the terminal 100 or the data processing unit of the database 300 . That is, although the database 300 and the trademark search server 200 are illustrated as separate devices in FIG. 1, they may be a single device.

데이터베이스(300)는 학습데이터, 상표의 특징 벡터 중 적어도 하나를 저장하도록 구성될 수 있다. 상표의 특징 벡터는 상표 검색 서버(200)를 학습시킨 이후 상표 데이터를 입력하여 얻어질 수 있다. 데이터베이스(300)는 단말기(100) 및 상표 검색 서버(200)와 통신하기 위한 통신 모듈과 데이터처리부를 포함할 수 있다. The database 300 may be configured to store at least one of learning data and a feature vector of a trademark. The trademark feature vector may be obtained by inputting trademark data after training the trademark search server 200 . The database 300 may include a communication module and a data processing unit for communicating with the terminal 100 and the trademark search server 200 .

도 2는 일 실시예에 따른 단말기(100)의 블록도이다. 2 is a block diagram of a terminal 100 according to an embodiment.

도 2를 참조하면, 단말기(100)는 입력부(110), 통신부(120), 메모리(130), 디스플레이(140), 및 프로세서(150)를 포함할 수 있다.Referring to FIG. 2 , the terminal 100 may include an input unit 110 , a communication unit 120 , a memory 130 , a display 140 , and a processor 150 .

입력부(110)를 통해 사용자는 단말기(100)의 각종 기능에 대한 설정, 실행 입력 등을 수행할 수 있다. 입력부(110)는 사용자 터치를 감지하는 터치 입력부(예를 들어, 터치 센서(touch sensor), 터치키(touch key), 물리적인 키(mechanical key) 등) 및 음성 입력을 감지하는 마이크로폰(microphone) 중 적어도 하나 이상을 포함하여, 사용자 입력을 감지할 수 있다.Through the input unit 110 , the user may perform setting and execution input for various functions of the terminal 100 . The input unit 110 includes a touch input unit (eg, a touch sensor, a touch key, a physical key, etc.) sensing a user's touch and a microphone sensing a voice input. A user input may be sensed by including at least one of them.

단말기(100)는 통신부(120)를 통해 상표 검색 서버(200) 및 데이터베이스(300)와 통신할 수 있다. 예를 들어, 통신부(120)의 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access)에 따라 구축된 네트워크를 이용할 수 있으나, 이에 한정하는 것은 아니며 향후 개발될 모든 전송 방식 표준을 포함할 수 있다.The terminal 100 may communicate with the trademark search server 200 and the database 300 through the communication unit 120 . For example, the communication method of the communication unit 120 is GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long) Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.), WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro A network constructed according to (Wireless Broadband) and WiMAX (World Interoperability for Microwave Access) may be used, but the present invention is not limited thereto, and may include all transmission method standards to be developed in the future.

메모리(130)는 단말기(100)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application), 단말기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 예를 들어, 메모리(130)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(130)는 인터넷(internet)상에서 상기 메모리(130)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.The memory 130 may store a plurality of application programs or applications driven in the terminal 100 , data for operation of the terminal 100 , and commands. For example, in terms of hardware, the memory 130 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and the memory 130 stores the memory 130 on the Internet. It may be a web storage that performs a function.

디스플레이(140)는 터치스크린, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.The display 140 includes a touch screen, a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), and a flexible display. It may include at least one of a flexible display and a three-dimensional display (3D display).

프로세서(150)는 단말기(100)의 각 구성요소를 제어하도록 구성된다. 예를 들어, 프로세서(150)는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 임의의 형태의 프로세서일 수 있다.The processor 150 is configured to control each component of the terminal 100 . For example, the processor 150 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), and controllers. ), micro-controllers, microprocessors, or any other type of processor for performing other functions.

도 3은 일 실시예에 따른 상표 검색 서버(200)의 블록도이다.3 is a block diagram of a trademark search server 200 according to an embodiment.

도 3을 참조하면, 상표 검색 서버(200)는 단말기(100) 및 데이터베이스(300)와 통신하는 통신부(310), 데이터를 처리하는 프로세서(330), 상표로부터 특징 벡터를 추출하는 인공 신경망을 저장하는 저장부(320)를 포함할 수 있다. 프로세서(330)는 인공 신경망을 불러와(retrieve) 실행할 수 있다. 인공 신경망은 제1 학습 모델과 제2 학습 모델을 포함할 수 있다. 일 실시예에서, 프로세서(330)는 각각의 구성을 제어하는 메인 프로세서와 신경망 구동시 필요한 연산을 수행하는 그래픽 프로세서(Graphics processing Unit, GPU)를 포함하도록 구성될 수 있다. Referring to FIG. 3 , the trademark search server 200 stores a communication unit 310 communicating with the terminal 100 and the database 300 , a data processing processor 330 , and an artificial neural network for extracting a feature vector from a trademark. It may include a storage unit 320 to The processor 330 may retrieve and execute the artificial neural network. The artificial neural network may include a first learning model and a second learning model. In an embodiment, the processor 330 may be configured to include a main processor that controls each configuration and a graphics processing unit (GPU) that performs an operation necessary for driving the neural network.

상표 검색 환경 검증Trademark Search Environment Validation

검증 데이터를 제작하여, 제1 학습 모델 및 제2 학습 각각에 검증 데이터를 입력하고 유사도를 측정하였다. The verification data was produced, the verification data was input to each of the first learning model and the second learning, and the degree of similarity was measured.

검증 데이터는 유사한 상표 이미지 쌍과 유사하지 않은 상표 이미지 쌍을 포함한다. 유사한 상표 이미지 쌍은 상표 거절이유 통지서를 이용하여 만들었다. 일 실시예에서, 거절이유 통지서의 거절이유를 파싱하여 거절 이유 중 “유사한 상표 이미지가 존재한다”가 존재하는 경우 유사 상표 이미지 쌍으로 분류하였다. 이에 의해 292개의 유사 이미지 쌍을 만들었다. 유사하지 않은 상표 이미지 쌍으로 제2 학습 데이터에서 랜덤하게 292개의 쌍을 추출하였다.The validation data includes pairs of similar and dissimilar trademark images. A pair of similar trademark images was created using the Notice of Grounds for Rejection. In one embodiment, the reason for rejection of the notification of reasons for rejection is parsed, and when "a similar trademark image exists" among the reasons for rejection exists, it is classified as a pair of similar trademark images. This made 292 similar image pairs. 292 pairs were randomly extracted from the second training data with dissimilar trademark image pairs.

제1 학습 모델에 검증 데이터를 입력하여 일정 임계 유사도를 기준으로 유사/비유사를 나누는 정확도를 구했다. The accuracy of dividing similarity/dissimilarity based on a certain threshold similarity was obtained by inputting verification data into the first learning model.

도 4a는 일 실시예에 따른 제1 학습 모델을 사용한 유사 이미지의 유사도 히스토그램이고 도 4b는 일실시예에 따른 제1 학습 모델을 사용한 랜덤 이미지의 유사도 히스토그램이다. 정확도(accuracy)는 80.9%, 재현율(recall)은 85.9%, 검출정확도(precision)는 78.2%, F1 스코어는 80.8%였다. 4A is a similarity histogram of a similarity image using the first learning model according to an embodiment, and FIG. 4B is a similarity histogram of a random image using the first learning model according to an embodiment. Accuracy was 80.9%, recall was 85.9%, precision was 78.2%, and F1 score was 80.8%.

도 5a는 일실시예에 따른 제1 학습 모델 및 제2 학습 모델을 사용한 유사 이미지의 유사도 히스토그램이고 도 5b는 일실시예에 따른 제1 학습 모델 및 제2 학습 모델을 사용한 랜덤 이미지의 유사도 히스토그램이다5A is a similarity histogram of a similarity image using a first learning model and a second learning model according to an embodiment, and FIG. 5B is a similarity histogram of a random image using the first learning model and a second learning model according to an embodiment.

제1 학습 모델 및 제2 학습 모델 각각에 검증 데이터를 입력하였다. 제2 학습 모델이 출력한 입력 이미지의 분류와 데이터베이스의 이미지들의 분류가 겹치는 비율에 따른 가중치를 제1 학습 모델의 출력인 이미지 유사도와 곱하는 방식이다. 사용자가 이미지를 입력하면 최종모델이 데이터베이스의 이미지들과의 유사도를 계산하여 유사도가 높은 순서대로 정렬되어 표시된다. 정확도(accuracy)는 83.2%, 재현율(recall)은 87.6%, 검출정확도(precision)는 80.2%, F1 스코어는 83.8%였다. 제1 학습 모델만을 사용한 것에 비해 약 3% 향상되었다.Verification data was input to each of the first learning model and the second learning model. This is a method of multiplying a weight according to the overlapping ratio of the classification of the input image output by the second learning model and the classification of the images in the database with the image similarity output of the first learning model. When the user inputs an image, the final model calculates the similarity with the images in the database, and displays them in order of the highest similarity. The accuracy was 83.2%, the recall was 87.6%, the precision was 80.2%, and the F1 score was 83.8%. About 3% improvement compared to using only the first learning model.

일 실시예에 따른 상표 검색 모델Trademark search model according to an embodiment

도 6은 일 실시예에 따른 상표 검색 모델(600)을 도시한 블록도이다. 상술한 명세서의 개시가 상표 검색 모델(600)에 적용된다. 도 6에 도시되지는 않았으나, 상표 검색 모델(600)을 실행하는 별도의 프로세서 및/또는 상표 검색 모델(600)을 저장하는 저장부가 있을 수 있다. 6 is a block diagram illustrating a trademark search model 600 according to an embodiment. The disclosure of the above specification applies to the trademark search model 600 . Although not shown in FIG. 6 , there may be a separate processor for executing the trademark search model 600 and/or a storage unit for storing the trademark search model 600 .

상표 검색 모델(600)에 검색 대상 상표가 입력되면, 상표 검색 모델(600)은 유사한 상표 이미지를 검색한다. 검색 대상 상표를 입력할 때, 사용자는 상표의 적어도 일부를 축소 또는 확대할 수 있다. 또는 사용자는 상표의 적어도 일부만을 검색 대상으로 선택할 수도 있다.When a search target trademark is input to the trademark search model 600 , the trademark search model 600 searches for a similar trademark image. When inputting a search target trademark, the user may reduce or enlarge at least a portion of the trademark. Alternatively, the user may select only at least a part of the trademark as a search target.

상표 검색 모델(600)은 제1 학습 모델(610) 및 제2 학습 모델(620)을 포함한다. 제1 학습 모델(610)은 상표에 포함된 도형의 유사도를 측정하도록 구성되고 학습되며, 인공 지능을 이용하는 신경망 모델을 포함할 수 있다. 제1 학습 모델(610)은 삼중 손실 함수로 학습되도록 구성될 수 있다. 제1 학습 모델(610)에 상표가 입력되면, 제1 학습 모델(610)은 입력된 상표(쿼리 상표 이미지)에 포함된 도형의 특징 벡터(이하 제1 특징 벡터), 및 데이터베이스에 기 저장된 상표의 특징 벡터(이하 제2 특징 벡터)와 제1 특징 벡터의 코사인 유사도 중 적어도 하나를 출력할 수 있다. The trademark search model 600 includes a first learning model 610 and a second learning model 620 . The first learning model 610 is configured and trained to measure the similarity of figures included in a trademark, and may include a neural network model using artificial intelligence. The first learning model 610 may be configured to be trained with a triple loss function. When a trademark is input to the first learning model 610, the first learning model 610 provides a feature vector (hereinafter, referred to as a first feature vector) of a figure included in the input trademark (query trademark image), and a trademark pre-stored in the database. At least one of a feature vector of (hereinafter, referred to as a second feature vector) and a cosine similarity of the first feature vector may be output.

제2 학습 모델(620)은 상표에 포함된 도형을 복수의 분류, 예를 들어 N개의 분류로 분류하도록 구성되고 학습되며, 인공 지능을 이용하는 신경망 모델을 포함할 수 있다. 제2 학습 모델(620)은 제1 학습 모델과 동일한 학습 데이터를 사용하여 학습되거나 상이한 학습 데이터를 사용하여 학습될 수 있다. 일 실시예에서, 제2 학습 모델은 객체 탐지 모델, 알고리즘, 신경망 중 적어도 하나를 포함할 수 있다. 제2 학습 모델(620)은 하나의 상표를 적어도 하나의 분류로 분류할 수 있다. The second learning model 620 is configured and trained to classify figures included in the trademark into a plurality of classifications, for example, N classifications, and may include a neural network model using artificial intelligence. The second learning model 620 may be trained using the same training data as the first learning model or may be trained using different training data. In an embodiment, the second learning model may include at least one of an object detection model, an algorithm, and a neural network. The second learning model 620 may classify one brand into at least one classification.

제2 학습 모델(620)은 메인 모델(622) 및 적어도 하나의 서브 모델(624, 626)을 포함할 수 있다. 메인 모델(622)은 N개로 분류된 학습 데이터를 사용하여 학습되고, 제1 및 제2 서브 모델(624, 626)은 상기 N개의 분류 중 선택된 M개의 분류에 해당하는 상표 데이터를 사용하여 학습될 수 있다. 제1 및 제2 서브 모델(624, 626)은 서로 상이한 분류에 해당하는 상표 데이터를 사용하여 학습될 수 있다. 제1 및 제2 서브 모델(624, 626)은 메인 모델(622)이 명확하게 분류하지 못한 상표 데이터를 재차 분류하기 위한 모델일 수 있다. 일 실시예에서, 제1 및 제2 서브 모델(624, 626)이 분류하는 분류는 미리 정해져 있을 수 있다. 예를 들어, 메인 모델(622)은 쿼리 이미지를 제1 내지 제100 분류로 분류하고, 제1 서브 모델(624)은 쿼리 이미지를 제1 내지 제4 분류로, 제2 서브 모델(626)은 제70 내지 제75 분류로 쿼리 이미지를 분류할 수 있다. 상기 분류는 예시적인 것에 불과하다. The second learning model 620 may include a main model 622 and at least one sub-model 624 and 626 . The main model 622 is trained using N classified training data, and the first and second sub-models 624 and 626 are to be trained using trademark data corresponding to M classifications selected from among the N classifications. can The first and second sub-models 624 and 626 may be trained using trademark data corresponding to different classifications. The first and second sub-models 624 and 626 may be models for re-classifying trademark data that the main model 622 has not clearly classified. In an embodiment, the classification classified by the first and second sub-models 624 and 626 may be predetermined. For example, the main model 622 classifies the query image into the first to 100th classifications, the first sub-model 624 classifies the query image into the first to fourth classifications, and the second sub-model 626 The query image may be classified into the 70th to the 75th classification. The above classification is merely exemplary.

예를 들어, 메인 모델(622)에 쿼리 상표 이미지가 입력되면, 메인 모델(622)은 쿼리 상표 이미지를 100개의 분류로 분류하고 상위 특정 개수의 분류를 출력한다. 즉, (100, 1) 형태의 특징 벡터와 [a1, ..., a100]의 예측된 확률값을 출력하고, 여기서 예측된 확률값 상위 3개의 분류를 출력할 수 있다. 메인 모델(622)은 특정값 이상을 갖는 분류만을 선택하여 출력할 수 있다 예를 들어, 예측된 확률값이 0.3 이상인 경우만 출력할 수 있고 이에 따라, 상위 3개가 모두 출력되지 않을 수도 있다. For example, when a query trademark image is input to the main model 622 , the main model 622 classifies the query trademark image into 100 classifications and outputs a top specific number of classifications. That is, a feature vector in the form of (100, 1) and a predicted probability value of [a 1 , ..., a 100 ] may be output, and the top three classifications of the predicted probability values may be output. The main model 622 may select and output only a classification having a specific value or more. For example, only a case in which the predicted probability value is 0.3 or more may be output, and accordingly, all of the top three may not be output.

제1 및 제2 서브 모델(624, 626)에 쿼리 상표 이미지가 입력되면, 제1 및 제2 서브 모델(624, 626)은 상위 특정 개수의 분류를 출력한다. 즉, 상위 2개의 분류를 출력할 수 있다. 일 실시예에서, 제1 및 제2 서브 모델(624, 626)은 특정값 이상을 갖는 분류만을 선택하여 출력할 수 있다. 예를 들어, 제1 서브 모델(624)는 제1 내지 제4 분류를 (4, 1) 형태의 특징 벡터와 [a1, ..., a4]의 예측된 확률값(분류값)으로, 제2 서브 모델(626)은 제70 내지 제75 분류를 (6, 1) 형태의 특징 벡터와 [a70, ..., a75]의 예측된 확률값(분류값)으로 출력할 수 있다. 제1 및 제2 서브 모델(624, 626)은 특정값 이상을 갖는 분류만을 선택하여 출력할 수 있다 예를 들어, 예측된 확률값이 0.3 이상인 경우만 출력할 수 있고 이에 따라, 상위 2개가 모두 출력되지 않을 수도 있다. When a query trademark image is input to the first and second sub-models 624 and 626 , the first and second sub-models 624 and 626 output a higher specific number of classifications. That is, the top two classifications can be output. In an embodiment, the first and second sub-models 624 and 626 may select and output only a classification having a specific value or more. For example, the first sub-model 624 uses the first to fourth classifications as feature vectors of the form (4, 1) and predicted probability values (classification values) of [a 1 , ..., a 4 ], The second sub-model 626 may output the 70th to 75th classifications as feature vectors of the form (6, 1) and predicted probability values (classification values) of [a 70 , ..., a 75 ]. The first and second sub-models 624 and 626 can select and output only the classification having a specific value or more. For example, only when the predicted probability value is 0.3 or more, it can be output, and accordingly, the top two are all output. it may not be

일 실시예에서, 메인 모델(622)이 출력한 분류 중 어느 하나가 제1 및 제2 서브 모델(624, 626)이 분류하는 분류에 해당하는 경우, 제1 및 제2 서브 모델(624, 626)에 쿼리 상표 이미지가 입력되어 제1 및 제2 서브 모델(624, 626)은 쿼리 상표 이미지를 한 번 더 분류한다. In one embodiment, when any one of the classifications output by the main model 622 corresponds to the classification classified by the first and second sub-models 624 and 626, the first and second sub-models 624 and 626 ), the query trademark image is input, and the first and second sub-models 624 and 626 classify the query trademark image once more.

예를 들어, 메인 모델(622)이 출력한 분류가 제2 분류, 제20 분류, 제55 분류([A2, A20, A55])일 수 있다. 제2 분류가 제1 서브 모델(624)이 분류하는 분류이므로, 쿼리 상표 이미지는 제1 서브 모델(624)에 입력되고 제1 내지 제4 분류 중 적어도 하나의 분류로 분류된다. 예를 들어, 쿼리 상표 이미지는 제1 서브 모델(624)에 의해 제1 분류 및 제4 분류([A1, A4])로 분류될 수 있다. 이에 따라, 제2 분류는 제1 분류 및 제4 분류로 대체된다. (다만, 제1 분류 및 제4 분류 중 특정값 이상인 분류가 선택될 수 있다.) 따라서, 제2 학습 모델(620)은 쿼리 상표 이미지를 제1 분류, 제4 분류, 제20 분류, 제55 분류([A1, A4, A20, A55])로 분류할 수 있다. For example, the classification output by the main model 622 may be the second classification, the twentieth classification, and the 55th classification ([A2, A20, A55]). Since the second classification is a classification classified by the first sub-model 624 , the query trademark image is input to the first sub-model 624 and classified as at least one of the first to fourth classifications. For example, the query trademark image may be classified into a first classification and a fourth classification ([A1, A4]) by the first sub-model 624 . Accordingly, the second classification is replaced by the first classification and the fourth classification. (However, a classification greater than or equal to a specific value among the first classification and the fourth classification may be selected.) Accordingly, the second learning model 620 applies the query trademark image to the first classification, the fourth classification, the 20th classification, and the 55th classification. It can be classified by classification ([A1, A4, A20, A55]).

상표 검색 모델(600)은 제1 학습 모델(610)이 출력하는 제2 특징 벡터와 제1 특징 벡터의 코사인 유사도 및 제2 학습 모델(620)이 출력하는 분류에 따른 가중치에 기초하여 최종 상표 유사도를 계산하고, 이에 따라 상표 이미지의 최종 유사도를 산출한다. 일 실시예에서 제2 학습 모델(620)이 예측한 입력 이미지의 분류와 데이터베이스의 이미지들의 분류가 겹치는 개수을 고려하여 가중치를 결정할 수 있다. The trademark search model 600 determines the final trademark similarity based on the weight according to the classification output by the second learning model 620 and the cosine similarity between the second feature vector and the first feature vector output by the first learning model 610 . and calculates the final similarity of the trademark image accordingly. In an embodiment, the weight may be determined in consideration of the number of overlapping the classification of the input image predicted by the second learning model 620 and the classification of the images in the database.

예를 들어, 제2 학습 모델(620)이 예측한 입력 이미지의 분류와 데이터베이스의 이미지들의 분류가 겹치는 개수가 3개 이상일시 1점, 2개일시 0.95점, 1개일시 0.9점, 0개일시 0.8점과 같이 가중치를 정할 수 있다. 이러한 가중치는 최종 유사 상표 선정 결과에 기초하여 변경될 수 있다. 이러한 가중치는 예시적인 것이며, 변경 가능하다. For example, if the number of overlapping the classification of the input image predicted by the second learning model 620 and the classification of images in the database is 3 or more, 1 point, 2 times, 0.95 points, 1 time, 0.9 points, 0 times A weight can be set, such as 0.8 points. These weights may be changed based on the final similar trademark selection result. These weights are exemplary and can be changed.

또한, 출력된 분류(예측된 분류)의 개수를 고려하여 보정을 수행하여 가중치를 조정할 수 있다. 예를 들어, 출력된 분류가 적은 경우에 분류가 정확하게 된 것으로 판단할 수 있어 보정 상수를 가중치에 더해줄 수 있다.In addition, the weight may be adjusted by performing correction in consideration of the number of output classifications (predicted classifications). For example, when the number of output classifications is small, it can be determined that the classification is correct, and a correction constant can be added to the weight.

예를 들어, 제1 쿼리 이미지에 대해 제2 학습 모델(620)이 출력한 분류가 제1 분류, 제2 분류, 제3 분류([A1, A2, A3])이고 데이터베이스에 저장된 상표 이미지의 분류가 제1 분류, 제2 분류, 제3 분류([A1, A2, A3]) 인 경우, 겹치는 개수는 3개이고 가중치는 1이다.For example, the classification output by the second learning model 620 for the first query image is the first classification, the second classification, and the third classification ([A1, A2, A3]), and the classification of the trademark image stored in the database is the first classification, the second classification, and the third classification ([A1, A2, A3]), the number of overlapping is three and the weight is one.

제2 쿼리 이미지에 대해 제2 학습 모델(620)이 출력한 분류가 제1 분류, 제2 분류([A1, A2])이고 데이터베이스에 저장된 상표 이미지의 분류가 제1 분류, 제2 분류([A1, A2]) 인 경우, 겹치는 개수는 2개이므로 가중치는 0.95이지만 모든 분류가 겹치므로 가중치는 위의 경우와 같이 1이 되어야한다고 판단할 수 있다. 따라서, 이때는 가중치를 보정하여 1로 조정할 수 있다. The classification output by the second learning model 620 for the second query image is the first classification, the second classification ([A1, A2]), and the classification of the trademark image stored in the database is the first classification, the second classification ([A1, A2]) A1, A2]), since the number of overlaps is 2, the weight is 0.95, but since all classifications overlap, it can be determined that the weight should be 1 as in the case above. Therefore, in this case, the weight can be adjusted to 1 by correcting the weight.

즉, 제2 학습 모델(620)이 출력한 쿼리 이미지의 분류 개수에 따라서 겹치는 개수에 대한 가중치가 달라질 수 있다. That is, the weight of the overlapping number may vary according to the number of classifications of the query image output by the second learning model 620 .

또, 분류가 겹치는 개수가 동일하더라도 가중치를 조정할 경우가 있을 수 있다. 예를 들어, 쿼리 이미지에 대해 제2 학습 모델(620)이 출력한 분류가 제1 분류, 제2 분류([A1, A2])이고 데이터베이스에 저장된 상표 이미지의 분류가 제1 분류, 제2 분류, 제4 분류([A1, A2, A4]) 인 경우, 겹치는 개수는 2개이고 가중치는 0.95이다. 반면 데이터베이스에 저장된 다른 상표 이미지의 분류가 제1 분류, 제2 분류([A1, A2])인 경우, 겹치는 개수는 위와 같이 동일하게 2개이지만 모든 분류가 겹치기 때문에 유사도가 더 높고 따라서 가중치는 0.95보다 크다고 판단할 수 있다. 따라서, 이때 가중치를 보정하여(보정 상수를 더해), 가중치를 1로 조정할 수 있다. Also, even if the number of overlapping classifications is the same, there may be cases in which the weights are adjusted. For example, the classification output by the second learning model 620 for the query image is the first classification and the second classification ([A1, A2]), and the classification of the trademark image stored in the database is the first classification and the second classification , for the fourth classification ([A1, A2, A4]), the number of overlaps is 2 and the weight is 0.95. On the other hand, if the classification of other trademark images stored in the database is the first classification and the second classification ([A1, A2]), the number of overlaps is the same as above, but since all classifications overlap, the similarity is higher, and therefore the weight is 0.95 can be considered larger. Accordingly, by correcting the weight (adding a correction constant) at this time, the weight can be adjusted to 1.

이와 같이, 가중치는 제2 학습 모델(620)이 출력한 분류의 개수 및/또는 비교대상이 되는 데이터베이스에 저장된 상표 이미지의 분류의 개수를 고려하여 보정될 수 있다In this way, the weight may be corrected in consideration of the number of classifications output by the second learning model 620 and/or the number of classifications of trademark images stored in a database to be compared.

결정된 가중치를 제1 학습 모델(610)의 코사인 유사도와 곱하고 이를 이용하여 최종적인 유사도 값을 구할 수 있다. 제2 학습 모델은 제1 학습 모델을 보완하는 모델일 수 있다. 많은 요부를 갖지만 각 요부가 상표의 유사성에 큰 영향을 미치지 못하는 경우를 제외하도록 가중치 및 보정 상수를 적절히 조정할 수 있다. The determined weight is multiplied by the cosine similarity of the first learning model 610, and a final similarity value can be obtained using this. The second learning model may be a model that complements the first learning model. Weights and correction constants can be appropriately adjusted to exclude cases where there are many features, but each feature does not significantly affect the similarity of the trademark.

일 실시예에서, 상표 검색 모델(600)이 코사인 유사도 및 최종 유사도를 산출할 수도 있지만, 제1 학습 모델(610)이 제1 특징 벡터를 출력하고 제2 학습 모델(620)은 분류만을 수행하고, 별도의 프로세서에서 코사인 유사도 및 최종 유사도를 산출할 수도 있다. In one embodiment, the trademark search model 600 may calculate the cosine similarity and the final similarity, but the first learning model 610 outputs the first feature vector and the second learning model 620 performs only classification and , cosine similarity and final similarity may be calculated in a separate processor.

일 실시예에 따른 상표 검색 방법A trademark search method according to an embodiment

도 7은 일 실시예에 따른 상표 검색 방법(700)을 도시한 순서도이다. 상표 검색 방법(700)은 상술한 상표 검색 모델(600)에 의해 수행될 수 있다. 7 is a flowchart illustrating a trademark search method 700 according to an embodiment. The trademark search method 700 may be performed by the aforementioned trademark search model 600 .

검색 대상 상표(쿼리 이미지)를 상표 검색 모델(600)에 입력하면 이미지가 유사한 상표의 검색이 시작된다. 본 발명의 일 실시예에서, 쿼리 이미지는 제1 학습 모델(610) 및 제2 학습 모델(620)에 각각 입력된다(S705, S710). 사용자는 쿼리 이미지를 입력할 때, 전체 이미지를 입력할 수 있고, 쿼리 이미지의 적어도 일부를 축소, 확대, 선택하여 입력할 수 있다. When a search target trademark (query image) is input into the trademark search model 600, a search for a trademark having a similar image is started. In an embodiment of the present invention, the query image is input to the first learning model 610 and the second learning model 620, respectively (S705 and S710). When inputting a query image, the user may input the entire image, and may reduce, enlarge, or select at least a portion of the query image to input.

쿼리 이미지의 특징 벡터와 데이터베이스에 저장된 상표의 특징 벡터의 코사인 유사도를 계산한다(S720). 보다 자세히, 쿼리 이미지의 특징 벡터를 추출하고, 데이터베이스에 기 저장된 상표의 특징 벡터를 불러와, 쿼리 이미지의 특징 벡터와 데이터베이스에 저장된 상표의 특징 벡터의 코사인 유사도를 계산한다. The cosine similarity between the feature vector of the query image and the feature vector of the trademark stored in the database is calculated (S720). In more detail, the feature vector of the query image is extracted, the feature vector of the trademark previously stored in the database is called, and the cosine similarity between the feature vector of the query image and the feature vector of the trademark stored in the database is calculated.

제2 학습 모델(620)에 입력된 쿼리 이미지는 메인 모델에 먼저 입력된다(S715). 메인 모델(622)은 입력된 쿼리 이미지를 분류하고, 메인 모델(622)이 출력한 분류가 서브 모델(624, 626) 중 적어도 하나가 분류하는 분류에 포함하는지 판정한다(S725). The query image input to the second learning model 620 is first input to the main model (S715). The main model 622 classifies the input query image, and determines whether the classification output by the main model 622 is included in the classification classified by at least one of the sub-models 624 and 626 ( S725 ).

메인 모델(622)이 출력한 분류 중 적어도 어느 하나가 서브 모델(624, 626)이 분류하는 분류에 포함되면, 해당 서브 모델(624, 626)에 쿼리 이미지를 입력한다(S730). 메인 모델(622)의 출력 결과와 서브 모델(624, 626)의 출력 결과에 기초하여 쿼리 이미지의 분류를 예측한다(S735). 일 실시예에서, 메인 모델(622)이 출력한 분류와 서브 모델(624, 626)이 분류하는 분류가 중첩되는 경우, 중첩된 분류는 서브 모델(624, 626)이 출력한 분류로 대체될 수 있다.When at least one of the classifications output by the main model 622 is included in the classification classified by the sub-models 624 and 626, a query image is input to the corresponding sub-models 624 and 626 (S730). Classification of the query image is predicted based on the output result of the main model 622 and the output result of the sub-models 624 and 626 ( S735 ). In an embodiment, when the classification output by the main model 622 and the classification classified by the sub-models 624 and 626 overlap, the overlapped classification may be replaced with the classification output by the sub-models 624 and 626. have.

제2 학습 모델(620)이 예측한 쿼리 이미지의 분류와 데이터베이스의 이미지들의 분류를 각각 비교한다(S740). 제2 학습 모델(620)이 예측한 분류와 데이터베이스에 저장된 이미지 각각의 분류가 중첩되는 개수를 구할 수 있다. The classification of the query image predicted by the second learning model 620 is compared with the classification of the images in the database (S740). The number of overlapping of the classification predicted by the second learning model 620 and the classification of each image stored in the database may be obtained.

제2 학습 모델(620)이 예측한 분류와 데이터베이스에 저장된 이미지 각각의 분류가 중첩되는 개수에 기초하여 가중치를 계산한다(S745). 일 실시예에서, 제2 학습 모델(620)이 예측한 분류의 개수 및/또는 데이터베이스에 저장된 이미지의 분류의 개수에 기초하여 상기 가중치를 보정할 수 있다. A weight is calculated based on the number of overlapping the classification predicted by the second learning model 620 and the classification of each image stored in the database (S745). In an embodiment, the weight may be corrected based on the number of classifications predicted by the second learning model 620 and/or the number of classifications of images stored in the database.

코사인 유사도 및 S745에서 계산한 가중치에 기초하여 최종 유사도를 계산한다(S750). A final similarity is calculated based on the cosine similarity and the weight calculated in S745 (S750).

최종 유사도에 기초하여 유사 상표를 디스플레이한다(S755).Similar trademarks are displayed based on the final similarity (S755).

일 실시예에 따른 데이터베이스 제작Database production according to an embodiment

도 8은 일 실시예에 따른 데이터베이스 제작 방법(800)을 도시한 순서도이다. 데이터베이스 제작 방법(800)은 상술한 상표 검색 모델(600)을 학습시키는 방법을 포함할 수 있다. 8 is a flowchart illustrating a method 800 for creating a database according to an exemplary embodiment. The database production method 800 may include a method of training the above-described trademark search model 600 .

상표 검색 모델을 학습시키기 위한 학습 데이터를 제작한다(S805). 일 실시예에서, 학습 데이터는 키프리스 플러스(plus.kipris.or.kr)로부터 제공받아, 중복 상표를 제거하고, 문자만으로 이루어진 상표를 제거하고, 복합 상표에서 문자를 구분하여 이미지(도형) 상표로 분류된 상표만을 추출한다. 추출한 상표 데이터를 N개의 분류로 구분하고 랜덤으로 특정 개수의 상표를 각 분류마다 추출하여 N분류로 분류된 학습 데이터를 제작한다. Training data for training the trademark search model is produced (S805). In one embodiment, the learning data is provided from Cypris Plus (plus.kipris.or.kr), to remove duplicate trademarks, to remove trademarks consisting of only characters, and to distinguish characters from composite trademarks to image (figure) trademarks Only trademarks classified as The extracted trademark data is divided into N classifications, and a specific number of trademarks are randomly extracted for each classification to produce learning data classified into N classifications.

제작된 학습 데이터를 상표 검색 모델(600)에 입력한다. 즉, 제1 학습 모델(610) 및 제2 학습 모델(620)에 학습 데이터를 입력한다(S810, S815). 제1 학습 모델(610)은 삼중 손실 함수를 통해 학습된다. N개의 분류 중 제1 분류로부터 앵커 이미지(anchor image)와 긍정 이미지(positive image)를 선택하고, 상기 N개의 분류 중 상기 제1 분류와 상이한 제2 분류에서 부정 이미지(negative image)를 선택하여 제1 학습 모델을 학습시킨다.The produced learning data is input to the trademark search model 600 . That is, learning data is input to the first learning model 610 and the second learning model 620 ( S810 and S815 ). The first learning model 610 is trained through a triple loss function. An anchor image and a positive image are selected from a first classification among N classifications, and a negative image is selected from a second classification different from the first classification among the N classifications. 1 Train the learning model.

제1 학습 모델의 학습이 완료되면, 이미지(도형) 상표로 분류된 상표 데이터를 제1 학습 모델에 입력한다(S820). 이에 따라, 각 상표의 특징 벡터를 추출할 수 있다. When the learning of the first learning model is completed, trademark data classified as an image (figure) trademark is input to the first learning model (S820). Accordingly, it is possible to extract the feature vector of each brand.

제2 학습 모델(620)은 메인 모델(622) 및 적어도 하나의 서브 모델(624, 626)을 포함할 수 있다. 학습 데이터는 메인 모델(622)에 입력된다(S825). 메인 모델은 학습 데이터를 N개의 분류로 분류하는 학습을 수행한다. 적어도 하나의 프로세서가 학습 결과를 확인한다(S830). The second learning model 620 may include a main model 622 and at least one sub-model 624 and 626 . The training data is input to the main model 622 (S825). The main model performs learning by classifying the training data into N classifications. At least one processor checks the learning result (S830).

학습결과에 기초하여 오버 피팅 여부를 확인한다(S835). 일 실시예에서, N개의 분류가 정확하게 수행되는지 확인한다. N개의 크기가 클수록 분류의 정확성이 떨어질 수 있다. 오버 피팅의 일 예로, N개의 분류 중 특정 분류들의 분류 정확성이 떨어지는 경우가 있을 수 있다.It is checked whether overfitting is based on the learning result (S835). In one embodiment, it is checked that N classifications are performed correctly. As the size of the N number increases, the accuracy of classification may decrease. As an example of overfitting, there may be a case in which classification accuracy of specific classifications among N classifications is low.

예를 들어, N개의 분류의 특징 벡터는 (N, 1)의 모양으로 나타나고 [a1, ... aN]의 값을 가질 수 있다. 분류가 정확히 이뤄지는 경우, 해당 분류에 해당하는 값(이하 분류값)이 크게 나타난다. 예를 들어 제1 분류에 속하는 상표 이미지는 [a1, ... aN] 중 a1의 분류값이 가장 크게 나타난다. 그러나, 분류값의 차이가 특정값 이상이 아니거나, 분류가 어려울 정도로 유사하거나 다른 분류에 속하는 값이 더 클 수 있다. For example, the feature vectors of N classifications may have a shape of (N, 1) and have values of [a 1 , ... a N ]. When classification is performed correctly, a value corresponding to the classification (hereinafter referred to as a classification value) appears large. For example, in the trademark image belonging to the first classification, the classification value of a 1 is the largest among [a 1 , ... a N ]. However, the difference between the classification values may not be greater than a specific value, or a value belonging to a different classification may be larger than a specific value or similar enough to be difficult to be classified.

예를 들어, 제1 분류에 속하는 상표 이미지는 [a1, ... aN] 중 a1의 값이 가장 크게 나타나야 하지만 다른 분류값이 크게 나타날 수 있다. 예를 들어, 제1 분류에 속한 학습 데이터의 학습 결과, a1대신 a6, a10, a20 등 다른 분류에 해당하는 값이 미리 정한 특정값보다 큰 경우 또는 a6, a10, a20값이 a1보다는 작지만 특정값 보다 큰 경우, a1, a6, a10, a20의 값이 유사하다고 판단될 수 있다. 이 경우, a1, a6, a10, a20의 값들로 제1 분류를 정확히 분류할 수 없으므로 제1 분류, 제6 분류, 제10 분류, 제20 분류에 해당하는 학습데이터를 서브 모델에 입력한다(S840). 이에 따라, 제1 분류, 제6 분류, 제10 분류, 제20 분류를 정확히 구분하는 서브 모델을 학습시킨다(S840). For example, in the trademark image belonging to the first classification, the value of a 1 among [a 1 , ... a N ] should appear the largest, but other classification values may appear large. For example, when a value corresponding to another classification, such as a 6 , a 10 , a 20 , etc. instead of a 1 , as a learning result of the training data belonging to the first classification is greater than a predetermined specific value, or a 6 , a 10 , a 20 When the value is smaller than a 1 but greater than a specific value, it may be determined that the values of a 1 , a 6 , a 10 , and a 20 are similar. In this case, since the first classification cannot be accurately classified with the values of a 1 , a 6 , a 10 , and a 20 , the training data corresponding to the first classification, the sixth classification, the tenth classification, and the 20th classification are applied to the sub-model. input (S840). Accordingly, a sub-model for accurately classifying the first classification, the sixth classification, the tenth classification, and the twentieth classification is trained (S840).

제1 분류, 제6 분류, 제10 분류, 제20 분류가 구분이 안되어서, 제6 분류의 학습 결과를 검토한 결과 제6 분류의 분류값이 다른 분류의 분류값과 구분이 안될 수 있다. 예를 들어, 제6 분류의 학습 결과 a6 대신 a30이 큰 값이 나오거나 특정값 이상인 경우 제30 분류도 제1 분류, 제6 분류, 제10 분류, 제20 분류에 해당하는 학습 데이터에 추가하여 서브 모델을 학습시키기 위한 학습 데이터가 될 수 있다. 또는 제6 분류와 제30 분류를 구분하는 추가적인 서브 모델을 학습시킬 수도 있다. The first classification, the sixth classification, the tenth classification, and the 20th classification cannot be distinguished, and as a result of examining the learning results of the sixth classification, the classification value of the sixth classification may not be distinguished from the classification values of other classifications. For example, if a 30 is a large value instead of a 6 as a result of the learning of the 6th classification or is greater than a specific value, the 30th classification is also applied to the training data corresponding to the 1st, 6th, 10th, and 20th classifications. In addition, it can be training data for training the sub-model. Alternatively, an additional sub-model for classifying the sixth classification and the thirtieth classification may be trained.

오버 피팅에 따라 적어도 하나의 서브 모델을 학습시키고, 최종적으로 제2 학습 모델에 상표 데이터를 입력한다(S845). 제2 학습 모델은 상표 데이터로부터 각 상표에 해당하는 분류를 출력한다. At least one sub-model is trained according to overfitting, and finally, trademark data is input to the second learning model ( S845 ). The second learning model outputs a classification corresponding to each brand from the trademark data.

제1 학습 모델의 학습이 추출한 각 상표의 특징 벡터 및 제2 학습 모델이 출력한 분류를 데이터베이스가 수신하여 데이터베이스가 제작된다(S850).The database receives the feature vectors of each brand extracted by the learning of the first learning model and the classification output by the second learning model, and the database is produced (S850).

이상에서 설명된 장치 및 방법은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus and method described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 해당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment 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. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to a person skilled in the art of computer software. Examples of the computer-readable recording medium 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 floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

컴퓨팅 장치는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)는 워크스테이션, 서버컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨팅 장치에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함한다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(652) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(654)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.A computing device may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s), via wired and/or wireless communications. The remote computer(s) may be workstations, server computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer devices, or other common network nodes, typically comprising the components described for the computing device. includes many or all of The logical connections shown include wired/wireless connections to a local area network (LAN) 652 and/or a larger network, eg, a wide area network (WAN) 654 . Such LAN and WAN networking environments are common in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a worldwide computer network, for example, the Internet.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

검색하고자 하는 상표와 유사한 상표를 정확도 있게 검색할 수 있는 상표 검색 모델 및 학습 방법을 제공할 수 있다.It is possible to provide a trademark search model and a learning method that can accurately search for a trademark similar to a trademark to be searched.

100: 단말기 110: 입력부
120: 통신부 130: 메모리
140: 디스플레이 150: 프로세서
200: 상표 검색 서버 300: 데이터베이스
310: 통신부 320: 저장부
330: 프로세서 600: 상표 검색 모델
610: 제1 학습 모델 620: 제2 학습 모델
622: 메인 모델 624: 제1 서브 모델
626: 제2 서브 모델
100: terminal 110: input unit
120: communication unit 130: memory
140: display 150: processor
200: trademark search server 300: database
310: communication unit 320: storage unit
330: processor 600: trademark search model
610: first learning model 620: second learning model
622: main model 624: first sub-model
626: second sub model

Claims (12)

하나 이상의 프로세서에 의해 실행되는 제1 학습 모델이 쿼리 이미지를 수신하는 단계;
상기 제1 학습 모델이 상기 쿼리 이미지의 전체 외형에 관한 제1 특징 벡터를 추출하는 단계;
상기 하나 이상의 프로세서에 의해, 데이터베이스에 저장된 상표 이미지의 제2 특징 벡터와 상기 제1 특징 벡터의 유사도를 계산하는 단계;
상기 하나 이상의 프로세서에 의해 실행되는 제2 학습 모델이 상기 쿼리 이미지를 수신하는 단계 - 상기 제2 학습 모델은 메인 모델 및 제1 서브 모델을 포함하고, 상기 메인 모델은 상기 쿼리 이미지를 N개의 분류로 분류하도록 구성되고, 상기 제1 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 M개의 분류로 분류하도록 구성되고, 상기 메인 모델 및 제1 서브 모델이 분류하는 분류는 동일 계층의 분류임;
상기 제2 학습 모델이 상기 쿼리 이미지의 부분 이미지에 기초하여 상기 쿼리 이미지가 해당하는 적어도 하나의 분류를 출력하는 단계;
상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 제2 학습 모델의 분류에 기초하여 상기 데이터베이스에 저장된 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계; 및
상기 선택된 이미지를 제공하는 단계를 포함하고,
상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는, 상기 메인 모델이 상기 쿼리 이미지에 기초하여 제1 분류를 제공하는 단계; 및 상기 제1 서브 모델이 상기 쿼리 이미지에 기초하여 제2 분류를 제공하는 단계를 포함하는 상표 검색 방법.
receiving, by a first learning model executed by one or more processors, a query image;
extracting, by the first learning model, a first feature vector related to the overall appearance of the query image;
calculating, by the one or more processors, a degree of similarity between a second feature vector of a trademark image stored in a database and the first feature vector;
receiving, by a second learning model executed by the one or more processors, the query image, wherein the second learning model includes a main model and a first sub-model, wherein the main model divides the query image into N classifications. is configured to classify, the first sub-model is configured to classify the query image into M classifications selected from among the N classifications, and the classification by the main model and the first sub-model is a classification of the same layer;
outputting, by the second learning model, at least one classification corresponding to the query image based on the partial image of the query image;
selecting at least one image similar to the query image from among trademark images stored in the database based on the similarity between the second feature vector and the first feature vector and the classification of the second learning model; and
providing the selected image;
The outputting of the at least one classification by the second learning model may include: providing, by the main model, a first classification based on the query image; and providing, by the first sub-model, a second classification based on the query image.
제1항에 있어서,
상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는,
상기 제1 분류를 상기 제2 분류로 대체하는 단계를 더 포함하는, 상표 검색 방법.
According to claim 1,
The step of outputting the at least one classification by the second learning model comprises:
and replacing the first classification with the second classification.
상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는,
상기 하나 이상의 프로세서에 의해, 상기 제1 분류와 상기 제2 분류가 상이하다고 판단하는 것에 대응하여, 상기 제1 분류를 상기 제2 분류로 대체하는 단계를 더 포함하는, 상표 검색 방법.
The step of outputting the at least one classification by the second learning model comprises:
and in response to determining, by the one or more processors, that the first classification and the second classification are different, replacing the first classification with the second classification.
제1항에 있어서,
상기 제2 학습 모델은 제2 서브 모델을 더 포함하고,
상기 제2 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 K개의 분류로 분류하도록 구성 - 상기 선택된 M개의 분류와 상기 선택된 K개의 분류는 상이하고, 상기 제2 서브 모델이 분류하는 분류는 상기 메인 모델 및 상기 제1 서브 모델이 분류하는 분류와 동일 계층의 분류임 - 되어,
상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는, 상기 제2 서브 모델이 상기 쿼리 이미지에 기초하여 제3 분류를 제공하는 단계를 더 포함하는, 상표 검색 방법.
According to claim 1,
The second learning model further comprises a second sub-model,
the second sub-model is configured to classify the query image into K classifications selected from among the N classifications, wherein the selected M classifications and the selected K classifications are different, and the classification classified by the second sub-model is the It is a classification of the same layer as the classification classified by the main model and the first sub-model.
The step of outputting the at least one classification by the second learning model further comprises providing, by the second sub-model, a third classification based on the query image.
제1항에 있어서,
상기 제2 학습 모델이 상기 적어도 하나의 분류를 출력하는 단계는,
상기 제1 서브 모델이 상기 쿼리 이미지에 기초하여 상기 제2 분류를 제공하는 단계 이전에, 상기 하나 이상의 프로세서에 의해, 상기 제1 분류가 상기 M개의 분류에 포함되는지 판정하는 단계; 및 상기 제1 분류가 상기 M개의 분류에 포함된다는 판정에 대응하여, 상기 제1 서브 모델이 상기 쿼리 이미지에 기초하여 상기 제2 분류를 제공하는 단계를 포함하는, 상표 검색 방법.
According to claim 1,
The step of outputting the at least one classification by the second learning model comprises:
before the first sub-model providing the second classification based on the query image, determining, by the one or more processors, whether the first classification is included in the M classifications; and in response to determining that the first classification is included in the M classifications, the first sub-model providing the second classification based on the query image.
제1항에 있어서,
상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 적어도 하나의 분류에 기초하여 상기 데이터베이스에 저장된 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계는,
상기 적어도 하나의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수를 판정하는 단계,
상기 겹치는 분류의 개수에 따른 가중치를 불러오는 단계, 및
상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 가중치의 곱에 기초하여 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계를 포함하는, 상표 검색 방법.
According to claim 1,
selecting at least one image similar to the query image from among trademark images stored in the database based on the similarity between the second feature vector and the first feature vector and the at least one classification,
determining the number of overlapping classifications by comparing the at least one classification with the classifications of trademark images stored in the database;
retrieving weights according to the number of overlapping classifications; and
and selecting at least one image similar to the query image based on a product of a similarity between the second feature vector and the first feature vector and the weight.
제1항에 있어서,
상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 적어도 하나의 분류에 기초하여 상기 데이터베이스에 저장된 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계는,
상기 적어도 하나의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수를 판정하는 단계,
상기 적어도 하나의 분류의 개수 및 상기 데이터 베이스에 저장된 상표 이미지의 분류의 개수 중 적어도 하나와 상기 겹치는 분류의 개수에 기초하여 가중치를 불러오는 단계, 및
상기 가중치와 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도에 기초하여 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하는 단계를 포함하는, 상표 검색 방법.
According to claim 1,
selecting at least one image similar to the query image from among trademark images stored in the database based on the similarity between the second feature vector and the first feature vector and the at least one classification,
determining the number of overlapping classifications by comparing the at least one classification with the classifications of trademark images stored in the database;
retrieving a weight based on the number of classifications overlapping with at least one of the number of the at least one classification and the number of classifications of the trademark image stored in the database; and
and selecting at least one image similar to the query image based on the weight and the similarity between the second feature vector and the first feature vector.
상표 검색 모델을 저장하도록 구성된 스토리지; 및
상기 상표 검색 모델을 실행하도록 구성된 프로세서를 포함하는 상표 검색 장치로,
상기 상표 검색 모델은 제1 학습 모델 및 제2 학습 모델을 포함 - 상기 제1 학습 모델은 쿼리 이미지로부터 제1 특징 벡터를 추출하여 상기 프로세서가 데이터베이스에 저장된 상표 이미지의 제2 특징 벡터와의 유사도를 구할 수 있도록 구성되고, 제2 학습 모델은 상기 쿼리 이미지의 부분 이미지에 기초하여 상기 부분 이미지가 해당하는 복수의 분류를 출력하도록 구성되고 - 하고,
상기 프로세서는 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 복수의 분류에 기초하여 상기 데이터베이스에 저장된 상기 상표 이미지 중 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하도록 구성된 상표 검색 장치에 있어서,
상기 제2 학습 모델은 메인 모델, 제1 서브 모델 및 제2 서브 모델을 포함하고, 상기 메인 모델은 상기 쿼리 이미지를 N개의 분류로 분류하도록 구성되고, 상기 제1 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 M개의 분류로 분류하도록 구성되고, 상기 제2 서브 모델은 상기 쿼리 이미지를 상기 N개의 분류 중 선택된 K개의 분류로 분류하도록 구성 - 상기 선택된 M개의 분류와 상기 선택된 K개의 분류는 상이함 - 되며, 상기 메인 모델, 상기 제1 서브 모델 및 상기 제2 서브 모델이 분류하는 분류는 동일 계층의 분류인, 상표 검색 장치.
storage configured to store the trademark search model; and
a trademark retrieval device comprising a processor configured to execute the trademark retrieval model;
The trademark retrieval model includes a first learning model and a second learning model, wherein the first learning model extracts a first feature vector from a query image so that the processor determines the similarity with a second feature vector of the trademark image stored in the database. configured to obtain, the second learning model is configured to output a plurality of classifications corresponding to the partial images based on the partial images of the query image;
In the trademark search apparatus, the processor is configured to select at least one image similar to the query image from among the trademark images stored in the database based on a degree of similarity between the second feature vector and the first feature vector and the plurality of classifications,
The second learning model includes a main model, a first sub-model and a second sub-model, the main model is configured to classify the query image into N classifications, and the first sub-model divides the query image into the N classifications. is configured to classify into M classifications selected from among N classifications, and the second sub-model is configured to classify the query image into K classifications selected from among the N classifications - The selected M classifications and the selected K classifications are different - and the classification classified by the main model, the first sub-model, and the second sub-model is a classification of the same layer.
제8항에 있어서,
상기 메인 모델은 상기 쿼리 이미지에 기초하여 제1 분류를 제공하고,
상기 하나 이상의 프로세서는, 상기 제1 분류가 상기 선택된 M개 또는 상기 선택된 K개의 분류 중 어느 하나에 포함되는지 판정하도록 구성되고;
상기 제 서브 모델 또는 상기 제2 서브 모델은, 상기 제1 분류가 상기 선택된 M개 또는 상기 선택된 K개의 분류에 포함된다는 판정에 대응하여 상기 쿼리 이미지에 기초하여 제2 분류를 제공하도록 구성된, 상표 검색 장치.
9. The method of claim 8,
The main model provides a first classification based on the query image,
the one or more processors are configured to determine whether the first classification is included in any one of the selected M or the selected K classifications;
wherein the second sub-model or the second sub-model is configured to provide a second classification based on the query image in response to determining that the first classification is included in the selected M or K selected classifications. Device.
제8항에 있어서,
상기 프로세서는,
상기 복수의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수를 판정하고, 상기 복수의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수에 따른 가중치를 불러오고, 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도 및 상기 가중치의 곱에 기초하여 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하도록 구성된, 상표 검색 장치.
9. The method of claim 8,
The processor is
By comparing the plurality of classifications with the classifications of trademark images stored in the database, the number of overlapping classifications is determined, and weights according to the number of overlapping classifications are called by comparing the plurality of classifications with the classifications of the trademark images stored in the database, , configured to select at least one image similar to the query image based on a product of a similarity between the second feature vector and the first feature vector and the weight.
제8항에 있어서,
상기 프로세서는,
상기 복수의 분류와 상기 데이터베이스에 저장된 상표 이미지의 분류를 비교하여 겹치는 분류의 개수를 판정하고, 상기 복수의 분류의 개수 및 상기 데이터 베이스에 저장된 상표 이미지의 분류의 개수 중 적어도 하나와 상기 겹치는 분류의 개수에 기초하여 가중치를 불러오고, 상기 가중치와 상기 제2 특징 벡터와 상기 제1 특징 벡터의 유사도에 기초하여 상기 쿼리 이미지와 유사한 이미지를 적어도 하나 선택하도록 구성된, 상표 검색 장치.
9. The method of claim 8,
The processor is
The number of overlapping classifications is determined by comparing the plurality of classifications with the classifications of the trademark images stored in the database, and at least one of the number of the plurality of classifications and the number of classifications of the trademark images stored in the database and the overlapping classifications and fetch a weight based on the number, and select at least one image similar to the query image based on the weight and a degree of similarity between the second feature vector and the first feature vector.
제8항에 있어서,
상기 프로세서는, 상기 제1 서브 모델 또는 상기 제2 서브 모델이 분류한 분류로 상기 메인 모델이 분류한 분류를 대체하여 제2 학습 모델이 상기 복수의 분류를 출력하도록 하는, 상표 검색 장치.
9. The method of claim 8,
wherein the processor replaces the classification classified by the main model with the classification classified by the first sub-model or the second sub-model so that a second learning model outputs the plurality of classifications.
KR1020210038827A 2020-12-22 2021-03-25 Method of searching trademarks and apparatus for searching trademarks KR20220090367A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210038827A KR20220090367A (en) 2020-12-22 2021-03-25 Method of searching trademarks and apparatus for searching trademarks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200181271A KR102234385B1 (en) 2020-12-22 2020-12-22 Method of searching trademarks and apparatus for searching trademarks
KR1020210038827A KR20220090367A (en) 2020-12-22 2021-03-25 Method of searching trademarks and apparatus for searching trademarks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200181271A Division KR102234385B1 (en) 2020-12-22 2020-12-22 Method of searching trademarks and apparatus for searching trademarks

Publications (1)

Publication Number Publication Date
KR20220090367A true KR20220090367A (en) 2022-06-29

Family

ID=75238070

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200181271A KR102234385B1 (en) 2020-12-22 2020-12-22 Method of searching trademarks and apparatus for searching trademarks
KR1020210038827A KR20220090367A (en) 2020-12-22 2021-03-25 Method of searching trademarks and apparatus for searching trademarks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200181271A KR102234385B1 (en) 2020-12-22 2020-12-22 Method of searching trademarks and apparatus for searching trademarks

Country Status (1)

Country Link
KR (2) KR102234385B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116739846A (en) * 2023-04-27 2023-09-12 合肥皖臻科技有限公司 Trademark risk investigation method, system and device based on big data and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113903042A (en) * 2021-09-13 2022-01-07 同盾科技有限公司 Trademark identification method and device, computer equipment and storage medium
CN114428878A (en) * 2022-04-06 2022-05-03 广东知得失网络科技有限公司 Trademark image retrieval method and system
KR102585925B1 (en) * 2022-12-14 2023-10-06 주식회사 딥노이드 Apparatus for automatically collecting learning data and method therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170083453A (en) 2016-01-08 2017-07-18 문성현 Sites that facilitate the search, exchange and trading of intellectual property
KR20190030434A (en) 2017-09-14 2019-03-22 주식회사 세진마인드 Method, apparatus and computer software stored in computer readable recording medium for trademark similarity determination using deep learnig engine trained based on trademark similarity result
KR20190098801A (en) 2018-01-31 2019-08-23 문경혜 Classificating method for image of trademark using machine learning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017214619A1 (en) * 2016-02-01 2018-08-16 See-Out Pty Ltd. Image classification and labeling
JP7329933B2 (en) * 2019-03-04 2023-08-21 公立大学法人大阪 Similar image retrieval device, similar image retrieval method and similar image retrieval program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170083453A (en) 2016-01-08 2017-07-18 문성현 Sites that facilitate the search, exchange and trading of intellectual property
KR20190030434A (en) 2017-09-14 2019-03-22 주식회사 세진마인드 Method, apparatus and computer software stored in computer readable recording medium for trademark similarity determination using deep learnig engine trained based on trademark similarity result
KR20190098801A (en) 2018-01-31 2019-08-23 문경혜 Classificating method for image of trademark using machine learning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116739846A (en) * 2023-04-27 2023-09-12 合肥皖臻科技有限公司 Trademark risk investigation method, system and device based on big data and storage medium

Also Published As

Publication number Publication date
KR102234385B1 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
KR102234385B1 (en) Method of searching trademarks and apparatus for searching trademarks
US20200285896A1 (en) Method for person re-identification based on deep model with multi-loss fusion training strategy
KR102519074B1 (en) Trademarks searching model and method of learning trademarks searching model
US11537884B2 (en) Machine learning model training method and device, and expression image classification method and device
US20220092351A1 (en) Image classification method, neural network training method, and apparatus
US11631234B2 (en) Automatically detecting user-requested objects in images
US11282208B2 (en) Identifying target objects using scale-diverse segmentation neural networks
WO2021227726A1 (en) Methods and apparatuses for training face detection and image detection neural networks, and device
US9858496B2 (en) Object detection and classification in images
US10642887B2 (en) Multi-modal image ranking using neural networks
US9424493B2 (en) Generic object detection in images
US11551060B2 (en) Identifying image aesthetics using region composition graphs
CN110348447B (en) Multi-model integrated target detection method with abundant spatial information
KR20180126220A (en) Method and device for identifying an object
US11954881B2 (en) Semi-supervised learning using clustering as an additional constraint
CN112949647B (en) Three-dimensional scene description method and device, electronic equipment and storage medium
US11803971B2 (en) Generating improved panoptic segmented digital images based on panoptic segmentation neural networks that utilize exemplar unknown object classes
CN113255443A (en) Pyramid structure-based method for positioning time sequence actions of graph attention network
CN114842343A (en) ViT-based aerial image identification method
US11610393B2 (en) Knowledge distillation for neural networks using multiple augmentation strategies
US11836187B2 (en) Generating occurrence contexts for objects in digital content collections
US11775734B2 (en) Multimodal input contextual font recommendations
AU2022221413A1 (en) Domo v2: on-device object detection and instance segmentation for object selection
CN117011569A (en) Image processing method and related device
CN113902971A (en) Target detection method based on multi-scale fusion lightweight deep learning convolution network

Legal Events

Date Code Title Description
A201 Request for examination