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 PDF

Info

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
Application number
KR1020180110547A
Other languages
Korean (ko)
Other versions
KR20180107042A (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 KR1020180110547A priority Critical patent/KR102023687B1/en
Publication of KR20180107042A publication Critical patent/KR20180107042A/en
Application granted granted Critical
Publication of KR102023687B1 publication Critical patent/KR102023687B1/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/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval 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
    • 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

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

서버의 이미지 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션{METHOD FOR SHARING IMAGES, AND SYSTEM AND APPLICATION IMPLEMENTING THE SAME METHOD}How to share images on a server, and the systems and applications that implement them {METHOD FOR SHARING IMAGES, AND SYSTEM AND APPLICATION IMPLEMENTING THE SAME METHOD}

본 발명은 이미지 군집화에 관한 것이다.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 system 10 includes a server 100 in which the functions described in the present invention are implemented, and a user terminal 200 in communication with the server 100. The system 10 includes an image store 300 in which images processed by the server 100 are stored. The user terminal 200 mounts an application programmed to provide the functions described in the present invention, displays information provided by the server 100 through the application, and transmits information input by the user to the server 100. do.

서버(100)는 적어도 하나의 프로세서에 의해 본 발명에서 설명하는 동작을 실행한다. 서버(100)는 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 분류하고, 이미지 속성을 설명하는 태그를 통해 이미지를 군집화한다. 서버(100)는 군집된 이미지들을 기초로 공유할 수 있는 컨텐트를 생성하고, 사용자 단말(200)의 검색 요청에 대한 이미지 검색 결과를 제공한다. 서버(100)의 동작 방법은 다음에서 자세히 설명한다.The server 100 executes the operations described in the present invention by at least one processor. The server 100 classifies various images from various sources by attributes such as time, event, and person, and clusters the images through a tag describing the image attributes. The server 100 generates content that can be shared based on the clustered images, and provides an image search result for the search request of the user terminal 200. The operation method of the server 100 will be described in detail below.

사용자 단말(200)은 컴퓨터 판독 가능한 저장 매체에 저장되는 어플리케이션, 그리고 프로세서, 메모리, 디스플레이, 통신 모듈 등의 하드웨어를 포함한다. 어플리케이션은 본 발명에서 예를 들어 설명한 동작을 실행하기 위한 명령어들을 포함한다. 프로세서는 어플리케이션을 구동하여 프로그램된 동작을 실행한다. 디스플레이는 어플리케이션에서 제공하는 사용자 인터페이스 화면을 표시하고, 사용자 입력을 수신할 수 있고, 예를 들면 터치 입력을 수신할 수 있다. 통신 모듈은 통신망을 통해 서버(100)와 통신한다.The user terminal 200 includes an application stored in a computer readable storage medium and hardware such as a processor, a memory, a display, a communication module, and the like. The application includes instructions for executing the operation described by way of example in the present invention. The processor runs the application to execute the programmed operation. The display may display a user interface screen provided by an application and receive a user input, for example, a touch input. The communication module communicates with the server 100 through a communication network.

사용자 단말(200)은 다양한 형태로 구현될 수 있고, 예를 들면, 스마트폰과 같은 모바일 단말, 스마트패드와 같은 패드형 단말, 랩탑 컴퓨터 등 각종 형태의 컴퓨터, 웨어러블 디바이스, TV 단말 등의 형태로 구현될 수 있다. The user terminal 200 may be implemented in various forms, for example, in the form of a mobile terminal such as a smartphone, a pad-type terminal such as a smart pad, a computer of various forms such as a laptop computer, a wearable device, a TV terminal, or the like. Can be implemented.

도 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 server 100 extracts at least one image included in each web document and contents describing the corresponding image from the plurality of web documents (S110). Web documents (or simply referred to as 'documents') are digital documents published on the web such as news, blogs, social media services, etc., and include all documents accessible by the server 100 via a network. The web document is composed of at least one image and text, and the same / similar image may be extracted from the plurality of web documents. Since the image and the text included in the web document are correlated with each other, the server 100 may extract content related to the image or content describing the image from the text. Contents describing the image may include a title appearing in the document from which the image is extracted, a word included in the document, a word, and the like may be extracted from metadata of the document.

서버(100)는 이미지별로 해당 이미지를 설명하는 내용을 태깅한다(S120). The server 100 tags content describing the image for each image (S120).

서버(100)는 추출한 이미지들의 중복여부를 판단하여, 중복 이미지들을 추출한다(S130). 중복이미지 추출 방법은 다양한 이미지 처리 기술 중에서 선택될 수 있다. 예를 들면, 서버(100)는 각 이미지를 나타내는 특징값(예를 들면, 128비트 해쉬값)을 비교하여, 중복 이미지들을 판별할 수 있다.The server 100 determines whether the extracted images overlap, and extracts duplicate images (S130). The duplicate image extraction method may be selected from various image processing techniques. For example, the server 100 may determine duplicate images by comparing feature values (eg, 128 bit hash values) representing each image.

서버(100)는 중복 이미지들 중에서 대표 이미지를 결정하고, 대표 이미지에 중복 이미지들 각각에 태깅된 이미지 설명 내용들을 연결한다(S140). 즉, 단일 이미지에 복수의 웹문서 정보가 연결된 이미지 정보를 생성한다. 서버(100)는 중복 이미지들 중에서 작성일이 가장 빠른 이미지 또는 품질이 가장 좋은 이미지를 대표 이미지로 결정할 수 있으나, 이외에도 다양한 방법으로 대표 이미지를 선정할 수 있다.The server 100 determines a representative image among the duplicate images and connects the image description contents tagged to each of the duplicate images to the representative image (S140). That is, image information in which a plurality of web document information is connected to a single image is generated. The server 100 may determine the representative image as the representative image or the image having the fastest creation date among duplicate images, but may select the representative image in various ways.

서버(100)는 복수의 이미지 설명 내용들을 기초로 대표 이미지의 이미지 설명 태그 및 대표 이미지의 타임스탬프를 결정하고, 대표 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하여 이미지 저장소(300)에 저장한다(S150). 이미지 설명 태그는 동일 이미지를 설명하는 복수의 문서에서 빈번하게 등장하는 단어들로부터 획득될 수 있다. 이렇게 복수의 문서에서 빈번하게 등장하는 이미지 설명 태그는 해당 이미지를 가장 대표하는 설명으로 볼 수 있다. 서버(100)는 중복 이미지들이 포함된 웹문서 중에서 가장 빠른 작성일을 대표 이미지의 타임스탬프로 결정할 수 있다. 또는 서버(100)는 웹문서에 특정 이벤트 시간(예를 들면, 음반 발매일, 공연일, 이벤트 일정 등)이 기재된 경우, 문서 내용을 기초로 대표 이미지의 타임스탬프를 결정할 수 있다. 당일 발생한 이벤트에 대한 뉴스 등은 대부분의 당일 작성되나, 웹문서는 이미 발생한 이벤트에 대한 내용을 포함할 수도 있고, 앞으로 발생할 이벤트에 대한 내용을 포함할 수 있기 때문에 웹문서 작성일 대신 실제 이벤트 발생일을 타임스탬프로 사용할 수도 있다.The server 100 determines an image description tag of the representative image and a timestamp of the representative image based on the plurality of image description contents, maps the image description tag and the timestamp to the representative image, and stores the image description tag and the timestamp in the image storage 300 ( S150). The image description tag may be obtained from words that frequently appear in a plurality of documents describing the same image. The image description tag that appears frequently in a plurality of documents may be regarded as the most representative description of the image. The server 100 may determine the earliest creation date among web documents including duplicate images as a time stamp of the representative image. Alternatively, when a specific event time (eg, a record release date, a performance date, an event schedule, etc.) is described in the web document, the server 100 may determine a time stamp of the representative image based on the document content. Most of the news about the events that occurred on the day is written on the day, but since the web document may include information about the events that have already occurred, it may contain information about the events that will occur in the future. Can also be used as a timestamp.

도 3을 참고하면, N개의 문서에 이미지#1이 포함되어 있고, 각 문서에 이미지#1을 설명하는 내용들이 포함된 경우, 서버(100)는 동일한 이미지#1을 중심으로 복수의 웹문서들을 연결한다. 그리고, 서버(100)는 웹문서들에 포함된 이미지 설명 내용들 중 빈번하게 등장하는 단어(예를 들면, 레드벨벳, 앨범)를 이미지 설명 태그로 추출하고, 웹문서들 중 가장 빠른 작성일을 이미지#1의 타임스탬프로 추출할 수 있다. 문서1에 이미지#2가 더 포함된 경우, 서버(100)는 이미지#2를 중심으로 복수의 웹문서들을 연결한다.Referring to FIG. 3, when N documents include image # 1, and each document includes contents describing image # 1, the server 100 generates a plurality of web documents based on the same image # 1. Connect. The server 100 extracts a word (eg, red velvet, album) that frequently appears among image description contents included in web documents as an image description tag, and displays the earliest creation date among web documents. Can be extracted with a timestamp of # 1. If the document 1 further includes the image # 2, the server 100 connects a plurality of web documents around the image # 2.

이미지 저장소(300)에 저장되는 대표 이미지#1, 이미지 설명 태그 및 타임스탬프는 표 1과 같이 저장될 수 있다. 대표 이미지는 특징값 및/또는 이미지 파일로 저장될 수 있다.The representative image # 1, the image description tag, and the timestamp stored in the image storage 300 may be stored as shown in Table 1. The representative image may be stored as feature values and / or image files.

대표
이미지
representation
image
이미지
설명 태그/
타임스탬프
image
Description Tag /
Timestamp
웹문서들에 포함된 이미지 설명 내용들Image descriptions included in web documents
이미지#1Image # 1 레드벨벳
앨범
2016.09.21
Red velvet
album
2016.09.21
문서1: 레드벨벳 새 앨범 출시 임박(2016.09.22)
문서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)
이미지#2Image # 2 -- --

다음에서, 동일/유사 이미지들을 시간/인물/이벤트 종류 등의 군집화 기준에 따라 군집하는 방법에 대해 설명한다.도 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 server 100 receives an image clustering request including a clustering keyword (S210). When the server 100 receives a request for an image search for the search keyword from the user terminal 200, the server 100 may start the image clustering operation by applying the search keyword as a clustering keyword. Alternatively, the server 100 may periodically perform an image clustering operation for a specific keyword, or perform an image clustering operation for the corresponding event in advance whenever a specific event occurs.

서버(100)는 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프가 매핑되어 저장된 이미지 저장소(300)에서 군집화 키워드에 연관된 이미지들을 추출한다(S220). 이때, 서버(100)는 타임스탬프가 특정 검색 기간(예를 들면, 오늘, 오늘부터 3일 전, 오늘부터 일주일 전, 오늘부터 한달 전, 오늘부터 일년 전, 과거의 특정 기간 등)에 작성된 이미지들을 추출한다. 검색 기간은 사용자 또는 서버에 의해 설정될 수 있다. 한편, 서버(100)는 이미지 군집화 전에, 다량의 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하여 이미지 저장소(300)에 저장하고, 이미지 군집화할 때, 이미지 저장소(300)에서 군집화 키워드에 연관된 이미지를 추출하는 것으로 가정한다. 하지만, 서버(100)는 이미지 군집화하면서, 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하고, 이를 이미지 저장소(300)에 저장할 수 있다. The server 100 extracts the images related to the clustering keyword from the image storage 300 in which the image description tag and the time stamp are mapped to the image extracted from the web document (S220). At this time, the server 100 is an image of a time stamp is created in a specific search period (for example, today, three days before today, a week ago from today, a month ago from today, a year ago from today, a certain period in the past, etc.) Extract them. The search period can be set by the user or the server. Meanwhile, the server 100 maps image description tags and timestamps to images extracted from a large amount of web documents before image clustering, and stores the image description tags and timestamps in the image storage 300, and clusters in the image storage 300 when clustering the images. Assume that you extract an image associated with a keyword. However, the server 100 may map the image description tag and the time stamp to the image extracted from the web document while grouping the images, and may store them in the image storage 300.

서버(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 server 100 sorts the images associated with the clustering keyword in the timestamp order (S230). Referring to FIG. 5A, since the images associated with the clustering keyword are extracted from the image storage 300 in which duplicate images existing in the web document are organized into a single image, the images extracted from the image storage 300 may be extracted. It consists of images that are not identical. For example, if the search period for the clustering keyword is from November 1 to November 3, the M image having the time stamp of November 1 (1101_image_1 to 1101_image_m) and the time stamp of November 2 N images (1102_image_1 to 1102_image_n) and K images (1103_image_1 to 1103_image_k) having a time stamp of November 3 are arranged in chronological order. Each image is extracted from web documents such as news, blogs, cafes, etc., and image description tags are tagged with metadata. In addition, each image may additionally be tagged with an image title or an image source.

서버(100)는 타임스탬프 순서로 정렬된 이미지들의 유사도를 기초로 이미지를 묶어 적어도 하나의 군집이벤트를 생성한다(S240). 이미지들의 유사도는 이미지간 유사도 또는 이미지에 태깅된 이미지 설명 태그의 유사도를 포함할 수 있다. 도 5의 (b)를 참고하면, 서버(100)는 타임스탬프가 11월1일인 M장의 이미지 중에서, 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#1 및 군집이벤트#2를 생성하고, 타임스탬프가 11월2일인 N장의 이미지들 중 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#3을 생성하며, 타임스탬프가 11월3일인 K장의 이미지들 중 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#4를 생성할 수 있다. 이때, 서버(100)는 정렬된 이미지들 중에서 어느 군집이벤트에도 속하지 않는 이미지를 제외하거나, 단일 이미지 그대로 검색 결과 이미지로 노출할 수도 있다.The server 100 generates at least one clustering event by binding the images based on the similarity of the images arranged in the timestamp order (S240). The similarity of the images may include the similarity between images or the similarity of an image description tag tagged to the image. Referring to (b) of FIG. 5, the server 100 generates clustering event # 1 and clustering event # 2 by grouping images having similarity or more among M images having a timestamp of November 1st, and having a timestamp. Cluster event # 3 is generated by grouping images with similarity above the reference value among N images on November 2, and cluster event # 4 by grouping images with similarity above the reference value among K images with time stamp on November 3 Can be. In this case, the server 100 may exclude an image that does not belong to any clustering event among the aligned images, or may expose a single image as a search result image.

한편, 단계 S230과 단계 S240에서, 서버(100)가 구분된 시간 단위(예를 들면, 1일 단위)로 이미지들을 묶기 위해 타임스탬프 순서로 이미지들을 정렬하는 것으로 설명하였다. 하지만, 타임스탬프 순서(예를 들면, 오늘, 어제, 그저께)로 정렬하여 이미지들을 미리 구분할 필요 없이, 서버(100)는 특정 검색 기간(예를 들면, 오늘부터 3일 전)에 작성된 이미지들을 추출하고, 추출한 이미지들 전체를 유사도 기반으로 묶을 수 있다.Meanwhile, in steps S230 and S240, it has been described that the server 100 arranges the images in time stamp order to bundle the images in divided time units (for example, one day unit). However, without having to sort images in advance by sorting them in timestamp order (for example, today, yesterday, and yesterday), the server 100 extracts images created during a specific search period (for example, three days before today). The entire extracted images may be grouped based on similarity.

서버(100)는 각 군집이벤트에 이벤트명칭 및 군집 태그를 매핑한다(S250). 서버(100)는 해당 군집에 속한 이미지들의 이미지 설명 태그를 분석하여 군집을 대표하는 이벤트 명칭(예를 들면, ooo의 시구, ooo의 리허설, ooo의 경기, 영화 ooo 시사회 등)을 만들고, 해당 군집에 속한 이미지들의 이미지 설명 태그를 분석하여 군집을 대표하는 군집 태그를 만든다. 군집 태그는 해당 군집에 속한 이미지들의 이미지 설명 태그를 모두 포함하거나, 해당 군집에 속한 이미지들의 이미지 설명 태그 중 상위 다빈도 태그를 포함할 수 있다. 서버(100)는 이미지 설명 태그 이외에도, 이미지 설명 태그에 연관된 키워드들을 군집 태그로 결정하거나, 검색 키워드에 연관된 정보로부터 추출된 키워드들을 군집 태그로 결정할 수 있다. 예를 들어, 서버(100)는 검색 키워드가 인물인 경우, 해당 인물의 출연 영화/출연 방송 등과 이에 대한 동의어/유사어를 추출하고, 추출한 정보로부터 검색 키워드나 군집이벤트와 연관성이 높다고 판단되는 키워드를 군집 태그로 결정할 수 있다. 군집 태그 중 적어도 일부는 군집된 이미지와 함께 사용자 단말(200)에 표시될 수 있다. 군집이벤트별 군집된 이미지, 이벤트명칭 및 군집 태그는 이미지 저장소(300)에 저장된다.The server 100 maps an event name and a cluster tag to each cluster event (S250). The server 100 analyzes the image description tag of the images belonging to the cluster to create an event name representing the cluster (for example, ooo verse, ooo rehearsal, ooo game, movie ooo premiere, etc.), and the cluster. Analyze image description tags of images belonging to to create a cluster tag that represents a cluster. The cluster tag may include all the image description tags of the images belonging to the cluster, or may include the high frequency tag among the image description tags of the images belonging to the cluster. In addition to the image description tag, the server 100 may determine keywords associated with the image description tag as a cluster tag, or determine keywords extracted from information associated with the search keyword as a cluster tag. For example, when the search keyword is a person, the server 100 extracts a synonym / similar word about the person's appearance movie / casting broadcast and the like, and selects a keyword determined to be highly related to the search keyword or a clustering event from the extracted information. Can be determined by cluster tag. At least some of the cluster tags may be displayed on the user terminal 200 together with the clustered images. Clustered images, event names, and cluster tags by cluster events are stored in the image storage 300.

서버(100)는 사용자 단말(200)로 특정 군집이벤트나 군집 태그로 군집된 이미지들을 전송한다(S260). 군집된 이미지들은 사용자 단말(200)의 사용자 인터페이스 화면에 표시된다.The server 100 transmits clustered images to a specific clustering event or a cluster tag to the user terminal 200 (S260). The clustered images are displayed on the user interface screen of the user terminal 200.

도 6의 (a)를 참고하면, 사용자 단말(200)은 군집이벤트별로 이미지들을 사용자 인터페이스 화면(400)에 표시하는데, 복수의 군집이벤트가 존재하는 경우, 시간 순으로 표시할 수 있다. 예를 들어, 사용자 인터페이스 화면(400a)은 군집이벤트별로 이벤트 명칭(410), 군집된 이미지(420), 적어도 하나의 태그(430)를 표시한다. 태그는 군집이벤트에 대응된 태그 또는 군집이벤트와 연관된 태그일 수 있다. 사용자 인터페이스 화면(400)은 군집이벤트별로 공유 버튼(440), 날짜(450) 등을 더 표시할 수 있다. 사용자 인터페이스 화면(400)은 군집이벤트 검색에 사용된 검색 키워드명칭(460)을 더 표시할 수 있다. 사용자가 태그(430)를 선택하면, 사용자 단말(200)은 태그(430)에 관련된 검색 결과를 공유 화면(예를 들면, 메신저 어플리케이션의 채팅방 화면)에 표시할 수 있다.Referring to FIG. 6A, the user terminal 200 displays images on the user interface screen 400 for each cluster event. When a plurality of cluster events exist, the user terminal 200 may display the images in chronological order. For example, the UI screen 400a displays an event name 410, a clustered image 420, and at least one tag 430 for each clustering event. The tag may be a tag corresponding to a cluster event or a tag associated with a cluster event. The user interface screen 400 may further display a share button 440, a date 450, and the like for each clustering event. The user interface screen 400 may further display a search keyword name 460 used for group event search. When the user selects the tag 430, the user terminal 200 may display a search result related to the tag 430 on a sharing screen (eg, a chat room screen of a messenger application).

도 6의 (b)를 참고하면, 사용자가 공유 버튼(440)을 선택하면, 사용자 단말(200)은 공유 버튼(440)에 해당하는 군집이벤트를 공유 화면(예를 들면, 메신저 어플리케이션의 채팅방 화면)(400b)에 표시할 수 있다. 이때, 공유된 군집이벤트는 군집된 이미지 전체를 공유 화면에 표시할 수 있으나, 썸네일 형태나, 군집된 이미지들이 자동/수동으로 순차적으로 또는 랜덤하게(randomly) 넘어가면서 표시되는(재생되는) 콘텐트(앞으로, '움직이는 이미지 콘텐트' 또는 '요약형 콘텐트'라고 함)(470)로 표시될 수 있다. Referring to FIG. 6B, when the user selects the sharing button 440, the user terminal 200 shares a clustering event corresponding to the sharing button 440 with a sharing screen (eg, a chat room screen of a messenger application). 400b). In this case, the shared cluster event may display the entire clustered image on the shared screen, but the thumbnail type or the content (played) is displayed while the clustered images are automatically or manually moved sequentially or randomly. In the future, it may be referred to as 'moving image content' or 'summary content'.

공유 화면(400b)은 공유된 콘텐트와 함께, 공유된 콘텐트에 관련된 태그들을 함께 표시할 수 있다. The sharing screen 400b may display the tags related to the shared content together with the shared content.

도 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 server 100 determines the representative image among the duplicate images and duplicates the representative image. Link tagged image descriptions to each of the images. However, since the content of the image description is text, the image search result may be inaccurate when there is an identical expression or a double expression. The image classifier can classify people, but because the number of people is constantly increasing, the learning-based image classifier is not highly scalable. Therefore, the server 100 checks the person in the image as follows based on the image description content extracted with the image.

서버(100)는 인물별로 인물정보를 관리한다(S310). 인물정보는 인물 이미지의 특징값, 인물에 부여된 고유의 인물 식별정보(ID), 인물을 식별할 수 있는 부가 정보(예를 들면, 직업 등)를 포함한다. 한편, 서버(100)는 직접 인물정보를 관리하지 않고, 외부의 인물 데이터베이스를 사용할 수 있다.The server 100 manages person information for each person (S310). The person information includes feature values of the person image, unique person identification information (ID) assigned to the person, and additional information (eg, a job) for identifying the person. The server 100 may use an external person database without directly managing person information.

서버(100)는 웹문서에서 추출된 이미지와 이미지 설명 내용을 입력받으면, 이미지 설명 내용으로부터 후보 인물을 추출한다(S320). 만약, 이미지 설명 내용으로부터 이미지 내 인물 확인이 불필요하거나, 특정 인물임이 확실한 경우, 다음의 인물 확인 절차를 생략하고, 곧바로 추출 이미지에 이미지 설명 태그를 태깅하는 절차를 수행할 수 있다.When the server 100 receives the image and the image description content extracted from the web document, the server 100 extracts a candidate person from the image description content (S320). If it is not necessary to identify a person in the image from the image description content or if it is certain that the person is a specific person, the following person identification procedure may be omitted, and a procedure of tagging the image description tag on the extracted image may be performed immediately.

서버(100)는 이미지 설명 내용에 포함된 키워드들과 후보 인물의 인물정보를 기초로 후보 인물이 이미지 내 인물인지를 평가한다(S330). 서버(100)는 인물 데이터베이스, 영화 데이터베이스, TV프로그램 데이터베이스 등 다양한 API를 매쉬업(Mash-up)하여 후보 인물이 이미지 내 인물인지를 평가할 수 있다.The server 100 evaluates whether a candidate person is a person in the image based on keywords included in the image description content and person information of the candidate person (S330). The server 100 may mash up various APIs such as a person database, a movie database, and a TV program database to evaluate whether the candidate person is a person in the image.

서버(100)는 후보 인물의 평가 점수를 기초로 이미지 내 인물을 확인한다(S340). 후보 인물이 복수인 경우, 서버(100)는 각 후보 인물의 평가 점수를 기초로 이미지 내 인물을 결정할 수 있다. 서버(100)는 정확성을 높이기 위해 확인된 인물의 이미지 특징값과, 웹문서에서 추출한 이미지의 특징값을 비교하여 최종적으로 인물을 결정할 수 있다.The server 100 checks the person in the image based on the evaluation score of the candidate person (S340). When there are a plurality of candidate people, the server 100 may determine a person in the image based on the evaluation score of each candidate person. The server 100 may finally determine the person by comparing the image feature value of the person identified with the feature value of the image extracted from the web document to improve accuracy.

서버(100)는 확인된 인물ID를 이미지의 이미지 설명 태그에 추가한다(S350).The server 100 adds the confirmed person ID to the image description tag of the image (S350).

예를 들어, 서버(100)가 어느 웹문서에서 추출된 인물 이미지와 함께, '김범수, 유희열의 스케치북에서 입담 뽑내'라는 이미지 설명 내용을 입력받는 경우, 이미지 설명 내용에 포함된 인물명 '김범수'을 기초로 후보 인물(가수 김범수, 아나운서 김범수, 경영인 김범수)을 추출한다.For example, when the server 100 receives an image description content of 'being drawn from Kim's sketchbook of Kim Bum Soo, Yu Hee-yeol' together with a person image extracted from a web document, the person name 'Kim Bum Soo' included in the image description content is input. As a basis, we extract candidates (singer Kim Bum-soo, announcer Kim Bum-soo, manager Kim Bum-soo).

서버(100)는 이미지 설명 내용에 포함된 키워드(예를 들면, 음악 방송 프로그램명인 '유희열의 스케치북' 등)와 후보 인물의 인물정보를 기초로 후보 인물들 중에서 이미지 설명 내용에 부합하는 정도를 평가한 후, 점수가 가장 높은 '가수 김범수'를 이미지 내 인물로 확인할 수 있다. 이때, 평가 기준 및 평가 방법은 다양하게 설정될 수 있다. The server 100 evaluates the degree of conformity with the image description content among the candidates based on keywords included in the image description content (for example, a music broadcast program name 'Yoo Hee-yeol's sketchbook', etc.) and the person information of the candidate person. After that, the highest score 'singer Kim Bum Soo' can be identified as the person in the image. In this case, evaluation criteria and evaluation methods may be set in various ways.

이러한, 이미지 내 인물 확인 방법을 통해, 서버(100)는 도 2에서 설명한 이미지 저장소에 웹문서에서 추출한 이미지들을 저장할 때, 정확한 인물정보를 태깅하여 저장할 수 있다. 서버(100)는 사용자 단말(200)에 군집된 이미지를 제공할 때, 정확한 인물정보로 이미지들을 군집화할 수 있다. 따라서, 사용자가 인물명 태그(예를 들면, #김범수)를 입력하여 검색 요청하는 경우, 서버(100)는 가수 김범수로 군집된 이미지와 아나운서 김범수로 군집된 이미지를 구분하여 제공할 수 있다.Through such a method of identifying a person in an image, the server 100 may tag and store accurate person information when storing images extracted from a web document in the image storage described with reference to FIG. 2. When the server 100 provides a clustered image to the user terminal 200, the server 100 may cluster the images with accurate person information. Therefore, when a user requests a search by inputting a person name tag (for example, #Kim Beom-Soo), the server 100 may provide an image grouped by the singer Kim Bum-Soo and an image grouped by the announcer Kim Bum-Soo.

도 8을 참고하면, 지금까지 설명한 서버(100)의 이미지 내 인물 확인 방법은 이미지에 포함된 인물 확인 서비스에 적용될 수 있다. Referring to FIG. 8, the person identification method in the image of the server 100 described above may be applied to the person identification service included in the image.

예를 들어, 서버(100)는 이미지 내 인물 확인을 요청받을 수 있다. 사용자가 인물 확인을 요청하는 방법은 다양할 수 있다. 한 실시예에 따르면, 사용자는 이미지가 포함된 웹문서를 보다가 해당 웹문서에 포함된 이미지가 누구인지 궁금한 경우, 웹문서나 웹문서의 링크 정보(URL)를 서버(100)로 전송하여 웹문서에 포함된 이미지의 인물 확인을 요청할 수 있다. 그러면, 서버(100)는 웹문서의 이미지에 도 8과 같은 인물 확인 정보를 부가하여 사용자 단말(200)에 표시할 수 있다. 다른 실시예에 따르면, 사용자는 인물 확인하고자 하는 이미지를 서버(100)로 전송하여 이미지의 인물 확인을 요청할 수 있다.For example, the server 100 may be requested to confirm the person in the image. The user may request a person identification may vary. According to an embodiment of the present disclosure, when a user reads a web document containing an image and wonders who the image is included in the web document, the user transmits the link information (URL) of the web document or the web document to the server 100 to transmit the web. You can request to identify a person from an image in a document. Then, the server 100 may add the person identification information as shown in FIG. 8 to the image of the web document and display it on the user terminal 200. According to another embodiment, the user may request to confirm the person of the image by transmitting an image to be identified to the server 100.

이미지에 복수의 인물이 포함된 경우, 서버(100)는 각 인물이 누구인지 평가하고, 평가 결과를 기초로 인물명을 확인할 수 있다. When a plurality of people are included in the image, the server 100 may evaluate who each person is and check the person name based on the evaluation result.

서버(100)는 이미지와 함께 이미지 설명 내용이 함께 입력되는 경우, 이미지 설명 내용으로부터 후보 인물을 결정하고, 좁혀진 후보 인물의 이미지 특징값과 입력 이미지의 특징값을 비교하여 복수의 인물 각각을 평가한다. 예를 들어, 이미지 함께 '트와이스 OO 무대'라는 이미지 설명 내용이 입력되는 경우, 서버(100)는 이미지 설명 내용을 기초로 후보 인물을 '트와이스 멤버'로 결정하고, 이미지 내 인물이 트와이스 멤버 각각일 가능성을 점수로 평가할 수 있다. When the image description content is input together with the image, the server 100 determines a candidate person from the image description content, and evaluates each of the plurality of people by comparing the image feature values of the narrowed candidate person with the feature value of the input image. . For example, when an image description content of 'TWICE OO stage' is input together with the image, the server 100 determines a candidate person as a 'TWICE member' based on the image description content, and the person in the image is TWICE. The likelihood of each member being evaluated can be evaluated.

이미지만 입력되더라도, 서버(100)는 이미지 저장소(300)에서 입력 이미지와 동일한 저장 이미지를 찾는다. 그리고 서버(100)는 저장 이미지에 대응된 이미지 설명 태그나 이미지 설명 내용들을 기초로 후보 인물을 결정하고, 좁혀진 후보 인물의 이미지 특징값과 입력 이미지의 특징값을 비교하여 복수의 인물 각각을 평가할 수 있다. Even if only an image is input, the server 100 finds the same stored image as the input image in the image storage 300. The server 100 may determine the candidate person based on the image description tag or the image description content corresponding to the stored image, and compare each feature of the narrowed candidate person with the feature value of the input image to evaluate each person. have.

이미지 저장소(300)에서 입력 이미지와 동일한 저장 이미지가 없는 경우, 서버(100)는 이미지 저장소(300)에 저장된 인물 이미지들의 특징값과 입력 이미지의 인물별 특징값을 비교하여 복수의 인물 각각을 평가할 수 있다. If there is no stored image identical to the input image in the image storage 300, the server 100 compares the feature values of the person images stored in the image storage 300 with the feature values for each person in the input image to evaluate each of the plurality of persons. Can be.

사용자 단말(200)은 도 8과 같이, 인물명과 함께 평가점수를 더 보여줄 수 있다. 인물명 각각은 태그로 생성되어, 사용자가 인터페이스 화면에서 해당 인물명 또는 인물명 태그를 선택하면, 사용자 단말(200)은 선택한 인물명 태그에 관련된 검색 결과를 표시할 수 있다.As illustrated in FIG. 8, the user terminal 200 may further show an evaluation score together with the person's name. Each person name is generated as a tag, and when the user selects the person name or person name tag on the interface screen, the user terminal 200 may display a search result related to the selected person name tag.

도 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 server 100 generates the clustered images as content in a form that users can share and provides them to the user terminal 200. The server 100 may provide the user terminal 200 with 'moving image content' or 'summary content' in which the clustered images are continuously reproduced. Services for sharing content by a user may vary, but the following description will be given by sharing clustered images with chatters on a chat room screen of a messenger application.

먼저, 서버(100)가 군집된 이미지들을 이용하여 요약형 콘텐트를 생성하는 방법에 대해 설명한다.First, a method of generating summary content by using the clustered images by the server 100 will be described.

도 9를 참고하면, 서버(100)는 군집이벤트에 포함된 군집된 이미지를 가져온다(S410). Referring to FIG. 9, the server 100 brings a clustered image included in a clustering event (S410).

서버(100)는 군집된 이미지 각각에서 등장 인물을 확인하고, 등장 인물별로 정렬한다(S420). The server 100 checks the characters in each of the clustered images and sorts them by the characters (S420).

서버(100)는 등장 인물별로 정렬된 동일 인물 이미지들 중에서, 동일 인물 이미지들 사이의 움직임을 확인한다(S430). 서버(100)는 이미지 좌표의 광학 흐름(Optical Flow)을 추적해 움직임을 찾을 수 있다.The server 100 checks the movement between the same person images among the same person images arranged for each person (S430). The server 100 may track an optical flow of image coordinates to find a motion.

서버(100)는 동일 인물이 등장하는 이미지 내의 모든 이미지쌍에 대한 좌표들의 광학 흐름으로부터 모든 이미지쌍에 대한 연속적 움직임 점수를 계산한다(S440). 두 이미지의 많은 좌표들이 같은 방향으로 연속적으로 움직일 때, 움직임 점수가 높게 계산된다. 서버(100)는 N개의 이미지로부터 획득가능한 모든 이미지쌍의 관계를 NxN 행렬로 저장할 수 있다.The server 100 calculates a continuous motion score for all image pairs from the optical flow of coordinates for all image pairs in the image in which the same person appears (S440). When many coordinates of two images move continuously in the same direction, the movement score is calculated to be high. The server 100 may store the relationship of all image pairs obtainable from the N images in an N × N matrix.

서버(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 server 100 estimates the direction of movement in the image based on the motion scores of all the image pairs, and sequentially arranges the images in the order in which the movements are continuous (S450). For example, when the images of person # 1 included in the cluster event are IMG1 to IMG5, the server 100 may include IMG1 and IMG2, IMG1 and IMG3, IMG1 and IMG4, IMG1 and IMG5, IMG2 and IMG3, IMG1 and IMG4, Based on the movement scores of IMG2 and IMG5, IMG3 and IMG4, IMG3 and IMG5, IMG4 and IMG5, we find a sequence of movements (the sequence of making human movements), namely IMG2, IMG3, IMG1, IMG5, and IMG4. Place the images in order.

서버(100)는 순차적으로 배치된 이미지들이 연속적으로(랜덤하게 또는 순차적으로) 넘어가면서 표시되는 요약형 콘텐트(움직이는 이미지 콘텐트)를 생성한다(S460). 광학 흐름을 기초로 인물 움직임을 자연스럽게 만드는 순서로 이미지가 배치되므로, 배치된 이미지들이 연속적으로(랜덤하게 또는 순차적으로) 넘어가면 인물이 자연스럽게 움직이는 것처럼 보인다. 요약형 콘텐트는 도 6의 (b)와 같이 메신저 어플리케이션의 채팅방에 전송되어 공유될 수 있다. The server 100 generates summary content (moving image content) that is displayed while the images sequentially arranged are successively (randomly or sequentially) (S460). Since the images are placed in an order that makes the character's movements natural based on the optical flow, the characters appear to move naturally when the placed images are passed continuously (randomly or sequentially). The summary content may be shared and transmitted to the chat room of the messenger application as shown in FIG.

요약형 콘텐트는 다양한 템플릿 중에서 선택되어 생성될 수 있다. 예를 들면, 요약형 콘텐트는 단일 등장 인물의 이미지가 순서대로 이어지는 템플릿으로 생성될 수 있다. 요약형 콘텐트는 군집이벤트에 복수의 등장 인물이 존재하는 경우, 복수의 등장 인물의 요약형 콘텐트를 연결하여 생성될 수 있다. 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 server 100 may generate a summary content by selecting a plurality of images among the clustered images, or the server 100 may be selected from the plurality of images selected from the user terminal 200 or the user terminal 200. The summary content may be generated based on the person.

다음으로, 사용자 단말(200)이 서버(100)로부터 수신한 군집이벤트에 관련된 콘텐트를 화면에 표시하는 방법에 대해 설명한다.Next, a method of displaying content related to a clustering event received from the server 100 by the user terminal 200 on the screen will be described.

도 10의 (a)를 참고하면, 사용자 단말(200)은 서버(100)로부터 군집이벤트로 군집된 복수의 이미지들을 수신하여, 검색 결과 화면(500a)에 표시한다. 사용자 단말(200)은 검색 키워드에 대한 군집이벤트를 서버(100)로 요청할 수 있다. 이때, 사용자가 검색 키워드는 직접 입력해서 군집이벤트를 요청하거나, 임의 인터페이스 화면에 표시된 검색 키워드를 선택하여 군집이벤트를 요청할 수 있다. 사용자 인터페이스 화면(500a)은 군집이벤트 이외에도 다른 컬렉션에도 검색 키워드에 관련된 검색 결과가 존재하는 경우, 카드뷰 형식으로 다른 컬렉션을 더 표시할 수 있다. Referring to FIG. 10A, the user terminal 200 receives a plurality of images clustered as a clustering event from the server 100 and displays the plurality of images on the search result screen 500a. The user terminal 200 may request a cluster event for the search keyword from the server 100. In this case, the user may directly input a search keyword to request a cluster event or select a search keyword displayed on an arbitrary interface screen to request a cluster event. The user interface screen 500a may further display another collection in a card view form when a search result related to the search keyword exists in another collection in addition to the cluster event.

검색 결과 화면(500a)은 복수의 이미지들의 대표 이미지들(510)을 표시할 수 있다. 이때, 검색 결과 화면(500a)은 군집이벤트에 관련된 태그(520)(예를 들면, #TWICE, #쯔위, #무대, #엠카운트다운 등)를 표시할 수 있다. 그리고, 사용자 인터페이스 화면(500a)은 공유 버튼(530)을 표시할 수 있다. 사용자 인터페이스 화면(500a)은 이미지 펼쳐보기 버튼(540)을 표시할 수 있다. The search result screen 500a may display representative images 510 of the plurality of images. In this case, the search result screen 500a may display a tag 520 (eg, #TWICE, #Tzuyu, #Stage, #M Countdown, etc.) related to the clustering event. The user interface screen 500a may display a share button 530. The user interface screen 500a may display an image expansion button 540.

도 10의 (b)를 참고하면, 검색 결과 화면(500a)의 이미지 펼쳐보기 버튼(540)이 선택되면, 검색 결과 화면(500b)에 숨겨져 있던 군집이벤트의 이미지들이 펼쳐져 표시된다. 이때, 이미지들은 인물별로 정렬되고, 동일 인물 이미지에서도 움직임 방향(동선)에 따라 정렬되어 표시된다. 한편, 도 10의 (a)에서, 어느 대표 이미지를 선택하면, 해당 대표 이미지에 연결된 이미지들만이 펼쳐서 보일 수 있다.Referring to FIG. 10B, when the image expand button 540 of the search result screen 500a is selected, the images of the clustering event hidden on the search result screen 500b are expanded and displayed. At this time, the images are sorted by person, and even in the same person image, the images are arranged and displayed according to the movement direction (copper line). Meanwhile, in FIG. 10A, when a representative image is selected, only images connected to the representative image may be unfolded.

공유 버튼(530)이 선택되는 경우, 서버(100)는 복수의 이미지들을 요약형 콘텐트로 생성하여 사용자 단말(200)로 전송할 수 있다. 또는, 사용자가 검색 결과 화면(500a나 500b)에서 군집이벤트에 포함된 이미지들에 대한 요약형 콘텐트 생성을 요청할 수 있는 버튼(미도시)을 선택하는 경우, 서버(100)는 복수의 이미지들을 요약형 콘텐트로 생성하여 사용자 단말(200)로 전송할 수 있다. 군집이벤트에 포함된 이미지들 중 사용자가 이미지들을 선택하여 요약형 콘텐트를 생성할 수 있도록, 검색 결과 화면(500a나 500b)은 이미지 선택 버튼(미도시)을 더 포함할 수 있다.When the share button 530 is selected, the server 100 may generate a plurality of images as summary content and transmit the plurality of images to the user terminal 200. Alternatively, when the user selects a button (not shown) for requesting generation of summary content for images included in the clustering event on the search result screen 500a or 500b, the server 100 may summarize the plurality of images. The generated content may be generated and transmitted to the user terminal 200. The search result screen 500a or 500b may further include an image selection button (not shown) so that a user may select images among the images included in the group event to generate summary content.

도 10의 (c)를 참고하면, 사용자 단말(200)은 서버(100)로부터 군집이벤트의 요약형 콘텐트(610)를 수신하여 공유 화면(예를 들면, 채팅방 화면)(600)에 표시할 수 있다. 사용자가 요약형 콘텐트(610)를 탭하는 등의 선택을 하면, 요약형 콘텐트(610)에 포함된 이미지들이 순서에 따라 연속적으로(랜덤하게 또는 순차적으로) 넘어가면서 표시된다. 공유 화면(600)은 요약형 콘텐트(610)와 함께 요약형 콘텐트에 관련된 태그(620)(예를 들면, #TWICE, #쯔위, #무대 등)를 함께 표시할 수 있다. Referring to FIG. 10C, the user terminal 200 may receive the summary type content 610 of the clustering event from the server 100 and display it on the sharing screen (eg, a chat room screen) 600. have. When the user makes a selection such as tapping the summary content 610, the images included in the summary content 610 are displayed in succession (randomly or sequentially) in order. The sharing screen 600 may display a tag 620 related to the summary content (eg, #TWICE, #Tzuyu, #stage, etc.) together with the summary content 610.

추천 태그나 대표 태그가 선택되면, 사용자 단말(200)은 해당하는 검색 결과를 공유 화면(600) 또는 별도의 인터페이스 화면에 표시할 수 있다.When the recommendation tag or the representative tag is selected, the user terminal 200 may display the corresponding search result on the sharing screen 600 or a separate interface screen.

도 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 server 100 shares content through a messenger application of the user terminal 200. The server 100 may be divided into a messaging server 10, an image analysis server 12, a scrap server 14, and the like according to a function provided by a messenger service. The server 100 may include a messaging server 10 and an image analysis server 12. In addition, the interworking method between the scrap server 14 and the method of communicating with the user terminal 200 may be variously changed according to the interworking rule or service scenario. Meanwhile, the server 100 includes at least one of the messaging server 10, the image analysis server 12, and the scrap server 14, and a server function not included in the server 100 is an external server system (eg, For example, the system may be provided from an external server system in conjunction with a system operated by a third party.

채팅방 화면(700)에 특정 링크(URL) 정보(710)가 입력되면, 사용자 단말(200)은 스크랩 서버(14)로 특정 링크(URL) 정보를 전달하고, 스크랩 서버(14)는 특정 링크(URL) 정보에 해당하는 콘텐트 서버에 접속하여 해당 콘텐트를 스크래핑한다. 스크래핑한 콘텐트는 이미지와 해당 웹문서에 포함된 이미지 설명 정보(예를 들면, 웹문서 제목)를 포함한다. When specific link (URL) information 710 is input to the chat room screen 700, the user terminal 200 transmits specific link (URL) information to the scrap server 14, and the scrap server 14 transmits a specific link ( Access the content server corresponding to the URL) information and scrape the content. The scraped content includes an image and image description information (eg, a web document title) included in the web document.

스크랩 서버(14)는 스크래핑한 콘텐트를 이미지 분석 서버(12)로 전송하여, 공유 콘텐트를 요청한다.The scrap server 14 sends the scraped content to the image analysis server 12 to request shared content.

이미지 분석 서버(12)는 스크래핑된 이미지 내 인물 등장 여부, 얼굴의 위치, 사물의 위치 등의 정보를 분석해 썸네일을 생성한다. 그리고, 이미지 분석 서버(12)는 이미지 저장소(300)에서 스크래핑된 이미지와 동일/유사 이미지를 추출한다. 여기서, 이미지 저장소(300)는 표 1과 같이, 이미지별로 이미지 설명 태그나 웹문서들에 포함된 이미지 설명 내용들을 저장하고 있다. 따라서, 이미지 분석 서버(12)는 이미지 저장소(300)에서, 추출된 동일/유사 이미지에 매핑된 이미지 설명 태그나 웹문서들에 포함된 이미지 설명 내용들을 기초로 스크래핑된 이미지에 연관된 태그 목록을 생성할 수 있다.The image analysis server 12 generates thumbnails by analyzing information such as whether a person appears in the scraped image, a location of a face, a location of an object, and the like. The image analysis server 12 extracts the same / similar images from the scraped image in the image storage 300. Here, as shown in Table 1, the image storage 300 stores image description contents included in image description tags or web documents for each image. Accordingly, the image analysis server 12 generates, in the image storage 300, a tag list associated with the scraped image based on the image description tag mapped to the extracted identical / similar image or the image description contents included in the web documents. can do.

스크래핑한 콘텐트의 썸네일과 태그 목록은 스크랩 서버(14)를 통해 사용자 단말(200)로 전달될 수 있다.The thumbnail and tag list of the scraped content may be delivered to the user terminal 200 through the scrap server 14.

채팅방 화면(700)은 링크(URL) 정보(710)에서 스크래핑된 콘텐트의 썸네일(720)과 태그 목록에 포함된 적어도 하나의 태그(730)를 표시한다. 태그(730)가 선택되면, 사용자 단말(200)은 태그(730)해당하는 검색 결과를 채팅창 화면(700) 또는 별도의 인터페이스 화면에 표시할 수 있다.The chat room screen 700 displays a thumbnail 720 of content scraped from the link (URL) information 710 and at least one tag 730 included in the tag list. When the tag 730 is selected, the user terminal 200 may display the search result corresponding to the tag 730 on the chat window 700 or a separate interface screen.

이와 같이, 본 발명의 실시예에 따르면 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 군집화할 수 있다. 본 발명의 실시예에 따르면 웹에 쏟아져나오는 대량의 이미지들을 가공하여 공유할 수 있는 콘텐트를 생성할 수 있다. 본 발명의 실시예에 따르면 사용자는 관심있는 키워드로부터 유의미한 콘텐트를 얻을 수 있고, 정렬된 이미지들을 통해 이미지 검색 결과를 시각적으로 빠르게 확인할 수 있다.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.
제1항에서,
상기 정렬하는 단계는
상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 등장 인물별로 상기 복수 이미지들을 분류하며, 등장 인물별로 분류된 이미지들을 정렬하는 이미지 공유 방법.
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.
제1항에서,
상기 복수 이미지들을 전송하는 단계는
상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 사용자 단말의 인터페이스 화면에 표시되는 콘텐트를 생성하는 단계, 그리고
상기 콘텐트를 상기 사용자 단말로 전송하는 단계
를 포함하는 이미지 공유 방법.
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.
제1항에서,
상기 복수 이미지들을 전송하는 단계는
상기 단일 이벤트 또는 상기 복수 이미지들에 연관된 적어도 하나의 태그를 상기 사용자 단말로 더 전송하는 이미지 공유 방법.
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.
삭제delete 삭제delete 삭제delete
KR1020180110547A 2018-09-14 2018-09-14 Method for sharing images, and system and application implementing the same method KR102023687B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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