JP2013130930A - 画像処理システム、画像処理方法および画像処理用プログラム - Google Patents
画像処理システム、画像処理方法および画像処理用プログラム Download PDFInfo
- Publication number
- JP2013130930A JP2013130930A JP2011278432A JP2011278432A JP2013130930A JP 2013130930 A JP2013130930 A JP 2013130930A JP 2011278432 A JP2011278432 A JP 2011278432A JP 2011278432 A JP2011278432 A JP 2011278432A JP 2013130930 A JP2013130930 A JP 2013130930A
- Authority
- JP
- Japan
- Prior art keywords
- frame image
- feature point
- object area
- motion
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
【課題】画像内のオブジェクトの位置に精度よく重畳情報を重畳させることができる画像処理システムを提供する。
【解決手段】特徴点対応付け手段94は、直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標との組毎に、1つ前のフレーム画像の特徴点座標から直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出する。動き累積手段95は、動き情報の累積である動き累積情報を導出する。オブジェクト領域特定手段96は、オブジェクト領域検出手段93がフレーム画像からオブジェクト領域を検出する検出処理が完了したと判定したことを条件に、オブジェクト領域検出手段93が検出した検出処理対象のフレーム画像のオブジェクト領域を、動き累積情報を用いて変換し、動き累積情報を初期化して、新たにオブジェクト領域検出手段93に検出処理を開始させる。
【選択図】図11
【解決手段】特徴点対応付け手段94は、直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標との組毎に、1つ前のフレーム画像の特徴点座標から直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出する。動き累積手段95は、動き情報の累積である動き累積情報を導出する。オブジェクト領域特定手段96は、オブジェクト領域検出手段93がフレーム画像からオブジェクト領域を検出する検出処理が完了したと判定したことを条件に、オブジェクト領域検出手段93が検出した検出処理対象のフレーム画像のオブジェクト領域を、動き累積情報を用いて変換し、動き累積情報を初期化して、新たにオブジェクト領域検出手段93に検出処理を開始させる。
【選択図】図11
Description
本発明は、画像内のオブジェクトの関連情報をその画像内に重畳して表示する画像処理システム、画像処理方法および画像処理用プログラムに関する。
カメラがオブジェクト(例えば、人、物等の撮影対象)を撮影して得られた画像内のオブジェクトに対して、そのオブジェクトの関連情報を位置合わせして、その関連情報を画像内に重畳して表示するシステムがある。このようなシステムは、AR(Augmented Reality:拡張現実感)システムと呼ばれる。また、画像内のオブジェクトに関連する情報であって、画像に重畳する情報を、以下、重畳情報と記す。
図12は、重畳情報を重畳する前後の画像の例を示す。ここでは、オブジェクトが本であり、重畳情報が、本の表紙に記載された日本語の英訳である場合を例にする。図12(a)は、英訳(重畳情報)を重畳する前の画像を模式的に示す。図12(b)は、図12(a)に示す画像に英訳を重畳させた後の映像を模式的に示す。
図13は、一般的なARシステムの処理の流れを模式的に示す説明図である。図13に示す画像A〜Fは、カメラが本を撮影して得られた動画における時系列順の各フレームの画像(フレーム画像)である。各フレーム画像A〜Fにおいて、太線で示した部分は、フレーム画像内におけるオブジェクト(ここでは本)の輪郭を示す。図13において、本の表紙の文字等の図示は省略している。撮影中のカメラの姿勢の変化によって、フレーム画像内におけるオブジェクトの大きさや位置が変化する。画像B〜Fでは、フレーム画像内に本の一部分のみが写っている。ARシステムには、予め検出対象のオブジェクトが登録される。そして、一般的なARシステムは、入力された動画のフレーム画像に対して、画像内におけるオブジェクト領域を検出する処理を行い、オブジェクト領域が検出された場合には、画像内におけるその領域に重畳情報の位置を合わせ、その時点で入力されたフレーム画像に重畳情報を重畳する。なお、図13では、フレーム画像Aからオブジェクト領域を検出した結果を“検出結果1”として示している。また、フレーム画像Dからオブジェクト領域を検出した結果を“検出結果2”として示している。なお、オブジェクト領域は、画像の2次元空間内でオブジェクトに該当する領域であり、例えば、オブジェクトの輪郭上の各頂点座標によって表される。
また、特許文献1には、特徴点検出のための演算量が多い画像特徴の検出処理を所定のフレーム間隔毎に行う画像処理装置が記載されている。また、特許文献1に記載の画像処理装置は、演算量が多い画像特徴の検出処理を行わないフレームにおける短時間のカメラ位置姿勢の変化に対しては、演算量が少ない画像特徴の検出処理による特徴点検出と、ブロックマッチングを使用することで、カメラ位置姿勢の変化を推定する。
また、非特許文献1には、画像から特徴点座標を抽出し、特徴ベクトルを算出する方法が記載されている。
非特許文献2には、RANSAC(Random Sample Consensus)アルゴリズムが記載されている。RANSACアルゴリズムは、特徴点同士を対応付けた場合における誤対応を除外するために用いることができる。
Herbert Bay, Tinne Tuytelaars, Luc Van Gool "SURF: Speeded Up Robust Features," Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp. 346-359, 2008.
Martin A. Fischler, Robert C.Bolles, "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography," Communications of the ACM, Vol.24, Number6, pp.381-395, 1981.
前述のように、一般的なARシステムは、入力された動画のフレーム画像に対して、オブジェクト領域を検出する処理を行い、オブジェクト領域が検出された場合には、画像内におけるその領域に重畳情報の位置を合わせ、その時点で入力されたフレーム画像に重畳情報を重畳する。また、フレーム間隔は、典型的には33msec等である。このような短いフレーム間隔内では、フレーム画像からオブジェクト領域を検出する処理は完了しない。そのため、カメラの姿勢が変化したり、被写体であるオブジェクト自身が動いたりする場合、フレーム画像内のオブジェクトの位置と重畳情報の位置とがずれるという問題がある。
例えば、図13に示す例では、フレーム画像Aからオブジェクト領域を検出する処理が終了したとき(図13に示す検出結果1が得られたとき)にはフレーム画像Cが入力されている。従って、フレーム画像Aから検出したオブジェクト領域に対して重畳情報の位置合わせを行い、その重畳情報を、その時点で入力されたフレーム画像Cに重畳させた場合、重畳情報の表示位置がフレーム画像C内のオブジェクトの位置とずれてしまう。同様に、フレーム画像Dから得た検出結果2にもとづいて重畳情報の位置合わせを行った場合にも、その時点で入力されたフレーム画像Fに重畳情報を重畳させると、重畳情報の表示位置が、フレーム画像F内のオブジェクトの位置とずれてしまう。
また、特許文献1に記載された技術では、演算量が少ない画像特徴の検出処理による特徴点検出と、ブロックマッチングと使用することでカメラ位置姿勢の変化を推定する。しかし、演算量が少ない画像特徴の検出処理で得られた特徴点は精度が低いと考えられる。
そこで、本発明は、画像内のオブジェクトの位置に精度よく関連情報を重畳させることができる画像処理システム、画像処理方法および画像処理用プログラムを提供することを目的とする。
本発明による画像処理システムは、動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出する特徴点導出手段と、基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、そのオブジェクト領域内の各特徴点座標とを記憶するオブジェクト情報記憶手段と、特徴点導出手段によって導出された各特徴点座標と、オブジェクト情報記憶手段に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理を行うオブジェクト領域検出手段と、直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、1つ前のフレーム画像の特徴点座標から直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出する特徴点対応付け手段と、動き情報の累積である動き累積情報を導出する動き累積手段と、入力された個々のフレーム画像のオブジェクト領域を特定するオブジェクト領域特定手段と、入力されたフレーム画像のオブジェクト領域に、オブジェクトの関連情報の位置合わせを行い、フレーム画像に関連情報を重畳させる重畳画像生成手段とを備え、オブジェクト領域特定手段は、検出処理が完了したと判定したことを条件に、検出処理の対象となったフレーム画像のオブジェクト領域を、動き累積手段によって導出された動き累積情報を用いて変換することによって、検出処理が完了したと判定した時点で入力されている直近のフレーム画像のオブジェクト領域を特定し、動き累積情報を初期化し、その直近のフレーム画像を対象としてオブジェクト領域検出手段に検出処理を開始させることを特徴とする。
また、本発明による画像処理方法は、オブジェクト情報記憶手段が、基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、そのオブジェクト領域内の各特徴点座標とを記憶し、動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出し、導出した各特徴点座標と、オブジェクト情報記憶手段に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理を実行し、直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、1つ前のフレーム画像の特徴点座標から直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出し、動き情報の累積である動き累積情報を導出する動き累積処理を実行し、入力された個々のフレーム画像のオブジェクト領域を特定するオブジェクト領域特定処理を実行し、入力されたフレーム画像のオブジェクト領域に、オブジェクトの関連情報の位置合わせを行い、フレーム画像に関連情報を重畳させ、オブジェクト領域特定処理で、検出処理が完了したと判定したことを条件に、検出処理の対象となったフレーム画像のオブジェクト領域を、動き累積処理で導出された動き累積情報を用いて変換することによって、検出処理が完了したと判定した時点で入力されている直近のフレーム画像のオブジェクト領域を特定し、動き累積情報を初期化し、その直近のフレーム画像を対象として検出処理を開始することを特徴とする。
また、本発明による画像処理用プログラムは、基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、そのオブジェクト領域内の各特徴点座標とを記憶するオブジェクト情報記憶手段を備えたコンピュータに搭載される画像処理用プログラムであって、コンピュータに、動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出する特徴点導出処理、特徴点導出処理で導出した各特徴点座標と、オブジェクト情報記憶手段に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理、直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、1つ前のフレーム画像の特徴点座標から直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出する特徴点対応付け処理、動き情報の累積である動き累積情報を導出する動き累積処理、入力された個々のフレーム画像のオブジェクト領域を特定するオブジェクト領域特定処理、および、入力されたフレーム画像のオブジェクト領域に、オブジェクトの関連情報の位置合わせを行い、フレーム画像に関連情報を重畳させる重畳画像生成処理を実行させ、オブジェクト領域特定処理で、検出処理が完了したと判定したことを条件に、検出処理の対象となったフレーム画像のオブジェクト領域を、動き累積処理で導出された動き累積情報を用いて変換することによって、検出処理が完了したと判定した時点で入力されている最新のフレーム画像のオブジェクト領域を特定させ、動き累積情報を初期化させ、その直近のフレーム画像を対象として検出処理を開始させることを特徴とする。
本発明によれば、画像内のオブジェクトの位置に精度よく関連情報を重畳させることができる。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明の画像処理システムの処理の概要を示す模式図である。図1に示すフレーム画像A〜Fは、カメラが本を撮影して得られた動画における時系列順の各フレーム画像である。図1では、フレーム画像A〜Fを例示しているが、本発明の画像処理システムに入力されるフレーム画像の枚数は限定されない。また、ここでは、カメラが本を撮影して得られた本の画像が入力される場合を例示するが、オブジェクト(撮影対象)は本に限定されない。各フレーム画像A〜Fにおいて、太線で示した部分は、フレーム画像内におけるオブジェクト(ここでは本)の輪郭を示す。また、図1において、本の表紙の文字等の図示は省略している。
本発明の画像処理システムは、フレーム画像からオブジェクト領域を検出する。この検出に要する時間は、フレーム間隔(例えば、33msec)よりも長い。そして、フレーム画像からオブジェクト領域を検出する処理の実行している間に入力されたフレーム画像に対しては、画像処理システムは、オブジェクト領域の検出を行わない。図1に示す例では、画像処理システムはフレーム画像Aからオブジェクト領域を検出する処理を行い、その検出結果を“検出結果1”として示している。同様に、画像処理システムはフレーム画像Cからオブジェクト領域を検出する処理を行い、その検出結果を“検出結果2”として示している。また、オブジェクト領域の検出処理実行中に入力されたフレーム画像Bや、フレーム画像D,Eについては、画像処理システムはオブジェクト領域の検出を行わない。
カメラの姿勢が変化したり、被写体自身が動いたりすれば、フレーム画像から検出したオブジェクト領域の位置は、その検出処理が完了したと判定した時点において入力されている最新のフレーム画像におけるオブジェクト領域とはずれる。例えば、図1に示す検出結果1が示すオブジェクト領域と、オブジェクト領域の検出処理が完了したと判定した時点において入力されている最新のフレーム画像Cにおけるオブジェクト領域とはずれている。本発明の画像処理システムは、このずれを解消するために、オブジェクト領域を検出したフレーム画像から、その検出処理が完了したと判定した時点において入力されている最新のフレーム画像までのオブジェクト領域の動きを示す情報(後述の動き累積ベクトル)を記憶しておき、その情報が示す動きを、検出されたオブジェクト領域に適用することで、検出されたオブジェクト領域を補正する。この補正を第1の動き補償と記す。
例えば、画像処理システムは、フレーム画像A,B間でのオブジェクト領域の動きと、フレーム画像B,C間でのオブジェクト領域の動きとを累積していき、フレーム画像Aからフレーム画像Cまでのオブジェクト領域の動きを示す情報を求める。そして、画像処理システムは、その動きを、フレーム画像Aから得られたオブジェクト領域に適用し、フレーム画像Aから得られたオブジェクト領域を補正する(第1の動き補償)。この結果得られたオブジェクト領域は、検出処理が完了したと判定したにおいて入力されている最新のフレーム画像Cにおけるオブジェクト領域であるとみなすことができる。なお、画像処理システムは、第1の動き補償の動き補償を行った後、フレーム画像間のオブジェクト領域の動きを累積した情報を初期化する。そして、画像処理システムは、その最新のフレーム画像Cを対象にしてオブジェクト領域の検出処理を行い、フレーム画像Cから得られたオブジェクト領域に関しても同様に、第1の動き補償を行う。なお、以下の説明において、フレーム画像間のオブジェクト領域の動きを累積した情報の初期化をリセットと称する場合がある
また、画像処理システムは、最新のフレーム画像が入力される毎に、その最新のフレーム画像の1つ前のフレーム画像におけるオブジェクト領域からその最新のフレーム画像におけるオブジェクト領域までの動きを示す情報(後述の動きベクトル)を求める。そして、1つ前のフレーム画像におけるオブジェクト領域に、その2つのフレーム画像間のオブジェクト領域の動きを適用することによって、最新のフレーム画像におけるオブジェクト領域を求める。このオブジェクト領域の導出を、第2の動き補償と記す。また、画像処理システムは、第1の動き補償後のオブジェクト領域を得た後、最初にフレーム画像が入力された場合には、その最新のフレーム画像の1つ前のフレーム画像におけるオブジェクト領域として、第1の動き補償で得られたオブジェクト領域を用いる。
例えば、画像処理システムは、検出結果1(図1参照)が示すオブジェクト領域に対して第1の動き補償を行ってオブジェクト領域Pを求めたとする。その後、フレーム画像Dが入力された場合、フレーム画像Dの1つ前のフレーム画像Cにおけるオブジェクト領域として、オブジェクト領域Pを用いる。そして、画像処理システムは、オブジェクト領域Pに、画像C,D間でのオブジェクト領域の動きを適用することで、最新のフレーム画像Dにおけるオブジェクト領域Qを求める。さらに、次のフレーム画像Eが入力された場合、画像処理システムは、1つ前のフレーム画像Dにおけるオブジェクト領域Qに、画像D,E間でのオブジェクト領域の動きを適用することで、最新のフレーム画像Eにおけるオブジェクト領域Rを求める。
なお、画像処理システムは、2つのフレーム画像からそれぞれ得られる特徴点同士を対応付け、その対応する特徴点の動きを、その2つのフレーム画像間におけるオブジェクト領域の動きとして用いる。
図2は、本発明の画像処理システムの構成例を示すブロック図である。本発明の画像処理システムは、特徴点抽出手段1と、オブジェクト検出手段2と、特徴点対応付け手段3と、動き累積手段4と、動き補償手段5と、重畳画像生成手段6と、特徴点情報記憶手段11と、オブジェクト情報記憶手段12と、累積動き記憶手段13と、オブジェクト領域記憶手段14とを備える。
本発明の画像処理システムには、動画における各フレーム画像が時系列順に入力される。
特徴点抽出手段1は、最新のフレーム画像が入力されると、そのフレーム画像内の特徴点の座標を抽出し、特徴ベクトルを算出する。特徴点とは、際立った特徴に基づいて検出される点である。特徴点の例として、方向の異なるエッジ同士が交差する点、画素値が周囲よりも高い点、輝度勾配の強度が周囲よりも高い点等が挙げられる。図3は、特徴点の例を示す模式図である。図3では、図12(a)に例示する本を撮影して得られた6種類のフレーム画像における特徴点をそれぞれ模式的に黒丸で示している。また、特徴ベクトルは、各特徴点の周辺のパターン情報を表すベクトルである。
オブジェクト検出手段2は、フレーム画像からオブジェクト領域を検出する処理(以下、オブジェクト領域検出処理と記す。)が完了したと判定されたときに、その時点で入力されている直近のフレーム画像からオブジェクト領域を検出する。このとき、オブジェクト検出手段2は、オブジェクト領域検出処理の対象となるフレーム画像から求められた特徴点の座標および特徴ベクトルを用いて、そのフレーム画像からオブジェクト領域を検出する。ここでは、オブジェクト領域が、オブジェクトの輪郭上の各頂点の座標で表される場合を例にして説明する。
オブジェクト情報記憶手段12は、オブジェクトが写っている基準となるフレーム画像から予め求められたオブジェクト領域内の各特徴点座標、各特徴ベクトル、およびオブジェクト領域を記憶する記憶装置である。図4は、オブジェクトとなる本を正面から撮影して得られたフレーム画像を模式的に示す図である。ただし、図4では特徴点の位置も丸印で図示しているが、実際の画像ではそのような丸印は存在しない。例えば、図4に例示するようなオブジェクト全体を写した画像から、オブジェクト領域内の各特徴点座標、各特徴ベクトル、およびオブジェクト領域(ここでは、フレーム画像内でのオブジェクトの輪郭上の各頂点の座標)を求めておき、それらの情報をオブジェクト情報記憶手段12に予め記憶させておけばよい。
オブジェクト情報記憶手段12は、複数のオブジェクトに関して、オブジェクト毎に、特徴点座標、特徴ベクトルおよびオブジェクト領域を記憶してもよい。
また、オブジェクト情報記憶手段12は、重畳情報(画像内のオブジェクトに関連する情報であって、画像に重畳する情報)も予め記憶する。本実施形態では、オブジェクト情報記憶手段12が、図4に示す本の表紙に記載された日本語の英訳を重畳情報として記憶している場合を例にして説明する。
オブジェクト検出手段2は、特徴点抽出手段1によって求められた特徴点座標および特徴ベクトルと、オブジェクト情報記憶手段12に記憶された特徴点座標および特徴ベクトルとを用いて、特徴点同士を対応付ける。そして、オブジェクト検出手段2は、対応付けた特徴点の各組において、オブジェクト情報記憶手段12に記憶された特徴点座標から、特徴点抽出手段1によって求められた特徴点座標までの動きを示す情報を作成する。オブジェクト検出手段2は、その情報が示す動きを、オブジェクト情報記憶手段12に記憶されたオブジェクト領域に適用することによって、特徴点抽出手段1によって特徴点座標および特徴ベクトルが求められたフレーム画像におけるオブジェクト領域を算出する。オブジェクト領域検出処理については、フローチャートを用いて後述する。
オブジェクト領域検出処理に要する時間は、フレーム間隔(すなわち、フレーム画像の入力間隔)よりも長い。オブジェクト検出手段2は、オブジェクト領域検出処理の実行中に新たに画像処理システムに入力されたフレーム画像に対してはオブジェクト領域検出処理を行わない。そして、オブジェクト検出手段2は、オブジェクト領域検出処理を実行中であるか否かを示すフラグを管理する。具体的には、オブジェクト検出手段2は、オブジェクト領域検出処理を開始するとフラグをオンに設定し、オブジェクト領域検出処理を終えるとフラグをオフに設定する。以下、このフラグを処理実行フラグと記す。
特徴点情報記憶手段11は、特徴点抽出手段1によってフレーム画像から求められた特徴点座標および特徴ベクトルを記憶する記憶装置である。この特徴点座標および特徴ベクトルは、次に特徴点抽出手段1に最新のフレーム画像が入力されたときには、その最新のフレーム画像の1つ前のフレーム画像における特徴点座標および特徴ベクトルに該当することになる。
特徴点対応付け手段3は、特徴点抽出手段1によって求められた最新のフレーム画像における特徴点座標および特徴ベクトルと、特徴点情報記憶手段11に記憶された1つ前のフレーム画像における特徴点座標および特徴ベクトルとを用いて、最新のフレーム画像の特徴点と1つ前のフレーム画像の特徴点とを対応付ける。そして、特徴点対応付け手段3は、対応付けた特徴点の各組において、1つ前のフレームにおける特徴点から最新のフレームにおける特徴点までの動きを表す情報を算出する。この動きを表す情報は、ベクトルとして表される。以下、この動きを表すベクトルを動きベクトルと記す。動きベクトルは、1つ前のフレームと最新のフレームとの間でのオブジェクト領域の動きを表しているということができる。
特徴点対応付け手段3は、連続する2つのフレーム画像間での各特徴点の動きベクトルを動き累積手段4および動き補償手段5に入力する。
動き累積手段4は、対応する特徴点毎に順次求められる動きベクトルを順次加算することで、2つ以上のフレーム画像に渡る特徴点の動きを示す情報を求める。この情報もベクトルとして表され、以下、このベクトルを動き累積ベクトルと記す。例えば、図1に例示するフレーム画像A,B間の動きベクトルに、フレーム画像B,C間の動きベクトルを加算することで、フレーム画像Aからフレーム画像Cまでの特徴点の動きを示す動き累積ベクトルが得られる。動き累積ベクトルは、2つ以上のフレーム画像に渡るオブジェクト領域の動きを表しているということができる。
累積動き記憶手段13は、動き累積ベクトルを記憶する。動き累積手段4は、画像処理システムに最新のフレーム画像が入力され、1つ前のフレームにおける特徴点から最新のフレームにおける特徴点までの動きを表す動きベクトルが算出されたならば、特徴点毎に、累積動き記憶手段13に記憶された動き累積ベクトルにその動きベクトルを加算し、動き累積ベクトルを更新する。
オブジェクト領域記憶手段14は、オブジェクト領域を記憶する記憶装置である。オブジェクト領域記憶手段14に記憶されたオブジェクト領域は、最新のフレーム画像が入力されたとき、そのフレーム画像の1つ前のフレームにおけるオブジェクト領域に該当することになる。
動き補償手段5は、オブジェクト検出手段2によるオブジェクト領域検出処理が完了したと判定した場合、累積動き記憶手段13から読み込んだ特徴点毎の動き累積ベクトルと、そのオブジェクト領域検出処理で検出されたオブジェクト領域とを用いて、第1の動き補償を行う。動き補償手段5は、第1の動き補償によって得られたオブジェクト領域をオブジェクト領域記憶手段14に記憶させる。
例えば、オブジェクト検出手段2によるオブジェクト領域検出処理が完了して、図1に例示する検出結果1が得られているとする。すると、動き補償手段5は、フレーム画像Aからフレーム画像Cまでの特徴点の動きを示す特徴点毎の動き累積ベクトルと、検出結果1が示すオブジェクト領域とを用いて、第1の動き補償を行い、オブジェクト領域Pを求める。そして、動き補償手段5は、オブジェクト領域Pをオブジェクト領域記憶手段14に記憶させる。なお、オブジェクト領域記憶手段14に既にオブジェクト領域が記憶されている場合、動き補償手段5は、第1の動き補償で得たオブジェクト領域で、オブジェクト領域記憶手段14に記憶されているオブジェクト領域を更新する。
また、動き補償手段5は、第1の動き補償の後、累積動き記憶手段13にリセット信号を送信し、累積動き記憶手段13に記憶されている特徴点毎の動き累積ベクトルを0ベクトルに初期化させる。累積動き記憶手段13は、リセット信号を受けると、動き累積ベクトルを0ベクトルに初期化する。
また、動き補償手段5は、オブジェクト検出手段2によるオブジェクト領域検出処理が実行中である場合、第2の動き補償を行う。具体的には、動き補償手段5は、特徴点対応付け手段3から入力された特徴点毎の動きベクトルと、オブジェクト領域記憶手段14に記憶されているオブジェクト領域(1つ前のフレーム画像におけるオブジェクト領域)とを用いて、最新のフレーム画像におけるオブジェクト領域を計算する。動き補償手段5は、第2の動き補償によって得られたオブジェクト領域で、オブジェクト領域記憶手段14に記憶されたオブジェクト領域を更新する。
例えば、上記の例のように、オブジェクト領域記憶手段14にオブジェクト領域P(図1参照)が記憶されたとする。そして、フレーム画像Cに対してオブジェクト領域検出処理が開始されたとする。この場合、動き補償手段5は、特徴点対応付け手段3によって算出されたフレーム画像C,D間の動きベクトルを、オブジェクト領域記憶手段14に記憶されたオブジェクト領域Pに適用して、最新のフレーム画像Dに対応するオブジェクト領域Q(図1参照)を求める。そして、動き補償手段5は、オブジェクト領域記憶手段14に記憶されたオブジェクト領域Pをオブジェクト領域Qで更新する。さらに、オブジェクト領域検出処理の実行中に、新たなフレーム画像E(図1参照)が入力されたとする。この場合、動き補償手段5は、特徴点対応付け手段3によって算出されたフレーム画像D,E間の動きベクトルを、オブジェクト領域記憶手段14に記憶されたオブジェクト領域Qに適用して、最新のフレーム画像Eに対応するオブジェクト領域R(図1参照)を求める。そして、動き補償手段5は、オブジェクト領域記憶手段14に記憶されたオブジェクト領域Qをオブジェクト領域Rで更新する。
また、動き補償手段5は、第1の動き補償および第2の動き補償で得たオブジェクト領域を重畳画像生成手段6に入力する。
重畳画像生成手段6は、動き補償手段5から入力されたオブジェクト領域の位置に合わせて、オブジェクト情報記憶手段12に記憶されている重畳情報の配置位置を決定し、そのオブジェクト領域に対応するフレーム画像(すなわち、最新のフレーム画像)に、その重畳情報を重畳する。
特徴点抽出手段1、オブジェクト検出手段2、特徴点対応付け手段3、動き累積手段4、動き補償手段5、重畳画像生成手段6および累積動き記憶手段13は、例えば、画像処理用プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが、画像処理用プログラムを読み込み、そのプログラムに従って、特徴点抽出手段1、オブジェクト検出手段2、特徴点対応付け手段3、動き累積手段4、動き補償手段5、重畳画像生成手段6および累積動き記憶手段13として動作してもよい。また、これらの各要素が別々のユニットで実現されていてもよい。
次に、動作について説明する。
まず、オブジェクト検出手段2によるオブジェクト領域検出処理について説明する。オブジェクト検出手段2は、特徴点抽出手段1がフレーム画像から求めた各特徴点座標および各特徴ベクトルと、オブジェクト情報記憶手段12に予め記憶されているオブジェクト領域内の各特徴点座標、各特徴ベクトル、およびオブジェクト領域とを用いて、フレーム画像にオブジェクト領域が存在するか否かを判定する。オブジェクト領域が存在すると判定した場合、オブジェクト検出手段2は、そのフレーム画像内におけるオブジェクト領域を検出する。以下、図5に示すフローチャートを参照して、オブジェクト領域検出処理をより具体的に説明する。
図5は、オブジェクト領域検出処理の例を示すフローチャートである。なお、オブジェクト情報記憶手段12は、図4に例示する画像におけるオブジェクト領域内の各特徴点座標、その個々の特徴点座標と対になる特徴ベクトル、およびオブジェクト領域(本例では、本の輪郭上の各頂点の座標として表される。)を予め記憶しているものとする。
オブジェクト領域検出処理において、まず、オブジェクト検出手段2は、処理実行フラグをオンにする(図5において図示略)。そして、オブジェクト検出手段2は、オブジェクト情報記憶手段12に記憶されたオブジェクト領域内の各特徴点座標、各特徴ベクトル、およびオブジェクト領域を読み込む(ステップS21)。
次に、オブジェクト検出手段2は、特徴点抽出手段1がオブジェクト領域検出処理の処理対象のフレーム画像から求めた特徴点座標と、オブジェクト情報記憶手段12から読み込んだオブジェクト領域内の各特徴点座標とを対応づける(ステップS22)。特徴点抽出手段1が求めた各特徴点座標はそれぞれ特徴ベクトルと対になっている。また、オブジェクト情報記憶手段12に記憶された各特徴点座標もそれぞれ特徴ベクトルと対になっている。オブジェクト検出手段2は、オブジェクト情報記憶手段12から読み込んだ特徴点座標を順次選択する。そして、オブジェクト検出手段2は、選択した特徴点座標と対になる特徴ベクトルと距離が最も近い特徴ベクトルと対になっている特徴点座標を、特徴点抽出手段1から入力された特徴点座標の中から探す。そして、オブジェクト検出手段2は、その特徴点座標と、選択した特徴点座標とを対応付ける。オブジェクト検出手段2は、選択した特徴点座標毎に同様の処理を行えばよい。なお、オブジェクト検出手段2は、特徴ベクトル同士の距離として、例えば、ユークリッド距離を計算すればよい。
また、オブジェクト検出手段2は、ステップS22において、対応付けた特徴点座標の組毎に、オブジェクト情報記憶手段12から読み込んだ特徴点座標から、特徴点抽出手段1が求めた特徴点座標までの変位(ベクトル)を求める。図6は、この変位に関する処理を示す模式図である。図6(a)は、オブジェクト情報記憶手段12から読み込んだ特徴点座標から、特徴点抽出手段1によって入力された特徴点座標までの変位を表している。これらの変位の中には、特徴点座標同士が誤って対応付けられたことによるアウトライヤが存在する。また、図6(a)〜(c)において、破線は、オブジェクト情報記憶手段12から読み込んだオブジェクト領域を表す。
ステップS22の後、オブジェクト検出手段2は、ステップS22で求めた変位のうち、アウトライヤに該当する変位を削除する(ステップS23)。オブジェクト検出手段2は、例えば、オブジェクトが平面であると仮定して、RANSACアルゴリズムでアウトライヤに該当する変位を削除してもよい。あるいは、他の方法で、アウトライヤに該当する変位を削除してもよい。図6(b)は、アウトライヤを除外した後の変位(すなわち、インライヤに該当する変位)を表している。
ステップS23の後、オブジェクト検出手段2は、オブジェクト情報記憶手段12から読み込んだオブジェクト領域から、オブジェクト領域検出処理の処理対象のフレーム画像内のオブジェクト領域への幾何変形を表す平面射影変換パラメータを、インライヤに該当する変位に基づいて算出する(ステップS24)。
そして、オブジェクト検出手段2は、オブジェクト情報記憶手段12から読み込んだオブジェクト領域(具体的には、オブジェクトの輪郭上の各頂点)に対して、その平面射影変換パラメータを用いて平面射影変換を行う(ステップS25)。この変換によって得られた各頂点は、オブジェクト領域検出処理の処理対象のフレーム画像内のオブジェクト領域を表す。図6(c)は、ステップS25における平面射影変換を模式的に示す。図6(c)に示す実線の四辺形は、オブジェクト領域検出処理の処理対象のフレーム画像内のオブジェクト領域のオブジェクト領域を表す。
ステップS25における平面射影変換によって得られるオブジェクト領域は、例えば、図1に示す検出結果1や検出結果2が示すオブジェクト領域に該当する。オブジェクト検出手段2は、ステップS25における平面射影変換後のオブジェクト領域を動き補償手段5に入力する。
オブジェクト情報記憶手段12が、複数のオブジェクトに関して、オブジェクト毎に特徴点座標、特徴点ベクトルおよびオブジェクト領域を記憶している場合、オブジェクト検出手段2は、そのオブジェクト毎にステップS21〜S25を実行すればよい。
オブジェクト検出手段2は、全てのオブジェクトに関して、ステップS21〜S25を実行した後、処理実行フラグをオフにする(図5において図示略)。
なお、オブジェクト検出手段2が行うオブジェクト領域検出処理に要する時間は、フレーム間隔(換言すれば、フレーム画像の入力間隔)よりも長い。
図7は、本発明の画像処理システムの処理経過の例を示すフローチャートである。本発明の画像処理システムには、動画における各フレーム画像が時系列順に入力されるが、図7に示すフローチャートは、1つのフレーム画像が入力された場合の処理経過を示している。
まず、画像処理システムには、最新の1枚のフレーム画像が入力される(ステップS1)。すると、特徴点抽出手段1は、その最新のフレーム画像内の特徴点の座標を抽出し、特徴ベクトルを算出する(ステップS2)。特徴点座標の抽出および特徴ベクトルの算出は、例えば、非特許文献1に記載された方法で行えばよい。
具体的には、特徴点抽出手段1は、ステップS1で入力された最新のフレーム画像にDoG(Difference-of-Gaussian)フィルタを適用し、その結果生成された画像中において画素値が極大となる点を特徴点として、その特徴点の座標を特定すればよい。続いて、特徴点抽出手段1は、特徴点座標を中心とする局所領域内での平均輝度勾配方向を求め、特徴点座標を中心として、平均輝度勾配方向がy軸となり、その方向に直交する方向がx軸となる4×4のブロックを特定し、各ブロックについて、輝度勾配に関する4次元ベクトルを計算する。そして、特徴点抽出手段1は、4×4のブロックにおいて、それぞれのブロックについて計算した4次元ベクトルを並べることで、64次元のベクトルを得る。この64次元ベクトルを特徴点ベクトルとする。特徴点抽出手段1は、特徴点座標毎に特徴ベクトルを求める。
本実施形態では、上記のように特徴点座標および特徴ベクトルを求める場合を例にして説明するが、特徴点座標および特徴ベクトルを求める方法は非特許文献1に記載された方法に限定されない。
また、ステップS2において、特徴点抽出手段1は、ステップS2で求めた各特徴点座標および各特徴ベクトルを特徴点対応付け手段3に入力する。
特徴点対応付け手段3は、特徴点情報記憶手段11に記憶されている1つ前のフレーム画像の特徴点座標および特徴ベクトルと、ステップS2で特徴点抽出手段1から入力された特徴点座標および特徴ベクトル(最新のフレーム画像の特徴点座標および特徴ベクトル)とを用いて、1つ前のフレーム画像の特徴点座標と、最新のフレーム画像の特徴点座標とを対応付ける(ステップS3)。特徴点対応付け手段3は、ステップS22(図5参照)におけるオブジェクト検出手段2の処理と同様の処理を行って、特徴点座標を対応付ければよい。例えば、特徴点対応付け手段3は、1つ前のフレーム画像の特徴点座標を順次選択する。そして、特徴点対応付け手段3は、選択した特徴点座標と対になる特徴ベクトルと距離が最も近い特徴ベクトルと対になっている特徴点座標を、最新のフレーム画像の特徴点座標の中から探す。そして、特徴点対応付け手段3は、その特徴点座標と、選択した特徴点座標とを対応付ける。特徴点対応付け手段3は、選択した特徴点座標毎に同様の処理を行えばよい。なお、特徴点対応付け手段3は、特徴ベクトル同士の距離として、例えば、ユークリッド距離を計算すればよい。
また、特徴点対応付け手段3は、ステップS3において、対応付けた特徴点座標の組毎に、1つ前のフレーム画像の特徴点座標から、最新のフレーム画像の特徴点座標までのベクトルを求める。このベクトルが動きベクトルである。特徴点対応付け手段3は、対応付けた特徴点座標の組毎に求めた動きベクトルを動き累積手段4および動き補償手段5に入力する。
また、ステップS3で特徴点の対応付けが完了した後、特徴点抽出手段1は、ステップS2で求めた各特徴点座標および各特徴ベクトルを特徴点情報記憶手段11に記憶させる。特徴点情報記憶手段11に記憶された各特徴点座標および各特徴ベクトルは、次のフレーム画像が新たに入力されたときに、そのフレーム画像の1つ前のフレーム画像の特徴点座標および特徴ベクトルとして用いられる。
ステップS3の後、動き累積手段4は、累積動き記憶手段13に記憶される各動き累積ベクトルを読み込み、個々の動き累積ベクトルに、対応する動きベクトルを加算することで、各動き累積ベクトルを更新する(ステップS4)。ステップS4に移行した時点で、累積動き記憶手段13に記憶される各動き累積ベクトルは、1つ前のフレーム画像までの各特徴点の累積的な動きを表している。従って、この動き累積ベクトルに動きベクトルを加算することで、最新のフレームまでの各特徴点の累積的な動きを表していると言える。
なお、累積動き記憶手段13は、例えば、動き累積ベクトル毎に対になる特徴ベクトルを記憶し、動き累積手段4は、動きベクトルの算出に用いた特徴点座標の特徴ベクトルを用いて、特徴ベクトル同士の距離が最も近いという基準に従って、動き累積ベクトルと、ステップS3で求められた動きベクトルとを対応付ければよい。また、動き累積手段4は、累積動き記憶手段13に記憶された動き累積ベクトルを更新する場合、その動き累積ベクトルと対になる特徴ベクトルも最新の特徴ベクトルで更新すればよい。
ステップS4の後、動き補償手段5は、オブジェクト検出手段2がオブジェクト領域検出処理を実行中であるか否かを判定する(ステップS5)。動き補償手段5は、処理実行フラグを参照し、処理実行フラグがオンであれば、オブジェクト領域検出処理が実行中であると判定すればよい。また、処理実行フラグがオフであれば、オブジェクト領域検出処理は実行されていないと判定すればよい。オブジェクト領域検出処理が実行中でないという判定は、オブジェクト領域検出処理が完了したという判定であると言うことができる。
オブジェクト領域検出処理が実行中でない場合(ステップS5におけるNo)、動き補償手段5は、第1の動き補償を行う(ステップS6)。オブジェクト領域検出処理が実行中でないということは、オブジェクト領域検出処理が完了していて、オブジェクト検出手段2が図1に示す検出結果1または検出結果2等が示すオブジェクト領域が求めており、そのオブジェクト領域が動き補償手段5に入力されていることになる。ここでは、検出結果1に示すオブジェクト領域が動き補償手段5に入力されている場合を例にして説明する。動き補償手段5は、検出結果1が示すオブジェクト領域に対して第1の動き補償を行うことで、オブジェクト領域検出処理が完了したと判定した時点で入力されている最新のフレーム画像Cにおけるオブジェクト領域P(図1参照)を求める。
図8は、第1の動き補償の処理経過の例を示すフローチャートである。第1の動き補償において、動き補償手段5は、累積動き記憶手段13に記憶された特徴点毎の動き累積ベクトルを読み込む(ステップS31)。本例では、図1に示す検出結果1を導出したオブジェクト領域検出処理はフレーム画像A(図1参照)を対象に行われたものである。そして、累積動き記憶手段13に記憶されている動き累積ベクトルは、オブジェクト領域検出処理の対象となったフレーム画像A,B間の動きベクトル、および、フレーム画像B,C間の動きベクトルを累積したものである。すなわち、動き累積ベクトルは、フレーム画像A〜Cに渡る特徴点の動きを表している。
次に、動き補償手段5は、ステップS31で読み込んだ動き累積ベクトルのうち、アウトライヤに該当する動き累積ベクトルを削除する(ステップS32)。動き補償手段5は、例えば、ステップS23(図5参照)の処理と同様に、RANSACアルゴリズムでアウトライヤに該当する動き累積ベクトルを削除してもよい。あるいは他の方法でアウトライヤに該当する動き累積ベクトルを削除してもよい。ステップS32で削除されずに残った動き累積ベクトルはインライヤに該当する。
ステップS32の後、動き補償手段5は、オブジェクト領域検出処理の結果得られたオブジェクト領域(換言すれば、オブジェクト検出手段2から入力されたオブジェクト領域)から、オブジェクト領域検出処理が完了したと判定した時点で入力されていた最新のフレーム画像(本例では、図1に示すフレーム画像C)内のオブジェクト領域への幾何変形を表す平面射影変換パラメータを、インライヤに該当する動き累積ベクトルに基づいて算出する(ステップS33)。
そして、動き補償手段5は、オブジェクト検出手段2から入力されたオブジェクト領域(具体的には、オブジェクトの輪郭上の各頂点)に対して、ステップS33で算出した平面射影変換パラメータを用いて平面射影変換を行う(ステップS34)。この変換によって得られる各頂点は、オブジェクト領域検出処理が完了したと判定した時点で入力されていた最新のフレーム画像におけるオブジェクト領域を表す。この結果、本例では、図1に示すオブジェクト領域Pが得られる。動き補償手段5は、その最新のフレーム画像におけるオブジェクト領域を重畳画像生成手段6に入力する。
動き補償手段5は、ステップS34の変換後のオブジェクト領域で、オブジェクト領域記憶手段14に記憶されているオブジェクト領域を更新する。オブジェクト領域記憶手段14に新たに記憶されたオブジェクト領域は、次のフレーム画像が入力されたときに、そのフレーム画像の1つ前のフレーム画像内のオブジェクト領域として用いられる。
上記の説明では、フレーム画像Aに対するオブジェクト領域の検出結果である検出結果1(図1参照)に対して、フレーム画像A〜Cに渡る特徴点の動きを表す動き累積ベクトルを適用して、フレーム画像内のオブジェクト領域Pを求める場合を例にした。動き補償手段5は、検出結果2(図1参照)に対して第1の動き補償を行う場合にも同様に、ステップS31〜S34を行えばよい。
また、画像内に複数のオブジェクト領域が複数存在する場合には、動き補償手段5は、オブジェクト領域毎に上記の処理を行えばよい。図9は、画像内に3つのオブジェクト領域が存在する場合における第1の動き補償の例を示す模式図である。図9(a)は、オブジェクト領域毎の動き累積ベクトルを表している。動き補償手段5は、オブジェクト領域毎にアウトライヤを削除し(図9(b)参照)、オブジェクト領域毎に、インライヤに該当する動き累積ベクトルに基づいて平面射影変換パラメータを算出して、オブジェクト領域に対する変換を行えばよい(図9(c)参照)。
第1の動き補償(ステップS6)の後、動き補償手段5は、累積動き記憶手段13にリセット信号を送信し、累積動き記憶手段13に記憶されている各動き累積ベクトルを0ベクトルにリセットする(ステップS7)。
次に、動き補償手段5は、オブジェクト検出手段2に対して、オブジェクト領域検出処理が完了したと判定した時点で入力されていた最新のフレーム画像(前述の例ではフレーム画像C)を対象にして、新たにオブジェクト領域検出処理を開始させる(ステップS8)。
オブジェクト検出手段2は、動き補償手段5に従って、オブジェクト領域検出処理が完了したと判定した時点で入力されていた最新のフレーム画像(すなわち、直近のステップS1で入力されたフレーム画像)を対象に、オブジェクト領域検出処理を開始する(ステップS50)。ステップS50では、オブジェクト検出手段2は、オブジェクト領域検出処理(図5参照)を実行すればよい。
なお、ステップS8の前に動き累積ベクトルが0ベクトルに初期化されているので、新たなフレーム画像の入力に伴って、オブジェクト領域検出処理の対象画像以降の動き累積ベクトルが新たに生成されていくことになる。例えば、フレーム画像Cを対象にオブジェクト領域検出処理が開始された後、フレーム画像D,E等が順次入力されると、動き累積ベクトルの初期値(0ベクトル)に、画像C,D間の動きベクトル、画像D,E間の動きベクトル等が加算されていくことになる。
また、オブジェクト領域検出処理が実行中である場合(ステップS5におけるYes)、動き補償手段5は、第2の動き補償を行う(ステップS9)。第2の動き補償では、動き補償手段5は、オブジェクト領域記憶手段14に記憶されている1つ前のフレーム画像内のオブジェクト領域に、そのフレーム画像と最新のフレーム画像との間の動きベクトルを適用して最新のフレーム画像内のオブジェクト領域を求める。
図10は、第2の動き補償の処理経過の例を示すフローチャートである。なお、動き補償手段5には、特徴点対応付け手段3によって、1つ前のフレーム画像内の特徴点から最新のフレーム画像内の特徴点への動きベクトルが入力されている。すなわち、動き補償手段5には、ステップS3で求められた動きベクトルが入力されている。
動き補償手段5は、オブジェクト領域記憶手段14に記憶されているオブジェクト領域を読み込む(ステップS41)。このオブジェクト領域は、直近のステップS1で入力された最新のフレーム画像の1つ前のフレーム画像におけるオブジェクト領域である。
また、動き補償手段5は、特徴点対応付け手段3から入力された各特徴点の動きベクトルのうち、アウトライヤに該当する動きベクトルを削除する(ステップS42)。動き補償手段5は、例えば、ステップS23(図5参照)の処理と同様に、RANSACアルゴリズムでアウトライヤに該当する動きベクトルを削除してもよい。あるいは他の方法でアウトライヤに該当する動きベクトルを削除してもよい。ステップS42で削除されずに残った動きベクトルはインライヤに該当する。
ステップS42の後、動き補償手段5は、ステップS41で読み込んだオブジェクト領域(1つ前のフレーム画像におけるオブジェクト領域)から、直近のステップS1で入力された最新のフレーム画像におけるオブジェクト領域への幾何変形を表す平面射影変換パラメータを、インライヤに該当する動きベクトルに基づいて算出する(ステップS43)。
そして、動き補償手段5は、ステップS41で読み込んだオブジェクト領域に対して、ステップS43で算出した平面射影変換パラメータを用いて平面射影変換を行う(ステップS44)。この変換によって得られる各頂点は、直近のステップS1で入力された最新のフレーム画像におけるオブジェクト領域を表す。動き補償手段5は、その最新のフレーム画像におけるオブジェクト領域を重畳画像生成手段6に入力する。
また、動き補償手段5は、ステップSS44の変換後のオブジェクト領域で、オブジェクト領域記憶手段14に記憶されているオブジェクト領域を更新する。オブジェクト領域記憶手段14に新たに記憶されたオブジェクト領域は、次のフレーム画像が入力されたときに、そのフレーム画像の1つ前のフレーム画像内のオブジェクト領域として用いられる。
以上のような第2の動き補償によって、例えば、最新のフレーム画像としてフレーム画像D(図1参照)が入力されたときに、オブジェクト領域P(図1参照)に、画像C,D間の動きベクトルを適用してフレーム画像Dにおけるオブジェクト領域Qを得ることができる。また、例えば、最新のフレーム画像としてフレーム画像Eが入力されたときに、オブジェクト領域Qに、画像D,E間の動きベクトルを適用してフレーム画像Eにおけるオブジェクト領域Rを得ることができる。
ステップS8またはステップS9の後、重畳画像生成手段6は、オブジェクト情報記憶手段12から重畳情報を読み込む。そして、重畳画像生成手段6は、動き補償手段5から入力されたオブジェクト領域の位置に合わせて、その重畳情報の配置位置を決定する。そして、重畳画像生成手段6は、直近のステップS1で入力されたフレーム画像におけるその配置位置に、重畳情報を重畳する(ステップS10)。
そして、重畳画像生成手段6は、重畳情報を重畳したフレーム画像を出力する(ステップS11)。ステップS11におけるフレーム画像の出力態様は、特に限定されない。例えば、画像処理システムが表示装置を備え、重畳画像生成手段6は、その表示装置にフレーム画像を表示させてもよい。あるいは、重畳画像生成手段6は、他の装置にフレーム画像を送信してもよい。
ステップS11の後、さらに次のフレーム画像が入力されると、画像処理システムはステップS1(図7参照)以降の処理を繰り返す。
本実施形態の画像処理システムは、オブジェクト領域検出処理の対象としたフレーム画像(例えば、図1に示すフレーム画像A)から、オブジェクト領域検出処理が完了したと判定した時点において入力されている最新のフレーム画像(例えば、図1に示すフレーム画像C)までの特徴点の動きを動き累積ベクトルとして保持する。そして、オブジェクト領域検出処理で検出したオブジェクト領域にその動き累積ベクトルを適用して、検出したオブジェクト領域を変換する(第1の動き補償)。従って、オブジェクト領域検出処理に要する時間がフレーム間隔よりも長くても、オブジェクト領域検出処理中に入力された各フレーム画像間での特徴点の動きに合わせて、検出結果となるオブジェクト領域を補正することができる。その結果、オブジェクト領域検出処理が完了したと判定した時点において入力されている最新のフレーム画像のオブジェクト領域を得ることができ、そのオブジェクト領域に合わせて重畳情報の位置合わせを行うことができる。よって、オブジェクト領域検出処理がフレーム間隔より長くても、重畳情報を画像内の適切な位置に表示することができる。
上記の実施形態では、特徴点抽出手段1は、フレーム画像にDoGフィルタを適用して、その結果生成された画像中において画素値が極大となる点を特徴点とする。従って、特徴点座標の抽出精度を高めることができる。その結果、動きベクトルや動き累積ベクトルの精度も高めることができ、重畳情報の位置合わせの精度も高めることができる。
また、一般的なARシステムの処理(図13参照)では、重畳情報の更新レートが入力画像のフレームレートよりも遅いという問題がある。その理由は、一般的なARシステムは、重畳情報をフレーム画像に重畳して表示する処理を、フレーム画像からオブジェクト領域が検出されるのを待ってから実行するため、オブジェクト領域の検出処理と同等以下のレートでしか重畳情報の更新を実行できないためである。
これに対し本発明では、オブジェクト領域検出処理の実行中に新たなフレーム画像が入力された場合、画像処理システムは、1つ前のフレーム画像の特徴点から最新のフレーム画像の特徴点への動きベクトルを算出する。そして、1つ前のフレーム画像のオブジェクト領域をオブジェクト領域記憶手段14から読み込み、そのオブジェクト領域を動きベクトルにあわせて変換する。その結果、以前に入力されたフレーム画像に対するオブジェクト領域検出処理が完了していなくても、最新のフレーム画像のオブジェクト領域を得ることができ、そのオブジェクト領域に合わせて重畳情報の位置合わせを行うことができる。従って、重畳情報の更新レートを、入力画像のフレームレートに合わせることができる。
次に、本発明の最小構成について説明する。図11は、本発明の最小構成の例を示すブロック図である。本発明の画像処理システムは、特徴点導出手段91と、オブジェクト情報記憶手段92と、オブジェクト領域検出手段93と、特徴点対応付け手段94と、動き累積手段95と、オブジェクト領域特定手段96と、重畳画像生成手段97とを備える。
特徴点導出手段91(例えば、特徴点抽出手段1)は、動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出する。
オブジェクト情報記憶手段92(例えば、オブジェクト情報記憶手段12)は、基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、そのオブジェクト領域内の各特徴点座標とを記憶する。
オブジェクト領域検出手段93(例えば、オブジェクト検出手段2)は、特徴点導出手段91によって導出された各特徴点座標と、オブジェクト情報記憶手段92に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段92に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理を行う。
特徴点対応付け手段94(例えば、特徴点対応付け手段3)は、直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、1つ前のフレーム画像の特徴点座標から直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報(例えば、動きベクトル)を導出する。
動き累積手段95(例えば、動き累積手段4)は、動き情報の累積である動き累積情報(例えば、動き累積ベクトル)を導出する。
オブジェクト領域特定手段96(例えば、動き補償手段5)は、入力された個々のフレーム画像のオブジェクト領域を特定する。
重畳画像生成手段97(例えば、重畳画像生成手段6)は、入力されたフレーム画像のオブジェクト領域に、オブジェクトの関連情報の位置合わせを行い、そのフレーム画像に関連情報を重畳させる。
そして、オブジェクト領域特定手段96は、検出処理が完了したと判定したことを条件に、検出処理の対象となったフレーム画像のオブジェクト領域を、動き累積手段95によって導出された動き累積情報を用いて変換することによって、検出処理が完了したと判定した時点で入力されている直近のフレーム画像のオブジェクト領域を特定し、動き累積情報を初期化し、直近のフレーム画像を対象としてオブジェクト領域検出手段93に検出処理を開始させる。
以上のような構成によって、画像内のオブジェクトの位置に精度よく重畳情報を重畳させることができる。
また、オブジェクト領域特定手段96は、直近に入力されたフレーム画像のオブジェクト領域を特定するときに、オブジェクト領域検出手段93がオブジェクト領域を検出する検出処理が完了したと判定したことを条件に、オブジェクト領域検出手段93が検出した検出処理対象のフレーム画像のオブジェクト領域を、動き累積情報を用いて変換することによって、直近に入力されたフレーム画像のオブジェクト領域を特定する。
また、オブジェクト領域特定手段96は、直近に入力されたフレーム画像のオブジェクト領域を特定するときに、オブジェクト領域検出手段93がオブジェクト領域を検出する検出処理を実行中である場合に、直近に入力されたフレーム画像の1つ前のフレーム画像と直近に入力されたフレーム画像との間の動き情報を用いて、1つ前のフレーム画像のオブジェクト領域を変換することによって、直近に入力されたフレーム画像のオブジェクト領域を特定する。
本発明は、画像内に重畳情報を重畳して表示する画像処理システムに好適に適用される。
1 特徴点抽出手段
2 オブジェクト検出手段
3 特徴点対応付け手段
4 動き累積手段
5 動き補償手段
6 重畳画像生成手段
11 特徴点情報記憶手段
12 オブジェクト情報記憶手段
13 累積動き記憶手段
14 オブジェクト領域記憶手段
2 オブジェクト検出手段
3 特徴点対応付け手段
4 動き累積手段
5 動き補償手段
6 重畳画像生成手段
11 特徴点情報記憶手段
12 オブジェクト情報記憶手段
13 累積動き記憶手段
14 オブジェクト領域記憶手段
Claims (9)
- 動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出する特徴点導出手段と、
基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、前記オブジェクト領域内の各特徴点座標とを記憶するオブジェクト情報記憶手段と、
特徴点導出手段によって導出された各特徴点座標と、オブジェクト情報記憶手段に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理を行うオブジェクト領域検出手段と、
直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、前記1つ前のフレーム画像の特徴点座標から前記直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出する特徴点対応付け手段と、
前記動き情報の累積である動き累積情報を導出する動き累積手段と、
入力された個々のフレーム画像のオブジェクト領域を特定するオブジェクト領域特定手段と、
入力されたフレーム画像のオブジェクト領域に、前記オブジェクトの関連情報の位置合わせを行い、前記フレーム画像に前記関連情報を重畳させる重畳画像生成手段とを備え、
オブジェクト領域特定手段は、
前記検出処理が完了したと判定したことを条件に、
前記検出処理の対象となったフレーム画像のオブジェクト領域を、前記動き累積手段によって導出された動き累積情報を用いて変換することによって、前記検出処理が完了したと判定した時点で入力されている直近のフレーム画像のオブジェクト領域を特定し、
前記動き累積情報を初期化し、
前記直近のフレーム画像を対象として前記オブジェクト領域検出手段に前記検出処理を開始させる
ことを特徴とする画像処理システム。 - オブジェクト領域特定手段は、直近に入力されたフレーム画像のオブジェクト領域を特定するときに、オブジェクト領域検出手段がオブジェクト領域を検出する検出処理が完了したと判定したことを条件に、前記オブジェクト領域検出手段が検出した検出処理対象のフレーム画像のオブジェクト領域を、動き累積情報を用いて変換することによって、前記直近に入力されたフレーム画像のオブジェクト領域を特定する
請求項1に記載の画像処理システム。 - オブジェクト領域特定手段は、直近に入力されたフレーム画像のオブジェクト領域を特定するときに、オブジェクト領域検出手段がオブジェクト領域を検出する検出処理を実行中である場合に、前記直近に入力されたフレーム画像の1つ前のフレーム画像と前記直近に入力されたフレーム画像との間の動き情報を用いて、前記1つ前のフレーム画像のオブジェクト領域を変換することによって、前記直近に入力されたフレーム画像のオブジェクト領域を特定する
請求項1または請求項2に記載の画像処理システム。 - オブジェクト情報記憶手段が、基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、前記オブジェクト領域内の各特徴点座標とを記憶し、
動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出し、
導出した各特徴点座標と、オブジェクト情報記憶手段に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理を実行し、
直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、前記1つ前のフレーム画像の特徴点座標から前記直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出し、
前記動き情報の累積である動き累積情報を導出する動き累積処理を実行し、
入力された個々のフレーム画像のオブジェクト領域を特定するオブジェクト領域特定処理を実行し、
入力されたフレーム画像のオブジェクト領域に、前記オブジェクトの関連情報の位置合わせを行い、前記フレーム画像に前記関連情報を重畳させ、
前記オブジェクト領域特定処理で、
前記検出処理が完了したと判定したことを条件に、
前記検出処理の対象となったフレーム画像のオブジェクト領域を、前記動き累積処理で導出された動き累積情報を用いて変換することによって、前記検出処理が完了したと判定した時点で入力されている直近のフレーム画像のオブジェクト領域を特定し、
前記動き累積情報を初期化し、
前記直近のフレーム画像を対象として前記検出処理を開始する
ことを特徴とする画像処理方法。 - 直近に入力されたフレーム画像のオブジェクト領域を特定するときに、検出処理が完了したと判定したことを条件に、検出処理対象のフレーム画像のオブジェクト領域を、動き累積情報を用いて変換することによって、前記直近に入力されたフレーム画像のオブジェクト領域を特定する
請求項4に記載の画像処理方法。 - 直近に入力されたフレーム画像のオブジェクト領域を特定するときに、検出処理を実行中である場合に、前記直近に入力されたフレーム画像の1つ前のフレーム画像と前記直近に入力されたフレーム画像との間の動き情報を用いて、前記1つ前のフレーム画像のオブジェクト領域を変換することによって、前記直近に入力されたフレーム画像のオブジェクト領域を特定する
請求項4または請求項5に記載の画像処理方法。 - 基準となる画像に関して、オブジェクトに該当する領域であるオブジェクト領域と、前記オブジェクト領域内の各特徴点座標とを記憶するオブジェクト情報記憶手段を備えたコンピュータに搭載される画像処理用プログラムであって、
前記コンピュータに、
動画のフレーム画像が入力されると、入力されたフレーム画像における各特徴点座標を導出する特徴点導出処理、
特徴点導出処理で導出した各特徴点座標と、オブジェクト情報記憶手段に記憶された各特徴点座標とを対応付け、対応する特徴点座標間の変位を用いてオブジェクト情報記憶手段に記憶されたオブジェクト領域を変換することによって、入力されたフレーム画像におけるオブジェクト領域を検出する検出処理、
直近に入力されたフレーム画像の1つ前のフレーム画像の特徴点座標と、直近に入力されたフレーム画像の特徴点座標とを対応付け、対応付けた特徴点座標の組毎に、前記1つ前のフレーム画像の特徴点座標から前記直近に入力されたフレーム画像の特徴点座標への動きを表す動き情報を導出する特徴点対応付け処理、
前記動き情報の累積である動き累積情報を導出する動き累積処理、
入力された個々のフレーム画像のオブジェクト領域を特定するオブジェクト領域特定処理、および、
入力されたフレーム画像のオブジェクト領域に、前記オブジェクトの関連情報の位置合わせを行い、前記フレーム画像に前記関連情報を重畳させる重畳画像生成処理を実行させ、
前記オブジェクト領域特定処理で、
前記検出処理が完了したと判定したことを条件に、
前記検出処理の対象となったフレーム画像のオブジェクト領域を、前記動き累積処理で導出された動き累積情報を用いて変換することによって、前記検出処理が完了したと判定した時点で入力されている直近のフレーム画像のオブジェクト領域を特定させ、
前記動き累積情報を初期化させ、
前記直近のフレーム画像を対象として前記検出処理を開始させる
ための画像処理用プログラム。 - コンピュータに、
直近に入力されたフレーム画像のオブジェクト領域を特定させるときに、検出処理が完了したと判定したことを条件に、検出処理対象のフレーム画像のオブジェクト領域を、動き累積情報を用いて変換することによって、前記直近に入力されたフレーム画像のオブジェクト領域を特定させる
請求項7に記載の画像処理用プログラム。 - コンピュータに、
直近に入力されたフレーム画像のオブジェクト領域を特定させるときに、検出処理を実行中である場合に、前記直近に入力されたフレーム画像の1つ前のフレーム画像と前記直近に入力されたフレーム画像との間の動き情報を用いて、前記1つ前のフレーム画像のオブジェクト領域を変換することによって、前記直近に入力されたフレーム画像のオブジェクト領域を特定させる
請求項7または請求項8に記載の画像処理用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011278432A JP2013130930A (ja) | 2011-12-20 | 2011-12-20 | 画像処理システム、画像処理方法および画像処理用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011278432A JP2013130930A (ja) | 2011-12-20 | 2011-12-20 | 画像処理システム、画像処理方法および画像処理用プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013130930A true JP2013130930A (ja) | 2013-07-04 |
Family
ID=48908459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011278432A Pending JP2013130930A (ja) | 2011-12-20 | 2011-12-20 | 画像処理システム、画像処理方法および画像処理用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013130930A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016126383A (ja) * | 2014-12-26 | 2016-07-11 | 三菱電機株式会社 | タッチ領域設定方法およびタッチ領域設定装置 |
US10229543B2 (en) | 2014-06-13 | 2019-03-12 | Mitsubishi Electric Corporation | Information processing device, information superimposed image display device, non-transitory computer readable medium recorded with marker display program, non-transitory computer readable medium recorded with information superimposed image display program, marker display method, and information-superimposed image display method |
-
2011
- 2011-12-20 JP JP2011278432A patent/JP2013130930A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229543B2 (en) | 2014-06-13 | 2019-03-12 | Mitsubishi Electric Corporation | Information processing device, information superimposed image display device, non-transitory computer readable medium recorded with marker display program, non-transitory computer readable medium recorded with information superimposed image display program, marker display method, and information-superimposed image display method |
JP2016126383A (ja) * | 2014-12-26 | 2016-07-11 | 三菱電機株式会社 | タッチ領域設定方法およびタッチ領域設定装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6507730B2 (ja) | 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム | |
US8798387B2 (en) | Image processing device, image processing method, and program for image processing | |
JP4377932B2 (ja) | パノラマ画像生成装置およびプログラム | |
US20160343136A1 (en) | Data-processing system and method for calibration of a vehicle surround view system | |
JP6976733B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP6403115B2 (ja) | 3次元情報復元装置、3次元情報復元システム、及び3次元情報復元方法 | |
JP6701930B2 (ja) | オーサリング装置、オーサリング方法およびオーサリングプログラム | |
JP2016171463A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2011008687A (ja) | 画像処理装置 | |
US20170004379A1 (en) | On-road stereo visual odometry without explicit pose determinations | |
JP4941565B2 (ja) | 対応点探索装置および対応点探索方法 | |
JP2009134693A5 (ja) | ||
US20180342079A1 (en) | Image processing apparatus, image processing method, and computer readable recording medium | |
JP6594170B2 (ja) | 画像処理装置、画像処理方法、画像投影システムおよびプログラム | |
CN113190120B (zh) | 位姿获取方法、装置、电子设备及存储介质 | |
JP2008217526A (ja) | 画像処理装置、画像処理プログラム及び画像処理方法 | |
JP5449980B2 (ja) | 動き補正装置およびその方法 | |
TW201523510A (zh) | 點雲拼接系統及方法 | |
JP2019012360A (ja) | 情報処理装置、プログラム及び情報処理方法 | |
JP2013130930A (ja) | 画像処理システム、画像処理方法および画像処理用プログラム | |
JP6326959B2 (ja) | 投影システム、情報処理装置、情報処理方法及びプログラム | |
JP5530391B2 (ja) | カメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラム | |
CN110692235B (zh) | 图像处理装置、图像处理程序及图像处理方法 | |
JP6388744B1 (ja) | 測距装置および測距方法 | |
WO2016185556A1 (ja) | 合成画像生成装置及び合成画像生成方法及び合成画像生成プログラム |