以下に、図面を参照しながら、本発明に係る画像処理装置、画像処理システム、画像処理方法およびプログラムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
[第1の実施の形態]
(画像処理システムの全体構成)
図1は、第1の実施の形態に係る画像処理システムの全体構成の一例を示す図である。図1を参照しながら、本実施の形態の画像処理システム1の全体構成について説明する。
図1に示すように、本実施の形態の画像処理システム1は、撮像装置2a〜2fと、情報処理装置3と、ネットワーク4と、を含む。
撮像装置2a〜2fは、被写体から光を電気信号に変換することによって被写体を撮像(撮影)し、複数のフレーム(画像データ)で構成された動画(例えば、10[FPS])である映像データを生成するビデオカメラである。例えば、撮像装置2a〜2fは、製品を生産する生産設備等を撮像し、製造物であるワークに対する異常を検知するための映像データを生成する。
なお、撮像装置2a〜2fを区別なく呼称する場合、または総称する場合、単に「撮像装置2」というものとする。また、図1では、画像処理システム1は、6台の撮像装置2を含む構成となっているが、これに限定されるものではなく、他の台数の撮像装置2を含む構成であってもよい。
情報処理装置3は、撮像装置2によって撮像された映像データに基づいて画像判定を実行する画像処理装置として機能するPC(Personal Computer)またワークステーション等である。また、情報処理装置3は、生産設備等の外部機器10と、例えば、フィールドバス規格による通信が可能なように接続している。情報処理装置3による映像データに基づく画像判定処理については、後述する。
ネットワーク4は、撮像装置2a〜2fと、情報処理装置3とを接続するための、例えば、Ethernet(登録商標)規格のネットワークである。この場合、ネットワーク4では、TCP(Transmission Control Protocol)/IP(Internet Protocol)等のプロトコルによりデータ通信が行われる。また、この場合、撮像装置2a〜2fおよび情報処理装置3は、TCP/IPのプロトコルにより通信するためのMACアドレスを有し、かつプライベートIPアドレス等のIPアドレスが割り当てられている。また、ネットワーク4の具体的な構成は、例えば、複数のポートを有するスイッチングハブに撮像装置2a〜2fおよび情報処理装置3それぞれがLAN(Local Area Network)ケーブルによって接続されたスター配線形式である。
なお、図1に示すネットワーク4は、TCP/IPにより通信される例を示したが、これに限定されるものではなく、例えば、情報処理装置3側にVGA(Video Graphics Array)端子またはUSB(Universal Serial Bus)ポートを複数有し、複数の撮像装置2がVGAケーブルまたはUSBケーブルで情報処理装置3に接続された形態等であってもよい。
(情報処理装置のハードウェア構成)
図2は、第1の実施の形態に係る情報処理装置のハードウェア構成の一例を示す図である。図2を参照しながら、本実施の形態の情報処理装置3のハードウェア構成について説明する。
図2に示すように、情報処理装置3は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、外部記憶装置104と、ディスプレイ105と、ネットワークI/F106と、キーボード107と、マウス108と、DVD(Digital Versatile Disc)ドライブ109と、外部機器I/F111と、を備えている。
CPU101は、情報処理装置3全体の動作を制御する装置である。ROM102は、情報処理装置3用のプログラムを記憶している不揮発性記憶装置である。RAM103は、CPU101のワークエリアとして使用される揮発性記憶装置である。
外部記憶装置104は、撮像装置2により撮像された映像データ、および設定情報等の各種データを記憶するHDD(Hard Disk Drive)またはSSD(State Solid Drive)等の記憶装置である。
ディスプレイ105は、カーソル、メニュー、ウィンドウ、文字もしくは画像等の各種情報、または情報処理装置3による画像判定処理を実行するアプリケーションの画面を表示する表示装置である。ディスプレイ105は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイまたは有機EL(Electroluminescence)ディスプレイ等である。なお、ディスプレイ105は、例えば、情報処理装置3の本体に対して、VGAケーブルまたはHDMI(登録商標)(High−Definition Multimedia Interface)ケーブル等によって接続されたり、または、Ethernetケーブルによって接続される。
ネットワークI/F106は、ネットワーク4に接続してデータ通信するためのインターフェースである。ネットワークI/F106は、例えば、TCP/IPのプロトコルで通信可能にするNIC(Network Interface Card)である。具体的には、情報処理装置3は、撮像装置2から、ネットワーク4およびネットワークI/F106を介して、映像データを取得する。
キーボード107は、文字、数字、各種指示の選択、カーソルの移動、および設定情報の設定等を行う入力装置である。マウス108は、各種指示の選択および実行、処理対象の選択、カーソルの移動、ならびに設定情報の設定等を行うための入力装置である。
DVDドライブ109は、着脱自在な記憶媒体の一例としてのDVD110に対するデータの読み出し、書き込みおよび削除を制御する装置である。
外部機器I/F111は、外部機器10と接続してデータ通信をするためのインターフェースである。外部機器I/F111は、例えば、フィールドバス規格により通信可能にするインターフェースカードである。具体的には、情報処理装置3は、外部機器10と、外部機器I/F111を介してデータ通信を行う。
上述のCPU101、ROM102、RAM103、外部記憶装置104、ディスプレイ105、ネットワークI/F106、キーボード107、マウス108、DVDドライブ109および外部機器I/F111は、アドレスバスおよびデータバス等のバス112によって互いに通信可能に接続されている。なお、ディスプレイ105が、Ethernetケーブルによって接続される場合には、ネットワークI/F106に接続されることになり、この場合、TCP/IP等のプロトコルによりデータ通信が行われる。
(情報処理装置のブロック構成)
図3は、第1の実施の形態に係る情報処理装置の機能ブロックの構成の一例を示す図である。図3を参照しながら、情報処理装置3のブロック構成について説明する。
図3に示すように、情報処理装置3は、映像受信部301と、記憶部302と、入力装置303と、第1再生部304(再生手段)と、トリガ領域指定部305(トリガ領域指定手段)と、変化点検出部306(検出手段)と、検知領域指定部307(検知領域指定手段)と、設定部308(設定手段)と、第2再生部309と、画像抽出部310と、差分判定部311と、映像振分部312と、トリガ生成部313(生成手段)と、検知領域判定部314(検知領域判定手段)と、表示制御部315と、外部出力部316(外部出力手段)と、表示装置317(表示手段)と、を備えている。
映像受信部301は、ネットワーク4を介して、撮像装置2とデータ通信を行い、撮像装置2から映像データを受信する機能部である。映像受信部301は、受信した映像データを記憶部302に記憶させる。映像受信部301は、図2に示すネットワークI/F106によって実現される。なお、図3においては、説明を簡略化するため、ネットワーク4の図示を省略して説明する。
記憶部302は、映像受信部301により受信された映像データ、および各種設定情報等を記憶する記憶装置である。記憶部302は、映像受信部301により受信された映像データが、どの撮像装置2により生成された映像データであるかを識別して記憶する。記憶部302は、例えば、図2に示すRAM103または外部記憶装置104によって実現される。
入力装置303は、情報処理装置3が実行する画像判定処理のための操作入力を行う装置である。入力装置303は、図2に示すキーボード107およびマウス108によって実現される。
第1再生部304は、ユーザにより操作される入力装置303からの操作信号に従って、記憶部302から取得した映像データを表示制御部315に送り、表示制御部315に対して映像データを表示装置317に再生表示させる機能部である。具体的には、第1再生部304は、図5等で後述する表示装置317に表示される設定画面500の映像表示部502に映像データを再生表示させる。第1再生部304は、図2に示すCPU101により実行されるプログラムによって実現される。
トリガ領域指定部305は、ユーザにより操作される入力装置303からの操作信号に従って、表示装置317における映像データの表示領域(図5等で後述する映像表示部502)においてトリガのタイミングを決定するトリガ領域を指定する機能部である。トリガ領域指定部305は、指定したトリガ領域の情報を、記憶部302に記憶させる。また、トリガ領域の情報とは、例えば、映像データの表示領域におけるトリガ領域の位置を示す座標、およびトリガ領域の形状等の情報である。トリガ領域指定部305は、図2に示すCPU101により実行されるプログラムによって実現される。
変化点検出部306は、トリガ領域指定部305によりトリガ領域が指定された場合、指定された時点で第1再生部304が再生表示している映像データのフレームの時刻の前後の所定時間分のフレームを取得し、取得したフレームにおいて、フレームごとに直前のフレームとの画素値についての差分(第1差分)を演算し、演算した差分に基づいて、トリガ領域内の画像についての変化点を検出する機能部である。変化点については、後述する。差分の演算方法としては、例えば、2つのフレームのトリガ領域における画素値を比較し、画素値が所定の感度以上異なる画素の数の合計を差分として算出する。また、フレームがグレースケールの画像である場合、画素値は輝度値と一致するので、2つのフレームのトリガ領域における輝度値を比較し、輝度値が所定の感度以上異なる画素の数の合計を差分として算出してもよい。また、フレームがRGBの画素値で構成された画像である場合、R(赤)、G(緑)またはB(青)のいずれかの画素値を比較して、上述と同様に、画素値が所定の感度以上異なる画素の数の合計を差分として算出してもよい。また、フレームの画像におけるエッジ検出処理を行い、エッジ部分の合計を差分として算出してもよい。変化点検出部306は、図2に示すCPU101により実行されるプログラムによって実現される。
検知領域指定部307は、ユーザにより操作される入力装置303からの操作信号に従って、表示装置317における映像データの表示領域(映像表示部502)において異常を検知する画像判定処理の対象となる検知領域を指定する機能部である。検知領域指定部307は、指定した検知領域の情報を、記憶部302に記憶させる。また、検知領域の情報とは、例えば、映像データの表示領域における検知領域の位置を示す座標、およびトリガ領域の形状等の情報である。また、検知領域指定部307は、後述するように、映像データの表示領域において複数の検知領域を指定することができる。検知領域指定部307は、図2に示すCPU101により実行されるプログラムによって実現される。
設定部308は、ユーザにより操作される入力装置303からの操作信号に従って、設定情報を設定して記憶部302に記憶させる機能部である。また、設定部308は、設定した設定情報のうち、表示する必要がある情報を、記憶部302から表示制御部315に送り、表示制御部315に対して設定情報を表示装置317に表示させる。設定部308は、図2に示すCPU101により実行されるプログラムによって実現される。
第2再生部309は、ユーザにより操作される入力装置303からの操作信号に従って、記憶部302から取得した映像データを表示制御部315に送り、表示制御部315に対して映像データを表示装置317に再生表示させる機能部である。具体的には、第2再生部309は、図19等で後述する表示装置317に表示される感度設定プレビュー画面700の映像表示部702に映像データを再生表示させる。第2再生部309は、図2に示すCPU101により実行されるプログラムによって実現される。
画像抽出部310は、第2再生部309により映像データが再生表示されている表示領域(映像表示部702)において、検知領域指定部307により指定された検知領域に対応する部分の画像(抽出画像)を抽出する機能部である。画像抽出部310は、図2に示すCPU101により実行されるプログラムによって実現される。
差分判定部311は、検知領域が指定された時刻の検知領域内の画像である検知基準画像と、画像抽出部310により抽出された抽出画像との差分を演算する機能部である。差分の演算方法は、上述の変化点検出部306の演算方法に準じる。差分判定部311は、図2に示すCPU101により実行されるプログラムによって実現される。
映像振分部312は、ユーザにより操作される入力装置303からの操作信号に従って、映像受信部301から取得したリアルタイムの映像データを表示制御部315に送り、表示制御部315に対して映像データを表示装置317に表示させる機能部である。具体的には、映像振分部312は、図4および25で後述する表示装置317に表示されるメイン画面400の映像表示部401a〜401fに映像データを振り分けて表示させる。映像振分部312は、図2に示すCPU101により実行されるプログラムによって実現される。
トリガ生成部313は、後述する図25のメイン画面400の映像表示部401a〜401fにおけるトリガ領域において、差分画像と、映像データのフレームのトリガ領域の画像とを比較して、トリガのタイミングでトリガ信号を生成する機能部である。トリガ生成部313は、図2に示すCPU101により実行されるプログラムによって実現される。
検知領域判定部314は、トリガ生成部313により生成されたトリガ信号を受け取ったときの設定時間前または設定時間後に、上述の映像表示部401a〜401fにおける検知領域において、検知基準画像(第2画像)と、映像データのフレームの検知領域の画像とを比較して異常であるか否かの判定をする機能部である。検知領域判定部314は、図2に示すCPU101により実行されるプログラムによって実現される。
表示制御部315は、表示装置317の表示動作を制御する機能部である。具体的には、表示制御部315は、第1再生部304および第2再生部309により取得された映像データ、設定部308により設定された設定情報、トリガ領域指定部305により指定されたトリガ領域、および、検知領域指定部307により指定された検知領域等を、映像振分部312に表示させる。表示制御部315は、図2に示すCPU101により実行されるプログラム(ドライバ)によって実現される。
外部出力部316は、検知領域判定部314により異常の判定がされた場合、異常信号を外部機器10に出力する機能部である。外部出力部316は、図2に示す外部機器I/F111によって実現される。なお、外部出力部316は異常信号を出力するものとしているが、これに限定されるものではなく、メールで異常を通知するためのバッチファイルを外部機器10に送信したり、または、メイン画面400上に異常を報知(例えば、ランプアイコンで点滅表示)する等の処置を行うものとしてもよい。
表示装置317は、表示制御部315の制御に従って各種データを表示する装置である。表示装置317は、本実施の形態では特に、図2に示すCPU101により実行されるプログラム(アプリケーション)により、後述するメイン画面400、設定画面500、および感度設定プレビュー画面700等を表示する。表示装置317は、図2に示すディスプレイ105によって実現される。
また、図3に示した第1再生部304、トリガ領域指定部305、変化点検出部306、検知領域指定部307、設定部308、第2再生部309、画像抽出部310、差分判定部311、映像振分部312、トリガ生成部313、検知領域判定部314および表示制御部315の一部または全部は、ソフトウェアであるプログラムではなく、ASIC(Application Specific Integrated Circuit)またはFPGA(Field−Programmable Gate Array)等のハードウェア回路によって実現されてもよい。
また第1再生部304、トリガ領域指定部305、変化点検出部306、検知領域指定部307、設定部308、第2再生部309、画像抽出部310、差分判定部311、映像振分部312、トリガ生成部313、検知領域判定部314および表示制御部315は、機能を概念的に示したものであって、このような構成に限定されるものではない。
また、以降の説明の簡略化のため、表示制御部315が、受け取ったデータを表示装置317に表示させるという表現を、単に、そのデータを表示制御部315に送った機能部が、表示装置317(または、表示装置317が表示する画面)に表示させると表現するものとする。例えば、第1再生部304が、映像データを表示制御部315に送り、表示制御部315に対して映像データを表示装置317に再生表示させる場合、単に、第1再生部304が、映像データを表示装置317に再生表示させると表現するものとする。
(メイン画面の構成)
図4は、第1の実施の形態に係る情報処理装置の表示装置に表示されるメイン画面において複数のリアルタイムの映像が表示される例を示す図である。図4を参照しながら、メイン画面400の構成、および複数のリアルタイムの映像が表示される動作について説明する。
CPU101により実行されるプログラム(アプリケーション)により、図4に示すメイン画面400が表示装置317に表示される。メイン画面400は、複数の撮像装置2から受信した映像データをリアルタイムに表示し、トリガ領域指定部305により指定されたトリガ領域において、トリガ生成部313によりトリガのタイミングでトリガ信号が生成される画面である。また、メイン画面400は、検知領域判定部314によりトリガ信号を受け取ったときの設定時間または設定時間後に、検知領域指定部307により指定された検知領域において異常の有無が判定される画面である。メイン画面400は、図4に示すように、映像表示部401a〜401fと、監視開始ボタン411と、監視停止ボタン412と、監視設定ボタン413と、を含む。
映像表示部401a〜401fは、映像振分部312によって、ユーザにより操作される入力装置303からの操作信号に従って、撮像装置2a〜2fから、映像受信部301を介して取得されたリアルタイムの映像データがそれぞれ表示される表示部である。なお、映像表示部401a〜401fを区別なく呼称する場合、または総称する場合、単に「映像表示部401」というものとする。
監視開始ボタン411は、ユーザによる入力装置303の操作によって押下(マウス108によるクリック操作等、以下同様)されると、映像振分部312によって、映像表示部401a〜401fにそれぞれリアルタイムの映像データが表示されるボタンである。また、監視開始ボタン411が押下され、映像表示部401に映像データが表示されると、トリガ領域指定部305により指定されたトリガ領域において、トリガ生成部313によりトリガのタイミングでトリガ信号が生成され、検知領域判定部314によりトリガ信号を受け取ったときの設定時間または設定時間後に検知領域における異常の有無の判定が開始される。
監視停止ボタン412は、ユーザによる入力装置303の操作によって押下されると、トリガ生成部313によるトリガのタイミングでのトリガ信号の生成動作、検知領域判定部314による検知領域における異常の有無の判定動作、および、映像振分部312によるリアルタイムの映像データの表示動作を停止させるボタンである。
監視設定ボタン413は、ユーザによる入力装置303の操作によって押下されると、設定部308によって、後述の図5等に示す設定画面500を表示装置317に表示させるボタンである。
(設定画面の構成)
図5は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面で映像データが表示される状態の例を示す図である。図5を参照しながら、設定画面500の構成について説明する。
設定画面500は、トリガ領域および検知領域の指定、ならびに、検知領域における画像判定の感度、閾値およびタイミングを設定する画面である。設定画面500は、図5に示すように、カメラ選択部501と、映像表示部502と、再生ボタン503aと、一時停止ボタン503bと、早送りボタン503cと、早戻しボタン503dと、停止ボタン503eと、シークバー504と、スライダー505と、時刻表示部506と、トリガ領域情報部507と、基準画像表示部508aと、差分画像表示部508bと、検知領域情報部509と、検知領域ボタン部510と、設定読出ボタン511と、設定書込ボタン512と、設定反映ボタン513と、閉じるボタン514と、を含む。
カメラ選択部501は、ユーザがトリガ領域および検知領域の指定を所望する撮像装置2a〜2fの映像データのうちいずれの映像データを映像表示部502に表示させるのかを選択する操作部である。例えば、撮像装置2a〜2fによって撮像された映像データは、それぞれ「1」〜「6」に対応付けられており、図5の例では、「6」すなわち撮像装置2fの映像データが選択された例を示している。
映像表示部502は、第1再生部304によって、ユーザにより操作される入力装置303からの操作信号に従って記憶部302から取得された映像データを再生表示される表示部である。図5の例では、第1再生部304は、ユーザによる入力装置303の操作により、「6」のカメラ選択部501が選択操作されると、撮像装置2fにより撮像された映像データを表示装置317に表示させる。
再生ボタン503aは、ユーザによる入力装置303の操作によって押下されると、第1再生部304によって、映像表示部502に表示された映像データが再生開始されるボタンである。一時停止ボタン503bは、ユーザによる入力装置303の操作によって押下されると、第1再生部304によって、映像表示部502に再生表示されている映像データが一時停止されるボタンである。早送りボタン503cは、ユーザによる入力装置303の操作によって押下されると、第1再生部304によって、映像表示部502に再生表示されている映像データが早送り表示されるボタンである。早戻しボタン503dは、ユーザによる入力装置303の操作によって押下されると、第1再生部304によって、映像表示部502に再生表示されている映像データが早戻し表示されるボタンである。停止ボタン503eは、ユーザによる入力装置303の操作によって押下されると、第1再生部304によって、映像表示部502に再生表示されている映像データが停止されるボタンである。
シークバー504は、その上に配置されるスライダー505の位置により、映像表示部502に再生表示されている映像データがどの時間のものなのかを示す棒状の形状体である。スライダー505は、映像表示部502に再生表示されている映像データの撮像時刻(表示されているフレームが撮像された時刻)に対応したシークバー504上の位置にスライドする形状体かつ操作部である。逆に、スライダー505は、ユーザによる入力装置303の操作によってスライドされると、第1再生部304によって、スライダー505が存在するシークバー504上の位置に対応した撮像時刻の映像データのフレームが映像表示部502に表示される。
時刻表示部506は、第1再生部304によって、映像表示部502に再生表示されている映像データの撮像日付および撮像時刻が表示される表示部である。
トリガ領域情報部507は、トリガ領域指定部305により指定されたトリガ領域の名称、ならびに、変化点検出部306が上述の変化点を検出するための感度および閾値を表示する表示部である。基準画像表示部508aは、変化点検出部306により抽出された基準画像を表示する表示部である。差分画像表示部508bは、変化点検出部306により抽出された差分画像(後述)を表示する表示部である。
検知領域情報部509は、検知領域指定部307により指定された検知領域の名称、感度、閾値、検知遅延時間(図5では「遅延時間」と表記)、監視方法(図5では「監視」と表記)、アクションの有無(図5では「アクション」と表記)、および画像判定の方法(図5では「画像判定」と表記)(以下、検知領域についてのこれらの情報を属性情報という)を表示する表示部かつ選択操作部である。
検知領域ボタン部510は、検知領域指定部307により指定され、検知領域情報部509に表示された検知領域についての属性情報を編集するボタン群である。検知領域ボタン部510は、アクションボタン510aと、画像判定選択ボタン510bと、削除ボタン510cと、感度判定ボタン510dと、感度増加ボタン510eと、感度減少ボタン510fと、閾値増加ボタン510gと、閾値減少ボタン510hと、を含む。検知領域ボタン部510の各ボタンの機能は、後述する。
設定読出ボタン511は、ユーザによる入力装置303の操作によって押下されると、設定部308によって、記憶部302に記憶されたトリガ領域および検知領域の情報等の設定情報が読み出され、設定画面500の各表示部に設定情報が表示されるボタンである。設定書込ボタン512は、ユーザによる入力装置303の操作によって押下されると、設定部308によって、設定画面500上で設定されたトリガ領域および検知領域の情報等の設定情報が、記憶部302(外部記憶装置104)に記憶されるボタンである。設定反映ボタン513は、ユーザによる入力装置303の操作によって押下されると、設定部308によって、設定画面500上で設定されたトリガ領域および検知領域の情報等の設定情報が、メイン画面400および設定画面500等のアプリケーションが閉じられるまで有効とされる(例えば、RAM103に一時記憶される)ボタンである。
閉じるボタン514は、ユーザによる入力装置303の操作によって押下されると、設定部308によって、設定画面500が閉じられ、メイン画面400を表示装置317に表示させるボタンである。
(トリガ領域の指定および変化点の検出)
図6は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部にトリガ領域を指定する例を示す図である。図7は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面においてトリガ領域における変化点が見つかった場合のマーク表示の例を示す図である。図8は、第1の実施の形態のトリガ領域における変化点を検出する動作を説明する図である。図9は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面においてトリガ領域における変化点が2点見つかった場合に表示されるダイアログの例を示す図である。図10は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面においてトリガ領域における変化点が見つからなかった場合に表示されるダイアログの例を示す図である。図6〜10を参照しながら、トリガ領域の指定および変化点の検出について説明する。
図6に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502においてトリガ領域530が指定された状態を示している。具体的には、まず、映像表示部502において映像データの再生表示中に、トリガの発生の基となる所望する画像の部分が表示されているタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下されると、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止し、その時点のフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、トリガ領域指定部305は、映像表示部502(第1表示領域)においてトリガ領域530を指定して表示させる。
図7に示す設定画面500は、変化点検出部306によって、トリガ領域指定部305により指定されたトリガ領域530において変化点が検出された場合の状態を示している。具体的には、変化点検出部306は、まず、トリガ領域指定部305によりトリガ領域530が指定された場合、指定された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻の前後の所定時間(例えば前後2秒間)(第1所定時間)分のフレームを取得し、トリガ領域530が指定された時刻のトリガ領域530内の画像を基準画像として抽出する。ここで、変化点とは、トリガ生成部313がトリガ信号を生成するタイミングの基準とするための、トリガ領域530内の画像の所定の変化を帯びた時点をいう。以下、変化点検出部306による具体的な変化点の検出方法について説明する。
変化点検出部306は、図8(a)に示すように、所定時間分のフレームとして13個のフレーム(フレーム(0)〜フレーム(12))を取得したものとする。この場合、変化点検出部306によって、フレーム(6)を真中として、その前後の所定時間分のフレームが取得されたことになる。また、説明を簡略にするため、各フレームにおけるトリガ領域530に対応する部分の画像についても、それぞれフレーム(0)〜フレーム(12)と称するものとする。そして、変化点検出部306は、取得したフレームにおいて、フレームごとに直前のフレームとの画素値についての差分を演算する。差分の演算方法については、上述した通りである。変化点検出部306が図8(a)に例示したフレームを抽出し、フレームごとに演算した差分を時系列に表したグラフが、図8(b)に示すグラフである。図8(b)において、例えば、フレーム(1)の差分は、フレーム(1)と、その直前のフレームであるフレーム(0)との差分を示す。ここで、変化点としてのIN点およびOUT点を次のように定義する。すなわち、IN点とは、連続するフレームにおいて、トリガ領域530内の画像が変化し始めた時点とする。また、OUT点とは、連続するフレームにおいて、トリガ領域530内の画像の変化がおさまり始めた時点とする。なお、変化点検出部306は、取得したフレームにおいて、フレームごとに直前のフレームとの差分を演算するものとしたが、直前のフレームに限定されるものではなく、例えば、フレームごとに、数フレーム前のフレームとの差分を演算するものとしてもよい。
変化点検出部306は、フレームごとに演算した差分に基づいて、IN点の候補、およびOUT点の候補を見つける。具体的には、変化点検出部306は、演算した差分が2フレーム分以上連続して所定の閾値(第1閾値)以上となった場合、最初に差分が所定の閾値以上となったフレームをIN点の候補のフレームとする。図8(b)の例では、フレーム(1)の差分は閾値未満、フレーム(2)の差分は閾値以上となり、そして、フレーム(3)の差分も閾値以上となり、フレーム(2)および(3)の2フレーム分の差分が閾値以上となるので、最初に差分が閾値以上となったフレーム(2)がIN点の候補のフレームとなる。同様に、フレーム(7)もIN点の候補のフレームとなる。また、2フレーム分以上連続ではなく、1フレーム分のみの差分が閾値以上となった場合は、ノイズの可能性があるので、そのフレームはIN点の候補のフレームとしない。
一方、変化点検出部306は、演算した差分が2フレーム分以上連続して所定の閾値(第1閾値)未満となった場合、最初に差分が所定の閾値未満となったフレームをOUT点の候補のフレームとする。図8(b)の例では、フレーム(4)の差分は閾値以上、フレーム(5)の差分は閾値未満、そして、フレーム(6)の差分も閾値未満となり、フレーム(5)および(6)の2フレーム分の差分が閾値未満となるので、最初に差分が閾値未満となったフレーム(5)がOUT点の候補のフレームとなる。ここで、フレーム(12)は、差分が所定の閾値未満となっているが、後に続くフレーム(13)は、変化点検出部306が抽出したフレーム以外のフレームであるので、OUT点の候補のフレームとしない。また、2フレーム分以上連続ではなく、1フレーム分のみの差分が閾値未満となった場合は、ノイズの可能性があるので、そのフレームはOUT点の候補のフレームとしない。
以上のように、変化点検出部306は、図8の例では、IN点の候補のフレームとしてフレーム(2)および(7)を特定し、OUT点の候補のフレームとしてフレーム(5)を特定する。このように、変化点検出部306は、IN点の候補のフレームが複数特定された場合、取得したフレームの真中のフレーム(6)に最も近いフレーム、すなわちフレーム(7)をIN点のフレームに決定する。なお、図8の例では、OUT点の候補のフレームとして、1つのフレーム(フレーム(5))のみ特定されているが、IN点の候補と同様に、複数のフレームがOUT点の候補のフレームとして特定される場合もある。このように、OUT点の候補のフレームが複数特定された場合、変化点検出部306は、IN点の候補と同様に、取得したフレームの真中のフレーム(6)に最も近いフレームをOUT点のフレームに決定する。図8の例では、OUT点の候補のフレームはフレーム(5)のみなので、変化点検出部306は、フレーム(5)をOUT点のフレームに決定する。以上のように、変化点検出部306は、取得した所定時間分のフレームから、IN点のフレームおよびOUT点のフレームを決定することにより、変化点(IN点およびOUT点)を検出する。なお、変化点検出部306は、変化点を検出した場合、変化点のフレームの前のフレーム、もしくは後のフレーム、または前後のフレームを用いて、トリガ領域530内の動体検知を行い、どの方向から動体が入ってきたのかを示すベクトル情報を記憶部302に記憶させるものとしてもよい。この場合、トリガ生成部313は、記憶部302に記憶されたベクトル情報を用いて、動体がベクトル情報の示す方向と同一の方向から動いてきたか否かを確認し、その確認結果に基づいてトリガ信号を生成するものとしてもよい。
なお、変化点検出部306によるトリガ領域530において変化点の検出方法は、上述の方法に限定されるものではなく、トリガを発生させるタイミングを規定する変化点であれば、どのように変化点を検出してもよい。
また、上述のように、変化点検出部306は、差分が2フレーム分以上連続して所定の閾値以上となった場合、最初に差分が所定の閾値以上となったフレームをIN点の候補のフレームとするものとしているが、これに限定されるものではない。すなわち、差分が2フレーム分以上連続ではなく、その他の数以上のフレームが連続して所定の閾値以上となった場合としてもよい。これは、OUT点の候補のフレームを見つける場合についても同様である。
また、図8では、IN点およびOUT点の双方のフレームが見つかる例を示したが、変化点検出部306は、IN点のフレームのみ、または、OUT点のフレームのみを見つける場合もあり、この場合は、これらのIN点またはOUT点を変化点として検出する。この場合、変化点検出部306は、検出した変化点のフレームのトリガ領域530内の画像を差分画像(第1画像)として抽出する。変化点検出部306は、抽出した基準画像、および変化点のフレームにおける差分画像を記憶部302に記憶させ、基準画像を基準画像表示部508aに表示させ、差分画像を差分画像表示部508bに表示させる。さらに、変化点検出部306は、シークバー504において、検出した変化点のフレームの時刻に対応する部分にトリガマーク540を表示する。また、変化点検出部306により変化点が検出された場合、トリガ領域指定部305は、指定したトリガ領域530の情報を記憶部302に記憶させる。また、設定部308は、トリガ領域指定部305により指定されたトリガ領域530に命名した名前、ならびに、変化点検出部306の変化点の検出に利用された所定の感度(例えば、「50」)および所定の閾値(例えば、「20%」)(デフォルト値)を、トリガ領域情報部507に表示させる。設定部308は、トリガ領域530の名前として、図7に示すように、例えば、「6」の撮像装置(撮像装置2f)の映像データに対して指定されたトリガ領域であるものとして、「TR6」と命名する。
図9に示す設定画面500は、変化点検出部306によって、トリガ領域指定部305により指定されたトリガ領域530において変化点が上述のように2つ(IN点およびOUT点)検出された場合に、変化点選択ダイアログ600が表示された状態を示している。このように、変化点検出部306は、変化点を2つ以上検出した場合、基準画像を抽出した時点に最も近い2つの変化点(IN点およびOUT点)のうちいずれをトリガの生成のために利用するかを選択するための変化点選択ダイアログ600を表示装置317に表示させる。変化点選択ダイアログ600は、はいボタン601と、いいえボタン602と、閉じるボタン603と、を含む。閉じるボタン603は、変化点選択ダイアログ600を閉じるためのボタンである。
ユーザによる入力装置303の操作によって、はいボタン601を押下した場合、変化点検出部306は、IN点を変化点として検出し、IN点のフレームのトリガ領域530内の画像を差分画像として抽出する。そして、変化点検出部306は、抽出した基準画像、およびIN点のフレームにおける差分画像を記憶部302に記憶させ、基準画像を基準画像表示部508aに表示させ、差分画像を差分画像表示部508bに表示させる。さらに、変化点検出部306は、シークバー504において、検出したIN点のフレームの時刻に対応する部分にトリガマーク540を表示する。
一方、ユーザによる入力装置303の操作によって、いいえボタン602を押下した場合、変化点検出部306は、OUT点を変化点として検出し、OUT点のフレームのトリガ領域530内の画像を差分画像として抽出する。そして、変化点検出部306は、抽出した基準画像、およびOUT点のフレームにおける差分画像を記憶部302に記憶させ、基準画像を基準画像表示部508aに表示させ、差分画像を差分画像表示部508bに表示させる。さらに、変化点検出部306は、シークバー504において、検出したOUT点のフレームの時刻に対応する部分にトリガマーク540を表示する。その他の動作は、図7で上述した動作と同様である。
このように、変化点検出部306により変化点としてIN点およびOUT点が検出され、ユーザにより2つの変化点のいずれかを選択できるようにすることにより、ユーザが真に指定を所望する変化点を選択させることができる。
図10に示す設定画面500は、変化点検出部306によって、トリガ領域指定部305により指定されたトリガ領域530において変化点が見つからなかった場合に、変化点無し通知ダイアログ610が表示された状態を示している。変化点検出部306は、上述の図8で説明した動作において、演算した差分が所定の閾値以上とならず、変化点が検出できない場合がある。この場合、変化点検出部306は、変化点が見つからなかった旨を示す変化点無し通知ダイアログ610を表示装置317に表示させる。
変化点無し通知ダイアログ610は、OKボタン611と、閉じるボタン612と、を含む。閉じるボタン612は、変化点無し通知ダイアログ610を閉じるためのボタンである。ユーザによる入力装置303の操作によって、OKボタン611を押下した場合、変化点検出部306は、記憶部302に何の情報も記憶せず、基準画像表示部508aおよび差分画像表示部508bにも画像を表示させずに、変化点無し通知ダイアログ610を閉じる。
(検知領域の指定および検知領域の属性情報の設定)
図11は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部に検知領域を指定する例を示す図である。図12は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部に2つ目の検知領域を指定する例を示す図である。図13は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部に表示されている映像データとは異なる映像データで設定されたトリガ領域を選択する状態の例を示す図である。図14は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部に表示されている映像データとは異なる映像データで設定されたトリガ領域を選択した後の状態の例を示す図である。図15は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部に表示されている映像データとは異なる映像データで設定されたトリガ領域に対応する検知領域を指定する例を示す図である。図16は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部で指定した検知領域の属性情報を設定する例を示す図である。図11〜16を参照しながら、検知領域の指定および検知領域の属性情報の設定について説明する。
図11に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502において検知領域535が指定された状態を示している。具体的には、まず、映像表示部502において映像データの再生表示中に、画像判定を所望する画像の部分が表示されているタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下されると、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止し、その時点のフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、検知領域指定部307は、映像表示部502において検知領域535を指定して表示させる。ただし、検知領域指定部307が、検知領域535を指定できるのは、トリガ領域情報部507において、トリガ領域指定部305により指定されたトリガ領域が選択(図11の例では「TR6」)されている必要がある。すなわち、検知領域指定部307により指定された検知領域535は、トリガ領域情報部507において選択されたトリガ領域と関連付けられる。
また、設定部308は、検知領域535の属性情報として、検知領域指定部307により指定された検知領域535に命名した名前、ならびに、デフォルト値として、後述する画像判定で使用する所定の感度(例えば、「50」)および所定の閾値(例えば、「20%」)、監視方法(例えば、「グレースケール」)、アクションの有無(例えば、「なし」)および画像判定の方法(例えば、「一致」)を、検知領域情報部509に表示させる。設定部308は、検知領域535の名前として、図11に示すように、例えば、トリガ領域「TR6」に関連付けられた1番目の領域であるものとして、「K61」と命名する。また、設定部308は、変化点検出部306によって検出された変化点の時刻に対して、検知領域指定部307により検知領域535が指定された時点のフレームの時刻の遅延時間(図11の例では「2.14」)(判定時間)を属性情報として算出して、検知領域情報部509に表示させる。すなわち、この場合、「K61」と命名された検知領域535では、トリガのタイミングから「2.14」秒後に画像判定が行われるように設定されたことになる。また、設定部308は、検知領域情報部509に表示させた検知領域535の属性情報を、記憶部302に記憶させる。
また、検知領域指定部307は、検知領域535を指定した時刻の検知領域535内の画像を検知基準画像として抽出して記憶部302に記憶させ、指定した検知領域535の情報を記憶部302に記憶させる。
図12に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502において2つ目の検知領域である検知領域536が指定された状態を示している。具体的には、まず、映像表示部502において映像データの再生表示(一時停止)中に、ユーザによる入力装置303の操作によってシークバー504のスライダー505をスライドさせて、画像判定を所望する画像の部分が表示されているタイミングに調整する。第1再生部304は、映像表示部502に一時停止されている映像データのフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。
次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、検知領域指定部307は、映像表示部502において2つ目の検知領域である検知領域536を指定して表示させる。ただし、検知領域指定部307が、検知領域536を指定できるのは、検知領域535の指定の場合と同様に、トリガ領域情報部507において、トリガ領域指定部305により指定されたトリガ領域が選択(図12の例では「TR6」)されている必要がある。すなわち、検知領域指定部307により指定された検知領域536は、トリガ領域情報部507において選択されたトリガ領域と関連付けられる。
また、設定部308は、検知領域536の属性情報として、検知領域指定部307により指定された検知領域536に命名した名前、ならびに、デフォルト値として、後述する画像判定で使用する所定の感度(例えば、「50」)および所定の閾値(例えば、「20%」)、監視方法(例えば、「グレースケール」)、アクションの有無(例えば、「なし」)および画像判定の方法(例えば、「一致」)を、検知領域情報部509に表示させる。設定部308は、検知領域536の名前として、図12に示すように、例えば、検知領域「TR6」に関連付けられた2番目の領域であるものとして、「K62」と命名する。また、設定部308は、変化点検出部306によって検出された変化点の時刻に対して、検知領域指定部307により検知領域536が指定された時点のフレームの時刻の遅延時間(図12の例では「−1.86」)を属性情報として算出して、検知領域情報部509に表示させる。すなわち、この場合、「K62」と命名された検知領域535では、トリガのタイミングから「1.86」秒前に画像判定が行われるように設定されたことになる。また、設定部308は、検知領域情報部509に表示させた検知領域536の属性情報を、記憶部302に記憶させる。
また、検知領域指定部307は、検知領域536を指定した時刻の検知領域536内の画像を検知基準画像として抽出して記憶部302に記憶させ、指定した検知領域536の情報を記憶部302に記憶させる。
図13に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502において、再生表示されている映像データを撮像した撮像装置2とは異なる撮像装置2の映像データにおいて指定されたトリガ領域を選択する状態を示している。具体的には、まず、ユーザによる入力装置303の操作によって、トリガ領域情報部507のプルダウンボタン507aを押下すると、「トリガ領域名」の欄からプルダウンメニュー507bが出現する。設定部308は、複数の撮像装置2の映像データのうち指定されたトリガ領域を、プルダウンメニュー507bに配列表示させる。
図14に示す設定画面500は、ユーザによる入力装置303の操作によって、プルダウンメニュー507bに表示されたトリガ領域のうち「TR2」が選択された状態を示している。ここで、トリガ領域名が「TR2」であるトリガ領域は、例えば、「2」の撮像装置(撮像装置2b)の映像データに対して指定されたトリガ領域である。
具体的には、まず、ユーザによる入力装置303の操作によって、トリガ領域情報部507のプルダウンメニュー507bに配列表示されたトリガ領域(図13の例では「TR2」および「TR6」)のうち、いずれかのトリガ領域(図14の例では「TR2」)を選択する。すると、設定部308は、入力装置303により選択されたトリガ領域「TR2」の感度および閾値を、記憶部302から取得して、トリガ領域情報部507に表示させる。また、設定部308は、「6」の撮像装置の映像データにおいては、トリガ領域「TR2」に関連付けられた検知領域は存在しないので、検知領域情報部509に表示されていた検知領域535、536の属性情報の表示を消去する。さらに、変化点検出部306は、トリガ領域「TR2」の基準画像および差分画像を記憶部302から取得して、基準画像を基準画像表示部508aに表示させ、差分画像を差分画像表示部508bに表示させる。
図15に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502において3つ目の検知領域である検知領域537が指定された状態を示している。具体的には、まず、映像表示部502において映像データの再生表示(一時停止)中に、ユーザによる入力装置303の操作によってシークバー504のスライダー505をスライドさせて、画像判定を所望する画像の部分が表示されているタイミングに調整する。第1再生部304は、映像表示部502に一時停止されている映像データのフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。
次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、検知領域指定部307は、映像表示部502において3つ目の検知領域である検知領域537を指定して表示させる。この場合、検知領域指定部307により指定された検知領域536は、トリガ領域情報部507において選択されたトリガ領域「TR2」と関連付けられる。
また、設定部308は、検知領域537の属性情報として、検知領域指定部307により指定された検知領域537に命名した名前、ならびに、デフォルト値として、後述する画像判定で使用する所定の感度(例えば、「50」)および所定の閾値(例えば、「20%」)、監視方法(例えば、「グレースケール」)、アクションの有無(例えば、「なし」)および画像判定の方法(例えば、「一致」)を、検知領域情報部509に表示させる。設定部308は、検知領域537の名前として、図15に示すように、例えば、検知領域「TR2」に関連付けられた1番目の領域であるものとして、「K21」と命名する。また、設定部308は、変化点検出部306によって検出された、「2」の撮像装置(撮像装置2b)の映像データのトリガ領域「TR2」の変化点のタイミングに対して、検知領域指定部307により検知領域537が指定されたタイミングの遅延時間(図15の例では「1.50」)のデフォルト値を属性情報として決定し、検知領域情報部509に表示させる。また、設定部308は、検知領域情報部509に表示させた検知領域537の属性情報を、記憶部302に記憶させる。
また、検知領域指定部307は、検知領域537を指定した時刻の検知領域537内の画像を検知基準画像として抽出して記憶部302に記憶させ、指定した検知領域537の情報を記憶部302に記憶させる。
このように、映像表示部502に表示されている映像データに係る撮像装置2とは異なる撮像装置2の映像データで指定されたトリガ領域と関連付けて検知領域を指定できるので、複数の撮像装置2間の連携が可能となり、画像判定の自由度を飛躍的に向上させることができる。
図16に示す設定画面500は、トリガ領域情報部507でトリガ領域「TR6」(トリガ領域530)が選択された状態で、検知領域情報部509に属性情報が表示された検知領域「K61」(検知領域535)、「K62」(検知領域536)のうち「K62」が選択された状態を示している。図16を参照しながら、検知領域の属性情報の編集について説明する。ただし、検知領域ボタン部510の感度判定ボタン510dが押下された場合の検知領域の感度調整については、図19〜22で後述する。
まず、図16に示すように、ユーザによる入力装置303の操作によって、検知領域情報部509に属性情報が表示された検知領域のいずれかを選択すると、設定部308は、選択された検知領域情報部509の検知領域の属性情報の表示部分を反転表示させる。以下、図16に示すように検知領域536(検知領域名「K62」)が選択されたものとして説明する。
次に、例えば、ユーザによる入力装置303の操作によって、アクションボタン510aを押下すると、設定部308は、選択された検知領域536のアクションの有無の設定値を切り替える。例えば、検知領域536のアクションの有無が「なし」となっている場合、アクションボタン510aが押下されると、設定部308は、検知領域536のアクションの有無を「あり」に設定する。一方、検知領域536のアクションの有無が「あり」となっている場合、アクションボタン510aが押下されると、設定部308は、検知領域536のアクションの有無を「なし」に設定する。後述するように、アクションの有無が「あり」となっている場合、検知領域判定部314によってその検知領域における画像判定で異常と判定された場合、外部出力部316が異常信号を出力する。
また、例えば、ユーザによる入力装置303の操作によって、画像判定選択ボタン510bを押下すると、設定部308は、選択された検知領域536の画面判定の方法の設定値を切り替える。例えば、検知領域536の画面判定の方法が「一致」となっている場合、画像判定選択ボタン510bが押下されると、設定部308は、検知領域536の画面判定の方法を「不一致」に設定する。一方、検知領域536の画面判定の方法が「不一致」となっている場合、画像判定選択ボタン510bが押下されると、設定部308は、検知領域536の画面判定の方法を「一致」に設定する。
後述するように、画面判定の方法が「一致」となっている場合、検知領域判定部314は、抽出した画像と、検知基準画像との差分が属性情報の閾値以上の場合、異常と判定する。このように、画面判定の方法が「一致」とする場合の例としては、ワークに部品を挿入する設備において、部品がワークに挿入されている状態を検知基準画像とし、ワークへの部品の挿入動作が終了したタイミングで画像判定する場合が挙げられる。この場合、ワークへの部品の挿入動作が失敗し、正常に部品が挿入されていない状態で検知領域判定部314により画像判定が実行されると、検知基準画像との差分が属性情報の閾値以上となり、異常と判定されることになる。
一方、画面判定の方法が「不一致」となっている場合、検知領域判定部314は、抽出した画像と、検知基準画像との差分が属性情報の閾値未満の場合、異常と判定する。このように、画面判定の方法が「不一致」とする場合の例としては、ワークに部品を挿入する設備において、部品がワークに挿入されていない状態を検知基準画像とし、ワークへの部品の挿入動作が終了したタイミングで画像判定する場合が挙げられる。この場合、ワークへの部品の挿入動作が失敗し、正常に部品が挿入されていない状態で検知領域判定部314により画像判定が実行されると、検知基準画像との差分が属性情報の閾値未満となり、異常と判定されることになる。なお、部品がワークに挿入されていない状態を検知基準画像とする事情としては、完成品としての部品が挿入されたワークを準備するのが困難である場合等が挙げられる。
また、例えば、ユーザによる入力装置303の操作によって、削除ボタン510cを押下すると、設定部308は、検知領域情報部509に表示された検知領域536の属性情報を消去し、記憶部302に記憶された検知領域536の属性情報を削除する。また、検知領域指定部307は、映像表示部502に表示された検知領域536を消去し、記憶部302に記憶された検知基準画像および検知領域536の情報を削除する。
また、例えば、ユーザによる入力装置303の操作によって、感度判定ボタン510dを押下すると、設定部308は、後述の図19等に示す感度設定プレビュー画面700を表示装置317に表示させる。
また、例えば、ユーザによる入力装置303の操作によって、感度増加ボタン510eを押下すると、設定部308は、選択された検知領域536の画像判定に用いられる感度の値を所定値だけ増加させる。一方、ユーザによる入力装置303の操作によって、感度減少ボタン510fを押下すると、設定部308は、選択された検知領域536の画像判定に用いられる感度の値を所定値だけ減少させる。
また、例えば、ユーザによる入力装置303の操作によって、閾値増加ボタン510gを押下すると、設定部308は、選択された検知領域536の画像判定に用いられる閾値の値を所定値だけ増加させる。一方、ユーザによる入力装置303の操作によって、閾値減少ボタン510hを押下すると、設定部308は、選択された検知領域536の画像判定に用いられる閾値の値を所定値だけ減少させる。
(検知領域およびトリガ領域の大きさの変更)
図17は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部で指定済みの検知領域の大きさを変更した場合の状態の例を示す図である。図18は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において映像表示部で指定済みのトリガ領域の大きさを変更した場合の状態の例を示す図である。図17および18を参照しながら、検知領域およびトリガ領域の大きさを変更した場合の動作について説明する。
図17に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502において指定された検知領域535の大きさが変更された状態を示している。具体的には、まず、映像表示部502において映像データの再生表示(一時停止)中に、ユーザによる入力装置303の操作によってシークバー504のスライダー505をスライドさせて、画像判定を所望する画像の部分が表示されているタイミングに再調整する。第1再生部304は、映像表示部502に一時停止されている映像データのフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。
次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、検知領域指定部307は、例えば、映像表示部502において指定した2つ目の検知領域である検知領域536の大きさを変更して検知領域536aとする。このとき、設定部308は、変化点検出部306によって検出された変化点の時刻に対して、検知領域指定部307により検知領域536aに大きさが変更された時点のフレームの時刻の遅延時間(図17の例では「−0.86」)を属性情報として再計算して、検知領域情報部509に表示させる。また、設定部308は、検知領域情報部509に更新表示させた検知領域536aの属性情報を、記憶部302に記憶させる。
また、検知領域指定部307は、検知領域536aに大きさを変更した時刻の検知領域536a内の画像を検知基準画像として抽出して記憶部302に記憶させ、指定した検知領域536aの情報を記憶部302に記憶させる。
図18に示す設定画面500は、第1再生部304により映像データが再生表示されている映像表示部502においてトリガ領域530の大きさが変更された状態を示している。具体的には、まず、映像表示部502において映像データの再生表示(一時停止)中に、ユーザによる入力装置303の操作によってシークバー504のスライダー505をスライドさせて、トリガの発生の基となる所望する画像の部分が表示されているタイミングに再調整する。第1再生部304は、映像表示部502に一時停止されている映像データのフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。
次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、トリガ領域指定部305は、映像表示部502において指定したトリガ領域530の大きさを変更してトリガ領域530aとする。変化点検出部306は、トリガ領域指定部305により指定されたトリガ領域530の大きさが変更されトリガ領域530aとなった場合、大きさが変更された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻の前後の所定時間(例えば前後2秒間)分のフレームを取得し、トリガ領域530aに大きさが変更された時刻のトリガ領域530a内の画像を新たに基準画像として抽出する。その後、変化点検出部306による取得したフレームの差分の演算、変化点の検出、および差分画像の抽出の動作は、図7〜10で上述した動作と同様である。
変化点検出部306は、新たに抽出した基準画像、および変化点のフレームにおける差分画像を記憶部302に記憶させ、基準画像を基準画像表示部508aに再表示させ、差分画像を差分画像表示部508bに再表示させる。さらに、変化点検出部306は、シークバー504において、トリガマーク540を消去し、新たに検出した変化点のフレームの時刻に対応する部分にトリガマーク540aを表示する。
また、変化点検出部306により新たに変化点が検出された場合、トリガ領域指定部305は、トリガ領域530aの情報を記憶部302に記憶させる。
設定部308は、変化点検出部306によって新たに検出された変化点のフレームの時刻に対して、検知領域指定部307により検知領域535が指定された時点のフレームの時刻の遅延時間(図18の例では「1.64」)を属性情報として再計算して、検知領域情報部509に表示させる。また、設定部308は、変化点検出部306によって新たに検出された変化点のフレームの時刻に対して、検知領域指定部307により検知領域536aに大きさが変更された時点のフレームの時刻の遅延時間(図18の例では「−1.36」)を属性情報として再計算して、検知領域情報部509に表示させる。また、設定部308は、検知領域情報部509に更新表示させた検知領域535、536aの属性情報を、記憶部302に記憶させる。
(感度設定プレビュー画面における感度調整)
図19は、第1の実施の形態に係る情報処理装置の表示装置に表示される感度設定プレビュー画面で映像データが表示される状態の例を示す図である。図20は、第1の実施の形態に係る情報処理装置の表示装置に表示される感度設定プレビュー画面において検知基準画像に対する抽出画像の差分の判定結果の例を示す図である。図21は、第1の実施の形態に係る情報処理装置の表示装置に表示される感度設定プレビュー画面において異なる感度で検知基準画像に対する抽出画像の差分の再判定した結果の例を示す図である。図22は、第1の実施の形態に係る情報処理装置の表示装置に表示される感度設定プレビュー画面において変更した感度を適用するか否かを確認するダイアログが表示される例を示す図である。図23は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面において感度設定プレビュー画面で変更した感度が反映されている状態の例を示す図である。図19〜23を参照しながら、感度設定プレビュー画面700における感度調整について説明する。
感度設定プレビュー画面700は、選択された検知領域について、属性情報の1つである画像判定における感度を調整するための画面である。感度設定プレビュー画面700は、図19に示すように、検知領域情報部701と、映像表示部702と、検知基準画像表示部703と、抽出画像表示部704と、差異表示部705と、色別検出数表示部706と、領域画素数表示部707と、差分検出数表示部708と、差分検出割合表示部709と、感度増加ボタン710aと、感度減少ボタン710bと、判定ボタン711と、OKボタン712と、閉じるボタン713と、を含む。
検知領域情報部701は、設定部308によって、設定画面500の検知領域情報部509において選択された検知領域の属性情報が表示される表示部である。図19の例では、検知領域情報部701に、カメラ名が「CAM6」と、検知領域名が「K61」と、感度が「50」と、そして、閾値が「20%」と表示されている。
映像表示部702は、第2再生部309によって、ユーザにより操作される入力装置303からの操作信号に従って記憶部302から取得された映像データを再生表示される表示部である。図19の例では、第2再生部309は、ユーザによる入力装置303の操作によって、「6」のカメラ選択部501が選択操作されているので、撮像装置2fにより撮像された映像データを表示装置317に表示させる。なお、映像表示部702は、第2再生部309によって記憶部302から取得された映像データが再生表示されるものとしたが、これに限定されるものではなく、撮像装置2から映像受信部301を介して取得されたリアルタイムの映像データが表示されるものとしてもよい。
検知基準画像表示部703は、設定部308によって、検知領域指定部307により抽出された検知基準画像が、記憶部302から取得されて表示される表示部である。抽出画像表示部704は、画像抽出部310によって抽出された抽出画像が表示される表示部である。差異表示部705は、差分判定部311によって、演算された検知基準画像と抽出画像との差分の特徴を示す画像(差分特徴画像)が表示される表示部である。
色別検出数表示部706は、差分判定部311によって、演算された検知基準画像と抽出画像との差分についての情報(差分情報)のうち、差分について各所定幅に属する画素の検出数が表示される表示部である。領域画素数表示部707は、差分判定部311によって差分の演算の際に算出された、差分情報としての対象となる検知領域を構成する画素の数が表示される表示部である。差分検出数表示部708は、差分判定部311によって差分の演算において算出された、差分情報としての差分が所定の閾値以上となる画素の数が表示される表示部である。差分検出割合表示部709は、差分判定部311による差分の演算において算出され、対象となる検知領域を構成する画素の数に対する、差分が所定の閾値以上となる画素の数の割合が差分情報として表示される表示部である。
感度増加ボタン710aは、ユーザによる入力装置303の操作によって押下されると、設定部308によって、対象の検知領域の画像判定に用いられる感度の値を所定値だけ増加させるボタンである。感度増加ボタン710aの機能は、上述の感度増加ボタン510eの機能と同様である。
感度減少ボタン710bは、ユーザによる入力装置303の操作によって押下されると、設定部308によって、対象の検知領域の画像判定に用いられる感度の値を所定値だけ減少させるボタンである。感度減少ボタン710bの機能は、上述の感度減少ボタン510fの機能と同様である。
判定ボタン711は、ユーザによる入力装置303の操作によって押下されると、画像抽出部310によって抽出画像が抽出され、差分判定部311によって、検知基準画像と抽出画像との差分が演算され、差分情報が算出されるボタンである。
OKボタン712は、ユーザによる入力装置303の操作によって押下された場合に、設定部308によって、差分判定部311による差分の演算に利用された感度(検知領域情報部701に表示されている感度)が設定画面500の検知領域情報部509に反映されるボタンである。
閉じるボタン713は、ユーザによる入力装置303の操作によって押下されると、設定部308によって、感度設定プレビュー画面700が閉じられ、設定画面500を表示装置317に表示させるボタンである。
図19に示す感度設定プレビュー画面700は、ユーザによる入力装置303の操作により、検知領域情報部509の検知領域535(検知領域名「K61」)が選択された状態で、感度判定ボタン510dが押下された場合に表示される画面である。具体的には、ユーザによる入力装置303の操作により、検知領域535(検知領域名「K61」)が選択された状態で、感度判定ボタン510dが押下されると、設定部308は、設定画面500を表示装置317に表示させる。また、設定部308は、選択された検知領域535の属性情報を、検知領域情報部701に表示させ、検知領域指定部307により抽出された検知領域535に対応する検知基準画像を記憶部302から取得し、検知基準画像表示部703に表示させる。図19の例では、検知基準画像表示部703に表示された検知基準画像は、生産対象であるワークのネジ穴であって、ネジがまだ嵌合されていない状態を示している。
また、第2再生部309は、ユーザによる入力装置303の操作によって、検知領域情報部701に表示されたカメラ名に対応する撮像装置2の映像データを記憶部302から取得して、映像表示部702に再生表示させる。
図20に示す感度設定プレビュー画面700は、ユーザによる入力装置303の操作によって判定ボタン711が押下された場合に、画像抽出部310により抽出画像が抽出され、差分判定部311により検知基準画像と抽出画像との差分が演算された結果を示している。具体的には、まず、映像表示部702において映像データの表示中に、差分演算を所望するタイミングで、ユーザによる入力装置303の操作によって判定ボタン711を押下する。すると、画像抽出部310は、第2再生部309により映像データが表示されている映像表示部702において、検知領域指定部307により指定された検知領域535に対応する部分の画像を抽出画像として抽出し、抽出画像表示部704に表示させる。図20の例では、抽出画像表示部704に表示された抽出画像は、生産対象であるワークのネジ穴であって、ネジが嵌合された状態を示している。
そして、差分判定部311は、検知基準画像と、画像抽出部310により抽出された抽出画像との差分を演算し、演算した差分について各所定幅(図20の例では「70以上」、「50〜69」、「20〜49」、「19以下」)に属する画素の検出数を色別検出数表示部706に表示させる。また、差分判定部311は、差分の演算の対象となった検知領域535を構成する画素の数を算出して領域画素数表示部707に表示させる。また、差分判定部311は、抽出画像において演算した差分が所定の閾値以上となる画素の数を算出して差分検出数表示部708に表示させる。そして、差分判定部311は、差分の演算の対象となった検知領域535を構成する画素の数に対する、抽出画像において差分が所定の閾値以上となる画素の数の割合を算出して差分検出割合表示部709に表示させる。ここで、差分の最大値は、例えば「255」とする。
また、差分判定部311は、演算した差分の特徴を示す差分特徴画像を差異表示部705に表示させる。具体的には、差分判定部311は、図20に示すように、演算した差分が上述の各所定幅のどれに属するかによって色分けし、演算した差分に対応する画素上に、その差分に対応する色のドットを重畳させて差分特徴画像を生成する。
図21に示す感度設定プレビュー画面700は、ユーザが図20の差分結果を踏まえて、図20の場合よりも感度を減少させ、差分判定部311により、再度、差分演算が実行された結果を示している。具体的には、まず、ユーザによる入力装置303の操作によって、感度減少ボタン710bを押下して、差分演算に用いる感度を「50」から「40」に減少させる。そして、映像表示部702において映像データの表示中に、差分演算を所望するタイミング(ここでは、図20のタイミングと同様とする)で、ユーザによる入力装置303の操作によって判定ボタン711を押下する。すると、画像抽出部310は、第2再生部309により映像データが表示されている映像表示部702において、検知領域指定部307により指定された検知領域535に対応する部分の画像を抽出画像として抽出し、抽出画像表示部704に表示させる。
ここで、図20のタイミングで判定ボタン711で押下されたものとしているので、抽出画像表示部704、差異表示部705、色別検出数表示部706および領域画素数表示部707に表示される画像および情報は、図20と同様である。
ただし、差分判定部311は、抽出画像において演算した差分が所定の閾値以上となる画素の数を算出して差分検出数表示部708に表示させる。この場合、差分判定部311による差分演算の感度が図20の場合よりも低い値となっているので、抽出画像において演算した差分が所定の閾値以上となる画素の数は、図20の場合よりも大きくなる(図21の例では、「10」から「16」となっている)。そして、差分判定部311は、差分の演算の対象となった検知領域535を構成する画素の数に対する、抽出画像において差分が所定の閾値以上となる画素の数の割合を算出して差分検出割合表示部709に表示させる。この場合、差分判定部311による差分演算の感度が図20の場合よりも低い値となっているので、抽出画像において演算した差分が所定の閾値以上となる画素の数の割合は、図20の場合よりも大きくなる(図21の例では、「4.4%」から「7.1%」となっている)。
図22に示す感度設定プレビュー画面700は、図21で調整した感度を適用するために、ユーザがOKボタン712を押下することにより感度適用確認ダイアログ800が表示された状態を示している。図23に示す設定画面500は、感度設定プレビュー画面700において対象となる検知領域(図22および23では検知領域535)について調整された感度が検知領域情報部509に反映された状態を示している。
具体的には、ユーザによる入力装置303の操作によってOKボタン712が押下されると、設定部308は、図21で調整した感度(値としては「40」)を適用、すなわち、設定画面500の検知領域情報部509に反映させるか否かを確認する感度適用確認ダイアログ800を表示装置317に表示させる。感度適用確認ダイアログ800は、はいボタン801と、いいえボタン802と、キャンセルボタン803と、閉じるボタン804と、を含む。閉じるボタン804は、感度適用確認ダイアログ800を閉じるためのボタンである。
ユーザによる入力装置303の操作によって、はいボタン801を押下した場合、差分判定部311は、図21で調整された感度(検知領域情報部701に表示されている感度)を、図23に示すように、設定画面500の検知領域情報部509に反映させる。そして、設定部308は、感度適用確認ダイアログ800および感度設定プレビュー画面700を閉じて、設定画面500を表示装置317に表示させる。
また、ユーザによる入力装置303の操作によって、いいえボタン802を押下した場合、差分判定部311は、図21で調整された感度を、設定画面500の検知領域情報部509には反映させない。そして、設定部308は、感度適用確認ダイアログ800および感度設定プレビュー画面700を閉じて、設定画面500を表示装置317に表示させる。
また、ユーザによる入力装置303の操作によって、キャンセルボタン803を押下した場合、差分判定部311は、図21で調整された感度を、設定画面500の検知領域情報部509には反映させない。そして、設定部308は、感度適用確認ダイアログ800を閉じて、感度設定プレビュー画面700を表示装置317に表示させたままとする。
(トリガ領域および検知領域を指定する設定動作の流れ)
図24は、第1の実施の形態に係る情報処理装置の表示装置に表示される設定画面においてトリガ領域および検知領域を指定する設定動作の例を示すフローチャートである。図24を参照しながら、設定画面500においてトリガ領域および検知領域を指定する設定動作の流れを総括的に説明する。
<ステップS11>
第1再生部304は、ユーザによる入力装置303の操作に従って、映像データを記憶部302から取得して、映像表示部502に再生表示させる。そして。ステップS12へ移行する。
<ステップS12>
映像表示部502において映像データの再生表示中に、トリガの発生の基となる所望する画像の部分が表示されているタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下されると、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止する。ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、トリガ領域指定部305は、映像表示部502においてトリガ領域を指定して表示させる。そして、ステップS13へ移行する。
<ステップS13>
変化点検出部306は、トリガ領域指定部305によりトリガ領域が指定された場合、指定された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻の前後の所定時間(例えば前後2秒間)分のフレームを取得し、取得したフレームにおいて、フレームごとに直前のフレームとの画素値についての差分を演算し、演算した差分に基づいて、トリガ領域内の画像についての変化点を検出する。具体的な変化点の検出方法は、図7〜9で上述した通りである。そして、ステップS14へ移行する。
<ステップS14>
変化点検出部306によって変化点が検出された場合(ステップS14:Yes)、ステップS15へ移行し、変化点が検出されなかった場合(ステップS14:No)、ステップS11へ戻る。
<ステップS15>
変化点検出部306は、変化点としてIN点を検出した場合、IN点のフレームのトリガ領域530内の画像を差分画像として抽出する。また、変化点検出部306は、変化点としてOUT点を検出した場合、OUT点のフレームのトリガ領域530内の画像を差分画像として抽出する。変化点検出部306は、抽出した基準画像、および変化点のフレームにおける差分画像を記憶部302に記憶させ、基準画像を基準画像表示部508aに表示させ、差分画像を差分画像表示部508bに表示させる。また、トリガ領域指定部305は、指定したトリガ領域の情報を記憶部302に記憶させる。そして、ステップS16へ移行する。
<ステップS16>
映像表示部502において映像データの再生表示中に、画像判定を所望する画像の部分が表示されているタイミング、すなわち、検知領域の指定を所望するフレームが表示されたタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下されると、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止する。そして、ステップS17へ移行する。
<ステップS17>
ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、検知領域指定部307は、映像表示部502において検知領域を指定して表示させる。また、設定部308は、検知領域535の属性情報として、検知領域指定部307により指定された検知領域に命名した名前、ならびに、デフォルト値として、画像判定で使用する所定の感度および所定の閾値、監視方法、アクションの有無および画像判定の方法(例えば、「一致」)を、検知領域情報部509に表示させる。また、設定部308は、変化点検出部306によって検出された変化点の時刻に対して、検知領域指定部307により検知領域が指定された時点のフレームの時刻の遅延時間を属性情報として算出して、検知領域情報部509に表示させる。また、設定部308は、検知領域情報部509に表示させた検知領域535の属性情報を、記憶部302に記憶させる。そして、ステップS18へ移行する。
<ステップS18>
ユーザによる入力装置303の操作によって、検知領域情報部509に属性情報が表示された検知領域のいずれかを選択すると、設定部308は、選択された検知領域情報部509の検知領域の属性情報の表示部分を反転表示させる。次に、ユーザによる入力装置303の操作によって、アクションボタン510aを押下すると、設定部308は、選択された検知領域のアクションの有無の設定値を切り替える。また、ユーザによる入力装置303の操作によって、画像判定選択ボタン510bを押下すると、設定部308は、選択された検知領域の画面判定の方法の設定値を切り替える。
また、ユーザによる入力装置303の操作によって、感度増加ボタン510eを押下すると、設定部308は、選択された検知領域の画像判定に用いられる感度の値を所定値だけ増加させる。一方、ユーザによる入力装置303の操作によって、感度減少ボタン510fを押下すると、設定部308は、選択された検知領域の画像判定に用いられる感度の値を所定値だけ減少させる。なお、選択された検知領域の画像判定に用いられる感度は、上述のように感度設定プレビュー画面700において設定することができる。
また、ユーザによる入力装置303の操作によって、閾値増加ボタン510gを押下すると、設定部308は、選択された検知領域の画像判定に用いられる閾値の値を所定値だけ増加させる。一方、ユーザによる入力装置303の操作によって、閾値減少ボタン510hを押下すると、設定部308は、選択された検知領域の画像判定に用いられる閾値の値を所定値だけ減少させる。選択された検知領域の属性情報の設定が終了すると、ステップS19へ移行する。
<ステップS19>
映像データが表示している映像表示部502において、検知領域の指定が全て終了した場合(ステップS19:Yes)、トリガ領域および検知領域を指定する設定動作が終了し、検知領域の指定が全て終了していない場合(ステップS19:No)、ステップS16へ戻る。
(メイン画面における画像判定動作)
図25は、第1の実施の形態に係る情報処理装置の表示装置に表示されるメイン画面においてトリガ領域および検知領域が指定された後の状態の例を示す図である。図26は、第1の実施の形態に係る情報処理装置による画像判定動作の例を示すフローチャートである。図27は、第1の実施の形態に係る情報処理装置の表示装置に表示されるメイン画面においてトリガ領域のトリガが発生した場合の当該トリガ領域の表示状態、および検知領域の検知タイミングにおける当該検知領域の表示状態の例を示す図である。
まず、図25を参照しながら、メイン画面400における画像判定動作について説明する。図25に示すメイン画面400は、複数の撮像装置2から受信した映像データをリアルタイムに表示し、映像表示部401bでトリガ領域「TR2」が指定され、映像表示部401fでトリガ領域「TR6」、ならびに検知領域「K61」、「K62」および「K21」が指定された状態を示している。具体的なメイン画面400における画像判定動作では、まず、映像振分部312が、映像受信部301から取得したリアルタイムの映像データを映像表示部401a〜401fに振り分けて表示させる。トリガ生成部313は、記憶部302から、変化点検出部306により検出された変化点のフレームにおける差分画像を取得する。そして、トリガ生成部313は、映像表示部401bで指定されているトリガ領域「TR2」、および映像表示部401fで指定されているトリガ領域「TR6」において、それぞれ差分画像と、映像データのフレームのトリガ領域の画像とを比較する。なお、ここでの映像表示部401b、401fは、「第2表示領域」に対応する。トリガ生成部313は、映像データのフレームのトリガ領域の画像が、変化点のフレームにおける差分画像と比較して、画素値が所定の感度以上異なる画素の数の合計である差分(第2差分)が所定の閾値未満となったタイミングでトリガ信号を生成する。
検知領域「K61」、「K62」の属性情報のうち検知遅延時間が図23に示す値に設定されているものとする。また、検知領域「K21」の属性情報のうち検知遅延時間が図15に示す値に設定されているものとする。検知領域判定部314は、記憶部302から、指定された検知領域の属性情報を取得する。検知領域判定部314は、トリガ生成部313により生成されたトリガ信号を受け取ったときの設定時間前または設定時間後に、指定された検知領域において、検知基準画像と、映像データのフレームの検知領域の画像とを比較して異常であるか否かの画像判定をする。
具体的には、検知領域判定部314は、トリガ生成部313によりトリガ領域「TR6」に対応するトリガ信号を受け取った時点から、検知領域「K61」に対応する検知遅延時間「1.5」秒後の映像データのフレームの検知領域の画像と、検知基準画像とを比較して異常であるか否かの画像判定をする。このとき、画像判定として、検知領域判定部314は、検知基準画像と、検知領域の画像との比較で、画素値が検知領域「K61」の属性情報の感度以上異なる画素の数の合計である差分(第3差分)が、当該属性情報の閾値(第3閾値)以上となった場合に、検知領域「K61」の画像判定は異常と判定する。このように、検知領域判定部314が、トリガ信号を受け取った時点から先のタイミングで画像判定する場合の例としては、圧入機等の設備において、圧入動作開始のタイミングをトリガとして、圧入後の圧入状態を画像判定する場合が挙げられる。具体的には、トリガ生成部313は、圧入機がワークに対して圧入部品を圧入する動作を開始するタイミングをトリガとしてトリガ信号を生成する。その後、圧入機は、ワークに圧入部品を圧入し、圧入動作終了後、圧入機の各アクチュエータは原点位置に戻る。そして、検知領域判定部314は、圧入後のワークの圧入状態に対して画像判定を行う。この検知領域判定部314による画像判定のタイミングが、トリガ生成部313からトリガ信号を受けてから、検知遅延時間で設定された時間後のタイミングとなる。トリガ信号が生成される圧入動作の開始から、圧入後の圧入状態の画像判定が実行されるまでの時間は、圧入機による自動動作なので固定時間となり、トリガのタイミングから画像判定をするまでの検知遅延時間を固定の時間として設定できることになる。
また、検知領域判定部314は、トリガ生成部313によりトリガ領域「TR6」に対応するトリガ信号を受け取った時点から、検知領域「K62」に対応する検知遅延時間「−0.86」秒後、すなわち「0.86」秒前の映像データのフレームの検知領域の画像と、検知基準画像とを比較して異常であるか否かの画像判定をする。このように、検知領域判定部314が、トリガ信号を受け取った時点から前のタイミングで画像判定する場合の例としては、手動により圧入部品をワークに圧入する圧入機等の設備において、作業者が圧入後のワークを完成品入れに入れるタイミングをトリガとして、完成品入れに入れられる前に圧入器にセットされている状態の圧入後のワークを画像判定する場合が挙げられる。具体的には、まず、作業者が圧入前のワークを圧入機にセットする。次に、作業者は、圧入開始ボタンを押下し、圧入機がワークに対して圧入部品の圧入動作を開始する。圧入後、作業者は、圧入後のワークを取り上げて完成品入れに入れる。トリガ生成部313は、作業者が、圧入後のワークを完成品入れに入れるタイミングをトリガとしてトリガ信号を生成する。そして、検知領域判定部314は、トリガ信号を受け取った時点から、検知遅延時間で設定された時間前のタイミング、すなわち、完成品入れに入れられる前の圧入機にセットされているタイミングで、圧入後のワークを画像判定する。このように、トリガ信号が生成された時点から前のタイミングで圧入機にセットされているワークに対して画像判定することによって以下の事態を回避できる。すなわち、例えば、作業者がワークをセットした後に、昼休み等で作業現場を一時退去し、戻った後に圧入動作を忘れて、圧入前のワークを完成品入れに入れてしまう場合がある。この場合、完成品入れにワークを入れたタイミングをトリガとして、そのトリガの時点から検知遅延時間で設定された時間前のタイミングで画像判定することにより、作業者は、圧入前のワークであることを判断することができ、圧入前のワークが完成品入れに混入することを抑制することができる。
また、検知領域判定部314は、トリガ生成部313によりトリガ領域「TR2」に対応するトリガ信号を受け取った時点から、検知領域「K21」に対応する検知遅延時間「1.5」秒後の映像データのフレームの検知領域の画像と、検知基準画像とを比較して異常であるか否かの画像判定をする。
そして、外部出力部316は、検知領域判定部314により異常の判定がなされた場合、異常信号を外部機器10に出力する。
次に、図26を参照しながら、メイン画面400における画像判定動作の一連の流れを総括的に説明する。
<ステップS31>
映像振分部312が、撮像装置2から映像受信部301を介して、映像データが取得可能である場合(ステップS31:Yes)、ステップS32へ移行し、取得が不可である場合(ステップS31:No)、待機状態となる。
<ステップS32>
映像振分部312は、映像受信部301から取得したリアルタイムの映像データを映像表示部401a〜401fに振り分けて表示させると共に、記憶部302に映像データを記憶する。そして、ステップS33へ移行する。
<ステップS33>
記憶部302に記憶された映像データとして、現在時刻の所定時間前より過去のフレームが存在する場合(ステップS33:Yes)、ステップS34へ移行し、存在しない場合(ステップS33:No)、ステップS31へ戻る。
<ステップS34>
映像振分部312は、記憶部302に記憶された映像データとして、現在時刻の所定時間前より過去のフレームを削除する。そして、ステップS35へ移行する。
<ステップS35>
トリガ生成部313は、記憶部302から、変化点検出部306により検出された変化点のフレームにおける差分画像を取得する。そして、トリガ生成部313は、指定されているトリガ領域において、差分画像と、映像データのフレームのトリガ領域の画像とを比較する。そして、ステップS36へ移行する。
<ステップS36>
トリガ生成部313は、映像データのフレームのトリガ領域の画像が、変化点のフレームにおける差分画像と比較して、画素値が所定の感度以上異なる画素の数の合計である差分(第2差分)が所定の閾値(第2閾値)未満となったタイミングでトリガ信号を生成する。トリガ生成部313によってトリガ信号が生成され出力された場合(ステップS36:Yes)、ステップS37へ移行し、出力されてない場合(ステップS36:No)、ステップS31へ戻る。例えば、図27(a)に示すように、トリガ生成部313は、トリガ領域指定部305により指定されたトリガ領域「TR6」(トリガ領域530a)においてトリガ信号を生成して出力したタイミングで、トリガ領域530aの枠の色を反転表示させる。これによって、トリガ生成部313によりいつトリガが出力されたかを視覚的に把握できる。
<ステップS37>
検知領域指定部307によって指定された検知領域のうち、トリガ生成部313によるトリガのタイミングから過去のタイミングで検知領域判定部314により画像判定(検知)がなされる検知領域がある場合(ステップS37:Yes)、ステップS38へ移行し、ない場合(ステップS37:No)、ステップS41へ移行する。
<ステップS38>
検知領域判定部314は、トリガ生成部313によりトリガ領域に対応するトリガ信号を受け取った時点から、検知領域に対応する所定時間(検知遅延時間)前の映像データのフレームの検知領域の画像と、検知基準画像とを比較して異常であるか否かの画像判定をする。そして、ステップS39へ進む。
<ステップS39>
検知領域判定部314は、検知領域の属性情報の画面判定の方法が「一致」である場合、検知基準画像と、検知領域の画像との比較で、画素値が検知領域の属性情報の感度以上異なる画素の数の合計である差分が、当該属性情報の閾値以上となった場合に、検知領域の画像判定は異常と判定(異常検知)する。検知領域判定部314により異常と判定された場合(ステップS39:Yes)、ステップS40へ移行し、正常と判定された場合(ステップS39:No)、ステップS37へ戻る。なお、検知領域判定部314は、検知領域の属性情報の画面判定の方法が「不一致」である場合、検知基準画像と、検知領域の画像との比較で、画素値が検知領域の属性情報の感度以上異なる画素の数の合計である差分が、当該属性情報の閾値未満となった場合に、検知領域の画像判定は異常と判定(異常検知)する。
<ステップS40>
外部出力部316は、検知領域判定部314により異常の判定がなされた場合、異常信号を外部機器10に出力する。そして、ステップS37へ戻る。
<ステップS41>
検知領域指定部307によって指定された検知領域のうち、トリガ生成部313によるトリガのタイミングから未来のタイミングで検知領域判定部314により画像判定(検知)がなされる検知領域であって、現在が画像判定(検知)のタイミングとなった場合(ステップS41:Yes)、ステップS42へ移行し、当該タイミングとなっていない場合(ステップS41:No)、ステップS45へ移行する。
<ステップS42>
検知領域判定部314は、トリガ生成部313によりトリガ領域に対応するトリガ信号を受け取った時点から、検知領域に対応する所定時間(検知遅延時間)後の映像データのフレームの検知領域の画像と、検知基準画像とを比較して異常であるか否かの画像判定をする。例えば、図27(b)に示すように、検知領域判定部314は、検知領域指定部307により指定された検知領域「K61」(検知領域535)において画像判定を実行したタイミングで、検知領域535の枠の色を反転表示させる。これによって、検知領域判定部314によりいつ画像判定されたかを視覚的には把握できる。そして、ステップS43へ進む。
<ステップS43>
検知領域判定部314は、検知領域の属性情報の画面判定の方法が「一致」である場合、検知基準画像と、検知領域の画像との比較で、画素値が検知領域の属性情報の感度以上異なる画素の数の合計である差分が、当該属性情報の閾値以上となった場合に、検知領域の画像判定は異常と判定(異常検知)する。検知領域判定部314により異常と判定された場合(ステップS43:Yes)、ステップS44へ移行し、正常と判定された場合(ステップS43:No)、ステップS41へ戻る。なお、検知領域判定部314は、検知領域の属性情報の画面判定の方法が「不一致」である場合、検知基準画像と、検知領域の画像との比較で、画素値が検知領域の属性情報の感度以上異なる画素の数の合計である差分が、当該属性情報の閾値未満となった場合に、検知領域の画像判定は異常と判定(異常検知)する。
<ステップS44>
外部出力部316は、検知領域判定部314により異常の判定がなされた場合、異常信号を外部機器10に出力する。そして、ステップS41へ戻る。
<ステップS45>
検知領域指定部307によって指定された検知領域のうち、トリガ生成部313によるトリガのタイミングから未来のタイミングで検知領域判定部314により画像判定(検知)がなされる検知領域であって、まだ画像判定がなされていない検知領域がある場合(ステップS45:Yes)、ステップS41へ戻り、ない場合(ステップS45:No)、画像判定動作を終了する。
以上のように、ユーザによる入力装置303の操作によって、トリガ領域指定部305は、映像表示部502においてトリガ領域を指定して表示させ、変化点検出部306は、指定された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻の前後の所定時間分のフレームを取得し、トリガ領域が指定された時刻のトリガ領域内で抽出した画像である基準画像と、取得したフレームのトリガ領域内の画像との画素値についての差分を演算するものとしている。さらに、変化点検出部306は、演算した差分を時系列に表したグラフにおいて、取得したフレームの最初のフレームのトリガ領域内の画像に対して、画素値が所定の感度以上異なる画素の数の合計を差分として、その差分が所定の閾値以上となり、かつ、基準画像と比較してほとんど差分がない状態になった時点を変化点(IN点)として検出する。また、変化点検出部306は、演算した差分を時系列に表したグラフにおいて、取得したフレームの最初のフレームのトリガ領域内の画像であって、基準画像と比較してほとんど差分がない画像である場合、その最初のフレームのトリガ領域内の画像から、画素値が所定の感度以上異なる画素の数の合計を差分として、その差分が所定の閾値以上となった時点を変化点(OUT点)として検出する。そして、トリガ生成部313は、変化点検出部306により検出された変化点がOUT点である場合、映像データのフレームのトリガ領域の画像が、基準画像と比較して差分がほぼない状態から、画素値が所定の感度以上異なる画素の数の合計である差分が所定の閾値以上となったタイミングでトリガ信号を生成する。また、トリガ生成部313は、変化点がIN点である場合、映像データのフレームのトリガ領域の画像(差分画像)に対して、画素値が所定の感度以上異なる画素の数の合計である差分が所定の閾値以上となり、かつ、基準画像と比較してほとんど差分がない状態となったタイミングでトリガ信号を生成する。これによって、検知領域判定部314による画像判定のタイミングの基準となるトリガのタイミングを自由に生成することができる。
また、映像表示部502において映像データの再生表示中に、画像判定を所望する画像の部分が表示されているタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下され、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止する。そして、ユーザによる入力装置303の操作によって、検知領域指定部307は、映像表示部502において検知領域を指定して表示させる。また、設定部308は、変化点検出部306によって検出された変化点の時刻に対して、検知領域指定部307により検知領域が指定された時点のフレームの時刻の遅延時間を属性情報として算出する。そして、検知領域判定部314は、トリガ生成部313により生成されたトリガ信号を受け取ったときから、設定部308により設定された遅延時間前または遅延時間後に、指定された検知領域において、検知基準画像と、映像データのフレームの検知領域の画像とを比較して異常であるか否かの画像判定をする。これによって、生成されたトリガのタイミングを基準にして、所定時間後のフレームの検知領域の画像に対して画像判定するのみならず、所定時間前の過去のフレームの検知領域の画像に対しても画像判定することができる。よって、画像判定のタイミングの設計の自由度を飛躍的に向上させることができる。
なお、本実施の形態において、設定画面500では、映像表示部502においてトリガ領域および検知領域の指定等が行われ、メイン画面400では、映像表示部401で表示される画像に基づいてトリガ信号が生成され、かつ、画像判定が実行されるものとしているが、これに限定されるものではない。すなわち、設定画面500およびメイン画面400の双方の機能を統一して、例えば、映像表示部502と映像表示部401とを同一の表示部として、トリガ領域および検知領域の指定等、ならびに、トリガ信号の生成および画像判定が実行できるものとしてもよい。この場合、映像表示部502と映像表示部401とを同一の表示部とした場合、当該表示部は「第1表示部」および「第2表示部」の双方に相当する。
また、トリガ生成部313により生成されたトリガ信号は、上述の実施の形態では検知領域判定部314による画像判定のタイミングの基準として用いられているが、これに限定されるものではない。例えば、トリガ信号は、生産設備側で所定の処理を行わせるタイミングの基準に用いられるようにしてもよく、その場合には、トリガ信号が生成された時点でトリガ信号を生産設備に送信するようにしてもよい。
[第2の実施の形態]
本実施の形態の情報処理装置3について、第1の実施形態の情報処理装置3と相違する点を中心に説明する。特に、本実施の形態の情報処理装置3のトリガ領域における変化点の検出の動作について、第1の実施の形態の情報処理装置3と相違する点を詳述する。なお、本実施の形態の画像処理システム1の全体構成、情報処理装置3のハードウェア構成およびブロック構成、メイン画面400の構成、設定画面500の構成、検知領域の指定および検知領域の属性情報の設定の動作、感度設定プレビュー画面700における感度調整の動作、ならびにメイン画面400における画像判定動作は、第1の実施の形態と同様である。
(情報処理装置のブロック構成)
上述のように、本実施の形態の情報処理装置3のブロック構成は、図3に示す第1の実施の形態の情報処理装置3のブロック構成と同様であるが、動作が相違する機能部について説明する。
本実施の形態では、変化点検出部306は、トリガ領域指定部305によりトリガ領域が指定された場合、指定された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻から所定時間(例えば、3秒)前までのフレームを取得し、取得したフレームにおいて、フレームごとに直前のフレームとの画素値についての差分を演算し、演算した差分に基づいて、トリガ領域530内の画像についての基準画像を検出する機能部である。また、変化点検出部306は、検出した基準画像のフレーム(基準フレーム)の時刻から所定時間(例えば、6秒)後までのフレームを取得し、取得したフレームにおいて、フレームごとに基準フレームとの画素値についての差分(第1差分)を演算し、演算した差分に基づいて、トリガ領域内の画像についての変化点を検出する。本実施の形態における変化点については、後述する。上述の差分の演算方法としては、例えば、2つのフレームのトリガ領域における画素値を比較し、画素値が所定の感度以上異なる画素の数の合計、または、トリガ領域の画像の画素のうち、画素値が所定の感度以上異なる画素の数の比率(面積比)を差分として算出する。また、フレームがグレースケールの画像である場合、画素値は輝度値と一致するので、2つのフレームのトリガ領域における輝度値を比較し、輝度値が所定の感度以上異なる画素の数を算出するものとしてもよい。また、フレームがRGBの画素値で構成された画像である場合、R(赤)、G(緑)またはB(青)のいずれかの画素値を比較して、上述と同様に、画素値が所定の感度以上異なる画素の数を算出するものとしてもよい。また、フレームの画像におけるエッジ検出処理を行い、エッジ部分の合計を差分として算出してもよい。変化点検出部306は、図2に示すCPU101により実行されるプログラムによって実現される。
(トリガ領域の指定および変化点の検出)
図28は、第2の実施の形態に係る情報処理装置の表示装置に表示される設定画面においてトリガ領域における基準画像が見つからなかった場合に表示されるダイアログの例を示す図である。図29は、第2の実施の形態のトリガ領域における変化点を検出する動作を説明する図である。図28および29、ならびに、第1の実施の形態における図面を参照しながら、トリガ領域の指定、基準画像の検出および変化点の検出について説明する。
まず、図6に示すように、映像表示部502において映像データの再生表示中に、トリガの発生の基となる所望する画像の部分が表示されているタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下されると、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止し、その時点のフレームの撮像日付および撮像時刻を時刻表示部506に表示させる。次に、ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、トリガ領域指定部305は、映像表示部502(第1表示領域)においてトリガ領域530を指定して表示させる。
次に、変化点検出部306は、トリガ領域指定部305によりトリガ領域530が指定された場合、指定された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻から所定時間(例えば、3秒)(第1所定時間)前までのフレームを取得する。そして、変化点検出部306は、取得したフレームにおいて、フレームごとに直前のフレームとの画素値についての差分を演算し、演算した差分に基づいて、トリガ領域530内の画像についての基準画像を検出する。具体的には、変化点検出部306は、取得したフレームにおいて、対象のフレームのトリガ領域530の画像の画素値と、そのフレームの直前のフレームのトリガ領域530の画像の画素値との差が所定の感度(例えば「30」)以上異なる画素の数の比率(面積比)を差分として算出し、その差分が所定の閾値(例えば「5%」)以下となった場合における、対象のフレームのトリガ領域530の画像を基準画像として検出する。
なお、上述の基準画像を検出するために用いる所定時間、所定の感度、および所定の閾値の具体的数値は例示であり、他の値でもよく、または、記憶部302に設定ファイルとして記憶され編集可能であるものとしてもよい。また、上述のように、変化点検出部306は、第1再生部304が再生表示している映像データのフレームの撮像時刻から所定時間前までのフレームを取得するものとしているが、これに限定されるものではない。例えば、変化点検出部306は、第1再生部304が再生表示している映像データのフレームの撮像時刻の前後の所定時間分のフレーム、または、撮像時刻から所定時間後までのフレームを取得してもよい。
図28に示す設定画面500は、変化点検出部306によって、トリガ領域指定部305により指定されたトリガ領域530において基準画像が検出されなかった場合に、基準画像無し通知ダイアログ620が表示された状態を示している。変化点検出部306は、上述の基準画像の検出動作で、演算した差分が所定の閾値以上とならず、基準画像が検出できない場合がある。この場合、変化点検出部306は、基準画像が検出できなかった旨を示す基準画像無し通知ダイアログ620を表示装置317に表示させる。
基準画像無し通知ダイアログ620は、OKボタン621と、閉じるボタン622と、を含む。OKボタン621は、基準画像無し通知ダイアログ620を閉じるためのボタンである。ユーザによる入力装置303の操作によって、OKボタン621を押下した場合、変化点検出部306は、記憶部302に何の情報も記憶せず、基準画像表示部508aおよび差分画像表示部508bにも画像を表示させずに、基準画像無し通知ダイアログ620を閉じる。
次に、変化点検出部306は、基準画像を検出した場合、基準画像のフレームである基準フレームの撮像時刻から所定時間(例えば、6秒)(第2所定時間)後までのフレームを取得する。そして、変化点検出部306は、取得したフレームにおいて、フレームごとに基準フレームとの画素値についての差分(第1差分)を演算し、演算した差分に基づいて、トリガ領域内の画像についての変化点を検出する。ここで、差分の演算方法としては、例えば、変化点検出部306により取得したフレームにおいて、対象のフレームのトリガ領域530の画像の画素値と、基準フレームのトリガ領域530の画像の画素値との差が所定の感度(例えば「50」)以上異なる画素の数の比率(面積比)を差分とする。以下、変化点検出部306による具体的な変化点の検出方法について説明する。
変化点検出部306は、図29(a)に示すように、基準フレームの撮像時刻からの所定時間分のフレームとして13個のフレーム(フレーム(0)〜フレーム(12))を取得したものとする。この場合、変化点検出部306によって、フレーム(0)を基準フレームとして、そこから所定時間分のフレームが取得されたことになる。また、説明を簡略にするため、各フレームにおけるトリガ領域530に対応する部分の画像についても、それぞれフレーム(0)〜フレーム(12)と称するものとする。そして、変化点検出部306は、取得したフレームにおいて、フレームごとに基準フレームとの画素値についての差分を演算する。差分の演算方法については、上述した通りである。変化点検出部306が図29(a)に例示したフレームを抽出し、フレームごとに演算した差分を時系列に表したグラフが、図29(b)に示すグラフである。図29(b)において、例えば、フレーム(2)の差分は、フレーム(2)と、基準フレームであるフレーム(0)との差分を示す。ここで、本実施の形態の変化点としてのIN点およびOUT点を次のように定義する。すなわち、IN点とは、連続するフレームにおいてトリガ領域530内の画像が、基準フレームのトリガ領域530内の画像と比較して所定の程度だけ変化した時点とする。また、OUT点とは、IN点から、連続するフレームにおいてトリガ領域530内の画像が、基準フレームのトリガ領域530内の画像に近似した時点とする。
変化点検出部306は、フレームごとに演算した差分に基づいて、IN点の候補、およびOUT点の候補を見つける。具体的には、変化点検出部306は、演算した差分が、所定の閾値(例えば、20%)(第1閾値)以下の状態からその閾値を超えた場合、その閾値を超えた差分に対応するフレームをIN点の候補のフレームとする。図29(b)の例では、フレーム(1)〜(3)の差分は閾値未満であり、フレーム(4)になると差分が閾値を超えるので、フレーム(4)がIN点の候補のフレームとなる。同様に、フレーム(10)もIN点の候補のフレームとなる。
一方、変化点検出部306は、演算した差分が、所定の閾値(第1閾値)より大きい状態からその閾値以下となった場合、その閾値以下となった差分に対応するフレームをOUT点の候補のフレームとする。図29(b)の例では、フレーム(4)〜(6)の差分は閾値より大きく、フレーム(7)になると差分が閾値以下となるので、フレーム(7)がOUT点の候補のフレームとなる。同様に、フレーム(11)もOUT点の候補のフレームとなる。
以上のように、変化点検出部306は、図29の例では、IN点の候補のフレームとしてフレーム(4)および(10)を特定し、OUT点の候補のフレームとしてフレーム(7)および(11)を特定する。このように、変化点検出部306は、IN点の候補のフレームが複数特定された場合、基準フレームに最も近いフレーム、すなわちフレーム(4)をIN点のフレームに決定する。同様に、変化点検出部306は、OUT点の候補のフレームが複数特定された場合、基準フレームに最も近いフレーム、すなわちフレーム(7)をOUT点のフレームに決定する。以上のように、変化点検出部306は、取得した所定時間分のフレームから、IN点のフレームおよびOUT点のフレームを決定することにより、変化点(IN点およびOUT点)を検出する。なお、変化点検出部306は、変化点を検出した場合、変化点のフレームの前のフレーム、もしくは後のフレーム、または前後のフレームを用いて、トリガ領域530内の動体検知を行い、どの方向から動体が入ってきたのかを示すベクトル情報を記憶部302に記憶させるものとしてもよい。この場合、トリガ生成部313は、記憶部302に記憶されたベクトル情報を用いて、動体がベクトル情報の示す方向と同一の方向から動いてきたか否かを確認し、その確認結果に基づいてトリガ信号を生成するものとしてもよい。
また、図29では、IN点およびOUT点の双方のフレームが見つかる例を示したが、変化点検出部306は、IN点のフレームのみ、または、OUT点のフレームのみを見つける場合もあり、この場合は、これらのIN点またはOUT点を変化点として検出する。この場合、変化点検出部306は、検出した変化点のフレームのトリガ領域530内の画像を差分画像(第1画像)として抽出する。変化点検出部306は、抽出した基準画像、および変化点のフレームにおける差分画像を記憶部302に記憶させ、基準画像を基準画像表示部508aに表示させ、差分画像を差分画像表示部508bに表示させる。さらに、変化点検出部306は、シークバー504において、検出した変化点のフレームの時刻に対応する部分にトリガマーク540を表示する。また、変化点検出部306により変化点が検出された場合、トリガ領域指定部305は、指定したトリガ領域530の情報を記憶部302に記憶させる。また、設定部308は、トリガ領域指定部305により指定されたトリガ領域530に命名した名前、ならびに、トリガ生成部313によるトリガの検出に利用する所定の感度(例えば、「50」)および所定の閾値(例えば、「20%」)(デフォルト値)を、トリガ領域情報部507に表示させる。設定部308は、トリガ領域530の名前として、上述の図7に示すように、例えば、「6」の撮像装置(撮像装置2f)の映像データに対して指定されたトリガ領域であるものとして、「TR6」と命名する。
なお、上述の変化点を検出するために用いる所定時間、所定の感度、および所定の閾値の具体的数値は例示であり、他の値でもよく、または、記憶部302に設定ファイルとして記憶され編集可能であるものとしてもよい。
また、変化点検出部306によって、トリガ領域指定部305により指定されたトリガ領域530において変化点が上述のように2つ(IN点およびOUT点)検出された場合は、上述の図9で示した変化点選択ダイアログ600による動作と同様である。このように、変化点検出部306により変化点としてIN点およびOUT点が検出され、ユーザにより2つの変化点のいずれかを選択できるようにすることにより、ユーザが真に指定を所望する変化点を選択させることができる。
また、変化点検出部306によって、トリガ領域指定部305により指定されたトリガ領域530において変化点が見つからなかった場合は、上述の図10で示した変化点無し通知ダイアログ610による動作と同様である。
(トリガ領域および検知領域を指定する設定動作の流れ)
図30は、第2の実施の形態に係る情報処理装置の表示装置に表示される設定画面においてトリガ領域および検知領域を指定する設定動作の例を示すフローチャートである。図30を参照しながら、設定画面500においてトリガ領域および検知領域を指定する設定動作の流れを総括的に説明する。
<ステップS51>
第1再生部304は、ユーザによる入力装置303の操作に従って、映像データを記憶部302から取得して、映像表示部502に再生表示させる。そして、ステップS52へ移行する。
<ステップS52>
映像表示部502において映像データの再生表示中に、トリガの発生の基となる所望する画像の部分が表示されているタイミングで、ユーザによる入力装置303の操作によって一時停止ボタン503bが押下されると、第1再生部304は、映像表示部502に再生表示されている映像データを一時停止する。ユーザによる入力装置303の操作(例えば、マウス108のドラッグ操作)によって、トリガ領域指定部305は、映像表示部502においてトリガ領域を指定して表示させる。そして、ステップS53へ移行する。
<ステップS53>
変化点検出部306は、トリガ領域指定部305によりトリガ領域530が指定された場合、指定された時点で第1再生部304が再生表示している映像データのフレームの撮像時刻から所定時間(例えば、3秒)前までのフレームを取得する。そして、変化点検出部306は、取得したフレームにおいて、フレームごとに直前のフレームとの画素値についての差分を演算し、演算した差分に基づいて、トリガ領域530内の画像についての基準画像を検出する。具体的な基準画像の検出方法は、上述した通りである。そして、ステップS54へ移行する。
<ステップS54>
変化点検出部306によって基準画像が検出された場合(ステップS54:Yes)、ステップS55へ移行し、基準画像が検出されなかった場合(ステップS54:No)、ステップS51へ戻る。
<ステップS55>
変化点検出部306は、基準画像を検出した場合、基準フレームの撮像時刻から所定時間(例えば、6秒)後までのフレームを取得する。そして、変化点検出部306は、取得したフレームにおいて、フレームごとに基準フレームとの画素値についての差分を演算し、演算した差分に基づいて、トリガ領域内の画像についての変化点を検出する。具体的な変化点の検出方法は、図28および29等で上述した通りである。そして、ステップS56へ移行する。
<ステップS56>
変化点検出部306によって変化点が検出された場合(ステップS56:Yes)、ステップS57へ移行し、変化点が検出されなかった場合(ステップS56:No)、ステップS51へ戻る。
<ステップS57〜61>
ステップS57〜61の処理は、それぞれ第1の実施の形態において図24で示したステップS15〜19の処理と同様である。
以上のように、変化点検出部306は、まず、基準画像を検出し、基準画像が検出された場合に、基準フレームの撮像時刻から所定時間後までのフレームを取得し、フレームごとに基準フレームとの画素値についての差分を演算し、演算した差分に基づいて、トリガ領域内の画像についての変化点を検出するものとしている。このような方法で検出された変化点に基づいて、トリガ生成部313は、トリガ信号を生成する。これによって、検知領域判定部314による画像判定のタイミングの基準となるトリガのタイミングを自由に生成することができる。その他、第1の実施の形態と同様の効果を得ることができる。
また、上述の各実施の形態の第1再生部304、トリガ領域指定部305、変化点検出部306、検知領域指定部307、設定部308、第2再生部309、画像抽出部310、差分判定部311、映像振分部312、トリガ生成部313、検知領域判定部314および表示制御部315の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、本実施の形態の情報処理装置3で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、本実施の形態の情報処理装置3で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態の情報処理装置3で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。本実施の形態の情報処理装置3で実行されるプログラムは、上述した第1再生部304、トリガ領域指定部305、変化点検出部306、検知領域指定部307、設定部308、第2再生部309、画像抽出部310、差分判定部311、映像振分部312、トリガ生成部313、検知領域判定部314および表示制御部315の少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述のROMからプログラムを読み出して実行することにより、上述の各部が主記憶装置上にロードされて生成されるようになっている。