以下、本発明の一実施の形態に係る動画追尾装置、動画追尾方法および動画追尾プログラムについて図面を参照しつつ説明する。後述するように、本実施の形態に係る動画追尾装置を備える画像処理システムは表示部を有する。表示部には複数フレームの画像が連続的に表示されることにより動画が表示される。
(1)画像処理システムの基本構成
図1は、本発明の一実施の形態に係る動画追尾装置を備える画像処理システム100の構成を示すブロック図である。図1に示すように、画像処理システム100は、本体部1、カメラ2、照明装置3および操作部4を備える。本体部1は、制御部10、表示部20、録画部30、記憶部40、ビデオメモリ50、波形収集部60、バスBSおよび複数のインターフェース(図示せず)を含む。制御部10、表示部20、録画部30、記憶部40、ビデオメモリ50および波形収集部60は、バスBSに接続される。カメラ2、照明装置3および操作部4は、それぞれインターフェースを介してバスBSに接続される。
本体部1には、PLC(プログラマブルロジックコントローラ)5、センサ6および波形収集装置7を接続することができる。波形収集装置7には、センサ8を接続することができる。詳細は後述する。
カメラ2は、CCD(電荷結合素子)イメージセンサまたはCMOS(相補性金属酸化膜半導体)イメージセンサ等の撮像素子を備える。撮像素子の露光時間(シャッタースピード)および撮影フレームレート等は、ユーザにより操作部4を用いて設定可能である。撮影フレームレートとは、単位時間当たりに取得される画像のフレーム数である。なお、本実施の形態のカメラ2は、15fps(frame per second)以上32000fps以下の撮影フレームレートで被写体Wを撮影することができる。
カメラ2により被写体Wが撮影されると、設定された撮影フレームレートで撮像素子により被写体Wの画像が取得され、取得された画像が画像データとして出力される。それにより、複数フレームの画像に対応する複数フレームの画像データがカメラ2から本体部1に与えられる。複数フレームの画像により動画が構成される。以下、複数フレームの画像データを動画データと称する。
カメラ2は、照明装置3とともに三脚台等の図示しない支持台に取り付けられる。照明装置3は、メタルハライドランプまたはハイパワーLED(発光ダイオード)等の光源を含む。照明装置3は、被写体Wに光を照射するために用いられる。被写体Wが十分に明るい場合には、照明装置3はなくてもよい。
ビデオメモリ50はRAM(ランダムアクセスメモリ)等のメモリからなる。ビデオメモリ50には、カメラ2、録画部30または記憶部40から複数フレームの画像データが順次与えられる。与えられた複数フレームの画像データは順次ビデオメモリ50に記憶される。
表示部20は、例えば液晶ディスプレイパネルまたは有機EL(エレクトロルミネッセンス)パネルにより構成される。表示部20には、ビデオメモリ50に順次記憶される複数フレームの画像データに基づいて複数フレームの画像が連続的に表示される。それにより、動画が表示部20に表示される。
操作部4は、例えばマウスまたはトラックボール等のポインティングデバイスにより構成される。なお、操作部4は、ポインティングデバイスとともにまたはポインティングデバイスに代えてキーボードにより構成されてもよいし、リモートコントローラまたはタッチパネルにより構成されてもよい。操作部4は、本体部1と一体的に構成されてもよい。
録画部30は、例えばRAM等のメモリからなる。録画部30は、複数の画像データからなる動画データを記憶するための動画データ記憶領域および複数の評価値からなる波形データを記憶するための波形データ記憶領域を含む。複数の評価値からなる波形データの詳細は後述する。
カメラ2から与えられる複数フレームの画像データ(動画データ)を録画部30の動画データ記憶領域に記憶させることを録画と呼ぶ。ユーザにより操作部4が操作されることにより、カメラ2で撮影される被写体Wの動画が録画される。本実施の形態では、録画処理時に、波形収集部60から与えられる複数の評価値(波形データ)が録画部30の波形データ記憶領域に同時に記憶される。
記憶部40は、ハードディスク等の大容量記憶装置からなる。ユーザにより操作部4が操作されることにより、録画部30に記憶された動画データおよび波形データを含む動画ファイルが生成され、生成された動画ファイルが記憶部40に記憶される。また、記憶部40には、本実施の形態に係る動画追尾プログラムが記憶される。動画追尾プログラムの詳細は後述する。
波形収集部60は、複数の評価値からなる波形データを収集し、収集した波形データを録画部30に与える。評価値は、例えばカメラ2により撮影される被写体Wの各フレームの画像の平均輝度値(各フレームの画像を構成する複数画素の輝度の平均値)である。この場合、波形収集部60は、カメラ2から録画部30に順次与えられる各フレームの画像データに基づいて各フレームの画像の平均輝度値を評価値として順次算出する。順次算出された複数の平均輝度値は、録画部30の波形データ記憶領域に波形データとして記憶される。この場合、複数の評価値は、複数フレームの画像データに同期して得られる。したがって、単位時間当たりの複数の評価値の数は単位時間当たりの複数フレームの画像データの数に等しい。評価値は、各フレームの画像の輝度値の総和であってもよく、各フレームの画像の輝度値の総和と後続するフレームの画像の輝度値の総和との差分であってもよく、各フレーム内の輝度値の分散であってもよい。
波形収集部60は、複数フレームの画像データの取得中におけるセンサ6の出力信号の値を評価値として取得してもよい。この場合、複数の評価値は、複数フレームの画像データと同じ周期または異なる周期で得られる。したがって、単位時間当たりの複数の評価値の数は、単位時間当たりの複数フレームの画像データの数と必ずしも一致しない。複数の評価値が複数フレームの画像データよりも短い周期で得られる場合には、各フレームの画像データに複数の評価値が対応している。複数の評価値が複数フレームの画像データよりも長い周期で得られる場合には、各評価値が複数フレームの画像データに対応している。
センサ6が温度センサ、距離センサ、圧力センサ、加速度センサ、または変位センサ等である場合には、測定対象物の温度、距離、圧力、加速度、または変位等の測定値が評価値として波形収集部60により順次取得され、取得された複数の評価値が録画部30の波形データ記憶領域に波形データとして記憶される。
さらに、センサ6に代えてマイクが用いられる場合には、音声信号が評価値として波形収集部60により順次取得され、取得された複数の音声信号が録画部30の波形データ記憶領域に波形データとして記憶される。
このように、波形データを構成する複数の評価値は、複数フレームの画像データの取得中に得られる値である。
なお、図1において、本体部1に接続される波形収集装置7は、波形収集部60と同じ構成を有する。そのため、本体部1に波形収集装置7が接続される場合には、センサ8の出力信号の値が評価値として波形収集装置7により順次取得され、取得された複数の評価値が録画部30の波形データ記憶領域に波形データとして記憶される。
制御部10は、例えばCPU(中央演算処理装置)、ROM(リードオンリーメモリ)およびRAMから構成される。制御部10のCPUは、ユーザによる操作部4の操作に基づいてカメラ2、照明装置3および本体部1における他の構成要素の動作を制御する。また、制御部10のCPUは、記憶部40に記憶された動画追尾プログラムをRAM上で実行する。ROMにはシステムプログラムが記憶される。
(2)画像処理システムの基本動作
図1の画像処理システム100の基本動作について説明する。
(2−1)撮影条件の設定
ユーザが操作部4を操作することにより、カメラ2の撮影条件が設定される。図2は、撮影条件の設定時における表示部20の表示例を示す図である。図2に示すように、撮影条件の設定時には、表示部20の画面上に画像表示領域Sa、波形表示領域Sb、条件設定領域Scおよび録画ボタンSeが表示される。
画像表示領域Saには、ビデオメモリ50に記憶される画像データに基づく画像が表示される。波形表示領域Sbには、波形収集部60により収集される波形データに基づく波形のグラフが表示される。波形のグラフの横軸は、時間を示し、縦軸は評価値を示す。例えば、評価値が画像表示領域Saに表示される画像の平均輝度値である場合、波形表示領域Sbには、画像の平均輝度値を縦軸とし、時間を横軸とする波形のグラフが表示される。
条件設定領域Scには、カメラ2の基本的な撮影条件が表示される。撮影条件として、例えばシャッタースピード、撮影フレームレートおよび解像度をそれぞれ設定するための複数の入力枠Sc1,Sc2,Sc3が表示される。ユーザにより操作部4を用いて入力枠Sc1,Sc2,Sc3にシャッタースピード、撮影フレームレートおよび解像度の値がそれぞれ入力される。入力枠Sc1,Sc2,Sc3にそれぞれ入力された値に基づいて、制御部10によりカメラ2のシャッタースピード、撮影フレームレートおよび解像度が設定される。
また、本実施の形態では、例えばユーザが操作部4を操作することにより制御部10に後述の録画処理の終了タイミングの基準となるトリガ信号が与えられる。条件設定領域Scには、トリガ信号に基づく制御部10のトリガ設定のための入力枠Sc4,Sc5がさらに表示される。
ユーザにより操作部4を用いて入力枠Sc4,Sc5に後述する総録画時間および録画終了時間の値がそれぞれ入力される。入力枠Sc4,Sc5にそれぞれ入力された値に基づいて、制御部10によりトリガ設定が行われる。トリガ設定の詳細を説明する。
本実施の形態において、トリガ設定は、1回の録画処理により録画部30に記憶される画像データの記憶時間(以下、総録画時間と呼ぶ。)を定めるとともに、制御部10にトリガ信号が与えられた時点から録画処理が終了するまでの時間(以下、録画終了時間と呼ぶ。)を定める。
例えば、総録画時間を30秒とし、録画終了時間を0秒としてトリガ設定が行なわれた場合には、録画が開始された後、制御部10にトリガ信号が与えられた時点で録画処理が終了する。これにより、制御部10にトリガ信号が与えられた時点の30秒前からトリガ信号が与えられた時点までの間に取得された動画データおよび波形データが録画部30に記憶される。
一方、総録画時間を30秒とし、録画終了時間を30秒としてトリガ設定が行なわれた場合には、録画が開始された後、制御部10にトリガ信号が与えられた時点から30秒経過した時点で録画処理が終了する。これにより、録画部30には、制御部10にトリガ信号が与えられた時点から30秒経過するまでの間に取得された動画データおよび波形データが録画部30に記憶される。
また、総録画時間を30秒とし、録画終了時間を15秒としてトリガ設定が行なわれた場合には、録画が開始された後、制御部10にトリガ信号が与えられた時点から15秒経過した時点で録画処理が終了する。これにより、録画部30には、制御部10にトリガ信号が与えられた時点の15秒前から30秒経過するまでの間に取得された動画データおよび波形データが録画部30に記憶される。
なお、トリガ設定として上記の総録画時間が設定される代わりに、録画処理により録画部30に記憶される画像データの総フレーム数が設定されてもよい。また、トリガ設定として上記の録画終了時間が設定される代わりに、トリガ信号が与えられた時点から録画部30に記憶される画像データのフレーム数が設定されてもよい。
PLC5から制御部10にトリガ信号が与えられてもよい。この場合、例えばPLC5に予め設定された周期で、またはPLC5に接続される外部機器の特定の動作タイミングに応答して、トリガ信号を制御部10に与えることができる。また、種々のセンサの出力信号がトリガ信号として制御部10に与えられてもよい。
録画ボタンSeは後述する録画処理の開始のためにユーザにより操作部4を用いて操作される。
(2−2)録画処理
図3は、録画処理中の図1の録画部30の記憶状態を示す模式図である。上述のように、録画部30には、動画データ(複数フレームの画像データ)を記憶するための動画データ記憶領域30Aおよび波形データ(複数の評価値)を記憶するための波形データ記憶領域30Bが設定されている。
本体部1においては、図3(a)に示すように、図2の録画ボタンSeが操作されることにより、制御部10により録画処理が開始される。録画処理では、カメラ2から与えられる第1フレームの画像に対応する画像データv1が録画部30の動画データ記憶領域30Aに記憶される。また、波形収集部60から与えられる第1番目の評価値i1が録画部30の波形データ記憶領域30Bに記憶される。
続いて、図3(b)に示すように、カメラ2から与えられる第2、第3および第4フレームの画像に対応する画像データv2,v3,v4が録画部30の動画データ記憶領域30Aに順次記憶されるとともに、画像データv1,v2,v3,v4が動画データ記憶領域30A内で順次シフトする。同時に、波形収集部60から与えられる第2番目、第3番目および第4番目の評価値i2,i3,i4が録画部30の波形データ記憶領域30Bに順次記憶されるとともに、評価値i1,i2,i3,i4が波形データ記憶領域30B内で順次シフトする。
録画処理時に動画データ記憶領域30Aに記憶される画像データの量が動画データ記憶領域30Aの記憶容量を超える場合には、動画データ記憶領域30Aに最新のフレーム(現在のフレーム)の画像データが新たに記憶されるごとに動画データ記憶領域30Aに記憶されている最も過去のフレームの画像データが削除される。
同様に、録画処理時に波形データ記憶領域30Bに記憶される評価値の量が波形データ記憶領域30Bの記憶容量を超える場合には、波形データ記憶領域30Bに最新の評価値が新たに記憶されるごとに波形データ記憶領域30Bに記憶されている最も過去の評価値が削除される。
図3(c)の例では、動画データ記憶領域30Aに12個の画像データv1〜v12が記憶されている状態で、さらに2個の画像データv13,v14が順次記憶されることにより、最も過去の画像データv1,v2が順次削除される。また、波形データ記憶領域30Bに12個の評価値i1〜i12が記憶されている状態で、さらに2個の画像の評価値i13,i14が順次記憶されることにより、最も過去の評価値i1,i2が順次削除される。それにより、動画データ記憶領域30Aに画像データv3〜v14が記憶され、波形データ記憶領域30Bに評価値i3〜i14が記憶されている。
このように、録画処理中の動画データ記憶領域30Aおよび波形データ記憶領域30Bにおいては、いわゆるリングバッファの形式で動画データおよび波形データが順次記憶される。
図3(c)の例では、波形データ記憶領域30Bに記憶される評価値i3〜i14は動画データ記憶領域30Aに記憶される画像データv3〜v14と一対一に対応している。上記のように、複数の評価値が複数フレームの画像データと異なる周期で得られる場合には、波形データ記憶領域30Bに記憶される評価値は動画データ記憶領域30Aに記憶される画像データと一対一に対応していない。
図4は、録画処理中の図1の録画部30の記憶状態の他の例を示す模式図である。図4の例では、複数の評価値が複数フレームの画像データよりも短い周期で得られる。そのため、波形データ記憶領域30Bに記憶される評価値i7〜i42は動画データ記憶領域30Aに記憶される画像データv3〜v14と一対一に対応していない。連続する3つの評価値が1フレームの画像データに対応する。例えば、評価値i7,i8,i9が画像データv3に対応し、評価値i10,i11,i12が画像データv4に対応する。
複数の評価値が複数フレームの画像データよりも長い周期で得られる場合には、各評価値が複数フレームの画像データに対応する。
図5は、録画処理中の表示部20の表示例を示す図である。図5に示すように、録画処理時には図2の録画ボタンSeに代えて、表示部20にトリガボタンSfが表示される。
ユーザにより操作部4を用いてトリガボタンSfが操作されると、制御部10にトリガ信号が与えられる。それにより、上述のように、トリガ設定に基づくタイミングで録画処理が終了する。
(2−3)ファイル記憶処理
図6は、録画処理終了時の表示部20の表示例を示す図である。図6に示すように、録画終了時には図5のトリガボタンSfに代えて、表示部20にファイルボタンSjおよび再生ボタンSgが表示される。
ユーザにより操作部4を用いてファイルボタンSjが操作されることにより、制御部10によりファイル記憶処理が行なわれる。ファイル記憶処理では、録画部30に記憶されている動画データおよび波形データを含む動画ファイルが生成され、生成された動画ファイルが図1の記憶部40に記憶される。
図7は、ファイル記憶処理により記憶部40に記憶される動画ファイルの模式図である。
例えば図3の録画部30の動画データ記憶領域30Aに画像データv1〜v12が記憶され、波形データ記憶領域30Bに評価値i1〜i12が記憶されている状態でファイル記憶処理が行われる。この場合、図7に示すように、画像データv1〜v12および評価値i1〜i12、ならびにファイル情報fiを含む動画ファイルFAが生成され、生成された動画ファイルFAが記憶部40に記憶される。
なお、ファイル情報fiには、例えばファイル名およびデータの保存形式を示す情報等が含まれる。上記の録画処理およびファイル記憶処理が繰り返されることにより、図1の記憶部40内に複数の動画ファイルFA,FB,FC,FDが記憶される。
(2−4)再生処理
次に、再生処理について説明する。再生処理とは、カメラ2から順次与えられる複数フレームの画像データ、録画部30に記憶される複数フレームの画像データまたは記憶部40に記憶される動画ファイル中の複数フレームの画像データのうち任意の連続する複数フレームの画像データに基づいて表示部20に動画を表示することをいう。
まず、記憶部40に記憶された動画ファイル中の画像データに基づく画像の再生処理について説明する。
記憶部40に記憶された複数の動画ファイルにそれぞれ対応するアイコンが図1の表示部20に表示される。この場合、ユーザは、操作部4を用いて表示部20に表示される複数のアイコンのいずれかを選択することにより、記憶部40に記憶された複数の動画ファイルのうち選択された動画ファイルの動画データを再生対象として選択することができる。
図8は、再生処理時の表示部20の表示例を示す図である。図7に示すように、例えばユーザにより操作部4を用いて1つの動画ファイルが選択されると、図1の表示部20には、図6の表示例と同様に、画像表示領域Sa、波形表示領域Sb、条件設定領域Scおよび再生ボタンSgが表示されるとともに、図6のファイルボタンSjに代えて追尾ボタンSyが表示される。
ユーザにより操作部4を用いて再生ボタンSgが操作されると、制御部10により再生処理が開始される。再生処理では、制御部10は、記憶部40内の選択された動画ファイル中の複数フレームの画像データをビデオメモリ50に順次記憶させる。それにより、ビデオメモリ50に順次記憶される画像データに基づく画像が画像表示領域Saに表示される。このようにして、選択された動画ファイルに基づいて動画が再生される。また、制御部10は、記憶部40内の選択された動画ファイル中の波形データをビデオメモリ50に記憶させる。それにより、波形データに基づく波形のグラフが波形表示領域Sbに表示される。
この場合、制御部10は、波形表示領域Sbの波形のグラフ上で、画像表示領域Saに現在表示される画像のフレームに対応する評価値(以下、対応評価値と呼ぶ。)の位置に現在表示位置バーLを表示させる。画像表示領域Saに表示される画像のフレームが変化することにより対応評価値が変化すると、制御部10は、現在表示位置バーLを時間軸上で左右に移動させる。
次に、録画処理の前の再生処理について説明する。録画処理の前には、制御部10は、カメラ2から与えられる複数フレームの画像データをビデオメモリ50に順次記憶させる。それにより、複数フレームの画像データに基づく画像が図2の画像表示領域Saに表示される。このようにして、カメラ2により撮影される被写体の動画が再生される。また、制御部10は、波形収集部60から与えられる波形データをビデオメモリ50に記憶させる。それにより、波形データに基づく波形のグラフが波形表示領域Sbに表示される。
さらに、録画処理終了時に録画部30に記憶される画像データに基づく画像の再生処理について説明する。録画処理後に、ユーザにより操作部4を用いて図6の再生ボタンSgが操作されると、制御部10は、録画部30内の複数フレームの画像データをビデオメモリ50に順次記憶させる。それにより、ビデオメモリ50に順次記憶される画像データに基づく画像が画像表示領域Saに表示される。このようにして、録画部30に記憶される動画データに基づいて動画が再生される。また、制御部10は、録画部30に記憶される波形データをビデオメモリ50に記憶させる。それにより、波形データに基づく波形のグラフが波形表示領域Sbに表示される。
(3)動画追尾装置
動画追尾装置は、図1の操作部4、制御部10、表示部20、記憶部40およびビデオメモリ50により構成される。動画追尾装置は、表示部20に表示される動画中の指定された追尾点を一方向の追尾線上で追尾し、追尾結果を表示部20に表示する追尾処理を行う。記憶部40には、追尾処理を行うための追尾処理プログラムが記憶される。以下、追尾点を一方向の追尾線上で追尾することを一次元追尾と呼ぶ。
ユーザにより操作部4を用いて図8の追尾ボタンSyが操作されることにより、追尾処理を実行するための追尾モードが起動される。
図9は、追尾処理の実行開始時における表示部20の表示例を示す図である。図9に示すように、追尾処理の実行開始時には、表示部20の画面上に主に画像表示領域Ta,Tb、再生ボタンTc、一時停止ボタンTd、逆再生ボタンTe、シークバーTfおよび追尾開始ボタンThが表示される。
画像表示領域Taには、ユーザにより操作部4を用いて選択された動画ファイルに基づく動画が表示される。画像表示領域Tbには、画像表示領域Taに表示される動画中の一次元追尾の追尾結果の位置の時間変化が折れ線(以下、追尾結果時間変化線と呼ぶ。)で表示されるとともに、ユーザにより操作部4を用いて設定された追尾線上の一次元領域の時空間画像が表示される。追尾結果時間変化線および時空間画像の詳細については後述する。
図10は、画像表示領域Taに表示される動画の一例を示す図である。ここで、ユーザにより選択された動画ファイルは、複数フレームの画像データv1〜v8を含むものとする。図10においては、時間軸は上段から下段へ延びている。後述する図12の時間軸も図10と同様である。図10の上段から下段へ順に示されるように、複数フレームの画像データv1〜v8に基づく複数の画像V1〜V8が画像表示領域Taに順に表示される。
図10の画像V1〜V8は、図1のカメラ2により撮影された回転するベルトコンベアMを示す。ベルトコンベアMは、2つのローラM1と、それらのローラM1に架け渡された輪状のベルトM2とにより構成される。図10および後述する図12においては、矢印X,Y示すように、互いに直交する二方向をX方向およびY方向と定義する。本例では、X方向は2つのローラM1が並ぶ水平方向であり、Y方向は鉛直方向である。2つのローラM1が回転することにより、ベルトM2が回転する。このとき、2つのローラM1間のベルトM2のたわみにより、ベルトM2はY方向およびその逆方向に振動する。
ユーザが図1の操作部4を用いて図9の再生ボタンTcを操作することにより、図10のように画像V1〜V8を含む複数フレームの画像が画像表示領域Taに表示される。このようにして動画が再生される。また、ユーザが図9の逆再生ボタンTeを操作することにより、現時点で表示されている画像から時間軸上で再生時と逆方向に複数フレームの画像が画像表示領域Taに順次表示(以下、逆再生と呼ぶ。)される。
動画の再生中または逆再生中にユーザが一時停止ボタンTdを操作することにより、画像表示領域Taに画像が表示された状態で、動画の再生または逆再生が一時停止する。また、ユーザが再生ボタンTcを操作し続けることにより、操作が解除されるまで動画が高速で再生される。ユーザが逆再生ボタンTeを操作し続けることにより、操作が解除されるまで動画が高速で逆再生される。
シークバーTfは、水平方向に移動可能なスライダTgを有する。スライダTgは、現時点で画像表示領域Taに表示されている画像の時間軸上の位置を示す。動画の再生が進むにつれて、スライダTgがシークバーTf上で一方向(本例では、表示部20の画面の左から右)に移動する。同様に、動画の逆再生が進むにつれて、スライダTgがシークバーTf上で他方向(本例では、表示部20の画面の右から左)に移動する。ユーザは、操作部4を用いてシークバーTfのスライダTgを移動させることにより、画像表示領域Taに動画中の所望のフレームの画像を表示させることができる。それにより、所望の画像から動画の再生または逆再生を行うことができる。
ユーザが後述する操作により画像表示領域Taに表示される画像中の追尾点および一次元の追尾領域を指定し、追尾開始ボタンThを操作することにより、追尾点の一次元方向の追尾動作が開始される。図11は、追尾点の追尾動作時における表示部20の表示例を示す図である。図11に示すように、表示部20の画面上には、図9の追尾開始ボタンThに代えて追尾停止ボタンTiが表示される。
図12は、追尾点の追尾動作時の画像表示領域Taに表示される動画の一例を示す図である。画像表示領域Taには、画像V1〜V8を含む複数フレームの画像が順次表示される。図12の例では、ベルトコンベアMのベルトM2の上部の略中央部分が追尾点として指定されている。また、追尾点に交差するように交差するようにY方向の追尾線Rが設定されている。
一次元追尾では、基準となるフレームの画像中の追尾点を含む画像部分をテンプレートとして用い、各フレームの画像中の追尾線R上における追尾点の位置を識別する。識別された追尾線R上の位置が追尾結果となる。
図12に示すように、画像表示領域Taに表示される各画像上に、現フレームの画像における追尾結果を示すシンボルSおよび以前のフレームの画像における追尾結果を示すシンボルSが表示される。本例では、追尾結果を示すシンボルSは三角形状を有する。
なお、図11の画像表示領域Taには、第8フレームの画像V8が示されている。この状態ではユーザが追尾停止ボタンTiを操作すると、追尾動作実行中の画像(図11の例では第8フレームの画像V8)および以前のフレームの画像(図11の例では第1〜第7フレームの画像V1〜V7)の追尾結果を示すシンボルSが表示された状態で、追尾点の追尾動作が一時停止する。
図11の画像表示領域Tbには、画像表示領域Taに表示される画像において得られる追尾結果時間変化線および一次元領域の時空間画像が重なるように順次表示される。追尾結果時間変化線は、追尾線R上において識別された追尾点の位置の時間変化を示す。
図13は、時空間画像を説明するための図である。図13(a)は、第1の時点に画像表示領域Taに表示される第1の画像を示す。図13(b)は、第1の時点から複数フレーム分経過した第2の時点に画像表示領域Taに表示される第2の画像を示す。図13(c)は、第2の時点からさらに複数フレーム分経過した第3の時点に画像表示領域Taに表示される第3の画像を示す。図13(a)〜図13(c)に示すように、画像表示領域Taの画像には、追尾線Rに重なる一定数の画素からなる範囲が抽出範囲Fとして設定されている。抽出範囲Fにより一次元の領域が設定される。抽出範囲Fに含まれる複数の画素を画素列と呼ぶ。
図13(d)は、画像表示領域Tbに表示される時空間画像を示す。時空間画像の横軸は時間軸である。図13(d)に示すように、時空間画像においては、第1〜第3の画像を含む複数フレームの画像における抽出範囲Fの画素列が、それぞれ縦軸の方向を向くように時間軸上に順に配列される。これにより、時空間画像が作成される。このように、時空間画像は、動画中において設定された抽出範囲Fの画素列の時間変化を示す。
追尾結果時間変化線および時空間画像は、複数フレームの画像に対する追尾動作が進行するにつれて、画像表示領域Tbの時間軸上の左から右に表示される。追尾結果時間変化線および時空間画像が画像表示領域Tbの時間軸上の右端まで表示された後、全ての追尾結果時間変化線および時空間画像の全体が時間軸で1フレーム分左にシフトするとともに、最新のフレームの画像の追尾結果時間変化線および時空間画像の部分が右端に表示される。この場合、最も過去のフレームの画像の追尾結果時間変化線および時空間画像の部分は、画像表示領域Tb外へシフトするため、非表示になる。これに限らず、追尾結果時間変化線および時空間画像が画像表示領域Tbの時間軸上の右端まで表示された場合、画像表示領域Tbに追尾結果時間変化線および時空間画像の全体が表示されるように追尾結果時間変化線および時空間画像の表示倍率が調整されてもよい。
追尾点の一次元追尾が適切に実行されている場合、追尾結果時間変化線は、時空間画像の所定の画素値を有する画素上に表示される。所定の画素値とは、予め設定された追尾点の画素値である。そのため、ユーザは、追尾結果時間変化線の各部分が時空間画像の所定の画素値を有する画素上に表示されているか否かを確認することにより容易に追尾結果が適切であるか否かを認識することができる。また、追尾結果が不適切である期間を容易に特定することができる。
図14は、追尾点の追尾動作終了時における表示部20の表示例を示す図である。動画ファイルの最終フレームの画像における追尾点の追尾動作が終了すると、図14に示すように、表示部20の画面上には、図9の追尾開始ボタンThに代えて追尾再開ボタンTjおよび解析ボタンTnが表示される。また、図9の画像表示領域Tbに代えて主に終了ボタンTkがさらに表示される。画像表示領域Taには、最終フレームの画像が表示されるとともに、画像上にすべてのフレームの画像における追尾結果を示す複数のシンボルSが表示される。複数のシンボルSが動画における追尾点の軌跡を示す。この状態で、ユーザは、逆再生ボタンTeおよび追尾再開ボタンTjを操作することにより、動画ファイルの所望のフレームの画像から順に追尾点の追尾動作を再度実行させることができる。
また、追尾動作実行中にユーザが図11の追尾停止ボタンTiを操作した場合にも、図14の追尾動作終了時と同様に、表示部20に追尾再開ボタンTjが表示されるとともに、主に終了ボタンTkがさらに表示される。この場合、ユーザは、追尾再開ボタンTjを操作することにより、追尾点の追尾動作を続行することができる。
ユーザが終了ボタンTkまたは解析ボタンTnを操作した場合、図1の制御部10は、図14の画像表示領域Taに表示されている複数のシンボルSの位置を示す位置データを追尾結果として図1の記憶部40に記憶させるとともに、時空間画像に対応する画素列データを記憶部40に記憶させ、追尾処理を終了する。また、ユーザが解析ボタンTnを操作した場合には、以下に示すような追尾結果時間変化線の解析を行うことができる。
図15は、追尾点の解析時における表示部20の表示例を示す図である。図15に示すように、表示部20の画面上には、図14の終了ボタンTkに代えて画像表示領域Tbが表示されるとともに、計測量表示領域Toがさらに表示される。制御部10は、画像表示領域Tbに追尾結果時間変化線および時空間画像の全体が表示されるように追尾結果時間変化線および時空間画像の表示倍率を調整する。
図8の波形表示領域Sbと同様に、画像表示領域Tb上に縦軸に平行な現在表示位置バーLが表示される。画像表示領域Tb上には、画像表示領域Tbの横軸に平行な第1および第2のカーソルL1,L2ならびに縦軸に平行な第3および第4のカーソルL3,L4がさらに表示される。画像表示領域Taに表示される画像のフレーム、現在表示位置バーLの位置およびシークバーTfのスライダTgの位置は相互に連動している。
ユーザが再生ボタンTcまたは逆再生ボタンTeを操作して画像を再生または逆再生させる場合、制御部10は、画像表示領域Taに表示される画像のフレームに対応して現在表示位置バーLおよびシークバーTfのスライダTgを左右に移動させる。同様に、ユーザが現在表示位置バーLを左右に移動させる場合、制御部10は、現在表示位置バーLの位置に対応してシークバーTfのスライダTgを移動させるとともに、現在表示位置バーLの位置に対応するフレームの画像を画像表示領域Taに表示させる。ユーザがシークバーTfのスライダTgを左右に移動させる場合、制御部10は、スライダTgの位置に対応して現在表示位置バーLを移動させるとともに、スライダTgの位置に対応するフレームの画像を画像表示領域Taに表示させる。
追尾点が特徴的な変動を行う時点の画像を表示したい場合、図15に示すように、ユーザは、現在表示位置バーLまたはシークバーTfのスライダTgを、画像表示領域Tb上の追尾結果時間変化線の特徴的な部分に移動させる。これにより、現在表示位置バーLにより指定される追尾結果時間変化線の位置に対応するフレームの画像が画像表示領域Taに表示される。したがって、ユーザは、追尾点が特徴的な変動を行う時点の画像を容易に観察することができる。
ユーザは、操作部4を用いて第1および第2のカーソルL1,L2を画像表示領域Tb内で縦軸の方向に移動させることができる。また、ユーザは、操作部4を用いて第3および第4のカーソルL3,L4を画像表示領域Tb内で横軸の方向に移動させることができる。
制御部10は、撮影倍率、表示倍率および1画素のサイズに基づいて第1および第2のカーソルL1,L2間の画素数を距離に換算し、換算された距離を計測量表示領域Toに表示する。したがって、ユーザは、追尾結果時間変化線上の任意の2点に第1および第2のカーソルL1,L2をそれぞれ位置させることにより、追尾結果時間変化線上の2点間の距離(本例においては、ベルトコンベアMのベルトM2の上部の略中央部分の振動幅)を解析することができる。
制御部10は、第3および第4のカーソルL3,L4間の画素数を時間に換算し、換算された時間を計測量表示領域Toに表示する。画素数から時間への換算は、表示倍率および撮影フレームレートに基づいて行われる。したがって、ユーザは、追尾結果時間変化線上の任意の2点に第3および第4のカーソルL3,L4をそれぞれ位置させることにより、追尾結果時間変化線上の2点間の時間を解析することができる。
また、制御部10は、第3および第4のカーソルL3,L4間の追尾点の変動の速度を算出し、算出された速度を計測量表示領域Toに表示する。第3のカーソルL3と追尾結果時間変化線との交点を第1の交点と呼び、第4のカーソルL3と追尾結果時間変化線との交点を第2の交点と呼ぶ。制御部10は、追尾結果時間変化線上で、第1の交点から第2の交点に至るまでの縦軸の方向の画素数を距離に換算し、換算された距離を第3および第4のカーソルL3,L4間の画素数に相当する時間で除算することにより、追尾点の変動の速度を算出する。これにより、ユーザは追尾点の変動の速度(本例においては、ベルトコンベアMのベルトM2の上部の略中央部分が振動する速度)を解析することができる。さらに、速度および時間から加速度を算出することができる。
このように、ユーザは追尾結果時間変化線上の複数のカーソルL1〜L4の位置間に相当する追尾点の距離、時間、速度および加速度を容易に認識することができる。
(4)追尾点の追尾処理
図16、図17、図18および図19は、動画追尾装置における動画中の追尾点の追尾処理を示すフローチャートである。図20および図21は、追尾点の追尾処理の実行中に画像表示領域Taに表示される画像の遷移を示す図である。図22は、追尾処理実行中に制御部10のRAM10aに記憶されるデータを示す図である。制御部10のCPUは、記憶部40に記憶される動画追尾プログラムに従って追尾処理を実行する。以下、図16〜図22を用いて制御部10のCPU(以下、制御部10と略記する。)による追尾点の追尾処理を説明する。
図9の表示の状態で、ユーザが操作部4を用いて図1の記憶部40に記憶された複数の動画ファイルのうちいずれかを選択する。それにより、制御部10は、選択された動画ファイル中の複数フレームの画像データを読み出す(ステップS1)。この場合、読み出された複数フレームの画像データは図22のRAM10aに記憶される。
次に、制御部10は、RAM10aに記憶された画像データに基づく画像のうちユーザにより指定された画像(以下、初期画像と呼ぶ。)を、図1のビデオメモリ50を介して画像表示領域Taに表示する(ステップS2)。
初期状態では、RAM10aに記憶された第1フレームの画像データv1に基づく画像V1が初期画像として画像表示領域Taに表示される。ユーザは、シークバーTf上でスライダTgを移動させることにより、または再生ボタンTcを操作することにより、初期画像を指定することができる。また、後述するように、追尾処理を再開させる場合には、ユーザにより指定された画像が初期画像として画像表示領域Taに表示される。
本例では、図20(a)に示すように、第1フレームの画像データv1に基づく画像V1が初期画像として表示される。
次に、制御部10は、ユーザにより操作部4を用いて画像表示領域Ta内の任意の位置が追尾点として指定されたか否かを判定する(ステップS3)。ユーザにより画像表示領域Ta内の追尾点の位置が指定されていない場合、制御部10は、ステップS2の処理に戻る。図20(b)に示すように、ユーザにより矢印のポインタで画像表示領域Ta内の追尾点の位置が指定された場合、制御部10は、指定された追尾点の位置に基づいて画像上でのシンボルS、テンプレートTおよび追尾線Rの位置を決定する(ステップS4)。
本例において、図20(c)に示すように、シンボルSは三角形状を有し、テンプレートTは矩形状を有する。追尾線Rは指定された追尾点を通るY方向の線分である。追尾線Rは、テンプレートTのY方向のサイズよりも長い。シンボルSの位置はユーザにより指定された追尾点の位置に一致する。テンプレートTの中心は、シンボルSの位置に一致する。追尾線Rは、全てのフレームの画像において追尾点を探索する範囲を示す。シンボルSは、識別された追尾点の位置を示す。
続いて、制御部10は、決定されたシンボルSの位置を示す位置データs1、テンプレートTの位置を示す位置データtdおよび追尾線Rの位置を示す位置データrdを図22に示すRAM10aに保存する(ステップS5)。また、制御部10は、RAM10aに記憶された位置データs1,td,rdに基づいて、画像表示領域TaにテンプレートT、シンボルSおよび追尾線Rを表示する(ステップS6)。本例においては、図20(d)に示すように、追尾点であるベルトコンベアMのベルトM2の上部の略中央部分にシンボルSが表示される。また、シンボルSを通るように追尾線Rが表示される。さらに、シンボルSを取り囲むようにテンプレートTが表示される。
なお、シンボルSの形状、テンプレートTのサイズおよび追尾線Rの長さは、ユーザにより操作部4を用いて予め設定される。
制御部10は、ユーザによる操作部4の操作に基づいて、画像表示領域Ta内の初期画像上でシンボルSを移動させることができる。この場合、シンボルSの移動に伴って、テンプレートTおよび追尾線Rも移動する。また、制御部10は、ユーザによる操作部4の操作に基づいて、テンプレートTのサイズまたは追尾線Rの長さを変更することができる。
さらに、制御部10は、ユーザによる操作部4の操作に基づいて、同様の処理により、画像表示領域Taの任意の位置に上記のシンボルS、テンプレートTおよび追尾線Rとは異なる別のシンボル、テンプレートおよび追尾線を表示することができる。これにより、ユーザは、初期画像中に複数の追尾点を設定することができる。
次に、制御部10は、追尾動作の実行が指示されたか否かを判定する(ステップS7)。ここで、制御部10は、ユーザが操作部4を用いて図9の追尾開始ボタンThまたは図14の追尾再開ボタンTjを操作したことを検出した場合、追尾動作の実行が指示されたと判定する。制御部10は、追尾動作の実行が指示されない場合にはステップS2の処理に戻る。
制御部10は、追尾動作の実行が指示された場合、テンプレートT内の画像を基準画像データReとしてRAM10aに記憶させる(ステップS8)。本例では、この時点で、制御部10は、画像表示領域TaからテンプレートTおよび追尾線Rの表示を消去する。その後、制御部10は、追尾線Rに重なる一定数の画素からなる抽出範囲F(図13参照)に含まれる画素列を画素列データp1としてRAM10aに記憶させる(ステップS9)。
続いて、制御部10は、画像表示領域Taに次フレームの画像と以前のフレームの画像に対応するシンボルSと表示する(ステップS10)。本例では、図20(e)に示すように、制御部10は、第2フレームの画像V2上に第1フレームの画像V1に対応するシンボルSが表示される。また、制御部10は、RAM10aに記憶された位置データs1に基づいて画像表示領域Tbに以前のフレームの画像V1に対応する追尾結果時間変化線を表示する(ステップS11)。さらに、制御部10は、RAM10aに記憶された画素列データp1に基づいて画像表示領域Tbに以前のフレームの画像V1に対応する画素列を表示する(ステップS12)。
ここで、制御部10は、RAM10aに記憶された基準画像データReに基づいて、現フレームの画像の追尾線R上の追尾点の位置を識別する(ステップS13)。本例では、図20(e)に示された第2フレームの画像V2のベルトM2の上部の略中央部分が追尾線R上で探索される。この場合、画像データv2のうち追尾線Rを含む画像部分に対応する部分のデータと基準画像データReとのパターンマッチングによりベルトM2の上部の略中央部分の位置が識別される。
続いて、制御部10は、識別された追尾点の位置を新たなシンボルSの位置として決定する(ステップS14)。また、制御部10は、新たなシンボルSの位置を示す位置データs2をRAM10aに記憶させる(ステップS15)。さらに、制御部10は、抽出範囲F(図13参照)に含まれる画素列を画素列データp2としてRAM10aに記憶させる(ステップS16)。
次に、制御部10は、RAM10aに記憶された新たな位置データs2に基づいて画像表示領域Taに新たなシンボルSを表示する(ステップS17)。本例では、図21(a)に示すように、第2フレームの画像V2上に第1フレームの画像V1に対応するシンボルSおよび第2フレームの画像V2に対応するシンボルSが表示される。また、制御部10は、RAM10aに記憶された新たな位置データs2に基づいて画像表示領域Tbに新たな追尾結果時間変化線を表示する(ステップS18)。さらに、制御部10は、RAM10aに記憶された新たな画素列データp2に基づいて画像表示領域Tbに新たな画素列を表示する(ステップS19)。
次に、制御部10は、画像表示領域Taに複数フレームの画像のうち最終フレームの画像が表示されているか否かを判定する(ステップS20)。
画像表示領域Taに最終フレームの画像が表示されていない場合、制御部10は、一時停止が指示されたか否かを判定する(ステップS21)。例えば、画像表示領域Tbに表示されている追尾結果時間変化線が時空間画像の所定の画素値を有する画素上に表示されていない場合、ユーザは、追尾結果が適切でないと判断し、追尾停止ボタンTiを操作することができる。追尾停止ボタンTiが操作されたことを検出した場合、制御部10は、一時停止が指示されたと判定する。
一時停止が指示されていない場合には、制御部10は、ステップS10に戻り、ステップS10〜S20の処理を繰り返し実行する。本例では、図21(b)に示すように、画像表示領域Taに第3フレームの画像V3が表示されるとともに、画像V3上に第1および第2フレームに対応するシンボルSが表示される。また、画像表示領域Tbに第1および第2フレームに対応する画素列が表示される。
第3フレームの画像V3において追尾線R上で追尾点の位置が識別される。それにより、識別された追尾点の位置が新たなシンボルSの位置として決定され、新たなシンボルSの位置を示す位置データs3がRAM10aに記憶される。また、抽出範囲F(図13参照)に含まれる画素列が画素列データp3としてRAM10aに記憶される。
次いで、図21(c)に示すように、RAM10aに記憶される位置データs3に基づいて第3フレームの画像V3上に新たなシンボルSが表示される。また、RAM10aに記憶される画素列データp3に基づいて画像表示領域Tbに新たな画素列が表示される。
ステップS20において画像表示領域Taに最終フレームの画像が表示されている場合またはステップS21において一時停止が指示された場合には、制御部10は、追尾動作の終了が指示されたか否かを判定する(ステップS22)。例えば、図21(d)に示すように、ユーザは、画像表示領域Taに表示される最終フレームの画像まで適切な一次元追尾が行われたと判断した場合、操作部4を用いて図14の終了ボタンTkまたは解析ボタンTnを操作する。一方、追尾動作の実行後、または、追尾動作の実行中に一次元追尾が適切でないことに気付いた場合、ユーザは図14の終了ボタンTkおよび解析ボタンTnを操作しない。
制御部10は、終了ボタンTkまたは解析ボタンTnが操作されたことを検出した場合、追尾動作の終了が指示されたと判定する。この場合、制御部10は、RAM10aに記憶されるシンボルSの位置データを追尾結果として図1の記憶部40に記憶させるとともに、時空間画像に対応する画素列データを記憶部40に記憶させ(ステップS23)、追尾処理を終了する。
一方、ステップS22において追尾動作の終了が指示されていない場合には、制御部10は、ステップS2の処理に戻る。例えば、追尾動作の途中で一次元追尾が適切でなくなった場合、ステップS2において、ユーザは、操作部4を用いて図14の逆再生ボタンTeまたはシークバーTfのスライダTgを操作することにより、一次元追尾が適切でなくなる前のフレームの画像を初期画像として指定することができる。また、ステップS3において、ユーザは、テンプレートTのサイズおよび位置を変更することができる。ただし、追尾線Rの長さおよび位置を変更することができない。
制御部10は、ユーザによる操作部4の操作に基づいて、指定されたフレームの画像データに基づく画像を初期画像として画像表示領域Taに表示する(ステップS2)。また、制御部10は、指定されたフレームの画像より以前のフレームの画像に対応する位置データに基づいて画像表示領域Tbに追尾結果時間変化線を表示する。さらに、制御部10は、指定されたフレームの画像より以前のフレームの画像に対応する画素列データに基づいて画像表示領域Tbに画素列を表示する。
制御部10は、ステップS2〜S22の処理を繰り返す。これにより、追尾が適切でなくなった最初のフレームの画像または適切でなくなった直前のフレームの画像から追尾動作を再開することができる。これにより、図21(d)に示すように、全てのフレームの画像において追尾点であるベルトコンベアMのベルトM2の上部の略中央部分に適切な追尾結果を示すシンボルSが表示される。追尾結果を示す複数のシンボルSにより、動画中の追尾点の軌跡が表示される。
このように、複数フレームの画像のうち一の画像が初期画像として画像表示領域Taに表示される。操作部4により初期画像内でシンボルS、テンプレートTおよび追尾線Rが設定されかつ追尾開始ボタンThが操作された場合、初期画像以降のフレームの画像について追尾動作が実行される。
追尾動作の停止または終了後に、操作部4により複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合、新たな初期画像が画像表示領域Taに表示される。また、操作部4により新たな初期画像内でシンボルSおよびテンプレートTが再設定されかつ追尾再開ボタンTjが操作された場合、新たな初期画像以降のフレームの画像について追尾動作が実行され、新たな初期画像以降のフレームの画像に対応する追尾結果時間変化線が新たな初期画像より前のフレームの画像に対応する追尾結果時間変化線に続けて画像表示領域Tbに表示される。
これにより、追尾動作の実行中に追尾点の追尾が不適切になった場合、任意のフレームの初期画像から追尾動作を再開することができる。そのため、追尾が不適切になった最初のフレームの画像または追尾が不適切になった直前のフレームの画像を新たな初期画像とすることにより、適切に追尾が行われた期間の追尾結果時間変化線を保持しつつ、追尾が不適切になった期間における追尾動作を再度実行することができる。
例えば、追尾結果時間変化線の一部が時空間画像の所定の値を有する画素値から外れている場合に、ユーザは追尾結果(追尾線R上でのシンボルSの位置)が不適切であると判断することができる。その場合、追尾が不適切になった期間における追尾動作を再度実行することができる。
また、新たな初期画像においてシンボルSおよびテンプレートTを再設定することができるので、再開された追尾動作において各画像について適切に追尾動作が行われる確率が高くなる。したがって、追尾動作の全体の実行時間が短縮される。その結果、効率よく正確な追尾結果および追尾結果時間変化線を得ることが可能になる。
(5)動画および追尾結果変化線の表示処理
図23および図24は、動画追尾装置における動画および追尾結果変化線の表示処理を示すフローチャートである。図25は、表示処理実行中に制御部10のRAM10aに記憶されるデータを示す図である。制御部10のCPUは、記憶部40に記憶される表示プログラムに従って表示処理を実行する。以下、図23〜図25を用いて制御部10による動画および追尾結果変化線の表示処理を説明する。
図15の表示の状態で、ユーザが操作部4を用いて解析ボタンTnを操作することにより、動画および追尾結果変化線の表示処理が開始される。または、ユーザが操作部4を用いてまたは図1の記憶部40に記憶された追尾処理後の動画ファイルを選択することにより、動画および追尾結果変化線の表示処理が開始される。
制御部10は、選択された動画ファイル中の複数フレームの画像データを読み出す(ステップS31)。この場合、読み出された複数フレームの画像データは図25のRAM10aに記憶される。また、制御部10は、読み出された複数フレームの画像データに対応する複数のシンボルSの位置データおよび画素列データを読み出す(ステップS32)。この場合、読み出された複数のシンボルSの位置データおよび画素列データはRAM10aに記憶される。
次に、制御部10は、RAM10aに記憶された画像データに基づく画像のうちユーザにより指定された初期画像を、図1のビデオメモリ50を介して画像表示領域Taに表示する(ステップS33)。初期状態では、RAM10aに記憶された第1フレームの画像データv1に基づく画像V1が初期画像として画像表示領域Taに表示される。ユーザは、シークバーTf上でスライダTgを移動させることにより、または再生ボタンTcを操作することにより、初期画像を指定することができる。
また、制御部10は、複数のシンボルSの位置データおよび画素列データに基づいて時間変化線および時空間画像を画像表示領域Tbに表示する(ステップS34)。ここで、制御部10は、画像表示領域Taに表示される初期画像のフレームに対応する現在表示位置バーLの位置データbdに基づいて画像表示領域Tbに現在表示位置バーLを表示する(ステップS35)。初期状態では、第1フレームに対応する位置に現在表示位置バーLが表示される。ユーザは、現在表示位置バーLを移動させることができる。
制御部10は、ユーザにより現在表示位置バーLが移動されたか否かを判定する(ステップS36)。現在表示位置バーLが移動された場合、制御部10は、移動後の現在表示位置バーLの位置データbdを決定する(ステップS37)。また、制御部10は、決定された現在表示位置バーLの位置データbdに対応するフレームの画像データを決定する(ステップS38)。
また、制御部10は、決定された画像データに基づく画像を画像表示領域Taに表示する(ステップS39)。その後、制御部10は、ステップS36の処理に戻る。
一方、ステップS36において、現在表示位置バーLが移動されていない場合、制御部10は、ユーザにより別のフレームの画像の表示が指定されたか否かを判定する(ステップS40)。ユーザは、シークバーTf上でスライダTgを移動させることにより、または再生ボタンTcもしくは逆再生ボタンTeを操作することにより、別のフレームの画像の表示を指定することができる。ユーザにより別のフレームの画像の表示が指定されていない場合、制御部10は、ステップS36の処理に戻る。
一方、ステップS40において、ユーザにより別のフレームの画像の表示が指定された場合、制御部10は、指定されたフレームの画像データを決定する(ステップS41)。また、決定された画像データに対応する現在表示位置バーLの位置を示す位置データbdを決定する(ステップS42)。
続いて、制御部10は、決定された画像データに基づく画像を画像表示領域Taに表示させる(ステップS43)。また、制御部10は、決定された位置データbdに基づいて画像表示領域Tbに表示される現在表示位置バーLを移動させる(ステップS44)。その後、制御部10は、ステップS36の処理に戻る。
これにより、画像表示領域Taに表示される画像のフレームと現在表示位置バーLの位置とが相互に連動される。その結果、現在表示位置バーLを画像表示領域Tbの追尾結果時間変化線上で移動させることにより、追尾結果時間変化線上の現在表示位置バーLの位置に対応するフレームの画像を画像表示領域Taに表示させることができる。また、画像表示領域Taに表示される画像のフレームを変更することにより、変更後の画像のフレームに対応する追尾結果時間変化線の位置に現在表示位置バーLを移動させることができる。
(6)効果
本実施の形態に係る動画追尾装置においては、記憶部40に記憶された各フレームの画像データに基づいて表示部20の画像表示領域Taに画像が表示される。操作部4により画像表示領域Taに表示される画像内でシンボルS、テンプレートTおよび追尾線Rの設定が行われ、追尾開始ボタンThが操作された場合、設定された追尾線R上での追尾点の位置を識別する追尾動作が各フレームの画像において実行される。
また、追尾結果時間変化線および時空間画像が表示部20の画像表示領域Tbに表示される。この追尾結果時間変化線は、複数フレームの画像における追尾動作により識別された追尾点の位置の時間変化を示す。したがって、ユーザは、画像表示領域Tbに表示された追尾結果時間変化線を観察することにより、追尾線R上での追尾点の動きを容易に把握することができる。
ユーザが、操作部4を用いてシークバーTfのスライダTgを移動させることによりまたは再生ボタンTcもしくは逆再生ボタンTeを操作することにより、現在表示位置バーLを操作して画像表示領域Tbに表示される追尾結果時間変化線の時間軸方向の位置を指定すると、現在表示位置バーLにより指定された位置に対応するフレームの画像が画像表示領域Taに表示される。これにより、ユーザは、動画中での任意の時点の追尾点の状態を画像表示領域Taに表示された画像により容易に観察することができる。
同様に、ユーザが操作部4により画像表示領域Taに表示させる画像のフレームを変更すると、変更後の画像のフレームに対応する時間軸方向の位置を指定するように現在表示位置バーLが画像表示領域Tbにおいて移動する。これにより、ユーザは、追尾結果時間変化線において任意のフレームの画像に対応する時間軸上の位置を容易に把握することができる。したがって、任意のフレームの画像における追尾点の時間変化を容易に認識することができる。
(7)第1の変形例
図16のステップS3,S4において、ユーザにより画像表示領域Ta内の追尾点の位置が指定された場合、制御部10は、指定された1つの追尾点の位置に基づいて画像上での1つのシンボルS、1つのテンプレートTおよび1つの追尾線Rの位置を決定するが、これに限定されない。例えば、ユーザにより画像表示領域Ta内の追尾点の位置が指定された場合、制御部10は、指定された複数の追尾点の位置に対応する複数のシンボルS、複数のテンプレートTおよび複数の追尾線Rの位置を画像上で決定してもよい。
図26は、第1の変形例における複数の追尾点を示す図である。図26(a)の矢印のポインタで示すように、ユーザは、画像表示領域Taに表示された画像上で追尾点を指定するために、操作部4を操作して線分Q1を描くことができる。また、図26(b)矢印のポインタで示すように、ユーザは、画像表示領域Taに表示された画像上で追尾点を指定するために、操作部4を操作して矩形枠Q2を描くことができる。
図26(a)の線分Q1が描かれた場合、制御部10は、線分Q1上に一定間隔で複数の追尾点を決定する。また、図26(b)の矩形枠Q2が描かれた場合、制御部10は矩形枠Q2の長辺方向の二等分線上に一定間隔で複数の追尾点を決定する。このようにして、図26(c)に示すように、複数の追尾点が決定される。図26(c)の例では、5つの追尾点が決定されている。
上記の例で、複数の追尾点の間隔が予め設定されていてもよい。この場合、追尾点の数は、描かれた線分Q1の長さまたは矩形枠Q2の長辺方向の二等分線の長さに応じて決定される。また、追尾点の数が予め設定されていてもよい。この場合、複数の追尾点の間隔は、描かれた線分Q1の長さまたは矩形枠Q2の長辺方向の二等分線の長さに応じて決定される。
制御部10は、決定された複数の追尾点の位置に基づいて画像上での複数のシンボルSA〜SE、複数のテンプレートTA〜TEおよび複数の追尾線RA〜REの位置を決定する。複数のシンボルSA〜SEの形状、複数のテンプレートTA〜TEのサイズおよび複数の追尾線RA〜REの長さは、ユーザにより操作部4を用いて予め設定される。
制御部10は、ユーザによる操作部4の操作に基づいて、複数のテンプレートTA〜TEのサイズおよび位置ならびに複数の追尾線RA〜REの長さおよび位置を変更することができる。また、制御部10は、1つのテンプレートのサイズまたは位置を変更した場合、その変更に連動して他のテンプレートのサイズまたは位置を同様に変更してもよい。さらに、制御部10は、1つの追尾線の長さまたは位置を変更した場合、その変更に連動して他の追尾線の長さまたは位置を同様に変更してもよい。
このように、第1の変形例に係る動画追尾装置においては、ユーザは画像表示領域Taに表示される画像内で複数組のシンボルS、テンプレートTおよび追尾線Rを容易に設定することができる。これにより、動画中の複数の追尾点の一次元追尾を容易に行うことができる。その結果、ユーザは、複数の追尾線R上での追尾点の動きを容易に把握することができるとともに、動画中での任意の時点の複数の追尾点の状態を容易に観察することができる。
(8)第2の変形例
図27は、第2の変形例における複数の追尾点を示す図である。図27には、矢印の向きに回転する円柱状のモータの回転軸Nの端面が示されている。図27においては、矢印X,Y示すように、互いに直交する二方向をX方向およびY方向と定義する。
図27(a)の矢印のポインタで示すように、ユーザは、画像表示領域Ta内に表示される画像上で追尾点を指定するために、操作部4を操作してモータの回転軸Nの外周円上に複数の(本例では3つ)点Q3を描くことができる。また、図27(b)の矢印のポインタで示すように、ユーザは、画像表示領域Ta内に表示される画像上で追尾点を指定するために、操作部4を操作してモータの回転軸Nの外周円を挟むように2つの同心円Q4を描くことができる。
図27(a)の複数の点Q3が描かれた場合、制御部10は、複数の点Q3を通る仮想的な円上に所定の角度間隔で複数の追尾点を決定する。また、図27(b)の2つの同心円Q4が描かれた場合、制御部10は2つの同心円Q4に挟まれる仮想的な円上に所定の角度間隔で複数の追尾点を決定する。仮想的な円は、モータの回転軸Nの外周円に略一致する。このようにして、図27(c)に示すように、複数の追尾点が決定される。図27(c)の例では、90度の角度間隔で4つの追尾点が決定されている。
上記の例で、角度間隔が予め設定されていてもよい。この場合、追尾点の数は、設定された角度間隔に応じて決定される。また、追尾点の数が予め設定されていてもよい。この場合、角度間隔は、設定された追尾点の数に応じて決定される。
制御部10は、決定された複数の追尾点の位置に基づいて画像上での複数のシンボルSA〜SD、複数のテンプレートTA〜TDおよび複数の追尾線RA〜RDの位置を決定する。複数のシンボルSA〜SDの形状、複数のテンプレートTA〜TDのサイズおよび複数の追尾線RA〜RDの長さは、ユーザにより操作部4を用いて予め設定される。
制御部10は、ユーザによる操作部4の操作に基づいて、複数のテンプレートTA〜TDのサイズおよび位置ならびに複数の追尾線RA〜RDの長さおよび位置を変更することができる。また、制御部10は、1つのテンプレートのサイズまたは位置を変更した場合、その変更に連動して他のテンプレートのサイズまたは位置を同様に変更してもよい。さらに、制御部10は、1つの追尾線の長さまたは位置を変更した場合、その変更に連動して他の追尾線の長さまたは位置を同様に変更してもよい。
図27(c)においては、追尾線RA上の追尾点のX方向の変位をx1とし、追尾線RB上の追尾点のX方向の変位をx2とする。追尾線RC上の追尾点のY方向の変位をy1とし、追尾線RD上の追尾点のY方向の変位をy2とする。この場合、モータの回転軸NのX方向の変位xは、x=(x1+x2)/2となり、モータの回転軸NのY方向の変位yは、y=(y1+y2)/2となる。また、モータの回転軸Nの変位の大きさrは、r=(x2+y2)1/2となり、モータの回転軸Nの変位の方向θは、θ=tan−1(y/x)となる。
制御部10は、モータの回転軸NのX方向の変位xおよびY方向の変位yについての追尾結果時間変化線を画像表示領域Tbに表示させる。また、制御部10は、追尾線RA,RBに重なる抽出範囲F(図13参照)に含まれる画素列からなる時空間画像を画像表示領域Tbに表示させる。さらに、制御部10は、モータ回転軸のNの変位の大きさrおよびモータの回転軸Nの変位の方向θについての追尾結果時間変化線を画像表示領域Tbに表示させてもよい。
このように、第2の変形例に係る動画追尾装置においても、画像内で複数組のシンボルS、テンプレートTおよび追尾線Rを容易に設定することができる。これにより、動画中の複数の追尾点の一次元追尾を容易に行うことができる。この場合、回転するモータ等の回転軸のX方向の変位、Y方向の変位、回転軸の変位の大きさおよび回転軸の変位の方向についての追尾結果時間変化線および時空間画像を容易に表示させることができる。その結果、ユーザは、複数の追尾線R上での追尾点の動きを容易に把握することができるとともに、動画中での任意の時点の複数の追尾点の状態を容易に観察することができる。
(9)他の実施の形態
(9−1)上記の実施の形態に係る動画追尾装置において、追尾線Rは指定された追尾点を通るY方向の線分であるが、これに限定されない。追尾線Rは指定された追尾点を通るX方向または斜め方向の線分であってもよく、追尾点を通る曲線であってもよい。
(9−2)上記の実施の形態に係る動画追尾装置において、画像表示領域Tbに追尾結果時間変化線および時空間画像が表示されるが、これに限定されない。画像表示領域Tbに時空間画像が表示されなくてもよい。
(9−3)上記の実施の形態に係る動画追尾装置では、画像表示領域Tbに表示される追尾結果時間変化線において、画像表示領域Taに表示される画像のフレームに対応する時間軸方向の位置が、現在表示位置バーLにより指定されるが、これに限定されない。例えば、画像表示領域Tbに表示される追尾結果時間変化線において、画像表示領域Taに表示される画像のフレームに対応する時間軸方向の位置が、他の形状の指標により指定されてもよい。
(10)請求項の各構成要素と実施の形態の各部との対応関係
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。
画像V1〜V8が画像の例であり、追尾線Rが追尾線の例であり、画像データv1〜v8が画像データの例であり、記憶部40が記憶部の例であり、画像表示領域Taが第1の表示領域の例であり、画像表示領域Tbが第2の表示領域の例であり、表示部20が表示部の例である。制御部10が制御部または処理装置の例であり、操作部4が操作部の例であり、追尾結果時間変化線が波形の例であり、現在表示位置バーLが指標の例であり、距離、時間、速度または加速度が物理量の例である。
請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることもできる。