KR20200027586A - A method for image searching using a converted image and an apparatus therefor - Google Patents

A method for image searching using a converted image and an apparatus therefor Download PDF

Info

Publication number
KR20200027586A
KR20200027586A KR1020180102263A KR20180102263A KR20200027586A KR 20200027586 A KR20200027586 A KR 20200027586A KR 1020180102263 A KR1020180102263 A KR 1020180102263A KR 20180102263 A KR20180102263 A KR 20180102263A KR 20200027586 A KR20200027586 A KR 20200027586A
Authority
KR
South Korea
Prior art keywords
image
network
processing module
processed
learning
Prior art date
Application number
KR1020180102263A
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 KR1020180102263A priority Critical patent/KR20200027586A/en
Publication of KR20200027586A publication Critical patent/KR20200027586A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to an image search method using a part of an image and to an apparatus therefor. The present invention provides the image search method and the apparatus according thereto. The image search method comprises the following steps. An image processing module receives an image search word. The image processing module identifies a category of a query object by recognizing a query object included in the image search word. The image processing module generates a processed image which has processed a composition of a query object of the image search word to a composition same with a reference object included in a reference image corresponding to the category. The image search module performs an image search using the processed image.

Description

가공 이미지를 이용한 이미지 검색 방법 및 이를 위한 장치{A method for image searching using a converted image and an apparatus therefor}A method for image searching using a converted image and an apparatus therefor

본 발명은 이미지 검색 기술에 관한 것으로, 더욱 상세하게는, 사용자가 촬영한 이미지를 이용하여 이미지 검색을 수행할 때, 검색 대상 데이터베이스에 저장된 이미지의 구도에 맞춰 이미지를 가공한 후, 가공된 이미지를 이용하여 이미지 검색을 수행하는 방법 및 장치에 관한 것이다.The present invention relates to an image search technology, and more specifically, when performing an image search using an image captured by a user, after processing the image according to the composition of the image stored in the search target database, the processed image is processed. It relates to a method and apparatus for performing image search using.

이미지 검색은 이미지를 찾는 방법과 목적에 따라 크게 두 가지로 구분할 수 있다. 첫 번째는 텍스트 검색어를 이용해 관련 이미지를 찾는 것이다. 예를 들어 텍스트 '꽃'이라는 키워드를 입력하면 다양한 종류의 꽃 사진을 볼 수 있다. 이 유형은 인터넷 초창기부터 있었던 전통적인 검색방식이다. 두 번째는 이미지 파일인 이미지 검색어를 입력하면, 이미지 파일을 분석해서 동일 또는 유사한 이미지를 찾아내는 것이다. 컴퓨터 분석 기술과 인터넷 기술이 발달하면서 등장한 방식이다. 키워드 방식에 비해 사용자가 이미지를 직관적으로 검색할 수 있다는 이점이 있다. Image search can be roughly divided into two types depending on the method and purpose of finding the image. The first is to find related images using text search terms. For example, if you enter the keyword 'flower' in the text, you can see various types of flower photos. This type is a traditional search method that has existed since the early days of the Internet. The second is to input an image search term, which is an image file, and analyze the image file to find the same or similar image. This is the way it emerged as computer analysis and Internet technology developed. It has the advantage that the user can intuitively search the image compared to the keyword method.

한국공개특허 제2010-0043823호, 2010년 04월 29일 공개 (명칭: 상품이미지를 이용한 온라인 쇼핑 기능을 제공하는 방법 및 쇼핑몰 서버)Published Korean Patent No. 2010-0043823, published on April 29, 2010 (Name: Method for providing online shopping function using product image and shopping mall server)

본 발명의 목적은 이미지 검색어의 객체의 구도를 변환하여 검색의 대상이 되는 이미지의 구도와 동일하게 변환한 가공 이미지를 이용하여 이미지 검색을 수행하는 방법 및 장치를 제공함에 있다.An object of the present invention is to provide a method and apparatus for performing an image search using a processed image that is converted to the composition of an image to be searched by converting the composition of an object of an image search term.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 이미지 검색 방법은 이미지처리모듈이 이미지 검색어를 수신하는 단계와, 이미지처리모듈이 상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 질의 객체의 카테고리를 식별하는 단계와, 상기 이미지처리모듈이 인공신경망을 통해 상기 이미지 검색어의 질의 객체의 구도를 상기 식별된 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 단계와, 이미지검색모듈이 상기 가공 이미지를 이용하여 이미지 검색을 수행하는 단계를 포함한다. An image retrieval method according to a preferred embodiment of the present invention for achieving the above object includes the steps of an image processing module receiving an image search term, and the image processing module recognizing the query object included in the image search term to query the image. Identifying the category of the object, and the image processing module generates a processed image in which the composition of the query object of the image search term is processed through the artificial neural network to the same composition as the reference object included in the reference image corresponding to the identified category. And an image search module performing an image search using the processed image.

상기 가공 이미지를 생성하는 단계는 상기 이미지처리모듈이 상기 이미지 검색어를 상기 인공신경망에 입력하는 단계와, 상기 이미지처리모듈이 상기 인공신경망을 통해 상기 이미지 검색어에 대해 가중치가 적용된 복수의 연산을 통해 상기 가공 이미지를 생성하여 출력하는 단계를 포함한다. In the generating of the processed image, the image processing module inputs the image search word into the artificial neural network, and the image processing module performs a plurality of calculations in which weights are applied to the image search word through the artificial neural network. And generating and outputting the processed image.

상기 가공 이미지를 생성하는 단계 전, 상기 이미지처리모듈이 상기 인공신경망이 상기 이미지 검색어로부터 상기 가공 이미지를 생성하도록 상기 인공신경망을 학습시키는 단계를 더 포함한다. Before the step of generating the processed image, the image processing module further includes learning the artificial neural network so that the artificial neural network generates the processed image from the image search word.

상기 인공신경망을 학습시키는 단계는 상기 이미지처리모듈이 상기 인공신경망의 생성망 및 인증망 각각을 개별적으로 학습시키는 단계와, 상기 이미지처리모듈이 상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 단계를 포함한다. In the step of learning the artificial neural network, the image processing module separately learns each of the artificial neural network generation network and the authentication network, and the image processing module competes with the generation network and the authentication network for learning. Includes.

상기 개별적으로 학습시키는 단계는 상기 이미지처리모듈이 상기 생성망에 학습 이미지를 입력하는 단계와, 상기 생성망이 입력된 학습 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 단계와, 상기 이미지처리모듈이 생성망이 생성한 가공 이미지와 상기 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계를 포함한다. In the step of individually learning, the image processing module inputs a learning image into the generation network, and outputs a processed image by performing a plurality of calculations in which weights are applied to the learning image input by the generation network. And, the image processing module correcting a weight of the generation network so that a difference between the processed image generated by the generation network and the reference image is minimized.

상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정하는 단계와, 상기 이미지처리모듈이 가공 이미지 또는 기준 이미지를 상기 인증망에 입력하는 단계와, 상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 단계와, 상기 이미지처리모듈이 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 단계를 포함한다. Setting the target value so that the image processing module determines that the authentication network is fake, and sets the target value to determine the reference image as real; and the image processing module determines the processed image or reference image as the authentication network. Inputting the data, and outputting the probability that the processed image or the reference image that is input through a calculation in which the plurality of weights are applied is real and the probability of being fake as output values, and that the image processing module receives the authentication network. And modifying the weight of the authentication network so that the loss value, which is the difference between the output value and the target value of, is minimum.

상기 경쟁시켜 학습시키는 단계는 상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하는 단계와, 상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계를 포함한다. The step of learning by competing is to set a target value to determine that the processed image generated by the generation network is fake, and then modify the weight of the authentication network so that the difference between the set target value and the output value of the authentication network is minimized. And setting a target value to determine that the processed image generated by the generation network is real, and then correcting the weight of the generation network so that the difference between the set target value and the output value of the authentication network is minimized. Includes.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 이미지 검색 장치는 사용자장치로부터 이미지 검색어를 수신하는 통신모듈과, 상기 이미지 검색어의 질의 객체의 구도를 상기 질의 객체의 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 인공신경망과, 상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 아이템의 카테고리를 식별하고, 상기 인공신경망을 통해 상기 이미지 검색어로부터 상기 가공 이미지를 생성하는 이미지처리모듈과, 상기 가공 이미지를 이용하여 이미지 검색을 수행하는 이미지검색모듈을 포함한다. An image retrieval apparatus according to a preferred embodiment of the present invention for achieving the above object is a communication module for receiving an image search word from a user device, and the composition of the query object of the image search word corresponds to the category of the query object The artificial neural network that generates a processed image processed with the same composition as the reference object included in the reference image, and the category of the item by recognizing the query object included in the image search term, and identifies the category of the item from the image search term through the artificial neural network. It includes an image processing module for generating a processed image, and an image search module for performing an image search using the processed image.

상기 인공신경망은 이미지 검색어가 입력되면, 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 생성망과, 가공 이미지 또는 기준 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 인증망을 포함한다. The artificial neural network includes a generation network that outputs a processed image by performing a plurality of calculations that apply weights to the input image search term when an image search term is input, and a plurality of weights to which a weight is applied when a processed image or a reference image is input. It includes an authentication network that outputs the probability that the processed image or the reference image input through the operation is real and fake.

상기 이미지처리모듈은 상기 생성망이 이미지 검색어로부터 가공 이미지를 생성하도록 상기 생성망 및 상기 인증망 각각을 개별적으로 학습시키는 개별 학습을 수행한 후, 상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 경쟁 학습을 수행하는 것을 특징으로 한다. The image processing module performs an individual learning to individually learn each of the generation network and the authentication network so that the generation network generates a processed image from an image search word, and then competes to learn by competing the generation network and the authentication network. Characterized by performing learning.

상기 이미지처리모듈은 상기 개별 학습 시, 상기 생성망에 기준 이미지의 이미지 검색어를 입력하고, 상기 생성망이 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하면, 출력된 가공 이미지와 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 한다. When the individual learning, the image processing module inputs an image search word of a reference image to the generation network and outputs a processed image by performing a plurality of calculations in which the generation network is weighted with respect to the input image search term. It is characterized in that the weight of the generation network is modified to minimize the difference between the processed image and the reference image.

상기 이미지처리모듈은 상기 개별 학습 시, 상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정한 후, 상기 가공 이미지 또는 상기 기준 이미지를 상기 인증망에 입력하고, 상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하면, 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 것을 특징으로 한다. In the individual learning, the image processing module sets a target value so that the image processing module determines that the authentication network is fake and the reference image is real, and then sets the processed image or the image. When a reference image is input to the authentication network, and when the processed image or a reference image input through a calculation in which a plurality of weights are applied, the authentication network outputs a probability of being real and a probability of being fake, as output values, the output value of the authentication network and It is characterized in that the weight of the authentication network is corrected so that a loss value, which is a difference between target values, is minimized.

상기 이미지처리모듈은 상기 경쟁 학습 시, 상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하고, 상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 한다. The image processing module sets the target value to determine that the processed image generated by the generation network is fake during the competition learning, and then sets the target network so that the difference between the set target value and the output value of the authentication network is minimal. After modifying the weight and setting a target value to determine that the processed image generated by the generation network is real, modifying the weight of the generation network so that the difference between the set target value and the output value of the authentication network is minimum It is characterized by.

본 발명에 따르면, 이미지 검색어의 질의 객체가 속하는 카테고리를 도출한 후, 해당 카테고리의 기준 이미지에 포함된 기준 객체와 동일한 구도로 질의 객체의 구도를 가공한 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이에 따라, 검색 대상 이미지와 동일한 구도의 이미지를 통해 이미지 검색을 수행할 수 있어 이미지 검색의 정확도 및 신뢰도를 향상시킬 수 있다. According to the present invention, after deriving a category to which a query object of an image search term belongs, a processed image processing a composition of a query object with the same composition as the reference object included in the reference image of the corresponding category is generated, and the generated processed image is used To perform image search. Accordingly, an image search may be performed through an image having the same composition as the image to be searched, thereby improving the accuracy and reliability of the image search.

도 1은 본 발명의 실시예에 따른 이미지 검색 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 가공 이미지를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 검색서버의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 인공신경망 중 생성망의 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 인공신경망 중 인증망의 구성을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다.
도 8은 본 발명의 실시예에 따른 인공신경망을 학습시키는 방법을 설명하기 위한 흐름도이다.
도 9 및 도 10은 본 발명의 실시예에 따른 개별 학습을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시예에 따른 경쟁 학습을 수행하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 실시예에 따른 이미지 검색 방법을 설명하기 위한 흐름도이다.
1 is a view for explaining an image search system according to an embodiment of the present invention.
2 is a view for explaining a processed image according to an embodiment of the present invention.
3 is a block diagram illustrating the configuration of a search server according to an embodiment of the present invention.
4 is a view for explaining the configuration of an artificial neural network according to an embodiment of the present invention.
5 is a view for explaining the configuration of a generation network among artificial neural networks according to an embodiment of the present invention.
6 is a view for explaining the configuration of an authentication network among artificial neural networks according to an embodiment of the present invention.
7 is a block diagram illustrating the configuration of a user device according to an embodiment of the present invention.
8 is a flowchart illustrating a method of learning an artificial neural network according to an embodiment of the present invention.
9 and 10 are flowcharts for explaining individual learning according to an embodiment of the present invention.
11 is a flowchart illustrating a method of performing competitive learning according to an embodiment of the present invention.
12 is a flowchart illustrating an image search method according to an embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. In order to clarify the features and advantages of the problem solving means of the present invention, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the accompanying drawings.

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다. However, in the following description and accompanying drawings, detailed descriptions of well-known functions or configurations that may obscure the subject matter of the present invention are omitted. In addition, it should be noted that the same components throughout the drawings are indicated by the same reference numerals as much as possible.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. The terms and words used in the following description and drawings should not be interpreted as being limited to ordinary or dictionary meanings, and the inventor can appropriately define the concept of terms for explaining his or her invention in the best way. Based on the principle that it should be interpreted as meanings and concepts consistent with the technical spirit of the present invention. Therefore, the embodiments shown in the embodiments and drawings described in this specification are only the most preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention, and thus can replace them at the time of application. It should be understood that there may be equivalents and variations.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. In addition, terms including ordinal numbers such as first and second are used to describe various components, and are used only to distinguish one component from other components, and to limit the components It is not used. For example, without departing from the scope of the present invention, the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다. In addition, when referring to a component being "connected" or "connected" to another component, it means that it can be connected or connected logically or physically. In other words, it may be understood that a component may be directly connected to or connected to other components, but other components may exist in the middle and may be connected or connected indirectly.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, the terms used herein are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, the terms "comprises" or "having" described herein are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or the same. It is to be understood that the present invention does not exclude in advance the possibility of the presence or the addition of other features, numbers, steps, operations, components, parts, or a combination thereof.

또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, terms such as “… unit”, “… group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.

또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다. In addition, "a (a or an)", "one (one)," "the (the)" and analogs are different in the context of describing the present invention (especially in the context of the following claims) as otherwise indicated herein. It may be used in a sense including both singular and plural unless it is or is clearly contradicted by the context.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다. In addition, embodiments within the scope of the present invention include computer-readable media having or having computer-executable instructions or data structures stored on computer-readable media. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system. By way of example, such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. Physical storage media, such as any other media that may be used to store or transfer certain program code means in, and can be accessed by, general purpose or special purpose computer systems. .

이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다. In the following description and claims, “network” is defined as one or more data links that enable electronic data to be transferred between computer systems and / or modules. When information is transmitted or provided to a computer system via a network or other (wired, wireless, or wired or wireless combination) communication connection, this connection may be understood as a computer-readable medium. Computer readable instructions include, for example, instructions and data that cause a general purpose computer system or special purpose computer system to perform a particular function or group of functions. The computer-executable instructions may be, for example, assembly language, or even binary, intermediate format instructions such as source code.

아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 광고를 제공하는데 적용될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다. In addition, the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, pagers In a network computing environment having various types of computer system configurations, including (pager) and the like, it may be applied to providing advertisements to the computer systems. The invention can also be practiced in distributed system environments where both local and remote computer systems linked by wired data links, wireless data links, or combinations of wired and wireless data links over a network perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

먼저, 본 발명의 실시예에 따른 이미지 검색어를 이용한 이미지 검색 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 이미지 검색 시스템을 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 실시예에 따른 가공 이미지를 설명하기 위한 도면이다. 도 1을 참조하면, 이미지 검색 시스템은 검색서버(100) 및 사용자장치(200)를 포함한다. First, an image search system using an image search word according to an embodiment of the present invention will be described. 1 is a view for explaining an image retrieval system according to an embodiment of the present invention. In addition, Figure 2 is a view for explaining a processed image according to an embodiment of the present invention. Referring to FIG. 1, an image search system includes a search server 100 and a user device 200.

검색서버(100) 및 사용자장치(200)는 통신망(NW)을 통해 상호간에 데이터를 송수신할 수 있다. 예를 들면, 통신망(NW)은 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신망을 포함할 수 있으며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신망을 포함할 수도 있다. The search server 100 and the user device 200 may transmit and receive data to and from each other through a communication network (NW). For example, the communication network (NW) may include a wireless communication network such as Wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, and High Speed Downlink Packet Access (HSDPA). Depending on the system implementation method, it may include wired communication networks such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home).

아울러, 본 발명의 통신망(NW)은 예컨대, 다수의 접속망(미도시) 및 이들을 연결하는 코어망(미도시)으로 이루어진 이동통신망을 포함할 수 있다. 여기서, 접속망은 단말과 직접 접속하여 무선 통신을 수행하는 망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU를 집중화된 DU와 연결하여 구성할 수도 있다. 또한, 접속망과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망과 외부 망, 예컨대, 인터넷망과 같은 다른 통신망을 연결하는 역할을 수행한다. In addition, the communication network NW of the present invention may include, for example, a mobile communication network including a plurality of access networks (not shown) and a core network (not shown) connecting them. Here, the access network is a network that directly connects to a terminal and performs wireless communication, for example, a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, an eNodeB, and a base station controller (BSC). , RNC (Radio Network Controller) can be implemented as a base station controller. In addition, as described above, the digital signal processing unit and the radio signal processing unit, which are integrally implemented in the base station, are divided into digital units (hereinafter referred to as DU and radio units (hereinafter referred to as RU)), respectively. A plurality of RUs (not shown) may be installed in each area, and a plurality of RUs may be connected to a centralized DU to configure the core network (not shown) constituting the mobile network together with the access network. A network, for example, serves to connect other communication networks such as an Internet network.

이러한 코어망은 앞서 설명한 바와 같이, 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망은 주파수간 이동성을 관리하고, 접속망 및 코어망 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다. As described above, the core network is a network system that performs a main function for mobile communication services such as mobility control and switching between access networks, and performs circuit switching or packet switching, and is a mobile network. Manage and control packet flow within. In addition, the core network may manage mobility between frequencies, and may play a role for interworking with traffic in the access network and the core network and other networks, such as the Internet network. Such a core network may further include SGW (Serving GateWay), PGW (PDN GateWay), MSC (Mobile Switching Center), HLR (Home Location Register), MME (Mobile Mobility Entity) and HSS (Home Subscriber Server). It might be.

또한, 본 발명에 따른 통신망(NW)은 인터넷망을 포함할 수 있다. 인터넷망은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미한다. 이러한 통신망(NW)을 통해서 검색서버(100) 및 사용자장치(200)가 상호 연동하여 본 발명에 따른 이미지 검색 시스템을 구성한다. In addition, the communication network (NW) according to the present invention may include an Internet network. The Internet network refers to a common public communication network, that is, a public network, through which information is exchanged according to the TCP / IP protocol. The search server 100 and the user device 200 interwork with each other through the communication network NW to form an image search system according to the present invention.

여기서, 검색서버(100)는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. 바람직한 일 실시예에 따르면, 검색서버(100)는 쇼핑 몰 웹 사이트를 제공하는 웹 서버와, 이러한 웹 사이트에서 판매되는 아이템의 이미지를 저장하는 데이터베이스 서버 및 이미지 검색어와 동일 또는 유사한 이미지를 검색하여 제공하는 애플리케이션 서버의 역할을 수행할 수 있다. 이하의 실시예에서 검색서버(100)는 다양한 제품을 판매하는 인터넷 쇼핑 몰 서비스를 제공하는 서버라고 가정한다. 이에 따라, 검색서버(100)는 데이터베이스에 저장된 복수의 이미지에서 이미지를 검색할 수 있다. 인터넷 쇼핑 몰에서 판매하는 이러한 이미지는 상품 이미지가 될 수 있다. 한편, 다른 실시예에 따르면, 검색서버(100)는 네트워크를 통해 다른 서버, 즉, 웹 서버에 접속하여 복수의 웹 페이지로부터 이미지를 검색할 수 있다. Here, the search server 100 is an entity existing on the network, and serves as a web server, a database server, and an application server. According to a preferred embodiment, the search server 100 searches for and provides an image identical or similar to a web server providing a shopping mall web site, a database server storing an image of an item sold on the web site, and an image search word. It can act as an application server. In the following embodiment, it is assumed that the search server 100 is a server that provides an Internet shopping mall service that sells various products. Accordingly, the search server 100 may search for images from a plurality of images stored in the database. Such an image sold in an internet shopping mall may be an image of a product. Meanwhile, according to another embodiment, the search server 100 may search for images from a plurality of web pages by accessing another server, that is, a web server, through a network.

또한, 사용자장치(200)는 이동통신단말기를 대표적인 예로서 설명하지만 단말기는 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 일례로, 단말기는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 스마트폰(Smart Phone), 태블릿 PC, 패블릿 PC 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기일 때 유리하게 활용될 수 있다. 다른 예로, 단말기는 노트북, 퍼스널컴퓨터 등이 될 수도 있다. In addition, the user device 200 will be described as a representative example of a mobile communication terminal, but the terminal is not limited to the mobile communication terminal, but a variety of information communication devices, multimedia terminals, wired terminals, fixed terminals and IP (Internet Protocol) terminals, etc. Applicable to the terminal. For example, the terminal may be a mobile terminal having various mobile communication specifications such as a mobile phone, a portable multimedia player (PMP), a mobile internet device (MID), a smart phone, a tablet PC, a tablet PC, and an information communication device. Can be advantageously used. As another example, the terminal may be a notebook computer or a personal computer.

전술한 바와 같이, 본 발명의 실시예에 따른 검색서버(100)는 인터넷 쇼핑 몰 서비스를 제공하는 서버가 될 수 있다. 이에 따라, 검색서버(100)는 데이터베이스에 상품 객체를 포함하는 복수의 상품 이미지를 저장할 수 있다. 도 2에 이러한 상품 이미지(b1, b2, b3, b4, b5)의 예들이 도시되었다. 데이터베이스에 저장된 상품 객체를 포함하는 상품 이미지는 상품의 카테고리별로 구분될 수 있다. 또한, 각 카테고리에 따라 상품 이미지의 상품 객체는 동일한 구도를 가진다. 도시된 바와 같이, 상품 이미지(b1, b2, b3, b4, b5)는 카테고리 신발에 속하며 모두 동일한 구도를 가진다. 본 발명의 실시예에 따르면, 하나의 카테고리에 적어도 하나의 기준 이미지가 존재하며, 기준 이미지는 해당 카테고리에 속하는 상품 이미지의 상품 객체의 구도와 동일한 구도인 기준 객체를 포함한다. 예컨대, 도 2에 도시된 바와 같이, 기준 객체를 포함하는 기준 이미지(s)는 카테고리 신발에 대응하는 기준 이미지(s)이며, 그 기준 객체(구두)는 동일한 카테고리에 속하는 상품 객체와 동일한 구도를 가진다. As described above, the search server 100 according to an embodiment of the present invention may be a server providing an Internet shopping mall service. Accordingly, the search server 100 may store a plurality of product images including product objects in a database. 2, examples of such product images b1, b2, b3, b4, and b5 are shown. The product image including the product object stored in the database may be classified by product category. In addition, the product object of the product image according to each category has the same composition. As illustrated, the product images b1, b2, b3, b4, and b5 belong to category shoes and all have the same composition. According to an embodiment of the present invention, at least one reference image exists in one category, and the reference image includes a reference object having the same composition as the composition of the product object of the product image belonging to the category. For example, as shown in FIG. 2, a reference image s including a reference object is a reference image s corresponding to a category shoe, and the reference object (shoe) has the same composition as a product object belonging to the same category. Have

한편, 사용자장치(200)는 이미지 검색어를 검색서버(100)에 전송하여 이미지 검색을 요청할 수 있다. 도 2에 이러한 이미지 검색어(a1, a2, a3, a4, a5)의 예들이 도시되었다. 도시된 바와 같이, 이미지 검색어는 검색 대상이 되는 질의 객체(구두)를 포함할 수 있으며, 동일한 상품인 경우에도 질의 객체의 구도는 다양하다. 도 2에 도시된 바와 같이, 이미지 검색어에 포함된 질의 객체의 구도는 이미지 검색어 a5와 같이, 동일한 카테고리의 상품 이미지(b1, b2, b3, b4, b5)의 상품 객체의 구도와 동일한 구도를 가질 수도 있지만, 이미지 객체 a1, a2, a3, a4와 같이 동일한 상품 카테고리에 속하는 상품 이미지(b1, b2, b3, b4, b5)의 상품 객체의 구도와 상이한 구도를 가질 수도 있다. 질의 객체와 기준 객체의 구도가 동일한 경우에 비해 상이한 경우 이미지 검색의 정밀도 및 신뢰도가 떨어질 수 있다. 따라서 본 발명의 실시예에 따르면, 검색서버(100)는 이미지 검색어를 수신하면, 질의 객체가 속하는 카테고리를 도출한 후, 해당 카테고리의 기준 이미지에 포함된 기준 객체와 동일한 구도로 질의 객체의 구도를 가공한 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이에 따라, 이미지 검색의 정확도 및 신뢰도가 향상된다. Meanwhile, the user device 200 may request an image search by transmitting an image search word to the search server 100. 2, examples of such image search terms a1, a2, a3, a4, and a5 are shown. As illustrated, the image search word may include a query object (oral shoe) to be searched for, and the composition of the query object varies even in the case of the same product. As shown in FIG. 2, the composition of the query object included in the image search term has the same composition as that of the product object of the same category of product images b1, b2, b3, b4, and b5, as in the image search term a5. Although it may be, it may have a composition different from that of the product object of the product images b1, b2, b3, b4, and b5 belonging to the same product category, such as the image objects a1, a2, a3, and a4. When the composition of the query object and the reference object is different compared to the same case, the precision and reliability of image search may be deteriorated. Accordingly, according to an embodiment of the present invention, when the search server 100 receives an image search word, derives a category to which the query object belongs, and processes the composition of the query object with the same composition as the reference object included in the reference image of the corresponding category One processed image is generated, and image search is performed using the generated processed image. Accordingly, accuracy and reliability of image retrieval are improved.

그러면, 보다 상세히 본 발명의 실시예에 따른 검색서버(100) 및 사용자장치(200)의 구성에 대해서 살펴보기로 한다. 먼저, 본 발명의 실시예에 따른 검색서버(100)의 구성에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 검색서버의 구성을 설명하기 위한 블록도이다. 도 3을 참조하면, 검색서버(100)는 통신모듈(110), 저장모듈(120) 및 제어모듈(130)을 포함한다. Then, the configuration of the search server 100 and the user device 200 according to an embodiment of the present invention will be described in detail. First, the configuration of the search server 100 according to an embodiment of the present invention will be described. 3 is a block diagram illustrating the configuration of a search server according to an embodiment of the present invention. Referring to FIG. 3, the search server 100 includes a communication module 110, a storage module 120, and a control module 130.

통신모듈(110)은 사용자장치(200)와의 통신을 위한 것이다. 통신모듈(110)은 사용자장치(200)가 검색서버(100)에 접속하면 사용자장치(200)와 필요한 정보를 포함하는 데이터를 교환하기 위한 통신을 수행한다. 통신모듈(110)은 사용자장치(200)로부터 수신되는 패킷으로부터 데이터를 추출하여, 추출된 데이터를 제어모듈(130)로 전달한다. 예컨대, 추출된 데이터는 이미지 검색어가 될 수 있다. 또한, 통신모듈(110)은 제어모듈(130)로부터 사용자장치(200)로 전송하기 위한 데이터를 포함하는 검색 결과를 전달받으면, 전달받은 데이터를 패킷으로 구성하여 전송한다. 예컨대, 전달받은 데이터는 이미지 검색 결과인 복수의 검색 이미지가 될 수 있다. The communication module 110 is for communication with the user device 200. The communication module 110 performs communication for exchanging data including necessary information with the user device 200 when the user device 200 accesses the search server 100. The communication module 110 extracts data from the packet received from the user device 200 and transfers the extracted data to the control module 130. For example, the extracted data may be an image search word. In addition, when the communication module 110 receives a search result including data for transmitting to the user device 200 from the control module 130, the communication module 110 is configured to transmit the received data as a packet. For example, the received data may be a plurality of search images that are image search results.

저장모듈(120)은 검색서버(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 검색서버(100)의 전반적인 동작을 제어하는 프로그램 및 검색서버(100)를 부팅시키는 운영체제(OS, Operating System), 이미지 처리를 위한 애플리케이션, 이미지 검색을 위한 애플리케이션을 등을 저장할 수 있다. 데이터 영역은 검색서버(100)의 운영에 따라 발생하는 데이터 및 검색서버(100)의 운영에 필요한 데이터가 저장되는 영역이다. 예를 들면, 검색서버(100)가 인터넷 쇼핑몰인 경우, 저장모듈(120)에 저장되는 데이터는 상품의 카테고리별 상품 이미지를 포함할 수 있다. 이러한 상품 이미지는 이미지 검색의 대상이 될 수 있다. 저장모듈(120)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The storage module 120 stores a program and data necessary for the operation of the search server 100 and may be divided into a program area and a data area. The program area may store a program for controlling the overall operation of the search server 100, an operating system (OS) for booting the search server 100, an application for image processing, an application for image search, and the like. The data area is an area in which data generated according to the operation of the search server 100 and data necessary for the operation of the search server 100 are stored. For example, when the search server 100 is an Internet shopping mall, data stored in the storage module 120 may include a product image for each product category. Such a product image may be an object of image search. Various types of data stored in the storage module 120 may be deleted, changed, or added according to user manipulation.

제어모듈(130)은 검색서버(100)의 전반적인 동작 및 검색서버(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(130)은 중앙 처리 장치(Central Processing Unit: CPU)인 것이 바람직하다. The control module 130 may control a general operation of the search server 100 and a signal flow between internal blocks of the search server 100 and may perform a data processing function for processing data. The control module 130 is preferably a central processing unit (CPU).

제어모듈(130)은 인공신경망(300), 이미지처리모듈(131) 및 이미지검색모듈(133)을 포함한다. The control module 130 includes an artificial neural network 300, an image processing module 131, and an image search module 133.

이미지처리모듈(131)은 이미지 검색어가 입력되면, 이미지 검색어에 포함된 질의 객체의 카테고리를 식별한다. 그리고 이미지처리모듈(131)은 질의 객체의 구도가 식별된 카테고리에 대응하는 기준 이미지의 기준 객체와 동일하게 되도록 인공신경망(300)을 이용하여 이미지 검색어의 질의 객체의 구도를 변환하여 가공 이미지를 생성한다. 이를 위하여, 이미지처리모듈(131)은 복수의 학습 데이터를 이용하여 인공신경망(300)이 질의 객체의 구도를 기준 객체의 구도와 동일하게 변환할 수 있도록 학습시킨다. When an image search word is input, the image processing module 131 identifies a category of a query object included in the image search word. In addition, the image processing module 131 generates a processed image by converting the composition of the query object of the image search term using the artificial neural network 300 so that the composition of the query object is the same as the reference object of the reference image corresponding to the identified category. do. To this end, the image processing module 131 trains the artificial neural network 300 to convert the composition of the query object to the same composition as that of the reference object using a plurality of training data.

학습이 완료된 후, 이미지처리모듈(131)은 통신모듈(110)을 통해 사용자장치(200)로부터 이미지 검색어를 수신할 수 있다. 이에 따라, 이미지처리모듈(131)은 인공신경망(300)을 통해 이미지 검색어의 질의 객체의 구도를 기준 객체의 구도와 동일하게 변환하여 가공 이미지를 생성한다. After learning is completed, the image processing module 131 may receive an image search word from the user device 200 through the communication module 110. Accordingly, the image processing module 131 generates a processed image by converting the composition of the query object of the image search term to the same as that of the reference object through the artificial neural network 300.

이미지검색모듈(133)은 이미지처리모듈(131)로부터 가공 이미지를 전달받고, 전달받은 가공 이미지를 이용하여 이미지 검색을 수행한다. 즉, 이미지검색모듈(133)은 이미지 검색을 수행하여 가공 이미지와 동일 혹은 유사한 복수의 검색 이미지를 검출한다. 그런 다음, 이미지검색모듈(133)은 복수의 검색 이미지를 포함하는 검색 결과를 통신모듈(110)을 통해 사용자장치(200)로 전송한다. The image search module 133 receives the processed image from the image processing module 131 and performs image search using the received processed image. That is, the image search module 133 performs image search to detect a plurality of search images identical or similar to the processed image. Then, the image search module 133 transmits a search result including a plurality of search images to the user device 200 through the communication module 110.

그러면, 본 발명의 실시예에 따른 인공신경망(300)에 대해 보다 상세하게 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다. 도 5는 본 발명의 실시예에 따른 인공신경망 중 생성망의 구성을 설명하기 위한 도면이다. 도 6은 본 발명의 실시예에 따른 인공신경망 중 인증망의 구성을 설명하기 위한 도면이다. Then, the artificial neural network 300 according to an embodiment of the present invention will be described in more detail. 4 is a view for explaining the configuration of an artificial neural network according to an embodiment of the present invention. 5 is a view for explaining the configuration of a generation network among artificial neural networks according to an embodiment of the present invention. 6 is a view for explaining the configuration of an authentication network among artificial neural networks according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 따른 인공신경망(300)은 생성망(310) 및 인증망(320)을 포함한다. 생성망(310) 및 인증망(320) 각각은 하나의 인공신경망을 구성한다. Referring to FIG. 4, the artificial neural network 300 according to an embodiment of the present invention includes a generating network 310 and an authentication network 320. Each of the generation network 310 and the authentication network 320 constitutes an artificial neural network.

생성망(310)은 학습 이미지 혹은 이미지 검색어와 같은 이미지가 입력되면, 입력된 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 생성한다. 다른 말로, 생성망(310)은 기준 이미지를 모사하여 이미지가 입력되면, 입력된 이미지로부터 가공 이미지를 생성하기 위한 것이다. When an image such as a learning image or an image search word is input, the generation network 310 generates a processed image by performing a plurality of calculations in which weights are applied to the input image. In other words, the generation network 310 is for generating a processed image from the input image when the image is input by simulating the reference image.

인증망(320)은 생성망(310)의 학습을 보조하기 위한 인공신경망이다. 기본적으로, 인증망(320)은 가공 이미지와 기준 이미지를 구분한다. 인증망(320)은 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력한다. 가공 이미지 또는 기준 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력한다. 전술한 바와 같이, 생성망(310)은 기준 이미지를 모사하여 가공 이미지를 생성한다. 이에 따라, 본 발명의 실시예에 따른 인공신경망(300)에 대한 학습은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 기준 이미지로 판별할 정도로 생성망(310)을 훈련하는 것을 목표로 수행된다. 그러면, 생성망(310) 및 인증망(320) 각각에 대해서 설명하기로 한다. The authentication network 320 is an artificial neural network for assisting the learning of the generation network 310. Basically, the authentication network 320 distinguishes a processed image and a reference image. The authentication network 320 outputs the probability that the processed image or the reference image, which is input through a plurality of operations to which the weight is applied, is real and fake, as output values. When a processed image or a reference image is input, a probability that a processed image or a reference image inputted through a plurality of operations to which a weight is applied is real and a probability that it is a fake is output as output values. As described above, the generation network 310 creates a processed image by simulating a reference image. Accordingly, learning about the artificial neural network 300 according to an embodiment of the present invention trains the generation network 310 to the extent that the authentication network 320 determines the processed image generated by the generation network 310 as a reference image. That is done with the aim. Then, each of the generation network 310 and the authentication network 320 will be described.

먼저, 도 4 및 도 6을 참조하여 생성망(310)에 대해서 설명하기로 한다. 생성망(310)은 가중치가 적용되는 복수의 연산을 포함하는 복수의 계층을 포함한다. 여기서, 복수의 연산을 포함하는 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CL: Convolution Layer), 다운샘플링(Down Sampling) 연산을 수행하는 풀링계층(PL: Pooling Layer) 및 업샘플링(Up Sampling) 연산을 수행하는 언풀링(UL: Unpooling Layer) 계층 및 디컨불루션 연산을 수행하는 디컨불루션 계층(DL: Deconvolution Layer) 각각을 하나 이상 포함한다. 컨볼루션, 다운샘플링, 업샘플링 및 디컨불루션 연산 각각은 소정의 행렬로 이루어진 필터를 이용하며, 이러한 행렬의 원소의 값들이 가중치가 된다. 생성망(310)은 이미지 검색어 및 학습 이미지 중 어느 하나의 이미지를 입력 받을 수 있다. 이때, 이미지의 각 픽셀의 픽셀값이 생성망(310)에 입력된다. 생성망(310)은 이미지 검색어 및 학습 이미지 중 어느 하나의 이미지가 입력되면, 이미지의 각 픽셀값에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 생성한다. 가공 이미지는 입력된 이미지(학습 이미지 혹은 이미지 검색어)에 포함된 객체(학습 객체 혹은 질의 객체)의 구도를 기준 이미지의 기준 객체의 구도와 동일하게 가공된 이미지이다. First, the generation network 310 will be described with reference to FIGS. 4 and 6. The generation network 310 includes a plurality of layers including a plurality of operations to which weights are applied. Here, the plurality of layers including a plurality of operations includes a convolutional layer (CL) that performs a convolution operation, a pooling layer (PL) that performs a down sampling operation, and It includes at least one of an unpooling layer (UL) layer that performs an upsampling operation and a deconvolution layer (DL) that performs a deconvolution operation. Each of the convolution, downsampling, upsampling, and deconvolution operations uses a filter composed of a predetermined matrix, and the values of the elements of the matrix are weighted. The generation network 310 may receive any one of image search terms and learning images. At this time, pixel values of each pixel of the image are input to the generation network 310. The generation network 310 generates a processed image by performing a plurality of operations in which a weight of a plurality of layers is applied to each pixel value of the image when one of the image search word and the learning image is input. The processed image is an image processed with the composition of the object (learning object or query object) included in the input image (learning image or image search term) the same as the composition of the reference object of the reference image.

다음으로, 도 4 및 도 6을 참조하여 인증망(320)에 대해서 설명하기로 한다. 인증망(320) 또한 가중치가 적용되는 복수의 연산을 수행하는 복수의 계층을 포함한다. 여기서, 복수의 연산을 수행하는 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CL: Convolution Layer) 및 소프트맥스(Soft-max) 연산을 수행하는 완전연결층(FL: Fully Connected Layer)을 포함한다. 컨볼루션 연산은 소정의 행렬로 이루어진 필터를 이용하며, 이러한 행렬의 원소의 값들이 가중치가 된다. 또한, 소프트맥스 연산 또한 가중치를 적용하여 수행된다. 인증망(320)에 입력되는 이미지는 생성망(310)이 생성한 가공 이미지이거나, 기 저장된 기준 이미지 중 어느 하나가 될 수 있다. 인증망(320)은 입력된 이미지가 생성망(310)에 의해 생성된 것이 아닌 본래의 이미지, 즉, 기준 이미지임을 나타내는 진짜(real)일 확률과, 본래의 이미지, 즉, 기준 이미지가 아니라 생성망(310)에 의해 생성된 가공 이미지인 가짜(fake)일 확률을 출력한다. Next, the authentication network 320 will be described with reference to FIGS. 4 and 6. The authentication network 320 also includes a plurality of layers that perform a plurality of operations to which weights are applied. Here, the plurality of layers performing a plurality of operations is a convolutional layer (Convolution Layer) that performs a convolution operation (CL: Convolution Layer) and a soft-max (Soft-max) operation to perform a full connection layer (FL: Fully Connected) Layer). The convolution operation uses a filter composed of a predetermined matrix, and the values of the elements of the matrix are weighted. In addition, the softmax operation is also performed by applying weights. The image input to the authentication network 320 may be a processed image generated by the generation network 310 or a pre-stored reference image. The authentication network 320 generates a probability that the input image is a real image indicating that it is an original image that is not generated by the generation network 310, that is, a reference image, and an original image, that is, not a reference image. The probability of being a fake, which is a processed image generated by the network 310, is output.

다음으로, 본 발명의 실시예에 따른 사용자장치(200)에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다. 도 7을 참조하면, 본 발명의 실시예에 따른 사용자장치(200)는 통신부(210), 카메라부(220), 입력부(230), 표시부(240), 저장부(250) 및 제어부(260)를 포함한다. Next, the user device 200 according to an embodiment of the present invention will be described. 7 is a block diagram illustrating the configuration of a user device according to an embodiment of the present invention. Referring to FIG. 7, the user device 200 according to an embodiment of the present invention includes a communication unit 210, a camera unit 220, an input unit 230, a display unit 240, a storage unit 250, and a control unit 260 It includes.

통신부(210)는 검색서버(100)를 비롯한 다른 장치와 통신을 위한 것으로, 다양한 통신 연결 방식을 통해 통신을 수행한다. 이러한 통신부(210)는 다양한 통신 연결 방식의 통신 기능 중 어느 하나를 선택하여 통신할 수 있다. 이러한 통신부(210)는 하나의 모듈 혹은 복수의 모듈로 구현될 수도 있다. 예컨대, 통신부(210)는 WCDMA, LTE, LTE-A 등의 표준에 따라 기지국을 통해 네트워크에 접속하는 광대역이동통신 방식, Wi-Fi(wireless fidelity)를 이용하는 WLAN(Wireless Local Area Network) 방식에 따라 접속포인트(AP: Access Point)를 통해 네트워크(NW)에 접속하여 통신을 수행하는 무선근거리통신 방식 등을 이용할 수 있다. 통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 등으로 구성될 수 있다. 제어부(260)로부터 전달 받은 데이터, 예컨대, 이미지 검색어를 무선 신호로 변환하여 무선 채널을 통해 전송할 수 있다. 또한, 통신부(210)는 무선 채널을 통해 데이터, 예컨대, 이미지 검색 결과를 포함하는 무선 신호를 수신하여 제어부(260)로 전달할 수 있다. The communication unit 210 is for communication with other devices including the search server 100 and performs communication through various communication connection methods. The communication unit 210 may communicate by selecting any one of communication functions of various communication connection methods. The communication unit 210 may be implemented as a single module or a plurality of modules. For example, the communication unit 210 according to the WCDMA, LTE, LTE-A, etc. according to the broadband mobile communication method to access the network through the base station, according to the Wireless Local Area Network (WLAN) method using Wi-Fi (wireless fidelity) A wireless near field communication method for accessing a network NW through an access point (AP) and performing communication may be used. The communication unit 210 may be composed of an RF transmitter that up-converts and amplifies the frequency of the transmitted signal, and an RF receiver that amplifies the received signal with low noise and down-converts the frequency. Data received from the control unit 260, for example, an image search word may be converted into a wireless signal and transmitted through a wireless channel. In addition, the communication unit 210 may receive a wireless signal including data, for example, an image search result, through a wireless channel, and transmit the data to the controller 260.

카메라부(220)는 이미지를 촬영하기 위한 것이다. 이를 위하여 카메라부(220)는 적어도 이미지 센서를 포함한다. 본 발명의 실시예에서 '촬영'은 카메라부(220)의 이미지 센서를 통해 생성된 이미지를 특정 이미지 파일 포맷(예컨대, JPG, PNG 등)에 따라 디지털 파일로 생성하는 것을 의미한다. 이미지 센서는 피사체에서 반사되는 빛을 입력 받아 전기신호로 변환하며, CCD(Charged Coupled Device), CMOS(Complementary Metal-Oxide Semiconductor) 등을 기반으로 구현될 수 있다. 카메라부(220)는 아날로그-디지털 변환기(Analog to Digital Converter)를 더 포함할 수 있으며, 이미지 센서에서 출력되는 아날로그 신호를 디지털 신호로 변환하여 제어부(260)로 출력할 수 있다. The camera unit 220 is for photographing an image. To this end, the camera unit 220 includes at least an image sensor. In the embodiment of the present invention, 'shooting' means generating an image generated by the image sensor of the camera unit 220 as a digital file according to a specific image file format (eg, JPG, PNG, etc.). The image sensor receives light reflected from a subject and converts the light into an electrical signal, and may be implemented based on a Charged Coupled Device (CCD), a Complementary Metal-Oxide Semiconductor (CMOS), or the like. The camera unit 220 may further include an analog-to-digital converter, and may convert the analog signal output from the image sensor into a digital signal and output the digital signal to the controller 260.

입력부(230)는 사용자장치(200)를 제어하기 위한 사용자의 키 조작을 입력 받고 입력 신호를 생성하여 제어부(260)로 전달한다. 입력부(230)는 전원 on/off를 위한 전원 키, 숫자 키, 방향키 중 어느 하나를 포함할 수 있으며, 사용자장치(200)의 일면에 소정의 기능키로 형성될 수 있다. 표시부(240)가 터치스크린으로 이루어진 경우, 입력부(230)의 각 종 키들의 기능이 표시부(240)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(230)는 생략될 수도 있다. The input unit 230 receives a key operation of the user for controlling the user device 200, generates an input signal, and transmits the generated input signal to the controller 260. The input unit 230 may include any one of a power key, a numeric key, and a direction key for power on / off, and may be formed as a predetermined function key on one surface of the user device 200. When the display unit 240 is made of a touch screen, functions of various types of keys of the input unit 230 may be performed on the display unit 240, and when all functions can be performed only by the touch screen, the input unit 230 may be omitted. It might be.

표시부(240)는 사용자장치(200)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 특히, 표시부(240)는 제어부(260)에 의해 카메라부(220)를 통해 촬영된 이미지를 표시할 수 있다. 표시부(240)는 사용자장치(200)의 부팅 화면, 대기 화면, 메뉴 화면 등의 각종 화면을 출력하는 기능을 수행한다. 이러한 표시부(240)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(240)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(240)는 터치센서를 포함하며, 제어부(260)는 터치센서를 통해 사용자의 터치 입력을 감지할 수 있다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(260)로 전송한다. 이러한 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함될 수 있다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(260)로 전송할 수 있다. The display unit 240 visually provides a menu, input data, function setting information, and various other information of the user device 200 to the user. In particular, the display unit 240 may display an image captured by the controller unit 260 through the camera unit 220. The display unit 240 outputs various screens such as a boot screen, a standby screen, a menu screen, and the like of the user device 200. The display unit 240 may be formed of a liquid crystal display (LCD), organic light emitting diodes (OLEDs), active matrix organic light emitting diodes (AMOLEDs), and the like. Meanwhile, the display unit 240 may be implemented as a touch screen. In this case, the display unit 240 may include a touch sensor, and the controller 260 may detect a user's touch input through the touch sensor. The touch sensor may include a touch sensing sensor such as a capacitive overlay, a pressure type, a resistive overlay, an infrared beam, or a pressure sensor. . In addition to the sensors, all kinds of sensor devices capable of sensing contact or pressure of an object may be used as the touch sensor of the present invention. The touch sensor detects a user's touch input, generates a detection signal, and transmits the detected signal to the controller 260. The sensing signal may include coordinate data input by the user. When the user inputs the touch position movement operation, the touch sensor may generate a detection signal including coordinate data of the touch position movement path and transmit the detected signal to the controller 260.

저장부(250)는 사용자장치(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 사용자장치(200)의 전반적인 동작을 제어하는 프로그램 및 사용자장치(200)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 사용자장치(200)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 또한, 저장부(250)는 사용자장치(200)의 동작에 따라 발생되는 각 종 데이터 등을 저장할 수 있다. The storage unit 250 stores a program and data necessary for the operation of the user device 200, and may be divided into a program area and a data area. The program area may store a program for controlling the overall operation of the user device 200, an operating system (OS) for booting the user device 200, an application program, and the like. The data area is an area in which data generated according to the use of the user device 200 is stored. In addition, the storage 250 may store various data generated according to the operation of the user device 200.

제어부(260)는 사용자장치(200)의 전반적인 동작 및 사용자장치(200)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(260)는 중앙 처리 장치(Central Processing Unit: CPU), 애플리케이션 프로세서(Application Processor), 그래픽 프로세서(GPU: graphic processing unit) 등이 될 수 있다. The controller 260 may control a general operation of the user device 200 and a signal flow between internal blocks of the user device 200, and may perform a data processing function of processing data. The controller 260 may be a central processing unit (CPU), an application processor, a graphic processor (GPU), or the like.

제어부(260)는 사용자의 조작에 따라 카메라부(220)를 통해 특정 이미지를 촬영할 수 있다. 촬영된 이미지는 이미지 검색어가 될 수 있다. 또한, 제어부(260)는 사용자의 조작에 따라 통신부(210)를 통해 특정 웹 사이트에 접속하여 해당 웹 사이트의 이미지를 다운로드 할 수 있다. 이와 같이, 다운로드된 이미지 또한 이미지 검색어가 될 수 있다. 제어부(260)는 입력부(230) 혹은 표시부(240)를 통해 촬영한 이미지 혹은 다운로드한 이미지인 이미지 검색어가 선택되고, 선택된 이미지에 대한 이미지 검색을 요청하는 입력을 감지하면, 이미지 검색어를 포함하는 이미지 검색 요청을 통신부(210)를 통해 검색서버(100)로 전송하여, 이미지 검색을 수행할 수 있다. 이러한 제어부(260)의 동작은 아래에서 더 상세하게 설명될 것이다. The controller 260 may take a specific image through the camera unit 220 according to a user's manipulation. The captured image may be an image search term. Also, the controller 260 may access a specific website through the communication unit 210 and download an image of the website according to the user's operation. As such, the downloaded image may also be an image search term. The controller 260 selects an image search word that is an image or a downloaded image through the input unit 230 or the display unit 240 and detects an input requesting an image search for the selected image. The search request may be transmitted to the search server 100 through the communication unit 210 to perform image search. The operation of the control unit 260 will be described in more detail below.

전술한 바와 같이, 본 발명은 인공신경망(300)을 이용하여 이미지 검색어로부터 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이를 위하여, 먼저, 인공신경망(300)이 이미지 검색어로부터 가공 이미지를 생성하도록 인공신경망(300)을 학습시켜야 한다. 그러면, 먼저, 이러한 학습 방법에 대해서 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 인공신경망을 학습시키는 방법을 설명하기 위한 흐름도이다. 도 9 및 도 10은 본 발명의 실시예에 따른 개별 학습을 설명하기 위한 흐름도이다. 도 11은 본 발명의 실시예에 따른 경쟁 학습을 수행하는 방법을 설명하기 위한 흐름도이다. As described above, the present invention generates a processed image from an image search word using the artificial neural network 300 and performs image search using the generated processed image. To this end, first, the artificial neural network 300 must be trained so that the artificial neural network 300 generates a processed image from an image search word. Then, first, this learning method will be described. 8 is a flowchart illustrating a method of learning an artificial neural network according to an embodiment of the present invention. 9 and 10 are flowcharts for explaining individual learning according to an embodiment of the present invention. 11 is a flowchart illustrating a method of performing competitive learning according to an embodiment of the present invention.

도 8을 참조하면, 이미지처리모듈(131)은 S100 단계에서 인공신경망(300)의 생성망(310) 및 인증망(320) 각각에 대해 개별적으로 학습을 수행한다. 이러한 학습을 '개별 학습'이라고 칭하기로 한다. 이미지처리모듈(131)은 개별 학습 시, 생성망(310)이 이미지 검색어로부터 가공 이미지를 생성하도록 학습시킨다. Referring to FIG. 8, the image processing module 131 separately performs learning on each of the generation network 310 and the authentication network 320 of the artificial neural network 300 in step S100. We will refer to this learning as 'individual learning'. When individually learning, the image processing module 131 trains the generation network 310 to generate a processed image from an image search word.

또한, 이미지처리모듈(131)은 개별 학습 시, 인증망(320)이 가공 이미지가 입력되면, 입력된 가공 이미지를 가짜(fake)인 것으로 판별하고, 기준 이미지가 입력되면, 입력된 기준 이미지를 진짜(real)인 것으로 판별하도록 학습시킨다. In addition, the image processing module 131, in the case of individual learning, when the authentication network 320 inputs a processed image, determines that the input processed image is a fake, and when a reference image is input, inputs the reference image. Train them to discriminate as real.

구체적으로, 이미지처리모듈(131)은 S110 단계에서 학습 데이터를 이용하여 생성망(310)에 대한 개별 학습을 수행한다. 학습 데이터는 학습 이미지 및 기준 이미지를 포함한다. 학습 이미지는 기준 객체와 동일한 상품이지만 다른 구도로 촬영된 학습 객체를 포함한다. Specifically, the image processing module 131 performs individual learning on the generation network 310 using the learning data in step S110. The training data includes training images and reference images. The learning image is the same product as the reference object, but includes learning objects photographed in different compositions.

도 9를 참조하여 생성망(310)의 개별 학습을 구체적으로 살펴보면, 이미지처리모듈(131)은 S111 단계에서 기준 이미지를 목표값으로 설정하고, 학습 이미지를 생성망(310)에 입력한다. 그러면, 생성망(310)은 S113 단계에서 입력된 학습 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 출력값으로 가공 이미지를 출력할 것이다. 그러면, 이미지처리모듈(131)은 S115 단계에서 가공 이미지와 기준 이미지의 픽셀값을 상호 비교하여 가공 이미지와 기준 이미지의 픽셀값에 대한 차이인 손실값이 최소가 되도록 역확산(back-propagation) 알고리즘을 통해 생성망(310)의 복수의 연산에 적용되는 가중치를 수정한다. Referring to FIG. 9 in detail for the individual learning of the generation network 310, the image processing module 131 sets the reference image as a target value in step S111, and inputs the learning image to the generation network 310. Then, the generation network 310 will output a processed image as an output value by performing a plurality of operations to which a weight is applied to the learning image input in step S113. Then, the image processing module 131 compares the pixel values of the processed image and the reference image to each other in step S115, so that the difference between the pixel values of the processed image and the reference image is a back-propagation algorithm so that a loss value is minimized. By modifying the weight applied to a plurality of operations of the generation network 310 through.

다음으로, 이미지처리모듈(131)은 S120 단계에서 인증망(320)에 대해 초기 학습을 수행한다. 이미지처리모듈(131)은 인증망(320)에 대한 개별 학습 시, 학습 데이터로 가공 이미지 및 기준 이미지를 이용한다. Next, the image processing module 131 performs initial learning on the authentication network 320 in step S120. The image processing module 131 uses a processed image and a reference image as learning data when individually learning the authentication network 320.

도 10을 참조하여 인증망(320)의 개별 학습을 구체적으로 살펴보면, 이미지처리모듈(131)은 S121 단계에서 인증망(320)이 가공 이미지를 가짜인 것으로 판별하고, 기준 이미지(R)를 진짜인 것으로 판별하도록 목표값을 설정한다. 예를 들면, 이미지처리모듈(131)은 가공 이미지가 입력될 때, 목표값을 진짜(real) < 가짜(fake), 예컨대, 'real = 0.20' 및 'fake = 0.80'으로 설정하고, 기준 이미지(R)가 입력될 때, 목표값을 진짜(real) > 가짜(fake), 예컨대, 'real = 0.75' 및 'fake = 0.25'로 설정할 수 있다. Referring specifically to the individual learning of the authentication network 320 with reference to FIG. 10, the image processing module 131 determines in step S121 that the authentication network 320 identifies the processed image as a fake, and the reference image R is real. The target value is set to determine as being. For example, when the processed image is input, the image processing module 131 sets the target value to real <fake, for example, 'real = 0.20' and 'fake = 0.80', and the reference image When (R) is entered, the target value can be set to real> fake, such as 'real = 0.75' and 'fake = 0.25'.

이미지처리모듈(131)은 S123 단계에서 인증망(320)에 가공 이미지 및 기준 이미지 중 어느 하나의 학습 데이터를 입력한다. 그러면, 인증망(320)은 S125 단계에서 복수의 연산을 통해 입력된 학습 데이터가 진짜(real)일 확률 및 가짜(fake)일 확률을 출력값으로 출력한다. 즉, 인증망(320)은 가공 이미지 또는 기준 이미지가 입력되면, 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. 예를 들면, 인증망(320)은 출력값으로 진짜(real)일 확률과 가짜(fake)일 확률을 'real = 0.70' 및 'fake = 0.30'과 같이 출력할 수 있다. In step S123, the image processing module 131 inputs learning data of one of the processed image and the reference image to the authentication network 320. Then, the authentication network 320 outputs the probability that the learning data input through a plurality of operations in the step S125 is real and the probability that it is a fake. That is, when the processed image or the reference image is input, the authentication network 320 outputs the probability that the processed image or the reference image input through a calculation to which a plurality of weights are applied is real and fake. Output. For example, the authentication network 320 may output a probability of being real and a probability of being fake as 'real = 0.70' and 'fake = 0.30'.

이에 따라, 이미지처리모듈(131)은 S127 단계에서 인증망(320)의 출력값과 목표값의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 인증망(320)의 복수의 연산에 적용되는 가중치를 수정한다. Accordingly, the image processing module 131 is applied to a plurality of calculations of the authentication network 320 using a despreading algorithm so that the loss value, which is the difference between the output value and the target value, of the authentication network 320 is minimum in step S127. Correct the weight.

다음으로, 그런 다음, 이미지처리모듈(131)은 S200 단계에서 인공신경망(300)의 생성망(310) 및 인증망(320)을 경쟁시켜 학습시킨다. 이러한 학습을 '경쟁 학습'이라고 칭하기로 한다. 이때, 이미지처리모듈(131)은 인증망(320) 및 생성망(310)에 대해 상이한 목표값을 설정하여 인증망(320)과 생성망(310)이 상호 경쟁하도록 하는 학습을 수행한다. 즉, 이미지처리모듈(131)은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 인증망(320)을 학습시킨다. 이에 대응하여, 이미지처리모듈(131)은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 진짜(real)인 것으로 판별하도록 생성망(310)을 학습시킨다. 즉, 이미지처리모듈(131)은 인증망(320)이 가공 이미지가 가짜인지 인식할 수 없도록 기준 이미지를 모사하여 가공 이미지를 생성하도록 생성망(310)을 학습시킨다. Next, the image processing module 131 then competes and trains the generation network 310 and the authentication network 320 of the artificial neural network 300 in step S200. We will call this learning 'competitive learning'. At this time, the image processing module 131 performs learning to set the different target values for the authentication network 320 and the generation network 310 so that the authentication network 320 and the generation network 310 compete with each other. That is, the image processing module 131 trains the authentication network 320 so that the authentication network 320 determines that the processed image generated by the generation network 310 is a fake. In response to this, the image processing module 131 trains the generation network 310 so that the authentication network 320 determines that the processed image generated by the generation network 310 is real. That is, the image processing module 131 trains the generation network 310 to generate a processed image by simulating a reference image so that the authentication network 320 cannot recognize whether the processed image is fake.

그러면, 도 11을 참조하여, 경쟁 학습에 대해서 상세하게 설명하기로 한다. 먼저, 이미지처리모듈(131)은 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 목표값을 설정하여 인증망(320)을 학습시킨다. 이를 위하여, 이미지처리모듈(131)은 S210 단계에서 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 인증망(320)의 목표값을 설정한다. 예를 들면, 이미지처리모듈(131)은 가공 이미지에 대한 목표값을 진짜(real) < 가짜(fake), 'real = 0.15' 및 'fake = 0.85'으로 설정한다. 그런 다음, 이미지처리모듈(131)은 S220 단계에서 학습 이미지를 생성망(310)에 입력한다. 그러면, 생성망(310)은 S230 단계에서 학습 이미지로부터 가공 이미지를 생성한다. 이어서, 이미지처리모듈(131)은 S240 단계에서 생성망(310)으로부터 획득한 가공 이미지를 인증망(320)에 입력한다. 그러면, 인증망(320)은 S250 단계에서 가공 이미지가 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. Then, with reference to FIG. 11, competitive learning will be described in detail. First, the image processing module 131 trains the authentication network 320 by setting a target value to determine that the processed image generated by the generation network 310 is a fake. To this end, the image processing module 131 sets a target value of the authentication network 320 so as to determine that the processed image generated by the generation network 310 is a fake. For example, the image processing module 131 sets target values for the processed image as real <fake, 'real = 0.15' and 'fake = 0.85'. Then, the image processing module 131 inputs the learning image to the generation network 310 in step S220. Then, the generation network 310 generates a processed image from the learning image in step S230. Subsequently, the image processing module 131 inputs the processed image obtained from the generation network 310 to the authentication network 320 in step S240. Then, in step S250, the authentication network 320 outputs the probability that the processed image is real and the probability that it is fake as output values.

이에 따라, 이미지처리모듈(131)은 S260 단계에서 인증망(320)의 출력값과 목표값과의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 생성망(310)의 복수의 연산에 대한 가중치는 수정하지 않고, 인증망(320)의 복수의 연산에 대한 가중치를 수정한다. 즉, 이미지처리모듈(131)은 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 인증망(320)을 학습시킨다. Accordingly, the image processing module 131 uses a despreading algorithm to minimize the loss value, which is the difference between the output value and the target value, of the authentication network 320 in step S260, for a plurality of operations of the generation network 310. The weights are not modified, and the weights for a plurality of operations of the authentication network 320 are corrected. That is, the image processing module 131 trains the authentication network 320 to determine that the processed image generated by the generation network 310 is a fake.

앞선, S210 단계 내지 S260 단계의 인증망(320)의 학습에 대응하여, 이미지처리모듈(131)은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 진짜(real)인 것으로 판별하도록 목표값을 설정하여 생성망(310)을 학습시킨다. 이를 위하여, 이미지처리모듈(131)은 S270 단계에서 인증망(320)이 생성망(310)이 생성한 가공 이미지를 진짜(real)인 것으로 판별하도록 목표값을 설정한다. 즉, 이미지처리모듈(131)은 가공 이미지에 대한 목표값을 진짜(real) > 가짜(fake), 예컨대, 'real = 0.90' 및 'fake = 0.10'으로 설정할 수 있다. In response to the learning of the authentication network 320 in steps S210 to S260, the image processing module 131 determines that the processed image generated by the generation network 310 by the authentication network 320 is real. Set the target value so as to train the generation network (310). To this end, the image processing module 131 sets the target value so that the authentication network 320 determines in step S270 that the processed image generated by the generation network 310 is real. That is, the image processing module 131 may set a target value for the processed image as real> fake, for example, 'real = 0.90' and 'fake = 0.10'.

그런 다음, 이미지처리모듈(131)은 S280 단계에서 학습 이미지를 생성망(310)에 입력한다. 그러면, 생성망(310)은 S290 단계에서 입력된 학습 이미지로부터 가공 이미지를 생성한다. 이어서, 이미지처리모듈(131)은 S300 단계에서 생성망(310)이 생성한 가공 이미지를 인증망(320)에 입력한다. Then, the image processing module 131 inputs the learning image to the generation network 310 in step S280. Then, the generation network 310 generates a processed image from the learning image input in step S290. Subsequently, the image processing module 131 inputs the processed image generated by the generation network 310 in step S300 to the authentication network 320.

그러면, 그러면, 인증망(320)은 S310 단계에서 가공 이미지가 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. Then, then, the authentication network 320 outputs the probability that the processed image is real and the probability that it is fake as an output value in step S310.

이에 따라, 이미지처리모듈(131)은 S320 단계에서 인증망(320)의 출력값과 목표값과의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 인증망(320)의 가중치는 수정하지 않고, 생성망(310)의 가중치를 수정한다. 즉, 이미지처리모듈(131)은 인증망(320)이 가공 이미지가 가짜인지 인식할 수 없도록 기준 이미지를 모사하여 가공 이미지를 생성하도록 생성망(310)을 학습시킨다. Accordingly, the image processing module 131 does not modify the weight of the authentication network 320 using a despreading algorithm so that the loss value, which is the difference between the output value and the target value, of the authentication network 320 is minimized in step S320. , Modify the weight of the generation network 310. That is, the image processing module 131 trains the generation network 310 to generate a processed image by simulating a reference image so that the authentication network 320 cannot recognize whether the processed image is fake.

이와 같이, 경쟁 학습은 생성망(310)과 인증망(320)에 대한 학습이 경쟁한다. 이러한 S210 단계 내지 S320 단계는 반복하여 수행된다. In this way, in the competition learning, the learning about the generation network 310 and the authentication network 320 compete. Steps S210 to S320 are repeatedly performed.

이러한 반복되는 경쟁 학습 과정에서 이미지처리모듈(131)은 S330 단계에서 생성망(310)과 인증망(320)의 가중치의 변화 여부를 판별한다. 만약, S330 단계의 판단 결과, 생성망(310)과 인증망(320) 중 적어도 하나의 가중치의 변화가 있으면, 전술한 S210 단계 내지 S320 단계를 반복한다. S340 단계의 판단 결과, 생성망(310)과 인증망(320) 양자 모두의 가중치의 변화가 없으면, 경쟁 학습을 종료한다. In the repeated competition learning process, the image processing module 131 determines whether the weights of the generation network 310 and the authentication network 320 are changed in step S330. If, as a result of the determination in step S330, there is a change in weight of at least one of the generation network 310 and the authentication network 320, steps S210 to S320 are repeated. As a result of the determination in step S340, if there is no change in the weight of both the generation network 310 and the authentication network 320, the competition learning ends.

전술한 바에 따라 인공신경망(300)의 학습은 복수의 카테고리 각각의 기준 이미지를 모사하도록 수행된다. 이에 따라, 인공신경망(300)은 이미지 검색어가 입력되면, 이미지 검색어가 속하는 카테고리에 대응하는 기준 이미지를 모사하는 가공 이미지를 생성할 수 있다. 이에 따라, 학습이 완료된 인공신경망(300)을 이용하여 이미지 검색을 수행할 수 있다. 그러면, 본 발명의 실시예에 따른 이미지 검색 방법에 대해서 설명하기로 한다. 도 12는 본 발명의 실시예에 따른 이미지 검색 방법을 설명하기 위한 흐름도이다. As described above, learning of the artificial neural network 300 is performed to simulate a reference image of each of a plurality of categories. Accordingly, when the image search keyword is input, the artificial neural network 300 may generate a processed image that mimics a reference image corresponding to a category to which the image search keyword belongs. Accordingly, the image search may be performed using the artificial neural network 300 that has been completed. Then, an image search method according to an embodiment of the present invention will be described. 12 is a flowchart illustrating an image search method according to an embodiment of the present invention.

도 12를 참조하면, 사용자장치(200)의 제어부(260)는 S410 단계에서 이미지 검색어를 생성한다. 여기서, 이미지 검색어는 사용자의 조작에 따라 제어부(260)가 카메라부(220)를 통해 촬영된 이미지이거나, 통신부(210)를 통해 특정 웹 사이트에 접속하여 해당 웹 사이트로부터 다운로드된 이미지가 될 수 있다. 예컨대, 도 2에 도시된 바와 같이, 이미지 검색어의 질의 객체는 기준 이미지의 기준 객체와 그 구도가 상이한 이미지가 될 수 있다. 다음으로, 제어부(260)는 S420 단계에서 통신부(210)를 통해 생성된 이미지 검색어를 검색서버(100)로 전송한다. Referring to FIG. 12, the control unit 260 of the user device 200 generates an image search word in step S410. Here, the image search term may be an image captured by the control unit 260 through the camera unit 220 according to a user's manipulation, or an image downloaded from a corresponding website by accessing a specific website through the communication unit 210. . For example, as illustrated in FIG. 2, the query object of the image search word may be an image having a different composition from the reference object of the reference image. Next, the control unit 260 transmits the image search word generated through the communication unit 210 to the search server 100 in step S420.

검색서버(100)의 이미지처리모듈(311)은 통신모듈(110)을 통해 이미지 검색어를 수신하면, S430 단계에서 인공신경망(300)을 이용하여 이미지 검색어의 질의 객체의 카테고리를 식별한다. 그런 다음, 이미지처리모듈(311)은 S440 단계에서 인공신경망(300)을 통해 이미지 검색어의 질의 객체의 구도를 식별된 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성한다. 즉, 이미지처리모듈(311)은 이미지 검색어를 학습이 완료된 인공신경망(300)의 생성망(310)에 입력한다. 그러면, 인공신경망(300)의 생성망(310)은 학습된 가중치를 적용한 복수의 연산을 수행하여 가공 이미지를 생성한다. 생성된 가공 이미지는 이미지검색모듈(133)에 제공된다. When the image search module 311 of the search server 100 receives the image search word through the communication module 110, in step S430, the artificial neural network 300 is used to identify the category of the query object of the image search word. Then, in step S440, the image processing module 311 generates a processed image processed with the same composition as the reference object included in the reference image corresponding to the identified category through the artificial neural network 300 through the artificial intelligence network 300. do. That is, the image processing module 311 inputs the image search word into the generation network 310 of the artificial neural network 300 where learning is completed. Then, the generation network 310 of the artificial neural network 300 generates a processed image by performing a plurality of operations applying the learned weights. The generated processed image is provided to the image search module 133.

이미지검색모듈(133)은 S450 단계에서 가공 이미지에 대한 이미지 검색을 수행한다. 일 실시예에 따르면, 검색서버(100)는 다양한 제품을 판매하는 인터넷 쇼핑 몰 서비스를 제공하는 서버이며, 저장모듈(120)의 데이터베이스에 인터넷 쇼핑 몰에서 판매하는 복수의 상품 이미지가 저장되어 있다고 가정한다. 그러면, 이미지검색모듈(133)은 가공 이미지를 이미지 검색어로 저장모듈(120)에 저장된 상품 이미지에 대해 이미지 검색을 수행할 수 있다. 그러면, 이미지검색모듈(133)은 S460 단계에서 통신모듈(110)을 통해 검색된 복수의 상품 이미지를 포함하는 이미지 검색 결과를 사용자장치(200)로 전송한다. The image search module 133 performs an image search for the processed image in step S450. According to one embodiment, the search server 100 is a server that provides an Internet shopping mall service that sells various products, and it is assumed that a plurality of product images sold in the Internet shopping mall are stored in a database of the storage module 120. do. Then, the image search module 133 may perform an image search on the product image stored in the storage module 120 using the processed image as an image search term. Then, the image search module 133 transmits an image search result including a plurality of product images searched through the communication module 110 to the user device 200 in step S460.

사용자장치(200)가 이미지 검색 결과를 수신하면, 사용자장치(200)의 제어부(260)는 S450 단계에서 이미지 검색 결과에 포함된 복수의 상품 이미지를 표시부(240)를 통해 표시할 수 있다. When the user device 200 receives the image search result, the control unit 260 of the user device 200 may display a plurality of product images included in the image search result through the display unit 240 in step S450.

이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.As described above, this specification includes details of a number of specific implementations, but these should not be understood as limiting with respect to any invention or claimable scope, but rather may be specific to a particular embodiment of a particular invention. It should be understood as a description of the features. Certain features that are described in this specification in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, although features may operate in a particular combination and may initially be depicted as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, and the claimed combination subcombined. Or sub-combinations.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should not be understood that such operations should be performed in the particular order shown or in sequential order, or that all shown actions should be performed in order to obtain desirable results. In certain cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged in multiple software products. You should understand that you can.

본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Specific embodiments of the subject matter described herein have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims may be performed in different orders while still achieving desirable results. As an example, the process illustrated in the accompanying drawings does not necessarily require that particular illustrated order or sequential order to obtain desirable results. In certain implementations, multitasking and parallel processing can be advantageous.

본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The described description presents the best mode of the present invention, and provides examples for explaining the present invention and for those skilled in the art to make and use the present invention. The specification thus produced is not intended to limit the invention to the specific terms presented. Therefore, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art can make modifications, alterations, and modifications to these examples without departing from the scope of the present invention.

따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be determined by the described embodiments, but should be determined by the claims.

본 발명은 가공 이미지를 이용한 이미지 검색 방법 및 이를 위한 장치에 관한 것으로서, 본 발명에 따르면, 이미지 검색어의 질의 객체가 속하는 카테고리를 도출한 후, 해당 카테고리의 기준 이미지에 포함된 기준 객체와 동일한 구도로 질의 객체의 구도를 가공한 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이에 따라, 검색 대상 이미지와 동일한 구도의 이미지를 통해 이미지 검색을 수행할 수 있어 이미지 검색의 정확도 및 신뢰도를 향상시킬 수 있다. 따라서 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다. The present invention relates to an image search method using a processed image and an apparatus therefor, according to the present invention, after deriving a category to which a query object of an image search term belongs, querying with the same composition as the reference object included in the reference image of the corresponding category A processed image processing the composition of the object is generated, and image search is performed using the generated processed image. Accordingly, it is possible to perform image search through an image having the same composition as the image to be searched, thereby improving the accuracy and reliability of the image search. Therefore, the present invention has industrial applicability because the present invention is not only sufficiently commercially available or commercially viable, but also practically clearly implemented.

100: 검색서버 110: 통신모듈
120: 저장모듈 130: 제어모듈
131: 이미지처리모듈 133: 이미지검색모듈
200: 사용자장치 210: 통신부
220: 카메라부 230: 입력부
240: 표시부 250: 저장부
260: 제어부 300: 인공신경망
310: 생성망 320: 인증망
100: search server 110: communication module
120: storage module 130: control module
131: image processing module 133: image search module
200: user device 210: communication unit
220: camera unit 230: input unit
240: display unit 250: storage unit
260: control unit 300: artificial neural network
310: generation network 320: authentication network

Claims (13)

이미지처리모듈이 이미지 검색어를 수신하는 단계;
이미지처리모듈이 상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 질의 객체의 카테고리를 식별하는 단계;
상기 이미지처리모듈이 인공신경망을 통해 상기 이미지 검색어의 질의 객체의 구도를 상기 식별된 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 단계; 및
이미지검색모듈이 상기 가공 이미지를 이용하여 이미지 검색을 수행하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
An image processing module receiving an image search word;
An image processing module identifying a category of the query object by recognizing a query object included in the image search term;
Generating, by the image processing module, a processed image in which the composition of the query object of the image search term is processed to the same composition as the reference object included in the reference image corresponding to the identified category through an artificial neural network; And
And an image search module performing an image search using the processed image.
제1항에 있어서,
상기 가공 이미지를 생성하는 단계는
상기 이미지처리모듈이 상기 이미지 검색어를 상기 인공신경망에 입력하는 단계;
상기 이미지처리모듈이 상기 인공신경망을 통해 상기 이미지 검색어에 대해 가중치가 적용된 복수의 연산을 통해 상기 가공 이미지를 생성하여 출력하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
According to claim 1,
The step of generating the processed image
Inputting the image search word into the artificial neural network by the image processing module;
And the image processing module generating and outputting the processed image through a plurality of calculations in which weights are applied to the image search terms through the artificial neural network.
제1항에 있어서,
상기 가공 이미지를 생성하는 단계 전,
상기 이미지처리모듈이 상기 인공신경망이 상기 이미지 검색어로부터 상기 가공 이미지를 생성하도록 상기 인공신경망을 학습시키는 단계;를 더 포함하는 것을 특징으로 하는 이미지 검색 방법.
According to claim 1,
Before the step of generating the processed image,
And the image processing module learning the artificial neural network so that the artificial neural network generates the processed image from the image search word.
제3항에 있어서,
상기 인공신경망을 학습시키는 단계는
상기 이미지처리모듈이
상기 인공신경망의 생성망 및 인증망 각각을 개별적으로 학습시키는 단계; 및
상기 이미지처리모듈이 상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 3,
The step of learning the artificial neural network
The image processing module
Individually learning each of the artificial neural network generation network and the authentication network; And
And the image processing module competing and learning the generation network and the authentication network.
제4항에 있어서,
상기 개별적으로 학습시키는 단계는
상기 이미지처리모듈이 상기 생성망에 학습 이미지를 입력하는 단계;
상기 생성망이 입력된 학습 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 단계;
상기 이미지처리모듈이 생성망이 생성한 가공 이미지와 상기 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
According to claim 4,
The step of learning individually
Inputting a learning image into the generation network by the image processing module;
Outputting a processed image by performing a plurality of calculations in which a weight is applied to the learning image input by the generation network;
And modifying the weight of the generation network so that the difference between the processed image generated by the generation network and the reference image is minimized by the image processing module.
제4항에 있어서,
상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정하는 단계;
상기 이미지처리모듈이 가공 이미지 또는 기준 이미지를 상기 인증망에 입력하는 단계;
상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 단계;
상기 이미지처리모듈이 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
According to claim 4,
Setting, by the image processing module, a target value such that the authentication network determines that the processed image is fake, and determines that the reference image is genuine;
Inputting a processed image or a reference image into the authentication network by the image processing module;
Outputting, as an output value, the probability that the authentication image is a real image or a reference image that is input through an operation in which the plurality of weights are applied by the authentication network;
And the image processing module correcting the weight of the authentication network so that a loss value, which is a difference between an output value and a target value of the authentication network, is minimum.
제4항에 있어서,
상기 경쟁시켜 학습시키는 단계는
상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하는 단계; 및
상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
According to claim 4,
The step of learning by competing is
Setting a target value to determine that the processed image generated by the generation network is fake, and then correcting the weight of the authentication network so that the difference between the set target value and the output value of the authentication network is minimal; And
And setting a target value to determine that the processed image generated by the generation network is real, and then correcting the weight of the generation network so that the difference between the set target value and the output value of the authentication network is minimum. Image search method characterized by.
사용자장치로부터 이미지 검색어를 수신하는 통신모듈;
상기 이미지 검색어의 질의 객체의 구도를 상기 질의 객체의 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 인공신경망;
상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 아이템의 카테고리를 식별하고, 상기 인공신경망을 통해 상기 이미지 검색어로부터 상기 가공 이미지를 생성하는 이미지처리모듈; 및
상기 가공 이미지를 이용하여 이미지 검색을 수행하는 이미지검색모듈;을 포함하는 것을 특징으로 하는 이미지 검색 장치.
A communication module for receiving an image search word from a user device;
An artificial neural network generating a processed image in which the composition of the query object of the image search term is processed to the same composition as the reference object included in the reference image corresponding to the category of the query object;
An image processing module that recognizes a query object included in the image search term to identify the category of the item, and generates the processed image from the image search term through the artificial neural network; And
And an image search module for performing an image search using the processed image.
제8항에 있어서,
상기 인공신경망은
이미지 검색어가 입력되면, 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 생성망; 및
가공 이미지 또는 기준 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 인증망;을 포함하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 8,
The artificial neural network
A generation network that outputs a processed image by performing a plurality of operations in which a weight is applied to the input image search word when the image search word is input; And
When the processed image or the reference image is input, the image search characterized in that it comprises; an authentication network that outputs the probability that the processed image or the reference image inputted through a plurality of operations to which the weight is applied is a real probability and a false probability as output values. Device.
제8항에 있어서,
상기 이미지처리모듈은
상기 생성망이 이미지 검색어로부터 가공 이미지를 생성하도록 상기 생성망 및 상기 인증망 각각을 개별적으로 학습시키는 개별 학습을 수행한 후,
상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 경쟁 학습을 수행하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 8,
The image processing module
After performing the individual learning to individually learn each of the generation network and the authentication network so that the generation network generates a processed image from the image search word,
An image retrieval apparatus characterized by performing a competitive learning to compete and learn the generation network and the authentication network.
제10항에 있어서,
상기 이미지처리모듈은
상기 개별 학습 시,
상기 생성망에 기준 이미지의 이미지 검색어를 입력하고,
상기 생성망이 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하면, 출력된 가공 이미지와 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 10,
The image processing module
In the above individual learning,
Enter an image search term of the reference image in the generation network,
When the generation network outputs a processed image by performing a plurality of calculations in which a weight is applied to the input image search word, the weight of the generation network is modified to minimize the difference between the output processed image and the reference image. Image search device.
제10항에 있어서,
상기 이미지처리모듈은
상기 개별 학습 시,
상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정한 후, 상기 가공 이미지 또는 상기 기준 이미지를 상기 인증망에 입력하고,
상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하면, 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 10,
The image processing module
In the above individual learning,
After the image processing module determines that the authentication network is fake, and sets a target value to determine the reference image as real, inputs the processed image or the reference image into the authentication network,
If the authentication network outputs the probability that the processed image or the reference image, which is input through a calculation in which multiple weights are applied, is a real probability and a false probability, as output values, the loss value, which is the difference between the output value and the target value of the authentication network, is the minimum value. The image retrieval device, characterized in that to modify the weight of the authentication network as possible.
제10항에 있어서,
상기 이미지처리모듈은
상기 경쟁 학습 시,
상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하고,
상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 10,
The image processing module
In the competition learning,
After setting a target value to determine that the processed image generated by the generation network is fake, correct the weight of the authentication network so that the difference between the set target value and the output value of the authentication network is minimal,
After setting a target value to determine that the processed image generated by the generation network is genuine, an image search characterized by modifying the weight of the generation network to minimize the difference between the set target value and the output value of the authentication network Device.
KR1020180102263A 2018-08-29 2018-08-29 A method for image searching using a converted image and an apparatus therefor KR20200027586A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180102263A KR20200027586A (en) 2018-08-29 2018-08-29 A method for image searching using a converted image and an apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180102263A KR20200027586A (en) 2018-08-29 2018-08-29 A method for image searching using a converted image and an apparatus therefor

Publications (1)

Publication Number Publication Date
KR20200027586A true KR20200027586A (en) 2020-03-13

Family

ID=69938345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180102263A KR20200027586A (en) 2018-08-29 2018-08-29 A method for image searching using a converted image and an apparatus therefor

Country Status (1)

Country Link
KR (1) KR20200027586A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102396323B1 (en) * 2021-03-05 2022-05-10 쿠팡 주식회사 Electronic apparatus and information providing method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100043823A (en) 2008-10-21 2010-04-29 에스케이 텔레콤주식회사 Method and server for providing online shopping using image of commodity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100043823A (en) 2008-10-21 2010-04-29 에스케이 텔레콤주식회사 Method and server for providing online shopping using image of commodity

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102396323B1 (en) * 2021-03-05 2022-05-10 쿠팡 주식회사 Electronic apparatus and information providing method thereof
US11379900B1 (en) 2021-03-05 2022-07-05 Coupang Corp. Electronic apparatus, manufacture, and information providing method thereof
WO2022186415A1 (en) * 2021-03-05 2022-09-09 쿠팡 주식회사 Electronic device and information provision method thereof

Similar Documents

Publication Publication Date Title
CN108280458B (en) Group relation type identification method and device
JP7265003B2 (en) Target detection method, model training method, device, apparatus and computer program
JP7096444B2 (en) Image area positioning method, model training method and related equipment
CN108304388B (en) Machine translation method and device
WO2021238366A1 (en) Neural network construction method and apparatus
CN108334539B (en) Object recommendation method, mobile terminal and computer-readable storage medium
US9710447B2 (en) Visual recognition using social links
KR102531009B1 (en) A method for image searching using an captured image based on guidelines and an apparatus therefor
CN112135325A (en) Network switching method, device, storage medium and terminal
CN113946719A (en) Word completion method and device
KR20200023678A (en) A method for image searching using part of an image and an apparatus therefor
CN110795558B (en) Label acquisition method and device, storage medium and electronic device
KR20200027586A (en) A method for image searching using a converted image and an apparatus therefor
WO2022162677A1 (en) Distributed machine learning with new labels using heterogeneous label distribution
CN115981798B (en) File analysis method, device, computer equipment and readable storage medium
KR20200026373A (en) Image search method using search history and apparatus therefor
CN109544241B (en) Click rate estimation model construction method, click rate estimation method and device
JP6558452B1 (en) Quality check device, quality check method and program
KR20200027589A (en) Method and apparatus for image search
KR20200023091A (en) Image search method for providing information about similarity and apparatus therefor
KR20200023093A (en) A method for recommendation of style coordination and an apparatus therefor
KR101980629B1 (en) An apparatus for automatically executing a video, a method thereof and computer recordable medium storing program to perform the method
KR20200003564A (en) A method for image searching using an image comprising a plurality of items and an apparatus therefor
KR102594099B1 (en) A method for editing uploaded images and an apparatus therefor
KR20200021737A (en) A method for image searching using real time popular search word and an apparatus therefor

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal