【文献】
森島繁生, 外13名,“新映像技術「ダイブイントゥザムービー」”,電子情報通信学会誌,日本,社団法人電子情報通信学会,2011年 3月22日,第94巻, 第3号,p.250-268
【文献】
佐藤貴子, 外4名,“人体骨格CGモデルを用いた人体動作データベースの構築”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2000年 5月 2日,第100巻, 第31号,p.73-80
【文献】
今井さやか, 外2名,“Mediator概念に基づく身体形状・動作のモデル化とデータベース設計”,情報処理学会論文誌,日本,社団法人情報処理学会,2000年 2月15日,第41巻, 第SIG1(TOD5)号,p.100-108
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
1.構成
図1は、一実施形態に係る3Dデータシステム1の概略を示す図である。3Dデータシステム1は、被写体の表面を撮影した画像(以下「撮影画像」という)を用いて3Dモデリングデータを生成し、これを記憶し、さらに要求に応じて3Dモデリングデータをアプリケーションに提供するシステムである。「被写体」は3Dモデリングデータを生成する対象となる物体をいい、人間や動物などの生物、及び人形や家具などの無生物を含む。3Dモデリングデータは、3Dモデルを表示するためのデータをいう。3Dモデルとは、3次元仮想空間における立体のデータをいう。3Dモデルは、少なくとも、被写体の表面形状及び表面の色彩に関する情報を含む。
【0024】
3Dデータシステム1は、3Dデータ入力システム10、3Dデータ処理システム20、及びアプリケーション30を有する。3Dデータ入力システム10は、撮影画像から3Dモデリングデータを生成する。3Dデータ入力システム10は、例えばいわゆる3Dスキャナを含む。3Dデータ処理システム20は、3Dデータ入力システム10により生成された3Dモデリングデータを処理及び記憶する。アプリケーション30は、3Dモデリングデータを利用した製品又はサービスをユーザに提供する。なお図では3Dデータ入力システム10及びアプリケーション30はそれぞれ1つずつ示されているが、3Dデータシステム1は、3Dデータ入力システム10及びアプリケーション30の少なくともいずれか一方を複数、有してもよい。一例として、3Dデータ入力システム10はローカルなシステムであり、3Dデータ処理システム20はネットワーク上のシステム、いわゆるクラウドシステムである。
【0025】
図2は、3Dデータシステム1の機能構成を例示する図である。3Dデータシステム1は、取得部11、生成部12、付加部21、記憶部22、及び出力部25を有する。取得部11は、撮影画像及び距離情報を取得する(画像取得部の一例)。撮影画像は、被写体の表面を撮影した画像である。距離情報は、基準点から被写体の表面までの距離を示す情報である。取得部11は、カメラ等の撮影装置及び距離センサー(いずれも
図2では図示略)から撮影画像及び距離情報を取得する。生成部12は、撮影画像及び距離情報を用いて、被写体の3Dモデリングデータを生成する。付加部21は、生成部12により生成された3Dモデリングデータに対し、その3Dモデリングデータの動的な個性データを付加する。個性データとは、3Dモデルの個性(多くの場合、被写体の個性に相当する)を示すデータである。この例において、個性データは動的な個性を示す。記憶部22は、種々のデータ、例えば、個性データが付加された3Dモデリングデータを記憶する。出力部25は、アプリケーション30からの要求に応じて3Dモデリングデータ及び個性データを出力する。
【0026】
3Dデータシステム1は、さらに、推定部24を有する。推定部24は、3Dモデリングデータを用いて、対象となる被写体の個性を推定する。付加部21が3Dモデリングデータに付加する個性データには、推定部24により推定された個性を示すデータが含まれる。
【0027】
3Dデータシステム1は、さらに、取得部13及び計算部14を有する。取得部13は、3Dモデリングデータから(又は撮影画像から)複数の特徴点を取得する(特徴取得部の一例)。これらの特徴点は、3Dモデル(又は被写体)の形状に関する特徴を示す点(
図7等を参照して後述する)をいいう。計算部14は、複数の特徴点の位置関係に関する特徴量を計算する。推定部24は、対象となる被写体の個性を、この特徴量を用いて推定する。
【0028】
3Dデータシステム1は、さらに、分類部23を有する。分類部23は、被写体を複数のグループのいずれかに分類する。推定部24は、対象となる被写体の個性を、この分類に基づいて推定する。
【0029】
一例において、複数の特徴点の位置関係に関する特徴量は、被写体(3Dモデル)の静的な特徴を示す。静的な特徴とは、単一のポーズの被写体から得られる特徴をいう。これに対し動的な特徴とは、3Dモデルに複数のポーズ(又はモーション)を与えるための特徴(
図11等を参照して後述する)をいう。既に説明したように、推定部24が推定する個性は、被写体の動的な個性、すなわち動的な特徴である。推定部24は、この例においては、静的な特徴を用いて動的な特徴を推定する。
【0030】
この例において、取得部11、生成部12.取得部13、及び計算部14は3Dデータ入力システム10に実装され、付加部21、記憶部22、分類部23、及び推定部24は3Dデータ処理システム20に実装される。なお、3Dデータ入力システム10及び3Dデータ処理システム20における機能の分担はあくまで例示であり、機能の分担は
図2の例に限定されない。
【0031】
図3は、3Dデータ入力システム10の構成を例示する図である。この例において、3Dデータ入力システム10は、いわゆる3Dスキャナである。3Dデータ入力システム10は、センサー群SD、ステージT、フレームF、及び画像処理装置100を有する。センサー群SDは、カメラC及び距離センサーDのセットを複数、含む。センサー群SDが固定された状態において、各カメラCは、被写体Sの表面のうちある限られた一部の領域のみを撮影する。距離センサーDは、その距離センサーDが設置された位置(基準位置の一例)から被写体Sの表面までの距離を検知する。距離センサーDは、赤外光等の可視光外の波長で所定のパターン図形(例えば格子)の像を投写する投写部、及び投写された像を読み取る撮像部を有する。セットになっているカメラC及び距離センサーDは、共通のマウント台Mに固定され、両者の光軸はほぼ同じ位置を向いている。フレームF(センサー群SD)は、ステージTに対し相対的に回転する。設置面に対しフレームFが固定された状態でステージTが回転してもよいし、設置面に対しステージTが固定された状態でフレームFがステージTの回りを回転してもよい。フレームFとステージTとが相対的に回転している間に、カメラCは被写体Sを撮影する。フレームFとステージTと相対的に静止している状態では、センサー群SDは被写体Sの表面のうちある限られた一部の領域のみしかカバーしていない。しかし、フレームFとステージTとを相対的に360°回転させ、その間に連続的に撮影することによって、センサー群SDは被写体Sの表面の全領域を撮影する。
【0032】
なお
図3はあくまで3Dデータ入力システム10の構成の一例であって、3Dデータ入力システム10はこの構成に限定されない。例えば、3Dデータ入力システム10において、被写体Sの表面の全領域を空間的にカバーできる十分な数のセンサー群SDが、適切な位置に設置されていてもよい。この場合、センサー群SDはステージTに対して固定される。さらに別の例示で、3Dデータ入力システム10は、ステージTを上から見たときに所定の間隔(例えば120°おき)に複数のフレームFを有してもよい。この場合、フレームFとステージTとが相対的に120°回転すれば、センサー群SDは被写体Sの表面の全領域を撮影することができる。
【0033】
図4は、3Dデータ処理システム20のハードウェア構成を例示する図である。3Dデータ処理システム20は、CPU(Central Processing Unit)201、メモリ202、ストレージ203、及びネットワークIF204を有するコンピュータ装置である。CPU201は、プログラムに従って処理を実行し、3Dデータ処理システム20の他のハードウェア要素を制御する制御装置である。メモリ202は、CPU201がプログラムを実行する際のワークエリアとして機能する主記憶装置であり、例えばRAM(Random Access Memory)を含む。ストレージ203は、各種のプログラム及びデータを記憶する不揮発性の補助記憶装置であり、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)の少なくとも一方を含む。ネットワークIF204は、所定の通信規格(例えばTCP/IP)に従った通信を行うためのインターフェースであり、例えばNIC(Network Interface Card)を含む。
【0034】
この例において、ストレージ203は、コンピュータ装置を3Dデータ処理システム20として機能させるためのプログラム(以下「3Dデータ処理プログラム」という)を記憶している。CPU201が3Dデータ処理プログラムを実行することにより、コンピュータ装置に
図2の機能が実装される。3Dデータ処理プログラムを実行しているCPU201は、付加部21、記憶部22、分類部23、及び推定部24の一例である。
【0035】
アプリケーション30は、3Dモデリングデータを用いるものであれば、どのようなものであってもよい。一例として、アプリケーション30は、IDカード、名刺、ヴァーチャルコミュニケーション、ビデオゲーム、着せ替え(試着)、採寸、ヴァーチャルシアター、フィットネス、医療、及び映画製作のうち少なくとも1つを含む。
【0036】
2.動作
図5は、3Dデータシステム1の一実施形態に係る動作(3Dデータ処理方法)を例示する図である。
図5は動作の概要を示している。ステップS1において、3Dデータ入力システム10は、被写体の3Dモデリングデータを生成する。ステップS2において、3Dデータ処理システム20は、3Dモデリングデータに個性データを付加する処理を行う。個性データが与えられることにより、3Dモデリングデータの動きに個性が与えられる。ステップS3において、アプリケーション30は、3Dモデリングデータ及び個性データを用いて、ユーザに製品又はサービスを提供する。
【0037】
2−1.動作例1
2−1−1.3Dモデリングデータの生成
図6は、被写体の3Dモデリングデータを生成する処理の詳細を例示する図である。
図6は、3Dデータシステム1が複数の被写体(以下「既存の被写体」という)の各々について3Dモデリングデータを既に記憶した状態で、新たな被写体(以下「対象被写体S」という)について3Dモデリングデータを生成する状況を想定する。
図6の処理は、例えば、3Dデータ入力システム10に対しユーザが3Dモデリングデータの生成を指示したことを契機として開始される。
【0038】
ステップS11において、3Dデータ入力システム10は、対象被写体Sを撮影し、撮影画像を得る。対象被写体Sはあらかじめ決められたポーズで撮影される。3Dデータ入力システム10は、撮影画像に加え、カメラCまでの距離を計測するための画像(例えば赤外線のパターン図形の像。以下「パターン画像」という)を取得する。
【0039】
ステップS12において、3Dデータ入力システム10は、撮影画像から3Dモデリングデータを生成する。3Dデータ入力システム10は、カメラCからパターン画像における各点までの距離、すなわち対象被写体Sの表面の立体形状を、パターン画像を用いて計算する。3Dデータ入力システム10は、計算された立体形状に対して撮影画像を貼り付ける。こうして、対象被写体Sの3Dモデリングデータが得られる。
【0040】
ステップS13において、3Dデータ入力システム10は、3Dモデリングデータから特徴点を取得する。この特徴点は、3Dモデリングデータから得られる。形状の特徴点は、例えば、3Dモデルにおける、いわゆるボーンの端点である。ボーンは、3Dモデルに動き(モーション)を与えるための仮想的な構造である。
【0041】
この例において、3Dデータ入力システム10は、3Dモデルのボーン構造の標準モデルを有している。標準モデルは、例えば現実の人体の骨格構造に準じたボーン構造を有する。標準モデルは、例えば、成人男性、成人女性、老人男性、老人女性、幼年男子、及び幼年女子などのカテゴリーに分類される。3Dデータ入力システム10は、これら複数の標準モデルの中からユーザの属性に応じた標準モデルを選択する。3Dデータ入力システム10は、例えば、撮影画像を用いてユーザの属性(例えば年齢及び性別)を自動的に判断する。あるいは、3Dデータ入力システム10は、自身の属性を入力するようユーザに促し、ユーザの入力に従ってそのユーザの属性を設定してもよい。3Dデータ入力システム10は、選択された標準モデルを生成された3Dモデルに合わせて調整し、調整した標準モデルを3Dモデルに当てはめる。
【0042】
図7は、標準モデルの調整を例示する図である。
図7(A)の左は3Dモデルを、右はボーンの標準モデルを示す。ボーンの標準モデルにおいて、端点はドット(●)で表されている。これら複数の端点はいずれも、3Dモデルの特徴点の一例である。3Dデータ入力システム10は、例えば、3Dモデルと適合するように標準モデルの高さ(身長)を伸び縮みさせる(
図7(A))。さらに、3Dデータ入力システム10は、各ボーンの端点の位置を、ボーンに垂直な方向における中心位置に移動させる(
図7(B))。
【0043】
図7(C)は、調整後の標準モデルを示している。この図における各ボーンの端点が、3Dモデリングデータから取得された特徴点に相当する。この図は、3Dモデリングデータの仮想的な重心を通り、かつ対象被写体Sの正面に対して平行な断面を示す。なお
図7は単一の断面のみを示しているが、方向が異なる複数の断面において3Dモデルと適合するように標準モデルを調整してもよい。
【0044】
再び
図6を参照する。ステップS14において、3Dデータ入力システム10は、複数の特徴点の位置関係を示す特徴量を計算する。この例において、3Dデータ入力システム10は、特定の特徴点に関し、他の特徴点との間の位置関係を示す特徴量を計算する。特定の特徴点は、例えば膝の関節に相当する位置の特徴点である。この場合において、特定の特徴点と、隣り合う他の特徴点との間の位置関係とは、膝の関節の、足首及び股関節との位置関係をいい、いわゆるO脚、X脚、又はXO脚等の度合いを示す。
【0045】
図8は、特徴点の位置関係を例示する図である。
図8(A)は正常な脚を、(B)はO脚を、(C)はX脚を、それぞれ示している。特定の特徴量に関する特徴量は、例えば、股関節に相当する特徴点P1及び足首に相当する特徴点P3を結ぶ直線Lの長さL1に対する、膝に相当する特徴点P2と直線Lとの距離d1の比率として定義される。なおここで示した特定の特徴点及び特定の特徴点に関する特徴量の定義はあくまで例示であり、具体的にはどのように設定されてもよい。1つの3Dモデルが「特定の特徴点」を複数、有してもよい。例えば、つま先、膝、肘、手先、首、及び頭の先が特定の特徴点として設定されてもよい。
【0046】
再び
図6を参照する。ステップS15において、3Dデータ入力システム10は、特徴点に関する特徴量及び3Dモデリングデータを、3Dデータ処理システムに出力する。この例において、3Dモデリングデータには、被写体の属性(ID、年齢、及び性別等)を示すデータ(以下「属性データ」という)がさらに付加される。
【0047】
2−1−2.個性データの付加
図9は、3Dモデリングデータに個性データを付加する処理の詳細を例示する図である。この処理は、例えば、3Dデータ入力システム10から3Dモデリングデータが入力されたことを契機として開始される。
【0048】
ステップS21において、3Dデータ処理システム20は、対象被写体Sの3Dモデリングデータを、複数のグループのいずれかに分類する。分類は、例えば以下の観点のいずれかで行われる。
(1)被写体の静的な特徴量に基づく分類。
(2)被写体の動的な特徴量に基づく分類。
(3)被写体の属性に基づく分類。
(4)上記2つ以上の組み合わせによる分類。
【0049】
被写体の静的な特徴量に基づく分類とは、少なくとも1種類の静的な特徴量を用いて、3Dモデリングデータを分類することをいう。1種類の静的な特徴量とは、例えば、膝の関節と足首及び股関節との位置関係の特徴量をいう。2種類の特徴量とは、例えば、膝の関節と足首及び股関節との位置関係の特徴量、並びに肘の関節と手首及び肩関節との位置関係の特徴量をいう。この例によれば、被写体の静的な特徴量から動的な特徴量を推定することができる。
【0050】
被写体の動的な特徴量に基づく分類とは、少なくとも1種類の動的な特徴量を用いて、3Dモデリングデータを分類することをいう。分類に用いられる特徴量は、推定の対象となる個性に関する特徴量とは異なる種類の特徴量である。この例によれば、被写体の第1種類の動的な特徴量から第2種類の動的な特徴量を推定することができる。例えば、推定の対象となる個性(第2種類の動的な特徴量の一例)がジャンプの動作における膝の最高位置である場合、分類に用いられる特徴量は、歩く動作における膝の最高位置(第1種類の動的な特徴量の一例)である。
【0051】
被写体の属性に基づく分類とは、少なくとも1種類の被写体の属性を用いて、3Dモデリングデータを分類することをいう。被写体の属性とは、例えば、被写体の年齢、性別、人種、国籍、職業、又は既往歴をいう。この例によれば、被写体の属性から動的な特徴量を推定することができる。
【0052】
上記2つ以上の組み合わせによる分類とは、静的な特徴量に基づく分類、動的な特徴量に基づく分類、及び被写体の属性に基づく分類のうち2つ以上の組み合わせを用いた分類をいう。この例によれば、より多様な推定を行うことができる。
【0053】
ここでは、一例として、(4)の組み合わせによる分類が用いられる例を説明する。具体的には、3Dモデリングデータは、まず被写体の属性に基づいて分類され(第1段の分類)、さらに、被写体の静的な特徴量に基づいて分類される(第2段の分類)。被写体の属性に基づく分類は、被写体の年齢及び性別に基づく分類である。この例では、ボーン構造の標準モデルを選択する際に用いられた属性が、そのまま3Dモデリングデータの分類に用いられる。すなわち、第1段の分類において、3Dモデリングデータの分類とボーン構造の標準モデルとは一対一に対応する。
【0054】
図10は、3Dモデリングデータの分類を例示する図である。
図10は、第2段の分類を示す。この例において、第2段の分類は、N種類の特徴量を用いて行われる。具体的には、3Dデータ処理システム20は、各特徴量を座標軸としたN次元空間において各3Dモデリングデータをプロットし、このプロット群を数学的アルゴリズムに従ってクラスタリング(グループ化)する。ここでは説明を簡単にするため、N=2の例を示す。すなわち、第2段の分類は、特徴量A及び特徴量Bという、2種類の特徴量を用いて行われる。一例において、特徴量Aは膝に関する特徴量であり、特徴量Bは胸椎に関する特徴量である。この図は、縦軸に特徴量Aを、横軸に特徴量Bをとった2次元座標に、各3Dモデリングデータをプロットしたものである。1つのプロットは1つの3Dモデリングデータに対応する。例えば過去に1万人の3Dモデリングデータ及び特徴量が得られているとすると、1万個のプロットが得られる。3Dデータ処理システム20は、これらのプロットを、最短距離法又はk平均法など既知のクラスタリング手法を用い、部分集合に分割すなわちグループ化する。
図10の例において、これらのプロットは、グループG1〜G5の5つのグループに分類される。
【0055】
例えば、既存の被写体の3Dモデリングデータについて
図10に例示した分類が得られている場合、3Dデータ処理システム20は、対象被写体Sの3Dモデリングデータのプロットと最も距離の近い既存のプロットを特定し、対象被写体Sの3Dモデリングデータを、その既存のプロットと同じグループに分類する。あるいは、3Dデータ処理システム20は、対象被写体Sの3Dモデリングデータ及び既存の3Dモデリングデータを再度、クラスタリング手法を用いて分類し、対象被写体Sの3Dモデリングデータがどのグループに属するか判断する。
【0056】
既に説明したように第1段の分類はボーン構造の標準モデル毎に行われているので、第2段の分類は、標準モデル毎に行わることに等しい。例えば、対象被写体Sが成人男子である場合、既存の被写体を含む成人男子の母集団に対してクラスタリング手法が適用され、得られた結果を用いて対象被写体Sの3Dモデリングデータが分類される。
【0057】
再び
図9を参照する。ステップS22において、3Dデータ処理システム20は、対象被写体Sの3Dモデリングデータの個性(すなわち対象被写体Sの個性)を、分類に基づいて推定する。この動きの例において個性とは3Dモデルの特徴点の(変位の)軌跡を定義するための情報をいい、より詳細には3Dモデルを歩かせたときの膝及び手先の最高位置をいう。この例の個性データは、歩行動作における膝及び手先の最高位置を示すデータである。あるいは、個性データは、肘及び手先の最高位置に加え、中間状態における位置を示すデータを含んでもよい。
【0058】
図11は、3Dモデリングデータの動きを例示する図である。この例は、3Dモデリングデータが歩いているときのボーンの相対的な位置関係を示している。
図11(A)は基本姿勢を示す。
図11(B)は左足を持ち上げた姿勢を示す。
図11(C)は左足を地面に下ろした姿勢を示す。
図11(D)は右足を持ち上げた姿勢を示す。
図11(E)は右足を下ろした姿勢を示す。これらの姿勢を繰り返し3Dモデリングデータに取らせることにより、3Dモデルを歩かせることができる。
図11(A)〜(E)はいわゆるキーフレームに相当し、キーフレーム間の姿勢は補間により計算される。キーフレームの姿勢は、標準モデル毎に定義されており、3Dデータ処理システム20においてあらかじめ記憶されている。
【0059】
この例において、以下のデータが個性として定義される。
(1)
図11(B)の姿勢における左膝の位置及び右手先の位置。
(2)
図11(D)の姿勢における右膝の位置及び左手先の位置。
より詳細には、標準モデルに対して定義されたキーフレームにおける特徴点の位置からのずれ(差)が個性として定義される。例えば、標準モデルの
図11(B)の姿勢における左膝の位置P2sからのずれベクトルd(P2)が個性データの一例である。
【0060】
3Dデータシステム1に記憶されている3Dモデリングデータの一部については、3Dモデリングを生成するための撮影の際、又は別のタイミングで、被写体の動きが実際に撮影される。以下、実際の動きが撮影された被写体を「特定被写体」という。すなわち、特定被写体の個性データは、推定されたものではなく、実測されたものである。例えば、3Dデータ入力システム10は、特定被写体が歩いている様子を撮影し、
図11に例示したキーフレームに相当する画像(各々ポーズが異なる複数の撮影画像の一例)を取得する。3Dデータ処理システム20は、こうして得られた動きのデータから、各グループを代表する動きのデータを決定する。こうしてグループ毎に、そのグループを代表する個性データ(代表個性データ)が得られる。
【0061】
グループを代表する個性データは、例えば、そのグループに含まれる特定被写体の中からランダムに選択された被写体の個性データである。あるいは、グループを代表する個性データは、そのグループに含まれる特定被写体のうち、N次元座標空間においてそのグループの中心座標に最も近い位置にプロットされている被写体の個性データである。さらにあるいは、グループを代表する個性データは、そのグループに含まれる複数の特定被写体の個性データの平均値等の統計的代表値である。
【0062】
3Dデータ処理システム20は、対象被写体Sの3Dモデリングデータが属するグループを代表する個性データを、対象被写体となる3Dモデリングデータの個性データとして用いる。これはすなわち、対象被写体Sの個性が、対象被写体Sの3Dモデリングデータが属するグループを代表する個性と同一であると推定することに相当する。例えば、対象となる3DモデリングデータがグループG4に属する場合、3Dデータ処理システム20は、グループG4を代表する個性データを、対象被写体Sの3Dモデリングデータの個性データとして用いることを決定する。
【0063】
再び
図9を参照する。ステップS23において、3Dデータ処理システム20は、推定された個性を示す個性データを、対象被写体Sの3Dモデリングデータに付加する。ここで、「付加する」とは、少なくとも両者の対応関係が分かる状態で記憶することをいう。こうして、アプリケーション30が対象被写体Sの3Dモデリングデータを利用することが可能となる。
【0064】
なお、1つの3Dモデリングデータに付加される個性データは1種類に限定されない。1つの3Dモデリングデータに複数種類の個性データが付加されてもよい。例えば、ある被写体の3Dモデリングデータに対し、歩く動作に関する個性データ、ジャンプする動作に関する個性データ、パンチする動作に関する個性データ、及びキックする動作に関する個性データが付加されてもよい。あるいは、これらの動作を総合的に規定する個性データを定義してもよい。
【0065】
2−1−3.個性データ
ここまで説明した個性データはあくまで例示である。個性データとしては、上記で説明した例に代えて、又は加えて、以下のデータを含んでもよい。
【0066】
(1)髪の硬さ
3Dモデルが移動すると、その反動で髪が揺れる。髪の硬さは、髪の揺れ方に影響する個性データである。髪が硬いと揺れ方が小さく、髪が柔らかいと揺れ方が大きい。例えば、一部の髪の毛先の位置を特徴点として抽出すれば、特徴点の動きとして髪の硬さを表現することができる。
【0067】
(2)まばたき
まばたきの仕方にも個性がある。例えば、一度に複数回のまばたきをまとめてする者、まばたきの速度が遅い者、又はまぶたを閉じた状態を保持する時間が長い者等がいる。例えば、まぶたの下端を特徴点として抽出すれば、特徴点の動きとしてまばたきの仕方を表現することができる。
【0068】
(3)表情
笑顔等の表情にも個性がある。
図12は、顔面から抽出される特徴点(図中の●)を例示する図である。例えば、口角、目尻、表情筋の端部を特徴点として抽出すれば、特徴点の動きとして表情を表現することができる。
【0069】
(4)音声
個性データは音声データを含んでもよい。音声データは3Dモデリングデータから抽出される特徴点の奇跡に関する情報を含んでいないが、音声は被写体の声帯の振動によって生じるものである点、及び時間変化を伴う点において、被写体の動的な個性を示しているといえる。音声は被写体の身体的な特徴や属性と相関している場合があり(少年の声は高い等)、個性データの推定とも相性が良い。
【0070】
(5)皮膚の状態
皮膚の張りや弛みといった状態は、比較的長い時間スケール(数十年単位)で変化する動的な個性であるといえる。皮膚の状態の変化は、成長や老化を示しているともいえる。例えば、顔の凹凸から特徴点を抽出すれば、特徴点の時間変化として成長や老化を表現することができる。
【0071】
(6)動作の癖
歩く、走る、といった標準的な動作における個性とは別の動作、例えば、髪をかき上げる、頭をかく、鼻を触る、貧乏揺すりをする等の動作が被写体の個性を表すことがある。これらの動作もデータ化することができる。
【0072】
(7)視点の位置、画角
アプリケーション30において、3Dモデルは仮想空間に配置される。仮想空間には仮想カメラが設置される。アプリケーション30は、この仮想カメラにより取得された2次元画像を表示装置に表示する。仮想カメラはあくまで仮想的なものであるので、理論上、アプリケーション30は、視点の位置及び画角を任意に設定することができる。しかし、アプリケーションによっては、3Dモデルを基準とする、仮想カメラの相対的な位置を制限したいという要望がある。具体例としては、例えば女性アイドル歌手の3Dモデルを取り扱う場合において、3Dモデルの腰より下に仮想カメラが来ないように制限したいという要望がある。あるいは、仮想カメラの画角をある範囲を超えて小さくできないようにしたいという要望がある。これらの要望に応えるため、仮想カメラの視点の(3Dモデルに対する相対的な)位置を制限するためのデータを個性データとして用いることができる。この情報により、ユーザに見せない領域を3Dモデル毎に定義することができる。
【0073】
(8)可動制限
関節の可動範囲は被写体の個性を表している。例えば、体操選手は両脚(股関節)を180°開くことができるが、一般人は90°程度しか開くことができない。各関節の可動範囲をデータ化すれば、個性データとして用いることができる。この場合において、関節の可動範囲は、現実の可動範囲と別の事情により制限されてもよい。例えば、特定の3Dモデルにおいては、股関節の可動範囲は60°程度に制限される。このように、関節の可動範囲を制限するためのデータを個性データとして用いることができる。
【0074】
2−1−4.3Dモデリングデータの利用
図13は、3Dモデリングデータを利用する処理の詳細を例示する図である。
図13の処理は、例えば、アプリケーション30のユーザが、3Dモデリングデータの取得を指示したことを契機として開始される。
【0075】
ステップS31において、アプリケーション30は、3Dデータ処理システム20に3Dモデリングデータを要求する。この要求は、3Dモデリングデータを特定する情報、例えば被写体のIDを含む。あるいは、この要求は、3Dデータシステム1が記憶している3Dモデリングデータから所望のデータを検索するための検索キーを含んでいてもよい。この場合、3Dデータ処理システム20は、検索キーに適合する3Dモデリングデータの一覧をアプリケーション30に送信する。アプリケーション30は、この一覧の中から一の3Dモデリングデータを選択する。選択された3Dモデリングデータを特定する情報は、3Dデータ処理システム20に出力される。
【0076】
この要求は、3Dモデリングデータを特定する情報に加え、個性データを特定する情報を含んでもよい。1つの3Dモデリングデータに複数種類の個性データが付加されている場合において、特定のアプリケーション30がこれら複数種類の個性データを全て必要としているとは限らない。そこで、アプリケーション30は自身が必要とする個性データをのみを3Dデータ処理システム20に要求する。
【0077】
ステップS32において、3Dデータ処理システム20は、要求された3Dモデリングデータ及び個性データを、要求元のアプリケーション30に出力する。アプリケーション30が特定の個性データのみを要求している場合、3Dデータ処理システム20は、3Dモデリングデータに加え、要求された個性データのみを出力する。
【0078】
ステップS33において、アプリケーション30は、3Dデータ処理システム20から取得した3Dモデリングデータ及び個性データを用いて製品又はサービスを提供する。3Dデータシステム1において、異なる種類のアプリケーションが、共通の3Dモデリングデータ及び個性データを用いることができる。アプリケーション30は、例えば、IDカード、名刺、ヴァーチャルコミュニケーション、ビデオゲーム、着せ替え(試着)、採寸、ヴァーチャルシアター、フィットネス、医療、及び映画製作のうち少なくとも1つを含む。アプリケーション30は、スマートフォン等の携帯端末で動作してもよいし、据え置きのパーソナルコンピュータで動作してもよい。
【0079】
IDカードは、ユーザの身分証明に用いられるアプリケーションである。IDカードにおいて、ユーザの写真の代わりに3Dモデルが表示される。
【0080】
名刺は、ユーザの個人情報を他のユーザに伝達するためのアプリケーションである。名刺のデータには、ユーザの3Dモデリングデータが含まれる。例えばユーザUAの名刺データは、別のユーザUBに出力される。ユーザUBは自分のコンピュータ装置においてユーザUAの3Dモデルを含む名刺データを閲覧することができる。
【0081】
ヴァーチャルコミュニケーションは、仮想空間において他のユーザとコミュニケーションを行うためのアプリケーションである。仮想空間において、各ユーザはいわゆるアバターを用いて表示される。このアバターとして本実施形態に係る3Dモデルが用いられる。ヴァーチャルコミュニケーションを用いれば、例えば遠隔地にいる複数のユーザが会議をすることができる。会議において、各ユーザのアバターは個性を有しており、リアリティが増す。
【0082】
ビデオゲームにおいて、ゲーム中に登場するキャラクターとして、本実施形態に係る3Dモデルが用いられる。例えば、格闘ゲームにおいて、プレイヤーは、自身の3Dモデルをプレイヤーキャラクターとして用いることができる。この3Dモデルは、そのプレイヤーに対応する動きの特徴(例えば、走り方、ジャンプの仕方等)を有している。
【0083】
着せ替えは、仮想空間において人体モデルに服を着せるアプリケーションである。この人体モデルとして、本実施形態に係る3Dモデルが用いられる。人体モデルは服を着た状態で仮想空間内を移動する(いわゆるランウェイウォーク)。このとき、この人体モデルは、そのユーザに対応する動きの特徴(例えば、歩き方)を有している。
【0084】
採寸は、被写体Sの体のサイズ(身長、胸囲、胴囲等)を測定するアプリケーションである。
【0085】
バーチャルシアターは、仮想空間において、仮想キャラクター(アバター)に実演(歌唱、演劇、ダンス等)を行わせ、その実演を鑑賞するアプリケーションである。キャラクターはそれぞれ個性を有する。実演は、例えば仮想空間上のステージで行われる。ユーザは、仮想カメラで撮影されたこの実演を鑑賞することができる。仮想カメラ(視点)の位置は例えばユーザの指示に応じて制御される。ユーザは、特定の演者に仮想カメラを寄せたり、ステージを俯瞰したり、仮想カメラの位置を自在に制御できる。
【0086】
フィットネスは運動の前後において被写体の体を3Dモデル化して記録するアプリケーションである。記憶された3Dモデルを比較することにより、運動により筋肉が増強された部分や、余分なぜい肉が落ちた部分を視覚的に確認することができる。
【0087】
医療は治療の前後において被写体の体を3Dモデル化して記録するアプリケーションである。記憶された3Dモデルを比較することにより、治療、投薬、リハビリの効果を視覚的に確認することができる。
【0088】
映画製作は、映画の中に3Dモデルを登場させるアプリケーションである。例えば、俳優の3Dモデリングデータ及び個性データを取得しておけば、実際に俳優に演技をさせなくても、その俳優を映画の中野キャラクターとして登場させることができる。
【0089】
2−2.動作例2
動作例1においては、対象被写体Sの個性データが推定される例を説明した。この例において、個性データの推定は行われない。個性データは3Dデータシステム1においてあらかじめ用意されており、ユーザ(例えば対象被写体S本人)が、あらかじめ用意された複数の個性データの中から所望のデータを選択する。
【0090】
3Dデータシステム1において、個性データには、検索のためのタグが付与されている。このタグは、例えば、年齢、性別、人種、国籍、職業、又は既往歴を含む。ユーザは、これらの属性を検索キーとして個性データを検索することができる。例えば、3Dデータシステム1は、指定された個性データを対象被写体Sの3Dモデリングデータに当てはめてプレビュー表示してもよい。
【0091】
3Dデータシステム1においてあらかじめ用意される個性データには、例えば有名スポーツ選手や俳優の個性データが含まれてもよい。この場合、個性データには、スポーツ選手や俳優を特定する識別子(名前)が付与されている。プロサッカー選手がボールをキックする際の動作に関する個性データを用いれば、ユーザは、例えば、サッカーゲームにおいて、自分の撮影画像から得られた3Dモデルをプレイヤーのキャラクターとして登場させ、このキャラクターに有名プロサッカー選手のフォームでキックをさせることができる。
【0092】
この例によれば、個性を推定することなく、3Dモデリングデータに個性データを付加することができる。なお、動作例2は、動作例1と併用されてもよい。例えば、3Dデータシステム1は、推定による個性データの付加とあらかじめ用意された個性データの付加のいずれかをユーザに選択させ、ユーザに選択された手法で個性データを付加してもよい。
【0093】
3.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。実施形態の少なくとも一部及び以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
【0094】
3−1.変形例1
図14は、変形例1に係る3Dデータシステム1の概略を示す図である。この例において、3Dデータ処理システム20は、3Dモデリングデータ、ボーンデータ、及びメタデータのセットを複数、記憶する。ボーンデータは、3Dモデルのボーン構造を示すデータである。ボーンデータは、例えば被写体を複数のポーズで撮影することにより実測されたものであってもよいし、あらかじめ用意されたボーン構造の標準モデルを3Dモデルに合わせて調整することにより得られたものでもよい。メタデータは、3Dモデルに付随するデータをいい、例えば、被写体の属性、撮影装置の属性、音声、コピー制限等を示すデータである。実施形態で例示した個性データ及び属性データは、メタデータの一例であるということもできる。なお、メタデータは、3Dモデル動的な個性を示す情報を含んでいなくてもよい。この場合においても、3Dデータシステム1は、アプリケーション30に対し、3Dモデリングデータ、ボーンデータ、及びメタデータのセットを容易に提供することができるという効果を奏する。
【0095】
3Dモデリングデータ、ボーンデータ、及びメタデータのセットは、3Dデータ処理システム20においてあらかじめ決められていてもよい。あるいは、3Dモデリングデータ、ボーンデータ、及びメタデータのセットは、アプリケーション30又はユーザの要求に応じて組み替えられてもよい。例えば、メタデータが関節の可動範囲を制限するデータ(以下「制限データ」という)及び音声データを含む場合において、3Dデータ処理システム20は、制限データ及び音声データのテンプレートを複数、記憶している。3Dデータ処理システム20は、ユーザにより選択された制限データ及び音声データを、指定された3Dモデリングデータに付加する。この例によれば、ユーザが所望のメタデータを選択し、3Dモデリングデータに付加することができる。なお、
図14の例において、3Dモデリングデータを含むデータセットは、ボーンデータを含んでいなくてもよい。一例において、3Dデータ処理システム20は、3Dモデリングデータ及びメタデータ(例えば制限データ)のみを記憶していてもよい。
【0096】
3−2.変形例2
推定部24が個性を推定する方法は実施形態において例示されたものに限定されない。分類後の各グループは、そのグループを代表する個性データ(代表個性データ)に加え、そのグループを代表する特徴量(代表特徴量)を有してもよい。3Dデータ処理システム20は、補正部(図示略)を有する。この補正部は、代表特徴量と対象被写体Sの3Dモデリングデータから得られた特徴量との差に応じて、代表個性データを補正する。例えば、補正部は、代表個性データに対し、代表特徴量と対象被写体Sの3Dモデリングデータから得られた特徴量との差及び係数を乗算した結果(ベクトル)を加算することにより代表個性データを補正する。この例によれば、例えば、静的な特徴量の差を用いて動的な個性データを補正することができる。
【0097】
3−3.変形例3
分類部23による分類が複数のレベルに区分されてもよい。これら複数のレベルは、各々、分類後のグループの数が異なる。例えば、同じ種類の特徴量に基づく分類が、低レベル(グループ数が少ない)、中レベル(グループ数が中くらい)、及び高レベル(グループ数が多い)に区分される。これら複数の区分のうちどの区分の分類を用いるか、例えば、ユーザの指示により、又はアプリケーション30の要求により決定される。推定部24は、例えば低レベル(第1レベルの一例)の分類が用いられる場合、変形例2のように、グループの代表特徴量と対象被写体Sの特徴量との差に基づいて個性データを推定(補正)する。推定部24は、例えば高レベル(第2レベルの一例)の分類が用いられる場合、グループの代表個性データをそのまま、対象被写体Sの3Dモデルの個性データとして用いる。
【0098】
3−4.変形例4
実施形態において個性データは動的な特徴量の標準データからのずれベクトルとして定義される例を説明した。しかし、個性データはずれベクトルに限定されず,動的な特徴量そのもの(絶対値)を表すデータであってもよい。この場合、標準データを定義する必要がない。なお、ずれベクトルを用いる場合は、アプリケーション30側で標準データを保持していれば、標準データ及びずれベクトルを伝送する場合と比較して、ずれベクトルのみを送信すればよいので、システム間で伝送されるデータ量を削減することができる。
【0099】
3−5.変形例5
3Dモデリングデータに基づく分類が行われる場合において、グループの代表個性データは実測されたデータに限定されない。推定により得られた個性データが、グループの代表個性データとして用いられてもよい。
【0100】
3−6.他の変形例
3Dデータシステム1において、3Dデータ入力システム10及び3Dデータ処理システム20における機能の分担は、
図2において例示されたものに限定されない。例えば、生成部12に相当する機能が、3Dデータ処理システム20すなわちクラウドに実装されてもよい。あるいは、付加部21又は分類部23に相当する機能が、3Dデータ入力システム10に実装されてもよい。
【0101】
3Dデータ入力システム10、3Dデータ処理システム20、及びアプリケーション30は、それぞれ、異なる1以上のコンピュータ装置に実装されてもよいし、機能の少なくとも一部が共通のコンピュータ装置に実装されてもよい。また、物理的に複数のコンピュータ装置が、3Dデータ入力システム10、3Dデータ処理システム20、又はアプリケーション30として機能してもよい。
3Dデータシステム(1)は、対象となる被写体の表面を撮影した撮影画像、及び基準点から前記表面までの距離を示す距離情報を取得する画像取得部(11)と、前記撮影画像及び前記距離情報から得られる前記対象となる被写体の3Dモデルを示す3Dモデリングデータに対し、当該3Dモデルの動的な個性を示す個性データを付加する付加部(21)と、前記個性データが付加された前記3Dモデリングデータを記憶する記憶部(22)とを有する。