KR20230101673A - Method and electronic device for recognizing product - Google Patents

Method and electronic device for recognizing product Download PDF

Info

Publication number
KR20230101673A
KR20230101673A KR1020220077805A KR20220077805A KR20230101673A KR 20230101673 A KR20230101673 A KR 20230101673A KR 1020220077805 A KR1020220077805 A KR 1020220077805A KR 20220077805 A KR20220077805 A KR 20220077805A KR 20230101673 A KR20230101673 A KR 20230101673A
Authority
KR
South Korea
Prior art keywords
feature information
product
information
encoder model
image
Prior art date
Application number
KR1020220077805A
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 PCT/KR2022/020670 priority Critical patent/WO2023128432A1/en
Priority to US18/148,629 priority patent/US20230206298A1/en
Publication of KR20230101673A publication Critical patent/KR20230101673A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/422Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • G06V10/811Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data the classifiers operating on different input data, e.g. multi-modal recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득고, 서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 제1 특징 정보와 제2 특징 정보에 기초한 퓨전 특징 정보를 획득하고, 상품의 데이터베이스를 이용하여, 퓨전 특징 정보와 매칭을 수행하고, 매칭의 결과에 따라, 상품의 정보를 제공하는 상품을 인식하는 방법 및 전자 장치를 개시한다.First feature information and second feature information are obtained from an image related to a product, and a fusion based on the first feature information and the second feature information is performed using a main encoder model that reflects a correlation between feature information of different modalities. Disclosed are a method and an electronic device for obtaining feature information, performing matching with fusion feature information using a product database, and recognizing a product providing product information according to a matching result.

Figure P1020220077805
Figure P1020220077805

Description

상품을 인식하는 방법 및 전자 장치{METHOD AND ELECTRONIC DEVICE FOR RECOGNIZING PRODUCT}Product recognition method and electronic device {METHOD AND ELECTRONIC DEVICE FOR RECOGNIZING PRODUCT}

상품을 인식하는 방법 및 전자 장치에 관한 것이다.It relates to a product recognition method and an electronic device.

상품에는 상품을 분류하기 바코드나 QR 코드 등의 고유의 식별 코드가 부착되어 있다. 소비자는 이와 같은 고유의 식별 코드를 리더기와 같은 장치 없이 분석할 수 없기 때문에, 소비자를 위해 상품에는 라벨(label)이 부착되어 있다.A unique identification code such as a barcode or QR code is attached to the product to classify the product. Because consumers cannot analyze this unique identification code without a device such as a reader, a label is attached to the product for consumers.

최근에는, 스마트폰과 같은 모바일 디바이스가 발전함에 따라, 소비자가 스마트폰을 이용하여 상품을 검색하거나 상품을 식별하는 방식에 대한 관심이 고조되고 있다.Recently, with the development of mobile devices such as smart phones, interest in a method for consumers to search for products or identify products using smart phones is growing.

서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영한 퓨전 특징 정보에 기초하여 상품을 인식하는 방법 및 전자 장치를 제공하기 위한 것이다.An object of the present invention is to provide a method and an electronic device for recognizing a product based on fusion feature information reflecting a correlation between feature information of different modalities.

본 개시의 일 측면에 따르면, 상품을 인식하는 방법은, 상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득하는 단계, 서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 상기 제1 특징 정보와 상기 제2 특징 정보에 기초한 퓨전 특징 정보(fusion feature information)를 획득하는 단계, 상기 상품의 데이터베이스를 이용하여, 상기 퓨전 특징 정보와 매칭을 수행하는 단계, 및 상기 매칭의 결과에 따라, 상기 상품의 정보를 제공하는 단계를 포함한다.According to one aspect of the present disclosure, a method for recognizing a product includes obtaining first feature information and second feature information from an image related to the product, and a main encoder model reflecting a correlation between feature information of different modalities. Obtaining fusion feature information based on the first feature information and the second feature information using , performing matching with the fusion feature information using the product database, and and providing information on the product according to a result of the matching.

본 개시의 일 측면에 따르면, 상품을 인식하는 전자 장치는, 디스플레이, 하나 이상의 명령어를 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득하고, 서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 상기 제1 특징 정보와 상기 제2 특징 정보에 기초한 퓨전 특징 정보를 획득하고, 상기 상품의 데이터베이스를 이용하여, 상기 퓨전 특징 정보와 매칭을 수행하고, 상기 매칭의 결과에 따라, 상기 상품의 정보를 상기 디스플레이를 통해 제공한다.According to one aspect of the present disclosure, an electronic device for recognizing a product includes a display, a memory storing one or more instructions, and a processor executing the one or more instructions stored in the memory, wherein the processor executes the one or more instructions. By executing, first feature information and second feature information are obtained from an image related to a product, and the first feature information and the second feature information are obtained by using a main encoder model that reflects a correlation between feature information of different modalities. 2 Acquire fusion feature information based on the feature information, perform matching with the fusion feature information using the database of the product, and provide information on the product through the display according to a result of the matching.

본 개시의 일 측면에 따르면, 전술한 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능 기록매체를 제공할 수 있다.According to one aspect of the present disclosure, a computer readable recording medium having a program for executing the above method may be provided.

도 1은 본 개시의 일 실시예에 따른 전자 장치가 상품을 인식하는 과정을 나타낸 도면이다.
도 2는 본 개시의 일 실시예에 따른 상품을 인식하는 과정에서 이용되는 특징 정보 인코더 모델을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 상품을 인식하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 이미지 특징 정보와 텍스트 특징 정보를 획득하는 과정을 설명하기 위한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 메인 인코더 모델을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 상품의 데이터베이스를 이용하여, 퓨전 특징 정보를 포함하는 하나 이상의 특징 정보와 매칭을 수행하는 과정을 설명하기 위한 흐름도이다.
도 7은 텍스트 특징 정보에 의해 매칭되는 일 예를 설명하기 위한 도면이다.
도 8은 이미지 특징 정보에 의해 매칭되는 일 예를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 상품을 인식하는 과정이 전자 장치에서 운영되는 경우를 나타낸 도면이다.
도 10은 본 개시의 일 실시예에 따른 상품을 인식하는 과정이 전자 장치와 서버 기반으로 운영되는 경우를 나타낸 도면이다.
도 11은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 12는 본 개시의 일 실시예에 따른 서버의 구성을 도시한 블록도이다.
1 is a diagram illustrating a process of recognizing a product by an electronic device according to an embodiment of the present disclosure.
2 is a diagram for explaining a feature information encoder model used in a process of recognizing a product according to an embodiment of the present disclosure.
3 is a flowchart illustrating a method of recognizing a product according to an embodiment of the present disclosure.
4 is a flowchart illustrating a process of acquiring image feature information and text feature information according to an embodiment of the present disclosure.
5 is a diagram for explaining a main encoder model according to an embodiment of the present disclosure.
6 is a flowchart illustrating a process of performing matching with one or more feature information including fusion feature information using a product database according to an embodiment of the present disclosure.
7 is a diagram for explaining an example of matching based on text feature information.
8 is a diagram for explaining an example of matching based on image feature information.
9 is a diagram illustrating a case in which a product recognition process according to an embodiment of the present disclosure is operated in an electronic device.
10 is a diagram illustrating a case in which a product recognition process according to an embodiment of the present disclosure is operated based on an electronic device and a server.
11 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
12 is a block diagram showing the configuration of a server according to an embodiment of the present disclosure.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. 본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.Terms used in this specification will be briefly described, and the present disclosure will be described in detail. In this disclosure, the expression “at least one of a, b, or c” means “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b” and c”, or variations thereof.

본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present disclosure have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary according to the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. In addition, in a specific case, there are also terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the corresponding description. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.Singular expressions may include plural expressions unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the art described herein. Also, terms including ordinal numbers such as 'first' or 'second' used in this specification may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When it is said that a certain part "includes" a certain component throughout the specification, it means that it may further include other components without excluding other components unless otherwise stated. In addition, terms such as “unit” and “module” described in the specification refer to a unit that processes at least one function or operation, and may be implemented as hardware or software or a combination of hardware and software.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily carry out the present invention. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 개시의 일 실시예에 따른 전자 장치(100)가 상품을 인식하는 과정을 나타낸 도면이다.1 is a diagram illustrating a process of recognizing a product by an electronic device 100 according to an embodiment of the present disclosure.

본 개시에서 전자 장치(100)는 스마트폰, 스마트 글래스, 웨어러블 디바이스, PDA(Personal Digital Assistant)나 모바일 스캐너와 같은 휴대용 단말 기기 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 전자 장치(100)는 이미지를 획득하는 입력 수단과 정보를 제공하는 출력 수단을 포함하는 다양한 종류 및 형태의 장치로 구현될 수 있다. In the present disclosure, the electronic device 100 may include a smart phone, smart glasses, a wearable device, a personal digital assistant (PDA) or a portable terminal device such as a mobile scanner, but is not limited thereto. The electronic device 100 may be implemented with various types and types of devices including an input unit for obtaining an image and an output unit for providing information.

본 개시에서 상품은 사고 파는 물품이 되는 모든 대상을 지칭한다. 예를 들어, 상품은 생필품, 공산품, 전자 제품 등이 될 수 있다.In the present disclosure, a product refers to any object that is bought and sold. For example, products may be daily necessities, industrial products, electronic products, and the like.

전자 장치(100)의 사용자, 예를 들어, 상품을 구매하려는 소비자는 상품에 관한 정보를 얻기 위해, 전자 장치(100)를 이용할 수 있다. 사용자는 전자 장치(100)에 상품에 부착되어 있는 라벨의 정보를 직접 입력하여, 상품에 관한 정보를 검색할 수 있다. 보다 간편한 방법으로, 사용자는 전자 장치(100)에 구비된 카메라를 활용하여, 상품에 부착되어 있는 라벨을 촬영할 수 있다. 전자 장치(100)는 촬영된 라벨의 이미지에 기초하는 소정의 알고리즘을 실행하여, 상품에 관한 정보를 획득할 수 있다.A user of the electronic device 100, for example, a consumer who wants to purchase a product may use the electronic device 100 to obtain information about the product. A user may directly input information on a label attached to a product into the electronic device 100 to search for information about the product. As a simpler method, the user may take a picture of a label attached to a product by using a camera provided in the electronic device 100 . The electronic device 100 may obtain product information by executing a predetermined algorithm based on the captured label image.

도 1을 참조하면, 전자 장치(100)의 사용자는 와인에 관한 정보를 획득하기 위해, 전자 장치(100)의 카메라 기능을 활용하여, 와인의 라벨을 촬영한다. 도 1에는 상품으로 와인이 도시되어 있지만, 상품이 이에 한정되는 것은 아니며, 설명의 편의상 상품이 와인인 경우를 전제하여, 이하 설명한다.Referring to FIG. 1 , a user of the electronic device 100 uses a camera function of the electronic device 100 to take a picture of a wine label in order to obtain information about wine. Although wine is shown as a product in FIG. 1 , the product is not limited thereto, and for convenience of description, a case in which the product is wine will be described below.

전자 장치(100)는 촬영된 상품에 관련된 이미지 즉, 라벨의 이미지에 기초하여, 상품을 인식하기 위한 프로세스를 수행할 수 있다. 이를 위해, 전자 장치(100)는 특징 정보 인코더 모델을 메모리에 저장해 놓을 수 있다. The electronic device 100 may perform a process for recognizing a product based on a photographed image related to the product, that is, an image of a label. To this end, the electronic device 100 may store the feature information encoder model in memory.

특징 정보 인코더 모델은 와인에 관련된 이미지로부터 복수의 특징 정보를 출력할 수 있다. 특징 정보 인코더 모델은 특징 정보를 인코딩하여 출력하는 하나 이상의 모델로 구성될 수 있으며, 각 모델은 복수의 레이어들로 이루어지는 뉴럴 네트워크의 형태일 수 있다. The feature information encoder model may output a plurality of feature information from an image related to wine. The feature information encoder model may be composed of one or more models that encode and output feature information, and each model may be in the form of a neural network composed of a plurality of layers.

예를 들어, 도 1에 도시된 특징 정보 인코더 모델은 와인의 라벨에 포함된 이미지나 문자, 숫자, 기호 등의 텍스트에 기초하여, 와인을 인식하기 위한 적어도 하나의 특징 정보를 출력할 수 있다.For example, the feature information encoder model shown in FIG. 1 may output at least one piece of feature information for recognizing wine based on an image included in a wine label or text such as letters, numbers, and symbols.

전자 장치(100)는 특징 정보 인코더 모델을 이용하여 획득한 적어도 하나의 특징 정보에 기초하여, 와인을 인식하고, 인식된 와인의 정보를 사용자에게 제공할 수 있다. 예를 들어, 전자 장치(100)는 와인에 대한 정보가 저장되어 있는 데이터베이스를 이용하여, 적어도 하나의 특징 정보와 매칭을 수행하고, 매칭의 결과에 따라, 와인의 정보를 제공할 수 있다.The electronic device 100 may recognize wine based on at least one piece of feature information acquired using the feature information encoder model, and provide information on the recognized wine to the user. For example, the electronic device 100 may perform matching with at least one piece of feature information using a database in which information on wine is stored, and may provide information on wine according to a matching result.

도 2는 본 개시의 일 실시예에 따른 상품을 인식하는 과정에서 이용되는 특징 정보 인코더 모델을 설명하기 위한 도면이다. 2 is a diagram for explaining a feature information encoder model used in a process of recognizing a product according to an embodiment of the present disclosure.

특징 정보 인코더 모델은 상품에 관련된 이미지로부터 특징 정보를 인코딩하여 출력할 수 있다. 특징 정보 인코더 모델은 인코딩할 특징 정보에 대응되는 각각의 인코더 모델을 포함할 수 있다.The feature information encoder model may encode and output feature information from an image related to a product. The feature information encoder model may include each encoder model corresponding to feature information to be encoded.

도 2를 참조하면, 특징 정보 인코더 모델은 제1 서브 인코더 모델, 제2 서브 인코더 모델, 및 메인 인코더 모델로 구성될 수 있다. 다만, 도 2에 도시된 바와 달리, 특징 정보 인코더 모델은 상품 인식에 사용되는 특징 정보의 타입이나 개수에 따라, 세부 구성 모델의 종류나 수가 변경될 수 있다. Referring to FIG. 2 , a feature information encoder model may include a first sub encoder model, a second sub encoder model, and a main encoder model. However, unlike shown in FIG. 2, the type or number of detailed configuration models of the feature information encoder model may be changed according to the type or number of feature information used for product recognition.

제1 서브 인코더 모델과 제2 서브 인코더 모델은 상품에 관련된 이미지를 입력으로 하지만, 서로 다른 모달리티의 특징 정보를 각각 출력한다. 상품에 관련된 이미지는 이미지를 구성하는 엘리먼트들의 타입에 따라, 제1 엘리먼트와 제2 엘리먼트로 분류될 수 있다. 예를 들어, 제1 엘리먼트는 이미지 엘리먼트이고, 제2 엘리먼트는 텍스트 엘리먼트일 수 있다. 상품에 관련된 이미지는 이미지 영역과 텍스트 영역의 속성을 고려하여, 이미지 엘리먼트와 텍스트 엘리먼트로 분류될 수 있다. The first sub-encoder model and the second sub-encoder model take an image related to a product as an input, but respectively output characteristic information of different modalities. An image related to a product may be classified into a first element and a second element according to the types of elements constituting the image. For example, the first element may be an image element and the second element may be a text element. An image related to a product may be classified into an image element and a text element in consideration of attributes of an image area and a text area.

제1 서브 인코더 모델은 이미지에서 분류된 제1 엘리먼트로부터 제1 특징을 추출하고, 추출된 제1 특징을 제1 특징 정보로 인코딩할 수 있다. 제1 서브 인코더 모델은 복수의 레이어들로 이루어지는 뉴럴 네트워크의 형태일 수 있다. 예를 들어, 제1 특징 정보는 이미지 특징 정보일 수 있다. 이미지 특징 정보는 이미지로부터 파악되는 형상, 모양, 색상 등의 형태에 관한 특징을 나타내는 정보일 수 있다.The first sub-encoder model may extract a first feature from the first element classified in the image and encode the extracted first feature as first feature information. The first sub-encoder model may be in the form of a neural network including a plurality of layers. For example, the first characteristic information may be image characteristic information. The image feature information may be information indicating a characteristic of a form such as shape, shape, color, etc. recognized from an image.

제2 서브 인코더 모델은 이미지에서 분류된 제2 엘리먼트로부터 제2 특징을 추출하고, 추출된 제2 특징을 제2 특징 정보로 인코딩할 수 있다. 제2 서브 인코더 모델은 복수의 레이어들로 이루어지는 뉴럴 네트워크의 형태일 수 있다. 예를 들어, 제2 특징 정보는 텍스트 특징 정보일 수 있다. 텍스트 특징 정보는 텍스트로부터 파악되는 문자, 숫자, 기호 등의 의미에 관한 특징을 나타내는 정보일 수 있다.The second sub-encoder model may extract a second feature from the second element classified in the image and encode the extracted second feature as second feature information. The second sub-encoder model may be in the form of a neural network including a plurality of layers. For example, the second characteristic information may be text characteristic information. The text characteristic information may be information indicating characteristics related to the meaning of letters, numbers, symbols, etc. recognized from the text.

제1 서브 인코더 모델의 출력인 제1 특징 정보와 제2 서브 인코더 모델의 출력인 제2 특징 정보는 메인 인코더 모델의 입력이 될 수 있다. 메인 인코더 모델은 적어도 하나의 제1 특징 정보와 적어도 하나의 제2 특징 정보를 입력받을 수 있다. 예를 들어, m 개의 제1 특징 정보와 n 개의 제2 특징 정보가 메인 인코더 모델에 입력될 수 있다. 도 2에 도시된 바와 달리, 제1 특징 정보 및 제2 특징 정보와 모달리티의 종류가 다른 적어도 하나의 제3 특징 정보를 입력받을 수도 있다.The first feature information, which is an output of the first sub-encoder model, and the second feature information, which is an output of the second sub-encoder model, may be input to the main encoder model. The main encoder model may receive at least one piece of first feature information and at least one piece of second feature information. For example, m pieces of first feature information and n pieces of second feature information may be input to the main encoder model. Unlike shown in FIG. 2 , at least one piece of third feature information having a modality different from that of the first feature information and the second feature information may be input.

메인 인코더 모델은 서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하여, 퓨전 특징 정보(fusion feature information)를 인코딩할 수 있다. 퓨전 특징 정보는 서로 다른 모달리티의 특징 정보들로부터 새롭게 만든 특징 정보로서, 제1 특징 정보와 제2 특징 정보를 퓨전한 것일 수 있으나, 이에 제한되는 것은 아니며, 또 다른 모달리티의 특징 정보를 더 퓨전한 것일 수 있다. 예를 들어, 이미지 특징 정보와 텍스트 특징 정보를 퓨전하여 새로운 특징 정보를 인코딩할 수 있다. The main encoder model may encode fusion feature information by reflecting a correlation between feature information of different modalities. Fusion feature information is feature information newly created from feature information of different modalities, and may be fusion of first feature information and second feature information, but is not limited thereto, and feature information of another modality is further fused. it could be For example, new feature information may be encoded by fusion of image feature information and text feature information.

메인 인코더 모델은 셀프 어텐션(self-attention) 기반으로, 어느 하나의 특징 정보에 대하여, 메인 인코더 모델에 입력된 모든 특징 정보들과의 상관관계를 파악하여, 상품에 관련된 이미지에서 어느 하나의 특징 정보의 어텐션 값(attention value)을 획득할 수 있다. 상관관계는 특징 정보들 상호 간의 관련성이나 중요도를 의미한다. 메인 인코더 모델은 파악된 상관관계를 반영한 가중합을 구함으로써, 어느 하나의 특징 정보의 어텐션 값을 획득할 수 있다. 메인 인코더 모델은 메인 인코더 모델에 입력된 모든 특징 정보들에 대하여, 각각의 어텐션 값을 획득할 수 있다. 각 어텐션 값은 각 특징 정보가 다른 특징 정보들과의 관계에서 갖는 중요도나 특징이 고려된 컨텍스트 벡터일 수 있다. 메인 인코더 모델은 모든 특징 정보들의 어텐션 값들을 취합하여 상품에 관련된 이미지의 퓨전 특징 정보를 출력할 수 있다.The main encoder model is based on self-attention, and for any one feature information, it finds out the correlation with all the feature information input to the main encoder model, and any one feature information in the image related to the product. An attention value of can be obtained. Correlation means relevance or importance between feature information. The main encoder model may obtain an attention value of any one feature information by obtaining a weighted sum reflecting the identified correlation. The main encoder model may obtain each attention value for all feature information input to the main encoder model. Each attention value may be a context vector in which importance or characteristics of each feature information in relation to other feature information are considered. The main encoder model may output fusion feature information of an image related to a product by collecting attention values of all feature information.

결과적으로, 특징 정보 인코더 모델은 상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득하고, 메인 인코더 모델을 이용하여, 제1 특징 정보와 제2 특징 정보에 기초한 퓨전 특징 정보를 획득할 수 있다. 퓨전 특징 정보는 상품에 관련된 이미지에서 적어도 하나의 제1 특징 정보와 적어도 하나의 제2 특징 정보 각각의 중요도와 특징이 반영된 값을 가진다. 퓨전 특징 정보는 상품의 데이터베이스와 매칭을 통해 그 값이 분류되어, 상품을 인식하는데 이용될 수 있다.As a result, the feature information encoder model obtains first feature information and second feature information from the image related to the product, and obtains fusion feature information based on the first feature information and the second feature information using the main encoder model. can The fusion feature information has a value in which the importance and characteristics of at least one piece of first feature information and at least one piece of second feature information are reflected in an image related to a product. The value of the fusion feature information is classified through matching with a product database, and can be used to recognize the product.

이하, 설명의 편의상, 제1 특징 정보는 이미지 특징 정보이고, 제2 특징 정보는 텍스트 특징 정보인 경우를 예로 들어 설명하나, 이에 제한되는 것은 아니다. 상품을 인식하는 구체적인 동작들에 대해서는, 후술하는 도면들과 그에 대한 상세한 설명에서 더 상세하게 기술하기로 한다. Hereinafter, for convenience of description, a case in which the first characteristic information is image characteristic information and the second characteristic information is text characteristic information will be described as an example, but is not limited thereto. Specific operations for recognizing products will be described in more detail in the drawings and detailed descriptions thereof to be described later.

도 3은 본 개시의 일 실시예에 따른 상품을 인식하는 방법을 설명하기 위한 흐름도이다. 3 is a flowchart illustrating a method of recognizing a product according to an embodiment of the present disclosure.

단계 310에서, 전자 장치(100)는 상품과 관련된 이미지로부터 이미지 특징 정보와 텍스트 특징 정보를 획득할 수 있다. 상품과 관련된 이미지는 사용자의 입력에 따라, 상품 인식 애플리케이션을 실행하여, 전자 장치(100)의 카메라를 통해 획득될 수 있다. 단계 310에 대해서는 이하 도 4에서 상술한다.In step 310, the electronic device 100 may obtain image characteristic information and text characteristic information from an image related to a product. An image related to a product may be obtained through a camera of the electronic device 100 by executing a product recognition application according to a user's input. Step 310 will be described in detail in FIG. 4 below.

도 4는 본 개시의 일 실시예에 따른 이미지 특징 정보와 텍스트 특징 정보를 획득하는 과정을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a process of acquiring image feature information and text feature information according to an embodiment of the present disclosure.

전자 장치(100)는 상품에 관련된 이미지를 이미지 엘리먼트와 텍스트 엘리먼트로 분류할 수 있다. 이미지를 구성하는 각 엘리먼트의 속성에 따라, 이미지 엘리먼트와 텍스트 엘리먼트로 구분될 수 있다. 예를 들어, 전자 장치(100)는 상품에 관련된 이미지 내의 객체들의 엣지를 확인하여 이미지 내에서 이미지 영역을 검출할 수 있다. 전자 장치(100)는 OCR(Optical Character Recognition) 기능을 실행하여, 이미지 내의 텍스트 영역을 검출할 수 있다. 검출된 적어도 하나의 이미지 영역은 이미지 엘리먼트로 분류되고, 적어도 하나의 텍스트 영역은 텍스트 엘리먼트로 분류될 수 있다.The electronic device 100 may classify images related to products into image elements and text elements. Depending on the properties of each element constituting an image, it can be divided into an image element and a text element. For example, the electronic device 100 may detect the image area within the image by checking the edges of objects in the image related to the product. The electronic device 100 may execute an Optical Character Recognition (OCR) function to detect a text area in an image. At least one detected image area may be classified as an image element, and at least one text area may be classified as a text element.

상품이 와인의 경우, 와인의 라벨 내에 와인과 관련된 적어도 하나의 이미지 영역이 포함될 수 있다. 예를 들어, 와인을 제조한 와이너리의 문양, 와인의 원재료에 해당하는 포도 형상의 심볼 무늬 등이 라벨 내에 포함될 수 있다. 또한, 와인의 라벨 내에 와인과 관련된 적어도 하나의 텍스트 영역이 포함될 수 있다. 예를 들어, 와인의 명칭, 와인의 빈티지 년도, 와인의 원산지 등이 라벨 내에 포함될 수 있다.If the product is wine, at least one image area related to wine may be included in the wine label. For example, a pattern of a winery that produced wine, a symbol pattern of a grape shape corresponding to a raw material of wine, and the like may be included in the label. In addition, at least one text area related to wine may be included in the wine label. For example, the name of the wine, vintage year of the wine, country of origin of the wine, etc. may be included in the label.

전자 장치(100)는 제1 서브 인코더 모델을 이용하여, 이미지에서 분류된 이미지 엘리먼트로부터 이미지 특징을 추출하고, 추출된 이미지 특징을 이미지 특징 정보로 인코딩할 수 있다. 제1 서브 인코더 모델은 복수의 레이어들을 포함하는 뉴럴 네트워크로서, 입력 레이어에 이미지 엘리먼트가 입력되고, 출력 레이어로부터 이미지 특징 정보가 출력될 수 있다. 상품에 관련된 이미지에 서로 구분되는 복수 개의 이미지 영역들이 검출되는 경우, 제1 서브 인코더 모델은 복수 개의 이미지 특징을 추출하고, 각각의 이미지 특징를 이미지 특징 정보로 인코딩하여, 복수 개의 이미지 특징 정보를 출력할 수 있다. The electronic device 100 may extract image features from image elements classified in the image using the first sub-encoder model, and encode the extracted image features as image feature information. The first sub-encoder model is a neural network including a plurality of layers, and image elements may be input to an input layer and image feature information may be output from an output layer. When a plurality of distinct image regions are detected in an image related to a product, the first sub-encoder model extracts a plurality of image features, encodes each image feature into image feature information, and outputs a plurality of image feature information. can

예를 들어, 이미지 특징 정보는 와인의 라벨 내에 포함된 이미지 영역에 대응되는 이미지의 형태에 관한 특징을 인코딩한 벡터로 표현될 수 있다. 제1 서브 인코더 모델은 와인의 라벨로부터 복수 개의 이미지 특징을 추출한 경우, 복수 개의 벡터들 각각을 이미지 특징 정보로서 출력할 수 있다.For example, the image feature information may be expressed as a vector encoding a feature about a shape of an image corresponding to an image region included in a wine label. When a plurality of image features are extracted from the wine label, the first sub encoder model may output each of the plurality of vectors as image feature information.

전자 장치(100)는 제2 서브 인코더 모델을 이용하여, 이미지에서 분류된 텍스트 엘리먼트로부터 텍스트 특징을 추출하고, 추출된 텍스트 특징을 텍스트 특징 정보로 인코딩할 수 있다. 제2 서브 인코더 모델은 복수의 레이어들을 포함하는 뉴럴 네트워크로서, 입력 레이어에 텍스트 엘리먼트가 입력되고, 출력 레이어로부터 텍스트 특징 정보가 출력될 수 있다. 상품에 관련된 이미지에 서로 구분되는 복수 개의 텍스트 영역들이 검출되는 경우, 제2 서브 인코더 모델은 복수 개의 텍스트 특징을 추출하고, 각각의 텍스트 특징를 텍스트 특징 정보로 인코딩하여, 복수 개의 텍스트 특징 정보를 출력할 수 있다. The electronic device 100 may extract text features from text elements classified in the image using the second sub-encoder model, and encode the extracted text features into text feature information. The second sub-encoder model is a neural network including a plurality of layers, and text elements may be input to the input layer and text feature information may be output from the output layer. When a plurality of distinct text regions are detected in an image related to a product, the second sub-encoder model extracts a plurality of text features, encodes each text feature into text feature information, and outputs a plurality of text feature information. can

예를 들어, 텍스트 특징 정보는 와인의 라벨 내에 포함된 텍스트 영역에 대응되는 텍스트의 의미에 관한 특징을 인코딩한 벡터일 수 있다. 제2 서브 인코더 모델은 와인의 라벨로부터 복수 개의 텍스트 특징을 추출한 경우, 복수 개의 벡터들 각각을 텍스트 특징 정보로서 출력할 수 있다.For example, the text feature information may be a vector encoding a feature related to the meaning of text corresponding to a text area included in a wine label. When a plurality of text features are extracted from the wine label, the second sub encoder model may output each of the plurality of vectors as text feature information.

다시 도 3을 참조하면, 단계 320에서, 전자 장치(100)는 서로 다른 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 이미지 특징 정보와 텍스트 특징 정보에 기초한 퓨전 특징 정보를 획득할 수 있다. 단계 320에 대해서는 이하 도 5에서 상술한다.Referring back to FIG. 3 , in step 320, the electronic device 100 obtains fusion feature information based on image feature information and text feature information by using a main encoder model that reflects the correlation between different feature information. can Step 320 will be described in detail with reference to FIG. 5 below.

도 5는 본 개시의 일 실시예에 따른 메인 인코더 모델을 설명하기 위한 도면이다.5 is a diagram for explaining a main encoder model according to an embodiment of the present disclosure.

메인 인코더 모델은 적어도 하나의 이미지 특징 정보와 적어도 하나의 텍스트 특징 정보를 입력으로 할 수 있다. 도 5를 참조하면, 1 개의 이미지 특징 정보와 n-1 개의 텍스트 특징 정보가 메인 인코더 모델의 입력 레이어에 입력될 수 있다. 전술한 제1 서브 인코더 모델에서 출력된 이미지 특징 정보에 대응되는 1 개의 벡터와 제2 서브 인코더 모델에서 출력된 텍스트 특징 정보에 대응되는 n-1 개의 벡터들이 메인 인코더 모델의 입력 레이어에 입력될 수 있다. The main encoder model may receive at least one image feature information and at least one text feature information as inputs. Referring to FIG. 5 , 1 piece of image feature information and n-1 pieces of text feature information may be input to the input layer of the main encoder model. One vector corresponding to the image feature information output from the first sub-encoder model described above and n-1 vectors corresponding to text feature information output from the second sub-encoder model may be input to the input layer of the main encoder model. there is.

예를 들어, 도 5에 도시된 바와 같이, 와인의 라벨로부터, 1 개의 이미지 영역에 대응되는 1 개의 이미지 특징이 추출 및 인코딩되어, 1 개의 이미지 특징 정보가 메인 인코더 모델의 입력 레이어에 입력될 수 있다. 또한, 와인의 라벨로부터, 3개의 텍스트 영역이 검출되고, OCR 기능을 활용하여, 와인의 명칭인 'MONTES', 빈티지 년도인 '2001', 와인의 원산지인 'Chile'에 대응되는 3 개의 텍스 특징이 추출 및 인코딩되어, 3 개의 텍스트 특징 정보가 메인 인코더 모델의 입력 레이어에 입력될 수 있다.For example, as shown in FIG. 5 , one image feature corresponding to one image region is extracted and encoded from the wine label, and one image feature information may be input to the input layer of the main encoder model. there is. In addition, three text areas are detected from the wine label, and by using the OCR function, three text features corresponding to the name of the wine 'MONTES', the vintage year '2001', and the wine's country of origin 'Chile' After being extracted and encoded, the three text feature information can be input to the input layer of the main encoder model.

메인 인코더 모델은 셀프 어텐션 기반으로, 어느 하나의 특징 정보에 대하여, 메인 인코더 모델에 입력된 모든 특징 정보들과의 상관관계를 파악하여, 상품에 관련된 이미지에서 어느 하나의 특징 정보의 어텐션 값(attention value)을 획득할 수 있다. 메인 인코더 모델은 어느 하나의 특징 정보로부터 추출된 쿼리 벡터와 입력된 모든 특징 정보들로부터 추출된 키 벡터들 간의 행렬 곱 연산을 통해, 어느 하나의 특징 정보에 대한 입력된 모든 특징 정보들과의 상관관계를 파악할 수 있다. 이때, 상관관계는 특징 정보들 상호 간의 관련성이나 중요도를 의미한다. 메인 인코더 모델은 파악된 상관관계를 반영한 가중합을 구함으로써, 어느 하나의 특징 정보의 어텐션 값을 획득할 수 있다. 메인 인코더 모델은 메인 인코더 모델에 입력된 모든 특징 정보들에 대하여, 각각의 어텐션 값을 획득할 수 있다. The main encoder model is based on self-attention, and for any one feature information, it identifies the correlation with all feature information input to the main encoder model, and the attention value (attention value) of any one feature information in the image related to the product. value) can be obtained. The main encoder model correlates any one feature information with all input feature information through a matrix multiplication operation between the query vector extracted from any one feature information and the key vectors extracted from all input feature information. relationship can be identified. At this time, the correlation means the relevance or importance between feature information. The main encoder model may obtain an attention value of any one feature information by obtaining a weighted sum reflecting the identified correlation. The main encoder model may obtain each attention value for all feature information input to the main encoder model.

예를 들어, 도 5를 참조하면, 메인 인코더 모델의 입력 레이어에 연결된, 적어도 하나의 레이어를 포함하는 벡터 추출 레이어와 적어도 하나의 레이어를 포함하는 연산 레이어를 통해, 입력 레이어에 입력된 모든 특징 정보들 각각에 대하여, 어텐션 값에 대응되는 컨텍스트 벡터를 획득할 수 있다.For example, referring to FIG. 5 , all feature information input to the input layer through a vector extraction layer including at least one layer connected to the input layer of the main encoder model and a calculation layer including at least one layer. For each of , a context vector corresponding to the attention value may be obtained.

메인 인코더 모델의 입력 레이어에 입력된 이미지 특징 정보인 제1 벡터로부터 제1 쿼리 벡터(q1)와 제1 키 벡터(k1)가 추출될 수 있다. 메인 인코더 모델의 입력 레이어에 입력된 'MONTES'에 대응되는 텍스트 특징 정보인 제2 벡터로부터 제2 쿼리 벡터(q2)와 제2 키 벡터(k2)가 추출될 수 있다. 메인 인코더 모델의 입력 레이어에 입력된 '2001'에 대응되는 텍스트 특징 정보인 제3 벡터로부터 제3 쿼리 벡터(q3)와 제3 키 벡터(k3)가 추출될 수 있다. 메인 인코더 모델의 입력 레이어에 입력된 'Chile'에 대응되는 텍스트 특징 정보인 제n 벡터로부터 제n 쿼리 벡터(qn)와 제n 키 벡터(kn)가 추출될 수 있다.A first query vector q1 and a first key vector k1 may be extracted from the first vector, which is image feature information input to the input layer of the main encoder model. A second query vector q2 and a second key vector k2 may be extracted from the second vector, which is text feature information corresponding to 'MONTES' input to the input layer of the main encoder model. A third query vector q3 and a third key vector k3 may be extracted from the third vector, which is text feature information corresponding to '2001' input to the input layer of the main encoder model. An n-th query vector (qn) and an n-th key vector (kn) may be extracted from the n-th vector, which is text feature information corresponding to 'Chile' input to the input layer of the main encoder model.

이후, 메인 인코더 모델의 입력 레이어에 입력된 모든 특정 정보들 각각에 대해, 다음과 같은 방식으로, 어텐션 값에 대응되는 컨텍스트 벡터를 획득할 수 있다.Then, for each of all the specific information input to the input layer of the main encoder model, a context vector corresponding to the attention value may be obtained in the following manner.

먼저, 이미지 특징 정보인 제1 벡터와 모든 특징 정보들과의 상관관계를 파악하기 위해, 제1 쿼리 벡터(q1)와 제1 키 벡터(k1) 내지 제n 키 벡터(kn) 각각의 행렬 곱 연산을 통해, 내적 값인 q1k1, q1k2, q1k3, ..., q1kn 을 구할 수 있다. 제1 벡터인 이미지 특징 정보와 상관관계가 높은 특징 정보일 수록, 내적 값이 크며, 문맥적으로 상호 간의 관련성이 높음을 의미한다. 각 내적 값에 softmax 연산을 취한 가중치 값을 이용하여, 각 특징 정보의 밸류 벡터에 대한 가중합을 구함으로써, 상품에 관련된 이미지 즉, 와인의 라벨에서, 이미지 특징 정보가 지닌 의미를 컨텍스트 벡터 V1로 표현할 수 있다.First, in order to determine the correlation between the first vector, which is image feature information, and all feature information, the matrix multiplication of the first query vector (q1) and the first key vector (k1) to the n-th key vector (kn), respectively. Through the operation, the dot product values q1k1, q1k2, q1k3, ..., q1kn can be obtained. The higher the correlation with the image feature information, which is the first vector, the higher the dot product value, and contextually, the higher the correlation between them. By using the weight value obtained by performing the softmax operation on each dot product value and obtaining the weighted sum of the value vector of each feature information, the meaning of the image feature information in the image related to the product, that is, the wine label, is converted into the context vector V1. can express

다음, 'MONTES'에 대응되는 제1 텍스트 특징 정보인 제2 벡터와 모든 특징 정보들과의 상관관계를 파악하기 위해, 제2 쿼리 벡터(q2)와 제1 키 벡터(k1) 내지 제n 키 벡터(kn) 각각의 행렬 곱 연산을 통해, 내적 값인 q2k1, q2k2, q2k3, ..., q2kn 을 구할 수 있다. 각 내적 값에 softmax 연산을 취한 가중치 값을 이용하여, 각 특징 정보의 밸류 벡터에 대한 가중합을 구함으로써, 와인의 라벨에서, 'MONTES'에 대응되는 제1 텍스트 특징 정보가 지닌 의미를 컨텍스트 벡터 V2로 표현할 수 있다.Next, in order to determine the correlation between the second vector, which is the first text characteristic information corresponding to 'MONTES', and all the characteristic information, the second query vector (q2) and the first key vector (k1) to the nth key Dot product values q2k1, q2k2, q2k3, ..., q2kn can be obtained through matrix multiplication of each vector kn. The meaning of the first text feature information corresponding to 'MONTES' in the wine label is obtained by obtaining a weighted sum of the value vector of each feature information using a weight value obtained by performing a softmax operation on each dot product value. It can be expressed as V2.

비슷한 방식으로, '2001'에 대응되는 제2 텍스트 특징 정보인 제3 벡터와 모든 특징 정보들과의 상관관계를 파악하기 위해, 제3 쿼리 벡터(q3)와 제1 키 벡터(k1) 내지 제n 키 벡터(kn) 각각의 행렬 곱 연산을 통해, 내적 값인 q3k1, q3k2, q3k3, ..., q3kn 을 구할 수 있다. 각 내적 값에 softmax 연산을 취한 가중치 값을 이용하여, 각 특징 정보의 밸류 벡터에 대한 가중합을 구함으로써, 와인의 라벨에서, '2001'에 대응되는 제2 텍스트 특징 정보가 지닌 의미를 컨텍스트 벡터 V3로 표현할 수 있다.In a similar way, in order to determine the correlation between the third vector, which is the second text feature information corresponding to '2001', and all feature information, the third query vector (q3) and the first key vectors (k1 to th) Dot product values q3k1, q3k2, q3k3, ..., q3kn can be obtained through matrix multiplication of n key vectors (kn). The meaning of the second text feature information corresponding to '2001' in the label of wine is obtained by obtaining a weighted sum of the value vector of each feature information using a weight value obtained by performing a softmax operation on each dot product value. It can be expressed as V3.

마지막으로, 'Chile'에 대응되는 제n-1 텍스트 특징 정보인 제n 벡터와 모든 특징 정보들과의 상관관계를 파악하기 위해, 제n 쿼리 벡터(qn)와 제1 키 벡터(k1) 내지 제n 키 벡터(kn) 각각의 행렬 곱 연산을 통해, 내적 값인 qnk1, qnk2, qnk3, ..., qnkn 을 구할 수 있다. 각 내적 값에 softmax 연산을 취한 가중치 값을 이용하여, 각 특징 정보의 밸류 벡터에 대한 가중합을 구함으로써, 와인의 라벨에서, 'Chile'에 대응되는 제n-1 텍스트 특징 정보가 지닌 의미를 컨텍스트 벡터 Vn으로 표현할 수 있다.Finally, in order to determine the correlation between the n-th vector, which is the n-1th text feature information corresponding to 'Chile', and all feature information, the n-th query vector (qn) and the first key vector (k1 to Dot product values qnk1, qnk2, qnk3, ..., qnkn can be obtained through matrix multiplication of each nth key vector (kn). The meaning of the n-1th text feature information corresponding to 'Chile' in the wine label is obtained by obtaining the weighted sum of the value vector of each feature information using the weight value obtained by performing the softmax operation on each dot product value. It can be expressed as a context vector Vn.

컨텍스트 벡터 형태의 각 어텐션 값은 상품과 관련된 이미지 내에서, 각 특징 정보가 다른 특징 정보들과의 관계에서 문맥적으로 가지는 의미를 반영한 값이 될 수 있다. Each attention value in the form of a context vector may be a value reflecting a contextual meaning of each characteristic information in relation to other characteristic information in an image related to a product.

메인 인코더 모델은 모든 특징 정보들의 어텐션 값들 즉, 컨텍스트 벡터 V1, V2, V3, ..., Vn을 취합(summation)하여 퓨전 특징 정보인 Z1 벡터를 출력할 수 있다. 결과적으로, 퓨전 특징 정보는 상품에 관련된 이미지 내에서, 적어도 하나의 이미지 특징 정보와 적어도 하나의 텍스트 특징 정보 각각의 의미가 모두 반영되도록한, 새로운 형태의 특징 정보가 될 수 있다. 즉, 상품과 관련된 이미지로부터, 형태론적 특징 정보와 의미론적 특징 정보를 모두 활용하여 컨텍스트를 이해한 새로운 형태의 특징 정보가 인코딩될 수 있다. The main encoder model may output the Z1 vector, which is fusion feature information, by summating attention values of all feature information, that is, context vectors V1, V2, V3, ..., Vn. As a result, the fusion feature information can be a new type of feature information in which the meanings of at least one image feature information and at least one piece of text feature information are reflected in an image related to a product. That is, from an image related to a product, a new type of feature information in which context is understood by utilizing both morphological feature information and semantic feature information can be encoded.

다시 도 3을 참조하면, 단계 330에서, 전자 장치(100)는 상품의 데이터베이스를 이용하여, 퓨전 특징 정보와 매칭을 수행할 수 있다. 단계 330에 대해서는 이하 도 6에서 상술한다.Referring back to FIG. 3 , in step 330, the electronic device 100 may perform matching with fusion feature information using a product database. Step 330 will be described in detail with reference to FIG. 6 below.

도 6은 본 개시의 일 실시예에 따른 상품의 데이터베이스를 이용하여, 퓨전 특징 정보를 포함하는 하나 이상의 특징 정보와 매칭을 수행하는 과정을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a process of performing matching with one or more feature information including fusion feature information using a product database according to an embodiment of the present disclosure.

단계 610에서, 전자 장치(100)는 퓨전 특징 정보가 상품의 데이터베이스에 매칭되는지 확인할 수 있다. 전자 장치(100)는 퓨전 특징 정보와 상품의 데이터베이스에 등록되어 있는 정보를 비교하여, 일치하는 것이 있는지 확인할 수 있다. In step 610, the electronic device 100 may check whether the fusion feature information matches the product database. The electronic device 100 may compare the fusion feature information with the information registered in the product database and determine whether there is a match.

전자 장치(100)는 퓨전 특징 정보가 상품의 데이터베이스에 매칭되지 않는 경우, 이미지 특징 정보와 텍스트 특징 정보에 대해, 상품의 데이터베이스와 매칭을 수행할 수 있다. If the fusion feature information does not match the product database, the electronic device 100 may match the image feature information and the text feature information with the product database.

퓨전 특징 정보가 상품의 데이터베이스에 매칭되지 않는 경우, 단계 620에서, 전자 장치(100)는 먼저 텍스트 특징 정보가 상품의 데이터베이스에 매칭되는지 확인할 수 있다. 텍스트 특징 정보가 복수 개인 경우, 복수 개의 텍스트 특징 정보 모두에 대해, 상품의 데이터베이스와 매칭을 수행할 수 있다. If the fusion feature information does not match the product database, in step 620, the electronic device 100 may first check whether the text feature information matches the product database. When there is a plurality of pieces of text feature information, matching may be performed with a product database for all of the pieces of text feature information.

텍스트 특징 정보가 상품의 데이터베이스에 매칭되지 않는 경우, 단계 630에서, 전자 장치(100)는 이미지 특징 정보가 상품의 데이터베이스에 매칭되는지 확인할 수 있다. 이미지 특징 정보가 복수 개인 경우, 복수 개의 이미지 특징 정보 모두에 대해, 상품의 데이터베이스와 매칭을 수행할 수 있다.If the text feature information does not match the product database, in step 630, the electronic device 100 may check whether the image feature information matches the product database. When there is a plurality of image feature information, matching may be performed with a product database for all of the plurality of image feature information.

도 7은 텍스트 특징 정보에 의해 매칭되는 일 예를 설명하기 위한 도면이다. 7 is a diagram for explaining an example of matching based on text feature information.

도 7을 참조하면, 와인에 부착된 라벨의 디자인이 변경된 경우를 나타내고 있다. 두 와인은 동일한 상품이지만, 서로 다른 디자인의 라벨을 부착하고 있는 경우이다. 두 와인 중 하나는 소비자가 구매하고자 하는 와인이고, 다른 하나는 상품의 데이터베이스에 등록된 와인이다.Referring to FIG. 7 , it shows a case where the design of the label attached to the wine is changed. The two wines are the same product, but they are attached to labels with different designs. One of the two wines is the wine the consumer wants to purchase, and the other is the wine registered in the product database.

이와 같은 경우, 두 와인의 라벨로부터 인코딩된 이미지 특징 정보는 서로 다르게 된다. 하지만, 두 와인의 라벨로부터 인코딩된 텍스트 특징 정보는 서로 동일할 수가 있다. 도 7에 도시된 바와 같이, 두 와인 모두에 대해, '그란 비노 2001'을 텍스트 특징 정보로 인코딩하였기 때문에, 소비자가 구매하고자 하는 와인의 텍스트 특징 정보는 상품의 데이터베이스에 저장된 정보와 매칭될 수 있다.In this case, the image feature information encoded from the labels of the two wines is different. However, the text feature information encoded from the labels of the two wines may be the same. As shown in FIG. 7, since 'Gran Vino 2001' is encoded as text feature information for both wines, the text feature information of the wine that the consumer wants to purchase can be matched with information stored in the product database. .

도 8은 이미지 특징 정보에 의해 매칭되는 일 예를 설명하기 위한 도면이다.8 is a diagram for explaining an example of matching based on image feature information.

도 8을 참조하면, 와인에 부착된 라벨이 변색 또는 훼손된 경우를 나타내고 있다. 두 와인은 동일한 상품이지만, 소비자가 구매하고자 하는 와인이 유통 과정에서 변색되거나 훼손된 라벨을 부착하고 있는 경우이다. Referring to Figure 8, it shows a case where the label attached to the wine is discolored or damaged. The two wines are the same product, but the wine that the consumer wants to purchase has a discolored or damaged label attached during the distribution process.

특히 변색 또는 훼손된 부분이 라벨의 텍스트 영역인 경우, 두 와인 각각의 라벨로부터 인코딩된 텍스트 특징 정보는 서로 다르게 된다. 하지만, 두 와인 각각의 라벨로부터 인코딩된 이미지 특징 정보는 서로 동일할 수가 있다. 도 8에 도시된 바와 같이, 첫 번째 와인은 '그란 비노 2001'이 텍스트 특징 정보로 인코딩되었고, 두 번째 와인은 '그란비노' 부분이 변색되어, OCR 실행 결과, '2001' 부분만 텍스트 특징 정보로 인코딩될 수 있다. 그 결과, 두 와인의 텍스트 특징 정보는 매칭되지 않게 될 수 있다. 그러나, 두 와인 각각의 라벨의 이미지 영역의 형태에 관한 특징이 거의 동일하기 때문에, 두 와인 각각의 라벨로부터 인코딩된 이미지 특징 정보는 서로 매칭될 수 있다. 도 8에 도시된 바와 같이, 소비자가 구매하고자 하는 와인의 이미지 특징 정보는 상품의 데이터베이스에 저장된 정보와 매칭될 수 있다.In particular, when the discolored or damaged portion is the text area of the label, the text feature information encoded from the respective labels of the two wines is different. However, the image feature information encoded from the respective labels of the two wines may be identical to each other. As shown in FIG. 8, in the first wine, 'Gran vino 2001' was encoded as text feature information, and in the second wine, 'Gran vino' part was discolored, and as a result of OCR execution, only '2001' part was text feature information. can be encoded as As a result, text feature information of the two wines may not match. However, since the characteristics of the shape of the image area of the respective labels of the two wines are almost the same, the image characteristic information encoded from the respective labels of the two wines can be matched with each other. As shown in FIG. 8 , image characteristic information of wine that a consumer intends to purchase may be matched with information stored in a product database.

텍스트 특징 정보와 이미지 특징 정보가 상품의 데이터베이스에 매칭되지 않는 경우, 단계 640에서, 전자 장치(100)는 해당 상품을 새로운 상품으로서 상품의 데이터베이스에 등록하여, 데이터베이스를 업데이트할 수 있다.When the text feature information and the image feature information do not match the product database, in step 640, the electronic device 100 may update the database by registering the corresponding product as a new product in the product database.

이미지 특징 정보와 상기 텍스트 특징 정보 중 어느 하나가 상품의 데이터베이스에 매칭되는 경우, 단계 650에서, 전자 장치(100)는 단계 610에서 상품의 데이터베이스에 매칭되지 않은 퓨전 특징 정보가 추후에는 상품의 데이터베이스와 매칭되도록, 메인 인코더 모델을 업데이트 시킬 수 있다. When any one of the image feature information and the text feature information matches the product database, in step 650, the electronic device 100 converts the fusion feature information that does not match the product database in step 610 to the product database later. The main encoder model may be updated to match.

예를 들어, 상품과 관련된 이미지의 부분적인 훼손이나 오염, OCR 오인식 등으로, 퓨전 특징 정보가 왜곡되는 경우가 발생할 수 있다. 이와 같은 경우, 퓨전 특징 정보는 상품의 데이터베이스에 매칭되지 않지만, 상품과 관련된 이미지에서 문제가 없는 영역으로부터 인코딩되는 텍스트 특징 정보나 이미지 특징 정보가 상품의 데이터베이스에 매칭될 수 있다. 매칭되지 않은 퓨전 특징 정보는 지속적인 학습(continual learning)이 필요한 샘플이 될 수 있다. 지속적인 학습에 따라, 메인 인코더 모델을 업데이트하면, 추후 비슷하게 왜곡된 퓨전 특징 정보에 대해서는 상품의 데이터베이스와 매칭이 가능하게 될 수 있다.For example, fusion feature information may be distorted due to partial damage or contamination of an image related to a product, OCR misrecognition, and the like. In this case, fusion feature information is not matched to the product database, but text feature information or image feature information encoded from a problem-free region in the image related to the product may be matched to the product database. Unmatched fusion feature information may be a sample requiring continuous learning. If the main encoder model is updated according to continuous learning, it may be possible to match with the product database for similarly distorted fusion feature information in the future.

다시 도 6을 참조하면, 단계 660에서, 전자 장치(100)는 퓨전 특징 정보, 텍스트 특징 정보, 및 이미지 특징 정보 중 어느 하나와 상품의 데이터베이스가 매칭되는 경우, 매칭 결과를 리턴할 수 있다. 전자 장치(100)는 상품의 데이터베이스로부터 매칭된 상품의 정보를 불러올 수 있다.Referring back to FIG. 6 , in step 660, the electronic device 100 may return a matching result when any one of fusion feature information, text feature information, and image feature information matches the product database. The electronic device 100 may retrieve matched product information from a product database.

다시 도 3을 참조하면, 단계 340에서, 전자 장치(100)는 매칭의 결과에 따라, 상품의 정보를 제공할 수 있다. 전자 장치(100)는 상품의 데이터베이스로부터 매칭된 상품이 있는 경우, 매칭된 상품의 정보를 디스플레이에 제공할 수 있다. 전자 장치(100)는 상품의 데이터베이스로부터 매칭된 상품이 없는 경우, 상품의 데이터베이스에 없는 상품임을 알리고, 상품의 데이터베이스에 해당 상품의 정보가 업데이트됨을 알려줄 수 있다.Referring back to FIG. 3 , in step 340, the electronic device 100 may provide product information according to a matching result. When there is a matched product from the product database, the electronic device 100 may provide information on the matched product to the display. When there is no matched product from the product database, the electronic device 100 may notify that the product does not exist in the product database and inform that information on the corresponding product is updated in the product database.

도 9는 본 개시의 일 실시예에 따른 상품을 인식하는 과정이 전자 장치(100)에서 운영되는 경우를 나타낸 도면이다.9 is a diagram illustrating a case in which a product recognition process according to an embodiment of the present disclosure is operated in the electronic device 100 .

서버(200)는 적어도 하나의 기능 서버로 구성될 수 있다. 제1 서버는 특징 정보 인코더 모델, 특히, 메인 인코더 모델을 학습시킬 수 있다. 제1 서버는 학습이 필요한 샘플이 발생하는 경우, 해당 샘플을 이용하여, 메인 인코더 모델을 학습시킬 수 있다. 제2 서버는 상품의 데이터베이스를 관리할 수 있다. 상품에 관련된 정보가 변경되거나 새로운 상품의 등록이 필요한 경우, 제2 서버는 상품의 데이터베이스를 새로운 정보로 업데이트할 수 있다.Server 200 may be composed of at least one function server. The first server may train a feature information encoder model, in particular, a main encoder model. When a sample requiring learning is generated, the first server may learn the main encoder model using the corresponding sample. The second server may manage a product database. When information related to a product is changed or registration of a new product is required, the second server may update the database of the product with the new information.

전자 장치(100)는 서버(200)에서 학습된 메인 인코더 모델을 수신하여, 전자 장치(100)에 저장된 메인 인코더 모델을 업데이트할 수 있다. 전자 장치(100)는 서버(200)로부터 상품의 데이터베이스를 수신하여, 전자 장치(100)에 저장된 데이터베이스를 최신의 것으로 유지할 수 있다. 전자 장치(100)는 상품 인식 애플리케이션이 실행될 때마다 또는 정기적으로, 서버(200)로부터 메인 인코더 모델과 상품의 데이터베이스를 수신할 수 있다. The electronic device 100 may receive the main encoder model learned in the server 200 and update the main encoder model stored in the electronic device 100 . The electronic device 100 may receive a database of products from the server 200 and maintain the database stored in the electronic device 100 as up-to-date. The electronic device 100 may receive the main encoder model and the product database from the server 200 whenever the product recognition application is executed or periodically.

이와 같이, 전자 장치(100)가 서버(200)로부터 메인 인코더 모델을 포함하는 특징 정보 인코더 모델과 상품의 데이터베이스를 수신하여 전자 장치(100) 내에 저장해두는 경우, 전자 장치(100)는 온-디바이스(On-device) 기반으로 상품 인식 프로세스를 운영할 수 있다.In this way, when the electronic device 100 receives the feature information encoder model including the main encoder model and the product database from the server 200 and stores them in the electronic device 100, the electronic device 100 provides an on-device (On-device) based product recognition process can be operated.

도 9를 참조하면, 전자 장치(100)는 사용자의 입력에 따라, 와인 인식 애플리케이션을 실행하여, 와인과 관련된 이미지 즉, 와인의 라벨을 카메라를 통해 획득할 수 있다. 전자 장치(100)는 특징 정보 인코더 모델의 제1 서브 인코더 모델과 제2 서브 인코더 모델을 이용하여, 와인의 라벨로부터 이미지 특징 정보와 텍스트 특징 정보를 획득할 수 있다. 전자 장치(100)는 특징 정보 인코더 모델의 메인 인코더 모델을 이용하여, 이미지 특징 정보와 텍스트 특징 정보에 기초한 퓨전 특징 정보를 획득할 수 있다. 전자 장치(100)는 와인의 데이터베이스를 이용하여, 퓨전 특징 정보를 포함한 적어도 하나의 특징 정보와 매칭을 수행할 수 있다. 전자 장치(100)는 매칭의 결과에 따라, 와인의 정보를 디스플레이에 제공할 수 있다.Referring to FIG. 9 , the electronic device 100 may obtain an image related to wine, that is, a wine label, through a camera, by executing a wine recognition application according to a user's input. The electronic device 100 may obtain image feature information and text feature information from the wine label by using the first sub-encoder model and the second sub-encoder model of the feature information encoder model. The electronic device 100 may obtain fusion feature information based on image feature information and text feature information by using the main encoder model of the feature information encoder model. The electronic device 100 may perform matching with at least one piece of feature information including fusion feature information by using the wine database. The electronic device 100 may provide wine information to the display according to the matching result.

도 10은 본 개시의 일 실시예에 따른 상품을 인식하는 과정이 전자 장치(100)와 서버(200) 기반으로 운영되는 경우를 나타낸 도면이다.10 is a diagram illustrating a case in which a product recognition process according to an embodiment of the present disclosure is operated based on the electronic device 100 and the server 200.

이상에서, 설명의 편의상, 상품을 인식하는 방법의 주체를 전자 장치(100)로 기재하였으나, 상품을 인식하는 과정은 전자 장치(100)와 연계되는 서버(200)에서도 이루어질 수 있다. 이상에서 설명한 전자 장치(100)가 상품을 인식하는 방식에 관한 내용은 도 10의 실시예에 대해서도 적용될 수 있다.In the above, for convenience of description, the subject of the product recognition method has been described as the electronic device 100, but the product recognition process can also be performed in the server 200 associated with the electronic device 100. The information about the method of recognizing a product by the electronic device 100 described above may also be applied to the embodiment of FIG. 10 .

도 10을 참조하면, 서버(200)는 특징 정보 인코더 모델, 특히, 메인 인코더 모델을 학습시키고, 상품의 데이터베이스를 관리할 수 있다. 전자 장치(100)는 서버(200)로부터 메인 인코더 모델이나 상품의 데이터베이스를 수신하지 않고, 대신, 전자 장치(100)에서 획득된 상품에 관련된 이미지를 서버(200)로 전송할 수 있다. 이와 같이, 전자 장치(100) 내에 메인 인코더 모델을 포함하는 특징 정보 인코더 모델과 상품의 데이터베이스가 저장되어 있지 않는 경우, 전자 장치(100)와 서버(200) 기반으로 상품 인식 프로세스를 운영할 수 있다.Referring to FIG. 10 , the server 200 may learn a feature information encoder model, in particular, a main encoder model, and manage a product database. The electronic device 100 may not receive a main encoder model or a product database from the server 200 , but instead may transmit an image related to a product acquired by the electronic device 100 to the server 200 . As such, when the feature information encoder model including the main encoder model and the product database are not stored in the electronic device 100, the product recognition process can be operated based on the electronic device 100 and the server 200. .

도 10을 참조하면, 전자 장치(100)는 카메라를 통해 획득한 와인과 관련된 이미지 즉, 와인의 라벨을 서버(200)로 전송할 수 있다. 서버(200)는 특징 정보 인코더 모델의 제1 서브 인코더 모델과 제2 서브 인코더 모델을 이용하여, 와인의 라벨로부터 이미지 특징 정보와 텍스트 특징 정보를 획득할 수 있다. 서버(200)는 특징 정보 인코더 모델의 메인 인코더 모델을 이용하여, 이미지 특징 정보와 텍스트 특징 정보에 기초한 퓨전 특징 정보를 획득할 수 있다. 서버(200)는 와인의 데이터베이스를 이용하여, 퓨전 특징 정보를 포함한 적어도 하나의 특징 정보와 매칭을 수행할 수 있다. 서버(200)는 매칭의 결과를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신된 매칭의 결과에 따라, 와인의 정보를 디스플레이에 제공할 수 있다.Referring to FIG. 10 , the electronic device 100 may transmit an image related to wine acquired through a camera, that is, a wine label to the server 200 . The server 200 may obtain image feature information and text feature information from the wine label by using the first sub-encoder model and the second sub-encoder model of the feature information encoder model. The server 200 may obtain fusion feature information based on image feature information and text feature information by using the main encoder model of the feature information encoder model. The server 200 may perform matching with at least one piece of feature information including fusion feature information by using a wine database. The server 200 may transmit a matching result to the electronic device 100 . The electronic device 100 may provide wine information to the display according to the received matching result.

도 11은 본 개시의 일 실시예에 따른 전자 장치(100)의 구성을 도시한 블록도이다.11 is a block diagram showing the configuration of an electronic device 100 according to an embodiment of the present disclosure.

도 11을 참조하면, 일 실시예에 따른 전자 장치(100)는 메모리(110), 프로세서(120), 카메라(130), 디스플레이(140), 통신 인터페이스(150)를 포함할 수 있다.Referring to FIG. 11 , an electronic device 100 according to an embodiment may include a memory 110, a processor 120, a camera 130, a display 140, and a communication interface 150.

메모리(110)는 프로세서(120)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예들에서, 프로세서(120)가 수행하는 동작들은 메모리(110)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다.The memory 110 may store instructions, data structures, and program codes readable by the processor 120 . In the disclosed embodiments, operations performed by the processor 120 may be implemented by executing instructions or codes of a program stored in the memory 110 .

메모리(110)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등)를 포함할 수 있으며, 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비 휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.The memory 110 includes a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (eg SD or XD memory). Non-volatile memory including at least one of ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, and optical disk and volatile memory such as RAM (Random Access Memory) or SRAM (Static Random Access Memory).

일 실시예에 따른 메모리(110)는 전자 장치(100)가 상품을 인식하도록 제어하는 하나 이상의 인스트럭션 및/또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(110)에는 인코더 모듈, 상품 매칭 모듈이 저장될 수 있다. 전자 장치(100) 내에서 인공지능 모델의 학습이 필요한 경우, 모델 학습 모듈을 더 탑재할 수도 있다.The memory 110 according to an embodiment may store one or more instructions and/or programs for controlling the electronic device 100 to recognize a product. For example, an encoder module and a product matching module may be stored in the memory 110 . If learning of an artificial intelligence model is required within the electronic device 100, a model learning module may be further installed.

프로세서(120)는 메모리(110)에 저장된 명령어들이나 프로그램화된 소프트웨어 모듈을 실행함으로써, 전자 장치(100)가 수행하는 동작이나 기능을 제어할 수 있다. 프로세서(120)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다. 프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션(instructions)을 실행함으로써, 전자 장치(100)가 상품을 인식하기 위한 전반적인 동작들을 제어할 수 있다.The processor 120 may control operations or functions performed by the electronic device 100 by executing instructions stored in the memory 110 or programmed software modules. The processor 120 may be composed of hardware components that perform arithmetic, logic and input/output operations and signal processing. The processor 120 may control overall operations for the electronic device 100 to recognize products by executing one or more instructions stored in the memory 110 .

프로세서(120)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 처리 장치(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 애플리케이션 프로세서(Application Processor), 신경망 처리 장치(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다. 프로세서(120)를 구성하는 각 프로세서는 소정의 기능을 수행하기 위한 전용 프로세서일 수 있다.The processor 120 may include, for example, a central processing unit, a microprocessor, a graphic processing unit, application specific integrated circuits (ASICs), digital signal processors (DSPs), DSPDs ( Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), Application Processors, Neural Processing Units, or artificial intelligence designed with hardware structures specialized in processing AI models. It may be configured with at least one of dedicated processors, but is not limited thereto. Each processor constituting the processor 120 may be a dedicated processor for performing a predetermined function.

카메라(130)는 이미지를 획득하는 하드웨어 모듈이다. 카메라(130)는 상품에 관련된 이미지를 촬영할 수 있다. 카메라(130)는 적어도 하나의 카메라 모듈을 구비할 수 있으며, 전자 장치(100)의 사양에 따라, 접사, 심도, 망원, 광각, 초광각 등의 기능을 지원할 수 있다. The camera 130 is a hardware module that acquires images. The camera 130 may capture images related to products. The camera 130 may include at least one camera module, and may support macro, depth-of-field, telephoto, wide-angle, and ultra-wide-angle functions according to specifications of the electronic device 100 .

디스플레이(140)는 정보나 영상을 제공하는 출력부를 포함하며, 입력을 수신하는 입력부를 더 포함한 형태일 수 있다. 출력부는 표시 패널 및 표시 패널을 제어하는 컨트롤러를 포함할 수 있으며, OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode) 디스플레이, LCD(Liquid Crystal Display) 등과 같은 다양한 방식으로 구현될 수 있다. 입력부는 사용자로부터 다양한 형태의 입력을 받을 수 있으며, 터치 패널, 키패드, 펜 인식 패널 중 적어도 하나를 포함한 형태일 수 있다. 디스플레이(140)는 표시 패널과 터치 패널이 결합된 터치 스크린 형태로 제공될 수 있으며, 유연하게(flexible) 또는 접을 수 있게(foldable) 구현될 수 있다.The display 140 includes an output unit for providing information or images, and may further include an input unit for receiving an input. The output unit may include a display panel and a controller controlling the display panel, and may include a variety of display devices such as OLED (Organic Light Emitting Diodes) displays, AM-OLED (Active-Matrix Organic Light-Emitting Diodes) displays, LCD (Liquid Crystal Display) displays, and the like. can be implemented in this way. The input unit may receive various types of inputs from a user, and may include at least one of a touch panel, a keypad, and a pen recognition panel. The display 140 may be provided in the form of a touch screen in which a display panel and a touch panel are combined, and may be implemented in a flexible or foldable manner.

통신 인터페이스(150)는 다른 장치 또는 네트워크와 유무선 통신을 수행할 수 있다. 통신 인터페이스(150)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 회로 또는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 인터페이스(150)는 예를 들어, 유선 랜, 무선 랜(Wireless LAN), 와이파이(Wi-Fi), 블루투스(Bluetooth), 지그비(ZigBee), WFD(Wi-Fi Direct), 적외선 통신(IrDA, infrared Data Association), BLE (Bluetooth Low Energy), NFC(Near Field Communication), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 와이기그(Wireless Gigabit Alliances, WiGig) 및 RF 통신을 포함하는 데이터 통신 방식 중 적어도 하나를 이용하여, 전자 장치(100)와 다른 장치들 간의 데이터 통신을 수행할 수 있다.The communication interface 150 may perform wired/wireless communication with other devices or networks. The communication interface 150 may include a communication circuit or communication module supporting at least one of various wired/wireless communication methods. For example, the communication interface 150 may be, for example, wired LAN, wireless LAN, Wi-Fi, Bluetooth, ZigBee, Wi-Fi Direct (WFD), infrared Communication (IrDA, Infrared Data Association), BLE (Bluetooth Low Energy), NFC (Near Field Communication), WiBro (Wireless Broadband Internet, Wibro), WiMAX (World Interoperability for Microwave Access, WiMAX), SWAP (Shared Wireless Access Protocol) Data communication between the electronic device 100 and other devices may be performed using at least one of data communication methods including WiGig, Wireless Gigabit Alliances (RF), and RF communication.

일 실시예에 따른 통신 인터페이스(150)는 상품을 인식하기 위해 이용되는 인공지능 모델(예를 들어, CNN 기반의 특징 정보 인코딩 모델, 메인 인코딩 모델)이나 학습용 샘플 데이터를 외부 장치와 송수신할 수 있다. 통신 인터페이스(150)는 서버(200)로 전자 장치(100)의 카메라(130)를 통해 촬영한 이미지를 전송하거나, 서버(200)에서 학습된 인공지능 모델이나 데이터베이스를 수신할 수 있다. The communication interface 150 according to an embodiment may transmit/receive an artificial intelligence model (eg, a CNN-based feature information encoding model, a main encoding model) used to recognize a product or sample data for learning with an external device. . The communication interface 150 may transmit an image captured through the camera 130 of the electronic device 100 to the server 200 or may receive an artificial intelligence model or database learned in the server 200 .

프로세서(120) 또는 프로세서(120)를 구성하는 제1 프로세서는 상품 인식 애플리케이션을 실행하여, 전자 장치(100)가 상품에 관련된 이미지를 획득할 수 있도록 제어할 수 있다. 상품과 관련된 이미지는 전자 장치(100)의 카메라(130)를 이용하여 획득되거나 외부 장치로부터 수신될 수 있다.The processor 120 or a first processor constituting the processor 120 may execute a product recognition application and control the electronic device 100 to obtain an image related to the product. An image related to a product may be acquired using the camera 130 of the electronic device 100 or received from an external device.

프로세서(120) 또는 프로세서(120)를 구성하는 제2 프로세서는 인코더 모듈을 실행하여, 상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득하고, 제1 특징 정보와 제2 특징 정보에 기초한 퓨전 특징 정보를 획득할 수 있다.The processor 120 or a second processor constituting the processor 120 executes an encoder module to obtain first feature information and second feature information from an image related to a product, and to obtain the first feature information and the second feature information. Based fusion feature information may be obtained.

프로세서(120) 또는 제2 프로세서는 인코더 모듈을 실행하여, 상품과 관련된 이미지를 제1 엘리먼트와 제2 엘리먼트로 분류하고, 제1 서브 인코더 모델을 이용하여, 제1 엘리먼트로부터 제1 특징 정보를 인코딩하고, 제2 서브 인코더 모델을 이용하여, 제2 엘리먼트로부터 제2 특징 정보를 인코딩할 수 있다. 프로세서(120) 또는 제2 프로세서는 인코더 모듈을 실행하여, 제1 서브 인코더 모델을 이용하여, 상품에 관련된 이미지에서 분류된 제1 엘리먼트로부터 제1 특징을 추출하고, 추출된 제1 특징을 제1 특징 정보로 인코딩할 수 있다. 프로세서(120) 또는 제2 프로세서는 인코더 모듈을 실행하여, 제2 서브 인코더 모델을 이용하여, 상품에 관련된 이미지에서 분류된 제2 엘리먼트로부터 제2 특징을 추출하고, 추출된 제2 특징을 제2 특징 정보로 인코딩할 수 있다.The processor 120 or the second processor executes an encoder module to classify an image related to a product into a first element and a second element, and encodes first characteristic information from the first element using a first sub-encoder model. And, the second feature information may be encoded from the second element by using the second sub-encoder model. The processor 120 or the second processor executes an encoder module to extract a first feature from a first element classified in an image related to a product using a first sub-encoder model, and converts the extracted first feature into a first sub-encoder model. It can be encoded as feature information. The processor 120 or the second processor executes the encoder module to extract a second feature from the second element classified in the image related to the product by using the second sub-encoder model, and converts the extracted second feature to the second element. It can be encoded as feature information.

프로세서(120) 또는 제2 프로세서는 인코더 모듈을 실행하여, 서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 제1 특징 정보와 제2 특징 정보에 기초한 퓨전 특징 정보를 획득할 수 있다.The processor 120 or the second processor executes the encoder module to generate fusion feature information based on the first feature information and the second feature information using a main encoder model that reflects the correlation between feature information of different modalities. can be obtained

프로세서(120) 또는 프로세서(120)를 구성하는 제3 프로세서는 상품 매칭 모듈을 실행하여, 상품의 데이터베이스를 이용하여, 퓨전 특징 정보와 매칭을 수행할 수 있다. 프로세서(120) 또는 제3 프로세서는 상품 매칭 모듈을 실행하여, 퓨전 특징 정보가 매칭되지 않는 경우, 제1 특징 정보와 제2 특징 정보에 대해, 상품의 데이터베이스와 매칭을 수행할 수 있다. 프로세서(120) 또는 제3 프로세서는 매칭의 결과에 따라, 상품의 정보를 디스플레이(140)를 통해 제공할 수 있다. The processor 120 or a third processor constituting the processor 120 may execute a product matching module and perform matching with fusion feature information using a database of products. The processor 120 or the third processor may execute the product matching module and, if the fusion feature information does not match, match the first feature information and the second feature information with a product database. The processor 120 or the third processor may provide product information through the display 140 according to a matching result.

프로세서(120) 또는 프로세서(120)를 구성하는 제4 프로세서는 퓨전 특징 정보는 매칭되지 않고, 제1 특징 정보와 제2 특징 정보 중 어느 하나가 상품의 데이터베이스에 매칭되는 경우, 모델 학습 모듈을 실행하여, 매칭되지 않은 퓨전 특징 정보가 상품의 데이터베이스와 매칭되도록, 메인 인코더 모델을 업데이트시킬 수 있다. 프로세서(120) 또는 제4 프로세서는 모델 학습 모듈을 실행하여, 매칭되지 않은 퓨전 특징 정보를 이용하여 메인 인코더 모델을 학습시키거나, 매칭되지 않은 퓨전 특징 정보를 이용하여 학습된 메인 인코더 모델을 서버(200)로부터 수신하여 업데이트되도록 제어할 수 있다.The processor 120 or the fourth processor constituting the processor 120 executes the model learning module when the fusion feature information is not matched and either the first feature information or the second feature information matches the product database. Thus, the main encoder model may be updated so that unmatched fusion feature information is matched with the product database. The processor 120 or the fourth processor executes the model learning module to learn the main encoder model using unmatched fusion feature information, or to use the unmatched fusion feature information to learn the main encoder model as a server ( 200) and can be controlled to be updated.

프로세서(120) 또는 프로세서(120)를 구성하는 제5 프로세서는 퓨전 특징 정보, 제1 특징 정보, 및 제2 특징 정보 중 어느 것도 상품의 데이터베이스에 매칭되지 않는 경우, 해당 상품을 새로운 상품으로서 상품의 데이터베이스에 등록할 수 있다.If none of the fusion feature information, the first feature information, and the second feature information match the product database, the processor 120 or the fifth processor constituting the processor 120 converts the product as a new product. can be registered in the database.

도 12는 본 개시의 일 실시예에 따른 서버(200)의 구성을 도시한 블록도이다.12 is a block diagram showing the configuration of a server 200 according to an embodiment of the present disclosure.

이상에서 전술한 전자 장치(100)의 동작들은 서버(200)에서도 비슷한 방식으로 수행될 수 있다. 일 실시예에 따른 서버(200)는 메모리(210), 프로세서(220), 통신 인터페이스(230), 스토리지(240)를 포함할 수 있다. 서버(200)의 구성들은 도 11의 전자 장치(100)의 메모리(110), 프로세서(120), 통신 인터페이스(130)에 각각 대응될 수 있으므로, 앞서 설명한 내용과 동일한 설명은 이하 생략한다.Operations of the electronic device 100 described above may be performed in a similar manner in the server 200 . The server 200 according to an embodiment may include a memory 210 , a processor 220 , a communication interface 230 , and a storage 240 . Components of the server 200 may correspond to the memory 110, the processor 120, and the communication interface 130 of the electronic device 100 of FIG. 11, respectively, and thus the same description as the previous description will be omitted.

메모리(210)는 서버(200)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(210)에 저장된 하나 이상의 명령어들 또는 어플리케이션은 프로세서(220)에 의해 실행될 수 있다. 메모리(210)에는 전자 장치(100)에 저장된 모듈과 동일한 기능을 수행하는 모듈이 저장되어 있을 수 있다. 예를 들어, 메모리(210)에는 인코더 모듈, 상품 매칭 모듈, 모델 학습 모듈과 이에 대응되는 데이터 및 프로그램 명령어 코드들이 저장될 수 있다. 프로세서(220)는 서버(200)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(220)는 메모리(210)에 저장되는 하나 이상의 명령어들을 실행할 수 있다.The memory 210 may store various data, programs, or applications for driving and controlling the server 200 . One or more instructions or applications stored in memory 210 may be executed by processor 220 . A module performing the same function as a module stored in the electronic device 100 may be stored in the memory 210 . For example, the memory 210 may store an encoder module, a product matching module, a model learning module, and data and program command codes corresponding thereto. The processor 220 may control the server 200 as a whole. The processor 220 according to an embodiment may execute one or more instructions stored in the memory 210 .

통신 인터페이스(230)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. The communication interface 230 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and these It may include one or more components that allow communication through mutual combination.

스토리지(240)는 제1 서브 인코딩 모델, 제2 서브 인코딩 모델, 및 메인 인코딩 모델을 포함하는 특징 정보 인코딩 모델이 저장될 수 있다. 스토리지(240)는 각 종 인공지는 모델들을 학습하는데 이용되는 학습용 데이터셋을 저장할 수 있다. 스토리지(240)는 상품에 관한 정보를 저장하고 있는 상품의 데이터베이스를 저장할 수 있다. The storage 240 may store feature information encoding models including a first sub encoding model, a second sub encoding model, and a main encoding model. The storage 240 may store training datasets used to learn various types of artificial intelligence models. The storage 240 may store a product database that stores product-related information.

일 실시예에 따른 서버(200)는, 전자 장치(100)보다 많은 연산을 빠르게 수행 가능하도록, 컴퓨팅 성능이 전자 장치(100)보다 높은 장치일 수 있다. 서버(200)는 상대적으로 많은 연산량이 요구되는, 인공지능 모델의 학습을 수행할 수 있다.The server 200 according to an embodiment may be a device with higher computing performance than the electronic device 100 so as to be able to perform more calculations faster than the electronic device 100 . The server 200 may perform learning of an artificial intelligence model, which requires a relatively large amount of computation.

한편, 본 개시의 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.Meanwhile, the embodiments of the present disclosure may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media may typically include computer readable instructions, data structures, or other data in a modulated data signal such as program modules.

또한, 컴퓨터에 의해 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Also, the computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium and temporary It does not discriminate if it is saved as . For example, a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store or between two user devices (eg smartphones). It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least a part of a computer program product (eg, a downloadable app) is stored on a device-readable storage medium such as a memory of a manufacturer's server, an application store server, or a relay server. It can be temporarily stored or created temporarily.

전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present disclosure described above is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present disclosure. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be interpreted as being included in the scope of the present disclosure. do.

Claims (20)

상품을 인식하는 방법에 있어서,
상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득하는 단계;
서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 상기 제1 특징 정보와 상기 제2 특징 정보에 기초한 퓨전 특징 정보(fusion feature information)를 획득하는 단계;
상기 상품의 데이터베이스를 이용하여, 상기 퓨전 특징 정보와 매칭을 수행하는 단계; 및
상기 매칭의 결과에 따라, 상기 상품의 정보를 제공하는 단계를 포함하는, 방법.
In the method of recognizing a product,
obtaining first characteristic information and second characteristic information from an image associated with a product;
obtaining fusion feature information based on the first feature information and the second feature information by using a main encoder model reflecting a correlation between feature information of different modalities;
performing matching with the fusion feature information using the product database; and
and providing information of the product according to a result of the matching.
제1 항에 있어서,
상기 메인 인코더 모델은,
적어도 하나의 상기 제1 특징 정보와 적어도 하나의 상기 제2 특징 정보를 입력으로 하고,
셀프 어텐션 기반으로 어느 하나의 특징 정보에 대한 상기 입력된 모든 특징 정보들과의 상관관계를 파악하여, 상기 이미지에서 상기 어느 하나의 특징 정보의 어텐션 값(attention value)을 획득하고,
상기 입력된 모든 특징 정보들의 어텐션 값들을 취합(summation)하여 상기 퓨전 특징 정보를 출력하는, 방법.
According to claim 1,
The main encoder model,
at least one of the first characteristic information and at least one of the second characteristic information as input;
Obtaining an attention value of any one feature information in the image by finding a correlation with all of the input feature information for any one feature information based on self-attention;
The method of outputting the fusion feature information by summation of attention values of all input feature information.
제2 항에 있어서,
상기 메인 인코더 모델은,
상기 어느 하나의 특징 정보로부터 추출된 쿼리 벡터와 상기 입력된 모든 특징 정보들로부터 추출된 키 벡터들 간의 행렬 곱 연산을 통해, 상기 어느 하나의 특징 정보에 대한 상기 입력된 모든 특징 정보들과의 상관관계를 파악하고, 상기 파악된 상관관계를 반영한 가중합을 구함으로써, 상기 어텐션 값을 획득하는, 방법.
According to claim 2,
The main encoder model,
Through a matrix multiplication operation between a query vector extracted from any one of the feature information and key vectors extracted from all of the input feature information, the correlation between the one feature information and all of the input feature information A method of acquiring the attention value by identifying a relationship and obtaining a weighted sum reflecting the identified correlation.
제1 항에 있어서,
상기 제1 특징 정보는 이미지 특징 정보이고, 상기 제2 특징 정보는 텍스트 특징 정보인, 방법.
According to claim 1,
The first characteristic information is image characteristic information, and the second characteristic information is text characteristic information.
제1 항에 있어서,
상기 제1 특징 정보와 상기 제2 특징 정보를 획득하는 단계는,
상기 이미지를 제1 엘리먼트와 제2 엘리먼트로 분류하는 단계;
제1 서브 인코더 모델을 이용하여, 상기 이미지에서 분류된 제1 엘리먼트로부터 제1 특징을 추출하고, 상기 추출된 제1 특징을 상기 제1 특징 정보로 인코딩하는 단계; 및
제2 서브 인코더 모델을 이용하여, 상기 이미지에서 분류된 제2 엘리먼트로부터 제2 특징을 추출하고, 상기 추출된 제2 특징을 상기 제2 특징 정보로 인코딩하는 단계를 포함하는, 방법.
According to claim 1,
Obtaining the first characteristic information and the second characteristic information,
classifying the image into a first element and a second element;
extracting a first feature from a first element classified in the image using a first sub-encoder model, and encoding the extracted first feature as the first feature information; and
and extracting a second feature from a second element classified in the image by using a second sub-encoder model, and encoding the extracted second feature as the second feature information.
제1 항에 있어서,
상기 퓨전 특징 정보가 매칭되지 않는 경우, 상기 제1 특징 정보와 상기 제2 특징 정보에 대해, 상기 상품의 데이터베이스와 매칭을 수행하는 단계를 더 포함하는, 방법.
According to claim 1,
If the fusion feature information does not match, the method further comprising performing matching with a database of the product on the first feature information and the second feature information.
제5 항에 있어서,
상기 제1 특징 정보와 상기 제2 특징 정보 중 어느 하나가 상기 상품의 데이터베이스에 매칭되는 경우, 상기 매칭되지 않은 퓨전 특징 정보가 상기 상품의 데이터베이스와 매칭되도록, 상기 메인 인코더 모델을 업데이트하는 단계를 더 포함하는, 방법.
According to claim 5,
If any one of the first feature information and the second feature information matches the database of the product, updating the main encoder model so that the unmatched fusion feature information matches the database of the product. Including, how.
제5 항에 있어서,
상기 제1 특징 정보와 상기 제2 특징 정보가 상기 상품의 데이터베이스에 매칭되지 않는 경우, 상기 상품을 새로운 상품으로서 상기 상품의 데이터베이스에 등록하는 단계를 더 포함하는, 방법.
According to claim 5,
The method further comprising registering the product as a new product in the database of the product when the first characteristic information and the second characteristic information do not match in the database of the product.
제1 항에 있어서,
상기 메인 인코더 모델을 학습시키고, 상기 상품의 데이터베이스를 관리하는 적어도 하나의 서버로부터, 상기 메인 인코더 모델과 상기 상품의 데이터베이스를 수신하는 단계를 더 포함하는, 방법.
According to claim 1,
The method further comprising receiving the main encoder model and the database of the product from at least one server that trains the main encoder model and manages the database of the product.
제1 항에 있어서,
사용자의 입력에 따라, 상품 인식 애플리케이션을 실행하여, 상기 상품과 관련된 이미지를 카메라를 통해 획득하는 단계를 더 포함하는, 방법.
According to claim 1,
According to a user's input, executing a product recognition application, further comprising acquiring an image related to the product through a camera, the method.
상품을 인식하는 전자 장치에 있어서,
디스플레이;
하나 이상의 명령어를 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상품과 관련된 이미지로부터 제1 특징 정보와 제2 특징 정보를 획득하고, 서로 다른 모달리티의 특징 정보들 간의 상관관계를 반영하는 메인 인코더 모델을 이용하여, 상기 제1 특징 정보와 상기 제2 특징 정보에 기초한 퓨전 특징 정보를 획득하고, 상기 상품의 데이터베이스를 이용하여, 상기 퓨전 특징 정보와 매칭을 수행하고, 상기 매칭의 결과에 따라, 상기 상품의 정보를 상기 디스플레이를 통해 제공하는, 전자 장치.
In an electronic device for recognizing a product,
display;
a memory that stores one or more instructions; and
a processor to execute the one or more instructions stored in the memory;
By executing the one or more instructions, the processor:
First feature information and second feature information are obtained from an image related to a product, and by using a main encoder model that reflects a correlation between feature information of different modalities, the first feature information and the second feature information An electronic device that obtains based fusion feature information, performs matching with the fusion feature information using a database of the product, and provides information of the product through the display according to a result of the matching.
제11 항에 있어서,
상기 메인 인코더 모델은,
적어도 하나의 상기 제1 특징 정보와 적어도 하나의 상기 제2 특징 정보를 입력으로 하고,
셀프 어텐션 기반으로 어느 하나의 특징 정보에 대한 상기 입력된 모든 특징 정보들과의 상관관계를 파악하여, 상기 이미지에서 상기 어느 하나의 특징 정보의 어텐션 값을 획득하고,
상기 입력된 모든 특징 정보들의 어텐션 값들을 취합하여 상기 퓨전 특징 정보를 출력하는, 전자 장치.
According to claim 11,
The main encoder model,
at least one of the first characteristic information and at least one of the second characteristic information as input;
Obtaining an attention value of any one feature information in the image by finding a correlation with all of the input feature information for any one feature information based on self-attention;
The electronic device outputting the fusion feature information by collecting attention values of all input feature information.
제12 항에 있어서,
상기 메인 인코더 모델은,
상기 어느 하나의 특징 정보로부터 추출된 쿼리 벡터와 상기 입력된 모든 특징 정보들로부터 추출된 키 벡터들 간의 행렬 곱 연산을 통해, 상기 어느 하나의 특징 정보에 대한 상기 입력된 모든 특징 정보들과의 상관관계를 파악하고, 상기 파악된 상관관계를 반영한 가중합을 구함으로써, 상기 어텐션 값을 획득하는, 전자 장치.
According to claim 12,
The main encoder model,
Through a matrix multiplication operation between a query vector extracted from any one of the feature information and key vectors extracted from all of the input feature information, the correlation between the one feature information and all of the input feature information An electronic device that obtains the attention value by identifying a relationship and obtaining a weighted sum reflecting the identified correlation.
제11 항에 있어서,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 이미지를 제1 엘리먼트와 제2 엘리먼트로 분류하고,
제1 서브 인코더 모델을 이용하여, 상기 이미지에서 분류된 제1 엘리먼트로부터 제1 특징을 추출하고, 상기 추출된 제1 특징을 상기 제1 특징 정보로 인코딩하고,
제2 서브 인코더 모델을 이용하여, 상기 이미지에서 분류된 제2 엘리먼트로부터 제2 특징을 추출하고, 상기 추출된 제2 특징을 상기 제2 특징 정보로 인코딩하는, 전자 장치.
According to claim 11,
By executing the one or more instructions, the processor:
classifying the image into a first element and a second element;
Extracting a first feature from a first element classified in the image using a first sub-encoder model, encoding the extracted first feature as the first feature information,
The electronic device of claim 1 , wherein a second feature is extracted from a second element classified in the image by using a second sub-encoder model, and the extracted second feature is encoded as the second feature information.
제11 항에 있어서,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 퓨전 특징 정보가 매칭되지 않는 경우, 상기 제1 특징 정보와 상기 제2 특징 정보에 대해, 상기 상품의 데이터베이스와 매칭을 수행하는, 전자 장치.
According to claim 11,
By executing the one or more instructions, the processor:
If the fusion feature information does not match, matching the first feature information and the second feature information with a database of the product is performed.
제15 항에 있어서,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 제1 특징 정보와 상기 제2 특징 정보 중 어느 하나가 상기 상품의 데이터베이스에 매칭되는 경우, 상기 매칭되지 않은 퓨전 특징 정보가 상기 상품의 데이터베이스와 매칭되도록, 상기 메인 인코더 모델을 업데이트하는, 전자 장치.
According to claim 15,
By executing the one or more instructions, the processor:
When any one of the first feature information and the second feature information matches the database of the product, the electronic device updates the main encoder model so that the unmatched fusion feature information matches the database of the product. .
제15 항에 있어서,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 제1 특징 정보와 상기 제2 특징 정보가 상기 상품의 데이터베이스에 매칭되지 않는 경우, 상기 상품을 새로운 상품으로서 상기 상품의 데이터베이스에 등록하는, 전자 장치.
According to claim 15,
By executing the one or more instructions, the processor:
and registering the product as a new product in the database of the product when the first characteristic information and the second characteristic information do not match the database of the product.
제11 항에 있어서,
통신 인터페이스를 더 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 메인 인코더 모델을 학습시키고, 상기 상품의 데이터베이스를 관리하는 적어도 하나의 서버로부터, 상기 메인 인코더 모델과 상기 상품의 데이터베이스를 상기 통신 인터페이스를 통해 수신하는, 전자 장치.
According to claim 11,
further comprising a communication interface;
By executing the one or more instructions, the processor:
An electronic device configured to receive, through the communication interface, the main encoder model and the product database from at least one server that learns the main encoder model and manages the product database.
제11 항에 있어서,
카메라를 더 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
사용자의 입력에 따라, 상품 인식 애플리케이션의 실행하고, 상기 상품과 관련된 이미지를 상기 카메라를 통해 획득하는, 전자 장치.
According to claim 11,
Including more cameras,
By executing the one or more instructions, the processor:
According to a user's input, an electronic device that executes a product recognition application and acquires an image related to the product through the camera.
제1 항 내지 제10 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method of any one of claims 1 to 10 in a computer.
KR1020220077805A 2021-12-29 2022-06-24 Method and electronic device for recognizing product KR20230101673A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2022/020670 WO2023128432A1 (en) 2021-12-29 2022-12-19 Method and electronic device for recognizing product
US18/148,629 US20230206298A1 (en) 2021-12-29 2022-12-30 Method and electronic device for recognizing product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210191652 2021-12-29
KR20210191652 2021-12-29

Publications (1)

Publication Number Publication Date
KR20230101673A true KR20230101673A (en) 2023-07-06

Family

ID=87185591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220077805A KR20230101673A (en) 2021-12-29 2022-06-24 Method and electronic device for recognizing product

Country Status (1)

Country Link
KR (1) KR20230101673A (en)

Similar Documents

Publication Publication Date Title
US11410033B2 (en) Online, incremental real-time learning for tagging and labeling data streams for deep neural networks and neural network applications
US11978106B2 (en) Method and non-transitory, computer-readable storage medium for deep learning model based product matching using multi modal data
Zhao et al. On combining multiscale deep learning features for the classification of hyperspectral remote sensing imagery
CN112559784A (en) Image classification method and system based on incremental learning
Farag Recognition of traffic signs by convolutional neural nets for self-driving vehicles
CN110532431B (en) Short video keyword extraction method and device and storage medium
CN110427480B (en) Intelligent personalized text recommendation method and device and computer readable storage medium
Kim et al. Discovering characteristic landmarks on ancient coins using convolutional networks
CN110728147B (en) Model training method and named entity recognition method
CN117115571B (en) Fine-grained intelligent commodity identification method, device, equipment and medium
CN111522979B (en) Picture sorting recommendation method and device, electronic equipment and storage medium
CN111241961B (en) Face detection method and device and electronic equipment
CN111868709A (en) Automatic batch sorting
CN116150367A (en) Emotion analysis method and system based on aspects
WO2021169207A1 (en) Object identification method and apparatus based on machine learning
Shahin et al. Machine-based identification system via optical character recognition
Zhang et al. Improved human-object interaction detection through skeleton-object relations
KR20230101673A (en) Method and electronic device for recognizing product
CN112348107A (en) Image data cleaning method and apparatus, electronic device, and medium
CN111126049A (en) Object relation prediction method and device, terminal equipment and readable storage medium
US20230206298A1 (en) Method and electronic device for recognizing product
US20190251355A1 (en) Method and electronic device for generating text comment about content
CN113792569B (en) Object recognition method, device, electronic equipment and readable medium
WO2023128432A1 (en) Method and electronic device for recognizing product
Golcarenarenji et al. Robust real-time traffic light detector on small-form platform for autonomous vehicles