JP6341708B2 - 情報処理装置及びその制御方法、プログラム - Google Patents

情報処理装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP6341708B2
JP6341708B2 JP2014053987A JP2014053987A JP6341708B2 JP 6341708 B2 JP6341708 B2 JP 6341708B2 JP 2014053987 A JP2014053987 A JP 2014053987A JP 2014053987 A JP2014053987 A JP 2014053987A JP 6341708 B2 JP6341708 B2 JP 6341708B2
Authority
JP
Japan
Prior art keywords
motion
target image
processing target
divided
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014053987A
Other languages
English (en)
Other versions
JP2015176488A (ja
JP2015176488A5 (ja
Inventor
小林 正明
正明 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014053987A priority Critical patent/JP6341708B2/ja
Priority to US14/508,096 priority patent/US10051274B2/en
Publication of JP2015176488A publication Critical patent/JP2015176488A/ja
Publication of JP2015176488A5 publication Critical patent/JP2015176488A5/ja
Application granted granted Critical
Publication of JP6341708B2 publication Critical patent/JP6341708B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、時間的に連続する画像を処理する情報処理技術に関するものである。
コンピュータの計算性能の向上に伴い、領域分割、位置合わせ等、コンピュータビジョンと呼ばれる分野の画像処理技術の実用性が高まっている。
画像の位置合わせでは、時間的に連続する画像から複数の動きベクトルを算出し、これらの動きベクトルから画像の位置ズレ(画像全体の動き)を表現する動きパラメータを算出する。動きベクトルの算出方法は、ブロックマッチングによる動き探索や、特徴点を検出してその対応を算出し、対応点ペアの座標を動きベクトルとする等の方法がある(特許文献1参照)。
また、動きパラメータは、二次元ベクトルやホモグラフィ行列、回転行列(非特許文献1参照)等を用いて表現できる。しかし、検出した動きベクトルは、全てが正しいとは限らず、誤った動きベクトルが含まれることがあるため、誤りを含むデータからモデルを推定するロバスト推定技術が必要となる。ロバスト推定の代表的なアルゴリズムには、RANSACがある(非特許文献2参照)。RANSACは、計算を繰り返しながら最適なモデルを推定する技術である。しかし、RANSACは、データに誤りの量が多い程、または、推定するパラメータの要素数が多い程、多くの繰り返し(以下、イテレーション)を必要とする。以下、この誤ったデータをアウトライア(outlier)、正しいデータをインライア(inlier)と表現する。
画像の位置合わせ技術は、画像ブレ補正(電子防振)、画像合成、符号化、自由視点生成等、様々に応用できる。例えば、連続する複数のフレームに対し、上記の方法でフレーム間の動きを表現する行列の逆行列をそれぞれ作成する。画像合成には、画像の位置ズレを補正して合成するノイズリダクションや、ハイダイナミックレンジ合成などもある。この複数の逆行列を用いて平滑化し、平滑化した行列を用いて、それぞれの画像を幾何変換することにより、動きブレを補正ができる。行列の平滑化は、行列の移動相乗平均を用いて計算することができる。相乗平均の算出に必要な、行列のべき乗根は、例えば、非特許文献3にある方法を用いて計算できる。
アウトライアを含む動きベクトルから、画像全体の動きを表現する行列を動きパラメータとして算出する場合、RANSAC等のロバスト推定が必要になる。RANSACはデータのアウトライア率が高い場合、多くのイテレーションを必要とし処理に時間がかかる。
本発明は上記の課題を解決するためになされたものであり、画像処理に係る処理速度及び処理精度を向上することができる情報処理技術を提供することを目的とする。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
時間的に連続する画像を処理する情報処理装置であって、
処理対象画像を複数の分割領域に分割する分割手段と、
前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段と
を備え
前記抽出手段は、前記含まれる動きベクトルの類似性を計算する分割領域に含まれる複数の動きベクトルと代表ベクトルとの差に基づいて前記類似性を計算し、
前記代表ベクトルは、前記類似性を計算する分割領域から取得した一つの動きベクトルとの差が許容誤差内の、前記類似性を計算する分割領域に含まれる複数の動きベクトルの数に基づいて、前記類似性を計算する分割領域から取得されることを特徴とする。
本発明によれば、画像処理に係る処理速度及び処理精度を向上することができる。
装置構成を説明する図である。 電子防振処理を示すフローチャートである。 変換行列の推定処理の詳細を示すフローチャートである。 画像分割の例を説明する図である。 回転行列の推定処理の詳細を示すフローチャートである。 類似動きベクトルの抽出処理の詳細を示すフローチャートである。 代表ベクトルの算出処理の詳細を示すフローチャートである。 レンズ制御状態に応じた変換行列の推定処理の詳細を示すフローチャートである。 オブジェクト単位の領域分割を用いる変換行列の推定処理の詳細を示すフローチャートである。 画像がオブジェクト単位で分割された状態と分割領域の番号の例を示す図である。 信頼度の算出処理の詳細を示すフローチャートである。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<実施形態1>
実施形態1では、画像の位置合わせを行うために、時間的に連続する画像から複数の動きベクトルを算出し、これらの動きベクトルから画像全体の動きを表現する動きパラメータを算出する構成について説明する。実施形態1は、画像全体の動き(例えば、位置ズレ)を表現する動きパラメータとして、カメラのパン、チルト、光軸回転を表現する回転行列(非特許文献1参照)を算出することとし、連続する画像からこの回転行列を推定して、画像に対して電子防振処理を行う応用例として説明する。
実施形態1では、ディスプレイ(表示装置)が接続された情報処理装置としてのPC(パーソナルコンピュータ)内で、CPU(中央演算処理装置)が撮像画像を解析して特徴点を検出するための各処理を行う。以下、PCの構成と各モジュールの動作について、図1(a)を参照して説明する。図1(a)は、PCの内部構成を説明する図である。
101はバスであり、PC100内の各種構成要素を相互に接続し、構成要素間のデータの通信経路を司る。102はRAM(書込可能メモリ)であり、CPU105のワークエリア等の記憶領域として機能する。103はグラフィックプロセッサであり、ディスプレイ104に画像を表示する際に必要となる計算処理を行うプロセッサである。グラフィックプロセッサ103は、設定された行列に従って、回転等の画像の幾何変換を行うことができる。
104はディスプレイであり、ユーザI/F106から入力されたコマンドや、それに対するPC100の応答出力等の情報を表示する表示装置である。105はCPUであり、オペレーティングシステム(OS)やアプリケーションプログラム等のコンピュータプログラムに基づいて他の構成要素と協働し、PC100全体の動作を制御する。尚、実施形態1では、CPUが一つであるとして説明するが、これに限定されず、複数のCPUが存在する構成を採用してもよい。その場合の各処理は、マルチスレッド処理による並列動作が可能である。106はユーザI/Fであり、ユーザからの指示やコマンドの入力を受け付けて、プログラムの起動が行われる。ユーザI/F106は、タッチパネル、ポインティングデバイス、キーボード等であるが、特定のデバイスに限定されない。また、ユーザI/F106が、タッチパネル、ポインティングデバイスの場合は、ディスプレイ104上の任意の座標位置でタッチされたか否かの情報を入力することができる。
107は不揮発性の外部ストレージであり、大容量メモリとして機能するとともに、データをファイルとして記録する。実施形態1では、ハードディスク装置(以下、HDと呼ぶ)により実現されるが、SSD(フラッシュメモリを使用したソリッドステートドライブ)等の他の記憶装置を用いてもよい。108はネットワークI/Fであり、外部装置とのデータの送受信を中継する。109はカメラ等の外部撮像部であり、被写体を撮像して撮像画像を取得することができる。特に、外部撮像部109は、例えば、レンズ、センサー、レンズ制御部を含んでいる。レンズ制御部がレンズのズーム、フォーカスを制御して、レンズから取り込んだ光をセンサーが受光し、光信号をRGB画像データに変換する。その後、RGB画像データは、外部撮像部109からバス101を介して転送され、RAM102に記憶されたり、外部ストレージ107に記録されたりする。
実施形態1では、実行されるプラグラム及びデータは、外部ストレージ107に記録されており、これらをRAM102へ入力し、CPU105が実行及び処理する構成をとる。プログラム及びデータは、バス101を介して入出力が行われる。画像データは、特に説明しない限り、外部ストレージ107から入力され、入力時に、PC100内部で処理するための内部画像フォーマットに変換するものとする。画像データの入力は、外部撮像部109やネットワークI/F108から行うことも可能である。
実施形態1における内部画像フォーマットはRGB画像とするが、これに限定されず、YUV画像、モノクロの輝度画像でもよい。また、後述の動き検出は輝度画像で行うものとし、内部画像フォーマットがRGB画像またはYUV画像の場合には、自動的に輝度画像に変換されて動き検出がなされるものとして説明する。実施形態1では、画像データは、例えば、その画像サイズが1920×1088、フレームレートが30fpsの画像を扱うものとして説明するが、画像サイズやフレームレートは、これに限定されるものではない。UI(ユーザインターフェース)画面や処理画像結果は、グラフィックプロセッサ103を介して、ディスプレイ104上に表示することができる。グラフィックプロセッサ103は、処理画像データや処理データを、外部ストレージ107に記録したり、RAM102に記憶したりして、他のプログラムと共有することができる。
尚、実施形態1では、電子防振処理を行う情報処理装置をPCにより実現する例を説明するが、これに限られない。実施形態1に係る電子防振処理は、撮像装置、組込システム、タブレット端末、スマートフォン等の情報機器を用いて実施することができる。また、全体、または、部分的にハードウェアが実行する構成を採用してもよい。例えば、図1(b)は、撮像装置200の構成を表している。110は撮像部であり、111は動き検出部である。尚、図1(a)と同一の構成要素については同一の参照番号を付加し、その説明は省略する。図1(b)では、画像を撮像部110から入力し、動き検出部111は動きベクトルの検出を行う。このように、実施形態1で説明する処理は、撮像装置200でも実行可能である。以下、専用回路が存在しない場合は、CPU105が演算を行い、専用回路が存在する場合にはそれぞれの回路が各演算を行うものとして説明する。
連続する画像から画像全体の動きを表現する回転行列を推定して電子防振処理を実行する方法について、図2を参照して具体的に説明する。図2は、電子防振処理を示すフローチャートである。尚、図2のフローチャートは、CPU105が、外部ストレージ107に記録されているプログラムを読み出し実行することで実現される。また、CPU105は、処理内容に応じて、図1(a)あるいは図1(b)に示される各種構成要素と協働して処理を実行する。
以下、フローチャートの説明に関しては、特に説明しない限り、ステップ番号順に、それぞれのステップが実行されるものとして説明する。また、互いに依存関係のない独立した処理については、記載のステップ順に処理を実行する必要はなく、順序を入れ替えて実行したり、複数CPUや専用処理回路が存在する場合には処理を並列に実行することも可能である。同様に、ステップが存在するサブルーチンに限定はなく、処理結果が同等であれば、異なるサブルーチン内で処理を実行してもよい。また、サブルーチンの構成にも限定はない。
S2010では、CPU105あるいは動き検出部111が、連続する画像をフレームとして順に入力して動き検出を実行する。実施形態1では、第c−1番フレーム、第c番フレームの輝度画像が入力され、第c−1番フレーム(基準画像)から第c番フレーム(処理対象画像)の変換(動き)を表す動きベクトルが検出されるものとして説明する。入力画像のフレーム番号は0から、処理対象のフレーム番号は1から開始され、本ステップが実行される毎にcの値がインクリメントされるものとして説明する。
動き検出は、特徴点を検出し、特徴点の特徴量を画像間でマッチングし、その対応位置関係を動きベクトルとすることによって行われる。特徴点の検出方法はFAST、特徴量の算出方法はBRIEFとするが、これに限定されず、SIFT方式を用いてもよい。動きベクトルの検出数は画面あたり約2000本となるように、特徴点検出のパラメータが設定されるものとする。また、動き検出のアルゴリズムは、例えば、輝度画像を縦32×横32画素単位のブロック(分割領域)に分割し、ブロック単位(分割領域単位)で、ブロックマッチングよる動き探索によって行う構成を採用してもよい。
実施形態1では、一つの動きベクトルは、始点と終点の座標から構成される有向線分であり、一つの動きベクトルを
Figure 0006341708
と表現する。
但し、A、Bは動きベクトルの始点と終点を表す。また、動きベクトルの2次元のベクトル成分を
Figure 0006341708
と表現する。
複数の動きベクトルの集合をXとし、Xの個別の動きベクトルを識別するインデックス番号をiとすると、各動きベクトルは、
Figure 0006341708
と表現される。このとき、Xは、
Figure 0006341708
と表現される。以降、特別な記述がない場合、添え字が共通の
Figure 0006341708
は、同一の動きベクトル、及び、その要素を表すものとして説明する。実施形態1では、各数値は浮動小数点として扱うものとして説明するが、固定小数点として計算する方法を採用してもよい。また、画像の画素を参照する場合、特別な記述がなければ小数部を切り捨てた数値を座標値として画素を参照するものとする。実施形態1では、集合は配列として実装されるものとし、集合の要素を
Figure 0006341708
あるいは、
Figure 0006341708
と表現して、集合の各要素に参照できるものとして説明する。
また、集合の要素数は、集合を||で挟む形式で表現する。例えば、集合Xの要素数は、|X|となる。尚、集合は配列として実装することに限定されず、例えば、リストとして実装されても良く、データの集合を扱うデータ構造に限定はない。
S2020では、CPU105が、動き検出結果から変換行列を推定する。変換行列の推定方法の詳細は、図3を用いて後述する。実施形態1では、第c−1番フレームから第c番フレームの変化を表す変換行列をHcとする。実施形態1では、Hcは3×3の行列である回転行列(非特許文献1参照)として説明する。しかし、行列の形式に限定はなく、アフィン変換行列やホモグラフィ行列等の他の行列であってもよい。
S2030では、CPU105が、防振行列を生成するために必要な、防振フレーム周期の数以上の変換行列が推定できたかを判定する。防振フレーム周期をpとすると、c≧pが真の場合(S2030でYES)、S2040へ遷移し、偽の場合(S2030でNO)、S2010へ遷移する。pの値は、例えば、16であるとするが、pの値に限定はなく、長周期のブレを抑制する場合にはpを大きく設定し、短周期のブレのみ抑制する場合はpを小さく設定する。
S2040では、CPU105が、推定した複数の変換行列から防振行列を生成する。防振は、高周波のブレを抑制することが目的であり、変換行列を複数フレームに渡って平滑化したものが防振行列となる。実施形態1では、過去のフレームの変換行列と直前の防振行列から計算する。例えば、第c番フレームの防振行列をScとすると、Scは、
Figure 0006341708
として計算される。尚、行列のべき乗根の計算は近似計算でよく、非特許文献3で説明される方法で計算できる。行列のべき乗根は複数存在する場合があるため、一意の行列が定まる制約を設ける。実施形態1では、行列は回転行列であるため、回転量が最も小さい行列を選択することになる。また、行列のべき乗根が計算できない場合、防振行列Scは単位行列であるものとして処理を進める。尚、行列の平滑の方法はこれに限定されない。
S2050では、CPU105が、防振行列を用いて画像を幾何変換する。実施形態1では、第c−p+1番フレームのRGB画像を入力し、RGBそれぞれのチャネル毎に処理がなされる。以下、入力画像と出力画像が、それぞれチャネル画像であるものとして説明する。
このとき、幾何変換後の画像である出力画像の画素位置を(xout,yout)、入力画像の画素位置を(xin,yin)、出力画像から入力画像への変換行列を
Figure 0006341708
とすると、(xout,yout)から(xin,yin)を計算するproj関数は下記のように表せる。
Figure 0006341708
本ステップでは、出力画像の画素を一画素ずつ走査しながら、M=S-1としたproj関数を用いて出力画像の走査対象画素に対応する入力画像の対応画素の位置を計算する。この対応画素の画素値を走査対象画素の画素値として、出力画像の全ての画素値を決定する。尚、出力画像の画素位置(xout,yout)を格子点として算出した場合、入力画像の画素位置(xin,yin)は小数値を有するため、バイリニアやバイキュービック等の方法を用いて補間し、より精度の高い画素値を計算する方法を採用してもよい。変換された画像は、CPU105が、ディスプレイ104に表示する、あるいは符号化して外部ストレージ107に記録する。
S2060では、CPU105が、全入力画像の処理が終了したか否かを判定する。終了した場合(S2060でYES)、処理を終了する。一方、処理が終了していない場合(S2060でNO)、S2010に遷移して、以後、S2010からS2060の処理を繰り返す。実施形態1では、処理の終了条件として全入力画像の処理が終了したか否かを判定しているが、これに限定されない。例えば、ユーザが処理終了を指示するUI操作が行われたか否かを判定して、処理を終了してもよい。
次に、S2020の変換行列の推定処理の詳細について、図3を参照して説明する。
図3は、変換行列の推定処理の詳細を示すフローチャートである。
S3010では、CPU105が、入力画像を複数の分割領域に分割する。分割方法については後述する。S3020では、CPU105が、対象分割領域を走査して、分割領域内毎に分割領域内の動きベクトルの集合を取得する。
以下、分割領域の走査方法について図4を用いて詳細に説明する。図4は画像分割の例を説明する図である。図4(a)は、画像の分割方法と分割領域番号を例示する図である。実施形態1では、分割領域を図4(a)に示す数値のようにラスター順に従って走査する。つまり、一回目のS3010が実行される場合には、番号1の分割領域が処理対象となり、以下、2回、3回と実行される毎に分割領域番号2、3の分割領域が処理対象となる。本ステップでは、この対象分割領域内にベクトルの終点(矢印のついた点)が含まれる動きベクトルを取得する。実施形態1では、この分割領域の番号をdとし、以下、分割領域dのように表現して説明する。また、最大分割数をdmaxと表現する。実施形態1では、dmax=20である。dは1から始まり、S3010が実行される毎にdがインクリメントされることになる。
図4(b)は、動きベクトルの状態を例示する図である。図4(b)のように、動きベクトルは分割領域をまたぐ場合があるため、実施形態1では、動きベクトルvの終点が含まれる動きベクトルを分割領域の動きベクトルとして扱う。動きベクトルvの終点Bが、分割領域dに含まれるか否かを判定する関数をin(d,B)とする。分割領域dに含まれるベクトルの集合Ydは、
Figure 0006341708
と表現される。この記法は、集合Xの要素を走査して、「|」以降で表現された条件を満足する要素を抽出し、抽出された要素の部分集合であるYdを生成することを示している。以下、部分集合の生成は、同様の記法を用いて説明する。尚、部分集合として新しい配列やリストを生成せず、各要素に部分集合であるか否かを示すフラグを設け、要素の抽出時にフラグを設定する構成を採用してもよい。この構成では、処理毎に上位集合の要素を走査して走査対象の要素のフラグの参照することによって、部分集合である要素のみを取得できる。
尚、Ydは、事前に作成しておき、本ステップで入力する構成を採用してもよい。また、実施形態1では、図4のように画像を20分割したものとして説明しているが、分割方法はこれに限定されない。また、実施形態1では、終点が分割領域に含まれる動きベクトルを入力するとして説明しているが、始点が分割領域に含まれる動きベクトルを入力する構成を採用してもよい。また、分割領域の走査順も、ラスター順に限定されない。さらには、動きベクトルvの終点Bが、分割領域の8近傍の分割領域と自身の領域に含まれる否かを判定する関数をneighbour(d,B)とすると、
Figure 0006341708
という式を用いて、ベクトルの集合Ydを作成してもよい。例えば、分割領域番号が9の場合、分割領域の8近傍の分割領域と自身の領域とは、図4(a)の太線で囲まれた9つの分割領域になる。但し、近傍領域が画面外に存在する場合には、画面内の領域から、ベクトルの集合Ydが作成されることになる。
S3030では、CPU105が、各分割領域の信頼度を算出する。実施形態1は、下記のように、動きベクトルの重心を算出し、その算出した重心からの距離の分散であるR1dを信頼度とする。
Figure 0006341708
minは、分割領域あたりの動きベクトルを検出数に応じて設定される。実施形態1では、画面あたり約2000本の動きベクトルを検出し、画面の分割数は20であるため、分割領域あたり約100本の動きベクトルを検出することになる。そのため、Yminには、分割領域あたり検出数の10%にあたる10を設定する。また、R1dが32bitの符号あり整数で表現される場合、INT_MAXは、232−1とする。INT_MAXは、R1dが計算不能状態であることを示すコードであり、値そのものに限定はなく、R1dが表現できる数値の範囲内で、(式5)で算出されない十分に大きな数字を設定すればよい。R1dが大きいということは、分割領域内の動きベクトルの類似性が低いことを示す。例えば、建物等はエッジがはっきりしており、また、それ自体が静止している被写体を含む領域の動きベクトルは、類似しやすく、グローバルな動きの検出に寄与する度合いが高い。一方、波立つ水面や風で揺れる木の葉の分割領域から検出された動きベクトルは、波や木の葉の個々の動きを表すことが多いため、本ステップで算出する信頼度は低くなる。また、計算不能状態が十分大きな数字で表現されることは信頼度が低いとみなすことになり、後述の処理において特殊な条件分岐を設定せずに、簡易な処理が可能となる。
S3040では、CPU105が、全分割領域の処理が終了したか否かを判定する。処理が終了している場合(S3040でYES)、S3050に遷移する。一方、処理が終了していない場合(ステップS3040でNO)、S3010に遷移し、以後、S3010からS3040のステップが繰り返される。
S3050では、CPU105が、信頼度が高い高信頼度の分割領域を抽出する。具体的には、信頼度はvard(d=1、…、dmax)を昇順にソートして、R1dが小さい方向から、全体の所定値(例えば、67%)以下となるインデックスdを抽出し、これを信頼度の高い分割領域のインデックスの集合Iとする。実施形態1では、dmax=20であるため、|I|=round(20×67/100)=13(但し、roundは小数第一を四捨五入して整数化する関数とする)となる。例えば、vardを示すデータ列が下記であるとすると、
Figure 0006341708
下記のようにソートされる。
Figure 0006341708
ここから、算出される信頼度の内、その上位から一定数(例えば、13)のインデックスdを抽出して、インデックスの集合Iを作成すると、
I={9,13,15,4,14,19,8,5,10,3,7,18,20}
となる。R1dが小さいということは信頼度が高いということであり、集合Iは、動きベクトルの信頼性が高い分割領域のインデックスの集合といえる。尚、実施形態1では、所定値として、全体の67%以下となるインデックスdを抽出しているが、これに限定されない。
S3060では、CPU105が、抽出された高信頼度の分割領域に含まれる動きベクトルを入力として変換行列を推定する。このとき、高信頼度の分割領域に含まれる動きベクトルの集合をZと表現すると、Zは下記の式で表現できる。
Figure 0006341708
変換行列の推定は、図5に示すフローチャートをサブルーチンとしてコールすることによって回転行列を算出することで実現する。このフローおける入力サンプルがZにあたる。以下、回転行列を算出するサブルーチンの動作について図5を用いて説明する。図5は、RANSACを用いる回転行列の推定処理の詳細を示すフローチャートである。
S5010では、CPU105が、イテレーション数をインクリメントする。
S5020では、CPU105が、入力サンプルから4つの動きベクトルを取得する。実施形態1において、入力サンプルとは、図3のフローチャートで抽出した、高信頼度の分割領域に含まれる動きベクトルの集合Zである。
S5030では、CPU105が、取得した4つの動きベクトルから行列を算出する。このとき、取得した動きベクトルを
Figure 0006341708
と表現する。算出する行列はS2020における
Figure 0006341708
である。本ステップでは、4つの動きベクトルから得られる16変数を用いて方程式を解いて下記を満足する回転行列のそれぞれの要素を算出する。
Figure 0006341708
尚、回転行列の算出は様々な方法があり、例えば、非特許文献1に記載されている方法を利用できるため、ここでは、詳細な説明は省略する。回転行列の算出方法によっては、サンプルの選び方によって行列が算出できない場合がある。行列算出の失敗を判定して、失敗と判定された場合には、処理をS5010へ遷移させ、再度、処理が行う構成を採用しても良い。
S5040では、CPU105が、サンプル全体に対し、動きベクトルの始点を、算出した行列で射影した点と終点との距離を算出し、距離が許容誤差内のデータ数をインライア数としてカウントする。インライアの集合をVとすると、Vは下記計算式で計算できる。
Figure 0006341708
許容誤差eは画像サイズ等に依存するが、実施形態1では、画像サイズ(画像高×画像幅)における画像高の約300分の1にあたる3を設定するものとする。尚、この値は、画像高の約300分の1に限定されるものではない。
S5050では、CPU105が、現在までのイテレーションでインライア数が最大であるか否かを判定する。最大である場合(S5050でYES)、S5060へ遷移する。一方、最大でない場合(S5050でNO)、S5070へ遷移する。尚、例外として、一回目のS5050の実行では、必ず、S5060へ遷移するものとする。また、実施形態1におけるインライア数は|V|として表現される。
S5060では、CPU105が、S5030で算出した行列をベストパラメータとして保存する。尚、S5060は、実行される度にベストパラメータが次々に更新されることになる。
S5070では、CPU105が、イテレーション数が上限数に達したか否かを判定する。上限数に達した場合(S5070でYES)、S5090へ遷移する。一方、上限数に達していない場合(S5070でNO)、S5080へ遷移する。
尚、実施形態1では、上限を50回とする。但し、この回数に限定されるものではない。例えば、入力される画像のフレームレートが30fpsの場合、図2のフローチャートは33ms以内で完了する必要がある。そのため、CPU105のスペックや数によって、最適な値が決定される。
S5080では、CPU105が、イテレーション数が十分であるか否かを判定する。イテレーション数が十分である場合(S5080でYES)、S5090に遷移する。一方、不十分である場合(S5080でNO)、S5010へ遷移する。この判定は、イテレーション数が下記式によって算出されるN値を超える場合に十分と判定される。
Figure 0006341708
sampleは、正しいサンプル(動きベクトル)が最低一つ存在する確率である。実施形態1では、サンプルが99%の確率で存在すると仮定し、psample=0.99とする。mは、パラメータの算出に必要な動きベクトルの数である。二次元ベクトルを算出する場合は、m=1である。また、ホモグラフィ行列や回転行列の場合は、m=4となる。(式8)は、同じrinlierであれば、mが小さい程、小さいN値を導出する式である。つまり、図5のフローチャートでは、mが小さい程、イテレーション数が少なくなることになる。(式8)中のrinlierは、下記の式により算出される。
Figure 0006341708
S5090では、CPU105が、戻り値としてベストパラメータを返す。実施形態1では、S5090が実行される時点での回転行列が返される。
(式8)で計算される通り、インライアの比率(以下、インライア率)が低い動きベクトルを入力とし、RANSACを用いて回転行列やホモグラフィ行列を推定すると、イテレーション数が多くなるという問題がある。また、ロバスト推定技術の一つで比較的処理が軽いとされ、処理時間が短いM推定は、アウトライア率が高い場合には十分な推定性能が発揮できない。例えば、水面や風にゆれる木の葉の動きを表現する所定の動きベクトルは、画面全体の動きを表現する動きパラメータに対し、乱雑になることが多い。
そこで、実施形態1では、行列推定の前に分割領域毎に信頼度を算出し、信頼度が高い高信頼度の分割領域を選択する、つまり、可能な限り、所定の動きベクトル(例えば、水面や風にゆれる木の葉の動きを表現する)を含む分割領域を除外して処理が実行されるようにする。このようにして、動きベクトルの信頼度が高い高信頼度の分割領域に含まれる動きベクトルを入力して、RANSACによる回転行列の推定を実施することにより、イテレーション数を減少させる、あるいは、M推定の推定性能を向上させることができる。
また、分割領域の信頼度である分散を算出する処理は、複雑な行列演算がないため処理量が非常に少ない。そのため、例えば、RANSACに適用する場合、その前処理として類似動きベクトルを抽出する処理のオーバーヘッドを考慮してもトータルの処理時間の大幅な短縮が可能となる。
また、例えば、30fpsの画像では、一つのフレームの処理を33ms以内に完了する必要がある。そのため、イテレーション数に上限を設ける必要があるが、この場合でも、実施形態1を用いれば、イテレーション数が上限に達しにくく、安定的に行列を推定できる。これにより、行列を用いて画像を防振する場合、行列推定の失敗の確率が減り、より安定的で自然な防振が可能となる。尚、実施形態1では、画像の防振を行うことを例に、動きパラメータの推定処理を説明しているが、アプリケーションはこれに限定されず、画像合成等の他のアプリケーションにも適用できる。
以上説明したように、実施形態1によれば、画像内の大域的な動きを表現する動きパラメータをロバスト推定で算出する際に、信頼度の高いと判定される分割領域に含まれる動きベクトルのみを使ってロバスト推定を行うことにより、アウトライア率を低減させて処理時間を短縮することができる。また、動画処理等の既定時間内に処理を完了させるためにイテレーションの上限回数を設定する場合、イテレーションが上限に達する割合が減少し、推定性能を安定させることができる。
<実施形態2>
実施形態2では、連続する画像から回転行列を推定して電子防振処理を行う構成について説明する。実施形態2では、実施形態1の図3のフローチャート(変換行列の推定処理)に対し、類似動きベクトルを抽出するステップを追加している。この類似動きベクトルを抽出するステップを含む変換行列の推定処理について、図6を参照して説明する。他の処理は、実施形態1に準ずるものとする。
尚、類似動きベクトルとは、分割領域を代表する動きベクトルである代表ベクトルと、処理対象の動きベクトルのベクトル成分の差分の絶対値が所定範囲以内(許容誤差以内/閾値以内)の動きベクトルである。
以下、類似動きベクトル抽出処理の動作について、図6を参照して説明する。
図6は類似動きベクトル抽出処理を含む変換行列の推定処理の詳細を示すフローチャートである。
S6011では、CPU105が、対象分割領域を走査しながら、対象分割画像内の動きベクトル数が一定数以上であるか否かを判定する。一定数以上である場合(S6011でYES)、S3020へ遷移する。一方、一定数未満である場合(S6011でNO)、S3040へ遷移する。実施形態2では、一定数として、分割領域あたり検出数の10%にあたる10以上であるか否かを判定するものとする。但し、この一定数の値は10に限定されるものではない。
S6021で、分割領域毎の代表ベクトルを算出する。ここで、代表ベクトルを算出するサブルーチンの動作について図7を用いて説明する。図7は、代表ベクトルの算出処理の詳細を示すフローチャートである。図7のフローチャートは、図5のフローチャートのS5020、S5040、及びS5060〜S5090がそれぞれS7020、S7040、S7060〜S7090に置き代わり、S5030が存在しない以外は、図5と同等の動作を行うものとする。
S7020では、CPU105が、サンプル全体からランダムに動きベクトルを取得する。本サブルーチンの動作におけるサンプル全体とは、対象分割領域に含まれる全ての動きベクトルであり、実施形態2では、一つの動きベクトルsample_vを取得する。
S7040では、取得した動きベクトルとサンプル全体の動きベクトルとの差を算出し、差が許容誤差内のデータ数をインライア数としてカウントする。実施形態2では、データとは動きベクトルのベクトル成分であり、許容誤算内であるとして抽出された動きベクトルの集合
Figure 0006341708
は、下記式で表現される。
Figure 0006341708
このとき、
Figure 0006341708
がインライア数にあたる。
060では、CPU105が、S7020で取得した動きベクトルをベストパラメータとして保存する。実施形態2では、ベストパラメータは

Figure 0006341708
であり、
Figure 0006341708
として、
Figure 0006341708
を更新する。
S7070では、CPU105が、イテレーション数が上限数に達したか否かを判定する。上限数に達した場合(S7070でYES)、S7090へ遷移する。一方、上限数に達していない場合(S7070でNO)、S7080へ遷移する。
尚、実施形態2では、上限を50回とする。但し、この回数に限定されるものではない。例えば、入力される画像のフレームレートが60fpsの場合、図7のフローチャートは16ms以内で完了する必要がある。そのたため、CPU105の性能や処理条件によって、最適な値が決定される。
S7080では、CPU105が、イテレーション数が十分であるか否かを判定する。イテレーション数が十分である場合(S7080でYES)、S7090に遷移する。一方、不十分である場合(S7080でNO)、S5010へ遷移する。この判定は、イテレーション数が(式8)によって算出されるN値を超える場合に十分と判定される。実施形態2では、二次元のベクトルを算出するため、m=2である。また、(式8)中のrinlierは下記式により算出される。
Figure 0006341708
S7090では、CPU105が、戻り値としてベストパラメータ
Figure 0006341708
を返す。
図6のフローチャートの説明に戻る。
S6022では、CPU105が、分割領域内の動きベクトルから代表ベクトルに類似の動きベクトルを抽出する。実施形態2では、S7090で返された
Figure 0006341708
が分割領域の代表ベクトルにあたる。以下に、抽出した動きベクトルの集合を
Figure 0006341708
とすると、
Figure 0006341708
は、以下のように計算される。
Figure 0006341708
S6030では、CPU105が、分割領域内の信頼度を取得する。信頼度は下記式で算出する。
Figure 0006341708
この式は、分割領域のインライア率を算出する式であり、実施形態2における信頼度は、インライア率そのものになる。以下、インライア率が高い分割領域ほど信頼度が高いとみなして処理を行う。
S6050では、CPU105が、信頼度を抽出した分割領域から、さらに信頼度が高い高信頼度の分割領域を抽出する。実施形態2では、信頼度はインライア率であるため、インライア率が所定値(例えば、67%)以上の分割領域を高信頼度の分割領域として抽出する。
S6060では、CPU105が、抽出された高信頼度の分割領域に含まれ、代表ベクトルに類似と判定された動きベクトルの集合を使って変換行列を推定する。実施形態2でも、図5に示すフローチャートをサブルーチンとしてコールすることによって回転行列を算出するが、入力サンプルは、代表ベクトルに類似と判定された動きベクトルの集合である
Figure 0006341708
となる。
以上説明したように、実施形態2によれば、分割領域の信頼度の算出に、動きベクトルの分散でなく、分割領域を代表する動きベクトルを代表ベクトルとして算出し、分割領域に含まれる動きベクトルの中で代表ベクトルに類似する動きベクトルの比率を信頼度としている。この形態では、単純な分散と比較すると演算量は増加するものの、動き検出の失敗により大きく外れてしまった動きベクトルの影響を除外できるため、よりロバストに信頼度を算出することができる。また、分割領域内の代表ベクトルに類似の動きベクトルを抽出し、その動きベクトルのみを用いて、大域的なパラメータを算出することにより、回転行列の推定の時のアウトライア率をさらに下げることができ、イテレーション回数が少なくなる。
尚、実施形態2では、信頼度を代表ベクトルに類似する動きベクトルの比率であるとしているが、
Figure 0006341708
という式のように、分割領域に含まれる各動きベクトルと代表ベクトルの二乗誤差和を信頼度としても同等の効果が得られる。このとき、分割領域の二乗誤差和が小さいほど信頼度が高いとみなして処理を行う。
<実施形態3>
実施形態3では、連続する画像から回転行列を推定して電子防振処理を行う構成について説明する。実施形態3は、実施形態1に対し計算式が異なる変形例である。
実施形態1では、S3050で、R11、・・・、R1dmaxをソートして、分割領域のインデックスを抽出しているが、実施形態3では、ソートせずに、閾値を設定してR1dが閾値よりも小さい分割領域を高信頼度の分割領域とみなして抽出する。具体的には、下記式を用いる。
Figure 0006341708
以上説明したように、実施形態3によれば、信頼度の計算が可能であった分割領域を抽出して、その集合を母集団Rとする。そして、その母集団Rに含まれる分割領域の信頼度に統計処理を施して(平均を算出して)、その統計処理結果(平均値)を閾値として、母集団R内から高信頼度の分割領域を抽出する。I’は、高信頼度の分割領域のインデックスの集合である。このような構成により、分割領域毎の信頼度をソートする処理を省略することができ、より少ない処理量で高信頼度の分割領域を抽出することができる。
実施形態3では、現フレームの信頼度を閾値で判定しているがこれに限定されず、連続して入力し処理されたフレームの信頼度の移動平均から信頼度を算出してもよい。実施形態3の変形例を以下に示す。例えば、第c番フレームの処理に対し、過去の連続する所定数のフレーム(例えば、15フレーム)を母集団とする統計処理を行う(平均を算出する)場合、閾値eavgは、下記計算式で計算される。この閾値よりも小さい分割領域を高信頼度の分割領域とみなしてインデックスを抽出する。
Figure 0006341708
実施形態3では、30fpsの画像を入力するものとして説明しているため、0.5秒分のフレーム、つまり、15フレームの平均を算出している。15という値に限定はなく、例えば、60fpsの画像を入力する場合には、30フレームの平均を算出するような構成をとってもよい。
実施形態3では、例えば、カメラの前を人が急に横切るような場合、人にフォーカスが合わずぼやけた画像となり、そこから算出される動きベクトルの精度は低くなりがちである。単フレームの処理では、侵入してきた人の領域の面積に応じて、閾値が大きく変動してしまう。実施形態3のように、数フレームの平均を算出することによって、閾値の変動を抑制することができる。また、R11、・・・、R1dmaxから、偏差値を算出し、例えば、偏差値が50を下回る分割領域を高信頼度の分割領域とみなしてもよく、本手法は単純な平均値だけでなく、統計的な代表値に基づいて、処理を行ってもよい。
<実施形態4>
実施形態4では、撮像装置200のレンズの制御状態に応じて、処理内容を切り替えて、回転行列を推定して、電子防振処理を行う構成について説明する。
実施形態4では、外部撮像部109あるいは撮像部110から、ズーム中やピント合わせ中で画角が変化するか否か、つまり、光学素子であるレンズを制御中であるか否かの信号(光学制御情報)をCPU105が受信し、その受信した信号に基づいて、変換行列の推定処理を制御する。それ以外の動作は、実施形態1と同様である。
以下、実施形態4における変換行列の推定処理の詳細について、図8を参照して説明する。
図8は、レンズ制御状態に応じた変換行列の推定処理の詳細を示すフローチャートである。図8は、図3のフローチャートに対し、S8000とS8070が追加されている以外、その動作は図3のフローチャートと同様である。以下、その差分について説明する。
S8000では、CPU105が、レンズ制御中であるか否かを判定する。レンズ制御中でない場合(S8000でNO)、S3010へ遷移する。一方、レンズ制御中である場合(S8000でYES)、S8070へ遷移する。
S8070では、CPU105が、画像内の動きベクトルを入力として第二の変換行列を推定する。実施形態4では、第二の変換行列はホモグラフィ行列とする。推定方法は、RANSACとする。ここで、S3060で推定する変換行列は、S8070で推定する第二の変換行列に対する第一の変換行列となる。
レンズ制御中(レンズ制御状態)の動きベクトルは、光軸が存在する画面中央と画面端とを比較した場合、画面中央の動きベクトルの長さが短くなる。そのため、画面中央領域の動きベクトルの分散も小さくなり、画面中央に高信頼度の分割領域が集中してしまうことになる。実施形態4では、レンズ制御中は、S3010からS3060の処理をバイパスすることにより、この問題を回避している。また、レンズ制御中は画角が変化することから、パン・チルト・光軸回転を表現する回転行列でなく、画像の拡縮を表現可能なホモグラフィ行列を推定している。これにより、回転行列では対応できなかった、光軸方向のブレ、拡縮変化に対するブレも補正できる。
実施形態4では、レンズ制御中であるか否かを示す信号(制御情報)を、外部撮像部109あるいは撮像部110から入力する構成としているが、それに限定されない。例えば、外部ストレージ107に記録する画像データファイルにレンズ制御中であるか否かのフラグを設定可能な画像フォーマットを採用し、処理画像毎にそのフラグを入力して、レンズ制御中であるか否かを判定してもよい。また、画像データファイルにそれぞれに焦点距離を設定可能な画像フォーマットを採用し、連続する画像間で焦点距離差を計算して、差がある場合にはレンズ制御中であるとして、レンズ制御中であるか否かを判定してもよい。また、レンズ制御中であるか否かは、画像データから解析して、判定する形態をとってもよい。
実施形態4では、図3のフローチャートに対し、レンズの制御状態に応じて処理を切り替える処理を組み込んでいるが、これに限定されず、例えば、図6のフローチャートに対し、レンズの制御状態に応じて処理を切り替える処理を組み込むことも可能である。
以上説明したように、実施形態4によれば、実施形態1で説明した効果に加えて、撮像装置の動作状態に応じて、適切な電子防振処理を実行することができる。
<実施形態5>
実施形態5では、インテリジェントな領域分割を用いて分割領域毎に代表ベクトルを算出する構成について説明する。
図9は、オブジェクト単位の領域分割を用いる変換行列の推定処理の詳細を示すフローチャートである。図9は、実施形態1の図3に対し、S3010がS9010に置き換わっている。
S9010では、CPU105が、入力画像をオブジェクト単位で領域分割する。領域分割方法には様々な方法が存在するが、実施形態5では、k−mean法を用いて分割するものとする。分割数は8とする。各分割領域には番号が付けられる。番号の順序は任意である。尚、分割アルゴリズムや分割数はこれに限定されず、他の方式、分割数であってもよい。このようにして画像を分割すると、例えば、図10のように分割される。図10は、画像がオブジェクト単位で分割された状態と分割領域の番号の例を示す図である。分割領域の番号の振り方に任意である。
S9010以降は、格子状に区切られた分割領域の代わりに任意の形状の分割領域を対象にする以外は、実施形態1と同様の処理が実行される。
以上説明したように、実施形態5によれば、オブジェクト単位で画像を分割して、そのオブジェクトの領域毎に、変換行列を推定する。同一オブジェクトに含まれる動きベクトルのベクトル成分は同一になる可能性が高いため、同一の許容誤差であっても代表ベクトルに類似のベクトルを抽出する際のインライア率が高めることができる。このため、変換行列の推定においては、同一の動きを持つオブジェクトの集合の面積が最も大きい集合に含まれる動きベクトルが、画像全体の動きの主要成分となる傾向が強まる。これは、推定した変換行列を用いて防振を行う場合、広い面積が安定して防振されることになり、防振の安定性を高めることができる。
<実施形態6>
実施形態6では、連続する画像から回転行列を推定して電子防振処理を行う構成について説明する。実施形態6では、実施形態2に対し計算式が異なる変形例である。
実施形態6におけるS6030では、図11で示すフローチャートをサブルーチンとして呼び出し、その戻り値を分割領域dの信頼度R4dとする。
図11は、実施形態6における信頼度の算出処理の詳細を示すフローチャートである。
S11010では、CPU105が、kに1を代入する。
S11020では、CPU105が、許容誤差をekとして、分割領域dのインライア率inlier_ratiod,kを算出する。具体的には、以下の式で算出する。
Figure 0006341708
(式19)は、k値毎の動きベクトルの集合である
Figure 0006341708
を生成している。また、閾値であるekは、2のべき乗で計算できるものとして説明しているが、k値に対し正の相関が存在すれば、計算方法に限定はない。さらに、生成したベクトル集合から、下記のインライア率を算出する。
Figure 0006341708
S11030では、CPU105が、k>=7あるいはinlier_ratiod,k>=0.5である否かを判定する。判定結果が真である場合(S11030でYES)、S11050へ遷移する。一方、判定結果が偽である場合(S11030でNO)、S11040へ遷移する。尚、実施形態6では、inlier_ratiod,k>=0.5の場合に処理を打ち切るとしているが、0.5、つまり、インライア率50%以上とすることに限定はない。
S11040では、CPU105が、k値を1インクリメントする。以下、S11030の判定で処理が打ち切られるまで、S11020からS11040の処理が繰り返される。
S11050では、CPU105が、ekを戻り値としてサブルーチンのコール元に返す。k値は、S11030で処理が打ち切られた時点でk値が確定する。
実施形態6の信頼度は、インライア率が50%を超えるインライア判定時の最低の誤差を信頼度としており、値が小さいほど信頼度が高いとして処理を行う。このように、実施形態6における処理においても、信頼度を算出することができる。
以上説明したように、実施形態6によれば、分割領域に含まれる動きベクトルと前記分割領域を代表する動きベクトルである代表ベクトルとの差が所定範囲以内(閾値以内)の動きベクトルの比率が特定の範囲内に収まる場合の、その閾値を信頼度として算出する。これにより、実施形態2で説明した効果に加えて、信頼度の精度をより向上することができる。
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。

Claims (17)

  1. 時間的に連続する画像を処理する情報処理装置であって、
    処理対象画像を複数の分割領域に分割する分割手段と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
    前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段と
    を備え
    前記抽出手段は、前記含まれる動きベクトルの類似性を計算する分割領域に含まれる複数の動きベクトルと代表ベクトルとの差に基づいて前記類似性を計算し、
    前記代表ベクトルは、前記類似性を計算する分割領域から取得した一つの動きベクトルとの差が許容誤差内の、前記類似性を計算する分割領域に含まれる複数の動きベクトルの数に基づいて、前記類似性を計算する分割領域から取得されることを特徴とする情報処理装置。
  2. 前記算出手段で算出した動きパラメータを用いて前記処理対象画像に対して電子防振処理を行う処理手段をさらに
    備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記画像を入力する撮像装置の光学素子の制御状態を判定する判定手段を更に備え、
    前記判定手段の判定の結果、前記光学素子が制御中である場合は、前記算出手段は、前記処理対象画像に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出し、
    前記判定手段の判定の結果、前記光学素子が制御中でない場合は、前記算出手段は、前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記類似性は、前記類似性を計算する分割領域に含まれる複数の動きベクトルのうちの、前記代表ベクトルとの差が閾値以内の動きベクトルの比率である
    ことを特徴とする請求項に記載の情報処理装置。
  5. 前記類似性は、前記類似性を計算する分割領域に含まれる複数の動きベクトルと前記代表ベクトルとの差が第二の閾値以内のベクトルの比率が特定の範囲に収まる場合の前記第二の閾値である
    ことを特徴とする請求項に記載の情報処理装置。
  6. 前記抽出手段は、前記処理対象画像を分割した複数の分割領域の内、所定数の画像の分割領域に対して算出した複数の類似性の統計処理によって決定した閾値よりも類似性が高い分割領域を抽出する
    ことを特徴とする請求項1に記載の情報処理装置。
  7. 前記分割領域は、前記処理対象画像をオブジェクト単位で分割した領域である
    ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 時間的に連続する画像を処理する情報処理装置であって、
    処理対象画像を複数の分割領域に分割する分割手段と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
    前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段と、
    前記画像を入力する撮像装置の光学素子の制御状態を判定する判定手段と
    を備え、
    前記判定手段の判定の結果、前記光学素子が制御中である場合は、前記算出手段は、前記処理対象画像に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出し、
    前記判定手段の判定の結果、前記光学素子が制御中でない場合は、前記算出手段は、前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出することを特徴とする情報処理装置。
  9. 時間的に連続する画像を処理する情報処理装置であって、
    処理対象画像を複数の分割領域に分割する分割手段と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
    前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段と
    を備え、
    前記抽出手段は、前記処理対象画像を分割した複数の分割領域の内、所定数の画像の分割領域に対して算出した複数の類似性の統計処理によって決定した閾値よりも類似性が高い分割領域を抽出する
    ことを特徴とする情報処理装置。
  10. 時間的に連続する画像を処理する情報処理装置の制御方法であって、
    処理対象画像を複数の分割領域に分割する分割工程と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出工程と、
    前記抽出工程で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出工程と
    を備え
    前記抽出工程では、前記含まれる動きベクトルの類似性を計算する分割領域に含まれる複数の動きベクトルと代表ベクトルとの差に基づいて前記類似性を計算し、
    前記代表ベクトルは、前記類似性を計算する分割領域から取得した一つの動きベクトルとの差が許容誤差内の、前記類似性を計算する分割領域に含まれる複数の動きベクトルの数に基づいて、前記類似性を計算する分割領域から取得されることを特徴とする情報処理装置の制御方法。
  11. 前記画像を入力する撮像装置の光学素子の制御状態を判定する判定工程と、
    前記判定工程の判定の結果、前記光学素子が制御中である場合は、前記処理対象画像に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出する第二の算出工程とを更に備え、
    前記算出工程は、前記判定工程の判定の結果、前記光学素子が制御中でない場合は、前記抽出工程で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出する
    ことを特徴とする請求項10に記載の情報処理装置の制御方法。
  12. 時間的に連続する画像を処理する情報処理装置の制御方法であって、
    処理対象画像を複数の分割領域に分割する分割工程と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出工程と、
    前記抽出工程で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出工程と、
    前記画像を入力する撮像装置の光学素子の制御状態を判定する判定工程と
    を備え、
    前記判定工程の判定の結果、前記光学素子が制御中である場合は、前記算出工程では、前記処理対象画像に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出し、
    前記判定工程の判定の結果、前記光学素子が制御中でない場合は、前記算出工程では、前記抽出工程で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出することを特徴とする情報処理装置の制御方法。
  13. 時間的に連続する画像を処理する情報処理装置の制御方法であって、
    処理対象画像を複数の分割領域に分割する分割工程と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出工程と、
    前記抽出工程で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出工程と
    を備え、
    前記抽出工程では、前記処理対象画像を分割した複数の分割領域の内、所定数の画像の分割領域に対して算出した複数の類似性の統計処理によって決定した閾値よりも類似性が高い分割領域を抽出する
    ことを特徴とする情報処理装置の制御方法。
  14. 時間的に連続する画像を処理する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを、
    処理対象画像を複数の分割領域に分割する分割手段と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
    前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段として機能させ
    前記抽出手段は、前記含まれる動きベクトルの類似性を計算する分割領域に含まれる複数の動きベクトルと代表ベクトルとの差に基づいて前記類似性を計算し、
    前記代表ベクトルは、前記類似性を計算する分割領域から取得した一つの動きベクトルとの差が許容誤差内の、前記類似性を計算する分割領域に含まれる複数の動きベクトルの数に基づいて、前記類似性を計算する分割領域から取得されることを特徴とするプログラム。
  15. 前記コンピュータを、前記画像を入力する撮像装置の光学素子の制御状態を判定する判定手段として更に機能させ、
    前記判定手段の判定の結果、前記光学素子が制御中である場合は、前記算出手段は、前記処理対象画像に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出し、
    前記判定手段の判定の結果、前記光学素子が制御中でない場合は、前記算出手段は、前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出する
    ことを特徴とする請求項14に記載のプログラム。
  16. 時間的に連続する画像を処理する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを、
    処理対象画像を複数の分割領域に分割する分割手段と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
    前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段と、
    前記画像を入力する撮像装置の光学素子の制御状態を判定する判定手段として機能させ、
    前記判定手段の判定の結果、前記光学素子が制御中である場合は、前記算出手段は、前記処理対象画像に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出し、
    前記判定手段の判定の結果、前記光学素子が制御中でない場合は、前記算出手段は、前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における前記基準画像からの動きを示す動きパラメータを算出することを特徴とするプログラム。
  17. 時間的に連続する画像を処理する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを、
    処理対象画像を複数の分割領域に分割する分割手段と、
    前記複数の分割領域の内、含まれる動きベクトルの類似性が高い分割領域を抽出する抽出手段と、
    前記抽出手段で抽出した分割領域に含まれる動きベクトルを用いて、前記処理対象画像における基準画像からの動きを示す動きパラメータを算出する算出手段として機能させ、
    前記抽出手段は、前記処理対象画像を分割した複数の分割領域の内、所定数の画像の分割領域に対して算出した複数の類似性の統計処理によって決定した閾値よりも類似性が高い分割領域を抽出する
    ことを特徴とするプログラム。
JP2014053987A 2013-10-25 2014-03-17 情報処理装置及びその制御方法、プログラム Active JP6341708B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014053987A JP6341708B2 (ja) 2014-03-17 2014-03-17 情報処理装置及びその制御方法、プログラム
US14/508,096 US10051274B2 (en) 2013-10-25 2014-10-07 Image processing apparatus, method of calculating information according to motion of frame, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014053987A JP6341708B2 (ja) 2014-03-17 2014-03-17 情報処理装置及びその制御方法、プログラム

Publications (3)

Publication Number Publication Date
JP2015176488A JP2015176488A (ja) 2015-10-05
JP2015176488A5 JP2015176488A5 (ja) 2017-03-16
JP6341708B2 true JP6341708B2 (ja) 2018-06-13

Family

ID=54255595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014053987A Active JP6341708B2 (ja) 2013-10-25 2014-03-17 情報処理装置及びその制御方法、プログラム

Country Status (1)

Country Link
JP (1) JP6341708B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7311407B2 (ja) * 2019-11-26 2023-07-19 株式会社デンソーテン 姿勢推定装置、および、姿勢推定方法
JP7311406B2 (ja) * 2019-11-26 2023-07-19 株式会社デンソーテン 画像処理装置、および、画像処理方法
JP7198196B2 (ja) * 2019-12-26 2022-12-28 株式会社日立ハイテク 計測装置及び計測方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2669977B2 (ja) * 1991-10-24 1997-10-29 三洋電機株式会社 手ブレ補正機能付きビデオカメラの動きベクトル特定回路
JP2005244780A (ja) * 2004-02-27 2005-09-08 Matsushita Electric Ind Co Ltd 撮像装置
JP2008072665A (ja) * 2006-09-15 2008-03-27 Ntt Docomo Inc 映像評価装置、映像フレームレート決定装置、映像評価方法、映像フレームレート決定方法、映像評価プログラム及び映像フレームレート決定プログラム
US7924317B2 (en) * 2008-03-12 2011-04-12 Aptina Imaging Corporation Method and apparatus for reducing motion blur in digital images
JP5029573B2 (ja) * 2008-11-12 2012-09-19 株式会社Jvcケンウッド 撮像装置及び撮像方法

Also Published As

Publication number Publication date
JP2015176488A (ja) 2015-10-05

Similar Documents

Publication Publication Date Title
US10051274B2 (en) Image processing apparatus, method of calculating information according to motion of frame, and storage medium
US9275464B2 (en) Method for determining the extent of a foreground object in an image
US10915998B2 (en) Image processing method and device
US9773192B2 (en) Fast template-based tracking
JP6044134B2 (ja) 最適画像サイズによる画像領域分割装置、方法、およびプログラム
CN109598744B (zh) 一种视频跟踪的方法、装置、设备和存储介质
CN111612696B (zh) 图像拼接方法、装置、介质及电子设备
US10586099B2 (en) Information processing apparatus for tracking processing
US9536169B2 (en) Detection apparatus, detection method, and storage medium
JP6341708B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2019012359A (ja) 情報処理装置、プログラム及び情報処理方法
JP6235860B2 (ja) 情報処理装置及びその制御方法、プログラム
JPWO2020021879A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
US11908144B2 (en) Image processing apparatus, method, and medium using degrees of reliability and similarity in motion vectors
JP7118729B2 (ja) 情報処理装置、情報処理方法及びプログラム
US9270883B2 (en) Image processing apparatus, image pickup apparatus, image pickup system, image processing method, and non-transitory computer-readable storage medium
KR101919879B1 (ko) 사용자 인터랙션 정보 기반 깊이 정보 영상 보정 장치 및 방법
KR101458099B1 (ko) 흔들림 영상 안정화 방법 및 이를 적용한 영상 처리 장치
KR102630546B1 (ko) 하천의 영상 정보를 활용한 인공지능 기반의 하천 수위 및 유속 계측 방법 및 장치
JP6044130B2 (ja) 画像領域分割装置、方法、およびプログラム
JP6525693B2 (ja) 画像処理装置及び画像処理方法
JP2016126576A (ja) 画像処理装置、画像処理方法
JP6751663B2 (ja) 画像処理装置、画像処理方法
JP6194677B2 (ja) 画像処理装置およびプログラム
JP2015133532A (ja) 撮像装置及び画像処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180515

R151 Written notification of patent or utility model registration

Ref document number: 6341708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151