人体の3次元形状データ生成方法および3次元形状データ生成装置
【課題】異体型の人体の3次元形状データであっても、比較的簡易な手法で生成できるようにする。
【解決手段】ある態様の3次元形状データ生成装置では、対象人体について予め採寸された断面の大きさと、基準人体の断面形状データから得られる断面の大きさとの比率が求められる(S1〜S4)。そして、基準人体データを構成する断面形状データにその比率をかけることにより対象人体の各断面形状が算出され(S5)、さらに各断面形状が対応する脊柱位置に配置されることにより、対象人体の3次元形状データが得られる(S6〜S9)。
【解決手段】ある態様の3次元形状データ生成装置では、対象人体について予め採寸された断面の大きさと、基準人体の断面形状データから得られる断面の大きさとの比率が求められる(S1〜S4)。そして、基準人体データを構成する断面形状データにその比率をかけることにより対象人体の各断面形状が算出され(S5)、さらに各断面形状が対応する脊柱位置に配置されることにより、対象人体の3次元形状データが得られる(S6〜S9)。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、人体の3次元形状を表す3次元形状データを生成するための3次元形状データ生成方法および3次元形状生成装置に関する。
【背景技術】
【0002】
従来より、服飾デザインの分野では、物理的な人台に布を直接着せ付けて型紙を作成していく立体裁断という方法が知られている。この立体裁断法により、比較的自由度の高い衣服設計が可能となっている。一方、立体裁断法では各人の体型に応じて多種類の人台を用意する必要があり、また実際に布地を用意する必要があることから、作業上の制約が多いという問題がある。
【0003】
これに対し、最近ではアパレルCADシステムが普及してきており、上述のような制約が徐々に解消されつつある。すなわち、身体の所定の採寸箇所を計測して得られたサイズデータからの体型データや人台の作成、既知の型紙の体型データや人台への着せ付け、型紙のサイズ変更や生地柄の貼り付けなどがコンピュータ上で可能になっている。
【0004】
たとえば、衣服を求める顧客が自分の体型に合った衣服のデザイン画を描き、これを基にその衣服の型紙パターンをCAD/CAM技術を応用して敏速・簡易に作成できる衣服の型紙パターンの自動作成システム等が提案されている(たとえば特許文献1参照)。
【特許文献1】特開2001−249957号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、一般に、衣服の作成のためのシステムには様々な体型の人に適合できることが望まれる。この観点から言えば、現状のアパレルCADシステムは、標準体型からの軽微なずれ、たとえば肩や背中の形状のずれなどには対応できる。しかし、介護の現場などで必要とするような様々な体型、たとえば背中や腰が曲がっているなどの標準体型と異なる特殊な体型(以下「異体型」という)の人に対して適用できるまでには至っていない。
【0006】
このため、現在では特に高齢者や障害者向けの衣料の制作において、異体型の人に対する特殊な人台を用意して立体裁断するという手法がとられたりしている。しかしながら、標準的な異体型というものが存在しないため、この手法による衣服の製作は汎用性に乏しいという問題がある。また、たとえば異体型の人の体型データを得るためにその体型を様々な角度から撮影したり細かく計測したりすることも考えられるが、コストが嵩み、またプライバシーの問題が発生する可能性もある。
【0007】
本発明はこうした課題に鑑みてなされたものであり、異体型の人体の3次元形状データであっても比較的簡易な手法で生成できる3次元形状データ生成装置および3次元形状データ生成方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の3次元形状データ生成装置は、対象人体の3次元形状データを生成する3次元形状データ生成装置において、基準人体における所定の特徴点を含む複数箇所の断面形状データを、その基準人体の脊柱位置に対応づけて記憶する基準データ記憶部と、対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ記憶する測定データ記憶部と、各特徴点の位置情報に基づき、対象人体の脊柱位置を算出する脊柱位置算出部と、各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出部と、基準人体の断面形状データと比率算出部が算出した比率とに基づいて、対象人体における各断面形状を算出する断面形状算出部と、断面形状算出部が算出した各断面形状を、脊柱位置算出部が算出した対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成部と、を備える。
【0009】
ここで、「対象人体」とは、当該3次元形状データを生成する対象者の人体を意味する。一方、「基準人体」とは、対象人体の3次元形状データを生成する際に用いられる基準となる人体を意味し、いわゆる標準体型の人体が該当し得る。基準人体の3次元形状データは、個々の対象人体の3次元形状データの生成に共通に用いられる。この形態では、「対象人体」として、たとえば背中や腰が曲がっているなどの標準体型と異なる特殊な体型(異体型)の人体を対象としており、予め取得した基準人体の3次元形状データを変形することにより対象人体の3次元形状データを生成する。
【0010】
また、「所定の特徴点」とは、人体の骨格の形状を特定するための計測対象となる人体の表面位置を意味する。後述のように、この特徴点には人体の断面における脊柱の通過位置を特定できるものが含まれ得る。したがって、この特徴点の位置が特定できれば脊柱の通過位置を算出でき、その脊柱の通過位置を人体の各断面で接続すれば、脊柱の大まかな形状を推定することも可能になる。言い換えれば、特徴点とこれを含む断面が特定できれば、その断面と脊柱位置とを対応させ得る。基準データ記憶部には、このように推定される脊柱形状の脊柱位置に対応づけて断面形状データが記憶されている。
【0011】
さらに、対象人体における各特徴点の位置情報および採寸データが測定データ記憶部に記憶されているが、個々の対象人体に関するデータは、基準人体に関して記憶されているデータよりも少ない。すなわち、上述のように対象者が異体型の人体を有する場合には、標準体型の人に対してコンプレックスを持っていることもあり得るため、その体型を詳細に計測すると不快感を与えたりプライバシーの問題が発生する可能性がある。そこで、対象人体については、決められた特徴点の位置と所定の採寸データとを含む限られた情報が取得される。これら特徴点の位置や採寸データは、所定の計測機器やメジャーなどを用いてごく自然に計測され得る。
【0012】
この態様によれば、対象人体について予め採寸された幅方向の大きさおよび厚み方向の大きさと、これに対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率が求められる。そして、基準人体の断面形状データとその比率を用いることにより対象人体の各断面形状が算出される。さらに、各断面形状を対応する脊柱位置に配置してそれぞれ接続することにより、対象人体の3次元形状データが得られる。
【0013】
すなわち、基準人体と対象人体との比率を用いて基準データを拡大又は縮小することにより、対象人体の3次元形状データが得られる。このため、対象者の人体を詳細に計測することなく、比較的簡易に3次元形状データを生成することができる。また、採寸データなど対象者の人体の情報については少なく抑えることができるため、対象者への負担を軽くすることができ、またプライバシーの問題が発生するのを防止することができる。
【0014】
このような3次元形状データ生成装置は、形状データ生成部により生成された3次元形状データから得られた基準多面体を記憶する基準多面体記憶部と、基準多面体の表面近傍に判別点を生成する判別点生成部と、判別点を中心とする所定の半径の近傍球体内に近傍点を乱数により発生させ、近傍球体内の近傍点が基準多面体の内部に含まれる割合を示す占有率を算出する占有率算出部と、占有率が所定の判定閾値以上である場合に、判別点は対象人体の3次元形状に含まれると判定し、占有率が判定閾値より小さい場合に、判別点は対象人体の3次元形状に含まれないと判定する有効判別点判定部と、判定により対象人体の3次元形状に含まれると判定された判別点を頂点とするポリゴンにより、対象人体の3次元形状を表した3次元形状データを生成する平滑データ生成部と、をさらに含んでもよい。
【0015】
この態様によれば、対象人体の3次元形状データが平滑化されるため、より実際の人体の形状に近づけることができる。なお、このように平滑化した3次元形状データ、又はその平滑化の程度を大きくして得られた3次元形状データを、衣服の製作に用いる人台の3次元形状データとすることも可能である。
【0016】
本発明の別の態様は、3次元形状データ生成方法である。この方法は、対象人体の3次元形状データを生成する3次元形状データ生成方法において、基準人体における所定の特徴点を含む複数の断面形状データを、その基準人体の脊柱位置に対応づけて取得する基準データ取得ステップと、対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ取得する測定データ取得ステップと、各特徴点の位置情報に基づき、対象人体の脊柱位置を算出する脊柱位置算出ステップと、各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出ステップと、基準人体の断面形状データと比率算出ステップにて算出された比率とに基づいて、対象人体における各断面形状を算出する断面形状算出ステップと、断面形状算出ステップにて算出された各断面形状を、脊柱位置算出ステップにて算出された対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成ステップと、を備える。
【0017】
ここで、「対象人体」、「基準人体」および「所定の特徴点」などの用語の意義等については、上述のとおりである。
【0018】
この態様においても、基準人体と対象人体との比率を用いて基準データを拡大又は縮小することにより、対象人体の3次元形状データを比較的簡易に生成することができる。また、対象者への負担を軽くすることができるとともに、プライバシーの問題が発生するのを防止することもできる。
【0019】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0020】
本発明によれば、異体型の人体の3次元形状データであっても比較的簡易な手法で生成できる。
【発明を実施するための最良の形態】
【0021】
以下、図面を参照しつつ本発明を実施するための最良の形態について詳細に説明する。
【0022】
まず、本実施の形態に係る人体の3次元形状データの生成手順について説明する。
本実施の形態の3次元形状データの生成方法は、主として背中や腰が曲がっているなどの標準体型と異なる特殊な体型(異体型)を有する人を対象者として適用される。この対象者の3次元形状データ(以下「対象人体データ」という)は、標準体型に近い人体の3次元形状データ(以下「基準人体データ」という)を予め作成しておき、その基準人体データを変形することにより得られる。このため、以下においては、基準人体データの作成および対象人体データの作成の各段階を順次説明する。
【0023】
[基準人体データの作成]
基準人体データの作成は、以下のようにして行われる。なお、この基準人体データは、対象人体データの作成毎に作成されるものではなく、異体型の対象者が変わっても繰り返し使用され得る汎用的なデータとして位置づけられる。
【0024】
まず、標準体型の人体の3次元計測データを取得する。
ここでは、予め選ばれた標準体型の近い被計測者の体型を、光測定またはレーザー測定による体型測定器等を利用して計測する。たとえば、光学式三角測量法により人体の表面の位置座標を高さ方向に5mm間隔で測定する装置が市販されているので、これを用いることができる。この装置には、被計測者を囲むように複数のセンサヘッドが配置されている。各センサヘッドには、光源であるレーザダイオードと受光センサとしてのCCD(Charge Coupled Devices)とが組み込まれている。被計測者は、その体型が正しく測定されるように、たとえば極薄手の衣服を着用して測定に備える。
【0025】
レーザダイオードによる光は、被計測者の身体表面で拡散反射され、センサヘッド内のそれぞれのCCDに入力され、位置に対応した信号として取り出される。これらのセンサヘッドが被計測者の上方から下方に等間隔で移動し、各位置で輪切り状に人体表面の点の位置を測定する。1つの輪切り状のリング内では周方向に等角度で測定点が設定され、測定された人体表面の位置座標が順次記録される。これにより、標準体型の人体の3次元計測データが得られる。
【0026】
次に、骨格の主要な特徴点であるマーキングポイントの位置座標を計測する。
図1は、マーキングポイントの例を表す説明図である。同図(a)は人体の正面図を表し、同図(b)は人体の背面図を表している。図2は、マーキングポイントの位置の測定方法等を表す説明図である。
【0027】
主要なマーキングポイントについては、たとえば次の参考文献を参照することができる。
参考文献1:「文化ファッション大系 服飾造形講座(1) 服飾造形の基礎 文化服装学院編」、文化服装学院教科書出版部
また、骨格系のモデルについては、たとえば次の参考文献を参照することができる。
参考文献2:「福祉事務管理シリーズ/5 医学一般・精神保健」、株式会社建帛社
本実施の形態では、脊柱の位置を推定するという目的から、図1に示すように、バックネックポイントA、サイドネックポイントB、ショルダーポイントC、前腋点D、肩甲骨の最下部E、肋骨の最下部F、肋骨の最下部と同一高さにある背中の中心のくぼみの位置(以下「背中くぼみ位置」という)G、骨盤の横幅方向に突起する部分の位置(以下「骨盤端部位置」という)Hの座標を、マーキングポイントとして測定する。これらの計測点は、骨格の形状を示す特徴点であると同時に触手により比較的容易に位置が確定できるポイントとして選定されている。
【0028】
これらのマーキングポイントの位置は、たとえば市販のマルチン計測器などを用いて測定することができる。具体的には、図2に示す人体のかかとの後方に計測器を設置して測定する。このとき、かかとの後方で計測器の支柱が床面に交差する点を空間座標系(「大域座標系」ともいう)の原点と考える。この原点を中心に横幅方向にx軸、高さ方向にy軸、奥行き方向にz軸を設定する。この大域座標系は測定の間中、常に固定して変更はしない。このとき、バックネックポイントAから肋骨の下部の高さまではおよそ胸椎に相当する。また、肋骨の下部から骨盤にかけては腰椎に相当する。なお、このマルチン式計測器による具体的な計測方法については人体計測を行う分野において周知であるため、その詳細については説明を省略する。
【0029】
次に、簡易骨格モデルを形成する。
この簡易骨格モデルは、脊柱と鎖骨からなるモデルである。脊柱は猫背など背中の形状を特徴づけ、鎖骨はなで肩など肩の形状を特徴づける。ここでは、上述した体表面上のマーキングポイントの位置座標から脊柱の形状と鎖骨の形状を推定して決定する。
【0030】
図3は、マーキングポイントが存在する人体の断面と脊柱位置との関係を表す説明図である。なお、図中の点線は脊柱の断面を表している。
【0031】
すなわち、マーキングポイントが存在する人体の断面は、同図に示されるようになっている。この人体の断面形状については、たとえば上記参考文献1を参照することができる。同図に示すように、たとえばバックネックポイントAに隣接して脊柱が存在する。また、肩甲骨の最下部Eに隣接して脊柱が存在する。なお、これらバックネックポイントA、肩甲骨の最下部Eのそれぞれから脊柱までの距離は経験的に求めることができる。また、2つの肋骨の最下部Fと背中くぼみ位置Gは三角形をなし、そのほぼ重心位置に脊柱が存在する。さらに、2つの骨盤端部位置Hをつなぐ線分の中央に脊柱が存在する。このようにして人体の断面における脊柱位置が分かることにより、人体における脊柱の通過点が複数分かる。
【0032】
図4は、脊柱と鎖骨の決め方を表す説明図である。同図(a)は人体の正面図に基づく説明図であり、同図(b)は人体の側面図に基づく説明図である。
上述のようにして脊柱の通過点が複数分かると、同図に示されるように、これらの通過点を通る曲線をベジェ曲線などの数学的方法により決定して脊柱101の全体形状とする。また、鎖骨102については、脊柱101とショルダーポイントCとを結ぶ水平な線分で擬似する。
【0033】
次に、上述した人体の3次元計測データと簡易骨格モデルとを用いて標準体型の3次元形状データ、つまり基準人体データを生成する。
図5〜図8は、3次元形状データの生成方法を表す説明図である。図5(a)は人体の正面図に基づく説明図であり、同図(b)はその一点鎖線で囲まれた部分近傍の部分拡大図を表している。図6は、人体の側面図に基づく説明図である。図7は、鎖骨近傍の断面図に基づく説明図である。図8は、人体の鎖骨近傍およびその断面形状データを表す説明図である。
【0034】
図5(a)に示すように、脊柱に対してバックネックポイントAより上の部分および前腋点Dより下の部分については、脊柱にほぼ垂直な断面つまりy軸に垂直な断面を考える。通常、この断面の形状は、上記3次元測定器で得られる水平面のデータ(以下、「水平面データ」ともいう)から得られる。そして、各マーキングポイントを含む隣接する2つの断面間の脊柱を数個に均等分割する。図示の例では、前腋点Dと骨盤端部位置Hとの間に均等分割された脊柱位置K1、K2、K3が示されている。これは、脊柱を個々の骨の要素に分けた第1、第2腰椎のようなものに相当する。
【0035】
続いて、これらの均等分割された脊柱位置の近傍に位置する3次元測定器の水平面データを見つける。図5(b)の例では、脊柱位置K3の周辺に上述した5mm間隔の計測位置が対応づけて示されている。ここでは、脊柱位置K3に隣接する計測位置L1、L2が抽出できるが、計測位置L1のほうが計測位置L2よりも脊柱位置K3により近接しているため、計測位置L1の水平面データが採用される。なお、このように脊柱位置K3の断面形状データをこれに最も近接した計測位置L1の水平面データとするのではなく、たとえば計測位置L1の水平面データと計測位置L2の水平面データとを、脊柱位置K3からの距離の比率に基づき補間演算して脊柱位置K3の断面形状データとしてもよい。
【0036】
このようにして得られた水平面データの集合が、図6に示すように輪切り状のデータの集合となり、標準体型のバックネックポイントAより上の部分と前腋点Dより下の部分の3次元形状を形成することになる。
【0037】
一方、脊柱101に対して、バックネックポイントAと前腋点Dとの間の部分については、図7に示されるように、鎖骨102にほぼ垂直な断面つまりx軸に垂直な断面を考える。なお、鎖骨102の方向に対してこのように垂直断面を考えるのは、肩部の形状および動きに個人差があることを考慮したものである。通常、この部分は三次元測定器では水平面のデータが得られている。これらの水平面のデータをもとに、垂直面のデータを合成する必要がある。同図は肩の部分を表している。図中、曲線は水平面データを表している。曲線中の白丸は、三次元測定器による実際の測定点を示す。また、脊柱101からショルダーポイントCに伸びる線分が鎖骨102に相当する。この線分中の点B1は、鎖骨102のサイドネックポイントBと同一のxz座標値を持つ点である。ここでは、脊柱101からショルダーポイントCまでのx座標値を等分割する。等分割された直線と肩の曲線との交点Mi、Mi+1・・・は、肩の部分を鎖骨102と垂直な断面で表現したときの点群となる。この交点Miの座標値は、同図に示すように隣接する実際の測定点XiとXi+1の座標値の補間により、求めることができる。具体的には、測定点XiとXi+1との間におけるMiのx方向の内分比率を求め、その内分比率をz方向に適用すれば、交点Miのz座標を算出することができる。この交点Mi、Mi+1・・・の集合がショルダーポイントCを含む断面形状データを構成する。なお、図中の破線は、ショルダーポイントCよりやや上方の断面を示している。
【0038】
そして、このようにしてバックネックポイントAと前腋点Dとの間の複数の水平断面について交点Mi、Mi+1・・・からなる断面形状データを得た後、その各座標点を図中点線にて示す鎖骨102にほぼ垂直な断面つまりx軸に垂直な断面に沿って接続していく。すると、図8に点線にて示すように、鎖骨102に沿った複数の垂直面データが得られる。
以上のようにして、基準人体データが得られる。
【0039】
[対象人体データの作成]
対象人体データの作成は、上述のようにして得られた基準人体データを用いることにより、以下のようにして行われる。この対象人体データは、その対象者が変わる毎に作成される。図9は、対象者の人体(以下、「対象人体」ともいう)に設定した座標系を表す説明図である。
【0040】
まず、基準人体データの作成の場合と同様に大域座標系を設定し、対象者の骨格の主要なマーキングポイントの位置座標を計測する。マーキングポイントとしては、基準人体データの作成で設定した箇所と同一のマーキングポイントを採用する。これらのマーキングポイントの位置座標は、上述したマルチン計測器等により計測することができる。
【0041】
具体的には、バックネックポイントAより上の首の部分、および前腋点Dより下の胴体の部分については、マーキングポイントを含む体の断面を想定して、人体の横幅、厚み(奥行き)および周囲長の採寸を行う。これらの採寸は、メジャーなどを用いて行うことができる。
【0042】
続いて、各断面ごとに脊柱の中心(脊髄)の位置を確定する。これは、図3に示した基準人体データの作成に用いた方法に基づく。
【0043】
図10は、対象人体の断面形状の算出方法を表す説明図である。同図(a)は、基準人体データのある位置の断面形状を表し、同図(b)は、対象人体の対応する位置の仮想的な断面形状を表している。
【0044】
ここでは、図10に示すように、断面形状における脊柱位置Oを原点とし、横幅方向をX軸、奥行き方向をZ軸とする局所的な座標面を考える。なお、このように人体の各断面において幅方向にX軸、脊柱の方向にY軸、脊柱と垂直な厚み方向にZ軸をとった座標系を「局所座標系」という。上述した基準人体データについては、その水平面がほぼこの局所座標系の座標面に一致するため、三次元測定器による測定点との対応関係により、断面形状データを構成する各座標値が得られることになる。したがって、同図(a)の断面形状データは実線で示されているが、実際には座標点の集合となっている。
【0045】
この局所座標系において、人体の断面のX軸との交点の値は横幅を規定する。ここでは、ある断面における対象者の横幅とこれに対応する基準人体データの横幅との比率を求める。具体的には図示のように、脊柱の中心位置Oに対して幅方向右側の寸法について、基準人体データの寸法をXs1、対象者の寸法をXt1とする。また、脊柱の中心位置Oに対して幅方向左側の寸法について、基準人体データの寸法をXs2、対象者の寸法をXt2とする。このとき、幅方向の大きさの比率は、rx1=Xt1/Xs1、rx2=Xt2/Xs2となる。ただし、ここでは便宜上Xt1=Xt2と仮定する。これらXt1、Xt2は、採寸により得られた対象人体の幅方向の寸法Xt0により算出できる。
【0046】
同様に、各断面における対象者の厚みとこれに対応する基準人体データの厚みとの比率についても求める。図示のように、脊柱の中心位置Oに対して奥行き方向前側の寸法について、基準人体データの寸法をZs1、対象者の寸法をZt1とする。脊柱の中心位置Oに対して奥行き方向後側の寸法について、基準人体データの寸法をZs2、対象者の寸法をZt2とする。このとき、厚み方向の大きさの比率は、rz1=Zt1/Zs1、rz2=Zt2/Zs2となる。ただし、経験上、人体の背部中央から脊柱位置までの距離は個人差が小さいため、Zt2≒Zs2であると考えることもでき、また、その大きさつまり背部中央から脊柱位置までの距離も経験的に設定することが可能である。つまり、同図(b)に示すように、採寸により得られた対象人体の厚み方向の寸法をZt0とすると、厚み方向前側の寸法は、Zt1=Zt0−Zs2として算出することができる。
【0047】
そして、上述した基準人体データの断面形状を上記比率により拡大又は縮小することにより、対象人体データの断面形状を得ることができる。つまり、基準人体データの断面形状データを構成する各座標値に上記比率をかけて得られる座標値が対象人体データの断面形状データを構成する各座標値となる。このような比率計算を各断面について行うことにより、対象人体データの断面形状を確定することができる。
【0048】
一方、バックネックポイントAから前腋点Dまでの肩の部分については、鎖骨にほぼ垂直に、すなわち人体の奥行き方向に断面を想定してその断面形状を演算する。図11〜図13は、対象人体の断面形状の算出方法を表す説明図である。
【0049】
ここでは、基準人体データに関して図7および図8に基づいて説明したのと同様に、対象人体の鎖骨102に沿って脊柱位置OからショルダーポイントCまでを等分割した垂直断面を想定する。そして、鎖骨102に沿った方向の各位置において前腋点Dの高さでの人体の厚みtと前腋点Dから肩表面までの高さhを測定する。また、垂直断面と鎖骨102との交点の座標、つまり鎖骨位置を算出しておく。この鎖骨位置は、脊柱位置OとショルダーポイントCとを結ぶ直線の方程式と、垂直断面の方程式(x座標)とを連立させることにより算出できる。
【0050】
続いて、図12に示すように、各垂直断面の厚みt及び高さhについて基準人体データのそれとの比率を求める。この比率は、垂直断面と鎖骨102との交点を原点としたyz平面にて計算する。そして、上述した基準人体データの垂直断面形状を上記比率により拡大又は縮小することにより、対象人体データの垂直断面形状を得ることができる。つまり、基準人体データの断面形状データを構成する各座標値に上記比率をかけて得られる座標値が対象人体データの断面形状データを構成する各座標値となる。このような比率計算を各断面について行うことにより、対象人体データの垂直断面形状を確定することができる。そして、図13に示すように、このように算出された垂直断面形状を水平面に展開することにより、バックネックポイントAから前腋点Dまでの肩の部分についての水平面データが得られる。すなわち、この水平面データは、その垂直断面と水平面との交点の座標を計算(補間演算等)することにより得られる。
【0051】
以上のようにして得られた断面形状データを脊柱に沿って配置することにより、対象人体の大まかな3次元形状データが得られる。
【0052】
図14は、算出された対象人体の断面形状データを脊柱に沿って配置した状態を表す説明図である。さらに、図15は、算出された対象人体の断面形状データの平滑化処理前後の状態を表す説明図である。
【0053】
上述のようにして確定された隣接する断面間において均等分割される断面形状については、その隣接する各断面形状の幅方向又は厚み方向の比率を算出し、その比率が脊柱の高さ方向に比例的に変化するように補間する。なお、補間の方法としては、単純な曲線近似や連続する比率をベジェ曲線などで結んで当該箇所の比率とすることもできる。そして、基準人体データについて得た水平面データに係る断面形状を補間した比率により拡大・縮小することにより、隣接する断面間の断面形状とする。
【0054】
一方、マーキングポイントに対応する局所座標面の中心は脊髄の位置を表しているため、これらの中心点を結ぶ曲線をベジェ近似などにより求め、これを脊柱の推定形状とする。この脊柱形状の隣接する断面間は、基準人体データについてしたのと同様に数個に均等分割される。
【0055】
そして、基準人体データと対象者のデータとを脊柱の位置で対応付け、上述のように基準人体データの拡大又は縮小および補間により得た推定断面形状を対応する脊柱位置にマッピングする。こうして、図14に示すように、対象者の推定体型形状が確定する。
【0056】
なお、このようにして得られた対象者の推定断面形状に大幅な誤差がある場合には手直しをする必要がある。そこで、上述したマーキングポイントについて採寸した周囲長を、対応する部分の推定断面形状から算出される周囲長と比較する。そして、両者の誤差が所定値より大きい場合には、上述のように算出された対象者の推定断面形状にさらに所定の比率をかけるなどして拡大縮小を行って手直しをする。
【0057】
また、体型の局所的な部分、たとえばバストなどの大小に伴い上記推定体型形状が実際とは歪む場合には、別途手作業等により訂正を行う。
【0058】
そして、このようにして得られた対象者の推定断面形状の隣接する断面の対応箇所をy方向につないでいくことでポリゴンが生成され、対象人体データをポリゴンモデルで得ることができる。ただし、このようにして得られた対象人体データは、多面体形状として得られるために角張った形状であり、その断面形状は図15(a)に示すように滑らかではない。このため、上述のようにして得られた多面体形状に後述する平滑化処理を施して、同図(b)に示すように滑らかな形状にする。これにより、対象人体データを実際の対象人体の形状により近づけることができる。
【0059】
次に、本実施の形態に係る3次元形状データ生成装置の構成について説明する。
図16は、本実施の形態の3次元形状データ生成装置の構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【0060】
3次元形状データ生成装置100は、基準データ記憶部1、測定データ記憶部2、脊柱位置算出部3、比率算出部4、断面形状算出部5、形状データ生成部6、平滑化処理部7および3次元形状データ記憶部8を含む。
【0061】
基準データ記憶部1は、上述のようにして作成した基準人体データを記憶する。すなわち、基準データ記憶部1は、上述した標準体型に近い被計測者の人体(基準人体)における複数箇所の断面形状データを、その基準人体の脊柱位置や鎖骨位置に対応づけて記憶する。より具体的には、基準データ記憶部1は、各断面形状データを、脊柱形状に実質的に直交する局所座標面上の脊柱位置を中心とする座標データ群として記憶する。また、基準データ記憶部1は、各垂直断面形状データを、鎖骨形状に実質的に直交する局所座標面上の鎖骨位置を中心とする座標データ群として記憶する。この基準人体データは、対象人体の3次元形状データを作成するための汎用データとして繰り返し使用される。
【0062】
測定データ記憶部2は、上述のようにして計測された対象人体における各マーキングポイントの位置座標、その各マーキングポイントを含む断面位置の幅、厚み、周囲長、肩部の高さを含む採寸データ等を記憶する。測定データ記憶部2は、対象人体ごとにこれらのデータを記憶する。
【0063】
脊柱位置算出部3は、測定データ記憶部2から対象人体における各マーキングポイントの位置情報を取得し、対象人体の脊柱位置を算出する。この脊柱位置は、基準人体に関して図3に基づき説明したものと同様の方法により算出される。また、脊柱位置算出部3は、各断面形状における脊柱の通過位置をとおる近似曲線を求めることによって脊柱形状を算出する。
【0064】
比率算出部4は、基準データ記憶部1から基準人体の断面形状データを取得するとともに、測定データ記憶部2から対象人体の採寸データを取得する。そして、比率算出部4は、対象人体の各採寸データにかかる断面形状の大きさと、各採寸データの断面位置に対応する基準人体データの断面形状の大きさとの比率をそれぞれ算出する。すなわち、バックネックポイントAより上の部分と前腋点Dより下の部分については、対象人体の各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率がそれぞれ算出される。バックネックポイントAから前腋点Dまでの肩の部分については、各採寸データにかかる前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さとの比率がそれぞれ算出される。
【0065】
断面形状算出部5は、基準データ記憶部1から基準人体の断面形状データを取得し、その断面形状データに比率算出部4が算出した比率をかけることにより、対象人体における対応する各断面形状、つまり断面形状データを構成する各座標値を算出する。より具体的には、図10および図12に関して説明したように、断面形状算出部5は、局所座標系のおける基準人体の断面形状データの各座標データに上記比率をかけた座標値の集合を、対象人体の各断面形状として算出する。なお、図12の垂直断面形状については、上述のように水平面データとして再計算される。
【0066】
断面形状算出部5は、さらにその脊柱形状に沿って隣接する各断面形状間の断面形状を補間演算し、3次元形状を表すのに必要数の断面形状データを追加的に算出する。なお、断面形状算出部5は、上記比率に基づいて算出した断面形状から得られる周囲長と、測定データ記憶部2に記憶された対応する断面位置の周囲長との差が所定値以上である場合には、両周囲長の差が所定値未満となるように上記比率に基づいて算出した断面形状を補正するようにしてもよい。この補正は、予め設定した補正用の比率をさらにかけるなどして行ってもよいし、あるいは、後述する平滑化処理を応用して、断面形状を膨らませたりへこませたりしてもよい。
【0067】
形状データ生成部6は、断面形状算出部5が算出した各断面形状を、脊柱位置算出部3が算出した対応する脊柱位置にそれぞれ配置するとともに、補間された断面形状を含めて隣接する各断面形状をつなぐことにより3次元形状データを生成する。なお、各断面形状の接続は、たとえば三角形パッチ法など種々の手法を用いることができる。具体的には、各断面を構成する座標点を結ぶ線分が最短となるように接続し、さらに隣接する線分の各端点により構成される四辺形について対角線が最短となるように接続することにより、三角形のポリゴンを構成する。これにより、多面体からなる3次元形状データが生成される。
【0068】
しかし、このようにして得られた3次元形状データは、対象人体の3次元形状を近似したものであるが、多面体であるために角張った形状であり、滑らかさがない。そこで、後述するように、平滑化処理部7が、この多面体を基準多面体としてその表面形状に平滑化処理を施す。形状データ生成部6にて生成された基準多面体の形状データは、平滑化処理部7を構成する基準多面体記憶部40に記憶される。
【0069】
判別点生成部12は、基準多面体記憶部40に記憶された基準多面体の形状データから、基準多面体の表面を与える関数f(x、y、z)=0を得る。この関数は、たとえば基準多面体を構成するポリゴンの各頂点の座標を代入することにより得られる。判別点生成部12は、この基準多面体の表面の近傍に判別点をランダムに生成する。
【0070】
判別点生成部12は、基準多面体の表面を与える関数f(x、y、z)を用いて、f(x、y、z)=0の近傍、すなわちf(x、y、z)=±εを満たす点(x、y、z)を数値解析の手法を用いて、ランダムに生成することで、多面体の表面近傍に判別点を生成する。ここで、εは十分に小さな値である。
【0071】
関数で定義されている曲面の表面上の点を検出するアルゴリズムについては、次の参考文献にさまざまな手法が紹介されており、本実施の形態において利用することができる。上述のように、曲面f(x、y、z)=0に対して、f(x、y、z)=±εを新たな曲面と考えれば、曲面の表面上の点を検出するアルゴリズムを用いて、表面近傍の点を生成することができる。
【0072】
参考文献:Jules Bloomenthal, "Polygonization of Implicit Surfaces", XEROX PARC, CSL-87-2, May 1987.
占有率算出部14は、判別点生成部12により生成された判別点を中心とする所定の半径の近傍球体を設定し、その近傍球体内部の点(以下、「近傍点」という)を生成する。
【0073】
占有率算出部14は、近傍球体内部を極座標(r、θ、ρ)で表現し、乱数を用いてr、θ、ρを生成することで、近傍球体内部に近傍点をランダムに生成する。後述のように、y軸方向に垂直な平面すなわちxz平面で基準多面体を切断し、その切断平面内で判別点を設ける場合は、判別点を中心とする近傍円を設定し、その近傍円内の点を極座標(r、ρ)で表現し、乱数を用いてr、ρを生成することで、近傍円内部に近傍点をランダムに生成する。
【0074】
ここで、近傍球体の半径は、基準多面体の表面の曲率に応じて調整される。表面曲率算出部16は、基準多面体の表面の曲率を算出し、球体半径調整部18に与える。球体半径調整部18は、曲率が大きいほど近傍球体の半径が小さくなるように調整する。占有率算出部14は、球体半径調整部18により調整された半径で近傍球体を設定する。
【0075】
多面体の頂点において曲率を定義するために、多面体の頂点Vにおけるガウス曲率を次の近似値Kにより近似する(参考文献:早野、松岡、植田、「特徴抽出と稜線操作によるポリゴンメッシュの簡単化」、Ricoh Technical Report No.24, November 1988)。近似ガウス曲率Kの絶対値が大きい頂点Vの形状は尖っている(あるいは凹んでいる)。
【0076】
K=a/S
a=2π−(Vに集まる面の隅の角度の総和)
S=(Vに集まる面の面積の総和)/3
次に、占有率算出部14は、近傍球体が基準多面体に含まれる割合、すなわち基準多面体内部と近傍球体の論理積部分が近傍球体全体に対して占める割合(以下、「占有率」という)を求める。
【0077】
占有率算出部14は、近傍球体内部でランダムに発生させた近傍点が基準多面体内部にあるかどうかを判定し、基準多面体内部にある近傍点の数iを求め、発生した近傍点の総数Nで割った値p=i/Nを求めることで、占有率を近似的に求める。占有率算出部14は、近似された占有率pを有効判別点判定部20に与える。
【0078】
有効判別点判定部20は、占有率pが所定の判定閾値t以上である判別点は、対象人体の表面上または内部にあると判定し、占有率pが所定の判定閾値tより小さい判別点は、対象人体の外部にあると判定する。判別点が対象人体の表面上または内部にある場合、その判別点は「有効である」といい、判別点が対象人体の外部にある場合、その判別点は「無効である」という。
【0079】
基準多面体の表面近傍に判別点を発生させ、判別点が対象人体の内部にあるかどうか(すなわち有効であるかどうか)を判定することで、基準多面体が対象人体に近づくように変形することができる。対象人体の外部にあると判定された部分(すなわち無効な判別点が占める部分)については基準多面体の表面から切り取り、対象人体の内部にあると判定された部分(すなわち有効な判別点が占める部分)については基準多面体の表面をふくらませる。基準多面体の頂点近傍でこの操作を行うと、基準多面体の角を丸めて平滑化することができる。これにより、基準多面体の表面形状を滑らかにして対象人体に近づけることができる。
【0080】
ここで、判定閾値tは通常は0.5であるが、基準多面体が平滑化によって必要以上にへこんだときは、判定閾値tを小さくし、基準多面体が平滑化によって必要以上にふくらみすぎたときは、判定閾値tを大きくする。このために、形状データ生成部6は、基準多面体の内部に含まれる「内包多面体」と、基準多面体を包含する「外包多面体」とをあらかじめ生成しておき、内包/外包多面体記憶部42に記憶する。
【0081】
内外判定部24は、有効判別点判定部20によって対象人体の内部にあると判定された判別点(「暫定有効判別点」という)について、暫定有効判別点が内包多面体の内部もしくは外包多面体の外部にあるかどうかを判定する。内外判定部24は、暫定有効判別点が内包多面体の内部もしくは外包多面体の外部にある場合は、判定閾値調整部26にその旨を通知する。
【0082】
判定閾値調整部26は、暫定有効判別点が内包多面体の内部にある場合は、判定閾値tを小さくし、暫定有効判別点が外包多面体の外部にある場合は、判定閾値tを大きくする。判定閾値調整部26は、調整後の判定閾値tを有効判別点判定部20に与える。
【0083】
有効判別点判定部20は、判定閾値調整部26により調整された判定閾値tのもとで判別点の有効/無効の判定をやり直す。判定閾値調整部26により調整された判定閾値tのもとで有効と判定された判別点が最終的に有効な判別点となる。以下、この最終的に有効と判定される判別点を単に「有効判別点」という。有効判別点判定部20は、有効判別点を有効判別点記憶部44に記憶する。
【0084】
このようにして内包/外包多面体を設けて有効判別点を求めることで、外包多面体と内包多面体で挟まれる空間領域内で基準多面体の表面形状を有効判別点を基準にふくらませたり、へこませたりして変形させ、対象人体に近づけることができる。
【0085】
ここで、基準多面体の表面近傍に1つの有効判別点があるとき、それよりも内側の有効判別点は、基準多面体を変形させる目的では不要であるから、有効判別点判定部20は、最も外側の有効判別点のみを求めて有効判別点記憶部44に記憶する。このために、判別点生成部12は、基準多面体の表面に対して、外側から徐々に内側に近づくように判別点を生成して、判別点列を生成する。そして、有効判別点判定部20が判別点列内の各判別点の有効/無効を判定し、無効判別点と有効判別点の境界を判定し、最も外側の有効判別点を求める。あるいは、別の方法として、バイナリサーチ(二分探索)の手法を用いて、基準多面体の表面近傍で最も外側にある有効判別点を探索してもよい。
【0086】
表面形状変形部22は、有効判別点をもとに基準多面体の表面形状を変形させ、変形後の基準多面体の形状データを基準多面体記憶部40に記憶する。表面形状変形部22は、基準多面体の頂点や面上の点などの特徴点を抽出し、特徴点を有効判別点の位置まで移動させることで、基準多面体の表面形状を変形させる。
【0087】
表面形状変形部22による変形後の基準多面体はディスプレイに表示され、ユーザは変形後の3次元形状を確認することができる。ユーザは必要であれば、変形後の基準多面体の表面形状の近傍に判別点を設定して、占有率を求め、有効判別点により表面形状を変形させて、対象人体に近づけることができる。このために、判別点生成部12、占有率算出部14、表面曲率算出部16、球体半径調整部18、有効判別点判定部20、内外判定部24、判定閾値調整部26、表面形状変形部22の各構成は、変形後の基準多面体を対象として上述の処理を施す。ここで、変形後の基準多面体は、平滑化処理により角の丸みが取れるなどによって、もはや厳密には多面体ではないが、便宜上、多面体と呼ぶことにする。これにより、基準多面体からスタートして、ユーザは変形結果を逐一確認しながら、段階的に平滑化処理を進めることができる。
【0088】
平滑データ生成部28は、有効判別点記憶部44から有効判別点の集合を取得し、隣接する有効判別点を接続していくことにより有効判別点を頂点とするポリゴンを生成し、ポリゴンモデルを生成する。このポリゴンモデルは、対象人体の表面を滑らかに近似した3次元モデルとなっている。平滑データ生成部28は、生成したポリゴンモデルの情報を3次元形状データ記憶部8に記憶する。
【0089】
図17は、本実施の形態の3次元形状データ生成装置による3次元形状データの生成手順の大まかな流れを示すフローチャートである。
【0090】
3次元形状データ生成装置100においては、まず、基準データ記憶部1から基準人体データ等が読み出されるとともに(S1)、測定データ記憶部2から各マーキングポイントの位置座標、その各マーキングポイントを含む断面位置の幅、厚み、周囲長および肩部の高さを含む採寸データ等が読み出される(S2)。
【0091】
そして、まずバックネックポイントAより上の部分と前腋点Dより下の部分について、脊柱位置に沿った対象人体の断面形状が演算される(S3)。
【0092】
ここでは、脊柱位置算出部3が、各マーキングポイントの位置情報に基づいて対象人体の脊柱位置を算出する。脊柱位置算出部3は、また、各断面形状における脊柱の通過位置をとおる近似曲線を求めることによって脊柱形状を算出する。続いて、比率算出部4が、対象人体の各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率をそれぞれ算出する。続いて、断面形状算出部5が、基準人体の断面形状データに上記比率をかけることにより、対象人体における対応する各断面形状を算出する。
【0093】
続いて、バックネックポイントAから前腋点Dまでの肩の部分について、鎖骨位置に沿った対象人体の断面形状が演算される(S4)。
【0094】
ここでは、比率算出部4が、対象人体の前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さとの比率をそれぞれ算出する。続いて、断面形状算出部5が、基準人体の断面形状データに上記比率をかけることにより、対象人体における対応する各垂直断面形状を算出する。断面形状算出部5は、この垂直断面形状を水平面データとして再計算する(S5)。
【0095】
そして、形状データ生成部6は、このとき算出された各断面形状を、脊柱位置にそれぞれ配置する(S6)。断面形状算出部5は、さらに脊柱形状に沿って隣接する各断面形状間の断面形状を補間する(S7)。
【0096】
そして、形状データ生成部が、補間された断面形状を含めて隣接する各断面形状を接続することにより基準多面体からなる3次元形状データを生成する(S8)。
【0097】
続いて、平滑化処理部7が、基準多面体の表面形状を平滑化する(S9)。この平滑化処理には、基準多面体の角を丸くする他、基準多面体の各面をふくらませたり、へこませることも含まれる。この平滑化処理により基準多面体が対象人体により一層近づく。
【0098】
図18は、図17で示した平滑化処理S9の詳細な手順を示すフローチャートである。
【0099】
判別点生成部12は、基準多面体の表面近傍に判別点kを生成する(S10)。占有率算出部14は、基準多面体の内部にあると判定される近傍点の数を計数するための変数iと、発生した近傍点の総数をカウントするための変数Nを0に初期化する(S12)。
【0100】
占有率算出部14は、判別点kを中心とする半径rの近傍球体内部に近傍点をランダムに発生させる(S14)。占有率算出部14は、発生した近傍点が基準多面体の内部にあるかどうかを判定し(S16)、近傍点が基準多面体の内部にある場合(S16のY)、カウンタiを1だけインクリメントし(S18)、近傍点が基準多面体の内部にない場合は(S16のN)、カウンタiをインクリメントしない。
【0101】
占有率算出部14は、近傍点の総数Nを1だけインクリメントし(S20)、占有率pをi/Nによって求める(S22)。占有率算出部14は、求めた占有率pの値が収束しているかどうかを判定する(S24)。このために、占有率算出部14は、近傍球体内部で近傍点をランダムに発生させながら求めた占有率pの値の履歴を保存しておき、占有率pの時間変化にもとづいて占有率pが収束しているかどうかを判定する。占有率の変動幅が所定の水準よりも小さくなった場合に占有率pは収束したと判定する。
【0102】
占有率pがまだ収束していないと判定された場合(S24のN)、ステップS14に戻り、近傍球体内部でさらに近傍点を発生させ、占有率pを更新する(S14〜S22)。
【0103】
占有率pが収束したと判定された場合(S24のY)、有効判別点判定部20は、占有率pが判定閾値t以上であるかどうかを調べる(S26)。
【0104】
有効判別点判定部20は、占有率pが判定閾値t以上である場合(S26のY)、判別点kは対象人体に含まれると判定し(S28)、その判別点kを有効判別点として有効判別点記憶部44に記憶する。
【0105】
有効判別点判定部20は、占有率pが判定閾値tより小さい場合(S26のN)、判別点kは対象人体に含まれないと判定し(S30)、その判別点kは有効判別点記憶部44に記憶しない。
【0106】
ユーザにより平滑化処理の終了が指示された場合(S32のY)、この手順は終了する。平滑化処理がまだ完了していない場合(S32のN)、ステップS10に戻り、基準多面体表面もしくは既に平滑化された多面体表面の近傍に新たに判別点を設定して、同じ処理を繰り返す。
【0107】
図19は、基準多面体の表面近傍に設けられる判別点と近傍球体を説明する図である。
【0108】
基準多面体の表面200(下側が基準多面体の内部で、上側が基準多面体の外部である)よりも外側に判別点220aが設けられたとする。判定閾値tは0.5であるとする。この判別点220aを中心とする半径rの近傍球体210aを考えると、基準多面体の内側に含まれる近傍球体210a(斜線で示した部分230a)の体積は全体積の半分より小さい。よって、占有率pは0.5より小さくなり、判定閾値tより小さいから、判別点220aは対象人体に含まれない、すなわち判別点220aは無効であると判定される。以下、無効と判定された判別点は白丸で図示する。
【0109】
基準多面体の表面200上に判別点220bが設けられた場合、この判別点220bを中心とする近傍球体210bのちょうど半分(斜線で示した部分230b)が基準多面体の内側に含まれる。よって、占有率pは0.5となり、判定閾値tに等しいから、判別点220bは対象人体に含まれる、すなわち判別点220bは有効であると判定される。以下、有効と判定された判別点は黒丸で図示する。
【0110】
基準多面体の表面200よりも内側に判別点220cが設けられた場合、この判別点220cを中心とする近傍球体210cの半分以上(斜線で示した部分230c)が基準多面体内部に含まれる。よって占有率pは0.5より大きくなり、判定閾値tより大きいから、判別点220cは対象人体に含まれる、すなわち判別点220bは有効であると判定される。
【0111】
図19の例では、基準多面体の平らな面の近傍に判別点を発生させたので、判定閾値tが0.5であれば、表面形状はふくらむこともへこむこともない。しかし、基準多面体の平面でない部分、たとえば、角やへこみの近傍に判別点を発生させると、表面形状がふくらんだり、へこんだりする。
【0112】
図20(a)〜(c)は、基準多面体の角の近傍に設けられる判別点と近傍球体を説明する図である。この例では、基準多面体の角(頂点)の近傍に判別点を発生させる。この例でも判定閾値tは0.5であるとする。
【0113】
図20(a)では、基準多面体の角の近傍で、基準多面体の表面200よりも外側に判別点220aが設けられている。この判別点220aを中心とする近傍球体210aを考えると、基準多面体内部に含まれる近傍球体210a(斜線で示した部分230a)の体積は全体積の半分より小さい。よって占有率pは0.5より小さいため、判別点220aは対象人体の外部にある、すなわち無効であると判定される。
【0114】
図20(b)では、基準多面体の角の近傍で、基準多面体の表面200よりも内側に判別点220bが設けられている。この判別点220bを中心とする近傍球体210bを考えると、基準多面体内部に含まれる近傍球体210b(斜線で示した部分230b)の体積はまだ全体積の半分より小さい。よって占有率pは0.5より小さく、判別点220bは対象人体の外部にある、すなわち無効であると判定される。
【0115】
図20(c)では、基準多面体の表面200に対して図20(b)と比べてさらに内側に判別点220cが設けられている。この場合、判別点220cを中心とする近傍球体210cの半分以上(斜線で示した部分230c)が基準多面体内部に含まれる。よって占有率pは0.5より大きく、判別点220bは対象人体の内部にある、すなわち有効であると判定される。
【0116】
図20(a)〜(c)の例では、対象人体の内部に含まれると判定される有効判別点が基準多面体の内側に存在するため、基準多面体の角は有効判別点の位置まで凹み、角が丸く削り取られることになる。
【0117】
図21は、基準多面体の角における有効判別点を説明する図である。ここでも判定閾値tは0.5であるとする。基準多面体の角付近では、有効判別点は角の内側に存在する。基準多面体の平らな面では有効判別点はその面上に存在する。したがって、基準多面体の平らな面は削られることがないが、角付近では、同図の点線に示すように有効判別点が設けられ、角が丸くなる。
【0118】
図22(a)、(b)は、基準多面体の角付近において近傍球体の半径を変えた場合の有効判別点の位置の変化を説明する図である。図22(a)は、近傍球体の半径を小さくした場合であり、有効判別点の位置が角に近づく。図22(b)は、近傍球体の半径を大きくした場合であり、有効判別点の位置が角から遠ざかる。このように、近傍球体の半径を変えることで角の削り取りを変えることができる。
【0119】
図23(a)、(b)は、基準多面体の角付近において占有率の判定閾値を変えた場合の有効判別点の位置の変化を説明する図である。図23(a)は、占有率pの判定閾値tを0.5より小さくした場合であり、基準多面体内部に含まれる近傍球体の体積は半分より小さくてよいため、有効判別点は、点線で示すように、基準多面体の表面200から外側に離れた位置に移動する。
【0120】
図23(b)は、占有率pの判定閾値tを0.5より大きくした場合であり、基準多面体内部に含まれる近傍球体の体積は半分より大きくなる必要があるため、有効判別点は、点線で示すように、基準多面体の表面200よりも内側に入った位置に移動する。
【0121】
なお、判定閾値tを途中で変化させると段差が生まれるため、原則として判定閾値tは一定にする。閾値を変える場合は、閾値移行領域を設け、判定閾値tを閾値移行領域において連続的に変化させることが好ましい。
【0122】
図24は、基準多面体の表面200の形状の複雑度に応じて、近傍球体の半径を変える様子を説明する図である。鋭く尖った角など複雑で細かな表面形状に対しては、符号210a、210bに示すように、近傍球体の半径を小さく設定する。尖った角に対して大きな半径の近傍球体を設定すると、角を削ることができないからである。複雑で細かく造形された表面形状に対しては、その形状の細かさに合わせて近傍球体の半径を十分に小さくする必要がある。近傍球体の半径が小さい場合、角の削られ方が少なくなり、元の多面体形状を良く保存することができるからである。
【0123】
一方、あまり細かく造形されていない表面形状に対しては、符号210cに示すように、近傍球体の半径を大きく設定する。大まかな形状に対しては、それに合わせて近傍球体の半径を大きくすることで、表面を大きく削ることができる。
【0124】
もとの形状をなるべく保存するという立場から、近傍球体の半径は小さめでスタートし、角の丸み具合を見ながら半径を徐々に大きくしながら、基準多面体に対して繰り返し平滑化処理を施すことが好ましい。ここで、角の丸み具合は曲率で評価することができる。
【0125】
以上、本実施の形態の3次元形状データ生成装置100によれば、対象人体について予め採寸された断面の大きさと、基準人体の断面形状データから得られる断面の大きさとの比率が求められる。そして、基準人体データを構成する断面形状データにその比率をかけることにより対象人体の各断面形状が算出され、さらに各断面形状が対応する脊柱位置に配置されることにより、対象人体の3次元形状データが得られる。このため、対象者の人体を詳細に計測することなく、比較的簡易に3次元形状データを生成することができる。また、採寸データなど対象者の人体の情報については少なく抑えることができるため、対象者への負担を軽くすることができ、またプライバシーの問題が発生するのを防止することができる。
【0126】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0127】
たとえば、上記実施の形態では、対象人体について算出された各断面形状を接続して基準多面体を形成し、この基準多面体の表面に対して平滑化処理を行った。変形例においては、各断面形状に対して平滑化処理を行い、平滑化された断面形状を接続することにより、対象人体の3次元形状データを生成するようにしてもよい。
【0128】
たとえば、図17のS3〜S7にて算出された対象人体の断面形状データを対応する局所座標系に展開し、その断面形状を構成する各座標点を接続して基準多角形を生成する。この基準多角形は、脊柱に沿ったY方向に垂直なXZ平面に表され、その内部が対象人体の内部を表すことになる。そして、この基準多角形を形成する各辺又は頂点の近傍に判別点を発生させ、上述のような平滑化処理を実行する。
【0129】
この場合、判別点を中心とする所定の半径の近傍円内に近傍点を乱数により発生させ、その近傍円内の近傍点が基準多角形の内部に含まれる割合を示す占有率が算出される。占有率が所定の判定閾値以上である場合に、判別点は対象人体の断面形状に含まれると判定され、占有率が判定閾値より小さい場合に、判別点は対象人体の断面形状に含まれないと判定される。この判定により対象人体の断面形状に含まれると判定された判別点を頂点とする形状により、平滑化された断面形状データが得られる。そして、この平滑化処理後の隣接する断面形状データの判別点を接続することにより、対象人体の3次元形状データを生成することができる。
【0130】
また、上記実施例では、基準人体および対象人体ともに直立時を例に3次元形状データの生成方法を説明したが、たとえば直立姿勢から椅子に座る、前屈みになる、腕を上げるなど、日常の様々な姿勢における人体の3次元形状を考慮することも有用である。これにより、たとえば服飾デザインにおけるゆとりの設計に役立てることができる。
【0131】
すなわち、姿勢の変化によって体型も変化するが、その体型の変化の程度は人体の部位によって異なる。たとえば、背中や胸部などは脂肪組織が薄く、また肋骨等に保護されていることもあり骨格の形状を比較的良く反映する。一方、腹部や大腿部などは脂肪組織が厚いため、骨格の形状を必ずしも反映せず、脂肪組織に加わる圧力に応じて変形する。たとえば、直立時と前屈み時では同一人体でも腹部の断面形状が変形する。このため、直立時に演算された断面形状を、前屈み時の脊柱に対して同じ角度で配置していくと、断面の形状が実際のものと大きくずれる可能性がある。
【0132】
図25は、演算された断面形状を、直立時と前屈み時とで脊柱に対して同角度で配置した場合の問題点を表す説明図である。図25(a)は直立時における脊柱と断面との関係を表し、図25(b)は前屈み時における脊柱と断面との関係を表している。同図においては、脊柱位置が#1〜#24で表されており、#19〜#24が腹部の位置に相当する。
【0133】
図示のように、前屈み時において直立時と同角度で断面形状を配置すると、場合によっては脊柱位置#19と脊柱位置#20のように隣接する断面が前方で交差するなど、実際にはない現象が生じるおそれがある。
【0134】
そこで、直立時における脊柱位置と断面の角度、その角度が姿勢の変化時に保持されるか否かを表す情報をデータベースに格納しておき、姿勢の変化時には、その角度を徐々に変化させるなどの方法をとってもよい。
【0135】
図26は、直立時における脊柱位置と断面の角度との関係を表す説明図である。同図の情報がデータベースに格納される。図27は、前屈み時における断面形状の配置の修正例を表す説明図である。図27(a)は、前屈み時における脊柱と断面との関係を表し、図27(b)は、そのA部拡大図を表している。
【0136】
図26に示すように、データベースには、対象人体の各断面、メモリにおける断面形状データの保管場所、脊柱の位置、直立時における脊柱と断面との角度、および人体の傾斜時に角度が保存されるか否か等の情報が対応づけられて格納されている。同図の例では、断面#20〜#23については、前屈み時等にその断面形状が保存されないことが示されている。
【0137】
図27に示すように、対象人体の前屈み時の3次元形状データを生成する際には、各断面形状を脊柱に対して図26に示される直立時の角度で配置するのではなく、その変形部位を徐々に変化させる。すなわち、腹部の位置に対応する断面#19〜#24について、その間の断面#20〜#23の角度を、#19の角度(図示の例では83°)から#24の角度(図示の例では92°)に徐々に変化させる。つまり、断面形状が保存される断面の間の角度をとるように配置する。このとき、図26において角度が保存される部分については、断面形状を脊柱に対して直立時と同様の角度で配置する。図示の例では、断面が腰椎の付近で脊柱にほぼ垂直になるようにしている。
【図面の簡単な説明】
【0138】
【図1】マーキングポイントの例を表す説明図である。
【図2】マーキングポイントの位置の測定方法等を表す説明図である。
【図3】マーキングポイントが存在する人体の断面と脊柱位置との関係を表す説明図である。
【図4】脊柱と鎖骨の決め方を表す説明図である。
【図5】3次元形状データの生成方法を表す説明図である。
【図6】3次元形状データの生成方法を表す説明図である。
【図7】3次元形状データの生成方法を表す説明図である。
【図8】3次元形状データの生成方法を表す説明図である。
【図9】対象者の人体に設定した座標系を表す説明図である。
【図10】対象人体の断面形状の算出方法を表す説明図である。
【図11】対象人体の断面形状の算出方法を表す説明図である。
【図12】対象人体の断面形状の算出方法を表す説明図である。
【図13】対象人体の断面形状の算出方法を表す説明図である。
【図14】算出された対象人体の断面形状データを脊柱に沿って配置した状態を表す説明図である。
【図15】算出された対象人体の断面形状データの平滑化処理前後の状態を表す説明図である。
【図16】本実施の形態の3次元形状データ生成装置の構成図である。
【図17】本実施の形態の3次元形状データ生成装置による3次元形状データの生成手順の大まかな流れを示すフローチャートである。
【図18】図17で示した平滑化処理の詳細な手順を示すフローチャートである。
【図19】基準多面体の表面近傍に設けられる判別点と近傍球体を説明する図である。
【図20】基準多面体の角の近傍に設けられる判別点と近傍球体を説明する図である。
【図21】基準多面体の角における有効判別点を説明する図である。
【図22】基準多面体の角付近において近傍球体の半径を変えた場合の有効判別点の位置の変化を説明する図である。
【図23】基準多面体の角付近において占有率の判定閾値を変えた場合の有効判別点の位置の変化を説明する図である。
【図24】基準多面体の表面の形状の複雑度に応じて、近傍球体の半径を変える様子を説明する図である。
【図25】演算された断面形状を、直立時と前屈み時とで脊柱に対して同角度で配置した場合の問題点を表す説明図である。
【図26】直立時における脊柱位置と断面の角度との関係を表す説明図である。
【図27】前屈み時における断面形状の配置の修正例を表す説明図である。
【符号の説明】
【0139】
1 基準データ記憶部、 2 測定データ記憶部、 3 脊柱位置算出部、 4 比率算出部、 5 断面形状算出部、 6 形状データ生成部、 7 平滑化処理部、 8 3次元形状データ記憶部、 12 判別点生成部、 14 占有率算出部、 16 表面曲率算出部、 18 球体半径調整部、 20 有効判別点判定部、 22 表面形状変形部、 24 内外判定部、 26 判定閾値調整部、 28 平滑データ生成部、 40 基準多面体記憶部、 42 内包/外包多面体記憶部、 44 有効判別点記憶部、 100 3次元形状データ生成装置、 101 脊柱、 102 鎖骨。
【技術分野】
【0001】
この発明は、人体の3次元形状を表す3次元形状データを生成するための3次元形状データ生成方法および3次元形状生成装置に関する。
【背景技術】
【0002】
従来より、服飾デザインの分野では、物理的な人台に布を直接着せ付けて型紙を作成していく立体裁断という方法が知られている。この立体裁断法により、比較的自由度の高い衣服設計が可能となっている。一方、立体裁断法では各人の体型に応じて多種類の人台を用意する必要があり、また実際に布地を用意する必要があることから、作業上の制約が多いという問題がある。
【0003】
これに対し、最近ではアパレルCADシステムが普及してきており、上述のような制約が徐々に解消されつつある。すなわち、身体の所定の採寸箇所を計測して得られたサイズデータからの体型データや人台の作成、既知の型紙の体型データや人台への着せ付け、型紙のサイズ変更や生地柄の貼り付けなどがコンピュータ上で可能になっている。
【0004】
たとえば、衣服を求める顧客が自分の体型に合った衣服のデザイン画を描き、これを基にその衣服の型紙パターンをCAD/CAM技術を応用して敏速・簡易に作成できる衣服の型紙パターンの自動作成システム等が提案されている(たとえば特許文献1参照)。
【特許文献1】特開2001−249957号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、一般に、衣服の作成のためのシステムには様々な体型の人に適合できることが望まれる。この観点から言えば、現状のアパレルCADシステムは、標準体型からの軽微なずれ、たとえば肩や背中の形状のずれなどには対応できる。しかし、介護の現場などで必要とするような様々な体型、たとえば背中や腰が曲がっているなどの標準体型と異なる特殊な体型(以下「異体型」という)の人に対して適用できるまでには至っていない。
【0006】
このため、現在では特に高齢者や障害者向けの衣料の制作において、異体型の人に対する特殊な人台を用意して立体裁断するという手法がとられたりしている。しかしながら、標準的な異体型というものが存在しないため、この手法による衣服の製作は汎用性に乏しいという問題がある。また、たとえば異体型の人の体型データを得るためにその体型を様々な角度から撮影したり細かく計測したりすることも考えられるが、コストが嵩み、またプライバシーの問題が発生する可能性もある。
【0007】
本発明はこうした課題に鑑みてなされたものであり、異体型の人体の3次元形状データであっても比較的簡易な手法で生成できる3次元形状データ生成装置および3次元形状データ生成方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の3次元形状データ生成装置は、対象人体の3次元形状データを生成する3次元形状データ生成装置において、基準人体における所定の特徴点を含む複数箇所の断面形状データを、その基準人体の脊柱位置に対応づけて記憶する基準データ記憶部と、対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ記憶する測定データ記憶部と、各特徴点の位置情報に基づき、対象人体の脊柱位置を算出する脊柱位置算出部と、各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出部と、基準人体の断面形状データと比率算出部が算出した比率とに基づいて、対象人体における各断面形状を算出する断面形状算出部と、断面形状算出部が算出した各断面形状を、脊柱位置算出部が算出した対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成部と、を備える。
【0009】
ここで、「対象人体」とは、当該3次元形状データを生成する対象者の人体を意味する。一方、「基準人体」とは、対象人体の3次元形状データを生成する際に用いられる基準となる人体を意味し、いわゆる標準体型の人体が該当し得る。基準人体の3次元形状データは、個々の対象人体の3次元形状データの生成に共通に用いられる。この形態では、「対象人体」として、たとえば背中や腰が曲がっているなどの標準体型と異なる特殊な体型(異体型)の人体を対象としており、予め取得した基準人体の3次元形状データを変形することにより対象人体の3次元形状データを生成する。
【0010】
また、「所定の特徴点」とは、人体の骨格の形状を特定するための計測対象となる人体の表面位置を意味する。後述のように、この特徴点には人体の断面における脊柱の通過位置を特定できるものが含まれ得る。したがって、この特徴点の位置が特定できれば脊柱の通過位置を算出でき、その脊柱の通過位置を人体の各断面で接続すれば、脊柱の大まかな形状を推定することも可能になる。言い換えれば、特徴点とこれを含む断面が特定できれば、その断面と脊柱位置とを対応させ得る。基準データ記憶部には、このように推定される脊柱形状の脊柱位置に対応づけて断面形状データが記憶されている。
【0011】
さらに、対象人体における各特徴点の位置情報および採寸データが測定データ記憶部に記憶されているが、個々の対象人体に関するデータは、基準人体に関して記憶されているデータよりも少ない。すなわち、上述のように対象者が異体型の人体を有する場合には、標準体型の人に対してコンプレックスを持っていることもあり得るため、その体型を詳細に計測すると不快感を与えたりプライバシーの問題が発生する可能性がある。そこで、対象人体については、決められた特徴点の位置と所定の採寸データとを含む限られた情報が取得される。これら特徴点の位置や採寸データは、所定の計測機器やメジャーなどを用いてごく自然に計測され得る。
【0012】
この態様によれば、対象人体について予め採寸された幅方向の大きさおよび厚み方向の大きさと、これに対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率が求められる。そして、基準人体の断面形状データとその比率を用いることにより対象人体の各断面形状が算出される。さらに、各断面形状を対応する脊柱位置に配置してそれぞれ接続することにより、対象人体の3次元形状データが得られる。
【0013】
すなわち、基準人体と対象人体との比率を用いて基準データを拡大又は縮小することにより、対象人体の3次元形状データが得られる。このため、対象者の人体を詳細に計測することなく、比較的簡易に3次元形状データを生成することができる。また、採寸データなど対象者の人体の情報については少なく抑えることができるため、対象者への負担を軽くすることができ、またプライバシーの問題が発生するのを防止することができる。
【0014】
このような3次元形状データ生成装置は、形状データ生成部により生成された3次元形状データから得られた基準多面体を記憶する基準多面体記憶部と、基準多面体の表面近傍に判別点を生成する判別点生成部と、判別点を中心とする所定の半径の近傍球体内に近傍点を乱数により発生させ、近傍球体内の近傍点が基準多面体の内部に含まれる割合を示す占有率を算出する占有率算出部と、占有率が所定の判定閾値以上である場合に、判別点は対象人体の3次元形状に含まれると判定し、占有率が判定閾値より小さい場合に、判別点は対象人体の3次元形状に含まれないと判定する有効判別点判定部と、判定により対象人体の3次元形状に含まれると判定された判別点を頂点とするポリゴンにより、対象人体の3次元形状を表した3次元形状データを生成する平滑データ生成部と、をさらに含んでもよい。
【0015】
この態様によれば、対象人体の3次元形状データが平滑化されるため、より実際の人体の形状に近づけることができる。なお、このように平滑化した3次元形状データ、又はその平滑化の程度を大きくして得られた3次元形状データを、衣服の製作に用いる人台の3次元形状データとすることも可能である。
【0016】
本発明の別の態様は、3次元形状データ生成方法である。この方法は、対象人体の3次元形状データを生成する3次元形状データ生成方法において、基準人体における所定の特徴点を含む複数の断面形状データを、その基準人体の脊柱位置に対応づけて取得する基準データ取得ステップと、対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ取得する測定データ取得ステップと、各特徴点の位置情報に基づき、対象人体の脊柱位置を算出する脊柱位置算出ステップと、各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出ステップと、基準人体の断面形状データと比率算出ステップにて算出された比率とに基づいて、対象人体における各断面形状を算出する断面形状算出ステップと、断面形状算出ステップにて算出された各断面形状を、脊柱位置算出ステップにて算出された対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成ステップと、を備える。
【0017】
ここで、「対象人体」、「基準人体」および「所定の特徴点」などの用語の意義等については、上述のとおりである。
【0018】
この態様においても、基準人体と対象人体との比率を用いて基準データを拡大又は縮小することにより、対象人体の3次元形状データを比較的簡易に生成することができる。また、対象者への負担を軽くすることができるとともに、プライバシーの問題が発生するのを防止することもできる。
【0019】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0020】
本発明によれば、異体型の人体の3次元形状データであっても比較的簡易な手法で生成できる。
【発明を実施するための最良の形態】
【0021】
以下、図面を参照しつつ本発明を実施するための最良の形態について詳細に説明する。
【0022】
まず、本実施の形態に係る人体の3次元形状データの生成手順について説明する。
本実施の形態の3次元形状データの生成方法は、主として背中や腰が曲がっているなどの標準体型と異なる特殊な体型(異体型)を有する人を対象者として適用される。この対象者の3次元形状データ(以下「対象人体データ」という)は、標準体型に近い人体の3次元形状データ(以下「基準人体データ」という)を予め作成しておき、その基準人体データを変形することにより得られる。このため、以下においては、基準人体データの作成および対象人体データの作成の各段階を順次説明する。
【0023】
[基準人体データの作成]
基準人体データの作成は、以下のようにして行われる。なお、この基準人体データは、対象人体データの作成毎に作成されるものではなく、異体型の対象者が変わっても繰り返し使用され得る汎用的なデータとして位置づけられる。
【0024】
まず、標準体型の人体の3次元計測データを取得する。
ここでは、予め選ばれた標準体型の近い被計測者の体型を、光測定またはレーザー測定による体型測定器等を利用して計測する。たとえば、光学式三角測量法により人体の表面の位置座標を高さ方向に5mm間隔で測定する装置が市販されているので、これを用いることができる。この装置には、被計測者を囲むように複数のセンサヘッドが配置されている。各センサヘッドには、光源であるレーザダイオードと受光センサとしてのCCD(Charge Coupled Devices)とが組み込まれている。被計測者は、その体型が正しく測定されるように、たとえば極薄手の衣服を着用して測定に備える。
【0025】
レーザダイオードによる光は、被計測者の身体表面で拡散反射され、センサヘッド内のそれぞれのCCDに入力され、位置に対応した信号として取り出される。これらのセンサヘッドが被計測者の上方から下方に等間隔で移動し、各位置で輪切り状に人体表面の点の位置を測定する。1つの輪切り状のリング内では周方向に等角度で測定点が設定され、測定された人体表面の位置座標が順次記録される。これにより、標準体型の人体の3次元計測データが得られる。
【0026】
次に、骨格の主要な特徴点であるマーキングポイントの位置座標を計測する。
図1は、マーキングポイントの例を表す説明図である。同図(a)は人体の正面図を表し、同図(b)は人体の背面図を表している。図2は、マーキングポイントの位置の測定方法等を表す説明図である。
【0027】
主要なマーキングポイントについては、たとえば次の参考文献を参照することができる。
参考文献1:「文化ファッション大系 服飾造形講座(1) 服飾造形の基礎 文化服装学院編」、文化服装学院教科書出版部
また、骨格系のモデルについては、たとえば次の参考文献を参照することができる。
参考文献2:「福祉事務管理シリーズ/5 医学一般・精神保健」、株式会社建帛社
本実施の形態では、脊柱の位置を推定するという目的から、図1に示すように、バックネックポイントA、サイドネックポイントB、ショルダーポイントC、前腋点D、肩甲骨の最下部E、肋骨の最下部F、肋骨の最下部と同一高さにある背中の中心のくぼみの位置(以下「背中くぼみ位置」という)G、骨盤の横幅方向に突起する部分の位置(以下「骨盤端部位置」という)Hの座標を、マーキングポイントとして測定する。これらの計測点は、骨格の形状を示す特徴点であると同時に触手により比較的容易に位置が確定できるポイントとして選定されている。
【0028】
これらのマーキングポイントの位置は、たとえば市販のマルチン計測器などを用いて測定することができる。具体的には、図2に示す人体のかかとの後方に計測器を設置して測定する。このとき、かかとの後方で計測器の支柱が床面に交差する点を空間座標系(「大域座標系」ともいう)の原点と考える。この原点を中心に横幅方向にx軸、高さ方向にy軸、奥行き方向にz軸を設定する。この大域座標系は測定の間中、常に固定して変更はしない。このとき、バックネックポイントAから肋骨の下部の高さまではおよそ胸椎に相当する。また、肋骨の下部から骨盤にかけては腰椎に相当する。なお、このマルチン式計測器による具体的な計測方法については人体計測を行う分野において周知であるため、その詳細については説明を省略する。
【0029】
次に、簡易骨格モデルを形成する。
この簡易骨格モデルは、脊柱と鎖骨からなるモデルである。脊柱は猫背など背中の形状を特徴づけ、鎖骨はなで肩など肩の形状を特徴づける。ここでは、上述した体表面上のマーキングポイントの位置座標から脊柱の形状と鎖骨の形状を推定して決定する。
【0030】
図3は、マーキングポイントが存在する人体の断面と脊柱位置との関係を表す説明図である。なお、図中の点線は脊柱の断面を表している。
【0031】
すなわち、マーキングポイントが存在する人体の断面は、同図に示されるようになっている。この人体の断面形状については、たとえば上記参考文献1を参照することができる。同図に示すように、たとえばバックネックポイントAに隣接して脊柱が存在する。また、肩甲骨の最下部Eに隣接して脊柱が存在する。なお、これらバックネックポイントA、肩甲骨の最下部Eのそれぞれから脊柱までの距離は経験的に求めることができる。また、2つの肋骨の最下部Fと背中くぼみ位置Gは三角形をなし、そのほぼ重心位置に脊柱が存在する。さらに、2つの骨盤端部位置Hをつなぐ線分の中央に脊柱が存在する。このようにして人体の断面における脊柱位置が分かることにより、人体における脊柱の通過点が複数分かる。
【0032】
図4は、脊柱と鎖骨の決め方を表す説明図である。同図(a)は人体の正面図に基づく説明図であり、同図(b)は人体の側面図に基づく説明図である。
上述のようにして脊柱の通過点が複数分かると、同図に示されるように、これらの通過点を通る曲線をベジェ曲線などの数学的方法により決定して脊柱101の全体形状とする。また、鎖骨102については、脊柱101とショルダーポイントCとを結ぶ水平な線分で擬似する。
【0033】
次に、上述した人体の3次元計測データと簡易骨格モデルとを用いて標準体型の3次元形状データ、つまり基準人体データを生成する。
図5〜図8は、3次元形状データの生成方法を表す説明図である。図5(a)は人体の正面図に基づく説明図であり、同図(b)はその一点鎖線で囲まれた部分近傍の部分拡大図を表している。図6は、人体の側面図に基づく説明図である。図7は、鎖骨近傍の断面図に基づく説明図である。図8は、人体の鎖骨近傍およびその断面形状データを表す説明図である。
【0034】
図5(a)に示すように、脊柱に対してバックネックポイントAより上の部分および前腋点Dより下の部分については、脊柱にほぼ垂直な断面つまりy軸に垂直な断面を考える。通常、この断面の形状は、上記3次元測定器で得られる水平面のデータ(以下、「水平面データ」ともいう)から得られる。そして、各マーキングポイントを含む隣接する2つの断面間の脊柱を数個に均等分割する。図示の例では、前腋点Dと骨盤端部位置Hとの間に均等分割された脊柱位置K1、K2、K3が示されている。これは、脊柱を個々の骨の要素に分けた第1、第2腰椎のようなものに相当する。
【0035】
続いて、これらの均等分割された脊柱位置の近傍に位置する3次元測定器の水平面データを見つける。図5(b)の例では、脊柱位置K3の周辺に上述した5mm間隔の計測位置が対応づけて示されている。ここでは、脊柱位置K3に隣接する計測位置L1、L2が抽出できるが、計測位置L1のほうが計測位置L2よりも脊柱位置K3により近接しているため、計測位置L1の水平面データが採用される。なお、このように脊柱位置K3の断面形状データをこれに最も近接した計測位置L1の水平面データとするのではなく、たとえば計測位置L1の水平面データと計測位置L2の水平面データとを、脊柱位置K3からの距離の比率に基づき補間演算して脊柱位置K3の断面形状データとしてもよい。
【0036】
このようにして得られた水平面データの集合が、図6に示すように輪切り状のデータの集合となり、標準体型のバックネックポイントAより上の部分と前腋点Dより下の部分の3次元形状を形成することになる。
【0037】
一方、脊柱101に対して、バックネックポイントAと前腋点Dとの間の部分については、図7に示されるように、鎖骨102にほぼ垂直な断面つまりx軸に垂直な断面を考える。なお、鎖骨102の方向に対してこのように垂直断面を考えるのは、肩部の形状および動きに個人差があることを考慮したものである。通常、この部分は三次元測定器では水平面のデータが得られている。これらの水平面のデータをもとに、垂直面のデータを合成する必要がある。同図は肩の部分を表している。図中、曲線は水平面データを表している。曲線中の白丸は、三次元測定器による実際の測定点を示す。また、脊柱101からショルダーポイントCに伸びる線分が鎖骨102に相当する。この線分中の点B1は、鎖骨102のサイドネックポイントBと同一のxz座標値を持つ点である。ここでは、脊柱101からショルダーポイントCまでのx座標値を等分割する。等分割された直線と肩の曲線との交点Mi、Mi+1・・・は、肩の部分を鎖骨102と垂直な断面で表現したときの点群となる。この交点Miの座標値は、同図に示すように隣接する実際の測定点XiとXi+1の座標値の補間により、求めることができる。具体的には、測定点XiとXi+1との間におけるMiのx方向の内分比率を求め、その内分比率をz方向に適用すれば、交点Miのz座標を算出することができる。この交点Mi、Mi+1・・・の集合がショルダーポイントCを含む断面形状データを構成する。なお、図中の破線は、ショルダーポイントCよりやや上方の断面を示している。
【0038】
そして、このようにしてバックネックポイントAと前腋点Dとの間の複数の水平断面について交点Mi、Mi+1・・・からなる断面形状データを得た後、その各座標点を図中点線にて示す鎖骨102にほぼ垂直な断面つまりx軸に垂直な断面に沿って接続していく。すると、図8に点線にて示すように、鎖骨102に沿った複数の垂直面データが得られる。
以上のようにして、基準人体データが得られる。
【0039】
[対象人体データの作成]
対象人体データの作成は、上述のようにして得られた基準人体データを用いることにより、以下のようにして行われる。この対象人体データは、その対象者が変わる毎に作成される。図9は、対象者の人体(以下、「対象人体」ともいう)に設定した座標系を表す説明図である。
【0040】
まず、基準人体データの作成の場合と同様に大域座標系を設定し、対象者の骨格の主要なマーキングポイントの位置座標を計測する。マーキングポイントとしては、基準人体データの作成で設定した箇所と同一のマーキングポイントを採用する。これらのマーキングポイントの位置座標は、上述したマルチン計測器等により計測することができる。
【0041】
具体的には、バックネックポイントAより上の首の部分、および前腋点Dより下の胴体の部分については、マーキングポイントを含む体の断面を想定して、人体の横幅、厚み(奥行き)および周囲長の採寸を行う。これらの採寸は、メジャーなどを用いて行うことができる。
【0042】
続いて、各断面ごとに脊柱の中心(脊髄)の位置を確定する。これは、図3に示した基準人体データの作成に用いた方法に基づく。
【0043】
図10は、対象人体の断面形状の算出方法を表す説明図である。同図(a)は、基準人体データのある位置の断面形状を表し、同図(b)は、対象人体の対応する位置の仮想的な断面形状を表している。
【0044】
ここでは、図10に示すように、断面形状における脊柱位置Oを原点とし、横幅方向をX軸、奥行き方向をZ軸とする局所的な座標面を考える。なお、このように人体の各断面において幅方向にX軸、脊柱の方向にY軸、脊柱と垂直な厚み方向にZ軸をとった座標系を「局所座標系」という。上述した基準人体データについては、その水平面がほぼこの局所座標系の座標面に一致するため、三次元測定器による測定点との対応関係により、断面形状データを構成する各座標値が得られることになる。したがって、同図(a)の断面形状データは実線で示されているが、実際には座標点の集合となっている。
【0045】
この局所座標系において、人体の断面のX軸との交点の値は横幅を規定する。ここでは、ある断面における対象者の横幅とこれに対応する基準人体データの横幅との比率を求める。具体的には図示のように、脊柱の中心位置Oに対して幅方向右側の寸法について、基準人体データの寸法をXs1、対象者の寸法をXt1とする。また、脊柱の中心位置Oに対して幅方向左側の寸法について、基準人体データの寸法をXs2、対象者の寸法をXt2とする。このとき、幅方向の大きさの比率は、rx1=Xt1/Xs1、rx2=Xt2/Xs2となる。ただし、ここでは便宜上Xt1=Xt2と仮定する。これらXt1、Xt2は、採寸により得られた対象人体の幅方向の寸法Xt0により算出できる。
【0046】
同様に、各断面における対象者の厚みとこれに対応する基準人体データの厚みとの比率についても求める。図示のように、脊柱の中心位置Oに対して奥行き方向前側の寸法について、基準人体データの寸法をZs1、対象者の寸法をZt1とする。脊柱の中心位置Oに対して奥行き方向後側の寸法について、基準人体データの寸法をZs2、対象者の寸法をZt2とする。このとき、厚み方向の大きさの比率は、rz1=Zt1/Zs1、rz2=Zt2/Zs2となる。ただし、経験上、人体の背部中央から脊柱位置までの距離は個人差が小さいため、Zt2≒Zs2であると考えることもでき、また、その大きさつまり背部中央から脊柱位置までの距離も経験的に設定することが可能である。つまり、同図(b)に示すように、採寸により得られた対象人体の厚み方向の寸法をZt0とすると、厚み方向前側の寸法は、Zt1=Zt0−Zs2として算出することができる。
【0047】
そして、上述した基準人体データの断面形状を上記比率により拡大又は縮小することにより、対象人体データの断面形状を得ることができる。つまり、基準人体データの断面形状データを構成する各座標値に上記比率をかけて得られる座標値が対象人体データの断面形状データを構成する各座標値となる。このような比率計算を各断面について行うことにより、対象人体データの断面形状を確定することができる。
【0048】
一方、バックネックポイントAから前腋点Dまでの肩の部分については、鎖骨にほぼ垂直に、すなわち人体の奥行き方向に断面を想定してその断面形状を演算する。図11〜図13は、対象人体の断面形状の算出方法を表す説明図である。
【0049】
ここでは、基準人体データに関して図7および図8に基づいて説明したのと同様に、対象人体の鎖骨102に沿って脊柱位置OからショルダーポイントCまでを等分割した垂直断面を想定する。そして、鎖骨102に沿った方向の各位置において前腋点Dの高さでの人体の厚みtと前腋点Dから肩表面までの高さhを測定する。また、垂直断面と鎖骨102との交点の座標、つまり鎖骨位置を算出しておく。この鎖骨位置は、脊柱位置OとショルダーポイントCとを結ぶ直線の方程式と、垂直断面の方程式(x座標)とを連立させることにより算出できる。
【0050】
続いて、図12に示すように、各垂直断面の厚みt及び高さhについて基準人体データのそれとの比率を求める。この比率は、垂直断面と鎖骨102との交点を原点としたyz平面にて計算する。そして、上述した基準人体データの垂直断面形状を上記比率により拡大又は縮小することにより、対象人体データの垂直断面形状を得ることができる。つまり、基準人体データの断面形状データを構成する各座標値に上記比率をかけて得られる座標値が対象人体データの断面形状データを構成する各座標値となる。このような比率計算を各断面について行うことにより、対象人体データの垂直断面形状を確定することができる。そして、図13に示すように、このように算出された垂直断面形状を水平面に展開することにより、バックネックポイントAから前腋点Dまでの肩の部分についての水平面データが得られる。すなわち、この水平面データは、その垂直断面と水平面との交点の座標を計算(補間演算等)することにより得られる。
【0051】
以上のようにして得られた断面形状データを脊柱に沿って配置することにより、対象人体の大まかな3次元形状データが得られる。
【0052】
図14は、算出された対象人体の断面形状データを脊柱に沿って配置した状態を表す説明図である。さらに、図15は、算出された対象人体の断面形状データの平滑化処理前後の状態を表す説明図である。
【0053】
上述のようにして確定された隣接する断面間において均等分割される断面形状については、その隣接する各断面形状の幅方向又は厚み方向の比率を算出し、その比率が脊柱の高さ方向に比例的に変化するように補間する。なお、補間の方法としては、単純な曲線近似や連続する比率をベジェ曲線などで結んで当該箇所の比率とすることもできる。そして、基準人体データについて得た水平面データに係る断面形状を補間した比率により拡大・縮小することにより、隣接する断面間の断面形状とする。
【0054】
一方、マーキングポイントに対応する局所座標面の中心は脊髄の位置を表しているため、これらの中心点を結ぶ曲線をベジェ近似などにより求め、これを脊柱の推定形状とする。この脊柱形状の隣接する断面間は、基準人体データについてしたのと同様に数個に均等分割される。
【0055】
そして、基準人体データと対象者のデータとを脊柱の位置で対応付け、上述のように基準人体データの拡大又は縮小および補間により得た推定断面形状を対応する脊柱位置にマッピングする。こうして、図14に示すように、対象者の推定体型形状が確定する。
【0056】
なお、このようにして得られた対象者の推定断面形状に大幅な誤差がある場合には手直しをする必要がある。そこで、上述したマーキングポイントについて採寸した周囲長を、対応する部分の推定断面形状から算出される周囲長と比較する。そして、両者の誤差が所定値より大きい場合には、上述のように算出された対象者の推定断面形状にさらに所定の比率をかけるなどして拡大縮小を行って手直しをする。
【0057】
また、体型の局所的な部分、たとえばバストなどの大小に伴い上記推定体型形状が実際とは歪む場合には、別途手作業等により訂正を行う。
【0058】
そして、このようにして得られた対象者の推定断面形状の隣接する断面の対応箇所をy方向につないでいくことでポリゴンが生成され、対象人体データをポリゴンモデルで得ることができる。ただし、このようにして得られた対象人体データは、多面体形状として得られるために角張った形状であり、その断面形状は図15(a)に示すように滑らかではない。このため、上述のようにして得られた多面体形状に後述する平滑化処理を施して、同図(b)に示すように滑らかな形状にする。これにより、対象人体データを実際の対象人体の形状により近づけることができる。
【0059】
次に、本実施の形態に係る3次元形状データ生成装置の構成について説明する。
図16は、本実施の形態の3次元形状データ生成装置の構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【0060】
3次元形状データ生成装置100は、基準データ記憶部1、測定データ記憶部2、脊柱位置算出部3、比率算出部4、断面形状算出部5、形状データ生成部6、平滑化処理部7および3次元形状データ記憶部8を含む。
【0061】
基準データ記憶部1は、上述のようにして作成した基準人体データを記憶する。すなわち、基準データ記憶部1は、上述した標準体型に近い被計測者の人体(基準人体)における複数箇所の断面形状データを、その基準人体の脊柱位置や鎖骨位置に対応づけて記憶する。より具体的には、基準データ記憶部1は、各断面形状データを、脊柱形状に実質的に直交する局所座標面上の脊柱位置を中心とする座標データ群として記憶する。また、基準データ記憶部1は、各垂直断面形状データを、鎖骨形状に実質的に直交する局所座標面上の鎖骨位置を中心とする座標データ群として記憶する。この基準人体データは、対象人体の3次元形状データを作成するための汎用データとして繰り返し使用される。
【0062】
測定データ記憶部2は、上述のようにして計測された対象人体における各マーキングポイントの位置座標、その各マーキングポイントを含む断面位置の幅、厚み、周囲長、肩部の高さを含む採寸データ等を記憶する。測定データ記憶部2は、対象人体ごとにこれらのデータを記憶する。
【0063】
脊柱位置算出部3は、測定データ記憶部2から対象人体における各マーキングポイントの位置情報を取得し、対象人体の脊柱位置を算出する。この脊柱位置は、基準人体に関して図3に基づき説明したものと同様の方法により算出される。また、脊柱位置算出部3は、各断面形状における脊柱の通過位置をとおる近似曲線を求めることによって脊柱形状を算出する。
【0064】
比率算出部4は、基準データ記憶部1から基準人体の断面形状データを取得するとともに、測定データ記憶部2から対象人体の採寸データを取得する。そして、比率算出部4は、対象人体の各採寸データにかかる断面形状の大きさと、各採寸データの断面位置に対応する基準人体データの断面形状の大きさとの比率をそれぞれ算出する。すなわち、バックネックポイントAより上の部分と前腋点Dより下の部分については、対象人体の各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率がそれぞれ算出される。バックネックポイントAから前腋点Dまでの肩の部分については、各採寸データにかかる前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さとの比率がそれぞれ算出される。
【0065】
断面形状算出部5は、基準データ記憶部1から基準人体の断面形状データを取得し、その断面形状データに比率算出部4が算出した比率をかけることにより、対象人体における対応する各断面形状、つまり断面形状データを構成する各座標値を算出する。より具体的には、図10および図12に関して説明したように、断面形状算出部5は、局所座標系のおける基準人体の断面形状データの各座標データに上記比率をかけた座標値の集合を、対象人体の各断面形状として算出する。なお、図12の垂直断面形状については、上述のように水平面データとして再計算される。
【0066】
断面形状算出部5は、さらにその脊柱形状に沿って隣接する各断面形状間の断面形状を補間演算し、3次元形状を表すのに必要数の断面形状データを追加的に算出する。なお、断面形状算出部5は、上記比率に基づいて算出した断面形状から得られる周囲長と、測定データ記憶部2に記憶された対応する断面位置の周囲長との差が所定値以上である場合には、両周囲長の差が所定値未満となるように上記比率に基づいて算出した断面形状を補正するようにしてもよい。この補正は、予め設定した補正用の比率をさらにかけるなどして行ってもよいし、あるいは、後述する平滑化処理を応用して、断面形状を膨らませたりへこませたりしてもよい。
【0067】
形状データ生成部6は、断面形状算出部5が算出した各断面形状を、脊柱位置算出部3が算出した対応する脊柱位置にそれぞれ配置するとともに、補間された断面形状を含めて隣接する各断面形状をつなぐことにより3次元形状データを生成する。なお、各断面形状の接続は、たとえば三角形パッチ法など種々の手法を用いることができる。具体的には、各断面を構成する座標点を結ぶ線分が最短となるように接続し、さらに隣接する線分の各端点により構成される四辺形について対角線が最短となるように接続することにより、三角形のポリゴンを構成する。これにより、多面体からなる3次元形状データが生成される。
【0068】
しかし、このようにして得られた3次元形状データは、対象人体の3次元形状を近似したものであるが、多面体であるために角張った形状であり、滑らかさがない。そこで、後述するように、平滑化処理部7が、この多面体を基準多面体としてその表面形状に平滑化処理を施す。形状データ生成部6にて生成された基準多面体の形状データは、平滑化処理部7を構成する基準多面体記憶部40に記憶される。
【0069】
判別点生成部12は、基準多面体記憶部40に記憶された基準多面体の形状データから、基準多面体の表面を与える関数f(x、y、z)=0を得る。この関数は、たとえば基準多面体を構成するポリゴンの各頂点の座標を代入することにより得られる。判別点生成部12は、この基準多面体の表面の近傍に判別点をランダムに生成する。
【0070】
判別点生成部12は、基準多面体の表面を与える関数f(x、y、z)を用いて、f(x、y、z)=0の近傍、すなわちf(x、y、z)=±εを満たす点(x、y、z)を数値解析の手法を用いて、ランダムに生成することで、多面体の表面近傍に判別点を生成する。ここで、εは十分に小さな値である。
【0071】
関数で定義されている曲面の表面上の点を検出するアルゴリズムについては、次の参考文献にさまざまな手法が紹介されており、本実施の形態において利用することができる。上述のように、曲面f(x、y、z)=0に対して、f(x、y、z)=±εを新たな曲面と考えれば、曲面の表面上の点を検出するアルゴリズムを用いて、表面近傍の点を生成することができる。
【0072】
参考文献:Jules Bloomenthal, "Polygonization of Implicit Surfaces", XEROX PARC, CSL-87-2, May 1987.
占有率算出部14は、判別点生成部12により生成された判別点を中心とする所定の半径の近傍球体を設定し、その近傍球体内部の点(以下、「近傍点」という)を生成する。
【0073】
占有率算出部14は、近傍球体内部を極座標(r、θ、ρ)で表現し、乱数を用いてr、θ、ρを生成することで、近傍球体内部に近傍点をランダムに生成する。後述のように、y軸方向に垂直な平面すなわちxz平面で基準多面体を切断し、その切断平面内で判別点を設ける場合は、判別点を中心とする近傍円を設定し、その近傍円内の点を極座標(r、ρ)で表現し、乱数を用いてr、ρを生成することで、近傍円内部に近傍点をランダムに生成する。
【0074】
ここで、近傍球体の半径は、基準多面体の表面の曲率に応じて調整される。表面曲率算出部16は、基準多面体の表面の曲率を算出し、球体半径調整部18に与える。球体半径調整部18は、曲率が大きいほど近傍球体の半径が小さくなるように調整する。占有率算出部14は、球体半径調整部18により調整された半径で近傍球体を設定する。
【0075】
多面体の頂点において曲率を定義するために、多面体の頂点Vにおけるガウス曲率を次の近似値Kにより近似する(参考文献:早野、松岡、植田、「特徴抽出と稜線操作によるポリゴンメッシュの簡単化」、Ricoh Technical Report No.24, November 1988)。近似ガウス曲率Kの絶対値が大きい頂点Vの形状は尖っている(あるいは凹んでいる)。
【0076】
K=a/S
a=2π−(Vに集まる面の隅の角度の総和)
S=(Vに集まる面の面積の総和)/3
次に、占有率算出部14は、近傍球体が基準多面体に含まれる割合、すなわち基準多面体内部と近傍球体の論理積部分が近傍球体全体に対して占める割合(以下、「占有率」という)を求める。
【0077】
占有率算出部14は、近傍球体内部でランダムに発生させた近傍点が基準多面体内部にあるかどうかを判定し、基準多面体内部にある近傍点の数iを求め、発生した近傍点の総数Nで割った値p=i/Nを求めることで、占有率を近似的に求める。占有率算出部14は、近似された占有率pを有効判別点判定部20に与える。
【0078】
有効判別点判定部20は、占有率pが所定の判定閾値t以上である判別点は、対象人体の表面上または内部にあると判定し、占有率pが所定の判定閾値tより小さい判別点は、対象人体の外部にあると判定する。判別点が対象人体の表面上または内部にある場合、その判別点は「有効である」といい、判別点が対象人体の外部にある場合、その判別点は「無効である」という。
【0079】
基準多面体の表面近傍に判別点を発生させ、判別点が対象人体の内部にあるかどうか(すなわち有効であるかどうか)を判定することで、基準多面体が対象人体に近づくように変形することができる。対象人体の外部にあると判定された部分(すなわち無効な判別点が占める部分)については基準多面体の表面から切り取り、対象人体の内部にあると判定された部分(すなわち有効な判別点が占める部分)については基準多面体の表面をふくらませる。基準多面体の頂点近傍でこの操作を行うと、基準多面体の角を丸めて平滑化することができる。これにより、基準多面体の表面形状を滑らかにして対象人体に近づけることができる。
【0080】
ここで、判定閾値tは通常は0.5であるが、基準多面体が平滑化によって必要以上にへこんだときは、判定閾値tを小さくし、基準多面体が平滑化によって必要以上にふくらみすぎたときは、判定閾値tを大きくする。このために、形状データ生成部6は、基準多面体の内部に含まれる「内包多面体」と、基準多面体を包含する「外包多面体」とをあらかじめ生成しておき、内包/外包多面体記憶部42に記憶する。
【0081】
内外判定部24は、有効判別点判定部20によって対象人体の内部にあると判定された判別点(「暫定有効判別点」という)について、暫定有効判別点が内包多面体の内部もしくは外包多面体の外部にあるかどうかを判定する。内外判定部24は、暫定有効判別点が内包多面体の内部もしくは外包多面体の外部にある場合は、判定閾値調整部26にその旨を通知する。
【0082】
判定閾値調整部26は、暫定有効判別点が内包多面体の内部にある場合は、判定閾値tを小さくし、暫定有効判別点が外包多面体の外部にある場合は、判定閾値tを大きくする。判定閾値調整部26は、調整後の判定閾値tを有効判別点判定部20に与える。
【0083】
有効判別点判定部20は、判定閾値調整部26により調整された判定閾値tのもとで判別点の有効/無効の判定をやり直す。判定閾値調整部26により調整された判定閾値tのもとで有効と判定された判別点が最終的に有効な判別点となる。以下、この最終的に有効と判定される判別点を単に「有効判別点」という。有効判別点判定部20は、有効判別点を有効判別点記憶部44に記憶する。
【0084】
このようにして内包/外包多面体を設けて有効判別点を求めることで、外包多面体と内包多面体で挟まれる空間領域内で基準多面体の表面形状を有効判別点を基準にふくらませたり、へこませたりして変形させ、対象人体に近づけることができる。
【0085】
ここで、基準多面体の表面近傍に1つの有効判別点があるとき、それよりも内側の有効判別点は、基準多面体を変形させる目的では不要であるから、有効判別点判定部20は、最も外側の有効判別点のみを求めて有効判別点記憶部44に記憶する。このために、判別点生成部12は、基準多面体の表面に対して、外側から徐々に内側に近づくように判別点を生成して、判別点列を生成する。そして、有効判別点判定部20が判別点列内の各判別点の有効/無効を判定し、無効判別点と有効判別点の境界を判定し、最も外側の有効判別点を求める。あるいは、別の方法として、バイナリサーチ(二分探索)の手法を用いて、基準多面体の表面近傍で最も外側にある有効判別点を探索してもよい。
【0086】
表面形状変形部22は、有効判別点をもとに基準多面体の表面形状を変形させ、変形後の基準多面体の形状データを基準多面体記憶部40に記憶する。表面形状変形部22は、基準多面体の頂点や面上の点などの特徴点を抽出し、特徴点を有効判別点の位置まで移動させることで、基準多面体の表面形状を変形させる。
【0087】
表面形状変形部22による変形後の基準多面体はディスプレイに表示され、ユーザは変形後の3次元形状を確認することができる。ユーザは必要であれば、変形後の基準多面体の表面形状の近傍に判別点を設定して、占有率を求め、有効判別点により表面形状を変形させて、対象人体に近づけることができる。このために、判別点生成部12、占有率算出部14、表面曲率算出部16、球体半径調整部18、有効判別点判定部20、内外判定部24、判定閾値調整部26、表面形状変形部22の各構成は、変形後の基準多面体を対象として上述の処理を施す。ここで、変形後の基準多面体は、平滑化処理により角の丸みが取れるなどによって、もはや厳密には多面体ではないが、便宜上、多面体と呼ぶことにする。これにより、基準多面体からスタートして、ユーザは変形結果を逐一確認しながら、段階的に平滑化処理を進めることができる。
【0088】
平滑データ生成部28は、有効判別点記憶部44から有効判別点の集合を取得し、隣接する有効判別点を接続していくことにより有効判別点を頂点とするポリゴンを生成し、ポリゴンモデルを生成する。このポリゴンモデルは、対象人体の表面を滑らかに近似した3次元モデルとなっている。平滑データ生成部28は、生成したポリゴンモデルの情報を3次元形状データ記憶部8に記憶する。
【0089】
図17は、本実施の形態の3次元形状データ生成装置による3次元形状データの生成手順の大まかな流れを示すフローチャートである。
【0090】
3次元形状データ生成装置100においては、まず、基準データ記憶部1から基準人体データ等が読み出されるとともに(S1)、測定データ記憶部2から各マーキングポイントの位置座標、その各マーキングポイントを含む断面位置の幅、厚み、周囲長および肩部の高さを含む採寸データ等が読み出される(S2)。
【0091】
そして、まずバックネックポイントAより上の部分と前腋点Dより下の部分について、脊柱位置に沿った対象人体の断面形状が演算される(S3)。
【0092】
ここでは、脊柱位置算出部3が、各マーキングポイントの位置情報に基づいて対象人体の脊柱位置を算出する。脊柱位置算出部3は、また、各断面形状における脊柱の通過位置をとおる近似曲線を求めることによって脊柱形状を算出する。続いて、比率算出部4が、対象人体の各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率をそれぞれ算出する。続いて、断面形状算出部5が、基準人体の断面形状データに上記比率をかけることにより、対象人体における対応する各断面形状を算出する。
【0093】
続いて、バックネックポイントAから前腋点Dまでの肩の部分について、鎖骨位置に沿った対象人体の断面形状が演算される(S4)。
【0094】
ここでは、比率算出部4が、対象人体の前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さと、各採寸データの断面位置に対応する基準人体の断面形状データから得られる前腋点Dの高さでの人体の厚みおよび前腋点Dから肩表面までの高さとの比率をそれぞれ算出する。続いて、断面形状算出部5が、基準人体の断面形状データに上記比率をかけることにより、対象人体における対応する各垂直断面形状を算出する。断面形状算出部5は、この垂直断面形状を水平面データとして再計算する(S5)。
【0095】
そして、形状データ生成部6は、このとき算出された各断面形状を、脊柱位置にそれぞれ配置する(S6)。断面形状算出部5は、さらに脊柱形状に沿って隣接する各断面形状間の断面形状を補間する(S7)。
【0096】
そして、形状データ生成部が、補間された断面形状を含めて隣接する各断面形状を接続することにより基準多面体からなる3次元形状データを生成する(S8)。
【0097】
続いて、平滑化処理部7が、基準多面体の表面形状を平滑化する(S9)。この平滑化処理には、基準多面体の角を丸くする他、基準多面体の各面をふくらませたり、へこませることも含まれる。この平滑化処理により基準多面体が対象人体により一層近づく。
【0098】
図18は、図17で示した平滑化処理S9の詳細な手順を示すフローチャートである。
【0099】
判別点生成部12は、基準多面体の表面近傍に判別点kを生成する(S10)。占有率算出部14は、基準多面体の内部にあると判定される近傍点の数を計数するための変数iと、発生した近傍点の総数をカウントするための変数Nを0に初期化する(S12)。
【0100】
占有率算出部14は、判別点kを中心とする半径rの近傍球体内部に近傍点をランダムに発生させる(S14)。占有率算出部14は、発生した近傍点が基準多面体の内部にあるかどうかを判定し(S16)、近傍点が基準多面体の内部にある場合(S16のY)、カウンタiを1だけインクリメントし(S18)、近傍点が基準多面体の内部にない場合は(S16のN)、カウンタiをインクリメントしない。
【0101】
占有率算出部14は、近傍点の総数Nを1だけインクリメントし(S20)、占有率pをi/Nによって求める(S22)。占有率算出部14は、求めた占有率pの値が収束しているかどうかを判定する(S24)。このために、占有率算出部14は、近傍球体内部で近傍点をランダムに発生させながら求めた占有率pの値の履歴を保存しておき、占有率pの時間変化にもとづいて占有率pが収束しているかどうかを判定する。占有率の変動幅が所定の水準よりも小さくなった場合に占有率pは収束したと判定する。
【0102】
占有率pがまだ収束していないと判定された場合(S24のN)、ステップS14に戻り、近傍球体内部でさらに近傍点を発生させ、占有率pを更新する(S14〜S22)。
【0103】
占有率pが収束したと判定された場合(S24のY)、有効判別点判定部20は、占有率pが判定閾値t以上であるかどうかを調べる(S26)。
【0104】
有効判別点判定部20は、占有率pが判定閾値t以上である場合(S26のY)、判別点kは対象人体に含まれると判定し(S28)、その判別点kを有効判別点として有効判別点記憶部44に記憶する。
【0105】
有効判別点判定部20は、占有率pが判定閾値tより小さい場合(S26のN)、判別点kは対象人体に含まれないと判定し(S30)、その判別点kは有効判別点記憶部44に記憶しない。
【0106】
ユーザにより平滑化処理の終了が指示された場合(S32のY)、この手順は終了する。平滑化処理がまだ完了していない場合(S32のN)、ステップS10に戻り、基準多面体表面もしくは既に平滑化された多面体表面の近傍に新たに判別点を設定して、同じ処理を繰り返す。
【0107】
図19は、基準多面体の表面近傍に設けられる判別点と近傍球体を説明する図である。
【0108】
基準多面体の表面200(下側が基準多面体の内部で、上側が基準多面体の外部である)よりも外側に判別点220aが設けられたとする。判定閾値tは0.5であるとする。この判別点220aを中心とする半径rの近傍球体210aを考えると、基準多面体の内側に含まれる近傍球体210a(斜線で示した部分230a)の体積は全体積の半分より小さい。よって、占有率pは0.5より小さくなり、判定閾値tより小さいから、判別点220aは対象人体に含まれない、すなわち判別点220aは無効であると判定される。以下、無効と判定された判別点は白丸で図示する。
【0109】
基準多面体の表面200上に判別点220bが設けられた場合、この判別点220bを中心とする近傍球体210bのちょうど半分(斜線で示した部分230b)が基準多面体の内側に含まれる。よって、占有率pは0.5となり、判定閾値tに等しいから、判別点220bは対象人体に含まれる、すなわち判別点220bは有効であると判定される。以下、有効と判定された判別点は黒丸で図示する。
【0110】
基準多面体の表面200よりも内側に判別点220cが設けられた場合、この判別点220cを中心とする近傍球体210cの半分以上(斜線で示した部分230c)が基準多面体内部に含まれる。よって占有率pは0.5より大きくなり、判定閾値tより大きいから、判別点220cは対象人体に含まれる、すなわち判別点220bは有効であると判定される。
【0111】
図19の例では、基準多面体の平らな面の近傍に判別点を発生させたので、判定閾値tが0.5であれば、表面形状はふくらむこともへこむこともない。しかし、基準多面体の平面でない部分、たとえば、角やへこみの近傍に判別点を発生させると、表面形状がふくらんだり、へこんだりする。
【0112】
図20(a)〜(c)は、基準多面体の角の近傍に設けられる判別点と近傍球体を説明する図である。この例では、基準多面体の角(頂点)の近傍に判別点を発生させる。この例でも判定閾値tは0.5であるとする。
【0113】
図20(a)では、基準多面体の角の近傍で、基準多面体の表面200よりも外側に判別点220aが設けられている。この判別点220aを中心とする近傍球体210aを考えると、基準多面体内部に含まれる近傍球体210a(斜線で示した部分230a)の体積は全体積の半分より小さい。よって占有率pは0.5より小さいため、判別点220aは対象人体の外部にある、すなわち無効であると判定される。
【0114】
図20(b)では、基準多面体の角の近傍で、基準多面体の表面200よりも内側に判別点220bが設けられている。この判別点220bを中心とする近傍球体210bを考えると、基準多面体内部に含まれる近傍球体210b(斜線で示した部分230b)の体積はまだ全体積の半分より小さい。よって占有率pは0.5より小さく、判別点220bは対象人体の外部にある、すなわち無効であると判定される。
【0115】
図20(c)では、基準多面体の表面200に対して図20(b)と比べてさらに内側に判別点220cが設けられている。この場合、判別点220cを中心とする近傍球体210cの半分以上(斜線で示した部分230c)が基準多面体内部に含まれる。よって占有率pは0.5より大きく、判別点220bは対象人体の内部にある、すなわち有効であると判定される。
【0116】
図20(a)〜(c)の例では、対象人体の内部に含まれると判定される有効判別点が基準多面体の内側に存在するため、基準多面体の角は有効判別点の位置まで凹み、角が丸く削り取られることになる。
【0117】
図21は、基準多面体の角における有効判別点を説明する図である。ここでも判定閾値tは0.5であるとする。基準多面体の角付近では、有効判別点は角の内側に存在する。基準多面体の平らな面では有効判別点はその面上に存在する。したがって、基準多面体の平らな面は削られることがないが、角付近では、同図の点線に示すように有効判別点が設けられ、角が丸くなる。
【0118】
図22(a)、(b)は、基準多面体の角付近において近傍球体の半径を変えた場合の有効判別点の位置の変化を説明する図である。図22(a)は、近傍球体の半径を小さくした場合であり、有効判別点の位置が角に近づく。図22(b)は、近傍球体の半径を大きくした場合であり、有効判別点の位置が角から遠ざかる。このように、近傍球体の半径を変えることで角の削り取りを変えることができる。
【0119】
図23(a)、(b)は、基準多面体の角付近において占有率の判定閾値を変えた場合の有効判別点の位置の変化を説明する図である。図23(a)は、占有率pの判定閾値tを0.5より小さくした場合であり、基準多面体内部に含まれる近傍球体の体積は半分より小さくてよいため、有効判別点は、点線で示すように、基準多面体の表面200から外側に離れた位置に移動する。
【0120】
図23(b)は、占有率pの判定閾値tを0.5より大きくした場合であり、基準多面体内部に含まれる近傍球体の体積は半分より大きくなる必要があるため、有効判別点は、点線で示すように、基準多面体の表面200よりも内側に入った位置に移動する。
【0121】
なお、判定閾値tを途中で変化させると段差が生まれるため、原則として判定閾値tは一定にする。閾値を変える場合は、閾値移行領域を設け、判定閾値tを閾値移行領域において連続的に変化させることが好ましい。
【0122】
図24は、基準多面体の表面200の形状の複雑度に応じて、近傍球体の半径を変える様子を説明する図である。鋭く尖った角など複雑で細かな表面形状に対しては、符号210a、210bに示すように、近傍球体の半径を小さく設定する。尖った角に対して大きな半径の近傍球体を設定すると、角を削ることができないからである。複雑で細かく造形された表面形状に対しては、その形状の細かさに合わせて近傍球体の半径を十分に小さくする必要がある。近傍球体の半径が小さい場合、角の削られ方が少なくなり、元の多面体形状を良く保存することができるからである。
【0123】
一方、あまり細かく造形されていない表面形状に対しては、符号210cに示すように、近傍球体の半径を大きく設定する。大まかな形状に対しては、それに合わせて近傍球体の半径を大きくすることで、表面を大きく削ることができる。
【0124】
もとの形状をなるべく保存するという立場から、近傍球体の半径は小さめでスタートし、角の丸み具合を見ながら半径を徐々に大きくしながら、基準多面体に対して繰り返し平滑化処理を施すことが好ましい。ここで、角の丸み具合は曲率で評価することができる。
【0125】
以上、本実施の形態の3次元形状データ生成装置100によれば、対象人体について予め採寸された断面の大きさと、基準人体の断面形状データから得られる断面の大きさとの比率が求められる。そして、基準人体データを構成する断面形状データにその比率をかけることにより対象人体の各断面形状が算出され、さらに各断面形状が対応する脊柱位置に配置されることにより、対象人体の3次元形状データが得られる。このため、対象者の人体を詳細に計測することなく、比較的簡易に3次元形状データを生成することができる。また、採寸データなど対象者の人体の情報については少なく抑えることができるため、対象者への負担を軽くすることができ、またプライバシーの問題が発生するのを防止することができる。
【0126】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0127】
たとえば、上記実施の形態では、対象人体について算出された各断面形状を接続して基準多面体を形成し、この基準多面体の表面に対して平滑化処理を行った。変形例においては、各断面形状に対して平滑化処理を行い、平滑化された断面形状を接続することにより、対象人体の3次元形状データを生成するようにしてもよい。
【0128】
たとえば、図17のS3〜S7にて算出された対象人体の断面形状データを対応する局所座標系に展開し、その断面形状を構成する各座標点を接続して基準多角形を生成する。この基準多角形は、脊柱に沿ったY方向に垂直なXZ平面に表され、その内部が対象人体の内部を表すことになる。そして、この基準多角形を形成する各辺又は頂点の近傍に判別点を発生させ、上述のような平滑化処理を実行する。
【0129】
この場合、判別点を中心とする所定の半径の近傍円内に近傍点を乱数により発生させ、その近傍円内の近傍点が基準多角形の内部に含まれる割合を示す占有率が算出される。占有率が所定の判定閾値以上である場合に、判別点は対象人体の断面形状に含まれると判定され、占有率が判定閾値より小さい場合に、判別点は対象人体の断面形状に含まれないと判定される。この判定により対象人体の断面形状に含まれると判定された判別点を頂点とする形状により、平滑化された断面形状データが得られる。そして、この平滑化処理後の隣接する断面形状データの判別点を接続することにより、対象人体の3次元形状データを生成することができる。
【0130】
また、上記実施例では、基準人体および対象人体ともに直立時を例に3次元形状データの生成方法を説明したが、たとえば直立姿勢から椅子に座る、前屈みになる、腕を上げるなど、日常の様々な姿勢における人体の3次元形状を考慮することも有用である。これにより、たとえば服飾デザインにおけるゆとりの設計に役立てることができる。
【0131】
すなわち、姿勢の変化によって体型も変化するが、その体型の変化の程度は人体の部位によって異なる。たとえば、背中や胸部などは脂肪組織が薄く、また肋骨等に保護されていることもあり骨格の形状を比較的良く反映する。一方、腹部や大腿部などは脂肪組織が厚いため、骨格の形状を必ずしも反映せず、脂肪組織に加わる圧力に応じて変形する。たとえば、直立時と前屈み時では同一人体でも腹部の断面形状が変形する。このため、直立時に演算された断面形状を、前屈み時の脊柱に対して同じ角度で配置していくと、断面の形状が実際のものと大きくずれる可能性がある。
【0132】
図25は、演算された断面形状を、直立時と前屈み時とで脊柱に対して同角度で配置した場合の問題点を表す説明図である。図25(a)は直立時における脊柱と断面との関係を表し、図25(b)は前屈み時における脊柱と断面との関係を表している。同図においては、脊柱位置が#1〜#24で表されており、#19〜#24が腹部の位置に相当する。
【0133】
図示のように、前屈み時において直立時と同角度で断面形状を配置すると、場合によっては脊柱位置#19と脊柱位置#20のように隣接する断面が前方で交差するなど、実際にはない現象が生じるおそれがある。
【0134】
そこで、直立時における脊柱位置と断面の角度、その角度が姿勢の変化時に保持されるか否かを表す情報をデータベースに格納しておき、姿勢の変化時には、その角度を徐々に変化させるなどの方法をとってもよい。
【0135】
図26は、直立時における脊柱位置と断面の角度との関係を表す説明図である。同図の情報がデータベースに格納される。図27は、前屈み時における断面形状の配置の修正例を表す説明図である。図27(a)は、前屈み時における脊柱と断面との関係を表し、図27(b)は、そのA部拡大図を表している。
【0136】
図26に示すように、データベースには、対象人体の各断面、メモリにおける断面形状データの保管場所、脊柱の位置、直立時における脊柱と断面との角度、および人体の傾斜時に角度が保存されるか否か等の情報が対応づけられて格納されている。同図の例では、断面#20〜#23については、前屈み時等にその断面形状が保存されないことが示されている。
【0137】
図27に示すように、対象人体の前屈み時の3次元形状データを生成する際には、各断面形状を脊柱に対して図26に示される直立時の角度で配置するのではなく、その変形部位を徐々に変化させる。すなわち、腹部の位置に対応する断面#19〜#24について、その間の断面#20〜#23の角度を、#19の角度(図示の例では83°)から#24の角度(図示の例では92°)に徐々に変化させる。つまり、断面形状が保存される断面の間の角度をとるように配置する。このとき、図26において角度が保存される部分については、断面形状を脊柱に対して直立時と同様の角度で配置する。図示の例では、断面が腰椎の付近で脊柱にほぼ垂直になるようにしている。
【図面の簡単な説明】
【0138】
【図1】マーキングポイントの例を表す説明図である。
【図2】マーキングポイントの位置の測定方法等を表す説明図である。
【図3】マーキングポイントが存在する人体の断面と脊柱位置との関係を表す説明図である。
【図4】脊柱と鎖骨の決め方を表す説明図である。
【図5】3次元形状データの生成方法を表す説明図である。
【図6】3次元形状データの生成方法を表す説明図である。
【図7】3次元形状データの生成方法を表す説明図である。
【図8】3次元形状データの生成方法を表す説明図である。
【図9】対象者の人体に設定した座標系を表す説明図である。
【図10】対象人体の断面形状の算出方法を表す説明図である。
【図11】対象人体の断面形状の算出方法を表す説明図である。
【図12】対象人体の断面形状の算出方法を表す説明図である。
【図13】対象人体の断面形状の算出方法を表す説明図である。
【図14】算出された対象人体の断面形状データを脊柱に沿って配置した状態を表す説明図である。
【図15】算出された対象人体の断面形状データの平滑化処理前後の状態を表す説明図である。
【図16】本実施の形態の3次元形状データ生成装置の構成図である。
【図17】本実施の形態の3次元形状データ生成装置による3次元形状データの生成手順の大まかな流れを示すフローチャートである。
【図18】図17で示した平滑化処理の詳細な手順を示すフローチャートである。
【図19】基準多面体の表面近傍に設けられる判別点と近傍球体を説明する図である。
【図20】基準多面体の角の近傍に設けられる判別点と近傍球体を説明する図である。
【図21】基準多面体の角における有効判別点を説明する図である。
【図22】基準多面体の角付近において近傍球体の半径を変えた場合の有効判別点の位置の変化を説明する図である。
【図23】基準多面体の角付近において占有率の判定閾値を変えた場合の有効判別点の位置の変化を説明する図である。
【図24】基準多面体の表面の形状の複雑度に応じて、近傍球体の半径を変える様子を説明する図である。
【図25】演算された断面形状を、直立時と前屈み時とで脊柱に対して同角度で配置した場合の問題点を表す説明図である。
【図26】直立時における脊柱位置と断面の角度との関係を表す説明図である。
【図27】前屈み時における断面形状の配置の修正例を表す説明図である。
【符号の説明】
【0139】
1 基準データ記憶部、 2 測定データ記憶部、 3 脊柱位置算出部、 4 比率算出部、 5 断面形状算出部、 6 形状データ生成部、 7 平滑化処理部、 8 3次元形状データ記憶部、 12 判別点生成部、 14 占有率算出部、 16 表面曲率算出部、 18 球体半径調整部、 20 有効判別点判定部、 22 表面形状変形部、 24 内外判定部、 26 判定閾値調整部、 28 平滑データ生成部、 40 基準多面体記憶部、 42 内包/外包多面体記憶部、 44 有効判別点記憶部、 100 3次元形状データ生成装置、 101 脊柱、 102 鎖骨。
【特許請求の範囲】
【請求項1】
対象人体の3次元形状データを生成する3次元形状データ生成装置において、
基準人体における所定の特徴点を含む複数箇所の断面形状データを、その基準人体の脊柱位置に対応づけて記憶する基準データ記憶部と、
前記対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ記憶する測定データ記憶部と、
各特徴点の位置情報に基づき、前記対象人体の脊柱位置を算出する脊柱位置算出部と、
各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する前記基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出部と、
前記基準人体の断面形状データと前記比率算出部が算出した比率とに基づいて、前記対象人体における各断面形状を算出する断面形状算出部と、
前記断面形状算出部が算出した各断面形状を、前記脊柱位置算出部が算出した対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成部と、
を備えたことを特徴とする人体の3次元形状データ生成装置。
【請求項2】
前記基準データ記憶部は、前記基準人体としての予め選択された標準体型の人体の断面形状データを、繰り返し使用される汎用データとして記憶し、
前記測定データ記憶部は、前記対象人体ごとに前記特徴点の位置情報および前記採寸データを記憶すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項3】
前記断面形状算出部は、
前記基準人体および前記対象人体のそれぞれの断面形状データについて、各背部中央から予め設定した距離の位置に前記脊柱位置を設定し、
前記厚み方向については、実質的に前記脊柱位置よりも前方の部分の位置を比率計算により算出すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項4】
前記脊柱位置算出部は、前記特徴点の位置情報からその特徴点を含む断面形状における脊柱の通過位置を算出し、各断面形状における脊柱の通過位置をとおる近似曲線を求めることによって脊柱形状を算出し、
前記形状データ生成部は、前記脊柱位置算出部が算出した脊柱形状における対応する脊柱位置に前記各断面形状を配置すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項5】
前記基準データ記憶部は、前記断面形状データを、脊柱形状に実質的に直交する局所座標面上における前記脊柱位置を中心とする座標データ群として記憶し、
前記断面形状算出部は、局所座標系における前記基準人体の断面形状データの各座標データに前記比率をかけた座標値の集合を、前記対象人体の各断面形状として算出すること、
を特徴とする請求項4に記載の人体の3次元形状データ生成装置。
【請求項6】
前記断面形状算出部は、前記脊柱形状に沿って隣接する断面形状間の断面形状を補間演算し、
前記形状データ生成部は、前記隣接する断面形状間に前記補間演算された断面形状を配置し、その補間された断面形状を含めて各断面形状をつなぐことにより、前記3次元形状データを生成すること、
を特徴とする請求項4に記載の人体の3次元形状データ生成装置。
【請求項7】
前記測定データ記憶部は、さらに前記対象人体の各特徴点を含む断面位置の周囲長を記憶し、
前記断面形状算出部は、前記比率に基づいて算出した断面形状から得られる周囲長と、前記測定データ記憶部に記憶された対応する断面位置の周囲長との差が所定値以上である場合には、両周囲長の差が前記所定値未満となるように前記比率に基づいて算出した断面形状を補正すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項8】
前記形状データ生成部により生成された3次元形状データから得られた基準多面体を記憶する基準多面体記憶部と、
前記基準多面体の表面近傍に判別点を生成する判別点生成部と、
前記判別点を中心とする所定の半径の近傍球体内に近傍点を乱数により発生させ、前記近傍球体内の前記近傍点が前記基準多面体の内部に含まれる割合を示す占有率を算出する占有率算出部と、
前記占有率が所定の判定閾値以上である場合に、前記判別点は前記対象人体の3次元形状に含まれると判定し、前記占有率が前記判定閾値より小さい場合に、前記判別点は前記対象人体の3次元形状に含まれないと判定する有効判別点判定部と、
前記判定により前記対象人体の3次元形状に含まれると判定された前記判別点を頂点とするポリゴンにより、前記対象人体の3次元形状を表した3次元形状データを生成する平滑データ生成部と、
をさらに含むことを特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項9】
対象人体の3次元形状データを生成する3次元形状データ生成方法において、
基準人体における所定の特徴点を含む複数の断面形状データを、その基準人体の脊柱位置に対応づけて取得する基準データ取得ステップと、
前記対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ取得する測定データ取得ステップと、
各特徴点の位置情報に基づき、前記対象人体の脊柱位置を算出する脊柱位置算出ステップと、
各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する前記基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出ステップと、
前記基準人体の断面形状データと前記比率算出ステップにて算出された比率とに基づいて、前記対象人体における各断面形状を算出する断面形状算出ステップと、
前記断面形状算出ステップにて算出された各断面形状を、前記脊柱位置算出ステップにて算出された対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成ステップと、
を備えたことを特徴とする人体の3次元形状データ生成方法。
【請求項10】
対象人体の3次元形状データを生成する処理をコンピュータに実行させるためのプログラムであって、
基準人体における所定の特徴点を含む複数の断面形状データを、その基準人体の脊柱位置に対応づけて取得する基準データ取得ステップと、
前記対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ取得する測定データ取得ステップと、
各特徴点の位置情報に基づき、前記対象人体の脊柱位置を算出する脊柱位置算出ステップと、
各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する前記基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出ステップと、
前記基準人体の断面形状データと前記比率算出ステップにて算出された比率とに基づいて、前記対象人体における各断面形状を算出する断面形状算出ステップと、
前記断面形状算出ステップにて算出された各断面形状を、前記脊柱位置算出ステップにて算出された対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
対象人体の3次元形状データを生成する3次元形状データ生成装置において、
基準人体における所定の特徴点を含む複数箇所の断面形状データを、その基準人体の脊柱位置に対応づけて記憶する基準データ記憶部と、
前記対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ記憶する測定データ記憶部と、
各特徴点の位置情報に基づき、前記対象人体の脊柱位置を算出する脊柱位置算出部と、
各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する前記基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出部と、
前記基準人体の断面形状データと前記比率算出部が算出した比率とに基づいて、前記対象人体における各断面形状を算出する断面形状算出部と、
前記断面形状算出部が算出した各断面形状を、前記脊柱位置算出部が算出した対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成部と、
を備えたことを特徴とする人体の3次元形状データ生成装置。
【請求項2】
前記基準データ記憶部は、前記基準人体としての予め選択された標準体型の人体の断面形状データを、繰り返し使用される汎用データとして記憶し、
前記測定データ記憶部は、前記対象人体ごとに前記特徴点の位置情報および前記採寸データを記憶すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項3】
前記断面形状算出部は、
前記基準人体および前記対象人体のそれぞれの断面形状データについて、各背部中央から予め設定した距離の位置に前記脊柱位置を設定し、
前記厚み方向については、実質的に前記脊柱位置よりも前方の部分の位置を比率計算により算出すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項4】
前記脊柱位置算出部は、前記特徴点の位置情報からその特徴点を含む断面形状における脊柱の通過位置を算出し、各断面形状における脊柱の通過位置をとおる近似曲線を求めることによって脊柱形状を算出し、
前記形状データ生成部は、前記脊柱位置算出部が算出した脊柱形状における対応する脊柱位置に前記各断面形状を配置すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項5】
前記基準データ記憶部は、前記断面形状データを、脊柱形状に実質的に直交する局所座標面上における前記脊柱位置を中心とする座標データ群として記憶し、
前記断面形状算出部は、局所座標系における前記基準人体の断面形状データの各座標データに前記比率をかけた座標値の集合を、前記対象人体の各断面形状として算出すること、
を特徴とする請求項4に記載の人体の3次元形状データ生成装置。
【請求項6】
前記断面形状算出部は、前記脊柱形状に沿って隣接する断面形状間の断面形状を補間演算し、
前記形状データ生成部は、前記隣接する断面形状間に前記補間演算された断面形状を配置し、その補間された断面形状を含めて各断面形状をつなぐことにより、前記3次元形状データを生成すること、
を特徴とする請求項4に記載の人体の3次元形状データ生成装置。
【請求項7】
前記測定データ記憶部は、さらに前記対象人体の各特徴点を含む断面位置の周囲長を記憶し、
前記断面形状算出部は、前記比率に基づいて算出した断面形状から得られる周囲長と、前記測定データ記憶部に記憶された対応する断面位置の周囲長との差が所定値以上である場合には、両周囲長の差が前記所定値未満となるように前記比率に基づいて算出した断面形状を補正すること、
を特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項8】
前記形状データ生成部により生成された3次元形状データから得られた基準多面体を記憶する基準多面体記憶部と、
前記基準多面体の表面近傍に判別点を生成する判別点生成部と、
前記判別点を中心とする所定の半径の近傍球体内に近傍点を乱数により発生させ、前記近傍球体内の前記近傍点が前記基準多面体の内部に含まれる割合を示す占有率を算出する占有率算出部と、
前記占有率が所定の判定閾値以上である場合に、前記判別点は前記対象人体の3次元形状に含まれると判定し、前記占有率が前記判定閾値より小さい場合に、前記判別点は前記対象人体の3次元形状に含まれないと判定する有効判別点判定部と、
前記判定により前記対象人体の3次元形状に含まれると判定された前記判別点を頂点とするポリゴンにより、前記対象人体の3次元形状を表した3次元形状データを生成する平滑データ生成部と、
をさらに含むことを特徴とする請求項1に記載の人体の3次元形状データ生成装置。
【請求項9】
対象人体の3次元形状データを生成する3次元形状データ生成方法において、
基準人体における所定の特徴点を含む複数の断面形状データを、その基準人体の脊柱位置に対応づけて取得する基準データ取得ステップと、
前記対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ取得する測定データ取得ステップと、
各特徴点の位置情報に基づき、前記対象人体の脊柱位置を算出する脊柱位置算出ステップと、
各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する前記基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出ステップと、
前記基準人体の断面形状データと前記比率算出ステップにて算出された比率とに基づいて、前記対象人体における各断面形状を算出する断面形状算出ステップと、
前記断面形状算出ステップにて算出された各断面形状を、前記脊柱位置算出ステップにて算出された対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成ステップと、
を備えたことを特徴とする人体の3次元形状データ生成方法。
【請求項10】
対象人体の3次元形状データを生成する処理をコンピュータに実行させるためのプログラムであって、
基準人体における所定の特徴点を含む複数の断面形状データを、その基準人体の脊柱位置に対応づけて取得する基準データ取得ステップと、
前記対象人体における各特徴点の位置情報と、その各特徴点を含む断面位置の幅および厚みを含む採寸データとをそれぞれ取得する測定データ取得ステップと、
各特徴点の位置情報に基づき、前記対象人体の脊柱位置を算出する脊柱位置算出ステップと、
各採寸データにかかる幅方向の大きさおよび厚み方向の大きさと、その採寸データの断面位置に対応する前記基準人体の断面形状データから得られる幅方向の大きさおよび厚み方向の大きさとの比率を、それぞれ算出する比率算出ステップと、
前記基準人体の断面形状データと前記比率算出ステップにて算出された比率とに基づいて、前記対象人体における各断面形状を算出する断面形状算出ステップと、
前記断面形状算出ステップにて算出された各断面形状を、前記脊柱位置算出ステップにて算出された対応する脊柱位置にそれぞれ配置するとともに、隣接する各断面形状をつなぐことにより3次元形状データを生成する形状データ生成ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2008−32489(P2008−32489A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2006−205140(P2006−205140)
【出願日】平成18年7月27日(2006.7.27)
【出願人】(593165487)学校法人金沢工業大学 (202)
【Fターム(参考)】
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願日】平成18年7月27日(2006.7.27)
【出願人】(593165487)学校法人金沢工業大学 (202)
【Fターム(参考)】
[ Back to top ]