Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6533593B2 - 仮想六面体モデルに基づいた、仮想三次元モデルの生成 - Google Patents
[go: Go Back, main page]

JP6533593B2 - 仮想六面体モデルに基づいた、仮想三次元モデルの生成 - Google Patents

仮想六面体モデルに基づいた、仮想三次元モデルの生成 Download PDF

Info

Publication number
JP6533593B2
JP6533593B2 JP2017552092A JP2017552092A JP6533593B2 JP 6533593 B2 JP6533593 B2 JP 6533593B2 JP 2017552092 A JP2017552092 A JP 2017552092A JP 2017552092 A JP2017552092 A JP 2017552092A JP 6533593 B2 JP6533593 B2 JP 6533593B2
Authority
JP
Japan
Prior art keywords
model
hexahedral
dimensional
cross
hexahedron
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017552092A
Other languages
English (en)
Other versions
JP2018514858A (ja
Inventor
イ・ミュンハク
Original Assignee
ミュンハク・イ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ミュンハク・イ filed Critical ミュンハク・イ
Publication of JP2018514858A publication Critical patent/JP2018514858A/ja
Application granted granted Critical
Publication of JP6533593B2 publication Critical patent/JP6533593B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T12/00Tomographic reconstruction from projections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T12/00Tomographic reconstruction from projections
    • G06T12/20Inverse problem, i.e. transformations from projection space into object space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Image Generation (AREA)

Description

(関連出願の相互参照)
本出願は、米国特許法第119条(e)の下で、2015年4月2日に出願された「医用画像用の高度な3D多面体エンジン」と題する同時係属中の米国仮特許出願第62/142,001号、及び、2016年3月30日に出願された「仮想六面体モデルに基づく仮想三次元モデルの生成」と題する米国特許出願第15/086,036号の優先権を主張するものであり、また、これらの全体は、参照により本明細書に組み入れられる。
本開示は、概して、仮想モデル生成の分野に関し、特に、3次元仮想モデルを生成するコンピュータ実施プロセスに関する。
3次元(3D)モデルは、複雑な形状を有するオブジェクトの理解を容易にする。コンピュータで生成された、3Dオブジェクトの仮想3Dモデルによって、異なる視点からオブジェクトの様々な構成要素の形状及び配置を視覚的に提示することができる。さらに、3Dモデルは、オブジェクトを変更又は再配置した場合をシミュレートするために変更することができる。さらに、3Dモデルは、3Dプリンタによって有形のレプリカとしてレンダリングすることができる。
一例では、3Dモデルは、2D断面画像(例えば、コンピュータ断層撮影(computerized tomography:CT)スキャン又は磁気共鳴画像(magnetic resonance imaging:MRI)スキャンの画像)に基づいて生成することができる。図1は、オブジェクト110、120、130、140、160、180(例えば、顎関節110、180、椎孔120、椎骨130、及び歯140、160)を含む、人間の被検者の頭部の例示的なCTスキャン画像100を示す。例示的なオブジェクトには、骨、歯、又は被検者の医学的状態を判断するための任意の身体部分が含まれる。
図2A及び図2Bは、2つのCTスキャン画像から3Dモデルを生成する例示的な従来のプロセスを示す。従来の手法では、第1のCTスキャン画像のオブジェクト110A、130A、140A、160A、及び180Aのエッジを抽出し、第2のCTスキャン画像の対応するオブジェクト110B、130B、140B、160B、180Bのエッジを抽出する。対応するエッジを接続することにより、3Dモデル210、230、240、260、及び280の表面215、235、245、265、及び285を生成することができる。したがって、オブジェクト110、130、140、160、及び180にそれぞれ対応する3Dモデル210、230、240、260、280を得ることができる。
しかしながら、従来の手法で生成される3Dモデルは、別のオブジェクト内に配置されたオブジェクトを表現することができない。例えば、エッジ130A、130Bを抽出し、エッジ130A、130Bを接続することによって表面235を生成することにより、オブジェクト130内のオブジェクト120は無視される。したがって、従来の手法で得られる3Dモデルは、他のオブジェクトに包囲された又は囲まれたオブジェクトを正確に表現することができない。
さらに、従来の手法で生成される3Dモデルは、閉じていない(又は開いた)形状を有する場合がある。従来の手法では、2つのエッジが同じオブジェクトの一部でないと判定された場合、2つのエッジ間の表面は省かれる。閉鎖面の欠如は、穴となり、その結果、開いた形状をもたらす。例えば、図3に示すように、穴310A〜310Fは、穴310の周りのエッジが異なるオブジェクトの一部であると判定されたことから生成されている。3Dモデルのこれらの穴に起因するこのような開いた形状は、オブジェクトの内側部分とオブジェクトの外側部分とを区別できなくする。結果として、開いた形状を有する3Dモデルは、3D印刷することができないか、又は3Dモデルの不正確な3D印刷を引き起こす。
実施形態は、3次元オブジェクトの複数の2次元断面画像に基づいて3次元モデルデータを生成するコンピュータ実施方法に関する。本方法は、第1の画像データセット及び第2の画像データセットを受信するステップであって、第1の画像データセットが、複数の2次元断面画像の第1の断面画像を表し、第2の画像データセットが、複数の2次元断面画像の第2の断面画像を表し、第1の断面画像が、3次元軸の1つに沿った3次元オブジェクトの第1の位置に対応し、第2の断面画像が、第1の位置から離れた、3次元軸の1つに沿った3次元オブジェクトの第2の位置に対応し、第1の画像データセット及び第2の画像データセットの両方が、複数の画素を含み、該複数の画素の各々が、その2次元座標及び画素値に関連付けられているステップと、第1の断面画像の画素から第1の画素セットの第1の2次元座標セットを特定するステップであって、第1の画素セットが、所定の画素値範囲内の第1の画素値に関連付けられているステップと、第2の断面画像の画素から第2の画素セットの第2の2次元座標セットを特定するステップであって、第2の画素セットが、所定の画素値範囲内の第2の画素値に関連付けられているステップと、第1の六面体モデルを表す第1の六面体データセットを生成するステップであって、第1の六面体データセットの各々が、第1の2次元座標セットの対応する座標で第1の六面体モデルの対応する六面体モデルに関連付けられているステップと、第2の六面体モデルを表す第2の六面体データセットを生成するステップであって、第2の六面体データセットの各々が、第2の2次元座標セットの対応する座標で第2の六面体モデルの対応する六面体モデルに関連付けられているステップと、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップとを含む。
1つ以上の実施形態では、第1の六面体モデルの各々は、均一な高さを有してもよく、第2の六面体モデルの各々は、その均一な高さを有してもよい。均一な高さは、3次元軸の前記1つに沿った、第1の位置と第2の位置との間の距離に対応してもよい。一部の実施形態では、第1の六面体モデル及び第2の六面体モデルは立方体であってもよい。
1つ以上の実施形態では、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップは、第1の六面体モデル及び第2の六面体モデルの中の互いに隣接する六面体モデルを接合するステップを含む。第1の六面体モデル及び第2の六面体モデルの中の互いに隣接する六面体モデルを接合するステップは、接合された六面体モデルの閉鎖面の座標を含む面データを生成するステップであって、接合された六面体モデルが、閉鎖面によって囲まれるステップを含んでもよい。一態様では、面データは、互いに隣接する2つの六面体モデル間の開放面の座標を含まなくてもよい。
1つ以上の実施形態では、六面体モデルの閉鎖面の各々は、2つの三角形からなる。
1つ以上の実施形態では、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップは、接合された六面体モデルの除去すべき頂点を特定するステップであって、頂点が、閉鎖面の3つの三角形の共通頂点であり、3つの三角形が互いに直交しているステップと、共通頂点に隣接する頂点を3つの頂点として有する新しい三角形を生成するステップと、頂点及び3つの三角形を除去するステップとをさらに含む。
1つ以上の実施形態では、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップは、共通辺を共有する、接合された六面体モデルの第1の三角形及び第2の三角形を特定するステップであって、第1の三角形及び第2の三角形が互いに直交しているステップと、3つの頂点を有する新しい三角形を生成するステップであって、3つの頂点が、共通辺から離れた、第1の三角形の第1の頂点、共通辺から離れた、第2の三角形の第2の頂点、及び共通辺の第1の端である第3の頂点を含むステップと、共通辺の第2の端、第1の三角形、及び第2の三角形を除去するステップとを含む。
1つ以上の実施形態では、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップは、オフセット頂点を特定するステップであって、オフセット頂点が、3つの三角形によって共有されており、3つの三角形の各々が、三角形の中心から、三角形から離れた、オフセット頂点に隣接する頂点までの距離ベクトルを有し、3つの三角形の前記各々の距離ベクトルが、同じ極性を有するステップと、オフセット頂点に隣接する頂点にオフセット頂点をシフトさせるステップと、オフセット頂点をシフトさせるステップの後に、重なった三角形を除去するステップとを含む。
1つ以上の実施形態では、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップは、接合された六面体モデルの3つの外側三角形を特定するステップであって、3つの外側三角形が、共通頂点を共有し、所定の面方向範囲内に配置されているステップと、共通頂点に隣接する頂点を3つの頂点として有する新しい三角形を生成するステップと、共通頂点及び3つの三角形を除去するステップとを含む。
1つ以上の実施形態では、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップは、接合された六面体モデルの2つの直角三角形を特定するステップであって、2つの直角三角形が、共通頂点及び共通辺を共有しており、2つの直角三角形の2つの直角が、共通頂点に形成されているステップと、複数の辺の中から最長辺を特定するステップであって、複数の辺の各々の端が、共通頂点であるステップと、複数の辺の中から最短辺を特定するステップと、最長辺の長さと最短辺の長さとの平均値を取得するステップと、共通頂点から離れた、最長辺の端に向けて共通頂点を平均値の半分だけシフトさせるステップとを含む。
1つ以上の実施形態では、本方法は、複数の2次元断面画像の第3の断面画像を表す第3の画像データセットを受信するステップであって、第3の断面画像が、3次元軸の1つに沿った、3次元オブジェクトの第3の位置に対応するステップと、第3の断面画像の画素から第3の画素セットの第3の2次元座標セットを特定するステップであって、第3の画素セットが、所定の画素値範囲内の第3の画素値に関連付けられているステップと、第3の六面体モデルを表す第3の六面体データセットを生成するステップであって、第3の六面体データセットの各々が、第3の2次元座標セットの対応する座標で第3の六面体モデルの対応する六面体モデルに関連付けられているステップとをさらに含み、3次元モデルデータは、第3の六面体データセットにさらに基づいて生成される。
別の実施形態は、3次元オブジェクトの複数の2次元断面画像に基づいて3次元モデルデータを生成するための命令を含む非一時的コンピュータ可読記憶媒体に関する。命令は、プロセッサによって実行されたときにプロセッサに、第1の画像データセット及び第2の画像データセットを受信するステップであって、第1の画像データセットが、複数の2次元断面画像の第1の断面画像を表し、第2の画像データセットが、複数の2次元断面画像の第2の断面画像を表し、第1の断面画像が、3次元軸の1つに沿った3次元オブジェクトの第1の位置に対応し、第2の断面画像が、第1の位置から離れた、3次元軸の1つに沿った3次元オブジェクトの第2の位置に対応し、第1の画像データセット及び第2の画像データセットの両方が、2次元座標及び画素値を含み、第1の断面画像及び第2の断面画像の各画素が、2次元座標及び画素値に関連付けられているステップと、第1の断面画像の画素から第1の画素セットの第1の2次元座標セットを特定するステップであって、第1の画素セットが、所定の画素値範囲内の第1の画素値に関連付けられているステップと、第2の断面画像の画素から第2の画素セットの第2の2次元座標セットを特定するステップであって、第2の画素セットが、所定の画素値範囲内の第2の画素値に関連付けられているステップと、第1の六面体モデルを表す第1の六面体データセットを生成するステップであって、第1の六面体データセットの各々が、第1の2次元座標セットの対応する座標で第1の六面体モデルの対応する六面体モデルに関連付けられているステップと、第2の六面体モデルを表す第2の六面体データセットを生成するステップであって、第2の六面体データセットの各々が、第2の2次元座標セットの対応する座標で第2の六面体モデルの対応する六面体モデルに関連付けられているステップと、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップとを行わせる。一部の実施形態では、第1の六面体モデル及び第2の六面体モデルは立方体であってもよい。
1つ以上の実施形態は、3次元オブジェクトの複数の2次元断面画像に基づいて3次元モデルデータを生成するためのシステムに関する。本システムは、プロセッサ、及び命令を含む非一時的コンピュータ可読記憶媒体を備え、命令は、プロセッサによって実行されたときにプロセッサに、第1の画像データセット及び第2の画像データセットを受信するステップであって、第1の画像データセットが、複数の2次元断面画像の第1の断面画像を表し、第2の画像データセットが、複数の2次元断面画像の第2の断面画像を表し、第1の断面画像が、3次元軸の1つに沿った3次元オブジェクトの第1の位置に対応し、第2の断面画像が、第1の位置から離れた、3次元軸の1つに沿った3次元オブジェクトの第2の位置に対応し、第1の画像データセット及び第2の画像データセットの両方が、複数の画素を含み、該複数の画素の各々が、その2次元座標及び画素値に関連付けられているステップと、第1の断面画像の画素から第1の画素セットの第1の2次元座標セットを特定するステップであって、第1の画素セットが、所定の画素値範囲内の第1の画素値に関連付けられているステップと、第2の断面画像の画素から第2の画素セットの第2の2次元座標セットを特定するステップであって、第2の画素セットが、所定の画素値範囲内の第2の画素値に関連付けられているステップと、第1の六面体モデルを表す第1の六面体データセットを生成するステップであって、第1の六面体データセットの各々が、第1の2次元座標セットの対応する座標で第1の六面体モデルの対応する六面体モデルに関連付けられているステップと、第2の六面体モデルを表す第2の六面体データセットを生成するステップであって、第2の六面体データセットの各々が、第2の2次元座標セットの対応する座標で第2の六面体モデルの対応する六面体モデルに関連付けられているステップと、第1の六面体データセット及び第2の六面体データセットに基づいて3次元モデルデータを生成するステップとを行わせる。一部の実施形態では、第1の六面体モデル及び第2の六面体モデルは立方体であってもよい。
図1は、例示的な2次元(2D)コンピュータ断層撮影スキャン画像を示す。 図2Aは、従来の手法に従って2D画像に基づいて3Dモデルを生成するコンピュータ実施プロセスを示す。図2Bは、従来の手法に従って2D画像に基づいて3Dモデルを生成するコンピュータ実施プロセスを示す。 図3は、従来の手法に従って生成された、開いた形状を含む例示的な3Dモデルの例である。 図4は、実施形態に従って例示的な3Dモデル生成システムを示す。 図5は、実施形態に従って、3Dモデルの電子表現を含む3Dモデルデータを2D画像データに基づいて生成するコンピュータ実施プロセスを示すフローチャートである。 図6は、実施形態に従って、3Dモデルの電子表現を生成するコンピュータ実施プロセスを示すフローチャートである。 図7Aは、実施形態に従って、3Dモデルの六面体モデルへの2D画像の画素の例示的な変換を示す。 図7Bは、実施形態に従って、図1のCTスキャン画像に対応する3Dモデルの例示的な断面を示す。 図7Cは、実施形態による、図7Bに示されている3Dモデルの断面の部分の拡大図である。 図7Dは、実施形態に従って、画素に関して六面体モデルを生成する例示的なプロセスを示す。 図7Eは、実施形態に従って、複数の六面体モデルを含む例示的な3Dモデルを示す。 図7Fは、実施形態による、図7Eに示されている3Dモデルの部分の拡大図である。 図8は、実施形態に従って、3Dモデルに表面最適化を実行するコンピュータ実施プロセスを示すフローチャートである。 図9は、実施形態に従って、3つの直交面によって共有された、六面体モデルの頂点を除去するコンピュータ実施プロセスを示すフローチャートである。 図10Aは、図9に示したコンピュータ実施プロセスに従って、3つの直交面によって共有された、六面体モデルの頂点を除去する前の例示的な3Dモデルと頂点を除去した後の例示的な3Dモデルを示す。 図10Bは、図9に示したコンピュータ実施プロセスに従って、3つの直交面によって共有された、六面体モデルの頂点を判定する例示的な手法を示す。 図10Cは、図9に示したコンピュータ実施プロセスに従って、3つの直交面によって共有された、六面体モデルの頂点を除去する例示的なプロセスを示す。 図11は、実施形態に従って、3Dモデルの直交面を合成するコンピュータ実施プロセスを示すフローチャートである。 図12は、図11に示したコンピュータ実施プロセスに従って、3Dモデルの直交面を合成する前の例示的な3Dモデルと、直交面を合成した後の例示的な3Dモデルとを示す。 図13は、実施形態に従って、3Dモデルのオフセット頂点をトリミングするコンピュータ実施プロセスを示すフローチャートである。 図14Aは、オフセット頂点を有する例示的な3Dモデルを示す。 図14Bは、図13に示したコンピュータ実施プロセスに従って、図14Aに示した例示的な3Dモデルのオフセット頂点を判定する例示的なプロセスを示す。 図14Cは、図13に示したコンピュータ実施プロセスに従って、図14Aの例示的な3Dモデルのオフセット頂点を除去した後の例示的な表面を示す。 図14Dは、図13に示したコンピュータ実施プロセスに従って、3Dモデルのオフセット頂点をトリミングする前の例示的な3Dモデルと、オフセット頂点をトリミングした後の例示的な3Dモデルとを示す。 図15は、実施形態に従って、3Dモデルの外側面を合成するコンピュータ実施プロセスを示すフローチャートである。 図16は、図15に示したコンピュータ実施プロセスに従って、3Dモデルの外側面を合成する前の例示的な3Dモデルと、外側面を合成した後の例示的な3Dモデルとを示す。 図17は、実施形態に従って、3Dモデルの辺のバランスをとるコンピュータ実施プロセスを示すフローチャートである。 図18は、図17に示したコンピュータ実施プロセスに従って、3Dモデルの辺のバランスをとる前の例示的な3Dモデルと、辺のバランスをとった後の例示的な3Dモデルとを示す。 図19Aは、一実施形態に従って、3Dモデルに表面最適化を実行する前の六面体モデルを含む例示的な3Dモデルと、表面最適化を実行した後の例示的な3Dモデルとを示す。 図19Bは、一実施形態に従って、図7Eに示した六面体モデルを含む3Dモデルに表面最適化を実行した後の例示的な3Dモデルを示す。 図19Cは、実施形態に従って、図19Bに示した例示的な3Dモデルの部分の拡大図である。 図20は、実施形態に従って、プロセッサ(又はコントローラ)で機械可読媒体から命令を読み出し、これらを実行することができる例示的な機械(例えば、コンピュータ)の構成要素を示す。
図面(図)及び以下の説明は、例示のみのために好ましい実施形態に関する。当業者であれば、本明細書に開示されている構造及び方法の代替実施形態を、開示されているものの原理から逸脱することなく採用され得る実施可能な代替物として認めることができる。
以下では、いくつかの実施形態を詳細に参照するが、これらの例は、添付図面に示されている。可能な場合には、同様の又は同じ参照番号が、図面では使用されることがあり、同様の又は同じ機能を示すことがあることに留意されたい。図面は、例示のみを目的として、開示されているシステム(又は方法)の実施形態を示す。当業者であれば、以下の説明から、本明細書に記載の原理から逸脱することなく、本明細書に示されている構造及び方法の代替実施形態を採用することができることを容易に認めるであろう。
構成の概要
開示されている構成の例示的な実施形態は、3Dオブジェクトの2D断面画像の各画素に従って生成される複数の仮想六面体モデル(本明細書では「六面体モデル」とも呼ばれる)に基づいて3Dオブジェクトの仮想3Dモデル(本明細書では「3Dモデル」とも呼ばれる)を生成するためのコンピュータ実施方法(システム及び非一時的コンピュータ記憶可読媒体)を含む。六面体モデルは、六面体形状を表すコンピュータデータを有するコンピュータ生成仮想ユニット構成要素である。
異なる断面画像は、3D軸の1つに沿った3Dオブジェクトの異なる位置に対応する。各断面画像は、複数の画素に分割され、2D断面画像の画素は、2D座標及び3D軸の1つに沿った2D断面画像の位置によって特定される。画素に対応する六面体モデルは、2D座標及び3D軸の1つに沿った2D断面画像の位置に対応する仮想3D空間の位置に生成される。
各六面体モデルが2D断面画像の各画素に対応する複数の六面体モデルを含む、3Dオブジェクトの3Dモデルを生成することによって、別のオブジェクト内のオブジェクトを正確に表現することができる。さらに、3Dモデルは閉じた形状を有することになるため、3Dモデルの3D印刷を成功裏に実行することができる。
一態様では、3Dモデルは、電子的に記憶又は伝送することができる3Dモデルデータによって表される。本明細書における3Dモデルデータは、閉じた形状を有する3Dモデルの電子表現を意味する。3Dモデルデータは、3Dモデルの構成要素(例えば、頂点、辺、面、又はこれらの任意の組み合わせ)の構造配置(例えば、位置、形状、サイズ、色など)を示す。3Dモデルデータは、3Dモデルの視覚的表現を生成するために計算システムによって取り出すことができるし、3Dモデルの有形の物理的表現を生成するために3D印刷機に適用することができる。
システムの概要
図4は、実施形態に従って例示的な3Dモデル生成システム420を示す。図4では、システム420は、3Dオブジェクトの2D画像データ410を受信し、そのオブジェクトの3Dモデル480を生成する。システム420は、2D画像データに基づいて仮想3Dモデル480を生成し、3Dモデルの3Dモデルデータ(すなわち、電子表現)を記憶する。
2D画像データは、2D断面画像(例えば、CTスキャン画像、MRIスキャン画像など)の電子的なコンピュータ表現である。2D画像データは、「2D画像ファイル」とも呼ばれる。2D画像の2D画像ファイルは、2D画像の画素ごとに、画素を特定する2D座標及び画素の画素値(例えば、色値)を含む。画素値は、2D座標によって特定される画素の色を表す。画素値は、任意の色空間フォーマット(例えば、RGB、YCbCrなど)で表されてもよい。一実施形態では、2D画像は、3Dオブジェクトの断面画像であり、各2D画像は、それぞれの2D画像ファイルに対応する。各2D画像は、2D画像に直交する、3D画像の軸に沿って別の2D画像から(好ましくは一定の距離だけ)離されている。言い換えれば、2D画像データ410は、3Dオブジェクトの複数の断面を表し、各断面は、軸に沿って3Dオブジェクトの異なる深さにある。例えば、人間の頭蓋骨は、特定の距離だけ互いに離された、3Dオブジェクトの数十又は数百の2D断面画像(例えば、CTスキャン又はMRIスキャンの)によって表現され得る。2D断面画像の各々は、2D断面画像の解像度に応じて、非常に多数の画素(例えば、数十万又は数百万の、場合によってはそれ以上の画素)を含む。したがって、本明細書の実施形態による、2D画像から3Dモデルへの変換は、コンピュータ画像データの非常に多くの計算を必要とするため、3Dモデル生成システムは、コンピュータシステムとして実施しなければならない。
システム420は、3Dモデルデータを生成するための計算装置である。一実施形態では、システム420は、2D画像から3Dモデルへの変換モジュール430(本明細書では「変換モジュール430」とも呼ばれる)と、表面最適化モジュール440と、プロセッサ450と、2D画像データ又は3Dモデルデータなどのコンピュータデータを記憶する記憶装置460とを含む。他の実施形態では、システム420は、図4に示した構成要素に比べて多い又は少ない数の構成要素を含む。例えば、システム420は、以下で図20に関して詳細に説明される追加の構成要素を含んでもよい。
変換モジュール430は、2D画像ファイルに基づいて3Dモデルデータを生成する。一実施形態では、変換モジュール430は、2D画像ファイル内に特定された座標及び画素値に従って、六面体モデルを含む3Dモデルを生成する。変換モジュール430は、2D画像ファイルごとに、所定の画素値範囲内の画素値を有する画素を特定し、特定された画素に関して六面体モデルを生成する。例えば、変換モジュール430は、2D画像ファイル内に表現された3Dオブジェクト(例えば、骨)を特定するために、人間の骨を表す特定の画素色範囲内の画素値を有する画素を特定してもよい。各六面体モデルは、対応する画素に関連付けられ、対応する画素の座標に対応する位置に生成される。一例では、六面体モデルの幅及び長さは、画素の幅及び長さに対応し、六面体モデルの高さは、2D画像に直交する軸に沿った、2つの2D画像の対応する位置間の間隔に対応する。したがって、異なる2D画像からの六面体モデルを積み重ねて3Dモデルを形成することができる。2D画像に基づいて3Dモデルを生成する例示的なステップは、以下で図6及び図7A〜図7Fに関して詳細に提供される。変換モジュール430は、六面体モデルを含む3Dモデルの構造配置を記述した3Dモデルデータを生成し、六面体モデルを記憶装置460に記憶する。一実施形態では、変換モジュール430は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせとして具体化される。
表面最適化モジュール440は、変換モジュール430によって生成された3Dモデルデータを取得し、3Dモデルデータの3Dモデルの仮想表面を平滑化する演算を自動的に実行する。凸頂点又は凹頂点を有する六面体モデルを含む3Dモデルは、自然に又は写実的に見え得ない。表面最適化モジュール440は、3Dモデルの表面をマージ、再配置、除去、又はサイズ変更するために3Dモデルデータを変更する。一態様では、六面体モデルの各面は、三角形で表現され、3Dモデルの表面は、三角形を変更又は変形することによって平滑化することができる。3Dモデルデータの表面を平滑化する例示的なステップは、以下で図8〜図19に関して詳細に提供される。3Dモデルの表面の平滑化に応答して、表面最適化モジュール440は、平滑化された表面を有する3Dモデルの構造配置を記述した変更された3Dモデルデータを記憶装置460に記憶する。一実施形態では、ソフトウェア最適化モジュール440は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせとして具体化される。
プロセッサ450は、命令を実行する処理ユニットであり、汎用コンピュータプロセッサを含んでもよい。一部の実施形態では、プロセッサ450は、再構成可能なハードウェア(例えば、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array:FPGA))又は1つ以上の特定用途向け集積回路(application specific integrated circuit:ASIC)で実施することができる。プロセッサ450は、本明細書に開示されているシステム420の機能を実行するための命令を実行する。一実施形態では、プロセッサ450は、複数の処理ユニットを含み、複数の命令が並列に実行され得る。
記憶装置460は、データを記憶するための電子記憶構成要素である。一実施形態では、記憶装置460は、システム420のソフトウェアモジュール(例えば、変換モジュール430及び/又は表面最適化モジュール440)の機能を実行するための1つ又は命令を記憶する。さらに、システム420は、2D画像データ410、3Dモデルデータなどを記憶することができる。記憶されたデータは、システム420のモジュール又は図4に示されていない他の構成要素によってアクセスされ得る。例えば、出力表示モジュール(図示せず)は、3Dモデルデータを取得し、3Dモデルの仮想表現をレンダリングする。別の例では、3Dプリンタは、3Dモデルデータを取得し、3Dモデルの有形の物理的表現を生成する。
図5は、実施形態に従って、3Dモデルの電子表現を含む3Dモデルデータを2D画像データに基づいて生成するコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図5のステップは、図4のシステム420によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、2D画像データを取得する(510)。2D画像データは、三次元オブジェクトの2D断面画像の電子表現である。
システム420は、画素値のユーザ入力選択を受信する(515)。一実施形態では、システム420は、2D断面画像の1つをユーザに視覚的に提示し、ユーザは、目的の画素値を選択してもよい。一例では、ユーザは、単一の画素値を選択し、システムは、選択された画素値から画素値範囲を特定してもよい。ユーザは、複数の画素値又は複数の画素値範囲を選択してもよい。別の実施形態では、ユーザは、提示された2D断面画像上の目的の構成要素(例えば、図1の歯)を選択する。この実施形態では、構成要素のユーザ選択は、選択された構成要素に対応する画素の2D座標によって特定される。システム420は、2D座標によって特定される選択された構成要素の画素値又は画素値範囲を特定する。ユーザは、複数の構成要素を選択し、システム420は、2D座標によって特定される選択された構成要素に対応する複数の画素値又は複数の画素値範囲を特定してもよい。
システム420は、六面体モデルを含む3Dモデルを生成する(520)。具体的には、システム420は、2D画像ファイルごとに、所定の画素値範囲内の画素値を有する画素を特定し、特定された画素に関して六面体モデルを生成する。例えば、変換モジュール430は、2D画像ファイル内に表現された3Dオブジェクト(例えば、骨)を特定するために、人間の骨を表す特定の画素色範囲内の画素値を有する画素を特定して、3Dモデルを生成してもよい。各六面体モデルは、対応する画素の座標及び直交軸に沿った2D画像の位置に従って配置される。このように、六面体モデルを積み重ねて、閉じた形状を有する3Dモデルを形成することができる。
システム420は、表面最適化を実行する(530)。一態様では、システム420は、六面体モデルを含む3Dモデルの表面を自動的に平滑化するために表面最適化を実行する。
システム420は、3Dモデル出力データを生成する(540)。システム420は、変更された3Dモデルの3Dモデルデータを3Dモデル出力データとして生成する。3Dモデル出力データは、3Dモデルの視覚的表現を提示するために計算機によって処理されてもよいし、3Dモデルの物理的表現を生成するために3D印刷機によって処理されてもよい。
図6は、実施形態に従って、六面体モデルを含む3Dモデルの電子表現を生成するコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図6のステップは、図5のステップ520の一部である。したがって、図6のステップは、図4のシステム420(例えば、変換モジュール430)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、仮想3D空間(本明細書では「3D空間」とも呼ばれる)を生成する(610)。3D空間は、仮想3Dモデルを生成することができるコンピュータグラフィックシステムにおける仮想空間である。システム420は、2D画像を受信し、各2D画像の画素の数及び2D画像の数を求める。システム420は、少なくとも2D画像内の画素の総数、大抵の場合、それより多い画素を含むことができる仮想空間を生成する。さらに、システム420は、2D画像の2D座標を3D空間の対応する3D座標にマッピングする。例えば、3番目の2D画像の2D座標(x,y)によって特定される画素は、3D座標(x,y,z)にマッピングされてもよく、その場合、zは、3Dオブジェクトの軸に沿った2D画像の深さであり、x及びyは、2D画像内の画素の2D座標である。システム420は、本明細書の実施形態に従って3Dモデルデータを生成するために複数の2D画像セットを受信するため、各2D画像の画素は、どの2D画像に画素が属するかに応じて異なるZ座標データを有することができる。例えば、2D位置(x,y)にある、ある断面画像の画素は、3D座標(x,y,z1)を有することができ、同じ2D位置(x、y)にあるが、3Dオブジェクトの軸に沿って異なる深さにある、別の断面画像の別の画素は、3D座標(x、y、z2)を有することができる。したがって、画素に対応する六面体モデルは、画素の2D座標に対応する3D座標に生成することができる。
システム420は、3Dオブジェクトの複数の2D断面画像セットの中から2D画像を選択する(620)。一態様では、システム420は、2D画像に直交する軸に沿ったその位置に従って2D画像を選択する。例えば、直交軸の一端(例えば、下端)に位置する2D画像が最初に選択され、次いで、直交軸の異なる深さにある、他端(例えば、上端)に向かって次の2D画像が次に選択される。
システム420は、ターゲット画素値を有する画素を選択する(630)。具体的には、システム420は、所定の画素値範囲内の画素値を有する画素を特定する。一手法では、所定の画素値範囲は、システム420のユーザによって決定されるか、又はシステム420によって予め決定される。システム420は、特定された画素から画素を選択する。
システム420は、選択された画素に対応する六面体モデルの頂点を生成する(640)。システムは、画素の2D座標に基づいて六面体モデルのサイズ(例えば、高さ、幅、及び長さ)ならびに位置を求め、求められた六面体モデルのサイズ及び位置に基づいて六面体モデルの頂点の位置を示す六面体データを生成する。一例では、六面体モデルの各頂点は、3D空間内の3D座標で特定することができる。一部の実施形態では、六面体モデルは、立方体モデルであってもよい。
システム420は、選択された画素の画素値と隣接画素の画素値とを比較する(650)。隣接画素は、同じ2D画像内の画素及び異なる2D画像内の画素(例えば、選択された画素の上/下の)を含む。具体的には、システム420は、隣接画素ごとに、隣接画素が所定の画素値範囲内の画素値を有するかどうかを比較する。例えば、所定の画素値範囲は、人間の3Dオブジェクトの骨を表す画素値(色値)に対応してもよい。
システム420は、画素値の比較に基づいて六面体モデルの表面を生成する(660)。一実施形態では、ある方向に位置する隣接画素が所定の画素値範囲内の画素値を有するとの判定に応答して、システム420は、その方向に面する六面体モデルの面を開放面として決定する。六面体モデルの開放面は、2つの六面体モデルが開放面を共有するように互いに接合されていることを表す。互いに接合された六面体モデルは、計算効率を向上させるために単一の六面体モデルとして扱われる。別の方向に位置する隣接画素が所定の画素値範囲外の画素値を有するとの判定に応答して、システム420は、前記別の方向に面する六面体モデルの面を閉鎖面として決定する。六面体モデルの閉鎖面は、3Dモデルの内側と外側とを区別するための3Dモデルの表面の一部となる。一態様では、閉鎖面は、選択された画素の画素値又は所定の画素値範囲の平均値に対応する色を有する。
システム420は、閉鎖面の頂点の位置及び閉鎖面の色を示す六面体データを生成する。一実施形態では、六面体モデルの各閉鎖面は、2つの三角形に分割され、システム420は、各三角形の頂点の位置を含む六面体データを記憶する。六面体モデルの面を2つの三角形に分割することによって、六面体モデルの長方形又は正方形の表面を、1つ以上の三角形を含む任意の多角形に変更する表面最適化を実行することができる。
システム420は、所定の画素値範囲内の画素値を有する、2D画像のさらなる画素に関して六面体モデルを生成する必要があるかどうかを判定する(670)。2D画像に関してさらなる六面体モデルを生成する必要があるとの判定に応答して、システム420は、別の画素を選択するためにステップ630に進み、ステップ640〜660を繰り返す。2D画像に関してすべての六面体モデルが生成されたとの判定に応答して、システム420は、さらなる2D画像が存在するかどうかを判定する(680)。さらなる2D画像が存在する場合、システム420は、ステップ620に進み、次の2D画像(例えば、直交軸の前記他端に向かって次の画像)を選択し、ステップ630〜670を繰り返す。
すべての2D画像を処理した後、六面体モデルに基づいて3Dモデルを生成する。3Dモデルは、3D座標に従って3D空間に積み重ねられた六面体モデルの集合である。3Dモデルの表面は、六面体モデルの閉鎖面として表される。システム420は、六面体データを含む3Dモデルデータを生成する。
図6に開示したプロセスでは、ステップ650及び660を通して、画素に関して、六面体モデルの閉鎖面及び開放面を生成することができる。他の実施形態では、ステップ650及び660を省略してもよい。例えば、所定の画素値範囲内の画素値を有する複数の画素に関して、複数の六面体モデルであって、各々が閉鎖面によって全体的に囲まれた複数の六面体モデルを生成することができ、次に、互いに隣接する六面体モデルをマージして、共有面を除去するか、共有面を開放面に置換することができる。
図7Aは、実施形態に従って、仮想六面体モデルを含む仮想3Dモデル722への2D画像710の画素の例示的な変換を示す。システム420は、2D断面画像のコンピュータ表現である2D画像データ(又は2D画像ファイル)を受信し、3Dモデルの電子表現である3Dモデルデータを生成する。2D画像710は、3Dオブジェクトの断面画像であり、各2D画像は、2D画像710に直交する軸700に沿って別の2D画像から離れている。各2D画像は、画素712に分割されており、各画素は、2D座標によって(行716及び列714によって)特定される。例えば、高解像度2D画像は、1080×720の画素(画像当たり700,000を上回る画素)を含む。直交軸700に沿った2D画像710の位置は、2D画像710内の画素を別の次元で特定することができるようにする。
システムは、3D空間720に六面体モデルを含む3Dモデル722を生成する。その場合、各六面体モデルは、対応する画素の位置に従って生成される。3D空間は、2D画像710内の画素の総数に従って生成される。30枚の高解像度2D画像710(例えば、画像当たり1080×720の画素の)が利用可能であると仮定すると、2300万超の六面体モデルを包含する3D空間720を生成することができ、これにより、高解像度3Dモデル722を生成することができる。一例では、行716は、3D空間720の幅724に対応し、列714は、3D空間720の長さ726に対応し、直交軸700に沿った2D画像710の位置は、3D空間720の高さ728に対応する。したがって、第1の画像内の画素は、第1の層の六面体モデルに対応し、軸700に沿って第1の画像の後の第2の画像内の画素は、3D空間720内で軸705に沿って第1の層の上にある第2の層の六面体モデルに対応する。したがって、2D座標で表された画素を、3D座標にマッピングすることができ、2D画像内の画素の2D座標に対応する3D座標に六面体モデルを生成することができる。
一実施形態では、システム420は、第1の画像を表す第1の画像データセットを受信し、第1の画像データセットに基づいて、第1の六面体モデルを表す第1の六面体データセットを生成する。同様に、システム420は、軸700に沿って第1の画像の後の第2の画像を表す第2の画像データセットを受信し、第2の画像データセットに基づいて、軸705に沿って第1の六面体モデルの上に積み重ねられる第2の六面体モデルを表す第2の六面体データセットを生成する。システム420は、軸700に沿ってさらなる画像を表すさらなる画像データを取得し、軸705に沿って、対応するレベル(又は層)に位置するさらなる六面体モデルを表すさらなる六面体データを生成する。
図7Bは、実施形態に従って、図1のCTスキャン画像に対応する、3Dモデルの例示的な断面730を示す。断面730では、対応する画素の位置に六面体モデルが生成されている。その結果、図7Bに示すように、別のオブジェクト内のオブジェクトを正確に表現することができている。図7Cは、図7Bの部分735の拡大図であり、図1の別のオブジェクト130に対応する別のオブジェクト740(例えば、椎骨)内の、図1のオブジェクト120に対応する内部オブジェクト745(例えば、椎孔)が正確に表現されていることを示している。
図7Dは、実施形態に従って、画素に関して六面体モデルを生成する例示的なプロセスを示す。例えば、システム420は、六面体モデル780を生成するために画素Pを選択する。システム420は、同じ2D画像内の隣接画素768A、768B、768Cは所定の画素値範囲内の画素値を有すると判定する一方で、隣接画素768Dは所定の画素値範囲外の画素値を有すると判定する。したがって、システム420は、所定の画素値範囲外の画素値を有する画素768Dの側の、六面体モデル780の閉鎖面786(786C、786D)の構造配置を記述する面情報(例えば、頂点の位置、面の色など)を生成する。一態様では、閉鎖面786は、2つの三角形786C及び786Dに分割される。また、システム420は、画素Pの下の2D画像の隣接画素755が所定の画素値範囲内の画素値を有すると判定する一方で、画素Pの上の2D画像の隣接画素775が所定の画素値範囲外の画素値を有すると判定する。したがって、システム420は、所定の画素値範囲外の画素値を有する画素775の側の閉鎖面782(782A、782B)の構造配置を含むように六面体モデル780の面情報を生成(又は更新)する。閉鎖面782もまた、2つの三角形782A及び782Bに分割されてもよい。六面体モデル780は、所定の画素値範囲内の画素値を有する画素(例えば、画素768A、768B、768C、755)の側に閉鎖面を有さず、開放面を有する。言い換えれば、閉鎖面782、786以外の六面体モデル780の残りの面は、開放面として決定される。これは、隣接する六面体モデルが、これらの開放面を共有するためである。3D空間の直交軸の異なる深さにある各2D断面画像の画素のすべてに、図7D(及び図6)に関して説明したプロセスを繰り返す(すなわち、閉鎖面又は開放面を有する六面体を決定し、2D断面画像のうちの異なる2D断面画像に対応するこのような六面体を互いに接合する)ことによって、3Dオブジェクトに対応する、六面体モデルで構成された3Dモデルを生成することができる。
図7Eは、実施形態に従って、複数の六面体モデルを含む例示的な3Dモデル790を示す。システム420は、2D画像に基づいて、複数の六面体モデルで表現された人間の頭蓋骨の3Dモデルを生成する。図7Fは、3Dモデルの六面体モデルを示すための、図7Eに示した3Dモデルの部分792の拡大図である。各六面体モデルが、閉じた形状を有することから、3Dモデルも閉じた形状を有することが保証される。
図8は、実施形態に従って、3Dモデルに表面最適化を実行するコンピュータ実施プロセスを示すフローチャートである。図7E及び図7Fに示したように、六面体モデルを含む3Dモデルは、六面体モデルの凸頂点又は凹頂点に起因して粗面又は凹凸面を含む。一実施形態では、図8のステップは、図5のステップ530の一部である。したがって、図8のステップは、図4のシステム420(例えば、表面最適化モジュール440)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
一実施形態では、システム420は、図5のステップ520から、六面体モデルを含む3Dモデルを記述した3Dモデルデータを受信する。3Dモデルデータに基づいて、システム420は、六面体モデルの1つ以上の頂点を除去する(810)。その場合、各頂点は、3つの直交面(例えば、3つの直交する三角形)によって共有されたものである。本明細書における直交面は、実質的に互いに直交する2つの法線ベクトルを有する面を意味する。さらに、システム420は、六面体モデルの直交面を合成する(820)。システム420は、多面体のオフセット頂点(例えば、近傍表面を基準とした多面体の凸頂点又は凹頂点)をトリミングする(830)。システム420は、3Dモデルの外側面を合成する(840)。本明細書における外側面は、実質的に同様の方向を有する表面(すなわち、3Dモデルの外側に面する表面)を意味する。システム420は、面の辺(例えば、三角形の辺)のバランスをとる(850)。システム420は、変更された3Dモデルの構造配置を記述する3Dモデルデータを生成する。これらのステップの例示的なプロセスは、以下で図9〜図18に関して詳細に提供される。
他の実施形態では、図8に示したステップの一部は、異なる順序で実行されてもよい。一例では、ステップ830はステップ820の前に実行されてもよいし、ステップ840はステップ830の前に実行されてもよい。しかしながら、図8に示した順序で表面最適化を実行することによって、計算リソースを節約することができ、処理効率を向上させることができる。例えば、直交面の合成前にオフセット頂点をトリミングすることは、直交面の合成後にオフセット頂点をトリミングすることと比較して、より多数の頂点のトリミングを必要とする。同様に、オフセット頂点のトリミング前に外側面を合成することは、オフセット頂点のトリミング後に外側面を合成することと比較して、より多数の面の合成を必要とする。
図9は、実施形態に従って、3つの直交面によって共有された、六面体モデルの頂点を除去するコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図9のステップは、図8のステップ810の一部である。したがって、図9のステップは、図4のシステム420(例えば、表面最適化モジュール440)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、六面体モデルを含む3Dモデルの複数の頂点からターゲット頂点を選択する(910)。システム420は、ターゲット頂点が3つの面(例えば、三角形)によって共有されているかどうかを判定する(920)。ターゲット頂点が3つの面によって共有されているとの判定に応答して、システム420は、3つの角度を求める。その場合、3つの角度の各々は、3つの面のうちの2つの面の2つの法線ベクトルのなす角度である。3つの角度の合計が、実質的に270度に等しい場合、システム420は、そのターゲット頂点は除去されるべき頂点であると判定し、ターゲット頂点に隣接する頂点を頂点として有する新しい面を生成する(940)。システム420は、ターゲット頂点及びターゲット頂点に結びついた面を除去する(950)。
ステップ920における、ターゲット頂点が3つの面によって共有されていないとの判定又はステップ930における、3つの角度の合計が実質的に270度に等しくないとの判定に応答して、システム420は、ステップ960に進む。
システム420は、さらなる頂点を調べる必要があるかどうかを判定する(960)。さらなる頂点を調べる必要があるとの判定に応答して、システム420は、ステップ910に進み、3Dモデルの複数の頂点から別のターゲット頂点を選択する。すべての頂点を調べたら、システム420は、3つの直交面によって共有された六面体モデルの頂点を除去するプロセスを終了する(970)。
図10Aは、図9に示したコンピュータ実施プロセスに従って、六面体モデルの頂点を除去する前の例示的な3Dモデル1010と、六面体モデルの頂点を除去した後の例示的な3Dモデル1050を示す。
図10Aでは、3Dモデル1010は、複数の頂点を含む六面体モデルを含む。システム420は、頂点1020A、1020B、1020C、1020Dが除去されるべきであると判定する。これは、これらの頂点の各々が3つの直交面によって共有されているためである。また、システム420は、頂点1030A、1030B、1030Dが頂点1020Aに隣接する頂点であり、頂点1030E、1030D、1030Fが頂点1020Bに隣接する頂点であり、頂点1030D、1030F、1030Gが頂点1020Cに隣接する頂点であり、頂点1030D、1030H、1030Gが頂点1020Dに隣接する頂点であると判定する。したがって、システム420は、隣接する頂点1030A、1030B、1030Dを頂点として有する第1の三角形S1と、隣接する頂点1030E、1030D、1030Fを頂点として有する第2の三角形S2と、隣接する頂点1030D、1030F、1030Gを頂点として有する第3の三角形S3と、隣接する頂点1030D、1030H、1030Gを頂点として有する第4の三角形S4とを生成する。さらに、システム420は、頂点1020A、1020B、1020C、1020Dにそれぞれ結びついた三角形(簡単にするために図10Aには明示的に示していない)を除去し、頂点1020A、1020B、1020D、1020Dも除去する。
図10Bは、図9に示したコンピュータ実施プロセスに従って、除去すべき六面体モデルの頂点を判定する例示的な手法を示す。図10Bに示す例では、頂点1020Cが除去されるべき頂点であると判定される。システム420は、頂点1030D、1030F、1020Cを有する三角形T1の第1の法線ベクトルN1と、頂点1020C、1030F、1030Gを有する三角形T2の第2の法線ベクトルN2と、頂点1030D、1020C、1030Gを有する三角形T3の第3の法線ベクトルN3とを取得する。さらに、システム420は、第1の法線ベクトルN1と第2の法線ベクトルN2とのなす角度θ1と、第2の法線ベクトルN2と第3の法線ベクトルN3とのなす角度θ2と、第1の法線ベクトルN1と第3の法線ベクトルN3とのなす角度θ3とを取得する。システム420は、角度θ1、θ2、θ3を合計し、角度θ1、θ2、θ3の合計が270度であることから頂点1020Cは除去する必要があると判定する。同様のステップを頂点1020A、1020B、1020Dに対して実行することができる。図9に開示したプロセスを通して、凸頂点(例えば、頂点1020A、1020B、1020D)及び凹頂点(例えば、頂点1020C)を除去して3Dモデルの表面を平滑化することができる。
図10Cは、図9に示したコンピュータ実施プロセスに従って、3つの直交面によって共有された六面体モデルの頂点を除去する例示的なプロセスを示す。六面体モデルは、頂点1020Aと、頂点1020Aに隣接する頂点1030A、1030B、1030Cとを含む。システム420は、頂点1020Aが3つの直交する三角形T4、T5、T6によって共有されていることから頂点1020Aは除去する必要があると判定する。システム420は、隣接する頂点1030A、1030B、1030Cを頂点として有する新しい三角形T7を生成する。さらに、システム420は、三角形T4、T5、T6、及び頂点1020Aを除去する。
図11は、実施形態に従って、3Dモデルの直交面を合成するコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図11のステップは、図8のステップ820の一部である。したがって、図11のステップは、図4のシステム420(例えば、表面最適化モジュール440)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、3Dモデルの複数の頂点からターゲット頂点を選択する(1110)。システム420は、一端をターゲット頂点として有し、かつ他端をターゲット頂点に隣接する頂点として有する辺が2つの面(例えば、三角形)によって共有されているかどうかを判定する(1120)。辺が2つの面によって共有されているとの判定に応答して、システム420は、共通辺を共有する2つの面が互いに直交しているかどうかを判定する(1120)。共通辺を共有する2つの面が互いに直交しているとの判定に応答して、システム420は、ターゲット頂点及び隣接する頂点のどちらの頂点を保持し、どちらの頂点を除去するかを判定する(1135)。一態様では、システム420は、より多数の面によって共有されている方の頂点を保持して、もう一方の頂点を除去すると判定する。
システム420は、保持すべきと判定された頂点と、共通しない隣接する頂点(すなわち、共通辺から離れた隣接する頂点)とを頂点として有する新しい面を生成する(1140)。したがって、新しい面は、除去すべきもう一方の頂点をその頂点として含まない。システム420は、直交面1150及び除去すべきと判定されたもう一方の頂点を除去する。
一端をターゲット頂点として有し、かつ2つの面によって共有された共通辺が存在しないとのステップ1120における判定又は共通辺を共有する2つの面が互いに直交していないとのステップ1130における判定に応答して、システム420は、ステップ1160に進む。
システム420は、さらなる頂点を調べる必要があるかどうかを判定する(1160)。さらなる頂点を調べる必要があるとの判定に応答して、システム420は、ステップ1110に進み、3Dモデルの複数の頂点から別のターゲット頂点を選択する。すべての頂点を調べたら、システム420は、3Dモデルの直交面を合成するプロセスを終了する(1170)。
図12は、図11に示したコンピュータ実施プロセスに従って、3Dモデル1210の直交面を合成する前の例示的な3Dモデル1210と、直交面を合成した後の例示的な3Dモデル1250とを示す。一実施形態では、3Dモデル1210は、図9、図10A、及び図10Bに示したように、3つの直交面によって共有された六面体モデルの頂点を除去した後に得られる。
図12では、3Dモデル1210は、頂点1220及びこれに隣接する頂点1230A、1230B、…、1230G(本明細書では「隣接する頂点1230」とも呼ばれる)を含む。システム420は、第1の辺1232Aが互いに直交する2つの三角形B1、B2によって共有されていることから、2つの頂点1230A及び1220を2つの端として有する第1の辺1232Aは除去する必要があると判定する。さらに、システム420は、頂点1220が頂点1230Aよりも多数の三角形によって共有されていることから、第1の辺1232Aの頂点1230Aは除去する必要があり、頂点1220は保持する必要があると判定する。同様に、システム420は、第2の辺1232Bが互いに直交する2つの三角形B3、B4によって共有されていることから、2つの頂点1230D及び1220を2つの端として有する第2の辺1232Bは除去する必要があると判定する。さらに、システム420は、頂点1220が頂点1230Dよりも多数の三角形によって共有されていることから、第2の辺1232Bの頂点1230Dは除去する必要があり、頂点1220は保持する必要があると判定する。システムは、頂点1220、1230B、1230Gを頂点として有する第1の三角形B11と、頂点1220、1230C、1230Eを有する第2の三角形B12とを生成する。さらに、システム420は、三角形B1、B2、B3、B4ならびに頂点1230A及び1230Dを除去する。
図13は、実施形態に従って、3Dモデルのオフセット頂点(例えば、近傍表面を基準とした多面体の凸頂点又は凹頂点)をトリミングするコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図13のステップは、図8のステップ830の一部である。したがって、図13のステップは、図4のシステム420(例えば、表面最適化モジュール440)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、3Dモデルの複数の頂点からターゲット頂点を選択する(1310)。システム420は、ターゲット頂点が少なくとも3つの面(例えば、三角形)によって共有されているかどうかを判定する(1320)。ターゲット頂点が少なくとも3つの面によって共有されているとの判定に応答して、システム420は、少なくとも3つの面ごとに、面から離れた、ターゲット頂点に隣接する頂点までの距離ベクトルを取得する(1330)。本明細書における距離ベクトルは、面の中心から、面から離れた、ターゲット頂点に隣接する頂点までのベクトルを意味する。面の距離ベクトルの各々は、面の法線ベクトルに対して極性を有する。法線ベクトルは、3Dモデルの外側に面する表面の方向として規定することができる。面の距離ベクトルが、3Dモデルの内側を指す場合、距離ベクトルは、面の法線ベクトルと異なる極性(又は負極性)を有する。逆に、面の距離ベクトルが、3Dモデルの外側を指す場合、距離ベクトルは、面の法線ベクトルと同じ極性(又は正極性)を有する。
システム420は、ターゲット頂点が距離ベクトルの極性に基づいてオフセット頂点であるかどうかを判定する(1340)。一態様では、各距離ベクトルが同じ極性を有する場合、システム420は、ターゲットベクトルはオフセット頂点であると判定する。ターゲットベクトルがすべて負極性を有する場合、システム420は、オフセット頂点は凸頂点であると判定する。一方、ターゲットベクトルがすべて正極性を有する場合、システム420は、オフセット頂点は凹頂点であると判定する。距離ベクトルが異なる極性を有する場合、システム420は、ターゲットベクトルはオフセット頂点ではないと判定する。
システム420は、オフセット頂点をシフトさせる(1350)。一手法では、ターゲット頂点は、ターゲット頂点の最も近くの隣接する頂点にシフトされる。システム420は、重なった面を除去する(1360)。このようにして、オフセット頂点は効果的に除去され、3Dモデルの表面が平滑化され得る。
ターゲット頂点は少なくとも3つの面によって共有されていないとのステップ1320における判定又はターゲット頂点はオフセット頂点ではないとのステップ1340における判定に応答して、システム420は、ステップ1370に進む。
システム420は、さらなる頂点を調べる必要があるかどうかを判定する(1370)。さらなる頂点を調べる必要があるとの判定に応答して、システム420は、ステップ1310に進み、3Dモデルの複数の頂点から別のターゲット頂点を選択する。すべての頂点を調べたら、システム420は、3Dモデルのオフセット頂点をトリミングするプロセスを終了する(1380)。
図14Aは、オフセット頂点1410及び1430を有する面を有する例示的な3Dモデルを示す。図14Aの例示的な3Dモデルの面は、頂点1410、1420A、…、1420D、1430、及び1440A、…、1440Dによって規定されている。頂点1410は、近傍表面から突き出た位置にあり、頂点1440は、近傍表面から引っ込んだ位置にある。
図14Bは、図13に示したコンピュータ実施プロセスに従って、図14Aに示した例示的な3Dモデルのオフセット頂点1410及び1430を判定する例示的なプロセスを示す。
システム420は、4つの三角形(すなわち、頂点1420A、1420B、1410を有する第1の三角形、頂点1420B、1420C、1410を有する第2の三角形、頂点1420C、1420D、1410を有する第3の三角形、及び頂点1420D、1420A、1410を有する第4の三角形)によって共有された頂点1410を選択する。システム420は、第1の三角形の中心から頂点1420C、1420Dまでの距離ベクトル、第2の三角形の中心から頂点1420A、1420Dまでの距離ベクトル、第3の三角形の中心から頂点1420A、1420Bまでの距離ベクトル、及び第4の三角形の中心から頂点1420B、1420Cまでの距離ベクトルがすべて、負極性を有する(すなわち、3Dモデルの内側を指す)と判定する。したがって、システム420は、頂点1410はオフセット頂点(又は凸頂点)であると判定する。
同様に、システム420は、4つの三角形(すなわち、頂点1440A、1440B、1430を有する第5の三角形、頂点1440B、1440C、1430を有する第6の三角形、頂点1440C、1440D、1430を有する第7の三角形、及び頂点1440D、1440A、1430を有する第8の三角形)によって共有された頂点1430を選択する。システム420は、第5の三角形の中心から頂点1440C、1440Dまでの距離ベクトル、第6の三角形の中心から頂点1440A、1440Dまでの距離ベクトル、第7の三角形の中心から頂点1440A、1440Bまでの距離ベクトル、及び第8の三角形の中心から頂点1440B、1440Cまでの距離ベクトルがすべて、正極性を有する(すなわち、3Dモデルの外側を指す)と判定する。したがって、システム420は、頂点1430はオフセット頂点(又は凹頂点)であると判定する。
図14Cは、図13に示したコンピュータ実施プロセスに従って、図14Aの例示的な3Dモデルのオフセット頂点1410、1430を除去した後の例示的な表面を示す。システムは、頂点1410の第1の最も近くの隣接する頂点1420A及び第2の最も近くの隣接する頂点1440Aを特定し、頂点1410、1430をそれぞれ隣接する頂点1420A及び1440Aにシフトさせる。オフセット頂点からこれに隣接する頂点までの距離がすべて等しい場合、システム420は、隣接する頂点のうちのいずれか1つを選択し、オフセット頂点を選択された隣接する頂点にシフトさせてもよい。システム420はまた、重なった三角形(例えば、図14Bの第1の三角形、第4の三角形、第5の三角形、及び第8の三角形)を除去する。
図14Dは、図13に示したコンピュータ実施プロセスに従って、3Dモデル1450のオフセット頂点をトリミングする前の例示的な3Dモデル1450と、オフセット頂点をトリミングした後の例示的な3Dモデル1480とを示す。一実施形態では、3Dモデル1450は、図11及び図12に示したように直交面を合成した後に得られる。
図14Dでは、3Dモデル1450は、頂点1470と、隣接する頂点1460A、1460B、…、1460Fとを含む。システム420は、図13、図14A、及び図14Bに関して詳細に説明したプロセスを通して、頂点1470を共有する三角形の距離ベクトルのすべてが負極性を有する(すなわち、3Dモデル1450の内側を指す)ことから、頂点1470はオフセット頂点(例えば、凸頂点)であると判定する。したがって、システム420は、頂点1470をその最も近くの隣接する頂点1460Dにシフトさせ、重なった三角形を除去する。
図15は、実施形態に従って、3Dモデルの外側面を合成するコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図15のステップは、図8のステップ840の一部である。したがって、図15のステップは、図4のシステム420(例えば、表面最適化モジュール440)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、3Dモデルの複数の頂点からターゲット頂点を選択する(1510)。システム420は、ターゲット頂点を共有する面(例えば、三角形)が、実質的に同様の方向を有する外側面であるかどうかを判定する(1520)。一手法では、システム420は、面の法線ベクトルに従って、ターゲット頂点を共有する面の方向を判定する。一手法では、システム420は、ターゲット頂点を共有する面の平均方向(例えば、法線ベクトルの平均ベクトル)を取得する。面の方向が、平均方向から所定の方向範囲(例えば、所定のベクトル範囲)だけ外れている場合、システム420は、面は外側面ではないと判定する。ターゲット頂点を共有する面の方向が、平均方向から所定のベクトル範囲内にある場合、システム420は、面は外側面であると判定する。
ターゲット頂点を共有する面は外側面であるとの判定に応答して、システム420は、ターゲット頂点をシフトさせる(1530)。一手法では、ターゲット頂点は、ターゲット頂点の最も近くの隣接する頂点にシフトされる。システム420は、重なった面を除去する(1540)。効果的に、外側面が、単一の面に合成(又はマージ)される。
ターゲット頂点を共有する面は外側面ではないとのステップ1520における判定に応答して、システム420は、ステップ1550に進む。
システム420は、さらなる頂点を調べる必要があるかどうかを判定する(1550)。さらなる頂点を調べる必要があるとの判定に応答して、システム420は、ステップ1510に進み、3Dモデルの複数の頂点から別のターゲット頂点を選択する。すべての頂点を調べたら、システム420は、3Dモデルの外側面を合成するプロセスを終了する(1560)。
図16は、図15に示したコンピュータ実施プロセスに従って、3Dモデル1610の外側面を合成する前の例示的な3Dモデル1610と、外側面を合成した後の例示的な3Dモデル1650とを示す。
図16では、3Dモデル1610は、頂点1620と、隣接する頂点1630A、1630B、1630Cとを含む。頂点1620は、頂点1630A、1630B、1620を有する第1の三角形、頂点1630B、1630C、1620を有する第2の三角形、及び頂点1630A、1630C、1620を有する第3の三角形によって共有されている。システム420は、第1の三角形、第2の三角形、及び第3の三角形のそれぞれの法線ベクトルV1、V2、V3を取得する。システム420は、平均法線ベクトルVavgを取得し、法線ベクトルV1、V2、V3が平均ベクトルから所定のベクトル範囲内にあると判定する。したがって、システム420は、頂点1620を共有する第1の三角形、第2の三角形、及び第3の三角形は外側三角形であると判定する。
システム420は、頂点1620をその最も近くの隣接する頂点1630Aにシフトさせる。外側三角形によって共有された共通頂点からこれに隣接する頂点までの距離がすべて等しい場合、システム420は、隣接する頂点のうちのいずれか1つを選択し、頂点1620を選択された隣接する頂点にシフトさせる。システムはまた、重なった三角形(例えば、頂点1620を共有する第1の三角形及び第3の三角形)を除去する。このようにして、第1の三角形、第2の三角形、及び第3の三角形は、頂点1630A、1630B、1630Cを有する単一の三角形に効果的にマージされる。
図17は、実施形態に従って、3Dモデルの辺のバランスをとるコンピュータ実施プロセスを示すフローチャートである。一実施形態では、図17のステップは、図8のステップ850の一部である。したがって、図17のステップは、図4のシステム420(例えば、表面最適化モジュール440)によって実行される。他の実施形態では、他のエンティティが、ステップの一部又は全部を実行してもよい。同様に、実施形態は、異なるステップ及び/又は追加のステップを含んでもよいし、異なる順序でステップを実行してもよい。
システム420は、3Dモデルの複数の頂点からターゲット頂点を選択する(1710)。システム420は、ターゲット頂点が少なくとも3つの面(例えば、三角形)によって共有されているかどうかを判定する(1720)。ターゲット頂点が少なくとも3つの面によって共有されているとの判定に応答して、システム420は、ターゲット頂点に2つの90°の角度が形成されているかどうかを判定する(1730)。ターゲット頂点に少なくとも2つの90°の角度が形成されているとの判定に応答して、システム420は、ターゲット頂点を端としてそれぞれ有する最長辺及び最短辺を特定する(1740)。
システム420は、特定された最長辺及び最短辺に基づいてターゲット頂点をシフトさせる(1750)。一手法では、システム420は、最長辺の長さと最短辺の長さとの差を取得し、この差の半分だけ最長辺の他端に向けてターゲット頂点をシフトさせる。
ターゲット頂点が少なくとも3つの三角形によって共有されていないとのステップ1720における判定又はターゲット頂点に少なくとも2つの90°の角度が形成されていないとのステップ1730における判定に応答して、システム420は、ステップ1760に進む。
システム420は、さらなる頂点を調べる必要があるかどうかを判定する(1760)。さらなる頂点を調べる必要があるとの判定に応答して、システム420は、ステップ1710に進み、3Dモデルの複数の頂点から別のターゲット頂点を選択する。すべての頂点を調べたら、システム420は、3Dモデルの辺のバランスをとるプロセスを終了する(1770)。
図18は、図17に示したコンピュータ実施プロセスに従って、3Dモデル1810の辺のバランスをとる前の例示的な3Dモデル1810と、辺のバランスをとった後の例示的な3Dモデル1880とを示す。一実施形態では、3Dモデル1810は、図15及び図16に示したように外側面を合成した後に得られる。
図18では、3Dモデル1810は、頂点1820と、隣接する頂点1830A、…、1830Eとを含む。システム420は、頂点1820が頂点1820を共有する5つの三角形を有し、2つの90°の角度が頂点1820に形成されていると判定する。このようにして、システム420は、頂点1820を共有する3Dモデル1810の辺のバランスをとる。一態様では、システム420は、頂点1820を共有する最長辺1835A及び最短辺1835Bを特定する。システム420は、辺1835Aの長さと辺1835Bの長さとの差を取得し、この差の半分だけ頂点1830Aに向けて頂点1820をシフトさせる。したがって、バランスをとった後の3Dモデル1860は、バランスをとる前の3Dモデル1810よりもバランスのとれた辺の長さを有する。
図19Aは、一実施形態に従って、3Dモデル1910に表面最適化を実行する前の六面体モデルを含む例示的な3Dモデル1910と、表面最適化を実行した後の例示的な3Dモデル1950とを示す。図19Aに示すように、3Dモデル1910の粗面又は凹凸面は、図8〜図18に関して詳細に説明したように表面最適化を実行することによって平滑化される。
図19Bは、一実施形態に従って、図7Eに示した六面体モデルを含む3Dモデル790に表面最適化を実行した後の例示的な3Dモデル1990を示す。本明細書に開示した表面最適化を実行していない図7Eの3Dモデル790と比較して、3Dモデル1990は、平滑な表面を含み、3Dモデル790よりも写実的な形状を有するように最適化されている。
図19Cは、実施形態に従って、図19Bに示した例示的な3Dモデル1990の部分1992の拡大図である。図19Cに示す例示的な図では、3Dモデル1990の表面は、人間の頭蓋骨の複雑な形状を表現する複数の三角形からなる。
計算機のアーキテクチャ
図20は、プロセッサ(又はコントローラ)で機械可読媒体から命令を読み出し、これらを実行することができる例示的な機械の構成要素を示すブロック図である。具体的には、図20は、例えば図1〜図19を用いて本明細書に述べた方法のうちの任意の1つ以上を機械に実行させるための命令2024(例えば、ソフトウェア又はプログラムコード)が実行され得るコンピュータシステム2000の例示的な形態の機械の概略図を示す。代替実施形態では、機械は、スタンドアロン装置として動作するか、又は他の機械に接続(例えば、ネットワーク接続)されてもよい。ネットワーク配置において、機械は、サーバ・クライアント・ネットワーク環境内のサーバ機械もしくはクライアント機械又はピアツーピア(又は分散)ネットワーク環境内のピア機械として機能してもよい。
機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(personal computer:PC)、タブレットPC、セット・トップ・ボックス(set−top box:STB)、携帯情報端末(personal digital assistant:PDA)、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、又はその機械によって行われるべき動作を指定する命令2024(シーケンシャルな又は別種の)を実行することができる任意の機械であってもよい。さらに、単一の機械のみが示されているが、用語「機械」はまた、本明細書に述べた方法のうちの任意の1つ以上を実行するために命令2024を個別に又は一緒に実行する機械の集合を含むと考えられるべきである。
例示的なコンピュータシステム2000は、1つ以上のプロセッサ(一般に、プロセッサ2002)(例えば、中央処理装置(central processing unit:CPU)、グラフィック処理装置(graphics processing unit:GPU)、デジタル信号プロセッサ(digital signal processor:DSP)、1つ以上の特定用途向け集積回路(ASIC)、1つ以上の無線周波数集積回路(radio−frequency integrated circuit:RFIC)、又はこれらの任意の組み合わせ)と、メインメモリ2004と、スタティックメモリ2006とを含み、これらは、バス2008を介して互いに通信するように構成されている。コンピュータシステム2000は、グラフィック・ディスプレイ・ユニット2010(例えば、プラズマ・ディスプレイ・パネル(plasma display panel:PDP)、液晶ディスプレイ(liquid crystal display:LCD)、プロジェクタ、又はブラウン管(cathode ray tube:CRT))をさらに含んでもよい。コンピュータシステム2000はまた、英数字入力装置2012(例えば、キーボード)と、カーソル制御装置2014(例えば、マウス、トラックボール、ジョイスティック、モーションセンサ、又は他のポインティング機器)と、記憶ユニット2016と、信号生成装置2018(例えば、スピーカ)と、ネットワークインターフェース装置2020とを含んでもよく、その場合、これらもまた、バス2008を介して通信するように構成される。
記憶ユニット2016は、本明細書に記載の方法又は機能のうちの任意の1つ以上を具体化する命令2024を記憶した機械可読媒体2022を含む。命令2024はまた、コンピュータシステム2000によるその実行中にメインメモリ2004内又はプロセッサ2002内(例えば、プロセッサのキャッシュメモリ内)に完全に又は少なくとも部分的に常駐されてもよく、その場合、メインメモリ2004及びプロセッサ2002はまた、機械可読媒体を構成する。命令2024は、ネットワークインターフェース装置2020を用いてネットワーク2026を介して送信又は受信されてもよい。
機械可読媒体2022は、例示的な実施形態では単一の媒体として示されているが、用語「機械可読媒体」は、命令(例えば、命令2024)を記憶することができる単一の媒体又は複数の媒体(例えば、集中型もしくは分散型のデータベース又は関連するキャッシュ及びサーバ)を含むと考えられるべきでる。用語「機械可読媒体」はまた、機械によって実行するための命令(例えば、命令2024)を記憶することができ、本明細書に開示した方法のうちの任意の1つ以上を機械に実行させる任意の媒体を含むと考えられるべきである。用語「機械可読媒体」は、固体メモリ、光媒体、及び磁気媒体の形態のデータレポジトリを含むが、これに限定されない。
構成に関する補足的な留意事項
一態様では、本明細書に開示されている原理は、医療用途に適用することができる。例えば、仮想3Dモデルは、医療におけるデジタル画像及び通信(Digital Imaging and Communications in Medicine:DICOM)のファイルフォーマットの2D断面画像に基づいて生成することができる。3Dモデルは、従来の任意の3D記述フォーマット(例えば、STLフォーマット、3DMAXの3DSフォーマット、MAYAのOBJフォーマットなど)に変換することができる3Dモデルデータによって表現することができる。3Dモデルは、患者の医学的状態の判断を助けるために、身体部分の構造的問題の原因を特定するために、又は特定の処置(例えば、歯科インプラント、整形外科手術など)を行った後の状況をシミュレートするために視覚的に提示することができる。さらに、3Dモデルは、医師の手術の準備、身体部分の代替物の作製などを助けるために3D印刷によって有形の形態としてレンダリングすることができる。
本明細書に開示されている原理は、3Dモデルを使用する他の用途(例えば、3Dアニメーション、ゲーム、3D CADなど)にも適用することができる。
開示されている構成の利点は、複雑な形状を有するオブジェクト(例えば、相互に絡み合ったオブジェクト又は別のオブジェクト内に配置されたオブジェクト)を正確に表現することができる六面体モデルを含む仮想3Dモデルを生成することを含む。例えば、ユーザは、2D断面画像上の少数のオブジェクト(例えば、骨、動脈、靭帯、任意の器官、又はこれらの任意の組み合わせ)を選択し、選択されなかった身体部分が、選択された部分が仮想3D空間内でどのように構造化されているかを表現しなくとも、局所的な3Dモデルを生成することができる。さらに、複数の仮想六面体モデルに基づいて3Dモデルを生成することによって、3Dモデルが、3D印刷を正確に実行できるようにする閉じた形状を有することが保証される。
さらに、本明細書に開示したように、六面体モデルを含む3Dモデルに表面最適化を実行することによって、3Dモデルの粗面又は凹凸面は、処理リソース(例えば、プロセッサスレッド、記憶容量など)に関して効率的な仕方で平滑化することができる。例えば、数千万の六面体モデルを含む3Dモデルの表面を平滑化するために解析されるべき頂点及び面(例えば、三角形)の数は、本明細書に開示したように表面最適化を実行することによって1桁分低減することができる。その結果、処理リソースを節約することができる。
本明細書を通して、単一の例として説明した構成要素、動作、又は構造は、複数の例によって実施されてもよい。1つ以上の方法の個々の動作は、別々の動作として示され、説明されているが、1つ以上の個々の動作は、同時に実行されてもよく、動作を図示の順序で実行する必要はない。例示的な構成において別々の構成要素として提示された構造及び機能は、組み合わされた構造又は構成要素として実施されてもよい。同様に、単一の構成要素として提示された構造及び機能は、別々の構成要素として実施されてもよい。これら及び他の変形、修正、追加、及び改良は、本明細書の主題の範囲内に入る。
特定の実施形態は、本明細書では、例えば図4に示したように論理又は多数の構成要素、モジュール、もしくはメカニズムを含むものとして説明されている。モジュールは、ソフトウェアモジュール(例えば、機械可読媒体上又は伝送信号上で具体化されたコード)又はハードウェアモジュールのいずれかを構成してもよい。ハードウェアモジュールは、特定の動作を実行することができる有形のユニットであり、特定の方法で構成又は配置されてもよい。例示的な実施形態では、1つ以上のコンピュータシステム(例えば、スタンドアロンのクライアントもしくはサーバコンピュータシステム)又はコンピュータシステムの1つ以上のハードウェアモジュール(例えば、プロセッサもしくはプロセッサグループ)は、本明細書に記載した特定の動作を実行するように動作するハードウェアモジュールとしてソフトウェア(例えば、アプリケーション又はアプリケーション部分)によって構成されてもよい。
様々な実施形態において、ハードウェアモジュールは、機械的又は電子的に実施されてもよい。例えば、ハードウェアモジュールは、特定の動作を実行するように(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)などの特殊用途プロセッサとして)恒久的に構成された専用回路又は論理を備えてもよい。ハードウェアモジュールはまた、特定の動作を実行するようにソフトウェアによって一時的に構成されるプログラマブル論理又は回路(例えば、汎用プロセッサ又は他のプログラマブルプロセッサ内に含まれる)を備えてもよい。恒久的に構成された専用回路又は一時的に構成される回路(例えば、ソフトウェアによって構成される回路)のどちらで機械にハードウェアモジュールを実施するのかの決定は、コスト及び時間を考慮して行われてもよい。
本明細書に記載の例示的な方法の様々な動作は、関連する動作を実行するように(例えば、ソフトウェアによって)一時的に構成される又は恒久的に構成された1つ以上のプロセッサ(例えば、プロセッサ2002)によって少なくとも部分的に実行されてもよい。一時的な仕方又は恒久的な仕方のどちらで構成されようと、このようなプロセッサは、1つ以上の動作又は機能を実行するように動作するプロセッサ実施モジュールを構成することができる。本明細書で言及されたモジュールは、一部の例示的な実施形態では、プロセッサ実施モジュールを備えてもよい。
1つ以上のプロセッサはまた、「クラウドコンピューティング」環境又は「サービスとしてのソフトウェア」(software as a service:SaaS)の関連動作のパフォーマンスをサポートするように動作してもよい。例えば、動作の少なくとも一部は、(プロセッサを含む機械の例として)コンピュータグループによって実行されてもよく、その場合、これらの動作は、ネットワーク(例えば、インターネット)及び1つ以上の適切なインターフェース(例えば、アプリケーション・プログラム・インターフェース(application program interface:API))を介してアクセス可能である。
特定の動作のパフォーマンスは、1つ以上のプロセッサ(単一の機械内に存在するだけでなく、多数の機械にも配置される)に分散されてもよい。一部の例示的な実施形態では、1つ以上のプロセッサ又はプロセッサ実施モジュールは、単一の地理的位置(例えば、家庭環境、オフィス環境、又はサーバファーム内)に配置されてもよい。他の例示的な実施形態では、1つ以上のプロセッサ又はプロセッサ実施モジュールは、多数の地理的位置に分散されてもよい。
本明細書のいくつかの部分は、機械メモリ(例えば、コンピュータメモリ)内にビット又はバイナリデジタル信号として記憶されたデータに対する動作のアルゴリズム又は記号表現の観点から提示されている。これらのアルゴリズム又は記号表現は、これらの働きの実質を他の当業者に伝えるためにデータ処理技術の当業者によって使用される技術の例である。本明細書で使用される場合、「アルゴリズム」は、所望の結果をもたらす自己矛盾のない動作シーケンス又は同様の処理である。これに関連して、アルゴリズム及び動作は、物理量の物理的操作を含む。典型的には、必須ではないが、このような量は、機械によって記憶、アクセス、伝送、結合、比較、又は他の操作が行われ得る電気信号、磁気信号、又は光信号の形態を取ることができる。「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「項」、「数」、又は「数字」などの語を用いてこのような信号を呼ぶことは、主に一般的な用法の理由から時には便利である。しかしながら、これらの語は、便利なラベルに過ぎず、適切な物理量に関連付けられるべきである。
他に別段の指示がない限り、「処理する」、「計算する」、「算定する」、「判定する」、「提示する」、又は「表示する」などの語を用いた本明細書の説明は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、もしくはこれらの組み合わせ)、レジスタ、又は情報を受信、記憶、送信、もしくは表示する他の機械の構成要素内の物理的(例えば、電子的、磁気的、又は光学的)量として表されるデータを操作又は変換する機械(例えば、コンピュータ)の動作又はプロセスを意味し得る。
本明細書で使用される場合、「一実施形態」又は「実施形態」への言及は、実施形態に関連して説明されている特定の要素、特徴、構造、又は特性が少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「一実施形態では」という句の記載の必ずしもすべてが、同じ実施形態を指しているとは限らない。
一部の実施形態は、「結びついた(coupled)」及び「接続された(connected)」という表現を、これらの派生語と共に用いて説明されている場合がある。例えば、一部の実施形態は、2つ以上の要素が物理的又は電気的に直接接触していることを示すために用語「結びついた」を用いて説明されている場合がある。しかしながら、用語「結びついた」は、2つ以上の要素が互いに直接接触していないものの、互いに協働又は相互作用することも意味し得る。実施形態は、これに関連して限定されない。
本明細書で使用される場合、用語「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、「含んでいる(including)」、「有する(has)」、「有している(having)」、又はこれらの任意の他の変異は、非排他的な包含を意味するよう意図されている。例えば、要素のリストを含むプロセス、方法、物品、又は装置は、必ずしもそれらの要素だけに限定されず、明示的に列挙されていない他の要素又はそのようなプロセス、方法、物品、もしくは装置に固有の他の要素を含み得る。さらに、相容れない別段の指示がない限り、「又は」は、包含的論理和を意味し、排他的論理和を意味しない。例えば、条件A又はBは、以下のいずれかによって満たされる。Aが真であり(又は存在し)、かつBが偽である(又は存在しない)、Aが偽であり(又は存在せず)、かつBが真である(又は存在しない)、A及びBの両方が真である(又は存在する)。
さらに、「ある(a)」又は「ある(an)」の使用は、本明細書の実施形態の要素及び構成要素を説明するために用いられる。これは、単に便宜のために、また本発明の一般的な意味を与えるために行われる。この説明は、1つ又は少なくとも1つを含むと解釈されるべきであり、単数形は、明白に他の意図がない限り、複数形をも含む。
この開示を読むことで、当業者ならば、本明細書の開示されている原理を通して、仮想六面体を含む仮想3Dモデルの3Dモデルデータを生成するシステム及びプロセスのためのさらなる代替的な構造及び機能上の設計を理解するであろう。以上、特定の実施形態及び用途を示して説明してきたが、開示されている実施形態が、本明細書に開示されているまさにその構成及び構成要素に限定されないことを理解されたい。添付の特許請求の範囲で規定される精神及び範囲から逸脱することなく、本明細書に開示されている方法及び装置の配置、動作、及び詳細に関して、当業者には明らかな様々な修正、変更、及び変形を行うことができる。

Claims (21)

  1. 3次元オブジェクトの複数の2次元断面画像に基づいて3次元モデルデータを生成するコンピュータ実施方法であって、
    第1の画像データセット及び第2の画像データセットを受信するステップであって、前記第1の画像データセットが、前記複数の2次元断面画像の第1の断面画像を表し、前記第2の画像データセットが、前記複数の2次元断面画像の第2の断面画像を表し、前記第1の断面画像が、3次元軸の1つに沿った前記3次元オブジェクトの第1の位置に対応し、前記第2の断面画像が、前記第1の位置から離れた、前記3次元軸の前記1つに沿った前記3次元オブジェクトの第2の位置に対応し、前記第1の画像データセット及び前記第2の画像データセットの両方が、2次元座標及び画素値を含み、前記第1の断面画像及び前記第2の断面画像の各画素が、前記2次元座標及び前記画素値に関連付けられているステップと、
    前記第1の断面画像の前記画素から第1の画素セットの第1の2次元座標セットを特定するステップであって、前記第1の画素セットが、所定の画素値範囲内の第1の画素値に関連付けられているステップと、
    前記第2の断面画像の前記画素から第2の画素セットの第2の2次元座標セットを特定するステップであって、前記第2の画素セットが、前記所定の画素値範囲内の第2の画素値に関連付けられているステップと、
    第1の六面体モデルを表す第1の六面体データセットを生成するステップであって、前記第1の六面体データセットの各々が、前記第1の2次元座標セットの対応する座標で前記第1の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    第2の六面体モデルを表す第2の六面体データセットを生成するステップであって、前記第2の六面体データセットの各々が、前記第2の2次元座標セットの対応する座標で前記第2の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成するステップと、
    を含むコンピュータ実施方法。
  2. 前記第1の六面体モデルの各々が、均一な高さを有し、前記第2の六面体モデルの各々が、前記均一な高さを有する、請求項1に記載のコンピュータ実施方法。
  3. 前記均一な高さが、前記3次元軸の前記1つに沿った、前記第1の位置と前記第2の位置との間の距離に対応する、請求項2に記載のコンピュータ実施方法。
  4. 前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップが、
    前記第1の六面体モデル及び前記第2の六面体モデルの中の互いに隣接する六面体モデルを接合するステップを含む、請求項1に記載のコンピュータ実施方法。
  5. 前記第1の六面体モデル及び前記第2の六面体モデルの中の前記互いに隣接する六面体モデルを接合する前記ステップが、
    前記接合された六面体モデルの閉鎖面の座標を含む面データを生成するステップであって、前記接合された六面体モデルが、前記閉鎖面によって囲まれるステップを含む、請求項4に記載のコンピュータ実施方法。
  6. 前記面データが、互いに隣接する2つの六面体モデル間の開放面の座標を含まない、請求項5に記載のコンピュータ実施方法。
  7. 前記六面体モデルの前記閉鎖面の各々が、2つの三角形からなる、請求項5に記載のコンピュータ実施方法。
  8. 前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップが、
    前記接合された六面体モデルの除去すべき頂点を特定するステップであって、前記頂点が、前記閉鎖面の3つの三角形の共通頂点であり、前記3つの三角形が互いに直交しているステップと、
    前記共通頂点に隣接する頂点を3つの頂点として有する新しい三角形を生成するステップと、
    前記頂点及び前記3つの三角形を除去するステップと、
    をさらに含む、請求項7に記載のコンピュータ実施方法。
  9. 前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップが、
    共通辺を共有する、前記接合された六面体モデルの第1の三角形及び第2の三角形を特定するステップであって、前記第1の三角形及び前記第2の三角形が互いに直交しているステップと、
    3つの頂点を有する新しい三角形を生成するステップであって、前記3つの頂点が、前記共通辺から離れた、前記第1の三角形の第1の頂点、前記共通辺から離れた、前記第2の三角形の第2の頂点、及び前記共通辺の第1の端である第3の頂点を含むステップと、
    前記共通辺の第2の端、前記第1の三角形、及び前記第2の三角形を除去するステップと、
    を含む、請求項7に記載のコンピュータ実施方法。
  10. 前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップが、
    オフセット頂点を特定するステップであって、前記オフセット頂点が、3つの三角形によって共有されており、前記3つの三角形の各々が、三角形の中心から、前記三角形から離れた、前記オフセット頂点に隣接する頂点までの距離ベクトルを有し、前記3つの三角形の前記各々の前記距離ベクトルが、同じ極性を有するステップと、
    前記オフセット頂点に隣接する頂点に前記オフセット頂点をシフトさせるステップと、
    前記オフセット頂点をシフトさせる前記ステップの後に、重なった三角形を除去するステップと、
    を含む、請求項7に記載のコンピュータ実施方法。
  11. 前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップが、
    前記接合された六面体モデルの3つの外側三角形を特定するステップであって、前記3つの外側三角形が、共通頂点を共有し、所定の面方向範囲内に配置されているステップと、
    前記共通頂点に隣接する頂点を3つの頂点として有する新しい三角形を生成するステップと、
    前記共通頂点及び前記3つの三角形を除去するステップと、
    を含む、請求項7に記載のコンピュータ実施方法。
  12. 前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップが、
    前記接合された六面体モデルの2つの直角三角形を特定するステップであって、前記2つの直角三角形が、共通頂点及び共通辺を共有しており、前記2つの直角三角形の2つの直角が、前記共通頂点に形成されているステップと、
    複数の辺の中から最長辺を特定するステップであって、前記複数の辺の各々の端が、前記共通頂点であるステップと、
    前記複数の辺の中から最短辺を特定するステップと、
    前記最長辺の長さと前記最短辺の長さとの平均値を取得するステップと、
    前記共通頂点から離れた、前記最長辺の端に向けて前記共通頂点を前記平均値の半分だけシフトさせるステップと、
    を含む、請求項7に記載のコンピュータ実施方法。
  13. 前記複数の2次元断面画像の第3の断面画像を表す第3の画像データセットを受信するステップであって、前記第3の断面画像が、前記3次元軸の前記1つに沿った、前記3次元オブジェクトの第3の位置に対応するステップと、
    前記第3の断面画像の画素から第3の画素セットの第3の2次元座標セットを特定するステップであって、前記第3の画素セットが、前記所定の画素値範囲内の第3の画素値に関連付けられているステップと、
    第3の六面体モデルを表す第3の六面体データセットを生成するステップであって、前記第3の六面体データセットの各々が、前記第3の2次元座標セットの対応する座標で前記第3の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    をさらに含み、
    前記3次元モデルデータが、前記第3の六面体データセットにさらに基づいて生成される、請求項1に記載のコンピュータ実施方法。
  14. 3次元オブジェクトの複数の2次元断面画像に基づいて3次元モデルデータを生成するための命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令が、プロセッサによって実行されたときに前記プロセッサに、
    第1の画像データセット及び第2の画像データセットを受信するステップであって、前記第1の画像データセットが、前記複数の2次元断面画像の第1の断面画像を表し、前記第2の画像データセットが、前記複数の2次元断面画像の第2の断面画像を表し、前記第1の断面画像が、3次元軸の1つに沿った前記3次元オブジェクトの第1の位置に対応し、前記第2の断面画像が、前記第1の位置から離れた、前記3次元軸の前記1つに沿った前記3次元オブジェクトの第2の位置に対応し、前記第1の画像データセット及び前記第2の画像データセットの両方が、2次元座標及び画素値を含み、前記第1の断面画像及び前記第2の断面画像の各画素が、前記2次元座標及び前記画素値に関連付けられているステップと、
    前記第1の断面画像の前記画素から第1の画素セットの第1の2次元座標セットを特定するステップであって、前記第1の画素セットが、所定の画素値範囲内の第1の画素値に関連付けられているステップと、
    前記第2の断面画像の前記画素から第2の画素セットの第2の2次元座標セットを特定するステップであって、前記第2の画素セットが、前記所定の画素値範囲内の第2の画素値に関連付けられているステップと、
    第1の六面体モデルを表す第1の六面体データセットを生成するステップであって、前記第1の六面体データセットの各々が、前記第1の2次元座標セットの対応する座標で前記第1の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    第2の六面体モデルを表す第2の六面体データセットを生成するステップであって、前記第2の六面体データセットの各々が、前記第2の2次元座標セットの対応する座標で前記第2の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成するステップと、
    を行わせる非一時的コンピュータ可読記憶媒体。
  15. 前記第1の六面体モデルの各々が、均一な高さを有し、前記第2の六面体モデルの各々が、前記均一な高さを有する、請求項14に記載の非一時的コンピュータ可読記憶媒体。
  16. 前記均一な高さが、前記3次元軸の前記1つに沿った、前記第1の位置と前記第2の位置との間の距離に対応する、請求項15に記載の非一時的コンピュータ可読記憶媒体。
  17. 前記命令が、前記プロセッサによって実行されたときに前記プロセッサに、前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成する前記ステップを行わせることが、前記命令が、前記プロセッサによって実行されたときに前記プロセッサに、
    前記第1の六面体モデル及び前記第2の六面体モデルの中の互いに隣接する六面体モデルを接合するステップを行わせることをさらに含む、請求項14に記載の非一時的コンピュータ可読記憶媒体。
  18. 前記命令が、前記プロセッサによって実行されたときに前記プロセッサに、前記第1の六面体モデル及び前記第2の六面体モデルの中の前記互いに隣接する六面体モデルを接合する前記ステップを行わせることが、前記命令が、前記プロセッサによって実行されたときに前記プロセッサに、
    前記接合された六面体モデルの閉鎖面の座標を含む面データを生成するステップであって、前記接合された六面体モデルが前記閉鎖面によって囲まれるステップを行わせることをさらに含む、請求項17に記載の非一時的コンピュータ可読記憶媒体。
  19. 前記面データが、互いに隣接する2つの六面体モデル間の開放面の座標を含まない、請求項18に記載の非一時的コンピュータ可読記憶媒体。
  20. 前記六面体モデルの前記閉鎖面の各々が、2つの三角形からなる、請求項18に記載の非一時的コンピュータ可読記憶媒体。
  21. 3次元オブジェクトの複数の2次元断面画像に基づいて3次元モデルデータを生成するためのシステムであって、
    プロセッサ、及び、
    命令を含む非一時的コンピュータ可読記憶媒体
    を備え、前記命令が、前記プロセッサによって実行されたときに前記プロセッサに、
    第1の画像データセット及び第2の画像データセットを受信するステップであって、前記第1の画像データセットが、前記複数の2次元断面画像の第1の断面画像を表し、前記第2の画像データセットが、前記複数の2次元断面画像の第2の断面画像を表し、前記第1の断面画像が、3次元軸の1つに沿った前記3次元オブジェクトの第1の位置に対応し、前記第2の断面画像が、前記第1の位置から離れた、前記3次元軸の前記1つに沿った前記3次元オブジェクトの第2の位置に対応し、前記第1の画像データセット及び前記第2の画像データセットの両方が、2次元座標及び画素値を含み、前記第1の断面画像及び前記第2の断面画像の各画素が、前記2次元座標及び前記画素値に関連付けられているステップと、
    前記第1の断面画像の前記画素から第1の画素セットの第1の2次元座標セットを特定するステップであって、前記第1の画素セットが、所定の画素値範囲内の第1の画素値に関連付けられているステップと、
    前記第2の断面画像の前記画素から第2の画素セットの第2の2次元座標セットを特定するステップであって、前記第2の画素セットが、前記所定の画素値範囲内の第2の画素値に関連付けられているステップと、
    第1の六面体モデルを表す第1の六面体データセットを生成するステップであって、前記第1の六面体データセットの各々が、前記第1の2次元座標セットの対応する座標で前記第1の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    第2の六面体モデルを表す第2の六面体データセットを生成するステップであって、前記第2の六面体データセットの各々が、前記第2の2次元座標セットの対応する座標で前記第2の六面体モデルの対応する六面体モデルに関連付けられているステップと、
    前記第1の六面体データセット及び前記第2の六面体データセットに基づいて前記3次元モデルデータを生成するステップと、
    を行わせるシステム。
JP2017552092A 2015-04-02 2016-03-31 仮想六面体モデルに基づいた、仮想三次元モデルの生成 Active JP6533593B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562142001P 2015-04-02 2015-04-02
US62/142,001 2015-04-02
US15/086,036 2016-03-30
US15/086,036 US9646411B2 (en) 2015-04-02 2016-03-30 Virtual three-dimensional model generation based on virtual hexahedron models
PCT/US2016/025412 WO2016161198A1 (en) 2015-04-02 2016-03-31 Virtual three-dimensional model generation based on virtual hexahedron models

Publications (2)

Publication Number Publication Date
JP2018514858A JP2018514858A (ja) 2018-06-07
JP6533593B2 true JP6533593B2 (ja) 2019-06-19

Family

ID=57005392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017552092A Active JP6533593B2 (ja) 2015-04-02 2016-03-31 仮想六面体モデルに基づいた、仮想三次元モデルの生成

Country Status (6)

Country Link
US (2) US9646411B2 (ja)
EP (1) EP3278252B1 (ja)
JP (1) JP6533593B2 (ja)
KR (1) KR102070945B1 (ja)
CN (1) CN107615279B (ja)
WO (1) WO2016161198A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6711715B2 (ja) * 2016-07-19 2020-06-17 キヤノン株式会社 画像処理装置および画像処理方法
US10503149B2 (en) * 2016-09-30 2019-12-10 Honeywell Federal Manufacturing & Technologies, Llc System, method, and computer program for creating united cellular lattice structure
GB201617507D0 (en) * 2016-10-14 2016-11-30 Axial3D Limited Axial3D UK
US11138790B2 (en) 2016-10-14 2021-10-05 Axial Medical Printing Limited Method for generating a 3D physical model of a patient specific anatomic feature from 2D medical images
US20180276463A1 (en) * 2017-03-27 2018-09-27 VRstudios Inc. Optically detectable markers
JP7234126B2 (ja) * 2017-10-30 2023-03-07 興和株式会社 プログラム
GB201900437D0 (en) 2019-01-11 2019-02-27 Axial Medical Printing Ltd Axial3d big book 2
AU2019445440A1 (en) * 2019-05-16 2021-12-02 Spherene Ag Method for the lightweighting and/or designing of an additively manufactured article
KR102104889B1 (ko) * 2019-09-30 2020-04-27 이명학 가상 입체면 모델에 기초한 3차원 모델 데이터 생성 구현 방법 및 시스템
CN111462204B (zh) * 2020-02-13 2023-03-03 腾讯科技(深圳)有限公司 虚拟模型的生成方法、装置、存储介质以及电子装置
KR102403577B1 (ko) * 2020-08-27 2022-05-31 (주)한국아이티에스 몬테카를로 시뮬레이션을 이용한 비침습적 당화혈색소 측정 시스템 및 방법
US12444506B2 (en) 2021-02-11 2025-10-14 Axial Medical Printing Limited Systems and methods for automated segmentation of patient specific anatomies for pathology specific measurements
GB202101908D0 (en) 2021-02-11 2021-03-31 Axial Medical Printing Ltd Axial3D pathology
US20240404106A1 (en) * 2023-06-01 2024-12-05 International Business Machines Corporation Training a pose estimation model to determine anatomy keypoints in images

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831528A (en) * 1987-11-09 1989-05-16 General Electric Company Apparatus and method for improvement of 3D images derived from tomographic data
EP1316051B1 (de) 2000-09-05 2004-04-21 MTU Aero Engines GmbH Verfahren zur veränderung der konstruktion eines bauteils
US7538764B2 (en) * 2001-01-05 2009-05-26 Interuniversitair Micro-Elektronica Centrum (Imec) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
KR100428066B1 (ko) 2001-02-23 2004-04-27 한국과학기술원 요소크기제어를 위한 육면체유한요소 모델링방법 및 그기록매체
AU2002323545A1 (en) * 2001-08-31 2003-03-18 Solidworks Corporation Simultaneous use of 2d and 3d modeling data
CA2364601A1 (en) 2001-12-03 2003-06-03 Utar Scientific Inc. Computer-assisted hologram forming method and apparatus
US6825838B2 (en) * 2002-10-11 2004-11-30 Sonocine, Inc. 3D modeling system
JP2004321439A (ja) * 2003-04-24 2004-11-18 Rikogaku Shinkokai 三次元有限要素モデル発生方法、装置及び三次元有限要素モデル発生プログラムを記憶した記憶媒体
US7430312B2 (en) * 2005-01-07 2008-09-30 Gesturetek, Inc. Creating 3D images of objects by illuminating with infrared patterns
US8466916B2 (en) * 2006-02-21 2013-06-18 Siemens Aktiengesellschaft System and method for in-context volume visualization using virtual incision
WO2008063081A2 (en) 2006-11-23 2008-05-29 Oslo Universitetssykehus Hf A method for visualising a three-dimensional image of a human body part
EP2189945A1 (en) * 2008-11-21 2010-05-26 A&P ip B.V. Method of and arrangement for linking image coordinates to coordinates of reference model
WO2010099109A1 (en) 2009-02-24 2010-09-02 Bell Helicopter Textron Inc. System and method for mapping two-dimensional image data to a three-dimensional faceted model
KR101190491B1 (ko) 2011-06-27 2012-10-12 박덕용 2차원 캐드 도면을 3차원 캐드 도면으로 자동 변환하는 캐드 프로그램을 이용한 구조물 설계 방법
WO2013020248A1 (en) * 2011-08-09 2013-02-14 Intel Corporation Image-based multi-view 3d face generation
JP5814853B2 (ja) 2012-04-18 2015-11-17 富士フイルム株式会社 立体モデルデータ生成装置および方法並びにプログラム
KR20140001532A (ko) 2012-06-27 2014-01-07 한국전자통신연구원 중강 공간 콘텐츠 저작 장치 및 그 방법
US9147280B2 (en) * 2012-08-03 2015-09-29 Kabushiki Kaisha Toshiba Preparation and display of derived series of medical images
CN103903303B (zh) * 2012-12-27 2018-01-30 清华大学 三维模型创建方法和设备
CN104252715B (zh) * 2014-09-05 2017-05-03 北京大学 一种基于单幅线条图像的三维立体重建方法

Also Published As

Publication number Publication date
EP3278252A1 (en) 2018-02-07
US9928666B2 (en) 2018-03-27
JP2018514858A (ja) 2018-06-07
KR102070945B1 (ko) 2020-01-29
CN107615279A (zh) 2018-01-19
US20170301146A1 (en) 2017-10-19
CN107615279B (zh) 2020-11-03
KR20170134592A (ko) 2017-12-06
WO2016161198A1 (en) 2016-10-06
US9646411B2 (en) 2017-05-09
US20160292909A1 (en) 2016-10-06
EP3278252A4 (en) 2018-11-07
EP3278252B1 (en) 2019-10-09

Similar Documents

Publication Publication Date Title
JP6533593B2 (ja) 仮想六面体モデルに基づいた、仮想三次元モデルの生成
CN104794758B (zh) 一种三维图像的裁剪方法
US20100271369A1 (en) Curved surface rendering system and method
EP3040944B1 (en) Method and device for rebuilding three-dimensional object and terminal
CN114452646B (zh) 虚拟对象透视处理方法、装置及计算机设备
WO2017020580A1 (zh) 一种医学组织的切片图像三维重建的方法及设备
Grevera Distance transform algorithms and their implementation and evaluation
CN115205435A (zh) 一种改进的基于马尔可夫随机场的纹理映射方法及装置
US8149237B2 (en) Information processing apparatus and program
JP7640036B2 (ja) 部分ボリュームからの心腔の再構成
WO2014016894A1 (ja) 形状データ生成方法及び装置
CN119516144A (zh) 三维网格模型处理方法、计算机设备和存储介质
CN107590858A (zh) 基于ar技术的医学样品展示方法和计算机设备、存储介质
JPWO2018159709A1 (ja) 3次元画像処理装置および方法並びにプログラム
JP2008204318A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
Yanamadala et al. Segmentation of the visible human project®(VHP) female cryosection images within MATLAB® environment
US8229247B1 (en) Method and apparatus for structure preserving editing in computer graphics
KR102104889B1 (ko) 가상 입체면 모델에 기초한 3차원 모델 데이터 생성 구현 방법 및 시스템
JP3928016B2 (ja) 最大角度法を用いた三角形メッシュ生成方法及びプログラム
Garcia et al. CPU-based real-time surface and solid voxelization for incomplete point cloud
JP7429666B2 (ja) 点群ノイズ除去装置及びプログラム
IL280826B1 (en) Determining the boundary wall surface of a cavity of an organ
Krahnstoever et al. Computing curvature-adaptive surface triangulations of three-dimensional image data
CN108024778A (zh) 结构推定装置、结构推定方法以及程序
WO2013078451A1 (en) Methods of determining local spectrum at a pixel using a rotationally invariant s-transform (rist)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180326

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20181206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190524

R150 Certificate of patent or registration of utility model

Ref document number: 6533593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250