JP2007334625A - 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置 - Google Patents

画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置 Download PDF

Info

Publication number
JP2007334625A
JP2007334625A JP2006165553A JP2006165553A JP2007334625A JP 2007334625 A JP2007334625 A JP 2007334625A JP 2006165553 A JP2006165553 A JP 2006165553A JP 2006165553 A JP2006165553 A JP 2006165553A JP 2007334625 A JP2007334625 A JP 2007334625A
Authority
JP
Japan
Prior art keywords
feature points
motion vector
feature
input image
feature point
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.)
Pending
Application number
JP2006165553A
Other languages
English (en)
Inventor
Jean-Aymeric Altherr
ジャン エメリック アルテール
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006165553A priority Critical patent/JP2007334625A/ja
Publication of JP2007334625A publication Critical patent/JP2007334625A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

【課題】本発明は、画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置に関し、例えば動きベクトルを用いた手振れ補正処理に適用して、画面全体から偏りなく高い精度で動きベクトルを検出する。
【解決手段】本発明は、処理対象画像を複数ブロックに分割し、特徴点の分布の偏りを補正しながら特徴点を追跡して動きベクトルを検出する。
【選択図】 図1

Description

本発明は、画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置に関し、例えば動きベクトルを用いた手振れ補正処理に適用することができる。本発明は、処理対象画像を複数ブロックに分割し、特徴点の分布の偏りを補正しながら特徴点を追跡して動きベクトルを検出することにより、画面全体から偏りなく高い精度で動きベクトルを検出する。
従来、動きベクトルを用いて種々に画像処理する方法が提案されており、例えば特開2004−229084号公報には、動きベクトルを用いて手振れ補正する工夫が提案されている。このような画像処理では、従来、ブロックマッチング法、KLT(Kanade、Lucas 、Tomasi)の特徴点抽出、追跡法等により動きベクトルを検出している。
ここでブロックマッチング法は、所定の動きベクトル検出範囲で、動きベクトル検出対象の画素、ブロックを順次変位させて、重なり合う画素間の差分絶対値和を順次検出し、差分絶対値和が最も小さな変位位置から動きベクトルを検出する方法である。
ブロックマッチング法は、動きベクトル検出対象に特徴点が含まれていない場合でも、動きベクトルを検出することができ、このため画面全体から偏りなく動きベクトルを検出することができる。なおここで特徴点は、画像中における特徴的な点である。
これに対してKLTの特徴点抽出、追跡法では、特徴点らしさを表す特徴度を画面内の全ての画素で検出して検出結果をソートし、特徴度の高い順に、所定個数の画素を特徴点として検出する。またKLTの特徴点抽出、追跡法では、このようにして検出した特徴点をフレーム間で追跡して動きベクトルを検出する。なお以下において、このKLTの特徴点抽出、追跡法を適宜、KLT法と呼ぶ。
このKLT法は、ブロックマッチング法に比して、動きベクトルの検出精度が高い特徴がある。しかしながらKLT法は、動きベクトル検出の前提として特徴点が存在することが必要なことから、例えば輝度変化の少ない平坦な部分等の、特徴点を検出できない部分では動きベクトルを検出することが困難であり、これにより画面全体から偏りなく動きベクトルを検出することが困難な欠点がある。
ところで動きベクトルを用いた画像処理では、多くの場合、画面全体から偏りなく動きベクトルを検出することが求められる。すなわち動きベクトルを用いた手振れ補正では、動きベクトルで背景の動きを検出し、この背景の動きから手振れ成分を検出して手振れ補正する。従って動きベクトルを用いた手振れ補正では、背景の動きを漏れなく検出することが求められ、このためには画面全体から偏りなく動きベクトルを検出することが求められる。また動きベクトルを用いた画像処理により侵入者を監視する場合には、動きベクトルに基づいて特異な動きを呈する部分を監視することになる。この場合も、漏れなく侵入者を見つけ出すために、画面全体から偏りなく動きベクトルを検出することが求められる。
しかしながらその一方で、これらの処理では、精度良く動きベクトルを検出することが求められる。
これに対して従来の動きベクトル検出手法のうち、ブロックマッチング法は、画面全体から偏りなく動きベクトルを検出することができる反面、動きベクトルの検出精度が低い欠点があり、時には動きベクトルを誤検出する場合もある。またKLT法は、動きベクトルの検出精度が高いものの、画面全体から偏りなく動きベクトルを検出することが困難な欠点がある。
特開2004−229084号公報
本発明は以上の点を考慮してなされたもので、画面全体から偏りなく高い精度で動きベクトルを検出することができる画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置を提案しようとするものである。
上記の課題を解決するため請求項1の発明は、画像処理方法に適用して、入力画像を複数のブロックに分割するブロック分割のステップと、先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定のステップと、前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出ステップと、前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正ステップとを有するようにする。
また請求項9の発明は、画像処理方法のプログラムに適用して、入力画像を複数のブロックに分割するブロック分割のステップと、先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定のステップと、前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出ステップと、前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正ステップとを有するようにする。
また請求項10の発明は、画像処理方法のプログラムを記録した記録媒体に適用して、前記画像処理方法のプログラムは、入力画像を複数のブロックに分割するブロック分割のステップと、先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定のステップと、前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出ステップと、前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正ステップとを有するようにする。
また請求項11の発明は、画像処理装置に適用して、入力画像を複数のブロックに分割するブロック分割部と、先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定部と、前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出部と、前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正部とを有するようにする。
請求項1、請求項9、請求項10又は請求項11の構成によれば、先頭フレームのブロックにそれぞれ一定数の特徴点を設定し、この特徴点の追跡により動きベクトルを検出するようにして、特徴点に偏りが発生すると、この偏りを低減するように、特徴点を追加することができる。従って画面全体から偏りなく動きベクトルを検出するようにして、特徴点の追跡による精度の高い動きベクトルを検出することができる。
本発明によれば、画面全体から偏りなく高い精度で動きベクトルを検出することができる。
以下、適宜図面を参照しながら本発明の実施例を詳述する。
(1)実施例の構成
図2は、本発明の実施例1の画像処理装置である手振れ補正装置を示すブロック図である。この手振れ補正装置1は、テレビジョンカメラ2で撮影したビデオ信号SVをダウンロードしてハードディスク装置(HDD)3に記録する。またこのハードディスク装置3に記録したビデオ信号SVを手振れ補正して外部機器に出力する。
ここでこの手振れ補正装置1において、中央処理ユニット(CPU)4は、リードオンリメモリ(ROM)5の記録に従ってランダムアクセスメモリ(RAM)6にワークエリアを確保してハードディスク装置3に記録された所定の処理プログラムを実行し、ビデオ信号SVの手振れ補正処理を実行する。またこの一連の処理において、モニタ9にグラフカルユーザーインターフェースを表示してユーザーの操作を受け付け、さらには手振れ補正結果を表示する。インターフェース(I/F)10は、このビデオ信号SVの入出力に係る入出力回路である。なおこの中央処理ユニット4が実行するプログラムは、この手振れ補正装置1に事前にインストールして提供するようにしてもよく、またこれに代えて光ディスク、磁気ディスク、メモリカード等の各種記録媒体に記録して提供するようにしてもよく、さらにはインターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
図3は、この中央処理ユニット4の処理手順を示すフローチャートである。中央処理ユニット4は、オペレータの操作に従ってこの処理手順を開始し、ステップSP1からステップSP2に移る。このステップSP2で、中央処理ユニット4は、ユーザーの指示したビデオ信号SVのファイルをテレビジョンカメラ2からダウンロードしてハードディスク装置3に格納する。
また中央処理ユニット4は、続くステップSP3のフレーム間カメラ動き算出処理により、ハードディスク装置3にダウンロードしたビデオ信号SVを処理し、テレビジョンカメラ2の動きをビデオ信号SVの画像上で示すカメラ動きベクトルMVCTを検出する。すなわち中央処理ユニット4は、ハードディスク装置3にダウンロードしたビデオ信号SVをIP変換して順次フレーム単位で読み出しながら、フレーム間で動きベクトルを検出する。なおここでIP変換は、インターレーススキャンからプログレッシブスキャンへの変換であり、ハードディスク装置3へのダウンロード時に実行してもよい。
さらに中央処理ユニット4は、検出した動きベクトルを処理して、図4に示すように、ビデオ信号SVによる入力画像21上でカメラの動きを示すカメラ動きベクトルMVCを検出する。なお図4は、入力画像21、処理結果である出力画像24におけるカメラの動きを水平方向のみについて示す図である。このカメラ動きベクトルMVCは、手振れとカメラワークとによるテレビジョンカメラの動きをビデオ信号SVの画像上で示すことになる。
さらに中央処理ユニット4は、続くステップSP4においてこの検出したカメラ動きベクトルMVCを処理して、カメラ動きベクトルMVCから手振れ成分を除いたカメラワークのみによるカメラ動きベクトルMVCTを計算する。具体的に、中央処理ユニット4は、連続するカメラ動きベクトルMVCをローパスフィルターで平滑化し、カメラ動きベクトルMVCTを計算する。中央処理ユニット4は、手振れとカメラワークとによるカメラ動きベクトルMVCと、カメラワークのみによるカメラ動きベクトルMVCTとをカメラ動き情報としてメモリに記録して保持する。中央処理ユニット4は、ビデオ信号SVの全フレームでカメラ動きベクトルMVC、MVCTを検出すると、続いてカメラ動きベクトルMVC、MVCTを用いて、手振れ補正用の補正ベクトルΔMVを順次計算する。また図5に示すように、ハードディスク装置3に記録したビデオ信号SVを順次読み出して補正ベクトルΔMVで動き補正し、出力画像24を生成する。なお中央処理ユニット4は、この動き補正処理によって入力画像21を割り当てることが困難となった部位(図5でハッチングで示す領域)については、黒レベルに設定し、違和感を防止する。なおこの場合、入力画像21を割り当てることが困難となった部位を切り捨て、出力画像24のサイズに合うようにスケーリングしてもよい。
中央処理ユニット4は、このステップSP4の処理により手振れ補正したビデオ信号を生成し、続くステップSP5で、このビデオ信号をモニタ装置等の外部機器に出力した後、ステップSP6に移ってこの処理手順を終了する。
この図2に示す処理手順の実行により、中央処理ユニット4は、図6に示す機能ブロックを構成する。なおここでフレーム間カメラ動き情報検出部22は、ステップSP3の処理に対応する機能ブロックであり、ビデオ信号SVによる入力画像21から手振れ及びカメラワークによるカメラ動きベクトルMVCを検出し、カメラ動きベクトルMVCをカメラ動き情報としてメモリ23に格納する。また手振れ補正補間部25は、ステップSP4の処理に対応する機能ブロックであり、メモリ23に格納したカメラ動き情報MVCを用いて補正ベクトルΔMVを計算して入力画像21を手振れ補正する。なお図6との対比により図7に示すように、ビデオ信号SVによる入力画像21の全フレームからカメラ動きベクトルMVCを検出した後、改めて入力画像21の手振れを補正する代わりに、カメラ動きベクトルMVCを検出した入力画像21をフレームメモリ26に保持して手振れ補正するようにして、所定フレーム数単位で、カメラ動きベクトルMVC、MVCTを検出しながら入力画像21を手振れ補正してもよい。
図8は、図3のステップSP3の処理手順を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP11からステップSP12に移り、動きベクトル算出処理を実行する。中央処理ユニット4は、この動きベクトル算出処理により、IP変換しながら入力画像21を入力し、KLT法を利用した特徴点の追跡により入力画像21の各部で動きベクトルを検出する。
また続くステップSP13における動きベクトル解析処理により、中央処理ユニット4は、ステップSP12で検出した動きベクトルを解析する。中央処理ユニット4は、この動きベクトルの解析において、ステップSP12で検出した1フレームの動きベクトルを集計して2次元のヒストグラムを求める。
また中央処理ユニット4は、このヒストグラムから、背景に相当する動きベクトルのグループを検出する。具体的に、中央処理ユニット4は、このヒストグラムから度数分布のピーク値の個所を検出することにより、最もサンプル数が多く集中している動きベクトルのグループを検出し、このグループを背景のグループとする。中央処理ユニット4は、続くステップSP14のカメラ動き計算処理で、この背景のグループに属する動きベクトルを平均値化し、手振れ及びカメラワークによるカメラ動きベクトルMVCを計算する。従ってこの実施例では、入力画像中で背景が最も大きな面積を占めるとの仮定に基づいて背景を検出し、この背景の動きからカメラ動きベクトルMVCを検出する。
続いて中央処理ユニット4は、ステップSP15に移り、全てのフレームの処理を完了したか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP16に移り、動きベクトルの検出対象を次フレームに設定した後、ステップSP12に戻り、動きベクトル検出処理を実行する。これに対してステップSP15で肯定結果が得られると、ステップSP15からステップSP17に移ってこの処理手順を終了する。
この図8の処理手順の実行により、中央処理ユニット4は、図9に示す機能ブロックを構成する。ここで動きベクトル算出部31は、ステップSP12の処理に対応する機能ブロックであり、入力画像21の各部で動きベクトルを検出する。また動きベクトル解析部32は、ステップSP13に対応する機能ブロックであり、動きベクトル算出部31で算出した動きベクトルを解析してヒストグラムを計算し、背景の動きベクトルを検出する。カメラ動き算出部33は、ステップSP14に対応する機能ブロックであり、手振れ及びカメラワークによるカメラ動きベクトルMVCを計算する。
(1−1)動きベクトル算出処理
図10は、図8におけるステップSP12の動きベクトル算出処理を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP21からステップSP22に移る。ここで中央処理ユニット4は、ハードディスク装置3から1フレーム分のビデオ信号SVを入力して現フレームに設定する。
また続くステップSP23において、中央処理ユニット4は、ブロックリストを作成する。ここで図11(A)に示す入力画像21との対比により図11(B)に示すように、中央処理ユニット4は、この動きベクトル算出処理において、入力画像を水平方向及び垂直方向に複数のブロックに分割し、各ブロックに設定した特徴点の追跡により動きベクトルを検出する。より具体的に、中央処理ユニット4は、1つのブロックにNfp個の特徴点を設定し、1フレームでNtot個の特徴点を設定する。入力画像21がVGA(Video Graphics Array)サイズの場合、各ブロックの特徴点数Nfp及び1フレームの特徴点数Ntotは、それぞれ20個及び300個に設定される。従って中央処理ユニット4は、入力画像21がVGAサイズの場合、この入力画像を水平方向及び垂直方向にそれぞれ5分割及び3分割して15(=300/20)個のブロックを設定する。なお図面上では、水平方向及び垂直方向に6個及び4個に分割して示す。
ブロックリストは、このようにして設定した各ブロックに関する情報を記録したリストであり、この実施例では各ブロックの位置情報、大きさの情報、特徴点の数等が含まれる。なおここで各ブロックの位置情報は、例えば各ブロックのラスタ操作開始端の座標Ci(x、y)であり、大きさの情報は、水平方向及び垂直方向の画素数Si(x、y)である。なおここで(x、y)は、ラスタ走査の開始端のブロックを基準にして水平方位及び垂直方向のブロックの位置を示す変数である。
従ってビデオ信号SVの先頭1フレームを処理する場合、ブロックリストには、分割した各ブロックに何ら特徴点が設定されていないことが記録される。これに対して先頭1フレーム以外では、現フレームで各ブロックに含まれている特徴点の数がそれぞれ各ブロックに記録されてブロックリストが作成される。
なお中央処理ユニット4は、先頭1フレーム以外のフレームでは、前フレームのブロックリストのコピーを取り、このブロックリストの内容を更新してブロックリストを作成する。
続いて中央処理ユニット4は、ステップSP24に移り、現フレームが初期フレームか否か、すなわち現フレームが先頭1フレームか否か判断する。
ここで肯定結果が得られると、中央処理ユニット4は、ステップSP24からステップSP25に移り、特徴点選択処理を実行する。ここで特徴点選択処理は、全体の特徴点数が1フレームの特徴点数Ntotを越えない範囲で、特徴点数の少ないブロックから順次特徴点を設定する処理である。従って初期フレームでは、何れのブロックにも特徴点が設定されておらず、また全体の特徴点数も0個であることから、中央処理ユニット4は、各ブロックにそれぞれNfp個の特徴点を設定する。従って初期フレームの場合、特徴点選択処理は、各ブロックに一定数Nfpの特徴点を設定する特徴点初期設定処理を構成する。
これに対して先頭1フレーム以外のフレームでは、既に特徴点が存在することから、中央処理ユニット4は、このステップSP25において、このように全体の特徴点数が1フレームの特徴点数Ntotを越えない範囲で、特徴点数の少ないブロックから順次特徴点を設定することにより、特徴点の分布の偏りを補正する。すなわち例えば図12に示すように、矢印Aにより示すように画面左側から右側に移動する人物を追跡するように、矢印Bにより示すようにカメラ全体をパンさせたとする。この場合、図12との対比により図14に示すように、画面左隅の符号PAで示す特徴点は、カメラのパンにより現フレームで検出できなくなる。またこの画面左隅では、それまで人物に隠れていた背景が現れることなる。従ってこの画面左隅のブロックでは、続くフレームで特徴点を追跡できなくなり、続くフレームを現フレームとして処理する際に特徴点の数が減少することになる。
また符号PBで示す画面中央の特徴点は、人物の移動により人物によって隠れるようになり、これらの特徴点も現フレームでは検出できなくなる。またこの場合、人物の移動によりこの人物で隠される部分のブロックでは、人物の移動に伴って前フレームの特徴点が含まれるようになる。その一方で、カメラのパンにより背景側の特徴点が、この人物で隠された部分のブロックに含まれるようになり、この部分のブロックでは前フレームより特徴点が増大することになる。また画面右隅のブロックも、それまで前フレームでは画面の外側に位置していた背景が現フレームで撮影されることになることから、特徴点の数が減少することになる。これにより特徴点の空間的な分布に偏りが生じ、動きベクトルの検出に偏りが発生する。
そこで中央処理ユニット4は、追跡困難となった特徴点を削除し、またKLT法による特徴点の追跡により隣接する特徴点との距離が短くなった特徴点を削除し、これらの削除により1フレームの特徴点数Ntotに不足する特徴点を追加設定するようにして、この特徴点の追加設定において、特徴点の分布の偏りを補正する。具体的に、図13との対比により図14に示すように、例えば各ブロックの特徴点数Nfpが値2の場合に、特徴点数が1以下のブロックについて、中央処理ユニット4は、図15に示すように、特徴点数を追加設定する。これにより各ブロックは、特徴点数が元の数2に近づくように特徴点が追加設定され、特徴点の分布の偏りが補正される。なおこの図15では、特徴点を追加設定するブロックをハッチングにより示す。なおKLT法による隣接する特徴点との距離が短くなった特徴点の削除は、事前に、ステップSP28の特徴点追跡、動きベクトル計算処理により実行する。この特徴点の削減手法は、現フレームに一定距離以上近接した特徴点が複数存在する場合、特徴度の低い側の特徴点を削除する処理である。特徴度については、特徴点抽出処理で詳述する。
中央処理ユニット4は、処理対象画像をブロックに分割して各ブロックに特徴点を設定して動きベクトルを検出するようにして、この特徴点選択処理により各ブロックで変化する特徴点数を補正し、特徴点の分布の偏りを防止する。中央処理ユニット4は、このステップSP25の処理を実行すると、ステップSP26に移り、現フレームを前フレームに設定した後、ステップSP27に移ってこの処理手順を終了する。
これに対して先頭1フレーム以外では、ステップSP24で否定結果が得られることにより、中央処理ユニット4は、ステップSP24からステップSP28に移る。
このステップSP28で、中央処理ユニット4は、前フレームの各ブロックに設定されている特徴点を追跡して現フレーム上で対応する特徴点を検出する。また図13に示すように、この対応する特徴点と前フレームの特徴点との間の差分値を検出することにより、各特徴点の動きベクトルMVを計算し、この動きベクトルMVをメモリ23に記録して保持する。また特徴点の追跡により、現フレームに一定距離以上近接した特徴点が存在する場合、特徴度の低い側の特徴点を削除する。なお特徴度に代えて、特徴点としての信頼度を示す信頼度を基準にして削除してもよく、ランダムに削除してもよい。また追跡困難な特徴点についても、削除する。
続いて中央処理ユニット4は、ステップSP25に移り、各ブロックにおける特徴点の分布の偏りを補正した後、ステップSP26の処理手順を実行し、ステップSP27に移ってこの処理手順を終了する。
この図10に示す処理手順の実行により、中央処理ユニット4は、図1に示す機能ブロックを構成する。ここでフレーム読み込みモジュール41は、図10のステップSP22に対応する機能ブロックであり、新たに取得した処理対象のフレームを現フレームに設定する。ブロック分割モジュール42は、ステップSP23に対応する機能ブロックであり、現フレームの画像を複数のブロックに分割し、ブロックリストを作成する。特徴点総合モジュール44は、ステップSP25及びSP28に対応する機能ブロックであり、特徴点抽出手段43は、特徴度に基づいて特徴点を選択する機能ブロックである。反復準備モジュール45は、ステップSP26に対応する機能ブロックである。なおここで特徴点情報は、各特徴点の現フレームにおける座標、動きベクトル等の情報である。
また特徴点総合モジュール44は、図16に示すように、ステップSP28における特徴点追跡処理と動きベクトル計算処理とにそれぞれ対応する特徴点追跡手段46及び特徴点動きベクトル算出手段47の機能ブロックと、ステップSP25の処理に対応する特徴点選択手段48の機能ブロックとを構成する。この実施例ではこの特徴点総合モジュール44における処理に、KLT法が利用される。
図17及び図18は、図10のステップSP25で説明した特徴点選択処理を詳細に示すフローチャートである。中央処理ユニット4は、この処理手順を開始すると、ステップSP31からステップSP32に移る。ここで中央処理ユニット4は、現フレームの特徴点数が1フレームの特徴点数Ntot未満か否か判断する。ここで中央処理ユニット4は、特徴点追跡、動きベクトル計算処理で特徴点が削除されている場合、このステップSP32で肯定結果を得ることができる。
これにより中央処理ユニット4は、このステップSP32で否定結果が得られると、ステップSP32からステップSP33に移ってこの処理手順を終了する。
これに対してステップSP32で肯定結果が得られると、中央処理ユニット4は、ステップSP32からステップSP34に移る。ここで中央処理ユニット4は、ブロックリストから所定の項目をコピーして、特徴点選択処理の作業用リストを作成する。ここでこの作業用リストは、各ブロックを特定する情報、各ブロックの特徴点数、全体の特徴点数を記録して作成される。中央処理ユニット4は、メモリ23に記録して保持した特徴点の座標値を判定してこの作業用リストを作成する。
中央処理ユニット4は、作業用リストを作成すると、ステップSP35に移り、特徴点の数が当初の設定数であるNfp個以上のブロックを、この作業用リストから削除し、このブロックを処理対象から除外する。これにより図19(A)に示すように、例えばブロックb1〜b9の特徴点数がそれぞれ10、0、8、1、5、4、3、5、1個の場合であって、当初の設定数Nfpが6個の場合、図19(B)に示すように、ブロックb1、b3の記録を作業用リストから削除する。なおこの例では、総合の個数Ntotを60個とする。従って現在、23個の特徴点が全体として不足していることになる。なお当然のことながら先頭1フレームでは、各ブロックの特徴点数は、0個であり、この場合全体として特徴点が60個不足していることになる。
続いて中央処理ユニット4は、ステップSP36に移り、この作業用リストに記録されたブロックを、特徴点数でグループ化し、ソート処理により特徴点数が少ないグループの順に配列を変更する。中央処理ユニット4は、この特徴点数が少ないグループの順に配列を変更することにより、処理の優先順位を設定する。すなわち図19(B)の例によれば、図19(C)に示すように、特徴点数が0個のブロックb2による第1のグループG1、特徴点数が1個のブロックb4、b9による第2のグループG2、特徴点数が3個のブロックb7による第3のグループG3、特徴点数が4個のブロックb6による第4のグループG4、特徴点数が5個のブロックb5、b8による第5のグループG5にグループ化する。
続いて中央処理ユニット4は、ステップSP37に移り、各グループ内の配列をランダマイズする。続いて中央処理ユニット4は、ステップSP38に移り、現在の特徴点数が総合の個数Ntot以上か否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP38からステップSP33に移ってこの処理手順を終了する。
これに対してステップSP38で否定結果が得られると、ステップSP38からステップSP39に移る。
このステップSP39で、中央処理ユニット4は、作業用リストの先頭に記録されているブロックを特徴点の設定対象に設定する。また続くステップSP40において、この設定対象のブロックに特徴点を1つ設定する。なおこの特徴点の設定は、特徴点抽出処理により1つの特徴点を抽出して実行される。
続いて中央処理ユニット4は、ステップSP41に移り、当該ブロックの特徴点数が当初の設定数Nfpとなったか否か判断する。ここで特徴点を1個追加したにも係わらず、特徴点数が当初の設定数Nfpより小さい場合、中央処理ユニット4は、ステップSP41で否定結果が得られ、ステップSP41からステップSP42に移る。
このステップSP42で、中央処理ユニット4は、特徴点の追加設定に対応するように当該ブロックの特徴点数を更新し、作業用リストにおけるグループ分けを更新する。従って当該ブロックは、特徴点の追加設定により、特徴点数が次のグループに属するように作業用リストの記録が更新される。中央処理ユニット4は、この特徴点数が次のグループに属するように、当該グループの記録を作業用リスト上で更新する際に、当該ブロックについては、次のグループの末尾に配置する。従って図19(C)の例では、図19(D)に示すように、それまで特徴点が0個の第1のグループG1に属していたブロックb2に特徴点を追加設定し、このブロックb2の記録を、続く特徴点数が1個の第2のグループG2の末尾に記録する。
このようにして1つのブロックに特徴点を1個追加設定すると、中央処理ユニット4は、ステップSP38に戻る。これに対してステップSP41で肯定結果が得られると、この場合、当該ブロックの記録を作業用リストから削除した後、ステップSP38に戻る。これにより中央処理ユニット4は、全体の特徴点数が総合の個数Ntotとなるまで、特徴点数が少ないグループからランダムに、順次ブロックを選択して特徴点を追加設定する。
従って図19(D)の例では、続く第2のグループG2の先頭ブロックb4に特徴点を追加設定し、このブロックb4の記録を続く第3のグループG4のブロックb7の次に配置する。
なお中央処理ユニット4は、ステップSP40の処理により特徴点抽出処理で特徴点を抽出できなかった場合、ステップSP41からステップSP43に移り、当該ブロックを作業用リストから削除してステップSP38に戻る。
この図17及び図18の処理により、中央処理ユニット4は、図20に示す機能ブロックを構成する。ここでランダムシャッフル49は、作業リストにおける各グループの配列をランダマイズさせる機能ブロックである。
図21は、特徴点抽出処理を示すフローチャートである。なお中央処理ユニット4は、この特徴点抽出処理を実行するために、別途、各フレームで特徴点リスト、特徴点マップを作成する。ここで特徴点リストは、特徴点の候補のリストであり、特徴点の候補の特徴度と座標値のリストで形成される。ここで特徴度は、特徴点らしさを示す変数である。中央処理ユニット4は、KLT法により入力画像の各画素で特徴度を検出し、所定値以上の特徴度を有する画素の座標値を検出して特徴点の候補を選択する。さらにこの座標値を特徴度の大きい順にソートして特徴点リストを作成する。
具体的に、中央処理ユニット4は、次式の演算処理により得られる固有値α1、α2から値の小さい固有値を選択して特徴度とする。なおここでIxは、画素値の水平方向の微分値であり、Iyは、画素値の垂直方向の微分値である。また(1)式における演算範囲は、処理対象の画素を中心にした垂直方向、水平方向に所定範囲であり、この所定範囲は、例えば7×7画素の範囲である。この(1)式の処理により、中央処理ユニット4は、特徴点近辺における画素値の勾配のばらつきを計算し、このばらつきの激しさを示す変数を特徴度に設定する。従って例えば輝度変化の無い平坦な部分では、特徴点リストに特徴度が記録されないことになる。なおここでこの(1)式における(x、y)は、画素の座標である。
Figure 2007334625
これに対して特徴度マップは、入力画像の画素の配列に対応するように特徴度を配列したマップである。特徴度マップは、特徴点リストに登録されていない、一定値以上、特徴度が小さい画素については、特徴度が値0に丸めて記録される。特徴点リストは、特徴点に適した画素を優先的に選択するために使用され、特徴度マップは、特徴点リストで選択した候補を特徴点と設定する際の、周囲の状況を判定するために使用される。
中央処理ユニット4は、特徴点選択処理(図18、ステップSP40)からの要求によりこの処理手順を開始してステップSP51からステップSP52に移り、特徴点リストが空か否か判断する。ここで肯定結果が得られると、中央処理ユニット4は、ステップSP52からステップSP53に移り、特徴点の抽出不成功を特徴点選択処理に通知した後、ステップSP54に移ってこの処理手順を終了する。
これに対して特徴点リストに特徴点の候補が残っている場合、中央処理ユニット4は、ステップSP52で否定結果が得られ、ステップSP55に移る。ここで中央処理ユニット4は、特徴点リストの先頭に記録された特徴点の候補を選択する。また続くステップSP56において、ブロックリストを参照し、当該特徴点の候補が、特徴点を設定するブロックに存在するか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP56からステップSP57に移り、さらに特徴点の候補が特徴点リストに存在するか否か判断する。ここで否定結果が得られると、中央処理ユニット4は、ステップSP53に移って特徴点の抽出不成功を特徴点選択処理に通知した後、ステップSP54に移ってこの処理手順を終了する。
これに対してさらに特徴点の候補が特徴点リストに残っている場合、中央処理ユニット4は、ステップSP57で肯定結果が得られ、ステップSP57からステップSP58に移る。ここで中央処理ユニット4は、特徴点リストに記録された次の候補を選択し直し、ステップSP56に戻る。これにより中央処理ユニット4は、特徴点リストの記録を特徴度の高い順に順次スキャンして、特徴点を設定するブロックに属する特徴点の候補を検出する。
またこのような特徴点の候補が検出されると、中央処理ユニット4は、ステップSP56で肯定結果が得られ、ステップSP56からステップSP59に移る。ここで中央処理ユニット4は、特徴点追跡、動きベクトル計算処理で追跡に成功して、現フレームに既に存在する特徴点が、この候補を中心にした周囲、一定距離Δfpの範囲に存在するか否か判断する。ここで肯定結果が得られると、この場合、既存の特徴点の近傍に、特徴点を設定してしまうことになる。従ってこのステップSP59で肯定結果が得られると、中央処理ユニット4は、ステップSP57に移り、さらに特徴点の候補が特徴点リストに残っているか否か判断する。
これに対して特徴点の候補の周囲、一定の範囲に既存の特徴点が存在しない場合、中央処理ユニット4は、ステップSP59で否定結果が得られ、ステップSP60に移る。ここで中央処理ユニット4は、この特徴点候補の選択に対応するように特徴点リスト、特徴度マップの記録を更新する。具体的に、中央処理ユニット4は、当該特徴点の候補を中心にした、一定距離Δfpの範囲で、特徴度マップにおける特徴度を無効に設定する。なおこの無効に設定する処理は、特徴度マップ上でこの範囲の特徴度を負の値に設定して実行される。またこの無効の設定に対応するように、この一定範囲に含まれている特徴点の候補を特徴点リストから除外する。これにより中央処理ユニット4は、選択した特徴点の候補の周囲、一定の距離Δfpの範囲では、さらなる特徴点を選択できないように設定する。
続いて中央処理ユニット4は、ステップSP61に移り、ここで当該特徴点の候補を特徴点選択処理に通知し、ステップSP54に移ってこの処理手順を終了する。なお中央処理ユニット4は、この図21のステップSP61で通知された特徴点の候補を、図18のステップSP40で特徴点に設定する。
この図21の処理により、中央処理ユニット4は、図22に示すように、特徴点リスト52、特徴度マップ53を用いて特徴点を検出する特徴点抽出手段43を構成する。
なおステップSP59の処理において、周囲に特徴点が存在するか否かを判定するためには、この図21の処理手順を実行する毎に、既存の特徴点の記録を検索することになる。従ってこの図21の処理を繰り返す場合に、中央処理ユニット4は、処理の負担が大きくなる。従ってこの既存の特徴点の情報を特徴度マップ、特徴点リストの記録に反映させるようにして、処理の負担を軽減するようにしてもよい。具体的には、ステップSP60における特徴点リスト、特徴度マップの更新処理と同一の処理を、既存の特徴点に適用することが考えられ、このようにすれば処理を高速度化することができる。
(2)実施例の動作
以上の構成において、この手振れ補正装置1では(図2)、テレビジョンカメラ2で撮影したビデオ信号SVがハードディスク装置3にダウンロードされた後、ハードディスク装置3に格納された処理プログラムに従った中央処理ユニット4の処理により、手振れ補正処理されて外部機器に出力される(図3〜図7)。
この手振れ補正処理において、ビデオ信号SVは、IP変換処理されてフレーム単位で処理され、連続するフレームの各部で動きベクトルが検出される。またこの動きベクトルの解析により、手振れとカメラワークとによるカメラの動きを入力画像上で表すカメラ動きベクトルMVCが検出され、またさらにこのカメラ動きベクトルMVCの解析により、カメラワークのみによるカメラの動きを入力画像上で表すカメラ動きベクトルMVCTが検出される。ビデオ信号SVは、これらのカメラ動きベクトルMVC、MVCTに基づいて、手振れ補正用の補正ベクトルΔMVが順次計算され、この補正ベクトルΔMVで各フレームの動きが補正されて手振れ補正処理される(図8、図9)。
この手振れとカメラワークとによるカメラ動きベクトルMVCの検出では、入力画像中で背景が最も大きな面積を占めるとの仮定に基づいて、入力画像の各部で検出した動きベクトルでヒストグラムが作成され、このヒストグラム上で、最もサンプル数の集中する動きベクトルのグループが背景のグループとして検出される。またこの背景のグループに属する動きベクトルが平均値化されて、カメラ動きベクトルMVCTが検出される。
従ってこの実施例では、入力画像における各部の面積に比例するように、入力画像の各部から動きベクトルが均等に検出されないと、正しく背景を検出できなくなり、正しくカメラワークのみによるカメラ動きベクトルMVCTを検出できなくなる。そこで入力画像中で偏りなく、万遍に、動きベクトルを検出することが必要になる。
そこでこの手振れ補正装置1では、KLT法の特徴点抽出、追跡法を利用して入力画像の各部で動きベクトルを検出するようにして、ビデオ信号SVによる入力画像の各フレームが複数ブロックに分割される(図10、ステップSP23)。また先頭フレームでは各ブロックにそれぞれ一定数Nfpの特徴点が設定される(図10、ステップSP25)。また先頭フレームに続く連続するフレームの入力画像において、この特徴点の追跡により動きベクトルが検出される(図10、ステップSP28)。またこの続く連続するフレームの入力画像において、追跡困難な特徴点、隣接する特徴点に一定距離以上接近した特徴点が削除される。また各ブロックの特徴点の数が初めに設定した一定数Nfpとなるように、各ブロックに特徴点が追加設定され(図10、ステップSP25)、特徴点の分布の偏りが補正される(図10、図28)。
この一連の処理により、この手振れ補正装置1では、背景が前景により遮蔽された場合、背景の一部がフレームアウトした場合等にあっても、概ね初めに設定した特徴点の数Nfpだけ各ブロックから動きベクトルを検出することができ、これにより偏り無く動きベクトルを検出することができる(図1、図10〜図16)。またKLT法の特徴点抽出、追跡法を利用して動きベクトルを検出することから、ブロックマッチング法による場合に比して高い精度で動きベクトルを検出することができる。これにより画面全体から偏りなく高い精度で動きベクトルを検出することができる。
すなわちビデオ信号SVによる入力画像は、KLTの追跡法により、連続するフレームで各特徴点が追跡され、2つの特徴点が一定距離以上、近づくと、特徴点らしさを示す特徴度の低い側の特徴点が削除され、これにより特徴点の集中が防止されて特徴点の偏りが防止される(図10、ステップSP28)。またこのとき追跡困難な特徴点も削除される。
またビデオ信号SVによる入力画像は、各フレームで、特徴点らしさを示す特徴度の高い順に、各画素の座標値が対応する特徴度と共に順次リスト化され、特徴点の候補を特徴度の高い順に示す特徴点リストが作成される(図22)。また入力画像の画素の配列に対応するように特徴度を配列した特徴点マップが作成される(図22)。
ビデオ信号SVによる入力画像は、先頭フレーム以外の連続するフレームにおいて、特徴点の削除により当初の設定数に対して不足する特徴点が発生すると、初めに設定した特徴点の数Nfpに特徴点数が満たないブロックに、特徴度が高い順に特徴点が追加設定される(図21、ステップSP55−SP56−SP57−SP55)。またこのとき、既存の特徴点に対して一定距離以上離れていることが確認される(図21、ステップSP59)。
これにより特徴点の密度の低下が防止されて特徴点の偏りが防止される。このとき既存の特徴点から一定の距離だけ離れている個所で、特徴度が大きな順に特徴点を追加することにより、追加して設定した特徴点についても、KLTの追跡法により追跡して、十分に高い精度の動きベクトルを検出することができる。
より具体的に、手振れ補正装置1では、分割したブロックの情報を記録したブロックリストから、ブロック毎の特徴点数を示す作業用リストが作成され(図17、ステップSP34)、初めに設定した特徴点の数Nfpを特徴点数が満たすブロックがこの作業用リストから除外され(図17、ステップSP35)、これにより一定数Nfpに特徴点が不足するブロックが検出される。
またこの作業用リストに記録されたブロックが、不足する特徴点数毎にグループ化され、不足する特徴点数が順次少なくなるように、ソート処理により各グループ内の配列が変更される(図17、ステップSP36)。これによりこの手触れ補正装置1では、グループ単位で、特徴点を追加する処理順序が作業用リストに設定される。手触れ補正装置1では、作業用リストに記録された処理順序に従って、順次、不足する特徴点が対応するブロックに追加設定される。
これによりこの手振れ補正装置1では、種々の条件で、この追加設定の処理を制限して処理の高速化を図るようにしても、真に特徴点が不足するブロックに優先的に特徴点を設定して、動きベクトルの偏りを防止することができる。またこのように特徴点の不足するブロックをリスト化して、ソートすることにより、簡易な処理で処理順序を設定することができる。
具体的に、この手振れ補正装置1では、この処理を制限する条件が、1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するとの条件であり、これにより実用上十分に、動きベクトルの偏りを防止して、特徴点の追加設定処理を必要最小限度に止めることができ、その結果、処理を簡略化して動きベクトルの偏りを防止することができる。
またこのとき作業用リストの各グループでは、ブロックの処理順序がランダマイズされ、これにより1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するようにして、例えば画面左側等の、特定の個所への偏った特徴点の追加を防止することができ、これによっても動きベクトルの偏りを防止することができる。
またこの特徴点の追加は、1個、特徴点を追加する毎に、作業用リストが更新され、これによっても1フレームの総合の特徴点数が、当初の設定値Ntotを越えない範囲で、特徴点を追加するようにして、特徴点の偏りを防止して、動きベクトルの偏りを防止することができる。またランダマイズした配列の末尾に、特徴点を追加設定したブロックの記録を変更することによっても、特徴点の偏りを防止して、動きベクトルの偏りを防止することができる。
(3)実施例の効果
以上の構成によれば、処理対象画像を複数ブロックに分割し、特徴点の分布の偏りを補正しながら特徴点を追跡して動きベクトルを検出することにより、画面全体から偏りなく高い精度で動きベクトルを検出することができる。
また既存の特徴点から一定の距離だけ離れている個所で、特徴度が大きな順に入力画像の画素を選択して特徴点を追加することにより、追加して設定した特徴点についても、十分に高い精度で動きベクトルを検出することができる。
また特徴点の不足するブロックを検出して、不足する特徴点数に応じて処理順序を設定し、この処理順序で特徴点を追加設定することにより、種々の条件で、この追加設定の処理を制限して処理の高速化を図るようにしても、真に特徴点が不足するブロックに優先的に特徴点を設定して、動きベクトルの偏りを防止することができる。
またこの特徴点の不足するブロックをリスト化して、ソートにより処理順序を設定することにより、簡易な処理で処理順序を設定することができる。
また1フレームにおける特徴点の数が一定の値を越えない範囲で、より具体的には当初設定した総合の特徴点数を越えない範囲で、特徴点を追加することにより、実用上十分に、動きベクトルの偏りを防止して、特徴点の追加設定処理を必要最小限度に止めることができる。
またこのとき特徴点の不足数が同一であるブロックが複数存在する場合に、ランダムにブロックを選択して特徴点を追加することにより、例えば画面左側等の、特定の個所への偏った特徴点の追加を防止することができ、これによっても動きベクトルの偏りを防止することができる。
またこのようにして検出される動きベクトルを用いて画像処理することにより、適切に画像処理することができる。より具体的に、このようにして検出される動きベクトルを用いて手振れ補正することにより、背景の誤検出による動きの誤検出を有効に回避して、正しく手振れ補正することができる。
なお上述の実施例においては、当初設定した総合の特徴点数を1フレームの特徴点数が越えない範囲で、特徴点を追加設定する場合について述べたが、本発明はこれに限らず、この制限の範囲を当初設定した総合の特徴点数とは異なる一定数を越えない範囲としてもよく、またさらには十分な処理速度を確保することができる場合には、このような1フレームの特徴点数により処理の制限を取り除くようにしてもよい。なおこのように1フレームの特徴点数により処理の制限を取り除いた場合には、特徴点が不足するブロックの全てに、不足する数の特徴点を設定することになる。従ってこの場合は、特徴点の不足するブロックにおける処理順序の設定、グループ内のランダマイズ処理等は、省略することができる。
また上述の実施例においては、KLTの特徴点追跡法によって特徴点を削除して特徴点の集中を防止する場合について述べたが、本発明はこれに限らず、別途、特徴点数を判定して特徴点を削除し、特徴点の集中を防止するようにしてもよい。
また上述の実施例においては、KLT法により特徴点を追跡して動きベクトルを検出する場合について述べたが、本発明はこれに限らず、KLT法以外の特徴点の追跡法、特徴点を用いた動きベクトル検出手法を広く適用することができる。
また上述の実施例においては、動きベクトルを用いて手振れ補正する場合について述べたが、本発明はこれに限らず、例えば侵入者を監視する場合、ビデオ信号を動き補正する場合等、動きベクトルを用いた種々の画像処理に広く適用することができる。
本発明は、画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置に関し、例えば動きベクトルを用いた手振れ補正処理に適用することができる。
本発明の実施例1の手触れ補正装置の手振れ補正処理の機能ブロック図である。 本発明の実施例1の手触れ補正装置を示すブロック図である。 図2の手振れ補正装置における中央処理ユニットの処理手順を示すフローチャートである。 図3の処理手順による手振れ補正の説明に供する特性曲線図である。 補正ベクトルによる補正を示す略線図である。 図3の処理手順による機能ブロック図である。 図6とは異なる例による機能ブロック図である。 図3の処理手順におけるフレーム間カメラ動き算出処理を詳細に示すフローチャートである。 図8の処理手順による機能ブロック図である。 図8の処理手順における動きベクトル算出処理を詳細に示すフローチャートである。 図10の処理手順の説明に供する略線図である。 特徴点の設定の説明に供する略線図である。 特徴点の追跡による動きベクトル検出の説明に供する略線図である。 特徴点の増減の説明に供する略線図である。 特徴点の追加の説明に供する略線図である。 図10の処理手順による機能ブロック図である。 図10の処理手順における特徴点選択を詳細に示すフローチャートである。 図17の続きを示すフローチャートである。 図17の処理手順の説明に供する略線図である。 図17及び図18の処理手順による機能ブロック図である。 図18の処理手順における特徴点抽出処理を詳細に示すフローチャートである。 図21の処理手順による機能ブロック図である。
符号の説明
1……手振れ補正装置、2……テレビジョンカメラ、4……中央処理ユニット、22……フレーム間カメラ動き算出部、25……手振れ補正補間部、31……動きベクトル算出部、32……動きベクトル解析部、33……カメラ動き算出部、43……特徴点抽出手段、44……特徴点総合モジュール、46……特徴点追跡手段、47……特徴点動きベクトル算出手段

Claims (11)

  1. 連続する入力画像の各部で動きベクトルを検出する画像処理方法において、
    前記入力画像を複数のブロックに分割するブロック分割のステップと、
    先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定のステップと、
    前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出ステップと、
    前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正ステップとを有する
    ことを特徴とする画像処理方法。
  2. 前記特徴点数の補正ステップは、
    前記特徴点が不足する前記ブロックにおいて、既存の特徴点から一定の距離だけ離れている個所で、特徴度が大きな順に前記入力画像の画素を選択して前記特徴点を追加する
    ことを特徴とする請求項1に記載の画像処理方法。
  3. 前記動きベクトル検出ステップは、
    前記連続するフレームで前記特徴点を追跡する特徴点追跡ステップと、
    前記特徴点追跡ステップの追跡結果に基づいて、前記動きベクトルを検出する動きベクトルの検出処理ステップとを有する
    ことを特徴とする請求項1に記載の画像処理方法。
  4. 前記特徴点数の補正ステップは、
    前記特徴点が不足するブロックを検出する不足ブロックの検出ステップと、
    前記特徴点が不足する数に応じて、前記不足ブロックの検出ステップで検出した前記ブロックに処理順序を設定する処理順序設定のステップと、
    前記処理順序で、前記特徴点が不足するブロックに、前記特徴点を追加する特徴点の追加ステップとを有する
    ことを特徴とする請求項1に記載の画像処理方法。
  5. 前記特徴点数の補正ステップは、
    前記ブロックをそれぞれ特定する情報と、前記特徴点が不足する数とのリストを作成するリスト作成のステップと、
    前記リストから前記特徴点の数が一定数以上のブロックの記録を削除するブロックの削除ステップと、
    前記ブロックの削除ステップで処理した前記ブロックの記録をソートして、前記特徴点が不足する数に応じて、前記特徴点が不足するブロックに処理順序を設定する処理順序設定のステップと、
    前記処理順序で、前記特徴点が不足するブロックに、前記特徴点を追加する特徴点の追加ステップと、
    前記特徴点の追加のステップに対応するように、前記リストの内容を更新するリスト更新ステップとを有する
    ことを特徴とする請求項1に記載の画像処理方法。
  6. 前記特徴点数の補正ステップは、
    1フレームにおける前記特徴点の数が一定の値を越えない範囲で、前記特徴点数が不足するブロックに前記特徴点を追加し、
    前記特徴点の追加ステップは、
    前記特徴点が不足する数が同一であるブロックが複数存在する場合には、ランダムにブロックを選択して前記特徴点を追加する
    ことを特徴とする請求項5に記載の画像処理方法。
  7. 前記動きベクトルに基づいて、前記入力画像を処理する画像処理のステップを有する
    ことを特徴とする請求項1に記載の画像処理方法。
  8. 前記画像処理が、
    前記入力画像の手振れを補正する処理である
    ことを特徴とする請求項7に記載の画像処理方法。
  9. 演算処理手段による実行により、連続する入力画像の各部で動きベクトルを検出する画像処理方法のプログラムにおいて、
    前記入力画像を複数のブロックに分割するブロック分割のステップと、
    先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定のステップと、
    前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出ステップと、
    前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正ステップとを有する
    ことを特徴とする画像処理方法のプログラム。
  10. 演算処理手段による実行により、連続する入力画像の各部で動きベクトルを検出する画像処理方法のプログラムを記録した記録媒体において、
    前記画像処理方法のプログラムは、
    前記入力画像を複数のブロックに分割するブロック分割のステップと、
    先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定のステップと、
    前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出ステップと、
    前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正ステップとを有する
    ことを特徴とする画像処理方法のプログラム。
  11. 連続する入力画像の各部で動きベクトルを検出する画像処理装置において、
    前記入力画像を複数のブロックに分割するブロック分割部と、
    先頭フレームの前記入力画像において、前記ブロックにそれぞれ一定数の特徴点を設定する特徴点初期設定部と、
    前記先頭フレームに続く連続するフレームの前記入力画像において、前記特徴点を追跡して前記動きベクトルを検出する動きベクトル検出部と、
    前記連続するフレームの前記入力画像において、前記特徴点の分布の偏りを補正する特徴点数の補正部とを有する
    ことを特徴とする画像処理装置。


JP2006165553A 2006-06-15 2006-06-15 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置 Pending JP2007334625A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006165553A JP2007334625A (ja) 2006-06-15 2006-06-15 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006165553A JP2007334625A (ja) 2006-06-15 2006-06-15 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置

Publications (1)

Publication Number Publication Date
JP2007334625A true JP2007334625A (ja) 2007-12-27

Family

ID=38934052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006165553A Pending JP2007334625A (ja) 2006-06-15 2006-06-15 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置

Country Status (1)

Country Link
JP (1) JP2007334625A (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010093343A (ja) * 2008-10-03 2010-04-22 Nikon Corp カメラワーク最適化プログラム、撮像装置及びカメラワーク最適化方法
EP2180695A2 (en) * 2008-10-23 2010-04-28 Samsung Electronics Co., Ltd. Apparatus and method for improving frame rate using motion trajectory
JP2010204718A (ja) * 2009-02-27 2010-09-16 Fujitsu Semiconductor Ltd 画像処理プログラム、画像処理装置および画像処理方法
KR20110032157A (ko) * 2009-09-22 2011-03-30 삼성전자주식회사 저해상도 비디오로부터 고해상도 비디오를 생성하는 방법
JP2012022651A (ja) * 2010-07-16 2012-02-02 Canon Inc 画像処理装置、画像処理方法、およびプログラム
JP2012079004A (ja) * 2010-09-30 2012-04-19 Dainippon Printing Co Ltd 特徴点抽出装置、画像処理装置、特徴点抽出方法、及び特徴点抽出プログラム等
JP2012150826A (ja) * 2012-03-09 2012-08-09 Casio Comput Co Ltd 画像合成装置及びプログラム
JP2013524590A (ja) * 2010-03-30 2013-06-17 テスト アクチエンゲゼルシャフト 画像処理方法および熱画像カメラ
JP2014099087A (ja) * 2012-11-15 2014-05-29 Olympus Corp 特徴点検出装置およびプログラム
JP2017021446A (ja) * 2015-07-07 2017-01-26 株式会社リコー 画像処理装置及び画像処理方法
JP2017073134A (ja) * 2015-10-07 2017-04-13 クルーシャル テック カンパニー リミテッド 指紋登録および認証速度向上のための指紋情報プロセッシング方法およびその装置
US10051274B2 (en) 2013-10-25 2018-08-14 Canon Kabushiki Kaisha Image processing apparatus, method of calculating information according to motion of frame, and storage medium
CN109977775A (zh) * 2019-02-25 2019-07-05 腾讯科技(深圳)有限公司 关键点检测方法、装置、设备及可读存储介质
US10803597B2 (en) 2017-03-09 2020-10-13 Canon Kabushiki Kaisha Image processing device, method for controlling the same, program, and storage medium
US10855918B2 (en) 2018-05-09 2020-12-01 Canon Kabushiki Kaisha Image processing device, image processing method, image pickup apparatus, and program storage medium that calculates a matching degree between an estimated target of interest and tracked feature points, then selects a feature point to which tracking is continued according to the matching degree
US10880457B2 (en) 2018-04-18 2020-12-29 Canon Kabushiki Kaisha Image processing apparatus, image capturing apparatus, image processing method, and storage medium
US11153479B2 (en) 2018-03-28 2021-10-19 Canon Kabushiki Kaisha Image processing apparatus, capable of detecting an amount of motion between images by tracking a point across one or more images, image capturing apparatus, image processing method, and storage medium
US11908144B2 (en) 2020-11-09 2024-02-20 Canon Kabushiki Kaisha Image processing apparatus, method, and medium using degrees of reliability and similarity in motion vectors

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010093343A (ja) * 2008-10-03 2010-04-22 Nikon Corp カメラワーク最適化プログラム、撮像装置及びカメラワーク最適化方法
JP2015005995A (ja) * 2008-10-23 2015-01-08 三星電子株式会社Samsung Electronics Co.,Ltd. 動き軌跡を用いたフレーム率向上装置および方法
EP2180695A2 (en) * 2008-10-23 2010-04-28 Samsung Electronics Co., Ltd. Apparatus and method for improving frame rate using motion trajectory
JP2010103999A (ja) * 2008-10-23 2010-05-06 Samsung Electronics Co Ltd 動き軌跡を用いたフレーム率向上装置および方法
KR101498124B1 (ko) * 2008-10-23 2015-03-05 삼성전자주식회사 움직임 궤적을 이용한 프레임률 향상 장치 및 방법
EP2180695A3 (en) * 2008-10-23 2014-07-09 Samsung Electronics Co., Ltd. Apparatus and method for improving frame rate using motion trajectory
JP2010204718A (ja) * 2009-02-27 2010-09-16 Fujitsu Semiconductor Ltd 画像処理プログラム、画像処理装置および画像処理方法
KR20110032157A (ko) * 2009-09-22 2011-03-30 삼성전자주식회사 저해상도 비디오로부터 고해상도 비디오를 생성하는 방법
JP2011071986A (ja) * 2009-09-22 2011-04-07 Samsung Electronics Co Ltd 低解像度ビデオから高解像度ビデオを生成する方法
KR101634562B1 (ko) * 2009-09-22 2016-06-30 삼성전자주식회사 저해상도 비디오로부터 고해상도 비디오를 생성하는 방법
US9179092B2 (en) 2009-09-22 2015-11-03 Samsung Electronics Co., Ltd. System and method producing high definition video from low definition video
JP2013524590A (ja) * 2010-03-30 2013-06-17 テスト アクチエンゲゼルシャフト 画像処理方法および熱画像カメラ
JP2012022651A (ja) * 2010-07-16 2012-02-02 Canon Inc 画像処理装置、画像処理方法、およびプログラム
JP2012079004A (ja) * 2010-09-30 2012-04-19 Dainippon Printing Co Ltd 特徴点抽出装置、画像処理装置、特徴点抽出方法、及び特徴点抽出プログラム等
JP2012150826A (ja) * 2012-03-09 2012-08-09 Casio Comput Co Ltd 画像合成装置及びプログラム
JP2014099087A (ja) * 2012-11-15 2014-05-29 Olympus Corp 特徴点検出装置およびプログラム
US10051274B2 (en) 2013-10-25 2018-08-14 Canon Kabushiki Kaisha Image processing apparatus, method of calculating information according to motion of frame, and storage medium
JP2017021446A (ja) * 2015-07-07 2017-01-26 株式会社リコー 画像処理装置及び画像処理方法
JP2017073134A (ja) * 2015-10-07 2017-04-13 クルーシャル テック カンパニー リミテッド 指紋登録および認証速度向上のための指紋情報プロセッシング方法およびその装置
US10803597B2 (en) 2017-03-09 2020-10-13 Canon Kabushiki Kaisha Image processing device, method for controlling the same, program, and storage medium
US11153479B2 (en) 2018-03-28 2021-10-19 Canon Kabushiki Kaisha Image processing apparatus, capable of detecting an amount of motion between images by tracking a point across one or more images, image capturing apparatus, image processing method, and storage medium
US10880457B2 (en) 2018-04-18 2020-12-29 Canon Kabushiki Kaisha Image processing apparatus, image capturing apparatus, image processing method, and storage medium
US10855918B2 (en) 2018-05-09 2020-12-01 Canon Kabushiki Kaisha Image processing device, image processing method, image pickup apparatus, and program storage medium that calculates a matching degree between an estimated target of interest and tracked feature points, then selects a feature point to which tracking is continued according to the matching degree
CN109977775A (zh) * 2019-02-25 2019-07-05 腾讯科技(深圳)有限公司 关键点检测方法、装置、设备及可读存储介质
CN109977775B (zh) * 2019-02-25 2023-07-28 腾讯科技(深圳)有限公司 关键点检测方法、装置、设备及可读存储介质
US11908144B2 (en) 2020-11-09 2024-02-20 Canon Kabushiki Kaisha Image processing apparatus, method, and medium using degrees of reliability and similarity in motion vectors

Similar Documents

Publication Publication Date Title
JP2007334625A (ja) 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置
JP4961850B2 (ja) 動き検出方法、動き検出方法のプログラム、動き検出方法のプログラムを記録した記録媒体及び動き検出装置
JP4793120B2 (ja) 手振れ補正方法、手振れ補正方法のプログラム、手振れ補正方法のプログラムを記録した記録媒体及び手振れ補正装置
CN109376681B (zh) 一种多人姿态估计方法及***
US8384787B2 (en) Method for providing a stabilized video sequence
US8335350B2 (en) Extracting motion information from digital video sequences
US10636165B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
JP2014529922A (ja) デジタル顕微鏡撮像の装置及び方法
US20150103145A1 (en) Image processing apparatus, imaging apparatus, and image processing method
JP7032871B2 (ja) 画像処理装置及び画像処理方法、プログラム、記憶媒体
CN102714697A (zh) 图像处理装置、图像处理方法及程序
US10861185B2 (en) Information processing apparatus and method of controlling the same
JP2006244074A (ja) 動物体アップフレーム検出方法及びプログラム及びプログラムを格納した記憶媒体及び動物体アップショット検出方法及び動物体アップフレームあるいはショット検出方法及びプログラム及びプログラムを格納した記憶媒体
JP2005004799A (ja) 物体抽出装置
JP5173549B2 (ja) 画像処理装置及び撮像装置
JP2014110020A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2009182624A (ja) 目標追尾装置
JP2008109545A (ja) 画像ブレ検出装置並びにこれを備えた画像ブレ補正装置、固体撮像装置、及び電子機器
JP2006215655A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
CN112990263B (zh) 一种用于密集小目标的高分辨率图像的数据增强方法
KR101512297B1 (ko) 영상의 그라운드 라인 결정 방법
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP2008003766A (ja) 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置
JP4392288B2 (ja) 画像処理方法、画像処理プログラム、および、画像処理装置
JP6216192B2 (ja) 動き推定装置及びプログラム