(57)【特許請求の範囲】
【請求項１】
移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成する行列作成手段と、
前記対応する行列を用いて共分散行列を生成する生成手段と、
前記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求める演算手段と、
求められたユークリッド距離に基づき閾値を算出する閾値算出手段と、
ユークリッド距離と前記閾値との比較に基づき移動物体を検出する移動物体検出手段と
を具備することを特徴とする画像処理装置。
【請求項２】
閾値算出手段は、求められたユークリッド距離を加算してブロック数にて除算して閾値を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
閾値算出手段は、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
ユークリッド距離に基づき、カメラが移動しているか否かを検出するカメラ移動検出手段を備え、
該カメラ移動検出手段がカメラの移動を検出した場合に、閾値算出手段が閾値を新たに算出し、移動物体検出手段がこの新たな閾値を用いて移動物体検出を行うことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
移動物体検出手段は、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成する行列作成ステップと、
前記対応する行列を用いて共分散行列を生成する生成ステップと、
前記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求める演算ステップと、
求められたユークリッド距離に基づき閾値を算出する閾値算出ステップと、
ユークリッド距離と前記閾値との比較に基づき移動物体を検出する移動物体検出ステップと
を具備することを特徴とする画像処理方法。
【請求項７】
閾値算出ステップは、求められたユークリッド距離を加算してブロック数にて除算して閾値を算出することを特徴とする請求項６に記載の画像処理方法。
【請求項８】
閾値算出ステップは、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出することを特徴とする請求項６に記載の画像処理方法。
【請求項９】
ユークリッド距離に基づき、カメラが移動しているか否かを検出するカメラ移動検出ステップを備え、
該カメラ移動検出ステップがカメラの移動を検出した場合に、閾値算出ステップが閾値を新たに算出し、移動物体検出ステップがこの新たな閾値を用いて移動物体検出を行うことを特徴とする請求項６乃至８のいずれか１項に記載の画像処理方法。
【請求項１０】
移動物体検出ステップは、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出することを特徴とする請求項６乃至９のいずれか１項に記載の画像処理方法。
【請求項１１】
画像処理を行うコンピュータを、
移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成する行列作成手段、
前記対応する行列を用いて共分散行列を生成する生成手段、
前記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求める演算手段、
求められたユークリッド距離に基づき閾値を算出する閾値算出手段、
ユークリッド距離と前記閾値との比較に基づき移動物体を検出する移動物体検出手段
として機能させることを特徴とする画像処理用プログラム。
【請求項１２】
コンピュータを閾値算出手段として、求められたユークリッド距離を加算してブロック数にて除算して閾値を算出するように機能させることを特徴とする請求項１１に記載の画像処理用プログラム。
【請求項１３】
コンピュータを閾値算出手段として、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出するように機能させることを特徴とする請求項１１に記載の画像処理用プログラム。
【請求項１４】
コンピュータを
ユークリッド距離に基づき、カメラが移動しているか否かを検出するカメラ移動検出手段として機能させると共に、
前記コンピュータがカメラ移動検出手段として機能しカメラの移動を検出した場合に、前記コンピュータを、閾値算出手段として閾値を新たに算出するように機能させ、更にコンピュータを移動物体検出手段としてこの新たな閾値を用いて移動物体検出を行うように機能させることを特徴とする請求項１１乃至１３のいずれか１項に記載の画像処理用プログラム。
【請求項１５】
前記コンピュータを移動物体検出手段として、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出するように機能させることを特徴とする請求項１１乃至１４のいずれか１項に記載の画像処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、移動可能なカメラにより撮像された画像を用いてカメラが移動中においても適切に移動物体を検出することが可能な画像処理装置、画像処理方法及び画像処理用プログラムに関するものである。
【背景技術】
【０００２】
従来の画像処理においては、カメラが移動する環境において移動物体を検出するものとしては、車両から撮像した画像について前方等を走行する車両を検出する車両用周辺監視装置が知られている（特許文献１参照）。この装置において、移動物体検出のためには、ブロックを設定して、このブロック内において１画素（ピクセル）単位で複雑な演算を行って移動ベクトルを検出することが必要である。この装置は車両からの撮像であるため、パーンやチルト更にはカメラの位置自体を変化させて移動物体を撮像する場合には、移動物体が動くと共に背景が動くことになるので高精度で検出を行うためには相当の複雑な演算を行う必要があるという問題があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２３９９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上記のような従来の画像処理における問題点を解決せんとしてなされたもので、その目的は、カメラが移動して背景が時間経過と共に変化するような場合にも高精度に移動物体を検出するが可能である画像処理装置、画像処理方法及び画像処理用プログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明に係る画像処理装置は、移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成する行列作成手段と、前記対応する行列を用いて共分散行列を生成する生成手段と、前記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求める演算手段と、求められたユークリッド距離に基づき閾値を算出する閾値算出手段と、ユークリッド距離と前記閾値との比較に基づき移動物体を検出する移動物体検出手段とを具備することを特徴とする。
【０００６】
本発明に係る画像処理装置では、閾値算出手段は、求められたユークリッド距離を加算してブロック数にて除算して閾値を算出することを特徴とする。
【０００７】
本発明に係る画像処理装置では、閾値算出手段は、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出することを特徴とする。
【０００８】
本発明に係る画像処理装置は、ユークリッド距離に基づき、カメラが移動しているか否かを検出するカメラ移動検出手段を備え、該カメラ移動検出手段がカメラの移動を検出した場合に、閾値算出手段が閾値を新たに算出し、移動物体検出手段がこの新たな閾値を用いて移動物体検出を行うことを特徴とする。
【０００９】
本発明に係る画像処理装置では、移動物体検出手段は、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出することを特徴とする。
【００１０】
本発明に係る画像処理方法は、移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成する行列作成ステップと、前記対応する行列を用いて共分散行列を生成する生成ステップと、前記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求める演算ステップと、求められたユークリッド距離に基づき閾値を算出する閾値算出ステップと、ユークリッド距離と前記閾値との比較に基づき移動物体を検出する移動物体検出ステップとを具備することを特徴とする。
【００１１】
本発明に係る画像処理方法では、閾値算出ステップは、求められたユークリッド距離を加算してブロック数にて除算して閾値を算出することを特徴とする。
【００１２】
本発明に係る画像処理方法では、閾値算出ステップは、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出することを特徴とする。
【００１３】
本発明に係る画像処理方法では、ユークリッド距離に基づき、カメラが移動しているか否かを検出するカメラ移動検出ステップを備え、該カメラ移動検出ステップがカメラの移動を検出した場合に、閾値算出ステップが閾値を新たに算出し、移動物体検出ステップがこの新たな閾値を用いて移動物体検出を行うことを特徴とする。
【００１４】
本発明に係る画像処理方法では、移動物体検出ステップは、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出することを特徴とする。
【００１５】
本発明に係る画像処理用プログラムは、画像処理を行うコンピュータを、移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成する行列作成手段、前記対応する行列を用いて共分散行列を生成する生成手段、前記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求める演算手段、求められたユークリッド距離に基づき閾値を算出する閾値算出手段、ユークリッド距離と前記閾値との比較に基づき移動物体を検出する移動物体検出手段として機能させることを特徴とする。
【００１６】
本発明に係る画像処理用プログラムでは、コンピュータを閾値算出手段として、求められたユークリッド距離を加算してブロック数にて除算して閾値を算出するように機能させることを特徴とする。
【００１７】
本発明に係る画像処理用プログラムでは、コンピュータを閾値算出手段として、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出するように機能させることを特徴とする。
【００１８】
本発明に係る画像処理用プログラムでは、コンピュータをユークリッド距離に基づき、カメラが移動しているか否かを検出するカメラ移動検出手段として機能させると共に、前記コンピュータがカメラ移動検出手段して機能しカメラの移動を検出した場合に、前記コンピュータを、閾値算出手段として閾値を新たに算出するように機能させ、更にコンピュータを移動物体検出手段としてこの新たな閾値を用いて移動物体検出を行うように機能させることを特徴とする。
【００１９】
本発明に係る画像処理用プログラムでは、前記コンピュータを移動物体検出手段として、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出するように機能させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして行列を作成して、前後のフレームの対応する各ブロック間のユークリッド距離を求め、求められたユークリッド距離に基づき閾値を算出し、ユークリッド距離と上記閾値との比較に基づき移動物体を検出するので、カメラ移動の度合いに応じて閾値が適宜変更されることから高精度に移動物体検出が可能である。
【００２１】
本発明によれば、１フレームのブロックのユークリッド距離の相加平均を得て閾値とし、または、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出することになり、カメラ移動の度合いに応じて適切な閾値を得ることができるので、周囲環境（周囲画像）の変化に応じた閾値を用いて高精度に移動物体検出が可能である。
【００２２】
本発明によれば、ユークリッド距離に基づき、カメラが移動しているか否かを検出し、カメラの移動を検出した場合に、閾値を新たに算出し、この新たな閾値を用いて移動物体検出を行うので、カメラ移動の度合いに応じて適切な閾値を得ることができ、高精度に移動物体検出が可能である。
【００２３】
本発明によれば、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出するので、カメラが移動している場合にも静止している場合にも、移動物体を閾値から所定以上大きなユークリッド距離の領域として適切に捉え高精度に移動物体検出が可能である。
【図面の簡単な説明】
【００２４】
【図１】本発明に係る画像処理装置の第１の実施形態を示す構成図。
【図２】本発明に係る画像処理装置の実施例によるブロック分けを説明するための図。
【図３】本発明に係る画像処理装置の実施例による行列作成を説明するための図。
【図４】本発明に係る画像処理装置の実施例による行列作成から共分散行列生成までの動作を説明するための図。
【図５】本発明に係る画像処理装置の実施例による共分散行列からユークリッド距離を求めるまでの動作を説明するための図。
【図６】発明に係る画像処理装置の実施例により求められたユークリッド距離をマトリックス状に並べた状態を示す図。
【図７】発明に係る画像処理装置の実施例によるエッジ検出の動作を説明するための図。
【図８】発明に係る画像処理装置の実施例によるラベリングの動作を説明するための図。
【図９】発明に係る画像処理装置の第１の実施形態による画像処理の動作を説明するためのフローチャート。
【図１０】本発明に係る画像処理装置の第２の実施形態を示す構成図。
【図１１】発明に係る画像処理装置の第２の実施形態による画像処理の動作を説明するためのフローチャート。
【図１２】発明に係る画像処理装置の第２の実施形態による画像処理のカメラ移動判定動作を説明するためのフローチャート。
【図１３】本発明に係る画像処理装置の第３の実施形態を示す構成図。
【図１４】発明に係る画像処理装置の第３の実施形態による画像処理の動作を説明するためのフローチャート。
【図１５】本発明に係る画像処理装置の第４の実施形態を示す構成図。
【図１６】発明に係る画像処理装置の第４の実施形態による画像処理のカメラ移動判定動作を説明するための図。
【図１７】発明に係る画像処理装置の実施例による、カメラ移動が検出された場合に行うラベリング処理の手法の説明図。
【図１８】発明に係る画像処理装置の第３の実施形態による閾値の更新のために行われる仮想画像の生成を示す概念図。
【発明を実施するための形態】
【００２５】
以下添付図面を用いて本発明に係る画像処理装置、画像処理方法及び画像処理用プログラムの実施例を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。図１に実施形態に係る画像処理装置の構成図を示す。この画像処理装置は、ＣＰＵ１０とメモリ（主メモリ及び外部記憶メモリ）１１を有し、情報を表示するための表示部１３がＣＰＵ１０に接続されたコンピュータシステムにより構成されている。
【００２６】
メモリ１１には、画像処理用プログラムが記憶されており、この画像処理用プログラムによりＣＰＵ１０が行列作成手段２１、生成手段２２、演算手段２３、閾値算出手段２４及び移動物体検出手段２５として機能する。
【００２７】
行列作成手段２１は、移動可能なカメラにより撮像された画像における１フレーム中のｍ×ｍ（ｍ：２以上の整数）画素を１ブロックとして、時間的に前後のフレームにおける対応する複数のブロックについてそれぞれの輝度データによる行列を前後のフレーム分作成するものである。上記画像信号は動画画像であり、カメラから送られたものでも、或いは記憶媒体に記憶されていたものでも良い。
【００２８】
例えば、１フレームが３２０×２４０画素により構成される場合、図２に示すように５×５画素を１ブロックとすると、６４×４８ブロックに分けることになる。以下、１ブロックの画素構成を分割粒度という。上記では分割粒度が５×５画素であるが、分割粒度が１０×１０画素や分割粒度が２×２画素であっても良い。
【００２９】
１フレームにおける全ブロックまたは間引いたブロックを行列の作成に使用する。分割粒度が５×５画素として間引く場合には例えば図３に示すように、第１フレームFrame1及び第２フレームFrame2においては、最左列から１列おきであって最上行から１行おきにサンプリングしたブロック（合計３２×２４）を用いる。第２フレームFrame2及び第３フレームFrame3においては、最左列の次列から１列おきであって最上行から１行おきにサンプリングしたブロック（合計３２×２４）を用いる。
【００３０】
第３フレームFrame3及び第４フレームFrame4においては、最左列の次列から１列おきであって最上行の次行から１行おきにサンプリングしたブロック（合計３２×２４）を用いる。第４フレームFrame4及び第５フレームFrame5においては、最左列から１列おきであって最上行の次行から１行おきにサンプリングしたブロック（合計３２×２４）ブロックを用いる。以下、同様にサンプリングを行う。上記のようにインターレース方式でサンプリングすることによって、均等なサンプリングを行うことができる。
【００３１】
全ブロックを用いて行列を作成して処理する場合には、上記よりも高精度な処理を行うことができ、また、分割粒度を小さくすることにより精度を上げることができる。分割粒度を５×５画素として行列を作成する場合には、例えば、４ブロック毎に一つの行列を作成する。
【００３２】
図４に示すように、第１フレームFrame1の１〜４で示す４ブロックの画素の輝度情報を２５行×４列の行列とする。つまり、１により示されるブロックにおける５×５＝２５画素の輝度情報が第１列に並べられ、２により示されるブロックにおける５×５＝２５画素の輝度情報が第２列に並べられ、３により示されるブロックにおける５×５＝２５画素の輝度情報が第３列に並べられ、４により示されるブロックにおける５×５＝２５画素の輝度情報が第４列に並べられて全体で４行とされた行列が図４の行列１である。
【００３３】
同様に第２フレームFrame2の５〜８で示す４ブロックの画素の輝度情報を２５行×４列の行列とする。即ち、５により示されるブロックにおける５×５＝２５画素の輝度情報が第１列に並べられ、６により示されるブロックにおける５×５＝２５画素の輝度情報が第２列に並べられ、７により示されるブロックにおける５×５＝２５画素の輝度情報が第３列に並べられ、８により示されるブロックにおける５×５＝２５画素の輝度情報が第４列に並べられて全体で４行とされた行列が図４の行列２である。以下、同様にして全ブロックについて行列を作成する。
【００３４】
生成手段２２は、上記行列作成手段２１によって作成された行列における対応する行列を用いて共分散行列を生成する。図４におけるＳ１１に示されるように、行列１と行列２とを並べた２５行×８列の行列３を生成し、これの転置行列３Ｔを生成する（Ｓ１２）。この転置行列３Ｔは、８行×２５列である。更に、生成手段２２は、図４におけるＳ１３に示すように転置行列３Ｔと行列３との乗算を行い、Ｓ１４に示す共分散行列を生成する。生成手段２２は、以下同様に、前後するフレームの対応ブロックによって作成された行列から共分散行列を生成する。画面が縦長横長或いは正方形である場合において、一般的に、粒度をｍ×ｍ（ｍ：２以上の整数）として、１フレームをＮブロックに分割すると、（２×Ｎ）×（２×Ｎ）の共分散行列が生成される。
【００３５】
演算手段２３は、上記共分散行列から固有値及び固有ベクトルを求め、固有値及び固有ベクトルに基づき前後のフレームの対応する各ブロック間のユークリッド距離を求めるものである。図５に示すように、まず共分散行列から既知の演算により固有値及び固有ベクトルを求める（Ｓ１５）。求められた固有値をλ1 〜λ8 とし、固有ベクトルＶを次の（式１）とする。
【００３６】
【数１】
0005441737.tif 000002
【００３７】
次に演算手段２３は、（式１）の固有ベクトルＶと上記（行列３T ）と（行列３）を用いて、（（行列３）・Ｖ）T ・（行列３）を計算して特徴ベクトルを算出する。ここで算出される特徴ベクトルは、次に示す（式２）のように８行８列（一般的にはｋ行ｋ列）であり、（式２）における行方向に並ぶ要素を集合して特徴ベクトルｃ１〜ｃ８を得る。即ち、ｃ１＝｛ｃ11，・・・，ｃ81｝T 、ｃ２＝｛ｃ12，・・・，ｃ82｝T 、・・・、ｃ８＝｛ｃ18，・・・，ｃ88｝T を得る。なお、（式２）においては、行列３をＱにより示している。
【００３８】
【数２】
0005441737.tif 000003
【００３９】
更に演算手段２３は、特徴ベクトルｃ１〜ｃ８の各要素間の距離を算出するものであり、本実施例では各要素間の距離をｄmnとするとき、次の（式３）により、ユークリッド距離が求められる（図５のＳ１６）。（式３）は、一般式であり、共分散行列が８行×８列である本例では、ｋ＝８である。
【００４０】
【数３】
0005441737.tif 000004
【００４１】
演算手段２３によって求められたユークリッド距離は、図５に示す距離行列Ｄのように、８行×８列であり、第１フレームFrame1の１〜４で示す４ブロックと第２フレームFrame2の５〜８で示す４ブロックにおいてそれぞれ対応するブロックについての距離は、右上側に斜めに並ぶＤ（１，５）、Ｄ（２，６）、Ｄ（３，７）、Ｄ（４，８）或いは、左下側に斜めに並ぶＤ（５，１）、Ｄ（６，２）、Ｄ（７，３）、Ｄ（８，４）に存在する。図５には、上記以外に第１フレームFrame1のブロック１と第２フレームFrame2のブロック８との距離Ｄ（８，１）の位置と、第２フレームFrame2のブロック６と第２フレームFrame2のブロック７との距離Ｄ（７，６）の位置についても示すことにより、距離行列Ｄの構成を説明している。
【００４２】
演算手段２３は、前後フレームにおける残りの対応するブロックについても同様の演算によりユークリッド距離を求める。ここでは、１フレームが３２０×２４０画素で、分割粒度を５×５画素としたので、全体では６４×４８＝３０７２個のユークリッド距離が求められる。
【００４３】
図１における閾値算出手段２４は、求められたユークリッド距離に基づき閾値を算出する。分割粒度を５×５画素とした場合、前後する１フレームにおいて対応するブロック間のユークリッド距離は６４×４８得られ、図６のマトリックスに並べることができる。これに対し、閾値算出手段２４は、例えば全ユークリッド距離を加算してブロック数にて除算して平均を求めて閾値（平均閾値）とすることができる。或いは、上記平均閾値に対し適当な定数を用いて加減乗除等の少なくともいずれかによる演算を行って閾値としても良い。更に、閾値算出手段２４は、求められた全ブロックのユークリッド距離の中央値を演算して閾値を算出するなど、適宜な演算により閾値を求めても良い。
【００４４】
移動物体検出手段２５は、ユークリッド距離と上記閾値との比較に基づき移動物体を検出する。例えばユークリッド距離と閾値との差、或いはユークリッド距離と閾値との比等を求めて、移動物体検出手段２５は、この値に基づき、閾値から所定以上大きなユークリッド距離のブロックをラベリング処理して移動物体を検出する。即ち、上記「差」が「０」に近いブロック或いは、上記値である「比」が「１」に近いブロックは、移動物体を構成するブロックであると判定することができる。
【００４５】
例えば、移動物体を構成するブロックに１を割り当て、移動物体以外のブロックに０を割り当て１フレームについて１と０のモザイクにより構成し、前後するフレームにおいて値が０から１にまたは１から０に変化しているブロックを検出するエッジ検出を行う。このエッジ検出の後、図７においてはハッチングが施されて示されているエッジとされたブロックが図７（ａ）のようにループしているか、図７（ｂ）のようにループしていないかを検出し、ループしている場合に、ループのエリアに異なる番号を割り当てるラベリングを行う。
【００４６】
ラベリングにより、例えば図８に示されるように移動物体Ａ（番号１）と移動物体Ｂ（番号２）が１フレームに検出されている場合に、複数フレームにおいてはトラッキングを行う。この場合、各フレームにおいて全ブロックのユークリッド距離が求まっているため、移動物体検出手段２５はこのユークリッド距離を用いて移動物体Ａと移動物体Ｂのトラッキングを行う。
【００４７】
トラッキングの手法としては、例えば、前述の閾値を超えている領域の大きさを用いることや、ラベリングされた領域のユークリッド距離の平均や分布を用いる等して、各フレームにおいて移動物体Ａと移動物体Ｂとを同定する。トラッキングした移動物体Ａの領域に例えば赤い矩形による枠を表示し、トラッキングした移動物体Ｂの領域に例えば黒い矩形による枠を表示して、図１に示されている図１の表示部１３に表示する。これにより、表示された映像を目視することにより移動物体Ａを赤い矩形によって追跡することができ、また移動物体Ｂを黒い矩形によって追跡することができ、監視の場合に有効である。
【００４８】
図９は、画像処理用プログラムに対応するフローチャートである。このフローチャートにより図１に示されている各手段が実現されるので、このフローチャートに基づきＣＰＵ１０による動作を説明する。画像処理装置が起動されてスタートとなると、画像信号の第ｉ（当初ｉ＝１）フレームを取り込み（Ｓ２１）、更に画像信号の第ｉ＋１フレームを取り込む（Ｓ２２）。次に、ＣＰＵ１０は、第ｉフレームと第ｉ＋１フレームにおける対応するｊ個のブロックを取り込み、行列を作成する（Ｓ２３）。これによって、１フロックの分割粒度を５×５画素とした場合には、図２に示される行列が作成される。
【００４９】
次に、ＣＰＵ１０は、上記行列を用いて固有値と固有ベクトルを求め、この固有値と固有ベクトルを用いて既に説明の通りの処理により共分散行列を生成する（Ｓ２４）。この共分散行列は、図４に示されているようである。
【００５０】
ステップＳ２４に続いて、共分散行列を用いて第ｉフレームと第ｉ＋１フレームにおける対応するブロック間のユークリッド距離を求める（Ｓ２５）。求められるユークリッド距離は、図５に示すように８行×８列の距離行列Ｄである。
【００５１】
ステップＳ２５においてユークリッド距離が求められると、全対象ブロックの処理が終了したのかを検出し（Ｓ２６）、ＮＯとなると選択するブロックを更新して（Ｓ２７）、ステップＳ２３へ戻って処理を続ける。また、ステップＳ２６において全対象ブロックの処理が終了したことが検出された場合には、全ユークリッド距離を加算して平均を求めて閾値（平均閾値）とする（Ｓ２８）。
【００５２】
ステップＳ２８に続き、ユークリッド距離と上記閾値との比較に基づき移動物体を検出する（Ｓ２９）と共に、移動物体の有無を検出する（Ｓ２９Ａ）。既に述べた通り、移動物体の検出手法としては例えばユークリッド距離と閾値との差を求める手法を採用することができ、求めた結果である「差」が「０」に近いブロック或いは、上記値である「比」が「１」に近いブロックは、移動物体を構成するブロックであると判定する。ステップＳ２９に続いて移動物体の有無の判定が行われ（Ｓ２９Ａ）、移動物体があると検出された場合にはエッジ検出やラベリングの処理を行い、処理結果を反映させた画像作成が行われて（Ｓ３０）、撮像により得られている画像表示のために出力され（Ｓ３１）、次のフレームがあるか判定がなされ（Ｓ３２）、次に処理すべきフレームがあればｉを１インクリメントして（Ｓ３３）ステップＳ２２へ戻って処理を続ける。
【００５３】
図１０は、第２の実施形態に係る画像処理装置の構成を示すブロック図である。この実施形態では、第１の実施形態と比べてＣＰＵ１０Ａにカメラ移動検出手段２６が追加された構成を有している。カメラ移動検出手段２６は、ユークリッド距離に基づき、カメラが移動しているか否かを検出するものである。
【００５４】
即ち、図９に示した第１の実施形態のフローチャートにおけるステップＳ２６とステップＳ２８の間に、ステップＳ３５〜Ｓ３７による処理を行う図１１に示すフローチャートによる動作が行われる。まず、ステップＳ２６において全対象ブロックの処理が終了したことが検出された場合には、ステップＳ２６までに得られている全ユークリッド距離を用いてカメラ移動を検出する（Ｓ３５）。
【００５５】
このステップＳ３５に続いてカメラが移動しているか否かを判定する（Ｓ３６）。上記ステップＳ３６の判定においてカメラが移動していると検出された場合にはステップＳ２８へ進み、第１の実施形態に示した処理が行われる。
【００５６】
一方、上記ステップＳ３６の判定においてカメラが静止している（移動していない）ことが検出された場合には、ユークリッド距離と既存の閾値との比較に基づき移動物体を検出する（Ｓ３７）。このステップＳ３７においては、用いる既存の閾値は、予め実験的に求めたものやステップＳ２８が前回実行されたときに求めて記憶しておいたものが用いられる。この点を除いては移動物体の検出について、第１の実施形態と同様に行われる。そして、ステップＳ３７における移動物体検出処理の後にはステップＳ２９Ａへ進み、更に処理が続けられる。
【００５７】
上記ステップＳ３５におけるカメラ移動の検出処理は、図１２のフローチャートに示す通りである。ステップＳ３５に進むまでには、全対象ブロックについてユークリッド距離の処理が終了しているので、対応ブロックのユークリッド距離と予め用意したカメラ移動判定用閾値を比較し、比較値を検出する（Ｓ４１）。
【００５８】
ステップＳ４１に続き、上記検出された比較値に基づきが画像を撮像したカメラの移動を判定する（Ｓ４２）。ここで、比較値としては例えばユークリッド距離とカメラ移動判定用閾値との差を採用することができ、比較値である「差」が「０」に近いブロック数が半数（所定割合）以上であるときカメラ移動中であると判定する。判定結果は次の処理や画像表示のために出力される（Ｓ４３）。
【００５９】
図１３は、第３の実施形態に係る画像処理装置の構成を示すブロック図である。この実施形態では、第２の実施形態と比べてＣＰＵ１０Ｂに対して仮想画像生成手段２８と閾値更新手段２９が追加された構成を有している。仮想画像生成手段２８は、１フレームの原画像を所定方向にずらした仮想画像の１フレームを生成するものである。閾値更新手段２９は、ユークリッド距離を用いてカメラ移動判定用閾値を更新するものである。移動物体検出に関しては、既に説明した図９及び図１１に示したフローチャートのプログラムに基づき処理を行う。
【００６０】
この第３の実施形態では、図１４のフローチャートに示す処理によりカメラ移動判定用閾値の更新を行う。例えば、フレーム数が所定値（ここでは５）の倍数となったかを検出し（Ｓ５１）、５の倍数のフレームが到来すると、このフレームの原画像を図１８に示すように例えば右方に５画素ずらし、また下方へ５画素ずらした１フレームの仮想画像を生成する（Ｓ５２）。このとき空白となる画素領域Ｅ（ハッチングで示す）の画素には、白や黒或いはその中間色の輝度値を補充する。
【００６１】
上記原画像の１フレームと仮想画像の１フレームとについて、図９のステップＳ２３からステップＳ２７までと同様にして、全ブロックについてユークリッド距離を求める（Ｓ２３〜Ｓ２７）。更に、上記で求めたユークリッド距離を用いてカメラ移動判定用閾値を作成して、次のフレームについてカメラ移動を検出するカメラ移動判定用閾値を更新する（Ｓ５３）。ユークリッド距離を用いてカメラ移動判定用閾値を作成する場合、例えば全ユークリッド距離を加算して平均を求めて閾値（平均閾値）とすることができる。或いは、上記平均閾値に対し適当な定数を用いて加減乗除等の少なくともいずれかによる演算を行ってカメラ移動判定用閾値としても良い。
【００６２】
上記のようにカメラ移動判定用閾値を変更するため、カメラ移動によって背景が変ってゆく場合に、これに追随してカメラ移動判定用閾値を更新することになる。このため、適切なカメラ移動判定用閾値により高精度な検出を行うことができる。
【００６３】
次に、第４の実施形態を説明する。この第４の実施形態に係る画像処理装置は、画面に大きな移動物体が現れた場合にカメラ移動であると誤検出することを防止する。即ち、第２の実施形態においては、１フレーム全体を対象として処理を行ったが、図１５に示すように、ＣＰＵ１０Ｃに検出領域設定手段２７が備えられており、前後の１フレームそれぞれの中に離れた複数の検出領域を設定する。
【００６４】
例えば、図１６に示されるように第ｉフレームの画像における左右の端部に幅が１０ブロック程度の短冊状の領域Ａｉ、Ｂｉを設定する。次の第ｉ＋１フレームの画像における左右の端部にも上記と全く同様に、幅が１０ブロック程度の短冊状の領域Ａｉ＋１、Ｂｉ＋１を設定する。この設定領域について（Ａｉ，Ａｉ＋１）の組合せと（Ｂｉ，Ｂｉ＋１）の組合せにより、それぞれ図１１に示した処理を行い、カメラ移動の検出を行う。検出結果は２通り得られるので、２つの結果がカメラ移動であることを示している場合のみ、カメラ移動とする。これにより、画面に大きな移動物体が現れた場合には、上記左右の領域が同時に移動物体で覆われることは少なく、誤検出を防止することができる。ここでは、左右の端部に検出領域を設けたが、上下の端部や画面の隅等を検出領域とすることもできる。また、検出領域の数は複数であれば良い。
【００６５】
上記の第４の実施形態により処理を行う場合において、前述の第３の実施形態の如くカメラ移動判定用閾値を更新する場合は、仮想画像生成手段２８は、上記検出領域それぞれについて仮想画像の生成を行い、閾値更新手段２９は、上記検出領域それぞれについて閾値を得て更新を行うことになる。これにより、適切なカメラ移動判定用閾値により高精度な検出を行うことができる。
【００６６】
図１７に、カメラ移動が検出された場合に行うラベリング処理の手法を示す。まず、移動物体を検出するための閾値（平均閾値等）を大きく超えるブロックを検出する。図１７（ａ）では、Ｐ（ｓ）により示されている。次に、このＰ（ｓ）を囲む一辺が３ブロックのブロックに注目し、３ブロックの合計のユークリッド距離が移動物体を検出するための閾値（平均閾値等）の３倍を大きく超えるかにより移動物体の一部を構成するブロックを検出する。図１７（ｂ）では、（Ｄ１，Ｄ２，Ｄ３）、（Ｄ３，Ｄ６，Ｄ９）、（Ｄ９，Ｄ８，Ｄ７）、（Ｄ７，Ｄ４，Ｄ１）について検出を行う。移動物体の一部を構成するブロックを以下同様にして検出する。上記図１７（ｂ）のブロックが全て移動物体の一部を構成する場合には、図１７（ｃ）に示すように、一辺が４ブロックの領域について４ブロックの合計のユークリッド距離が移動物体を検出するための閾値（平均閾値等）の４倍を大きく超えるかにより移動物体の一部を構成するブロックを検出する。
【００６７】
更に、図１７（ｄ）に示すように、一辺が７ブロックの領域について７ブロックの合計のユークリッド距離が移動物体を検出するための閾値（平均閾値等）の７倍を大きく超えるかにより移動物体の一部を構成するブロックを検出する。以下同様にして、移動物体の一部を構成するブロックによる矩形で囲われる領域を求めラベリングを行う。順次のフレームにおいてトラッキングを行い、トラッキングした移動物体の領域に例えば赤や黒など所定の色の矩形による枠を表示して移動物体を表示する。この手法により、適切に移動物体の一部を構成するブロックによる矩形で囲われる領域を求めることができ、移動物体の追跡表示に好適である。
【００６８】
尚、上記図１７の例では、Ｎ（整数）ブロックの合計のユークリッド距離が移動物体を検出するための閾値（平均閾値等）のＮ倍を大きく超えるかにより移動物体の一部を構成するブロックを検出することとしたが、Ｎブロックの場合にＮ倍としたのは一例であり、環境やユーザの要求などによって適宜変更され得ることは勿論である。
【００６９】
また、上記の実施形態では、各手段をソフトウエアによって実現したが、演算回路や論理回路のようなハードウエアの組み合わせによっても各手段を実現し、これにより画像処理装置を構成するようにしても良い。
【符号の説明】
【００７０】
１０、１０Ａ〜１０Ｃ  ＣＰＵ
１１  メモリ
１３  表示部
２１  行列作成手段
２２  生成手段
２３  演算手段
２４  閾値算出手段
２５  移動物体検出手段
２６  カメラ移動検出手段
２７  検出領域設定手段
２８  仮想画像生成手段
２９  閾値更新手段
【図１】
0005441737.tif 000005
【図５】
0005441737.tif 000006
【図６】
0005441737.tif 000007
【図９】
0005441737.tif 000008
【図１０】
0005441737.tif 000009
【図１１】
0005441737.tif 000010
【図１２】
0005441737.tif 000011
【図１３】
0005441737.tif 000012
【図１４】
0005441737.tif 000013
【図１５】
0005441737.tif 000014
【図２】
0005441737.tif 000015
【図３】
0005441737.tif 000016
【図４】
0005441737.tif 000017
【図７】
0005441737.tif 000018
【図８】
0005441737.tif 000019
【図１６】
0005441737.tif 000020
【図１７】
0005441737.tif 000021
【図１８】
0005441737.tif 000022