KR101934108B1 - 이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션 - Google Patents

이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션 Download PDF

Info

Publication number
KR101934108B1
KR101934108B1 KR1020170012259A KR20170012259A KR101934108B1 KR 101934108 B1 KR101934108 B1 KR 101934108B1 KR 1020170012259 A KR1020170012259 A KR 1020170012259A KR 20170012259 A KR20170012259 A KR 20170012259A KR 101934108 B1 KR101934108 B1 KR 101934108B1
Authority
KR
South Korea
Prior art keywords
image
images
server
clustering
event
Prior art date
Application number
KR1020170012259A
Other languages
English (en)
Other versions
KR20180087772A (ko
Inventor
최동진
한명건
김일두
백운혁
김태연
이희경
김유미
김금화
Original Assignee
주식회사 카카오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카카오 filed Critical 주식회사 카카오
Priority to KR1020170012259A priority Critical patent/KR101934108B1/ko
Publication of KR20180087772A publication Critical patent/KR20180087772A/ko
Application granted granted Critical
Publication of KR101934108B1 publication Critical patent/KR101934108B1/ko

Links

Images

Classifications

    • G06F17/30268
    • G06F17/30247
    • G06F17/30277

Landscapes

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

Abstract

적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 군집화 방법으로서, 복수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출하는 단계, 상기 복수의 웹문서로부터 추출한 이미지들 중에 중복 이미지들이 존재하는 경우, 상기 중복 이미지들을 대표하는 하나의 대표 이미지를 결정하고, 상기 대표 이미지에 상기 중복 이미지들 각각에 대응된 이미지 설명 내용들을 연결하는 단계, 상기 대표 이미지에 연결된 복수의 이미지 설명 내용들로부터 상기 대표 이미지의 이미지 설명 태그 및 타임스탬프를 포함하는 이미지 정보를 결정하고, 상기 이미지 정보와 상기 대표 이미지를 매핑하여 이미지 저장소에 저장하는 단계, 그리고 군집화 키워드에 따른 이미지 군집화 요청이 있으면, 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출하고, 추출한 이미지들의 유사도를 기초로 상기 추출한 이미지들 중 적어도 일부를 군집하여 적어도 하나의 군집이벤트를 생성하는 단계를 포함한다.

Description

이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션{METHOD FOR CLUSTERING AND SHARING IMAGES, AND SYSTEM AND APPLICATION IMPLEMENTING THE SAME METHOD}
본 발명은 이미지 군집화에 관한 것이다.
뉴스, 블로그 등의 웹페이지에는 다양한 이미지들이 게시되고, 사용자 단말에서 촬영된 사진들이 소셜미디어서비스 등의 다양한 공유 플랫폼에서 빠르게 업로드되고 있다. 이렇게 다양한 이미지들이 존재하는 웹은 거대한 이미지 저장소가 되어, 사용자는 원하는 이미지를 검색할 수 있다.
하지만, 동일 이미지들이 중복적으로 다른 웹페이지에서 존재하거나, 동일 이벤트에서 촬영된 유사 이미지들 대량으로 존재한다. 따라서, 제대로 분류되지 않은 수많은 이미지들 중에서 사용자가 원하는 결과를 얻기 위해서, 사용자는 검색어를 정제하여 검색해야 하고, 이를 위해 사용자는 인물이나 이벤트에 대한 사전지식이 있어야 한다. 또한, 이미지의 최신성을 반영하기 어려워 검색 시기에 따라 검색 결과가 크게 달라지지 않을 수 있다. 최근에는 이미지를 이벤트별로 분류하여 제공하려는 시도가 있으나, 여전히 이벤트 내에서 이미지들이 나열되어 노출되는 정도라서, 시간 순서대로 이미지를 노출하는 종래 기술과 차별성이 없다. 따라서, 사용자에게 유의미한 방식으로 이미지들을 분류하고 공유하는 방법이 요구된다.
본 발명이 해결하고자 하는 과제는 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 분류하고, 이미지를 설명하는 태그를 통해 이미지를 군집화하는 방법 그리고 이를 구현한 시스템 및 어플리케이션을 제공하는 것이다. 또한, 본 발명이 해결하고자 하는 과제는 군집된 이미지들을 기초로 공유할 수 있는 콘텐트를 생성하는 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션을 제공하는 것이다.
한 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 군집화 방법으로서, 복수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출하는 단계, 상기 복수의 웹문서로부터 추출한 이미지들 중에 중복 이미지들이 존재하는 경우, 상기 중복 이미지들을 대표하는 하나의 대표 이미지를 결정하고, 상기 대표 이미지에 상기 중복 이미지들 각각에 대응된 이미지 설명 내용들을 연결하는 단계, 상기 대표 이미지에 연결된 복수의 이미지 설명 내용들로부터 상기 대표 이미지의 이미지 설명 태그 및 타임스탬프를 포함하는 이미지 정보를 결정하고, 상기 이미지 정보와 상기 대표 이미지를 매핑하여 이미지 저장소에 저장하는 단계, 그리고 군집화 키워드에 따른 이미지 군집화 요청이 있으면, 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출하고, 추출한 이미지들의 유사도를 기초로 상기 추출한 이미지들 중 적어도 일부를 군집하여 적어도 하나의 군집이벤트를 생성하는 단계를 포함한다.
상기 이미지 저장소에 저장하는 단계는 상기 복수의 이미지 설명 내용에서 등장하는 키워드들을 기초로 상기 이미지 설명 태그를 결정하고, 상기 중복 이미지들이 포함된 웹문서들의 작성일을 기초로 상기 대표 이미지의 타임스탬프를 결정할 수 있다.
상기 군집이벤트를 생성하는 단계는 상기 이미지 저장소에 저장된 이미지들의 이미지 설명 태그를 기초로 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출할 수 있다.
상기 군집이벤트를 생성하는 단계는 상기 이미지 저장소에 저장된 이미지들의 타임스탬프를 기초로 검색 기간에 작성된 이미지들을 상기 검색 이미지들로 추출할 수 있다.
상기 군집이벤트를 생성하는 단계는 상기 군집이벤트로 묶인 이미지들의 이미지 설명 태그들 또는 이미지 설명 내용들로부터 상기 군집이벤트의 명칭과 상기 군집이벤트에 연관된 태그들을 추출할 수 있다.
상기 이미지 군집화 방법은 임의 웹문서로부터 추출한 특정 이미지 설명 내용에 동명이인이나 중의적 표현의 인물 정보가 포함된 경우, 상기 특정 이미지 설명 내용으로부터 적어도 한 명의 후보 인물을 추출하는 단계, 상기 특정 이미지 설명 내용과 각 후보 인물의 인물정보를 기초로 각 후보 인물이 상기 임의 웹문서에서 추출된 특정 이미지 내 인물인지를 평가하는 단계, 그리고 각 후보 인물의 평가 점수를 기초로 상기 특정 이미지 내 인물을 결정하고, 결정한 인물 식별정보를 상기 특정 이미지에 태깅하는 단계를 더 포함할 수 있다.
상기 이미지 군집화 방법은 사용자 단말로 상기 적어도 하나의 군집이벤트로 군집된 이미지들을 전송하는 단계를 더 포함하고, 상기 군집된 이미지들은 상기 사용자 단말의 인터페이스 화면에서 군집이벤트별로 구분되어 표시되고, 동일 군집이벤트에 속한 이미지들에서 복수의 등장 인물이 존재하는 경우, 상기 인터페이스 화면에서 등장인물별로 분류되어 표시될 수 있다.
상기 군집이벤트로 군집된 이미지들을 전송하는 단계는 상기 군집된 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 인터페이스 화면에 표시되는 콘텐트를 생성하며, 상기 콘텐트를 상기 사용자 단말로 전송할 수 있다.
다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 공유 방법으로서, 단일 이벤트로 군집된 복수 이미지들의 공유 요청을 입력받는 단계, 상기 복수 이미지들 각각의 등장 인물을 확인하고, 동일한 등장 인물로 분류된 이미지들 내에서의 인물 움직임을 추정하여 해당 등장 인물의 이미지들을 정렬하는 단계, 그리고 사용자 단말로, 정렬된 상기 복수 이미지들을 전송하는 단계를 포함한다.
상기 정렬하는 단계는 동일한 등장 인물로 분류된 이미지들 내의 모든 이미지쌍에 대한 좌표들의 광학 흐름(Optical Flow)을 계산하고, 계산 결과를 기초로 상기 인물 움직임을 연속적으로 만드는 순서로 이미지들을 정렬할 수 있다.
상기 정렬하는 단계는 상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 등장 인물별로 상기 복수 이미지들을 분류하며, 등장 인물별로 분류된 이미지들을 정렬할 수 있다.
상기 복수 이미지들을 전송하는 단계는 상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 사용자 단말의 인터페이스 화면에 표시되는 콘텐트를 생성하는 단계, 그리고 상기 콘텐트를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
상기 복수 이미지들을 전송하는 단계는 상기 단일 이벤트 또는 상기 복수 이미지들에 연관된 적어도 하나의 태그를 상기 사용자 단말로 더 전송할 수 있다.
또 다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 공유 방법으로서, 이미지 저장소에서, 입력 이미지와 동일하거나 유사한 적어도 하나의 저장 이미지를 검색하는 단계, 상기 저장 이미지에 매핑된 이미지 설명 정보를 이용하여 상기 입력 이미지에 연관된 태그 목록을 생성하는 단계, 그리고 사용자 단말로, 상기 입력 이미지의 공유 정보와 상기 태그 목록을 전송하는 단계를 포함하고, 상기 이미지 저장소는 복수의 웹문서에서 추출된 각 이미지와 해당 이미지를 설명하는 이미지 설명 정보를 매핑하여 관리할 수 있다.
상기 입력 이미지는 상기 사용자 단말로부터 공유 요청된 링크 정보에서 스크래핑된 이미지일 수 있다.
상기 입력 이미지의 정보와 상기 태그 목록은 상기 사용자 단말의 인터페이스 화면에 표시되고, 상기 입력 이미지의 공유 정보는 썸네일 형태의 콘텐트일 수 있다.
또 다른 실시예에 따라 적어도 하나의 프로세서에 의해 동작하는 사용자 단말의 이미지 공유 방법으로서, 검색 요청된 검색 키워드를 서버로 전송하는 단계, 상기 서버로부터 상기 검색 키워드에 관련된 적어도 하나의 군집이벤트와 각 군집이벤트에 연관된 적어도 하나의 태그를 수신하는 단계, 그리고 제1 인터페이스 화면에, 각 군집이벤트에 군집된 이미지들과 적어도 하나의 태그를 군집이벤트별로 구분하여 표시하는 단계를 포함한다. 각 군집이벤트에 군집된 이미지들과 적어도 하나의 태그는 복수의 웹문서에서 추출된 이미지들과 해당 이미지를 설명하는 이미지 설명 정보로부터 획득된 정보이다.
상기 이미지 공유 방법은 상기 제1 인터페이스화면에서 입력받은 임의 군집이벤트에 대한 공유 요청을 상기 서버로 전송하는 단계, 상기 서버로부터 상기 임의 군집이벤트에 군집된 복수 이미지들을 수신하는 단계, 그리고 제2 인터페이스 화면에, 수신한 상기 복수 이미지들을 표시하는 단계를 더 포함할 수 있다.
상기 복수 이미지들은 등장 인물의 움직임을 연속적으로 만드는 순서로 정렬되고, 상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 상기 복수 이미지들은 등장 인물별로 정렬될 수 있다.
상기 복수 이미지들을 표시하는 단계는 상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 표시되는 형태로 생성된 콘텐트를 상기 제2 인터페이스 화면에 표시할 수 있다.
본 발명의 실시예에 따르면 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 군집화할 수 있다. 본 발명의 실시예에 따르면 웹에 쏟아져나오는 대량의 이미지들을 가공하여 공유할 수 있는 콘텐트를 생성할 수 있다. 본 발명의 실시예에 따르면 사용자는 관심있는 키워드로부터 유의미한 콘텐트를 얻을 수 있고, 정렬된 이미지들을 통해 이미지 검색 결과를 시각적으로 빠르게 확인할 수 있다.
도 1은 본 발명의 한 실시예에 따른 시스템의 개략적인 구성도이다.
도 2는 본 발명의 한 실시예에 따른 이미지 저장소에 이미지들을 저장하는 방법을 설명하는 흐름도이다.
도 3은 본 발명의 한 실시예에 따른 이미지 저장 방법을 설명하는 예시 도면이다.
도 4는 본 발명의 한 실시예에 따른 이미지 군집화 방법의 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 이미지 군집화 방법을 설명하는 예시 도면이다.
도 6은 본 발명의 한 실시예에 따른 사용자 단말에 제공되는 군집된 이미지의 예시 도면이다.
도 7은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법의 흐름도이다.
도 8은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법을 이용한 서비스의 예시이다.
도 9와 도 10 각각은 본 발명의 한 실시예에 따른 군집 이미지 공유 방법을 설명하는 도면이다.
도 11은 본 발명의 한 실시예에 따른 메신저 서비스에서의 웹문서 공유를 위한 시스템을 설명하는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 한 실시예에 따른 시스템의 개략적인 구성도이다.
도 1을 참고하면, 시스템(10)은 본 발명에서 설명하는 기능이 구현된 서버(100) 그리고 서버(100)와 통신하는 사용자 단말(200)을 포함한다. 시스템(10)은 서버(100)에 의해 가공된 이미지들이 저장되는 이미지 저장소(300)를 포함한다. 사용자 단말(200)은 본 발명에서 설명하는 기능을 제공하도록 프로그램된 어플리케이션을 탑재하고, 어플리케이션을 통해 서버(100)에서 제공되는 정보를 표시하고, 사용자에 의해 입력된 정보를 서버(100)로 전송한다.
서버(100)는 적어도 하나의 프로세서에 의해 본 발명에서 설명하는 동작을 실행한다. 서버(100)는 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 분류하고, 이미지 속성을 설명하는 태그를 통해 이미지를 군집화한다. 서버(100)는 군집된 이미지들을 기초로 공유할 수 있는 컨텐트를 생성하고, 사용자 단말(200)의 검색 요청에 대한 이미지 검색 결과를 제공한다. 서버(100)의 동작 방법은 다음에서 자세히 설명한다.
사용자 단말(200)은 컴퓨터 판독 가능한 저장 매체에 저장되는 어플리케이션, 그리고 프로세서, 메모리, 디스플레이, 통신 모듈 등의 하드웨어를 포함한다. 어플리케이션은 본 발명에서 예를 들어 설명한 동작을 실행하기 위한 명령어들을 포함한다. 프로세서는 어플리케이션을 구동하여 프로그램된 동작을 실행한다. 디스플레이는 어플리케이션에서 제공하는 사용자 인터페이스 화면을 표시하고, 사용자 입력을 수신할 수 있고, 예를 들면 터치 입력을 수신할 수 있다. 통신 모듈은 통신망을 통해 서버(100)와 통신한다.
사용자 단말(200)은 다양한 형태로 구현될 수 있고, 예를 들면, 스마트폰과 같은 모바일 단말, 스마트패드와 같은 패드형 단말, 랩탑 컴퓨터 등 각종 형태의 컴퓨터, 웨어러블 디바이스, TV 단말 등의 형태로 구현될 수 있다.
도 2는 본 발명의 한 실시예에 따른 이미지 저장소에 이미지들을 저장하는 방법을 설명하는 흐름도이고, 도 3은 본 발명의 한 실시예에 따른 이미지 저장 방법을 설명하는 예시 도면이다.
도 2를 참고하면, 서버(100)는 다수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출한다(S110). 웹문서(또는, 간단히 '문서'라고도 함)는 뉴스, 블로그, 소셜미디어서비스 등의 웹에 공개된 디지털 문서로서, 서버(100)가 네트워크를 통해 접근 가능한 모든 문서를 포함한다. 웹문서는 적어도 하나의 이미지와 텍스트로 작성되는데, 동일/유사 이미지가 복수의 웹문서에서 추출될 수 있다. 웹문서에 포함된 이미지와 텍스트는 서로 상관관계가 있으므로, 서버(100)는 텍스트에서 이미지에 관계된 내용 또는 이미지를 설명하는 내용을 추출할 수 있다. 이미지를 설명하는 내용은 이미지가 추출된 문서에서 등장하는 제목(title)이나 문서에 포함된 단어, 어절 등은 문서의 메타데이터 등으로부터 추출될 수 있다.
서버(100)는 이미지별로 해당 이미지를 설명하는 내용을 태깅한다(S120).
서버(100)는 추출한 이미지들의 중복여부를 판단하여, 중복 이미지들을 추출한다(S130). 중복이미지 추출 방법은 다양한 이미지 처리 기술 중에서 선택될 수 있다. 예를 들면, 서버(100)는 각 이미지를 나타내는 특징값(예를 들면, 128비트 해쉬값)을 비교하여, 중복 이미지들을 판별할 수 있다.
서버(100)는 중복 이미지들 중에서 대표 이미지를 결정하고, 대표 이미지에 중복 이미지들 각각에 태깅된 이미지 설명 내용들을 연결한다(S140). 즉, 단일 이미지에 복수의 웹문서 정보가 연결된 이미지 정보를 생성한다. 서버(100)는 중복 이미지들 중에서 작성일이 가장 빠른 이미지 또는 품질이 가장 좋은 이미지를 대표 이미지로 결정할 수 있으나, 이외에도 다양한 방법으로 대표 이미지를 선정할 수 있다.
서버(100)는 복수의 이미지 설명 내용들을 기초로 대표 이미지의 이미지 설명 태그 및 대표 이미지의 타임스탬프를 결정하고, 대표 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하여 이미지 저장소(300)에 저장한다(S150). 이미지 설명 태그는 동일 이미지를 설명하는 복수의 문서에서 빈번하게 등장하는 단어들로부터 획득될 수 있다. 이렇게 복수의 문서에서 빈번하게 등장하는 이미지 설명 태그는 해당 이미지를 가장 대표하는 설명으로 볼 수 있다. 서버(100)는 중복 이미지들이 포함된 웹문서 중에서 가장 빠른 작성일을 대표 이미지의 타임스탬프로 결정할 수 있다. 또는 서버(100)는 웹문서에 특정 이벤트 시간(예를 들면, 음반 발매일, 공연일, 이벤트 일정 등)이 기재된 경우, 문서 내용을 기초로 대표 이미지의 타임스탬프를 결정할 수 있다. 당일 발생한 이벤트에 대한 뉴스 등은 대부분의 당일 작성되나, 웹문서는 이미 발생한 이벤트에 대한 내용을 포함할 수도 있고, 앞으로 발생할 이벤트에 대한 내용을 포함할 수 있기 때문에 웹문서 작성일 대신 실제 이벤트 발생일을 타임스탬프로 사용할 수도 있다.
도 3을 참고하면, N개의 문서에 이미지#1이 포함되어 있고, 각 문서에 이미지#1을 설명하는 내용들이 포함된 경우, 서버(100)는 동일한 이미지#1을 중심으로 복수의 웹문서들을 연결한다. 그리고, 서버(100)는 웹문서들에 포함된 이미지 설명 내용들 중 빈번하게 등장하는 단어(예를 들면, 레드벨벳, 앨범)를 이미지 설명 태그로 추출하고, 웹문서들 중 가장 빠른 작성일을 이미지#1의 타임스탬프로 추출할 수 있다. 문서1에 이미지#2가 더 포함된 경우, 서버(100)는 이미지#2를 중심으로 복수의 웹문서들을 연결한다.
이미지 저장소(300)에 저장되는 대표 이미지#1, 이미지 설명 태그 및 타임스탬프는 표 1과 같이 저장될 수 있다. 대표 이미지는 특징값 및/또는 이미지 파일로 저장될 수 있다.
대표
이미지
이미지
설명 태그/
타임스탬프
웹문서들에 포함된 이미지 설명 내용들
이미지#1 레드벨벳
앨범
2016.09.21
문서1: 레드벨벳 새 앨범 출시 임박(2016.09.22)
문서2: 레드벨벳 스타일 대 변신(2016.09.21)
문서3: 레드벨벳 새 앨범으로 돌아왔어요(2016.09.21)
문서4: 레드벨벳 스타일 바꾼 새 앨범(2016.09.25)

문서N: 상큼발랄 레드벨벳 새로운 노래(2016.09.21)
이미지#2 - -
다음에서, 동일/유사 이미지들을 시간/인물/이벤트 종류 등의 군집화 기준에 따라 군집하는 방법에 대해 설명한다.
도 4는 본 발명의 한 실시예에 따른 이미지 군집화 방법의 흐름도이고, 도 5는 본 발명의 한 실시예에 따른 이미지 군집화 방법을 설명하는 예시 도면이며, 도 6은 본 발명의 한 실시예에 따른 사용자 단말에 제공되는 군집된 이미지의 예시 도면이다.
도 4를 참고하면, 서버(100)는 군집화 키워드를 포함하는 이미지 군집화 요청을 입력받는다(S210). 서버(100)는 사용자 단말(200)로부터 검색 키워드에 대한 이미지 검색을 요청받으면, 검색 키워드를 군집화 키워드로 적용하여 이미지 군집화 작업을 시작할 수 있다. 또는 서버(100)는 특정 키워드에 대한 이미지 군집화 작업을 주기적으로 하거나, 특정 이벤트가 발생할 때마다 해당 이벤트에 대한 이미지 군집화 작업을 미리 할 수 있다.
서버(100)는 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프가 매핑되어 저장된 이미지 저장소(300)에서 군집화 키워드에 연관된 이미지들을 추출한다(S220). 이때, 서버(100)는 타임스탬프가 특정 검색 기간(예를 들면, 오늘, 오늘부터 3일 전, 오늘부터 일주일 전, 오늘부터 한달 전, 오늘부터 일년 전, 과거의 특정 기간 등)에 작성된 이미지들을 추출한다. 검색 기간은 사용자 또는 서버에 의해 설정될 수 있다. 한편, 서버(100)는 이미지 군집화 전에, 다량의 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하여 이미지 저장소(300)에 저장하고, 이미지 군집화할 때, 이미지 저장소(300)에서 군집화 키워드에 연관된 이미지를 추출하는 것으로 가정한다. 하지만, 서버(100)는 이미지 군집화하면서, 웹문서로부터 추출된 이미지에 이미지 설명 태그 및 타임스탬프를 매핑하고, 이를 이미지 저장소(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)이나 이미지 출처 등이 부가적으로 태깅되어 있을 수 있다.
서버(100)는 타임스탬프 순서로 정렬된 이미지들의 유사도를 기초로 이미지를 묶어 적어도 하나의 군집이벤트를 생성한다(S240). 이미지들의 유사도는 이미지간 유사도 또는 이미지에 태깅된 이미지 설명 태그의 유사도를 포함할 수 있다. 도 5의 (b)를 참고하면, 서버(100)는 타임스탬프가 11월1일인 M장의 이미지 중에서, 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#1 및 군집이벤트#2를 생성하고, 타임스탬프가 11월2일인 N장의 이미지들 중 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#3을 생성하며, 타임스탬프가 11월3일인 K장의 이미지들 중 유사도가 기준값 이상인 이미지들을 묶어 군집이벤트#4를 생성할 수 있다. 이때, 서버(100)는 정렬된 이미지들 중에서 어느 군집이벤트에도 속하지 않는 이미지를 제외하거나, 단일 이미지 그대로 검색 결과 이미지로 노출할 수도 있다.
한편, 단계 S230과 단계 S240에서, 서버(100)가 구분된 시간 단위(예를 들면, 1일 단위)로 이미지들을 묶기 위해 타임스탬프 순서로 이미지들을 정렬하는 것으로 설명하였다. 하지만, 타임스탬프 순서(예를 들면, 오늘, 어제, 그저께)로 정렬하여 이미지들을 미리 구분할 필요 없이, 서버(100)는 특정 검색 기간(예를 들면, 오늘부터 3일 전)에 작성된 이미지들을 추출하고, 추출한 이미지들 전체를 유사도 기반으로 묶을 수 있다.
서버(100)는 각 군집이벤트에 이벤트명칭 및 군집 태그를 매핑한다(S250). 서버(100)는 해당 군집에 속한 이미지들의 이미지 설명 태그를 분석하여 군집을 대표하는 이벤트 명칭(예를 들면, ooo의 시구, ooo의 리허설, ooo의 경기, 영화 ooo 시사회 등)을 만들고, 해당 군집에 속한 이미지들의 이미지 설명 태그를 분석하여 군집을 대표하는 군집 태그를 만든다. 군집 태그는 해당 군집에 속한 이미지들의 이미지 설명 태그를 모두 포함하거나, 해당 군집에 속한 이미지들의 이미지 설명 태그 중 상위 다빈도 태그를 포함할 수 있다. 서버(100)는 이미지 설명 태그 이외에도, 이미지 설명 태그에 연관된 키워드들을 군집 태그로 결정하거나, 검색 키워드에 연관된 정보로부터 추출된 키워드들을 군집 태그로 결정할 수 있다. 예를 들어, 서버(100)는 검색 키워드가 인물인 경우, 해당 인물의 출연 영화/출연 방송 등과 이에 대한 동의어/유사어를 추출하고, 추출한 정보로부터 검색 키워드나 군집이벤트와 연관성이 높다고 판단되는 키워드를 군집 태그로 결정할 수 있다. 군집 태그 중 적어도 일부는 군집된 이미지와 함께 사용자 단말(200)에 표시될 수 있다. 군집이벤트별 군집된 이미지, 이벤트명칭 및 군집 태그는 이미지 저장소(300)에 저장된다.
서버(100)는 사용자 단말(200)로 특정 군집이벤트나 군집 태그로 군집된 이미지들을 전송한다(S260). 군집된 이미지들은 사용자 단말(200)의 사용자 인터페이스 화면에 표시된다.
도 6의 (a)를 참고하면, 사용자 단말(200)은 군집이벤트별로 이미지들을 사용자 인터페이스 화면(400)에 표시하는데, 복수의 군집이벤트가 존재하는 경우, 시간 순으로 표시할 수 있다. 예를 들어, 사용자 인터페이스 화면(400a)은 군집이벤트별로 이벤트 명칭(410), 군집된 이미지(420), 적어도 하나의 태그(430)를 표시한다. 태그는 군집이벤트에 대응된 태그 또는 군집이벤트와 연관된 태그일 수 있다. 사용자 인터페이스 화면(400)은 군집이벤트별로 공유 버튼(440), 날짜(450) 등을 더 표시할 수 있다. 사용자 인터페이스 화면(400)은 군집이벤트 검색에 사용된 검색 키워드명칭(460)을 더 표시할 수 있다. 사용자가 태그(430)를 선택하면, 사용자 단말(200)은 태그(430)에 관련된 검색 결과를 공유 화면(예를 들면, 메신저 어플리케이션의 채팅방 화면)에 표시할 수 있다.
도 6의 (b)를 참고하면, 사용자가 공유 버튼(440)을 선택하면, 사용자 단말(200)은 공유 버튼(440)에 해당하는 군집이벤트를 공유 화면(예를 들면, 메신저 어플리케이션의 채팅방 화면)(400b)에 표시할 수 있다. 이때, 공유된 군집이벤트는 군집된 이미지 전체를 공유 화면에 표시할 수 있으나, 썸네일 형태나, 군집된 이미지들이 자동/수동으로 순차적으로 또는 랜덤하게(randomly) 넘어가면서 표시되는(재생되는) 콘텐트(앞으로, '움직이는 이미지 콘텐트' 또는 '요약형 콘텐트'라고 함)(470)로 표시될 수 있다.
공유 화면(400b)은 공유된 콘텐트와 함께, 공유된 콘텐트에 관련된 태그들을 함께 표시할 수 있다.
도 7은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법의 흐름도이고, 도 8은 본 발명의 한 실시예에 따른 이미지의 인물 확인 방법을 이용한 서비스의 예시이다.
도 7을 참고하면, 뉴스, 블로그, 소셜미디어서비스 등에 수많은 웹문서들이 존재하는데, 서버(100)는 웹문서에서 추출한 이미지들이 중복되는 경우, 중복 이미지들 중에서 대표 이미지를 결정하고, 대표 이미지에 중복 이미지들 각각에 태깅된 이미지 설명 내용들을 연결한다. 하지만, 이미지 설명 내용은 텍스트이므로, 동명이인이나 중의적 표현이 존재하는 경우, 이미지 검색 결과가 부정확할 수 있다. 이미지 분류기를 통해 인물을 분류할 수 있으나, 인물 수가 지속적으로 늘어나기 때문에, 학습 기반 이미지 분류기는 확장성이 높지 않다. 따라서, 서버(100)는 이미지와 함께 추출된 이미지 설명 내용을 기초로 이미지 내 인물을 다음과 같이 확인한다.
서버(100)는 인물별로 인물정보를 관리한다(S310). 인물정보는 인물 이미지의 특징값, 인물에 부여된 고유의 인물 식별정보(ID), 인물을 식별할 수 있는 부가 정보(예를 들면, 직업 등)를 포함한다. 한편, 서버(100)는 직접 인물정보를 관리하지 않고, 외부의 인물 데이터베이스를 사용할 수 있다.
서버(100)는 웹문서에서 추출된 이미지와 이미지 설명 내용을 입력받으면, 이미지 설명 내용으로부터 후보 인물을 추출한다(S320). 만약, 이미지 설명 내용으로부터 이미지 내 인물 확인이 불필요하거나, 특정 인물임이 확실한 경우, 다음의 인물 확인 절차를 생략하고, 곧바로 추출 이미지에 이미지 설명 태그를 태깅하는 절차를 수행할 수 있다.
서버(100)는 이미지 설명 내용에 포함된 키워드들과 후보 인물의 인물정보를 기초로 후보 인물이 이미지 내 인물인지를 평가한다(S330). 서버(100)는 인물 데이터베이스, 영화 데이터베이스, TV프로그램 데이터베이스 등 다양한 API를 매쉬업(Mash-up)하여 후보 인물이 이미지 내 인물인지를 평가할 수 있다.
서버(100)는 후보 인물의 평가 점수를 기초로 이미지 내 인물을 확인한다(S340). 후보 인물이 복수인 경우, 서버(100)는 각 후보 인물의 평가 점수를 기초로 이미지 내 인물을 결정할 수 있다. 서버(100)는 정확성을 높이기 위해 확인된 인물의 이미지 특징값과, 웹문서에서 추출한 이미지의 특징값을 비교하여 최종적으로 인물을 결정할 수 있다.
서버(100)는 확인된 인물ID를 이미지의 이미지 설명 태그에 추가한다(S350).
예를 들어, 서버(100)가 어느 웹문서에서 추출된 인물 이미지와 함께, '김범수, 유희열의 스케치북에서 입담 뽑내'라는 이미지 설명 내용을 입력받는 경우, 이미지 설명 내용에 포함된 인물명 '김범수'을 기초로 후보 인물(가수 김범수, 아나운서 김범수, 경영인 김범수)을 추출한다.
서버(100)는 이미지 설명 내용에 포함된 키워드(예를 들면, 음악 방송 프로그램명인 '유희열의 스케치북' 등)와 후보 인물의 인물정보를 기초로 후보 인물들 중에서 이미지 설명 내용에 부합하는 정도를 평가한 후, 점수가 가장 높은 '가수 김범수'를 이미지 내 인물로 확인할 수 있다. 이때, 평가 기준 및 평가 방법은 다양하게 설정될 수 있다.
이러한, 이미지 내 인물 확인 방법을 통해, 서버(100)는 도 2에서 설명한 이미지 저장소에 웹문서에서 추출한 이미지들을 저장할 때, 정확한 인물정보를 태깅하여 저장할 수 있다. 서버(100)는 사용자 단말(200)에 군집된 이미지를 제공할 때, 정확한 인물정보로 이미지들을 군집화할 수 있다. 따라서, 사용자가 인물명 태그(예를 들면, #김범수)를 입력하여 검색 요청하는 경우, 서버(100)는 가수 김범수로 군집된 이미지와 아나운서 김범수로 군집된 이미지를 구분하여 제공할 수 있다.
도 8을 참고하면, 지금까지 설명한 서버(100)의 이미지 내 인물 확인 방법은 이미지에 포함된 인물 확인 서비스에 적용될 수 있다.
예를 들어, 서버(100)는 이미지 내 인물 확인을 요청받을 수 있다. 사용자가 인물 확인을 요청하는 방법은 다양할 수 있다. 한 실시예에 따르면, 사용자는 이미지가 포함된 웹문서를 보다가 해당 웹문서에 포함된 이미지가 누구인지 궁금한 경우, 웹문서나 웹문서의 링크 정보(URL)를 서버(100)로 전송하여 웹문서에 포함된 이미지의 인물 확인을 요청할 수 있다. 그러면, 서버(100)는 웹문서의 이미지에 도 8과 같은 인물 확인 정보를 부가하여 사용자 단말(200)에 표시할 수 있다. 다른 실시예에 따르면, 사용자는 인물 확인하고자 하는 이미지를 서버(100)로 전송하여 이미지의 인물 확인을 요청할 수 있다.
이미지에 복수의 인물이 포함된 경우, 서버(100)는 각 인물이 누구인지 평가하고, 평가 결과를 기초로 인물명을 확인할 수 있다.
서버(100)는 이미지와 함께 이미지 설명 내용이 함께 입력되는 경우, 이미지 설명 내용으로부터 후보 인물을 결정하고, 좁혀진 후보 인물의 이미지 특징값과 입력 이미지의 특징값을 비교하여 복수의 인물 각각을 평가한다. 예를 들어, 이미지 함께 '트와이스 OO 무대'라는 이미지 설명 내용이 입력되는 경우, 서버(100)는 이미지 설명 내용을 기초로 후보 인물을 '트와이스 멤버'로 결정하고, 이미지 내 인물이 트와이스 멤버 각각일 가능성을 점수로 평가할 수 있다.
이미지만 입력되더라도, 서버(100)는 이미지 저장소(300)에서 입력 이미지와 동일한 저장 이미지를 찾는다. 그리고 서버(100)는 저장 이미지에 대응된 이미지 설명 태그나 이미지 설명 내용들을 기초로 후보 인물을 결정하고, 좁혀진 후보 인물의 이미지 특징값과 입력 이미지의 특징값을 비교하여 복수의 인물 각각을 평가할 수 있다.
이미지 저장소(300)에서 입력 이미지와 동일한 저장 이미지가 없는 경우, 서버(100)는 이미지 저장소(300)에 저장된 인물 이미지들의 특징값과 입력 이미지의 인물별 특징값을 비교하여 복수의 인물 각각을 평가할 수 있다.
사용자 단말(200)은 도 8과 같이, 인물명과 함께 평가점수를 더 보여줄 수 있다. 인물명 각각은 태그로 생성되어, 사용자가 인터페이스 화면에서 해당 인물명 또는 인물명 태그를 선택하면, 사용자 단말(200)은 선택한 인물명 태그에 관련된 검색 결과를 표시할 수 있다.
도 9와 도 10 각각은 본 발명의 한 실시예에 따른 군집 이미지 공유 방법을 설명하는 도면이다.
도 9와 도 10을 참고하면, 서버(100)는 군집된 이미지들을 사용자들이 공유할 수 있는 형태의 콘텐트로 생성하여, 사용자 단말(200)에 제공한다. 서버(100)는 군집된 이미지들이 연속적으로 재생되는 '움직이는 이미지 콘텐트' 또는 '요약형 콘텐트'를 사용자 단말(200)에 제공할 수 있다. 사용자가 콘텐트를 공유하는 서비스는 다양할 수 있으나, 여기서는 메신저 어플리케이션의 채팅방 화면에서 대화자들과 군집된 이미지들을 공유하는 것을 예로 들어 설명한다.
먼저, 서버(100)가 군집된 이미지들을 이용하여 요약형 콘텐트를 생성하는 방법에 대해 설명한다.
도 9를 참고하면, 서버(100)는 군집이벤트에 포함된 군집된 이미지를 가져온다(S410).
서버(100)는 군집된 이미지 각각에서 등장 인물을 확인하고, 등장 인물별로 정렬한다(S420).
서버(100)는 등장 인물별로 정렬된 동일 인물 이미지들 중에서, 동일 인물 이미지들 사이의 움직임을 확인한다(S430). 서버(100)는 이미지 좌표의 광학 흐름(Optical Flow)을 추적해 움직임을 찾을 수 있다.
서버(100)는 동일 인물이 등장하는 이미지 내의 모든 이미지쌍에 대한 좌표들의 광학 흐름으로부터 모든 이미지쌍에 대한 연속적 움직임 점수를 계산한다(S440). 두 이미지의 많은 좌표들이 같은 방향으로 연속적으로 움직일 때, 움직임 점수가 높게 계산된다. 서버(100)는 N개의 이미지로부터 획득가능한 모든 이미지쌍의 관계를 NxN 행렬로 저장할 수 있다.
서버(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를 찾고, 이 순서대로 이미지들을 배치한다.
서버(100)는 순차적으로 배치된 이미지들이 연속적으로(랜덤하게 또는 순차적으로) 넘어가면서 표시되는 요약형 콘텐트(움직이는 이미지 콘텐트)를 생성한다(S460). 광학 흐름을 기초로 인물 움직임을 자연스럽게 만드는 순서로 이미지가 배치되므로, 배치된 이미지들이 연속적으로(랜덤하게 또는 순차적으로) 넘어가면 인물이 자연스럽게 움직이는 것처럼 보인다. 요약형 콘텐트는 도 6의 (b)와 같이 메신저 어플리케이션의 채팅방에 전송되어 공유될 수 있다.
요약형 콘텐트는 다양한 템플릿 중에서 선택되어 생성될 수 있다. 예를 들면, 요약형 콘텐트는 단일 등장 인물의 이미지가 순서대로 이어지는 템플릿으로 생성될 수 있다. 요약형 콘텐트는 군집이벤트에 복수의 등장 인물이 존재하는 경우, 복수의 등장 인물의 요약형 콘텐트를 연결하여 생성될 수 있다.
서버(100)가 군집된 이미지들 중 복수의 이미지들을 선택하여 요약형 콘텐트를 생성할 수 있고, 또는 서버(100)가 사용자 단말(200)로부터 선택된 복수의 이미지들이나 사용자 단말(200)로부터 선택된 등장 인물을 기초로 요약형 콘텐트를 생성할 수 있다.
다음으로, 사용자 단말(200)이 서버(100)로부터 수신한 군집이벤트에 관련된 콘텐트를 화면에 표시하는 방법에 대해 설명한다.
도 10의 (a)를 참고하면, 사용자 단말(200)은 서버(100)로부터 군집이벤트로 군집된 복수의 이미지들을 수신하여, 검색 결과 화면(500a)에 표시한다. 사용자 단말(200)은 검색 키워드에 대한 군집이벤트를 서버(100)로 요청할 수 있다. 이때, 사용자가 검색 키워드는 직접 입력해서 군집이벤트를 요청하거나, 임의 인터페이스 화면에 표시된 검색 키워드를 선택하여 군집이벤트를 요청할 수 있다. 사용자 인터페이스 화면(500a)은 군집이벤트 이외에도 다른 컬렉션에도 검색 키워드에 관련된 검색 결과가 존재하는 경우, 카드뷰 형식으로 다른 컬렉션을 더 표시할 수 있다.
검색 결과 화면(500a)은 복수의 이미지들의 대표 이미지들(510)을 표시할 수 있다. 이때, 검색 결과 화면(500a)은 군집이벤트에 관련된 태그(520)(예를 들면, #TWICE, #쯔위, #무대, #엠카운트다운 등)를 표시할 수 있다. 그리고, 사용자 인터페이스 화면(500a)은 공유 버튼(530)을 표시할 수 있다. 사용자 인터페이스 화면(500a)은 이미지 펼쳐보기 버튼(540)을 표시할 수 있다.
도 10의 (b)를 참고하면, 검색 결과 화면(500a)의 이미지 펼쳐보기 버튼(540)이 선택되면, 검색 결과 화면(500b)에 숨겨져 있던 군집이벤트의 이미지들이 펼쳐져 표시된다. 이때, 이미지들은 인물별로 정렬되고, 동일 인물 이미지에서도 움직임 방향(동선)에 따라 정렬되어 표시된다. 한편, 도 10의 (a)에서, 어느 대표 이미지를 선택하면, 해당 대표 이미지에 연결된 이미지들만이 펼쳐서 보일 수 있다.
공유 버튼(530)이 선택되는 경우, 서버(100)는 복수의 이미지들을 요약형 콘텐트로 생성하여 사용자 단말(200)로 전송할 수 있다. 또는, 사용자가 검색 결과 화면(500a나 500b)에서 군집이벤트에 포함된 이미지들에 대한 요약형 콘텐트 생성을 요청할 수 있는 버튼(미도시)을 선택하는 경우, 서버(100)는 복수의 이미지들을 요약형 콘텐트로 생성하여 사용자 단말(200)로 전송할 수 있다. 군집이벤트에 포함된 이미지들 중 사용자가 이미지들을 선택하여 요약형 콘텐트를 생성할 수 있도록, 검색 결과 화면(500a나 500b)은 이미지 선택 버튼(미도시)을 더 포함할 수 있다.
도 10의 (c)를 참고하면, 사용자 단말(200)은 서버(100)로부터 군집이벤트의 요약형 콘텐트(610)를 수신하여 공유 화면(예를 들면, 채팅방 화면)(600)에 표시할 수 있다. 사용자가 요약형 콘텐트(610)를 탭하는 등의 선택을 하면, 요약형 콘텐트(610)에 포함된 이미지들이 순서에 따라 연속적으로(랜덤하게 또는 순차적으로) 넘어가면서 표시된다. 공유 화면(600)은 요약형 콘텐트(610)와 함께 요약형 콘텐트에 관련된 태그(620)(예를 들면, #TWICE, #쯔위, #무대 등)를 함께 표시할 수 있다.
추천 태그나 대표 태그가 선택되면, 사용자 단말(200)은 해당하는 검색 결과를 공유 화면(600) 또는 별도의 인터페이스 화면에 표시할 수 있다.
도 11은 본 발명의 한 실시예에 따른 메신저 서비스에서의 웹문서 공유를 위한 시스템을 설명하는 도면이다.
도 11을 참고하면, 서버(100)가 사용자 단말(200)의 메신저 어플리케이션을 통해 콘텐트를 공유하는 것을 가정하고 설명한다. 서버(100)는 메신저 서비스에서 제공하는 기능에 따라 메시징 서버(10), 이미지 분석 서버(12), 스크랩 서버(14) 등으로 분리될 수 있고, 메시징 서버(10), 이미지 분석 서버(12), 그리고 스크랩 서버(14) 사이의 연동 방법과, 이들이 사용자 단말(200)과 통신하는 방법은 연동 규칙이나 서비스 시나리오에 따라 다양하게 설계변경될 수 있다. 한편, 서버(100)는 메시징 서버(10), 이미지 분석 서버(12), 스크랩 서버(14) 중 적어도 하나를 포함하고, 서버(100)에 포함되지 않은 서버 기능은 외부의 서버 시스템(예를 들면, 제3자에 의해 운용되는 시스템)과 연동하여 외부의 서버 시스템으로부터 제공받을 수 있다.
채팅방 화면(700)에 특정 링크(URL) 정보(710)가 입력되면, 사용자 단말(200)은 스크랩 서버(14)로 특정 링크(URL) 정보를 전달하고, 스크랩 서버(14)는 특정 링크(URL) 정보에 해당하는 콘텐트 서버에 접속하여 해당 콘텐트를 스크래핑한다. 스크래핑한 콘텐트는 이미지와 해당 웹문서에 포함된 이미지 설명 정보(예를 들면, 웹문서 제목)를 포함한다.
스크랩 서버(14)는 스크래핑한 콘텐트를 이미지 분석 서버(12)로 전송하여, 공유 콘텐트를 요청한다.
이미지 분석 서버(12)는 스크래핑된 이미지 내 인물 등장 여부, 얼굴의 위치, 사물의 위치 등의 정보를 분석해 썸네일을 생성한다. 그리고, 이미지 분석 서버(12)는 이미지 저장소(300)에서 스크래핑된 이미지와 동일/유사 이미지를 추출한다. 여기서, 이미지 저장소(300)는 표 1과 같이, 이미지별로 이미지 설명 태그나 웹문서들에 포함된 이미지 설명 내용들을 저장하고 있다. 따라서, 이미지 분석 서버(12)는 이미지 저장소(300)에서, 추출된 동일/유사 이미지에 매핑된 이미지 설명 태그나 웹문서들에 포함된 이미지 설명 내용들을 기초로 스크래핑된 이미지에 연관된 태그 목록을 생성할 수 있다.
스크래핑한 콘텐트의 썸네일과 태그 목록은 스크랩 서버(14)를 통해 사용자 단말(200)로 전달될 수 있다.
채팅방 화면(700)은 링크(URL) 정보(710)에서 스크래핑된 콘텐트의 썸네일(720)과 태그 목록에 포함된 적어도 하나의 태그(730)를 표시한다. 태그(730)가 선택되면, 사용자 단말(200)은 태그(730)해당하는 검색 결과를 채팅창 화면(700) 또는 별도의 인터페이스 화면에 표시할 수 있다.
이와 같이, 본 발명의 실시예에 따르면 다양한 출처의 다양한 이미지를 시간, 이벤트, 인물 등의 속성별로 군집화할 수 있다. 본 발명의 실시예에 따르면 웹에 쏟아져나오는 대량의 이미지들을 가공하여 공유할 수 있는 콘텐트를 생성할 수 있다. 본 발명의 실시예에 따르면 사용자는 관심있는 키워드로부터 유의미한 콘텐트를 얻을 수 있고, 정렬된 이미지들을 통해 이미지 검색 결과를 시각적으로 빠르게 확인할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (20)

  1. 적어도 하나의 프로세서에 의해 동작하는 서버의 이미지 군집화 방법으로서,
    복수의 웹문서에서 각 웹문서에 포함된 적어도 하나의 이미지와 해당 이미지를 설명하는 내용을 추출하는 단계,
    상기 복수의 웹문서로부터 추출한 이미지들 중에 중복 이미지들이 존재하는 경우, 웹문서 작성일 또는 이미지 품질을 기초로 상기 중복 이미지들을 대표하는 하나의 대표 이미지를 결정하고, 상기 대표 이미지에 상기 중복 이미지들 각각에 대응된 이미지 설명 내용들을 연결하는 단계,
    상기 대표 이미지에 연결된 복수의 이미지 설명 내용들로부터 상기 대표 이미지의 이미지 설명 태그 및 타임스탬프를 포함하는 이미지 정보를 결정하고, 상기 이미지 정보와 상기 대표 이미지를 매핑하여 이미지 저장소에 저장하는 단계, 그리고
    군집화 키워드에 따른 이미지 군집화 요청이 있으면, 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출하고, 추출한 이미지들의 유사도를 기초로 상기 추출한 이미지들 중 적어도 일부를 군집하여 적어도 하나의 군집이벤트를 생성하는 단계를 포함하고,
    상기 이미지 저장소에 저장하는 단계는
    상기 복수의 이미지 설명 내용에서 일정 횟수 이상 등장하는 키워드들을 포함하는 상기 이미지 설명 태그를 결정하고, 상기 중복 이미지들이 포함된 웹문서들 중 작성일이 가장 빠른 작성일을 상기 대표 이미지의 타임스탬프로 결정하며,
    상기 중복 이미지들 중 상기 대표 이미지로 결정된 이미지만 상기 이미지 저장소에 저장되는, 이미지 군집화 방법.
  2. 삭제
  3. 제1항에서,
    상기 군집이벤트를 생성하는 단계는
    상기 이미지 저장소에 저장된 이미지들의 이미지 설명 태그를 기초로 상기 이미지 저장소에서 상기 군집화 키워드에 연관된 이미지들을 추출하는 이미지 군집화 방법.
  4. 제3항에서,
    상기 군집이벤트를 생성하는 단계는
    상기 이미지 저장소에 저장된 이미지들의 타임스탬프를 기초로 검색 기간에 작성된 이미지들을 검색 이미지들로 추출하는 이미지 군집화 방법.
  5. 제1항에서,
    상기 군집이벤트를 생성하는 단계는
    상기 군집이벤트로 묶인 이미지들의 이미지 설명 태그들 또는 이미지 설명 내용들로부터 상기 군집이벤트의 명칭과 상기 군집이벤트에 연관된 태그들을 추출하는 이미지 군집화 방법.
  6. 제1항에서,
    상기 해당 이미지를 설명하는 내용을 추출하는 단계는
    상기 복수의 웹문서 중에서 임의 웹문서로부터 추출한 특정 이미지 설명 내용에 동명이인이나 중의적 표현의 인물 정보가 포함된 경우, 상기 특정 이미지 설명 내용으로부터 적어도 한 명의 후보 인물을 추출하는 단계,
    각 후보 인물의 인물정보를 기초로 상기 특정 이미지 설명 내용이 각 후보 인물의 인물정보에 포함된 정보들과 부합하는 정도를 비교하여, 각 후보 인물이 상기 임의 웹문서에서 추출된 특정 이미지 내 인물인지를 평가하는 단계, 그리고
    각 후보 인물의 평가 점수를 기초로 상기 특정 이미지 내 인물을 결정하고, 결정한 인물 식별정보를 상기 특정 이미지에 태깅하는 단계
    를 더 포함하는 이미지 군집화 방법.
  7. 제1항에서,
    사용자 단말로 상기 적어도 하나의 군집이벤트로 군집된 이미지들을 전송하는 단계를 더 포함하고,
    상기 군집된 이미지들은 상기 사용자 단말의 인터페이스 화면에서 군집이벤트별로 구분되어 표시되고, 동일 군집이벤트에 속한 이미지들에서 복수의 등장 인물이 존재하는 경우, 상기 인터페이스 화면에서 등장인물별로 분류되어 표시되는 이미지 군집화 방법.
  8. 제7항에서,
    상기 군집이벤트로 군집된 이미지들을 전송하는 단계는
    상기 군집된 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 상기 인터페이스 화면에 표시되는 콘텐트를 생성하며, 상기 콘텐트를 상기 사용자 단말로 전송하는 이미지 군집화 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 적어도 하나의 프로세서에 의해 동작하는 사용자 단말의 이미지 공유 방법으로서,
    검색 요청된 검색 키워드를 서버로 전송하는 단계,
    상기 서버로부터 상기 검색 키워드에 관련된 적어도 하나의 군집이벤트와 각 군집이벤트에 연관된 적어도 하나의 태그를 수신하는 단계, 그리고
    제1 인터페이스 화면에, 각 군집이벤트에 군집된 이미지들과 적어도 하나의 태그를 군집이벤트별로 구분하여 표시하는 단계를 포함하고,
    각 군집이벤트에 군집된 이미지들과 적어도 하나의 태그는
    복수의 웹문서에서 추출된 이미지들과 상기 추출된 이미지들을 설명하는 이미지 설명 정보로부터 획득된 정보인 이미지 공유 방법.
  18. 제17항에서,
    상기 제1 인터페이스화면에서 입력받은 임의 군집이벤트에 대한 공유 요청을 상기 서버로 전송하는 단계,
    상기 서버로부터 상기 임의 군집이벤트에 군집된 복수 이미지들을 수신하는 단계, 그리고
    제2 인터페이스 화면에, 수신한 상기 복수 이미지들을 표시하는 단계
    를 더 포함하는 이미지 공유 방법.
  19. 제18항에서,
    상기 복수 이미지들은 등장 인물의 움직임을 연속적으로 만드는 순서로 정렬되고, 상기 복수 이미지들에서 복수의 인물이 등장하는 경우, 상기 복수 이미지들은 등장 인물별로 정렬되는 이미지 공유 방법.
  20. 제18항에서,
    상기 복수 이미지들을 표시하는 단계는
    상기 복수 이미지들이 랜덤하게 넘어가거나 또는 표시 순서에 따라 순차적으로 넘어가면서 표시되는 형태로 생성된 콘텐트를 상기 제2 인터페이스 화면에 표시하는 이미지 공유 방법.
KR1020170012259A 2017-01-25 2017-01-25 이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션 KR101934108B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170012259A KR101934108B1 (ko) 2017-01-25 2017-01-25 이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170012259A KR101934108B1 (ko) 2017-01-25 2017-01-25 이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180110547A Division KR102023687B1 (ko) 2018-09-14 2018-09-14 서버의 이미지 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션

Publications (2)

Publication Number Publication Date
KR20180087772A KR20180087772A (ko) 2018-08-02
KR101934108B1 true KR101934108B1 (ko) 2018-12-31

Family

ID=63251597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170012259A KR101934108B1 (ko) 2017-01-25 2017-01-25 이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션

Country Status (1)

Country Link
KR (1) KR101934108B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102293550B1 (ko) 2018-07-27 2021-08-24 주식회사 엘지화학 점착제 조성물, 이를 포함하는 점착 필름, 점착 필름을 포함하는 백플레이트 필름 및 점착 필름을 포함하는 플라스틱 유기 발광 디스플레이
KR102169647B1 (ko) * 2019-01-22 2020-10-23 박병섭 Sns의 인물정보 수집 및 제공과 공유에 관한 방법
WO2021040089A1 (ko) * 2019-08-29 2021-03-04 주식회사 테크플럭스 이미지 유사성 기반, 이종 토픽 문서에서 온톨로지 데이터 확장방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101354721B1 (ko) * 2012-05-21 2014-01-29 주식회사 다음커뮤니케이션 검색 시스템 및 검색 서비스 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101354721B1 (ko) * 2012-05-21 2014-01-29 주식회사 다음커뮤니케이션 검색 시스템 및 검색 서비스 방법

Also Published As

Publication number Publication date
KR20180087772A (ko) 2018-08-02

Similar Documents

Publication Publication Date Title
Wang et al. Event driven web video summarization by tag localization and key-shot identification
US8385660B2 (en) Mixed media reality indexing and retrieval for repeated content
US9367757B2 (en) Content extracting device, content extracting method and program
CN106383887B (zh) 一种环保新闻数据采集和推荐展示的方法及***
KR102017853B1 (ko) 검색 방법 및 장치
Qian et al. Social media based event summarization by user–text–image co-clustering
CN104021150A (zh) 带有社交网络辅助的面部识别
US20230244707A1 (en) Management of event summary types
CN112486917A (zh) 从多个微博自动生成信息丰富的内容的方法以及***
KR101934108B1 (ko) 이미지 군집화 및 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션
US11347739B2 (en) Performing a chained search function
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
JP6140835B2 (ja) 情報検索システムおよび情報検索方法
KR102023687B1 (ko) 서버의 이미지 공유 방법, 그리고 이를 구현한 시스템 및 어플리케이션
KR20230051995A (ko) 실감형 확장현실 콘텐츠 관리 플랫폼
CN111753861B (zh) 主动学习自动图像标注***及方法
CN115130453A (zh) 互动信息生成方法和装置
KR20220022065A (ko) 사용자가 검색한 이미지의 군집화 및 공유 방법과 구현 시스템
KR20220023385A (ko) 사용자가 검색한 이미지의 군집화 및 공유 방법과 구현 시스템
KR101575819B1 (ko) 동영상 검색 및 제공 방법
KR102009158B1 (ko) 조선왕조실록을 이용한 실시간 역사극 고증 서비스 시스템
Ahmed et al. MAPNEWS: a framework for aggregating and organizing online news articles.
Lommatzsch et al. A Framework for Analyzing News Images and Building Multimedia-Based Recommender
US20190318199A1 (en) Classification and comparison of event related data objects

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 6