(57)【特許請求の範囲】
【請求項１】
動画像取得手段から取得した動画像中の指定された特定の条件である該当条件を満たす画素集合を抽出し、その画素集合の代表点の位置を追跡する方法であって、
過去ｎ個の画像における代表点の軌跡から現在フレーム上の代表点位置を推定する代表点推定ステップと、
推定された代表点位置を利用して現在フレームにおける前記該当条件を満たす画素集合を抽出する画素集合抽出ステップと、
抽出された画素集合から現在フレームにおける代表点を決定する代表点決定ステップと、で構成され、
前記代表点推定ステップが、
過去ｎ点、つまり、現在フレームに対し、ｎフレーム前の画像から１フレーム前までの画像内の代表点である旧ｎ点の軌跡から階差の集合を求める階差算出ステップと、
求められた階差の集合から推定代表点を決定する推定代表点決定ステップと、からなり、
前記階差算出ステップが、前記旧ｎ点の座標の第１階階差（ｎ−１個の並び）、第２階階差（ｎ−２個の並び）、〜、第ｎ−１階階差（１個）の全ての並びを求めるものであって、
前記推定代表点決定ステップが、フレーム間の時間が一定であるならば、ｎ＝１の場合は直前の点を推定位置とし、ｎ＝２の場合は等速度運動を仮定し、ｎ＝３の時は等加速度運動を仮定して現在位置を推定するステップであって、任意の正整数ｎに対して、代表点の軌跡において第ｎ−１階階差の値が不変であることを前提として、ｎ−１フレーム前から現在フレームまでのｎ点（以下、新ｎ点という）の第ｎ−１階階差値を前記旧ｎ点の第ｎ−１階階差（１個）の最後尾値と等しいと定め、さらに、前記旧ｎ点の第ｎ−２階階差（２個）の最後尾の値に前記新ｎ点の第ｎ−１階階差推定値を加えたものを前記新ｎ点の第ｎ−２階階差（２個）の最後尾値と推定し、以下前記旧ｎ点の第ｉ階階差の最後尾値に前記新ｎ点の第ｉ＋１階階差推定値を加算して前記新ｎ点の第ｉ階階差（ｎ−ｉ個）の最後尾推定値とする処理を、ｉを１づつ減算しながら繰り返すことにより、全ての前記新ｎ点の階差列最後尾推定値を求め、最後に１フレーム前の代表値座標に前記新ｎ点の第１階階差列最後尾推定値を加算したものを現在フレームの代表点座標推定値とするものであることを特徴とする代表点追跡方法。
【請求項２】
請求項１に記載の代表点追跡方法において、
前記画素集合抽出ステップが、
推定代表点を入力とし、該推定代表点を基点としてその周辺領域の画素を現在フレーム上の辺部に向かって走査し、かつ、走査中の画素が前記該当条件を満たすか否かを検査する検査領域走査ステップと、
前記検査領域走査ステップで前記該当条件を満たす画素を発見した場合、その該当条件を満たす画素を基点として、その周辺領域の画素を走査し、かつ、走査中の画素が前記該当条件を満たすか否かを検査することにより、先の該当条件を満たす画素を含み前記該当条件を全ての画素が満たす連続した画素集合を抽出する画素領域検査ステップとを備える代表点追跡方法。
【請求項３】
請求項２に記載の代表点追跡方法において、
前記画素領域検査ステップが、前記画素集合抽出ステップの中で繰り返し検査を行う過程で、それまでの検査において前記該当条件を満たす画素集合の候補として検査した全ての画素について検査済みであることを示すデータを保持し、それ以後の繰り返しの中では同一画素に関する検査を省略する機構を含む、代表点追跡方法。
【請求項４】
請求項２に記載の代表点追跡方法において、
前記検査領域走査ステップが、前記推定代表点を起点として、該推定代表点を中心に螺旋状に検査開始点を移動して周辺領域に検査範囲を広げるように画素領域検査ステップを繰り返す、代表点追跡方法。
【請求項５】
請求項１ないし請求項４のいずれかに記載の代表点追跡方法において、
前記代表点決定ステップが、抽出された画素集合の重心位置を代表点として出力する、代表点追跡方法。
【請求項６】
請求項１ないし請求項５のいずれかに記載の代表点追跡方法において、
前記該当条件は、色相、明度、彩度、輝度の少なくとも１つが所定の範囲内にある、画面上の連続画素領域という条件である、代表点追跡方法。
【請求項７】
請求項６に記載の代表点追跡方法において、
前記該当条件が、さらに、前記連続画素領域の面積が、指定された下限値以上である、あるいは、所定の面積範囲内であるという条件を含む、代表点追跡方法。
【請求項８】
請求項１ないし請求項７のいずれかに記載の代表点追跡方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機を利用して画像上での物体の追跡を行う代表点追跡方法に関する。
【背景技術】
【０００２】
画像上での物体の追跡を行う方法は広く利用することができ、様々な提案がなされている。例えば、非特許文献１では、特定の色範囲の物体を追跡し、その位置をマウスカーソルとして利用することによって、計算機を利用するインタフェースについて述べられている。
【０００３】
また、動画像上で特定の条件（色など）を満たす領域を発見・追跡するために、フレーム毎に全画面を調べて条件に合致した領域をラベル付けしたり、人物の顔を追跡したりする手法について議論されている。この種の方法の一つとして、非特許文献２に開示されるように、直前のフレームにおける領域位置を起点に螺旋状に探索範囲を広げつつ、条件を満たす領域の新しい位置を検出するものがある。
【０００４】
また、非特許文献３では、特定の色条件を満たす領域を囲む矩形を繰り返し変形しながら適切と思われる領域に収束させることで、次フレームでの位置を求める手法が提案されている。
【０００５】
また、非特許文献４では画像内の特徴点集合各点に対し、次フレームでの特徴点集合各点の対応付けを行うことで集合単位の移動を検出している。
【非特許文献１】細谷，北端，佐藤，原田，野島，小野澤，“実世界とのインタラクションを可能にするミラーインタフェースの実現，”２００３年信学総大，ｐ．２８６，Ａ−１５−１８，２００３．
【非特許文献２】藤野，“ローカルらせん状ラベリング処理を用いた動物体追跡方，”１９９２  春季信学全大，Ｄ−３７８，ｐ．７−１２０，１９９２．
【非特許文献３】G. R. Bradski, "Computer Vision Face Tracking For Use in a Perceptual User Interface," Intel Technology Journal Q2 '98, pp. 1-13, 1998.
【非特許文献４】M. Kolsch, M. Turk, "Fast 2D Hand Tracking with Flocks of Features and Multi-Cue Integration," IEEE Work Workshop on Real-Time Vision for Human-Computer Integration (at CVPR) 2004, July, 2004.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
顔のように動きが遅く、想定されるもののサイズが画面の縦横数分の１程度のものの追跡においては、フレーム間での移動距離が少なく、次フレームで物体全体が元の位置から完全に外れる可能性も少ないため、物体の動きを考慮しない非特許文献２のような手法でも検索範囲が広がらずに済むと期待できる。しかし、より小型で移動の速い物体の追跡では、探索範囲が拡大し、追跡に要する処理量の増大につながる恐れがあった。
【０００７】
また、非特許文献３の手法は、形状や境界の曖昧性のある画像でも効果的に追跡することができるが、矩形の収束までの繰り返しの分だけ処理が増大することがあり、非特許文献４では、特徴点の抽出処理が必要であり、処理量は少なくない。
【０００８】
非特許文献１で示したようなマウスに替わってマーカのような小領域を少ない処理量で追跡するためには、物体の動き予測を実施して、物体の候補位置を求め、その周辺から探索を行うことにより効率化を図ることが有効である。
【０００９】
本発明は上述した従来技術の有する問題点に鑑みてなされたものであって、特定の領域の追跡を効率良く実施することのできる代表点追跡方法を実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明による代表点追跡方法は、動画像取得手段から取得した動画像中の指定された特定の条件である該当条件を満たす画素集合を抽出し、その画素集合の代表点の位置を追跡する方法であって、
過去ｎ個の画像における代表点の軌跡から現在フレーム上の代表点位置を推定する代表点推定ステップと、
推定された代表点位置を利用して現在フレームにおける前記該当条件を満たす画素集合を抽出する画素集合抽出ステップと、
抽出された画素集合から現在フレームにおける代表点を決定する代表点決定ステップと、で構成され、
前記代表点推定ステップが、
過去ｎ点、つまり、現在フレームに対し、ｎフレーム前の画像から１フレーム前までの画像内の代表点である旧ｎ点の軌跡から階差の集合を求める階差算出ステップと、
求められた階差の集合から推定代表点を決定する推定代表点決定ステップと、からなり、
前記階差算出ステップが、前記旧ｎ点の座標の第１階階差（ｎ−１個の並び）、第２階階差（ｎ−２個の並び）、〜、第ｎ−１階階差（１個）の全ての並びを求めるものであって、
前記推定代表点決定ステップが、フレーム間の時間が一定であるならば、ｎ＝１の場合は直前の点を推定位置とし、ｎ＝２の場合は等速度運動を仮定し、ｎ＝３の時は等加速度運動を仮定して現在位置を推定するステップであって、任意の正整数ｎに対して、代表点の軌跡において第ｎ−１階階差の値が不変であることを前提として、ｎ−１フレーム前から現在フレームまでのｎ点（以下、新ｎ点という）の第ｎ−１階階差値を前記旧ｎ点の第ｎ−１階階差（１個）の最後尾値と等しいと定め、さらに、前記旧ｎ点の第ｎ−２階階差（２個）の最後尾の値に前記新ｎ点の第ｎ−１階階差推定値を加えたものを前記新ｎ点の第ｎ−２階階差（２個）の最後尾値と推定し、以下前記旧ｎ点の第ｉ階階差の最後尾値に前記新ｎ点の第ｉ＋１階階差推定値を加算して前記新ｎ点の第ｉ階階差（ｎ−ｉ個）の最後尾推定値とする処理を、ｉを１づつ減算しながら繰り返すことにより、全ての前記新ｎ点の階差列最後尾推定値を求め、最後に１フレーム前の代表値座標に前記新ｎ点の第１階階差列最後尾推定値を加算したものを現在フレームの代表点座標推定値とするものであることを特徴とする。
【００１３】
また、前記画素集合抽出ステップが、
推定代表点を入力とし、該推定代表点を基点としてその周辺領域の画素を現在フレーム上の辺部に向かって走査し、かつ、走査中の画素が前記該当条件を満たすか否かを検査する検査領域走査ステップと、
前記検査領域走査ステップで前記該当条件を満たす画素を発見した場合、その該当条件を満たす画素を基点として、その周辺領域の画素を走査し、かつ、走査中の画素が前記該当条件を満たすか否かを検査することにより、先の該当条件を満たす画素を含み前記該当条件を全ての画素が満たす連続した画素集合を抽出する画素領域検査ステップと
を備えるとしてもよい。
【００１４】
また、前記画素領域検査ステップが、前記画素集合抽出ステップの中で繰り返し検査を行う過程で、それまでの検査において前記該当条件を満たす画素集合の候補として検査した全ての画素について検査済みであることを示すデータを保持し、それ以後の繰り返しの中では同一画素に関する検査を省略する機構を含む、としてもよい。
【００１５】
また、前記検査領域走査ステップが、前記推定代表点を起点として、該推定代表点を中心に螺旋状に検査開始点を移動して周辺領域に検査範囲を広げるように画素領域検査ステップを繰り返す、としてもよい。
【００１６】
また、前記代表点決定ステップが、抽出された画素集合の重心位置を代表点として出力する、としてもよい。
【００１７】
また、前記該当条件は、色相、明度、彩度、輝度の少なくとも１つが所定の範囲内にある、画面上の連続画素領域という条件である、としてもよい。
【００１８】
また、前記該当条件が、さらに、前記連続画素領域の面積が、指定された下限値以上である、あるいは、所定の面積範囲内であるという条件を含む、としてもよい。
【００１９】
本発明のプログラムは、上記のいずれかに記載の代表点追跡方法をコンピュータに実行させる。
【００２０】
上記のように、本発明においては、画面上の移動物体の次の位置を推定し、移動物体の追跡に利用する手段を開発する。また、探索を効率化するために、探索済み画素をマーキングして、複数回探索を防止することにより処理効率を向上する。
【発明の効果】
【００２１】
本発明により、ビデオカメラなどで取得された映像の中から、特定の色などの特徴を持った領域（マーカ等の物体画像）の追跡を効率良く実施することができる。１フレームの間に、物体が画像領域サイズの数倍以上の速度で移動する場合でも、画素集合の代表点の位置を推定することで、続く画像フレームにおける領域探索の効率を向上させる効果がある。
【００２２】
また、効率よく探索を行うことができるため、使用するメモリ領域を低減できるので、少ないメモリリソースで実施することができる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の実施例について図面を参照して説明する。図１は本発明による代表点追跡装置の一実施例の構成を示すブロック図である。
【００２４】
本実施例は、制御部１００、ビデオカード２００、メモリ３００およびバス４００から構成されている。制御部１００は追跡処理部１１０および結果利用処理部１２０から構成され、追跡処理部１１０は初期位置探索部１１１、代表点予測部１１２、代表点探索部１１３および追跡処理制御部１１４から構成されている。
【００２５】
ビデオカード２００はビデオカメラなどで取得された画像データを格納するもので、ビデオカード２００、追跡処理部１１０、結果利用処理部１２０およびメモリ３００はバス４００を介して接続されている。
【００２６】
追跡処理部１１０は、ビデオカード２００がバス３００を介して追跡処理部１１０へ出力する画像データに示される映像より、該当条件を満たす画素集合を抽出し、その画素集合ならびにその画素集合の代表点をフレーム毎に時系列にしたがって追跡する。
【００２７】
ここで、該当条件とは、例えば、「色相、明度、彩度あるいは輝度などのいずれか１つが所定の範囲内にある」などの条件である。また、色相、明度、彩度あるいは輝度など範囲条件の組み合わせをすべて満たすものであってもよい。
【００２８】
また、画素集合とは、上記の該当条件に該当し、かつ、隣接する画素のうち、少なくとも１つが同じ条件に該当する、連続的な画素の集合である。
【００２９】
代表点とは、上記画素集合の位置を代表する１つの画素であり、例えば、上記画素集合の重心位置、各座標軸それぞれに対する平均位置、あるいは重み付けした重心位置などに存在する画素である。
【００３０】
最初に、はじめに与えられた映像フレームの中から該当条件を満たす画素集合を抽出する処理は、フレーム全体を走査して該当条件をチェックするような従来手法を用いて抽出する必要がある。
【００３１】
本実施例の特徴は、
・過去ｎフレームの代表点の位置から次に代表点が移動するであろう位置を代表点予測部１１２によって推定し、
・上記で推定された位置を基点として次のフレーム上にある画素集合を探索（走査）する画素集合抽出方法を用いて代表点探索部１１３にて、次のフレームにおける該当画素集合を抽出する、
ことにある。このような特徴により、本実施例において実行される代表点抽出方法は従来の技術に比べて効率のよい代表点抽出が可能となる。また、処理効率の向上に伴い、よりスムーズなマン・マシンインターフェースが提供できる。
【００３２】
追跡処理制御部１１４は、ビデオカード２００からの映像データをメモリ３００に格納し、その内容に応じて初期位置探索部１１１（初回のみ）または代表点探索部１１３を用いて代表点探索処理を行い、代表点予測部１１２を用いて次のフレームにおける代表点の位置を予測する。この結果は代表点追跡結果を利用した処理を行う結果利用処理部１２０に引き渡され、結果利用処理部１２０は代表点追跡結果に基づく処理を追跡処理部１１０の処理と並列に行う。
【００３３】
以下に、本実施例の全体の処理の流れをＡｌｇｏｌ風の擬似コードによって示す。
【００３４】
／*全体の処理フロー*／
ｐｒｏｃｅｄｕｒｅ  ＴｒａｃｋｉｎｇＦｌｏｗ（ｎ）／／過去ｎフレームの代表点を使う（メインルーチン）
ｂｅｇｉｎ
０：ｉｎｉｔｉａｌｉｚｅ（ｎ）；／／初期化（配列など）
１：ＧｅｔＦｒａｍｅ（）；／／映像フレームをカメラから受け取る
２：ｐ＝ＧｅｔＩｎｉｔＰｏｉｎｔ（）；／／最初（第１フレーム）の画素集合、代表点ｐ算出
３：ｆｏｒ  ｉ＝１，ｎ−１  ｄｏ  ｂｅｇｉｎ／／２〜ｎフレーム目までの代表点追跡
／*第ｉ＋１フレーム目のフレームの処理を実施している*／
４：ｒ＝ＰｒｅｄｉｃｔＣｅｎｔｅｒ（ｉ，ｐ）；／／次（第ｉ＋１）の推定代表点計算
５：ＧｅｔＦｒａｍｅ（）；／／映像フレームをカメラから受け取る
６：ｐ＝ＧｅｔＣｅｎｔｅｒ（ｒ）；／／代表点ｐの探索と出力
ｅｎｄ；
／*第ｎ＋１フレーム以後は同じ処理の繰り返し*／
７：ｗｈｉｌｅ  ｔｒｕｅ  ｂｅｇｉｎ／／無限に繰り返す
８：ｒ＝ＰｒｅｄｉｃｔＣｅｎｔｅｒ（ｎ，ｐ）；／／次の推定代表点計算
９：ＧｅｔＦｒａｍｅ（）；／／映像フレームをカメラから受け取る
１０：ｐ＝ＧｅｔＣｅｎｔｅｒ（ｒ）；／／代表点ｐの探索と出力
ｅｎｄ；
ｅｎｄ；
／*以下、上述フローで用いる各処理の補足説明*／
／*初期化*／
ｐｒｏｃｅｄｕｒｅ  Ｉｎｉｔｉａｌｉｚｅ（）
ｂｅｇｉｎ
０：    フレームデータ格納領域や代表点推定手段などの初期化を行う
ｅｎｄ；
／*フレームの取得*／
ｐｒｏｃｅｄｕｒｅ  ＧｅｔＦｒａｍｅ（）
ｂｅｇｉｎ
０：    カメラから１フレームのデータを取得して処理可能にする
ｅｎｄ；
／*最初（第１フレーム）の画素集合，代表点ｐ算出*／
ｐｒｏｃｅｄｕｒｅ  ＧｅｔＩｎｉｔＰｏｉｎｔ（）
ｂｅｇｉｎ
０：    従来法などを使って画素集合を抽出、代表点を算出する
ｅｎｄ；
／*代表点ｐの探索と出力*／
ｆｕｎｃｔｉｏｎ  ＰｒｅｄｉｃｔＣｅｎｔｅｒ（ｎ，ｐ）
ｂｅｇｉｎ
／*検出結果←ｐ、過去ｎフレーム分の代表点位置を用いて処理*／
０：    差分更新処理を実施；
／*過去ｎフレーム分の代表点位置を用いて処理*／
１：    推定代表点（ｒ）計算を実施；
２：    ｒｅｔｕｒｎ  ｒ；
ｅｎｄ；
／*代表点ｐの探索と出力*／
ｆｕｎｃｔｉｏｎ  ＧｅｔＣｅｎｔｅｒ（ｒ）
ｂｅｇｉｎ
／*推定代表点←ｒとして処理*／
０：    画素集合の抽出処理を実施；
１：    画素集合から代表点ｐを算出；
／*必要なら過去の代表点列の移動平均等を算出*／
２：    代表点を出力；／／非特許文献１などのシステムで利用可能な形で出力
３：    ｒｅｔｕｒｎ  ｐ；
ｅｎｄ；
図２は、上記のコードに示される本実施例の動作を示すフローチャートである。
【００３５】
動作が開始されると、まず、初期化が行われ（ステップＳ２０１）、フレームデータ格納領域や代表点推定手段などの初期化が行われる。続いて、ビデオカードから１フレーム分の画像が取得され、メモリ３００に格納される（ステップＳ２０２）。その後、初期位置探索部１１１により次のフレームの最初のフレームの画素集合，代表点ｐの算出が行われる（ステップＳ２０３）。ここでは、従来からの方法を使って画素集合を抽出、代表点が算出される。
【００３６】
次に、ループ変数ｉを１とし（ステップＳ２０４）、使用する過去のフレーム数ｉ、現在フレームでの代表点位置ｐを引数として、代表点予測部１１２により、次のフレームにおける代表点位置が推定される(ステップＳ２０５）。
【００３７】
次に、ビデオカードからあらたな１フレーム分の画像が取得される（ステップＳ２０６）。その後、代表点探索部１１３によりフレームの画素集合，代表点ｐの算出が行われる（ステップＳ２０７）。
【００３８】
続いて、ｉをｉ＋１とし（ステップＳ２０８）、ｉが所定数ｎ未満であるかが確認される（ステップＳ２０９）。ｉが所定数ｎ未満である場合にはステップＳ２０５に戻る。このため、ステップＳ２０５〜Ｓ２０９の動作はｉが所定数ｎになるまで、繰り返し行われることとなる。
【００３９】
ステップＳ２０９にてｉが所定数ｎであることが確認された場合には、終了の指示があるかの確認が行われる（ステップＳ２１０）。終了の指示がある場合には終了とし、終了の指示が無い場合には、代表点予測部１１２により、次のフレームにおける代表点位置が推定され(ステップＳ２１１）、次に、ビデオカードからあらたな１フレーム分の画像が取得される（ステップＳ２１２）。その後、代表点探索部１１３によりフレームの画素集合，代表点ｐの算出が行われ（ステップＳ２１３）、ステップＳ２１０に戻る。このため、ステップＳ２１０〜Ｓ２１３の動作は終了の指示が行われるまで、繰り返し行われることとなる。
【００４０】
上記の処理の中で、ステップＳ２０５、Ｓ２１１で行われる次の代表点位置推定では、代表点の推定計算、および、差分更新処理が行われ、、ステップＳ２０７、Ｓ２１３での代表点探索では、画素集合の抽出処理が行われる。これらの技術は、本発明の根幹をなすので、以下にさらに詳細に説明する。
【００４１】
次の代表点位置推定
代表点の推定計算
計算原理
図３は本実施例で行われる代表点の推定計算の過程を模式的に表現した図である。
【００４２】
画面上の物体（画素集合）の動きを予測する手段として、静止、等速運動、或いは等加速度運動を仮定して求めることが考えられる。本発明では、この仮定を拡張し、一般的な等ｎ−１階微分運動に基づいた動きの予測を行う手段を考案し、採用する。ｎは、追跡対象物体の性質に合わせて外部から入力されるパラメータとする。
【００４３】
本発明は、ｎ＝０の場合に静止（つまり、移動予測を行わない非特許文献１のような手段）、ｎ＝１の場合に等速度運動、ｎ＝２の場合に等加速度運動になり、ｎ＝３以上の場合に、物体を移動させる（仮想的な）力の時間変化をモデル化することになる。数フレームの間に急激な力の変化がないと仮定できるならｎ＜１０程度で良い近似が得られる。以下に、等ｎ−１階時間微係数運動に基づく次フレームにおける物体位置推定のための効率的な算法について述べる。
【００４４】
通常の映像では、フレームの更新は３０ｆｐｓ程度であり、フレーム間の時間間隔Δｔはほぼ一定である。このため、第ｉフレームにおける画素集合の代表点座標（ｘi，ｙi）のｘ座標の第ｋ階差分γ（ｋ，ｉ）を
【００４５】
【数１】
0004814172.tif 000002
【００４６】
と定義すると、第ｋ階時間微係数（ｄk／ｄｔkｘi）は、
【００４７】
【数２】
0004814172.tif 000003
【００４８】
により近似的に求めることができる（ｋ＝１，…，ｎ−１）。
【００４９】
以下では、ｙ座標については議論しないが、全く同等に扱うことができるので省略する。
【００５０】
次に、等第ｎ−１階時間微係数の仮定に従って、求めた第ｉ＋１フレームにおける第ｎ−１階微係数が、式（３）によって求めた第ｉフレームにおける第ｎ−１階微係数に等しいとすると、第ｉ＋１フレームにおける第ｊ階微係数の推定値
【００５１】
【数３】
0004814172.tif 000004
【００５２】
は、次式で算出できる（以下、推定値を実測値と区別するために  *  を付けて区別する）。
【００５３】
【数４】
0004814172.tif 000005
【００５４】
さらに、式（４）に式（３）を代入して、両辺に（Δｔ）jを乗じると、
【００５５】
【数５】
0004814172.tif 000006
【００５６】
を得る（ｊ＝ｎ−２，…，１）。最終的に、ｘ座標の代表点推定値は、
【００５７】
【数６】
0004814172.tif 000007
【００５８】
によって得ることができる。ｙ座標についても同様に求められる。
【００５９】
式（１，２，５，６）から明らかなように、
【００６０】
【数７】
0004814172.tif 000008
【００６１】
を求めるためには微分係数を算出する必要はなく、差分γ（・，・）のみ計算すれば良い。
【００６２】
差分更新処理
図３からもわかるように、第ｉ＋１フレームにおける代表点推定位置の算出には、第ｉ−ｎ＋１フレームから第ｉフレームまでのｎ点の座標情報が必要になり、図３に示されるように計算を実施するとｎの二乗に比例する計算時間とメモリが必要になるが、次に示すような実現方法により、ｎに比例する計算時間・メモリで算出が可能である。
【００６３】
しかも、第ｉ＋１フレームの推定位置の計算の際に直接必要になるのは、式（５，６）からわかるように、第ｉフレームの差分値、代表点位置情報のみである。また、第ｉ＋１フレームの実測値が与えられた後に、第ｉ＋２フレームの推定位置計算を実施するための必要な更新作業でも、同じく第ｉフレームの差分値、代表点位置情報があれば良い。
【００６４】
従って、常に最新の差分値、代表点位置の蓄積と推定位置計算に必要な２個のメモリ領域（各々ｎ個の１次元のメモリ要素からなる）、及び、両メモリ領域を示す２個の変数（ａ，ｂ）を用いて、推定位置計算・データ更新を実現できる。このメモリ領域を用いて次の手順で推定位置計算、更新処理を行う。
【００６５】
図４（ａ）に第ｉフレームの更新済時点の状態を示す。ａに示されるメモリ領域に最新の差分値、代表点位置が蓄積されている。ａに示される領域の値に式（５，６）を適用した結果をｂの示す領域に蓄積する。結果、ｂの領域の先頭に推定位置
【００６６】
【数８】
0004814172.tif 000009
【００６７】
を得る。次に、領域探索処理の結果、新しい探索結果ｘi+fが得られれば、更新処理を行う。
【００６８】
更新処理は、ｂの先頭要素にｘi+1を上書きし、ａの領域のデータとｘi+1に対し、差分の定義式（１，２）を適用した結果をｂの２番目以降に上書きすることで実施する。この結果、図４（ｂ）に示されるように、ｂの領域に第ｉ＋１フレームにおける代表点位置・差分データが蓄積される。最後に、ａとｂを入れ替えることにより、図４（ａ）の状態（ｉが１増加している）に戻る。本処理のフローは、以下のようになる。
通常の処理フロー（更新→推定の順に処理する）
１．  探索結果の代表点位置ｘiを受け取り、ｂのメモリ領域の先頭（ｂ［０］）にｘiを上書きする。
２．  ｋ＝０からｋ＜ｎの間、ｋを１づつ加算しながら、ｂ［ｋ＋１］＝ｂ［ｋ］−ａ［ｋ］；を繰り返す（更新処理）。
３．  ａ，ｂを入れ替える。
４．  ｂ［ｎ］＝ａ［ｎ］；
５．  ｋ＝ｎからｋ＞０の間、ｋを１づつ減算しながら、ｂ［ｋ−１］＝ａ［ｋ−１］＋ｂ［ｋ］；を繰り返す（推定処理）。
６．  ｂ［０］を推定位置として、探索処理を実施する。
７．  ｓｔｅｐ  １に戻る。
【００６９】
以上、過去ｎフレームの代表点情報から現在のフレームにおける代表点の位置を推定する方法を説明した。
【００７０】
なお、代表点の推定処理を開始して最初のｎフレームまでは、過去ｎフレームの情報全部は得られていない。このため、／*全体の処理フロー*／の手続きＴｒａｃｋｉｎｇＦｌｏｗ（ｎ）の中に示したように、最初の第１フレーム目は従来手法（代表点推定によらない方法）、第２〜第ｎフレームまでは、各々過去１個〜ｎ−１個の代表点情報で推定処理を進める。
【００７１】
実際の処理上は、本節の処理におけるｎの値が１からｎ−１の各値に変わるだけで、処理内容はまったく同じである。フレームの番号が増えるにつれ、図２のアレイの使用領域が上から下に伸びていくので、初期化において、ｎ個分の領域を確保しておけばよい。
【００７２】
代表点探索
画素集合の抽出処理
求められた推定代表点位置を起点として、条件を満たす画素集合を抽出するために、画素領域抽出手法を実現する。画素領域抽出手法は、推定代表点を起点として、画面を走査するように、検査開始点を移動させながら、検査領域を含む画素集合の検出を繰り返す。
【００７３】
図５に、推定代表点ｒを起点に螺旋状に検査を進めていく走査手順と、検査開始点から広さ優先探索により、波上に条件に該当する画素集合を検出する画素領域検査手法の概要を図示する。
【００７４】
なお、広さ優先探索とは、条件に該当する画素が連続して形成された領域（画素集合）を探索する手法で、探索開始画素から始め探索開始画素に近い隣接画素から優先的に探索する手法である。探索開始点に最も近い画素を全て探索し終えた後、次に近い画素を探索するように探索範囲を広げることにより条件に該当する画素集合全てを重複なく探索することができる。
【００７５】
また、探索された画素数は画素集合の面積であり、画素数が所定の個数より多い、あるいは所定の範囲内にあることを以って、探索の成否を判断できる。さらに、探索された画素の座標値の和や最大・最小を用いて、画素集合の重心位置や画素集合の包含矩形サイズなど、代表点決定処理で必要な情報を得ることができる。
【００７６】
図５中の領域Ａは、色条件等の画素単位での条件に該当するものの、連続領域としての面積が小さすぎて条件を満たさない領域を、また、Ｂは、面積条件をも満たす領域を示す。
【００７７】
検査領域走査手法は螺旋状に走査を進めるが、領域Ａの境界点ａに検査開始点が到達すると、画素領域検査手法は、広さ優先探索の結果としてＡを検出し、面積を確認して条件を満たさないという結果（検査失敗）を検査領域走査手法に返す。画素領域検査手法は、広さ優先探索において、Ａ内の各画素が条件を満たすことを確認した上でチェック済みを意味するデータを画像データ中に残し、Ａの領域探索が終了した段階で面積条件に基づいて失敗を返す。
【００７８】
検査領域走査手法は、引き続き螺旋状探索により走査を継続する。走査の過程でＡ領域にも検査開始点が移動するが、チェック済みデータが入っているため、画素領域検査手法は即座に失敗を返すことができて、同一領域で広さ優先探索を繰り返す必要はなくなる。
【００７９】
さらに、走査がＢ領域の境界に達すると、画素領域検査手法は広さ優先探索により、Ｂを検出し、探索の成功と、Ｂの代表点座標（例えば重心座標）を返す。この結果、新しい代表点位置が決定される。
【００８０】
このようにして得られた新しい代表点位置は非特許文献１に示されるようなアプリケーションに対して情報として提供され利用される。また、新しい代表点位置は、代表点推定手法に与えられ、次の推定代表点位置の推定にも使用される。
【００８１】
さらに、代表点の決定については、画素集合抽出手法の中で、画素集合抽出手法によって求めた代表点の過去ｍ個（ｍは入力パラメータ）の点列を記憶し、その座標の平均位置（移動平均）を算出し、その結果を代表点としてアプリケーションに与えることで、画像条件の揺らぎなどによる代表点のふら付きを抑制することも可能である。
【００８２】
なお、上述した制御部１００、メモリ３００は、キーボード、マウス、受信装置等の入力装置、CPUなどの制御装置、ROM、RAM、HDDなどの記憶装置、ディスプレイ、プリンタ、送信装置などの出力装置からなる一般的なコンピュータシステムにより構成されるものである。制御１００は、ROM、RAM、HDDに格納されているプログラムにより、コンピュータシステム内に仮想的に構築されるものである。
【００８３】
また、ROM、RAM、HDD内に格納されるプログラムは、CD-ROM、DVD-ROM、フロッピーディスク、USBメモリなどの読み取り可能な記録媒体からこれらの入力装置を介して移入される形態やインターネットなどのネットワークを介して受信装置より移入される形態がある。本発明によるシステムはこれらのプログラムにより一般的なコンピュータシステム上に構築されるものであり、本発明にはこれらのプログラムや該プログラムを格納した記録媒体が含まれる。
【図面の簡単な説明】
【００８４】
【図１】本発明による代表点追跡装置の一実施例の構成を示すブロック図である。
【図２】図１に示した実施例の動作を示すフローチャートである。
【図３】本発明の実施例で行われる代表点の推定計算の過程を模式的に表現した図である。
【図４】（ａ）、（ｂ）のそれぞれは本発明の実施例で行われる代表点推定及び差分更新処理を示す図である。
【図５】本発明の実施例で行われる画素集合の抽出処理を示す図である。
【符号の説明】
【００８５】
１００    制御部
１１０追跡処理部
１１１    初期位置探索部
１１２    代表点予測部
１１３    代表点探索部
１１４    追跡処理制御部
１２０    結果利用処理部
２００    ビデオカード
３００    メモリ
４００    バス
【図１】
0004814172.tif 000010
【図２】
0004814172.tif 000011
【図３】
0004814172.tif 000012
【図４】
0004814172.tif 000013
【図５】
0004814172.tif 000014