(57)【特許請求の範囲】
【請求項１】
a) 被写体を取り囲むように配置した４台以上の距離画像センサのそれぞれにより、被写体の二次元画像データである撮像データと、当該距離画像センサから前記被写体までの距離の二次元分布を表す深度データを取得する工程と、
b) 前記４台以上の距離画像センサのそれぞれについて、前記撮像データと前記深度データから複数の点の空間座標を生成する工程と、
c) 前記４台以上の距離画像センサのそれぞれについて、それぞれが前記複数の点のうち同一平面上に位置する所定個数の点を結ぶことにより作成される、複数のポリゴンの組み合わせからなる部分三次元ポリゴンモデルを作成する工程と、
d) 各部分三次元ポリゴンモデルを構成する複数の点の空間座標を、対応する距離画像センサと前記被写体の位置関係に基づき予め求められた座標変換によって１つの共通空間座標系に対応する空間座標に変換し、複数の前記部分三次元ポリゴンモデルを１つに統合した全体三次元ポリゴンモデルを作成する工程と、
e) 前記全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除する工程と
を含むことを特徴とする三次元モデルの作成方法。
【請求項２】
前記４台以上の距離画像センサの一部が前記被写体を上方から捉えるように配置され、前記４台以上の距離画像センサの別の一部が前記被写体を下方から捉えるように配置されていることを特徴とする請求項１に記載の三次元モデルの作成方法。
【請求項３】
f) 前記部分三次元ポリゴンモデルのそれぞれにおいて、前記複数のポリゴンのうち、前記距離画像センサから該ポリゴンの中心点に向かう視線ベクトルと、当該ポリゴンの法線ベクトルがなす角が90度以下であるポリゴンを削除する工程
を含むことを特徴とする請求項１又は２に記載の三次元モデルの作成方法。
【請求項４】
g) 前記全体三次元ポリゴンモデルに、予め用意された、直線で表される複数の骨と、点で表されそれぞれが前記骨を連結する複数の関節とを含む骨格データを組み合わせた静止三次元モデルを作成する工程と、
h) 前記静止三次元モデルの各点に、該点と前記骨の距離に応じたウエイト値を設定する工程と、
i) 所定の動作を前記骨と前記関節の動きで表現する動作データを前記静止三次元モデルのデータに重畳し、該動作データと前記ウエイト値に基づいて前記点を移動させる工程と、
を含むことを特徴とする請求項１〜３のいずれかに記載の三次元モデルの作成方法。
【請求項５】
前記部分三次元ポリゴンモデル及び／又は前記全体三次元ポリゴンモデルのポリゴン数を減少させるポリゴンリダクションを行う工程を含むことを特徴とする請求項１〜４のいずれかに記載の三次元モデルの作成方法。
【請求項６】
前記ポリゴンリダクションが、全てのポリゴンについて当該ポリゴンを代表する点を生成し、該生成した点を用いて新たにポリゴンを生成する処理であることを特徴とする請求項５に記載の三次元モデルの作成方法。
【請求項７】
a) 被写体を取り囲むように配置された４台以上の距離画像センサのそれぞれにより取得された、被写体の二次元画像データである撮像データと、当該距離画像センサから前記被写体までの距離の二次元分布を表す深度データの入力を受け付けるデータ受付部と、
b) 前記撮像データと前記深度データの各組について複数の点の空間座標を生成する点座標生成部と、
c) それぞれが前記複数の点のうち同一平面上に位置する所定個数の点を結ぶことにより作成される、複数のポリゴンの組み合わせからなる部分三次元ポリゴンモデルを作成する部分三次元ポリゴンモデル作成部と、
d) 各部分三次元ポリゴンモデルを構成する複数の点の空間座標を、対応する距離画像センサと前記被写体の位置関係に基づき予め求められた座標変換によって１つの共通空間座標系に対応する空間座標に変換し、複数の前記部分三次元ポリゴンモデルを１つに統合した全体三次元ポリゴンモデルを作成する全体三次元ポリゴンモデル作成部と、
e) 前記全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除するポリゴン集合体削除部と、
を備えることを特徴とする三次元モデル作成装置。
【請求項８】
ネットワークを介して相互に接続された、前記距離画像センサと同数のコンピュータによって具現化されていることを特徴とする請求項７に記載の三次元モデル作成装置。
【請求項９】
コンピュータを請求項７又は８に記載の三次元モデル作成装置として動作させるための三次元モデル作成用プログラム。
【請求項１０】
a) 予め決められた被写体位置を取り囲むように配置される、それぞれが被写体の二次元画像データである撮像データと、当該距離画像センサから前記被写体までの距離の二次元分布を表す深度データを取得可能である４台以上の距離画像センサと、
b) 使用者による所定の入力操作に応じて、前記４台以上の距離画像センサのそれぞれにより、前記被写体の撮像データと深度データを取得するデータ取得部と、
c) 前記４台以上の距離画像センサのそれぞれにより取得した、前記撮像データと前記深度データの各組について複数の点の空間座標を生成する頂点座標生成部と、
d) 前記４台以上の距離画像センサのそれぞれについて、それぞれが前記複数の点のうち同一平面上に位置する所定個数の点を結ぶことにより作成される、複数のポリゴンの組み合わせからなる部分三次元ポリゴンモデルを作成する部分三次元ポリゴンモデル作成部と、
e) 各部分三次元ポリゴンモデルを構成する複数の点の空間座標を、対応する距離画像センサと前記被写体の位置関係に基づき予め求められた座標変換によって１つの共通空間座標系に対応する空間座標に変換し、複数の前記部分三次元ポリゴンモデルを１つに統合した全体三次元ポリゴンモデルを作成する全体三次元ポリゴンモデル作成部と、
f) 前記全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除するポリゴン集合体削除部と、
を備えることを特徴とする三次元モデルの作成システム。
【請求項１１】
前記４台以上の距離画像センサの一部が前記被写体を上方から捉えるように配置され、前記４台以上の距離画像センサの別の一部が前記被写体を下方から捉えるように配置されていることを特徴とする請求項１０に記載の三次元モデルの作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを用いて人間の全身を表現する三次元ポリゴンモデルを作成する技術、及び、該三次元ポリゴンモデルに骨格データ及び動作データを重畳して所望の動きを付与することができる三次元モデルを作成する技術に関する。
【背景技術】
【０００２】
近年、ゲームや広告において、ディスプレイ上にコンピュータを用いて作成された三次元ポリゴンモデルで表現された人物を表示したり、該三次元ポリゴンモデルに動きを付与した動画を表示したりする技術が広く用いられている（例えば特許文献１）。
【０００３】
三次元ポリゴンモデルは次のような手順で作成される。
まず、予め決められた位置に配置された距離画像センサを用いて、被写体の二次元画像データである撮像データと、該距離画像センサから前記被写体までの距離の二次元分布を表す深度マップを取得する。そして、撮像データの各画素位置に対応する平面座標と、深度マップの各点における距離情報から、それぞれが空間座標を持つ多数の点を生成することができる。このとき、深度マップにおいて背景（壁等）に相当する距離の点は除外され、被写体の輪郭を構成する点が抽出される。続いて、ドロネー三角形分割法（非特許文献１参照）等の手法により、これらの点群のうちの近接３点を結んでなる三角形が順次生成されポリゴンが作成される。
【０００４】
上記の方法では、距離画像センサが予め決められた１箇所のみに配置されるため、特定の１方向（該１箇所から被写体を見た方向）から見える三次元ポリゴンモデルしか作成することができない。任意の視点から見ることができる三次元ポリゴンモデルを作成する場合には、複数の方向から見た被写体の撮像データと深度マップを取得し、それぞれの方向で形成された三次元ポリゴンモデルを１つに統合する必要がある。以下、本明細書では、１方向から見た情報のみから作成された三次元ポリゴンモデルを部分三次元ポリゴンモデル、該部分三次元ポリゴンモデルを統合した三次元ポリゴンモデルを全体三次元ポリゴンモデル、とも呼ぶ。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−６７３７２号公報
【非特許文献】
【０００６】
【非特許文献１】“MathWorks: Delaunay三角形分割”,[online], Fast Facts,[平成28年2月19日検索],インターネット<URL: http://jp.mathworks.com/help/matlab/math/delaunay-triangulation.html?requestedDomain=jp.mathworks.com>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、複数の部分三次元ポリゴンモデルを１つの全体三次元ポリゴンモデルに統合する作業は、オペレータが画面を見ながら各部分三次元ポリゴンモデルを回転したり移動したりして該部分三次元ポリゴンモデルの結合位置を決め、さらに各部分三次元ポリゴンモデルの端部のデータを組み合わせることにより、手動で行っていた。また、このようにして部分三次元ポリゴンモデルを統合しても、その連結部が完全には一致しないことが多く、各部分三次元ポリゴンモデルの結合部分におけるズレを修正する作業も、オペレータが手動で行っていた。
【０００８】
また、距離画像センサにより得られる深度マップの距離情報には多少の誤差が含まれる。距離情報の誤差を含んだ点は被写体の輪郭から離れて位置し、こうした点が複数集まると被写体のポリゴンから離間し独立した別の小さなポリゴン集合体が構成される。このように被写体のポリゴンから独立に構成されたポリゴンを削除する作業も、オペレータが手動で行っていた。
このように、従来、被写体の全体三次元ポリゴンモデルを作成するのにオペレータが煩雑な作業を行わなければならず、時間と手間がかかるという問題があった。
【０００９】
本発明が解決しようとする課題は、任意の方向から見ることができる被写体の三次元モデルを簡便に作成する技術を提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために成された本発明に係る三次元モデルの作成方法は、
a) 被写体を取り囲むように配置した４台以上の距離画像センサのそれぞれにより、被写体の二次元画像データである撮像データと、当該距離画像センサから前記被写体までの距離の二次元分布を表す深度データを取得する工程と、
b) 前記４台以上の距離画像センサのそれぞれについて、前記撮像データと前記深度データから複数の点の空間座標を生成する工程と、
c) 前記４台以上の距離画像センサのそれぞれについて、それぞれが前記複数の点のうち同一平面上に位置する所定個数の点を結ぶことにより作成される、複数のポリゴンの組み合わせからなる部分三次元ポリゴンモデルを作成する工程と、
d) 各部分三次元ポリゴンモデルを構成する複数の点の空間座標を、対応する距離画像センサと前記被写体の位置関係に基づき予め求められた座標変換によって１つの共通空間座標系に対応する空間座標に変換し、複数の前記部分三次元ポリゴンモデルを１つに統合した全体三次元ポリゴンモデルを作成する工程と、
e) 前記全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除する工程と
を含むことを特徴とする。
【００１１】
前記ポリゴンは、典型的には１つの面を規定するために必要な最小数である３個の点を結んでなる三角形であるが、４個の点を結んでなる四角形あるいはそれ以上の点を結んでなるポリゴンであってもよい。また、複数の点から部分三次元ポリゴンモデルを作成する方法には、例えば非特許文献１に記載のドロネー三角形分割法を用いることができる。
【００１２】
本発明に係る三次元モデル作成方法では、被写体を取り囲むように４台以上の距離画像センサを配置する。そして、それぞれの距離画像センサにより撮像データと深度データの組を取得し、その各組から取得した複数の点を結んだポリゴンを複数組み合わせて部分三次元ポリゴンモデルを作成する。そして、座標変換により部分三次元ポリゴンモデルを１つの共通空間座標系に対応した変換部分三次元ポリゴンモデルに変換し、それらを組み合わせて全体三次元ポリゴンモデルに統合する。つまり、従来のようにオペレータが部分三次元ポリゴンモデルを回転・移動したり端部のデータを組み合わせたりする必要がなく、簡便に全体三次元ポリゴンモデルからなる三次元モデルを作成することができる。
【００１３】
また、本発明に係る三次元モデル作成方法では、全体三次元ポリゴンモデルから、所定数以下のポリゴンが連なって構成されたポリゴン集合体を機械的に削除する。深度マップにおける距離情報の誤差を含んだ複数の点で構成されるポリゴン集合体は、被写体を構成する多数のポリゴンから離間して位置し、また構成するポリゴンの数も少ない。本発明に係る三次元モデル作成方法では、こうしたポリゴン集合体を、その構成数に基づいて機械的に削除するため、従来のようにオペレータが距離情報の誤差を含む点からなるポリゴンを個別に確認して手作業で削除する必要がなく、簡便に全体三次元ポリゴンモデルからなる三次元モデルを作成することができる。
【００１４】
また、本発明に係る三次元モデルの作成方法では、さらに、
f) 前記部分三次元ポリゴンモデルのそれぞれにおいて、前記複数のポリゴンのうち、前記距離画像センサから該ポリゴンの中心点に向かう視線ベクトルと、当該ポリゴンの法線ベクトルがなす角が90度以下であるポリゴンを削除する工程
を含むことが好ましい。
【００１５】
市販されている距離画像センサの中には、該距離画像センサの視野に直接捉えられる点だけでなく、被写体の裏側に位置する点を推定して自動的に推定点を付加する機能を有するものがある。しかし、このようにして付加された推定点の精度は必ずしも高くない。また、本発明に係る三次元モデルの作成方法では、被写体を取り囲むように配置した４台以上の距離画像センサにより被写体の点を得ることができるため、距離画像センサにより自動的に付加される推定点は不要である。上記態様の方法では、推定点を含んで構成されるポリゴンの法線と距離画像センサから該ポリゴンの中心点に向かう視線ベクトルがなす角は90度以下になることを利用して当該ポリゴンを削除し、部分三次元ポリゴンの精度を高めることができる。
【００１６】
さらに、本発明に係る三次元モデルの作成方法では、
g) 前記全体三次元ポリゴンモデルに、予め用意された、直線で表される複数の骨と、点で表されそれぞれが前記骨を連結する複数の関節とを含む骨格データを組み合わせた静止三次元モデルを作成する工程と、
h) 前記静止三次元モデルの各点に、該点と前記骨の距離に応じたウエイト値を設定する工程と、
i) 所定の動作を前記骨と前記関節の動きで表現する動作データを前記静止三次元モデルのデータに重畳し、該動作データと前記ウエイト値に基づいて前記点を移動させる工程と、
を含むことができる。
【００１７】
上記態様の三次元モデルの作成方法では、骨格データを組み合わせた静止三次元モデルに動作データを適用して、任意の動作をさせることができる三次元モデルを作成することができる。
【００１８】
また、上記課題を解決するために成された本発明に係る三次元モデル作成装置は、
a) 被写体を取り囲むように配置された４台以上の距離画像センサのそれぞれにより取得された、被写体の二次元画像データである撮像データと、当該距離画像センサから前記被写体までの距離の二次元分布を表す深度データの入力を受け付けるデータ受付部と、
b) 前記撮像データと前記深度データの各組について複数の点の空間座標を生成する点座標生成部と、
c) それぞれが前記複数の点のうち同一平面上に位置する所定個数の点を結ぶことにより作成される、複数のポリゴンの組み合わせからなる部分三次元ポリゴンモデルを作成する部分三次元ポリゴンモデル作成部と、
d) 各部分三次元ポリゴンモデルを構成する複数の点の空間座標を、対応する距離画像センサと前記被写体の位置関係に基づき予め求められた座標変換によって１つの共通空間座標系に対応する空間座標に変換し、複数の前記部分三次元ポリゴンモデルを１つに統合した全体三次元ポリゴンモデルを作成する全体三次元ポリゴンモデル作成部と、
e) 前記全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除するポリゴン集合体削除部と、
を備えることを特徴とする。
【００１９】
さらに、上記課題を解決するために成された本発明に係る三次元モデルの作成システムは、
a) 予め決められた被写体位置を取り囲むように配置される、それぞれが被写体の二次元画像データである撮像データと、当該距離画像センサから前記被写体までの距離の二次元分布を表す深度データを取得可能である４台以上の距離画像センサと、
b) 使用者による所定の入力操作に応じて、前記４台以上の距離画像センサのそれぞれにより、前記被写体の撮像データと深度データを取得するデータ取得部と、
c) 前記４台以上の距離画像センサのそれぞれにより取得した、前記撮像データと前記深度データの各組について複数の点の空間座標を生成する頂点座標生成部と、
d) 前記４台以上の距離画像センサのそれぞれについて、それぞれが前記複数の点のうち同一平面上に位置する所定個数の点を結ぶことにより作成される、複数のポリゴンの組み合わせからなる部分三次元ポリゴンモデルを作成する部分三次元ポリゴンモデル作成部と、
e) 各部分三次元ポリゴンモデルを構成する複数の点の空間座標を、対応する距離画像センサと前記被写体の位置関係に基づき予め求められた座標変換によって１つの共通空間座標系に対応する空間座標に変換し、複数の前記部分三次元ポリゴンモデルを１つに統合した全体三次元ポリゴンモデルを作成する全体三次元ポリゴンモデル作成部と、
f) 前記全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除するポリゴン集合体削除部と、
を備えることを特徴とする。
【発明の効果】
【００２０】
本発明に係る三次元モデルの作成技術を用いることにより、任意の方向から見ることができる被写体の三次元モデルを簡便に作成することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る三次元モデルの作成システム（三次元モデル作成装置を含む）の一実施例の概略構成図。
【図２】本発明に係る三次元モデルの作成方法の一実施例のフローチャート。
【図３】本発明に係る三次元モデルの作成システム（三次元モデル作成装置を含む）の別の実施例の概略構成図。
【図４】実施例２において用いるＡＲマーカの一例。
【発明を実施するための形態】
【００２２】
本発明に係る三次元モデルの作成方法、作成装置、及び作成システムの実施例について、以下、図面を参照して説明する。本実施例は、人間（被写体）を距離画像センサにより撮影したデータをコンピュータ処理することにより三次元ポリゴンモデルを作成するとともに、モーションデータを重畳して該三次元ポリゴンモデルに任意の動きを与えた三次元モデルを作成する技術である。
【実施例１】
【００２３】
図１は、本実施例における三次元モデルの作成システム１（以下、単に「作成システム」とも呼ぶ。）の概略構成図である。また、図２は、本実施例における三次元モデルの作成方法（以下、単に「作成方法」とも呼ぶ。）におけるフローチャートである。
【００２４】
本実施例の作成システム１は、撮像空間１０において被写体位置Ｐを取り囲むように配置され、撮影制御部１６による制御の下で動作する４台の距離画像センサ１１〜１４と、三次元モデル作成装置２０（本発明に係る三次元モデル作成装置の一実施例に相当。以下、単に「作成装置」とも呼ぶ。）を備えている。４台の距離画像センサ１１〜１４のうちの３台（１１〜１３）は水平方向から被写体を捉えるように、等間隔に横置きで配置され、１台（１４）は被写体の鉛直上方から被写体を捉えるように配置される。水平方向から被写体を捉える３台の距離画像センサ１１〜１３の視野には、被写体と所定の背景１１a〜１３a（例えばや単色の布や壁）が捉えられる。また、鉛直上方から被写体を捉える距離画像センサ１４の視野には被写体と床が捉えられる。各距離画像センサ１１〜１４は、その視野に他の距離画像センサが入り込まないように配置される。本実施例の距離画像センサ１１〜１４にはKinect（MICROSOFT CORPORATIONの登録商標、製品名）であるが、同様に撮像データと深度データを取得可能なものであれば他のセンサを用いてもよい。
【００２５】
作成装置２０は、記憶部２１のほかに、データ受付部２２、点座標生成部２３、部分三次元ポリゴンモデル作成部２４、ポリゴンリダクション部２５、背面ポリゴン削除部２６、テクスチャ設定部２７、全体三次元ポリゴンモデル作成部２８、ノイズ削除部２９、重複点整理部３０、全体三次元ポリゴンモデル補正部３１、ボーンデータ生成部３２、ウエイト設定部３３、及びモーションデータ重畳部３４を機能ブロックとして備えている。作成装置２０の実体は一般的なパーソナルコンピュータであり、入力部４０、及び表示部５０が接続されている。また、上記各機能ブロック２２〜３４は、コンピュータにインストールされた三次元モデル作成用プログラムをＣＰＵに実行させることにより具現化することができる。各部の動作は後述する。記憶部２１には、次に説明する手順により作成される座標変換行列、及び後述するモーションデータが保存されている。
【００２６】
記憶部２１に保存される座標変換行列は以下のようにして作成される。
被写体の三次元モデルを作成するに先立ち、上記４台の距離画像センサ１１〜１４の位置と視野を固定する。そして、被写体として複数のボール（同一直線上に位置しない少なくとも３個のボール）を配置して各距離画像センサ１１〜１４で該複数のボールを撮影し、該複数のボールの撮像データと深度データを取得する。ここで、撮像データとは二次元のカラー画像データ（二次元に配置された各画素が色情報を持つデータ）であり、深度データとは距離画像センサからの距離の二次元分布を表すデータである。
【００２７】
各距離画像センサ１１〜１４について、それぞれ前記複数のボールの撮像データと深度データを取得すると、これらデータの組から、各距離画像センサ１１〜１４から見た複数のボールのそれぞれの空間座標が求められる。このとき求められる空間座標を規定する３軸は４台の距離画像センサ１１〜１４でそれぞれ異なる。続いて、同一のボールについて異なる距離画像センサから求められた空間座標が相互に比較され、これにより４つの距離画像センサの間の３軸の関係が求められ、各距離画像センサの空間座標系を１つの共通する空間座標系に変換するための変換行列が、距離画像センサ毎に作成される。なお、１つの共通する空間座標系として、４台の距離画像センサのうちの１つの空間座標系をそのまま用いることができる。
【００２８】
以下、本実施例における三次元モデルの作成方法を説明する。
使用者が所定の入力（例えば入力部を通じて画面上の「スタート」ボタンを押下する入力動作）により三次元モデルの作成を指示すると、撮影制御部１６が、使用者に被写体位置に所定のポーズで立つよう指示する。ここで、所定のポーズとは、撮影時に全ての距離画像センサ１１〜１４の死角になる領域をできるだけ少なくしたポーズであり、例えば両手を水平に広げ、足を肩幅程度に広げて立つ姿勢（Ｔポーズと呼ばれる姿勢）である。
【００２９】
撮影制御部１６は、使用者に上記指示を行ってから一定時間（使用者が上記ポーズで被写体位置に立つまでに要する時間）経過後、全ての距離画像センサ１１〜１４を同時に動作させ、それぞれについて撮像データと深度データを取得する（ステップＳ１）。各距離画像センサ１１〜１４で取得された撮像データと深度データは、それぞれ１組のデータとして三次元モデル作成装置２０に送信される。本実施例で距離画像センサ１１〜１４として用いているKinectは、被写体の輪郭をKinect自身が有するボーンデータベースと照合し、適合するボーンデータ（人間を複数の骨と、骨を連結する関節で表現したデータ。骨格データともいう。）を出力する機能を備えているため、撮像データと深度データに加え、被写体のボーンデータも同時に得られる（ステップＳ２）。このボーンデータも同時に三次元モデル作成装置２０に送信される。
【００３０】
データ受付部２２は各距離画像センサ１１〜１４から送られる撮像データ及び深度データ、並びにボーンデータを受け取り、記憶部２１に保存する。撮像データと深度データが記憶部２１に保存されると、点座標生成部２３は、距離画像センサ１１〜１４のそれぞれについて、撮像データの各画素位置に対応する平面座標及び各画素が有する色情報と、深度データの各点における距離情報から、それぞれが空間座標と色情報を持つ多数の点（ポイントクラウド）を生成する（ステップＳ３）。
【００３１】
続いて、部分三次元ポリゴンモデル作成部２４は、各距離画像センサ１１〜１４について生成した、空間座標を持つ複数の点から所定の規則（例えばドロネー三角形分割法に基づく規則）に従って近接３点を結んでなる三角形（ポリゴン）を順次生成し、前記複数の点から部分三次元ポリゴンモデルを作成する（ステップＳ４）。ここで、部分三次元ポリゴンモデルとは、被写体を特定の１方向（即ち対応する距離画像センサ）から見た三次元ポリゴンモデルである。このときポリゴンの各面の色は、当該面を構成する３点の色（色情報に基づく色）の平均色となる。なお、ここでは３点を結んでなる三角形をポリゴンとしたが、４点以上を結んでポリゴンを作成してもよい。
【００３２】
各距離画像センサ１１〜１４について部分三次元ポリゴンモデルが作成されると、ポリゴンリダクション部２５は、各部分三次元ポリゴンモデルをハイポリゴン（多数の点から作成されたポリゴン）からローポリゴン（ハイポリゴンよりも少ない点数で作成されたポリゴン）に変換するポリゴンリダクションを実行する。この変換は、各ポリゴンを該ポリゴンの重心に位置する１つの点に変換する操作（変換された点の色はポリゴンの色になる）を全てのポリゴンについて行い、これにより作成された新たな点を上記ドロネー三角形法等により結んで新たなポリゴンを生成し（このポリゴンの色は当該ポリゴンを構成する点の色の平均色となる）、新たに部分三次元ポリゴンモデル（ローポリゴン）を作成することにより実行される（ステップＳ５）。この処理によりポリゴン数が少なくなるため、後述する各工程における処理の負荷が軽減され高速処理が実現される。なお、本実施例ではパーソナルコンピュータを三次元モデル作成装置２０として用いているため、処理の負荷の軽減を目的とするポリゴンリダクションを行ったが、高速処理が可能なハイエンドのコンピュータを三次元モデル作成装置２０として用いる場合にはポリゴンリダクションを行うことなく（即ちハイポリゴンのまま）以下の工程を行うようにしてもよい。
【００３３】
次に、背面ポリゴン削除部２６は、各部分三次元ポリゴンモデルについて、該部分三次元ポリゴンモデルを構成する全てのポリゴンの法線と、対応する距離画像センサ１１〜１４の視線ベクトルのなす角度を求め、これが90度以下であるポリゴンを不要ポリゴンと見なして削除する（ステップＳ６）。これは、距離画像センサの視野に直接捉えることが不可能な、被写体の背面側を構成するポリゴンの法線と、当該ポリゴンの中心に向かう距離画像センサ１１〜１４の視線ベクトルがなす角度が90度以下になることを利用した処理である。本実施例において用いるKinectは、直接視野に捉えることができない被写体の背面側にも推定点を生成する機能を有しているが、必ずしもその精度は高くない。また、本実施例の三次元モデル作成方法では、複数のKinectによりそれぞれ異なる方向から見た部分三次元ポリゴンモデルを作成するため、こうした推定点を結んで成るポリゴンを用いる必要もない。従って、本実施例では、上記方法で不要ポリゴンを削除する。なお、被写体の背面側に推定点を生成する機能を有しない距離画像センサを用いる場合は、このステップを行う必要はない。
【００３４】
この段階では、部分三次元ポリゴンモデルを構成するポリゴンのそれぞれが１色で表現されており、隣接するポリゴンとの色の差が目立つ。そこで、テクスチャ設定部２７が、各部分三次元ポリゴンモデルに、対応する距離画像センサ１１〜１４で取得した撮像データを貼り合わせる処理（テクスチャの貼り付け処理）を行う（ステップＳ７）。この処理は、撮像データを各部分三次元ポリゴンモデルに投影することにより行われる。各部分三次元ポリゴンモデルは、上記ポリゴンリダクションにより点数を減らしているため、画素データを構成する画素数と一致しない。言い換えれば、画素データを投影したときに画素の位置と点の位置は一致しない。しかし、投影処理においてこれらが必ずしも一致する必要はなく、むしろ、一致しないことにより、点と点を結ぶ線分やポリゴンを複数の異なる色で表現することが可能になる。上記点数の不一致は、例えば、画素データの解像度と深度データの解像度が同一でなく（例えば深度データの方が解像度が低く）、上述のステップＳ３において低い解像度のデータに合わせて複数の点を生成した場合にも起こる。
【００３５】
部分三次元ポリゴンモデルへのテクスチャの貼り付けを終えると、全体三次元ポリゴンモデル作成部２８は、記憶部２１から、距離画像センサ１１〜１４に対応する座標変換行列をそれぞれ読み出す。そして、全ての部分三次元ポリゴンモデルを構成する各点の空間座標を、対応する座標変換行列により共通の空間座標系における空間座標に変換する。これにより、全ての部分三次元ポリゴンモデルが１つの空間座標系に配置され、自動的に部分三次元ポリゴンモデルが統合され、全体三次元ポリゴンモデルが作成される（ステップＳ８）。そのため、従来のように、オペレータが自ら各部分三次元ポリゴンモデルを回転、移動して結合位置を決めたり、該結合位置において端部データを連結させたりする処理を行う必要がなく、簡便かつ正確に全体三次元ポリゴンモデルを作成することができる。
【００３６】
次に、ノイズ削除部２９は、作成された全体三次元ポリゴンモデルにおいて、所定数以下のポリゴンが連なって構成されたポリゴン集合体を削除（ノイズであるポリゴン集合体を削除）する（ステップＳ９）。距離画像センサ１１〜１４から得られる深度データには距離情報の多少の誤差が含まれていることが多い。こうした誤差を含んだ複数の点で構成されるポリゴン集合体は、被写体を構成する多数のポリゴンから離間して空間に浮遊しており、また該集合体を構成するポリゴンの数も少ない。本実施例の三次元モデル作成方法ではこうしたポリゴン集合体を、構成するポリゴンの数に基づいて機械的に削除するため、従来のようにオペレータが距離情報の誤差を含む点からなるポリゴンを個別に確認して手作業で削除する必要がなく、簡便に全体三次元ポリゴンモデルを作成することができる。
【００３７】
さらに、重複点整理部３０は、全体三次元ポリゴンモデルが位置する空間の３軸方向のそれぞれにおいて所定の間隔でグリッドを配置し、空間を微小な立方体に分割する。この所定の間隔は、全体三次元ポリゴンモデルを構成する点の数に応じて適宜に決められる。そして、各立方体の内部に存在する点の数を確認し、１つの立方体内に複数の点が存在する場合にはそれらの平均座標に位置する１つの点に集約する（ステップＳ１０）。これは、部分三次元ポリゴンモデルから全体三次元ポリゴンモデルを作成したときに、隣接する部分三次元ポリゴンモデルの結合領域に存在する重複点を削除する処理である。こうした重複点を削除することにより、ポリゴンが重複して存在する等の見た目の違和感を解消することができ、また必要以上に点数が多くなって処理の負荷が増大することを避けることができる。
【００３８】
次に、全体三次元ポリゴンモデル補正部３１が、上記ステップにより作成された全体三次元ポリゴンモデルに穴がないかを確認し、穴が存在する場合にはそれを埋める処理を行う（ステップＳ１１）。この処理は、穴の近傍に位置する点から、穴の内部に適宜の推測点を生成し、生成した点を用いて新たなポリゴンを作成することにより行われる。こうした穴埋め処理は、例えばフォトショップ（アドビ  システムズ  インコーポレイテッドの登録商標、製品名）の一機能として従来知られている。ただし、フォトショップ等のソフトウェアによりこの穴埋め処理を行うと、穴を埋めるために多数の点が新しく生成され、以降の処理の負荷が増大する場合がある。こうした場合には、上述したポリゴンリダクションにより適宜に点数を減らし、以降の処理における負荷を軽減することが好ましい。また、フォトショップ等のソフトウェアではこの穴埋め処理においてテクスチャ情報が削除されることがある。このような場合には、以降の適宜の段階で、再度、上述したテクスチャ貼り付け処理を行う必要がある（ステップＳ１２）。
【００３９】
以上の各工程により、全体三次元ポリゴンモデルが作成される。
上述のとおり、本実施例の三次元ポリゴンモデル作成方法、作成システム、あるいは作成装置では、複数台の距離画像センサのそれぞれに対応する部分三次元ポリゴンモデルを作成し、座標変換により部分三次元ポリゴンモデルを１つの共通空間座標系に対応した変換部分三次元ポリゴンモデルに変換し、それらを組み合わせて全体三次元ポリゴンモデルに統合する。つまり、座標変換によって自動的に部分三次元ポリゴンモデルを統合して全体三次元ポリゴンモデルを作成することができる。従って、従来のようにオペレータが部分三次元ポリゴンモデルを回転・移動したり端部のデータを組み合わせたりする必要がなく、簡便に全体三次元ポリゴンモデルからなる三次元モデルを作成することができる。
【００４０】
また、全体三次元ポリゴンモデルから、所定数以下のポリゴンが連なって構成されたポリゴン集合体を機械的に削除する。そのため、従来のようにオペレータが距離情報の誤差を含む点からなるポリゴンを個別に確認して手作業で削除する必要がなく、簡便に全体三次元ポリゴンモデルを作成することができる。
【００４１】
次に、上記全体三次元ポリゴンモデルに動きを与えて三次元モデルを作成する手順を説明する。
まず、ボーンデータ生成部３２が、ステップＳ２において生成され記憶部２１に保存されたボーンデータを読み出し、全体三次元ポリゴンモデルに重畳する。これにより、静止三次元モデルが得られる。そして、ウエイト設定部３３が、全体三次元ポリゴンモデルの各点から骨までの距離に応じたウエイト値を設定する（ステップＳ１３）。このウエイト値は、骨の動きが各点の動きに対してどの程度影響を及ぼすかを表す値であり、骨までの距離が近いほど大きな値に、遠くなるにつれて小さな値に設定される。本実施例では、距離画像センサとしてKinectを用いたため、被写体の撮影時にボーンデータを取得し記憶部２１に保存しているが、ボーンデータを生成する機能を有しない距離画像センサを用いる場合には、ボーンデータ生成部３２が、全体三次元ポリゴンモデルの輪郭を人間の種々のポーズに対応するボーンデータが保存された適宜のデータベースと照合することにより、新たにボーンデータを生成することができる。
【００４２】
次に、モーションデータ重畳部３４は、記憶部２１に予め保存されているモーションデータを全て読み出し、その名称や動作例を画面表示して使用者に選択を促す。モーションデータとは、ボーンデータに含まれている骨の動きを規定したデータであり、これにより種々の動作を表現することができる。使用者が１つのモーションデータを選択すると、モーションデータ重畳部３４は該モーションデータを上記静止三次元モデルに重畳する（ステップＳ１４）。モーションデータ自体は骨を動かすデータであるが、骨を動かすことに伴って、前述のウエイト値に応じた大きさで静止三次元モデルの各点が移動するため、その結果、全体三次元ポリゴンモデルが所定の動作を行っているように画面上に表示することができる。
【００４３】
次に、このようにして作成される三次元モデルの利用例を説明する。
この利用例は、イベントの主催者が予め用意した、三次元コンピュータグラフィック（３ＤＣＧ）で作成された仮想現実（ＶＲ：Virtual Reality）空間において参加者同士が自らの三次元モデルを介して交流することを可能にするものである。
【００４４】
まず、イベントの参加者は、それぞれ上記実施例の方法により自らの三次元モデルを作成する。そして、イベントの主催者が用意した仮想現実空間にそのデータを転送する。これにより仮想現実空間に各参加者の三次元モデルが取り込まれる。各参加者は、自身の身体動作を入力する入力装置、及びヘッドマウントディスプレイ（ＨＭＤ）を装着する。身体動作の入力装置には、例えばトレッドミル歩行デバイスがある。これは、デバイスの各所に取り付けられた振動センサにより参加者の身体の各部の動きを検出し、これを統合してモーションデータを生成するものである。あるいは、上述したKinect等のモーションセンサを用いて参加者の身体動作を検出（骨格ジェスチャ検出）することによりモーションデータを生成してもよい。また、ヘッドマウントティスプレイは、仮想現実空間が表示される画面、該仮想現実空間の音声が流れるヘッドフォン、及び参加者の音声を認識するマイクを備えている。
【００４５】
参加者がヘッドマウントディスプレイから取得した仮想現実空間の視覚情報や聴覚情報に反応して身体を動かすと、モーションデータが仮想現実空間内の三次元モデルの動きとなって反映される。そして、仮想現実空間内に取り込まれた三次元モデル同士が所定の距離まで近づくと相互の間で会話が可能となり参加者間の交流が実現する。なお、こうしたイベントは、必ずしも特別にイベント会場を設けて行う必要はなく、ネットワークを介して接続された装置を介して各参加者が仮想現実空間内での交流や疑似体験を楽しむものとすることができる。
【実施例２】
【００４６】
次に、実施例１の三次元モデル作成システム１を用いた三次元モデルの作成により得られた知見に基づき、該作成システム１を改良した実施例２の三次元モデル作成システム１００について説明する。実施例２では、距離画像センサの台数及び配置と、座標変換行列の取得に係る処理が実施例１と異なるため、これらを中心に説明する。
【００４７】
図３は、実施例２の三次元モデルの作成システム１００（以下、単に「作成システム」とも呼ぶ。）の概略構成図である。図１と共通する構成要素については下二桁が共通の符号を付し、適宜説明を省略する。なお、被写体の撮影（ステップＳ１）からモーションデータの重畳（ステップＳ１４）の各ステップにおける処理は実施例１（図２）と同様であるため説明を省略する。
【００４８】
実施例１の作成システム１では被写体位置Ｐを取り囲むように４台の距離画像センサ１１〜１４を用いたが、実施例２の作成システム１００では１２台の距離画像センサ１１１１〜１１１２を用いる。距離画像センサ１１１１〜１１２２は２台１組で、撮像空間１１０内で被写体位置Ｐを取り囲む６箇所に配置する。距離画像センサ１１１１、１１１２は被写体位置Ｐの正面に、距離画像センサ１１１７、１１１８は被写体位置Ｐの背面に配置する。２台１組の距離画像センサのうち、図中の符号が奇数のもの（１１１１等）は上方から被写体を捉えるように、図中の符号が偶数のもの（１１１２等）は下方から被写体を捉えるように、支柱１６０の上下に取り付けられる（図３の右上図参照）。実施例２の距離画像センサ１１１１〜１１２２は実施例１と同じくKinectであるが、撮像データと深度データを取得可能なものであれば他のセンサを用いてもよい。
【００４９】
実施例２では、距離画像センサ１１１１（被写体正面上方に位置する距離画像センサ）及び１１１８（被写体背面下方に位置する距離画像センサ）により被写体のボーンデータを取得する。また、距離画像センサ１１１１〜１１２２により被写体の撮像データと深度データを取得する。実施例２では、実施例１よりも多くの距離画像センサ１１１１〜１１２２を用い、それらを実施例１の距離画像センサ１１〜１４よりも被写体位置Ｐに近づけて配置し、撮像データと深度データを取得する。これにより、各距離画像センサが捉える被写体の範囲を実施例１よりも狭くして、撮像データの解像度（位置分解能）を高めている。また、実施例１よりも各距離画像センサ１１１１〜１１２２から被写体までの距離が短くなるため、深度データの精度も向上する。さらに、撮像空間１１０を実施例１よりもコンパクトにすることができる。
【００５０】
また、実施例１では被写体が両手を水平に広げ、足を肩幅程度に広げて立つ姿勢（Ｔポーズと呼ばれる姿勢）で撮像データ及び深度データを取得したが、実施例２では、被写体が両手を斜め下におろした姿勢（Ａポーズと呼ばれる姿勢）で撮像データ及び深度データを取得する。距離画像センサの台数を増やすとともに被写体の姿勢をＡポーズに変更することで、実施例１よりも死角を減らし、また深度データの精度を高めている。
【００５１】
作成装置１２０は、記憶部１２１のほかに、データ受付部１２２、点座標生成部１２３、部分三次元ポリゴンモデル作成部１２４、ポリゴンリダクション部１２５、背面ポリゴン削除部１２６、テクスチャ設定部１２７、全体三次元ポリゴンモデル作成部１２８、ノイズ削除部１２９、重複点整理部１３０、全体三次元ポリゴンモデル補正部１３１、ボーンデータ生成部１３２、ウエイト設定部１３３、及びモーションデータ重畳部１３４を機能ブロックとして備えている。作成装置１２０の実体は一般的なパーソナルコンピュータであり、入力部１４０、及び表示部１５０が接続されている。また、実施例１と同様に、上記各機能ブロック１２２〜１３４は、コンピュータにインストールされた三次元モデル作成用プログラムをＣＰＵに実行させることにより具現化することができる。記憶部１２１には、次に説明する手順により作成される第１座標変換行列及び第２座標変換行列と、モーションデータが保存されている。
【００５２】
第１座標変換行列及び第２座標変換行列は以下のようにして作成する。
被写体の三次元モデルを作成するに先立ち、１２台の距離画像センサ１１１１〜１１２２の位置と視野を固定する。実施例１では複数のボールを被写体として用いたが、実施例２では表裏面に異なるＡＲマーカをプリントした薄板２００を用いる。例えば、図４(a)に示すＡＲマーカを表面に、図４(b)に示すＡＲマーカを裏面に、それらの四隅Ａ〜Ｄの位置が表裏面で一致するように貼り付けたものを用いる。
【００５３】
使用者は、この薄板２００を立てた状態でその下方（ＡＲマーカが貼り付けられていない位置）を持ち撮像空間１１０内を移動する。その間、１２台の距離画像センサ１１１１〜１１２２に、所定の時間間隔（例えば５秒ごと）でＡＲマーカの四隅を自動検知させる。例えば、ある時点では距離画像センサ１１１１〜１１１６が薄板２００の表面（図４(a)のＡＲマーカ）を捉え、一方、距離画像センサ１１１７〜１１２２が薄板２００の裏面（図４(b)のＡＲマーカ）を捉えることになる。所定回数（例えば150回）の自動検知を終えると、各時点で取得したＡＲマーカの四隅の位置Ａ〜Ｄに基づきＡＲマーカの外枠の形状（外形）を確認する。ＡＲマーカの四隅の位置が正しく取得されていれば、この外形は矩形（正方形）であるが、Kinectが発する赤外線が別のKinectが発する赤外線と干渉して深度データに誤差が生じたり、画像処理の精度が悪かったりすることによりＡＲマーカの外形に歪みが生じる。そこで、ＡＲマーカの外形の角部の角度が90度からずれているデータ（例えば±5度以上の歪みが生じているデータ）を削除し、正しい位置情報が得られているもののみを第１座標変換行列の作成に使用する。そして、１２台の距離画像センサ１１１１〜１１２２のうちの複数台が同じ時点に取得したＡＲマーカの四隅Ａ〜Ｄの空間座標を照合することにより、１２台の距離画像センサ１１１１〜１１２２の空間座標系を共通の空間座標系に変換する（例えば距離画像センサ１１１２〜１１２２の空間座標系を距離画像センサ１１１１の空間座標系に変換する）第１座標変換行列を得る。
【００５４】
実施例１で説明したように、この三次元モデル作成システムでは、各距離画像センサで被写体のポイントクラウドを取得し、次いでそのポイントクラウドから部分三次元ポリゴンモデルを作成し、その後に座標変換行列を用いて部分三次元ポリゴンモデルの空間座標系を共通の空間座標系に変換して全体三次元ポリゴンモデルを作成する。従って、部分三次元ポリゴンモデルの空間座標系の変換（全体三次元ポリゴンモデルの作成）には、ポリゴンモデルの空間座標系で作成された座標変換行列を用いる必要がある。
【００５５】
しかし、本発明者が実施例１の作成システム１を用いて確認したところ、距離画像センサとしてKinectを用いた場合、生データであるポイントクラウドと、そのポイントクラウドから生成されるポリゴンデータでは座標軸にずれがあることが分かった。そこで、この座標軸のずれを補正するために、実施例２では第２座標変換行列を用いる。
【００５６】
距離画像センサ１１１１〜１１２２について、１台ずつ上記ＡＲマーカを撮影してポイントクラウドを取得し、そのポイントクラウドからポリゴンデータを作成する。そして、ポイントクラウド上でのＡＲマーカの四隅Ａ〜Ｄの空間座標と、ポリゴンデータにおけるＡＲマーカの四隅Ａ〜Ｄの空間座標を照合することにより、ポイントクラウドの座標をポリゴンデータの座標に変換する第２座標変換行列を作成する。この第２座標変換行列は距離画像センサ１１１１〜１１２２のそれぞれについて作成し、記憶部１２１に保存しておく。なお、第２座標変換行列を作成する際、実際にデータを取得する距離画像センサは１台のみであるが、他の距離画像センサも動作させておくことが好ましい。被写体のデータを取得する際には全ての距離画像センサを動作させるため、それらから発せられる赤外線の一部が干渉することは避けられない。従って、これと同じ状況下で取得したデータから座標変換行列を作成することにより、赤外線の一部が干渉した状況が加味された、精度の高い第２座標変換行列を得ることができる。
【００５７】
実施例１のステップＳ８では、距離画像センサ１１〜１４に対応する座標変換行列を記憶部２１から読み出し、各距離画像センサ１１〜１４で作成された部分三次元ポリゴンモデルを構成する各点の空間座標を共通の空間座標系における空間座標に変換することにより全体三次元ポリゴンモデルを作成した。実施例２では、ポイントクラウドの空間座標系で作成された第１座標変換行列に、ポイントクラウドの座標軸をポリゴンデータの座標軸に変換する第２座標変換行列を演算してポリゴンデータの空間座標系のものに変換する。これにより、Kinectのように、ポイントクラウドのデータの座標軸とポリゴンデータの座標軸にずれがあるような距離画像センサを用いる場合でも、そのずれを補正することができる。従って、より正確に部分三次元ポリゴンモデルの空間座標系を共通の空間座標系に変換し、ずれのない全体三次元ポリゴンモデルを作成することができる。
【００５８】
上記２つの実施例はいずれも一例であって、本発明の趣旨に沿って適宜に変更することができる。
上記実施例では、三次元モデル作成システム１において被写体をその場で撮影し、撮像データ及び深度データを取得して三次元モデル作成装置２０に送信する構成としたが、予め取得された撮像データ及び深度データを、該データを取得した距離画像センサの配置データとともに三次元モデル作成装置２０に入力し、上記同様の各工程により三次元モデルを作成することもできる。
また、各独立請求項に記載の構成が本発明における必須の構成要件である。上記実施例において説明した各工程及び各構成要素は一例であり、必ずしも本発明を具現化するために上述した全ての工程及び構成要素を備える必要はない。
さらに、必ずしも１台のコンピュータで上記三次元モデル作成装置２０を構成する必要はない。例えば、ネットワークを介して接続された複数台のコンピュータに上記三次元モデル作成装置２０の機能ブロックを分散配置し、これらを協働させるようにしてもよい。
【００５９】
上記実施例の三次元モデル作成システム１は、例えばプリクラ（株式会社セガゲームス社の登録商標）のように、ゲームセンターや商業施設などに配置して用いることができる。この場合には、例えば利用者から所定の利用料金が投入されることにより三次元モデル作成指示が与えられ、上述の各工程を経て全体三次元ポリゴンモデル、ボーンデータ、及びモーションデータを書き込んだ記録媒体（例えばＤＶＤ−ＲＯＭ）を利用者に提供したり、利用者のスマートフォンやパソコン等の可搬型端末にこれらのデータを転送したりするように構成することができる。これらの可搬型端末に、三次元モデルのデータを読み込み、利用者が自らの三次元モデルを編集してアバターを作成するアプリケーション、該三次元モデルからなる主人公を操作して他の利用者と対戦するネットワーク通信ゲームのアプリケーション、あるいは該三次元モデルに利用者が選んだ服を着せ替えてネットショッピングを楽しむアプリケーションなど、様々なアプリケーションのソフトウェアをインストールしておくことにより、利用者自身の三次元モデルを多様な形態で楽しむことができる。
【符号の説明】
【００６０】
１、１００…三次元モデル作成システム
１０、１１０…撮像空間
１１〜１４、１１１１〜１１２２…距離画像センサ
Ｐ…被写体位置
１６、１１６…撮影制御部
２０、１２０…三次元モデル作成装置
２１、１２１…記憶部
２２、１２２…データ受付部
２３、１２３…点座標生成部
２４、１２４…部分三次元ポリゴンモデル作成部
２５、１２５…ポリゴンリダクション部
２６、１２６…背面ポリゴン削除部
２７、１２７…テクスチャ設定部
２８、１２８…全体三次元ポリゴンモデル作成部
２９、１２９…ノイズ削除部
３０、１３０…重複点整理部
３１、１３１…全体三次元ポリゴンモデル補正部
３２、１３２…ボーンデータ生成部
３３、１３３…ウエイト設定部
３４、１３４…モーションデータ重畳部
３５、１３５…モーションデータ重畳部
４０、１４０…入力部
５０、１５０…表示部
１６０…支柱
２００…薄板
【図１】
0006348623.tif 000002
【図２】
0006348623.tif 000003
【図３】
0006348623.tif 000004
【図４】
0006348623.tif 000005