IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ Visualize株式会社の特許一覧

特表2023-501041深層学習を使用して2Dフォトから3Dオブジェクトの圧力マップを予測するための方法及びシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-18
(54)【発明の名称】深層学習を使用して2Dフォトから3Dオブジェクトの圧力マップを予測するための方法及びシステム
(51)【国際特許分類】
   A61B 5/11 20060101AFI20230111BHJP
   G06T 7/00 20170101ALI20230111BHJP
   G06T 7/593 20170101ALI20230111BHJP
   G06V 10/82 20220101ALI20230111BHJP
   G06V 40/16 20220101ALI20230111BHJP
   G01B 11/24 20060101ALI20230111BHJP
   G01L 5/00 20060101ALI20230111BHJP
【FI】
A61B5/11 210
G06T7/00 350C
G06T7/593
G06T7/00 660Z
G06V10/82
G06V40/16 Z
G01B11/24 K
G01L5/00 101Z
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2022513546
(86)(22)【出願日】2020-08-27
(85)【翻訳文提出日】2022-04-14
(86)【国際出願番号】 US2020070465
(87)【国際公開番号】W WO2021042124
(87)【国際公開日】2021-03-04
(31)【優先権主張番号】62/892,909
(32)【優先日】2019-08-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522074648
【氏名又は名称】Visualize株式会社
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】コー、チョン、ジン
(72)【発明者】
【氏名】神山 恭平
【テーマコード(参考)】
2F051
2F065
4C038
5L096
【Fターム(参考)】
2F051AA18
2F051AB03
2F051BA07
2F065AA04
2F065AA53
2F065BB05
2F065CC16
2F065DD02
2F065FF05
2F065JJ03
2F065MM26
2F065QQ03
2F065QQ17
2F065QQ21
2F065QQ24
2F065QQ28
2F065QQ31
2F065UU05
4C038VA04
4C038VA11
4C038VA12
4C038VB14
4C038VB17
4C038VC01
4C038VC05
5L096AA09
5L096BA18
5L096CA05
5L096DA02
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
深層学習を使用して現実世界オブジェクトの圧力マップを生成するためのシステム及び方法が、開示される。現実世界オブジェクトの構造化3Dモデルが、いくつかの実施例では、写真測量、キーポイント検出深層学習ネットワークDLN、及びリトポロジーを利用するプロセスを使用して、オブジェクトの一連の2D写真から生成される。加えて、オブジェクトのオブジェクト・パラメータが、受信される。次いで、オブジェクトの圧力マップが、構造化3Dモデル及びオブジェクト・パラメータに基づいて、圧力推定深層学習ネットワークDLNによって生成され、ここで、圧力推定DLNは、所与のオブジェクト・カテゴリーに属する複数のオブジェクトの、構造化3Dモデル、オブジェクト・パラメータ、及び圧力マップに関して訓練された。現実世界オブジェクトの圧力マップは、カスタム製造など、下流プロセスにおいて使用され得る。
【特許請求の範囲】
【請求項1】
オブジェクトの圧力マップを生成するためのコンピュータ実装方法であって、前記コンピュータ実装方法が、ハードウェア・プロセッサによって実行可能であり、前記方法は、
前記オブジェクトの複数の2次元(2D)画像を受信することであって、前記複数の2D画像が、異なる角度から前記オブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、
1つ又は複数の入力パラメータを受信することであって、前記入力パラメータが、前記オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、
前記複数の2D画像から前記オブジェクトの構造化3次元(3D)モデルを構築することと、
圧力推定深層学習ネットワーク(DLN)を使用して、前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することであって、前記圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、前記オブジェクトの前記圧力マップを生成することと
を備える、コンピュータ実装方法。
【請求項2】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
写真測量プロセス及びスケール・ファクタを使用して、前記複数の2D画像から前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成することであって、前記スケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成すること
を備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
注釈付きのスケーリングされた非構造化3Dメッシュと整合するように注釈付きの構造化ベース3Dメッシュをモーフィングすることによって、前記注釈付きのスケーリングされた非構造化3Dメッシュから前記構造化3Dモデルを生成すること
をさらに備える、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
前記オブジェクトの前記スケーリングされた非構造化3Dメッシュから前記オブジェクトの前記注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、3DキーポイントDLNを利用することであって、前記注釈付きのスケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、3DキーポイントDLNを利用すること
をさらに備える、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記3DキーポイントDLNが、PointNetに基づく、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
前記複数の2D画像から1つ又は複数のキーポイントを抽出するために、2DキーポイントDLNを利用することであって、前記1つ又は複数のキーポイントが、前記構造化3Dモデルを生成するために、前記注釈付きの非構造化3Dメッシュを生成するために使用される、2DキーポイントDLNを利用すること
をさらに備える、請求項3に記載のコンピュータ実装方法。
【請求項7】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
前記注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、前記オブジェクトの前記スケーリングされた非構造化3Dメッシュ上に前記1つ又は複数のキーポイントを投影することであって、前記注釈付きのスケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、前記1つ又は複数のキーポイントを投影すること
をさらに備える、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記2DキーポイントDLNが、スタック型砂時計ネットワーク及び高解像度ネットワーク(HRNet)からなるグループから選択された、請求項6に記載のコンピュータ実装方法。
【請求項9】
前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することは、
表面上に前記構造化3Dモデルを投影することによって密度マップを生成することであって、前記密度マップが、前記圧力マップを生成するために利用される、密度マップを生成すること
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記圧力推定DLNが、修正されたベクトル量子化変分オートエンコーダ(VQ-VAE)であり、
前記密度マップが、前記圧力マップを生成するために、前記修正されたVQ-VAEへの入力として利用され、
前記修正されたVQ-VAEが、所与の密度マップ及び1つ又は複数の所与の入力パラメータから所与の圧力マップを生成するように訓練された、
請求項9に記載のコンピュータ実装方法。
【請求項11】
前記1つ又は複数の入力パラメータが、少なくともスケール・ファクタを備え、前記スケール・ファクタが、前記構造化3Dモデルを現実世界座標にスケーリングするために使用される、請求項1に記載のコンピュータ実装方法。
【請求項12】
前記構造化3Dモデルから抽出された3D測定値を利用して、前記構造化3Dモデルから3D製品を製造するようにとの命令を提供すること
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項13】
前記オブジェクトが、身体部位である、請求項1に記載のコンピュータ実装方法。
【請求項14】
前記圧力推定DLNが、3Dスキャナからの構造化3Dモデルと、オブジェクト圧力センサーからの対応する圧力マップとを備える訓練データに関して訓練された、請求項1に記載のコンピュータ実装方法。
【請求項15】
プログラム・コードを記憶するための非一時的記憶媒体であって、前記プログラム・コードが、ハードウェア・プロセッサによって実行可能であり、前記プログラム・コードは、前記ハードウェア・プロセッサによって実行されたとき、前記ハードウェア・プロセッサにオブジェクトの圧力マップを生成させ、前記プログラム・コードは、
前記オブジェクトの複数の2次元(2D)画像を受信することであって、前記複数の2D画像が、異なる角度から前記オブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、
1つ又は複数の入力パラメータを受信することであって、前記入力パラメータが、前記オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、
前記複数の2D画像から前記オブジェクトの構造化3次元(3D)モデルを構築することと、
圧力推定深層学習ネットワーク(DLN)を使用して、前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することであって、前記圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、前記オブジェクトの前記圧力マップを生成することと
を行うためのコードを備える、非一時的記憶媒体。
【請求項16】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードは、
写真測量プロセス及びスケール・ファクタを使用して、前記複数の2D画像から前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成することであって、前記スケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成すること
を行うためのコードを備える、請求項15に記載の非一時的記憶媒体。
【請求項17】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードが、
注釈付きのスケーリングされた非構造化3Dメッシュと整合するように注釈付きの構造化ベース3Dメッシュをモーフィングすることによって、前記注釈付きのスケーリングされた非構造化3Dメッシュから前記構造化3Dモデルを生成すること
を行うためのコードをさらに備える、請求項16に記載の非一時的記憶媒体。
【請求項18】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードは、
前記オブジェクトの前記スケーリングされた非構造化3Dメッシュから前記オブジェクトの前記注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、3DキーポイントDLNを利用することであって、前記注釈付きのスケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、3DキーポイントDLNを利用すること
を行うためのコードをさらに備える、請求項17に記載の非一時的記憶媒体。
【請求項19】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードは、
前記複数の2D画像から1つ又は複数のキーポイントを抽出するために、2DキーポイントDLNを利用することであって、前記1つ又は複数のキーポイントが、前記構造化3Dモデルを生成するために、前記注釈付きの非構造化3Dメッシュを生成するために使用される、2DキーポイントDLNを利用すること
を行うためのコードをさらに備える、請求項17に記載の非一時的記憶媒体。
【請求項20】
ハードウェア・プロセッサと、プログラム・コードを記憶するための非一時的記憶媒体とを備えるシステムであって、前記プログラム・コードが、前記ハードウェア・プロセッサによって実行可能であり、前記プログラム・コードは、前記ハードウェア・プロセッサによって実行されたとき、前記ハードウェア・プロセッサにオブジェクトの圧力マップを生成させ、前記プログラム・コードは、
前記オブジェクトの複数の2次元(2D)画像を受信することであって、前記複数の2D画像が、異なる角度から前記オブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、
1つ又は複数の入力パラメータを受信することであって、前記入力パラメータが、前記オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、
前記複数の2D画像から前記オブジェクトの構造化3次元(3D)モデルを構築することと、
圧力推定深層学習ネットワーク(DLN)を使用して、前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することであって、前記圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、前記オブジェクトの前記圧力マップを生成することと
を行うためのコードを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
オブジェクトの2次元(2D)写真に基づいて、深層学習を使用してオブジェクトについて圧力測定値を導出し、オブジェクト圧力測定値から、カスタマイズされた製品を随意に製造する分野における実施例が、開示される。
【背景技術】
【0002】
本発明の背景技術における記述は、本発明並びにそれの適用例及び使用を理解するのを支援するために提供され、従来技術を構成しないことがある。
【0003】
境界面圧力の分布は、比較的平坦な表面の間でさえ、一般に、ピーク圧力の局所エリアにより一様ではない。たとえば、一般的な靴を着用する人間の足における圧力分布は、局所圧力のエリアにより一様ではなく、これは、ユーザにとって不快であり得る。その結果、圧力マップなど、視覚表現で2つの表面の間のピーク圧力点をマッピング及び識別することは、靴、医療デバイス、人工装具から、機械及び自動車部品などに及ぶ多種多様な分野において、製品設計及び製造品質を向上させるための見識を提供する。圧力マップは、記録されたデータからのリアルタイムでの又はオフラインでの圧力分布データの明瞭な視覚表現の働きをしながら、力の合計、ピーク圧力、力の中心など、有用なメトリックを提供することができる。現代の圧力マッピング・システムは、主に、薄いフレキシブルなセンサーと、数千個の検知点を走査することができる走査電子回路と、2つのオブジェクトの間の、圧力分布のマップ及び他の表面相互作用データを生成する関連ソフトウェアとから構築される。
【0004】
圧力マッピングは、コンポーネントのプレス・フィット及び封止、機械設計、並びに工業的立ち上げ(industrial set up)における立ち上げ精度を査定する際に使用され得る。医療デバイス及び人工装具(たとえば、固定器)の分野では、圧力マップは、快適さ及びパーソナライズされた人間工学的フィットを査定するのを助けることができる。加えて、圧力マッピング技術は、高速衝撃試験、熱伝導率について表面接触を試験すること、半導体試験、製品及びプロセスが適切なフィット及び封止を有することを保証するためにプレス・フィット及び封止の適用を試験することなどを含む、無数の分野における多数の適用例を有することができる。すべてのこれらの適用例では、圧力マップの生成は、試験されている表面の間の物理的接触を必要とし、これは、表面に関連するオブジェクトが、互いに物理的に近接させられることを必要とする。カスタマイズされた製品を必要とするユーザが、容易に移動することが可能でない、医療デバイス又は人工装具など、いくらかの適用例では、表面を物理的に近接させることは、問題となり得る。
【0005】
この背景に対して、本発明は開発された。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Charles R.Qi,et al.、「PointNet:Deep Learning on Point Sets for 3D Classification and Segmentation」、CVPR2017、2017年11月9日
【非特許文献2】Alejandro Newell,et al.、「Stacked Hourglass Networks for Human Pose Estimation」、ECCV2016、2016年9月17日
【非特許文献3】Ke Sun,et al.、「Deep High-Resolution Representation Learning for Human Pose Estimation」、CVPR2019、2020年1月9日
【非特許文献4】Aaron van den Oord,et al.、「Neural Discrete Representation Learning」、NIPS2017、2017年12月5日
【発明の概要】
【課題を解決するための手段】
【0007】
本発明の概要は、本発明の広義の概要、それの適用例、及び使用を提供し、発明を実施するための形態から、図面と併せて読まれたときに明らかになる、本発明の範囲を限定するものではない。
【0008】
オブジェクトの2D画像からオブジェクトの圧力マップを予測するための方法及びシステムが、開示される。最初に、現実世界オブジェクトの一連の2D画像が、デジタル画像をキャプチャすることが可能な、デジタル・カメラ、スマートフォン、タブレット・デバイス、又は他のコンピューティング・デバイスから取得される。一連の2D画像は、オブジェクトの形態が、画像の2次元性質によって許容される程度まで一連の2D画像中に包括的に記録されるように、異なる角度からオブジェクトをキャプチャすることができる。加えて、オブジェクトのオブジェクト・パラメータが、2D画像とともに受信される。収集されるオブジェクト・パラメータは、オブジェクトの性質に依存することがある。概して、オブジェクト・パラメータは、(長さ、幅、高さなどを含む)サイズなど、いくらかのオブジェクト属性、又は重さ、オブジェクトがそれから作られた材料など、他の物理的属性を含むことがある。実施例では、オブジェクトは、人の手又は足など、人間の身体部位に関係することがある。2D画像中に記録されているオブジェクトが、人の身体部位であるとき、収集されるパラメータは、人の身長、体重、肥満度指数(BMI:body mass index)、性別、人種プロファイルなど、ユーザ・パラメータを含むことがある。
【0009】
画像及びオブジェクト・パラメータは、写真測量を使用する3次元(3D)モデル生成モジュールによって処理される。写真測量は、写真画像を通して物理的オブジェクトに関する信頼できる情報を抽出するための技法である。収集される一連の2D写真は、現実世界オブジェクトの構造化(structured)3Dモデルを取得するために、写真測量プロセスを通して処理される。いくつかの実施例では、写真測量プロセスの後に、後続のトポロジー転送(topology transfer)ステップ(換言すれば、リトポロジー又はモーフィング)に必要な2D又は3Dキーポイントを生成するキーポイント深層学習ネットワーク(DLN:Deep Learning Network)が続く。リトポロジー・ステップは、構造化3Dモデルにオブジェクトのベース・メッシュをモーフィングするために、キーポイントを使用する。ここで、現実世界オブジェクトの構造化3Dモデルは、長さ、幅、高さなど、オブジェクトの物理的属性の測定値を取得するために使用され得る。構造化3Dモデルは、オブジェクト・パラメータとともに、オブジェクトの圧力マップを生成するように訓練されたオブジェクト圧力推定DLNに提供される。異なるオブジェクト圧力推定DLNが、異なるオブジェクトについて訓練され得る。
【0010】
たとえば、足圧推定DLNは、地面又は他の基準面上の靴に関する人間の足の圧力マップを生成するように訓練され得る。このようにして取得された圧力マップは、限定はされないが、オブジェクトの性質を調査すること、又はカスタマイズされた製品の製造を可能にすることを含む、様々な目的のために使用され得る。再び人の足の実例を参照すると、一実施例によれば、このようにして取得された足圧マップは、カスタマイズされた履き物又はカスタマイズされたインソールなど、カスタマイズされた足アクセサリを製造するために使用され得る。人の属性、足測定値、足の3Dモデル、並びに足圧DLNによって予測された圧力マップは、人の足に合わせてカスタマイズされた製品を取得するために、3Dプリンタなど、製造システムに提供され得る。本明細書で開示及び説明される圧力マップ予測システムは、それゆえ、人の足の圧力マップを取得するために現在採用される、高価な3D足スキャナの必要性を解消する。その上、移動することが困難であり得る、足に問題がある患者は、患者の自宅に直接輸送され得る、カスタマイズされた足アクセサリを取得するために、3D足スキャナのロケーションまで移動するという手間が省ける。実際、圧力マップ予測システムは、オブジェクトの圧力マップを取得するための圧力検知ハードウェアの必要性を解消する。
【0011】
圧力マップ予測システムにおいて使用されるために、オブジェクト圧力推定DLNは、最初に、様々なオブジェクトの3Dモデル、オブジェクトのオブジェクト・パラメータ、及びオブジェクトの実際の圧力マップを含む、様々な入力から圧力マップを生成するように訓練されなければならない。異なるオブジェクト圧力推定DLNが、異なるオブジェクトについて同様の入力を用いて訓練され得る。もちろん、異なるオブジェクト・パラメータが、異なるオブジェクトについて収集されてもよい。訓練実例は、人間の足の特定の実例に関して考察されるが、同様の訓練方法論が、様々なオブジェクトの圧力マップを生成するように様々なオブジェクト圧力推定DLNを訓練するために適用され得ることが諒解できよう。一実施例では、足圧推定DLNのための訓練データ・セットが、収集される。訓練データ・セットは、人々の足の2D写真のセットから生成された異なる人々の異なる足の構造化3Dモデル、足が構造化3Dモデルを生成するために使用された異なる人々の属性、及び(物理的)足スキャナによって足について記録された圧力マップを含むことがある。訓練データは、それゆえ、構造化3Dモデルと、個人属性と、各人についての足の圧力マップとの間の対応関係を含む。この訓練データは、本明細書で詳述されるように、(一連の2D画像から取得された)構造化3Dモデル及び個人属性から人々の足について圧力マップをもたらすように足圧推定DLNを訓練するために使用される。
【0012】
一実施例では、オブジェクトの圧力マップを生成するためのコンピュータ実装方法が開示され、コンピュータ実装方法は、ハードウェア・プロセッサによって実行可能であり、方法は、オブジェクトの複数の2次元(2D)画像を受信することであって、複数の2D画像が、異なる角度からオブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、1つ又は複数の入力パラメータを受信することであって、入力パラメータが、オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、複数の2D画像からオブジェクトの構造化3次元(3D)モデルを構築することと、圧力推定深層学習ネットワーク(DLN:deep learning network)を使用して、構造化3Dモデル及び入力パラメータからオブジェクトの圧力マップを生成することであって、圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、オブジェクトの圧力マップを生成することとを備える。
【0013】
一実施例では、複数の2D画像からオブジェクトの構造化3Dモデルを構築することは、写真測量プロセス及びスケール・ファクタを使用して、複数の2D画像からオブジェクトのスケーリングされた非構造化(unstructured)3Dメッシュを生成することであって、スケーリングされた非構造化3Dメッシュが、構造化3Dモデルを生成するために利用される、オブジェクトのスケーリングされた非構造化3Dメッシュを生成することを備える。
【0014】
一実施例では、複数の2D画像からオブジェクトの構造化3Dモデルを構築することは、注釈付きの(annotated)スケーリングされた非構造化3Dメッシュと整合するように注釈付きの構造化ベース3Dメッシュをモーフィングすることによって(換言すれば、リトポロジーを通して)、注釈付きのスケーリングされた非構造化3Dメッシュから構造化3Dモデルを生成することをさらに備える。
【0015】
一実施例では、複数の2D画像からオブジェクトの構造化3Dモデルを構築することは、オブジェクトのスケーリングされた非構造化3Dメッシュからオブジェクトの注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、3DキーポイントDLNを利用することであって、注釈付きのスケーリングされた非構造化3Dメッシュが、構造化3Dモデルを生成するために利用される、3DキーポイントDLNを利用することをさらに備える。
【0016】
一実施例では、3DキーポイントDLNは、PointNetに基づく。
【0017】
一実施例では、複数の2D画像からオブジェクトの構造化3Dモデルを構築することは、複数の2D画像から1つ又は複数のキーポイントを抽出するために、2DキーポイントDLNを利用することであって、1つ又は複数のキーポイントが、構造化3Dモデルを生成するために、注釈付きの非構造化3Dメッシュを生成するために使用される、2DキーポイントDLNを利用することをさらに備える。
【0018】
一実施例では、複数の2D画像からオブジェクトの構造化3Dモデルを構築することは、注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、オブジェクトのスケーリングされた非構造化3Dメッシュ上に1つ又は複数のキーポイントを投影することであって、注釈付きのスケーリングされた非構造化3Dメッシュが、構造化3Dモデルを生成するために利用される、1つ又は複数のキーポイントを投影することをさらに備える。
【0019】
一実施例では、2DキーポイントDLNは、スタック型砂時計(stacked hourglass)ネットワーク及び高解像度ネットワーク(HRNet:high-resolution network)からなるグループから選択される。
【0020】
一実施例では、構造化3Dモデル及び入力パラメータからオブジェクトの圧力マップを生成することは、表面上に構造化3Dモデルを投影することによって密度マップを生成することであって、密度マップが、圧力マップを生成するために利用される、密度マップを生成することをさらに備える。
【0021】
一実施例では、圧力推定DLNは、修正されたベクトル量子化変分オートエンコーダ(VQ-VAE:vector quantized-variational auto-encoder)であり、密度マップは、圧力マップを生成するために、修正されたVQ-VAEへの入力として利用され、修正されたVQ-VAEは、所与の密度マップ及び1つ又は複数の所与の入力パラメータから所与の圧力マップを生成するように訓練される。
【0022】
一実施例では、1つ又は複数の入力パラメータは、少なくともスケール・ファクタを備え、スケール・ファクタは、構造化3Dモデルを現実世界座標にスケーリングするために使用される。
【0023】
一実施例では、方法は、構造化3Dモデルから抽出された3D測定値を利用して、構造化3Dモデルから3D製品を製造するようにとの命令を提供することをさらに備える。
【0024】
一実施例では、オブジェクトは、身体部位(たとえば、足又は手)である。
【0025】
一実施例では、圧力推定DLNは、3Dスキャナからの構造化3Dモデルと、オブジェクト圧力センサーからの対応する圧力マップとを備える訓練データに関して訓練される。
【0026】
一実施例では、構造化3Dモデルは、履き物又は任意の他の覆いがない人間の素足の少なくとも1つの3Dモデルを備える。
【0027】
一実施例では、圧力マップ予測深層学習ネットワーク(DLN)は、畳み込みニューラル・ネットワーク(CNN:convolutional neural network)を備える。一実施例では、深層学習ネットワーク(DLN)は、ピラミッド・プーリング・モジュールをさらに備える。
【0028】
一実施例では、方法は、深層学習ネットワーク(DLN)を訓練するために訓練データ・セットを提供する前に、訓練データ・セットを後処理することをさらに備える。
【0029】
様々な実施例において、コンピュータ・プログラム製品が開示される。コンピュータ・プログラムは、オブジェクトの一連の2D画像からオブジェクトの圧力マップを生成するために使用され得、それとともに具備される、プログラム命令又はプログラム・コードを有するコンピュータ可読記憶媒体を含み得、プログラム命令は、プロセッサに上述のステップを実施させるためにプロセッサによって実行可能である。
【0030】
様々な実施例では、コンピュータ実行可能命令を記憶するメモリと、メモリに動作可能に結合され、メモリに記憶されたコンピュータ実行可能命令を実行するハードウェア・プロセッサとを含むシステムが説明され、ここで、コンピュータ実行可能命令は、上述のステップを実行するプロセッサと通信可能に結合された命令を含み得る。
【0031】
別の実施例では、本発明は、プロセッサによって実行されたとき、プロセッサに、圧力マップを生成するためのプロセスを実施させる、実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体であり、命令は、プロセッサに上述のステップを実施させる。
【0032】
別の実施例では、本発明は、2Dフォン・カメラを使用する圧力マップ予測のためのシステムであって、システムは、2Dカメラ、プロセッサ、ディスプレイ、第1のメモリを有するユーザ・デバイスと、第2のメモリ及びデータ・リポジトリを備えるサーバと、前記ユーザ・デバイス及び前記サーバの間の電気通信リンクと、前記ユーザ・デバイス及び前記サーバの前記第1及び第2のメモリ上に具備された複数のコンピュータ・コードとを備え、前記複数のコンピュータ・コードは、実行されたとき、前記サーバ及び前記ユーザ・デバイスに、上述のステップを備えるプロセスを実行させる。
【0033】
また別の実施例では、本発明は、少なくとも1つのプロセッサ、メモリ、及び前記メモリ上に具備された複数のコンピュータ・コードを備えるコンピュータ化サーバであり、前記複数のコンピュータ・コードは、実行されたとき、前記プロセッサに、上述のステップを備えるプロセスを実行させる。本発明の他の態様及び実施例は、本明細書で説明されるステップを備える方法、プロセス、及びアルゴリズムを含み、本明細書で説明されるシステム及びサーバのプロセス及び動作モードをも含む。
【0034】
本発明のまた他の態様及び実施例は、発明を実施するための形態から、添付の図面と併せて読まれたときに明らかになろう。
【0035】
本明細書で説明される本発明の実施例は、例示的であり、限定的ではない。次に、実施例は、添付の図面を参照しながら実例として説明される。
【図面の簡単な説明】
【0036】
図1A】本発明の一実施例による、圧力マップ予測システムの概要概略図を示す図である。
図1B】本発明の別の実施例による、圧力マップ予測システムの別の概要概略図を示す図である。
図2A】本発明の例示的な実施例による、オブジェクトの一連の2D写真から圧力マップを生成するための1つの例示的プロセスの詳細な概略図を示す図である。
図2B】本発明の例示的な実施例による、オブジェクトの一連の2D写真から圧力マップを生成するための1つの例示的プロセスの詳細な概略図を示す図である。
図3】本発明の一実施例による、オブジェクトの一連の2D写真から圧力マップを生成するためのプロセスを例示するフローチャートを示す図である。
図4】写真測量プロセスの一実施例を使用して2D写真から、スケーリングされた非構造化3Dメッシュを構築するための方法の実例を詳述するフローチャートを示す図である。
図5】2D写真と、実施例に従って写真測量プロセスによって2D写真から構築された3Dモデルとの実例を示す図である。
図6】実施例による、カスタム・インソールを製造するための、圧力マップ予測システムによって生成された圧力マップの適用例のうちの1つのブロック図を示す図である。
図7】一実施例による、教師あり学習を介してオブジェクト圧力推定DLNを訓練するためのDLN訓練システムのブロック図を示す図である。
図8】本発明の一例示的実施例による、深層学習を使用して2D写真中のキーポイントを検出するための2DキーポイントDLNアーキテクチャの図を示す図である。
図9】本発明の一例示的実施例による、ベース・メッシュを使用して構造化3Dモデルを構築するためのリトポロジー方法の実例を詳述するフローチャートを示す図である。
図10】本発明の一例示的実施例による、圧力マップ予測DLNアーキテクチャのブロック図を示す図である。
図11】本発明の一実施例を実装するためのサーバの例示的ハードウェア・アーキテクチャ図を示す図である。
図12】本発明の一実施例を実装するための例示的システム・アーキテクチャを示す図である。
図13A】単一のカメラ及びARガイデッド走査アプリケーションをもつモバイル・デバイスが、圧力マップ予測のためのインターフェースとして使用される、本発明の使用事例の例示的図であり、本発明のいくつかの実施例がそれを通して実装されているモバイル・グラフィカル・ユーザ・インターフェース(GUI:graphical user interface)を示す、図である。
図13B】単一のカメラ及びARガイデッド走査アプリケーションをもつモバイル・デバイスが、圧力マップ予測のためのインターフェースとして使用される、本発明の使用事例の例示的図であり、本発明のいくつかの実施例がそれを通して実装されているモバイル・グラフィカル・ユーザ・インターフェース(GUI)を示す、図である。
図14A】単一のカメラ及びARガイデッド走査アプリケーションをもつモバイル・デバイスが、圧力マップ予測のためのインターフェースとして使用される、本発明の使用事例の例示的図であり、本発明のいくつかの実施例がそれを通して実装されているモバイル・グラフィカル・ユーザ・インターフェース(GUI)を示す、図である。
図14B】単一のカメラ及びARガイデッド走査アプリケーションをもつモバイル・デバイスが、圧力マップ予測のためのインターフェースとして使用される、本発明の使用事例の例示的図であり、本発明のいくつかの実施例がそれを通して実装されているモバイル・グラフィカル・ユーザ・インターフェース(GUI)を示す、図である。
図15】単一のカメラ及びARガイデッド走査アプリケーションをもつモバイル・デバイスが、圧力マップ予測のためのインターフェースとして使用される、本発明の使用事例の例示的図であり、本発明のいくつかの実施例がそれを通して実装されているモバイル・グラフィカル・ユーザ・インターフェース(GUI)を示す、図である。
【発明を実施するための形態】
【0037】
概要
次に、提供された図を参照しながら、本発明の実施例が、詳細に説明される。
【0038】
以下の説明では、解説の目的で、本発明の完全な理解を提供するために、多数の特定の詳細が記載される。しかしながら、本発明はこれらの特定の詳細なしに実践され得ることが当業者には明らかであろう。他の例では、構造、デバイス、活動、及び方法は、本発明を不明瞭にすることを回避するために、概略図、使用事例、及び/又はフロー図を使用して示される。以下の説明は、例示の目的で多くの詳細を含んでいるが、当業者であれば、示唆された詳細に対する多くの変形形態及び/又は改変形態が本発明の範囲内に入ることを諒解されよう。同様に、本発明の特徴のうちの多くが、互いに関して又は互いに併せて説明されるが、当業者は、これらの特徴のうちの多くが他の特徴とは無関係に提供され得ることを諒解されよう。それゆえに、本発明のこの説明は、本発明の一般性の喪失なしに、及び本発明に限定を課することなしに記載される。
【0039】
2つの表面が接触しているときのより高い及びより低い圧力の点を示す圧力プロファイルを表す圧力マップは、製品を設計及び製造する際に非常に有用である。現在利用可能な圧力マッピング技術は、収集されたデータを分析し、圧力マップを生成するために、センサー、スキャナなどのハードウェア、及びソフトウェアの使用を伴う。その結果、試験対象の表面が、表面の間の圧力プロファイルを収集するために、互いに物理的に接触させられることが、これらの圧力マッピング・システムにとって必要条件である。それらの表面が圧力プロファイル・データのために試験されるべきであるオブジェクトを物理的に近接させることは、サイズ又は距離の問題により、或いはヘルスケア/医療デバイス適用例における患者の場合、健康理由により、常に実現可能であるとは限らないことがある。本明細書で開示される圧力マップ予測システムは、一連の2D画像から再構築されたオブジェクトの3Dモデルに基づく圧力マップの生成を可能にすることによって、試験対象の表面の間が物理的に近接している必要性を緩和する。その結果、ユーザが自分のカスタマイズされた製品又は医療デバイスを受けとるための移動が、最小化されるだけでなく、センサー又はスキャナ・ハードウェアの使用も、低減されるか又は完全に解消され、システムのユーザにとっての摩擦点(friction point)を低減する。
【0040】
代わりに、深層学習技法と組み合わせられた高度なコンピュータ・ビジョン・アルゴリズムが、単純な2Dモバイル・デバイス・カメラから提供されたフォトから、オブジェクトの正確な圧力マップを生成するために使用され得る。本開示において、「2Dモバイル・デバイス・カメラ」という用語は、スマートフォン、タブレット、ラップトップ、又はデスクトップなど、コンピューティング・デバイス中に組み込まれた、又はコンピューティング・デバイスに接続された任意の旧来のカメラを表すために使用される。そのようなカメラによってキャプチャされた2D画像は、「2Dフォト」、「画像」、又は「写真」と呼ばれる。2Dフォトからの圧力マップ生成のための深層学習ネットワークを実装することに関する1つの困難さは、訓練データ・セットが、深層学習ネットワークを訓練するために必要とされることである。一実施例では、本発明はまた、2D画像から圧力マップを予測又は生成するように深層学習ネットワークを訓練するための方法論を提供する。
【0041】
2D画像からオブジェクトの圧力マップを生成すること
図1Aは、本発明の一実施例による、圧力マップ予測システムの概要概略図を示す。一実施例では、拡張現実(AR:augmented reality)ガイデッド走査アプリケーション102は、ユーザが、オブジェクト(たとえば、人間の足)の一連のフォト104を撮るのを支援する。オブジェクト関連パラメータ120(たとえば、オブジェクトの高さ又はユーザの身長)も、ARガイデッド走査アプリ102によって収集される。フォト104及びオブジェクト・パラメータ120は、サーバに送られ、サーバにおいて、写真測量、リトポロジー、及び1つ又は複数の深層学習ネットワーク(DLN)など、様々なプロセスを備える3Dモデル生成モジュール106が、フォト104からオブジェクトの構造化3Dモデル108を構築するために使用される。構造化3Dモデル110から、任意の数の測定が、構造化3Dモデルからオブジェクトの任意の所望の測定値114を取得するために、たとえば、スクリプト112を使用して実施され得る。さらに、構造化3Dモデル及び1つ又は複数のオブジェクト・パラメータ120から、サーバ上に配置された圧力推定深層学習ネットワーク(DLN)116は、以下でより詳細に説明されるように、オブジェクトの圧力マップ118を予測する。最後に、得られた圧力マップ118、測定値、及び3D走査モデル114は、ユーザ・デバイスに送られ得る。
【0042】
図1Bは、本発明の別の実施例による、圧力マップ予測システムの詳細な概略図を示す。圧力マップ予測システムは、圧力マップ152がそれについて生成されるべきである、表面135上で静止する現実世界オブジェクト133の一連の2D画像134、たとえば、写真を受信する。オブジェクト133の約4~6枚(又はそれ以上)の写真134のセットが、オブジェクト133が一連の写真134中で様々な方向からキャプチャされるように、オブジェクト133の様々な側から異なる角度から撮影され得る。スマートフォン131、タブレット・デバイス、又は他のイメージング・ハードウェアに取り付けられたカメラが、一連の2D写真134をキャプチャするために使用され得る。実施例では、スマートフォン131は、ユーザがオブジェクト133の写真134を正確にキャプチャするのを支援するために、拡張現実(AR)ガイデッド走査アプリケーション102、132を実行することができる。概して、一連の40~60枚の写真が、旧来の写真測量プロセスを使用してオブジェクト133の3Dモデルを再構築するために必要とされ得る。しかしながら、ARガイデッド走査アプリケーション132は、オブジェクト133が、最大のカバレージを確保するために撮影されるべきである角度、高さ、及び方向を識別するようにプログラム的に構成され得る。それゆえに、ARガイデッド走査アプリケーション132は、3Dモデル150構築のためにオブジェクト133を最も良くキャプチャするために、特定の高さに、特定の方向に、及び特定の角度にスマートフォン131を置くように、テキスト又はボイス・プロンプトを介してユーザをガイドすることができる。ARガイデッド走査アプリケーション132、及び圧力マップ予測システム140内に備えられた1つ又は複数の深層学習ネットワーク(DLN)の使用によって、必要とされる写真の数は、本発明の一実施例では、40~60枚のフォトから約4~6枚のフォトまで低減され得る。ARガイデッド走査アプリケーション132は、一連の2D写真134の各々をキャプチャするために、背景要件、オブジェクト位置、距離、及び角度について、オブジェクト(たとえば、足)を撮像するユーザをガイドすることができる。ARガイデッド走査アプリケーション132は、異なるオブジェクト・カテゴリーに属するオブジェクトが、圧力マップ予測システム140によって処理され得るので、ユーザによって選択されたオブジェクトのカテゴリーに基づいて、これらの指示を提供するように構成され得る。別の実施例では、フォト又はパラメータは、一連の2Dフォト134でポピュレートされたデータベースから取得され得る。
【0043】
ARガイデッド走査アプリケーション132はまた、一連の写真134を生成するユーザが、いくらかのオブジェクト・パラメータ136を追加として入力することを必要とすることがあり得る。ユーザによって提供されるべきオブジェクト・パラメータ136は、圧力マップ152がそれについて予測されるべきである、撮像されているオブジェクト133に依存することがある。実例では、オブジェクト・パラメータ136は、撮像されているオブジェクト133の属性だけでなく、オブジェクト133がそれの一部分にすぎないことがあるより大きい本体(body)の属性をも含むことがある。実例では、ユーザは、ARガイデッド走査アプリケーション132が、オブジェクト・パラメータ136を対応して検索することができるように、撮像されているオブジェクト133を明確に識別することを必要とされ得る。たとえば、撮像されているオブジェクト133が、人の足である場合、オブジェクト・パラメータ136は、限定はされないが、身長、体重、肥満度指数(BMI)、人種プロファイル、性別など、人の属性を含むことがある。
【0044】
一連の写真134及びオブジェクト・パラメータ136は、一連の写真134からオブジェクト133の仮想構造化3Dモデル150を再構築する、3Dモデル生成モジュール142及び圧力推定深層学習ネットワーク(DLN)146を利用する圧力マップ予測システム140に提供される。3Dモデル生成モジュール142は、以下で説明されるように、写真測量、キーポイントDLN、及びトポロジー転送(すなわち、リトポロジー又はモーフィング)を使用して、構造化3Dモデル150の再構築を実行する。キーポイントDLNは、図2A図2B、及び図8に関連してより詳細に解説されるように、構造化3Dモデル150の構築のために必要である2D又は3Dキーポイントを生成するように訓練されたニューラル・ネットワークである。トポロジー転送ステップは、走査されたベース3Dメッシュを構造化3Dモデル150にモーフィングするために、キーポイントを使用する。測定スクリプトは、オブジェクトの構造化3Dモデル150から、あらかじめ定義されたオブジェクト測定値を抽出することができることに留意されたい。
【0045】
次に、オブジェクト133の構造化3Dモデル152は、オブジェクト・パラメータ136とともに、オブジェクト圧力推定DLN146に提供される。オブジェクト圧力推定DLN146は、オブジェクト133の構造化3Dモデルに基づいて、表面135に関してオブジェクト133の圧力マップ152を予測又は生成するように、DLN訓練システム138によって訓練される。オブジェクト圧力推定DLN146アーキテクチャは、図10に関連してより詳細に説明される。圧力マップ152は、表面135と接触しているオブジェクト133によって及ぼされる圧力のプロファイルの視覚表現を提供する。より高い圧力エリアは、いくらかの色又は色強度によって指し示され、他の異なる色又は色強度が、より低い圧力エリアを指し示すために使用され得る。実施例では、圧力マップ152は、コンピューティング・デバイスのディスプレイ上に表示され得る。実施例では、オブジェクト133の圧力マップ152は、下流プロセス、たとえば、カスタム製造プロセスの実行のために他のシステムにさらに送信され得る。
【0046】
オブジェクト圧力推定DLN146は、本明細書でさらに詳述されるように、DLN訓練システム138によって所与のオブジェクト・カテゴリーについて圧力マップを生成するように訓練され得る。それゆえ、異なるオブジェクト圧力推定DLNが、特定のオブジェクト・カテゴリーの構造化3Dモデル及びオブジェクト・パラメータを受信したことに応答して、異なるオブジェクトについて圧力マップをもたらすように訓練され得る。圧力マップは、それゆえ、走査又はセンサー・ハードウェアを必要とせずに、及びオブジェクトがそのようなハードウェアに物理的に近接している必要性なしに、訓練されたDLNから取得される。オブジェクト圧力推定DLN146によって生成された圧力マップは、圧力マップ予測システム140に関連するGUI148を介して表示され得る。しかしながら、圧力マップを表示することは、圧力マップが、カスタム製造プロセスなど、さらなる下流プロセスの実行のためにさらに送信され得るので、常に必要とされるとは限らないことがある。
【0047】
様々なオブジェクト・カテゴリーの圧力マップに基づいて、様々な適用例が可能にされる。1つのそのような適用例は、カスタマイズされた履き物、衣類、又はアクセサリの製作を含む。実施例では、圧力マップの予測の目的で撮像されているオブジェクト133は、人の足など、人の身体部位に関係することがある。ARガイデッド走査アプリケーション132は、人の素足の一連の2D写真を生成するために使用され得る。足の構造化3Dモデル152は、一連の2D写真134から3Dモデル生成モジュール142によって再構築される。3Dモデルは、身長、体重、BMI、人種プロファイル、性別など、人のパラメータ136とともに、ARガイデッド走査アプリケーション132から収集される。オブジェクト圧力推定DLN146は、構造化3Dモデル及び人のパラメータにアクセスし、人の足の圧力マップ152を予測する。圧力マップ152及びリトポロジー化された(retopologized)構造化3Dモデル150は、人の足に合わせてカスタマイズされた、インソール158など、履き物又は足アクセサリを印刷することができる、3D印刷システムなど、製造システム154によってさらにアクセスされ得る。
【0048】
オブジェクト測定値を生成すること
実例では、足圧マップ152は、リトポロジー化された構造化3Dモデル150と組み合わせて、足の寸法及び足の圧力プロファイルを取得することを可能にする。体長とともに、人の幅、及び足の甲のタイプ(高い、中間、又は低い)、並びに圧力マップ152が、インソール158を製造する際に考慮され得る。いくつかの実施例では、画像中のオブジェクトを検出するマスク領域畳み込みニューラル・ネットワーク(R-CNN:Region Convolutional Neural Network)が、足圧マップから足の測定値を決定するために適用され得る。マスクRCNNベースのオブジェクト・セグメント化は、足の分離された画像に適用されたとき、足圧マップ中の足の属性を測定することを可能にする。たとえば、仮想空間における構造化3Dモデルに基づくPythonスクリプトを使用する様々な方法が、構造化3Dモデル150からオブジェクト133の寸法又は測定値を取得するために実装され得る。代替的に、オブジェクト測定プロシージャも、領域畳み込みニューラル・ネットワーク(RCNN:Regional Convolutional Neural Network)、ファスト(Fast)RCNNなどを使用して実装され得る。
【0049】
足測定適用例の場合、システムは、インソールを生成するために、足の寸法及び形状を考慮する。さらに、人の足の圧力マップは、人の足の高圧点、中圧点、及び低圧点の表現を提供する。その結果、人の足の寸法及び形状に加えて、人の足圧プロファイルに合わせてカスタマイズされたインソールが、製造され得る。
【0050】
圧力推定のための人工知能(AI:Artificial Intelligence)アルゴリズムの使用
尚、本明細書で説明されるデバイス及びシステム(並びにそれらの様々なコンポーネント)の実施例は、本明細書で説明される1つ又は複数の特徴(たとえば、構造化3Dモデルを再構築すること、圧力マップを予測すること、及び同様のもの)を自動化することを容易にするために、人工知能(AI:artificial intelligence)を採用することができる。コンポーネントは、本明細書で開示される様々な実施例/実例を行うために、様々なAIベースの方式を採用することができる。本明細書で説明される多数の決定(たとえば、決定する、確認する、推論する、算出する、予測する、予知する、推定する、派生する、予報する、検出する、計算する)を提供又は補助するために、本明細書で説明されるコンポーネントは、それへのアクセスを許可されたデータの全体又はサブセットを検査することができ、イベント及び/又はデータを介してキャプチャされた観測値のセットから、システム、環境などの状態について推理することを提供するか、又はそれらを決定することができる。決定は、特定のコンテキストを識別するために採用され得るか、又はたとえば、状態にわたる可能性分布を生成することができる。決定は、確率的、すなわち、データ及びイベントの考慮に基づく対象とする状態にわたる可能性分布の計算であり得る。決定はまた、イベントのセット及び/又はデータからより高いレベルのイベントを組み立てるために採用された技法を指すことがある。
【0051】
そのような決定は、イベントが、近い時間近接(close temporal proximity)で相関しているかどうかにかかわらず、並びにイベント及びデータが1つ又は複数のイベント及びデータ・ソースに由来するかどうかにかかわらず、観測されたイベントのセット及び/又は記憶されたイベント・データからの新しいイベント又はアクションの構築を生じることがある。本明細書で開示されるコンポーネントは、請求される主題に関連して自動及び/又は決定されたアクションを実施することに関連して、((たとえば、訓練データを介して)明示的に訓練された、並びに(たとえば、挙動を観測すること、選好、履歴情報、外来情報を受信することなどを介して)暗黙的に訓練された)様々な分類方式及び/又はシステム(たとえば、サポート・ベクター・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイジアン信念ネットワーク、ファジー論理、データ融合エンジンなど)を採用することができる。このようにして、分類方式及び/又はシステムは、いくつかの機能、アクション、及び/又は決定を自動的に学習及び実施するために使用され得る。
【0052】
たとえば、分類器は、f(z)=信頼度(クラス)によって、入力属性ベクトルz=(z、z、z、z、...、z)を、入力がクラスに属するという信頼度にマッピングし得る。そのような分類は、自動的に実施されるべきアクションを決定するために、(たとえば、分析ユーティリティ及びコストを考慮する)確率及び/又は統計ベースの分析を採用し得る。採用され得る分類器の別の実例は、サポート・ベクター・マシン(SVM:support vector machine)である。SVMは、可能な入力の空間において超曲面(hyper-surface)を見つけることによって動作し、ここで、超曲面は、トリガリング基準を非トリガリング・イベントから分割することを試みる。直観的に、これは、分類に、訓練データに近いが同等でない試験データを補正させる。他の指向及び無指向モデル分類手法は、たとえば、ナイーブ・ベイズ、ベイジアン・ネットワーク、決定木、ニューラル・ネットワーク、ファジー論理モデルを含み、及び/又は独立性の異なるパターンを提供する確率分類モデルが、採用され得る。本明細書で使用される分類はまた、優先度のモデルを開発するために利用される統計的回帰を含む。
【0053】
図2A及び図2Bは、本発明の例示的な実施例による、オブジェクトの一連の2D写真から圧力マップを生成するための2つの例示的プロセスの詳細な概略図を示す。
【0054】
図2A中で、ARガイデッド・アプリケーション202は、ターゲット・オブジェクトのフォト206及びパラメータ208を取得するためのインターフェースとして使用される。ARアプリ202はまた、距離正規化目的のためにスケール・ファクタを収集する。スケール・ファクタ204は、オブジェクト133又はそれの背景の寸法の、フォト206上のピクセル座標から実世界座標への転換を可能にするための正規化データを表す。様々な実施例では、モバイル・コンピューティング・デバイス上のセンサーからの深度データ、オブジェクト・パラメータ(たとえば、オブジェクトの高さ)、又は受信されたフォト中の知られているサイズをもった基準オブジェクトが、ピクセル座標から現実世界座標にスケーリングするためのスケール・ファクタ204として使用され得る。スケール・ファクタ204は、3Dモデル生成モジュール210内でのメッシュの現実世界寸法へのスケーリングを可能にする。AR走査アプリ202を通して収集されたフォト206及びスケール・ファクタ204は、オブジェクトの構造化3Dモデル224を生成するために、3Dモデル生成モジュール210に送られる。
【0055】
構造化及び非構造化メッシュは、それらの接続性によって異なる。非構造化メッシュは、頂点の間の不規則な接続性を有し、頂点が個々のメッシュ要素を作り出すやり方の明示的リスティングを必要とする。非構造化メッシュは、それゆえ、不規則なメッシュ要素を可能にするが、隣接頂点関係の明示的記憶を必要とし、より低い記憶効率及びより低い解像度につながる。しかしながら、構造化メッシュは、それの頂点の間の規則的な接続性を有し(換言すれば、メッシュ要素及び頂点距離が、あらかじめ定義され)、より高い空間及び記憶効率並びに優れた解像度につながる。
【0056】
図2A中で説明される実施例では、3Dモデル生成モジュール210は、3つの主要な動作、すなわち、写真測量212、3Dキーポイント検出216、及びリトポロジー220を行う。写真測量212は、3次元でオブジェクトを表すスケーリングされた非構造化メッシュ214を生成するために、ターゲット・オブジェクトの入力フォト206及びスケール・ファクタ204を使用する。写真測量212は、図4のコンテキストにおいて以下で詳細に説明される。写真測量212プロセスによって生成されたスケーリングされた非構造化メッシュ214は、次いで、3DキーポイントDLN216に供給される。
【0057】
キーポイント注釈付け(annotation)は、3Dオブジェクトのメッシュ表現内の(たとえば、オブジェクト表面上の)キーポイントを検出することによって、スケーリングされた非構造化メッシュ214に注釈を付ける(annotate)プロセスである。非構造化3Dメッシュの注釈付けは、構造化3Dモデルの生成における初期段階として必要とされる。注釈付けは、ターゲット・オブジェクト133の顕著な特徴を指し示す注釈付けキーポイントの生成である。メッシュ注釈付けは、特定のオブジェクト・タイプ(たとえば、特定の身体部位)に関して訓練された1つ又は複数の注釈付けDLNモジュールを通して行われ得る。いくつかの実施例では、たとえば、背景からのオブジェクトのセグメント化は、別個のDLNによって行われ得る。
【0058】
キーポイント検出プロセスは、ランドマーク検出の広義のカテゴリーに入る。ランドマーク検出は、DLNが一般的に使用されるコンピュータ・ビジョン・アプリケーションのカテゴリーである。ランドマーク検出は、2D又は3Dイメージング・データ中の顕著な特徴の識別を意味し、局在化、オブジェクト認識などの目的で広く使用される。PointNet、フィードフォワード・ニューラル・ネットワーク(FFNN:FeedForward Neural Network)、ファスター(Faster)領域畳み込みニューラル・ネットワーク(ファスターR-CNN:Regional Convolutional Neural Network)、及び様々な他の畳み込みニューラル・ネットワーク(CNN:Convolutional Neural Network)など、様々なDLNが、ランドマーク検出のために設計された。3DキーポイントDLN216は、PointNetなど、任意の3Dランドマーク検出機械学習アルゴリズムに基づき得る。
【0059】
PointNetは、3Dセマンティック構文解析、部分セグメント化、並びに分類において適用される高効率なDLNである。PointNetは、直接的にポイント・クラウドを処理するように設計され、よって、効果的な3Dランドマーク検出を可能にする。PoitnNetはまた、非構造化3Dメッシュ入力の不要な変換を回避する。一実施例では、PointNetアルゴリズムは、本明細書で完全に記載されるかのように、本明細書でその全体が参照により本明細書に組み込まれる、arXiv:1612.00593で入手可能な、Charles R.Qi,et al.、「PointNet:Deep Learning on Point Sets for 3D Classification and Segmentation」、CVPR2017、2017年11月9日に説明されているように実装される。PointNetは、本発明の範囲内にある例示的DLNアルゴリズムにすぎず、本発明は、PointNetの使用に限定されない。他のDLNアルゴリズムも、本発明の範囲内にある。たとえば、本発明の一実施例では、畳み込みニューラル・ネットワーク(CNN)は、オブジェクト・キーポイントを抽出するための、及びメッシュに注釈を付けるための3DキーポイントDLN216として利用される。
【0060】
3Dキーポイント注釈付けを行うために、3DキーポイントDLNは、オブジェクト・メッシュ及び対応するキーポイント注釈付けを備える訓練データ・セットを使用してあらかじめ訓練されなければならない。キーポイント注釈付けDLNは、特定のタイプのオブジェクトについてキーポイントを検出するように訓練され得る。いくつかの実施例では、セグメント化(換言すれば、オブジェクトの、それの背景からの切り離し)及び注釈付けは、異なるDLNを通して行われ得る。3Dキーポイント注釈付けDLNは、注釈付きの非構造化3Dメッシュ218をもたらす。
【0061】
リトポロジー・プロセス220は、スケーリングされた構造化3Dモデル224を生成するために、注釈付きの構造化ベース3Dメッシュ222と一緒に、注釈付きの非構造化3Dメッシュ218を使用する。リトポロジー220は、オブジェクトの存在する構造化された注釈付きのベース3Dメッシュ222の形状を、それのキーポイントが、3DキーポイントDLN216によってオブジェクト133上で検出された(及び注釈付きの非構造化3Dメッシュ218によって表された)キーポイントと整合するように、ターゲット・オブジェクト133の構造化3Dモデル224に変形する、モーフィング・プロセスである。リトポロジーはまた、図9のコンテキストにおいて考察されるように、メッシュ表面又は投影された2次元輪郭に対して動作し得る。ベース3Dメッシュ222は、サーバ上に又はデバイス内に記憶された、オブジェクトの未加工3Dメッシュ表現である。リトポロジー・プロセス220は、ターゲット・オブジェクト133のカテゴリーにおける少なくとも1つのベース3Dメッシュ222を含んでいる、3Dベース・メッシュのライブラリにアクセスすることができる。一実施例では、ライブラリ中のベース3Dメッシュは、構造化され、事前に注釈を付けられる。ベース3Dメッシュのモーフィングは、それゆえ、オブジェクトのスケーリングされた構造化3Dメッシュ表現224をもたらす。リトポロジーは、さらに、図9のコンテキストにおいてより詳細に考察される。
【0062】
3Dモデル生成モジュール210によって生成された構造化3Dモデル224は、次いで、オブジェクト133の出力圧力マップ228を生成するために、オブジェクト・パラメータ208とともに圧力推定DLN226に入力される。圧力推定DLNは、任意の好適なDLNアルゴリズムを使用し得る。たとえば、ベクトル量子化変分オートエンコーダ(VQ-VAE:Vector Quantized-Variational AutoEncoder)は、以下で考察されるように、圧力マップ228を生成するのに特に好適である、DLNの一種である。当然、VQ-VAEは、本発明の範囲内にある例示的DLNアルゴリズムにすぎず、本発明は、VQ-VAEの使用に限定されない。他のDLNアルゴリズムも、本発明の範囲内にある。
【0063】
圧力推定を行うために、圧力推定DLN226は、図7中で詳細に説明されるように、オブジェクトの構造化3Dモデル及び対応する圧力マップを備える訓練データ・セットを使用してあらかじめ訓練されなければならない。圧力推定DLNは、特定のタイプのオブジェクト(たとえば、人間の足)について圧力マップを生成するように訓練され得る。
【0064】
図2Bは、本発明の異なる実施例を描き、ここで、2DキーポイントDLN244が、3DキーポイントDLN216の代わりに使用され、圧力推定DLN266は、圧力マップ268を生成するために密度マップ264を必要とする。図2B中で、ARガイデッド・アプリケーション232は、ターゲット・オブジェクトのフォト236及びパラメータ238を取得するためのインターフェースとして使用される。ARアプリ232はまた、距離正規化目的のためにスケール・ファクタを収集する。スケール・ファクタ234は、オブジェクト133又はそれの背景の寸法の、フォト236上のピクセル座標から実世界座標への転換を可能にするための正規化データを表す。よって、スケール・ファクタ234は、3Dモデル生成モジュール240内のメッシュの現実世界寸法へのスケーリングを可能にする。AR走査アプリ232を通して収集されたフォト236及びスケール・ファクタ234は、オブジェクトの構造化3Dモデル260を生成するために、3Dモデル生成モジュール240に送られる。
【0065】
図2B中で説明される実施例では、3Dモデル生成モジュール240は、4つの主要な動作、すなわち、写真測量242、2Dキーポイント検出244、(「投影1」と示されている)キーポイント投影252、及びリトポロジー256を行う。図2Aに関して、写真測量242は、3次元でオブジェクトを表すスケーリングされた非構造化メッシュ248を生成するために、ターゲット・オブジェクトの入力フォト236及びスケール・ファクタ234を使用する。しかしながら、写真測量プロセス242はまた、正確なキーポイント投影252に必要なカメラ・パラメータ250を生成する。カメラ・パラメータ252は、位置パラメータ(たとえば、カメラ・ロケーション及び回転)、並びにカメラの焦点距離、レンズひずみ、サンプリング(ピクセル・サイズ)、又はイメージング・サイズ(換言すれば、デジタル・センサーのイメージング・エリアのサイズ)など、内部パラメータを含み得る。写真測量242は、図4のコンテキストにおいて以下で詳細に説明される。
【0066】
図2Bの実施例では、3Dモデル生成モジュール240は、入力フォト236からキーポイント246を生成するために、2DキーポイントDLN244を使用する。このコンテキストでは、2Dキーポイント検出は、2Dフォト236からキーポイント246を検出及び抽出するプロセスである。生成されたキーポイントは、2Dフォト236上でのターゲット・オブジェクト133の顕著な特徴を指し示す。キーポイント投影ステップ252(投影1)において、生成されたキーポイント246は、スケーリングされた非構造化3Dメッシュ248上に投影され、ここで、カメラ・パラメータ250は、3D空間におけるキーポイント246のロケーションを正確に決定するために使用される。投影ステップ252は、それゆえ、注釈付きの非構造化3Dメッシュ254を生成するために、キーポイント246を、スケーリングされた非構造化3Dメッシュ248と組み合わせる。
【0067】
キーポイント生成は、特定のオブジェクト・タイプ(たとえば、人間の足)に関して訓練された1つ又は複数の2DキーポイントDLNモジュールを通して行われ得る。いくつかの実施例では、背景からのオブジェクトのセグメント化は、別個のDLNによって行われ得る。2Dキーポイント生成プロセスも、上記で考察されたランドマーク検出のカテゴリーに入る。スタック型砂時計(Stacked Hourglass)畳み込みニューラル・ネットワーク(CNN)、HRNet、フィードフォワード・ニューラル・ネットワーク(FFNN)、ファスター領域畳み込みニューラル・ネットワーク(ファスターR-CNN)、及び他のCNNなど、様々なランドマークDLNが、2DキーポイントDLNを作り上げるために使用され得る。スタック型砂時計CNNの例示的なアーキテクチャが、図8のコンテキストにおいて考察される。
【0068】
2Dキーポイント注釈付けを行うために、2DキーポイントDLNは、オブジェクト・フォト及び対応するキーポイントを備える訓練データ・セットを使用してあらかじめ訓練されなければならない。2DキーポイントDLNは、特定のタイプのオブジェクトについてキーポイントを検出するように訓練され得る。いくつかの実施例では、セグメント化(換言すれば、オブジェクトの、それの背景からの切り離し)及び注釈付けは、上述のように、異なるDLNを通して行われ得る。
【0069】
図2Aの実施例の場合と同様に、キーポイント投影252ステップ(投影1)は、注釈付きの非構造化3Dメッシュ254をもたらす。同様に、リトポロジー・プロセス256は、スケーリングされた構造化3Dモデル260を生成するために、注釈付きの構造化ベース3Dメッシュ258と一緒に、注釈付きの非構造化3Dメッシュ254を使用する。リトポロジーは、さらに、図9のコンテキストにおいてより詳細に考察される。
【0070】
図2B中で、構造化2Dモデル260から圧力マップ268への遷移は、図2Aのものとは異なる実施例を使用する。3Dモデル生成モジュール240によって生成された構造化3Dモデル260は、まず、第2の投影プロセス262(投影2)を通して密度マップ264に転換される。密度マップ264は、次いで、ターゲット・オブジェクト133の圧力マップを生成するために、圧力推定DLN266に入力される。密度マップ264は、基準面上に投影されたターゲット・オブジェクト133の体積の2D表現である。一実施例では、密度マップ264は、密度マップ上の各点が、投影の軸に沿ってオブジェクトの厚さを表すように、構造化3Dモデル260の最も近い点と最も遠い点との間の距離を基準面上に投影することによって生成される。
【0071】
圧力推定DLN266は、オブジェクト133の出力圧力マップ268を生成するために、密度マップ264及びオブジェクト・パラメータ238を使用する。圧力推定DLNは、任意の好適なDLN方法を使用し得る。密度マップ及びオブジェクト・パラメータから圧力マップを生成する目的で修正されたVQ-VAEアルゴリズムが、図10中で考察される。
【0072】
本明細書で開示される様々なDLN適用例について上記で列挙されたDLNアルゴリズム(たとえば、スタック型砂時計、HRHNet、VQ-VAEなど)は、本発明の範囲内にある例示的アルゴリズムにすぎず、本発明は、列挙されたDLNアルゴリズムの使用に限定されない。他のDLNアルゴリズムも、本発明の範囲内にある。その上、他の機械学習(ML:machine learning)方法が、様々な列挙されたDLNアルゴリズムの代わりに、又は様々な列挙されたDLNアルゴリズムと組み合わせて使用され得る。よって、限定はされないが、リグレッサ、最近傍アルゴリズム、決定木、サポート・ベクター・マシン(SVM:support vector machine)、Adaboost、ベイジアン・ネットワーク、ファジー論理モデル、進化的アルゴリズムなどを含む他のMLアルゴリズムが、本発明の範囲内にある。
【0073】
図3は、実施例による、オブジェクトの一連の2D写真から圧力マップを生成するためのプロセスのフローチャートを示す。ステップ302において、一連の2D写真134、206、236が取得される。一連の写真の各写真は、およそ4~5メガピクセルであり得、構造化3Dモデル150、224、260の生成に有用であるために、ぼけなどの欠陥なしにその全体がオブジェクト133を示す。概して、写真測量プロセスは、異なる角度からのオブジェクト133の40~60枚の写真を必要とする。しかしながら、本発明の一実施例では、キーポイント深層学習ネットワーク(DLN)216、244とともにARガイデッド走査アプリケーション132、202、232を使用すると、写真データを記録する撮影者は、3Dモデルを再構築するために3Dモデル生成モジュール210、240に十分な情報を提供するために、構造化3Dモデル構築のためのオブジェクト133の最適なカバレージを与えることができる厳密な角度及び距離にガイドされ得るので、写真の数をほんの4~6枚の写真に低減することができる。
【0074】
ステップ304において、オブジェクト・パラメータ136、208、238はまた、たとえば、ARガイデッド走査アプリケーション132、202、232を介して受信される。上述のように、写真データを記録するユーザは、オブジェクト・パラメータのセットが収集のために選択され得るようにオブジェクト・カテゴリーを入力することを必要とされ得る。再び、オブジェクト・パラメータ136、208、238は、オブジェクト属性であり得、ここで、オブジェクト133は、完全で、より大きい本体の部分ではなく、それゆえ、その全体が撮影されている。しかしながら、オブジェクト133が、より大きい本体の一部分、たとえば、人の手又は足である場合、オブジェクト・パラメータ136、208、238は、人の体重、身長など、より大きい本体の特性をも含むことができる。
【0075】
一連の2D写真134、206、236及びオブジェクト・パラメータ136、208、238は、図2A及び図2Bのコンテキストにおいて考察されたように、ステップ306において一連の写真134、206、236からオブジェクト133の構造化3Dモデル150、224、260を構築する、3Dモデル生成モジュール142、210、240に提供される。
【0076】
構造化3Dモデル150、224、260及びオブジェクト・パラメータ136、208、238は、ステップ310においてオブジェクト圧力推定DLN146、226、266に直接的に(図2A)又は間接的に(図2B)提供される。オブジェクト133と表面135との間の接触のエリア内の各点における圧力を推定するように訓練された、オブジェクト圧力推定DLN146、226、266は、ステップ312においてオブジェクト133の圧力マップ152、228、268を予測する。このようにして生成された圧力マップは、分析目的のために、又は下流の製造プロセスを可能にするためにさらにアクセスされ得る。圧力マップ152、228、268に関するデータは、一実施例では、可視GUI出力なしに、製造システム154など、外部のシステムに直接的にエクスポートされ得る。別の実施例では、1つ又は複数のコンピューティング・デバイス上の1つ又は複数のGUI上に表示される圧力マップの形態の可視出力が、もたらされ得る(たとえば、図15)。
【0077】
例示的写真測量プロセス
図4は、2D写真206、236から、スケーリングされた非構造化3Dメッシュ214、248を構築するための方法の実例を詳述するフローチャートを示す。2D写真から、スケーリングされた非構造化3Dメッシュを構築するための様々なアルゴリズムが、本発明の範囲内にある。限定ではなく例示として、スケーリングされた非構造化3Dメッシュ生成のための、本発明の一実施例によって実装されるステップが、以下で考察される。他のアルゴリズムの実装形態は、スケーリングされた非構造化3Dメッシュ214、248の構築に、異なるステップ又はプロセスを伴い得る。オブジェクトの構造化3Dモデルの生成のためのさらなるステップが、図8図9、及び図10に関連して開示される。
【0078】
写真測量プロセスは、最初に、ステップ404において2D写真402、206、236から特徴を抽出する。その結果、変化するカメラ視点に対して一連の2D写真402、206、236において不変である特徴的なピクセルのグループが、抽出される。スケール不変特徴量変換(SIFT:Scale-invariant feature transform)アルゴリズムなどの特徴検出方法が、使用され得る。SIFTは、最初に、回転、並進(translation)、及びスケールにかかわらず、一連の2D写真402、206、236中の第2の画像の識別パッチ(discriminative patch)と比較され得る、一連の2D写真402、206、236の第1の画像中の識別パッチの抽出を可能にする。この方法論では、SIFT不変性が、観点が画像獲得中に変化しているときに起こる画像変換に対処するために使用され得る。実例では、ポストフィルタ処理ステップが、抽出される特徴の数を制限するために使用され得る。
【0079】
ステップ406において、画像整合プロセスが、オブジェクト133の同じエリアをキャプチャする写真を識別するために実行される。語彙木手法(vocabulary tree approach)が、画像記述子を生成するために採用され得る。次いで、画像記述子の間の距離が、オブジェクトの同じ部分を示す写真を整合させるために計算される。
【0080】
ステップ408において、候補画像サブセット、たとえば、406において識別された画像ペアの間の特徴が、整合される。実例では、2つ又はそれ以上の入力画像からの記述子のセットの間の測光整合(photometric match)が、実施され得る。たとえば、入力画像I中の各特徴について、候補整合特徴(candidate matching feature)のリストが、画像IIから取得される。再び、ステップ406において生成された特徴記述子は、画像ペアの間の特徴整合(feature matching)のために採用され得る。近似最近傍(ANN:Approximate Nearest Neighbor)などのプロセスが、特徴整合のために採用され得る。
【0081】
ステップ410において、入力画像によって提供された観測値の背後にある幾何学的関係が分析され、すべてのカメラの姿勢(位置及び向き)及び内部較正をもつ剛性シーン構造(rigid scene structure)(3D点)が推論される。まず、新しいビューを加えることによって反復的に拡張された初期2ビュー再構築(initial two-view reconstruction)が、計算される。
【0082】
ステップ410において解決(resolve)されたカメラの各々について、各ピクセルの深度値が、412において検索される。ブロック整合、セミグローバル整合(SGM:Semi-Global Matching)、又はADCensusなど、様々な方法論が、深度マップ推定のために採用され得る。2D写真402、206、236の各々についての深度マップが、独立して及び並列に計算され得る。フィルタ処理ステップは、複数のカメラの間の一貫性(consistency)を保証することができる。スケール・ファクタ204、234入力が、ステップ412又は414において使用され、よって、入力画像402から生成されたオブジェクトの3D表現をスケーリングすることができる。
【0083】
メッシング・ステップ414において、(オブジェクト133を含む)シーンの高密度幾何学的表面表現が、作成される。すべての深度マップは、最初に、互換性がある深度値が八分木セルにマージされるグローバル八分木(global octree)に組み合わせられる。複合投票手順(complex voting procedure)、たとえば、3Dデローネイ・テトラヘドラリゼーションが、次いで、セル上の重さ、及びセルを接続するファセット上の重さを算出するために実行される。得られた体積は、次いで、グラフ・カット・マックスフローのような手順を採用することによって、最適に切断される。この切断は、抽出されたメッシュ表面を表す。他のフィルタ処理手順が、ローカル・アーテファクトを削除するためにメッシュに対して適用され得、メッシュはまた、不要な頂点を低減するために簡略化され得る。
【0084】
ステップ414において作成されたメッシュは、ステップ416においてテクスチャ化される。メッシュが、関連する「UV」を有しない場合、写真測量プロセスは、自動「UV」マップを計算することができる。この例では、文字「U」及び「V」は、2Dテクスチャの軸を表す。各三角形について、各頂点に関連する可視性情報が、次いで、テクスチャ候補を検索するために使用される。表面に対する良好な角度をもたないカメラは、前頭平行カメラ(fronto-parallel camera)を選好するためにフィルタ処理され、次いで、ピクセル値は平均化される。
【0085】
このようにして上記で説明されたプロセスの各々は、中間ファイルを作成する。たとえば、メッシング・プロセス414は、オブジェクト・ファイル(たとえば、「mesh.obj」)を作成する。しかしながら、最終結果は、オブジェクト・タイプである、テクスチャ化された「mesh.obj」の形態のテクスチャ・マップである。背景又はキャプチャされた他の外来アーテファクトは除去され、オブジェクト418のスケーリングされた非構造化3Dメッシュを生じることができる。写真測量プロセスは、スケーリングされた非構造化3Dオブジェクト・メッシュ418作成プロセスの各ステップにおいて視覚出力を表示するための別個のGUIを含むことができるが、GUIは、すべてのシナリオにおいて必要とされるとは限らない。高解像度テキスト・マップ又は3Dメッシュは、概して、写真測量プロセスにおけるデフォルト設定を用いて作成されるが、これらの高解像度マップは、リアルタイム適用例のためのより低い解像度の構造化テクスチャ・マップ(たとえば、構造化3Dモデル150、224、260)を作成するために、抽出されたキーポイント218、246及びリトポロジー220、256を使用してさらに処理され得る。
【0086】
図5は、実施例による、2D写真134、206、236、及び3Dモデル生成モジュール142、210、240によって2D写真から構築された構造化3Dモデル150、224、260の実例を示す、3Dモデル生成500を例示する。手の写真、たとえば、画像502が、3Dモデル生成モジュール142、210、240に供給されたとき、504において示されている手の構造化3Dモデルが、生成される。同様に、画像506など、脚の一連の写真が、3Dモデル生成モジュール142、210、240に供給されたとき、506において示されている脚の3Dモデルが、生成される。
【0087】
生成された圧力マップを利用するカスタム・インソール製造
図6は、本発明の実施例による、圧力マップ予測システム140によって生成された圧力マップ602の適用例のうちの1つのブロック図を示す。足の圧力マップ602は、製造システム608に提供される。加えて、足の生成された構造化3Dモデル606から取得され得る足測定値604も、足の構造化3Dモデル606と一緒に、製造システム608に供給される。3Dプリンタなど、製造システム608は、次いで、カスタマイズされたインソール610など、製品を出力することができる。出力製品(たとえば、インソール610)は、提供された測定値及びオブジェクト形状(たとえば、人の足の形状)を考慮に入れて作られるだけでなく、それは、予測された圧力マップ602中の特定の圧力点に合わせてカスタマイズされる。図6のインソール610の場合、製造システム608は、足測定値のみからもたらされるであろうインソールよりも足により良く人間工学的にフィットする製品を提供する。
【0088】
圧力推定深層学習ネットワーク(DLN)を訓練すること
深層学習ネットワークなど、任意の機械学習方法のための開始点は、システム入力及び正しい成果の複数の例を含んでいるドキュメント化されたデータセット(換言すれば、訓練データ)である。このデータ・セットは、機械学習システムを訓練し、訓練されたシステムの性能を評価及び最適化するために、限定はされないが、パラメトリック分類方法、ノンパラメトリック方法、決定木学習、ニューラル・ネットワーク、帰納的学習及び分析的学習の両方を組み合わせる方法、並びに回帰モデルなどのモデリング手法など、標準化された機械学習方法を含む、当技術分野において知られている方法を使用して、使用され得る。機械学習システム出力の出力の品質は、(a)パターン・パラメータ化、(b)学習機械設計、及び(c)訓練データベースの品質に依存する。これらのコンポーネントは、様々な方法を使用して改良及び最適化され得る。たとえば、データベースは、新しいドキュメント化された主題のためのデータ・セットを加えることによって、改良され得る。データベースの品質は、たとえば、カスタマイゼーションが1人又は複数の専門家によって達成された事例でデータベースをポピュレートすることによって、改善され得る。このようにして、データベースは、専門家の知識をより良く表すことになる。一実施例では、データベースは、訓練されたシステムの評価を支援することができる、整合の実例についてのデータを含む。訓練データベースはまた、訓練されているDLNによってもたらされた成功した成果でデータベースをポピュレートすることによって、フィードバック方法を介して改善され得る。
【0089】
図7は、一実施例による、教師あり学習を介してオブジェクト圧力推定DLNを訓練するためのDLN訓練システム138のブロック図を示す。教師あり学習は、所望のネットワーク挙動の実例のセットとともにネットワークに学習則を提供することを伴う。DLN訓練システム138、710は、3Dモデル生成のための、足スキャナなど、3Dスキャナ701と、対応する圧力マップ708を生成するためのオブジェクト圧力スキャナ706とに結合され得る。DLN訓練システム138、710は、3Dモデル受信機712、オブジェクト・パラメータ受信機714、圧力マップ受信機716、及び訓練データ720を記憶するための訓練データベース718を含む。訓練データ720は、特定のオブジェクト・カテゴリー(たとえば、人間の足)に属するオブジェクトの圧力マップ152、228、268を生成するようにオブジェクト圧力推定DLN146、226、266を訓練するために、その特定のオブジェクト・カテゴリーに関連する多数のサンプル・オブジェクトから収集される。上述のように、異なるDLNが、異なるカテゴリーのオブジェクトの圧力マップを生成する際に訓練され得る。
【0090】
足圧マップを生成するためのオブジェクト圧力推定DLN722を訓練する実例が、以下で考察される。DLN訓練システム138、710には、多数の人々の足から収集された訓練データ720が供給される。各人について、3Dモデル受信機712は、人の(片方又は両方の)足の3Dモデル702を受信する。3Dモデル702は、3Dスキャナ701(たとえば、足スキャナ)を使用して生成される。代替的に、受信された3Dモデルは、3Dモデル生成モジュール142、210、240を使用して一連の2D画像から生成され得る。オブジェクト・パラメータ受信機714は、身長、体重、BMI、性別、人種プロファイルなどを含む、上述のオブジェクト又は人の様々なパラメータを受信する。最後に、圧力マップ受信機716は、オブジェクト圧力スキャナ706によって生成されたオブジェクト(たとえば、人の足)の圧力マップ708を受信する。サンプルは、訓練データベース718をポピュレートするために、数千人の人々から収集される。訓練データベース718からのサンプルは、圧力マップ152、228、268を生成するようにオブジェクト圧力推定DLN722を訓練及び試験するために使用される。仮想訓練データも、実在足圧走査に対するデータ拡張、又は仮想足モデルから仮想訓練データを生成することなど、技法を使用して、圧力推定DLN146、226、266、722を訓練するために生成され得る。
【0091】
例示的キーポイントDLNアーキテクチャ及びリトポロジー・プロセス
図8は、本発明の一例示的実施例による、深層学習を使用して2D写真236中のキーポイント246を検出するための2DキーポイントDLN244アーキテクチャの図を示す。図8は、例示的スタック型砂時計畳み込みニューラル・ネットワーク(CNN)アーキテクチャを示す。
【0092】
スタック型砂時計CNNは、人間の姿勢など、パターンを検出する際に効率的であるランドマーク検出DLNである。それらは、通常、複数のスタック型砂時計モジュールから構成され、ここで、各砂時計モジュールは、対称的なダウンサンプリング及びアップサンプリング層を有する。連続する砂時計モジュールは中間監視を有し、このようにして、ダウンサンプリング及びアップサンプリング層の間の繰返し推論を可能にする。一実施例では、スタック型砂時計CNNアルゴリズムは、本明細書で完全に記載されるかのように、本明細書でその全体が参照により本明細書に組み込まれる、arXiv:1603.06937で入手可能な、Alejandro Newell,et al.、「Stacked Hourglass Networks for Human Pose Estimation」、ECCV2016、2016年9月17日に説明されているように実装される。
【0093】
図8は、4つの砂時計モジュール806をもつスタック型砂時計CNN804を示す。図8中に示されているように、訓練されたスタック型砂時計CNNは、入力画像802からキーポイント806を抽出するために使用され得る。2Dキーポイント注釈付けを行うために、スタック型砂時計CNNは、オブジェクト・フォト及び対応するキーポイントを備える訓練データ・セットを使用してあらかじめ訓練されなければならない。そのような訓練データは、3D走査された及びリトポロジー化されたオブジェクト(たとえば、足)データを通して取得され得る。
【0094】
高解像度ネットワーク(HRNet:High-Resolution Network)は、2DキーポイントDLN244のための好適なDLNベース・アーキテクチャである別のランドマーク検出DLNである。HRNetは、人間の姿勢推定、セマンティック・セグメント化、及び顔ランドマーク検出において使用される。HRNetsは、接続平行高低間解像度畳み込み(connected parallel high-to-low resolution convolution)から構成され、平行畳み込みにわたる繰返し融合を可能にし、強い高解像度表現につながる。一実施例では、HRNetアルゴリズムは、本明細書で完全に記載されるかのように、本明細書でその全体が参照により本明細書に組み込まれる、arXiv:1902.09212で入手可能な、Ke Sun,et al.、「Deep High-Resolution Representation Learning for Human Pose Estimation」、CVPR2019、2020年1月9日に説明されているように実装される。
【0095】
スタック型砂時計CNN及びHRNetは、本発明の範囲内にある例示的DLNアルゴリズムにすぎず、本発明は、スタック型砂時計CNN又はHRNetの使用に限定されない。他のDLNアルゴリズムも、本発明の範囲内にある。たとえば、本発明の一実施例では、畳み込みニューラル・ネットワーク(CNN)は、2D入力フォト236からオブジェクト・キーポイント246を抽出するための2DキーポイントDLN244として利用される。
【0096】
図9は、本発明の一例示的実施例による、注釈付きの非構造化3Dメッシュ218、254及びベース3Dメッシュ222、258から構造化3Dモデル224、260を構築するためのリトポロジー220、256方法の実例を詳述するフローチャートを示す。ベース3Dメッシュ222、258は、(たとえば、クラウド中の)サーバに又はデバイス内に記憶された、オブジェクトの未加工3Dメッシュ表現である。リトポロジー・プロセス220、256は、ターゲット・オブジェクト133のカテゴリーにおける少なくとも1つのベース3Dメッシュ222、258を含んでいる、3Dベース・メッシュのライブラリにアクセスすることができる。一実施例では、ライブラリ中のベース3Dメッシュは、構造化され、事前に注釈を付けられる。リトポロジー220、256は、存在する構造化及び注釈付きのベース3Dメッシュ222、258を、それのキーポイント及びそれの表面が、注釈付きの非構造化3Dメッシュ218、254のキーポイント及び表面と整合するように、ターゲット・オブジェクト133の構造化3Dモデル224、260にモーフィングする、モーフィング・プロセスである。
【0097】
リトポロジー220、256は、それゆえ、図9中に示されているような、適応型ベース・メッシュ調節プロセスである。このプロセスは、3つの主要なステップを有する。まず、ステップ902において、ベース・メッシュ222、258及び非構造化メッシュ218、254のキーポイントが、アラインされる。第2に、ステップ904において、ベース・メッシュ222、258のキーポイントの各々についての新しい3D位置が、3D投影誤差関数が最小化されるように計算される。投影誤差関数は、変形の測度、又はベース・メッシュ222、258と非構造化3Dメッシュ218、254(換言すれば、ターゲット・メッシュ)との間の距離であり、少なくとも2つの項を有する。投影誤差関数の第1の項は、ベース・メッシュの表面とターゲット・メッシュの表面との間の距離に対応する表面誤差である。投影誤差関数の第2の項は、ベース・メッシュ・キーポイントとターゲット・メッシュ・キーポイントとの間のグローバル距離メトリック(global distance metric)に対応するキーポイント投影誤差である。2つの項は、係数を使用して投影誤差関数において重み付けされ得る。ステップ904は、ベース・メッシュについての推定3Dキーポイントの修正されたセットの定義につながる。第3に、ステップ906において、ベース・メッシュは、それの修正された3Dキーポイントと整合するように変形(換言すれば、モーフィング)される。投影誤差関数の最小化は、ターゲット・メッシュの表面に対するベース・メッシュの接着を確実にする。ベース・メッシュ222、258のモーフィングは、オブジェクト133のスケーリングされた構造化3Dメッシュ表現(換言すれば、構造3Dモデル224、260)を生じる。
【0098】
リトポロジーの別の実施例は、直接的に入力2D画像236を使用し得る。その実施例では、キーポイントは、画像面上へのベース・メッシュ258の投影との、入力画像236の各々の初期アライメントのために使用される。ここで、異なる投影誤差関数が、輪郭誤差(換言すれば、オブジェクトの画像とベース・メッシュ投影との間の形状の差)をキャプチャするために使用され得る。投影誤差を最小化するために、ベース・メッシュの表面は、それの投影された輪郭が、画像236上のオブジェクト133の形状と整合するように、モーフィングされる。上記で説明されたリトポロジー方法の両方が、反復的に使用され得、ここで、誤差関数は、十分に低い誤差しきい値が実現されるまで、モーフィングされたベース・メッシュの数回の反復について計算される。
【0099】
一実施例によれば、構造化3Dモデルを生成するための投影誤差最小化を通した構造化3Dベース・メッシュのモーフィングは、既存の写真測量プロセスを改善し、40~60枚のフォトを必要とし得る一般的な写真測量プロセスの代わりに、いくつかの実施例では、わずか4~6枚のフォトを使用するオブジェクトの3Dモデルの3D再構築を可能にする。
【0100】
圧力推定DLNアーキテクチャ
図10は、本発明の一例示的実施例による、圧力推定DLNアーキテクチャのブロック図を示す。図10の実施例は、ベクトル量子化変分オートエンコーダ(VQ-VAE:Vector Quantised-Variational AutoEncoder)に基づく圧力推定DLNアーキテクチャを示す。
【0101】
変分オートエンコーダ(VAE:Variational AutoEncoder)は、エンコーダ・ニューラル・ネットワーク、デコーダ・ニューラル・ネットワーク、及び損失関数からなる。エンコーダは、事実上データの寸法が低減された確率表現(stochastic representation)である潜在表現(換言すれば、隠れた表現)に、データを符号化する。デコーダは、次いで、データと同じ寸法をもつ再構築された表現を作成する。損失関数(換言すれば、訓練プロセスにおいて最適化される関数)は、VAEが、入力の確率分布を学習し、再構築プロセスにおいてそれを考慮に入れることを可能にするように設計される。この設計は、VAEが、データの複素生成モデルを構築し、それらをより大きいデータ・セットにフィットさせることを可能にし、効率的な画像生成及び強化学習につながる。ベクトル量子化変分オートエンコーダ(VQ-VAE)は、潜在表現が連続的というよりむしろ離散的であるという点で、VAEとは異なり、離散的表現を学習する生成ネットワーク・モデルにつながる。
【0102】
図10中で、DLNアーキテクチャは、潜在表現への追加のパラメータ入力1004を伴う修正されたVQ-VAE1006であり、ここで、追加のパラメータ入力1004は、1つ又は複数の受信されたオブジェクト・パラメータ120、136、208、238である。図10中で、VQ-VAEの入力は、3D体積データ1002であり、ターゲット・オブジェクト133の生成された構造化3Dモデル224(図2A)、又は構造化3Dモデル260から導出された密度マップ264(図2B)を意味する。任意のVQ-VAEに関して、修正されたVQ-VAE1006は、エンコーダ・ネットワーク1008及びデコーダ・ネットワーク1010を有する。しかしながら、潜在表現は、オブジェクト・パラメータ1004の包含によって修正される。VQ-VAEデコーダは、ターゲット・オブジェクト133の推定圧力マップ1012を生成する。潜在表現にオブジェクト・パラメータを加えることは、VQ-VAEが、異なるオブジェクト・パラメータから異なる表現を学習し、よって、推定圧力マップ1012の生成においてオブジェクト・パラメータを考慮に入れることを可能にする。
【0103】
一実施例では、図10のDLNがそれに基づくVQ-VAEアルゴリズムは、本明細書で完全に記載されるかのように、本明細書でその全体が参照により本明細書に組み込まれる、arXiv:1711.00937で入手可能な、Aaron van den Oord,et al.、「Neural Discrete Representation Learning」、NIPS2017、2017年12月5日に説明されているように実装される。VQ-VAEは、本発明の範囲内にある例示的DLNアルゴリズムにすぎず、本発明は、VQ-VAEの使用に限定されない。他のDLNアルゴリズムも、本発明の範囲内にある。
【0104】
本発明のハードウェア、ソフトウェア、及びクラウド実装形態
考察されるように、本開示全体にわたって説明されるデータ(たとえば、フォト、テキスト説明、及び同様のもの)は、クラウド・コンピューティング・プラットフォームに記憶されるか又はクラウド・コンピューティング・プラットフォーム上でホストされたデータベースに記憶されたデータを含むことができる。本開示は、以下で、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で具陳される教示の実装形態は、クラウド・コンピューティング環境に限定されないことを理解されたい。そうではなく、本発明の実施例は、現在知られているか又は後で開発される任意の他のタイプのコンピューティング環境と併せて実装されることが可能である。
【0105】
クラウド・コンピューティングは、最小限の管理努力又はサービスのプロバイダとの対話で急速にプロビジョニング又は解放され得る、構成可能なコンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルを指すことがある。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、及び少なくとも4つの展開モデルを含むことがある。
【0106】
特性は、以下のうちの1つ又は複数を含み得る。オンデマンド・セルフサービス:クラウド消費者が、サービスのプロバイダとの人間対話を必要とせずに自動的に必要に応じて、サーバ時間及びネットワーク・ストレージなど、計算能力を単方向にプロビジョニングすることができる。広域ネットワーク・アクセス:能力が、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(たとえば、モバイル・フォン、ラップトップ、及びPDA)による使用を促進する標準的な機構を通してアクセスされる。リソース・プーリング:プロバイダのコンピューティング・リソースが、マルチテナント・モデルを使用して複数の消費者にサービスするためにプールされ、異なる物理及び仮想リソースが、要求に従って動的に割り当てられ、再割り当てされる。消費者は、概して、提供されたリソースの厳密なロケーションの制御又は知識を有しないが、より高い抽象レベル(たとえば、国、州、又はデータセンター)においてロケーションを特定することが可能であり得るという点で、ロケーション独立性の感覚がある。急速弾性(rapid elasticity):能力が、すばやくスケールアウトするために、いくつかの場合には自動的に、急速に及び弾性的にプロビジョニングされ、すばやくスケールインするために急速に解放され得る。消費者には、プロビジョニングのために利用可能な能力は、しばしば、無限であるように見え、任意の時間に任意の量で購入され得る。測定されたサービス(measured service):クラウド・システムが、サービスのタイプに適した何らかの抽象レベル(たとえば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)において計測能力を活用することによって、リソース使用を自動的に制御及び最適化する。リソース使用状況が、監視、制御、及び報告され得、利用されるサービスのプロバイダ及び消費者の両方に透明性を提供する。
【0107】
別の実施例では、サービス・モデルは、以下のうちの1つ又は複数を含み得る。ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service):消費者に提供される能力が、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブベースの電子メール)など、シン・クライアント・インターフェースを通して様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ固有アプリケーション構成設定という考えられる例外はあるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション能力さえも含む、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【0108】
プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service):消費者に提供される能力が、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成された、消費者が作成又は獲得したアプリケーションをクラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、展開されたアプリケーション、及び場合によっては環境設定をホストするアプリケーションに対する制御を有する。
【0109】
インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service):消費者に提供される能力は、消費者が、オペレーティング・システム及びアプリケーションを含むことがある、任意のソフトウェアを展開し、稼働させることが可能である、処理、ストレージ、ネットワーク、及び他の基本コンピューティング・リソースをプロビジョニングすることである。消費者は、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、及び場合によっては選択されたネットワーキング・コンポーネント(たとえば、ホスト・ファイアウォール)の限られた制御を有する。
【0110】
展開モデルは、以下のうちの1つ又は複数を含み得る。プライベート・クラウド:クラウド・インフラストラクチャが、ある団体についてのみ運営される。クラウド・インフラストラクチャは、団体又はサード・パーティによって管理され得、構内に又は構外に存在することができる。
【0111】
コミュニティ・クラウド:クラウド・インフラストラクチャが、いくつかの団体によって共有され、関心事項(たとえば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス考慮事項)を共有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、団体又はサード・パーティによって管理され得、構内に又は構外に存在することができる。
【0112】
パブリック・クラウド:クラウド・インフラストラクチャが、一般社会又は大きい工業グループにとって利用可能にされ、クラウド・サービスを販売する団体によって所有される。
【0113】
ハイブリッド・クラウド:クラウド・インフラストラクチャが、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化された技術又は専用技術(たとえば、クラウドの間で負荷分散させるためのクラウド・バースティング)によってともに結びつけられた、2つ又はそれ以上のクラウド(プライベート、コミュニティ、又はパブリック)の合成物である。
【0114】
クラウド・コンピューティング環境は、サービス指向型であり、ステートレスネス、低結合、モジュラリティ、及びセマンティック相互運用性に焦点を合わせる。クラウド・コンピューティングの中心に、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0115】
クラウド・コンピューティング環境は、クラウドの消費者によって使用されるローカル・コンピューティング・デバイス、たとえば、携帯情報端末(PDA:personal digital assistant)又はセルラー電話、デスクトップ・コンピュータ、ラップトップ・コンピュータ、及び/或いは自動車コンピュータ・システムなどがそれらと通信することができる1つ又は複数のクラウド・コンピューティング・ノードを含み得る。ノードは、互いに通信することができる。ノードは、本明細書の上記で説明されたプライベート、コミュニティ、パブリック、又はハイブリッド・クラウド、或いはそれらの組合せなど、1つ又は複数のネットワークにおいて、物理的に又は仮想的にグループ化され得る。これは、クラウドの消費者が、ローカル・コンピューティング・デバイス上のリソースをそれらのために維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム及び/又はソフトウェアをクラウド・コンピューティング環境が提供することを可能にする。コンピューティング・デバイスのタイプは、例示的なものであるにすぎないこと、並びにコンピューティング・ノード及びクラウド・コンピューティング環境は、(たとえば、ウェブ・ブラウザを使用して)任意のタイプのネットワーク及び/又はネットワーク・アドレス指定可能接続を介して任意のタイプのコンピュータ化デバイスと通信することができることを理解されたい。
【0116】
本発明は、サーバベースのハードウェア及びソフトウェアを使用して実装され得る。図11は、本発明の一実施例を実装するためのサーバの例示的ハードウェア・アーキテクチャ図を示す。システムの多くのコンポーネント、たとえば、ネットワーク・インターフェースなどは、本発明を不明瞭にしないように示されていない。しかしながら、当業者は、システムがこれらのコンポーネントを必然的に含むことを諒解されよう。ユーザ・デバイスは、メモリ1150に結合された少なくとも1つのプロセッサ1140を含むハードウェアである。プロセッサは、1つ又は複数のプロセッサ(たとえば、マイクロプロセッサ)を表し得、メモリは、ハードウェアの主記憶装置、並びに任意の補足レベルのメモリ、たとえば、キャッシュ・メモリ、不揮発性又はバックアップ・メモリ(たとえば、プログラマブル又はフラッシュ・メモリ)、読取り専用メモリなどを備えるランダム・アクセス・メモリ(RAM:random access memory)デバイスを表し得る。加えて、メモリは、ハードウェア中の他の場所に物理的に配置されたメモリ・ストレージ、たとえば、プロセッサ中の任意のキャッシュ・メモリ、並びに仮想メモリとして使用される、たとえば、大容量ストレージ・デバイスに記憶された任意の記憶容量を含むと考えられ得る。
【0117】
ユーザ・デバイスのハードウェアはまた、一般に、外部と情報を通信するためのいくつかの入力1110及び出力1120を受信する。ユーザとのインターフェースのために、ハードウェアは、1つ又は複数のユーザ入力デバイス(たとえば、キーボード、マウス、スキャナ、マイクロフォン、ウェブ・カメラなど)及びディスプレイ(たとえば、液晶ディスプレイ(LCD:Liquid Crystal Display)パネル)を含み得る。追加の記憶のために、ハードウェアは、1つ又は複数の大容量ストレージ・デバイス1190、たとえば、特に、フロッピー(登録商標)又は他のリムーバブル・ディスク・ドライブ、ハード・ディスク・ドライブ、ダイレクト・アクセス・ストレージ・デバイス(DASD:DirectAccessStorageDevice)、オプティカル・ドライブ(たとえばコンパクト・ディスク(CD:Compact Disk)ドライブ、デジタル多用途ディスク(DVD:Digital Versatile Disk)ドライブなど)及び/或いはテープ・ドライブをも含み得る。さらに、ハードウェアは、ネットワークに結合された他のコンピュータとの情報の通信を可能にするために、インターフェース1つ又は複数の外部のSQLデータベース1130、並びに1つ又は複数のネットワーク1180(たとえば、特に、ローカル・エリア・ネットワーク(LAN:local area network)、ワイド・エリア・ネットワーク(WAN:wide area network)、ワイヤレス・ネットワーク、及び/又はインターネット)を含み得る。ハードウェアは、一般に、互いに通信するために、好適なアナログ及び/又はデジタル・インターフェースを含むことを諒解されたい。
【0118】
ハードウェアは、オペレーティング・システム1170の制御下で動作し、上記で説明された方法、プロセス、及び技法を実施するために、参照番号によってまとめて指し示された、様々なコンピュータ・ソフトウェア・アプリケーション1160、コンポーネント、プログラム、コード、ライブラリ、オブジェクト、モジュールなどを実行する。
【0119】
本発明は、クライアント・サーバ環境において実装され得る。図12は、クライアント・サーバ環境において本発明の一実施例を実装するための例示的システム・アーキテクチャを示す。クライアント側のユーザ・デバイス1210は、スマートフォン1212、ラップトップ1214、デスクトップPC1216、タブレット1210、又は他のデバイスを含み得る。そのようなユーザ・デバイス1210は、インターネットなど、何らかのネットワーク接続1220を通してシステム・サーバ1230のサービスにアクセスする。
【0120】
本発明のいくつかの実施例では、システム全体は、いわゆるクラウド実装形態において、実装され、インターネットを介してエンドユーザ及びオペレータに提供され得る。ソフトウェア又はハードウェアのローカル・インストールは、必要とされないことがあり、エンドユーザ及びオペレータは、クライアント上のウェブ・ブラウザ又は同様のソフトウェアのいずれかを使用して、インターネットを介して直接的に本発明のシステムへのアクセスを可能にされ得、そのクライアントは、デスクトップ、ラップトップ、モバイル・デバイスなどであり得る。これは、クライアント側でのカスタム・ソフトウェア・インストールの必要性を解消し、サービス(ソフトウェアアズアサービス)の配信の柔軟性を増加させ、ユーザ満足度及び使いやすさを増加させる。本発明についての様々なビジネス・モデル、収益モデル、及び配信機構が想定され、すべて、本発明の範囲内にあると見なされるべきである。
【0121】
通常は、本発明の実施例を実装するために実行される方法は、オペレーティング・システム、或いは「コンピュータ・プログラム」又は「コンピュータ・コード」と呼ばれる特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール又は命令のシーケンスの部分として実装され得る。コンピュータ・プログラムは、一般に、コンピュータ中の様々なメモリ及びストレージ・デバイス中に様々な時間において設定された1つ又は複数の命令を備え、それは、コンピュータ中の1つ又は複数のプロセッサによって読み取られ、実行されたとき、コンピュータに、本発明の様々な態様を伴う要素を実行するのに必要な動作を実施させる。その上、本発明は、完全に機能するコンピュータ及びコンピュータ・システムのコンテキストにおいて説明されたが、当業者は、本発明の様々な実施例が、様々な形態のプログラム製品として配布されることが可能であること、及び本発明が、配布を実際に遂行するために使用される機械又はコンピュータ可読媒体の特定のタイプにかかわらず、等しく適用されることを諒解されよう。コンピュータ可読媒体の実例は、限定はされないが、揮発性及び不揮発性メモリ・デバイス、フロッピー(登録商標)及び他のリムーバブル・ディスク、ハード・ディスク・ドライブ、光ディスク(たとえば、コンパクト・ディスク読取り専用メモリ(CD ROM:Compact Disk Read-Only Memory)、デジタル多用途ディスク(DVD)など)など、記録可能タイプ媒体、並びにデジタル及びアナログ通信媒体を含む。
【0122】
本発明の実例使用事例
図13A図13B図14A図14B、及び図15は、単一のカメラ及びARガイデッド走査アプリケーション102、132、202、232をもつモバイル・デバイスが、圧力マップ予測のためのインターフェースとして使用される、本発明の使用事例の例示的図であり、本発明のいくつかの実施例がそれを通して実装されているモバイル・グラフィカル・ユーザ・インターフェース(GUI)を示す、図である。
【0123】
図13Aは、オブジェクト選択のためのユーザ・インストラクションを示すモバイル・デバイスGUIの例示的図である。図13Aの実例では、オブジェクトは、人間の足であり、GUIは、右足又は左足を選択するためのユーザ・インストラクションを示す。図13Bは、圧力マップ予測システム140にオブジェクト(換言すれば、選択された足)の画像を送るためのモバイル・デバイスGUIの例示的図を示す。
【0124】
図14Aは、選択されたオブジェクト(換言すれば、ユーザの右足)をキャプチャするためのモバイル・デバイスGUIの例示的図を示す。キャプチャ・プロセスは、「開始」ボタン1402を押すことを通してユーザによって始められ得る。GUIは、例示的ターゲット・オブジェクト位置(たとえば、足形)1408と、カメラによってキャプチャされたリアルタイム画像の上に拡張現実(AR)においてオーバーレイされた検出された表面表現1404とを示す。図14Bは、オブジェクト・アライメントのためのモバイル・デバイスGUIの例示的図を示し、ここで、ARターゲット・オブジェクト位置(たとえば、足形)1408及び表面表現1404は、依然として明らかである。図14Bは、オブジェクト(ユーザの右足)1412が、モバイル・デバイスGUI上のARオブジェクト・トラッカー1410によってガイドされることを示す。ユーザ・インストラクション1414が、ユーザの動き及び行為をさらにガイドするためにポップアップし得る。画像は、オブジェクト1412がARターゲット位置1408とアラインされると、自動的にキャプチャされ得る。図15は、出力オブジェクト(換言すれば、足)圧力マップ予測1504及び測定値1502をもつモバイル・デバイスGUIの例示的図を示す。
【0125】
図13A図13B図14A図14B、及び図15は、モバイル・デバイス上の単一のカメラが、オブジェクト圧力マップ予測のための2Dフォトをキャプチャするために使用される、本発明の使用事例の例示的図である。図13A図13B図14A図14B、及び図15中に示されているモバイル・デバイスは、少なくとも1つのカメラ、プロセッサ、非一時的記憶媒体、及びサーバへのワイヤレス通信を備える(図示せず)。一実施例では、モバイル・デバイス及びサーバのハードウェア・アーキテクチャは、図11及び図12中に示されているようなものである。一実施例では、オブジェクトの2Dフォトは、本明細書で説明される動作を実施するサーバに送信される。一実施例では、オブジェクトのフォトは、モバイル・デバイスのプロセッサによってローカルに分析される。実施された動作は、図15中に示されているような、サーバに記憶され、並びにユーザに提示され得る、1つ又は複数の圧力マップ予測を返す。加えて、圧力マップ予測は、次いで、限定はされないが、1つ又は複数のカスタム衣服、カスタム・ボディ・スーツ、カスタム固定器(たとえば、医療人工装具)、カスタムPPE(個人保護機器)などを対象者に販売目的でオファーすることを含む、多くの目的のために利用され得る。さらに、圧力マップ予測は、サードパーティ・モバイル・デバイス及び/又はサードパーティ・サーバへの出力であり得る。一実施例では、出力は、デジタル・ファイル、電子メール、モバイル・アプリケーション又はウェブサイト上のテキスト説明、テキスト・メッセージ、それらの組合せ、及び同様のものの形態にあり得る。
【0126】
一般性の喪失なしに、圧力マップ予測は、圧力マップがそれのために有用である任意の目的で、出力、送信、及び/又は利用され得る。特に、圧力マップ予測は、たとえば、圧力マップに基づいて衣服又は機器を製造する会社に関連する、コンピューティング・デバイス及び/又は対応するサーバへの出力であり得る。当業者は、圧力マップ予測の出力が、限定はされないが、小売、製造、医療など、正確で単純な圧力マップが有用である任意の目的で利用され得ることを認識されよう。
【0127】
結論として、本発明は、わずか2~6枚のフォトを使用し、有用で正確な圧力マップ予測を実現することが予想される。システムは、任意の専用ハードウェア・センサーの使用を必要とせず、ユーザが、任意の専用の表面上に、又は任意の専用の背景に対して立つことを必要とせず、専用の照明を必要とせず、任意の距離で撮られたフォトとともに使用され得る。その結果、ユーザが、オブジェクトのフォトを容易に撮り、自動圧力マップ予測から恩恵を受けることができるような、任意のモバイル・デバイスとともに作動する圧力マップ予測システムが得られる。
【0128】
当業者は、使用事例、構造、概略図、及びフロー図が、他の順序又は組合せで実施され得るが、本発明の発明的概念が、本発明のより広い範囲から逸脱することがないままであることがわかる。あらゆる実施例は、固有であり得、方法/ステップは、あらゆるユーザが、本発明の方法を実践するために収容(accommodate)されるように、短くされるか又は長くされるかのいずれかであり、他の活動と重ねられ、延期され、遅延され、時間ギャップの後に継続され得る。
【0129】
本発明は、特定の例示的な実施例を参照しながら説明されたが、様々な修正及び変更が本発明のより広い範囲から逸脱することなくこれらの実施例に行われ得ることは明白である。それゆえに、本明細書及び図面は、限定的意味ではなく例示的意味で顧慮されるべきである。上記で説明された実施例は、教示された単数の説明(singular description)のうちのいずれかよりも大きい範囲を有し得る、単一のより広い発明の特定の実例であることも当業者には明らかであろう。本発明の範囲から逸脱することなく説明になされる多くの改変があり得る。
図1A
図1B
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図14A
図14B
図15
【手続補正書】
【提出日】2021-06-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
オブジェクトの圧力マップを生成するためのコンピュータ実装方法であって、前記コンピュータ実装方法が、ハードウェア・プロセッサによって実行可能であり、前記方法は、
前記オブジェクトの複数の2次元(2D)画像を受信することであって、前記複数の2D画像が、異なる角度から前記オブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、
1つ又は複数の入力パラメータを受信することであって、前記入力パラメータが、前記オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、
前記複数の2D画像から前記オブジェクトの構造化3次元(3D)モデルを構築することと、
圧力推定深層学習ネットワーク(DLN)を使用して、前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することであって、前記圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、前記オブジェクトの前記圧力マップを生成することと
を備え
前記圧力マップは、複数の圧力点からなる圧力プロファイルを含み、各圧力点は、前記オブジェクトが表面に接触している圧力レベルを示し、前記圧力推定DLNは、前記複数の圧力点における前記圧力レベルを予測する、コンピュータ実装方法。
【請求項2】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
写真測量プロセス及びスケール・ファクタを使用して、前記複数の2D画像から前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成することであって、前記スケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成すること
を備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
注釈付きのスケーリングされた非構造化3Dメッシュと整合するように注釈付きの構造化ベース3Dメッシュをモーフィングすることによって、前記注釈付きのスケーリングされた非構造化3Dメッシュから前記構造化3Dモデルを生成すること
をさらに備える、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
前記オブジェクトの前記スケーリングされた非構造化3Dメッシュから前記オブジェクトの前記注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、3DキーポイントDLNを利用することであって、前記注釈付きのスケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、3DキーポイントDLNを利用すること
をさらに備える、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記3DキーポイントDLNが、PointNetに基づく、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
前記複数の2D画像から1つ又は複数のキーポイントを抽出するために、2DキーポイントDLNを利用することであって、前記1つ又は複数のキーポイントが、前記構造化3Dモデルを生成するために、前記注釈付きの非構造化3Dメッシュを生成するために使用される、2DキーポイントDLNを利用すること
をさらに備える、請求項3に記載のコンピュータ実装方法。
【請求項7】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することは、
前記注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、前記オブジェクトの前記スケーリングされた非構造化3Dメッシュ上に前記1つ又は複数のキーポイントを投影することであって、前記注釈付きのスケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、前記1つ又は複数のキーポイントを投影すること
をさらに備える、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記2DキーポイントDLNが、スタック型砂時計ネットワーク及び高解像度ネットワーク(HRNet)からなるグループから選択された、請求項6に記載のコンピュータ実装方法。
【請求項9】
前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することは、
表面上に前記構造化3Dモデルを投影することによって密度マップを生成することであって、前記密度マップが、前記圧力マップを生成するために利用される、密度マップを生成すること
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記圧力推定DLNが、修正されたベクトル量子化変分オートエンコーダ(VQ-VAE)であり、
前記密度マップが、前記圧力マップを生成するために、前記修正されたVQ-VAEへの入力として利用され、
前記修正されたVQ-VAEが、所与の密度マップ及び1つ又は複数の所与の入力パラメータから所与の圧力マップを生成するように訓練された、
請求項9に記載のコンピュータ実装方法。
【請求項11】
前記1つ又は複数の入力パラメータが、少なくともスケール・ファクタを備え、前記スケール・ファクタが、前記構造化3Dモデルを現実世界座標にスケーリングするために使用される、請求項1に記載のコンピュータ実装方法。
【請求項12】
前記構造化3Dモデルから抽出された3D測定値を利用して、前記構造化3Dモデルから3D製品を製造するようにとの命令を提供すること
をさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項13】
前記オブジェクトが、身体部位である、請求項1に記載のコンピュータ実装方法。
【請求項14】
前記圧力推定DLNが、3Dスキャナからの構造化3Dモデルと、オブジェクト圧力センサーからの対応する圧力マップとを備える訓練データに関して訓練された、請求項1に記載のコンピュータ実装方法。
【請求項15】
プログラム・コードを記憶するための非一時的記憶媒体であって、前記プログラム・コードが、ハードウェア・プロセッサによって実行可能であり、前記プログラム・コードは、前記ハードウェア・プロセッサによって実行されたとき、前記ハードウェア・プロセッサにオブジェクトの圧力マップを生成させ、前記プログラム・コードは、
前記オブジェクトの複数の2次元(2D)画像を受信することであって、前記複数の2D画像が、異なる角度から前記オブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、
1つ又は複数の入力パラメータを受信することであって、前記入力パラメータが、前記オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、
前記複数の2D画像から前記オブジェクトの構造化3次元(3D)モデルを構築することと、
圧力推定深層学習ネットワーク(DLN)を使用して、前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することであって、前記圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、前記オブジェクトの前記圧力マップを生成することと
を行うためのコードを備え
前記圧力マップは、複数の圧力点からなる圧力プロファイルを含み、各圧力点は、前記オブジェクトが表面に接触している圧力レベルを示し、前記圧力推定DLNは、前記複数の圧力点における前記圧力レベルを予測する、非一時的記憶媒体。
【請求項16】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードは、
写真測量プロセス及びスケール・ファクタを使用して、前記複数の2D画像から前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成することであって、前記スケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、前記オブジェクトのスケーリングされた非構造化3Dメッシュを生成すること
を行うためのコードを備える、請求項15に記載の非一時的記憶媒体。
【請求項17】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードが、
注釈付きのスケーリングされた非構造化3Dメッシュと整合するように注釈付きの構造化ベース3Dメッシュをモーフィングすることによって、前記注釈付きのスケーリングされた非構造化3Dメッシュから前記構造化3Dモデルを生成すること
を行うためのコードをさらに備える、請求項16に記載の非一時的記憶媒体。
【請求項18】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードは、
前記オブジェクトの前記スケーリングされた非構造化3Dメッシュから前記オブジェクトの前記注釈付きのスケーリングされた非構造化3Dメッシュを生成するために、3DキーポイントDLNを利用することであって、前記注釈付きのスケーリングされた非構造化3Dメッシュが、前記構造化3Dモデルを生成するために利用される、3DキーポイントDLNを利用すること
を行うためのコードをさらに備える、請求項17に記載の非一時的記憶媒体。
【請求項19】
前記複数の2D画像から前記オブジェクトの前記構造化3Dモデルを構築することを行うための前記プログラム・コードは、
前記複数の2D画像から1つ又は複数のキーポイントを抽出するために、2DキーポイントDLNを利用することであって、前記1つ又は複数のキーポイントが、前記構造化3Dモデルを生成するために、前記注釈付きの非構造化3Dメッシュを生成するために使用される、2DキーポイントDLNを利用すること
を行うためのコードをさらに備える、請求項17に記載の非一時的記憶媒体。
【請求項20】
ハードウェア・プロセッサと、プログラム・コードを記憶するための非一時的記憶媒体とを備えるシステムであって、前記プログラム・コードが、前記ハードウェア・プロセッサによって実行可能であり、前記プログラム・コードは、前記ハードウェア・プロセッサによって実行されたとき、前記ハードウェア・プロセッサにオブジェクトの圧力マップを生成させ、前記プログラム・コードは、
前記オブジェクトの複数の2次元(2D)画像を受信することであって、前記複数の2D画像が、異なる角度から前記オブジェクトをキャプチャする、複数の2次元(2D)画像を受信することと、
1つ又は複数の入力パラメータを受信することであって、前記入力パラメータが、前記オブジェクトに関連する少なくとも1つの属性を備える、1つ又は複数の入力パラメータを受信することと、
前記複数の2D画像から前記オブジェクトの構造化3次元(3D)モデルを構築することと、
圧力推定深層学習ネットワーク(DLN)を使用して、前記構造化3Dモデル及び前記入力パラメータから前記オブジェクトの前記圧力マップを生成することであって、前記圧力推定DLNが、所与のオブジェクトの所与の構造化3Dモデル及び所与のパラメータからオブジェクトの圧力マップを生成するように訓練された、前記オブジェクトの前記圧力マップを生成することと
を行うためのコードを備え
前記圧力マップは、複数の圧力点からなる圧力プロファイルを含み、各圧力点は、前記オブジェクトが表面に接触している圧力レベルを示し、前記圧力推定DLNは、前記複数の圧力点における前記圧力レベルを予測する、システム。
【国際調査報告】