JP2023548906A - Determining visual themes within media item collections - Google Patents

Determining visual themes within media item collections Download PDF

Info

Publication number
JP2023548906A
JP2023548906A JP2023528144A JP2023528144A JP2023548906A JP 2023548906 A JP2023548906 A JP 2023548906A JP 2023528144 A JP2023528144 A JP 2023528144A JP 2023528144 A JP2023528144 A JP 2023528144A JP 2023548906 A JP2023548906 A JP 2023548906A
Authority
JP
Japan
Prior art keywords
media item
media
subset
clusters
cluster
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2023528144A
Other languages
Japanese (ja)
Inventor
ボール,クリスティーナ
オロペザ,イバン
バーグ,リリー
グ,トレイシー
シュライバー,イーサン
ジャン,シャンフォン
ジョウ,ハワード
ヘンドン,デイビッド
リー,ジェン
ポン,フータン
コ,テレサ
チャン,ジェイソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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
Priority claimed from US17/509,767 external-priority patent/US12008057B2/en
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023548906A publication Critical patent/JP2023548906A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/75Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

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

Abstract

メディアアプリケーションは、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。メディアアイテムコレクションは、ユーザアカウントに関連付けられる。メディアアプリケーションは、類似度閾値の範囲内の視覚的類似度を有する各クラスタ内のメディアアイテムに基づいて、対応するメディアアイテムクラスタからメディアクラスタのサブセットを選択する。メディアアプリケーションは、メディアクラスタのサブセットを含むユーザインターフェイスを表示する。A media application determines media item clusters such that media items within each cluster have visual similarities based on pixels of images or videos from the media item collection. Media item collections are associated with user accounts. The media application selects a subset of media clusters from the corresponding media item clusters based on media items in each cluster that have a visual similarity within a similarity threshold. A media application displays a user interface that includes a subset of media clusters.

Description

関連出願の参照
本願は、2021年3月11日に出願され、「メディアアイテムコレクション内のピクセルからの視覚テーマの決定」と題された米国特許仮出願第63/187390号および2021年5月17日に出願され、「メディアアイテムコレクション内のピクセルからの視覚テーマの決定」と題された米国特許仮出願第63/189658号の両方の優先権を主張する、2021年10月25日に出願され、「メディアアイテムコレクション内の視覚テーマの決定」と題された米国特許出願第17/509767号の優先権を主張し、各出願の全体が本明細書に組み込まれる。
REFERENCES TO RELATED APPLICATIONS This application is filed on March 11, 2021 and entitled "Determining Visual Themes from Pixels in a Media Item Collection," U.S. Provisional Application No. 63/187390 and May 17, 2021. No. 63/189,658, filed Oct. 25, 2021, and entitled "Determining Visual Themes from Pixels in a Media Item Collection," filed Oct. 25, 2021. No. 17/509,767, entitled "Determining Visual Themes in a Media Item Collection," each of which is incorporated herein in its entirety.

背景
スマートフォンまたは他のデジタルカメラなどの装置のユーザは、多数の写真およびビデオを撮影して、画像ライブラリに記憶する。ユーザは、このようなライブラリを利用して自分の写真およびビデオを閲覧することによって、誕生日、結婚式、休暇、旅行などの様々なイベントを思い出す。ユーザは、長期間にわたって撮影された数千枚の画像を含む大きな画像ライブラリを有することができる。
Background Users of devices such as smartphones or other digital cameras take and store large numbers of photos and videos in image libraries. Users utilize such libraries to recall various events such as birthdays, weddings, vacations, trips, etc. by viewing their photos and videos. A user may have a large image library containing thousands of images taken over a period of time.

本明細書に記載された背景技術の説明は、本開示の文脈を概略的に示すことを目的としている。この背景技術の部分に記載されている範囲内で、現在名前を挙げている発明者の研究は、出願時に従来技術としてみなされない記載と同様に、本開示に対する従来技術として明示的にまたは暗示的に認められない。 The background description provided herein is for the purpose of generally presenting the context of the disclosure. To the extent described in this Background section, the work of currently named inventors is not explicitly or implicitly cited as prior art to this disclosure, as is any description that is not considered prior art at the time of filing. is not recognized.

概要
コンピュータによって実装される方法は、訓練済み機械学習モデルを用いて、ユーザアカウントに関連付けられたメディアアイテムコレクションから、メディアアイテムのベクトル表現を生成することと、メディアアイテムのベクトル表現に基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することとを含み、メディアアイテム対のベクトル表現間のベクトル距離は、メディアアイテムの視覚的類似度を示し、クラスタは、クラスタ内の各メディアアイテム対の間のベクトル距離が視覚的類似度閾値の範囲の外にあるように選択され、方法はさらに、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。
SUMMARY A computer-implemented method includes generating vector representations of media items from a collection of media items associated with a user account using a trained machine learning model, and determining media item clusters such that media items within the clusters have visual similarity, the vector distance between the vector representations of the pair of media items is indicative of the visual similarity of the media items, and the clusters include: A vector distance between each pair of media items in the cluster is selected to be outside a visual similarity threshold, and the method further includes displaying a user interface including the subset of the media item clusters.

いくつかの実施形態において、各メディアアイテムは、関連タイムスタンプを有し、所定の期間内に取得されたメディアアイテムは、エピソードに関連付けられ、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる。いくつかの実施形態において、方法は、メディアアイテムクラスタのサブセットを選択する前に、メディアアイテムコレクションから、禁止カテゴリリストにあるカテゴリに関連付けられたメディアアイテムを除外することをさらに含む。いくつかの実施形態において、方法は、メディアアイテムクラスタを決定する前に、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外することをさらに含む。いくつかの実施形態において、各メディアアイテムは、場所に関連付けられ、メディアアイテムクラスタのサブセットが所定の数よりも多いメディアアイテムを含むことに応答して、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセットが場所的多様性基準を満たすような場所に基づいて行われる。いくつかの実施形態において、メディアアイテムクラスタは、意味的類似度を有するラベルに関連付けられた対応するメディアアイテムに基づいてさらに決定される。いくつかの実施形態において、方法は、ユーザアカウントに関連付けられたユーザがメディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、メディアアイテムクラスタのサブセット内の各メディアアイテムを採点することと、閾値スコアを満たす対応するスコアに基づいて、メディアアイテムクラスタのサブセットからメディアアイテムを選択することとをさらに含む。いくつかの実施形態において、方法は、メディアアイテムクラスタのサブセット内の1つ以上のメディアアイテムに関するフィードバックをユーザから受信することと、フィードバックに基づいて、メディアアイテムクラスタのサブセット内の1つ以上のメディアアイテムの対応するスコアを変更することとをさらに含む。いくつかの実施形態において、フィードバックは、ユーザインターフェイスからのメディアアイテムクラスタのサブセットから1つ以上のメディアアイテムを削除することによって示された明示的行動、またはメディアアイテムクラスタのサブセット内の対応するメディアアイテムを閲覧することもしくはメディアアイテムクラスタのサブセット内の対応するメディアアイテムを共有することのうちの1つ以上によって示された暗黙的行動を含む。いくつかの実施形態において、方法は、メディアアイテムクラスタの集約サブセットの集約フィードバックをユーザから受信することと、集約フィードバックを訓練済み機械学習モデルに提供することとを含み、訓練済み機械学習モデルのパラメータが更新され、方法はさらに、訓練済み機械学習モデルのパラメータを更新することに基づいて、メディアアイテムクラスタを変更することをさらに含む。いくつかの実施形態において、方法は、視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、メディアアイテムクラスタのサブセット内の各クラスタから、特定のメディアアイテムを、メディアアイテムクラスタのサブセット内の各クラスタのカバー写真として選択することをさらに含む。いくつかの実施形態において、方法は、視覚的類似度の種類および共通表現に基づいて、メディアアイテムクラスタのサブセット内の各クラスタにタイトルを追加することをさらに含む。いくつかの実施形態において、ユーザインターフェイスは、所定の間隔で表示される。いくつかの実施形態において、方法は、メディアアイテムクラスタのサブセットが利用可能であるという通知を、ユーザアカウントに関連付けられたユーザに提供することをさらに含み、通知は、メディアアイテムクラスタのサブセット内のクラスタの各々に対応するタイトルを含む。いくつかの実施形態において、方法は、計算を最適化するために個々の装置上で実行される計算を決定することと、個々の装置上で実行される計算に基づいて、訓練済み機械学習モデルを複数の装置上で実装することとをさらに含む。 In some embodiments, each media item has an associated timestamp, media items obtained within a predetermined time period are associated with an episode, and selecting a subset of media item clusters based on the corresponding associated timestamps such that the corresponding media items in the subset meet a temporal diversity criterion that excludes more than a predetermined number of corresponding media items from a particular episode. In some embodiments, the method further includes excluding from the media item collection media items associated with categories in the prohibited category list before selecting the subset of media item clusters. In some embodiments, the method further includes excluding media items corresponding to categories in the prohibited category list before determining the media item cluster. In some embodiments, each media item is associated with a location, and in response to the subset of media item clusters including more than a predetermined number of media items, selecting the subset of media item clusters includes: A subset of media item clusters is based on location such that it satisfies a locational diversity criterion. In some embodiments, media item clusters are further determined based on corresponding media items associated with labels that have semantic similarity. In some embodiments, the method determines whether each media item in the subset of media item clusters is based on analyzing the likelihood that a user associated with the user account will view the media item and perform a positive action. The method further includes scoring the item and selecting the media item from the subset of the media item cluster based on the corresponding score meeting the threshold score. In some embodiments, a method includes receiving feedback from a user regarding one or more media items in a subset of media item clusters, and determining one or more media items in the subset of media item clusters based on the feedback. and changing the corresponding score of the item. In some embodiments, the feedback is an explicit action demonstrated by removing one or more media items from a subset of media item clusters from a user interface, or a corresponding media item within a subset of media item clusters. or sharing a corresponding media item in a subset of media item clusters. In some embodiments, the method includes receiving aggregate feedback from a user of an aggregate subset of media item clusters and providing the aggregate feedback to a trained machine learning model, the method comprising: determining parameters of the trained machine learning model; is updated, and the method further includes changing the media item cluster based on updating parameters of the trained machine learning model. In some embodiments, the method selects a particular media item from each cluster within the subset of media item clusters based on the particular media item containing the largest number of objects corresponding to the visual similarity. Further comprising selecting as a cover photo for each cluster within the subset of clusters. In some embodiments, the method further includes adding a title to each cluster in the subset of media item clusters based on the type of visual similarity and common expression. In some embodiments, the user interface is displayed at predetermined intervals. In some embodiments, the method further includes providing a notification to a user associated with the user account that a subset of media item clusters is available, the notification including clusters within the subset of media item clusters. Contains the title corresponding to each. In some embodiments, the method includes determining computations to be performed on individual devices to optimize the computations and creating a trained machine learning model based on the computations performed on the individual devices. and implementing the method on a plurality of devices.

いくつかの実施形態において、方法は、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを訓練済み機械学習モデルへの入力として受信することと、訓練済み機械学習モデルを用いて、メディアアイテムクラスタの出力画像埋め込みを生成することとを含み、各クラスタ内のメディアアイテムは、視覚的類似度を有し、視覚的類似度を有するメディアアイテムがベクトル空間において類似していないメディアアイテムよりも互いに近くであることにより、ベクトル空間を分割することが、メディアアイテムクラスタを生成し、方法はさらに、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択することと、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。 In some embodiments, a method includes receiving media items from a media item collection associated with a user account as input to a trained machine learning model, and using the trained machine learning model to generate media item clusters. and generating an output image embedding of the cluster, wherein the media items in each cluster have visual similarity, and media items with visual similarity are closer to each other in vector space than media items that are dissimilar. partitioning the vector space generates media item clusters, and the method further calculates the media item clusters based on the corresponding media items in each cluster having visual similarity within a visual similarity threshold. , selecting a subset of media item clusters, and displaying a user interface including the subset of media item clusters.

いくつかの実施形態において、メディアアイテムコレクションが訓練済み機械学習モデルに提供される前に、機能的画像は、メディアアイテムコレクションから削除される。いくつかの実施形態において、訓練済み機械学習モデルは、メディアアイテムセットに対する反応を含むユーザからのフィードバック、またはメディアアイテムセットのタイトルの変更を含むユーザからのフィードバックを用いて訓練される。 In some embodiments, the functional images are removed from the media item collection before the media item collection is provided to the trained machine learning model. In some embodiments, the trained machine learning model is trained with feedback from the user including reactions to the media item set or changes to the title of the media item set.

実施形態は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行される命令を記憶するメモリとを備えるシステムをさらに含んでもよい。命令は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することを含み、メディアアイテムコレクションは、ユーザアカウントに関連付けられ、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択することと、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。いくつかの実施形態において、各メディアアイテムは、関連タイムスタンプを有し、所定の期間内に取得されたメディアアイテムは、エピソードに関連付けられ、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる。 Embodiments may further include a system that includes one or more processors and memory that stores instructions for execution by the one or more processors. The instructions include determining media item clusters such that media items in each cluster have visual similarity based on pixels of images or videos from the media item collection, and the media item collection is associated with a user account. selecting a subset of media item clusters based on corresponding media items in each cluster that are associated and have a visual similarity within a visual similarity threshold; and a user interface comprising the subset of media item clusters. including displaying. In some embodiments, each media item has an associated timestamp, media items obtained within a predetermined time period are associated with an episode, and selecting a subset of media item clusters based on the corresponding associated timestamps such that the corresponding media items in the subset meet a temporal diversity criterion that excludes more than a predetermined number of corresponding media items from a particular episode.

実施形態は、1つ以上のコンピュータによって実行されると、1つ以上のコンピュータに以下の動作を実行させる命令を記憶する非一時的なコンピュータ可読媒体をさらに含んでもよい。動作は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することを含み、メディアアイテムコレクションは、ユーザアカウントに関連付けられ、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択することと、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することとを含む。いくつかの実施形態において、各メディアアイテムは、関連タイムスタンプを有し、所定の期間内に取得されたメディアアイテムは、エピソードに関連付けられ、メディアアイテムクラスタのサブセットを選択することは、メディアアイテムクラスタのサブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる。 Embodiments may further include a non-transitory computer-readable medium storing instructions that, when executed by one or more computers, cause the one or more computers to perform the following operations. The operations include determining media item clusters such that media items in each cluster have visual similarity based on pixels of images or videos from the media item collection, and the media item collection is associated with a user account. selecting a subset of media item clusters based on corresponding media items in each cluster that are associated and have a visual similarity within a visual similarity threshold; and a user interface comprising the subset of media item clusters. including displaying. In some embodiments, each media item has an associated timestamp, media items obtained within a predetermined time period are associated with an episode, and selecting a subset of media item clusters based on the corresponding associated timestamps such that the corresponding media items in the subset meet a temporal diversity criterion that excludes more than a predetermined number of corresponding media items from a particular episode.

本明細書は、有利には、手動で画像を特定するまたは手動で画像(または他のメディアアイテム)のカテゴリを提供する必要なく、機械学習モデルを用いて類似画像(または他のメディアアイテム)のクラスタを特定するための方法を記載する。このようにして、画像または他のメディアアイテムを分類するための改良方法を提供することができる。この方法は、例えば、事前定義された分類またはカテゴリの場合よりも、データ中の基礎的傾向をより確実に反映するイベントへの分類を提供することができる。さらに、機械学習モデルは、静的訓練セットを用いて、更新サイズが閾値サイズ未満であることに応答してイベント機械学習モデルを更新することによって、電力消費を有利に低減し、効率を高めることができる。 The present invention advantageously uses machine learning models to identify similar images (or other media items) without having to manually identify images or manually provide categories for images (or other media items). Describe the method for identifying clusters. In this way, an improved method for classifying images or other media items can be provided. This method can, for example, provide a classification of events that more reliably reflects underlying trends in the data than would be the case with predefined classifications or categories. Furthermore, the machine learning model can advantageously reduce power consumption and increase efficiency by using a static training set and updating the event machine learning model in response to the update size being less than a threshold size. Can be done.

本明細書に記載されたいくつかの実施形態に従って、例示的なネットワーク環境を示すブロック図である。1 is a block diagram illustrating an example network environment in accordance with some embodiments described herein. FIG. 本明細書に記載されたいくつかの実施形態に従って、例示的なコンピューティング装置を示すブロック図である。1 is a block diagram illustrating an example computing device in accordance with some embodiments described herein. FIG. いくつかの実施形態に従って、各々が特定の視覚テーマに合致する様々なメディアアイテムの例示的なセットであり、図3Aは、湾曲形状を有する物体を含む第1の視覚的テーマ、同じ静物画である3つの画像を含む第2の視覚的テーマ、および異なる姿勢でサメ詰め物中にいるネコを含む第3の視覚的テーマに合致する第1セットのメディアアイテムを示す。In accordance with some embodiments, FIG. 3A is an exemplary set of various media items, each matching a particular visual theme, and FIG. A first set of media items is shown that matches a second visual theme that includes three images and a third visual theme that includes a cat in a shark stuffing in different positions. いくつかの実施形態に従って、各々が特定の視覚テーマに合致する様々なメディアアイテムの例示的なセットであり、図3Bは、本明細書に記載されたいくつかの実施形態に従って、異なる時間で異なる場所に撮影された各画像において同じ物体(リュックサック)が見られる第4の視覚テーマを示す。FIG. 3B is an exemplary set of various media items, each matching a particular visual theme, in accordance with some embodiments described herein. A fourth visual theme is shown in which the same object (a backpack) is seen in each image taken at a location. いくつかの実施形態に従って、時間的多様性および場所的多様性の両方を有する異なる山脈の自然画像の視覚テーマの例である。2 is an example of a visual theme of natural images of different mountain ranges having both temporal and spatial diversity, in accordance with some embodiments; 本明細書に記載されたいくつかの実施形態に従って、視覚テーマを有するクラスタを含むユーザインターフェイスの例である。2 is an example of a user interface including clusters with visual themes, in accordance with some embodiments described herein. 本明細書に記載されたいくつかの実施形態に従って、メディアアイテムクラスタのサブセットを表示するための例示的な方法を示すフローチャートである。3 is a flowchart illustrating an example method for displaying a subset of media item clusters in accordance with some embodiments described herein. 本明細書に記載されたいくつかの実施形態に従って、機械学習モデルを用いてメディアアイテムクラスタの埋め込みを生成し、メディアアイテムクラスタのサブセットを選択するための例示的な方法を示すフローチャートである。2 is a flowchart illustrating an example method for generating embeddings of media item clusters and selecting a subset of media item clusters using a machine learning model, in accordance with some embodiments described herein.

詳細な説明
ネットワーク環境100
図1は、例示的な環境100のブロック図を示す。いくつかの実施形態において、環境100は、メディアサーバ101と、ユーザ装置115aと、ユーザ装置115nと、ネットワーク105とを含む。ユーザ125a、125nは、ユーザ装置115a、115nに各々関連付けられてもよい。いくつかの実施形態において、環境100は、図1に示されていない他のサーバまたは装置を含んでもよく、またはメディアサーバ101を含まなくてもよい。図1および他の図面において、参照番号の後の文字、例えば「115a」は、その特定の参照番号を有する要素への言及を表す。後ろに文字を持たない本文中の参照番号、例えば「115」は、その参照番号を有する要素の実施形態への一般的言及を表す。
Detailed description Network environment 100
FIG. 1 shows a block diagram of an example environment 100. In some embodiments, environment 100 includes media server 101, user device 115a, user device 115n, and network 105. Users 125a, 125n may be associated with user devices 115a, 115n, respectively. In some embodiments, environment 100 may include other servers or devices not shown in FIG. 1, or may not include media server 101. In FIG. 1 and the other figures, the letters after a reference number, such as "115a", represent a reference to the element bearing that particular reference number. A reference number in text without a letter after it, such as "115", represents a general reference to the embodiment of the element bearing that reference number.

メディアサーバ101は、プロセッサと、メモリと、ネットワーク通信ハードウェアとを含んでもよい。いくつかの実施形態において、メディアサーバ101は、ハードウェアサーバである。メディアサーバ101は、信号線102を介してネットワーク105に通信可能に接続される。信号線102は、イーサネット(登録商標)、同軸ケーブル、光ファイバケーブルなどの有線接続、またはWi-Fi(登録商標)、ブルートゥース(登録商標)、もしくは他の無線技術などの無線接続であってもよい。いくつかの実施形態において、メディアサーバ101は、ネットワーク105を介して、1つ以上のユーザ装置115a、115nとの間でデータを送受信する。メディアサーバ101は、メディアアプリケーション103aおよびデータベース199を含んでもよい。 Media server 101 may include a processor, memory, and network communication hardware. In some embodiments, media server 101 is a hardware server. Media server 101 is communicatively connected to network 105 via signal line 102 . The signal line 102 may be a wired connection such as Ethernet, coaxial cable, fiber optic cable, or a wireless connection such as Wi-Fi, Bluetooth, or other wireless technology. good. In some embodiments, media server 101 sends and receives data to and from one or more user devices 115a, 115n over network 105. Media server 101 may include media application 103a and database 199.

メディアアプリケーション103aは、ユーザの許可を得て、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定するように動作可能なコードおよびルーチンを含んでもよく、メディアアイテムコレクションは、ユーザアカウントに関連付けられる。例えば、1つのクラスタは、類似の形状および色を有する物体を含んでもよく、別のクラスタは、類似の環境属性を有する公園を含んでもよく、別のクラスタは、異なる状況におけるペットの画像を含んでもよい。メディアアプリケーション103aは、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。メディアアプリケーション103aは、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示する。 Media application 103a, with the user's permission, operates to determine media item clusters based on pixels of images or videos from the media item collection such that media items within each cluster have visual similarity. A media item collection may be associated with a user account. For example, one cluster may include objects with similar shapes and colors, another cluster may include parks with similar environmental attributes, and another cluster may include images of pets in different situations. But that's fine. Media application 103a selects a subset of media item clusters based on corresponding media items in each cluster that have visual similarities within a visual similarity threshold. Media application 103a displays a user interface that includes a subset of media item clusters.

いくつかの実施形態において、メディアアプリケーション103aは、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、任意の他の種類のプロセッサ、またはそれらの組み合わせを含むハードウェアを用いて実装されてもよい。いくつかの実施形態において、メディアアプリケーション103aは、ハードウェアおよびソフトウェアの組み合わせを用いて実装されてもよい。 In some embodiments, media application 103a includes a central processing unit (CPU), field programmable gate array (FPGA), application specific integrated circuit (ASIC), any other type of processor, or a combination thereof. It may also be implemented using hardware. In some embodiments, media application 103a may be implemented using a combination of hardware and software.

データベース199は、ユーザアカウントに関連付けられたメディアコレクション、機械学習モデルの訓練セット、メディアに関連するユーザ行動(閲覧、共有、注釈など)を記憶することができる。データベース199は、インデックス化され、ユーザ装置115のユーザ125のIDに関連付けられたメディアアイテムを記憶することができる。また、データベース199は、ユーザ125に関連するソーシャルネットワークデータ、ユーザ125のユーザ選好などを記憶することができる。 Database 199 may store media collections associated with user accounts, training sets for machine learning models, user actions related to media (viewing, sharing, annotating, etc.). Database 199 may store media items that are indexed and associated with the identity of user 125 of user device 115. Database 199 may also store social network data related to user 125, user preferences of user 125, and the like.

ユーザ装置115は、メモリおよびハードウェアプロセッサを含むコンピューティング装置であってもよい。例えば、ユーザ装置115は、デスクトップコンピュータ、モバイル装置、タブレットコンピュータ、携帯電話、ウェアラブル装置、ヘッドマウントディスプレイ、モバイル電子メール装置、ポータブルゲームプレーヤ、ポータブル音楽プレーヤ、リーダ装置、またはネットワーク105にアクセスすることができる別の電子装置を含んでもよい。 User device 115 may be a computing device that includes memory and a hardware processor. For example, user device 115 may be a desktop computer, a mobile device, a tablet computer, a cell phone, a wearable device, a head-mounted display, a mobile email device, a portable game player, a portable music player, a reader device, or access network 105. It may also include other electronic devices that can be used.

図示の実装形態において、ユーザ装置115aは、信号線108を介してネットワーク105に接続され、ユーザ装置115nは、信号線110を介してネットワーク105に接続される。メディアアプリケーション103は、メディアアプリケーション103bとしてユーザ装置115a上でまたはメディアアプリケーション103cとしてユーザ装置115n上で記憶されてもよい。信号線108および110は、イーサネット(登録商標)、同軸ケーブル、光ファイバケーブルなどの有線接続、またはWi-Fi(登録商標)、ブルートゥース(登録商標)、もしくは他の無線技術などの無線接続であってもよい。ユーザ装置115a、115nは、ユーザ125a、125nによって各々利用される。図1のユーザ装置115a、115nは、例示として使用される。図1は、2つのユーザ装置115aおよび115nを示すが、本開示は、1つ以上のユーザ装置115を含むシステムアーキテクチャに適用される。 In the illustrated implementation, user device 115a is connected to network 105 via signal line 108 and user device 115n is connected to network 105 via signal line 110. Media application 103 may be stored on user device 115a as media application 103b or on user device 115n as media application 103c. Signal lines 108 and 110 may be wired connections such as Ethernet, coaxial cable, fiber optic cable, or wireless connections such as Wi-Fi, Bluetooth, or other wireless technologies. You can. User devices 115a and 115n are used by users 125a and 125n, respectively. User equipment 115a, 115n in FIG. 1 is used as an example. Although FIG. 1 shows two user devices 115a and 115n, the present disclosure applies to system architectures that include one or more user devices 115.

いくつかの実施形態において、ユーザアカウントは、メディアアイテムコレクションを含む。例えば、ユーザは、自分のカメラ(例えば、スマートフォンまたは他のカメラ)から画像およびビデオを取得し、デジタル一眼レフ(DSLR)カメラから画像をアップロードし、他のユーザによって撮影され、共有されているメディアをメディアアイテムコレクションに追加する。メディアアプリケーション103は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。例えば、図3Aは、視覚的類似度を有する画像(湾曲形状を有する褐色物体)の第1の視覚テーマ300を示す。具体的には、第1の物体は、グラスに入った氷入りの飲み物であり、第2の物体は、コーヒーカップに入ったハート入りラテであり、第3の物体は、異なる色合いの褐色の木材で作られたボウルである。他の例は、山脈、自然の弓状物、人のいる海波、水平に延在する平行線(例えば、列車のトラック、道路など)、時間の経過による変化(植物の成長、太陽の動き、作業中の塗装)などを含むことができる。 In some embodiments, a user account includes a media item collection. For example, users can capture images and videos from their own cameras (e.g., smartphones or other cameras), upload images from digital single-lens reflex (DSLR) cameras, and view media taken and shared by other users. Add to your media item collection. Media application 103 determines media item clusters such that media items within each cluster have visual similarities based on pixels of images or videos from the media item collection. For example, FIG. 3A shows a first visual theme 300 of images (brown objects with curved shapes) that have visual similarity. Specifically, the first object is a drink with ice in a glass, the second object is a heart latte in a coffee cup, and the third object is a drink with ice in a glass, and the third object is a heart-shaped latte in a coffee cup. A bowl made of wood. Other examples are mountain ranges, natural arcs, ocean waves with people, horizontally extending parallel lines (e.g. train tracks, roads, etc.), changes over time (plant growth, movement of the sun, etc.). , painting during work), etc.

メディアアイテムクラスタは、同じエピソードからの画像、例えばユーザが異なる角度で撮影した同じ作品の複数の画像を含むことができる。例えば、図3Aは、3つの画像を含む第2の例325を示している。3つの画像は、木の葉が次第により区別できるように、異なる方法で撮影された同じ静物画である。 A media item cluster may include images from the same episode, for example multiple images of the same work taken by a user from different angles. For example, FIG. 3A shows a second example 325 that includes three images. The three images are the same still life photographed in different ways so that the leaves on the tree become progressively more distinct.

メディアアプリケーション103は、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。視覚的類似度の閾値は、極めて類似するメディアアイテムから、遠い関係のみを有するアイテムよりも類似するメディアアイテムまでの間にあってもよい。例えば、図3Aの第1の例300のテーマは、茶色の円形物体である。これは、類似度閾値の範囲の中央にあってもよい。逆に、図3Aの第3の例350は、異なる時間帯に撮影されたサメ詰め物中のネコというテーマを有するメディアアイテムクラスタである。これは、より視覚的に類似したテーマである。図3Bの第4の例375は、人が異なる旅行に行く時に使用されたオレンジ色のリュックサックというテーマを含む。閾値類似値により近い非常に類似したメディアのさらに別の例は、メディアアイテムがわずかに異なる形状のピンク色の花であることである。 Media application 103 selects a subset of media item clusters based on corresponding media items in each cluster that have visual similarities within a visual similarity threshold. The visual similarity threshold may be between media items that are very similar to media items that are more similar than items that are only remotely related. For example, the theme of the first example 300 of FIG. 3A is a brown circular object. This may be in the middle of the range of similarity thresholds. Conversely, the third example 350 of FIG. 3A is a cluster of media items with the theme of cats in shark stuffing, taken at different times of day. This is a more visually similar theme. The fourth example 375 of FIG. 3B includes the theme of an orange backpack used when a person goes on different trips. Yet another example of very similar media that is closer to the threshold similarity value is that the media item is a pink flower with a slightly different shape.

メディアアイテムが充分に視覚的に類似していない場合、メディアアイテム間のテーマを識別することが難しく、その結果、メディアアイテムは、ユーザが見たいものよりも、ランダムなメディアアイテムコレクションのように見える可能性がある。いくつかの実施形態において、メディアアプリケーション103は、メディアアイテムコレクションが、例えば、ユーザライブラリから利用可能な全てのネコ画像のグループに見えないように、メディアアイテムの数を制限して、視覚的テーマをより一貫して保つ。 When media items are not visually similar enough, it is difficult to discern themes between them, and as a result, the media items appear more like a random collection of media items than what the user wants to see. there is a possibility. In some embodiments, the media application 103 limits the number of media items to create a visual theme, such that the media item collection does not appear to be a group of all available cat images from the user's library, for example. Keep it more consistent.

メディアアプリケーション103は、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することができる。いくつかの実施形態において、メディアアプリケーション103は、所定の間隔で、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示する。例えば、メディアアプリケーション103は、毎日、毎週、月に1回などで、クラスタのサブセットを含むユーザインターフェイスを表示してもよい。メディアアプリケーション103は、フィードバックに基づいて、クラスタのサブセットを表示する頻度を変更してもよい。例えば、ユーザがクラスタのサブセットを利用可能になるたびに閲覧する場合、メディアアプリケーション103は、表示の頻度を維持してもよいが、ユーザがクラスタのサブセットを閲覧する頻度がより低くなる場合、メディアアプリケーション103は、表示の頻度を減らしてもよい。 Media application 103 may display a user interface that includes a subset of media item clusters. In some embodiments, media application 103 displays a user interface that includes a subset of media item clusters at predetermined intervals. For example, media application 103 may display a user interface that includes a subset of clusters on a daily, weekly, monthly, etc. basis. Media application 103 may change the frequency with which the subset of clusters is displayed based on the feedback. For example, if the user views a subset of clusters each time it becomes available, media application 103 may maintain the frequency of display, but if the user views a subset of clusters less frequently, media application 103 may The application 103 may reduce the frequency of display.

メディアアプリケーション103は、ククラスタのサブセットが利用可能であるという通知を、クラスタのサブセットに対応するタイトルと共に、ユーザアカウントに関連付けられたユーザに提供することができる。例えば、メディアアプリケーション103は、毎日の通知、毎週の通知、毎月の通知などをユーザに提供することができる。いくつかの実施形態において、ユーザインターフェイスは、通知の頻度および/またはメディアアイテムクラスタのサブセットの表示を制限するためのオプションを含む。 Media application 103 may provide a notification that a subset of clusters is available to a user associated with the user account, along with a title corresponding to the subset of clusters. For example, media application 103 may provide daily notifications, weekly notifications, monthly notifications, etc. to the user. In some embodiments, the user interface includes options to limit the frequency of notifications and/or display of a subset of media item clusters.

例示的なコンピューティング装置200
図2は、本明細書に記載された1つ以上の特徴を実装するために使用され得る例示的なコンピューティング装置200のブロック図である。コンピューティング装置200は、任意の好適なコンピュータシステム、サーバ、または他の電子装置もしくはハードウェア装置であってもよい。一例において、コンピューティング装置200は、メディアアプリケーション103を実行するために使用されるユーザ装置115である。別の例において、コンピューティング装置200は、メディアサーバ101である。さらに別の例において、メディアアプリケーション103は、ユーザ装置115上に部分的に配置され、メディアサーバ101上に部分的に配置される。
Exemplary computing device 200
FIG. 2 is a block diagram of an example computing device 200 that may be used to implement one or more features described herein. Computing device 200 may be any suitable computer system, server, or other electronic or hardware device. In one example, computing device 200 is user device 115 used to run media application 103. In another example, computing device 200 is media server 101. In yet another example, media application 103 is partially located on user device 115 and partially on media server 101.

本明細書に記載された1つ以上の方法は、任意の種類のコンピューティング装置上で実行されるスタンドアロンプログラム、ウェブブラウザ上で実行されるプログラム、モバイルコンピューティング装置(例えば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブル装置(例えば、腕時計、アームバンド、宝飾品、ヘッドウェア、仮想現実ゴーグルまたはメガネ、拡張現実ゴーグルまたはメガネ、ヘッドマウントディスプレイ)、ラップトップコンピュータ)上で実行されるモバイルアプリケーション(アプリ)として実行することができる。主な例において、全ての計算は、モバイルコンピューティング装置上のモバイルアプリケーションで実行される。しかしながら、クライアント/サーバアーキテクチャを使用することができる。例えば、モバイルコンピューティング装置は、ユーザ入力データをサーバ装置に送信し、最終の出力データをサーバから受信して出力する(例えば、表示する)。別の例において、計算は、モバイルコンピューティング装置と1つ以上のサーバ装置との間で分担されてもよい。 One or more of the methods described herein can be implemented as a standalone program running on any type of computing device, as a program running on a web browser, as a mobile computing device (e.g., a mobile phone, a smartphone, Mobile applications (apps) running on tablet computers, wearable devices (e.g. watches, armbands, jewelry, headwear, virtual reality goggles or glasses, augmented reality goggles or glasses, head-mounted displays), laptop computers) It can be executed as In the primary example, all calculations are performed in a mobile application on a mobile computing device. However, a client/server architecture can be used. For example, a mobile computing device transmits user input data to a server device and receives and outputs (eg, displays) final output data from the server. In another example, computations may be shared between a mobile computing device and one or more server devices.

いくつかの実施形態において、コンピューティング装置200は、プロセッサ235と、メモリ237と、I/Oインターフェイス239と、ディスプレイ241と、カメラ243と、記憶装置245とを含む。プロセッサ235は、信号線222を介してバス218に接続されてもよい。メモリ237は、信号線224を介してバス218に接続されてもよい。I/Oインターフェイス239は、信号線226を介してバス218に接続されてもよい。ディスプレイ241は、信号線228を介してバス218に接続されてもよい。カメラ243は、信号線230を介してバス218に接続されてもよい。記憶装置245は、信号線232を介してバス218に接続されてもよい。 In some embodiments, computing device 200 includes a processor 235, memory 237, I/O interface 239, display 241, camera 243, and storage 245. Processor 235 may be connected to bus 218 via signal line 222. Memory 237 may be connected to bus 218 via signal line 224. I/O interface 239 may be connected to bus 218 via signal line 226. Display 241 may be connected to bus 218 via signal line 228. Camera 243 may be connected to bus 218 via signal line 230. Storage device 245 may be connected to bus 218 via signal line 232.

プロセッサ235は、プログラムコードを実行し、コンピューティング装置200の基本動作を制御するための1つ以上のプロセッサおよび/または処理回路であってもよい。「プロセッサ」は、データ、信号または他の情報を処理するための任意の適切なハードウェアシステム、メカニズムまたはコンポーネントを含む。プロセッサは、1つ以上のコア(例えば、シングルコア、デュアルコア、またはマルチコア構成)を有する汎用中央処理ユニット(CPU)、(例えば、マルチプロセッサ構成を有する)複数の処理ユニット、グラフィックス処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、複雑なプログラマブルロジック装置(CPLD)、機能を達成するための専用回路、ニューラルネットワークモデルに基づいた処理を実行するための専用プロセッサ、ニューラル回路、行列計算(例えば、行列乗算)を行うために最適化されたプロセッサを備えるシステム、または他のシステムを含むことができる。いくつかの実装形態において、プロセッサ235は、ニューラルネットワーク処理を実行するための1つ以上のコプロセッサを含むことができる。いくつかの実装形態において、プロセッサ235は、データを処理することによって確率的出力を生成するプロセッサであってよい。例えば、プロセッサ235によって生成された出力は、不正確であってもよく、または出力期待値の範囲内に正確であってもよい。処理は、特定の地理場所に制限される必要がなく、時間的に制限される必要もない。例えば、プロセッサは、リアルタイム、オフライン、またはバッチモードで機能を実行することができる。処理の一部は、異なる時間および異なる場所で、異なる(または同じ)処理システムによって実行されてもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。 Processor 235 may be one or more processors and/or processing circuits for executing program code and controlling basic operations of computing device 200. "Processor" includes any suitable hardware system, mechanism or component for processing data, signals or other information. A processor may include a general-purpose central processing unit (CPU) having one or more cores (e.g., a single-core, dual-core, or multi-core configuration), multiple processing units (e.g., having a multi-processor configuration), a graphics processing unit ( GPUs), field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), complex programmable logic devices (CPLDs), specialized circuits to achieve functionality, and to perform processing based on neural network models. It may include a dedicated processor, a neural circuit, a system with a processor optimized for performing matrix calculations (eg, matrix multiplication), or other systems. In some implementations, processor 235 can include one or more coprocessors to perform neural network processing. In some implementations, processor 235 may be a processor that generates probabilistic output by processing data. For example, the output produced by processor 235 may be inaccurate or may be accurate to within an output expected value. Processing need not be limited to a particular geographic location or limited in time. For example, a processor may perform functions in real time, off-line, or in batch mode. Portions of the processing may be performed by different (or the same) processing systems at different times and different locations. A computer may be any processor in communication with memory.

メモリ237は、典型的には、プロセッサ235によって利用されるようにコンピューティング装置200内に設けられ、プロセッサまたはプロセッサのセットによって実行される命令を記憶するための任意の好適なプロセッサ可読記憶媒体、例えば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気消去可能な読取り専用メモリ(EEPROM)、フラッシュメモリであってもよい。メモリ237は、プロセッサ235とは別に配置されてもよく、および/またはそれに一体化されてもよい。メモリ237は、プロセッサ235によってコンピューティング装置200上で実行されるソフトウェア(メディアアプリケーション103を含む)を記憶することができる。 Memory 237 is typically provided within computing device 200 for use by processor 235 and includes any suitable processor-readable storage medium for storing instructions for execution by a processor or set of processors. For example, it may be random access memory (RAM), read only memory (ROM), electrically erasable read only memory (EEPROM), or flash memory. Memory 237 may be located separately from and/or integrated with processor 235. Memory 237 can store software (including media applications 103) executed on computing device 200 by processor 235.

メモリ237は、オペレーティングシステム262と、他のアプリケーション264と、アプリケーションデータ266とを含むことができる。他のアプリケーション264は、例えば、カメラアプリケーション、画像ライブラリアプリケーション、画像管理アプリケーション、画像ギャラリアプリケーション、メディア表示アプリケーション、通信アプリケーション、ウェブホスティングエンジンまたはアプリケーション、マッピングアプリケーション、メディア共有アプリケーションなどを含むことができる。本明細書に開示された1つ以上の方法は、例えば、任意の種類のコンピューティング装置上で動作することができるスタンドアロンコンピュータプログラムとして、ウェブページを有するウェブアプリケーションとして、モバイルコンピューティング装置上で動作するモバイルアプリケーション(「アプリ」)として、いくつかの環境およびプラットフォーム上で実行されてもよい。 Memory 237 may include an operating system 262, other applications 264, and application data 266. Other applications 264 may include, for example, camera applications, image library applications, image management applications, image gallery applications, media display applications, communication applications, web hosting engines or applications, mapping applications, media sharing applications, and the like. One or more methods disclosed herein can operate, for example, as a standalone computer program that can run on any type of computing device, as a web application with web pages, on a mobile computing device, etc. may run as a mobile application (“app”) on a number of environments and platforms.

アプリケーションデータ266は、コンピューティング装置200の他のアプリケーション264またはハードウェアによって生成されたデータであってもよい。例えば、アプリケーションデータ266は、カメラ243によって撮影された画像、他のアプリケーション264(例えば、ソーシャルネットワーキングアプリケーション)によって識別されたユーザ行動などを含んでもよい。 Application data 266 may be data generated by other applications 264 or hardware on computing device 200. For example, application data 266 may include images captured by camera 243, user actions identified by other applications 264 (eg, social networking applications), and the like.

I/Oインターフェイス239は、コンピューティング装置200を他のシステムおよび装置とインターフェイス接続することを可能にする機能を提供することができる。インターフェイス接続装置は、コンピューティング装置200の一部として含まれてもよく、または別個であるがコンピューティング装置200と通信することができる。例えば、ネットワーク通信装置、記憶装置(例えば、メモリ237および/またはデータベース199)、および入力/出力装置は、I/Oインターフェイス239を介して通信することができる。いくつかの実施形態において、I/Oインターフェイス239は、インターフェイス装置、例えば、入力装置(キーボード、ポインティング装置、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力装置(ディスプレイ装置、スピーカ装置、プリンタ、モニタなど)に接続することができる。例えば、ユーザがタッチ入力を提供すると、I/Oインターフェイス239は、データをメディアアプリケーション103に送信する。 I/O interface 239 may provide functionality that allows computing device 200 to interface with other systems and devices. The interfacing device may be included as part of computing device 200 or may be separate but in communication with computing device 200. For example, network communication devices, storage devices (eg, memory 237 and/or database 199), and input/output devices can communicate via I/O interface 239. In some embodiments, the I/O interface 239 includes interface devices, such as input devices (keyboards, pointing devices, touch screens, microphones, cameras, scanners, sensors, etc.) and/or output devices (display devices, speaker devices, etc.). , printer, monitor, etc.). For example, when a user provides touch input, I/O interface 239 sends data to media application 103.

I/Oインターフェイス239に接続することができるいくつかの例示的なインターフェイス接続装置は、本明細書に記載されたコンテンツ、例えば、画像、ビデオおよび/または出力アプリケーションのユーザインターフェイスを表示し、ユーザからタッチ(またはジェスチャ)入力を受信するために使用することができるディスプレイ241を含んでもよい。例えば、ディスプレイ241を用いて、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示することができる。ディスプレイ241は、任意の好適なディスプレイ装置、例えば、液晶ディスプレイ(LCD)、発光ダイオード(LED)、またはプラズマディスプレイスクリーン、陰極線管(CRT)、テレビ、モニタ、タッチスクリーン、3次元ディスプレイスクリーン、または他の視覚ディスプレイ装置を含んでもよい。例えば、ディスプレイ241は、モバイル装置上に設けられたフラットディスプレイスクリーン、眼鏡フォームファクタまたはヘッドセット装置に埋め込まれた複数のディスプレイスクリーン、またはコンピュータ装置のモニタスクリーンであってもよい。 Some example interface connection devices that can be connected to I/O interface 239 display user interfaces for the content described herein, such as images, video, and/or output applications, and It may also include a display 241 that can be used to receive touch (or gesture) input. For example, display 241 may be used to display a user interface that includes a subset of media item clusters. Display 241 can be any suitable display device, such as a liquid crystal display (LCD), light emitting diode (LED), or plasma display screen, cathode ray tube (CRT), television, monitor, touch screen, three-dimensional display screen, or the like. may include a visual display device. For example, display 241 may be a flat display screen on a mobile device, multiple display screens embedded in an eyeglass form factor or headset device, or a monitor screen on a computing device.

カメラ243は、画像および/またはビデオを撮影することができる任意の種類の画像撮影装置であってもよい。いくつかの実施形態において、カメラ243は、I/Oインターフェイス239がメディアアプリケーション103に送信する画像またはビデオを撮影する。 Camera 243 may be any type of image capture device capable of capturing images and/or video. In some embodiments, camera 243 captures images or videos that I/O interface 239 sends to media application 103.

記憶装置245は、メディアアプリケーション103に関連するデータを記憶する。例えば、記憶装置245は、ユーザアカウントに関連付けられたメディアアイテムコレクション、メディアクラスタのサブセット、機械学習モデルの訓練セットなどを記憶してもよい。メディアアプリケーション103がメディアサーバ101の一部である実施形態において、記憶装置245は、図1のデータベース199と同じである。 Storage device 245 stores data related to media application 103. For example, storage device 245 may store a media item collection associated with a user account, a subset of media clusters, a training set for a machine learning model, and the like. In embodiments where media application 103 is part of media server 101, storage 245 is the same as database 199 of FIG.

例示的なメディアアプリケーション103
図2は、例示的なメディアアプリケーション103を示している。メディアアプリケーション103は、フィルタリングモジュール202と、クラスタリングモジュール204と、機械学習モジュール205と、選択モジュール206と、ユーザインターフェイスモジュール208とを含む。いくつかの実施形態において、メディアアプリケーション103は、クラスタリングモジュール204または機械学習モジュール205のいずれかを使用する。
Exemplary media application 103
FIG. 2 depicts an example media application 103. Media application 103 includes a filtering module 202, a clustering module 204, a machine learning module 205, a selection module 206, and a user interface module 208. In some embodiments, media application 103 uses either clustering module 204 or machine learning module 205.

フィルタリングモジュール202は、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムコレクションからメディアアイテムを除外する。いくつかの実施形態において、フィルタリングモジュール202は、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、フィルタリングモジュール202は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。 Filtering module 202 excludes media items from the media item collection that correspond to categories in the prohibited category list. In some embodiments, filtering module 202 includes a set of instructions executable by processor 235 to exclude media items that correspond to categories in the prohibited category list. In some embodiments, filtering module 202 may be stored in memory 237 of computing device 200 and may be accessible and executable by processor 235.

いくつかの実施形態において、フィルタリングモジュール202は、クラスタリングモジュール204がクラスタリングを実行する前に、メディアアイテムコレクションからメディアを除外する。代替的な実施形態において、フィルタリングモジュール202は、クラスタリングモジュール204がクラスタリングを実行した後、メディアアイテムコレクションからメディアを除外する。例えば、フィルタリングモジュール202は、視覚的類似度に関連付けられたメディアアイテムを、禁止カテゴリリストからカテゴリに除外する。禁止カテゴリリストは、写真の価値のためではなく、領収書の画像、文書の画像、パーキングメータの画像、スクリーンショット画像などの機能画像として撮影されたメディアアイテムを含むことができる。 In some embodiments, filtering module 202 excludes media from the media item collection before clustering module 204 performs clustering. In an alternative embodiment, filtering module 202 excludes media from the media item collection after clustering module 204 performs clustering. For example, filtering module 202 excludes media items associated with visual similarity to categories from the prohibited category list. The prohibited category list may include media items that are taken not for photographic value but as functional images, such as receipt images, document images, parking meter images, screenshot images, etc.

メディアアプリケーション103が機械学習モジュール205を含むいくつかの実施形態において、フィルタリングモジュール202は、メディアアイテムコレクションが機械学習モデルに提供される前に、メディアアイテムコレクションから機能画像を除外する。例えば、フィルタリングモジュール202は、メディアアイテムコレクションが機械学習モデルに提供される前に、受領書、使用説明書、文書、およびスクリーンショットを除外する。 In some embodiments where media application 103 includes machine learning module 205, filtering module 202 excludes functional images from the media item collection before the media item collection is provided to the machine learning model. For example, filtering module 202 filters out receipts, instructions, documents, and screenshots before the media item collection is provided to the machine learning model.

クラスタリングモジュール204は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。いくつかの実施形態において、クラスタリングモジュール204は、メディアアイテムクラスタを生成するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、クラスタ化モジュール204は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。 Clustering module 204 determines media item clusters such that media items within each cluster have visual similarities based on pixels of images or videos from the media item collection. In some embodiments, clustering module 204 includes a set of instructions executable by processor 235 to generate media item clusters. In some embodiments, clustering module 204 may be stored in memory 237 of computing device 200 and may be accessible and executable by processor 235.

いくつかの実施形態において、クラスタリングモジュール204は、ユーザアカウントに関連付けられたメディアアイテムコレクション、例えばユーザに関連付けられたライブラリにアクセスする。フィルタリングモジュール202がメディアアイテムを除外した場合、クラスタリングモジュール204は、禁止カテゴリリストに対応するメディアアイテムを含まないメディアアイテムコレクションにアクセスする。クラスタリングモジュール204は、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することができる。いくつかの実施形態において、クラスタリングは、N次元ガウス多様性関数を用いて、視覚的類似度を決定する。 In some embodiments, clustering module 204 accesses a media item collection associated with a user account, such as a library associated with the user. If filtering module 202 excludes a media item, clustering module 204 accesses media item collections that do not include media items corresponding to the prohibited category list. Clustering module 204 may determine media item clusters such that media items within each cluster have visual similarities based on pixels of images or videos from the media item collection. In some embodiments, clustering uses an N-dimensional Gaussian diversity function to determine visual similarity.

いくつかの実施形態において、機械学習モジュール205は、各クラスタ内のメディアアイテムが視覚的類似度を有するように、メディアクラスタの出力画像埋め込みを生成するように訓練された機械学習モデルを含む。いくつかの実施形態において、機械学習モジュール205は、画像埋め込みを生成するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、機械学習モジュール205は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。 In some embodiments, machine learning module 205 includes a machine learning model trained to generate output image embeddings of media clusters such that media items within each cluster have visual similarities. In some embodiments, machine learning module 205 includes a set of instructions executable by processor 235 to generate image embeddings. In some embodiments, machine learning module 205 may be stored in memory 237 of computing device 200 and may be accessible and executable by processor 235.

いくつかの実施形態において、機械学習モジュール205は、多次元特徴空間内のベクトル(埋め込み)を用いて、クラスタの視覚的類似度を決定することができる。類似した特徴を有する画像は、類似した特徴ベクトルを有してもよい。例えば、類似した特徴を有する画像の特徴ベクトル間のベクトル距離は、類似していない画像間のベクトル距離よりも小さくてもよい。特徴空間は、画像の様々な要因、例えば、描かれた主題(画像から検出された物体)、画像の構成、色情報、画像の向き、画像のメタデータ、画像から認識された特定の物体(例えば、ユーザ許可があれば、既知の顔)などの関数であってもよい。 In some embodiments, machine learning module 205 may use vectors (embeddings) in a multidimensional feature space to determine visual similarity of clusters. Images with similar features may have similar feature vectors. For example, vector distances between feature vectors of images with similar features may be smaller than vector distances between dissimilar images. The feature space is based on various factors of the image, such as the depicted subject matter (objects detected from the image), image composition, color information, image orientation, image metadata, and specific objects recognized from the image ( For example, with user permission, it may be a function such as a known face).

いくつかの実施形態において、訓練は、教師あり学習を用いて実行されてもよい。いくつかの実施形態において、機械学習モジュール205は、プロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、機械学習モジュール205は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。 In some embodiments, training may be performed using supervised learning. In some embodiments, machine learning module 205 includes a set of instructions executable by processor 235. In some embodiments, machine learning module 205 may be stored in memory 237 of computing device 200 and may be accessible and executable by processor 235.

いくつかの実施形態において、機械学習モジュール205は、(訓練のために許可を得て取得された)訓練データを用いて、訓練済みモデル、具体的には機械学習モデルを生成することができる。例えば、訓練データは、クラスタの視覚的類似度の記述に関連付けられたメディアクラスタの形にした正解データを含むことができる。いくつかの実施形態において、視覚的類似度の説明は、クラスタが関連し、明確なテーマを含むか否かに関するユーザフィードバックを含んでもよい。いくつかの実施形態において、視覚的類似度の説明は、画像分析によって自動的に追加されてもよい。訓練データは、任意のソース、例えば、訓練用に明記されたデータリポジトリ、機械学習の訓練データとして使用するための許可が与えられたデータから取得されてもよい。 In some embodiments, machine learning module 205 may use training data (obtained with permission for training) to generate a trained model, specifically a machine learning model. For example, the training data may include ground truth data in the form of media clusters associated with descriptions of visual similarity of the clusters. In some embodiments, the visual similarity description may include user feedback as to whether the clusters are related and include distinct themes. In some embodiments, visual similarity descriptions may be added automatically by image analysis. Training data may be obtained from any source, such as a data repository designated for training, data that has been granted permission for use as training data for machine learning.

いくつかの実施形態において、訓練データは、訓練の目的で生成された合成データ、例えば、訓練されている状況における活動に基づいていないデータ、例えば、シミュレーションまたはコンピュータによって生成された画像/ビデオから生成されたデータを含んでもよい。いくつかの実施形態において、機械学習モジュール205は、別のアプリケーションから取得され、編集されていない/転送された重みを使用する。例えば、これらの実施形態において、訓練済みモデルは、例えば、異なる装置上で生成され、メディアアプリケーション103の一部として提供されてもよい。様々な実施形態において、訓練済みモデルは、(例えば、ニューラルネットワークノードの数および種類、ノード間の接続、およびノードを複数の層に編成することを定義する)モデル構造または形態と、関連する重みとを含むデータファイルとして提供されてもよい。機械学習モジュール205は、訓練済みモデルのデータファイルを読み取り、訓練済みモデルにおいて指定されたモデル構造または形態に基づいて、ノード接続、層および重みを含むニューラルネットワークを実装することができる。 In some embodiments, the training data is synthetic data generated for training purposes, e.g., data that is not based on activity in the situation being trained, e.g., generated from simulations or computer-generated images/videos. It may also include data that was In some embodiments, machine learning module 205 uses unedited/transferred weights obtained from another application. For example, in these embodiments, the trained model may be generated on a different device and provided as part of the media application 103, for example. In various embodiments, the trained model has a model structure or morphology (e.g., defining the number and type of neural network nodes, connections between nodes, and organization of nodes into layers) and associated weights. It may be provided as a data file containing. Machine learning module 205 can read the trained model data file and implement a neural network including node connections, layers, and weights based on the model structure or morphology specified in the trained model.

機械学習モジュール205は、本明細書ではイベント機械学習モデルと呼ばれる訓練済みモデルを生成する。いくつかの実施形態において、機械学習モジュール205は、イベント機械学習モデルをアプリケーションデータ266(例えば、入力メディア)などのデータに適用することによって、入力メディアアイテム内の1つ以上の特徴を特定し、メディアアイテムを表す特徴ベクトル(埋め込み)を生成するように構成されている。いくつかの実施形態において、機械学習モジュール205は、プロセッサ235によって実行されるソフトウェアコードを含むことができる。いくつかの実施形態において、機械学習モジュール205は、プロセッサ235が機械学習モデルを適用することを可能にする回路構成(例えば、プログラマブルプロセッサ、フィールドプログラマブルゲートアレイ(FPGA))を指定することができる。いくつかの実施形態において、機械学習モジュール205は、ソフトウェア命令、ハードウェア命令、またはその組み合わせを含んでもよい。いくつかの実施形態において、機械学習モジュール205は、アプリケーションプログラミングインターフェイス(API)を提供することができる。オペレーティングシステム262および/または他のアプリケーション264は、このAPIを利用して、機械学習モジュール205を呼び出し、例えば機械学習モデルをアプリケーションデータ266に適用することによって、メディアクラスタの画像埋め込みを出力することができる。いくつかの実施形態において、視覚的類似度に合致するメディアアイテムは、ベクトル空間において類似していない画像よりも互いに近い。したがって、ベクトル空間を区分することにより、メディアアイテムクラスタを生成する。 Machine learning module 205 produces a trained model, referred to herein as an event machine learning model. In some embodiments, machine learning module 205 identifies one or more features within the input media item by applying an event machine learning model to data, such as application data 266 (e.g., input media); The system is configured to generate feature vectors (embeddings) representing media items. In some embodiments, machine learning module 205 may include software code executed by processor 235. In some embodiments, machine learning module 205 can specify circuitry (e.g., a programmable processor, field programmable gate array (FPGA)) that enables processor 235 to apply the machine learning model. In some embodiments, machine learning module 205 may include software instructions, hardware instructions, or a combination thereof. In some embodiments, machine learning module 205 may provide an application programming interface (API). Operating system 262 and/or other applications 264 can utilize this API to output image embeddings of media clusters by calling machine learning module 205 and, for example, applying a machine learning model to application data 266. can. In some embodiments, media items that match visual similarity are closer to each other in vector space than dissimilar images. Therefore, media item clusters are generated by partitioning the vector space.

いくつかの実施形態において、機械学習モデルは、メディアアイテムコレクションを入力として受信する分類器である。分類器の例は、ニューラルネットワーク、サポートベクターマシン、k最近傍、ロジスティック回帰、ナイーブベイズ、決定木、パーセプトロンなどを含む。 In some embodiments, the machine learning model is a classifier that receives a media item collection as input. Examples of classifiers include neural networks, support vector machines, k-nearest neighbors, logistic regression, Naive Bayes, decision trees, perceptrons, and the like.

いくつかの実施形態において、機械学習モデルは、1つ以上のモデル形態または構造を含んでもよい。例えば、モデル形態または構造は、任意の種類のニューラルネットワーク、例えば、線形ネットワーク、複数の層(例えば、入力層と出力層との間の「隠れ層」。各層は、線形ネットワークである)を実装する深層ニューラルネットワーク、畳み込みニューラルネットワーク(例えば、入力データを複数の部分またはタイルに分割または区画し、1つ以上のニューラルネットワーク層を用いて各タイルを別々に処理し、各タイルの処理から得られた結果を集約するネットワーク)、シーケンス間(sequence-to-sequence)ニューラルネットワーク(例えば、1文中の単語、1本の動画中のフレームなどのシーケンシャルデータを入力として受信し、結果シーケンスを出力として生成するネットワーク)を含むことができる。 In some embodiments, a machine learning model may include one or more model forms or structures. For example, the model form or structure may implement any type of neural network, e.g. a linear network, multiple layers (e.g. "hidden layers" between input and output layers, each layer being a linear network). A deep neural network that a sequence-to-sequence neural network (e.g., a network that receives sequential data as input, such as words in a sentence, or frames in a video, and produces a sequence of results as output); network).

モデル形態または構造は、様々なノード間の接続および層に編成されたノードの編成を指定することができる。例えば、最初の層(例えば、入力層)のノードは、データを入力データまたはアプリケーションデータ266として受信することができる。例えば、機械学習モデルを用いてユーザアカウントに関連する入力画像、例えば第1の画像を分析する場合、このようなデータは、例えば、ノードあたり1つ以上のピクセルを含むことができる。後続の中間層は、モデル形態または構造において指定された接続に従って、前の層のノードの出力を入力として受信することができる。これらの層は、隠れ層と呼ばれることもある。最終層(例えば、出力層)は、機械学習モデルの出力を生成する。例えば、この出力は、メディアクラスタの画像埋め込みであってもよい。いくつかの実施形態において、モデル形態または構造は、各層中のノードの数および/または種類を指定する。 The model morphology or structure can specify the connections between various nodes and the organization of nodes organized into layers. For example, a first layer (eg, input layer) node may receive data as input data or application data 266. For example, when a machine learning model is used to analyze an input image, eg, a first image, associated with a user account, such data may include, eg, one or more pixels per node. Subsequent intermediate layers can receive as input the outputs of the nodes of previous layers according to the connections specified in the model form or structure. These layers are sometimes called hidden layers. The final layer (eg, output layer) produces the output of the machine learning model. For example, this output may be an image embedding of the media cluster. In some embodiments, the model morphology or structure specifies the number and/or type of nodes in each layer.

機械学習モジュール205によって出力された特徴は、被写体(例えば、夕日対特定の人物)、画像に存在する色(緑色の丘対青い湖)、色バランス、照明源、角度および強度、(例えば、三分割法を遵守した)画像内の物体の場所、物体の相互場所(例えば、被写界深度)、撮影場所、焦点(前景対背景)、または影を含んでもよい。前述の特徴は、人間が理解できるものであるが、出力された特徴は、画像を代表し、人間が解析可能ではない埋め込みまたは他の数値であってもよい(例えば、個々の特徴値が、存在している色、物体の場所などの特定の特徴に対応していない場合がある)。しかしながら、訓練済みモデルは、画像に対してロバストであるため、類似した画像に対して類似した特徴を出力し、著しく相違する画像に対して相違する特徴を出力する。 The features output by the machine learning module 205 include the subject (e.g., sunset vs. a specific person), the colors present in the image (green hills vs. blue lake), color balance, illumination source, angle and intensity (e.g., three This may include the location of objects in the image (adhering to the segmentation method), the relative location of objects (eg, depth of field), location of the shot, focus (foreground vs. background), or shadows. While the aforementioned features are human-understandable, the output features may be embedded or other numerical values that are representative of the image and not human-analyzable (e.g., individual feature values are (may not correspond to specific features such as the color present, the location of the object, etc.) However, the trained model is robust to images, so it outputs similar features for similar images and different features for significantly different images.

いくつかの実施形態において、モデル形態は、ネットワーク層を含むCNNであり、各ネットワーク層は、異なる抽象化レベルで画像特徴を抽出する。画像内の特徴を特定するために使用されたCNNは、画像を分類するために使用されてもよい。モデルアーキテクチャは、多次元畳み込み、平均プーリング、最大プーリング、活性化関数、正規化、正則化、および応用深層ニューラルネットワークに実際に使用される他の層およびモジュールからなる層の組み合わせおよび順序を含んでもよい。 In some embodiments, the model form is a CNN that includes network layers, each network layer extracting image features at a different level of abstraction. The CNN used to identify features within an image may also be used to classify the image. The model architecture may include layer combinations and orders consisting of multidimensional convolution, average pooling, max pooling, activation functions, regularization, regularization, and other layers and modules that are actually used in applied deep neural networks. good.

異なる実施形態において、機械学習モデルは、1つ以上のモデルを含むことができる。1つ以上のモデルは、モデル構造または形態に従って層に配置された複数のノードを含んでもよい。いくつかの実施形態において、ノードは、例えば、1単位の入力を処理して1単位の出力を生成するように構成された、メモリを持たない計算ノードであってもよい。ノードによって実行される計算は、例えば、複数のノード入力の各々に重みを乗算するステップと、加重和を取得するステップと、バイアス値または切片値を用いて加重和を調整することによってノード出力を生成するステップとを含んでもよい。例えば、機械学習モジュール205は、機械学習モデルの1つ以上のパラメータを自動的に更新することに応答して、フィードバックに基づいて各重みを調整することができる。 In different embodiments, a machine learning model can include one or more models. One or more models may include multiple nodes arranged in layers according to model structure or morphology. In some embodiments, a node may be a memoryless computational node configured to process a unit of input and produce a unit of output, for example. The computations performed by a node may include, for example, multiplying each of a plurality of node inputs by a weight, obtaining a weighted sum, and adjusting the node output by adjusting the weighted sum with a bias or intercept value. It may also include the step of generating. For example, machine learning module 205 can adjust each weight based on the feedback in response to automatically updating one or more parameters of the machine learning model.

いくつかの実施形態において、ノードによって実行される計算はまた、調整された加重和にステップ/活性化関数を適用することを含んでもよい。いくつかの実施形態において、ステップ/活性化関数は非線形関数であってもよい。様々な実施形態において、このような計算は、行列乗算などの演算を含んでもよい。いくつかの実施形態において、複数のノードによって実行される計算は、例えば、マルチコアプロセッサの複数のプロセッサコアを用いて、グラフィカル処理ユニット(GPU)の個々の処理ユニットを用いて、または専用ニューラル回路を用いて並列に実行されてもよい。いくつかの実施形態において、ノードは、メモリを含んでもよい。ノードは、例えば、1つ以上の前の入力を記憶し、後続の入力を処理する際に1つ以上の前の入力を使用してもよい。例えば、メモリを有するノードは、ロングショートタームメモリ(LSTM)ノードを含んでもよい。LSTMノードは、メモリを用いて、ノードが有限状態マシン(FSM)のように動作することを可能にする状態を維持することができる。このようなノードを含むモデルは、連続データ(sequential data)、例えば、1文または1段落に含まれる複数の単語、一連の画像、ビデオ内のフレーム、会話、または他の音声などを処理する際に有用であろう。例えば、ゲーティングモデルに使用されるヒューリスティックスベースモデルは、以前の画像に対して以前に生成された1つ以上の特徴を記憶することができる。 In some embodiments, the calculation performed by the node may also include applying a step/activation function to the adjusted weighted sum. In some embodiments, the step/activation function may be a non-linear function. In various embodiments, such calculations may include operations such as matrix multiplication. In some embodiments, computations performed by multiple nodes may be performed using, for example, multiple processor cores of a multi-core processor, individual processing units of a graphical processing unit (GPU), or dedicated neural circuits. may be used and executed in parallel. In some embodiments, a node may include memory. A node may, for example, remember one or more previous inputs and use one or more previous inputs in processing subsequent inputs. For example, a node having memory may include a long short term memory (LSTM) node. LSTM nodes may use memory to maintain state that allows the node to operate like a finite state machine (FSM). Models containing such nodes are useful when processing sequential data, such as words in a sentence or paragraph, a sequence of images, frames in a video, dialogue, or other audio. would be useful. For example, the heuristics-based model used for the gating model may remember one or more previously generated features for previous images.

いくつかの実施形態において、機械学習モデルは、個々のノードの埋め込みまたは重みを含んでもよい。例えば、機械学習モデルは、モデル形態または構造によって指定されるような層に編成された複数のノードとして初期化されてもよい。初期化の時に、モデル形態に従って接続された各ノード対、例えば、ニューラルネットワークの連続層の各ノード対の間の接続に、各々の重みを適用することができる。例えば、各々の重みは、ランダムに割り当てられてもよく、またはデフォルト値に初期化されてもよい。その後、例えば、メディアクラスタの訓練セットを用いて機械学習モデルを訓練して、結果を生成することができる。いくつかの実施形態において、アーキテクチャ全体のサブセットは、事前に訓練された重みを活用するために、伝達学習法として他の機械学習アプリケーションから再利用されてもよい。 In some embodiments, the machine learning model may include embeddings or weights for individual nodes. For example, a machine learning model may be initialized as multiple nodes organized into layers as specified by model morphology or structure. At the time of initialization, respective weights may be applied to the connections between each pair of nodes connected according to the model form, eg, each pair of nodes in successive layers of the neural network. For example, each weight may be randomly assigned or initialized to a default value. The training set of media clusters can then be used, for example, to train a machine learning model to generate results. In some embodiments, a subset of the entire architecture may be reused from other machine learning applications as a transfer learning method to leverage pre-trained weights.

例えば、訓練は、教師あり学習技術を適用することを含むことができる。教師あり学習において、訓練データは、複数の入力(例えば、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテム)と、各入力に対応する期待出力(例えば、メディアクラスタの画像埋め込み)とを含むことができる。例えば、機械学習モデルが同様の入力を提供したときに期待出力を生成する確率を高めるように、機械学習モデルの出力と期待出力との比較に基づいて、重みの値を自動的に調整する。 For example, training can include applying supervised learning techniques. In supervised learning, the training data includes multiple inputs (e.g., media items from a media item collection associated with a user account) and an expected output (e.g., an image embedding of a media cluster) corresponding to each input. be able to. For example, automatically adjusting weight values based on a comparison of the machine learning model's output and the expected output to increase the probability that the machine learning model will produce the expected output when provided with similar inputs.

いくつかの実施形態において、訓練は、教師なし学習技術を適用することを含むことができる。教師なし学習において、入力データ(例えば、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテム)のみが提供されてもよく、機械学習モデルは、データを区別するように、例えば、画像の特徴を複数のグループにクラスタリングするように訓練されてもよい。 In some embodiments, training can include applying unsupervised learning techniques. In unsupervised learning, only input data (e.g., media items from a media item collection associated with a user account) may be provided, and the machine learning model uses, for example, image features to distinguish between the data. It may be trained to cluster into multiple groups.

様々な実施形態において、訓練済みモデルは、モデル構造に対応する1組の重みを含む。訓練セットを省略した実施形態において、機械学習モジュール205は、例えば、機械学習モジュール205の開発者または第三者などによる事前の訓練に基づいて機械学習モデルを生成してもよい。いくつかの実施形態において、機械学習モデルは、重みを提供するサーバからダウンロードされた1組の固定の重みを含んでもよい。 In various embodiments, a trained model includes a set of weights that correspond to a model structure. In embodiments that omit the training set, machine learning module 205 may generate a machine learning model based on prior training, such as by the developer of machine learning module 205 or a third party. In some embodiments, a machine learning model may include a set of fixed weights downloaded from a server that provides weights.

いくつかの実施形態において、機械学習モジュール205は、オフライン方式で実装されてもよい。機械学習モジュール205を実装することは、静的訓練セット内のデータが変化する場合に更新を含まない静的訓練セットを使用することを含むことができる。これは、有利なことに、コンピューティング装置200によって実行される処理の効率の向上および処理装置200の電力消費の低減をもたらす。これらの実施形態において、機械学習モデルは、第1の段階で生成され、機械学習モジュール205の一部として提供されてもよい。いくつかの実施形態において、機械学習モデルの小さな更新は、訓練データの更新が機械学習モデルの訓練の一部として含まれるオンライン方式で実装されてもよい。小さな更新とは、閾値サイズよりも小さいサイズを有する更新である。更新のサイズは、更新によって影響を受ける機械学習モデル内の変数の数に関連する。このような実施形態において、機械学習モジュール205(例えば、オペレーティングシステム262、1つ以上の他のアプリケーション264など)を呼び出すアプリケーションは、メディアアイテムクラスタの画像埋め込みを利用して視覚的に類似するクラスタを識別することができる。また、機械学習モジュール205は、定期的に、例えば1時間ごとに、1ヵ月ごとに、または3ヵ月ごとにシステムログを生成することができる。システムログは、機械学習モデルを更新するために、例えば機械学習モデルの埋め込みを更新するために使用されてもよい。 In some embodiments, machine learning module 205 may be implemented in an offline manner. Implementing machine learning module 205 may include using a static training set that does not include updates when data in the static training set changes. This advantageously results in increased efficiency of processing performed by computing device 200 and reduced power consumption of processing device 200. In these embodiments, a machine learning model may be generated in a first stage and provided as part of machine learning module 205. In some embodiments, small updates to a machine learning model may be implemented in an online manner where updates to training data are included as part of training the machine learning model. A small update is an update that has a size smaller than a threshold size. The size of an update is related to the number of variables in the machine learning model that are affected by the update. In such embodiments, an application invoking machine learning module 205 (e.g., operating system 262, one or more other applications 264, etc.) utilizes image embedding of media item clusters to identify visually similar clusters. can be identified. Machine learning module 205 may also generate system logs periodically, for example, every hour, every month, or every three months. System logs may be used to update machine learning models, for example to update embeddings of machine learning models.

いくつかの実施形態において、機械学習モジュール205は、機械学習モジュール205が実行されるコンピューティング装置200の特定の構成に適合するような方法で実装されてもよい。例えば、機械学習モジュール205は、利用可能な計算リソース、例えばプロセッサ235を利用する計算グラフを決定することができる。機械学習モジュール205が複数の装置上で分散型アプリケーションとして実装された場合、例えば、メディアサーバ101が複数のメディアサーバ101を含む場合、機械学習モジュール205は、計算を最適化するように個々の装置上で実行される計算を決定することができる。別の例において、機械学習モジュール205は、プロセッサ235が特定の数(例えば、1000個)のGPUコアを有するGPUを含んでいると判断すると、機械学習モジュール205を(例えば、1000個の個別のプロセスまたはスレッドとして)実装することができる。 In some embodiments, machine learning module 205 may be implemented in a manner compatible with the particular configuration of computing device 200 on which machine learning module 205 is executed. For example, machine learning module 205 can determine a computational graph that utilizes available computational resources, such as processor 235. If the machine learning module 205 is implemented as a distributed application on multiple devices, e.g., if the media server 101 includes multiple media servers 101, the machine learning module 205 may be implemented on each individual device to optimize computation. It is possible to determine the calculations to be performed on the In another example, when machine learning module 205 determines that processor 235 includes a GPU having a certain number (e.g., 1000) of GPU cores, machine learning module 205 determines that processor 235 includes a (as a process or a thread).

いくつかの実施形態において、機械学習モジュール205は、1組の訓練済みモデルを実装することができる。例えば、イベント機械学習モデルは、各々が同じ入力データに適用可能である複数の訓練済みモデルを含むことができる。これらの実施形態において、機械学習モジュール205は、例えば、利用可能な計算リソース、以前の推論を使用した場合の成功率などに基づいて、特定の訓練済みモデルを選択することができる。 In some embodiments, machine learning module 205 may implement a set of trained models. For example, an event machine learning model can include multiple trained models, each applicable to the same input data. In these embodiments, machine learning module 205 may select a particular trained model based on, for example, available computational resources, success rate using previous inferences, etc.

いくつかの実施形態において、機械学習モジュール205は、複数の訓練済みモデルを実行することができる。これらの実施形態において、機械学習モジュール205は、例えば、各訓練済みモデルを適用することによって得られた出力にスコアを付ける多数決を用いて、または1つ以上の特定の出力を選択することによって、出力を合成することができる。いくつかの実施形態において、このようなセレクタは、モデル自体の一部であり、訓練済みモデルの間の接続層として機能する。さらに、これらの実施形態において、機械学習モジュール205は、個々の訓練済みモデルを適用するための時間閾値(例えば、0.5ms)を適用し、時間閾値内で利用可能な個々の出力のみを利用することができる。時間閾値内に受信されていない出力は、利用されず、例えば破棄されてもよい。例えば、このような手法は、例えばオペレーティングシステム262または1つ以上の他のアプリケーション264によって、機械学習モジュール205を呼び出す間に指定された時間制限があるときに適切であろう。このようにして、機械学習モジュール205がタスクを実行するために、例えば入力メディアアイテムの1つ以上の特徴を識別し、メディアアイテムを表す特徴ベクトル(埋め込み)を生成するために要する最大時間を制限することができるため、メディアアプリケーション103の応答性を改善することができ、その結果、機械学習モジュール205がリアルタイムで最良な分類を提供することができる。 In some embodiments, machine learning module 205 can run multiple trained models. In these embodiments, the machine learning module 205 may, for example, use majority voting to score the outputs obtained by applying each trained model, or by selecting one or more particular outputs. Outputs can be combined. In some embodiments, such selectors are part of the model itself and serve as a connection layer between trained models. Additionally, in these embodiments, machine learning module 205 applies a time threshold (e.g., 0.5 ms) for applying individual trained models and utilizes only individual outputs available within the time threshold. can do. Outputs that are not received within a time threshold are not utilized and may, for example, be discarded. For example, such an approach may be appropriate when there is a time limit specified between invoking machine learning module 205, such as by operating system 262 or one or more other applications 264. In this way, we limit the maximum time that machine learning module 205 takes to perform a task, e.g., to identify one or more features of an input media item and generate a feature vector (embedding) representing the media item. The responsiveness of the media application 103 can be improved because the machine learning module 205 can provide the best classification in real time.

いくつかの実施形態において、機械学習モジュール205は、フィードバックを受信する。例えば、機械学習モジュール205は、ユーザインターフェイスモジュール208を介して、1人のユーザまたは1組のユーザからフィードバックを受信することができる。1人のユーザがフィードバックを提供する場合、機械学習モジュール205は、フィードバックを機械学習モデルに提供し、機械学習モデル205は、フィードバックを用いて、機械学習モデルのパラメータを更新して、メディアアイテムクラスタの出力画像埋め込みを修正する。1組のユーザがフィードバックを提供する場合、機械学習モジュール205は、集約フィードバックを機械学習モデルに提供し、機械学習モデル205は、集約フィードバックを用いて、機械学習モデルのパラメータを更新して、メディアアイテムクラスタの出力画像埋め込みを変更する。例えば、集約フィードバックは、メディアクラスタのサブセットと、メディアクラスタのサブセットに対するユーザの反応とを含んでもよい。ユーザの反応は、1つの画像のみを閲覧し、残りのメディアの閲覧を拒否すること、サブセット内の対応するメディアアイテムの全てを閲覧すること、対応するメディアアイテムを共有すること、対応するメディアアイテムの承認または不承認の指示(例えば、サムアップ/サムダウン、いいね、+1など)を提供すること、メディアアイテムクラスタのサブセットからの個別のメディアアイテムを削除/追加すること、タイトルを変更することなどを含む。機械学習モジュール205は、機械学習モデルのパラメータの更新に基づいて、メディアクラスタを変更することができる。 In some embodiments, machine learning module 205 receives feedback. For example, machine learning module 205 can receive feedback from a user or set of users via user interface module 208. When a user provides feedback, machine learning module 205 provides the feedback to the machine learning model, and machine learning model 205 uses the feedback to update parameters of the machine learning model to create media item clusters. Fix the output image embedding of . When a set of users provides feedback, machine learning module 205 provides aggregate feedback to the machine learning model, and machine learning model 205 uses the aggregate feedback to update parameters of the machine learning model to Change the output image embedding for item clusters. For example, aggregate feedback may include a subset of media clusters and a user's response to the subset of media clusters. The user's responses can be to view only one image and refuse to view the rest of the media, view all of the corresponding media items in the subset, share the corresponding media item, and the corresponding media item. provide approval or disapproval instructions (e.g., thumbs up/thumbs down, likes, +1, etc.), remove/add individual media items from a subset of media item clusters, change titles, etc. include. Machine learning module 205 can modify media clusters based on updating parameters of the machine learning model.

いくつかの実施形態において、機械学習モデルは、ユーザフィードバックを用いて訓練され、このフィードバックは、クラスタのサブセットに対する反応およびサブセット内のクラスタのうちの1つのタイトルの変更を含む。機械学習モジュール205は、フィードバックを機械学習モデルに提供して、特定の種類の視覚的類似度を有するメディアアイテムクラスタ(例えば、視覚的に類似しているが、ユーザが見たい種類のメディアではない海波の画像、および異なる時間および/または異なる場所で撮影した波上のサーファーの画像)を除外するようにパラメータを変更する。 In some embodiments, the machine learning model is trained with user feedback, including reactions to a subset of clusters and changing the title of one of the clusters within the subset. Machine learning module 205 provides feedback to the machine learning model to identify clusters of media items that have a certain type of visual similarity (e.g., are visually similar but not the type of media that the user would like to see). The parameters are changed to exclude images of ocean waves and images of surfers on waves taken at different times and/or different locations.

選択モジュール206は、クラスタリングモジュール204によって決定された視覚的類似度に基づいて、メディアアイテムクラスタのサブセットを選択する。いくつかの実施形態において、選択モジュール206は、メディアアイテムクラスタのサブセットを選択するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、選択モジュール206は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。 Selection module 206 selects a subset of media item clusters based on visual similarity determined by clustering module 204. In some embodiments, selection module 206 includes a set of instructions executable by processor 235 to select a subset of media item clusters. In some embodiments, selection module 206 may be stored in memory 237 of computing device 200 and may be accessible and executable by processor 235.

いくつかの実施形態において、選択モジュール206は、メディアアイテムが視覚的類似度閾値の範囲内の視覚的類似度を有するメディアアイテムクラスタのサブセットを選択する。例えば、範囲は、0~4のうち、0.05~0.3の間であってもよい。他の範囲および尺度も可能である。視覚的類似度閾値の範囲内のメディアアイテムクラスタのサブセットは、関連性および凝集性があると認識された視覚的テーマを有すると見なされてもよい。 In some embodiments, selection module 206 selects a subset of media item clusters whose media items have visual similarity within a visual similarity threshold. For example, the range may be between 0.05 and 0.3 out of 0 and 4. Other ranges and scales are also possible. A subset of media item clusters within a visual similarity threshold may be considered to have visual themes that are recognized as related and cohesive.

いくつかの実施形態において、メディアアイテムクラスタが所定の数を超える(例えば、15個のメディアアイテムを超える)場合、選択モジュール206は、メディアアイテムクラスタのサブセットを選択するときに追加の制限を課すことができる。例えば、選択モジュール206は、各メディアアイテムに関連するタイムスタンプを識別し、タイムスタンプに基づいて複数のメディアアイテム(例えば、同じ期間および同じ場所に関連付けられたメディアアイテム)が同じエピソードに関連付けられていることを識別し、特定のエピソードから所定数を超えるメディアアイテムを除外する時間的多様性基準を満たすように、メディアアイテムクラスタのサブセットが関連するタイムスタンプに基づいてメディアアイテムクラスタのサブセットを選択する(すなわち、特定の数(例えば、3)以下のメディアアイテムが同じエピソードに関連付けられないように、関連するタイムスタンプに基づいてメディアアイテムクラスタのサブセットを選択する)ことによって、時間的多様性を課すことができる。ユーザが同じ時間帯に同じ場所で物体の複数の画像を撮影することがあるため、これは、あまりにも類似過ぎて重複する可能性のあるメディアアイテムクラスタを回避する。これはまた、ユーザが同じ画像を撮影し、例えば別の写真共有アプリケーションに投稿するために編集するという状況を回避する。選択モジュール206は、時間的多様性を用いて、ある時間帯にわたる物体の進捗を示すクラスタのサブセットを選択することができる。例えば、クラスタは、子供が大きく成長することを示すように異なる期間に撮影した子供の異なる画像、または実生から花の咲く茂みまでの植物の異なる画像を含むことができる。 In some embodiments, if the number of media item clusters exceeds a predetermined number (e.g., greater than 15 media items), selection module 206 imposes additional restrictions when selecting the subset of media item clusters. Can be done. For example, the selection module 206 may identify a timestamp associated with each media item and determine whether multiple media items (e.g., media items associated with the same time period and same location) are associated with the same episode based on the timestamp. selecting a subset of media item clusters based on the timestamps to which the subset of media item clusters are associated, such that the subset of media item clusters satisfies a temporal diversity criterion that identifies that a media item is present in the media and excludes more than a predetermined number of media items from a particular episode; (i.e., by imposing temporal diversity by selecting a subset of media item clusters based on associated timestamps such that no more than a certain number (e.g., 3) of media items are associated with the same episode) be able to. This avoids media item clusters that are too similar and potentially overlapping, since a user may take multiple images of an object at the same location at the same time of day. This also avoids a situation where a user takes the same image and edits it for posting to another photo sharing application, for example. Selection module 206 may use temporal diversity to select a subset of clusters that represent the progress of an object over a period of time. For example, a cluster may include different images of a child taken at different time periods to show the child growing large, or different images of plants from seedlings to flowering bushes.

いくつかの実施形態において、選択モジュール206は、メディアクラスタのサブセットに場所的多様性を課す。例えば、選択モジュール206は、各メディアアイテムに関連付けられた場所を識別することができ、クラスタに利用可能な対応するメディアアイテムの数が所定の数を超える(例えば、10個のメディアアイテムを超える)場合、選択モジュール206は、メディアアイテムクラスタのサブセットが場所的多様性基準を満たすように、場所に基づいてメディアアイテムクラスタのサブセットを選択する。図4は、画像が異なる月および年に撮影されたため時間的多様性と、画像が異なる場所で撮影されたため場所的多様性の両方を有する異なる山脈の自然画像の視覚テーマの実施例400を含む。画像には2種類の多様性があるが、視覚テーマを通して隠れた類似度が浮上してくる。 In some embodiments, selection module 206 imposes geographic diversity on a subset of media clusters. For example, the selection module 206 can identify a location associated with each media item such that the number of corresponding media items available for the cluster exceeds a predetermined number (e.g., exceeds 10 media items). If so, selection module 206 selects a subset of media item clusters based on location such that the subset of media item clusters satisfies a locational diversity criterion. FIG. 4 includes an example 400 of visual themes for natural images of different mountain ranges that have both temporal diversity because the images were taken in different months and years, and locational diversity because the images were taken in different locations. . There are two types of diversity in images, but hidden similarities emerge through visual themes.

いくつかの実施形態において、選択モジュール206は、メディアクラスタのサブセットに意味的テーマを課す。選択モジュール206は、画像に関連付けられたラベルを識別し、同じまたは類似のラベルを有する対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットをグループ化することができる。例えば、選択モジュール206は、画像内の犬の描写を特定するラベルを用いて、子犬から成犬までのメディアアイテムクラスタのサブセットを選択することができる。いくつかの実施形態において、メディアアプリケーション103は、金門橋の意味的テーマと、金門橋の黄金色に視覚的に類似している他の橋の視覚的テーマとを組み合わせる。 In some embodiments, selection module 206 imposes a semantic theme on a subset of media clusters. Selection module 206 may identify labels associated with images and group subsets of media item clusters based on corresponding media items having the same or similar labels. For example, selection module 206 may select a subset of media item clusters ranging from puppies to adult dogs using labels that identify depictions of dogs in images. In some embodiments, the media application 103 combines the semantic theme of the Golden Gate Bridge with the visual theme of other bridges that are visually similar to the golden color of the Golden Gate Bridge.

いくつかの実施形態において、選択モジュール206は、ユーザアカウントに関連付けられたユーザがメディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、メディアアイテムクラスタのサブセット内の各メディアアイテムを採点する。肯定的な行動は、サブセットを閲覧すること、サブセットを共有すること、サブセットからプリントを注文することなどを含むことができる。選択モジュール206は、主題がより興味深いものである場合、例えば、主題が赤ちゃん、ユーザの知り合い、ユーザが訪れた場所などを含む場合、メディアアイテムを、ユーザアカウントに関連付けられたユーザが肯定的な行動を実行する可能性に関連するものとして採点することができる。逆に、選択モジュール206は、ユーザが特定の対象、例えば、二段ベッドなどの静的物体に関連する肯定的な行動を行う可能性が低いと決定することができる。いくつかの実施形態において、選択モジュール206は、ユーザに関連する個人情報に基づいて、またはメディアに対するユーザの一般的な反応に関する集約情報に基づいて、メディアアイテムクラスタのサブセットを採点する。いくつかの実施形態において、メディアアイテムの品質が、ユーザアカウントに関連付けられたユーザがメディアアイテムに関連付けられた肯定的な行動を実行する可能性を低減させるため、選択モジュール206は、ぼやけすぎているなどの品質に基づいて、メディアアイテムを採点する。 In some embodiments, the selection module 206 selects within the subset of media item clusters based on analyzing the likelihood that a user associated with the user account will view the media item and perform a positive action. Score each media item. Affirmative actions can include viewing the subset, sharing the subset, ordering prints from the subset, and so on. The selection module 206 selects media items that are more interesting if the subject matter is more interesting, for example, if the subject matter includes babies, people the user knows, places the user has visited, etc. can be scored as related to the likelihood of performing. Conversely, selection module 206 may determine that the user is less likely to perform a positive action associated with a particular object, eg, a static object such as a bunk bed. In some embodiments, the selection module 206 scores the subset of media item clusters based on personal information associated with the user or based on aggregate information regarding the user's general reaction to the media. In some embodiments, the selection module 206 selects a media item that is too blurry because the quality of the media item reduces the likelihood that a user associated with the user account will perform a positive action associated with the media item. Score media items based on their quality.

選択モジュール206は、各メディアアイテムに対応するスコアが閾値スコアを満たす場合、メディアアイテムクラスタのサブセット内のメディアアイテムを選択することができる。いくつかの実施形態において、閾値スコアは、全てのユーザに対して同一である静的値である。いくつかの実施形態において、閾値スコアは、ユーザに固有である。いくつかの実施形態において、閾値スコアは、ユーザによって指定される。 Selection module 206 may select media items within the subset of media item clusters if the score corresponding to each media item satisfies a threshold score. In some embodiments, the threshold score is a static value that is the same for all users. In some embodiments, the threshold score is user-specific. In some embodiments, the threshold score is specified by the user.

選択モジュール206は、クラスタのサブセットを決定すると、クラスタのサブセットを含むユーザインターフェイスを表示するようにユーザインターフェイスモジュール208に指示することができる。いくつかの実施形態において、ユーザは、クラスタのサブセットに関連するフィードバックを提供することができる。例えば、ユーザは、サブセットを閲覧し、サブセットの承認を示す指示を提供し、サブセットを共有し、サブセットから写真の印刷を注文することができる。 Once the selection module 206 determines the subset of clusters, it can direct the user interface module 208 to display a user interface that includes the subset of clusters. In some embodiments, a user may provide feedback related to a subset of clusters. For example, a user can view the subset, provide indications of approval of the subset, share the subset, and order printing of photos from the subset.

いくつかの実施形態において、選択モジュール206は、フィードバックを受信し、このフィードバックに基づいてメディアアイテムクラスタのサブセットに対応するスコアを変更する。例えば、フィードバックは、ユーザインターフェイスからのクラスタのサブセットの削除によって示された明示的な行動、またはクラスタのサブセットの閲覧、クラスタのサブセットの視聴、またはクラスタのサブセットの共有のうちの1つ以上によって示された暗黙的な行動を含むことができる。いくつかの実施形態において、選択モジュール206は、フィードバック内のパターンを特定することができる。例えば、クラスタ内の物体が特定の種類(赤ちゃん、家族、木など)であるときに肯定的なフィードバックが生じた場合、選択モジュール206は、クラスタのサブセットが同様の種類の物体を含むようにスコアを修正することができる。別の例では、パターンは、ユーザがより高い視覚的類似度よりもより低い視覚的類似度を有するテーマを好むことを示すことができ、選択モジュール206は、より低い視覚的類似度を有するテーマをより頻繁に選択するようにスコアを修正することができる。 In some embodiments, selection module 206 receives feedback and changes scores corresponding to the subset of media item clusters based on the feedback. For example, feedback may be indicated by explicit action indicated by deleting a subset of clusters from a user interface, or by one or more of viewing a subset of clusters, viewing a subset of clusters, or sharing a subset of clusters. This can include implicit actions that have been taken. In some embodiments, selection module 206 can identify patterns within the feedback. For example, if positive feedback occurs when objects in a cluster are of a particular type (baby, family, tree, etc.), selection module 206 scores a subset of clusters to include objects of similar types. can be corrected. In another example, the pattern may indicate that the user prefers themes with lower visual similarities than higher visual similarities, and selection module 206 selects themes with lower visual similarities. The score can be modified to select more frequently.

いくつかの実施形態において、選択モジュール206は、メディアアプリケーション103を使用する1組のユーザからフィードバックを受信し、フィードバックを集約することができる。例えば、選択モジュール206は、メディアクラスタのサブセットに対するユーザの集約フィードバックを作成することができ、集約フィードバックに基づいて採点を変更することができる。 In some embodiments, selection module 206 can receive feedback from a set of users using media application 103 and aggregate the feedback. For example, the selection module 206 can create aggregate feedback of the user for a subset of media clusters and can change the scoring based on the aggregate feedback.

ユーザインターフェイスモジュール208は、ユーザインターフェイスを生成する。いくつかの実施形態において、ユーザインターフェイスモジュール208は、ユーザインターフェイスを生成するためにプロセッサ235によって実行可能な命令のセットを含む。いくつかの実施形態において、ユーザインターフェイスモジュール208は、コンピューティング装置200のメモリ237に記憶され、プロセッサ235によってアクセス可能且つ実行可能であってもよい。 User interface module 208 generates a user interface. In some embodiments, user interface module 208 includes a set of instructions executable by processor 235 to generate a user interface. In some embodiments, user interface module 208 may be stored in memory 237 of computing device 200 and accessible and executable by processor 235.

ユーザインターフェイスモジュール208は、メディアクラスタのサブセットを含むユーザインターフェイスを表示する。図5は、本明細書に記載のいくつかの実施形態に従って、視覚テーマを有するクラスタ505を含むユーザインターフェイスの例500を示す。この例において、クラスタ505は、最近のハイライトのグループおよび1年前の画像のグループと共に、ユーザインターフェイスの上部に表示される。また、ユーザインターフェイス500は、昨日(3月9日)にサンフランシスコで撮影された画像を含む。 User interface module 208 displays a user interface that includes a subset of media clusters. FIG. 5 illustrates an example user interface 500 that includes clusters 505 with visual themes, in accordance with some embodiments described herein. In this example, cluster 505 is displayed at the top of the user interface, along with a group of recent highlights and a group of images from a year ago. User interface 500 also includes an image taken yesterday (March 9th) in San Francisco.

いくつかの実施形態において、ユーザインターフェイスモジュール208は、クラスタのサブセットを示唆すると共に、メディアを閲覧、編集、および共有するためのユーザインターフェイスを生成する。図5に示すように、ユーザインターフェイスは、例えば、ユーザインターフェイスの上部に場所するクラスタを含んでもよく、ユーザが画像を選択すると、ユーザインターフェイスは、画像を編集または共有するためのオプションを含む。 In some embodiments, user interface module 208 suggests subsets of clusters and generates a user interface for viewing, editing, and sharing media. As shown in FIG. 5, the user interface may include, for example, a cluster located at the top of the user interface, and when the user selects an image, the user interface includes options to edit or share the image.

いくつかの実施形態において、ユーザがユーザインターフェイス内のクラスタを選択することに応答して、ユーザインターフェイスモジュール208は、所定の間隔でクラスタからの対応するメディアアイテムを表示する。例えば、ユーザインターフェイスモジュール208は、2秒、3秒などで各メディアアイテムを表示することができる。 In some embodiments, in response to a user selecting a cluster in the user interface, user interface module 208 displays corresponding media items from the cluster at predetermined intervals. For example, user interface module 208 may display each media item for 2 seconds, 3 seconds, etc.

いくつかの実施形態において、ユーザインターフェイスモジュール208は、クラスタのサブセットにカバー写真を提供する。カバー写真は、最も新しい写真、最も高いスコアを有する写真などであってもよい。いくつかの実施形態において、ユーザインターフェイスモジュール208は、視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、メディアアイテムクラスタのサブセット内の各クラスタからの特定のメディアアイテムを、メディアアイテムクラスタのサブセット内の各クラスタのカバー写真として選択する。例えば、クラスタは、スキーをしている人々グループの視覚的テーマを有してもよく、ユーザインターフェイスモジュール208は、スキーをしている人々のクラスタからの最高数の人物を描写する画像を示すカバー写真をクラスタに選択してもよい。別の例では、クラスタが屋外の水中活動に関与する人々の視覚テーマを有する場合、ユーザインターフェイスモジュール208は、人々が水中にいるのではなく水の近くにいる(例えば、砂の城を作る、または人々がより活発な屋外活動に従事していない(例えば、水に沿って日焼けする)他の画像と比較して、サーフィンをしている人の画像が最も代表的なカバー用メディアアイテムであると判断することができる。また、ユーザインターフェイスモジュール208は、クラスタの中では最も高い視覚的品質(例えば、鮮明、高解像度、ぼやけていない、良好な露出など)を有することに基づいて、カバー写真を選択することもできる。 In some embodiments, user interface module 208 provides cover photos for a subset of clusters. The cover photo may be the newest photo, the photo with the highest score, etc. In some embodiments, user interface module 208 selects a particular media item from each cluster within the subset of media item clusters based on the particular media item that contains the greatest number of objects corresponding to the visual similarity. , as the cover photo for each cluster in the subset of media item clusters. For example, a cluster may have a visual theme of a group of people skiing, and the user interface module 208 displays a cover that shows an image depicting the highest number of people from the cluster of people skiing. Photos may be selected into clusters. In another example, if the cluster has a visual theme of people engaging in outdoor aquatic activities, the user interface module 208 may indicate that the people are near water rather than in water (e.g., building sandcastles, or images of people surfing are the most representative cover media item compared to other images where people are not engaged in more vigorous outdoor activities (e.g. tanning along the water) The user interface module 208 may also select the cover photo based on having the highest visual quality (e.g., clear, high resolution, unblurred, well exposed, etc.) among the clusters. You can also choose.

いくつかの実施形態において、ユーザインターフェイスモジュール208は、視覚テーマの種類および/またはひな型表現に基づいて、メディアアイテムクラスタのサブセット内の各クラスタにタイトルを追加する。例えば、タイトルは、画像内で発生した行動(例えば、海クラスタの場合「surf's up」、空クラスタの場合「into the blue」、道路クラスタの場合「on the road」、教会画像の場合「stairway to heaven」)、食品の比喩(例えば、「mixed nuts」、「smorgasbord」、「mixed bag」、「goody bag」、「wine flight」、「cheese pairing」、「sampler」、「treasure trove」、「overlooked treasures」、「have a drink」)、写真トレイル(例えば、「photo detective」、「photo mystery」、「mystery photos」、「photo sphinx」)、創造的な組み合わせ、相関関係(例えば、繋がり、羽毛の写真、フォトクラブ、フォトウィービング、パターン的、偶然、原因と結果、スロットマシン、これらのうちの1つは他のものと同じである、類似)、パターンに言及するタイトル(例えば、ベータパターン、パターンハンター、小パターン、パターンポータル、ドットの連結、画像パターン、写真パターン)、パターンの同義語、例えばテーマ(例えば、フォトストーリー、写真ストーリー、フォト物語、2つの写真の物語、フォトテーマ、ラッキーテーマ)、セット(例えば、写真セット、驚きセット)、または一致(例えば、メモリ一致)、擬音語(例えば、ジグザグ、ブーム、パンパン、ビシッ、ビシッフォト、フォトビシッ)、動詞(例えば、「look what we found in the couch cushions」、「look what appeared」、「help us sleuth」、「will it blend」、「time flies」、「some things never change」)、または推測が正しいという高めの信頼スコアを選択モジュールが有することになる繋がりを参照するクラスタのタイトル(例えば、魔法のパターン、軽快感)を指すことができる。いくつかの実施形態において、ひな型表現は、単に「誕生日1997~2001」などのタイトルを追加することよりも、口語的且つ魅力的な面白い表現または常用表現であってもよい。いくつかの実施形態において、ユーザインターフェイスモジュール208は、図3Bの第4の例375に関して、「Look what we found」などの一般的なタイトルと、「your orange backpack brought you far」などのテーマを特定するサブタイトルとを含むタイトルを含むことができる。 In some embodiments, user interface module 208 adds a title to each cluster in the subset of media item clusters based on the type of visual theme and/or template representation. For example, the title could be the action that occurred in the image (e.g. "surf's up" for the ocean cluster, "into the blue" for the sky cluster, "on the road" for the road cluster, "stairway to heaven), food metaphors (e.g., "mixed nuts", "smorgasbord", "mixed bag", "goody bag", "wine flight", "cheese pairing", "sampler", "treasure trove", "overlooked") photo trails (e.g., "photo detective," "photo mystery," "mystery photos," "photo sphinx"), creative combinations, correlations (e.g., connections, photo, photo club, photo weaving, pattern, coincidence, cause and effect, slot machine, one of these is the same as the other, similar), title referring to a pattern (e.g. beta pattern, pattern Hunter, small pattern, pattern portal, connect the dots, image pattern, photo pattern), synonyms of patterns, such as themes (e.g. photo story, photo story, photo story, story of two photos, photo theme, lucky theme) , a set (e.g., photo set, surprise set), or a match (e.g., memory match), an onomatopoeic word (e.g., zigzag, boom, pan-pan, bang, bang, photo, photobish), a verb (e.g., "look what we found ``in the couch cushions'', ``look what appeared'', ``help us sleuth'', ``will it blend'', ``time flies'', ``some things never change''), or a high confidence score that the guess is correct. It can refer to the title of the cluster (eg, Magical Pattern, Light Feeling) that refers to the connections it will have. In some embodiments, the template expression may be a funny or common expression that is more colloquial and appealing than simply adding a title such as "Birthdays 1997-2001." In some embodiments, the user interface module 208 identifies a general title such as "Look what we found" and a theme such as "your orange backpack brought you far" with respect to the fourth example 375 of FIG. 3B. It can include a title that includes a subtitle.

いくつかの実施形態において、ユーザインターフェイスモジュール208は、クラスタのサブセットが閲覧可能である通知を、ユーザアカウントに関連付けられたユーザに提供する。ユーザインターフェイスモジュール208は、毎日、毎週、毎月などのように、通知を定期的に提供することができる。いくつかの実施形態において、通知が毎日(毎週、毎月など)提供されるときにユーザが通知を閲覧しなくなる場合、ユーザインターフェイスモジュール208は、より少ない頻度で通知を生成することができる。ユーザインターフェイスモジュール208は、クラスタのサブセットに対応するタイトルを含む通知を追加的に提供することができる。 In some embodiments, user interface module 208 provides a notification to a user associated with the user account that a subset of the clusters is available for viewing. User interface module 208 may provide notifications on a regular basis, such as daily, weekly, monthly, etc. In some embodiments, if the user no longer views notifications when they are provided daily (weekly, monthly, etc.), user interface module 208 may generate notifications less frequently. User interface module 208 may additionally provide a notification that includes a title corresponding to the subset of clusters.

例示的なフローチャート
図6は、いくつかの実施形態に従って、メディアアイテムクラスタのサブセットを表示するための例示的な方法600を示すフローチャートである。フローチャート600に示された方法は、図2のコンピューティング装置200によって実行されてもよい。
Exemplary Flowchart FIG. 6 is a flowchart illustrating an example method 600 for displaying a subset of media item clusters, according to some embodiments. The method illustrated in flowchart 600 may be performed by computing device 200 of FIG. 2.

方法600は、ブロック602から始まることができる。ブロック602において、ユーザアカウントに関連付けられたメディアアイテムコレクションへのアクセスを求める要求を生成する。いくつかの実施形態において、要求は、ユーザインターフェイスモジュール208によって生成される。ブロック602の後にブロック604を実行することができる。 Method 600 may begin at block 602. At block 602, a request is generated for access to a media item collection associated with a user account. In some embodiments, the request is generated by user interface module 208. Block 604 may be executed after block 602.

ブロック604において、許可インターフェイス要素を表示する。例えば、ユーザインターフェイスモジュール208は、ユーザがメディアアイテムコレクションにアクセスするための許可を提供することを要求するための許可インターフェイス要素を含むユーザインターフェイスを表示することができる。ブロック604の後にブロック606を実行することができる。 At block 604, permission interface elements are displayed. For example, user interface module 208 can display a user interface that includes a permission interface element for requesting that a user provide permission to access a media item collection. Block 606 may be executed after block 604.

ブロック606において、メディアアイテムコレクションへのアクセスのための許可がユーザによって与えられたか否かを判断する。いくつかの実施形態において、ブロック606は、ユーザインターフェイスモジュール208によって実行される。ユーザが許可を提供していない場合、方法は、終了する。ユーザが許可を提供した場合、ブロック606の後にブロック608を実行することができる。 At block 606, it is determined whether permission has been granted by the user to access the media item collection. In some embodiments, block 606 is performed by user interface module 208. If the user has not provided permission, the method ends. If the user provides permission, block 606 may be followed by block 608.

ブロック608において、メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内のメディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定する。メディアアイテムコレクションは、ユーザアカウントに関連付けられる。いくつかの実施形態において、ブロック606は、クラスタリングモジュール204によって実行される。ブロック608の後にブロック610を実行することができる。 At block 608, media item clusters are determined such that media items within each cluster have visual similarity based on pixels of images or videos from the media item collection. Media item collections are associated with user accounts. In some embodiments, block 606 is performed by clustering module 204. Block 610 may be executed after block 608.

ブロック610において、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。いくつかの実施形態において、ブロック610は、選択モジュール206によって実行される。ブロック610の後にブロック612を実行することができる。 At block 610, a subset of media item clusters is selected based on corresponding media items in each cluster that have visual similarities within a visual similarity threshold. In some embodiments, block 610 is performed by selection module 206. Block 612 may be executed after block 610.

ブロック612において、メディアクラスタのサブセットを含むユーザインターフェイスを表示する。いくつかの実施形態において、ブロック610は、ユーザインターフェイスモジュール208によって実行される。 At block 612, a user interface is displayed that includes a subset of media clusters. In some embodiments, block 610 is performed by user interface module 208.

図7は、いくつかの実施形態に従って、機械学習モデルを用いてメディアアイテムクラスタのための埋め込みを生成し、メディアアイテムクラスタのサブセットを選択するための例示的な方法700を示すフローチャートである。フローチャート700に示された方法は、図2のコンピューティング装置200によって実行されてもよい。 FIG. 7 is a flowchart illustrating an example method 700 for generating embeddings for media item clusters and selecting a subset of media item clusters using a machine learning model, according to some embodiments. The method illustrated in flowchart 700 may be performed by computing device 200 of FIG.

方法700は、ブロック702から始まることができる。ブロック702において、ユーザアカウントに関連付けられたメディアアイテムコレクションへのアクセスを求める要求を生成する。いくつかの実施形態において、要求は、ユーザインターフェイスモジュール208によって生成される。ブロック702の後にブロック704を実行することができる。 Method 700 may begin at block 702. At block 702, a request is generated for access to a media item collection associated with a user account. In some embodiments, the request is generated by user interface module 208. Block 704 may be executed after block 702.

ブロック704において、許可インターフェイス要素を表示する。例えば、ユーザインターフェイスモジュール208は、ユーザがメディアアイテムコレクションにアクセスするための許可を提供することを要求するための許可インターフェイス要素を含むユーザインターフェイスを表示することができる。ブロック704の後にブロック706を実行することができる。 At block 704, permission interface elements are displayed. For example, user interface module 208 can display a user interface that includes a permission interface element for requesting that a user provide permission to access a media item collection. Block 706 may be executed after block 704.

ブロック706において、メディアアイテムコレクションへのアクセスのための許可がユーザによって与えられたか否かを判断する。いくつかの実施形態において、ブロック706は、ユーザインターフェイスモジュール208によって実行される。ユーザが許可を提供していない場合、方法は、終了する。ユーザが許可を提供した場合、ブロック706の後にブロック708を実行することができる。 At block 706, it is determined whether permission has been granted by the user to access the media item collection. In some embodiments, block 706 is performed by user interface module 208. If the user has not provided permission, the method ends. If the user provides permission, block 706 may be followed by block 708.

ブロック708において、訓練済み機械学習モデルは、ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを入力として受信する。いくつかの実施形態において、ブロック708は、機械学習モジュール205によって実行される。ブロック708の後にブロック710を実行することができる。 At block 708, the trained machine learning model receives as input media items from a media item collection associated with the user account. In some embodiments, block 708 is performed by machine learning module 205. Block 710 may be performed after block 708.

ブロック710において、訓練済み機械学習モデルは、メディアアイテムクラスタの出力画像埋め込みを生成する。各クラスタ内のメディアアイテムは、視覚的類似度を有し、視覚的類似度を有するメディアアイテムは、ベクトル空間を区分することによりメディアアイテムクラスタを生成するように、ベクトル空間において非類似であるメディアアイテムよりも相互により近い。いくつかの実施形態において、ブロック710は、機械学習モジュール205によって実行される。ブロック710の後にブロック712を実行することができる。 At block 710, the trained machine learning model generates an output image embedding of the media item cluster. Media items in each cluster have visual similarity, and media items that have visual similarity are dissimilar in vector space, such that media items with visual similarity generate media item clusters by partitioning the vector space. Closer to each other than the items. In some embodiments, block 710 is performed by machine learning module 205. Block 712 may be executed after block 710 .

ブロック712において、視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、メディアアイテムクラスタのサブセットを選択する。いくつかの実施形態において、ブロック712は、機械学習モジュール205によって実行される。ブロック712の後にブロック714を実行することができる。 At block 712, a subset of media item clusters is selected based on corresponding media items in each cluster that have visual similarities within a visual similarity threshold. In some embodiments, block 712 is performed by machine learning module 205. Block 714 may be executed after block 712.

ブロック714において、メディアアイテムクラスタのサブセットを含むユーザインターフェイスを表示する。いくつかの実施形態において、ブロック714は、ユーザインターフェイスモジュール208によって実行される。 At block 714, a user interface is displayed that includes the subset of media item clusters. In some embodiments, block 714 is performed by user interface module 208.

上記の説明に加えて、本明細書に記載のシステム、プログラムまたは機能がユーザ情報(例えば、写真またはビデオなどのユーザのメディアアイテムに関する情報、メディアアイテムを表示するメディアアプリケーションとのユーザの対話、ユーザのソーシャルネットワーク、社会的行動または活動、職業、画像に基づいた作成物の視聴好み、人物またはペットを非表示するための設定、ユーザインターフェイス好みなどのユーザの好み、またはユーザの現在の場所に関する情報)の収集を可能にするかおよびいつ可能にするか並びにサーバからコンテンツまたは情報を送信するかを選択できるコントロールをユーザに与えてもよい。さらに、特定のデータを格納または使用する前に、1つ以上の方法で特定可能な個人情報を削除するように処理することができる。例えば、ユーザの個人情報が特定できないように、ユーザのIDを処理することができる。また、ユーザの場所を特定できないように、(例えば、都市、郵便番号、または州レベルなどの)場所情報を取得する場合、ユーザの地理場所を一般化することができる。したがって、ユーザは、収集されるユーザ情報、情報の用途、およびユーザに提供される情報を制御することができる。 In addition to the above description, the systems, programs, or features described herein may provide user information (e.g., information about the user's media items such as photos or videos, the user's interactions with media applications that display the media items, the user's information about your social networks, your social behavior or activities, your occupation, your preferences for viewing image-based creations, your settings for hiding people or pets, your user interface preferences, or your current location. The user may be given controls to choose whether and when to enable the collection of content or information () and to send content or information from the server. Additionally, certain data may be processed in one or more ways to remove identifiable personal information prior to storage or use. For example, a user's ID can be processed so that the user's personal information cannot be identified. Also, when obtaining location information (eg, city, zip code, or state level), the user's geographic location can be generalized such that the user's location cannot be determined. Thus, the user can control what user information is collected, how the information is used, and what information is provided to the user.

上記の説明において、説明の目的で、多くの具体的な詳細を記載することによって、記載された様々な実施形態の完全な理解を提供する。しかしながら、これらの具体的な詳細がなくても、記載された様々な実施形態を実施することができることは、当業者には明らかであろう。場合によっては、説明を不明瞭にすることを回避するために、構造および装置は、ブロック図で示される。例えば、実施形態は、主にユーザインターフェイスおよび特定のハードウェアを参照して上記で説明することができる。しかしながら、実施形態は、データおよびコマンドを受信することができる任意の種類のコンピューティング装置、およびサービスを提供する任意の周辺装置に適用することができる。 In the above description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of the various embodiments described. However, it will be apparent to those skilled in the art that the various described embodiments may be practiced without these specific details. In other instances, structures and devices are shown in block diagrams in order to avoid obscuring the description. For example, embodiments may be described above with primarily reference to a user interface and specific hardware. However, embodiments are applicable to any type of computing device that can receive data and commands, and any peripheral device that provides services.

本明細書において「いくつかの実施形態」または「いくつかのインスタンス」への言及は、実施形態またはインスタンスに関連して説明された特定の特徴、構造、または特性が、説明の少なくとも1つの実装形態に含まれ得ることを意味する。本明細書の様々な場所に「いくつかの実施形態において」という表現は、必ずしも全てが同じ実施形態を指しているわけではない。 Reference herein to "some embodiments" or "some instances" means that a particular feature, structure, or characteristic described in connection with the embodiment or instance is present in at least one implementation of the description. It means that it can be included in the form. The appearances of the phrase "in some embodiments" in various places in this specification are not necessarily all referring to the same embodiment.

上記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現の観点から提示されている。これらのアルゴリズム的記述および表現は、データ処理技術の当業者が、その仕事の内容を他の当業者に最も効果的に伝えるために使用される手段である。アルゴリズムは、本明細書において、一般的に、所望の結果をもたらす矛盾しない一連のステップであると考えられる。ステップは、物理的な量の物理的な操作を必要とするものである。通常、これらの量は、必ずしもそうではないが、記憶、転送、結合、比較、およびその他の操作が可能な電気的または磁気的データの形をとる。場合によって、主に一般的な使用の理由から、これらのデータをビット、数値、要素、シンボル、文字、項、数などと呼ぶことが便利である。 Some portions of the detailed descriptions presented above are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is generally conceived herein to be a series of consistent steps that lead to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, but not necessarily, these quantities take the form of electrical or magnetic data capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to such data as bits, numbers, elements, symbols, characters, terms, numbers, or the like.

理解すべきことは、これらおよび同様の用語の全ては、適切な物理量に関連付けられ、これらの量に適用される便利なラベルにすぎないことである。特に明記しない限りまたは議論から明白であるように、説明の全体において「処理する」、「演算する」、「計算する」、「決定する」または「表示する」などを含む用語を利用する議論は、コンピュータシステムメモリ、レジスタもしくは他の情報記憶装置、伝送装置または表示装置内の物理量として表されたデータを処理および変換するコンピュータシステムまたは同様の電子コンピューティング装置の動作およびプロセスを指す。 It should be understood that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless stated otherwise or as is clear from the discussion, any discussion that utilizes terms including "process," "compute," "compute," "determine," or "display" throughout the description , computer system Refers to the operations and processes of a computer system or similar electronic computing device that manipulate and transform data represented as physical quantities in memory, registers, or other information storage, transmission, or display devices.

本明細書の実施形態は、上記で説明した方法の1つ以上のステップを実行するためのプロセッサにも関連する。プロセッサは、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または再構成される専用のプロセッサであってもよい。このようなコンピュータプログラムは、限定しないが、光ディスク、ROM、CD-ROM、磁気ディスク、RAM、EPROM、EEPROM、磁気または光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリを含む任意の種類のディスク、または各々がコンピュータシステムバスに接続され、電子命令を記憶するのに適した任意の種類の媒体を含む非一時的コンピュータ可読記憶媒体に記憶されてもよい。 Embodiments herein also relate to a processor for performing one or more steps of the methods described above. The processor may be a dedicated processor that is selectively activated or reconfigured by a computer program stored in the computer. Such computer programs may be of any kind including, but not limited to, optical disks, ROMs, CD-ROMs, magnetic disks, RAM, EPROMs, EEPROMs, magnetic or optical cards, flash memory including USB keys with non-volatile memory. The information may be stored on non-transitory computer readable storage media including disks or any type of medium suitable for storing electronic instructions, each connected to a computer system bus.

本明細書は、いくつかの完全にハードウェアの実施形態、いくつかの完全にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素の両方を含むいくつかの実施形態を含むことができる。いくつかの実施形態において、本明細書は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実装される。 This specification may include some entirely hardware embodiments, some entirely software embodiments, or some embodiments that include both hardware and software elements. In some embodiments, the present specification is implemented in software, including but not limited to firmware, resident software, microcode, and the like.

さらに、説明は、コンピュータまたは任意の命令実行システムによってまたはそれに関連して使用されるプログラムコードを提供するコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形をとることができる。本説明の目的のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、機械または装置によってまたはそれに関連して使用されるプログラムを含有、記憶、通信、伝搬、または輸送することができる任意の装置であることができる。 Additionally, the instructions may take the form of a computer program product accessible from a computer usable or computer readable medium that provides program code for use by or in connection with a computer or any instruction execution system. For purposes of this description, a computer-usable or computer-readable medium is any medium that can contain, store, communicate, propagate, or transport a program for use by or in connection with an instruction execution system, machine, or device. The device can be

プログラムコードを記憶または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接にまたは間接に接続された少なくとも1つのプロセッサを含む。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすために少なくともいくつかのプログラムコードの一時的な記憶を提供するキャッシュメモリとを含んでもよい。 A data processing system suitable for storing or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. Memory elements include local memory used during the actual execution of program code, mass storage, and at least some program code to reduce the number of times the code must be retrieved from mass storage during execution. and a cache memory that provides temporary storage of the information.

Claims (20)

コンピュータによって実装される方法であって、
訓練済み機械学習モデルを用いて、ユーザアカウントに関連付けられたメディアアイテムコレクションから、メディアアイテムのベクトル表現を生成することと、
前記メディアアイテムの前記ベクトル表現に基づいて、各クラスタ内の前記メディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することとを含み、メディアアイテム対のベクトル表現間の前記ベクトル距離は、前記メディアアイテムの前記視覚的類似度を示し、前記クラスタは、前記クラスタ内の各メディアアイテム対の間の前記ベクトル距離が視覚的類似度閾値の範囲の外にあるように選択され、前記方法はさらに、
視覚的類似度閾値の範囲内の前記視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、方法。
A computer-implemented method, the method comprising:
generating a vector representation of a media item from a media item collection associated with a user account using the trained machine learning model;
determining media item clusters based on the vector representations of the media items such that the media items in each cluster have a visual similarity, and the vector distance between the vector representations of a pair of media items is , the visual similarity of the media items is selected such that the vector distance between each pair of media items in the cluster is outside a visual similarity threshold; Furthermore,
selecting a subset of the media item clusters based on corresponding media items in each cluster having the visual similarity within a visual similarity threshold;
displaying a user interface including the subset of the media item clusters.
各メディアアイテムは、関連タイムスタンプを有し、
所定の期間内に取得された前記メディアアイテムは、エピソードに関連付けられ、
前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの前記対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる、請求項1に記載の方法。
Each media item has an associated timestamp;
the media items obtained within a predetermined time period are associated with an episode;
Selecting the subset of the media item clusters includes a temporal diversity in which the corresponding media items in the subset of the media item clusters exclude more than a predetermined number of the corresponding media items from a particular episode. 2. The method of claim 1, wherein the method is performed on the basis of corresponding associated timestamps to meet the criteria.
前記メディアアイテムクラスタの前記サブセットを選択する前に、前記メディアアイテムコレクションから、禁止カテゴリリストにあるカテゴリに関連付けられたメディアアイテムを除外することをさらに含む、請求項1に記載の方法。 2. The method of claim 1, further comprising excluding from the media item collection media items associated with categories in a prohibited category list before selecting the subset of media item clusters. 前記メディアアイテムクラスタを決定する前に、禁止カテゴリリストにあるカテゴリに対応するメディアアイテムを除外することをさらに含む、請求項1に記載の方法。 The method of claim 1, further comprising excluding media items corresponding to categories in a prohibited category list before determining the media item clusters. 各メディアアイテムは、場所に関連付けられ、
前記メディアアイテムクラスタの前記サブセットが所定の数よりも多いメディアアイテムを含むことに応答して、前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセットが場所的多様性基準を満たすような場所に基づいて行われる、請求項1に記載の方法。
Each media item is associated with a location and
Selecting the subset of media item clusters in response to the subset of media item clusters including more than a predetermined number of media items, wherein the subset of media item clusters meets a spatial diversity criterion. 2. The method of claim 1, wherein the method is based on a location that satisfies the following.
前記メディアアイテムクラスタは、意味的類似度を有するラベルに関連付けられた前記対応するメディアアイテムに基づいてさらに決定される、請求項1に記載の方法。 The method of claim 1, wherein the media item clusters are further determined based on the corresponding media items associated with labels that have semantic similarity. 前記ユーザアカウントに関連付けられたユーザが前記メディアアイテムを参照して肯定的な行動を実行する可能性を分析することに基づいて、前記メディアアイテムクラスタの前記サブセット内の各メディアアイテムを採点することと、
閾値スコアを満たす対応するスコアに基づいて、前記メディアアイテムクラスタの前記サブセットから前記メディアアイテムを選択することとをさらに含む、請求項1に記載の方法。
scoring each media item in the subset of the media item cluster based on analyzing the likelihood that a user associated with the user account will perform a positive action in reference to the media item; ,
2. The method of claim 1, further comprising: selecting the media item from the subset of media item clusters based on a corresponding score that meets a threshold score.
前記メディアアイテムクラスタの前記サブセット内の1つ以上のメディアアイテムに関するフィードバックをユーザから受信することと、
前記フィードバックに基づいて、前記メディアアイテムクラスタの前記サブセット内の前記1つ以上のメディアアイテムの対応するスコアを変更することとをさらに含む、請求項7に記載の方法。
receiving feedback from a user regarding one or more media items within the subset of media item clusters;
8. The method of claim 7, further comprising changing a corresponding score of the one or more media items within the subset of media item clusters based on the feedback.
前記フィードバックは、前記ユーザインターフェイスからの前記メディアアイテムクラスタの前記サブセットから前記1つ以上のメディアアイテムを削除することによって示された明示的行動、または前記メディアアイテムクラスタの前記サブセット内の前記対応するメディアアイテムを閲覧すること、もしくは前記メディアアイテムクラスタの前記サブセット内の前記対応するメディアアイテムを共有することのうちの1つ以上によって示された暗黙的行動を含む、請求項8に記載の方法。 The feedback may include explicit action demonstrated by removing the one or more media items from the subset of media item clusters from the user interface, or the corresponding media within the subset of media item clusters. 9. The method of claim 8, comprising implicit behavior indicated by one or more of viewing an item or sharing the corresponding media item in the subset of the media item cluster. メディアアイテムクラスタの集約サブセットの集約フィードバックをユーザから受信することと、
前記集約フィードバックを前記訓練済み機械学習モデルに提供することとを含み、前記訓練済み機械学習モデルのパラメータが更新され、前記方法はさらに、
前記訓練済み機械学習モデルの前記パラメータを更新することに基づいて、前記メディアアイテムクラスタを変更することをさらに含む、請求項1に記載の方法。
receiving aggregate feedback from a user of an aggregate subset of media item clusters;
providing the aggregate feedback to the trained machine learning model, parameters of the trained machine learning model are updated, the method further comprising:
The method of claim 1, further comprising changing the media item cluster based on updating the parameters of the trained machine learning model.
前記視覚的類似度に対応する最大数の物体を含む特定のメディアアイテムに基づいて、前記メディアアイテムクラスタの前記サブセット内の各クラスタから、前記特定のメディアアイテムを、前記メディアアイテムクラスタの前記サブセット内の前記各クラスタのカバー写真として選択することをさらに含む、請求項1に記載の方法。 From each cluster within the subset of media item clusters, select the particular media item from each cluster within the subset of media item clusters based on the particular media item that contains the maximum number of objects corresponding to the visual similarity. 2. The method of claim 1, further comprising selecting as a cover photo for each cluster of . 視覚的類似度の種類および共通表現に基づいて、前記メディアアイテムクラスタの前記サブセット内の各クラスタにタイトルを追加することをさらに含む、請求項1に記載の方法。 2. The method of claim 1, further comprising adding a title to each cluster in the subset of media item clusters based on visual similarity type and common representation. 前記メディアアイテムクラスタの前記サブセットは、所定の間隔で前記ユーザインターフェイスに表示される、請求項1に記載の方法。 2. The method of claim 1, wherein the subset of media item clusters is displayed on the user interface at predetermined intervals. 前記メディアアイテムクラスタの前記サブセットが利用可能であるという通知を、前記ユーザアカウントに関連付けられたユーザに提供することをさらに含み、
前記通知は、前記メディアアイテムクラスタの前記サブセット内の前記クラスタの各々に対応するタイトルを含む、請求項1に記載の方法。
further comprising providing a notification to a user associated with the user account that the subset of media item clusters is available;
The method of claim 1, wherein the notification includes a title corresponding to each of the clusters in the subset of media item clusters.
計算を最適化するために個々の装置上で実行される計算を決定することと、
前記個々の装置上で実行される前記計算に基づいて、前記訓練済み機械学習モデルを複数の装置上で実装することとをさらに含む、請求項1に記載の方法。
determining calculations to be performed on individual devices to optimize calculations;
2. The method of claim 1, further comprising: implementing the trained machine learning model on a plurality of devices based on the calculations performed on the individual devices.
コンピュータによって実装される方法であって、
ユーザアカウントに関連付けられたメディアアイテムコレクションからのメディアアイテムを訓練済み機械学習モデルへの入力として受信することと、
前記訓練済み機械学習モデルを用いて、メディアアイテムクラスタの出力画像埋め込みを生成することとを含み、各クラスタ内の前記メディアアイテムは、視覚的類似度を有し、前記視覚的類似度を有するメディアアイテムがベクトル空間において類似していないメディアアイテムよりも互いに近くであることにより、前記ベクトル空間を分割することが前記メディアアイテムクラスタを生成し、
視覚的類似度閾値の範囲内の視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、方法。
A computer-implemented method, the method comprising:
receiving media items from a media item collection associated with the user account as input to the trained machine learning model;
using the trained machine learning model to generate an output image embedding of a cluster of media items, the media items in each cluster having a visual similarity, and the media having the visual similarity. partitioning the vector space generates the media item clusters by items being closer to each other than dissimilar media items in the vector space;
selecting a subset of the media item clusters based on corresponding media items in each cluster having a visual similarity within a visual similarity threshold;
displaying a user interface including the subset of the media item clusters.
前記メディアアイテムコレクションが前記訓練済み機械学習モデルに提供される前に、機能的画像は、前記メディアアイテムコレクションから削除される、請求項16に記載の方法。 17. The method of claim 16, wherein functional images are removed from the media item collection before the media item collection is provided to the trained machine learning model. 前記訓練済み機械学習モデルは、メディアアイテムセットに対する反応を含むユーザからのフィードバック、または前記メディアアイテムセットのタイトルの変更を含むユーザからのフィードバックを用いて訓練される、請求項16に記載の方法。 17. The method of claim 16, wherein the trained machine learning model is trained with feedback from a user including reactions to a set of media items or changes to a title of the set of media items. システムであって、
プロセッサと、
前記プロセッサに接続されたメモリとを備え、前記メモリは、前記プロセッサによって実行されると、前記プロセッサに以下の動作を実行させる命令を記憶し、
前記動作は、
メディアアイテムコレクションからの画像またはビデオのピクセルに基づいて、各クラスタ内の前記メディアアイテムが視覚的類似度を有するようにメディアアイテムクラスタを決定することを含み、前記メディアアイテムコレクションは、ユーザアカウントに関連付けられ、
視覚的類似度閾値の範囲内の前記視覚的類似度を有する各クラスタ内の対応するメディアアイテムに基づいて、前記メディアアイテムクラスタのサブセットを選択することと、
前記メディアアイテムクラスタの前記サブセットを含むユーザインターフェイスを表示することとを含む、システム。
A system,
a processor;
a memory connected to the processor, the memory storing instructions that, when executed by the processor, cause the processor to perform the following operations;
The said operation is
determining media item clusters such that the media items in each cluster have visual similarity based on pixels of images or videos from the media item collection, the media item collection being associated with a user account; is,
selecting a subset of the media item clusters based on corresponding media items in each cluster having the visual similarity within a visual similarity threshold;
displaying a user interface including the subset of the media item clusters.
各メディアアイテムは、関連タイムスタンプを有し、
所定の期間内に取得された前記メディアアイテムは、エピソードに関連付けられ、
前記メディアアイテムクラスタの前記サブセットを選択することは、前記メディアアイテムクラスタの前記サブセット内の対応するメディアアイテムが特定のエピソードから所定の数よりも多くの前記対応するメディアアイテムを除外する時間的多様性基準を満たすように、対応する関連タイムスタンプに基づいて行われる、請求項19に記載のシステム。
Each media item has an associated timestamp;
the media items obtained within a predetermined time period are associated with an episode;
Selecting the subset of the media item clusters includes a temporal diversity in which the corresponding media items in the subset of the media item clusters exclude more than a predetermined number of the corresponding media items from a particular episode. 20. The system of claim 19, wherein meeting the criteria is done based on corresponding associated timestamps.
JP2023528144A 2021-05-11 2021-12-13 Determining visual themes within media item collections Pending JP2023548906A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202163187390P 2021-05-11 2021-05-11
US63/187,390 2021-05-11
US202163189658P 2021-05-17 2021-05-17
US63/189,658 2021-05-17
US17/509,767 2021-10-25
US17/509,767 US12008057B2 (en) 2021-05-11 2021-10-25 Determining a visual theme in a collection of media items
PCT/US2021/063116 WO2022240444A1 (en) 2021-05-11 2021-12-13 Determining a visual theme in a collection of media items

Publications (1)

Publication Number Publication Date
JP2023548906A true JP2023548906A (en) 2023-11-21

Family

ID=79687071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023528144A Pending JP2023548906A (en) 2021-05-11 2021-12-13 Determining visual themes within media item collections

Country Status (5)

Country Link
EP (1) EP4204993A1 (en)
JP (1) JP2023548906A (en)
KR (1) KR20230073327A (en)
CN (1) CN116324764A (en)
WO (1) WO2022240444A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740963B2 (en) * 2014-08-05 2017-08-22 Sri International Multi-dimensional realization of visual content of an image collection

Also Published As

Publication number Publication date
KR20230073327A (en) 2023-05-25
WO2022240444A1 (en) 2022-11-17
EP4204993A1 (en) 2023-07-05
CN116324764A (en) 2023-06-23

Similar Documents

Publication Publication Date Title
US12079696B2 (en) Machine learning model training method and device, and expression image classification method and device
Strumberger et al. Designing convolutional neural network architecture by the firefly algorithm
US20200242774A1 (en) Semantic image synthesis for generating substantially photorealistic images using neural networks
US10140515B1 (en) Image recognition and classification techniques for selecting image and audio data
CN112740709B (en) Computer-implemented method, computing device, and computer-readable medium for performing gating for video analytics
EP3531370B1 (en) Method for correcting image by device and device therefor
WO2022057658A1 (en) Method and apparatus for training recommendation model, and computer device and storage medium
CN108780389A (en) Image retrieval for computing device
CN115917608A (en) Machine learning in augmented reality content items
US10248847B2 (en) Profile information identification
US20220053195A1 (en) Learning-based image compression setting
US20240126810A1 (en) Using interpolation to generate a video from static images
US20200082002A1 (en) Determining contextual confidence of images using associative deep learning
US12008057B2 (en) Determining a visual theme in a collection of media items
US11797892B1 (en) Systems and methods for customizing user interfaces using artificial intelligence
US12056929B2 (en) Automatic generation of events using a machine-learning model
CN113569081A (en) Image recognition method, device, equipment and storage medium
JP2023548906A (en) Determining visual themes within media item collections
US11763159B2 (en) Mitigating false recognition of altered inputs in convolutional neural networks
CN108009280B (en) Picture processing method, device, terminal and storage medium
WO2022240443A1 (en) Automatic generation of events using a machine-learning model
US12026599B1 (en) Systems and methods for customizing user interfaces using artificial intelligence
Lou et al. Food image aesthetic quality measurement by distribution prediction
US20240295953A1 (en) Prompt modification for automated image generation
Paul et al. An improved deepfake detection using deep learning

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230510

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240716