単一の指示及び最小の処理で、3Dプリントされた身に着けられる物(「着用物」(wearables))を生成するために、ここで導入された技術は、一般に、利用可能な携帯機器が、将来の着用者を想像するために使われることができ、処理サーバまたはサーバの分散セットは、テッセレーションモデルを生成するための結果画像を使うことができる。これらのテッセレーションモデルは、その後、3Dプリントされた身に着けられる物(以後、単に「着用物」)を生成するために使われることができる。「着用物」(wearable)という用語は、使用者によって身に着けられるように設計された、使用者によって身に着けられる別のアイテムに組み込まれた、使用者の整形器具としての役目を果たす、使用者の身体の輪郭と相互に影響を及ぼす、品物、装飾品またはアイテムをいう。記載を容易にするために本開示を通して使われる着用物の例は、靴のインソールである。靴のインソールは、別の人がほしいであろう形状とスタイルに対して、ある特定の人がほしいであろう形状及びスタイルが、人々の間で大きく異なる傾向にあり、カスタマズは、重要な要素である点で、描かれる。それにもかかわらず、本開示の教示は、例えば、ブレスレット、リング、ブラジャー、ヘルメット、イヤフォン、ゴーグル、支持具(例えば膝や手首)、ゲージイヤリング、及び身体輪郭周辺といった、着用物の他のタイプに同様に適用する。
図1は、カスタマイズされた3Dプリントされた着用物20を生成するシステムを描くブロック図である。身体部分入力データを提供する機能がシステムに含まれる。デジタルカメラを含み、例えば、スマートフォン、タブレットコンピュータ、ネットワーク機能付きデジタルカメラ、または当該分野の他の適当な既知の携帯機器(以後、「携帯機器」(mobile device))などの無線ネットワークを通じて通信するために備えられた携帯処理機器22、処理サーバ24、及び3Dプリンタ26が、図1のそのような機能の第1の実施例として提供される。システムはさらに、手動の検査コンピュータ28を含むことができる。
携帯機器22は、例えばインターネット30などの無線ネットワークを通じて、画像をキャプチャし、送信することができる、装置である。実際には、多くの携帯機器22を使うことができる。いくつかの実施形態において、携帯機器22はハンドヘルド装置である。携帯機器22の実施例は、スマートフォン(例えば、Apple(登録商標)のiPhone(登録商標)、Samsung(登録商標)のGalaxy(登録商標))、共焦点顕微鏡法身体スキャナ、赤外線カメラ、超音波カメラ、デジタルカメラ、及びタブレットコンピュータ(例えばApple(登録商標)のiPad(登録商標)、Dell(登録商標)のVenture 8 7000)を含む。携帯機器22は、カメラ34、ネットワークトランシーバ36A、ユーザインターフェース38A及びクライアントアプリケーションソフトウェア42を含むデジタルストレージ及びメモリ40Aを含む処理可能な装置である。
携帯機器のカメラ34は、単一のデジタルカメラまたはさらに複雑な3Dカメラ、スキャナ装置、またはビデオキャプチャ装置であってもよい。3Dカメラの実施例は、Intel RealSense(登録商標)カメラまたはLytro(登録商標)のライトフィールドカメラを含む。複雑なカメラのさらなる実施例は、TOM−CATソリューション社(the TOM−CAT、またはiTOM−CAT)によって開発されたスキャナ、赤外線カメラ、超音波カメラの適合バージョン、3形状による口腔内スキャナの適合バージョンを含んでもよい。
単一のデジタルカメラ(2−D光学系を超えたセンサを含まない)は、画像の中の距離を計算するために既知の大きさの参照物を使う。3Dカメラの使用は、3Dカメラが、画像に全くあらかじめ決められた大きさ/距離がなくても、与えられた画像内の距離を計算することができるので、参照物の必要を減らすか、排除することができる。
携帯機器は、またクライアントアプリケーションソフトウェア42と接続して使用されるユーザインターフェース38Aを提供することもできる。クライアントアプリケーションソフトウェア42は、使用者にさまざまな3Dプリントされた着用物生産物を選択する能力を提供する。生産物の選択は、使用者がキャプチャするべき画像のためのカメラ指示に一致する。キャプチャされた画像は、インターネット30を通して、処理サーバ24に供給される。
プロセッサ32Bは処理サーバ24を操作する。処理サーバ24は、携帯機器22から画像データを受信する。画像データを使って、サーバアプリケーションソフトウェア44は、使用者の特性を追加する、画像処理、機械学習及びコンピュータビジョン操作を実行する。サーバアプリケーションソフトウェア44は、コンピュータビジョン操作の実行を助けるためのコンピュータビジョンツール46を含む。コンピュータビジョンツール46の実施例は、他の適切な実施例が、技術分野で知られ、デジタル画像の画素変化を識別するためにプログラムされていてもよいが、OpenCVまたはSimpleCVを含む。画素変化データは、所望の結果を生み出すために、本明細書で教示されたように、実行される。
いくつかの実施形態において、使用者または管理使用者は、コンピュータビジョン操作の結果に対し、手動のチェック及び/または編集を実行することができる。手動のチェックは、手動の検査コンピュータ28または、処理サーバ24のリソースにアクセスする端末において実行される。処理サーバ24は、ユーザがクライアントアプリケーションソフトウェア42から選択する生産物に対応する、多くのあらかじめ作られたテッセレーションモデルキット48を含む。編集は、着用物の機能及び表面的なものの両方の要素に影響を及ぼすことができる。編集は、ゆったりした/ぴったりした及びハイライズ/ローライズフィットを含む。編集は、さらに、機械学習アルゴリズムを改善するための観察として、処理サーバ24によって格納される。
いくつかの実施形態において、テッセレーションモデルキット48は、処理サーバ24がカスタマイズを適用する開始点として使われる。テッセレーションモデルキット48は、3Dプリントの物をデジタル的にレンダリングし、3Dプリンタ26を使って物をプリントするために使うことができる、データファイルの収集物である。テッセレーションモデルキット48の一般的なファイル形式は、.3dm、.3ds、.blend、.bvh、.c4d、.dae、.dds、.dxf、.fbx、.lwo、.lws、.max、.mtl、.obj、.skp、.stl、.tga、または当該分野で知られた他の適切なファイル形式を含む。カスタマイズは、3Dプリンタで使うためのファイルを生成する。処理サーバ24は、使用者の所望の3D着用物をプリント出力するための3Dプリンタ26と通信する。いくつかの実施形態において、テッセレーションファイル48は提供された入力からシステムへオンザフライで生成される。テッセレーションファイル48は、代わりに、画像処理、コンピュータビジョン、及び機械学習処理を通して、あらかじめ作られた入力なしに、生成される。
多数の3Dプリンタ26のモデルを、発明されたシステムによって使うことができる。3Dプリンタ26は、プリントされた品物の大きさを変える。使用者が選択している3D着用物のタイプに基づいて、3Dプリンタ26の大きさを変えることは、適切である。3D着用物がブレスレットである場合において、例えば、6立方インチプリンタは、十分であることができる。靴のインソールをプリントするときに、しかしながら、大きなプリンタが必要とされる。いくつかの大きなインソールは大きな3−Dプリンタを必要とするが、インソールの多くは、1立方フィートプリンタでプリントされることができる。
システムの使用者は、多くの役割を果たすことができる。いくつかの使用者は、管理者であることができ、いくつかは、末端の、3−Dプリントされた生産物の将来の着用者であることができ、いくつかの使用者は、システムの入力データを得ることを容易にすることができ、いくつかは、前述の使用者のタイプのいずれかを代表して、労働をする代理人であることができる。
図2は、カスタマイズされた3Dプリントされた着用物を生成する処理を描くフローチャートである。ステップ202において、携帯機器は、使用者が購入したい着用物のタイプを選択に関してユーザインターフェースを介して、使用者から入力を受諾する。いくつかの実施形態において、携帯機器は、携帯機器アプリケーションまたは適切なユーザインターフェースを含み、携帯機器と外部ウェブサーバの間を通信することができるアプリケーションプログラムインターフェース(「API」)を使用する。前述の着用物の実施例は、靴のインソール、ブレスレット、リング、ブラジャー、及びゲージイヤリングを含む。これらの実施例に加えて、生産物は、着用物のサブクラスにさらに掘り下げられることができる。靴のインソールの中で、例えば、ドレス・シューズ、運動靴、ウォーキングシューズ、および他の当該分野で既知の適当なインソールであることができる。着用物のそれぞれのサブクラスは、構造変化を有することができる。
着用物のタイプとサブクラスを選択することに加えて、使用者は、例えば支払いなどの口座情報及び配達住所情報を入れる。いくつかの実施形態は、使用者が、ソーシャルネットワークに対して3D着用物のカスタマイズ処理の結果を書き込むことができる、社会的特徴を含む。
ステップ204において、携帯機器は、その使用者のカスタマイズされた着用物を提供するために必要なデータを収集する方法において、使用者の画像(さらに正確には、使用者の身体部分)をキャプチャするためのカメラを操作する指示を使用者に提供する。ステップ206において、携帯機器は、処理サーバ24に収集された画像データを送信する。ステップ208において、処理サーバは、選ばれた生産物のタイプに適用できる、使用者(または使用者の身体部分)の大きさ、形状、及び曲率を決定するために画像データのコンピュータビジョン操作を実行する。
ステップ210において、サーバアプリケーションソフトウェアは、これらの仕様を適用するために、コンピュータビジョン処理から、大きさと曲率の仕様を得て、テッセレーションモデルを仕上げる。いくつかの実施形態において、コンピュータビジョンから仕様を適用する処理は、使用者が購入したい着用物に最もよく似た、あらかじめ作られたテッセレーションモデルキットの頂点のあらかじめ決められたセットを変える、サーバアプリケーションソフトウェアを含む。さらに、特定の選択された着用物のタイプに関連する要素は、適用可能なようにテッセレーションモデルキットに適用されることができる(例えば、着用物のサブクラスへ付随するテクスチャまたは形状修正)。
別の実施形態において、テッセレーションファイルは、システムに提供された入力からオンザフライで生成される。テッセレーションファイルは、代わりに、画像処理、コンピュータビジョン、及び機械学習処理を通して、あらかじめ作られた入力なく、生成される。
ステップ212において、処理サーバは、カスタマイズされたテッセレーションモデルを3Dプリンタに転送する。ステップ214において、3Dプリンタは、カスタマイズされたテッセレーションモデルに基づいて、カスタマイズされた着用物をプリントする。ステップ216において、着用物は、使用者に配達される。使用者への配達は、例えば、注文の発信元及び注文の目的地などの多くの要素に依存する。システムは、配達処理を容易にするために、使用者の近く(地理的な位置)に配置された社内のまたはサードパーティ製造者へ、注文品を送達することができる。
図3は、カスタマイズされた3Dプリントされた着用物を作り出す際に使われる、使用者の画像と他のデータを要求する処理を描くフローチャートである。ステップ302において、携帯機器のクライアントアプリケーションソフトウェアの開始時に、及び図2のステップ202と同様の方法において、携帯機器は、着用物のタイプとサブクラスの使用者の選択を促し、受信する。ステップ304において、クライアントアプリケーションソフトウェアは、着用物のタイプに適用できるように、使用者の身体部分または複数の部分の画像データをキャプチャするために、使用者に適切に指示するために使用される着用物のタイプまたはサブクラスに提供される、必要な指示を(例えば、ローカルにまたは遠隔メモリから)ロードする。
ステップ306において、ロードされた指示は、画像データをキャプチャすることを促進するために、携帯機器のユーザインターフェースを介して(例えば、タッチスクリーン及び/またはオーディオスピーカを介して)、使用者に提供される。身体部分イメージングは、複数の画像の要求を伴う。要求される画像は、使用される携帯機器の種類及び/または選択された着用物のタイプに依存することができる。使用者に提供された指示は、例えばカメラ及びカメラのビューファインダのフレームにあるべき、物/身体部分の配置などの、要素を含むことができる。
ステップ308において、携帯機器カメラは、身体部分画像データをキャプチャする。身体部分画像データは、例えば2D画像、3D画像、ビデオクリップ及び身体スキャン画像データなど、さまざまなフォーマットのいずれかとして供給されることができる。いくつかの実施形態において、身体部分画像データは、ウェブサイトを介して画像をアップロードする使用者、サードパーティ器具(例えば、医者のオフィスの身体スキャナなど)からもたらされることができる。
ステップ310において、クライアントアプリケーションソフトウェアは、キャプチャした画像の検証を実行する。いくつかの実施形態において、検証は、サーバアプリケーションソフトウェアによって実行される。検証は、与えられた画像が受諾できるか否か、決定するためのクライアントまたはサーバアプリケーションソフトウェアに組み込まれた物及び画素認証ソフトウェアを使うことができる。例えば、予想された画像が特定の配置の使用者の足である場合、犬の画像は、画素色の予想された検証に基づいて、受諾できないとして認識される。受諾できない画像である場合に、ステップ312において、現在の画像データは削除されるかアーカイブされ、使用者は正しい画像データをキャプチャするために再び指示を受ける。画像データが受諾できるとき、処理はステップ314に進む。
ステップ314において、アプリケーションソフトウェアは、さらに画像を必要とするか決定する。もしそうであれば、次の画像の指示は、示され、使用者は、もう一度、受諾できる画像をキャプチャするために携帯機器を正しく配置することを期待される。アプリケーションは、必要とされるすべての画像データを有すると、処理は、ステップ316に続く。
ステップ316において、クライアントアプリケーションソフトウェアは、着用物の大きさ、曲率、または形状に接続されない他の使用者のカスタマイズを受諾する。これらの他の使用者のカスタマイズの実施例は、色、材料、及びブランド化を含む。ステップ318において、収集された着用物データは、処理サーバへ携帯機器によって送信される。
図4は、携帯機器が、使用者の画像を取得するための使用者と相互作用する処理を描くフローチャートである。いくつかの実施形態において、特定の画像データが使われ、複数の画像が要求されることができる。靴のインソールの実施例において、使用者が両足のインソールを購入したいと希望すると、製造されるべきインソールのそれぞれのペアの画像データの5枚の写真が要求される(例えば、使用者の足のそれぞれの上面の2つの画像、使用者の足のそれぞれの内側の2つ、及び使用者の足のない、側面の画像の後の空間の背景の画像)。使用者が、ただ一つのインソールのみを得ようと希望すると、3つの画像が使われる。システムは、カスタマイズされたインソールのモデルを作るのに役立たない足の画像を撮らない。
ステップ402において、携帯機器は、上から見下ろす視界の指示を使用者に提供する。いくつかの実施形態において、非3Dカメラが使われると、指示は参照物を含む。いくつかの実施形態において、参照物は、例えば、レターサイズ(例えば8.5×11インチ)またはA4サイズなどの、1枚の標準の大きさの紙である。そのような紙は、既知の大きさを有し、一般的にほとんど全ての家庭で入手可能であるので、便利な参照物として使われることができる。紙の長さ対幅の割合に基づいて、アプリケーションソフトウェアは、紙がレターサイズ、リーガルサイズ、A4サイズ、または他の当該分野で既知の適当な標準サイズであるかを、自動的に決定できる。紙のスタイルに基づいて、アプリケーションソフトウェアは、画像のフレームの中に既知のサイズの大きさを有する。他の実施形態において、使用者は、ユーザインターフェースを介して選択された紙の大きさ(例えばレターサイズまたはA4)を示すことを求められてもよい。
上から見下ろす視界の指示は、使用者に、紙がくるまることを避けるために、固い平らな表面(例えば木またはタイル)で開けた床スペースを見つけることを指示し、それにより、あらかじめ決められた大きさの誤差を調べ上げる。使用者は、壁に対して同一平面に紙を設置し、紙に立ち、使用者の足の上に向かって下に携帯機器を向けることを指示される。
いくつかの実施形態において、壁と同一平面に設置されたときに、紙がモールディングまたは他の壁の装飾品の下に滑らないよう、紙に折り目をつける追加の指示がある。さらに、携帯機器のユーザインターフェースは、携帯機器に取り付けられた加速度計またはジャイロスコープによって提供される、基準位置または配置の指示を含む。基準位置は、使用者に画像データがキャプチャされる受諾できる角度をしめす。
いくつかの実施形態において、参照物は必要ない。携帯機器が2つのカメラを含むとき、2つの写真の視差距離の測定は、既知の距離を決定するために使われ、それゆえ、身体部分の大きさを計算できる。いくつかの場合において、2つの写真の間の追加の角度データの導出ができる、それらの点の比較距離を見出すために、2つの写真の間の異なる点に対し、多くの視差距離の測定を実行することが好ましい。同様に参照物と共に、画像が第1の既知の距離を有するとすぐに、画像の中の他の大きさ(例えば、身体部分の形状など)を、当該分野で既知の数学的テクニックで計算することができる。
単一のカメラが使われると、追加のセンサは必要に応じてデータを提供するために利用される。加速度計、ジャイロスコープ、または慣性計測装置(「IMU」)と連動して使われるカメラは、2つのカメラがあるのと同様の効果を可能とする。第1の画像が撮影された後、カメラは動かされ、そして第1の位置からの相対的な動作はIMUによって追跡される。カメラはその後、第2の画像を撮る。IMUから情報を与えられると、第1の画像がキャプチャされたところと、第2の画像の間の視差角が計算されることができる。
方法は、代わりにビデオクリップで実行されてもよい。ビデオクリップがキャプチャされる一方で、IMUは、第1の配置に対する携帯機器の動きを追跡する。ビデオクリップとIMU追跡の間のタイムスタンプは、静止画像として単一のフレームを識別するために一致させられ、それぞれの間の視差角は、解くことが可能であり、画像の物の距離は、識別できる。いくつかの実施形態において、ビデオクリップは、中断されたクリップである。中断されたクリップは、画像データをキャプチャする身体部分を回送することができる。
ステップ404において、携帯機器は、上から見下ろして使用者の足の画像をキャプチャする。リファレンスは、単一の足の使用のために作られる。これにもかかわらず、この処理は、使用者がインソールを購入することを希望するそれぞれの足で繰り返される。その後、処理サーバでの画像処理、コンピュータビジョン、及び機械学習操作の間、上から見下ろした画像は、(2以上の配置において)足の長さと幅を決定するために使われる。長さと幅を決定する実施例の配置は、かかとから足の親指まで、かかとから足の小指まで、水平に渡る足の親指の関節、及び第1から第5の中足骨のどちら側からの距離を含む。上から見下ろす視界から収集された追加の要素は、使用者の足の肌の色合いである。
ステップ406において、携帯機器アプリケーションまたはAPIは、使用者に使用者の足の内側の画像データを収集するための指示を提供する。この画像は、足のアーチの曲率を後に処理するために使われる。携帯機器アプリケーションまたはAPIは、使用者に、壁に対して上に携帯機器を置き、その後、ビューファインダの日陰になった領域に足を置くことを指示する。使用される携帯機器のモデルのあらかじめ決められた仕様と、(搭載されたセンサによって指し示された)携帯機器の配置に基づいて、アプリケーションは、床からのカメラの高さを知る。携帯機器の既知のモデルを使うことによって、カメラレンズの既知のまたは予想される高さが提供される。
ステップ408において、携帯機器は、使用者の足の内側の画像をキャプチャする。その後、処理サーバでのコンピュータビジョン操作の間、内側の画像が、使用者の足のアーチの曲率のためにマッピングされる。背景と足の画素色の違いを使って、コンピュータビジョン処理は、アーチの始めから終わりまで多くの点(例えば100)を特定する。いくつかの実施形態において、サーバアプリケーションソフトウェアは、背景から足を識別するためのコンピュータビジョン処理を補助するために、上から見下ろした画像からキャプチャされた肌の色合いを使う。
いくつかの実施形態において、使用者の足の基礎部の追加の画像もまた撮影される。サーバアプリケーションソフトウェアは使用者の足のアーチの深さを決定するために、これらの写真を使う。基礎画像データがなくても、使用者の足のアーチの深さは、内側足側面写真から導出された足のアーチの高さに基づいて、見積もられる。
ステップ410において、携帯機器は、足なしでのみ、内側足写真と一致する画像を撮影する指示を提供する。この画像は、画像の背景と前の画像からの足と異なっている際の、コンピュータビジョン処理を補助する。誤差許容範囲のいくつかのあらかじめ決められた程度によって、内側画像と背景画像の違いは、足の欠如のみであるべきで、それゆえ、両方の画像であるものは、使用者の足ではないであろう。
使用者の足に関する図4の実施例は、説明される意図がある。多くの異なる身体部分は、身体部分に基づく、角度及び/または数を変えることができる、写真/メディアの同様のセットで想像されることができる。
図5は、大きさと曲率仕様を生成するために収集された使用者の画像でコンピュータビジョンを実行する処理を描くフローチャートである。図5は、足の実施例に導かれるが、他の身体部分が同様に機能する。それぞれの身体部分の曲線が変わり、この実施例の足の使用は、複雑で曲がった身体構造を表す。図5のステップは、サーバアプリケーションソフトウェアによって実行される。ステップ502において、処理サーバは、携帯機器から画像データを受信する。受信するとすぐに、ステップ504及び506において、処理サーバは、使用者の利用可能な身体部分の大きさと曲率の仕様を決定するために取得される画像データのコンピュータビジョン操作を実行する。
ステップ504において、サーバアプリケーションソフトウェアは、対象者の身体部分の既知のポイントまたは物の距離を決定するための画像データを分析する。実施例の距離は、かかとから親指、かかとから小指、水平に渡る足の親指の関節、及び第1から第5の中足骨のどちら側からの距離を含む。この処理は、既知の距離(及び角度)を提供する参照物またはカメラ動作の知識を有する、計算された距離に基づく、あらかじめ決められたまたは計算可能な距離を使った、必然の結果である。いくつかの実施形態において、参照物は、上述のように、1枚の標準サイズの紙(例えば8.5’’×11’’)であることができる。アプリケーションソフトウェアはその後、画像に基づく使用者の身体部分に関連した、知られていない距離を計算するために既知の距離を使う。
ステップ506において、処理サーバは、身体部分曲率ために画像データを分析する。コンピュータビジョン処理は、身体部分と選択された着用物のタイプに関連する、予想される曲線を探す。曲線が見出されるとすぐに、ステップ508において、ポイントは座標グラフ(図6参照)の曲線に沿ってプロットされる。図6に示されるように、座標グラフ50は、ポイント52の収集した曲線に沿った、X、Y配置を含む。一緒に取られると、ポイント52の収集物は、身体部分の曲率(ここでは足のアーチ)のモデルを作る。
図5に戻って、ステップ510において、処理サーバは、検査のために1以上のファイルの中のコンピュータビジョン処理によって収集されたデータをパッケージする。いくつかの実施形態において、ステップ512において、管理使用者は、取得された画像に関して、コンピュータビジョン処理から出力データの検査を実施する。データに明白なエラーがあるとき(例えば曲率グラフが利用可能な身体部分の曲率と明らかに矛盾する形状である)、生成されたデータは、失敗した調査を有すると見なされ、拒絶することができる。
ステップ514において、使用者または管理者は、画像データを検査されたコンピュータビジョンから出力データの手動編集を実行することができる。システムは、編集のために、使用者/管理者にオリジナル画像のコピーを送信する。使用者は、ポイントを編集し、その後、編集された画像を送信する。使用者は全体の曲率よりむしろポイントが減らされた選択のみを提供する。手動編集が起こらないとき、ステップ516において、画像データは、さらに足と背景の区別を改善するための強化した処理によって、処理される。強化した処理は、個々の画素、群画素、またはベクトル画像編集を使って変えることによって、シャープネス、解像度、選択色を編集することを通して、線の明瞭さを改善するための画像レタッチをいう。画像を検査された現在のコンピュータビジョンは捨てられ、コンピュータビジョン処理は、再び実行される。手動編集が起きるとき、ステップ518において、処理サーバは、最新の曲率及び/または大きさの仕様を受信する。
ステップ520において、使用者の対象身体部分の大きさ及び曲率の仕様の最終のコピーは、処理サーバのサーバアプリケーションソフトウェアのカスタマイズエンジンに転送される。
図7は、テッセレーションモデルをカスタマイズするためのカスタマイズエンジンによって実行される処理を描くフローチャートである。ステップ702において、使用者の選択された着用物のタイプ及びサブクラスは、非常に多くの提供された選択肢から選択群へのテッセレーションモデルキットの選択を制限するために使われる。例えば、着用物のタイプが靴のインソールであるとき、すべての他の着用物のタイプのテッセレーションモデルキットは、与えられたプリントタスク処理から排除される。その後、さらに靴のインソールが「ランニング靴インソール」のサブクラスを有するとき、他の靴のインソールのテッセレーションモデルキットは排除される。例えば、あらかじめ作られたテッセレーションモデルキットの残ったセットは、靴の異なる大きさ、男性用の靴または女性用の靴に関連するそれら、または遺伝の足のタイプの限定されたバリエーション(例えば、通常、狭い、平ら、高いアーチなど)である。テッセレーションモデルキットを制限することは、カスタマイズが適用されたときに、起きる必要がある処理の量を減らす。
ステップ704において、コンピュータビジョンデータは、大きさと曲率の仕様を含み、カスタマイズエンジンに取り込まれる。いくつかの実施形態において、ビジョンデータはおおざっぱに分類され、それゆえ不適切なテッセレーションモデルキットを排除する。残りは、単一で、決定された、大きさと曲率の仕様に非常によく似ているモデルキットである。いくつかの実施形態において、テッセレーションモデルは、画像処理、コンピュータビジョン及び機械学習の観察に基づいて、オンザフライで完全に作られる。
ステップ706において、大きさと曲率の仕様は、決定されたモデルキットに適用される。そのようにすることにおいて、決定されたモデルキットのあらかじめ決められた頂点は、コンピュータビジョン操作から得られたグラフ座標を使って変えられる。
ステップ708において、他の調整は、プリントするためのテッセレーションモデルを準備するために作られることができる。他の調整は装飾的及び/または機能的であるが、一般的にコンピュータビジョン操作によって得られる使用者の測定に接続しない。テッセレーションモデルを調整する一つの可能性のある技術は、いわゆる「負の法線」(negative normals)を使う。
図8は、本明細書で記載されるように3Dプリントされた着用物を生成する際に使われることができる、複雑なテッセレーションファイルを作り出すまたは調整するための技術を描く。図8で記載された技術は、「負の法線」技術と言われる。3Dオブジェクト、モデル、または空間格子は中空なデジタル物である。物は、例えば、三角形または四角形といった、平面の多角形の空間格子から構成される。3Dオブジェクトの空間格子に作り上げるそれぞれの多角形802は、外側の表面及び内側の表面を有する。
この内容の「法線」という用語は、法線ベクトル、すなわち、多角形の表面に垂直であるベクトルをいう。正のオブジェクトにおいて、正の法線は、表面多角形から外側を示し、負の法線は、表面多角形から内側を示す。負のオブジェクトは反対である。
3Dオブジェクトは、内側の負の表面が3Dオブジェクトの外側になるように、反転された内側と外側表面で生成されたとき、負のオブジェクトは、作り出される。負のオブジェクトが正のオブジェクトと交差し、そこから延在するとき、負の法線は作り出される。
負の法線は、従来の3Dプリンタソフトウェアによってエラーとして取り扱われ、負の法線を有する正のオブジェクトの部分をプリントしないプリンタをもたらす。しかしながら、負の法線は、複雑な幾何で3Dプリントできる物を作り出すために有利に使うことができる。
図8は、負の法線として適用される負のオブジェクトを備える正のオブジェクト(靴のインソール)の進捗を描く。最上位3−Dオブジェクト54は、正の靴のインソールを作り上げる多角形55が見える、単一の靴のインソールの正のオブジェクトである。上部56から第2のオブジェクトは、正のインソールの物の滑らかなバージョンである。上部58からの第3のオブジェクトは、負の法線の仕様を描く。
上部58からの第3のオブジェクトにおいて、正の靴のインソール60は負の楕円角柱62と交わる。負の楕円62は正の靴のインソール60の上部表面と接触する、水平な上部表面64と角のある下部表面66を含む。負の楕円角柱62はさらに多くの垂直に配向した負の円筒チューブ68を含む。チューブ68が存在しない空の空間において、正の靴のインソールは、影響を受けない。負の楕円角柱は、正の靴のインソールを横切るとき、正の靴のインソール60の上表面は、高さが減る。
上部70からの第4のオブジェクトにおいて、負の法線テクニックの結果が示される。正の靴のインソール60は、囲んでいる多角形の格子の除去から引き起こされた最上部表面に多くの突起72を有する。負の法線テクニックは、デジタルレンダリングを変えないが、3−Dプリントされた物のみ変える。これは、デジタルレンダリングは中空物であるが、一方で3−Dプリントされた物は中実であるためである。このような理由で、負の法線は、正のオブジェクトから材料を「取り除く」と言うことは、テクニックの思考の便利な方法であると言うことができるが、厳密に言えば、誤っている。さらに正確に、材料は、決して第1の場所の3Dプリントされた物に適用されない。図8の最下部物74は、何度も使われた負の法線テクニックの結果を描く。
もし、負の法線テクニックが図7の実施例で使われないならば、最終の靴のインソールの多くの突起72は、個々に生成されるべきである。大きさを変える正の多角形平面の多くを構成する突起を計算するために使われる処理リソースの量は、実質的に、比較的少ない多角形平面を有する単一の負の形状を作り出すための処理力よりも大きい。
図9は、ここで導入されるテクニックによるカスタマイズされた3Dプリントされた着用物を生成するための分散システムを描くブロック図である。本明細書のシステム及び方法の実施形態は、分散されることができる。関連するハードウェアは、異なる団体によって運営されたネットワークを介して通信してもよく、同じ団体によって運営するように直接接続されてもよく、またはそれらの組み合わせであってもよい。
例えば、いくつかの実施形態において、3Dプリンタ26は、ネットワークの位置であり、3Dプリントの請負業者へ外部委託される。これは3Dプリンタ26が、最終段階の処理サーバ24と直接接続されている図1と対照的である。したがって、指示は、ネットワーク越しに3Dプリンタ26に送られる。さらに、手動の検査コンピュータ28は物理的な意味でも、及び動作の実在物としても、最終段階の処理サーバ24と分離している。例えば、手動の検査コンピュータ28は、携帯機器22を所有する患者の医者によって操作されることができる。別の形態において、手動の検査コンピュータ28は、処理サーバ24を操作する、同じ統合した実在物によって操作されることができる。さらなる別の形態において、携帯機器22及び手動の検査コンピュータ28の両方は、身体画像/ビデオが撮影される患者の医者によって操作される。
上記は単なる実施例である。動作主体及びハードウェアの複数の組み合わせまたは分散がある。分散を達成するために、ここで導入されるシステムの実施形態は、3Dプリントされた及び供給された着用物に達するために、入力及び出力を調整するための分散されたハードウェアに渡って使われる、例えば、アプリケーションプログラムインターフェース(「API」)54などの、ソフトウェアインターフェースを含む。API54は、システムの多くのハードウェアオブジェクトでインスタンスを作成され、最終的に、処理サーバ24のデータベースを参照する。
データベース56は身体部分の3Dモデル及び身体部分の3Dモデルに一致する着用物の3Dモデルを関連づけられた身体画像/ビデオを格納する。これらの画像/モデルのそれぞれは、使用者または注文番号によって索引をつけられる。API54のインスタンスを作成する装置は、着用物生成処理のさまざまな点で画像/ビデオ/材料を呼び出し、入力を提供し、前記材料の状態を観察する。API54は、与えられた着用物の注文に対し、問い合わせ可能な状態の更新を提供することができる。このような方法で、着用物生成は、大きな度合いで、トランスペアレンシィとモジュール化がなされている。
図10は、着用物生成の多くのステップにおけるAPIアクセスの処理を描くフローチャートである。処理は、必ずしも単一の実在物によって実行される必要はない。むしろ、異なる実在物が処理に加わることができる、多くの開始点と終了点がある。図10のフローチャートは、左の入力、右の出力、及び中央の下方の処理を示す。
それぞれの入力(「i」ステップ)は、多くの関連のある動作主体の1つによって実行されることができる。代わりに、それぞれの処理ステップは、次のステップへ通される結果を有する。ステップに応じて、処理ステップは、外部入力、前の処理の結果としての入力、または両方を含むことができる。出力(「o」ステップ)は、処理の中に可視性を提供し、人の動作主体情報を提供することで、未来のステップで決定を下したり、エンターテインメント価値を提供するのに役立つ。
ステップ1002において、システムは、生体の部分の画像またはビデオデータを得る。ステップ1002は、同様に技術的な入力である。図10の目的のために、ステップ1002は、装置カメラを用いて、携帯機器アプリケーションソフトウェア42によって、ビデオまたは画像を得ることをいう。携帯機器アプリケーションソフトウェア42は、処理サーバ24への内部(非APIベースの)接続を有する。
代わりに、または接近して、処理は、ステップ1004iにおいて始まる。ステップ1004iにおいて、API54は、処理サーバ24に後に提供される、身体データを受信する。この場合において、API54は、他の非操作システムソフトウェア内の拡張としてインストールされる。API54は、画像装置または画像装置から収集されたデータを含むコンピュータにインストールされる。このデータは、フォーマット、次元の数、及び内容を変えることができる。
ステップ1004において、処理サーバ24は、デジタル身体モデルを生成するための入力(1002、1004i、または両方)を使用する。デジタル身体部分モデルは、多くのフォーマットの形式であることができる。いくつかの実施形態において、デジタル身体モデルは3Dモデルであり、他において、デジタルモデルは、大きさ、形状、及び性質を形作る、一連の形態であり、また他において、デジタルモデルは、プロパティ及びメタデータを含む多くの2D画像である。
デジタル身体モデルの創造は、始めにフォーマット認識を通し、その後コンピュータビジョンを起こす。処理サーバ24は、始めにどのように前記入力が処理されるかを決定するために受信された入力のフォーマットを識別する。フォーマットが決定されるとすぐに、コンピュータビジョンの方法が決定される。コンピュータビジョン処理の結果は、デジタル身体モデルである。いくつかの実施形態において、例えば、既に3D身体モデルを含む実施形態などは、コンピュータビジョン処理はスキップされる。
ステップ1004oにおいて、API54は、デジタル身体モデルを見えるようにする。従って、使用者は、使用者の医者、または着用物の創造に対して他の適当な人は、多くのハードウェアプラットフォームでデータを見ることができる。デジタル身体モデルは、使用者によって、または注文番号によって索引をつけられ、それゆえ、API54を通して、データベース56を検索することで、デジタル身体モデル出力が返されることができる。
ステップ1006iにおいて、関係者は、3D画像装置、またはAPI54を通して以前の測定された形態から彼ら自身の身体モデルを提供すること、またはAPI54にステップ1004の身体モデル入力を受諾する処理サーバ24へメッセージを提供させることが可能とされる。身体モデルは、他の現存するスキャナ、または使用者によって生成されたモデルに由来するであろう。API54は、あたかも使用者が提出した身体モデルがステップ1004の結果であるように、入力として事前に生成されたモデルを受諾し、処理の前にその入力を動かす。
ステップ1006において、処理サーバ24は、デジタル身体モデルに基づく、デジタル着用物の3Dモデルを生成する。着用物の3Dモデルの生成は、開示された本明細書で教示した方法、または当該分野で既知の他の適切な方法のように、進む。ステップ1006oにおいて、API54は、3D着用物モデルを見えるようにする。したがって、使用者、使用者の医者、または着用物の創造に対して他の適当な人は、多くのハードウェアプラットフォームで3D着用物モデルを見ることができる。3D着用物モデルは、使用者によって、または注文番号によって索引をつけられ、それゆえ、API54を通して、データベース56を検索することで、3D着用物モデル出力が返されることができる。
ステップ1008iにおいて、関係者は、API54にステップ1006の3D着用物モデル入力を受諾する処理サーバ24へメッセージを提供させることがユーザインターフェースを通して可能とされる。ステップ1006oの出力は、使用者の決定の基礎を提供する。ステップ1008において、3D着用物モデルは、プリントのために3Dプリンタ26に送信される。いくつかの実施形態において、3Dプリントは、追加の処理によって起きるが、当業者が減少によって3Dプリントすることを理解する。
分離してプリントされた多くの着用物の部品がある、ステップ1010において、これらの部品は組み立てられる。いくつかの実施形態において、3Dプリンタ26が、外部のプリントする実在物によって操作されるとき、複数の部品が組立てのために中央の位置/実在物に送られる。いくつかの実施形態において、システムは、配達住所に基づく位置から離れるために、プリント及び/または組立てを送付する。これらのステップは、不動産がサービスを提供するために利用可能であるとき、配達位置の近くで実行されることができる。
ステップ1010oにおいて、処理サーバ24は、ホストの位置へ組立て処理ビデオまたは低速度撮影をアップロードする。カメラが3Dプリンタ26において、または組立て処理において入手可能であるとき、定期的な画像キャプチャまたはビデオは撮影され、使用者または注文番号によって索引付けられる。これらの画像キャプチャまたはビデオは、着用物生成ビデオに取り込まれ、処理サーバ24によってホストされたウェブサイト、または外部ビデオホスティングサービス(例えばユーチューブ(YouTube(登録商標))など)の中に書き込まれることができる。
ステップ1012iにおいて、外部プリンタがまだプリントされた着用物を保持しているならば、着用物は、中央顧客管理位置へ輸送される。ステップ1012において、中央顧客管理は、プリントされた着用物を使用者及び/医者に輸送する。いくつかの実施形態において、注文の要素は、使用者に配達するために地方の不動産に提供される。
図11は、多くの入力身体データのタイプを処理する実施形態を描くフローチャートである。多くのこれらのステップは、動作主体としての処理サーバ24をいうが、複数のソースが、図10に記載されるようなこれらのステップを実際に実行することができる。ステップ1102において、身体データは得られる。上記に記載されたように、身体データの性質は変えることができる。実施例は、貫通及び光露出/使用のさまざまなレベルの2D/3D画像/ビデオ(例えば、従来の写真/ビデオ、赤外線画像/ビデオデータ、共焦点顕微鏡データ、ライトフィールド画像データ、または超音波画像データ)を含む。このデータは、多くのソースに由来することができる。ステップ1104において、身体データは、処理サーバ24に送信される。
送信されるとすぐに、データのフォーマットは、決定される。ステップ1106において、処理サーバ24は、ビデオまたは静止画としてデータを分類する。データが静止画であるとき、ステップ1108において、データは、写真またはスキャナモデルとして分類される。スキャナモデルは、身体スキャナによって生成された3Dモデルをいう。
ステップ1110において、身体データがビデオであるとき、処理サーバ24は、ビデオのフレーム(静止画)を解析し、モデル静止画画像に照合する。照合は、画素と物の比較で実行される。物は、画素に基づくフレームにおいて識別される。画素または物は、モデル画像の画素または物に照合される。ステップ1112において、処理サーバ24は、静止画として、ビデオからモデル画像と最も一致するフレームを抽出する。ステップ1114において、処理サーバ24は、フレームを画像ファイルに変換する。
ステップ1116において、静止画写真が検出されたとき、写真は、コンピュータビジョンが実行されることができる画像フォーマットに変換される。これは、例えば、可視スペクトルで撮影されない画像(例えば、赤外または超音波画像)について言えば、関係がある。このステップにおいて、物は、画像ファイルの画素から識別される。ステップ1118において、画像は、ステップ1110と同様にモデル画像と照合される。しかしながら、身体データ写真が由来するものによるが、写真は、すでにモデル画像と一致することができる(例えば、写真のキャプチャ指示が身体データを送信する前に続けられるとき)。
ステップ1120において、新たな身体データ入力にかかわらず、処理の現在の生産物は、ステップ1114及び1118の変換後、同じ画像データフォーマットにある。したがって、処理サーバ24は、画像のコンピュータビジョン処理を実行する。コンピュータビジョン処理は、写真を撮られた/記録された身体部分の性質を識別する。ステップ1122において、処理サーバ24はデジタル身体モデルを生成する。デジタルモデルは、多くの形態を取られ、その1つは、追加の変更のないステップ1108の身体スキャンに由来する。他のデジタル身体モデルは、特定のパラメータ分野において、記述番号がある。デジタル身体モデルのタイプにかかわらず、ステップ1124において、処理サーバ24は、デジタル身体モデルに対応する、着用物テッセレーションファイルを生成する。ステップ1126において、3Dプリンタは、そのテッセレーションファイルをプリントする。
図12は、並列のコンピュータビジョン及び機械学習処理を含む、着用物生成を描くフローチャートである。図12は、図10のステップ1004といくつかの周囲のステップにおける詳細視である。図12のステップは、一般的に、全システム内で利用可能な処理力によって実行される。しかしながら、処理力は、多くの装置及びサーバに渡って分散されることができる。例えば、いくつかのステップは、例えばスマートフォンなどの携帯機器によって実行されることができるが、他は、クラウドサーバによって実行される。
ステップ1200において、入力身体部分画像データは、システムに提供される。入力データは、さまざまな方法のいくつかにおいて(例えば、スマートフォンアプリケーションからの直接アップロード、ウェブアップロード、APIアップロード、プリンタアプリケーションアップロードなどによって、)提供されることができる。ステップ1202において、アップロードされた身体部分画像データは、さらなる処理のために同一の画像フォーマットを得るために処理される。図11は、画像前処理の部分を詳述する。
身体画像入力データが同一のデータフォーマットであるとすぐに、方法は、ステップ1204及び1206に進む。ステップ1204及び1206において、システムは、対象者の画像の身体部分を検出することを試みる。これは、コンピュータビジョンと機械学習の両方によって実行される。前の観察とモデル(例えば、隠れマルコフモデル)は、機械学習操作に影響を与える。特定の身体部分の検出により、システムは、最も関係のある生産物のタイプを決定することができる。いくつかの実施形態において、システムは、使用者が生産物タイプの選択(例えば、履物のインソール、ブラジャー、イヤフォン、手袋など)を選ぶことができるように、最初に身体部分の識別を実行する。
ステップ1208において、システムは、身体部分が、実際に、検知されるかどうかチェックする。身体部分が検知されたとき、方法は進むが、身体部分が検知されないとき、方法は機械学習モデルを更新するために、観察ステップへスキップする。ユーザインターフェースは使用者に追加的に信号を送り、使用者は、開始を形成するために再び方法を開始することができる。
いくつかの実施形態において、ステップ1204−1208は、使用者によって所有されるローカルの携帯機器によって処理される。これらのステップは、しばしば使用者が生産物タイプを選択する前に実行されるので(ステップは、身体部分と身体部分の識別の後に選択される生産物を識別する)、身体部分識別を実行する前のデータの送信とは対照的に、ローカル処理力を使うことによって、いくらかの効率を得ることができる。
さらに、生産物タイプの選択の使用者の経験により、システムは、携帯機器からクラウドサーバへのデータ送信を「隠す」ことができる。身体部分が、識別されるとすぐに、使用者は、生産物のスタイル、タイプ、サブタイプを選択することを始める。使用者が、これらの操作に従事している間に、身体部分画像データは、携帯機器からクラウドサーバへ更新され、使用者の経験は、ストールされない。
ステップ1210と1212において、システムは、コンピュータビジョン及び機械学習を使って、画像分割を実行する。前の観察とモデル(例えば、隠れマルコフモデル)は、機械学習操作に影響を与える。画像分割は例えば、背景と身体部分の識別も、身体部分の異なる曲線と表面の識別なども、画像の特定の要素を識別するために使われる。
ステップ1214において、システムは、3−Dモデル(例えばテッセレーションファイル)の曲率に関連がある身体部分の領域を識別する。ステップ1216及び1218において、システムは、コンピュータビジョン及び機械学習を使って、点抽出を実行する。前の観察とモデル(例えば、隠れマルコフモデル)は、機械学習操作に影響を与える。点抽出処理は、分割によって識別された曲線に沿って多くの点を生成する。これらの点のそれぞれは、2−Dまたは3−D空間の点が割り当てられる。点座標の測定は、参照物を使って、または画像分析によって解く、解かれた距離に基づいて、提供される。
ステップ1220において、抽出されたデータ点は、3−Dモデル生成またはテッセレーションファイル生成のために使用できるデータにされる。ステップ1222において、データ点及び身体部分画像は、後処理を受ける。ステップ1224において、システムは、総観察に対し、データ点と身体部分画像データを追加する。ステップ1226において、システムにより、使用者または管理者は、監査レビューを行うことができる。このステップは、上の段落で詳細に述べられている。この時点で、データ点は、モデル生成に供給され、3−Dプリント処理の残りは、分離して続く。
ステップ1220−1226の後、データはデータベースに追加される。図12の処理は、評価及び学習段階を続ける。ステップ1228において、システムは、処理の性能評価を、再検討し、実行する。ステップ1230において、システムの機械学習エンジンは、データベース及び性能評価から観察を更新する。処理が続くとき、ステップ1234において、機械学習モデルは更新される。更新された機械学習モデルは、後続の使用者のためにステップ1204、1210、及び1216の中の使用に再生される。
図13は、単一レンズ2−Dカメラから撮影された画像の距離測定を描くフローチャートである。携帯機器は、単一のカメラと慣性測定ユニット(IMU)を含むとき、2つの写真の間の視差距離測定は、既知の距離を決定し、それゆえ身体部分の大きさを計算するために使われることができる。参照物と同様に、画像が第1の既知の距離を有するとすぐに、画像内の他の大きさ(例えば身体部分の形状など)は、当該分野で既知の数学的テクニックで計算されることができる。
ステップ1302において、第1の画像は、第1の位置で撮影される。ステップ1304において、カメラは動かされ、IMUは第1の位置から第2の位置への相対動作を追跡する。ステップ1306において、カメラは、その後第2の画像を撮影する。
方法は、同じように、ビデオクリップで実行されることができる。ビデオクリップがキャプチャされる間、IMUは、第1の位置に対する携帯機器の動きを追跡する。ビデオクリップとIMU追跡の間のタイムスタンプは、静止画像として単一のフレームを識別するために一致させられる。ステップ1308において、システムは、画像の関心の領域を識別する。これは、ステップ1214において、図12で説明される。
ステップ1310において、IMUから情報を与えられ、システムは、第1の画像がキャプチャされたときと第2の画像の間の視差角を計算する。ステップ1312において、システムは、第1と第2の位置の間の視差角と距離に基づく関心の領域と点への距離を計算する。ステップ1514において、システムは、それぞれの画像内の多くの距離の間の距離を解くために幾何数学を使うことができる。これらの距離は、画像の多くの点へ座標を提供するために使われ、またその後、後に画像内の物の3−Dモデルを開発するために使われる。
図14は、身体スキャンによって生成されたカスタマイズされたコンピュータマウスの図解である。着用物に加えて、この開示で教示された処理は、同じように、使用者の身体の曲線と整合させるアイテムを生成するために使われることができる。そのようなアイテムの一つの実施例は、コンピュータマウス76である。マウス周辺機器は、人間の体、特に人間の手及び指先と重要な整合を有するように設計される。身体画像データが、使用者の指に収集されたとき、システムは、特定の使用者のためにカスタムプリントされた指のぎざぎざ78に一致する、コンピュータマウス76を生成することができる。
図15は、身体スキャンによって生成されたカスタマイズされた耳のヘッドフォンの図解である。開示されたシステムでカスタム設計されることができる、着用物の別の実施例は、ヘッドフォン80であり、ヘッドフォンは、耳の空洞にカスタム形成されたスピーカエンクロージャー82を有する。人の耳の身体画像データを使うことによって、耳の空洞スピーカ82に適合したカスタム生成ができる。
図16は、3−Dプリントに続く、身体画像によって生成される着用物の取り合わせたものの図解である。図16の図は、着用者の身体部分に一致する3Dプリントできる着用物を説明する意図がある。実施例は、ブラジャー84、ヘルメット86、支持具88またはゴーグル90を含む。多くの目的に適合した多くの可能性がある着用物がある。
図17は、身体スキャンによって生成されたカスタマイズされた眼鏡の図解である。開示されたシステムでカスタム設計されることができる着用物の別の実施例は、眼鏡である。多くの分割は、使用者の身体にカスタマイズされることができる。
図18は、身体スキャンによって生成されたカスタマイズされた支持具の図解である。開示されたシステムでカスタム設計されることができる着用物の別の実施例は、支持具タイプの矯正具である。多くの分割は、使用者の身体にカスタマイズされることができる。
発明は、好ましい実施形態を参照して本明細書に開示されるが、当業者は、すでに他のアプリケーションが、本発明の精神と範囲から逸脱しないで本明細書に記載されたそれらと置換されるうることが、理解されるであろう。したがって、発明は、以下に含まれる請求項によってのみ限定されるべきである。