KR20230147752A - 인물 그룹 및 이미지 기반 창작물의 자동 생성 - Google Patents

인물 그룹 및 이미지 기반 창작물의 자동 생성 Download PDF

Info

Publication number
KR20230147752A
KR20230147752A KR1020237034391A KR20237034391A KR20230147752A KR 20230147752 A KR20230147752 A KR 20230147752A KR 1020237034391 A KR1020237034391 A KR 1020237034391A KR 20237034391 A KR20237034391 A KR 20237034391A KR 20230147752 A KR20230147752 A KR 20230147752A
Authority
KR
South Korea
Prior art keywords
image
images
people
group
subset
Prior art date
Application number
KR1020237034391A
Other languages
English (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 구글 엘엘씨
Publication of KR20230147752A publication Critical patent/KR20230147752A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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/55Clustering; Classification
    • 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/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/75Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval 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, title and artist information, manually generated time, location and usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23211Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with adaptive number of clusters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • G06V20/47Detecting features for summarising video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Tourism & Hospitality (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)
  • Image Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 명세서에 설명된 구현들은 이미지 기반 창작물을 생성하고 제공하는 방법, 디바이스 및 컴퓨터 판독 가능 매체에 관련된다. 컴퓨터 구현 방법은 복수의 에피소드를 획득하는 단계를 포함하고, 각 에피소드는 대응하는 시산 기간과 관련되고 개별 이미지 세트 및 각 이미지에 대한 개인 식별자들을 포함한다. 방법은 적어도 2개의 개인 식별자를 포함하는 각각의 에피소드에 대해 개별 클러스터를 형성하는 단계를 더 포함한다. 이 방법은 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는지 여부를 결정하고, 이에 응답하여 하나 이상의 개인 식별자가 포함되어 있는 클러스터들로부터 하나 이상의 개인 식별자를 제거하는 단계를 더 포함한다. 이 방법은 각각 2개 이상의 개인 식별자를 포함하는 복수의 인물 그룹을 획득하기 위해 동일한 클러스터들을 병합하는 단계 및 특정 인물 그룹에 기초한 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 단계를 더 포함한다.

Description

인물 그룹 및 이미지 기반 창작물의 자동 생성{AUTOMATIC GENERATION OF PEOPLE GROUPS AND IMAGE-BASED CREATIONS}
스마트 폰 또는 다른 디지털 카메라와 같은 디바이스의 사용자는 자신의 이미지 라이브러리에 많은 수의 사진과 비디오(영상)를 캡처하고 저장한다. 사용자는 이러한 라이브러리를 사용하여 생일, 결혼식, 휴가, 여행 등과 같은 다양한 이벤트를 회상하기 위해 자신의 사진과 비디오를 볼 수 있다. 사용자는 장기간에 걸쳐 촬영한 수천 개의 이미지가 있는 대용량 이미지 라이브러리를 보유할 수 있다.
본 명세서에 제공된 배경 설명은 일반적으로 본 개시의 맥락을 제시하기 위한 것이다. 현재 명명된 발명자의 작업은 출원 당시에 선행 기술로 인정되지 않을 수 있는 설명의 양태뿐만 아니라 이 배경 섹션에 설명된 범위 내에서 본 개시에 대한 종래 기술로 명시적이거나 묵시적으로 인정되지 않는다.
본 명세서에 설명된 구현은 이미지 기반 창작물(작품)을 생성하여 제공하는 방법, 디바이스 및 컴퓨터 판독 가능 매체에 관한 것이다.
일부 구현에서, 컴퓨터 구현 방법은 복수의 에피소드를 획득하는 단계를 포함하고, 각 에피소드는 대응하는 시간 기간과 관련되고, 개별 이미지 세트 및 그 개별 이미지 세트의 각 이미지에 대한 개인 식별자들을 포함한다. 방법은 각 에피소드에 대해 개별 클러스터를 형성하는 단계를 더 포함하고, 각 클러스터는 적어도 2개의 개인(인물) 식별자를 포함한다. 방법은 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는지 여부를 결정하는 단계를 더 포함한다. 방법은 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는 것으로 결정되는 경우, 하나 이상의 개인 식별자가 포함되어 있는 클러스터들로부터 하나 이상의 개인 식별자를 제거하는 단계를 더 포함한다. 방버은 제거 후, 복수의 인물 그룹을 획득하기 위해 동일한 클러스터들을 병합하는 단계를 더 포함하고, 각 인물 그룹은 둘 이상의 개인 식별자를 포함한다. 방법은 복수의 인물 그룹 중 특정 인물 그룹에 기초한 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 단계를 더 포함한다.
일부 구현에서, 각 에피소드에 대해 개별 클러스터를 형성하는 단계는 에피소드의 이미지 세트내의 적어도 하나의 이미지에 나타나는 모든 개인 식별자를 클러스터에 매핑하는 단계와, 에피소드에 대해 가장 빈번한 개인 식별자를 포함하는 에피소드의 이미지 세트로부터 다수의 이미지를 결정하는 단계와, 그리고 임계수 미만의 이미지와 관련된 개인 식별자들을 클러스터로부터 제거하는 단계를 포함할 수 있다. 일부 구현에서, 임계수의 이미지는 에피소드에 대해 가장 빈번한 개인 식별자를 포함하는 이미지 수에 기초하여 결정될 수 있다.
일부 구현에서, 방법은 적어도 하나의 인물 그룹이 임계수 미만의 에피소드와 관련되어 있다고 결정하는 단계를 더 포함할 수 있다. 방법은 적어도 하나의 인물 그룹이 임계수 미만의 에피소드와 있다는 결정에 응답하여, 적어도 하나의 인물 그룹을 하나 이상의 다른 인물 그룹과 결합하는 단계를 더 포함할 수 있다. 하나 이상의 다른 인물 그룹은 적어도 하나의 인물 그룹에 포함된 개인 식별자의 서브 세트를 각각 포함할 수 있다. 이들 구현에서, 사용자 인터페이스를 제공하는 단계는 적어도 하나의 인물 그룹을 병합한 후에 수행될 수 있다.
일부 구현에서, 동일한 클러스터들을 병합하는 단계는 클러스터들에 기초하여, 개별 에피소드 세트를 복수의 인물 그룹 각각에 관련시키는 단계를 포함할 수 있다. 일부 구현에서, 이미지 기반 창작물을 제공하는 단계는 특정 인물 그룹과 관련된 에피소드들에 포함된 개별 이미지 세트로부터 이미지 기반 창작물을 위한 이미지의 서브 세트를 선택하는 단계를 포함할 수 있다. 이미지의 서브 세트 내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물들을 묘사할 수 있다.
일부 구현에서, 사용자 인터페이스를 제공하는 단계는 특정 그룹과 매칭하는 이미지가 최근에 캡처되었음을 검출하는 단계; 현재 날짜가 특정 인물 그룹과 관련된 날짜와 매칭됨을 검출하는 단계; 또는 특정 인물 그룹과 매칭하는 이벤트를 검출하는 단계 중 적어도 하나에 응답하여 수행된다.
일부 구현에서, 이미지 기반 창작물을 제공하는 단계는 특정 인물 그룹에 기초하여 이미지 기반 창작물을 위한 이미지 서브 세트를 선택하는 단계를 포함할 수 있다. 이미지 서브 세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물들을 묘사할 수 있다. 방법은 이미지의 서브 세트에 기초하여 이미지 기반 창작물을 생성하는 단계를 더 포함할 수 있다. 이미지의 서브 세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 각각에 대응하는 인물들을 묘사할 수 있다. 일부 구현에서, 이미지의 서브 세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물들을 묘사할 수 있다. 일부 구현에서, 이미지의 서브 세트는 복수의 에피소드 중 적어도 2개의 에피소드의 이미지를 포함할 수 있다. 일부 구현에서, 이미지의 서브 세트는 서브 세트가 위치 다양성, 포즈 다양성 또는 시각적 다양성 중 하나 이상을 제공하도록 선택될 수 있다.
일부 구현들은 프로세서에 의해 실행될 때 프로세서로 하여금 복수의 에피소드를 획득하는 단계를 포함하는 동작들을 수행하게 하는 명령들이 저장된 비-일시적 컴퓨터 판독 가능 매체를 포함하고, 각 에피소드는 대응하는 기간과 관련되고, 개별 이미지 세트 및 그 개별 이미지 세트의 각 이미지에 대한 개인 식별자들을 포함한다. 방법들은 각 에피소드에 대해 개별 클러스터를 형성하는 동작을 더 포함하고, 각 클러스터는 적어도 2개의 개인 식별자를 포함한다. 동작들은 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는지 여부를 결정하는 동작과, 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는 것으로 결정되는 경우, 하나 이상의 개인 식별자가 포함되어 있는 클러스터들로부터 하나 이상의 개인 식별자를 제거하는 동작을 더 포함한다. 동작들은 제거 후, 복수의 인물 그룹을 획득하기 위해 동일한 클러스터들을 병합하는 동작을 더 포함하고, 각 인물 그룹은 둘 이상의 개인 식별자를 포함한다. 동작들은 복수의 인물 그룹의 특정 인물 그룹에 기초한 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 동작을 더 포함한다.
일부 구현에서, 각 에피소드에 대해 개별 클러스터를 형성하는 동작은 에피소드의 이미지 세트내의 적어도 하나의 이미지에 나타나는 모든 개인 식별자를 클러스터에 매핑하는 동작; 에피소드에 대해 가장 빈번한 개인 식별자를 포함하는 에피소드의 이미지 세트로부터 다수의 이미지를 결정하는 동작; 및 임계수 미만의 이미지와 관련된 개인 식별자들을 클러스터로부터 제거하는 단계를 포함할 수 있다. 일부 구현에서, 임계수의 이미지는 에피소드에 대해 가장 빈번한 개인 식별자를 포함하는 이미지 수에 기초하여 결정될 수 있다.
일부 구현에서, 컴퓨터 판독 가능매체는 프로세서로 하여금 적어도 하나의 인물 그룹이 임계수 미만의 에피소드와 관련되어 있다고 결정하는 동작; 및 적어도 하나의 인물 그룹이 임계수 미만의 에피소드와 있다는 결정에 응답하여, 적어도 하나의 인물 그룹을 하나 이상의 다른 인물 그룹과 결합하는 동작을 포함하는 동작들을 수행하게 하는 명령들을 더 구비할 수 있으며, 하나 이상의 다른 인물 그룹은 적어도 하나의 인물 그룹에 포함된 개인 식별자의 서브 세트를 각각 포함한다. 이들 구현에서, 사용자 인터페이스를 제공하는 동작은 적어도 하나의 인물 그룹을 병합 한 후에 수행될 수 있다.
일부 구현에서, 이미지 기반 창작물을 제공하는 동작은 특정 인물 그룹에 기초하여 이미지 기반 창작물을 위한 이미지 서브 세트를 선택하는 동작과, 상기 이미지 서브 세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물들을 묘사하고, 그리고 이미지의 서브 세트에 기초하여 이미지 기반 창작물을 생성하는 동작을 포함한다.
일부 구현에서, 동일한 클러스터들을 병합하는 동작은 클러스터들에 기초하여, 개별 에피소드 세트를 복수의 인물 그룹 각각에 관련시키는 동작을 포함할 수 있다. 일부 구현에서, 이미지 기반 창작물을 제공하는 동작은 특정 인물 그룹과 관련된 에피소드들에 포함된 개별 이미지 세트로부터 이미지 기반 창작물을 위한 이미지의 서브 세트를 선택하는 동작을 포함할 수 있다.
일부 구현들은 프로세서 및 그 프로세서에 결합된 메모리를 포함하는 컴퓨팅 디바이스를 포함할 수 있다. 메모리는 프로세서에 의해 실행될 때 프로세서로 하여금 복수의 에피소드를 획득하는 동작을 포함하는 동작들을 수행하게 저장된 명령들을 가질 수 있으며, 각 에피소드는 대응하는 시간 기간과 관련되고, 개별 이미지 세트 및 그 개별 이미지 세트의 각 이미지에 대한 개인 식별자들을 포함한다. 동작들은 각 에피소드에 대해 개별 클러스터를 형성하는 동작을 더 포함하고, 각 클러스터는 적어도 2개의 개인 식별자를 포함한다. 동작들은 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는지 여부를 결정하는 동작과; 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는 것으로 결정되는 경우, 하나 이상의 개인 식별자가 포함되어 있는 클러스터들로부터 하나 이상의 개인 식별자를 제거하는 동작을 더 포함한다. 동작들은 제거 후, 복수의 인물 그룹을 획득하기 위해 동일한 클러스터들을 병합하는 동작을 더 포함할 수 있고, 각 인물 그룹은 둘 이상의 개인 식별자를 포함한다. 동작들은 복수의 인물 그룹의 특정 인물 그룹에 기초한 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 동작을 더 포함한다.
일부 구현에서, 각 에피소드에 대해 개별 클러스터를 형성하는 동작은 에피소드의 이미지 세트내의 적어도 하나의 이미지에 나타나는 모든 개인 식별자를 클러스터에 매핑하는 동작과; 에피소드에 대해 가장 빈번한 개인 식별자를 포함하는 에피소드의 이미지 세트로부터 다수의 이미지를 결정하는 동작과; 그리고 임계수 미만의 이미지와 관련된 개인 식별자들을 클러스터로부터 제거하는 동작을 포함할 수 있다. 일부 구현에서, 임계수의 이미지는 에피소드에 대해 가장 빈번한 개인 식별자를 포함하는 이미지 수에 기초하여 결정될 수 있다.
일부 구현에서, 메모리는 프로세서에 의해 실행될 때 프로세서로 하여금 적어도 하나의 인물 그룹이 임계수 미만의 에피소드와 관련되어 있다고 결정하는 동작; 및 적어도 하나의 인물 그룹이 임계수 미만의 에피소드와 있다는 결정에 응답하여, 적어도 하나의 인물 그룹을 하나 이상의 다른 인물 그룹과 결합하는 동작을 포함하는 동작들을 수행하게 하는 저장된 명령들을 더 가질 수 있다. 일부 구현에서, 하나 이상의 다른 인물 그룹은 적어도 하나의 인물 그룹에 포함된 개인 식별자의 서브 세트를 각각 포함할 수 있다. 일부 구현에서, 사용자 인터페이스를 제공하는 동작은 적어도 하나의 인물 그룹을 병합 한 후에 수행될 수 있다.
일부 구현에서, 이미지 기반 창작물을 제공하는 동작은 특정 인물 그룹에 기초하여 이미지 기반 창작물을 위한 이미지의 서브 세트를 선택하는 동작과, 상기 이미지의 서브 세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물들을 묘사하고; 그리고 이미지의 서브 세트에 기초하여 이미지 기반 창작물을 생성하는 동작을 포함할 수 있다.
일부 구현에서, 동일한 클러스터들을 병합하는 동작은 클러스터들에 기초하여, 개별 에피소드 세트를 복수의 인물 그룹 각각에 관련시키는 동작을 포함할 수 있다. 일부 구현에서, 이미지 기반 창작물을 제공하는 동작은 특정 인물 그룹과 관련된 에피소드들에 포함된 개별 이미지 세트로부터 이미지 기반 창작물을 위한 이미지의 서브 세트를 선택하는 동작을 포함할 수 있다.
도 1은 본 명세서에 설명된 하나 이상의 구현에 사용될 수 있는 예시적인 네트워크 환경의 블록도이다.
도 2는 일부 구현에 따른 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 예시적인 방법을 도시하는 흐름도이다.
도 3a-3f는 일부 구현에 따른 이미지 라이브러리에 있는 에피소드로부터 인물 그룹을 얻는 다른 단계를 도시한다.
도 4a는 본 명세서에 설명된 일부 구현에 따른 예시적인 사용자 인터페이스를 도시한다.
도 4b는 일부 구현에 따른 예시적인 사용자 인터페이스(412-416)를 도시한다.
도 5는 본 명세서에 설명된 하나 이상의 특징을 구현하는데 사용될 수 있는 예시적인 디바이스(500)의 블록도이다.
본 개시는 사용자의 이미지 라이브러리에 기초하여 중요한 인물(people) 그룹을 자동으로 결정하여 적절한 시간에 이러한 인물 그룹에 대한 이미지 기반 창작물(작품)을 제공하는 것에 관한 것이다. 예를 들어, 사용자는 예를 들어 평생에 걸쳐 오랜 기간 동안 촬영한 수천 장의 사진이 포함된 이미지 라이브러리를 보유할 수 있다. 사용자는 많은 수의 흥미롭지 않거나 중복된 이미지를 접할 수 있으므로 이러한 이미지를 브라우징하는 것은 지루할 수 있다. 또한, 검색 기능을 통해 사용자는 특정 기준(예를 들어, 특정 기간에 캡처된 이미지, 특정 인물을 묘사하는 이미지 등)을 충족하는 이미지를 식별할 수 있지만, 사용자는 이미지를 보기 위해 명시적으로 공식화하고 검색을 수행해야 한다.
이미지 라이브러리에서, 묘사된 인물의 서브 세트는 사용자에게 의미있고 중요할 수 있다. 예를 들어, 이러한 서브 세트에는 사용자의 직계 가족(예를 들어, 배우자, 자녀, 부모), 애완 동물, 친한 친구 등이 포함될 수 있다. 이들은 그의 삶에서 중요한 인물들이기 때문에 사용자는 이러한 인물들의 이미지에 더 관심을 가질 가능성이 높다.
사용자의 이미지 라이브러리에서 중요한 인물 그룹, 예를 들어, 각각 사용자와 중요한 관계를 갖는 둘 이상의 인물의 그룹을 자동으로 식별하는 기술이 본 명세서에서 설명된다. 이 설명된 기술은 이러한 자동 식별을 위해 사용자 데이터에 액세스할 수 있는 특정 사용자 승인(permission)를 이용하여 수행된다. 일부 구현에서, 사용자의 이미지 라이브러리는 각 에피소드가 이벤트(예를 들어, 결혼식 또는 졸업식과 같은 주요 이벤트 또는 하이킹 여행과 같은 소규모 이벤트)에 대응할 수 있도록 다수의 에피소드로 분할될 수 있다. 본 명세서에 설명된 기술에 따라 사용자 이미지 라이브러리에 있는 에피소드를 분석하여 각 에피소드와 관련된 인물 클러스터를 식별한다. 에피소드에서 충분히 자주 나타나지 않거나 소수의 에피소드에만 나타나는 인물은 그 인물 클러스터에서 제거되고, 임의의 중복된 인물 클러스터는 인물 그룹을 얻도록 병합된다.
일부 구현에서, 예를 들어 트리거링 조건에 기초하여 복수의 인물 그룹이 식별되면, 그 인물 그룹의 서브 세트가 이미지 기반 창작물을 생성하는데 활용될 수 있다. 예를 들어, 더 큰 인물 그룹이 작은 그룹보다 이미지 기반 창작물에 활용될 수 있다. 동일한 크기의 다수의 인물 그룹이 결정되면, 그 인물 그룹들은 개인(인물) 식별자들에 기초하여, 최근 이미지에 인물 그룹이 포함되었는지 여부에 기초하여, 사용자의 라이브러리에 있는 각 인물 그룹의 상대적인 빈도 등에 기초하여 순위가 매겨질 수 있다.
식별된 인물 그룹들에 기초하여, 슬라이드 쇼, 콜라주, 이미지 앨범 등과 같은 이미지 기반 창작물이 자동으로 생성된다. 이미지 기반 창작물들을 보기 위한 사용자 인터페이스가 사용자에게 제공된다. 이미지 기반 창작물은 적절한 시간(예를 들어, 다가오는 이벤트 근처, 사용자가 이미지 라이브러리의 이미지를 검색할 때 주기적으로 등)에 생성될 수 있으며 사용자 인터페이스를 통해 제공될 수 있다. 따라서 설명된 기술은 이미지 라이브러리에서 중요한 인물 그룹들을 자동으로 식별하고 사용자가 그러한 인물 그룹들에 대한 이미지 기반 창작물을 볼 수 있는 사용자 인터페이스를 제공한다.
도 1은 본 명세서에 설명된 일부 구현에서 사용될 수 있는 예시적인 네트워크 환경(100)의 블록도를 도시한다. 일부 구현에서, 네트워크 환경(100)은 하나 이상의 서버 시스템, 예를 들어, 도 1의 예의 서버 시스템(102), 및 사용자(U1-U4)의 개별 사용자와 각각 관련된 복수의 클라이언트 디바이스, 예를 들어 클라이언트 디바이스(120-126)를 포함한다. 서버 시스템(102)과 클라이언트 디바이스(120-126) 각각은 네트워크(130)와 통신하도록 구성될 수 있다.
서버 시스템(102)은 서버 디바이스(104)와 이미지 데이터베이스(110)를 포함할 수 있다. 일부 구현에서, 서버 디바이스(104)는 이미지 애플리케이션(106a)을 제공할 수 있다. 도 1 및 나머지 도면에서, 참조 번호 뒤의 문자, 예를 들어 "106a"는 특정 참조 번호를 갖는 요소에 대한 참조를 나타낸다. 후속 문자가 없는 텍스트의 참조 번호(예를 들어, "106")는 해당 참조 번호를 포함하는 요소의 실시예에 대한 일반적인 참조를 나타낸다.
이미지 데이터베이스(110)는 서버 시스템(102)의 일부인 저장 디바이스에 저장될 수 있다. 일부 구현에서, 이미지 데이터베이스(110)는 관계형 데이터베이스, 키-값 구조, 또는 다른 유형의 데이터베이스 구조를 사용하여 구현될 수 있다. 일부 구현에서, 이미지 데이터베이스(110)는 복수의 파티션을 포함할 수 있고, 그 각각은 각 사용자(U1-U4)에 대한 개별 이미지 라이브러리에 대응한다. 예를 들어, 도 1에서 볼 수 있듯이, 이미지 데이터베이스(110)는 사용자(U1)를 위한 제1 이미지 라이브러리(이미지 라이브러리 1, 108a) 및 다양한 다른 사용자를 위한 다른 이미지 라이브러리(IL-2, IL-3,...,IL-n)를 포함할 수 있다. 도 1은 단일 이미지 데이터베이스(110)를 도시하지만, 이미지 데이터베이스(110)는 예를 들어 복수의 데이터베이스 서버에 걸쳐 분산 데이터베이스로서 구현될 수 있음을 이해할 수 있다. 또한, 도 1은 각 사용자에 대해 하나씩 복수의 파티션을 도시하지만, 일부 구현에서 각 이미지 라이브러리는 별도의 데이터베이스로 구현될 수 있다.
이미지 라이브러리(108a)는 사용자(U1)과 관련된 복수의 이미지, 복수의 이미지와 관련된 메타 데이터 및 복수의 이미지와 관련하여 저장된 하나 이상의 다른 데이터베이스 필드를 저장할 수 있다. 이미지 라이브러리(108a)에 대한 액세스 승인는 사용자(U1)가 예를 들어 이미지 애플리케이션(106)에 의해, 다른 애플리케이션에 의해 및/또는 하나 이상의 다른 사용자에 의해, 이미지 라이브러리(108a) 내의 이미지 및 다른 데이터가 액세스될 수 있는 방법을 제어할 수 있도록 제한될 수 있다. 서버 시스템(102)은 특정 사용자의 이미지 데이터가 사용자에 의해 허용된 대로만 액세스 가능하도록 액세스 승인를 구현하도록 구성될 수 있다.
본 명세서에서 언급되는 이미지는 하나 이상의 픽셀 값(예를 들어, 색상 값, 밝기 값 등)을 갖는 픽셀을 갖는 디지털 이미지를 포함할 수 있다. 이미지는 정지 이미지(예를 들어, 정지 사진, 단일 프레임이 있는 이미지 등), 동적 이미지(예를 들어, 애니메이션, 애니메이션(된) GIF, 이미지의 일부가 모션을 포함하고 다른 부분들은 정적인 시네마 그래프 등), 또는 비디오(예를 들어, 오디오를 선택적으로 포함할 수 있는 이미지 또는 이미지 프레임 시퀀스)일 수 있다. 본 명세서에 사용된 이미지는 위의 어느 것으로 이해될 수 있다. 예를 들어, 본 명세서에 설명된 구현은 정지 이미지(예를 들어, 사진 또는 다른 이미지), 비디오 또는 동적 이미지와 함께 사용될 수 있다.
네트워크 환경(100)은 또한 네트워크(130)를 통해 서로 및/또는 서버 시스템(102)과 통신할 수 있는 하나 이상의 클라이언트 디바이스, 예를 들어 클라이언트 디바이스(120, 122, 124, 126)를 포함할 수 있다. 네트워크(130)는 인터넷, 근거리 통신망(LAN), 무선 네트워크, 스위치 또는 허브 연결 중 하나 이상을 포함하는 임의의 유형의 통신 네트워크일 수 있다. 일부 구현에서, 네트워크(130)는 예를 들어 피어-투-피어 무선 프로토콜(예를 들어, 블루투스®, Wi-Fi 다이렉트 등) 등을 사용하여 디바이스 간의 피어-투-피어 통신을 포함할 수 있다. 2개의 클라이언트 디바이스(120 및 122) 사이의 피어-투-피어 통신의 한 예가 화살표(132)로 도시되어 있다.
다양한 구현에서, 사용자(U1, U2, U3 및 U4)는 개별 클라이언트 디바이스(120, 122, 124 및 126)를 사용하여 서버 시스템(102) 및/또는 서로 통신할 수 있다. 일부 예에서, 사용자(U1, U2, U3 및 U4)는 개별 클라이언트 디바이스 및/또는 서버 시스템(102)에서 실행되는 애플리케이션을 통해 및/또는 네트워크 서비스, 예를 들어 소셜 네트워크 서비스 또는 서버 시스템(102)에서 구현되는 다른 유형의 네트워크 서비스를 통해 서로 상호 작용할 수 있다. 예를 들어, 개별 클라이언트 디바이스(120, 122, 124 및 126)는 하나 이상의 서버 시스템, 예를 들어 서버 시스템(102)과 데이터를 송수신할 수 있다.
일부 구현에서, 서버 시스템(102)은 각각의 클라이언트 디바이스가 서버 시스템(102) 및/또는 네트워크 서비스에 업로드된 통신 컨텐츠 또는 공유 컨텐츠를 수신할 수 있도록 클라이언트 디바이스로 적절한 데이터를 제공할 수 있다. 일부 예에서, 사용자(U1-U4)는 이미지 공유, 오디오 또는 화상 회의, 오디오, 비디오 또는 텍스트 채팅, 또는 기타 통신 모드 또는 애플리케이션을 통해 상호 작용할 수 있다.
서버 시스템(102)에 의해 구현되는 네트워크 서비스는 사용자들이 다양한 통신을 수행하고, 링크 및 관계를 형성하고, 이미지, 텍스트, 오디오 및 기타 유형의 컨텐츠와 같은 공유 컨텐츠를 업로드 및 게시하고 및/또는 다른 기능을 수행할 수 있게 하는 시스템을 포함할 수 있다. 예를 들어, 클라이언트 디바이스는 클라이언트 디바이스로 전송 또는 스트리밍되고 서버 및/또는 네트워크 서비스(또는 상이한 클라이언트 디바이스로부터 직접)를 통해 상이한 클라이언트 디바이스로부터 발생(originating)하거나 서버 시스템 및/또는 네트워크 서비스로부터 발생하는 컨텐츠 게시물과 같은 수신된 데이터를 디스플레이할 수 있다. 일부 구현에서, 클라이언트 디바이스는 예를 들어 전술한 바와 같이 클라이언트 디바이스 간의 피어-투-피어 통신을 사용하여 서로 직접 통신할 수 있다. 일부 구현에서, "사용자"는 시스템 또는 네트워크와 인터페이스하는 사람뿐만 아니라 하나 이상의 프로그램 또는 가상 엔티티를 포함할 수 있다.
일부 구현에서, 임의의 클라이언트 디바이스(120, 122, 124, 및/또는 126)는 하나 이상의 애플리케이션을 제공할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 클라이언트 디바이스(120)는 이미지 애플리케이션(106b)을 제공할 수 있다. 클라이언트 디바이스(122-126)는 또한 유사한 애플리케이션을 제공할 수 있다. 이미지 애플리케이션(106a)은 클라이언트 디바이스(120)의 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 다른 구현에서, 이미지 애플리케이션(106a)은 예를 들어 임의의 클라이언트 디바이스(120-124)에서 실행되는 독립형 클라이언트 애플리케이션일 수 있거나, 서버 시스템(102)에 제공된 이미지 애플리케이션(106b)과 함께 작동할 수 있다.
이미지 애플리케이션(106)은 이미지와 관련된 사용자 승인로 구현된 다양한 피처를 제공할 수 있다. 예를 들어, 이러한 피처는 카메라를 사용한 이미지 캡처, 이미지 수정, (예를 들어, 얼굴 크기, 흐릿함, 얼굴 수, 이미지 구성, 조명, 노출 등과 같은 요소에 기초한) 이미지 품질 결정, 이미지 라이브러리(108)에 이미지 또는 비디오 저장, 이미지 또는 이미지 기반 창작물 등을 볼 수 있는 사용자 인터페이스 제공 중 하나 이상을 포함할 수 있다.
일부 구현에서, 사용자 승인하에, 이미지 애플리케이션(106)에 의해 제공되는 피처는 (예를 들어, 얼굴 검출, 얼굴 인식, 보행 인식, 포즈 인식 등과 같은 하나 이상의 사용자 허용 기술을 사용하여) 이미지에 묘사된 하나 또는 인물을 결정하고, 이미지 라이브러리(108)의 이미지에 묘사된 각각의 인물(예를 들어, 인간, 애완 동물)에 대한 개인 식별자를 생성하기 위해 이미지를 분석하는 것을 포함할 수 있다. 각 이미지에 대한 개인 식별자는 이미지 라이브러리(108)의 이미지와 관련하여 저장될 수 있다. 일부 구현에서, 개인 식별자를 생성하는 것은 이미지에 묘사된 인물의 썸네일 표현, 예를 들어, 사용자를 묘사하는 이미지를 줌잉하거나 자르기(cropping)를 통해 획득된 그 인물의 클로즈업을 획득하는 것을 더 포함할 수 있다.
일부 구현에서, 사용자 승인하에, 이미지 애플리케이션(106)은 이미지를 분석하여 데이터를 생성하고 이러한 데이터를 이미지 라이브러리(108)에 저장할 수 있다. 예를 들어, 이미지 애플리케이션(106)은 이미지 및 관련 메타 데이터(예를 들어, 위치, 타임 스탬프 등)를 분석하여 이미지를 복수의 에피소드로 그룹화할 수 있다. 일부 구현에서, 에피소드는 이벤트(예를 들어, 생일 또는 다른 축하 행사, 여행) 또는 특정 기간과 관련될 수 있다. 이미지 애플리케이션(106)은 이미지 라이브러리(108)의 이미지를 (반복적으로) 분석하여 복수의 에피소드를 결정할 수 있다. 에피소드 결정시, 이미지 애플리케이션(106)은 이미지 라이브러리의 각 이미지가 관련되는 에피소드를 나타 내기 위해 이미지 라이브러리(108)를 업데이트할 수 있다.
전술한 설명은 이미지 애플리케이션(106)의 다양한 피처를 언급하지만, 다양한 구현에서, 이미지 애플리케이션(106)은 더 적거나 더 많은 피처를 제공할 수 있다는 것이 이해될 것이다. 또한, 각 사용자에게는 특정 피처를 활성화 및/또는 비활성화하는 옵션이 제공된다. 이미지 애플리케이션(106)의 피처들은 특히 사용자 승인으로 구현된다.
클라이언트 디바이스(120)는 독립형 이미지 라이브러리일 수 있는 사용자(U1)의 이미지 라이브러리(108b)를 포함할 수 있다. 일부 구현에서, 이미지 라이브러리(108b)는 서버 시스템(102)의 이미지 라이브러리(108a)와 조합하여 사용 가능할 수 있다. 예를 들어, 사용자 승인에 따라, 이미지 라이브러리(108a)와 이미지 라이브러리(108b)는 네트워크(130)를 통해 동기화될 수 있다. 일부 구현에서, 이미지 라이브러리(108)는 사용자(U1)과 관련된 복수의 이미지, 예를 들어 사용자에 의해 캡처된 이미지(예를 들어, 클라이언트 디바이스(120) 또는 다른 디바이스의 카메라를 사용하여), (예를 들어, 다른 사용자(U2)의 개별 이미지 라이브러리로부터) 사용자(U1-U4)와 공유된 이미지, 사용자(U1)가 (예를 들어, 웹 사이트, 메시징 애플리케이션 등으로부터) 다운로드한 이미지, 스크린 샷 및 기타 이미지를 포함할 수 있다.
일부 구현에서, 클라이언트 디바이스(120)의 이미지 라이브러리(108b)는 서버 시스템(102)의 이미지 라이브러리(108a)에 있는 이미지의 서브 세트를 포함할 수 있다. 예를 들어, 이러한 구현은 제한된 양의 저장 공간이 클라이언트 디바이스(120)에서 이용 가능할 때 유리할 수 있다.
일부 구현에서, 이미지 애플리케이션(106)은 사용자가 이미지 라이브러리를 관리하도록 할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120-126) 중 임의의 것)상의 이미지 애플리케이션(106b)의 백업 기능을 사용하여 클라이언트 디바이스상의 로컬 이미지를 서버 디바이스(104), 예를 들어 서버 디바이스(104)에 백업할 수 있다. 예를 들어, 사용자는 백업할 하나 이상의 이미지를 수동으로 선택하거나 백업할 이미지를 식별하는 백업 설정을 지정할 수 있다. 이미지를 서버 디바이스에 백업하는 것은 예를 들어 서버 디바이스(104)상의 이미지 애플리케이션(106a)과 협력하여 서버에 의한 저장을 위해 이미지를 서버로 전송하는 것을 포함할 수 있다.
다른 구현에서, 클라이언트 디바이스(120) 및/또는 서버 시스템(102)은 다양한 유형의 기능, 예를 들어 캘린더, 주소록, 이메일, 웹 브라우저, 쇼핑, 교통 수단(예를 들어, 택시, 기차, 항공 예약 등), 엔터테인먼트(예를 들어, 음악 플레이어, 비디오 플레이어, 게임 애플리케이션 등), 소셜 네트워킹(예를 들어, 메시징 또는 채팅, 오디오/비디오 통화, 이미지/비디오 공유 등) 등을 제공하는 애플리케이션일 수 있는 다른 애플리케이션(미도시)을 포함할 수 있다. 일부 구현에서, 다른 애플리케이션 중 하나 이상은 클라이언트 디바이스(120)에서 실행되는 독립형 애플리케이션일 수 있다. 일부 구현에서, 다른 애플리케이션 중 하나 이상은 다른 애플리케이션의 데이터 및/또는 기능을 제공하는 서버 시스템, 예를 들어 서버 시스템(102)에 액세스할 수 있다.
클라이언트 디바이스(120, 122, 124 및/또는 126)의 사용자 인터페이스는 이미지, 이미지 기반 창작물, 데이터, 및 통신, 프라이버시 설정, 알림 및 다른 데이터뿐만 아니라 기타 컨텐츠를 포함하여 사용자 컨텐츠 및 다른 컨텐츠의 디스플레이를 가능하게 할 수 있다. 이러한 사용자 인터페이스는 클라이언트 디바이스의 소프트웨어, 서버 디바이스의 소프트웨어, 및/또는 클라이언트 소프트웨어와 서버 디바이스(104)에서 실행되는 서버 소프트웨어의 조합, 예를 들어 서버 시스템(102)과 통신하는 애플리케이션 소프트웨어 또는 클라이언트 소프트웨어를 사용하여 디스플레이될 수 있다. 사용자 인터페이스는 클라이언트 디바이스 또는 서버 디바이스의 디스플레이 디바이스(예를 들어, 터치 스크린 또는 다른 디스플레이 스크린, 프로젝터 등)에 의해 디스플레이될 수 있다. 일부 구현에서, 서버 시스템에서 실행되는 애플리케이션 프로그램은 클라이언트 디바이스에서 사용자 입력을 수신하고 클라이언트 디바이스에서 시각 데이터, 오디오 데이터 등과 같은 데이터를 출력하기 위해 클라이언트 디바이스와 통신할 수 있다.
설명의 편의를 위해, 도 1은 서버 시스템(102), 서버 디바이스(104), 이미지 데이터베이스(110)에 대한 하나의 블록을 나타내고, 클라이언트 디바이스(120, 122, 124 및 126)에 대한 4개의 블록을 나타낸다. 서버 블록(102, 104 및 110)은 다수의 시스템, 서버 디바이스 및 네트워크 데이터베이스를 나타낼 수 있으며, 블록들은 도시된 것과 상이한 구성으로 제공될 수 있다. 예를 들어, 서버 시스템(102)은 네트워크(130)를 통해 다른 서버 시스템과 통신할 수 있는 다수의 서버 시스템을 나타낼 수 있다. 일부 구현에서, 서버 시스템(102)은 예를 들어 클라우드 호스팅 서버들을 포함할 수 있다. 일부 예에서, 이미지 데이터베이스(110)는 서버 디바이스(104)와 분리되어 있고 네트워크(130)를 통해 서버 디바이스(104) 및 다른 서버 시스템과 통신할 수 있는 서버 시스템 블록(들)에 제공된 저장 디바이스에 저장될 수 있다.
또한, 임의의 수의 클라이언트 디바이스가 있을 수 있다. 각 클라이언트 디바이스는 임의의 유형의 전자 디바이스, 예를 들어 데스크탑 컴퓨터, 랩탑 컴퓨터, 휴대용 또는 모바일 디바이스, 휴대폰, 스마트 폰, 태블릿 컴퓨터, 텔레비전, TV 셋탑 박스 또는 엔터테인먼트 디바이스, 웨어러블 디바이스(예를 들어, 디스플레이 안경 또는 고글, 손목 시계, 헤드셋, 손목 밴드, 보석류 등), PDA(Personal Digital Assistant), 미디어 플레이어, 게임 디바이스 등일 수 있다. 일부 구현에서, 네트워크 환경(100)은 도시된 모든 구성 요소를 갖지 않을 수 있고 및/또는 본 명세서에 설명된 것 대신에 또는 이에 추가하여 다른 유형의 요소를 포함하여 다른 요소를 가질 수 있다.
본 명세서에 설명된 특징의 다른 구현은 임의의 유형의 시스템 및/또는 서비스를 사용할 수 있다. 예를 들어, (예를 들어, 인터넷에 연결된) 다른 네트워크 서비스가 소셜 네트워킹 서비스 대신 또는 이에 추가하여 사용될 수 있다. 임의의 유형의 전자 디바이스는 본 명세서에 설명된 피처들을 사용할 수 있다. 일부 구현은 컴퓨터 네트워크로부터 단절되거나 간헐적으로 연결된 하나 이상의 클라이언트 또는 서버 디바이스상에서 본 명세서에 설명된 하나 이상의 피처를 제공할 수 있다. 일부 예에서, 디스플레이 디바이스를 포함하거나 이에 연결된 클라이언트 디바이스는 예를 들어 통신 네트워크를 통해 이전에 수신된 클라이언트 디바이스에 로컬인 저장 디바이스상에 저장된 컨텐츠 게시물을 디스플레이할 수 있다.
도 2는 일부 구현에 따른 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 예시적인 방법(200)을 도시하는 흐름도이다. 일부 구현에서, 방법 (200)은 예를 들어 도 1에 도시된 바와 같이 서버 시스템(102)에서 구현될 수 있다. 일부 구현에서, 방법(200)의 일부 또는 전부는 도 1에 도시된 바와 같이 하나 이상의 클라이언트 디바이스(120, 122, 124 또는 126), 하나 이상의 서버 디바이스 및/또는 서버 디바이스(들) 및 클라이언트 디바이스(들) 모두에서 구현될 수 있다. 설명된 예에서, 구현 시스템은 하나 이상의 디지털 프로세서 또는 처리 회로("프로세서"), 및 하나 이상의 저장 디바이스(예를 들어, 데이터베이스 또는 다른 저장소)를 포함한다. 일부 구현에서, 하나 이상의 서버 및/또는 클라이언트의 다른 구성 요소는 방법(200)의 다른 블록 또는 다른 부분을 수행할 수 있다. 일부 예에서, 제1 디바이스가 방법(200)의 블록들을 수행하는 것으로 기술된다. 일부 구현은 결과 또는 데이터를 제1 디바이스로 전송할 수 있는 하나 이상의 다른 디바이스(예를 들어, 다른 클라이언트 디바이스 또는 서버 디바이스)에 의해 수행되는 방법(200)의 하나 이상의 블록을 가질 수 있다.
일부 구현에서, 방법(200) 또는 그 방법의 일부는 시스템에 의해 자동으로 시작될 수 있다. 일부 구현에서, 구현 시스템은 제1 디바이스이다. 예를 들어, 방법(또는 그 일부)은 주기적으로, 예를 들어 몇 시간마다, 매일, 매주 또는 다른 적절한 간격으로 수행될 수 있다. 일부 구현에서 방법(또는 일부)은 하나 이상의 특정 이벤트 또는 조건, 예를 들어, 이미지 애플리케이션(106)을 시작하는 클라이언트가 클라이언트 디바이스에 의한 새로운 이미지의 캡처, 서버 시스템(102)에 새로운 이미지의 업로드, 방법(200)의 마지막 수행 이후 만료된 사전 결정된 기간 기간, 및/또는 그 방법에 의해 판독된 설정에서 지정될 수 있는 하나 이상의 다른 조건 발생에 기초하여 수행될 수 있다.
방법(200)은 블록(202)에서 시작할 수 있다. 블록(202)에서, 방법(200)의 구현에서 사용자 데이터를 사용하기 위한 사용자 승인이 획득된다. 예를 들어, 승인이 획득된 사용자 데이터에는 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120-126) 중 임의의 것) 및/또는 서버 디바이스에 저장된 이미지, 이미지 메타 데이터, 이미지 관리 애플리케이션 사용과 관련된 사용자 데이터, 이미지 기반 창작물에 대한 사용자 응답 등이 포함될 수 있다. 사용자에게는 이러한 사용자 데이터에 액세스하기 위한 승인을 선택적으로 제공하는 옵션이 제공된다. 예를 들어, 사용자는 요청된 모든 사용자 데이터, 요청된 데이터의 임의의 서브 세트에 액세스할 수 있거나 또는 요청된 데이터에 액세스할 수 없는 승인을 제공하도록 선택할 수 있다. 본 명세서에 설명된 방법의 하나 이상의 블록은 일부 구현에서 이러한 사용자 데이터를 사용할 수 있다. 블록(202) 다음에 블록(204)이 이어진다.
블록(204)에서, 본 명세서에 설명된 방법(200)의 나머지(블록 210-224)가 예를 들어 사용자에 의해 허용된 데이터에 액세스함으로써 사용자가 제공한 승인으로 구현될 수 있는지 여부가 결정된다. 만약 블록(204)에서 블록(202)에서 사용자에 의해 제공된 승인이 불충분하다고 결정되면, 블록(204) 다음에 블록(206)이 이어지고, 그렇지 않으면 블록(204) 다음에 블록(210)이 이어진다.
블록(206)에서, 사용자 데이터에 액세스하기 위해 사용자 승인이 요청된다. 예를 들어, 만약 사용자가 블록(210-224)에서 사용될 수 있는 사용자 데이터의 하나 이상의 부분에 대한 승인를 거부했다면, 사용자 데이터의 이러한 부분에 대한 승인을 제공하기 위해 사용자 인터페이스가 제공될 수 있다. 사용자 인터페이스는 데이터가 어떻게 사용될 수 있는지를 사용자에게 표시할 수 있고 및/또는 그러한 승인을 제공하는 것이 예를 들어 이미지 기반 창작물의 제공을 가능하게 함으로써 사용자에게 도움이 될 수 있다는 표시를 제공할 수 있다. 대안적으로, 예를 들어, 만약 사용자가 사용자 데이터에 대한 액세스 요청을 거부하거나 승인 거부를 나타내면, 방법은 사용자 데이터에 액세스되지 않도록 블록(206)에서 종료된다. 이러한 경우, 블록(210-224)은 수행되지 않는다.
만약 사용자에 의해 제공된 승인이 충분하면, 블록(204) 다음에 블록(210)이 이어진다. 방법의 나머지, 예를 들어 블록(210-224)은 사용자에 의해 허용된 사용자 데이터에 대한 선택적 액세스로 수행된다. 일부 구현에서, 사용자에게는 사용자 데이터에 대한 액세스를 제공하거나 승인을 수정하기 위한 추가 프롬프트가 제공될 수 있다.
블록(210)에서, 복수의 에피소드가 획득된다. 예를 들어, 에피소드는 클라이언트 디바이스 및/또는 서버 디바이스에 로컬로 저장된 사용자의 이미지 라이브러리로부터 획득될 수 있다. 일부 구현에서, 각각의 에피소드는 대응하는 시산 기간과 관련될 수 있고 개별 이미지 세트를 포함할 수 있다.
예를 들어, 에피소드는 특정 이벤트에 해당할 수 있다. 에피소드와 관련될 수 있는 이벤트의 예로는 생일, 결혼식, 또는 기타 축하 행사; 스키 휴가, 하이킹 여행, 해변 휴가, 게임 또는 콘서트, 가족 피크닉 등과 같은 여행 또는 활동을 포함한다. 에피소드는 짧은 시간(예를 들어, 콘서트 또는 생일 축하의 경우 몇 시간 또는 하루) 또는 비교적 긴 시간(예를 들어, 여러 날의 스키 휴가)에 걸쳐 있을 수 있다.
에피소드에 대한 이미지 세트는 에피소드와 관련된 시간 기간 내에 촬영된 이미지를 포함할 수 있다. 예를 들어 하이킹 휴가와 관련된 이미지는 등반, 오솔길 산책, 식사/음주, 또는 다른 활동에 참여하는 사람의 이미지 및/또는 기타 이미지(예를 들어, 산, 나무 등의 이미지)를 포함하여 해당 시간 기간 동안 촬영된 이미지를 포함할 수 있다.
각 이미지는 각각의 개인 식별자와 관련될 수 있다. 일부 구현에서, 개인 식별자는 사용자의 이미지 라이브러리에 묘사된 특정 인물과 관련된 고유한 값, 예를 들어 데이터베이스 프라이머리 키 또는 등가물일 수 있다. 예를 들어, 오솔길을 걷고 있는 두 인물을 묘사하는 이미지는 두 인물 각각에 대한 개인 식별자와 관련될 수 있다. 사용자 승인에 따라, 고유한 개인 식별자가 사용자의 이미지 라이브러리에 있는 하나 이상의 이미지에 묘사된 각 인물과 관련될 수 있다.
일부 구현에서, 개인 식별자는 사용자의 이미지 라이브러리에서 이용 가능할 때 인물의 이름과 관련될 수 있다. 일부 구현에서, 개인 식별자는 그 인물에 대한 대표 이미지 또는 썸네일과 관련될 수 있다. 이미지를 검색하거나 개인 식별자를 이미지와 관련시키는 것과 같은 동작을 위해 고유 식별자(데이터 값)가 활용될 수 있음을 이해할 것이다. 본 문서의 나머지 부분에서는 설명의 편의를 위해, 고유 식별자(예를 들어, 영숫자 또는 기타 유형의 데이터 값), 인물 이름 또는 인물의 썸네일을 참조하기 위해 개인 식별자가 번갈아 사용된다. 일부 구현에서, 인물에는 (예를 들어, 이미지 라이브러리가 상이한 동물을 구별하는 피처를 갖는 경우) 인간 뿐만 아니라 애완 동물도 포함될 수 있다. 인물을 묘사하지 않는 이미지의 경우, 개인 식별자가 연관되지 않거나 널(null) 식별자가 연관될 수 있다. 블록(210) 다음에 블록(212)이 이어질 수 있다.
도 3a-3f는 일부 구현에 따른 사용자의 이미지 라이브러리의 에피소드로부터 인물 그룹을 획득하는 다른 단계를 도시한다. 방법(200)의 나머지 블록은 도 3a-3f를 추가로 참조하여 설명한다.
블록(212)에서, 각각의 에피소드에 대해 각각의 클러스터가 형성된다. 도 3a-3d에서, 8개의 클러스터(및 이에 상응하는 8개의 에피소드)는 1부터 8까지의 숫자로 식별된다. 일부 구현에서, 클러스터를 형성하는 것은 에피소드의 이미지 세트내의 적어도 하나의 이미지에 나타나는 모든 개인 식별자를 클러스터에 매핑하는 것을 포함할 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 클러스터(1, 2, 3, 5, 6 및 8)는 각각 3명의 개인 식별자를 포함하고, 클러스터(4 및 7)는 각각 2명의 개인 식별자를 포함한다. 도 3a-3f에서, 각 개인 식별자는 개별 얼굴로 표시된다.
도 3a-3c 각각에서, 각 개인 식별자 옆의 숫자는 개인 식별자가 연관되는 에피소드의 이미지 세트로부터의 이미지 수를 나타낸다. 개인 식별자는 개인 식별자에 대응하는 사람이 예를 들어, 얼굴 인식, 보행 인식, 포즈 인식 등과 같이 사용자가 허용한 인물 인식 기술을 사용하여 인식된 이미지에 묘사될 때 이미지와 연관된다.
단순화를 위해, "개인 식별자 X" 및 "인물 X"라는 용어는 이 문서에서 상호 교환적으로 사용될 수 있다. 도 3a에서 볼 수 있듯이, 클러스터 1은 인물 A를 포함하는 20개의 이미지, 인물 B를 포함하는 15개의 이미지 및 인물 C를 포함하는 1개의 이미지를 포함한다. 클러스터 2에는 인물 D의 50개의 이미지, 인물 B의 35개의 이미지, 인물 A의 25개의 이미지가 포함된다. 클러스터 3에는 인물 E의 40개의 이미지, 인물 A의 30개의 이미지, 인물 B의 10개의 이미지가 포함된다. 클러스터 4에는 인물 E의 35개의 이미지와 인물 B의 20개의 이미지가 포함된다. 클러스터 5에는 인물 E의 25개의 이미지, 인물 B의 10개의 이미지, 인물 F의 3개의 이미지가 포함된다. 클러스터 6에는 인물 B의 10개의 이미지, 인물 E의 5개의 이미지, 인물 D의 4개의 이미지가 포함된다. 클러스터 7에는 인물 A의 45개의 이미지와 인물 B의 20개의 이미지가 포함된다. 클러스터 8에는 인물 A의 30개의 이미지, 인물 B의 25개의 이미지, 인물 E의 3개의 이미지가 포함된다.
일부 구현에서, 클러스터를 형성하는 것은 에피소드에 대한 가장 빈번한 개인 식별자를 포함하는 에피소드의 이미지 세트로부터 다수의 이미지를 결정하는 것을 더 포함할 수 있다. 예를 들어, 에피소드 1의 경우, (인물 A가 가장 빈번한 개인 식별자이므로) 이미지 수는 20개이다.
일부 구현에서, 클러스터를 형성하는 것은 클러스터로부터 임계수 미만의 이미지와 관련된 개인 식별자를 제거하는 것을 더 포함할 수 있다. 일부 구현에서, 임계수의 이미지는 에피소드에 대한 가장 빈번한 개인 식별자를 포함하는 이미지의 수(예를 들어, 에피소드 1의 경우, 20개)에 기초하여 결정될 수 있다. 예를 들어 에피소드 1의 경우, 임계 수가 5(20개의 20% 미만)인 것으로 결정될 수 있고, 임계 수 미만과 관련된 개인 식별자(예를 들어, 인물 C)가 클러스터 1에서 제거될 수 있다. 개인 식별자의 제거로 인해 단일 개인 식별자가 있는 클러스터가 생성되는 경우, 이러한 클러스터는 추가 처리 전에 제거된다.
다른 구현에서, 임계 수는 다른 방식으로, 예를 들어 백분율(가장 빈번한 인물을 포함하는 이미지 수의 20%, 30%, 또는 다른 값)으로 선택될 수 있다. 일부 구현에서, 임계 수는 예를 들어 클러스터 내의 총 개인 식별자 수가 임계 크기이하일 때까지 클러스터에서 가장 낮은 수의 이미지와 관련된 개인 식별자를 제거하기 위해, 각 클러스터에 대한 최대 크기에 기초하여 선택될 수 있다. 일부 구현에서, 임계 수는 각각의 클러스터가 그 클러스터와 관련된 각 개인 식별자에 대해 적어도 최소 수의 이미지, 예를 들어 3개의 이미지, 5개의 이미지 등을 포함하도록 선택될 수 있다.
도 3b는 개인 식별자 C가 클러스터 1에서 제거되고 개인 식별자 F가 클러스터 5에서 제거되는 것을 도시한다. 클러스터 1의 경우, 인물 C는 클러스터의 하나의 이미지와 관련되며, 이는 예를 들어 20의 20% = 4로 결정될 수 있는 임계수의 이미지보다 적다. 클러스터 5의 경우, 인물 F는 클러스터의 3개 이미지와 관련되며, 이는 예를 들어 25의 20% = 5로 결정될 수 있는 임계수의 이미지보다 작다. 여기서 25는 클러스터 5의 가장 빈번한 개인 식별자(인물 B)가 포함된 이미지의 수이다.
임계수의 이미지의 선택은 개인 식별자들이 비교적 빈번하게 클러스터에 묘사되는 것, 예를 들어 에피소드의 중요한 인물임을 보장할 수 있다. 예를 들어, 한 그룹의 인물이 갔던 하이킹 휴가의 이미지 세트를 포함하는 에피소드의 경우, 하이킹 그룹의 일원이었던 인물들이 다른 등산객, 가이드 등과 같은 다른 인물들보다 에피소드의 이미지에 더 자주 묘사될 가능성이 높다. 다른 예에서, 결혼식의 이미지 세트를 포함하는 에피소드의 경우, 신부측의 개개인이 가장 중요한 인물일 가능성이 높으며 그러한 인물은 에피소드의 이미지 세트에서 더 자주 묘사될 가능성이 높다. 이와 같이, 임계 이미지 수 미만의 이미지와 관련된 개인 식별자를 제거하는 것은 클러스터에 기초한 이미지 기반 창작물에 에피소드의 중요한 인물이 포함되도록 하는 것을 보장한다.
블록(212) 다음에는 블록(214)이 올 수 있다.
블록(214)에서, 하나 이상의 개인 식별자가 임계수 미만의 클러스터에 포함되는지 여부가 결정된다. 예를 들어, 도 3c에 도시된 바와같이, 개인 식별자 D는 임계 클러스터 수(예를 들어, 4개)미만인 2개의 클러스터(클러스터 2 및 클러스터 6)에 포함된 것으로 식별된다. 일부 구현에서, 임계 클러스터 수는 사용자의 이미지 라이브러리에 있는 총 에피소드 수(또는 적어도 2개의 개인 식별자를 가진 클러스터가 있는 총 에피소드 수)에 기초하여 선택될 수 있다. 예를 들어, 작은 이미지 라이브러리(예를 들어, 10개 에피소드, 20개 에피소드 포함)의 경우, 임계 클러스터 수는 비교적 낮은 값(예를 들어, 2, 3 등)으로 선택될 수 있는 반면, 큰 이미지 라이브러리(예를 들어, 50개 에피소드, 200개 에피소드 또는 더 많은 에피소드 포함)의 경우, 임계 수는 비교적 높은 값(예를 들어, 5, 10 등)으로 선택될 수 있다.
임계 수의 선택은 그 임계 수의 사용이 사용자의 이미지 라이브러리에서 그리고 상당한 시간 기간 동안 빈번하게 묘사되는 인물들, 예를 들어, 사용자에 상대적으로 더 중요한 인물들을 포함하는 클러스터를 생성할 가능성이 높도록 라이브러리 크기에 자동으로 기초할 수 있다. 예를 들어, 사용자에게 더 중요한 인물은 배우자, 자녀, 부모, 형제 자매 등과 같은 가까운 가족; 친구; 동료의 서브 세트를 포함할 수 있고, 사용자에게 상대적으로 덜 중요한 인물은 식사를 위해 만난 인물, 여행 그룹의 일원이었던 인물, 실수로 그들의 이미지에 캡처된 인물 등과 같은 다른 인물을 포함할 수 있다.
만약 하나 이상의 개인 식별자가 임계 클러스터의 수 미만에 포함되는 경우, 블록(214) 다음에 블록(216)이 이어진다. 그렇지 않은 경우, 블록(214) 다음에 블록(218)이 이어진다.
블록(216)에서, 블록(214)에서 식별된 하나 이상의 개인 식별자는 그러한 식별자가 포함된 클러스터로부터 제거된다. 예를 들어, 도 3c는 인물 D가 클러스터 2와 클러스터 6에서 제거되었음을 보여준다. 만약 하나 이상의 개인 식별자 제거로 인해 단일 개인 식별자가 있는 클러스터가 생성되는 경우, 이러한 클러스터는 추가 처리 전에 제거된다. 블록(216) 다음에 블록(218)이 올 수 있다.
블록(218)에서, 동일한 클러스터들은 복수의 인물 그룹을 획득하기 위해 병합된다. 각 인물 그룹에는 적어도 2개의 개인 식별자가 포함된다. 예를 들어, 도 3d는 (각각 인물 A 및 B를 포함하는) 클러스터(1, 2, 7, 8)가 인물 그룹(310)을 획득하기 위해 병합되고, (각각 인물 B 및 E를 포함하는) 클러스터(4, 5 및 6)는 인물 그룹(330)을 획득하기 위해 병합되는 것을 도시한다. 인물 그룹(320)은 고유한 클러스터(3)과 동일하다. 도 3d에서, 각 인물 그룹에 해당하는 에피소드 번호는 각 인물 그룹의 개인 식별자 옆에 표시된다.
일부 구현에서, 동일한 클러스터들을 병합하는 것은 (병합되는 클러스터들에 기초하여 결정된) 개별 에피소드 세트를 복수의 인물 그룹 각각에 관련시키는 것을 포함할 수 있다. 예를 들어, 도 3d에 도시된 바와 같이, 에피소드(1, 2, 7, 및 8)는 인물 그룹(310)과 관련되고 에피소드(4, 5 및 6)는 인물 그룹(330)과 관련된다. 에피소드를 인물 그룹과 관련시키는 것은 블록(224)을 참조하여 더 설명된 바와 같이, 인물 그룹에 대한 이미지 기반 창작물을 생성할 때 에피소드로부터 이미지를 선택할 수 있게 한다. 블록(218) 다음에 블록(220)이 이어질 수 있다.
블록(218) 이후에 수행되는 블록(220)에서, 적어도 하나의 인물 그룹이 임계 에피소드 수 미만과 관련되는지 여부가 결정된다. 예를 들어, 도 3d에서 볼 수 있는 바와 같이, 인물 그룹(320)은 단일 에피소드(에피소드 3)와 관련된다. 일부 구현에서, 임계 에피소드의 수는 2개, 3개 또는 임의의 다른 수로 선택될 수 있다. 더 높은 임계 에피소드 수를 선택하면 블록(224)을 참조하여 설명된 바와 같이, 이미지 기반 창작물이 인물 그룹 및 관련 에피소드에 기반하기 때문에 더 큰 시간 다양성을 갖는 이미지 기반 창작물을 가능하게 할 수 있다. 더 낮은 임계 에피소드 수를 선택하면 예를 들어, 임계 수를 2로 선택함으로써 더 많은 수의 이미지 기반 창작물의 생성을 가능하게 할 수 있으며, 블록(224)을 참조하여 설명된 바와 같이 2개의 에피소드와 관련된 인물 그룹도 이미지 기반 창작물에 사용될 수 있다.
블록(220)에서 적어도 하나의 인물 그룹이 임계 에피소드 수 미만과 관련되어 있다고 결정되면, 블록(220) 다음에 블록(222)이 이어진다. 그렇지 않으면, 블록(220) 다음에 블록(224)이 이어진다.
블록(222)에서, (블록 220에서 임계 에피소드 수 미만과 관련되는 것으로 식별된) 적어도 하나의 인물 그룹은 하나 이상의 다른 인물 그룹과 결합된다. 일부 구현에서, 적어도 하나의 인물 그룹이 결합되는 하나 이상의 다른 인물 그룹은 각각 적어도 하나의 인물 그룹에 포함된 개인 식별자의 서브 세트를 포함한다. 예를 들어, 도 3e는 (단일 에피소드와 관련된) 인물 그룹(320)이 (인물 A 및 B를 포함하는) 인물 그룹(310) 및 (인물 B 및 E를 포함하는) 인물 그룹(330)과 병합되는 것을 도시한다.
일부 구현에서, 인물 그룹을 결합하는 것은 적어도 하나의 인물 그룹과 관련된 에피소드를 그 인물 그룹이 결합되는 하나 이상의 다른 인물 그룹과 관련시키는 것을 포함할 수 있다. 예를 들어, 결합 후, 도 3f에 도시된 바와 같이, 에피소드(3)는 인물 그룹(310) 및 인물 그룹(330)과 관련된다. 에피소드를 인물 그룹과 관련시키는 것은 블록(224)을 참조하여 더 설명된 바와 같이, 그 인물 그룹에 대한 이미지 기반 창작물을 생성할 때 에피소드로부터 이미지를 선택하는 것을 가능하게 한다.
블록(222) 다음에 블록(224)이 올 수 있다. 일부 구현에서, 블록(220 및 222)은 선택적이다. 이러한 구현에서, 블록(218) 다음에 블록(224)이 이어진다.
블록(224)에서, 복수의 인물 그룹 중 특정 인물 그룹에 기초한 이미지 기반 창작물을 포함하는 사용자 인터페이스가 제공된다. 예를 들어, 사용자 인터페이스는 이미지 애플리케이션(예를 들어, 이미지 애플리케이션(106))에 디스플레이되는 실행 가능한 사용자 인터페이스 엘리먼드로서 제공될 수 있으며, 사용자가 그 실행 가능한 사용자 인터페이스 요소를 선택할 때, 대응하는 이미지 기반 창작물이 디스플레이된다. 일부 구현에서, 사용자 인터페이스를 제공하는 것은 (예를 들어, 클라이언트 디바이스(120)상의 이미지 애플리케이션(106b), 웹 브라우저 등을 통해) 사용자의 클라이언트 디바이스에 제공될 사용자 인터페이스를 디스플레이하도록 하는 명령을 포함할 수 있다.
일부 구현에서, 블록(224)은 다음의 트리거링 조건 중 적어도 하나가 만족된다는 것을 검출하는 것에 응답하여 수행될 수 있다. 예시적인 트리거링 조건은 예를 들어 이전 시간 방법(200)(또는 하위 부분, 예를 들어, 블록(224))이 수행되었기 때문에 특정 그룹과 매칭하는 이미지가 최근에 캡처되었음을 검출하는 것일 수 있다. 다른 예시적인 트리거링 조건은 현재 날짜(블록(224)이 수행된 시간)가 특정 인물 그룹과 관련된 날짜와 매칭함을 검출할 수 있다. 예를 들어, 사용자의 라이브러리가 주기적인 이벤트(예를 들어, 생일, 결혼 기념일, 추수 감사절, 크리스마스 또는 기타 휴일 등)와 관련된 인물 그룹을 포함하는 경우, 블록(224)은 이미지 기반 창작물이 있는 사용자 인터페이스가 특정 이벤트의 재발시 또는 그 근처에서 제공되도록 수행될 수 있다. 트리거 조건의 다른 예는 특정 인물 그룹과 매칭하는 이벤트를 검출하는 것이다. 예를 들어, 여행 데이터와 같이 사용자가 허용한 데이터에 기초하여 인물 그룹에 있는 친구 또는 가족과의 계획된 휴가(또는 진행 중이거나 막 종료된 휴가)가 검출될 수 있으며, 그에 따라 블록(224)이 수행될 수 있다.
일부 구현에서, 이미지 기반 창작물의 이미지는 트리거 조건이 저명한 것으로 검출될 때, 미리 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120-126) 중 임의의 것)에 다운로드될 수 있다. 예를 들어, 생일이 특정 인물 그룹에 기초한 이미지 기반 창작물의 트리거인 경우, 그 이미지 기반 창작물이 미리 생성되어 클라이언트 디바이스에 다운로드되어 캐시될 수 있다. 대안적으로 또는 추가적으로, 인물 그룹에 대한 이미지는 다운로드되어 클라이언트 디바이스에 캐시될 수 있다. 이러한 다운로드는 트리거 조건이 검출될 때 이미지 기반 창작물이 사용가능한지(또는 클라이언트 디바이스에서 생성될 수 있는지)를 보장할 수 있다.
일부 구현에서, 트리거링은 사용자의 이미지 라이브러리에 대한 총 인물 그룹 수에 기초하여 억제될 수 있는데, 예를 들어, 비교적 적은 수의 인물 그룹이 있는 작은 이미지 라이브러리를 사용하는 사용자의 경우, 이미지 기반 창작물은 큰 이미지 라이브러리가 있는 라이브러리를 가진 사용자보다 덜 자주 제공될 수 있다. 이것은 소수의 인물 그룹이 결정되는 경우에도 비교적 일정한 간격(예를 들어, 매월) 또는 특별한 순간(예를 들어, 생일 축하)에 이미지 기반 창작물을 제공하는 이점을 가질 수 있다.
일부 구현에서, 블록(224)은 주기적으로, 예를 들어 하루에 한 번, 일주일에 한 번, 한 달에 한 번 등으로 수행될 수 있다. 다양한 구현에서, 블록(224)은 이들 또는 다른 트리거링 조건의 임의의 조합에 응답하여 수행될 수 있다.
일부 구현에서, 이미지 기반 창작물은 블록(224)에 대한 트리거링 조건에 부분적으로 기초하여 생성될 수 있다. 예를 들어, 블록(224)이 새로운 이미지의 캡처에 응답하여 수행되는 경우, 이미지 기반 창작물에 대한 특정 인물 그룹은 이미지에 묘사된 인물들과 부분적으로 또는 정확히 매칭될 수 있다. 다른 예에서, 특정 인물 그룹에 대한 이미지 기반 창작물이 주기적으로(예를 들어, 한 달에 한 번, 여름마다 한 번 등) 생성되는 경우, 블록(224)은 그 블록(224)에서 선택된 이미지의 서브 세트가 대응하는 이전 기간으로부터의 이미지를 포함할 수 있도록 수행될 수 있다. 예를 들어, 블록(224)이 여름마다 수행되는 경우, 이전 여름 시즌과 관련된 에피소드의 이미지는 선택되고 다른 시즌의 이미지는 제외되도록 이미지의 서브 세트를 선택하는 것이 수행될 수 있다.
일부 구현에서, 블록(224)은 특정 인물 그룹이 빈번하게 반복되지 않도록, 예를 들어, 블록(224)이 수행될 때마다 다른 특정 인물 그룹이 선택되거나 유사한 이미지 기반 창작물이 비교적 짧은 시간 기간(예를 들어, 달, 분기 등) 내에 사용자 인터페이스에 디스플레이되지 않거나, 또는 인물 그룹에 새로운 이미지가 이용 가능하지 않는 한 인물 그룹에 대한 이미지 기반 창작물이 반복되지 않도록 수행된다. 상대적으로 짧은 기간(예를 들어, 한 달, 분기 등) 내에 사용자 인터페이스 또는 해당 인물 그룹에 대한 새로운 이미지를 사용할 수없는 경우 이미지 기반 창작물이 반복되지 않는다.
일부 구현에서, 사용자 인터페이스를 제공하는 것은 특정 인물 그룹에 기초하여 이미지 기반 창작물에 대한 이미지의 서브 세트를 선택하는 것을 포함할 수 있다. 예를 들어, 이미지의 서브 세트는 이미지의 서브 세트내의 각 이미지가 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물을 묘사하도록 선택될 수 있다. 일부 구현에서, 이미지의 서브 세트는 그 서브 세트의 각 이미지가 인물 그룹과 정확히 매칭하도록 선택될 수 있다. 다시 말해서, 이러한 구현에서, 이미지의 서브 세트는 인물 그룹의 개인 식별자와 관련된 인물만을 묘사하고 다른 인물은 묘사하지 않을 수 있다.
일부 구현에서, 이미지의 서브 세트는 그 서브 세트의 각각의 이미지가 특정 인물 그룹과 매칭하도록 선택될 수 있지만, 또한 하나 이상의 다른 인물을 포함한다. 즉, 이러한 구현에서, 이미지의 서브 세트는 특정 인물 그룹의 개인 식별자와 관련된 모든 인물 및 (다른 인물 그룹에 속할 수도 있고 아닐 수도 있는) 하나 이상의 다른 인물을 나타낼 수 있다. 일부 구현에서, 이미지의 서브 세트는 (특정 인물 그룹에 속하지 않는) 하나 이상의 다른 인물이 임의의 다른 인물 그룹의 일부가 되지 않도록 선택될 수 있다.
또 다른 구현에서, 이미지의 서브 세트는 서브 세트의 각 이미지가 특정 인물 그룹에 부분적으로 매칭하도록 선택될 수 있는데, 예를 들어, 특정 인물 그룹의 2개 이상의 개인 식별자에 포함된 적어도 2명의 인물을 선택적으로 하나 이상의 다른 인물을 포함한다. 다시 말해서, 이러한 구현에서, 이미지의 서브 세트는 인물 그룹의 개인 식별자와 관련된 인물 중 적어도 2명의 인물, 그리고 선택적으로 (다른 인물 그룹에 있을 수도 있고 없을 수도 있는) 하나 이상의 다른 인물을 묘사할 수 있다. 이들 구현 중 일부에서, 이미지의 서브 세트는 (특정 인물 그룹에 속하지 않는) 하나 이상의 다른 인물이 임의의 다른 인물 그룹의 일부가 되지 않도록 선택될 수 있다.
일부 구현에서, 이미지의 서브 세트는 그 서브 세트가 복수의 에피소드 중 적어도 2 개의 에피소드로부터의 이미지를 포함하도록 선택될 수 있다. 예를 들어, 이러한 구현은 이미지 기반 창작물이 시간적 다양성을 갖도록 보장할 수 있다. 즉, 이러한 구현에서 이미지 기반 창작물은 사용자의 라이브러리가 이미지를 포함하는 다수의 상이한 시간 기간 또는 이벤트로부터의 이미지를 묘사한다. 일부 구현에서, 예를 들어 이미지 기반 창작물이 더 큰 시간적 다양성으로 생성될 때, 이미지의 서브 세트는 더 많은 수의 에피소드, 예를 들어 3개의 에피소드, 5개의 에피소드, 10개의 에피소드 등의 이미지를 포함하도록 선택될 수 있다. 예를 들어, 특정 수의 이미지는 각 시간 기간, 예를 들어 각 분기, 매년 등, 또는 각 에피소드에서 선택될 수 있다. 일부 구현에서, 에피소드는 개별 에피소드 중요도(significance) 점수와 관련될 수 있고, 이미지의 서브 세트는 그 중요도 점수에 기초하여 결정된 바와 같이 특정 수의 고품질 에피소드에 기초하여 선택될 수 있다.
일부 구현에서, 이미지의 서브 세트는 블록(224)이 수행되는 현재 날짜에 기초하여 선택될 수 있다. 예를 들어, 특정 인물 그룹에 대한 서브 세트를 선택하는 것이 그 특정 인물 그룹에 대한 이미지 기반 창작물이 한 달에 한 번 제공될 수 있도록 정기적으로(예를 들어, 매월) 수행되는 경우, 이미지의 서브 세트는 예를 들어, 인물 그룹에 대해 "7월에 A 및 B" 형태의 이미지 기반 창작물을 제공하기 위해, 전년도 해당 월의 이미지로부터 선택될 수 있다. 계절, 분기 등과 같은 다른 시간 기간도 사진을 선택하는데 사용될 수 있다.
일부 구현에서, 이미지의 서브 세트는 위치 다양성(diversity), 포즈 다양성 또는 시각적 다양성 중 하나 이상을 제공하는 이미지를 포함하도록 선택될 수 있다. 예를 들어, 사용자가 사용자의 이미지 라이브러리에 있는 이미지와 관련된 위치에 액세스하기 위한 승인을 제공한 경우(예를 들어, 이미지 분석을 통해 또는 이미지 메타 데이터로부터 결정됨), 복수의 위치(예를 들어, 2개, 3개 또는 그 이상의 위치)의 이미지가 서브 세트에 포함되도록 이미지의 서브 세트가 선택된다.
일부 구현에서, 사용자가 사용자의 라이브러리에 있는 이미지와 관련된 포즈 데이터에 액세스하기 위한 승인를 제공한 경우, 이러한 데이터는 이미지가 포즈 다양성을 제공하도록 이미지의 서브 세트를 선택하는데 사용될 수 있다. 예를 들어, 포즈 데이터는 앉기, 서기, 춤추기, 점프하기, 구부리기, 웅크리기, 하이 파이브 등과 같이 이미지에서 한 명 이상의 인물 포즈(특정 인물 그룹과 관련된 개인 식별자들 포함)를 나타낼 수 있다. .
일부 구현에서, 사용자가 사용자의 라이브러리에 있는 이미지와 관련된 다른 이미지 관련 데이터에 액세스하기 위한 승인을 제공한 경우, 이러한 데이터는 이미지가 시각적 다양성을 제공하도록 이미지의 서브 세트를 선택하는데 사용될 수 있다. 예를 들어, 이러한 데이터는 산, 랜드 마크, 바다, 꽃, 동물, 인공 객체(예를 들어, 케이크, 자전거, 요트 등) 등과 같이 이미지에 묘사된 객체에 관한 데이터를 나타낼 수 있다.
일부 구현에서, 이미지 기반 창작물을 위한 이미지의 서브 세트를 선택하는 것은 특정 인물 그룹과 관련된 에피소드에 포함된 개별 이미지 세트에 기초할 수 있다. 예를 들어, 이미지의 서브 세트는 그 서브 세트내의 각 이미지가 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하고 그 특정 그룹과 관련된 에피소드 중 하나에 해당하는 인물들을 묘사하도록 선택될 수 있다. .
일부 구현에서, 특정 유형의 이미지(예를 들어, 흐릿한 이미지, 작은 크기로 얼굴을 묘사하는 이미지, 품질 기준을 충족하지 않는 이미지, 부적절한 이미지, 특수 뷰어가 필요한 이미지 포멧을 가진 이미지(예를 들어, 360도 이미지, 3D 이미지 등), 극단적인 종횡비를 갖는 이미지(예를 들어, 클라이언트 디바이스의 화면에 적합하지 않은 매우 넓거나 매우 큰 이미지), 서브 세트에서 이미지가 중복되는(또는 거의 중복되는) 이미지(예를 들어, 동일한 객체 또는 비슷한 포즈를 가진 동일한 인물 묘사함), 사용자가 수동으로 숨긴 이미지(예를 들어, 사용자가 더 이상 관계를 갖지 않는 인물의 이미지)를 제외하도록 선택될 수 있다. 수동으로 숨겨진 인물을 묘사하는 이미지는 선택되지 않는다. 사용자는 또한 하나 이상의 시간 기간을 숨기도록 선택할 수 있어, 이러한 기간의 이미지가 예를 들어 하나 이상의 시간 기간 중 적어도 하나에서 발생하거나 그와 겹치는 에피소드를 제외함으로써 이미지 기반 창작물에서 제외된다. 예를 들어, 사용자는 특정 날짜, 날짜 범위 등을 숨길 수 있다.
일부 구현에서, 사용자가 제공한 승인에 기초하여, 예를 들어, 인물 그룹에 대한 개인 식별자의 전체 또는 서브 세트과 같은 상기 요인들의 임의의 조합; 인물 그룹에 속하지 않는 다른 인물의 포함 또는 배제; 이미지의 서브 세트가 선택된 에피소드; 위치, 포즈 또는 시각적 다양성; 인물 그룹과 관련된 에피소드 등이 이미지 기반 창작물에 대한 이미지의 서브 세트를 선택하는데 이용될 수 있다.
일부 구현에서, 이미지 기반 창작물을 제공하는 것은 이미지의 서브 세트에 기초하여 이미지 기반 창작물을 생성하는 것을 더 포함할 수 있다. 예를 들어, 일부 구현에서, 이미지 기반 창작물은 이미지 서브 세트의 슬라이드 쇼일 수 있다. 이러한 구현에서, 이미지 기반 창작물을 생성하는 것은 각 이미지에 대한 개별 디스플레이 기간과 함께 슬라이드 쇼에서 이미지들을 순차적으로 배열하는 것을 포함할 수 있다. 예를 들어, 이미지는 그 이미지가 특정 인물 그룹과 정확히 매칭하는지 여부, 이미지의 시각적 컨텐츠(예를 들어, 웃는 얼굴, 포즈, 이미지에 묘사된 객체), 그 이미지와 관련된 위치 또는 기타 요인에 기초하여, 각 이미지에 묘사된 인물 수에 근거하여 시간순으로 구성될 수 있다. 일부 구현에서, 이미지 기반 창작물은 이미지 콜라주, 이미지 앨범, 영화(예를 들어, 짧은 영상) 등을 포함할 수 있다. 일부 구현에서, 사용자 인터페이스는 사용자가 이미지 기반 창작물을 다른 사용자, 예를 들어, 인물 그룹에 있는 사용자 또는 다른 사용자와 공유할 수 있는 옵션을 제공할 수 있다.
다양한 구현에서, 방법(200)의 다양한 블록들이 결합되거나, 다수의 블록으로 분할되거나, 병렬로 수행되거나, 비동기적으로 수행될 수 있다. 일부 구현에서, 방법(200)의 하나 이상의 블록은 수행되지 않을 수 있다. 예를 들어, 일부 구현에서, 블록(214 및 216)은 수행되지 않을 수 있고, 블록(218)은 블록(214) 이후에 수행될 수 있다. 일부 구현에서, 블록(224)은 예를 들어, 다수의 인물 그룹 각각에 대한 이미지의 서브 세트를 선택하고 사용자 인터페이스에서 제공되는 다수의 이미지 기반 창작물을 생성하기 위해 여러 번 수행될 수 있다.
방법(200) 또는 그 일부는 추가 입력을 사용하여 여러 번 반복될 수 있다. 예를 들어, 일부 구현에서, 방법(200)은 하나 이상의 새로운 에피소드가 사용자의 이미지 라이브러리에 추가될 때 수행될 수 있다. 이들 구현에서, 방법(200)을 수행하는 것은 이전에 획득된 인물 그룹을 업데이트하는 것 또는 하나 이상의 추가 인물 그룹을 획득하는 것을 포함할 수 있다. 일부 구현에서, 블록(210-222)은 인물 그룹을 획득하기 위해 초기 시간에 수행될 수 있고, 블록(224)은 예를 들어 요구에 따라 사용자 인터페이스를 제공하기 위해 (예를 들어, 사용자가 이미지 애플리케이션(106)에 액세스하는 경우) 나중에 수행될 수 있다.
도 4a는 본 명세서에 설명된 일부 구현에 따른 예시적인 사용자 인터페이스(400)를 도시한다. 사용자 인터페이스(400)는 클라이언트 디바이스, 예를 들어 임의의 클라이언트 디바이스(120-126)상에 디스플레이될 수 있다. 일부 구현에서, 사용자 인터페이스(400)는 실행 가능한 사용자 인터페이스 요소(402), 실행 가능한 사용자 인터페이스 요소에 대한 제목(404), 및 이미지 그리드(406)를 포함할 수 있다.
이미지 그리드(406)는 사용자의 이미지 라이브러리의 복수의 이미지를 포함할 수 있다. 단순화를 위해, 도 4a는 행당 3개의 이미지를 포함하는 그리드를 도시한다. 다양한 구현에서, 그리드는 행당 임의의 수의 이미지를 포함할 수 있으며 스크롤 가능할 수 있다. 일부 구현에서, 이미지 그리드(406)의 이미지는 시간 역순으로 배열될 수 있다.
실행 가능한 사용자 인터페이스(UI) 요소(402)는 대응하는 이미지 기반 창작물과 관련될 수 있다. 일부 구현에서, 웨에서 도 2 및 3a-3f를 참조하여 설명한 바와 같이, 실행 가능한 사용자 인터페이스 요소(402)가 인물 그룹에 기초하여 생성될 때, 실행 가능한 사용자 인터페이스 요소에 대한 제목(404)은 이미지 기반 창작물이 생성되는 인물 그룹에 대한 개인 식별자들과 관련된 이름을 포함할 수 있다. 실행 가능한 UI 요소(402)는 이미지 기반 창작물의 특정 이미지를 포함할 수 있다. 특정 이미지는 다양한 요인, 예를 들어 이미지의 품질(예를 들어, 선명도, 밝기 등), 이미지에 묘사된 얼굴의 크기 및/또는 품질, 이미지의 최신성, 이미지 해상도, 이미지가 하나 이상의 웃는 얼굴을 포함하는지 여부, 이미지가 비디오인 경우 비디오의 길이(예를 들어, 짧은(예컨대, < 3초) 또는 긴(예컨대, > 30초) 비디오를 선택하지 않음)에 기초하여 선택될 수 있다. 이미지는 인물 그룹과 관련된 인물들만 포함하도록 선택될 수 있다. 실행 가능한 UI 요소(402)에 포함된 이미지는 이미지 기반 창작물을 위한 커버 이미지로 지칭될 수 있다.
예를 들어, 도 4b에서, 제목(404)은 이미지 기반 창작물이 인물 A 및 B를 포함하는 인물 그룹에 기초함을 나타내는 "A 및 B"이다. 일부 구현에서, 예를 들어, 인물 그룹이 크거나 하나 이상의 인물 이름이 사용될 수 없는 경우, 제목(404)은 예를 들어 "A, B 및 친구들"과 같은 이름의 서브 세트를 나타낼 수 있다. 일부 구현에서, 제목(404)은 이미지 기반 창작물에 포함된 이미지의 서브 세트에 기초하여 생성될 수 있다.
실행 가능한 사용자 인터페이스(UI) 요소(402)는 예를 들어 터치 스크린상의 탭, 마우스 클릭, 또는 다른 유형의 입력을 통해 사용자에 의해 선택 가능할 수 있다. 실행 가능한 사용자 인터페이스 요소(402)의 선택에 응답하여, 대응하는 이미지 기반 창작물이 도 4b에 도시된 바와 같이 사용자에게 디스플레이될 수 있다.
도 4b는 예시적인 사용자 인터페이스(412-416)를 도시한다. 사용자 인터페이스(UI)(412-416)는 이미지 기반 창작물을 디스플레이한다. 예를 들어, 이미지 기반 창작물이 인물 A와 B를 포함하는 특정 인물 그룹과 관련된 3개의 이미지를 포함하는 슬라이드 쇼인 경우, 그 이미지들은 순차적으로 보여질 수 있다. 예를 들어, 이미지 기반 창작물의 제1 이미지를 포함하는 UI(412)가 제1 시간 동안 디스플레이될 수 있으며, 이어서 제2 이미지를 포함하는 UI(414)가 제2 시간 동안 디스플레이되고, 이어서 제3 이미지를 포함하는 UI(416)가 제3 시간 동안 디스플레이된다. 일부 구현에서, UI(412, 414 및 416) 각각은 동일한 제목(도 4a의 제목(404)과 동일) 또는 UI(412-416)에 디스플레이된 이미지에 대한 개별 제목을 포함할 수 있다. 일부 구현에서, 제목이 UI(412-416)에 디스플레이되지 않을 수 있다. 이미지 기반 창작물내의 이미지는 다양한 순차적 순서, 예를 들어 역 연대순, 연대순, 인물 수, 인물 그룹과의 정확한 일치, 부분 일치 또는 기타 순서로 배열될 수 있다.
도 5는 본 명세서에 설명된 하나 이상의 피처를 구현하는데 사용될 수 있는 예시적인 디바이스(500)의 블록도이다. 일 예에서, 디바이스(500)는 클라이언트 디바이스, 예를 들어 도 1에 도시된 임의의 클라이언트 디바이스(120-126)를 구현하는데 사용될 수 있다. 대안적으로, 디바이스(500)는 서버 디바이스, 예를 들어 서버 디바이스(104)를 구현할 수 있다. 일부 구현에서, 디바이스(500)는 클라이언트 디바이스, 서버 디바이스, 또는 클라이언트와 서버 디바이스 모두를 구현하는데 사용될 수 있다. 디바이스(500)는 임의의 적절한 컴퓨터 시스템, 서버, 또는 전술한 바와 같은 다른 전자 또는 하드웨어 디바이스일 수 있다.
본 명세서에 기술된 하나 이상의 방법은 임의의 유형의 컴퓨팅 디바이스, 웹 브라우저에서 실행되는 프로그램, 모바일 컴퓨팅 디바이스(예를 들어, 휴대폰, 스마트 폰, 태블릿 컴퓨터, 웨어러블 디바이스(손목 시계, 손목 밴드, 보석류, 모자, 가상 현실 고글 또는 안경, 증강 현실 고글 또는 안경, 헤드 마운트 디스플레이 등), 랩탑 컴퓨터)에서 실행될 수 있는 독립형 프로그램에서 실행될 수 있다. 일 예에서, 클라이언트/서버 아키텍처가 사용될 수 있는데, 예를 들어, 모바일 컴퓨팅 디바이스(클라이언트 디바이스로서)가 사용자 입력 데이터를 서버 디바이스로 전송하고, 서버로부터 출력(디스플레이)을 위한 최종 출력 데이터를 수신한다. 다른 예에서, 모든 계산은 모바일 컴퓨팅 디바이스상의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예에서, 계산은 모바일 컴퓨팅 디바이스와 하나 이상의 서버 디바이스간에 분할될 수 있다.
일부 구현에서, 디바이스(500)는 프로세서(502), 메모리(504) 및 입/출력(I/O) 인터페이스(506)를 포함한다. 프로세서(502)는 프로그램 코드를 실행하고 디바이스(500)의 기본 동작을 제어하기 위한 하나 이상의 프로세서 및/또는 처리 회로일 수 있다. "프로세서"는 데이터, 신호 또는 기타 정보를 처리하는 적절한 하드웨어 시스템, 메커니즘 또는 구성 요소를 포함한다. 프로세서는 하나 이상의 코어(예를 들어, 단일 코어, 듀얼 코어 또는 다중 코어 구성), 다중 처리 장치(예를 들어, 다중 프로세서 구성), 그래픽 처리 장치(GPU), FPGA, ASIC, 복잡한 프로그래밍 가능 논리 디바이스(CPLD), 기능 달성을 위한 전용 회로, 신경망 모델 기반 처리를 구현하는 특수 목적 프로세서, 신경 회로, 행렬 계산(예를 들어, 행렬 곱셈)에 최적화된 프로세서 또는 기타 시스템을 갖는 범용 중앙 처리 장치(CPU)가 있는 시스템을 포함할 수 있다. 일부 구현에서, 프로세서(502)는 신경망 처리를 구현하는 하나 이상의 코 프로세서를 포함할 수 있다. 일부 구현에서, 프로세서(502)는 확률적 출력을 생성하기 위해 데이터를 처리하는 프로세서일 수 있으며, 예를 들어, 프로세서(502)에 의해 생성된 출력은 부정확할 수 있거나 예상 출력의 범위 내에서 정확할 수 있다. 처리는 특정 지리적 위치로 제한되거나 일시적인 제한이 있을 필요가 없다. 예를 들어, 프로세서는 "실시간", "오프라인", "배치(batch) 모드"등으로 기능을 수행할 수 있다. 처리의 일부는 상이한(또는 동일한) 처리 시스템에 의해 상이한 시간 및 상이한 위치에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 모든 프로세서일 수 있다.
메모리(504)는 일반적으로 프로세서(502)에 의한 액세스를 위해 디바이스(500)에 제공되며, 프로세서에 의한 실행을 위한 명령들을 저장하기에 적합하고, 프로세서(502)와 분리되고 및 또는 그와 통합된 RAM, ROM, 전기적 소거 가능 판독 전용 메모리(EEPROM)와 같은 임의의 적절한 프로세서 판독 가능 저장 매체일 수 있다. 메모리(504)는 운영 체제(508), 이미지 애플리케이션(510)(예를 들어, 도 1의 이미지 애플리케이션(106)과 동일할 수 있음) 및 애플리케이션 데이터(514)를 포함하여 프로세서(502)에 의해 서버 디바이스(500)에서 작동하는 소프트웨어를 저장할 수 있다. 다른 애플리케이션(512)은 데이터 디스플레이 엔진, 웹 호스팅 엔진, 맵 애플리케이션, 이미지 디스플레이 엔진, 알림 엔진, 소셜 네트워킹 엔진 등과 같은 애플리케이션을 포함할 수 있다. 일부 구현에서, 이미지 애플리케이션(510)은 프로세서(502)가 본 명세서에 설명된 기능, 예를 들어 도 2의 방법의 일부 또는 전부를 수행할 수 있게 하는 명령을 포함할 수 있다.
다른 애플리케이션(512)은 예를 들어 맵 애플리케이션, 이미지 편집 애플리케이션, 미디어 디스플레이 애플리케이션, 통신 애플리케이션, 웹 호스팅 엔진 또는 애플리케이션, 미디어 공유 애플리케이션 등을 포함할 수 있다. 본 명에서에 개시된 하나 이상의 방법은 예를 들어, 임의의 유형의 컴퓨팅 디바이스에서 실행될 수 있는 독립 실행형 컴퓨터 프로그램, 웹 페이지가 있는 웹 애플리케이션, 모바일 컴퓨팅 디바이스에서 실행되는 모바일 애플리케이션 등으로서 여러 환경 및 플랫폼에서 작동할 수 있다.
메모리(504)의 임의의 소프트웨어는 대안적으로 임의의 다른 적절한 저장 위치 또는 컴퓨터 판독 가능 매체에 저장될 수 있다. 또한, 메모리(504)(및/또는 다른 연결된 저장 디바이스(들))는 하나 이상의 메시지, 하나 이상의 분류법, 전자 백과 사전, 사전, 디지털 맵, 동의어 사전, 지식 베이스, 메시지 데이터, 문법, 사용자 선호도 및/또는 본 명세서에 설명된 피처들에 사용되는 다른 명령 및 데이터를 저장할 수 있다. 메모리(504)와 임의의 다른 유형의 스토리지(자기 디스크, 광 디스크, 자기 테이프 또는 기타 유형의 매체)는 "저장소" 또는 "저장 디바이스"로 지칭될 수 있다.
I/O 인터페이스(506)는 서버 디바이스(500)를 다른 시스템 및 디바이스와 인터페이스할 수 있는 기능을 제공할 수 있다. 인터페이스 디바이스는 디바이스(500)의 일부로 포함될 수 있거나 분리되어 디바이스(500)와 통신할 수 있다. 예를 들어, 네트워크 통신 디바이스, 저장 디바이스(예를 들어, 메모리 및/또는 데이터베이스) 및 입/출력 디바이스는 I/O 인터페이스(506)를 통해 통신할 수 있다. 일부 구현에서, I/O 인터페이스는 입력 디바이스(키보드, 포인팅 디바이스, 터치 스크린, 마이크로폰, 카메라, 스캐너, 센서 등) 및/또는 출력 디바이스(디스플레이 디바이스, 스피커 디바이스, 프린터, 모터 등)와 같은 인터페이스 디바이스에 연결할 수 있다.
I/O 인터페이스(506)에 연결할 수 있는 인터페이스 디바이스의 일부 예는 컨텐츠, 예를 들어, 본 명세서에 설명된 바와 같이 애플리케이션의 이미지, 비디오 및/또는 사용자 인터페이스를 디스플레이하는데 사용될 수 있는 하나 이상의 디스플레이 디바이스(520)를 포함할 수 있다. 디스플레이 디바이스(520)는 로컬 연결(예를 들어, 디스플레이 버스) 및/또는 네트워크 연결을 통해 디바이스(500)에 연결될 수 있으며 임의의 적절한 디스플레이 디바이스일 수 있다. 디스플레이 디바이스(520)는 LCD, LED 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치 스크린, 3-D 디스플레이 스크린, 또는 다른 시각적 디스플레이 디바이스와 같은 임의의 적절한 디스플레이 디바이스를 포함할 수 있다. 디스플레이 디바이스(520)는 또한 입력 디바이스, 예를 들어 터치 스크린 입력 디바이스로서 작용할 수 있다. 예를 들어, 디스플레이 디바이스(520)는 모바일 디바이스에 제공된 평면 디스플레이 스크린, 안경 또는 헤드셋 디바이스에 제공된 다수의 디스플레이 스크린, 또는 컴퓨터 디바이스 용 모니터 스크린일 수 있다.
I/O 인터페이스(506)는 다른 입력 및 출력 디바이스에 인터페이스할 수 있다. 일부 예에는 이미지를 캡처하고 및/또는 제스처를 감지할 수 있는 하나 이상의 카메라가 포함된다. 일부 구현은 (예를 들어, 캡처된 이미지, 음성 명령 등의 일부로서) 사운드를 캡처하기 위한 마이크로폰, 제스처 감지용 레이더 또는 기타 센서, 사운드 출력용 오디오 스피커 디바이스 또는 기타 입력 및 출력 디바이스를 제공할 수 있다.
설명의 편의를 위해, 도 5는 프로세서(502), 메모리(504), I/O 인터페이스(506) 및 소프트웨어 블록(508, 510 및 512) 각각에 대한 하나의 블록을 도시한다. 이러한 블록은 하나 이상의 프로세서 또는 처리 회로, 운영 체제, 메모리, I/O 인터페이스, 애플리케이션 및/또는 소프트웨어 모듈을 나타낼 수 있다. 다른 구현에서, 디바이스(500)는 도시된 모든 구성 요소를 갖지 않을 수 있고 및/또는 본 명세서에 도시된 것 대신에 또는 이에 추가하여 다른 유형의 요소를 포함하는 다른 요소를 가질 수 있다. 일부 구성 요소는 본 명세서의 일부 구현에서 설명된 바와 같이 블록들 및 동작들을 수행하는 것으로 설명되지만, 환경(100), 디바이스(500), 유사 시스템, 또는 그러한 시스템과 관련된 임의의 적절한 프로세서 또는 프로세서들의 임의의 적절한 구성 요소 또는 구성 요소들의 조합이 설명된 블록들 및 동작들을 수행할 수 있다.
본 명세서에 설명된 방법은 컴퓨터에서 실행될 수 있는 컴퓨터 프로그램 명령 또는 코드에 의해 구현될 수 있다. 예를 들어, 코드는 하나 이상의 디지털 프로세서(예를 들어, 마이크로 프로세서 또는 다른 처리 회로)에 의해 구현될 수 있으며, 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, RAM, ROM, 플래시 메모리, 견고한 자기 디스크, 광 디스크, 솔리드 스테이트 메모리 드라이브를 포함하여 자기, 광학, 전자기 또는 반도체 저장 매체와 같은 비-일시적 컴퓨터 판독 가능 매체(예를 들어, 저장 매체)를 포함하는 컴퓨터 프로그램 제품에 저장될 수 있다. 프로그램 명령은 또한 예를 들어 서버(예를 들어, 분산 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달되는 SaaS(Software as a Service)의 형태로 전자 신호에 포함되어 제공될 수 있다. 대안적으로, 하나 이상의 방법이 하드웨어(로직 게이트 등) 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 하드웨어의 예는 프로그래밍 가능 프로세서(예를 들어, FPGA, 복합 프로그래밍 가능 논리 디바이스), 범용 프로세서, 그래픽 프로세서, ASIC 등일 수 있다. 하나 이상의 방법은 시스템에서 실행되는 애플리케이션의 일부 또는 구성 요소로 수행되거나 다른 애플리케이션 및 운영 체제와 함께 실행되는 애플리케이션이나 소프트웨어로 수행될 수 있다.
설명이 그의 특정 구현들에 대해 설명되었지만, 이러한 특정 구현들은 단지 예시적이며 제한적이지 않다. 예에서 도시된 개념은 다른 예 및 구현에 적용될 수 있다.
위의 설명에 더하여, 사용자는 본 명세서에 설명된 시스템, 프로그램 또는 기능이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 관한 정보)의 수집을 가능하게 할 수 있는지 여부와, 사용자가 서버로부터 컨텐츠 또는 통신을 받을 수 있는지 여부에 대해 사용자가 선택할 수 있는 컨트롤들을 제공받을 수 있습니다. 또한, 특정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보가 결정되지 않도록 처리될 수 있거나, 사용자의 지리적 위치는 사용자의 특정 위치가 파악될 수 없도록 (예를 들어, 도시, 우편 번호 또는 주 수준과 같이) 위치 정보가 획득된 곳으로 일반화될 수 있다. 따라서 사용자는 사용자에 관해 수집되는 정보, 해당 정보가 사용되는 방법 및 사용자에게 제공되는 정보를 제어할 수 있다.
본 개시에 설명된 기능 블록들, 동작들, 특징들, 방법들, 디바이스들 및 시스템들은 당업자에게 알려진 바와 같이 시스템, 디바이스 및 기능 블록의 상이한 조합으로 통합되거나 분할될 수 있다는 점에 유의한다. 특정 구현의 루틴을 구현하기 위해 임의의 적절한 프로그래밍 언어 및 프로그래밍 기술이 사용될 수 있다. 다른 프로그래밍 기술, 예를 들어 절차적 또는 객체 지향이 사용될 수 있다. 루틴은 단일 처리 디바이스 또는 다중 프로세서에서 실행될 수 있다. 단계들, 동작들 또는 계산들이 특정 순서로 표시될 수 있지만 순서는 다른 특정 구현에서 변경될 수 있다. 일부 구현에서, 본 명세서에서 순차적으로 도시된 다수의 단계 또는 동작은 동시에 수행될 수 있다.

Claims (20)

  1. 컴퓨터 구현 방법으로서,
    이미지 라이브러리로부터 복수의 에피소드를 획득하는 단계와, 상기 에피소드 각각은 대응하는 기간과 연관되고 개별 이미지 세트와 그 개별 이미지 세트내의 각 이미지에 대한 개인(person) 식별자를 포함하며;
    각 에피소드에 대한 개별 클러스터를 포함하는 복수의 클러스터를 형성하는 단계와, 상기 클러스터 각각은 적어도 2개의 개인 식별자를 포함하고;
    복수의 인물(people) 그룹을 획득하기 위해 동일한 클러스터를 병합하는 단계와, 상기 인물 그룹 각각은 2개 이상의 개인 식별자를 포함하고;
    병합 후, 복수의 에피소드 중 임계수(threshold number)보다 적은 수의 에피소드에 적어도 하나의 인물 그룹이 나타나는지 결정하는 단계와;
    적어도 하나의 인물 그룹이 임계수보다 적은 수의 에피소드에 나타난다는 결정에 응답하여, 그 적어도 하나의 인물 그룹을 하나 이상의 다른 인물 그룹과 결합하는 단계와, 상기 하나 이상의 다른 인물 그룹 각각은 적어도 하나의 인물 그룹에 포함된 개인 식별자의 세브세트를 포함하고; 그리고
    결합 후, 복수의 인물 그룹 중 특정 인물 그룹에 기초한 이미지 기반 창작물(creation)을 포함하는 사용자 인터페이스를 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 복수의 클러스터를 형성하는 단계는,
    각 클러스터에 대해:
    클러스터에, 클러스터와 관련된 에피소드의 이미지 세트내의 적어도 하나의 이미지에 나타나는 모든 개인 식별자를 매핑하는 단계와;
    에피소드에 대한 가장 빈번한 개인 식별자를 결정하는 단계와, 상기 가장 빈번한 개인 식별자는 개인 식별자들 중 다른 모든 식별자보다 에피소드의 이미지 세트내의 더 많은 이미지에 나타나고;
    에피소드의 이미지 세트로부터 에피소드에 대한 가장 빈번한 개인 식별자를 포함하는 이미지의 수를 결정하는 단계와;
    에피소드에 대한 가장 빈번한 개인 식별자를 포함하는 이미지의 수에 기초하여 임계 이미지 수를 결정하는 단계와; 그리고
    클러스터로부터, 임계 이미지 수보다 적은 수의 클러스터 이미지에 나타나는 개인 식별자를 제거하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 사용자 인터페이스는 복수의 인물 그룹 중 특정 인물 그룹의 사람을 묘사하는 하나 이상의 이미지를 포함하는 이미지 기반 창작물을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 복수의 에피소드의 기간은 중첩되지 않는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 인물 그룹을 하나 이상의 다른 인물 그룹과 결합하는 단계는 적어도 하나의 인물 그룹과 관련된 에피소드를 하나 이상의 다른 인물 그룹과 연관시키는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 임계수는 임계 에피소드 수이고, 그리고
    상기 방법은,
    이미지 라이브러리의 크기에 적어도 부분적으로 기초하여 임계 클러스터 수를 결정하는 단계와;
    복수의 클러스터 중 임계 클러스터 수보다 적은 수의 클러스터에 하나 이상의 개인 식별자가 포함되어 있는지 여부를 결정하는 단계와; 그리고
    임계값 클러스터 수보다 적은 수의 클러스터에 하나 이상의 개인 식별자가 포함되어 있다고 결정되는 경우, 그 수의 클러스터에 포함된 클러스터들로부터 하나 이상의 개인 식별자를 제거하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 동일한 클러스터를 병합하는 단계는 클러스터에 기초하여, 개별 에피소드 세트를 복수의 인물 그룹 각각에 연관시키는 단계를 포함하고, 그리고
    상기 이미지 기반 창작물을 제공하는 단계는 특정 인물 그룹과 연관된 에피소드에 포함된 개별 이미지 세트로부터 이미지 기반 창작물을 위한 이미지 서브세트를 선택하는 단계를 포함하고, 상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물을 묘사하는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 사용자 인터페이스를 제공하는 단계는,
    적어도 하나의 실행 가능한 사용자 인터페이스 요소가 디스플레이된 이전 시간 이후에 특정 인물 그룹과 매칭하는 이미지가 캡처되었음을 검출하는 단계와,
    사용자 인터페이스를 제공하는 시점의 현재 날짜가 특정 인물 그룹과 관련된 날짜와 매칭됨을 검출하는 단계와, 그리고,
    이들의 조합의,
    그룹으로부터 선택된 적어도 하나에 응답하여 적어도 하나의 실행 가능한 사용자 인터페이스 요소를 디스플레이하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 단계는,
    특정 인물 그룹에 기초하여 이미지 기반 창작물을 위한 이미지 서브세트를 선택하는 단계와, 상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물을 묘사하고; 그리고
    이미지 서브세트에 기초하여 이미지 기반 창작물을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자에 대응하는 인물을 묘사하는 것을 특징으로 하는 컴퓨터 구현 방법.
  11. 제9항에 있어서,
    상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자에 대응하는 인물을 묘사하고, 그리고
    상기 이미지 서브세트내의 적어도 하나의 이미지는 다른 인물 그룹에 포함되지 않은 하나 이상의 추가 인물을 묘사하는 것을 특징으로 하는 컴퓨터 구현 방법.
  12. 제9항에 있어서,
    상기 이미지의 서브세트는 복수의 에피소드 중 적어도 2개의 에피소드로부터의 이미지를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  13. 제9항에 있어서,
    상기 이미지의 서브세트는,
    서브세트가,
    2개 이상의 복수의 위치에서 캡처된 이미지가 이미지 서브세트에 포함되는 위치 다양성,
    다수 유형의 객체가 이미지 서브세트에 묘사되는 시각적 다양성, 및
    이들의 조합의,
    그룹으로부터 선택된 하나 이상을 제공하도록 선택되는 것을 특징으로 하는 컴퓨터 구현 방법.
  14. 컴퓨팅 디바이스로서,
    프로세서와; 그리고
    프로세서에 결합되고 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령들이 저장된 메모리를 포함하며, 상기 동작들은,
    이미지 라이브러리로부터 복수의 에피소드를 획득하는 동작과, 상기 에피소드 각각은 대응하는 기간과 연관되고 개별 이미지 세트와 그 개별 이미지 세트내의 각 이미지에 대한 개인 식별자를 포함하며;
    각 에피소드에 대한 개별 클러스터를 포함하는 복수의 클러스터를 형성하는 동작과, 상기 클러스터 각각은 적어도 2개의 개인 식별자를 포함하고;
    복수의 인물 그룹을 획득하기 위해 동일한 클러스터를 병합하는 동작과, 상기 인물 그룹 각각은 2개 이상의 개인 식별자를 포함하고;
    병합 후, 복수의 에피소드 중 임계수보다 적은 수의 에피소드에 적어도 하나의 인물 그룹이 나타나는지 결정하는 동작과;
    적어도 하나의 인물 그룹이 임계수보다 적은 수의 에피소드에 나타난다는 결정에 응답하여, 그 적어도 하나의 인물 그룹을 하나 이상의 다른 인물 그룹과 결합하는 동작과, 상기 하나 이상의 다른 인물 그룹 각각은 적어도 하나의 인물 그룹에 포함된 개인 식별자의 세브세트를 포함하고; 그리고
    결합 후, 복수의 인물 그룹 중 특정 인물 그룹에 기초한 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  15. 제14항에 있어서,
    상기 복수의 클러스터를 형성하는 동작은,
    각 클러스터에 대해:
    클러스터에, 클러스터와 관련된 에피소드의 이미지 세트내의 적어도 하나의 이미지에 나타나는 모든 개인 식별자를 매핑하는 동작과;
    에피소드에 대한 가장 빈번한 개인 식별자를 결정하는 동작과, 상기 가장 빈번한 개인 식별자는 개인 식별자들 중 다른 모든 식별자보다 에피소드의 이미지 세트내의 더 많은 이미지에 나타나고;
    에피소드의 이미지 세트로부터 에피소드에 대한 가장 빈번한 개인 식별자를 포함하는 이미지의 수를 결정하는 동작과;
    에피소드에 대한 가장 빈번한 개인 식별자를 포함하는 이미지의 수에 기초하여 임계 이미지 수를 결정하는 동작과; 그리고
    클러스터로부터, 임계 이미지 수보다 적은 수의 클러스터 이미지에 나타나는 개인 식별자를 제거하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  16. 제14항 또는 제15항에 있어서,
    상기 동일한 클러스터를 병합하는 동작은 클러스터에 기초하여, 개별 에피소드 세트를 복수의 인물 그룹 각각에 연관시키는 동작을 포함하고, 그리고
    상기 이미지 기반 창작물을 제공하는 동작은 특정 인물 그룹과 연관된 에피소드에 포함된 개별 이미지 세트로부터 이미지 기반 창작물을 위한 이미지 서브세트를 선택하는 동작을 포함하고, 상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물을 묘사하는 것을 특징으로 하는 컴퓨팅 디바이스.
  17. 제14항 또는 제15항에 있어서,
    상기 사용자 인터페이스를 제공하는 동작은,
    적어도 하나의 실행 가능한 사용자 인터페이스 요소가 디스플레이된 이전 시간 이후에 특정 인물 그룹과 매칭하는 이미지가 캡처되었음을 검출하는 동작과,
    사용자 인터페이스를 제공하는 시점의 현재 날짜가 특정 인물 그룹과 관련된 날짜와 매칭됨을 검출하는 동작과, 그리고,
    이들의 조합의,
    그룹으로부터 선택된 적어도 하나에 응답하여 적어도 하나의 실행 가능한 사용자 인터페이스 요소를 디스플레이하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  18. 제14항 또는 제15항에 있어서,
    상기 이미지 기반 창작물을 포함하는 사용자 인터페이스를 제공하는 동작은,
    특정 인물 그룹에 기초하여 이미지 기반 창작물을 위한 이미지 서브세트를 선택하는 동작과, 상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자 중 적어도 2개에 대응하는 인물을 묘사하고; 그리고
    이미지 서브세트에 기초하여 이미지 기반 창작물을 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 디바이스.
  19. 제18항에 있어서,
    상기 이미지 서브세트내의 각 이미지는 특정 인물 그룹에 포함된 2개 이상의 개인 식별자에 대응하는 인물을 묘사하는 것을 특징으로 하는 컴퓨팅 디바이스.
  20. 제18항에 있어서,
    상기 이미지의 서브세트는,
    서브세트가,
    2개 이상의 복수의 위치에서 캡처된 이미지가 이미지 서브세트에 포함되는 위치 다양성,
    다수 유형의 객체가 이미지 서브세트에 묘사되는 시각적 다양성, 및
    이들의 조합의,
    그룹으로부터 선택된 하나 이상을 제공하도록 선택되는 것을 특징으로 하는 컴퓨팅 디바이스.
KR1020237034391A 2020-06-25 2020-06-25 인물 그룹 및 이미지 기반 창작물의 자동 생성 KR20230147752A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2020/039706 WO2021262183A1 (en) 2020-06-25 2020-06-25 Automatic generation of people groups and image-based creations
KR1020217007314A KR102589154B1 (ko) 2020-06-25 2020-06-25 인물 그룹 및 이미지 기반 창작물의 자동 생성

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217007314A Division KR102589154B1 (ko) 2020-06-25 2020-06-25 인물 그룹 및 이미지 기반 창작물의 자동 생성

Publications (1)

Publication Number Publication Date
KR20230147752A true KR20230147752A (ko) 2023-10-23

Family

ID=71579691

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217007314A KR102589154B1 (ko) 2020-06-25 2020-06-25 인물 그룹 및 이미지 기반 창작물의 자동 생성
KR1020237034391A KR20230147752A (ko) 2020-06-25 2020-06-25 인물 그룹 및 이미지 기반 창작물의 자동 생성

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217007314A KR102589154B1 (ko) 2020-06-25 2020-06-25 인물 그룹 및 이미지 기반 창작물의 자동 생성

Country Status (6)

Country Link
US (2) US11475616B2 (ko)
EP (2) EP3948659B1 (ko)
JP (2) JP7167318B2 (ko)
KR (2) KR102589154B1 (ko)
CN (1) CN114127779A (ko)
WO (1) WO2021262183A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115103236A (zh) * 2022-06-16 2022-09-23 抖音视界(北京)有限公司 影像记录生成方法、装置、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003903728A0 (en) * 2003-07-21 2003-07-31 Hao Hang Zheng Method and system for performing combined image classification storage and rapid retrieval on a computer database
KR100601997B1 (ko) 2004-10-12 2006-07-18 삼성전자주식회사 인물기반 디지털 사진 클러스터링 방법 및 장치와 이를이용한 인물기반 디지털 사진 앨버밍 방법 및 장치
US8189880B2 (en) * 2007-05-29 2012-05-29 Microsoft Corporation Interactive photo annotation based on face clustering
US10169646B2 (en) * 2007-12-31 2019-01-01 Applied Recognition Inc. Face authentication to mitigate spoofing
JPWO2010041377A1 (ja) * 2008-10-06 2012-03-01 パナソニック株式会社 代表画像表示装置及び代表画像選択方法
EP2351352A4 (en) * 2008-10-26 2012-11-14 Hewlett Packard Development Co ARRANGEMENT OF PICTURES TO PAGES WITH CONTENT-BASED FILTERING AND THEMED-BASED CLUSTERING
US8457366B2 (en) * 2008-12-12 2013-06-04 At&T Intellectual Property I, L.P. System and method for matching faces
US8121358B2 (en) 2009-03-06 2012-02-21 Cyberlink Corp. Method of grouping images by face
US8531478B2 (en) 2009-03-19 2013-09-10 Cyberlink Corp. Method of browsing photos based on people
US8351661B2 (en) * 2009-12-02 2013-01-08 At&T Intellectual Property I, L.P. System and method to assign a digital image to a face cluster
JP5434569B2 (ja) * 2009-12-22 2014-03-05 ソニー株式会社 情報処理装置および方法、並びにプログラム
CN102725756B (zh) 2010-01-25 2015-06-03 松下电器(美国)知识产权公司 图像分类装置、方法、程序、记录程序的记录介质及集成电路
US9122912B1 (en) * 2012-03-15 2015-09-01 Google Inc. Sharing photos in a social network system
US9836464B2 (en) * 2014-07-31 2017-12-05 Microsoft Technology Licensing, Llc Curating media from social connections
WO2016063092A1 (en) * 2014-10-23 2016-04-28 Dele Atanda Intelligent personal information management system
CN110348274B (zh) 2018-04-08 2022-03-04 杭州海康威视数字技术股份有限公司 一种人脸识别方法、装置及设备
US10740400B2 (en) * 2018-08-28 2020-08-11 Google Llc Image analysis for results of textual image queries
US11151386B1 (en) * 2020-03-04 2021-10-19 Amazon Technologies, Inc. Automated identification and tagging of video content

Also Published As

Publication number Publication date
JP2023017827A (ja) 2023-02-07
KR20220000981A (ko) 2022-01-04
EP3948659A1 (en) 2022-02-09
US20220036614A1 (en) 2022-02-03
KR102589154B1 (ko) 2023-10-13
US11783521B2 (en) 2023-10-10
WO2021262183A1 (en) 2021-12-30
US20230018830A1 (en) 2023-01-19
CN114127779A (zh) 2022-03-01
US11475616B2 (en) 2022-10-18
EP4250252A1 (en) 2023-09-27
JP7167318B2 (ja) 2022-11-08
EP3948659B1 (en) 2023-08-30
JP2022541081A (ja) 2022-09-22

Similar Documents

Publication Publication Date Title
US11778028B2 (en) Automatic image sharing with designated users over a communication network
CN107710197B (zh) 在通信网络上共享图像和图像相册
US10885380B2 (en) Automatic suggestion to share images
US11209442B2 (en) Image selection suggestions
US20160283483A1 (en) Providing selected images from a set of images
US11775139B2 (en) Image selection suggestions
CN114080615A (zh) 反映用户偏好的基于机器学习的图像压缩设置
US11783521B2 (en) Automatic generation of people groups and image-based creations
US20240070189A1 (en) Device messages provided in displayed image compilations based on user content

Legal Events

Date Code Title Description
A107 Divisional application of patent