(57)【要約】      （修正有）【課題】ユーザの身体的／バイオメトリック特徴に基づいた推薦システムを提供する。【解決手段】推薦システムにおいて、ユーザの画像に少なくとも部分的に基づいて、ユーザの身体的特徴を決定するよう構成されたプロセッサを備える。プロセッサは、ユーザ間の類似度（類似する顔の３Ｄ表面など）またはユーザへの商品のフィットに基づいて身体的特徴と商品との間の相関を決定し、決定された相関に少なくとも部分的に基づいて商品推薦を生成する。【選択図】図１
2019102068.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを備えたシステムであって、
前記プロセッサは、
ユーザの画像に少なくとも部分的に基づいて、前記ユーザの身体的特徴を決定し、
前記身体的特徴と商品との間の相関を決定し、
前記決定された相関に少なくとも部分的に基づいて商品推薦を生成するよう構成されているシステム。
【請求項２】
請求項１に記載のシステムであって、前記身体的特徴の前記決定は、前記ユーザへの前記商品のフィットを含むシステム。
【請求項３】
請求項１に記載のシステムであって、前記身体的特徴は顔の形を含み、前記形は、前記形が複数のカテゴリに当てはまる程度に関して規定されるシステム。
【請求項４】
請求項１に記載のシステムであって、前記身体的特徴は、顔の比率を含むシステム。
【請求項５】
請求項１に記載のシステムであって、前記身体的特徴は、目の色、肌の色、および、髪の色の内の少なくとも１つを含み、前記色は、前記少なくとも１つの画像がキャプチャされた照明環境に少なくとも部分的に基づいて正規化されるシステム。
【請求項６】
請求項１に記載のシステムであって、前記相関の前記決定は、前記身体的特徴、ユーザ閲覧データ、および、ユーザプロフィールデータの内の少なくとも１つの重み付き組み合わせに基づくシステム。
【請求項７】
請求項６に記載のシステムであって、前記身体的特徴、ユーザ閲覧データ、および、ユーザプロフィールデータの内の前記少なくとも１つに割り当てられる重みは、機械学習モデルからの出力に基づくシステム。
【請求項８】
請求項６に記載のシステムであって、前記身体的特徴は、ユーザ閲覧データおよびユーザプロフィールデータの内の少なくとも１つよりも重く重み付けされるシステム。
【請求項９】
請求項６に記載のシステムであって、前記身体的特徴、前記ユーザ閲覧データ、および、前記ユーザプロフィールデータに割り当てられる重みは調整可能であるシステム。
【請求項１０】
請求項６に記載のシステムであって、前記プロセッサは、さらに、前記商品推薦に関するユーザフィードバックに応じて、前記重み付き組み合わせに用いられる重みを調整するよう構成されているシステム。
【請求項１１】
請求項１に記載のシステムであって、
前記プロセッサは、さらに、オプティカルフローに少なくとも部分的に基づいて決定されたコスト関数を用いて候補パラメータ値を評価することによって、前記ユーザの前記画像に対応する統計モデルへの１セットのパラメータ値を生成することを含め、前記ユーザの前記画像に基づいてユーザの頭部の三次元（３Ｄ）モデルを生成するよう構成され、
前記身体的特徴は、少なくとも部分的には前記３Ｄモデルからパラメータを抽出することによって決定されるシステム。
【請求項１２】
請求項１１に記載のシステムであって、前記統計モデルは、前記ユーザの顔の３Ｄスキャンに少なくとも部分的に基づいて主成分分析から導出され、前記統計モデルは、形状成分およびテクスチャ成分を含むシステム。
【請求項１３】
請求項１１に記載のシステムであって、前記３Ｄモデルは、顔の特徴の形状および頭部の形状の内の少なくとも１つを規定するポリゴンを含むメッシュモデルであるシステム。
【請求項１４】
請求項１１に記載のシステムであって、前記身体的特徴の決定は、前記３Ｄモデルのポリゴンの色に基づいて肌の色を決定することを含むシステム。
【請求項１５】
請求項１に記載のシステムであって、前記商品推薦の生成は商品の属性に基づき、前記商品の前記属性は、前記商品の３Ｄモデルに少なくとも部分的に基づいて決定されるシステム。
【請求項１６】
請求項１５に記載のシステムであって、前記商品推薦の生成は、前記ユーザの３Ｄモデルへの前記商品の前記３Ｄモデルのフィットに基づくシステム。
【請求項１７】
請求項１に記載のシステムであって、前記商品推薦は、１グループの商品を含み、
前記プロセッサは、さらに、前記グループ内の１つの商品のユーザ選択に応じて前記商品推薦を更新するよう構成されているシステム。
【請求項１８】
請求項１に記載のシステムであって、前記商品推薦は、前記商品推薦の説明を含むシステム。
【請求項１９】
方法であって、
ユーザの画像に少なくとも部分的に基づいて、前記ユーザの身体的特徴を決定する工程と、
前記身体的特徴と商品との間の相関を決定する工程と、
前記決定された相関に少なくとも部分的に基づいて、商品推薦を生成する工程と
を備える方法。
【請求項２０】
コンピュータプログラム製品であって、持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
ユーザの画像に少なくとも部分的に基づいて、前記ユーザの身体的特徴を決定するためのコンピュータ命令と、
前記身体的特徴と商品との間の相関を決定するためのコンピュータ命令と、
前記決定された相関に少なくとも部分的に基づいて、商品推薦を生成するためのコンピュータ命令と
を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
衣料品およびアクセサリ（眼鏡など）の購入に関心のある人は、通常、本人が直接店舗を訪れて、商品が良好にフィットするかどうかを確かめるために試着する必要がある。衣類およびアクセサリは、通例、機能的および審美的な目的の両方を持っており、それらは選択プロセスに影響しうる。商品を見て回り試着するのには時間がかかる場合があり、その時ほとんどは、商品の適合性について事前の知識がない。個人向けのスタイリストは、商品を提案することによって決定プロセスを支援しうる。しかしながら、個人向けのスタイリストは、自身のバイアスと、利用可能な在庫品について比較的狭い範囲に精通していることによって、制限を受ける。従来の商品推薦アルゴリズムは、通例、単純であり、ユーザの閲覧履歴の原始的な評価に基づいて提案を与えるものである。
【図面の簡単な説明】
【０００２】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【０００３】
【図１】ユーザの画像に基づいて商品を推薦するための処理の一実施形態を示すフローチャート。
【０００４】
【図２】ユーザの身体的特徴に基づいて推薦を行うためのシステムの一実施形態を示すブロック図。
【０００５】
【図３】ユーザの身体的特徴に基づいて推薦を行うためのシステムの一例を示すブロック図。
【０００６】
【図４】推薦エンジンの一実施形態を示すブロック図。
【０００７】
【図５】ユーザの顔の３Ｄモデリングのための処理の一実施形態を示すフローチャート。
【０００８】
【図６】ユーザの顔の３Ｄモデリングのための処理の一実施形態を示すフローチャート。
【０００９】
【図７】ユーザの顔の３Ｄモーフィングモデルを生成するための主成分分析への入力および主成分分析からの出力の一例を示す図。
【００１０】
【図８Ａ】ユーザの顔の１セットの画像から得られた参照点の一例を示す図。
【００１１】
【図８Ｂ】ユーザの顔の１セットの画像から得られた参照点の一例を示す図。
【００１２】
【図９】３Ｄ空間における所定の３Ｄ顔の視覚化の一例を示す図。
【００１３】
【図１０】推薦の説明を決定するための処理の一実施形態を示すフローチャート。
【００１４】
【図１１】顔データ採点システムの一実施形態を示すブロック図。
【００１５】
【図１２】分類器を用いて顔の特徴の特性を決定するための処理の一実施形態を示すフローチャート。
【００１６】
【図１３Ａ】在庫品を閲覧するための商品カタログのグラフィカルユーザインターフェース（ＧＵＩ）の一例を示す図。
【００１７】
【図１３Ｂ】図１３ＡのＧＵＩとのユーザ相互作用に応じて表示された商品を示すＧＵＩの一例を示す図。
【００１８】
【図１３Ｃ】図１３ＡのＧＵＩとのユーザ相互作用に応じて表示された商品を示すＧＵＩの一例を示す図。
【００１９】
【図１４Ａ】在庫品を閲覧するための商品カタログのＧＵＩの一例を示す図。
【００２０】
【図１４Ｂ】図１４ＡのＧＵＩとのユーザ相互作用に応じて表示されたＧＵＩの一例を示す図。
【００２１】
【図１５Ａ】在庫品を閲覧するための商品カタログのＧＵＩの一例を示す図。
【００２２】
【図１５Ｂ】図１５ＡのＧＵＩとのユーザ相互作用に応じて表示されたＧＵＩの一例を示す図。
【００２３】
【図１６】ユーザの身体的特徴に基づいた推薦の出力を示すＧＵＩの一例を示す図。
【発明を実施するための形態】
【００２４】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００２５】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００２６】
ユーザの身体的特徴に基づいた推薦システムの実施形態が開示されている。様々な実施形態において、身体的特徴（「バイオメトリック特徴」とも呼ばれる）が決定され、ユーザに適切な商品の推薦を行うために用いられる。身体的特徴は、顔の構造または比率、顔の形、目の色および形、髪の色、皮膚の色、皮膚のパターンなど、ユーザの顔の３Ｄ表面を表現しうる。様々な実施形態において、ユーザの身体的特徴は、ユーザの画像に少なくとも部分的に基づいて決定される。身体的特徴と商品との間の相関が決定され、その決定された相関に少なくとも部分的に基づいて、商品推薦が生成される。ユーザの画像は、後に詳述するように、ユーザの正面像、側面像、または、その間の像の静止画またはビデオのフレームであってよい。
【００２７】
身体的特徴と商品との間の相関は、ユーザ間の類似度（類似する顔の３Ｄ表面など）またはユーザへの商品のフィットに基づいて決定されてよい。ユーザが報告した２Ｄ画像の属性または特性に基づいて推薦を提供する従来のスタイリストまたはフィットアドバイザと異なり、様々な実施形態において、ユーザの顔の３Ｄ表面の特徴など体系的に決定された３Ｄ身体的特徴に基づいて推薦がなされる。
【００２８】
図１は、ユーザの画像に基づいて商品を推薦するための処理の一実施形態を示すフローチャートである。処理１００は、図２のシステム２００の１または複数の構成要素上で少なくとも部分的に実施されてよい。いくつかの実施形態において、処理２００は、図３の推薦エンジン３１４によって実行される。
【００２９】
処理は、画像に基づいて身体的特徴を決定する（工程１０２）。身体的特徴とは、画像の対象物の属性のことである。例えば、ユーザの画像について、身体的特徴は、顔の３Ｄ表面、顔の構造または比率、顔の形、目の色、目の形、髪の色、肌の色、肌のパターンなど、顔の特徴を含む。図８Ａおよび図８Ｂに関して詳述するように、目の間の距離、鼻梁から鼻先までの距離などの身体的特徴が、１セットの画像から得られた参照点を抽出することによって測定されうる。様々な実施形態において、画像は、身体的特徴の決定を容易にしうるその他のセンサデータ（深度センサなど）を含む。
【００３０】
画像が、カメラ（図２のクライアントデバイス２０４に関連するカメラなど）によってキャプチャされてよい。その他のセンサデータが、様々なセンサ（深度センサなど）によってキャプチャされてもよい。いくつかの実施形態では、ユーザの単一の実質的に正面の画像があれば、商品推薦を行うのに十分である。いくつかの実施形態において、異なる角度から撮られたユーザの頭部の画像、ビデオを形成するフレームなど、ユーザの複数の画像が、本明細書で詳述するように、身体的特徴を決定するために用いられる。ユーザが、画像の撮り方の指示を提供されてもよい。例えば、ユーザは、カメラの前に位置して、カメラがビデオフレームをキャプチャする時に頭部を回転させるよう指示されうる。いくつかの実施形態において、ユーザは、左を見た後に右を見るよう指示されてもよい。いくつかの実施形態において、指示は、デモビデオクリップまたはアニメーションの形で提供されてよい。キャプチャされるビデオフレームの数は様々であってよい。カメラは、連続的なビデオまたはスナップショット（例えば、キャプチャ間の遅延を伴う一連の画像）でユーザの頭部をキャプチャするよう、プロセッサによって命令されうる。いくつかの実施形態において、カメラは、連続キャプチャモードでユーザの頭部の画像をキャプチャし、ここで、フレームレートは、ビデオのキャプチャよりも低くてよい。プロセッサは、ローカルであってもよいし、リモート（例えば、サーバ上にある）であってもよい。キャプチャされた画像は、後に詳述するように、対象物の身体的特徴を決定するため、および／または、選択された眼鏡フレームの３Ｄモデルが配置／試着されるユーザの顔の３Ｄモデルを決定するために利用できる。
【００３１】
いくつかの実施形態において、身体的特徴は、画像から構築されたユーザの頭部の中間モデルに基づいて決定される。中間モデルは、本明細書で詳述するように、顔の３Ｄ表面の顔特徴および頭部比率についての情報をエンコードするベクトルおよびポリゴンによって記述された頭部の３Ｄモデルであってよい。身体的特徴は、３Ｄモデルから抽出されてよい。いくつかの実施形態において、３Ｄモデルは、図３に示す３Ｄモデルエンジン３０６によって生成される。
【００３２】
処理は、身体的特徴と商品との間の相関を決定する（工程１０４）。相関は、顔の特徴の類似度または顔の３Ｄ表面における類似度など、ユーザ間の関連性であってよい。相関は、ユーザへの商品のフィットの程度など、ユーザと商品との間の関係性であってもよい。本明細書で用いられるフィットとは、ユーザの顔に眼鏡がどれだけフィットするかなど、機能的なフィットを指しており、それは、快適さ、眼鏡がユーザに提供する視界の質などの要素によって示されうる。本明細書で用いられるフィットとは、ユーザの顔に掛けた眼鏡がどれだけすてきに見えるかなど、審美的なフィットも指しており、目に対するフレームの比率およびその他の顔の比率を点数化することによって示されうる。
【００３３】
処理は、商品を推薦する（工程１０６）。推薦は、決定された相関に少なくとも部分的に基づいて生成されてよい。様々な実施形態において、推薦は、ディープニューラルネットワーク、コンテンツベースフィルタリング、協調フィルタリング、または、それらの組みあわせを用いて決定される。
【００３４】
コンテンツベースフィルタリングは、他の商品と類似する商品を検索することである。眼鏡の例を用いると、形、色、材料（プラスチックまたはワイヤフレーム）、価格、レンズ処方への適合性などの属性に基づいて、類似度が評価されてよい。互いに対する商品の類似度で検索することにより、共有する属性または類似する属性を持つために他の眼鏡と類似する眼鏡を見つけることができる。或る商品に興味を持っているユーザが、類似の商品に興味を持つ場合もある。
【００３５】
協調フィルタリングは、購入履歴に基づいて商品を見つけることである。第１ユーザが眼鏡Ａ、Ｂ、および、Ｃを購入し、第２ユーザが眼鏡Ｂ、Ｃ、および、Ｄを購入したと仮定する。両者とも眼鏡ＢおよびＣを購入しているので、第１ユーザおよび第２ユーザの購入履歴は、互いに類似する。いくつかの実施形態において、このデータの協調フィルタリングは、第１および第２ユーザの好みが似ているので、眼鏡Ａを第２ユーザに推薦することができ、眼鏡Ｄを第１ユーザに推薦することができることを示唆する。
【００３６】
様々な実施形態において、コンテンツベースフィルタリングまたは協調フィルタリングの結果は、他の要素（ユーザの示した嗜好など）に基づいて調整されてもよい。ユーザの肌のトーンと対照的な色のフレームがデフォルトで推薦されるが、そのユーザは、ユーザの肌のトーンと調和する色のフレームを好むと仮定する。推薦は、肌のトーンと調和するフレームへの嗜好をユーザが示唆したことに従って微調整されてよい。ユーザ嗜好情報があれば、ユーザの嗜好とさらに合った商品を推薦するように、推薦システムを更新できる。
【００３７】
一態様において、嗜好は、時と共に変化しうる。例えば、ユーザの嗜好は、スタイルの変化または好みの変化と共に変化しうる。推薦エンジンは、変化を学習して変化に適応することによって、それらの変化に適応できる。
【００３８】
いくつかの実施形態において、商品推薦は、推薦がなされた理由の説明を含む。商品が選択された理由を説明せずに推薦システムがユーザに推薦を提示する従来の技術と対照的に、ここでなされる推薦は、システムが何故どのように選択をしたのかについての事実および説明を含んでもよい。推薦の説明は、図１０に示す処理に従ってなされてよい。相関および推薦の処理については、図４に示すシステムに関して本明細書でさらに説明する。
【００３９】
図２は、ユーザの身体的特徴に基づいて推薦を行うためのシステムの一実施形態を示すブロック図である。この例において、システム２００は、クライアントデバイス２０４、ネットワーク２０６、および、サーバ２０８を含む。クライアントデバイス２０４は、ネットワーク２０６を介してサーバ２０８と接続される。ネットワーク２０６は、高速データネットワークおよび／または遠隔通信ネットワークを含みうる。ユーザ２０２は、本明細書で詳述する方法に従って、推薦を行うのに有用な情報を提供するため、および、推薦を受信するために、クライアントデバイスと相互作用してよい。
【００４０】
クライアントデバイス２０４は、ユーザ２０２にユーザインターフェースを提供するよう構成されている。例えば、クライアントデバイス２０４は、入力を受信してもよいし、クライアントデバイスを持つユーザ２０２によるユーザ相互作用を観察してもよい。クライアントデバイスによって収集された情報の少なくとも一部に基づいて、推薦がユーザに対して出力される。いくつかの実施形態において、推薦は、本明細書で詳述するようにサーバ２０８と協働してなされる。
【００４１】
様々な実施形態において、クライアントデバイスは、カメラ、深度センサ、その他のセンサ、または、複数のセンサの組み合わせなどの入力構成要素を備える。カメラは、身体的特徴を決定する元になりうるユーザの画像を観察および／またはキャプチャするよう構成されてよい。ユーザは、本明細書で詳述するように、カメラを作動させるかまたはカメラに向かってポーズを取るよう指示されうる。入力構成要素によって収集された情報は、推薦を行うために利用および／または格納されてよい。
【００４２】
サーバ１０８は、入力画像から身体的特徴を決定し、身体的特徴と商品との間の相関を決定し、商品を推薦するよう構成されている。サーバは、本明細書で詳述するように、ユーザの画像、商品の画像、ユーザの閲覧の傾向、ユーザプロフィールなど、様々な収集データに基づいて、相関および推薦を行ってよい。ユーザの身体的特徴に基づいて推薦を行うことには、多くの用途がある。ユーザの身体的特徴に基づいて推薦を行う用途の例は、眼鏡、化粧品、宝飾品など、顔に用いるアクセサリの仮想的な試着を含む。
【００４３】
図３は、ユーザの身体的特徴に基づいて推薦を行うためのシステムの一例を示すブロック図である。システム３００は、図２のサーバ２０８に含まれてよい。この例において、システム３００は、センサデータストレージ３１６、商品情報ストレージ３１２、ユーザ情報ストレージ３１８、推薦エンジン３１４、および、出力エンジン３１２を備える。
【００４４】
センサデータストレージ３１６は、画像／深度データ、静止画、ビデオのフレーム、および、様々なセンサからの関連データなど、センサデータを格納するよう構成される。センサデータは、様々なユーザに関連してよい。いくつかの実施形態において、画像ストレージは、カメラによって記録されたかまたは他の方法でキャプチャされた画像を格納する。画像の対象物は、（人間の）ユーザなどの対象物であってよい。画像は、例えばユーザプロフィールに関連する特定のユーザまたはユーザグループと関連付けて格納されてよい。センサデータストレージ３１６に格納された画像は、画像の対象物の身体的特徴を決定するために、本明細書に記載された方法に従ってリトリーブおよび処理されてよい。
【００４５】
商品情報ストレージ３１２は、在庫品に関する情報を格納するよう構成される。発明者は、購入できる眼鏡フレームなど、ユーザにとって入手可能な１セットの商品を含んでよい。例えば、色、形、サイズなど、商品の特徴が格納されてよい。商品の３Ｄモデルを表すデジタル表現（頂点の３Ｄ座標など）が格納されてもよい。各商品は、１または複数の所定のラベルと共に格納されてよい。本明細書で詳述するように、ラベルは、商品のタイプまたは特徴の記述であり、商品を他の商品とグループ化することを可能にしてよい。眼鏡フレームのラベルの例は、「プラスチック」または「金属」などの物理的属性の特性、もしくは、「学者風」、「まじめ風」、および、「スポーティー」などのスタイル／人間の知覚に基づく分類を含む。
【００４６】
様々な実施形態において、商品売上げ情報が格納されてもよい。売上げは、特定のユーザまたはユーザグループからの商品または商品グループの人気に関連しうる。
【００４７】
ユーザ情報ストレージ３１８は、特定のユーザに関連する情報を格納するよう構成される。例えば、対象物の物理的特性、過去の購入、嗜好、および、ユーザインターフェースとの相互作用（例えば、ウェブ閲覧）の履歴など、ユーザを記述するユーザプロフィールが格納されてよい。
【００４８】
推薦エンジン３１４は、センサデータストレージ３１６、商品情報ストレージ３１２、および／または、ユーザ情報ストレージ３１４によって格納された情報の少なくとも一部に基づいて、推薦を行うよう構成される。様々な実施形態において、推薦エンジンは、ユーザの顔または頭部の画像などユーザの画像に少なくとも部分的に基づいて、ユーザの身体的特徴を決定するよう構成される。画像は、クライアントデバイスからリアルタイムで抽出されてよい、および／または、センサデータストレージ３１６から抽出されてよい。いくつかの実施形態において、身体的特徴は、画像から直接決定される。いくつかの実施形態において、身体的特徴は、３Ｄモデルまたはユーザの頭部から決定され、ここで、３Ｄモデルは、本明細書で詳述するように１セットの画像から引き出される。決定された身体的特徴に少なくとも部分的に基づいて、商品推薦が生成される。推薦エンジンは、異なるユーザの物理的特性の類似度および顧客の嗜好の類似度など、いくつかの要素に基づいて、推薦を行うよう構成されてよい。
【００４９】
様々な実施形態において、推薦エンジンは、異なるユーザの身体的特徴の間の類似度に基づいて推薦を行う。例えば、或るユーザが特定の商品を購入するかまたはそれに興味を持った場合に、類似した身体的特徴を持つ別のユーザに同じ商品を推薦することができる。
【００５０】
様々な実施形態において、推薦エンジンは、顧客の嗜好に適応することによって推薦を行う。適応は、リアルタムになされてよい。例えば、ユーザがウェブページをスクロールダウンするかまたは或るウェブページから別のウェブページへ進んだ時に、ユーザに対して表示された推薦が更新されてよい。ユーザがウェブページを閲覧する時に、ユーザに関する情報（商品への反応など）が収集されてよい。いくつかの実施形態において、この情報は、ユーザが後にアクセスすると予測されるコンテンツ（ユーザにはまだ見えていないウェブページの部分など）を更新するために即時に用いられてよい。いくつかの実施形態において、ユーザに関して収集された情報は、ユーザプロフィールと関連付けるなどして後の利用のために格納される。顧客の嗜好に応じたグラフィカルユーザインターフェース（ＧＵＩ）の更新の例が、図１３Ａ〜図１３Ｃ、図１４Ａ、図１４Ｂ、図１５Ａ、および、図１５Ｂに示されている。
【００５１】
いくつかの実施形態において、スタイルのグループ（「スタイルクラスタ」とも呼ぶ）が、ユーザに推薦される。スタイルのグループについてのユーザフィードバックに応じて、スタイルのグループ内の商品が表示されてよい。例えば、学者風スタイルおよびスポーティースタイルの推薦がユーザに対してなされうる。様々な実施形態において、（例えば、電子商取引サイトごとに）個々の商品グループに対してカテゴリが決定される。カテゴリは、商品特性（例えば、材料：金属／プラスチック、スタイル：長方形／楕円形、色、サイズ）を用いて事前に作成されうる。商品特性は、多次元空間を形成し、その中で、クラスタリング技術（例えば、Ｋ平均クラスタリング）を適用して商品のクラスタを見出す。次いで、スタイルの専門家が、各クラスタにラベル（様々な実施形態において、人間にわかりやすいもの）を割り当てる：「学者風」、「スポーティー」、「まじめ風」など。クラスタが顧客に提示される時、推薦エンジン（例えば、図３の推薦エンジン３１４）は、Ｎサンプルの最もお勧めの眼鏡（例えば、Ｎ＝３０）を選び、どのクラスタがこれらのＮ個のサンプルを含むかを検索し、スコアに基づいてクラスタを順序付ける。スコアは、例えば、各クラスタ内のＮサンプル由来の眼鏡の個数を計算することによって算出され、加重和などに基づいて計算されうる。
【００５２】
ユーザがスポーティーなスタイルを選択した場合、（例えば、本明細書で詳述する方法によって決定されたように）ユーザに合う「スポーティースタイル」グループ内の商品が表示される。スタイルクラスタのラベル（例えば、「学者風」）は、人間またはコンピュータによって作られてよい。一態様において、個々の商品ではなく集約された一部の商品を提示することで、あまりに多くの個々の商品でユーザを圧倒することなしにユーザが１グループの商品に集中して選択することを可能にすることにより、ユーザ体験を向上できる。
【００５３】
推薦エンジンは、経時的に推薦の決定を改善するためにトレーニングされてよい。例えば、良好な推薦は、ユーザが従う傾向のある推薦である。経時的に、推薦エンジンは、ユーザが従う可能性が高い推薦を行うようにトレーニングされてよい。推薦エンジンをトレーニングするための処理の一例を、図１２に示す。
【００５４】
出力エンジン３１２は、出力（推薦など）を提供するよう構成される。出力エンジンは、本明細書で詳述するように、特定の推薦がなされる原因となった要素など、個別の推薦がなされた理由の説明を含んでもよい。出力エンジン３１２は、クライアントデバイス（例えば、図２のクライアントデバイス２０４）のユーザインターフェースなど、様々な媒体で出力を提供してよい。
【００５５】
いくつかの実施形態において、システム３００は、３Ｄモデルエンジン３０６を備える。モーフィングモデルエンジン３０６は、入力画像から三次元（３Ｄ）モデルを生成するよう構成される。様々な実施形態において、３Ｄモデルエンジンは、１セットの画像からユーザの頭部の３Ｄモデルを生成するよう構成される。様々な実施形態において、３Ｄモデルエンジンは、商品の説明または画像から商品の３Ｄモデルを生成するよう構成される。モーフィングモデルは、本明細書で詳述するように、ユーザの身体的特徴を抽出するために用いられてよい。
【００５６】
３Ｄモデル（「モーフィングモデル」とも呼ぶ）は、様々な技術に従って生成されてよい。例えば、モデル化されるユーザの顔の入力画像が受信され、入力画像に対応するように統計モデルに入力すべき１セットのパラメータが、オプティカルフローに少なくとも部分的に基づいて決定されたコスト関数を用いて候補パラメータ値を評価することによって生成される。３Ｄモデル生成のさらなる例について、図５〜図７に関して説明する。
【００５７】
様々な実施形態において、ＰＣＡ成分のサブセットが、様々な身体的特徴を規定する。例えば、ＰＣＡ成分の１サブセットが、顔の形状を規定し、（第１サブセットと重複してもしなくてもよい）別のサブセットが、顔の比率を規定する。
【００５８】
図４は、推薦エンジンの一実施形態を示すブロック図である。この例において、推薦エンジン４００は、顔データ採点システム４０２、閲覧データ採点システム４０４、ユーザプロフィール採点システム４０６、および、相関器４１０を備える。
【００５９】
顔データ採点システム４０２は、ユーザの身体的特徴（顔の特徴など）に基づいてスコアを提供するよう構成される。スコアは、ユーザに対する推薦を決定するために用いられてよい。本明細書で詳述するように、顔の特徴は、顔の構造または比率、顔の形、虹彩の色、髪の色、肌の色、および、肌のパターンを含む。推薦は、スコアＳ１であってよい。
【００６０】
閲覧データ採点システム４０４は、ウェブサイトとの相互作用、購入履歴、閲覧行動など、ユーザの行動に基づいて、推薦を提供するよう構成される。例えば、ユーザが特定の商品に長くとどまっていた時、その行動は、その商品に関心を持っていることを示唆しうる。この関心はユーザに関連付けられてよく、その商品に類似する商品がユーザに推薦されてよい。
【００６１】
ユーザプロフィール採点システム４０６は、身体的特徴ではない顧客の属性に基づいて推薦を提供するよう構成される。属性の例は、位置、収入、教育、年齢、性別などの人口統計学データを含む。非バイオメトリック属性が、推薦に影響してもよい。例えば、晴れの多い州に住むユーザは、サングラスを求める可能性が高く、適切な商品がユーザに推薦されうる。
【００６２】
相関器４１０は、ユーザの特徴（顔の特徴、ユーザ履歴など）と商品との間の相関を決定するよう構成される。相関器は、価格、色などの商品特性に基づいて、相関を決定してよい。相関器は、以下の要素の内の１または複数に基づいて相関を決定してよい：顔の類似度（コンテンツベースフィルタリング）、サイトとの相互作用、および／または、実店舗での購入履歴（協調フィルタリング）など。相関器は、採点システム４０２〜４０６の各々によって出力されたスコアを組み合わせてよい。いくつかの実施形態において、スコアは、組み合わせられる時に重み付けされる。システムの重み付けは、動的に調整されてもよいし予め規定されてもよい。例えば、ユーザは、スタイル、顔を引き立てること、フィットなどを強調したいと望みうる。スコアＳ１、Ｓ２、および、Ｓ３に割り当てられた重みが、それに従って調整されてよい。
【００６３】
いくつかの実施形態において、顔データは、推薦を行うためにより重要だと考えることができるので、顔データ（スコアＳ１）には、他のスコアよりも重い重み付けがされる。例えば、５０％が顔データに割り当てられ、残りの５０％がユーザデータおよびユーザプロフィールデータの間に分配される。
【００６４】
顔データの重み付けは、調整されてもよい。例えば、ユーザが推薦に納得しない場合、顔データに与えられた重みが低くされる。いくつかの実施形態において、重みは、ユーザが商品をクリックした後（これは、その商品に関心があることを示唆しうる）など、Ｗｅｂページとのユーザ相互作用に応じて、動的に調整される。いくつかの実施形態において、重みは、ユーザセッションに応じて動的に調整される。例えば、ユーザの閲覧セッション中（ユーザがウェブサイトを１５分間訪問している間など）に収集された情報が、ウェブサイトとのユーザの相互作用に基づいて重みを調整するために処理される。ユーザが特定の商品を表示するウェブページの部分にとどまることは、それらの商品に興味があることを示唆しうる。
【００６５】
いくつかの実施形態において、ユーザの顔の３Ｄモデルおよび商品の３Ｄモデルを用いて、相関が実行される。顔および商品の各々に対して、本明細書に記載の３Ｄモーフィング技術が、顔および商品の各々のＰＣＡ成分を含む３Ｄモデルを抽出するために適用される。顔および商品および購入履歴の各々の頂点およびＰＣＡ成分が、商品に対する推薦を得るために相関器に提供される。
【００６６】
様々な実施形態において、推薦エンジンは、推薦された商品のリストを出力するよう構成される。いくつかの実施形態において、リストは、商品の順位付けリストであり、リスト内で、商品は、順位付けされた順に表示されてよい。推薦エンジンは、１または複数のルールを適用して推薦をさらにフィルタリングするよう構成されてもよい。例えば、推薦エンジンは、特定のブランド、或る価格帯の範囲の商品などを表示するよう構成されてもよい。
【００６７】
いくつかの実施形態において、ディープニューラルネットワークが、ユーザの顔と購入との間の相関を見出すために用いられてよい。ユーザの顔、購入履歴、および、商品情報（商品特徴など）に関するデータが格納される。ディープニューラルネットワークは、顔および商品情報および購入履歴の組みあわせ（関係性、相関）を決定するためにトレーニングされてよい。換言すると、どの顔がどの商品を購入するのかを記述するように、データモデル（ディープニューラルネットワーク）が構築されてよい。データモデルを用いて、購入履歴がないかまたは購入履歴の短いユーザに対して、推薦がなされてよい。例えば、新規ユーザの顔に似た既知の顔が特定され、既知の顔の購入履歴に基づいて、新規ユーザの顔に対して商品が推薦される。商品は、ウェブサイトとのユーザ相互作用の履歴に基づいて推薦されてよい。
【００６８】
図５は、ユーザの顔の３Ｄモデリングのための処理の一実施形態を示すフローチャートである。処理５００は、図２のシステム２００の１または複数の構成要素上で少なくとも部分的に実施されてよい。いくつかの実施形態において、  処理５００は、図３の３Ｄモデルエンジン３０６によって実行される。いくつかの実施形態において、図５の処理の少なくとも一部は、図１の工程１０２に含まれる。
【００６９】
工程５０２で、モデル化されるユーザの顔の入力画像が受信される。ユーザの顔の入力画像は、ユーザの顔のキャプチャまたは記録された画像を含む。様々な実施形態において、ユーザの顔の入力画像は、ユーザの顔の正面像、ユーザの顔の側面像、または、正面像から側面像の間の角度のユーザの顔の像を含んでよい。
【００７０】
工程５０４で、入力画像に対応する統計モデルへの１セットのパラメータ値が、オプティカルフローに少なくとも部分的に基づいて決定されたコスト関数を用いて候補パラメータ値を評価することによって生成される。様々な実施形態において、入力画像内のユーザの顔と（例えば、最適にまたは所与の許容範囲内で）一致する顔の３Ｄモデルを生成するために、１または複数の形状成分ならびに１または複数のテクスチャ成分を含むＰＣＡモデルに入力されるパラメータ値が決定される。いくつかの実施形態において、ＰＣＡモデルに入力されるパラメータ値に加えて、カメラの焦点距離、（例えば、３Ｄ空間内での）カメラの回転、および、（例えば、３Ｄ空間内での）カメラの平行移動に関連するさらなるパラメータも決定される。様々な実施形態において、ＰＣＡモデルに入力されるパラメータ値およびカメラパラメータ値は、パラメータ値の様々な候補セットを通して反復し、パラメータ値の候補セットを用いて顔の３Ｄモデルを生成し、候補合成画像を生成するために２Ｄ表面上に生成された顔の３Ｄモデルを投影し、各候補合成画像と入力画像との間のコストを計算することによって決定される。様々な実施形態において、各候補合成画像と入力画像との間のコストは、候補合成画像から入力画像までのオプティカルフローに基づいて決定される。
【００７１】
図６は、ユーザの顔の３Ｄモデリングのための処理の一実施形態を示すフローチャートである。処理６００は、図２のシステム２００の１または複数の構成要素上で少なくとも部分的に実施されてよい。いくつかの実施形態において、処理６００は、図３の３Ｄモデルエンジン３０６によって実行される。いくつかの実施形態において、図６の処理の少なくとも一部は、図１の工程１０２に含まれる。
【００７２】
工程６０２で、ユーザの顔の複数の３Ｄスキャンが、主成分分析（ＰＣＡ）に入力される。ＰＣＡは、多数（例えば、２００）の様々なユーザの顔の３Ｄスキャンに適用される。
【００７３】
工程６０４で、複数の成分および複数の成分のそれぞれに対応するパラメータ値範囲を含むＰＣＡモデルが、ＰＣＡから受信される。ＰＣＡは、入力データの中で１セットの線系的に相関しない変数（「主成分」と呼ばれる）を特定する統計的手法である。各主成分は、入力データの中の分散を表し、同じ入力データから決定された他の主成分の各々に直交する。様々な実施形態において、得られたＰＣＡモデルは、ユーザの顔の入力３Ｄスキャンの中の形状およびテクスチャの分散をそれぞれ記述する１セットの形状成分および１セットのテクスチャ成分を含む。形状成分およびテクスチャ成分の組みあわせが、顔の３Ｄモーフィングモデルを形成する。いくつかの実施形態において、各形状成分は、ユーザの顔の３Ｄモデルの４０，０００の頂点を記述する４０，０００の（ｘ，ｙ，ｚ）座標のベクトルである。いくつかの実施形態において、各テクスチャ成分は、ユーザの顔の３Ｄモデルの４０，０００の対応する頂点の色を記述する４０，０００の（ｒ，ｇ，ｂ）値のベクトルである。形状成分のセットおよびテクスチャ成分のセットに加えて、ＰＣＡは、各形状成分またはテクスチャ成分に関連する各係数に対応する値域も出力する。１セットの形状係数およびテクスチャ係数が、３Ｄモーフィングモデルを用いて特定の顔を生成し、第２セットの形状係数およびテクスチャ係数が、別の特定の顔を生成し、これは、そのモデルが「モーフィング可能」と呼ばれる理由である。
【００７４】
様々な実施形態において、各形状成分またはテクスチャ成分に関連する係数に異なる値を割り当て、スケーリングされた形状成分を組みあわせて組み合わせ顔形状を生成し、スケーリングされたテクスチャ成分を組みあわせて組み合わせ顔テクスチャを生成し、組み合わせ顔形状と組み合わせ顔テクスチャを組み合わせることによって、１つの顔の異なる３Ｄモデルが生成されてよい。ＰＣＡの形状成分およびテクスチャ成分に対応する形状係数およびテクスチャ係数は、本明細書に記載する様々な実施形態で決定されるパラメータ値のセットに含まれる。いくつかの実施形態において、ＰＣＡモデルは、２０の形状成分および２０のテクスチャ成分を含むよう構成される。したがって、２０の形状係数および２０のテクスチャ係数が、本明細書に記載するいくつかの実施形態で決定されるパラメータ値のセットに含まれる。
【００７５】
図７は、ユーザの顔の３Ｄモーフィングモデルを生成するための主成分分析への入力および主成分分析からの出力の一例を示す図である。図６の処理６００で記載したように、異なるユーザの顔７０４の様々な３Ｄスキャンが主成分分析７０６に入力され、主成分分析７０６は、１または複数のソフトウェアおよびハードウェアを用いて実施されてよい。次いで、主成分分析７０６は、出力７０８を生成する。出力７０８は、１セットの形状成分Ｓ１，・・・，ＳＮを含んでおり、ここで、Ｓｉ＝（ｘ１，ｙ１，ｚ１，・・・，ｘｎ，ｙｎ，ｚｎ）であり、ｘ、ｙ、および、ｚは、頂点の３Ｄ位置である。出力７０８は、さらに、１セットのテクスチャ成分Ｔ１，・・・，ＴＮを含んでおり、ここで、Ｔｉ＝（ｒ１，ｇ１，  ｂ１，・・・，ｒｎ，ｇｎ，ｂｎ）であり、集合的にｒ、ｇ、および、ｂは、頂点の色である。いくつかの実施形態において、Ｎおよびｎはいずれも、設定可能な値である。いくつかの実施形態において、Ｎ＝２０およびｎ＝４０，０００である。出力７０８は、さらに、それぞれの形状成分に対応する各形状係数α１，・・・，αＮの値域と、それぞれのテクスチャ成分に対応する各テクスチャ係数β１，・・・，βＮの値域とを含む。
【００７６】
いくつかの実施形態において、平均形状Ｓａｖｇ（例えば、４０，０００の頂点の３Ｄ位置を記述する３Ｄ座標を持つベクトル）が、主成分分析７０６とは別個に、異なるユーザの顔７０４の様々な３Ｄスキャンから生成される。いくつかの実施形態において、平均テクスチャＴａｖｇ（例えば、４０，０００の頂点の色を記述するｒ、ｇ、および、ｂ値を持つベクトル）が、主成分分析７０６とは別個に、異なるユーザの顔の様々な３Ｄスキャンから生成される。
【００７７】
様々な実施形態において、出力２０８の形状成分およびテクスチャ成分と平均形状成分および平均テクスチャ成分とを組みあわせ、新たな３Ｄ顔形状および新たな３Ｄ顔テクスチャが、以下の式に基づいて生成されてよい：
【００７８】
Ｓｎｅｗ＝Ｓａｖｇ＋ΣｉαｉＳｉ      （１）
【００７９】
Ｔｎｅｗ＝Ｔａｖｇ＋ΣｉβｉＴｉ      （２）
【００８０】
ここで、Ｓｎｅｗは、新たな３Ｄ顔形状を表し、Ｓａｖｇは、平均形状を表し、αｉは、Ｓｉに対応する形状係数を表し、Ｓｉは、ＰＣＡ形状成分を表し、Ｔｎｅｗは、新たな３Ｄ顔テクスチャを表し、Ｔａｖｇは、平均テクスチャを表し、βｉは、Ｔｉに対応するテクスチャ係数を表し、Ｔｉは、ＰＣＡテクスチャ成分を表す。
【００８１】
次いで、ＳｎｅｗおよびＴｎｅｗは、顔の新たな３Ｄモデルを生成するために、１メッシュに組み合わせられてよい。例えば、ＳｎｅｗおよびＴｎｅｗは、Ｓｎｅｗの各頂点を、同じ頂点に対応するＴｎｅｗの色に割り当てることによって組み合わせられてよい。
【００８２】
いくつかの実施形態において、ＰＣＡモデルの形状係数α１，・・・，αＮ＝２０およびテクスチャ係数β１，・・・，βＮ＝２０は、決定されるパラメータ値のセットに含まれる。
【００８３】
図８Ａは、ユーザの顔の１セットの画像から得られた参照点の一例を示す。参照点は、様々な顔の特徴の位置を規定し、ユーザの顔の３Ｄモデルを生成するために用いられる。図８Ａは、画像８００を示し、ここで、ユーザは正面を向いており、参照点８０２は、ユーザの右目の目頭にあり、座標（ｘ０，ｙ０）が割り当てられている。目の参照点は、さらに、座標（ｘ１，ｙ１）の左目頭の点８０４および座標（ｘ２，ｙ２）の左目尻の点８０６を含みうる。右目頭８０２および左目頭８０４の２つの参照点から、ブリッジ距離８０８を決定できる。いくつかの実施形態において、左目頭の点８０４および左目尻の点８０６を用いて、レンズ距離を決定できる（結果として距離８１０になる）。
【００８４】
図８Ｂは、ユーザの顔の１セットの画像から得られた参照点の一例を示す。図８Ｂは、別の向きのユーザの顔を含む別の画像（すなわち、右側面像８２０）を示しており、座標（ｙ４，ｚ４）の右目尻の参照点８２２および座標（ｙ３，ｚ３）で耳輪が頭部とつながる上部の点８２４が含まれる。横顔の写真から、ｚ座標をユーザの顔の３Ｄモデルに追加できる。ユーザの顔の２Ｄビデオフレームから、ユーザの顔の３Ｄモデルを決定できる。
【００８５】
いくつかの実施形態において、２Ｄ画像（例えば、図８Ａおよび図８Ｂに示したものなど）からの参照点が、ユーザの顔の３Ｄモデルを作成するために組み合わせられる。対応する参照点が、ユーザの顔／頭部における参照点（例えば、顔の特徴の位置）の各々の位置を表す１セットの（ｘ，ｙ，ｚ）座標を作成するために組み合わせられる。例えば、図８Ａの前向きビデオフレーム８００からの右目尻８１２の（ｘ，ｙ）座標を、用図８Ｂの右向き画像／ビデオフレーム８２０における右目尻の参照点８２２のｚ座標と組み合わせて、座標を備えた参照点を得ることができる。ユーザの顔の３Ｄモデルは、まつげ内側の点、目尻、目頭、耳の接合点、頬骨、鼻先などの３Ｄ点（対応する（ｘ，ｙ，ｚ）座標）を含む。
【００８６】
図９は、３Ｄ空間における所定の３Ｄ顔の視覚化の一例を示す図である。いくつかの実施形態において、所定の３Ｄ顔は、．ｏｂｊファイルを含む。図９の例において、所定の３Ｄ顔９００は、所定の３Ｄ顔の顔の特徴の形状を規定する三角形ポリゴンを含む。いくつかの実施形態において、各ポリゴンは、顔のその領域の色を表す関連の色を含む。図９の例では、所定の３Ｄ顔９００は、三角形ポリゴンを含むが、実際の実施例では、所定の３Ｄ顔が、その他の形状のポリゴンおよび／またはその他の数の頂点を含んでもよい。
【００８７】
図１０は、推薦の説明を決定するための処理の一実施形態を示すフローチャートである。処理１０００は、図２のシステム２００の１または複数の構成要素上で少なくとも部分的に実施されてよい。いくつかの実施形態において、処理２００は、図３の推薦エンジン３１４および／または出力エンジン３１２によって実行される。いくつかの実施形態において、図１０の処理の少なくとも一部は、図１の工程１０４および／または工程１０６に含まれる。出力の一例が、図１６に示されている。
【００８８】
処理は、１または複数の画像に基づいて、顔の３Ｄ再構築を実行する（工程１００２）。３Ｄ再構築は、本明細書に記載の方法に従って実行されてよい。例えば、頭部の３Ｄモデルが、画像から生成されてよい。顔のポーズが、回転行列および並進ベクトルから決定されてよい。ポーズの評価が、３Ｄモデルおよびカメラの固有パラメータに基づいて顔に対して実行されてよい。
【００８９】
処理は、３Ｄ再構築に基づいて身体的特徴の説明を決定する（工程１００４）。例えば、顔の形、顔の構造または比率、目の色、髪の色、肌の色、および／または、テクスチャなど、顔の特徴が決定されてよい。特定の鼻パッド構造を備えた眼鏡フレームを選んだ説明が、比較的狭くて短い鼻梁の顔特徴によって説明されてよい。眼鏡の特定の鼻パッド構造は、そのタイプの鼻梁に適切で（例えば、良好にフィットし）、快適さと、フレーム内で目が中心にくる審美的なフィットを両立しうる。
【００９０】
処理は、説明を出力する（工程１００６）。説明は、推薦がなされた理由について、より多くの内容および情報をユーザに提供するために、推薦と共に出力されてよい。比較的狭くて短い鼻梁に適した鼻パッドの例に戻ると、ユーザの鼻梁の構造を理由にフレームがユーザに適していることをユーザに知らせるために、この身体的属性がＧＵＩで出力されてよい。
【００９１】
図１１は、顔データ採点システムの一実施形態を示すブロック図である。この例において、顔データ採点システム１１００は、分類器１１０２〜１１０６を備える。分類器の各々は、受信した特徴に基づいてスコアを出力するよう構成されてよい。例えば、分類器１１０２は、特徴１を受信してその特徴のスコアを出力し、分類器１１０４は、特徴２を受信してその特徴のスコアを出力し、分類器１１０６は、特徴３を受信してその特徴のスコアを出力する。様々な実施形態において、分類器は、より多くのトレーニングデータが分類器に入力されると共に経時的に採点が改善するように、機械学習モデルによって実装される。
【００９２】
図に示すように、様々な数の分類器がシステムに提供されてよく、各々が、それぞれの特徴タイプを取り扱うよう適合される。各特徴タイプは、顔の形、肌の色、目の色、髪の色、顔の比率などを含む。いくつかの実施形態において、１または複数の特徴タイプが、顔の３Ｄ表面に基づいて決定されてよい。
【００９３】
顔の形は、以下のように検出されてよい。分類器が、受信した特徴に基づいて顔の形を決定するよう構成される。分類器は顔の輪郭を決定し、ここで輪郭は１セットの点である。輪郭は、ライブラリまたは従来の方法を用いて決定されてよい。分類器が、各顔形状にスコアを割り当てるよう構成される。スコアのベクトルが、顔の輪郭を記述する。いくつかの実施形態において、顔の形は、顔が、円形、楕円形、ハート型、三角形、および、四角形など、所定のカテゴリまたはラベルに該当する程度によって記述される。例えば、顔が、４０％四角形で６０％楕円形であってもよく、１００％楕円形として分類される必要はない。分類器は、顔の輪郭の点のセットと既知の点のセットとの間の一致度または類似度を決定することによってスコアを割り当てるよう構成される。閾値内の一致度または類似度であった場合、これは、形状が、所定の割合で楕円形、所定の割合で四角形などであることを意味する。
【００９４】
様々な実施形態において、肌の領域が、顔の輪郭を規定する。例えば、肌の領域は、髪の毛が終わり肌が始まるところ、背景が終わり肌が始まるところなどの決定である。
【００９５】
いくつかの実施形態において、顔の特徴は、画像から直接抽出される。いくつかの実施形態において、顔の特徴は、本明細書で詳述するようにモーフィングモデルから抽出される。検出されたの顔の輪郭は、顔の形の検出に関連する機械学習モデルに入力されてよい。
【００９６】
肌のパターンは、肌のテクスチャ、あざ、きめの粗さなどの測定値である。商品推薦は、ユーザの肌のパターンに適合されてもよい。例えば、独自の肌のパターンが、推薦する商品の選択に影響してよい。様々な実施形態において、肌のパターンは、肌を表す領域からピクセルをサンプリングすることによって決定される。いくつかの実施形態において、３Ｄモーフィング頭部が、肌の領域に関する情報を提供し、肌のパターンの決定のためにピクセルがサンプリングされる領域を狭める。例えば、画像が、肌領域および非肌領域（例えば、髪、衣服、背景など）に分割される次いで、肌領域が、肌のパターンを決定するためにサンプリングされてよい。
【００９７】
様々な実施形態において、分類器が、肌の色を決定するよう構成される。肌の色は、ユーザの顔の少なくとも一部の色を記述する。肌の色は、ＲＧＢ、ＣＩＥＬＡＢなどの様々な色空間で記述されてよい。肌の色は、ユーザの顔の画像のセットに少なくとも部分的に基づいて、ユーザの顔の様々な領域から色をサンプリングすることによって決定されてよい。
【００９８】
肌の色は、画像が記録された照明環境を考慮に入れて決定されてよい。様々な実施形態において、ユーザの顔に関連する画像セットの各画像について、その特定の画像に関連する付帯情報のセットで変換されたモーフィング済みの３Ｄ一般モデルに、その特定の画像に関連する付帯部情報のセットで同じく変換された３Ｄ眼鏡モデルが装着され、変換された３Ｄ眼鏡モデルが変換された３Ｄ一般モデルへ落とす影が、所与の照明モデルでシミュレートされる。いくつかの実施形態において、照明モデルは、画像のセットにおけるユーザの特定の照明環境に基づいて決定される。例えば、３Ｄ眼鏡モデルは、ユーザの顔に仮想的に試着するよう選択された眼鏡に関連する。様々な実施形態において、変換された３Ｄ一般モデルに眼鏡モデルが落とす影を含む影有りの２Ｄ顔画像が生成される。様々な実施形態において、各画像の対応する２Ｄ顔画像と、対応する影有りの２Ｄ顔画像との間の差異に少なくとも部分的に基づいて、ユーザの顔に関連する画像セットの各画像に対して、対応する影変換が生成される。様々な実施形態において、ユーザの顔に関連する画像セット内の画像に対応する影変換をその画像に適用して、選択された眼鏡がユーザの顔に落とす影をその画像内でレンダリング／シミュレートすることができる。対応する影変換が適用されたユーザの顔の画像は、ユーザの顔への選択された眼鏡の仮想試着をシミュレートするために、選択された眼鏡の２Ｄ画像のオーバーレイと共に、ユーザの特定の照明環境に基づいて決定された照明モデルを用いてシミュレートされたように、選択された眼鏡がユーザの顔に落とす現実の影を伴って提示されうる。
【００９９】
いくつかの実施形態において、顔の特徴は、画像から直接抽出される。いくつかの実施形態において、顔の特徴は、本明細書で詳述するようにモーフィングモデルから抽出される。例えば、肌の色は、ポリゴンの色に基づいてモーフィングモデルから決定されてよい。サンプリングされた色は、肌の色の決定に関連する機械学習モデルに入力されてよい。
【０１００】
様々な実施形態において、分類器が、目の色を決定するよう構成される。目の色は、ユーザの顔の画像のセットに少なくとも部分的に基づいて、ユーザの目の様々な領域（虹彩など）から色をサンプリングすることによって決定されてよい。いくつかの実施形態において、顔の特徴は、画像から直接抽出される。いくつかの実施形態において、顔の特徴は、本明細書で詳述するようにモーフィングモデルから抽出される。例えば、３Ｄモーフィング頭部は、目の位置を特定することで、目の色を決定するためにピクセルがサンプリングされる領域を狭めるために用いられてよい。サンプリングされた色は、目の色の決定に関連する機械学習モデルに入力されてよい。
【０１０１】
様々な実施形態において、分類器が、髪の色を決定するよう構成される。髪の色は、ユーザの顔の画像のセットに少なくとも部分的に基づいて、ユーザの髪の様々な領域から色をサンプリングすることによって決定されてよい。いくつかの実施形態において、顔の特徴は、画像から直接抽出される。いくつかの実施形態において、顔の特徴は、本明細書で詳述するようにモーフィングモデルから抽出される。サンプリングされた色は、髪の色の決定に関連する機械学習モデルに入力されてよい。
【０１０２】
様々な実施形態において、分類器は、顔の構造（顔の比率とも呼ぶ）を決定するよう構成される。顔の比率は、ユーザの顔の１セットの画像に少なくとも部分的に基づいて、少なくとも２つの顔特徴距離の間の比率を抽出することによって決定されてよい。例えば、分類器は、顔の幅および顔の特徴のその他の測定値または比率を受信してよい。例えば、（ｉ）目尻の間の距離と（ｉｉ）鼻の先端から鼻のブリッジラインまでの間の距離との比率であり、ここで、ブリッジラインは、鼻を横切って目頭につながる線である。
【０１０３】
いくつかの実施形態において、顔の特徴は、画像から直接抽出される。いくつかの実施形態において、顔の特徴は、本明細書で詳述するようにモーフィングモデルから抽出される。サンプリングされた色は、顔の比率の決定に関連する機械学習モデルに入力されてよい。
【０１０４】
様々な実施形態において、分類器は、顔の３Ｄ表面を決定するよう構成される。顔の３Ｄ表面は、ユーザの顔のモーフィングモデルから位置または頂点を取得することによって測定された顔の構造の記述である。様々な特徴が、顔の３Ｄモデルから決定されてよい。例えば、顔の形が、頭部の３Ｄモーフィングモデルから特徴を抽出することによって決定されてよい。例えば、鼻梁領域、頬骨、パントスコピック傾斜（顔に対するレンズの角度）、および、その他の特徴が、３Ｄモーフィングモデルから決定されてよい。眼鏡のフィット、および、眼鏡が特定のユーザの顔でどのように見えるかが、これらの要素に基づいて評価されてよい。フィットが悪いまたはユーザの顔に掛けて見栄えがよくない眼鏡は、推薦リストを作る時に優先順位を下げてもよいし、推薦しなくてもよい。
【０１０５】
いくつかの実施形態において、３Ｄモーフィング頭部を前提として顔の特徴を識別するように分類器をトレーニングするために、顔の３Ｄ表面の頂点座標および色が、モーフィング頭部から抽出されてよい。頂点の座標は、モーフィング頭部を形成するポリゴンであってよい。いくつかの実施形態において、モーフィング頭部は、ポリゴンを形成する多数の座標（例えば、２０，０００ポイントのオーダー）を含んでよい。各ポリゴンは、関連の色を有してよい。座標は、データモデルまたは分類器（機械学習モデルで実装されてよい）に供給される。頂点の座標および商品のラベルは、分類器に供給される。ラベルは、商品を表現として予め決定されるか、割り当てられるか、または、自動的に決定されてよい。分類器は、頂点とラベルとの間の相関を決定する。
【０１０６】
いくつかの実施形態において、３Ｄモーフィング頭部を前提として顔の特徴を識別するように分類器をトレーニングするために、３Ｄモーフィング頭部は、いくつかの角度からレンダリングされる。例えば、画像のライブラリが、様々な角度からレンダリングされた頭部から作成されてよい。様々な角度でレンダリングされた頭部から、輪郭が検出されてよい。顔の形または顔の形の採点が、検出された輪郭に基づいて割り当てられてよい。
【０１０７】
顔の３Ｄ表面は、顔の間の類似度を決定するために用いられてよい。例えば、二人のユーザが、比較的間隔の広い目を有する特徴を共有する場合があり、これは、両者共に特定のタイプの眼鏡が合うことを示唆する。
【０１０８】
取得された位置または頂点は、顔の３Ｄ表面の決定に関連する機械学習モデルに入力されてよい。いくつかの実施形態において、眼鏡の形状と顔の３Ｄ表面との間の相関が決定されてよい。相関は、ユーザまたは類似した３Ｄ顔表面を有する他のユーザに眼鏡を推薦するために用いられてよい。
【０１０９】
様々な実施形態において、組み合わせられたモデルの出力が、分類器１１０２〜１１０６の出力から生成される。複数の顔の特徴タイプに関連する複数のトレーニングされた機会学習モデルのそれぞれに対応する出力が組み合わせられる。組み合わせられた出力は、さらなる解析に向けて複数の商品のサブセットを選択するために複数の商品と相関されてよい。一態様において、推薦される潜在的な商品は、相関処理によって絞り込まれる。いくつかの実施形態において、さらなるタイプの推薦、協調フィルタリングなどが、推薦を決定するために用いられてもよい。相関の一例が、図４に示されている。商品の一部が提示されてよい。
【０１１０】
図１２は、分類器を用いて顔の特徴の特性を決定するための処理の一実施形態を示すフローチャートである。処理１２００は、図２のシステム２００の１または複数の構成要素上で少なくとも部分的に実施されてよい。いくつかの実施形態において、処理２００は、図３の推薦エンジン３１４および／または図１１の分類器１１０２〜１１０６によって実行される。いくつかの実施形態において、図１２の処理の少なくとも一部は、図１の工程１０４に含まれる。
【０１１１】
処理は、受信した画像に基づいて顔の特徴のタイプに対応する顔特徴を抽出する（工程１２０２）。顔特徴抽出は、画像および／または他のセンサデータ（深度など）に基づいてよい。様々な実施形態において、顔特徴抽出は、顔の特徴のいくつかのタイプについて実行されてよい。例えば、未処理の顔の特徴が残らなくなるまで、各顔特徴について７０４が反復されてよい。
【０１１２】
処理は、抽出された顔特徴を顔の特徴のタイプに対応する分類器に入力する（工程１２０４）。分類器は、トレーニングされた機械学習モデルによって実装されてよい。例えば、顔の形状に関連する顔特徴が、顔形状分類器に入力される。顔の形状は、顔形状データでトレーニングされ、入力データに基づいて自動的に顔の形状を検出することができる分類器によって体系的に決定されてよい。
【０１１３】
処理は、顔の特徴のタイプに対応する分類器から出力を取得する（工程１２０６）。顔の形状の例に再び戻ると、分類器は、入力された顔が様々な形状カテゴリ（円形、楕円形、四角形、ダイヤモンド形など）に当てはまる割合を出力する。
【０１１４】
主に眼鏡の例を用いて説明したが、本明細書に記載の技術には、イヤリング、帽子、化粧、靴、衣類などの仮想フィッティングなど、様々な環境での用途がある。
【０１１５】
図１３Ａは、在庫品を閲覧するための商品カタログのＧＵＩの一例である。ＧＵＩ１３００は、任意選択的なナビゲーション領域１３０２を備えており、これは、ＧＵＩに表示された在庫品のナビゲーションを支援するためのメニュー、フィルタなどを備えうる。この例において、ＧＵＩ１３００は、多くの眼鏡フレームを含む商品カタログを表示する。ここでは、６つの眼鏡フレーム（モデルＡＡ、ＡＢ、ＡＣ、ＢＥ、ＢＸ、および、ＣＤ）を見ることができる。ユーザは、商品および詳細を検討するために、ＧＵＩ１３００と相互作用できる。例えば、スクロールバー１３０４を用いたページのスクロールダウンに応じて、さらなる眼鏡が、ＧＵＩ１３００で見えるようになってよい。ユーザがページをスクロールダウンしたことに応じて、１または複数のさらなる眼鏡フレームがロードされてよい。様々な実施形態において、ユーザがページをスクロールダウンしたことに応じてロードされる眼鏡フレームは、本明細書に記載の技術に少なくとも部分的に基づいて決定されてよい。例えば、眼鏡の推薦は、顧客の嗜好に適合されてよく、嗜好の少なくとも一部は、顧客の閲覧の傾向に基づいて学習されてよい。
【０１１６】
図１３Ｂは、図１３ＡのＧＵＩとのユーザ相互作用に応じて表示された商品を示すＧＵＩの一例である。ユーザが、ＧＵＩ１３００のスクロールバー１３０４を用いるなどしてスクロールダウンした時に、６つの眼鏡フレーム（モデルＤＡ、ＤＢ、ＤＲ、ＥＡ、ＥＦ、および、ＥＬ）のグループ１３３０が表示されてよい。グループ１３３０は、図３の推薦エンジン３１４によって選択された商品など、本明細書に記載の技術に少なくとも部分的に基づいて選択された１または複数の推薦商品を含んでよい。いくつかの実施形態において、グループ１３３０は、ユーザがＧＵＩ１３００をスクロールダウンすることを予期して商品の迅速なロードを容易にするために予めロード（例えば、バッファに格納）される。
【０１１７】
図１３Ｃは、図１３ＡのＧＵＩとのユーザ相互作用に応じて表示された商品を示すＧＵＩの一例である。ユーザが、ＧＵＩ１３００のスクロールバー１３０４を用いるなどしてスクロールダウンした時に、６つの眼鏡フレーム（モデルＡＤ、ＡＧ、ＡＬ、ＲＶ、ＲＭ、および、ＲＰ）のグループ１３５０が表示されてよい。いくつかの実施形態において、グループ１３５０は、ユーザがＧＵＩ１３００をスクロールダウンすることを予期して商品の迅速なロードを容易にするために予めロード（例えば、バッファに格納）される。
【０１１８】
グループ１３５０は、図３の推薦エンジン３１４によって選択された商品など、本明細書に記載の技術に少なくとも部分的に基づいて選択された１または複数の推薦商品を含んでよい。この例において、グループ１３５０は、（ＧＵＩ１３００に示された）モデルＡＣのユーザ選択に応じてなされた推薦を含む。例えば、ユーザは、モデルＡＣをクリックしてそのモデルに関連する商品ページをロードし、カタログページ１３００に戻ることができる。ユーザがカタログページ１３００に戻った際、ユーザがＧＵＩ１３００をスクロールダウンした時にグループ１３５０が表示されるように、グループ１３５０がロードされてよい。グループ１３５０の商品は、本明細書に記載の技術に従って、モデルＡＣに基づいて選択されてよい。例えば、グループ１３５０は、モデルＡＣに類似する長方形フレームの眼鏡を含む。一態様において、グループ１３３０および１３５０の組み立ては、商品が閲覧に応じて再ソートまたは更新されることにユーザが気付かないので、シームレスなユーザ体験を提供する。ユーザがウェブページをスクロールダウンすると、隠された商品（例えば、商品リストの下の方にある商品）が、ユーザの閲覧に応じてユーザの嗜好に動的に適合するように更新されうる。
【０１１９】
図１４Ａは、在庫品を閲覧するための商品カタログのＧＵＩの一例である。ＧＵＩ１４００は、任意選択的なナビゲーション領域１４０２を備えており、これは、ＧＵＩに表示された在庫品のナビゲーションを支援するためのメニュー、フィルタなどを備えうる。この例において、ＧＵＩ１４００は、多くの眼鏡フレームを含む商品カタログを表示する。ここでは、６つの眼鏡フレーム（モデルＡ、Ｂ、Ｃ、Ｄ、Ｅ、および、Ｇ）が示されている。ユーザは、商品および詳細を検討するために、ＧＵＩ１４００と相互作用できる。例えば、モデルＣのユーザ選択に応じて、ＧＵＩ１４００に表示される商品が更新されてよい。
【０１２０】
図１４Ｂは、図１４ＡのＧＵＩとのユーザ相互作用に応じて表示されたＧＵＩの一例である。例えば、ユーザは、モデルＣ（ＧＵＩ１４００に表示されている）をクリックしてそのモデルに関連する商品ページをロードし、カタログページに戻ることができる。ユーザがカタログページに戻る時、更新された商品推薦を表示するために、ＧＵＩ１４５０がロードされてよい。ここで、モデルＭ、Ｋ、および、Ｘが、モデルＣのユーザ選択に応じてＧＵＩ１４００のモデルＣ、Ｄ、および、Ｇから置き換わる。モデルＭ、Ｋ、および、Ｘは、本明細書に記載の技術に従って、モデルＣに基づいて選択されてよい。例えば、モデルＣＤは、ワイヤフレームである。モデルＭ、Ｋ、および、Ｘは、モデルＣ、Ｄ、および、Ｇのプラスチックフレーム眼鏡と置き換わるワイヤフレームである。様々な実施形態において、ＧＵＩ１４５０の領域の一部は、置き換えまたは更新された商品推薦を受け入れるよう指定される。これらの領域は、本明細書では「推薦ブロック」とも呼ばれる。例えば、推薦ブロック１４５２、１４５４、および、１４５６は、更新のために用いられるが、その他の領域に表示された商品（モデルＤなど）は残留する。いくつかの実施形態では、より見やすい領域が、商品推薦の更新を受け入れるよう選択される。換言すると、商品推薦が、ＧＵＩに表示された商品の中に組み入れられ、顧客の嗜好に応じて動的に更新されうる。
【０１２１】
図１５Ａは、在庫品を閲覧するための商品カタログのＧＵＩの一例である。ＧＵＩ１５００は、任意選択的なナビゲーション領域１５０２を備えており、これは、ＧＵＩに表示された在庫品のナビゲーションを支援するためのメニュー、フィルタなどを備えうる。ＧＵＩ１５００は、推薦された商品（ここでは、４つの眼鏡モデル）が表示される推薦ブロック１５０４を備える。この例において、ＧＵＩ１５００は、多くの眼鏡フレームを含む商品カタログを表示する。ここでは、６つの眼鏡フレーム（モデルＡ、Ｂ、Ｃ、Ｄ、Ｅ、および、Ｇ）が示されている。さらに、４つの眼鏡フレーム（モデルＬ、Ｐ、Ｙ、および、Ａ）が、推薦ブロック１５０４に表示される。
【０１２２】
推薦ブロックは、ユーザの嗜好に適合した他の推薦商品を表示するように更新されうる。例えば、モデルＣのユーザ選択に応じて、推薦ブロック１５０４に表示される商品が更新されてよい。
【０１２３】
図１５Ｂは、図１５ＡのＧＵＩとのユーザ相互作用に応じて表示されたＧＵＩの一例である。例えば、ユーザは、モデルＣ（ＧＵＩ１５００に表示されている）をクリックしてそのモデルに関連する商品ページをロードし、カタログページに戻ることができる。ユーザがカタログページに戻る時、更新された商品推薦を推薦ブロック１５０４に表示するために、ＧＵＩ１５５０がロードされてよい。ここでは、モデルＣのユーザ選択に応じて、ＧＵＩ１５００のモデルＬ、Ｐ、Ｙ、および、Ａが、ＧＵＩ１５５０に示されたモデルＸ、Ｈ、Ｑ、および、Ｓに置き換えられている。モデルＸ、Ｈ、Ｑ、および、Ｓは、本明細書に記載の技術に従って、モデルＣに基づいて選択されてよい。例えば、モデルＣは、長方形フレームである。モデルＸ、Ｈ、Ｑ、および、Ｓは、モデルＣに関心のあるユーザが関心を持ちうる長方形フレーム眼鏡である。
【０１２４】
図１６は、ユーザの身体的特徴に基づいた推薦の出力を示すＧＵＩの一例である。ＧＵＩ１６００は、ユーザの顔のキャプチャ画像と、推薦とを表示する。ここで、推薦は、丸型フレームである。この推薦に対する説明が表示される。ここで、丸型フレームの推薦の理由は、ユーザの主な顔の形が四角形であることである。すなわち、ユーザの顔が、様々な形状によって表示されてよく、主要な形状は四角形である。四角形の顔には、この例における丸型眼鏡フレームが最も似合う。
【０１２５】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
【図１】
2019102068.tif 000003
【図２】
2019102068.tif 000004
【図３】
2019102068.tif 000005
【図４】
2019102068.tif 000006
【図５】
2019102068.tif 000007
【図６】
2019102068.tif 000008
【図７】
2019102068.tif 000009
【図８Ａ】
2019102068.tif 000010
【図８Ｂ】
2019102068.tif 000011
【図９】
2019102068.tif 000012
【図１０】
2019102068.tif 000013
【図１１】
2019102068.tif 000014
【図１２】
2019102068.tif 000015
【図１３Ａ】
2019102068.tif 000016
【図１３Ｂ】
2019102068.tif 000017
【図１３Ｃ】
2019102068.tif 000018
【図１４Ａ】
2019102068.tif 000019
【図１４Ｂ】
2019102068.tif 000020
【図１５Ａ】
2019102068.tif 000021
【図１５Ｂ】
2019102068.tif 000022
【図１６】
2019102068.tif 000023
【外国語明細書】
2019102068000001.pdf