JP6698233B1 - 3次元モデルの生成方法、及び3次元モデル生成プログラム - Google Patents

3次元モデルの生成方法、及び3次元モデル生成プログラム Download PDF

Info

Publication number
JP6698233B1
JP6698233B1 JP2019571382A JP2019571382A JP6698233B1 JP 6698233 B1 JP6698233 B1 JP 6698233B1 JP 2019571382 A JP2019571382 A JP 2019571382A JP 2019571382 A JP2019571382 A JP 2019571382A JP 6698233 B1 JP6698233 B1 JP 6698233B1
Authority
JP
Japan
Prior art keywords
human body
virtual
body shape
shape data
shape
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
JP2019571382A
Other languages
English (en)
Other versions
JPWO2020208836A1 (ja
Inventor
山本 幸生
幸生 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onward Holdings Co Ltd
Original Assignee
Onward Holdings Co Ltd
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 Onward Holdings Co Ltd filed Critical Onward Holdings Co Ltd
Priority claimed from PCT/JP2019/025208 external-priority patent/WO2020208836A1/ja
Application granted granted Critical
Publication of JP6698233B1 publication Critical patent/JP6698233B1/ja
Publication of JPWO2020208836A1 publication Critical patent/JPWO2020208836A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本発明の一実施形態に係る3次元モデルの生成方法では、実測により得られたk個(kは1より大きい整数)の人体形状データの多変量解析を行い、この多変量解析により得られた特徴成分をもとに、N個(N>k)の仮想的な人体形状データを生成する。そして、身体の所定位置のサイズを表すサイズ情報をユーザから受け付けると、N個の仮想的な人体形状データの中から、サイズ情報に適合する仮想的な人体形状データを選択し、選択された仮想的な人体形状データに基づく人体形状を出力装置に出力する。

Description

本発明は、3次元モデルの生成方法、及び3次元モデルの生成プログラムに関する。
近年のコンピュータ技術の急速な進展に伴い、デジタル化された三次元形状モデルを用いた様々なアプリケーションが開発されている。デジタル化された三次元形状モデルの応用例の一つとして、たとえば人間の体型(形状)を3次元コンピュータグラフィックス(CG)画像として作成し、その画像に対して選択された衣服を着衣させた画像を表示する、いわゆるバーチャル試着方法が提案されている(たとえば特許文献1)。
特許文献1には、ユーザの体型に近い3次元CG画像を得るために、予め取得された多数の個体に対する実測全身相同モデルと身体特徴量を主成分分析するとともに、その中から特徴的な体形の個体を複数抽出してユーザに提示し、その特徴的な体形に対するユーザ自身の主観的帰属度と、身体特徴量を入力させ、これに基づいて3次元CG画像を出力する技術が開示されている。
特開2015−26186号公報
Ch. Brechbuhler, G. Gerig, O. Kubler, Parametrization of closed surfaces for 3-D shape description, Computer Vision and Image Understanding 61(2) (1995) 154-170 E. Praun, H. Hoppe, Spherical Parametrization and Remeshing, ACM Transactions on Graphics 22 (3) (2003) 340-349
特許文献1に開示の技術では、予め取得された多数の個体の中から特徴的な体形の個体を複数抽出するという作業が必要となる。また、特徴的な体形の抽出という作業は、抽出を行う作業者の主観に基づく作業になるため、特許文献1に開示の技術に基づいて生成される画像が、実際に存在する人体の形状と乖離する可能性もある。
開示の技術は、上記事情に鑑みて成されたものであり、少ない計測データに基づいて、ユーザが求める形状の3次元モデルを高い精度で生成することを目的としている。
本発明の一実施形態に係る3次元モデルの生成方法では、実測により得られたk個(kは1より大きい整数)の人体形状データの多変量解析を行い、この多変量解析により得られた特徴成分をもとに、N個(N>k)の仮想的な人体形状データを生成する。そして、身体の所定位置のサイズを表すサイズ情報をユーザから受け付けると、N個の仮想的な人体形状データの中から、サイズ情報に適合する仮想的な人体形状データを選択し、選択された仮想的な人体形状データに基づく人体形状を出力装置に出力する。
少ない計測データから、ユーザが求める様々な形状の精密な3次元モデルを生成することができる。
一実施形態に係る3次元モデル生成システムの構成の一例を示す図である。 形状データ測定装置、仮想形状生成装置、モデル提供装置のハードウェア構成の一例を示す図である。 実測データ収集処理のフローチャートである。 球面座標系を説明するための図である。 マッピング処理の概要の説明図である。 仮想形状生成処理のフローチャートである。 係数ベクトルの分布の一例を示す図である。 図7に示された係数ベクトルの分布について確率密度推定を行った結果の例を示す図である。 確率密度関数の一例を示す図である。 複数の係数ベクトルの分布の一例を示す図である。 第1主成分得点を変化させることで得られる人体形状データの例を示す図である。 第2主成分得点を変化させることで得られる人体形状データの例を示す図である。 モデル出力処理のフローチャートである。
以下に図面を参照して、実施形態の説明を行う。
図1は、一実施形態に係る3次元モデル生成システムの構成の一例を示している。3次元モデル生成システム1は、形状データ測定装置11、3次元スキャナ(3Dスキャナ)12、仮想形状生成装置21、モデル提供装置31、出力装置33を有する。形状データ測定装置11、仮想形状生成装置21、そしてモデル提供装置31は、ネットワーク10で相互接続されている。ネットワーク10は、いわゆるローカルエリアネットワーク(LAN)であってもよいし、あるいは形状データ測定装置11、仮想形状生成装置21、そしてモデル提供装置31がそれぞれ異なる拠点に設置されている場合には、これらがいわゆるインターネットなどの広域ネットワークで接続されていてもよい。
形状データ測定装置11には、3次元スキャナ(3Dスキャナ)12が接続されている。3Dスキャナ12は、物体(3次元オブジェクト)の形状を計測する装置である。本実施形態では、3Dスキャナ12によって、人体の全身の形状(以下、「人体形状」と呼ぶ)が計測される例を主に説明する。ただし、3Dスキャナ12による計測対象の物体は、人体に限定されず、任意の物体が計測されてもよい。
また、モデル提供装置31には、出力装置33が接続されている。本実施形態では、出力装置33は、たとえば液晶ディスプレイなどの表示装置である。出力装置33(及びモデル提供装置31)は、3次元モデル生成システム1(具体的には、形状データ測定装置11、仮想形状生成装置21)によって生成された、3次元物体の形状を表現したデータ(3次元形状データ)を、ユーザが容易に理解可能な形式(画像など)に変換してユーザに提供するための装置である。3次元形状データは、たとえば人体などの3次元物体の表面上の各位置の座標の集合からなる情報だが、出力装置33(及びモデル提供装置31)はこの情報から人体形状を表現する画像を生成し、表示する。なお、出力装置33は必ずしも液晶ディスプレイなどの表示装置でなくてもよい。たとえば、出力装置33が3Dプリンタであってもよい。
本実施形態に係る3次元モデル生成システム1は、ユーザの指定する条件に適合した人体形状の画像を出力装置に出力することを目的とする。たとえば身長や胸囲など、一般的に(人体の)体格を表す際に用いられる情報(本実施形態ではこの情報を「サイズ情報」と呼ぶ)を条件としてユーザが入力すると、その条件に合致した(あるいはその条件に近い)形状の画像を、出力装置33(たとえば液晶ディスプレイ)に出力(表示)する。また、出力装置33が3Dプリンタの場合には、ユーザが入力した条件に合致した(あるいは近い)形状の人体モデルを、3Dプリンタに作成させる。
以下ではまず、本実施形態に係る3次元モデル生成システム1を用いた、3次元モデルの生成方法の概要を説明する。まず、複数人の人体形状のデータ(人体の表面上の各点の座標)を3Dスキャナ12を用いて計測する。以下の説明では、k人(kは1以上の整数)の人体形状のデータが計測される例を説明する。kの値は特定の値に限定されないが、人体形状の測定は、比較的時間のかかる作業であり、人体形状が測定される対象となる人間(被測定者)を多く集めることも現実的ではない。そのためkの値は、3次元モデル生成システム1のユーザが、実際に集めてくることが可能な被測定者の数(たとえば数百人程度)に限定される。
形状データ測定装置11は、計測されたk人分の人体形状のデータについて、所定の変換処理を施し、形状データ測定装置11に記憶する。この所定の変換処理の詳細は後述する。また、以下では、形状データ測定装置11によって計測・収集された人体形状のデータ、あるいはこの人体形状のデータに対して所定の変換処理を施したデータのことを「実測データ」と呼ぶ。
先に述べた通り、人体形状の測定は比較的時間のかかる作業であり、多くの被測定者の人体形状データを収集することは難しい。そのため、k人分の実測データ(人体形状のデータ)の中に、ユーザが入力する条件に適合する体型(形状)の実測データが存在する可能性は決して高くない。そのため、本実施形態に係る3次元モデル生成システム1は、k人分の実測データに対して一種の統計的処理(多変量解析)を施し、その結果得られたデータをもとに、実測データとは異なる形状の、多くの人体形状データを生成する。たとえばユーザが、身長や胸囲を入力条件として指定する場合、多種多様な身長の人体形状データや、多種多様な胸囲の人体形状データが生成される。この処理は主に仮想形状生成装置21で実施される。また本実施形態では、仮想形状生成装置21が生成する人体形状データのことを、「仮想形状データ」と呼ぶ。
モデル提供装置31は、ユーザから身長や胸囲などの条件が入力されると、多数の仮想形状データの中から、入力された条件に適合する人体形状データを選択する。そしてモデル提供装置31は、選択された人体形状データをもとに、人体形状の3次元画像を生成して出力装置33に出力(表示)する。
本実施形態で用いられる、形状データ測定装置11、仮想形状生成装置21、モデル提供装置31は、いわゆるPCサーバなどの、汎用的な用途で用いられるコンピュータである。図2に、形状データ測定装置11のハードウェア構成の概略図を示す。形状データ測定装置11は、CPU51、メモリ52、インタフェース53、補助記憶装置54、ドライブ装置55、のハードウェアエレメントを有し、これらはたとえばバス50で相互接続されている。
CPU51はいわゆるマイクロプロセッサで、後述するメモリ52に格納(ロード)されたプログラムを実行するハードウェアエレメントである。
メモリ52は、いわゆるRAM(Random Access Memory)などの揮発性半導体記憶装置で、CPU51で実行されるプログラムと、このプログラムが実行されるときに使用されるデータなどが記憶される。またメモリ52は、プログラムが実行されるときのワークエリア等にも使用される。なお、メモリ52はRAMに加えて、フラッシュメモリなどの不揮発性半導体記憶媒体を有していてもよい。
インタフェース53は、形状データ測定装置11がネットワーク10を介して外部装置(仮想形状生成装置21やモデル提供装置31など)と通信するためのハードウェアである。またインタフェース53は、形状データ測定装置11が3Dスキャナ12との通信(3Dスキャナ12が計測したデータの収集など)を行うためのハードウェアも含む。
補助記憶装置54は、たとえばハードディスクドライブ(HDD)などの不揮発性記憶装置であり、CPU51によって実行されるプログラムや、3Dスキャナ12から収集したデータを格納するために用いられる。なお、HDDのような磁気記憶装置のほか、SSD(Solid State Drive)などの、不揮発性半導体記憶装置が補助記憶装置54として用いられてもよい。
ドライブ装置55は、記録媒体56の読取装置である。記録媒体56はいわゆる可搬型記録媒体であり、たとえばCD−ROMやDVDなどの光学ディスク、あるいはSDメモリカードなどの半導体メモリである。
ドライブ装置55は、プログラムを形状データ測定装置11にインストールする(補助記憶装置54に格納する)ために用いられる。具体的には、形状データ測定装置11で実行されるプログラムが、DVDなどの可搬型記録媒体(記録媒体56)に記録された形態で提供される場合、形状データ測定装置11は、この可搬型記録媒体に記録されたプログラムをドライブ装置55によって読み取って、補助記憶装置54に格納する。ただし、形状データ測定装置11で実行されるプログラムは、必ずしも可搬型記録媒体(記録媒体56)に記録された形態で提供される必要はない。例えば、ネットワーク10経由で外部の装置から形状データ測定装置11に提供されてもよい。その場合には、形状データ測定装置11はインタフェース53を介して外部の装置からプログラムを受信して、補助記憶装置54に格納する。
なお、形状データ測定装置11は、上で説明したもの以外のハードウェアエレメントを有していてもよい。たとえば、キーボード、マウスなどの、ヒューマンインタフェースデバイス(HID)を有していてもよい。また、液晶ディスプレイ、プリンタなどの外部機器を接続するためのインタフェースコントローラを有していてもよい。
また、図2では形状データ測定装置11のハードウェア構成が示されているが、仮想形状生成装置21とモデル提供装置31のハードウェア構成も、図2と同様で良い。つまり仮想形状生成装置21とモデル提供装置31も、上で説明したハードウェアエレメントを備えている。
続いて、形状データ測定装置11、仮想形状生成装置21、モデル提供装置31で行われる処理の詳細を説明する。まず、形状データ測定装置11で行われる処理を、図3等を参照しながら説明する。図3は、形状データ測定装置11で行われる、実測データ収集処理のフローチャートである。なお、形状データ測定装置11のメモリ52にロードされたプログラム(以下、このプログラムを「実測データ収集プログラム」と呼ぶ)をCPU51が実行することにより、実測データ収集処理が実現される。
まずステップS101で、形状データ測定装置11(実測データ収集プログラム)は3Dスキャナ12を用いて、k人の人体の全身をスキャンして、k人の人体の全身形状のデータを収集する。また、形状データ測定装置11は、各人の得られた全身形状のデータを用いて、各人の相同モデルを作成する(本実施例では、この相同モデルを作成する処理のことを、相同モデル化と呼ぶ)。相同モデルは、例えば特許文献1に示されているように、人体の形状を同一点数のユークリッド座標値で表される同数の点と同一位相のポリゴンによって再構築したものである。
相同モデル化を行うことにより、たとえば各人(ここではk人)の人体の全身形状は、多数の頂点座標の集合として表現されることになる。本実施例では、1人の人体の形状が相同モデル化により、n個の頂点座標のセットで構成される例を説明する。また、ステップS101で計測されたk人の人体のうち、j番目(jは、1以上k以下の整数)の人体のn個の頂点をそれぞれ、Pj1,Pj2,Pj3,...,Pjnと表記する。また頂点座標Pjiは(iは、1以上n以下の整数である)、それぞれXYZ座標系(3次元直交座標系)の座標値(Xji,Yji,Zji)と表記される。また、不特定の人体の頂点座標を表現する際には、n個の頂点はそれぞれP,P,P,...,Pと表記され、頂点Pの座標値は(X,Y,Z)と表記される(cは1以上n以下の整数)。また、頂点の添え字(頂点Pであれば、cが添え字)のことを「頂点番号」と呼ぶ。
相同モデル化を行うことにより、各人の人体の身体的特徴点の位置が、同じ頂点番号の頂点として表現される。たとえば、頂点P,P,P,...,Pのうち、鼻の先端を表す頂点は、c番目の頂点Pと決められている(cは1以上n以下の整数)。そのため、k人のうち、a番目の人の鼻の先端の座標値(Pac、=(Xac,Yac,Zac))、b番目の人の鼻の先端の座標値(Pbc=(Xbc,Ybc,Zbc))が容易に特定できる。なお、相同モデル化つまりステップS101で行われる処理は、特許文献1等に示されているように公知の処理であるため、詳細な説明は略す。
続いてステップS102では、各頂点P,P,P,...,Pの座標は、仮想的な球面の座標にマッピングされる。この処理は、3次元直交座標系の座標を、球面座標系に変換する処理と類似した処理である。図4に球面座標系の例を示す。図4に示す通り、球面上の点Qはたとえば、ある軸(z軸)と動径のなす角θと、先に述べたある軸(z軸)と直交する別の軸(たとえばx軸)と動径のなす角φ、及び動径の長さによって特定される(球面の場合、動径の長さは一定のため、図4では動径の長さの表記は略している)。なお、θとφの取り得る値の範囲はたとえば、0≦θ<π、0≦φ<2πである。
図5を用いて、ステップS102で行われるマッピング処理の概要を説明する。図5は、人体形状の各頂点がどのように球面上の点にマッピングされるかを表した概念図である。図5(a)は人体の形状と、人体形状の各頂点を例示した図である。なお、説明をわかりやすくするため、図5(a)には人体形状の断面を示しており、また図5(b)には、人体形状の各頂点座標がマッピングされる球面の断面(円)を示している。
先に述べた通り、球面上の点Qはたとえば、角θと、角φ、及び動径の長さ(定数)に表すことができる。また図4において動径の長さがr(定数)の場合、球面上の点Qは、以下の式(1)、(2)、(3)により表される。
x=r×sinθ×cosφ …(1)
y=r×sinθ×sinφ …(2)
z=r×cosθ …(3)
これは、球面(球面上の各点)が角θと角φの関数として表現できることを意味する。本発明の実施例に係る3次元モデル生成システム1ではこれと同様の考え方で、人体形状(人体形状の表面上の各点)を、角θと角φの関数として表現し、人体形状の各頂点座標値を保持する代わりに、関数(の係数)を管理する。人体形状が角θと角φの関数として表現される場合、3次元モデル生成システム1はある人物の人体形状のデータを管理(記憶)しておく際に、人体形状の各頂点座標値を保持する代わりに、関数(の係数)だけを管理すればよい。関数の係数を管理しておけば、3次元モデル生成システム1は人体形状の各頂点(のXYZ座標値)を計算により求めることが可能である。そして関数の係数だけを管理しておけばよいので、3次元モデル生成システム1はある人物の人体形状のデータを管理しておく際の記憶データ量を削減することが可能になる。ただし人体形状は複雑なため、球面上の点のように簡単な関数では表現できない。具体的には球面調和関数の線形和として人体形状の頂点を表現する。詳細は後述する。
また、人体形状を角θと角φの関数として管理(記憶)しておく場合、人体形状の各頂点(のXYZ座標値)が、(角θと角φの)一価関数として表される必要がある。たとえばある角θに対して、複数の座標値が定まる関数の場合には、人体形状の各頂点(のXYZ座標値)を計算により求めることができなくなるためである。
たとえば図5(a)において、人体形状の各頂点がマッピングされる角θを、人体内のある点(たとえば図5(a)の点O)と頂点を通過する線と、ある軸(たとえば鉛直方向軸(図5(a)において点Oを垂直方向に通過する線)とのなす角の角度である、という規則に基づいて、人体形状の各頂点に角θをマッピングした場合、頂点Pjbは、点Oと頂点Pjaを結ぶ線分上に位置する点であるので、頂点Pjbと頂点Pjaが同じ角度にマッピングされてしまう。このような規則に基づいて人体形状の各頂点に角θをマッピングすると、人体形状の各頂点(のXYZ座標値)を角θの一価関数として表すことができなくなる。そのため、本実施例に係る3次元モデル生成システム1では、人体形状の各頂点が異なる角θ、異なる角φにマッピングされるように、マッピング関係を定める。
図5では、図5(a)に示された各頂点Pj1,Pj2,Pj3,...,Pjn(つまりj番目の人のn個の頂点)がそれぞれ、図5(b)に示された球面(円)上の点Qj1,Qj2,Qj3,...,Qjnにマッピングされる例を示している。なお、先に述べた通り、球面上の点は、2つの角度(角θと角φ)を用いて表現(特定)されるが、ここでは説明をわかりやすくするため、角θのみを示している(角φがたとえば0等の定数であるケースが図示されているとみなすことができる)。
なお、人体形状の各頂点を球面上の点(角θ、角φ)にマッピングする際、上に述べたように各頂点が異なる角θ、異なる角φにマッピングされるようにすることに加えて、マッピング前の人体の形状(たとえば図5(a))を構成する各ポリゴン(複数の頂点から構成される)の面積比率が、マッピング後もできるだけ同じになるように、マッピング規則を定めると良い。たとえば人体形状の頂点P,P,P,Pが球面上の点Q,Q,Q,Qにマッピングされ、頂点P,P,Pから構成されるポリゴン(三角形)と頂点P,P,Pから構成されるポリゴンの面積比がA:Bだった場合、マッピング後の点Q,Q,Q,Qから構成される2つのポリゴン(点Q,Q,Qから構成される三角形と、点Q,Q,Qから構成される三角形)の面積比が、できるだけA:Bに近くなるように、点Q,Q,Q,Qの位置(角θ、角φ)を定める。たとえば先に挙げた非特許文献2に示されている、Spherical parametrizationアルゴリズムを用いてマッピング規則を定めるとよい。
また、本実施形態では、各人の人体形状の各頂点にマッピングされる角(θ,φ)の値は同じである。つまり、s番目(sは1≦s≦kを満たす任意の整数)の人体形状の、i番目の頂点Psi=(Xsi,Ysi,Zsi)がマッピングされる球面上の点Qsiの角(θsi,φsi)は、t番目(tは1≦t≦kを満たす任意の整数。ただしs≠tとする)の人体形状のi番目の頂点Pti=(Xti,Yti,Zti)がマッピングされる球面上の点Qtiの角(θti,φti)と等しい。そのため以下の説明では、角θsiと角θtiを区別せずにθと表記し、同様に角φsiと角φtiを区別せずに、φと表記する。
続いて形状データ測定装置11(実測データ収集プログラム)は、球面調和関数の値を計算する(ステップS103)。本実施例に係る3次元モデル生成システム1では、人体形状の頂点Pの座標値(X,Y,Z)を角θと角φの関数として表現する。具体的には、j番目の人の人体形状の頂点Pjiの座標値(Xji,Yji,Zji)が、公知の球面調和関数の線形和で表現されるものと仮定する。具体的には頂点Pjiの座標値(Xji,Yji,Zji)が、以下の式(4)で表される。
Figure 0006698233
上の式(4)において、Y は、以下の式(5)で表される関数であり、これが球面調和関数になる事が知られている。
Figure 0006698233
l,mは次数で、l≧|m|の関係がある。またP |m|はルジャンドルの陪多項式である。球面調和関数は公知の関数であるため、ここでは詳細は略す。また、式(4)において、球面調和関数Y の直前に記されている記号(係数)(alm_j,blm_j,clm_j)は定数値で、後述するステップS105で、k人の人体形状毎に算出される。また、式(5)及びこれ以降に挙げる式において、eは自然対数の底(ネイピア数)を表し、虚数単位を表す記号としては、英文字iを括弧で囲んだもの「(i)」が用いられる。
ステップS103では、このY の値を計算する。例として、次数lが0,1,2の場合のY の値を以下に示す。
Figure 0006698233
式(6)から分かる通り、θとφの値が既知であれば、Y の値は三角関数の値を算出することで、容易に算出可能である。ステップS102で、各頂点座標と(θ,φ)とのマッピングが定まっているため、θとφの値が既知である。そのため、ステップS103では、形状データ測定装置11はステップS102で定めたθとφの値を用いて、球面調和関数Y の値を算出する。
なお、各頂点の座標値(X,Y,Z)を表現するために用いられる球面調和関数の個数(最大何次の球面調和関数まで用いるべきか)は、多いほど精度が高い。つまり、(X,Y,Z)が多くの球面調和関数の線形和で表現されていると、角度θとφの値を用いて(X,Y,Z)を計算したときに、元の計測データ(ステップS101で計測された値)に近い値が得られる。本願発明者による実験の結果では、50次程度の球面調和関数までを用いた場合に、極めて高い精度で各頂点の座標値(X,Y,Z)が算出できることが分かっている。
続いてステップS104で、形状データ測定装置11(実測データ収集プログラム)は、変数jを用意し、jの値を初期化する(jに1を代入する)。
ステップS105では、形状データ測定装置11(実測データ収集プログラム)は、j番目の人体形状の頂点座標値Pjiの座標値(Xji,Yji,Zji)と、上で述べた式(4)を用いて、式(4)の各係数(alm_j,blm_j,clm_j)を求める。この係数の算出には、例えば最小二乗法が用いられると良い。
ステップS101で計測した、j番目の人体形状の各頂点のX座標(Xj1,Xj2,...Xjn)と、上述の式(4)(及び角度θとφの値)を用いて算出されるX座標の値との誤差二乗和Ejxは以下の式(7)のように表される。
Figure 0006698233
同様に、ステップS101で計測した、j番目の人体形状の各頂点のY座標(Yj1,Yj2,...Yjn)と、上述の式(4)(及び角度θとφの値)を用いて算出されるY座標の値との誤差二乗和は以下の式(8)に示される通りである。また、j番目の人体形状の各頂点のZ座標(Zj1,Zj2,...Zjn)と、上述の式(4)(及び角度θとφの値)を用いて算出されるZ座標の値との誤差二乗和は以下の式(9)に示される通りになる。なお、式(7),(8),(9)におけるnは、先に述べた通り、1人の人体の形状を構成する頂点座標の数である。
Figure 0006698233
Figure 0006698233
ステップS105では、上に示した式(7),(8),(9)の値Ejx,Ejy,Ejzの値が最小になるときの係数(alm_j,blm_j,clm_j)を算出する。たとえばハウスホルダー法などの、公知の計算方法を用いればよい。
係数が求められると、形状データ測定装置11はこの係数を形状データ測定装置11の記憶領域(補助記憶装置54など)に記憶する。この時、形状データ測定装置11はj番目の人の係数(alm_j,blm_j,clm_j)をj番目の人の頂点座標値のセット((Xj1,Yj1,Zj1),(Xj2,Yj2,Zj2),...(Xjn,Yjn,Zjn))と対応付けて記憶してもよいが、あるいは形状データ測定装置11はj番目の人の頂点座標値のセット((Xj1,Yj1,Zj1),(Xj2,Yj2,Zj2),...(Xjn,Yjn,Zjn))を記憶領域から削除し、係数(alm_j,blm_j,clm_j)がj番目の人の係数のセットであるという情報のみに対応付けて記憶してもよい。頂点座標値のセット(の近似値)は、係数のセットと式(4)を用いることで算出できるからである。
ステップS106では、形状データ測定装置11(実測データ収集プログラム)は、変数jに1を加算する。
ステップS107で、変数jの値がk(ステップS101で計測を行った人の数)を超過した場合、処理を終了する。変数jの値がk以下の場合には、形状データ測定装置11(実測データ収集プログラム)は再びステップS105を実行する。これを繰り返すことによりk人それぞれについて、関数の係数のセット(式(4)に示された係数(alm_j,blm_j,clm_j))を求めることができる。つまり形状データ測定装置11は、k人それぞれの人体形状データを、式(4)に示された関数として表現(関数に変換)することができ、かつk人それぞれの人体形状データを、式(4)に示された関数の形で管理(記憶)することができる。
なお、本実施形態においては、人体形状の頂点P,P,P,...,Pと球面上の点Q,Q,Q,...,Qのマッピング関係が固定的であるので、ステップS102、ステップS103の処理は予め実行しておいてもよい。つまり、人体形状の頂点P,P,P,...,Pと球面上の点Q,Q,Q,...,Qのマッピング関係の情報と、球面調和関数Y の値は、予め補助記憶装置54等の記憶領域に保存しておき、実測データ収集処理の実行時には、形状データ測定装置11(実測データ収集プログラム)はステップS102、ステップS103は実行せずに、記憶領域に保存された情報を用いてステップS105の処理を実行してよい。
続いて、仮想形状生成装置21で行われる処理を、図6等を参照しながら説明する。図6は、仮想形状生成装置21で行われる、仮想形状生成処理のフローチャートである。なお、仮想形状生成処理は、仮想形状生成装置21のCPU51が仮想形状生成装置21のメモリ52にロードされたプログラム(以下、このプログラムを「仮想形状生成プログラム」と呼ぶ)を実行することにより、実現される処理である。
仮想形状生成装置21は、形状データ測定装置11が実施した実測データ収集処理(図3)の結果得られたk人分の形状データに関連した係数(alm_j,blm_j,clm_j)を用いて、仮想形状データを算出する。そのため、仮想形状生成処理の実行が開始される前に、実測データ収集処理の実行が完了している必要がある。
まずステップS201で、仮想形状生成装置21(仮想形状生成プログラム)は、形状データ測定装置11から、k人分の係数を取得する。続いて仮想形状生成装置21(仮想形状生成プログラム)は、収集したk人分の係数の主成分分析を実施する。
主成分分析は公知の統計的手法であるため、ここでは概要のみを記す。主成分分析は、各データをできるかぎり情報損失を抑えるように張られた低次元の部分空間によって表現する統計的手法である。
ここまでの説明では、j番目の人の形状データから得られた係数(alm_j,blm_j,clm_j)と表記したが、以下では説明の簡単化のため、これらの係数alm_j,係数blm_j,係数clm_jを、「係数g」と呼ぶ。また、以下の説明では、形状データ測定装置11(実測データ収集プログラム)が実行する処理により、各人の形状データからh個の係数が得られる(各人の形状データがh個の係数に変換される)場合の例を中心に説明する。そして、j番目の人の形状データから得られたh個の係数をそれぞれ、gj1,gj2,...,gjhと表記する。また、h個の係数のセットgj1,gj2,...,gjhを、(j番目の人の)係数ベクトルと呼び、この係数ベクトルをGと表記する。
ステップS201では、このk人分の係数ベクトル(G1,2,...,)の主成分分析が行われる。主成分分析の結果、複数の主成分ベクトル(部分空間の基底)が得られる。ここで、主成分分析の結果として得られる複数の主成分ベクトルをそれぞれ、p,p,...,pとするとき(rは2以上の整数)、係数ベクトルGはたとえば以下の式(10)で表現することができる。なお、Gmeanは、k人分の係数ベクトル(G1,2,...,)の平均値を表すベクトルである(以下、平均値ベクトルと呼ぶ)。また、pはh次元のベクトルである。具体的にはpは第1主成分ベクトルを表し、p,...,pはそれぞれ第2主成分ベクトル、…第r主成分ベクトルを表す。またsjqは主成分得点を表す。sjqはスカラー値である。また以下の説明では、sj1,sj2,...,sjrのセットをSと表記する(Sはr次元のベクトルである)。式(10)から分かる通り、sj1,sj2,...,sjrの値がすべて0の時、係数ベクトルGは平均値ベクトルGmeanと等しい。
Figure 0006698233
ステップS201で、仮想形状生成装置21(仮想形状生成プログラム)は、主成分分析を行い、その結果、上に示す主成分ベクトルを得る。ステップS201ではさらに、仮想形状生成装置21(仮想形状生成プログラム)は係数ベクトルGごとに主成分得点のセットSを得る。なお、以下では特に断りのない限り、仮想形状生成装置21(仮想形状生成プログラム)が主成分分析を行った結果、第1主成分ベクトル及び第2主成分ベクトルまでを得る場合の例を説明する。
図7は、第1主成分得点を横軸に、第2主成分得点を縦軸にとったグラフ上に、係数ベクトル(G1,2,...,)をプロットした場合の例を示す(グラフ上の個々の点が、係数ベクトルに相当する)。図7は一例であり、形状データ測定装置11(実測データ収集プログラム)が測定・収集したk人の人体形状に依存して、グラフ上の係数ベクトルの分布は異なる。しかし一般的に、無作為に選択された複数人の被測定者の人体形状の測定を行い、複数人分の係数ベクトルを得て、得られた係数ベクトルの主成分分析を行うと、図7に示されるように、複数人分の係数ベクトルの分布は一様にならないことが多いと推測される。被測定者が無作為に選択された場合には、係数ベクトルの分布はたとえば多次元正規分布に従う可能性が高い。
ステップS202では、仮想形状生成装置21(仮想形状生成プログラム)は、係数ベクトル(G1,2,...,)に基づいて、係数ベクトルの分布の推定(確率密度の推定)を行う。図8は、図7に示された係数ベクトルの分布について確率密度推定を行った結果の例を示す。図8のグラフ中のいくつかの閉曲線は、確率密度が等しい線(等高線)をあらわす。図8の例の場合は、グラフの中心(第1主成分得点及び第2主成分得点がいずれも0の点)に近い閉曲線(等高線)ほど確率密度が高く、グラフの中心に対して、より遠くの位置にある閉曲線ほど、確率密度が低いことを表す。
確率密度推定を行う方法は公知であるため、ここでは詳細な説明は略す。たとえば公知の確率密度推定方法として、カーネル密度推定(KDE)が良く知られており、ステップS202では、カーネル密度推定を行うためのソフトウェア(プログラム)を用いてもよい。
先に述べた通り、形状データ測定装置11で収集したk人分の人体形状データに関する係数ベクトルは、上の式(10)のように表現することができる。また、主成分得点sjqの値を様々な値に変化させると、様々な係数ベクトルを得ることができる。たとえば下に示す式(11)に従って、係数ベクトルGを算出することにより、形状データ測定装置11によって収集されたk人分の人体形状データ以外の人体形状データを人工的に(仮想的に)生成することができる。なお、式(11)は、式(10)におけるrを2に限定し、式(10)における第1主成分得点sj1と第2主成分得点sj2をそれぞれsとsに置き換えたものである(sとsは任意のスカラー値でよい)。
Figure 0006698233
図11は、式(11)において、第1主成分得点sを変化させることで得られる、(仮想的な)人体形状データを図示したものである。なお、図11に示す(a)、(b)、(c)の各図では、第2主成分得点sがいずれも0である。図11の(b)は第1主成分得点sが0の場合(また第2主成分得点sも0)の人体形状である。つまり平均値ベクトルGmeanから得られる人体形状(平均値ベクトルGmeanの各要素を式(4)に代入して得られる各頂点座標をもとに人体形状を図示したもの)で、k人分の人体形状の平均的な形状に相当する。図11の(a)は第1主成分得点sを減少させた(負の値にした)場合に得られる人体形状である。一方、図11の(c)は第1主成分得点sを増加させた(正の値にした)場合に得られる人体形状である。図11の各図からわかるとおり、第1主成分得点sを減少させる(負の値にする)ことで、平均的な人体形状よりも身長の低い人体形状を得ることができる。逆に、第1主成分得点sを増加させる(正の値にする)ことで、平均的な人体形状よりも身長の高い人体形状を得ることができる。
図12は、式(11)において、第2主成分得点sを変化させたときに得られる、(仮想的な)人体形状データを図示したものである。図12に示す(a)、(b)、(c)の各図では、第1主成分得点sがいずれも0である。図12の(b)は図11(b)と同じ図である。つまり平均的な人体形状(第1、第2主成分得点s,sが0の場合の人体形状)である。図12の(a)は第2主成分得点sを減少させた(負の値にした)場合に得られる人体形状である。一方、図12の(c)は第2成分得点sを増加させた(正の値にした)場合に得られる人体形状である。図12の各図からわかるとおり、第2主成分得点sを減少させる(負の値にする)ことで、平均的な人体形状よりも痩せた(横幅の狭い)人体形状を得ることができる。逆に、第2主成分得点sを増加させる(正の値にする)ことで、平均的な人体形状よりも太った(横幅の広い)人体形状を得ることができる。
本実施形態では、式(11)を用いて算出した係数ベクトルG(先に述べた通り、係数ベクトルGの各要素は、式(4)の各係数(alm_j,blm_j,clm_j)に相当する)を式(4)に代入することで得られる、人体形状を構成する各頂点の座標値のセット(P,P,P,...,P)を仮想形状データと呼ぶ。ただし式(11)を用いて算出された係数ベクトルGのことも仮想形状データと呼ぶことがある。
ステップS203では仮想形状生成装置21(仮想形状生成プログラム)は、仮想形状データを多数生成する。以下では、ステップS203で生成される仮想形状データの数をN(Nは整数)とする。Nの数は任意であるが、少なくともk人よりも充分に大きい数の仮想形状データ(たとえば10万個、あるいは100万個の仮想形状データ)が生成されることが望ましい。
具体的には、第1主成分得点sの値及び第2主成分得点sの値を少しずつ変化させた値を式(11)に対して代入して、多数の係数ベクトルGを算出し、さらに算出された係数ベクトルGを式(4)に代入して、(仮想的な)人体形状の各頂点の座標値を算出する。これにより、多数の人体形状のデータ(頂点座標値のセット)を生成することができる。なお、仮想形状生成装置21は、式(4)を用いて(仮想的な)人体形状の各頂点の座標値を算出する際に必要となる、各頂点座標に対応する角度(θ,φ)を、あらかじめ仮想形状生成装置21の記憶領域(補助記憶装置54等)に保存している。仮想形状生成装置21(仮想形状生成プログラム)がステップS203を実行する時には、あらかじめ保存している各頂点座標に対応する角度(θ,φ)ごとに、球面調和関数Y (θ,φ)の値を算出する。そして、この球面調和関数Y (θ,φ)の値と、式(11)を用いて算出した係数ベクトルGの各要素(これは式(4)の各係数(alm_j,blm_j,clm_j)に相当する)とを式(4)に代入することで、(仮想的な)人体形状の各頂点の座標値を算出する。また、別の実施形態として、仮想形状生成装置21は角度(θ,φ)に対応する球面調和関数Y (θ,φ)の値もあらかじめ保存しておき、あらかじめ保存しておいた球面調和関数Y (θ,φ)の値を使って、(仮想的な)人体形状の各頂点の座標値を算出してもよい。
なお、ステップS203において生成される複数の仮想形状の分布は、実態に即している(実際に世の中にいる人の形状の分布・傾向に近い)ことが望ましい。そこで、ステップS203では仮想形状生成装置21(仮想形状生成プログラム)は、算出される複数の仮想形状の分布が、ステップS202で得られた係数ベクトルの分布(確率密度関数)に従うように、算出処理を行う。ステップS202で得られる係数ベクトルの分布は、実際に存在する(複数の)人のデータに基づいて生成されたものであるから、実態に近い分布であると考えられるためである。
算出方法の概要を、図9を用いて説明する。たとえばステップS202で得られた係数ベクトルの分布(確率密度関数)が、図9に示されるような曲線A(関数F(x))だった場合を想定する。実際にステップS202で得られる係数ベクトルの分布は二次元の確率密度関数だが、ここでは説明を簡単にするため、関数F(x)を第1主成分得点のみの関数(あるいは第2主成分得点のみの関数)とする。
ステップS203でN個の係数ベクトルが生成されるケースを想定する。また図9において、第1主成分得点の値の範囲xからxの範囲の領域Bの面積がB(0<B<1)だった場合、仮想形状生成装置21(仮想形状生成プログラム)は、ステップS203で生成される係数ベクトルの総数(N個)に対して、第1主成分得点の値がxからxの区間に収まる係数ベクトルの数(M)の割合がBになるようにする(M/N=Bになるようにする)。言い換えれば、仮想形状生成装置21(仮想形状生成プログラム)は第1主成分得点の値がxからxの範囲の係数ベクトルを(B×N)個生成すると良い。
ステップS203で生成される係数ベクトルGの分布が、ステップS202で求められた分布(確率密度関数)と(ほぼ)同じになるようにするためには、たとえば棄却法を用いて、係数ベクトルGの算出に必要な第1主成分得点sの値及び第2主成分得点sの値のペアを生成するとよい。棄却法は公知の手法であるため、ここでは概略のみ説明する。
ここでは、ステップS202で求められた確率密度関数をf(s,s)と呼ぶ(fは第1主成分得点及び第2主成分得点の関数であり、s,sはそれぞれ第1主成分得点及び第2主成分得点を意味する)。またここでは確率密度関数fの値域が[0,c]で、第1主成分得点(s)及び第2主成分得点(s)の定義域が[−d,d]である場合の例を説明する。
(A) 仮想形状生成装置21(仮想形状生成プログラム)は、一様乱数を生成するためのプログラム(以下「乱数生成モジュール」と呼ぶ)を実行することで、[−d,d]の範囲の一様乱数を2つ求める。ここで求められた2つの一様乱数をsr1及びsr2と呼ぶ。そして仮想形状生成装置21(仮想形状生成プログラム)は、求められたsr1及びsr2を用いて、確率密度関数fの値(f(sr1,sr2))を計算する。
(B) さらに仮想形状生成装置21(仮想形状生成プログラム)は、乱数生成モジュールを実行することで、[0,c]の範囲の一様乱数を1つ求める。ここで求められる乱数をrとする。
(C) 仮想形状生成装置21(仮想形状生成プログラム)はrとf(sr1,sr2)を比較する。r<f(sr1,sr2)であった場合、仮想形状生成装置21(仮想形状生成プログラム)はsr1,sr2をそれぞれ、第一主成分得点及び第2主成分得点として採択し、これらを用いて仮想形状データを生成する(式(11)のsにsr1を代入し、sにsr2を代入することで係数ベクトルGを算出し、また算出された係数ベクトルGを式(4)に代入して、(仮想的な)人体形状の各頂点の座標値を算出する)。逆にr≧f(sr1,sr2)だった場合には、仮想形状生成装置21(仮想形状生成プログラム)は仮想形状データの算出は行わない(生成されたsr1,sr2を棄却する)。
上の(A)〜(C)を繰り返すことで、生成される複数の係数ベクトルの分布は確率密度関数fに従うものになる。仮想形状生成装置21(仮想形状生成プログラム)は、必要な数(たとえば十万〜百万)の仮想形状データが生成されるまで、上の(A)〜(C)を繰り返し実行する。また、ステップS203で生成されるべき複数の係数ベクトルはそれぞれ異なるベクトルであることが好ましい(重複する仮想形状データが生成されても、それは後述するモデル出力処理で用いられないためである)。そのため、上の(A)〜(C)の処理の過程で、同じ(重複する)係数ベクトルが生成された場合、その係数ベクトルは棄却される。このように、重複する係数ベクトルが生成されないようにすることで、それぞれが異なる形状(体格)を表す、多数の仮想形状データを生成することができる。ただし、重複する係数ベクトルが生成されても(つまり、重複する仮想形状データが生成されても)大きな問題にはならないため、重複する係数ベクトルが生成された場合にその係数ベクトルを棄却する処理は省略されてもよい。
ステップS203で生成された、複数の係数ベクトルの分布の例を図10に示す。図10は、図7(あるいは図8)と同様に、第1主成分得点を横軸に、第2主成分得点を縦軸にとったグラフであり、このグラフ上に、ステップS203で生成された複数の係数ベクトルがプロットされている。ステップS203ではN個の(k(個)よりも多くの)係数ベクトルが生成されるため、図10のグラフ上の点の密度は図7(あるいは図8)よりも高い。ただし図10のグラフにおいて、各点(係数ベクトル)の分布は図7(あるいは図8)と類似している。
最後にステップS204で、仮想形状生成装置21(仮想形状生成プログラム)は、ステップS203で算出されたすべての仮想形状データから、サイズ情報(身長や胸囲などの、体格や身体的特徴を表す値)を算出する。ここではサイズ情報として、身長と胸囲が算出される例を説明する。ステップS203で、(仮想的な)人体形状の各頂点の座標値が求められているので、身長や胸囲等は容易に算出可能である。仮想形状生成プログラムは、たとえば身長は、「頭部を構成する複数の頂点の中の、特定の頂点PのZ座標と、足の裏を構成する複数の頂点の中の特定の頂点PのZ座標の差」を算出することで求められる、という計算規則を保持している。同様に仮想形状生成プログラムは、複数の頂点座標値から胸囲を計算するための計算規則も保持している。仮想形状生成プログラムは、これらの計算規則に基づいて、身長や胸囲を算出する。
なお、ステップS204で算出される値は、後述するモデル提供装置31で用いられる値(条件情報としてモデル提供装置31がユーザから受け付ける値)である。そのため、たとえば条件情報としてモデル提供装置31がユーザから受け付ける値として、肩幅が含まれている場合、ステップS204で仮想形状生成装置21(仮想形状生成プログラム)は肩幅の値も算出する。
身長と胸囲の算出が終了すると、仮想形状生成装置21は、算出された身長と胸囲の値を、ステップS203で算出された係数ベクトルGと人体形状の各頂点の座標値のセットに対応付けて、仮想形状生成装置21の補助記憶装置54に保存し、仮想形状生成処理を終了する。なお、ここで人体形状の各頂点の座標値は必ずしも保存されなくてもよい。係数ベクトルGが保存されていれば、係数ベクトルを用いて人体形状の各頂点の座標値を算出可能だからである。
最後に、モデル提供装置31で行われる、モデル出力処理の流れを説明する。図13は、モデル出力処理のフローチャートである。なお、モデル出力処理は、モデル提供装置31のCPU51がモデル提供装置31のメモリ52にロードされたプログラム(以下、このプログラムを「モデル出力プログラム」と呼ぶ)を実行することにより、実現される処理である。なおモデル出力処理が実行される前に、仮想形状生成装置21で行われる仮想形状生成処理(図6)の実行が完了している必要がある。
また、以下の説明ではモデル提供装置31に接続されている出力装置33はディスプレイ装置であり、モデル提供装置31はユーザから入力された条件(身長及び胸囲)に適合する1または複数の人体形状(仮想的な人体形状)をディスプレイ装置に表示する例を説明する。
モデル出力プログラムの実行が開始されると、モデル提供装置31はユーザから、表示させたい人体形状の条件の入力を受け付ける(ステップS301)。なお、ここの説明では、人体形状の条件として、身長と胸囲の入力を受け付ける例を説明する。
モデル出力プログラムの実行が開始されると、モデル提供装置31はユーザから、表示させたい人体形状の条件の情報(身長と胸囲)の入力を受け付ける(ステップS301)。なおモデル提供装置31は、ユーザからの条件情報の入力を受け付け、それに応じた人体形状の表示を行うためのグラフィカルユーザインタフェース(GUI)を提供する機能を備えているが、ここで提供されるGUIは本実施例の内容とは直接関係しないため、詳細な説明は略す。
ユーザから、表示させたい人体形状の条件(身長と胸囲)を受け付けると、ステップS302が実行される。ステップS302では、モデル提供装置31は仮想形状生成装置21から、複数の仮想形状データ(仮想形状生成装置21で生成されたもの)に対応付けられて保存されている、サイズ情報(身長及び胸囲の情報)を取得する。モデル提供装置31は、取得した複数のサイズ情報の中から、ユーザから受け付けた条件に適合するサイズ情報を1または複数選択する。
ユーザから受け付けた条件に適合するサイズ情報を選択する方法は、特定のものに限定されない。たとえば、ユーザが指定した身長に最も近い身長の仮想形状データを1つ選択し、さらにユーザが指定した胸囲に最も近い胸囲の仮想形状データを1つ選択し、それぞれの(2つの)仮想形状データに基づいて生成される人体形状画像を、出力装置33に出力してもよい。あるいは、仮想形状データがユーザが指定した条件にどの程度適合しているかを表す一種のスコア(適合度)を仮想形状データ毎に算出し、スコアの最も高い仮想形状データを1つ選択する、あるいは複数(たとえば5つ)の仮想形状データをスコアの高い順に選択するようにしてもよい。
スコアの算出方法の例を以下に示す。ユーザが指定した身長と胸囲をそれぞれT,Bとし、(スコア(適合度)算出対象の)仮想形状データに対応付けられた身長と胸囲をそれぞれ、T'、B'とする。この場合、たとえば以下の式(12)で算出される値をスコア(適合度)と定義してよい。式(12)で算出されるスコアは0以下の値を取る。スコアが0に近いほど、そのサイズ情報(T'とB')がユーザの指定した条件に近いことを表す。
Figure 0006698233
ステップS302で、モデル提供装置31は式(12)を用いて各サイズ情報のスコアを算出し、スコアの高いサイズ情報から順に選択してもよい。ただし、上で説明した式(12)以外の計算式によってスコア(適合度)が算出されてもよい。
ユーザから指定された条件に適合するサイズ情報が選択されると、モデル提供装置31は仮想形状生成装置21から、選択されたサイズ情報に対応する、人体形状の各頂点の座標値を取得する(ステップS303)。もし仮想形状生成装置21が仮想形状生成処理を実行したときに(ステップS203、ステップS204で)、人体形状の頂点座標値を保存していない場合(係数ベクトルと、サイズ情報[身長・胸囲]だけを保存している場合)、モデル提供装置31はステップS303で、選択されたサイズ情報に対応する係数ベクトルを仮想形状生成装置21から取得し、取得した係数ベクトルと式(4)を用いて、選択された仮想形状の各頂点の座標値を算出する。また、ステップS302でサイズ情報を取得する際に、サイズ情報とともに係数ベクトル(または人体形状の頂点座標値)を取得してもよい。その場合には、ステップS303は実行されなくてもよい。
ステップS304で仮想形状生成装置21は、ステップS303で取得(または算出)された、各頂点の座標値を用いて、選択された(仮想的な)人体形状の画像(3次元CG)を作成してディスプレイ装置(出力装置33)に表示し、モデル出力処理を終了する。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
たとえば上で説明した実施形態では、実測データ収集処理、仮想形状生成処理、モデル出力処理がそれぞれ、異なるコンピュータ(形状データ測定装置11、仮想形状生成装置21、そしてモデル提供装置31)で実行される例を説明した。ただし、実測データ収集処理、仮想形状生成処理、モデル出力処理は必ずしも、異なるコンピュータで実行される必要はなく、これらの処理が1台のコンピュータで実行されて良い。たとえば3次元モデル生成システムが、3Dスキャナと出力装置(ディスプレイ装置あるいは3Dプリンタ)が接続された1台のコンピュータで構成されていてもよい。この場合には、このコンピュータに実測データ収集プログラム、仮想形状生成プログラム、モデル出力プログラムをインストールし、この1台のコンピュータで、実測データ収集処理、仮想形状生成処理、仮想形状生成処理を順次実行させることで、上で説明した実施形態と同じことが実現できる。
また、上で説明した各処理の実行順序は適宜変更されてもよい。たとえば上の説明では、仮想形状データに対応するサイズ情報(身長や胸囲)を、仮想形状生成装置21が仮想形状生成処理実行時(ステップS204)に算出しているが、別の例として、モデル出力処理実行時に(たとえばステップS302の実行時に)サイズ情報の算出が行われてもよい。
また、上で説明した仮想形状生成処理の説明では、仮想形状データの生成に第1主成分ベクトルと第2主成分ベクトル(及び第1・第2主成分得点)のみを用いる例を説明したが、これは一例に過ぎない。第3主成分以降の主成分ベクトルも仮想形状データの生成に用いられてもよい。
また、上で説明した実施形態では、モデル出力処理において、仮想形状生成処理で生成された仮想形状データの中からのみ、ユーザの入力した条件に適合するものを検索(選択)しているが、実測データの中にユーザの入力した条件に適合するものが含まれていることもあり得る。そのため、別の実施形態として、仮想形状データに加えて、実測データについてもサイズ情報を生成し、実測データの中にユーザの入力した条件に適合するものが含まれていれば、実測データに基づいて3次元人体形状画像を作成して出力してもよい。たとえば仮想形状生成処理実行時に、形状データ測定装置11から仮想形状生成装置21に実測データを送信し、仮想形状生成装置21において実測データについてサイズ情報を生成するとよい。ただし仮想形状生成装置21以外の装置で(たとえば形状データ測定装置11などで)、実測データについてサイズ情報を生成する処理が行われてもよい。また、上で説明した仮想形状生成処理で生成される仮想形状データが、複数の実測データのいずれかと同じになることもあり得る。別の実施形態として、仮想形状生成処理で生成される仮想形状データが、いずれの実測データとも重複しないようにする処理を行ってもよい。たとえば上で説明したステップS203において、生成された仮想形状データと実測データとを比較して、生成された仮想形状データがいずれかの実測データと重複していた場合に仮想形状データを作り直す処理を行ってもよい。ただし、生成された仮想形状データと実測データとを逐一比較する処理はオーバーヘッドが大きい。また仮想形状生成処理で生成される仮想形状データがいずれかの実測データと重複していたとしても、特段問題にはならないため、仮想形状データが、いずれの実測データとも重複しないようにする処理は必須ではない。
また、上で説明した実施形態では、3Dスキャナなどで計測した実測データ(XYZ座標値のセット)を、式(4)に示した関数(角θと角φの関数。具体的には「複数の球面調和関数×所定の係数」の線形和)に変換して、変換された関数に含まれる各係数についての主成分分析を行っている。しかし別の実施形態として、実測データを式(4)に示すような関数に変換せず、仮想形状生成処理ではXYZ座標値のセットについて主成分分析を行い、その結果をもとに仮想形状データの生成等を行ってもよい。その場合、式(4)を用いた変換処理は不要になる。しかし、本願発明者による検証結果によると、XYZ座標値のセットについて主成分分析を行って、その結果をもとに仮想形状データの生成等を行った場合、仮想形状データを生成する際に、多くの主成分ベクトル(第3主成分ベクトル以降の主成分ベクトル)を用いた計算を行わないと、実際の人体に近い形状が得られない等の問題が分かっている。一方、上の実施形態で説明した方法のように、人体形状データを角度(角θと角φ)の関数に変換し、関数の係数を主成分分析した結果を用いて仮想形状データを生成する場合には、第2主成分までを用いれば、比較的実際の人体に近い形状を得ることができる。
また、人体形状は、性別や年齢によって違いが出ることもある。そのため、例えば実測データ収集処理において男性のみの(あるいは女性のみの)実測データを収集し、仮想形状データの生成においても、男性のみ(あるいは女性のみ)の実測データに基づいた仮想形状データを生成してもよい。そしてモデル出力処理でユーザが人体形状の出力・表示を行う際には、男性の人体形状を出力する場合には男性のみの実測データに基づいた仮想形状データを用いて出力を行う、逆に女性の人体形状を出力する場合には女性のみの実測データに基づいた仮想形状データを用いて出力を行ってもよい。
また、上では人体形状の分析、生成、出力についての処理を中心に説明してきたが、本発明は人体以外の物体(3次元オブジェクト)の分析、生成、出力に適用することも可能である。さらに2次元オブジェクト(たとえば紙に描かれた人物の形状など)の分析、生成、出力への適用も可能である。
本願は、日本特許庁に2019年4月10日に出願された特願2019−74909号の優先権を主張するものであり、その全内容を参照によりここに援用する。
1 3次元モデル生成システム
10 ネットワーク
11 形状データ測定装置
12 3Dスキャナ
21 仮想形状生成装置
31 モデル提供装置
33 出力装置

Claims (6)

  1. 実測により得られたk個(kは1より大きい整数)の人体形状データの多変量解析を行う分析ステップと、
    前記分析ステップにより得られた特徴成分をもとに、N個(N>k)の仮想的な人体形状データを生成する、仮想形状生成ステップと、
    身体の所定位置のサイズを表すサイズ情報をユーザから受け付ける、情報入力ステップと、
    前記N個の仮想的な人体形状データそれぞれについて、前記身体の所定位置のサイズを算出する、サイズ算出ステップと、
    前記N個の仮想的な人体形状データの前記身体の所定位置のサイズに基づいて、前記ユーザから受け付けた前記サイズ情報に適合する仮想的な人体形状データを選択する、選択ステップと、
    前記選択ステップで選択された前記仮想的な人体形状データに基づく人体形状を、出力装置に出力する、出力ステップと、
    を、コンピュータに実行させる、3次元モデル生成プログラムであって、
    前記実測により得られた人体形状データはそれぞれ、3次元直交座標系上のn個の点の座標値のセットであり、
    前記分析ステップでは、
    前記k個の人体形状データのそれぞれについて、前記3次元直交座標系上のn個の点の座標値のセットを、所定の係数が乗算された複数の球面調和関数の線形和に変換し、
    前記複数の球面調和関数のそれぞれに乗算されている前記係数の集合である係数ベクトルについて、主成分分析を実行する、
    ことを特徴とする、3次元モデル生成プログラム
  2. 前記係数ベクトルは、前記主成分分析により得られる複数の特徴成分である、複数の主成分ベクトルの和として表現され、
    前記仮想形状生成ステップでは、前記主成分ベクトルの大きさを変化させることで、N個の仮想的な係数ベクトルを生成し、
    前記N個の仮想的な係数ベクトルを用いて、前記N個の仮想的な人体形状データを生成する、
    請求項に記載の3次元モデル生成プログラム。
  3. 前記仮想形状生成ステップでは、前記実測により得られたk個の人体形状データの分布を求め、前記N個の仮想的な人体形状データの分布が、前記k個の人体形状データの分布と等しくなるように、前記N個の仮想的な人体形状データを生成する
    請求項に記載の3次元モデル生成プログラム。
  4. 前記サイズ情報は、人体の身長であり、
    前記サイズ算出ステップでは、前記仮想的な人体形状データを構成する座標値を用いて、前記仮想的な人体形状データによって表される人体形状の身長を算出する、
    の情報を含んでおり、
    請求項1に記載の3次元モデル生成プログラム。
  5. 前記分析ステップでは、
    前記実測により得られた人体形状データを表す前記n個の点の座標値のセット(X,Y,Z) (i=1,2,...n)を、以下の式で表される、複数の球面調和関数の線形和に変換する、
    請求項に記載の3次元モデル生成プログラム。
    Figure 0006698233
    (alm,blm,clmは係数で、l,mは、l≧|m|の関係がある0以上の整数で、P |m|はルジャンドルの陪多項式で、eは自然対数の底で、(i)は虚数単位を表す)
  6. 出力装置を有するコンピュータが、
    実測により得られたk個(kは1より大きい整数)の人体形状データの多変量解析を行う分析ステップと、
    前記分析ステップにより得られた特徴成分をもとに、N個(N>k)の仮想的な人体形状データを生成する、仮想形状生成ステップと、
    身体の所定位置のサイズを表すサイズ情報をユーザから受け付ける、情報入力ステップと、
    前記N個の仮想的な人体形状データそれぞれについて、前記身体の所定位置のサイズを算出する、サイズ算出ステップと、
    前記N個の仮想的な人体形状データの前記身体の所定位置のサイズに基づいて、前記ユーザから受け付けた前記サイズ情報に適合する仮想的な人体形状データを選択する、選択ステップと、
    前記選択ステップで選択された前記仮想的な人体形状データに基づく人体形状を、出力装置に出力する、出力ステップと、
    を実行する3次元モデルの生成方法であって、
    前記実測により得られた人体形状データはそれぞれ、3次元直交座標系上のn個の点の座標値のセットであり、
    前記分析ステップでは、
    前記k個の人体形状データのそれぞれについて、前記3次元直交座標系上のn個の点の座標値のセットを、所定の係数が乗算された複数の球面調和関数の線形和に変換し、
    前記複数の球面調和関数のそれぞれに乗算されている前記係数の集合である係数ベクトルについて、主成分分析を実行する、
    ことを特徴とする、3次元モデルの生成方法
JP2019571382A 2019-04-10 2019-06-25 3次元モデルの生成方法、及び3次元モデル生成プログラム Active JP6698233B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019074909 2019-04-10
JP2019074909 2019-04-10
PCT/JP2019/025208 WO2020208836A1 (ja) 2019-04-10 2019-06-25 3次元モデルの生成方法、及び3次元モデル生成プログラム

Publications (2)

Publication Number Publication Date
JP6698233B1 true JP6698233B1 (ja) 2020-05-27
JPWO2020208836A1 JPWO2020208836A1 (ja) 2021-04-30

Family

ID=70775997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019571382A Active JP6698233B1 (ja) 2019-04-10 2019-06-25 3次元モデルの生成方法、及び3次元モデル生成プログラム

Country Status (1)

Country Link
JP (1) JP6698233B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268626A (zh) * 2021-05-26 2021-08-17 中国人民武装警察部队特种警察学院 数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102855A (ja) * 2015-12-04 2017-06-08 株式会社オンワードホールディングス 三次元形状オブジェクトの平均形状算出方法及びそのプログラム
JP6424309B1 (ja) * 2018-08-15 2018-11-14 裕樹 有光 採寸値に基づく3次元モデルを生成するプログラム及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102855A (ja) * 2015-12-04 2017-06-08 株式会社オンワードホールディングス 三次元形状オブジェクトの平均形状算出方法及びそのプログラム
JP6424309B1 (ja) * 2018-08-15 2018-11-14 裕樹 有光 採寸値に基づく3次元モデルを生成するプログラム及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268626A (zh) * 2021-05-26 2021-08-17 中国人民武装警察部队特种警察学院 数据处理方法、装置、电子设备及存储介质
CN113268626B (zh) * 2021-05-26 2024-04-26 中国人民武装警察部队特种警察学院 数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JPWO2020208836A1 (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
Lipman et al. Biharmonic distance
Marcolin et al. Novel descriptors for geometrical 3D face analysis
EP3836070A1 (en) Face pose estimation/three-dimensional face reconstruction method and apparatus, and electronic device
JP4793698B2 (ja) 画像処理システム、3次元形状推定システム、物体位置姿勢推定システム及び画像生成システム
JP5231685B1 (ja) 顔印象分析方法、美容カウンセリング方法および顔画像生成方法
JP2006520054A (ja) 不変視点からの画像照合および2次元画像からの3次元モデルの生成
JP2009080796A5 (ja)
Abouelaziz et al. A curvature based method for blind mesh visual quality assessment using a general regression neural network
JP2007102412A (ja) モデリングシステム、モデリング方法およびプログラム
WO2005038672A1 (ja) 調査対象文書の文書特徴分析装置
JP6698233B1 (ja) 3次元モデルの生成方法、及び3次元モデル生成プログラム
JP2008123216A (ja) 認証システム及び認証方法
JP2015184061A (ja) 抽出装置、方法及びプログラム
Meidiana et al. Quality metrics for symmetric graph drawings
JP6617016B2 (ja) 三次元形状オブジェクトの平均形状算出方法及びそのプログラム
KR101444816B1 (ko) 얼굴 인상 변환을 위한 영상처리방법 및 영상처리장치
Zhu et al. Cascaded normal filtering neural network for geometry-aware mesh denoising of measurement surfaces
JP2001325294A (ja) 類似画像検索方法および類似画像検索装置
WO2020208836A1 (ja) 3次元モデルの生成方法、及び3次元モデル生成プログラム
JP6725310B2 (ja) 画像処理装置及びプログラム
JP2023167320A (ja) 学習モデル生成装置、関節点検出装置、学習モデル生成方法、関節点検出方法、及びプログラム
JP2009129279A (ja) 機械学習装置及び機械学習方法
Zhao et al. Craniofacial similarity analysis through sparse principal component analysis
Kaliszewska et al. A comprehensive study of clustering a class of 2D shapes
Yunqi et al. 3D face recognition by surface classification image and PCA

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191223

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191223

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200407

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: 20200421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200427

R150 Certificate of patent or registration of utility model

Ref document number: 6698233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250