(57)【特許請求の範囲】
【請求項１】
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得手段と、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得手段と、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標と、前記分散度取得手段が取得した分散度と、に基づいて、前記画像と該画像を含む動画中の他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得手段と、
前記基礎行列取得手段が取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理手段と、
を備える、
ことを特徴とする画像処理装置。
【請求項２】
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標に基づいて、前記画像と前記他の画像との間のエピポーラ幾何関係を表す仮基礎行列を取得する仮基礎行列取得手段と、
前記仮基礎行列取得手段が取得した仮基礎行列に基づいて、前記画像に含まれる特徴点が前記他の画像に投影するエピポーラ線と、該特徴点に対応する前記他の画像中の特徴点と、の間の距離を取得する距離取得手段と、
をさらに備え、
前記分散度取得手段は、
前記画像に含まれる複数の特徴点のうち、前記仮基礎行列に基づいて前記距離取得手段が取得した距離が閾値内の特徴点の前記画像における分散度を示す仮基礎行列に対応する分散度を取得し、
前記基礎行列取得手段は、
前記仮基礎行列取得手段が取得した複数の仮基礎行列のうち、前記分散度取得手段が取得した仮基礎行列に対応する分散度が最も大きい仮基礎行列を、前記基礎行列として取得する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記分散度取得手段は、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の前記画像における分散度を示す特徴点群に対応する分散度を取得し、
前記基礎行列取得手段は、
前記特徴点群取得手段が取得した複数の特徴点群のうち、前記分散度取得手段が取得した特徴点群に対応する分散度が最も大きい特徴点群を構成する特徴点の座標に基づいて、前記基礎行列を取得する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記分散度取得手段は、
特徴点を基準として生成された仮想領域の面積に基づいて、前記分散度を取得する、
ことを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記分散度取得手段は、
特徴点の座標の値の分散または標準偏差に基づいて、前記分散度を取得する、
ことを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項６】
前記分散度取得手段は、
特徴点の間の距離の平均値または中間値に基づいて、前記分散度を取得する、
ことを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項７】
前記分散度取得手段は、
複数の特徴点を互いに連結する直線によって構成され、該複数の特徴点を包摂する閉曲線の形状に基づいて、前記分散度を取得する、
ことを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項８】
前記分散度取得手段は、
前記画像を複数の領域に分割したときに特徴点を含む領域の数に基づいて、前記分散度を取得する、
ことを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項９】
前記画像処理は、手ぶれ補正処理であることを特徴とする請求項１乃至８の何れか一項に記載の画像処理装置。
【請求項１０】
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得ステップと、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得ステップと、
前記特徴点群取得ステップにおいて取得した特徴点群を構成する特徴点の座標と、前記分散度取得ステップにおいて取得した分散度と、に基づいて、前記画像と該画像を含む動画に含まれる他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得ステップと、
前記基礎行列取得ステップにおいて取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理ステップと、
を含む、
ことを特徴とする画像処理方法。
【請求項１１】
コンピュータを、
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得手段、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得手段、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標と、前記分散度取得手段が取得した分散度と、に基づいて、前記画像と該画像を含む動画に含まれる他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得手段、
前記基礎行列取得手段が取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
エピポーラ幾何を応用して動画に手ぶれ補正を施す技術が知られている。例えば、非特許文献１は、動画が含むフレーム（画像）間のエピポーラ幾何関係を表す基礎行列に基づいて動画に手ぶれ補正を施す技術を開示している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Amit Goldstein and. Raanan Fattal, " Video Stabilization using Epipolar Geometry ", ACM Transactions on Graphics (TOG), Volume 31, Issue 5, August 2012, Article No.126.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１の技術では、フレームの一部分のエピポーラ幾何関係を表すように最適化された（局所的に最適化された）基礎行列を取得してしまうことを防止できない。局所的に最適化された基礎行列は、フレーム全体のエピポーラ幾何関係を表すように最適化されていない、精度の悪い基礎行列である虞がある。精度の悪い基礎行列に基づいて画像処理、例えば、手ぶれ補正を実行すると、動画が含むフレームがいびつに変形されてしまい、手ぶれ補正後の動画にぶれが発生してしまう。
【０００５】
本発明は、上記の課題に鑑みてなされたものであり、精度の良い基礎行列に基づいて画像処理を実行する画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る画像処理装置は、
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得手段と、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得手段と、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標と、前記分散度取得手段が取得した分散度と、に基づいて、前記画像と該画像を含む動画中の他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得手段と、
前記基礎行列取得手段が取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理手段と、
を備える、
ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、精度の良い基礎行列に基づいて画像処理を実行できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】分散度の一例を説明するための図である。
【図３】仮想特徴点軌道の構築を説明するための図である。
【図４】手ぶれ補正後の特徴点軌道の構築を説明するための図である。
【図５】本発明の第１実施形態に係る画像処理装置が実行する手ぶれ補正処理を説明するためのフローチャートである。
【図６】本発明の第１実施形態に係る画像処理装置が実行する基礎行列取得処理を説明するためのフローチャートである。
【図７】本発明の第２実施形態に係る画像処理装置の構成例を示すブロック図である。
【図８】本発明の第２実施形態に係る画像処理装置が実行する基礎行列取得処理を説明するためのフローチャートである。
【図９】分散度の別例を説明するための図である。
【図１０】分散度のさらに別例を説明するための図である。
【発明を実施するための形態】
【０００９】
（第１実施形態）
以下、本発明の実施形態に係る画像処理装置の機能及び動作を、図面を参照しながら説明する。
【００１０】
本実施形態においては、画像処理装置１は、画像処理の一例として、ターゲット動画に対して手ぶれ補正を施すことにより、補正後動画を生成する。ターゲット動画（手ぶれ補正対象の動画）及び補正後動画（手ぶれ補正後の動画）は、時間的に連続して撮像された複数のフレーム（画像）を含む。
【００１１】
画像処理装置１は、図１に示すように、制御部１０と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｒｏｙ）３０と、入力部４０と、表示部５０と、外部インタフェース６０と、を備える。
【００１２】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備え、ＲＯＭ３０に記憶された各種プログラムを実行する。具体的に、制御部１０は、ＲＯＭ３０に記憶された制御プログラムを実行することにより、画像処理装置１全体を制御する。また、制御部１０は、ＲＯＭ３０に記憶された画像処理プログラムを実行することにより、図１に示すように、特徴点抽出部１０１、特徴点群取得部１０２、仮基礎行列取得部１０３、距離取得部１０４、分散度取得部１０５、基礎行列取得部１０６及び処理部１０７として機能する。
【００１３】
特徴点抽出部１０１は、特徴点軌道Ｐを構築する。特徴点軌道Ｐは、ターゲット動画の複数フレームにわたる特徴点ｐの軌跡であり、ターゲット動画を撮像した撮像装置の手ぶれの影響を受けた動きを表す。以下、第ｓフレームが含む特徴点を特徴点ｐｓと表記する。どのフレームが含む特徴点であるか特定する必要がない場合には、単に特徴点ｐと表記する。
【００１４】
具体的に、特徴点抽出部１０１は、任意の公知技術（例えば、ＫＬＴ法、Ｈａｒｒｉｓ／Ｐｌｅｓｓｅｙ法、Ｈｅｓｓｉａｎ法）を用いて、ターゲット動画のフレームから特徴点ｐを抽出する（特徴点ｐの座標を取得する）。そして、特徴点抽出部１０１は、抽出した特徴点ｐを、任意の公知技術（例えば、ブロックマッチングや濃度勾配を利用したアルゴリズム）を用いて時間的に追跡することにより特徴点軌道Ｐを構築する。
【００１５】
特徴点群取得部１０２は、フレーム中の複数の特徴点ｐで構成される特徴点群を複数取得する。
【００１６】
具体的に、特徴点群取得部１０２は、互いに異なる２つのフレーム（以下、説明のため、互いに異なる２つのフレームの例として第ｓフレームと第ｔフレームを用いて説明する）における、同一の特徴点軌道Ｐの構成点である特徴点ｐｓ、ｐｔを組み合わせることにより、１つの特徴点対を取得する。特徴点群取得部１０２は、異なる特徴点軌道Ｐを順次選択しながらこの処理を繰り返すことにより、複数の特徴点対を取得する。そして、取得した複数の特徴点対のうち８対を選択し、これらの特徴点対を構成する特徴点ｐｓ、ｐｔのうち同一のフレーム（本実施形態では、第ｔフレーム）に含まれる８個の特徴点ｐｔを組み合わせることにより、１つの特徴点群を取得する。特徴点群取得部１０２は、この処理を所定回数（本実施形態では、５００回）繰り返すことにより、所定数（本実施形態では、５００個）の特徴点群を取得する。
【００１７】
仮基礎行列取得部１０３は、特徴点群取得部１０２が取得した複数の特徴点群について、各特徴点群を構成する特徴点ｐｔの座標に基づいて、各特徴点群に対応する仮基礎行列Ｆ’を取得する。
【００１８】
仮基礎行列Ｆ’は、２つのフレーム（第ｓフレームと第ｔフレーム）の間のエピポーラ幾何関係を表し、下記の式（１）を満たす。式（１）中、ｍｓは第ｓフレームが含む任意の点であり、ｍｔは第ｔフレームが含むｍｓに対応する点である。式（１）が示すように、仮基礎行列Ｆ’は、ｆ１〜ｆ８の８個の要素を有する。仮基礎行列取得部１０３は、１つの特徴点群が含む８個の特徴点ｐｔと、これらの特徴点ｐｔそれぞれと共に特徴点対を構成する特徴点ｐｓと、の座標を対応点の座標として式（１）へ代入し要素ｆ１〜ｆ８を取得することにより、この特徴点群に対応する仮基礎行列Ｆ’を取得する。以下、第ｓフレームと第ｔフレームとの間のエピポーラ幾何関係を表す仮基礎行列Ｆ’を、Ｆ’ｓ、ｔと表記する。
【００１９】
【数１】
0006511980.tif 000002
【００２０】
距離取得部１０４は、仮基礎行列取得部１０３が取得した仮基礎行列Ｆ’に基づいて、特徴点ｐｔが投影するエピポーラ線と、この特徴点ｐｔに対応する特徴点ｐｓと、の間の距離を取得する。
【００２１】
第ｔフレームが含む任意の点ｍｔ＝（ｘｔ、ｙｔ、１）が第ｓフレームに投影するエピポーラ線は、２つのフレームの間のエピポーラ幾何関係を表す仮基礎行列Ｆ’ｓ、ｔを用いて、下記の式（２）により表される。式（２）中、ｆ１〜ｆ８は、式（１）で示される仮基礎行列Ｆ’ｓ、ｔの要素である。式（２）で表されるエピポーラ線と、第ｓフレーム中の任意の点ｍｓ＝（ｘｓ、ｙｓ、１）と、の間の距離ｄｉｓｔは、下記の式（３）で表される。式（３）中、ａ〜ｃは、式（２）で示されるエピポーラ線の係数である。仮基礎行列Ｆ’がある点とその対応点との間のエピポーラ幾何関係を正確に表しているほど、この点が投影するエピポーラ線とこの点の対応点との間の距離は小さい。
【００２２】
【数２】
0006511980.tif 000003
【００２３】
【数３】
0006511980.tif 000004
【００２４】
分散度取得部１０５は、分散度を取得する。分散度は、特徴点ｐがフレーム中においてどの程度散らばって分布しているかを示す。
【００２５】
本実施形態で、分散度取得部１０５は、仮基礎行列取得部１０３が取得した仮基礎行列Ｆ’それぞれに対応する分散度を取得する。ある仮基礎行列Ｆ’に対応する分散度は、フレームに含まれる複数の特徴点ｐのうち、この仮基礎行列Ｆ’に基づいて距離取得部１０４が取得した距離が閾値以下である特徴点ｐのこのフレームにおける分散度を示す。
【００２６】
上述した通り、仮基礎行列Ｆ’がある点とその対応点との間のエピポーラ幾何関係を正確に表しているほど、この仮基礎行列Ｆ’に基づいて距離取得部１０４が取得した、この点が投影するエピポーラ線とこの点の対応点との間の距離は小さい。すなわち、ある仮基礎行列Ｆ’に基づいて距離取得部１０４が取得した距離が閾値以下である特徴点ｐは、この仮基礎行列Ｆ’がエピポーラ幾何関係を一定レベル以上に正確に表している特徴点ｐである。ある仮基礎行列Ｆ’に対応する分散度は、この仮基礎行列Ｆ’が正確に対応点との間のエピポーラ幾何関係を正確に表している特徴点ｐが、フレーム中においてどの程度散らばって分布しているかを示す。
【００２７】
具体的に、分散度取得部１０５は、距離取得部１０４が取得した距離が閾値（本実施形態では、０．１ピクセル）以下の全ての特徴点ｐを基準として仮想領域を生成する。本実施形態では、図２に示すように、各特徴点ｐを中心とする所定半径Ｒ（本実施形態では、Ｒ＝３２ピクセル）の円を仮想領域として生成する。分散度取得部１０５は、生成した全ての仮想領域の面積の重複のない合計値を、これらの特徴点ｐの分散度（すなわち、仮基礎行列Ｆ’に対応する分散度）として取得する。なお、仮想領域の面積の重複のない合計値は、仮想領域の面積を、複数の仮想領域が重なっている領域の面積を一度だけ算入するように合計した値である。なお、仮想領域は、円に限らず、任意の形状であってよい。また、本実施形態では仮想領域の中心と特徴点ｐ（または仮想特徴点ｖ）とが一致しているが、これは一例に過ぎない。仮想領域の位置と、特徴点ｐ（または仮想特徴点ｖ）の位置と、の対応関係は任意に設定できる。
【００２８】
基礎行列取得部１０６は、特徴点群取得部１０２が取得した特徴点群を構成する特徴点ｐの座標と、分散度取得部１０５が取得した分散度と、に基づいて基礎行列Ｆを取得する。基礎行列Ｆは、２つのフレームの間のエピポーラ幾何関係を表す。
【００２９】
本実施形態において、基礎行列取得部１０６は、仮基礎行列取得部１０３が取得した複数の仮基礎行列Ｆ’のうち、分散度取得部１０５が取得した分散度が最も大きい仮基礎行列Ｆ’を、基礎行列Ｆとして取得する。ある仮基礎行列Ｆ’に対応する分散度が大きいほど、この仮基礎行列Ｆ’が対応点との間のエピポーラ幾何関係を正確に表している特徴点ｐはフレーム中に広く散らばって分布している。すなわち、この仮基礎行列Ｆ’が正確にエピポーラ幾何関係を表しているフレーム中の範囲が広い。基礎行列取得部１０６は、分散度の最も大きい仮基礎行列Ｆ’を取得することにより、フレーム内の最も広い範囲にわたって最適化された（最も精度の良い）仮基礎行列Ｆ’を基礎行列Ｆとして取得する。
【００３０】
処理部１０７は、基礎行列取得部１０６が取得した基礎行列Ｆに基づいて、ターゲット動画に対して画像処理を施す。本実施形態において、処理部１０７は、図１に示すように、特徴点生成部１０７ａと、平滑化部１０７ｂと、画像処理部１０７ｃと、を備え、基礎行列取得部１０６が取得した基礎行列Ｆに基づいてターゲット動画に手ぶれ補正を施すことにより補正後動画を生成する。
【００３１】
具体的に、処理部１０７は、下記の（Ａ）〜（Ｄ）の処理を実行することにより、基礎行列Ｆに基づいた手ぶれ補正をターゲット動画に施す。
（Ａ）基礎行列Ｆに基づいて、仮想特徴点軌道Ｖを構築する。
（Ｂ）仮想特徴点軌道Ｖを平滑化することにより、手ぶれ補正後の仮想特徴点軌道Ｖ’を構築する。
（Ｃ）特徴点軌道Ｐと、基礎行列Ｆ”と、に基づいて、手ぶれ補正後の特徴点軌道Ｐ’を構築する。
（Ｄ）特徴点軌道Ｐと、手ぶれ補正後の特徴点軌道Ｐ’と、に基づいて画像処理を実行し、補正後動画を生成する。
以下、各処理の詳細について説明する。
【００３２】
（Ａ）の処理は、特徴点生成部１０７ａによって実行される。特徴点生成部１０７ａは、図３に示すように、ターゲット動画のフレーム（第ｔフレーム）に、ターゲット動画の、このフレームの直前に撮像された１０フレーム（第（ｔ−１）〜第（ｔ−１０）フレーム）が含む仮想特徴点ｖｔ−１〜ｖｔ−１０がそれぞれ投影するエピポーラ線を、基礎行列Ｆｔ、ｔ−１〜Ｆｔ、ｔ−１０に基づいて取得し、これらのエピポーラ線の交点の座標の平均値を、仮想特徴点ｖｔの座標として取得する（仮想特徴点ｖｔを生成する）。特徴点生成部１０７ａは、仮想特徴点ｖｔを第ｔフレームにおける構成点として取得することにより、仮想特徴点軌道Ｖを構築する。
【００３３】
仮想特徴点軌道Ｖは、ターゲット動画の複数フレームにわたる仮想特徴点ｖの軌跡であり、ターゲット動画を撮像した撮像装置の、手ぶれの影響を受けた動きを表している。仮想特徴点軌道Ｖと同じく撮像装置の、手ぶれの影響を受けた動きを表している特徴点軌道Ｐがフレームから抽出された特徴点ｐで構成されるのに対し、仮想特徴点軌道Ｖは、理論的に算出された仮想特徴点ｖで構成される。このため、特徴点ｐが物体の背後に隠れたりフレームアウトしたりした場合や、トラッキングエラーが起こった場合等、特徴点ｐをフレームから抽出できず、特徴点軌道Ｐが途切れる状況においても仮想特徴点軌道Ｖは途切れない。すなわち、仮想特徴点軌道Ｖは、特徴点軌道Ｐより長い範囲にわたって連続している。従って、撮像装置の、手ぶれの影響を受けた動きを仮想特徴点軌道Ｖで定義することにより、後述する（Ｃ）の処理において、特徴点軌道Ｐで定義した場合よりも大規模なフィルタを用いて平滑化を行い、より滑らかな手ぶれ補正後の撮像装置の動きを取得できる。
【００３４】
（Ｂ）の処理は、平滑化部１０７ｂによって実行される。平滑化部１０７ｂは、（Ａ）の処理で構築された仮想特徴点軌道Ｖを、任意の公知技術（例えば、ガウシアンカーネルやラプラシアンカーネルを用いた平滑化）を用いて時間的に平滑化することにより、手ぶれ補正後の仮想特徴点軌道Ｖ’を構築する。手ぶれ補正後の仮想特徴点軌道Ｖ’は、補正後動画の複数フレームにわたる手ぶれ補正後の仮想特徴点ｖ’の軌跡であり、手ぶれの影響を除去したターゲット動画を撮像した撮像装置の動きを表す。本実施形態で、平滑化部１０７ｂは、σ＝５０のガウシアンカーネルを用いて、仮想特徴点軌道Ｖを平滑化する。
【００３５】
（Ｂ）の処理が実行された後、基礎行列取得部１０６が、（Ａ）の処理で構築した仮想特徴点軌道Ｖと、（Ｂ）の処理で構築した手ぶれ補正後の仮想特徴点軌道Ｖ’と、に基づいて、ターゲット動画中のフレームと、補正後動画中のフレームと、の間のエピポーラ幾何関係を表す基礎行列Ｆ”を取得する。すなわち、仮想特徴点軌道Ｖと手ぶれ補正後の仮想特徴点軌道Ｖ’とに基づいて、手ぶれ補正前後のフレームの関係を定義する。
【００３６】
（Ｃ）の処理は、特徴点生成部１０７ａによって実行される。特徴点生成部１０７ａは、図４に示すように、補正後動画のフレーム（第ｓフレーム）に、ターゲット動画の、このフレームの前後に撮像された５フレーム（第（ｓ−５）〜第（ｓ＋５）フレーム）が含む特徴点ｐｓ−５〜ｐｓ＋５がそれぞれ投影するエピポーラ線を、基礎行列Ｆ”ｓ、ｓ−５〜Ｆ”ｓ、ｓ＋５に基づいて取得し、これらのエピポーラ線の交点の座標の平均値を、手ぶれ補正後の特徴点ｐ’ｓの座標として取得する。特徴点生成部１０７ａは、手ぶれ補正後の特徴点ｐ’ｓを第ｓフレームにおける構成点として取得することにより、手ぶれ補正後の特徴点軌道Ｐ’を構築する。
【００３７】
（Ｄ）の処理は、画像処理部１０７ｃによって実行される。画像処理部１０７ｃは、ターゲット動画の各フレームが含む全ての画素に対し、特徴点軌道Ｐのこのフレームにおける構成点である特徴点ｐを、手ぶれ補正後の特徴点軌道Ｐ’の構成点であり、この特徴点ｐに対応する手ぶれ補正後の特徴点ｐ’へ移す画像処理を、任意の公知技術（例えば、ヘルマート変換、アフィン変換、射影変換）を用いて施すことにより、各フレームに手ぶれ補正を施す。
【００３８】
図１に戻って、ＲＡＭ２０は、データやプログラムを一時的に記憶する。ＲＡＭ２０は、制御部１０が各種プログラムを実行する際、ワークメモリとして機能する。
【００３９】
ＲＯＭ３０は、データやプログラムを固定的に記憶する。具体的に、本実施形態において、ＲＯＭ３０は、外部装置から取得したターゲット動画（手ぶれ補正対象の動画）を予め記憶している。また、ＲＯＭ３０は、制御プログラムや画像処理プログラムを含む各種プログラムを記憶している。
【００４０】
入力部４０は、ユーザの操作に従って入力を受け付ける。入力部４０は、受け付けた入力を制御部１０へ供給する。
【００４１】
表示部５０は、ディスプレイ（例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ））を備え、制御部１０から供給された画像を表示する。例えば、表示部５０は、制御部１０から供給されたターゲット動画や補正後動画を表示する。
【００４２】
外部インタフェース６０は、外部装置との間でデータをやり取りする。例えば、外部インタフェース６０は、外部装置からターゲット動画を取得する。また、外部インタフェース６０は、補正後動画を外部装置へ出力する。
【００４３】
以下、上述の構成を有する画像処理装置１が実行する手ぶれ補正処理を、図５のフローチャートを参照しながら説明する。
【００４４】
画像処理装置１のＲＯＭ３０は、手ぶれ補正の対象となるターゲット動画を、予め外部から取得して記憶している。
【００４５】
手ぶれ補正処理の実行を所望するユーザは、入力部４０を操作することにより、画像処理装置１が備える複数の動作モードの一つである「手ぶれ補正モード」を選択する。制御部１０は、「手ぶれ補正モード」が選択されたことに応答して、画像処理プログラムをＲＯＭ３０から取得し、ＲＡＭ２０に展開する。また、制御部１０は、ターゲット動画をＲＯＭ３０から取得し、ＲＡＭ２０に展開する。
【００４６】
ユーザは、入力部４０を操作することにより、手ぶれ補正処理の開始を指示する。制御部１０は、手ぶれ補正処理の開始が指示されたことに応答して、図５のフローチャートに示す手ぶれ補正処理を開始する。
【００４７】
手ぶれ補正処理を開始すると、まず、特徴点抽出部１０１が、特徴点ｐをターゲット動画の全フレームにわたって時間的に追跡することにより、所定数（本実施形態では、１００本）の特徴点軌道Ｐを構築する（ステップＳ１０１）。
【００４８】
次に、制御部１０が、ターゲット動画の開始フレームを第ｔフレームとして指定する（ステップＳ１０２）。ターゲット動画の開始フレームは、ターゲット動画が含む複数のフレームのうち最も撮像時刻が古いフレームである。次に、制御部１０は、ターゲット動画の第（ｔ−１０）フレームを第Ａフレームとして指定する（ステップＳ１０３）。第（ｔ−１０）フレームは、第ｔフレームより１０フレーム前のフレームである。
【００４９】
特徴点群取得部１０２〜基礎行列取得部１０６は、基礎行列取得処理を実行することにより、基礎行列Ｆｔ、Ａ（ターゲット動画の第ｔフレームと第Ａフレームとの間のエピポーラ幾何関係を表す基礎行列）を取得する（ステップＳ１０４）。以下、ステップＳ１０４の基礎行列取得処理の詳細を、図６のフローチャートを参照しながら説明する。
【００５０】
ステップＳ１０４の基礎行列取得処理を開始すると、まず、特徴点群取得部１０２が、同一の特徴点軌道Ｐの第ｔフレーム及び第Ａフレームそれぞれにおける特徴点ｐｔ、ｐＡを組み合わせて１つの特徴点対を取得する処理を繰り返し、複数の特徴点対を取得する（ステップＳ２０１）。
【００５１】
特徴点群取得部１０２は、ステップＳ２０１で取得した複数の特徴点対のうち８対をランダムに選択し、これらの特徴点対を構成する第ｔフレーム中の特徴点ｐｔのみを組み合わせることにより１つの特徴点群を取得する処理を繰り返して、所定数（本実施形態では、５００個）の特徴点群を取得する（ステップＳ２０２）。
【００５２】
仮基礎行列取得部１０３が、ステップＳ２０２で取得された５００個の特徴点群それぞれに対応する仮基礎行列Ｆ’ｔ、Ａを取得する（ステップＳ２０３）。
【００５３】
分散度取得部１０５は、ステップＳ２０３で取得された５００個の仮基礎行列Ｆ’ｔ、Ａのうち何れか一つを選択する（ステップＳ２０４）。以下、ステップＳ２０５〜Ｓ２１１の処理を実行することにより、ステップＳ２０４で選択した仮基礎行列Ｆ’ｔ、Ａに対応する分散度を取得する。
【００５４】
距離取得部１０４は、ターゲット動画の第ｔフレームが含む複数の特徴点ｐｔのうち何れか一つを選択する（ステップＳ２０５）。
【００５５】
距離取得部１０４は、ステップＳ２０５で選択した特徴点ｐｔがターゲット動画の第Ａフレームに投影するエピポーラ線を、ステップＳ２０４で選択した仮基礎行列Ｆ’ｔ、Ａに基づいて取得する（ステップＳ２０６）。
【００５６】
距離取得部１０４は、ステップＳ２０５で選択した特徴点ｐｔに対応する第Ａフレーム中の特徴点ｐＡと、ステップＳ２０６で取得したエピポーラ線と、の間の距離を取得する（ステップＳ２０７）。
【００５７】
分散度取得部１０５は、ステップＳ２０７で取得した距離が所定の閾値（本実施形態では、０．１ピクセル）以下であるか否か判別する（ステップＳ２０８）。距離が０．１ピクセルより大きいと判別すると（ステップＳ２０８；ＮＯ）、処理はステップＳ２１０へ移る。
【００５８】
距離が０．１ピクセル以下であると判別すると（ステップＳ２０８；ＹＥＳ）、分散度取得部１０５は、ステップＳ２０５で選択した特徴点ｐｔを中心とする所定半径Ｒ（本実施形態では、Ｒ＝３２ピクセル）の円を仮想領域として生成する（ステップＳ２０９）。なお、ステップＳ２０９において、ステップＳ２０５で選択した特徴点ｐｔではなく、この特徴点ｐｔに対応する特徴点ｐＡを中心とする所定半径Ｒの円を仮想領域として生成してもよい。
【００５９】
分散度取得部１０５は、ターゲット動画の第ｔフレームが含む全ての特徴点ｐｔを選択済みか否か判別する（ステップＳ２１０）。未だ選択していない特徴点ｐｔがあると判別すると（ステップＳ２１０；ＮＯ）、処理はステップＳ２０５へ戻り、未選択の特徴点ｐｔのうち何れか一つが選択される。分散度取得部１０５は、全ての特徴点ｐｔが選択済みであると判別されるまでステップＳ２０５〜Ｓ２１０の処理を繰り返すことにより、ターゲット動画の第ｔフレーム中の特徴点ｐｔのうち、ステップＳ２０４で選択した仮基礎行列Ｆ’ｔ、Ａが対応点との間のエピポーラ幾何関係を一定レベル以上に正確に表している全ての特徴点ｐｔを中心として仮想領域を生成する。
【００６０】
全ての特徴点ｐｔを選択済みと判別すると（ステップＳ２１０；ＹＥＳ）、分散度取得部１０５が、生成された全ての仮想領域の面積を重複無く足し合わせることによって得られた合計値を、ステップＳ２０４で選択した仮基礎行列Ｆ’ｔ、Ａに対応する分散度として取得する（ステップＳ２１１）。
【００６１】
分散度取得部１０５は、ステップＳ２０３で取得した５００個の仮基礎行列Ｆ’ｔ、Ａを全て選択済みか否か判別する（ステップＳ２１２）。未だ選択していない仮基礎行列Ｆ’ｔ、Ａがあると判別すると（ステップＳ２１２；ＮＯ）、処理はステップＳ２０４へ戻り、未選択の仮基礎行列Ｆ’ｔ、Ａのうち何れか一つが選択される。分散度取得部１０５は、全ての仮基礎行列Ｆ’ｔ、Ａを選択済みと判別されるまでステップＳ２０４〜Ｓ２１２の処理を繰り返すことにより、ステップＳ２０３で取得した全てのＦ’ｔ、Ａに対応する分散度を取得する。
【００６２】
仮基礎行列Ｆ’ｔ、Ａを全て選択済みと判別すると（ステップＳ２１２；ＹＥＳ）、基礎行列取得部１０６が、分散度が最も大きい仮基礎行列Ｆｔ、Ａ’を基礎行列Ｆｔ，Ａとして取得し（ステップＳ２１３）、基礎行列取得処理を終了する。
【００６３】
図５のフローチャートに戻って、ステップＳ１０４の基礎行列取得処理が終了した後、制御部１０は、値Ａを１だけインクリメントする（ステップＳ１０５）。すなわち、制御部１０は、ステップＳ１０４の基礎行列取得処理の対象である第Ａフレームを、次に撮像時刻が新しいフレームに変更する。例えば、直前に実行した基礎行列取得処理においてターゲット動画の第（ｔ−１０）フレームが第Ａフレームとして指定されていた場合、制御部１０は、第（ｔ−１０）フレームの次に撮像時刻が新しいフレームである第（ｔ−９）フレームを新たに第Ａフレームとして指定する。
【００６４】
制御部１０は、インクリメント後の値Ａと値ｔとが一致するか否か判別する（ステップＳ１０６）。すなわち、制御部１０は、第Ａフレームと第ｔフレームとが一致するか否か判別する。一致しないと判別すると（ステップＳ１０６；ＮＯ）、処理はステップＳ１０４へ戻る。制御部１０は、値Ａと値ｔとが一致すると判別されるまでステップＳ１０４〜Ｓ１０６の処理を繰り返すことにより、ターゲット動画の第ｔフレームと第ｔフレームの直前の１０フレーム（第（ｔ−１０）〜第（ｔ−１）フレーム）との間のエピポーラ幾何関係を表す基礎行列Ｆｔ、ｔ−１０〜Ｆｔ、ｔ−１を取得する。
【００６５】
値Ａと値ｔとが一致すると判別すると（ステップＳ１０６；ＹＥＳ）、制御部１０は値ｔを１だけインクリメントする（ステップＳ１０７）。制御部１０は、インクリメント後の第ｔフレームとターゲット動画の終了フレームとが一致するか否か判別する（ステップＳ１０８）。ターゲット動画の終了フレームは、ターゲット動画が含む複数のフレームのうち撮像時刻が最も新しいフレームである。一致しないと判別すると（ステップＳ１０８；ＮＯ）、処理はステップＳ１０３へ戻る。制御部１０は、第ｔフレームと終了フレームとが一致すると判別されるまでステップＳ１０３〜Ｓ１０８の処理を繰り返すことにより、ターゲット動画の全てのフレームについて、直前の１０フレームそれぞれとの間のエピポーラ幾何関係を表す基礎行列Ｆを取得する。
【００６６】
第ｔフレームと終了フレームとが一致すると判別すると（ステップＳ１０８；ＹＥＳ）、特徴点生成部１０７ａが、基礎行列Ｆに基づいて、仮想特徴点軌道Ｖを構築する（ステップＳ１０９）。平滑化部１０７ｂは、ステップＳ１０９で構築された仮想特徴点軌道Ｖを平滑化することにより、手ぶれ補正後の仮想特徴点軌道Ｖ’を構築する（ステップＳ１１０）。
【００６７】
次に、制御部１０が、補正後動画の開始フレームを第ｓフレームとして指定する（ステップＳ１１１）。制御部１０は、ターゲット動画の第（ｓ−５）フレームを第Ｂフレームとして指定する（ステップＳ１１２）。
【００６８】
特徴点群取得部１０２〜基礎行列取得部１０６は、基礎行列取得処理を実行することにより、基礎行列Ｆ”ｓ、Ｂ（補正後動画の第ｓフレームとターゲット動画の第Ｂフレームとの間のエピポーラ幾何関係を表す基礎行列）を取得する（ステップＳ１１３）。
【００６９】
ステップＳ１１３の基礎行列取得処理は、上述したステップＳ１０４の基礎行列取得処理と同様の処理であるため、詳細な説明は省略する。なお、ステップＳ１１３の基礎行列取得処理では、図６のフローチャートのステップＳ２０１において、互いに対応する仮想特徴点ｖＢと手ぶれ補正後の仮想特徴点ｖ’ｓとで構成される特徴点対が取得される。具体的には、特徴点群取得部１０２が、仮想特徴点軌道Ｖの構成点である仮想特徴点ｖＢと、この仮想特徴点軌道Ｖを平滑化することにより構築された手ぶれ補正後の仮想特徴点軌道Ｖ’の構成点である手ぶれ補正後の仮想特徴点ｖ’ｓと、を組み合わせることにより特徴点対を取得する。
【００７０】
図５のフローチャートに戻って、ステップＳ１１３の基礎行列取得処理が終了した後、制御部１０が、値Ｂを１だけインクリメントする（ステップＳ１１４）。制御部１０は、インクリメント後の値Ｂと値（ｓ＋６）とが一致するか否か判別する（ステップＳ１１５）。一致しないと判別すると（ステップＳ１１５；ＮＯ）、処理はステップＳ１１３へ戻る。制御部１０は、値Ｂと値（ｓ＋６）とが一致すると判別されるまでステップＳ１１３〜Ｓ１１５の処理を繰り返すことにより、補正後動画の第ｓフレームとターゲット動画の第（ｓ−５）〜第（ｓ＋５）フレームそれぞれとの間のエピポーラ幾何関係を表す基礎行列Ｆ”ｓ、ｓ−５〜Ｆ”ｓ、ｓ＋５を取得する。
【００７１】
値Ｂと値（ｓ＋６）とが一致すると判別すると（ステップＳ１１５；ＹＥＳ）、制御部１０が、値ｓを１だけインクリメントする（ステップＳ１１６）。制御部１０は、インクリメント後の第ｓフレームと補正後動画の終了フレームとが一致するか否か判別する（ステップＳ１１７）。一致しないと判別すると（ステップＳ１１７；ＮＯ）、処理はステップＳ１１２へ戻る。制御部１０は、第ｓフレームと終了フレームとが一致すると判別されるまでステップＳ１１２〜Ｓ１１７の処理を繰り返すことにより、補正動画の全てのフレームについて、ターゲット動画の前後５フレームそれぞれとの間のエピポーラ幾何関係を表す基礎行列Ｆ”を取得する。
【００７２】
第ｓフレームと終了フレームとが一致すると判別すると（ステップＳ１１７；ＹＥＳ）、特徴点生成部１０７ａが、ステップＳ１０１で構築した特徴点軌道Ｐと基礎行列Ｆ”とに基づいて、手ぶれ補正後の特徴点軌道Ｐ’を構築する。（ステップＳ１１８）。
【００７３】
画像処理部１０７ｃが、ターゲット動画の各フレームに対し、特徴点軌道Ｐと手ぶれ補正後の特徴点軌道Ｐ’とに基づいて手ぶれ補正を施し（ステップＳ１１９）、手ぶれ補正処理を終了する。
【００７４】
以上説明したように、本実施形態に係る画像処理装置１は、分散度が最大の仮基礎行列を基礎行列として取得することにより、最も精度の良い仮基礎行列を基礎行列として取得する。画像処理装置１は、この基礎行列に基づいて動画に手ぶれ補正を施す。すなわち、画像処理装置１は、精度の良い基礎行列に基づいて手ぶれ補正を実行することができる。
【００７５】
（第２実施形態）
第１実施形態に係る画像処理装置１は、仮基礎行列に対応する分散度に基づき、精度の良い基礎行列を取得した。しかし、これは一例に過ぎず、本発明に係る画像処理装置は、特徴点ｐに関する他の分散度に基づき、精度の良い基礎行列を取得することもできる。以下、特徴点群を構成する特徴点ｐの分散度に基づいて精度の良い基礎行列を取得する画像処理装置１’の機能及び動作について説明する。
【００７６】
画像処理装置１’は、図７に示すように、画像処理装置１とほぼ同一の構成を備えている。しかし、画像処理装置１’は、画像処理装置１とは異なり、仮基礎行列取得部１０３及び距離取得部１０４を備えていない。また、画像処理装置１’の分散度取得部１０５及び基礎行列取得部１０６の機能は、画像処理装置１の分散度取得部１０５及び基礎行列所得部１０６の機能と異なる。
【００７７】
具体的に、画像処理装置１’の分散度取得部１０５は、特徴点群取得部１０２が取得した各特徴点群に対応する分散度を取得する。特徴点群に対応する分散度は、特徴点群を構成する特徴点ｐがフレーム中にどの程度散らばって分布しているかを示す。
【００７８】
基礎行列取得部１０６は、特徴点群取得部１０２が取得した複数の特徴点群のうち、分散度が最も大きい特徴点群を構成する特徴点ｐの座標に基づいて、２つのフレーム（第ｓフレーム及び第ｔフレーム）の間のエピポーラ幾何関係を表す基礎行列Ｆを取得する。具体的に、基礎行列取得部１０６は、分散度が最も大きい特徴点群が含む８個の特徴点ｐｔと、これらの特徴点ｐｔと共に特徴点対を構成する特徴点ｐｓと、の座標を式（１）へ代入することにより、基礎行列Ｆを取得する。
【００７９】
基礎行列Ｆは、この基礎行列Ｆを取得するために座標を用いた８対の互いに対応する特徴点ｐｓ、ｐｔのエピポーラ幾何関係を正確に表す。従って、基礎行列Ｆの取得に座標を用いた特徴点ｐｔがフレーム（第ｔフレーム）中に広く散らばって分布しているほど、この基礎行列Ｆが正確に対応点との間のエピポーラ幾何関係を表している特徴点ｐｔが第ｔフレーム中に広く散らばって分布しており、この基礎行列Ｆが正確にエピポーラ幾何関係を表している第ｔフレーム中の範囲は広い。基礎行列取得部１０６は、分散度が最も大きい特徴点群を構成する特徴点ｐの座標に基づいて基礎行列Ｆを取得することにより、フレーム内の最も広い範囲にわたって最適化された（最も精度の良い）基礎行列Ｆを取得する。
【００８０】
以下、上述の構成を有する画像処理装置１’が実行する手ぶれ補正処理について詳細に説明する。画像処理装置１’は、図５のフローチャートに示す手ぶれ補正処理とほぼ同一の手ぶれ補正処理を実行する。しかし、画像処理装置１’は、ステップＳ１０４及びステップＳ１１３において、図６のフローチャートに示す基礎行列取得処理の代わりに、図８のフローチャートに示す基礎行列取得処理を実行する。以下、図８のフローチャートに示す基礎行列取得処理について説明する。
【００８１】
図８のフローチャートの基礎行列取得処理を開始すると、まず、特徴点群取得部１０２が、図５のフローチャートのステップＳ１０１で構築された特徴点軌道Ｐのうち同一の特徴点軌道Ｐの第ｔフレーム及び第Ａフレームにおける構成点である互いに対応する特徴点ｐｔ、ｐＡを組み合わせて１つの特徴点対を取得する処理を繰り返し、複数の特徴点対を取得する（ステップＳ３０１）。
【００８２】
特徴点群取得部１０２は、ステップＳ３０１で取得した複数の特徴点対のうち８対をランダムに選択し、これらの特徴点対を構成する第ｔフレーム中の特徴点ｐｔを組み合わせることにより１つの特徴点群を取得する処理を繰り返して、所定数（本実施形態では、５００個）の特徴点群を取得する（ステップＳ３０２）。
【００８３】
分散度取得部１０５が、ステップＳ３０２で取得した５００個の特徴点群のうち何れか一つを選択する（ステップＳ３０３）。
【００８４】
分散度取得部１０５は、ステップＳ３０３で選択した特徴点群を構成する各特徴点ｐｔを中心とする所定半径Ｒの円を、仮想領域として生成する（ステップＳ３０４）。
【００８５】
分散度取得部１０５は、生成した全ての仮想領域の面積を重複なく足し合わせることにより得られた合計値を、ステップＳ３０３で選択した特徴点群に対応する分散度として取得する（ステップＳ３０５）。
【００８６】
分散度取得部１０５は、全ての特徴点群を選択済みか否か判別する（ステップＳ３０６）。未選択の特徴点群があると判別すると（ステップＳ３０６；ＮＯ）、処理はステップＳ３０３へ戻り、未選択の特徴点群のうち何れか一つが選択される。
【００８７】
全ての特徴点群を選択済みであると判別すると（ステップＳ３０６；ＹＥＳ）、基礎行列取得部１０６が、分散度の最も大きい特徴点群を構成する特徴点ｐの座標に基づいて、基礎行列Ｆを取得し（ステップＳ３０７）、基礎行列取得処理を終了する。
【００８８】
以上説明したように、本実施形態に係る画像処理装置１’は、特徴点群に対応する分散度に基づいて、精度の良い基礎行列を取得する。画像処理装置１’は、取得した基礎行列に基づいて、ターゲット動画に手ぶれ補正を施す。すなわち、画像処理装置１’は、精度の良い基礎行列に基づいて、手ぶれ補正を実行することができる。
【００８９】
画像処理装置１’は、第１実施形態に係る画像処理装置１とは異なり、仮基礎行列の算出や、エピポーラ線の取得、距離の取得を行わない。このため、画像処理装置１と比べて小さな処理負荷で、精度の良い基礎行列を用いた手ぶれ補正を実行できる。
【００９０】
以上、本発明の実施形態について説明したが、これらの実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【００９１】
上述の実施形態において、画像処理装置１は、ターゲット動画を予め外部装置から取得し、記憶していた。しかし、これは一例に過ぎず、画像処理装置１は、ターゲット動画を自ら生成してもよい。この場合、画像処理装置１は撮像部を備える。撮像部は、被写体を撮像することによりターゲット動画を生成する。
【００９２】
上述の実施形態では、複数の特徴点ｐを基準として生成した仮想領域の面積を重複なく足し合わせて得られる合計値を、これらの特徴点ｐの分散度として取得した。しかし、これは一例に過ぎず、この他の値を、特徴点ｐの分散度として取得してもよい。
【００９３】
例えば、複数の特徴点ｐの座標の値の分散または標準偏差を、これらの特徴点ｐの分散度として取得してもよい。この態様によれば、仮想領域を生成し、生成した仮想領域の面積を重複なく足し合わせる処理が必要ないため、上述の実施形態に比べて演算負荷が軽減される。
【００９４】
また、複数の特徴点ｐの間の距離の平均値または中間値を、これらの特徴点ｐの分散度として取得してもよい。この態様によれば、仮想領域を生成し、生成した仮想領域の面積を重複なく足し合わせる処理が必要ないため、上述の実施形態に比べて演算負荷が軽減される。
【００９５】
また、図９に示すように、複数の特徴点ｐを互いに連結する直線（連結線）によって構成され、これらの特徴点ｐを包摂する閉曲線の長さ、またはこの閉曲線が囲む領域の面積を、これらの特徴点ｐの分散度として取得してもよい。この態様によれば、仮想領域を生成し、生成した仮想領域の面積を重複なく足し合わせる処理が必要ないため、上述の実施形態に比べて演算負荷が軽減される。なお、連結線によって構成され、特徴点ｐを包摂する閉曲線の形状は、任意の公知技術に用いて取得すればよい。例えば、非特許文献２（大内  隆志、阿部  正英,川又  政征、「ドロネー三角形分割を用いた不連続な輪郭線を構成する点の連結」、平成１２年度電気関係学会東北支部連合大会講演論文集、２０００年、８月、ｐ．１５９）には、複数の点を互いに連結する直線によって構成され、これらの点を包摂する閉曲線の形状を、ドロネー三角形分割を用いて取得する技術が開示されている。
【００９６】
また、図１０に示すように、フレームを複数の領域（区画）に分割し、特徴点ｐを含む区画の数を、これらの特徴点ｐの分散度として取得してもよい。この態様によれば、仮想領域を生成し、生成した仮想領域の面積を重複なく足し合わせる処理が必要ないため、上述の実施形態に比べて演算負荷が軽減される。
【００９７】
本発明に係る画像処理装置は、スマートフォンやコンピュータ、デジタルカメラ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）等の任意の電子機器によって実現できる。
【００９８】
具体的には、スマートフォン、コンピュータ、デジタルカメラ、ＰＤＡ等の電子機器を本発明に係る画像処理装置として動作させるためのプログラムを、これらの電子機器が読み取り可能な記録媒体（例えば、メモリカードやＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等）に格納して配布し、インストールすることにより本発明に係る画像処理装置を実現することができる。
【００９９】
あるいは、上記プログラムを、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置（例えば、ディスク装置等）に格納しておき、スマートフォン、コンピュータ、デジタルカメラ、ＰＤＡ等がこのプログラムをダウンロードすることによって本発明に係る画像処理装置を実現してもよい。
【０１００】
また、本発明に係る画像処理装置の機能を、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションプログラムとの協働又は分担により実現する場合には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０１０１】
また、アプリケーションプログラムを搬送波に重畳し、通信ネットワークを介して配信してもよい。例えば、通信ネットワーク上の掲示板（ＢＢＳ：Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ）にアプリケーションプログラムを掲示し、ネットワークを介してアプリケーションプログラムを配信してもよい。そして、このアプリケーションプログラムをコンピュータにインストールして起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、本発明に係る画像処理装置を実現してもよい。
【０１０２】
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
【０１０３】
（付記１）
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得手段と、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得手段と、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標と、前記分散度取得手段が取得した分散度と、に基づいて、前記画像と該画像を含む動画中の他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得手段と、
前記基礎行列取得手段が取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理手段と、
を備える、
ことを特徴とする画像処理装置。
【０１０４】
（付記２）
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標に基づいて、前記画像と前記他の画像との間のエピポーラ幾何関係を表す仮基礎行列を取得する仮基礎行列取得手段と、
前記仮基礎行列取得手段が取得した仮基礎行列に基づいて、前記画像に含まれる特徴点が前記他の画像に投影するエピポーラ線と、該特徴点に対応する前記他の画像中の特徴点と、の間の距離を取得する距離取得手段と、
をさらに備え、
前記分散度取得手段は、
前記画像に含まれる複数の特徴点のうち、前記仮基礎行列に基づいて前記距離取得手段が取得した距離が閾値内の特徴点の前記画像における分散度を示す仮基礎行列に対応する分散度を取得し、
前記基礎行列取得手段は、
前記仮基礎行列取得手段が取得した複数の仮基礎行列のうち、前記分散度取得手段が取得した仮基礎行列に対応する分散度が最も大きい仮基礎行列を、前記基礎行列として取得する、
ことを特徴とする付記１に記載の画像処理装置。
【０１０５】
（付記３）
前記分散度取得手段は、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の前記画像における分散度を示す特徴点群に対応する分散度を取得し、
前記基礎行列取得手段は、
前記特徴点群取得手段が取得した複数の特徴点群のうち、前記分散度取得手段が取得した特徴点群に対応する分散度が最も大きい特徴点群を構成する特徴点の座標に基づいて、前記基礎行列を取得する、
ことを特徴とする付記１に記載の画像処理装置。
【０１０６】
（付記４）
前記分散度取得手段は、
特徴点を基準として生成された仮想領域の面積に基づいて、前記分散度を取得する、
ことを特徴とする付記１乃至３の何れか一つに記載の画像処理装置。
【０１０７】
（付記５）
前記分散度取得手段は、
特徴点の座標の値の分散または標準偏差に基づいて、前記分散度を取得する、
ことを特徴とする付記１乃至３の何れか一つに記載の画像処理装置。
【０１０８】
（付記６）
前記分散度取得手段は、
特徴点の間の距離の平均値または中間値に基づいて、前記分散度を取得する、
ことを特徴とする付記１乃至３の何れか一つに記載の画像処理装置。
【０１０９】
（付記７）
前記分散度取得手段は、
複数の特徴点を互いに連結する直線によって構成され、該複数の特徴点を包摂する閉曲線の形状に基づいて、前記分散度を取得する、
ことを特徴とする付記１乃至３の何れか一つに記載の画像処理装置。
【０１１０】
（付記８）
前記分散度取得手段は、
前記画像を複数の領域に分割したときに特徴点を含む領域の数に基づいて、前記分散度を取得する、
ことを特徴とする付記１乃至３の何れか一つに記載の画像処理装置。
【０１１１】
（付記９）
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得ステップと、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得ステップと、
前記特徴点群取得ステップにおいて取得した特徴点群を構成する特徴点の座標と、前記分散度取得ステップにおいて取得した分散度と、に基づいて、前記画像と該画像を含む動画に含まれる他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得ステップと、
前記基礎行列取得ステップにおいて取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理ステップと、
を含む、
ことを特徴とする画像処理方法。
【０１１２】
（付記１０）
コンピュータを、
画像中の複数の特徴点で構成される特徴点群を取得する特徴点群取得手段、
前記画像中において、特徴点がどの程度散らばって分布しているかを示す分散度を取得する分散度取得手段、
前記特徴点群取得手段が取得した特徴点群を構成する特徴点の座標と、前記分散度取得手段が取得した分散度と、に基づいて、前記画像と該画像を含む動画に含まれる他の画像との間のエピポーラ幾何関係を表す基礎行列を取得する基礎行列取得手段、
前記基礎行列取得手段が取得した基礎行列に基づいて、前記動画に対して画像処理を施す処理手段、
として機能させるためのプログラム。
【符号の説明】
【０１１３】
１、１’…画像処理装置、１０…制御部、２０…ＲＡＭ、３０…ＲＯＭ、４０…入力部、５０…表示部、６０…外部インタフェース、１０１…特徴点抽出部、１０２…特徴点群取得部、１０３…仮基礎行列取得部、１０４…距離取得部、１０５…分散度取得部、１０６…基礎行列取得部、１０７…処理部、１０７ａ…特徴点生成部、１０７ｂ…平滑化部、１０７ｃ…画像処理部
【図１】
0006511980.tif 000005
【図２】
0006511980.tif 000006
【図３】
0006511980.tif 000007
【図４】
0006511980.tif 000008
【図５】
0006511980.tif 000009
【図６】
0006511980.tif 000010
【図７】
0006511980.tif 000011
【図８】
0006511980.tif 000012
【図９】
0006511980.tif 000013
【図１０】
0006511980.tif 000014