KR102651950B1 - A method for sketch based image searching and an apparatus therefor - Google Patents

A method for sketch based image searching and an apparatus therefor Download PDF

Info

Publication number
KR102651950B1
KR102651950B1 KR1020180073957A KR20180073957A KR102651950B1 KR 102651950 B1 KR102651950 B1 KR 102651950B1 KR 1020180073957 A KR1020180073957 A KR 1020180073957A KR 20180073957 A KR20180073957 A KR 20180073957A KR 102651950 B1 KR102651950 B1 KR 102651950B1
Authority
KR
South Korea
Prior art keywords
sketch
user
category
search
image search
Prior art date
Application number
KR1020180073957A
Other languages
Korean (ko)
Other versions
KR20200001238A (en
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 KR1020180073957A priority Critical patent/KR102651950B1/en
Publication of KR20200001238A publication Critical patent/KR20200001238A/en
Application granted granted Critical
Publication of KR102651950B1 publication Critical patent/KR102651950B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 스케치 기반의 이미지 검색을 위한 밑그림 제공 방법 및 이를 위한 장치에 관한 것이다. 이러한 본 발명은 사용자장치의 밑그림제공모듈이 스케치 기반 이미지 검색을 위한 밑그림을 요청 받는 단계와, 상기 밑그림제공모듈이 상기 요청 시점으로부터 소정 기간 이전의 사용자 컨텍스트를 추출하는 단계와, 기 수행된 이미지 검색 결과의 카테고리와 사용자 컨텍스트와의 상관관계에 따라 도출된 상관관계식에 상기 수집된 사용자 컨텍스트를 입력하여 카테고리를 도출하는 단계와, 상기 도출된 카테고리 및 상기 도출된 카테고리에 속하는 복수의 밑그림을 우선순위에 따라 나열하여 표시하는 단계를 포함하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 밑그림 제공 방법과 이를 위한 장치를 제공한다. The present invention relates to a method of providing a sketch for sketch-based image search and a device therefor. The present invention includes the steps of receiving a request for a sketch for a sketch-based image search by a sketch providing module of a user device, a step of extracting user context from a predetermined period of time prior to the request by the sketch providing module, and retrieving images that have already been performed. Deriving a category by inputting the collected user context into a correlation equation derived according to the correlation between the resulting category and the user context, and prioritizing the derived category and a plurality of sketches belonging to the derived category. A method for providing a sketch for sketch-based image search, which includes the step of listing and displaying the image, and a device therefor are provided.

Description

스케치 기반의 이미지 검색을 위한 방법 및 장치 {A method for sketch based image searching and an apparatus therefor}{A method for sketch based image searching and an apparatus therefor}

본 발명은 이미지 검색에 관한 것으로, 더욱 상세하게는, 사용자의 스케치를 돕기 위한 밑그림을 제공하되, 사용자의 사용자장치 사용에 따른 행동 패턴을 나타내는 사용자 컨텍스트(User Context)에 따라 복수의 밑그림을 제공하여 스케치 기반 이미지 검색을 용이하게 수행할 수 있도록 하는 스케치 기반의 이미지 검색을 위한 방법 및 장치에 관한 것이다The present invention relates to image search, and more specifically, by providing a sketch to help the user sketch, and by providing a plurality of sketches according to the user context (User Context) representing the behavior pattern according to the user's use of the user device. It relates to a method and device for sketch-based image search that facilitates sketch-based image search.

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

한국공개특허 제2013-0059058호, 2013년 06월 05일 공개 (명칭: 스케치 질의를 사용하는 콘텐츠 기반 이미지 검색기에서의 질의 이미지 및 검색 대상 영상의 전처리 장치 및 그 방법)Korean Patent Publication No. 2013-0059058, published on June 5, 2013 (Name: Apparatus and method for pre-processing query images and search target images in a content-based image searcher using sketch query)

본 발명의 목적은 사용자가 스케치 입력 기반의 검색을 수행할 때, 밑그림을 제공하되, 사용자의 사용자장치의 사용에 따른 행동 패턴을 나타내는 사용자 컨텍스트를 분석하여 사용자가 필요로 하는 카테고리의 밑그림을 예측하여 제공할 수 있는 스케치 기반 이미지 검색을 위한 방법 및 장치를 제공함에 있다.The purpose of the present invention is to provide a sketch when a user performs a search based on a sketch input, and to predict the sketch of the category the user needs by analyzing the user context representing the behavior pattern according to the user's use of the user device. The goal is to provide a method and device for sketch-based image search.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 스케치 기반의 이미지 검색을 위한 방법은 스케치 기반의 이미지 검색을 위한 장치가, 스케치 기반 이미지 검색을 요청 받는 단계; 상기 요청에 따라서 복수의 밑그림을 표시하는 단계; 상기 복수의 밑그림 중 어느 하나가 선택되면, 화면의 스케치 영역에 밑그림을 표시하는 단계; 상기 스케치 영역 상의 사용자 입력을 감지하면, 감지된 사용자 입력에 따라 상기 밑그림과 함께 사용자 입력의 자취에 따라 스케치를 표시하는 단계; 및 상기 스케치와 상기 밑그림을 검색서버로 전송하여 이미지 검색을 요청하는 단계;를 포함한다.A method for sketch-based image search according to a preferred embodiment of the present invention for achieving the above-described object includes the steps of: receiving a request for sketch-based image search by a sketch-based image search device; displaying a plurality of sketches according to the request; When one of the plurality of drafts is selected, displaying the draft in a sketch area of the screen; When detecting a user input on the sketch area, displaying a sketch according to the trace of the user input along with the sketch according to the detected user input; and transmitting the sketch and the sketch to a search server to request an image search.

본 발명에 따른 스케치 기반의 이미지 검색을 위한 방법에 있어서, 상기 복수의 밑그림을 표시하는 단계는, 상기 장치가 상기 요청 시점으로부터 소정 기간 이전의 사용자 컨텍스트를 추출하는 단계; 상기 장치가 기 수행된 이미지 검색 결과의 카테고리와 사용자 컨텍스트와의 상관관계에 따라 도출된 상관관계식에 상기 수집된 사용자 컨텍스트를 입력하여 카테고리를 도출하는 단계; 및 상기 밑그림제공모듈이 상기 도출된 카테고리 및 상기 도출된 카테고리에 속하는 복수의 밑그림을 우선순위에 따라 나열하여 표시하는 단계;를 포함할 수 있다.In the method for sketch-based image search according to the present invention, displaying the plurality of sketches includes: extracting, by the device, user context prior to a predetermined period of time from the time of the request; Deriving a category by inputting the collected user context into a correlation equation derived according to the correlation between the category of the image search result performed by the device and the user context; and displaying, by the sketch providing module, the derived category and a plurality of drafts belonging to the derived category in order of priority.

또한, 본 발명에 따른 스케치 기반의 이미지 검색 방법은 상기 요청 받는 단계 전, 상기 장치가 이미지 검색이 이루어질 때마다, 사용자 컨텍스트, 이미지 검색 결과의 카테고리 및 유효 이미지를 수집하는 단계; 상기 장치가 상기 이미지 검색 결과의 카테고리와 사용자 컨텍스트와의 상관관계를 정의하는 상관관계식을 생성하는 단계; 및 상기 장치가 상기 수집된 유효 이미지로부터 밑그림을 생성하는 단계;를 더 포함할 수 있다.In addition, the sketch-based image search method according to the present invention includes the steps of collecting user context, categories of image search results, and valid images whenever image search is performed by the device before the request receiving step; generating, by the device, a correlation equation defining a correlation between a category of the image search result and a user context; and generating, by the device, a sketch from the collected valid images.

본 발명에 의한 스케치 기반의 이미지 검색을 위한 방법에 있어서, 상기 사용자 컨텍스트, 이미지 검색 결과의 카테고리 및 유효 이미지를 수집하는 단계는, 상기 장치가 상기 이미지 검색 시점을 기준으로 소정 기간 이전부터 상기 이미지 검색 시점까지의 복수의 사용자 컨텍스트를 수집하는 단계; 상기 장치가 상기 이미지 검색 시점 이후의 소정 기간 동안 적어도 하나의 유효 이미지를 검출하여 저장하는 단계; 및 상기 장치가 상기 검출된 유효 이미지의 카테고리를 결정하는 단계;를 포함할 수 있다.In the sketch-based image search method according to the present invention, the step of collecting the user context, the category of the image search result, and the valid image includes the device retrieving the image from a predetermined period of time based on the image search time. collecting a plurality of user contexts up to a point in time; detecting and storing, by the device, at least one valid image for a predetermined period of time after the image retrieval point; and determining, by the device, a category of the detected valid image.

더하여, 상기 상관관계식을 생성하는 단계는, 상기 카테고리를 결정하는 단계 후, 상기 장치가 상기 이미지 검색 시점을 기준으로 소정 기간 이전부터 상기 이미지 검색 시점까지의 수집된 복수의 사용자 컨텍스트 중 상기 이미지 검색이 발생하는 이벤트와의 상관계수가 소정 수치 이상인 사용자 컨텍스트 도출하는 단계; 상기 장치가 상기 수집된 복수의 사용자 컨텍스트 중 2 이상의 사용자 컨텍스트 상호간에 상관계수가 소정 수치 이상이면서 상기 이미지 검색이 발생하는 이벤트와의 상관계수가 가장 높은 사용자 컨텍스트를 선택하는 단계; 및 상기 장치가 상기 선택된 사용자 컨텍스트와 상기 카테고리에 대한 선형회기분석을 통해 상관관계식을 생성하는 단계;를 포함할 수 있다.In addition, the step of generating the correlation equation includes, after determining the category, the device performing an image search among a plurality of user contexts collected from a predetermined period of time to the time of the image search. Deriving a user context in which the correlation coefficient with the occurring event is greater than or equal to a predetermined value; selecting, by the device, a user context among the plurality of collected user contexts where the correlation coefficient between two or more user contexts is greater than or equal to a predetermined value and the correlation coefficient with the event in which the image search occurs is the highest; and generating, by the device, a correlation equation through linear regression analysis for the selected user context and the category.

또한, 상기 선형회기분석을 통해 상관관계식을 생성하는 단계는, C는 카테고리가 선택될 확률이고, i는 카테고리의 인덱스이고, K는 선택된 사용자 컨텍스트의 수이고, X1, X2, X3, ..., Xk은 각각 서로 다른 사용자 컨텍스트이고, a0, a1, a2, a3, ..., an은 가중치일 때, 상기 장치가 수학식 에 의해 이미지 검색이 이루어질 때마다 수집된 카테고리와 컨텍스트의 값을 훈련 데이터로 입력하여 복수의 연립 방정식을 구성하고, 구성된 연립 방정식의 해로 상기 가중치를 산출한 후, 상기 수학식에 산출된 가중치를 적용하여 상관관계식을 생성할 수 있다.In addition, in the step of generating a correlation equation through the linear regression analysis, C is the probability that a category is selected, i is the index of the category, K is the number of selected user contexts, X1, , Xk are different user contexts, and a0, a1, a2, a3, ..., an are weights, and the device Each time an image search is performed, the values of the collected categories and contexts are input as training data to construct a plurality of simultaneous equations, the weights are calculated with the solution of the constructed simultaneous equations, and the calculated weights are applied to the equation. Thus, a correlation equation can be created.

그리고, 상기 수집된 유효 이미지로부터 밑그림을 생성하는 단계는, 상기 밑그림제공모듈이 각 카테고리 별로 수집된 복수의 유효 이미지를 형태의 특징에 따라 복수의 유형으로 그룹화하여 복수의 유효 이미지 그룹을 생성하는 단계; 상기 밑그림제공모듈이 상기 유효 이미지 그룹에 속한 복수의 유효 이미지 각각에 대해 형태 분석(morphology analysis) 기법에 따라 윤곽을 검출하여 점 및 선으로만 이루어진 복수의 이진 이미지를 생성하는 단계; 상기 밑그림제공모듈이 상기 복수의 이진 이미지를 중첩하여 중첩된 복수의 이진 이미지의 점 및 선의 중첩되는 정도에 따라 밑그림을 생성하는 단계; 및 상기 밑그림제공모듈이 상기 유효 이미지 그룹에 속한 유효 이미지의 수에 따라 상기 생성된 밑그림의 우선순위를 결정하는 단계;를 포함할 수 있다.In the step of generating a draft from the collected valid images, the draft providing module groups the plurality of valid images collected for each category into a plurality of types according to the characteristics of the shape to generate a plurality of valid image groups. ; generating, by the sketch providing module, a plurality of binary images consisting only of dots and lines by detecting outlines of each of the plurality of valid images belonging to the valid image group according to a morphology analysis technique; A step of the sketch providing module overlapping the plurality of binary images to generate a draft according to the degree of overlap of points and lines of the plurality of overlapping binary images; and determining, by the draft providing module, the priority of the generated draft according to the number of valid images belonging to the valid image group.

더하여, 본 발명은 상술한 과제의 다른 해결 수단으로서, 검색 서버에 의한 스케치 기반의 이미지 검색을 위한 방법을 제공한다. 상기 방법은, 상기 검색서버가 사용자 장치로부터 이미지 검색 요청과 함께 스케치와 상기 밑그림을 수신하는 단계; 상기 검색서버가 상기 스케치와 상기 밑그림의 차이를 특징 이미지로 도출하는 단계; 상기 검색서버가 상기 스케치와 동일 또는 유사한 복수의 이미지를 검색하는 단계; 상기 검색서버가 상기 검색된 복수의 이미지를 상기 특징 이미지와의 유사도가 높은 순서로 정렬한 검색 결과를 생성하는 단계; 및 상기 검색서버가 상기 검색 결과를 상기 사용자장치로 전송하는 단계;를 포함한다.In addition, the present invention provides a method for sketch-based image search by a search server as another solution to the above-described problem. The method includes the steps of the search server receiving a sketch and the draft along with an image search request from a user device; The search server deriving differences between the sketch and the draft as a feature image; Searching the search server for a plurality of images identical or similar to the sketch; generating a search result in which the search server sorts the plurality of searched images in order of high similarity to the feature image; and transmitting, by the search server, the search results to the user device.

더하여, 본 발명은, 네트워크에 접속하여 통신을 수행하는 통신부; 스케치 영역 및 밑그림 영역을 포함하는 화면을 표시하기 위한 표시부; 스케치 기반 이미지 검색을 요청 받으면, 상기 요청 시점으로부터 소정 기간 이전의 사용자 컨텍스트를 추출하고, 기 수행된 이미지 검색 결과의 카테고리와 사용자 컨텍스트와의 상관관계에 따라 도출된 상관관계식에 상기 추출된 사용자 컨텍스트를 입력하여 카테고리를 도출하고, 상기 도출된 카테고리 및 상기 도출된 카테고리에 속하는 복수의 밑그림을 우선순위에 따라 나열하여 상기 밑그림 영역에 표시하는 밑그림제공모듈; 및 상기 복수의 밑그림 중 어느 하나가 선택되면, 화면의 스케치 영역에 밑그림을 표시하고, 상기 스케치 영역 상의 터치 입력을 감지하면, 감지된 터치입력에 따라 상기 밑그림과 함께 터치 입력의 자취를 표시한 후, 상기 스케치와 상기 밑그림을 상기 통신부를 통해 검색서버로 전송하는 스케치검색모듈;을 포함하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 장치를 제공한다. In addition, the present invention includes a communication unit that connects to a network and performs communication; a display unit for displaying a screen including a sketch area and a draft area; When a sketch-based image search is requested, the user context from a predetermined period of time prior to the request is extracted, and the extracted user context is entered into a correlation equation derived according to the correlation between the user context and the category of the previously performed image search results. a sketch providing module that derives a category through input, arranges the derived category and a plurality of drafts belonging to the derived category in order of priority, and displays them in the draft area; And when one of the plurality of sketches is selected, the sketch is displayed in the sketch area of the screen, and when a touch input on the sketch area is detected, a trace of the touch input is displayed along with the sketch according to the detected touch input. , a sketch search module that transmits the sketch and the sketch to a search server through the communication unit; providing a device for sketch-based image search, comprising:

여기서, 상기 밑그림제공모듈은 이미지 검색이 이루어질 때마다, 상기 이미지 검색 시점을 기준으로 소정 기간 이전부터 상기 이미지 검색 시점까지의 복수의 사용자 컨텍스트를 수집하고, 상기 이미지 검색 시점 이후의 소정 기간 동안 적어도 하나의 유효 이미지를 검출하고, 상기 검출된 유효 이미지의 카테고리를 결정하고, 상기 수집된 복수의 사용자 컨텍스트 중 상기 카테고리와의 상관계수가 소정 수치 이상인 사용자 컨텍스트 도출하고, 상기 수집된 복수의 사용자 컨텍스트 중 2 이상의 사용자 컨텍스트 상호간에 상관계수가 소정 수치 이상이면서 상기 카테고리와의 상관계수가 가장 높은 사용자 컨텍스트를 선택하고, 상기 선택된 사용자 컨텍스트와 상기 카테고리에 대한 선형회기분석을 통해 상관관계식을 생성할 수 있다.Here, whenever an image search is performed, the sketch providing module collects a plurality of user contexts from a predetermined period before the image search time to the image search time, and at least one user context during a predetermined period after the image search time. Detecting a valid image, determining a category of the detected valid image, deriving a user context whose correlation coefficient with the category is more than a predetermined value among the plurality of collected user contexts, and 2 of the plurality of collected user contexts The user context in which the correlation coefficient between the above user contexts is greater than a predetermined value and the highest correlation coefficient with the category may be selected, and a correlation equation may be generated through linear regression analysis of the selected user context and the category.

또한, 상기 밑그림제공모듈은 C는 카테고리가 선택될 확률이고, i는 카테고리의 인덱스이고, K는 선택된 사용자 컨텍스트의 수이고, X1, X2, X3, ..., Xk은 각각 서로 다른 사용자 컨텍스트이고, a0, a1, a2, a3, ..., an은 가중치일 때, 수학식 에 이미지 검색이 이루어질 때마다 수집된 카테고리와 컨텍스트의 값을 훈련 데이터로 입력하여 복수의 연립 방정식을 구성하고, 구성된 연립 방정식의 해로 상기 가중치를 산출한 후, 상기 수학식에 산출된 가중치를 적용하여 상관관계식을 생성할 수 있다.In addition, in the sketch providing module, C is the probability of a category being selected, i is the index of the category, K is the number of selected user contexts, and X1, X2, , a0, a1, a2, a3, ..., when an is a weight, the equation Each time an image search is performed, the values of the collected categories and contexts are input as training data to construct a plurality of simultaneous equations, the weights are calculated using the solutions of the constructed simultaneous equations, and the calculated weights are applied to the equation. A correlation equation can be created.

또한, 상기 밑그림제공모듈은 각 카테고리 별로 수집된 복수의 유효 이미지를 그룹화하여 유효 이미지 그룹을 생성하고, 상기 유효 이미지 그룹에 속한 복수의 유효 이미지 각각에 대해 형태 분석(morphology analysis) 기법에 따라 윤곽을 검출하여 점 및 선으로만 이루어진 복수의 이진 이미지를 생성하고, 상기 복수의 이진 이미지를 중첩하여 중첩된 점 및 선의 강도에 따라 밑그림을 생성하고, 상기 유효 이미지 그룹에 속한 복수의 유효 이미지의 수에 따라 상기 생성된 밑그림의 우선순위를 결정할 수 있다.In addition, the sketch providing module generates a valid image group by grouping a plurality of valid images collected for each category, and creates an outline according to a morphology analysis technique for each of the plurality of valid images belonging to the valid image group. Detection generates a plurality of binary images consisting of only dots and lines, overlapping the plurality of binary images to generate a sketch according to the intensity of the overlapped dots and lines, and calculating the number of valid images belonging to the valid image group. Accordingly, the priority of the generated sketch can be determined.

더하여, 본 발명은 네트워크에 접속하여 통신을 수행하는 통신모듈; 및 상기 사용자장치로부터 스케치와 밑그림을 수신하면, 상기 스케치와 상기 밑그림의 차이를 특징 이미지로 도출하고, 상기 스케치와 동일 또는 유사한 복수의 이미지를 검색하고, 상기 검색된 복수의 이미지를 상기 특징 이미지와의 유사도가 높은 순서로 정렬한 검색 결과를 생성하고, 상기 검색 결과를 상기 통신모듈을 통해 상기 사용자장치로 전송하는 이미지검색모듈;을 포함하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 검색 서버를 제공한다In addition, the present invention includes a communication module that connects to a network and performs communication; And when receiving a sketch and a draft from the user device, derive the difference between the sketch and the draft as a feature image, search for a plurality of images identical or similar to the sketch, and compare the retrieved plurality of images with the feature image. An image search module that generates search results sorted in order of high similarity and transmits the search results to the user device through the communication module. Provides a search server for sketch-based image search, comprising: do

본 발명에 따르면, 사용자에게 밑그림을 참고하여 스케치를 수행하는 스케치 기반 이미지 검색을 제공하기 위하여, 사용자의 행동 패턴을 나타내는 사용자 컨텍스트를 분석하여 사용자가 필요로 하는 카테고리의 밑그림을 예측하고, 스케치 기반 이미지 검색 시 예측된 밑그림을 제공함으로써, 사용자가 밑그림을 찾는데 시간을 소비할 필요 없이 사용자가 원하는 밑그림을 제공할 수 있다. According to the present invention, in order to provide a sketch-based image search that performs a sketch by referring to the sketch to the user, the sketch of the category needed by the user is predicted by analyzing the user context representing the user's behavior pattern, and the sketch-based image search is performed. By providing a predicted sketch during a search, the sketch the user wants can be provided without the user having to spend time searching for the sketch.

도 1은 본 발명의 실시예에 따른 스케치 기반 이미지 검색을 제공하는 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 검색서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 스케치 기반의 이미지 검색을 위한 밑그림 제공 방법에 대해서 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 밑그림을 제공하여 스케치 기반 이미지 검색을 수행하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 데이터 수집 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 데이터 수집 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 상관관계식을 생성하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 실시예에 따른 카테고리 별로 밑그림을 생성하는 방법을 설명하기 위한 흐름도이다.
도 10 및 도 11은 본 발명의 실시예에 따른 카테고리 별로 밑그림을 생성하는 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 밑그림을 표시하는 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 실시예에 따른 밑그림을 표시하는 방법을 설명하기 위한 화면 예이다.
도 14는 본 발명의 실시예에 따른 스케치를 생성하여 이미지 검색어로 스케치를 전송하는 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 실시예에 따른 스케치를 생성하는 방법을 설명하기 위한 화면 예이다.
도 16은 본 발명의 실시예에 따른 스케치 기반 이미지 검색 방법에 대해서 설명하기 위한 흐름도이다.
도 17은 본 발명의 실시예에 따른 스케치 기반 이미지 검색 방법에 대해서 설명하기 위한 도면이다.
1 is a diagram for explaining a system that provides sketch-based image search according to an embodiment of the present invention.
Figure 2 is a block diagram for explaining the configuration of a search server according to an embodiment of the present invention.
Figure 3 is a block diagram for explaining the configuration of a user device according to an embodiment of the present invention.
Figure 4 is a flowchart explaining a method of providing a sketch for sketch-based image search according to an embodiment of the present invention.
Figure 5 is a flowchart illustrating a method of performing sketch-based image search by providing a sketch according to an embodiment of the present invention.
Figure 6 is a flowchart for explaining a data collection method according to an embodiment of the present invention.
Figure 7 is a diagram for explaining a data collection method according to an embodiment of the present invention.
Figure 8 is a flowchart illustrating a method for generating a correlation equation according to an embodiment of the present invention.
Figure 9 is a flowchart illustrating a method of generating a sketch for each category according to an embodiment of the present invention.
10 and 11 are diagrams for explaining a method of generating a sketch for each category according to an embodiment of the present invention.
Figure 12 is a flowchart for explaining a method of displaying a sketch according to an embodiment of the present invention.
Figure 13 is an example screen for explaining a method of displaying a draft according to an embodiment of the present invention.
Figure 14 is a flowchart illustrating a method of creating a sketch and transmitting the sketch as an image search word according to an embodiment of the present invention.
Figure 15 is an example screen for explaining a method of creating a sketch according to an embodiment of the present invention.
Figure 16 is a flowchart for explaining a sketch-based image search method according to an embodiment of the present invention.
Figure 17 is a diagram for explaining a sketch-based image search method according to an embodiment of the present invention.

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

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

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

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms containing ordinal numbers, such as first, second, etc., are used to describe various components, and are used only for the purpose of distinguishing one component from other components and to limit the components. Not used. For example, the second component may be referred to as the first component without departing from the scope of the present invention, 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 is or can be connected logically or physically. In other words, a component may be directly connected or connected to another component, but it should be understood that other components may exist in the middle and may be indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Additionally, the terms used in this specification 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 dictates otherwise. In addition, terms such as "comprise" or "have" used in the specification are intended to designate the presence of features, numbers, steps, operations, components, parts, or a combination thereof described in the specification, but are not intended to indicate the presence of one or more of the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. It should be understood that this does not exclude in advance the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.

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

또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Additionally, the words “a or an,” “one,” “the,” and similar words may indicate otherwise herein in the context of describing the invention (particularly in the context of the claims below). It may be used to include both singular and plural terms, unless clearly contradicted by the context.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.Additionally, embodiments within the scope of the present invention include computer-readable media having or transmitting computer-executable instructions or data structures stored on the computer-readable media. Such computer-readable media may 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 include RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or in the form of computer-executable instructions, computer-readable instructions or data structures. It may be used to store or transmit certain program code means, and may include, but is not limited to, a physical storage medium such as any other medium that 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 over a network or other communication connection (wired, wireless, or a combination of wired and wireless), this connection may 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. Computer-executable instructions may be binary, intermediate format instructions, for example, assembly language, or even source code.

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

먼저, 본 발명의 실시예에 따른 스케치 기반 이미지 검색을 제공하는 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 스케치 기반 이미지 검색을 제공하는 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 스케치 기반 이미지 검색 시스템은 검색서버(100) 및 사용자장치(200)를 포함한다. First, a system that provides sketch-based image search according to an embodiment of the present invention will be described. 1 is a diagram for explaining a system that provides sketch-based image search according to an embodiment of the present invention. Referring to FIG. 1, the sketch-based 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 can transmit and receive data to each other through a network (NW). For example, the network (NW) may include wireless communication networks such as Wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, and High Speed Downlink Packet Access (HSDPA), Depending on how the system is implemented, it may include wired communication networks such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home).

아울러, 상기 네트워크(NW)는 예컨대, 다수의 접속망(미도시) 및 이들을 연결하는 코어망(미도시)으로 이루어진 이동통신망을 포함할 수 있다. 여기서, 접속망은 단말과 직접 접속하여 무선 통신을 수행하는 망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU를 집중화된 DU와 연결하여 구성할 수도 있다. 또한, 접속망과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망과 외부 망, 예컨대, 인터넷망과 같은 다른 통신망을 연결하는 역할을 수행한다. In addition, the network (NW) may include, for example, a mobile communication network consisting of 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 the terminal, for example, a number of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, etc., and BSC (Base Station Controller) , can be implemented with a base station controller such as RNC (Radio Network Controller). In addition, as described above, the digital signal processing unit and the wireless signal processing unit, which were integrated into the base station, were divided into a digital unit (hereinafter referred to as DU) and a radio unit (hereinafter referred to as RU), respectively, and were divided into multiple units. It can also be configured by installing a number of RUs (not shown) in each area and connecting the multiple RUs to a centralized DU. In addition, the core network (not shown) that constitutes the mobile network together with the access network is connected to the access network and the external network. It plays a role in connecting other communication networks, such as the 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 explained above, this core network is a network system that performs major functions 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 system that performs circuit switching or packet switching. Manage and control packet flow within. Additionally, the core network may manage inter-frequency mobility and play a role in interoperating with traffic within the access network and core network and with other networks, such as the Internet network. This core network will further include Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), and Home Subscriber Server (HSS). It may be possible.

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

사용자장치(200)는 사용자 컨텍스트를 기초로 밑그림을 제공하고, 사용자의 터치 입력에 따른 스케치를 생성하고, 생성된 스케치를 이미지 검색어로 검색서버(100)에 제공한다. 그러면, 검색서버(100)는 스케치 이미지에 대한 이미지 검색을 수행하여 스케치와 동일 혹은 유사한 이미지를 검색하고, 그 이미지 검색 결과 도출된 동일 혹은 유사한 이미지를 사용자장치(200)에 제공한다. The user device 200 provides a sketch based on the user context, creates a sketch according to the user's touch input, and provides the generated sketch to the search server 100 as an image search term. Then, the search server 100 performs an image search for the sketch image, searches for an image identical or similar to the sketch, and provides the same or similar image derived as a result of the image search to the user device 200.

여기서, 검색서버(100)는 네트워크 상에 존재하는 하나의 엔티티로, 애프리케이션 서버(application server)의 역할을 수행한다. 이러한 검색서버(100)는 네트워크를 통해 다른 서버, 즉, 웹 서버에 접속하여 복수의 웹 페이지로부터 이미지를 검색할 수 있다. Here, the search server 100 is an entity existing on the network and performs the role of an application server. This search server 100 can connect to another server, that is, a web server, through a network and search for images from a plurality of web pages.

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

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

통신모듈(110)은 사용자장치(200)와의 통신을 위한 것이다. 통신모듈(110)은 상기 네트워크(NW)를 통해서 사용자장치(200)가 검색서버(100)에 접속하면 사용자장치(200)와 필요한 정보를 포함하는 데이터를 교환하기 위한 통신을 수행한다. 구체적으로, 통신모듈(110)은 제어모듈(130)로부터 사용자장치(200)로 전송하기 위한 데이터를 전달받으면, 전달받은 데이터를 패킷으로 구성하여 전송한다. 또한, 통신모듈(110)은 사용자장치(200)로부터 수신되는 패킷으로부터 데이터를 추출하여, 추출된 데이터를 제어모듈(130)로 전달한다. The communication module 110 is for communication with the user device 200. The communication module 110 performs communication to exchange data including necessary information with the user device 200 when the user device 200 connects to the search server 100 through the network (NW). Specifically, when the communication module 110 receives data to be transmitted from the control module 130 to the user device 200, it configures the received data into packets and transmits them. Additionally, the communication module 110 extracts data from packets received from the user device 200 and transmits the extracted data to the control module 130.

저장모듈(120)은 검색서버(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 검색서버(100)의 전반적인 동작을 제어하는 프로그램 및 검색서버(100)를 부팅시키는 운영체제(OS, Operating System), 이미지 검색을 위한 애플리케이션을 등을 저장할 수 있다. 데이터 영역은 검색서버(100)의 운영에 따라 발생하는 데이터 및 검색서버(100)의 운영에 필요한 데이터가 저장되는 영역이다. 저장모듈(120)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The storage module 120 serves to store programs and data necessary for the operation of the search server 100, and can be divided into a program area and a data area. The program area can store programs that control the overall operation of the search server 100, an operating system (OS) that boots the search server 100, and applications for image search. The data area is an area where data generated according to the operation of the search server 100 and data necessary for the operation of the search server 100 are stored. Various types of data stored in the storage module 120 can be deleted, changed, or added according to user operations.

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

제어모듈(130)은 이미지검색모듈(300)을 포함한다. 일 실시예에 따르면, 이미지검색모듈(300)은 이미지 검색어로 스케치를 수신하면 스케치와 동일 및 유사한 이미지를 검색하고, 그 검색 결과에 따른 이미지를 통신모듈(110)을 통해 사용자장치(200)에 전송한다. 특히, 이미지검색모듈(300)은 이미지 검색어로 밑그림 및 스케치를 수신하면, 스케치와 밑그림의 차이를 분석하여 특징 이미지를 도출하고, 스케치와 동일 및 유사한 이미지를 검색한 후, 그 검색 결과에 따른 복수의 이미지를 특징 이미지와 유사도가 높은 순으로 정렬하여 통신모듈(110)을 통해 사용자장치(200)에 전송한다. 이러한 이미지검색모듈(300)을 포함하는 제어모듈(130)의 동작은 아래에서 보다 상세하게 설명될 것이다. The control module 130 includes an image search module 300. According to one embodiment, when the image search module 300 receives a sketch as an image search term, it searches for the same or similar image as the sketch, and sends the image according to the search result to the user device 200 through the communication module 110. send. In particular, when the image search module 300 receives a draft or a sketch as an image search term, it analyzes the difference between the sketch and the sketch to derive a feature image, searches for images that are the same or similar to the sketch, and then searches for images that are identical or similar to the sketch, and then retrieves multiple images according to the search results. The images are sorted in descending order of similarity to the feature image and transmitted to the user device 200 through the communication module 110. The operation of the control module 130 including the image search module 300 will be described in more detail below.

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

통신부(210)는 검색서버(100)를 비롯한 다른 장치와 통신을 위한 것으로, 다양한 통신 연결 방식을 통해 통신을 수행한다. 이러한 통신부(210)는 다양한 통신 연결 방식의 통신 기능 중 어느 하나를 선택하여 통신할 수 있다. 이러한 통신부(210)는 하나의 모듈 혹은 복수의 모듈로 구현될 수도 있다. 예컨대, 통신부(210)는 WCDMA, LTE, LTE-A 등의 표준에 따라 기지국을 통해 네트워크에 접속하는 광대역이동통신 방식, Wi-Fi(wireless fidelity)를 이용하는 WLAN(Wireless Local Area Network) 방식에 따라 접속포인트(AP: Access Point)를 통해 네트워크에 접속하여 통신을 수행하는 무선근거리통신 방식, 블루투스, 적외선통신 등의 ISM(industrial scientific and medical equipment) 대역에서 다른 기기와 직접 연결하여 통신하는 P2P 방식 등을 이용할 수 있다. 통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 등으로 구성될 수 있다. 또한, 통신부(210)는 무선 채널을 통해 데이터를 포함하는 무선 신호를 수신하여 제어부(290)로 전달할 수 있다. 또한, 제어부(290)로부터 전달 받은 데이터를 무선 신호로 변환하여 무선 채널을 통해 전송할 수 있다. The communication unit 210 is for communication with other devices, including the search server 100, and performs communication through various communication connection methods. This communication unit 210 can communicate by selecting any one of the communication functions of various communication connection methods. This communication unit 210 may be implemented as one module or multiple modules. For example, the communication unit 210 uses a broadband mobile communication method that connects to a network through a base station according to standards such as WCDMA, LTE, and LTE-A, and a wireless local area network (WLAN) method that uses Wi-Fi (wireless fidelity). A wireless short-range communication method that performs communication by connecting to a network through an access point (AP), a P2P method that directly connects and communicates with other devices in the ISM (industrial scientific and medical equipment) band such as Bluetooth and infrared communication, etc. can be used. The communication unit 210 may be composed of an RF transmitter that up-converts and amplifies the frequency of a transmitted signal, and an RF receiver that amplifies the received signal with low noise and down-converts the frequency. Additionally, the communication unit 210 may receive a wireless signal containing data through a wireless channel and transmit it to the control unit 290. Additionally, data received from the control unit 290 can be converted into a wireless signal and transmitted through a wireless channel.

위치정보수신부(220)는 사용자장치(100)의 위치 정보를 수신하기 위한 것이다. 예컨대, 위치정보수신부(220)는 지속적으로 GPS 위성(도시 되지 않음)으로부터 GPS 신호를 수신하여, 수신된 GPS 신호로부터 위치 정보를 추출한다. 그런 다음, 위치정보수신부(220)는 위치 정보를 제어부(290)로 전달할 수 있다. 이러한 위치 정보는 위도, 경도, 고도 등의 좌표가 될 수 있다. The location information receiver 220 is for receiving location information of the user device 100. For example, the location information receiver 220 continuously receives GPS signals from GPS satellites (not shown) and extracts location information from the received GPS signals. Then, the location information receiver 220 can transmit the location information to the control unit 290. This location information may be coordinates such as latitude, longitude, and altitude.

센서부(230)는 사용자장치(200)의 움직임의 변위, 속도 등을 감지하기 위한 것이다. 센서부(230)는 사용자장치(200)의 움직임의 변위를 감지하여, 감지된 움직임의 변위를 좌표 데이터를 통해 제어부(290)에 제공할 수 있다. 센서부(230)가 제공하는 좌표는 임의의 기준 위치로부터 변위를 3차원 직교좌표계(x, y, z) 혹은 위도, 경도 및 고도로 제공할 수 있다. 추가로, 센서부(230)가 제공하는 좌표는 요(yaw), 피치(pitch), 롤(roll)의 변위를 제공할 수 있다. 더욱이, 센서부(230)는 이러한 움직임의 속도를 감지하여, 그 속도를 제어부(290)에 제공할 수 있다. 센서부(230)는 하나 이상의 센서를 통해 구현될 수 있으며, 이러한 센서는 가속도 센서(accelerometer), 자이로 센서(gyroscope), 지자기 센서(magnetometer) 등이 될 수 있다. The sensor unit 230 is used to detect displacement and speed of movement of the user device 200. The sensor unit 230 may detect the displacement of the movement of the user device 200 and provide the detected displacement of the movement to the control unit 290 through coordinate data. Coordinates provided by the sensor unit 230 may provide displacement from an arbitrary reference position in a three-dimensional rectangular coordinate system (x, y, z) or latitude, longitude, and altitude. Additionally, the coordinates provided by the sensor unit 230 may provide displacements of yaw, pitch, and roll. Moreover, the sensor unit 230 can detect the speed of this movement and provide the speed to the control unit 290. The sensor unit 230 may be implemented using one or more sensors, and these sensors may be an accelerometer, a gyroscope, or a magnetometer.

카메라부(240)는 영상을 촬영하기 위한 것이다. 이러한 카메라부(240)는 렌즈, 액추에이터, 필터, 이미지센서 및 이미지 프로세서(ISP, Image Signal Processor)로 구성될 수 있다. 이미지센서는 CCD(Charged Coupled Device) 나 CMOS(Complementary Metal-Oxide Semiconductor)로 구성될 수 있으며, 피사체에서 반사되는 빛을 렌즈를 통해 입력 받아 전기신호로 변환한다. 이미지 프로세서(ISP, Image Signal Processor)는 이미지센서에서 출력되는 전기신호를 디지털 수열로 변환하여 영상데이터로서 출력한다. 또한, 카메라부(240)는 자동초점(AF, Auto Focus) 및/또는 떨림 보정(OIS, Optical Image Stabilization) 드라이버 등을 통해 액추에이터를 제어하여 자동초점(AF) 및/또는 떨림 보정(OIS)을 수행할 수 있다. The camera unit 240 is used to capture images. This camera unit 240 may be composed of a lens, an actuator, a filter, an image sensor, and an image processor (ISP, Image Signal Processor). The image sensor can be composed of a CCD (Charged Coupled Device) or CMOS (Complementary Metal-Oxide Semiconductor), and receives light reflected from the subject through a lens and converts it into an electrical signal. The image processor (ISP, Image Signal Processor) converts the electrical signal output from the image sensor into a digital sequence and outputs it as image data. In addition, the camera unit 240 controls the actuator through an auto focus (AF) and/or optical image stabilization (OIS) driver to perform auto focus (AF) and/or optical image stabilization (OIS). It can be done.

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

표시부(260)는 사용자장치(200)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(260)는 사용자장치(200)의 부팅 화면, 대기 화면, 메뉴 화면 등의 각종 화면을 출력하는 기능을 수행한다. 이러한 표시부(260)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. The display unit 260 visually provides menus, input data, function setting information, and various other information of the user device 200 to the user. The display unit 260 performs the function of outputting various screens, such as a boot screen, standby screen, and menu screen, of the user device 200. The display unit 260 may be formed of a liquid crystal display (LCD), an organic light emitting diode (OLED), an active matrix organic light emitting diode (AMOLED), or the like.

한편, 표시부(260)는 사용자장치(200)의 시각적 정보 출력을 위한 구성으로서, 다양한 디스플레이 장치로 구현될 수 있다. 더 구체적으로, 본 발명의 일 실시예에서 상기 표시부(260)는 터치스크린으로 구현된다. 이러한 경우, 표시부(260)는 터치센서를 포함하며, 제어부(290)는 터치센서를 통해 사용자의 터치 입력을 감지할 수 있다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(290)로 전송한다. 이러한 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함될 수 있다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(290)로 전송할 수 있다. Meanwhile, the display unit 260 is a component for outputting visual information of the user device 200 and can be implemented with various display devices. More specifically, in one embodiment of the present invention, the display unit 260 is implemented as a touch screen. In this case, the display unit 260 includes a touch sensor, and the control unit 290 can detect the user's touch input through the touch sensor. The touch sensor may be composed of a touch sensor such as capacitive overlay, pressure type, resistive overlay, or infrared beam, or may be composed of a pressure sensor. . In addition to the above sensors, all types of sensor devices that can detect contact or pressure of an object can be used as the touch sensor of the present invention. The touch sensor detects the user's touch input, generates a detection signal, and transmits it to the control unit 290. These detection signals may include coordinate data where the user inputs a touch. When a user inputs a touch position movement operation, the touch sensor may generate a detection signal including coordinate data of the touch position movement path and transmit it to the control unit 290.

본 발명의 실시예에 따른 표시부(260)는 터치스크린을 통해 스케치를 통한 검색어 이미지 입력을 수신하기 위한 이미지 검색어 입력 화면을 표시할 수 있다. 또한, 표시부(260)는 이미지 검색어 입력 화면에 스케치 입력을 가이드하기 위한 밑그림을 표시할 수 있다. 표시부(260)는 터치 입력이 이루어지면, 이미지 검색어 입력 화면 상에서 사용자의 터치 입력을 감지하여 그 터치 입력의 좌표, 터치 위치 이동 경로의 좌표 데이터 등을 제어부(290)에 제공한다. The display unit 260 according to an embodiment of the present invention may display an image search word input screen for receiving a search word image input through a sketch through a touch screen. Additionally, the display unit 260 may display a sketch to guide sketch input on the image search word input screen. When a touch input is made, the display unit 260 detects the user's touch input on the image search word input screen and provides the coordinates of the touch input, coordinate data of the touch location movement path, etc. to the control unit 290.

오디오부(270)는 오디오 신호를 입력 받고, 출력하기 위한 것이다. 이러한 오디오부(270)는 마이크(MIK) 및 스피커(SPK)를 포함한다. 즉, 오디오부(270)는 마이크(MIK)를 통해 음악, 음성 등의 오디오 신호를 입력 받고, 스피커(SPK)를 통해 음악, 음성 등의 오디오 신호 등을 출력할 수 있다. The audio unit 270 is for receiving and outputting audio signals. This audio unit 270 includes a microphone (MIK) and a speaker (SPK). That is, the audio unit 270 can receive audio signals such as music and voice through a microphone (MIK), and output audio signals such as music and voice through a speaker (SPK).

저장부(280)는 사용자장치(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 사용자장치(200)의 전반적인 동작을 제어하는 프로그램 및 사용자장치(200)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 사용자장치(200)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 또한, 저장부(280)는 사용자장치(200)의 동작에 따라 발생되는 각 종 데이터, 예컨대, 컨텍스트, 행동 로그, 밑그림 등을 저장할 수 있다. The storage unit 280 serves to store programs and data necessary for the operation of the user device 200, and can be divided into a program area and a data area. The program area can store programs that control the overall operation of the user device 200, an operating system (OS) that boots the user device 200, and application programs. The data area is an area where data generated according to the use of the user device 200 is stored. Additionally, the storage unit 280 may store various types of data generated according to the operation of the user device 200, such as context, action logs, sketches, etc.

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

제어부(290)는 시계모듈(291)을 포함한다. 이러한 시계모듈(291)은 수정발진기(crystal oscillator)를 포함하며, 표준 시간을 기초로 현재 위치에서 시간을 산출한다. The control unit 290 includes a clock module 291. This clock module 291 includes a crystal oscillator and calculates the time at the current location based on standard time.

제어부(290)는 사용자가 스케치 기반 이미지 검색을 행하고자 할 때, 사용자가 용이하게 스케치 입력을 할 수 있도록 사용자 컨텍스트를 분석하여 표시부(260)를 통해 사용자에게 적합한 밑그림을 제공한다. 이를 위하여, 제어부(290)는 밑그림제공모듈(400) 및 스케치검색모듈(500)을 더 포함한다. When a user wants to perform a sketch-based image search, the control unit 290 analyzes the user context and provides a suitable sketch to the user through the display unit 260 so that the user can easily input a sketch. For this purpose, the control unit 290 further includes a sketch providing module 400 and a sketch search module 500.

밑그림제공모듈(400)은 과거의 이미지 검색 사례로부터 사용자 컨텍스트를 분석하여 이미지 검색 결과의 카테고리와 사용자 컨텍스트와의 상관관계를 정의하는 상관관계식을 도출한다. 그리고 밑그림제공모듈(400)은 사용자의 밑그림 요청이 있을 때, 사용자 컨텍스트를 추출하고, 추출된 사용자 컨텍스트를 상관관계식에 입력하여 그 상관관계식의 해로서 현재 사용자가 원하는 카테고리를 예측한다. The sketch providing module 400 analyzes user context from past image search cases and derives a correlation equation that defines the correlation between the category of the image search result and the user context. And when a user requests a sketch, the sketch providing module 400 extracts the user context, inputs the extracted user context into a correlation equation, and predicts the current user's desired category as a solution to the correlation equation.

스케치검색모듈(500)은 밑그림제공모듈(400)이 사용자에 의해 복수의 밑그림 중 어느 하나가 선택되면, 화면의 스케치 영역에 밑그림을 표시하고, 밑그림이 표시된 스케치 영역 상의 터치 입력을 감지하여 스케치를 생성하고, 생성된 스케치와 표시된 밑그림을 통신부(210)를 통해 검색서버(100)로 전송한다. When one of a plurality of drafts is selected by the user, the sketch search module 500 displays the draft in the sketch area of the screen and detects a touch input on the sketch area where the draft is displayed to create a sketch. It is created, and the generated sketch and displayed sketch are transmitted to the search server 100 through the communication unit 210.

또한, 도시되진 않았으나, 본 발명의 실시예에 따른 사용자장치(200)는 메모리 카드와 같은 외부 저장 매체를 삽입하여 데이터 저장을 가능토록 하는 저장매체 삽입부, 외부 디지털 기기와의 데이터 교환을 위한 연결 단자, 전원 공급 혹은 충전을 위한 단자 등을 구비할 수 있다. 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 사용자장치(200)에 추가로 더 포함되어 구성될 수 있다는 것은 본 기술분야의 통상의 지식을 가진 자라면 쉽게 이해할 수 있을 것이다. In addition, although not shown, the user device 200 according to an embodiment of the present invention includes a storage medium insertion unit that allows data storage by inserting an external storage medium such as a memory card, and a connection for data exchange with an external digital device. It may be provided with a terminal, a terminal for power supply or charging, etc. According to the convergence trend of digital devices, there are so many variations of portable devices that it is impossible to list them all, but units equivalent to the above-mentioned units are additionally included in the user device 200 according to the present invention. Anyone with ordinary knowledge in the technical field will be able to easily understand that it can be configured.

그러면, 본 발명의 실시예에 따른 스케치 기반의 이미지 검색을 위한 밑그림 제공 방법에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 스케치 기반의 이미지 검색을 위한 밑그림 제공 방법에 대해서 설명하기 위한 흐름도이다. Next, a method for providing a sketch for sketch-based image search according to an embodiment of the present invention will be described. Figure 4 is a flowchart explaining a method of providing a sketch for sketch-based image search according to an embodiment of the present invention.

도 4의 설명에 앞서, 본 발명의 실시예에 따른 용어 '사용자 컨텍스트', '유효 이미지' 및 '카테고리'에 대해서 설명하기로 한다. Before explaining FIG. 4, the terms 'user context', 'effective image', and 'category' according to an embodiment of the present invention will be explained.

컨텍스트는 사용자장치(200), 즉, 통신부(210), 위치정보수신부(220), 센서부(230), 카메라부(240), 입력부(250), 표시부(260), 오디오부(270) 및 저장부(280), 제어부(290)의 사용에 따라 발생하는 정보를 의미한다. 이러한 컨텍스트는 통신부(210), 위치정보수신부(220), 센서부(230), 카메라부(240), 입력부(250), 표시부(260), 오디오부(270), 저장부(280) 및 제어부(290) 자체로부터 얻을 수 있는 기본 컨텍스트(preliminary context)와 2 이상의 기본 컨텍스트의 조합으로 얻을 수 있는 합성 컨텍스트(Integrated context)를 포함한다. The context is the user device 200, that is, the communication unit 210, the location information receiver 220, the sensor unit 230, the camera unit 240, the input unit 250, the display unit 260, the audio unit 270, and This refers to information generated according to the use of the storage unit 280 and the control unit 290. This context includes a communication unit 210, a location information receiver 220, a sensor unit 230, a camera unit 240, an input unit 250, a display unit 260, an audio unit 270, a storage unit 280, and a control unit. (290) Includes a preliminary context that can be obtained from itself and a composite context (Integrated context) that can be obtained by combining two or more basic contexts.

예를 들면, 기본 컨텍스트는 다음과 같다. 통신부(210)를 통해 얻을 수 있는 통화 기록, 데이터 송수신 기록 등이 컨텍스트가 될 수 있다. 위치정보수신부(220)를 통해 얻을 수 있는 위치 정보, 센서부(230)를 통해 얻을 수 있는 센서 정보, 입력부(250) 혹은 표시부(260)를 통해 얻을 수 있는 입력 신호, 터치 입력 신호, 오디오부(270)의 스피커(SPK)를 통해 얻을 수 있는 출력 오디오 신호, 마이크(MIC)를 통해 얻을 수 있는 입력 오디오 신호, 저장부(280)를 통해 얻어지는 저장 데이터, 제어부(290)에서 실행되는 애플리케이션 실행 기록 등이 기본 컨텍스트가 될 수 있다. For example, the default context is: Call records, data transmission and reception records, etc. that can be obtained through the communication unit 210 may serve as context. Location information obtainable through the location information receiver 220, sensor information obtainable through the sensor unit 230, input signal obtainable through the input unit 250 or display unit 260, touch input signal, and audio unit. Output audio signal that can be obtained through the speaker (SPK) of 270, input audio signal that can be obtained through the microphone (MIC), stored data obtained through the storage unit 280, and execution of the application executed in the control unit 290. Records, etc. can be the default context.

예를 들면, 합성 컨텍스트는 다음과 같다. 제어부(290)의 수정발진기(crystal oscillator)를 포함하는 시계를 통해 얻어진 시간, 위치정보수신부(220)를 통해 얻어진 위치 정보(좌표), 및 저장부(280)에 저장된 전자지도를 조합하여 집, 직장, 학교, 도서관, 카페, 식당, 체육관, 지하철역, 공항 등 단순한 좌표인 위치 정보가 아닌 사용자가 위치하고 있는 장소를 나타내는 장소 정보를 합성 컨텍스트로 얻을 수 있다. For example, the composition context is as follows: The time obtained through a clock including a crystal oscillator of the control unit 290, the location information (coordinates) obtained through the location information receiver 220, and the electronic map stored in the storage unit 280 are combined to collect, Instead of location information that is simply coordinates, such as workplace, school, library, cafe, restaurant, gym, subway station, or airport, location information indicating the location where the user is located can be obtained as a synthetic context.

다른 예로, 제어부(290)의 수정발진기(crystal oscillator)를 포함하는 시계를 통해 얻어진 시간, 위치정보수신부(220)를 통해 얻어진 위치 정보(좌표), 저장부(280)에 저장된 전자지도 및 센서부(230)를 통해 얻어진 속도, 가속도, 고도, 등의 센서 정보, 오디오부(270)를 통해 얻을 수 있는 입출력 오디오 신호, 통신부(210)를 통해 얻을 수 있는 통화 혹은 통신 기록, 제어부(290)를 통해 얻을 수 있는 앱 실행 기록 등을 조합하여 기상, 취침, 출근, 퇴근, 공부, 운동, 식사, 쇼핑, 여행, 공부, 게임, 음악감상 등 사용자가 현재 하고 있는 행위를 나타내는 행동 정보를 합성 컨텍스트로 얻을 수 있다. As another example, time obtained through a clock including a crystal oscillator of the control unit 290, location information (coordinates) obtained through the location information receiver 220, electronic map and sensor unit stored in the storage unit 280 Sensor information such as speed, acceleration, and altitude obtained through (230), input/output audio signals obtained through the audio unit 270, call or communication records obtained through the communication unit 210, and control unit 290. By combining the app execution records obtained through the application, behavioral information representing the user's current actions such as waking up, going to bed, going to work, leaving work, studying, exercising, eating, shopping, traveling, studying, playing games, listening to music, etc., is synthesized into a context. You can get it.

본 발명의 실시예에 따른 사용자 컨텍스트는 2 이상의 기본 컨텍스트를 조합하여 얻을 수 있는 합성 컨텍스트를 의미한다. 이러한 사용자 컨텍스트는 복수의 기본 컨텍스트를 조합하여 사용자의 행동 패턴을 분석하기 위한 것이다. 이러한 사용자 컨텍스트의 값은 확률로 표현된다. User context according to an embodiment of the present invention refers to a composite context that can be obtained by combining two or more basic contexts. This user context is used to analyze user behavior patterns by combining multiple basic contexts. The values of these user contexts are expressed as probabilities.

예컨대, 통상적인 회사원들의 경우, 아침에 일어나서 출근 시간 이전까지 주거지에서 근무지로 이동하며, 근무지에 도착하면 근무지의 보안된 wifi에 대한 연결이 자동으로 이루어진다. 그리고 회사원들은 퇴근 전까지 근무지 주변을 크게 벗어나지 않다가, 퇴근시간이 되면 근무지에서 주거지로 이동하고, 주거지에 도착하면, 주거지의 보안된 wifi에 대한 연결이 자동으로 이루어진다. 그리고 밤 시간 동안 취침하기 때문에 사용자장치(200)의 위치 및 속도의 변화는 없다. For example, in the case of typical office workers, they wake up in the morning and move from their residence to their workplace before commuting time. When they arrive at their workplace, they are automatically connected to the secure WiFi at their workplace. And office workers do not leave the work area much before leaving work, but when it is time to leave work, they move from their work place to their residence. When they arrive at their residence, they are automatically connected to their residence's secure WiFi. And since the user sleeps during the night, there is no change in the position and speed of the user device 200.

위치정보수신부(220)의 위치 정보, 제어부(290)의 시간 정보, 센서부(230)의 속도 정보, 통신부(210)의 와이파이(WiFi) 연결 정보 등으로부터 사용자의 주거지 및 근무지가 추정될 수 있다. 또한, 주거지 및 근무지를 이동하는 시간대를 특정하여 출퇴근 시간이 추정될 수 있다. 그리고 주거지 및 근무지를 이동할 때, 전자 지하철 노선도, 전자 버스 노선도 등과 속도 정보 및 위치 정보를 이용하여 출퇴근시 이동 수단이 추정될 수 있다. 예컨대, 사용자 컨텍스트가 출근 시간이라고 할 때, 이러한 출근 시간은 사용자 별로 모두 다르기 때문에 소정 기간 동안의 복수의 기본 컨텍스트로부터 추정되는 값이다. 따라서 이러한 사용자 컨텍스트는 확률로 표현된다. 예컨대, 현재 출근 시간일 확률이 91%라면, 해당 사용자 컨텍스트는 0.910으로 표현될 수 있다. The user's residence and workplace can be estimated from the location information of the location information receiver 220, the time information of the control unit 290, the speed information of the sensor unit 230, and the WiFi connection information of the communication unit 210. . Additionally, commuting time can be estimated by specifying the time zone between residence and work location. Also, when moving between residence and work place, the means of transportation for commuting to and from work can be estimated using speed information and location information such as electronic subway map, electronic bus route map, etc. For example, when the user context is the commuting time, the commuting time is different for each user and is therefore a value estimated from a plurality of basic contexts over a predetermined period of time. Therefore, these user contexts are expressed as probabilities. For example, if the probability that it is the current commute time is 91%, the corresponding user context can be expressed as 0.910.

이미지 검색은 이미지를 검색어로 검색이 이루어지며, 검색어인 이미지와 동일 혹은 유사한 복수의 이미지가 제공된다. 이때, 유효 이미지는 이미지 검색 결과로 제공된 복수의 이미지 중 사용자가 선택한 이미지를 의미한다. Image search is performed by searching an image using a search term, and multiple images that are the same or similar to the image being the search term are provided. At this time, the valid image refers to the image selected by the user among a plurality of images provided as an image search result.

카테고리(검색 카테고리)는 유효 이미지가 속한 분야를 의미하며, 이미지 검색 결과는 카테고리 별로 구분하여 제공될 수 있으며, 유효 이미지 또한 어느 하나의 카테고리에 속한다. 가령, 텍스트 검색어로 '키보드'를 입력한 경우, 사용자의 의도 혹은 관심이 퍼스널컴퓨터의 주변 기기인 키보드이거나, 악기인 키보드일 수 있다. 즉, 키보드는 카테고리 '컴퓨터 주변기기'에 속하거나, 카테고리 '악기'에 속하는 것일 수 있다. 카테고리는 시간이 흐름에 따라 지속적으로 추가되거나, 변경될 수 있다. 가령, '원피스'를 검색어로 검색을 수행한 경우, 통상, '원피스'는 카테고리 '여성의류'에 속할 수 있다. 하지만, 만화 '원피스'의 인기에 의해 검색어 '원피스'로 이미지 검색을 수행하는 경우, 검색 결과 우선순위의 상위에는 만화 '원피스'와 관련된 이미지들이 배치될 수 있다. 이와 같이, 동일한 검색어인 경우에도 그 카테고리에 따라 전혀 다른 것이 검색된다. 따라서 사용자가 유효 이미지를 선택하면, 해당 유효 이미지의 카테고리를 도출할 수 있다. The category (search category) refers to the field to which the valid image belongs. Image search results can be provided separately by category, and the valid image also belongs to one category. For example, when 'keyboard' is entered as a text search term, the user's intention or interest may be the keyboard, which is a peripheral device of a personal computer, or the keyboard, which is a musical instrument. In other words, the keyboard may belong to the category 'computer peripherals' or the category 'musical instruments'. Categories may be continuously added or changed over time. For example, when a search is performed using 'one piece' as a search term, 'one piece' may usually belong to the category 'women's clothing'. However, due to the popularity of the cartoon 'One Piece', when an image search is performed using the search term 'One Piece', images related to the cartoon 'One Piece' may be placed at the top of the search result priority. In this way, even for the same search term, completely different things are searched depending on the category. Therefore, when the user selects a valid image, the category of the valid image can be derived.

따라서 사용자장치(200)는 사용자에 따라 어떤 카테고리의 검색을 원하는지 예측하기 위하여 이미지 검색이 이루어질 때마다, S110 단계에서 상관관계식을 생성하기 위한 데이터로, 기본 및 합성 사용자 컨텍스트를 포함하는 사용자 컨텍스트 및 이미지 검색 결과에 따른 복수의 유효 이미지를 수집하고, 수집된 복수의 유효 이미지로부터 카테고리를 도출할 수 있다. 이러한 S110 단계는 이미지 검색이 이루어질 때마다 반복해서 지속적으로 수행된다는 점에 유의하여야 한다. Therefore, whenever an image search is performed to predict which category the user wants to search for, the user device 200 uses data to generate a correlation equation in step S110, including user context and image, including basic and synthetic user context. A plurality of valid images according to search results can be collected, and categories can be derived from the collected plurality of valid images. It should be noted that this step S110 is continuously performed repeatedly each time an image search is performed.

S110 단계에서 충분히 많은 수의 데이터가 누적되면, 사용자장치(200)는 S120 단계에서 사용자 컨텍스트와 카테고리와의 상관관계를 정의하는 상관관계식을 생성한다. 이러한 상관관계식은 선형회기분석을 통해 생성된다. When a sufficiently large number of data is accumulated in step S110, the user device 200 generates a correlation equation defining the correlation between the user context and the category in step S120. This correlation equation is created through linear regression analysis.

다음으로, 사용자장치(200)는 S130 단계에서 앞서 S110 단계에서 수집된 카테고리 별 복수의 유효 이미지로부터 복수의 밑그림을 생성하고, 각 카테고리에 매핑하여 저장한다. Next, in step S130, the user device 200 generates a plurality of sketches from a plurality of valid images for each category collected in step S110, maps them to each category, and stores them.

전술한 바와 같이, 상관관계식을 생성하고, 각 카테고리 별로 복수의 밑그림을 생성한 후, 밑그림을 제공하여 스케치 기반 이미지 검색을 수행하는 방법에 대해서 설명하기로 한다. 도 5는 본 발명의 실시예에 따른 밑그림을 제공하여 스케치 기반 이미지 검색을 수행하는 방법을 설명하기 위한 흐름도이다. As described above, we will explain how to perform sketch-based image search by creating a correlation equation, generating a plurality of sketches for each category, and then providing the sketches. Figure 5 is a flowchart illustrating a method of performing sketch-based image search by providing a sketch according to an embodiment of the present invention.

도 5를 참조하면, 사용자는 사용자장치(200)의 조작을 통해 스케치 기반 이미지 검색을 위한 밑그림을 요청할 수 있다. 이와 같이, 사용자장치(200)가 밑그림을 요청 받으면, S210 단계에서 사용자 컨텍스트를 추출하여 앞서 생성한 상관관계식에 입력하여 카테고리를 도출하고, 도출된 카테고리에 매핑된 복수의 밑그림을 우선순위에 따라 화면에 섬네일(thumb-nail) 형식으로 표시한다. 이때, 사용자가 표시된 복수의 밑그림 중 어느 하나를 선택하면 사용자는 선택된 밑그림을 확대하여 표시한다. Referring to FIG. 5, the user may request a sketch for sketch-based image search through manipulation of the user device 200. In this way, when the user device 200 receives a request for a sketch, the user context is extracted in step S210 and entered into the previously created correlation equation to derive a category, and a plurality of sketches mapped to the derived categories are displayed on the screen in order of priority. Displayed in thumbnail format. At this time, when the user selects one of the plurality of displayed sketches, the user enlarges the selected sketch and displays it.

사용자는 선택된 밑그림을 참조하여 밑그림 상에 터치 입력을 할 수 있다. 그러면, 사용자장치(200)는 S220 단계에서 밑그림과 터치 입력을 동시에 표시하면서 터치 입력의 자취를 스케치로 생성한다. 스케치가 완성되면, 사용자장치(200)는 S230 단계에서 선택된 밑그림과 스케치를 검색서버(100)로 전송한다. The user can refer to the selected draft and make a touch input on the draft. Then, the user device 200 simultaneously displays the sketch and the touch input in step S220 and generates a trace of the touch input as a sketch. When the sketch is completed, the user device 200 transmits the selected draft and sketch to the search server 100 in step S230.

밑그림 및 스케치를 수신한 검색서버(100)는 S240 단계에서 스케치를 이미지 검색어로 이미지 검색을 수행하되, 밑그림과 스케치의 차이를 분석하여 이미지 검색을 수행한다. 그리고 검색서버(100)는 S250 단계에서 이미지 검색이 완료되면, 복수의 이미지를 포함하는 검색 결과를 사용자장치(200)로 제공한다. 그러면, 사용자장치(200)는 S260 단계에서 수신된 복수의 이미지를 포함하는 검색 결과를 표시한다. The search server 100, which has received the draft and sketch, performs an image search using the sketch as an image search term in step S240, and performs the image search by analyzing the differences between the draft and the sketch. And when the image search is completed in step S250, the search server 100 provides search results including a plurality of images to the user device 200. Then, the user device 200 displays a search result including a plurality of images received in step S260.

이상, 본 발명의 실시예를 간략하게 설명하였다. 그러면, 전술한 각 단계에서 대해서 보다 상세하게 설명하기로 한다. Above, embodiments of the present invention have been briefly described. Then, each of the above-described steps will be described in more detail.

먼저, S110 단계의 데이터 수집 방법에 대해서 보다 상세하게 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 데이터 수집 방법을 설명하기 위한 흐름도이다. 도 7은 본 발명의 실시예에 따른 데이터 수집 방법을 설명하기 위한 도면이다. First, the data collection method in step S110 will be described in more detail. Figure 6 is a flowchart for explaining a data collection method according to an embodiment of the present invention. Figure 7 is a diagram for explaining a data collection method according to an embodiment of the present invention.

사용자는 사용자장치(200)를 조작하여 이미지 검색을 수행할 수 있다. 이러한 이미지 검색 때마다, 사용자장치(200)의 제어부(290)의 밑그림제공모듈(400)은 S310 단계에서 이미지 검색 이벤트를 감지하고, S320 단계에서 이미지 검색 시점(Ts)을 기준으로 소정 기간 이전(Tb)부터 이미지 검색 시점(Ts)까지의 기간(T1) 동안의 복수의 사용자 컨텍스트를 수집한다. 이를 통해 검색 이전 소정 기간(T1)의 컨텍스트를 수집하여 이미지 검색이 이루어지기 전, 어떤 환경이 조성되었으며, 이러한 환경에서 이미지 검색이 이루어지는지를 추정할 수 있다. 가령, 어느 사용자는 점심시간 직장 근처 카페에서 이미지 검색하는 행동 패턴이 있을 수 있다. 또한, 어느 사용자는 인터넷쇼핑 앱을 이용하는 중에 이미지 검색을 하는 행동 패턴을 가질 수 있다. 이러한 이유로 밑그림제공모듈(400)은 검색 이전 소정 기간(T1)의 컨텍스트를 수집한다. The user can perform an image search by manipulating the user device 200. Each time such an image search is performed, the sketch providing module 400 of the control unit 290 of the user device 200 detects an image search event in step S310, and before a predetermined period of time based on the image search time point (Ts) in step S320 ( A plurality of user contexts are collected during the period (T1) from Tb) to the image search time (Ts). Through this, by collecting the context of a predetermined period (T1) before the search, it is possible to estimate what environment was created before the image search was performed and whether the image search was performed in this environment. For example, a user may have a behavior pattern of searching for images at a cafe near his or her workplace during lunch hours. Additionally, a user may have a behavior pattern of performing an image search while using an internet shopping app. For this reason, the sketch providing module 400 collects the context of a predetermined period (T1) before the search.

다음으로, 밑그림제공모듈(400)은 S320 단계에서 이미지 검색 시점(Ts) 이후 소정 시점(Tp) 이후인 소정 기간(T2) 동안 적어도 하나의 유효 이미지를 검출하여 저장부(280)에 저장한다. 검색이 이루어지면, 복수의 이미지를 검색 결과를 제공하며, 이러한 검색 결과에 속하는 복수의 이미지 중 사용자가 클릭하여 확인하거나, 다운로드 받는 등의 후속 동작을 수행하는 경우, 밑그림제공모듈(400)은 이러한 이미지를 유효 이미지로 검출하여 저장할 수 있다. Next, the sketch providing module 400 detects at least one valid image during a predetermined period (T2) after a predetermined time (Tp) after the image search time (Ts) in step S320 and stores it in the storage unit 280. When a search is performed, a plurality of images are provided as search results, and when the user performs a follow-up operation such as clicking to check or downloading among the plurality of images belonging to the search results, the sketch providing module 400 provides these images. The image can be detected and saved as a valid image.

그런 다음, 밑그림제공모듈(400)은 S330 단계에서 검출된 유효 이미지의 카테고리를 결정하고, 수집된 사용자 컨텍스트, 검출된 유효 이미지와 매핑하여 저장부(280)에 저장한다. Then, the sketch providing module 400 determines the category of the valid image detected in step S330, maps it to the collected user context and the detected valid image, and stores it in the storage unit 280.

다음으로, 전술한 바와 같이, 데이터 수집이 완료된 후, S120 단계의 상관관계식을 생성하는 방법에 대해서 보다 상세하게 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 상관관계식을 생성하는 방법을 설명하기 위한 흐름도이다. Next, as described above, after data collection is completed, the method for generating the correlation equation in step S120 will be described in more detail. Figure 8 is a flowchart illustrating a method for generating a correlation equation according to an embodiment of the present invention.

도 8을 참조하면, 밑그림제공모듈(400)은 S410 단계에서 복수의 사용자 컨텍스트 중 이미지 검색 이벤트와의 상관도가 소정 수치 이상인 복수의 사용자 컨텍스트를 선택한다. 예컨대, 밑그림제공모듈(400)은 다음의 수학식 1과 같이 복수의 사용자 컨텍스트 각각에 대해 이미지 검색 이벤트와의 상관도를 나타내는 상관계수(v)를 구하고, 상관계수가 소정 수치 이상인 복수의 사용자 컨텍스트를 후보 사용자 컨텍스트로 선택할 수 있다. Referring to FIG. 8, the sketch providing module 400 selects a plurality of user contexts whose correlation with the image search event is a predetermined value or more from among the plurality of user contexts in step S410. For example, the sketch providing module 400 calculates the correlation coefficient (v) indicating the degree of correlation with the image search event for each of the plurality of user contexts as shown in Equation 1 below, and determines the correlation coefficient (v) of the plurality of user contexts whose correlation coefficient is more than a predetermined value. can be selected as a candidate user context.

여기서, R은 단위 기간 당 이미지 검색 빈도이고, X는 수집된 사용자 컨텍스트 값을 나타낸다. 또한, cov(R, X)는 R과 X의 공분산이며, Sr은 단위 기간 당 이미지 검색 빈도의 표준편차이며, Sx은 수집된 사용자 컨텍스트 값의 평균을 나타낸다. 이와 같이, 본 발명의 실시예에 따르면, 이미지 검색 이벤트가 발생할 때마다, 사용자 컨텍스트 값이 유의미하게 선형적으로 변화하는 사용자 컨텍스트를 선별한다. Here, R is the image search frequency per unit period, and X represents the collected user context value. Additionally, cov(R, X) is the covariance of R and As such, according to an embodiment of the present invention, whenever an image search event occurs, a user context in which the user context value changes significantly and linearly is selected.

다음으로, 밑그림제공모듈(400)은 S420 단계에서 선별된 복수의 사용자 컨텍스트 중 상호간에 상관도가 소정 수치 이상인 복수의 사용자 컨텍스트를 도출하고, 도출된 복수의 사용자 컨텍스트 중 이미지 검색 이벤트와의 상관도가 가장 높은 하나의 사용자 컨텍스트를 선택한다. 즉, 상호간에 상관도가 소정 수치 이상인 복수의 사용자 컨텍스트 중 이미지 검색 이벤트와의 상관도가 가장 높은 하나의 사용자 컨텍스트를 선택한다. Next, the sketch providing module 400 derives a plurality of user contexts whose correlation with each other is more than a predetermined value among the plurality of user contexts selected in step S420, and the correlation with the image search event among the derived plurality of user contexts Select the single user context with the highest value. That is, one user context with the highest correlation with the image search event is selected among a plurality of user contexts whose correlations are above a predetermined value.

예컨대, 밑그림제공모듈(400)은 다음의 수학식 2와 같이 복수의 사용자 컨텍스트 상호간에 상관도를 나타내는 상관계수(v)를 구할 수 있다. For example, the sketch providing module 400 can obtain a correlation coefficient (v) indicating the degree of correlation between a plurality of user contexts as shown in Equation 2 below.

여기서, i 및 j는 사용자 컨텍스트의 인덱스이고, X는 수집된 사용자 컨텍스트를 나타내며, cov(Xi, Xj)는 사용자 컨텍스트 i와 사용자 컨텍스트 j 의 공분산이며, S는 수집된 사용자 컨텍스트 값의 평균을 나타낸다. where i and j are the indices of the user context, .

그리고 밑그림제공모듈(400)은 상호간의 상관계수가 소정 수치 이상인 복수의 사용자 컨텍스트 중 앞서 이미지 이벤트와의 상관계수가 가장 높은 사용자 컨텍스트를 선택할 수 있다. Additionally, the sketch providing module 400 may select the user context with the highest correlation coefficient with the previous image event among a plurality of user contexts whose mutual correlation coefficients are greater than a predetermined value.

예컨대, 제1 사용자 컨텍스트가 출근 및 퇴근 시간이고, 제2 사용자 컨텍스트가 이동수단인 지하철이라고 가정한다. 또한, 제1 사용자는 출퇴근 시간에 지하철을 타며, 출 퇴근 시간에만 이미지 검색을 수행하는 행동 패턴을 가진다고 가정한다. 그리고 제2 사용자는 출퇴근 시간에 지하철을 타며, 출퇴근 시간에도 이미지 검색을 수행하지만, 출퇴근 시간 이외에 언제라도 지하철에 탑승하면 항상 이미지 검색을 수행한다고 가정한다. For example, assume that the first user context is the commuting and leaving time, and the second user context is the subway, which is a means of transportation. Additionally, it is assumed that the first user takes the subway during rush hour and has a behavior pattern of performing image search only during rush hour. Additionally, it is assumed that the second user rides the subway during rush hour and performs image search even during rush hour, but always performs image search when he or she boards the subway at any time other than rush hour.

제1 사용자의 제1 및 제2 사용자 컨텍스트 각각은 이미지 검색과 상관도가 높다. 제1 사용자는 출퇴근 시간에 지하철을 타기 때문에 제1 및 제2 사용자 컨텍스트 양자 간에 상관도 또한 높다. 그리고 제1 및 제2 사용자 컨텍스트 중 출근 및 퇴근 시간이 이동수단인 지하철에 비해 사용자장치(200)의 속도에 비해 이미지 검색과의 상관도가 더 높기 때문에 최종적으로 제1 사용자 컨텍스트가 선택될 것이다. 제2 사용자의 제1 및 제2 사용자 컨텍스트 각각은 이미지 검색과 상관도가 높다. 하지만, 제2 사용자는 출퇴근 시간뿐만 아니라 출퇴근 시간 이외에 언제라도 지하철에 탑승하면 항상 이미지 검색을 수행하기 때문에 제1 및 제2 사용자 컨텍스트 양자 간에 상관도는 낮다. 따라서 이러한 경우, 제1 및 제2 사용자 컨텍스트 양자 모두 독립적으로 선택될 것이다. Each of the first user's first and second user contexts is highly correlated with image search. Since the first user takes the subway during rush hour, the correlation between both the first and second user contexts is also high. And among the first and second user contexts, the first user context will be ultimately selected because the commute and return times have a higher correlation with the image search compared to the speed of the user device 200 compared to the subway, which is a means of transportation. Each of the first and second user contexts of the second user is highly correlated with the image search. However, the correlation between the first and second user contexts is low because the second user always performs an image search when boarding the subway not only during rush hour but also at any time outside of rush hour. Therefore in this case both the first and second user contexts will be selected independently.

전술한 바와 같이, 사용자 컨텍스트가 선택되면, 밑그림제공모듈(400)은 S430 단계에서 선택된 사용자 컨텍스트와 카테고리에 대한 선형회기분석을 통해 상관관계식을 생성한다. As described above, when the user context is selected, the sketch providing module 400 generates a correlation equation through linear regression analysis for the selected user context and category in step S430.

상관관계식을 생성하는 방법에 대해서 설명하면 다음과 같다. k개의 사용자 컨텍스트가 선택된 경우, 선형회귀방정식은 다음의 수학식 3과 같다. The method for generating the correlation equation is explained as follows. When k user contexts are selected, the linear regression equation is as follows:

여기서, C는 이미지 검색에서 카테고리가 선택될 확률이고, i는 카테고리의 인덱스이다. K는 선택된 사용자 컨텍스트의 수를 나타내며, X1, X2, X3, ..., Xk은 각각 서로 다른 사용자 컨텍스트를 나타낸다. 또한, a0, a1, a2, a3, ..., an은 가중치를 나타낸다. Here, C is the probability of a category being selected in image search, and i is the index of the category. K represents the number of selected user contexts, and X1, X2, X3, ..., Xk represent different user contexts, respectively. Additionally, a0, a1, a2, a3, ..., an represent weights.

밑그림제공모듈(400)은 선형회기분석을 통해 가중치인 a0, a1, a2, a3, ..., ak을 도출한다. 즉, 밑그림제공모듈(400)은 이미지 검색이 이루어질 때마다 수집된 카테고리의 값과 그 카테고리에 대응하는 컨텍스트 X1, X2, X3, ..., Xk의 값을 훈련 데이터로 선형회기방정식(수학식 3)에 입력하여 복수의 방정식을 도출할 수 있다. 이때, 밑그림제공모듈(400)은 충분히 많은 수의 훈련 데이터를 입력하여 충분히 많은 수의 방정식이 도출되면, 충분히 많은 수의 방정식을 연립하여 연립 방정식의 해로 가중치인 a0, a1, a2, a3, ..., ak를 산출할 수 있다. 이에 따라, 밑그림제공모듈(400)은 가중치가 산출된 선형회기방정식을 상관관계식으로 결정할 수 있다. 예컨대, C1은 카테고리 여성의복을 나타내며, k가 4이고, a0, a1, a2, a3, a4 각각의 값이 0.002, 0.208, 0.313, 0.025, 0.472이라면, 상관관계식은 다음의 수학식 4와 같다. The sketch providing module 400 derives the weights a0, a1, a2, a3, ..., ak through linear regression analysis. That is, the sketch providing module 400 uses the values of the collected categories and the values of the contexts X1, X2, Multiple equations can be derived by entering them in 3). At this time, when a sufficiently large number of equations are derived by inputting a sufficiently large number of training data, the sketch providing module 400 combines a sufficiently large number of equations to obtain the weights a0, a1, a2, a3, as solutions to the simultaneous equations. .., ak can be calculated. Accordingly, the sketch providing module 400 can determine the linear regression equation from which the weights were calculated as a correlation equation. For example, if C1 represents the category women's clothing, k is 4, and the values of a0, a1, a2, a3, and a4 are 0.002, 0.208, 0.313, 0.025, and 0.472, the correlation equation is as follows:

이러한 상관관계식에 따라 사용자 컨텍스트와 이미지 검색 시 사용자가 선택하는 유효 이미지의 카테고리의 상관관계가 정의된다. According to this correlation equation, the correlation between the user context and the category of valid images selected by the user when searching for images is defined.

다음으로, S130 단계의 카테고리 별로 밑그림을 생성하는 방법에 대해서 설명하기로 한다. 도 9는 본 발명의 실시예에 따른 카테고리 별로 밑그림을 생성하는 방법을 설명하기 위한 흐름도이다. 도 10 및 도 11은 본 발명의 실시예에 따른 카테고리 별로 밑그림을 생성하는 방법을 설명하기 위한 도면이다. Next, we will explain how to create a sketch for each category in step S130. Figure 9 is a flowchart illustrating a method of generating a sketch for each category according to an embodiment of the present invention. 10 and 11 are diagrams for explaining a method of generating a sketch for each category according to an embodiment of the present invention.

도 9를 참조하면, 밑그림제공모듈(400)은 S510 단계에서 앞서(S110) 각 카테고리 별로 수집된 복수의 유효 이미지를 형태의 특징에 따라 복수의 유형으로 그룹화하여 유효 이미지 그룹을 생성한다. 카테고리 별로 유효 이미지는 서로 다른 분류가 될 수 있다. 예컨대, 카테고리 '여성의복'인 원피스의 검색 결과에 따르면, 원피스는 형태상 Full Skirt Dress, A-line Skirt Dress, Wrap Dress, Empire Dress, Sheath Dress, BodyCon Dress, Baby Doll Dress, Shift Dress, Spaghetti Straps, Halter 등으로 분류될 수 있다. 따라서 S510 단계에서 밑그림제공모듈(400)은 사용자가 선택한 유효 이미지를 형태의 특징에 따라 그룹화한다. Referring to FIG. 9, in step S510, the sketch providing module 400 groups a plurality of valid images collected for each category (S110) into a plurality of types according to shape characteristics to create a valid image group. Valid images for each category may be classified differently. For example, according to the search results for dresses in the category 'women's clothing', the dresses are Full Skirt Dress, A-line Skirt Dress, Wrap Dress, Empire Dress, Sheath Dress, BodyCon Dress, Baby Doll Dress, Shift Dress, and Spaghetti Straps. , Halter, etc. Therefore, in step S510, the sketch providing module 400 groups the valid images selected by the user according to the characteristics of the shape.

그런 다음, 밑그림제공모듈(400)은 S520 단계에서 유효 이미지 그룹에 속한 복수의 유효 이미지 각각에 대해 형태 분석(morphology analysis) 기법에 따라 윤곽을 검출하여 점 및 선으로만 이루어진 복수의 이진 이미지를 생성한다. 예컨대, 도 9에 도시된 바와 같이, 유효 이미지는 (가)와 같이, 사진 이미지일 수 있다. 따라서 유효 이미지의 윤곽을 도출하여 (나)와 같이 점 및 선으로만 이루어진 이진 이미지로 변환한다. Then, in step S520, the sketch providing module 400 detects the outline of each of the plurality of valid images belonging to the valid image group according to a morphology analysis technique and generates a plurality of binary images consisting of only dots and lines. do. For example, as shown in FIG. 9, the valid image may be a photographic image, as shown in (a). Therefore, the outline of the effective image is derived and converted into a binary image consisting of only points and lines, as shown in (b).

다음으로, 밑그림제공모듈(400)은 복수의 이진 이미지를 중첩하고, 점 및 선이 중첩되는 정도에 따라 밑그림을 생성한다. 예컨대, 도 11의 (다)와 같이, 복수의 이진 이미지를 중첩하여 중첩된 정도가 많은 점 혹은 선을 선택하여 (라)와 같이, 하나의 밑그림을 생성한다. Next, the draft providing module 400 overlaps a plurality of binary images and generates a draft according to the degree to which points and lines overlap. For example, as shown in (c) of FIG. 11, a plurality of binary images are overlapped and points or lines with a large degree of overlap are selected to create a sketch, as shown in (d).

그런 다음, 밑그림제공모듈(400)은 유효 이미지 그룹에 속한 유효 이미지의 수에 따라 밑그림의 우선순위를 결정한다. 가령, 유효 이미지 그룹 A에 속한 유효 이미지가 3개이고, 유효 이미지 그룹 B에 속한 유효 이미지가 20개라면, 유효 이미지 그룹 B로부터 생성된 밑그림이 유효 이미지 그룹 A로부터 도출된 밑그림 보다 우선순위가 높다. Then, the draft providing module 400 determines the priority of the draft according to the number of valid images belonging to the valid image group. For example, if there are 3 valid images belonging to valid image group A and 20 valid images belonging to valid image group B, the draft generated from valid image group B has higher priority than the draft derived from valid image group A.

이상, 상관관계식을 도출하고, 밑그림을 생성하는 방법에 대해서 설명하였다. 이와 같이, 상관관계식 및 밑그림이 생성된 상태에서 밑그림을 제공하여 스케치 기반 이미지 검색을 수행하는 방법에 대해서 설명하기로 한다. Above, we explained how to derive the correlation equation and create a sketch. In this way, we will explain how to perform sketch-based image search by providing the sketch while the correlation equation and sketch have been created.

먼저, S210 단계의 밑그림을 표시하는 방법에 대해서 보다 상세하게 설명하기로 한다. 도 12는 본 발명의 실시예에 따른 밑그림을 표시하는 방법을 설명하기 위한 흐름도이다. 도 13은 본 발명의 실시예에 따른 밑그림을 표시하는 방법을 설명하기 위한 화면 예이다. First, we will explain in more detail how to display the sketch in step S210. Figure 12 is a flowchart for explaining a method of displaying a sketch according to an embodiment of the present invention. Figure 13 is an example screen for explaining a method of displaying a draft according to an embodiment of the present invention.

사용자는 스케치 기반 이미지 검색을 위해 사용자장치(200)를 조작하여 밑그림을 요청할 수 있다. 이에 따라, 사용자장치(200)의 밑그림제공모듈(400)은 S610 단계에서 밑그림을 요청을 수신하면, S620 단계에서 그 요청 시점으로부터 소정 기간 이전부터 그 요청 시점까지의 기간 동안 사용자 컨텍스트를 추출한다. The user may request a sketch by manipulating the user device 200 to search for a sketch-based image. Accordingly, when the sketch providing module 400 of the user device 200 receives a request for a draft in step S610, it extracts the user context for a period from a predetermined period of time before the request to the time of the request in step S620.

그런 다음, 밑그림제공모듈(400)은 S630 단계에서 수학식 4와 같은 상관관계식에 추출된 컨텍스트의 값을 입력하여 카테고리를 도출한다. Then, the sketch providing module 400 derives a category by inputting the value of the extracted context into a correlation equation such as Equation 4 in step S630.

카테고리가 도출되면, 밑그림제공모듈(400)은 S640 단계에서 도출된 카테고리 및 도출된 카테고리에 속하는 복수의 밑그림을 추출한 후, 도 13에 도시된 바와 같이, 우선순위에 따라 나열하여 밑그림 영역(U)에 표시한다. When a category is derived, the sketch providing module 400 extracts the category derived in step S640 and a plurality of drafts belonging to the derived categories, and then arranges them in order of priority as shown in FIG. 13 to create the draft area (U). It is displayed in

다음으로, S220 단계 및 S230 단계의 스케치를 생성하여 이미지 검색어로 스케치를 전송하는 방법에 대해서 보다 상세하게 설명하기로 한다. 도 14는 본 발명의 실시예에 따른 스케치를 생성하여 이미지 검색어로 스케치를 전송하는 방법을 설명하기 위한 흐름도이다. 도 15는 본 발명의 실시예에 따른 스케치를 생성하는 방법을 설명하기 위한 화면 예이다. Next, we will describe in more detail how to create a sketch in steps S220 and S230 and transmit the sketch as an image search term. Figure 14 is a flowchart illustrating a method of creating a sketch and transmitting the sketch as an image search word according to an embodiment of the present invention. Figure 15 is an example screen for explaining a method of creating a sketch according to an embodiment of the present invention.

도 14 및 도 15를 참조하면, 사용자는 밑그림 영역(U)의 복수의 밑그림 중 어느 하나를 선택할 수 있다. 그러면, 사용자장치(200)의 스케치검색모듈(500)은 S710 단계에서 사용자의 선택을 입력 받고, 사용자가 선택한 밑그림을 화면의 스케치 영역(K)에 표시한다. Referring to Figures 14 and 15, the user can select one of a plurality of drafts in the draft area (U). Then, the sketch search module 500 of the user device 200 receives the user's selection in step S710 and displays the sketch selected by the user in the sketch area (K) of the screen.

또한, 사용자는 스케치 영역(K)에 표시된 밑그림(ud)을 참조하고, 손가락 혹은 스타일러스(ST) 등을 이용하여 스케치 영역(K)에 터치 입력을 할 수 있다. Additionally, the user can refer to the sketch (ud) displayed in the sketch area (K) and make a touch input to the sketch area (K) using a finger or a stylus (ST).

그러면, 스케치검색모듈(500)은 S720 단계에서 스케치 영역(K) 상의 터치 입력을 감지하여 감지된 터치입력에 따라 밑그림(ud)과 함께 터치 입력의 자취를 표시한다. 이러한 터치 입력의 자취는 스케치(sd)가 된다. Then, the sketch search module 500 detects a touch input on the sketch area (K) in step S720 and displays a trace of the touch input along with a sketch (ud) according to the detected touch input. This trace of touch input becomes a sketch (sd).

스케치가 완료되면, 사용자는 해당 스케치를 검색어로 이미지 검색을 요청할 수 있다. 이러한 스케치 기반 이미지 검색 요청이 있으면, 스케치검색모듈(500)은 S730 단계에서 통신부(210)를 통해 스케치(kd)와 밑그림(ud)을 검색서버(100)로 전송한다. Once the sketch is completed, the user can request an image search for the sketch using a search term. If there is a request for such a sketch-based image search, the sketch search module 500 transmits the sketch (kd) and sketch (ud) to the search server 100 through the communication unit 210 in step S730.

다음으로, S230 단계의 스케치 기반 이미지 검색 방법에 대해서 설명하기로 한다. 도 16은 본 발명의 실시예에 따른 스케치 기반 이미지 검색 방법에 대해서 설명하기 위한 흐름도이다. 도 17은 본 발명의 실시예에 따른 스케치 기반 이미지 검색 방법에 대해서 설명하기 위한 도면이다. Next, the sketch-based image search method in step S230 will be described. Figure 16 is a flowchart for explaining a sketch-based image search method according to an embodiment of the present invention. Figure 17 is a diagram for explaining a sketch-based image search method according to an embodiment of the present invention.

도 16 및 도 17을 참조하면, 검색서버(100)의 제어모듈(130)의 이미지검색모듈(300)은 통신모듈(110)을 통해 사용자장치(200)로부터 스케치(kd)와 밑그림(ud)을 수신하면, S810 단계에서 스케치(kd)와 밑그림(ud)의 차이를 특징 이미지(fd)로 도출한다. 도 17에 도시된 바와 같이, 스케치(kd)에 대한 밑그림(ud)의 형태적인 차이를 특징 이미지(fd)로 도출할 수 있다. 16 and 17, the image search module 300 of the control module 130 of the search server 100 receives a sketch (kd) and a draft (ud) from the user device 200 through the communication module 110. When received, the difference between the sketch (kd) and the draft (ud) is derived as a feature image (fd) in step S810. As shown in FIG. 17, the morphological difference between the sketch (kd) and the draft (ud) can be derived as a feature image (fd).

다음으로, 이미지검색모듈(300)은 S820 단계에서 스케치(kd)와 동일 또는 유사한 복수의 이미지(rd)를 검색한다. 그런 다음, 이미지검색모듈(300)은 S830 단계에서 검색된 복수의 이미지(rd)를 특징 이미지(fd)와의 유사도가 높은 순서로 정렬한 검색 결과를 생성한다. 특징 이미지는 밑그림(ud)과 비교하여 민소매 등은 변화가 없으나 치마의 폭이 넓어진 형태를 나타낸다. 따라서 치마의 폭이 다소 넓은 형태를 가지는 이미지가 유사도가 높은 것으로 결정될 수 있다. Next, the image search module 300 searches for a plurality of images (rd) that are identical or similar to the sketch (kd) in step S820. Then, the image search module 300 generates a search result in which the plurality of images (rd) searched in step S830 are sorted in order of high similarity to the feature image (fd). Compared to the sketch (ud), the characteristic image shows that there is no change in the sleeveless area, but the width of the skirt has been widened. Therefore, an image with a somewhat wide skirt can be determined to have a high degree of similarity.

이미지검색모듈(300)은 S840 단계에서 통신모듈(110)을 통해 검색된 복수의 이미지가 특징 이미지와 유사도가 높은 순으로 정렬된 검색 결과를 사용자장치(200)로 전송한다. 이에 따라, 사용자장치(200)의 스케치검색모듈(500)은 통신부(210)를 통해 검색 결과를 수신하고, 수신된 검색 결과를 표시부(260)를 통해 표시할 수 있다. The image search module 300 transmits to the user device 200 a search result in which the plurality of images searched through the communication module 110 are sorted in descending order of similarity to the feature image in step S840. Accordingly, the sketch search module 500 of the user device 200 may receive search results through the communication unit 210 and display the received search results through the display unit 260.

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

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

본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.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 can be performed in a different order and still achieve desirable results. As an example, the process depicted in the accompanying drawings does not necessarily require the specific depicted order or sequential order to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대해 개조, 변경 및 변형을 가할 수 있다.The present description sets forth the best mode of the invention and provides examples to illustrate the invention and to enable any person skilled in the art to make or use the invention. The specification prepared in this way does not limit the present invention to the specific terms presented. Accordingly, although the present invention has been described in detail with reference to the above-described examples, those skilled in the art may make modifications, changes, and variations to the 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 by the scope of the patent claims.

본 발명은 스케치 기반의 이미지 검색을 위한 방법 및 장치에 관한 것으로서, 본 발명에 따르면, 사용자의 스케치를 돕기 위한 밑그림을 제공할 때, 과거 사례인 이미지 검색 시점의 사용자 컨텍스트 분석을 통해 현 시점에서 사용자가 필요로 하는 밑그림을 제공할 수 있다. 이에 따라, 사용자는 번거롭게 수많은 밑그림을 찾지 않아도 되며, 제공되는 복수의 밑그림 중 어느 하나를 선택하여 편리하게 스케치 기반 검색을 수행할 수 있다. 따라서 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.The present invention relates to a method and device for sketch-based image retrieval. According to the present invention, when providing a sketch to help a user sketch, the user's current status is provided through analysis of user context at the time of image retrieval, which is a past case. We can provide the sketch you need. Accordingly, the user does not have to inconveniently search for numerous sketches and can conveniently perform a sketch-based search by selecting one of the plurality of sketches provided. Therefore, the present invention not only has sufficient marketability or commercial potential, but also has industrial applicability because it can be clearly implemented in reality.

100: 검색서버 110: 통신모듈
120: 저장모듈 130: 제어모듈
200: 사용자장치 210: 통신부
220: 위치정보수신부 230: 센서부
240: 카메라부 250: 입력부
260: 표시부 270: 오디오부
280: 저장부 290: 제어부
291: 시계모듈 300: 이미지검색모듈
400: 밑그림제공모듈 500: 스케치검색모듈
100: Search server 110: Communication module
120: storage module 130: control module
200: User device 210: Communication department
220: Location information receiver 230: Sensor unit
240: camera unit 250: input unit
260: display unit 270: audio unit
280: storage unit 290: control unit
291: Clock module 300: Image search module
400: Sketch provision module 500: Sketch search module

Claims (13)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 네트워크에 접속하여 통신을 수행하는 통신부;
스케치 영역 및 밑그림 영역을 포함하는 화면을 표시하기 위한 표시부;
스케치 기반 이미지 검색을 요청 받으면, 상기 요청 시점으로부터 소정 기간 이전의 사용자 컨텍스트를 추출하고, 기 수행된 이미지 검색 결과의 카테고리와 사용자 컨텍스트와의 상관관계에 따라 도출된 상관관계식에 상기 추출된 사용자 컨텍스트를 입력하여 카테고리를 도출하고, 상기 도출된 카테고리 및 상기 도출된 카테고리에 속하는 복수의 밑그림을 우선순위에 따라 나열하여 상기 밑그림 영역에 표시하는 밑그림제공모듈; 및
상기 복수의 밑그림 중 어느 하나가 선택되면, 화면의 스케치 영역에 밑그림을 표시하고, 상기 스케치 영역 상의 터치 입력을 감지하면, 감지된 터치입력에 따라 상기 밑그림과 함께 터치 입력의 자취를 표시한 후, 상기 스케치와 상기 밑그림을 상기 통신부를 통해 검색서버로 전송하는 스케치검색모듈;을 포함하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 장치.
A communication unit that connects to a network and performs communication;
a display unit for displaying a screen including a sketch area and a draft area;
When a sketch-based image search is requested, the user context from a predetermined period of time prior to the request is extracted, and the extracted user context is entered into a correlation equation derived according to the correlation between the user context and the category of the previously performed image search results. a sketch providing module that derives a category through input, arranges the derived category and a plurality of drafts belonging to the derived category in order of priority, and displays them in the draft area; and
When one of the plurality of sketches is selected, the sketch is displayed in the sketch area of the screen, and when a touch input on the sketch area is detected, a trace of the touch input is displayed along with the sketch according to the detected touch input, A sketch-based image search device comprising a sketch search module that transmits the sketch and the sketch to a search server through the communication unit.
제9항에 있어서,
상기 밑그림제공모듈은
이미지 검색이 이루어질 때마다,
상기 이미지 검색 시점을 기준으로 소정 기간 이전부터 상기 이미지 검색 시점까지의 복수의 사용자 컨텍스트를 수집하고, 상기 이미지 검색 시점 이후의 소정 기간 동안 적어도 하나의 유효 이미지를 검출하고, 상기 검출된 유효 이미지의 카테고리를 결정하고,
상기 수집된 복수의 사용자 컨텍스트 중 상기 카테고리와의 상관계수가 소정 수치 이상인 사용자 컨텍스트 도출하고,
상기 수집된 복수의 사용자 컨텍스트 중 2 이상의 사용자 컨텍스트 상호간에 상관계수가 소정 수치 이상이면서 상기 카테고리와의 상관계수가 가장 높은 사용자 컨텍스트를 선택하고,
상기 선택된 사용자 컨텍스트와 상기 카테고리에 대한 선형회기분석을 통해 상관관계식을 생성하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 장치.
According to clause 9,
The sketch providing module is
Whenever an image search is performed,
Collect a plurality of user contexts from a predetermined period of time before the image search time to the image search time, detect at least one valid image during a predetermined period after the image search time, and category of the detected valid image. Decide,
Deriving a user context whose correlation coefficient with the category is greater than or equal to a predetermined value among the plurality of collected user contexts,
Among the plurality of collected user contexts, select the user context in which the correlation coefficient between two or more user contexts is greater than a predetermined value and the correlation coefficient with the category is the highest,
A device for sketch-based image retrieval, characterized in that a correlation equation is generated through linear regression analysis of the selected user context and the category.
제10항에 있어서,
상기 밑그림제공모듈은
C는 카테고리가 선택될 확률이고, i는 카테고리의 인덱스이고, K는 선택된 사용자 컨텍스트의 수이고, X1, X2, X3, ..., Xk은 각각 서로 다른 사용자 컨텍스트이고, a0, a1, a2, a3, ..., an은 가중치일 때,
수학식
이미지 검색이 이루어질 때마다 수집된 카테고리와 컨텍스트의 값을 훈련 데이터로 입력하여 복수의 연립 방정식을 구성하고,
구성된 연립 방정식의 해로 상기 가중치를 산출한 후,
상기 수학식에 산출된 가중치를 적용하여 상관관계식을 생성하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 장치.
According to clause 10,
The sketch providing module is
C is the probability that a category is selected, i is the index of the category, K is the number of selected user contexts, X1, When a3, ..., an are weights,
math equation to
Each time an image search is performed, the collected category and context values are input as training data to construct a plurality of simultaneous equations,
After calculating the weights as solutions of the constructed simultaneous equations,
A device for sketch-based image search, characterized in that it generates a correlation equation by applying the weight calculated to the above equation.
제10항에 있어서,
상기 밑그림제공모듈은
각 카테고리 별로 수집된 복수의 유효 이미지를 그룹화하여 유효 이미지 그룹을 생성하고,
상기 유효 이미지 그룹에 속한 복수의 유효 이미지 각각에 대해 형태 분석(morphology analysis) 기법에 따라 윤곽을 검출하여 점 및 선으로만 이루어진 복수의 이진 이미지를 생성하고,
상기 복수의 이진 이미지를 중첩하여 중첩된 점 및 선의 강도에 따라 밑그림을 생성하고,
상기 유효 이미지 그룹에 속한 복수의 유효 이미지의 수에 따라 상기 생성된 밑그림의 우선순위를 결정하는 것을 특징으로 하는 스케치 기반의 이미지 검색을 위한 장치.
According to clause 10,
The sketch providing module is
Create a valid image group by grouping multiple valid images collected for each category,
Detecting the outline of each of the plurality of valid images belonging to the valid image group according to a morphology analysis technique to generate a plurality of binary images consisting only of dots and lines,
Overlapping the plurality of binary images to generate a sketch according to the intensity of the overlapped points and lines,
A device for sketch-based image search, characterized in that the priority of the generated sketch is determined according to the number of a plurality of valid images belonging to the valid image group.
삭제delete
KR1020180073957A 2018-06-27 2018-06-27 A method for sketch based image searching and an apparatus therefor KR102651950B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180073957A KR102651950B1 (en) 2018-06-27 2018-06-27 A method for sketch based image searching and an apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180073957A KR102651950B1 (en) 2018-06-27 2018-06-27 A method for sketch based image searching and an apparatus therefor

Publications (2)

Publication Number Publication Date
KR20200001238A KR20200001238A (en) 2020-01-06
KR102651950B1 true KR102651950B1 (en) 2024-04-01

Family

ID=69158986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180073957A KR102651950B1 (en) 2018-06-27 2018-06-27 A method for sketch based image searching and an apparatus therefor

Country Status (1)

Country Link
KR (1) KR102651950B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140328544A1 (en) 2013-05-03 2014-11-06 Microsoft Corporation Hand-drawn sketch recognition
US20180130496A1 (en) 2016-11-08 2018-05-10 Yen4Ken, Inc. Method and system for auto-generation of sketch notes-based visual summary of multimedia content

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100050110A (en) * 2008-11-05 2010-05-13 에스케이커뮤니케이션즈 주식회사 Method, terminal, server and system for searching images
KR101326083B1 (en) 2011-11-28 2013-11-07 건국대학교 산학협력단 Preprocessing apparatus for query image and searching image in content based image retrieval using sketch query and methof therefor
KR101912794B1 (en) * 2013-11-27 2018-10-29 한화테크윈 주식회사 Video Search System and Video Search method
KR20150101846A (en) * 2014-02-27 2015-09-04 에스케이플래닛 주식회사 Image classification service system based on a sketch user equipment, service equipment, service method based on sketch and computer readable medium having computer program recorded therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140328544A1 (en) 2013-05-03 2014-11-06 Microsoft Corporation Hand-drawn sketch recognition
US20180130496A1 (en) 2016-11-08 2018-05-10 Yen4Ken, Inc. Method and system for auto-generation of sketch notes-based visual summary of multimedia content

Also Published As

Publication number Publication date
KR20200001238A (en) 2020-01-06

Similar Documents

Publication Publication Date Title
JP7265003B2 (en) Target detection method, model training method, device, apparatus and computer program
CN108280458B (en) Group relation type identification method and device
CN111182453B (en) Positioning method, positioning device, electronic equipment and storage medium
CN104423868B (en) E-book reading localization method and device
CN108334539B (en) Object recommendation method, mobile terminal and computer-readable storage medium
WO2018086462A1 (en) Method and device for generating loading, push, and interaction information of service data
CN109918669B (en) Entity determining method, device and storage medium
US11274932B2 (en) Navigation method, navigation device, and storage medium
CN105892051A (en) Eyewear-Type Terminal And Method Of Controlling The Same
KR20100002756A (en) Matrix blogging system and service support method thereof
CN103916473B (en) Travel information processing method and relevant apparatus
CN108764051B (en) Image processing method and device and mobile terminal
CN110458655B (en) Shop information recommendation method and mobile terminal
CN104770054A (en) Location-aware management of lists of uniform resource locators (URL) for mobile devices
CN112203115B (en) Video identification method and related device
CN104782221A (en) Location-aware management of lists of uniform resource locators (urls) for mobile devices
CN112084959B (en) Crowd image processing method and device
CN105912119A (en) Method for character input and wearable device
CN113946719A (en) Word completion method and device
CN106131296A (en) Information displaying method and device
CN113190752A (en) Information recommendation method, mobile terminal and storage medium
KR102651950B1 (en) A method for sketch based image searching and an apparatus therefor
CN105190575B (en) Information processing equipment, information processing method and information processing system
KR20200024618A (en) A method for image searching and an apparatus therefor
CN109640272A (en) A kind of localization method and mobile terminal

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right