JP5061350B2 - モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法 - Google Patents

モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法 Download PDF

Info

Publication number
JP5061350B2
JP5061350B2 JP2007521199A JP2007521199A JP5061350B2 JP 5061350 B2 JP5061350 B2 JP 5061350B2 JP 2007521199 A JP2007521199 A JP 2007521199A JP 2007521199 A JP2007521199 A JP 2007521199A JP 5061350 B2 JP5061350 B2 JP 5061350B2
Authority
JP
Japan
Prior art keywords
node
image
motion capture
nodes
intersection
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
JP2007521199A
Other languages
English (en)
Other versions
JPWO2006112308A1 (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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2007521199A priority Critical patent/JP5061350B2/ja
Publication of JPWO2006112308A1 publication Critical patent/JPWO2006112308A1/ja
Application granted granted Critical
Publication of JP5061350B2 publication Critical patent/JP5061350B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • G06T7/596Depth or shape recovery from multiple images from stereo images from three or more stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、光学式モーションキャプチャシステムに関するものである。
モーションキャプチャ技術はエンターテイメントをはじめ、産業、医療等様々な分野で利用されている。例えばCGアニメーションの分野では、モーションキャプチャによって取得された人間の動きをCGキャラクタに適用することで、より自然な動きが実現されている。映画やゲームをはじめとしたマルチメディア・エンターテイメントにおけるCG画像の製作・開発分野では、 モーションキャプチャはもはや必須の技術といえる。その他にも、モーションキャプチャ技術は、ロボティクス、バイオメカニクス、スポーツ科学、医学などさまざまな分野で活用されている。モーションキャプチャ技術としては、光学式、磁気式、機械式などがあり、光学式モーションキャプチャはマーカの種類によってさらに受動光学式モーションキャプチャと能動光学式モーションキャプチャに分類される。
現在のモーションキャプチャ技術の中でも、被験者の周囲に配置された複数のカメラで被験者を撮影し、その画像から得られる二次元情報を総合することによって三次元位置情報を計算する光学式モーションキャプチャが、特に高速な運動で高い精度が要求されるアプリケーションに多用されている。これは、他の方式と比較して精度が高い、被験者に対する拘束が少ない、磁気などの影響を受けないなどの理由による。
光学式モーションキャプチャでは、画像処理を容易にするため被験者にマーカと呼ばれる特徴点を取り付けることが多い。複数の視点から得られたマーカ位置情報を総合することにより、三角測量の原理でマーカの三次元位置が計算できる。この処理を三次元再構成といい、これを行うためには複数のカメラで検出されたマーカの対応関係がわかっている必要がある。三次元再構成後、マーカの三次元位置情報を人間のリンク機構モデルの運動へマッピングすることにより、リンク機構の運動が得られる。これは通常逆運動学計算によって行うが、そのために検出された各マーカが被験者のどの部位に固定されているかがわかっている必要があり、これを求める処理をラベリングという。
現在のモーションキャプチャ方式は、人間を剛体リンクと関節からなるリンク機構としてモデル化し、その関節角を計測することを目的としている。しかし、アプリケーションによっては運動中の人体の形状変化まで含む詳細なデータを必要とするものもあり、計測データの詳細化は重要な課題の一つである。ここでの詳細化とは計測点を増やすことで空間的に密度の高いデータを計測することをいう。
受動光学式モーションキャプチャでは再帰性反射材で覆われたマーカを使う。再帰性反射材は常に光源の方向へ光を反射する性質があるので、カメラの近くに光源を置くことによりマーカの検出が容易になる。またマーカ自身は発光しないため、被験者に対する拘束は非常に小さい。しかし、マーカの区別がつかないため前述の三次元再構成やラベリングが困難であり、マーカ数が増加すると処理量が指数関数的に増加し、誤認識の確率も増大するという問題点がある。
一方、能動光学式モーションキャプチャではマーカ自身が光源となっており、マーカの色や点灯のタイミングを変えることで三次元再構成やラベリングが容易になる。しかし、マーカに電力を供給するためのワイヤが必要なため被験者に対する拘束が大きい。また、一度に使用できるマーカの数に制限があり、複数の被験者の運動を同時に計測するのが難しい。
このように、従来の光学式モーションキャプチャにおいて高詳細なデータを得るためには、マーカ数を増やす必要があるが、特に、
(1)従来の受動光学式モーションキャプチャでは、マーカを近距離に配置した場合には、マーカの三次元位置の計算における異なる視点から撮影されたカメラ画像間でのマーカの対応付けを間違える可能性が高くなり、三次元位置の計算が困難になる;
(2)従来の受動光学式モーションキャプチャでは、マーカ数が増加すると処理量が指数関数的に増加してしまう;
(3)従来の能動光学式モーションキャプチャでは、物理的にマーカ数に制限がある;
という理由から、従来の光学式モーションキャプチャ方式ではマーカ数を大幅に増加するのは困難である。
モーションキャプチャ以外には以下のような類似技術がある。ステレオ視では画像から特徴点を自動的に抽出して三次元再構成を行っている。しかし、処理に時間がかかるため運動の計測に適用するのは難しい。またモーションキャプチャと同等の精度を得るのも困難である。多数の点の三次元位置を高精度で計測する技術としてレーザのパターンなどを対象物に照射してそれをカメラで撮影することにより物体の三次元形状を計測する三次元スキャナがある。しかし、レーザを対象物全体に照射するのに一定の時間がかかり、運動する物体の計測は難しい。また、これらの方法は現在の光学式モーションキャプチャとは全く異なる原理に基づいており、導入にはハードウェア・ソフトウェア両方の置き換えが必要となる。
本発明は、モーションキャプチャシステムにおいて、計測点を増やすことで空間的に密度の高いデータを計測することを目的とするものである。
本発明の他の目的は、モーションキャプチャシステムにおいて、空間的に密度の高いデータを計測する場合の計算量を抑えることを目的とするものである。
本発明が採用したモーションキャプチャシステムは、メッシュマーカを用いるものであり、メッシュマーカを構成する線の交差部分をノード、各ノードを結ぶ線をエッジとし、ノードが特徴点の位置情報を提供し、エッジが特徴点同士の結びつきを示す結合情報を提供する。本発明に係るモーションキャプチャシステムは、メッシュマーカを設けた対象物を撮影してメッシュマーカの二次元画像を取得する複数のカメラと、各カメラで撮影された二次元画像からメッシュマーカのノード・エッジ情報を検出するノード・エッジ検出部と、異なるカメラにより撮影された複数の二次元画像から検出されたノード・エッジの情報を用いてノードの三次元位置情報を求める三次元再構成部とを有する。
本発明が採用した光学式モーションキャプチャにおける特徴点の三次元再構成方法は、メッシュマーカを用いたものであって、メッシュマーカを構成する線の交差部分をノード、各ノードを結ぶ線をエッジとし、ノードが特徴点の位置情報を提供し、エッジが特徴点同士の結びつきを示す結合情報を提供する。当該方法は、複数のカメラによって、メッシュマーカを設けた対象物を撮影してメッシュマーカの二次元画像を取得する画像取得ステップと、各カメラで撮影された二次元画像からメッシュマーカのノード・エッジ情報を検出するノード・エッジ検出ステップと、異なるカメラにより撮影された複数の二次元画像から検出されたノード・エッジの情報を用いてノードの三次元位置情報を求める三次元再構成ステップとを有する。本発明は、さらに、光学式モーションキャプチャにおける特徴点の三次元再構成方法をコンピュータに実行させるためのコンピュータプログラム、あるいは、当該コンピュータプログラムを記録した記録媒体を含む。
本発明では、通常の光学式モーションキャプチャシステムで用いる球状のマーカ(特徴点)の代わりにメッシュ状のマーカを対象物(被験者)の表面の少なくとも一部に張り付ける点に特徴を有している。このマーカをメッシュマーカと呼び、その例を図1に示す。メッシュマーカは、これを構成する線が画像処理で検出できるほど十分コントラストの高いパターンであるのが望ましい。例えば、受動光学式モーションキャプチャにおける球状マーカと同様に再帰性反射材を用いてメッシュマーカを製作し、照明をカメラの近くに置くと最も検出が容易になるが、必ずしもこの限りではない。本発明は、受動光学式モーションキャプチャシステムに限定されるものではなく、例えば、蓄光材料からメッシュマーカを製作することで、能動光学式モーションキャプチャに適用することも可能である。メッシュマーカは、衣料や、特殊なタイツなどに貼り付けてもよいし、体の表面に直接描いてもよい。衣料は、対象物の少なくとも一部を覆うものであればよく、いかなる被服、帽子、履物が含まれる。顔の表情運動の計測では直接描くことが望まれるであろう。また、パターンは図1のような方眼紙状(各ノードが方形の頂点を、各エッジが方形の辺を、それぞれ構成する)であっても良いし、三角形等の多角形(各ノードが多角形の頂点を、各エッジが多角形の辺を、それぞれ構成する)等、他の形状であってもよい。本明細書では、メッシュマーカ上のテープの交点部分をノード、ノード間を結ぶ線をエッジと呼び、ノードを従来の球状のマーカにあたる特徴点とみなす。エッジはノード同士の結合情報を提供するものであり、直線でも曲線でもよい。また、二次元画像中のノードをイメージノード、三次元空間中のノードをサーフェスノードと呼ぶ。システムの最終的な出力は、サーフェスノードの位置情報である。ここで、1台のカメラで計測されたノードは三次元空間上においてはカメラ位置からの1本の直線(ノードベクトル)として表現され、ノードベクトルの交点を計算することでサーフェスノードの位置情報を取得する。通常、2直線(ノードベクトル)が完全に交わることはないため、一つの態様では、2直線間の距離が最小になる線分の長さと予め設定した閾値とを比較し、線分の長さが閾値よりも小さい場合には2直線は交わっていると判定し、該線分上の2点の中点を交点とする。また、エッジの三次元情報としては位置や方向があるが、これらはエッジの両端のノードの三次元位置がわかれば計算できるので、ノードの三次元再構成ができれば自動的にエッジの三次元再構成が可能である。エッジの三次元情報は、例えばポリゴンを再構成するときに用いることができる。
本発明では、特徴点の三次元再構成(サーフェスノードの生成)において、既に三次元再構成されているイメージノードの結合情報を用いて、ノードベクトル同士が交わる複数のイメージノードを探索する際に、探索候補となるイメージノード数を削減することができる。一つの好ましい態様では、特徴点の三次元再構成(サーフェスノードの生成)においては、先ず、厳格な条件を課すことによって、より正確なノードの三次元位置情報である初期サーフェスノードを生成する。初期サーフェスノードを生成した後は、エッジによって提供されるノード同士の結合情報を利用することで、初期サーフェスノードを中心としてサーフェスノード群を拡大していく。一つの態様では、三次元再構成部は、複数のカメラの複数のノードベクトルの交差を判定する交差判定手段を有し、該交差判定手段は、より厳格な第1の交差判定条件とより緩い第2の交差判定条件とを有し、第1の交差判定条件により選択された交点を初期サーフェスノードとする初期サーフェスノード生成手段と、初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から、第2の交差判定条件により選択された交点をサーフェスノードとするサーフェスノード群生成手段とを有する。サーフェスノード群生成手段は、さらに、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から、第2の交差判定条件により選択された交点をサーフェスノードとする。初期サーフェスノードの生成においても、エッジによって提供される結合情報を利用することができる。一つの態様では、初期サーフェスノード生成の交差判定条件は、初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応する一組あるいは複数組のノードベクトル同士も交差するかどうかの交線判定を含む。また、一つの態様では、交線判定条件は、ノードベクトル間の距離を判定するための閾値を含み、初期サーフェスノードを生成するためのノードベクトル間の距離には小さい閾値を設定し、初期サーフェスノード以外のサーフェスノードを生成するためのノードベクトル間の距離には大きい閾値を設定する。さらに、交線判定条件は、交線数を含むものでもよい。例えば、2本のノードベクトルがある閾値で交わる条件よりも、3本のノードベクトルがある閾値で交わる条件の方が厳格な条件となる。
複数のカメラは、通常、対象物を取り囲むように配置されている。一つの好ましい態様では、複数のカメラは、複数のカメラ群から構成されており、各カメラ群毎にノードの三次元位置情報を取得する。この場合、各カメラ群は、隣接する一連の複数のカメラから構成するのがよい。そして、隣位のカメラ群は、少なくとも一つの共通のカメラを有していることが望ましい。一つの例では、各カメラ群は3つのカメラから構成されており、各カメラ群は、3つの内の2つのカメラを共有している。
一つの好ましい態様では、ノードの三次元位置を計算するための処理はイメージノード・エッジ検出部、サーフェスノード生成部(ローカル三次元再構成部)、データ統合部からなる。三次元再構成部は、サーフェスノード生成部とデータ統合部から構成される。各部で行う処理を以下に示す。
(a)イメージノード・エッジ検出部
まず、各カメラで撮影された画像からイメージノード・エッジを以下の手順で検出する。
(1) カメラで撮影したグレースケール画像に対して、ラプラシアンオペレータを用いて鮮鋭化処理を行い、さらにその鮮鋭画像を二値化する。
(2) 二値画像に対して細線化処理を行う。
(3) 細線画像から線の交点にあたるイメージノードとそれらの繋がりにあたるエッジを抽出する。
アルゴリズムの詳細に関しては、後述する。但し、本発明が採用し得るイメージノード・エッジ検出部の構成およびノード・エッジ検出ステップは、このものに限定されるものではなく、ノード及びエッジが検出できるものであれば、他の画像処理手段を用いても良い。
(b)サーフェスノード生成部(ローカル三次元再構成部)
次に、隣接する複数(3台が例示される)のカメラを1つのカメラグループとし、各グループに属するカメラにおける画像から検出されたイメージノード・エッジ情報からサーフェスノードの三次元位置を計算する処理がローカル三次元再構成である。カメラが全部でN台あるとき、そのようなグループはN個あり、これらすべてについて三次元再構成を行う。
各イメージノードに対し、対応するサーフェスノードが存在すると推定される、カメラの焦点位置を始点とするベクトルを考えることができる。これをノードベクトルと呼ぶ。複数のカメラからのノードベクトルが交差すれば、その交点にサーフェスノードが存在すると推定することができるが、実際にはカメラのキャリブレーション誤差やイメージノード抽出時の誤差により厳密に交差することは少ない。これを考慮して、以下の手順により三次元再構成を行う。
(1) 複数(3台が例示される)のカメラのノードベクトルの中からユーザが与えた閾値以下の距離で交差する組み合わせを見つける。交差するノードベクトル数が多いほど(例えば、2本より3本)、また、閾値が小さいほど、要件が厳格となる。交差するノードベクトルの組み合わせが見つかったら、そのサーフェスノードとエッジによって結合しているサーフェスノードに対応するであろう一組あるいは複数組のノードベクトル同士も交差するかどうかを閾値を用いて確認する。それらのノードベクトル同士が交差して初めて先ほどのノードベクトルの組み合わせが正しい組み合わせであると判断し、その交点にサーフェスノードがあるとする。このノードを初期サーフェスノードと呼ぶ。
(2) 既に見つかったイメージノードの組み合わせを元に、それらとエッジによって結合しているイメージノードに対応するノードベクトルに対して交差するかどうかの判定を行う。ここでの交差判定の閾値は初期サーフェスノード生成に用いた閾値よりも大きい値に設定しておく。結合情報を利用することにより、ひとつのイメージノードに対して探索するノードベクトルの候補はたかだか4つに絞られる。以上の処理を未調査のエッジに対して繰り返す。
(3) まだ再構成に使われていないイメージノードが残っていたら、(1)に戻る。それ以外の場合は終了する。あるいは、さらに緩い条件でサーフェスノードを生成してもよい(サブサーフェスノードの生成)。例えば、上記(1)(2)では、3本のノードベクトルの交点にサーフェスノードを生成するが、サブサーフェスノードの生成では、3本のノードベクトルの交点にサーフェスノードを生成する。
アルゴリズムの詳細に関しては、後述する。
(c)データ統合部
ある隣接する2台のカメラを含むカメラグループは2つあり、ローカル三次元再構成部では各々のグループで独立にノードベクトルの組み合わせを求めていた。したがって、それらの組み合わせが一致している場合と矛盾する場合があり得る。一致する場合にはそれらの情報を統合し、矛盾する場合にはどちらが誤っているかを判定するのがデータ統合処理である。一つの態様では、サーフェスノードが一致するか矛盾するかの判定は、二つのサーフェスノード間の距離が所定の閾値以下であること、及び、同じカメラ画像中の異なるイメージノードを利用していないこと、の二つの条件を満たすか否かによって判定され、これらの条件を満たす場合にはサーフェスノードを統合する。また、一つの態様では、サーフェスノードの統合は、一致したサーフェスノード間におけるイメージノードの統合を含み、統合されたイメージノードを用いてサーフェスノードの位置を更新する。二つのサーフェスノードが矛盾する場合には、使用しているノードベクトルの数が多い方を残し、少ない方を削除する。また、ノードベクトル本数が同じ場合は、ノードベクトル間の平均距離が最も小さいものを選択する。アルゴリズムの詳細に関しては、後述する。
以上の処理を行うための計算機の構成は自由であるが、複数のカメラ画像からのイメージノード・エッジ検出処理、および複数のカメラグループにおける三次元再構成処理がそれぞれ独立に実行できることを考慮すると、これらを別のCPUで並列に処理し、必要であれば計算機間をネットワーク接続するのが計算時間の点から望ましい。
そのようなシステムの実現例を図8に示す。また、この例における処理の流れを以下に示す。
(1) データ統合部がイメージノード・エッジ検出部に対して、検出命令を送信する。イメージノード・エッジ統合部はその時点の最新の画像を利用して、イメージノードとエッジを検出する。検出結果を該当するローカル三次元再構成部とデータ統合部に送る。
(2) ローカル三次元再構成部はそれぞれ隣接するカメラ3台分のイメージノード・エッジ検出結果を受け取る。該当するカメラの検出結果を全て受け取ったら三次元再構成計算を行う。計算されたサーフェスノードの三次元位置とエッジによるノード間の結合情報はデータ統合部に送られる。
(3) データ統合部は全てのローカル三次元再構成結果を受け取ったらデータ統合処理を行う。このデータ統合部によって最終的なサーフェスノードとエッジの三次元再構成結果を得る。
詳細は、後述する。
本発明に係る光学式モーションキャプチャシステムでは、メッシュマーカの結合情報を特徴点(ノード)の三次元再構成に利用することにより、ノード数の増加による計算量(計算時間)の増加を抑えつつ、空間的に密度の高いデータを取得することができる。本発明に係るモーションキャプチャシステムは、通常のマーカの替わりに、特徴点間に結合情報を持つメッシュマーカを用いることで、近距離にマーカが多数存在しても誤りの少ない三次元再構成をリアルタイムに実現する。また、本発明に係るモーションキャプチャシステムは、特別なハードウェアを用いないため、ソフトウェアとマーカの変更のみで従来の光学式モーションキャプチャシステムをそのまま利用することができる。また、三次元再構成を、ローカル三次元再構成処理(例えば、3台ずつのグループによる処理)と全体を統合するサーフェスノード統合処理に分けることによって、計算の高速化とデータの信頼性の向上を実現した。
[1]マーカの結合情報を利用したモーションキャプチャシステム
[1−1]マーカの結合情報
本システムでは通常の球状マーカの替わりに再帰性反射テープをメッシュ状に配置したマーカ(以下メッシュマーカと呼ぶ)を用いる。図1にメッシュマーカの部分図を示す。テープの交点をノード、ノード同士を結ぶ線をエッジと呼ぶ。通常の球状マーカと異なり、メッシュマーカではそれぞれのノードは結合情報を持っている。結合情報とは、どのノード同士がエッジによって結びついているかという情報である。このメッシュマーカの持つ結合情報を利用することにより、ノードの三次元位置をより正しく推定することができる。以下に結合情報を利用した場合と、結合情報を利用しない場合での三次元再構成法の違いについて述べる。
[1−2]結合情報を利用した三次元再構成
本システムでの三次元再構成とは、メッシュマーカを異なる視点から撮影した複数枚の二次元画像をもとに、三次元上でのノードの位置とそれらを結ぶエッジを再現することである。メッシュマーカを撮影した画像からは図2に示されるような二次元画像中でのメッシュ情報が得られる。メッシュ情報は二次元画像上でのノードの位置の情報(node list)とその結合情報を記述したリスト(edge list)からなっている。例えば、node list 1(50,50)は、1番のノードの位置が座標(50,50)であることを示しており、edge list 1(2,4)は、1番のノードは2番のノード及び4番のノードに結合していることを示している。
本明細書では、ノード及びエッジに係る用語を、以下のように定義する。
イメージノード:二次元画像上でのノードであり、ノードの二次元位置情報を構成する。
イメージエッジ:二次元画像上のノードを繋ぐエッジである。
サーフェスノード:三次元上に再構成したノードであり、ノードの三次元位置情報を構成する。
サーフェスエッジ:三次元上のノードを繋ぐエッジである。
メッシュノード:実際のメッシュマーカのノードである。
メッシュエッジ:実際のメッシュマーカのエッジである。
ノードベクトル:カメラ位置を始点としてイメージノードを通って延出するベクトルであり、このベクトル上にサーフェスノードがあると推定される。
光学式モーションキャプチャにおいて三次元再構成は一般に次の方法で行われる。なお、以下の説明においては便宜上、球状マーカにおいても二次元画像中におけるマーカ像をイメージノード、三次元上に再構成したマーカをサーフェスノード、実際のマーカをメッシュノードと呼ぶ。カメラ画像中のイメージノードは三次元空間中ではカメラ位置から引かれる1本の直線として表現される。そのイメージノードに対応するメッシュノードは三次元空間中のこの直線上のどこかに存在すると推定される。この直線をノードベクトルと呼ぶ(図3)。サーフェスノードの三次元位置は複数カメラのノードベクトルの交点として求まる。三次元位置計算では異なる視点のカメラ画像間から同一のメッシュノードを指し示しているイメージノードを対応付ける必要があるが、これはノードベクトル同士が交わるイメージノードを探索することで行う。近距離にメッシュノードが多数存在する場合にはイメージノードの対応付けを間違える可能性が高くなる。また、マーカ数をM、カメラ台数をNとすると探索のための計算量はMNのオーダで増加するため、マーカ数が増えると爆発的に増加する。
本発明においては、メッシュマーカの結合情報を利用することにより、間違ったノードベクトルの組を選択する可能性を減らし、マーカ数の増加に伴う計算量の増加を抑えることができる。三次元再構成にマーカの結合情報を利用しないものと、マーカの結合情報を利用したものとの違いを図4、図5に示す。図4が結合情報を利用しない三次元再構成、図5が結合情報を利用した三次元再構成の様子を示している。結合情報を利用しない三次元再構成では図中のAのマーカが再構成されている場合においても、左側カメラ画像中のbのイメージノードと対応するものを見つけるには、右側カメラ画像中の全イメージノードからイメージノードを探索しなければならない。そのため、交差するノードベクトルが複数本存在した場合には対応するイメージノードを特定することは難しい。結合情報を利用する三次元再構成においては、左側カメラ画像中のbのイメージノードと対応しているものの探索はマーカAとの結合情報により、右側カメラ画像中のβ、γに絞られる。そのため交差するノードベクトルが複数本存在する可能性が低く、またマーカ数の増加による計算量の増加も少ない。
[1−3]システム概要
本システムの概要図を図6に示す。本システムはイメージノード抽出(Extraction)、サーフェスノード生成(Reconstruction)、サーフェスノード統合(Integration) の3つのステップからなる。各カメラで撮影された画像において、それぞれに備え付けられたPC(カメラPC)で画像処理されメッシュ情報が抽出される。サーフェスノードの生成は各カメラPCで、ある一つのカメラとその両隣のカメラの計3台分のカメラから得られたメッシュ情報をもとに行われる。各カメラPCで計算されたサーフェスノードの三次元再構成結果を統合用PCが統合することで最終的な再構成結果を得る。統合によって得られるサーフェスノードを特に統合サーフェスノードと呼ぶ。再構成計算をカメラ3台ずつのグループに分けたのは計算の高速化とデータの信頼性向上のためである。これについては後述する。本システムでは10台のカメラを用いており、10個のグループでそれぞれサーフェスノードが生成される。統合サーフェスノードは各カメラグループで独立に計算されたサーフェスノードから矛盾部分を排除し、一致する部分を統合して得られるため信頼性が高い。
[1−4] システム構成
[1−4−1]ハードウェア構成
本システムのハードウェア構成を図7に示す。
以下、各構成要素についての特徴を述べる。
[高解像度カメラ]
Adimec社製の高解像度カメラAdimec-1000mを10台用いる。同カメラは1000x1000画素、10[bit]グレースケールを有し、非同期モードでは50[fps]、外部パルスによる同期モードでは40[fps]の撮影が可能である。本システムでは同期モードで使用している。カメラの配置はスタジオの外周に沿った天井付近に、スタジオ中央に対して概ね等角度間隔になるようになっている。
[LED照明]
各カメラには円形のLED照明が取り付けられている。本システムでは再帰的反射性を持つメッシュマーカを撮影対象とする。各カメラに備え付けられたLED照明から発せられた光線がメッシュマーカを構成する再帰性反射テープによってそれぞれのカメラ方向に強く反射され、マーカ部分のみの強調されたカメラ画像を得ることができる。
[パルスジェネレータ]
各カメラにはパルスジェネレータからのトリガが送られる。このトリガによりカメラ間での撮影タイミングの同期が取られる。
[PCクラスタ]
カメラ1台につきPC1台(以下カメラPCと称す)計10台を、システム全体の統合用としてPC1台(以下統合PCと称す)を使用する。各々のPCの役割については後述する。なお各PC 間でのデータの送受信にはMPI(Message Passing Interface)を用いる。
[1−4−2] ソフトウェア構成
1−3で述べたようにシステムはイメージノード抽出、サーフェスノード抽出、サーフェスノード統合の3種類のプロセスからなる。このうちイメージノード抽出、サーフェスノード生成のプロセスは、それぞれカメラ、カメラグループで独立に計算できる。この2つのプロセスを各カメラPCで並列に計算し、サーフェスノード統合処理を統合PCで行う。実際の計測時のデータの流れを図8に示す。
カメラからの画像取得はカメラプロセス中、Threadαにより以下の処理で行われる。
(a)パルスジェネレータが撮影のタイミングを発信すると、画像キャプチャボードを介してカメラに画像取得指令が伝わる。
(b)カメラからカメラPCに画像が転送され、同PC内のループバッファメモリにイメージが書き込まれる。
三次元再構成計算は以下の処理による。
(1)統合プロセスからカメラプロセスへ画像処理命令が送られる。
(2)画像処理命令を受信すると、カメラプロセスはループバッファメモリ内の最新のイメージ画像を使用してイメージノードを抽出する。
(3)カメラプロセスはイメージノードデータを統合プロセス、自身とその両隣の再構成プロセスに送信する。
(4−a)統合プロセス内のデータ受信監視スレッド(Threadγ)はイメージノードデータを受信したらループバッファにそのデータを保存する。
全カメラプロセスからデータを受信したら、画像処理命令を送る(Step(1)へ)。
(4−b)再構成プロセスは、カメラ3台分のイメージノードデータを受信したら再構成計算を行う。
(5)再構成計算が終了したら、 サーフェスノードデータを統合プロセスへ送る。
(6)データ受信監視スレッドはサーフェスノードデータをループバッファに保存する。全再構成プロセスからデータを受信したら、統合計算スレッド(Thread δ) に統合計算命令を送る。
(7)統合計算を行い、統合サーフェスノードの時系列データを得る。
(a)、(b)は画像を撮影する処理であり、外部パルスをトリガに(1)〜(7)とは無関係に動く。(1)〜(7)は実際に画像処理、再構成、総合計算を行う処理である。統合プロセスが各カメラPCに画像処理命令を送ることで同期のタイミングを管理している。モーションキャプチャのフレームレートは画像処理プロセスの計算時間に依存する。
[2]メッシュ情報抽出アルゴリズム
[2−1]メッシュ情報抽出の概要
撮影されたグレースケール画像からイメージノードの位置とイメージエッジを抽出する。この処理が全体のフレームレートを決定し、三次元再構成の精度にも影響を及ぼすため、高速でかつ、可能な限り正確にメッシュ情報を抽出するアルゴリズムが求められる。メッシュ情報の抽出は以下の処理に従う。
(1)鮮鋭化:画像のコントラストを強め、メッシュマーカ部とそれ以外の箇所の差異を明確にする。
(2)2値化:鮮鋭化された画像に対して値化処理を行う。
(3)細線化:2値化画像から芯線を抜き出す。
(4)情報抽出:細線化画像からイメージノードの位置とその結合情報を抽出する。
図9に原画像からメッシュ情報抽出までの流れを示す。以下、各々の処理について述べる。
[2−2]鮮鋭化・2値化処理
イメージノードの結合情報を得るための細線化画像は2値画像をもとに得られるため、その結合性は2値化の閾値によって左右されることがある。その影響を低減するため、2値化前にエッジの鮮鋭化処理を行い、メッシュマーカが張られている部分とそれ以外の部分との差異を強調する必要がある。鮮鋭化には空間フィルタ法を用いる。空間フィルタ法は、画像fから二次微分画像f´´(ラプラシアン)を引く処理である。二次微分画像を引くことにより、濃度変化にオーバシュートとアンダシュートを形成し、結果としてエッジの傾斜を強調した画像の鮮鋭化を実現できる。
図10に原画像と鮮鋭化画像の濃度変化の様子を示す。図10は画像中のある軸に沿った画像の濃度変化を表している。図中の横軸が画像中の軸、縦軸が濃度を表しており、一点鎖線が原画像fの濃度変化、鎖線が二次微分画像f´´を正負反転したもの、実線がエッジ鮮鋭化画像gである。画像中のi列j行目の画素の濃度をf(i,j)とすると、ラプラシアンオペレータは式(1)で定義される方向性差分△if,△jf、方向性二次差分△i 2f,△j 2fより式(2)で表される。
したがってエッジ鮮鋭化画像g(i,j)は式(3)となり、図11のフィルタによって実現できる。
鮮鋭化後の画像に対して2値化処理を行い、2値画像を得る。2値化処理は次式によって行われる。
fTが2値画像であり、1を有効領域(白領域)、0を背景領域(黒領域)の値に割り当てる。以後、有効画素といった場合にはfTの画素(白色画素)を指す。実際には効率化のため、鮮鋭化処理、2値化処理、さらに有効範囲の選択までを同時に行う。有効範囲とは有効画素の存在する画像範囲のことであり、ここでは矩形で選択している。
[2−3]細線化処理
ノードの位置、連結情報を抽出するため、2値画像に細線化処理をほどこす。細線化処理とは位相的な連結性が変わらないように線図形の線幅を1に細める処理である。細められた線を芯線という。細線化された図形からは線分のつながりを容易に求めることができる。細線化処理には次の条件を満たすことが求められる。
● 芯線の線幅が1になる。
● 芯線の位置が線幅の中心になる。
● 図形の連結性が保存される。
細線化処理の前に隣接画素と連結数の定義を記す。以下は2値画像を対象においている。
[隣接画素と連結性]
隣接画素には4−近傍、8−近傍の2種類の定義がある。ある画素に対して上下左右にある4画素を4−近傍という。4−近傍の画素に加え、さらに斜めの4画素を含めたものを8−近傍という。隣接画素を用い、画素同士の間には連結性の定義ができる。ある二点間に隣接する有効画素を辿る経路が存在すればその二点は連結しているという。連結性は隣接画素の定義によって異なり、4−近傍で定義したときの連結を4連結、8−近傍で定義したときの連結は8連結という。図12(a)は8連結している2点間A−Bの経路を示している。図12(b)のように4連結で定義した場合にはA−Bの間には経路が存在せず、これら2点は連結していない。連結した画素の集合を連結成分という。図13に各連結定義における連結成分の解釈を示す。(a)は原画像、(b)は4−近傍の定義による連結成分、(c)は8−近傍の定義による連結成分である。連結の定義により、連結成分が結合したり分断されたりする。どちらの連結定義を用いるかは使用するケースに合わせて適宜選択する。
[連結数]
2値画像の有効領域は背景領域と隣接する境界点の集合と背景に隣接していない内部点の集合からなる。図14に境界点の様子を示す。図14(a)が原画像であり、図14(b)が有効領域を4連結で定義した場合の境界点、図14(c)が8連結の場合の境界点を示している。図14中で境界点は灰色で表されている。
このように定義された連結成分の境界点をたどることを境界線追跡(図14(d)) という。境界線追跡を利用することにより、各画素に連結数を定義することができる。連結数とは境界線追跡をしたとき、その画素を通過する回数であり、連結数により画素の特徴を表1のように分類することができる。連結数は式(5)、(6)に示す式で計算される。
ここでxkは図15に示す位置であり、C=1,3,5,7,f(バー)=1−f,x9=x1である。
以上で定義された連結数を用いて線図形の細線化を行う。境界点に相当する画素を探し、その画素を消しても図形の位相が変わらない場合には削除する。これを繰り返すことで細線化を行う。細線化処理は以下による。
[細線化アルゴリズム]
(1)ステップ1: 画像f中に右側境界条件を満たす画素があればステップ2へ進む。ここで右側境界条件を満たす画素とは、自身の右側の画素が背景領域である有効領域中の画素であり、同様に下側、左側、上側に背景領域を持つ有効画素を下側境界、左側境界、上側境界という。
(2)ステップ2: 画像中の右側境界を満たす全ての画素に対して、その画素の連結数を計算する。
(3)ステップ3: ステップ2で計算した画素のうち、連結数が1以下であった画素を削除する。2以上であった画素は永久保存点とし、これ以降の反復処理では削除の対象としない。
ステップ1、2、3を下側境界、左側境界、上側境界に対しても行う。右、下、左、上側境界点削除の一連の流れの中で削除される画素がなくなるまでこれを繰り返す。
連結数の定義によって細線化後の画像は異なる。図16に連結数定義の違いによる細線化画像の違いを示す。図16中の画像は左から順に原画像、2値画像、8連結定義による細線化画像、4連結定義による細線化画像となっている。2値画像中の幅1ピクセルの斜めの線は8連結定義では連結されるが、4連結定義では分断される。しかし、2値画像中で幅1ピクセルで表されるようなエッジは極めて信頼性が低いと考えられる。図16左の原画像を見ると枠で囲まれたエッジは実際には繋がっていないものであることが確認できる。また、交点の位置も8連結定義に比べて4連結定義の方が抽出が容易である。以上の理由から、本システムでは連結数の定義に4連結を用いることにする。
[2−4]ノードの位置・連結情報の抽出
細線化画像から交点とその交点間の連結性を抽出する。既述のように連結数によって画素の特徴を分類することができる。交点は連結数が4の画素である。しかし、実際には、細線化後の画像は図17のように交点が2つの分岐点として表現されてしまうことがある。図17(a)が原画像、(b)が2値画像、(c)が細線化画像であり、細線化画像中の右側のマスが交点(連結数4)の画素、左側の枠で囲まれた部分が2つの分岐点(連結数3)に分かれてしまった交点を示している。イメージノードの抽出処理では画像中から連結数が3以上である画素(分岐点、交点)を探索し、分岐点であった場合にはその点が本当に分岐点であるのか、あるいは図17(c)のように1つの交点が分かれてできた分岐点であるのかを確認する必要がある。
イメージノードとイメージエッジの抽出は以下の処理による。
(1)ステップ1: 画像を走査し、連結数が3以上である画素を見つける。
(2)ステップ2: 走査が終わったら見つかった交点・分岐点の画素についてそれぞれ以下の処理を行う。
[交点に関する処理]
交点の画素から別の交点・分岐点の画素、あるいは端点に行き着くまで隣接する有効画素からなる経路を辿っていく。交点・分岐点に辿り着いたらその交点・分岐点との結合情報を記録する。
[分岐点に関する処理]
交点画素に関する処理と同様に、分岐点の画素から別の交点・分岐点の画素、あるいは端点に行き着くまで経路を辿っていく。交点にたどり着いたらその交点との結合情報を記録する。分岐点にたどり着いたらその分岐点までの経路の長さを調べる。それが閾値以下だった場合には、この分岐点画素と辿り着いた分岐点とは1つの交点が分かれたものであると判断し、この2つの分岐点の中点を正しい交点とする。閾値以上だった場合には交点画素と同様に、その分岐点との結合情報を記録する。
以上の処理により、画像からイメージノードとイメージエッジを抽出しメッシュ情報を得る。これらの処理は画像処理によるため、メッシュ情報を誤りなく完全に抽出することは困難である。画像によってはイメージノードやイメージエッジを抽出し損なってしまったり、逆に存在しないイメージノードやイメージエッジを抽出してしまうことも考えられる。したがって、三次元再構成法では抽出されたメッシュ情報のエラーに対してロバストな方法を考える必要がある。
[3]三次元再構成アルゴリズム
[3−1]三次元再構成
本システムの三次元再構成は図6で示したように、各カメラPCでカメラ3台分ずつのメッシュ情報から三次元再構成を行い、統合PCでそれらの再構成結果の矛盾部分の排除、一致部分の統合を行うことによって最終的なデータである統合サーフェスノードを得る。以下、それぞれのカメラグループで行われるサーフェスノードの生成法と統合PCで行われるサーフェスノードの統合法について説明する。
[3−2]サーフェスノードの生成
隣り合う台のカメラ画像からサーフェスノードを生成する。サーフェスノードの生成は以下の3つのステップからなる。
[A]初期サーフェスノードの生成(図18)
3台のカメラ画像の中から一点で交わるノードベクトルの組み合わせを見つけ、それらの交点にサーフェスノードを生成する。ここで生成するサーフェスノードを初期サーフェスノードと呼ぶ。
[B]サーフェスノード群の生成(図19)
結合情報を利用して初期サーフェスノードから順次新たなサーフェスノードを生成していく。ここで生成されるサーフェスノードは直接的、あるいは間接的に初期サーフェスノードと結合している。これらサーフェスノードの集まりをサーフェスノード群と呼ぶ。生成の元となった初期サーフェスノードをこのサーフェスノード群の中心と呼ぶ。
[C]サブサーフェスノードによるサーフェスノード群の拡大
2本のノードベクトルでサーフェスノードを構成することを許してサーフェスノード群をさらに拡大していく。ここで構成される2本のノードベクトルからなるサーフェスノードをサブサーフェスノードと呼ぶ。
以下のように記号を定義し、各々の処理について詳細を述べる。
サーフェスノードを1つでも構成することができれば、その周りのエッジを辿っていくことにより効率的にサーフェスノードを順次構成していくことができる。結合情報を使用することにより、探索のためのノードベクトル同士の距離計算の回数が少なくて済み、また、誤ったサーフェスノードが構成される可能性も減る。しかし、最初に構成するサーフェスノードが以降の再構成の元になるため、これは信頼性の高いものでなくてはならない。最初のステップは信頼性の高いサーフェスノードを見つけることである。初期サーフェスノードの生成は次のように行う。ここではカメラCbを中心とした処理を記す。他のカメラでも同様であり、それぞれのカメラPC中で計算を行う。
[A]初期サーフェスノードの生成
(1) ステップ1:イメージノードN を選ぶ。
(2) ステップ2:カメラCb+1のイメージノードの中から以下の条件を満たすイメージノードN b+1を見つける。ここでCb+1はCの隣に位置するカメラを表す。
● dv(Vp b,Vq b+1)≦dhardを満たす。ここで、dhardは、ノードベクトル同士が交わっていると判定するための閾値である。
● dv(Vi b,Vj b+1)≦dhardを満たすイメージノードNi ∈Ep 、N b+1∈Eq b+1の組が2組以上存在する。
もし、Nq b+1が見つかればステップ3へ、見つからなければステップ1へ戻る。
(3) ステップ3:ステップ2と同様の処理をカメラCb−1に対しても行う。もしN b−1が見つかればステップ4へ、見つからなければステップ1へ戻る。
ステップ4:V ,V b+1,V b−1を用いてサーフェスノードPを構成する。
以上の手順により、サーフェスノード群生成の元となる初期サーフェスノードが生成される。ノードベクトルの交差に厳しい閾値dhardを用い、交わったノードベクトルと結合しているノードベクトル同士も交わることを生成の条件とすることで誤った初期サーフェスノードが生成される確率を減らしている。手順Aにより初期サーフェスノードを生成したら、初期サーフェスノードの周りのエッジを利用して順次サーフェスノードを生成し、サーフェスノード群を構成していく。この処理は以下のようにして行う。
[B]サーフェスノード群の生成
(1) ステップ1:初期化:m=0.初期サーフェスノードに注目する。
(2) ステップ2:現在注目しているサーフェスノードをPα(N ,N b+1,N b−1)と表す。N ∈(E ∩N)のそれぞれについて以下の条件を満たすイメージノードN b+1∈E b+1を見つける。
● N b+1∈Nb+1である。
● d(V ,V b+1)≦deasyを満たす。ここで、deasyはdeasy>dhardとなる緩めの閾値である。
これらを満たすイメージノードN b+1が見つかれば、ステップ3へ進む。
(3) ステップ3:同様に、以下の条件を満たすN b−1∈E b−1を見つける。
● N b−1∈Nb−1である。
● d(V b−1,V )≦deasyかつ、d(V b−1,V b+1)≦deasyを満たす。
(4) ステップ4:N b+1とN b−1が見つかったら、新しくサーフェスノードPm+1を構成する。注目するサーフェスノードをPm+1、さらにm=m+1としてステップ2へ戻る。
(5) ステップ5:ステップ2からステップ4を全てのエッジについてチェックするまで繰り返す。
この手順により、初期サーフェスノードPを中心としたサーフェスノード群を生成できる。[A]、[B]の操作を繰り返し、サーフェスノード群を順次生成していく。新しい初期サーフェスノードが見つからなくなったらサーフェスノード群の生成は終了である。
3台のカメラ中には2台のカメラからのみ見えるメッシュノードも存在し得る。[A]、[B]の処理が全て完了したら[C]の処理で2本のノードベクトルで構成されるサブサーフェスノードを許してサーフェスノード群をさらに拡大する。これは次の処理による。
[C]サブサーフェスノードによるサーフェスノード群の拡大
ステップ1:サーフェスノード群の境界端にあるサーフェスノードP(N ,N b+1,N b−1)に注目する。境界端にあるとは、N ∈E かつN ∈Nを満たすイメージノードN が存在することをいう。
ステップ2:注目したサーフェスノードP(N ,N b+1,N b−1)(あるいは、サブサーフェスノードP(ハット)(N ,N b+1))に対して、以下の条件を満たすイメージノードN b+1もしくはN b−1を見つける。
● N b+1∈N b+1である。
● dv(V ,V b+1)≦deasyを満たす。
もし、Njb+1が見つかれば、V ,V b+1を用いてサブサーフェスノードP(ハット)を構成し、このP(ハット)に対してもステップ2の処理を行う。見つからなければステップ1に戻り、境界端のサーフェスノードに対して全てチェックするまで繰り返す。
以上がサブサーフェスノードを含むサーフェスノード群の拡大である。この処理を全てのサーフェスノード群に対して行う。サブサーフェスノードは2本のノードベクトルから構成されるため、サーフェスノードに比べて信頼性の低いものである。サブサーフェスノードの生成は、先の[A]、[B]の処理によりサーフェスノードを全て生成した後に補足的に行われる。
3台のカメラグループによるサーフェスノードの生成の流れを図20にまとめる。初期サーフェスノード図20(a)からサーフェスノードを順次生成することで、一つのサーフェスノード群を得る(図20(b))。この処理を繰り返し行うことで複数のサーフェスノード群を生成する(図20(c))。新たなサーフェスノード群を生成することができなくなったら、サブサーフェスノードを許してさらにサーフェスノード群を拡大していく(図20(d))。初期サーフェスノードの生成時においては厳しい閾値dhardを用いるため、これらは信頼性の高いサーフェスノードと言える。サーフェスノード群の生成過程においては、結合情報を利用して初期サーフェスノードから順々にサーフェスノードを構成していく。正しいサーフェスノードを辿って誤ったサーフェスノードが生成されるのは、図21のように最低2台のカメラ画像中でイメージノード、あるいはイメージエッジの抽出に誤りがあり、かつその誤ったイメージノードに対応するノードベクトルを含む3本のノードベクトルが偶然一点で交わるような場合のみであるため、その可能性は極めて低い。サーフェスノードが正しいものであるかどうかは、それと連結するサーフェスノードの正しさに大きく依存する。サーフェスノード群の生成では結合情報を利用することと交線判定に緩い閾値deasyを用いることで、効率的に信頼性の高いサーフェスノードを多く再構成することができる。
[3−3]サーフェスノードの統合
各カメラグループにおいて生成したサーフェスノードを統合し、全カメラのメッシュ情報からなる統合サーフェスノードを構成する。ここで、さらに、以下の記号を定義する。なお、以後はサーフェスノードとサブサーフェスノードを合わせてサーフェスノードと呼ぶ。
カメラグループGbから送られてくるサーフェスノードPn bの情報は以下のとおりである。
これらの情報をもとにサーフェスノードを統合し、統合サーフェスノードを構成していく。
各カメラはそれぞれ3つのカメラグループに所属しているため、各カメラで抽出されたイメージノードは再構成計算に最大3回使われる。あるカメラグループで使用されたイメージノードが別のカメラグループでは全く別のサーフェスノードに使用されている可能性もある。その様子を図22(a)に示す。図22中で三角形の頂点がカメラ、底辺がカメラ投影面を表しており、カメラから伸びている直線がそのカメラのイメージノードNi bに対応するノーベクトルを示している。カメラグループGb中のサーフェスノードPi bは構成要素としてイメージノードNp b、Nq b+1、Nr b-1を持つ。一方、カメラグループGb+1中のサーフェスノードPjb+1はNp b、Ns b+1、Nt b+2を構成要素として持っている。Pi bとPj b+1は共通のイメージノードNp bを使用しているにも関わらず、カメラCb+1のイメージノードはNq b+1、Ns b+1と異なるものを使用している。この場合、Pi bとPj b+1のどちらか一方がNp bを誤って使用している。このような状況をサーフェスノードPi bとPj b+1の矛盾という。逆に同じイメージノードを使用した異なるカメラグループのサーフェスノードが同一のものを再構成している場合、これをサーフェスノードの一致と呼ぶ。一致の様子を図22(b)に示す。Pi bとPj b+1はともにイメージノードNp b、Nq b+1を使用しており、矛盾したイメージノードが存在しない。統合処理では矛盾したサーフェスノードを排除し、一致したサーフェスノードを統合することにより、より信頼性の高い統合サーフェスノードを得る。サーフェスノードの統合の流れを図23A−Cに示す。図23A中のQは全カメラグループで作られたサーフェスノード群の数を表しており、サーフェスノードの数の多いものから順にサーフェスノード群を並べたものをJiと表す。統合処理はサーフェスノード群J0からJQ-1まで順に次の処理を行っていく。
[統合処理の流れ]
サーフェスノード群Jiの初期サーフェスノードPiに注目する。注目したサーフェスノードに対して処理A(Piとそれに結合するサーフェスノードPj∈Siに関する統合処理)を行う。処理Aでは、注目しているサーフェスノードPiに対して処理B(Pi bを残すべきか、削除するべきかの判定)を行い、処理Bの結果、Pi bを残すべきだと判定したらPiと結合しているサーフェスノードに関しても順次処理Aを繰り返していく。Piが削除するべきものであると判定した場合には、Piと結合しているサーフェスノードに対しては処理Aを行わない。既述のようにサーフェスノードが正しいものであるかどうかは連結するサーフェスノードの正しさに大きく依存する。矛盾が判明した時点でその先の処理を停止することで、誤ったサーフェスノードが残ってしまう可能性を低減している。以下、処理A、処理Bに関して詳述する。
[処理A(Piとそれに結合するサーフェスノードPj∈Siに関する統合処理)]
先に述べたようにこの処理はサーフェスノード群の初期サーフェスノードから始める。
(1) ステップ1:注目しているサーフェスノードPiに対して処理Bを行う。
(2) ステップ2:処理Bの結果、Piを残すべきだと判定したらステップへ進む。削除するべきだと判定したら処理を終了する。
(3) ステップ3:Piと結合しているサーフェスノードPj∈Si全てに対して処理Aを繰り返す。
[処理B(Pi bを残すべきか、削除するべきかのチェック)]
サーフェスノードPi bと一致するサーフェスノードを別のカメラグループから探していく。この処理は図23Cに示すように右回り探索、左回り探索、矛盾したサーフェスノードの削除の3つのステップからなる。それぞれの処理について以下順次述べる。
[右回り探索]
自身と一致するサーフェスノードを右側のカメラグループのサーフェスノードの中から順次探していく。サーフェスノードPi bに関する右回り探索は以下の処理からなる。
(1) ステップ1:初期化:k=b.Pi bに注目。
(2) ステップ2:右のカメラグループから探索:
現在注目しているサーフェスノードをPi k(Np k,*,*)と表す。ここで、*は任意の文字を表し、Pi k(Np k,*,*)は現在注目しているサーフェスノードPi k中でイメージノードNp kが構成要素として使用されていることを表現している。Pi k(Np k,*,*)に対して、一致するサーフェスノードをカメラグループGk+1中のサーフェスノードの中から探す。探索方法を図24に示す。Pi kの構成要素Np kに注目し、Np kを使用しているサーフェスノードをGk+1中のサーフェスノードPk+1中から探す。Np kを使用しているサーフェスノードP k+1(*,*,Np k)が存在したら以下の条件を満たすかチェックする。
● Pi kとの距離が閾値dinteg以下である。
● Pi kの構成要素との間に矛盾がない。構成要素の矛盾とは同じカメラ画像中の異なるイメージノードを利用していることをいう。
これらの条件を満たす場合、Pi k(Np k,*,*)とP k+1(*,*,Np k)は一致していると判断しこの2つのサーフェスノードを統合する。ここで統合とは、P k+1(*,*,Np k)の構成要素の中でPi kの構成要素にないものがあれば新たにPi kの構成要素として登録し、Pi kの位置を再計算することをいう。統合した後、注目するサーフェスノードをP k+1(*,Np k,*)、k=k+1としてステップ2を繰り返す。
条件を満たさない場合、Pi kとP k+1は矛盾していると判断する。矛盾したサーフェスノードは探索処理終了後の矛盾したサーフェスノードの削除の処理で用いるため、記憶しておく。P k+1(*,*,Np k)が存在しない場合、あるいは、Pi kと矛盾していた場合には、ステップ3へ進む。
(3) ステップ3:2つ右のカメラグループからの探索:
現在注目しているサーフェスノードをP k(*,N k+1,*)と表す。2つ先のカメラグループGk+2からP k(*,N k+1,*)と一致するサーフェスノードを探す。Pk+2中から一致するサーフェスノードを探索する様子を図25に示す。Pi kの構成要素Nq k+1に注目し、Pb+2の中からNq b+1を使用しているサーフェスノードP k+2(*,*,N k+1)を探す。P k+2が存在したらステップ2で用いた一致の条件を満たすかどうか確認する。一致した場合にはPi kとP k+2を統合し、注目するサーフェスノードをP k+2(*,*,N k+1)、k=k+2としてステップへ戻る。
P k+2(*,*,N k+1)が存在しなかったりPi kと矛盾していたりした場合には、右回りの探索処理を終了とする。以上の処理によって一致するサーフェスノードが見つかる限り、探索する対象を右側方向のカメラグループへと進めていきサーフェスノードを統合していく。
[左回り探索]
左側のカメラグループのサーフェスノードの中から順次探していく。探索は右回り探索と同様の方法で行う。右回り探索の処理過程におけるk+1をk−1に、k+2をk−2に置き換えればよく、右回り探索の説明を援用することができる。
[矛盾したサーフェスノードの削除]
右方向、左方向に統合できるサーフェスノードの探索が終わったら、その探索の過程で見つかった矛盾するサーフェスノードの排除処理を行う。排除処理では矛盾の生じたサーフェスノードとPi bを比較し、使用しているノードベクトルの数の多い方を残し、少ない方を削除する。一方のサーフェスノードがまだ処理Bを行っていない場合には、そのサーフェスノードに対して処理Bを行った後にこの処理を行う。
以上の操作によって、同一のメッシュノードを指し示すサーフェスノードは統合され、サーフェスノード間に矛盾が生じているときは多数決的にどちらか一方が削除される。本システムでの三次元再構成ではノードの結合情報と種類の閾値を用いたサーフェスノードの生成、多数決による矛盾点の削除といった2重3重の誤り防止処理により、信頼性の高いデータを取得できる。
最後に、全身にメッシュマーカをもった人間のモーションキャプチャの実験の様子を示す。図26に示すメッシュマーカを対象にリアルタイム三次元再構成を行った。図26左図、右図のメッシュマーカに対するリアルタイム三次元再構成の実験の様子の部分拡大図をそれぞれ図27上図、下図に示す。大量のノードに対してもリアルタイムに三次元再構成を行えている様子が確認できる。全身に加え、指などの細かい部分まで三次元再構成できている様子が確認できる。
本発明は、ロボティクス、バイオメカニクス、スポーツ科学、医学、コンピュータグラフィックス等の分野に利用することができる。
メッシュマーカの部分図である。 二次元画像から抽出したノード情報及びエッジ情報を示す。 ノードベクトルを説明する図である。 エッジ情報を用いずに特徴点の三次元再構成を行う場合を示す図である。 エッジ情報を用いて特徴点の三次元再構成を行う場合を示す図である。 本発明に係るモーションキャプチャシステムの全体概略図である。 本発明に係るモーションキャプチャシステムのハードウェア構成を示す図である。 本発明に係るモーションキャプチャシステムのデータフロー図である。 メッシュ情報抽出アルゴリズムの各ステップにおける処理後の図を示す。左から、原画像、鮮鋭化された画像、二値化された画像、細線化された画像、抽出されたノード及びエッジ画像である。 ラプラシアンオペレータによるエッジ鮮鋭を示す図である。 エッジ鮮鋭のためのフィルタ行列である。 8−近傍で定義した場合、4−近傍で定義した場合の、経路の差異を示す図である。 8−近傍で定義した場合、4−近傍で定義した場合の、連結成分の差異を示す図である。 図14(a)が原画像であり、図14(b)が有効領域を4連結で定義した場合の境界点、図14(c)が8連結の場合の境界点を示している。図14中で境界点は灰色で表されている。図14(d)は境界線追跡を示す。 連結数を計算するために用いる隣接格子の定義である。 連結数定義の違いによる細線化画像の違いを示す。図16中の画像は左から順に原画像、2値画像、8連結定義による細線化画像、4連結定義による細線化画像となっている。 細線化後の画像は図17のように交点が2つの分岐点として表現されてしまうことがある。図17(a)が原画像、(b)が2値画像、(c)が細線化画像であり、細線化画像中の右側のマスが交点(連結数4)の画素、左側の枠で囲まれた部分が2つの分岐点(連結数3)に分かれてしまった交点を示している。 初期サーフェスノードの生成を示す図である。 3つのカメラからのデータを用いたメッシュの拡張を示す図である。 特徴点のローカル三次元再構成を示す図である。 正しいサーフェスノードに基づく誤ったサーフェスノードの三次元再構成の例を示す図である。 (a)はサーフェスノードの矛盾を例示する図である。(b)はサーフェスノードの一致を例示する図である。 サーフェスノードの統合処理のフローチャートである。 図23Aの処理Aのフローチャートである。 図23Bの処理Bのフローチャートである。 隣接するカメラからのサーフェスノードの一致あるいは矛盾の探索を示す図である。 二つ隣りのカメラからのサーフェスノードの一致あるいは矛盾の探索を示す図である。 メッシュマーカを設けた被服を被着した被験者を示す図である。 図26左図、右図のメッシュマーカに対するリアルタイム三次元再構成の実験の様子の部分拡大図をそれぞれ上図、下図に示す。

Claims (52)

  1. メッシュマーカを用いたモーションキャプチャシステムであって、
    メッシュマーカを構成する線の交差部分をノード、各ノードを結ぶ線をエッジとし、ノードが特徴点の位置情報を提供し、エッジが特徴点同士の結びつきを示す結合情報を提供し、
    メッシュマーカを設けた対象物を撮影してメッシュマーカの二次元画像を取得する複数のカメラと、
    各カメラで撮影された二次元画像からメッシュマーカのノード・エッジ情報を検出するノード・エッジ検出部と、
    異なるカメラにより撮影された複数の二次元画像から検出されたノード・エッジの情報を用いてノードの三次元位置情報を求める三次元再構成部と、
    を有し、
    前記二次元画像中のノードをイメージノードとして定義し、前記ノード・エッジ検出部において、前記ノード・エッジ情報には、前記イメージノードの位置情報及び当該イメージノード間の結合情報が含まれ、
    カメラ位置から三次元空間上のノードに向かう直線をノードベクトルとして定義すると共に、三次元空間におけるノードをサーフェスノードと定義し、前記三次元再構成部において、各サーフェスノードの三次元位置情報を複数カメラのノードベクトルの交点として求める、モーションキャプチャシステム。
  2. 複数のカメラは、複数のカメラ群から構成されており、各カメラ群毎にノードの三次元位置情報を取得することを特徴とする請求項1に記載のモーションキャプチャシステム。
  3. 前記各カメラ群は、隣接する一連の複数のカメラから構成されていることを特徴とする請求項2に記載のモーションキャプチャシステム。
  4. 隣位のカメラ群は、少なくとも一つの共通のカメラを有していることを特徴とする請求項2,3いずれかに記載のモーションキャプチャシステム。
  5. ノード・エッジ検出部は、
    原画像に鮮鋭化処理を行って得た鮮鋭画像を二値化して二値画像を得る鮮鋭化・二値化処理部と、
    二値画像に対して細線化処理を行って細線画像を得る細線化処理部と、
    細線画像から線の交点にあたるノードと、交点の繋がりにあたるエッジを検出するノードの位置・連結情報抽出部と、
    を有することを特徴とする請求項1乃至4いずれかに記載のモーションキャプチャシステム。
  6. 三次元再構成部は、既に三次元再構成されているイメージノードの結合情報を用いて、ノードベクトル同士が交わる複数のイメージノードを探索する際に、探索候補となるイメージノード数を削減するように構成されていることを特徴とする請求項1乃至5いずれかに記載のモーションキャプチャシステム。
  7. 三次元再構成部は、
    複数のカメラの複数のノードベクトルの交差を判定する交差判定手段を有し、該交差判定手段は、より厳格な第1の交差判定条件とより緩い第2の交差判定条件とを有し、
    第1の交差判定条件により選択された交点を初期サーフェスノードとする初期サーフェスノード生成手段と、
    初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から、第2の交差判定条件により選択された交点をサーフェスノードとするサーフェスノード群生成手段と、
    を有することを特徴とする請求項1乃至6いずれかに記載のモーションキャプチャシステム。
  8. サーフェスノード群生成手段は、さらに、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から、第2の交差判定条件により選択された交点をサーフェスノードとするように構成されていることを特徴とする請求項7に記載のモーションキャプチャシステム。
  9. 前記交線判定条件は、ノードベクトル間の距離を判定するための閾値を含み、第1交線判定条件で用いる閾値は、第2交線判定条件で用いる閾値よりも小さい値に設定されていることを特徴とする請求項7,8いずれかに記載のモーションキャプチャシステム。
  10. 第1交線判定条件は、初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応する一組あるいは複数組のノードベクトル同士も交差するかどうかの交線判定を含むことを特徴とする請求項7乃至9いずれかに記載のモーションキャプチャシステム。
  11. 前記交線判定条件は、交線数を含むことを特徴とする請求項7乃至10いずれかに記載のモーションキャプチャシステム。
  12. 三次元再構成部は、
    複数のカメラの複数のノードベクトルの中から所定の閾値以下の距離で交差する組み合わせを見つけ、その交点を初期サーフェスノードとする初期サーフェスノード生成手段と、
    初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から所定の閾値以下の距離で交差する複数のノードベクトルの組み合わせを見つけ、その交点をサーフェスノードとするサーフェスノード群生成手段と、
    を有することを特徴とする請求項1乃至6いずれかに記載のモーションキャプチャシステム。
  13. 初期サーフェスノード生成手段は、さらに、初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応する一組あるいは複数組のノードベクトル同士も交差するかどうかの判定手段を有し、それらのノードベクトル同士が所定の閾値以下の距離で交差している場合には、初期サーフェスノードを構成するノードベクトルの組み合わせが正しい組み合わせであると判定し、その交点を初期サーフェスノードとするものであることを特徴とする請求項12に記載のモーションキャプチャシステム。
  14. サーフェスノード群生成手段は、さらに、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から所定の閾値以下の距離で交差する複数のノードベクトルの組み合わせを見つけ、その交点をサーフェスノードとするように構成されていることを特徴とする請求項12,13いずれかに記載のモーションキャプチャシステム。
  15. 初期サーフェスノード生成手段で用いる閾値は、サーフェスノード群生成手段で用いる閾値よりも小さい値に設定されていることを特徴とする請求項12乃至14いずれかに記載のモーションキャプチャシステム。
  16. 三次元再構成部は、さらに、サブサーフェスノード生成手段を有し、サブサーフェスノード生成手段は、サーフェスノード群生成手段により新たなサーフェスノード群の拡大ができなくなった場合に、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から所定の閾値以下の距離で交差する複数かつサーフェスノードを生成するためのノードベクトル本数より少ない数のノードベクトルの組み合わせを見つけ、その交点をサブサーフェスノードとするように構成されていることを特徴とする請求項12乃至15いずれかに記載のモーションキャプチャシステム。
  17. サブサーフェスノード生成手段で用いる閾値は、初期サーフェスノード生成手段で用いる閾値よりも大きい値に設定されていることを特徴とする請求項16に記載のモーションキャプチャシステム。
  18. 初期サーフェスノード生成手段及びサーフェスノード群生成手段において、サーフェスノードは3本以上のノードベクトルが交差する交点から構成されることを特徴とする請求項12乃至17いずれかに記載のモーションキャプチャシステム。
  19. 複数のカメラは、複数のカメラ群から構成されており、隣位のカメラ群は互いに少なくとも一つの共通のカメラを有しており、
    三次元再構成部は、
    各カメラ群毎にサーフェスノードを求めるローカル三次元再構成部と、
    各ローカル三次元再構成部で求めたサーフェスノードを統合するサーフェスノード統合部と、
    を有することを特徴とする請求項1乃至18いずれかに記載のモーションキャプチャシステム。
  20. 各カメラ群は3つ以上のカメラを有しており、隣位のカメラ群は互いに少なくとも2つの共通のカメラを有していることを特徴とする請求項19に記載のモーションキャプチャシステム。
  21. サーフェスノード統合部は、各カメラ群間において、一致したサーフェスノードを統合し、矛盾したサーフェスノードを削除するものであることを特徴とする請求項19,20いずれかに記載のモーションキャプチャシステム。
  22. サーフェスノードが一致するか矛盾するかの判定は、
    二つのサーフェスノード間の距離が所定の閾値以下であること、及び、
    同じカメラ画像中の異なるイメージノードを利用していないこと、
    の二つの条件を満たすか否かによって判定されることを特徴とする請求項21に記載のモーションキャプチャシステム。
  23. サーフェスノードの統合は、一致したサーフェスノード間におけるイメージノードの統合を含み、統合されたイメージノードを用いてサーフェスノードの位置を更新することを特徴とする請求項21,22いずれかに記載のモーションキャプチャシステム。
  24. 二つのサーフェスノードが矛盾する場合には、使用しているノードベクトルの数が多い方を残し、少ない方を削除することを特徴とする請求項21乃至23いずれかに記載のモーションキャプチャシステム。
  25. サーフェスノードの統合は、最初に初期サーフェスノードから行うことを特徴とする請求項19乃至24いずれかに記載のモーションキャプチャシステム。
  26. メッシュマーカを用いた光学式モーションキャプチャにおける特徴点の三次元再構成方法であって、
    メッシュマーカを構成する線の交差部分をノード、各ノードを結ぶ線をエッジとし、ノードが特徴点の位置情報を提供し、エッジが特徴点同士の結びつきを示す結合情報を提供し、
    複数のカメラによって、メッシュマーカを設けた対象物を撮影してメッシュマーカの二次元画像を取得する画像取得ステップと、
    各カメラで撮影された二次元画像からメッシュマーカのノード・エッジ情報を検出するノード・エッジ検出ステップと、
    異なるカメラにより撮影された複数の二次元画像から検出されたノード・エッジの情報を用いてノードの三次元位置情報を求める三次元再構成ステップと、
    を有し、
    前記二次元画像中のノードをイメージノードとして定義し、前記ノード・エッジ検出ステップにおいて、前記ノード・エッジ情報には、前記イメージノードの位置情報及び当該イメージノード間の結合情報が含まれ、
    カメラ位置から三次元空間上のノードに向かう直線をノードベクトルとして定義すると共に、三次元空間におけるノードをサーフェスノードと定義し、前記三次元再構成ステップにおいて、各サーフェスノードの三次元位置情報を複数カメラのノードベクトルの交点として求める、モーションキャプチャにおける特徴点の三次元再構成方法。
  27. 複数のカメラは、複数のカメラ群から構成されており、各カメラ群毎にノードの三次元位置情報を取得することを特徴とする請求項26に記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  28. 前記各カメラ群は、隣接する一連の複数のカメラから構成されていることを特徴とする請求項27に記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  29. 隣位のカメラ群は、少なくとも一つの共通のカメラを有していることを特徴とする請求項27,28いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  30. ノード・エッジ検出ステップは、
    原画像に鮮鋭化処理を行って得た鮮鋭画像を二値化して二値画像を得るステップと、
    二値画像に対して細線化処理を行って細線画像を得るステップと、
    細線画像から線の交点にあたるノードと、交点の繋がりにあたるエッジを検出するステップと、
    を有することを特徴とする請求項26乃至29いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  31. 三次元再構成ステップは、既に三次元再構成されているイメージノードの結合情報を用いて、ノードベクトル同士が交わる複数のイメージノードを探索する際に、探索候補となるイメージノード数を削減することを特徴とする請求項26乃至30いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  32. 三次元再構成ステップは、
    複数のカメラの複数のノードベクトルの交差を判定する交差判定手段を有し、該交差判定手段は、より厳格な第1の交差判定条件とより緩い第2の交差判定条件とを有し、
    第1の交差判定条件により選択された交点を初期サーフェスノードとする初期サーフェスノード生成ステップと、
    初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から、第2の交差判定条件により選択された交点をサーフェスノードとするサーフェスノード群生成ステップと、
    を有することを特徴とする請求項26乃至31いずれかに記載のモーションキャプチャシステムにおける特徴点の三次元再構成方法。
  33. サーフェスノード群生成ステップは、さらに、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から、第2の交差判定条件により選択された交点をサーフェスノードとすることを特徴とする請求項32に記載のモーションキャプチャシステムにおける特徴点の三次元再構成方法。
  34. 前記交線判定条件は、ノードベクトル間の距離を判定するための閾値を含み、第1交線判定条件で用いる閾値は、第2交線判定条件で用いる閾値よりも小さい値に設定されていることを特徴とする請求項32,33いずれかに記載のモーションキャプチャシステムにおける特徴点の三次元再構成方法。
  35. 第1交線判定条件は、初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応する一組あるいは複数組のノードベクトル同士も交差するかどうかの交線判定を含むことを特徴とする請求項32乃至34いずれかに記載のモーションキャプチャシステムにおける特徴点の三次元再構成方法。
  36. 前記交線判定条件は、交線数を含むことを特徴とする請求項32乃至35いずれかに記載のモーションキャプチャシステムにおける特徴点の三次元再構成方法。
  37. 三次元再構成ステップは、
    複数のカメラの複数のノードベクトルの中から所定の閾値以下の距離で交差する組み合わせを見つけ、その交点を初期サーフェスノードとする初期サーフェスノード生成ステップと、
    初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から所定の閾値以下の距離で交差する複数のノードベクトルの組み合わせを見つけ、その交点をサーフェスノードとするサーフェスノード群生成ステップと、
    を有することを特徴とする請求項26乃至31いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  38. 初期サーフェスノード生成ステップは、さらに、初期サーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応する一組あるいは複数組のノードベクトル同士も交差するかどうかの判定ステップを有し、それらのノードベクトル同士が所定の閾値以下の距離で交差している場合には、初期サーフェスノードを構成するノードベクトルの組み合わせが正しい組み合わせであると判定し、その交点を初期サーフェスノードとするものであることを特徴とする請求項37に記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  39. サーフェスノード群生成ステップは、さらに、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から所定の閾値以下の距離で交差する複数のノードベクトルの組み合わせを見つけ、その交点をサーフェスノードとすることを特徴とする請求項37,38いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  40. 初期サーフェスノード生成ステップで用いる閾値は、サーフェスノード群生成ステップで用いる閾値よりも小さい値に設定されていることを特徴とする請求項37乃至39いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  41. 三次元再構成ステップは、さらに、サブサーフェスノード生成ステップを有し、サブサーフェスノード生成ステップは、サーフェスノード群生成手段により新たなサーフェスノード群の拡大ができなくなった場合に、生成されたサーフェスノードを構成するイメージノードとエッジによって結合しているイメージノードに対応するノードベクトルの中から所定の閾値以下の距離で交差する複数かつサーフェスノードを生成するためのノードベクトル本数より少ない数のノードベクトルの組み合わせを見つけ、その交点をサブサーフェスノードとすることを特徴とする請求項37乃至40いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  42. サブサーフェスノード生成ステップで用いる閾値は、初期サーフェスノード生成ステップで用いる閾値よりも大きい値に設定されていることを特徴とする請求項41に記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  43. 初期サーフェスノード生成ステップ及びサーフェスノード群生成ステップにおいて、サーフェスノードは3本以上のノードベクトルが交差する交点から構成されることを特徴とする請求項37乃至42いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  44. 複数のカメラは、複数のカメラ群から構成されており、隣位のカメラ群は互いに少なくとも一つの共通のカメラを有しており、
    三次元再構成ステップは、
    各カメラ群毎にサーフェスノードを求めるローカル三次元再構成ステップと、
    各ローカル三次元再構成部で求めたサーフェスノードを統合するサーフェスノード統合ステップと、
    を有することを特徴とする請求項26乃至43いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  45. 各カメラ群は3つ以上のカメラを有しており、隣位のカメラ群は互いに少なくとも2つの共通のカメラを有していることを特徴とする請求項44に記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  46. サーフェスノード統合ステップは、各カメラ群間において、一致したサーフェスノードを統合し、矛盾したサーフェスノードを削除するものであることを特徴とする請求項44,45いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  47. サーフェスノードが一致するか矛盾するかの判定は、
    二つのサーフェスノード間の距離が所定の閾値以下であること、及び、
    同じカメラ画像中の異なるイメージノードを利用していないこと、
    の二つの条件を満たすか否かによって判定されることを特徴とする請求項46に記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  48. サーフェスノードの統合ステップは、一致したサーフェスノード間におけるイメージノードの統合を含み、統合されたイメージノードを用いてサーフェスノードの位置を更新することを特徴とする請求項46,47いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  49. 二つのサーフェスノードが矛盾する場合には、使用しているノードベクトルの数が多い方を残し、少ない方を削除することを特徴とする請求項46乃至48いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  50. サーフェスノードの統合は、最初に初期サーフェスノードから行うことを特徴とする請求項44乃至49いずれかに記載のモーションキャプチャにおける特徴点の三次元再構成方法。
  51. 請求項26乃至50いずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
  52. 請求項26乃至50いずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラムを記録した記録媒体。
JP2007521199A 2005-04-15 2006-04-11 モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法 Active JP5061350B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007521199A JP5061350B2 (ja) 2005-04-15 2006-04-11 モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005117822 2005-04-15
JP2005117822 2005-04-15
PCT/JP2006/307677 WO2006112308A1 (ja) 2005-04-15 2006-04-11 モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法
JP2007521199A JP5061350B2 (ja) 2005-04-15 2006-04-11 モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法

Publications (2)

Publication Number Publication Date
JPWO2006112308A1 JPWO2006112308A1 (ja) 2008-12-11
JP5061350B2 true JP5061350B2 (ja) 2012-10-31

Family

ID=37115033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007521199A Active JP5061350B2 (ja) 2005-04-15 2006-04-11 モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法

Country Status (4)

Country Link
US (1) US8698899B2 (ja)
EP (1) EP1876412B1 (ja)
JP (1) JP5061350B2 (ja)
WO (1) WO2006112308A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2191445B1 (en) * 2007-09-04 2017-05-31 Sony Corporation Integrated motion capture
US8331697B2 (en) * 2007-11-06 2012-12-11 Jacob Samboursky System and a method for a post production object insertion in media files
US8736616B2 (en) * 2009-09-15 2014-05-27 Sony Corporation Combining multi-sensory inputs for digital animation
CN101807309B (zh) * 2010-03-17 2011-12-21 浙江大学 基于差动拍摄装置的壁画高保真三维重建方法
MX2012011815A (es) * 2010-04-12 2012-12-17 Fortem Solutions Inc Mallas de proyeccion de camaras.
TWI450155B (zh) * 2011-02-15 2014-08-21 Wistron Corp 應用於光學式觸控裝置之校正資訊計算方法及系統
JP2012244196A (ja) * 2011-05-13 2012-12-10 Sony Corp 画像処理装置及び方法
WO2014023641A1 (en) 2012-08-09 2014-02-13 Sony Corporation Refinement of a disparity or motion map based on user interaction
KR101646945B1 (ko) * 2014-12-16 2016-08-10 삼성전자주식회사 Gpu 기반 벡터 그래픽을 위한 메쉬 생성 장치, 방법 및 컴퓨터 프로그램
CN107924555B (zh) * 2015-08-10 2021-09-28 彩滋公司 用于定制产品数字标记的系统和方法
CN105635669B (zh) * 2015-12-25 2019-03-01 北京迪生数字娱乐科技股份有限公司 基于三维运动捕捉数据与实拍视频的动作对比系统及方法
JP6383399B2 (ja) * 2015-12-28 2018-08-29 株式会社デジタルハンズ 部位形状測定器具、並びに、部位形状測定装置及び方法
US10074214B2 (en) * 2015-12-31 2018-09-11 Autodesk, Inc. Systems and methods for generating 3D scenes with time element for display
KR102267397B1 (ko) 2016-10-25 2021-06-21 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10304210B2 (en) * 2017-05-25 2019-05-28 GM Global Technology Operations LLC Method and apparatus for camera calibration
WO2019082797A1 (ja) * 2017-10-23 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 再構成方法および再構成装置
CN110634149B (zh) * 2018-06-22 2022-03-18 湖南大学 一种用于光学动作捕捉系统的非刚体目标特征点匹配方法
CN110033506B (zh) * 2019-03-18 2023-05-02 西安科技大学 基于结构光的综采工作面三维重建系统和重建方法
JP7067513B2 (ja) * 2019-03-25 2022-05-16 日本電信電話株式会社 映像同期装置、映像同期方法、プログラム
CN114820689A (zh) * 2019-10-21 2022-07-29 深圳市瑞立视多媒体科技有限公司 标记点的识别方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0486958A (ja) * 1990-07-31 1992-03-19 Fuji Facom Corp 三次元特徴点座標抽出方法
JP2001349706A (ja) * 2000-06-09 2001-12-21 Oojisu Soken:Kk 位置検出方法及び装置,画像処理方法,シート並びに記録媒体
WO2004072909A1 (en) * 2003-02-11 2004-08-26 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5886702A (en) * 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US6192156B1 (en) * 1998-04-03 2001-02-20 Synapix, Inc. Feature tracking using a dense feature array
US6980690B1 (en) * 2000-01-20 2005-12-27 Canon Kabushiki Kaisha Image processing apparatus
US7127081B1 (en) * 2000-10-12 2006-10-24 Momentum Bilgisayar, Yazilim, Danismanlik, Ticaret, A.S. Method for tracking motion of a face
US6919892B1 (en) * 2002-08-14 2005-07-19 Avaworks, Incorporated Photo realistic talking head creation system and method
US8194093B2 (en) * 2004-09-15 2012-06-05 Onlive, Inc. Apparatus and method for capturing the expression of a performer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0486958A (ja) * 1990-07-31 1992-03-19 Fuji Facom Corp 三次元特徴点座標抽出方法
JP2001349706A (ja) * 2000-06-09 2001-12-21 Oojisu Soken:Kk 位置検出方法及び装置,画像処理方法,シート並びに記録媒体
WO2004072909A1 (en) * 2003-02-11 2004-08-26 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture

Also Published As

Publication number Publication date
EP1876412A1 (en) 2008-01-09
US8698899B2 (en) 2014-04-15
EP1876412B1 (en) 2012-03-28
WO2006112308A1 (ja) 2006-10-26
US20090295711A1 (en) 2009-12-03
JPWO2006112308A1 (ja) 2008-12-11
EP1876412A4 (en) 2009-12-30

Similar Documents

Publication Publication Date Title
JP5061350B2 (ja) モーションキャプチャシステム、及びモーションキャプチャシステムにおける特徴点の三次元再構成法
ES2890414T3 (es) Método para modelado en 3D basándose en procesamiento de estructura a partir de movimiento de imágenes en 2D
US11127189B2 (en) 3D skeleton reconstruction from images using volumic probability data
Habib et al. Generation of complex polyhedral building models by integrating stereo-aerial imagery and lidar data
JP2020514876A (ja) 3dデータセットのアライメントのための装置、方法、及びシステム
US20020164067A1 (en) Nearest neighbor edge selection from feature tracking
JP4761670B2 (ja) 動立体モデル生成装置及び方法
GB2573170A (en) 3D Skeleton reconstruction from images using matching 2D skeletons
KR102450931B1 (ko) 이미지 정합 방법 및 연관된 모델 훈련 방법, 기기, 장치
US20200057778A1 (en) Depth image pose search with a bootstrapped-created database
CN111805131A (zh) 一种焊缝轨迹实时定位方法、装置、存储介质及终端
Furukawa et al. One-shot entire shape acquisition method using multiple projectors and cameras
JP2013024608A (ja) 3次元形状の取得装置、処理方法およびプログラム
Wong et al. Fast acquisition of dense depth data by a new structured light scheme
Özdemir et al. A multi-purpose benchmark for photogrammetric urban 3D reconstruction in a controlled environment
Zhou et al. PersDet: Monocular 3D Detection in Perspective Bird's-Eye-View
Cheng et al. Three-dimensional reconstruction of points and lines with unknown correspondence across images
JP6583674B2 (ja) 3次元測定装置、パターン生成装置、および方法
JP2009048305A (ja) 形状解析プログラム及び形状解析装置
Zetu et al. Data input model for virtual reality-aided facility layout
JP3548652B2 (ja) 物体形状復元装置及びその方法
Du et al. Relative epipolar motion of tracked features for correspondence in binocular stereo
JP2011149952A (ja) モデル入力装置およびモデル生成システム
Pujol Miró Learning to extract features for 2D–3D multimodal registration
Kim et al. Complex digital building model generation through the integration of photogrammetric and LiDAR data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120428

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150