ステレオカメラが得意なのは比較的近距離の領域
前回、ステレオカメラを使った3次元形状の計算方法を紹介したわけですが、ステレオカメラも万能ではありません。第一に、ブロックマッチングのように対応点ペアが求まらない限りは画像中のその対応する座標は3次元点に変換できません。第二に、類似度が最小のものを対応ペアと見なす仕組みなので、天候の変化などで暗くなったり、明るくてもテクスチャが曖昧だったり一定であるせいで対応点が探せない見え方になってしまう環境などでは、対応点マッチングの誤対応が多数出てきます。つまり、ステレオカメラで実際の形状通りの綺麗な形状を安定して撮影するのは結構難しいわけです。
また、ステレオカメラは遠方の物が苦手です。ステレオカメラでは左右の画像から三角測量を用いて3次元座標を算出することから、視差がほとんど変わらない遠方の物ほど、奥行きの計測精度が落ちてしまいます。逆に言うと、天候が晴れて安定していれば、前回に示したような動画のDepth Mapのように、近距離の3次元形状は十分に綺麗に撮影できるわけで、これを用いて安定した物体検出は可能になるというわけです。これとは別の話ではありますが、雨などでカメラの映像が遮られた場合は、当然ながら前方車両の検出は不可能なことも付け加えておきましょう。
前方衝突防止システムで用いられる人物トラッキング(HOG+Particle Filter)
ステレオカメラだけではなくて1台のカメラだけでも前方の衝突防止システムは作ることが可能です。前方衝突防止システムは前方の車や道路を横断する人間と接近した場合に運転手に警告音を発し、衝突の危険がある程にさらに接近した場合は自動車を自動停止するというシステムです。この仕組みを実現するために、前方を撮影しているカメラの映像から「人物領域を検出し、その後検出した人物領域の座標を追跡(トラッキング)する」という処理をリアルタイムに行っています。例えば、以下の動画はMobileEye社による歩行者検出のデモ映像です。
MobileEyeによる歩行者検出 |
この動画では各人物領域が継続的にトラッキング(追跡)されていることがわかります。このような「歩行者トラッキング」では、新しく動画中に現れた人物の領域を「(1)検出」し、その後検出した各領域を「(2)継続的に追跡」する必要しています。
ここでは、まず最近の人物検出システムにおいて人物領域検出(1)に用いられることが増えている「HOG(Histogram of Oriented Gradient )」という技術と、検出後その領域を追跡する(2)ために用いられる「パーティクルフィルタ(Particle Filter)」という技術を順番に解説していきます。
人物領域を検出する特徴量「HOG(Histogram of Oriented Gradient )」
以前「顔検出」の回で、大量の顔画像から画像のHaar-Like特徴量をAda-Boostで学習しておき、その学習済みのHaar-Like特徴量を用いて顔領域を検出するという技術を解説しました。この顔検出で用いられた特徴量と同じように、Ada-Boostなどであらかじめ学習しておくことにより「人間の全身を表す領域」が検出できるのが、ここで紹介するHOG特徴量という技術です。
HOG特徴量(Histogram of Oriented Gradient)というのは、以下の図で示されたような特徴量です。HOG特徴量は入力画像から計算したエッジ画像に対して、各ブロック領域ごとの方位ヒストグラムを計算したものです。これは認識したい対象のシルエットがよく現れるエッジ画像において、それぞれのブロックでどの方位に偏っているかをヒストグラムで表現できていることになり、「エッジ画像の方位ヒストグラムの偏りが似た画像」を検出できるようになります。
HOG特徴量ではまず画像中の領域を小領域にブロック分割します。そのブロック毎にエッジ画像での傾きが縦横斜めの8つの方向のうちにどの方向に近いかを数えていき、その傾きのヒストグラムを計算します。このヒストグラムが画像中のブロックごとの方向性の性質を示すようになり、計算したヒストグラム群が人間の画像領域と類似しているブロック領域には人間らしい画像が存在していることがわかるようになるわけです。
このHOG特徴量は、学習画像として人物の画像を集めておいて、顔検出の時のようにAda-boostやSVM(Support Vector Machine)のようなもので学習して識別器を作れば、あとはそのHOG特徴量による識別器で、HOG特徴量と同じような特徴をもった画像が見つかるごとに、そこを人物領域として検出することができるわけです。すでに説明したように、各ブロックの方位は9分割と大まかな量子化を行っているので、学習した画像どおりの姿勢や服装でなくても、各ブロック内で方位ヒストグラムがほぼ同じであれば、人物として検出できるという仕組みになっています。
先ほどお見せした歩行者検出はHOG特徴量の識別器で実現されている事が多く、また自動車以外の用途でも、消費者行動分析や、駅や学校など公共の場所で撮影した動画から、人物を検出する際に用いられています。