(57)【要約】【課題】フレーム画像中の複数の被写体像を、移動方向および移動量別に分類することができる画像処理装置を提供する。【解決手段】画像処理装置は、第１フレーム画像内の第１被写体像および第２被写体像の位置から、第２フレーム画像内の第１被写体像および第２被写体像の位置までの第１動きベクトルおよび第２動きベクトルを決定する動きベクトル決定手段と、第１フレーム画像中の任意の第１画素と、第１画素および第１動きベクトルに対応する第２フレーム画像中の第２画素との第１相関を、第１画素と、第１画素および第２動きベクトルに対応する第２フレーム画像中の第３画素との第２相関と比較し、第１相関が第２相関よりも高いまたは低いとき、第１画素に第２画素および第１動きベクトルまたは第３画素および第２動きベクトルを対応付ける対応付け手段とを有する。【選択図】図３
2015064831.tif 000002
【特許請求の範囲】
【請求項１】
第１被写体像および第２被写体像を少なくとも含む第１フレーム画像と、前記第１被写体像および前記第２被写体像を少なくとも含む第２フレーム画像とを順次取得する画像取得手段と、
前記第１フレーム画像内の前記第１被写体像の位置から、前記第２フレーム画像内の前記第１被写体像の位置までの第１動きベクトルを前記第１被写体像に対応して決定するとともに、前記第１フレーム画像内の前記第２被写体像の位置から、前記第２フレーム画像内の前記第２被写体像の位置までの第２動きベクトルを前記第２被写体像に対応して決定する動きベクトル決定手段と、
前記第１フレーム画像中の任意の第１画素と、前記第１画素の第１位置を始点とする前記第１動きベクトルの終点の位置に対応する前記第２フレーム画像中の第２位置に位置する第２画素との第１相関を、前記第１画素と、前記第１位置を始点とする前記第２動きベクトルの終点の位置に対応する前記第２フレーム画像中の第３位置に位置する第３画素との第２相関と比較し、前記第１相関が前記第２相関よりも高いとき、前記第１画素に前記第２画素および前記第１動きベクトルを対応付け、前記第１相関が前記第２相関よりも低いとき、前記第１画素に前記第３画素および前記第２動きベクトルを対応付ける対応付け手段とを備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記動きベクトル決定手段は、
前記第１フレーム画像と前記第２フレーム画像との間の動きベクトルが表されたベクトル平面内で互いに密に位置する第１の複数の動きベクトルに基づいて、前記第１被写体像を代表する第１代表ベクトルを、前記第１動きベクトルとして決定するとともに、
前記ベクトル平面内で前記第１の複数の動きベクトル以外に互いに密に位置する第２の複数の動きベクトルに基づいて、前記第２被写体像を代表する第２代表ベクトルを、前記第２動きベクトルとして決定することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記第１代表ベクトルは、前記第１の複数の動きベクトルのベクトル成分の中央値で表され、
前記第２代表ベクトルは、前記第２の複数の動きベクトルのベクトル成分の中央値で表されることを特徴とする画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置において、
前記動きベクトル決定手段は、前記第１フレーム画像中の各画素を前記第１動きベクトルに基づいて移動して得られる画像と前記第２フレーム画像とで互いに等しい位置に位置する画素どうしの差異が所定範囲内に含まれる画素に対応する動きベクトルを前記ベクトル平面内から除いた後、前記ベクトル平面内で互いに密に位置する前記第２の複数の動きベクトルに基づいて前記第２代表ベクトルを前記第２動きベクトルとして決定することを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記差異は、前記互いに等しい位置に位置する画素どうしの輝度値の差の絶対値であることを特徴とする画像処理装置。
【請求項６】
請求項４または５に記載の画像処理装置において、
前記第１フレーム画像および前記第２フレーム画像の各々は、前記第１被写体像および前記第２被写体像以外に、少なくとも第３の被写体像をさらに含み、
前記動きベクトル決定手段は、
前記差異が前記所定範囲内に含まれない画素の数に応じた物理量が所定量よりも小さいか否かを判定し、
否定判定の場合、前記ベクトル平面内で前記第１の複数の動きベクトルおよび前記第２の複数の動きベクトル以外に互いに密に位置する第３の複数の動きベクトルに基づいて、前記第３の被写体像を代表する第３代表ベクトルを、前記第３の被写体像に対応する第３動きベクトルとして決定し、
肯定判定の場合、前記第３動きベクトルを決定しないことを特徴とする画像処理装置。
【請求項７】
請求項１〜５のいずれか１項に記載の画像処理装置において、
前記対応付け手段は、前記第１画素の輝度値と前記第２画素との輝度値との差の第１絶対値が、前記第１画素の前記輝度値と前記第３画素の輝度値との差の第２絶対値よりも小さいとき、前記第１相関が前記第２相関よりも高いと判定し、前記第１画素に前記第２画素および前記第１動きベクトルを対応付け、前記第１絶対値が前記第２絶対値よりも大きいとき、前記第１相関が前記第２相関よりも低いと判定し、前記第１画素に前記第３画素および前記第２動きベクトルを対応付けることを特徴とする画像処理装置。
【請求項８】
請求項１〜７のいずれか１項に記載の画像処理装置と、
第１被写体および第２被写体からの被写体光が光学系を透過することによって結像される前記第１被写体像および前記第２被写体像を含んで撮像し、前記画像取得手段によって順次取得される前記第１フレーム画像および前記第２フレーム画像の画像信号を順次出力する撮像素子とを備える撮像装置。
【請求項９】
第１被写体像および第２被写体像を少なくとも含む第１フレーム画像と、前記第１被写体像および前記第２被写体像を少なくとも含む第２フレーム画像とを順次取得する画像取得処理と、
前記第１フレーム画像内の前記第１被写体像の位置から、前記第２フレーム画像内の前記第１被写体像の位置までの第１動きベクトルを前記第１被写体像に対応して決定するとともに、前記第１フレーム画像内の前記第２被写体の位置から、前記第２フレーム画像内の前記第２被写体の位置までの第２動きベクトルを前記第２被写体像に対応して決定する動きベクトル決定処理と、
前記第１フレーム画像中の任意の第１画素と、前記第１画素の第１位置を始点とする前記第１動きベクトルの終点の位置に対応する前記第２フレーム画像中の第２位置に位置する第２画素との第１相関を、前記第１画素と、前記第１位置を始点とする前記第２動きベクトルの終点の位置に対応する前記第２フレーム画像中の第３位置に位置する第３画素との第２相関と比較し、前記第１相関が前記第２相関よりも高いとき、前記第１画素に前記第２画素および前記第１動きベクトルを対応付け、前記第１相関が前記第２相関よりも低いとき、前記第１画素に前記第３画素および前記第２動きベクトルを対応付ける対応付け処理とをコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置および画像処理プログラムに関する。
【背景技術】
【０００２】
動画像処理を行う場合、たとえば手振れ補正など複数のフレーム画像を使用する必要がある場合などでフレーム画像間の位置を合わせる必要が生じる。監視カメラなど定点観測用のビデオカメラでは画面が固定されているため、差分画像などにより、移動物体の把握が行いやすい。一方、一般的なビデオカメラで撮影された映像は撮影者の手振れにより画面全体がブレたり、パンニングなどのカメラワークが入るため、移動している被写体の検知が難しい。背景に対して移動している物体があると、その部分ではフレーム画像間の位置合わせ処理が失敗する。
【０００３】
フレーム画像間で移動する物体の領域および速度が求まると、動画像処理への応用が期待できる。そこで、背景の動きと異なる動きをする領域を検出する画像処理装置が開示されている（例えば、特許文献１参照）。その画像処理装置では、画像全体をブロックに分割し、各ブロックで動きベクトルを検出し、動きベクトル全体の平均ベクトルを求める。各動きベクトルと平均ベクトルとの差分ベクトルを計算した結果、差分ベクトルが大きい領域を動体領域として検出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３２１９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、フレーム画像間の動きベクトルは必ずしも正確には求まらないため、ミスマッチングによる外れ値（Ｏｕｔｌｉｅｒ）が動きベクトルの中に含まれていると、動画像処理が不安定になるという問題があった。
【課題を解決するための手段】
【０００６】
（１）請求項１に記載の画像処理装置は、第１被写体像および第２被写体像を少なくとも含む第１フレーム画像と、前記第１被写体像および前記第２被写体像を少なくとも含む第２フレーム画像とを順次取得する画像取得手段と、前記第１フレーム画像内の前記第１被写体像の位置から、前記第２フレーム画像内の前記第１被写体像の位置までの第１動きベクトルを前記第１被写体像に対応して決定するとともに、前記第１フレーム画像内の前記第２被写体像の位置から、前記第２フレーム画像内の前記第２被写体像の位置までの第２動きベクトルを前記第２被写体像に対応して決定する動きベクトル決定手段と、前記第１フレーム画像中の任意の第１画素と、前記第１画素の第１位置を始点とする前記第１動きベクトルの終点の位置に対応する前記第２フレーム画像中の第２位置に位置する第２画素との第１相関を、前記第１画素と、前記第１位置を始点とする前記第２動きベクトルの終点の位置に対応する前記第２フレーム画像中の第３位置に位置する第３画素との第２相関と比較し、前記第１相関が前記第２相関よりも高いとき、前記第１画素に前記第２画素および前記第１動きベクトルを対応付け、前記第１相関が前記第２相関よりも低いとき、前記第１画素に前記第３画素および前記第２動きベクトルを対応付ける対応付け手段とを備えることを特徴とする。
（２）請求項９に記載の画像処理プログラムは、第１被写体像および第２被写体像を少なくとも含む第１フレーム画像と、前記第１被写体像および前記第２被写体像を少なくとも含む第２フレーム画像とを順次取得する画像取得処理と、前記第１フレーム画像内の前記第１被写体像の位置から、前記第２フレーム画像内の前記第１被写体像の位置までの第１動きベクトルを前記第１被写体像に対応して決定するとともに、前記第１フレーム画像内の前記第２被写体の位置から、前記第２フレーム画像内の前記第２被写体の位置までの第２動きベクトルを前記第２被写体像に対応して決定する動きベクトル決定処理と、前記第１フレーム画像中の任意の第１画素と、前記第１画素の第１位置を始点とする前記第１動きベクトルの終点の位置に対応する前記第２フレーム画像中の第２位置に位置する第２画素との第１相関を、前記第１画素と、前記第１位置を始点とする前記第２動きベクトルの終点の位置に対応する前記第２フレーム画像中の第３位置に位置する第３画素との第２相関と比較し、前記第１相関が前記第２相関よりも高いとき、前記第１画素に前記第２画素および前記第１動きベクトルを対応付け、前記第１相関が前記第２相関よりも低いとき、前記第１画素に前記第３画素および前記第２動きベクトルを対応付ける対応付け処理とをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、フレーム画像中の複数の被写体像を、移動方向および移動量別に分類することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施の形態における画像処理装置を有する撮像装置のブロック構成図である。
【図２】フレーム画像内の各画素に代表動きベクトルを対応づける画像処理のフローチャートである。
【図３】マッチング処理を詳細に説明するためのフローチャートである。
【図４】撮像素子から順次出力される第１フレーム画像および第２フレーム画像の例を示す図である。
【図５】フレーム画像間における被写体毎の動きベクトルの例と、１回目の動きベクトル抽出処理とを説明するための図である。
【図６】２回目の動きベクトル抽出処理を説明するための図である。
【図７】３回目の動きベクトル抽出処理を説明するための図である。
【図８】フレーム画像中の複数の被写体を、移動方向および移動量別に分類した様子を示す説明図である。
【図９】変形例における画像処理装置を有するパソコンおよびパソコンと接続される撮像装置のブロック構成図である。
【図１０】本発明による画像処理装置が画像処理を実行するためのコンピュータプログラム製品の提供形態を示す図である。
【発明を実施するための形態】
【０００９】
図１は、本発明の一実施の形態における画像処理装置１１０を有する撮像装置１００のブロック構成図である。撮像装置１００は、画像処理装置１１０、撮像素子１２０、光学系１３０およびモニタ１４０を有するとともに、記録媒体１５０を接続することができる。光学系１３０は、不図示の被写体から到来する被写体光を透過して撮像素子１２０に被写体像を結像する。撮像素子１２０は、その結像された被写体像を撮像することによってフレーム画像を時系列的に出力する。後述するように、撮像素子１２０によって被写体像が撮像されたフレーム画像は画像処理装置１１０によって順次取得され、後述する画像処理が行われた後、補正されたフレーム画像に基づく動画像がモニタ１４０および／または記録媒体１５０に出力される。
【００１０】
画像処理装置１１０は、画像処理プログラムを実行するコンピュータである。画像処理装置１１０は、その画像処理プログラムを実行することによって、画像取得部１１１、動きベクトル決定部１１２、対応付け部１１３、応用処理部１１４および画像出力部１１５を機能的に有する。画像取得部１１１は、撮像素子１２０によって被写体像が撮像された時系列的なフレーム画像を順次取得する。動きベクトル決定部１１２は、後述するように、被写体像に対応する動きベクトルを決定する。対応付け部１１３は、後述するように、フレーム画像内の各画素に代表動きベクトルを対応づける。応用処理部１１４は、フレーム画像内の各画素と代表動きベクトルとの対応関係に基づき、公知技術を用いて、各フレーム画像の手振れを補正したり、移動被写体を追尾したり、異常行動を検出したり、手を振っている被写体人物を検出する等の応用処理を行って、加工した動画像を生成する。画像出力部１１５は、応用処理部１１４によって生成された動画像をモニタ１４０および／または撮像装置１００の外部の記録媒体１５０へ出力する。
【００１１】
図２は、フレーム画像内の各画素に代表動きベクトルを対応づける画像処理のフローチャートである。この画像処理は画像処理装置１１０が予め記憶しているコンピュータプログラムを実行することによって行われる。この画像処理が開始されると、撮像素子１２０が、動画像の撮影を開始し、被写体像を撮像した時系列的なフレーム画像を順次出力する。なお、ここでは、撮像素子１２０は、複数の被写体像を撮像しているものとする。ステップＳ２０５において、画像処理装置１１０の画像取得部１１１は、撮像素子１２０によって出力される時系列的なフレーム画像のうち、時間的に連続している第１フレーム画像および第２フレーム画像を順次取得したとする。
【００１２】
次のステップＳ２１０からステップＳ２５５までの処理は、クラスタリング処理である。画面全体で動きベクトル検出を行う。動きベクトル検出は公知のブロックマッチング法や、公知の輝度勾配法の１つであるＫＬＴ法（Ｋａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ  Ｔｒａｃｋｅｒ）を利用する。ブロックマッチング法を利用する場合は、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を利用するのが好ましい。ステップＳ２１０において、画像処理装置１１０の動きベクトル決定部１１２は、測定点を第１フレーム画像および第２フレーム画像の全面にまんべんなく配置する。その際、測定点を、等間隔に配置しても良いし、コーナー点など追跡しやすい点に設置しても良い。第１フレーム画像および第２フレーム画像の全画素に測定点を配置する必要はないが、なるべくフレーム画像全面で密になるように測定点を置くほうが望ましい。たとえば、測定点を、２０画素ごとに３点程度の割合で配置する。ステップＳ２１５において、動きベクトル決定部１１２は、第１フレーム画像と第２フレーム画像との間の動きベクトルを、公知のブロックマッチング法や、公知の輝度勾配法を用いて、各測定点毎に検出する。この段階では、測定点によっては、誤った動きベクトル、すなわちミスマッチングによる外れ値が検出されている可能性がある。
【００１３】
ステップＳ２２０において、動きベクトル決定部１１２は、ステップＳ２１５で検出した全ての測定点における動きベクトル（ｕ，ｖ）を、動きベクトル平面にプロットする。ステップＳ２２５において、動きベクトル決定部１１２は、第１フレーム画像および第２フレーム画像の全画素にマスクを設定する。これ以降のステップでは、マスクが設定された画素を対象として処理が行われる。全画素にマスクが設定されている場合は、全画素が処理対象となる。
【００１４】
ステップＳ２３０において、動きベクトル決定部１１２は、マスクが設定されている画素に含まれる測定点を対象に、ステップＳ２１５で検出された各測定点毎の動きベクトルを抽出する。その際、マスクアウトされた画素に含まれる測定点に対応する動きベクトルは抽出されない。抽出されなかった動きベクトルは動きベクトル平面内から除かれ、抽出された動きベクトルのみが動きベクトル平面上にプロットされる。
【００１５】
ステップＳ２３５において、動きベクトル決定部１１２は、第１フレーム画像と第２フレーム画像との間の動きベクトルが表された動きベクトル平面内で互いに密に位置する複数の動きベクトルを特定する。ここでは、動きベクトル平面内で動きベクトル（ｕ，ｖ）の分布がもっとも密な局所領域を検出し、その検出した局所領域を最密ベクトル領域とする。たとえば動きベクトル平面内を、５画素×５画素四方のブロックをシフトしながら走査していき、もっとも動きベクトル数の多い局所領域を最密ベクトル領域としてもよい。また、ミーンシフト法を適用して、プロットが密になった局所領域を最密ベクトル領域として検出しても良い。このようにして検出された最密ベクトル領域は、第１フレーム画像および第２フレーム画像に含まれる１つの被写体像に対応していると考えられる。動きベクトル決定部１１２は、最密ベクトル領域として検出した局所領域内に含まれる複数の動きベクトルを特定する。
【００１６】
ステップＳ２４０において、動きベクトル決定部１１２は、最密ベクトル領域として検出した局所領域内に含まれる動きベクトルを統計処理することによって得られる最頻度動きベクトルを、その局所領域に対応する被写体像を代表するもっともらしい代表動きベクトルとして決定する。たとえば、その局所領域内に含まれる動きベクトルのベクトル成分の中央値（メディアン）で表される動きベクトルを最頻度動きベクトルとする。
【００１７】
ステップＳ２４５において、動きベクトル決定部１１２は、ステップＳ２４０で代表動きベクトルとして決定した最頻度動きベクトルに基づいて、第１フレーム画像を移動して得られる画像と、第２フレーム画像とで互いに等しい画素位置に位置する画素どうしの相関を取る。２つの画像間の相関を取るには、たとえば互いに等しい画素位置に位置する画素どうしの差異が所定範囲内に含まれるか否かを判断する。互いに等しい画素位置に位置する画素どうしの差異としては、例えばそれらの画素どうしの輝度値の差の絶対値が算出される。動きベクトル決定部１１２は、算出されたその輝度値の差の絶対値が所定範囲内に含まれる場合、それらの２つの画像間で互いに等しい画素位置に位置する画素どうしは、互いに相関が高く、互いに一致した画素であると判断される。算出されたその輝度値の差の絶対値が所定範囲外となる場合、それらの２つの画像間で互いに等しい画素位置に位置する画素どうしは、互いに相関が低く、互いに一致した画素ではないと判断される。このような判断処理を、動きベクトル決定部１１２は、すべての画素に対して行う。
【００１８】
ステップＳ２５０において、動きベクトル決定部１１２は、ステップＳ２４５で互いに一致した画素では無いと判断された画素に対してマスクを設定し、ステップＳ２４５で互いに一致した画素であると判定された画素をマスクアウトする。すなわち、動きベクトル決定部１１２は、ステップＳ２４５で算出した輝度値の差の絶対値が所定範囲外となる画素にマスクを設定する。本処理が次のステップＳ２５５での否定判定を経てステップＳ２３０へ戻ると、ステップＳ２４５で算出した輝度値の差の絶対値が所定範囲内に含まれる画素に対応する動きベクトルは、ステップＳ２４５でマスクが設定される際にマスクアウトされているので、動きベクトル平面内から除かれることとなる。
【００１９】
ステップＳ２５５において、動きベクトル決定部１１２は、上述したステップＳ２３０からステップＳ２５０までの一連の処理を繰り返して行うか、後述するステップＳ２６０に処理を進めるかについての条件判断処理を行う。具体的には、動きベクトル決定部１１２は、ステップＳ２４５で算出した輝度値の差の絶対値が所定範囲外となる画素に対してステップＳ２５０でマスクが設定されているので、そのマスクが設定されている画素の数に応じた物理量が所定量よりも小さいか否かを判定する。例えば、マスクが設定されている画素の数が閾値以下であるか否か、マスクが設定されている画素が隣接することによって形成される領域の面積が閾値以下であるか否か、あるいはマスクが設定されている画素に含まれる測定点の数が閾値以下であるか否かが判定される。否定判定がなされた場合、ステップＳ２４０で決定された代表動きベクトルが代表する被写体像とは別の被写体像が、第１フレーム画像および第２フレーム画像に含まれていると推定できる。そこで、上述したステップＳ２３０からステップＳ２５０までの一連の処理が繰り返されることによって、動きベクトル決定部１１２は、ステップＳ２４５で算出した輝度値の差の絶対値が所定範囲内に含まれることによってマスクアウトされた画素に対応する動きベクトルを、動きベクトル平面内から除外する。その後、その動きベクトル平面内で互いに密に位置する複数の動きベクトル、すなわち新たな最密ベクトル領域として検出される局所領域内に含まれる新たな複数の動きベクトルに基づいて、その局所領域に対応する被写体像を代表する新たな代表動きベクトルを決定する。
【００２０】
上述したステップＳ２３０からステップＳ２５０までの一連の処理が複数サイクル繰り返されることによって、繰り返されたサイクル数分の移動被写体（背景を含む）が、移動方向および移動量とともに検出される。測定点が画像全面にまんべんなく配置されているため、測定点を最も多く含む背景に対応する代表動きベクトルが最初のサイクルで決定され、次以降のサイクルで背景以外の被写体に対応する代表動きベクトルが、被写体の面積順に（測定点を多く含む順に）決定されていく。これは体のある部位だけ別の動作をする人、動物などの複雑な被写体に対しても同様に決定することができる。
【００２１】
上述したステップＳ２３０からステップＳ２５０までの一連の処理が繰り返されると、最終的には、ステップＳ２５５において肯定判定がなされる。この段階でマスクが設定されている画素に含まれる測定点に対応する動きベクトルは、外れ値に該当すると推定できる。
【００２２】
ステップＳ２６０では、図３を用いて後述するように、マッチング処理が行われる。すなわち、画像処理装置１１０の対応付け部１１３が、第１フレーム画像の各画素に対して、第２フレーム画像の画素を対応付けるとともに、ステップＳ２４０で決定された代表動きベクトルのうちのいずれかを対応付ける。結果として、図８を用いて後述するように、フレーム画像中の複数の被写体が、移動量別に分類されることとなる。
【００２３】
ステップＳ２６０の処理が完了すると、本画像処理は終了するが、第２フレーム画像とその次のフレーム画像とを新たな第１フレーム画像および第２フレーム画像として、同様にして本画像処理が行われる。このようにして、すべてのフレーム画像間の動きベクトルが決定され、フレーム画像中の複数の被写体が、移動量別に分類されると、画像処理装置１１０の応用処理部１１４が、上述した応用処理を行って加工した動画像を生成する。上述したように、応用処理部１１４によって生成された動画像は、画像処理装置１１０の画像出力部１１５によって、モニタ１４０および／または撮像装置１００の外部の記録媒体１５０へ出力される。
【００２４】
図３は、図２のステップＳ２６０で行われるマッチング処理を詳細に説明するためのフローチャートである。画像処理装置１１０の対応付け部１１３は、第１フレーム画像の各画素に対して、第２フレーム画像の画素を対応付けるとともに、図２のステップＳ２４０で決定された代表動きベクトルのうちのいずれかを対応付ける。具体的には、対応付け部１１３は、第１フレーム画像中の任意の画素の位置を始点として、図２のステップＳ２４０で決定された１つまたは複数の代表動きベクトルを順次適用する。対応付け部１１３は、第１フレーム画像の各画素と、その第１フレーム画像の各画素の位置を起点としたときの各代表動きベクトルの終点の位置に対応する第２フレーム画像中の位置に位置する対応画素との相関を取る。対応付け部１１３は、第１フレーム画像の画素と相関が最も高い第２フレーム画像中の対応画素に対応する代表動きベクトルを、その第１フレーム画像の画素に対応する動きベクトルとして決定する。第１フレーム画像の全画素に対して本マッチング処理を適用することで、すべての画素の移動方向および移動量を決定することができる。
【００２５】
なお、第１フレーム画像の画素と第２フレーム画像中の対応画素との相関は、両画素の輝度値に基づいて決定することができる。例えば、第１フレーム画像の画素の輝度値と第２フレーム画像中の対応画素の輝度値との差の絶対値が小さいほど両画素の相関が高く、その絶対値が大きいほど両画素の相関は低い。
【００２６】
ステップＳ３１０において、画像処理装置１１０の対応付け部１１３は、第１フレーム画像中の各画素の輝度値を取得する。ステップＳ３２０において、対応付け部１１３は、第１フレーム画像中の各画素を始点として、図２のステップＳ２４０で決定された１つまたは複数の代表動きベクトルのそれぞれの終点の位置を特定する。ステップＳ３３０では、対応付け部１１３は、ステップＳ３２０で特定した位置に対応する第２フレーム画像中の位置に位置する対応画素の輝度値を、各代表動きベクトル毎に取得する。
【００２７】
ステップＳ３４０において、対応付け部１１３は、ステップＳ３１０で取得した第１フレーム画像中の任意の画素の輝度値と、ステップＳ３３０で取得した第２フレーム画像中の対応画素の輝度値との差の絶対値を、各代表動きベクトル毎に算出する。ステップＳ３５０において、対応付け部１１３は、ステップＳ３４０で各代表動きベクトル毎に算出した差の絶対値のうちの最小値に対応する代表動きベクトルを特定する。ステップＳ３６０において、対応付け部１１３は、ステップＳ３１０で輝度値を取得した第１フレーム画像中の画素と、ステップＳ３５０で特定した代表動きベクトルおよびその代表動きベクトルに対応する第２フレーム画像中の画素とを対応づける。
【００２８】
図４は、撮像素子から順次出力され、図２のステップＳ２０５において、画像処理装置の画像取得部によって取得される第１フレーム画像および第２フレーム画像の例を示す図である。図４（ａ）は第１フレーム画像３１０を例示し、図４（ｂ）は第１フレーム画像３１０よりも後に取得される第２フレーム画像３２０を例示している。第１フレーム画像３１０および第２フレーム画像３２０は、いずれも、静止している家の像５１０を含む背景像を含んでいる。第１フレーム画像３１０は、さらに、紙面に向かって右方向に移動しようとしているバスの像５２０と、紙面に向かって左方向に移動しようとしている男性の像５３０を含む。第２フレーム画像３２０は、さらに、紙面に向かって右方向に移動した後のバスの像５２０ａと、紙面に向かって左方向に移動した後の男性の像５３０ａを含む。
【００２９】
図５は、フレーム画像間における被写体毎の動きベクトルの例と、１回目の動きベクトル抽出処理とを説明するための図である。図５（ａ）は、図４に示した第１フレーム画像３１０および第２フレーム画像３２０を重ね合わせることによって、複数の被写体像の移動方向および移動量を示した図である。第１フレーム画像３１０および第２フレーム画像３２０を重ね合わせることによって、家の像５１０を含む背景像は一致するため、家の像５１０を含む背景像は移動していないことがわかる。第１フレーム画像３１０におけるバスの像５２０は、第２フレーム画像３２０におけるバスの像５２０ａに対応する。第１フレーム画像３１０における男性の像５３０は、第２フレーム画像３２０における男性の像５３０ａに対応する。紙面に向かって水平右方向を正の方向とし、水平左方向を負の方向とする。第１フレーム画像３１０におけるバスの像５２０から第２フレーム画像３２０におけるバスの像５２０ａまでの移動方向および移動量は、＋Ｄ１で表される。第１フレーム画像３１０における男性の像５３０から第２フレーム画像３２０における男性の像５３０ａまでの移動方向および移動量は、−Ｄ２で表される。
【００３０】
図２のステップＳ２１０で第１フレーム画像３１０および第２フレーム画像３２０の全面にまんべんなく配置された測定点毎に、ステップＳ２１５で検出された動きベクトル７５０を、ステップＳ２２０で第１フレーム画像３１０から第２フレーム画像３２０への被写体像の水平方向および垂直方向の移動をそれぞれｕ軸およびｖ軸に対応させた動きベクトル平面７００にプロットした例を、図５（ｂ）に示す。動きベクトル７５０の測定点は、第１フレーム画像３１０および第２フレーム画像３２０の全面にまんべんなく配置されている。そのため、測定点の数は、移動していない家の像５１０を含む背景像、水平方向の移動量が＋Ｄ１であるバスの像５２０（５２０ａ）、水平方向の移動量が−Ｄ２である男性の像５３０（５３０ａ）の順に多い。したがって、それらの被写体像にそれぞれ対応して、図５（ｂ）においては、動きベクトル平面７００内の座標（ｕ，ｖ）＝（０，０）付近に最も多くの動きベクトル７５０がプロットされ、次いで座標（ｕ，ｖ）＝（Ｄ１，０）付近に多くの動きベクトル７５０がプロットされ、さらにそれに次いで座標（ｕ，ｖ）＝（−Ｄ２，０）付近に多くの動きベクトル７５０がプロットされている。
【００３１】
図２のステップＳ２２５では、動きベクトル決定部１１２によって、第１フレーム画像３１０および第２フレーム画像３２０の全画素にマスクが設定されるため、その次のステップＳ２３０では、動きベクトル平面７００から除外される動きベクトル７５０は無い。したがって、図５（ｂ）に示す動きベクトル平面７００内のすべての動きベクトル７５０を対象として、ステップＳ２３５の処理が動きベクトル決定部１１２によって行われ、動きベクトル平面７００内を、５画素×５画素四方のブロックをシフトしながら走査される。走査の結果、動きベクトル決定部１１２によって、図５（ｂ）に示す座標（ｕ，ｖ）＝（０，０）付近の局所領域７１０が最密ベクトル領域として検出され、局所領域７１０に含まれるすべての動きベクトル７５０が特定される。上述したように、座標（ｕ，ｖ）＝（０，０）付近にプロットされた動きベクトル７５０は、移動していない家の像５１０を含む背景像に対応するので、局所領域７１０はその背景像に対応する領域である。ステップＳ２３５では、動きベクトル決定部１１２によって、ステップＳ２３０で特定された動きベクトル７５０のベクトル成分ｕおよびｖの中央値が例えばともに０で表される最頻度動きベクトル（０，０）が、局所領域７１０に対応する背景像を代表する代表動きベクトルとして決定される。
【００３２】
図２のステップＳ２４０で代表動きベクトル（０，０）が決定されたため、ステップＳ２４５およびその次のステップＳ２５０を経て新たなマスクが設定される画素には、移動していない家の像５１０を含む背景像を構成する画素が含まれず、移動しているバスの像５２０（５２０ａ）および男性の像５３０（５３０ａ）を構成する画素が含まれる。第１フレーム画像３１０に対してこの新たなマスクが設定されたマスク画像６１０の一例を図５（ｃ）に示す。図５（ｃ）において、マスク画像６１０中にマスクが設定されているのは、バスの像５２０ｂおよび男性の像５３０ｂを構成する画素であり、それらの像以外のハッチングを付与して示した領域は、マスクアウトされた画素で構成されている。
【００３３】
続いて、図２のステップＳ２５５で否定判定がなされると、２回目の動きベクトル抽出処理であるステップＳ２３０では、図５（ｃ）に示すマスク画像６１０において、マスクが設定されている画素に含まれる測定点を対象に、動きベクトル決定部１１２によって、各測定点毎の動きベクトルが抽出される。図６は、２回目の動きベクトル抽出処理を説明するための図である。マスク画像６１０においてマスクアウトされた画素に含まれる測定点に対応する動きベクトルは抽出されないため、図５（ｂ）に示すベクトル平面７００にプロットされていた局所領域７１０内の動きベクトルが、図６（ａ）に示すベクトル平面７００ａにはプロットされていない。
【００３４】
図６（ａ）に示すベクトル平面７００ａ内のすべての動きベクトル７５０を対象として、ステップＳ２３５の処理が動きベクトル決定部１１２によって行われ、動きベクトル平面７００ａ内を、５画素×５画素四方のブロックをシフトしながら走査される。走査の結果、動きベクトル決定部１１２によって、図６（ａ）に示す座標（ｕ，ｖ）＝（Ｄ１，０）付近の局所領域７１０ａが最密ベクトル領域として検出され、局所領域７１０ａに含まれるすべての動きベクトル７５０が特定される。上述したように、座標（ｕ，ｖ）＝（Ｄ１，０）付近にプロットされた動きベクトル７５０は、水平方向の右向きに移動するバスの像５２０（５２０ａ）に対応するので、局所領域７１０ａはそのバスの像５２０（５２０ａ）に対応する領域である。ステップＳ２３５では、動きベクトル決定部１１２によって、ステップＳ２３０で特定された動きベクトル７５０のベクトル成分ｕおよびｖの中央値が例えばＤ１および０で表される最頻度動きベクトル（Ｄ１，０）が、局所領域７１０ａに対応するバスの像５２０（５２０ａ）を代表する代表動きベクトルとして決定される。
【００３５】
図２のステップＳ２４０で代表動きベクトル（Ｄ１，０）が決定されたため、ステップＳ２４５およびその次のステップＳ２５０を経て再び新たなマスクが設定される画素には、移動していない家の像５１０を含む背景像および移動しているバスの像５２０（５２０ａ）を構成する画素が含まれず、男性の像５３０（５３０ａ）を構成する画素が含まれる。第１フレーム画像３１０に対してこの新たなマスクが設定されたマスク画像６１２の一例を図６（ｂ）に示す。図６（ｂ）において、マスク画像６１２中にマスクが設定されているのは、男性の像５３０ｂを構成する画素であり、その像以外のハッチングを付与して示した領域は、マスクアウトされた画素で構成されている。
【００３６】
続いて、図２のステップＳ２５５で否定判定がなされると、３回目の動きベクトル抽出処理であるステップＳ２３０では、図６（ｂ）に示すマスク画像６１２において、マスクが設定されている画素に含まれる測定点を対象に、動きベクトル決定部１１２によって、各測定点毎の動きベクトルが抽出される。図７は、３回目の動きベクトル抽出処理を説明するための図である。マスク画像６１２においてマスクアウトされた画素に含まれる測定点に対応する動きベクトルは抽出されないため、図５（ｂ）に示すベクトル平面７００にプロットされていた局所領域７１０内の動きベクトルと、図６（ａ）に示すベクトル平面７００ａにプロットされていた局所領域７１０ａ内の動きベクトルとが、図７（ａ）に示すベクトル平面７００ｂにはプロットされていない。
【００３７】
図７（ａ）に示すベクトル平面７００ｂ内のすべての動きベクトル７５０を対象として、ステップＳ２３５の処理が動きベクトル決定部１１２によって行われ、動きベクトル平面７００ｂ内を、５画素×５画素四方のブロックをシフトしながら走査される。走査の結果、動きベクトル決定部１１２によって、図７（ａ）に示す座標（ｕ，ｖ）＝（−Ｄ２，０）付近の局所領域７１０ｂが最密ベクトル領域として検出され、局所領域７１０ｂに含まれるすべての動きベクトル７５０が特定される。上述したように、座標（ｕ，ｖ）＝（−Ｄ２，０）付近にプロットされた動きベクトル７５０は、水平方向の左向きに移動する男性の像５３０（５３０ａ）に対応するので、局所領域７１０ｂはその男性の像５３０（５３０ａ）に対応する領域である。ステップＳ２３５では、動きベクトル決定部１１２によって、ステップＳ２３０で特定された動きベクトル７５０のベクトル成分ｕおよびｖの中央値が例えば−Ｄ２および０で表される最頻度動きベクトル（−Ｄ２，０）が、局所領域７１０ａに対応する男性の像５３０（５３０ａ）を代表する代表動きベクトルとして決定される。
【００３８】
図２のステップＳ２４０で代表動きベクトル（−Ｄ２，０）が決定されたため、ステップＳ２４５およびその次のステップＳ２５０を経てさらに再び新たなマスクが設定される画素には、移動していない家の像５１０を含む背景像、移動しているバスの像５２０（５２０ａ）および男性の像５３０（５３０ａ）を構成する画素が含まれない。第１フレーム画像３１０に対してこの新たなマスクが設定されたマスク画像６１４の一例を図７（ｂ）に示す。図７（ｂ）において、マスク画像６１２には、ほぼ全面にわたってハッチングが付与され、すなわちほぼすべての画素がマスクアウトされている。マスクが設定されているのは、図７（ａ）に示す動きベクトル平面７００ｂのうちの局所領域７１０ｂに含まれない２つの動きベクトル７５０がそれぞれ検出される２つの測定点に対応する画素を含む極めて少数の画素のみである（図７（ｂ）には不図示）。図２のステップＳ２５５において、動きベクトル決定部１１２によって、マスク内の測定点の数「２」が閾値以下であると判定されると、上述した図２のステップＳ２３０からステップＳ２５０までの一連の処理の繰り返しを停止する。この段階でマスクが設定されている画素に含まれる測定点に対応する動きベクトルは、外れ値に該当すると推定できる。また、図４〜図７に示す例では、図２のステップＳ２３０からステップＳ２５０までの一連の処理の繰り返しを通じて、最終的に、３つの代表動きベクトル、すなわち、移動していない家の像５１０を含む背景像を代表する代表動きベクトル（０，０）と、バスの像５２０（５２０ａ）を代表する代表動きベクトルと、男性の像５３０（５３０ａ）を代表する代表動きベクトル（−Ｄ２，０）とが決定されている。
【００３９】
図８は、図４〜図７に示す例で用いられたフレーム画像中の複数の被写体を、移動方向および移動量別に分類した様子を示す説明図であり、第１フレーム画像３１０に対応する領域分類画像８００が、背景像５００と、バスの像５２０ｃと、男性の像５３０ｃとに分割されている。領域分類画像８００は説明図であるから、実際には必ずしも生成される必要は無い。図８に示すように、図４（ａ）に示す第１フレーム画像３１０の全画素を対象にして図２のステップＳ２６０におけるマッチング処理が行われた結果、それら全画素の各々が、上述した３つの代表動きベクトル、すなわち、移動していない家の像５１０を含む背景像を代表する代表動きベクトル（０，０）と、バスの像５２０（５２０ａ）を代表する代表動きベクトルと、男性の像５３０（５３０ａ）を代表する代表動きベクトル（−Ｄ２，０）とのうちのいずれか１つに対応付けられる。代表動きベクトルは移動方向および移動量を表す物理量である。したがって、このマッチング処理によって、第１フレーム画像３１０中の４つの被写体像、すなわち、家の像５１０、家の像５１０以外の背景像、バスの像５２０（５２０ａ）および男性の像５３０（５３０ａ）を、移動方向および移動量別に３分類することができる。
【００４０】
上述した図２のクラスタリング処理におけるステップＳ２３０からステップＳ２５０までの一連の処理の繰り返しが停止された段階でマスクが設定されていた画素は、上述した３つの代表動きベクトルのいずれも対応付けられていなかったが、図２のステップＳ２６０および図３に示すステップＳ３１０〜Ｓ３６０で行われるマッチング処理では、上述した相関に基づいて、それら３つの代表動きベクトルのいずれかに対応付けられる。したがって、図８に示す領域分類画像８００には、外れ値に該当する動きベクトルが対応付けられた画素が存在しない。結果として、第１フレーム画像３１０中の４つの被写体像、すなわち、家の像５１０、家の像５１０以外の背景像、バスの像５２０（５２０ａ）および男性の像５３０（５３０ａ）の移動方向および移動量は、外れ値の影響をあまり受けることなく求められることとなる。
【００４１】
−−−変形例−−−
（１）上述した実施の形態においては、図１に示すように、画像処理装置１１０は撮像装置１００に含まれているが、撮像装置１００に含まれていなくてもよい。図９は、本変形例における画像処理装置１１０を有するパソコン９００およびパソコン９００と接続される撮像装置１００のブロック構成図である。パソコン９００は、画像処理装置１１０と通信装置９１０とを有する。通信装置９１０は、後述する撮像装置１００が有する通信装置９６０との有線通信または無線通信を行うことによって、撮像装置１００の撮像素子１２０によって撮像されたフレーム画像を受信し、そのフレーム画像を画像処理装置１１０の画像取得部１１１に転送する。モニタ１４０および記録媒体１５０は、パソコン９００の外部装置として、画像処理装置１１０内の画像出力部１１６と接続されることによってデータ転送が行われる。
【００４２】
撮像装置１００は、撮像素子１２０と光学系１３０とに加えて、制御装置９５０と通信装置９６０とを有する。制御装置９５０は、撮像素子１２０によって撮像されたフレーム画像を読み出し、通信装置９６０に転送し、通信装置９６０にそのフレーム画像をパソコン９００の通信装置９１０へ送信させる。
【００４３】
このように、画像処理装置１１０は、撮像装置１００に含まれずに、パソコン９００に含まれることとしても、本発明を適用することができる。
【００４４】
（２）上述した実施の形態においては、マッチング処理の結果を、図８に示す領域分類画像８００を用いて説明した。例えば、第１フレーム画像３１０および第２フレーム画像３２０において、雲の無い空などのテクスチャが少ない被写体像が背景像の中に含まれているような場合に、その被写体像を構成する画素の中には、背景像を代表する代表動きベクトル以外の他の代表動きベクトルが誤って対応付けられてしまう可能性が考えられる。そこで、画像処理装置１１０の対応付け部１１３が、図８に示す領域分類画像８００を実際に生成し、その領域分類画像８００に対して、メディアンフィルタ処理や、周囲の画素に基づく補間処理を行うこととしてもよい。補間処理を行う際には、テクスチャが少ない領域に含まれる画素よりもエッジ付近の領域に含まれる画素に対する重み付けを大きくしてもよい。
【００４５】
（３）上述した実施の形態において、第１フレーム画像３１０および第２フレーム画像３２０の各々は、家の像５１０を含む背景像、バスの像５２０、および男性の像５３０という３つの被写体像を含んでいる。第１フレーム画像３１０および第２フレーム画像３２０の各々が３つの被写体像を含んでいる場合に限らず、第１フレーム画像３１０および第２フレーム画像３２０の各々が２つの被写体像または３つよりも多い数の被写体像、すなわち少なくとも２つの被写体像を含んでいる場合に、本発明を適用することができることは、明らかである。
【００４６】
（４）撮像装置１００またはパソコン９００に内蔵される画像処理装置１１０が上述した実施形態および変形例の各々における画像処理を実行するためのコンピュータプログラム製品は、図１０に示されるように、プログラム記憶媒体２０００（例えばＣＤ−ＲＯＭ）や通信ネットワーク４０００（例えばインターネット）によって伝達されるデータ信号を通じてパソコン９００に提供される。画像処理装置１１０が撮像装置１００に内蔵される場合は、そのコンピュータプログラム製品は、そのパソコン９００からさらに通信を介して撮像装置１００へ提供され、撮像装置１００がその画像処理プログラムを読み込む。
【００４７】
パソコン９００は、プログラム記憶媒体２０００を介して画像処理プログラムの提供を受ける。あるいは、以下の供給形態で画像処理プログラムが提供されても良い。パソコン９００は通信ネットワーク４０００との接続機能を有する。サーバー３０００は画像処理プログラムを提供するコンピュータであり、ハードディスクなどの記憶媒体に画像処理プログラムを格納する。サーバー３０００はハードディスクから読み出した画像処理プログラムを、データ信号として搬送波に載せ、通信ネットワーク４０００を介してパソコン９００へ転送する。以上のように、画像処理プログラムは、プログラム記憶媒体２０００や通信ネットワーク４０００を介するデータ信号としての提供を含む種々の形態のコンピュータプログラム製品によって供給されることが好ましい。
【００４８】
本発明は上述した内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００４９】
１００  撮像装置、１１０  画像処理装置、
１１１  画像取得部、１１２  動きベクトル決定部、１１３  対応付け部、
１１４  応用処理部、１１５  画像出力部、
１２０  撮像素子、１３０  光学系、１４０  モニタ、１５０  記録媒体、
３１０  第１フレーム画像、３２０  第２フレーム画像、
５１０  家の像、５２０  バスの像、５３０  男性の像、
６１０、６１２、６１４  マスク画像、
７００  動きベクトル平面、７１０  局所領域、７５０  動きベクトル、
８００  領域分類画像、
９００  パソコン、９１０、９６０  通信装置、９５０  制御装置、
２０００  プログラム記憶媒体、３０００  サーバー、４０００  通信ネットワーク
【図１】
2015064831.tif 000003
【図２】
2015064831.tif 000004
【図３】
2015064831.tif 000005
【図４】
2015064831.tif 000006
【図５】
2015064831.tif 000007
【図６】
2015064831.tif 000008
【図７】
2015064831.tif 000009
【図８】
2015064831.tif 000010
【図９】
2015064831.tif 000011
【図１０】
2015064831.tif 000012