KR102246241B1 - 이미지들을 공유하기 위한 자동 제안들 - Google Patents
이미지들을 공유하기 위한 자동 제안들 Download PDFInfo
- Publication number
- KR102246241B1 KR102246241B1 KR1020197016426A KR20197016426A KR102246241B1 KR 102246241 B1 KR102246241 B1 KR 102246241B1 KR 1020197016426 A KR1020197016426 A KR 1020197016426A KR 20197016426 A KR20197016426 A KR 20197016426A KR 102246241 B1 KR102246241 B1 KR 102246241B1
- Authority
- KR
- South Korea
- Prior art keywords
- images
- user
- image
- probability
- cluster
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 131
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000001815 facial effect Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000009826 distribution Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G06K9/00288—
-
- G06K9/00677—
-
- G06K9/6215—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/30—Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Library & Information Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
몇몇 구현들은, 사용자에게 중요한 사람들을 포함하는 이미지들을 공유하기 위한 자동 제안들을 위한 컴퓨터로 구현되는 방법 및/또는 시스템을 포함할 수 있다. 방법은, 사용자 계정과 연관된 이미지의 픽셀들에 기반하여, 이미지와 연관된 하나 이상의 클러스터들을 결정하는 단계를 포함할 수 있다. 방법은 또한, 확률 모델에 기반하여 이미지에 대한 공유 확률 스코어를 결정하는 단계 및 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 단계를 포함할 수 있다. 방법은, 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 것에 대한 응답으로, 이미지를 공유하기 위한 제안을 사용자 계정과 연관된 사용자에게 제공하는 단계를 더 포함할 수 있다.
Description
[0001] 디지털 이미지 캡처 디바이스들, 이를테면 디지털 카메라들 및 내장형 카메라들을 갖는 폰(phone)들의 확산은 사용자들이 많은 수의 디지털 이미지들을 캡처하게 한다. 사용자들은 종종, 특정한 이미지들, 이를테면 의미있는 이벤트들, 예컨대 결혼식 또는 졸업식 동안 찍은 이미지들을 공유하기로 생각할 수 있다. 그러나, 사용자들은 다른 이미지들, 이를테면 의미있는 이벤트들 이외의 시간들 동안 찍은 이미지들을 공유하기로 생각하지 않을 수 있다. 그러한 이미지들을 공유하는 것은 사용자들 및/또는 사용자의 공유된 이미지들의 수신자들에게 유용할 수 있다.
[0002] 본 명세서에서 제공되는 배경 설명은 본 개시내용의 맥락을 일반적으로 제시하려는 목적을 위한 것이다. 본 출원에 이름을 둔 발명자들의 연구(work)는, 그 연구가 출원 당시 선행 기술로서 달리 간주하지 않을 수 있는 상세한 설명의 양상들 뿐만 아니라 본 배경기술에 설명된 정도까지 본 개시내용에 대한 선행 기술로서 명시적으로든 묵시적으로든 인정되지 않는다.
[0003] 몇몇 구현들은 일반적으로 디지털 이미지 관리에 관한 것으로, 더 상세하게는 사용자에게 중요한 것으로 결정된 사람들을 포함하는 디지털 이미지들을 공유하기 위한 자동 제안들을 생성하는 것에 관한 것이다.
[0004] 몇몇 구현들은 컴퓨터로 구현되는 방법을 포함할 수 있다. 방법은, 사용자 계정과 연관된 이미지의 픽셀들에 기반하여, 이미지와 연관된 하나 이상의 클러스터들을 결정하는 단계를 포함하는 컴퓨터로 구현되는 방법을 포함할 수 있다. 하나 이상의 클러스터들 중 적어도 제1 클러스터는 사용자 계정의 최상위 랭킹(top ranked) 클러스터일 수 있다. 방법은 또한, 확률 모델에 기반하여 이미지에 대한 공유 확률 스코어를 결정하는 단계, 및 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 단계를 포함할 수 있다. 방법은, 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 것에 대한 응답으로, 이미지를 공유하기 위한 제안을 사용자 계정과 연관된 사용자에게 제공하는 단계를 더 포함할 수 있다.
[0005] 사용자 계정은 그와 연관된 복수의 이미지들을 포함할 수 있다. 복수의 이미지들의 각각의 이미지는 하나 이상의 클러스터들 중 적어도 하나의 클러스터와 연관될 수 있다. 하나 이상의 클러스터들은, 개개의 클러스터 내의 이미지들에 대한 얼굴(face) 품질, 개개의 클러스터의 시간 기간들의 카운트, 개개의 클러스터와 연관된 이미지들의 카운트, 개개의 클러스터와 연관된 이미지들의 최근성(recency), 및 개개의 클러스터에 대한 이름 라벨 중 하나 이상에 기반하는 개개의 클러스터 랭크 값들과 연관될 수 있다.
[0006] 하나 이상의 클러스터들은 사람 클러스터들일 수 있다. 하나 이상의 클러스터들을 결정하는 단계는, 이미지에서 하나 이상의 얼굴들을 식별하기 위해 안면 인식 기법을 적용하는 단계를 포함할 수 있다. 하나 이상의 얼굴들은 개개의 개인에 대응할 수 있다. 임계치는, 사용자 계정의 구성 및 하나 이상의 얼굴들의 중요도 스코어 중 하나 이상에 기반할 수 있다.
[0007] 방법은 또한, 이미지에서 하나 이상의 얼굴들 중 주요한 얼굴(dominant face)을 식별하는 단계를 포함할 수 있다. 방법은, 사용자 계정에 대한 계정 사이즈를 결정하는 단계, 및 계정 사이즈에 기반하여 공유 확률 스코어를 정규화(normalize)하는 단계를 더 포함할 수 있다.
[0008] 계정 사이즈를 결정하는 단계는, 사용자 계정과 연관된 이미지들의 카운트를 결정하는 단계를 포함할 수 있다. 공유 확률 스코어를 정규화하는 단계는, 계정 사이즈의 사용자 계정들의 이미지들에 대한 확률 스코어들의 합을 계정 사이즈의 사용자 계정들의 카운트로 나눔으로써 계산된 인자(factor)와 공유 확률 스코어를 곱하는 단계를 포함할 수 있다.
[0009] 확률 모델은 복수의 사용자 계정들로부터의 공유 데이터로부터 학습될 수 있으며, 각각의 사용자 계정에 대해, 주어진 이미지가 공유될 제1 확률, 공유된 이미지가 적어도 하나의 최상위 클러스터를 포함할 제2 확률, 및 주어진 이미지가 적어도 하나의 최상위 랭킹 클러스터를 포함할 제3 확률에 기반할 수 있다.
[0010] 몇몇 구현들은, 명령들이 저장된 비-일시적인 컴퓨터 판독가능 매체에 커플링된 하나 이상의 프로세서들을 갖는 시스템을 포함할 수 있으며, 그 명령들은, 하나 이상의 프로세서들에 의해 실행될 경우, 하나 이상의 프로세서들로 하여금 동작들을 수행하게 한다. 동작들은, 사용자 계정과 연관된 이미지의 픽셀들에 기반하여, 이미지와 연관된 하나 이상의 클러스터들을 결정하는 동작을 포함할 수 있다. 하나 이상의 클러스터들 중 적어도 제1 클러스터는 사용자 계정의 최상위 랭킹 클러스터일 수 있다. 동작들은 또한, 확률 모델에 기반하여 이미지에 대한 공유 확률 스코어를 결정하는 동작, 및 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 동작을 포함할 수 있다. 동작들은, 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 것에 대한 응답으로, 이미지를 공유하기 위한 제안을 사용자 계정과 연관된 사용자에게 제공하는 동작을 더 포함할 수 있다.
[0011] 사용자 계정은 그와 연관된 복수의 이미지들을 포함할 수 있다. 복수의 이미지들의 각각의 이미지는 하나 이상의 클러스터들 중 적어도 하나의 클러스터와 연관될 수 있다. 하나 이상의 클러스터들은, 개개의 클러스터 내의 이미지들에 대한 얼굴 품질, 개개의 클러스터의 시간 기간들의 카운트, 개개의 클러스터와 연관된 이미지들의 카운트, 개개의 클러스터와 연관된 이미지들의 최근성, 및 개개의 클러스터에 대한 이름 라벨 중 하나 이상에 기반하는 개개의 클러스터 랭크 값들과 연관될 수 있다. 동작들은 또한, 사용자 계정에 대한 계정 사이즈를 결정하는 동작, 및 계정 사이즈에 기반하여 공유 확률 스코어를 정규화하는 동작을 포함할 수 있다.
[0012] 공유 확률 스코어를 정규화하는 동작은, 계정 사이즈의 사용자 계정들의 이미지들에 대한 확률 스코어들의 합을 계정 사이즈의 사용자 계정들의 카운트로 나눔으로써 계산된 인자와 공유 확률 스코어를 곱하는 동작을 포함할 수 있다. 확률 모델은 복수의 사용자 계정들로부터의 공유 데이터로부터 학습될 수 있으며, 각각의 사용자 계정에 대해, 주어진 이미지가 공유될 제1 확률, 공유된 이미지가 적어도 하나의 최상위 클러스터를 포함할 제2 확률, 및 주어진 이미지가 적어도 하나의 최상위 랭킹 클러스터를 포함할 제3 확률에 기반할 수 있다.
[0013] 몇몇 구현들은 컴퓨터로 구현되는 방법을 포함할 수 있다. 방법은, 사용자 계정과 연관된 이미지 계정 정보를 획득하는 단계, 및 사용자 계정과 연관된 이미지 계정 정보에서 하나 이상의 이미지들과 연관된 하나 이상의 사람 클러스터들을 식별하는 단계를 포함할 수 있다. 방법은 또한, 하나 이상의 사람 클러스터들 내의 이미지들에 대한 개개의 중요도 스코어들을 결정하는 단계, 및 개개의 중요도 스코어들에 기반하여 임계치를 결정하는 단계를 포함할 수 있다. 방법은, 상대적인 중요도 스코어들 및 임계치에 기반하여 이미지 공유 제안들을 결정하기 위한 확률 모델을 제공하는 단계를 더 포함할 수 있다.
[0014] 컴퓨터로 구현되는 방법은, 개개의 사람 클러스터에 할당된 랭크에 따라 하나 이상의 사람 클러스터들을 랭킹(rank)하는 단계를 더 포함할 수 있다. 사용자가 하나 이상의 사람 클러스터들 내의 이미지들을 공유할 확률을 결정하는 것은 최상위 클러스터들에 의해 수행될 수 있다(예컨대, 그 클러스터들은 주어진 랭킹 퍼센테일(percentile) 임계치를 충족시키는 랭크를 가짐). 랭크는, 얼굴 품질(예컨대, 얼굴에 초점이 맞는지 여부, 얼굴이 정면인지 여부, 얼굴이 가려져 있는지 여부, 얼굴이 웃는 표정을 갖는지 여부 등에 기반함), 이미지들 내의 주어진 사람에 관한 사용자 계정 내의 그 이미지들의 카운트, 하나 이상의 사람 클러스터들 내의 이미지들의 최근성(예컨대, 현재 날짜의 일(day), 주(week), 월(month) 등 내에 있음), 하나 이상의 사람 클러스터들의 시간 기간들의 카운트(예컨대, 고유 일들의 수, 고유 주들의 수 등), 및 이미지 내의 사람이 사용자에 의해 이름 라벨을 할당받았는지 여부 중 하나 이상에 기반할 수 있다.
[0015] 사용자가 하나 이상의 사람 클러스터들 내의 이미지들을 공유할 확률은,
에 따라 결정될 수 있으며, 여기서, 는 사용자가 이미지를 공유할 확률을 표현하고; 는, 이미지가 공유된다고 가정하면, 이미지가 적어도 하나의 최상위 r-퍼센테일 클러스터(예컨대, 최상위 클러스터)를 포함할 제1 확률을 표현하며; 그리고 는 이미지가 적어도 하나의 최상위 r-퍼센테일 클러스터를 포함할 제2 확률을 표현한다.
[0016] 이미지 계정 정보는 이미지 계정 정보와 연관된 개개의 계정에 다수의 이미지들을 포함할 수 있다. 개개의 중요도 스코어들은, 하나 이상의 사람 클러스터들로부터 사용자가 이미지들을 공유할 확률, 및 사용자와 연관된 계정 내의 이미지들의 수에 기반할 수 있다.
[0017] 개개의 중요도 스코어들은,
에 따라 결정될 수 있으며, 여기서, a는 사용자 계정의 사이즈이고, Xa는 사용자들 개개의 계정들에서 a개의 이미지들을 갖는 사용자들의 세트이다. 사용자 계정의 사이즈는 사용자 계정 내의 이미지들의 수로서 측정될 수 있다.
[0018] 사용자 계정의 사이즈는 사용자 계정 내의 이미지들의 수로서 측정될 수 있다. 하나 이상의 사람 클러스터들을 결정하는 것은, 이미지에서 하나 이상의 얼굴들을 식별하기 위해 안면 인식 기법을 적용하는 것을 포함할 수 있으며, 여기서, 하나 이상의 얼굴들은 개개의 사람에 대응한다.
[0019] 몇몇 구현들은, 사용자 계정과 연관된 이미지 계정 정보를 획득하는 단계, 및 사용자 계정과 연관된 이미지 계정 정보에서 하나 이상의 이미지들과 연관된 하나 이상의 사람 클러스터들을 식별하는 단계를 포함하는 컴퓨터로 구현되는 방법을 포함할 수 있다. 방법은 또한, 하나 이상의 사람 클러스터들 내의 이미지들에 대한 개개의 중요도 스코어들을 결정하는 단계, 및 개개의 중요도 스코어들에 기반하여 임계치를 결정하는 단계를 포함할 수 있다. 방법은, 임계치에 기반하여 이미지 공유 제안들을 결정하기 위한 확률 모델을 제공하는 단계를 더 포함할 수 있다.
[0020] 방법은 또한, 하나 이상의 사람 클러스터들 내의 이미지들이 사용자 계정으로부터 공유될 확률을 결정하는 단계를 포함할 수 있으며, 확률은, 개개의 사람 클러스터와 연관된 사람의 중요도의 상대적인 측정을 표현하는 중요도 스코어에 기반한다.
[0021] 사용자 계정과 연관된 사용자가 하나 이상의 사람 클러스터들 내의 이미지들을 공유할 확률은, 사용자가 이미지를 공유할 확률, 이미지들이 공유된다면, 이미지들 중 하나가 퍼센테일 내에서 적어도 하나의 사람 클러스터를 포함할 확률, 및 이미지들이 주어진 퍼센테일 내에서 적어도 하나의 사람 클러스터를 포함할 확률에 기반할 수 있다. 개개의 중요도 스코어들은, 사용자 계정의 사이즈, 및 사용자 계정의 사이즈와 유사한 개개의 계정 사이즈들을 가진 계정들을 갖는 사용자들의 세트에 기반하여 결정될 수 있다. 사용자 계정의 사이즈는 사용자 계정 내의 이미지들의 카운트로서 측정될 수 있다. 하나 이상의 사람 클러스터들을 결정하는 것은, 사용자가 안면 인식 기법들의 사용에 동의한 경우, 이미지에서 하나 이상의 얼굴들을 식별하기 위해 그러한 안면 인식 기법을 적용하는 것을 포함하며, 여기서, 하나 이상의 얼굴들은 개개의 사람에 대응한다.
[0022] 도 1은 본 명세서에 설명된 하나 이상의 구현들에 대해 사용될 수 있는 예시적인 시스템들 및 네트워크 환경의 블록 다이어그램이다.
[0023] 도 2는 몇몇 구현들에 따른, 확률 모델에 기반하여 공유 제안을 자동으로 제공하는 예시적인 방법을 예시하는 흐름도이다.
[0024] 도 3은 몇몇 구현들에 따른, 중요한 사람들의 이미지들의 공유 제안을 자동으로 제공하기 위해 확률 모델을 구축 및 트레이닝하는 예시적인 방법을 예시하는 흐름도이다.
[0025] 도 4는 본 명세서에 설명된 하나 이상의 구현들에 대해 사용될 수 있는 예시적인 디바이스의 블록 다이어그램이다.
[0026] 도 5는 몇몇 구현들에 따른, 하나 이상의 이미지들을 공유하기 위한 제안을 제공하기 위한 사용자 인터페이스의 일 예의 도식적 예시이다.
[0023] 도 2는 몇몇 구현들에 따른, 확률 모델에 기반하여 공유 제안을 자동으로 제공하는 예시적인 방법을 예시하는 흐름도이다.
[0024] 도 3은 몇몇 구현들에 따른, 중요한 사람들의 이미지들의 공유 제안을 자동으로 제공하기 위해 확률 모델을 구축 및 트레이닝하는 예시적인 방법을 예시하는 흐름도이다.
[0025] 도 4는 본 명세서에 설명된 하나 이상의 구현들에 대해 사용될 수 있는 예시적인 디바이스의 블록 다이어그램이다.
[0026] 도 5는 몇몇 구현들에 따른, 하나 이상의 이미지들을 공유하기 위한 제안을 제공하기 위한 사용자 인터페이스의 일 예의 도식적 예시이다.
[0027] 사용자에 대한 공유 제안들을 생성할 경우, 이미지 공유 제안 시스템이 사용자의 계정 사이즈(예컨대, 이미지들의 수) 및/또는 이전의 이미지 공유 활동에 따르는 공유 제안들을 생성하는 것이 도움이 될 수 있다. 공유 제안들을 생성하기 위해, 사용자가 이미지 또는 이미지들의 그룹을 공유할 가능성에 관한 추론(또는 예측)을 수행하는 데 확률 모델이 사용될 수 있다. 예컨대, 많은 대상들을 피처링(feature)한 많은 이미지 콜렉션(collection)들 또는 앨범들을 갖는 사용자는 이미지들을 공유할 더 높은 확률을 가질 수 있으며, 결과적으로, 비교적 적은 이미지 콜렉션들 및 적은 이전의 공유 액션들을 갖는 사용자보다 더 많은 수의 공유 제안들을 환영할 수 있다. 따라서, 사용자가 이미지를 공유할 확률에 관한 추론을 수행하는 것이 도움이 될 수 있다. 확률 모델에 기반한 추론은, 특정한 사용자에 대한 중요한 사람의 임계 수를 예측하는 것, 및 확률 모델로부터 추론된 바와 같은 그 사용자에 대한 예측된 임계치에 따라 공유 제안들을 수행하는 것을 포함할 수 있다. 확률 모델은 사용자의 이전의 공유 활동을 포함하는 데이터를 이용하여 트레이닝될 수 있다. 확률 모델에 기반한 예측들은, 사용자 계정 사이즈 변동들(예컨대, 계정 내의 이미지들의 수들의 변동들)과 같은 인자들 및 공유 활동에서의 변동들에 대한 인자들을 고려할 수 있다. 몇몇 구현들은, 이미지들의 중요도 스코어에 기반하여, 사람들을 포함하는 하나 이상의 이미지들에 대한 공유 제안을 생성하는 것을 포함할 수 있다. 중요도 스코어는, 개개의 사용자들이 확률 모델을 트레이닝할 시에 사용을 위한 승인을 제공했던 데이터를 사용하여 트레이닝되는 확률 모델로부터의 추론에 기반할 수 있다. 그러한 데이터는 사용자 이미지 데이터, 계정 데이터, 및 공유 데이터를 포함할 수 있다. 각각의 이미지 또는 이미지 클러스터에는, 이미지에서 한명 이상의 사람들을 갖는 확률 및 이미지 내의 한명 이상의 사람들이 개개의 사용자에 대해 얼마나 중요한지에 관한 정보로 주석이 달릴 수 있다.
[0028] 확률 모델은, 이미지 클러스터의 하나 이상의 이미지들 내의 한명 이상의 사람들의 중요도에 기반하여, 사용자가 이미지 클러스터를 공유할 가능성에 관한 추론(또는 예측)을 수행하기 위해 트레이닝 및 사용될 수 있다. 트레이닝된 모델은, 사용자의 계정 내의 이미지들의 수에 기반하여 이미지를 공유할 가능성의 통계 모델 및 이미지 클러스터 내의 얼굴 클러스터의 클러스터 퍼센테일 랭킹(예컨대, 사용자의 계정 내의 다른 얼굴 클러스터들에 대한 가장 높은 랭킹의 얼굴 클러스터)을 포함할 수 있다. 통계 모델은, 사람 클러스터 발생에 걸친 공유된 사진들의 관찰된 빈도 분포에 기반하는, 사용자가 이미지를 공유할 가능성의 확률 분포를 포함할 수 있다.
[0029] 클러스터 퍼센테일은, 사용자에 대한 이미지 내의 한명 이상의 사람들의 잠재적인 중요도를 표현하는 얼굴 클러스터의 랭킹 값에 기반할 수 있다. 중요한 사람을 결정하는 데 사용될 수 있는 다양한 기준들이 존재한다. 예컨대, 중요하다는 것은, 특정한 사용자의 사진 콜렉션, 및 더 구체적으로는, 사용자가 공유하기로 마음을 먹을 사진들에서 나타나는, (예컨대, 컴퓨터 비전 시스템을 사용하여) 자동으로 그룹화된 얼굴들의 클러스터들로서 표현되는 일반인들을 포함할 수 있다. 사용자들이 그들의 계정들 내의 사진들에서 나타나는 많은 얼굴들을 가질 수 있으므로, 공유 제안 시스템이 특정한 사용자에게 중요한 사람들을 포함하는 이미지들에 초점을 맞추는 것이 도움이 될 수 있다. 또한, 사용자 계정들은 얼굴/사람 클러스터들의 사이즈 및 수에서 매우 상이할 수 있다. 이러한 변동은, 중요한 사람들을 결정할 경우 공유 제안 시스템에 의해 고려될 수 있다.
[0030] 랭킹 값은, 컴퓨터 비전 능력들을 갖는 이미지 관리 애플리케이션에 의해 제공될 수 있고, 클러스터들의 세트 내의 클러스터의 상대적인 포지션을 특정할 수 있다. 랭킹 값은, 얼굴 품질, 이미지들 내의 주어진 얼굴/사람을 가진 사용자의 계정 내의 이미지들의 수, 이미지들의 최근성, 클러스터의 고유한 날짜들의 수, 및 이미지 내의 사람이 사용자에 의해 이름 라벨을 할당받았는지 여부 중 하나 이상을 포함하여 중요도를 표시할 수 있는 다양한 인자들로부터 결정될 수 있다. 이미지 관리 시스템은 중요한 사람의 특정 아이덴티티를 식별 또는 결정할 필요가 없을 수 있다. 시스템은, (예컨대, 위에서 언급된 랭킹에 기반하여) 사람이 중요한 것으로 나타난다고 결정하고, 중요한 사람의 아이덴티티를 결정할 필요 없이 중요한 사람을 포함하는 이미지들을 공유하는 것을 제안할 수 있다.
[0031] 이미지 관리 시스템 또는 컴퓨터 비전 시스템은 안면 인식을 사용하여, 중요도를 결정하기 위해 이미지들 내의 사람들의 아이덴티티를 결정하고, 안면 인식에 기반하여 특정한 사람에 대한 공유 추천을 제공할 수 있다. 예컨대, 공유 제안 시스템은 이미지에서 중요한 사람을 식별하고, 이어서, 그 사람을 가진 이미지를 공유하는 것을 추천할 수 있다. 몇몇 구현들은, 개인들이 안면 인식을 해제하기 위한 능력을 제공할 수 있다. 예컨대, 사용자는 공유 제안 시스템에서 안면 인식을 끌 수 있다. 다른 예에서, 이미지들 내의 사용자들은, 그들이 연관되어 있는 이미지들(예컨대, 그들 자신의 계정 내의 이미지들 또는 그들과 가까운 사람들의 계정들 내의 이미지들)에 대해 수행되는 안면 인식을 해제할 수 있다. 사용자들은 안면 인식, 안면 인식 데이터의 분석 및/또는 안면 인식 데이터의 사용을 해제할 수 있다. 본 명세서에 설명된 시스템 및 방법들이 관심있는 이미지들 내의 사람들의 익명 인식을 통해 중요한 사람들을 결정할 수 있음을 인식할 것이다(즉, 공유 제안 시스템은, 사용자의 계정의 이미지들에서 동일한 사람이 반복적으로 나타난다고 결정하지만, 이미지들에서 나타나는 사람의 아이덴티티를 결정하기 위해 어떠한 안면 인식도 수행하지 않음).
[0032] 몇몇 구현들은, 사용자가 한명 이상의 최상위 랭킹의 중요한 사람들을 포함하는 이미지들을 공유할 가능성을 추론(또는 예측)하기 위해 이전과 같이 확률 모델을 사용할 수 있다. 또한, 이러한 모델로부터, 몇몇 구현들은 사용자가 이미지를 공유할 확률에 대한 임계치들을 학습한다. 사용자가 이미지를 공유할 가능성에 대한 확률 분포가 주어지면, 공유할 이미지들을 제안하기 위한 임계치는, 사용자 계정의 구성 및 이미지들 내의 사람들의 상대적인 중요도를 고려하는 확률 모델에 기반하여 추론될 수 있다. 예컨대, 사용자 계정의 구성은, 사용자 계정 내의 이미지들의 총 수, 사용자 계정 내의 클러스터들의 수, 사용자 계정 내의 사람 클러스터들의 수, (예컨대, 사용자에 의해 제공된) 연관된 이름 라벨을 갖는 클러스터들의 수, 사용자 계정 내의 하나 이상의 이미지들과 연관된 날짜 또는 시간 정보 등과 같은 정보를 포함할 수 있다.
[0033] 몇몇 구현들은, 퍼센테일에 의해 임계화된, 랭킹이 높은 사람 클러스터들에 걸친 이미지 공유들의 이변수 공동 빈도(bivariate joint frequency) 분포, 및 사용자 계정 사이즈를 관찰하는 것을 포함할 수 있다. 몇몇 구현들은 또한, 이미지 공유를 위한 확률 모델을 학습하기 위해, 관찰된 공동 빈도 분포를 사용하여 중요한 사람들의 이미지들을 공유하기 위한 확률 모델을 학습하는 것을 포함할 수 있다.
[0034] 몇몇 구현들은, 특정한 계정 사이즈를 가진 주어진 사용자 x가 랭킹에 의해 r-퍼센테일로 적어도 하나의 클러스터를 포함하는 이미지를 공유할 확률의 예측을 생성할 수 있다. k가 이미지 id를 인덱싱하고, k∈Kx이라고 하며, 여기서, Kx는 x의 이미지들의 세트를 표현하고, 는 x의 계정 사이즈이며, 이는, 모든 사람 클러스터들 내의 이미지들의 총 수로서 근사화될 수 있다. 이어서, Kx,r은 최상위 r-퍼센테일 클러스터들을 가진 x의 이미지들의 세트이다. sk가 k∈Kx에 걸친 랜덤 변수라고 하므로, 이미지 k가 공유되면 sk = 1이고, k가 공유되지 않으면 sk = 0이다.
[0035] 현재 계정 사이즈를 무시하면, 이어서, r-퍼센테일로 적어도 하나의 클러스터를 포함하는 이미지 x를 사용자가 공유할 확률은 다음과 같다:
[0036] 여기서, 수학식 1의 분자의 는 사용자가 임의의 이미지를 공유할 확률을 표현하고; 는 공유된 이미지가 적어도 하나의 최상위 r-퍼센테일 클러스터를 포함할 확률이며; 그리고 는 임의의 이미지가 적어도 하나의 최상위 r-퍼센테일 클러스터를 포함할 확률을 표현한다.
[0037] 단일 사용자 계정이 계정 사이즈 a를 가짐을 유의한다. Xa가 사용자들의 계정 내에 a개의 이미지들을 가진 사용자들의 세트라고 하자. 모든 사용자 계정들이 독립적이며, 동등하게 분포된다고(i.i.d.) 가정하면, 적어도 하나의 최상위 r-퍼센테일 클러스터를 포함하는 이미지가 a개의 이미지들을 가진 사용자 계정으로부터 공유될 확률(또는 중요도 스코어)은 다음과 같다:
[0038] 예컨대, 몇몇 구현들은, 계정 사이즈의 사용자 계정들의 이미지들에 대한 확률 스코어들의 합을 계정 사이즈의 사용자 계정들의 카운트로 나눔으로써 계산된 인자와 공유 확률 스코어를 곱함으로써 공유 확률 스코어를 정규화하는 것을 포함할 수 있다.
[0039] 몇몇 구현들은, 고유한 날짜들의 수 및 화제성(topicality) 스코어를 포함하여 다른 사람 클러스터 랭킹 함수들에 대한 유사한 빈도 분포들을 생성하는 것, 및 이들 신호들을 포함하는 확률 모델들을 학습하는 것을 포함할 수 있다. 또한, 몇몇 구현들은, 어떤 얼굴들이 이미지들에서 주요한지 및 이들이 중요한 사람 클러스터들과 얼마나 대응하는지를 표현하는 신호를 포함할 수 있다. 예컨대, 모델은 중요한 사람들의 주요한 얼굴들을 가진 이미지들에 대한 통계들을 공유하는 것을 포함할 수 있다.
[0040] 본 명세서에 설명된 시스템 또는 방법의 구현은 이미지 공유 제안 시스템과 통합될 수 있다. 예컨대, 본 명세서에 설명된 바와 같이, 중요한 사람들에 기반하여 공유할 확률에 대한 확률 모델은 (예컨대, 서버 시스템, 클라우드 기반 컴퓨팅 시스템의, 또는 사용자 디바이스, 이를테면 모바일 디바이스, 랩톱 또는 데스크톱 컴퓨터 내의) 이미지 공유 제안 시스템 또는 프레임워크의 구성에 부가될 수 있다.
[0041] 몇몇 구현들은, 이미지 내의 사람들의 중요도에 기반하여 (예컨대, 본 명세서에 설명된 확률 모델을 사용함으로써) 공유 제안을 수행할지 여부를 결정하기 위한 방법을 포함할 수 있다. 주어진 이미지에 대해, 이미지에서 나타나는 사람 클러스터들(예컨대, 한명 이상의 사람들이 존재하는 것으로 결정된 이미지 클러스터들)이 결정될 수 있다. 이미지 내의 최상위 랭킹 클러스터의 퍼센테일은, 개개의 사용자의 계정 내의 사람 클러스터들의 리스트를 사용하여 결정될 수 있다. 이어서, 확률 모델은 주어진 이미지에 대한 공유 확률 스코어를 추론하는 데 사용될 수 있다. 이어서, 이미지는 추론된 공유 확률 스코어에 기반하여, 공유를 위해 선택될 수 있다.
[0042] 본 명세서에서 제공되는 시스템들 및 방법들은 몇몇 종래의 이미지 관리 시스템들 및 방법들의 하나 이상의 결함들을 극복할 수 있다. 예컨대, 이미지 관리는 사용자들이 이미지들(예컨대, 비일시적인 컴퓨터 판독가능 매체에 저장된 데이터로서 표현된 디지털 이미지들)을 캡처하여 그리고/또는 다른 사용자들과 공유할 수 있게 하는 것을 포함한다. 디지털 이미지 캡처 디바이스들, 이를테면 디지털 카메라들, 내장형 카메라들을 가진 폰들, 카메라들을 가진 웨어러블 디바이스들, 머리-장착형 디바이스들, 태블릿, 개인용 컴퓨터들 등의 용이한 이용가능성으로, 사용자들은 많은 수(예컨대, 수백개, 수천개 등)의 이미지들을 캡처할 수 있다. 종래의 이미지 관리 시스템들은 사용자들이, 예컨대 온라인 이미지 공유 앨범을 통해, 메시징 서비스를 통해, 이메일 등을 통해, 캡처된 이미지들 중 하나 이상을 공유할 수 있게 할 수 있다. 종래의 이미지 관리 시스템들은 이미지들을 공유하라는 사용자 커맨드들에 따라 공유를 수행한다. 예컨대, 사용자는 이들 시스템들을 사용하여 의미있는 이벤트, 예컨대 결혼식, 졸업식 등으로부터의 이미지들을 다른 사용자들, 예컨대 친구들, 가족 구성원들, 동료들 등과 공유할 수 있다. 사용자는 그러한 의미있는 이벤트들 이외에, 예컨대 출퇴근 동안, 휴가 동안, 가족 모임들, 축하회들, 및 다른 이벤트들 동안 다수의 이미지들을 캡처할 수 있다. 사용자는, 의미있는 이벤트들 이외의 그러한 이미지들을 캡처한 것을 생각하지 않을 수 있고, 또한, 그러한 이미지들을 다른 사용자들과 공유할 것을 생각하지 않을 수 있다. 이러한 방식으로, 종래의 이미지 관리 시스템들은 이미지들의 상당 부분을 공유하지 않을 수 있으며, 여기서, 그러한 이미지들을 공유하는 것은 사용자에게 유용할 수 있다.
[0043] 추가로, 몇몇 종래의 이미지 관리 시스템들은, 예컨대, 이미지들에서 인식된 대상들(예컨대, 하나 이상의 얼굴들)에 기반하여, 이전의 공유 활동 이후에 캡처된 특정한 수의 새로운 이미지들 등에 기반하여, 이미지들을 공유하기 위한 제안들을 제공할 수 있다. 그러나, 그러한 제안들은, 예컨대 이미지들이 사용자들에게 중요한 사람들의 것이 아니면, 유용하지 않거나 정확하지 않을 수 있다. 예컨대, 사용자들은 사용자에게 중요한 사람들을 포함하는 이미지들의 그룹들을 공유하는 것을 선호할 수 있다. 종래의 이미지 관리 시스템들은, 제안들을 제공할 경우 이미지들에서 사람들의 상대적인 중요도를 인식하지 못할 수 있다. 또한, 종래의 이미지 관리 시스템들은, 주어진 사용자에 대한 다수의 중요한 사람들의 임계치들을 학습하지 않거나, 또는 사용자에게 중요한 사람을 포함하는 이미지를 공유하는 것을 제안할지 여부를 결정할 경우 사용자 이미지 계정 구성을 고려하지 않을 수 있다.
[0044] 본 명세서에 설명된 예시적인 시스템들 및 방법들은, 개개의 사용자들에게 중요한 사람들의 이미지들의 그룹들을 공유하기 위한 제안들을 사용자들에게 제공하기 위해 종래의 이미지 관리 시스템들의 결함들 중 하나 이상을 극복할 수 있다. 몇몇 종래의 이미지 관리 시스템들의 기술적 문제점은, 그러한 시스템들이 개개의 사용자에 대한 중요도 스코어에 기반하여 이미지들의 그룹들을 공유하는 것을 제안하지 않는다는 것일 수 있다. 추가로, 제안들을 제공하는 종래의 시스템들은, 개별 이미지들의 속성들에, 또는 공유를 위해 이미지들 내의 촬영된 사람들의 상대적인 중요도를 고려하지 않는 다른 인자들에 기반하여 그러한 제안들을 생성할 수 있다.
[0045] 개시된 청구 대상은, 예컨대, 단일 이미지, 이미지들의 그룹, 또는 이미지 구성, 이를테면 이미지 앨범, 비디오, 콜라주(collage) 등으로서 이미지들의 그룹을 공유하기 위한 제안들을 생성하기 위한 특정한 기법들에 관한 것이다. 제안들은, 이미지 클러스터가 개개의 사용자에게 중요한 사람들의 이미지들을 포함하는지 여부를 결정하기 위해 컴퓨터 상에서 프로세스를 인스턴스화하는 것에 기반하며, 여기서, 중요도는 이미지 내의 사람들 및 개개의 사용자의 이전의 이미지 공유 거동에 기반하여 결정된다. 컴퓨터 상에서의 프로세스는, 이미지들 내의 사람들, 및 사용자에 의해 공유되었던 이미지들의 이전 그룹들에 기반하여 공유를 위해 추천될 하나 이상의 이미지 클러스터들을 결정할 수 있다.
[0046] 특정한 구현들은 다음의 장점들 중 하나 이상을 실현할 수 있다. 본 명세서에 설명된 방법들 및 시스템에 기반하여 이미지들을 공유하기 위한 제안들을 생성하는 장점은, 제안들이 이미지들 내의 한명 이상의 사람들의 상대적인 중요도에 기반한다는 것이다. 다른 장점은, 이미지 그룹이 사용자에게 중요한 사람들을 포함하는 것으로 발견되지 않으면, 이미지 공유 제안들이 제공되지 않아서, 그에 의해, 사용자가 승인하지 않을 수 있는 공유 제안들의 생성을 감소 또는 제거할 수 있으며, 이는, 전체 시스템에서 더 적은 프로세싱 동작들 및 그에 따른 감소된 레이턴시를 초래할 수 있다는 것이다. 몇몇 구현들의 추가적인 장점은, 제안이 사용자의 계정 구성(예컨대, 이미지들 또는 사람 이미지 클러스터들의 수)에 기반할 수 있으며, 이는, 이미지 공유 제안들이 상이한 사용자들의 가변적인 계정 사이즈들에 맞춤화되게 할 수 있다는 것이다. 또 다른 장점은, 본 명세서에 설명된 방법들 및 시스템들이 (예컨대, 중요한 사람들의 수들에 대한, 중요도 스코어 등에 대한) 새로운 임계치들을 동적으로 학습하며, 새로운 임계치들과 매칭하는 이미지들의 그룹들에 대한 제안들을 제공할 수 있다는 것이다. 본 명세서에 제시된 시스템들 및 방법들은 이미지들의 그룹을 공유하기 위한 제안들을 자동으로 제공하며, 그 제안들은, 사용자들에 의해 수용될 가능성이 더 높고, 사용자들에게 상대적으로 중요한 사람들의 이미지들을 포함하고, 사용자들이 최소의 노력으로 이미지들의 그룹을 공유할 수 있게 하며, 이미지들의 더 많은 공유를 용이하게 한다.
[0047] 도 1은 본 명세서에 설명된 몇몇 구현들에서 사용될 수 있는 예시적인 네트워크 환경(100)의 블록 다이어그램을 예시한다. 몇몇 구현들에서, 네트워크 환경(100)은 하나 이상의 서버 시스템들, 예컨대 도 1의 예에서는 서버 시스템(102)을 포함한다. 서버 시스템(102)은 예컨대, 네트워크(130)와 통신할 수 있다. 서버 시스템(102)은 서버 디바이스(104) 및 데이터베이스(106) 또는 다른 저장 디바이스를 포함할 수 있다. 네트워크 환경(100)은 또한, 하나 이상의 클라이언트 디바이스들, 예컨대 클라이언트 디바이스들(120, 122, 124, 및 126)을 포함할 수 있으며, 그 디바이스들은 네트워크(130)를 통해 서로 그리고/또는 서버 시스템(102)과 통신할 수 있다. 네트워크(130)는 인터넷, 로컬 영역 네트워크들(LAN), 무선 네트워크들, 스위치 또는 허브 연결들 등 중 하나 이상을 포함하는 임의의 타입의 통신 네트워크일 수 있다. 몇몇 구현들에서, 네트워크(130)는, 예컨대 피어-투-피어 무선 프로토콜들을 사용하는 디바이스들 사이에서의 피어-투-피어 통신(132)을 포함할 수 있다.
[0048] 예시의 용이함을 위해, 도 1은 서버 시스템(102), 서버 디바이스(104), 및 데이터베이스(106)에 대한 하나의 블록을 도시하고, 클라이언트 디바이스들(120, 122, 124, 및 126)에 대한 4개의 블록들을 도시한다. 서버 블록들(102, 104, 및 106)은 다수의 시스템들, 서버 디바이스들, 및 네트워크 데이터베이스들을 표현할 수 있으며, 블록들은 도시된 것과 상이한 구성들로 제공될 수 있다. 예컨대, 서버 시스템(102)은 네트워크(130)를 통해 다른 서버 시스템들과 통신할 수 있는 다수의 서버 시스템들을 표현할 수 있다. 몇몇 예들에서, 데이터베이스(106) 및/또는 다른 저장 디바이스들은, 서버 디바이스(104)와 별개인 서버 시스템 블록(들)에서 제공될 수 있으며, 네트워크(130)를 통해 서버 디바이스(104) 및 다른 서버 시스템들과 통신할 수 있다. 또한, 임의의 수의 클라이언트 디바이스들이 존재할 수 있다. 각각의 클라이언트 디바이스는 임의의 타입의 전자 디바이스, 예컨대, 데스크톱 컴퓨터, 랩톱 컴퓨터, 휴대용 또는 모바일 디바이스, 카메라, 셀 폰, 스마트 폰, 태블릿 컴퓨터, 텔레비전, TV 셋탑 박스 또는 엔터테인먼트 디바이스, 웨어러블 디바이스들(예컨대, 디스플레이 안경들 또는 고글들, 머리-장착형 디스플레이(HMD), 손목시계, 헤드셋, 암밴드, 장신구(jewelry) 등), 가상 현실(VR) 및/또는 증강 현실(AR) 인에이블 디바이스들, 개인 휴대 정보 단말(PDA), 미디어 플레이어, 게임 디바이스 등일 수 있다. 몇몇 클라이언트 디바이스들은 또한 데이터베이스(106) 또는 다른 저장소와 유사한 로컬 데이터베이스를 가질 수 있다. 다른 구현들에서, 네트워크 환경(100)은 도시된 컴포넌트들 전부를 갖지는 않을 수 있고 그리고/또는 본 명세서에 설명된 것들 대신 또는 그에 부가하여 다른 타입들의 엘리먼트들을 포함하는 다른 엘리먼트들을 가질 수 있다.
[0049] 다양한 구현들에서, 최종-사용자들(U1, U2, U3, 및 U4)은 개개의 클라이언트 디바이스들(120, 122, 124, 및 126)을 사용하여 서버 시스템(102)과 그리고/또는 서로 통신할 수 있다. 몇몇 예들에서, 사용자들(U1, U2, U3, 및 U4)은, 개개의 클라이언트 디바이스들 및/또는 서버 시스템(102) 상에서 구동되는 애플리케이션들을 통해 그리고/또는 서버 시스템(102) 상에서 구현되는 네트워크 서비스, 예컨대, 이미지 공유 서비스, 메시징 서비스, 소셜 네트워크 서비스 또는 다른 타입의 네트워크 서비스를 통해 서로 상호작용할 수 있다. 예컨대, 개개의 클라이언트 디바이스들(120, 122, 124, 및 126)은 하나 이상의 서버 시스템들(예컨대, 시스템(102))으로 데이터를 통신하고 그리고 그들로부터 데이터를 통신할 수 있다. 몇몇 구현들에서, 서버 시스템(102)은, 각각의 클라이언트 디바이스가 서버 시스템(102) 및/또는 네트워크 서비스에 업로딩되어 있는 통신된 콘텐츠 또는 공유된 콘텐츠를 수신할 수 있도록 적절한 데이터를 클라이언트 디바이스들에 제공할 수 있다. 몇몇 예들에서, 사용자들은 오디오 또는 비디오 회의, 오디오, 비디오, 또는 텍스트 챗(chat), 또는 다른 통신 모드들 또는 애플리케이션들을 통해 상호작용할 수 있다. 몇몇 예들에서, 네트워크 서비스는 사용자들이, 다양한 통신들을 수행하고, 링크들 및 연관성들을 형성하고, 공유된 콘텐츠, 이를테면 이미지들, 이미지 구성들(예컨대, 하나 이상의 이미지들, 이미지 콜라주들, 비디오들 등을 포함하는 앨범들), 오디오 데이터, 및 다른 타입들의 콘텐츠를 업로딩 및 포스팅(post)하고, 다양한 형태들의 데이터를 수신하며, 그리고/또는 소셜적으로 관련된 기능들을 수행하게 허용하는 임의의 시스템을 포함할 수 있다. 예컨대, 네트워크는 사용자가, 메시지들을 특정한 또는 다수의 다른 사용자들에게 전송하고, 네트워크 서비스 내의 다른 사용자들에 대한 소셜 링크들을 연관성들의 형태로 형성하고, 사용자 리스트들, 친구 리스트들, 또는 다른 사용자 그룹들에서의 다른 사용자들을 그룹화하고, 네트워크 서비스의 사용자들의 지정된 세트들에 의한 액세스를 위해 텍스트, 이미지들, 이미지 구성들, 오디오 시퀀스들 또는 레코딩들을 포함하는 콘텐츠, 또는 다른 타입들의 콘텐츠를 포스팅 또는 전송하고, 라이브 비디오, 오디오, 및/또는 텍스트 화상회의들에 참가하거나 또는 서비스의 다른 사용자들과 채팅하는 등을 행하게 허용할 수 있다. 몇몇 구현들에서, "사용자"는 하나 이상의 프로그램들 또는 가상 엔티티들, 뿐만 아니라 시스템 또는 네트워크와 인터페이싱하는 사람들을 포함할 수 있다.
[0050] 사용자 인터페이스는, 클라이언트 디바이스(120, 122, 124, 및 126) 상에서(또는 대안적으로는 서버 시스템(102) 상에서) 이미지들, 이미지 구성들, 데이터, 및 다른 콘텐츠 뿐만 아니라 통신들, 프라이버시(privacy) 세팅들, 통지들, 및 다른 데이터의 디스플레이를 가능하게 할 수 있다. 그러한 인터페이스는, 클라이언트 디바이스 상의 소프트웨어, 서버 디바이스 상의 소프트웨어, 및/또는 서버 디바이스(104) 상에서 실행되는 서버 소프트웨어 및 클라이언트 소프트웨어의 조합, 예컨대, 서버 시스템(102)과 통신하는 클라이언트 소프트웨어 또는 애플리케이션 소프트웨어를 사용하여 디스플레이될 수 있다. 사용자 인터페이스는 클라이언트 디바이스 또는 서버 디바이스의 디스플레이 디바이스, 예컨대 디스플레이 스크린, 프로젝터 등에 의해 디스플레이될 수 있다. 몇몇 구현들에서, 서버 시스템 상에서 구동되는 애플리케이션 프로그램들은, 클라이언트 디바이스에서 사용자 입력을 수신하고 클라이언트 디바이스에서 데이터, 이를테면 시각 데이터, 오디오 데이터 등을 출력하기 위해, 클라이언트 디바이스와 통신할 수 있다.
[0051] 몇몇 구현들에서, 서버 시스템(102) 및/또는 하나 이상의 클라이언트 디바이스들(120 내지 126)은 이미지 관리 프로그램을 제공할 수 있다. 이미지 관리 프로그램은 시스템(예컨대, 클라이언트 디바이스 또는 서버 디바이스)이 이미지들 및 이미지 구성들을 디스플레이 및 조작하기 위한 옵션들을 제공하게 허용할 수 있으며, 이들 중 몇몇 예들이 본 명세서에서 설명된다. 이미지 관리 프로그램은, 서버 시스템 또는 클라이언트 디바이스와 연관된 디스플레이 디바이스 상에서 디스플레이되는 연관된 사용자 인터페이스(들)를 제공할 수 있다. 사용자 인터페이스는 이미지들 및/또는 사용자들을 선택하고, 이미지 구성들을 생성하는 등을 행하기 위한 다양한 옵션들을 사용자에게 제공할 수 있다. 다른 애플리케이션들이 또한, 본 명세서에 설명된 하나 이상의 특징들, 이를테면 브라우저들, 이메일 애플리케이션들, 통신 애플리케이션들 등에 사용될 수 있다.
[0052] 본 명세서에 설명된 특징들의 다양한 구현들은 임의의 타입의 시스템 및/또는 서비스를 사용할 수 있다. 예컨대, 소셜 네트워킹 서비스들, 이미지 수집 및 공유 서비스들, 보조 메시징 서비스들 또는 (예컨대, 인터넷에 연결된) 다른 네트워킹 서비스들은 클라이언트 및 서버 디바이스들에 의해 액세스되는 하나 이상의 설명된 특징들을 포함할 수 있다. 임의의 타입의 전자 디바이스가 본 명세서에 설명된 특징들을 이용할 수 있다. 몇몇 구현들은, 컴퓨터 네트워크들로부터 연결해제되거나 또는 컴퓨터 네트워크들에 간헐적으로 연결되는 클라이언트 또는 서버 디바이스들 상에, 본 명세서에 설명된 하나 이상의 특징들을 제공할 수 있다. 몇몇 예들에서, 디스플레이 디바이스를 포함하거나 그에 연결된 클라이언트 디바이스는, 클라이언트 디바이스에 로컬인(예컨대, 통신 네트워크를 통해 연결되지 않은) 저장 디바이스들 상에 저장된 이미지들을 검사 및 디스플레이할 수 있으며, 본 명세서에 설명된 바와 같이, 사용자에게 보여질 수 있는 특징들 및 결과들을 제공할 수 있다.
[0053] 도 2는 몇몇 구현들에 따른, (예컨대, 본 명세서에 설명된 바와 같이) 확률 모델을 사용하여 이미지를 공유하기 위한 제안을 제공하기 위한 예시적인 방법(200)을 예시하는 흐름도이다.
[0054] 몇몇 구현들에서, 방법(200)은, 예컨대 도 1에 도시된 바와 같은 서버 시스템(102) 상에서 구현될 수 있다. 다른 구현들에서, 방법(200)의 일부 또는 전부는 도 1에 도시된 바와 같은 하나 이상의 클라이언트 디바이스들(120, 122, 124, 또는 126) 상에서, 하나 이상의 서버 디바이스들 상에서 그리고/또는 서버 디바이스(들) 및 클라이언트 디바이스(들) 둘 모두 상에서 구현될 수 있다. 설명된 예들에서, 구현 시스템은 하나 이상의 디지털 하드웨어 프로세서들 또는 프로세싱 회로("프로세서들"), 및 하나 이상의 저장 디바이스들(예컨대, 데이터베이스(106) 또는 다른 저장소)을 포함한다. 몇몇 구현들에서, 하나 이상의 서버들 및/또는 클라이언트들의 상이한 컴포넌트들은 방법(200)의 상이한 블록들 또는 다른 부분들을 수행할 수 있다.
[0055] 몇몇 구현들은 사용자 입력에 기반하여 방법(200)을 개시할 수 있다. 사용자는, 예컨대, 디스플레이된 사용자 인터페이스로부터 방법(200)의 개시를 선택했을 수 있다. 몇몇 구현들에서, 방법(200) 또는 그의 일부들은 사용자 입력을 통한 사용자에 의한 지시에 따라 수행될 수 있다.
[0056] 몇몇 구현들에서, 방법(200) 또는 방법의 일부들은 디바이스에 의해 자동으로 개시될 수 있다. 예컨대, 방법(또는 그의 일부들)은 주기적으로 수행되거나, 또는 하나 이상의 특정한 이벤트들 또는 조건들의 발생에 기반하여 수행될 수 있다. 예컨대, 그러한 이벤트들 또는 조건들은, 특정한 애플리케이션이 사용자에 의해 열리는 것, 디바이스(예컨대, 사용자 디바이스)에 의해 새롭게 캡처되었거나, 그 디바이스에 업로딩되었거나 또는 그렇지 않으면 그 디바이스에 의해 액세스가능한 하나 이상의 이미지들을 획득하는 것, 방법(200)의 마지막 수행 이후로 미리 결정된 시간 기간이 만료한 것, 및/또는 디바이스 구현 방법(200)의 세팅들에서 특정될 수 있는 하나 이상의 다른 이벤트들 또는 조건들이 발생하는 것을 포함할 수 있다. 몇몇 구현들에서, 그러한 조건들은 (사용자 동의로 디바이스 또는 방법에 의해 액세스가능한) 사용자의 저장된 맞춤 선호도들에서 사용자에 의해 이전에 특정될 수 있다. 몇몇 예들에서, 디바이스(서버 또는 클라이언트)는, (사용자 동의가 수신되면) 액세스가능한 이미지들의 큰 콜렉션, 예컨대 이미지들의 사용자의 콜렉션에 대한 액세스를 이용하여 방법(200)을 수행할 수 있다. 다른 예에서, 카메라, 셀 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 다른 클라이언트 디바이스는 하나 이상의 이미지들을 캡처할 수 있고, 방법(200)을 수행할 수 있다. 부가적으로 또는 대안적으로, 클라이언트 디바이스는 하나 이상의 캡처된 이미지들을 네트워크를 통해 서버에 전송할 수 있고, 서버는 방법(200)을 사용하여 이미지들을 프로세싱할 수 있다.
[0057] 블록(202)에서, 방법(200)의 구현에서 사용자 데이터를 사용하기 위해 사용자 동의(예컨대, 사용자 승인)가 획득되었는지 여부가 체크된다. 예컨대, 사용자 데이터는 사용자 선호도들, 이미지 콜렉션 내의 사용자 이미지들(예컨대, 사용자에 의해 캡처되거나, 사용자에 의해 업로딩되거나, 또는 그렇지 않으면 사용자와 연관된 이미지들), 사용자의 소셜 네트워크 및/또는 연락처들에 관한 정보, 사용자 특성들(아이덴티티, 이름, 나이, 성별, 직업 등), 소셜 및 다른 타입들의 액션들 및 활동들, 캘린더 및 약속들, 콘텐츠, 사용자에 의해 생성되거나 또는 제출된 평점들 및 의견들, 사용자의 지리적 위치, 이력 사용자 데이터 등을 포함할 수 있다. 몇몇 구현들에서, 본 명세서에 설명된 방법들의 하나 이상의 블록들은 그러한 사용자 데이터를 사용할 수 있다. 블록(202)은 공유 제안 프레임워크의 일부로서 그리고/또는 공유 제안 프레임워크 레벨로 제공된 동의를 검증하기 위해 수행될 수 있어서, 블록들(204)은, 공유 제안들을 수행하기 위한 사용자 동의가 공유 제안 프레임워크 레벨에서 획득되었을 경우에만 발동될 것이다. 사용자 동의가 관련 사용자들(그 사용자들에 대한 사용자 데이터가 방법(200)에서 사용될 수 있음)로부터 획득되었다면, 블록(204)에서, 본 명세서의 방법들의 블록들이 이들 블록들에 대해 설명된 바와 같이 사용자 데이터의 가능한 사용으로 구현될 수 있다고 결정되고, 방법은 블록(206)으로 계속된다. 사용자 동의가 획득되지 않았다면, 블록(206)에서, 블록들이 사용자 데이터의 사용 없이 구현될 것이라고 결정되고, 방법은 블록(206)으로 계속된다. 몇몇 구현들에서, 사용자 동의가 획득되지 않았다면, 방법(200)의 나머지가 수행되지 않으며, 그리고/또는 사용자 데이터를 필요로 하는 특정한 블록들이 수행되지 않는다.
[0058] 블록(208)에서, 하나 이상의 이미지들 내의 클러스터(들)가 결정된다. 예컨대, 클러스터들은, 예컨대 하나 이상의 이미지들에서 나타나는 사람과 연관된 사람 클러스터들일 수 있다. 몇몇 구현들에서, 사용자들이 그러한 분석에 동의할 경우, 하나 이상의 이미지들의 픽셀들을 분석하는 안면 인식 기법들이 클러스터들을 결정하기 위해 이용될 수 있다. 사람 클러스터들은 다른 애플리케이션(예컨대, 사진 관리 애플리케이션)에 의해 결정될 수 있으며, 클러스터들에 대응하는 데이터는 주석들로서 이미지들에 부가되고 그리고/또는 별개의 데이터로서 공유 제안 애플리케이션에 제공될 수 있다. 방법은 210으로 진행된다.
[0059] 하나 이상의 이미지들의 픽셀들을 분석하는 것은, 하나 이상의 이미지들에서 하나 이상의 얼굴들 중 주요한 얼굴을 식별하는 것을 포함할 수 있다. 예컨대, 주요한 얼굴은 하나 이상의 이미지들에서 얼굴들 중 (예컨대, 픽셀들의 수로 측정된) 가장 큰 사이즈의 얼굴일 수 있다. 다른 예에서, 주요한 얼굴은, 이미지의 기하학적 중심에서 중심점에 있는 것으로, 예컨대 초점이 맞는 것으로 결정된 얼굴일 수 있다. 또 다른 예에서, 주요한 얼굴은 하나 이상의 얼굴들 상의 검출된 표정에 기반하여 결정될 수 있으며, 예컨대, 강한 표정을 가진 얼굴이 주요한 얼굴로서 결정될 수 있다. 추가적인 예에서, 주요한 얼굴은 하나 이상의 안면 특징들에 기반할 수 있다. 이어서, 주요한 얼굴은 하나 이상의 이미지들이 속하는 사람 클러스터를 결정하기 위해 사용될 수 있다.
[0060] 블록(210)에서, 최상위 랭킹 사람 클러스터(들)의 퍼센테일이 개개의 사용자의 계정 내의 사람 클러스터들의 리스트를 사용하여 결정된다. 방법은 블록(212)으로 계속된다.
[0061] 블록(212)에서, 하나 이상의 이미지들의 공유 확률 스코어(또는 공유 확률)가 확률 모델을 사용하여 추론된다. 예컨대, 공유 확률 스코어(또는 중요도 스코어)는 위의 수학식 (2)에 따라 하나 이상의 이미지들에 대해 결정될 수 있다. 방법은 블록(214)으로 계속된다.
[0062] 블록(214)에서, 공유 확률 스코어가 임계치를 충족시키는지 여부가 결정된다. 방법은 216로 진행된다.
[0063] 블록(216)에서, 임계치를 충족시키는 공유 확률 스코어를 갖는 이미지들이 공유 제안을 제공하기 위해 선택될 수 있다. 이미지들의 선택은 임계치들 중 하나 이상에 기반하여 이미지들을 선택하는 것을 포함할 수 있다. 예컨대, 중요한 사람들의 수에 대한 제1 임계치(예컨대, 사용자의 계정 정보에 기반하여 공유 제안들을 사용자에게 제공하기 위한 중요한 사람들의 임계 수) 및 공유 확률 임계치에 기반한 제2 임계치. 예컨대, 중요한 사람 공유 제안 시스템은 공유 제안을 위한 선택된 이미지들의 표시를 공유 제안 시스템 또는 프레임워크에 제공할 수 있다. 다른 예에서, 중요한 사람 공유 방법 또는 시스템은 이미지 공유 제안 시스템 또는 아키텍처 내의 모듈 또는 유닛으로서 포함될 수 있다. 예컨대, 중요한 사람 공유 제안은, 제안에 따라 이미지(들)를 공유하고 공유를 위해 제안된 이미지들을 수정하거나, 또는 이미지들을 공유하지 않기 위한 기회를 사용자에게 제공하는 사용자 인터페이스 엘리먼트가 디스플레이되게 하는 공유 제안 시스템에 제공될 수 있다. 이미지들은 이메일, 텍스트 메시지, 및/또는 소셜 네트워크 내의 프라이빗 메시지를 통해 공유될 수 있다. 몇몇 구현들은 공유 제안에 따른 이미지들의 자동 공유를 포함할 수 있다. 자동 공유는 사용자들의 선호도들 및 자동 공유를 위한 세팅들에 따라 수행될 수 있다.
[0064] 몇몇 구현들에서, (예컨대, 사용자에 의해 승인되면, 안면 인식 기법을 사용하여) 이미지들에서 인식된 한명 이상의 사람들이 공유될 이미지들의 제안된 수신자들로서 선택될 수 있다. 몇몇 구현들에서, 한명 이상의 선택된 사람들의 이미지는 공유 제안 시스템에 제공되는 중요한 사람 공유 제안과 함께 포함될 수 있다. 다른 시스템(예컨대, 안면 인식 시스템, 사진 시스템, 소셜 네트워크 시스템 등)은, 대응하는 사용자들의 승인으로, 한명 이상의 선택된 사람들의 이미지들로부터 사용자를 식별할 수 있고, 그 사용자와 이미지들을 공유하는 것을 제안하기 위해 사용자 아이덴티티를 제공할 수 있다. 예컨대, 중요한 사람 공유 제안 시스템은 이미지들에 나타난 2명의 다른 사용자들과의 이미지들의 공유 제안을 생성할 수 있다. 공유 제안은 다른 2명의 사용자들 중 한명 이상의 사용자들의 이미지와 함께 공유 제안 시스템에 제공될 수 있다. 사용자들이 동의를 제공했을 경우, 공유 제안 시스템은 2명의 다른 사용자들의 이미지를 안면 인식 시스템에 전송하며, 예컨대, 안면 인식 시스템이 이미지와 아이덴티티 정보 사이의 성공적인 매치를 획득한 경우, 2명의 다른 사용자들 중 한명 또는 둘 모두에 대응하는 아이덴티티 정보를 리턴 결과로서 수신한다. 다양한 예들에서, 아이덴티티 정보는 이메일 어드레스, 사용자 이름, 또는 다른 아이덴티티 정보 중 하나 이상을 포함할 수 있다. 리턴 결과는 2명의 다른 사용자들의 개개의 사용자에 의해 동의된 바와 같은 그러한 아이덴티티 정보만을 포함한다. 공유 제안 시스템은 아이덴티티 정보 중 일부 또는 전부를, 이미지들을 공유하기 위한 제안과 함께 사용자에게 제공한다. 예컨대, 몇몇 구현들에서, 아이덴티티 정보는 중요한 사람들의 이미지들을 공유할 사람의 제안으로서 제시된다. 몇몇 구현들에서, 아이덴티티 정보는 또한, 이미지들을 공유할 다른 사람들을 결정하기 위해 사용될 수 있다. 예컨대, 그러한 사용자에 대해 동의된 그룹 정보에 기반하여, 아이덴티티 정보가 그룹 또는 다른 관련 활동 내의 한명 이상의 사람들(예컨대, 동료들, 스포츠 팀원들, 급우들 등)에 대응하는지 여부가 결정될 수 있다. 아이덴티티 정보가 그룹 또는 관련 활동 내의 한명 이상의 사람들에 대응한다고 결정할 시에, 이미지를 공유할 사람들의 제안은, 이미지에서 검출되지 않은, 그룹 또는 관련 활동 내의 한명 이상의 사람들을 포함할 수 있다.
[0065] 이미지는 정적 이미지(예컨대, 모션이 없는 단일 프레임), 애니메이트된(animated) 이미지, 비디오(예컨대, 복수의 프레임들을 가짐) 등일 수 있다. 예컨대, 정적 이미지는 고정된 표정을 가진 하나 이상의 얼굴들을 나타낼 수 있는 반면, 애니메이트된 이미지는 이미지 내에서 변하는 표정들을 가진 하나 이상의 얼굴들(예컨대, 눈이 감은 것과 뜬 것 사이에서 전환하는 얼굴, 입이 웃지 않는 포지션으로부터 웃는 포지션으로 이동하는 얼굴 등을 캡처하는 라이브 포토)을 나타낼 수 있다. 비디오는 한명 이상의 사람들을 나타내는 복수의 프레임들을 포함할 수 있다. 제안들은, 임의의 타입의 이미지를 공유하기 위해 제공될 수 있으며, 상이한 타입들의 이미지들의 그룹을 포함할 수 있다.
[0066] 도 2에서, 다양한 블록들(예컨대, 블록들(202 내지 216))이 순차적으로 수행되는 것으로 예시된다. 그러나, 이들 블록들이 특정한 실시예들에 맞춰지도록 편리하게 재배열될 수 있고, 이들 블록들 또는 이들의 일부들이 몇몇 실시예들에서는 동시에 수행될 수 있음을 인식할 것이다. 몇몇 예들에서, 다양한 블록들이 제거되거나, 부가적인 블록들로 분할되거나, 그리고/또는 다른 블록들과 결합될 수 있음을 또한 인식할 것이다. 이어서, 테이블이 테이블 내의 값들에 기반하여 임계치들을 결정하는 데 사용될 수 있다.
[0067] 도 2의 블록(212)은 공유 확률 스코어를 생성하기 위해 확률 모델을 이용하는 것을 설명한다. 도 3은 그러한 확률 모델을 생성하기 위한 예시적인 프로세스를 도시한다.
[0068] 몇몇 구현들에서, 사용자들이 공유 데이터의 사용을 승인할 경우, 확률 모델은 그러한 사용자들에 대한 공유 데이터로부터의 공유 데이터에 기반할 수 있다. 예컨대, 사용자 동의로, (예컨대, 아래의 수학식 1에서 사용된) 상이한 확률들이 각각의 사용자 계정에 대해 결정될 수 있으며, 주어진 이미지가 특정한 사용자 계정으로부터 공유될 확률을 결정하는 데 사용될 수 있다. 확률들은, 공유 확률들에 대한 통계 분포를 제공하기 위해 (예컨대, 복수의 사용자들의 공유 데이터의 그러한 사용에 대한 동의를 제공한 그 복수의 사용자들에 걸쳐) 집계될 수 있다. 그러한 통계 분포가 확률 모델에서 사용된다. 통계 분포를 생성할 시에, 공유 데이터의 그러한 사용에 동의하지 않은 사용자들의 사용자 계정들은 배제된다. 추가로, 이미지가 공유되었는지 여부 및 이미지가 최상위 클러스터를 포함하는지 여부에 관한 메타데이터가 사용될 수 있으며, 이미지 콘텐츠 및/또는 사용자 계정 특정 클러스터 정보, 이를테면 클러스터 이름들은 사용되지 않는다.
[0069] 도 3은 몇몇 구현들에 따른, 이미지 공유 제안들을 위한 추론들을 생성하는 데 사용될 수 있는 확률 모델을 구축 및 트레이닝하기 위한 예시적인 방법(300)을 예시하는 흐름도이다.
[0070] 몇몇 구현들에서, 방법(300)은, 예컨대 도 1에 도시된 바와 같은 서버 시스템(102) 상에서 구현될 수 있다. 다른 구현들에서, 방법(300)의 일부 또는 전부는 도 1에 도시된 바와 같은 하나 이상의 클라이언트 디바이스들(120, 122, 124, 또는 126) 상에서, 하나 이상의 서버 디바이스들 상에서 그리고/또는 서버 디바이스(들) 및 클라이언트 디바이스(들) 둘 모두 상에서 구현될 수 있다. 설명된 예들에서, 구현 시스템은 하나 이상의 디지털 하드웨어 프로세서들 또는 프로세싱 회로("프로세서들"), 및 하나 이상의 저장 디바이스들(예컨대, 데이터베이스(106) 또는 다른 저장소)을 포함한다. 몇몇 구현들에서, 하나 이상의 서버들 및/또는 클라이언트들의 상이한 컴포넌트들은 방법(300)의 상이한 블록들 또는 다른 부분들을 수행할 수 있다.
[0071] 몇몇 구현들은 사용자 입력에 기반하여 방법(300)을 개시할 수 있다. 사용자는, 예컨대, 디스플레이된 사용자 인터페이스로부터 방법(300)의 개시를 선택할 수 있다. 몇몇 구현들에서, 방법(300) 또는 그의 일부들은 사용자 입력을 통한 사용자에 의한 지시에 따라 수행될 수 있다.
[0072] 몇몇 구현들에서, 방법(300) 또는 방법의 일부들은 디바이스에 의해 자동으로 개시될 수 있다. 예컨대, 방법(또는 그의 일부들)은 주기적으로 수행되거나, 또는 하나 이상의 특정한 이벤트들 또는 조건들의 발생에 기반하여 수행될 수 있다. 예컨대, 그러한 이벤트들 또는 조건들은, 특정한 애플리케이션이 사용자에 의해 열리는 것, 디바이스(예컨대, 사용자 디바이스)에 의해 새롭게 캡처되었거나, 그 디바이스에 업로딩되었거나 또는 그렇지 않으면 그 디바이스에 의해 액세스가능한 하나 이상의 이미지들을 획득하는 것, 방법(300)의 마지막 수행 이후로 미리 결정된 시간 기간이 만료한 것, 및/또는 디바이스 구현 방법(300)의 세팅들에서 특정될 수 있는 하나 이상의 다른 이벤트들 또는 조건들이 발생하는 것을 포함할 수 있다. 몇몇 구현들에서, 그러한 조건들은 (사용자 동의로 디바이스 또는 방법에 의해 액세스가능한) 사용자의 저장된 맞춤 선호도들에서 사용자에 의해 이전에 특정될 수 있다. 몇몇 예들에서, 디바이스(서버 또는 클라이언트)는, (사용자 동의가 수신되면) 액세스가능한 이미지들의 큰 콜렉션, 예컨대 이미지들의 사용자의 콜렉션에 대한 액세스를 이용하여 방법(300)을 수행할 수 있다. 다른 예에서, 카메라, 셀 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 다른 클라이언트 디바이스는 하나 이상의 이미지들을 캡처할 수 있고, 방법(300)을 수행할 수 있다. 부가적으로 또는 대안적으로, 클라이언트 디바이스는 하나 이상의 캡처된 이미지들을 네트워크를 통해 서버에 전송할 수 있고, 서버는 방법(300)을 사용하여 이미지들을 프로세싱할 수 있다.
[0073] 블록(302)에서, 방법(300)의 구현에서 사용자 데이터를 사용하기 위해 사용자 동의(예컨대, 사용자 승인)가 획득되었는지 여부가 체크된다. 예컨대, 사용자 데이터는 사용자 선호도들, 이미지 콜렉션 내의 사용자 이미지들(예컨대, 사용자에 의해 캡처되거나, 사용자에 의해 업로딩되거나, 또는 그렇지 않으면 사용자와 연관된 이미지들), 사용자의 소셜 네트워크 및/또는 연락처들에 관한 정보, 사용자 특성들(아이덴티티, 이름, 나이, 성별, 직업 등), 소셜 및 다른 타입들의 액션들 및 활동들, 캘린더 및 약속들, 콘텐츠, 사용자에 의해 생성되거나 또는 제출된 평점들 및 의견들, 사용자의 지리적 위치, 이력 사용자 데이터 등을 포함할 수 있다. 몇몇 구현들에서, 본 명세서에 설명된 방법들의 하나 이상의 블록들은 그러한 사용자 데이터를 사용할 수 있다. 블록(302)은 공유 제안 프레임워크의 일부로서 그리고/또는 공유 제안 프레임워크 레벨로 제공된 동의를 검증하기 위해 수행될 수 있어서, 블록들(304)은, 공유 제안들을 수행하기 위한 사용자 동의가 공유 제안 프레임워크 레벨에서 획득되었을 경우에만 발동될 것이다. 사용자 동의가 관련 사용자들(그 사용자들에 대한 사용자 데이터가 방법(300)에서 사용될 수 있음)로부터 획득되었다면, 블록(304)에서, 본 명세서의 방법들의 블록들이 이들 블록들에 대해 설명된 바와 같이 사용자 데이터의 가능한 사용으로 구현될 수 있다고 결정되고, 방법은 블록(306)으로 계속된다. 사용자 동의가 획득되지 않았다면, 블록(306)에서, 블록들이 사용자 데이터의 사용 없이 구현될 것이라고 결정되고, 방법은 블록(306)으로 계속된다. 몇몇 구현들에서, 사용자 동의가 획득되지 않았다면, 방법(300)의 나머지가 수행되지 않으며, 그리고/또는 사용자 데이터를 필요로 하는 특정한 블록들이 수행되지 않는다.
[0074] 블록(308)에서, 한명 이상의 사용자들과 연관된 이미지 계정 정보가 획득된다. 예컨대, 계정 정보는, 예컨대 클라이언트 디바이스들(120 내지 126) 중 임의의 클라이언트 디바이스를 이용하여 사용자에 의해 캡처된 이미지들에 관한 정보를 포함할 수 있다. 다른 예에서, 계정과 연관된 이미지들은 사용자에 의해, 예컨대 사용자의 온라인 이미지 라이브러리로 업로딩될 수 있다. 다른 예에서, 복수의 이미지들은 사용자에 의해, 예컨대 프린팅된 이미지들의 (예컨대, 광 스캐너 디바이스를 사용한) 스캔을 수행함으로써 획득될 수 있다. 다른 예에서, 복수의 이미지들은 사용자에 의해, 예컨대 사진 애플리케이션을 통해, 메시징 서비스를 통해, 이메일을 통해, 소셜 네트워크 서비스의 사용 등을 통해 수신될 수 있다.
[0075] 몇몇 예들에서, 계정과 연관된 이미지들은 개개의 메타데이터 또는 주석들을 포함할 수 있다. 예컨대, 이미지를 캡처하는 클라이언트 디바이스는 메타데이터, 이를테면 캡처 날짜, 캡처 시간, 캡처 위치, 카메라 제조사/모델, 캡처 세팅들(예컨대, 조리개, 셔터 속도, ISO, 초점 모드 등), 이미지의 파일이름 등을 포함할 수 있다. 다른 예에서, 이미지는 사용자-생성된 메타데이터, 예컨대 이미지의 일부들과 연관된 태그들, 이미지와 연관된 코멘트들 또는 다른 텍스트 등을 포함할 수 있다. 다른 예에서, 이미지 또는 이미지들의 그룹에는, (예컨대, 이미지들 내의 사람 클러스터의 표시로서) 이미지들 내의 한명 이상의 사람들의 존재 및 개개의 사용자에 대한 잠재적인 중요도를 표시하는 이미지들 내의 사람들의 랭킹을 표시하도록 주석이 달릴 수 있다. 방법은 블록(310)으로 계속된다.
[0076] 블록(310)에서, 계정의 이미지들 내의 사람 클러스터들이 식별된다. 방법은 블록(312)으로 계속된다.
[0077] 블록(312)에서, 사용자가 이미지를 공유할 확률이 결정된다. 예컨대, 사용자가 이미지를 공유할 확률은 위의 수학식 (1)에 따라 결정될 수 있다. 사용자(x)가 랭킹의 주어진 퍼센테일로(예컨대, 최상위 r 퍼센테일로) 적어도 한명의 사람의 이미지를 공유할 확률은, 공식 yx(r) = (Pr[이미지가 공유됨] × Pr[이미지가 공유되면, 이미지는 최상위 r 퍼센테일임])/Pr[이미지가 최상위 r 퍼센테일에 있음]에 따라 결정될 수 있다. 여기서, Pr[이미지가 공유됨] = 이미지들의 총수로 나눠진 공유된 이미지들의 수이고; Pr[이미지가 공유되면, 이미지는 최상위 r 퍼센테일임] = 공유된 이미지들의 수로 나눠진 최상의 r 퍼센테일 내의 공유된 이미지들의 수이며; 그리고 Pr[이미지가 최상위 r 퍼센테일에 있음] = 이미지들의 총 수로 나눠진 최상의 r 퍼센테일 내의 이미지들의 수이다. 방법은 블록(314)으로 계속된다.
[0078] 블록(314)에서, 중요도 스코어가 결정된다. 예컨대, 중요도 스코어는 위의 수학식 (2)에 따라 사이즈 a의 계정을 갖는 주어진 사용자에 대해 결정될 수 있다. 방법은 블록(316)으로 계속된다.
[0079] 블록(316)에서, 블록(314)에서 결정된 중요도 스코어들에 기반하여 하나 이상의 임계치들이 결정될 수 있다. 예컨대, 테이블이 중요도 스코어에 대해 구성되며, 가변 임계치들을 세팅하는 데 사용될 수 있다. 테이블의 열(column)들은 계정 사이즈 a(예컨대, 계정 내의 사진들의 수)에 대응할 수 있다. 테이블의 행(row)들은, 랭킹에 기반하여 이미지가 최상의 r 퍼센테일로 적어도 하나의 사람 클러스터를 포함하는지를 표시할 수 있다. 방법은 블록(218)으로 계속된다.
[0080] 블록(318)에서, 트레이닝된 확률 모델이 생성된다. 모델은 중요도 스코어 및 임계치들에 기반할 수 있다. 확률 모델은 중요한 사람들의 이미지들의 공유 제안을 생성하기 위해 제공될 수 있다.
[0081] 도 3에서, 다양한 블록들(예컨대, 블록들(302 내지 318))이 순차적으로 수행되는 것으로 예시된다. 그러나, 이들 블록들이 특정한 실시예들에 맞춰지도록 편리하게 재배열될 수 있고, 이들 블록들 또는 이들의 일부들이 몇몇 실시예들에서는 동시에 수행될 수 있음을 인식할 것이다. 몇몇 예들에서, 다양한 블록들이 제거되거나, 부가적인 블록들로 분할되거나, 그리고/또는 다른 블록들과 결합될 수 있음을 또한 인식할 것이다. 이어서, 테이블이 테이블 내의 값들에 기반하여 임계치들을 결정하는 데 사용될 수 있다.
[0082] 도 4는 본 명세서에 설명된 하나 이상의 특징들을 구현하는 데 사용될 수 있는 예시적인 디바이스(400)의 블록 다이어그램이다. 일 예에서, 디바이스(400)는 컴퓨터 디바이스, 예컨대 서버 디바이스(예컨대, 도 1의 서버 디바이스(104))를 구현하는 데 사용되고, 본 명세서에 설명된 적절한 방법 구현들을 수행할 수 있다. 디바이스(400)는 임의의 적합한 컴퓨터 시스템, 서버, 또는 다른 전자 또는 하드웨어 디바이스일 수 있다. 예컨대, 디바이스(400)는, 메인프레임 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 휴대용 컴퓨터, 또는 전자 디바이스(휴대용 디바이스, 모바일 디바이스, 셀 폰, 스마트 폰, 태블릿 컴퓨터, 텔레비전, TV 셋탑 박스, 개인 휴대 정보 단말(PDA), 미디어 플레이어, 게임 디바이스, 웨어러블 디바이스 등)일 수 있다. 몇몇 구현들에서, 디바이스(400)는 프로세서(402), 메모리(404), 및 입력/출력(I/O) 인터페이스(406)를 포함한다.
[0083] 프로세서(402)는 프로그램 코드를 실행하고 디바이스(400)의 기본 동작들을 제어하기 위한 하나 이상의 프로세서들 및/또는 프로세싱 회로들일 수 있다. "프로세서"는 임의의 적합한 하드웨어 및/또는 소프트웨어 시스템, 데이터, 신호들 또는 다른 정보를 프로세싱하는 메커니즘 또는 컴포넌트를 포함한다. 프로세서는, 범용 중앙 프로세싱 유닛(CPU), 다수의 프로세싱 유닛들, 기능을 달성하기 위한 전용 회로, 또는 다른 시스템들을 가진 시스템을 포함할 수 있다. 프로세싱은 특정한 지리적 위치로 제한되거나 또는 시간적 제한들을 가질 필요가 없다. 예컨대, 프로세서는 "실시간"으로, "오프라인"으로, "배치(batch) 모드" 등으로 자신의 기능들을 수행할 수 있다. 프로세싱의 일부들은 상이한(또는 동일한) 프로세싱 시스템들에 의해 상이한 시간들에서 그리고 상이한 위치들에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다.
[0084] 메모리(404)는 통상적으로 프로세서(402)에 의한 액세스를 위해 디바이스(400)에서 제공되며, 프로세서에 의한 실행을 위한 명령들을 저장하기에 적합하고 프로세서(402)와 별개로 로케이팅되거나 그리고/또는 그와 통합되는 임의의 적합한 프로세서-판독가능 저장 매체, 예컨대, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 전기적으로 소거가능한 판독-전용 메모리(EEPROM), 플래시 메모리 등일 수 있다. 메모리(404)는, 프로세서(402)에 의해 서버 디바이스(400) 상에서 동작되는 소프트웨어를 저장할 수 있으며, 소프트웨어는 운영 시스템(408), 하나 이상의 애플리케이션들(410), 예컨대 그래픽 편집 엔진, 웹 호스팅 엔진, 소셜 네트워킹 엔진, 등 및 애플리케이션 데이터(420)를 포함한다. 몇몇 구현들에서, 애플리케이션들(410)은, 프로세서(402)가 본 명세서에서 설명된 기능들, 예컨대 도 2의 방법들 중 일부 또는 전부를 수행할 수 있게 하는 명령들을 포함할 수 있다.
[0085] 예컨대, 애플리케이션들(410)은, 본 명세서에 설명된 바와 같이, 예컨대, 사용자-선택가능한 엘리먼트들을 디스플레이하기 위해 사용자 입력에 대한 응답으로, 디스플레이된 사용자 인터페이스들을 제공하여, 이미지 보기, 조작, 공유, 및 다른 기능들을 제공할 수 있는 이미지 관리 애플리케이션(412)을 포함할 수 있다. 몇몇 구현들에서, 이미지 관리 애플리케이션(들)은, 사용자 입력을 수신하고, 입력 이미지들을 선택하고, (예컨대, 편집 동작들을 입력 이미지에 적용함으로써) 이미지들의 픽셀들을 수정하며, 디바이스(400)의 디스플레이 디바이스 상에 이미지들 및/또는 제안들의 디스플레이를 야기하는 출력을 제공하기 위한 이미지 편집을 포함할 수 있다. 다른 애플리케이션들 또는 엔진들(414)은 또한 또는 대안적으로, 애플리케이션(410), 예컨대 이메일 애플리케이션들, SMS 및 다른 폰 통신 애플리케이션들, 웹 브라우저 애플리케이션들, 미디어 디스플레이 애플리케이션들, 통신 애플리케이션들, 웹 호스팅 엔진 또는 애플리케이션, 소셜 네트워킹 엔진 또는 애플리케이션 등에 포함될 수 있다. 대안적으로, 메모리(404) 내의 소프트웨어 중 임의의 소프트웨어가 임의의 다른 적합한 저장 위치 또는 컴퓨터-판독가능 매체 상에 저장될 수 있다. 부가적으로, 메모리(404)(및/또는 다른 연결된 저장 디바이스(들))는 이미지들, 공유된 앨범 데이터, 공유 모델들, 사용자 데이터 및 선호도들, 및 본 명세서에 설명된 특징들에서 사용된 다른 명령들 및 데이터를 저장할 수 있다. 메모리(404) 및 임의의 다른 타입의 저장소(자기 디스크, 광학 디스크, 자기 테이프, 또는 다른 유형의(tangible) 미디어들)가 "저장소" 또는 "저장 디바이스"로 고려될 수 있다.
[0086] 예컨대, 애플리케이션 데이터(420)는 클러스터들(422) 및 하나 이상의 이미지들(424)을 포함할 수 있다. 예컨대, 클러스터들(422)은 사람들을 포함하는 클러스터들에 대한 클러스터 랭킹을 포함할 수 있다. 추가로, 클러스터들(422)은 위에서 설명된 바와 같은 중요도 스코어를 포함할 수 있다. 이미지들(424)은 복수의 이미지들 및 연관된 메타데이터를 포함할 수 있다. 예컨대, 디바이스(400)가 클라이언트 디바이스일 경우, 이미지들(424)은 클라이언트 디바이스의 카메라(도시되지 않음)에 의해 캡처된 이미지들일 수 있다. 다른 예에서, 디바이스(400)가 서버 디바이스일 경우, 이미지들(424)은 서버에 저장된(예컨대, 클라이언트 디바이스로부터 서버로 업로딩된) 이미지들일 수 있다. 몇몇 구현들에서, 이미지 메타데이터는 이미지들(424)과 함께 또는 별개로 저장될 수 있다.
[0087] I/O 인터페이스(406)는 서버 디바이스(400)를 다른 시스템들 및 디바이스들과 인터페이싱하는 것을 가능하게 하기 위한 기능들을 제공할 수 있다. 예컨대, 네트워크 통신 디바이스들, 저장 디바이스들(예컨대, 메모리 및/또는 데이터베이스(106)), 및 입력/출력 디바이스들은 인터페이스(406)를 통해 통신할 수 있다. 몇몇 구현들에서, I/O 인터페이스는, 입력 디바이스들(키보드, 포인팅 디바이스, 터치스크린, 마이크로폰, 카메라, 스캐너 등) 및/또는 출력 디바이스들(디스플레이 디바이스, 스피커 디바이스들, 프린터, 모터 등)을 포함하는 인터페이스 디바이스들에 연결될 수 있다. 디스플레이 디바이스(430)는 콘텐츠, 예컨대, 본 명세서에 설명된 바와 같이 이미지 공유 인터페이스 또는 다른 애플리케이션에서 제공된 하나 이상의 이미지들을 디스플레이하는 데 사용될 수 있는 출력 디바이스의 일 예이다. 디스플레이 디바이스(430)는 로컬 연결들(예컨대, 디스플레이 버스)를 통해 그리고/또는 네트워킹된 연결들을 통해 디바이스(400)에 연결될 수 있고 임의의 적합한 디스플레이 디바이스일 수 있으며, 그들의 몇몇 예들이 아래에서 설명된다.
[0088] 예시의 용이함을 위해, 도 4는 프로세서(402), 메모리(404), I/O 인터페이스(406), 및 소프트웨어 블록들(408 및 410) 각각에 대한 하나의 블록을 도시한다. 이들 블록들은 하나 이상의 프로세서들 또는 프로세싱 회로들, 운영 시스템들, 메모리들, I/O 인터페이스들, 애플리케이션들, 및/또는 소프트웨어 모듈들을 표현할 수 있다. 다른 구현들에서, 디바이스(400)는 도시된 컴포넌트들 전부를 갖지는 않을 수 있고 그리고/또는 본 명세서에 도시된 것들 대신 또는 그에 부가하여 다른 타입들의 엘리먼트들을 포함하는 다른 엘리먼트들을 가질 수 있다. 서버 시스템(102)이 본 명세서의 몇몇 구현들에서 설명된 바와 같이 동작들을 수행하는 것으로 설명되지만, 시스템(102) 또는 유사한 시스템의 컴포넌트들 중 임의의 적합한 컴포넌트 또는 그들의 조합, 또는 그러한 시스템과 연관된 임의의 적합한 프로세서 또는 프로세서들이 설명된 동작들을 수행할 수 있다.
[0089] 클라이언트 디바이스는 또한, 본 명세서에 설명된 특징들, 예컨대 도 1에 도시된 클라이언트 디바이스들(120 내지 126)을 구현하고 그리고/또는 그들과 함께 사용될 수 있다. 예시적인 클라이언트 디바이스들은 디바이스(400), 예컨대 프로세서(들)(402), 메모리(404), 및 I/O 인터페이스(406)와 일부 유사한 컴포넌트들을 포함하는 컴퓨터 디바이스들일 수 있다. 클라이언트 디바이스에 적합한 운영 시스템, 소프트웨어 및 애플리케이션들은 메모리에서 제공되며, 프로세서, 예컨대 이미지 관리 소프트웨어, 클라이언트 그룹 통신 애플리케이션 소프트웨어 등에 의해 사용될 수 있다. 클라이언트 디바이스에 대한 I/O 인터페이스는 네트워크 통신 디바이스들 뿐만 아니라 입력 및 출력 디바이스들, 예컨대, 사운드를 캡처하기 위한 마이크로폰, 이미지들 또는 비디오를 캡처하기 위한 카메라, 사운드를 출력하기 위한 오디오 스피커 디바이스들, 이미지들 또는 비디오를 출력하기 위한 디스플레이 디바이스, 또는 다른 출력 디바이스들에 연결될 수 있다. 예컨대, 디스플레이 디바이스(430)는 본 명세서에 설명된 바와 같이 사전-프로세싱 및 사후-프로세싱한 이미지들을 디스플레이하기 위해 디바이스(400)에 연결(또는 그에 포함)될 수 있으며, 여기서, 그러한 디스플레이 디바이스는 임의의 적합한 디스플레이 디바이스, 예컨대, LCD, LED, 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치스크린, 3-D 디스플레이 스크린, 프로젝터, 또는 다른 시각적 디스플레이 디바이스를 포함할 수 있다. 몇몇 구현들은 오디오 출력 디바이스, 예컨대 텍스트를 말하는 음성 출력 또는 합성물을 제공할 수 있다.
[0090] 도 5는 몇몇 구현들에 따른, 하나 이상의 이미지들에 대한 공유 제안을 제공하기 위한 사용자 인터페이스(500)의 일 예의 도식적 예시이다. 사용자 인터페이스(500)는 섬네일(thumbnail) 이미지들(502, 504, 506, 508, 및 510)을 포함한다. 예컨대, 이미지들(502 내지 510)은, 주어진 사용자에게 중요한 것으로 결정된 사람과 연관된 이미지들로서 식별되는 복수의 이미지들에 대응하는 섬네일일 수 있으며, 여기서, 중요도는 본 명세서에 설명된 바와 같이 결정된다. 도 5가 5개의 이미지들(502 내지 510)을 도시하지만, 다양한 구현들에서, 임의의 수의 이미지들이 사용자 인터페이스(500)에 포함될 수 있다. 몇몇 구현들, 예컨대 이미지 프리뷰를 포함하지 않는 구현들에서, 섬네일 이미지들(502 내지 510)은 사용자 인터페이스(500)에 포함되지 않을 수 있다. 몇몇 구현들에서, 이미지들에 관한 정보, 예컨대, 촬영된 사람들, 타임스탬프, 위치, 라벨들 등이 섬네일들(502 내지 510)에 부가하여 또는 대안적으로 디스플레이될 수 있다.
[0091] 사용자 인터페이스(500)는 텍스트(520), 즉 "어제로부터 제인의 이들 이미지들을 가진 앨범을 공유하시겠습니까?"를 더 포함한다. 몇몇 구현들에서, 이미지들(예컨대, 이미지들(502 내지 510)) 중 하나 이상의 이미지들에서 촬영된 사람은 (예컨대, 도 2 및 도 3을 참조하여 위에서 설명된 바와 같이) 최상위 랭킹 사람 클러스터와 매칭할 수 있으며, 텍스트(520) 중 하나 이상의 부분들은 제1 클러스터에 기반할 수 있다. 예컨대, 도 5에 도시된 바와 같이, 부분은, 예컨대 텍스트 "제인"이 최상위 랭킹 사람 클러스터와 연관되면 "제인"일 수 있다. 몇몇 구현들에서, 텍스트(520)가 생략될 수 있다. 몇몇 구현들에서, 사용자들이 이미지 데이터의 사용에 동의할 경우, 텍스트(520)는 하나 이상의 부가적인 부분들, 예컨대 복수의 이미지들(예컨대, 이미지들(502 내지 510)) 중 하나 이상의 이미지들과 연관된 데이터, 예컨대 이미지 메타데이터, 예컨대 위치, 타임스탬프 등에 기반하는 "어제로부터"를 포함할 수 있다. 몇몇 구현들에서, 텍스트(520)는 공유될 구성의 타입, 예컨대 "앨범"을 표시할 수 있다. 몇몇 구현들에서, 텍스트(520)는 디폴트 텍스트, 예컨대 "당신은 이들 메시지들을 공유하기를 원합니까?"를 포함하며, 제1 클러스터 및/또는 복수의 이미지들과 연관된 데이터에 기반한 부분들을 포함하지 않을 수 있다.
[0092] 사용자 인터페이스(500)는 하나 이상의 엘리먼트들(522)("제이슨", "테레사", "캐서린", "다른 사람들")을 더 포함한다. 몇몇 구현들에서, 엘리먼트들(522)은 사용자-선택가능할 수 있으며, 예컨대, 사용자들은, 이미지 구성이 엘리먼트(522)에 대응하는 사용자(예컨대, "제이슨")와 공유될지 여부를 표시하기 위한 엘리먼트를 선택할 수 있다. 몇몇 구현들에서, 사용자 엘리먼트(522)(예컨대, "다른 사람들")는 선택될 경우, 예컨대 이미지 구성이 공유될 부가적인 사용자들을 선택하기 위한 부가적인 옵션들을 제시할 수 있다. 몇몇 구현들에서, 엘리먼트들(522)은 이미지들(502 내지 510)과 연관된 사람 클러스터에 기반하여 선택될 수 있다. 예컨대, 엘리먼트들(522)은, 이미지들(502 내지 510)과 연관된 (예컨대, 이미지들에서 나타난, 이미지들 중 하나 이상의 이미지들을 포함하는 클러스터와 연관되는 등) 사용자 "제이슨"을 포함하도록 선택될 수 있다. 몇몇 구현들에서, 엘리먼트들(522)은 다른 사용자들에 대응하는 엘리먼트들 대신 또는 그들에 부가하여 공유 양식(modality)들(예컨대, 이메일, 소셜 네트워크, 인스턴트 메시지, 웹사이트 등)을 참조할 수 있다. 몇몇 구현들에서, 공유 양식들 중 하나 이상이 디폴트로서 표시될 수 있으며, 예컨대, 사용자가 이전의 공유 거동의 분석을 허용할 경우, 사용자가 이메일을 사용하여 이미지들을 이전에 공유했던 것에 기반하여, 이메일이 디폴트로서 표시될 수 있다. 몇몇 구현들에서, 사용자 인터페이스(500)는 사진 또는 이미지 관리 애플리케이션의 일부로서 디스플레이될 수 있다. 몇몇 구현들에서, 사용자 인터페이스(500)는 통지로서, 예컨대 제안 카드로서 디스플레이될 수 있다.
[0093] 사용자 인터페이스(500)는 또한, 사용자-선택가능한 엘리먼트들(524("예") 및 526("아니오"))을 포함한다. 몇몇 구현들에서, 하나 이상의 이미지들은, 사용자 입력(예컨대, 사용자-선택가능한 엘리먼트(524)의 선택)을 수신하는 것에 대한 응답으로 공유될 수 있거나, 또는 사용자 입력(예컨대, 사용자-선택가능한 엘리먼트(526)의 선택)을 수신하는 것에 대한 응답으로 공유되지 않을 수 있다. 몇몇 구현들에서, 예컨대, 사용자가 이미지들의 자동 공유를 위한 선호도를 표시하면, 이미지(들)는 자동으로 공유될 수 있으며, 사용자-선택가능한 엘리먼트들(524 및 526)은 생략될 수 있다.
[0094] 상이한 구현들에서, 사용자 인터페이스(500)는 (예컨대, 도 5에 예시된 바와 같이) 다양한 상이한 사용자 인터페이스 컴포넌트들을 포함할 수 있다. 몇몇 구현들에서, 하나 이상의 사용자 인터페이스 컴포넌트들은 생략될 수 있거나, 또는 도 5에 도시되지 않은 부가적인 컴포넌트들이 포함될 수 있다.
[0095] 본 명세서에 설명된 하나 이상의 방법들(예컨대, 방법(200 또는 300))은 컴퓨터 상에서 실행될 수 있는 컴퓨터 프로그램 명령들 또는 코드에 의해 구현될 수 있다. 예컨대, 코드는 하나 이상의 디지털 프로세서들(예컨대, 마이크로프로세서들 또는 다른 프로세싱 회로)에 의해 구현될 수 있으며, 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 착탈형 컴퓨터 디스크, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 플래시 메모리, 강성 자기 디스크, 광학 디스크, 솔리드-스테이트 메모리 드라이브 등을 포함하는 비-일시적인 컴퓨터 판독가능 매체(예컨대, 저장 매체), 예컨대 자기, 광학, 전자기, 또는 반도체 저장 매체를 포함하는 컴퓨터 프로그램 제품 상에 저장될 수 있다. 프로그램 명령들은 또한, 예컨대, 서버(예컨대, 분산형 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달된 SaaS(software as a service)의 형태로 전자 신호에 포함될 수 있고, 전자 신호로서 제공될 수 있다. 대안적으로, 하나 이상의 방법들은 하드웨어(로직 게이트들 등)로 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예시적인 하드웨어는 프로그래밍가능 프로세서들(예컨대, 필드-프로그래밍가능 게이트 어레이(FPGA), 복합 프로그래밍가능 로직 디바이스), 범용 프로세서들, 그래픽 프로세서들, 주문형 집적 회로(ASIC)들 등일 수 있다. 하나 이상의 방법들은, 시스템 상에서 구동되는 애플리케이션의 일부 또는 컴포넌트로서, 또는 다른 애플리케이션들 및 운영 시스템과 함께 구동되는 애플리케이션 또는 소프트웨어로서 수행될 수 있다.
[0096] 본 명세서에 설명된 하나 이상의 방법들은, 임의의 타입의 컴퓨팅 디바이스 상에서 구동될 수 있는 독립형 프로그램, 웹 브라우저 상에서 구동되는 프로그램, 모바일 컴퓨팅 디바이스(예컨대, 셀 폰, 스마트 폰, 태블릿 컴퓨터, 웨어러블 디바이스(손목시계, 암밴드, 장신구, 헤드기어, 고글들, 안경 등), 랩톱 컴퓨터 등) 상에서 구동되는 모바일 애플리케이션("앱")에서 구동될 수 있다. 일 예에서, 클라이언트/서버 아키텍처가 사용될 수 있으며, 예컨대, 모바일 컴퓨팅 디바이스는 (클라이언트 디바이스로서) 사용자 입력 데이터를 서버 디바이스에 전송하고, 출력을 위해(예컨대, 디스플레이를 위해) 최종 출력 데이터를 서버로부터 수신한다. 다른 예에서, 모든 연산들이 모바일 컴퓨팅 디바이스 상의 모바일 앱(및/또는 다른 앱들) 내에서 수행될 수 있다. 다른 예에서, 연산들은 모바일 컴퓨팅 디바이스와 하나 이상의 서버 디바이스들 사이에 분할될 수 있다.
[0097] 설명이 설명의 특정한 구현들에 관해 설명되었지만, 이들 특정한 구현들은 제한이 아니라 단지 예시적일 뿐이다. 예들에 예시된 개념들은 다른 예들 및 구현들에 적용될 수 있다.
[0098] 이미지들에서 촬영된 사람들의 분석에 기반하여 공유 제안을 생성하는 속성으로 인해, 본 명세서에 개시된 구현들은 사용자 데이터, 이를테면 관련 사용자들의 이미지들 및 현재의, 이력 또는 미래의 이미지 공유 액션들에 대한 액세스를 요구할 수 있다. 본 명세서에서 개시된 특정한 구현들이 사용자들에 관한 개인 정보(예컨대, 사용자 데이터, 사용자 이미지 데이터, 이미지 공유 데이터, 사용자의 소셜 네트워크에 관한 정보, 사용자의 위치 및 시간, 사용자의 생체인식 정보, 사용자의 활동들 및 인적(demographic) 정보)를 수집 또는 사용할 수 있는 상황들에서, 사용자들에게는, 개인 정보가 수집되는지 여부, 개인 정보가 저장되는지 여부, 개인 정보가 사용되는지 여부, 및 사용자에 관한 정보가 어떻게 수집, 저장 및 사용되는지를 제어하기 위한 하나 이상의 기회들이 제공된다. 즉, 본 명세서에서 논의되는 시스템들 및 방법들은, 구체적으로는 관련 사용자들로부터 이를 행하기 위한 명시적인 인가를 수신할 시에 사용자 개인 정보를 수집, 저장, 및/또는 사용한다. 부가적으로, 특정한 데이터는 그것이 저장 또는 사용되기 전에 개인 식별가능 정보가 제거되도록 하나 이상의 방식들로 처리될 수 있다(예컨대, 공유 제안 시스템은 개인 식별가능 정보, 이를테면 이름 또는 사용자 이름 이외의 특징들에 의해 중요한 사람들을 익명으로 식별할 수 있음). 일 예로서, 어떠한 개인 식별가능 정보도 결정될 수 없도록 사용자의 아이덴티티가 처리될 수 있다. 다른 예로서, 사용자의 특정 위치가 결정될 수 없도록 사용자의 지리적 위치 또는 사용자 이미지들과 연관된 위치는 더 큰 구역으로 일반화될 수 있다.
본 개시내용에 설명된 기능 블록들, 동작들, 특징들, 방법들, 디바이스들, 및 시스템들은 당업자들에게 알려진 바와 같이, 통합되거나 또는 시스템들, 디바이스들, 및 기능 블록들의 상이한 조합들로 분할될 수 있음을 유의한다. 임의의 적합한 프로그래밍 언어 및 프로그래밍 기법들이 특정한 구현들의 루틴들을 구현하기 위해 사용될 수 있다. 상이한 프로그래밍 기법들, 예컨대 절차적 또는 객체-지향적인 기법들이 이용될 수 있다. 루틴들은 단일 프로세싱 디바이스 또는 다수의 프로세서들 상에서 실행될 수 있다. 단계들, 동작들, 또는 연산들이 특정 순서로 제시될 수 있지만, 순서는 상이한 특정 구현들에서 변경될 수 있다. 몇몇 구현들에서, 본 명세서에서 순차적인 것으로 나타낸 다수의 단계들 또는 동작들은 동시에 수행될 수 있다.
Claims (20)
- 이미지에서 하나 이상의 얼굴들로부터 가장 높은 중요도를 갖는 얼굴을 식별하기 위해 상기 이미지에 대응하는 픽셀들의 세트를 분석함으로써 상기 이미지와 연관된 하나 이상의 사람 클러스터들을 결정하는 단계 ― 상기 가장 높은 중요도를 갖는 얼굴은, 상기 픽셀들의 세트로부터의, 상기 얼굴과 연관된 일정 수의 픽셀들에 의해 측정되고, 상기 하나 이상의 사람 클러스터들 중 적어도 제1 클러스터는 상기 이미지와 연관된 사용자 계정의 최상위 랭킹(top ranked) 클러스터임 ―;
확률 모델에 기반하여 상기 사용자 계정과 연관된 사용자가 상기 이미지를 공유할 확률을 표현하는 공유 확률 스코어를 결정하는 단계;
상기 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 단계; 및
상기 공유 확률 스코어가 상기 임계치를 충족시킨다고 결정하는 것에 대한 응답으로, 상기 이미지를 공유하기 위한 제안을 상기 사용자 계정과 연관된 상기 사용자에게 제공하는 단계를 포함하는, 컴퓨터로 구현되는 방법. - 제1항에 있어서,
상기 사용자 계정은 상기 사용자 계정과 연관된 복수의 이미지들을 갖고,
상기 복수의 이미지들의 각각의 이미지는 상기 하나 이상의 사람 클러스터들 중 적어도 하나의 클러스터와 연관되고, 그리고
상기 하나 이상의 사람 클러스터들은, 개개의 클러스터 내의 이미지들에 대한 얼굴 품질, 상기 개개의 클러스터의 시간 기간들의 카운트, 상기 개개의 클러스터와 연관된 이미지들의 카운트, 상기 개개의 클러스터와 연관된 이미지들의 최근성(recency), 및 상기 개개의 클러스터에 대한 이름 라벨 중 하나 이상에 기반하는 개개의 클러스터 랭크 값들과 연관되는, 컴퓨터로 구현되는 방법. - 제1항에 있어서,
상기 하나 이상의 사람 클러스터들을 결정하는 단계는, 상기 이미지에서 상기 하나 이상의 얼굴들로부터 상기 얼굴을 식별하기 위해 안면 인식 기법을 적용하는 단계를 포함하고,
상기 하나 이상의 얼굴들은 개개의 사람에 대응하는, 컴퓨터로 구현되는 방법. - 제3항에 있어서,
상기 임계치는, 상기 사용자 계정의 구성 및 상기 하나 이상의 얼굴들의 중요도 스코어 중 하나 이상에 기반하는, 컴퓨터로 구현되는 방법. - 제1항에 있어서,
상기 하나 이상의 사람 클러스터들의 개개의 사람 클러스터에 할당되는 랭크에 따라 상기 하나 이상의 사람 클러스터들을 랭킹(rank)하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법. - 제1항에 있어서,
상기 사용자 계정에 대한 계정 사이즈를 결정하는 단계; 및
상기 계정 사이즈에 기반하여 상기 공유 확률 스코어를 정규화하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법. - 제6항에 있어서,
상기 계정 사이즈를 결정하는 단계는, 상기 사용자 계정과 연관된 이미지들의 카운트를 결정하는 단계를 포함하는, 컴퓨터로 구현되는 방법. - 제6항에 있어서,
상기 공유 확률 스코어를 정규화하는 단계는, 상기 계정 사이즈의 사용자 계정들의 이미지들에 대한 확률 스코어들의 합을 상기 계정 사이즈의 상기 사용자 계정들의 카운트로 나눔으로써 계산된 인자와 상기 공유 확률 스코어를 곱하는 단계를 포함하는, 컴퓨터로 구현되는 방법. - 제1항에 있어서,
상기 확률 모델은, 복수의 사용자 계정들로부터의 공유 데이터로부터 학습되고, 그리고 상기 복수의 사용자 계정들 각각에 대해, 주어진 이미지가 공유될 제1 확률, 공유된 이미지가 적어도 하나의 최상위 클러스터를 포함할 제2 확률, 및 상기 주어진 이미지가 적어도 하나의 최상위 랭킹 클러스터를 포함할 제3 확률에 기반하는, 컴퓨터로 구현되는 방법. - 명령들이 저장된 비-일시적인 컴퓨터 판독가능 매체에 커플링된 하나 이상의 프로세서들을 포함하고,
상기 명령들은, 상기 하나 이상의 프로세서들에 의해 실행될 경우, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하고,
상기 동작들은:
이미지에서 하나 이상의 얼굴들로부터 가장 높은 중요도를 갖는 얼굴을 식별하기 위해 상기 이미지에 대응하는 픽셀들의 세트를 분석함으로써 상기 이미지와 연관된 하나 이상의 사람 클러스터들을 결정하는 동작 ― 상기 가장 높은 중요도를 갖는 얼굴은, 상기 픽셀들의 세트로부터의, 상기 얼굴과 연관된 일정 수의 픽셀들에 의해 측정되고, 상기 하나 이상의 사람 클러스터들 중 적어도 제1 클러스터는 사용자 계정의 최상위 랭킹 클러스터임 ―;
확률 모델에 기반하여 상기 사용자 계정과 연관된 사용자가 상기 이미지를 공유할 확률을 표현하는 공유 확률 스코어를 결정하는 동작;
상기 공유 확률 스코어가 임계치를 충족시킨다고 결정하는 동작; 및
상기 공유 확률 스코어가 상기 임계치를 충족시킨다고 결정하는 것에 대한 응답으로, 상기 이미지를 공유하기 위한 제안을 상기 사용자 계정과 연관된 상기 사용자에게 제공하는 동작을 포함하는, 시스템. - 제10항에 있어서,
상기 사용자 계정은 상기 사용자 계정과 연관된 복수의 이미지들을 갖고,
상기 복수의 이미지들의 각각의 이미지는 상기 하나 이상의 사람 클러스터들 중 적어도 하나의 클러스터와 연관되고, 그리고
상기 하나 이상의 사람 클러스터들은, 개개의 클러스터 내의 이미지들에 대한 얼굴 품질, 상기 개개의 클러스터의 시간 기간들의 카운트, 상기 개개의 클러스터와 연관된 이미지들의 카운트, 상기 개개의 클러스터와 연관된 이미지들의 최근성, 및 상기 개개의 클러스터에 대한 이름 라벨 중 하나 이상에 기반하는 개개의 클러스터 랭크 값들과 연관되는, 시스템. - 제10항에 있어서,
상기 동작들은:
상기 사용자 계정에 대한 계정 사이즈를 결정하는 동작; 및
상기 계정 사이즈에 기반하여 상기 공유 확률 스코어를 정규화하는 동작을 더 포함하는, 시스템. - 제12항에 있어서,
상기 공유 확률 스코어를 정규화하는 동작은, 상기 계정 사이즈의 사용자 계정들의 이미지들에 대한 확률 스코어들의 합을 상기 계정 사이즈의 상기 사용자 계정들의 카운트로 나눔으로써 계산된 인자와 상기 공유 확률 스코어를 곱하는 동작을 포함하는, 시스템. - 제10항에 있어서,
상기 확률 모델은, 복수의 사용자 계정들로부터의 공유 데이터로부터 학습되고, 그리고 각각의 사용자 계정에 대해, 주어진 이미지가 공유될 제1 확률, 공유된 이미지가 적어도 하나의 최상위 클러스터를 포함할 제2 확률, 및 상기 주어진 이미지가 적어도 하나의 최상위 랭킹 클러스터를 포함할 제3 확률에 기반하는, 시스템. - 사용자 계정과 연관된 이미지 계정 정보를 획득하는 단계;
각각의 이미지에서 하나 이상의 얼굴들로부터 가장 높은 중요도를 갖는 얼굴을 식별하기 위해 상기 이미지에 대응하는 픽셀들의 세트를 분석함으로써 이미지들과 연관된 하나 이상의 사람 클러스터들을 결정하는 단계 ― 상기 가장 높은 중요도를 갖는 얼굴은, 상기 픽셀들의 세트로부터의, 상기 얼굴과 연관된 일정 수의 픽셀들에 의해 측정됨 ―;
상기 하나 이상의 사람 클러스터들 내의 이미지들에 대한 개개의 중요도 스코어들을 결정하는 단계;
상기 개개의 중요도 스코어들에 기반하여 임계치를 결정하는 단계; 및
상기 임계치에 기반하여 이미지 공유 제안들을 결정하기 위한 확률 모델을 제공하는 단계를 포함하는, 컴퓨터로 구현되는 방법. - 제15항에 있어서,
상기 하나 이상의 사람 클러스터들 내의 이미지들이 상기 사용자 계정으로부터 공유될 확률을 결정하는 단계를 더 포함하고,
상기 확률은, 개개의 사람 클러스터와 연관된 사람의 중요도의 상대적인 측정을 표현하는 중요도 스코어에 기반하는, 컴퓨터로 구현되는 방법. - 제16항에 있어서,
상기 사용자 계정과 연관된 사용자가 상기 하나 이상의 사람 클러스터들 내의 이미지들을 공유할 확률은, 상기 사용자가 이미지를 공유할 확률, 상기 이미지들이 공유되는 경우 상기 이미지들 중 하나가 퍼센테일(percentile) 내에서 적어도 하나의 사람 클러스터를 포함할 확률, 및 상기 이미지들이 주어진 퍼센테일 내에서 적어도 하나의 사람 클러스터를 포함할 확률에 기반하는, 컴퓨터로 구현되는 방법. - 제15항에 있어서,
개개의 중요도 스코어들은, 상기 사용자 계정의 사이즈, 및 상기 사용자 계정의 사이즈와 유사한 개개의 계정 사이즈들을 가진 계정들을 갖는 사용자들의 세트에 기반하여 결정되는, 컴퓨터로 구현되는 방법. - 제18항에 있어서,
상기 사용자 계정의 사이즈는, 상기 사용자 계정 내의 이미지들의 카운트로서 측정되는, 컴퓨터로 구현되는 방법. - 제15항에 있어서,
상기 하나 이상의 사람 클러스터들을 결정하는 단계는, 각각의 이미지에서 하나 이상의 얼굴들을 식별하기 위해 안면 인식 기법을 적용하는 단계를 포함하고,
상기 하나 이상의 얼굴들은 개개의 사람에 대응하는, 컴퓨터로 구현되는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/476,631 US10394881B2 (en) | 2017-03-31 | 2017-03-31 | Automatic suggestions to share images |
US15/476,631 | 2017-03-31 | ||
PCT/US2017/059403 WO2018182787A1 (en) | 2017-03-31 | 2017-10-31 | Automatic suggestions to share images |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190084278A KR20190084278A (ko) | 2019-07-16 |
KR102246241B1 true KR102246241B1 (ko) | 2021-04-28 |
Family
ID=60655044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197016426A KR102246241B1 (ko) | 2017-03-31 | 2017-10-31 | 이미지들을 공유하기 위한 자동 제안들 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10394881B2 (ko) |
JP (1) | JP6858865B2 (ko) |
KR (1) | KR102246241B1 (ko) |
CN (1) | CN110476182B (ko) |
WO (1) | WO2018182787A1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830727B2 (en) * | 2015-07-30 | 2017-11-28 | Google Inc. | Personalizing image capture |
CN106095465B (zh) * | 2016-06-23 | 2019-12-27 | 北京小米移动软件有限公司 | 设置身份图像的方法及装置 |
US10356027B2 (en) | 2016-10-03 | 2019-07-16 | HYP3R Inc | Location resolution of social media posts |
US10706265B2 (en) * | 2017-07-28 | 2020-07-07 | Qualcomm Incorporated | Scanning a real-time media stream to detect one or more faces that are prevalent among a set of media files stored on a user equipment |
KR102445631B1 (ko) * | 2018-03-06 | 2022-09-21 | 후지필름 가부시키가이샤 | 적층체의 제조 방법 |
US10769101B2 (en) * | 2018-08-23 | 2020-09-08 | Oath Inc. | Selective data migration and sharing |
US20200067975A1 (en) * | 2018-08-27 | 2020-02-27 | Box, Inc. | Ransomware remediation in collaboration environments |
US10621473B1 (en) * | 2019-01-30 | 2020-04-14 | StradVision, Inc. | Method for providing object detecting system capable of updating types of detectable classes in real-time by using continual learning and devices using the same |
US10635918B1 (en) * | 2019-01-30 | 2020-04-28 | StradVision, Inc. | Method and device for managing smart database for face recognition based on continual learning |
CN110008999B (zh) * | 2019-03-07 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 目标帐号的确定方法、装置、存储介质及电子装置 |
US11256907B2 (en) * | 2019-10-25 | 2022-02-22 | Adobe Inc. | Classification of subjects within a digital image |
EP3895065A1 (en) * | 2019-12-13 | 2021-10-20 | Google LLC | Personalized automatic video cropping |
KR20210130583A (ko) * | 2020-04-22 | 2021-11-01 | 라인플러스 주식회사 | 인스턴트 메시징 애플리케이션을 통해 콘텐츠를 공유하는 방법 및 시스템 |
WO2021244287A1 (en) * | 2020-06-01 | 2021-12-09 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method and system for instant sharing of media |
CN112153288B (zh) * | 2020-09-25 | 2023-10-13 | 北京字跳网络技术有限公司 | 用于发布视频或图像的方法、装置、设备和介质 |
US20220414396A1 (en) * | 2021-06-28 | 2022-12-29 | International Business Machines Corporation | Image dispositioning using machine learning |
US20230376168A1 (en) * | 2022-05-10 | 2023-11-23 | Apple Inc. | User interfaces for managing media libraries |
US20240233445A1 (en) * | 2023-01-09 | 2024-07-11 | Xailient | Systems and methods for image privacy |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170093780A1 (en) * | 2015-09-28 | 2017-03-30 | Google Inc. | Sharing images and image albums over a communication network |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668405B2 (en) * | 2006-04-07 | 2010-02-23 | Eastman Kodak Company | Forming connections between image collections |
US8345934B2 (en) | 2010-07-19 | 2013-01-01 | Telefonica, S.A. | Method for automatic storytelling for photo albums using social network context |
US10089327B2 (en) * | 2011-08-18 | 2018-10-02 | Qualcomm Incorporated | Smart camera for sharing pictures automatically |
US9122912B1 (en) | 2012-03-15 | 2015-09-01 | Google Inc. | Sharing photos in a social network system |
CN102663010A (zh) * | 2012-03-20 | 2012-09-12 | 复旦大学 | 基于标注语义的个性化图像浏览与推荐方法及*** |
US8688782B1 (en) * | 2012-05-22 | 2014-04-01 | Google Inc. | Social group suggestions within a social network |
US9325783B2 (en) * | 2013-08-07 | 2016-04-26 | Google Inc. | Systems and methods for inferential sharing of photos |
US9405964B1 (en) * | 2013-09-09 | 2016-08-02 | Amazon Technologies, Inc. | Processes for generating content sharing recommendations based on image content analysis |
JP2015141530A (ja) * | 2014-01-28 | 2015-08-03 | ソニー株式会社 | 情報処理装置、スコア算出方法、プログラム、およびシステム |
US20150319217A1 (en) * | 2014-04-30 | 2015-11-05 | Motorola Mobility Llc | Sharing Visual Media |
JP2016051980A (ja) * | 2014-08-29 | 2016-04-11 | 株式会社ニコン | 画像共有サーバ、画像共有システム、及び撮像装置 |
US11070501B2 (en) * | 2017-01-31 | 2021-07-20 | Verizon Media Inc. | Computerized system and method for automatically determining and providing digital content within an electronic communication system |
-
2017
- 2017-03-31 US US15/476,631 patent/US10394881B2/en active Active
- 2017-10-31 KR KR1020197016426A patent/KR102246241B1/ko active IP Right Grant
- 2017-10-31 CN CN201780081793.6A patent/CN110476182B/zh active Active
- 2017-10-31 WO PCT/US2017/059403 patent/WO2018182787A1/en active Application Filing
- 2017-10-31 JP JP2019535393A patent/JP6858865B2/ja active Active
-
2019
- 2019-08-20 US US16/546,259 patent/US10872112B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170093780A1 (en) * | 2015-09-28 | 2017-03-30 | Google Inc. | Sharing images and image albums over a communication network |
Also Published As
Publication number | Publication date |
---|---|
US20200042550A1 (en) | 2020-02-06 |
CN110476182B (zh) | 2023-07-04 |
US10394881B2 (en) | 2019-08-27 |
US20180285357A1 (en) | 2018-10-04 |
WO2018182787A1 (en) | 2018-10-04 |
CN110476182A (zh) | 2019-11-19 |
JP6858865B2 (ja) | 2021-04-14 |
US10872112B2 (en) | 2020-12-22 |
JP2020504877A (ja) | 2020-02-13 |
KR20190084278A (ko) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102246241B1 (ko) | 이미지들을 공유하기 위한 자동 제안들 | |
US10885380B2 (en) | Automatic suggestion to share images | |
US10896478B2 (en) | Image grid with selectively prominent images | |
US11563916B2 (en) | Optimizing video conferencing using contextual information | |
US11829404B2 (en) | Functional image archiving | |
EP3568787B1 (en) | Automatic image sharing with designated users over a communication network | |
CN107710197B (zh) | 在通信网络上共享图像和图像相册 | |
US10728352B2 (en) | Managing digital forums and networking groups utilizing a group activity indicator | |
US20180082313A1 (en) | Systems and methods for prioritizing user reactions to content for response on a social-media platform | |
CN113168230A (zh) | 用于管理与三维对象相关联的数据的智能代理 | |
US20180182141A1 (en) | Dynamic mask application | |
KR101686830B1 (ko) | 온라인 소셜 네트워크 상의 이미지를 위한 태그 제안 | |
JP7158478B2 (ja) | 画像選択提案 | |
US20130124539A1 (en) | Personal relevancy content resizing | |
US10755487B1 (en) | Techniques for using perception profiles with augmented reality systems | |
JP2015531119A (ja) | 広告ターゲティングのための否定的なシグナル | |
US11557093B1 (en) | Using social connections to define graphical representations of users in an artificial reality setting | |
JP2023089048A (ja) | パーソナライズされた自動ビデオクロッピング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |