<本発明について>
本発明は、防犯カメラ等の撮像手段に撮影された映像(画像も含む)や、インターネット等の通信ネットワーク等により外部から取得した各種映像等から人物の部位の認識や動作の認識を高精度に行う。そのため、本発明では、例えば画像中の人物の手先の座標位置の認識や把持物体の有無の認識、把持物体の認識等を行う。
具体的には、本発明は、例えば既存の単眼防犯カメラ1台等を用いて撮影された映像等に対する画像認識により、刃物等の把持物体を認識する。また、画像中から直接刃物等の把持物体を認識するのではなく、人体検出から人体の所定の部位(例えば、手先、頭、足等)を検出し、更に把持の有無の認知までの処理を行って把持物体の領域を絞り込んだうえで、正確な把持物体の認識を行う。このように把持物体領域を特定することで、画像全体から把持物体を認識する場合に比べて、計算コストを格段に減少させることができる。
以下に、本発明における把持物体認識装置、把持物体認識方法、及び把持物体認識プログラムを好適に実施した形態について、図面を用いて説明する。なお、以下の処理では、人体の部位検出の一例として手先検出を例に説明するが、本発明においてはこれに限定されるものではなく、例えば頭(顔)、足等の部位であってもよい。
<把持物体認識装置:機能構成例>
図1は、把持物体認識装置の機能構成の一例を示す図である。図1に示す把持物体認識装置10は、入力手段11と、出力手段12と、蓄積手段13と、人体領域検出手段14と、部位検出手段としての手先検出手段15と、把持物体検出手段16と、特定物体推定手段17と、挙動認識手段18と、画面生成手段19と、通知手段20と、送受信手段21と、制御手段22とを有するよう構成されている。
入力手段11は、ユーザ等からの人体領域検出指示や、手先検出指示、把持物体検出指示、特定物体推定指示、挙動認識指示、画面生成指示、通知指示、送受信指示等の本実施形態を実現するための各種指示を受け付ける。なお、入力手段11は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力デバイス等からなる。
出力手段12は、入力手段11により入力された指示内容や、各指示内容に基づいて生成された制御データにより、各構成で実行された経過又は結果等の各種情報を表示したり、その音声を出力する。なお、出力手段12は、ディスプレイ等の画面表示機能やスピーカ等の音声出力機能等を有する。
更に、出力手段12は、各機能により出力された結果や画面生成手段19により生成された画面に表示された情報等を外部機器に出力する。つまり、出力手段12は、外部機器への出力として、例えば、プリンタに出力したり、ファイルを生成して蓄積手段13や、予め設定されたデータベース等の記憶装置や記録媒体に出力したり、監視区域(警備対象施設)内のセンサのON/OFFやライトの点灯/消灯を切り替えたり、警備員が所持する携帯端末に対して把持物体認識結果に基づく関連情報(異常があった場所や内容等)を表示するための制御信号を出力するといった印刷・出力機能等を有する。また、出力手段12は、上述した1又は複数の外部機器に同時に出力することができる。
蓄積手段13は、上述した本実施形態を実現するための様々な情報を蓄積することができ、必要に応じて読み出しや書き込みが行われる。具体的には、蓄積手段13は、顔の認証や、性別・年代等を推定するのに使用される各種特徴量データや、人体領域検出手段14における人体領域検出結果、手先検出手段15における手先検出結果、把持物体検出手段16における把持物体検出結果、特定物体推定手段17における特定物体推定結果、挙動認識手段18における挙動認識結果、画面生成手段19における画面生成結果、通知手段20における通知結果、送受信手段21における送受信情報、制御手段22により制御された情報、エラー発生時のエラー情報、ログ情報、本発明を実現するためのプログラム等の各情報が蓄積される。更に、蓄積手段13は、後述するグラフマッチング用データベースや時系列的に取得される人体領域や所定の部位の移動軌跡に対応する行動パターン情報等を蓄積する。
人体領域検出手段14は、例えば、コンビニエンスストアや百貨店等のレジ付近や、銀行の受付等の所定の監視区域等に設置された各防犯カメラや、巡回している監視ロボットに設けられたカメラ等の撮像手段等により撮影されたリアルタイム映像や、撮影された後蓄積された膨大な量の監視映像、送受信手段21により接続されるインターネット等の通信ネットワークを介して遠隔地にある画像サーバ等に蓄積された映像等の各種映像に対して、その映像中の画像に対して人体領域検出を行い、人物が含まれているか否かを判断する。
具体的には、人体領域検出手段14は、例えば、防犯カメラ等により撮影された映像を、送受信手段21を介して取得し、その取得した映像に含まれる時系列の各画像のうち、所定の画像(各フレーム画像や数フレーム分の間隔を空けた画像等)をキャプチャし、キャプチャした画像について1又は複数の人物を検出する。
また、人体領域検出手段14は、例えば連続する画像フレーム同士を比較して、色情報(輝度、色度等)が所定時間内に変化する場所が存在し、更にその場所で囲まれる領域が所定の領域以上のもの、又は経時的な移動範囲が所定の範囲内のものを人体領域として検出する。なお、人体検出手法については、本発明においてはこれに限定されるものではない。
また、人体領域検出手段14は、人体領域の中心座標、及び人体領域の画像上の大きさを検出し、その人体領域を所定形状により元の画像に合成して人体領域が明確に分かるように画面表示するための各種情報を取得し、蓄積手段13に蓄積させる。なお、人体領域の形状は、例えば矩形や円形、楕円形、他の多角形、人物の外形形状から所定倍率で拡大させた2値のシルエット形状等であってもよい。つまり、人体領域検出手段14は、例えば、人体領域を白塗りにし、その他を黒塗りにしたシルエット形状の画像を生成することができる。更に、人体領域検出手段14は、頭髪、上衣、下衣等の色情報を抽出したり、人物の実空間上での位置座標を算出したりする機能を有していてもよい。
手先検出手段(部位検出手段)15は、人体領域検出手段14により検出された人物領域に対する所定の部位として手先領域を検出する。具体的には、手先検出手段15は、人体領域検出手段14により検出された人物領域に対して細線化を行う。また、手先検出手段15は、細線化された画像から、その端点や分岐点等の点同士の接続関係を表す行列(グラフ)に変換する。
また、手先検出手段15は、原画像全体に対してエッジ検出を行い、検出された画面全体のエッジ情報から、人体領域のエッジを抽出する。また、手先検出手段15は、変換したグラフに基づき、予め人物の姿勢等を登録した人物モデルグラフを用いてマッチングを行う。これにより、得られた領域が人物であるかどうかを判別すると共に、手先に該当する1又は複数の端点をその辞書から得ることができ、端点を手先として検出することができる。
また、手先検出手段15は、片手又は両手の部位を検出してもよく、また手先以外にも頭や足等、予め設定される複数の部位のうち、1又は複数の部位を、予め設定されたそれぞれの形状や色等の特徴を用いたパターンマッチング処理等を行うことで、同時に検出してもよい。なお、手先の検出においては、例えば、最初に、画像中に含まれる対象人物の一方の手の手先領域を検出し、その後、検出した手先領域の特徴に基づいて、同一画像中の他の手先領域を検出することで両手を検出することができる。
更に、手先検出手段15は、人体の頭部や手先等の各部位の判別を行ったり、例えば手先等の所定の部位の位置を特定する前に、その手先候補の推定を行ってもよい。なお、手先検出手段15の具体例については後述する。
把持物体検出手段16は、手先検出手段15により得られた手先領域に把持された物体がある場合に、その把持物体を検出する。具体的には、把持物体検出手段16は、画像から手先領域を取得し、その手先領域よりも先又は周囲に細線化した部分が存在している場合には、物体を把持しているものとして把持物体の有無を検出する。
また、把持物体検出手段16は、手先検出手段15により得られた手先領域の周囲に所定の画素の集まりが複数存在するか否かを判断し、複数存在する場合に把持物体が存在するとして把持物体の有無を検出することもできる。
また、把持物体検出手段16は、把持物体が有ると判断した場合に、例えば、手先の位置(座標等)、その手先よりも先又は周囲に細線化した部分の長さ、端点の位置等を把持物体に関する情報として検出する。
特定物体推定手段17は、把持物体検出手段16により検出された把持物体の内容が何であるか、その特定物体を推定する。具体的には、特定物体推定手段17は、例えば、把持物体検出手段16により検出された手先の位置、その手先よりも先又は周囲に細線化した部分の長さ、端点の位置、人体領域検出手段14により得られる人体領域を用いた手先付近のシルエット形状、大きさ等を取得し、予め蓄積された把持物体情報(例えば、刃物や拳銃等の種類毎の大きさ、形状等の凶器情報)と比較して対象となる把持物体が刃物や拳銃等の凶器(危険物)であるか、または単なる荷物であるか、それ以外のものであるか等、把持物体に関する特定物体の推定を行う。
挙動認識手段18は、人体領域検出手段14により検出された人体領域情報、手先検出手段15により検出された手先位置情報、及び、把持物体検出手段16により検出された把持物体情報等のうち、少なくとも1つの情報を、撮影された映像から時系列に取得し、取得した人体領域や手先位置等の連続的な移動方向、移動速度、所定動作の繰り返し回数等により対象人物の挙動を認識する。なお、挙動認識手段18は、例えば、人体領域及び所定の部位の時系列情報と、予め設定された行動パターンとを照合して、その人物挙動を認識することができる。つまり、本実施形態では、例えば、手先位置情報や把持物体情報が取得できなかった場合でも人体領域の移動内容等により挙動を認識することができる。
具体的には、挙動認識手段18は、例えば、予め設定された行動パターンとして、人体領域がコンビニエンスストアのレジ付近を何度も往復するような場合や、レジ付近で所定時間以上停止しているような場合には、その人物を不審者として認識する。更に、挙動認識手段18は、手先の時間経過に伴う移動状態や手先の位置情報等から手先の突き出し行為の有無等を認識する。
また、挙動認識手段18は、設置されたカメラの設置場所や位置等の位置情報と人体領域から顔領域を抽出し、その顔領域から顔の特徴点を取得して、顔の向き等により挙動を認識することもできる。なお、顔の特徴点は、例えば撮影された画像に含まれる顔における目や鼻、口等の位置情報からその顔の特徴量を取得し、予め設定された顔として検出されるための特徴量の照合パターンを用いたマッチング処理等を行うことにより人物の顔を検出する。また、上述の顔検出処理に限定されず、例えばエッジ検出や形状パターン検出による顔検出、色相抽出又は肌色抽出による顔検出等を用いることができる。
更に、挙動認識手段18は、顔領域の中心座標(位置情報)、及び領域の画像上の大きさ(サイズ)を検出し、その顔領域を所定形状により元の画像に合成して顔領域が明確に分かるように画面表示するための各種情報を取得し、蓄積手段13に蓄積させることもできる。なお、顔領域の形状は、本発明においては、矩形や円形、楕円形、他の多角形、人物の顔の外形形状から所定倍率で拡大させたシルエット形状等であってもよい。
画面生成手段19は、防犯カメラにより撮影された映像や人体領域検出手段14により検出された人体領域、本実施形態における把持物体認識を行うためのメニュー画面、把持物体認識を行うための入力画面、通知手段20における通知結果等、本実施形態における把持物体認識処理を実現するうえで必要な各種画面を生成する。このとき、画面生成手段19は、上述した各構成により処理された結果を表示する画面を生成するだけでなく、蓄積手段13等に予め設定された各種データを表示するための画面を生成することもでき、例えば撮影された人物の領域に対応する位置情報等に関する数値化されたデータ(例えば、座標や時間情報、人物情報)等を表示させることもできる。
また、画面生成手段19は、把持物体が予め設定される特定物体に該当する場合には、その旨の内容を通知するための画面を生成する。なお、画面生成に必要な各種情報は、蓄積手段13に予め蓄積されている情報等から必要な情報を適宜読み出して使用することができる。また、画面生成手段19は、生成された画面等を出力手段12としてのディスプレイ等に表示したり、スピーカ等により音声等を出力することができる。
通知手段20は、特定物体推定手段17により得られる推定結果において、把持物体が刃物や拳銃等の特定物体であった場合に、緊急信号を生成し、生成された緊急信号をユーザや管理者、警備会社等におけるそのビルの担当警備員、監視員、代表責任者、監視ロボット等の所定の連絡先に通知する。また、通知手段20は、特定物体推定手段17により得られる特定物体が刃物や拳銃等の特定物体である場合には、その画像に関する情報(検出日時、検出場所、その前の所定時間分の映像等)と、その特定物体の情報を画面生成手段19により生成させて、出力手段12により表示させる。
なお、通知手段20は、例えば監視ロボット等に通知を行う場合には、その監視ロボットが対象者と対面しているか又は監視ロボットが備える撮像手段により対象者が撮影されるほど接近した位置にいるため、監視ロボットから対象者に対して音声メッセージを出力させたり、警報ランプや非常音等により周囲に対して注意を促すような処理を行わせるような監視ロボットに対する制御信号を通知することもできる。
送受信手段21は、LAN(Local Area Network)やインターネット等の通信ネットワーク等を介して1又は複数の防犯カメラや監視ロボットが備える撮像手段からの監視映像を受信する。また、送受信手段21は、例えば、上記の通信ネットワーク等を介して遠隔地にある画像サーバ等に蓄積された各種映像の中から必要な情報を選択して取得することもできる。
ここで、送受信手段21は、防犯カメラから直接監視映像を受信し、リアルタイムに処理して事前に犯罪を予防することが好ましいが、例えば予め防犯カメラで取得した映像をどこかに一時的に保存しておき、その保存された情報をまとめて上述した本実施形態における各種処理を行ってもよい。
また、送受信手段21は、装置内の蓄積手段13に蓄積されている各種プログラムや各種データを他の端末に送信したり、他の端末から各種データを受信するための通信インタフェースとして用いることができる。
制御手段22は、把持物体認識装置10における各機能構成全体の制御を行う。具体的には、制御手段22は、入力手段11により入力されたユーザからの指示情報等に基づいて、上述した各機能構成における処理を実行させる等の各種制御を行う。
なお、上述した実施形態では、人体領域検出手段14及び手先検出手段(部位検出手段)15における各機能を把持物体認識装置10に含めているが、本発明においてはこれに限定されるものではなく、人体領域検出手段14及び手先検出手段(部位検出手段)15としての機能を部位検出装置(図示せず)とし、把持物体認識装置10とは別体に設けてもよい。
<把持物体認識装置:ハードウェア構成例>
ここで、上述した把持物体認識装置10においては、各機能をコンピュータに実行させることができる実行プログラム(把持物体認識プログラム)を生成し、例えば汎用のパーソナルコンピュータ(PC)、サーバ等にその実行プログラムをインストールすることにより、本実施形態における把持物体認識を実現することができる。
ここで、本実施形態における把持物体認識処理が実現可能なコンピュータのハードウェア構成例について図を用いて説明する。図2は、本実施形態における把持物体認識処理が実現可能なハードウェア構成の一例を示す図である。図2における把持物体認識装置10のコンピュータ本体には、入力装置31と、出力装置32と、ドライブ装置33と、補助記憶装置34と、メモリ装置35と、各種制御を行うCPU(Central Processing Unit)36と、ネットワーク接続装置37とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
入力装置31は、使用者が操作するキーボード及びマウス等のポインティングデバイスを有しており、使用者からのプログラムの実行等、各種操作信号を入力する。出力装置32は、本発明における把持物体認識等を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するモニタを有し、CPU36に有する制御プログラムに基づいてプログラム実行結果等を表示することができる。
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、CD−ROM等の記録媒体38等により提供される。プログラムを記録した記録媒体38はドライブ装置33にセット可能であり、記録媒体38に含まれる実行プログラムが、記録媒体38からドライブ装置33を介して補助記憶装置34にインストールされる。
補助記憶装置34は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラムの他に、ドライブ装置33から読み取ることができる各種データを蓄積し、必要に応じて入出力を行うことができる。また、上述した把持物体認識で得られる各種データ等を格納することもできる。
メモリ装置35は、CPU36により補助記憶装置34から読み出された実行プログラム等を格納する。なお、メモリ装置35は、ROM(Read Only Memory)やRAM(Random Access Memory)等からなる。
CPU36は、OS(Operating System)等の制御プログラム、メモリ装置35により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御する。
また、CPU36は、本発明における実行プログラム及び制御プログラムにより、本実施形態における把持物体認識処理を実現することができる。なお、プログラムの実行中に必要な各種情報は、補助記憶装置34から取得することができ、また格納することもできる。
ネットワーク接続装置37は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、把持物体認識プログラムを実行することで得られた各種情報若しくは当該プログラム自体を他の端末等に提供することができる。
なお、本発明における実行プログラムはCD−ROM等の持ち運び可能な記録媒体38に格納することにより任意の端末で、そのCD−ROMから実行プログラムを取得し実行することができる。
なお、記録媒体38は、上述したCD−ROMの他、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで高精度に本発明における把持物体認識処理を行うことができる。また、プログラムをインストールすることにより、汎用のパーソナルコンピュータ等で本発明における把持物体認識処理を容易に実現することができる。
<把持物体認識処理例>
次に、上述した把持物体認識装置10や把持物体認識プログラムを用いた本実施形態における把持物体認識処理手順について説明する。
<第1の実施例>
図3は、第1の実施例における把持物体認識処理手順の一例を示すフローチャートである。また、図4は、人体領域検出から特定物体推定までの処理の流れを説明するための図である。図3において、まず所定の位置に取り付けられたカメラ等の撮像手段により撮影された映像中に含まれる所定の画像をキャプチャ(取得)し(S01)、キャプチャした画像に含まれる人体領域を検出する(S02)。具体的には、S01の処理により図4(a)に示すような撮影画像(原画像)がキャプチャされ、その画像に対して、S02の処理により、図4(b)に示すように人体領域をシルエットとして検出している。なお、この例では、人体領域を白塗りとし、その他を黒塗りとしているが、本発明においてはこれに限定されるものではない。
次に、S02の処理の結果として人体領域があるか否かを判断し(S03)、人体領域がある場合(S03において、YES)、その人体領域に対して上述した人体の所定の部位(手先等)検出や、把持物体検出、特定物体推定、挙動認識等といったそれぞれの処理を行う。具体的には、S02の処理において検出された人体領域に対して、後述するように細線化処理を行い(S04)、細線化された人体情報を用いてグラフを作成し(S05)、手先検出を行う(S06)。なお、両手がカメラに撮影されていれば、両手の手先が抽出される。また、複数人数が撮影されていれば、その人物毎の手の手先が抽出される。
ここで、S06の処理において、手先があるか否かを判断し(S07)、手先がある場合(S07において、YES)、把持物体を検出し(S08)、検出された結果に基づいて、その把持物体の形状から、予め設定された刃物等の凶器情報と比較して、その特定物体を推定する(S09)。
図4を用いて具体的に説明すると、S04の処理により図4(c)に示すように人体領域のシルエットを圧縮して得られる中心点を結んで線分化を行い、細線化した情報に基づいてグラフ化を行い、その結果から画像中における手先部分の位置座標が取得される。
また、図4(d)に示すように、手先部分の位置座標と、上述したS04の処理における細線化により、手先領域よりも先又は周囲に細線化した部分が存在するか否かを判断し、細線化した部分が存在すれば把持物体を把持しているものとして、図4(e)に示すように、把持物体を検出する。また、S09の処理により、図4(f)に示すように、把持物体の形状等から特定物体を推定する。
更に、S09の処理が終了後、又はS07の処理において、手先がない場合(S07において、NO)、必要に応じて挙動認識を行い(S10)、その結果をディスプレイ等に表示する画面を生成し(S11)、生成した画面を表示する(S12)。なお、S10の処理では、1つ画像からだけではなく、例えば時系列の映像から選択された複数の画像における人体領域検出結果や手先検出結果、把持物体検出結果等の比較を行って挙動認識を行うことができる。また、手先がない場合にも人体領域の検出結果のみを用いて挙動認識を行うことができる。
また、S09の処理における特定物体の推定や、S10の処理における挙動認識において、不審者又は危険人物等であると判断された場合には、ユーザや管理センタ、警備員等に通知を行う(S13)。
ここで、S03の処理において人体領域がない場合(S03において、NO)、又はS13の処理が終了後、把持物体認識処理を終了するか否かを判断し(S14)、把持物体認識処理を終了しない場合(S14において、NO)、S01に戻り、次の対象画像をキャプチャして後続の処理を行う。また、ユーザ等からの終了指示等により把持物体認識処理を終了する場合(S14において、YES)、処理を終了する。
<グラフ化処理について>
ここで、上述したS05の処理におけるグラフ化処理について、図を用いて具体的に説明する。図5は、本実施形態におけるグラフ化処理を説明するための図である。
図5に示す例では、上述したS04の処理において細線化した情報に対し、その線分中における分岐点と、端点とを設定し、設定された分岐点と端点とを行列により表記することにより、グラフ化を行っている。
具体的には、図5(a)に示すように、行列の行を分岐点の番号とし、行列の列を分岐点と端点の番号とし、行列要素が0の場合には、「接続関係なし」とし、行列要素が1の場合には、「接続関係あり」として行列によるグラフ化を行う。
つまり、図5(a)の例では、分岐点の0番は、分岐点の1番、端点の0,1,2番と接続し、分岐点の1番は、分岐点の0番、端点の3番、4番と接続していることを意味している。
また、本実施形態におけるグラフ化処理では、グラフ化される値(行列要素)に対して重みを付与することができる。具体的には、図5(b)に示すように、カメラ等により撮影された映像から所定のフレーム画像をキャプチャし、キャプチャした画像から上述したように人体領域を検出し、検出された人体領域に対して細線化を行う。また、その細線化情報に基づいて上述したように分岐点及び端点からなる行列を用いてグラフ化を行う。
このとき、カメラの設置位置等に対応させて、人体領域を含む画像領域を更に複数の領域(ゾーン)に細分化し、細分化したデータに対して重み付けを付加してグラフ化(行列化)を行う。
図5(b)の例では、人体領域に対応する画像領域に対して、例えば、全体の縦の長さを基準に上から1/5のゾーンを頭部ゾーン、下から足部ゾーン、残りの領域を手部ゾーンとして3つのゾーンに細分化している。そして、細分化した頭部ゾーンの重みを1とし、手部ゾーンの重みを2とし、足部ゾーンの重みを3として、それぞれグラフとして反映させる。更に、分岐点の部分と端点との部分とで異なる数値(例えば、分岐点9、端点1等)にすることで、違いを明確にすることができる。このように、各ゾーン毎に予め設定した重みや点の種類毎に異なる値を付与することにより、そのグラフを参照するだけで、どの部分の端点であるかを容易に把握することができ、その部分から手先やその他の部位(例えば、頭、足等)を容易に検出することができる。また、より重要なゾーンで検出された端点又は分岐点には、高い重みを付加しておくことにより、重要なゾーン毎に端点や分岐点を管理することができる。
上述したように、本実施形態では、画像から抽出した人体領域から取得した画像からグラフ化した情報と、予めグラフ化した情報に基づいて手先を検出し、検出した手先位置に基づいて、上述したように、把持物体検出や特定物体推定、挙動認識等の処理を行うことができる。
<第2の実施例>
次に、把持物体認識処理の第2の実施例について説明する。第2の実施例では、上述した第1の実施例における手先検出時に、手先のエッジが略円形に見えることに着目し、そのエッジの形状から手先の位置を検出する。なお、エッジが略円形というのは、人が刃物の柄を握る場合等には、必ず手は丸くなるからである。これにより、より正確に手先の位置を取得することができる。
ここで、第2の実施例における把持物体認識処理手順について図を用いて説明する。図6は、第2の実施例における把持物体認識処理手順の一例を示すフローチャートである。図6において、まず上述した第1の実施例と同様に所定の位置に取り付けられたカメラ等の撮像手段により撮影された映像中に含まれる所定の画像をキャプチャし(S21)、キャプチャした画像に含まれる人体領域を検出する(S22)。
次に、S22の処理において、人体領域があるか否かを判断し(S23)、人体領域がある場合(S23において、YES)、検出された人体領域に対して細線化処理を行い(S24)、細線化された人体情報を用いてグラフを作成し(S25)、グラフの内容から手先と思われる部分を手先候補として検出する(S26)。具体的には、グラフ化した情報に対して手先として判定された端点から次の分岐点までの範囲を、手先含有候補として検出する。例えば、上述した図5(b)に示すように、撮影されるカメラの位置から推測される映されるべき人物の画像中における位置と、その人体領域に対する細線化情報とに基づいて、手先候補を検出する。なお、両手がカメラに撮影されていれば、両手の手先候補が抽出され、複数の人物が撮影されていれば、複数の人物に対する手先候補が抽出される。また、S26の処理において、手先があるか否かを判断する(S27)。
また、上述したS23の処理において、人体領域がある場合(S23において、YES)、S24の処理と平行して画像全体に対するエッジを検出し(S28)、更にエッジ化された画像の中から上述した人体領域に対応させて人体のエッジを検出する(S29)。なお、本実施形態におけるエッジとは、画像中における隣接画素間の色差や輝度差等に基づき、物体の輪郭部分等を抽出する処理等を意味している。
また、S27の処理において、手先候補がある場合(S27において、YES)、及びS29の処理が終了後、手先部分を抽出するための円検出を行う(S30)。具体的には、上述した手先含有候補(手先候補)の細線化した線上の注目点に中心を置き、その各線上の点からの人体領域のエッジが円形に近い箇所を走査して探していく。なお、走査方向は、胴体方向から手先に対して行う。そして、例えば、最初に検出された円形に近い部分を手先部分として検出する。なお、S28〜S30の処理は、上述した手先検出手段(部位検出手段)15により行われる処理である。
ここで、手先があるか否かを判断し(S31)、手先がある場合(S31において、YES)、把持物体を検出し(S32)、検出された結果に基づいて特定物体を推定する(S33)。
更に、S33の処理が終了後、又はS31の処理において、手先がない場合(S31の処理において、NO)、必要に応じて挙動認識を行い(S34)、その結果をディスプレイ等に表示する画面を生成し(S35)、生成した画面を表示する(S36)。また、S33の処理における特定物体の推定や、S34の処理における挙動認識において、不審者又は危険人物等であると判断された場合には、ユーザや管理センタ、警備員等に通知を行う(S37)。
ここで、S23の処理において、人体領域がない場合(S23において、NO)、S27の処理において、手先候補がない場合(S27において、NO)、又はS37の処理が終了後、把持物体認識処理を終了するか否かを判断し(S38)、把持物体認識処理を終了しない場合(S38において、NO)、S21に戻り、次の対象画像をキャプチャして後続の処理を行う。また、ユーザ等からの終了指示等により把持物体認識処理を終了する場合(S38において、YES)、処理を終了する。
<円検出処理について>
ここで、上述した第2の実施例における円検出処理について具体的に説明する。図7は、第2の実施例における円検出処理を説明するための一例を示す図である。図7の例では、上述した細線化処理により細線化された線分上に設定した所定の注目点を中心にして、予め設定された注目領域内に円又は円に近い形状があるか否かを判断し、円検出を行う。
具体的には、図7に示すように、ある点からのエッジ方向の角度に対して、領域内の全てのエッジ方向を、ヒストグラムに加算する。このとき、もしエッジの形状が円形であれば、全ての点のエッジ方向が注目点に対して90°となり、略円形であれば、80〜100度以内のヒストグラムの値が大きくなる。そのため、これらの結果を、注目点を細線化した線分上で移動させて計測していくことで、円形部分を検出することができる。
なお、注目領域内に円がない場合には、図7に示すように、各エッジと中心がなす角度のヒストグラム結果はバラバラとなる。
ここで、本実施形態では、例えば、加算値の値が予め設定された閾値以上のときにその部分が円形であると推測することができる。なお、閾値は、画質や画像中における人体領域の大きさ等により適宜変更することができる。また、円検出の際には、上述したグラフ化情報に基づいて胴体部分から手のほうに向けて注目点を移動していき、最初に円を検出した部分の注目点を手先の位置とする。これは、2番目以降の円検出は、把持物体である可能性が高いからである。なお、上述の処理は、画像中に含まれる全ての手先候補に対して行われる。
上述したように、第2の実施例における円検出処理を行うことで、画像中の人体に対する所定の部位(例えば、手先等)の位置を高精度に取得するこができる。なお、本実施形態において、手先は、握った状態でも開いた状態でも、対応する所定の形状を用いて容易に認識することができる。また、所定の形状は、認識対象の部位毎に設定されており、例えば足であれば足先の形状が設定され、頭であれば大きめの円形状が設定される。
<第3の実施例>
次に、把持物体認識処理の第3の実施例について説明する。第3の実施例では、上述した第1の実施例におけるグラフ作成後、そのグラフ化された人体情報に対して予め設定された人体のポーズに対応するモデルグラフとのマッチングを行い、一致しているグラフ化情報に対して手先検出を行う。これにより、より効率的且つ正確に手先の位置を取得することができる。
ここで、第3の実施例における把持物体認識処理手順について図を用いて説明する。図8は、第3の実施例における把持物体認識処理手順の一例を示すフローチャートである。図8において、まず上述した第1の実施例と同様に所定の位置に取り付けられたカメラ等の撮像手段により撮影された映像中に含まれる所定の画像をキャプチャし(S41)、キャプチャした画像に含まれる人体領域を検出する(S42)。次に、S42の処理において、人体領域があるか否かを判断し(S43)、人体領域がある場合(S43において、YES)、検出された人体領域に対して細線化処理を行い(S44)、細線化された人体情報を用いてグラフを作成し(S45)、作成されたグラフ化された情報と予め設定されたモデルグラフとのマッチング処理を行う(S46)。
次に、グラフが一致したか否かを判断し(S47)、一致した場合(S47において、YES)、その一致したモデルグラフに予め登録されている正確な手先位置情報から画像中の人体に対する手先を検出する(S48)。なお、S46〜S48の処理は、上述した手先検出手段(部位検出手段)15により行われる処理である。
ここで、手先があるか否かを判断し(S49)、手先がある場合(S49において、YES)、把持物体を検出し(S50)、検出された結果に基づいて特定物体を推定する(S51)。
更に、S51の処理が終了後、又はS49の処理において、手先がない場合(S49において、NO)、必要に応じて挙動認識を行い(S52)、その結果をディスプレイ等に表示する画面を生成し(S53)、生成した画面を表示する(S54)。また、S53の処理における特定物体の推定や、S54の処理における挙動認識において、不審者又は危険人物等であると判断された場合には、ユーザや管理センタ、警備員等に通知を行う(S55)。
ここで、S43の処理において人体領域がない場合(S43において、NO)、又はS55の処理が終了後、把持物体認識処理を終了するか否かを判断し(S56)、把持物体認識処理を終了しない場合(S56において、NO)、S41に戻り、次の対象画像をキャプチャして後続の処理を行う。また、ユーザ等からの終了指示等により把持物体認識処理を終了する場合(S56において、YES)、処理を終了する。
<モデルグラフマッチング処理ついて>
ここで、上述したモデルグラフマッチング処理について具体的に説明する。図9は、第3の実施例における手先部位認識処理を説明するための一例を示す図である。第3の実施例では、まず図9(a)に示す原画像に対して、図9(b)に示すように人体領域の検出を行い、その後、図9(c)に示すように、人体領域に対して細線化処理を行う。
次に、その細線化された情報と、予め蓄積手段13等に蓄積されたグラフマッチング用のモデルグラフデータベースに含まれる色々なポーズに対応する人体の細分化された情報とに基づいて、そのグラフ情報(行列)を基準としたマッチングを行い、図9(d)に示すように一致するグラフをモデルグラフデータベースから取得する。なお、モデルグラフデータベースには、グラフ毎に手先や頭、足等の部位情報も、図5(b)に示す重み付け処理により予め登録されているため、一致したグラフ情報から図9(e)に示すように、手先部分を容易且つ確実に取得することができる。
ここで、図10は、グラフマッチングの概念図を示す図である。図10に示すように、予め設定された人物の所定の動作パターンに対応する複数のモデルグラフが蓄積されたモデルグラフデータベースを用いて、グラフ化された情報に対してそれが人体領域であるか否かを正確に確認することができる。また、本実施形態では、各モデルグラフに予め正確な手、足、頭等の部位情報を設定しておき、その部位情報に基づいて、マッチングしたグラフから、その人体の手先部位等を高精度に取得することができる。
したがって、図10に示すように、モデルグラフデータベースを用いることで、例えば画像から得られたグラフ化データが、人体ではない場合やノイズ等で複雑に分岐した場合等のときに一致しないようにすることで、より高精度に人体の検出やその手先の位置や向き等の情報を取得することができる。
なお、上述したモデルグラフデータベースは、予め蓄積手段13に蓄積されていてもよく、送受信手段21を用いてインターネット等の通信ネットワークを介して、外部装置から取得してもよい。
上述したマッチングを行うことにより、特定の姿勢(手を挙げている等)を認識でき、人体検出時に誤って検出された領域を、無駄な処理することなく除外することができる。
なお、上述した図9,図10に示すようなモデルグラフは概念図であって、実際のモデルグラフのデータは、具体的には上述した行列等に基づいて登録されている。ここで、モデルグラフデータベースについて説明する。図11は、モデルグラフデータベースを説明するための図である。なお、図11(a)は、モデルグラフデータベースのデータ項目例を示し、図11(b)は、モデルグラフデータベースの具体的なデータ例を示している。
図11(a)に示すデータ項目としては、例えば、モデルグラフ番号によりモデルを識別する識別情報としての「ModelID」と、そのモデルの分岐点数を示す「branchnum」と、そのモデルのノード数(分岐点+端点数)を示す「nodenum」と、そのモデルのグラフ(例えば、図5(b)に示すような重み付き隣接行列)を示す「graph」と、モデル中の手先数を示す「handCount」等がある。また、図11(a)に示す項目に対するデータは、図11(b)に示すように、複数のモデルがデータベースに蓄積されている。なお、このデータの配列や数値の条件等については、本発明においては特に制限されるものではない。
例えば、手先を認識する際のモデルグラフマッチングでは、モデルグラフデータベースの構成要素のうち、「graph」は手、頭、足の情報を表すものであり、各部位を識別するための重み付けがされる。なお、重み付け方法は、上述したように、例えば、得られた人体領域を5等分し、上1/5を頭部ゾーン、下1/5を足部ゾーン、残りの中央部を手部ゾーンとし、細分化した領域を上から順に1〜3の重みを付与する。また、例えば分岐点同士の接続には、9を付与することもできる。
なお、上述したように、例えば人体領域を5等分する重み付け方法を用いた場合に、対象人物が手を挙げていると、頭部候補が2つとなり手の認識が難しくなるという問題がある。しかしながら、この場合には、上述した重み付けを行った細線化グラフと、予め用意したモデルグラフとのマッチングを行うことにより、特定の姿勢(手を挙げている等)を認識でき、人体検出時に誤って検出された領域を、無駄な処理することなく除外することができる。
ここで、対象人物の手が挙がっている場合の対策処理について、図を用いて説明する。図12は、対象人物の手が挙がっている場合の対応を説明するための図である。図12(a)には、手が挙がっている場合の細線化した状態を示しており、図12(b)は、拡張したモデルグラフデータベースの項目例を示している。図12(b)の項目例では、図11(a)のデータ例と比較して、挙手時の頭部位置決定処理用のパラメータである「head」と、手が上がっているモデルであることを示す「handsUP」等が追加されている。
つまり、図12の例では、手が挙がっているか否かを「handsUp」にて判別し、例えば、「handsUp」が1以上の時、「head」の値別に処理を行い、手先と頭部を分離する。つまり、図12(a)に示すように頭部ゾーンに2つの端点がある場合に、そのx方向(水平方向)を比較し、分岐点から離れた位置にある方を手先とするように設定する。
また、一例として、片方の手先が上がっている場合(handsUp:1)、0番目の分岐点のx座標値と頭部・手先候補を比較し、x座標値が近い方を頭部とするという処理を行うことで、手先と頭部を分ける。「head」には、どの分岐点と比較すべきかの情報を示している。手が挙がっている場合の対策処理は、マッチング処理の結果として、手を挙げているというパラメータが抽出した場合に上述した頭部・手先判別処理が行われる。なお、頭部・手先判別処理は、上述した手先検出手段(部位検出手段)15により行われる処理である。
上述したように、第3の実施例におけるモデルグラフマッチング処理を行うことで、特定の姿勢(手を挙げている等)を認識でき、人体検出時に誤って検出された領域を、無駄な処理することなく除外することができる。
<第4の実施例>
次に、把持物体認識処理の第4の実施例について説明する。第4の実施例では、上述した第3の実施例における手先検出時に、手先のエッジが略円形に見えることに着目し、そのエッジの形状から手先の位置を検出する。これにより、より正確に手先の位置を取得することができる。
ここで、第4の実施例における把持物体認識処理手順について図を用いて説明する。図13は、第4の実施例における把持物体認識処理手順の一例を示すフローチャートである。図13において、まず上述した第1の実施例等と同様に所定の位置に取り付けられたカメラ等の撮像手段により撮影された映像中に含まれる所定の画像をキャプチャし(S61)、キャプチャした画像に含まれる人体領域を検出する(S62)。次に、S62の処理において、人体領域があるか否かを判断し(S63)、人体領域がある場合(S63において、YES)、検出された人体領域に対して細線化処理を行い(S64)、細線化された人体情報を用いてグラフを作成し(S65)、作成されたグラフ化された情報と予め設定されたモデルグラフとのマッチング処理を行う(S66)。
次に、グラフが一致したか否かを判断し(S67)、一致した場合(S67において、YES)、その一致したモデルグラフに予め登録されている正確な手先位置情報から画像中の人体に対する手先候補を検出し(S68)、手先候補があるか否かを判断する(S69)。
また、上述したS63の処理において、人体領域がある場合(S63において、YES)、S64の処理と平行して画像全体に対するエッジを検出し(S70)、更にエッジ化された画像の中から上述した人体領域に対応させて人体のエッジを検出する(S71)。
ここで、S67の処理において、手先候補がある場合(S67において、YES)、及びS69の処理が終了後、手先部分を抽出するための円検出を行う(S72)。具体的には、上述した手先含有候補(手先候補)の細線化した線上の注目点に中心を置き、その各線上の点からの人体領域のエッジが円形に近い箇所を走査して探していく。なお、走査方向は、胴体方向から手先に対して行う。そして、例えば、最初に検出された円形に近い部分を手先部分として検出する。なお、S64〜S72の処理は、上述した手先検出手段(部位検出手段)15により行われる処理である。
ここで、手先があるか否かを判断し(S73)、手先がある場合(S73において、YES)、把持物体を検出し(S74)、検出された結果に基づいて特定物体を推定する(S75)。
更に、S75の処理が終了後、又はS73の処理において、手先がない場合(S73の処理において、NO)、必要に応じて挙動認識を行い(S76)、その結果をディスプレイ等に表示する画面を生成し(S77)、生成した画面を表示する(S78)。また、S77の処理における特定物体の推定や、S78の処理における挙動認識において、不審者又は危険人物等であると判断された場合には、ユーザや管理センタ、警備員等に通知を行う(S79)。
ここで、S63の処理において、人体領域がない場合(S63において、NO)、S67の処理において、グラフが一致していない場合(S67において、NO)、S69の処理において、手先候補がない場合(S69において、NO)、又はS79の処理が終了後、把持物体認識処理を終了するか否かを判断し(S80)、把持物体認識処理を終了しない場合(S80において、NO)、S61に戻り、次の対象画像をキャプチャして後続の処理を行う。また、ユーザ等からの終了指示等により把持物体認識処理を終了する場合(S80において、YES)、処理を終了する。
<第4の実施例における円検出について>
ここで、上述した第4の実施例における円検出処理について具体的に説明する。図14は、第4の実施例における円検出処理を説明するための一例を示す図である。上述した第2の実施例における円検出と同様に、細線化処理により細線化された線分上に設定した所定の注目点を中心にして、予め設定された注目領域内に円があるか否かを判断し、円検出を行うものであるが、更に第4の実施例では、グラフマッチングを行うことで、より正確な手先領域の円検出を行うものである。
具体的には、図14(a)に示すような原画像から、図14(b)に示すような人体領域の検出を行い、図14(c)に示すように細線化を行い、図14(d)に示すグラフマッチングを行い、そのマッチングにより検出されたモデルグラフから、図14(e)に示すように手先の候補として手先候補線を取得する。
また、第4の実施例では、原画像全体に対して図14(f)に示すようにエッジ検出を行い、検出された画面全体のエッジ情報から、図14(g)に示すように人体エッジを抽出し、抽出した人体エッジ情報と、手先候補情報とに基づいて、図14(h)に示すように手先の円検出を行う。
上述したように、第4の実施例によれば、人体エッジとグラフマッチングとを用いて効率的且つ高精度に手先の円検出を行うことができる。
<円検出手法について>
ここで、上述した円検出手法について、具体的に説明する。図15は、本実施形態における円検出手法の具体例を説明するための図である。
本実施形態における円検出手法では、例えば次の(ア)〜(エ)の例が考えられる。
(ア)エッジ検出→エッジの2値化→ヒストグラムに蓄積、判別を行う。
(イ)エッジ検出→エッジの2値化→エッジの細線化→ヒストグラムに蓄積、判別を行う。
(ウ)エッジ検出→エッジの2値化→エッジの細線化→エッジの円に対する占有度をヒストグラムに蓄積し、判別を行う。
(エ)細線化画像を用いて円の中心候補を絞り込んだ、上記(ア)〜(ウ)の方法を行う。ここで、上記(ア)〜(ウ)の具体的な処理について、以下に説明する。
<(ア)の手法について>
まず、上述したように画像全体のエッジを検出した後、有効なエッジのみを残すため、閾値処理等によりエッジを2値化する。その後、該当領域のエッジをヒストグラム化し、円判定を行う。ヒストグラムに加算する際は、エッジがある画素1つに対し、該当の角度に1加算する。2値化前のエッジの値を、ヒストグラムに加算してもよい。
このとき、図15(a)に示すように、原画像からエッジ検出を行った際には、エッジ強度情報を持ち、その後エッジの2値化を行った場合にはエッジか否かの情報を持つことになる。
<(イ)の手法について>
上述した(ア)の手法では、エッジ強度が高い場合等に円が2画素幅以上の線で構成されることでヒストグラムの加算値が増え、円らしい箇所が多く検出されてしまう可能性がある。そこで、(イ)の手法では、図15(b)に示すように、エッジを細線化し、1画素の線とすることで、円ではない箇所の無駄な検出を抑える。ここで、エッジの2値化及び細線化には、一般的な処理であるCannyのエッジ検出処理を用いているが、本発明においてはこれに限定されるものではない。また、(イ)の手法の場合、ヒストグラムに加算する際は、エッジがある画素1つに対し、該当の角度に1加算する。
<(ウ)の手法について>
上述した(イ)では、円の大きさが大きくなるほど、円を構成する画素数が増え、ヒストグラムの加算値が高くなる。一方、小さい円は加算値が少なくなり、票数に閾値を与えて円検出を行う場合に、小さい円を検出しにくくなる可能性がある。また、小さい円を検出するためには閾値を下げる必要があり、その結果、円ではないエッジの塊を誤って円として検出してしまう可能性がある。
そこで、(ウ)の手法では、注目領域の中心から注目する画素の距離を用い、注目画素が仮に真円を構成していると仮定したうえで、その注目画素が円周を占める割合(以下、「円占有度」という)をヒストグラムに加算する方法を用いる。これにより、大小の円を統合的に扱うことができ、円の大きさに関係なく円検出を行うことができる。
ここで、(ウ)の手法について、図15(c)等を用いて、更に具体的に説明する。まず定数として注目領域の中心から注目する画素までの距離をrとする。また、注目画素がエッジである場合、注目領域の中心をそのまま中心とした真円を構成していると仮定し、その注目画素が画素のサイズである「1」の長さ分円周を占めていることとする。このとき、半径がrである円の円周は、「2πr」である。したがって、注目画素の円占有度は、「1/2πr」である。このようにして算出した円占有度をヒストグラムに加算し、同様の処理を注目領域の全画素に対して行う。このとき、注目領域にある図形が、注目領域の中心をそのまま中心とするエッジの途切れていない真円であれば、理想的には2πr個エッジが存在し、図15(c)に示すように、ヒストグラムの値が1(つまり、円周を100%途切れなくエッジが並んでいる)と考えることができる。これにより、例えば、「円占有度が50%以上であれば円とする」等の閾値を用いて円の判別を行うことができる。
この方法では、注目領域にある図形が楕円形状の場合でも、円周をどの程度エッジで占めているかを把握し、他の領域との比較を行う際の有用な指標となる。楕円形状の場合、中心に近い(短軸に近い)エッジは占有度が大きくなり(1票の重み大)、逆に中心から遠い(長軸に近い)エッジは占有度が小さくなる(1票の重み小)。楕円が途切れていない場合は、円占有度が1に近似できる値になると考えられる。
ただし、円のどの位置にある場合でも円周を「1」占めていると仮定しているため、円が途切れていない場合に、円占有度が1を超える場合がある。つまり、円占有度を用いたヒストグラムを使う場合、エッジの2値化・細線化をすることで、より有効な処理が可能となる。
ここで、上述の(ウ)の処理手順についてフローチャートを用いて説明する。図16は、(ウ)の処理手順の一例を示すフローチャートである。図16において、まず上述したようにエッジを検出し(S81)、検出したエッジの2値化を行い(S82)、細線化を行う(S83)。
次に、注目領域分のループ処理を行う。注目領域分のループ処理としては、注目領域の画素分ループ処理として、まず注目している画素がエッジか否かを判断し(S84)、エッジである場合(S84において、YES)、上述したように円占有度を算出し(S85)、ヒストグラムに追加する(S86)。S86の処理が終了後、又は、S84の処理において、注目している画素がエッジでない場合(S86において、NO)、次の画素に対して同様の処理を行う。
画素分のループ処理が終了後、そのヒストグラムの結果から、その注目領域が円であるか否かを判断し(S87)、円でない場合(S87において、NO)、他の注目領域を設定し、その注目領域に対して同様の処理を行う。また、S87の処理において、その注目領域が円である場合(S87において、YES)、処理を終了する。
なお、上述の注目領域分のループ処理としては、例えば、予め設定された細線化画像の腕上を円の中心候補とし、胴体方向から手先方向までを対象としてループ処理を行うことができるが、本発明においてはこれに限定されるものではない。
また、上述の処理では、最初に円が検出された場合又は全領域で円が検出されなかった場合に終了しているが、本発明においてはこれに限定されるものではなく、例えば円検出された注目領域の位置を記憶し、更にループ処理を続けてもよい。
<第5の実施例>
次に、把持物体認識処理の第5の実施例について説明する。第5の実施例では、上述したような細線化画像を用いずに、シルエット画像を用いて把持の有無を認識する。これにより、処理内容を減らして迅速且つ正確に手先の位置を取得することができる。
ここで、第5の実施例における把持物体認識処理手順について図を用いて説明する。図17は、第5の実施例における把持物体認識処理手順の一例を示すフローチャートである。図17において、まず上述した第5の実施例と同様に所定の位置に取り付けられたカメラ等の撮像手段により撮影された映像中に含まれる所定の画像をキャプチャし(S91)、キャプチャした画像に含まれる人体領域を検出する(S92)。次に、S92の処理において、人体領域があるか否かを判断し(S93)、人体領域がある場合(S93において、YES)、検出された人体領域に対して上述した円検出を行う(S94)。
次に、S94の処理により得られた円検出処理の結果から手先があるか否かを判断し(S95)、手先がある場合(S95において、YES)、第5の実施例における把持物体検出を行い(S96)、検出された結果に基づいて特定物体を推定する(S97)。
更に、S97の処理が終了後、又はS95の処理において、手先がない場合(S95において、NO)、その結果を示す画面を生成し(S98)、生成した画面を表示する(S99)。また、S97の処理等において、特定物体を推定した結果、その把持物体が刃物等であり、その対象人物が不審者又は危険人物等であると判断された場合には、ユーザや管理センタ、警備員等に通知を行う(S100)。
次に、S100の処理が終了後、又はS93の処理において、人体領域がない場合(S93において、NO)、把持物体認識処理を終了するか否かを判断し(S101)、把持物体認識処理を終了しない場合(S101において、NO)、S91に戻り、次の対象画像をキャプチャして後続の処理を行う。また、ユーザ等からの終了指示等により把持物体認識処理を終了する場合(S101において、YES)、処理を終了する。
なお、第5の実施例においては、上述した第4の実施例に示すように、特定物体を推定した後に、必要に応じて挙動認識を行ってもよい。
ここで、第5の実施例における把持物体検出(S96)の具体例について図を用いて説明する。図18は、第5の実施例における把持物体の有無の認識手法について説明するための図である。なお、図18(a)は、把持物体が無い場合の手先付近のシルエット画像の一例を示し、図18(b)は、把持物体が有る場合の手先付近のシルエット画像の一例を示している。図18(a),(b)に示すように、手先の位置座標を中心として所定の半径の大きさに形成された円は、それぞれの画像で得られる人物領域よって、円と人物領域との交点(重複領域)数が変わる。そのため、第5の実施例では、この交点の数が複数の場合には、把持物体有りとして把持物体の有無を判断する。
なお、第5の実施例に係る処理では、例えば、シルエットの白黒のうち、人体領域を白領域とし、それ以外を黒領域とした場合に、上述した所定の円上を1周し、黒から白に変わる箇所をカウントすることで、重複領域の数を検出し、その検出結果により把持の有無を見分けることができる。つまり、第5の実施例では、把持物体検出手段16において、手先検出手段15により得られた手先領域の周囲に所定の画その集まり(例えば、白領域)が複数存在することを認識することで、把持物体を検出することができる。
ここで、上述のシルエットを利用した把持物体検出手段に代え、第1の実施例等で説明した、細線化の線分が手先領域の先又は周囲に存在することを利用する方法で、把持物体を検出してもよい。このとき、把持物体を検出する直前に細線化処理を行うこともでき、把持物体検出を行う前であれば、細線化処理を行うタイミングは問わない。つまり、細線化処理は、必要に応じて行えばよく、手先検出手段15等の前処理によって予め細線化処理が行われているのであれば、その結果を流用することもできる。更に、手先領域の周辺領域のみに細線化処理を行うことで、効率的に部位を認識してもよい。なお、上述した第1〜第5の実施例は、複数を組み合わせて実施することもできる。
<手先検出の実施例>
次に、上述した手先検出手法については、画像中に含まれる両方の手について同様の処理をそれぞれの手について行うことによりそれぞれの手先を検出することができるが、本実施形態においてはこれに限定されるものではなく、例えば検出された一方の手先から取得される情報に基づいて、未検出である他方の手先を検出することができる。その具体例について以下に説明する。図19は、手先検出の実施例を説明するための図である。
図19の例では、1つの画像中における同一人物の両手については、一方の手と他方の手は、その色情報や形状等の特徴が同一又は類似しているため、例えば検出された一方の手先領域の形状パターンや画像の色情報等の特徴を用いてテンプレートを生成し、生成したテンプレートに基づいて人体領域全体にマッチング処理を行い、最も一致する箇所を手先とする。
具体的に説明すると、まず検出した一方の手先からフィルタ情報を作成する。このフィルタ情報は、対象の画像に撮影されている人体を基準にした手先の大きさ、形状、位置等の手先情報を含んでいる。なお、図19の例では、撮影された人体の身長から推定される手先の大きさ、形状等から生成した円をフィルタとする。また、フィルタの内容は、検出した手先の画素値そのままとする。
次に、このフィルタ情報を用いてテンプレートマッチングを行う。図19では、得られた人体領域の最上部から、右側へ順にフィルタを移動し、その一致度が予め設定される閾値を超えた場合に、その部分を手先とする。
ここで、フィルタ情報に含まれる形状は、円の他、点、矩形、その他任意の形(楕円や長方形)、等、自由に設定することができる。また、フィルタ内の値は、検出した手先の画素値の他、肌色として規定した値を領域全体に分布させたり、手先座標上の画素値を領域全体に分布させたり、検出した手先領域の平均画素値を領域内に分布させる等を行うことができる。
また、テンプレートマッチングを行う箇所は、例えば、画像全体、人体領域内、人体領域内の手部ゾーン(手先があると重み付けした範囲)等が可能であり、予め設定された順序や位置に基づいて処理を行うことができる。
更に、本実施例において、類似度を数式により計算することもでき、その場合に計算する式は、一般的に以下に示す式(1)のようなRSSDを用い、算出されたRSSDが予め設定された値以上の場合には、一致であると判断することができる。なお、RSSDの「R」は類似度を示し、「SSD」は「Sum of Sqared Difference」の略であり、距離の算出方法が、差の二乗和を用いているという意味である。
ここで、式(1)におけるMはテンプレート画像の横の画素数を示し、Nはテンプレート画像の縦の画素数を示している。
なお、上述した数式は、本発明についてはこれに限定されるものではない。例えば、式(1)に示す距離は「ユークリッド距離」と呼ばれ、ユークリッド距離は画素同士の直線距離のことであるが、ユークリッド距離の他、「チェス盤距離」「市街地距離」等の考え方があり、本発明ではそれらを用いることも可能である。
また、別の手法として、閾値を越える画素を手先とする場合の他、最も一致度の高い箇所を手先とする方法もある。
更に、他の実施例としては、例えば、予め設定される矩形等の袖口形状に基づいて袖口位置を取得し、手先と袖口位置をペアにしたフィルタを行ったり、手先候補が多数現れた場合に、上述した円検出手法を用いて、最も円形度の高い(円らしい)箇所を手先とするといった処理を行うことができる。
<画面生成手段により生成される画面例>
次に、本実施形態における画面生成手段19により生成される画面例について、図を用いて説明する。図20は、本実施形態により生成される画面の一例を示す図である。
図20に示す画面40では、原画像41、細線化画像42、人体エッジ画像43、手先検出結果画像44等を一度に表示することができる。また、それぞれの画像を選択することで、その対象画像を拡大表示したり、時系列に映像を表示することもできる。なお、映像を表示する場合には、原画像41、細線化画像42、人体エッジ画像43、及び手先検出結果画像44は、それぞれ同期して同じ時間の内容が表示されることが好ましいが、少なくとも1つの画像みが異なった時間の内容を表示させてもよい。
また、本実施形態では、例えば図20に示す手先検出結果画像44のように、画像上に所定の文字情報(例えば、手先の座標や頭部等の部位情報、撮影時刻等)を表示させることができる。
更に、本実施形態における画面生成手段19により生成され画面の内容やレイアウト等については、本発明においてはこれに限定されるものではなく、例えば特定物体検出手段17により検出された特定物体の名称や通知手段20により通知された内容等を表示することもできる。
上述したように本発明によれば、撮影等により得られた映像や画像に含まれる人物が把持する把持物体等を高精度に認識することができる。具体的には、本発明によれば、人体検出から刃物認識まで全体を把握することができ、脅される人物の通報動作等を必要とせずに防犯システムを構築することができる。また、単一の防犯カメラのみで刃物強盗を認識可能な低コストの防犯システムが構築できる。
また、本発明における手先部位認識手法としては、単眼の防犯カメラ等を用い、3次元にせず手先位置を認識することができる。具体的には、本発明は、物を持っているか否かに関係なく、手の位置を取得することができるため、例えば把持物体解析に有効な手法となる。例えば、上述した円検出手法では、「(ア)エッジ検出→エッジの2値化→ヒストグラムに蓄積、判別を行う。」、「(イ)エッジ検出→エッジの2値化→エッジの細線化→ヒストグラムに蓄積、判別を行う。」、「(ウ)エッジ検出→エッジの2値化→エッジの細線化→エッジの円に対する占有度をヒストグラムに蓄積し、判別を行う。」等の各処理を行ったり、「(エ)細線化画像を用いて円の中心候補を絞り込んだ、(ア)〜(ウ)の方法を行う。」といった処理を行う。また、上述した細線化グラフでは、重み付けのあり/なし等の設定を行うことができ、更に上述した円検出手法と細線化グラフとを組み合わせることで、より認識精度を向上させることができる。
更に、本発明によれば、より詳細に手先の座標位置を検出できるため、把持物体解析に有効である。また、本発明によれば、手を向けている方向や手を挙げている等、人間の姿勢がわかるため、突き出し、万引き、暴力行為の予兆認識等に有効である。また、本発明によれば、ノイズに強く、また認識対象となる人物に認識のための動作やマーキングのものを付ける等、所定の条件を強要する必要がないため、容易に正確な把持物体の認識を行うことができる。
更に、本発明によれば、特定の姿勢(手を挙げている等)を認識でき、人体検出時に誤って検出された領域を、無駄な処理することなく除外することができる。
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。