(57)【要約】【課題】人物等の推定対象に負担をかけることなく、推定対象の姿勢を推定する。【解決手段】シルエット抽出部３２は、被写体が撮像された撮像画像から、被写体が現れた領域を表すシルエットを抽出し、細線化部３３は、シルエットを、そのシルエットの形状を簡略化したシルエット線に細線化し、マッチング部３６は、予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、姿勢モデル線とシルエット線との一致の度合いを表す一致度を算出し、姿勢推定部３７は、複数の姿勢モデル線毎に算出された一致度のうち、一致の度合いが最大の一致度に対応する姿勢モデル線が表す姿勢を、被写体の姿勢として推定する。本発明は、例えば、パーソナルコンピュータに適用できる。【選択図】図１
2009288917.tif 000002
【特許請求の範囲】
【請求項１】
被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出する抽出手段と、
前記シルエットを、前記シルエットの形状を簡略化したシルエット線に細線化する細線化手段と、
予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との一致の度合いを表す一致度を算出する算出手段と、
複数の前記姿勢モデル線毎に算出された前記一致度のうち、一致の度合いが最大の一致度に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定する推定手段と
を備える情報処理装置。
【請求項２】
前記算出手段は、前記一致度として、複数の前記姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との距離を算出し、
前記推定手段は、複数の前記姿勢モデル線毎に算出された距離のうちの最短距離に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定する
請求項１に記載の情報処理装置。
【請求項３】
前記推定手段は、前記最短距離が所定の閾値未満である場合、前記最短距離に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定する
請求項２に記載の情報処理装置。
【請求項４】
前記算出手段は、複数の前記姿勢モデル線毎に、前記姿勢モデル線の特徴を表す特徴量と、前記シルエット線の特徴を表す特徴量との一致の度合いを表す前記一致度を算出する
請求項１に記載の情報処理装置。
【請求項５】
被写体が撮像された撮像画像から、前記被写体の姿勢を推定する情報処理装置の情報処理方法において、
前記情報処理装置は、
抽出手段と、
細線化手段と、
算出手段と、
推定手段と
を備え、
前記抽出手段が、被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出し、
前記細線化手段が、前記シルエットを、前記シルエットの形状を簡略化したシルエット線に細線化し、
前記算出手段が、予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との一致の度合いを表す一致度を算出し、
前記推定手段が、複数の前記姿勢モデル線毎に算出された前記一致度のうち、一致の度合いが最大の一致度に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定する
ステップを含む情報処理方法。
【請求項６】
コンピュータを、
被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出する抽出手段と、
前記シルエットを、前記シルエットの形状を簡略化したシルエット線に細線化する細線化手段と、
予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との一致の度合いを表す一致度を算出する算出手段と、
複数の前記姿勢モデル線毎に算出された前記一致度のうち、一致の度合いが最大の一致度に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定する推定手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、例えば、姿勢が推定される対象である推定対象に負担をかけることなく、推定対象の姿勢を容易に推定することができるようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
ジェスチャ認識技術として、例えば、米国Motion Analysis社の「Eagle & Hawk Digital System」（商標）や、米国Vicon Peak社の「MX Motion Capture」（商標）等のように、人物の身体にマーカを付加するか、または特殊なセンサを内蔵したグローブを人物の手に装着した上で、複数のカメラにより人物を撮像し、撮像された複数の撮像画像から、人物の姿勢を推定することにより、人物のジェスチャを認識する技術が提案されている。
【０００３】
また、例えば、プレイステーション（株式会社ソニーコンピュータエンタテインメントの登録商標）のeye Toy（ソニーコンピュータエンタテインメント  ヨーロッパ  リミテッドの登録商標）システムのように、１台のカメラにより人物を撮像し、撮像により得られた撮像画像と、人物を含まない背景のみが撮像された背景画像との差分や、撮像画像のフレームどうしの差分を用いて、人物の動きのある撮像画像内の領域を抽出する動き領域抽出技術が提案されている。
【０００４】
さらに、例えば、それぞれ異なる入射角を有する参照光を用いて複数の基準姿勢画像が記録されたホログラフィック素子に、入射される入射画像が入射されたとき、ホログラフィック素子から出射される光の強度と方向とを検出し、検出した光の強度と方向により、入射画像が、複数の基準姿勢画像のうちのいずれかに一致するか、いずれにも一致しないかを判定する技術も存在する（例えば、特許文献１を参照）。
【０００５】
【特許文献１】特開平０９−２７３９２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したジェスチャ認識技術では、複数のカメラが設けられた非常に大きなスタジオで、人物の身体にマーカを付加するか、またはグローブを人物の手に装着した上で、複数のカメラにより人物を撮像しなければならないため、非常に、人物に負担をかけるものとなっていた。
【０００７】
さらに、動き領域抽出技術では、人物にマーカ等を付与する特別な設定は必要ないが、撮像画像内の動く領域を抽出するといった機能に限定されていた。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、人物等の推定対象に負担をかけることなく、推定対象の姿勢を容易に推定できるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の情報処理装置、またはプログラムは、被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出する抽出手段と、前記シルエットを、前記シルエットの形状を簡略化したシルエット線に細線化する細線化手段と、予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との一致の度合いを表す一致度を算出する算出手段と、複数の前記姿勢モデル線毎に算出された前記一致度のうち、一致の度合いが最大の一致度に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定する推定手段とを備える情報処理装置、または情報処理装置として、コンピュータを機能させるためのプログラムである。
【００１０】
前記算出手段では、前記一致度として、複数の前記姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との距離を算出し、前記推定手段では、複数の前記姿勢モデル線毎に算出された距離のうちの最短距離に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定することができる。
【００１１】
前記推定手段では、前記最短距離が所定の閾値未満である場合、前記最短距離に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定することができる。
【００１２】
前記算出手段では、複数の前記姿勢モデル線毎に、前記姿勢モデル線の特徴を表す特徴量と、前記シルエット線の特徴を表す特徴量との一致の度合いを表す前記一致度を算出することができる。
【００１３】
本発明の一側面の情報処理方法は、前記抽出手段が、被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットを抽出し、前記細線化手段が、前記シルエットを、前記シルエットの形状を簡略化したシルエット線に細線化し、前記算出手段が、予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との一致の度合いを表す一致度を算出し、前記推定手段が、複数の前記姿勢モデル線毎に算出された前記一致度のうち、一致の度合いが最大の一致度に対応する前記姿勢モデル線が表す姿勢を、前記被写体の姿勢として推定するステップを含む情報処理方法である。
【００１４】
本発明の一側面においては、被写体が撮像された撮像画像から、前記被写体が現れた領域を表すシルエットが抽出され、前記シルエットが、前記シルエットの形状を簡略化したシルエット線に細線化され、予め用意されている、互いに異なる所定の姿勢を表す複数の姿勢モデル線毎に、前記姿勢モデル線と前記シルエット線との一致の度合いを表す一致度が算出され、複数の前記姿勢モデル線毎に算出された前記一致度のうち、一致の度合いが最大の一致度に対応する前記姿勢モデル線が表す姿勢が、前記被写体の姿勢として推定される。
【発明の効果】
【００１５】
本発明によれば、推定対象に負担をかけることなく、推定対象の姿勢を容易に推定することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本実施の形態について説明する。
【００１７】
図１は、本発明を適用した情報処理装置の構成例を示している。
【００１８】
情報処理装置１は、カメラ３１、シルエット抽出部３２、細線化部３３、距離算出部３４、姿勢記憶部３５、マッチング部３６、および姿勢推定部３７により構成される。
【００１９】
カメラ３１は、被写体として、例えば、人物を撮像し、その撮像により得られた撮像画像を、シルエット抽出部３２に供給する。
【００２０】
シルエット抽出部３２は、カメラ３１からの撮像画像から、撮像画像内の人物が現れた領域を表すシルエットを検出（抽出）し、検出したシルエットが現れた画像であるシルエット画像を生成して、細線化部３３に供給する。
【００２１】
図２は、シルエット抽出部３２により、撮像画像から生成されるシルエット画像の一例を示している。
【００２２】
シルエット画像は、例えば、各画素の画素値が０または１に２値化された２値化画像である。シルエット画像内の人物のシルエットは、画素値が０を表す白色の画素（白色画素）で示されるとともに、シルエット画像内の背景は、画素値が１を表す黒色の画素（黒色画素）で示されている。
【００２３】
なお、撮像画像内の人物のシルエットを検出する検出方法としては、例えば、予め撮像されて保持されている、人物を含まない背景のみが撮像された背景画像と、カメラ３１からの撮像画像との差分をとる背景差分法を用いることにより、撮像画像内の人物のシルエットを検出する方法を採用することができる。また、Graph Cutとステレオビジョンを用いる方法（"Bi-Layer segmentation of binocular stereo video" V.Kolmogorov, A.Blake et al. Microsoft Research Ltd., Cambridge, UK）を用れば、より精度良く撮像画像内の人物のシルエットを検出することができる。
【００２４】
図１に戻り、細線化部３３は、シルエット抽出部３２から供給されたシルエット画像内の人物のシルエットを、そのシルエットの形状を簡略化したシルエット線として、例えば、線幅が１画素分の幅となるシルエットの中心線（図３に示す）に細線化する細線化処理を行い、その細線化処理により得られた細線化画像を、距離算出部３４に供給する。
【００２５】
次に、図３は、細線化部３３が行う細線化処理により、シルエット画像から得られた細線化画像の一例を示している。
【００２６】
図３の細線化画像は２値化画像であり、人物のシルエットの形状を簡略化したシルエット線が白色画素で示され、背景が黒色画素で示されている。
【００２７】
なお、細線化処理では、人物のシルエットのトポロジカルな性質（連結性やオイラー数）が保存された形で、人物のシルエットがシルエット線に細線化される。すなわち、細線化処理では、人物のシルエットの肘や膝等の連結部分が消滅したり、複数の異なる連結部分が１つに統合されたり、人物のシルエットにより形成される孔が消滅したり、新たに生成されたりすることがないように、人物のシルエットがシルエット線に細線化される。
【００２８】
また、細線化処理では、線幅が１画素分の幅となるシルエットの中心線をシルエット線とする他、その他、例えば、人物のシルエットから、そのシルエットの輪郭を検出し、検出した輪郭を表す輪郭線を、シルエット線とすることが可能である。
【００２９】
図１に戻り、距離算出部３４は、細線化部３３からの細線化画像の各画素について、例えば、最も近くに存在する、シルエット線を構成する白色画素との直線距離を表すユークリッド距離（Euclidean）等の距離を算出する距離算出処理を行い、その距離算出処理により得られた距離画像を、マッチング部３６に供給する。なお、距離画像とは、例えば、細線化画像の各画素について算出されたユークリッド距離により構成される。
【００３０】
次に、図４は、距離算出部３４が行う距離算出処理により、細線化画像から得られた距離画像の一例を示している。
【００３１】
図４Ａには細線化画像が示されており、図４Ｂには、細線化画像の各画素のユークリッド距離をグレースケールで表した距離画像が示されている。
【００３２】
なお、図４Ｂの距離画像において、グレーが濃い程（黒色に近い程）にユークリッド距離が短いことを示しており、グレーが薄い程（白色に近い程）にユークリッド距離が長いことを示している。
【００３３】
図１に戻り、姿勢記憶部３５は、所定の姿勢を表す姿勢モデル線を生成するために用いる、人物の姿勢を示す際の特徴的な部分である複数の特徴点（頭、胸、および各関節等）の座標値を記憶している。
【００３４】
次に、図５は、姿勢記憶部３５が記憶している座標値から生成される姿勢モデル線が現れた姿勢モデル画像の一例を示している。
【００３５】
図５の姿勢モデル画像には、番号０乃至１４が付された黒丸（●）どうしを線分で結んだ姿勢モデル線が示されている。
【００３６】
番号０乃至１４が付された黒丸は、姿勢モデル画像内の、複数の特徴点の座標値を示している。
【００３７】
すなわち、例えば、番号０は、人物の胸の位置を示しており、番号１は人物の頭の位置を示している。また、番号２および３は、それぞれ、人物の左肩と右肩の位置を示しており、番号４および５は、それぞれ、人物の左肘と右肘の位置を示している。さらに、番号６および７は、それぞれ、人物の左手と右手の位置を示している。
【００３８】
番号８は、人物の腰部のうちの中央の位置を示しており、番号９および１０は、それぞれ、人物の腰部のうちの左側と右側の位置を示している。また、番号１１および１２は、それぞれ、人物の左膝と右膝の位置を示しており、番号１３および１４は、それぞれ、人物の左足と右足の位置を示している。
【００３９】
図１に戻り、マッチング部３６は、姿勢記憶部３５に記憶されている１５個の座標値（番号０乃至１４が付された黒丸）のセットを読み出し、予め定められた座標値どうしを線分で結ぶことにより、所定の姿勢モデル線が現れた姿勢モデル画像を生成する。
【００４０】
また、マッチング部３６は、生成した複数の姿勢モデル画像と、距離算出部３４から供給された距離画像とに基づいて、複数の姿勢モデル画像毎に、姿勢モデル画像内の姿勢モデル線と細線化画像内のシルエット線との一致の度合いを表すチャンファ（Chamfer）距離を算出する距離マッチング処理を行う。
【００４１】
すなわち、例えば、マッチング部３６は、姿勢モデル線を構成する画素とシルエット線を構成する白色画素との重心どうしを一致させるように、姿勢モデル画像と距離画像とを重ね合わせ、姿勢モデル線が重なる距離画像上の位置に対応する複数のユークリッド距離の平均値を、チャンファ距離として算出する。
【００４２】
なお、マッチング部３６が行う距離マッチング処理は、通常、エッジを含むエッジ画像どうしの一致の度合いを算出するために用いられる一般的な技術である。
【００４３】
さらに、細線化画像内のシルエット線に外接する外接矩形と、姿勢モデル画像内の姿勢モデル線に外接する外接矩形との大きさが異なる場合には、マッチング部３６は、両方の外接矩形のうち、一方の外接矩形を、他方の外接矩形に合わせるように、拡大または縮小を行うことにより、同様の大きさの外接矩形にした後で、距離マッチング処理を行うようにすれば、より精度が高いチャンファ距離を算出することが可能となる。
【００４４】
マッチング部３６は、距離マッチング処理により得られた複数の姿勢モデル画像毎のチャンファ距離を、姿勢推定部３７に供給する。
【００４５】
姿勢推定部３７は、複数の姿勢モデル画像のうち、シルエット線と姿勢モデル線との一致の度合いが最大のチャンファ距離に対応する姿勢モデル画像、すなわち、例えば、マッチング部３６からの複数のチャンファ距離のうち、最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力する。
【００４６】
次に、図６乃至図９を参照して、細線化部３３が行う細線化処理の詳細を説明する。
【００４７】
図１の細線化部３３が行う細線化処理は、第１のフェーズ、第２のフェーズ、第３のフェーズ、および第４のフェーズからなる処理であり、第１のフェーズ、第２のフェーズ、第３のフェーズ、第４のフェーズの順番で処理が行われることにより、図２のシルエット画像内の人物のシルエットが、シルエット線に変換された図３の細線化画像が得られる。
【００４８】
第１のフェーズでは、シルエット画像内の水平ラインを左から右方向に走査していく走査順であって、シルエット画像内の最も左上の画素を開始位置として、左上から右下方向に走査する走査順（ラスタ走査順）（以下、右下方向の走査順という）に、順次、シルエット抽出部３２から細線化部３３に供給されるシルエット画像内の白色画素が注目画素とされる。そして、注目画素が、図６において後述する３つの条件のうちのいずれかの条件を満たす場合に、白色画素である注目画素が黒色画素（画素値が０から１）に変換される。
【００４９】
次に、図６を参照して、右下方向の走査順に、順次、シルエット抽出部３２から細線化部３３に供給されるシルエット画像内の白色画素が注目画素とされた場合に、その注目画素が黒色画素に変換される条件（以下、第１の条件という）を説明する。
【００５０】
図６Ａ乃至図６Ｃには、それぞれ、注目画素を中心とする、横×縦が３×３画素が示されており、０、１およびＸは対応する画素の画素値を示している。なお、Ｘは、０または１のいずれかの値を表している。このことは、その他の図面においても同様である。
【００５１】
また、以下において、注目画素の左方向、左上方向、上方向、右上方向、右方向、右下方向、下方向、および左下方向に隣接する各画素を、それぞれ、左画素、左上画素、上画素、右上画素、右画素、右下画素、下画素、および左下画素という。
【００５２】
図６Ａに示すように、第１の条件として、左下画素、下画素、右下画素が黒色画素（画素値が１）であり、左上画素、上画素、右上画素が白色画素（画素値が０）である条件を満たす場合、注目画素が黒色画素に（画素値が０から１に）変換される。なお、左画素および右画素は、白色画素または黒色画素のいずれかの画素である。
【００５３】
図６Ｂに示すように、第１の条件として、下画素、右下画素、右画素が黒色画素であり、左画素、左上画素、上画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左下画素および右上画素は、白色画素または黒色画素のいずれかの画素である。
【００５４】
図６Ｃに示すように、第１の条件として、右下画素、右画素、右上画素が黒色画素であり、左上画素、左画素、左下画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、下画素および上画素は、白色画素または黒色画素のいずれかの画素である。
【００５５】
細線化処理において、第１のフェーズの終了後、第２のフェーズが開始される。第２のフェーズでは、シルエット画像内の水平ラインを右から左方向に走査していく走査順であって、シルエット画像内の最も右下の画素を開始位置として、右下から左上方向に走査する走査順（逆ラスタ走査順）（以下、左上方向の走査順という）に、順次、第１のフェーズの終了後のシルエット画像内の白色画素が注目画素とされる。そして、注目画素が、図７において後述する３つの条件のうちのいずれかの条件を満たす場合に、白色画素である注目画素が黒色画素に変換される。
【００５６】
次に、図７を参照して、左上方向の走査順に、順次、第１のフェーズの終了後のシルエット画像内の白色画素が注目画素とされた場合に、その注目画素が黒色画素に変換される条件（以下、第２の条件という）を説明する。
【００５７】
図７Ａに示すように、第２の条件として、左上画素、上画素、右上画素が黒色画素であり、左下画素、下画素、右下画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左画素および右画素は、白色画素または黒色画素のいずれかの画素である。
【００５８】
図７Ｂに示すように、第２の条件として、左画素、左上画素、上画素が黒色画素であり、下画素、右下画素、右画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左下画素および右上画素は、白色画素または黒色画素のいずれかの画素である。
【００５９】
図７Ｃに示すように、第２の条件として、左上画素、左画素、左下画素が黒色画素であり、右下画素、右画素、右上画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、下画素および上画素は、白色画素または黒色画素のいずれかの画素である。
【００６０】
さらに、細線化処理において、第２のフェーズの終了後、第３のフェーズが開始される。第３のフェーズでは、シルエット画像内の水平ラインを右から左方向に走査していく走査順であって、シルエット画像内の最も右上の画素を開始位置として、右上から左下方向に走査する走査順（以下、左下方向の走査順という）に、順次、第２のフェーズの終了後のシルエット画像内の白色画素が注目画素とされる。そして、注目画素が、図８において後述する３つの条件のうちのいずれかの条件を満たす場合に、白色画素である注目画素が黒色画素に変換される。
【００６１】
次に、図８を参照して、左下方向の走査順に、順次、第２のフェーズの終了後のシルエット画像内の白色画素が注目画素とされた場合に、その注目画素が黒色画素に変換される条件（以下、第３の条件という）を説明する。
【００６２】
図８Ａに示すように、第３の条件として、左上画素、左画素、左下画素が黒色画素であり、右下画素、右画素、右上画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、下画素および上画素は、白色画素または黒色画素のいずれかの画素である。
【００６３】
図８Ｂに示すように、第３の条件として、左画素、左下画素、下画素が黒色画素であり、右画素、右上画素、上画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左上画素および右下画素は、白色画素または黒色画素のいずれかの画素である。
【００６４】
図８Ｃに示すように、第３の条件として、左下画素、下画素、右下画素が黒色画素であり、左上画素、上画素、右上画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左画素および右画素は、白色画素または黒色画素のいずれかの画素である。
【００６５】
細線化処理において、第３のフェーズの終了後、第４のフェーズが開始される。第４のフェーズでは、シルエット画像内の水平ラインを左から右方向に走査していく走査順であって、シルエット画像内の最も左下の画素を開始位置として、左下から右上方向に走査する走査順（以下、右上方向の走査順という）に、順次、第３のフェーズの終了後のシルエット画像内の白色画素が注目画素とされる。そして、注目画素が、図９において後述する３つの条件のうちのいずれかの条件を満たす場合に、白色画素である注目画素が黒色画素に変換される。
【００６６】
次に、図９を参照して、右上方向の走査順に、順次、第３のフェーズの終了後のシルエット画像内の白色画素が注目画素とされた場合に、その注目画素が黒色画素に変換される条件（以下、第４の条件という）を説明する。
【００６７】
図９Ａに示すように、第４の条件として、右下画素、右画素、右上画素が黒色画素であり、左上画素、左画素、左下画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、下画素および上画素は、白色画素または黒色画素のいずれかの画素である。
【００６８】
図９Ｂに示すように、第４の条件として、右画素、右上画素、上画素が黒色画素であり、左画素、左下画素、下画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左上画素および右下画素は、白色画素または黒色画素のいずれかの画素である。
【００６９】
図９Ｃに示すように、第４の条件として、左上画素、上画素、右上画素が黒色画素であり、左下画素、下画素、右下画素が白色画素である条件を満たす場合、注目画素が黒色画素に変換される。なお、左画素および右画素は、白色画素または黒色画素のいずれかの画素である。
【００７０】
細線化処理において、第１乃至第４のフェーズからなる処理が行われることにより、シルエット画像内の人物のシルエットが、シルエット線に細線化される。
【００７１】
次に、図１０および図１１を参照して、細線化処理により得られた細線化画像内の各画素のユークリッド距離を算出する距離算出処理を説明する。
【００７２】
距離算出部３４が行う距離算出処理は、初期化処理、ラスタ走査処理、および逆ラスタ走査処理の３つの処理からなり、初期化処理、ラスタ走査処理、および逆ラスタ走査処理の順番で処理が行われる。
【００７３】
初期化処理では、次式（１）を用いて、細線化画像の各画素f(i,j)を、初期距離d'(i,j)に変換する。
【００７４】
【数１】
2009288917.tif 000003
【００７５】
なお、画素f(i,j)とは、細線化画像内の最も左上の画素を０行０列目に存在する画素とした場合に、細線化画像内のi行j列目に存在する画素を表しており、d'(i,j)とは、f(i,j)を初期化して得られた初期距離を表している。
【００７６】
初期化処理により、細線化画像の各画素f(i,j)に対応する初期距離d'(i,j)が得られた後、ラスタ走査処理が行われる。
【００７７】
次に、図１０は、ラスタ走査処理により、細線化画像の各画素f(i,j)に対応する初期距離d'(i,j)が、仮距離d"(i,j)に変換されるときの一例を示している。
【００７８】
図１０Ａには、細線化画像の各画素f(i,j)に対応する初期距離d'(i,j)が示されている。図１０Ｂには、初期距離d'(i,j)に対応する仮距離d"(i,j)が示されている。
【００７９】
ラスタ走査処理では、右下方向の走査順に、順次、初期距離に注目し、次式（２）を用いて、注目している初期距離d'(i,j)を仮距離d"(i,j)に変換する。
【００８０】
【数２】
2009288917.tif 000004
【００８１】
なお、仮距離d"(i,j)とは、d'(i,j)、d"(i-1,j)+1、およびd"(i,j-1)+1のうちの最小値を表している。
【００８２】
ラスタ走査処理により、初期距離d'(i,j)に対応する仮距離d"(i,j)が得られた後、逆ラスタ走査処理が行われる。
【００８３】
次に、図１１は、逆ラスタ走査処理により、仮距離d"(i,j)が、ユークリッド距離d(i,j)に変換されるときの一例を示している。
【００８４】
図１１Ａには、初期距離d'(i,j)に対応する仮距離d"(i,j)が示されている。図１１Ｂには、仮距離d"(i,j)に対応するユークリッド距離d(i,j)が示されている。
【００８５】
逆ラスタ走査処理では、左上方向の走査順に、順次、仮距離に注目し、次式（３）を用いて、注目している仮距離d"(i,j)を、ユークリッド距離d(i,j)に変換する。これにより、ユークリッド距離により構成される距離画像が生成される。
【００８６】
【数３】
2009288917.tif 000005
【００８７】
なお、ユークリッド距離d(i,j)とは、d"(i,j)、d(i+1,j)+1、およびd(i,j+1)+1のうちの最小値を表している。
【００８８】
次に、図１２のフローチャートを参照して、図１の情報処理装置１が行う最尤姿勢出力処理を説明する。
【００８９】
ステップＳ３１において、カメラ３１は、被写体として、例えば、人物を撮像し、その撮像により得られた撮像画像を、シルエット抽出部３２に供給する。
【００９０】
ステップＳ３２において、シルエット抽出部３２は、カメラ３１からの撮像画像から、撮像画像内の人物が現れた領域を表すシルエットを検出（抽出）し、検出した人物のシルエットが現れた画像であるシルエット画像を生成して、細線化部３３に供給する。
【００９１】
ステップＳ３３において、細線化部３３は、シルエット抽出部３２から供給されたシルエット画像内の人物のシルエットを、そのシルエットの形状を簡略化したシルエット線として、例えば、線幅が１画素分の幅となるシルエットの中心線に細線化する細線化処理を行い、その細線化処理により得られた細線化画像を、距離算出部３４に供給する。
【００９２】
ステップＳ３４において、距離算出部３４は、細線化部３３からの細線化画像の各画素について、例えば、最も近くに存在する、シルエット線を構成する白色画素との直線距離を表すユークリッド距離等の距離を算出する距離算出処理を行い、その距離算出処理により得られた距離画像を、マッチング部３６に供給する。
【００９３】
ステップＳ３５において、マッチング部３６は、姿勢記憶部３５に記憶されている複数の座標値を読み出し、予め定められた座標値どうしを線分で結ぶことにより、所定の姿勢モデル線が現れた姿勢モデル画像を生成する。
【００９４】
また、マッチング部３６は、生成した複数の姿勢モデル画像と、距離算出部３４から供給された距離画像とに基づいて、複数の姿勢モデル画像毎に、姿勢モデル画像内の姿勢モデル線と細線化画像内のシルエット線との一致の度合いを表すチャンファ距離を算出する距離マッチング処理を行う。そして、その距離マッチング処理により得られた複数の姿勢モデル画像毎のチャンファ距離を、姿勢推定部３７に供給する。
【００９５】
ステップＳ３６において、姿勢推定部３７は、複数の姿勢モデル画像のうち、シルエット線と姿勢モデル線との一致の度合いが最大のチャンファ距離に対応する姿勢モデル画像、すなわち、例えば、マッチング部３６からの複数のチャンファ距離のうち、最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力する。
【００９６】
以上のように推定された人物の姿勢が出力された後、最尤姿勢出力処理は終了される。
【００９７】
次に、図１３のフローチャートを参照して、図１２のステップＳ３３における細線化処理の詳細を説明する。
【００９８】
ステップＳ６１において、細線化部３３は、１ずつインクリメント（加算）される変数nを１とする。
【００９９】
ステップＳ６２乃至ステップＳ６５において、細線化部３３は、細線化処理の第nのフェーズによる処理を行う。
【０１００】
すなわち、ステップＳ６２において、細線化部３３は、第nのフェーズによる処理を行うときの走査順（例えば、第１のフェーズでは、右下方向の走査順）で、順次、処理対象であるシルエット画像内の白色画素を、注目画素とする。
【０１０１】
ステップＳ６３において、細線化部３３は、注目画素が第nの条件を満たしているか否かを判定し、注目画素が第nの条件を満たしていると判定した場合、処理は、ステップＳ６４に進められ、注目画素を黒色画素に変換する。
【０１０２】
また、ステップＳ６３において、細線化部３３は、注目画素が第nの条件を満たしていないと判定した場合、処理は、ステップＳ６４をスキップして、ステップＳ６５に進められる。
【０１０３】
ステップＳ６５において、細線化部３３は、処理対象であるシルエット画像内の白色画素すべてを、注目画素としたか否かを判定し、まだ白色画素すべてを注目画素としていないと判定した場合、処理は、ステップＳ６２に戻り、まだ注目画素とされていない白色画素を、新たな注目画素として、以下、同様の処理が繰り返される。
【０１０４】
また、ステップＳ６５において、細線化部３３は、処理対象であるシルエット画像内の白色画素すべてを、注目画素としたと判定した場合、すなわち、第ｎのフェーズの処理が終了した場合、処理は、ステップＳ６６に進められる。
【０１０５】
ステップＳ６６において、細線化部３３は、変数nが４であるか否かを判定し、変数nが４でないと判定した場合、処理は、ステップＳ６７に進められる。そして、細線化部３３は、変数nに１をインクリメントして新たな変数nとし、処理は、ステップＳ６２に戻り、以下、同様の処理が繰り返される。
【０１０６】
なお、ステップＳ６６において、細線化部３３は、変数nが４であると判定した場合、すなわち、第１乃至第４のフェーズからなる処理が終了した場合、細線化処理は終了されて、処理は、図１２のステップＳ３３にリターンされる。
【０１０７】
次に、図１４のフローチャートを参照して、図１２のステップＳ３４における距離算出処理の詳細を説明する。
【０１０８】
ステップＳ９１において、距離算出部３４は、式（１）を用いて、細線化部３３からの細線化画像の各画素f(i,j)を、対応する初期距離d'(i,j)に変換する初期化処理を行う。ステップＳ９２において、距離算出部３４は、１ずつインクリメントされる変数iおよびjを、０とする。
【０１０９】
ステップＳ９３乃至ステップＳ９８において、距離算出部３４は、右下方向の走査順に、順次、初期距離に注目し、式（２）を用いて、注目している初期距離d'(i,j)を仮距離d"(i,j)に変換するラスタ走査処理を行う。
【０１１０】
すなわち、ステップＳ９３において、距離算出部３４は、d'(i,j)、d"(i-1,j)+1、およびd"(i,j-1)+1のうちの最小値を、注目している初期距離d'(i,j)に対応する仮距離d"(i,j)に決定する。そして、ステップＳ９４において、距離算出部３４は、変数jが細線化画像の水平方向の画素数-1を表す定数jmaxであるか否か（注目している初期距離d'(i,j)に対応する画素が細線化画像の右端に存在する画素であるか否か）を判定する。
【０１１１】
ステップＳ９４において、距離算出部３４は、変数jが定数jmaxでないと判定した場合（注目している初期距離d'(i,j)に対応する画素が細線化画像の右端に存在する画素でないと判定した場合）、処理は、ステップＳ９５に進められる。そして、距離算出部３４は、変数jに１をインクリメントして新たな変数jとし、処理は、ステップＳ９３に戻り、以下、同様の処理が繰り返される。
【０１１２】
また、ステップＳ９４において、距離算出部３４は、変数jが定数jmaxであると判定した場合（注目している初期距離d'(i,j)に対応する画素が細線化画像の右端に存在する画素であると判定した場合）、処理は、ステップＳ９６に進められる。
【０１１３】
そして、ステップＳ９６において、距離算出部３４は、変数iが細線化画像の垂直方向の画素数-1を表す定数imaxであるか否か（注目している初期距離d'(i,j)に対応する画素が細線化画像の下端に存在する画素であるか否か）を判定する。
【０１１４】
ステップＳ９６において、距離算出部３４は、変数iが定数imaxでないと判定した場合（注目している初期距離d'(i,j)に対応する画素が細線化画像の下端に存在する画素でないと判定した場合）、処理は、ステップＳ９７に進められる。そして、距離算出部３４は変数jを０とし、処理は、ステップＳ９８に進められ、変数iに１をインクリメントして新たな変数iとし、処理は、ステップＳ９３に戻り、以下、同様の処理が繰り返される。
【０１１５】
また、ステップＳ９６において、距離算出部３４は、変数iが定数imaxであると判定した場合（注目している初期距離d'(i,j)に対応する画素が細線化画像の下端に存在する画素であると判定した場合）、処理は、ステップＳ９９に進められる。
【０１１６】
ステップＳ９９乃至ステップＳ１０４において、距離算出部３４は、左上方向の走査順に、順次、仮距離に注目し、式（３）を用いて、注目している仮距離d"(i,j)をユークリッド距離d(i,j)に変換する逆ラスタ走査処理を行う。
【０１１７】
すなわち、ステップＳ９９において、距離算出部３４は、d"(i,j)、d(i+1,j)+1、およびd(i,j+1)+1のうちの最小値を、注目している仮距離d"(i,j)に対応するユークリッド距離d(i,j)に決定する。そして、ステップＳ１００において、距離算出部３４は、変数jが０であるか否か（注目している仮距離d"(i,j)に対応する画素が細線化画像の左端に存在する画素であるか否か）を判定する。
【０１１８】
ステップＳ１００において、距離算出部３４は、変数jが０でないと判定した場合（注目している仮距離d"(i,j)に対応する画素が細線化画像の左端に存在する画素でないと判定した場合）、処理は、ステップＳ１０１に進められる。そして、距離算出部３４は、変数jに-１をインクリメントして新たな変数jとし、処理は、ステップＳ９９に戻り、以下、同様の処理が繰り返される。
【０１１９】
また、ステップＳ１００において、距離算出部３４は、変数jが０であると判定した場合（注目している仮距離d"(i,j)に対応する画素が細線化画像が左端に存在する画素であると判定した場合）、処理は、ステップＳ１０２に進められる。
【０１２０】
そして、ステップＳ１０２において、距離算出部３４は、変数iが０であるか否か（注目している仮距離d"(i,j)に対応する画素が細線化画像の上端に存在する画素であるか否か）を判定する。
【０１２１】
ステップＳ１０２において、距離算出部３４は、変数iが０でないと判定した場合（注目している仮距離d"(i,j)に対応する画素が細線化画像の上端に存在する画素でないと判定した場合）、処理は、ステップＳ１０３に進められる。そして、距離算出部３４は、変数jを定数jmaxとし、処理は、ステップＳ１０４に進められ、変数iに-１をインクリメントして新たな変数iとし、処理は、ステップＳ９９に戻り、以下、同様の処理が繰り返される。
【０１２２】
また、ステップＳ１０２において、距離算出部３４は、変数iが０であると判定した場合（注目している仮距離d"(i,j)に対応する画素が細線化画像の上端に存在する画素であると判定した場合）、距離算出処理は終了される。そして、処理は、図１２のステップＳ３４にリターンされる。
【０１２３】
以上のように、図１２の最尤姿勢出力処理では、人物の身体にマーカ等を付加させることなく、人物が撮像された撮像画像から、人物の姿勢を推定するようにしたので、人物に負担をかけることなく、人物の姿勢を推定することができる。
【０１２４】
また、図１２の最尤姿勢出力処理では、複数の姿勢モデル画像と、距離画像とに基づいて、線分が延びる方向、長さ、および線分どうしの接続関係等について、複数の姿勢モデル線毎に、姿勢モデル線とシルエット線とを直接に比較するようにしたので、例えば、画像モーメント等の特徴量から姿勢を推定する場合と比較して、より正確な推定を行うことができる。
【０１２５】
すなわち、画像モーメント等の特徴量から姿勢を推定するためには、例えばニューラルネットワーク等の写像により、特徴量と身体の構造とを対応付ける必要があるが、特徴量と身体の構造とを対応付ける段階で、特徴量と身体の構造との対応付けに曖昧さが介在してしまう。このため、例えば、画像モーメント等の特徴量から姿勢を推定する場合には、正確な姿勢を推定することができないことがあった。
【０１２６】
しかしながら、図１２の最尤姿勢出力処理では、シルエット線と姿勢モデル線とを、直接に比較することから、特徴量と身体の構造との対応付けを行う必要がないため、より正確な推定を行うことが可能となる。
【０１２７】
なお、図１２の最尤姿勢出力処理では、ステップＳ３４（距離算出処理）において、距離算出部３４は、細線化画像の各画素f(i,j)について、ユークリッド距離d(i,j)を算出することとしたが、例えば、ユークリッド距離d(i,j)に代えて、シティブロック距離（マンハッタン距離）またはチェスボード距離等を算出するようにしてもよい。
【０１２８】
この場合、ステップＳ３５において、マッチング部３６は、複数の姿勢モデル画像と、距離算出部３４からの、シティブロック距離またはチェスボード距離等により構成される距離画像とに基づいて、チャンファ距離を算出する距離マッチング処理を行い、ステップＳ３６において、姿勢推定部３７は、距離マッチング処理により得られた複数のチャンファ距離のうち、最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力する。
【０１２９】
次に、図１５を参照して、ユークリッド距離、シティブロック距離、およびチェスボード距離について説明する。
【０１３０】
ユークリッド距離とは、上述したように、２つの画素間の直線距離を表している。したがって、例えば、図１５Ａにおいて、横×縦が３×３画素のうち、中心に存在する中心画素（画素値が１の画素）と、その中心画素とのユークリッド距離は0.0となり、中心画素と、中心画素の上下左右方向に隣接するいずれの４画素とのユークリッド距離は1.0となる。また、例えば、中心画素と、中心画素の斜め方向に隣接するいずれの４画素とのユークリッド距離は1.41(=√２)となる。
【０１３１】
シティブロック距離とは、２つの画素のうち、所定の画素から、他の画素までの最短のパスであって、所定の画素と他の画素との間に存在する画素を上下左右方向にたどったときのパス上に存在する画素の個数-1を表している。
【０１３２】
したがって、例えば、図１５Ｂにおいて、横×縦が３×３画素のうち、中心に存在する中心画素と、その中心画素とのシティブロック距離は０となり、中心画素と、中心画素の上下左右方向に隣接するいずれの４画素とのシティブロック距離は１となる。また、例えば、中心画素と、中心画素の斜め方向に隣接するいずれの４画素とのシティブロック距離は２となる。
【０１３３】
チェスボード距離は、２つの画素のうち、所定の画素から、他の画素までの最短のパスであって、所定の画素と他の画素との間に存在する画素を上下左右方向の他、斜め方向にたどったときのパス上に存在する画素の個数-1を表している。
【０１３４】
したがって、例えば、図１５Ｃにおいて、横×縦が３×３画素のうち、中心に存在する中心画素と、その中心画素とのチェスボード距離は０となり、中心画素と、中心画素の上下左右方向に隣接するいずれの４画素とのチェスボード距離は１となる。また、例えば、中心画素と、中心画素の斜め方向に隣接するいずれの４画素とのチェスボード距離は１となる。
【０１３５】
図１６は、人物の姿勢を推定する情報処理装置１の他の構成例を示している。
【０１３６】
なお、図中、図１の場合に対応する部分については同一の符号を付してあり、以下、その説明は、適宜省略する。
【０１３７】
すなわち、図１６の情報処理装置１は、距離算出部３４、姿勢記憶部３５、マッチング部３６、および姿勢推定部３７に代えて、特徴量生成部６１、姿勢記憶部６２、マッチング部６３、および姿勢推定部６４が設けられている他は、図１の場合と同様に構成されている。
【０１３８】
特徴量生成部６１には、細線化部３３から細線化画像が供給される。特徴量生成部６１は、細線化部３３からの細線化画像内のシルエット線から、シルエット線の特徴を表す複数のヒストグラムにより構成されるシェイプコンテキスト（Shape Context）特徴量（以下、シルエット線のシェイプコンテキスト特徴量という）を生成する特徴量生成処理を行い、その結果得られたシルエット線のシェイプコンテキスト特徴量を、マッチング部６３に供給する。
【０１３９】
なお、シェイプコンテキスト特徴量を生成する生成方法の詳細は、図１７を参照して後述する。また、シェイプコンテキスト特徴量のより詳細な生成方法は、例えば、「"Matching with Shape Contexts"(IEEE Workshop on Contentbased Access of Image and Video Libraries, 2000)」に記載されている。
【０１４０】
姿勢記憶部６２は、予め、複数の姿勢モデル線毎に、姿勢モデル線の特徴を表す複数のヒストグラムにより構成されるシェイプコンテキスト特徴量（以下、姿勢モデル線のシェイプコンテキスト特徴量という）を記憶している。なお、姿勢モデル線のシェイプコンテキスト特徴量は、例えば、特徴量生成部６１により、シルエット線のシェイプコンテキスト特徴量を生成する生成方法と同一の方法により生成されたものである。
【０１４１】
マッチング部６３は、特徴量生成部６１からの、シルエット線のシェイプコンテキスト特徴量と、複数の姿勢モデル線毎に、姿勢記憶部６２に記憶されている姿勢モデル線のシェイプコンテキスト特徴量とを比較することにより、シルエット線のシェイプコンテキスト特徴量と姿勢モデル線のシェイプコンテキスト特徴量との一致の度合いを表す一致度（シェイプコンテキスト特徴量の一致度）を算出する特徴量マッチング処理を行い、その特徴量マッチング処理により、複数の姿勢モデル線毎に得られたシェイプコンテキスト特徴量の一致度を、姿勢推定部６４に供給する。
【０１４２】
姿勢推定部６４は、複数の姿勢モデル線のうち、一致の度合いが最大のシェイプコンテキスト特徴量の一致度に対応する姿勢モデル線、すなわち、例えば、マッチング部６３からの複数のシェイプコンテキスト特徴量の一致度のうち、最小のシェイプコンテキスト特徴量の一致度に対応する姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力する。
【０１４３】
次に、図１７を参照して、特徴量生成部６１が、シェイプコンテキスト特徴量（を構成する所定のヒストグラム）を生成する生成方法を説明する。
【０１４４】
図１７左側には、シルエット線と、そのシルエット線を構成する所定の白色画素を中心とする複数の同心円、および所定の白色画素から放射状に伸びた線分により囲まれて形成される略扇形の複数の領域が示されている。
【０１４５】
なお、シルエット線としては、上述したように、図３に示したシルエットの中心線の他、シルエットの輪郭を表す輪郭線を採用することが可能である。したがって、図１７左側には、シルエット線として、シルエットの輪郭を表す輪郭線が示されている。
【０１４６】
図１７右側には、横軸を、複数の領域それぞれを示すBin番号とし、縦軸を、対応するBin番号の領域内に存在するシルエット線を構成する白色画素の個数を示すサンプル点数とする横軸と縦軸とで定義されるヒストグラムが示されている。
【０１４７】
特徴量生成部６１は、細線化部３３からのシルエット線を構成する白色画素に順次、注目する。そして、注目している白色画素を中心として形成される、図１７左側に示すような複数の領域から、ヒストグラムを生成する。
【０１４８】
すなわち、例えば、マッチング部３６は、図１７左側に示すように、領域Ａに存在する個数が５個である場合、領域Ａを示すBin番号に対応するサンプル点数を５点とし、領域Ｂに存在する個数が７個である場合、領域Ｂを示すBin番号に対応するサンプル点数を７点として、図１７右側に示すようなヒストグラムを生成する。
【０１４９】
特徴量生成部６１は、注目される、シルエット線を構成する白色画素の数だけ得られた複数のヒストグラムを、シルエット線のシェイプコンテキスト特徴量として、マッチング部６３に供給する。
【０１５０】
マッチング部６３は、特徴量生成部６１からのシルエット線のシェイプコンテキスト特徴量と、複数の姿勢モデル線毎に、姿勢記憶部３５に記憶されている姿勢モデル線のシェイプコンテキスト特徴量との一致度（シェイプコンテキスト特徴量の一致度）を算出する特徴量マッチング処理を行い、その特徴量マッチング処理により、複数の姿勢モデル線毎に得られたシェイプコンテキスト特徴量の一致度を、姿勢推定部６４に供給する。
【０１５１】
すなわち、例えば、マッチング部６３は、シルエット線を構成する白色画素を、例えば、ラスタスキャン順に順番に並べたときのx番目の白色画素について得られるヒストグラムと、姿勢モデル線を構成する画素を、ラスタスキャン順に順番に並べたときのx番目の画素について得られるヒストグラムとを決定する。そして、シルエット線を構成する白色画素のうちのx番目の白色画素について得られるヒストグラムと、姿勢モデル線を構成する画素のうちのx番目の画素について得られるヒストグラムとの対応するBin番号のサンプル点数どうしの差分絶対値の総和を、ヒストグラムどうしの一致度として算出する。
【０１５２】
なお、ヒストグラムどうしの一致度を評価する評価方法としては、その他、例えば、カイ２乗距離、KLダイバージェンス、バタチャリア距離等の各種の尺度を用いることが可能である。
【０１５３】
また、マッチング部６３は、決定したヒストグラム毎に算出したヒストグラムどうしの一致度の総和を、シェイプコンテキスト特徴量の一致度として算出し、姿勢推定部６４に供給する。
【０１５４】
姿勢推定部６４は、複数の姿勢モデル線のうち、一致の度合いが最大のシェイプコンテキスト特徴量の一致度に対応する姿勢モデル線、すなわち、例えば、マッチング部６３からの複数のシェイプコンテキスト特徴量の一致度のうち、最小のシェイプコンテキスト特徴量の一致度に対応する姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力する。
【０１５５】
次に、図１８を参照して、シェイプコンテキスト特徴量を構成する所定のヒストグラムが、シルエット線等の線の一部分の特徴を一意に表していることを説明する。
【０１５６】
図１８左上側および図１８右上側には、それぞれ、ローマ字の「Ａ」の輪郭をなぞるように、その輪郭を表す画素である輪郭画素が示されている。
【０１５７】
図１８左上側の「Ａ」の領域９１と、図１８右上側の「Ａ」の領域９２とは、いずれも、右斜め上方向から左斜め下方向に向かって伸びる、複数の輪郭画素により構成される線分が存在する領域であるため、領域９１と領域９２とは互いに類似する領域である。
【０１５８】
この場合、図１８下側に示すように、領域９１から得られるヒストグラム９１aと、領域９２から得られるヒストグラム９２aどうしが類似していることがわかる。
【０１５９】
また、図１８左側の「Ａ」の領域９３は、左方向から右方向に向かって伸びる、複数の輪郭画素により構成される線分が存在する領域であるため、領域９１および領域９２とは全く異なる領域である。
【０１６０】
この場合、図１８下側に示すように、領域９３から得られるヒストグラム９３aと、領域９１から得られるヒストグラム９１a（領域９２から得られるヒストグラム９２a）どうしが異なることがわかる。
【０１６１】
図１８に示すように、領域内に存在する図形（輪郭画素の配置）どうしが類似する場合には、領域から得られるヒストグラムどうしも類似し、領域内に存在する図形どうしが類似しない場合には、領域から得られるヒストグラムどうしも類似しない。したがって、領域から得られるヒストグラムは、領域内に存在する図形を一意に表現しているものである。
【０１６２】
次に、図１９のフローチャートを参照して、図１６の情報処理装置１が行う他の最尤姿勢出力処理を説明する。
【０１６３】
ステップＳ１３１乃至ステップＳ１３３において、図１６のステップＳ３１乃至ステップＳ３３と同様の処理が行われる。
【０１６４】
ステップＳ１３４において、特徴量生成部６１は、細線化部３３からの細線化画像内のシルエット線から、シルエット線の特徴を表す複数のヒストグラムにより構成されるシェイプコンテキスト特徴量（シルエット線のシェイプコンテキスト特徴量）を生成する特徴量生成処理を行い、その結果得られたシルエット線のシェイプコンテキスト特徴量を、マッチング部６３に供給する。
【０１６５】
ステップＳ１３５において、マッチング部６３は、特徴量生成部６１からの、シルエット線のシェイプコンテキスト特徴量と、複数の姿勢モデル線毎に、姿勢記憶部６２に記憶されている姿勢モデル線のシェイプコンテキスト特徴量とを比較することにより、シルエット線のシェイプコンテキスト特徴量と姿勢モデル線のシェイプコンテキスト特徴量との一致の度合いを表す一致度（シェイプコンテキスト特徴量の一致度）を算出する特徴量マッチング処理を行い、その特徴量マッチング処理により、複数の姿勢モデル線毎に得られたシェイプコンテキスト特徴量の一致度を、姿勢推定部６４に供給する。
【０１６６】
ステップＳ１３６において、姿勢推定部６４は、複数の姿勢モデル線のうち、一致の度合いが最大のシェイプコンテキスト特徴量の一致度に対応する姿勢モデル線、すなわち、例えば、マッチング部６３からの複数のシェイプコンテキスト特徴量の一致度のうち、最小のシェイプコンテキスト特徴量の一致度に対応する姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力する。
【０１６７】
次に、図２０のフローチャートを参照して、図１９のステップＳ１３４における特徴量生成処理の詳細を説明する。
【０１６８】
ステップＳ１６１において、特徴量生成部６１は、細線化部３３からの細線化画像内のシルエット線を構成する白色画素のうちの所定の画素に注目し、注目画素とする。
【０１６９】
ステップＳ１６２において、特徴量生成部６１は、注目画素に対応して、図１７左側に示したように、略扇形の複数の領域を設定する。
【０１７０】
ステップＳ１６３において、特徴量生成部６１は、ステップＳ１６２で設定した複数の領域毎に、領域に含まれる白色画素を検出することにより、図１７右側に示したように、ヒストグラムを生成する。
【０１７１】
ステップＳ１６４において、特徴量生成部６１は、シルエット線を構成する白色画素すべてを、注目画素としたか否かを判定し、まだ白色画素すべてを注目画素としていないと判定した場合、処理は、ステップＳ１６１に戻り、まだ注目画素とされていない白色画素を、新たな注目画素として、処理は、ステップＳ１６２に進められ、以下、同様の処理が繰り返される。
【０１７２】
また、ステップＳ１６４では、特徴量生成部６１は、シルエット線を構成する白色画素すべてを、注目画素としたと判定した場合、ステップＳ１６３において、注目される、シルエット線を構成する白色画素の数だけ得られた複数のヒストグラムを、シルエット線のシェイプコンテキスト特徴量として、処理は、図１９のステップＳ１３４にリターンされる。
【０１７３】
以上のように、図１９の他の最尤姿勢出力処理では、人物の身体にマーカ等を付加させることなく、人物が撮像された撮像画像から、人物の姿勢を推定するようにしたので、人物に負担をかけることなく、人物の姿勢を推定することができる。
【０１７４】
なお、図１２の最尤姿勢出力処理では、例えば、ステップＳ３６において、姿勢推定部３７は、マッチング部３６からの複数のチャンファ距離のうち、最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢を、カメラ３１で撮像された人物の姿勢であると推定して、その推定結果を出力するようにしたが、例えば、最短のチャンファ距離が所定の閾値未満である場合には、最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢を、推定結果として出力し、最短のチャンファ距離が所定の閾値以上である場合には、人物の姿勢として推定される姿勢が存在しないものとし、その旨を出力するようにしてもよい。
【０１７５】
この場合、所定の閾値未満である最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢のみが、推定結果として出力されるため、最短のチャンファ距離に対応する姿勢モデル画像内の姿勢モデル線が表す姿勢を必ず出力する場合と比較して、人物の姿勢を推定する精度を向上させることが可能となる。なお、図１９の他の最尤姿勢出力処理のステップＳ１３６についても、同様である。
【０１７６】
また、マッチング部６３は、シルエット線を構成する白色画素を、ラスタスキャン順の順番に並べたときのx番目の白色画素について得られるヒストグラムと、姿勢モデル線を構成する画素を、ラスタスキャン順の順番に並べたときのx番目の画素について得られるヒストグラムとの対応するBin番号のサンプル点数どうしの差分絶対値の総和を、ヒストグラムどうしの一致度として算出することにより、コンテキスト特徴量の一致度を算出することとしたが、これに限定されない。
【０１７７】
すなわち、例えば、マッチング部６３は、シルエット線を構成する白色画素と、姿勢モデル線を構成する画素とを、それぞれ、１対１に対応付けたときのすべての組合せ毎に、コンテキスト特徴量の一致度を算出する。そして、マッチング部６３は、すべての組合せ毎に算出されたコンテキスト特徴量の一致度のうちの最小値を、例えばHungarian Method等のコスト最小化アルゴリズムを用いて算出し、最終的なコンテキスト特徴量の一致度として採用するようにしてもよい。
【０１７８】
この場合、例えば、シルエット線を構成する白色画素と、姿勢モデル線を構成する画素とを、ラスタスキャン順等の順番で１対１に対応付ける場合と比較して、より適切なコンテキスト特徴量の一致度を算出することができる。
【０１７９】
図１の情報処理装置１のシルエット抽出部３２は、例えば、人物を含まない背景のみが撮像された背景画像と、カメラ３１からの撮像画像との差分をとる背景差分法を用いることにより、撮像画像内の人物を検出することとしたが、さらに、撮像画像内の人物等の動きをも考慮すれば、より正確に、撮像画像内の人物を検出することが可能である。
【０１８０】
また、撮像画像内の人物を検出する方法は、これに限定されない。すなわち、例えば、カメラ３１に、レーザを人物等の撮像対象に照射して、レーザの反射光を検出するまでの時間を計測することにより、カメラ３１から撮像対象までの距離を表す撮像対象距離を算出するレーザレンジファインダを設け、レーザレンジファインダにより算出された撮像対象距離に基づいて、人物を検出することが可能である。
【０１８１】
具体的には、例えば、シルエット抽出部３２は、レーザレンジファインダにより算出された撮像対象距離が、人物等の被写体であるのか背景であるのかを判定するための被写体判定閾値未満であるか否かを判定し、被写体判定閾値未満である撮像対象を被写体とし、被写体判定閾値以上である撮像対象を背景とすることにより、人物等の被写体を検出することが可能である。
【０１８２】
また、その他、例えば、撮像対象距離を算出するレーザレンジファインダに代えて、カメラ３１のほか、カメラ３１とは異なる他のカメラを設け、カメラ３１と他のカメラとの視差により、撮像対象距離を算出するステレオ処理により、撮像対象距離を算出し、算出した撮像対象距離に基づいて、人物を検出するようにしてもよい。
【０１８３】
なお、姿勢記憶部３５は、複数の特徴点の座標値を記憶していることとしたが、座標値に代えて、例えば、姿勢線が現れた姿勢モデル画像を記憶しているようにしてもよい。この場合、マッチング部３６は、姿勢記憶部３５に記憶された姿勢モデル画像を用いて、距離マッチング処理を行うことができるため、座標値から姿勢モデル線を生成し、生成した姿勢モデルが現れた姿勢モデル画像を用いて、距離マッチング処理を行う場合と比較して、より迅速に、距離マッチング処理を行うことが可能となる。
【０１８４】
最尤姿勢出力処理、および他の最尤姿勢出力処理では、被写体として、例えば人物を採用することとしたが、例えば、猿や、オラウータン等の動物、およびマネキン等の、一定の姿勢をとることが可能なものを、被写体として採用することが可能である。
【０１８５】
本発明を適用した情報処理装置としては、例えば、パーソナルコンピュータ等を採用することができる。
【０１８６】
上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、記録媒体からインストールされる。
【０１８７】
図２１は、プログラムを実行することにより上述した一連の処理を行うコンピュータの構成例を示している。
【０１８８】
CPU(Central Processing Unit)２０１は、ROM(Read Only Memory)２０２、または記憶部２０８に記憶されているプログラムにしたがって各種の処理を実行する。RAM(Random Access Memory)２０３には、CPU２０１が実行するプログラムやデータ等が適宜記憶される。これらのCPU２０１、ROM２０２、およびRAM２０３は、バス２０４により相互に接続されている。
【０１８９】
CPU２０１にはまた、バス２０４を介して入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、キーボード、マウス、マイクロホン等よりなる入力部２０６、モニタ、スピーカ等よりなる出力部２０７が接続されている。CPU２０１は、入力部２０６から入力される指令に対応して各種の処理を実行する。そして、CPU２０１は、処理の結果を出力部２０７に出力する。
【０１９０】
入出力インタフェース２０５に接続されている記憶部２０８は、例えばハードディスクからなり、CPU２０１が実行するプログラムや各種のデータを記憶する。通信部２０９は、インターネットやローカルエリアネットワーク等のネットワークを介して外部の装置と通信する。
【０１９１】
入出力インタフェース２０５に接続されているドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア２１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータ等を取得する。取得されたプログラムやデータは、必要に応じて記憶部２０８に転送され、記憶される。
【０１９２】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納する記録媒体は、図２１に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア２１１、または、プログラムが一時的もしくは永続的に格納されるROM２０２や、記憶部２０８を構成するハードディスク等により構成される。記録媒体へのプログラムの格納は、必要に応じてルータ、モデム等のインタフェースである通信部２０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１９３】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９４】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１９５】
【図１】本発明を適用した情報処理装置の構成例を示すブロック図である。
【図２】シルエット画像の一例を示す図である。
【図３】細線化画像の一例を示す図である。
【図４】細線化画像から得られた距離画像の一例を示す図である。
【図５】姿勢モデル画像の一例を示す図である。
【図６】注目画素が黒色画素に変換される条件を説明する第１の図である。
【図７】注目画素が黒色画素に変換される条件を説明する第２の図である。
【図８】注目画素が黒色画素に変換される条件を説明する第３の図である。
【図９】注目画素が黒色画素に変換される条件を説明する第４の図である。
【図１０】初期距離が、仮距離に変換されるときの一例を示す図である。
【図１１】仮距離が、ユークリッド距離に変換されるときの一例を示す図である。
【図１２】最尤姿勢出力処理の詳細を説明するフローチャートである。
【図１３】細線化処理の詳細を説明するフローチャートである。
【図１４】距離算出処理の詳細を説明するフローチャートである。
【図１５】ユークリッド距離、シティブロック距離、およびチェスボード距離を説明する図である。
【図１６】本発明を適用した情報処理装置の他の構成例を示すブロック図である。
【図１７】シェイプコンテキスト特徴量を構成する所定のヒストグラムの生成方法を説明する図である。
【図１８】シェイプコンテキスト特徴量を構成する所定のヒストグラムが、線の一部分の特徴を一意に表していることを説明する図である。
【図１９】他の最尤姿勢出力処理の詳細を説明するフローチャートである。
【図２０】特徴量生成処理の詳細を説明するフローチャートである。
【図２１】コンピュータの構成例を示すブロック図である。
【符号の説明】
【０１９６】
１  情報処理装置，  ３１  カメラ，  ３２  シルエット抽出部，  ３３  細線化部，  ３４  距離算出部，  ３５  姿勢記憶部，  ３６  マッチング部，  ３７  姿勢推定部，  ６１  特徴量生成部，  ６２  姿勢記憶部，  ６３  マッチング部，  ６４  姿勢推定部
【図１】
2009288917.tif 000006
【図２】
2009288917.tif 000007
【図３】
2009288917.tif 000008
【図４】
2009288917.tif 000009
【図５】
2009288917.tif 000010
【図６】
2009288917.tif 000011
【図７】
2009288917.tif 000012
【図８】
2009288917.tif 000013
【図９】
2009288917.tif 000014
【図１０】
2009288917.tif 000015
【図１１】
2009288917.tif 000016
【図１２】
2009288917.tif 000017
【図１３】
2009288917.tif 000018
【図１４】
2009288917.tif 000019
【図１５】
2009288917.tif 000020
【図１６】
2009288917.tif 000021
【図１７】
2009288917.tif 000022
【図１８】
2009288917.tif 000023
【図１９】
2009288917.tif 000024
【図２０】
2009288917.tif 000025
【図２１】
2009288917.tif 000026