(57)【要約】【課題】主被写体の動きベクトルと背景の動きベクトルとを良好に分類することができるようにする。【解決手段】複数の画像から、各画像毎に隣接する画像間の複数の位置における動きベクトルを検出するベクトル検出部と、検出した画像間の複数の動きベクトルを、第１のクラスタ及び第２のクラスタに分割するクラスタリング処理部と、第１のクラスタ及び第２のクラスタに分割された画像間の複数の動きベクトルの分離判定を行うクラスタ分離判定部とを有し、クラスタ分離判定部は、第１のクラスタに属する画像間の複数の動きベクトルに係る統計量及び第２のクラスタに属する画像間の複数の動きベクトルに係る統計量に基づいて、画像間の複数の動きベクトルの分離判定を行う。【選択図】図２
2019179376.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像から、各画像毎に隣接する画像間の複数の位置における動きベクトルを検出する検出手段と、
前記検出手段により検出した前記画像間の複数の動きベクトルを、第１のクラスタ及び第２のクラスタに分割する処理手段と、
前記処理手段により前記第１のクラスタ及び前記第２のクラスタに分割された前記画像間の複数の動きベクトルの分離判定を行う分離判定手段とを有し、
前記分離判定手段は、前記第１のクラスタに属する前記画像間の複数の動きベクトルに係る統計量及び前記第２のクラスタに属する前記画像間の複数の動きベクトルに係る統計量の少なくとも一方に基づいて、前記画像間の複数の動きベクトルの分離判定を行うことを特徴とする画像処理装置。
【請求項２】
前記分離判定手段は、前記統計量として前記画像間の複数の動きベクトルを検出した画像の像面上のそれぞれの位置の分布の統計量を算出し、
算出した前記分布の統計量の変化が所定の閾値以下である場合、前記第１のクラスタに属する動きベクトルと前記第２のクラスタに属する動きベクトルとが分離されていると判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記分布の統計量は、前記位置の分布の分散値であることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記分離判定手段は、算出した前記分布の統計量の変化が所定の閾値以下である場合に分離開始であるか否かを判定し、分離開始でないと判定した場合には、分離開始時と同じ被写体に係る動きベクトルが分離しているか否かを判定することを特徴とする請求項２又は３記載の画像処理装置。
【請求項５】
前記処理手段は、前記分離判定手段により分離開始時と同じ被写体に係る動きベクトルが分離していないと判定された場合、前記同じ被写体ではないと判定されたクラスタに属する動きベクトルを除いた前記画像間の複数の動きベクトルに対して、前記第１のクラスタ及び前記第２のクラスタに分割する処理を行うことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記分離判定手段は、分離開始であるか否かの判定を行ったとき、分離開始であると判定した場合には、算出した前記分布の統計量を記憶し、分離開始でないと判定した場合には、記憶されている前記分布の統計量と現在の画像を基に算出した前記分布の統計量とを比較して分離開始時と同じ被写体に係る動きベクトルが分離しているか否かを判定することを特徴とする請求項４又は５記載の画像処理装置。
【請求項７】
前記分離判定手段は、分離開始でないと判定した場合には、記憶されている前記分布の統計量と現在の画像を基に算出した前記分布の統計量との差を算出し、算出した差が閾値以下である場合、分離開始時と同じ被写体に係る動きベクトルが分離していると判定することを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記処理手段は、
前記複数の動きベクトルと前記画像の撮影時の合焦情報、及び前記画像を撮影した装置の位置姿勢情報に基づいて、前記第１のクラスタ及び前記第２のクラスタの初期重心値を設定する設定手段を有し、
前記第１のクラスタ及び前記第２のクラスタの重心値と前記動きベクトルの変位量との比較の結果に基づいて、前記画像間の複数の動きベクトルを前記第１のクラスタ及び第２のクラスタに分割することを特徴とする請求項１〜７の何れか１項に記載の画像処理装置。
【請求項９】
前記処理手段は、
前記第１のクラスタ及び前記第２のクラスタに分割された前記画像間の複数の動きベクトルの変位量に基づいて、前記第１のクラスタ及び前記第２のクラスタの重心値を更新する更新手段を有し、
前記第１のクラスタ及び前記第２のクラスタの重心値を更新して、前記第１のクラスタ及び前記第２のクラスタの重心値と前記動きベクトルの変位量との比較を行い、前記画像間の複数の動きベクトルを前記第１のクラスタ及び第２のクラスタに分割する処理を所定の終了条件を満たすまで繰り返すことを特徴とする請求項８記載の画像処理装置。
【請求項１０】
複数の画像から、各画像毎に隣接する画像間の複数の位置における動きベクトルを検出する検出工程と、
検出した前記画像間の複数の動きベクトルを、第１のクラスタ及び第２のクラスタに分割する処理工程と、
前記第１のクラスタ及び前記第２のクラスタに分割された前記画像間の複数の動きベクトルの分離判定を行う分離判定工程とを有し、
前記分離判定工程では、前記第１のクラスタに属する前記画像間の複数の動きベクトルに係る統計量及び前記第２のクラスタに属する前記画像間の複数の動きベクトルに係る統計量の少なくとも一方に基づいて、前記画像間の複数の動きベクトルの分離判定を行うことを特徴とする画像処理方法。
【請求項１１】
複数の画像から、各画像毎に隣接する画像間の複数の位置における動きベクトルを検出する検出ステップと、
検出した前記画像間の複数の動きベクトルを、第１のクラスタ及び第２のクラスタに分割する処理ステップと、
前記第１のクラスタ及び前記第２のクラスタに分割された前記画像間の複数の動きベクトルの分離判定を行う分離判定ステップとをコンピュータに実行させ、
かつ前記分離判定ステップでは、前記第１のクラスタに属する前記画像間の複数の動きベクトルに係る統計量及び前記第２のクラスタに属する前記画像間の複数の動きベクトルに係る統計量の少なくとも一方に基づいて、前記画像間の複数の動きベクトルの分離判定を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
撮像装置の振れ及び動きに伴う画像振れを検知する方法の１つに、画像処理技術を利用して、画像間の移動量（動きベクトル）を算出する方法がある。ここで、撮像範囲内に歩行者や車両等の主たる被写体（主被写体）が移動していると、撮像装置の動き、つまり撮影画像における背景の動きによる動きベクトルだけでなく、主被写体の動きによる動きベクトルも算出されてしまう。動きベクトルを用いた動き検知方法では、このように背景の動きによる動きベクトルと主被写体の動きによる動きベクトルとが混在してしまうと、撮像装置の動きを適切に検知できないことがある。
【０００３】
このため、特許文献１に開示された電子防振方法では、次のようにして動きベクトルの検出を行っている。画像を所定サイズのブロックに分割してブロック毎に動きベクトルを算出し、算出した動きベクトルのヒストグラムを用いて、ブロックを被写体グループと背景グループとの２つのグループに分類する。そして、それぞれのグループと判定されたブロックの数が閾値を超えている方のグループの代表動きベクトルを、画面全体の動きベクトルとして検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５８７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、主被写体と背景の動きベクトルのピークの値が近い、もしくはヒストグラムの分布が隣接して重なっているような場合、主被写体と背景の動きベクトルを良好に分類することができないことがある。さらに、主被写体と背景以外の動きをもつ被写体が存在すると、主被写体と背景の動きベクトルを適切に分類することができないという問題点もあった。本発明は、このような事情に鑑みてなされたものであり、主被写体の動きベクトルと背景の動きベクトルとを良好に分類することができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、複数の画像から、各画像毎に隣接する画像間の複数の位置における動きベクトルを検出する検出手段と、前記検出手段により検出した前記画像間の複数の動きベクトルを、第１のクラスタ及び第２のクラスタに分割する処理手段と、前記処理手段により前記第１のクラスタ及び前記第２のクラスタに分割された前記画像間の複数の動きベクトルの分離判定を行う分離判定手段とを有し、前記分離判定手段は、前記第１のクラスタに属する前記画像間の複数の動きベクトルに係る統計量及び前記第２のクラスタに属する前記画像間の複数の動きベクトルに係る統計量の少なくとも一方に基づいて、前記画像間の複数の動きベクトルの分離判定を行うことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、主被写体の動きベクトルと背景の動きベクトルとを良好に分類することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態における撮像装置の構成例を示す図である。
【図２】本実施形態における画像処理部の構成例を示す図である。
【図３】本実施形態におけるクラスタリング処理部の構成例を示す図である。
【図４】本実施形態における画像処理部の動作例を示すフローチャートである。
【図５】本実施形態におけるクラスタリング処理部の動作例を示すフローチャートである。
【図６】本実施形態における主被写体の顔検出を説明する図である。
【図７】本実施形態における動きベクトルの分類例を説明する図である。
【図８】本実施形態において主被写体検出の精度が低くなる例を説明する図である。
【図９】本実施形態における動きベクトルの分類例を説明する図である。
【図１０】本実施形態における動きベクトルの分類例を説明する図である。
【図１１】本実施形態におけるクラスタ分離判定の評価方法を説明する図である。
【図１２】本実施形態におけるクラスタ分離判定の例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下では、撮像装置（デジタルカメラ）に、本発明の一実施形態における画像処理装置を適用した例を説明する。
【００１０】
図１は、本実施形態における撮像装置（デジタルカメラ）１００の構成例を示すブロック図である。制御部１０１は、例えばＣＰＵ（Central Processing Unit）である。制御部１０１は、撮像装置１００が有する各ブロック（機能部）の動作プログラムをＲＯＭ１０２より読み出し、ＲＡＭ１０３に展開して実行することにより、撮像装置１００が有する各ブロックの動作を制御する。
【００１１】
ＲＯＭ（Read Only Memory）１０２は、書き換え可能な不揮発性メモリであり、例えば撮像装置１００が有する各ブロックの動作プログラムを記憶する。また、ＲＯＭ１０２は、撮像装置１００が有する各ブロックの動作に必要なパラメータ等を記憶する。ＲＡＭ（Random Access Memory）１０３は、書き換え可能な揮発性メモリであり、例えば撮像装置１００が有する各ブロックの動作において出力されたデータ等の一時的な記憶領域として用いられる。
【００１２】
光学系１０４は、レンズ等で構成された光学系であり、フォーカスレンズ及びその駆動系を含む。撮像部１０５は、ＣＭＯＳセンサ等の撮像素子を有し、光学系１０４により撮像素子に結像された光学像を光電変換し、得られたアナログ画像信号をアナログ／デジタル変換部（Ａ／Ｄ変換部）１０６に出力する。Ａ／Ｄ変換部１０６は、入力されるアナログ画像信号にアナログデジタル変換処理を適用し、得られたデジタル画像データをＲＡＭ１０３に出力して記憶させる。
【００１３】
合焦処理部１０７は、コントラスト方式や位相差方式等の従来から用いられている方式の合焦処理を行う機能を有する。合焦処理部１０７は、制御部１０１を介して光学系１０４が有するフォーカスレンズの駆動系を制御し、被写体に対して自動で合焦するように制御を行う。合焦を行う対象の主被写体位置、あるいは領域の指定方法は、自動で検出する方式とユーザーが指定する方式が選択可能である。
【００１４】
自動で検出する方式としては、例えば画像の輝度や色の変化を用いる手法（例えば、特開平１１−１９０８１６号公報参照）がある。また、例えば、距離情報を用いる手法（例えば、特開２００７−９６４３７号公報参照）や、顕著性と呼ばれる輝度勾配変化を用いる方法（例えば、特開２０００−２０７５６４号公報参照）がある。また、例えば、ニューラルネットワークやディープラーニング、多分木等の識別器に主被写体候補に係る特徴を事前に学習させ、画像において主被写体らしさの尤度を算出させることで主被写体として認識する方法等、さまざまな方法が既に提案されている。画像内の主被写体の有無、位置、領域を検出できる手法ならば任意の手法を用いて良い。
【００１５】
合焦処理部１０７は、画像内の主被写体の検出を行って合焦情報を出力し、その主被写体の位置や領域の情報をＲＡＭ１０３に出力して記憶させる。主被写体の位置・領域の情報は、必ずしも撮影画像のフレームレートである６０ｆｐｓや１２０ｆｐｓといったサンプリングタイミングに合わせて出力されなくても良い。主被写体の位置・領域の情報を含む合焦情報は、少なくともベクトル検出及び制御処理における初期フレーム画像に対して出力されれば良く、さらには再度自動合焦処理が実行されるたびに合焦情報を出力しても良い。
【００１６】
姿勢変化取得部１０８は、例えばジャイロや加速度センサ、電子コンパス等の位置姿勢センサにより構成され、撮像装置１００の撮影時における位置姿勢の変化を計測して位置姿勢情報を出力する。本実施形態においては、計測した位置姿勢の変化を用いて、撮影画像の像面上の変位量を推定するため、位置の変化と姿勢の変化は、ともに像面上の変位量に影響がある。しかし、像面上で観察、検出すべきことに技術的な差異は出ないので、説明の便宜上、本実施形態においては姿勢変化に絞って説明する。
【００１７】
姿勢センサは、光学系の光軸に直交する任意の軸に取り付けられる。姿勢センサが回転センサである場合、撮像装置のヨー方向、ピッチ方向、及びロール方向の各軸に取り付けられ、各軸周りの回転による姿勢変化を計測し、姿勢変化量のデータをＲＡＭ１０３に出力して記憶させる。また、姿勢変化取得部１０８は、内部に積分処理部を有し、姿勢センサのサンプリングタイミング（例えば、１ｋＨｚ）だけでなく、撮影画像のフレームレート等のサンプリングタイミングに合わせた、異なるレートの姿勢変化情報を同時に出力しても良い。
【００１８】
画像処理部１０９は、ＲＡＭ１０３に蓄えられている撮影画像（デジタル画像データ）に係る各種画像処理を行う。画像処理部１０９は、例えばＲＡＭ１０３に蓄えられている撮影画像を用いて動きベクトルの検出を行う。また、画像処理部１０９は、画像内の主被写体の位置・領域の情報及び撮像装置の姿勢変化量のデータを用いて、動きベクトルに対するクラスタリング処理を行い、検出した動きベクトルを主被写体、背景のクラスタに分割する（分類する）。記録媒体１１０は、着脱可能なメモリカード等であり、例えばＲＡＭ１０３に記憶されている、Ａ／Ｄ変換部１０６でアナログデジタル変換された画像や画像処理部１０９で処理された画像等が記録画像として記録される。
【００１９】
図２は、本実施形態における画像処理部１０９の構成例を示すブロック図である。なお、図２においては、画像処理部１０９における動きベクトルのクラスタ分割処理及びその処理結果に基づく画像処理に係る構成を図示している。本実施形態では、クラスタ分割された主被写体、背景の動きベクトルを用いた制御の応用例として、電子防振処理に適応した例を説明する。画像処理部１０９は、画像入力部２０１、ベクトル検出部２０２、クラスタリング処理部２０３、クラスタ分離判定部２０４、パラメータ演算部２０５、及び出力画像生成部２０６を有する。
【００２０】
画像入力部２０１は、１フレーム又は複数のフレームの撮影画像がＲＡＭ１０３から入力され、一時的に記憶保持する。ベクトル検出部２０２は、画像入力部２０１により入力される画像を使用して、画像内の複数の位置における隣接する画像間の動きベクトルを各画像毎に検出する。ベクトル検出部２０２は、現フレーム（例えばフレーム番号ｎ）の画像内の複数の位置に対して、次フレーム（例えばフレーム番号（ｎ＋１））の画像とのマッチング処理を行い、それぞれの位置における動きベクトルを検出する。
【００２１】
クラスタリング処理部２０３は、ベクトル検出部２０２で検出した複数の動きベクトルに対するクラスタリング処理を行い、分割された主被写体、背景のそれぞれの動きベクトルを出力する。クラスタリング処理部２０３は、合焦処理部１０７より出力された主被写体の位置・領域の情報（合焦情報）、及び姿勢変化取得部１０８より出力された姿勢変化量のデータ（位置姿勢情報）を用いてクラスタリング処理を行い、動きベクトルを分類する。クラスタ分離判定部２０４は、クラスタリング処理部２０３で算出された主被写体、背景の動きベクトルを用いて主被写体クラスタに属する動きベクトルを評価し、背景に対する分離の有無、つまり背景に対して主被写体が動いているか否かを判定する。
【００２２】
パラメータ演算部２０５は、クラスタリング処理部２０３で算出された主被写体、背景の動きベクトルを用いて、電子防振のための幾何変形パラメータを算出する。ここで、パラメータ演算部２０５は、クラスタ分離判定部２０４で判定した分離判定結果に応じた処理を実現する幾何変形パラメータを算出する。出力画像生成部２０６は、パラメータ演算部２０５によって算出された幾何変形パラメータを用いて、画像入力部２０１から入力された撮影画像に対して幾何変形処理を行い、電子防振により安定化された画像を生成して出力する。
【００２３】
図３は、本実施形態におけるクラスタリング処理部２０３の構成例を示すブロック図である。クラスタリング処理部２０３は、図３に示すように初期値設定部３０１、分割処理部３０２、重心更新部３０３、終了判定部３０４、及びラベリング判定部３０５を有する。初期値設定部３０１は、合焦処理部１０７より出力された主被写体の位置・領域の情報及び姿勢変化取得部１０８より出力された姿勢変化量のデータを用いて、動きベクトルを分割（分類）する２つのクラスタの初期重心値を設定する。
【００２４】
分割処理部３０２は、初期値設定部３０１で設定した、又は重心更新部３０３で更新した、２つのクラスタの重心値を用いて、ベクトル検出部２０２で検出した複数の動きベクトルを分類するクラスタ分割処理を行う。分割処理部３０２は、ベクトル検出部２０２で検出した動きベクトル毎に、２つのクラスタの内のどちらのクラスタの重心値に類似しているかを比較することで、クラスタ分割処理を行う。重心更新部３０３は、分割処理部３０２での処理によって各クラスタに分割された動きベクトルを用いて、それぞれのクラスタの重心値を算出し更新する。
【００２５】
終了判定部３０４は、初期値設定部３０１、分割処理部３０２、及び重心更新部３０３により行うクラスタリング処理を終了するか否かを判定する。つまり、終了判定部３０４は、所定の終了条件に基づいて、再び分割処理部３０２及び重心更新部３０３での処理を繰り返すか、又はクラスタリング処理を終了してラベリング判定部３０５の処理に移行するかを判定する。ラベリング判定部３０５は、分割処理部３０２で処理した各クラスタに属する動きベクトルが、主被写体又は背景の動きのどちらに対応するものであるかを判定して、クラスタのラベリング処理を行う。
【００２６】
次に、本実施形態における画像処理部１０９の制御について説明する。図４は、本実施形態における画像処理部１０９の動作例を示すフローチャートである。ステップＳ４０１にて、撮影された複数の画像が、ＲＡＭ１０３から画像処理部１０９に入力され、画像入力部２０１に一時的に記憶される。ステップＳ４０２にて、ベクトル検出部２０２は、ステップＳ４０１において入力された画像を使用してベクトル検出処理を行い、画像内の複数の位置における隣接する画像間の動きベクトルを各画像毎に検出する。
【００２７】
動きベクトルの検出方法は、公知の動きベクトル検出手法を用いて良く、本実施形態では、特徴点マッチングによる画像内の複数の特徴点におけるベクトルを検出した例を、図５を用いて説明する。図５（ａ）は、現フレーム（例えばフレーム番号ｎ）の撮影画像を示す模式図であり、図５（ｂ）は、次フレーム（例えばフレーム番号（ｎ＋１））の撮影画像を示す模式図である。ここでは、移動物体である主被写体の人物５０１が左上方向に移動し、静止物体としての背景の建物５０２と木５０３とが右下方向に移動するように撮像装置の動きが生じたものとする。図５（ｃ）は、現フレームと次フレームとの間の複数の特徴点位置におけるベクトル検出を行い、検出した特徴点位置における動きベクトルを図５（ａ）に示した現フレームの撮影画像上に重畳した模式図である。また、図５（ｄ）は、検出した動きベクトルの変位量をフレームでの水平方向をｘ軸とし、垂直方向をｙ軸として丸い記号でプロットしたグラフの模式図であり、動きベクトルの変位量はＶi＝（Ｘi，Ｙi）として表せる。ここで、Ｘiはｘ軸方向の画像像面上の変位量であり、Ｙiはｙ軸方向の画像像面上の変位量である。図５（ｃ）及び図５（ｂ）において点線で囲った領域５０４、５０５は、それぞれ現フレームの撮影画像、及び次フレームの撮影画像での主被写体の人物５０１の顔の位置を表しており、詳細は図６に示すステップＳ６０１の処理で説明する。このように、ステップＳ４０２のベクトル検出処理では、前後するフレームの画像間での主被写体、背景のそれぞれの複数の位置における動きベクトルの検出を行う。
【００２８】
ステップＳ４０３にて、クラスタリング処理部２０３は、ステップＳ４０２において検出された複数の動きベクトルに対するクラスタリング処理を行い、クラスタ分割された主被写体、背景のそれぞれの動きベクトルを出力する。クラスタリング処理では、合焦処理部１０７より出力された主被写体の位置・領域の情報（合焦情報）、及び姿勢変化取得部１０８より出力された姿勢変化量のデータ（位置姿勢情報）を用いてクラスタリング処理を行い、動きベクトルを分類する。ステップＳ４０３のクラスタリング処理の詳細を、図６を参照して説明する。
【００２９】
図６は、クラスタリング処理部２０３によるクラスタリング処理の例を示すフローチャートである。クラスタリング処理を開始すると、まずステップＳ６０１にて、初期値設定部３０１は、合焦処理部１０７より出力された主被写体の位置・領域の情報及び姿勢変化取得部１０８より出力された姿勢変化量のデータを用いて、クラスタの初期重心値を設定する。ここで、主被写体の位置・領域の情報を用いて設定する初期重心値をＷ1とし、姿勢変化量のデータを用いて設定する初期重心値をＷ2とし、これらの設定方法について説明する。
【００３０】
はじめに、初期フレームのクラスタリング処理における、主被写体の位置・領域の情報を用いたクラスタ初期重心値Ｗ1の設定方法について説明する。初期フレームの場合には、合焦処理部１０７で自動合焦対象となった、画像中の主被写体の位置・領域近傍の像面上の位置で検出した動きベクトルの変位量の代表値（Ｘw1，Ｙw1）をクラスタ初期重心値
Ｗ1とする。本例では、主被写体の位置・領域の検出には顔検出が用いられているものとし、図５（ｃ）において点線で囲った領域５０４が、現フレームｎの顔検出位置・領域であるとする。フレームｎの顔検出位置・領域５０４の枠内の位置で検出した動きベクトルの変位量の中央値又は最頻値を算出して、動きベクトルの変位量の代表値（Ｘw1，Ｙw1）
とする。本例では、クラスタ初期重心値Ｗ1＝（Ｘw1，Ｙw1）は、図５（ｄ）において星
印で示す位置にあるとする。主被写体検出が、ＡＦ点のように位置情報だけを有し、領域情報を有しない場合には、ＡＦ点の近傍の領域を任意に選択して処理しても良い。
【００３１】
続いて、初期フレーム以降のフレームのクラスタリング処理における、クラスタ初期重心値Ｗ1の設定方法について説明する。フレーム（ｎ＋１）では、前のフレームｎで用いた顔検出位置・領域５０４に対し、クラスタリング処理の結果として算出された主被写体の画像の像面上での並進移動量だけ動かした位置で検出した動きベクトルに基づいてクラスタ初期重心設定Ｗ1を設定する。ここで、主被写体の画像の像面上での並進移動量は、主被写体にクラスタ分割された動きベクトルの中央値や最頻値等の統計処理によって算出された値である。本例では、顔検出位置・領域５０４に対し並進移動量だけ動かした、図５（ｂ）において点線で囲ったフレーム（ｎ＋１）の顔検出位置・領域５０５の枠内の位置で検出した動きベクトルを用いて同様にフレーム（ｎ＋１）のクラスタ初期重心値Ｗ1を設定する。フレーム（ｎ＋２）以降についても同様にしてクラスタ初期重心値Ｗ1を設定すれば良い。
【００３２】
このように、初期フレーム以降のフレームでのクラスタ初期重心値Ｗ1の設定に、クラスタリングされた動きベクトルを用いることで、初期フレームのときに検出した主被写体を追跡してクラスタ初期重心値Ｗ1を設定することができる。ただし、追跡誤差の蓄積やオクルージョンや、主被写体のフレームアウト等の原因で追跡した主被写体の位置・領域が正しく検出できないことも生じ得る。そのため、合焦処理部１０７で処理される主被写体検出を定期的に行い、その結果を用いることで、主被写体を適宜更新するようにしても良い。例えば、ある一定数のフレーム毎に主被写体の検出を行って、主被写体が検出されるフレーム毎に、前述した初期フレームと同様のクラスタ初期重心値の演算を行っても良い。また、初期フレームのときに検出した主被写体を追跡する際に、その主被写体の位置が画像内のある閾値を超えてフレーム端又はフレームアウトする場合、追跡設定を再設定するために、再度主被写体検出を行って主被写体を更新しても良い。また、後述するステップＳ４０４でのクラスタ分離判定によって、各クラスタの動きベクトルが分離していないと判定された場合、追跡設定を再設定するために、再度主被写体検出を行って主被写体を更新しても良い。
【００３３】
次に、姿勢変化取得部１０８より出力された姿勢変化量のデータを用いたクラスタ初期重心値Ｗ2の設定方法について説明する。取得した撮像装置の姿勢変化量を撮像素子上の移動量、つまり撮影したフレームでの画素移動量に換算することで、静止被写体、つまり背景の動きベクトルの変位量の推定値（Ｘw2，Ｙw2）を算出し、これをクラスタ初期重心
値Ｗ2とする。本例では、フレームｎのクラスタ初期重心値Ｗ2＝（Ｘw2，Ｙw2）は、図
５（ｄ）において十字印で示す位置にあるとする。画素移動量への換算方法は、単純にカメラの焦点距離Ｆと姿勢変化量θを用いて、（Ｆｔａｎθ）として撮像面上の変位量を概算する。
【００３４】
ステップＳ６０２にて、分割処理部３０２は、ステップＳ６０１において設定した２つのクラスタの初期重心値Ｗ1、Ｗ2を用いて、ステップＳ４０２において検出された複数の動きベクトルをそれぞれのクラスタに分割する処理を行う。クラスタ分割処理を行うクラスタリング手法は、一般公知技術でよく、本例では非階層的手法であるＫ−ｍｅａｎｓ法をベースに用いる。ステップＳ４０２において検出されたＩ個の動きベクトルＶ1＝（Ｘ1，Ｙ1）、Ｖ2＝（Ｘ2，Ｙ2）、・・・、ＶI＝（ＸI，ＹI）を２つのクラスタに分割することを考えると、目的関数Ｊは下記（式１）で表される。
【００３５】
【数１】
2019179376.tif 000003
【００３６】
ここで（式１）において、Ｃkは、クラスタｋに属する動きベクトルＶiの要素ｉの互いに素な部分集合である。分割処理部３０２は、この目的関数Ｊを最小化するクラスタ分割の最適化処理を行う。具体的には、（式１）の目的関数に示されているように、ステップＳ４０２において検出された動きベクトルＶiと２つのクラスタの初期重心値Ｗ1、Ｗ2とのベクトル変位量についてｘ−ｙ座標上におけるユークリッド距離を算出する。そして、算出した距離が小さい方のクラスタに動きベクトルＶiが属するように判定する。この処理を、すべての動きベクトルに対して行う。
【００３７】
図５（ｄ）に示したそれぞれの動きベクトルＶiが、クラスタの初期重心値Ｗ1、Ｗ2とのユークリッド距離を比較することにより、距離が近い方のクラスタＣ1又はＣ2に分割された結果の例を図７に示す。図７（ａ）は、図５（ｄ）においてｘ−ｙ座標上にプロットされた動きベクトルＶiのうち、クラスタＣ1に分割された動きベクトルを三角の記号でプロットし、クラスタＣ2に分割された動きベクトルを丸の記号でプロットしたものである。また、図７（ｂ）は、図７（ａ）のクラスタＣ1に分割された動きベクトルとクラスタＣ2に分割された動きベクトルの画像の像面上の始点位置、つまり特徴点の位置に、それぞれ三角、丸の記号でプロットした模式図である。ここでは、クラスタＣ1に動きベクトルが分割された三角の記号でプロットした特徴点は、主被写体の動きを検出しており、クラスタＣ2に動きベクトルが分割された丸の記号でプロットした特徴点は、背景の動きを検出している。分割処理部３０２は、以上のような処理を行うことで、ステップＳ４０２において検出された複数の動きベクトルを２つのクラスタに分割する。
【００３８】
次に、ステップＳ６０３にて、重心更新部３０３は、ステップＳ６０２においてクラスタ分割された動きベクトルを用いて、下記（式２）に基づいて２つのクラスタの重心値Ｗ'1、Ｗ'2を算出し更新する。
【００３９】
【数２】
2019179376.tif 000004
【００４０】
ここで（式２）において、ｎ（Ｃk）は、クラスタＣkに属する要素数である。重心更新部３０３は、（式２）に基づいて、それぞれのクラスタに属する動きベクトルの変位量の平均値を算出し、それをクラスタの重心値Ｗ'1、Ｗ'2としてそれぞれ更新する。本例では、重心値の算出には、動きベクトルの変位量の平均値を用いた例を示したが、それぞれのクラスタに属する動きベクトルの変位量の中央値を用いても良い。
【００４１】
ステップＳ６０４にて、終了判定部３０４は、クラスタリング処理を終了するか否かを判定する。所定の終了条件を満たしておらず終了しないと終了判定部３０４が判定した場合、ステップＳ６０２に戻る。そして、ステップＳ６０３において更新されたクラスタ重心値Ｗ'1、Ｗ'2を用いて、再度ステップＳ４０２において検出された複数の動きベクトルのクラスタ分割処理を行う。一方、所定の終了条件を満たし終了すると終了判定部３０４が判定した場合、ステップＳ６０５に進む。
【００４２】
クラスタリング処理を終了するか否かの判定基準（終了条件）は、例えばステップＳ６０２及びステップＳ６０３の一連の処理を行った回数をカウントして、このカウント数がある閾値以上になった場合に終了と判定するようにしても良い。また、ステップＳ６０２でのクラスタ分割処理において、各動きベクトルの属するクラスタに変化がない、もしくは変化する動きベクトルの数がある閾値以下である場合に終了と判定するようにしても良い。また、ステップＳ６０３において更新されたクラスタの重心値Ｗ'1、Ｗ'2の変化量がある閾値以下である場合に終了と判定するようにしても良い。
【００４３】
ステップＳ６０５にて、ラベリング判定部３０５は、ステップＳ６０１〜Ｓ６０４の処理によって分割された動きベクトルが属する２つのクラスタが、主被写体の動きと背景の動きのどちらに対応するものかを判定して、それぞれのクラスタにラベリングを行う。ラベリングの判定方法を図７を用いて説明する。
【００４４】
主被写体の位置・領域の情報を用いてラベリングを行う場合について説明する。例えば、２つのクラスタの内で、図７（ｂ）において主被写体検出位置・領域である点線の枠７０１内、又はその近傍の位置で検出した動きベクトルの数が多い方を主被写体の動きに相当するクラスタであると判定する。また、クラスタ初期重心値Ｗ1と更新したクラスタの重心値Ｗ'1、Ｗ'2とを比較して、クラスタ初期重心値Ｗ1に近い重心値のクラスタを主被写体の動きに相当するクラスタであると判定しても良い。また、各クラスタＣk毎に分割した動きベクトルの画像の像面上の特徴点位置の平均値と分散値が、主被写体検出位置・領域７０１と比較して近いクラスタを主被写体の動きに相当するクラスタであると判定しても良い。
【００４５】
次に、姿勢変化量を用いてラベリング判定を行う場合について説明する。例えば、クラスタ初期重心値Ｗ2と更新したクラスタの重心値Ｗ'1、Ｗ'2とを比較して、クラスタ初期重心値Ｗ2に近い重心値のクラスタを背景の動きに相当するクラスタであると判定する。ここでは、分割したそれぞれのクラスタＣ1、Ｃ2に属する動きベクトルが主被写体と背景のどちらの動きに近いかを判定するため、前述した判定方法を複数組み合わせても良い。
【００４６】
本例では、動きベクトルのクラスタリングはＫ−ｍｅａｎｓ法をベースに用いているが、（式１）の評価式を集合の分散を考慮したマハラノビス距離やＥＭ（expectation-maximization）アルゴリズム等を用いても良い。また、本例では、クラスタは、主被写体と背景の２つのケースのみを扱っているが、被写体の初期情報が複数存在する場合、その数に応じたクラスタ数でクラスタリングを行っても良い。例えば、顔検出の際に、複数人の顔が検出された場合、検出した数だけクラスタを設定しても良い。また、動きベクトルの２次元ヒストグラムを算出して、ヒストグラムの頂点の数を検出し、それに相当する主被写体検出位置と比較して、検出された主被写体のうち異なる動きをしている被写体の数だけクラスタ数を設定しても良い。
【００４７】
これらのアルゴリズムによるクラスタリングの結果は、クラスタ初期値による依存性が非常に高い。本実施形態では、合焦処理による主被写体の位置情報と撮影装置の姿勢変化情報を用いて算出したクラスタ初期値を用いることで、より良好なクラスタリング結果を得ることができる。さらに、ステップＳ６０４での判定に応じたステップＳ６０２〜Ｓ６０３の処理の繰り返し回数を低減することも可能である。
【００４８】
ここで、主被写体の位置情報と撮影装置の姿勢変化情報を用いて算出したクラスタ初期重心値を起点として処理されたクラスタが、それぞれ別の動きに相当するクラスタとして反転してしまうケースがある。これを、図８を用いて説明する。図８（ａ）及び図８（ｂ）は撮影画像の模式図であり、それぞれ点線の枠８０１、８０２が、合焦処理部１０７で検出した顔検出位置・領域である。図８（ａ）は顔検出位置・領域８０１が主被写体の画像上の顔の位置とずれてしまった例を示しており、図８（ｂ）は主被写体が背景被写体に隠れてしまい、顔検出位置・領域８０２の枠内の主被写体の顔に対してオクルージョンが生じてしまった例を示している。このような場合、主被写体の位置情報から算出されるクラスタ初期重心値Ｗ1が、被写体の動きベクトルの変位量に対して異なる値になってしまうことがある。他には、ステップＳ６０１において、主被写体を検出した初期フレーム以降に主被写体を追跡する際に、主被写体が動いたり、主被写体の向きが変わったりすると、主被写体の位置・領域が画像の像面上の位置とずれてしまい、同様の現象が起こることもある。また、主被写体の前景に別の被写体が横切ると主被写体の位置・領域が画像の像面上の位置とずれてしまい、同様の現象が起こることもある。さらには、背景被写体に奥行きがある場合や、姿勢センサの温度特性や誤差の蓄積等の影響など、撮影装置の姿勢変化情報を用いて算出したクラスタ初期重心値Ｗ2が、背景の動きベクトルから大きく外れてしまうケースもある。これらの結果、与えられたクラスタの初期重心値とクラスタリングされた結果の対象が反転することが起こりうるため、ステップＳ６０５においてラベリング判定を行うことでより好適なクラスタリング結果を得ることができる。
【００４９】
以上がステップＳ４０３でのクラスタリング処理である。
次に、ステップＳ４０４にて、クラスタ分離判定部２０４は、ステップＳ４０３でのクラスタリング処理によりクラスタ分割された主被写体、背景の動きベクトルを用いて、背景に対する分離の有無を判定する。クラスタ分離判定部２０４は、クラスタ分割された主被写体、背景の動きベクトルに係る統計量を用いて、それぞれのクラスタに属する動きベクトルを評価し、背景に対する分離の有無、つまり背景に対して主被写体が動いているか否かを判定する。
【００５０】
はじめに、主被写体として分割されたクラスタが背景に対して分離していない場合を図９を用いて説明する。図９（ａ）は、クラスタリングにより２つのクラスタに分割された動きベクトルの変位量を、それぞれ丸と三角の記号でｘ−ｙ座標上のグラフにプロットした模式図である。図９（ｂ）は、それぞれのクラスタに属する動きベクトルの特徴点の位置を撮影画像の像面上の位置にプロットした模式図である。図９（ａ）に示す動きベクトル変位量のグラフをみると、多くの動きベクトルは動きが小さく、０近傍に分布しているが、クラスタリングにより２つのクラスタの塊に分割されている。図９（ｂ）に示すそれぞれのクラスタに属する動きベクトルの特徴点位置をみると、画像全体でそれぞれ偏りなく分布しており、主被写体の動きベクトルが背景に対して分離していないことが分かる。図９に示した例では、主被写体、背景がともに静止している場合を示しているが、例えば主被写体と撮影装置がともに動いており、その動きが同調して、ほぼ同じベクトル変位量になるタイミングでも同様に分離していないことも有り得る。
【００５１】
次に、主被写体として分割されたクラスタが背景に対して分離している場合を図７を用いて説明する。図７（ａ）に示した動きベクトル変位量のグラフをみると、２つのクラスタ間で動きベクトルの変位量に差があり、クラスタリング処理により２つのクラスタに属するベクトルは、明らかに分かれて局在しており、分割されている。図７（ｂ）に示したそれぞれのクラスタに属する動きベクトルの特徴点位置をみると、三角の記号で示している主被写体の動きベクトルの検出位置は、主被写体の像面上の位置に分布しており、主被写体のベクトルが背景に対して分離していることが分かる。
【００５２】
さらに、もう１つの例として、主被写体以外の被写体の動きベクトルのクラスタが背景に対して分離している場合を図１０を用いて説明する。図１０（ａ）は、動きベクトルの変位量を、ｘ−ｙ座標上のグラフに、丸、三角、×印でプロットした模式図である。図１０（ａ）に示した例では、点線１００１を境にクラスタリング処理により２分割されており、丸、三角印は同じクラスタに属し、×印の記号がもう１つのクラスタとして分割されているものとする。図１０（ｂ）は、図１０（ａ）にプロットした丸、三角、×印で表した動きベクトルの画像の像面上の特徴点位置に同じ記号でプロットした撮影画像の模式図である。図１０（ｂ）に示すそれぞれのクラスタに属する動きベクトルの画像の像面上の特徴点位置は、丸の記号と三角の記号が、それぞれ背景と主被写体のベクトルの特徴点位置であり、×印が、車のベクトルの特徴点位置である。このように撮影画像内に２つ以上の動きをもつ被写体が存在する場合、２つのクラスタに分割するクラスタリングを行うと、検出したクラスタ自体は分離されているものの、それが主被写体のクラスタとして分離されていないことがある。図１０に示した例では、車の動きに相当するクラスタの動きベクトルを除くと、主被写体と背景の動きベクトルは分離することは可能である。この例では、車が別の被写体であったが、主被写体自身の腕や足などが異なる動きをもつクラスタとして検出されてしまうこともある。
【００５３】
このように複数の動き動きベクトルにおける主被写体の背景に対する分離の有無を測るためには、クラスタ分割後の画像の像面上の動きベクトルの特徴点位置に関する情報を用いる必要がある。本例では、それぞれのクラスタの画像の像面上の動きベクトルの特徴点位置のばらつきや大きさを、統計量（ここでは分散値）を用いて評価する。ここで、主被写体としてクラスタ分割された動きベクトルの統計量としての、撮影画像の像面上の動きベクトルの特徴点位置の分散値をＤ1とする。また、背景としてクラスタ分割された動きベクトルの統計量としての、撮影画像の像面上のベクトルの特徴点位置の分散値をＤ2とする。
【００５４】
例えば、主被写体検出によって、その領域、つまり主被写体の大きさがある程度分かっている場合、主被写体の大きさと主被写体の分散値Ｄ1とを比較して、その差が閾値以下であれば、主被写体が背景に対して分離していると判定すれば良い。しかし、本例の顔検出のように顔領域の大きさと主被写体の全体の大きさとが異なったり、主被写体の位置のみしか情報がなかったりする場合、主被写体が動いていることを判定して、主被写体の大きさを推測する必要がある。その判定方法を図１１を用いて説明する。
【００５５】
図１１は、フレーム毎の主被写体の分散値Ｄ1と背景の分散値Ｄ2とをプロットしたグラフの模式図であり、横軸がフレーム番号であり、縦軸が分散値である。グラフ内の区間ａでは、図９に示したように主被写体、背景ともにほとんど静止しており、動きがない状態である。このときの分散値Ｄ1、Ｄ2をみると、図１１のグラフで示したようにそれぞればらつきが大きい状態が続いている。
【００５６】
区間ａの次の区間ｂでは、図７に示したように主被写体が背景に対して動いている状態である。このときの分散値Ｄ1、Ｄ2をみると、図１１のグラフで示したように、それぞれ主被写体と背景の分布に相当する、ある一定の数値になっている。続いて区間ｃでは、図１０に示したように車のような、主被写体と背景に対して別の動きをもつ被写体が画像中に存在している状態である。このときの分散値Ｄ1、Ｄ2をみると、図１１のグラフで示したように、ここでは背景の分散値Ｄ2は、主被写体及び背景とは別の動きをもつ被写体に基づくものであり、主被写体の分散値Ｄ1が、主被写体と背景を含む分布に相当する値となっている。
【００５７】
さらに区間ｄでは、主被写体及び背景とは別の動きをもつ被写体が止まるもしくは撮影範囲から外れたため、再度図７に示したように主被写体が背景に対して動いている状態となっている。このときの分散値Ｄ1、Ｄ2をみると、図１１のグラフで示したように、区間ｂと同様にそれぞれ主被写体と背景の分布に相当する、ある一定の数値になっている。最後の区間ｅでは、背景に対する主被写体の動きがとまったために、再度図９に示したように主被写体、背景ともにほとんど静止しており、動きがない状態である。このときの分散値Ｄ1、Ｄ2をみると、図１１のグラフで示したように区間ａと同様にそれぞればらつきが大きい状態が続いている。
【００５８】
図１１に一例を示したように、それぞれのクラスタに属する動きベクトルの画像の像面上の特徴点位置の分散値が複数のフレームにわたって安定していると、動いている被写体が存在していること、つまり被写体が背景に対して動いていることが判定できる。以下、ステップＳ４０４でのクラスタ分離判定の詳細を、図１２を参照して説明する。
【００５９】
図１２は、クラスタ分離判定部２０４によるクラスタ分離判定の処理例を示すフローチャートである。まず、ステップＳ１２０１にて、クラスタ分離判定部２０４は、分離判定に用いる統計量として、各クラスタに属する動きベクトルの画像の像面上の特徴点位置の分散値Ｄ1、Ｄ2を算出する。次に、ステップＳ１２０２にて、クラスタ分離判定部２０４は、ステップＳ１２０１において算出した分散値Ｄ1、Ｄ2のフレーム間の変化量を一次微分によって算出する。算出さされた動きベクトルの特徴点位置の分散値の微分値をそれぞれδＤ1、δＤ2とする。
【００６０】
ステップＳ１２０３にて、クラスタ分離判定部２０４は、クラスタリングされた対象の被写体が背景に対して分離しているか否かを判定する。ここで、クラスタ分離判定部２０４は、ステップＳ１２０２において算出した分散値の微分値δＤ1、δＤ2に対してそれぞれ設定した閾値と、分散値の微分値δＤ1、δＤ2とを比較する。その結果、分散値の微分値δＤ1、δＤ2が双方ともに設定した閾値以下であり、かつともに閾値以下である状態がｍフレーム以上にわたって連続している場合、対象の被写体が背景に対して分離していると判定し、そうでない場合は分離していないと判定する。ここでｍは２以上の任意のフレーム数とする。なお、判定においては、主被写体、背景の分散値の一次微分値がともに条件を満たすか否かを判定するようにしているが、主被写体の分散値の一次微分値のみで条件を満たすか否かの判定を行っても良い。
【００６１】
ステップＳ１２０３において、対象の被写体が背景に対して分離していないとクラスタ分離判定部２０４が判定した場合（ＮＧ）、ステップＳ１２０４に進む。ステップＳ１２０４にて、クラスタ分離判定部２０４は、各クラスタの動きベクトルは分離していないと判定し、クラスタ分離判定を終了する。
【００６２】
一方、ステップＳ１２０３において、対象の被写体が背景に対して分離しているとクラスタ分離判定部２０４が判定した場合（ＯＫ）、ステップＳ１２０５に進む。ステップＳ１２０５にて、クラスタ分離判定部２０４は、被写体と背景との分離が開始したか否かを判定し、分離開始と判定した場合にはステップＳ１２０６に進み、分離開始ではないと判定した場合にはステップＳ１２０７に進む。ここでは、被写体と背景との分離が初期に開始したか否かだけでなく、分離しなくなった後に、分離が再開する場合も判定する。具体的には、前のフレームでのクラスタ分離判定の結果を確認し、前のフレームで各クラスタの動きベクトルが分離していないと判定されていた場合に分離開始と判定し、そうでない場合に分離開始ではないと判定する。
【００６３】
ステップＳ１２０６にて、クラスタ分離判定部２０４は、ステップ１２０１において算出した分散値Ｄ1、Ｄ2を記憶して、ステップＳ１２０７に進む。ステップＳ１２０７にて、クラスタ分離判定部２０４は、背景に対して分離しているクラスタリングされた対象の被写体が、主被写体であるか否かを判定する。判定の結果、クラスタ分離判定部２０４が、対象の被写体が主被写体であると判定した場合にはステップＳ１２０８に進み、そうでないと判定した場合にはステップＳ１２０９に進む。ステップＳ１２０５において分離開始と判定した場合、主被写体の大きさが未定であるため、主被写体の画像の像面上の位置を評価して主被写体判定を行う。ステップＳ１２０５において分離開始ではないと判定した場合、前述の主被写体の位置を評価した主被写体判定に加えて、主被写体の画像の像面上の大きさを評価した主被写体判定を行い、双方ともに条件を満たせば、分離した被写体が主被写体であると判定する。
【００６４】
はじめに、主被写体の位置を評価した主被写体判定方法について説明する。まず、クラスタ分離判定部２０４は、主被写体の画像の像面上の特徴点位置の平均値を算出し、主被写体の中心位置を算出する。ここでαは任意の閾値とし、ステップ１２０１において算出した現フレームの主被写体の分散値Ｄ1を用いて、算出した主被写体の中心位置から半径（Ｄ1＋α）の距離の範囲内に、画像の像面上の主被写体位置・領域が入っているか否かを判定する。その結果、主被写体の中心位置から半径（Ｄ1＋α）の距離の範囲内に、画像の像面上の主被写体位置・領域が入っている場合、対象の被写体が主被写体であると判定する。
【００６５】
次に、主被写体の大きさを評価した主被写体判定方法について説明する。クラスタ分離判定部２０４は、分離開始時のフレーム処理時にステップＳ１２０６において記憶した分散値Ｄ1、Ｄ2と現在のフレームで処理したステップ１２０１において算出した分散値Ｄ1、Ｄ2との差を算出する。算出したそれぞれの差の値が閾値以下である場合、クラスタ分離判定部２０４は、分離した被写体が主被写体であると判定する。ここでは、主被写体、背景の分散値Ｄ1、Ｄ2がともに条件を満たすか否かを判定するようにしているが、主被写体の分散値のみで条件を満たすか否かの判定を行っても良い。
【００６６】
ステップＳ１２０８にて、クラスタ分離判定部２０４は、主被写体クラスタが分離していると判定して、クラスタ分離判定を終了する。ステップＳ１２０９にて、クラスタ分離判定部２０４は、主被写体以外の対象の被写体クラスタが分離していると判定して、クラスタ分離判定を終了する。
【００６７】
以上がクラスタ分離判定部２０４によるクラスタ分離判定である。なお、ここでは説明の簡略化のため、クラスタ分割された画像上の動きベクトルの検出位置の分散値は、１成分しか示していないが、実際にはｘ、ｙの２成分について分散値が算出される。これについて各成分毎に前述した処理を行って、双方の組み合わせで判定を行う。表１に、その組み合わせのパターンと、その時の判定結果を示す。
【００６８】
【表１】
2019179376.tif 000005
【００６９】
左の列は、成分＜１＞（例えばｘ成分）の判定結果、真ん中の列は成分＜２＞（例えばｙ成分）の判定結果、右の列はそのフレームにおける判定結果を示している。表１に示すように両成分ともに、条件を満たさなければ、主被写体クラスタが分離していると判定されない。
【００７０】
図４に戻り、クラスタ分離判定の結果が、判定結果Ａである場合にはステップＳ４０５に進み、判定結果Ｂである場合にはステップＳ４０３に戻り、再度クラスタリングを行う。ここで、判定結果Ａは、主被写体クラスタが分離していると判定された場合又は各クラスタの動きベクトルは分離していないと判定された場合である。また、判定結果Ｂは、主被写体以外の対象の被写体が分離していると判定された場合である。
【００７１】
ステップＳ４０４からステップＳ４０３に戻った場合、クラスタリング処理部２０３は、別の被写体であると判定されたクラスタに属する動きベクトルを除外して残りのすべての動きベクトルに対して再度クラスタリング処理を行う。そして、クラスタリングされた結果を用いて再度ステップＳ４０４において、クラスタ分離判定部２０４がクラスタ分離の判定を行う。そうすることで、図１０に示した例のような場合に別の被写体の動きベクトルを取り除くことができ、好適なクラスタリング結果を得ることが可能になる。この再度クラスタリング処理へ戻るフローは、任意の回数行っても良く、またある一定回数行っても主被写体以外の対象の被写体が分離していると判定される場合、各クラスタのベクトルは分離していないと判定を変更してステップＳ４０５に進んでも良い。
【００７２】
ステップＳ４０５にて、パラメータ演算部２０５は、ステップＳ４０３においてクラスタ分割された主被写体、背景の動きベクトルを用い、ステップＳ４０４でのクラスタ分離判定結果に応じて、電子防振のための幾何変形パラメータを算出する。幾何変形パラメータの算出方法は、例えば、ホモグラフィ変形パラメータを、検出した動きベクトル、つまりはフレーム画像間における特徴点間の対応関係を用いて、最小二乗法等の統計的処理を適用することにより算出する。その他、ヘルマートやアフィン変換行列等といった他の行列を使用しても良く、ＲＡＮＳＡＣやＭ推定等のロバスト推定方法を用いても良い。
【００７３】
ここでクラスタ分離判定結果毎に、どのように幾何変形パラメータを算出するかを説明する。主被写体が背景に対して分離している場合、主被写体に属する動きベクトルと背景に属する動きベクトルとのそれぞれに対して幾何変形パラメータを算出する。そして、並進成分のみ主被写体から算出した幾何変形パラメータの結果から用いて、他の成分は背景から算出した幾何変形パラメータの結果を用いて、１つの幾何変形パラメータに合成する。このようにすることで、主被写体の動きブレを抑えつつ、背景の姿勢変化による回転ブレを抑えた電子防振を行うことができる。また、主被写体が背景に対して分離していない場合、すべての動きベクトルを用いて幾何変形パラメータを算出する。このように主被写体が背景に対して分離していない場合には、主被写体と背景の動きの差は小さく、フレーム全体を１つの動きとして電子防振を行う。
【００７４】
ステップＳ４０６にて、出力画像生成部２０６は、ステップＳ４０５において算出された幾何変形パラメータを用いて、画像入力部２０１より入力された画像に対して画像の幾何変形を行う。これにより、電子防振処理を施した安定化された画像が生成される。生成された画像は、記録媒体１１０に記録画像として記録される。
【００７５】
以上の説明では、ステップＳ４０４において、はじめに動いていると判定した大きさの分散値をもつ主被写体に対する処理を行っているが、ユーザーの意図する主被写体が移り変わったりするケースも存在する。例えば、合焦処理部１０７で画像内の主被写体の検出が定期的に行われることで、もしくはユーザーが合焦対象の被写体を変更することによって、主被写体の対象が変更されることがある。この場合には、主被写体の対象が変更される都度、ステップＳ４０１〜Ｓ４０６の処理を行い、主被写体対象を新たに設定する制御を行っても良い。また、撮影の後処理としてユーザーが主被写体を指定することで、指定された主被写体の位置・領域の情報を用いて、ステップＳ４０１〜Ｓ４０６の処理を行い、クラスタリングされた動きベクトルによる電子防振により安定化された画像を生成しても良い。
【００７６】
以上のように本実施形態によれば、主被写体の動きベクトルと背景の動きベクトルとを良好にクラスタ分割することができる。例えば、主被写体と背景の動きベクトルの値が近い場合や、主被写体と背景以外の動きをもつ被写体が存在するような場合でも、主被写体の動きベクトルと背景の動きベクトルとを適切に分類することが可能となる。
【００７７】
（その他の実施形態）
前述した説明では、クラスタ分割された主被写体、背景の動きベクトルを用いた制御の一例として、電子防振処理に適応した例について説明した。この他にも、クラスタ分割された主被写体、背景の動きベクトルを用いた制御は、例えば光学防振やイメージャー防振などの別の部材へフィードバックする防振処理やＡＦの被写体追尾などの撮影装置の制御に用いても良い。さらに、動画像のフレーム間に新たなフレームを内挿することでフレームレートを向上させるフレーム補間処理や動画像符号化などの画像処理制御にも用いても良い。
【００７８】
また、前述した説明では、本発明がビデオカメラなどの撮像装置に適用した例を示したが、これに限定されるものではない。例えば、本発明は、ビデオカメラを装着したパーソナルコンピュータに適用することもできるし、動画撮影が可能とされた携帯電話端末に適用してもよい。さらに、本発明は、撮影によりリアルタイムに出力される画像データに対する処理として適用される以外に、記録媒体に記録された画像データに対する処理としても適用可能である。また、パーソナルコンピュータのハードディスクなどに記録された画像データに対して、パーソナルコンピュータ上のソフトウェアにより本発明による処理を行ってもよい。
【００７９】
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８０】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８１】
１００：撮像装置  １０１：制御部  １０２：ＲＯＭ  １０３：ＲＡＭ  １０５：撮像部  １０７：合焦処理部  １０８：姿勢変化取得部  １０９：画像処理部  ２０１：画像入力部  ２０２：ベクトル検出部  ２０３：クラスタリング処理部  ２０４：クラスタ分離判定部  ２０５：パラメータ演算部  ２０６：出力画像生成部  ３０１：初期値設定部  ３０２：分割処理部  ３０３：重心更新部  ３０４：終了判定部  ３０５：ラベリング判定部
【図１】
2019179376.tif 000006
【図２】
2019179376.tif 000007
【図３】
2019179376.tif 000008
【図４】
2019179376.tif 000009
【図５】
2019179376.tif 000010
【図６】
2019179376.tif 000011
【図７】
2019179376.tif 000012
【図８】
2019179376.tif 000013
【図９】
2019179376.tif 000014
【図１０】
2019179376.tif 000015
【図１１】
2019179376.tif 000016
【図１２】
2019179376.tif 000017