(57)【要約】【課題】着目行動の検出時のみ映像データをネットワークに送信することにより、ネットワーク上のデータ量を低減するとともに、検出した着目行動を即座にシステム側に通知する。【解決手段】撮像装置１は、カメラ映像内の動被写体をカメラ画面内の座標として算出し、動被写体の重心座標についての時系列での移動を、動きベクトルとして求め、所定期間内の時系列で隣接する動きベクトル同士について、内積に基づく角度と外積とを求める動きベクトル算出部７４と、所定期間内の角度の総和を算出するとともに、時系列の外積データで示される所定期間内の外積の符号が切り替わる回数をカウントし、算出した角度の総和が所定値以上であり、かつ、外積の符号が切り替わる回数が所定回以下である回転行動検出条件を満たす場合に、動被写体が回転行動を行っていると判定する着目行動検出部７５と、着目行動の検出メッセージを出力する着目行動通知部７６とを備える。【選択図】図１
2018097416.tif 000002
【特許請求の範囲】
【請求項１】
カメラ映像内の動被写体をカメラ画面内の座標として算出し、前記算出した動被写体の重心座標を算出し、当該動被写体の重心座標についての時系列での移動を、動きベクトルとして算出し、前記動きベクトルの算出処理を所定期間繰り返し、前記所定期間内の時系列で隣接する動きベクトル同士について、内積に基づき算出される前記動きベクトル同士の角度と前記動きベクトル同士の外積とを求め、前記動きベクトル同士の角度を時系列の角度データとして記憶部に記憶し、前記動きベクトル同士の外積を時系列の外積データとして前記記憶部に記憶する動きベクトル算出部と、
前記記憶部に記憶された前記時系列の角度データで示される前記所定期間内の角度の総和を算出するとともに、前記記憶部に記憶された前記時系列の外積データで示される前記所定期間内の外積の符号が正から負または負から正に切り替わる回数をカウントし、前記算出した角度の総和が所定値以上であり、かつ、前記外積の符号が切り替わる回数が所定回以下である回転行動検出条件を満たす場合に、前記動被写体が回転行動を行っていると判定して、着目行動を検出する着目行動検出部と、
前記着目行動検出部が前記着目行動を検出した場合に、前記着目行動の検出メッセージを出力する着目行動通知部と、
を備えることを特徴とする撮像装置。
【請求項２】
カメラ映像内の動被写体をカメラ画面内の座標として算出し、前記算出した動被写体の重心座標を算出し、当該動被写体の重心座標についての時系列での移動を、動きベクトルとして算出し、前記動きベクトルの算出処理を所定期間繰り返し、前記所定期間内の時系列で隣接する動きベクトル同士の外積を求め、前記動きベクトル同士の外積を時系列の外積データとして記憶部に記憶する動きベクトル算出部と、
前記記憶部に記憶された前記時系列の外積データで示される前記所定期間内の外積の符号が時系列で切り替わる全体に占める割合が、所定の割合以上であることを示すジグザグ行動検出条件を満たす場合に、前記動被写体がジグザグ行動を行っていると判定して、着目行動を検出する着目行動検出部と、
を備えることを特徴とする撮像装置。
【請求項３】
前記着目行動検出部は、さらに、
前記記憶部に記憶された前記時系列の角度データで示される角度と、前記記憶部に記憶された前記時系列の外積データの正負の符号に対応する時計回り方向若しくは反時計回り方向を示す情報を用いて、前記カメラ画面内の前記動被写体の動きを示す動きベクトルの進行方向を検出すること
を特徴とする請求項１に記載の撮像装置。
【請求項４】
撮像装置が、
カメラ映像内の動被写体をカメラ画面内の座標として算出し、前記算出した動被写体の重心座標を算出し、当該動被写体の重心座標についての時系列での移動を、動きベクトルとして算出し、前記動きベクトルの算出処理を所定期間繰り返し、前記所定期間内の時系列で隣接する動きベクトル同士について、内積に基づき算出される前記動きベクトル同士の角度と前記動きベクトル同士の外積とを求め、前記動きベクトル同士の角度を時系列の角度データとして記憶部に記憶し、前記動きベクトル同士の外積を時系列の外積データとして前記記憶部に記憶するステップと、
前記記憶部に記憶された前記時系列の角度データで示される前記所定期間内の角度の総和を算出するとともに、前記記憶部に記憶された前記時系列の外積データで示される前記所定期間内の外積の符号が正から負または負から正に切り替わる回数をカウントし、前記算出した角度の総和が所定値以上であり、かつ、前記外積の符号が切り替わる回数が所定回以下である回転行動検出条件を満たす場合に、前記動被写体が回転行動を行っていると判定して、着目行動を検出するステップと、
前記着目行動を検出した場合に、前記着目行動の検出メッセージを出力するステップと、
を実行することを特徴とする着目行動検出方法。
【請求項５】
前記撮像装置は、さらに、
前記記憶部に記憶された前記時系列の外積データで示される前記所定期間内の外積の符号が時系列で切り替わる全体に占める割合が、所定の割合以上であることを示すジグザグ行動検出条件を満たす場合に、前記動被写体がジグザグ行動を行っていると判定して、前記着目行動を検出するステップを
実行することを特徴とする請求項４に記載の着目行動検出方法。
【請求項６】
前記撮像装置は、さらに、
前記記憶部に記憶された前記時系列の角度データで示される角度と、前記記憶部に記憶された前記時系列の外積データの正負の符号に対応する時計回り方向若しくは反時計回り方向を示す情報を用いて、前記カメラ画面内の前記動被写体の動きを示す動きベクトルの進行方向を検出するステップを
実行することを特徴とする請求項４または請求項５に記載の着目行動検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置および着目行動検出方法に関する。
【背景技術】
【０００２】
以前より、カメラから取得した映像を時系列に解析して、様々な情報を取得する多くの試みがなされている。その中に、映像上の動きのある被写体（以下、「動被写体」と称する。）の着目行動（異常行動等）を検出するという機能がある。これまで、この機能は、カメラから取得した映像データを、ＬＡＮケーブル等を介しネットワークに送信し、記憶媒体であるレコーダに保存してから、その保存した映像データをレコーダにおいて解析するといった手法が一般的である。例えば、特許文献１や特許文献２に記載の技術では、異常行動パターンを同一ネットワーク上のデータベースに予め登録しておく。そして、登録した異常行動パターンと、映像データをレコーダにより解析して算出した行動パターンと照合し、一致した際に着目行動として検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１６４２８２号公報
【特許文献２】特開２００５−１４１３１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した特許文献１，２に記載の技術は、ネットワーク上のデータベースを使用する必要があるため、映像データを取得するカメラ側（前段側）ではなく、後段側の処理となり、一度カメラの映像データ全てをネットワーク上に送信し、記憶媒体に保存する必要がある。
【０００５】
近年では映像データの大容量化（高画質化）やカメラの接続台数の増加が進み、カメラと記憶媒体とを接続するネットワークに送信するデータ量が膨大になるといった課題が生じている。また、事件の未然防止のためにリアルタイムに映像から必要な情報を検出し通知する必要が生じている。そこで、カメラ側で映像データを解析し、必要な情報のみをネットワークに送信して記憶媒体で保存することにより、ネットワーク上のデータ量を削減し、かつリアルタイムに着目行動を検出可能とする、より高度（インテリジェント）な機能を備えたカメラへの期待が高まっている。
【０００６】
しかし、カメラ側では、ネットワーク上のデータベースを使用することができない点と、記憶媒体であるレコーダに比べマイコンの処理速度が遅く、特定パターンの画像とカメラの映像データとのマッチングを確認するといったような複雑な画像処理を行えないという問題がある。例えば、レコーダでは、動作クロックが１ＧＨｚを超えるものもあるが、通常のカメラは、１００ＭＨｚ程度である。このため、カメラ側では、高負荷な処理を実現することができない。
【０００７】
本発明は、上記問題を鑑みてなされたものであり、ネットワーク上に送信する映像データのデータ量を低減することができ、検出した着目行動を即座にシステム側に通知することができる、撮像装置および着目行動検出方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するため、本発明の撮像装置は、カメラ映像内の動被写体をカメラ画面内の座標として算出し、算出した動被写体の重心座標を求め、当該動被写体の重心座標についての時系列での移動を、動きベクトルとして計算する。そして、動きベクトルの算出処理を所定期間繰り返し、その所定期間内の時系列で隣接する動きベクトル同士について角度と外積とを求めるベクトル算出部を備える。また、撮像装置は、時系列の角度データで示される所定期間内の角度の総和を算出するとともに、時系列の外積データで示される所定期間内の外積の符号が切り替わる回数をカウントし、算出した角度の総和が所定値以上であり、かつ、外積の符号が切り替わる回数が所定回以下である回転行動検出条件を満たす場合に、動被写体が回転行動を行っていると判定する着目行動検出部を備えることを特徴とする。本発明の他の態様については、後記する実施形態において説明する。
【発明の効果】
【０００９】
本発明によれば、ネットワーク上に送信する映像データのデータ量を低減することができ、検出した着目行動を即座にシステム側に通知する、撮像装置および着目行動検出方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る撮像装置の機能ブロック図である。
【図２】本実施形態に係る区域分割輝度情報保存部に保存される時刻（ｔ−１）における区域分割輝度情報のデータ構成例を示す図である。
【図３】重心データの座標軸を説明する図である。
【図４】本実施形態に係る重心データ算出部が算出する重心データのデータ構成例を示す図である。
【図５】本実施形態に係る、時刻（ｔ）〜時刻（ｔ−３１）における動きベクトルの重心データのデータ構成例を示す図である。
【図６】本実施形態に係る角度関係テーブルのデータ構成例を示す図である。
【図７】本実施形態に係る角度データ保存部に記憶される角度データのデータ構成例を示す図である。
【図８】本実施形態に係る外積データ保存部に記憶される外積データのデータ構成例を示す図である。
【図９】本実施形態に係るマイコンが実行する着目行動検出処理の全体の流れを示すフローチャートである。
【図１０】本実施形態に係る動きベクトル演算部が実行する、動きベクトル演算処理を示すフローチャートである。
【図１１】本実施形態に係る回転行動算出部の処理を説明するための図である。
【図１２】本実施形態に係るジグザグ行動算出部の処理を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態（以下、「本実施形態」と称する。）について図面を参照して詳細に説明する。
図１は、本実施形態に係る撮像装置１の機能ブロック図である。撮像装置１は、監視カメラとしての機能と、カメラにより撮影された映像データを解析し、着目行動を検出する機能とを備える。
以下、撮像装置１の各機能について具体的に説明する。
【００１２】
＜撮像装置の構成＞
図１に示すように、撮像装置１は、レンズユニット１０、撮像素子２０、ＡＦＥ（Analog Front End Circuit）３０、画像処理ＬＳＩ４０、ＤＡＣ（Digital Analog Converter）５０、映像信号出力部６０、マイコン７０、カメラ操作部８０およびメッセージ出力部９０を含んで構成される。
【００１３】
撮像装置１は、例えば、監視カメラの機能の備えるシステムであり、そのレンズユニット１０は、ズーム機能を備えるズームレンズ１１、フォーカス機能を備えるフォーカスレンズ１２、フォーカスレンズ１２から取り込まれる外部光の光量を調整するアイリス（アイリス絞り）１３を備える。
外部から入射した光は、レンズユニット１０を経て、撮像素子２０に照射される。撮像素子２０のＣＣＤセンサに照射された入射光は、光電変換されて映像信号となる。
撮像素子２０から映像信号を受信したＡＦＥ３０は、相関二重サンプリング（Correlated Double Sampling：ＣＤＳ）処理によりノイズを除去し、アナログＡＧＣ（Auto Gain Controller）処理により増幅器の増幅率を調整した上でＡ／Ｄ変換を行い、その映像信号を画像処理ＬＳＩ４０に出力する。
【００１４】
画像処理ＬＳＩ４０は、区域分割輝度算出部４１および信号処理部４２を備える。
区域分割輝度算出部４１は、取得したカメラ映像を所定の区域に分割し、各区域の輝度平均レベルを算出する。例えば、横に１２０分割、縦に２７分割した各区域の輝度平均レベルを算出する。この区域分割輝度算出部４１は、算出した各区域の輝度平均値のデータ（以下、「区域分割輝度情報」と称する。）を、マイコン７０の動きベクトル算出部７４に出力する。
信号処理部４２は、取得した映像信号について、ノイズ低減処理、感度ＵＰ処理、色再現性向上処理等を実行し、ＤＡＣ（Digital Analog Converter）５０に出力する。
そして、ＤＡＣ５０において、デジタル映像信号をアナログ映像信号に変換し、映像信号出力部６０が、モニタ等の表示装置にそのアナログ映像信号を出力して映像を表示させる。
【００１５】
なお、図１においては、撮像素子２０としてＣＣＤを例に説明したが、ＣＣＤ以外の撮像素子、例えば、ＣＭＯＳ等であってもよい。その際には、ＡＦＥ３０の構成が適宜変更される。また、ＤＡＣ５０を備えず、画像処理ＬＳＩ４０からのデジタル映像信号を直接表示装置に出力する構成にしてもよい。
【００１６】
マイコン７０は、レンズユニット１０が備える各レンズを制御するとともに、取得した映像信号の画像処理を実行する。このマイコン７０は、操作情報取得部７１、ズームレンズモータ制御部７２、フォーカスレンズモータ制御部７３、動きベクトル算出部７４、着目行動検出部７５、着目行動通知部７６および記憶部７７を含んで構成される。
このマイコン７０は、画像処理ＬＳＩ４０から映像信号を取得して画像処理を実行するとともに、記憶部７７内に各種データを保存しておく。映像信号への各種処理は画像処理ＬＳＩ４０に集約することにより、撮像機能を小型化する。なお、後記する各種データの記憶は、マイコン７０内の記憶部７７ではなく、マイコン７０外に記憶手段を設けるようなシステム構成であってもよい。また、マイコン７０の一部は、ソフトウェアではなく画像処理ＬＳＩ４０にハード実装されていてもよく、図１の構成に限定されるものでない。
【００１７】
操作情報取得部７１は、カメラ操作部８０から、パン（ＰＡＮ）角度、チルト（ＴＩＬＴ）角度、ズーム（ＺＯＯＭ）位置情報、フォーカス（ＦＯＣＵＳ）位置情報を取得する。操作情報取得部７１は、取得した、パン角度、チルト角度、ズーム位置情報、フォーカス位置情報のうち、ズーム位置情報については、ズームレンズモータ制御部７２に出力し、フォーカス位置情報については、フォーカスレンズモータ制御部７３に出力する。なお、パン角度およびチルト角度については、レンズユニット１０を含む監視カメラが固定されている場合には、カメラ設置時に各情報が設定されるが、遠隔による監視システム等からの指示情報を受信して、カメラのパン角度およびチルト角度を制御するようにしてもよい。
【００１８】
ズームレンズモータ制御部７２は、ズームレンズ制御用モータ１４を制御することにより、カメラ操作部８０により指定されたズーム位置となるように、ズームレンズ１１を移動する。
また、フォーカスレンズモータ制御部７３は、フォーカスレンズ制御用モータ１５を制御することにより、カメラ操作部８０により指定されたフォーカス位置となるように、フォーカスレンズ１２を移動する。
【００１９】
次に、マイコン７０が実行する映像信号の画像処理に関する機能の概要を説明する。
マイコン７０の動きベクトル算出部７４は、画像処理ＬＳＩ４０の区域分割輝度算出部４１から、カメラ映像を分割した各区域の輝度平均値（区域分割輝度情報）を取得する。そして、動きベクトル算出部７４は、区域分割輝度情報について、時刻（ｔ）と時刻（ｔ−１）の差分を解析し、所定値以上の差分を有するまとまった区域（隣接する複数の区域）を動被写体が写っている「領域」としてラベリングし、その領域毎に重心データを算出する。動きベクトル算出部７４は、動被写体の動き量を重心データの動きベクトルとして計算し、時系列方向に解析することにより、動きベクトルの内積に基づく角度θおよび動きベクトルの外積を演算して、記憶部７７に記憶しておく。
着目行動検出部７５は、記憶部７７に記憶された、内積に基づく角度θの情報と、外積の情報とに基づき、着目行動の検出を行う（詳細は後記する。）。そして、着目行動検出部７５が、着目行動を検出した場合に、着目行動通知部７６が、外部の監視システム等に対して、メッセージ出力部９０を介して、着目行動を検出した旨のメッセージ（着目行動検出メッセージ）を出力する。
【００２０】
以下、動きベクトル算出部７４、着目行動検出部７５、着目行動通知部７６、記憶部７７について詳細に説明する。
なお、記憶部７７は、マイコン７０内の処理に必要となる情報を一時的に記憶しておくメモリであり、区域分割輝度情報保存部７７１、軌跡データ保存部７７２（重心データ保存部７７３、角度データ保存部７７４、外積データ保存部７７５を含む）、および、角度関係テーブル７７６を記憶する。これらの情報の詳細は後記する。
【００２１】
動きベクトル算出部７４は、画像処理ＬＳＩ４０の区域分割輝度算出部４１から、カメラ映像を分割した各区域の輝度平均値（区域分割輝度情報）を取得し、動被写体の動きベクトルを算出する。
この動きベクトル算出部７４は、区域分割輝度情報取得部７４１、絶対値差分算出部７４２、二値化処理部７４３、ラベリング処理部７４４、重心データ算出部７４５、動きベクトル演算部７４６を備える。
【００２２】
区域分割輝度情報取得部７４１は、画像処理ＬＳＩ４０の区域分割輝度算出部４１から、時刻（ｔ）において、カメラ映像を分割した各区域の輝度平均値（区域分割輝度情報Y_T0_n（n=1〜3240））を取得する。ここで、「Y」が輝度を示し、「T0」が時刻（ｔ）を示し、「n」が区域「n」（n=1〜3240）を示す。なお、ここでは、カメラ映像が3240(=120×27)の区域に分割されているものとして説明する。
【００２３】
絶対値差分算出部７４２は、区域分割輝度情報取得部７４１が取得した現在の時刻である時刻（ｔ）における区域分割輝度情報Y_T0_n（n=1〜3240）と、記憶部７７に記憶された時刻（ｔ−１）における区域分割輝度情報Y_T1_n（n=1〜3240）とを用いて、時刻（ｔ−１）と時刻（ｔ）との間の各区域の輝度データの絶対値差分Y_DiFF_n（n=1〜3240）を次の式（１）を用いて算出する。
【００２４】
Y_Diff_n = | Y_T0_n − Y_T1_n |  （n=1〜3240）   ・・・式（１）
【００２５】
絶対値差分算出部７４２は、算出が完了した後、時刻（ｔ）の各区域分割輝度情報Y_T0_nを記憶部７７の区域分割輝度情報保存部７７１に、時刻（ｔ−１）の区域分割輝度情報Y_T1_n（図２参照）として保存する。これは、次の動きベクトル演算部７４６の処理の際に使用するためである。
なお、絶対値差分算出部７４２における初回の処理時には、時刻（ｔ−１）の各区域分割輝度情報Y_T1_nが存在しないため、初回時のみ算出を行わず、Y_T1_n = 0 とする。
【００２６】
図２は、本実施形態に係る区域分割輝度情報保存部７７１に保存される時刻（ｔ−１）における区域分割輝度情報のデータ構成例を示す図である。
図２に示すように、区域分割輝度情報は、区域番号、および、その区域番号と時刻（ｔ−１）とを示す変数１に対応付けて、その区域の輝度平均値の値が格納される。例えば、区域番号「１」で変数１が「Y_T1_1」の区域の輝度平均値は「1」であることを示している。なお、変数１は、「Y」が輝度を示し、「T1」が時刻（ｔ−１）を示し、「1」が区域番号「１」を示す。
【００２７】
図１に戻り、二値化処理部７４３は、絶対値差分算出部７４２で算出した各区域の絶対値差分データの値と、所定の閾値Y_Sとを比較し、絶対値差分データの値が閾値Y_S以上であれば、動被写体として、その区域に「255」を付与する。また、二値化処理部７４３は、絶対値差分データの値が閾値Y_S未満であれば、動被写体ではないとして、その区域に「0」を付与する。これにより、各区域を二値化する。この二値化処理では、動被写体が正しく抽出できればよく、所定の閾値Y_Sを設定することにより動被写体を判定する手法に限定されない。また、二値化の処理後に、動被写体以外と判定された区域を動被写体として「255」と付与し直す処理を行う場合がある。例えば、既存の膨張処理や収縮処理を行うことにより、動被写体の抽出を行い、動被写体ではない小領域（ノイズ成分）を除去することができる。また、画面の上下に分離した区域について膨張処理を行うことにより、１つの動被写体として扱うように、「0」から「255」に付与し直す処理を行ってもよい。
【００２８】
ラベリング処理部７４４は、二値化処理部７４３が二値化し動被写体として抽出した「255」が付与された区域のうち、隣接する複数の区域をひとつの領域としてラベリング（番号付け）する。ここでは、例としてラベリング番号の開始と終了をそれぞれ「1」と「24」とし、最大２４個の領域のラベリング（番号付け）を可能とする。なお、このラベリング（番号付け）は、例えば、その領域に属する区域の数、つまり、まとまった（隣接する）複数の区域の数が多い順に２４個を抽出するようにする。
【００２９】
重心データ算出部７４５は、ラベリング（番号付け）した領域ごとに、その領域の重心を、時刻（ｔ）の計２４個の重心データ（Jyu_T_Xn, Jyu_T_Yn）（n=1〜24）として算出する。
重心データ（Jyu_T_Xn, Jyu_T_Yn）は、図３に示すように、画像の左上を原点として横方向をＸ軸（右側を正の向き）、縦方向（下側を正の向き）をＹ軸とした際の座標位置とし、画像サイズを最大値としたデータであり、例えば、フルハイビジョン画質として最大値を横1920、縦1080とする。
【００３０】
重心データ算出部７４５は、ラベリング処理により番号付けした各領域のＸ軸方向の最小値（左端）Area_min_T_Xn、最大値（右端）Area_max_T_Xn、Ｙ軸方向の最小値（上端）Area_min_T_Yn、最大値（下端）Area_max_T_Ynを求め、次の式（２）および式（３）により重心データ（Jyu_T_Xn, Jyu_T_Yn）を算出する。
【００３１】
Jyu_T_Xn = Area_min_T_Xn ＋ （Area_max_T_Xn − Area_min_T_Xn）／2   …式（２）
Jyu_T_Yn= Area_min_T_Yn ＋ （Area_max_Y_Xn − Area_min_T_Yn）／2   …式（３）
【００３２】
図４は、本実施形態に係る重心データ算出部７４５が算出する重心データのデータ構成例を示す図である。
図４に示すように、時刻（ｔ）における重心データとして、領域番号に対応して、重心データ（Jyu_T_Xn, Jyu_T_Yn）の値が算出される。例えば、時刻（ｔ）における領域番号「1」の重心データ（Jyu_T_X1, Jyu_T_Y1）の値が（213,59）であることを示している。
なお、この重心データ（Jyu_T_Xn, Jyu_T_Yn）の値は、動被写体の動きベクトルの重心データ（Move_T0_Xn, Move_T0_Yn）として、動きベクトル演算部７４６が後記する重心データ保存部７７３に保存する。
【００３３】
動きベクトル演算部７４６は、記憶部７７内の重心データ保存部７７３に記憶されている時刻（ｔ−１）の重心データ（Move_T1_Xn, Move_T1_Yn）と、時刻（ｔ）の重心データ（Move_T0_Xn, Move_T0_Yn）との対応付けを行い、動被写体の動き量を時刻（ｔ）の動きベクトルとして計算する。
具体的には、この動きベクトル演算部７４６は、軌跡データ保存部７７２内の重心データ保存部７７３に記憶されている、動きベクトルの重心データ（図５参照）、角度データ保存部７７４の角度データ（図７参照）、外積データ保存部７７５の外積データ（図８参照）と、角度関係テーブル７７６（図６参照）とを用いて、動きベクトルの演算処理を行う。
【００３４】
図５は、本実施形態に係る、時刻（ｔ）〜時刻（ｔ−３１）における動被写体の動きベクトルの重心データ（Move_Tm_Xn, Move_Tm_Yn）（n=1〜24, m=0〜31）のデータ構成例を示す図である。
ここで、「n」は、動きベクトルの最大保持数（領域の数）を示し、例として１〜２４個までの計２４個を保持可能としている。「m」は、所定期間である時刻（ｔ−０）〜時刻（ｔ−３１）のいずれかの時刻を示すものとする。
図５に示すように、時刻（ｔ−０）〜時刻（ｔ−３１）の間において、各領域１〜２４毎に、動きベクトルの重心データ（Ｘ軸の値，Ｙ軸の値）が格納される。例えば、時刻（ｔ−０）における領域n=1の重心データとして、（Move_T0_X1, Move_T0_Y1）の値が（650, 514）として格納される。
なお、T0＝時刻（ｔ−０）＝時刻（ｔ）であり、現時点での映像信号の画像処理を示す。また、T1＝時刻（ｔ−１）であり、時刻（ｔ）から１つ前の時点での映像信号の画像処理を示す。同様に、T31＝時刻（ｔ−３１）であり、時刻（ｔ）から３１前の時点での映像信号の画像処理を示す。つまり、T0は、現時点であり、「31」に向けて数字が増えるほど過去の時点を示している。
【００３５】
動きベクトル演算部７４６は、重心データ保存部７７３に保存された動きベクトルの重心データを参照し、各領域ｎの時刻（ｔ−２）および時刻（ｔ−１）の重心データから、時刻（ｔ−１）の動きベクトル（MoveVecT1_Xn, MoveVecT1_Yn）（n=1〜24）を計算する。また、動きベクトル演算部７４６は、各領域ｎの時刻（ｔ−１）の重心データおよび時刻（ｔ）の重心データから、時刻（ｔ）の動きベクトル（MoveVecT_Xn, MoveVecT_Yn）（n=1〜24）を計算する。なお、この時刻（ｔ）における動きベクトル（MoveVecT_Xn, MoveVecT_Yn）を、以下「暫定動きベクトル」と称する。
【００３６】
動きベクトル演算部７４６は、時刻（ｔ−１）の動きベクトル（MoveVecT1_Xn, MoveVecT1_Yn）と、暫定動きベクトル（MoveVecT_Xn, MoveVecT_Yn）とから、２つベクトルの内積を計算することで、cosθを求める。以下、cosθの算出手法について説明する。
【００３７】
時刻（ｔ−１）の動きベクトル（MoveVecT1_Xn, MoveVecT1_Yn）と、時刻tの暫定動きベクトル（MoveVecT_X, MoveVecT_Y) との暫定内積Naiseki_T0は、次の式（４）となる。
【００３８】
Naiseki_T0 = MoveVecT1_Xn × MoveVecT_X ＋ MoveVecT1_Yn × MoveVecT_Y
…式（４）
【００３９】
また、暫定内積Naiseki_T0は、次の式（５）でも記載することができる。
【００４０】
Naiseki_T0 =|時刻(t-1)の動きベクトルの大きさ| × |時刻(t)の暫定動きベクトルの大きさ| × cosθ  … 式（５）
【００４１】
上記の式（４）および式（５）から、cosθを、次の式（６）により求めることができる。
【００４２】
cosθ = (MoveVecT1_Xn × MoveVecT_X ＋ MoveVecT1_Yn × MoveVecT_Y)／ |時刻(t-1)の動きベクトルの大きさ| × |時刻tの暫定動きベクトルの大きさ|  … 式（６）
【００４３】
そして、動きベクトル演算部７４６は、式（６）により求めたcosθに基づき、記憶部７７に記憶された図６に示す角度関係テーブル７７６を参照し、角度θを求めることができる。
【００４４】
図６は、本実施形態に係る角度関係テーブル７７６のデータ構成例を示す図である。
図６に示すように、角度関係テーブル７７６は、cosθに対応する角度θの情報が格納される。この角度関係テーブル７７６は、記憶部７７に予め記憶しておくものとする。
【００４５】
また、動きベクトル演算部７４６は、時刻（ｔ−１）の動きベクトル（MoveVecT1_Xn, MoveVecT1_Yn）と時刻（ｔ）の暫定動きベクトル（MoveVecT_Xn, MoveVecT_Yn）との暫定外積Gaiseki_T0を、次の式（７）により計算する。
【００４６】
Gaiseki_T0 = MoveVecT_X × MoveVecT1_Yn ＋ MoveVecT1_Xn × MoveVecT_Y
…式（７）
【００４７】
そして、動きベクトル演算部７４６は、時刻（ｔ）の各領域の重心データ(Jyu_T_Xn, Jyu_T_Yn)を、動きベクトルの重心データ（Move_T0_Xn, Move_T0_Yn）（n=1〜24）として、記憶部７７の重心データ保存部７７３に記憶する。また、動きベクトル演算部７４６は、算出した角度θの情報（θ_T0_n）を、記憶部７７の角度データ保存部７７４に記憶し、算出した外積データ（Gaiseki_T0_n）を、記憶部７７の外積データ保存部７７５に記憶する。
【００４８】
図７は、本実施形態に係る角度データ保存部７７４に記憶される角度データのデータ構成例を示す図である。
ここで、「n」は、動きベクトルの最大保持数（領域数）、ここではn=1〜24である。また、「m」は、所定期間である時刻（ｔ−０）〜時刻（ｔ−３１）のいずれかを示す。
図７に示すように、例えば、時刻（ｔ）における領域「1」での角度θ（θ_T0_1）の値として「０°」が格納され、時刻（ｔ）における領域「24」での角度θ（θ_T0_24）の値として「21°」が格納される。
【００４９】
図８は、本実施形態に係る外積データ保存部７７５に記憶される外積データのデータ構成例を示す図である。
ここで、「n」は、動きベクトルの最大保持数（領域数）、n=1〜24である。また、「ｍ」は、時刻（ｔ−０）〜時刻（ｔ−３１）のいずれかを示す。
図８に示すように、例えば、第１行目は、時刻（ｔ）における領域「1」での外積（Gaiseki_T0_1）の値として「642500」が格納され、第４行目は、時刻（ｔ）における領域「24」での外積（Gaiseki_T0_24）の値として「630000」が格納される。
なお、動きベクトルの外積の値は、時刻（ｔ−１）から時刻（ｔ）の動きベクトルの回転方向が反時計回りの場合に、外積の符合が「正」となる。一方、時刻（ｔ−１）から時刻（ｔ）の動きベクトルの回転方向が時計周りの場合、外積の符合は「負」となる。
【００５０】
図１に戻り、着目行動検出部７５は、記憶部７７内の角度データ保存部７７４に記憶された角度θの情報と、記憶部７７内の外積データ保存部７７５に記憶された外積の情報とに基づき、着目行動を検出する。
この着目行動検出部７５は、回転行動算出部７５１およびジグザグ行動算出部７５２を備える。
【００５１】
回転行動算出部７５１は、動きベクトル算出部７４において計算し、記憶部７７の軌跡データ保存部７７２に保存している情報のうち、角度データ保存部７７４に保存した時刻（ｔ）〜時刻（ｔ−３１）の角度θの情報と、外積データ保存部７７５に保存した時刻（ｔ）〜時刻（ｔ−３１）の外積データの情報を参照し、領域番号n=1〜24ごとに時刻（ｔ）から時刻（ｔ−３１）までの角度θ_Tm_n(m=0〜31, n=1〜24)の和SUM_θnを次の式（８）により計算する。
【００５２】
SUM_θn=Σ[n=1→24]Σ[m=0→31] θ_Tm_n   … 式（８）
【００５３】
また、回転行動算出部７５１は、領域番号n=1〜24ごとに、時刻（ｔ）から時刻（ｔ−３１）までの外積Gaiseki_Tm_n(m=0〜31, n=1〜24)の符号がm=31からm=0への時系列方向に正から負、負から正へ切り替わっている回数を、カウントHugo_Cnt_nとして計算する。
回転行動算出部７５１は、計算したSUM_θnが所定値（例えば、360°）より大きく、かつ、Hugo_Cnt_nが所定回以下であるか否かを確認する。回転行動算出部７５１は、この条件（回転行動検出条件）を満たす場合には、その領域番号で示される動被写体が、回転行動をしていると判定する。つまり、動被写体が着目行動を行っていると判定する。一方、回転行動算出部７５１は、この条件（回転行動検出条件）を満たさない場合には、その領域番号で示される動被写体が、回転行動をしていないと判定する。つまり、動被写体の動きが、着目行動には当たらないと判定する。なお、外積の符号が、正から負、負から正に切り替わる回数であるカウントHugo_Cnt_nの所定回は、例えば、「０」であってもよいし、「１」「２」「３」等であってもよい。「０」の場合は、外積の符号が一度も切り替わらなかったことを意味する。
【００５４】
ジグザグ行動算出部７５２は、動きベクトル算出部７４が計算し、記憶部７７内の軌跡データ保存部７７２に保存している情報のうち、外積データ保存部７７５に記憶された、外積データを参照する。そして、ジグザグ行動算出部７５２は、領域番号n=1〜24ごとに、時刻（ｔ）から時刻（ｔ−３１）までの外積Gaiseki_Tm_n(m=0〜31, n=1〜24)の符号が、m=31からm=0への時系列方向に、正から負、負から正へ切り替わっている回数をカウントしHugo_Cnt_nを計算する。ジグザグ行動算出部７５２は、このHugo_Cnt_nが、領域の総数の所定割合以上であるときに、その領域番号で示される動被写体が、ジグザグ行動をしていると判定する。つまり、動被写体が着目行動を行っていると判定する。一方、ジグザグ行動算出部７５２は、Hugo_Cnt_nが、領域の総数の所定割合未満であるときに、その領域番号で示される動被写体が、ジグザグ行動をしていないと判定する。つまり、動被写体が着目行動を行っていないと判定する。なお、このジグザグ行動を判定する条件を、ジグザク行動検出条件と称する。
ここでは、「ｍ」の最大個数を32個としているため、Hugo_Cnt_nの最大値は「31」となる。例えば、ジグザグ行動を判定する所定割合が８割であるすると、Hugo_Cnt_nの値が最大値「31」の８割より大きい「25」以上であれば、その領域番号の動被写体の動きはジグザグ行動をしていると判定し、「25」未満であれば、ジグザグ行動をしていないと判定する。
【００５５】
着目行動通知部７６は、回転行動算出部７５１により回転行動を行っていると判定されると、着目行動（回転行動）が検出された旨を、外部の監視システム等に、メッセージ出力部９０を介して出力する。
また、着目行動通知部７６は、ジグザグ行動算出部７５２によりジグザグ行動を行っていると判定されと、着目行動（ジグザグ行動）が検出された旨を、外部の監視システム等に、メッセージ出力部９０を介して出力する。
メッセージ出力部９０は、外部装置にメッセージを出力するための通信ＩＦである。
【００５６】
＜処理の流れ＞
次に、本実施形態に係る撮像装置１のマイコン７０が実行する、着目行動検出処理の全体の流れを説明する。
図９は、本実施形態に係るマイコン７０が実行する着目行動検出処理の全体の流れを示すフローチャートである。
【００５７】
まず、マイコン７０の動きベクトル算出部７４内の区域分割輝度情報取得部７４１は、画像処理ＬＳＩ４０の区域分割輝度算出部４１から、時刻（ｔ）において、カメラ映像を分割した各区域の輝度平均値（区域分割輝度情報Y_T0_n（n=1〜3240））を取得する（ステップＳ１：区域分割輝度情報の取得処理）。
【００５８】
次に、動きベクトル算出部７４内の絶対値差分算出部７４２は、区域分割輝度情報取得部７４１が取得した現在の時刻である時刻（ｔ）における区域分割輝度情報Y_T0_n（n=1〜3240）と、記憶部７７の区域分割輝度情報保存部７７１に記憶されている時刻（ｔ−１）における区域分割輝度情報Y_T1_n（n=1〜3240）とを用いて、時刻（ｔ−１）と時刻（ｔ）の区域ごとの輝度データの絶対値差分Y_DiFF_n（n=1〜3240）を、上記した式（１）を用いて算出する（ステップＳ２：絶対値差分算出処理）。そして、絶対値差分算出部７４２は、時刻（ｔ）の各区域分割輝度情報Y_T0_nを記憶部７７の区域分割輝度情報保存部７７１に、時刻（ｔ−１）の区域分割輝度情報（図２参照）として保存する。
【００５９】
続いて、動きベクトル算出部７４内の二値化処理部７４３は、絶対値差分算出部７４２で算出した各区域の絶対値差分データの値と、所定の閾値Y_Sとを比較し、絶対値差分データの値が閾値Y_S以上であれば、動被写体として、その区域に「255」を付与し、絶対値差分データの値が閾値Y_S未満であれば、動被写体ではないとしてその区域に「0」を付与する（ステップＳ３：二値化処理）。
【００６０】
そして、動きベクトル算出部７４内のラベリング処理部７４４は、二値化処理部７４３が二値化し動被写体として抽出した「255」が付与された区域のうち、互いに隣接する（まとまった）複数の区域をひとつの「領域」とし、その領域にラベリング（番号付け）する（ステップＳ４：ラベリング処理）。ここでは、最大24個の領域にラベリング可能とし、各領域にｎ＝1〜24を付与する。
【００６１】
続いて、動きベクトル算出部７４内の重心データ算出部７４５は、ラベリング（番号付け）した領域ごとにその領域の重心を、時刻（ｔ）の計２４個の重心データ（Jyu_T_Xn, Jyu_T_Yn）（n=1〜24）として算出する（ステップＳ５：重心データ算出処理）。
【００６２】
次に、動きベクトル算出部７４内の動きベクトル演算部７４６は、動被写体の動きベクトルの演算処理を行う（ステップＳ６）。具体的には、動きベクトル演算部７４６は、時刻（ｔ−１）と時刻（ｔ）の動きベクトルに基づき、内積を算出して角度θを計算し、軌跡データ保存部７７２内の角度データ保存部７７４に保存する。また、動きベクトル演算部７４６は、同じく、時刻（ｔ−１）と時刻（ｔ）の動きベクトルに基づき、外積を計算し、軌跡データ保存部７７２内の外積データ保存部７７５に保存する。なお、この動きベクトル演算部７４６の処理の詳細は後記する。
【００６３】
そして、着目行動検出部７５は、軌跡データ保存部７７２に保存された軌跡データを用いて、着目行動の検出処理を実行する（ステップＳ７）。
具体的には、軌跡データ保存部７７２内の回転行動算出部７５１は、軌跡データ保存部７７２内の角度データ保存部７７４に保存された、時刻（ｔ−３１）〜時刻（ｔ）の角度θの情報、および、外積データ保存部７７５に保存された、時刻（ｔ−３１）〜時刻（ｔ）の外積の情報を用いて、動被写体が回転行動をしているか否かを判定する。
また、軌跡データ保存部７７２内のジグザグ行動算出部７５２は、外積データ保存部７７５に保存された、時刻（ｔ−３１）〜時刻（ｔ）の外積の情報を用いて、動被写体がジグザグ行動をしているか否かを判定する。
そして、回転行動算出部７５１、ジグザグ行動算出部７５２のそれぞれは、着目行動（回転行動、ジグザグ行動）を検出すると、その検出結果を、着目行動通知部７６を介して、メッセージ出力する（ステップＳ８）。そして、撮像装置１（マイコン７０）は、着目行動検出処理を終了する。
【００６４】
≪動きベクトルの演算処理≫
次に、本実施形態に係る撮像装置１の動きベクトル演算部７４６の処理の流れについて説明する。
図１０は、本実施形態に係る動きベクトル演算部７４６が実行する、動きベクトル演算処理を示すフローチャートである。ここで、動きベクトル演算部７４６は、動被写体の動きベクトルを時系列方向に解析し、動きベクトルの内積から角度θを算出するとともに、動きベクトルの外積を算出する。
【００６５】
まず、動きベクトル演算部７４６は、記憶部７７内の重心データ保存部７７３に、時刻（ｔ−１）における領域番号n=1〜24の重心データ（Move_T1_Xn, Move_T1_Yn）（n=1〜24）が存在するか否かを判定する（ステップＳ１０１）。そして、存在しない場合には（ステップＳ１０１→Ｎｏ）、ステップＳ１０２に進む。
ステップＳ１０２において、動きベクトル演算部７４６は、重心データ算出部７４５が算出した時刻（ｔ）の重心データ(Jyu_T_Xn, Jyu_T_Yn)が存在するか否かを確認する。そして、存在しない場合には（ステップＳ１０２→Ｎｏ）、処理を終了する。一方、存在する場合には（ステップＳ１０２→Ｙｅｓ）、動きベクトル演算部７４６は、重心データ(Jyu_T_Xn, Jyu_T_Yn)を、重心データ保存部７７３の時刻（ｔ）の領域番号ｎの軌跡データ（Move_T0_Xn, Move_T0_Yn）として保存する（ステップＳ１０３）。そして、処理を終了する。
【００６６】
ステップＳ１０１において、時刻（ｔ−１）における領域番号n=1〜24の重心データが存在する場合には（ステップＳ１０１→Ｙｅｓ）、動きベクトル演算部７４６は、時刻（ｔ−１）と時刻（ｔ）の重心データの距離Jyu_Distanceを計算する（ステップＳ１０４）。
【００６７】
続いて、動きベクトル演算部７４６は、記憶部７７内の重心データ保存部７７３に、時刻（ｔ−２）における領域番号n=1〜24の重心データ（Move_T2_Xn, Move_T2_Yn）（n=1〜24）が存在するか否かを判定する（ステップＳ１０５）。そして、存在しない場合には（ステップＳ１０５→Ｎｏ）、動きベクトル演算部７４６は、時刻（ｔ−１）と時刻（ｔ）の重心データの距離Jyu_Distanceが所定値未満であり、かつ、Jyu_Distanceが最短となるJyu_Distance_minが存在するか否かを判定する（ステップＳ１０６）。この処理は、所定値以上離れた場合には、同じ動被写体の動きではないとして、そのデータを除去するために行うものである。
【００６８】
そして、動きベクトル演算部７４６は、距離Jyu_Distanceが所定値未満であり、かつ、Jyu_Distanceが最短となるJyu_Distance_minが存在しない場合には（ステップＳ１０６→Ｎｏ）、処理を終了する。一方、存在する場合には（ステップＳ１０６→Ｙｅｓ）、動きベクトル演算部７４６は、重心データ(Jyu_T_Xn, Jyu_T_Yn)を、重心データ保存部７７３の時刻（ｔ）の領域番号ｎの軌跡データ（Move_T0_Xn, Move_T0_Yn）として保存する（ステップＳ１０７）。このとき、動きベクトル演算部７４６は、軌跡データ保存部７７２の角度データ保存部７７４および外積データ保存部７７５における、時刻（ｔ）の領域番号ｎへは、それぞれ数値０を保存しておく。そして、動きベクトル演算部７４６は、処理を終了する。
【００６９】
ステップＳ１０５において、時刻（ｔ−２）における領域番号n=1〜24の重心データが存在する場合には（ステップＳ１０５→Ｙｅｓ）、動きベクトル演算部７４６は、領域番号nの時刻（ｔ−２）と時刻（ｔ−１）の重心データから、時刻（ｔ−１）の動きベクトル(MoveVecT1_Xn,MoveVecT1_Yn) (n=1〜24)を計算する（ステップＳ１０８）。
【００７０】
次に、動きベクトル演算部７４６は、領域番号nの時刻（ｔ−１）と時刻（ｔ）の重心データから時刻（ｔ）の暫定動きベクトル(MoveVecT_X,MoveVecT_Y)を計算する（ステップＳ１０９）。
【００７１】
そして、動きベクトル演算部７４６は、ステップＳ１０８で計算した時刻（ｔ−１）の動きベクトル(MoveVecT1_Xn,MoveVecT1_Yn)と、ステップＳ１０９で計算した暫定動きベクトル(MoveVecT_X,MoveVecT_Y)とから、上記の式（６）を用いて、２つの動きベクトルの内積を計算することによりcosθを求める（ステップＳ１１０）。
【００７２】
続いて、動きベクトル演算部７４６は、ステップＳ１１０において求めたcosθを用いて、記憶部７７内の角度関係テーブル７７６（図６）を参照することにより、cosθに対応する角度θを求める（ステップＳ１１１）。
【００７３】
次に、動きベクトル演算部７４６は、時刻（ｔ−１）の動きベクトル(MoveVecT1_Xn,MoveVecT1_Yn) と、時刻（ｔ）の暫定動きベクトル(MoveVecT_X,MoveVecT_Y) との暫定外積Gaiseki_T0を、上記した式（７）により計算する（ステップＳ１１２）。
【００７４】
そして、動きベクトル演算部７４６は、時刻（ｔ−１）と時刻（ｔ）の重心データの距離Jyu_Distanceが最短となるJyu_Distance_minが存在し、かつ、角度θが最も０度に近い時刻（ｔ）の重心が存在するか否かを判定する（ステップＳ１１３）。なお、ここで角度θが最も０度に近いという条件は、軌跡データとして、あまりに急激に角度θが変化したデータを、同じ動被写体の動きではないとして、排除するためのものである。また、ここで、重心データの距離Jyu_Distanceが所定値以上離れた場合にも、同じ動被写体の動きではないとして、そのデータを除去する。
【００７５】
そして、動きベクトル演算部７４６は、上記の条件を満たす重心が存在しない場合には（ステップＳ１１３→Ｎｏ）、処理を終了する。一方、存在する場合には（ステップＳ１１３→Ｙｅｓ）、動きベクトル演算部７４６は、重心データ(Jyu_T_Xn, Jyu_T_Yn)を、重心データ保存部７７３の時刻（ｔ）の領域番号ｎの軌跡データ（Move_T0_Xn, Move_T0_Yn）として保存する。また、動きベクトル演算部７４６は、ステップＳ１１１において求めたθ_T0_nを、記憶部７７内の角度データ保存部７７４に保存し、ステップＳ１１２において求めた外積データGaiseki_T0_nを、記憶部７７内の外積データ保存部７７５に保存する。
以上により、動きベクトル演算部７４６は、動被写体の動きベクトルを時系列方向に解析し、動きベクトルの内積から角度θを算出するとともに、動きベクトルの外積を算出することができる。
【００７６】
≪回転行動算出部の処理≫
次に、着目行動検出部７５内の回転行動算出部７５１が実行する処理について、具体的に説明する。
回転行動算出部７５１は、軌跡データ保存部７７２に保存した情報の内、角度データ保存部７７４に保存した時刻（ｔ）〜時刻（ｔ−３１）の角度θの情報と、外積データ保存部７７５に保存した時刻（ｔ）〜時刻（ｔ−３１）の外積データの情報を参照し、領域番号n=1〜24ごとに時刻（ｔ）から時刻（ｔ−３１）までの角度θ_Tm_n(m=0〜31, n=1〜24)の和SUM_θnを、上記した式（８）により計算する。
また、回転行動算出部７５１は、領域番号n=1〜24ごとに、時刻（ｔ）〜時刻（ｔ−３１）までの外積Gaiseki_Tm_n(m=0〜31, n=1〜24)の符号がm=31からm=0への時系列方向に正から負、負から正へ切り替わっている回数を、カウントHugo_Cnt_nとして計算する。
【００７７】
そして、回転行動算出部７５１は、計算したSUM_θnが所定値（例えば、360°）より大きく、かつ、Hugo_Cnt_nが所定回以下である場合には、その領域番号で示される動被写体が、回転行動をしていると判定する。一方、回転行動算出部７５１は、この判定条件（回転行動検出条件）を満たさない場合には、その領域番号で示される動被写体が、回転行動をしていないと判定する。
【００７８】
図１１は、本実施形態に係る回転行動算出部７５１の処理を説明するための図である。
図１１は、時刻（ｔ−３１）〜時刻（ｔ）までの動被写体の動きベクトルを時系列方向に解析した結果を示している。
ここで、例えば、図１１の符号ａに示すように、時刻（ｔ−７）において、動きベクトル（MoveVecT7_Xi, MoveVecT7_Yi）と動きベクトル（MoveVecT8_Xi, MoveVecT8_Yi）の内積により求まる角度は、θ_T7_nであり、外積Gaiseki_T7_i ≧ 0 （符号が正）となる。
そして、時刻（ｔ−３１）における動きベクトルから時刻（ｔ）までの角度θの算出値に基づき、角度θ_Tm_n(m=0〜31, n=1〜24)の和SUM_θnは、次の式（９）に示すようになり、SUM_θnが所定値（例えば、360°）より大きいと判定される。
【００７９】
SUM_θn = θ_T31_n + θ_T30_n + θ_T29_n + … + θ_T1_n + θ_T0_n ＞ 360°
… 式（９）
【００８０】
また、外積については、Gaiseki_Tm_i（m=0〜31）が全て0以上であるため、Hugo_Cnt_n = 0 となる。よって、例えば、Hugo_Cnt_nが所定回（例えば、「３」）とした場合に、Hugo_Cnt_nが所定回（例えば、「３」）以下の条件を満たす。
このようにして、図１１に示す場合においては、回転行動算出部７５１は、動被写体が回転行動、つまり、着目行動を行っていると判定することができる。
【００８１】
≪ジグザグ行動算出部７５２の処理≫
ジグザグ行動算出部７５２は、軌跡データ保存部７７２に保存した情報の内、時刻（ｔ）〜時刻（ｔ−３１）の外積データ保存部７７５に記憶された外積データを参照し、外積Gaiseki_Tm_n(m=0〜31, n=1〜24)の符号が、m=31からm=0への時系列方向に、正から負、負から正へ切り替わっている回数をカウントしHugo_Cnt_nを計算する。
そして、ジグザグ行動算出部７５２は、このHugo_Cnt_nが、その領域の総数の所定割合以上であるときに、その領域番号で示される動被写体が、ジグザグ行動をしていると判定する。
【００８２】
図１２は、本実施形態に係るジグザグ行動算出部７５２の処理を説明するための図である。
図１２は、時刻（ｔ−３１）〜時刻（ｔ）までの動被写体の動きベクトルを時系列方向に解析した結果を示している。
ここで、例えば、図１２の符号ａに示すように、時刻（ｔ−９）においては、動きベクトル（MoveVecT9_Xi, MoveVecT9_Yi）と動きベクトル（MoveVecT10_Xi, MoveVecT10_Yi）との外積Gaiseki_T9_i ≧ 0 （符号が正）である。このように各時刻において、外積の符号が正であるか負であるかを確認し、正から負、負から正へ切り替わっている回数をカウントしHugo_Cnt_nを計算する。ここで、所定割合を８割とすると、切り替わりの回数が２５回以上であれば、ジグザグ行動をしていると判定する。
図１２においては、Hugo_Cnt_i = 29 ≧ 25 であるので、ジグザグ行動算出部７５２は、動被写体がジグザグ行動、つまり、着目行動を行っていると判定することができる。
【００８３】
なお、着目行動検出部７５は、回転行動算出部７５１、ジグザグ行動算出部７５２による着目行動検出処理が終了した時点で、記憶部７７の軌跡データ保存部７７２に保存している、時刻（ｔ）〜時刻（ｔ−３１）の重心データ保存部７７３の動きベクトルの重心データ、時刻（ｔ）〜時刻（ｔ−３１）の角度データ保存部７７４の角度データ、および、時刻（ｔ）〜（ｔ−３１）の外積データ保存部７７５の外積データのうち、それぞれの時刻（ｔ−３１）の情報を削除する。そして、時刻（ｔ−３０）の情報を時刻（ｔ−３１）へ移動し、時刻（ｔ−２９）の情報を時刻（ｔ−３０）へ移動し、以下同様にして、時刻（ｔ）の情報を時刻（ｔ−１）へ移動する。これにより、次の動きベクトル算出部７４の処理に備えるようにする。
【００８４】
上記のように、着目行動検出部７５内の回転行動算出部７５１およびジグザグ行動算出部７５２は、動きベクトル算出部７４の動きベクトル演算部７４６が既に計算している、角度θ_Tm_nの情報、外積Gaiseki_Tm_nの情報を利用するため、別途、着目行動検出部７５において処理負荷の大きい演算を実行する必要がなく、処理時間を低減することができる。
【００８５】
以上説明したように、本実施形態に係る、撮像装置１および着目行動検出方法によれば、被写体を撮影するカメラ側の撮像装置１において、着目行動を検出することができる。これにより、撮像装置１は、着目行動の検出時のみ映像データをネットワークを介して監視システム等に送信することができる。よって、ネットワーク上のデータ量を低減することができ、また、記憶媒体であるレコーダ側の保存データ量も削減することができる。さらに、本実施形態に係る撮像装置１によれば、負荷の高い複雑な処理を行わないため、比較的処理能力の低い環境でもリアルタイムに着目行動の検出ができ、着目行動を検出した際に、即座に監視システム側へ通知することが可能となる。
【００８６】
（変更例）
本実施形態に係る、撮像装置１および着目行動検出方法は、その発明の趣旨を逸脱しない範囲において、変更実施が可能である。
本実施形態においては、動きベクトルを時系列方向に解析し、それぞれに動被写体の時系列方向の動きの大きさ（重心間の距離）や内積により算出した移動角度、外積による動きの向きを算出している。この時系列方向の時刻が古い（例えば、最も古い時刻（ｔ−３１））の動きベクトルの情報を起点とし、回転行動やジグザグ行動のような着目行動が行われたか否かだけでなく、例えば、動被写体がカメラ画面を左から右方向に移動したといったような動被写体の方向情報も求めることができ、人流解析にも適用することができる。
具体的には、着目行動検出部７５が、記憶部７７の角度データ保存部７７４に記憶された時系列の角度データで示される角度と、外積データ保存部７７５に記憶された時系列の外積データの正負の符号に対応する時計回り方向若しくは反時計回り方向を示す情報を用いて、カメラ画面内の動被写体の動きを示す動きベクトルの進行方向を検出する。これにより、動被写体に方向情報を求めることができる。
【００８７】
また、移動角度が０°から１８０°近く切り替わり、外積はゼロ付近に変わるか否かを確認することにより、動被写体が方向転換する行動を検出することができる。さらに、動きベクトルの大きさがゼロ、移動角度は０°のままか否かを確認することにより、動被写体が動いた状態から停止する行動を検出することも可能である。
【符号の説明】
【００８８】
１      撮像装置
１０    レンズユニット
１４    ズームレンズ制御用モータ
１５    フォーカスレンズ制御用モータ
２０    撮像素子
３０    ＡＦＥ
４０    画像処理ＬＳＩ
４１    区域分割輝度算出部
４２    信号処理部
５０    ＤＡＣ
６０    映像信号出力部
７０    マイコン
７１    操作情報取得部
７２    ズームレンズモータ制御部
７３    フォーカスレンズモータ制御部
７４    動きベクトル算出部
７５    着目行動検出部
７６    着目行動通知部
７７    記憶部
８０    カメラ操作部
９０    メッセージ出力部
７４１  区域分割輝度情報収集部
７４２  絶対値差分算出部
７４３  二値化処理部
７４４  ラベリング処理部
７４５  重心データ算出部
７４６  動きベクトル演算部
７５１  回転行動算出部
７５２  ジグザグ行動算出部
７７１  区域分割輝度情報保存部
７７２  軌跡データ保存部
７７３  重心データ保存部
７７４  角度データ保存部
７７５  外積データ保存部
７７６  角度関係テーブル
【図１】
2018097416.tif 000003
【図２】
2018097416.tif 000004
【図３】
2018097416.tif 000005
【図４】
2018097416.tif 000006
【図５】
2018097416.tif 000007
【図６】
2018097416.tif 000008
【図７】
2018097416.tif 000009
【図８】
2018097416.tif 000010
【図９】
2018097416.tif 000011
【図１０】
2018097416.tif 000012
【図１１】
2018097416.tif 000013
【図１２】
2018097416.tif 000014