KR20200023678A - A method for image searching using part of an image and an apparatus therefor - Google Patents

A method for image searching using part of an image and an apparatus therefor Download PDF

Info

Publication number
KR20200023678A
KR20200023678A KR1020180095857A KR20180095857A KR20200023678A KR 20200023678 A KR20200023678 A KR 20200023678A KR 1020180095857 A KR1020180095857 A KR 1020180095857A KR 20180095857 A KR20180095857 A KR 20180095857A KR 20200023678 A KR20200023678 A KR 20200023678A
Authority
KR
South Korea
Prior art keywords
image
network
processing module
completed
verification
Prior art date
Application number
KR1020180095857A
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 KR1020180095857A priority Critical patent/KR20200023678A/en
Publication of KR20200023678A publication Critical patent/KR20200023678A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]

Landscapes

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

Abstract

The present invention relates to an image retrieval method using a part of an image and an apparatus therefor. The image retrieval method using a part of an image comprises the steps of: receiving, by an image processing module, an unfinished image of which a part is hided; generating, by the image processing module, a completed image by restoring the hided part through an artificial neural network; and performing, by the image processing module, image retrieval by using the completed image.

Description

이미지의 일부를 이용한 이미지 검색 방법 및 이를 위한 장치{A method for image searching using part of an image and an apparatus therefor}A method for image searching using part of an image and an apparatus therefor}

본 발명은 이미지 검색 기술에 관한 것으로, 더욱 상세하게는, 사용자가 촬영한 이미지를 이용하여 이미지 검색을 수행할 때, 검색 대상 객체의 일부가 가려진 경우, 이러한 일부 이미지를 이용한 이미지 검색 방법 및 장치에 관한 것이다. The present invention relates to an image retrieval technology, and more particularly, to a method and an apparatus for retrieving an image using a partial image when a part of a search target object is hidden when performing an image retrieval using an image captured by a user. It is about.

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

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

본 발명의 목적은 사용자가 촬영한 이미지에 복수의 객체가 포함되어 있을 때, 복수의 객체 중 다른 객체에 의해 일부가 가려진 객체에 대한 이미지 검색 방법 및 장치를 제공함에 있다. SUMMARY OF THE INVENTION An object of the present invention is to provide an image retrieval method and apparatus for an object partially hidden by another object among a plurality of objects when a plurality of objects are included in an image photographed by a user.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 이미지 검색 방법은 이미지처리모듈이 이미지의 일부가 가려진 미완성 이미지를 수신하는 단계와, 상기 이미지처리모듈이 인공신경망을 통해 상기 이미지의 일부가 복원된 완성 이미지를 생성하는 단계와, 이미지검색모듈이 상기 완성 이미지를 이용하여 이미지 검색을 수행하는 단계를 포함한다. The image retrieval method according to a preferred embodiment of the present invention for achieving the object as described above comprises the steps of the image processing module to receive an unfinished image that is part of the image, the image processing module of the image through the artificial neural network Generating a partially reconstructed complete image, and performing an image search by the image retrieval module using the completed image.

상기 완성 이미지를 생성하는 단계는 상기 미완성 이미지를 상기 인공신경망에 입력하는 단계와, 상기 인공신경망을 통해 상기 미완성 이미지에 대해 가중치가 적용된 복수의 연산을 통해 상기 완성 이미지를 생성하여 출력하는 단계를 포함한다. The generating of the completed image may include inputting the unfinished image into the artificial neural network, and generating and outputting the finished image through a plurality of operations that are weighted with respect to the unfinished image through the artificial neural network. do.

상기 완성 이미지를 생성하는 단계 전, 상기 이미지처리모듈이 상기 인공신경망이 상기 미완성 이미지로부터 상기 완성 이미지를 도출하도록 상기 인공신경망을 학습시키는 단계를 더 포함한다. Prior to generating the complete image, the image processing module further comprises the step of learning the artificial neural network so that the artificial neural network derives the complete image from the unfinished image.

상기 인공신경망을 학습시키는 단계는 상기 이미지처리모듈이 상기 인공신경망의 복원망 및 검증망 각각을 개별적으로 학습시키는 단계와, 상기 이미지처리모듈이 상기 복원망 및 상기 검증망을 경쟁시켜 학습시키는 단계를 포함한다. The training of the artificial neural network may include: training the reconstructed network and the verification network of the artificial neural network individually by the image processing module; and training the reconstructed network and the verification network by the image processing module. Include.

상기 개별적으로 학습시키는 단계는 상기 이미지처리모듈이 상기 복원망에 원본 이미지의 미완성 이미지를 입력하는 단계와, 상기 복원망이 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력하는 단계와, 상기 이미지처리모듈이 복원망이 생성한 완성 이미지와 상기 원본 이미지의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 단계를 포함한다. The individually training may include inputting an incomplete image of an original image into the restoration network by the image processing module, and performing a plurality of operations in which weights are applied to the incomplete image into which the restoration network is input. Outputting the image processing module and modifying a weight of the restoration network such that a difference between the completed image generated by the restoration network and the original image is minimized.

상기 이미지처리모듈이 상기 검증망이 상기 완성 이미지를 가짜인 것으로 판별하고, 상기 원본 이미지를 진짜인 것으로 판별하도록 목표값을 설정하는 단계와, 상기 이미지처리모듈이 완성 이미지 또는 원본 이미지를 상기 검증망에 입력하는 단계와, 상기 검증망이 복수의 가중치가 적용되는 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 단계와, 상기 이미지처리모듈이 상기 검증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 검증망의 가중치를 수정하는 단계를 포함한다. Setting, by the image processing module, the verification network to determine that the completed image is a fake image, and determining a target value to determine that the original image is real, and wherein the image processing module determines the completed image or the original image on the verification network. Inputting to the outputting unit, and outputting, by the verification network, a probability that the input image or the probability that the input image is a real image or a fake image through an operation to which a plurality of weights are applied is output; And modifying a weight of the verification network so that a loss value that is a difference between an output value of the target value and the target value is minimized.

상기 경쟁시켜 학습시키는 단계는 상기 복원망이 생성한 완성 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 검증망의 출력값의 차이가 최소가 되도록 상기 검증망의 가중치를 수정하는 단계와, 상기 복원망이 생성한 완성 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 검증망의 출력값의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 단계를 포함한다. The training may be performed by setting a target value to determine that the completed image generated by the restoration network is fake, and then modifying the weight of the verification network so that the difference between the set target value and the output value of the verification network is minimized. And setting a target value to determine that the completed image generated by the restoration network is real, and then modifying the weight of the restoration network so that the difference between the set target value and the output value of the verification network is minimized. Include.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 이미지 검색 장치는 사용자장치와 통신을 위한 통신모듈과, 이미지의 일부가 가려진 미완성 이미지가 입력되면, 입력된 미완성 이미지의 상기 일부를 복원한 완성 이미지를 출력하는 인공신경망과, 상기 사용자장치로부터 상기 미완성 이미지를 수신하면, 상기 인공신경망을 통해 상기 완성 이미지를 도출하는 이미지처리모듈과, 상기 완성 이미지를 이용하여 이미지 검색을 수행하는 이미지검색모듈을 포함한다. An image retrieval apparatus according to a preferred embodiment of the present invention for achieving the object as described above, if the communication module for communication with the user device, and an unfinished image is hidden part of the image is input, the image retrieval part An artificial neural network for outputting a reconstructed complete image, an image processing module for deriving the completed image through the artificial neural network upon receiving the unfinished image from the user device, and an image for performing image retrieval using the completed image Contains a search module.

상기 인공신경망은 미완성 이미지가 입력되면, 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력하는 복원망과, 완성 이미지 또는 원본 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 검증망을 포함한다. When the unfinished image is input, the artificial neural network performs a plurality of operations in which weights are applied to the input unfinished image and outputs a completed image, and when the finished image or the original image is input, a plurality of weights are applied. It includes a verification network that outputs the probability that the completed image or the original image input through the operation is true or false.

상기 이미지처리모듈은 상기 복원망이 미완성 이미지로부터 완성 이미지를 생성하도록 상기 복원망 및 상기 검증망 각각을 개별적으로 학습시키는 개별 학습을 수행한 후, 상기 복원망 및 상기 검증망을 경쟁시켜 학습시키는 경쟁 학습을 수행하는 것을 특징으로 한다. The image processing module competes to learn by competing the reconstruction network and the verification network after performing individual learning to individually learn each of the reconstruction network and the verification network so that the reconstruction network generates a complete image from an incomplete image. Characterized in performing learning.

상기 이미지처리모듈은 상기 개별 학습 시, 상기 복원망에 원본 이미지의 미완성 이미지를 입력하고, 상기 복원망이 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력하면, 출력된 완성 이미지와 원본 이미지의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 것을 특징으로 한다. The image processing module inputs an incomplete image of the original image to the restoration network during the individual learning, and outputs a completed image by performing a plurality of operations to which a weight is applied to the incomplete image inputted by the restoration network. The weight of the restoration network is modified so that the difference between the completed image and the original image is minimized.

상기 이미지처리모듈은 상기 개별 학습 시, 상기 이미지처리모듈이 상기 검증망이 상기 완성 이미지를 가짜인 것으로 판별하고, 상기 원본 이미지를 진짜인 것으로 판별하도록 목표값을 설정한 후, 상기 이미지처리모듈이 완성 이미지 또는 원본 이미지를 상기 검증망에 입력하여, 상기 검증망이 복수의 가중치가 적용되는 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하면, 상기 검증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 검증망의 가중치를 수정하는 것을 특징으로 한다. The image processing module sets the target value so that the image processing module determines that the verification image is a fake image and that the original image is real, and the image processing module determines that the original image is real. Inputting a complete image or an original image to the verification network, and outputting the probability that the input image or the original image is genuine and a fake value as an output value through an operation to which a plurality of weights are applied, the verification network The weight of the verification network is modified so that a loss value that is a difference between an output value and a target value is minimized.

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

본 발명에 따르면, 일부가 가려진 객체의 가려진 미완성 이미지에서 가려진 부분을 완성하여 완성된 이미지를 이용하여 이미지 검색을 수행할 수 있다. 이에 따라, 이미지 검색의 정확도를 향상시킬 수 있다. According to the present invention, an image retrieval may be performed using the completed image by completing the hidden portion of the hidden unfinished image of the object partially hidden. Accordingly, the accuracy of image retrieval can be improved.

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

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

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

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. The terms or words used in the following description and drawings should not be construed as being limited to the common or dictionary meanings, and the inventors may appropriately define the concept of terms for describing their own invention in the best way. It should be interpreted as meanings and concepts corresponding to the technical idea of the present invention based on the principle that the present invention. Therefore, the embodiments described in the specification and the drawings shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical idea of the present invention, various modifications that can be substituted for them at the time of the present 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 another component, and to limit the components. 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 a component is referred to as being "connected" or "connected" to another component, it means that it may be connected or connected logically or physically. In other words, although a component may be directly connected or connected to other components, it should be understood that other components may exist in the middle and may be connected or connected indirectly.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the 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, the terms "?", "?", "Module", and the like 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" or "an", "one", "the" and the like shall also be indicated otherwise in the context of the present invention (particularly in the context of the following claims). Unless otherwise expressly contradicted by context, it may be used in the sense including both singular and plural.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다. In addition, embodiments within the scope of the present invention include computer readable media having or conveying 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. And may include, but are not limited to, any other medium that can be used to store or deliver certain program code means, and can be accessed by a general purpose or special purpose computer system. .

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

먼저, 본 발명의 실시예에 따른 미완성 이미지를 이용한 이미지 검색 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 이미지 검색 시스템을 설명하기 위한 도면이다. 또한, 도 2 및 도 3은 본 발명의 실시예에 따른 미완성 이미지, 완성 이미지 및 원본 이미지를 설명하기 위한 도면이다. 도 1을 참조하면, 이미지 검색 시스템은 검색서버(100) 및 사용자장치(200)를 포함한다. First, an image retrieval system using an unfinished image 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. 2 and 3 are diagrams for explaining an unfinished image, a completed image, and an original 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 a wireless local area network (WLAN), Wi-Fi, Wibro, Wimax, and High Speed Downlink Packet Access (HSDPA). Depending on how the system is implemented, it may also include wired communication networks such as Ethernet, xDSL (ADSL, VDSL), Hybrid Fiber Coaxial Cable (HFC), Fiber to The Curb (FTTC), and Fiber To The Home (FTTH).

아울러, 본 발명의 통신망(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 performs wireless communication by directly connecting to a terminal, 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). It may be implemented as a base station controller such as a Radio Network Controller (RNC). In addition, as described above, the digital signal processing unit and the wireless signal processing unit, which are integrally implemented in the base station, are divided into digital units (hereinafter referred to as DUs and radio units (hereinafter referred to as RUs)). In addition, a plurality of RUs (not shown) may be installed in the area of the network, and a plurality of RUs may be connected to a centralized DU. It serves to connect networks, for example other communication networks, such as the Internet.

이러한 코어망은 앞서 설명한 바와 같이, 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(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 main functions for mobile communication services such as mobility control and switching between access networks, and performs circuit switching or packet switching, and performs mobile network. Manage and control the flow of packets within In addition, the core network may manage inter-frequency mobility 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. The core network may further include a serving gateway (SGW), a PDN gateway (PGW), a mobile switching center (MSC), a home location register (HLR), a mobile mobility entity (MME), and a home subscriber server (HSS). It may 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 in the 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 exemplary 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, a personal computer, or the like.

도 2에 도시된 바와 같이, 본 발명의 실시예에서 이미지 검색어로 사용되는 이미지는 미완성 이미지(I)이며, 미완성 이미지(I)는 다른 객체(O)에 의해 객체의 일부가 가려진 상태의 이미지이다. 도 3을 참조하면, 원본 이미지(R)가 존재할 때, 원본 이미지(R)에 존재하는 객체의 일부가 가려진 경우, 그 이미지를 미완성 이미지(I)라고 칭하기로 한다. 또한, 미완성 이미지(I)의 가려진 부분을 복원한 것을 완성 이미지(C)라고 칭하기로 한다. As shown in FIG. 2, in the embodiment of the present invention, the image used as the image search word is an unfinished image I, and the unfinished image I is an image in which part of the object is covered by another object O. FIG. . Referring to FIG. 3, when a part of an object existing in the original image R is covered when the original image R exists, the image is referred to as an incomplete image I. FIG. In addition, the restoration of the hidden part of the unfinished image I will be referred to as the completed image C.

사용자장치(200)는 미완성 이미지(I)를 이미지 검색어로 검색서버(100)에 전송하여 이미지 검색을 요청할 수 있다. 이에 따라, 검색서버(100)는 미완성 이미지(I)인 이미지 검색어를 수신하면, 검색 대상 객체, 즉, 일부가 가려진 객체에 대한 이미지 검색을 수행한다. 검색서버(100)는 미완성 이미지(I)의 가려진 부분을 완성하여 완성 이미지(C)를 생성하고, 생성된 완성 이미지를 이용하여 이미지 검색을 수행할 수 있다. 이에 따라, 이미지 검색의 정확도 및 신뢰도가 향상된다. The user device 200 may request an image search by transmitting the unfinished image I as an image search word to the search server 100. Accordingly, when the search server 100 receives an image search word that is an incomplete image I, the search server 100 performs an image search for a search target object, that is, an object that is partially hidden. The search server 100 may complete the masked portion of the unfinished image I to generate a completed image C, and perform an image search using the generated completed image. Accordingly, the accuracy and reliability of image retrieval is improved.

그러면, 보다 상세히 본 발명의 실시예에 따른 검색서버(100) 및 사용자장치(200)의 구성에 대해서 살펴보기로 한다. 먼저, 본 발명의 실시예에 따른 검색서버(100)의 구성에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 검색서버의 구성을 설명하기 위한 블록도이다. 도 4를 참조하면, 검색서버(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. 4 is a block diagram illustrating a configuration of a search server according to an embodiment of the present invention. Referring to FIG. 4, 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 transmission from the control module 130 to the user device 200, the communication module 110 configures the received data into a packet and transmits the received data. For example, the received data may be a plurality of 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 operation of the search server 100 are stored. For example, when the search server 100 is an internet shopping mall, the data stored in the storage module 120 may include a product image of each product category. Such a product image may be an object of an image search. Various data stored in the storage module 120 may be deleted, changed, or added according to a user's manipulation.

제어모듈(130)은 검색서버(100)의 전반적인 동작 및 검색서버(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(130)은 중앙 처리 장치(Central Processing Unit: CPU)인 것이 바람직하다. 제어모듈(130)은 인공신경망(300), 이미지처리모듈(131) 및 이미지검색모듈(133)을 포함한다. 인공신경망(300)은 미완성 이미지(I)가 입력되면, 입력된 미완성 이미지(I)의 일부를 복원하여 완성 이미지(C)를 생성한다. 이미지처리모듈(131)은 복수의 학습 데이터를 이용하여 인공신경망(300)이 미완성 이미지(I)로부터 완성 이미지(C)를 생성하도록 학습시킨다. 학습이 완료된 후, 이미지처리모듈(131)은 통신모듈(110)을 통해 사용자장치(200)로부터 미완성 이미지를 수신할 수 있다. 이때, 이미지처리모듈(131)은 인공신경망(300)을 통해 수신된 미완성 이미지로부터 완성 이미지를 도출할 수 있다. 이미지검색모듈(133)은 이미지처리모듈(131)로부터 완성 이미지를 전달 받고, 전달 받은 완성 이미지를 이용하여 이미지 검색을 수행한다. 그런 다음, 이미지검색모듈(133)은 검색된 이미지를 통신모듈(110)을 통해 사용자장치(200)로 전송한다. 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). The control module 130 includes an artificial neural network 300, an image processing module 131, and an image retrieval module 133. When the unfinished image I is input, the artificial neural network 300 restores a part of the input unfinished image I to generate a completed image C. The image processing module 131 trains the artificial neural network 300 to generate the completed image C from the unfinished image I by using the plurality of training data. After the learning is completed, the image processing module 131 may receive an incomplete image from the user device 200 through the communication module 110. In this case, the image processing module 131 may derive the completed image from the unfinished image received through the artificial neural network 300. The image search module 133 receives the completed image from the image processing module 131 and performs an image search using the received completed image. Then, the image search module 133 transmits the searched image to the user device 200 through the communication module 110.

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

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

복원망(310)은 미완성 이미지가 입력되면, 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력한다. 검증망(320)은 복원망(310)이 생성한 완성 이미지를 검증하기 위한 것으로, 완성 이미지 또는 원본 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력한다. 그러면, 복원망(310) 및 검증망(320) 각각에 대해서 설명하기로 한다. When the incomplete image is input, the restoring network 310 outputs the completed image by performing a plurality of operations in which weights are applied to the input incomplete image. The verification network 320 is for verifying the completed image generated by the restoring network 310. When the completion image or the original image is input, the verification image 320 is a genuine input image through the plurality of calculations to which the weight is applied. Outputs probability and false probability as output values. Then, each of the restoration network 310 and the verification network 320 will be described.

도 5 및 도 6을 참조하여 복원망(310)에 대해서 설명하기로 한다. 복원망(310)은 가중치가 적용되는 복수의 연산을 포함하는 복수의 계층을 포함한다. 여기서, 복수의 연산을 포함하는 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CL: Convolution Layer), 다운샘플링(Down Sampling) 연산을 수행하는 풀링계층(PL: Pooling Layer) 및 업샘플링(Up Sampling) 연산을 수행하는 언풀링(UL: Unpooling Layer) 계층 및 디컨불루션 연산을 수행하는 디컨불루션 계층(DL: Deconvolution Layer) 각각을 하나 이상 포함한다. 컨볼루션, 다운샘플링, 업샘플링 및 디컨불루션 연산 각각은 소정의 행렬로 이루어진 필터를 이용하며, 이러한 행렬의 원소의 값들이 가중치가 된다. 복원망(310)은 미완성 이미지(I)을 입력 받는다. 이때, 미완성 이미지(I)의 각 픽셀의 픽셀값이 복원망(310)에 입력된다. 복원망(310)은 미완성 이미지(I)이 입력되면, 미완성 이미지(I)의 각 픽셀값에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지(C)을 생성한다. The restoration network 310 will be described with reference to FIGS. 5 and 6. The recovery 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 may include a convolution layer (CL) for performing a convolution operation, a pooling layer (PL) for performing down sampling, and a pooling layer (PL) for performing a downsampling operation. At least one unpooling layer (UL) for performing an upsampling operation and one or more deconvolution layers (DL) for performing a deconvolution operation are included. Convolution, downsampling, upsampling, and deconvolution operations each use a filter of a predetermined matrix, with the values of the elements of those matrices being weighted. The restoration network 310 receives an unfinished image I. At this time, the pixel value of each pixel of the unfinished image I is input to the restoration network 310. When the unfinished image I is input, the reconstruction network 310 generates a complete image C by performing a plurality of operations in which weights of a plurality of layers are applied to each pixel value of the unfinished image I.

도 5 및 도 7을 참조하여 검증망(320)에 대해서 설명하기로 한다. 검증망(320) 또한 가중치가 적용되는 복수의 연산을 수행하는 복수의 계층을 포함한다. 여기서, 복수의 연산을 수행하는 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CL: Convolution Layer) 및 소프트맥스(Soft-max) 연산을 수행하는 완전연결층(FL: Fully Connected Layer)을 포함한다. 컨볼루션 연산은 소정의 행렬로 이루어진 필터를 이용하며, 이러한 행렬의 원소의 값들이 가중치가 된다. 또한, 소프트맥스 연산 또한 가중치를 적용하여 수행된다. The verification network 320 will be described with reference to FIGS. 5 and 7. The verification network 320 also includes a plurality of layers that perform a plurality of operations to which weights are applied. Here, the plurality of layers that perform a plurality of operations may include a convolution layer (CL) that performs a convolution operation and a fully connected layer (FL) that performs a soft-max operation. Layer). The convolution operation uses a filter of a predetermined matrix, with the values of the elements of this matrix being weighted. Softmax operations are also performed by applying weights.

검증망(320)은 입력된 이미지가 복원망(310)에 의해 생성된 것이 아닌 본래의 이미지를 나타내는 진짜(real)인지 혹은 본래의 이미지가 아니라 복원망(310)에 의해 복원된 이미지를 나타내는 가짜(fake)의 것인지 여부를 출력한다. 여기서, 입력된 이미지는 복원망(310)이 생성한 완성 이미지(C) 및 원본 이미지(R) 중 어느 하나가 될 수 있다. The verification network 320 is a fake representing the image restored by the restoration network 310 or not the input image is real or original image representing the original image is not generated by the restoration network 310 Outputs whether it is (fake). Here, the input image may be any one of the completed image C and the original image R generated by the restoration network 310.

다음으로, 본 발명의 실시예에 따른 사용자장치(200)에 대해서 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다. 도 8을 참조하면, 본 발명의 실시예에 따른 사용자장치(200)는 통신부(210), 카메라부(220), 입력부(230), 표시부(240), 저장부(250) 및 제어부(260)를 포함한다. Next, the user device 200 according to an embodiment of the present invention will be described. 8 is a block diagram illustrating a configuration of a user device according to an exemplary embodiment of the present invention. Referring to FIG. 8, the user device 200 according to an exemplary embodiment of the present invention may include a communication unit 210, a camera unit 220, an input unit 230, a display unit 240, a storage unit 250, and a controller 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 various communication connection type communication functions. The communication unit 210 may be implemented by one 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 include an RF transmitter for up-converting and amplifying a frequency of a transmitted signal, and an RF receiver for low noise amplifying and down-converting a received signal. Data received from the controller 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 formed of a touch screen, functions of various keys of the input unit 230 may be performed by the display unit 240. When the display unit 240 may perform all functions using only the touch screen, the input unit 230 may be omitted. It may 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 be configured as a touch sensor such as capacitive overlay, pressure, resistive overlay, infrared beam, or a pressure sensor. . In addition to the above sensors, all kinds of sensor devices capable of detecting 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)를 통해 특정 이미지를 촬영할 수 있다. 촬영된 이미지는 미완성 이미지(I)가 될 수 있다. 또한, 제어부(260)는 사용자의 조작에 따라 통신부(210)를 통해 특정 웹 사이트에 접속하여 해당 웹 사이트의 이미지를 다운로드 할 수 있다. 다운로드된 이미지는 미완성 이미지(I)가 될 수 있다. 제어부(260)는 입력부(230) 혹은 표시부(240)를 통해 촬영한 이미지 혹은 다운로드한 이미지인 미완성 이미지(I)가 선택되고, 선택된 이미지에 대한 이미지 검색을 요청하는 입력을 감지하면, 미완성 이미지(I)를 포함하는 이미지 검색 요청을 통신부(210)를 통해 검색서버(100)로 전송하여, 이미지 검색을 수행할 수 있다. 이러한 제어부(260)의 동작은 아래에서 더 상세하게 설명될 것이다. The controller 260 may capture a specific image through the camera unit 220 according to a user's manipulation. The captured image may be an unfinished image (I). In addition, the controller 260 may access a specific web site through the communication unit 210 and download an image of the web site according to a user's manipulation. The downloaded image may be an incomplete image (I). The controller 260 selects an unfinished image I, which is an image taken or downloaded through the input unit 230 or the display unit 240, and detects an input requesting an image search for the selected image. The image search request including I) may be transmitted to the search server 100 through the communication unit 210 to perform an image search. The operation of this controller 260 will be described in more detail below.

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

도 9를 참조하면, 이미지처리모듈(131)은 S100 단계에서 인공신경망(300)의 복원망(310) 및 검증망(320) 각각에 대해 개별적으로 학습을 수행한다. 이러한 학습을 '개별 학습'이라고 칭하기로 한다. 이미지처리모듈(131)은 개별 학습 시, 복원망(310)이 미완성 이미지(I)로부터 완성 이미지(C)를 생성하도록 학습시킨다. 또한, 이미지처리모듈(131)은 개별 학습 시, 검증망(320)이 완성 이미지(C)가 입력되면, 입력된 완성 이미지(C)를 가짜(fake)인 것으로 판별하고, 원본 이미지(R)가 입력되면, 입력된 원본 이미지(R)를 진짜(real)인 것으로 판별하도록 학습시킨다. Referring to FIG. 9, the image processing module 131 individually learns each of the reconstruction network 310 and the verification network 320 of the artificial neural network 300 in step S100. This learning will be referred to as 'individual learning'. The image processing module 131 trains the reconstruction network 310 to generate the completed image C from the unfinished image I during the individual learning. In addition, the image processing module 131 determines that the completed image C is fake, when the verification network 320 inputs the completed image C during individual learning, and the original image R is a fake image. Is inputted, the input original image R is trained to discriminate as being real.

구체적으로, 이미지처리모듈(131)은 S110 단계에서 학습 데이터를 이용하여 복원망(310)에 대한 개별 학습을 수행한다. 개별 학습 시, 이미지처리모듈(131)은 학습 데이터로 원본 이미지(R)와 원본 이미지(R)의 일부를 가린 미완성 이미지(I)를 이용한다. In detail, the image processing module 131 performs individual learning on the reconstruction network 310 using the training data in step S110. In the individual learning, the image processing module 131 uses the original image R and the unfinished image I covering part of the original image R as the training data.

도 10을 참조하여 복원망(310)의 개별 학습을 구체적으로 살펴보면, 이미지처리모듈(131)은 S111 단계에서 학습 데이터인 미완성 이미지(I)를 복원망(310)에 입력한다. Referring to the individual learning of the reconstruction network 310 with reference to FIG. 10 in detail, the image processing module 131 inputs the unfinished image I, which is training data, to the reconstruction network 310 in step S111.

그러면, 복원망(310)은 S113 단계에서 입력된 미완성 이미지(I)에 대해 가중치가 적용되는 복수의 연산을 수행하여 출력값으로 완성 이미지(C)을 출력할 것이다. Then, the restoration network 310 performs a plurality of operations to which weights are applied to the unfinished image I input in step S113 and outputs the completed image C as an output value.

그러면, 이미지처리모듈(131)은 S115 단계에서 완성 이미지(C)와 원본 이미지(R)의 픽셀값을 상호 비교하여 완성 이미지(C)와 원본 이미지(R)에 대한 차이인 손실값이 최소가 되도록 역확산(back-propagation) 알고리즘을 통해 복원망(310)의 복수의 연산에 적용되는 가중치를 수정한다. Then, the image processing module 131 compares the pixel values of the finished image (C) and the original image (R) with each other in step S115 and the loss value that is the difference between the finished image (C) and the original image (R) is the minimum. The weights applied to a plurality of operations of the restoration network 310 are modified through a back-propagation algorithm.

다음으로, 이미지처리모듈(131)은 S120 단계에서 검증망(320)에 대해 초기 학습을 수행한다. 이미지처리모듈(131)은 검증망(320)에 대한 개별 학습 시, 학습 데이터로 완성 이미지(C) 및 원본 이미지(R)를 이용한다. Next, the image processing module 131 performs initial learning on the verification network 320 in step S120. The image processing module 131 uses the completed image C and the original image R as learning data when the individual learning for the verification network 320 is performed.

도 11을 참조하여 검증망(320)의 개별 학습을 구체적으로 살펴보면, 이미지처리모듈(131)은 S121 단계에서 검증망(320)이 완성 이미지(C)를 가짜인 것으로 판별하고, 원본 이미지(R)를 진짜인 것으로 판별하도록 목표값을 설정한다. 예를 들면, 이미지처리모듈(131)은 완성 이미지(C)가 입력될 때, 목표값을 진짜(real) < 가짜(fake), 예컨대, ‘real = 0.20’ 및 ‘fake = 0.80’으로 설정하고, 원본 이미지(R)가 입력될 때, 목표값을 진짜(real) > 가짜(fake), 예컨대, ‘real = 0.75’ 및 ‘fake = 0.25’으로 설정할 수 있다. Looking at the individual learning of the verification network 320 with reference to FIG. 11 in detail, the image processing module 131 determines that the verification network 320 is a fake image (C) in step S121, the original image (R) Set the target value to determine true). For example, the image processing module 131 sets a target value to real <fake, for example, 'real = 0.20' and 'fake = 0.80' when the completed image C is input. When the original image R is input, the target values may be set to real> fake, for example, 'real = 0.75' and 'fake = 0.25'.

이미지처리모듈(131)은 S123 단계에서 검증망(320)에 완성 이미지(C) 및 원본 이미지(R) 중 어느 하나의 학습 데이터를 입력한다. The image processing module 131 inputs the learning data of any one of the completed image C and the original image R to the verification network 320 in step S123.

그러면, 검증망(320)은 S125 단계에서 복수의 연산을 통해 입력된 학습 데이터가 진짜(real)일 확률 및 가짜(fake)일 확률을 출력값으로 출력한다. 즉, 검증망(320)은 완성 이미지(C) 또는 원본 이미지(R)이 입력되면, 복수의 가중치가 적용되는 연산을 통해 입력된 완성 이미지(C) 또는 원본 이미지(R)이 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. 예를 들면, 검증망(320)은 출력값으로 진짜(real)일 확률과 가짜(fake)일 확률을 ‘real = 0.70’ 및 ‘fake = 0.30’와 같이 출력할 수 있다. Then, the verification network 320 outputs, as an output value, the probability that the learning data input through the plurality of operations are real and fake in step S125. That is, when the completion image C or the original image R is input, the verification network 320 inputs the completed image C or the original image R through a calculation to which a plurality of weights are applied. Outputs the probability of a job and the probability of a fake. For example, the verification network 320 may output a probability of being real and a fake as an output value, such as 'real = 0.70' and 'fake = 0.30'.

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

다음으로, 그런 다음, 이미지처리모듈(131)은 S200 단계에서 인공신경망(300)의 복원망(310) 및 검증망(320)을 경쟁시켜 학습시킨다. 이러한 학습을 '경쟁 학습'이라고 칭하기로 한다. 이때, 이미지처리모듈(131)은 검증망(320) 및 복원망(310)에 대해 상이한 목표값을 설정하여 검증망(320)과 복원망(310)이 상호 경쟁하도록 하는 학습을 수행한다. 즉, 이미지처리모듈(131)은 검증망(320)이 복원망(310)이 생성한 완성 이미지(C)를 가짜(fake)인 것으로 판별하도록 검증망(320)을 학습시킨다. 이에 대응하여, 이미지처리모듈(131)은 검증망(320)이 복원망(310)이 생성한 완성 이미지(C)를 진짜(real)인 것으로 판별하도록 복원망(310)을 학습시킨다. Next, the image processing module 131 competes and learns the reconstruction network 310 and the verification network 320 of the artificial neural network 300 in step S200. This learning will be referred to as 'competitive learning'. At this time, the image processing module 131 sets a different target value for the verification network 320 and the restoring network 310 so as to learn the competition between the verification network 320 and the restoring network 310. That is, the image processing module 131 trains the verification network 320 so that the verification network 320 determines that the completed image C generated by the restoration network 310 is a fake. Correspondingly, the image processing module 131 trains the reconstruction network 310 so that the verification network 320 determines that the completed image C generated by the reconstruction network 310 is real.

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

이에 따라, 이미지처리모듈(131)은 S260 단계에서 검증망(320)의 출력값과 목표값과의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 복원망(310)의 복수의 연산에 대한 가중치는 수정하지 않고, 검증망(320)의 복수의 연산에 대한 가중치를 수정한다. Accordingly, the image processing module 131 uses the despreading algorithm for the plurality of operations of the restoration network 310 to minimize the loss value that is the difference between the output value of the verification network 320 and the target value in operation S260. The weights of the plurality of operations of the verification network 320 are not modified.

앞선, S210 단계 내지 S260 단계의 검증망(320)의 학습에 대응하여, 이미지처리모듈(131)은 검증망(320)이 복원망(310)이 생성한 완성 이미지(C)를 진짜(real)인 것으로 판별하도록 목표값을 설정하여 복원망(310)을 학습시킨다. 이를 위하여, 이미지처리모듈(131)은 S270 단계에서 검증망(320)이 복원망(310)이 생성한 완성 이미지(C)를 진짜(real)인 것으로 판별하도록 목표값을 설정한다. 즉, 이미지처리모듈(131)은 완성 이미지(C)에 대한 목표값을 진짜(real) > 가짜(fake), 예컨대, ‘real = 0.90’ 및 ‘fake = 0.10’으로 설정할 수 있다. As described above, in response to the learning of the verification network 320 in steps S210 to S260, the image processing module 131 generates the completed image C generated by the restoration network 310 by the verification network 320. The retrieval network 310 is trained by setting a target value to determine that it is. To this end, the image processing module 131 sets a target value so that the verification network 320 determines that the completed image C generated by the restoration network 310 is real in step S270. That is, the image processing module 131 may set a target value for the completed image C to real> fake, for example, 'real = 0.90' and 'fake = 0.10'.

그런 다음, 이미지처리모듈(131)은 S280 단계에서 미완성 이미지(I)를 복원망(310)에 입력한다. 그러면, 복원망(310)은 S290 단계에서 입력된 미완성 이미지(I)로부터 완성 이미지(C)를 생성한다. 이어서, 이미지처리모듈(131)은 S300 단계에서 복원망(310)이 생성한 완성 이미지(C)를 검증망(320)에 입력한다. Then, the image processing module 131 inputs the unfinished image I to the restoration network 310 in step S280. Then, the restoration network 310 generates a complete image (C) from the unfinished image (I) input in step S290. In operation S300, the image processing module 131 inputs the completed image C generated by the reconstruction network 310 to the verification network 320.

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

이에 따라, 이미지처리모듈(131)은 S320 단계에서 검증망(320)의 출력값과 목표값과의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 검증망(320)의 가중치는 수정하지 않고, 복원망(310)의 가중치를 수정한다. 이와 같이, 경쟁 학습은 복원망(310)과 검증망(320)에 대한 학습이 경쟁한다. 이러한 S210 단계 내지 S320 단계는 반복하여 수행된다. Accordingly, the image processing module 131 does not modify the weight of the verification network 320 by using the despreading algorithm so that the loss value that is the difference between the output value of the verification network 320 and the target value is minimized in step S320. The weight of the restoration network 310 is corrected. As described above, in the competitive learning, the learning about the restoration network 310 and the verification network 320 compete. These steps S210 to S320 are repeatedly performed.

이러한 반복되는 경쟁 학습 과정에서 이미지처리모듈(131)은 S330 단계에서 복원망(310)과 검증망(320)의 가중치의 변화 여부를 판별한다. 만약, S330 단계의 판단 결과, 복원망(310)과 검증망(320) 중 적어도 하나의 가중치의 변화가 있으면, 전술한 S210 단계 내지 S320 단계를 반복한다. S340 단계의 판단 결과, 복원망(310)과 검증망(320) 양자 모두의 가중치의 변화가 없으면, 경쟁 학습을 종료한다. In this repeated competitive learning process, the image processing module 131 determines whether the weights of the reconstruction network 310 and the verification network 320 change in step S330. If, as a result of the determination in step S330, if there is a change in the weight of at least one of the restoration network 310 and the verification 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 restoration network 310 and the verification network 320, the competitive learning is terminated.

전술한 바에 따라 학습이 완료된 인공신경망(300)을 이용하여 미완성 이미지(I)로부터 완성 이미지(C)를 도출한 후, 이미지 검색을 수행할 수 있다. 그러면, 본 발명의 실시예에 따른 이미지 검색 방법에 대해서 설명하기로 한다. 도 13은 본 발명의 실시예에 따른 이미지 검색 방법을 설명하기 위한 흐름도이다. As described above, the derived image C may be derived from the unfinished image I by using the artificial neural network 300 on which learning is completed, and then image searching may be performed. Next, an image retrieval method according to an embodiment of the present invention will be described. 13 is a flowchart illustrating an image search method according to an embodiment of the present invention.

도 13을 참조하면, 사용자장치(200)의 제어부(260)는 이미지 검색어를 생성하고, S410 단계에서 통신부(210)를 통해 생성된 이미지 검색어를 검색서버(100)로 전송한다. 여기서, 미완성 이미지(I)는 사용자의 조작에 따라 제어부(260)가 카메라부(220)를 통해 촬영된 이미지이거나, 통신부(210)를 통해 특정 웹 사이트에 접속하여 해당 웹 사이트로부터 다운로드된 이미지가 될 수 있다. 예컨대, 도 2에 도시된 바와 같이, 미완성 이미지(I)는 다른 객체(O)에 의해 그 일부가 가려진 상태이다. Referring to FIG. 13, the control unit 260 of the user device 200 generates an image search word and transmits the image search word generated through the communication unit 210 to the search server 100 in operation S410. Here, the unfinished image I may be an image captured by the control unit 260 through the camera unit 220 according to a user's operation, or may be an image downloaded from a corresponding web site by accessing a specific website through the communication unit 210. Can be. For example, as shown in FIG. 2, the unfinished image I is partially hidden by another object O. As shown in FIG.

검색서버(100)의 이미지처리모듈(311)은 통신모듈(110)을 통해 미완성 이미지(I)를 수신하면, S420 단계에서 인공신경망(300)을 이용하여 미완성 이미지(I)로부터 완성 이미지(C)를 도출한다. 즉, 이미지처리모듈(311)은 미완성 이미지(I)를 학습이 완료된 인공신경망(300)의 복원망(310)에 입력한다. 그러면, 인공신경망(300)의 복원망(310)은 학습된 가중치를 적용한 복수의 연산을 수행하여 미완성 이미지(I)의 일부가 가려진 부분을 복원하여 완성 이미지(C)을 생성한다. 이에 따라, 완성 이미지(C)는 이미지검색모듈(133)에 제공된다. When the image processing module 311 of the search server 100 receives the unfinished image I through the communication module 110, the completed image (C) from the unfinished image (I) using the artificial neural network 300 in step S420 ). That is, the image processing module 311 inputs the unfinished image I into the reconstruction network 310 of the artificial neural network 300 where the learning is completed. Then, the reconstruction network 310 of the artificial neural network 300 performs a plurality of operations by applying the learned weights to reconstruct a part of the unfinished image I to generate a completed image C. Accordingly, the complete image C is provided to the image search module 133.

이미지검색모듈(133)은 S430 단계에서 완성 이미지(C)를 이미지 검색어로 이미지 검색을 수행한다. 일 실시예에 따르면, 검색서버(100)는 다양한 제품을 판매하는 인터넷 쇼핑 몰 서비스를 제공하는 서버이며, 저장모듈(120)의 데이터베이스는 인터넷 쇼핑 몰에서 판매하는 복수의 이미지라고 가정한다. 그러면, 이미지검색모듈(133)은 완성 이미지(C)를 이미지 검색어로 저장모듈(120)에 저장된 상품 이미지에 대해 이미지 검색을 수행할 수 있다. 한편, 다른 실시예에 따르면, 이미지검색모듈(133)은 통신모듈(110)을 통해 네트워크 상의 다른 서버, 즉, 웹 서버에 접속하여 복수의 웹 페이지로부터 이미지를 검색할 수 있다. 이에 따라, 이미지검색모듈(133)은 완성 이미지(C)와 동일 혹은 유사한 복수의 이미지를 이미지 검색 결과로 도출할 수 있다. 그러면, 이미지검색모듈(133)은 S440 단계에서 통신모듈(110)을 통해 검색된 복수의 이미지를 포함하는 이미지 검색 결과를 사용자장치(200)로 전송한다. The image search module 133 performs an image search on the completed image C as an image search word at step S430. According to an embodiment, the search server 100 is a server providing an internet shopping mall service for selling various products, and the database of the storage module 120 is assumed to be a plurality of images sold in the internet shopping mall. Then, the image search module 133 may perform an image search for the product image stored in the storage module 120 using the completed image C as an image search word. Meanwhile, according to another exemplary embodiment, the image search module 133 may search for images from a plurality of web pages by accessing another server on the network, that is, a web server through the communication module 110. Accordingly, the image search module 133 may derive a plurality of images identical or similar to the completed image C as the image search result. Then, the image search module 133 transmits an image search result including a plurality of images searched through the communication module 110 to the user device 200 in step S440.

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

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

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

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

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

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

본 발명은 이미지의 일부를 이용한 이미지 검색 방법 및 이를 위한 장치에 관한 것으로서, 본 발명에 따르면, 일부가 가려진 객체의 가려진 미완성 이미지에서 가려진 부분을 완성하여 완성된 이미지를 이용하여 이미지 검색을 수행함으로써, 이미지 검색의 정확도 및 신뢰도가 향상될 수 있다. 따라서 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다. The present invention relates to an image retrieval method using a portion of an image and an apparatus therefor, according to the present invention, by completing the hidden portion of the masked unfinished image of the object is partially hidden by performing an image search using the completed image, The accuracy and reliability of image retrieval can be improved. 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: restoration network 320: verification network

Claims (13)

이미지처리모듈이 이미지의 일부가 가려진 미완성 이미지를 수신하는 단계;
상기 이미지처리모듈이 인공신경망을 통해 상기 이미지의 일부가 복원된 완성 이미지를 생성하는 단계; 및
이미지검색모듈이 상기 완성 이미지를 이용하여 이미지 검색을 수행하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
Receiving, by the image processing module, an incomplete image in which part of the image is covered;
Generating, by the image processing module, a completed image in which a part of the image is restored through an artificial neural network; And
And performing an image search by the image search module using the completed image.
제1항에 있어서,
상기 완성 이미지를 생성하는 단계는
상기 미완성 이미지를 상기 인공신경망에 입력하는 단계;
상기 인공신경망을 통해 상기 미완성 이미지에 대해 가중치가 적용된 복수의 연산을 통해 상기 완성 이미지를 생성하여 출력하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 1,
Generating the finished image
Inputting the unfinished image into the artificial neural network;
And generating and outputting the finished image through a plurality of operations in which weights are applied to the unfinished image through the artificial neural network.
제1항에 있어서,
상기 완성 이미지를 생성하는 단계 전,
상기 이미지처리모듈이 상기 인공신경망이 상기 미완성 이미지로부터 상기 완성 이미지를 도출하도록 상기 인공신경망을 학습시키는 단계;를 더 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 1,
Before generating the finished image,
And training, by the image processing module, the artificial neural network so that the artificial neural network derives the finished image from the unfinished image.
제3항에 있어서,
상기 인공신경망을 학습시키는 단계는
상기 이미지처리모듈이 상기 인공신경망의 복원망 및 검증망 각각을 개별적으로 학습시키는 단계; 및
상기 이미지처리모듈이 상기 복원망 및 상기 검증망을 경쟁시켜 학습시키는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 3,
Learning the artificial neural network
The image processing module individually learning each of the restoration network and the verification network of the artificial neural network; And
And training, by the image processing module, competing the reconstruction network and the verification network.
제4항에 있어서,
상기 개별적으로 학습시키는 단계는
상기 이미지처리모듈이 상기 복원망에 원본 이미지의 미완성 이미지를 입력하는 단계;
상기 복원망이 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력하는 단계;
상기 이미지처리모듈이 복원망이 생성한 완성 이미지와 상기 원본 이미지의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 4, wherein
The learning individually
Inputting, by the image processing module, an incomplete image of an original image into the restoration network;
Outputting a completed image by performing a plurality of operations to which a weight is applied to the unfinished image inputted by the restoration network;
And correcting, by the image processing module, a weight of the restoration network such that a difference between the completed image generated by the restoration network and the original image is minimized.
제4항에 있어서,
상기 이미지처리모듈이 상기 검증망이 상기 완성 이미지를 가짜인 것으로 판별하고, 상기 원본 이미지를 진짜인 것으로 판별하도록 목표값을 설정하는 단계;
상기 이미지처리모듈이 완성 이미지 또는 원본 이미지를 상기 검증망에 입력하는 단계;
상기 검증망이 복수의 가중치가 적용되는 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 단계;
상기 이미지처리모듈이 상기 검증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 검증망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 4, wherein
Setting, by the image processing module, the verification network to determine that the completed image is a fake image, and to set a target value to determine that the original image is real;
Inputting, by the image processing module, a complete image or an original image into the verification network;
Outputting, by the verification network, a probability that the completed image or the original image that is input through a calculation to which a plurality of weights are applied is true and a probability of being false;
And correcting, by the image processing module, a weight of the verification network so that a loss value that is a difference between an output value of the verification network and a target value is minimized.
제4항에 있어서,
상기 경쟁시켜 학습시키는 단계는
상기 복원망이 생성한 완성 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 검증망의 출력값의 차이가 최소가 되도록 상기 검증망의 가중치를 수정하는 단계; 및
상기 복원망이 생성한 완성 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 검증망의 출력값의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법.
The method of claim 4, wherein
Competing and learning
Setting a target value to determine that the completed image generated by the restoration network is a fake image, and then modifying a weight of the verification network so that a difference between the set target value and the output value of the verification network is minimized; And
And setting a target value to determine that the completed image generated by the restoration network is real, and correcting a weight of the restoration network such that a difference between the set target value and the output value of the verification network is minimized. An image search method characterized by the above-mentioned.
사용자장치와 통신을 위한 통신모듈;
이미지의 일부가 가려진 미완성 이미지가 입력되면, 입력된 미완성 이미지의 상기 일부를 복원한 완성 이미지를 출력하는 인공신경망;
상기 사용자장치로부터 상기 미완성 이미지를 수신하면, 상기 인공신경망을 통해 상기 완성 이미지를 도출하는 이미지처리모듈; 및
상기 완성 이미지를 이용하여 이미지 검색을 수행하는 이미지검색모듈;을 포함하는 것을 특징으로 하는 이미지 검색 장치.
Communication module for communication with the user device;
An artificial neural network for outputting a completed image in which a part of the image is masked and a partial image of the input unfinished image is restored;
An image processing module for deriving the completed image through the artificial neural network when receiving the unfinished image from the user device; And
And an image search module for performing an image search using the completed image.
제8항에 있어서,
상기 인공신경망은
미완성 이미지가 입력되면, 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력하는 복원망; 및
완성 이미지 또는 원본 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 검증망;을 포함하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 8,
The artificial neural network
A reconstruction network that outputs a complete image by performing a plurality of operations in which weights are applied to the input unfinished image when the incomplete image is input; And
A verification network outputting a probability that the input image or the probability that the input image or the original image is real and a fake value is output through a plurality of operations to which weights are applied when the completion image or the original image is input; Device.
제8항에 있어서,
상기 이미지처리모듈은
상기 복원망이 미완성 이미지로부터 완성 이미지를 생성하도록
상기 복원망 및 상기 검증망 각각을 개별적으로 학습시키는 개별 학습을 수행한 후,
상기 복원망 및 상기 검증망을 경쟁시켜 학습시키는 경쟁 학습을 수행하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 8,
The image processing module
The restoration network to generate a complete image from the unfinished image
After performing the individual learning to individually learn each of the restoration network and the verification network,
And an image retrieval device configured to compete by learning the reconstruction network and the verification network.
제10항에 있어서,
상기 이미지처리모듈은
상기 개별 학습 시,
상기 복원망에 원본 이미지의 미완성 이미지를 입력하고,
상기 복원망이 입력된 미완성 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 완성 이미지를 출력하면, 출력된 완성 이미지와 원본 이미지의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 10,
The image processing module
In the above individual study,
Inputting an unfinished image of the original image into the restoration network,
When the restoring network outputs the completed image by performing a plurality of operations to which the weight is applied to the input unfinished image, the weight of the restoring network is modified so that the difference between the output complete image and the original image is minimized. Image retrieval device.
제10항에 있어서,
상기 이미지처리모듈은
상기 개별 학습 시,
상기 이미지처리모듈이 상기 검증망이 상기 완성 이미지를 가짜인 것으로 판별하고, 상기 원본 이미지를 진짜인 것으로 판별하도록 목표값을 설정한 후, 상기 완성 이미지 또는 상기 원본 이미지를 상기 검증망에 입력하고,
상기 검증망이 복수의 가중치가 적용되는 연산을 통해 입력된 완성 이미지 또는 원본 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하면, 상기 검증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 검증망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 10,
The image processing module
In the above individual study,
The image processing module sets the target value so that the verification network determines that the completed image is fake, sets the target value to determine that the original image is real, inputs the completed image or the original image to the verification network,
If the verification network outputs the probability that the completed image or the original image is genuine and the fake value as an output value through an operation to which a plurality of weights are applied, the loss value that is the difference between the output value and the target value of the verification network is minimal And modifying the weight of the verification network so that it is correct.
제10항에 있어서,
상기 이미지처리모듈은
상기 경쟁 학습 시,
상기 복원망이 생성한 완성 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 검증망의 출력값의 차이가 최소가 되도록 상기 검증망의 가중치를 수정하고,
상기 복원망이 생성한 완성 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 검증망의 출력값의 차이가 최소가 되도록 상기 복원망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치.
The method of claim 10,
The image processing module
In the competitive learning,
Setting a target value to determine that the completed image generated by the restoration network is fake, and then modifying a weight of the verification network so that a difference between the set target value and the output value of the verification network is minimized,
And setting a target value to determine that the completed image generated by the restoration network is real, and then modifying the weight of the restoration network so that the difference between the set target value and the output value of the verification network is minimized. Device.
KR1020180095857A 2018-08-17 2018-08-17 A method for image searching using part of an image and an apparatus therefor KR20200023678A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180095857A KR20200023678A (en) 2018-08-17 2018-08-17 A method for image searching using part of an image and an apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180095857A KR20200023678A (en) 2018-08-17 2018-08-17 A method for image searching using part of an image and an apparatus therefor

Publications (1)

Publication Number Publication Date
KR20200023678A true KR20200023678A (en) 2020-03-06

Family

ID=69802419

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180095857A KR20200023678A (en) 2018-08-17 2018-08-17 A method for image searching using part of an image and an apparatus therefor

Country Status (1)

Country Link
KR (1) KR20200023678A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210142895A (en) * 2020-05-19 2021-11-26 삼성생명보험주식회사 Method for managing training data for optical character recognition
KR20220038998A (en) * 2020-09-21 2022-03-29 삼성생명보험주식회사 Method for making high quality of optical image data based on artificial intelligence

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210142895A (en) * 2020-05-19 2021-11-26 삼성생명보험주식회사 Method for managing training data for optical character recognition
KR20220038998A (en) * 2020-09-21 2022-03-29 삼성생명보험주식회사 Method for making high quality of optical image data based on artificial intelligence

Similar Documents

Publication Publication Date Title
CN108280458B (en) Group relation type identification method and device
CN111046227B (en) Video duplicate checking method and device
KR102531009B1 (en) A method for image searching using an captured image based on guidelines and an apparatus therefor
CN112232889A (en) User interest portrait extension method, device, equipment and storage medium
CN112135325A (en) Network switching method, device, storage medium and terminal
CN109951889B (en) Internet of things network distribution method and mobile terminal
KR20200023678A (en) A method for image searching using part of an image and an apparatus therefor
CN113946719A (en) Word completion method and device
CN110795558A (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
KR20200024618A (en) A method for image searching and an apparatus therefor
WO2019159483A1 (en) Device selection apparatus, data set selection apparatus, device selection method, and program
KR20200023091A (en) Image search method for providing information about similarity and apparatus therefor
KR20200027589A (en) Method and apparatus for image search
KR20200023093A (en) A method for recommendation of style coordination and an apparatus therefor
KR20200003564A (en) A method for image searching using an image comprising a plurality of items and an apparatus therefor
KR20200021737A (en) A method for image searching using real time popular search word and an apparatus therefor
KR20200026339A (en) A method for image searching and an apparatus therefor
KR20200026338A (en) A method for image searching using an image matching and an apparatus therefor
KR20200024037A (en) Image search method using filtering and apparatus therefor

Legal Events

Date Code Title Description
N231 Notification of change of applicant