JP4507129B2 - 追尾点検出装置および方法、プログラム、並びに記録媒体 - Google Patents

追尾点検出装置および方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
JP4507129B2
JP4507129B2 JP2008149051A JP2008149051A JP4507129B2 JP 4507129 B2 JP4507129 B2 JP 4507129B2 JP 2008149051 A JP2008149051 A JP 2008149051A JP 2008149051 A JP2008149051 A JP 2008149051A JP 4507129 B2 JP4507129 B2 JP 4507129B2
Authority
JP
Japan
Prior art keywords
frame
tracking point
pixel
image
unit
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.)
Expired - Fee Related
Application number
JP2008149051A
Other languages
English (en)
Other versions
JP2009294983A (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.)
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 JP2008149051A priority Critical patent/JP4507129B2/ja
Priority to US12/477,418 priority patent/US20090304234A1/en
Priority to CN2009101426617A priority patent/CN101599178B/zh
Priority to EP09162015A priority patent/EP2131329A3/en
Publication of JP2009294983A publication Critical patent/JP2009294983A/ja
Application granted granted Critical
Publication of JP4507129B2 publication Critical patent/JP4507129B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Description

本発明は、追尾点検出装置および方法、プログラム、並びに記録媒体に関し、特に、所望の追尾対象を簡単かつ確実に追尾させることができるようにする追尾点検出装置および方法、プログラム、並びに記録媒体に関する。
動画像中でユーザが指定した対象を追尾する技術は、従来から数多くあり、例えば、特許文献1の技術が提案されている。
特許文献1の技術では、最初に指定した追尾対象における動きを検出し、動きに応じて追尾点を動かしていく方式が採用されている。そのため追尾対象において回転や変形が伴うと、回転や変形に動きを合わせようとするため、徐々に追尾点が追尾対象から外れてしまう問題があった。
これに対し、ユーザが所望の追尾結果が得られていないと判断した際に、ユーザが追尾点の修正操作を行うことで、追尾点のずれを補正する技術も提案されている(例えば、特許文献2参照)。
特開2005−303983 特開2007−274543
しかしながら、特許文献2の技術では、追尾点のずれをユーザが判断しなければならず、また、追尾点のずれを補正する操作もユーザによって行われる。このため、ユーザに多大な労力が必要とされる問題があった。
本発明はこのような状況に鑑みてなされたものであり、所望の追尾対象を簡単かつ確実に追尾させることができるようにするものである。
本発明の一側面は、時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きを行うフレーム間引き手段と、前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素を追尾点として検出する第1の検出手段と、前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出を行う順方向検出手段と、前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出を行う逆方向検出手段と、前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素を追尾点として検出する第2の検出手段とを備える追尾点検出装置である。
時間的に連続する複数のフレームの画像により構成される動画像を縮小する縮小手段をさらに備え、フレーム間引き手段が、前記縮小された動画像のフレーム間隔の間引きを行い、前記第1の検出手段および前記第2の検出手段は、それぞれ前記縮小された動画像のフレームの追尾点を検出するようにすることができる。
前記第2の検出手段により検出された追尾点の画素の位置を、前記縮小されていない動画像のフレームにおける前記追尾点の画素の位置に変換する変換手段をさらに備えるようにすることができる。
前記フレームが間引かれた後の動画像の時間的に前のフレームにおいて、候補となる画素を複数設定する候補設定手段をさらに備え、前記第1の検出手段が、時間的に前のフレームの候補となる画素のそれぞれに対応する時間的に後のフレームの画素のそれぞれを、追尾点候補として検出し、前記順方向検出手段が、時間的に前のフレームにおいて候補となる画素のそれぞれに対応する画素のそれぞれを、前記間引かれたフレームのそれぞれにおいて順方向検出し、前記逆方向検出手段が、時間的に後のフレームにおいて前記追尾点候補として検出された画素に対応する画素のそれぞれを、前記間引かれたフレームのそれぞれにおいて逆方向検出し、前記第2の検出手段が、前記順方向検出により検出されたそれぞれ画素の位置と、前記逆方向検出により検出されたそれぞれの画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれにおいて、複数の画素をそれぞれ追尾点候補として検出するようにすることができる。
前記候補設定手段が設定した、前記時間的に前のフレームにおいて前記候補となる複数の画素のうちの所定の画素の位置を表す情報と、前記第1の検出手段により、前記所定の画素に対応する前記時間的に後のフレームにおける追尾点候補として検出された画素の位置を表す情報と、前記順方向検出手段により順方向検出された前記所定の画素に対応する前記間引かれたフレームのそれぞれの画素の位置を表す情報と、前記逆方向検出手段により逆方向検出された前記所定の画素に対応する前記間引かれたフレームのそれぞれの画素の位置を表す情報と、前記第2の検出手段により、前記所定の画素および前記追尾点候補に対応する前記間引かれたフレームのそれぞれの追尾点候補として検出された画素の位置を表す情報とを対応付けて1組の追尾点候補群とし、前記候補設定手段が設定した前記候補となる画素の数と同数の組の追尾点候補群を記憶する記憶手段をさらに備えるようにすることができる。
前記第1の検出手段は、時間的に前のフレームの所定の画素を中心とした画素で構成されるブロックの画素値と、前記時間的に後のフレームにおいて前記所定の画素に対応する位置の画素の周辺の複数の画素のそれぞれを中心とした画素で構成される複数のブロックの画素値の差分絶対値和を演算し、前記複数のブロックのうち、前記差分絶対値和の値が最小となったブロックの中心となる画素を追尾点として検出するようにすることができる。
前記第1の検出手段は、前記時間的に前のフレームの所定の画素を中心とした所定領域である動き検出画素範囲内の画素のそれぞれを中心とした画素で構成されるブロックを複数設定し、前記動き検出画素範囲内の画素のそれぞれに対応する前記追尾点の画素を検出し、前記動き検出画素範囲内の画素のそれぞれに対応する前記追尾点の画素の座標値に基づいて演算された座標値を、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの追尾点の位置として検出するようにすることができる。
前記時間的に前のフレームよりさらに時間的に前のフレームにおいて、予め検出された追尾点の画素を中心とした所定領域内の画素値と、前記候補設定手段が設定した、前記時間的に前のフレームにおいて前記候補となる複数の画素のそれぞれを中心とした所定領域内の画素値との差分絶対値総和の値を算出する差分値算出手段と、前記記憶手段に記憶されている前記順方向検出された前記間引かれたフレームのそれぞれの画素の位置を表す情報、および前記逆方向検出された前記間引かれたフレームのそれぞれの画素の位置を表す情報に基づいて、前記間引かれたフレームのうち、時間的に中間に位置するフレームにおける前記順方向検出された画素と、前記逆方向検出された画素との距離を算出する距離算出手段とをさらに備えるようにすることができる。
前記算出された差分絶対値総和の値、および前記算出された距離を、それぞれ所定の値と比較することで、前記候補設定手段が設定した前記候補となる複数の画素の中から、予め設定された条件を満たす画素を複数検出し、前記予め設定された条件を満たすそれぞれ画素の位置の情報に基づいて、前記候補設定手段が設定した前記候補となる複数の画素の中の1つの画素を特定し、前記記憶手段が記憶している複数の追尾点群のうち、前記特定された1の画素に対応する追尾点群を、それぞれのフレームにおける追尾点とするようにすることができる。
前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素を中心とする所定領域内の画素値と、前記第1の検出手段により検出された前記時間的に後のフレームにおける画素を中心とする所定領域内の画素値との差分絶対値総和の値に基づいて、フレーム間引き手段が間引くフレーム間隔を増減させるフレーム間隔増減手段をさらに備えるようにすることができる。
予め撮影された画像をテンプレートとして保持するテンプレート保持手段と、前記動画像の所定のフレームの画像から、前記テンプレートに表示されていないオブジェクトを抽出するオブジェクト抽出手段と、前記抽出されたオブジェクトの画像の中から、前記追尾点を検出するための画素を特定する画素特定手段とをさらに備えるようにすることができる。
前記第1の検出手段は、前記フレームが間引かれた後の動画像において、注目フレーム、注目フレームの時間的に前のフレーム、注目フレームの時間的に後のフレームに基づいて、移動するオブジェクト対応する領域を抽出する領域抽出手段と、前記領域抽出手段により抽出された領域の中から、前記時間的に前のフレームの所定の画素に対応する前記注目フレームの画素を検出する領域内検出手段とを備えるようにすることができる。
前記領域抽出手段は、前記注目フレームと前記注目フレームの時間的に前のフレームとの間で得られた画面動きベクトルに基づいて前記注目フレームの画面位置をシフトさせる第1の画面位置シフト手段と、前記画面位置をシフトさせた注目フレームの画像と、注目フレームの時間的に前のフレームの画像との間で差分を算出する第1のフレーム差分算出手段と、前記注目フレームと前記注目フレームの時間的に後のフレームとの間で得られた画面動きベクトルに基づいて前記注目フレームの画面位置をシフトさせる第2の画面位置シフト手段と、前記画面位置をシフトさせた注目フレームの画像と、注目フレームの時間的に後のフレームの画像との間で差分を算出する第2のフレーム差分算出手段と、前記第1のフレーム差分算出手段により算出された前記差分に対応する画素と、前記第2のフレーム差分算出手段により算出された前記差分に対応する画素とのAND領域を、オブジェクト対応する領域として抽出するAND領域抽出手段とを備えるようにすることができる。
本発明の一側面は、時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きを行い、前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素を追尾点として検出し、前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出を行い、前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出を行い、前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素を追尾点として検出するステップを含む追尾点検出方法である。
本発明の一側面は、コンピュータを、時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きを行うフレーム間引き手段と、前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素を追尾点として検出する第1の検出手段と、前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出を行う順方向検出手段と、前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出を行う逆方向検出手段と、前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素を追尾点として検出する第2の検出手段とを備える追尾点検出装置として機能させるプログラムである。
本発明の一側面においては、時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きが行われ、前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素が追尾点として検出され、前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出が行われ、前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出が行われ、前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素が追尾点として検出される。
本発明によれば、所望の追尾対象を簡単かつ確実に追尾させることができる。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の一実施の形態に係る画像処理装置の構成例を示すブロック図である。この画像処理装置100において、図示せぬ入力装置から入力画像信号Vinが、初期追尾点決定部101、階層化部103、第3階層動き検出部111、および出力画像生成部113へ入力される。
図2は、初期追尾点決定部101の詳細な構成例を示すブロック図である。同図に示されるように、初期追尾点決定部101は、画像信号提示部1010と追尾点指定部1011とにより構成されている。
画像信号提示部1010は、例えば、ディスプレイなどとして構成され、入力画像信号Vinに対応する画像を表示するようになされている。追尾点指定部1011は、例えば、マウスなどのポインティングデバイスとして構成され、ユーザの操作などに対応して画像信号提示部1010において表示された画像の中の1点(例えば、1画素)を初期追尾点として指定するようになされている。
すなわち、初期追尾点決定部101が図2のように構成される場合、初期追尾点はユーザにより指定されるようになされている。例えば、ユーザが、ディスプレイに表示された画像を観察しながら、その画像に表示されている追尾すべきオブジェクトの特徴点を、初期追尾点として指定するのである。
図1に戻って、初期追尾点決定部101により決定された初期追尾点の座標(xs、ys)は、追尾点更新部115に供給されるようになされている。
追尾点更新部115は、追尾点の座標(x0,y0)を第1階層動き検出部104に供給するようになされている。いまの場合、追尾点更新部115は、初期追尾点の座標(xs、ys)を、追尾点の座標(x0,y0)として第1階層動き検出部104に供給する。
階層化部103は、入力画像信号Vinに対して階層化の処理を行う。ここで階層化の処理は、例えば、画像の画素数の圧縮(画像サイズの縮小)、入力画像のフレーム間隔(フレームレート)の間引きなどの処理とされる。
図3は、階層化部103の詳細な構成例を示すブロック図である。同図に示されるように、階層化部103は、縮小画生成部1030とフレーム間引き部1031とにより構成されている。
階層化部103の縮小画生成部1030は、入力画像信号の画像について、例えば、x方向で2画素ずつ、y方向で2画素ずつ、計4個の画素の平均値を用いて、1/4の大きさの縮小された画像F2を生成する。これにより、入力画像信号の画像とフレームレートが同一であって、画素数が圧縮され、サイズが1/4に縮小された画像F2が生成されることになる。
図4は、階層化部103の処理を説明する図である。同図において、個々の平行四辺形がそれぞれ1つのフレームを表している。縮小画生成部1030の処理により、入力画像の各フレームのサイズが1/4に縮小され、画像F2のフレームとされている。なお、入力画像のフレーム数(いまの場合、11個)と、画像F2のフレーム数は同じである。
階層化部103のフレーム間引き部1031は、縮小された画像F2に対して、さらにフレームの間引き処理を行って画像F1の生成を行うようになされている。
これにより、図4に示されるように、入力画像信号のサイズが1/4に縮小され、さらに、フレーム間隔(フレームレート)が1/5に間引かれた画像F1が生成されることになる。同図に示されるように、画像F1においては、画像F2の左から2番目乃至5番目のフレームが間引かれている。また、画像F1においては、画像F2の左から7番目乃至10番目のフレームも間引かれている。
なお、階層化部103に、縮小画生成部1030が設けられないようにしてもよい。すなわち、階層化部103においては、フレームの間引き処理のみが行われるようにし、縮小画像を生成しないようにしてもよい。この場合、階層化部103は、入力画像信号の画像をそのまま、画像F2として出力し、画像F2に対して、フレームの間引き処理を行って画像F1の生成を行うことになる。
なお、階層化部103において、画素数が圧縮され、サイズが1/4に縮小される場合、初期追尾点の座標(xs、ys)は、式(1)および式(2)により変換されて、変換後の座標(xsm、ysm)が追尾点の座標(x0,y0)とされるようになされている。
Figure 0004507129
Figure 0004507129
(式中の[ ]は、切捨て処理を意味している。)
図1に戻って、階層化部103から供給される画像F1は、第1階層動き検出部104へ入力されるようになされている。また、階層化部103から供給される画像F2は第2階層動き検出部105へ入力されるようになされている。
第1階層動き検出部104は、画像F1において、追尾点の座標(x0,y0)が指定されているフレームの画像と、時間的に後のフレームの画像との間で追尾点の動きを検出し、時間的に後のフレームの画像における追尾点の座標を特定するようになされている。
図5は、第1階層動き検出部104の詳細な構成例を示すブロック図である。同図に示されるように、第1階層動き検出部104は、遅延部1040、ブロック位置検出部1041、および動き統合部1042を有する構成とされている。
遅延部1040は、入力された画像F1のフレームを、例えば、1フレームに対応する時間分保持することで遅延させ、画像F1の次のフレームが、ブロック位置検出部1041に入力されるタイミングで、遅延させたフレームをブロック位置検出部1041に供給するようになされている。
ブロック位置検出部1041は、例えば、図6Aに示されるように、遅延させたフレーム(時間的に前のフレーム)の画像の中で、追尾点更新部115から供給される座標(x0,y0)により特定された追尾点を中心とする所定の個数の画素で構成されるブロックBLを設定する。図6Aにおいては、座標(x0,y0)により特定された追尾点が図中黒い円で示されている。ここで、黒い円は、1個の画素を示すものとする。そして、例えば、図中黒い円で示された追尾点を中心として9×9の画素で構成されるブロックBLが設定されている。
ブロック位置検出部1041は、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定する。サーチ範囲は、例えば、現フレームでのブロックBLと同じ位置を基準とし、水平、垂直方向のそれぞれに−15乃至+15画素分の矩形の領域とされる。
すなわち、ブロック位置検出部1041は、図6Bに示されるように、時間的に後のフレームの画像において、追尾点更新部115から供給される座標(x0,y0)により特定された画素を中心として9×9の画素で構成されるブロックを設定し、そのブロックを図中上下左右方向に15画素ずつ拡張させたサーチ範囲を設定するのである。すなわち、サーチ範囲としては、後のフレームの画像の中の座標(x0,y0)により特定された画素を中心として39(=9+15+15)×39の画素で構成される領域が設定される。
そして、ブロック位置検出部1041は、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で、差分絶対値総和の演算を行う。ここで、候補ブロックは、例えば、サーチ範囲(いまの場合、39×39の画素で構成される領域)内において抽出可能なブロックBLと同じサイズ(いまの場合、9×9の画素で構成されるサイズ)のブロックのそれぞれである。
すなわち、ブロック位置検出部1041は、例えば、式(3)に示されるような差分絶対値総和の演算を行う。
Figure 0004507129
ただしPijはブロックBLの注目画素位置(i,j)の画素値を示し、Qijはサーチ範囲内の候補ブロックの注目画素位置(i,j)、すなわち、サーチ範囲内における各候補ブロックの中心となる画素の位置を示し、Bはブロックのサイズを示している。
ブロック位置検出部1041は、式(3)により演算された差分絶対値総和が最小となった候補ブロックを特定する。すなわち、上述したサーチ範囲内において抽出可能なブロックBLと同じサイズのブロックのうち、1つのブロックが特定される。そして、ブロック位置検出部1041は、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(mvx、mvy)を動き統合部1042へ供給する。
すなわち、ブロック位置検出部1041は、いわゆるブロックマッチング方式により、時間的に前のフレームの追尾点の画素に対応する、時間的に後のフレームの画素を特定するのである。
なお、ブロック位置検出部1041が、時間的に前のフレームの画像の中で、追尾点を中心とする所定の個数の画素で構成されるブロックBLを設定する際に、図15Aを参照して後述するように、動き検出画素範囲をさらに設定するようにしてもよい。
詳細は後述するが、ブロック位置検出部1041が、座標(x0,y0)により特定された画素を中心とする動き検出画素範囲をさらに設定するようにすることで、例えば、時間的に前のフレームの追尾点(x0、y0)の画素の位置が、本来の追尾点の画素の位置と微小にずれている場合であっても、オブジェクトを正確に追尾することが可能となる。ブロック位置検出部1041が、動き検出画素範囲をさらに設定する場合の処理については、図14の画像処理装置300の構成の説明とともに後述する。
図5の動き統合部1042では、ブロック位置検出部1041から供給される画素位置を特定する座標(mvx、mvy)と、追尾点更新部115から供給される座標(x0,y0)とを対応付けて式(4)および式(5)に示されるように、例えば、ベクトルX1、ベクトルY1を生成する。
Figure 0004507129
Figure 0004507129
なお、式(4)および式(5)では、ブロック位置検出部1041から供給される座標(mvx、mvy)を、(x5、y5)で表している。
ここでは、ベクトルX1、ベクトルY1が生成されると説明したが、必ずしもベクトルとして生成される必要はない。ベクトルX1、ベクトルY1は、それぞれ上述したように、ブロック位置検出部1041から供給される画素位置を特定する座標、および追尾点更新部115から供給される座標のx座標とy座標とを要素としてもつものであり、要は、それぞれの画素位置を特定することができる情報が得られればよいのである。本発明では、説明を簡単にするために、以下の説明においても適宜、複数の座標を特定するための情報をベクトルとして表現することとする。
このようにして、例えば、図7Aおよび図7Bに示されるように、前のフレームにおける追尾点と、後のフレームにおける追尾点が特定されることになる。なお、この画素位置を特定する座標(mvx、mvy)は、画像F1において1フレーム時間的に後のフレームの画素位置に対応するものなので、画像F2、または入力画像信号Vinの画像においては、5フレーム時間的に後の画像の画素位置となる。
図7Aにおいて、時間的に前のフレームの画像の中の座標(x0,y0)により特定された追尾点が図中黒い円で示されている。図7Bにおいて、時間的に後のフレームの画像の中の座標(x5、y5)(=座標(mvx、mvy))が図中黒い円で示されている。いまの場合、時間的に後のフレームにおいて追尾点が、図中左下方向に移動したことになる。この時間的に後のフレームにおける追尾点(図7B)が、次のフレームにおいてオブジェクトを追尾するための、次の追尾点として用いられる。
ここまでの処理により、画像F1において時間的に前のフレームと時間的に後のフレームの追尾点の画素位置が検出されたことになる。すなわち、画像F2のある1つのフレームと、画像F2の5フレーム時間的に後のフレームとにおいて追尾点の画素位置が検出されたことになる。本発明では、第2階層動き検出部105の処理を施すことにより、階層化部103の処理によって間引かれた各フレームにおける追尾点の座標が特定されていくようになされている。
図1に戻って、第1階層動き検出部104は、ベクトルX1、およびベクトルY1のペア[X1,Y1]を、第2階層動き検出部105に供給する。ここで供給されるベクトルX1、およびベクトルY1のペアは、例えば、画像F2の所定のフレームの追尾点の座標位置、およびその所定のフレームから5フレーム後のフレームの追尾点の座標位置の組み合わせを表すものとなる。
図8は、第2階層動き検出部105の詳細な構成例を示すブロック図である。同図に示される順方向動き検出部1051は、画像F2と、画像F2を1フレーム分遅延させる遅延部1050から供給される画像を、入力データとして受け付けるようになされている。上述したように、画像F2は、フレーム間隔の間引きが行われていないので、例えば、画像F1の5倍のフレームレートの画像とされる。
順方向動き検出部1051は、例えば、図9に示されるように、順方向の動き検出を行う。図9においては、各フレームが平行四辺形で示されており、画像F2を構成する6フレーム分の画像が示されている。同図の横軸は、時間とされ、図中左から右方向に時間が経過していくものとする。図中最も左側のフレームは、画像F1における時間的に前のフレームに対応することになり、図中最も右側のフレームが画像F1における時間的に後のフレームに対応することになる。従って、図9における左から2番目乃至5番目のフレームは、階層化部103のフレーム間引き部1031によって間引かれたフレームである。
第1階層動き検出部104から供給されるベクトルのペア[X1,Y1]により、図中最も左側のフレームにおける追尾点の座標(x0,y0)および図中の最も右側のフレームにおける追尾点の座標(x5、y5)を特定することが可能となる。なお、図中最も左側のフレームにおける追尾点と、図中最も右側のフレームにおける追尾点は、「×」印により示されている。ここで、ベクトルのペア[X1,Y1]は、追尾点群を表す情報として用いられる。
順方向動き検出部1051は、図中最も左側のフレームにおける追尾点に基づいて、図中左から2番目のフレームの追尾点、左から3番目のフレームの追尾点、および左から4番目のフレームの追尾点を検出する。すなわち、順方向動き検出部1051は、図9の図中上側の矢印で示されるように、時間と同じ方向に、各フレームの中の追尾点を検出していくのである。
順方向動き検出部1051による追尾点の検出は、図5のブロック位置検出部1041と同様にして行われる。ただし、フレームiにおける動き統合部1052で算出される追尾点(xfi、yfi)は、次のフレームにおける動き検出の注目画素位置になるため、動き統合部1052の出力が再度順方向動き検出部1051へ入力されることになる。
すなわち、順方向動き検出部1051は、遅延させたフレーム(時間的に前のフレーム)の画像の中で、座標(x0,y0)により特定された追尾点を中心とする所定の個数の画素で構成されるブロックBLを設定し、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定する。なお、いまの場合、遅延させたフレームは、例えば、図9の図中最も左側のフレームとなり、時間的に後のフレームは、図9の図中左から2番目のフレームとなる。
そして、順方向動き検出部1051は、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で、差分絶対値総和の演算を行う。差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(xf1、yf1)が動き統合部1052へ供給されることになる。
同様に、順方向動き検出部1051は、図9の図中左から2番目のフレームを時間的に前のフレームとし、左から3番目のフレームを時間的に後のフレームとし、時間的に前のフレームにおける追尾点を、上述した画素位置を特定する座標(xf1、yf1)により特定し、時間的に後のフレームの画素位置を特定する座標(xf2、yf2)を得て、動き統合部1052へ供給する。さらに、左から4番目および左から5番目のフレームにおける画素位置を特定する座標(xf3、yf3)および座標(xf4、yf4)も同様にして動き統合部1052へ供給される。
なお、画素位置を特定する座標(xf1、yf1)、座標(xf2、yf2)、座標(xf3、yf3)、および座標(xf4、yf4)は、それぞれ差分絶対値総和が最小となった候補ブロックの中心となる画素位置の座標であって、正確には追尾点の座標と言えるものではないが、ここでは説明を簡単にするために、時間的に前のフレームにおける追尾点を特定する座標と称している。
このようにして時間と同じ方向(順方向)の追尾点の検出が、例えば、図9の左から2番目のフレーム、左から3番目のフレーム、左から4番目のフレーム、および左から5番目のフレームについて行われることになる。すなわち、フレーム間引き部1031により間引かれたフレーム(いまの場合、4つのフレーム)における追尾点の座標が、順方向に検出されていくのである。
一方、逆方向動き検出部1054は、図中最も右側のフレームにおける追尾点に基づいて、図中右から2番目のフレームの追尾点、右から3番目のフレームの追尾点、および右から4番目のフレームの追尾点を検出する。すなわち、逆方向動き検出部1054は、図9の図中下側の矢印で示されるように、時間と逆方向に、各フレームの中の追尾点を検出していくのである。
すなわち、逆方向動き検出部1054は、時間的に後のフレームの画像の中で、座標(x5,y5)により特定された追尾点を中心とする所定の個数の画素で構成されるブロックBLを設定し、時間的に前のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定する。なお、いまの場合、時間的に後のフレームは、例えば、図9の図中最も右側のフレームとなり、時間的に後のフレームは、図9の図中右から2番目のフレームとなる。
また、フレーム入替部1053が画像F2のフレームのそれぞれを逆方向に並べ替えて逆方向動き検出部1054に供給するようになされている。従って、逆方向動き検出部1054は、図9の図中最も右側のフレームの追尾点に基づいて、右から2番目のフレームの追尾点を検出し、右から2番目のフレームの追尾点に基づいて、右から3番目のフレームの追尾点を検出し、・・・のように処理を実行することになる。
逆方向動き検出部1054の処理は、上述したようにフレームが並べ替えられること以外、順方向動き検出部1051の処理と同様である。
すなわち、逆方向動き検出部1054は、図9の右から2番目(左から5番目)のフレームの画素位置を特定する座標(xb4、yb4)、図9の右から3番目(左から4番目)のフレームの画素位置を特定する座標(xb3、yb3)、図9の右から4番目(左から3番目)のフレームの画素位置を特定する座標(xb2、yb2)、および図9の右から5番目(左から2番目)のフレームの画素位置を特定する座標(xb1、yb1)を動き統合部1055へ供給する。
つまり、フレーム間引き部1031により間引かれたフレーム(いまの場合、4つのフレーム)における追尾点の座標が逆方向に検出されていくのである。
動き統合部1052は、順方向動き検出部1051から供給される座標に基づいて、式(6)および式(7)で示されるベクトルXf2およびベクトルYf2を生成する。
Figure 0004507129
Figure 0004507129
そして、動き統合部1052は、ベクトルXf2およびベクトルYf2のペア[Xf2,Yf2]を出力統合部1056に供給する。
動き統合部1055は、逆方向動き検出部1054から供給される座標に基づいて、式(8)および式(9)で示されるベクトルXb2およびベクトルYb2を生成する。
Figure 0004507129
Figure 0004507129
そして、動き統合部1055は、ベクトルXb2およびベクトルYb2のペア[Xb2,Yb2]を出力統合部1056に供給する。
出力統合部1056は、動き統合部1052および動き統合部1055からそれぞれ供給されたベクトルのペアに基づいて、それらのベクトルのペアの組み合わせ[Xf2,Yf2,Xb2,Yb2]を出力するようになされている。
図1に戻って、出力統合部1056から出力されるベクトルのペアの組み合わせ[Xf2,Yf2,Xb2,Yb2]は、ブロック位置決定部114に供給される。
ブロック位置決定部114は、出力統合部1056から供給されるベクトルのペアの組み合わせ[Xf2,Yf2,Xb2,Yb2]に基づいて、例えば、図10に示されるように、ベクトルX2およびベクトルY2を生成する。ブロック位置決定部114は、フレーム間引き部1031により間引かれたフレーム(いまの場合、4つのフレーム)において、順方向動き検出された追尾点の座標と、逆方向動き検出された追尾点の座標とに基づいて、それぞれのフレームにおける1つの追尾点の座標を決定していく。
すなわち、ブロック位置決定部114は、ベクトルのペアの組み合わせ[Xf2,Yf2,Xb2,Yb2]で特定される図9の各フレームの座標に対して、重み付け演算を行うことにより、追尾点の画素位置として信頼性をより高いものとする。
図10においては、図中上側にx軸座標値の演算例が4行7列の表として示されており、図中下側にy軸座標値の演算例が4行7列の表として示されている。同図の表の最も上の行は、フレーム番号を表しており、例えば、フレーム番号0のフレームは、図9の図中最も左側のフレームに対応し、フレーム番号1のフレームは、図9の図中左から2番目のフレームに対応し、・・・フレーム番号5のフレームは、図9の図中最も右側のフレームに対応する。
また、同図の表の上から2番目の行は、上述したベクトルXf2(またはYf2)の各要素を表しており、同図の表の上から3番目の行は、上述したベクトルXb2(またはYb2)の各要素を表している。
そして、図10の表の最も下側の行が、ブロック位置決定部114により演算されるベクトルX2(またはY2)の各要素を表している。
例えば、同図の上側の表において、ベクトルX2のフレーム番号1に対応する要素は、
(xf1*4+xb1*1)/5
とされている。これは、ベクトルXf2のフレーム番号1に対応する要素と、ベクトルXb2の要素にそれぞれ重みが乗じられて平均化された演算とされている。
すなわち、ベクトルXf2の各要素は、第2階層動き検出部105において順方向に検出された各フレームの座標値に対応する値なので、フレーム番号0のフレームを基準とし、その基準のフレームに近いほど大きい値の重み(いまの場合、4)が乗じられるようになされている。また、ベクトルXb2の各要素は、第2階層動き検出部105において逆方向に検出された各フレームの座標値に対応する値なので、フレーム番号5のフレームを基準とし、その基準のフレームに近いほど大きい値の重み(いまの場合、1)が乗じられるようになされている。
そして、重み付けされたそれぞれの要素が足し合わせられて、ベクトルXf2の要素に乗じられた重み(4)と、ベクトルXb2に乗じられた重み(1)との合計値(5)により除されることで平均化されている。
すなわち、ブロック位置決定部114により演算されるベクトルX2とベクトルY2は、式(10)乃至式(13)により求めることができる。
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
ただし、式(10)乃至式(13)において、iはフレーム番号を示し、FNは階層化部103で間引かれるフレーム間隔である。例えば、図4に示した例では、FNの値は5となる。
式(12)と式(13)のp1乃至p4とq1乃至q4により、階層化部103のフレーム間引き部1031による間引き処理によって間引かれた各フレームの画像における追尾点の画素の位置が特定されることになる。すなわち、ブロック位置決定部114は、フレーム間引き部1031により間引かれる前の画像の各フレームの追尾点の画素の座標を表す情報を出力するのである。
このような演算がなされることにより、追尾点の画素位置として信頼性をより高い座標(例えば、図9の各フレームの座標)を得ることができるのである。
図1に戻って、ブロック位置決定部114は、図10のように演算された、例えば、図9の各フレームの座標値を表すベクトルX2およびベクトルY2を、第3階層動き検出部111に出力する。
第3階層動き検出部111は、ブロック位置決定部114から供給されるベクトルのペア[X2,Y2]に基づいて、最終的な追尾点の座標値のベクトルX3およびベクトルY3を生成する。
図11は、第3階層動き検出部111の詳細な構成例を示すブロック図である。同図に示される遅延部1110、ブロック位置検出部1111、および動き統合部1112は、それぞれ図5の遅延部1040、ブロック位置検出部1041、および動き統合部1042と同様のものである。ただし、図11のブロック位置検出部1111は、縮小された画像F2の画素位置に基づいて、入力画像信号Vinの画像の画素位置を求めるようになされており、またブロック位置検出部1111におけるサーチ範囲が、図5のブロック位置検出部1041の場合と異なることになる。
ブロック位置検出部1111は、ブロック位置決定部114から供給されたベクトルのペア[X2,Y2]により特定される画素位置が、入力画像信号Vinの画像を1/4に縮小した画像F2のものである場合、画像F2上での座標値のベクトルのペア[X2、Y2]を、入力画像信号Vinの画像に置き直した座標値のベクトルのペア[X2d、Y2d]を、式(14)および式(15)により演算する。
Figure 0004507129
Figure 0004507129
図11のブロック位置検出部1111は、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定し、そのサーチ範囲は、例えば、現フレームでのブロックBLと同じ位置を基準とし、水平、垂直方向のそれぞれに−1乃至+1画素分の矩形の領域とされる。
そして、ブロック位置検出部1111は、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で差分絶対値総和の演算を行って、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(mvx、mvy)を動き統合部1042へ供給する。
図12は、ブロック位置検出部1111の処理を説明する図である。同図においては、縮小された画像F2の各フレームと、入力画像信号Vinの画像の各フレームがそれぞれ平行四辺形で表されている。なお、同図に示されるように、画像F2のフレーム数と、入力画像信号Vinの画像のフレーム数は同じである。
すなわち、ブロック位置検出部1111は、図12に示されるように、縮小された画像F2の[X2、Y2]により特定された画素位置に対応する入力画像信号Vinの画像の画素位置を、[X2d、Y2d]として求める。また、ブロック位置検出部1111は、[X2d、Y2d]により特定された入力画像信号Vinの画像の画素位置に基づいて差分絶対値総和の演算を行って各フレームの追尾点の画素位置を特定するのである。
動き統合部1112は、例えば、図12の入力画像信号Vinの画像の各フレームの追尾点の画素位置を特定する座標を、ベクトルX3、ベクトルY3として出力するようになされている。例えば、フレームiにおける追尾点を(xi_3、yi_3)とすると、第3階層動き検出部111で算出される追尾点郡のベクトルX3、ベクトルY3は、それぞれ式(16)、式(17)で表されることになる。
Figure 0004507129
Figure 0004507129
すなわち、第3階層動き検出部111では、縮小された画像F2での追尾点に対応する、入力画像信号Vinの画像における追尾点を特定するのである。
このようにして得られたベクトルX3、およびベクトルY3により特定される入力画像信号Vinの画像の各フレームの画素位置が、最終的な追尾点として以後の処理に用いられることになる。
第3階層動き検出部111から出力されるベクトルのペア[X3,Y3]は、出力画像生成部113および追尾点更新部115に供給される。追尾点更新部115は、ベクトルのペア[X3,Y3]により特定される、例えば、時間的に最も後のフレーム(例えば、図12の最も右側のフレーム)の追尾点の座標を新たな追尾点の座標として記憶(更新)する。そして、更新された座標が新たな追尾点の座標(x0,y0)として第1階層動き検出部104に供給されることになる。
出力画像生成部113は、第3階層動き検出部111から供給されるベクトルX3,ベクトルY3により特定される追尾点に基づいて、入力画像に追尾点の情報を表示した画像を生成し、生成された画像の出力画像信号Voutを出力する。
なお、階層化部103において、フレームの間引き処理のみが行われるようにし、縮小画像を生成しないようにする場合、すなわち、階層化部103が、入力画像信号の画像をそのまま、画像F2として出力し、その画像F2に対して、フレームの間引き処理を行って画像F1の生成を行う場合、図1の第3階層動き検出部111は不要である。
階層化部103が、入力画像信号の画像をそのまま、画像F2として出力し、画像F2に対して、フレームの間引き処理を行って画像F1の生成を行う場合、画像処理装置100を図13に示されるように構成することができる。図13の例では、図1の場合と異なり、第3階層動き検出部111が設けられていない。図13の構成においては、ブロック位置決定部114により出力されたベクトルのペア[X2,Y2]により特定される入力画像信号Vinの画像の各フレームの画素位置が、最終的な追尾点として以後の処理に用いられることになる。
そして、出力画像生成部113は、ブロック位置決定部114から供給されるベクトルX2,ベクトルY2により特定される追尾点に基づいて、入力画像に追尾点の情報を表示した画像を生成し、生成された画像の出力画像信号Voutを出力することになる。
図13のそれ以外の構成は、図1の場合と同様である。
このようにして追尾点が特定されてオブジェクトが追尾される。このように、本発明においては、与えられた追尾点の画像のフレームから、時間的に離れたフレーム(例えば、5フレーム後のフレーム)における追尾点を特定するようになされている。そして、時間的に離れた2つフレームの間に位置するフレームの追尾点を特定していくようにしたので、より信頼性の高いオブジェクトの追尾が可能となる。
次に、本発明を適用した画像処理装置の別の構成例について説明する。図14は、本発明の一実施の形態に係る画像処理装置の別の構成例を示すブロック図である。この画像処理装置300において、図1の画像処理装置100の場合と比較して、より正確な追尾点を得ることが可能となるようになされている。なお、図14において、図1の構成と同一の機能ブロックについては、それぞれ同一の符号が付されている。
図14の画像処理装置300においては、候補点抽出部102が設けられており、候補点抽出部102により、追尾点の候補となる点(画素)であって、複数の追尾点候補が後述するように抽出される。そして、第1階層動き検出部104、および第2階層動き検出部105においては、複数の追尾点候補のそれぞれに対して、上述したような、第1階層動き検出部の処理、および第2階層動き検出部の処理が施されるようになされている。
また、図14の画像処理装置300においては、複数の追尾点候補のそれぞれに対して、上述したような、第1階層動き検出部の処理、および第2階層動き検出部の処理の処理結果に基づいて、追尾点乗換決定部110が、最終的に1つの画素を追尾点として決定するようになされている。従って、図14の画像処理装置300は、図1の画像処理装置100の場合と比較して、より正確な追尾点を得ることが可能となるのである。
画像処理装置300において、図示せぬ入力装置から入力画像信号Vinは、初期追尾点決定部101、階層化部103、第3階層動き検出部111、および出力画像生成部113へ入力される。
初期追尾点決定部101は、入力画像信号Vinから初期追尾点の座標(xs、ys)を決定して候補点抽出部102に出力するようになされている。なお、初期追尾点決定部101の構成は、図2を参照して上述した構成と同様なので、詳細な説明は省略する。
候補点抽出部102は、初期追尾点決定部101から入力される初期追尾点(xs、ys)、および追尾点更新部112から入力される追尾点(xt、yt)に基づいて、第1階層動き検出部104の処理において用いられる追尾候補点を抽出するようになされている。
第1階層動き検出部104では、入力画像信号Vinに対し、1/4の大きさの画像を処理するようになされているため、候補点抽出部102では、上述した式(1)、および式(2)を用いて、入力される追尾点を追尾点候補中心(xsm、ysm)に変換する。なお、式(1)、および式(2)では、入力される追尾点が初期追尾点(xs、ys)である場合を示しているが、入力される追尾点が追尾点(xt、yt)である場合、式(1)、式(2)の(xs、ys)を(xt、yt)に置き換えればよい。
また、候補点抽出部102への入力が、追尾点更新部112から入力される追尾点(xt、yt)である場合、すなわち、候補点抽出部102への入力が初期追尾点(xs、ys)ではない場合、候補点抽出部102は、追尾点候補中心(xsm、ysm)から、所定の範囲の追尾点候補(x0(w、h)、y0(w、h))を抽出する。ここで、w、hはそれぞれ追尾候補点中心から範囲を示し、wはx方向の範囲、hはy方向の範囲を示すものとする。所定の範囲としては、例えば、追尾点候補中心(xsm、ysm)からx方向、y方向ともに±2の範囲を用い、その場合、w、hの範囲がそれぞれ±2とされる。w、hの範囲がそれぞれ±2である場合、追尾点候補(x0(w、h)、y0(w、h))は、25(=5×5)通り存在することになる。
例えば、(x0(-1,0)、y0(-1,0))は、追尾点候補中心(xsm、ysm)の左隣の画素を示し、(x0(0,1)、y0(0,1))は、追尾点候補中心(xsm、ysm)の下の画素を示すものとする。なお、当然のことながら、(x0(0,0)、y0(0,0))は、追尾点候補中心(xsm、ysm)と同一である。
このように、候補点抽出部102は、追尾点更新部112から、追尾点の座標が供給される都度、その追尾点に対応する25個の追尾点候補の座標を生成して、それら25個の追尾点候補の座標を、第1階層動き検出部104、差分算出部108、およびメモリ109に供給するのである。
候補点抽出部102への入力が、初期追尾点決定部101から入力される初期追尾点(xs、ys)である場合、追尾点候補中心(xsm、ysm)である(x0(0,0)、y0(0,0))のみを抽出する。
候補点抽出部102により抽出された追尾点候補(x0(w、h)、y0(w、h))は、第1階層動き検出部104、および差分算出部108へ入力される。
階層化部103は、入力画像信号Vinに対して階層化の処理を行う。ここで階層化の処理は、例えば、画像の画素数の圧縮(画像サイズの縮小)、入力画像のフレーム間隔(フレームレート)の間引きなどの処理とされる。
階層化部103の構成は、図3を参照して上述した構成と同様なので、詳細な説明は省略する。図4を参照して上述したように、階層化部103により、入力画像信号の画像とフレームレートが同一であって、画素数が圧縮され、サイズが1/4に縮小された画像F2が生成されることになる。また、階層化部103により、入力画像信号のサイズが1/4に縮小され、さらに、フレーム間隔が1/5に間引かれた画像F1が生成されることになる。
画像F1は、第1階層動き検出部104、差分算出部108、およびメモリ109に供給され、画像F2は、第2階層動き検出部105に供給される。
図14の画像処理装置300における第1階層動き検出部104の構成も、図5を参照して上述した構成と同様であるが、図1の画像処理装置100における第1階層動き検出部104とは、処理の内容が異なる。
図14の画像処理装置300における第1階層動き検出部104においては、遅延部1040が、入力された画像F1のフレームを、例えば、1フレームに対応する時間分保持することで遅延させ、画像F1の次のフレームが、ブロック位置検出部1041に入力されるタイミングで、遅延させたフレームをブロック位置検出部1041に供給するようになされている。
ブロック位置検出部1041では、候補点抽出部102から入力される追尾候補点(x0(w、h)、y0(w、h))毎に入力信号F1と、遅延部1040から入力される信号との間でブロックの差分絶対値総和の演算を行う。
ブロック位置検出部1041は、遅延部1040で遅延された現フレームにおいて、候補点抽出部102から入力されるある追尾候補点において、その追尾候補点を中心とする所定の個数の画素で構成されるブロックBLを設定する。例えば、追尾候補点の座標(x0,y0)であったとすると、図15Aに示されるように、ブロックBLが設定される。図15においては、座標(x0,y0)により特定された追尾候補点が図中黒い円で示されている。ここで、黒い円は、1個の画素を示すものとする。そして、例えば、図中黒い円で示された追尾点を中心として9×9の画素で構成されるブロックBLが設定されている。
そして、ブロック位置検出部1041は、その追尾候補点を中心とする動き検出画素範囲を、さらに設定する。動き検出範囲は、例えば、追尾候補点を中心とし、−3乃至+3画素分の領域であって、7×7画素の範囲とされる。図15においては、ブロックBLの内部の線により動き検出範囲が矩形の領域として示されている。すなわち、ブロック位置検出部1041は、ある追尾候補点を中心として、7×7画素の範囲内に含まれる画素のそれぞれを中心としたブロックBLを設定し、1つの追尾候補点に対応して、現フレーム上に49個のブロックBLが設定されることになる。
つまり、ブロック位置検出部1041が動き検出画素範囲設定する場合、動き検出画素範囲の49個の画素のそれぞれに対応する時間的に後のフレームにおける49個の追尾点が、一旦特定されることになる。そして後述する式(18)および式(19)の演算により、それら49個の追尾点の平均となる位置が特定され、時間的に後のフレームにおける追尾点が1つ特定されることになるのである。
このように動き検出画素範囲を設定することで、例えば、時間的に前のフレームの追尾点(x0、y0)の画素の位置が、本来の追尾点の画素の位置と微小にずれている場合であっても、オブジェクトを正確に追尾することが可能となる。
ブロック位置検出部1041は、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定する。サーチ範囲は、例えば、現フレームでのブロックBLと同じ位置を基準とし、水平、垂直方向のそれぞれに−15乃至+15画素分の矩形の領域とされる。
すなわち、ブロック位置検出部1041は、図15Bに示されるように、時間的に後のフレームの画像において、候補点抽出部102から供給される追尾点候補の座標(いまの場合、座標(x0,y0))により特定された画素を中心として9×9の画素で構成されるブロックを設定し、そのブロックを図中上下左右方向に15画素ずつ拡張させたサーチ範囲を設定するのである。すなわち、サーチ範囲としては、後のフレームの画像の中の座標(x0,y0)により特定された画素を中心として39(=9+15+15)×39の画素で構成される領域が設定される。
そして、ブロック位置検出部1041は、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で、差分絶対値総和の演算を行う。ここで、候補ブロックは、例えば、サーチ範囲(いまの場合、39×39の画素で構成される領域)内において抽出可能なブロックBLと同じサイズ(いまの場合、9×9の画素で構成されるサイズ)のブロックのそれぞれである。
すなわち、ブロック位置検出部1041は、例えば、上述した式(3)に示されるような差分絶対値総和の演算を行う。
ブロック位置検出部1041は、式(3)により演算された差分絶対値総和が最小となった候補ブロックを特定する。すなわち、上述したサーチ範囲内において抽出可能なブロックBLと同じサイズのブロックのうち、1つのブロックが特定される。そして、ブロック位置検出部1041は、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(mvx、mvy)を動き統合部1042へ供給する。
図14の画像処理装置300においては、ブロック位置検出部1041により、動き検出範囲内の画素のそれぞれを中心としてブロックBLが設定されて、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で、差分絶対値総和の演算を行うのである。
従って、動き検出画素範囲が−3乃至+3画素分である場合、動き統合部1042へ供給される候補ブロックの中心となる画素位置は、上述したように全部で49個になる。このように、一旦、動き検出画素範囲の画素のそれぞれに対応する49個の追尾点が特定されることになる。
動き統合部1042では、ブロック位置検出部1041から入力されるブロックの位置(実際には、ブロックの中心となる画素の位置)を、式(18)、式(19)の演算により統合する。ただしmvxij、mvyijは、動き検出画素範囲内の注目画素位置(i、j)から入力される候補ブロックの中心となる画素位置を示し、x5、y5は統合後の候補ブロックの中心となる画素位置を示し、Sは動き検出画素範囲を示す。
Figure 0004507129
Figure 0004507129
(式中の[ ]は、切捨て処理を意味している。)
なお、式(18)、式(19)は、上述したように得られた49個の画素位置に基づいて、いわば画素位置の平均を求める演算となる。これにより、時間的に後のフレームの追尾点が1つ特定されたことになる。このように、図14の画像処理装置300においては、ブロック位置検出部1041により、一旦、49個の追尾点が特定され、それら49個の追尾点の画素位置の平均を求めることにより、1つの追尾点が特定されるのである。
このようにして、図15Aおよび図15Bに示されるように、時間的に後のフレームにおいて、統合後のブロックの中心となる画素位置(x5、y5)が得られることになる。ここで、画素位置(x5、y5)は、時間的に後のフレームにおける追尾点の座標を表すものとなる。そして、時間的に前のフレームの追尾点(x0、y0)と、時間的に後のフレームにおける追尾点(x5、y5)の差が、追尾点の移動を表すことになる。
動き統合部1042は、時間的に前のフレームの追尾点(x0、y0)と、時間的に後のフレームにおける追尾点(x5、y5)とを対応付けて、上述した式(4)および式(5)に示されるように、例えば、ベクトルX1、ベクトルY1を生成する。
第1階層動き検出部104は、ベクトルX1、およびベクトルY1のペア[X1,Y1]を、第2階層動き検出部105に供給する。
以上の処理が、候補点抽出部102から入力される追尾点候補(x0(w、h)、y0(w、h))のそれぞれについて行われる。従って、全ての追尾点候補(x0(w、h)、y0(w、h))毎に、式(18)、および式(19)が生成され、それぞれの演算結果が(x5(w、h)、y5(w、h))となる。その結果、ベクトルX1、およびベクトルY1を、より一般化して記述すると、式(20)、および式(21)のように、ベクトルX1(w、h)、およびベクトルY1(w、h)として示される。
Figure 0004507129
Figure 0004507129
w、hの範囲がそれぞれ±2である場合、式(20)、および式(21)により、全部で25個の追尾点群が生成されることになる。
図14に戻って、第1階層動き検出部104で検出される追尾点郡を表すベクトルX1(w、h)、およびベクトルY1(w、h)は、第2階層動き検出部105に供給される。
図14の画像処理装置300における第2階層動き検出部105の構成も、図8を参照して上述した構成と同様であるが、図14の構成における第2階層動き検出部105は、上述したように、第1階層動き検出部104で検出される追尾点郡のそれぞれに対応して、図9を参照して上述したように、順方向の追尾点の検出、および逆方向の追尾点の検出を行うのである。
動き統合部1052は、順方向動き検出部1051から供給される座標に基づいて、上述した式(6)および式(7)で示されるベクトルXf2およびベクトルYf2を生成する。そして、動き統合部1052は、ベクトルXf2およびベクトルYf2のペア[Xf2,Yf2]を出力統合部1056に供給する。
動き統合部1055は、逆方向動き検出部1054から供給される座標に基づいて、上述した式(8)および式(9)で示されるベクトルXb2およびベクトルYb2を生成する。そして、動き統合部1055は、ベクトルXb2およびベクトルYb2のペア[Xb2,Yb2]を出力統合部1056に供給する。
出力統合部1056は、動き統合部1052および動き統合部1055からそれぞれ供給されたベクトルのペアに基づいて、それらのベクトルのペアの組み合わせ[Xf2,Yf2,Xb2,Yb2]を出力するようになされている。
以上の処理が、第1階層動き検出部104から供給されるベクトルX1(w、h)、およびベクトルY1(w、h)に対応する追尾点郡のそれぞれにおいて行われる。従って、ベクトルXf2およびベクトルYf2、並びにベクトルXb2およびベクトルYb2を、より一般化して記述すると、式(22)乃至式(25)のように、ベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)として示される。
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
例えば、w、hの範囲が±2である場合、式(22)乃至式(25)により、全部で25個の追尾点群が生成されることになる。
図14に戻って、第2階層動き検出部105からの出力であるベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)は、テーブル106と、追尾点距離算出部107に供給される。
テーブル106では、ベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)で特定される図9の各フレームの座標に対して、重み付け演算を行うことにより、追尾点の画素位置として、信頼性をより高いものとする。
すなわち、図10を参照して上述したように、ベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)の各要素がベクトルX2およびY2の各要素と対応付けられた表(テーブル)が生成される。なお、ベクトルX2とベクトルY2は、上述した式(10)乃至式(13)により求めることができる。
テーブル106は、図10に示されるような表を、図14における第2階層動き検出部105から供給されるベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)に対応する追尾点のそれぞれについて保持する。従って、ベクトルX2、およびベクトルY2を、より一般化して記述すると、式(26)乃至式(29)により求められる、ベクトルX2(w、h)、およびベクトルY2(w、h)として示される。
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
例えば、w、hの範囲が±2である場合、式(28)および式(29)により、全部で25個の追尾点群が生成されることになり、テーブル106で生成されて保持される表(テーブル)の数も25個になる。テーブル106は、これら25個の表を、第1階層動き検出部104から供給されるベクトルX1(w、h)、およびベクトルY1(w、h)に対応付けて保持(記憶)する。
図14に戻って、追尾点距離算出部107は、第2階層動き検出部105から供給される、ある追尾点郡のベクトルXf2、およびベクトルYf2、ならびにベクトルXb2、およびベクトルYb2により供給される追尾点群に基づいて、階層化部103で生成される画像F2における順方向動き検出での追尾点と、逆方向動き検出での追尾点の距離を算出する。
追尾点距離算出部107は、例えば、図9に示される画像F2の6つのフレームの中で、時間軸上の中間位置における、順方向動き検出での追尾点と、逆方向動き検出での追尾点の距離を算出するのである。図9の例では、画像F2の時間軸上の中間位置は、図中左から3番目のフレームと、図中左から4番目のフレームの中間に位置する、いわば仮想的なフレームとなる。
追尾点距離算出部107は、順方向動き検出での追尾点と、逆方向動き検出での追尾点の距離Ltを、式(30)乃至式(34)により、または式(35)により算出する。ここで、FNは階層化部103で間引かれるフレーム間隔である。
FNが奇数の場合
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
FNが偶数の場合
Figure 0004507129
なお、いまの場合、階層化部103で間引かれるフレーム間隔は5なので、FNの値は5であって奇数だから、式(30)乃至式(34)により算出されることになる。
ここで求められる追尾点の距離Ltは、異なる時間方向(順方向と逆方向)から動き検出した結果の中間フレーム付近における差異を示す指標であり、距離が小さいほど、追尾の信頼性が高いと考えられる。
このような追尾点の距離Ltが、図14における第2階層動き検出部105からの出力であるベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)により特定される追尾点のそれぞれについて算出される。従って、追尾点の距離Ltを、より一般化して記述すると、式(36)乃至式(40)、または式(41)により算出される距離Lt(w、h)として表される。
FNが奇数の場合
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
FNが偶数の場合
Figure 0004507129
例えば、w、hの範囲が±2である場合、式(40)、または式(41)により得られる距離の値は、全部で25個となる。
図14に戻って、差分算出部108は、階層化部103から供給される画像F1においてこれから追尾を開始するフレーム(現フレームと称する)と、メモリ109に保持されている1つ前の追尾開始フレームであるフレームF1bとの間で差分を算出する。例えば、画像F1のフレーム間隔が1/5に間引かれている場合、フレームF1bは、現フレームより5フレーム前のフレームとなる。
差分算出部108は、図17に示されるように、メモリ109に保持されているフレームF1bにおける、過去の追尾点(xp、yp)を中心としたブロックBLを設定し、現フレームにおけるある追尾点候補(x0、y0)を中心としたブロックBLを設定する。
図17Aは、メモリ109に保持されているフレームF1bを表しており、図中黒い円で示される位置が、過去(1つ前のフレーム)の追尾点の座標(xp、yp)とされる。また、追尾点の座標(xp、yp)を中心とした矩形の領域であるブロックBLが設定されている。
図17Bは、現フレームを表しており、図中黒い円で示される位置が、候補点抽出部102が抽出した25個の追尾点候補のうちの1つであって、現在の追尾点候補の座標(x0、y0)を表している。
図17Bにおいて、現在の追尾点候補の座標は、w=−2、h=−2として抽出された追尾点候補の座標とされ、候補点抽出部102により抽出される25個の追尾点の範囲を表す矩形の領域(「追尾点候補の範囲」)のうち、図中最も左上に位置する追尾点候補とされている。そして、現在の追尾点候補の座標(x0、y0)を中心とした矩形の領域であるブロックBLが設定されている。
従って、実際には、図17Bの「追尾点候補の範囲」に含まれる25個の追尾点候補のそれぞれを中心とした25通りのブロックBLが設定されることになる。
差分算出部108は、図17AのブロックBLと、図17BのブロックBLとの間で、例えば、画素の値の差分絶対値総和を演算する。すなわち、図17AのフレームF1bのブロックBL(1個)と、図17Bの現フレームのブロックBL(25個)との間で、25通りの差分絶対値総和が演算されることになる。ここで、演算される差分絶対値総和の値を、Dt(w、h)で表すものとする。
差分算出部108により演算される差分絶対値総和の値Dt(w、h)は、例えば、候補点抽出部102が抽出する25個の追尾点候補のそれぞれが、図9の図中最も左側のフレームにおける追尾点の座標(x0,y0)として相応しいものであったか否かを判定するために用いることができる。例えば、差分絶対値総和の値Dt(w、h)が、著しく大きい値であれば、その追尾点候補に基づいて、図9の順方向検出、または逆方向検出が行われることは適当とは言えない。
差分算出部108により算出された差分絶対値総和の値Dt(w、h)は、追尾点乗換決定部110に供給される。
図14に戻って、追尾点乗換決定部110は、候補点抽出部102で抽出される全ての追尾点候補に対応する追尾点距離算出部107の算出結果Lt(w、h)と、候補点抽出部102で抽出される全ての追尾点候補に対応する差分算出部108の結果Dt(w、h)に基づいて追尾点の乗り換えを行う。
追尾点乗換決定部110は、候補点抽出部102が抽出する25個の追尾点候補の中心の座標を(x0(0,0)、y0(0,0))とし、式(42)および式(43)を満たす追尾点候補を選択する。
Figure 0004507129
Figure 0004507129
すなわち、例えば、25個の追尾点候補(x0(w、h)、y0(w、h))のそれぞれにおいて、追尾点候補の中心(x0(0,0)、y0(0,0))におけるDt(x0(0,0)、y0(0,0))の値とDt(x0(w、h)、y0(w、h))との比較を行って、Dt(x0(0,0)、y0(0,0))の値以下の値のDt(x0(w、h)、y0(w、h))に対応し、かつ追尾点候補の中心(x0(0,0)、y0(0,0))におけるLt(x0(0,0)、y0(0,0))の値とLt(x0(w、h)、y0(w、h))との比較を行って、Lt(x0(0,0)、y0(0,0))の値以下の値のLt(x0(w、h)、y0(w、h))に対応する追尾点候補(x0(w、h)、y0(w、h))を選択するのである。
式(42)および式(43)を満たす追尾点候補のそれぞれは、追尾点候補の中心と比較して、過去の追尾点との相関が同等または高いと考えられ、かつ第2階層動き検出部105の処理結果からも、追尾の信頼性が追尾点候補の中心よりも高いと考えられるものとなる。
上述したように、フレームb1の過去の追尾点に対して第1階層動き検出部104のブロック位置検出部1041がブロック位置を検出することにより、現フレームの追尾点候補の中心の座標が特定されることになる。このとき、図15と図16を参照して上述したように、第1階層動き検出部104のブロック位置検出部1041は、所定の追尾候補点を中心とする動き検出画素範囲を設定して、動き検出画素範囲に含まれる全ての画素において検出されたブロック位置の平均の座標値を検出するので、必ずしも追尾点候補の中心が過去の追尾点との相関が最も高いとは限らないのである。
そこで、追尾点乗換決定部110は、式(44)乃至式(49)に示される演算を行って、追尾点の乗り換えを行う。ただしntzは乗り換え後の追尾点を示し、Knは式(42)および式(43)を満たす追尾点候補の総数を示す。
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
Figure 0004507129
(式中の[ ]は、切捨て処理を意味している。)
このように、決定された乗り換え後の追尾点ntzは、テーブル106、およびメモリ109に供給される。
図14に戻って、テーブル106では、追尾点乗換決定部110で乗り換えられた追尾点ntzに該当する追尾点郡に対応するベクトルX2、ベクトルY2を読み出し、第3階層動き検出部111へ入力する。テーブル106には、図10を参照に示される表が25個保持されているので、テーブル106は、乗り換え後の追尾点ntzの座標を、(x0(w、h)、y0(w、h))に変換し、w、hに対応する表を読み出すのである。
上述したように、テーブル106には、図10に示されるような表が、それぞれ第1階層動き検出部104から供給されるベクトルX1(w、h)、およびベクトルY1(w、h)に対応付けられて保持(記憶)されている。そして、ベクトルX1(w、h)、およびベクトルY1(w、h)は、上述したように、全ての追尾点候補(x0(w、h)、y0(w、h))毎に、式(18)、および式(19)が生成され、それぞれの演算結果が(x5(w、h)、y5(w、h))とされ、式(20)、および式(21)のように、ベクトルX1(w、h)、およびベクトルY1(w、h)として示されたものである。
式(49)に示される乗り換え後の追尾点ntzは、ベクトルX1(w、h)、およびベクトルY1(w、h)の要素のうち、追尾点候補の座標(x0(w、h)、y0(w、h))に対応するものである。テーブル106は、乗り換え後の追尾点ntzのx座標値とy座標値に基づいて、追尾点候補の座標(x0(w、h)、y0(w、h))を特定し、特定された追尾点候補の座標(x0(w、h)、y0(w、h))を含むベクトルX1(w、h)、およびベクトルY1(w、h)を特定する。そして、その特定されたベクトルX1(w、h)、およびベクトルY1(w、h)に対応付けられて保持されている表に基づいて、追尾点乗換決定部110で乗り換えられた追尾点ntzに該当する追尾点郡の座標を表すベクトルX2、ベクトルY2が特定されて読み出され、第3階層動き検出部111に供給されるのである。
テーブル106から読み出された表は、図10に示されるように構成されるものなので、図10の最も下側の行(上から4番目の行)であって、「X2」または「Y2」として示された行の各値を、それぞれベクトルX2、ベクトルY2の要素とすればよい。テーブル106から、ベクトルX2、ベクトルY2が読み出されたことによって、フレーム間引き部1031により間引かれる前の画像の各フレームの追尾点の画素の座標を表す情報が出力されたことになる。
メモリ109は、追尾点乗換決定部110で追尾点の乗り換えが決定されると、階層化部103で生成される画像F1の現フレームにおいて、乗り換え後の追尾点ntzを中心としたブロックBLを設定するとともに、その現フレームを、フレームF1bとしてメモリ109に上書きする。
すなわち、図18に示されるように、画像F1の現フレームの追尾点の乗り換えが決定されると、そのフレームをフレームF1bとして、乗り換え後の追尾点ntzを過去の追尾点(xp、yp)として、新たなフレームの追尾点の乗り換えの処理が実行されるのである。
なお、候補点抽出部102への入力が、初期追尾点(xs、ys)であった場合、候補点抽出部102からは、追尾点候補の中心(x0(0,0)、y0(0,0))のみが出力されるので、追尾点乗換決定部110では、追尾点の乗り換えが行われない。
図14に戻って、テーブル106から、ベクトルX2、ベクトルY2の供給を受けた第3階層動き検出部111は、最終的な追尾点の座標値のベクトルX3およびベクトルY3を生成する。
図14の画像処理装置300における第3階層動き検出部111の構成例も、図11を参照して上述した構成と同様である。
ブロック位置検出部1111は、テーブル106から供給されたベクトルX2、ベクトルY2により特定される画像F2上での座標値を、入力画像信号Vinの画像に置き直した座標値のベクトルX2d、ベクトルY2dを、上述した式(14)および式(15)により演算する。
図11のブロック位置検出部1111は、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定し、そのサーチ範囲は、例えば、現フレームでのブロックBLと同じ位置を基準とし、水平、垂直方向のそれぞれに−1乃至+1画素分の矩形の領域とされる。
そして、ブロック位置検出部1111は、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で差分絶対値総和の演算を行って、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(mvx、mvy)を動き統合部1042へ供給する。
すなわち、ブロック位置検出部1111は、図12に示されるように、縮小された画像F2の[X2、Y2]により特定された画素位置に対応する入力画像信号Vinの画像の画素位置を、[X2d、Y2d]として求める。また、ブロック位置検出部1111は、[X2d、Y2d]により特定された入力画像信号Vinの画像の画素位置に基づいて差分絶対値総和の演算を行って各フレームの追尾点の画素位置を特定するのである。
動き統合部1112は、例えば、図12の入力画像信号Vinの画像の各フレームの追尾点の画素位置を特定する座標を、ベクトルX3、ベクトルY3として出力するようになされている。例えば、フレームiにおける追尾点を(xi_3、yi_3)とすると、第3階層動き検出部111で算出される追尾点郡のベクトルX3、ベクトルY3は、それぞれ上述した式(16)、式(17)で表されることになる。
すなわち、第3階層動き検出部111では、縮小された画像F2での追尾点に対応する、入力画像信号Vinの画像における追尾点を特定するのである。
このようにして得られたベクトルX3、およびベクトルY3により特定される入力画像信号Vinの画像の各フレームの画素位置が、最終的な追尾点として以後の処理に用いられることになる。
図14に戻って、第3階層動き検出部111から出力されるベクトルX3,ベクトルY3は、出力画像生成部113および追尾点更新部112に供給される。追尾点更新部112は、ベクトルX3,ベクトルY3により特定される、例えば、時間的に最も後のフレーム(例えば、図12の最も右側のフレーム)の追尾点の座標を新たな追尾点の座標として記憶(更新)する。そして、更新された座標が新たな追尾点の座標(xt,yt)として候補点抽出部102に供給されることになる。
出力画像生成部113は、第3階層動き検出部111から供給されるベクトルX3,ベクトルY3により特定される追尾点に基づいて、入力画像に追尾点の情報を表示した画像を生成し、生成された画像の出力画像信号Voutを出力する。
なお、図13を参照して上述した場合と同様に、図14の画像処理装置300の場合も、階層化部103において、フレームの間引き処理のみが行われるようにし、縮小画像を生成しないようにしてもよい。階層化部103が、入力画像信号の画像をそのまま、画像F2として出力し、画像F2に対して、フレームの間引き処理を行って画像F1の生成を行う場合、図14の第3階層動き検出部111は不要である。
このようにして追尾点が特定されてオブジェクトが追尾される。
本発明の画像処理装置300においては、与えられた追尾点の画像のフレームから、時間的に離れたフレーム(例えば、5フレーム後のフレーム)における追尾点を特定するようになされている。そして、時間的に離れた2つフレームの間に位置するフレームの追尾点を特定していくようにしたので、より信頼性の高いオブジェクトの追尾が可能となる。
また、本発明の画像処理装置300においては、候補点抽出部102により、複数の追尾点候補が設定されて、それぞれの追尾点候補に基づく追尾が行われ、追尾結果を比較して追尾点の乗り換えがなされる。従って、例えば、追尾の処理中に、追尾点が、本来追尾すべきオブジェクトの外部に設定されてしまい、誤ったオブジェクトが追尾されてしまう可能性が低くなる。
図19は、図1の画像処理装置100または図14の画像処理装置300の出力画像生成部113により生成される出力画像の例を示す図である。同図は、図中縦方向に時間が経過していくものとする。すなわち、図中最も上の画像が、例えば、第1番目のフレームの画像であり、図中上から2番目の画像が、第2番目のフレームの画像であり、図中最も下の画像が、第3番目のフレームの画像である。
また、図19においては、分かり易くするため、入力画像と出力画像が並べて示されている。すなわち、図中左側に縦方向に並べられた3つの画像が入力画像信号Vinに対応する画像(入力画像)とされ、図中右側に縦方向に並べられた3つの画像が出力画像信号Voutに対応する画像(出力画像)とされる。
図19の画像は、画面を右から左へ移動する人が表示された動画像であり、この例では、人の頭401が、追尾すべきオブジェクトとされている。出力画像においては、人の頭401にゲート402が重ねられて表示されている。このように、追尾するオブジェクトを簡単に識別できるように、出力画像が生成されて表示される。
また、ゲート402とともに追尾点が表示されるようにしてもよい。図19の出力画像の例においては、ゲート402の中央部に十字型の記号により追尾点の位置が示されている。
図20と図21を参照して、本発明の画像処理装置100または画像処理装置300の効果について説明する。
図20は、従来の画像処理装置によるオブジェクトの追尾の例を示す図である。同図においては、図中横方向に時間が経過していくものとする。すなわち、図中最も左の画像が、例えば、第1番目のフレームの画像であり、図中左から2番目の画像が、第2番目のフレームの画像であり、・・・図中最も右の画像が、第6番目のフレームの画像である。
また、図20においては、入力画像と出力画像が並べて示されている。すなわち、図中上側に横方向に並べられた6つの画像が入力画像信号に対応する画像(入力画像)とされ、図中右側に横方向に並べられた6つの画像が出力画像信号に対応する画像(出力画像)とされる。
図20の画像は、正面を向いた人が序々に右を向く動画像であり、この例では、人の右目が、追尾すべきオブジェクトの追尾点とされている。
図20の出力画像においては、例えば、図中最も右側の画像では、図中十字の記号で示される追尾点が人の顔が離れてしまっている。これは、人が右を向いたことに伴って、右目が画面に表示されなくなったためである。
このように、追尾点が人の顔が離れた状態でさらに、追尾を続けると、画面内の人以外のオブジェクトが誤って追尾されてしまうおそれがある。
図21は、本発明の画像処理装置によるオブジェクトの追尾の例を示す図である。同図においては、図中横方向に時間が経過していくものとする。すなわち、図21の図中最も左の画像が、例えば、第1番目のフレームの画像であり、図中左から2番目の画像が、第2番目のフレームの画像であり、・・・図中最も右の画像が、第6番目のフレームの画像である。
また、図21においては、入力画像ととともに、第1階層動き検出部での追尾点の位置を表す画像と、第2階層動き検出部での追尾点の位置を表す画像が並べて示されている。すなわち、図中最も上側に横方向に並べられた6つの画像が入力画像信号に対応する画像(入力画像)とされ、入力画像の下に、第1階層動き検出部での追尾点の位置を表す画像、第2階層動き検出部での順方向動き検出による追尾点の位置を表す画像、第2階層動き検出部での逆方向動き検出による追尾点の位置を表す画像、および第2階層動き検出部での追尾点の位置を表す画像が表示されている。
なお、実際にオブジェクトにゲートが重ねられて表示されるのは、第3階層動き検出部の処理を経た出力画像のみであるが、図21においては、分かり易くするために、第1階層動き検出部での追尾点の位置を表す画像、第2階層動き検出部での順方向動き検出による追尾点の位置を表す画像、第2階層動き検出部での逆方向動き検出による追尾点の位置を表す画像、および第2階層動き検出部での追尾点の位置を表す画像においても、オブジェクトにゲートが重ねられて表示されている。
図21の画像も、図20の例と同様に、正面を向いた人が序々に右を向く動画像であり、この例では、人の右目が、追尾すべきオブジェクトの追尾点とされている。
図21に示されるように、本発明の画像処理装置においては、第1階層動き検出部により第1番目のフレームの画像の追尾点に対応する第6番目のフレームの画像の画素位置(追尾点)が特定される。なお、追尾点の位置は、図中十字の記号で示されている。
第6番目のフレームの画像においては、人の右目が画面に表示されていないが、第1番目のフレームの画像の追尾点の周辺のブロックとの間で行われる差分絶対値総和の演算により、第6番目のフレームの画像においても、人の右目に近い位置が追尾点として特定される。
そして、図9を参照して上述したように、順方向動き検出および逆方向動き検出により追尾点の位置が特定され、順方向動き検出の処理結果および逆方向動き検出の処理結果に基づいて、第2階層動き検出部での追尾点の位置が特定されることになる。
その結果、本発明の画像処理装置においては、例えば、動画像の途中のフレームで、追尾するオブジェクトが表示されなくなる場合であっても、そのオブジェクトの追尾点に近い位置に追尾点が設定され、追尾が継続されるようにすることが可能となる。
例えば、順方向動き検出だけでは、従来の画像処理装置の場合と同様に、追尾点が徐々にずれてしまうおそれがあるが、逆方向動き検出をさらに行うことにより、追尾すべきオブジェクトの追尾点に近い位置の画素が追尾され続けるため、順方向動き検出と逆方向動き検出の両者の重み付き平均である第2階層での最終的な追尾点においては、人の画像から追尾点がずれることはない。
また、第1階層動き検出部において、次のフレームの画像に対する追尾を行うにあたり、過去の追尾点との相関、および第2階層での追尾の信頼性に基づいて、追尾点の乗り換えを行うようにしたので、画像の中の様々な変動に対してロバストに追尾を行うことができる。
さらに、第1階層動き検出部および第2階層動き検出部では、平均値を用いた縮小画像が処理されるので、入力画像のノイズ成分や高周波成分の影響を受けにくい動き検出を行うことも可能となる。そして、第3階層動き検出部で動き検出の範囲を限定して、より細かい動き検出を行うようにしたので、最終的にはより詳細に追尾点の調整を行うことができる。
ところで、図1の画像処理装置100または図14の画像処理装置300において上述した初期追尾点決定部101を、図2とは異なる構成とすることも可能である。
図22は、初期追尾点決定部101の別の構成例を示すブロック図である。図2に示した構成においては、追尾点をユーザが指定するようにしたが、図22に示される構成においては、追尾点が自動的に指定されるようになされている。
図22の初期追尾点決定部101において、入力画像信号Vinは、オブジェクト抽出部1013へ入力される。オブジェクト抽出部1013では、入力画像信号Vinとテンプレート保持部1012に記録されているテンプレート画像との差分からオブジェクトを抽出するようになされている。
例えば、図23に示されるような画像がテンプレート保持部1012に記録されているものとする。この例では、建物が2つ写った画像がテンプレート画像とされている。
いま、図24に示されるような画像が入力画像信号Vinの画像としてオブジェクト抽出部1013に供給されたものとする。オブジェクト抽出部1013は、図23に示されるテンプレート画像に対し、図24に示される画像に含まれるテンプレート画像と異なる領域を抽出することになる。例えば、図25に示されるようにオブジェクトが抽出されることになる。この例では、自動車がオブジェクトとして抽出されている。
例えば、監視カメラで同じ場所の画像を撮影し続ける場合など、オブジェクトが含まれない状態の画像をテンプレート画像として記録しておけば、何らかのオブジェクトが含まれる画像が撮影されると、テンプレート画像との差分からオブジェクトの領域を抽出することが可能となる。オブジェクトの領域の抽出は、例えばテンプレート画像、入力画像信号Vinの画像との間で対応する画素値の差分を演算し、各画素の差分を所定の閾値と比較して、閾値より大きい差分が大きい値となった画素を抽出するようにすればよい。
また、日照や天候の変化など、オブジェクトが含まれていない画像であっても、テンプレート画像との差分が大きい画素が多い画像が撮影された場合、その入力画像信号Vinの画像を、テンプレート画像に上書きするようにしてもよい。
図22に戻って、重心算出部1014は、オブジェクト抽出部1013で抽出された領域の重心を、式(50)および式(51)により算出する。ただし(xi、yi)は抽出されたオブジェクトの座標、Onは抽出されたオブジェクトの画素数を示す。
Figure 0004507129
Figure 0004507129
重心算出部1014で算出される重心の座標が、初期追尾点(xs、ys)として用いられることになる。
このようにすることで、追尾点が自動的に指定されてオブジェクトの追尾が行われるようにすることができる。
ところで、追尾点は、通常、画面の中で移動するオブジェクトの中の1点として設定される。従って、例えば、入力画像信号の中で移動するオブジェクトを抽出することが可能であれば、その抽出されたオブジェクトを構成する画素の領域内においてのみ、追尾点の検出を行うことが望ましい。
図26は、第1階層動き検出部104の別の構成例を示すブロック図である。同図の例では、第1階層動き検出部104において、移動するオブジェクトを抽出し、その抽出されたオブジェクトを構成する画素の領域内においてのみ、追尾点の検出を行うようになされている。
なお、図26に示される第1階層動き検出部104は、例えば、画像の中の所定のオブジェクトを追尾しながら、オブジェクトの動きに合わせてカメラの画角が変化する場合などに用いられるようにすると、特に効果的な構成となる。
図26の第1階層動き検出部104において、入力される画像F1は、遅延部1040、ブロック位置検出部1041、および画面動き検出部1043に供給される。遅延部1040では、画像F1を2フレーム遅延させ、ブロック位置検出部1041、および画面動き検出部1043に供給するようになされている。
画面動き検出部1043では、画像F1の画面動きを検出する。
画面動き検出部1043は、注目フレームに対し、時間方向で前後のフレームに対し、動き検出を行う。画面動き検出部1043は、例えば、図27に示されるように、画像F1の1つのフレームの画面全体を8×8のブロックに分割し、それらのブロック毎にブロックマッチングによって動きベクトルを算出する。そして各ブロックの動きベクトルのヒストグラムを作成し、最も頻度の大きい動きベクトルを画面全体の動きベクトルとして用いるようになされている。
これにより、図28に示されるように、注目フレームより時間的に前のフレームの画像との間で画面動きベクトルAmv1が検出され、注目フレームより時間的に後のフレームの画像との間で画面動きベクトルAmv2が検出される。なお、図28においては、横軸が時間とされ、図中左から右へ時間が経過するものとする。
画面動き検出部1043により検出された、画面動きベクトルAmv1および画面動きベクトルAmv2は、追尾領域検出部1044に供給される。
図29は、追尾領域抽出部1044の詳細な構成例を示すブロック図である。
追尾領域検出部1044は、画面動き検出部1043で検出された画面動きベクトルに基づいて、後述する領域内ブロック位置検出部1045で動き検出を行うべき領域を検出する。
画面位置シフト部10440−1、および画面位置シフト部10440−2は、それぞれ、画像F1の注目フレーム、および注目フレームより時間的に後のフレームの画面位置をシフトさせる。
画面位置シフト部10440−1、および画面位置シフト部10440−2は、例えば、図30に示されるように、画面動きベクトルAmv1および画面動きベクトルAmv2に対して、動きベクトルと逆向きの方向に画面の位置をシフトする。図30は、図中縦軸が時間とされ、図中上から下に向かって時間が経過するものとし、図中のほぼ中央が注目フレームの時間的位置に対応する。
このように画面位置をシフトさせることで、画面動き(例えば、カメラの動き)による位相のずれを合わせた画像が生成される。すなわち、時間的に前の画像と時間的に後の画像とにおいて、背景の画像の位置がほぼ一致する位置に移動されるように画面の位置がシフトされる。
フレーム差分算出部10441−1、画面位置をシフトさせた注目フレームの画像と注目フレームより時間的に前のフレームの画像との間で差分を算出する。また、フレーム差分算出部10441−2は、画面位置をシフトさせた注目フレームの画像と、画面位置をシフトさせた注目フレームより時間的に後のフレームの画像との間で差分を算出する。ここで差分の算出は、例えば差分絶対値を算出し、所定の閾値より大きい値となる画素を抽出することにより行われる。
フレーム差分算出部10441−1、およびフレーム差分算出部10441−2の処理により、図30において、「フレーム差分算出」と記された画像の情報が得られることになる。図中のハッチングで示された部分が、それぞれフレーム差分算出部10441−1、およびフレーム差分算出部10441−2算出された差分に対応する。
AND領域抽出部10442は、フレーム差分算出部10441−1、およびフレーム差分算出部10441−2によりフレーム差分が得られた2つの画像において、共通して抽出された画素(AND領域)を抽出する。これにより、図30において、「AND領域抽出」と記された画像の情報が得られることになる。図中のハッチングで示された部分が、AND領域として抽出された画素に対応している。いまの場合、オブジェクトである自動車の形状の画像がAND領域として抽出されている。
このようにすることで、オブジェクトが画面全体の動きとは異なる方向に動いても、オオブジェクトの領域を正確に抽出することができる。また、追尾領域抽出部1044では、時間方向で間引かれた画像F1を処理するようにしたので、例えば、オブジェクトの動きが1フレーム間では小さい場合でも、離れたフレーム同士で差分をとることができ、オブジェクトの領域をより抽出し易くすることができる。
図26に戻って、領域内ブロック位置検出部1045は、入力される追尾点候補(ここでは、入力される追尾点候補の座標が(x,y)で示されている)と、追尾領域検出部1044の検出結果とに基づいて、追尾領域に限定した動き検出を行う。
領域内ブロック位置検出部1045の構成は、図5を参照して上述したブロック位置検出部1041の構成と同様であるが、領域内ブロック位置検出部1045の処理は、追尾点候補、サーチ範囲に追尾領域が含まれるかどうかで処理が限定される。
追尾点の座標(x,y)が追尾領域検出部1044により検出されたAND領域に含まれる場合、サーチ範囲においてマッチングするブロックも追尾領域(追尾領域検出部1044により検出されたAND領域)に含まれているブロックだけを対象とする。
すなわち、領域内ブロック位置検出部1045は、時間的に前のフレームの画像の中で、追尾点を中心とする所定の個数の画素で構成されるブロックBLを設定し、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲を設定する。追尾点の座標(x,y)が追尾領域検出部1044により検出されたAND領域に含まれる場合、このサーチ範囲が、追尾領域内に限られるのである。
そして、領域内ブロック位置検出部1045は、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(tvx、tvy)を領域内動き統合部1046へ供給する。
入力される全ての追尾点候補が追尾領域に含まれず、かつ全ての追尾点候補に対して設定されたそれぞれのサーチ範囲の中に追尾領域に含まれるブロックが存在しない場合、通常の図5を参照して上述した場合と同様のブロック位置の検出が行われる。この場合、領域内ブロック位置検出部1045から、ブロック位置検出部1041に処理の要求を表す信号などが送出され、ブロック位置検出部1041によりブロック位置が検出される。そして、検出されたブロックの中心となる画素位置を特定する座標(mvx、mvy)が領域内動き統合部1046へ供給される。
なお、全ての追尾点候補に対して設定されたそれぞれのサーチ範囲の中に追尾領域に含まれるブロックが存在するか否かの判定は、例えば、ブロックの全ての画素が追尾領域に含まれる場合に、「領域内」と判定されるようにしてもよいし、ブロックの8割の画素が追尾領域に含まれる場合に「領域内」と判定されるようにしてもよい。
領域内動き統合部1046は、最終的なブロック位置を決定する。領域内動き統合部1046は、領域内ブロック位置検出部1045からブロック位置の中心の座標(tvx、tvy)が供給された場合、例えば、領域内ブロック位置検出部1045から供給された(tvx、tvy)の座標の最頻値を最終的なブロック位置とする。またブロック位置検出部1041からブロック位置の中心の座標(mvx、mvy)が入力された場合は、上述の式(18)または式(19)に示される演算を行って座標を特定する。
第1階層動き検出部104を、図26のように構成することで、移動するオブジェクトを抽出し、その抽出されたオブジェクトを構成する画素の領域内においてのみ、追尾点の検出を行うことが可能となる。その結果、追尾点の検出の処理を、より効率的に行うことが可能となる。
ところで、図14の画像処理装置300の構成において、候補点抽出部102から階層化部103への入力を追加し、階層化部103を、図3を参照して上述した構成とは異なる構成とするようにしてもよい。
図31は、本発明の一実施の形態に係る画像処理装置のさらに別の構成例を示すブロック図である。同図に示される画像処理装置500は、図14の画像処理装置300の場合と異なり、候補点抽出部102から出力される追尾点候補(x0(w、h)、y0(w、h))が、階層化部103にも供給されている。また、同図に示される画像処理装置500の階層化部103の構成は、後述するように、図3を参照して上述した構成とは異なる構成とされる。図31のそれ以外の部分の構成は、図14を参照して上述した構成と同様である。
図32は、図31の階層化部103の詳細な構成例を示すブロック図である。図32の階層化部103の構成においては、画像F1を生成する際に、間引くフレームの間隔を可変とすることができる。
図32の縮小画生成部1030の構成は、図3を参照して上述した場合と同様なので詳細な説明は省略する。
図32のフレーム間引き部1032は、まず、予め設定された所定のフレーム間隔(例えば5フレーム)で画像F2を時間方向に間引くことで、画像F1を生成し、動き差分算出部1034、遅延部1033へ供給するようになされている。
動き差分算出部1034は、図5のブロック位置検出部1041と同様に、追尾点の動きを検出するものであるが、ブロック位置検出部1041のようにブロックの位置を表す座標を出力するものではなく、ブロックの差分絶対値総和の値を出力するものとなる。すなわち、図5のブロック位置検出部1041は、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(mvx、mvy)を出力するが、図32の動き差分算出部1034は、座標(mvx、mvy)に対応する候補ブロックの差分絶対値総和の値を出力するのである。
動き差分算出部1034は、この差分絶対値総和の値を、候補点抽出部102から出力される追尾点候補(x0(w、h)、y0(w、h))の全てに対して算出し、それぞれの差分絶対値総和の値をフレーム間引き指定部1035に供給する。
フレーム間引き指定部1035は、動き差分算出部1034から供給される差分絶対値総和の値に対応して間引きフレーム間隔を指定する。
フレーム間引き指定部1035は、全ての追尾候補点における差分絶対値総和の値が所定の閾値より大きい場合、フレームの間引き間隔を1フレーム減らす。全ての追尾候補点における差分絶対値総和の値が所定の閾値より大きい場合、間引いたフレーム同士で追尾点近傍に相関のある箇所がないと考えられ、その場合、いわば、フレームを間引き過ぎたということもできる。そこで、フレーム間引き指定部1035は、フレームの間引き間隔を1フレーム減らすのである。
例えば、図33に示されるような場合を考える。図33は、予め設定された所定のフレーム間隔(例えば5フレーム)で画像F2を時間方向に間引くことで生成された画像F1の例を示す図である。同図においては、図中の縦軸が時間とされ、図中上から下に向かって時間が経過するものとする。また、同図においては、人の頭部611が追尾すべきオブジェクトとされており、人の頭部611の中に、図中十字の記号で示された追尾点が設定されている。また、図33においては、フレーム601とフレーム602の間で5フレーム間引かれているものとする。
同図のフレーム601においては、追尾すべきオブジェクトである人の頭部611とともに、別のオブジェクト612が表示されている。フレーム602においては、人が図中左方向に移動したことにより、追尾すべきオブジェクトである人の頭部611が別のオブジェクト612の背後に隠れている。ここでは、オブジェクト612の背後に隠れた人の画像が図中の点線で示されている。
図33に示されるような場合、フレームの間引き間隔を減らさないと、人の頭部611を追尾することができないのである。
一方、フレーム間引き指定部1035は、全ての追尾候補点における差分絶対値総和の値が別の所定の閾値より小さい場合、フレーム間引き間隔を1フレーム増やす。全ての追尾候補点における差分絶対値総和の値が所定の閾値より小さい場合、間引いたフレーム同士でオブジェクトの動きが殆どなかったと考えられ、その場合、いわば、フレームを間引き足りないということもできる。フレーム間引き指定部1035は、フレームの間引き間隔を1フレーム増やすのである。
例えば、図34に示されるような場合を考える。図34は、予め設定された所定のフレーム間隔(例えば5フレーム)で画像F2を時間方向に間引くことで生成された画像F1の別の例を示す図である。同図においては、図33と同様に、図中の縦軸が時間とされ、図中上から下に向かって時間が経過するものとする。また、同図においても、人の頭部611が追尾すべきオブジェクトとされており、人の頭部611の中に、図中十字の記号で示された追尾点が設定されている。図34においても、フレーム601とフレーム602の間で5フレーム間引かれているものとする。
同図のフレーム601とフレーム602においては、追尾すべきオブジェクトである人の頭部611がほとんど動いていない。
図34に示されるような場合、フレームの間引き間隔を増やしても、人の頭部611を追尾することができるのである。また、図34に示されるような場合、フレームの間引き間隔を増やすことで、無駄な動き検出を行うことがなくなるのである。
図32の階層化部103は、全ての追尾候補点における差分絶対値総和の値が適切な値となるまで、上述のようにフレームの間引き間隔の増減を繰り返す。そして、全ての追尾候補点における差分絶対値総和の値が適切な値となった場合、すなわち、全ての差分絶対値総和の値が所定の閾値以下であり、かつ全ての差分絶対値総和の値が別の所定の閾値以上となった場合、フレーム間引き間隔が決定され、フレーム間引き部1032から画像F1が出力されることになる。
このように、図31に示される画像処理装置500においては、オブジェクトの追尾を行うにあたって最適なフレーム間引間隔が設定されるようにすることができる。従って、図31の画像処理装置500においては、さらに正確、かつ効率的にオブジェクトの追尾を行うことができるのである。
次に、図35のフローチャートを参照して、図1の画像処理装置100によるオブジェクト追尾処理について説明する。
ステップS101において、画像処理装置100は、いま入力される入力画像信号Vinの画像のフレームが、オブジェクト追尾処理の処理開始フレームであるか否かを判定し、処理開始フレームであると判定された場合、処理は、ステップS102に進む。
ステップS102において、追尾点指定部1011は、初期追尾点を決定する。このとき、例えば、マウスなどのポインティングデバイスを介したユーザの操作などに対応して画像信号提示部1010において表示された画像の中の1点(例えば、1画素)が初期追尾点として決定される。
ステップS102の処理の後、または、ステップS101において、いま入力される入力画像信号Vinの画像のフレームが、オブジェクト追尾処理の処理開始フレームではないと判定された場合、処理は、ステップS103に進む。
ステップS103において、階層化部103は、階層化処理を実行する。ここで、図36のフローチャートを参照して、図35のステップS103の階層化処理の詳細な例について説明する。
ステップS121において、縮小画生成部1030は、入力画像信号の画像について、例えば、x方向で2画素ずつ、y方向で2画素ずつ、計4個の画素の平均値を用いて、入力画像信号の画像を、1/4の大きさに縮小する。
ステップS122において、縮小画生成部1030は、画像F2を出力する。このとき、例えば、図4に示されるように、入力画像信号の画像とフレームレートが同一であって、画素数が圧縮され、サイズが1/4に縮小された画像F2が出力される。
ステップS123において、フレーム間引き部1031は、ステップS122の処理で出力された画像F2に対して、さらにフレームの間引き処理を行う。
ステップS124において、フレーム間引き部1031は、画像F1を出力する。このとき、例えば、図4に示されるように、入力画像信号のサイズが1/4に縮小され、さらに、フレーム間隔が1/5に間引かれた画像F1が出力される。
このようにして階層化処理が行われる。
図35に戻って、ステップS103の処理の後、処理は、ステップS104に進み、第1階層動き検出部104は、第1階層動き検出処理を実行する。ここで、図37のフローチャートを参照して、図35のステップS104の第1階層動き検出処理の詳細な例について説明する。
ステップS141において、遅延部1040は、入力された画像F1のフレームを、例えば、1フレームに対応する時間分保持することで遅延させ、画像F1の次のフレームが、ブロック位置検出部1041に入力されるタイミングで、遅延させたフレームをブロック位置検出部1041に供給する。
ステップS142において、ブロック位置検出部1041は、上述した式(3)により演算された差分絶対値総和が最小となった候補ブロックを特定することで、ブロック位置を検出する。このとき、例えば、図6Aと図6Bを参照して上述したように、遅延させたフレーム(時間的に前のフレーム)の画像の中で、追尾点を中心とする所定の個数の画素で構成されるブロックBLが設定される。そして、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲が設定されて、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で、差分絶対値総和の演算が行われる。
ステップS143において、動き統合部1042は、ベクトルX1、ベクトルY1を出力する。このとき、ブロック位置検出部1041から供給される画素位置を特定する座標(mvx、mvy)と、追尾点更新部115から供給される座標(x0,y0)とを対応付けて式(4)および式(5)に示されるように、例えば、ベクトルX1、ベクトルY1が生成されて出力される。
なお、図15と図16を参照して上述したように、動き検出画素範囲が設定される場合、動き統合部1042では、ブロック位置検出部1041から入力されるブロックの位置を、上述した式(18)、式(19)の演算により統合する。そして、統合後のブロックの中心となる画素位置と、追尾点更新部115から供給される座標(x0,y0)とを対応付けて式(4)および式(5)に示されるように、例えば、ベクトルX1、ベクトルY1が生成されて出力されることになる。
このようにして、第1階層動き検出処理が行われる。
図35に戻って、ステップS104の処理の後、処理は、ステップS105に進み、第2階層動き検出部105は、第2階層動き検出処理を実行する。ここで、図37のフローチャートを参照して、図35のステップS105の第2階層動き検出処理の詳細な例について説明する。
ステップS161において、遅延部1050は、ステップS122の処理で出力された画像F2を1フレーム分遅延させる。
ステップS162において、順方向動き検出部1051は、例えば、図9を参照して上述したように、順方向の動き検出を行う。このとき、例えば、図9の図中最も左側のフレームにおける追尾点に基づいて、図中左から2番目のフレームの追尾点、左から3番目のフレームの追尾点、および左から4番目のフレームの追尾点が検出される。
ステップS163において、動き統合部1052は、順方向動き検出部1051から供給される座標に基づいて、上述したように、式(6)および式(7)で示されるベクトルXf2およびベクトルYf2を生成して出力する。
ステップS164において、フレーム入替部1053は、画像F2のフレームのそれぞれを逆方向に並べ替えて逆方向動き検出部1054に供給する。
ステップS165において、逆方向動き検出部1054は、例えば、図9を参照して上述したように、逆方向の動き検出を行う。このとき、例えば、図9の図中最も右側のフレームにおける追尾点に基づいて、図中右から2番目のフレームの追尾点、右から3番目のフレームの追尾点、および右から4番目のフレームの追尾点が検出される。
ステップS166において、動き統合部1055は、逆方向動き検出部1054から供給される座標に基づいて、上述したように、式(8)および式(9)で示されるベクトルXb2およびベクトルYb2を生成する。
ステップS167において、出力統合部1056は、動き統合部1052および動き統合部1055からそれぞれ供給されたベクトルに基づいて、それらのベクトルのペアの組み合わせ[Xf2,Yf2,Xb2,Yb2]を出力する。
このようにして、第2階層動き検出処理が行われる。
図35に戻って、ステップS105の処理の後、ステップS106において、第3階層動き検出部111は、第3階層動き検出処理を実行する。ここで、図39のフローチャートを参照して、図35のステップS106の第3階層動き検出処理の詳細な例について説明する。
ステップS181において、遅延部1110は、入力画像信号の画像のフレームを遅延させる。
ステップS182において、ブロック位置検出部1111は、追尾点の座標値を縮小前の画像の座標値に置き換える。このとき、ブロック位置検出部1111は、ステップS167の処理により出力された情報に基づいて、ブロック位置決定部114から供給されたベクトルのペア[X2,Y2]により特定される画素位置を、上述した式(14)および式(15)の演算により、入力画像信号Vinの画像に置き換える。
ステップS183において、ブロック位置検出部1111は、ブロック位置を検出する。このとき、例えば、時間的に後のフレームにおいて、前のフレームでのブロックBLと同じ位置を中心としたサーチ範囲が設定される。そして、ブロック位置検出部1111は、前のフレームのブロックBLと後のフレームのサーチ範囲内の候補ブロックとの間で差分絶対値総和の演算を行って、差分絶対値総和が最小となった候補ブロックの中心となる画素位置を特定する座標(mvx、mvy)を動き統合部1042へ供給する。
ステップS184において、動き統合部1112は、例えば、図12の入力画像信号Vinの画像の各フレームの追尾点の画素位置を特定する座標を、ベクトルX3、ベクトルY3として出力する。このとき、例えば、上述した式(16)、式(17)により表されるベクトルX3、ベクトルY3が出力される。
図35に戻って、ステップS106の処理の後、処理は、ステップS107に進む。ステップS107において、出力画像生成部113は、ステップS184の処理で出力されたベクトルX3、ベクトルY3に基づいて、各フレームの追尾点を特定し、出力画像を生成する。このとき、例えば、図19を参照して上述したような出力画像が生成されることになる。
ステップS108において、全フレームで処理が終了したか否かが判定され、まだ、処理が終了していないと判定された場合、処理は、ステップS109に進み、追尾点更新部115は、ステップS184の処理で出力されたベクトルX3、ベクトルY3に基づいて追尾点を更新する。その後、ステップS101に戻り、それ以降の処理が繰り返し実行される。このように、ステップS108において、全フレームで処理が終了したと判定されるまで、ステップS101乃至ステップS109の処理が実行される。
このようにして、オブジェクト追尾処理が実行される。本発明においては、与えられた追尾点の画像のフレームから、時間的に離れたフレーム(例えば、5フレーム後のフレーム)における追尾点を特定するようになされている。そして、時間的に離れた2つフレームの間に位置するフレームの追尾点を特定していくようにしたので、より信頼性の高いオブジェクトの追尾が可能となる。
なお、画像処理装置を、図13に示されるように構成する場合、ステップS106の処理、およびステップS121の処理は実行されないことになる。
次に、図40のフローチャートを参照して、図14の画像処理装置300によるオブジェクト追尾処理の例について説明する。
ステップS202において、画像処理装置300は、いま入力される入力画像信号Vinの画像のフレームが、オブジェクト追尾処理の処理開始フレームであるか否かを判定し、処理開始フレームであると判定された場合、処理は、ステップS202に進む。
ステップS202乃至ステップS207の処理は、図35のステップS102乃至ステップS107の処理と同様の処理なので、詳細な説明は省略する。
ステップS207の処理の後、処理は、ステップS217に進む。ステップS217において、全フレームで処理が終了したか否かが判定され、いまの場合、まだ、全フレームで処理が終了していないので、処理は、ステップS218に進む。
ステップS218において、追尾点更新部112は、ステップS206の処理で出力されたベクトルX3、ベクトルY3に基づいて追尾点を更新し、処理は、ステップS101に戻る。
いまの場合、ステップS201では、入力画像信号Vinの画像のフレームが、オブジェクト追尾処理の処理開始フレームではないと判定されるので、処理は、ステップS208に進むことになる。
ステップS208において、候補点抽出部102は、追尾点候補を抽出する。このとき、上述したように、例えば、追尾点候補中心(xsm、ysm)からx方向、y方向ともに±2の範囲を用い、25個の追尾点候補(x0(w、h)、y0(w、h))が抽出されることになる。
ステップS209の処理は、図35のステップS103と同様の処理なので詳細な説明は省略する。
ステップS210において、第1階層動き検出部104は、第1階層動き検出処理を実行する。ステップS210の第1階層動き検出処理は、図37を参照して上述した処理と同様なので、詳細な説明は省略するが、ステップS210の処理の場合、ステップS208で抽出された追尾点候補のそれぞれについて、図37を参照して上述した処理と同様の第1階層動き検出処理が実行されることになる。
従って、ステップS210の処理の結果、上述したように、第1階層動き検出部104で検出される追尾点郡を表すベクトルX1(w、h)、およびベクトルY1(w、h)が、出力されることになる。
ステップS211において、第2階層動き検出部105は、第2階層動き検出処理を実行する。ステップS211の第2階層動き検出処理は、図38を参照して上述した処理と同様なので、詳細な説明は省略するが、ステップS211の処理の場合、ステップS208で抽出された追尾点候補のそれぞれについて、図38を参照して上述した処理と同様の第1階層動き検出処理が実行されることになる。
従って、ステップS211の処理の結果、上述したように、第2階層動き検出部105からの出力であるベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)が、出力されることになる。
また、上述したように、テーブル106では、ステップS211の処理で出力されたベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)で特定される各フレームの座標に対して、重み付け演算を行う。そして、ベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)の各要素がベクトルX2およびY2の各要素と対応付けられた表(テーブル)が生成される。
その結果、テーブル106は、図10に示されるような表を、第2階層動き検出部105から供給されるベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)に対応する追尾点のそれぞれについて保持することになり、例えば、全部で25個の追尾点群が生成されて保持される。
ステップS212において、差分算出部108は、ステップS209の処理により階層化部103から供給される画像F1においてこれから追尾を開始するフレーム(現フレームと称する)と、メモリ109に保持されている1つ前の追尾開始フレームであるフレームF1bとの間で差分を算出する。
このとき、上述したように、例えば、図17AのブロックBLと、図17BのブロックBLとの間で、例えば、画素の値の差分絶対値総和が演算される。すなわち、図17AのフレームF1bのブロックBL(1個)と、図17Bの現フレームのブロックBL(25個)との間で、25通りの差分絶対値総和が演算され、差分絶対値総和の値Dt(w、h)がステップS212の処理の結果出力されることになる。
ステップS213において、追尾点距離算出部107は、ステップS211の処理により第2階層動き検出部105から供給される、追尾点郡のベクトルXf2、およびベクトルYf2、ならびにベクトルXb2、およびベクトルYb2により供給される追尾点群に基づいて、階層化部103で生成される画像F2における順方向動き検出での追尾点と、逆方向動き検出での追尾点の距離を算出する。
このとき、上述したように、例えば、図9に示される画像F2の6つのフレームの中で、時間軸上の中間位置における、順方向動き検出での追尾点と、逆方向動き検出での追尾点の距離が算出される。そして、追尾点の距離Ltが、ステップS211の処理により第2階層動き検出部105から出力されるベクトルXf2(w、h)、およびベクトルYf2(w、h)、並びにベクトルXb2(w、h)、およびベクトルYb2(w、h)により特定される追尾点のそれぞれについて算出される。
その結果、上述した式(36)乃至式(40)、または式(41)により算出される距離Lt(w、h)として表される距離の値が、例えば、全部で25個と生成されて、ステップS213の処理結果として出力される。
ステップS214において、追尾点乗換決定部110は、ステップS213の処理により出力された距離の値Lt(w、h)と、ステップS212の処理により出力された差分絶対値総和の値Dt(w、h)に基づいて追尾点の乗り換えを行う。
このとき、上述したように、式(42)および式(43)を満たす追尾点候補が選択され、式(44)乃至式(49)に示される演算を行って、追尾点の乗り換えが行われる。そして、乗り換え後の追尾点ntzが、テーブル106、およびメモリ109に供給される。
そして、ステップS214の処理により乗り換えられた追尾点ntzに該当する追尾点郡に対応するベクトルX2、ベクトルY2が、テーブル106から読み出され、第3階層動き検出部111へ供給される。
ステップS215において、第3階層動き検出部111は、第3階層動き検出処理を実行する。ステップS215の第3階層動き検出処理は、図39を参照して上述した処理と同様の処理なので、詳細な説明は省略する。
ステップS216において、出力画像生成部113は、ステップS215の処理により第3階層動き検出部111から供給されるベクトルX3,ベクトルY3により特定される追尾点に基づいて、入力画像に追尾点の情報を表示した画像を生成し、生成された画像の出力画像信号Voutを出力する。このとき、例えば、図19を参照して上述したような出力画像が生成されることになる。
ステップS216の処理の後、ステップS217の判定が行われ、まだ、全フレームで処理が終了していないと判定された場合、処理は、ステップS218に進み、追尾点が更新されて、処理は、ステップS201に戻る。
このように、ステップS217において、全フレームで処理が終了したと判定されるまで、ステップS201、ステップS208乃至ステップS217の処理が実行される。
このようにして、オブジェクト追尾処理が実行される。図40の処理では、複数の追尾点候補が抽出されるようにし、複数の追尾点候補のそれぞれに対して、第1階層動き検出処理、および第2階層動き検出処理が施され、それらの処理結果に基づいて、最終的に1つの画素が追尾点として決定される。従って、図35を参照して上述したオブジェクト追尾処理の場合と比較して、より正確な追尾点を得ることが可能となるのである。
なお、画像処理装置300において、第3階層動き検出部111が設けられないようにする場合、ステップS203またはステップS209の階層化処理におけるステップS121の処理、並びにステップS206およびステップS215の処理は実行されないことになる。
次に、図41のフローチャートを参照して、初期追尾点決定部101が図22に示されるように構成される場合の、初期追尾点決定処理について説明する。この処理は、例えば、図35のステップS102、または、図40のステップS202の処理に代えて実行される処理である。
図22の初期追尾点決定部101において、入力画像信号Vinは、オブジェクト抽出部1013へ入力される。オブジェクト抽出部1013では、入力画像信号Vinとテンプレート保持部1012に記録されているテンプレート画像との差分からオブジェクトを抽出するようになされている。
ステップS301において、オブジェクト抽出部1013は、オブジェクトを抽出する。このとき、例えば、図23乃至図25を参照して上述したように、テンプレート画像と異なる領域がオブジェクトとして抽出される。
ステップS302において、重心算出部1014は、重心を算出する。このとき、ステップS301の処理で抽出された領域の重心が、上述した式(50)および式(51)により算出される。
ステップS303において、ステップS302の処理で算出された重心の座標が、初期追尾点として決定され、初期追尾点決定部101から出力される。
このようにして、初期追尾点が決定される。このようにすることで、自動的に初期追尾点が決定されるようにすることができる。
次に、図42のフローチャートを参照して、図41の初期追尾点決定処理に対応して実行される第1階層動き検出処理の詳細な例について説明する。この処理は、図26の第1階層動き検出部104により実行され、例えば、図35のステップS104、図40のステップS204、またはステップS210の処理として、図37の処理に代えて実行される処理である。
ステップS321において、遅延部1040は、画像F1を2フレーム遅延させる。
ステップS322において、画面動き検出部1043は、画像F1の画面動きを検出する。このとき、例えば、図27に示されるように、ブロック毎にブロックマッチングによって動きベクトルが算出されて動きベクトルのヒストグラムが作成され、最も頻度の大きい動きベクトルが画面全体の動きベクトルとして検出される。その結果、図28に示されるように、注目フレームより時間的に前のフレームの画像との間で画面動きベクトルAmv1が検出され、注目フレームより時間的に後のフレームの画像との間で画面動きベクトルAmv2が検出される。
ステップS323において、追尾領域検出部1044は、追尾領域抽出処理を実行する。ここで、図43のフローチャートを参照して、図42のステップS323の追尾領域抽出処理の詳細な例について説明する。
ステップS341において、画面位置シフト部10440−1は、画像F1の注目フレームの画面位置をシフトさせる。
ステップS342において、フレーム差分算出部10441−1は、ステップS341で画面位置をシフトさせた注目フレームの画像と、注目フレームより時間的に前のフレームの画像との間で差分を算出する。
ステップS343において、画面位置シフト部10440−2は、画像F1の注目フレームより時間的に後のフレームの画面位置をシフトさせる。
ステップS344において、フレーム差分算出部10441−2は、ステップS341で画面位置をシフトさせた注目フレームの画像と、ステップS343で画面位置をシフトさせた注目フレームより時間的に後のフレームの画像との間で差分を算出する。
これにより、例えば、図30に示されるように、画面動きベクトルAmv1および画面動きベクトルAmv2に基づいて画面の位置がシフトされ、図30において、「フレーム差分算出」と記された画像の情報が得られることになる。
ステップS345において、AND領域抽出部10442は、ステップS343の処理とステップS344の処理でフレーム差分が得られた2つの画像において、共通して抽出された画素(AND領域)を抽出する。
これにより、例えば、図30において、「AND領域抽出」と記された画像の情報が得られることになる。
このようにして、追尾領域(AND領域)が抽出される。
図42に戻って、ステップS323の処理の後、処理は、ステップS324に進む。
ステップS324において、領域内ブロック位置検出部1045は、全ての追尾点候補が追尾領域に含まれず、かつ全ての追尾点候補に対して設定されたそれぞれのサーチ範囲の中に追尾領域に含まれるブロックが存在しないか否かを判定する。
ステップS324において、全ての追尾点候補が追尾領域に含まれず、かつ全ての追尾点候補に対して設定されたそれぞれのサーチ範囲の中に追尾領域に含まれるブロックが存在しないと判定された場合、処理は、ステップS325に進み、ブロック位置検出部1041によりブロック位置が検出される。なお、ステップS325では、追尾領域内でブロック位置の検出ではなく、通常のブロック位置の検出が行われることになる。
一方、ステップS324において、いずれかの追尾点候補が追尾領域に含まれるか、または、いずれかの追尾点候補に対して設定されたそれぞれのサーチ範囲の中に追尾領域に含まれるブロックが存在すると判定された場合、処理は、ステップS326に進み、領域内ブロック位置検出部1045の処理は、追尾領域内でブロック位置を検出する。
ステップS327において、領域内動き統合部1046は、最終的なブロック位置を決定し、ベクトルX1、ベクトルY1を出力する。このとき、領域内動き統合部1046は、上述したように、領域内ブロック位置検出部1045からブロック位置の中心の座標(tvx、tvy)が供給された場合、例えば、領域内ブロック位置検出部1045から供給された(tvx、tvy)の座標の最頻値を最終的なブロック位置とし、またブロック位置検出部1041からブロック位置の中心の座標(mvx、mvy)が入力された場合は、上述の式(18)または式(19)に示される演算を行って座標を特定して最終的なブロック位置とする。
このようにして、第1階層動き検出処理が実行される。このようにすることで、移動するオブジェクトが抽出され、その抽出されたオブジェクトを構成する画素の領域内においてのみ、追尾点の検出を行うことが可能となる。その結果、追尾点の検出の処理を、より効率的に行うことが可能となる。
次に、図44のフローチャートを参照して、図32の階層化部103により実行される階層化処理の詳細な例について説明する。この処理は、例えば、図35のステップS103の処理、図40のステップS203の処理、またはステップS209の処理として、図36の処理に代えて実行される処理である。
ステップS361において、図32の縮小画生成部1030は、画像のサイズを縮小する。
ステップS362において、縮小画生成部1030は、画像F2を出力する。
ステップS363において、図32のフレーム間引き部1032は、予め設定された所定のフレーム間隔(例えば5フレーム)で画像F2を時間方向に間引く。
ステップS364において、動き差分算出部1034は、動き差分を算出する。このとき、上述したように、例えば、座標(mvx、mvy)に対応する候補ブロックの差分絶対値総和の値が出力される。なお、この処理が図40のステップS209の処理として実行される場合、ステップS364では、この差分絶対値総和の値が、ステップS208で抽出された追尾点候補(x0(w、h)、y0(w、h))の全てに対して算出される。
ステップS365において、フレーム間引き指定部1035は、ステップS364の処理で算出された動き差分(動き差分算出部1034から供給される差分絶対値総和の値)が、所定の閾値の範囲内であるか否かを判定する。
ステップS365において、ステップS364の処理で算出された動き差分が、所定の閾値の範囲内ではないと判定された場合、処理は、ステップS366に進む。
ステップS366において、フレーム間引き指定部1035は、フレームの間引き間隔を調整する。
ステップS366の処理では、上述したように、全ての追尾候補点における差分絶対値総和の値が所定の閾値より大きい場合、フレームの間引き間隔が、例えば、1フレーム減らされる。また、全ての追尾候補点における差分絶対値総和の値が別の所定の閾値より小さい場合、フレーム間引き間隔が、例えば、1フレーム増やされる。
その後、ステップS366の処理を経て調整されたフレームの間引き間隔によって、ステップS363の処理が実行されることになる。
このように、ステップS365において、ステップS364の処理で算出された動き差分が、所定の閾値の範囲内であると判定されるまで、ステップS363乃至ステップS366の処理が繰り返し実行されることになる。
ステップS365において、ステップS364の処理で算出された動き差分が、所定の閾値の範囲内であると判定された場合、処理は、ステップS367に進み、フレーム間間引き部1032は、画像F1を出力する
このようにして、階層化処理が実行される。このようにすることで、オブジェクトの追尾を行うにあたって最適なフレーム間引間隔が設定されるようにすることができる。従って、さらに正確、かつ効率的にオブジェクトの追尾を行うことができる。
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図45に示されるような汎用のパーソナルコンピュータ700などに、ネットワークや記録媒体からインストールされる。
図45において、CPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部708からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース705も接続されている。
入出力インタフェース705には、キーボード、マウスなどよりなる入力部706、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部707、ハードディスクなどより構成される記憶部708、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部709が接続されている。通信部709は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース705にはまた、必要に応じてドライブ710が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部708にインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア711などからなる記録媒体からインストールされる。
なお、この記録媒体は、図45に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア711により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部708に含まれるハードディスクなどで構成されるものも含む。
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
本発明の一実施の形態に係る画像処理装置の構成例を示すブロック図である。 図1の初期追尾点決定部の構成例を示すブロック図である。 図1の階層化部の構成例を示すブロック図である。 階層化部の処理を説明する図である。 図1の第1階層動き検出部の構成例を示すブロック図である。 図5のブロック位置検出部の処理を説明する図である。 図5のブロック位置検出部の処理を説明する図である。 図1の第2階層動き検出部の構成例を示すブロック図である。 順方向動き検出と逆方向動き検出を説明する図である。 各フレームの追尾点を特定するために用いられるテーブルの例を示す図である。 図1の第3階層動き検出部の構成例を示すブロック図である。 第3階層動き検出部の処理を説明する図である。 本発明の一実施の形態に係る画像処理装置の別の構成例を示すブロック図である。 本発明の一実施の形態に係る画像処理装置のさらに別の構成例を示すブロック図である。 ブロック位置検出部の処理を説明する図である。 ブロック位置検出部の処理を説明する図である。 図14の差分算出部の処理を説明する図である。 追尾点の乗り換えを説明する図である。 本発明の画像処理装置により出力される出力画像の例を説明する図である。 従来のオブジェクト追尾処理の例を説明する図である。 本発明の画像処理装置によるオブジェクト追尾処理の効果を説明する図である。 初期追尾点決定部の別の構成例を示すブロック図である。 図23の初期追尾点決定部の処理を説明する図である。 図23の初期追尾点決定部の処理を説明する図である。 図23の初期追尾点決定部の処理を説明する図である。 第1階層動き検出部の別の構成例を示すブロック図である。 図26の画面動き検出部の処理を説明する図である。 画面動きベクトルの例について説明する図である。 図26の追尾領域検出部の構成例を示すブロック図である。 図29の追尾領域検出部の各部の処理を説明する図である。 本発明の一実施の形態に係る画像処理装置のさらに別の構成例を示すブロック図である。 図31の階層化部の構成例を示すブロック図である。 図32のフレーム間引指定部の処理を説明する図である。 図32のフレーム間引指定部の処理を説明する図である。 図1の画像処理装置により実行されるオブジェクト追尾処理の例を説明するフローチャートである。 階層化処理の例を説明するフローチャートである。 第1階層動き検出処理の例を説明するフローチャートである。 第2階層動き検出処理の例を説明するフローチャートである。 第3階層動き検出処理の例を説明するフローチャートである。 図14の画像処理装置により実行されるオブジェクト追尾処理の例を説明するフローチャートである。 初期追尾点決定処理の例を説明するフローチャートである。 第1階層動き検出処理の別の例を説明するフローチャートである。 追尾領域抽出処理の例を説明するフローチャートである。 階層化処理の別の例を説明するフローチャートである。 パーソナルコンピュータの構成例を示すブロック図である。
符号の説明
100 画像処理装置, 101 追尾点決定部, 103 階層化部, 104 第1階層動き検出部, 105 第2階層動き検出部, 106 テーブル, 107 追尾点距離算出部, 108 差分算出部, 110 追尾点乗換決定部, 111 第3階層動き検出部, 113 出力画像生成部, 114 ブロック位置決定部, 200 画像処理装置, 400 画像処理装置, 701 CPU, 711 リムーバブルメディア, 1012 テンプレート保持部, 1013 オブジェクト抽出部, 1014 重心算出部, 1032 フレーム間引き部, 1034 動き差分算出部, 1035 フレーム間引指定部, 1041 ブロック位置検出部, 1042 動き統合部, 1043 画面動き検出部, 1044 追尾領域検出部, 1045 領域内ブロック位置検出部, 1051 順方向動き検出部,1052 動き統合部, 1054 逆方向動き検出部, 1055 動き統合部, 1111 ブロック位置検出部, 1112 動き統合部, 10440−1,10440−2 画面位置シフト部, 10441−1,10441−2 フレーム差分算出部

Claims (16)

  1. 時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きを行うフレーム間引き手段と、
    前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素を追尾点として検出する第1の検出手段と、
    前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出を行う順方向検出手段と、
    前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出を行う逆方向検出手段と、
    前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素を追尾点として検出する第2の検出手段と
    を備える追尾点検出装置。
  2. 時間的に連続する複数のフレームの画像により構成される動画像を縮小する縮小手段をさらに備え、
    フレーム間引き手段が、前記縮小された動画像のフレーム間隔の間引きを行い、
    前記第1の検出手段および前記第2の検出手段は、それぞれ前記縮小された動画像のフレームの追尾点を検出する
    請求項1に記載の追尾点検出装置。
  3. 前記第2の検出手段により検出された追尾点の画素の位置を、前記縮小されていない動画像のフレームにおける前記追尾点の画素の位置に変換する変換手段をさらに備える
    請求項2に記載の追尾点検出装置。
  4. 前記フレームが間引かれた後の動画像の時間的に前のフレームにおいて、候補となる画素を複数設定する候補設定手段をさらに備え、
    前記第1の検出手段が、時間的に前のフレームの候補となる画素のそれぞれに対応する時間的に後のフレームの画素のそれぞれを、追尾点候補として検出し、
    前記順方向検出手段が、時間的に前のフレームにおいて候補となる画素のそれぞれに対応する画素のそれぞれを、前記間引かれたフレームのそれぞれにおいて順方向検出し、
    前記逆方向検出手段が、時間的に後のフレームにおいて前記追尾点候補として検出された画素に対応する画素のそれぞれを、前記間引かれたフレームのそれぞれにおいて逆方向検出し、
    前記第2の検出手段が、前記順方向検出により検出されたそれぞれ画素の位置と、前記逆方向検出により検出されたそれぞれの画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれにおいて、複数の画素をそれぞれ追尾点候補として検出する
    請求項1に記載の追尾点検出装置。
  5. 前記候補設定手段が設定した、前記時間的に前のフレームにおいて前記候補となる複数の画素のうちの所定の画素の位置を表す情報と、
    前記第1の検出手段により、前記所定の画素に対応する前記時間的に後のフレームにおける追尾点候補として検出された画素の位置を表す情報と、
    前記順方向検出手段により順方向検出された前記所定の画素に対応する前記間引かれたフレームのそれぞれの画素の位置を表す情報と、
    前記逆方向検出手段により逆方向検出された前記所定の画素に対応する前記間引かれたフレームのそれぞれの画素の位置を表す情報と、
    前記第2の検出手段により、前記所定の画素および前記追尾点候補に対応する前記間引かれたフレームのそれぞれの追尾点候補として検出された画素の位置を表す情報と
    を対応付けて1組の追尾点候補群とし、
    前記候補設定手段が設定した前記候補となる画素の数と同数の組の追尾点候補群を記憶する記憶手段をさらに備える
    請求項4に記載の追尾点検出装置。
  6. 前記第1の検出手段は、
    時間的に前のフレームの所定の画素を中心とした画素で構成されるブロックの画素値と、前記時間的に後のフレームにおいて前記所定の画素に対応する位置の画素の周辺の複数の画素のそれぞれを中心とした画素で構成される複数のブロックの画素値の差分絶対値和を演算し、
    前記複数のブロックのうち、前記差分絶対値和の値が最小となったブロックの中心となる画素を追尾点として検出する
    請求項5に記載の追尾点検出装置。
  7. 前記第1の検出手段は、
    前記時間的に前のフレームの所定の画素を中心とした所定領域である動き検出画素範囲内の画素のそれぞれを中心とした画素で構成されるブロックを複数設定し、
    前記動き検出画素範囲内の画素のそれぞれに対応する前記追尾点の画素を検出し、
    前記動き検出画素範囲内の画素のそれぞれに対応する前記追尾点の画素の座標値に基づいて演算された座標値を、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの追尾点の位置として検出する
    請求項6に記載の追尾点検出装置。
  8. 前記時間的に前のフレームよりさらに時間的に前のフレームにおいて、予め検出された追尾点の画素を中心とした所定領域内の画素値と、前記候補設定手段が設定した、前記時間的に前のフレームにおいて前記候補となる複数の画素のそれぞれを中心とした所定領域内の画素値との差分絶対値総和の値を算出する差分値算出手段と、
    前記記憶手段に記憶されている前記順方向検出された前記間引かれたフレームのそれぞれの画素の位置を表す情報、および前記逆方向検出された前記間引かれたフレームのそれぞれの画素の位置を表す情報に基づいて、前記間引かれたフレームのうち、時間的に中間に位置するフレームにおける前記順方向検出された画素と、前記逆方向検出された画素との距離を算出する距離算出手段とをさらに備える
    請求項7に記載の追尾点検出装置。
  9. 前記算出された差分絶対値総和の値、および前記算出された距離を、それぞれ所定の値と比較することで、
    前記候補設定手段が設定した前記候補となる複数の画素の中から、予め設定された条件を満たす画素を複数検出し、
    前記予め設定された条件を満たすそれぞれ画素の位置の情報に基づいて、前記候補設定手段が設定した前記候補となる複数の画素の中の1つの画素を特定し、
    前記記憶手段が記憶している複数の追尾点群のうち、前記特定された1の画素に対応する追尾点群を、それぞれのフレームにおける追尾点とする
    請求項8に記載の追尾点検出装置。
  10. 前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素を中心とする所定領域内の画素値と、前記第1の検出手段により検出された前記時間的に後のフレームにおける画素を中心とする所定領域内の画素値との差分絶対値総和の値に基づいて、フレーム間引き手段が間引くフレーム間隔を増減させるフレーム間隔増減手段をさらに備える
    請求項1に記載の追尾点検出装置。
  11. 予め撮影された画像をテンプレートとして保持するテンプレート保持手段と、
    前記動画像の所定のフレームの画像から、前記テンプレートに表示されていないオブジェクトを抽出するオブジェクト抽出手段と、
    前記抽出されたオブジェクトの画像の中から、前記追尾点を検出するための画素を特定する画素特定手段とをさらに備える
    請求項1に記載の追尾点検出装置。
  12. 前記第1の検出手段は、
    前記フレームが間引かれた後の動画像において、注目フレーム、注目フレームの時間的に前のフレーム、注目フレームの時間的に後のフレームに基づいて、移動するオブジェクト対応する領域を抽出する領域抽出手段と、
    前記領域抽出手段により抽出された領域の中から、前記時間的に前のフレームの所定の画素に対応する前記注目フレームの画素を検出する領域内検出手段と
    を備える請求項1に記載の追尾点検出装置。
  13. 前記領域抽出手段は、
    前記注目フレームと前記注目フレームの時間的に前のフレームとの間で得られた画面動きベクトルに基づいて前記注目フレームの画面位置をシフトさせる第1の画面位置シフト手段と、
    前記画面位置をシフトさせた注目フレームの画像と、注目フレームの時間的に前のフレームの画像との間で差分を算出する第1のフレーム差分算出手段と、
    前記注目フレームと前記注目フレームの時間的に後のフレームとの間で得られた画面動きベクトルに基づいて前記注目フレームの画面位置をシフトさせる第2の画面位置シフト手段と、
    前記画面位置をシフトさせた注目フレームの画像と、注目フレームの時間的に後のフレームの画像との間で差分を算出する第2のフレーム差分算出手段と、
    前記第1のフレーム差分算出手段により算出された前記差分に対応する画素と、前記第2のフレーム差分算出手段により算出された前記差分に対応する画素とのAND領域を、オブジェクト対応する領域として抽出するAND領域抽出手段と
    を備える請求項12に記載の追尾点検出装置。
  14. 時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きを行い、
    前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素を追尾点として検出し、
    前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出を行い、
    前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出を行い、
    前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素を追尾点として検出するステップ
    を含む追尾点検出方法。
  15. コンピュータを、
    時間的に連続する複数のフレームの画像により構成される動画像のフレーム間隔の間引きを行うフレーム間引き手段と、
    前記フレームが間引かれた後の動画像において連続する2つのフレームのうち、時間的に前のフレームの所定の画素に対応する時間的に後のフレームの画素を追尾点として検出する第1の検出手段と、
    前記フレームが間引かれた後の動画像の時間的に前のフレームの所定の画素に対応する画素を、前記間引かれたフレームのそれぞれにおいて、時間と同一の方向に順番に検出する順方向検出を行う順方向検出手段と、
    前記フレームが間引かれた後の動画像の時間的に後のフレームにおいて前記検出された画素に対応する画素を、間引かれたフレームのそれぞれにおいて、時間と逆の方向に順番に検出する逆方向検出を行う逆方向検出手段と、
    前記順方向検出により検出された画素の位置と、前記逆方向検出により検出された画素の位置を表す情報とを用いた演算により、前記間引かれたフレームのそれぞれの所定の画素を追尾点として検出する第2の検出手段とを備える追尾点検出装置として機能させる
    プログラム。
  16. 請求項14に記載のプログラムが記録されている記録媒体。
JP2008149051A 2008-06-06 2008-06-06 追尾点検出装置および方法、プログラム、並びに記録媒体 Expired - Fee Related JP4507129B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008149051A JP4507129B2 (ja) 2008-06-06 2008-06-06 追尾点検出装置および方法、プログラム、並びに記録媒体
US12/477,418 US20090304234A1 (en) 2008-06-06 2009-06-03 Tracking point detecting device and method, program, and recording medium
CN2009101426617A CN101599178B (zh) 2008-06-06 2009-06-05 跟踪点检测设备和方法
EP09162015A EP2131329A3 (en) 2008-06-06 2009-06-05 Tracking point detecting device and method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008149051A JP4507129B2 (ja) 2008-06-06 2008-06-06 追尾点検出装置および方法、プログラム、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2009294983A JP2009294983A (ja) 2009-12-17
JP4507129B2 true JP4507129B2 (ja) 2010-07-21

Family

ID=41055338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008149051A Expired - Fee Related JP4507129B2 (ja) 2008-06-06 2008-06-06 追尾点検出装置および方法、プログラム、並びに記録媒体

Country Status (4)

Country Link
US (1) US20090304234A1 (ja)
EP (1) EP2131329A3 (ja)
JP (1) JP4507129B2 (ja)
CN (1) CN101599178B (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970119B1 (ko) * 2009-11-23 2010-07-15 (주)올라웍스 적응적으로 객체를 추적하는 방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체
KR101662738B1 (ko) * 2010-02-05 2016-10-05 삼성전자주식회사 영상 처리 방법 및 그 장치
JP5018932B2 (ja) * 2010-06-23 2012-09-05 株式会社ニコン 撮像装置
JP5761989B2 (ja) * 2010-12-21 2015-08-12 キヤノン株式会社 画像認識装置、画像認識方法及びプログラム
JP5609628B2 (ja) * 2010-12-24 2014-10-22 カシオ計算機株式会社 情報表示装置及びプログラム
KR101268102B1 (ko) 2011-07-21 2013-05-29 인하대학교 산학협력단 비디오 감시 시스템 및 방법
JP5868053B2 (ja) * 2011-07-23 2016-02-24 キヤノン株式会社 画像処理方法、画像処理装置、およびプログラム
JP5095850B1 (ja) * 2011-08-31 2012-12-12 株式会社東芝 オブジェクト探索装置、映像表示装置およびオブジェクト探索方法
CN103106388B (zh) * 2011-11-15 2017-02-08 中国科学院深圳先进技术研究院 图像识别方法和系统
CN102629970B (zh) * 2012-03-31 2015-01-21 广东威创视讯科技股份有限公司 视频图像的噪点去除方法和系统
JP5954106B2 (ja) * 2012-10-22 2016-07-20 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び情報処理システム
KR20140061266A (ko) * 2012-11-11 2014-05-21 삼성전자주식회사 다중 경로 궤적 분석을 이용한 영상 객체 추적 방법 및 장치
US10554967B2 (en) * 2014-03-21 2020-02-04 Futurewei Technologies, Inc. Illumination compensation (IC) refinement based on positional pairings among pixels
KR102198852B1 (ko) * 2014-03-24 2021-01-05 삼성전자 주식회사 홍채 인식 장치 및 이를 포함하는 모바일 장치
CN104618679B (zh) * 2015-03-13 2018-03-27 南京知乎信息科技有限公司 一种监控视频中抽取关键信息帧的方法
US9860553B2 (en) * 2015-03-18 2018-01-02 Intel Corporation Local change detection in video
WO2017013863A1 (ja) 2015-07-17 2017-01-26 日本電気株式会社 照射システム、照射方法およびプログラム記憶媒体
CN105898107B (zh) * 2016-04-21 2019-01-25 北京格灵深瞳信息技术有限公司 一种目标物体抓拍方法及系统
CN106228571B (zh) * 2016-07-15 2019-04-19 北京光年无限科技有限公司 面向机器人的目标物追踪检测方法及装置
KR102476897B1 (ko) * 2016-10-05 2022-12-12 삼성전자주식회사 객체 추적 방법 및 장치, 및 이를 이용한 3d 디스플레이 장치
US10846561B1 (en) 2020-04-01 2020-11-24 Scandit Ag Recognition and selection of discrete patterns within a scene or image
US11494922B2 (en) * 2018-03-23 2022-11-08 Nec Corporation Object tracking device, object tracking method, and object tracking program
JP7129201B2 (ja) * 2018-04-18 2022-09-01 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、及びプログラム
JP7161865B2 (ja) * 2018-05-08 2022-10-27 日本放送協会 映像解析装置及びそのプログラム
CN109831622B (zh) * 2019-01-03 2021-06-22 华为技术有限公司 一种拍摄方法及电子设备
TWI716009B (zh) * 2019-06-21 2021-01-11 晶睿通訊股份有限公司 影像校正方法及其相關監控攝影系統
US11295163B1 (en) 2020-04-01 2022-04-05 Scandit Ag Recognition of optical patterns in images acquired by a robotic device
US11087105B1 (en) 2020-05-15 2021-08-10 Scandit Ag Performance improvements for recognition of optical patterns in images
US11514665B2 (en) 2020-04-01 2022-11-29 Scandit Ag Mapping optical-code images to an overview image
US11216628B2 (en) 2020-04-01 2022-01-04 Scandit Ag High-speed scanning of optical patterns using a digital camera
US11922271B1 (en) 2020-05-15 2024-03-05 Scandit Ag Virtual screen standby mode for mobile device camera
US11244147B2 (en) 2020-05-15 2022-02-08 Scandit Ag Optical data exchange while preserving social distancing
US11403477B1 (en) 2020-05-15 2022-08-02 Scandit Ag Image exposure performance improvements for recognition of optical patterns
US11290643B1 (en) 2020-06-26 2022-03-29 Scandit Ag Efficient digital camera image acquisition and analysis
US11417001B1 (en) 2020-07-27 2022-08-16 Scandit Ag Detecting discrete optical patterns using depth estimation
CN112101360B (zh) * 2020-11-17 2021-04-27 浙江大华技术股份有限公司 一种目标检测方法、装置以及计算机可读存储介质
US11495036B1 (en) 2021-01-29 2022-11-08 Scandit Ag Segmenting images for optical character recognition
US11880738B1 (en) 2021-08-17 2024-01-23 Scandit Ag Visual odometry for optical pattern scanning in a real scene
US11557136B1 (en) 2022-02-23 2023-01-17 Scandit Ag Identity document verification based on barcode structure
KR102593676B1 (ko) * 2023-06-30 2023-10-25 (주)하늘소프트 역방향 추적을 이용한 객체 검출 성능 향상 방법 및이를 위한 객체 추적 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082145A (ja) * 1998-01-07 2000-03-21 Toshiba Corp 物体抽出装置
JP2002074351A (ja) * 2000-08-30 2002-03-15 Minolta Co Ltd 歪み補正装置およびその方法ならびに歪み補正プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004078863A (ja) * 2002-08-15 2004-03-11 Sony Corp 画像処理装置および画像処理方法
JP2005099953A (ja) * 2003-09-22 2005-04-14 Fuji Xerox Co Ltd 画像処理装置、それを備えるオブジェクト追跡システム、画像処理方法及び画像処理プログラム
JP2007272735A (ja) * 2006-03-31 2007-10-18 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
JP2008009498A (ja) * 2006-06-27 2008-01-17 Megachips System Solutions Inc 転倒検知装置、プログラム、転倒検知方法、及び転倒検知システム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9001468D0 (en) * 1990-01-23 1990-03-21 Sarnoff David Res Center Computing multiple motions within an image region
US5311305A (en) * 1992-06-30 1994-05-10 At&T Bell Laboratories Technique for edge/corner detection/tracking in image frames
JPH07284017A (ja) * 1994-04-05 1995-10-27 Matsushita Electric Ind Co Ltd カット検出装置
US5635982A (en) * 1994-06-27 1997-06-03 Zhang; Hong J. System for automatic video segmentation and key frame extraction for video sequences having both sharp and gradual transitions
JP3625910B2 (ja) * 1995-09-11 2005-03-02 松下電器産業株式会社 移動物体抽出装置
KR100209193B1 (ko) * 1996-08-31 1999-07-15 전주범 화상전화기의 목표물 추적장치 및 방법
JPH11259662A (ja) * 1998-01-09 1999-09-24 Hewlett Packard Co <Hp> 画像フレ―ムの移動検出方法および装置
US6724915B1 (en) * 1998-03-13 2004-04-20 Siemens Corporate Research, Inc. Method for tracking a video object in a time-ordered sequence of image frames
US20010008561A1 (en) * 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6549643B1 (en) * 1999-11-30 2003-04-15 Siemens Corporate Research, Inc. System and method for selecting key-frames of video data
JP4596216B2 (ja) * 2001-06-20 2010-12-08 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US6778180B2 (en) * 2001-09-28 2004-08-17 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Video image tracking engine
JP2005539255A (ja) * 2002-09-12 2005-12-22 エヌライン、コーパレイシャン 複合画像を捕捉し、かつ、処理するためのシステムおよび方法複合画像を捕捉し、かつ、処理するためのシステムおよび方法
CN1274146C (zh) * 2002-10-10 2006-09-06 北京中星微电子有限公司 运动图像检测方法
US6757434B2 (en) * 2002-11-12 2004-06-29 Nokia Corporation Region-of-interest tracking method and device for wavelet-based video coding
JP4217876B2 (ja) * 2002-12-20 2009-02-04 財団法人生産技術研究奨励会 画像における移動物体の追跡方法及び装置
US6999600B2 (en) * 2003-01-30 2006-02-14 Objectvideo, Inc. Video scene background maintenance using change detection and classification
CN101393642B (zh) * 2004-01-06 2011-05-18 索尼株式会社 图像处理设备和方法
KR101108634B1 (ko) * 2004-01-06 2012-01-31 소니 주식회사 화상 처리 장치 및 화상 처리 방법 및 기록 매체
JP4725105B2 (ja) 2004-01-06 2011-07-13 ソニー株式会社 画像処理装置および方法、プログラム並びに記録媒体
JP2007274543A (ja) 2006-03-31 2007-10-18 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
US7983448B1 (en) * 2006-06-02 2011-07-19 University Of Central Florida Research Foundation, Inc. Self correcting tracking of moving objects in video
EP2030152A1 (en) * 2006-06-16 2009-03-04 BAE Systems PLC Improvements relating to target tracking
KR100837435B1 (ko) * 2006-10-25 2008-06-12 삼성전자주식회사 촬영장치 및 이의 대상 추적제어방법
JP2008149051A (ja) 2006-12-20 2008-07-03 Metoro:Kk 玩具用変位構造体
US7756296B2 (en) * 2007-03-27 2010-07-13 Mitsubishi Electric Research Laboratories, Inc. Method for tracking objects in videos using forward and backward tracking
US7945078B2 (en) * 2007-05-14 2011-05-17 University Of Central Florida Research Institute, Inc. User accessible tissue sample image database system and method
CN101141633B (zh) * 2007-08-28 2011-01-05 湖南大学 一种复杂场景中的运动目标检测与跟踪方法
CN101287142A (zh) * 2008-05-16 2008-10-15 清华大学 基于双向跟踪和特征点修正的平面视频转立体视频的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082145A (ja) * 1998-01-07 2000-03-21 Toshiba Corp 物体抽出装置
JP2002074351A (ja) * 2000-08-30 2002-03-15 Minolta Co Ltd 歪み補正装置およびその方法ならびに歪み補正プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004078863A (ja) * 2002-08-15 2004-03-11 Sony Corp 画像処理装置および画像処理方法
JP2005099953A (ja) * 2003-09-22 2005-04-14 Fuji Xerox Co Ltd 画像処理装置、それを備えるオブジェクト追跡システム、画像処理方法及び画像処理プログラム
JP2007272735A (ja) * 2006-03-31 2007-10-18 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
JP2008009498A (ja) * 2006-06-27 2008-01-17 Megachips System Solutions Inc 転倒検知装置、プログラム、転倒検知方法、及び転倒検知システム

Also Published As

Publication number Publication date
JP2009294983A (ja) 2009-12-17
CN101599178B (zh) 2012-09-05
EP2131329A3 (en) 2012-12-12
CN101599178A (zh) 2009-12-09
EP2131329A2 (en) 2009-12-09
US20090304234A1 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
JP4507129B2 (ja) 追尾点検出装置および方法、プログラム、並びに記録媒体
JP5659307B2 (ja) コメント情報生成装置およびコメント情報生成方法
EP3540637A1 (en) Neural network model training method, device and storage medium for image processing
CN107146239B (zh) 卫星视频运动目标检测方法及系统
US7912248B2 (en) Hierarchical feature tracking using optical flow
KR101108634B1 (ko) 화상 처리 장치 및 화상 처리 방법 및 기록 매체
JP5520463B2 (ja) 画像処理装置、対象物追跡装置および画像処理方法
US9398349B2 (en) Comment information generation device, and comment display device
US11281897B2 (en) Gesture shaking recognition method and apparatus, and gesture recognition method
CN112347861B (zh) 一种基于运动特征约束的人体姿态估计方法
WO2010079556A1 (ja) 移動体検出方法および移動体検出装置
CN106210449B (zh) 一种多信息融合的帧率上变换运动估计方法及系统
JP2007280043A (ja) 映像監視検索システム
CN110647836B (zh) 一种鲁棒的基于深度学习的单目标跟踪方法
CN111429485A (zh) 基于自适应正则化和高信度更新的跨模态滤波跟踪方法
JP2001061152A (ja) 動き検出方法および動き検出装置
JP4441354B2 (ja) 映像オブジェクト抽出装置、映像オブジェクト軌跡合成装置、その方法及びそのプログラム
JP6371515B2 (ja) X線画像処理装置、x線画像処理方法、及びプログラム
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP3188899B2 (ja) 画像処理装置およびその方法
EP2940652A1 (en) Image processing device, image processing method, and program
KR20150060032A (ko) 움직임 검출 시스템 및 방법
JP2011191972A (ja) 動きベクトル計測装置および方法
CN114842354B (zh) 高分辨率遥感影像边缘线快速精确检测方法
JP4679216B2 (ja) オブジェクトのモザイク処理方法及びモザイク処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100405

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: 20100408

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100421

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees