位相限定相関(POC)法という高精度な位置ずれ検出アルゴリズムを用いたステレオマッチングのプログラムを作ってみたので、この手法のステレオマッチングで普通の顔と光を投影した顔の深度計算精度の比較実験を行ってみました。
ちょっと実写でサンプルをとるのが面倒だったのでひとまずCGで顔モデルを作って、そこにテクスチャを投影マッピングで投影したものを実写で顔に光を投影したものと仮定して比較用で使います。
計算ができているかできていないかを判定する基準としてはPOCのピーク値を用いました。信頼度が低ければPOCのピーク値が低く、信頼度が高ければピークも高くという風に信頼度を決めて、閾値で切りました。
まずは普通に2視点からレンダリングした 顔の画像から深度を計算してみます。
全然駄目です。目、鼻、口、輪郭の辺りしか深度を計算することはできませんでした。
やる前からは予想はつきましたが、頬や額などの肌色が連続するような領域は特徴がないので、相関計算がうまくいかないです。
次に顔モデルにテクスチャを正面から投影してレンダリングした2視点の画像から深度計算を試みてみます。
おぉ、正確さは別として、ほぼ顔全体の深度が計算できた。
顔の内部に計算ができない小さなエリアが若干ありましたが周囲の深度から補間で補えるレベルだったので補間しました。
ということで、顔の深度を計算するときは光を投影するというのはかなり有効みたいです。まだ実写で試してないですが。
そのうち学校のプロジェクタを借りて何か模様を投影したものを撮影して、それを使って深度計算でもやってみようと思います。
ちょっと実写でサンプルをとるのが面倒だったのでひとまずCGで顔モデルを作って、そこにテクスチャを投影マッピングで投影したものを実写で顔に光を投影したものと仮定して比較用で使います。
計算ができているかできていないかを判定する基準としてはPOCのピーク値を用いました。信頼度が低ければPOCのピーク値が低く、信頼度が高ければピークも高くという風に信頼度を決めて、閾値で切りました。
まずは普通に2視点からレンダリングした 顔の画像から深度を計算してみます。
全然駄目です。目、鼻、口、輪郭の辺りしか深度を計算することはできませんでした。
やる前からは予想はつきましたが、頬や額などの肌色が連続するような領域は特徴がないので、相関計算がうまくいかないです。
次に顔モデルにテクスチャを正面から投影してレンダリングした2視点の画像から深度計算を試みてみます。
おぉ、正確さは別として、ほぼ顔全体の深度が計算できた。
顔の内部に計算ができない小さなエリアが若干ありましたが周囲の深度から補間で補えるレベルだったので補間しました。
ということで、顔の深度を計算するときは光を投影するというのはかなり有効みたいです。まだ実写で試してないですが。
そのうち学校のプロジェクタを借りて何か模様を投影したものを撮影して、それを使って深度計算でもやってみようと思います。