KR20200027586A - A method for image searching using a converted image and an apparatus therefor - Google Patents
A method for image searching using a converted image and an apparatus therefor Download PDFInfo
- Publication number
- KR20200027586A KR20200027586A KR1020180102263A KR20180102263A KR20200027586A KR 20200027586 A KR20200027586 A KR 20200027586A KR 1020180102263 A KR1020180102263 A KR 1020180102263A KR 20180102263 A KR20180102263 A KR 20180102263A KR 20200027586 A KR20200027586 A KR 20200027586A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- network
- processing module
- processed
- learning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 97
- 239000000203 mixture Substances 0.000 claims abstract description 41
- 238000013528 artificial neural network Methods 0.000 claims description 50
- 238000004891 communication Methods 0.000 claims description 47
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000002860 competitive effect Effects 0.000 claims description 5
- 239000000047 product Substances 0.000 description 29
- 230000006870 function Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 이미지 검색 기술에 관한 것으로, 더욱 상세하게는, 사용자가 촬영한 이미지를 이용하여 이미지 검색을 수행할 때, 검색 대상 데이터베이스에 저장된 이미지의 구도에 맞춰 이미지를 가공한 후, 가공된 이미지를 이용하여 이미지 검색을 수행하는 방법 및 장치에 관한 것이다.The present invention relates to an image search technology, and more specifically, when performing an image search using an image captured by a user, after processing the image according to the composition of the image stored in the search target database, the processed image is processed. It relates to a method and apparatus for performing image search using.
이미지 검색은 이미지를 찾는 방법과 목적에 따라 크게 두 가지로 구분할 수 있다. 첫 번째는 텍스트 검색어를 이용해 관련 이미지를 찾는 것이다. 예를 들어 텍스트 '꽃'이라는 키워드를 입력하면 다양한 종류의 꽃 사진을 볼 수 있다. 이 유형은 인터넷 초창기부터 있었던 전통적인 검색방식이다. 두 번째는 이미지 파일인 이미지 검색어를 입력하면, 이미지 파일을 분석해서 동일 또는 유사한 이미지를 찾아내는 것이다. 컴퓨터 분석 기술과 인터넷 기술이 발달하면서 등장한 방식이다. 키워드 방식에 비해 사용자가 이미지를 직관적으로 검색할 수 있다는 이점이 있다. Image search can be roughly divided into two types depending on the method and purpose of finding the image. The first is to find related images using text search terms. For example, if you enter the keyword 'flower' in the text, you can see various types of flower photos. This type is a traditional search method that has existed since the early days of the Internet. The second is to input an image search term, which is an image file, and analyze the image file to find the same or similar image. This is the way it emerged as computer analysis and Internet technology developed. It has the advantage that the user can intuitively search the image compared to the keyword method.
본 발명의 목적은 이미지 검색어의 객체의 구도를 변환하여 검색의 대상이 되는 이미지의 구도와 동일하게 변환한 가공 이미지를 이용하여 이미지 검색을 수행하는 방법 및 장치를 제공함에 있다.An object of the present invention is to provide a method and apparatus for performing an image search using a processed image that is converted to the composition of an image to be searched by converting the composition of an object of an image search term.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 이미지 검색 방법은 이미지처리모듈이 이미지 검색어를 수신하는 단계와, 이미지처리모듈이 상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 질의 객체의 카테고리를 식별하는 단계와, 상기 이미지처리모듈이 인공신경망을 통해 상기 이미지 검색어의 질의 객체의 구도를 상기 식별된 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 단계와, 이미지검색모듈이 상기 가공 이미지를 이용하여 이미지 검색을 수행하는 단계를 포함한다. An image retrieval method according to a preferred embodiment of the present invention for achieving the above object includes the steps of an image processing module receiving an image search term, and the image processing module recognizing the query object included in the image search term to query the image. Identifying the category of the object, and the image processing module generates a processed image in which the composition of the query object of the image search term is processed through the artificial neural network to the same composition as the reference object included in the reference image corresponding to the identified category. And an image search module performing an image search using the processed image.
상기 가공 이미지를 생성하는 단계는 상기 이미지처리모듈이 상기 이미지 검색어를 상기 인공신경망에 입력하는 단계와, 상기 이미지처리모듈이 상기 인공신경망을 통해 상기 이미지 검색어에 대해 가중치가 적용된 복수의 연산을 통해 상기 가공 이미지를 생성하여 출력하는 단계를 포함한다. In the generating of the processed image, the image processing module inputs the image search word into the artificial neural network, and the image processing module performs a plurality of calculations in which weights are applied to the image search word through the artificial neural network. And generating and outputting the processed image.
상기 가공 이미지를 생성하는 단계 전, 상기 이미지처리모듈이 상기 인공신경망이 상기 이미지 검색어로부터 상기 가공 이미지를 생성하도록 상기 인공신경망을 학습시키는 단계를 더 포함한다. Before the step of generating the processed image, the image processing module further includes learning the artificial neural network so that the artificial neural network generates the processed image from the image search word.
상기 인공신경망을 학습시키는 단계는 상기 이미지처리모듈이 상기 인공신경망의 생성망 및 인증망 각각을 개별적으로 학습시키는 단계와, 상기 이미지처리모듈이 상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 단계를 포함한다. In the step of learning the artificial neural network, the image processing module separately learns each of the artificial neural network generation network and the authentication network, and the image processing module competes with the generation network and the authentication network for learning. Includes.
상기 개별적으로 학습시키는 단계는 상기 이미지처리모듈이 상기 생성망에 학습 이미지를 입력하는 단계와, 상기 생성망이 입력된 학습 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 단계와, 상기 이미지처리모듈이 생성망이 생성한 가공 이미지와 상기 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계를 포함한다. In the step of individually learning, the image processing module inputs a learning image into the generation network, and outputs a processed image by performing a plurality of calculations in which weights are applied to the learning image input by the generation network. And, the image processing module correcting a weight of the generation network so that a difference between the processed image generated by the generation network and the reference image is minimized.
상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정하는 단계와, 상기 이미지처리모듈이 가공 이미지 또는 기준 이미지를 상기 인증망에 입력하는 단계와, 상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 단계와, 상기 이미지처리모듈이 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 단계를 포함한다. Setting the target value so that the image processing module determines that the authentication network is fake, and sets the target value to determine the reference image as real; and the image processing module determines the processed image or reference image as the authentication network. Inputting the data, and outputting the probability that the processed image or the reference image that is input through a calculation in which the plurality of weights are applied is real and the probability of being fake as output values, and that the image processing module receives the authentication network. And modifying the weight of the authentication network so that the loss value, which is the difference between the output value and the target value of, is minimum.
상기 경쟁시켜 학습시키는 단계는 상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하는 단계와, 상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계를 포함한다. The step of learning by competing is to set a target value to determine that the processed image generated by the generation network is fake, and then modify the weight of the authentication network so that the difference between the set target value and the output value of the authentication network is minimized. And setting a target value to determine that the processed image generated by the generation network is real, and then correcting the weight of the generation network so that the difference between the set target value and the output value of the authentication network is minimized. Includes.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 이미지 검색 장치는 사용자장치로부터 이미지 검색어를 수신하는 통신모듈과, 상기 이미지 검색어의 질의 객체의 구도를 상기 질의 객체의 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 인공신경망과, 상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 아이템의 카테고리를 식별하고, 상기 인공신경망을 통해 상기 이미지 검색어로부터 상기 가공 이미지를 생성하는 이미지처리모듈과, 상기 가공 이미지를 이용하여 이미지 검색을 수행하는 이미지검색모듈을 포함한다. An image retrieval apparatus according to a preferred embodiment of the present invention for achieving the above object is a communication module for receiving an image search word from a user device, and the composition of the query object of the image search word corresponds to the category of the query object The artificial neural network that generates a processed image processed with the same composition as the reference object included in the reference image, and the category of the item by recognizing the query object included in the image search term, and identifies the category of the item from the image search term through the artificial neural network. It includes an image processing module for generating a processed image, and an image search module for performing an image search using the processed image.
상기 인공신경망은 이미지 검색어가 입력되면, 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 생성망과, 가공 이미지 또는 기준 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 인증망을 포함한다. The artificial neural network includes a generation network that outputs a processed image by performing a plurality of calculations that apply weights to the input image search term when an image search term is input, and a plurality of weights to which a weight is applied when a processed image or a reference image is input. It includes an authentication network that outputs the probability that the processed image or the reference image input through the operation is real and fake.
상기 이미지처리모듈은 상기 생성망이 이미지 검색어로부터 가공 이미지를 생성하도록 상기 생성망 및 상기 인증망 각각을 개별적으로 학습시키는 개별 학습을 수행한 후, 상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 경쟁 학습을 수행하는 것을 특징으로 한다. The image processing module performs an individual learning to individually learn each of the generation network and the authentication network so that the generation network generates a processed image from an image search word, and then competes to learn by competing the generation network and the authentication network. Characterized by performing learning.
상기 이미지처리모듈은 상기 개별 학습 시, 상기 생성망에 기준 이미지의 이미지 검색어를 입력하고, 상기 생성망이 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하면, 출력된 가공 이미지와 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 한다. When the individual learning, the image processing module inputs an image search word of a reference image to the generation network and outputs a processed image by performing a plurality of calculations in which the generation network is weighted with respect to the input image search term. It is characterized in that the weight of the generation network is modified to minimize the difference between the processed image and the reference image.
상기 이미지처리모듈은 상기 개별 학습 시, 상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정한 후, 상기 가공 이미지 또는 상기 기준 이미지를 상기 인증망에 입력하고, 상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하면, 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 것을 특징으로 한다. In the individual learning, the image processing module sets a target value so that the image processing module determines that the authentication network is fake and the reference image is real, and then sets the processed image or the image. When a reference image is input to the authentication network, and when the processed image or a reference image input through a calculation in which a plurality of weights are applied, the authentication network outputs a probability of being real and a probability of being fake, as output values, the output value of the authentication network and It is characterized in that the weight of the authentication network is corrected so that a loss value, which is a difference between target values, is minimized.
상기 이미지처리모듈은 상기 경쟁 학습 시, 상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하고, 상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 한다. The image processing module sets the target value to determine that the processed image generated by the generation network is fake during the competition learning, and then sets the target network so that the difference between the set target value and the output value of the authentication network is minimal. After modifying the weight and setting a target value to determine that the processed image generated by the generation network is real, modifying the weight of the generation network so that the difference between the set target value and the output value of the authentication network is minimum It is characterized by.
본 발명에 따르면, 이미지 검색어의 질의 객체가 속하는 카테고리를 도출한 후, 해당 카테고리의 기준 이미지에 포함된 기준 객체와 동일한 구도로 질의 객체의 구도를 가공한 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이에 따라, 검색 대상 이미지와 동일한 구도의 이미지를 통해 이미지 검색을 수행할 수 있어 이미지 검색의 정확도 및 신뢰도를 향상시킬 수 있다. According to the present invention, after deriving a category to which a query object of an image search term belongs, a processed image processing a composition of a query object with the same composition as the reference object included in the reference image of the corresponding category is generated, and the generated processed image is used To perform image search. Accordingly, an image search may be performed through an image having the same composition as the image to be searched, thereby improving the accuracy and reliability of the image search.
도 1은 본 발명의 실시예에 따른 이미지 검색 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 가공 이미지를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 검색서버의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 인공신경망 중 생성망의 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 인공신경망 중 인증망의 구성을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다.
도 8은 본 발명의 실시예에 따른 인공신경망을 학습시키는 방법을 설명하기 위한 흐름도이다.
도 9 및 도 10은 본 발명의 실시예에 따른 개별 학습을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시예에 따른 경쟁 학습을 수행하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 실시예에 따른 이미지 검색 방법을 설명하기 위한 흐름도이다. 1 is a view for explaining an image search system according to an embodiment of the present invention.
2 is a view for explaining a processed image according to an embodiment of the present invention.
3 is a block diagram illustrating the configuration of a search server according to an embodiment of the present invention.
4 is a view for explaining the configuration of an artificial neural network according to an embodiment of the present invention.
5 is a view for explaining the configuration of a generation network among artificial neural networks according to an embodiment of the present invention.
6 is a view for explaining the configuration of an authentication network among artificial neural networks according to an embodiment of the present invention.
7 is a block diagram illustrating the configuration of a user device according to an embodiment of the present invention.
8 is a flowchart illustrating a method of learning an artificial neural network according to an embodiment of the present invention.
9 and 10 are flowcharts for explaining individual learning according to an embodiment of the present invention.
11 is a flowchart illustrating a method of performing competitive learning according to an embodiment of the present invention.
12 is a flowchart illustrating an image search method according to an embodiment of the present invention.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. In order to clarify the features and advantages of the problem solving means of the present invention, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the accompanying drawings.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다. However, in the following description and accompanying drawings, detailed descriptions of well-known functions or configurations that may obscure the subject matter of the present invention are omitted. In addition, it should be noted that the same components throughout the drawings are indicated by the same reference numerals as much as possible.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. The terms and words used in the following description and drawings should not be interpreted as being limited to ordinary or dictionary meanings, and the inventor can appropriately define the concept of terms for explaining his or her invention in the best way. Based on the principle that it should be interpreted as meanings and concepts consistent with the technical spirit of the present invention. Therefore, the embodiments shown in the embodiments and drawings described in this specification are only the most preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention, and thus can replace them at the time of application. It should be understood that there may be equivalents and variations.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. In addition, terms including ordinal numbers such as first and second are used to describe various components, and are used only to distinguish one component from other components, and to limit the components It is not used. For example, without departing from the scope of the present invention, the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다. In addition, when referring to a component being "connected" or "connected" to another component, it means that it can be connected or connected logically or physically. In other words, it may be understood that a component may be directly connected to or connected to other components, but other components may exist in the middle and may be connected or connected indirectly.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, the terms used herein are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, the terms "comprises" or "having" described herein are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or the same. It is to be understood that the present invention does not exclude in advance the possibility of the presence or the addition of other features, numbers, steps, operations, components, parts, or a combination thereof.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, terms such as “… unit”, “… group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.
또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다. In addition, "a (a or an)", "one (one)," "the (the)" and analogs are different in the context of describing the present invention (especially in the context of the following claims) as otherwise indicated herein. It may be used in a sense including both singular and plural unless it is or is clearly contradicted by the context.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다. In addition, embodiments within the scope of the present invention include computer-readable media having or having computer-executable instructions or data structures stored on computer-readable media. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system. By way of example, such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. Physical storage media, such as any other media that may be used to store or transfer certain program code means in, and can be accessed by, general purpose or special purpose computer systems. .
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다. In the following description and claims, “network” is defined as one or more data links that enable electronic data to be transferred between computer systems and / or modules. When information is transmitted or provided to a computer system via a network or other (wired, wireless, or wired or wireless combination) communication connection, this connection may be understood as a computer-readable medium. Computer readable instructions include, for example, instructions and data that cause a general purpose computer system or special purpose computer system to perform a particular function or group of functions. The computer-executable instructions may be, for example, assembly language, or even binary, intermediate format instructions such as source code.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 광고를 제공하는데 적용될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다. In addition, the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, pagers In a network computing environment having various types of computer system configurations, including (pager) and the like, it may be applied to providing advertisements to the computer systems. The invention can also be practiced in distributed system environments where both local and remote computer systems linked by wired data links, wireless data links, or combinations of wired and wireless data links over a network perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
먼저, 본 발명의 실시예에 따른 이미지 검색어를 이용한 이미지 검색 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 이미지 검색 시스템을 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 실시예에 따른 가공 이미지를 설명하기 위한 도면이다. 도 1을 참조하면, 이미지 검색 시스템은 검색서버(100) 및 사용자장치(200)를 포함한다. First, an image search system using an image search word according to an embodiment of the present invention will be described. 1 is a view for explaining an image retrieval system according to an embodiment of the present invention. In addition, Figure 2 is a view for explaining a processed image according to an embodiment of the present invention. Referring to FIG. 1, an image search system includes a
검색서버(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
아울러, 본 발명의 통신망(NW)은 예컨대, 다수의 접속망(미도시) 및 이들을 연결하는 코어망(미도시)으로 이루어진 이동통신망을 포함할 수 있다. 여기서, 접속망은 단말과 직접 접속하여 무선 통신을 수행하는 망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU를 집중화된 DU와 연결하여 구성할 수도 있다. 또한, 접속망과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망과 외부 망, 예컨대, 인터넷망과 같은 다른 통신망을 연결하는 역할을 수행한다. In addition, the communication network NW of the present invention may include, for example, a mobile communication network including a plurality of access networks (not shown) and a core network (not shown) connecting them. Here, the access network is a network that directly connects to a terminal and performs wireless communication, for example, a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, an eNodeB, and a base station controller (BSC). , RNC (Radio Network Controller) can be implemented as a base station controller. In addition, as described above, the digital signal processing unit and the radio signal processing unit, which are integrally implemented in the base station, are divided into digital units (hereinafter referred to as DU and radio units (hereinafter referred to as RU)), respectively. A plurality of RUs (not shown) may be installed in each area, and a plurality of RUs may be connected to a centralized DU to configure the core network (not shown) constituting the mobile network together with the access network. A network, for example, serves to connect other communication networks such as an Internet network.
이러한 코어망은 앞서 설명한 바와 같이, 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망은 주파수간 이동성을 관리하고, 접속망 및 코어망 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다. As described above, the core network is a network system that performs a main function for mobile communication services such as mobility control and switching between access networks, and performs circuit switching or packet switching, and is a mobile network. Manage and control packet flow within. In addition, the core network may manage mobility between frequencies, and may play a role for interworking with traffic in the access network and the core network and other networks, such as the Internet network. Such a core network may further include SGW (Serving GateWay), PGW (PDN GateWay), MSC (Mobile Switching Center), HLR (Home Location Register), MME (Mobile Mobility Entity) and HSS (Home Subscriber Server). It might be.
또한, 본 발명에 따른 통신망(NW)은 인터넷망을 포함할 수 있다. 인터넷망은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미한다. 이러한 통신망(NW)을 통해서 검색서버(100) 및 사용자장치(200)가 상호 연동하여 본 발명에 따른 이미지 검색 시스템을 구성한다. In addition, the communication network (NW) according to the present invention may include an Internet network. The Internet network refers to a common public communication network, that is, a public network, through which information is exchanged according to the TCP / IP protocol. The
여기서, 검색서버(100)는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. 바람직한 일 실시예에 따르면, 검색서버(100)는 쇼핑 몰 웹 사이트를 제공하는 웹 서버와, 이러한 웹 사이트에서 판매되는 아이템의 이미지를 저장하는 데이터베이스 서버 및 이미지 검색어와 동일 또는 유사한 이미지를 검색하여 제공하는 애플리케이션 서버의 역할을 수행할 수 있다. 이하의 실시예에서 검색서버(100)는 다양한 제품을 판매하는 인터넷 쇼핑 몰 서비스를 제공하는 서버라고 가정한다. 이에 따라, 검색서버(100)는 데이터베이스에 저장된 복수의 이미지에서 이미지를 검색할 수 있다. 인터넷 쇼핑 몰에서 판매하는 이러한 이미지는 상품 이미지가 될 수 있다. 한편, 다른 실시예에 따르면, 검색서버(100)는 네트워크를 통해 다른 서버, 즉, 웹 서버에 접속하여 복수의 웹 페이지로부터 이미지를 검색할 수 있다. Here, the
또한, 사용자장치(200)는 이동통신단말기를 대표적인 예로서 설명하지만 단말기는 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 일례로, 단말기는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 스마트폰(Smart Phone), 태블릿 PC, 패블릿 PC 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기일 때 유리하게 활용될 수 있다. 다른 예로, 단말기는 노트북, 퍼스널컴퓨터 등이 될 수도 있다. In addition, the
전술한 바와 같이, 본 발명의 실시예에 따른 검색서버(100)는 인터넷 쇼핑 몰 서비스를 제공하는 서버가 될 수 있다. 이에 따라, 검색서버(100)는 데이터베이스에 상품 객체를 포함하는 복수의 상품 이미지를 저장할 수 있다. 도 2에 이러한 상품 이미지(b1, b2, b3, b4, b5)의 예들이 도시되었다. 데이터베이스에 저장된 상품 객체를 포함하는 상품 이미지는 상품의 카테고리별로 구분될 수 있다. 또한, 각 카테고리에 따라 상품 이미지의 상품 객체는 동일한 구도를 가진다. 도시된 바와 같이, 상품 이미지(b1, b2, b3, b4, b5)는 카테고리 신발에 속하며 모두 동일한 구도를 가진다. 본 발명의 실시예에 따르면, 하나의 카테고리에 적어도 하나의 기준 이미지가 존재하며, 기준 이미지는 해당 카테고리에 속하는 상품 이미지의 상품 객체의 구도와 동일한 구도인 기준 객체를 포함한다. 예컨대, 도 2에 도시된 바와 같이, 기준 객체를 포함하는 기준 이미지(s)는 카테고리 신발에 대응하는 기준 이미지(s)이며, 그 기준 객체(구두)는 동일한 카테고리에 속하는 상품 객체와 동일한 구도를 가진다. As described above, the
한편, 사용자장치(200)는 이미지 검색어를 검색서버(100)에 전송하여 이미지 검색을 요청할 수 있다. 도 2에 이러한 이미지 검색어(a1, a2, a3, a4, a5)의 예들이 도시되었다. 도시된 바와 같이, 이미지 검색어는 검색 대상이 되는 질의 객체(구두)를 포함할 수 있으며, 동일한 상품인 경우에도 질의 객체의 구도는 다양하다. 도 2에 도시된 바와 같이, 이미지 검색어에 포함된 질의 객체의 구도는 이미지 검색어 a5와 같이, 동일한 카테고리의 상품 이미지(b1, b2, b3, b4, b5)의 상품 객체의 구도와 동일한 구도를 가질 수도 있지만, 이미지 객체 a1, a2, a3, a4와 같이 동일한 상품 카테고리에 속하는 상품 이미지(b1, b2, b3, b4, b5)의 상품 객체의 구도와 상이한 구도를 가질 수도 있다. 질의 객체와 기준 객체의 구도가 동일한 경우에 비해 상이한 경우 이미지 검색의 정밀도 및 신뢰도가 떨어질 수 있다. 따라서 본 발명의 실시예에 따르면, 검색서버(100)는 이미지 검색어를 수신하면, 질의 객체가 속하는 카테고리를 도출한 후, 해당 카테고리의 기준 이미지에 포함된 기준 객체와 동일한 구도로 질의 객체의 구도를 가공한 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이에 따라, 이미지 검색의 정확도 및 신뢰도가 향상된다. Meanwhile, the
그러면, 보다 상세히 본 발명의 실시예에 따른 검색서버(100) 및 사용자장치(200)의 구성에 대해서 살펴보기로 한다. 먼저, 본 발명의 실시예에 따른 검색서버(100)의 구성에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 검색서버의 구성을 설명하기 위한 블록도이다. 도 3을 참조하면, 검색서버(100)는 통신모듈(110), 저장모듈(120) 및 제어모듈(130)을 포함한다. Then, the configuration of the
통신모듈(110)은 사용자장치(200)와의 통신을 위한 것이다. 통신모듈(110)은 사용자장치(200)가 검색서버(100)에 접속하면 사용자장치(200)와 필요한 정보를 포함하는 데이터를 교환하기 위한 통신을 수행한다. 통신모듈(110)은 사용자장치(200)로부터 수신되는 패킷으로부터 데이터를 추출하여, 추출된 데이터를 제어모듈(130)로 전달한다. 예컨대, 추출된 데이터는 이미지 검색어가 될 수 있다. 또한, 통신모듈(110)은 제어모듈(130)로부터 사용자장치(200)로 전송하기 위한 데이터를 포함하는 검색 결과를 전달받으면, 전달받은 데이터를 패킷으로 구성하여 전송한다. 예컨대, 전달받은 데이터는 이미지 검색 결과인 복수의 검색 이미지가 될 수 있다. The
저장모듈(120)은 검색서버(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 검색서버(100)의 전반적인 동작을 제어하는 프로그램 및 검색서버(100)를 부팅시키는 운영체제(OS, Operating System), 이미지 처리를 위한 애플리케이션, 이미지 검색을 위한 애플리케이션을 등을 저장할 수 있다. 데이터 영역은 검색서버(100)의 운영에 따라 발생하는 데이터 및 검색서버(100)의 운영에 필요한 데이터가 저장되는 영역이다. 예를 들면, 검색서버(100)가 인터넷 쇼핑몰인 경우, 저장모듈(120)에 저장되는 데이터는 상품의 카테고리별 상품 이미지를 포함할 수 있다. 이러한 상품 이미지는 이미지 검색의 대상이 될 수 있다. 저장모듈(120)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The
제어모듈(130)은 검색서버(100)의 전반적인 동작 및 검색서버(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(130)은 중앙 처리 장치(Central Processing Unit: CPU)인 것이 바람직하다. The
제어모듈(130)은 인공신경망(300), 이미지처리모듈(131) 및 이미지검색모듈(133)을 포함한다. The
이미지처리모듈(131)은 이미지 검색어가 입력되면, 이미지 검색어에 포함된 질의 객체의 카테고리를 식별한다. 그리고 이미지처리모듈(131)은 질의 객체의 구도가 식별된 카테고리에 대응하는 기준 이미지의 기준 객체와 동일하게 되도록 인공신경망(300)을 이용하여 이미지 검색어의 질의 객체의 구도를 변환하여 가공 이미지를 생성한다. 이를 위하여, 이미지처리모듈(131)은 복수의 학습 데이터를 이용하여 인공신경망(300)이 질의 객체의 구도를 기준 객체의 구도와 동일하게 변환할 수 있도록 학습시킨다. When an image search word is input, the
학습이 완료된 후, 이미지처리모듈(131)은 통신모듈(110)을 통해 사용자장치(200)로부터 이미지 검색어를 수신할 수 있다. 이에 따라, 이미지처리모듈(131)은 인공신경망(300)을 통해 이미지 검색어의 질의 객체의 구도를 기준 객체의 구도와 동일하게 변환하여 가공 이미지를 생성한다. After learning is completed, the
이미지검색모듈(133)은 이미지처리모듈(131)로부터 가공 이미지를 전달받고, 전달받은 가공 이미지를 이용하여 이미지 검색을 수행한다. 즉, 이미지검색모듈(133)은 이미지 검색을 수행하여 가공 이미지와 동일 혹은 유사한 복수의 검색 이미지를 검출한다. 그런 다음, 이미지검색모듈(133)은 복수의 검색 이미지를 포함하는 검색 결과를 통신모듈(110)을 통해 사용자장치(200)로 전송한다. The
그러면, 본 발명의 실시예에 따른 인공신경망(300)에 대해 보다 상세하게 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다. 도 5는 본 발명의 실시예에 따른 인공신경망 중 생성망의 구성을 설명하기 위한 도면이다. 도 6은 본 발명의 실시예에 따른 인공신경망 중 인증망의 구성을 설명하기 위한 도면이다. Then, the artificial
도 4를 참조하면, 본 발명의 실시예에 따른 인공신경망(300)은 생성망(310) 및 인증망(320)을 포함한다. 생성망(310) 및 인증망(320) 각각은 하나의 인공신경망을 구성한다. Referring to FIG. 4, the artificial
생성망(310)은 학습 이미지 혹은 이미지 검색어와 같은 이미지가 입력되면, 입력된 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 생성한다. 다른 말로, 생성망(310)은 기준 이미지를 모사하여 이미지가 입력되면, 입력된 이미지로부터 가공 이미지를 생성하기 위한 것이다. When an image such as a learning image or an image search word is input, the
인증망(320)은 생성망(310)의 학습을 보조하기 위한 인공신경망이다. 기본적으로, 인증망(320)은 가공 이미지와 기준 이미지를 구분한다. 인증망(320)은 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력한다. 가공 이미지 또는 기준 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력한다. 전술한 바와 같이, 생성망(310)은 기준 이미지를 모사하여 가공 이미지를 생성한다. 이에 따라, 본 발명의 실시예에 따른 인공신경망(300)에 대한 학습은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 기준 이미지로 판별할 정도로 생성망(310)을 훈련하는 것을 목표로 수행된다. 그러면, 생성망(310) 및 인증망(320) 각각에 대해서 설명하기로 한다. The
먼저, 도 4 및 도 6을 참조하여 생성망(310)에 대해서 설명하기로 한다. 생성망(310)은 가중치가 적용되는 복수의 연산을 포함하는 복수의 계층을 포함한다. 여기서, 복수의 연산을 포함하는 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CL: Convolution Layer), 다운샘플링(Down Sampling) 연산을 수행하는 풀링계층(PL: Pooling Layer) 및 업샘플링(Up Sampling) 연산을 수행하는 언풀링(UL: Unpooling Layer) 계층 및 디컨불루션 연산을 수행하는 디컨불루션 계층(DL: Deconvolution Layer) 각각을 하나 이상 포함한다. 컨볼루션, 다운샘플링, 업샘플링 및 디컨불루션 연산 각각은 소정의 행렬로 이루어진 필터를 이용하며, 이러한 행렬의 원소의 값들이 가중치가 된다. 생성망(310)은 이미지 검색어 및 학습 이미지 중 어느 하나의 이미지를 입력 받을 수 있다. 이때, 이미지의 각 픽셀의 픽셀값이 생성망(310)에 입력된다. 생성망(310)은 이미지 검색어 및 학습 이미지 중 어느 하나의 이미지가 입력되면, 이미지의 각 픽셀값에 대해 복수의 계층의 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 생성한다. 가공 이미지는 입력된 이미지(학습 이미지 혹은 이미지 검색어)에 포함된 객체(학습 객체 혹은 질의 객체)의 구도를 기준 이미지의 기준 객체의 구도와 동일하게 가공된 이미지이다. First, the
다음으로, 도 4 및 도 6을 참조하여 인증망(320)에 대해서 설명하기로 한다. 인증망(320) 또한 가중치가 적용되는 복수의 연산을 수행하는 복수의 계층을 포함한다. 여기서, 복수의 연산을 수행하는 복수의 계층은 컨볼루션(Convolution) 연산을 수행하는 컨볼루션계층(CL: Convolution Layer) 및 소프트맥스(Soft-max) 연산을 수행하는 완전연결층(FL: Fully Connected Layer)을 포함한다. 컨볼루션 연산은 소정의 행렬로 이루어진 필터를 이용하며, 이러한 행렬의 원소의 값들이 가중치가 된다. 또한, 소프트맥스 연산 또한 가중치를 적용하여 수행된다. 인증망(320)에 입력되는 이미지는 생성망(310)이 생성한 가공 이미지이거나, 기 저장된 기준 이미지 중 어느 하나가 될 수 있다. 인증망(320)은 입력된 이미지가 생성망(310)에 의해 생성된 것이 아닌 본래의 이미지, 즉, 기준 이미지임을 나타내는 진짜(real)일 확률과, 본래의 이미지, 즉, 기준 이미지가 아니라 생성망(310)에 의해 생성된 가공 이미지인 가짜(fake)일 확률을 출력한다. Next, the
다음으로, 본 발명의 실시예에 따른 사용자장치(200)에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다. 도 7을 참조하면, 본 발명의 실시예에 따른 사용자장치(200)는 통신부(210), 카메라부(220), 입력부(230), 표시부(240), 저장부(250) 및 제어부(260)를 포함한다. Next, the
통신부(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
카메라부(220)는 이미지를 촬영하기 위한 것이다. 이를 위하여 카메라부(220)는 적어도 이미지 센서를 포함한다. 본 발명의 실시예에서 '촬영'은 카메라부(220)의 이미지 센서를 통해 생성된 이미지를 특정 이미지 파일 포맷(예컨대, JPG, PNG 등)에 따라 디지털 파일로 생성하는 것을 의미한다. 이미지 센서는 피사체에서 반사되는 빛을 입력 받아 전기신호로 변환하며, CCD(Charged Coupled Device), CMOS(Complementary Metal-Oxide Semiconductor) 등을 기반으로 구현될 수 있다. 카메라부(220)는 아날로그-디지털 변환기(Analog to Digital Converter)를 더 포함할 수 있으며, 이미지 센서에서 출력되는 아날로그 신호를 디지털 신호로 변환하여 제어부(260)로 출력할 수 있다. The
입력부(230)는 사용자장치(200)를 제어하기 위한 사용자의 키 조작을 입력 받고 입력 신호를 생성하여 제어부(260)로 전달한다. 입력부(230)는 전원 on/off를 위한 전원 키, 숫자 키, 방향키 중 어느 하나를 포함할 수 있으며, 사용자장치(200)의 일면에 소정의 기능키로 형성될 수 있다. 표시부(240)가 터치스크린으로 이루어진 경우, 입력부(230)의 각 종 키들의 기능이 표시부(240)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(230)는 생략될 수도 있다. The
표시부(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
저장부(250)는 사용자장치(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 사용자장치(200)의 전반적인 동작을 제어하는 프로그램 및 사용자장치(200)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 사용자장치(200)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 또한, 저장부(250)는 사용자장치(200)의 동작에 따라 발생되는 각 종 데이터 등을 저장할 수 있다. The
제어부(260)는 사용자장치(200)의 전반적인 동작 및 사용자장치(200)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(260)는 중앙 처리 장치(Central Processing Unit: CPU), 애플리케이션 프로세서(Application Processor), 그래픽 프로세서(GPU: graphic processing unit) 등이 될 수 있다. The
제어부(260)는 사용자의 조작에 따라 카메라부(220)를 통해 특정 이미지를 촬영할 수 있다. 촬영된 이미지는 이미지 검색어가 될 수 있다. 또한, 제어부(260)는 사용자의 조작에 따라 통신부(210)를 통해 특정 웹 사이트에 접속하여 해당 웹 사이트의 이미지를 다운로드 할 수 있다. 이와 같이, 다운로드된 이미지 또한 이미지 검색어가 될 수 있다. 제어부(260)는 입력부(230) 혹은 표시부(240)를 통해 촬영한 이미지 혹은 다운로드한 이미지인 이미지 검색어가 선택되고, 선택된 이미지에 대한 이미지 검색을 요청하는 입력을 감지하면, 이미지 검색어를 포함하는 이미지 검색 요청을 통신부(210)를 통해 검색서버(100)로 전송하여, 이미지 검색을 수행할 수 있다. 이러한 제어부(260)의 동작은 아래에서 더 상세하게 설명될 것이다. The
전술한 바와 같이, 본 발명은 인공신경망(300)을 이용하여 이미지 검색어로부터 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이를 위하여, 먼저, 인공신경망(300)이 이미지 검색어로부터 가공 이미지를 생성하도록 인공신경망(300)을 학습시켜야 한다. 그러면, 먼저, 이러한 학습 방법에 대해서 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 인공신경망을 학습시키는 방법을 설명하기 위한 흐름도이다. 도 9 및 도 10은 본 발명의 실시예에 따른 개별 학습을 설명하기 위한 흐름도이다. 도 11은 본 발명의 실시예에 따른 경쟁 학습을 수행하는 방법을 설명하기 위한 흐름도이다. As described above, the present invention generates a processed image from an image search word using the artificial
도 8을 참조하면, 이미지처리모듈(131)은 S100 단계에서 인공신경망(300)의 생성망(310) 및 인증망(320) 각각에 대해 개별적으로 학습을 수행한다. 이러한 학습을 '개별 학습'이라고 칭하기로 한다. 이미지처리모듈(131)은 개별 학습 시, 생성망(310)이 이미지 검색어로부터 가공 이미지를 생성하도록 학습시킨다. Referring to FIG. 8, the
또한, 이미지처리모듈(131)은 개별 학습 시, 인증망(320)이 가공 이미지가 입력되면, 입력된 가공 이미지를 가짜(fake)인 것으로 판별하고, 기준 이미지가 입력되면, 입력된 기준 이미지를 진짜(real)인 것으로 판별하도록 학습시킨다. In addition, the
구체적으로, 이미지처리모듈(131)은 S110 단계에서 학습 데이터를 이용하여 생성망(310)에 대한 개별 학습을 수행한다. 학습 데이터는 학습 이미지 및 기준 이미지를 포함한다. 학습 이미지는 기준 객체와 동일한 상품이지만 다른 구도로 촬영된 학습 객체를 포함한다. Specifically, the
도 9를 참조하여 생성망(310)의 개별 학습을 구체적으로 살펴보면, 이미지처리모듈(131)은 S111 단계에서 기준 이미지를 목표값으로 설정하고, 학습 이미지를 생성망(310)에 입력한다. 그러면, 생성망(310)은 S113 단계에서 입력된 학습 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 출력값으로 가공 이미지를 출력할 것이다. 그러면, 이미지처리모듈(131)은 S115 단계에서 가공 이미지와 기준 이미지의 픽셀값을 상호 비교하여 가공 이미지와 기준 이미지의 픽셀값에 대한 차이인 손실값이 최소가 되도록 역확산(back-propagation) 알고리즘을 통해 생성망(310)의 복수의 연산에 적용되는 가중치를 수정한다. Referring to FIG. 9 in detail for the individual learning of the
다음으로, 이미지처리모듈(131)은 S120 단계에서 인증망(320)에 대해 초기 학습을 수행한다. 이미지처리모듈(131)은 인증망(320)에 대한 개별 학습 시, 학습 데이터로 가공 이미지 및 기준 이미지를 이용한다. Next, the
도 10을 참조하여 인증망(320)의 개별 학습을 구체적으로 살펴보면, 이미지처리모듈(131)은 S121 단계에서 인증망(320)이 가공 이미지를 가짜인 것으로 판별하고, 기준 이미지(R)를 진짜인 것으로 판별하도록 목표값을 설정한다. 예를 들면, 이미지처리모듈(131)은 가공 이미지가 입력될 때, 목표값을 진짜(real) < 가짜(fake), 예컨대, 'real = 0.20' 및 'fake = 0.80'으로 설정하고, 기준 이미지(R)가 입력될 때, 목표값을 진짜(real) > 가짜(fake), 예컨대, 'real = 0.75' 및 'fake = 0.25'로 설정할 수 있다. Referring specifically to the individual learning of the
이미지처리모듈(131)은 S123 단계에서 인증망(320)에 가공 이미지 및 기준 이미지 중 어느 하나의 학습 데이터를 입력한다. 그러면, 인증망(320)은 S125 단계에서 복수의 연산을 통해 입력된 학습 데이터가 진짜(real)일 확률 및 가짜(fake)일 확률을 출력값으로 출력한다. 즉, 인증망(320)은 가공 이미지 또는 기준 이미지가 입력되면, 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. 예를 들면, 인증망(320)은 출력값으로 진짜(real)일 확률과 가짜(fake)일 확률을 'real = 0.70' 및 'fake = 0.30'과 같이 출력할 수 있다. In step S123, the
이에 따라, 이미지처리모듈(131)은 S127 단계에서 인증망(320)의 출력값과 목표값의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 인증망(320)의 복수의 연산에 적용되는 가중치를 수정한다. Accordingly, the
다음으로, 그런 다음, 이미지처리모듈(131)은 S200 단계에서 인공신경망(300)의 생성망(310) 및 인증망(320)을 경쟁시켜 학습시킨다. 이러한 학습을 '경쟁 학습'이라고 칭하기로 한다. 이때, 이미지처리모듈(131)은 인증망(320) 및 생성망(310)에 대해 상이한 목표값을 설정하여 인증망(320)과 생성망(310)이 상호 경쟁하도록 하는 학습을 수행한다. 즉, 이미지처리모듈(131)은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 인증망(320)을 학습시킨다. 이에 대응하여, 이미지처리모듈(131)은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 진짜(real)인 것으로 판별하도록 생성망(310)을 학습시킨다. 즉, 이미지처리모듈(131)은 인증망(320)이 가공 이미지가 가짜인지 인식할 수 없도록 기준 이미지를 모사하여 가공 이미지를 생성하도록 생성망(310)을 학습시킨다. Next, the
그러면, 도 11을 참조하여, 경쟁 학습에 대해서 상세하게 설명하기로 한다. 먼저, 이미지처리모듈(131)은 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 목표값을 설정하여 인증망(320)을 학습시킨다. 이를 위하여, 이미지처리모듈(131)은 S210 단계에서 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 인증망(320)의 목표값을 설정한다. 예를 들면, 이미지처리모듈(131)은 가공 이미지에 대한 목표값을 진짜(real) < 가짜(fake), 'real = 0.15' 및 'fake = 0.85'으로 설정한다. 그런 다음, 이미지처리모듈(131)은 S220 단계에서 학습 이미지를 생성망(310)에 입력한다. 그러면, 생성망(310)은 S230 단계에서 학습 이미지로부터 가공 이미지를 생성한다. 이어서, 이미지처리모듈(131)은 S240 단계에서 생성망(310)으로부터 획득한 가공 이미지를 인증망(320)에 입력한다. 그러면, 인증망(320)은 S250 단계에서 가공 이미지가 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. Then, with reference to FIG. 11, competitive learning will be described in detail. First, the
이에 따라, 이미지처리모듈(131)은 S260 단계에서 인증망(320)의 출력값과 목표값과의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 생성망(310)의 복수의 연산에 대한 가중치는 수정하지 않고, 인증망(320)의 복수의 연산에 대한 가중치를 수정한다. 즉, 이미지처리모듈(131)은 생성망(310)이 생성한 가공 이미지를 가짜(fake)인 것으로 판별하도록 인증망(320)을 학습시킨다. Accordingly, the
앞선, S210 단계 내지 S260 단계의 인증망(320)의 학습에 대응하여, 이미지처리모듈(131)은 인증망(320)이 생성망(310)이 생성한 가공 이미지를 진짜(real)인 것으로 판별하도록 목표값을 설정하여 생성망(310)을 학습시킨다. 이를 위하여, 이미지처리모듈(131)은 S270 단계에서 인증망(320)이 생성망(310)이 생성한 가공 이미지를 진짜(real)인 것으로 판별하도록 목표값을 설정한다. 즉, 이미지처리모듈(131)은 가공 이미지에 대한 목표값을 진짜(real) > 가짜(fake), 예컨대, 'real = 0.90' 및 'fake = 0.10'으로 설정할 수 있다. In response to the learning of the
그런 다음, 이미지처리모듈(131)은 S280 단계에서 학습 이미지를 생성망(310)에 입력한다. 그러면, 생성망(310)은 S290 단계에서 입력된 학습 이미지로부터 가공 이미지를 생성한다. 이어서, 이미지처리모듈(131)은 S300 단계에서 생성망(310)이 생성한 가공 이미지를 인증망(320)에 입력한다. Then, the
그러면, 그러면, 인증망(320)은 S310 단계에서 가공 이미지가 진짜(real)일 확률과 가짜(fake)일 확률을 출력값으로 출력한다. Then, then, the
이에 따라, 이미지처리모듈(131)은 S320 단계에서 인증망(320)의 출력값과 목표값과의 차이인 손실값이 최소가 되도록 역확산 알고리즘을 이용하여 인증망(320)의 가중치는 수정하지 않고, 생성망(310)의 가중치를 수정한다. 즉, 이미지처리모듈(131)은 인증망(320)이 가공 이미지가 가짜인지 인식할 수 없도록 기준 이미지를 모사하여 가공 이미지를 생성하도록 생성망(310)을 학습시킨다. Accordingly, the
이와 같이, 경쟁 학습은 생성망(310)과 인증망(320)에 대한 학습이 경쟁한다. 이러한 S210 단계 내지 S320 단계는 반복하여 수행된다. In this way, in the competition learning, the learning about the
이러한 반복되는 경쟁 학습 과정에서 이미지처리모듈(131)은 S330 단계에서 생성망(310)과 인증망(320)의 가중치의 변화 여부를 판별한다. 만약, S330 단계의 판단 결과, 생성망(310)과 인증망(320) 중 적어도 하나의 가중치의 변화가 있으면, 전술한 S210 단계 내지 S320 단계를 반복한다. S340 단계의 판단 결과, 생성망(310)과 인증망(320) 양자 모두의 가중치의 변화가 없으면, 경쟁 학습을 종료한다. In the repeated competition learning process, the
전술한 바에 따라 인공신경망(300)의 학습은 복수의 카테고리 각각의 기준 이미지를 모사하도록 수행된다. 이에 따라, 인공신경망(300)은 이미지 검색어가 입력되면, 이미지 검색어가 속하는 카테고리에 대응하는 기준 이미지를 모사하는 가공 이미지를 생성할 수 있다. 이에 따라, 학습이 완료된 인공신경망(300)을 이용하여 이미지 검색을 수행할 수 있다. 그러면, 본 발명의 실시예에 따른 이미지 검색 방법에 대해서 설명하기로 한다. 도 12는 본 발명의 실시예에 따른 이미지 검색 방법을 설명하기 위한 흐름도이다. As described above, learning of the artificial
도 12를 참조하면, 사용자장치(200)의 제어부(260)는 S410 단계에서 이미지 검색어를 생성한다. 여기서, 이미지 검색어는 사용자의 조작에 따라 제어부(260)가 카메라부(220)를 통해 촬영된 이미지이거나, 통신부(210)를 통해 특정 웹 사이트에 접속하여 해당 웹 사이트로부터 다운로드된 이미지가 될 수 있다. 예컨대, 도 2에 도시된 바와 같이, 이미지 검색어의 질의 객체는 기준 이미지의 기준 객체와 그 구도가 상이한 이미지가 될 수 있다. 다음으로, 제어부(260)는 S420 단계에서 통신부(210)를 통해 생성된 이미지 검색어를 검색서버(100)로 전송한다. Referring to FIG. 12, the
검색서버(100)의 이미지처리모듈(311)은 통신모듈(110)을 통해 이미지 검색어를 수신하면, S430 단계에서 인공신경망(300)을 이용하여 이미지 검색어의 질의 객체의 카테고리를 식별한다. 그런 다음, 이미지처리모듈(311)은 S440 단계에서 인공신경망(300)을 통해 이미지 검색어의 질의 객체의 구도를 식별된 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성한다. 즉, 이미지처리모듈(311)은 이미지 검색어를 학습이 완료된 인공신경망(300)의 생성망(310)에 입력한다. 그러면, 인공신경망(300)의 생성망(310)은 학습된 가중치를 적용한 복수의 연산을 수행하여 가공 이미지를 생성한다. 생성된 가공 이미지는 이미지검색모듈(133)에 제공된다. When the image search module 311 of the
이미지검색모듈(133)은 S450 단계에서 가공 이미지에 대한 이미지 검색을 수행한다. 일 실시예에 따르면, 검색서버(100)는 다양한 제품을 판매하는 인터넷 쇼핑 몰 서비스를 제공하는 서버이며, 저장모듈(120)의 데이터베이스에 인터넷 쇼핑 몰에서 판매하는 복수의 상품 이미지가 저장되어 있다고 가정한다. 그러면, 이미지검색모듈(133)은 가공 이미지를 이미지 검색어로 저장모듈(120)에 저장된 상품 이미지에 대해 이미지 검색을 수행할 수 있다. 그러면, 이미지검색모듈(133)은 S460 단계에서 통신모듈(110)을 통해 검색된 복수의 상품 이미지를 포함하는 이미지 검색 결과를 사용자장치(200)로 전송한다. The
사용자장치(200)가 이미지 검색 결과를 수신하면, 사용자장치(200)의 제어부(260)는 S450 단계에서 이미지 검색 결과에 포함된 복수의 상품 이미지를 표시부(240)를 통해 표시할 수 있다. When the
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.As described above, this specification includes details of a number of specific implementations, but these should not be understood as limiting with respect to any invention or claimable scope, but rather may be specific to a particular embodiment of a particular invention. It should be understood as a description of the features. Certain features that are described in this specification in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, although features may operate in a particular combination and may initially be depicted as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, and the claimed combination subcombined. Or sub-combinations.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should not be understood that such operations should be performed in the particular order shown or in sequential order, or that all shown actions should be performed in order to obtain desirable results. In certain cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged in multiple software products. You should understand that you can.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Specific embodiments of the subject matter described herein have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims may be performed in different orders while still achieving desirable results. As an example, the process illustrated in the accompanying drawings does not necessarily require that particular illustrated order or sequential order to obtain desirable results. In certain implementations, multitasking and parallel processing can be advantageous.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The described description presents the best mode of the present invention, and provides examples for explaining the present invention and for those skilled in the art to make and use the present invention. The specification thus produced is not intended to limit the invention to the specific terms presented. Therefore, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art can make modifications, alterations, and modifications to these examples without departing from the scope of the present invention.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be determined by the described embodiments, but should be determined by the claims.
본 발명은 가공 이미지를 이용한 이미지 검색 방법 및 이를 위한 장치에 관한 것으로서, 본 발명에 따르면, 이미지 검색어의 질의 객체가 속하는 카테고리를 도출한 후, 해당 카테고리의 기준 이미지에 포함된 기준 객체와 동일한 구도로 질의 객체의 구도를 가공한 가공 이미지를 생성하고, 생성된 가공 이미지를 이용하여 이미지 검색을 수행한다. 이에 따라, 검색 대상 이미지와 동일한 구도의 이미지를 통해 이미지 검색을 수행할 수 있어 이미지 검색의 정확도 및 신뢰도를 향상시킬 수 있다. 따라서 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다. The present invention relates to an image search method using a processed image and an apparatus therefor, according to the present invention, after deriving a category to which a query object of an image search term belongs, querying with the same composition as the reference object included in the reference image of the corresponding category A processed image processing the composition of the object is generated, and image search is performed using the generated processed image. Accordingly, it is possible to perform image search through an image having the same composition as the image to be searched, thereby improving the accuracy and reliability of the image search. Therefore, the present invention has industrial applicability because the present invention is not only sufficiently commercially available or commercially viable, but also practically clearly implemented.
100: 검색서버
110: 통신모듈
120: 저장모듈
130: 제어모듈
131: 이미지처리모듈
133: 이미지검색모듈
200: 사용자장치
210: 통신부
220: 카메라부
230: 입력부
240: 표시부
250: 저장부
260: 제어부
300: 인공신경망
310: 생성망
320: 인증망 100: search server 110: communication module
120: storage module 130: control module
131: image processing module 133: image search module
200: user device 210: communication unit
220: camera unit 230: input unit
240: display unit 250: storage unit
260: control unit 300: artificial neural network
310: generation network 320: authentication network
Claims (13)
이미지처리모듈이 상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 질의 객체의 카테고리를 식별하는 단계;
상기 이미지처리모듈이 인공신경망을 통해 상기 이미지 검색어의 질의 객체의 구도를 상기 식별된 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 단계; 및
이미지검색모듈이 상기 가공 이미지를 이용하여 이미지 검색을 수행하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법. An image processing module receiving an image search word;
An image processing module identifying a category of the query object by recognizing a query object included in the image search term;
Generating, by the image processing module, a processed image in which the composition of the query object of the image search term is processed to the same composition as the reference object included in the reference image corresponding to the identified category through an artificial neural network; And
And an image search module performing an image search using the processed image.
상기 가공 이미지를 생성하는 단계는
상기 이미지처리모듈이 상기 이미지 검색어를 상기 인공신경망에 입력하는 단계;
상기 이미지처리모듈이 상기 인공신경망을 통해 상기 이미지 검색어에 대해 가중치가 적용된 복수의 연산을 통해 상기 가공 이미지를 생성하여 출력하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법. According to claim 1,
The step of generating the processed image
Inputting the image search word into the artificial neural network by the image processing module;
And the image processing module generating and outputting the processed image through a plurality of calculations in which weights are applied to the image search terms through the artificial neural network.
상기 가공 이미지를 생성하는 단계 전,
상기 이미지처리모듈이 상기 인공신경망이 상기 이미지 검색어로부터 상기 가공 이미지를 생성하도록 상기 인공신경망을 학습시키는 단계;를 더 포함하는 것을 특징으로 하는 이미지 검색 방법. According to claim 1,
Before the step of generating the processed image,
And the image processing module learning the artificial neural network so that the artificial neural network generates the processed image from the image search word.
상기 인공신경망을 학습시키는 단계는
상기 이미지처리모듈이
상기 인공신경망의 생성망 및 인증망 각각을 개별적으로 학습시키는 단계; 및
상기 이미지처리모듈이 상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법. The method of claim 3,
The step of learning the artificial neural network
The image processing module
Individually learning each of the artificial neural network generation network and the authentication network; And
And the image processing module competing and learning the generation network and the authentication network.
상기 개별적으로 학습시키는 단계는
상기 이미지처리모듈이 상기 생성망에 학습 이미지를 입력하는 단계;
상기 생성망이 입력된 학습 이미지에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 단계;
상기 이미지처리모듈이 생성망이 생성한 가공 이미지와 상기 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법. According to claim 4,
The step of learning individually
Inputting a learning image into the generation network by the image processing module;
Outputting a processed image by performing a plurality of calculations in which a weight is applied to the learning image input by the generation network;
And modifying the weight of the generation network so that the difference between the processed image generated by the generation network and the reference image is minimized by the image processing module.
상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정하는 단계;
상기 이미지처리모듈이 가공 이미지 또는 기준 이미지를 상기 인증망에 입력하는 단계;
상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 단계;
상기 이미지처리모듈이 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법. According to claim 4,
Setting, by the image processing module, a target value such that the authentication network determines that the processed image is fake, and determines that the reference image is genuine;
Inputting a processed image or a reference image into the authentication network by the image processing module;
Outputting, as an output value, the probability that the authentication image is a real image or a reference image that is input through an operation in which the plurality of weights are applied by the authentication network;
And the image processing module correcting the weight of the authentication network so that a loss value, which is a difference between an output value and a target value of the authentication network, is minimum.
상기 경쟁시켜 학습시키는 단계는
상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하는 단계; 및
상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 단계;를 포함하는 것을 특징으로 하는 이미지 검색 방법. According to claim 4,
The step of learning by competing is
Setting a target value to determine that the processed image generated by the generation network is fake, and then correcting the weight of the authentication network so that the difference between the set target value and the output value of the authentication network is minimal; And
And setting a target value to determine that the processed image generated by the generation network is real, and then correcting the weight of the generation network so that the difference between the set target value and the output value of the authentication network is minimum. Image search method characterized by.
상기 이미지 검색어의 질의 객체의 구도를 상기 질의 객체의 카테고리에 대응하는 기준 이미지에 포함된 기준 객체와 동일한 구도로 가공한 가공 이미지를 생성하는 인공신경망;
상기 이미지 검색어에 포함된 질의 객체를 인식하여 상기 아이템의 카테고리를 식별하고, 상기 인공신경망을 통해 상기 이미지 검색어로부터 상기 가공 이미지를 생성하는 이미지처리모듈; 및
상기 가공 이미지를 이용하여 이미지 검색을 수행하는 이미지검색모듈;을 포함하는 것을 특징으로 하는 이미지 검색 장치. A communication module for receiving an image search word from a user device;
An artificial neural network generating a processed image in which the composition of the query object of the image search term is processed to the same composition as the reference object included in the reference image corresponding to the category of the query object;
An image processing module that recognizes a query object included in the image search term to identify the category of the item, and generates the processed image from the image search term through the artificial neural network; And
And an image search module for performing an image search using the processed image.
상기 인공신경망은
이미지 검색어가 입력되면, 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하는 생성망; 및
가공 이미지 또는 기준 이미지가 입력되면, 가중치가 적용되는 복수의 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하는 인증망;을 포함하는 것을 특징으로 하는 이미지 검색 장치.The method of claim 8,
The artificial neural network
A generation network that outputs a processed image by performing a plurality of operations in which a weight is applied to the input image search word when the image search word is input; And
When the processed image or the reference image is input, the image search characterized in that it comprises; an authentication network that outputs the probability that the processed image or the reference image inputted through a plurality of operations to which the weight is applied is a real probability and a false probability as output values. Device.
상기 이미지처리모듈은
상기 생성망이 이미지 검색어로부터 가공 이미지를 생성하도록 상기 생성망 및 상기 인증망 각각을 개별적으로 학습시키는 개별 학습을 수행한 후,
상기 생성망 및 상기 인증망을 경쟁시켜 학습시키는 경쟁 학습을 수행하는 것을 특징으로 하는 이미지 검색 장치. The method of claim 8,
The image processing module
After performing the individual learning to individually learn each of the generation network and the authentication network so that the generation network generates a processed image from the image search word,
An image retrieval apparatus characterized by performing a competitive learning to compete and learn the generation network and the authentication network.
상기 이미지처리모듈은
상기 개별 학습 시,
상기 생성망에 기준 이미지의 이미지 검색어를 입력하고,
상기 생성망이 입력된 이미지 검색어에 대해 가중치가 적용되는 복수의 연산을 수행하여 가공 이미지를 출력하면, 출력된 가공 이미지와 기준 이미지의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치. The method of claim 10,
The image processing module
In the above individual learning,
Enter an image search term of the reference image in the generation network,
When the generation network outputs a processed image by performing a plurality of calculations in which a weight is applied to the input image search word, the weight of the generation network is modified to minimize the difference between the output processed image and the reference image. Image search device.
상기 이미지처리모듈은
상기 개별 학습 시,
상기 이미지처리모듈이 상기 인증망이 상기 가공 이미지를 가짜인 것으로 판별하고, 상기 기준 이미지를 진짜인 것으로 판별하도록 목표값을 설정한 후, 상기 가공 이미지 또는 상기 기준 이미지를 상기 인증망에 입력하고,
상기 인증망이 복수의 가중치가 적용되는 연산을 통해 입력된 가공 이미지 또는 기준 이미지가 진짜일 확률과 가짜일 확률을 출력값으로 출력하면, 상기 인증망의 출력값과 목표값의 차이인 손실값이 최소가 되도록 상기 인증망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치. The method of claim 10,
The image processing module
In the above individual learning,
After the image processing module determines that the authentication network is fake, and sets a target value to determine the reference image as real, inputs the processed image or the reference image into the authentication network,
If the authentication network outputs the probability that the processed image or the reference image, which is input through a calculation in which multiple weights are applied, is a real probability and a false probability, as output values, the loss value, which is the difference between the output value and the target value of the authentication network, is the minimum value. The image retrieval device, characterized in that to modify the weight of the authentication network as possible.
상기 이미지처리모듈은
상기 경쟁 학습 시,
상기 생성망이 생성한 가공 이미지가 가짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 인증망의 가중치를 수정하고,
상기 생성망이 생성한 가공 이미지가 진짜인 것으로 판별하도록 목표값을 설정한 후, 설정된 목표값과 상기 인증망의 출력값의 차이가 최소가 되도록 상기 생성망의 가중치를 수정하는 것을 특징으로 하는 이미지 검색 장치. The method of claim 10,
The image processing module
In the competition learning,
After setting a target value to determine that the processed image generated by the generation network is fake, correct the weight of the authentication network so that the difference between the set target value and the output value of the authentication network is minimal,
After setting a target value to determine that the processed image generated by the generation network is genuine, an image search characterized by modifying the weight of the generation network to minimize the difference between the set target value and the output value of the authentication network Device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180102263A KR20200027586A (en) | 2018-08-29 | 2018-08-29 | A method for image searching using a converted image and an apparatus therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180102263A KR20200027586A (en) | 2018-08-29 | 2018-08-29 | A method for image searching using a converted image and an apparatus therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200027586A true KR20200027586A (en) | 2020-03-13 |
Family
ID=69938345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180102263A KR20200027586A (en) | 2018-08-29 | 2018-08-29 | A method for image searching using a converted image and an apparatus therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200027586A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102396323B1 (en) * | 2021-03-05 | 2022-05-10 | 쿠팡 주식회사 | Electronic apparatus and information providing method thereof |
Citations (1)
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 |
-
2018
- 2018-08-29 KR KR1020180102263A patent/KR20200027586A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100043823A (en) | 2008-10-21 | 2010-04-29 | 에스케이 텔레콤주식회사 | Method and server for providing online shopping using image of commodity |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102396323B1 (en) * | 2021-03-05 | 2022-05-10 | 쿠팡 주식회사 | Electronic apparatus and information providing method thereof |
US11379900B1 (en) | 2021-03-05 | 2022-07-05 | Coupang Corp. | Electronic apparatus, manufacture, and information providing method thereof |
WO2022186415A1 (en) * | 2021-03-05 | 2022-09-09 | 쿠팡 주식회사 | Electronic device and information provision method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280458B (en) | Group relation type identification method and device | |
JP7265003B2 (en) | Target detection method, model training method, device, apparatus and computer program | |
JP7096444B2 (en) | Image area positioning method, model training method and related equipment | |
CN108304388B (en) | Machine translation method and device | |
WO2021238366A1 (en) | Neural network construction method and apparatus | |
CN108334539B (en) | Object recommendation method, mobile terminal and computer-readable storage medium | |
US9710447B2 (en) | Visual recognition using social links | |
KR102531009B1 (en) | A method for image searching using an captured image based on guidelines and an apparatus therefor | |
CN112135325A (en) | Network switching method, device, storage medium and terminal | |
CN113946719A (en) | Word completion method and device | |
KR20200023678A (en) | A method for image searching using part of an image and an apparatus therefor | |
CN110795558B (en) | Label acquisition method and device, storage medium and electronic device | |
KR20200027586A (en) | A method for image searching using a converted image and an apparatus therefor | |
WO2022162677A1 (en) | Distributed machine learning with new labels using heterogeneous label distribution | |
CN115981798B (en) | File analysis method, device, computer equipment and readable storage medium | |
KR20200026373A (en) | Image search method using search history and apparatus therefor | |
CN109544241B (en) | Click rate estimation model construction method, click rate estimation method and device | |
JP6558452B1 (en) | Quality check device, quality check method and program | |
KR20200027589A (en) | Method and apparatus for image search | |
KR20200023091A (en) | Image search method for providing information about similarity and apparatus therefor | |
KR20200023093A (en) | A method for recommendation of style coordination and an apparatus therefor | |
KR101980629B1 (en) | An apparatus for automatically executing a video, a method thereof and computer recordable medium storing program to perform the method | |
KR20200003564A (en) | A method for image searching using an image comprising a plurality of items and an apparatus therefor | |
KR102594099B1 (en) | A method for editing uploaded images and an apparatus therefor | |
KR20200021737A (en) | A method for image searching using real time popular search word and an apparatus therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal |