OpenCVを用いた人物検出について
Posted: 2014年12月12日(金) 00:02
OpenCVを用いた人物検出について質問です。
haar-like特徴を用いて人物を検出したいと考えています。
1枚の画像を入力して、その画像に対して検出を行います。出力において人物は検出できるのですが、それ以外にも何もない部分が検出(これを誤検出とします)されてしまいます。
BackgroundSubtractorMOG2を使用して背景差分を行い、移動物体のみを残して背景部分を黒くした画像を作成しました。
何も処理を施していない画像Aと背景差分を行った画像Bを用いて誤検出を減らしたいと考えています。
今私が考えている方法は、Aでhaar-like特徴を用いて人物を検出し、cvHaarDetectObjectsでその座標を求める。(この時正しく人物を検出できた場合と誤検出両方含みます。)
そしてその座標をBに読み込んで、座標内に占める色の割合で検出を取り消すかどうかといった方法です。Bは背景差分によってほとんど黒い画像なので、範囲内に占める色で黒色が多かった場合、そこには人はいないと判断し検出を取り消すといった処理を行いたいです。
この方法OpenCVのプログラムで表す場合どのようにしたらよいでしょうか。座標内の色の検出、座標内の色の割合の検出、色の割合によって検出を取り消すかどうかの分岐の部分の方法が思いつきません。
関数のヒントでも良いのでご教授をお願いします。
また、画像ABを用いた他に良い誤検出を減らす方法がありましたらご教授をお願いします。
haar-like特徴を用いて人物を検出したいと考えています。
1枚の画像を入力して、その画像に対して検出を行います。出力において人物は検出できるのですが、それ以外にも何もない部分が検出(これを誤検出とします)されてしまいます。
BackgroundSubtractorMOG2を使用して背景差分を行い、移動物体のみを残して背景部分を黒くした画像を作成しました。
何も処理を施していない画像Aと背景差分を行った画像Bを用いて誤検出を減らしたいと考えています。
今私が考えている方法は、Aでhaar-like特徴を用いて人物を検出し、cvHaarDetectObjectsでその座標を求める。(この時正しく人物を検出できた場合と誤検出両方含みます。)
そしてその座標をBに読み込んで、座標内に占める色の割合で検出を取り消すかどうかといった方法です。Bは背景差分によってほとんど黒い画像なので、範囲内に占める色で黒色が多かった場合、そこには人はいないと判断し検出を取り消すといった処理を行いたいです。
この方法OpenCVのプログラムで表す場合どのようにしたらよいでしょうか。座標内の色の検出、座標内の色の割合の検出、色の割合によって検出を取り消すかどうかの分岐の部分の方法が思いつきません。
関数のヒントでも良いのでご教授をお願いします。
また、画像ABを用いた他に良い誤検出を減らす方法がありましたらご教授をお願いします。