(第1の実施形態)
〔1.動作判定装置の構成〕
まず、第1の実施形態に係る動作判定装置の構成について図1を参照して説明する。図1は、第1の実施形態に係る動作判定装置の構成の一例を示すブロック図である。
図1に示すように、第1の実施形態に係る動作判定装置1は、撮像装置10から入力される撮像画像に基づいて人物の動作を判定し、判定結果を外部装置へ出力する。
動作判定装置1は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。
動作判定装置1は、CPUがROMに記憶された駆動制御プログラムを、RAMを作業領域として使用して実行することにより機能する複数の処理部を備える。具体的には、動作判定装置1は、パラメータ変更部2と、抽出部3と、追跡部4と、判定部5とを備える。また、動作判定装置1は、記憶部6を備える。
なお、動作判定装置1が備える各処理部は、それぞれ一部または全部がASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
(撮像装置10について)
撮像装置10は、たとえば、CCD(Charge Coupled Device)やCIS(CMOS Image Sensor)等の撮像素子を内蔵するデジタルカメラである。撮像装置10は、所定のフレームレートで撮像した撮像画像の画像データ(以下、単に「撮像画像」と記載する)をパラメータ変更部2および抽出部3へ出力する。
(パラメータ変更部2について)
パラメータ変更部2は、後述する抽出部3および追跡部4の処理に用いられる各種のパラメータを、撮像画像の撮像位置から撮像画像中の人物までの距離に応じて変更する。具体的には、パラメータ変更部2は、距離推定部21と、抽出用パラメータ変更部22と、追跡用パラメータ変更部23とを備える。
距離推定部21は、撮像画像の撮像位置から撮像画像中の人物までの距離を推定する。一例として、距離推定部21は、撮像画像から人物の足部を検出し、検出した足部の位置(すなわち、人物の立ち位置)から人物までの距離を推定する。距離推定部21は、推定結果を距離情報として抽出用パラメータ変更部22および追跡用パラメータ変更部23へ出力する。なお、距離推定部21は、上記の距離推定処理を1フレームごとに行う。
ここでは、撮像画像に基づいて人物までの距離を推定する場合の例を示したが、距離推定部21は、スキャンレーザ、超音波センサ、ステレオカメラ、TOF(Time Of Flight)カメラ等から入力される情報に基づいて人物までの距離を推定してもよい。
また、動作判定装置1は、必ずしも距離推定部21を備えることを要さず、外部から距離情報を取得する構成であってもよい。
抽出用パラメータ変更部22は、距離推定部21から距離情報が入力されるごとに、後述する抽出部3の処理に用いられる各種のパラメータを距離情報に応じて変更し、変更後のパラメータを抽出部3へ出力する。
抽出部3の処理に用いられるパラメータには、たとえば、後述する領域設定部31により設定される処理対象領域R(図2B参照)の大きさ、動体検出部32による動体検出処理に用いられる検出用閾値、抽出処理部33による特徴点抽出処理に用いられる抽出用閾値および最大抽出特徴点数などが含まれ得る。
追跡用パラメータ変更部23は、距離推定部21から距離情報が入力されるごとに、後述する追跡部4の処理に用いられる各種のパラメータを距離情報に応じて変更し、変更後のパラメータを追跡部4へ出力する。
追跡部4の処理に用いられるパラメータには、たとえば、後述する追跡情報生成部41による処理において、複数の特徴点をクラスタリングする際の範囲、クラスタリングされる特徴点の最小数、クラスターの最小数、2フレーム間におけるクラスターを追跡する範囲などが含まれ得る。また、追跡部4の処理に用いられるパラメータには、たとえば、後述する蓄積部42による処理において、クラスターを複数フレームにわたって追跡する場合の追跡範囲も含まれ得る。
一例として、抽出用パラメータ変更部22および追跡用パラメータ変更部23は、記憶部6に記憶された変換情報61を用い、距離推定部21から入力される距離情報を各種のパラメータに変換する。変換情報61は、予め実験またはシミュレーションによって求めておいた距離情報と各パラメータとの関係を示す変換テーブルや変換マップ等の情報である。あるいは、抽出用パラメータ変更部22および追跡用パラメータ変更部23は、予め実験またはシミュレーションによって求めておいた距離情報と各パラメータとの関係を示す式またはその近似式を用いて距離情報からパラメータへの変換を行ってもよい。
このように、抽出部3の処理に用いられるパラメータを撮像位置から人物までの距離に応じて最適化することで、抽出部3は、特徴点を抽出する処理を撮像位置から人物までの距離に応じて適切に行うことができる。詳細については後述するが、たとえば、特徴点の抽出数が撮像位置から人物までの距離に応じて最適化されることで、必要以上に抽出された特徴点がノイズとなって動作の判定精度を低下させる事態を生じにくくすることができる。
また、追跡部4の処理に用いられるパラメータを撮像位置から人物までの距離に応じて最適化することで、追跡部4は、特徴点を追跡する処理を人物までの距離に応じて適切に行うことができる。詳細について後述するが、たとえば、対象物の追跡範囲が撮像位置から人物までの距離に応じて最適化されることで、対象物の追跡漏れを生じにくくすることができる。
(抽出部3について)
抽出部3は、撮像画像から対象物の特徴点を抽出する。具体的には、抽出部3は、領域設定部31と、動体検出部32と、抽出処理部33とを備える。
領域設定部31は、撮像装置10から入力される撮像画像に対して処理対象領域を設定する。処理対象領域とは、撮像画像中の人物の周囲に設定される領域である。
ここで、領域設定部31による領域設定処理について図2Aおよび図2Bを参照して説明する。図2Aおよび図2Bは、領域設定処理の一例を示す図である。図2Aおよび図2Bには、撮像画像X1に写り込んだ人物Hの周囲に処理対象領域が設定される様子を示している。
たとえば、図2Aに示すように、人物Hの足部の位置Pの情報が距離推定部21から領域設定部31に入力される。また、処理対象領域の大きさを示すパラメータが抽出用パラメータ変更部22から領域設定部31に入力される。そして、領域設定部31は、図2Bに示すように、抽出用パラメータ変更部22から入力されたパラメータによって示される大きさの処理対象領域Rを、距離推定部21から入力された足部の位置Pを基準に撮像画像X1上に設定する。
これにより、人物Hの周りを囲む処理対象領域Rが撮像画像X1上に設定され、動体検出部32以降の各処理部によって実行される処理は、撮像画像X1のうち処理対象領域R内の情報に基づいて行われる。
このように、人物Hの周囲に処理対象領域Rを設定することにより、撮像画像X1に写り込んだ人物H以外の物体から受けるノイズの影響を低減することができる。また、処理対象領域Rを設定することで、処理を要する画素の数が減るため、処理の効率化を図ることができる。
処理対象領域Rの大きさは、距離情報に応じて最適化される。具体的には、撮像位置の比較的近くにいる人物は、撮像位置から比較的遠くにいる人物よりも見かけ上大きく撮像画像に写り込む。したがって、処理対象領域Rの大きさは、撮像位置に対して人物が近づくほど大きくなり、遠ざかるほど小さくなるように、抽出用パラメータ変更部22によって変更される。
このように、処理対象領域Rの大きさを距離情報に応じて最適化することで、たとえば、処理対象領域Rの大きさを固定とした場合と比較し、人物H以外の物体によるノイズの影響をさらに低減することができるとともに、処理効率の更なる向上を図ることができる。
動体検出部32は、処理対象領域R内において動く物体(以下、「動体」と記載する場合もある)を検出する。
動体の検出手法としては、たとえば、フレーム間差分法を用いることができる。フレーム間差分法とは、時間的に前後する複数の撮像画像、たとえば、現在のフレームの撮像画像とその直前のフレームの撮像画像との画素値を比較して変化箇所を特定する方法である。動体検出部32は、画素値の変化量が検出用閾値を超えた箇所およびその周囲の領域を動体として検出する。
検出用閾値は、抽出用パラメータ変更部22から入力されるパラメータの一つであり、上述したように距離情報に応じて最適化される。具体的には、撮像位置の比較的近くにいる人物の動き(すなわち、2フレーム間における画素値の変化量)は、撮像位置から比較的遠くにいる人物の動きよりも見かけ上大きくなる。したがって、検出用閾値は、撮像位置に対して人物が近づくほど大きくなり、遠ざかるほど小さくなるように、抽出用パラメータ変更部22によって変更される。
このように、検出用閾値を距離情報に応じて最適化することで、たとえば、検出用閾値が固定である場合と比較して、動体の検出精度を向上させることができる。
なお、領域設定部31は、フレーム間差分法以外の手法を用いて動体を検出してもよい。たとえば、撮像装置10が固定的に設置される場合には、背景差分法を用いて動体を検出することも可能である。背景差分法とは、基準とする画像を予め用意しておき、撮像装置10から入力される撮像画像と基準とする画像との画素値を比較して変化箇所を特定する手法である。
抽出処理部33は、動体検出部32によって検出された動体から特徴点を抽出する。特徴点を抽出する手法としては、たとえば、Harrisコーナー検出法を用いることができる。Harrisコーナー検出法は、撮像画像中のコーナー(角部)を特徴点として検出する手法の一種である。
抽出処理部33は、Harrisコーナー検出法により算出される値を抽出用閾値と比較して抽出用閾値よりも大きければ、その値に対応する箇所を特徴点として抽出し、抽出した特徴点の位置等の情報を追跡部4へ出力する。
抽出用閾値は、抽出用パラメータ変更部22から入力されるパラメータの一つであり、上述したように距離情報に応じて最適化される。したがって、第1の実施形態に係る動作判定装置1によれば、抽出用閾値が固定である場合と比較して、特徴点をより適切に検出することができる。
この点について図3、図4Aおよび図4Bを参照して説明する。図3は、撮像位置から人物Hまでの距離がD1である撮像画像から抽出される特徴点の一例を示す図である。また、図4Aおよび図4Bは、撮像位置から人物Hまでの距離がD1よりも短いD2である撮像画像から抽出される特徴点の一例を示す図であり、図4Aには抽出用閾値を固定とした場合の例を、図4Bには抽出用閾値を距離情報に応じて変更した場合の例をそれぞれ示している。
図3に示すように、撮像位置から人物Hまでの距離がD1(たとえば、2メートル)である撮像画像X2に対し、距離D1用の抽出用閾値を用いて特徴点を抽出する処理を行った結果、最適な数(たとえば、5個)の特徴点Fが抽出されると仮定する。
この場合において、距離D1用の抽出用閾値をそのまま用い、図4Aに示すように、撮像位置から人物Hまでの距離がD2(たとえば、1メートル)である撮像画像X3から特徴点を抽出する処理を行ったとする。
この場合、抽出される特徴点の数は、最適な数である5個よりも多くなる。これは、人物Hが撮像位置に近づくほどその人物Hの輪郭が複雑化する結果、コーナーとして検出される箇所が多くなるためである。抽出される特徴点の数が最適な数よりも多くなると、ノイズの影響が大きくなり、動作の判定精度が低下するおそれがある。
これに対し、第1の実施形態に係る動作判定装置1では、抽出用閾値が距離情報に応じて最適化される。具体的には、人物Hまでの距離がD2である場合の抽出用閾値は、人物Hまでの距離がD1である場合の抽出用閾値よりも小さくなる。このように、人物Hまでの距離がD2である場合には、距離D2に適した抽出用閾値を用いて特徴点を抽出することで、図4Bに示すように、撮像位置から人物Hまでの距離によらず、最適な数の特徴点を抽出することができる。したがって、第1の実施形態に係る動作判定装置1によれば、撮像位置から人物Hまでの距離が変化した場合の動作の判定精度の低下を抑制することができる。
なお、抽出処理部33は、Harrisコーナー検出法により算出された値が抽出用閾値を超えた箇所の数が、抽出用パラメータ変更部22から入力される最大抽出特徴点数を超える場合には、抽出する特徴点の数を最大抽出特徴点数に制限する処理を行う。この最大抽出特徴点数も、抽出用パラメータ変更部22から入力されるパラメータの一つであり、上述したように距離情報に応じて最適化される。
ここでは、抽出処理部33が、Harrisコーナー検出法を用いて特徴点を抽出する場合の例について説明したが、抽出処理部33は、Harrisコーナー検出法に限らず、たとえば、FAST、DoG、SIFT、SURFといった他の手法を用いて特徴点を抽出してもよい。
(追跡部4について)
追跡部4は、抽出部3によって抽出された特徴点を追跡する。具体的には、追跡部4は、追跡情報生成部41と、蓄積部42とを備える。
追跡情報生成部41は、時間的に前後する2つの撮像画像からそれぞれ抽出される特徴点に基づき、2フレーム間における対象物の移動方向を示す追跡情報を生成する。
ここで、追跡情報生成部41による追跡情報生成処理の一例について図5を参照して説明する。図5は、追跡情報生成処理の一例を示す図である。
図5に示すように、追跡情報生成部41は、まず、複数の特徴点Fを一つのかたまり(クラスターC)と見なすクラスタリング処理を行う。
クラスタリングの手法としては、たとえば、Ward法を用いることができる。Ward法では、まず、クラスタリングの対象となる複数(図の例では5個)の特徴点F間のユークリッド距離をそれぞれ算出する。つづいて、最小距離にある2個の特徴点Fを1個のクラスターとし、2個の特徴点Fの重心をこのクラスターの位置とする。つづいて、1個にまとめたクラスターを含めた各クラスター間のユークリッド距離を算出し、最小距離にある2個のクラスターをまとめて1個のクラスターとする。以上の処理を、複数の特徴点Fが人体の部位(手、足、頭など)ごとに1個のクラスターCとなるまで繰り返す。これにより、人体の部位(手、足、頭など)ごとに1個のクラスターCが得られる。
追跡情報生成部41は、クラスタリングの最大範囲(クラスターの最大サイズ)、最小特徴点数、最小クラスター数といった各種のパラメータを用いて上記のクラスタリング処理を実行する。これらのパラメータは、追跡用パラメータ変更部23から入力されるパラメータの一部であり、上述したように距離情報に応じて最適化される。
これにより、第1の実施形態に係る動作判定装置1では、撮像位置から人物までの距離に応じた適切なクラスターCを得ることができる。たとえば、撮像位置から人物までの距離が遠いほど、クラスタリングの最大範囲を小さくし、最小特徴点数を少なくすることで、対象物(たとえば、手)以外の物の特徴点がクラスターCに含まれ難くすることができる。
つづいて、追跡情報生成部41は、クラスターCの2フレーム間の動きを追跡する処理を行う。
追跡手法としては、たとえば、Lucas−Kanade法を用いることができる。Lucas−Kanade法は、2つの画像の対応点を探索してその速度ベクトルを求める手法である。追跡情報生成部41は、Lucas−Kanade法を用いてクラスターCの2フレーム間における移動方向および移動速度の情報を含む追跡情報を生成し、生成した追跡情報を蓄積部42へ出力する。
なお、追跡情報生成部41は、Lucas−Kanade法に限らず、たとえば、ブロックマッチング法等の他の手法を用いてクラスターCの追跡を行ってもよい。
ここで、追跡情報生成部41は、2フレーム間におけるクラスターCを追跡する範囲(以下、「追跡領域」と記載する)を設定し、設定した追跡領域内においてクラスターCの追跡を行う。第1の実施形態に係る動作判定装置1では、登録された動作(以下、「登録ジェスチャ」と記載する)の動作方向に幅広い追跡領域が用いられる。この点について図6Aおよび図6Bを参照して説明する。
図6Aに示すように、登録ジェスチャとして、たとえば、手を上げて下げる動作が登録されているとする。この場合、追跡情報生成部41は、登録ジェスチャの動作方向である上下方向に幅広い矩形状の追跡領域Wを対象物(ここでは、手)の周囲に設定する。
図6Bに示すように、追跡情報生成部41は、設定した追跡領域W内においてクラスターCの追跡を行う。たとえば、追跡情報生成部41は、現在のフレームにおけるクラスターCの位置を基準に追跡領域Wを設定し、設定した追跡領域W内に存在する1フレーム前のクラスターC(破線で示したクラスターC)と現在のフレームのクラスターC(実線で示したクラスターC)とを対応付けることによって追跡情報を生成する。
このように、追跡情報生成部41は、クラスターCの追跡を、登録ジェスチャの動作方向に応じた方向に幅広い追跡領域W内において行うことにより、対象物を追跡し損ねる事態を生じにくくすることができる。また、追跡領域Wは、言い換えれば、登録ジェスチャの動作方向と直交する方向に幅狭の領域でもあるため、対象物以外の物の影響を受けにくくすることができる。
追跡情報生成部41は、図6Aに示すように、複数フレーム間においてクラスターCを追跡する範囲(以下、「ジェスチャ領域Z」と記載する)を設定し、設定したジェスチャ領域ZにおいてクラスターCの追跡を行う。言い換えれば、追跡情報生成部41は、ジェスチャ領域Zから外れたクラスターCについては追跡を行わない。このジェスチャ領域Zも、追跡領域Wと同様に、登録ジェスチャの動作方向に幅広い形状を有する。したがって、対象物を追跡し損ねる事態を生じにくくすることができる。また、対象物以外の物の影響を受けにくくすることができる。
追跡領域Wおよびジェスチャ領域Zは、追跡用パラメータ変更部23から入力されるパラメータの一つであり、上述したように、距離情報に応じて最適化される。具体的には、追跡領域Wおよびジェスチャ領域Zは、人物Hが撮像位置に近づくほど大きくなり、遠ざかるほど小さくなる。このように、距離情報に応じて追跡領域Wおよびジェスチャ領域Zの大きさを最適化することにより、追跡領域Wおよびジェスチャ領域Zの大きさを固定とした場合と比較して、対象物を追跡し損ねる事態がより生じにくくなるとともに、対象物以外の物の影響をより受けにくくすることができる。
ここで、登録ジェスチャに関する情報は、登録ジェスチャ情報62として記憶部6に記憶されている(図1参照)。登録ジェスチャ情報62は、たとえば、登録ジェスチャに対応する人体の部位(手、足、頭など)、追跡領域Wの形状、ジェスチャ領域Zの形状および後述する登録情報群等の情報を含み得る。
一例として、追跡情報生成部41は、距離推定部21によって検出される人物の足部の位置から、その人物の手や頭といった各部位の存在範囲を予測し、予測した存在範囲ごとに、その部位に対応付けられた追跡領域Wおよびジェスチャ領域Zを設定する。たとえば、動体検出部32によって検出された動体が「手」の存在範囲に含まれる場合、追跡情報生成部41は、対象物「手」に対応付けられた登録ジェスチャを登録ジェスチャ情報62から特定し、特定した登録ジェスチャに対応する追跡領域Wおよびジェスチャ領域Zを対象物「手」の周囲に設定する。
対象物「手」に対応付けられた登録ジェスチャが複数登録されている場合、追跡情報生成部41は、対象物「手」に対応付けられた各登録ジェスチャにそれぞれ対応する複数の追跡領域Wおよびジェスチャ領域Zを対象物「手」の周囲に設定し、それぞれの領域についてクラスターCの追跡を行う。たとえば、対象物「手」に対し、上述した「手を上げて下げる動作」の他に、「手を横に伸ばす動作」が登録ジェスチャとして登録されているとする。この場合、追跡情報生成部41は、「手を上げて下げる動作」に対応する上下方向に幅広い追跡領域Wおよびジェスチャ領域Zと、「手を横に伸ばす動作」に対応する左右方向に幅広い追跡領域Wおよびジェスチャ領域Zとを対象物「手」の周囲に設定し、設定した領域ごとにクラスターCの追跡を行う。
蓄積部42は、追跡情報生成部41によって生成された追跡情報を時系列に蓄積した追跡情報群を生成する。
具体的には、蓄積部42は、図示しないバッファに複数フレーム分の追跡情報を時系列に蓄積し、蓄積した複数フレーム分の追跡情報を「追跡情報群」として判定部5の比較部51に出力する。蓄積部42は、この処理を追跡情報生成部41から追跡情報が入力されるごとに実行する。すなわち、蓄積部42は、追跡情報生成部41から新たな追跡情報が入力されると、バッファに蓄積されている追跡情報のうち最も古いものを破棄し、追跡情報生成部41から入力された新たな追跡情報をバッファに追加する。そして、蓄積部42は、バッファに記憶された追跡情報群を判定部5へ出力する。
蓄積部42は、上記の処理を登録ジェスチャごとに実行する。なお、蓄積するフレーム数は、登録ジェスチャごとに異ならせてもよい。
(判定部5について)
判定部5は、追跡部4による特徴点の追跡結果に基づいて登録ジェスチャが行われたか否かを判定する。かかる判定部5は、比較部51と、静止判定部52とを備える。
比較部51は、蓄積部42から追跡情報群が入力されるごとに、入力された追跡情報群と、記憶部6に記憶された登録ジェスチャ情報62に含まれる登録情報群とを比較する。
ここで、比較部51による比較処理について図7を参照して説明する。図7は、比較処理の一例を示す図である。
図7に示すように、追跡情報群は、複数フレーム(ここでは、9フレーム)分の追跡情報を時系列に蓄積した情報である。図7では、理解を容易にするために、最も古い追跡情報T1から最新の追跡情報T9までを紙面左側から順に並べたものを追跡情報群として示している。また、登録情報群は、登録ジェスチャに対応付けて予め登録される情報であって、登録ジェスチャが理想的に行われたと仮定した場合に得られる仮想的な追跡情報を複数フレーム分蓄積した情報である。登録情報群のフレーム数は、必ずしも追跡情報群のフレーム数と同数でなくてもよく、追跡情報群のフレーム数と異なるフレーム数であってもよい。
比較部51は、追跡情報群と登録情報群とを比較し、これらの類似度(尤度)を算出する。そして、比較部51は、算出した類似度が閾値以上である場合には、登録ジェスチャが行われたと仮判定する。仮判定の手法としては、たとえば、DP(Dynamic Programming)マッチング法を用いることができる。比較部51は、この仮判定処理を登録ジェスチャごとに実行する。
このように、第1の実施形態に係る動作判定装置1では、複数の追跡情報を時系列に蓄積した追跡情報群と予め登録された登録情報群との比較結果に基づいて登録ジェスチャが行われたか否かを仮判定する。すなわち、第1の実施形態に係る動作判定装置1では、複数フレーム分の追跡情報を一つのかたまり(追跡情報群)として、予め登録された登録情報群と比較することとしたため、一つの追跡情報から動作を判定する場合と比較して、登録ジェスチャが行われたか否かを精度よく仮判定することができる。
静止判定部52は、比較部51によって登録ジェスチャが行われたと仮判定された後、対象物が所定フレーム静止しているか否かを判定する。
ここで、静止判定部52による静止判定処理について図8を参照して説明する。図8は、静止判定処理の一例を示す図である。なお、図8には、図7に示す追跡情報群から4フレーム後の追跡情報群を示している。
一例として、静止判定部52は、比較部51によって登録ジェスチャが行われたと仮判定された場合に、その後に追跡部4から入力される追跡情報群を監視する。そして、図8に示すように、クラスターCの移動量が閾値以下であることを示す追跡情報、たとえば、クラスターCの位置が変化していないことを示す追跡情報T10〜T13が所定フレーム数(たとえば、4フレーム)連続した場合に、対象物が静止していると判定する。
そして、判定部5は、静止判定部52によって対象物が静止していると判定された場合に、登録ジェスチャが行われたことを判定し、判定結果を外部へ出力する。
このように、判定部5は、追跡情報群と登録情報群との類似度が閾値以上であると判定した後、対象物が静止しているか否かを判定し、静止していると判定したならば、登録情報群に対応する動作が行われたと判定する。これにより、「登録ジェスチャを意図した動作」と、一連の動作の中にたまたま含まれる「登録ジェスチャに似た動作」とを切り分けることができるため、登録ジェスチャの誤判定を低減することができる。
なお、ここでは、静止判定部52が、追跡情報群に基づいて静止判定を行う場合の例について説明したが、静止判定の手法は、これに限定されない。たとえば、静止判定部52は、比較部51によって登録ジェスチャが行われたと仮判定された後、動体検出部32によって動体が検出されない期間が所定フレーム数継続した場合に、対象物が静止していると判定してもよい。
なお、判定部5は、静止判定部52による静止判定処理を必ずしも実行することを要しない。すなわち、判定部5は、比較部51による仮判定結果を最終的な判定結果として外部装置へ出力するようにしてもよい。この場合、判定部5は、静止判定部52を備えない構成であってもよい。
(記憶部6について)
記憶部6は、たとえば、RAM、フラッシュメモリ等の半導体メモリ素子、または、HDD(Hard Disk Drive)、光ディスク等の記憶装置であり、変換情報61と、登録ジェスチャ情報62とを記憶する。
変換情報61は、予め実験またはシミュレーションによって求めておいた距離情報と各パラメータとの関係を示す変換テーブルや変換マップ等の情報である。また、登録ジェスチャ情報62は、登録ジェスチャに対応する人体の部位(手、足、頭など)、追跡領域Wの形状、ジェスチャ領域Zの形状および登録情報群等の情報を含む。
〔2.動作判定装置の具体的動作〕
次に、上述した動作判定装置1の具体的動作について図9を参照して説明する。図9は、パラメータ変更部2、抽出部3、追跡部4および判定部5が実行する処理の手順の一例を示すフローチャートである。
図9に示すように、パラメータ変更部2の距離推定部21は、撮像装置10から入力される撮像画像に基づいて距離情報を生成する(ステップS101)。つづいて、パラメータ変更部2の抽出用パラメータ変更部22および追跡用パラメータ変更部23は、抽出部3および追跡部4の処理に用いられる各種のパラメータを距離情報に応じて変更する(ステップS102)。
つづいて、抽出部3の領域設定部31は、抽出用パラメータ変更部22から入力される変更後のパラメータを用い、撮像装置10から入力される撮像画像に対して処理対象領域R(図2B参照)を設定する(ステップS103)。
つづいて、抽出部3の動体検出部32は、抽出用パラメータ変更部22から入力される変更後のパラメータを用い、処理対象領域Rの中から動体を検出し(ステップS104)、抽出処理部33は、動体検出部32によって検出された動体から特徴点を抽出する(ステップS105)。
つづいて、追跡部4の追跡情報生成部41は、追跡用パラメータ変更部23から入力される変更後のパラメータを用い、抽出処理部33によって抽出された複数の特徴点をクラスタリングして(ステップS106)、2フレーム間におけるクラスターCの追跡情報を生成する(ステップS107)。
つづいて、追跡部4の蓄積部42は、追跡情報生成部41によって生成された追跡情報を時系列に蓄積した追跡情報群を生成する(ステップS108)。
つづいて、比較部51は、追跡情報群と登録情報群との類似度を算出し、算出した類似度が閾値以上であるか否かを判定して(ステップS109)、閾値以上であると判定した場合には(ステップS109,Yes)、処理をステップS110へ進める。
ステップS110において、静止判定部52は、対象物が所定フレーム数以上静止しているか否かを判定する。そして、静止判定部52は、対象物が所定フレーム数以上静止していると判定した場合には(ステップS110,Yes)、判定結果を外部装置へ出力する(ステップS111)。
ステップS111の処理を終えても、たとえば外部装置から終了指示を受け付けていない場合(ステップS112,No)、ステップS109において類似度が閾値以上でない場合(ステップS109,No)またはステップS110において対象物が所定フレーム数以上静止していない場合(ステップS110,No)、動作判定装置1は、処理をステップS101へ戻す。動作判定装置1は、ステップS101〜S111の処理をたとえば外部装置から終了指示を受け付けるまで繰り返す。ステップS111の処理を終えて、たとえば外部装置から終了指示を受け付けた場合(ステップS112,Yes)、動作判定装置1は、一連の処理を終了する。
〔3.変形例〕
動作判定装置1は、対象物に対して複数の登録ジェスチャが対応付けられている場合に、追跡情報を用いて登録ジェスチャの絞り込みを行ってもよい。かかる点について図10Aおよび図10Bを参照して説明する。図10Aおよび図10Bは、変形例に係る絞り込み処理の一例を示す図である。
図10Aに示すように、たとえば、対象物「手」に対し、「手を上げて下げる動作」と「手を横に伸ばす動作」とが登録ジェスチャとして登録されているとする。上述したように、「手を上げて下げる動作」には上下方向に幅広い追跡領域W1が設定され、「手を横に伸ばす動作」には左右方向に幅広い追跡領域W2が設定される。
ここで、人物Hが、手を上げる動作を行ったとすると、上向きのベクトルをもった追跡情報が多く蓄積されることとなる。そこで、図10Bに示すように、動作判定装置1は、複数の追跡情報または追跡情報群から人物Hの動作を予測することにより、登録ジェスチャを絞り込んでもよい。すなわち、上向きのベクトルをもった追跡情報が多い場合には、「手を上げて下げる動作」の登録ジェスチャおよび「手を横に伸ばす動作」の登録ジェスチャのうち、「手を横に伸ばす動作」の登録ジェスチャを判定対象から除外するようにしてもよい。
このように、複数の登録ジェスチャの中から判定対象とする登録ジェスチャを絞り込むことで、処理負荷を抑えることができる。
上述してきたように、第1の実施形態に係る動作判定装置1は、抽出部3と、追跡部4と、判定部5とを備える。抽出部3は、撮像画像から対象物の特徴点を抽出する。追跡部4は、時間的に前後する撮像画像からそれぞれ抽出される特徴点に基づき、対象物の移動方向を示す追跡情報を生成する。判定部5は、複数の追跡情報を時系列に蓄積した追跡情報群と対象物の動作に対応付けて予め登録された登録情報群との比較結果に基づき、当該動作が行われたか否かを判定する。
よって、第1の実施形態に係る動作判定装置1によれば、一例としては、複数フレーム分の追跡情報を一つのかたまり(追跡情報群)として、予め登録された登録情報群と比較することにより、一つの追跡情報から動作を判定する場合と比較して、登録情報群に対応する動作が行われたか否かを精度よく判定することができる。
なお、上述した第1の実施形態では、動作判定装置1を用いて人物の動作を判定する場合の例について説明したが、動作判定装置1は、人物以外の動作の判定に用いてもよい。たとえば、動作判定装置1は、踏切やETCレーンに設置される遮断機の動作の判定に用いることができる。この場合、動作判定装置1は、遮断機が備える遮断桿を対象物として、遮断桿が降下する動作や上昇する動作が行われたか否かを判定する。その他、動作判定装置1は、犬猫などの動物やロボット等の動作の判定に用いることもできる。
(第2の実施形態)
次に、第2の実施形態について、図11〜図13Bを参照して説明する。なお、以下の説明では、既に説明した部分と同様の部分については、既に説明した部分と同一の符号を付し、重複する説明を省略する。同じ符号が付された複数の構成要素は、全ての機能及び性質が共通するとは限らず、各実施形態に応じた異なる機能及び性質を有していても良い。
まず、第2の実施形態に係る動作判定装置の構成について図11および図12を参照して説明する。図11は、第2の実施形態に係る動作判定装置の構成の一例を示すブロック図である。また、図12は、人物特定部の構成の一例を示すブロック図である。
図11に示すように、第2の実施形態に係る動作判定装置1Aは、撮像画像に含まれる人物の中から、動作判定の対象となる人物(以下、対象人物と記載する)を特定する人物特定部7をさらに備える。
人物特定部7は、図12に示すように、一例として、人物検出部71と、履歴生成部72と、特定処理部73とを備える。
人物検出部71は、撮像画像に含まれる人物の検出および追跡を行う。人物を検出および追跡する手法は、たとえばパターン認識によるものなど何れの従来技術を用いても構わない。
なお、人物検出部71は、顔や手といった人物の一部を検出するのではなく、人物全体を検出するものとする。また、人物検出部71は、撮像装置10から撮像画像が入力されるごとに、人物を検出および追跡する処理を行う。
履歴生成部72は、人物検出部71によって検出された人物の行動履歴を生成する。たとえば、履歴生成部72は、各撮像画像から、人物検出部71によって検出された人物の体の向き、撮像画像における位置ならびに大きさ、視線等の情報を抽出する。また、履歴生成部72は、時間的に前後する複数の撮像画像から、人物検出部71によって検出された人物の移動方向、動いている状態か静止している状態かの別等の情報を抽出する。
そして、履歴生成部72は、抽出したこれらの情報を含む行動履歴63を生成して記憶部6Aに記憶させる。これにより、記憶部6Aには、人物ごとの行動履歴63が蓄積される。なお、人物検出部71は、必ずしも上述した全ての情報を抽出することを要しない。
特定処理部73は、記憶部6Aに記憶された行動履歴63と行動パターン登録情報64とを比較し、これらの類似度に基づいて対象人物を特定する。行動パターン登録情報64は、これから登録ジェスチャを行おうとする人物が登録ジェスチャを行う前に取ると予想される行動パターンに関する情報であり、予め記憶部6Aに登録される。
ここで、人物特定部7による人物特定処理の一例について図13Aおよび図13Bを参照して説明する。図13Aおよび図13Bは、人物特定処理の一例を示す図である。
図13Aに示すように、撮像装置10によって撮像された撮像画像X5に複数の人物H1〜H3が写り込んでいるとする。この場合、人物特定部7は、撮像画像X5から人物H1〜H3を検出し、各人物H1〜H3の行動履歴63を生成して記憶部6Aに記憶させる。
つづいて、人物特定部7は、人物H1〜H3ごとに、行動履歴63と行動パターン登録情報64との比較を行い、これらの類似度が閾値を超える人物を対象人物として特定する。
たとえば、これから登録ジェスチャを行おうとする人物は、撮像装置10に対して正面を向いている可能性が高い。そこで、人物特定部7は、体が所定時間正面を向いている人物を対象人物として特定してもよい。
この場合、行動パターン登録情報64には、「体が所定時間正面を向いていること」の項目が含まれる。これにより、撮像画像に含まれる人物H1〜H3のうち、体が正面を向いている人物H1を対象人物として特定することができる。
人物H1が対象人物として特定された場合、人物特定部7以降の各処理部によって実行される処理は、人物H1についてのみ行われる。具体的には、パラメータ変更部2は、撮像画像の撮像位置から人物H1までの距離を推定し、推定した距離に応じて抽出部3および追跡部4の処理に用いられる各種のパラメータを変更する。また、抽出部3は、人物H1の周囲に処理対象領域R1を設定し、設定した処理対象領域R1において特徴点の抽出を行う(図13B参照)。
一方、人物特定部7以降の各処理部によって実行される処理は、対象人物として特定されなかった人物H2,H3については実行されない。したがって、撮像画像に複数の人物が含まれる場合における処理負荷の増加を抑えることができる。また、対象人物以外の人物H2,H3が登録ジェスチャに似た動作を行ったとしても、登録ジェスチャが行われたと判定されることがないため、判定精度の低下を防止することが可能である。
ところで、行動パターン登録情報64には、体の向き以外の項目を含めることも可能である。たとえば、これから登録ジェスチャを行おうとする人物は、撮像装置10に対して正対している、言い換えれば、撮像画像の中央に写り込んでいる可能性が高い。そこで、行動パターン登録情報64には、撮像画像における人物の位置に関する項目を含めてもよい。たとえば、撮像画像の中央に近い人物ほど類似度が高くなるようにしてもよい。これにより、これから登録ジェスチャを行おうとする人物をさらに精度良く特定することができる。
また、これから登録ジェスチャを行おうとする人物は、撮像装置10に向かって移動してくる可能性が高い。そこで、行動パターン登録情報64には、人物の移動方向に関する項目を含めてもよい。たとえば、移動方向が撮像装置10を向いている人物ほど類似度が高くなるようにしてもよい。これにより、たとえば、撮像装置10の前を横切る通行人や撮像装置10から遠ざかる人物を対象人物から除外し易くなるため、これから登録ジェスチャを行おうとする人物をさらに精度良く特定することができる。
また、これから登録ジェスチャを行おうとする人物は、視線が撮像装置10の方を向いている可能性が高い。そこで、行動パターン登録情報64には、視線に関する項目を含めてもよい。たとえば、視線が撮像装置10を向いている人物ほど類似度が高くなるようにしてもよい。これにより、これから登録ジェスチャを行おうとする人物をさらに精度良く特定することができる。
また、これから登録ジェスチャを行おうとする人物は、撮像装置10に比較的近い位置に存在している可能性が高い。そこで、行動パターン登録情報64には、人物の大きさに関する項目を含めてもよい。たとえば、撮像画像に大きく写り込んでいる人物ほど類似度が高くなるようにしてもよい。これにより、撮像装置10から遠く離れた場所にいる通行人等を対象人物から除外し易くなるため、これから登録ジェスチャを行おうとする人物をさらに精度良く特定することができる。
人物特定部7は、上述したこれらの項目ごとの類似度をそれぞれ算出するとともに算出した類似度を点数化し、それらの合計点が閾値を超える人物を対象人物として特定するようにしてもよい。また、類似度を点数化する際には、項目ごとに重み付けを行ってもよい。
また、人物特定部7は、たとえば、顔認証や歩容認証といった個人認証をさらに用いて対象人物の特定を行ってもよい。顔認証とは、顔の特徴から個人を特定する手法であり、歩容認証とは、歩き方から個人を特定する手法である。
たとえば、人物特定部7は、行動履歴63と行動パターン登録情報64との比較に基づいて特定した人物について、予め登録しておいた顔情報や歩容情報を用いた個人認証を行い、個人が認証された場合に、その人物を対象人物として特定するようにしてもよい。
このように、予め登録しておいた人物のみを対象人物として特定するようにすることで、精度の向上とともにセキュリティ面の向上を図ることができる。また、行動履歴63と行動パターン登録情報64との比較に基づいて特定された人物(たとえば人物H1)についてのみ個人認証を行うようにすることで、撮像画像に含まれる全ての人物(たとえば人物H1〜H3)について個人認証を行う場合に比べ、個人認証による処理負荷の増加を抑制することができる。
(第3の実施形態)
第3の実施形態では、上述した第2の実施形態に係る動作判定装置1Aを車両の周辺を監視する周辺監視装置として用いる場合の例について図14および図15を参照して説明する。図14は、動作判定装置1Aを搭載する車両の一例を示す平面図である。また、図15は、車両後方に存在する複数の人物の中から対象人物を特定する様子を示す図である。
図14に示すように、動作判定装置1Aを搭載する車両100は、たとえば、不図示の内燃機関を駆動源とする自動車、すなわち内燃機関自動車であってもよいし、不図示の電動機を駆動源とする自動車、すなわち電気自動車や燃料電池自動車等であってもよい。また、それらの双方を駆動源とするハイブリッド自動車であってもよいし、他の駆動源を備えた自動車であってもよい。また、車両100は、種々の変速装置を搭載することができるし、内燃機関や電動機を駆動するのに必要な種々の装置、たとえばシステムや部品等を搭載することができる。また、車両100における車輪の駆動に関わる装置の方式や、数、レイアウト等は、種々に設定することができる。
車体200には、複数の撮像装置10として、たとえば四つの撮像装置10a〜10dが設けられる。撮像装置10a〜10dは、それぞれ、広角レンズまたは魚眼レンズを有し、水平方向にはたとえば140°〜190°の範囲を撮影することができる。また、撮像装置10a〜10dの光軸は斜め下方に向けて設定されている。よって、撮像装置10a〜10dは、車両100が移動可能な路面や車両100が駐車可能な領域を含む車両100の周辺の外部の環境を逐次撮像可能である。
撮像装置10aは、たとえば、車体200の後側の端部に配置される。撮像装置10bは、たとえば、車体200の右側のドアミラー201に設けられる。撮像装置10cは、たとえば、車体200の前側、すなわち車両前後方向の前方側の端部に配置される。撮像装置10dは、たとえば、車体200の左側のドアミラー202に設けられる。
第3の実施形態において、動作判定装置1Aは、一例として、車体200の後方に設けられた撮像装置10aから入力される撮像画像に含まれる人物の中から対象人物を特定する。
たとえば、図15に示すように、撮像装置10aの撮像範囲内に人物H5〜H8が存在する場合、すなわち、撮像装置10aの撮像画像に人物H5〜H8が写り込んでいる場合、動作判定装置1Aは、たとえば、撮像装置10aに向かって接近している人物H6を対象人物として特定し、人物H6について一連の動作判定処理を行う。動作判定装置1Aから出力される判定結果は、たとえば、車体200のリアトランクのドアを自動的に開ける処理等に用いられる。
なお、ここでは、第2の実施形態に係る動作判定装置1Aを周辺監視装置として用いる場合の例について説明したが、第1の実施形態に係る動作判定装置1を周辺監視装置として用いることも可能である。
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。