説明

動画追尾装置、動画追尾方法および動画追尾プログラム

【課題】動画中の追尾対象の追尾において効率よく正確な追尾結果を得ることが可能な動画追尾装置、動画追尾方法および動画追尾プログラムを提供する。
【解決手段】画像処理システム100においては、記憶部40に記憶された複数フレームの画像のうち一の画像が初期画像として表示部20に表示される。操作部4により初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合、初期画像以降のフレームの画像について追尾動作が実行される。追尾動作の停止または終了後に、操作部4により複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合、新たな初期画像が表示部20に表示される。また、操作部4により新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合、新たな初期画像以降のフレームの画像について追尾動作が実行される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画中の追尾対象を追尾するための動画追尾装置、動画追尾方法および動画追尾プログラムに関する。
【背景技術】
【0002】
動画中の追尾対象を追尾することにより動画中で移動する追尾対象の軌跡を表示する種々の方法が提案されている。
【0003】
例えば、特許文献1に記載された動画データ解析プログラムによれば、作業者がモニタに表示された画像の任意の箇所を指定すると、軌跡表示手段が指定された箇所の軌跡をモニタに表示することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−71687号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
動画は、複数フレームの画像により構成される。動画中の追尾対象の追尾では、動画を構成する複数フレームの画像の各々において追尾対象の位置が識別される。各フレームの画像において追尾対象の位置の識別が成功する確率は比較的高い。しかしながら、動画を構成する複数フレームの画像のすべてにおいて追尾対象の位置の識別が成功する確率は、指数的に低下する。
【0006】
したがって、追尾対象の正確な追尾結果として正確な軌跡を得るためには、動画中の全フレームの画像について追尾対象の追尾が成功するまで、追尾対象の追尾を繰り返し実行する必要がある。それにより、正確な追尾結果を得るために多大な時間を要するため、作業の効率が低下する。
【0007】
本発明の目的は、動画中の追尾対象の追尾において効率よく正確な追尾結果を得ることが可能な動画追尾装置、動画追尾方法および動画追尾プログラムを提供することである。
【課題を解決するための手段】
【0008】
(1)第1の発明に係る動画追尾装置は、複数フレームの画像により構成される動画中の追尾対象を追尾する動画追尾装置であって、複数フレームの画像を表示するための複数フレームの画像データを記憶する記憶部と、記憶部に記憶される各フレームの画像データに基づいて画像を表示する表示部と、表示部に表示される画像内での追尾対象の追尾条件の設定および追尾対象の追尾に関する指示を行なうためにユーザにより操作される操作部と、表示部に複数フレームの画像を順に表示させ、表示される各画像において操作部により設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる追尾動作を実行する制御部とを備え、制御部は、複数フレームの画像のうち一の画像を初期画像として表示部に表示させ、操作部により初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合に、初期画像以降のフレームの画像について追尾動作を実行し、追尾動作の停止または終了後に、操作部により複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合に、新たな初期画像を表示部に表示させ、操作部により新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、新たな初期画像以降のフレームの画像について追尾動作を実行するものである。
【0009】
この動画追尾装置においては、記憶部に記憶された画像データに基づいて複数フレームの画像のうち一の画像が初期画像として表示部に表示される。操作部により初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合、初期画像以降のフレームの画像について追尾動作が実行される。
【0010】
追尾動作においては、表示部に複数フレームの画像が順に表示される。表示される各画像において、操作部により設定された追尾条件で追尾対象の位置が識別されるとともに識別された位置にシンボルが表示される。複数フレームの画像について表示された複数のシンボルが動画中で移動する追尾対象の軌跡を示す。
【0011】
追尾動作の停止または終了後に、操作部により複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合、新たな初期画像が表示部に表示される。また、操作部により新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合、新たな初期画像以降のフレームの画像について追尾動作が実行される。
【0012】
これにより、追尾動作の実行中に追尾対象の追尾が失敗した場合、任意のフレームの初期画像から追尾動作を再開することができる。そのため、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像を新たな初期画像とすることにより、追尾が成功した画像の追尾結果を保持しつつ、追尾が失敗した画像について追尾動作を再開することができる。
【0013】
また、新たな初期画像において追尾条件を再設定することができるので、再開された追尾動作において各画像についての追尾が成功する確率が高くなる。したがって、追尾動作の全体の実行時間が短縮される。その結果、効率よく正確な追尾結果を得ることが可能になる。
【0014】
(2)制御部は、表示部に現在表示される画像において識別された追尾対象の位置と、表示部に現在表示される画像よりも以前のフレームの画像において識別された追尾対象の位置とにシンボルをそれぞれ表示させ、新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、表示部に現在表示される画像において識別された追尾対象の位置と、新たな初期画像よりも以後でかつ表示部に現在表示される画像よりも以前のフレームの画像において識別された追尾対象の位置と、新たな初期画像よりも以前のフレームの画像において識別された追尾対象の位置とにシンボルをそれぞれ表示させてもよい。
【0015】
この場合、表示部に現在表示される画像において識別された追尾対象の位置と、表示部に現在表示される画像よりも以前のフレームの画像において識別された追尾対象の位置とにシンボルがそれぞれ表示される。これにより、ユーザは動画中の追尾対象の軌跡を容易に観察することができる。
【0016】
また、追尾動作が再開された場合、表示部に現在表示される画像において識別された追尾対象の位置と、新たな初期画像よりも以後でかつ表示部に現在表示される画像よりも以前のフレームの画像において識別された追尾対象の位置と、新たな初期画像よりも以前のフレームの画像において識別された追尾対象の位置とにシンボルがそれぞれ表示される。これにより、追尾動作が再開された場合でも、ユーザは動画中の追尾対象の軌跡を容易に観察することができる。
【0017】
(3)追尾条件は、初期画像内での追尾対象の画像部分の範囲および各フレームの画像内で追尾対象を探索する範囲のうち少なくとも一方を含んでもよい。
【0018】
この場合、ユーザは、初期画像内での追尾対象の画像部分の範囲および各フレームの画像内で追尾対象を探索する範囲のうち少なくとも一方を再設定することにより、適切な条件で追尾動作を再開することができる。これにより、追尾が失敗した場合でも、再開時の追尾動作においては以前の追尾動作における追尾の失敗を繰り返すことを防止することができる。
【0019】
(4)制御部は、複数フレームの画像を追尾動作時とは逆の時間順で表示部に表示させる逆再生の機能を有し、操作部は、追尾動作の停止または終了後に、逆再生を指示することにより新たな初期画像の表示を指示可能であってもよい。
【0020】
この場合、ユーザは、追尾動作の停止または終了後に、逆再生を指示することにより所望のフレームの画像を新たな初期画像として表示させることができる。これにより、ユーザは、各フレームの画像およびシンボルを見ながら、追尾が最初に失敗したフレームの画像を容易に見つけることができる。したがって、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像から追尾動作を容易に再開することができる。
【0021】
(5)制御部は、表示部に表示させる画像を選択するための選択部を表示部に表示させ、操作部は、表示部に表示された選択部を操作することにより新たな初期画像の表示を指示可能であってもよい。
【0022】
この場合、ユーザは、追尾動作の停止または終了後に、選択部を操作することにより所望のフレームの画像を新たな初期画像として表示させることができる。したがって、ユーザは、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像を迅速に初期画像として表示させることができる。これにより、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像から追尾動作を迅速に再開することができる。
【0023】
(6)制御部は、追尾動作の実行中に各画像について追尾対象の位置の識別結果の正確度を算出し、正確度が予め定められたしきい値以下になったときに追尾動作を停止してもよい。
【0024】
この場合、追尾が失敗した時点で正確度がしきい値以下になることにより追尾動作が自動的に停止する。これにより、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像から追尾動作を容易に再開することができる。
【0025】
(7)第2の発明に係る動画追尾方法は、複数フレームの画像により構成される動画中の追尾対象を追尾する動画追尾方法であって、複数フレームの画像を表示するための複数フレームの画像データを記憶するステップと、記憶された複数フレームの画像データに基づいて複数フレームの画像のうち一の画像を初期画像として表示部に表示させるステップと、初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合に、記憶された複数フレームの画像データに基づいて初期画像以降のフレームの画像を表示部に順に表示させ、表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第1の追尾動作を実行するステップと、第1の追尾動作の停止または終了後に、複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合に、記憶された複数フレームの画像データに基づいて新たな初期画像を表示部に表示させるステップと、新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、記憶された複数フレームの画像データに基づいて新たな初期画像以降のフレームの画像を表示部に順に表示させ、表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第2の追尾動作を実行するステップとを含むものである。
【0026】
この動画追尾方法においては、複数フレームの画像を表示するための複数フレームの画像データが記憶される。また、記憶された複数フレームの画像データに基づいて複数フレームの画像のうち一の画像が初期画像として表示部に表示される。ここで、初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合、第1の追尾動作として、記憶された複数フレームの画像データに基づいて初期画像以降のフレームの画像が表示部に順に表示され、表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルが表示される。複数フレームの画像について表示された複数のシンボルが動画中で移動する追尾対象の軌跡を示す。
【0027】
第1の追尾動作の停止または終了後、複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合、記憶された複数フレームの画像データに基づいて新たな初期画像が表示部に表示される。また、新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合、第2の追尾動作として、記憶された複数フレームの画像データに基づいて新たな初期画像以降のフレームの画像が表示部に順に表示され、表示される各画像において設定された追尾条件で追尾対象の位置が識別されるとともに識別された位置にシンボルが表示される。
【0028】
これにより、第1の追尾動作の実行中に追尾対象の追尾が失敗した場合、任意のフレームの初期画像から第2の追尾動作を実行することができる。そのため、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像を新たな初期画像とすることにより、追尾が成功した画像の追尾結果を保持しつつ、追尾が失敗した画像について第2の追尾動作を実行することができる。
【0029】
また、新たな初期画像において追尾条件を再設定することができるので、第2の追尾動作において各画像についての追尾が成功する確率が高くなる。したがって、第1および第2の追尾動作の全体の実行時間が短縮される。その結果、効率よく正確な追尾結果を得ることが可能になる。
【0030】
(8)第3の発明に係る動画追尾プログラムは、複数フレームの画像により構成される動画中の追尾対象を追尾する追尾処理を処理装置に実行させる動画追尾プログラムあって、複数フレームの画像を表示するための複数フレームの画像データを記憶する処理と、記憶された複数フレームの画像データに基づいて複数フレームの画像のうち一の画像を初期画像として表示部に表示させる処理と、初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合に、記憶された複数フレームの画像データに基づいて初期画像以降のフレームの画像を表示部に順に表示させ、表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第1の追尾動作を実行する処理と、第1の追尾動作の停止または終了後に、複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合に、記憶された複数フレームの画像データに基づいて新たな初期画像を表示部に表示させる処理と、新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、記憶された複数フレームの画像データに基づいて新たな初期画像以降のフレームの画像を表示部に順に表示させ、表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第2の追尾動作を実行する処理とを、処理装置に実行させるものである。
【0031】
この動画追尾プログラムにおいては、複数フレームの画像を表示するための複数フレームの画像データが記憶される。また、記憶された複数フレームの画像データに基づいて複数フレームの画像のうち一の画像が初期画像として表示部に表示される。ここで、初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合、第1の追尾動作として、記憶された複数フレームの画像データに基づいて初期画像以降のフレームの画像が表示部に順に表示され、表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルが表示される。複数フレームの画像について表示された複数のシンボルが動画中で移動する追尾対象の軌跡を示す。
【0032】
第1の追尾動作の停止または終了後、複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合、記憶された複数フレームの画像データに基づいて新たな初期画像が表示部に表示される。また、新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合、第2の追尾動作として、記憶された複数フレームの画像データに基づいて新たな初期画像以降のフレームの画像が表示部に順に表示され、表示される各画像において設定された追尾条件で追尾対象の位置が識別されるとともに識別された位置にシンボルが表示される。
【0033】
これにより、第1の追尾動作の実行中に追尾対象の追尾が失敗した場合、任意のフレームの初期画像から第2の追尾動作を実行することができる。そのため、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像を新たな初期画像とすることにより、追尾が成功した画像の追尾結果を保持しつつ、追尾が失敗した画像について第2の追尾動作を実行することができる。
【0034】
また、新たな初期画像において追尾条件を再設定することができるので、第2の追尾動作において各画像についての追尾が成功する確率が高くなる。したがって、第1および第2の追尾動作の全体の実行時間が短縮される。その結果、効率よく正確な追尾結果を得ることが可能になる。
【発明の効果】
【0035】
本発明によれば、動画中の追尾対象の追尾において効率よく正確な追尾結果を得ることが可能となる。
【図面の簡単な説明】
【0036】
【図1】本発明の一実施の形態に係る動画追尾装置を備える画像処理システムの構成を示すブロック図である。
【図2】撮影条件の設定時における表示部の表示例を示す図である。
【図3】録画処理中の図1の録画部の記憶状態を示す模式図である。
【図4】録画処理中の図1の録画部の記憶状態の他の例を示す模式図である。
【図5】録画処理中の表示部の表示例を示す図である。
【図6】録画処理終了時の表示部の表示例を示す図である。
【図7】ファイル記憶処理により記憶部に記憶される動画ファイルの模式図である。
【図8】再生処理時の表示部の表示例を示す図である。
【図9】追尾処理の実行開始時における表示部の表示例を示す図である。
【図10】画像表示領域に表示される動画の一例を示す図である。
【図11】追尾対象の追尾動作時における表示部の表示例を示す図である。
【図12】追尾対象の追尾動作時の画像表示領域に表示される動画の一例を示す図である。
【図13】追尾対象の追尾動作終了時における表示部の表示例を示す図である。
【図14】追尾対象の追尾が失敗したときの画像表示領域に表示される動画の一例を示す図である。
【図15】動画追尾装置における動画中の追尾対象の追尾処理を示すフローチャートである。
【図16】動画追尾装置における動画中の追尾対象の追尾処理を示すフローチャートである。
【図17】動画追尾装置における動画中の追尾対象の追尾処理を示すフローチャートである。
【図18】追尾対象の追尾処理の実行中に画像表示領域に表示される画像の遷移を示す図である。
【図19】追尾対象の追尾処理の実行中に画像表示領域に表示される画像の遷移を示す図である。
【図20】追尾対象の追尾処理の実行中に画像表示領域に表示される画像の遷移を示す図である。
【図21】追尾処理実行中に制御部のRAMに記憶されるデータを示す図である。
【図22】他の実施の形態に係る動画追尾装置における動画中の追尾対象の追尾処理を示すフローチャートである。
【発明を実施するための形態】
【0037】
以下、本発明の一実施の形態に係る動画追尾装置、動画追尾方法および動画追尾プログラムについて図面を参照しつつ説明する。後述するように、本実施の形態に係る動画追尾装置を備える画像処理システムは表示部を有する。表示部には複数フレームの画像が連続的に表示されることにより動画が表示される。
【0038】
(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に接続される。
【0039】
本体部1には、PLC(プログラマブルロジックコントローラ)5、センサ6および波形収集装置7を接続することができる。波形収集装置7には、センサ8を接続することができる。詳細は後述する。
【0040】
カメラ2は、CCD(電荷結合素子)イメージセンサまたはCMOS(相補性金属酸化膜半導体)イメージセンサ等の撮像素子を備える。撮像素子の露光時間(シャッタースピード)および撮影フレームレート等は、ユーザにより操作部4を用いて設定可能である。撮影フレームレートとは、単位時間当たりに取得される画像のフレーム数である。なお、本実施の形態のカメラ2は、15fps(frame per second)以上32000fps以下の撮影フレームレートで被写体Wを撮影することができる。
【0041】
カメラ2により被写体Wが撮影されると、設定された撮影フレームレートで撮像素子により被写体Wの画像が取得され、取得された画像が画像データとして出力される。それにより、複数フレームの画像に対応する複数フレームの画像データがカメラ2から本体部1に与えられる。複数フレームの画像により動画が構成される。以下、複数フレームの画像データを動画データと称する。
【0042】
カメラ2は、照明装置3とともに三脚台等の図示しない支持台に取り付けられる。照明装置3は、メタルハライドランプまたはハイパワーLED(発光ダイオード)等の光源を含む。照明装置3は、被写体Wに光を照射するために用いられる。被写体Wが十分に明るい場合には、照明装置3はなくてもよい。
【0043】
ビデオメモリ50はRAM(ランダムアクセスメモリ)等のメモリからなる。ビデオメモリ50には、カメラ2、録画部30または記憶部40から複数フレームの画像データが順次与えられる。与えられた複数フレームの画像データは順次ビデオメモリ50に記憶される。
【0044】
表示部20は、例えば液晶ディスプレイパネルまたは有機EL(エレクトロルミネッセンス)パネルにより構成される。表示部20には、ビデオメモリ50に順次記憶される複数フレームの画像データに基づいて複数フレームの画像が連続的に表示される。それにより、動画が表示部20に表示される。
【0045】
操作部4は、例えばマウスまたはトラックボール等のポインティングデバイスにより構成される。なお、操作部4は、ポインティングデバイスとともにまたはポインティングデバイスに代えてキーボードにより構成されてもよいし、リモートコントローラまたはタッチパネルにより構成されてもよい。操作部4は、本体部1と一体的に構成されてもよい。
【0046】
録画部30は、例えばRAM等のメモリからなる。録画部30は、複数の画像データからなる動画データを記憶するための動画データ記憶領域および複数の評価値からなる波形データを記憶するための波形データ記憶領域を含む。複数の評価値からなる波形データの詳細は後述する。
【0047】
カメラ2から与えられる複数フレームの画像データ(動画データ)を録画部30の動画データ記憶領域に記憶させることを録画と呼ぶ。ユーザにより操作部4が操作されることにより、カメラ2で撮影される被写体Wの動画が録画される。本実施の形態では、録画処理時に、波形収集部60から与えられる複数の評価値(波形データ)が録画部30の波形データ記憶領域に同時に記憶される。
【0048】
記憶部40は、ハードディスク等の大容量記憶装置からなる。ユーザにより操作部4が操作されることにより、録画部30に記憶された動画データおよび波形データを含む動画ファイルが生成され、生成された動画ファイルが記憶部40に記憶される。また、記憶部40には、本実施の形態に係る動画追尾プログラムが記憶される。動画追尾プログラムの詳細は後述する。
【0049】
波形収集部60は、複数の評価値からなる波形データを収集し、収集した波形データを録画部30に与える。評価値は、例えばカメラ2により撮影される被写体Wの各フレームの画像の平均輝度値(各フレームの画像を構成する複数画素の輝度の平均値)である。この場合、波形収集部60は、カメラ2から録画部30に順次与えられる各フレームの画像データに基づいて各フレームの画像の平均輝度値を評価値として順次算出する。順次算出された複数の平均輝度値は、録画部30の波形データ記憶領域に波形データとして記憶される。この場合、複数の評価値は、複数フレームの画像データに同期して得られる。したがって、単位時間当たりの複数の評価値の数は単位時間当たりの複数フレームの画像データの数に等しい。評価値は、各フレームの画像の輝度値の総和であってもよく、各フレームの画像の輝度値の総和と後続するフレームの画像の輝度値の総和との差分であってもよく、各フレーム内の輝度値の分散であってもよい。
【0050】
波形収集部60は、複数フレームの画像データの取得中におけるセンサ6の出力信号の値を評価値として取得してもよい。この場合、複数の評価値は、複数フレームの画像データと同じ周期または異なる周期で得られる。したがって、単位時間当たりの複数の評価値の数は、単位時間当たりの複数フレームの画像データの数と必ずしも一致しない。複数の評価値が複数フレームの画像データよりも短い周期で得られる場合には、各フレームの画像データに複数の評価値が対応している。複数の評価値が複数フレームの画像データよりも長い周期で得られる場合には、各評価値が複数フレームの画像データに対応している。
【0051】
センサ6が温度センサ、距離センサ、圧力センサ、加速度センサ、または変位センサ等である場合には、測定対象物の温度、距離、圧力、加速度、または変位等の測定値が評価値として波形収集部60により順次取得され、取得された複数の評価値が録画部30の波形データ記憶領域に波形データとして記憶される。
【0052】
さらに、センサ6に代えてマイクが用いられる場合には、音声信号が評価値として波形収集部60により順次取得され、取得された複数の音声信号が録画部30の波形データ記憶領域に波形データとして記憶される。
【0053】
このように、波形データを構成する複数の評価値は、複数フレームの画像データの取得中に得られる値である。
【0054】
なお、図1において、本体部1に接続される波形収集装置7は、波形収集部60と同じ構成を有する。そのため、本体部1に波形収集装置7が接続される場合には、センサ8の出力信号の値が評価値として波形収集装置7により順次取得され、取得された複数の評価値が録画部30の波形データ記憶領域に波形データとして記憶される。
【0055】
制御部10は、例えばCPU(中央演算処理装置)、ROM(リードオンリーメモリ)およびRAMから構成される。制御部10のCPUは、ユーザによる操作部4の操作に基づいてカメラ2、照明装置3および本体部1における他の構成要素の動作を制御する。また、制御部10のCPUは、記憶部40に記憶された動画追尾プログラムをRAM上で実行する。ROMにはシステムプログラムが記憶される。
【0056】
(2)画像処理システムの基本動作
図1の画像処理システム100の基本動作について説明する。
【0057】
(2−1)撮影条件の設定
ユーザが操作部4を操作することにより、カメラ2の撮影条件が設定される。図2は、撮影条件の設定時における表示部20の表示例を示す図である。図2に示すように、撮影条件の設定時には、表示部20の画面上に画像表示領域Sa、波形表示領域Sb、条件設定領域Scおよび録画ボタンSeが表示される。
【0058】
画像表示領域Saには、ビデオメモリ50に記憶される画像データに基づく画像が表示される。波形表示領域Sbには、波形収集部60により収集される波形データに基づく波形のグラフが表示される。波形のグラフの横軸は、時間を示し、縦軸は評価値を示す。例えば、評価値が画像表示領域Saに表示される画像の平均輝度値である場合、波形表示領域Sbには、画像の平均輝度値を縦軸とし、時間を横軸とする波形のグラフが表示される。
【0059】
条件設定領域Scには、カメラ2の基本的な撮影条件が表示される。撮影条件として、例えばシャッタースピード、撮影フレームレートおよび解像度をそれぞれ設定するための複数の入力枠Sc1,Sc2,Sc3が表示される。ユーザにより操作部4を用いて入力枠Sc1,Sc2,Sc3にシャッタースピード、撮影フレームレートおよび解像度の値がそれぞれ入力される。入力枠Sc1,Sc2,Sc3にそれぞれ入力された値に基づいて、制御部10によりカメラ2のシャッタースピード、撮影フレームレートおよび解像度が設定される。
【0060】
また、本実施の形態では、例えばユーザが操作部4を操作することにより制御部10に後述の録画処理の終了タイミングの基準となるトリガ信号が与えられる。条件設定領域Scには、トリガ信号に基づく制御部10のトリガ設定のための入力枠Sc4,Sc5がさらに表示される。
【0061】
ユーザにより操作部4を用いて入力枠Sc4,Sc5に後述する総録画時間および録画終了時間の値がそれぞれ入力される。入力枠Sc4,Sc5にそれぞれ入力された値に基づいて、制御部10によりトリガ設定が行われる。トリガ設定の詳細を説明する。
【0062】
本実施の形態において、トリガ設定は、1回の録画処理により録画部30に記憶される画像データの記憶時間(以下、総録画時間と呼ぶ。)を定めるとともに、制御部10にトリガ信号が与えられた時点から録画処理が終了するまでの時間(以下、録画終了時間と呼ぶ。)を定める。
【0063】
例えば、総録画時間を30秒とし、録画終了時間を0秒としてトリガ設定が行なわれた場合には、録画が開始された後、制御部10にトリガ信号が与えられた時点で録画処理が終了する。これにより、制御部10にトリガ信号が与えられた時点の30秒前からトリガ信号が与えられた時点までの間に取得された動画データおよび波形データが録画部30に記憶される。
【0064】
一方、総録画時間を30秒とし、録画終了時間を30秒としてトリガ設定が行なわれた場合には、録画が開始された後、制御部10にトリガ信号が与えられた時点から30秒経過した時点で録画処理が終了する。これにより、録画部30には、制御部10にトリガ信号が与えられた時点から30秒経過するまでの間に取得された動画データおよび波形データが録画部30に記憶される。
【0065】
また、総録画時間を30秒とし、録画終了時間を15秒としてトリガ設定が行なわれた場合には、録画が開始された後、制御部10にトリガ信号が与えられた時点から15秒経過した時点で録画処理が終了する。これにより、録画部30には、制御部10にトリガ信号が与えられた時点の15秒前から30秒経過するまでの間に取得された動画データおよび波形データが録画部30に記憶される。
【0066】
なお、トリガ設定として上記の総録画時間が設定される代わりに、録画処理により録画部30に記憶される画像データの総フレーム数が設定されてもよい。また、トリガ設定として上記の録画終了時間が設定される代わりに、トリガ信号が与えられた時点から録画部30に記憶される画像データのフレーム数が設定されてもよい。
【0067】
PLC5から制御部10にトリガ信号が与えられてもよい。この場合、例えばPLC5に予め設定された周期で、またはPLC5に接続される外部機器の特定の動作タイミングに応答して、トリガ信号を制御部10に与えることができる。また、種々のセンサの出力信号がトリガ信号として制御部10に与えられてもよい。
【0068】
録画ボタンSeは後述する録画処理の開始のためにユーザにより操作部4を用いて操作される。
【0069】
(2−2)録画処理
図3は、録画処理中の図1の録画部30の記憶状態を示す模式図である。上述のように、録画部30には、動画データ(複数フレームの画像データ)を記憶するための動画データ記憶領域30Aおよび波形データ(複数の評価値)を記憶するための波形データ記憶領域30Bが設定されている。
【0070】
本体部1においては、図3(a)に示すように、図2の録画ボタンSeが操作されることにより、制御部10により録画処理が開始される。録画処理では、カメラ2から与えられる第1フレームの画像に対応する画像データv1が録画部30の動画データ記憶領域30Aに記憶される。また、波形収集部60から与えられる第1番目の評価値i1が録画部30の波形データ記憶領域30Bに記憶される。
【0071】
続いて、図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内で順次シフトする。
【0072】
録画処理時に動画データ記憶領域30Aに記憶される画像データの量が動画データ記憶領域30Aの記憶容量を超える場合には、動画データ記憶領域30Aに最新のフレーム(現在のフレーム)の画像データが新たに記憶されるごとに動画データ記憶領域30Aに記憶されている最も過去のフレームの画像データが削除される。
【0073】
同様に、録画処理時に波形データ記憶領域30Bに記憶される評価値の量が波形データ記憶領域30Bの記憶容量を超える場合には、波形データ記憶領域30Bに最新の評価値が新たに記憶されるごとに波形データ記憶領域30Bに記憶されている最も過去の評価値が削除される。
【0074】
図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が記憶されている。
【0075】
このように、録画処理中の動画データ記憶領域30Aおよび波形データ記憶領域30Bにおいては、いわゆるリングバッファの形式で動画データおよび波形データが順次記憶される。
【0076】
図3(c)の例では、波形データ記憶領域30Bに記憶される評価値i3〜i14は動画データ記憶領域30Aに記憶される画像データv3〜v14と一対一に対応している。上記のように、複数の評価値が複数フレームの画像データと異なる周期で得られる場合には、波形データ記憶領域30Bに記憶される評価値は動画データ記憶領域30Aに記憶される画像データと一対一に対応していない。
【0077】
図4は、録画処理中の図1の録画部30の記憶状態の他の例を示す模式図である。図4の例では、複数の評価値が複数フレームの画像データよりも短い周期で得られる。そのため、波形データ記憶領域30Bに記憶される評価値i7〜i42は動画データ記憶領域30Aに記憶される画像データv3〜v14と一対一に対応していない。連続する3つの評価値が1フレームの画像データに対応する。例えば、評価値i7,i8,i9が画像データv3に対応し、評価値i10,i11,i12が画像データv4に対応する。
【0078】
複数の評価値が複数フレームの画像データよりも長い周期で得られる場合には、各評価値が複数フレームの画像データに対応する。
【0079】
図5は、録画処理中の表示部20の表示例を示す図である。図5に示すように、録画処理時には図2の録画ボタンSeに代えて、表示部20にトリガボタンSfが表示される。
【0080】
ユーザにより操作部4を用いてトリガボタンSfが操作されると、制御部10にトリガ信号が与えられる。それにより、上述のように、トリガ設定に基づくタイミングで録画処理が終了する。
【0081】
(2−3)ファイル記憶処理
図6は、録画処理終了時の表示部20の表示例を示す図である。図6に示すように、録画終了時には図5のトリガボタンSfに代えて、表示部20にファイルボタンSjおよび再生ボタンSgが表示される。
【0082】
ユーザにより操作部4を用いてファイルボタンSjが操作されることにより、制御部10によりファイル記憶処理が行なわれる。ファイル記憶処理では、録画部30に記憶されている動画データおよび波形データを含む動画ファイルが生成され、生成された動画ファイルが図1の記憶部40に記憶される。
【0083】
図7は、ファイル記憶処理により記憶部40に記憶される動画ファイルの模式図である。
【0084】
例えば図3の録画部30の動画データ記憶領域30Aに画像データv1〜v12が記憶され、波形データ記憶領域30Bに評価値i1〜i12が記憶されている状態でファイル記憶処理が行われる。この場合、図7に示すように、画像データv1〜v12および評価値i1〜i12、ならびにファイル情報fiを含む動画ファイルFAが生成され、生成された動画ファイルFAが記憶部40に記憶される。
【0085】
なお、ファイル情報fiには、例えばファイル名およびデータの保存形式を示す情報等が含まれる。上記の録画処理およびファイル記憶処理が繰り返されることにより、図1の記憶部40内に複数の動画ファイルFA,FB,FC,FDが記憶される。
【0086】
(2−4)再生処理
次に、再生処理について説明する。再生処理とは、カメラ2から順次与えられる複数フレームの画像データ、録画部30に記憶される複数フレームの画像データまたは記憶部40に記憶される動画ファイル中の複数フレームの画像データのうち任意の連続する複数フレームの画像データに基づいて表示部20に動画を表示することをいう。
【0087】
まず、記憶部40に記憶された動画ファイル中の画像データに基づく画像の再生処理について説明する。
【0088】
記憶部40に記憶された複数の動画ファイルにそれぞれ対応するアイコンが図1の表示部20に表示される。この場合、ユーザは、操作部4を用いて表示部20に表示される複数のアイコンのいずれかを選択することにより、記憶部40に記憶された複数の動画ファイルのうち選択された動画ファイルの動画データを再生対象として選択することができる。
【0089】
図8は、再生処理時の表示部20の表示例を示す図である。図7に示すように、例えばユーザにより操作部4を用いて1つの動画ファイルが選択されると、図1の表示部20には、図6の表示例と同様に、画像表示領域Sa、波形表示領域Sb、条件設定領域Scおよび再生ボタンSgが表示されるとともに、図6のファイルボタンSjに代えて追尾ボタンSyが表示される。
【0090】
ユーザにより操作部4を用いて再生ボタンSgが操作されると、制御部10により再生処理が開始される。再生処理では、制御部10は、記憶部40内の選択された動画ファイル中の複数フレームの画像データをビデオメモリ50に順次記憶させる。それにより、ビデオメモリ50に順次記憶される画像データに基づく画像が画像表示領域Saに表示される。このようにして、選択された動画ファイルに基づいて動画が再生される。また、制御部10は、記憶部40内の選択された動画ファイル中の波形データをビデオメモリ50に記憶させる。それにより、波形データに基づく波形のグラフが波形表示領域Sbに表示される。
【0091】
この場合、制御部10は、波形表示領域Sbの波形のグラフ上で、画像表示領域Saに現在表示される画像のフレームに対応する評価値(以下、対応評価値と呼ぶ。)の位置に現在表示位置バーLを表示させる。画像表示領域Saに表示される画像のフレームが変化することにより対応評価値が変化すると、制御部10は、現在表示位置バーLを時間軸上で左右に移動させる。
【0092】
次に、録画処理の前の再生処理について説明する。録画処理の前には、制御部10は、カメラ2から与えられる複数フレームの画像データをビデオメモリ50に順次記憶させる。それにより、複数フレームの画像データに基づく画像が図2の画像表示領域Saに表示される。このようにして、カメラ2により撮影される被写体の動画が再生される。また、制御部10は、波形収集部60から与えられる波形データをビデオメモリ50に記憶させる。それにより、波形データに基づく波形のグラフが波形表示領域Sbに表示される。
【0093】
さらに、録画処理終了時に録画部30に記憶される画像データに基づく画像の再生処理について説明する。録画処理後に、ユーザにより操作部4を用いて図6の再生ボタンSgが操作されると、制御部10は、録画部30内の複数フレームの画像データをビデオメモリ50に順次記憶させる。それにより、ビデオメモリ50に順次記憶される画像データに基づく画像が画像表示領域Saに表示される。このようにして、録画部30に記憶される動画データに基づいて動画が再生される。また、制御部10は、録画部30に記憶される波形データをビデオメモリ50に記憶させる。それにより、波形データに基づく波形のグラフが波形表示領域Sbに表示される。
【0094】
(3)動画追尾装置
動画追尾装置は、図1の操作部4、制御部10、表示部20、記憶部40およびビデオメモリ50により構成される。動画追尾装置は、表示部20に表示される動画中の指定された追尾対象を追尾し、追尾結果を表示部20に表示する追尾処理を行う。記憶部40には、追尾処理を行うための動画追尾プログラムが記憶される。
【0095】
ユーザにより操作部4を用いて図8の追尾ボタンSyが操作されることにより、追尾処理を実行するための追尾モードが起動される。
【0096】
図9は、追尾処理の実行開始時における表示部20の表示例を示す図である。図9に示すように、追尾処理の実行開始時には、表示部20の画面上に主に画像表示領域Ta、再生ボタンTc、一時停止ボタンTd、逆再生ボタンTe、シークバーTfおよび追尾開始ボタンThが表示される。
【0097】
画像表示領域Taには、ユーザにより操作部4を用いて選択された動画ファイルに基づく動画が表示される。
【0098】
シークバーTfには、さらに始点表示カーソルTlおよび終点表示カーソルTmが表示される。始点表示カーソルTlおよび終点表示カーソルTmは、動画を構成する複数フレームの画像のうち表示領域Taに表示可能な画像の範囲を指定するために用いられる。始点表示カーソルTlおよび終点表示カーソルTmの位置は、動画ファイル中のフレームにそれぞれ対応する。画像表示領域Taには、始点表示カーソルTlの位置に対応するフレームの画像から終点表示カーソルTmの位置に対応するフレームの画像を動画として表示することができる。
【0099】
図10は、画像表示領域Taに表示される動画の一例を示す図である。ここで、ユーザにより選択された動画ファイルは、複数フレームの画像データv1〜v20を含むものとする。図10においては、時間軸は各段の左から右へ延び、各段の右端から下段の左端へつながる。後述する図12および図14の時間軸も図10と同様である。
【0100】
まず、図10の1段目の左から右へ順に示されるように、複数フレームの画像データv1〜v5に基づく複数の画像V1〜V5が画像表示領域Taに順に表示される。次に、図10の2段目の左から右へ順に示されるように、複数フレームの画像データv6〜v10に基づく複数の画像V6〜V10が画像表示領域Taに順に表示される。次に、図10の3段目の左から右へ順に示されるように、複数フレームの画像データv11〜v15に基づく複数の画像V11〜V15が画像表示領域Taに順に表示される。さらに、図10の4段目の左から右へ順に示されるように、複数フレームの画像データv16〜v20に基づく複数の画像V16〜V20が画像表示領域Taに順に表示される。
【0101】
図10の画像V1〜V20は、図1のカメラ2により撮影された回転する円柱状の物体Mを示す。カメラ2により撮影される物体Mの一面側には、2つの突起M1,M2が形成されている。
【0102】
ユーザが図1の操作部4を用いて図9の再生ボタンTcを操作することにより、図10のように複数フレームの画像V1〜V20が画像表示領域Taに表示される。このようにして動画が再生される。
【0103】
また、ユーザが図9の逆再生ボタンTeを操作することにより、現時点で表示されている画像から時間軸上で再生時と逆方向に複数フレームの画像が画像表示領域Taに順次表示(以下、逆再生と呼ぶ。)される。
【0104】
動画の再生中または逆再生中にユーザが一時停止ボタンTdを操作することにより、画像表示領域Taに画像が表示された状態で、動画の再生または逆再生が一時停止する。また、ユーザが再生ボタンTcを操作し続けることにより、操作が解除されるまで動画が高速で再生される。ユーザが逆再生ボタンTeを操作し続けることにより、操作が解除されるまで動画が高速で逆再生される。
【0105】
シークバーTfは、水平方向に移動可能なスライダTgを有する。スライダTgは、動画において現時点で画像表示領域Taに表示されている画像の時間軸上の位置を示す。動画の再生が進むにつれて、スライダTgがシークバーTf上で一方向(本例では、表示部20の画面の左から右)に移動する。同様に、動画の逆再生が進むにつれて、スライダTgがシークバーTf上で他方向(本例では、表示部20の画面の右から左)に移動する。ユーザは、操作部4を用いてシークバーTfのスライダTgを移動させることにより、画像表示領域Taに動画中の所望のフレームの画像を表示させることができる。それにより、所望の画像V1〜V20から動画の再生または逆再生を行うことができる。
【0106】
ユーザが後述する操作により画像表示領域Taに表示される画像中の追尾対象を指定し、追尾開始ボタンThを操作することにより、追尾対象の追尾動作が開始される。図11は、追尾対象の追尾動作時における表示部20の表示例を示す図である。図11に示すように、表示部20の画面上には、図9の追尾開始ボタンThに代えて追尾停止ボタンTiが表示される。
【0107】
図12は、追尾対象の追尾動作時の画像表示領域Taに表示される動画の一例を示す図である。画像表示領域Taには、画像V1〜V20が順次表示される。図12の例では、物体Mの一方の突起M1が追尾対象として指定されている。図12に示すように、画像表示領域Taに表示される各画像上に、現フレームの画像における追尾結果を示すシンボルSおよび以前のフレームの画像における追尾結果を示すシンボルSが表示される。本例では、追尾結果を示すシンボルSは三角形状を有する。
【0108】
なお、図11の画像表示領域Taには、第3フレームの画像V3が示されている。この状態ではユーザが追尾停止ボタンTiを操作すると、追尾動作実行中の画像(図11の例では第3フレームの画像V3)および以前のフレームの画像(図11の例では第1および第2フレームの画像V1,V2)の追尾結果を示すシンボルSが表示された状態で、追尾対象の追尾動作が一時停止する。
【0109】
図13は、追尾対象の追尾動作終了時における表示部20の表示例を示す図である。動画ファイルの最終フレームの画像V20における追尾対象の追尾動作が終了すると、図13に示すように、表示部20の画面上には、図9の追尾開始ボタンThに代えて追尾再開ボタンTjが表示されるとともに、主に終了ボタンTkがさらに表示される。画像表示領域Taには、最終フレームの画像V20が表示されるとともに、画像V20上にすべてのフレームの画像V1〜V20における追尾結果を示す複数のシンボルSが表示される。複数のシンボルSが動画中で移動する追尾対象の軌跡を示す。
【0110】
この状態で、ユーザは、逆再生ボタンTeおよび追尾再開ボタンTjを操作することにより、動画ファイルの所望のフレームの画像から順に追尾対象の追尾動作を再度実行させることができる。
【0111】
また、追尾動作実行中にユーザが図11の追尾停止ボタンTiを操作した場合にも、図13の追尾動作終了時と同様に、表示部20に追尾再開ボタンTjが表示されるとともに、主に終了ボタンTkがさらに表示される。この場合、ユーザは、追尾再開ボタンTjを操作することにより、追尾対象の追尾動作を続行することができる。
【0112】
ユーザが終了ボタンTkを操作した場合、図1の制御部10は、図13の画像表示領域Taに表示されている複数のシンボルSの位置を示す位置データを追尾結果として図1の記憶部40に記憶させ、追尾処理を終了する。
【0113】
図14は、追尾対象の追尾が失敗したときの画像表示領域Taに表示される動画の一例を示す図である。画像表示領域Taには、画像V1〜V20が順次表示される。
【0114】
図14の例では、第1〜第3フレームの画像V1〜V3においては、追尾対象である突起M1が正確に追尾されている。それにより、追尾結果を示すシンボルSが突起M1上に表示されている。第4フレームの画像V4において、追尾対象である突起M1とは異なる部分が追尾されている。それにより、画像V4上において、追尾結果を示すシンボルSが追尾対象である突起M1とは異なる位置に表示されている。その結果、以降の第5フレームから最終フレームの画像V5〜V20において、追尾対象である突起M1とは異なる部分が追尾され、追尾結果を示すシンボルSが追尾対象である突起M1とは異なる位置に表示されている。
【0115】
このような場合、ユーザは、後述するように、動画を逆再生し、追尾対象の追尾に失敗したフレームの画像V4から追尾動作を再開させることができる。
【0116】
(4)追尾対象の追尾処理
図15、図16および図17は、動画追尾装置における動画中の追尾対象の追尾処理を示すフローチャートである。図18、図19および図20は、追尾対象の追尾処理の実行中に画像表示領域Taに表示される画像の遷移を示す図である。図21は、追尾処理実行中に制御部10のRAM10aに記憶されるデータを示す図である。制御部10のCPUは、記憶部40に記憶される追尾処理プログラムに従って追尾処理を実行する。以下、図15〜図21を用いて制御部10のCPU(以下、制御部10と略記する。)による追尾対象の追尾処理を説明する。
【0117】
図9の表示の状態で、ユーザが操作部4を用いて図1の記憶部40に記憶された複数の動画ファイルのうちいずれかを選択する。それにより、制御部10は、選択された動画ファイル中の複数フレームの画像データを読み出す(ステップS1)。この場合、読み出された複数フレームの画像データは図21のRAM10aに記憶される。
【0118】
ユーザは、操作部4を用いて始点表示カーソルTlおよび終点表示カーソルTmを移動させることにより、動画ファイル中の複数フレームの画像データに基づく画像のうち任意の画像の範囲を指定することができる。
【0119】
動画を構成する複数フレームの画像のうち途中の画像から追尾対象が出現し、または途中の画像で追尾対象が消滅する場合がある。このような場合、ユーザは、始点表示カーソルTlを追尾対象が出現する画像が表示される位置に設定し、終点表示カーソルTmを追尾対象が消滅する画像が表示される位置に設定することができる。それにより、追尾対象が存在する画像のみにおいて追尾を行うことができる。本例では、全ての画像V1〜V20に追尾対象が出現しているので、図9に点線の矢印で示すように、始点表示カーソルTlは第1フレームの画像V1に対応する位置に設定され、終点表示カーソルTmは最終フレームの画像V20に対応する位置に設定される。したがって、第1フレームから最終フレームの画像データv1〜v20が読み出される。
【0120】
次に、制御部10は、RAM10aに記憶された画像データv1〜v20に基づく画像V1〜V20のうちユーザにより指定された画像(以下、初期画像と呼ぶ。)を、図1のビデオメモリ50を介して画像表示領域Taに表示する(ステップS2)。
【0121】
初期状態では、RAM10aに記憶された第1フレームの画像データv1に基づく画像V1が初期画像として画像表示領域Taに表示される。ユーザは、シークバーTf上でスライダTgを移動させることにより、または再生ボタンTcを操作することにより、初期画像を指定することができる。また、後述するように、追尾処理を再開させる場合には、ユーザにより指定された画像が初期画像として画像表示領域Taに表示される。
【0122】
本例では、図18(a)に示すように、第1フレームの画像データv1に基づく画像V1が初期画像として表示される。
【0123】
次に、制御部10は、ユーザにより操作部4を用いて画像表示領域Ta内の任意の位置が指定されたか否かを判定する(ステップS3)。ユーザにより画像表示領域Ta内の位置が指定されていない場合、制御部10は、ステップS2の処理に戻る。図18(b)に示すように、ユーザにより矢印のポインタで画像表示領域Ta内の位置が指定された場合、制御部10は、指定された位置に基づいて画像上でのシンボルS、テンプレートTおよび探索範囲Rの位置を決定する(ステップS4)。
【0124】
本例において、図18(c)に示すように、シンボルSは三角形状を有し、テンプレートTおよび探索範囲Rは、矩形状を有する。探索範囲Rのサイズは、テンプレートTのサイズよりも大きい。シンボルSの位置はユーザにより指定された位置に一致する。テンプレートTおよび探索範囲Rの中心は、シンボルSの位置に一致する。探索範囲RはテンプレートTを取り囲むように位置する。後述するように、テンプレートT内の画像が追尾対象画像として設定される。探索範囲Rは、次フレームの画像において追尾対象を探索する範囲を示す。シンボルSは、追尾対象が存在する位置を示す。
【0125】
続いて、制御部10は、決定されたシンボルSの位置を示す位置データs1、テンプレートTの位置を示す位置データtdおよび探索範囲Rの位置を示す位置データrdを図21に示すRAM10aに保存する(ステップS5)。また、制御部10は、RAM10aに記憶された位置データs1,td,rdに基づいて、画像表示領域TaにテンプレートT、シンボルSおよび探索範囲Rを表示する(ステップS6)。本例においては、図18(d)に示すように、追尾対象である物体Mの一方の突起M1上にシンボルSが表示される。また、シンボルSを取り囲むようにテンプレートTが表示され、テンプレートTを取り囲むように探索範囲Rが表示される。
【0126】
なお、シンボルSの形状、テンプレートTのサイズおよび探索範囲Rのサイズは、ユーザにより操作部4を用いて予め設定される。
【0127】
制御部10は、ユーザによる操作部4の操作に基づいて、画像表示領域Ta内でシンボルSを移動させることができる。この場合、シンボルSの移動に伴って、テンプレートTおよび探索範囲Rも移動する。また、制御部10は、ユーザによる操作部4の操作に基づいて、テンプレートTまたは探索範囲Rのサイズを変更することができる。ユーザは、シンボルSの位置ならびにテンプレートTおよび探索範囲Rのサイズを調整することにより、追尾対象の画像の範囲および次フレームの画像において追尾対象を探索する範囲を適切に設定することができる。
【0128】
さらに、制御部10は、ユーザによる操作部4の操作に基づいて、同様の処理により、画像表示領域Taの任意の位置に上記のシンボルS、テンプレートTおよび探索範囲Rとは異なる別のシンボル、テンプレートおよび探索範囲を表示することができる。これにより、ユーザは、初期画像中に複数の追尾対象を設定することができる。
【0129】
次に、制御部10は、追尾動作の実行が指示されたか否かを判定する(ステップS7)。ここで、制御部10は、ユーザが操作部4を用いて図9の追尾開始ボタンThまたは図13の追尾再開ボタンTjを操作したことを検出した場合、追尾動作の実行が指示されたと判定する。制御部10は、追尾動作の実行が指示されない場合にはステップS2の処理に戻る。
【0130】
制御部10は、追尾動作の実行が指示された場合、テンプレートT内の画像を基準画像データReとしてRAM10aに記憶させる(ステップS8)。本例では、この時点で、制御部10は、画像表示領域TaからテンプレートTおよび探索範囲Rの表示を消去する。
【0131】
続いて、制御部10は、画像表示領域Taに次フレームの画像と以前のフレームの画像に対応するシンボルSとを表示する(ステップS9)。本例では、図18(e)に示すように、制御部10は、第2フレームの画像V2上に第1フレームの画像V1に対応するシンボルSが表示される。
【0132】
ここで、制御部10は、RAM10aに記憶された基準画像データReに基づいて、現フレームの画像の探索範囲R内の追尾対象の位置を識別する(ステップS10)。本例では、図18(e)に示された第2フレームの画像V2の突起M1が探索範囲R内で探索される。この場合、画像データv2のうち探索範囲Rに対応する部分のデータと基準画像データReとのパターンマッチングにより突起M1の位置が識別される。
【0133】
続いて、制御部10は、識別された追尾対象の位置を新たなシンボルSの位置として決定する(ステップS11)。また、制御部10は、新たなシンボルSの位置を示す位置データs2をRAM10aに記憶させる(ステップS12)。
【0134】
次いで、制御部10は、決定された新たなシンボルSの位置に基づいて探索範囲Rの位置を再決定する(ステップS13)。この場合、探索範囲Rの中心が新たなシンボルSの位置に一致するように、探索範囲Rの位置が再決定される。制御部10は、再決定された探索範囲Rの位置に基づいてRAM10aに記憶される位置データrdを更新する(ステップS14)。本例では、図18(f)に示すように、第2フレームの画像V2上で新たなシンボルSを中心として探索範囲Rが移動する。
【0135】
次に、制御部10は、RAM10aに記憶された新たな位置データs2に基づいて画像表示領域Taに新たなシンボルSを表示する(ステップS15)。本例では、図19(a)に示すように、第2フレームの画像V2上に第1フレームの画像V1に対応するシンボルSおよび第2フレームの画像V2に対応するシンボルSが表示される。
【0136】
次に、制御部10は、画像表示領域Taに指定された複数フレームの画像V1〜V20のうち最終フレームの画像V20が表示されているか否かを判定する(ステップS16)。
【0137】
画像表示領域Taに最終フレームの画像V20が表示されていない場合、制御部10は、一時停止が指示されたか否かを判定する(ステップS17)。例えば、ユーザは、追尾動作の実行中に追尾が失敗したことに気付いた場合、操作部4を用いて図10の追尾停止ボタンTiを操作する。追尾停止ボタンTiが操作されたことを検出した場合、制御部10は、一時停止が指示されたと判定する。
【0138】
一時停止が指示されていない場合には、制御部10は、ステップS9に戻り、ステップS9〜S16の処理を繰り返し実行する。本例では、図19(b)に示すように、画像表示領域Taに第3フレームの画像V3が表示されるとともに、画像V3上に第1および第2フレームに対応するシンボルSが表示される。第3フレームの画像V3において探索範囲R内で追尾対象の位置が識別される。それにより、図19(c)に示すように、識別された追尾対象の位置が新たなシンボルSの位置として決定され、新たなシンボルSの位置を示す位置データs3がRAM10aに記憶される。また、新たなシンボルSの位置に基づいて探索範囲Rの位置が再決定され、再決定された探索範囲Rの位置に基づいてRAM10aに記憶される位置データrdが更新される。次いで、図19(d)に示すように、RAM10aに記憶される位置データs3に基づいて第3フレームの画像V3上に新たなシンボルSが表示される。
【0139】
ステップS16において画像表示領域Taに最終フレームの画像V20が表示されている場合またはステップS17において一時停止が指示された場合には、制御部10は、追尾動作の終了が指示されたか否かを判定する(ステップS18)。例えば、図19(e)に示すように、ユーザは、画像表示領域Taに表示される最終フレームの画像V20まで正確な追尾が行われたと判断した場合、操作部4を用いて図13の終了ボタンTkを操作する。制御部10は、終了ボタンTkが操作されたことを検出した場合、追尾動作の終了が指示されたと判定する。この場合、制御部10は、RAM10aに記憶されるシンボルSの位置データs1〜s20を追尾結果として図1の記憶部40に記憶させ(ステップS19)、追尾処理を終了する。
【0140】
一方、ステップS18において追尾動作の終了が指示されていない場合には、制御部10は、ステップS2の処理に戻る。例えば、図20(a)に示すように、全ての画像V1〜V20における追尾動作の実行後、または、図20(b)に示すように、追尾動作の実行中に、追尾が失敗したことに気付いた場合、ユーザは図13の終了ボタンTkを操作しない。
【0141】
本例においては、図20(c)に示すように、第4フレームの画像V4で追尾対象の追尾が失敗している。この場合、図20(d)に示すように、ユーザは、操作部4を用いて図13の逆再生ボタンTeまたはシークバーTfのスライダTgを操作することにより、画像表示領域Taに追尾が失敗する前のフレームの画像V3を初期画像として指定することができる。
【0142】
制御部10は、ユーザによる操作部4の操作に基づいて、第3フレームの画像データv3に基づく画像V3を初期画像として画像表示領域Taに表示する(ステップS2)。ユーザは、第3フレームの画像V3の位置を指定する。これにより、制御部10は、ステップS2〜S18の処理を繰り返す。第3フレームの画像V3から後続するフレームの画像において再度追尾対象の追尾動作が実行される。
【0143】
その結果、図20(e)および図20(f)に示すように、第4フレームから最終フレームの画像V4〜V20において追尾対象である物体Mの突起M1上に追尾結果を示すシンボルSが表示される。追尾結果を示す複数のシンボルSにより、動画中の追尾対象の軌跡が表示される。
【0144】
(5)効果
本実施の形態に係る動画追尾装置においては、記憶部40に記憶された複数フレームの画像のうち一の画像が初期画像として表示部20に表示される。操作部4により初期画像内でテンプレートTおよび探索範囲Rが設定されかつ再生ボタンTcが操作された場合、初期画像以降のフレームの画像について追尾動作が実行される。
【0145】
追尾動作においては、表示部20に複数フレームの画像が順に表示される。表示される各画像において操作部4により設定された探索範囲R内で追尾対象の位置が識別されるとともに識別された位置にシンボルSが表示される。
【0146】
追尾動作の停止または終了後に、操作部4により複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合、新たな初期画像が表示部20に表示される。また、操作部4により新たな初期画像内でテンプレートTまたは探索範囲Rが再設定されかつ追尾再開ボタンTjが操作された場合、新たな初期画像以降のフレームの画像について追尾動作が実行される。
【0147】
追尾動作の実行中に追尾対象の追尾が失敗した場合、追尾動作の停止または終了後に、逆再生ボタンTeまたはシークバーTfを操作することにより、所望のフレームの画像を新たな初期画像として表示することができる。
【0148】
逆再生ボタンTeを操作する場合には、ユーザは、各フレームの画像およびシンボルSを見ながら、追尾が最初に失敗したフレームの画像を容易に見つけることができる。これにより、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像から追尾動作を容易に再開することができる。
【0149】
また、シークバーTfを操作する場合には、ユーザは、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像を迅速に初期画像として表示させることができる。これにより、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像から追尾動作を迅速に再開することができる。
【0150】
その結果、追尾が成功した画像の追尾結果を保持しつつ、追尾が失敗した画像について追尾動作を再開することができる。
【0151】
また、新たな初期画像においてテンプレートTまたは探索範囲Rを再設定することができるので、再開時の追尾動作においては以前の追尾動作における追尾の失敗を繰り返すことを防止することができる。それにより、再開された追尾動作において各画像についての追尾が成功する確率が高くなる。したがって、追尾動作の全体の実行時間が短縮される。その結果、効率よく正確な追尾結果を得ることが可能になる。
【0152】
(6)他の実施の形態
(6−1)図22は、他の実施の形態に係る動画追尾装置における動画中の追尾対象の追尾処理を示すフローチャートである。本実施の形態では、図22に示すように、追尾対象の追尾処理において、図16のステップS10の後に、識別された追尾対象の位置の正確度を算出する(ステップS10a)。正確度は、例えば、識別された位置での画像データと基準画像データとの一致度である。
【0153】
一致度は、例えば、識別された位置での画像部分を構成する複数画素の値とテンプレートTを構成する複数画素の値との一致数である。この場合、一致数が多いほど正確度が高くなる。また、一致度は、識別された位置での画像部分を構成する複数画素の値とテンプレートTを構成する複数画素の値との差分値の合計であってもよい。この場合、差分値の合計が小さいほど正確度が高くなる。さらに、一致度は、識別された位置での画像部分を構成する複数画素の値とテンプレートTを構成する複数画素の値との相関値であってもよい。この場合、相関値が1に近いほど正確度が高くなる。
【0154】
その後、制御部10は、算出された正確度と予め定められたしきい値とを比較する(ステップS10b)。正確度がしきい値以下である場合、制御部10は、追尾動作を一時停止し(ステップS10c)、ステップS18の処理に移る。一方、ステップS10bにおいて、正確度がしきい値を超えている場合、制御部10はステップS11以降の処理を続行する。
【0155】
この場合、追尾が失敗した時点で正確度がしきい値以下になることにより追尾動作が自動的に停止する。これにより、各フレームの画像の追尾対象に対する追尾結果が正確である場合には追尾が続行され、追尾結果が正確でない場合には追尾が停止される。したがって、ユーザに追尾結果の確認またはテンプレートおよび探索範囲の設定の修正を促すことができる。その結果、追尾が失敗した最初のフレームの画像または追尾が失敗した直前のフレームの画像から追尾動作を容易に再開することができる。
【0156】
図22において、ステップS10a〜S10cの処理は、ステップS10,S11間で実行されるが、これに限定されない。ステップS10a〜S10cの処理は、ステップS10,S11間、ステップS11,S12間、ステップS12,S13間、ステップS13,S14間、ステップS14,S15間およびステップS15,S16間のいずれかで実行されてもよい。
【0157】
(6−2)制御部10は、ステップS19において、追尾結果を記憶して追尾処理を終了するが、これに限定されない。ユーザが追尾結果の記憶を選択しない場合、制御部10は追尾結果を記憶せずに追尾処理を終了してもよい。
【0158】
(7)請求項の各構成要素と実施の形態の各部との対応関係
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。
【0159】
画像V1〜V20が画像の例であり、画像データv1〜v20が画像データの例であり、画像処理システム100が動画追尾装置の例であり、記憶部40が記憶部の例であり、表示部20が表示部の例であり、操作部4が操作部の例であり、制御部10が制御部または処理装置の例である。テンプレートTが追尾条件および初期画像内での追尾対象の画像部分の範囲の例であり、探索範囲Rが追尾条件および各フレームの画像内で追尾対象を探索する範囲の例であり、シンボルSがシンボルの例である。逆再生ボタンTeの機能が逆再生の機能の例であり、シークバーTfが選択部の例である。
【0160】
請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることもできる。
【産業上の利用可能性】
【0161】
本発明は、種々の画像処理システム、画像処理方法および画像処理プログラムに有効に利用することができる。
【符号の説明】
【0162】
1 本体部
2 カメラ
3 照明装置
4 操作部
5 PLC
6,8 センサ
7 波形収集装置
10 制御部
10a RAM
20 表示部
30 録画部
30A 動画データ記憶領域
30B 波形データ記憶領域
40 記憶部
50 ビデオメモリ
60 波形収集部
100 画像処理システム
BS バス
FA〜FD 動画ファイル
fi ファイル情報
i1〜i42 評価値
L 現在表示位置バー
M 物体
M1,M2 突起
rd,s1〜s20,td 位置データ
R 探索範囲
Re 基準画像データ
S シンボル
Sa,Ta 画像表示領域
Sb 波形表示領域
Sc 条件設定領域
Sc1〜Sc5 入力枠
Se 録画ボタン
Sf トリガボタン
Sg,Tc 再生ボタン
Sj ファイルボタン
Sy 追尾ボタン
T テンプレート
Td 一時停止ボタン
Te 逆再生ボタン
Tf シークバー
Tg スライダ
Th 追尾開始ボタン
Ti 追尾停止ボタン
Tj 追尾再開ボタン
Tk 終了ボタン
Tl 始点表示カーソル
Tm 終点表示カーソル
v1〜v20 画像データ
V1〜V20 画像
W 被写体

【特許請求の範囲】
【請求項1】
複数フレームの画像により構成される動画中の追尾対象を追尾する動画追尾装置であって、
前記複数フレームの画像を表示するための複数フレームの画像データを記憶する記憶部と、
前記記憶部に記憶される各フレームの画像データに基づいて画像を表示する表示部と、
前記表示部に表示される画像内での追尾対象の追尾条件の設定および追尾対象の追尾に関する指示を行なうためにユーザにより操作される操作部と、
前記表示部に複数フレームの画像を順に表示させ、前記表示される各画像において前記操作部により設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる追尾動作を実行する制御部とを備え、
前記制御部は、前記複数フレームの画像のうち一の画像を初期画像として前記表示部に表示させ、前記操作部により前記初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合に、前記初期画像以降のフレームの画像について前記追尾動作を実行し、前記追尾動作の停止または終了後に、前記操作部により前記複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合に、前記新たな初期画像を前記表示部に表示させ、前記操作部により前記新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、前記新たな初期画像以降のフレームの画像について前記追尾動作を実行することを特徴とする動画追尾装置。
【請求項2】
前記制御部は、前記表示部に現在表示される画像において識別された追尾対象の位置と、前記表示部に現在表示される画像よりも以前のフレームの画像において識別された追尾対象の位置とに前記シンボルをそれぞれ表示させ、前記新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、前記表示部に現在表示される画像において識別された追尾対象の位置と、前記新たな初期画像よりも以後でかつ前記表示部に現在表示される画像よりも以前のフレームの画像において識別された追尾対象の位置と、前記新たな初期画像よりも以前のフレームの画像において識別された追尾対象の位置とに前記シンボルをそれぞれ表示させることを特徴とする請求項1記載の動画追尾装置。
【請求項3】
前記追尾条件は、前記初期画像内での追尾対象の画像部分の範囲および各フレームの画像内で追尾対象を探索する範囲のうち少なくとも一方を含むことを特徴とする請求項1または2記載の動画追尾装置。
【請求項4】
前記制御部は、複数フレームの画像を追尾動作時とは逆の時間順で前記表示部に表示させる逆再生の機能を有し、
前記操作部は、前記追尾動作の停止または終了後に、前記逆再生を指示することにより前記新たな初期画像の表示を指示可能であることを特徴とする請求項1〜3のいずれかに記載の動画追尾装置。
【請求項5】
前記制御部は、前記表示部に表示させる画像を選択するための選択部を前記表示部に表示させ、
前記操作部は、前記表示部に表示された前記選択部を操作することにより前記新たな初期画像の表示を指示可能であることを特徴とする請求項1〜4のいずれかに記載の動画追尾装置。
【請求項6】
前記制御部は、前記追尾動作の実行中に各画像について追尾対象の位置の識別結果の正確度を評価し、正確度が予め定められたしきい値以下になったときに前記追尾動作を停止することを特徴とする請求項1〜5のいずれかに記載の動画追尾装置。
【請求項7】
複数フレームの画像により構成される動画中の追尾対象を追尾する動画追尾方法であって、
前記複数フレームの画像を表示するための複数フレームの画像データを記憶するステップと、
前記記憶された複数フレームの画像データに基づいて複数フレームの画像のうち一の画像を初期画像として表示部に表示させるステップと、
前記初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合に、前記記憶された複数フレームの画像データに基づいて前記初期画像以降のフレームの画像を前記表示部に順に表示させ、前記表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第1の追尾動作を実行するステップと、
前記第1の追尾動作の停止または終了後に、前記複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合に、前記記憶された複数フレームの画像データに基づいて前記新たな初期画像を前記表示部に表示させるステップと、
前記新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、前記記憶された複数フレームの画像データに基づいて前記新たな初期画像以降のフレームの画像を前記表示部に順に表示させ、前記表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第2の追尾動作を実行するステップとを含むことを特徴とする動画追尾方法。
【請求項8】
複数フレームの画像により構成される動画中の追尾対象を追尾する追尾処理を処理装置に実行させる動画追尾プログラムあって、
前記複数フレームの画像を表示するための複数フレームの画像データを記憶する処理と、
前記記憶された複数フレームの画像データに基づいて複数フレームの画像のうち一の画像を初期画像として前記表示部に表示させる処理と、
前記初期画像内で追尾条件が設定されかつ追尾の開始が指示された場合に、前記記憶された複数フレームの画像データに基づいて前記初期画像以降のフレームの画像を前記表示部に順に表示させ、前記表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第1の追尾動作を実行する処理と、
前記第1の追尾動作の停止または終了後に、前記複数フレームの画像のうちいずれかの画像を新たな初期画像として表示することが指示された場合に、前記記憶された複数フレームの画像データに基づいて前記新たな初期画像を前記表示部に表示させる処理と、
前記新たな初期画像内で追尾条件が再設定されかつ追尾の開始が指示された場合に、前記記憶された複数フレームの画像データに基づいて前記新たな初期画像以降のフレームの画像を前記表示部に順に表示させ、前記表示される各画像において設定された追尾条件で追尾対象の位置を識別するとともに識別された位置にシンボルを表示させる第2の追尾動作を実行する処理とを、
前記処理装置に実行させることを特徴とする動画追尾プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2012−99975(P2012−99975A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−244704(P2010−244704)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000129253)株式会社キーエンス (681)
【Fターム(参考)】