(57)【要約】【課題】ブロックマッチングを高速に行うことにより、３次元モデルを高速に高精度化する。【解決手段】第１の画像の画素及び、第１の画像と異なる位置から撮影した第２の画像の画素に対して、それぞれ光線空間中の第１の座標及び第２の座標を求め、第１の座標から第１の奥行き値、及び第２の座標から第２の奥行き値を算出し、第１の画像の画素値及び第１の奥行き値を、第２の画像の画素値及び第２の奥行き値が格納される位置に回転変換し、回転変換された第１の画像の画素値と、第２の画像の画素値とのブロックマッチングを行い、第１の奥行き値に対する補正量を求め、該補正量により第１の奥行き値を補正する。【選択図】図３
2011048544.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像の画素及び、前記第１の画像と異なる位置から撮影した第２の画像の画素に対して、それぞれ光線空間中の第１の座標及び第２の座標を求めるステップと、
前記第１の座標から第１の奥行き値及び、前記第２の座標から第２の奥行き値を算出するステップと、
前記第１の画像の画素値及び前記第１の奥行き値を、前記第２の画像の画素値及び前記第２の奥行き値が格納される位置に回転変換するステップと、
前記回転変換された第１の画像の画素値と、前記第２の画像の画素値とのブロックマッチングを行い、前記第１の奥行き値に対する第１の補正量を求めるステップと、
前記第１の補正量により前記第１の奥行き値を補正するステップと、
を含んでいることを特徴とする３次元モデルを高精度化する方法。
【請求項２】
前記第１の補正量を求めるステップは、
前記回転変換された第１の画像の画素値と、前記第２の画像の画素値を水平方向に移動した画素値とのブロックマッチングを行い一致度を算出し、最も一致度の高い水平移動量を求めるステップと、
前記最も一致度の高い水平移動量から前記第１の奥行き値に対する第１の補正量を求めるステップと、
であることを特徴とする請求項１に記載の３次元モデルを高精度化する方法。
【請求項３】
前記第１の補正量を求めるステップの前に、
前記第２の画像の画素値及び前記回転変換された第１の画像の画素値が、光線空間中の同一座標に格納された場合、該座標には奥行き値が最も大きい画素値を格納するステップを、さらに含むことを特徴とする請求項１または２に記載の３次元モデルを高精度化する方法。
【請求項４】
さらに異なる位置から撮影した第３の画像の画素に対して、光線空間中の第３の座標を求めるステップと、
前記第３の座標から第３の奥行き値を算出するステップと、
前記第１の画像の画素値及び前記第１の奥行き値を、前記第３の画像の画素値及び前記第３の奥行き値が格納される位置に回転変換するステップと、
前記第３の画像の画素値及び前記回転変換された第１の画像の画素値が、光線空間中の同一座標に格納された場合、該座標には奥行き値が最も大きい画素値を格納するステップと、
前記回転変換された第１の画像の画素値と、前記第３の画像の画素値を水平方向に移動した画素値とのブロックマッチングを行い一致度を算出し、最も一致度の高い水平移動量を求めるステップと、
前記最も一致度の高い水平移動量から前記第１の奥行き値に対する第２の補正量を求めるステップと、
をさらに含み、前記補正するステップは、前記第１の補正量及び前記第２の補正量により前記第１の奥行き値を補正するステップであることを特徴とする請求項１から３のいずれか１項に記載の３次元モデルを高精度化する方法。
【請求項５】
前記補正するステップで補正された第１の奥行き値を、前記回転変換するステップでの第１の奥行き値とすることにより、前記回転変換するステップから前記補正するステップを繰り返すことを特徴とする請求項１から４のいずれか１項に記載の３次元モデルを高精度化する方法。
【請求項６】
第１の画像の画素及び、前記第１の画像と異なる位置から撮影した第２の画像の画素に対して、それぞれ光線空間中の第１の座標及び第２の座標を求める手段と、
前記第１の座標から第１の奥行き値、及び前記第２の座標から第２の奥行き値を算出する手段と、
前記第１の画像の画素値及び前記第１の奥行き値を、前記第２の画像の画素値及び前記第２の奥行き値が格納される位置に回転変換する手段と、
前記回転変換された第１の画像の画素値と、前記第２の画像の画素値とのブロックマッチングを行い、前記第１の奥行き値に対する第１の補正量を求める手段と、
前記第１の補正量により前記第１の奥行き値を補正する手段と、
を備えていることを特徴とする３次元モデルを高精度化する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデルを高速に高精度化する方法及び装置に関する。より詳細には、ブロックマッチングを用いて多視点画像の対応点を求め、３次元モデルを高速に高精度化する方法及び装置に関する。
【背景技術】
【０００２】
３次元モデルを高精度化するため、コンピュータビジョンや実空間把握や自由視点映像生成においては、多数のカメラで撮影した画像群の間の対応点をブロックマッチングなどにより求める必要がある。
【０００３】
光線空間法は３次元空間の記録方法の１つである。カメラの画像はカメラの位置（Ｘ、Ｙ、Ｚ）の１点を通過する様々な方向（θ、φ）の光線を記録した情報と考えられる。光線情報（輝度や色）Ｆは、
Ｆ（Ｘ、Ｙ、Ｚ、θ、φ）
と５つのパラメータを有する関数として定義される。
【０００４】
光線情報Ｆは、５次元のパラメータ空間を必要としているため、３次元モデルに対する処理を行うには適切ではない。そのため、より効率的な記述方法が考えられた。非特許文献１及び２では円筒記録光線空間が開示されている。これは、日常的な範囲（数メートル）内では、光は減衰しない。つまり、明るさ及び色は変化しない。このことを利用して、光が進んでいく方向は記録する必要がないことを利用して、光線情報Ｆを４つのパラメータで記述したものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】苗村  健他、「光線情報の正投影表現に基づく３次元空間の記述」、テレビジョン学会誌Vol. 51, No. 12, pp. 2082〜2090 (1997)
【非特許文献２】Takeshi Naemura and Hiroshi Harashima、"Ray-based approach to Integrated 3D Visual Communication"
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のブロックマッチングを用いた３次元モデルの高精度化手法では、多視点画像間のブロックマッチング処理に多大な時間を必要とし精度も不充分であるという課題があったため、ブロックマッチング処理の高速化が強く求められていた。近年、ＧＰＧＰＵやＰＣクラスタ等の並列性に優れた計算機が以前に比べて安価かつ容易に利用できるようになってきているが、効果的かつ同程度の精度で並列化を考慮したブロックマッチング処理方式が存在しなかった。
【０００７】
従って、本発明はブロックマッチングを高速に行うことにより、３次元モデルを高速に高精度化する方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を実現するため本発明による３次元モデルを高精度化する方法は、第１の画像の画素及び、前記第１の画像と異なる位置から撮影した第２の画像の画素に対して、それぞれ光線空間中の第１の座標及び第２の座標を求めるステップと、前記第１の座標から第１の奥行き値、及び前記第２の座標から第２の奥行き値を算出するステップと、前記第１の画像の画素値及び前記第１の奥行き値を、前記第２の画像の画素値及び前記第２の奥行き値が格納される位置に回転変換するステップと、前記回転変換された第１の画像の画素値と、前記第２の画像の画素値とのブロックマッチングを行い、前記第１の奥行き値に対する第１の補正量を求めるステップと、前記第１の補正量により前記第１の奥行き値を補正するステップとを含んでいる。
【０００９】
また、前記第１の補正量を求めるステップは、前記回転変換された第１の画像の画素値と、前記第２の画像の画素値を水平方向に移動した画素値とのブロックマッチングを行い一致度を算出し、最も一致度の高い水平移動量を求めるステップと、前記最も一致度の高い水平移動量から前記第１の奥行き値に対する第１の補正量を求めるステップとであることも好ましい。
【００１０】
また、前記第１の補正量を求めるステップの前に、前記第２の画像の画素値及び前記回転変換された第１の画像の画素値が、光線空間中の同一座標に格納された場合、該座標には奥行き値が最も大きい画素値を格納するステップを、さらに含むことも好ましい。
【００１１】
また、さらに異なる位置から撮影した第３の画像の画素に対して、光線空間中の第３の座標を求めるステップと、前記第３の座標から第３の奥行き値を算出するステップと、前記第１の画像の画素値及び前記第１の奥行き値を、前記第３の画像の画素値及び前記第３の奥行き値が格納される位置に回転変換するステップと、前記第３の画像の画素値及び前記回転変換された第１の画像の画素値が、光線空間中の同一座標に格納された場合、該座標には奥行き値が最も大きい画素値を格納するステップと、前記回転変換された第１の画像の画素値と、前記第３の画像の画素値を水平方向に移動した画素値とのブロックマッチングを行い一致度を算出し、最も一致度の高い水平移動量を求めるステップと、前記最も一致度の高い水平移動量から前記第１の奥行き値に対する第２の補正量を求めるステップとをさらに含み、前記補正するステップは、前記第１の補正量及び前記第２の補正量により前記第１の奥行き値を補正するステップであることも好ましい。
【００１２】
また、前記補正するステップで補正された第１の奥行き値を、前記回転変換するステップでの第１の奥行き値とすることにより、前記回転変換するステップから前記補正するステップを繰り返すことも好ましい。
【００１３】
上記目的を実現するため本発明による３次元モデルを高精度化する装置は、第１の画像の画素及び、前記第１の画像と異なる位置から撮影した第２の画像の画素に対して、それぞれ光線空間中の第１の座標及び第２の座標を求める手段と、前記第１の座標から第１の奥行き値、及び前記第２の座標から第２の奥行き値を算出する手段と、前記第１の画像の画素値及び前記第１の奥行き値を、前記第２の画像の画素値及び前記第２の奥行き値が格納される位置に回転変換する手段と、前記回転変換された第１の画像の画素値と、前記第２の画像の画素値とのブロックマッチングを行い、前記第１の奥行き値に対する第１の補正量を求める手段と、前記第１の補正量により前記第１の奥行き値を補正する手段とを備えている。
【発明の効果】
【００１４】
本発明の並列計算に適した計算手法をＧＰＵやＰＣクラスタ等の並列性に優れた計算機に実装した装置により、対応点探索のためのブロックマッチングに要する時間が大幅に短縮され、３次元モデルの高速な高精度化が実現される。
【図面の簡単な説明】
【００１５】
【図１】本発明による３次元モデルを高速に高精度化する画像処理装置の概略を示す。
【図２】３次元円筒記録光線空間の定義を示す。
【図３】画像処理装置においてブロックマッチングにより奥行き情報を補正して、３次元モデル高精度化する手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
３次元形状の正確な形を求めるためには、奥行き情報を求めることが必要である。奥行き情報は実空間上の位置から求めることができるが、これは実空間上の位置が正確であることを前提としている。実際には位置を正確に求めることができず、実際の値からのずれがある。このずれが奥行き情報にも影響を及ぼし、正しい奥行き情報を算出することができない。本発明では、ブロックマッチングを行い奥行き情報を補正して奥行き情報の精度を高めている。
【００１７】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。図１は本発明による３次元モデルを高速に高精度化する画像処理装置の概略を示す。本実施形態では、取得した光線の各々に対して奥行き情報を求め、回転変換、Ｚバッファリング、平行移動の処理を用いて、ブロックマッチングを行い、奥行き情報を補正して精度を高めている。
【００１８】
本実施形態による画像処理装置１は、多視点画像取得部１１と、奥行き推定部１２と、光線情報格納部１３と、光線空間回転変換部１４と、ブロックマッチング部１５と、処理反復部１６とを備えている。
【００１９】
多視点画像取得部１１では、複数のカメラによる撮影などにより、多視点画像を取得する。図１ｂは奥行き推定部１２の詳細を示し、奥行き推定部１２では、多視点画像取得部１１で取得した多視点画像から光線情報を取得し、光線情報の各々に対して、光線空間座標を算出して、仮想視点から被写体までの奥行き値を算出する。光線情報格納部１３では、光線空間に対し、光線情報を格納する。それとともに、奥行き推定部１２で求めた奥行き値も記録する。光線空間回転変換部１４では、既に多視点画像取得部で取得した多視点画像の各画素（光線情報）を他の多視点画像の位置まで回転変換を行う。また、奥行き情報に基づくＺバッファリングによりオクルージョン処理を行う。図１ｃはブロックマッチング部１５の詳細を示し、ブロックマッチング部１５では、光線空間回転変換部１４で生成された画像と水平方向に移動させた元画像とをブロックマッチングにより比較することで、水平移動量と最大奥行き値を算出し、その結果に基づいて奥行き値を修正し、奥行き値を高精度化する。処理反復部１６は、光線空間回転変換部１４及びブロックマッチング部１５の処理を一定回数または奥行き補正値が収束するまで繰り返し、奥行き値をさらに高精度化する。
【００２０】
また、光線空間回転変換部１４の主な処理は回転変換、Ｚバッファリングであり、ブロックマッチング部１５の処理に平行移動があるため、ＧＰＵやＰＣクラスタ等の並列性に優れた計算システムに実装するにより高速に処理することができる。
【００２１】
以下、画像処理装置１の実施形態の一例を詳細に説明する。ここでは、カメラｎ＋１の画像と、カメラｎの画像をカメラｎ＋１の位置まで回転変換した画像とを水平方向移動のブロックマッチングにより比較し、さらに、カメラｎ−１の画像と、カメラｎの画像をカメラｎ−１の位置まで回転変換した画像とを水平方向移動のブロックマッチングにより比較し、その結果に基づき奥行き値を補正して３次元モデルを高精度化する。
【００２２】
まず、最初に３次元円筒記録光線空間について説明する。３次元円筒記録光線空間とは、図２のようにＸ、Ｙ、Ｚ軸をＹ軸周りにθ回転させた後、Ｚ軸をＸ軸の周りにφ回転させ、回転されたＸ軸をＰ軸、Ｙ軸をＱ軸、回転されたＺ軸をＲ軸と定義する。３次元円筒記録光線空間ではＰＱ平面上の位置とＰＱ平面の傾き（θ、φ）の４つのパラメータによって記述される。カメラの画像はカメラの中心を通る光線の情報を集めたものであり、カメラで撮影することは（Ｐ、Ｑ、θ、φ）空間での１つの曲面上の光線情報を得ることに相当する。ただし、一般のカメラによる撮影の場合、カメラは水平面上にあるため仰角φはほぼ一定である。そのため、ＰＱ平面上の位置とＰＱ平面の傾き（方位角）θの３つのパラメータによって記述され、カメラの画像は（Ｐ、Ｑ、θ）空間での１つの曲面上の光線情報になる。
【００２３】
実空間中の点（Ｘ、Ｙ、Ｚ）を通過して方位角θの向きに伝搬する光線は、３次元円筒記録光線空間では、
Ｐ＝Ｘｃｏｓθ−Ｚｓｉｎθ
Ｑ＝Ｙ
で求められる点（Ｐ、Ｑ、θ）に対応する。また、このときＰＱ平面に直交するＲ軸の値は奥行き値に相当し、
Ｒ＝Ｘｓｉｎθ＋Ｚｃｏｓθ
で求められる。
【００２４】
図３は、画像処理装置１におけるブロックマッチングにより奥行き情報を補正して、３次元モデルを高精度化する手順を示すフローチャートである。以下、このフローチャートに基づき説明する。
【００２５】
Ｓ１．３次元円筒記録光線空間での座標及び奥行き値を求める。本実施形態では、本処理は多視点画像取得部１１及び奥行き推定部１２において行われる。まず、カメラｎの画像に着目する。画像は実空間中の１点を通過する光線の集合と見なせるので、画像の各画素は実空間中の点（Ｘ０、Ｙ０、Ｚ０）から放射されカメラｎに入射する１本の光線に対応する。３次元円筒記録光線空間中で、この光線の情報が格納される座標を（Ｐｎ、Ｑｎ、θｎ）、奥行き値をＲｎとおく。この時、実空間の座標と３次元円筒記録光線空間の座標、奥行きとの関係は、式
【数１】
2011048544.tif 000003
が成り立つ。同様にカメラｎ＋１の画像に対しても、３次元円筒記録光線空間中の座標（Ｐｎ＋１、Ｑｎ＋１、θｎ＋１）、奥行き値Ｒｎ＋１に対して、式
【数２】
2011048544.tif 000004
が成り立つ。カメラｎ−１の画像に対しても、同様な式が成り立つ。多視点画像取得部１１は上記で求めた座標での光線情報Ｆ（Ｐ、Ｑ、θ）を光線情報格納部１３に格納し、奥行き推定部１２は上記で求めた奥行き値を光線情報格納部１３に格納する。
【００２６】
Ｓ２．カメラｎの画像中の各画素（光線）を回転変換し、カメラｎ＋１の位置の画像の画素値（光線情報）と奥行き値を求める。同様に、カメラｎの画像中の各画素（光線）を回転変換し、カメラｎ−１の位置の画像の画素値（光線情報）と奥行き値を求める。本実施形態では、本処理は光線空間回転変換部１４において行われる。
【００２７】
回転変換は以下のように定式化される。３次元円筒記録光線空間中で、実空間中の点（Ｘ０、Ｙ０、Ｚ０）から放射される光線の軌跡は、
【数３】
2011048544.tif 000005
で表わされる。
【００２８】
式（１）及び式（３）より、
【数４】
2011048544.tif 000006
が成立する。即ち、式（４）中の行列により、画素（Ｐｎ、Ｑｎ、Ｒｎ）を回転変換することがで
き、補間する光線の軌跡を求めることができる。
【００２９】
カメラｎの実空間中の位置を（Ｘｎ、Ｙｎ、Ｚｎ）、カメラｎ＋１の実空間中の位置を（Ｘｎ＋１、Ｙｎ＋１、Ｚｎ＋１）、カメラｎ−１の実空間中の位置を（Ｘｎ−１、Ｙｎ−１、Ｚｎ−１）とおくと、カメラｎの画像とカメラｎ＋１の画像とカメラｎ−１の画像はそれぞれ３次元円筒記録光線空間中の
【数５】
2011048544.tif 000007
で表される曲面に格納される。
【００３０】
故に、式（６）の曲面（カメラｎ＋１の画像の画素値と奥行き値が格納される曲面）上の点（Ｐｎ＋１、Ｑｎ＋１、θｎ＋１）に格納すべき画素値と奥行き値を求めるには、
【数６】
2011048544.tif 000008
で表される角度だけ、式（５）の曲面（カメラｎの画像の画素値と奥行き値が格納される曲面）を、式（４）に基づいて回転変換すればよい。
【００３１】
また、式（７）の曲面（カメラｎ−１の画像の画素値と奥行き値が格納される曲面）上の点（Ｐｎ−１、Ｑｎ−１、θｎ−１）に格納すべき画素値と奥行き値を求めるには、
【数７】
2011048544.tif 000009
で表される角度だけ、式（５）の曲面（カメラｎの画像の画素値と奥行き値が格納される曲面）を式（４）に基づいて回転変換すればよい。
【００３２】
Ｓ３．回転変換後の画素を内挿補間する。本実施形態では、本処理は光線空間回転変換部１４において行われる。元の画像（カメラｎの画像）中では隣接していた画素のペアであっても、回転変換後は光線空間中の対応する点のペアでは間隔が開いて間に画素値と奥行き値が得られない点が生じることがある。そこで、それらの点の画素値と奥行き値は、元の画像（カメラｎの画像）中の対応する画素のペア（前述の隣接していた画素のペア）の画素値と奥行き値から内挿補間して（線形補間または３次補間）求める。
【００３３】
ただし、あらかじめ閾値ΔＲを設定しておき、元の画像（カメラｎの画像）中の隣接する画素であっても、その奥行き値の差がΔＲより大きければ、この２画素は不連続であるとみなす。従って、この画素のペアの間は内挿補間を行わない。
【００３４】
Ｓ４．深度バッファリングを行う。本実施形態では、本処理は光線空間回転変換部１４において行われる。前述の回転変換と内挿補間に伴い、光線空間中の同一座標に複数組の画素値と奥行き値が格納される場合がある。その場合は、深度バッファリング（Ｚバッファリング）を行う。即ち、奥行き値が最も大きい（視点に最も近い）点の画素値と奥行き値を格納する。
【００３５】
Ｓ５．ブロックマッチングを行う。本実施形態では、本処理はブロックマッチング部１５において行われる。カメラｎの画像をカメラｎ＋１の位置まで回転変換した画像と、カメラｎ＋１の画像とを、水平方向移動のブロックマッチングにより比較する。また、カメラｎの画像をカメラｎ−１の位置まで回転変換した画像と、カメラｎ−１の画像とを、水平方向移動のブロックマッチングにより比較する。両ブロックマッチングの結果に基づき、カメラｎの画像の奥行き値を補正する。
【００３６】
手順の詳細は下記の通りである。カメラｎの画像の画素値と奥行き値が格納される曲面上の着目する点（Ｐｎ、Ｑｎ、θｎ）を回転変換した結果、カメラｎ＋１の画像の画素値と奥行き値が格納される曲面上の点（Ｐｎ＋１、Ｑｎ＋１、θｎ＋１）に移動したとする。この点を中心としカメラｎ＋１の画像の画素からなるブロックを水平方向に移動して、回転変換したカメラのｎの画像の画素値とブロックマッチングを行った結果、水平移動量ΔＰｎ＋１（点（Ｐｎ＋１＋ΔＰｎ＋１、Ｑｎ＋１、θｎ＋１））で最も一致度が高かったとする。この時の奥行き値の補正量をΔＲｎ＋１とおくと、
【数８】
2011048544.tif 000010
で表される。
【００３７】
同様にして、カメラｎの画像の画素値と奥行き値が格納される曲面上の着目する点（Ｐｎ、Ｑｎ、θｎ）を回転変換した結果、カメラｎ−１の画像の画素値と奥行き値が格納される曲面上の点（Ｐｎ−１、Ｑｎ−１、θｎ−１）に移動したとする。この点を中心としカメラｎ−１の画像の画素からなるブロックを水平方向に移動して、回転変換したカメラのｎの画像の画素値とブロックマッチングを行った結果、水平移動量ΔＰｎ−１（点（Ｐｎ−１＋ΔＰｎ−１、Ｑｎ−１、θｎ−１））で最も一致度が高かったとする。この時の奥行き値の補正量をΔＲｎ−１とおくと、
【数９】
2011048544.tif 000011
で表される。
【００３８】
カメラｎ＋１の画像またはカメラｎ−１の画像で、オクルージョン等の理由により対応する画素の画素値が得られていない場合は、得られている方の奥行き補正値を採用する。両方の画素値が得られている場合は、ΔＲｎ＋１とΔＲｎ−１の平均値を採用する。採用した奥行き補正値を（Ｐｎ、Ｑｎ、θｎ）に格納する。
【００３９】
Ｓ６．上記の補正した奥行き値を用いて、Ｓ２〜Ｓ５までの処理を反復する。本処理は処理反復部１６において行われる。反復は一定回数または奥行き補正値が収束するまで行われる。
【００４０】
以上のようにして、カメラｎの画像の奥行き値を補正させることにより、３次元モデルが高精度化される。本発明では、ブロックマッチングのための画像を回転変換により算出しており、主な処理は回転変換であるためは、ＧＰＵやＰＣクラスタ等の並列性に優れた計算システムに実装するにより高速に処理することができる。
【００４１】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様および変更態様で実施することができる。従って本発明の範囲は特許請求の範囲およびその均等範囲によってのみ規定されるものである。
【符号の説明】
【００４２】
１  画像処理装置
１１  多視点画像取得部
１２  奥行き推定部
１３  光線情報格納部
１４  光線空間回転変換部
１５  ブロックマッチング部
１６  処理反復部
【図１】
2011048544.tif 000012
【図２】
2011048544.tif 000013
【図３】
2011048544.tif 000014