(57)【特許請求の範囲】
【請求項１】
人間の身体サイズ測定値を生成するためのコンピュータにより実行される方法であって、
ユーザ装置から１つ以上のユーザパラメータを受信するステップと、
前記ユーザ装置から少なくとも１つの画像を受信するステップであって、前記少なくとも１つの画像は前記人間および背景を含む、ステップと、
前記背景から前記人間に関連付けられた１つ以上の身体特徴を抽出するため前記少なくとも１つの画像に対して身体セグメント化を実行するステップであって、前記身体セグメント化はセグメント化訓練データについて訓練されてきたセグメント化ディープラーニングネットワークを利用する、ステップと、
身体特徴測定値に対応する各身体特徴上に注釈線を注釈するために前記抽出された身体特徴に対して身体特徴注釈付けを実行するステップであって、前記身体特徴注釈付けは、注釈付け訓練データについて訓練されてきた注釈付けディープラーニングネットワークを利用し、前記注釈付け訓練データは、１つ以上のサンプル身体特徴についての１つ以上の画像および各身体特徴についての注釈線を備える、ステップと、
前記注釈付き身体特徴および前記１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、前記１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップと、
各抽出された身体特徴について前記身体特徴測定値を集約することによって身体サイズ測定値を生成するステップと、
を備える方法。
【請求項２】
前記セグメント化訓練データは、１人以上のサンプル人間についての１つ以上の画像と、前記１人以上のサンプル人間の各身体特徴についての手動で決定された身体特徴セグメント化とを備える、請求項１に記載の方法。
【請求項３】
前記手動で決定された身体特徴セグメント化は衣服の下で抽出され、前記セグメント化訓練データは、アノテータによって前記衣服の下の前記人間の身体を推定する手動で決定された身体セグメント化を備える、請求項２に記載の方法。
【請求項４】
各身体特徴上の前記注釈線は、所与の身体特徴測定値に対応する１つ以上の線分を備え、
前記１つ以上の注釈付き身体特徴から前記身体特徴測定値を生成する前記ステップは、各身体特徴上の前記注釈線を利用する、請求項１に記載の方法。
【請求項５】
前記少なくとも１つの画像は、少なくとも前記人間の正面図画像および側面図画像を備え、前記方法は、身体特徴注釈付けを実行する前記ステップの後に、
前記人間の線注釈付き正面図および側面図画像ならびに身長を利用して少なくとも１つの注釈付き身体特徴の少なくとも１つの周囲長を計算するステップと、
前記少なくとも１つの周囲長、前記身長、および前記１つ以上のユーザパラメータに基づいて前記サイジング機械学習モジュールを利用して、前記少なくとも１つの周囲長から前記身体特徴測定値を生成するステップと、
をさらに備える、請求項１に記載の方法。
【請求項６】
前記サイジング機械学習モジュールはランダムフォレストアルゴリズムを備え、
前記サイジング機械学習モジュールは、１人以上のサンプル人間についての１つ以上のサンプル身体サイズ測定値を備えるグラウンドトゥルースデータについて訓練される、請求項１に記載の方法。
【請求項７】
前記１つ以上のユーザパラメータは、身長、体重、性別、年齢、および人口統計情報からなる群より選択される、請求項１に記載の方法。
【請求項８】
前記ユーザ装置から前記１つ以上のユーザパラメータを受信する前記ステップは、前記ユーザ装置を通じて１つ以上のユーザパラメータのユーザ入力を受信するステップを備える、請求項７に記載の方法。
【請求項９】
前記ユーザ装置から１つ以上のユーザパラメータを受信する前記ステップは、前記ユーザ装置によって実行された測定値を受信するステップを備える、請求項７に記載の方法。
【請求項１０】
前記少なくとも１つの画像は、前記人間の正面図画像および前記人間の側面図画像からなる群より選択される、請求項１に記載の方法。
【請求項１１】
前記少なくとも１つの画像は、前記人間の前記正面図画像に対して４５度の角度で撮影された前記人間の追加画像をさらに備える、請求項１０に記載の方法。
【請求項１２】
前記少なくとも１つの画像に対して前記身体セグメント化を実行する前記ステップは、前記身体セグメント化の精度を向上させるためにユーザ入力を受信するステップをさらに備え、
前記ユーザ入力は、前記人間の身体の所与の領域に対応する前記抽出された身体特徴の１つ以上の部分のユーザ選択を備える、請求項１に記載の方法。
【請求項１３】
前記少なくとも１つの画像は、完全着衣のユーザまたは部分着衣のユーザの少なくとも１つの画像を備え、
身体特徴測定値を生成する前記ステップは、前記完全着衣のユーザまたは前記部分着衣のユーザの前記少なくとも１つの画像上で前記身体特徴測定値を生成するステップをさらに備える、請求項１に記載の方法。
【請求項１４】
前記身体サイズ測定値は第１身体サイズ測定値を備え、
前記方法は、第２の機械学習モジュールを使用して第２身体サイズ測定値を生成するステップをさらに備え、
前記第２身体サイズ測定値の精度は前記第１身体サイズ測定値の精度よりも高い、請求項１に記載の方法。
【請求項１５】
前記抽出された身体特徴の所与の身体特徴測定値が所定値未満の信頼性レベルに対応するか否かを判断するステップと、
前記所与の身体特徴測定値が前記所定値未満の信頼性レベルに対応するという判断に応答して、
前記人間の適合３Ｄモデルを決定するために前記抽出された身体特徴に対して３Ｄモデル適合モジュールを使用する３Ｄモデル適合を実行するステップであって、前記３Ｄモデル適合モジュールを案内するために１つ以上の高信頼性身体特徴測定値が使用される、ステップと、
前記適合３Ｄモデルに基づいて身体特徴測定を実行するステップと、
前記所与の身体特徴測定値を前記適合３Ｄモデルからの予測された身体特徴測定値と置き換えるステップと、
をさらに備える、請求項１に記載の方法。
【請求項１６】
前記抽出された身体特徴の所与の身体特徴測定値が所定値未満の信頼性レベルに対応するか否かを判断するステップと、
前記所与の身体特徴測定値が前記所定値未満の信頼性レベルに対応するという判断に応答して、
前記人間の関節位置を判断するために前記抽出された身体特徴に対して骨格検出モジュールを使用して骨格検出を実行するステップであって、前記骨格検出モジュールを案内するために１つ以上の高信頼性身体特徴測定値が使用される、ステップと、
前記判断された関節位置に基づいて身体特徴測定を実行するステップと、
前記所与の身体特徴測定値を前記骨格検出モジュールからの予測された身体特徴測定値と置き換えるステップと、
をさらに備える、請求項１に記載の方法。
【請求項１７】
前記身体セグメント化を実行する前に、前記人間および前記背景の前記少なくとも１つの画像を前処理するステップをさらに備え、
前記前処理は、前記少なくとも１つの画像に対する少なくとも遠近補正を備え、
前記遠近補正は、前記人間の頭部を利用する遠近補正、前記ユーザ装置のジャイロスコープを利用する遠近補正、および前記ユーザ装置の別のセンサを利用する遠近補正からなる群より選択される、請求項１に記載の方法。
【請求項１８】
人間の身体サイズ測定値を生成するためのコンピュータプログラムであって、その中で実現されるプログラム命令またはプログラムコードを有する非一時的なコンピュータ可読記憶媒体を備え、前記プログラム命令はプロセッサに、
ユーザ装置から１つ以上のユーザパラメータを受信するステップと、
前記ユーザ装置から少なくとも１つの画像を受信するステップであって、前記少なくとも１つの画像は前記人間および背景を含む、ステップと、
前記背景から前記人間に関連付けられた１つ以上の身体特徴を抽出するために前記少なくとも１つの画像上で身体セグメント化を実行するステップであって、前記身体セグメント化は、セグメント化訓練データについて訓練されてきたセグメント化ディープラーニングネットワークを利用する、ステップと、
身体特徴測定値に対応する各身体特徴上に注釈線を描画するために前記抽出された身体特徴に対して身体特徴注釈付けを実行するステップであって、前記身体特徴注釈付けは、注釈付け訓練データについて訓練されてきた注釈付けディープラーニングネットワークを利用し、前記注釈付け訓練データは、１つ以上のサンプル身体特徴についての１つ以上の画像および各身体特徴についての注釈線を備える、ステップと、
前記注釈付き身体特徴および前記１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、前記１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップと、
各身体特徴について前記身体特徴測定値を集約することによって身体サイズ測定値を生成するステップと、
を実行させるために前記プロセッサによって実行可能である、コンピュータプログラム。
【請求項１９】
各身体特徴上の前記注釈線は、所与の身体特徴測定値に対応する１つ以上の線分を備え、
前記１つ以上の注釈付き身体特徴から前記身体特徴測定値を生成する前記ステップは、各身体特徴上の前記注釈線を利用する、請求項１８に記載のコンピュータプログラム。
【請求項２０】
前記少なくとも１つの画像は、少なくとも前記人間の正面図画像および側面図画像を備え、前記プログラム命令は前記プロセッサに、
前記人間の線注釈付き正面図および側面図画像ならびに身長を利用して少なくとも１つの注釈付き身体特徴の少なくとも１つの周囲長を計算するステップと、
前記少なくとも１つの周囲長、前記身長、および前記１つ以上のユーザパラメータに基づいて前記サイジング機械学習モジュールを利用して、前記少なくとも１つの周囲長から前記身体特徴測定値を生成するステップと、
をさらに実行させるために前記プロセッサによって実行可能である、請求項１８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願の参照
本出願は、「全身測定値抽出のためのシステムおよび方法」と題された、２０１８年１１月１９日出願の米国特許出願第１６／１９５，８０２号、および「２Ｄ電話カメラを使用する全身測定値抽出のためのシステムおよび方法」と題された、２０１８年４月２０日出願の米国特許出願第６２／６６０，３７７号の、特許協力条約（ＰＣＴ）の下での優先権を主張する。
【０００２】
本発明の実施形態は、自動身体測定の分野にあり、特にモバイル装置で撮影した写真を使用してユーザの身体測定値を抽出することに関する。
【背景技術】
【０００３】
本発明の背景の記載は、本発明ならびにその用途および使用の理解を助けるために提供されており、従来技術を構成するものではない。
【０００４】
一般的に、ユーザの画像から身体測定値を生成または抽出しようと試みてきた３つのアプローチがある。第１のアプローチは、ＭＩＣＲＯＳＯＦＴ  ＫＩＮＥＣＴカメラのような奥行きデータを提供する３Ｄカメラを使用することであった。奥行き感知を使用すると、身体サイズを捕捉するための３Ｄ身体モデルを構築することができる。しかしながら、誰でも３Ｄカメラにアクセスできるわけではなく、現時点では大量採用への明確な道筋がないため、このような３Ｄカメラが普及することは現在考えられない。
【０００５】
第２のアプローチは、２Ｄ動画を捕捉するための２Ｄカメラを使用して、身体サイズを捕捉するための３Ｄ身体モデルを再作成するために２Ｄから３Ｄへの再構築技術を利用することであった。このような技術は、ＭＴＡＩＬＯＲおよび３ＤＬＯＯＫなどの企業で使用されている。２Ｄ動画アプローチでは、３Ｄ身体モデルが再作成され、このアプローチは、予め満たされたポイントクラウドを有する既存の３Ｄ身体テンプレートを新しく作成された３Ｄ身体に適合させるために、「ポイントクラウドマッチング技術」を実行しようと試みる。しかしながら、固有のユーザの３Ｄ身体上に既存のテンプレートを適応させようとすると、結果が正確ではない場合がある。テンプレート３Ｄ身体とユーザの３Ｄ身体との適合が完了した後に、サイズおよび測定値が得られるが、これらは一般的に正確ではない。
【０００６】
第３のアプローチは、２Ｄ動画の代わりに２Ｄ写真を捕捉するために２Ｄカメラを使用し、先の方法と同様に、身体サイズを捕捉するために２Ｄから３Ｄへの再構築技術を利用することであった。このような技術は、たとえば、２Ｄ写真から３Ｄモデルへの３Ｄ再構築を開発した企業である、ＡＧＩＳＯＦＴによって使用されている。２Ｄ動画の代わりに２Ｄ写真を使用することは、より高い解像度で捕捉された写真を伴う場合があり、こうしてわずかに精度の高い結果を生み出すが、その他の前述の問題が残る。
【０００７】
２Ｄ動作または写真を使用する既存の方法では、３Ｄ身体モデルが生成され、これらのアプローチは一般的に、ユーザが特定の姿勢を取り、空白の背景の前でカメラから特定の距離に立ち、ぴったりした衣服を着て、および／または下着のみを着て部分的に裸になることを必要とする。制御された環境および著しいユーザの摩擦に対するこのような要件は、望ましくない。
【０００８】
したがって、誰でも自分の写真を容易に撮影でき、全身測定値抽出の恩恵を受けることができるように、１）ユーザが任意の姿勢を取り、２）ユーザが任意の背景タイプの前に立ち、３）任意の距離で写真が撮られ、４）ユーザが任意のタイプの衣服を着用して、２Ｄ写真から身体測定値を正確に抽出するためのシステムおよび方法を提供することは、先端技術の進歩となるだろう。
【０００９】
この背景に対して、本発明が開発された。
【発明の概要】
【００１０】
本発明は、たとえばモバイル装置カメラから取られた２Ｄユーザ画像を使用して全身測定を抽出するための方法およびシステムに関する。
【００１１】
より具体的には、様々な実施形態において、本発明は、人間の身体サイズ測定値を生成するためのコンピュータ実装方法であり、コンピュータ実装方法はハードウェアプロセッサによって実行可能であり、方法は、１つ以上のユーザパラメータを受信するステップと；人間および背景を含む少なくとも１つの画像を受信するステップと；人間に関連付けられた１つ以上の身体特徴を識別するステップと；身体特徴測定値に対応する各身体特徴上に注釈線を生成するために識別された身体特徴について身体特徴注釈付けを実行するステップであって、身体特徴注釈付けは、注釈付け訓練データについて訓練されてきた注釈付けディープラーニングネットワークを利用し、注釈付け訓練データは、１つ以上のサンプル身体特徴についての１つ以上の画像および各身体特徴についての注釈線を備える、ステップと；注釈付き身体特徴および１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップと；各身体特徴について身体特徴測定値を集約することによって身体サイズ測定値を生成するステップと、を備える。
【００１２】
一実施形態では、人間に関連付けられた１つ以上の身体特徴を識別するステップは、背景から人間に関連付けられた１つ以上の身体特徴を識別するために少なくとも１つの画像に対して身体セグメント化を実行するステップを備え、身体セグメント化は、セグメント化訓練データについて訓練されてきたセグメント化ディープラーニングネットワークを利用し、セグメント化訓練データは、１人以上のサンプル人間についての１つ以上の画像および１人以上のサンプル人間の各身体特徴についての身体特徴セグメント化を備える。
【００１３】
一実施形態では、身体特徴セグメント化は衣服の下で抽出され、セグメント化訓練データは、アノテータによって衣服の下の人間の身体を推定する身体セグメント化を備える。
【００１４】
一実施形態では、各身体特徴上の注釈線は、所与の身体特徴測定値に対応する１つ以上の線分を備え、１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップは、各身体特徴上の注釈線を利用する。
【００１５】
一実施形態では、少なくとも１つの画像は、少なくとも人間の正面図画像および側面図画像を備え、方法は、身体特徴注釈付けを実行するステップの後に、人間の線注釈付き正面図および側面図画像ならびに身長を利用して少なくとも１つの注釈付き身体特徴の少なくとも１つの周囲長を計算するステップと；少なくとも１つの周囲長、身長、および１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、少なくとも１つの周囲長から身体特徴測定値を生成するステップと、をさらに備える。
【００１６】
一実施形態では、サイジング機械学習モジュールはランダムフォレストアルゴリズムを備え、サイジング機械学習モジュールは、１人以上のサンプル人間についての１つ以上のサンプル身体サイズ測定値を備えるグラウンドトゥルースデータについて訓練される。
【００１７】
一実施形態では、１つ以上のユーザパラメータは、身長、体重、性別、年齢、および人口統計情報からなる群より選択される。
【００１８】
一実施形態では、１つ以上のユーザパラメータを受信するステップは、ユーザ装置を通じて１つ以上のユーザパラメータのユーザ入力を受信するステップを備える。
【００１９】
一実施形態では、１つ以上のユーザパラメータを受信するステップは、ユーザ装置によって実行された測定値を受信するステップを備える。
【００２０】
一実施形態では、少なくとも１つの画像は、人間の正面図画像および人間の側面図画像からなる群より選択される。
【００２１】
一実施形態では、少なくとも１つの画像は、人間の正面図画像に対して４５度の角度で撮影された人間の追加画像をさらに備える。
【００２２】
一実施形態では、少なくとも１つの画像に対して身体セグメント化を実行するステップは、身体セグメント化の精度を向上させるためにユーザ入力を受信するステップをさらに備え、ユーザ入力は、人間の身体の所与の領域に対応する身体特徴の１つ以上の部分のユーザ選択を備える。
【００２３】
一実施形態では、少なくとも１つの画像は、完全着衣のユーザまたは部分着衣のユーザの少なくとも１つの画像を備え、身体特徴測定値を生成するステップは、完全着衣のユーザまたは部分着衣のユーザの少なくとも１つの画像上で身体特徴測定値を生成するステップをさらに備える。
【００２４】
一実施形態では、身体サイズ測定値は第１身体サイズ測定値を備え、方法は、第２のサイジング機械学習モジュールを使用して第２身体サイズ測定値を生成するステップをさらに備え、第２身体サイズ測定値の精度は第１身体サイズ測定値の精度よりも高い。
【００２５】
別の実施形態では、方法は、身体特徴の所与の身体特徴測定値が所定値未満の信頼性レベルに対応するか否かを判断するステップと；所与の身体特徴測定値が所定値未満の信頼性レベルに対応するという判断に応答して、人間の適合３Ｄモデルを決定するために身体特徴に対して３Ｄモデル適合モジュールを使用する３Ｄモデル適合を実行するステップであって、３Ｄモデル適合モジュールを案内するために１つ以上の高信頼性身体特徴測定値が使用される、ステップと、適合３Ｄモデルに基づいて身体特徴測定を実行するステップと、所与の身体特徴測定値を適合３Ｄモデルからの予測された身体特徴測定値と置き換えるステップと、をさらに備える。
【００２６】
さらに別の実施形態では、方法は、身体特徴の所与の身体特徴測定値が所定値未満の信頼性レベルに対応するか否かを判断するステップと；所与の身体特徴測定値が所定値未満の信頼性レベルに対応するという判断に応答して、人間の関節位置を判断するために身体特徴に対して骨格検出モジュールを使用して骨格検出を実行するステップであって、骨格検出モジュールを案内するために１つ以上の高信頼性身体特徴測定値が使用される、ステップと、判断された関節位置に基づいて身体特徴測定を実行するステップと、所与の身体特徴測定値を骨格検出モジュールからの予測された身体特徴測定値と置き換えるステップと、をさらに備える。
【００２７】
さらに別の実施形態では、方法は、身体セグメント化を実行する前に、人間および背景の少なくとも１つの画像を前処理するステップをさらに備える。一実施形態では、前処理は、少なくとも１つの画像に対する少なくとも遠近補正を備える。一実施形態では、遠近補正は、人間の頭部を利用する遠近補正、ユーザ装置のジャイロスコープを利用する遠近補正、およびユーザ装置の別のセンサを利用する遠近補正からなる群より選択される。
【００２８】
さらに別の実施形態では、１つ以上の身体特徴を識別するステップは、人間上に身体特徴のセグメント化マップを生成するステップと；身体特徴注釈付けを実行するステップの前に人間および背景からの１つ以上の識別された身体特徴をトリミングするステップと、をさらに備え、身体特徴注釈付けを実行するステップは、各身体特徴について個別に訓練された複数の注釈付けディープラーニングネットワークを利用する。
【００２９】
様々な実施形態において、コンピュータプログラム製品が開示される。コンピュータプログラムは、人間の身体サイズ測定値を生成するために使用されてもよく、それにより実現されるプログラム命令またはプログラムコードを有するコンピュータ可読記憶媒体を含んでもよく、プログラム命令はプロセッサに、１つ以上のユーザパラメータを受信するステップと；人間および背景を含む少なくとも１つの画像を受信するステップと；人間に関連付けられた１つ以上の身体特徴を識別するステップと；身体特徴測定値に対応する各身体特徴上に注釈線を生成するために抽出された身体特徴に対して身体特徴注釈付けを実行するステップであって、身体特徴注釈付けは、注釈付け訓練データについて訓練されてきた注釈付けディープラーニングネットワークを利用し、注釈付け訓練データは、１つ以上のサンプル身体特徴についての１つ以上の画像および各身体特徴についての注釈線を備える、ステップと；注釈付き身体特徴および１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップと；各身体特徴について身体特徴測定値を集約することによって身体サイズ測定値を生成するステップと、を実行させるために、プロセッサによって実行可能である。
【００３０】
さらに別の実施形態によれば、本発明は、人間の身体サイズ測定値を生成するためのコンピュータ実装方法であり、コンピュータ実装方法はハードウェアプロセッサによって実行可能であり、方法は、ユーザ装置から１つ以上のユーザパラメータを受信するステップと；ユーザ装置から少なくとも１つの画像を受信するステップであって、少なくとも１つの画像は人間および背景を含む、ステップと；背景から人間に関連付けられた１つ以上の身体特徴を抽出するために少なくとも１つの画像に対して身体セグメント化を実行するステップであって、身体セグメント化はセグメント化訓練データについて訓練されてきたセグメント化ディープラーニングネットワークを利用する、ステップと；身体特徴測定値に対応する各身体特徴上に注釈線を注釈するために抽出された身体特徴に対して身体特徴注釈付けを実行するステップであって、身体特徴注釈付けは、注釈付け訓練データについて訓練されてきた注釈付けディープラーニングネットワークを利用し、注釈付け訓練データは、１つ以上のサンプル身体特徴についての１つ以上の画像および各身体特徴についての注釈線を備える、ステップと；注釈付き身体特徴および１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップと；各抽出された身体特徴について身体特徴測定値を集約することによって身体サイズ測定値を生成するステップと、を備える。
【００３１】
一実施形態では、セグメント化訓練データは、１人以上のサンプル人間についての１つ以上の画像と、１人以上のサンプル人間の各身体特徴についての手動で決定された身体特徴セグメント化とを備える。
【００３２】
一実施形態では、手動で決定された身体特徴セグメント化は衣服の下で抽出され、セグメント化訓練データは、アノテータによって衣服の下の人間の身体を推定する手動で決定された身体セグメント化を備える。
【００３３】
一実施形態では、各身体特徴上の注釈線は、所与の身体特徴測定値に対応する１つ以上の線分を備え、１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップは、各身体特徴上の注釈線を利用する。
【００３４】
一実施形態では、少なくとも１つの画像は、少なくとも人間の正面図画像および側面図画像を備え、方法は、身体特徴注釈付けを実行するステップの後に、人間の線注釈付き正面図および側面図画像ならびに身長を利用して少なくとも１つの注釈付き身体特徴の少なくとも１つの周囲長を計算するステップと；少なくとも１つの周囲長、身長、および１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、少なくとも１つの周囲長から身体特徴測定値を生成するステップと、をさらに備える。
【００３５】
一実施形態では、サイジング機械学習モジュールはランダムフォレストアルゴリズムを備え、サイジング機械学習モジュールは、１人以上のサンプル人間についての１つ以上のサンプル身体サイズ測定値を備えるグラウンドトゥルースデータについて訓練される。
【００３６】
一実施形態では、１つ以上のユーザパラメータは、身長、体重、性別、年齢、および人口統計情報からなる群より選択される。
【００３７】
一実施形態では、ユーザ装置から１つ以上のユーザパラメータを受信するステップは、ユーザ装置を通じて１つ以上のユーザパラメータのユーザ入力を受信するステップを備える。
【００３８】
一実施形態では、ユーザ装置から１つ以上のユーザパラメータを受信するステップは、ユーザ装置によって実行された測定値を受信するステップを備える。
【００３９】
一実施形態では、少なくとも１つの画像は、人間の正面図画像および人間の側面図画像からなる群より選択される。
【００４０】
一実施形態では、少なくとも１つの画像は、人間の正面図画像に対して４５度の角度で撮影された人間の追加画像をさらに備える。
【００４１】
一実施形態では、少なくとも１つの画像に対して身体セグメント化を実行するステップは、身体セグメント化の精度を向上させるためにユーザ入力を受信するステップをさらに備え、ユーザ入力は、人間の身体の所与の領域に対応する抽出された身体特徴の１つ以上の部分のユーザ選択を備える。
【００４２】
一実施形態では、少なくとも１つの画像は、完全着衣のユーザまたは部分着衣のユーザの少なくとも１つの画像を備え、身体特徴測定値を生成するステップは、完全着衣のユーザまたは部分着衣のユーザの少なくとも１つの画像上で身体特徴測定値を生成するステップをさらに備える。
【００４３】
一実施形態では、身体サイズ測定値は第１身体サイズ測定値を備え、方法は、第２の機械学習モジュールを使用して第２身体サイズ測定値を生成するステップをさらに備え、第２身体サイズ測定値の精度は第１身体サイズ測定値の精度よりも高い。
【００４４】
別の実施形態では、方法は、抽出された身体特徴の所与の身体特徴測定値が所定値未満の信頼性レベルに対応するか否かを判断するステップと；所与の身体特徴測定値が所定値未満の信頼性レベルに対応するという判断に応答して、人間の適合３Ｄモデルを決定するために抽出された身体特徴に対して３Ｄモデル適合モジュールを使用する３Ｄモデル適合を実行するステップであって、３Ｄモデル適合モジュールを案内するために１つ以上の高信頼性身体特徴測定値が使用される、ステップと、適合３Ｄモデルに基づいて身体特徴測定を実行するステップと、所与の身体特徴測定値を適合３Ｄモデルからの予測された身体特徴測定値と置き換えるステップと、をさらに備える。
【００４５】
さらに別の実施形態では、方法は、抽出された身体特徴の所与の身体特徴測定値が所定値未満の信頼性レベルに対応するか否かを判断するステップと；所与の身体特徴測定値が所定値未満の信頼性レベルに対応するという判断に応答して、人間の関節位置を判断するために抽出された身体特徴に対して骨格検出モジュールを使用して骨格検出を実行するステップであって、骨格検出モジュールを案内するために１つ以上の高信頼性身体特徴測定値が使用される、ステップと、判断された関節位置に基づいて身体特徴測定を実行するステップと、所与の身体特徴測定値を骨格検出モジュールからの予測された身体特徴測定値と置き換えるステップと、をさらに備える。
【００４６】
さらに別の実施形態では、方法は、身体セグメント化を実行する前に、人間および背景の少なくとも１つの画像を前処理するステップをさらに備え、前処理は、少なくとも１つの画像に対する少なくとも遠近補正を備え、遠近補正は、人間の頭部を利用する遠近補正、ユーザ装置のジャイロスコープを利用する遠近補正、およびユーザ装置の別のセンサを利用する遠近補正からなる群より選択される。
【００４７】
さらに別の実施形態では、コンピュータプログラム製品は、人間の身体サイズ測定値を生成するために使用されてもよく、それにより実現されるプログラム命令またはプログラムコードを有するコンピュータ可読記憶媒体を含んでもよく、プログラム命令はプロセッサに、ユーザ装置から１つ以上のユーザパラメータを受信するステップと；ユーザ装置から少なくとも１つの画像を受信するステップであって、少なくとも１つの画像は人間および背景を含む、ステップと；背景から人間に関連付けられた１つ以上の身体特徴を抽出するために少なくとも１つの画像上で身体セグメント化を実行するステップであって、身体セグメント化は、セグメント化訓練データについて訓練されてきたセグメント化ディープラーニングネットワークを利用する、ステップと；身体特徴測定値に対応する各身体特徴上に注釈線を描画するために抽出された身体特徴に対して身体特徴注釈付けを実行するステップであって、身体特徴注釈付けは、注釈付け訓練データについて訓練されてきた注釈付けディープラーニングネットワークを利用し、注釈付け訓練データは、１つ以上のサンプル身体特徴についての１つ以上の画像および各身体特徴についての注釈線を備える、ステップと；注釈付き身体特徴および１つ以上のユーザパラメータに基づいてサイジング機械学習モジュールを利用して、１つ以上の注釈付き身体特徴から身体特徴測定値を生成するステップと；各身体特徴について身体特徴測定値を集約することによって身体サイズ測定値を生成するステップと、を実行させるために、プロセッサによって実行可能である。
【００４８】
様々な実施形態において、コンピュータ実行可能コンポーネントを記憶するメモリと、メモリに動作可能に結合され、メモリ内に記憶されたコンピュータ実行可能コンポーネントを実行する、ハードウェアプロセッサと、を含むシステムが記載されており、コンピュータ実行可能コンポーネントは、前述のステップを実行するプロセッサと通信可能に結合されたコンポーネントを含んでもよい。
【００４９】
別の実施形態では、本発明は、プロセッサによって実行されると、プロセッサに、身体測定値を生成するためのプロセスを実行させる実行可能命令を記憶する、非一時的なコンピュータ可読記憶媒体であり、命令はプロセッサに前述のステップを実行させる。
【００５０】
別の実施形態では、本発明は、２Ｄ電話カメラを使用する全身測定値抽出のためのシステムであり、システムは、２Ｄカメラ、プロセッサ、ディスプレイ、第１のメモリを有するユーザ装置と；第２のメモリおよびデータリポジトリを備えるサーバと；前記ユーザ装置と前記サーバとの間の遠隔通信リンクと；前記ユーザ装置および前記サーバの前記第１および第２のメモリ上で実現された複数のコンピュータコードと、を備え、前記複数のコンピュータコードは実行されると前記サーバおよび前記ユーザ装置に、前述のステップを備えるプロセスを実行させる。
【００５１】
さらに別の実施形態では、本発明は、少なくとも１つのプロセッサ、メモリ、および前記メモリ上で実現された複数のコンピュータコードを備えるコンピュータ化されたサーバであり、前記複数のコンピュータコードは実行されると前記プロセッサに、前述のステップを備えるプロセスを実行させる。
【００５２】
本発明の他の態様および実施形態は、本明細書に記載されたステップを備える方法、プロセス、およびアルゴリズムを含み、本明細書に記載されたシステムおよびサーバのプロセスおよび動作モードも含む。
【００５３】
本発明のさらに別の態様および実施形態は、添付図面と併せて読めば、本発明の詳細な説明から明らかになるだろう。
【００５４】
本明細書に記載される本発明の実施形態は、例示的であって限定的ではない。実施形態は、以下の添付図面を参照して、例として以下に記載される。
【図面の簡単な説明】
【００５５】
【図１Ａ】本発明の一実施形態による、ディープラーニングネットワーク（ＤＬＮ）および機械学習を利用する身体測定値決定の例示的なフロー図を示す。
【図１Ｂ】本発明の別の実施形態による、ディープラーニングネットワーク（ＤＬＮ）および機械学習を使用する身体測定値決定の別の例示的なフロー図を示す。
【図１Ｃ】本発明の別の実施形態による、ディープラーニングネットワーク（ＤＬＮ）および機械学習を使用する身体測定値決定の詳細なフロー図を示す。
【図１Ｄ】本発明の一実施形態による、ディープラーニングネットワーク（ＤＬＮ）を使用する身体部分セグメント化および注釈付けの詳細なフロー図を示す。
【図１Ｅ】本発明の別の実施形態による、ディープラーニングネットワーク（ＤＬＮ）から得られた１つ以上の特徴値からの身体サイジング決定のための機械学習アルゴリズムの説明図を示す。
【図２】本開示の例示的な実施形態による、身体測定値決定のために図１Ａのフロー図と共に使用される、ディープラーニングネットワーク（ＤＬＮ）および機械学習モジュールを訓練するための例示的なフロー図を示す。
【図３】セグメント化および注釈付けＤＬＮを訓練するために捕捉された、衣服を着ている人体を示すユーザ画像（正面図）の説明図を示す。
【図４】セグメント化ＤＬＮを訓練するために背景から衣服の下の人体の１つ以上の特徴を手動でセグメント化するアノテータを示す説明図を示す。
【図５】セグメント化ＤＬＮを訓練するために背景からセグメント化された人体の身体特徴の説明図を示す。
【図６】注釈付けＤＬＮを訓練するために身体注釈線を手動で注釈するアノテータを示す説明図を示す。
【図７】本発明の一実施形態による、身体測定値抽出を実装するための説明的なクライアント−サーバ図を示す。
【図８】本発明の一実施形態による、（個別のセグメント化ＤＬＮ、注釈付けＤＬＮ、およびサイジング機械学習モジュールを示す）身体測定値決定の例示的なフロー図を示す。
【図９】本発明の別の実施形態による、（セグメント化−注釈付けＤＬＮおよびサイジング機械学習モジュールの組み合わせを示す）身体測定値決定の別の例示的なフロー図を示す。
【図１０】本発明のさらに別の実施形態による、（組み合わせサイジングＤＬＮを示す）身体測定値決定のさらに別の例示的なフロー図を示す。
【図１１】本開示の別の説明的実施形態による、（３Ｄ人間モデルおよび骨格／関節位置モデルを示す）身体測定値決定の別の例示的なフロー図を示す。
【図１２】本発明の一実施形態を実装するためのサーバの説明的ハードウェアアーキテクチャ図を示す。
【図１３】クライアントサーバ環境において本発明の一実施形態を実装するための説明的システムアーキテクチャ図を示す。
【図１４】通常の背景に対して立っている典型的な衣服の人間の正面図を示す、人体測定値を捕捉するためにモバイル装置上の単一のカメラが使用される、本発明の使用事例の説明図を示す。
【図１５】本発明の一実施形態による、正面図写真を捕捉するためのユーザ命令を示すモバイル装置グラフィカルユーザインターフェース（ＧＵＩ）の説明図を示す。
【図１６】本発明の一実施形態による、身長（および任意選択的に体重、年齢、性別など他のユーザパラメータ）を入力し、好みのフィットスタイル（タイト、普通、またはルーズフィット）を選択するようにユーザに要求する、モバイル装置ＧＵＩの説明図を示す。
【図１７】本発明の一実施形態による、正面図写真を捕捉するためのモバイル装置ＧＵＩの説明図を示す。
【図１８】本発明の一実施形態による、正面図写真を捕捉するためのモバイル装置ＧＵＩの別の説明図を示す。
【図１９】本発明の一実施形態による、側面図写真を捕捉するためのモバイル装置ＧＵＩの説明図を示す。
【図２０】本発明の一実施形態による、身体測定値を抽出するためにシステムが捕捉された写真を処理している間に表示されるモバイル装置ＧＵＩの説明図を示す。
【図２１】本発明の一実施形態による、身体測定値が首尾よく抽出されたときの通知画面を示すモバイル装置ＧＵＩの説明図を示す。
【発明を実施するための形態】
【００５６】
概要
提供された図面を参照して、本発明の実施形態がここで詳細に説明される。
【００５７】
以下の説明では、説明目的のため、本発明の徹底的な理解を提供するために、多くの具体的な詳細が明記されている。しかしながら、これらの具体的な詳細を伴わなくても本発明が実践され得ることは、当業者にとって明らかであろう。他の例では、本発明を曖昧にすることを避けるために、概略図、使用事例、および／またはフロー図を使用して、構造、装置、動作、および方法が示されている。以下の説明は説明目的のために多くの詳細を含むが、提案された詳細に対する多くの変形および／または変更が本発明の範囲に含まれることを、当業者は理解するだろう。同様に、本発明の特徴の多くは互いに対して、または互いに関連して記載されているが、これらの特徴の多くは他の特徴とは無関係に提供され得ることを、当業者は理解するだろう。したがって、本発明のこの説明は、本発明に対する一般性を失うことなく、また本発明に対して制限を課すことなく、明記されている。
【００５８】
他の者たちは、ユーザの画像から身体測定値を生成または抽出するために、多くの異なるタイプのアプローチを試みてきた。これらのアプローチの全ては一般的に、ユーザが特定の姿勢を取り、空白の背景の前でカメラから特定の距離に立ち、ぴったりしたシャツを着て、および／または下着のみを着て部分的に裸になることを必要とする。制御された環境および著しいユーザの摩擦に対するこのような要件は、望ましくない。
【００５９】
本発明は、誰でも自分の写真を容易に撮影でき、全身測定値抽出の恩恵を受けることができるように、１）人間が任意の姿勢を取り、２）人間が任意の背景タイプの前に立ち、３）任意の距離で写真が撮られ、４）人間が任意のタイプの衣服を着用して、２Ｄ写真から身体測定値を正確に抽出するためのシステムおよび方法を提供することによって、前述の問題を解決する。本発明のいくつかの実施形態は、３Ｄ再構築も３Ｄ身体モデルも伴わず、特殊化されたハードウェアカメラも必要としない。代わりに、ユーザが何を着ていようと、単純なモバイル装置カメラから提供された写真から正確な身体測定値を生成するために、ディープラーニング技術と組み合わせた高度なコンピュータビジョンが使用される。本開示では、スマートフォン、タブレット、ラップトップ、またはデスクトップのような計算装置に埋め込まれるかまたは接続されたあらゆる従来のカメラを表すために、用語「２Ｄ電話カメラ」が使用される。
【００６０】
身体測定のためのディープラーニングネットワークおよび機械学習
図１Ａは、本開示の例示的な実施形態による、身体測定値決定動作のための例示的なフローの図を示す。本発明のいくつかの実施形態では、コンピュータビジョン技術およびディープラーニングがユーザの１つの正面図写真および１つの側面図写真、プラスユーザの身長、ならびに場合により体重、性別、年齢など他のユーザパラメータに適用され、何千ものサンプル人間について収集および注釈された注釈付き身体測定値について訓練されてきた１つ以上のディープラーニングネットワークを使用して全身測定値を生成する。より多くのデータがシステムによって収集されるにつれて、身体測定の精度は自動的に向上する。いくつかの他の実施形態では、ディープラーニングアプローチからの任意の低信頼性身体測定値を改善するために、コンピュータビジョン技術を利用する、遠近補正、人間背景差分、骨格検出、および３Ｄモデル適合アプローチが使用される。このハイブリッドアプローチは、身体測定精度を著しく改善し、身体測定値に対するユーザの満足度を高める。身体測定値がカスタム衣類製造に使用される場合、結果として得られる精度は顧客サービスを改善し、製造されたカスタム衣類の返品率を低下させる。
【００６１】
全体のプロセスはステップ１０１で始まる。ステップ１０２において、正規化またはスケーリングを実行するために、ユーザの身長などの正規化データ（１つ以上のユーザパラメータ）が取得、生成、および／または測定される。別の実施形態では、身長と併せて体重も使用され得る。いずれのユーザパラメータも、（たとえば、コンピュータビジョンアルゴリズムを使用するかまたは１つ以上のデータベースからマイニングして）自動的に決定されてもよく、またはユーザ（たとえば、ユーザ入力）から決定されてもよい。一実施形態では、これらのユーザパラメータから、肥満度指数（ＢＭＩ）が計算されてもよい。ＢＭＩは、体重および身長の両方を使用して、身体測定値抽出を較正するために使用されてもよい。追加のユーザパラメータは、とりわけ、身長、体重、性別、年齢、人種、出身国、運動歴、および／またはユーザに関連付けられた他の人口統計情報のうちの少なくとも１つを含むことができる。ユーザの身長は、正面および／または側面図写真を正規化またはスケーリングし、写真内の人間について既知のサイズ基準を提供するために、使用される。体重、ＢＭＩ指数、年齢、性別など、その他のユーザパラメータは、身体サイジング測定を最適化するための、システムへの追加入力として使用される。一実施形態では、その他のユーザパラメータは、ユーザ装置から、１つ以上の第三者データソースから、またはサーバから、自動的に取得され得る。
【００６２】
ステップ１０４において、１つ以上のユーザ写真が受信されてもよい。たとえば、所与のユーザの少なくとも１つの正面および／または側面図写真が受信されてもよい。別の実施形態では、写真はユーザ装置（たとえば、携帯電話、ラップトップ、タブレットなど）から取得されてもよい。別の実施形態では、写真はデータベース（たとえば、ソーシャルメディアデータベース）から取得されてもよい。別の実施形態では、ユーザ写真は、ユーザの全身の正面図を示す写真および側面図を示す写真を含む。いくつかの実施形態では、正面図などの１つの写真のみが利用され、正確な身体測定値抽出を実行するのにその１つの写真で十分である。さらに別の実施形態では、３つ以上の写真が利用され、いくつかの実施形態では、正面図写真、側面図写真、および４５度の角度で撮影された写真を含む。当業者によって認識されるように、ユーザ写真の他の組み合わせも本発明の範囲に含まれる。いくつかの実施形態では、たとえばユーザの正面図、９０度、１８０度、または３６０度の図など、ユーザ動画が受信されてもよい。ユーザ動画から、ユーザの正面図、側面図、および／または４５度の図など、１つ以上の静止フレームまたは写真が動画から抽出され、後続のプロセスで使用される。ステップ１０２から１０４は、本発明の様々な実施形態においていずれの順序で実行されてもよく、２つのステップが並行して実装されてもよい。
【００６３】
一実施形態では、システムは、後続のステップに関連して以下でさらに説明されるように、写真および正規化データを使用して、（たとえば、１つ以上のＡＩアルゴリズムを使用して）身体測定値を自動的に計算してもよい。別の実施形態では、ユーザは、より正確な結果のために、ユーザがタイト、普通、またはルーズな衣服を着ているか否かを示してもよい。
【００６４】
一実施形態では、指定された距離（たとえば、ユーザの装置のカメラからおよそ１０フィート）で画像が撮影されてもよい。一実施形態では、画像は、指定された姿勢（たとえば、腕を所定の位置にして、脚を肩幅に広げ、背筋を伸ばして、「Ａ姿勢」など）を取るユーザの画像が撮影されてもよい。別の実施形態では、所与の姿勢の複数の画像（たとえば、正面および側面図写真）が撮影されてもよく、各姿勢について平均的な画像が決定されてもよい。これは、精度を向上させるために実行され得る。別の実施形態では、ユーザは、特定のタイプの背景（たとえば、天然色、または所定の背景画像を有する）に対して位置決めされてもよい。いくつかの実施形態では、ユーザはいずれのタイプの背景に対する位置であってもよい。一実施形態では、正面および側面図写真は、類似の照明条件（たとえば、所与の明るさ、影など）の下で撮影され得る。別の実施形態では、正面および側面図写真は、普通のフィット感の衣服（たとえば、緩すぎないまたはきつすぎない）を着ているユーザの写真を含んでもよい。あるいは、または付加的に、正面および側面図写真は、ＡＩベースのアルゴリズムおよび関連するプロセスの必要に応じて、部分的に着衣の（たとえば、シャツを脱いだ）、または異なるタイプのフィット感（たとえば、タイト、ルーズなど）を有するユーザの画像を含んでもよい。
【００６５】
いくつかの実施形態では、必要であれば、遠近補正など、ユーザの１つ以上の写真に対する前処理（図１Ａには示さず）が、正面および側面図写真に対して実行されてもよい。たとえば、システムは、オープンソースのマシンビジョンライブラリであるＯｐｅｎＣＶを使用してもよく、遠近補正の基準として正面および側面図写真における頭部の特徴およびユーザの身長を利用してもよい。このようにして、本開示の実施形態は、胴の長さおよび脚の長さなど、身体の長さの割合に関する限り、不正確な測定値を決定することを回避することができる。任意選択的に、撮影される人の位置に対してカメラがどこに位置決めされるかを示す遠近側面写真は、システムがカメラとユーザとの間の距離を計算できるようにすることによって、さらに正確な遠近補正を生み出すことができる。いくつかの実施形態では、システムは、システムは代わりに、写真遠近角度を検出するためにユーザ装置（または付属コンピュータ装置など、ユーザ装置に接続された周辺装置）によって提供されたジャイロスコープデータを使用し、この写真遠近角度に基づいて遠近補正を実行してもよい。
【００６６】
いくつかの実施形態では、ユーザの１つ以上の写真に対して１つ以上の追加前処理ステップ（図１Ａには示さず）が実行されてもよい。１つ以上の画像をさらに前処理するために、様々なコンピュータビジョン技術が利用されてもよい。前処理ステップの例は、遠近補正に加えて、さらなる処理の前に１つ以上の画像の品質を向上させるための、コントラスト、照明、および他の画像処理技術を含み得る。
【００６７】
ステップ１０６において、セグメント化ＤＬＮとして知られる第１のディープラーニングネットワーク（ＤＬＮ）を使用して、人間の身体部分（たとえば、首、腕、脚など）などの身体特徴が画像から識別または抽出されてもよい。一実施形態では、「ディープラーニング」は、ニューラルネットワークをモデルとした特徴抽出および変換のための非線形処理ユニットの複数の層のカスケードを使用する、機械学習アルゴリズムの階級を指すことができる。一実施形態では、連続する層は、前の層からの出力を入力として使用することができる。一実施形態では、「ディープラーニング」の「ディープ」は、それを通じてデータが変換される層の数を指すことができる。身体特徴抽出の一例は、図３から図４に関連して以下で説明され示される。
【００６８】
実際のユーザからのデータに対してこのセグメント化ステップを実行する前に、システムはまず、たとえば、図２に関連して説明されたような、「Ａ姿勢」として知られることもある、両手を４５度にした状態で、異なる衣服で異なる環境でポーズを取っている人間のサンプル写真について、訓練されていてもよい。いくつかの実施形態では、ディープニューラルネットワーク、ディープビリーフネットワーク、および／またはリカレントニューラルネットワークなど、いずれの適切なディープラーニングアーキテクチャが使用されてもよい。別の実施形態では、ディープラーニングアルゴリズムは、教師付き（たとえば、分類）および／または教師なし（たとえば、パターン分析）で学習することができる。さらに、ディープラーニングアルゴリズムは、画像内に符号化された情報（たとえば、身体、身体部分など）の異なるレベルの抽象化に対応する、複数のレベルの表現を学習することができる。別の実施形態では、画像（たとえば、正面および側面写真）は、画素のマトリクスとして表されてもよい。たとえば、一実施形態では、第１の表現層は、画素を抽出して境界を符号化することができ、第２の層は境界の配置を構成および符号化することができ、第３の層は鼻と目を符号化することができ、第４の層は、画像が顔などを含むことを認識することができ、以下同様である。
【００６９】
一実施形態では、セグメント化ＤＬＮアルゴリズムは、図２に関連して以下に説明されるように、セグメント化訓練データを用いて訓練されてもよい。いくつかの実施形態では、セグメント化訓練データは、手動でセグメント化された身体特徴を有する数千のサンプル人間を含んでもよい。いくつかの実施形態では、訓練データは、たとえばＣＡＴスキャン、ＭＲＩスキャンなどからの医療データを含む。いくつかの実施形態では、訓練データは、３Ｄボディスキャナからの３Ｄボディスキャンおよび「グラウンドトゥルース」データを含む、以前のテーラーまたは３Ｄ身体測定値からのデータを含む。いくつかの実施形態では、３Ｄボディスキャンは、正面および側面図写真が明確に利用可能ではない場合に、おおよその正面および／または側面図写真を抽出するために使用されてもよい。いくつかの実施形態では、グラウンドトゥルースデータは人間のテーラーによる測定データを備え、他の実施形態では、グラウンドトゥルースデータは、３Ｄボディスキャンから自動的に抽出された１Ｄ身体サイズ測定値を備える。いくつかの実施形態では、約１０，０００人の人間被験者（男女両方）について得られた３Ｄボディスキャンの商用サンプルである、「サイズＵＳＡ」データセットからの３Ｄボディスキャンデータが利用されてもよい。別の実施形態では、「ＣＡＥＳＡＲ」データセットからの３Ｄボディスキャンデータが利用されてもよく、これは約４，０００人の人間被験者について得られた３Ｄボディスキャンの別の商用サンプルであり、人間のテーラーを使用して手動測定したグラウンドトゥルースデータも含む。さらに別の実施形態では、本発明を利用する組織は、セグメント化ＤＬＮを訓練するために、人間のテーラーを使用する適切なグラウンドトゥルースデータと共に、自身の正面および側面写真を捕捉してもよい。さらに別の実施形態では、セグメント化訓練データは、人間オペレータによって手動でセグメント化される代わりに、１つ以上のディープラーニングネットワークを含む、１つ以上のアルゴリズムによって自動的に生成されてもよい。
【００７０】
一実施形態（図１Ａには示さず）では、識別された身体部分は、ステップ１０６で生成されたセグメント化マップを使用して、人間の残部および背景からセグメント化、分離、またはトリミングされる。トリミングは、現実または仮想トリミングであってもよい。各識別された身体部分に対応する画像の部分は、画像の残部からトリミング、セグメント化、または分離されてもよく、画像のその部分は注釈付けステップ１０７に渡されてもよい。識別された身体部分を画像の残部からトリミングまたは分離することによって、注釈付けステップ１０７で使用される注釈付けＤＬＮは、各個別の身体部分について特別にまたは個別に訓練されることが可能であり、精度および信頼性の両方を向上させる。
【００７１】
ステップ１０７において、ステップ１０６で識別または抽出された各身体部分の注釈線は、たとえば注釈付けＤＬＮなどの１つ以上の追加のディープラーニングネットワーク（ＤＬＮ）を使用して決定されてもよい。一実施形態では、全身に対して１つの身体特徴注釈付けＤＬＮがある。別の実施形態では、各身体部分に対して個別の身体特徴注釈付けＤＬＮがある。各身体部分に対して個別の身体特徴注釈付けＤＬＮを使用する利点は、身体部分測定における精度および信頼性の向上である。各身体部分ＤＬＮは、各身体部分の個別で固有のデータについて個別に訓練されてもよい。各身体部分に関するデータの特異性は、ＤＬＮの精度および信頼性を高め、ニューラルネットワーク層訓練の収束速度も高める。身体特徴注釈付けの一例は、図５から図６に関連して以下で説明され示される。
【００７２】
一実施形態では、システムは、たとえば最初に身体特徴から得られた信号から注釈線を生成することによって、注釈付けＤＬＮなどのＡＩベースのアルゴリズムを使用して、身体特徴測定値を生成および抽出してもよい。各注釈線は、身体特徴ごとに異なってもよく、異なる描き方をされてもよい。たとえば、二頭筋の幅または周囲長について、システムは、二頭筋の位置で骨格線に対して垂直な線を引くことができ、胸部については、システムは代わりに２つの胸部ドットを接続することができる。各身体特徴の注釈付けから、身体特徴測定値はその後、以下でさらに説明されるように、ステップ１０２で受信したユーザの身長を正規化することによって、取得され得る。
【００７３】
実際のユーザからのデータに対してこの注釈付けステップを実行する前に、システムはまず、たとえば、以下で図２に関連してさらに説明されるような、「Ａ姿勢」として知られることもある、両手を４５度にした状態で、異なる衣服で異なる環境でポーズを取っている人間のサンプル写真について、訓練されていてもよい。さらに別の実施形態では、注釈付け訓練データは、人間オペレータによって手動で注釈付けされる代わりに、１つ以上のディープラーニングネットワークを含む、１つ以上のアルゴリズムによって自動的に生成されてもよい。セグメント化および注釈付けＤＬＮは、図１Ｂ、図１Ｃ、および図１Ｄに関連してより詳細に説明される。
【００７４】
ステップ１０８において、たとえばサイジング機械学習（ＭＬ）アルゴリズムなど、１つ以上の機械学習アルゴリズムを使用して、ステップ１０７で生成された注釈線を有する各身体部分について、身体特徴測定値が推定されることが可能である。一実施形態では、サイジングＭＬアルゴリズムは、ランダムフォレスト機械学習モジュールを備える。一実施形態では、各身体部分に対して個別のサイジングＭＬモジュールがある。いくつかの実施形態では、全身に対して１つのサイジングＭＬモジュールがある。一実施形態では、システムは、サイジング推定値を正規化するために、ステップ１０２で受信した身長を入力として使用して、身体特徴のサイズを決定してもよい。これを行うために、一実施形態における注釈付けＤＬＮは、１つのドットが被験者の足の裏を表し、もう１つのドットが被験者の頭頂部を表す、被験者の身長の位置を示す「全身」注釈線を引く。この「全身」注釈線は、ステップ１０２で提供された被験者の既知の身長によって他の注釈線を正規化するために使用される。言い換えると、画像内の被験者の身長が検出され、全ての注釈線測定値を正規化するために、既知の実際の身長と共に使用される。このプロセスは、正規化のための標準的な測定値として被験者の既知の身長を使用する、「身長基準の正規化」と考えることができる。別の実施形態では、ユーザの身長の代わりに、またはこれに加えて、レターまたはＡ４サイズの紙、もしくはクレジットカードのような、既知のサイズの物体が正規化基準として使用されてもよい。
【００７５】
別の実施形態では、体重、ＢＭＩ指数、性別、年齢、および／またはステップ１０２で受信したユーザに関連付けられた他の人口統計情報などの、ただしこれらに限定されない、付加的なユーザ人口統計データが、図１Ｅに関連してより詳細に説明される、サイジングＭＬアルゴリズム（ランダムフォレストなど）への入力として使用される。
【００７６】
システムはまた、各身体特徴測定値について他のアルゴリズム、手段、および中央値を使用してもよい。注釈付けＤＬＮおよびサイジングＭＬは、各身体特徴に対して注釈を付けて測定を実行する１つのサイジングＤＬＮとして実装されてもよく、または２つの個別のモジュール、すなわち各身体特徴を注釈付けする注釈付けＤＬＮ、および注釈付き身体特徴に対して測定を実行する個別のサイジングＭＬモジュールとして、実装されてもよい。同様に、ステップ１０６のセグメント化ＤＬＮ、ステップ１０７の注釈付けＤＬＮ、およびステップ１０８のサイジングＭＬモジュールを実装するための様々な代替アーキテクチャが、図８から図１０に関連して以下に説明される。たとえば、図８は図１Ａに示されるアーキテクチャに対応し、そこではセグメント化ＤＬＮ、注釈付けＤＬＮ、およびサイジングＭＬモジュールが個別のモジュールである。対照的に、図９は、（セグメント化および注釈付けを効率的に実行する）セグメント化ＤＬＮおよび注釈付けＤＬＮが単一の注釈付けＤＬＮに組み込まれ、これにサイジングＭＬモジュールが続く代替アーキテクチャ（図１Ａには示さず）に対応する。最後に、図１０は、セグメント化ＤＬＮ、注釈付けＤＬＮ、およびサイジングＭＬモジュールが全て、セグメント化、注釈付け、およびサイズ測定の全ての機能を効率的に実行する単一のサイジングＤＬＮに組み込まれている、さらに別の代替アーキテクチャ（図１Ａには示さず）に対応する。
【００７７】
任意選択的に、ステップ１１０において、各身体特徴測定値の信頼性レベルが、ステップ１０８からのサイジングＭＬモジュールから決定、取得、または受信され得る。各身体特徴の予想身体測定値を出力するのに加えて、サイジングＭＬモジュールはまた、各予想身体特徴測定値の信頼性レベルも出力し、これはその後、以下に説明されるように、出力を改善するためにその他のアプローチが利用されるべきか否かを判断するために利用される。別の実施形態では、信頼性レベルは信頼区間に基づいてもよい。具体的には、信頼区間は、未知の母数（たとえば、身体部分の測定値）の真値を含み得る、観測データ（たとえば、画像データを符号化する正面および側面写真）の統計から計算された、区間推定値のタイプを指すことができる。区間は、パラメータがその区間内にあるという信頼性のレベルを定量化し得る、関連信頼性レベルを有してもよい。より厳密に言えば、信頼性レベルは、未知の母数の真値を含む可能性のある信頼区間の頻度（すなわち、割合）を表す。言い換えると、信頼区間が無限数の独立したサンプル統計から所与の信頼性レベルを使用して構築された場合、パラメータの真値を含むこれらの区間の割合は、信頼性レベルに等しくなる。別の実施形態では、信頼性レベルは、データ（たとえば、画像およびそこから抽出された測定値）を調べる前に指定されてもよい。一実施形態では、９５％の信頼性レベルが使用される。しかしながら、たとえば９０％、９９％、９９．５％など、他の信頼性レベルが使用されることも可能である。
【００７８】
様々な実施形態において、信頼区間および対応する信頼性レベルは、有効性および／または最適性の判断に基づいて決定されてもよい。別の実施形態では、有効性は、正確にまたは良好な近似のいずれかで、信頼区間保持の信頼性レベルを指すことができる。一実施形態では、最適性は、データセット内の情報（画像および抽出された特徴および測定値）を可能な限り利用すべき信頼区間を構築するための規則を指すことができる。
【００７９】
ステップ１１２において、信頼性レベルが所定値よりも大きいか否かが判断され得る。信頼性レベルが所定値よりも大きいと判断された場合には、プロセスはステップ１１４に進み、そこで高信頼性身体特徴測定値が出力されてもよい。信頼性レベルが所定値よりも小さいと判断された場合には、プロセスはステップ１１６またはステップ１１８に進むことができる。ステップ１１６および１１８は、ディープラーニングアプローチが低い信頼性を有するこれらの身体特徴について推定された身体特徴測定値を予想または予測するための１つ以上の任意選択的なフォールバックアルゴリズムを示す。（破線で示される）ディープラーニングアプローチからの高信頼性身体特徴測定値と共に、低信頼性身体特徴測定値のための代替フォールバックアルゴリズムからの予測身体特徴測定値は、以下に説明されるように、後に完全なセットの高信頼性身体特徴測定値に合成される。記載されたように、別の実施形態では、信頼性レベルは、データ（たとえば、画像およびそこから抽出された測定値）を調べる前に指定されてもよい。
【００８０】
具体的には、ステップ１１６および１１８において、他の任意選択的なモデル（たとえば、ＡＩベースまたはコンピュータビジョンベースのモデル）が適用されてもよい。ステップ１１６において、および任意選択的な一実施形態によれば、３Ｄ人間モデル適合アルゴリズムが適用されてもよい。たとえば、システムは最初に、背景から人体を抽出するために、ＯｐｅｎＣＶおよび／またはディープラーニング技術を利用してもよい。抽出された人体はその後、身体特徴測定値を得るために１つ以上の既知の３Ｄ人間モデルに適合される。この技術および既存の３Ｄボディスキャンのデータベース、たとえば数千の３Ｄボディスキャンのデータベースを使用して、システムは、検出された最も近い身体を３Ｄボディスキャンの点と適合させてもよい。最も近い適合３Ｄモデルを使用して、システムは次に３Ｄモデルから身体特徴測定値を抽出することができる。この技術は、図１１に関連して以下により詳細に説明される。
【００８１】
あるいは、および／または付加的に、ステップ１１８において、骨格／関節位置モデルなどの他のモデルが適用されてもよい。一実施形態では、骨格／関節検出は、姿勢検出のオープンソースアルゴリズムである、ＯｐｅｎＰｏｓｅ（以下でさらに論じられる）を用いて実行されてもよい。骨格および関節位置を得るためのこの技術を使用して、システムはその後、必要であれば追加のディープラーニングネットワーク（ＤＬＮ）を使用して、様々な重要な骨格構造を示すためにユーザ写真上に描かれた骨の中央の位置を示す、適切な点の間に線を引き、肩、首、腕などの様々な身体部分がどこにあるかを示すことができる。この情報から、身体特徴測定値は適切な線から取得され得る。たとえば、肩と手首との間を接続する線は、腕の長さを決定するために使用され得る。この技術は、図１１に関連して以下で詳細に説明される。
【００８２】
一実施形態では、３Ｄモデルアルゴリズムおよび骨格／関節位置モデルは、以下のように組み合わせられる（ただしこれは図１Ａには明確に示されていない）。たとえば数千の３Ｄボディスキャンのデータベースなど、既存の３Ｄボディスキャンのデータベースを使用して、システムは、最も近い骨格検出を３Ｄボディスキャンの骨格点と適合させて、様々な重要な骨格構造を示す骨の位置を示す点および線を示し、肩、首、および腕などの様々な身体部分がどこにあるかを示すことができる。最も近い適合３Ｄモデルが適合すると、システムは３Ｄモデルから身体特徴測定値を抽出することができる。
【００８３】
いずれかまたは両方の場合、ステップ１２０またはステップ１２２または両方において、高信頼性身体特徴測定値が予測（たとえば、推定）され得る。具体的には、高信頼性身体特徴測定値の推定は、第１の低信頼性ディープラーニングプロセス（たとえば、上記のステップ１０８に関連して図示および説明されたもの）とは異なるプロセスを用いて実行されてもよい。
【００８４】
このアプローチの１つの有利な特徴は、ステップ１１４からの高信頼性身体特徴測定値（破線で示される）が、たとえばステップ１１６の３Ｄ人間モデルアルゴリズムおよびステップ１１８の骨格／関節位置モデルなど、その他のモデルの較正を支援するために使用され得ることである。つまり、ステップ１０８で得られるディープラーニングアプローチからの高信頼性身体特徴測定値は、たとえば３Ｄ人間モデル１１６および／または骨格／関節位置モデル１１８など、その他のモデルを支援するために使用され得る。次いでその他のモデル（１１６および／または１１８）は、ステップ１１２において所定値未満の信頼性を有すると判断されたこれらの身体特徴測定値について、予測された高信頼性身体特徴測定値を得るために使用され得る。その後、予測された高信頼性身体特徴測定値は、ディープラーニングアプローチからの低信頼性身体特徴測定値を置き換えるかまたは補足することができる。
【００８５】
さらに、ステップ１２４において、ステップ１２０および／またはステップ１２２で決定された高信頼性身体特徴測定値は、高信頼性身体特徴測定値を決定するために使用され得る。このようにして、様々なモデル、すなわち３Ｄ人間モデルおよび骨格／関節位置モデルはいずれも、ステップ１１４で得られた身体特徴測定値の精度をさらに向上させるために使用され得る。したがって、高信頼性身体特徴測定値は集約され、ステップ１１４（たとえば、ディープラーニングアプローチ）からの高信頼性身体特徴測定値は、ステップ１２０および１２２からの予測された高信頼性身体特徴測定値（たとえば、その他のモデル）と組み合わせられる。
【００８６】
ステップ１２６において、高信頼性身体特徴測定値は、人体全体の完全な身体測定値に集約され、その後使用するために出力される。具体的には、身体測定値は、たとえば測定値に基づいて衣服を製造する企業に関連付けられた、ユーザ装置および／または対応するサーバに出力されてもよい。一実施形態では、出力は、テキストメッセージ、電子メール、モバイルアプリケーションまたはウェブサイト上のテキスト記述、これらの組み合わせ、などの形態であってもよい。完全な身体測定値はその後、カスタム衣類製造を含むがこれに限定されない、いずれの目的に使用されてもよい。当業者は、完全な身体測定値の出力が、フィットネス、健康、買い物などの、ただしこれらに限定されない、正確で簡単な身体測定が有用ないずれの目的に利用されてもよいことを、理解するだろう。
【００８７】
図１Ｂは、本発明の別の実施形態による、ディープラーニングネットワーク（ＤＬＮ）および機械学習を使用する身体測定値決定の別の例示的なフロー図を示す。ステップ１５１において、正面写真、側面写真、およびユーザパラメータ（身長、体重、年齢、性別など）を備える入力データ１５２が受信される。ステップ１５３において、１つ以上の画像処理ステップが適用される。まず、任意選択的な画像前処理（遠近補正、人間トリミング、サイズ変更など）ステップが実行され得る。次に、図１Ｄに関連してより詳細に説明されるように身体特徴をセグメント化および注釈付けするために、ディープラーニングネットワーク（ＤＬＮ）１５４が画像に適用される。次に、図１Ｅに関連してより詳細に説明されるように、注釈線およびユーザパラメータの１つ以上から身体サイズ測定値を決定するために、サイジング機械学習モジュール（ＭＬ）１５６が注釈付き身体特徴に適用される。最後に、ステップ１５５において、出力データ１５８として説明的に示される、身体サイズ測定値（たとえば、１６個の標準的な身体部分サイズ）が出力される。出力１５８は、サイジング結果（首、肩、袖、身長、総丈、股下などの標準的な身体サイズ測定値のセット）を含むことができ、注釈線で注釈された正面および側面写真も含むことができる。
【００８８】
図１Ｃは、本発明の別の実施形態による、ディープラーニングネットワーク（ＤＬＮ）および機械学習を使用する身体測定値決定の詳細な説明フロー図を示す。身体測定プロセスへの入力は、正面写真１６１、側面写真１６２、身長１６３、および他のユーザパラメータ（体重、年齢、性別など）１６４を含む。正面写真１６１はステップ１６５で前処理され、側面写真１６２はステップ１６６で前処理される。遠近補正、人間トリミング、画像サイズ変更などのような前処理ステップの例は、以前に論じられている。ステップ１６７において、前処理された全面写真は、正面写真１６１のための注釈線を生成するために、ＤＬＮ１（図１Ｄに関連して処理詳細に説明される、セグメント化−注釈付けＤＬＮ）への入力として使用される。ステップ１６８において、前処理された側面写真は、側面写真１６１のための注釈線を同じように生成するために、ＤＬＮ２（セグメント化−注釈付けＤＬＮ）への入力として使用される。正面図１６９からの各身体部分のための注釈線はＤＬＮ１から出力され、側面図１７０からの各身体部分のための注釈線はＤＬＮ２から出力される。ステップ１７１において、正面写真１６１および側面写真１６２からの２セットの注釈線は、各身体部分の周囲長を計算するために、身長入力１６３から受信した身長正規化基準１７５と共に利用される。ステップ１７２において、入力１６３および１６４から受信した身長および他のユーザパラメータ１７６と共に、各身体部分の周囲長は、１つ以上の身体サイズ測定値を計算するために、ランダムフォレスト（図１Ｅに関連してより詳細に説明される）などの機械学習アルゴリズムで利用される。ステップ１７３において、身体サイズ測定結果（各標準測定の長さ）が出力される。最後に、身体測定プロセスはステップ１７４で終了する。
【００８９】
説明的なディープラーニングネットワークおよび機械学習アーキテクチャ
図１Ｄは、本発明の一実施形態による、身体部分セグメント化および注釈付けの詳細なフロー図を示す。一実施形態では、身体部分セグメント化および注釈付けは、上述のような訓練データを使用するディープラーニングネットワーク（ＤＬＮ）を使用して行われる。一実施形態では、身体部分セグメント化および注釈付けは、改良されたグローバルおよびローカルコンテキスト情報のためにピラミッドシーン解析ネットワーク（ＰＳＰＮｅｔ）と組み合わせられた畳み込みニューラルネットワーク（ＣＮＮ）を使用して、実行される。ＰＳＰＮｅｔでは、プロセスは、ピラミッドプーリングモジュール１８４を通じて集約された異なるサイズの領域からのグローバルおよびローカルコンテキスト情報を利用してもよい。図１Ｄに示されるように、入力画像１８１は、各画素を所与の身体部分および／または注釈線に分類またはセグメント化する特徴マップ１８３を得るために、まず畳み込みニューラルネットワーク（ＣＮＮ）１８２を通過する。次に、ピラミッドプーリングモジュール１８４を利用してグローバルおよびローカルコンテキスト情報が特徴マップ１８３から抽出され、ピラミッドプーリングモジュール１８４は異なるサイズスケールの画像から情報を集約する。最後に、角画素を身体部分セグメントおよび／または注釈線１８６に分類するために、データは最終畳み込み層１８５を通過する。
【００９０】
より詳細には、入力画像１８１から、特徴マップ１８３を得るためにまずＣＮＮ１８２使用され、次いで異なるサブ領域の特徴を抽出するためにピラミッドプーリングモジュール１８４が使用され、最終特徴表現を形成するためのアップサンプリングおよび連結層がこれに続き、これはローカルおよびグローバルの両方のコンテキスト情報を担持する。最後に、最終的な画素ごとの予想を得るために、特徴表現が最終畳み込み層１８５に供給される。図１Ｄに示される例では、ピラミッドプーリングモジュール１８４は、４つの異なるスケールの下で特徴を組み合わせる。最大のスケールはグローバルである。後続のレベルは、特徴マップを異なるサブ領域に分割する。ピラミッドプーリングモジュール１８４内の異なるレベルの出力は、異なるスケールの下の特徴マップを備える。一実施形態では、グローバルな特徴の重みを維持するために、図１Ｄに示されるように、コンテキスト表現の次元を縮小するために、各ピラミッドレベルの後に畳み込み層が使用され得る。次に、元の特徴マップと同じサイズの特徴を得るために、低次元特徴マップがアップサンプルされる。最後に、ピラミッドプーリングモジュール１８４出力のために、異なる特徴レベルが元の特徴マップ１８３と連結される。一実施形態では、図示されるように、４レベルピラミッドを使用することによって、プーリングウィンドウは元の画像１８１の全体、半分、およびさらに小さい部分をカバーする。
【００９１】
一実施形態では、ＰＳＰＮｅｔアルゴリズムは、ａｒＸｉｖ：１６１２．０１１０５で入手可能な、Ｈｅｎｇｓｈｕａｎｇ  Ｚｈａｏら、「ピラミッドシーン解析ネットワーク（Ｐｙｒａｍｉｄ  Ｓｃｅｎｅ  Ｐａｒｓｉｎｇ  Ｎｅｔｗｏｒｋ）」、ＣＶＰＲ  ２０１７、２０１６年１２月４日に記載されるような実装である。ＰＳＰＮｅｔは、本発明の範囲内の１つの説明的なディープラーニングネットワークアルゴリズムに過ぎず、本発明はＰＳＰＮｅｔの使用に限定されるものではない。他のディープラーニングアルゴリズムもまた本発明の範囲に含まれる。たとえば、本発明の一実施形態では、身体セグメントを抽出するために畳み込みニューラルネットワーク（ＣＮＮ）が利用され（セグメント化）、各身体セグメントを注釈付けするために個別のＣＮＮが使用される（注釈付け）。
【００９２】
図１Ｅは、本発明の別の実施形態による、ディープラーニングネットワーク（ＤＬＮ）から得られた１つ以上の特徴値１９１からの身体測定値決定のための機械学習アルゴリズムの説明図を示す。一実施形態では、１つの説明的な機械学習アルゴリズムであるランダムフォレストアルゴリズムを使用して、身体部分サイジングが決定される。ランダムフォレストアルゴリズムは、各決定木が訓練データのランダムサブセットの値に依存するように、多数の決定木予測子を使用し、これによって訓練データセットに対する過剰適合の機会を最小化する。一実施形態では、ランダムフォレストアルゴリズムは、ｄｏｉ．ｏｒｇ／１０．１０２３／Ａ：１０１０９３３４０４３２４で入手可能な、Ｌｅｏ  Ｂｒｅｉｍａｎ、「ランダムフォレスト（Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ）」、Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ、４５、５−３２、２００１、Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ、オランダに記載されるような実装である。ランダムフォレストは、本発明の範囲内の１つの説明的な機械学習アルゴリズムに過ぎず、本発明はランダムフォレストの使用に限定されるものではない。最近傍、決定木、サポートベクターマシン（ＳＶＭ）、アダブースト、ベイジアンネットワーク、ディープラーニングネットワークを含む様々なニューラルネットワーク、進化的アルゴリズムなどを含むがこれらに限定されない、他の機械学習アルゴリズムも本発明の範囲に含まれる。機械学習アルゴリズムへの入力は特徴値（ｘ）１９１であり、図１Ｃに関連して説明されたように、これらはディープラーニングネットワークから得られた身体部分の周囲長、身長、およびその他のユーザパラメータを備える。機械学習アルゴリズムの出力は、サイジング測定値（ｙ）１９２の予想値である。
【００９３】
記載されたように、本明細書に記載される装置およびシステム（ならびにこれらの様々なコンポーネント）の実施形態は、本明細書に記載される１つ以上の特徴の自動化を促進するために人工知能（ＡＩ）を採用することができる（たとえば、身体抽出値の提供、身体セグメント化、測定値抽出など）。コンポーネントは、本明細書に開示された様々な実施形態／例を実行するために様々なＡＩベースのスキームを採用することができる。本明細書に記載される多数の決定（たとえば、判断、確認、推測、計算、予想、予測、推定、導出、予報、検出、算出）を提供または支援するために、本明細書に記載されるコンポーネントは、アクセスが許可されているデータの全体またはサブセットを調べることができ、イベントおよび／またはデータを介して補足された一連の観測から、システム、環境などの状態を推論または判断することができる。決定は、特定のコンテキストまたはアクションを識別するために採用されることが可能であり、またはたとえば状態にわたる確率分布を生成することができる。決定は確率的、すなわちデータおよびイベントの考慮に基づく対象の状態にわたる確率分布の計算であり得る。決定はまた、一連のイベントおよび／またはデータから高レベルのイベントを構成するために採用される技術を指すこともできる。
【００９４】
このような決定は、イベントが時間的に近接して相間していてもいなくても、ならびにイベントおよびデータが１つまたはいくつかのイベントおよびデータソースに由来していてもいなくても、一連の観測されたイベントおよび／または記憶されたイベントから新しいイベントまたはアクションの構築をもたらすことができる。本明細書で開示されるコンポーネントは、請求された主題に関連する自動的なおよび／または決定されたアクションを実行することに関連して、様々な分類（（たとえば訓練データを介して）明確に訓練されると共に（たとえば挙動、嗜好、履歴情報、外部情報の受信などを介して）明確に訓練された）スキームおよび／またはシステム（たとえば、サポートベクターマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン信念ネットワーク、ファジー論理、データフュージョンエンジンなど）を採用することができる。したがって、多数の機能、アクション、および／または決定を自動的に学習および実行するために、分類スキームおよび／またはシステムが使用され得る。
【００９５】
分類子は、入力属性ベクトルｚ＝（ｚ１、ｚ２、ｚ３、ｚ４、．．．、ｚｎ）を、ｆ（ｚ）＝信頼度（階級）のように、入力がある階級に属する信頼度にマッピングすることができる。このような分類は、自動的に実行すべきアクションを決定するために、確率的および／または統計ベースの分析（たとえば、分析ユーティリティおよびコストに組み込む）を採用してもよい。採用され得る分類子の別の例は、サポートベクターマシン（ＳＶＭ）である。ＳＶＭは、可能性のある入力の空間内で超曲面を見つけることによって動作し、超曲面は、トリガ基準を非トリガイベントから分割しようと試みる。直感的に、これは、訓練データに近いが同一ではないデータを試験するために分類を補正する。他の有向および無向モデル分類アプローチは、異なるパターンの独立が採用され得るとすれば、たとえば、ナイーブベイズ、ベイジアンネットワーク、決定木、ニューラルネットワーク、ファジー論理モデル、および／または確率的分類モデルを含む。本明細書で使用される際の分類はまた、優先度のモデルを開発するために利用される統計的回帰を含む。
【００９６】
ディープラーニングネットワークおよび機械学習モジュールの訓練
図２は、本発明の例示的な実施形態による、身体測定値を生成する際に利用される、セグメント化ＤＬＮ、注釈付けＤＬＮ、およびサイジングＭＬを訓練するための例示的なフロー図の図を示す。訓練プロセスはステップ２０１で始まる。ステップ２０２において、１つ以上の写真が受信される。たとえば、所与のユーザの正面および側面図写真が受信され得る。別の実施形態では、写真はユーザ装置（たとえば、携帯電話、ラップトップ、タブレットなど）から取得されてもよい。別の実施形態では、写真はデータベース（たとえば、ソーシャルメディアデータベース）から取得されてもよい。別の実施形態では、ユーザからの写真は、ユーザの全身の正面図を示す写真および側面図を示す写真を含む。
【００９７】
ステップ２０４において、アノテータは、人間の直感を用いて衣服の下の、身体部分などの身体特徴をセグメント化することができる。具体的には、身体セグメント化は、写真の背景から、衣服を除く人体を抽出するために、人間によって実行されてもよい。たとえば、人間のアノテータは、写真を視覚的に編集（たとえば、描画および色分け）し、背景から衣服を除く人体を抽出するために、どの身体部分が写真のどの部分に対応するかを示すことができる。一実施形態では、写真は両手を４５度にして（「Ａ姿勢」）、異なる衣服で異なる環境でポーズを取っている人間を含んでもよい。記載されたように、背景から手動で人間のアノテータによって、正確な身体輪郭線が描かれてもよい。特に経験豊富であって正確で信頼できる体型注釈付けを提供することができる熟練したアノテータによって、いかなる種類の衣服の下で撮影された人間の体型も決定することができる人間のアノテータの能力は、システムの高性能を保証する。身体輪郭線は、いずれの適切なソフトウェアプラットフォーム上で描かれてもよく、注釈付けを容易にするために周辺装置（たとえば、スマートペン）を使用してもよい。別の実施形態では、画像のプリントアウトが使用されてペン／鉛筆を用いて手動でセグメント化されてもよく、セグメント化されたプリントアウトは、１つ以上のＡＩアルゴリズム（たとえば、コンピュータビジョンベースのアルゴリズム）を使用するシステムによってスキャンおよび認識されてもよい。さらに、このようなセグメント化された画像の少なくとも一部は、ステップ２０８でディープラーニングネットワークに供給され得る訓練データとして使用され得るので、ＧＰＵは、あらゆる背景であらゆる衣服を着ているＡ姿勢の人間の輪郭線から学習することができる。別の実施形態では、セグメント化された身体特徴は、たとえば、既知の３Ｄモデルから生成された、または別のディープラーニングネットワークを含む別のアルゴリズムを使用して別途生成された、別の訓練データから、自動的に決定されてもよい。セグメント化ＤＬＮを訓練する方法は、本発明の限定ではない。一実施形態では、ステップ２０４からのセグメント化された画像は、図１Ａのステップ１０６で使用されたセグメント化ＤＬＮを訓練するために利用される。
【００９８】
ステップ２０５において、アノテータはその後、人間の直感を用いて衣服の下の各身体特徴について推定された注釈（測定）線を引くことができる。記載されたように、背景から手動で人間のアノテータによって、正確な注釈線が描かれてもよい。特に経験豊富であって正確で信頼できる体型注釈付けを提供することができる熟練したアノテータによって、いかなる種類の衣服の下で撮影された人間の正しい注釈線も決定することができる人間の作業者の能力は、システムの高性能を保証する。注釈線は、いずれの適切なソフトウェアプラットフォーム上で描かれてもよく、注釈付けを容易にするために周辺装置（たとえば、スマートペン）を使用してもよい。別の実施形態では、画像のプリントアウトが使用されてペン／鉛筆を用いて手動で注釈付けされてもよく、注釈付けされたプリントアウトは、１つ以上のＡＩアルゴリズム（たとえば、コンピュータビジョンベースのアルゴリズム）を使用するシステムによってスキャンおよび認識されてもよい。さらに、このような注釈付けされた画像の少なくとも一部は、以下のステップ２１０でディープラーニングネットワークに供給され得る訓練データとして使用され得るので、ＧＰＵは、あらゆる背景であらゆる衣服を着ているＡ姿勢の人間の注釈線から学習することができる。別の実施形態では、身体特徴の注釈付けは、たとえば、既知の３Ｄモデルから生成された、または別のディープラーニングネットワークを含む別のアルゴリズムを使用して別途生成された、別の訓練データから、自動的に決定されてもよい。注釈付けＤＬＮ訓練する方法は、本発明の限定ではない。
【００９９】
上記のディープラーニングコンポーネントによって使用されるような任意の機械学習方法の開始点は、システム入力および正しい結果（たとえば、訓練データ）の複数の事例を含む文書化されたデータセットである。このデータセットは、機械学習システムを訓練して、訓練されたシステムの性能を評価および最適化するために、パラメトリック分類方法、非パラメトリック方法、決定木学習、ニューラルネットワーク、帰納的および分析的学習の両方を組み合わせた方法、および回帰モデルなどのモデリングアプローチなどの標準化された機械学習方法を含むがこれらに限定されない、当該技術分野で既知の方法を用いて、使用されることが可能である。機械学習システム出力の出力の品質は、（ａ）パターンのパラメータ化、（ｂ）学習機械の設計、および（ｃ）訓練データベースの質に依存する。これらのコンポーネントは、様々な方法を用いて精緻化および最適化され得る。たとえば、データベースは、新しい文書化された被験者のためのデータセットを追加することによって、精緻化されることが可能である。データベースの質は、たとえば衣類のカスタマイズにおける１人以上の専門家によってカスタマイズが達成された事例をデータベースに加えることによって、改良されることが可能である。こうして、データベースは、専門家の知識をより良く表すようになる。一実施形態では、データベースは、たとえばあまりフィットしていないデザインのデータを含み、これにより訓練されたシステムの評価を支援することができる。
【０１００】
ステップ２０６において、（たとえば、テーラー、または３Ｄボディスキャンから取られた１Ｄ測定値によって決定された）各身体特徴の実人間測定値は、グラウンドトゥルースデータとして役立つために受信され得る。実人間測定値は、検証データとして使用されてもよく、システムによって使用されるアルゴリズムを訓練するために使用されてもよい。たとえば、実人間測定値は、機械学習アルゴリズムに関連付けられた誤差関数または損失関数（平均二乗誤差、尤度損失、対数損失、ヒンジ損失など）を最小化する際に使用されてもよい。一実施形態では、ステップ２０５からの注釈線およびステップ２０６からのグラウンドトゥルースデータは、図１Ａのステップ１０７およびサイジングＭＬステップ１０８で使用される注釈付けＤＬＮを訓練するために利用される。
【０１０１】
一実施形態では、人間測定値は、ユーザ入力（たとえば、スマートフォンなどのユーザ装置への入力）から受信され得る。別の実施形態では、人間測定値は、たとえばウェブサイトを通じて、ネットワーク（たとえば、インターネット）から受信されてもよい。たとえば、テーラーは１つ以上の測定値をウェブサイトにアップロードすることができ、システムは測定値を受信することができる。記載されたように、別の実施形態では、実測値は、以下で論じられる、ＡＩベースのアルゴリズム結果（たとえば、ディープラーニングモデル）結果の精度を訓練および／または改善するために、使用され得る。セグメント化および注釈付けＤＬＮ、ならびにサイジングＭＬモジュールを訓練する方法は、本発明の限定ではない。
【０１０２】
ステップ２０８において、セグメント化ＤＬＮは、身体セグメント化または身体特徴抽出について訓練され得る。一実施形態では、セグメント化ＤＬＮは、ステップ２０４から得られた注釈付き人体セグメント化を用いて訓練されてもよい。たとえば、セグメント化ＤＬＮは、ラベル付きデータ（たとえば、ユーザの画像および関連付けられた実際の身体セグメント化）を提示されてもよく、セグメント化ＤＬＮおよび実際の身体セグメント化の結果に基づいて（たとえば、上記で論じられたような損失関数から）誤差関数を決定することができる。セグメント化ＤＬＮは、この誤差関数の大きさを減らすように訓練されてもよい。
【０１０３】
別の実施形態では、セグメント化ＤＬＮは、訓練およびテストセット（従来は２／３の訓練セットおよび１／３のテストセットの指定）内でデータ（たとえば、対応するセグメント化を有する画像、およびセグメント化ＤＬＮを使用してセグメント化を抽出する、対応するセグメント化を有していない画像を含む、全ての画像）を分割し得る、ホールドアウト法などの精度推定技術によって検証されてもよく、テストセット上のセグメント化ＤＬＮモデルの性能を評価してもよい。別の実施形態では、Ｎ倍交差検証法が使用されてもよく、この方法はデータをランダムにｋ個のサブセットに分割し、セグメント化ＤＬＮモデルを訓練するためにｋ−１個のデータのインスタンスが使用される一方、セグメント化ＤＬＮモデルの予測能力をテストするためにｋ番目のインスタンスが使用される。ホールドアウト法および公差検証法に加えて、データセットからの置き換えを伴ってｎ個のインスタンスをサンプリングするブートストラップ法が使用されてもよく、セグメント化ＤＬＮモデル精度を評価するために使用されることが可能である。
【０１０４】
ステップ２１０において、各身体特徴について１つ以上の注釈付けＤＬＮが訓練されてもよく、あるいは全身について単一の注釈付けＤＬＮが訓練されてもよい。たとえば、１６カ所の異なる身体部分に１つずつ、１６個の注釈付けＤＬＮが訓練されてもよい。一実施形態では、注釈付けＤＬＮは、ステップ２０５から得られた注釈付けを用いて訓練されてもよい。たとえば、注釈付けＤＬＮは、ラベル付きデータ（たとえば、線注釈を有するユーザの身体特徴の画像）を提示されてもよく、注釈付けＤＬＮおよび実際の注釈付けの結果に基づいて（たとえば、上記で論じられたような損失関数から）誤差関数を決定することができる。注釈付けＤＬＮは、この誤差関数の大きさを減らすように訓練されてもよい。
【０１０５】
別の実施形態では、注釈付けＤＬＮは、たとえば腕、脚、首などのような特定の身体部分など、特定の身体特徴について、特に注釈線を生成するように訓練されてもよい。別の実施形態では、各身体特徴についての注釈付けＤＬＮの訓練は、連続して（たとえば階層的に、関連する身体特徴の群が次々と訓練される）、または並列に、実行され得る。別の実施形態では、異なる注釈付けＤＬＮには異なる訓練データセットが使用されてもよく、異なる注釈付けＤＬＮは異なる身体特徴または身体部分に対応する。一実施形態では、たとえば計算リソースに応じて、１６カ所の身体部分に対して１６個より多くのまたは少ないＤＬＮがあってもよい。別の実施形態では、注釈付けＤＬＮの訓練は、少なくとも部分的に、以下で説明されるクラウドで実行されてもよい。
【０１０６】
また、ステップ２１０において、各身体特徴について１つ以上のサイジングＭＬモジュールが訓練されてもよく、あるいは全身について１つのサイジングＭＬモジュールが訓練されてもよい。一実施形態では、サイジングＭＬモジュールは、ステップ２０６から得られた測定値を用いて訓練されてもよい。たとえば、サイジングＭＬモジュールは、ラベル付きデータ（たとえば、注釈線の長さおよび関連付けられた実測値データ）を提示されてもよく、サイジングＭＬモジュールおよび実測値の結果に基づいて（たとえば、上記で論じられたような損失関数から）誤差関数を決定することができる。サイジングＭＬモジュールは、この誤差関数の大きさを減らすように訓練されてもよい。
【０１０７】
別の実施形態では、サイジングＭＬモジュールは、たとえば腕、脚、首などのような特定の身体部分など、特定の身体特徴から特に測定値を抽出するように訓練されてもよい。別の実施形態では、各身体特徴についてのサイジングＭＬモジュールの訓練は、連続して（たとえば階層的に、関連する身体特徴の群が次々と訓練される）、または並列に、実行され得る。別の実施形態では、異なるサイジングＭＬモジュールには異なる訓練データセットが使用されてもよく、異なるサイジングＭＬモジュールは異なる身体特徴または身体部分に対応する。一実施形態では、たとえば計算リソースに応じて、１６カ所の身体部分に対して１６個より多くのまたは少ないサイジングＭＬモジュールがあってもよい。別の実施形態では、サイジングＭＬモジュールの訓練は、少なくとも部分的に、以下で説明されるクラウドで実行されてもよい。
【０１０８】
ステップ２１２において、図１Ａ、図１Ｂ、および図１Ｃで使用される、訓練されたセグメント化ＤＬＮ、注釈付けＤＬＮ、およびサイジングＭＬモジュールが出力され得る。具体的には、ステップ２０８で訓練されたセグメント化ＤＬＮが、図１Ａのステップ１０６で使用するために出力される。同様に、ステップ２１０で訓練された１つ以上の注釈付けＤＬＮが、図１Ａのステップ１０７で使用するために出力される。最後に、ステップ２１０で訓練されたサイジングＭＬモジュールが、図１Ａのステップ１０８で使用するために出力される。
【０１０９】
図３から図６は、セグメント化および注釈付けＤＬＮを訓練するための訓練データを生成するために利用される、図２のプロセスステップに対応するグラフィカルユーザインターフェース（ＧＵＩ）の説明図を示す。図３は、セグメント化ＤＬＮを訓練するために捕捉された、衣服を着ている人体を示すユーザ画像の説明図を示す。特定のユーザ姿勢である「Ａ姿勢」が図３から図６に示されているが、Ａ姿勢、両手を脇に置く、またはその他の姿勢など、いずれの姿勢も本発明の範囲に含まれることは、当業者によって理解されるだろう。最適な姿勢は、脚および腕を身体から離して明確に示すものである。本発明の１つの利点は、人間が、任意のタイプの背景に対してほとんどいずれの合理的な姿勢でも立つことができることである。人間は、空白の背景に対して立つ必要も、写真が撮影される場所について特別な配置をする必要もない。
【０１１０】
図４は、セグメント化ＤＬＮを訓練するために背景から衣服の下の人体の１つ以上の特徴を手動でセグメント化するアノテータまたはオペレータの説明図を示す。図４において、アノテータは、衣服の下の左脚の位置を手動で注釈付けしている。人間は、他の人間を見て、衣服の下の彼らの体形を推定する豊富な経験を有しており、このデータは、未知の人間の新しい写真に対して類似の動作を自動的に実行するようにセグメント化ＤＬＮを訓練するために、使用される。図５は、全ての身体特徴がアノテータによって首尾よく注釈付けられた後に背景からセグメント化された人体の身体特徴の説明図を示す。このデータは、人間セグメント化ＤＬＮを訓練するために使用される。図５は、図２のステップ２０８でセグメント化ＤＬＮを訓練する際に使用される手動注釈付きデータを提供する。図５で得られたデータを用いて図２のステップ２０８で訓練されたセグメント化ＤＬＮはその後、図１Ａのステップ１０６で使用される。
【０１１１】
図６は、注釈付けＤＬＮを訓練するために注釈線を手動で描くアノテータの説明図を示す。このデータは、各身体特徴について注釈線を自動的に描くための注釈付けＤＬＮを訓練するために使用される。図６は、図２のステップ２１０で注釈付けＤＬＮを訓練する際に使用される手動注釈付きデータを提供する。図６で得られたデータを用いて図２のステップ２１０で訓練された注釈付けＤＬＮはその後、図１Ａのステップ１０７で使用される。
【０１１２】
図３から図６には正面図のみが示されているが、望ましい身体測定のタイプに応じて、正面図、４５度図、上面図などを含むその他いずれの配向の図も本発明の範囲に含まれることを、当業者は認識するだろう。たとえば、一実施形態では、身体部分の周囲長を推定する際に使用するため、人間の側面図が同様にセグメント化および注釈付けされる。別の例として、カスタム帽子を製造するために使用される頭部測定には、人間の頭頂部の上面写真が最適であろう。同様に、眼鏡、光学器械などのサイジングに使用される顔測定には、正面の顔のみの写真が最適であろう。人間の手の前後のクローズアップ写真は、カスタム手袋、手のカスタムＰＰＥ（個人用保護具）、カスタムネイルなどのサイジングに使用されることが可能である。
【０１１３】
一実施形態では、有向教師付き学習と同様に、計算プロセスにおいてディープラーニングネットワークを支援するために人間を展開させることもまた可能である。人間アノテータは、さらに正確なサイジング結果を配信するために、セグメント化ＤＬＮおよび／または注釈付けＤＬＮからの結果を手動で調整、または編集することができる。ディープラーニングネットワークからセグメント化および注釈マップへ人間のアノテータによって作成された調整データは、経時的に自動的にＤＮＬモデルを改良するために、ディープラーニングネットワークに戻るフィードバックループ内で使用されることが可能である。
【０１１４】
代替のディープラーニングネットワーク（ＤＬＮ）アーキテクチャ
図７は、本発明の一実施形態による、身体測定値抽出を実装するための説明的なクライアント−サーバ図を示す。クライアント側（ユーザ）７０９は上に示され、サーバ側７０３は下に示されている。クライアント側は７０２において、正面および側面画像を送信することによってプロセスを開始する。画像を受信した後、サーバは７０４において、フォーマットの正しさおよび他の形式的なチェックについて、画像をチェックする。７０５において画像が正しいフォーマットではないか、または誤った姿勢、不十分なコントラスト、遠すぎまたは近すぎ、被写体が目内、被写体が部分的に遮られているなど、他の形式的な問題を有する場合、プロセスは７０１でクライアントにこの情報を戻す。７０１において、一実施形態では、ユーザが画像を再撮影できるようにするために、エラーメッセージまたは他の通信がユーザに対して表示されてもよい。
【０１１５】
７０５において画像が正しいフォーマットであって他の形式的な問題がない場合には、画像がＤＬＮ（ディープラーニングネットワーク）によって操作され得るように、７０６において画像は前処理される。画像はその後、前により詳細に説明されたように、７０８においてサイジングを決定するためにＤＬＮを通じて処理される。サイジング結果または完全な身体測定値は、７１０においてサーバから返される。７１２においてクライアントはサイジング結果をチェックする。７１３で決定されるように、サイジング結果が、たとえば範囲外である、不当に小さいまたは大きいなど、何らかの形式的な問題を有する場合、プロセスは７０１に戻り、ユーザが画像を再撮影できるようにするために、同様にエラーメッセージまたは他の通信がユーザに対して表示されてもよい。７１３において決定されるように、サイジング結果が形式的な問題を有していない場合には、完全な身体測定値を使用可能としてプロセスは終了する。
【０１１６】
図８は、本発明の一実施形態による、（個別のセグメント化ＤＬＮ、注釈付けＤＬＮ、およびサイジングＭＬモジュールを使用する）身体測定値決定の１つの例示的なフロー図の図を示す。一実施形態では、８０２において正面および側面画像がユーザから受信される。画像は８０４において前処理される。先に論じられたように、いくつかの実施形態では、必要であれば、遠近補正など、ユーザの１つ以上の画像に対する前処理が、正面および側面図写真に対して実行されてもよい。たとえば、システムは、オープンソースのマシンビジョンライブラリであるＯｐｅｎＣＶを使用してもよく、遠近補正の基準として正面および側面図写真における頭部の特徴およびユーザの身長を利用してもよい。１つ以上の画像をさらに前処理するために、様々なコンピュータビジョン技術が利用されてもよい。前処理ステップの例は、遠近補正に加えて、さらなる処理の前に１つ以上の画像の品質を向上させるための、コントラスト、照明、および他の画像処理技術を含み得る。
【０１１７】
前処理の後、前処理された画像は、先に論じられたように、セグメント化マップを生成するために、８０６においてセグメント化ＤＬＮに送信される。８１４において、セグメント化マップは残りのデータと共に集約される。セグメント化と並行して、一実施形態では、先に論じられたように、８０８において、前処理された画像はまた、注釈測定線を生成するために注釈付けＤＬＮにも送信される。８１４において、注釈マップは残りのデータと共に集約される。注釈マップは、一実施形態では、先に論じられたように、各注釈線を測定することによってセグメント化および注釈付けされた各身体特徴について身体特徴測定値を生成するために、サイジング機械学習（ＭＬ）モジュール８１０に提供される。８１４において、サイジング結果は残りのデータと共に集約される。サイジング結果は、本明細書で説明されるように８１２において様々な用途のために１つ以上の外部システムに出力される。最後に、集約および構築課されたデータの全て、すなわち８１４で集約された（１）前処理された正面および側面画像、（２）セグメント化マップ、（３）注釈マップ、および（４）サイジング結果は、１０１６におけるさらなるＤＬＮ訓練のためにデータベースに記憶される。
【０１１８】
図９は、本発明の別の実施形態による、（セグメント化−注釈付けＤＬＮおよびサイジングＭＬモジュールの組み合わせを使用する）身体測定値決定の別の例示的なフロー図の図を示す。先に論じられたように、正面および側面画像は９０２においてユーザから受信され、画像は９０４において前処理される。前処理ステップの例は、さらなる処理の前に１つ以上の画像の質を向上させるための、遠近補正、コントラスト、照明、および他の画像処理技術を含む。
【０１１９】
前処理の後、前処理された画像は、先に論じられたように、注釈マップを生成するために、９１８において注釈付けＤＬＮに直接送信される。身体特徴セグメント化を最初に実行する代わりに、この代替実施形態では、セグメント化ＤＬＮおよび注釈付けＤＬＮ（図８の実施形態に示される）の両方の特徴を効率的に組み合わせて図９に示される単一の注釈付けＤＬＮにする、特別に訓練され組み合わせられたセグメント化−注釈付けＤＬＮを使用して背景から身体特徴を明確にセグメント化することなく、画像上に直接注釈線が引かれる。実際には、身体特徴セグメント化は、注釈付けＤＬＮによって黙示的に実行される。注釈マップは９１４において残りのデータと共に集約される。
【０１２０】
注釈マップは、一実施形態では、先に論じられたように、各注釈線を測定することによって注釈付けされた各身体特徴について身体特徴測定値を生成するために、サイジング機械学習（ＭＬ）モジュール９１０に提供される。９１４において、サイジング結果は残りのデータと共に集約される。サイジング結果は、９１２において本明細書で説明されるように様々な用途のために１つ以上の外部システムに出力される。最後に、集約および構築課されたデータの全て、すなわち９１４で集約された（１）前処理された正面および側面画像、（２）注釈マップ、および（３）サイジング結果は、９１６においてさらなるＤＬＮ訓練のためにデータベースに記憶される。
【０１２１】
図１０は、本発明のさらに別の実施形態による、（組み合わせサイジングＤＬＮを使用する）身体測定値決定のさらに別の例示的なフロー図の図を示す。先に論じられたように、正面および側面画像は１００２においてユーザから受信され、画像は１００４において前処理される。前処理ステップの例は、さらなる処理の前に１つ以上の画像の質を向上させるための、遠近補正、コントラスト、照明、および他の画像処理技術を含む。
【０１２２】
前処理の後、前処理された画像は、先に論じられたように、完全な身体特徴測定値を生成するために、１０１０においてサイジングＤＬＮに直接送信される。身体特徴セグメント化および測定線の注釈付け、これに続く線の測定を最初に実行する代わりに、この代替実施形態では、セグメント化ＤＬＮ、注釈付けＤＬＮ、および測定機械学習モジュール（図８の実施形態に示される）の特徴を効率的に組み合わせて図１０に示される単一のサイジングＤＬＮにする、特別に訓練されたサイジングＤＬＮを使用して、背景から身体特徴を明確にセグメント化することなく（注釈線を明確に引くこともなく）、前処理された画像から身体特徴が直接抽出される。実際には、身体特徴セグメント化および測定線の注釈付けは、サイジングＤＬＮによって黙示的に実行される。
【０１２３】
１０１４において、サイジング結果は残りのデータと共に集約される。サイジング結果は、本明細書で説明されるように１０１２において様々な用途のために１つ以上の外部システムに出力される。最後に、集約および構築課されたデータの全て、すなわち１０１４で集約された（１）前処理された正面および側面画像、および（２）サイジング結果は、１０１６においてさらなるＤＬＮ訓練のためにデータベースに記憶される。
【０１２４】
３Ｄモデルおよび骨格／関節位置モデルの実施形態
図１１は、本開示の例示的な実施形態による、身体測定値決定動作のための別の例示的なプロセスフローの図を示す。プロセスはステップ１１０１で始まる。ステップ１１０２において、ユーザパラメータ（たとえば、身長、体重、人口統計、運動歴など）がユーザから受信されてもよく、および／または電話カメラによって自動生成されたパラメータを受信してもよい。追加の態様では、ユーザパラメータは、（たとえば、コンピュータビジョンアルゴリズムを使用するかまたは１つ以上のデータベースからマイニングして）自動的に決定されてもよく、またはユーザから決定されてもよい（たとえば、ユーザ入力）。別の実施形態では、これらのパラメータから、肥満度指数（ＢＭＩ）が計算されてもよい。記載されたように、ＢＭＩ（または上記で決定された他の任意のパラメータ）は、身長に対して体重を較正するために使用され得る。
【０１２５】
ステップ１１０４において、ユーザの画像（たとえば、ユーザの全身正面図および側面図を表す第１および第２の画像）が受信されてもよく、任意選択的な第３の画像が受信されてもよい（たとえば、正面図と側面図との間の４５度図であり、後続のアルゴリズムの精度を向上させるために使用され得る）。別の実施形態では、画像はユーザ装置（たとえば、携帯電話、ラップトップ、タブレットなど）から取得されてもよい。別の実施形態では、画像はデータベース（たとえば、ソーシャルメディアデータベース）から決定されてもよい。別の実施形態では、ユーザは、より正確な結果のために、彼または彼女がタイト、普通、またはルーズな衣服を着ているか否かを示してもよい。いくつかの任意選択的な実施形態では、上述のように、必要であれば、正面および側面図写真に対して遠近補正が実行されてもよい。
【０１２６】
ステップ１１０６において、人間セグメント化（たとえば、画像の背景からの人間の抽出）が実行されてもよく、抽出された人間に対して３Ｄモデルが適合されてもよい。また、三次元形状は、三次元モデリング技術を用いて推定されてもよい。一実施形態では、システムは、背景から衣服を含む人体を抽出するために、ディープラーニング技術および／またはＯｐｅｎＣＶを利用してもよい。実際のユーザからのデータに対してこのステップを実行する前に、システムはまず、両手を４５度にした状態（「Ａ姿勢」）で、異なる衣服で異なる環境でポーズを取っている人間のサンプル写真について、訓練されていてもよい。
【０１２７】
ステップ１１０８において、骨格検出を用いて人間の関節位置および体勢が決定され得る。さらに、決定は、姿勢検出のためのオープンソースアルゴリズムである、ＯｐｅｎＰｏｓｅなどの姿勢推定アルゴリズムを用いて実行され得る。一実施形態では、身体姿勢推定は、画像ベースの観察を使用して、関節および硬質部分からなる関節体の姿勢を回復させる、アルゴリズムおよびシステムを含み得る。別の実施形態では、ＯｐｅｎＰｏｓｅは、単一画像上の人体、手、顔、および足のキーポイント（合計１３５カ所のキーポイント）を共同で検出するためのリアルタイム多人数システムを含み得る。一実施形態では、キーポイントは、鼻、右耳、左膝、右足など、推定される人の姿勢の一部を指すことができる。キーポイントは、位置およびキーポイント信頼性スコアの両方を含む。ＯｐｅｎＰｏｓｅ機能のさらなる態様は、２Ｄリアルタイム多人数キーポイント身体推定を含むが、これに限定されるものではない。機能は、アルゴリズムが、検出された人々の数に対して実行時に不変であるという能力をさらに含み得る。その機能の別の態様は、複数の単一ビューからの３Ｄ三角測量を含む、３Ｄリアルタイム１人キーポイントを含み得るが、これに限定されるものではない。
【０１２８】
ステップ１１１０において、身体サイジング測定は、推定された三次元形状、関節位置、および／または体勢に基づいて決定され得る。別の実施形態では、システムは、身長、体重、および／またはその他のパラメータ（たとえば、ＢＭＩ指数、年齢、性別など）を用いて身体部分のサイズを決定することができる。一実施形態では、システムは、部分的に、人体部分の標準的なＤａＶｉｎｃｉモデルおよび身体部分の相対的なサイズを提供するアルゴリズムである、Ｖｉｒｔｕｏｓｏアルゴリズムを使用することができる。
【０１２９】
さらに、システムは、たとえば骨格点から得られた信号から測定線を引くことによって、上述のように、ＤＬＮアルゴリズムなどのＡＩベースのアルゴリズムを使用して、身体測定値を生成および抽出することができる。具体的には、システムは、１つ以上の骨格点を見て、ユーザの身体の境界に対して角度を成す骨を計算し、特定の配向または方向に測定線を引くことができる。各測定線は、身体部分ごとに異なってもよく、異なる描き方をされてもよい。システムはまた、他のアルゴリズム、手段、中央値、および他のリソースを使用してもよい。
【０１３０】
さらに、身体測定値は、ユーザ装置および／または対応するサーバに出力されてもよい。一実施形態では、出力は、テキストメッセージ、電子メール、モバイルアプリケーションまたはウェブサイト上のテキスト記述、これらの組み合わせ、などの形態であってもよい。
【０１３１】
ステップ１１１２において、身体サイジング測定は、訓練データを利用する教師付きディープラーニングアルゴリズムを使用することによって誤差を低減するように更新されてもよく、訓練データは衣服の下の手動で決定された身体検出を備える。いくつかの態様では、上述のように、ディープニューラルネットワーク、ディープビリーフネットワーク、およびリカレントニューラルネットワークなど、いずれの適切なディープラーニングアーキテクチャが使用されてもよい。一実施形態では、訓練データは、上述のように、写真の背景から、衣服を除く所与の写真から人体を抽出する、アノテータ入力から得られてもよい。さらに、このような注釈付き画像の少なくとも一部は、ＧＰＵが任意の背景で衣服を着ている人間の輪郭線から学習することができるように、ディープラーニングネットワークに供給され得る訓練データとして使用され得る。要するに、いくつかの実施形態では、３Ｄモデルおよび骨格／関節位置アプローチの精度および信頼性を改善するために、上述のディープラーニングアプローチは組み合わせて使用され得る。
【０１３２】
本発明のハードウェア、ソフトウェア、およびクラウド実装
論じられたように、本開示を通して説明されているデータ（たとえば、写真、テキスト記述など）は、クラウドコンピューティングプラットフォーム上に記憶またはホストされたデータベース上に記憶されたデータを含むことができる。本開示は、以下のクラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙される教示の実装がクラウドコンピューティング環境に限定されるものではないことは、理解されるべきである。むしろ、本発明の実施形態は、現在知られているかまたは後に開発されるその他のタイプの計算環境と併せて実装されることが可能である。
【０１３３】
クラウドコンピューティングは、最小限の管理努力またはサービスのプロバイダとの相互作用で迅速に供給またはリリースされることが可能な、構成可能計算リソース（たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共有プールへの便利なオンデマンドネットワークアクセスを可能にするための、サービス配信のモデルを指すことができる。このクラウドモデルは、少なくとも５つの特性、少なくとも３つのサービスモデル、および少なくとも４つの展開モデルを含むことができる。
【０１３４】
特性は、以下のうちの１つ以上を含み得る。オンデマンドセルフサービス：クラウド消費者は、サービスのプロバイダとの人間の相互作用を必要とせずに必要に応じて自動的に、サーバ時間およびネットワークストレージなどの計算能力を一方的に提供することができる。ブロードネットワークアクセス：能力は、ネットワークを介して利用可能であり、均質な薄型または厚型クライアントプラットフォーム（たとえば、携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。リソースプーリング：需要に応じて動的に割り当ておよび再割り当てされた異なる物理リソースおよび仮想リソースを用いて、マルチテナントモデルを使用して複数の消費者にサービス提供するために、プロバイダの計算リソースがプールされる。消費者は一般的に提供されたリソースの正確な位置に関する制御または知識を持たないが、より高い抽象レベル（たとえば、国、州、またはデータセンター）で位置を指定できるという点において、位置独立性の感覚がある。高速弾性：急速にスケールアウトする能力が、場合により自動的に、高速かつ弾性的に供給され、急速にスケールインするために高速に解除されることが可能である。消費者にとって、供給のために利用可能な能力はしばしば無制限であるように見え、いつでも任意の量で購入できる。測定されたサービス：クラウドシステムは、サービスのタイプ（たとえば、ストレージ、処理、帯域幅、およびアクティブユーザアカウント）に適したいずれかの抽象レベルでの計測能力の影響力を行使することによって、リソース使用を自動的に制御および最適化する。リソース使用量が監視、制御、および報告され、利用サービスのプロバイダおよび消費者の両方に透明性を提供する。
【０１３５】
別の実施形態では、サービスモデルは、以下のうちの１つ以上を含むことができる。サービスとしてのソフトウェア（ＳａａＳ：Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）：消費者に提供される能力は、クラウドインフラストラクチャ上で実行されているプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ（たとえば、ウェブベースの電子メール）などの薄型クライアントインターフェースを通じて様々なクライアント装置からアクセス可能である。消費者は、限定されたユーザ固有のアプリケーション構成設定を例外とする可能性はあるが、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または個々のアプリケーション能力を含む、基盤となるクラウドインフラストラクチャを管理または制御するものではない。
【０１３６】
サービスとしてのプラットフォーム（ＰａａＳ：Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）：消費者に提供される能力は、プロバイダによってサポートされたプログラミング言語およびツールを使用して消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含む基盤となるクラウドインフラストラクチャを管理も制御もしないが、展開されたアプリケーションおよび場合によりアプリケーションホスティング環境構成に対する制御を行う。
【０１３７】
サービスとしてのインフラストラクチャ（ＩａａＳ：Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）：消費者に提供される能力は、消費者が任意のソフトウェアを展開および実行することができる、処理、ストレージ、ネットワーク、および他の基本的な計算リソースを提供することであり、これはオペレーティングシステムおよびアプリケーションを含むことができる。消費者は、基盤となるクラウドインフラストラクチャを管理も制御もしないが、オペレーティングシステム、ストレージ、展開されたアプリケーション、および場合により選択ネットワーキングコンポーネント（たとえば、ホストファイアウォール）に対して限定された制御を行う。
【０１３８】
展開モデルは、以下のうちの１つ上を含み得る。プライベートクラウド：クラウドインフラストラクチャは１つの組織のみのために動作する。これは組織または第三者によって管理されることが可能であり、オンプレミスまたはオフプレミスで存在することができる。
【０１３９】
コミュニティクラウド：クラウドインフラストラクチャは、いくつかの組織によって共有されており、懸念（たとえば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項）を共有している特定のコミュニティをサポートする。これは組織または第三者によって管理されることが可能であり、オンプレミスまたはオフプレミスで存在することができる。
【０１４０】
パブリッククラウド：クラウドインフラストラクチャは、一般の人々または大規模な業界団体によって利用可能とされ、クラウドサービスを販売する組織によって所有されている。
【０１４１】
ハイブリッドクラウド：クラウドインフラストラクチャは、固有のエンティティのままであるが、データおよびアプリケーションの移植性（たとえば、クラウド間の負荷バランスのためのクラウドバースト）を可能にする標準化されたかまたは専用の技術によって結合された、２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）の構成である。
【０１４２】
クラウドコンピューティング環境は、無国籍、低結合、モジュール性、および意味相互運用性に重点を置いたサービス指向である。クラウドコンピューティングの中心部には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【０１４３】
クラウドコンピューティング環境は１つ以上のクラウドコンピューティングノードを含むことができ、これを用いて、たとえばパーソナルデジタルアシスタント（ＰＤＡ）または携帯電話、デスクトップコンピュータ、ラップトップコンピュータ、および／または自動車コンピュータシステムなど、クラウド消費者によって使用されるローカル計算装置が通信することができる。ノードは互いに通信できる。これらは、上記で説明されたようなプライベート、コミュニティ、パブリック、またはハイブリッドクラウドなどの１つ以上のネットワーク、またはこれらの組み合わせにおける、物理的または仮想的なグループであり得る。これにより、クラウドコンピューティング環境は、クラウド消費者がローカル計算装置上でリソースを維持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、および／またはソフトウェアを提供できるようになる。計算装置のタイプは例示目的に過ぎないこと、ならびに計算ノードおよびクラウドコンピューティング環境は、任意のタイプのネットワークおよび／またはネットワークアドレス指定可能な接続を介して（たとえば、ウェブブラウザを使用して）任意のタイプのコンピュータ化デバイスと通信できることが、理解される。
【０１４４】
本発明は、サーバベースのハードウェアおよびソフトウェアを使用して実装されてもよい。図１２は、本発明の一実施形態を実装するためのサーバの説明的ハードウェアアーキテクチャ図を示す。本発明を曖昧にしないために、システムの多くのコンポーネント、たとえばネットワークインターフェースなどは示されていない。しかしながら、当業者は、システムが必然的にこれらのコンポーネントを含むことを理解するだろう。ユーザ装置は、メモリ１２５０に結合された少なくとも１つのプロセッサ１２４０を含むハードウェアである。プロセッサは１つ以上のプロセッサ（たとえば、マイクロプロセッサ）を表すことができ、メモリは、ハードウェアの主記憶装置、ならびにたとえばキャッシュメモリ、不揮発性またはバックアップメモリ（たとえばプログラマブルまたはフラッシュメモリ）、読み出し専用メモリなど任意の補助レベルのメモリを備える、ランダムアクセスメモリ（ＲＡＭ）デバイスを表すことができる。加えて、メモリは、たとえばプロセッサ内のキャッシュメモリなど、ハードウェア内のどこか別の場所に物理的に配置されたメモリストレージ、ならびにたとえば大容量記憶装置上に記憶されたような、仮想メモリとして使用される任意の記憶容量を含むと見なされてもよい。
【０１４５】
ユーザ装置のハードウェアはまた、通常、外部と情報を通信するための多数の入力１２１０および出力１２２０を受信する。ユーザとのインターフェースのため、ハードウェアは１つ以上のユーザ入力装置（たとえば、キーボード、マウス、スキャナ、マイクロフォン、ウェブカメラなど）およびディスプレイ（たとえば、液晶ディスプレイ（ＬＣＤ）パネル）を含むことができる。追加のストレージのため、ハードウェアは、たとえばとりわけフロッピーまたは他のリムーバブルディスクドライブ、ハードディスクドライブ、直接アクセス記憶装置（ＤＡＳＤ）、光学ドライブ（たとえばコンパクトディスク（ＣＤ）ドライブ、デジタル多用途ディスク（ＤＶＤ）ドライブなど）、および／またはテープドライブなど、１つ以上の大容量記憶装置１２９０も含み得る。さらに、ハードウェアは、インターフェース、１つ以上の外部ＳＱＬデータベース１２３０、ならびにネットワークに結合された他のコンピュータとの情報の通信を可能にするための１つ以上のネットワーク１２８０（たとえば、とりわけローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、無線ネットワーク、および／またはインターネット）を含み得る。ハードウェアは通常、互いに通信するのに適したアナログおよび／またはデジタルインターフェースを含むことが、理解されるべきである。
【０１４６】
ハードウェアは、オペレーティングシステム１２７０の制御下で動作し、上記で説明された方法、プロセス、および技術を実行するために、参照番号でまとめて示された、様々なコンピュータソフトウェアアプリケーション１２６０、コンポーネント、プログラム、コード、ライブラリ、オブジェクト、モジュールなどを実行する。
【０１４７】
本発明は、クライアントサーバ環境で実装され得る。図１３は、ライアントサーバ環境において本発明の一実施形態を実装するための説明的システムアーキテクチャを示す。クライアント側のユーザ装置１３１０は、スマートフォン１３１２、ラップトップ１３１４、デスクトップＰＣ１３１６、タブレット１３１８、または他の装置を含み得る。このようなユーザ装置１３１０は、インターネットなど、何らかのネットワーク接続１３２０を通じてシステムサーバ１３３０のサービスにアクセスする。
【０１４８】
本発明のいくつかの実施形態では、システム全体が実装され、いわゆるクラウド実装において、インターネットを介してエンドユーザおよびオペレータに提供され得る。ソフトウェアまたはハードウェアのローカルインストールは必要とされず、エンドユーザおよびオペレータは、クライアント上のウェブブラウザまたは類似のソフトウェアのいずれかを使用して、インターネットを通じて直接本発明のシステムにアクセスすることができ、このクライアントはデスクトップ、ラップトップ、モバイル装置などであり得る。これにより、クライアント側でカスタムソフトウェアをインストールする必要はなくなり、サービスの配信の柔軟性を向上させ（サービスとしてのソフトウェア）、ユーザの満足度および使いやすさを向上させる。本発明の様々なビジネスモデル、収益モデル、および配信機構が想定され、これらは全て本発明の範囲内であると見なされるべきである。
【０１４９】
一般に、本発明の実施形態を実装するために実行される方法は、オペレーティングシステムまたは特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは「コンピュータプログラム」または「コンピュータコード」と称される一連の命令の一部として実装され得る。コンピュータプログラムは通常、コンピュータ内の様々なメモリおよび記憶装置内に様々な時点で設定された１つ以上の命令を備え、この命令は、コンピュータ内の１つ以上のプロセッサによって読み取られて実行されると、本発明の様々な態様を伴う要素を実行するのに必要な動作をコンピュータに実行させる。また、本発明は、コンピュータおよびコンピュータシステムを完全に機能させる文脈で説明されてきたが、当業者は、本発明の様々な実施形態が多様な形態のプログラム製品として配布され得ること、ならびに実際に配布を行うために使用される特定のタイプの機械またはコンピュータ可読媒体に関係なく本発明が等しく適用されることを、理解するだろう。コンピュータ可読媒体の例は、揮発性および不揮発性メモリ装置、フロッピーおよび他のリムーバブルディスク、ハードディスクドライブ、光学ディスク（たとえば、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）など）、およびデジタルおよびアナログ通信媒体など、記録可能なタイプの媒体を含むが、これらに限定されるものではない。
【０１５０】
本発明の使用事例の例
図１４は、通常の背景に対して立っている典型的な衣服の人間の正面図を示す、人体測定値を捕捉するためにモバイル装置上の単一のカメラが使用される、本発明の使用事例の説明図を示す。図１４に示されるモバイル装置は、少なくとも１つのカメラ、プロセッサ、非一時的記憶媒体、およびサーバとの通信リンクを備える。一実施形態では、ユーザの身体の１つ以上の写真が、本明細書に記載される動作を実行するサーバに送信される。一実施形態では、ユーザの身体の１つ以上の写真は、モバイル装置のプロセッサによってローカルに分析される。実行された動作は１つ以上の身体測定値を返し、これはサーバ上に記憶されると共に、ユーザに提示されてもよい。加えて、身体測定値はその後、１つ以上のカスタム衣類、カスタム眼鏡、カスタム手袋、カスタムボディスーツ、カスタムＰＰＥ（個人用保護具）、カスタム帽子、カスタム食事療法、カスタム運動、ジム、およびトレーニングルーチンなどを含むがこれらに限定されない、多くの目的のために利用され得る。一般性を失うことなく、身体測定値は、身体測定値が有用である任意の目的のために出力、送信、および／または利用されることが可能である。
【０１５１】
最後に、図１５から図２１は、本発明のいくつかの実施形態が実装されている、説明的なモバイルグラフィカルユーザインターフェース（ＧＵＩ）を示す。図１５は、本発明の一実施形態による、正面図写真を捕捉するためのユーザ命令を示すモバイル装置ＧＵＩの説明図を示す。図１６は、本発明の一実施形態による、身長（および任意選択的に体重、年齢など他の人口統計情報）を入力し、好みのフィットスタイル（タイト、普通、またはルーズフィット）を選択するようにユーザに要求する、モバイル装置ＧＵＩの説明図を示す。図１７は、本発明の一実施形態による、正面図写真を捕捉するためのモバイル装置ＧＵＩの説明図を示す。図１８は、本発明の一実施形態による、説明用のＡ姿勢が点線で示された、正面図写真を捕捉するためのモバイル装置ＧＵＩの別の説明図を示す。図１９は、本発明の一実施形態による、側面図写真を捕捉するためのモバイル装置ＧＵＩの説明図を示す。図２０は、本発明の一実施形態による、身体測定値を抽出するためにシステムが写真を処理している間に表示されるモバイル装置ＧＵＩの説明図を示す。最後に、図２１は、本発明の一実施形態による、身体測定値が首尾よく抽出されたときの通知画面を示すモバイル装置ＧＵＩの説明図を示す。
【０１５２】
本発明は首尾よく実施され、人間のテーラーに対して１ｃｍ未満の精度の身体測定値をもたらした。システムは、２つの写真のみを使用して、人間のテーラーに匹敵する精度を達成することができる。システムは、いかなる特殊化されたハードウェアセンサの使用も必要とせず、ユーザが特殊な背景に対して立つ必要もなく、特殊な照明も必要とせず、任意の距離で撮影した写真も使用でき、任意のタイプの衣類を着用するユーザでも使用できる。その結果、誰でも簡単に自分の写真を撮ることができ、自動全身測定値抽出の恩恵を受けることができるように、任意のモバイル装置でも利用できる身体測定システムができる。
【０１５３】
当業者は、使用事例、構造、概略図、およびフロー図が他の順序または組み合わせで実行されてもよく、それでもなお本発明の発明的概念は本発明のより広い範囲から逸脱しないままであることを知っている。全ての実施形態は独特であり、全てのユーザが本発明の方法を実践するのに適合するように、方法／ステップは短縮または延長され、他の動作と重複し、遅延し、時間差後に継続することが可能である。
【０１５４】
本発明は特定の例示的な実施形態を参照して説明されたが、本発明のより広い範囲から逸脱することなくこれらの実施形態に対して様々な修正および変更を加えることができることは、明らかであろう。したがって、明細書および図面は、限定的な意味ではなく説明的な意味で見なされるべきである。上述の実施形態が、教示された単一の説明のどれよりも広い範囲を有するであろう単一のより広い発明の具体例であることもまた、当業者には明らかであろう。本発明の範囲から逸脱することなく、説明において多くの変更が加えられてもよい。
【図１Ａ】
0006799302.tif 000002
【図１Ｂ】
0006799302.tif 000003
【図１Ｃ】
0006799302.tif 000004
【図１Ｄ】
0006799302.tif 000005
【図１Ｅ】
0006799302.tif 000006
【図２】
0006799302.tif 000007
【図３】
0006799302.tif 000008
【図４】
0006799302.tif 000009
【図５】
0006799302.tif 000010
【図６】
0006799302.tif 000011
【図７】
0006799302.tif 000012
【図８】
0006799302.tif 000013
【図９】
0006799302.tif 000014
【図１０】
0006799302.tif 000015
【図１１】
0006799302.tif 000016
【図１２】
0006799302.tif 000017
【図１３】
0006799302.tif 000018
【図１４】
0006799302.tif 000019
【図１５】
0006799302.tif 000020
【図１６】
0006799302.tif 000021
【図１７】
0006799302.tif 000022
【図１８】
0006799302.tif 000023
【図１９】
0006799302.tif 000024
【図２０】
0006799302.tif 000025
【図２１】
0006799302.tif 000026