KR102023687B1 - Method for sharing images, and system and application implementing the same method - Google Patents
Method for sharing images, and system and application implementing the same method Download PDFInfo
- Publication number
- KR102023687B1 KR102023687B1 KR1020180110547A KR20180110547A KR102023687B1 KR 102023687 B1 KR102023687 B1 KR 102023687B1 KR 1020180110547 A KR1020180110547 A KR 1020180110547A KR 20180110547 A KR20180110547 A KR 20180110547A KR 102023687 B1 KR102023687 B1 KR 102023687B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- images
- server
- person
- clustering
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Abstract
적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 군집화 방법으로서, 복수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출하는 단계, 상기 복수의 웹문서로부터 추출한 이미지들 중에 중복 이미지들이 존재하는 경우, 상기 중복 이미지들을 대표하는 하나의 대표 이미지를 결정하고, 상기 대표 이미지에 상기 중복 이미지들 각각에 대응된 이미지 설명 내용들을 연결하는 단계, 상기 대표 이미지에 연결된 복수의 이미지 설명 내용들로부터 상기 대표 이미지의 이미지 설명 태그 및 타임스탬프를 포함하는 이미지 정보를 결정하고, 상기 이미지 정보와 상기 대표 이미지를 매핑하여 이미지 저장소에 저장하는 단계, 그리고 군집화 키워드에 따른 이미지 군집화 요청이 있으면, 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출하고, 추출한 이미지들의 유사도를 기초로 상기 추출한 이미지들 중 적어도 일부를 군집하여 적어도 하나의 군집이벤트를 생성하는 단계를 포함한다.An image clustering method of a server operated by at least one processor, the method comprising: extracting at least one image included in each web document from a plurality of web documents and contents describing the image, and extracting images from the plurality of web documents If there are duplicate images among them, determining one representative image representing the duplicate images, and connecting image description contents corresponding to each of the duplicate images to the representative image, a plurality of linked images Determining image information including an image description tag and a timestamp of the representative image from image description contents, mapping the image information and the representative image to an image storage, and requesting an image clustering request according to a clustering keyword. If present, the image store Extracting images associated with the clustering keyword, and generating at least one clustering event by clustering at least some of the extracted images based on the similarity of the extracted images.
Description
본 발명은 이미지 군집화에 관한 것이다.The present invention relates to image clustering.
뉴스, 블로그 등의 웹페이지에는 다양한 이미지들이 게시되고, 사용자 단말에서 촬영된 사진들이 소셜미디어서비스 등의 다양한 공유 플랫폼에서 빠르게 업로드되고 있다. 이렇게 다양한 이미지들이 존재하는 웹은 거대한 이미지 저장소가 되어, 사용자는 원하는 이미지를 검색할 수 있다. Various images are posted on web pages such as news and blogs, and photographs taken from user terminals are uploaded on various sharing platforms such as social media services. The web with such various images becomes a huge image repository, and users can search for the images they want.
하지만, 동일 이미지들이 중복적으로 다른 웹페이지에서 존재하거나, 동일 이벤트에서 촬영된 유사 이미지들 대량으로 존재한다. 따라서, 제대로 분류되지 않은 수많은 이미지들 중에서 사용자가 원하는 결과를 얻기 위해서, 사용자는 검색어를 정제하여 검색해야 하고, 이를 위해 사용자는 인물이나 이벤트에 대한 사전지식이 있어야 한다. 또한, 이미지의 최신성을 반영하기 어려워 검색 시기에 따라 검색 결과가 크게 달라지지 않을 수 있다. 최근에는 이미지를 이벤트별로 분류하여 제공하려는 시도가 있으나, 여전히 이벤트 내에서 이미지들이 나열되어 노출되는 정도라서, 시간 순서대로 이미지를 노출하는 종래 기술과 차별성이 없다. 따라서, 사용자에게 유의미한 방식으로 이미지들을 분류하고 공유하는 방법이 요구된다.
(특허문헌 1) KR10-1029160 B
(특허문헌 2) US2015-0078673 A However, the same images are duplicated on different web pages or a large number of similar images shot at the same event. Therefore, in order to obtain a desired result among a large number of images that are not properly classified, the user must refine and search a search word, and for this, the user must have prior knowledge of a person or an event. In addition, since it is difficult to reflect the latestness of the image, the search result may not vary significantly depending on the search time. Recently, there have been attempts to categorize and provide images by event, but there is still no difference from the prior art of exposing images in time order because the images are arranged and exposed in the event. Accordingly, what is needed is a method of classifying and sharing images in a manner that is meaningful to the user.
(Patent Document 1) KR10-1029160 B
(Patent Document 2) US2015-0078673 A
본 발명이 해결하고자 하는 과제는 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 분류하고, 이미지를 설명하는 태그를 통해 이미지를 군집화하는 방법 그리고 이를 구현한 시스템 및 어플리케이션을 제공하는 것이다. 또한, 본 발명이 해결하고자 하는 과제는 군집된 이미지들을 기초로 공유할 수 있는 콘텐트를 생성하는 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션을 제공하는 것이다.The problem to be solved by the present invention is to classify various images from various sources by attributes such as time, event, person, etc., and to provide a method of clustering images through a tag describing the image, and a system and application implementing the same. In addition, an object of the present invention is to provide a sharing method for generating content that can be shared based on clustered images, and a system and application implementing the same.
한 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 군집화 방법으로서, 복수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출하는 단계, 상기 복수의 웹문서로부터 추출한 이미지들 중에 중복 이미지들이 존재하는 경우, 상기 중복 이미지들을 대표하는 하나의 대표 이미지를 결정하고, 상기 대표 이미지에 상기 중복 이미지들 각각에 대응된 이미지 설명 내용들을 연결하는 단계, 상기 대표 이미지에 연결된 복수의 이미지 설명 내용들로부터 상기 대표 이미지의 이미지 설명 태그 및 타임스탬프를 포함하는 이미지 정보를 결정하고, 상기 이미지 정보와 상기 대표 이미지를 매핑하여 이미지 저장소에 저장하는 단계, 그리고 군집화 키워드에 따른 이미지 군집화 요청이 있으면, 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출하고, 추출한 이미지들의 유사도를 기초로 상기 추출한 이미지들 중 적어도 일부를 군집하여 적어도 하나의 군집이벤트를 생성하는 단계를 포함한다.An image clustering method of a server operated by at least one processor according to an embodiment, the method comprising: extracting at least one image included in each web document and contents describing the image from a plurality of web documents; If duplicate images exist among the images extracted from the web document, determining one representative image representing the duplicate images, and connecting image description contents corresponding to each of the duplicate images to the representative image, wherein the representative image Determining image information including an image description tag and a timestamp of the representative image from a plurality of image description contents connected to the image, mapping the image information and the representative image, and storing the image information in an image storage; Image clustering request In the image store it comprises a step of extracting an image associated with the keyword grouping and generates at least one event cluster by cluster at least a portion of the extracted image on the basis of the similarity of the extracted image.
상기 이미지 저장소에 저장하는 단계는 상기 복수의 이미지 설명 내용에서 등장하는 키워드들을 기초로 상기 이미지 설명 태그를 결정하고, 상기 중복 이미지들이 포함된 웹문서들의 작성일을 기초로 상기 대표 이미지의 타임스탬프를 결정할 수 있다.The storing in the image storage may include determining the image description tag based on keywords appearing in the plurality of image description contents, and determining a timestamp of the representative image based on a creation date of web documents including the duplicate images. Can be.
상기 군집이벤트를 생성하는 단계는 상기 이미지 저장소에 저장된 이미지들의 이미지 설명 태그를 기초로 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출할 수 있다.The generating of the clustering event may extract images associated with the clustering keyword from the image store based on image description tags of the images stored in the image store.
상기 군집이벤트를 생성하는 단계는 상기 이미지 저장소에 저장된 이미지들의 타임스탬프를 기초로 검색 기간에 작성된 이미지들을 상기 검색 이미지들로 추출할 수 있다.The generating of the clustering event may extract the images created in the search period as the search images based on time stamps of the images stored in the image storage.
상기 군집이벤트를 생성하는 단계는 상기 군집이벤트로 묶인 이미지들의 이미지 설명 태그들 또는 이미지 설명 내용들로부터 상기 군집이벤트의 명칭과 상기 군집이벤트에 연관된 태그들을 추출할 수 있다.The generating of the clustering event may extract the name of the clustering event and the tags associated with the clustering event from image description tags or image description contents of the images bundled into the clustering event.
상기 이미지 군집화 방법은 임의 웹문서로부터 추출한 특정 이미지 설명 내용에 동명이인이나 중의적 표현의 인물 정보가 포함된 경우, 상기 특정 이미지 설명 내용으로부터 적어도 한 명의 후보 인물을 추출하는 단계, 상기 특정 이미지 설명 내용과 각 후보 인물의 인물정보를 기초로 각 후보 인물이 상기 임의 웹문서에서 추출된 특정 이미지 내 인물인지를 평가하는 단계, 그리고 각 후보 인물의 평가 점수를 기초로 상기 특정 이미지 내 인물을 결정하고, 결정한 인물 식별정보를 상기 특정 이미지에 태깅하는 단계를 더 포함할 수 있다.The image clustering method may include extracting at least one candidate person from the specific image description content when the specific image description content extracted from an arbitrary web document includes person information having the same name or a double expression. Evaluating whether each candidate is a person in a specific image extracted from the random web document based on contents and person information of each candidate person, and determining a person in the specific image based on an evaluation score of each candidate person. The method may further include tagging the determined person identification information to the specific image.
상기 이미지 군집화 방법은 사용자 단말로 상기 적어도 하나의 군집이벤트로 군집된 이미지들을 전송하는 단계를 더 포함하고, 상기 군집된 이미지들은 상기 사용자 단말의 인터페이스 화면에서 군집이벤트별로 구분되어 표시되고, 동일 군집이벤트에 속한 이미지들에서 복수의 등장 인물이 존재하는 경우, 상기 인터페이스 화면에서 등장인물별로 분류되어 표시될 수 있다.The image clustering method may further include transmitting clustered images of the at least one clustering event to a user terminal, wherein the clustered images are divided and displayed for each clustering event on an interface screen of the user terminal. When there are a plurality of characters in the images belonging to each other, they may be classified and displayed by the characters on the interface screen.
상기 군집이벤트로 군집된 이미지들을 전송하는 단계는 상기 군집된 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 인터페이스 화면에 표시되는 콘텐트를 생성하며, 상기 콘텐트를 상기 사용자 단말로 전송할 수 있다.The transmitting of the clustered images in the clustering event may generate content displayed on the interface screen while the clustered images are randomly crossed or sequentially crossed in a display order, and the content may be transmitted to the user terminal. have.
다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 공유 방법으로서, 단일 이벤트로 군집된 복수 이미지들의 공유 요청을 입력받는 단계, 상기 복수 이미지들 각각의 등장 인물을 확인하고, 동일한 등장 인물로 분류된 이미지들 내에서의 인물 움직임을 추정하여 해당 등장 인물의 이미지들을 정렬하는 단계, 그리고 사용자 단말로, 정렬된 상기 복수 이미지들을 전송하는 단계를 포함한다.An image sharing method of a server operated by at least one processor according to another embodiment, the method comprising: receiving a request for sharing a plurality of images grouped into a single event, identifying a person of each of the plurality of images, and identifying the same person Estimating a person's movement in the images classified as and sorting the images of the person, and transmitting the arranged plurality of images to the user terminal.
상기 정렬하는 단계는 동일한 등장 인물로 분류된 이미지들 내의 모든 이미지쌍에 대한 좌표들의 광학 흐름(Optical Flow)을 계산하고, 계산 결과를 기초로 상기 인물 움직임을 연속적으로 만드는 순서로 이미지들을 정렬할 수 있다.The sorting may include calculating an optical flow of coordinates for all image pairs in the images classified as the same person, and sorting the images in the order of successively making the person movement based on the calculation result. have.
상기 정렬하는 단계는 상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 등장 인물별로 상기 복수 이미지들을 분류하며, 등장 인물별로 분류된 이미지들을 정렬할 수 있다.The sorting may include classifying the plurality of images for each person and sorting the images classified for each person when a plurality of persons appear in the plurality of images.
상기 복수 이미지들을 전송하는 단계는 상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 사용자 단말의 인터페이스 화면에 표시되는 콘텐트를 생성하는 단계, 그리고 상기 콘텐트를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.The transmitting of the plurality of images may include generating content displayed on an interface screen of the user terminal while the plurality of images are randomly crossed or sequentially in a display order, and transmitting the content to the user terminal. It may include a step.
상기 복수 이미지들을 전송하는 단계는 상기 단일 이벤트 또는 상기 복수 이미지들에 연관된 적어도 하나의 태그를 상기 사용자 단말로 더 전송할 수 있다.The transmitting of the plurality of images may further transmit at least one tag associated with the single event or the plurality of images to the user terminal.
또 다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 공유 방법으로서, 이미지 저장소에서, 입력 이미지와 동일하거나 유사한 적어도 하나의 저장 이미지를 검색하는 단계, 상기 저장 이미지에 매핑된 이미지 설명 정보를 이용하여 상기 입력 이미지에 연관된 태그 목록을 생성하는 단계, 그리고 사용자 단말로, 상기 입력 이미지의 공유 정보와 상기 태그 목록을 전송하는 단계를 포함하고, 상기 이미지 저장소는 복수의 웹문서에서 추출된 각 이미지와 해당 이미지를 설명하는 이미지 설명 정보를 매핑하여 관리할 수 있다.An image sharing method of a server operated by at least one processor according to another embodiment, the method comprising: retrieving at least one stored image identical or similar to an input image in an image store; image description information mapped to the stored image Generating a list of tags associated with the input image by using; and transmitting the shared information of the input image and the tag list to a user terminal, wherein the image storage is extracted from a plurality of web documents. An image and image description information describing the image may be mapped and managed.
상기 입력 이미지는 상기 사용자 단말로부터 공유 요청된 링크 정보에서 스크래핑된 이미지일 수 있다.The input image may be an image scraped from link information requested to be shared from the user terminal.
상기 입력 이미지의 정보와 상기 태그 목록은 상기 사용자 단말의 인터페이스 화면에 표시되고, 상기 입력 이미지의 공유 정보는 썸네일 형태의 콘텐트일 수 있다.The information of the input image and the tag list may be displayed on an interface screen of the user terminal, and the sharing information of the input image may be thumbnail-type content.
또 다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 사용자 단말의 이미지 공유 방법으로서, 검색 요청된 검색 키워드를 서버로 전송하는 단계, 상기 서버로부터 상기 검색 키워드에 관련된 적어도 하나의 군집이벤트와 각 군집이벤트에 연관된 적어도 하나의 태그를 수신하는 단계, 그리고 제1 인터페이스 화면에, 각 군집이벤트에 군집된 이미지들과 적어도 하나의 태그를 군집이벤트별로 구분하여 표시하는 단계를 포함한다. 각 군집이벤트에 군집된 이미지들과 적어도 하나의 태그는 복수의 웹문서에서 추출된 이미지들과 해당 이미지를 설명하는 이미지 설명 정보로부터 획득된 정보이다.An image sharing method of a user terminal operated by at least one processor according to another embodiment, the method comprising: transmitting a requested search keyword to a server, at least one cluster event related to the search keyword from the server, and each cluster; Receiving at least one tag associated with the event, and displaying on the first interface screen, the image and the at least one tag grouped in each grouping event classified by the grouping event. Images clustered in each cluster event and at least one tag are information obtained from images extracted from a plurality of web documents and image description information describing the image.
상기 이미지 공유 방법은 상기 제1 인터페이스화면에서 입력받은 임의 군집이벤트에 대한 공유 요청을 상기 서버로 전송하는 단계, 상기 서버로부터 상기 임의 군집이벤트에 군집된 복수 이미지들을 수신하는 단계, 그리고 제2 인터페이스 화면에, 수신한 상기 복수 이미지들을 표시하는 단계를 더 포함할 수 있다.The image sharing method may include: transmitting a sharing request for a random cluster event received on the first interface screen to the server, receiving a plurality of images clustered in the random cluster event from the server, and a second interface screen The method may further include displaying the received plurality of images.
상기 복수 이미지들은 등장 인물의 움직임을 연속적으로 만드는 순서로 정렬되고, 상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 상기 복수 이미지들은 등장 인물별로 정렬될 수 있다.The plurality of images may be arranged in an order of continuously making a movement of a person, and when a plurality of people appear in the plurality of images, the plurality of images may be arranged for each person.
상기 복수 이미지들을 표시하는 단계는 상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 표시되는 형태로 생성된 콘텐트를 상기 제2 인터페이스 화면에 표시할 수 있다.In the displaying of the plurality of images, the generated content may be displayed on the second interface screen in a form in which the plurality of images are randomly crossed or sequentially crossed in a display order.
본 발명의 실시예에 따르면 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 군집화할 수 있다. 본 발명의 실시예에 따르면 웹에 쏟아져나오는 대량의 이미지들을 가공하여 공유할 수 있는 콘텐트를 생성할 수 있다. 본 발명의 실시예에 따르면 사용자는 관심있는 키워드로부터 유의미한 콘텐트를 얻을 수 있고, 정렬된 이미지들을 통해 이미지 검색 결과를 시각적으로 빠르게 확인할 수 있다.According to an embodiment of the present invention, various images of various sources may be clustered by attributes such as time, event, and person. According to an embodiment of the present invention, a large amount of images pouring out on the web may be processed to generate content that can be shared. According to an embodiment of the present invention, the user may obtain meaningful content from a keyword of interest, and visually confirm the image search result through the aligned images.
도 1은 본 발명의 한 실시예에 따른 시스템의 개략적인 구성도이다.
도 2는 본 발명의 한 실시예에 따른 이미지 저장소에 이미지들을 저장하는 방법을 설명하는 흐름도이다.
도 3은 본 발명의 한 실시예에 따른 이미지 저장 방법을 설명하는 예시 도면이다.
도 4는 본 발명의 한 실시예에 따른 이미지 군집화 방법의 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 이미지 군집화 방법을 설명하는 예시 도면이다.
도 6은 본 발명의 한 실시예에 따른 사용자 단말에 제공되는 군집된 이미지의 예시 도면이다.
도 7은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법의 흐름도이다.
도 8은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법을 이용한 서비스의 예시이다.
도 9와 도 10 각각은 본 발명의 한 실시예에 따른 군집 이미지 공유 방법을 설명하는 도면이다.
도 11은 본 발명의 한 실시예에 따른 메신저 서비스에서의 웹문서 공유를 위한 시스템을 설명하는 도면이다.1 is a schematic structural diagram of a system according to an embodiment of the present invention.
2 is a flow chart illustrating a method of storing images in an image store in accordance with one embodiment of the present invention.
3 is an exemplary view illustrating an image storing method according to an embodiment of the present invention.
4 is a flowchart of an image clustering method according to an embodiment of the present invention.
5 is an exemplary view illustrating an image clustering method according to an embodiment of the present invention.
6 is an exemplary view of a clustered image provided to a user terminal according to an embodiment of the present invention.
7 is a flowchart illustrating a person identification method of an image according to an exemplary embodiment of the present invention.
8 is an example of a service using a person identification method of an image according to an embodiment of the present invention.
9 and 10 each illustrate a cluster image sharing method according to an embodiment of the present invention.
11 is a diagram illustrating a system for sharing a web document in a messenger service according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.
도 1은 본 발명의 한 실시예에 따른 시스템의 개략적인 구성도이다.1 is a schematic structural diagram of a system according to an embodiment of the present invention.
도 1을 참고하면, 시스템(10)은 본 발명에서 설명하는 기능이 구현된 서버(100) 그리고 서버(100)와 통신하는 사용자 단말(200)을 포함한다. 시스템(10)은 서버(100)에 의해 가공된 이미지들이 저장되는 이미지 저장소(300)를 포함한다. 사용자 단말(200)은 본 발명에서 설명하는 기능을 제공하도록 프로그램된 어플리케이션을 탑재하고, 어플리케이션을 통해 서버(100)에서 제공되는 정보를 표시하고, 사용자에 의해 입력된 정보를 서버(100)로 전송한다.Referring to FIG. 1, the
서버(100)는 적어도 하나의 프로세서에 의해 본 발명에서 설명하는 동작을 실행한다. 서버(100)는 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 분류하고, 이미지 속성을 설명하는 태그를 통해 이미지를 군집화한다. 서버(100)는 군집된 이미지들을 기초로 공유할 수 있는 컨텐트를 생성하고, 사용자 단말(200)의 검색 요청에 대한 이미지 검색 결과를 제공한다. 서버(100)의 동작 방법은 다음에서 자세히 설명한다.The
사용자 단말(200)은 컴퓨터 판독 가능한 저장 매체에 저장되는 어플리케이션, 그리고 프로세서, 메모리, 디스플레이, 통신 모듈 등의 하드웨어를 포함한다. 어플리케이션은 본 발명에서 예를 들어 설명한 동작을 실행하기 위한 명령어들을 포함한다. 프로세서는 어플리케이션을 구동하여 프로그램된 동작을 실행한다. 디스플레이는 어플리케이션에서 제공하는 사용자 인터페이스 화면을 표시하고, 사용자 입력을 수신할 수 있고, 예를 들면 터치 입력을 수신할 수 있다. 통신 모듈은 통신망을 통해 서버(100)와 통신한다.The
사용자 단말(200)은 다양한 형태로 구현될 수 있고, 예를 들면, 스마트폰과 같은 모바일 단말, 스마트패드와 같은 패드형 단말, 랩탑 컴퓨터 등 각종 형태의 컴퓨터, 웨어러블 디바이스, TV 단말 등의 형태로 구현될 수 있다. The
도 2는 본 발명의 한 실시예에 따른 이미지 저장소에 이미지들을 저장하는 방법을 설명하는 흐름도이고, 도 3은 본 발명의 한 실시예에 따른 이미지 저장 방법을 설명하는 예시 도면이다.2 is a flowchart illustrating a method of storing images in an image store according to an embodiment of the present invention, and FIG. 3 is an exemplary view illustrating an image storing method according to an embodiment of the present invention.
도 2를 참고하면, 서버(100)는 다수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출한다(S110). 웹문서(또는, 간단히 '문서'라고도 함)는 뉴스, 블로그, 소셜미디어서비스 등의 웹에 공개된 디지털 문서로서, 서버(100)가 네트워크를 통해 접근 가능한 모든 문서를 포함한다. 웹문서는 적어도 하나의 이미지와 텍스트로 작성되는데, 동일/유사 이미지가 복수의 웹문서에서 추출될 수 있다. 웹문서에 포함된 이미지와 텍스트는 서로 상관관계가 있으므로, 서버(100)는 텍스트에서 이미지에 관계된 내용 또는 이미지를 설명하는 내용을 추출할 수 있다. 이미지를 설명하는 내용은 이미지가 추출된 문서에서 등장하는 제목(title)이나 문서에 포함된 단어, 어절 등은 문서의 메타데이터 등으로부터 추출될 수 있다.Referring to FIG. 2, the
서버(100)는 이미지별로 해당 이미지를 설명하는 내용을 태깅한다(S120). The
서버(100)는 추출한 이미지들의 중복여부를 판단하여, 중복 이미지들을 추출한다(S130). 중복이미지 추출 방법은 다양한 이미지 처리 기술 중에서 선택될 수 있다. 예를 들면, 서버(100)는 각 이미지를 나타내는 특징값(예를 들면, 128비트 해쉬값)을 비교하여, 중복 이미지들을 판별할 수 있다.The
서버(100)는 중복 이미지들 중에서 대표 이미지를 결정하고, 대표 이미지에 중복 이미지들 각각에 태깅된 이미지 설명 내용들을 연결한다(S140). 즉, 단일 이미지에 복수의 웹문서 정보가 연결된 이미지 정보를 생성한다. 서버(100)는 중복 이미지들 중에서 작성일이 가장 빠른 이미지 또는 품질이 가장 좋은 이미지를 대표 이미지로 결정할 수 있으나, 이외에도 다양한 방법으로 대표 이미지를 선정할 수 있다.The
서버(100)는 복수의 이미지 설명 내용들을 기초로 대표 이미지의 이미지 설명 태그 및 대표 이미지의 타임스탬프를 결정하고, 대표 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하여 이미지 저장소(300)에 저장한다(S150). 이미지 설명 태그는 동일 이미지를 설명하는 복수의 문서에서 빈번하게 등장하는 단어들로부터 획득될 수 있다. 이렇게 복수의 문서에서 빈번하게 등장하는 이미지 설명 태그는 해당 이미지를 가장 대표하는 설명으로 볼 수 있다. 서버(100)는 중복 이미지들이 포함된 웹문서 중에서 가장 빠른 작성일을 대표 이미지의 타임스탬프로 결정할 수 있다. 또는 서버(100)는 웹문서에 특정 이벤트 시간(예를 들면, 음반 발매일, 공연일, 이벤트 일정 등)이 기재된 경우, 문서 내용을 기초로 대표 이미지의 타임스탬프를 결정할 수 있다. 당일 발생한 이벤트에 대한 뉴스 등은 대부분의 당일 작성되나, 웹문서는 이미 발생한 이벤트에 대한 내용을 포함할 수도 있고, 앞으로 발생할 이벤트에 대한 내용을 포함할 수 있기 때문에 웹문서 작성일 대신 실제 이벤트 발생일을 타임스탬프로 사용할 수도 있다.The
도 3을 참고하면, N개의 문서에 이미지#1이 포함되어 있고, 각 문서에 이미지#1을 설명하는 내용들이 포함된 경우, 서버(100)는 동일한 이미지#1을 중심으로 복수의 웹문서들을 연결한다. 그리고, 서버(100)는 웹문서들에 포함된 이미지 설명 내용들 중 빈번하게 등장하는 단어(예를 들면, 레드벨벳, 앨범)를 이미지 설명 태그로 추출하고, 웹문서들 중 가장 빠른 작성일을 이미지#1의 타임스탬프로 추출할 수 있다. 문서1에 이미지#2가 더 포함된 경우, 서버(100)는 이미지#2를 중심으로 복수의 웹문서들을 연결한다.Referring to FIG. 3, when N documents include
이미지 저장소(300)에 저장되는 대표 이미지#1, 이미지 설명 태그 및 타임스탬프는 표 1과 같이 저장될 수 있다. 대표 이미지는 특징값 및/또는 이미지 파일로 저장될 수 있다.The
이미지representation
image
설명 태그/
타임스탬프image
Description Tag /
Timestamp
앨범
2016.09.21Red velvet
album
2016.09.21
문서2: 레드벨벳 스타일 대 변신(2016.09.21)
문서3: 레드벨벳 새 앨범으로 돌아왔어요(2016.09.21)
문서4: 레드벨벳 스타일 바꾼 새 앨범(2016.09.25)
…
문서N: 상큼발랄 레드벨벳 새로운 노래(2016.09.21)Document 1: Red Velvet New Album Coming Soon (2016.09.22)
Document 2: red velvet style vs transformation (2016.09.21)
Document 3: red velvet is back with a new album (2016.09.21)
Document 4: New Red Velvet Style Album (2016.09.25)
…
Document N: Fresh Red Velvet New Song (September 21, 2016)
다음에서, 동일/유사 이미지들을 시간/인물/이벤트 종류 등의 군집화 기준에 따라 군집하는 방법에 대해 설명한다.도 4는 본 발명의 한 실시예에 따른 이미지 군집화 방법의 흐름도이고, 도 5는 본 발명의 한 실시예에 따른 이미지 군집화 방법을 설명하는 예시 도면이며, 도 6은 본 발명의 한 실시예에 따른 사용자 단말에 제공되는 군집된 이미지의 예시 도면이다.Next, a method of grouping the same / similar images according to clustering criteria such as time / person / event type will be described. FIG. 4 is a flowchart of an image clustering method according to an embodiment of the present invention, and FIG. 6 is an exemplary diagram illustrating an image clustering method according to an exemplary embodiment of the present invention, and FIG. 6 is an exemplary diagram of a clustered image provided to a user terminal according to an exemplary embodiment of the present invention.
도 4를 참고하면, 서버(100)는 군집화 키워드를 포함하는 이미지 군집화 요청을 입력받는다(S210). 서버(100)는 사용자 단말(200)로부터 검색 키워드에 대한 이미지 검색을 요청받으면, 검색 키워드를 군집화 키워드로 적용하여 이미지 군집화 작업을 시작할 수 있다. 또는 서버(100)는 특정 키워드에 대한 이미지 군집화 작업을 주기적으로 하거나, 특정 이벤트가 발생할 때마다 해당 이벤트에 대한 이미지 군집화 작업을 미리 할 수 있다. Referring to FIG. 4, the
서버(100)는 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프가 매핑되어 저장된 이미지 저장소(300)에서 군집화 키워드에 연관된 이미지들을 추출한다(S220). 이때, 서버(100)는 타임스탬프가 특정 검색 기간(예를 들면, 오늘, 오늘부터 3일 전, 오늘부터 일주일 전, 오늘부터 한달 전, 오늘부터 일년 전, 과거의 특정 기간 등)에 작성된 이미지들을 추출한다. 검색 기간은 사용자 또는 서버에 의해 설정될 수 있다. 한편, 서버(100)는 이미지 군집화 전에, 다량의 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하여 이미지 저장소(300)에 저장하고, 이미지 군집화할 때, 이미지 저장소(300)에서 군집화 키워드에 연관된 이미지를 추출하는 것으로 가정한다. 하지만, 서버(100)는 이미지 군집화하면서, 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하고, 이를 이미지 저장소(300)에 저장할 수 있다. The
서버(100)는 군집화 키워드와 연관되어 있는 이미지들을 타임스탬프 순서로 정렬한다(S230). 도 5의 (a)를 참고하면, 군집화 키워드와 연관되어 있는 이미지들은 웹문서에 존재하는 중복 이미지들이 단일 이미지로 정리된 이미지 저장소(300)에서 추출되므로, 이미지 저장소(300)에서 추출된 이미지들은 동일하지 않은 이미지들로 구성된다. 예를 들어, 서버(100)는 군집화 키워드에 대한 검색 기간이 11월1일부터 11월3일인 경우, 타임스탬프가 11월1일인 M장의 이미지(1101_image_1~1101_image_m), 타임스탬프가 11월2일인 N장의 이미지(1102_image_1~1102_image_n), 타임스탬프가 11월3일인 K장의 이미지(1103_image_1~1103_image_k)를 시간 순서대로 정렬한다. 각 이미지는 뉴스, 블로그, 까페 등의 웹문서에서 추출된 이미지이고, 이미지 설명 태그가 메타데이터로 태깅되어 있다. 또한 각 이미지는 이미지명(title)이나 이미지 출처 등이 부가적으로 태깅되어 있을 수 있다.The
서버(100)는 타임스탬프 순서로 정렬된 이미지들의 유사도를 기초로 이미지를 묶어 적어도 하나의 군집이벤트를 생성한다(S240). 이미지들의 유사도는 이미지간 유사도 또는 이미지에 태깅된 이미지 설명 태그의 유사도를 포함할 수 있다. 도 5의 (b)를 참고하면, 서버(100)는 타임스탬프가 11월1일인 M장의 이미지 중에서, 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#1 및 군집이벤트#2를 생성하고, 타임스탬프가 11월2일인 N장의 이미지들 중 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#3을 생성하며, 타임스탬프가 11월3일인 K장의 이미지들 중 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#4를 생성할 수 있다. 이때, 서버(100)는 정렬된 이미지들 중에서 어느 군집이벤트에도 속하지 않는 이미지를 제외하거나, 단일 이미지 그대로 검색 결과 이미지로 노출할 수도 있다.The
한편, 단계 S230과 단계 S240에서, 서버(100)가 구분된 시간 단위(예를 들면, 1일 단위)로 이미지들을 묶기 위해 타임스탬프 순서로 이미지들을 정렬하는 것으로 설명하였다. 하지만, 타임스탬프 순서(예를 들면, 오늘, 어제, 그저께)로 정렬하여 이미지들을 미리 구분할 필요 없이, 서버(100)는 특정 검색 기간(예를 들면, 오늘부터 3일 전)에 작성된 이미지들을 추출하고, 추출한 이미지들 전체를 유사도 기반으로 묶을 수 있다.Meanwhile, in steps S230 and S240, it has been described that the
서버(100)는 각 군집이벤트에 이벤트명칭 및 군집 태그를 매핑한다(S250). 서버(100)는 해당 군집에 속한 이미지들의 이미지 설명 태그를 분석하여 군집을 대표하는 이벤트 명칭(예를 들면, ooo의 시구, ooo의 리허설, ooo의 경기, 영화 ooo 시사회 등)을 만들고, 해당 군집에 속한 이미지들의 이미지 설명 태그를 분석하여 군집을 대표하는 군집 태그를 만든다. 군집 태그는 해당 군집에 속한 이미지들의 이미지 설명 태그를 모두 포함하거나, 해당 군집에 속한 이미지들의 이미지 설명 태그 중 상위 다빈도 태그를 포함할 수 있다. 서버(100)는 이미지 설명 태그 이외에도, 이미지 설명 태그에 연관된 키워드들을 군집 태그로 결정하거나, 검색 키워드에 연관된 정보로부터 추출된 키워드들을 군집 태그로 결정할 수 있다. 예를 들어, 서버(100)는 검색 키워드가 인물인 경우, 해당 인물의 출연 영화/출연 방송 등과 이에 대한 동의어/유사어를 추출하고, 추출한 정보로부터 검색 키워드나 군집이벤트와 연관성이 높다고 판단되는 키워드를 군집 태그로 결정할 수 있다. 군집 태그 중 적어도 일부는 군집된 이미지와 함께 사용자 단말(200)에 표시될 수 있다. 군집이벤트별 군집된 이미지, 이벤트명칭 및 군집 태그는 이미지 저장소(300)에 저장된다.The
서버(100)는 사용자 단말(200)로 특정 군집이벤트나 군집 태그로 군집된 이미지들을 전송한다(S260). 군집된 이미지들은 사용자 단말(200)의 사용자 인터페이스 화면에 표시된다.The
도 6의 (a)를 참고하면, 사용자 단말(200)은 군집이벤트별로 이미지들을 사용자 인터페이스 화면(400)에 표시하는데, 복수의 군집이벤트가 존재하는 경우, 시간 순으로 표시할 수 있다. 예를 들어, 사용자 인터페이스 화면(400a)은 군집이벤트별로 이벤트 명칭(410), 군집된 이미지(420), 적어도 하나의 태그(430)를 표시한다. 태그는 군집이벤트에 대응된 태그 또는 군집이벤트와 연관된 태그일 수 있다. 사용자 인터페이스 화면(400)은 군집이벤트별로 공유 버튼(440), 날짜(450) 등을 더 표시할 수 있다. 사용자 인터페이스 화면(400)은 군집이벤트 검색에 사용된 검색 키워드명칭(460)을 더 표시할 수 있다. 사용자가 태그(430)를 선택하면, 사용자 단말(200)은 태그(430)에 관련된 검색 결과를 공유 화면(예를 들면, 메신저 어플리케이션의 채팅방 화면)에 표시할 수 있다.Referring to FIG. 6A, the
도 6의 (b)를 참고하면, 사용자가 공유 버튼(440)을 선택하면, 사용자 단말(200)은 공유 버튼(440)에 해당하는 군집이벤트를 공유 화면(예를 들면, 메신저 어플리케이션의 채팅방 화면)(400b)에 표시할 수 있다. 이때, 공유된 군집이벤트는 군집된 이미지 전체를 공유 화면에 표시할 수 있으나, 썸네일 형태나, 군집된 이미지들이 자동/수동으로 순차적으로 또는 랜덤하게(randomly) 넘어가면서 표시되는(재생되는) 콘텐트(앞으로, '움직이는 이미지 콘텐트' 또는 '요약형 콘텐트'라고 함)(470)로 표시될 수 있다. Referring to FIG. 6B, when the user selects the
공유 화면(400b)은 공유된 콘텐트와 함께, 공유된 콘텐트에 관련된 태그들을 함께 표시할 수 있다. The
도 7은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법의 흐름도이고, 도 8은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법을 이용한 서비스의 예시이다.7 is a flowchart of a method for identifying a person in an image according to an embodiment of the present invention, and FIG. 8 is an example of a service using the method for identifying a person in an image according to an embodiment of the present invention.
도 7을 참고하면, 뉴스, 블로그, 소셜미디어서비스 등에 수많은 웹문서들이 존재하는데, 서버(100)는 웹문서에서 추출한 이미지들이 중복되는 경우, 중복 이미지들 중에서 대표 이미지를 결정하고, 대표 이미지에 중복 이미지들 각각에 태깅된 이미지 설명 내용들을 연결한다. 하지만, 이미지 설명 내용은 텍스트이므로, 동명이인이나 중의적 표현이 존재하는 경우, 이미지 검색 결과가 부정확할 수 있다. 이미지 분류기를 통해 인물을 분류할 수 있으나, 인물 수가 지속적으로 늘어나기 때문에, 학습 기반 이미지 분류기는 확장성이 높지 않다. 따라서, 서버(100)는 이미지와 함께 추출된 이미지 설명 내용을 기초로 이미지 내 인물을 다음과 같이 확인한다.Referring to FIG. 7, there are numerous web documents such as news, blogs, social media services, etc. When the images extracted from the web documents overlap, the
서버(100)는 인물별로 인물정보를 관리한다(S310). 인물정보는 인물 이미지의 특징값, 인물에 부여된 고유의 인물 식별정보(ID), 인물을 식별할 수 있는 부가 정보(예를 들면, 직업 등)를 포함한다. 한편, 서버(100)는 직접 인물정보를 관리하지 않고, 외부의 인물 데이터베이스를 사용할 수 있다.The
서버(100)는 웹문서에서 추출된 이미지와 이미지 설명 내용을 입력받으면, 이미지 설명 내용으로부터 후보 인물을 추출한다(S320). 만약, 이미지 설명 내용으로부터 이미지 내 인물 확인이 불필요하거나, 특정 인물임이 확실한 경우, 다음의 인물 확인 절차를 생략하고, 곧바로 추출 이미지에 이미지 설명 태그를 태깅하는 절차를 수행할 수 있다.When the
서버(100)는 이미지 설명 내용에 포함된 키워드들과 후보 인물의 인물정보를 기초로 후보 인물이 이미지 내 인물인지를 평가한다(S330). 서버(100)는 인물 데이터베이스, 영화 데이터베이스, TV프로그램 데이터베이스 등 다양한 API를 매쉬업(Mash-up)하여 후보 인물이 이미지 내 인물인지를 평가할 수 있다.The
서버(100)는 후보 인물의 평가 점수를 기초로 이미지 내 인물을 확인한다(S340). 후보 인물이 복수인 경우, 서버(100)는 각 후보 인물의 평가 점수를 기초로 이미지 내 인물을 결정할 수 있다. 서버(100)는 정확성을 높이기 위해 확인된 인물의 이미지 특징값과, 웹문서에서 추출한 이미지의 특징값을 비교하여 최종적으로 인물을 결정할 수 있다.The
서버(100)는 확인된 인물ID를 이미지의 이미지 설명 태그에 추가한다(S350).The
예를 들어, 서버(100)가 어느 웹문서에서 추출된 인물 이미지와 함께, '김범수, 유희열의 스케치북에서 입담 뽑내'라는 이미지 설명 내용을 입력받는 경우, 이미지 설명 내용에 포함된 인물명 '김범수'을 기초로 후보 인물(가수 김범수, 아나운서 김범수, 경영인 김범수)을 추출한다.For example, when the
서버(100)는 이미지 설명 내용에 포함된 키워드(예를 들면, 음악 방송 프로그램명인 '유희열의 스케치북' 등)와 후보 인물의 인물정보를 기초로 후보 인물들 중에서 이미지 설명 내용에 부합하는 정도를 평가한 후, 점수가 가장 높은 '가수 김범수'를 이미지 내 인물로 확인할 수 있다. 이때, 평가 기준 및 평가 방법은 다양하게 설정될 수 있다. The
이러한, 이미지 내 인물 확인 방법을 통해, 서버(100)는 도 2에서 설명한 이미지 저장소에 웹문서에서 추출한 이미지들을 저장할 때, 정확한 인물정보를 태깅하여 저장할 수 있다. 서버(100)는 사용자 단말(200)에 군집된 이미지를 제공할 때, 정확한 인물정보로 이미지들을 군집화할 수 있다. 따라서, 사용자가 인물명 태그(예를 들면, #김범수)를 입력하여 검색 요청하는 경우, 서버(100)는 가수 김범수로 군집된 이미지와 아나운서 김범수로 군집된 이미지를 구분하여 제공할 수 있다.Through such a method of identifying a person in an image, the
도 8을 참고하면, 지금까지 설명한 서버(100)의 이미지 내 인물 확인 방법은 이미지에 포함된 인물 확인 서비스에 적용될 수 있다. Referring to FIG. 8, the person identification method in the image of the
예를 들어, 서버(100)는 이미지 내 인물 확인을 요청받을 수 있다. 사용자가 인물 확인을 요청하는 방법은 다양할 수 있다. 한 실시예에 따르면, 사용자는 이미지가 포함된 웹문서를 보다가 해당 웹문서에 포함된 이미지가 누구인지 궁금한 경우, 웹문서나 웹문서의 링크 정보(URL)를 서버(100)로 전송하여 웹문서에 포함된 이미지의 인물 확인을 요청할 수 있다. 그러면, 서버(100)는 웹문서의 이미지에 도 8과 같은 인물 확인 정보를 부가하여 사용자 단말(200)에 표시할 수 있다. 다른 실시예에 따르면, 사용자는 인물 확인하고자 하는 이미지를 서버(100)로 전송하여 이미지의 인물 확인을 요청할 수 있다.For example, the
이미지에 복수의 인물이 포함된 경우, 서버(100)는 각 인물이 누구인지 평가하고, 평가 결과를 기초로 인물명을 확인할 수 있다. When a plurality of people are included in the image, the
서버(100)는 이미지와 함께 이미지 설명 내용이 함께 입력되는 경우, 이미지 설명 내용으로부터 후보 인물을 결정하고, 좁혀진 후보 인물의 이미지 특징값과 입력 이미지의 특징값을 비교하여 복수의 인물 각각을 평가한다. 예를 들어, 이미지 함께 '트와이스 OO 무대'라는 이미지 설명 내용이 입력되는 경우, 서버(100)는 이미지 설명 내용을 기초로 후보 인물을 '트와이스 멤버'로 결정하고, 이미지 내 인물이 트와이스 멤버 각각일 가능성을 점수로 평가할 수 있다. When the image description content is input together with the image, the
이미지만 입력되더라도, 서버(100)는 이미지 저장소(300)에서 입력 이미지와 동일한 저장 이미지를 찾는다. 그리고 서버(100)는 저장 이미지에 대응된 이미지 설명 태그나 이미지 설명 내용들을 기초로 후보 인물을 결정하고, 좁혀진 후보 인물의 이미지 특징값과 입력 이미지의 특징값을 비교하여 복수의 인물 각각을 평가할 수 있다. Even if only an image is input, the
이미지 저장소(300)에서 입력 이미지와 동일한 저장 이미지가 없는 경우, 서버(100)는 이미지 저장소(300)에 저장된 인물 이미지들의 특징값과 입력 이미지의 인물별 특징값을 비교하여 복수의 인물 각각을 평가할 수 있다. If there is no stored image identical to the input image in the
사용자 단말(200)은 도 8과 같이, 인물명과 함께 평가점수를 더 보여줄 수 있다. 인물명 각각은 태그로 생성되어, 사용자가 인터페이스 화면에서 해당 인물명 또는 인물명 태그를 선택하면, 사용자 단말(200)은 선택한 인물명 태그에 관련된 검색 결과를 표시할 수 있다.As illustrated in FIG. 8, the
도 9와 도 10 각각은 본 발명의 한 실시예에 따른 군집 이미지 공유 방법을 설명하는 도면이다.9 and 10 each illustrate a cluster image sharing method according to an embodiment of the present invention.
도 9와 도 10을 참고하면, 서버(100)는 군집된 이미지들을 사용자들이 공유할 수 있는 형태의 콘텐트로 생성하여, 사용자 단말(200)에 제공한다. 서버(100)는 군집된 이미지들이 연속적으로 재생되는 '움직이는 이미지 콘텐트' 또는 '요약형 콘텐트'를 사용자 단말(200)에 제공할 수 있다. 사용자가 콘텐트를 공유하는 서비스는 다양할 수 있으나, 여기서는 메신저 어플리케이션의 채팅방 화면에서 대화자들과 군집된 이미지들을 공유하는 것을 예로 들어 설명한다. 9 and 10, the
먼저, 서버(100)가 군집된 이미지들을 이용하여 요약형 콘텐트를 생성하는 방법에 대해 설명한다.First, a method of generating summary content by using the clustered images by the
도 9를 참고하면, 서버(100)는 군집이벤트에 포함된 군집된 이미지를 가져온다(S410). Referring to FIG. 9, the
서버(100)는 군집된 이미지 각각에서 등장 인물을 확인하고, 등장 인물별로 정렬한다(S420). The
서버(100)는 등장 인물별로 정렬된 동일 인물 이미지들 중에서, 동일 인물 이미지들 사이의 움직임을 확인한다(S430). 서버(100)는 이미지 좌표의 광학 흐름(Optical Flow)을 추적해 움직임을 찾을 수 있다.The
서버(100)는 동일 인물이 등장하는 이미지 내의 모든 이미지쌍에 대한 좌표들의 광학 흐름으로부터 모든 이미지쌍에 대한 연속적 움직임 점수를 계산한다(S440). 두 이미지의 많은 좌표들이 같은 방향으로 연속적으로 움직일 때, 움직임 점수가 높게 계산된다. 서버(100)는 N개의 이미지로부터 획득가능한 모든 이미지쌍의 관계를 NxN 행렬로 저장할 수 있다.The
서버(100)는 모든 이미지쌍의 움직임 점수를 기초로 이미지 내의 움직임 방향을 추정하고, 움직임이 연속적인 순서로 이미지들을 순차적으로 배치한다(S450). 예를 들면, 군집이벤트에 포함된 인물#1의 이미지들이 IMG1부터 IMG5인 경우, 서버(100)는 IMG1와 IMG2, IMG1과 IMG3, IMG1과 IMG4, IMG1과 IMG5, IMG2와 IMG3, IMG1와 IMG4, IMG2와 IMG5, IMG3과 IMG4, IMG3과 IMG5, IMG4과 IMG5의 움직임 점수를 기초로 움직임이 연속적인 순서(인물 움직임을 연속적으로 만드는 순서), 즉 IMG2, IMG3, IMG1, IMG5, IMG4를 찾고, 이 순서대로 이미지들을 배치한다.The
서버(100)는 순차적으로 배치된 이미지들이 연속적으로(랜덤하게 또는 순차적으로) 넘어가면서 표시되는 요약형 콘텐트(움직이는 이미지 콘텐트)를 생성한다(S460). 광학 흐름을 기초로 인물 움직임을 자연스럽게 만드는 순서로 이미지가 배치되므로, 배치된 이미지들이 연속적으로(랜덤하게 또는 순차적으로) 넘어가면 인물이 자연스럽게 움직이는 것처럼 보인다. 요약형 콘텐트는 도 6의 (b)와 같이 메신저 어플리케이션의 채팅방에 전송되어 공유될 수 있다. The
요약형 콘텐트는 다양한 템플릿 중에서 선택되어 생성될 수 있다. 예를 들면, 요약형 콘텐트는 단일 등장 인물의 이미지가 순서대로 이어지는 템플릿으로 생성될 수 있다. 요약형 콘텐트는 군집이벤트에 복수의 등장 인물이 존재하는 경우, 복수의 등장 인물의 요약형 콘텐트를 연결하여 생성될 수 있다. The summary content may be generated by selecting from various templates. For example, the summary content may be generated as a template in which images of a single person follow in sequence. The summary content may be generated by concatenating the summary content of the plurality of characters when there are a plurality of characters in the cluster event.
서버(100)가 군집된 이미지들 중 복수의 이미지들을 선택하여 요약형 콘텐트를 생성할 수 있고, 또는 서버(100)가 사용자 단말(200)로부터 선택된 복수의 이미지들이나 사용자 단말(200)로부터 선택된 등장 인물을 기초로 요약형 콘텐트를 생성할 수 있다.The
다음으로, 사용자 단말(200)이 서버(100)로부터 수신한 군집이벤트에 관련된 콘텐트를 화면에 표시하는 방법에 대해 설명한다.Next, a method of displaying content related to a clustering event received from the
도 10의 (a)를 참고하면, 사용자 단말(200)은 서버(100)로부터 군집이벤트로 군집된 복수의 이미지들을 수신하여, 검색 결과 화면(500a)에 표시한다. 사용자 단말(200)은 검색 키워드에 대한 군집이벤트를 서버(100)로 요청할 수 있다. 이때, 사용자가 검색 키워드는 직접 입력해서 군집이벤트를 요청하거나, 임의 인터페이스 화면에 표시된 검색 키워드를 선택하여 군집이벤트를 요청할 수 있다. 사용자 인터페이스 화면(500a)은 군집이벤트 이외에도 다른 컬렉션에도 검색 키워드에 관련된 검색 결과가 존재하는 경우, 카드뷰 형식으로 다른 컬렉션을 더 표시할 수 있다. Referring to FIG. 10A, the
검색 결과 화면(500a)은 복수의 이미지들의 대표 이미지들(510)을 표시할 수 있다. 이때, 검색 결과 화면(500a)은 군집이벤트에 관련된 태그(520)(예를 들면, #TWICE, #쯔위, #무대, #엠카운트다운 등)를 표시할 수 있다. 그리고, 사용자 인터페이스 화면(500a)은 공유 버튼(530)을 표시할 수 있다. 사용자 인터페이스 화면(500a)은 이미지 펼쳐보기 버튼(540)을 표시할 수 있다. The
도 10의 (b)를 참고하면, 검색 결과 화면(500a)의 이미지 펼쳐보기 버튼(540)이 선택되면, 검색 결과 화면(500b)에 숨겨져 있던 군집이벤트의 이미지들이 펼쳐져 표시된다. 이때, 이미지들은 인물별로 정렬되고, 동일 인물 이미지에서도 움직임 방향(동선)에 따라 정렬되어 표시된다. 한편, 도 10의 (a)에서, 어느 대표 이미지를 선택하면, 해당 대표 이미지에 연결된 이미지들만이 펼쳐서 보일 수 있다.Referring to FIG. 10B, when the image expand
공유 버튼(530)이 선택되는 경우, 서버(100)는 복수의 이미지들을 요약형 콘텐트로 생성하여 사용자 단말(200)로 전송할 수 있다. 또는, 사용자가 검색 결과 화면(500a나 500b)에서 군집이벤트에 포함된 이미지들에 대한 요약형 콘텐트 생성을 요청할 수 있는 버튼(미도시)을 선택하는 경우, 서버(100)는 복수의 이미지들을 요약형 콘텐트로 생성하여 사용자 단말(200)로 전송할 수 있다. 군집이벤트에 포함된 이미지들 중 사용자가 이미지들을 선택하여 요약형 콘텐트를 생성할 수 있도록, 검색 결과 화면(500a나 500b)은 이미지 선택 버튼(미도시)을 더 포함할 수 있다.When the
도 10의 (c)를 참고하면, 사용자 단말(200)은 서버(100)로부터 군집이벤트의 요약형 콘텐트(610)를 수신하여 공유 화면(예를 들면, 채팅방 화면)(600)에 표시할 수 있다. 사용자가 요약형 콘텐트(610)를 탭하는 등의 선택을 하면, 요약형 콘텐트(610)에 포함된 이미지들이 순서에 따라 연속적으로(랜덤하게 또는 순차적으로) 넘어가면서 표시된다. 공유 화면(600)은 요약형 콘텐트(610)와 함께 요약형 콘텐트에 관련된 태그(620)(예를 들면, #TWICE, #쯔위, #무대 등)를 함께 표시할 수 있다. Referring to FIG. 10C, the
추천 태그나 대표 태그가 선택되면, 사용자 단말(200)은 해당하는 검색 결과를 공유 화면(600) 또는 별도의 인터페이스 화면에 표시할 수 있다.When the recommendation tag or the representative tag is selected, the
도 11은 본 발명의 한 실시예에 따른 메신저 서비스에서의 웹문서 공유를 위한 시스템을 설명하는 도면이다.11 is a diagram illustrating a system for sharing a web document in a messenger service according to an embodiment of the present invention.
도 11을 참고하면, 서버(100)가 사용자 단말(200)의 메신저 어플리케이션을 통해 콘텐트를 공유하는 것을 가정하고 설명한다. 서버(100)는 메신저 서비스에서 제공하는 기능에 따라 메시징 서버(10), 이미지 분석 서버(12), 스크랩 서버(14) 등으로 분리될 수 있고, 메시징 서버(10), 이미지 분석 서버(12), 그리고 스크랩 서버(14) 사이의 연동 방법과, 이들이 사용자 단말(200)과 통신하는 방법은 연동 규칙이나 서비스 시나리오에 따라 다양하게 설계변경될 수 있다. 한편, 서버(100)는 메시징 서버(10), 이미지 분석 서버(12), 스크랩 서버(14) 중 적어도 하나를 포함하고, 서버(100)에 포함되지 않은 서버 기능은 외부의 서버 시스템(예를 들면, 제3자에 의해 운용되는 시스템)과 연동하여 외부의 서버 시스템으로부터 제공받을 수 있다. Referring to FIG. 11, it is assumed that the
채팅방 화면(700)에 특정 링크(URL) 정보(710)가 입력되면, 사용자 단말(200)은 스크랩 서버(14)로 특정 링크(URL) 정보를 전달하고, 스크랩 서버(14)는 특정 링크(URL) 정보에 해당하는 콘텐트 서버에 접속하여 해당 콘텐트를 스크래핑한다. 스크래핑한 콘텐트는 이미지와 해당 웹문서에 포함된 이미지 설명 정보(예를 들면, 웹문서 제목)를 포함한다. When specific link (URL)
스크랩 서버(14)는 스크래핑한 콘텐트를 이미지 분석 서버(12)로 전송하여, 공유 콘텐트를 요청한다.The
이미지 분석 서버(12)는 스크래핑된 이미지 내 인물 등장 여부, 얼굴의 위치, 사물의 위치 등의 정보를 분석해 썸네일을 생성한다. 그리고, 이미지 분석 서버(12)는 이미지 저장소(300)에서 스크래핑된 이미지와 동일/유사 이미지를 추출한다. 여기서, 이미지 저장소(300)는 표 1과 같이, 이미지별로 이미지 설명 태그나 웹문서들에 포함된 이미지 설명 내용들을 저장하고 있다. 따라서, 이미지 분석 서버(12)는 이미지 저장소(300)에서, 추출된 동일/유사 이미지에 매핑된 이미지 설명 태그나 웹문서들에 포함된 이미지 설명 내용들을 기초로 스크래핑된 이미지에 연관된 태그 목록을 생성할 수 있다.The
스크래핑한 콘텐트의 썸네일과 태그 목록은 스크랩 서버(14)를 통해 사용자 단말(200)로 전달될 수 있다.The thumbnail and tag list of the scraped content may be delivered to the
채팅방 화면(700)은 링크(URL) 정보(710)에서 스크래핑된 콘텐트의 썸네일(720)과 태그 목록에 포함된 적어도 하나의 태그(730)를 표시한다. 태그(730)가 선택되면, 사용자 단말(200)은 태그(730)해당하는 검색 결과를 채팅창 화면(700) 또는 별도의 인터페이스 화면에 표시할 수 있다.The
이와 같이, 본 발명의 실시예에 따르면 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 군집화할 수 있다. 본 발명의 실시예에 따르면 웹에 쏟아져나오는 대량의 이미지들을 가공하여 공유할 수 있는 콘텐트를 생성할 수 있다. 본 발명의 실시예에 따르면 사용자는 관심있는 키워드로부터 유의미한 콘텐트를 얻을 수 있고, 정렬된 이미지들을 통해 이미지 검색 결과를 시각적으로 빠르게 확인할 수 있다.As described above, according to an exemplary embodiment of the present invention, various images of various sources may be clustered by attributes such as time, event, and person. According to an embodiment of the present invention, a large amount of images pouring out on the web may be processed to generate content that can be shared. According to an embodiment of the present invention, the user may obtain meaningful content from a keyword of interest, and visually confirm the image search result through the aligned images.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not only implemented through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (7)
단일 이벤트로 군집된 복수 이미지들의 공유 요청을 입력받는 단계,
상기 복수 이미지들 각각에 포함된 인물 식별 정보를 기초로 각 이미지에 포함된 등장 인물을 식별하고, 상기 복수 이미지들 중 동일한 등장 인물을 포함하는 이미지들을 조합하여 복수의 이미지쌍을 추출하며, 상기 복수의 이미지쌍에서 대응하는 좌표들의 광학 흐름(Optical Flow)을 추적하여 상기 복수의 이미지쌍 각각의 연속적 움직임 점수를 계산하고, 상기 복수의 이미지쌍 각각의 움직임 점수를 기초로 상기 등장 인물의 움직임을 연속적으로 만드는 순서로 상기 등장 인물을 포함하는 이미지들을 정렬하는 단계, 그리고
사용자 단말로, 정렬된 상기 복수 이미지들을 전송하는 단계를 포함하고,
상기 움직임 점수는 각 이미지쌍의 두 이미지에서 같은 방향으로 움직이는 좌표들이 많을 수록 높은 점수가 부여되는, 이미지 공유 방법.An image sharing method of a server operated by at least one processor,
Receiving a request for sharing a plurality of images clustered as a single event;
Identify a person included in each image based on person identification information included in each of the plurality of images, extract a plurality of image pairs by combining images including the same person among the plurality of images, and extract the plurality of image pairs. Compute a continuous motion score of each of the plurality of image pairs by tracking an optical flow of corresponding coordinates in the image pairs of the image pairs, and successively move the character's motion based on the motion score of each of the plurality of image pairs. Arranging the images including the characters in the order of making the image;
Sending the plurality of aligned images to a user terminal,
The motion score is given a higher score as the more coordinates moving in the same direction in the two images of each image pair.
상기 정렬하는 단계는
상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 등장 인물별로 상기 복수 이미지들을 분류하며, 등장 인물별로 분류된 이미지들을 정렬하는 이미지 공유 방법.In claim 1,
The sorting step
And when the plurality of persons appear in the plurality of images, classifying the plurality of images for each person and sorting the images classified for each person.
상기 복수 이미지들을 전송하는 단계는
상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 사용자 단말의 인터페이스 화면에 표시되는 콘텐트를 생성하는 단계, 그리고
상기 콘텐트를 상기 사용자 단말로 전송하는 단계
를 포함하는 이미지 공유 방법.In claim 1,
The transmitting of the plurality of images
Generating content displayed on an interface screen of the user terminal while the plurality of images are randomly passed or sequentially passed in a display order; and
Transmitting the content to the user terminal
Image sharing method comprising a.
상기 복수 이미지들을 전송하는 단계는
상기 단일 이벤트 또는 상기 복수 이미지들에 연관된 적어도 하나의 태그를 상기 사용자 단말로 더 전송하는 이미지 공유 방법.In claim 1,
The transmitting of the plurality of images
And transmitting at least one tag associated with the single event or the plurality of images to the user terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180110547A KR102023687B1 (en) | 2018-09-14 | 2018-09-14 | Method for sharing images, and system and application implementing the same method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180110547A KR102023687B1 (en) | 2018-09-14 | 2018-09-14 | Method for sharing images, and system and application implementing the same method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170012259A Division KR101934108B1 (en) | 2017-01-25 | 2017-01-25 | Method for clustering and sharing images, and system and application implementing the same method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180107042A KR20180107042A (en) | 2018-10-01 |
KR102023687B1 true KR102023687B1 (en) | 2019-09-20 |
Family
ID=63878030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180110547A KR102023687B1 (en) | 2018-09-14 | 2018-09-14 | Method for sharing images, and system and application implementing the same method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102023687B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101191172B1 (en) * | 2012-02-15 | 2012-10-15 | (주)올라웍스 | Method, apparatus and computer-readable recording medium for managing images in image database |
KR101354721B1 (en) | 2012-05-21 | 2014-01-29 | 주식회사 다음커뮤니케이션 | Search system and method of search service |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100706389B1 (en) * | 2005-07-15 | 2007-04-10 | (주)첫눈 | Image search method and apparatus considering a similarity among the images |
KR20160039516A (en) * | 2014-10-01 | 2016-04-11 | 엘지전자 주식회사 | Mobile terminal and method for controlling the same |
-
2018
- 2018-09-14 KR KR1020180110547A patent/KR102023687B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101191172B1 (en) * | 2012-02-15 | 2012-10-15 | (주)올라웍스 | Method, apparatus and computer-readable recording medium for managing images in image database |
KR101354721B1 (en) | 2012-05-21 | 2014-01-29 | 주식회사 다음커뮤니케이션 | Search system and method of search service |
Also Published As
Publication number | Publication date |
---|---|
KR20180107042A (en) | 2018-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200183977A1 (en) | Providing relevant cover frame in response to a video search query | |
US9972113B2 (en) | Computer-readable recording medium having stored therein album producing program, album producing method, and album producing device for generating an album using captured images | |
US8385660B2 (en) | Mixed media reality indexing and retrieval for repeated content | |
KR101944469B1 (en) | Estimating and displaying social interest in time-based media | |
JP5353148B2 (en) | Image information retrieving apparatus, image information retrieving method and computer program therefor | |
US8027998B2 (en) | Minutes production device, conference information management system and method, computer readable medium, and computer data signal | |
KR102017853B1 (en) | Method and apparatus for searching | |
US20100082653A1 (en) | Event media search | |
US20150142800A1 (en) | Generating electronic summaries of online meetings | |
US20230244707A1 (en) | Management of event summary types | |
US8397156B2 (en) | Organizing documents through utilization of people tags | |
JP5374758B2 (en) | Comment distribution system, comment distribution system operation method, and program | |
CN111368141B (en) | Video tag expansion method, device, computer equipment and storage medium | |
KR101934108B1 (en) | Method for clustering and sharing images, and system and application implementing the same method | |
JP2002108892A (en) | Data management system, data management method and recording medium | |
Kim et al. | TwitterTrends: a spatio-temporal trend detection and related keywords recommendation scheme | |
Ang et al. | LifeConcept: an interactive approach for multimodal lifelog retrieval through concept recommendation | |
US20210271725A1 (en) | Systems and methods for managing media feed timelines | |
KR102023687B1 (en) | Method for sharing images, and system and application implementing the same method | |
KR20220022065A (en) | Sharing Methods for Clustering User Searched Image and Implementation Thereof | |
CN115130453A (en) | Interactive information generation method and device | |
JP6828287B2 (en) | Information processing equipment and information processing programs | |
KR20220023385A (en) | Sharing Methods for Clustering User Searched Image and Implementation Thereof | |
KR101575819B1 (en) | Video search and offering method | |
JP2002175298A (en) | Data management system, data management method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |