(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-07
(54)【発明の名称】訓練深層学習ネットワークの3Dモデルから大量訓練データセットを自動的に生成する方法及びシステム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220131BHJP
【FI】
G06T7/00 350C
G06T7/00 660B
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021534791
(86)(22)【出願日】2019-12-17
(85)【翻訳文提出日】2021-08-12
(86)【国際出願番号】 US2019066994
(87)【国際公開番号】W WO2020131970
(87)【国際公開日】2020-06-25
(32)【優先日】2019-07-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-12-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519229482
【氏名又は名称】ボディグラム、インコーポレイテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】特許業務法人浅村特許事務所
(72)【発明者】
【氏名】コウ、チョン、ジン
(72)【発明者】
【氏名】神山 恭平
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096AA09
5L096CA02
5L096DA02
5L096FA66
5L096FA67
5L096FA69
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
携帯デバイスカメラを使用して撮られた2D画像から3D測定値を抽出するように、深層学習ネットワーク(DLN)を訓練するための大きいデータセットを生成する、システム及び方法が開示される。方法は、3Dオブジェクトの3Dモデルを受信するステップと、3Dモデルから空間特徴を抽出するステップと、肌の色、顔の輪郭、髪型、仮想衣服、及び/又は照明条件などであるがそれらに限定されない、3Dモデルに対する第1のタイプの拡張データを生成するステップと、第1のタイプの拡張データを用いて3Dモデルを拡張して、拡張3Dモデルを生成するステップと、拡張3Dモデルを少なくとも1つの面上に投影することによって、拡張3Dモデルから少なくとも1つの2D画像を生成するステップと、空間特徴及び少なくとも1つの2D画像を集約することによって、空間特徴抽出のために深層学習ネットワーク(DLN)を訓練する訓練データセットを生成するステップと、を含む。
【特許請求の範囲】
【請求項1】
三次元(3D)オブジェクトの二次元(2D)画像から空間特徴を抽出するため、深層学習ネットワーク(DLN)を訓練する訓練データセットを生成するコンピュータ実装方法であって、
前記コンピュータ実装方法がハードウェアプロセッサによって実行可能であり、前記方法が、
前記3Dオブジェクトの3Dモデルを受信することと、
前記3Dモデルから空間特徴を抽出することと、
前記3Dモデルに対する第1のタイプの拡張データを生成することと、
前記第1のタイプの拡張データを用いて前記3Dモデルを拡張して、拡張3Dモデルを生成することと、
前記拡張3Dモデルを少なくとも1つの面上に投影することによって、前記拡張3Dモデルから少なくとも1つの2D画像を生成することと、
前記空間特徴及び前記少なくとも1つの2D画像を集約することによって、空間特徴抽出のために前記深層学習ネットワーク(DLN)を訓練する訓練データセットを生成することと、を含む、方法。
【請求項2】
前記少なくとも1つの2D画像に対する第2のタイプの拡張データを受信することと、
前記第2のタイプの拡張データを用いて前記少なくとも1つの2D画像を拡張して、前記拡張3Dモデルの前記投影及び前記第2のタイプの拡張データのインスタンスをそれぞれ含む、複数の拡張2D画像を生成することと、
前記空間特徴及び前記複数の拡張2D画像を集約することによって、空間特徴抽出のために前記深層学習ネットワーク(DLN)を訓練する前記訓練データセットを生成することと、
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記3Dモデルが3D人体モデルである、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記空間特徴が一次元(1D)身体測定値である、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記空間特徴が2D身体セグメントである、請求項3に記載のコンピュータ実装方法。
【請求項6】
前記第1のタイプの拡張データが、肌の色、顔の輪郭、髪型、及び仮想衣服から成る群から選択される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第1のタイプの拡張データが照明条件である、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記第2のタイプの拡張データが様々な背景を表す背景画像である、請求項2に記載のコンピュータ実装方法。
【請求項9】
前記3Dモデルが3D人体モデルであり、前記方法が、
前記3Dモデルからの複数のデータ点を利用する、前記拡張2D画像に対するセグメント化を実施して、前記3Dモデルと関連付けられた1つ又は複数の特徴を前記背景から抽出すること
を更に含む、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記3Dモデルが3D人体モデルであり、前記方法が、
前記3Dモデルからの複数のデータ点を利用する、前記拡張2D画像に対する線注釈を実施して、空間特徴測定値に対応する各空間特徴上の注釈線を生成すること
を更に含む、請求項8に記載のコンピュータ実装方法。
【請求項11】
前記3Dモデルからの複数のデータ点を利用して、前記空間特徴からグラウンドトゥルース特徴測定値を生成すること
を更に含む、請求項8に記載のコンピュータ実装方法。
【請求項12】
前記第2のタイプの拡張データがホワイトノイズである、請求項2に記載のコンピュータ実装方法。
【請求項13】
前記第2のタイプの拡張データがパースペクティブ歪みデータである、請求項2に記載のコンピュータ実装方法。
【請求項14】
第2の3Dモデルから第2の訓練データセットを生成して、空間特徴抽出のために前記深層学習ネットワークを訓練することを更に含み、
前記第2の訓練データセットが、第2の複数の空間特徴、第2の複数の拡張3Dモデル、及び第2の複数の2D画像を備える、
請求項1に記載のコンピュータ実装方法。
【請求項15】
前記第2の訓練データセットを使用して、空間特徴抽出のために前記深層学習ネットワークを訓練すること
を更に含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
前記少なくとも1つの2D画像が、前記3Dモデルの正面視画像、前記3Dモデルの側面視画像、及び前記正面視画像に対して45度の角度で前記3Dモデルから投影された画像から成る群から選択される、請求項1に記載のコンピュータ実装方法。
【請求項17】
前記3Dモデルが3D身体モデルであり、前記方法が、
前記3D身体モデルから抽出された1D身体測定値を含むグラウンドトゥルースデータに対して訓練される、サイジング機械学習モジュールを訓練すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項18】
前記サイジング機械学習モジュールが、前記3D身体モデルから抽出された前記1D身体測定値と前記3D身体モデルと関連付けられた1つ又は複数のユーザパラメータとを含む、グラウンドトゥルースデータに対して訓練される、請求項17に記載のコンピュータ実装方法。
【請求項19】
前記ユーザパラメータが、身長、体重、性別、年齢、及び前記ユーザと関連付けられた人口統計情報から成る群から選択される、請求項18に記載のコンピュータ実装方法。
【請求項20】
前記サイジング機械学習モジュールがランダムフォレストアルゴリズムを含む、請求項17に記載のコンピュータ実装方法。
【請求項21】
前記3Dモデルが、全裸のユーザ又は半裸のユーザの少なくとも1つの3D身体モデルを含む、請求項1に記載のコンピュータ実装方法。
【請求項22】
前記深層学習ネットワーク(DLN)が畳み込みニューラルネットワーク(CNN)を含む、請求項1に記載のコンピュータ実装方法。
【請求項23】
前記深層学習ネットワーク(DLN)がピラミッドプーリングモジュールを更に含む、請求項22に記載のコンピュータ実装方法。
【請求項24】
前記少なくとも1つの3Dモデルが3Dスキャナから受信される、請求項1に記載のコンピュータ実装方法。
【請求項25】
前記3Dモデルが人体の3D人体スキャナから受信される、請求項24に記載のコンピュータ実装方法。
【請求項26】
前記訓練データセットを使用して、身体測定値決定のために前記深層学習ネットワーク(DLN)を訓練すること
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項27】
測定値決定のために前記訓練済み深層学習ネットワーク(DLN)を提供すること
を更に含む、請求項26に記載のコンピュータ実装方法。
【請求項28】
前記深層学習ネットワーク(DLN)を訓練するのに前記訓練データセットを提供する前に、前記訓練データセットを後処理すること
を更に含む、請求項26に記載のコンピュータ実装方法。
【請求項29】
三次元(3D)オブジェクトの二次元(2D)画像から空間特徴を抽出するため、深層学習ネットワークを訓練する訓練データセットを生成するコンピュータプログラム製品であって、具体化されたプログラム命令を有する非一時的コンピュータ可読記憶媒体を備え、前記プログラム命令がプロセッサによって実行可能であり、前記プロセッサに、
前記3Dオブジェクトの3Dモデルを受信させ、
前記3Dモデルから空間特徴を抽出させ、
前記3Dモデルに対する第1のタイプの拡張データを生成させ、
前記第1のタイプの拡張データを用いて前記3Dモデルを拡張して、拡張3Dモデルを生成させ、
前記拡張3Dモデルを少なくとも1つの面上に投影することによって、前記拡張3Dモデルから少なくとも1つの2D画像を生成させ、
前記空間特徴及び前記少なくとも1つの2D画像を集約することによって、空間特徴抽出のために前記深層学習ネットワーク(DLN)を訓練する訓練データセットを生成させる、コンピュータプログラム製品。
【請求項30】
前記少なくとも1つの2D画像に対する第2のタイプの拡張データを受信させ、
前記第2のタイプの拡張データを用いて前記少なくとも1つの2D画像を拡張して、前記拡張3Dモデルの前記投影及び前記第2のタイプの拡張データのインスタンスをそれぞれ含む、複数の拡張2D画像を生成させ、
前記空間特徴及び前記複数の拡張2D画像を集約することによって、空間特徴抽出のために前記深層学習ネットワーク(DLN)を訓練する前記訓練データセットを生成させる、
プログラム命令を更に備える、請求項29に記載のコンピュータプログラム製品。
【請求項31】
前記3Dモデルが3D人体モデルである、請求項29に記載のコンピュータプログラム製品。
【請求項32】
三次元(3D)オブジェクトの二次元(2D)画像から空間特徴を抽出するため、深層学習ネットワークを訓練する訓練データセットを生成するシステムであって、
少なくとも1つのプロセッサと、
具体化されたプログラム命令を有する少なくとも1つの非一時的コンピュータ可読記憶媒体と、を備え、
前記プログラム命令が前記少なくとも1つのプロセッサによって実行可能であり、前記少なくとも1つのプロセッサに、
前記3Dオブジェクトの3Dモデルを受信させ、
前記3Dモデルから空間特徴を抽出させ、
前記3Dモデルに対する第1のタイプの拡張データを生成させ、
前記第1のタイプの拡張データを用いて前記3Dモデルを拡張して、拡張3Dモデルを生成させ、
前記拡張3Dモデルを少なくとも1つの面上に投影することによって、前記拡張3Dモデルから少なくとも1つの2D画像を生成させ、
前記空間特徴及び前記少なくとも1つの2D画像を集約することによって、空間特徴抽出のために前記深層学習ネットワーク(DLN)を訓練する訓練データセットを生成させる、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施例は、自動3Dオブジェクト測定の分野であり、特に、携帯デバイスを用いて得られた写真を使用した3Dオブジェクトの測定のために深層学習アルゴリズムを訓練するデータセットを生成することに関する。
【背景技術】
【0002】
本発明の背景技術における記述は、本発明並びにその適用及び使用の理解を助けるために提供されるものであり、従来技術は構成しないことがある。
【0003】
特別な3Dカメラを利用すると共に2Dビデオ又は2D写真も利用し、続いて2D・3D再構築技術で3D測定値を推定することを含む、3Dオブジェクトの画像から3D測定値を抽出するのにいくつかの方策が試みられてきた。
【0004】
「Systems and methods for full body measurements extraction」という名称で、2018年11月19日に米国特許出願第16/195,802号として出願され、2019年6月18日に発行された米国特許第10,321,728号に記載されている有望な新しい技術は、深層学習ネットワークを利用して、単一の携帯デバイスカメラを用いて撮られた2D写真から測定値を抽出するものである。この技術は、ユーザの摩擦を最小限に抑える一方で非常に正確な測定値をもたらすことが見込まれる。しかしながら、この方策は、深層学習ネットワークを訓練するために、セグメント化された注釈付きの正面及び横向き画像と、対応するグラウンドトゥルースデータとを含む、多量の訓練データを要することがある。実際に、深層学習ネットワークを訓練するのに必要な大きい訓練データセットを獲得するのは困難なことがある。画像は、自発的なボランティアから獲得され、セグメント化され、人間の注釈者によって注釈を付けられ、収集された実際の測定値のグラウンドトゥルースデータと一致されなければならない。
【0005】
したがって、測定値を抽出するように深層学習ネットワークを訓練するため、小さいデータセットを有効に増幅するのに用いられてもよいプロセスを提供することが、最新技術における発展であろう。このように、少量の収集データが有効に増幅されて、正確に測定する深層学習アルゴリズムを訓練するのに使用されてもよい、大きいデータセットを作り出すことができる。
【0006】
この背景に対抗して本発明が開発された。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【非特許文献1】Guilin Liuらの「Image Inpainting for Irregular Holes Using Partial Convolutions」
【非特許文献2】Menglei Chaiらの「AutoHair:Fully Automatic Hair Modeling from A Single Image」
【非特許文献3】Hengshuang Zhaoらの「Pyramid Scene Parsing Network」、CVPR 2017、2016年12月4日
【非特許文献4】Leo Braimanの「Random Forests」、Machine Learning,45,5-32、2001、Kluwer Academic Publishers,Netherlands
【発明の概要】
【課題を解決するための手段】
【0009】
本発明は、例えば携帯デバイスカメラから得た2D画像から3D測定値を抽出するように、深層学習ネットワークを訓練するための大きいデータセットを生成する、方法及びシステムに関する。要するに、一実施例によれば、既存のデータベース又は人体スキャナからの単一の3Dベースメッシュモデルから、拡張データ(肌、顔、髪、光、複数の仮想衣服、複数の仮想背景など)を加えて、複数のデータセットが生成されてもよい。結果として、単一の3Dモデル(例えば、1人の身体スキャン)のみから、数千又は更には数百万の訓練データセットが生成されてもよい。概して、一態様によれば、本発明は、深層学習(DL)及び機械学習(ML)データセット生成のための仮想空間及び人間拡張システムである。
【0010】
より具体的には、様々な実施例では、本発明は、三次元(3D)オブジェクトの二次元(2D)画像から空間特徴抽出するため、深層学習ネットワーク(DLN)を訓練する訓練データセットを生成するコンピュータ実装方法であって、コンピュータ実装方法はハードウェアプロセッサによって実行可能であり、方法は、3Dオブジェクトの3Dモデルを受信することと、3Dモデルから空間特徴を抽出することと、3Dモデルに対する第1のタイプの拡張データを生成することと、第1のタイプの拡張データを用いて3Dモデルを拡張して、拡張3Dモデルを生成することと、拡張3Dモデルを少なくとも1つの面上に投影することによって、拡張3Dモデルから少なくとも1つの2D画像を生成することと、空間特徴及び少なくとも1つの2D画像を集約することによって、空間特徴抽出のために深層学習ネットワーク(DLN)を訓練する訓練データセットを生成することと、を含む。
【0011】
一実施例では、方法は更に、少なくとも1つの2D画像に対する第2のタイプの拡張データを受信することと、第2のタイプの拡張データを用いて少なくとも1つの2D画像を拡張して、拡張3Dモデルの投影及び第2のタイプの拡張データの例をそれぞれ含む、複数の拡張2D画像を生成することと、空間特徴及び複数の拡張2D画像を集約することによって、空間特徴抽出のために深層学習ネットワーク(DLN)を訓練する訓練データセットを生成することと、を含む。
【0012】
一実施例では、3Dモデルは3D人体モデルである。一実施例では、空間特徴は一次元(1D)身体測定値である。一実施例では、空間特徴は2D身体セグメントである。
【0013】
一実施例では、第1のタイプの拡張データは、肌の色、顔の形、髪型、及び仮想衣服から成る群から選択される。
【0014】
一実施例では、第1のタイプの拡張データは照明条件である。
【0015】
一実施例では、第2のタイプの拡張データは、様々な背景を表す背景画像である。一実施例では、方法は更に、3Dモデルからの複数のデータ点を利用する、拡張2D画像に対するセグメント化を実施して、3Dモデルと関連付けられた1つ又は複数の特徴を背景から抽出することを含む。一実施例では、方法は更に、3Dモデルからの複数のデータ点を利用する、拡張2D画像に対する線注釈を実施して、空間特徴測定値に対応する各空間特徴上の注釈線を生成することを含む。
【0016】
一実施例では、方法は更に、3Dモデルからの複数のデータ点を利用して、空間特徴からグラウンドトゥルース特徴測定値を生成することを含む。
【0017】
一実施例では、第2のタイプの拡張データはホワイトノイズである。
【0018】
一実施例では、第2のタイプの拡張データはパースペクティブ歪みデータである。
【0019】
一実施例では、方法は更に、第2の3Dモデルから第2の訓練データセットを生成して、空間特徴抽出のために深層学習ネットワークを訓練することを含み、第2の訓練データセットは、第2の複数の空間特徴、第2の複数の拡張3Dモデル、第2の複数の2D画像、及び第2の複数の拡張2D画像を備える。
【0020】
一実施例では、方法は更に、第2の訓練データセットを使用して、空間特徴抽出のために深層学習ネットワークを訓練することを含む。
【0021】
一実施例では、少なくとも1つの2D画像は、3Dモデルの正面視画像、3Dモデルの側面視画像、及び正面視画像に対して約45度の角度で3Dモデルから投影された画像から成る群から選択される。
【0022】
一実施例では、3Dモデルは3D身体モデルであり、方法は更に、3D身体モデルから抽出された1D身体測定値を含むグラウンドトゥルースデータに対して訓練される、サイジング機械学習モジュールを訓練することを含む。
【0023】
一実施例では、サイジング機械学習モジュールは、3D身体モデルから抽出された1D身体測定値と3D身体モデルと関連付けられた1つ又は複数のユーザパラメータとを含む、グラウンドトゥルースデータに対して訓練される。
【0024】
一実施例では、ユーザパラメータは、身長、体重、性別、年齢、及びユーザと関連付けられた人口統計情報から成る群から選択される。
【0025】
一実施例では、サイジング機械学習モジュールはランダムフォレストアルゴリズムを含む。
【0026】
一実施例では、3D身体モデルは、全裸のユーザ又は半裸のユーザの少なくとも1つの3D身体モデルを含む。
【0027】
一実施例では、深層学習ネットワークは畳み込みニューラルネットワーク(CNN)を含む。
【0028】
一実施例では、深層学習ネットワークは更に、ピラミッドプーリングモジュールを含む。
【0029】
一実施例では、少なくとも1つの3Dモデルは3Dスキャナから受信される。いくつかの実施例では、3D人体モデルは人体の3D身体スキャナから受信される。
【0030】
一実施例では、方法は更に、訓練データセットを使用して、身体測定値決定のために深層学習ネットワークを訓練することを含む。一実施例では、方法は更に、測定値決定のために訓練済み深層学習ネットワークを提供することを含む。
【0031】
一実施例では、方法は更に、深層学習ネットワークを訓練するのに訓練データセットを提供する前に、訓練データセットを後処理することを含む。
【0032】
様々な実施例では、コンピュータプログラム製品が開示される。コンピュータプログラムは、三次元(3D)オブジェクトの二次元(2D)画像から空間特徴抽出するため、深層学習ネットワークを訓練する訓練データセットを生成するのに使用されてもよく、共に具体化されたプログラム命令、即ちプログラムコードを有するコンピュータ可読記憶媒体を含んでもよく、プログラム命令はプロセッサによって実行可能であって、プロセッサに上述のステップを実施させる。
【0033】
様々な実施例では、コンピュータ実行可能コンポーネントを格納するメモリと、メモリに動作可能に結合され、メモリに格納されたコンピュータ実行可能コンポーネントを実行するハードウェアプロセッサとを含む、システムが記載され、コンピュータ実行可能コンポーネントは、上述のステップを実行するプロセッサと通信可能に結合されたコンポーネントを含んでもよい。
【0034】
別の実施例では、本発明は、プロセッサによって実行されると、プロセッサに空間特徴を生成するプロセスを実施させる実行可能命令を格納する、非一時的コンピュータ可読記憶媒体であり、命令は、プロセッサに上述のステップを実行させる。
【0035】
別の実施例では、本発明は、2D電話用カメラを使用して空間特徴を抽出するシステムであって、システムは、2Dカメラ、プロセッサ、ディスプレイ、第1のメモリを有するユーザデバイスと、第2のメモリ及びデータリポジトリを備えるサーバと、前記ユーザデバイスと前記サーバとの間の電気通信リンクと、前記ユーザデバイス及び前記サーバの前記第1及び第2のメモリで具体化される複数のコンピュータコードとを備え、前記複数のコンピュータコードは、実行されると、前記サーバ及び前記ユーザデバイスに上述のステップを含むプロセスを実行させる。
【0036】
更に別の実施例では、本発明は、少なくとも1つのプロセッサと、メモリと、前記メモリ上で具体化された複数のコンピュータコードとを備える、コンピュータ化されたサーバであり、前記複数のコンピュータコードは、実行されると、前記プロセッサに上述のステップを含むプロセスを実行させる。本発明の他の態様及び実施例は、本明細書に記載するステップを含む方法、プロセス、及びアルゴリズムを含み、また、本明細書に記載するシステム及びサーバのプロセス並びに動作モードを含む。
【0037】
本発明の更に他の態様及び実施例は、本発明の詳細な説明を添付図面と併せ読むことによって明白となるであろう。
【0038】
本明細書に記載する本発明の実施例は例示であって限定ではない。以下、本発明の実施例について、例として、添付図面を参照して記載する。
【図面の簡単な説明】
【0039】
【
図1】本発明の一実施例による、身体測定値決定のために深層学習ネットワークを訓練する大きいデータセットを生成する段階を実証する一例のツリーを示す図である。
【
図2】本発明の一実施例による、3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー図である。
【
図3】本発明の一実施例による、3D人間モデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー図である。
【
図4】本発明の一実施例による、複数の3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大きいデータセットを生成する一例のフロー図である。
【
図5】本発明の一実施例による、複数のタイプの拡張データを用いて3Dモデルを拡張することによって、3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー図である。
【
図6A】測定値決定のために深層学習ネットワークを訓練する訓練データセットを生成するための、人間の例示の3Dモデルの一例の入力画像(正面視)である。
【
図6B】測定値決定のために深層学習ネットワークを訓練する訓練データセットを生成するための、人間の例示の3Dモデルの一例の入力画像(側面視)である。
【
図7A】測定値決定のために深層学習ネットワークを訓練する、(人間のオペレータによって手動で又は基礎となる3Dモデルを使用して自動で実施されてもよい)正面視画像のセグメント化及び注釈の例示のプロセスに対する一例のセグメント化された注釈付き画像である。
【
図7B】測定値決定のために深層学習ネットワークを訓練する、(人間のオペレータによって手動で又は基礎となる3Dモデルを使用して自動で実施されてもよい)側面視画像のセグメント化及び注釈の例示のプロセスに対する一例のセグメント化された注釈付き画像である。
【
図8A】本発明の一実施例による、測定値決定のために深層学習ネットワークを訓練する一例のフロー図である。
【
図8B】本発明の一実施例による、身体測定値決定のために深層学習ネットワークを訓練する別の詳細な一例のフロー図である。
【
図9A】深層学習ネットワーク(DLN)が訓練された後の、身体測定値決定のためにDLNを利用する、サンプル3Dモデルのサンプル2D画像(正面視)に対する例示のテストランを示す図である。
【
図9B】深層学習ネットワーク(DLN)が訓練された後の、身体測定値決定のためにDLNを利用する、サンプル3Dモデルのサンプル2D画像(側面視)に対する例示のテストランを示す図である。
【
図9C】
図9A及び
図9Bからのサンプル2D画像に対する例示のテストランの結果を示す図である。
【
図10】肌の色合いを含む第1のタイプの拡張データを生成する例示のプロセスを示す図である。
【
図11】顔の拡張を含む第1のタイプの拡張データを生成する例示のプロセスを示す図である。
【
図12】顔の拡張を含む第1のタイプの拡張データを生成するプロセスを示すフローチャートである。
【
図13】身体測定値決定のための深層学習ネットワークを示す例示のアーキテクチャを示す図である。
【
図14】身体測定値決定のための深層学習ネットワークを示す例示のフロー図である。
【
図15】身体測定値決定のための深層学習ネットワークを示す別の例示のフロー図である。
【
図16】身体測定値決定のための深層学習ネットワークを示す更に別の例示のフロー図である。
【
図17】本発明の一実施例を実現するコンピューティングデバイスの例示のハードウェアアーキテクチャ図である。
【
図18】クライアントサーバ環境において本発明の一実施例を実現する例示のシステムアーキテクチャ図である。
【
図19】標準的な背景の前に立っている一般的な衣服を着た人間の正面視を示す、携帯デバイスの単一のカメラが人体測定値を捕捉するのに使用される、本発明の使用例を示す例示の図である。
【発明を実施するための形態】
【0040】
概要
提供される図面を参照して、以下に本発明の実施例について詳細に記載する。
【0041】
以下の記載では、説明目的で、本発明の徹底的な理解を提供するために、多数の具体的な詳細について説明する。しかしながら、本発明はかかる具体的な詳細なしで実施できることが、当業者には明白となるであろう。他の例では、本発明が不明瞭になることを回避するために、構造、デバイス、活動、及び方法は、概略、使用例、及び/又はフロー図を使用して示される。以下の記載は、例証目的で多くの明細を含むが、当業者であれば、提案される詳細に対する多くの変形例及び/又は変更例が本発明の範囲内にあることを認識するであろう。同様に、本発明の特徴の多くは、互いに関して又は互いと併せて記載されるが、当業者であれば、これらの特徴の多くを他の特徴とは独立して提供できることを認識するであろう。したがって、本発明のこの記載は、本発明に対する一般性を何ら失うことなく、また本発明に対する限定を課すことなく説明される。
【0042】
3Dオブジェクトの2D画像から1D測定値を生成又は抽出する様々なタイプの方策が、他者によって試みられてきた。これらの方策は全て、一般に、ユーザ、即ちオブジェクトが特定の姿勢を有し、カメラから特定の距離で空の背景の前に立ち、人間の対象者の場合は、ぴったりフィットする衣服を着用し、及び/又は部分的に裸であることを要する。制御された環境及び顕著なユーザ摩擦に関するかかる要件は望ましくない。
【0043】
本発明は、誰でも簡単に実世界のオブジェクト又は自分自身の写真を撮り、完全な測定値抽出の利益を得られるように、1)任意の姿勢のオブジェクト、2)任意の背景の前のオブジェクト、3)任意の距離で撮られた写真、4)衣服を着た人間など、任意のタイプの被覆を有するオブジェクト、5)任意の位置、角度、色、又は影の光の2D写真から、身体測定値などの1D測定値を正確に抽出するシステム及び方法を提供することによって、上述の問題を解決する。本発明のいくつかの実施例は、3D再構築又は3Dモデルを伴わず、専用のハードウェアカメラも要しない。その代わりに、深層学習技術と組み合わされた高度コンピュータビジョンを使用して、オブジェクトがどのように位置していても又は被覆されていても、単純な携帯デバイスカメラによって提供される写真から、正確な測定値が生成される。本開示では、「2D電話用カメラ」という用語は、スマートフォン、タブレット、ラップトップ、若しくはデスクトップなどのコンピューティングデバイスに搭載されるか又は接続された、任意の従来のカメラを表すのに使用される。
【0044】
2D写真から測定値を決定する深層学習ネットワークを実現することに関する1つの困難は、深層学習ネットワークを訓練するのに必要な訓練データセットのサイズが膨大なことである。一実施例では、本発明は、訓練データの小さいサンプルから利用可能な訓練データの量を大幅に拡大する方法、装置、及びシステムを提供することによって、これらの問題を解決する。例えば、一実施例では、更に詳細に後述するように、数千の3Dスキャンを利用し増幅して、数百万(若しくはそれ以上)の訓練データ点を生成することができる。一般に、本発明を利用して、深層学習ネットワークを訓練するのに利用可能な訓練データの量を、数百倍若しくは数千倍、又はそれ以上に拡大することができる。
【0045】
身体測定値に関して深層学習ネットワークを訓練するためのデータセットの生成
図1は、本発明の一実施例による、測定値決定のために深層学習ネットワークを訓練する大きいデータセットを生成する段階を実証する一例のツリー100を示している。最初に、3Dモデル101が受信される。ステップ110で、複数(P
1)の選択肢を備える第1のタイプの拡張データが生成され、3Dモデル101を各選択肢で拡張して、複数(P
1)の第1段階の拡張3Dモデル111~114が生成される。任意選択であってもよいステップ120で、複数(P
2)の選択肢を備える別のタイプの拡張データが生成され、複数(P
1)の第1段階の拡張3Dモデル111~114を再び、複数(P
2)の選択肢における各選択肢で拡張して、複数(P
1×P
2)の第2段階の拡張3Dモデル121~126が生成される。ステップ130で、3Dモデルの投影を実施して複数(P
1×P
2)の2D画像131~132を生成することによって、少なくとも1つの2D画像が複数(P
1×P
2)の拡張3Dモデルそれぞれから生成される。ステップ140で、複数(Q)の選択肢を備える第2のタイプの拡張データが生成され、複数(P
1×P
2)の2D画像131~132を、複数(Q)の選択肢における各選択肢で拡張して、複数(P
1×P
2×Q)の拡張2D画像141~144が生成される。このように、単一の3Dモデル101から、多数(P
1×P
2×Q)の拡張2D画像が生成されて、深層学習ネットワークの訓練で使用される訓練データとして含まれてもよい。例示のツリー100を生成するプロセスの様々な実施例については、
図2~
図5で更に記載する。
【0046】
図2は、本発明の一実施例による、3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー
図200を示している。3Dモデル202が受信される。3Dモデル202は、人体、動物(例えば、イヌ、ネコ)、家具(例えば、ソファ、テーブル)、車両(例えば、自動車、オートバイ)、又は楽器(例えば、ピアノ)など、様々な3Dオブジェクトであってもよい。例えば、一実施例では、3D人体モデルは3D身体スキャナ(図示なし)から得られてもよい。
【0047】
3D人体モデルの場合、またいくつかの実施例によれば、約10,000人の対象者(男性女性両方)において得られた3D身体スキャンの市販サンプルである、「SizeUSA」データセットからの3D身体スキャンデータが、3Dモデルのソースとして利用されてもよい。他の実施例では、約4,000人の対象者において得られた3D身体スキャンの別の市販サンプルであり、人間のテーラーを使用して手作業で測定されたグラウンドトゥルースデータも含む、「CAESAR」データセットからの3D身体スキャンデータが利用されてもよい。更に他の実施例では、本発明を利用する機関は、任意の関心の3Dオブジェクト自体の3Dモデルを捕捉及び/又は生成してもよい。
【0048】
ステップ204で、複数(P
1)の選択肢を備える第1のタイプの拡張データが生成される。3D人体モデルの第1のタイプの拡張データの例は、
図3に記載される。ステップ206で、3Dモデル202を各選択肢で拡張して、ステップ208で、複数(P
1)の第1段階の拡張3Dモデル111~114が生成される。
【0049】
ステップ210で、複数(P1)の2D画像131~132は、複数(P1)の第1段階の拡張3Dモデルから生成される。生成は、例えば正射投影を使用して、例えば、面(正面若しくは側面)への3Dモデルの投影を実施することによって実行されてもよい。いくつかの実施例では、正面及び側面両方の画像が撮られる。
【0050】
ステップ212で、複数(Q)の選択肢を備える第2のタイプの拡張データが生成され、ステップ214で、複数(P1)の2D画像131~132を、複数(Q)の選択肢における各選択肢で拡張して、複数(P1×Q)の拡張2D画像141~144が生成される。
【0051】
いくつかの実施例では、第2のタイプの拡張データは、例えば複数(Q)の背景画像であってもよい。背景画像は、実際の環境で対象者によって観察されることがある、様々な背景の可能性を表す。背景画像は、様々な照明、影、局所性、及び身体測定値などの空間特徴を取っている対象者に典型的である、他の背景条件を表すものであるべきである。様々な背景は、後述するような身体セグメント化において、深層学習ネットワークの、特にセグメント化深層学習ネットワークの訓練を最適化するように選択されるべきである。ステップ212で受信した複数(Q)の背景画像からの背景画像を、ステップ210からの正面及び側面画像に追加して、所与の背景を有する2×P2個の画像が生成される。ステップ214で、このプロセスを複数(Q)の背景画像に対して、つまりQ回繰り返して、合計2×P1×Q個の画像が生成される。
【0052】
いくつかの実施例では、第2のタイプの拡張データは、例えば、ホワイトノイズ又は他のタイプのランダムノイズであってもよい。これは、不完全な画像捕捉及び他の環境条件に対して、深層学習ネットワークをより強固にレンダリングするのに有用なことがある。他の実施例では、第2のタイプの拡張データは、例えば、パースペクティブ歪みデータであってもよい。
【0053】
ステップ218で、後述する注釈深層学習ネットワーク及び機械学習モジュールを訓練するための「グラウンドトゥルース」データとして役立つように、空間特徴が3Dモデルから抽出される。いくつかの実施例では、空間特徴は、1D測定値、及び人体モデルのシャツのサイズ、帽子のサイズ、腹囲、又は胸囲などの対応する注釈線である。1D測定値は、人間のテーラーが実際の3D人体を測定する方法と同様に、3Dモデルにおける任意の所与の「仮想」注釈線に沿って、対応する所望の測定の仮想測定を実施することによって、3Dモデルから抽出されてもよい。
【0054】
ステップ216からの2×P1×Q個の画像を、ステップ218からの1D測定値(「グラウンドトゥルースデータ」)と組み合わせることによって、ステップ220に示されるように、1つの3Dモデルのみから深層学習ネットワークを訓練するための複数(2×P1×Q)の訓練データを生成することが可能である。最後に、ステップ222で、訓練データセットは深層学習ネットワークの訓練で使用できる状態にある。
【0055】
図3は、本発明の一実施例による、3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー
図300を示している。ステップは、全体として、
図2のステップのより具体的な実施例であり、例えば、302は202に対応し、304は204に対応し、306は206に対応し、308は208に対応し、310は210に対応し、312は212に対応し、314は214に対応し、316は216に対応し、318は218に対応し、320は220に対応し、322は222に対応する。
【0056】
3D人体モデルに対する第1のタイプの拡張データの例としては、肌の色、顔の輪郭、髪型及び髪色、仮想衣服、及び照明条件が挙げられる。一実施例では、ステップ304で、対象者が有するかも知れない様々な肌の色の可能性を表す、複数(U)の肌の色が生成される。これらの肌の色は、人間の対象者に自然に存在する肌の色の範囲、並びに日焼け及びタトゥーなどの他の手段によって作られる色を包含してもよい。ステップ306で、ステップ304で生成された複数(U)の肌の色を3D身体モデル302に追加して、ステップ308で、様々な肌の色を含む複数(U)の拡張3D人体モデルが生成される。
【0057】
別の実施例では、ステップ304で、対象者が有するかも知れない様々な顔の輪郭の可能性を表す、複数(V)の顔の輪郭が生成される。かかる顔の輪郭は、例えば、目、鼻、頬、顎、下顎の線、口、及び額の形状を含んでもよい。顔の輪郭はまた、3D身体モデル302の身体形状とは独立している。ステップ306で、ステップ304で生成された複数(V)の顔の輪郭を3D身体モデル302に追加して、ステップ308で、様々な顔の輪郭を含む複数(V)の拡張3D人体モデルが生成される。
【0058】
別の実施例では、ステップ304で、対象者が有するかも知れない様々な髪型及び髪色を表す、複数(W)の髪型及び髪色が生成される。かかる髪型は、様々な長さの髪、様々な直毛レベル又は縮毛レベルの髪、様々なヘアカット、及び様々な禿段階の生え際を含んでもよい。かかる髪色は、人間の対象者に自然に存在する色(例えば、白、ブロンド、赤、茶、黒)、並びに染色などの他の手段によって生成される色(例えば、ピンク、青、緑、紫)を含んでもよい。ステップ306で、ステップ304で生成された複数(W)の髪型及び髪色を3D身体モデル302に追加して、ステップ308で、様々な髪型及び髪色を含む複数(W)の拡張3D人体モデルが生成される。
【0059】
別の実施例では、ステップ304で、タイトフィット、レギュラーフィット、ルーズフィットなどを含むがそれらには限定されない、対象者が着用するかも知れない様々なフィットの衣服の可能性を表す、複数(X)の仮想衣服が生成される。ステップ306で、ステップ304で生成された複数(X)の仮想衣服を3D身体モデル302に追加して、ステップ308で、様々な仮想衣服を含む複数(X)の拡張3D人体モデルが生成される。
【0060】
別の実施例では、ステップ304で、自然な太陽光、室内光、月光、カメラのフラッシュ光、街灯などを含むがそれらに限定されない、被験者の上にあるかも知れない様々な位置、角度、色、及び影を表す、複数(Y)の照明が生成される。ステップ306で、ステップ304で生成された複数(Y)の照明を3D身体モデル302に追加して、ステップ308で、様々な照明を含む複数(X)の拡張3D人体モデルが生成される。
【0061】
いくつかの実施例では、肌の色、顔の輪郭、髪型、及び照明の拡張は、画像修復技術を使用して実施される。例えば、部分畳み込み層のPyTorch実装が、https://github.com/NVIDIA/partialconvに記載されている。いくつかの実施例では、肌の色の拡張は、肌の色の統計に基づいて、顔レンダリングのRGB曲線を調節することによって実施されてもよい。統計は、例えば、一様分布又はガウス分布を含む、様々な分布に従ってもよい。
【0062】
ステップ316からの2×P1×Q個の画像(P1は、U、V、W、X、又はYのいずれかである)を、ステップ318からの1D測定値(「グラウンドトゥルースデータ」)と組み合わせることによって、ステップ320に示されるように、1つの3D身体モデルのみから深層学習ネットワークを訓練するための複数(2×P1×Q)の訓練データを生成することが可能である。最後に、ステップ322で、訓練データセットは深層学習ネットワークの訓練で使用できる状態にある。
【0063】
図4は、本発明の一実施例による、複数の3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー
図400を示している。フロー
図400は、複数(N)の3Dモデルに対する、
図2のフロー
図200の繰返し、即ちループを表す。したがって、以下のステップは互いに対応する。402は202に対応し、404は204に対応し、406は206に対応し、408は208に対応し、410は210に対応し、412は212に対応し、414は214に対応し、416は216に対応し、418は218に対応し、420は220に対応し、422は222に対応する。
【0064】
ステップ421で、ステップ420で完了したような単一の3Dモデルに対する訓練データセットの作成が、複数(N)の3Dモデルに対して複数回(N回)繰り返される。これにより、出力要素422に示されるように、N個のみの3Dモデルから、P
1×Q×N個(各拡張3Dモデルから2つの画像が生成される場合、2×P
1×Q×N個)の訓練データがもたらされる。訓練データ422は次に、
図8A及び
図8Bに関連して後述するように、深層学習ネットワークを訓練するのに使用されてもよい。
【0065】
図5は、本発明の一実施例による、複数のタイプの拡張データを用いて3Dモデルを拡張することによって、3Dモデルの空間特徴決定のために深層学習ネットワークを訓練する大量データセットを生成する一例のフロー
図500を示している。フロー
図500は、
図2のフロー
図200に類似しているが、後述するように、拡張ステップが繰り返され、即ちループされる。したがって、以下のステップは互いに対応する。502は202に対応し、504は204に対応し、506は206に対応し、508は208に対応し、510は210に対応し、512は212に対応し、514は214に対応し、516は216に対応し、518は218に対応し、520は220に対応し、522は222に対応する。
【0066】
ステップ504で、複数(P1)の選択肢を備える第1のタイプの拡張データが生成される。ステップ506で、3Dモデル502を各選択肢で拡張して、複数(P1)の第1段階の拡張3Dモデル111~114が生成される。ステップ507で、複数(P2)の選択肢を備える別のタイプの拡張データに対してステップ504及び506が繰り返され、複数(P1)の第1段階の拡張3Dモデル111~114を再び、複数(P2)の選択肢における各選択肢で拡張して、ステップ508で、複数(P1×P2)の第2段階の拡張3Dモデル121~126が生成される。ステップ507を、任意の有限回数(M)繰り返して、複数(P1×P2×P3×…×PM)の拡張3Dモデルが生成されてもよい。例えば、複数(U)の肌の色、複数(V)の顔の輪郭、複数(W)の髪型、複数(X)のタイプの仮想衣服、及び複数(Y)照明条件を有する3D人体モデルに対してステップ504~507を実行して(M=5)、それらの特徴の様々な組み合わせを有する複数(U×V×W×X×Y)の拡張3D身体モデルを生成する。
【0067】
ステップ514で、複数(Q1)の選択肢を備える第2のタイプの拡張データが生成され、複数(P1×P2×P3×…×PM)の2D画像131~132を、複数(Q1)の選択肢における各選択肢で拡張して、複数(P1×P2×P3×…×PM×Q1)の拡張2D画像141~144が生成される。ステップ515で、複数(Q2)の選択肢を備える別のタイプの拡張データに対してステップ512及び514が繰り返され、複数(Q1)の第1段階の拡張2D画像を再び、複数(Q2)の選択肢における各選択肢で拡張して、ステップ516で、複数(Q1×Q2)の第2段階の拡張2D画像が生成される。ステップ515を、任意の有限回数(L)繰り返して、複数(P1×P2×P3×…×PM×Q1×Q2×Q3×…×QL)の拡張2D画像が生成されてもよい。例えば、複数(Q1)の背景画像、複数(Q2)のノイズ条件、及び複数(Q3)のパースペクティブ歪みデータ条件を有する複数(P1×P2×P3×…×PM)の2D画像に対して、ステップ512~515を実行して(L=3)、それらの特徴の様々な組み合わせを有する複数(P1×P2×P3×…×PM×Q1×Q2×Q3)の拡張2D画像を生成する。
【0068】
図2~
図5に開示されるプロセスは組み合わされてもよいことに留意されたい。例えば、フロー
図400のステップ421における複数(N)の3Dモデルの繰返しは、第1のタイプの拡張データに対する繰返しステップ507(M回)、及び第2のタイプの拡張データに対する繰返しステップ515(L回)と組み合わされてもよい。他の組み合わせも本発明の範囲内である。
【0069】
一実施例では、
図2~
図5には図示されないが、各3Dモデルに対応する各対象者と関連付けられた1つ又は複数のユーザパラメータが受信されてもよい。3D人体モデルの場合、1つ又は複数のユーザパラメータは、身長、体重、性別、年齢、及び/又は各3D人体モデルの各対象者と関連付けられた追加の人口統計情報、並びにそれらの任意のサブセットを含んでもよい。例えば、一実施例では、ユーザパラメータはユーザの身長であり、別の実施例では、ユーザパラメータはユーザの身長及び体重である。一実施例では、これらのユーザパラメータは、各対象者と関連付けられたこれらの追加のユーザパラメータに対して、サイジング機械学習モジュールを訓練するのに使用されてもよい。一実施例では、サイジング機械学習モジュールは、3D人体モデルから抽出された1D身体測定値を含むグラウンドトゥルースデータ、及び3D人体モデルと関連付けられた1つ又は複数のユーザパラメータに対して訓練される。
【0070】
深層学習ネットワークのための訓練データの生成例
本発明の利益を理解するためには、訓練データセットを生成するための
図2~
図5に記載されるプロセスを、深層学習ネットワークを訓練するための、セグメント化された注釈付きの正面及び側面画像を生成するのに使用される、一般的なプロセスと比較することが有用である。その点に関して、
図6A及び
図7Aは、身体測定値決定のために深層学習ネットワークを訓練するのに、対象者の正面視写真に注釈を付ける例示の注釈プロセスを示し、
図6B及び
図7Bは、身体測定値決定のために深層学習ネットワークを訓練するのに、対象者の側面視写真に注釈を付ける例示の注釈プロセスを示しており、
図6A及び
図6Bはプロセスに対する入力画像(注釈前)、
図7A及び
図7Bはプロセスの出力画像(注釈後)である。特定のユーザ姿勢「Aの姿勢」が、
図6A、
図6B、
図7A、及び
図7Bに示されているが、Aの姿勢、手を身体に付けた姿勢、又は他の任意の姿勢など、任意の姿勢が本発明の範囲内にあることが、当業者には理解されるであろう。最適な姿勢は、身体から離れた脚及び腕がはっきり見える姿勢であろう。本発明の1つの利点は、人間が任意のタイプの背景の前に、ほとんどの任意の妥当な姿勢で立つことができる点である。人間は、空の背景の前に立つ必要はなく、又は写真を撮るための特別な手配をする必要もない。
【0071】
図6A、
図6B、
図7A、及び
図7Bは、セグメント化DLNを訓練するために、衣服の下の人体の1つ又は複数の特徴を背景から手動でセグメント化する注釈者、即ちオペレータの例示の
図610、620、710、及び720を示している。
図6A、
図6B、
図7A、及び
図7Bでは、注釈者は、衣服の下の身体に手動で注釈を付けている。人間は、他の人間を目にし、衣服の下にある彼らの体形を推測するという多くの経験を持っており、このデータは、未知の人間の新しい写真に対して同様の動作を自動的に実施するため、セグメント化DLNを訓練するのに使用される。
【0072】
図7A及び
図7Bは、全ての身体的特徴に注釈者が注釈を付けるのに成功した後の、背景からセグメント化された人体の身体的特徴の例示の図を示している。例示の
図710及び720において、破線は身体部分のセグメント化を表し、実線は身体部分測定値に対する注釈線を表す。他の実施例では、2つのタイプのセグメント化及び注釈を示すのに、他の目立つ印が使用されてもよい。注釈は、例えば、首の付け根又は胴体の頂部711及び721、上腕の付け根712及び722、ウェスト713及び723、並びに足首の頂部714及び724を特定している。
【0073】
更に、ユーザの身長にも注釈が付けられてもよい。例示の
図710及び720では、ユーザの最上部及び最下部がそれぞれ、ユーザの頭部の直上及びユーザの足の間の小さい円によって印付けられている。この身長情報は、例えば、他の測定値をピクセルから実世界の単位(例えば、cm)に換算するため、2D画像を正確に換算するのに使用されてもよい。このデータは、人間セグメント化DLNを訓練するのに使用される。
【0074】
図2~
図5に関して記載されるプロセスを使用して、
図7A及び
図7Bに記載されるような、セグメント化及び注釈データを手動で生成する非常に面倒なプロセスを自動化することができる。人間の注釈者が衣服の下の身体を背景から手動でセグメント化し、測定線に対応する注釈線を手動で追加しなければならない代わりに、
図2~
図5のプロセスを使用して、セグメント化及び注釈データを3Dモデルから自動で生成することができる。3Dモデルは、仮想衣服の下にある人間の輪郭線に対応するデータ、並びに測定線の注釈に対応するデータを既に包含している。このデータは、3Dモデルに潜在的に格納され、
図2~
図5に関して上述したように、3Dモデルから抽出し、大量の訓練データを生成するのに使用することができる。
【0075】
それに加えて、対応する1D測定値も3Dモデルから抽出されているので、このデータも、実際の人体測定値に対応する「グラウンドトゥルース」データとして使用することができ、それを使用して、やはり後述するサイジング機械学習モジュールを訓練することができる。
【0076】
したがって、本開示において教示される原理を使用して、衣服の下にある身体の手動セグメント化を回避すると共に、人体上の測定線の手動注釈も回避することが可能である。更に、本発明は、「グラウンドトゥルース」データを実際の人間のテーラーから得る必要性を軽減する。併せて、本発明は労力を大幅に削減し、深層学習ネットワークを訓練するのに有用な訓練データセットを収集し生成するプロセスから、多くの手動ステップが排除される。それに加えて、本発明において教示される原理によって、訓練データの量を大幅に拡大、即ち増加させることができる。3Dモデルの比較的小さいセットのみから、正面及び側面の写真の必要なしに、又は実際のテーラーがサンプル対象者を測定する必要なしに、大量の有用な訓練データが迅速かつ効率的に生成されてもよい。
【0077】
正面視及び側面視のみが
図6A、
図6B、
図7A、及び
図7Bに示されているが、所望の身体測定値のタイプに応じて、45度視、上面視など、他の任意の向きの視像が本発明の範囲内にあることを、当業者であれば認識するであろう。例えば、注文品の帽子を製造するのに使用される頭部測定値には、人間の頭の頂部からの上面写真が最適であろう。同様に、眼鏡、眼科器具などをサイジングするのに使用される顔の測定値には、正面の顔のみの写真が最適であろう。注文品の手袋、手用の注文品のPPE(個人用防護具)、注文品の爪などをサイジングするためには、人間の手の表及び裏のクローズアップ写真を使用することができる。
【0078】
生成されたデータセットによる深層学習ネットワークの訓練
深層学習ネットワークなどによって使用される任意の機械学習方法の出発点は、システム入力及び適正な成果(例えば、訓練データ)の複数のインスタンスを包含する文書化されたデータセットである。このデータセットは、パラメトリック分類方法、非パラメトリック方法、決定木学習、ニューラルネットワーク、帰納学習及び分析学習の両方を組み合わせた方法、並びに回帰モデルなどのモデル化方策など、標準化された機械学習方法を含むがそれらに限定されない、当該分野で知られている方法を使用して、機械学習システムを訓練し、訓練済みシステムの性能を評価し最適化するのに使用することができる。機械学習システムの出力の品質は、(a)パターンパラメータ化、(b)学習機械設計、及び(c)訓練データベースの品質に応じて決まる。これらの構成要素は、様々な方法を使用して改良し最適化することができる。例えば、データベースは、新しい文書化された対象者に対するデータセットを追加することによって改良することができる。データベースの品質は、例えば、カスタム化が1人又は複数の専門家によって遂行された事例をデータベースに投入することによって改善することができる。したがって、データベースは専門家の知識をより良好に表すようになる。一実施例では、データベースは、訓練済みシステムの評価を支援することができる、照合の例に対するデータを含む。
【0079】
したがって、本開示に記載するような深層学習ネットワークを訓練するために、様々なソースから取られた3Dモデルから訓練データを生成することで、深層学習ネットワーク訓練における最新技術は大幅に進歩するであろう。以下の記載は、上述したように大量の訓練データセットが生成された後、生成されたデータセットが深層学習ネットワークを訓練するのにどのように使用されるかについて記載する。
【0080】
図8Aは、本発明の一実施例による、測定値決定のために深層学習ネットワークを訓練する一例のフロー
図800を示している。複数(N)の3Dモデル、複数(M)のカテゴリの第1のタイプの拡張、複数(L)のカテゴリの第2のタイプの拡張、並びに2つの画像(正面及び側面)が、各拡張3Dモデルに対して取られる、一般化された事例について検討する。ステップ802で、
図2~
図5に関して記載したように、複数(2×P
1×P
2×P
3×…×P
M×Q
1×Q
2×Q
3×…×Q
L×N)の訓練データが生成される。ステップ804で、複数(2×P
1×P
2×P
3×…×P
M×Q
1×Q
2×Q
3×…×Q
L×N)の訓練データを使用して、セグメント化及び注釈の両方に対して深層学習ネットワークが訓練され、並びに更に詳細に後述するように、測定値抽出に関して機械学習モジュールが訓練される。最後に、ステップ806で、訓練済みセグメント化DLN、注釈DLN、及び機械学習モジュールが出力され、更に詳細に後述するように、身体測定値決定に利用される。
【0081】
要するに、
図2~
図5に記載したプロセスを利用した結果として、少数(N)のみの3Dモデルから、大幅に増加した訓練データ(2×P
1×P
2×P
3×…×P
M×Q
1×Q
2×Q
3×…×Q
L×N)が生成される。控えめな数のP
1、P
2、P
3、…、P
M、Q
1、Q
2、Q
3、…、Q
L、及びNの場合であっても、少数(N)の3Dモデルから非常に大きい訓練データセットが生成されてもよい。例えば、
図2~
図5で教示された原理を使用して、2つ(P
1)の異なる肌の色、2つ(P
2)の異なる顔の輪郭、2つの(P
3)異なる髪型、10(P
4)の異なるタイプの仮想衣服、2つ(P
5)の異なる照明条件、各拡張3Dモデルの2つの画像(正面及び側面)、100(Q
1)の異なる背景、並びに2つ(Q
2)の異なるノイズプロファイルのみを生成して、10,000個のみの3Dモデルから640,000,000の訓練データ点を生成することが可能であり、(2×2×2×2×10×2×100×2×10,000)、これは64,000の係数であり、又は訓練データセットのサイズは4.5倍程度に増加する。
【0082】
図8Bは、本発明の一実施例による、身体測定値決定のために深層学習ネットワークを訓練する別の詳細な一例のフロー
図850を示している。
図8Bは、本発明の例示的実施例に従って、身体測定値を生成するのに利用される、セグメント化DLN、注釈DLN、及びサイジングMLを訓練する例示のフロー図の
図850を示している。ステップ852で、1つ若しくは複数の写真又は生成された拡張2D画像が受信される。一実施例では、上述したように、正面視及び側面視の拡張2D画像が3Dモデルから生成され、システムは、生成された又は「仮想」の正面視及び側面視画像を、
図8Bに記載されるプロセスの残りを通して利用する。
【0083】
別の実施例では、写真は、ユーザデバイス(例えば、携帯電話、ラップトップ、タブレットなど)から得られてもよい。別の実施例では、写真はデータベース(例えば、ソーシャルメディアデータベース)から得られてもよい。別の実施例では、ユーザからの写真としては、ユーザの全身の正面視を示す写真及び側面視を示す写真が挙げられる。示されるように、一実施例では、画像は指定の距離(例えば、ユーザデバイスのカメラから約3.05m(約10フィート)の距離)で撮られてもよい。一実施例では、特定の姿勢(例えば、腕が所定の位置にある、脚を肩幅に開いている、背筋を伸ばしている、「Aの姿勢」など)を有するユーザの画像が撮られてもよい。別の実施例では、所与の位置の複数の画像(例えば、正面視及び側面視の写真)が撮られてもよく、各位置に対して平均画像が決定されてもよい。これは精度を高めるために実施されてもよい。別の実施例では、ユーザは、特定のタイプの背景(例えば、中立色、又は特定の背景画像を有する)の前に位置付けられてもよい。別の実施例では、正面視及び側面視の写真は、類似の照明条件(例えば、所与の明るさ、影など)の下で撮られてもよい。別の実施例では、正面視及び側面視の写真は、普通にフィットしている衣服(例えば、緩すぎずきつすぎない)を着用しているユーザの画像を含んでもよい。或いは、及び/又は加えて、正面視及び側面視の写真は、AIベースのアルゴリズム及び関連するプロセスの必要性に応じて、部分的に着衣した(例えば、シャツを着ていない)、又は異なるタイプのフィット(例えば、きつい、緩いなど)を有するユーザの画像を含んでもよい。
【0084】
ステップ854で、セグメント化された身体部分がセグメント化DLNを訓練するために受信される。一実施例では、上述したように、正面視及び側面視の画像は、3Dモデルからのデータを使用してセグメント化され、システムは、生成された「仮想」セグメント化画像を、
図8Bに記載されるプロセスの残りを通して利用する。
【0085】
別の実施例では、注釈者は、人間の直感を使用して、衣服の下の身体部分などの身体的特徴を手動でセグメント化してもよい。特に、身体のセグメント化は、衣服を除く人体を写真の背景から抽出するのに、人間によって実施されてもよい。例えば、写真を視覚的に編集し(例えば、なぞって色分けし)、またどの身体部分が写真のどの写真に対応するかを示して、衣服を除く人体を背景から抽出するのに、人間の注釈者が使用されてもよい。一実施例では、写真は、異なる環境で異なる衣服で、手を45度にした姿勢(「Aの姿勢」)を取っている人間を含んでもよい。身体の輪郭線は、任意の好適なソフトウェアプラットフォームで描写されてもよく、注釈を簡単にするのに周辺デバイス(例えば、スマートペン)を使用してもよい。別の実施例では、画像のプリントアウトが使用され、ペン/鉛筆を用いて手動でセグメント化されてもよく、セグメント化されたプリントアウトは、1つ又は複数のAIアルゴリズム(例えば、コンピュータビジョンベースのアルゴリズム)を使用して、システムによってスキャンされ認識されてもよい。
【0086】
ステップ855で、各身体部分に対する注釈線が注釈DLNを訓練するために受信される。一実施例では、上述したように、正面視及び側面視画像は、3Dモデルからのデータを使用して注釈が付けられ、システムは、生成された又は「仮想」注釈付きの正面視及び側面視画像を、
図8Bに記載されるプロセスの残りを通して利用する。
【0087】
別の実施例では、人間の注釈者は、人間の直感を使用して、衣服の下にある各身体的特徴の推定注釈(測定)線を描写してもよい。示されるように、正確な注釈線が人間の注釈者によって手動で描写されてもよい。注釈線は、任意の好適なソフトウェアプラットフォームで描写されてもよく、注釈を簡単にするのに周辺デバイス(例えば、スマートペン)を使用してもよい。別の実施例では、画像のプリントアウトが使用され、ペン/鉛筆を用いて手動で注釈が付けられてもよく、注釈が付けられたプリントアウトは、1つ又は複数のAIアルゴリズム(例えば、コンピュータビジョンベースのアルゴリズム)を使用して、システムによってスキャンされ認識されてもよい。
【0088】
ステップ856で、各身体的特徴に対する実際の人間の測定値が受信され、グラウンドトゥルースデータとして役立ってもよい。一実施例では、実際の人間の測定値は、上述したように、3D身体モデルから取られる1D測定値から決定される。別の実施例では、実際の人間の測定値は、人間のテーラーによって収集された測定値から決定される。実際の人間の測定値は、「グラウンドトゥルース」データとして使用され、システムによって使用される機械学習モジュールを訓練するのに使用されてもよい。例えば、実際の人間の測定値は、後述する機械学習モジュールと関連付けられる、誤差関数又は損失関数(平均二乗誤差、尤度損失、対数損失、ヒンジ損失など)を最小限に抑えるのに使用されてもよい。
【0089】
一実施例では、人間の測定値は、ユーザ入力(例えば、スマートフォンなどのユーザデバイスに対する入力)から受信されてもよい。別の実施例では、人間の測定値は、例えばウェブサイトを通して、ネットワーク(例えば、インターネット)から受信されてもよい。例えば、テーラーは、1つ又は複数の測定値をウェブサイトにアップロードしてもよく、システムは測定値を受信してもよい。示されるように、別の実施例では、実際の測定値は、後述するように、AIベースのアルゴリズム的結果(例えば、深層学習モデル)の精度を訓練及び/又は改善するのに使用されてもよい。
【0090】
ステップ858で、セグメント化DLNは、身体セグメント化又は身体的特徴抽出に対して訓練されてもよい。一実施例では、セグメント化DLNは、ステップ854で得られた人体セグメント化を使用して訓練されてもよい。例えば、セグメント化DLNは、ラベル付きデータ(例えば、ユーザ及び関連する実際の身体セグメント化の画像)を用いて表されてもよく、セグメント化DLN及び実際の身体のセグメント化の結果に基づいて、(例えば、上述したような損失関数から)誤差関数を決定してもよい。セグメント化DLNは、誤差関数の大きさを低減するように訓練されてもよい。
【0091】
別の実施例では、セグメント化DLNは、訓練及び試験セット(従来、訓練セット2/3及び試験セット1/3の指定)において、データ(例えば、対応するセグメント化を有する画像を含む全ての画像、及びセグメント化DLNを使用してセグメント化を抽出する基になり、対応するセグメント化を有さない画像)を分割してもよく、試験セットに対するセグメント化DLNモデルの性能を評価してもよい、ホールドアウト法のような精度推定技術により有効化されてもよい。別の実施例では、データをkのサブセットに無作為に分割し、データのk-1のインスタンスがセグメント化DLNモデルを訓練するのに使用され、k番目のインスタンスがセグメント化DLNモデルの予想能力を試験するのに使用される、N分割交差検証方法が使用されてもよい。ホールドアウト及び公差検証方法に加えて、データセットからの差替えを有するn個のインスタンスをサンプリングして、セグメント化DLNモデルの精度を査定することができる、ブートストラップ法が使用されてもよい。
【0092】
ステップ860で、各身体的特徴に対する1つ又は複数の注釈DLNが訓練されてもよく、或いは、全身に対して単一の注釈DLNが訓練されてもよい。例えば、16個の異なる身体部分にそれぞれ対応する、16個の注釈DLNが訓練されてもよい。一実施例では、注釈DLNは、ステップ856で得られた注釈を使用して訓練されてもよい。例えば、注釈DLNは、ラベル付きデータ(例えば、線注釈を有するユーザの画像)を用いて表されてもよく、注釈DLN及び実際の注釈の結果に基づいて、(例えば、上述したような損失関数から)誤差関数を決定してもよい。注釈DLNは、誤差関数の大きさを低減するように訓練されてもよい。
【0093】
別の実施例では、注釈DLNは、具体的には、例えば腕、脚、首など、特定の身体部分の特定の身体的特徴から注釈線を描写するように訓練されてもよい。別の実施例では、各身体的特徴に対する注釈DLNの訓練は、連続して(例えば、関連する身体的特徴のグループが次々に訓練される階層的形式で)又は並行して実施されてもよい。別の実施例では、異なる訓練データセットが異なる注釈DLNに使用されてもよく、異なる注釈DLNは異なる身体的特徴又は身体部分に対応する。一実施例では、計算リソースに応じて、例えば、16個の身体部分に対して16個よりも多数又は少数のDLNがあってもよい。別の実施例では、注釈DLNの訓練は、後述するように、少なくとも部分的にクラウド内で実施されてもよい。
【0094】
任意に、ステップ860で、各身体的特徴に対する1つ又は複数のサイジングMLモジュールが訓練されてもよく、或いは、全身に対して単一のサイジングMLモジュールが訓練されてもよい。一実施例では、サイジングMLモジュールは、ステップ856で得られた測定値を使用して訓練されてもよい。例えば、サイジングMLモジュールは、ラベル付きデータ(例えば、注釈線長さ及び関連する実際の測定値データ)を用いて表されてもよく、サイジングMLモジュール及び実際の測定値の結果に基づいて、(例えば、上述したような損失関数から)誤差関数を決定してもよい。サイジングMLモジュールは、誤差関数の大きさを低減するように訓練されてもよい。
【0095】
別の実施例では、サイジングMLモジュールは、具体的には、例えば腕、脚、首など、特定の身体部分の特定の身体的特徴から測定値を抽出するように訓練されてもよい。別の実施例では、各身体的特徴に対するサイジングMLモジュールの訓練は、連続して(例えば、関連する身体的特徴のグループが次々に訓練される階層的形式で)又は並行して実施されてもよい。別の実施例では、異なる訓練データセットが異なるサイジングMLモジュールに使用されてもよく、異なるサイジングMLモジュールは異なる身体的特徴又は身体部分に対応する。一実施例では、計算リソースに応じて、例えば、16個の身体部分に対して16個よりも多数又は少数のサイジングMLモジュールがあってもよい。別の実施例では、サイジングMLモジュールの訓練は、後述するように、少なくとも部分的にクラウド内で実施されてもよい。
【0096】
ステップ862で、訓練済みセグメント化DLN、注釈DLN、及び任意にサイジングMLモジュールが、身体測定値決定において使用するのに出力されてもよい。特に、ステップ858で訓練されたセグメント化DLNが、身体的特徴のセグメント化で使用するのに出力される。同様に、ステップ860で訓練された1つ又は複数の注釈DLNが、身体的特徴の注釈のために出力される。最後に、任意に、ステップ860で訓練されたサイジングMLモジュールが、身体的特徴の測定値決定のために出力される。
【0097】
訓練済み深層学習ネットワークの評価
図9A及び
図9Bは、深層学習ネットワーク(DLN)が訓練された後の、身体測定値決定のためにDLNを利用する、サンプル3Dモデルのサンプル2D画像(それぞれ、正面視及び側面視)に対する例示のテストランを示している。上述したように、
図6A及び
図6Bは、身体測定値決定のために深層学習ネットワークを訓練する、対象者の正面視写真及び側面視写真に注釈を付けるための、例示的な注釈プロセスの入力画像である。同じ
図6A及び
図6Bを、身体測定値決定のためのサンプル2D画像に対する例示のテストランの入力画像として考慮する。上述したように、特定のユーザ姿勢「Aの姿勢」が、
図6A、
図6B、
図9A、及び
図9Bに示されているが、Aの姿勢、手を身体に付けた姿勢、又は他の任意の姿勢など、任意の姿勢が本発明の範囲内にあることが、当業者には理解されるであろう。最適な姿勢は、身体から離れた脚及び腕がはっきり見える姿勢であろう。
【0098】
テストランが完了した後、DLNは、身体測定値決定と関連付けられた注釈マークを有するサンプル3Dモデルの正面及び側面をそれぞれ示す、例示の
図930及び940を出力する。例示の
図930及び940では、全て衣服の下で決定される、首の幅931及び941、腕の縁932及び942、手首の縁933及び943、胴体の縁934及び944、インシームの頂部935及び945、並びに足首の頂部936及び946など、かかるいくつかの注釈マークが示される。
【0099】
例示の
図710及び720と同様に、ユーザの身長も注釈が付けられてもよい。例示の
図930及び940では、ユーザの最上部及び最下部がそれぞれ、ユーザの頭部の直上及びユーザの足の間の小さい円によって印付けられている。この身長情報は、例えば、他の測定値をピクセルから実世界の単位(例えば、cm)に換算するため、2D画像を正確に換算するのに使用されてもよい。
【0100】
図9Cは、
図9A及び
図9Bからのサンプル2D画像に対する例示のテストランの結果を示している。結果は、例示の表950として表示され、第1列は3Dモデル上で特定された身体部分を示し、第2列はそれらの身体部分に対して決定されたサイジング結果を示す。身体部分は、例えば、首(周囲)、肩(幅)、袖(長さ)、手首(周囲)、及びウェスト(周囲)を含んでもよい。例示の表950では、セル951の身体部分「首」は、セル952ではサイズ「33.2227[cm]」であると示されている。身体部分はまた、特定の3Dモデルに適したパンツのアウトシーム及びインシームなど、物理的な身体部分から推論される衣服の測定値を含んでもよい。いくつかの実施例では、サイジング結果は、平均二乗誤差を低減する最良点推定(MSE推定)を表す。いくつかの実施例では、テストランはまた、サイジング結果に対する信頼区間を含んでもよい(図示なし)。本発明のテストランでは、1cm未満(<1cm)の精度が達成されている。
【0101】
例示の第1のタイプの拡張データ
最初に、第1のタイプの拡張データ(例えば、顔拡張)がなぜ必要であるか?一般的なデータセットでは、例えば、一般的な3D身体データセットが3D身体モデルから生成され、多くの3D身体形状モデルが利用可能なので、各レンダリング画像は多くの身体形状を有する。しかしながら、所与のベースメッシュに応じて、いくつかのみ、一般的には2つ又は3つの顔パターンがある。所与のベースメッシュは、3Dスキャンされた身体データをラップする統合メッシュである。したがって、仮想深層学習データセット生成では、肌、顔、髪、及び他の第1のタイプの拡張が必要である。次にこれらについて考察する。
【0102】
肌の拡張
肌の拡張に関して、本発明に従って様々な実現例が可能である。一実施例では、現在の生成システムは肌の色の拡張を有する。肌の拡張は、一実施例では、更に詳細に後述するように、肌の拡張のシェーダコードによって実現される。シェーダは、3Dグラフィックスプログラムのシェーディングプログラムであり、シェーダは、肌の色を黒から白に、並びにそれらの間の色に変更するのに使用することができる、ランダムRGB曲線を有する。肌の拡張は、3Dモデルのレンダリング中にプログラム的に行われる。一実施例では、スクリプトは、例えば、一様、ガウス、又は他の分布を使用して、肌の色の統計に基づいてシェーダのRGB曲線を変更する。
【0103】
例えば、表1に示されるスクリプトは、一様分布を使用して肌の色の拡張を生成するのに使用することができる。
【0104】
【0105】
図10は、肌の色合いを含む第1のタイプの拡張データを生成する、例示のプロセス1000を示している。このプロセスは、
図2のステップ202~208、
図3のステップ302~308、
図4のステップ402~408、及び
図6のステップ502~508を参照する。最初に、ステップ1002で、3Dモデルが受信される。ステップ1004で、肌の色の統計が受信される。肌の色の統計は、肌の色の範囲(赤緑青のRGB値としてレンダリングされる)、範囲内の色の量子化、量子化によって量子化される範囲内の肌の色それぞれを有する個々人の相対確率などの情報を含む。いくつかの実施例では、これらの肌の色の統計は世界の人口全体に対応する。他の実施例では、これらの肌の色の統計は、特定の国、地域、又は民族の人口に対応する。他の実施例では、これらの肌の色の統計は、日焼け、タトゥー、又は人間の肌の色に対する他の天然若しくは人工の変更を考慮に入れる。
【0106】
ステップ1006で、関連する確率により色範囲内で無作為の肌の色を選択することによって、肌の色の統計から肌の色が生成される。ステップ1008で、ステップ1002において受信された3Dモデルが、生成された肌の色で拡張されて、ステップ1010で選択された肌の色を有する拡張3Dモデルが生成される。
【0107】
一実施例では、肌の拡張は、シェーダを使用した肌のモデルレンダリング、又は上述したような3Dグラフィックプログラムのシェーディングプログラムの間に、プログラム的に実施されてもよい。シェーダは、スクリプトがプログラム的に調節してもよい肌の色の統計に基づいた、赤緑青(RGB)曲線を有してもよい。例えば、最初に色特徴がプログラム的に選択される。スクリプトが色特徴の値を調節することを選択すると、特定の基本色(シアン、赤、緑、青)が、RGB曲線を有する色チャートを使用してスクリプトによってプログラム的に選択され、特定の色点が選択される。スクリプトは、色点をプログラム的に循環して、様々な皮膚の色合い又は色を生成することができる。スクリプトは次に、選択された肌の色をモデルの表面にプログラム的に適用することができる。
【0108】
顔の拡張
一実施例では、顔の拡張は、1)第一に、目、鼻、及び口がマスクされた画像をレンダリングし、2)第二に、部分畳み込み深層学習ネットワークをマスク画像に適用し、顔拡張画像を得ることによって、部分畳み込み深層学習ネットワークを使用して実現されてもよい。したがって、いくつかの顔のばらつきのみを含む限定された数の3D身体モデルから、現実的な顔を有する多数の現実的にレンダリングされた人間を得ることが可能である。
【0109】
図11は、顔の拡張を含む第1のタイプの拡張データを生成する例示のプロセス1100を示している。特に、顔の拡張は、対象者が有することがある顔の輪郭、例えば、目、鼻、頬、顎、下顎の線、口、及び額の形状を備えてもよい。顔の輪郭はまた、3D身体モデルの身体形状とは独立している。プロセス1100で、入力顔マスク1101が選択され、目1110などの拡張される特徴が選択される。目1160などの選択された特徴が追加された拡張された顔を備える、出力顔1151が生成される。
【0110】
図12は、顔の拡張を含む第1のタイプの拡張データを生成するプロセス1200のフローチャートを示している。ステップ1210で、3D人体モデルが受信される。ステップ1220で、目1221及び口1222などの特徴を有する顔マスクが受信される。ステップ1230で、部分畳み込み深層学習モデルが適用されて、顔マスクが3D人体モデルと組み合わされる。いくつかの実施例では、部分畳み込み深層学習モデルは、https://arxiv.org/abs/1804.07723及びhttps://github.com/NVIDIA/partialconvにおいて利用可能なGuilin Liuらの「Image Inpainting for Irregular Holes Using Partial Convolutions」によって記載されているように実現され、それらの開示全体を本明細書に十分に記載されているものとして参照により本明細書に組み込む。この方策は部分畳み込みを利用し、畳み込みは、有効なピクセルのみに対して既定されるようにマスクされ再び正規化される。前方パスの一部として、次のレイヤに対して更新されたマスクを自動的に生成するメカニズムが提供される。結果として得られる顔は、本明細書に記載するように、裸の3D身体モデルに対して拡張される。
【0111】
髪の拡張
他のものとは独立して又は部分的に依存して使用することができる、別のカテゴリの第1のタイプの拡張データは、髪の拡張を含む。髪の拡張は、様々な髪型、髪色、髪の質感、及び顔又は身体を部分的に覆う髪を含んでもよい。いくつかの実施例では、髪の拡張は自動髪アルゴリズムによって実施されてもよい。いくつかの実施例では、自動髪アルゴリズムは、http://www.kunzhou.net/2016/autohair.pdfにおいて利用可能なMenglei Chaiらの「AutoHair:Fully Automatic Hair Modeling from A Single Image」によって記載されているように実現され、その開示全体を本明細書に十分に記載されているものとして参照により本明細書に組み込む。最初に、入力としての単一の画像を所与として、AutoHairパイプラインは、髪のセグメント化を指示マップと共に生成する。この情報は次に、事前計算された3D髪モデルの模範と組み合わされて、本明細書に記載するように、裸の3D身体モデルに対して拡張されてもよい、最終的なストランドレベルの髪モデルが生成される。
【0112】
光の拡張
光の拡張は、3Dオブジェクトが結像又は撮影される、様々な照明条件をシミュレートすることを含んでもよい。例えば、光源の角度は影に影響し、光源の色は対象者及び周囲のオブジェクトの色に影響し、低照明条件は身体的特徴の縁部を決定する精度に影響するであろう。深層学習ネットワークを訓練するための追加の現実的なデータセットを生成するために、肌のシェーダを使用して肌の色を拡張するのに上記で用いたプロセスと同様の形で、これらの照明条件が全て循環され、第1のタイプの拡張データが生成されてもよい。
【0113】
仮想衣服の拡張
他の第1のタイプの拡張データはまた、それらに限定されるものではないが、上述したように、写真が撮られるときに実際の人間が着用することがある様々な衣服を例示する、様々な仮想衣服を含む。
図6A、
図6B、
図7A、
図7B、
図9A、及び
図9Bは、サンプル3Dベースメッシュ身体モデルに追加される、様々な仮想衣服モデルを示している。
【0114】
互いに独立して又は部分的に依存して、他のカテゴリの第1のタイプの拡張データが可能である。他の第1のタイプの拡張データも本発明の範囲内にあり、本発明は、本明細書に図示され記載される例示の第1のタイプの拡張データに限定されない。
【0115】
例示の第2のタイプの拡張データ
背景の拡張
図2を参照して上述したように、いくつかの実施例では、第2のタイプの拡張データは、例えば複数(Q)の背景画像であってもよい。背景画像は、実際の環境で対象者によって観察されることがある、様々な背景の可能性を表す。背景画像は、様々な照明、影、局所性、及び身体測定値などの空間特徴を取っている対象者に典型的である、他の背景条件を表すものであるべきである。様々な背景は、特に上述したようなセグメント化深層学習ネットワークにおいて、深層学習ネットワークの訓練を最適化するように選択されるべきである。
【0116】
ノイズの拡張
他の実施例では、第2のタイプの拡張データは、例えば、ホワイトノイズ又は他のタイプのランダムノイズであってもよい。これは、不完全な画像捕捉及び他の環境条件に対して、深層学習ネットワークをより強固にレンダリングするのに有用なことがある。ノイズは、例えば、ガウス又は一様分布などの選択された確率分布に従って、乱数発生器によって生成されてもよい。他の実施例では、ノイズは実生活環境のノイズの測定値から生成されてもよい。例えば、かかるノイズは、カメラレンズのほこり、写真が撮られるときの環境の煙若しくは霧、又は外光(例えば、カメラレンズ内に直接反射される太陽光)から生じることがある。
【0117】
パースペクティブ歪みの拡張
他の実施例では、第2のタイプの拡張データは、例えば、パースペクティブ歪みデータであってもよい。固定の地点から3Dオブジェクト又はシーンの2D画像が撮られるとき、近距離及び遠距離の特徴の相対換算により、2D画像が無限の距離から撮られた場合にオブジェクトが見えるだろうもの(即ち、3Dオブジェクトの2D投影)とは大幅に異なる、オブジェクト若しくはシーンのワーピング又は変換がある。ワーピング又は変換は、固定点からの距離及び角度の変更に基づいて、特徴の相対サイズを歪ませることを含む。パースペクティブ歪みデータは、2D投影画像を、特定の地点から画像が撮られた場合にそうなるであろうものに変更する情報を含む。したがって、パースペクティブ歪みデータを使用して、様々な焦点から撮られた写真をシミュレートする複数の2D画像を生成することで、実生活の写真で生じるワーピング及び変換を補正するように、DLNが訓練される。
【0118】
他の第2のタイプの拡張データも本発明の範囲内にあり、本発明は、本明細書に図示され記載される例示の第2のタイプの拡張データに限定されない。
【0119】
身体測定値のための深層学習ネットワーク及び機械学習
上述したように、合成された訓練データを使用して深層学習ネットワークが訓練されると、自然な環境で撮られた2D写真からの正確な測定値決定に使用することができる。例えば、一実施例では、訓練済み深層学習ネットワークが、一般的な条件下で人間の対象者を撮った2D写真の非常に正確な身体部分測定値のために使用されてもよい。正確な測定値決定のために訓練済み深層学習ネットワークを利用するプロセスについて、次に記載する。
【0120】
図13は、本発明の一実施例による、(別個のセグメント化DLN、注釈DLN、及びサイジングMLモジュールを使用する)身体測定値決定のための、深層学習ネットワークの例示のアーキテクチャ1300を示している。一実施例では、正面及び側面画像は1302でユーザから受信される。
【0121】
受信された正面及び側面画像は、最初に1304で前処理される。いくつかの実施例では、パースペクティブ補正など、ユーザの1つ又は複数の画像に対する前処理は、必要な場合、正面視及び側面視写真に対して実施されてもよい。例えば、システムは、OpenCV、即ちオープンソースマシンビジョンライブラリを使用してもよく、正面視及び側面視写真における頭部の特徴並びにユーザの身長を、パースペクティブ補正の参照として利用してもよい。このように、本開示の実施例は、胴体長さ及び脚の長さなど、身体の長さの比に異常がない限り、不正確な測定値の決定を回避してもよい。任意に、カメラが撮影される人間に対してどこに位置付けられるかを示すパースペクティブ側面写真は、システムがカメラとユーザとの間の距離を計算するのを可能にすることによって、より更に正確なパースペクティブ補正をもたらしてもよい。いくつかの実施例では、システムは代わりに、ユーザデバイス(又は、取り付けられたコンピュータデバイスなど、ユーザデバイスに接続された周辺デバイス)によって提供されるジャイロスコープデータを使用して、写真のパースペクティブ角度を検出し、この写真のパースペクティブ角度に基づいてパースペクティブ補正を実施してもよい。
【0122】
1つ又は複数の画像を更に前処理するのに、様々なコンピュータビジョン技術が利用されてもよい。追加の前処理ステップの例は、それらに限定されるものではないが、コントラスト補正、照明補正、及び更に処理する前に1つ又は複数の画像の品質を改善する、他の画像処理技術を含んでもよい。
【0123】
前処理後、前処理された画像は、1306で、セグメント化DLNに送られて、人体部分を背景からセグメント化するセグメント化マップが生成される。セグメント化マップは、1314で、データの残りと共に集約される。セグメント化と並行して、一実施例では、前処理された画像は、1308で、注釈DLNにも送られて、注釈測定線が生成される。注釈マップは、1314で、データの残りと共に集約される。注釈マップは、一実施例では、サイジング機械学習(ML)モジュール1310に提供されて、各注釈線を測定することによってセグメント化され注釈が付けられている各身体的特徴に対して、身体的特徴測定値が生成される。サイジング結果は、1314で、データの残りと共に集約される。サイジング結果は、1312で、本明細書に記載するような様々な用途のため、1つ又は複数の外部システムに出力される。最後に、1314で集約されている、集約され構造化されたデータ、(1)前処理された正面及び側面画像、(2)セグメント化マップ、(3)注釈マップ、並びに(4)サイジング結果は全て、1316で、更なるDLN訓練のためにデータベースに格納される。
【0124】
図14は、本開示の例示の実施例による、身体測定値決定動作のための例示のフロー1400の図を示している。本発明のいくつかの実施例では、コンピュータビジョン技術及び深層学習は、ユーザの身長及び場合によっては体重、性別、年齢などの他のユーザパラメータに加えて、ユーザの1つの正面視写真及び1つの側面視写真に適用され、
図2~
図5のプロセスに従って生成されるような、セグメント化され注釈が付けられた訓練データに対して訓練されている1つ又は複数の深層学習ネットワークを使用して、身体測定値全体を生成する。より多くのデータがシステムによって収集されるにつれて、身体測定値の精度が自動的に改善される。任意に、また他のいくつかの実施例によれば、パースペクティブ補正、人間背景減算、骨格検出、及び3Dモデル整合の方策が、コンピュータビジョン技術を利用して、深層学習アプローチからの低信頼度の身体測定値を改善するのに使用される。
【0125】
プロセス全体1400は、ステップ1402で始まり、正規化又は換算を実施するために、ユーザの身長などの正規化データ(1つ又は複数のユーザパラメータ)が取得され、生成され、及び/又は測定される。別の実施例では、身長と併せて体重も使用されてもよい。両方のユーザパラメータは、自動的に(例えば、コンピュータビジョンアルゴリズムを使用して、又は1つ若しくは複数のデータベースからマイニングされて)決定されるか、或いはユーザから決定されてもよい(例えば、ユーザ入力)。一実施例では、これらのユーザパラメータから体格指数(BMI)が計算されてもよい。BMIは、体重及び身長の両方を使用する、身体測定値抽出を校正するのに使用されてもよい。追加のユーザパラメータは、中でも特に、身長、体重、性別、年齢、人種、出生国、活動性、及び/又はユーザと関連付けられる他の人口統計情報の少なくとも1つを含んでもよい。ユーザの身長は、正面視及び/又は側面視写真を正規化、即ち換算し、写真の人間に対する基準を提供するのに使用される。体重、BMI指数、年齢、性別など、他のユーザパラメータが、身体サイジング測定値を最適化する、システムへの追加入力として使用される。一実施例では、他のユーザパラメータも、ユーザデバイスから、1つ若しくは複数の第三者データソースから、又はサーバから自動的に得られてもよい。
【0126】
ステップ1404で、1つ又は複数のユーザ写真が受信されてもよく、例えば、所与のユーザの少なくとも1つの正面視及び/又は側面視写真が受信されてもよい。別の実施例では、写真は、ユーザデバイス(例えば、携帯電話、ラップトップ、タブレットなど)から得られてもよい。別の実施例では、写真はデータベース(例えば、ソーシャルメディアデータベース)から得られてもよい。別の実施例では、ユーザ写真としては、ユーザの全身の正面視を示す写真及び側面視を示す写真が挙げられる。いくつかの実施例では、正面視など、1つの写真のみが利用され、正確な身体測定値抽出を実施するのに1つの写真で十分である。更に他の実施例では、3つ以上の写真が利用され、いくつかの実施例では、正面視写真、側面視写真、及び45度の角度で撮られた写真を含む。ユーザ写真の他の組み合わせは、当業者によって認識されるように、本発明の範囲内である。いくつかの実施例では、ユーザビデオ、例えばユーザの正面視、90度視、180度視、又は更には360度視が受信されてもよい。ユーザビデオから、ユーザの正面視、側面視、及び/又は45度視など、1つ又は複数の静止画像又は写真フレームがビデオから抽出され、以下のプロセスで使用される。ステップ1402及び1404は、本発明の様々な実施例において任意の順序で実施されてもよく、又は2つのステップが並行して実現されてもよい。
【0127】
一実施例では、システムは、以下のステップと関連して更に後述するように、写真及び正規化データを使用して、身体測定値を(例えば、1つ又は複数のAIアルゴリズムを使用して)自動的に計算してもよい。一実施例では、ユーザはまた、より正確な結果のため、ユーザがきつい、普通の、又は緩い衣服を身に付けているかを示してもよい。
【0128】
一実施例では、画像は指定の距離(例えば、ユーザデバイスのカメラから約3.05m(約10フィート)の距離)で撮られてもよい。一実施例では、特定の姿勢(例えば、腕が所定の位置にある、脚を肩幅に開いている、背筋を伸ばしている、「Aの姿勢」など)を有するユーザの画像が撮られてもよい。別の実施例では、所与の位置の複数の画像(例えば、正面視及び側面視の写真)が撮られてもよく、各位置に対して平均画像が決定されてもよい。これは精度を高めるために実施されてもよい。別の実施例では、ユーザは、特定のタイプの背景(例えば、中立色、又は所定の背景画像を有する)の前に位置付けられてもよい。いくつかの実施例では、ユーザは任意のタイプの背景の前に位置してもよい。一実施例では、正面視及び側面視の写真は、類似の照明条件(例えば、所与の明るさ、影など)の下で撮られてもよい。別の実施例では、正面視及び側面視の写真は、普通にフィットしている衣服(例えば、緩すぎずきつすぎない)を着用しているユーザの画像を含んでもよい。或いは、又は加えて、正面視及び側面視の写真は、AIベースのアルゴリズム及び関連するプロセスの必要性に応じて、部分的に着衣した(例えば、シャツを着ていない)、又は異なるタイプのフィット(例えば、きつい、緩いなど)を有するユーザの画像を含んでもよい。
【0129】
ステップ1406で、セグメント化DLNとして知られる第1の深層学習ネットワーク(DLN)を使用して、人間の身体部分(例えば、首、腕、脚など)などの身体的特徴が、画像から抽出されてもよい。一実施例では、「深層学習」は、ニューラルネットワークの後にモデル化された、特徴抽出及び変換のため、非線形処理ユニットの複数層のカスケードを使用する、機械学習アルゴリズムの分類を指してもよい。一実施例では、連続層は前の層からの出力を入力として使用してもよい。一実施例では、「深層学習」における「深層」は、データを変換する層の数を指してもよい。身体的特徴抽出、即ち身体セグメント化の一例が、
図6A、
図6B、
図7A、及び
図7Bを参照して説明され示されている。
【0130】
実際のユーザからのデータに対してこのセグメント化ステップを実施する前に、システムは最初に、例えば、異なる環境で異なる衣服を着て姿勢を取る人間のサンプル写真に対して、又は
図2~
図5に関連して記載した訓練データ生成プロセスを利用することによって、訓練されていてもよい。いくつかの実施例では、ディープニューラルネットワーク、ディープビリーフネットワーク、及び/又は回帰型ニューラルネットワークなど、任意の好適な深層学習アーキテクチャが使用されてもよい。別の実施例では、深層学習アルゴリズムは、教師あり(例えば、分類)及び/又は教師なし(例えば、パターン分析)方式で学習してもよい。更に、深層学習アルゴリズムは、画像において符号化された情報(例えば、身体、身体部分など)の異なるレベルの抽象化に対応する、複数のレベルの表現を学習してもよい。別の実施例では、画像(例えば、正面及び側面写真)はピクセルのマトリックスとして表されてもよい。例えば、一実施例では、深層学習ネットワークの第1の表現層は、ピクセルを抽象化しエッジを符号化してもよく、第2の層はエッジの配置を構成し符号化してもよく、第3の層は鼻及び目を符号化してもよく、第4の層は、画像が顔などを含むことを認識してもよい。
【0131】
一実施例では、セグメント化DLNアルゴリズムは、上述の
図8Bに関して記載したように、セグメント化訓練データを用いて訓練されてもよい。いくつかの実施例では、セグメント化訓練データは、手動でセグメント化された身体的特徴を有するか、又は
図2~
図5に関連して記載した訓練データ生成プロセスを利用することによって生成された、数千のサンプルの人間を含んでもよい。いくつかの実施例では、訓練データは、例えばCATスキャン、MRIスキャンなどからの医療データを含む。いくつかの実施例では、訓練データは、3D身体スキャナからの3D身体スキャン及び「グラウンドトゥルース」データを含む、以前のテーラー又は3D身体測定値からのデータを含む。いくつかの実施例では、
図2~
図5に関連して記載したように、正面視及び側面視写真が明示的に利用可能でない場合、3D身体スキャンは、近似的な正面視及び/又は側面視写真を抽出するのに使用されてもよい。いくつかの実施例では、グラウンドトゥルースデータは人間のテーラーが測定したデータを含み、他の実施例では、グラウンドトゥルースデータは、3D身体スキャンからの自動的に抽出された1D身体サイズ測定値を含む。
【0132】
ステップ1407で、ステップ1406で抽出された各身体部分の注釈線は、1つ又は複数の追加の深層学習ネットワーク(DLN)、例えば注釈DLNを使用して描写されてもよい。一実施例では、各身体部分に対して別個の身体的特徴注釈DLNがある。他の実施例では、全身に対して1つの身体的特徴注釈DLNがある。身体的特徴注釈の一例が、
図7A~
図7Bを参照して説明され示されている。
【0133】
一実施例では、システムは、注釈DLNなどのAIベースのアルゴリズムを使用することによって、例えば最初に、身体的特徴から得られた信号から注釈線を描写することにより、身体的特徴測定値を生成し抽出してもよい。各注釈線は、各身体的特徴に対して異なってもよく、異なるように描写されてもよい。例えば、上腕の幅及び周囲に関して、システムは、上腕位置の骨格線に垂直な線を描写してもよく、胸部の場合、システムは代わりに2つの胸部の点を接続してもよい。各身体的特徴の注釈から、身体的特徴測定値は次に、更に後述するように、1402で受信したユーザの身長に対して正規化することによって得られてもよい。
【0134】
実際のユーザからのデータに対してこの注釈ステップを実施する前に、システムは最初に、例えば、異なる環境で異なる衣服を着て姿勢を取る人間のサンプル写真に対して、又は
図2~
図5に関連して記載した訓練データ生成プロセスを利用することによって、訓練されていてもよい。セグメント化及び注釈DLNは、
図15に関連して更に詳細に後述される。
【0135】
ステップ1408で、1つ又は複数の機械学習アルゴリズム、例えばサイジング機械学習(ML)アルゴリズムを使用して、ステップ1407で描写された注釈線を有する、各身体部分に対して身体的特徴測定値が推定されてもよい。一実施例では、サイジングMLアルゴリズムはランダムフォレスト機械学習モジュールを含む。一実施例では、各身体部分に対して別個のサイジングMLモジュールがある。いくつかの実施例では、全身に対して1つのサイジングMLモジュールがある。一実施例では、システムは、ステップ1402で受信した身長を入力として使用して、身体的特徴のサイズを決定して、サイジング推定値を正規化してもよい。これを行うために、注釈DLNは、一実施例では、点が対象者の足の最下部を表し、別の点が対象者の頭部の最上部を表す、対象者の身長の位置を示す「全身」注釈線を描写する。この「全身」注釈線は、ステップ1402で提供された対象者の分かっている身長によって、他の注釈線を正規化するのに使用される。換言すれば、画像における対象者の身長が検出され、分かっている実際の身長と共に使用されて、全ての注釈線測定値が正規化される。このプロセスは、対象者の分かっている身長を正規化の標準測定値として使用する、「身長基準正規化」と考えられてもよい。分かっている高さの本、分かっているサイズの標準サイズの紙、分かっているサイズの標準的に発行されたクレジットカードなどを含むがそれらには限定されない、他の正規化因子が可能であり、本発明の範囲内にある。
【0136】
別の実施例では、体重、BMI指数、性別、年齢、及び/又はステップ1402で受信されるユーザと関連付けられた他の人口統計情報などであるがそれらに限定されない、追加のユーザ人口統計データが、
図15に関連して更に詳細に記載される、サイジングMLアルゴリズム(ランダムフォレストなど)に対する入力として使用される。
【0137】
システムはまた、各身体的特徴測定値に対する他のアルゴリズム、手段、及び中央値を使用してもよい。注釈DLN及びサイジングMLは、各身体的特徴に対する測定値に注釈を付け実施する、1つのサイジングDLNとして実現されてもよく、或いは、各身体的特徴に注釈を付ける注釈DLNと、注釈が付けられた身体的特徴に対して測定を実施する別個のサイジングMLモジュールとの、2つの別個のモジュールとして実現されてもよい。同様に、ステップ1406のセグメント化DLN、ステップ1407の注釈DLN、及びステップ1408のサイジングMLモジュールを実現する、様々な代替のアーキテクチャが可能である。例えば、
図13は、セグメント化DLN、注釈DLN、及びサイジングMLモジュールが別個のモジュールである、1つの可能なアーキテクチャに対応する。対照的に、代替のアーキテクチャ(
図13には図示なし)は、セグメント化DLN及び注釈DLNが組み合わされて単一の注釈DLN(セグメント化及び注釈の両方を有効に実施する)となり、サイジングMLモジュールがそれに続く。最後に、更に別の代替のアーキテクチャ(
図13には図示なし)は、セグメント化DLN、注釈DLN、及びサイジングMLモジュールが全て組み合わされて、セグメント化、注釈、及びサイズ測定の全ての機能を有効に実施する、単一のサイジングDLNとなる。
【0138】
ステップ1410で、各身体的特徴測定値の信頼レベルが、ステップ1408からのサイジングMLモジュールから、決定され、取得され、又は受信されてもよい。各身体的特徴に対する予測身体測定値を出力することに加えて、サイジングMLモジュールはまた、各予測身体的特徴測定値に対する信頼レベルを出力し、それが次に、後述するように、出力を改善するために他の任意の方策を利用すべきかを決定するのに利用される。別の実施例では、信頼レベルは信頼区間に基づいてもよい。特に、信頼区間は、未知の人口パラメータの真の値(例えば、身体部分の測定値)を含むことがある、観察されたデータ(例えば、画像データを符号化する正面及び側面写真)の統計から計算される、区間推定値のタイプを指してもよい。区間は、パラメータが区間内にある信頼レベルを定量化してもよい、関連する信頼レベルを有してもよい。より厳密にいえば、信頼レベルは、未知の人口パラメータの真の値を含む、可能な信頼区間の頻度(即ち、比率)を表す。換言すれば、信頼区間が有限数の独立したサンプル統計の所与の信頼レベルを使用して構築される場合、パラメータの真の値を含むそれらの区間の比率は信頼レベルに等しくなる。別の実施例では、信頼レベルは、データ(例えば、画像及びそこから抽出された測定値)を検査する前に指定されてもよい。一実施例では、95%の信頼レベルが使用される。しかしながら、他の信頼レベル、例えば90%、99%、99.5%などを使用することができる。
【0139】
様々な実施例では、信頼区間及び対応する信頼レベルは、有効性及び/又は最適性の決定に基づいて決定されてもよい。別の実施例では、有効性は、信頼区間の信頼レベルが正確であるか又は良好に近似していることを指してもよい。一実施例では、最適性は、信頼区間を構築するための規則がデータセットの情報(画像並びに抽出された特徴及び測定値)をできるだけ利用すべきであることを指してもよい。
【0140】
ステップ1412で、信頼レベルが所定の値よりも高いか否かが決定されてもよい。信頼レベルが所定の値よりも高いと決定された場合、プロセスはステップ1414に進み、高信頼度の身体的特徴測定値が出力されてもよい。信頼レベルが所定の値よりも低いと決定された場合、プロセスはステップ1416又はステップ1418に進んでもよい。ステップ1416及び1418は、深層学習アプローチが低い信頼度を有するそれらの身体的特徴に対する推定身体的特徴測定値を予測又は投影する、1つ又は複数の任意のフォールバックアルゴリズムの例示である。深層学習アプローチ(破線で図示)からの高信頼度の身体的特徴測定値、及び低信頼度の身体的特徴測定値に対する代替のフォールバックアルゴリズムからの投影された身体的特徴測定値は共に、後に合成されて、後述するような、高信頼度の身体的特徴測定値の完全なセットとなる。示されるように、別の実施例では、信頼レベルは、データ(例えば、画像及びそこから抽出された測定値)を検査する前に指定されてもよい。
【0141】
特に、ステップ1416及び1418で、他の任意のモデル(例えば、AIベース又はコンピュータビジョンベースのモデル)が適用されてもよい。ステップ1416で、また1つの任意の実施例によれば、3D人間モデル照合アルゴリズムが適用されてもよい。例えば、システムは、最初に、OpenCV及び/又は深層学習技術を利用して、人体を背景から抽出してもよい。抽出された人体は次に、身体的特徴測定値を得るために、1つ又は複数の分かっている3D人間モデルと照合される。この技術、及び既存の3D身体スキャンのデータベース、例えば数千の3D身体スキャンのデータベースを使用して、システムは、検出された最も近い身体を3D身体スキャンの点と照合してもよい。最も一致する3Dモデルを使用して、システムは次に、身体的特徴測定値を3Dモデルから抽出してもよい。
【0142】
或いは、及び/又は加えて、ステップ1418で、骨格/関節位置モデルなどの他のモデルが適用されてもよい。一実施例では、姿勢検出のためのオープンソースアルゴリズムであるOpenPose(更に後述する)を使用して、骨格/関節検出が実施されてもよい。骨格及び関節の位置を取得するこの技術を使用して、システムは次に、必要に応じて追加の深層学習ネットワーク(DLN)を使用して、ユーザの写真上に描写された骨の中間の位置を示して様々な主要骨格構造を示し、肩、首、及び腕などの様々な身体部分がどこにあるかを示す、適切な点の間の線を描写してもよい。この情報から、身体的特徴測定値が適切な線から取得されてもよい。例えば、肩及び手首を接続する線が腕の長さを決定するのに使用されてもよい。
【0143】
一実施例では、3Dモデルアルゴリズム及び骨格/関節位置モデルは次のように組み合わされる(ただし、これは
図14には明示されない)。既存の3D身体スキャンのデータベース、例えば数千の3D身体スキャンのデータベースを使用して、システムは、最も近い骨格検出を3D身体スキャンの骨格点と照合して、様々な主要骨格構造を示す骨の位置を示す点及び線を示して、肩、首、及び腕などの様々な身体部分がどこにあるかを示してもよい。最も一致する3Dモデルが照合されると、システムは、身体的特徴測定値を3Dモデルから抽出してもよい。
【0144】
どちらか又は両方の例において、ステップ1420で、又はステップ1422で、又は両方で、高信頼度の身体的特徴測定値が投影(例えば、推定)されてもよい。特に、高信頼度の身体的特徴測定値の推定は、第1の低信頼度の深層学習プロセス(例えば、上記のステップ108と関連して示され記載されたもの)とは異なるプロセスを使用して実施されてもよい。
【0145】
この方策の1つの有利な特徴は、ステップ1414からの高信頼度の身体的特徴測定値(破線として図示)が、他のモデルの、例えば、ステップ1416の3D人間モデルアルゴリズム及びステップ1418の骨格/関節位置モデルの、校正を支援する入力として使用されてもよいことである。つまり、ステップ1408で得られた深層学習アプローチからの高信頼度の身体的特徴測定値は、他のモデルを、例えば、3D人間モデル116及び/又は骨格/関節位置モデル1418を支援するのに使用されてもよい。他のモデル(1416及び/又は1418)は次に、ステップ1412で、所定の値よりも低い信頼度を有すると決定された身体的特徴測定値に対して、投影された高信頼度の身体的特徴測定値を得るのに使用されてもよい。後に、投影された高信頼度の身体的特徴測定値は、深層学習アプローチからの低信頼度の身体的特徴測定値に取って代わるか、又はそれを補足してもよい。
【0146】
更に、ステップ1424で、ステップ1420及び/又はステップ1422で決定された高信頼度の身体的特徴測定値が使用されて、高信頼度の身体的特徴測定値が決定されてもよい。そのように、様々なモデル、つまり3D人間モデル及び骨格/関節位置モデルの両方を使用して、ステップ1414で得られる身体的特徴測定値の精度が更に改善されてもよい。したがって、高信頼度の身体的特徴測定値が集約され、ステップ1414からの高信頼度の身体的特徴測定値(例えば、深層学習アプローチ)は、ステップ1420及び1422からの投影された高信頼度の身体的特徴測定値(例えば、他のモデル)と組み合わされてもよい。
【0147】
ステップ1426で、高信頼度の身体的特徴測定値が人体全体の完全な身体測定値に集約され、次に出力されて使用される。特に、身体測定値は、例えば、測定値に基づいて衣服を製造する会社と関連付けられた、ユーザデバイス及び/又は対応するサーバに出力されてもよい。一実施例では、出力は、テキストメッセージ、電子メール、モバイルアプリケーション又はウェブサイト上のテキスト記述、それらの組み合わせなどの形態であってもよい。完全な身体測定値は次に、注文衣類の生成を含むがそれに限定されない、任意の目的で使用されてもよい。当業者であれば、完全な身体測定値の出力は、フィットネス、健康、ショッピングなどであるがそれらに限定されない、正確で単純な身体測定値が有用である、任意の目的で利用されてもよいことを認識するであろう。
【0148】
図15は、本発明の別の実施例による、深層学習ネットワーク(DLN)及び機械学習を使用する身体測定値決定のための、別の一例のフロー
図1500を示している。ステップ1551で、正面写真、側面写真、及びユーザパラメータ(身長、体重、年齢、性別など)を備える入力データ1552が受信される。ステップ1553で、1つ又は複数の画像処理ステップが適用される。最初に、任意の画像前処理(パースペクティブ補正、人間の切取り、リサイジングなど)ステップが実施されてもよい。次に、身体的特徴をセグメント化し注釈を付けるため、深層学習ネットワーク(DLN)1554が画像に適用される。次に、サイジング機械学習モジュール(ML)1556が、注釈線及び1つ又は複数のユーザパラメータから身体サイズ測定値を決定するため、注釈付きの身体的特徴に適用される。最後に、ステップ1555で、出力データ1558として例示的に示される、身体サイズ測定値(例えば、16の標準的な身体部分サイズ)が出力される。出力1558は、サイジング結果(首、肩、袖、身長、アウトシーム、インシームなど、標準的な身体サイズ測定値のセット)を含んでもよく、また注釈線で注釈が付けられた正面及び側面写真を含んでもよい。
【0149】
図15に示されるように、また一実施例によれば、深層学習ネットワーク(DLN)1554を使用して身体部分セグメント化及び注釈が実施される。一実施例では、身体部分セグメント化及び注釈は、畳み込みニューラルネットワーク(CNN)を、改善されたグローバル及びローカルコンテキスト情報のためのピラミッドシーンパーシングネットワーク(PSPNet)と組み合わせて使用して実施される。PSPNetでは、プロセスは、ピラミッドプーリングモジュールを通して集約された異なるサイズの領域から、グローバル及びローカルコンテキスト情報を利用してもよい。
図15に示されるように、入力画像は、最初に、畳み込みニューラルネットワーク(CNN)に通されて、各ピクセルを所与の身体部分及び/又は注釈線へと分類若しくはセグメント化する、特徴マップが取得される。次に、異なるサイズのスケールで画像から情報を集約するピラミッドプーリングモジュールを使用して、グローバル及びローカルコンテキスト情報が特徴マップから抽出される。最後に、データは最終畳み込み層に通されて、各ピクセルが身体部分セグメント及び/又は注釈線に分類される。
【0150】
一実施例では、PSPNetアルゴリズムは、arXiv:1612.01105で利用可能な、Hengshuang Zhaoらの「Pyramid Scene Parsing Network」、CVPR 2017、2016年12月4日に記載されているような実現例であってもよい。PSPNetは、本発明の範囲内にある1つの例示的な深層学習ネットワークアルゴリズムにすぎず、本発明はPSPNetの使用に限定されない。他の深層学習アルゴリズムも本発明の範囲内にある。例えば、本発明の一実施例では、畳み込みニューラルネットワーク(CNN)を利用して、身体セグメントが抽出され(セグメント化)、別個のCNNを使用して各身体セグメントに注釈が付けられる(注釈)。
【0151】
身体測定値決定のための様々な例示の機械学習アルゴリズム1556は、深層学習ネットワーク(DLN)から得られる1つ又は複数の特徴値から、測定値を予測することができる。一実施例では、身体部分のサイジングは、1つの例示の機械学習アルゴリズムであるランダムフォレストアルゴリズム1556を使用して決定される。ランダムフォレストアルゴリズムは、各決定木が訓練データの無作為なサブセットの値に依存し、それによって訓練データセットに対するオーバーフィッティングの可能性が最小限に抑えられるように、複数の決定木予測子を使用する。一実施例では、ランダムフォレストアルゴリズムは、doi.org/10.1023/A:1010933404324で利用可能な、Leo Braimanの「Random Forests」、Machine Learning,45,5-32、2001、Kluwer Academic Publishers,Netherlandsに記載されているような実現例である。ランダムフォレストは、本発明の範囲内にある1つの例示の機械学習アルゴリズムにすぎず、本発明はランダムフォレストの使用に限定されない。最近傍、決定木、サポートベクターマシン(SVM)、アダブースト、ベイジアンネットワーク、深層学習ネットワークを含む様々なニューラルネットワーク、進化的アルゴリズムなどを含むがそれらに限定されない、他の機械学習アルゴリズムが、本発明の範囲内にある。機械学習アルゴリズムに対する入力は、
図15に示されるように、深層学習ネットワークから得られる身体部分の周囲、身長、及び他のユーザパラメータを含む、特徴値(x)である。機械学習アルゴリズムの出力は、サイジング測定値(y)に対する予測値である。
【0152】
示されるように、本明細書に記載するデバイス及びシステム(並びにそれらの様々な構成要素)の実施例は、本明細書に記載される1つ又は複数の機構の自動化(例えば、身体抽出、身体セグメント化、測定値抽出などを提供する)を容易にするのに、人工知能(AI)を用いることができる。構成要素は、本明細書に開示する様々な実施例/実例を実施するのに、様々なAIベースのスキームを用いることができる。本明細書に記載する多数の決定(例えば、決定、確認、推論、計算、予測、予知、推定、導出、予想、検出、演算)を提供又は支援するため、本明細書に記載する構成要素は、アクセスが許可されるデータの全体又はサブセットを検査することができ、イベント及び/又はデータを介して捕捉される観察のセットから、システム、環境などの状態に関する理由を提供し又は決定することができる。決定は、特定のコンテキスト若しくは動作を特定するのに用いることができ、又は例えば、状態に対する確率分布を生成することができる。決定は確率論的であることができ、つまり、関心の状態に対する確率分布の計算はデータ及びイベントの考慮に基づく。決定はまた、イベント及び/又はデータのセットから上位イベントを構成するのに用いられる技術を指すことができる。
【0153】
かかる決定は、観察されたイベント及び/又は格納されたイベントデータのセット、イベントが時間的に近接して相関するか否か、並びにイベント及びデータが1つの若しくは複数のイベント及びデータソースからのものであるか否かから、新しいイベント又は動作の構築をもたらすことができる。本明細書に開示する構成要素は、様々な分類((例えば、訓練データを介して)明示的に訓練される、並びに(例えば、観察挙動、嗜好、履歴情報、受信する外因性情報などを介して)暗示的に訓練される)スキーム及び/又はシステム(例えば、サポートベクターマシン、ニューラルネットワーク、エキスパートシステム、ベイジアンビリーフネットワーク、ファジー論理、データフュージョンエンジンなど)を、請求される主題と関連する自動及び/又は決定された動作を実施することと関連して、用いることができる。したがって、分類スキーム及び/又はシステムを使用して、多数の機能、動作、及び/又は決定を自動的に学習し実施することができる。
【0154】
分類子は、入力属性ベクトルz=(z1,z2,z3,z4,…,zn)を、f(z)=confidence(class)によって、入力が属するクラスの信頼度にマッピングしてもよい。かかる分類は、確率論的及び/又は統計ベースの分析(例えば、分析の有用性及びコストの考慮に入れる)を用いて、自動的に実施されるべき動作を決定してもよい。用いることができる分類子の別の例はサポートベクターマシン(SVM)である。SVMは、可能性がある入力の空間において、トリガ基準を非トリガイベントから分割するように試行する超曲面を見つけ出すことによって動作する。直感的に、これによって、訓練データの近傍にあるが同一ではないデータを試験するための分類が適正になる。他の有向性及び無向性モデル分類の方策としては、例えば、単純ベイズ、ベイジアンネットワーク、決定木、ニューラルネットワーク、ファジー論理モデル、及び/又は異なる独立パターンを提供する確率論的分類モデルを用いることができる。本明細書で使用する分類は、優先順位のモデルを開発するのに利用される統計的回帰も包含する。
【0155】
図16は、本発明の別の実施例による、深層学習ネットワーク(DLN)及び機械学習を使用する身体測定値決定のための、別の詳細なフロー
図1600を示している。身体測定プロセスに対する入力としては、正面写真1661、側面写真1662、身長1663、及び他のユーザパラメータ(体重、年齢、性別など)1664が挙げられる。正面写真1661はステップ1665で前処理され、側面写真1662はステップ1666で前処理される。パースペクティブ補正、人間の切取り、画像リサイジングなど、前処理ステップの例については上述している。ステップ1667で、前処理された正面写真がDLN1への入力として使用されて、正面写真1661のための注釈線が抽出される。ステップ1668で、前処理された側面写真がDLN2への入力として使用されて、同様に側面写真1662のための注釈線が抽出される。正面視1669からの各身体部分に対する注釈線はDLN1から出力され、側面視1670からの各身体部分に対する注釈線はDLN2から出力される。ステップ1671で、正面写真1661及び側面写真1662からの2セットの注釈線が、身長入力1663から受信された身長正規化基準1675と共に利用されて、各身体部分の周囲が計算される。ステップ1672で、各身体部分の周囲は、身長、並びに入力1663及び1664から受信された他のユーザパラメータ1676と共に、ランダムフォレストなどの機械学習アルゴリズムで利用されて、1つ又は複数の身体サイズ測定値が計算される。ステップ1673で、身体サイズ測定結果(各標準測定値の長さ)が出力される。最後に、身体測定プロセスはステップ1674で終了する。
【0156】
本発明のハードウェア、ソフトウェア、及びクラウド実装
考察されるように、本開示を通して記載したデータ(例えば、写真、テキスト記述など)は、クラウドコンピューティングプラットフォームに格納されるか又はそこでホストされるデータベースに格納される、データを含むことができる。本開示は以下のクラウドコンピューティングに対する詳細な記載を含むが、本明細書で言及する教示の実現はクラウドコンピューティング環境に限定されないことが理解されるべきである。それよりもむしろ、本発明の実施例は、現在知られているか又は今後開発される他の任意のタイプのコンピューティング環境と併せて実現され得る。
【0157】
クラウドコンピューティングは、サービスのプロバイダとの最小限の管理作業及び対話で迅速に提供しリリースすることができる、構成可能コンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンドネットワークアクセスに対するサービス送達のモデルを指すことができる。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含むことができる。
【0158】
特性は次のもののうち1つ又は複数を含んでもよい。オンデマンドセルフサービス:クラウド消費者は、サーバ時間及びネットワークストレージなど、人間がサービスのプロバイダと対話する必要なく必要に応じて自動的に、コンピューティング能力を一方的に規定することができる。ブロードネットワークアクセス:能力はネットワークを通じて利用可能であり、異種シン又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する、標準的なメカニズムを通してアクセスされる。リソースプーリング:マルチテナントモデルを使用する複数の消費者に役立つように、プロバイダのコンピューティングリソースがプールされ、需要に応じて異なる物理的及び仮想リソースが動的に割り当てられ再割当てされる。消費者は一般に、提供されるリソースの正確な場所に対する制御又は知識を有さないが、上位の抽象化レベル(例えば、国、州、又はデータセンタ)で場所を指定することができるという意味で、場所の独立性がある。スピーディな拡張性:能力を迅速に弾力的に規定することができ、場合によっては自動的に、迅速にスケールアウトし、スピーディにリリースして迅速にスケールインすることができる。消費者にとっては、規定するのに利用可能な能力は無限に見える場合が多く、任意の量でいつでも購入することができる。計測サービス:クラウドシステムは、サービスのタイプに適した何らかの抽象化レベル(例えば、ストレージ、処理、帯域幅、及びアクティブユーザアカウント)で計量能力を活用することによって、リソース使用を自動的に制御し最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダ及び消費者の両方に対して透明性を提供することができる。
【0159】
別の実施例では、サービスモデルは次のもののうち1つ又は複数を含んでもよい。サービスとしてのソフトウェア(SaaS):消費者に提供される能力は、クラウドインフラストラクチャで稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザなどのシンクライアントインターフェース(例えば、ウェブベースの電子メール)を通して、様々なクライアントデバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は更には個々のアプリケーション能力を含む、基礎にあるクラウドインフラストラクチャは管理又は制御しないが、場合によっては、限定されたユーザ固有のアプリケーション構成設定は例外である。
【0160】
サービスとしてのプラットフォーム(PaaS):消費者に提供される能力は、クラウドインフラストラクチャ上に、プロバイダが対応しているプログラミング言語及びツールを使用して作成された、消費者作成又は獲得アプリケーションを展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む、基礎にあるクラウドインフラストラクチャは管理又は制御しないが、展開されたアプリケーション、及び場合によってはアプリケーションがホストする環境構成に対する制御は有する。
【0161】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される能力は、処理、ストレージ、ネットワーク、及び消費者が、オペレーティングシステム及びアプリケーションを含むことができる任意のソフトウェアを展開し実行することができる、他の基本的コンピューティングリソースを規定することである。消費者は、基礎にあるクラウドインフラストラクチャは管理又は制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションに対する制御、及び場合によってはネットワーキング構成要素(例えば、ホストファイアウォール)を選択する限定された制御は有する。
【0162】
展開モデルは次のもののうち1つ又は複数を含んでもよい。プライベートクラウド:クラウドインフラストラクチャは機関のために単独で操作される。機関又は第三者によって管理することができ、オンプレミス又はオフプレミスで存在することができる。
【0163】
コミュニティクラウド:クラウドインフラストラクチャは、複数の機関によって共有され、関心(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮点)を共有している特定のコミュニティに対応する。機関又は第三者によって管理することができ、オンプレミス又はオフプレミスで存在することができる。
【0164】
パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大型事業グループに利用可能にされ、クラウドサービスを販売する機関によって所有される。
【0165】
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティを保持するが、データ及びアプリケーションの可搬性を可能にする(例えば、クラウド間のロードバランスのためのクラウドバースティング)標準化技術又は専有技術によって互いに連結された、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の混合である。
【0166】
クラウドコンピューティング環境はサービス指向であり、無国籍性、低結合、モジュール性、及びセマンティック相互運用性に焦点を当てている。クラウドコンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0167】
クラウドコンピューティング環境は、1つ又は複数のクラウドコンピューティングノードを含んでもよく、それらによって、例えば携帯情報端末(PDA)、セルラー電話、デスクトップコンピュータ、ラップトップコンピュータ、及び/又は自動車コンピュータシステムなど、クラウド消費者によって使用されるローカルコンピューティングデバイスが通信することができる。ノードは互いに通信することができる。それらは、上述したようなプライベート、コミュニティ、パブリック、又はハイブリッドクラウドなどの1つ若しくは複数のネットワーク、或いはそれらの組み合わせにおいて、物理的又は仮想グループであることができる。これによって、クラウドコンピューティング環境が、クラウド消費者がローカルコンピューティングデバイス上でリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを提供することが可能になる。コンピューティングデバイスのタイプは単なる例示であることが意図され、コンピューティングノード及びクラウドコンピューティング環境は、任意のタイプのネットワーク及び/又はネットワークアドレス可能接続(例えば、ウェブブラウザを使用する)を通じて、任意のタイプのコンピュータ化されたデバイスと通信できることが理解される。
【0168】
本発明は、サーバベースのハードウェア及びソフトウェアを使用して実現されてもよい。
図17は、本発明の一実施例を実現する、サーバの例示のハードウェアアーキテクチャ
図1700を示している。本発明が不明瞭にならないように、システムの多くの構成要素、例えばネットワークインターフェースなどは示されていない。しかしながら、当業者であれば、システムはこれらの構成要素を必然的に含むことを認識するであろう。ユーザデバイスは、メモリ1750に結合された少なくとも1つのプロセッサ1740を含むハードウェアである。プロセッサは、1つ又は複数のプロセッサ(例えば、マイクロプロセッサ)を表してもよく、メモリは、ハードウェアの主要記憶装置を備えるランダムアクセスメモリ(RAM)デバイス、並びに任意の補助レベルのメモリ、例えばキャッシュメモリ、不揮発性又はバックアップメモリ(例えば、プログラマブル若しくはフラッシュメモリ)、読出し専用メモリなどを表してもよい。それに加えて、メモリは、ハードウェアのどこかに物理的に配置されたメモリ記憶装置、例えばプロセッサ内の任意のキャッシュメモリ、並びに仮想メモリとして使用される、例えば大容量記憶デバイスに格納される、任意の記憶容量を含むものとみなされてもよい。
【0169】
ユーザデバイスのハードウェアはまた、一般的に、情報を外部に通信するため、多数の入力1710及び出力1720を受信する。ユーザとのインターフェースに関して、ハードウェアは、1つ又は複数のユーザ入力デバイス(例えば、キーボード、マウス、スキャナ、マイクロフォン、ウェブカメラなど)及びディスプレイ(例えば、液晶表示(LCD)パネル)を含んでもよい。更なる記憶のため、ハードウェアはまた、中でも特に、1つ又は複数の大容量記憶デバイス1790、例えば、フロッピー若しくは他のリムーバブルディスクドライブ、ハードディスクドライブ、直接アクセス記憶デバイス(DASD)、光学ドライブ(例えば、コンパクトディスク(CD)ドライブ、デジタル多目的ディスク(DVD)ドライブなど)、並びに/或いはテープドライブを含んでもよい。更に、ハードウェアは、ネットワークに結合された他のコンピュータと情報を通信できるように、インターフェース、1つ又は複数の外部SQLデータベース1730、並びに1つ又は複数のネットワーク1780(例えば、中でも特に、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、無線ネットワーク、及び/若しくはインターネット)を含んでもよい。ハードウェアは一般的に、互いに通信するのに好適なアナログ及び/又はデジタルインターフェースを含むことが認識されるべきである。
【0170】
ハードウェアは、オペレーティングシステム1770の制御下で動作し、参照番号によって集合的に示される、様々なコンピュータソフトウェアアプリケーション1760、構成要素、プログラム、コード、ライブラリ、オブジェクト、モジュールなどを実行して、上述の方法、プロセス、及び技術を実施する。
【0171】
本発明はクライアントサーバ環境で実現されてもよい。
図18は、クライアントサーバ環境において本発明の一実施例を実現する例示のシステムアーキテクチャ1800を示している。クライアント側のユーザデバイス1810は、スマートフォン1812、ラップトップ1814、デスクトップPC1816、タブレット1818、又は他のデバイスを含んでもよい。かかるユーザデバイス1810は、インターネットなどの何らかのネットワーク接続1820を通して、システムサーバ1830のサービスにアクセスする。
【0172】
本発明のいくつかの実施例では、いわゆるクラウド実装において、システム全体をインターネットを通じて実現し、エンドユーザ及びオペレータに提示することができる。ソフトウェア又はハードウェアのローカルインストールは不要であり、エンドユーザ及びオペレータは、インターネットを通じて、デスクトップ、ラップトップ、携帯デバイスなどであることができるクライアントにおいて、ウェブブラウザ若しくは類似のソフトウェアを使用して本発明のシステムに直接アクセスすることが可能になる。これにより、クライアント側でカスタムソフトウェアをインストールする必要がなくなり、サービス送達の柔軟性(サービスとしてのソフトウェア)が向上し、ユーザの満足度及び使用の簡単さが向上する。本発明に関する様々なビジネスモデル、収益モデル、及び送達メカニズムが想到され、全て本発明の範囲内にあるとみなされる。
【0173】
一般に、本発明の実施例を実現するために実行される方法は、「コンピュータプログラム」又は「コンピュータコード」と呼ばれる、オペレーティングシステム若しくは専用アプリケーション、構成要素、プログラム、オブジェクト、モジュール、又は命令のシーケンスの一部として実現されてもよい。コンピュータプログラムは、一般的に、様々なときにコンピュータの様々なメモリ及び記憶デバイスにおいて、1つ又は複数の命令セットを備え、コンピュータの1つ又は複数のプロセッサによって読み出され実行されると、本発明の様々な態様に関与する要素を実行するのに必要な動作をコンピュータに実施させる。更に、十分に機能するコンピュータ及びコンピュータシステムの文脈で本発明について記載してきたが、当業者であれば、本発明の様々な実施例は様々な形態でプログラム製品として分布させることができ、分布を実際に有効にするのに使用される機械若しくはコンピュータ可読媒体の特定のタイプにかかわらず、本発明は等しく適用されることを認識するであろう。コンピュータ可読媒体の例としては、揮発性及び不揮発性メモリデバイス、フロッピー及び他のリムーバブルディスク、ハードディスクドライブ、光学ディスク(例えば、コンパクトディスク読出し専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)など)、並びにデジタル及びアナログ通信媒体など、記録可能タイプの媒体が挙げられるが、それらに限定されない。
【0174】
本発明の例示の使用例
図19は、通常の背景の前に立っている一般的な衣服を着た人間の正面視を示す、携帯デバイス1902の単一のカメラが人体測定値を捕捉するのに使用される、本発明の使用例の例示の
図1900である。例示の
図1900では、携帯デバイス1902は、人間の形を表示するディスプレイ1904を有する。一実施例では、人間の形の胴体が、例えば点線1906によって特定され、身体セグメントが、例えば実線1908によって特定される。頭の最上部が、例えば第1の丸い点1910によって特定され、足の最下部が、例えば第2の丸い点1912によって特定される。
図19に示される携帯デバイスは、少なくとも1つのカメラと、プロセッサと、非一時的記憶媒体と、サーバへの通信リンクとを備える。一実施例では、ユーザの身体の1つ又は複数の写真は、本明細書に記載する動作を実施するサーバに送信される。一実施例では、ユーザの身体の1つ又は複数の写真は、携帯デバイス1902のプロセッサによってローカルで分析される。実施された動作は1つ又は複数の身体測定値を返し、それらはサーバに格納され、並びにユーザに提示されてもよい。それに加えて、身体測定値は次に、1つ又は複数の注文品の衣類、注文品の眼鏡、注文品の手袋、注文品のボディスーツ、注文品のPPE(個人用防護具)、注文品の帽子、特注の食事療法、特注の運動、ジム、及びトレーニング習慣などのセールをユーザに提示することを含むがそれらに限定されない、多くの目的に利用されてもよい。一般性を損なうことなく、身体測定値は、身体測定値が有用である任意の目的のため、出力、送信、及び/又は利用されてもよい。
【0175】
本発明は、人間のテーラーに対して1cm以下の精度の身体測定値をもたらして実現に成功してきた。システムは、2つの写真のみを使用し、人間のテーラーに匹敵する精度を達成することができる。システムは、何らかの専用ハードウェアセンサを使用する必要がなく、ユーザが何らかの特別な背景の前に立つ必要がなく、特別な照明を要さず、任意の距離でユーザが任意のタイプの衣服を着て撮られた写真を使用することができる。結果は、任意の携帯デバイスで作動する身体測定システムであるため、誰でも簡単に自分の写真を撮り、自動全身測定抽出を利用することができる。
【0176】
当業者であれば、使用例、構造、概略図、及びフロー図は他の順序又は組み合わせで実施されてもよく、本発明のより広範な範囲から逸脱することなく、本発明の発明の概念はそのままであることが分かっている。全ての実施例は固有であり、方法/ステップは短く若しくは長くされてもよく、他の動作と重複するか、延期、遅延、又は時間ギャップ後に継続されてもよく、それによって全てのユーザが、本発明の方法を実践するように適合される。
【0177】
特定の例示の実施例を参照して本発明について記載してきたが、本発明のより広範な範囲から逸脱することなく、これらの実施例を様々に修正及び変更できることが明白となるであろう。したがって、本明細書及び図面は、限定的意味ではなく例示的意味で解釈されるべきである。また、上述の実施例は、教示される単独の説明のいずれかよりも広い範囲を有してもよい単一のより広範な発明の特定の実例であることが、当業者には明白となるであろう。本発明の範囲から逸脱することなく、記載に対して多くの変更が行われてもよい。
【国際調査報告】