KR20160078964A - 이미지 합성물 생성 - Google Patents

이미지 합성물 생성 Download PDF

Info

Publication number
KR20160078964A
KR20160078964A KR1020167010720A KR20167010720A KR20160078964A KR 20160078964 A KR20160078964 A KR 20160078964A KR 1020167010720 A KR1020167010720 A KR 1020167010720A KR 20167010720 A KR20167010720 A KR 20167010720A KR 20160078964 A KR20160078964 A KR 20160078964A
Authority
KR
South Korea
Prior art keywords
composition
pictures
implementations
action
compositions
Prior art date
Application number
KR1020167010720A
Other languages
English (en)
Other versions
KR101807979B1 (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 구글 인코포레이티드
Publication of KR20160078964A publication Critical patent/KR20160078964A/ko
Application granted granted Critical
Publication of KR101807979B1 publication Critical patent/KR101807979B1/ko

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

구현들은 일반적으로 이미지 합성물 생성에 관한 것이다. 일부 구현들에서, 방법은 사용자로부터 복수의 사진을 수신하는 단계 및 사진들로부터 하나 이상의 합성물 타입을 결정하는 단계를 포함한다. 방법은 하나 이상의 결정된 합성물 타입에 기초하여 수신된 사진들로부터 하나 이상의 합성물을 생성하는 단계를 더 포함하고, 각각의 합성물은 사진들의 변경된 전경들에 기초한다. 방법은 하나 이상의 생성된 합성물을 사용자에게 제공하는 단계를 더 포함한다.

Description

이미지 합성물 생성{GENERATING IMAGE COMPOSITIONS}
<관련 출원의 상호 참조>
본원은 2013년 10월 27일자로 출원된 미국 정식 출원 제14/064,164호에 대해 우선권을 주장하며, 이에 따라 이 정식 출원은 모든 목적을 위해 본원에서 충분히 설명되는 바와 같이 참고로 포함된다.
소셜 네트워크 시스템들은 종종 사용자들이 사진들을 업로드 하고 사진 앨범들을 생성하는 것을 가능하게 한다. 소셜 네트워크 시스템들은 또한 사용자들이 서로 사진들을 공유하는 것을 가능하게 한다. 예를 들어, 사용자들은 친구 및 가족과 사진들을 공유할 수 있으며, 이는 소셜 네트워크 시스템들의 사용자들 사이에 즐겁고 유대적인 경험들을 제공한다. 사용자는 사용자의 프로필과 관련된 사진 앨범을 생성할 수 있다. 게다가, 사진 앨범의 소유자로서, 사용자는 다른 사용자들이 사용자의 프로필의 사진 섹션을 방문할 때 사진 앨범을 보는 것을 허가할 수 있다.
구현들은 일반적으로 이미지 합성물 생성에 관한 것이다. 일부 구현들에서, 방법은 사용자로부터 복수의 사진을 수신하는 단계 및 상기 사진들로부터 하나 이상의 합성물 타입을 결정하는 단계를 포함한다. 상기 방법은 상기 하나 이상의 결정된 합성물 타입에 기초하여 상기 수신된 사진들로부터 하나 이상의 합성물을 생성하는 단계를 더 포함하고, 각각의 합성물은 상기 사진들의 변경된 전경들에 기초한다. 상기 방법은 상기 하나 이상의 생성된 합성물을 상기 사용자에게 제공하는 단계를 더 포함한다.
상기 방법과 더 관련하여, 일부 구현들에서, 상기 결정하는 단계는 상기 사진들 내에서 유사한 콘텐츠를 결정하는 단계를 포함한다. 일부 구현들에서, 상기 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함한다. 일부 구현들에서, 상기 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물(clutter-free composition)을 포함한다. 일부 구현들에서, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 정렬하는 단계를 포함한다. 일부 구현들에서, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 정규화하는 단계를 포함한다. 일부 구현들에서, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 평활화(smoothing)하는 단계를 포함한다. 일부 구현들에서, 상기 방법은 미리 결정된 액션 선택 기준들에 기초하여 액션 합성물을 위해 상기 수신된 사진들로부터 사진들을 선택하는 단계, 및 액션 합성물을 생성하는 단계를 더 포함하고, 상기 액션 합성물 내의 상이한 위치들에 활성 객체가 표시된다. 일부 구현들에서, 상기 방법은 미리 결정된 클러터-프리 선택 기준들에 기초하여 클러터-프리 합성물을 위해 상기 수신된 사진들로부터 사진들을 선택하는 단계, 및 클러터-프리 합성물을 생성하는 단계를 더 포함하고, 하나 이상의 클러터 객체가 상기 액션 합성물 내에 존재하지 않는다.
일부 구현들에서, 방법은 사용자로부터 복수의 사진을 수신하는 단계 및 상기 사진들로부터 하나 이상의 합성물 타입을 결정하는 단계를 포함하고, 상기 하나 이상의 합성물 타입은 액션 합성물들 및 클러터-프리 합성물들 중 하나 이상을 포함한다. 상기 방법은 상기 하나 이상의 결정된 합성물 타입에 기초하여 상기 수신된 사진들로부터 하나 이상의 합성물을 생성하는 단계를 더 포함하고, 각각의 합성물은 상기 사진들의 변경된 전경들에 기초하고, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 정렬, 정규화, 평활화 및 혼합하는 단계 중 하나 이상을 포함한다. 상기 방법은 상기 하나 이상의 생성된 합성물을 상기 사용자에게 제공하는 단계를 더 포함한다.
상기 방법과 더 관련하여, 일부 구현들에서, 상기 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함한다. 일부 구현들에서, 상기 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물을 포함한다. 일부 구현들에서, 상기 결정하는 단계는 상기 사진들 내에서 유사한 콘텐츠를 결정하는 단계를 포함한다.
일부 구현들에서, 시스템은 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형적 매체 내에 인코딩된 로직을 포함한다. 실행시에, 상기 로직은 사용자로부터 복수의 사진을 수신하는 동작; 상기 사진들로부터 하나 이상의 합성물 타입을 결정하는 동작; 상기 하나 이상의 결정된 합성물 타입에 기초하여 상기 수신된 사진들로부터 하나 이상의 합성물을 생성하는 동작 - 각각의 합성물은 상기 사진들의 변경된 전경들에 기초함 -; 및 상기 하나 이상의 생성된 합성물을 상기 사용자에게 제공하는 동작을 포함하는 동작들을 수행하도록 동작할 수 있다.
상기 시스템과 더 관련하여, 일부 구현들에서, 상기 하나 이상의 합성물 타입을 결정하기 위해, 상기 로직은 실행시에 상기 사진들 내에서 유사한 콘텐츠를 결정하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있다. 일부 구현들에서, 상기 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함한다. 일부 구현들에서, 상기 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물을 포함한다. 일부 구현들에서, 상기 하나 이상의 합성물을 생성하기 위해, 상기 로직은 실행시에 각각의 생성되는 합성물에서 사용되는 사진들을 정렬하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있다. 일부 구현들에서, 상기 하나 이상의 합성물을 생성하기 위해, 상기 로직은 실행시에 각각의 생성되는 합성물에서 사용되는 사진들을 정규화하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있다. 일부 구현들에서, 상기 하나 이상의 합성물을 생성하기 위해, 상기 로직은 실행시에 각각의 생성되는 합성물에서 사용되는 사진들을 평활화하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있다.
도 1은 본 명세서에서 설명되는 구현들을 구현하는 데 사용될 수 있는 예시적인 네트워크 환경의 블록도를 예시한다.
도 2는 일부 구현들에 따른, 합성물들을 생성하기 위한 예시적인 간이 흐름도를 예시한다.
도 3은 일부 구현들에 따른, 액션 합성물을 생성하기 위한 예시적인 간이 흐름도를 예시한다.
도 4는 일부 구현들에 따른, 액션 합성물을 위한 예시적인 선택된 사진을 예시한다.
도 5는 일부 구현들에 따른 예시적인 예비 액션 합성물을 예시한다.
도 6은 일부 구현들에 따른 예시적인 액션 합성물을 예시한다.
도 7은 일부 구현들에 따른, 클러터-프리 합성물을 생성하기 위한 예시적인 간이 흐름도를 예시한다.
도 8은 일부 구현들에 따른, 클러터-프리 합성물을 위한 예시적인 선택된 사진을 예시한다.
도 9는 일부 구현들에 따른, 클러터-프리 합성물을 위한 예시적인 선택된 사진을 예시한다.
도 10은 일부 구현들에 따른 예시적인 예비 액션 합성물을 예시한다.
도 11은 일부 구현들에 따른 예시적인 클러터-프리 합성물을 예시한다.
도 12는 본 명세서에서 설명되는 구현들을 구현하는 데 사용될 수 있는 예시적인 서버 장치의 블록도를 예시한다.
소셜 네트워크 시스템에서 합성물들을 생성하기 위한 구현들이 설명된다. 다양한 구현들에서, 시스템은 사용자로부터 사진들을 수신한다. 이어서, 시스템은 사진들로부터 하나 이상의 합성물 타입을 결정한다. 예를 들어, 하나 이상의 합성물 타입은 액션 합성물들 및 클러터-프리 합성물들을 포함할 수 있다. 이러한 타입의 합성물들은 아래에서 더 상세히 설명된다.
이어서, 시스템은 하나 이상의 결정된 합성물 타입에 기초하여, 수신된 사진들로부터 합성물들을 생성하며, 각각의 합성물은 사진들의 변경된 전경들에 기초하고, 생성은 각각의 생성되는 합성물에서 사용되는 사진들을 정렬, 정규화, 평활화 및 혼합하는 것 중 하나 이상을 포함한다.
일부 구현들에서, 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함한다. 일부 구현들에서, 하나 이상의 합성물의 생성은 미리 결정된 액션 선택 기준들에 기초하여 액션 합성물을 위해 수신된 사진들로부터 사진들을 선택하는 것; 미리 결정된 액션 검출 기준들에 기초하여 선택된 사진들 각각 내에서 활성 객체를 검출하는 것; 및 액션 합성물을 생성하는 것을 포함하고, 활성 객체는 액션 합성물 내의 상이한 위치들에 표시된다.
일부 구현들에서, 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물을 포함한다. 일부 구현들에서, 하나 이상의 합성물의 생성은 미리 결정된 클러터-프리 선택 기준들에 기초하여 클러터-프리 합성물을 위해 수신된 사진들로부터 사진들을 선택하는 것; 미리 결정된 클러터 검출 기준들에 기초하여 선택된 사진들 각각 내에서 하나 이상의 클러터 객체를 검출하는 것; 및 클러터-프리 합성물을 생성하는 것을 포함하고, 하나 이상의 클러터 객체가 액션 합성물 내에 존재하지 않는다. 이어서, 시스템은 하나 이상의 생성된 합성물을 사용자에게 제공한다.
도 1은 본 명세서에서 설명되는 구현들을 구현하는 데 사용될 수 있는 예시적인 네트워크 환경(100)의 블록도를 예시한다. 일부 구현들에서, 네트워크 환경(100)은 서버 장치(104) 및 소셜 네트워크 데이터베이스(106)를 포함하는 시스템(102)을 포함한다. 다양한 구현들에서, 용어 시스템(102) 및 문구 "소셜 네트워크 시스템"은 교환 가능하게 사용될 수 있다. 네트워크 환경(100)은 시스템(102) 및 네트워크(150)를 통해 서로 통신할 수 있는 클라이언트 장치들(110, 120, 130, 140)도 포함한다.
예시의 편의를 위해, 도 1은 시스템(102), 서버 장치(104) 및 소셜 네트워크 데이터베이스(106) 각각에 대해 하나의 블록을 도시하고, 클라이언트 장치들(110, 120, 130, 140)에 대해 4개의 블록을 도시한다. 블록들(102, 104, 106)은 다수의 시스템, 서버 장치 및 소셜 네트워크 데이터베이스를 나타낼 수 있다. 또한, 임의의 수의 클라이언트 장치가 존재할 수 있다. 다른 구현들에서, 네트워크 환경(100)은 도시된 컴포넌트들 모두를 갖지는 않을 수 있고/있거나, 본 명세서에 도시된 것들 대신에 또는 그들에 더하여 다른 타입의 요소들을 포함하는 다른 요소들을 가질 수 있다.
다양한 구현들에서, 사용자들(U1, U2, U3, U4)은 각각의 클라이언트 장치(110, 120, 130, 140)를 이용하여 서로 통신할 수 있다. 예를 들어, 사용자들(U1, U2, U3, U4)은 서로 상호작용할 수 있으며, 각각의 클라이언트 장치(110, 120, 130, 140)는 합성 미디어 콘텐츠를 서로 전송한다.
본 명세서에서는 일부 구현들이 소셜 네트워크 시스템의 상황에서 설명되지만, 이러한 구현들은 소셜 네트워크와 다른 상황들에서 적용될 수 있다. 예를 들어, 구현들은 개별 사용자에 대해 국지적으로 적용될 수 있다. 예를 들어, 시스템(102)은 본 명세서에서 설명되는 구현들을 독립형 컴퓨터, 태블릿 컴퓨터, 스마트폰 등에서 수행할 수 있다.
도 2는 일부 구현들에 따른, 합성물들을 생성하기 위한 예시적인 간이 흐름도를 예시한다. 다양한 구현들에서, 시스템(102)은 소셜 네트워크 시스템에서 또는 시각 미디어가 사용되고/되거나 관찰될 수 있는 임의의 곳에서 합성물들을 생성할 수 있다. 도 1 및 2 양자를 참조하면, 블록 202에서 방법이 개시되며, 여기서 시스템(102)은 사용자로부터 사진들의 세트를 수신한다. 다양한 구현들에서, 사진들은 사용자가 사진들을 시스템(102)에 업로드 할 때 또는 사용자가 사진들을 하나 이상의 사진 앨범에 추가한 후에 수신될 수 있다. 일부 구현들에서, 시스템(102)은 사용자의 카메라 장치(예로서, 스마트폰)가 사진들을 캡처할 때 카메라 장치가 사진들을 시스템(102)에 자동으로 업로드 하는 것을 가능하게 할 수 있다.
블록 204에서, 시스템(102)은 사진들로부터 하나 이상의 합성물 타입을 결정한다. 합성물 타입들은 액션 합성물들 및/또는 클러터-프리 합성물들 중 하나 이상을 포함할 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 시스템(102)은 사진들로부터 어떤 타입의 합성물이 생성될 수 있는지를 결정한다. 이를 위해, 다양한 구현들에서, 시스템(102)은 사진들을 분석하여, 어떤 사진들이 각각의 합성물 타입에 적합한지를 결정한다.
다양한 구현들에서, 시스템(102)은 순차적으로 촬영되고 사진들의 프레임들 내에서 시각적으로 유사한 사진들을 액션 합성물들 및/또는 클러터-프리 합성물들을 위한 후보들로서 간주한다.
다양한 구현들에서, 사진들로부터 생성될 수 있는 합성물 타입들을 결정하기 위해, 시스템(102)은 인식 알고리즘들을 이용하여 사진들을 분석하여 상이한 합성물 타입들에 적합한 사진들을 발견한다. 다양한 구현들에서, 시스템(102)은 사진들의 시퀀스를 분석하여, 어떤 객체들이 전경 내에 있고, 어떤 객체들이 배경 내에 있는지를 포함해서, 어떤 컴포넌트들이 전경 및 배경인지를 검출한다.
예를 들어, 시스템(102)은 인식 알고리즘을 이용하여 사진들의 시리즈 내에서 전경 객체를 인식할 수 있으며, 전경 객체는 정적 배경에 비해 상이한 사진들 내의 상이한 위치들에 존재한다. 시스템(102)은 그러한 사진들이 액션 합성물을 위한 양호한 후보들인 것으로 결정할 수 있다. 인식 알고리즘들의 예시적인 구현들이 아래에서 더 상세히 설명된다.
일부 구현들에서, 사진들로부터 합성물 타입들을 결정하기 위해, 시스템(102)은 사진들의 그룹 내의 상이한 사진들 내에서 유사한 콘텐츠를 결정할 수 있다. 예를 들어, 시스템(102)은 사진들의 그룹의 중심 영역에서 동일한 객체를 인식할 수 있다. 다른 예에서, 시스템(102)은 사진들의 그룹 내에서 동일한 기념물을 인식할 수 있다. 일부 구현들에서, 시스템(102)은 사진들 내의 메타데이터에 기초하여 사진들의 유사성을 결정할 수 있다. 예를 들어, 태그, 타임스탬프, 지리 위치 등과 같은 메타데이터가 유사한 사진들을 지시할 수 있다.
블록 206에서, 시스템(102)은 하나 이상의 결정된 합성물 타입에 기초하여 수신된 사진들로부터 하나 이상의 합성물을 생성한다. 다양한 구현들에서, 사진들로부터 합성물들을 생성하기 위해, 시스템(102)은 결정된 합성물 타입들에 기초하여 사진들의 세트 또는 그룹으로부터 후보 사진들을 선택한다. 선택 프로세스는 생성 프로세스들의 일부로서 또는 그 전에 발생할 수 있다. 후보 사진들을 선택하기 위한 다양한 구현들이 아래에서 더 상세히 설명된다.
다양한 구현들에서, 각각의 합성물은 사진들의 변경된 전경들에 기초한다. 예를 들어, 시스템(102)은 배경 장면에 대해 이동하는 전경 내의 객체를 나타내는 액션 합성물을 생성할 수 있으며, 객체는 배경 장면에 대해 상이한 위치들에 표시된다. 액션 합성물들과 관련된 구현들이 아래에서 도 3-6과 관련하여 더 상세히 설명된다.
다른 예시적인 구현에서, 시스템(102)은 행인, 자동차 등과 같은 시각적 방해물이 없는 빌딩, 기념물, 풍경 등과 같은 객체를 나타내는 클러터-프리 합성물을 생성할 수 있다. 클러터-프리 합성물을 생성하기 위해, 시스템(102)은 그러한 시각적 방해물을 제거 또는 "삭제"한다. 액션 합성물들과 관련된 구현들이 아래에서 도 7-11과 관련하여 더 상세히 설명된다.
아래에서 더 상세히 설명되는 바와 같이, 합성물들을 생성할 때, 시스템(102)은 각각의 생성되는 합성물에서 사용되는 사진들을 정렬하고, 각각의 생성되는 합성물에서 사용되는 사진들을 정규화하고, 각각의 생성되는 합성물에서 사용되는 사진들을 평활화하고, 각각의 생성되는 합성물에서 사용되는 사진들을 혼합하는 것 중 하나 이상을 수행할 수 있다.
다양한 구현들에서, 고품질 합성물들을 보증하기 위해, 미리 결정된 선택 기준들은 정렬, 정규화, 평활화 및 혼합 중 하나 이상을 위한 알고리즘들이 각각의 생성되는 합성물에서 사용되는 사진들에 적용될 수 있다는 결정들을 포함할 수 있다. 그러한 알고리즘들의 예시적인 구현들이 아래에서 더 상세히 설명된다.
블록 208에서, 시스템(102)은 하나 이상의 생성된 합성물을 사용자에게 제공한다. 예를 들어, 일부 구현들에서, 시스템(102)은 시스템(102)이 하나 이상의 합성물을 생성하여 합성물들을 사용자의 업로드 스트림 또는 사진 앨범에 추가했다는 것을 지시하는 메시지를 사용자에게 전송할 수 있다. 다양한 구현들에서, 시스템(102)은 시각적 배지(badge)를 생성하여 합성물과 관련된 이미지 위에 배치되게 할 수 있다. 다양한 구현들에서, 시스템(102)은 제2의 또는 결합된 시각적 배지를 생성하여 합성물 위에 배치되게 할 수 있으며, 시각적 배지는 합성물 타입(예로서, 액션 합성물, 클러터-프리 합성물 등)을 지시한다.
일부 구현들에서, 시스템(102)은 소정의 사용자 상호작용 또는 피드백을 가능하게 할 수 있다. 예를 들어, 애니메이션을 자동으로 생성하는 것이 아니라, 시스템(102)은 특정 합성물을 생성할 사진들을 검출하고, 이어서 사용자에게 (예를 들어, 버튼의 단일 클릭 또는 선택을 이용하여) 합성물의 생성을 개시하게 할 수 있다.
도 3은 일부 구현들에 따른, 액션 합성물을 생성하기 위한 예시적인 간이 흐름도를 예시한다. 도 1 및 3 양자를 참조하면, 방법이 블록 302에서 개시되며, 여기서 시스템(102)은 사용자로부터 사진들의 세트를 수신한다.
블록 304에서, 시스템(102)은 사진들로부터 액션 합성물을 결정한다. 즉, 시스템(102)은 수신된 사진들 중 적어도 일부가 액션 합성물을 생성하기 위한 양호한 후보들인 것으로 결정한다.
전술한 바와 같이, 액션 합성물은 사진들의 변경된 전경들에 기초한다. 예를 들어, 시스템(102)은 배경 장면에 대해 이동하는 전경 내의 객체를 나타내는 액션 합성물을 생성할 수 있으며, 객체는 배경 장면에 대해 상이한 위치들에 표시된다.
다른 예시적인 구현에서, 시스템(102)은 행인, 자동차 등과 같은 시각적 방해물이 없는 빌딩, 기념물, 풍경 등과 같은 객체를 나타내는 클러터-프리 합성물을 생성할 수 있다.
블록 306에서, 시스템(102)은 미리 결정된 액션 선택 기준들에 기초하여 액션 합성물을 위해 수신된 사진들로부터 사진들을 선택한다. 예를 들어, 미리 결정된 선택 기준들은 사진들이 순차적으로 캡처되었다는 결정을 포함할 수 있다.
다양한 구현들에서, 미리 결정된 액션 선택 기준들은 사진마다 전경 내의 유사한 콘텐츠가 장면 및/또는 배경에 대해 위치를 변경한다는 결정을 포함할 수 있다. 일부 구현들에서, 미리 결정된 액션 선택 기준들은 위치들을 변경하는 콘텐츠가 사진들의 중심부에 존재한다는 결정을 포함할 수 있다. 일부 구현들에서, 시스템(102)은 사용자로 하여금 어떠한 사진 시퀀스들이 액션 합성물에 적합한지를 선택하는 것을 가능하게 할 수 있다.
도 4는 일부 구현들에 따른, 액션 합성물을 위한 예시적인 선택된 사진(400)을 예시한다. 도시된 바와 같이, 전경 내의 사람(402)이 장면에서 의자(404)에 앉아 있다. 후속 사진들에서, 사람(402)은 사진마다 (예로서, 의자(404)로부터 의자(406)로, 의자(408)로 그리고 의자(410)로) 장면에 대한 위치를 변경하며, 이는 도 5에 예시된다.
블록 308에서, 시스템(102)은 액션 합성물을 생성하며, 활성 객체는 액션 합성물 내의 상이한 위치들에 표시된다.
도 5는 일부 구현들에 따른 예시적인 예비 액션 합성물(500)을 예시한다. 다양한 구현들에서, 액션 합성물(500)은 사진들의 부분들을 포함하며, 객체(예로서, 사람(402))가 사진마다 장면에 대한 위치를 변경한다. 예를 들어, 사진들의 시리즈에서, 사람(402)은 의자(404)로부터 의자(406)로, 의자(408)로 그리고 의자(410)로 위치들을 변경한다. 액션 합성물(500)은 도시된 바와 같은 사진들의 부분들을 포함한다.
다양한 구현들에서, 시스템(102)은 분할 알고리즘을 적용하여, 사진들을 패치들로서 지칭되는 부분들로 분할할 수 있다. 도시된 바와 같이, 패치들(506, 508, 510)은 사람(402)이 각각의 의자(406, 408, 410)에 앉아 있는 부분들을 나타내며, 각각의 패치는 상이한 사진으로부터 취해진다.
일부 구현들에서, 일부 사진들로부터의 패치들이 기본 사진으로 지칭될 수 있는 하나의 사진에 추가된다. 이러한 예시적인 구현들에서, 기본 사진은 도 4의 사진(400)이며, 여기서 사람(402)은 의자(404)에 앉아 있다. 패치들(506, 508, 510)이 상이한 회색 음영들로 도시되지만, 일부 구현들에서, 패치들(506, 508, 510)은 다른 구별 컬러들(예로서, 청색, 적색, 황색 등)을 가질 수 있다.
일부 실시예들에서, 시스템(102)은 주어진 사진을 사진들의 시퀀스 내의 다른 사진들과 비교함으로써 사진을 하나 이상의 패치로 분할하며, 시스템(102)은 사진마다 고유 픽셀들을 식별함으로써 상이한 객체들을 결정한다. 일부 구현들에서, 시스템(102)은 사용자가 제거 또는 복사될 사진 내의 영역들을 수동으로 선택하게 할 수 있다. 시스템(102)은 특정한 식별된 객체들 주위의 경계들을 결정함으로써 하나 이상의 패치를 지정한다. 결과적으로, 시스템은 사진들의 주어진 부분에서 상이한 객체들 주위에서 패치들을 생성한다. 시스템(102)은 패치들을 함께 추가 또는 스티칭하여 합성물을 생성한다.
일부 구현들에서, 액션 합성물들에 대해, 더 많은 픽셀이 동일 값을 갖는 경우에 픽셀에 대한 신뢰도가 높다. 예를 들어, 5개의 사진의 주어진 위치에 5개의 픽셀이 존재하고, 4개의 픽셀이 동일 값을 갖지만, 하나의 픽셀이 다른 값을 갖는 경우, 픽셀 내에 모션이 존재한다는 높은 신뢰도가 존재한다.
일부 구현들에서, (후술하는) 클러터-프리 합성물들에 대해, 픽셀들이 동일 컬러를 갖는 경우에 픽셀에 대한 신뢰도가 높다. 예를 들어, 5개의 사진의 주어진 위치에 5개의 픽셀이 존재하는 경우, 4개의 픽셀이 동일 컬러 값을 갖는 경우에 높은 신뢰도가 존재한다.
일부 구현들에서, 시스템(102)은 영역들을 분할하는 분할 알고리즘을 적용한다. 분할 알고리즘은 그래프-절단 알고리즘으로도 지칭될 수 있다. 일부 구현들에서, 분할 알고리즘은 그래프 노드들을 2개의 세트로 분할하여, 세트들 간의 연결 에지들에 대해 정의되는 가중치들의 합이 최소가 되게 하는 문제를 해결한다. 일부 구현들에서, 최소-절단 및 최대-흐름 문제들은 동일하며, 최단 증대 경로 또는 푸시 리라벨(push relabel) 알고리즘들과 같은 임의의 적절한 알고리즘들을 이용하여 효율적으로 해결될 수 있다. 이것은 이진 분할 시나리오들에서 유효하다.
다양한 구현들에서, 시스템(102)은 혼합 알고리즘을 적용하여, 패치들을 함께 추가 또는 결합한다. 다양한 구현들에서, 시스템(102)은 액션 합성물들 및/또는 클러터-프리 합성물들을 생성할 때 분할 알고리즘 및 혼합 알고리즘을 적용한다.
도 6은 일부 구현들에 따른 예시적인 액션 합성물(600)을 예시한다. 도시된 바와 같이, 사람(402)이 동일 합성물 내에서 의자들(404, 406, 408, 410)에 앉아 있다. 제로 사용자 액션 또는 사용자 의도의 경우, 시스템(102)은 다수의 사진으로부터의 전경 액션을 혼합하는 단일 합성물 또는 사진을 생성한다.
일부 예시적인 구현들은 사람이 상이한 자리들에 위치하는 상황에서 설명되지만, 그러한 구현들 및 다른 구현들은 다른 영화적인 액션들에 적용될 수 있다(예로서, 스키어 점핑의 4개의 연속 사진을 단일 사진으로 결합하는 것 등).
다양한 구현들에서, 고품질 합성물들을 생성하기 위해, 시스템(102)은 각각의 생성되는 합성물에서 사용되는 (사진들의 패치들을 포함하는) 사진들을 정렬, 정규화, 평활화 및 혼합하는 다양한 알고리즘들을 적용한다. 일부 구현들에서, 시스템(102)은 사진들이 고품질 합성물을 생성하도록 정렬, 정규화, 평활화 및/또는 혼합될 수 없는 경우에는 사진들의 시퀀스에 대한 합성물을 생성하지 않을 수 있다. 이것은 사람과 같은 객체가 부분적으로 나타나거나 객체가 합성물 내에 두 번 나타나는 합성물들을 방지한다. 다양한 구현들에서, 시스템(102)은 액션 합성물들 및/또는 클러터-프리 합성물들을 생성하는 사진들을 정렬, 정규화, 평활화 및 혼합하기 위한 알고리즘들을 적용한다.
다양한 구현들에서, 시스템(102)은 합성물들을 생성할 때 사진들을 정렬하는 정렬 알고리즘을 적용한다. 구체적으로, 시스템(102)은 사진들의 정적 부분들을 함께 정렬할 수 있다. 시스템(102)은 사진들의 쌍들에 걸쳐 특징 포인트를 매칭시킬 수도 있다. 일부 구현들에서, 시스템(102)은 호모그래피(예로서, 비디오 안정화에서 사용되는 기술인 호모그래피 변환)에 의해 사진들을 정렬할 수 있다.
다양한 구현들에서, 시스템(102)은 합성물들을 생성할 때 사진들에 대해 컬러 조정 및 컬러 투표를 수행하는 정규화 알고리즘을 적용한다. 컬러 조정을 행하기 위해, 시스템(102)은 각각의 사진의 컬러를 기준에 대해 정규화한다. 이것은 조명의 변화를 조정하며, 사진들 간에 일관된 컬러를 유지한다.
일부 구현들에서, 시스템(102)은 정렬된 시퀀스에 대한 각각의 중복 픽셀이 픽셀 컬러를 이용하여 투표하는 컬러 투표를 적용한다. 주요 컬러로부터 벗어나는 픽셀들은 잠재적 전경으로 간주된다. 일부 구현들에서, 시스템(102)은 사진들 내의 다양한 다른 이미지 파라미터들(예로서, 노출, 휘도, 콘트라스트 등)을 정규화하기 위해 사진들에 정규화 알고리즘을 적용할 수 있다.
일부 구현들에서, 시스템(102)은 에너지 최소화 알고리즘을 이용하여 픽셀 투표들을 평활화하기 위해 사진들에 평활화 알고리즘을 적용할 수 있다. 다양한 구현들에서, 에너지 최소화 알고리즘(102)은 경계들에 걸친 컬러 일관성을 선호한다. 에너지 최소화 알고리즘(102)은 작은 영역들 또는 분리된 영역들에 대해 페널티를 적용할 수도 있다.
일부 구현들에서, 시스템(102)은 아티팩트들을 줄이기 위해 스티치 경계들에 대해 혼합을 수행하기 위한 혼합 알고리즘을 적용할 수 있다. 일부 구현들에서, 시스템(102)은 어떠한 사진도 적절한 배경 예를 갖는 않는 구멍들을 채우기 위해 일반화된 거리 변환들을 이용하는 인페인팅 알고리즘(inpainting algorithm)을 적용할 수 있다. 일부 구현들에서, 인페인팅 알고리즘은 일반화된 거리 변환을 이용하여, 각각의 낮은 신뢰도 픽셀에 대해 최소 거리를 갖는 픽셀을 발견하고, 이를 기준으로 사용할 수 있다. 인페인팅 알고리즘은 기준과 매칭되는 각각의 픽셀에 대한 가장 가까운 라벨을 발견할 수도 있다.
일부 구현들에서, 시스템(102)은 무작위 삼림(random forests)을 갖는 컬러 모델링을 위해 모델링 알고리즘을 적용할 수 있다. 일부 구현들에서, 모델링 알고리즘은 무작위 삼림 분류자를 이용하여, 전경/배경 픽셀들 간을 구별할 수 있다.
일부 구현들에서, 에지들에 대해 가우스 평활화를 수행함으로써 스티칭 아티팩트들을 줄일 수 있다. 일부 구현들에서, 전경 픽셀들과의 병합을 방지하기 위해, 시스템(102)은 높은 콘트라스트 영역들을 건너뛸 수 있다. 일부 시나리오들에서, 분할 알고리즘은 평활한 경계들을 생성하며, 이는 혼합에 대한 필요를 최소화할 수 있다.
도 7은 일부 구현들에 따른, 클러터-프리 합성물을 생성하기 위한 예시적인 간이 흐름도를 예시한다. 도 1 및 7 양자를 참조하면, 방법이 블록 702에서 개시되며, 여기서 시스템(102)은 사용자로부터 사진들의 세트를 수신한다.
블록 704에서, 시스템(102)은 사진들로부터 클러터-프리 합성물을 결정한다. 즉, 시스템(102)은 수신된 사진들 중 적어도 일부가 클러터-프리 합성물을 생성하기 위한 양호한 후보들인 것으로 결정한다.
전술한 바와 같이, 클러터-프리 합성물은 사진들의 변경된 전경들에 기초한다. 예를 들어, 시스템(102)은 행인, 자동차 등과 같은 시각적 방해물이 없는 빌딩, 기념물, 풍경 등과 같은 객체를 나타내는 클러터-프리 합성물을 생성할 수 있다. 시스템(102)은 사진들의 세트로부터의 다수의 사진을 이용하여 클러터-프리 합성물을 생성할 수 있으며, 각각의 사진은 객체의 상이한 부분들(예로서, 기념물의 상이한 부분들)을 나타낸다.
블록 706에서, 시스템(102)은 미리 결정된 클러터-프리 선택 기준들에 기초하여 클러터-프리 합성물을 위해 수신된 사진들로부터 사진들을 선택한다. 예를 들어, 미리 결정된 클러터-프리 선택 기준들은 사진들이 순차적으로 캡처되었다는 결정을 포함할 수 있다. 다양한 구현들에서, 미리 결정된 액션 선택 기준들은 사진들 내에 유사한 콘텐츠가 존재하고 그러한 콘텐츠: 보드워크, 브리지, 빌딩, 시티, 다운타운, 집, 부동산, 도로, 마천루, 거리, 구조물, 타워 등이 종종 사람들에 의해 차단되거나 물리적 장소(예로서, 랜드마크 등)에 대한 객체 인식 매치를 갖는다는 결정을 포함할 수 있다. 시스템(102)은 임의의 적절한 알고리즘을 이용하여, 사진들에 주석을 달고, 랜드마크들을 매칭시킬 수 있다. 다양한 구현들에서, 시스템(102)은 장면들에 대해 임의의 적절한 컴퓨터 비전 주석을 이용할 수 있다. 일부 구현들에서, 시스템(102)은 사용자로 하여금 어떠한 사진 시퀀스들이 클러터-프리 합성물에 적합한지를 선택하는 것을 가능하게 할 수 있다.
도 8은 일부 구현들에 따른, 클러터-프리 합성물을 위한 예시적인 선택된 사진(800)을 예시한다. 도 8은 장면의 전경 내에 사람(804) 및 자동차(806)를 갖는 기념물(802)을 나타낸다.
도 9는 일부 구현들에 따른, 클러터-프리 합성물을 위한 예시적인 선택된 사진(900)을 예시한다. 도 9는 장면의 전경 내에 사람(908) 및 자동차(806)를 갖는 기념물(802)을 나타낸다.
블록 708에서, 시스템(102)은 클러터-프리 합성물을 생성하며, 액션 합성물 내에는 하나 이상의 클러터 객체가 존재하지 않는다.
도 10은 일부 구현들에 따른 예시적인 예비 액션 합성물(1000)을 예시한다. 다양한 구현들에서, 액션 합성물(1000)은 객체들(예로서, 도 8 및 9의 각각의 사진(800, 900)의 사람(804), 자동차(806) 및 사람(908))이 제거 또는 "삭제"된 사진들의 부분들을 포함한다. 시스템(102)은 장면의 특정 부분들 내에 "클러터"를 갖는 패치들을 그러한 동일한 부분들 내에 클러터를 갖지 않는 패치들로 대체함으로써 이를 달성하며, 클러터를 갖지 않는 패치들은 사진들의 시퀀스 내의 다른 사진들로부터 취해진다.
이러한 예시적인 구현들에서, 기본 사진은 기념물(802)을 나타내는 도 8의 사진(800)이다. 다른 사진들의 패치들(1002, 1004, 1006, 1008)은 사람(804), 자동차(806), 사람(908) 및 다른 객체들이 장면에 존재하지 않는 부분들을 나타낸다. 다양한 구현들에서, 시스템(102)은 객체들이 존재하지 않는 사진들의 시퀀스 내의 대응하는 패치들을 식별하고, 그러한 패치들을 이용하여 클러터-프리 합성물을 제공한다.
다양한 구현들에서, 시스템(102)은 클러터-프리 합성물을 생성하기 위해 가능한 한 많은 클러터링 객체들을 제거한다. 전술한 바와 같이, 다양한 구현들에서, 시스템(102)은 클러터-프리 합성물들을 생성하는 사진들을 정렬, 정규화, 평활화 및 혼합하기 위한 알고리즘들을 적용한다.
도 11은 일부 구현들에 따른 예시적인 클러터-프리 합성물(1100)을 예시한다. 도 11은 기념물(802)을 나타내며, 특정 객체(예로서, 사람, 자동차 등)가 기념물(802)의 관찰을 차단하지 않는다. 도시된 바와 같이, 제로 사용자 액션 또는 사용자 의도의 경우, 시스템(102)은 다수의 사진으로부터의 클러터-프리 배경들을 혼합함으로써 원하지 않는 전경을 제거하는 단일 합성물 또는 사진을 생성한다.
일부 예시적인 구현들이 기념물과 관련하여 설명되지만, 그러한 구현들 및 다른 구현들은 다른 객체들(예로서, 빌딩, 풍경 등)에 적용될 수 있다.
다양한 구현들에서, 시스템(102)은 특정 전경 객체들을 삭제 또는 제거할지를 결정한다. 일부 시나리오들에서, 사용자는 친구, 가족 등과 같은 특정 객체들이 기념물 정면에 있는 경우에도 사진으로부터 제거되는 것을 원하지 않을 수 있다. 그러한 상황들에서, 사진을 촬영하는 사람(예로서, 사진의 소유자)이 사진 내에 남기기를 의도하는 사람은 아마도 중심에 배치되고 많이 이동되지 않을 것이다. 일부 구현들에서, 시스템(102)은 사진 내의 사람을 사진 촬영하는 사람에 대한 사회적 친분관계(social connection)로서 인식할 수 있다. 따라서, 시스템(102)은 그 사람을 남기고, 지나가는 다른 사람들을 제거할 것이다.
일부 구현들에서, 본 명세서에서 설명되는 다수의 합성물 타입이 사진 또는 사진들의 그룹에 적용될 수 있다. 다양한 구현들에서, 시스템(102)은 액션 합성물들, 클러터-프리 합성물들 등의 상이한 조합들을 포함하는 합성물들을 생성할 수 있다. 예를 들어, 일부 구현들에서, 시스템(102)은 클러터-프리 합성물 내에 액션 합성물을 생성할 수 있다. 실제 조합들은 구체적인 구현들에 의존할 것이다.
본 명세서에서 설명되는 방법 구현들 내의 단계들, 동작들 또는 계산들이 특정 순서로 제공될 수 있지만, 순서는 특정 구현들에서 변경될 수 있다. 특정 구현에 따라 단계들의 다른 순서들이 가능하다. 일부 특정 구현들에서, 본 명세서에서 순차적으로 것으로 도시되는 다수의 단계가 동시에 수행될 수 있다. 또한, 일부 구현들은 도시된 단계들 모두를 갖지는 않을 수 있고/있거나, 본 명세서에 도시된 것들 대신에 또는 그들에 더하여 다른 단계들을 가질 수 있다.
시스템(102)이 본 명세서에서의 구현들에서 설명되는 바와 같은 단계들을 수행하는 것으로 설명되지만, 시스템(102)의 임의의 적절한 컴포넌트 또는 컴포넌트들의 조합 또는 시스템(102)과 관련된 임의의 적절한 프로세서 또는 프로세서들이 설명되는 단계들을 수행할 수 있다.
다양한 구현들에서, 시스템(102)은 다양한 인식 알고리즘들을 이용하여, 사진들 내의 얼굴들, 랜드마크들, 객체들 등을 인식할 수 있다. 그러한 인식 알고리즘들은 시스템(102)에 통합될 수 있다. 시스템(102)은 시스템(102)의 외부에 있고 시스템(102)이 액세스하는 소프트웨어에 의해 제공되는 인식 알고리즘들에 액세스할 수도 있다.
다양한 구현들에서, 시스템(102)은 소셜 네트워크 시스템의 사용자들로 하여금 시스템(102)이 사진들 내의 그들의 얼굴들을 이용하거나 사진들에서 식별된 사람들을 인식함에 있어서 그들의 식별 정보를 이용한다는 것을 포함할 수 있는 개인 정보의 이용을 지정하고/하거나 그에 동의하는 것을 가능하게 한다. 예를 들어, 시스템(102)은 개인 정보의 이용을 지정하고/하거나 그에 동의하는 것과 관련된 다수의 선택을 사용자들에게 제공할 수 있다. 예를 들어, 지정 및/또는 동의에 관한 선택들은 개별 사진, 모든 사진, 개별 사진 앨범, 모든 사진 앨범 등과 관련될 수 있다. 선택들은 다양한 방식으로 구현될 수 있다. 예를 들어, 시스템(102)은 다양한 선택들 옆에 버튼들 또는 체크 박스들이 표시되게 할 수 있다. 일부 구현들에서, 시스템(102)은 소셜 네트워크의 사용자들이 일반적인 얼굴 인식을 위해 그들의 사진들의 이용을 지정하고/하거나 그에 동의하는 것을 가능하게 한다. 얼굴들 및 다른 객체들을 인식하기 위한 예시적인 구현들이 아래에서 더 상세히 설명된다.
본 명세서에서 설명되는 시스템들이 사용자들에 대한 개인 정보를 수집하거나, 개인 정보를 이용할 수 있는 상황들에서, 사용자들은 프로그램들 또는 특징들이 사용자 정보(예로서, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들, 또는 사용자의 현재 위치에 대한 정보)를 수집할지를 제어하거나, 사용자와 더 관련될 수 있는 콘텐츠를 콘텐츠 서버로부터 수신할지 그리고/또는 어떻게 수신할지를 제어할 기회를 제공받을 수 있다. 게다가, 소정 데이터가 그것이 저장 또는 사용되기 전에 하나 이상의 방식으로 처리될 수 있어서, 개인적으로 식별 가능한 정보가 제거된다. 예를 들어, 사용자의 식별자를 처리하여 사용자에 대한 개인적으로 식별 가능한 정보가 결정될 수 없게 할 수 있거나, (시, ZIP 코드 또는 주 레벨에 대한 것과 같은) 지리 정보가 획득되는 사용자의 지리 위치를 일반화하여, 사용자의 특정 위치가 결정될 수 없게 할 수 있다. 따라서, 사용자는 정보가 사용자에 대해 수집되고 콘텐츠 서버에 의해 사용되는 방식에 대한 제어를 가질 수 있다.
다양한 구현들에서, 시스템(102)은 소셜 네트워크 시스템의 사용자들의 기준 이미지들을 획득하며, 각각의 기준 이미지는 알려진 사용자와 관련된 얼굴의 이미지를 포함한다. 시스템(102)이 사용자의 이름 및 다른 프로필 정보와 같은 사용자의 식별 정보를 갖는다는 점에서 사용자가 알려진다. 일부 구현들에서, 기준 이미지는 예를 들어 사용자가 업로드 한 프로필 이미지일 수 있다. 일부 구현들에서, 기준 이미지는 기준 이미지들의 그룹의 합성에 기초할 수 있다.
일부 구현들에서, 사진 내의 얼굴을 인식하기 위해, 시스템(102)은 얼굴(즉, 얼굴의 이미지)을 비교하고, 얼굴을 소셜 네트워크 시스템의 사용자들의 기준 이미지들과 매칭시킬 수 있다. 용어 "얼굴" 및 문구 "얼굴의 이미지"는 교환 가능하게 사용된다는 점에 유의한다. 예시의 편의를 위해, 하나의 얼굴의 인식은 본 명세서에서 설명되는 예시적인 구현들의 일부에서 설명된다. 이러한 구현들은 인식될 다수의 얼굴 중 각각의 얼굴에 적용될 수도 있다.
일부 구현들에서, 시스템(102)은 사진 내의 얼굴과 유사한 임의의 하나 이상의 기준 이미지를 식별하기 위해 기준 이미지들을 검색할 수 있다. 일부 구현들에서, 주어진 기준 이미지에 대해, 시스템(102)은 분석을 위해 사진 내의 얼굴의 이미지로부터 특징들을 추출하고, 이어서 그러한 특징들을 하나 이상의 기준 이미지의 특징들과 비교할 수 있다. 예를 들어, 시스템(102)은 눈, 코, 광대뼈, 입, 턱 등과 같은 얼굴 특징들의 상대적 위치, 크기 및/또는 형상을 분석할 수 있다. 일부 구현들에서, 시스템(102)은 분석으로부터 수집된 데이터를 이용하여, 사진 내의 얼굴을 매칭되는 또는 유사한 특징들을 갖는 하나 이상의 기준 이미지와 매칭시킬 수 있다. 일부 구현들에서, 시스템(102)은 다수의 기준 이미지를 정규화하고, 그러한 이미지들로부터의 얼굴 데이터를 정보(예로서, 얼굴 특징 데이터)를 갖는 합성 표현으로 압축하고, 이어서 얼굴 인식을 위해 사진 내의 얼굴을 합성 표현과 비교할 수 있다.
일부 시나리오들에서, 사진 내의 얼굴은 동일 사용자와 관련된 다수의 기준 이미지와 유사할 수 있다. 따라서, 사진 내의 얼굴과 관련된 사람이 기준 이미지들과 관련된 동일한 사람일 확률이 높을 것이다.
일부 시나리오들에서, 사진 내의 얼굴은 상이한 사용자들과 관련된 다수의 기준 이미지와 유사할 수 있다. 따라서, 사진 내의 사람이 기준 이미지들과 관련된 임의의 주어진 사람과 매칭될 확률이 적당히 높지만 감소할 것이다. 그러한 상황을 처리하기 위해, 시스템(102)은 다양한 타입의 얼굴 인식 알고리즘들을 이용하여, 가능성을 이상적으로는 하나의 최상의 후보로 좁힐 수 있다.
예를 들어, 일부 구현들에서, 얼굴 인식을 촉진하기 위해, 시스템(102)은 특징 구별에 기초하는 기하학적 얼굴 인식 알고리즘들을 이용할 수 있다. 시스템(102)은 얼굴 특징을 비교를 위한 값들로 추출하는 통계 접근법에 기초하는 광도 측정 알고리즘들을 이용할 수도 있다. 사진 내의 얼굴을 하나 이상의 기준과 비교할 때 기하 및 광도 측정 접근법들의 조합이 사용될 수도 있다.
다른 얼굴 인식 알고리즘들이 사용될 수 있다. 예를 들어, 시스템(102)은 주요 컴포넌트 분석, 선형 구별 분석, 탄성 다발 그래프 매칭(elastic bunch graph matching), 히든 마르코프 모델(hidden Markov model) 및 동적 링크 매칭(dynamic link matching) 중 하나 이상을 이용하는 얼굴 인식 알고리즘들을 이용할 수 있다. 시스템(102)은 다른 공지된 또는 나중에 개발될 얼굴 인식 알고리즘들, 기술들 및/또는 시스템들을 이용할 수 있다는 것을 알 것이다.
일부 구현들에서, 시스템(102)은 사진 내의 얼굴이 주어진 기준 이미지와 매칭될 가능성(또는 확률)을 지시하는 출력을 생성할 수 있다. 일부 구현들에서, 출력은 사진 내의 얼굴이 주어진 기준 이미지와 매칭되는 신뢰도와 관련된 백분율과 같은 규준(또는 수치 값)으로서 표현될 수 있다. 예를 들어, 1.0의 값은 매치의 100% 신뢰도를 나타낼 수 있다. 이것은 예를 들어 비교되는 이미지들이 동일하거나 거의 동일할 때 발생할 수 있다. 매치의 50% 기회가 존재할 때 값은 예를 들어 0.5로 낮아질 수 있다. 다른 타입의 출력들이 가능하다. 예를 들어, 일부 구현들에서, 출력은 매칭에 대한 신뢰도 스코어일 수 있다.
예시의 편의를 위해, 전술한 일부 예시적인 구현들은 얼굴 인식 알고리즘과 관련하여 설명되었다. 본 명세서에서 설명되는 구현들을 구현하기 위해 다른 유사한 인식 알고리즘들 및/또는 시각 검색 시스템들을 이용하여 랜드마크, 로고, 엔티티, 이벤트 등과 같은 객체들을 인식할 수 있다.
본 명세서에서 설명되는 구현들은 다양한 이익들을 제공한다. 예를 들어, 구현들은 사용자들이 그들의 친구들과 공유할 수 있는 액션 합성물들 및 클러터-프리 합성물들을 자동으로 생성한다. 그러한 구현들은 사용자들로부터의 수동적인 노력을 필요로 하지 않으며, 특히 구현들은 합성물들을 생성하기 위한 방법에 관한 사용자 지식을 필요로 하지 않는다. 본 명세서에서 설명되는 구현들은 또한 소셜 네트워킹 환경 내의 사용자들 간의 전반적인 관계를 향상시킨다.
도 12는 본 명세서에서 설명되는 구현들을 구현하는 데 사용될 수 있는 예시적인 서버 장치(1200)의 블록도를 예시한다. 예를 들어, 서버 장치(1200)는 도 1의 서버 장치(104)를 구현하는 것은 물론, 본 명세서에서 설명되는 방법 구현들을 수행하는 데 사용될 수 있다. 일부 구현들에서, 서버 장치(1200)는 프로세서(1202), 운영 체제(1204), 메모리(1206) 및 입출력(I/O) 인터페이스(1208)를 포함한다. 서버 장치(1200)는 메모리(1206) 또는 임의의 다른 적절한 저장 위치 또는 컴퓨터 판독 가능 매체에 저장될 수 있는 소셜 네트워크 엔진(1210) 및 미디어 애플리케이션(1212)도 포함한다. 미디어 애플리케이션(1212)은 프로세서(1202)가 본 명세서에서 설명되는 기능들 및 다른 기능들을 수행하는 것을 가능하게 하는 명령어들을 제공한다.
예시의 편의를 위해, 도 12는 프로세서(1202), 운영 체제(1204), 메모리(1206), I/O 인터페이스(1208), 소셜 네트워크 엔진(1210) 및 미디어 애플리케이션(1212) 각각에 대해 하나의 블록을 도시한다. 이러한 블록들(1202, 1204, 1206, 1208, 1210, 1212)은 다수의 프로세서, 운영 체제, 메모리, I/O 인터페이스, 소셜 네트워크 엔진 및 미디어 애플리케이션을 나타낼 수 있다. 다른 구현들에서, 서버 장치(1200)는 도시된 컴포넌트들 모두를 갖지는 않을 수 있고/있거나, 본 명세서에 도시된 것들 대신에 또는 그들에 더하여 다른 타입의 요소들을 포함하는 다른 요소들을 가질 수 있다.
설명이 그의 특정 실시예들과 관련하여 설명되었지만, 이러한 특정 실시예들은 한정이 아니라 예시적일 뿐이다. 예들에서 예시되는 개념들은 다른 예들 및 구현들에 적용될 수 있다.
본 개시 내용에서 설명되는 기능 블록들, 방법들, 장치들 및 시스템들은 통상의 기술자들에게 공지된 바와 같이 시스템들, 장치들 및 기능 블록들의 상이한 조합들로 통합 또는 분할될 수 있다는 점에 유의한다.
임의의 적절한 프로그래밍 언어들 및 프로그래밍 기술들을 이용하여 특정 실시예들의 루틴들을 구현할 수 있다. 절차 또는 객체 지향과 같은 상이한 프로그래밍 기술들이 이용될 수 있다. 루틴들은 단일 처리 장치 또는 다수의 프로세서 상에서 실행될 수 있다. 단계들, 동작들 또는 계산들이 특정 순서로 제공될 수 있지만, 순서는 상이한 특정 실시예들에서 변경될 수 있다. 일부 특정 실시예들에서, 본 명세서에서 순차적인 것으로 도시되는 다수의 단계가 동시에 수행될 수 있다.
"프로세서"는 데이터, 신호 또는 다른 정보를 처리하는 임의의 적절한 하드웨어 및/또는 소프트웨어 시스템, 메커니즘 또는 컴포넌트를 포함한다. 프로세서는 범용 중앙 처리 유닛을 갖는 시스템, 다수의 처리 유닛, 기능을 달성하기 위한 전용 회로 또는 다른 시스템들을 포함할 수 있다. 처리는 지리 위치로 한정되거나 시간적 한계를 가질 필요가 없다. 예를 들어, 프로세서는 그의 기능들을 "실시간"으로, "오프라인"으로, "배치 모드(batch mode)"로, 기타 등등으로 수행할 수 있다. 처리의 부분들은 상이한 시간들에 그리고 상이한 위치들에서, 상이한(또는 동일한) 처리 시스템들에 의해 수행될 수 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다. 메모리는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 자기 또는 광 디스크, 또는 프로세서에 의해 실행될 명령어들을 저장하는 데 적합한 다른 유형적인 매체와 같은 임의의 적절한 프로세서 판독 가능 저장 매체일 수 있다.

Claims (20)

  1. 사용자로부터 복수의 사진을 수신하는 단계;
    상기 사진들로부터 하나 이상의 합성물 타입(composition type)을 결정하는 단계 - 상기 하나 이상의 합성물 타입은 액션 합성물들(action compositions) 및 클러터-프리 합성물들(clutter-free compositions) 중 하나 이상을 포함함 -;
    상기 하나 이상의 결정된 합성물 타입에 기초하여 상기 수신된 사진들로부터 하나 이상의 합성물을 생성하는 단계 - 각각의 합성물은 상기 사진들의 변경된 전경들에 기초하고, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 정렬(aligning), 정규화(normalizing), 평활화(smoothing) 및 혼합(blending)하는 단계 중 하나 이상을 포함함 -; 및
    상기 하나 이상의 생성된 합성물을 상기 사용자에게 제공하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함하는 방법.
  3. 제1항에 있어서, 상기 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물을 포함하는 방법.
  4. 제1항에 있어서, 상기 결정하는 단계는 상기 사진들 내에서 유사한 콘텐츠를 결정하는 단계를 포함하는 방법.
  5. 사용자로부터 복수의 사진을 수신하는 단계;
    상기 사진들로부터 하나 이상의 합성물 타입을 결정하는 단계;
    상기 하나 이상의 결정된 합성물 타입에 기초하여 상기 수신된 사진들로부터 하나 이상의 합성물을 생성하는 단계 - 각각의 합성물은 상기 사진들의 변경된 전경들에 기초함 -; 및
    상기 하나 이상의 생성된 합성물을 상기 사용자에게 제공하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서, 상기 결정하는 단계는 상기 사진들 내에서 유사한 콘텐츠를 결정하는 단계를 포함하는 방법.
  7. 제5항에 있어서, 상기 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함하는 방법.
  8. 제5항에 있어서, 상기 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물을 포함하는 방법.
  9. 제5항에 있어서, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 정렬하는 단계를 포함하는 방법.
  10. 제5항에 있어서, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 정규화하는 단계를 포함하는 방법.
  11. 제5항에 있어서, 상기 생성하는 단계는 각각의 생성되는 합성물에서 사용되는 사진들을 평활화하는 단계를 포함하는 방법.
  12. 제5항에 있어서,
    미리 결정된 액션 선택 기준들에 기초하여 액션 합성물을 위해 상기 수신된 사진들로부터 사진들을 선택하는 단계; 및
    액션 합성물을 생성하는 단계
    를 더 포함하고, 상기 액션 합성물 내의 상이한 위치들에 활성 객체(active object)가 표시되는 방법.
  13. 제5항에 있어서,
    미리 결정된 클러터-프리 선택 기준들에 기초하여 클러터-프리 합성물을 위해 상기 수신된 사진들로부터 사진들을 선택하는 단계; 및
    클러터-프리 합성물을 생성하는 단계
    를 더 포함하고, 상기 액션 합성물 내에 하나 이상의 클러터 객체가 존재하지 않는 방법.
  14. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 유형적 매체 내에 인코딩되고, 실행시에
    사용자로부터 복수의 사진을 수신하는 동작;
    상기 사진들로부터 하나 이상의 합성물 타입을 결정하는 동작;
    상기 하나 이상의 결정된 합성물 타입에 기초하여 상기 수신된 사진들로부터 하나 이상의 합성물을 생성하는 동작 - 각각의 합성물은 상기 사진들의 변경된 전경들에 기초함 -; 및
    상기 하나 이상의 생성된 합성물을 상기 사용자에게 제공하는 동작
    을 포함하는 동작들을 수행하도록 동작할 수 있는 로직
    을 포함하는 시스템.
  15. 제14항에 있어서, 상기 하나 이상의 합성물 타입을 결정하기 위해, 상기 로직은 실행시에 상기 사진들 내에서 유사한 콘텐츠를 결정하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있는 시스템.
  16. 제14항에 있어서, 상기 하나 이상의 합성물 타입은 하나 이상의 액션 합성물을 포함하는 시스템.
  17. 제14항에 있어서, 상기 하나 이상의 합성물 타입은 하나 이상의 클러터-프리 합성물을 포함하는 시스템.
  18. 제14항에 있어서, 상기 하나 이상의 합성물을 생성하기 위해, 상기 로직은 실행시에 각각의 생성되는 합성물에서 사용되는 사진들을 정렬하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있는 시스템.
  19. 제14항에 있어서, 상기 하나 이상의 합성물을 생성하기 위해, 상기 로직은 실행시에 각각의 생성되는 합성물에서 사용되는 사진들을 정규화하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있는 시스템.
  20. 제14항에 있어서, 상기 하나 이상의 합성물을 생성하기 위해, 상기 로직은 실행시에 각각의 생성되는 합성물에서 사용되는 사진들을 평활화하는 동작을 포함하는 동작들을 수행하도록 더 동작할 수 있는 시스템.
KR1020167010720A 2013-10-27 2014-10-24 이미지 합성물 생성 KR101807979B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/064,164 2013-10-27
US14/064,164 US9460533B2 (en) 2013-10-27 2013-10-27 Generating image compositions
PCT/US2014/062296 WO2015061763A1 (en) 2013-10-27 2014-10-24 Generating image compositions

Publications (2)

Publication Number Publication Date
KR20160078964A true KR20160078964A (ko) 2016-07-05
KR101807979B1 KR101807979B1 (ko) 2017-12-11

Family

ID=51894235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010720A KR101807979B1 (ko) 2013-10-27 2014-10-24 이미지 합성물 생성

Country Status (7)

Country Link
US (2) US9460533B2 (ko)
EP (1) EP3061069A1 (ko)
KR (1) KR101807979B1 (ko)
CN (1) CN105684046B (ko)
AU (1) AU2014339827B2 (ko)
CA (1) CA2928086A1 (ko)
WO (1) WO2015061763A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609236B2 (en) 2013-09-16 2017-03-28 Kyle L. Baltz Camera and image processing method
US9460533B2 (en) * 2013-10-27 2016-10-04 Google Inc. Generating image compositions
US9286707B1 (en) 2014-01-27 2016-03-15 Google Inc. Removing transient objects to synthesize an unobstructed image
US10127945B2 (en) 2016-03-15 2018-11-13 Google Llc Visualization of image themes based on image content
EP3475848B1 (en) * 2016-09-05 2019-11-27 Google LLC Generating theme-based videos
US10887531B2 (en) * 2019-03-27 2021-01-05 Rovi Guides, Inc. Replacing a background portion of an image
US10944921B2 (en) 2019-03-27 2021-03-09 Rovi Guides, Inc. Replacing a background portion of an image
KR102271521B1 (ko) 2019-12-31 2021-07-01 씨제이포디플렉스 주식회사 주변 영상 생성 방법 및 이를 수행하는 서버

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1826723B1 (en) 2006-02-28 2015-03-25 Microsoft Corporation Object-level image editing
US7577314B2 (en) * 2006-04-06 2009-08-18 Seiko Epson Corporation Method and apparatus for generating a panorama background from a set of images
JP4341662B2 (ja) 2006-10-06 2009-10-07 ソニー株式会社 映像合成装置
US8135182B2 (en) 2008-04-22 2012-03-13 Eastman Kodak Company Method for creating photo cutouts and collages
US8693780B2 (en) 2009-06-22 2014-04-08 Technion Research & Development Foundation Limited Automated collage formation from photographic images
US8515137B2 (en) * 2010-05-03 2013-08-20 Microsoft Corporation Generating a combined image from multiple images
JP5012967B2 (ja) 2010-07-05 2012-08-29 カシオ計算機株式会社 画像処理装置及び方法、並びにプログラム
US8588548B2 (en) * 2010-07-29 2013-11-19 Kodak Alaris Inc. Method for forming a composite image
WO2012024830A1 (en) * 2010-08-24 2012-03-01 Hewlett-Packard Development Company, L.P. Stitched digital images
JP2012191486A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像合成装置と画像合成方法およびプログラム
US8526763B2 (en) * 2011-05-27 2013-09-03 Adobe Systems Incorporated Seamless image composition
US8823745B2 (en) 2011-06-02 2014-09-02 Yoostar Entertainment Group, Inc. Image processing based on depth information and color data of a scene
CN102881032B (zh) * 2012-09-14 2015-09-09 北京理工大学 一种基于改进算法的图片拼接方法
US8994834B2 (en) * 2012-12-20 2015-03-31 Google Inc. Capturing photos
US9076270B2 (en) * 2013-05-14 2015-07-07 Google Inc. Generating compositions
US9299004B2 (en) * 2013-10-24 2016-03-29 Adobe Systems Incorporated Image foreground detection
US10019823B2 (en) * 2013-10-24 2018-07-10 Adobe Systems Incorporated Combined composition and change-based models for image cropping
US9460533B2 (en) * 2013-10-27 2016-10-04 Google Inc. Generating image compositions

Also Published As

Publication number Publication date
US20170024919A1 (en) 2017-01-26
CN105684046B (zh) 2019-07-05
KR101807979B1 (ko) 2017-12-11
CN105684046A (zh) 2016-06-15
US20150117794A1 (en) 2015-04-30
AU2014339827B2 (en) 2017-02-16
US9460533B2 (en) 2016-10-04
AU2014339827A1 (en) 2016-04-28
US9965882B2 (en) 2018-05-08
EP3061069A1 (en) 2016-08-31
WO2015061763A1 (en) 2015-04-30
CA2928086A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
KR101807979B1 (ko) 이미지 합성물 생성
CA3077830C (en) System and method for appearance search
US9619732B2 (en) Generating compositions
US7043059B2 (en) Method of selectively storing digital images
KR100996066B1 (ko) 얼굴화상 등록 장치, 얼굴화상 등록 방법, 및 기록 매체
US9641572B1 (en) Generating a group photo collection
US9571726B2 (en) Generating attention information from photos
CN110210276A (zh) 一种移动轨迹获取方法及其设备、存储介质、终端
US20150339516A1 (en) Collation apparatus and method for the same, and image searching apparatus and method for the same
JP5483863B2 (ja) 情報処理装置およびその制御方法
US20120300092A1 (en) Automatically optimizing capture of images of one or more subjects
US9286710B2 (en) Generating photo animations
US20200258236A1 (en) Person segmentations for background replacements
JP5671224B2 (ja) 画像処理装置、画像処理方法
US9286707B1 (en) Removing transient objects to synthesize an unobstructed image
US9621505B1 (en) Providing images with notifications
JP6410427B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8994834B2 (en) Capturing photos
JP2018137639A (ja) 動画像処理システム、並びに、符号化装置及びプログラム、並びに、復号装置及びプログラム
CN107016351A (zh) 拍摄指导信息的获取方法以及装置
KR20230006084A (ko) 딥러닝 기반 페이스 스왑 서비스를 제공하는 장치를 동작하기 위한 프로그램
JP2019185349A (ja) 検索装置、検索方法及びプログラム
KR20180041401A (ko) 동영상 생성 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant