以下図面について、本発明の一実施の形態を詳述する。本実施の形態では、広範囲に渡って存在し得る対象物について、死角を減らすようにカメラを制御し、制御されたカメラからの画像をもとに動作体の動作を認識する技術に関して説明する。対象物とは、動作体の動作を認識するための領域を設定する対象の物体であり、製品、製品に係る作業を行う作業者、製品に係る作業を行うロボット装置、製品を吊り上げて運ぶクレーン等である。動作体とは、対象物に係る動作を行う物体であり、作業者、ロボット装置、クレーン等である。
例えば、本実施の形態に示す動作認識装置は、広範囲に撮影できる広角画像取得装置を使用し、広角画像取得装置から動作体が動作を行っている様子を映した画像データを取得し、画像データに映っている対象物となる作業者または製品の位置を特定する。また、動作認識装置は、対象物の位置と任意の方向に制御できる望遠画像取得装置を制御するパラメータとが対応付けられた情報を備えるDBと照合して、パラメータを取得し、取得したパラメータで望遠画像取得装置を制御する。そして、動作認識装置は、対象物の位置と事前に定義した作業領域とが対応付けられた情報を備えるDBと照合して、作業領域を取得し、取得した作業領域と望遠画像取得装置の画像データとを用いて動作体の動作を認識する。
以下では、主に、対象物として製品を例に挙げ、動作体として作業者を例に挙げて説明する。また、同一のまたは類似する構成に同一の符号を付して重複した説明を省略することがある。
また、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分(枝番を除く部分)を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、カメラを特に区別しないで説明する場合には、「カメラ110」と記載し、個々のカメラを区別して説明する場合には、「カメラ110-1」、「カメラ110-2」のように記載することがある。
(1)第1の実施の形態
図1において、100は全体として第1の実施の形態による動作認識システムを示す。
図1は、動作認識システム100に係る構成の一例を示す図である。
動作認識システム100は、1以上のカメラ110、各種センサ120、および動作認識装置130を含んで構成される。カメラ110、各種センサ120、および動作認識装置130は、有線または無線の通信手段140を介して通信可能に接続されている。通信手段140の構成は、必ずしも限定されないが、例えば、USB(Universal Serial Bus)、RS-232C等の各種の通信規格に準拠した通信手段、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線等である。
カメラ110は、対象物(製品、作業者150等)および対象物の周囲を映した画像データを取得する装置である。例えば、カメラ110は、対象物および対象物の周囲の画像を撮像する撮像装置である。カメラ110は、動画、静止画等の画像データを取得(撮影)するカメラ(デジタルカメラ(RGBカメラ)、赤外線カメラ、サーモグラフィカメラ、タイムオブフライト(TOF:Time Of Flight)カメラ、ステレオカメラ等である。
各種センサ120は、作業者150が作業を行う作業現場(作業環境)に設けられ、対象物および作業現場についての物理的な情報を出力する。各種センサ120は、動体検知センサ、人感センサ、温度センサ、湿度センサ、加速度センサ、速度センサ、音響センサ(マイクロホン)、超音波センサ、振動センサ、ミリ波レーダ、赤外線深度センサ、レーザレーダ(LIDAR: Laser Imaging Detection and Ranging)等である。
動作認識システム100では、動作認識装置130は、カメラ110によって取得される画像データに基づいて作業者150の動作の認識に係る処理を行うものとして説明する。なお、この構成に限るものではなく、動作認識装置130は、カメラ110によって取得される画像データと各種センサ120によって取得されるセンサデータとに基づいて作業者150の動作の認識に係る処理を行うものであってもよい。
図2は、動作認識装置130のハードウェアに係る構成の一例を示す図である。
動作認識装置130は、情報処理装置(コンピュータ)であり、プロセッサ201、主記憶装置202、補助記憶装置203、入力装置204、出力装置205、および通信装置206を備える。
プロセッサ201は、演算処理を行う装置である。プロセッサ201は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、AI(Artificial Intelligence)チップ等である。
主記憶装置202は、プログラム、データ等を記憶する装置である。主記憶装置202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等である。ROMは、SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等である。RAMは、DRAM(Dynamic Random Access Memory)等である。
補助記憶装置203は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置等である。光学式記憶装置は、CD(Compact Disc)、DVD(Digital Versatile Disc)等である。補助記憶装置203に格納されているプログラム、データ等は、主記憶装置202に随時読み込まれる。
入力装置204は、ユーザから情報を受付けるユーザインターフェースである。入力装置204は、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。
出力装置205は、各種の情報を出力(表示出力、音声出力、印字出力等)するユーザインターフェースである。出力装置205は、例えば、各種情報を可視化する表示装置、音声出力装置(スピーカ)、印字装置等である。表示装置は、LCD(Liquid Crystal Display)、グラフィックカード等である。
通信装置206は、通信手段140を介して他の装置と通信する通信インターフェースである。通信装置206は、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。通信装置206は、通信可能に接続する他の装置から情報を受信する入力装置として機能することもできる。また、通信装置206は、通信可能に接続する他の装置に情報を送信する出力装置として機能することもできる。
動作認識装置130は、通信装置206により通信手段140を介してカメラ110および各種センサ120と通信する。
動作認識装置130が備える各種の機能は、プロセッサ201が、主記憶装置202に格納されているプログラムを読み出して実行することにより、または、動作認識装置130を構成しているハードウェア(FPGA、ASIC、AIチップ等)により実現される。
図3は、動作認識装置130が備える機能の一例を示す図である。
動作認識装置130は、データ入力部301、検出部302、パラメータ取得部303、カメラ制御部304、領域情報取得部305、動作認識部306、および出力部307を備える。動作認識装置130は、上記の機能に加えて、例えば、オペレーティングシステム、デバイスドライバ、ファイルシステム、DBMS(DataBase Management System)等の機能を更に備えていてもよい。また、動作認識装置130は、各種の情報として、パラメータ情報311、領域情報312、および作業情報313を備える。
データ入力部301-1は、フレームのデータを入力する。フレームのデータは、カメラ110-1から取得されるデータであり、例えば、カメラ110-1から送られてくる、静止画データ、動画データ等を構成するデータである。データ入力部301-1は、作業現場の全体を俯瞰できるような広角カメラ等から得られたデータを入力する。
なお、データ入力部301-1が入力するデータは、カメラ110-1から取得されるデータだけでなく、各種センサ120から取得される対象物の位置を特定可能なデータでもよい。すなわち、データ入力部301-1は、対象物の位置を特定可能なデータを入力する。
データ入力部301-2は、フレームのデータを入力する。フレームのデータは、カメラ110-2から取得されるデータであり、例えば、カメラ110-2から送られてくる、静止画データ、動画データ等を構成するデータである。
検出部302は、データ入力部301-1で取得したデータを用いて、作業現場の対象物および動作体を検出する。例えば、検出部302は、検出したデータから、対象物の位置情報(製品の位置情報、作業現場における作業者150の位置情報等)を取得する。また、例えば、検出部302は、検出したデータから、動作体の位置情報(作業現場における作業者150の位置情報、ロボット装置の位置情報等)を取得する。なお、対象物および動作体を検出する方法については、公知の技術を適宜に採用することができる。
パラメータ取得部303は、検出部302で得られた対象物の位置情報を用いて、パラメータ情報311からカメラ110-2を制御するためのパラメータを取得する。パラメータ情報311の詳細については、図4にて後述する。
カメラ制御部304は、取得したパラメータを用いてカメラ110-2を制御(以下、「カメラ制御」と記す)する。カメラ制御部304は、例えば、パン、チルト、ズーム等のパラメータによりカメラ方向の制御を行う。
領域情報取得部305は、検出部302で得られた対象物の位置情報を用いて、領域情報312から作業者150の作業(動作の一例)を認識するための領域(以下、「作業領域」と記す)を取得する。領域情報312の詳細については、図5にて後述する。
動作認識部306は、領域情報取得部305で得られた作業領域とデータ入力部301-2の画像データとを用いて、作業情報313から作業領域に紐づく作業内容を取得し、作業者150の作業を認識する。作業情報313の詳細については、図6および図7にて後述する。
出力部307は、出力装置205、動作認識装置130と通信可能な他のコンピュータ等に各種の情報を出力する。例えば、出力部307は、データ入力部301-2により取得された画像と、領域情報取得部305により取得された領域情報とを出力する。出力部307は、画像に領域情報を設定(例えば、重畳)して出力装置205に表示してもよいし。画像と領域情報(領域を示す座標)とを紐づけて出力装置205で印刷してもよいし、領域情報に対応する画像を抜き出して動作認識を行う他のコンピュータに送信してもよいし、その他の出力を行ってもよい。
また、例えば、出力部307は、動作認識部306で得られた結果を出力装置205に出力する。
なお、出力部307は、その他に表示するコンテンツとして、カメラ110で得られたデータ、動作認識部306の処理途中の可視化されたデータ等を表示してもよい。
図4~図7は、動作認識装置130が備えるデータを格納するデータベース(DB)の内容を示している。DBとしては、パラメータDB400、領域DB500、作業DB600、および作業DB700が設けられている。なお、図4~図7に示す座標および領域に関する値は、説明の便宜上、ピクセル値とする。
図4は、パラメータDB400の一例を示す図である。
パラメータDB400は、テーブルの項目として、画像領域401、制御装置ID402、およびパラメータ403を備える。
画像領域401は、位置を特定可能な情報の一例であり、カメラ110-1により取得された画像における領域(X,Y,W,H)を示す。制御装置ID402は、画像領域401に対応して設けられ、制御するカメラ110を識別可能であり、当該カメラ110との通信に係る情報(例えば、パラメータ403の送信先)を示す。制御装置ID402は、例えば、IPアドレスである。パラメータ403は、カメラ110のパン、チルト、およびズームを制御する値(P,T,Z)を示す。
テーブルの横一行の項目は、紐づいている。例えば、検出部302より得られた対象物の位置が、カメラ110-1の画像領域の1行目の範囲に収まる場合は、IPアドレスが「192.169.10.10」のカメラ110に対して、パラメータのパン値が「120」、チルト値が「30」、ズーム値が「2400」が得られる。
図5は、領域DB500の一例を示す図である。
領域DB500は、テーブルの項目として、画像領域501、制御装置ID502、作業エリアID503、および作業領域504を備える。
画像領域501は、位置を特定可能な情報の一例であり、カメラ110-1により取得された画像における領域(X,Y,W,H)を示す。制御装置ID502は、画像領域501に対応して設けられ、制御するカメラ110を識別可能であり、当該カメラ110との通信に係る情報(例えば、パラメータ403の送信先)を示す。制御装置ID502は、例えば、IPアドレスである。作業エリアID503は、画像領域501に含まれる1つ以上の作業領域(以下、「作業エリア」と記す)を識別可能な識別情報である。作業領域504は、作業者150の作業を認識するための領域(X,Y,W,H)を示す。なお、画像領域501には、1つ以上の作業領域が含まれる。
テーブルの横一行の項目は、紐づいている。例えば、検出部302より得られた対象物の位置が、カメラ110-1の画像領域の1行目の範囲に収まる場合は、IPアドレスが「192.169.10.10」のカメラ110-2に対して、作業エリアが「A001」というIDで割り振られ、当該カメラ110で用いる第1の作業領域、第2の作業領域、および第3の作業領域が得られる。
第1の作業領域は、左頂点のX座標が「X11」、左頂点のY座標が「Y11」、領域の横幅が「W11」、領域の縦幅が「H11」である。第2の作業領域は、左頂点のX座標が「X12」、左頂点のY座標が「Y12」、領域の横幅が「W12」、領域の縦幅が「H12」である。第3の作業領域は、左頂点のX座標が「X13」、左頂点のY座標が「Y13」、領域の横幅が「W13」、領域の縦幅が「H13」である。
図6は、作業DB600の一例を示す図である。
作業DB600は、テーブルの項目として、作業エリアID601および作業内容602を備える。
作業エリアID601は、作業エリアを識別可能な識別情報である。作業内容602は、作業エリアID601により識別される作業エリア(1つ以上の作業領域)における作業(作業X、作業Y、作業Z、作業O等)を特定(認識)可能な情報である。
テーブルの値は、作業エリアの状態を示し、「True」または「False」で表現される。例えば、動作認識部306で得られた対象物(対象物の一部であってもよいし、全体であってもよい。以下では、「対象物のオブジェクト」と記すことがある。)の位置が作業エリアID601の作業エリアの範囲内に収まる場合は「True」となる。一方、動作認識部306で得られた対象物の位置が対象物の位置が作業エリアID601の作業エリアの範囲外になる場合は「False」となる。
なお、作業エリアにおける作業に係る対象物については、同じであってもよいし、異なっていてもよい。例えば、作業エリアID601「A001」の作業エリアでは、第1の作業領域、第2の作業領域、および第3の作業領域を含んで構成される。第1の作業領域では、対象物が作業者150の右手であり、第2の作業領域では、対象物が作業者150の左手であり、第3の作業領域では、対象物が製品であってもよい。
作業エリアの状態に紐づいて、対象物の作業内容が決定される。例えば、作業エリアID601「A001」の作業内容602-1が「True」、作業エリアID601「A002」の作業内容602-2が「False」であり、作業エリアID601「B001」の作業内容602-3が「False」であり、作業エリアID601「C001」の作業内容602-4が「False」である場合、作業Xを実施していることを示す。ただし、動作認識部306で得られた対象物が複数ある場合は、ブーリアンの表現でなく数値で表現してもよい。
図7は、作業DB700の一例を示す図である。
作業DB700では、各作業エリアにおける対象物の時間的な変化が加味されて作業が特定される。本実施の形態では、作業の特定において、作業DB600および作業DB700のうち少なくとも1つが用いられる。
作業DB700は、従来技術の作業エリアと対象物のオブジェクトとの関係による動作認識の2次元データを格納する。作業DB700では、時刻tから時刻t+2までの変化が登録されており、変化するパターンに応じて作業を特定することができる。なお、作業DB700には、時刻tから時刻t+nまで任意の長さで登録することができる。
作業DB700は、作業エリアごとに、時刻tのテーブル710-1、時刻t+1のテーブル710-2、および時刻t+2のテーブル710-3を備える。テーブル710の項目として、オブジェクト701と作業内容702とを備える。
オブジェクト701は、対象物の全部または一部を示す。例えば、オブジェクト701-1「Object001」は、対象物「作業者A」を示す。例えば、オブジェクト701-2「Object002」は、対象物「作業者B」を示す。例えば、オブジェクト701-3「Object003」は、対象物「クレーン」を示す。例えば、オブジェクト701-4「Object004」は、対象物「製品」を示す。
テーブル710-1、テーブル710-2、およびテーブル710-3では、一連の作業内容が規定され、例えば、1人以上の作業者150がクレーンに製品をセットする作業「A作業」が特定される。
このように、テーブル710によれば、広範囲に対象物が存在して一連の作業が行われる場合に、一連の作業を適切に特定することができる。
図8は、パラメータ取得部303が行う処理(パラメータ取得処理)の一例を示す図である。
なお、パラメータ取得処理は、例えば、検出部302により検出された対象物毎に行われる。
ステップS801では、パラメータ取得部303は、検出部302により検出された対象物の位置情報を入力する。
ステップS802では、パラメータ取得部303は、パラメータDB400から画像領域を取得(例えば、主記憶装置202に記憶)する。
ステップS803では、パラメータ取得部303は、対象物の位置情報が画像領域内であるか否かを判定する。パラメータ取得部303は、対象物の位置情報が画像領域内であると判定した場合、ステップS804に処理を移し、対象物の位置情報が画像領域内でないと判定した場合、ステップS806に処理を移す。
ステップS804では、パラメータ取得部303は、対象物の位置情報が含まれると判定した画像領域に紐づくカメラ110のIPアドレスおよびパラメータをパラメータDB400から取得する。
ステップS805では、パラメータ取得部303は、取得したIPアドレスおよびパラメータをカメラ制御部304に出力する。
ステップS806では、パラメータ取得部303は、ステップS802で取得した画像領域がパラメータDB400の最後の画像領域であるか否か(処理を終了するか否か)を判定する。パラメータ取得部303は、処理を終了すると判定した場合、パラメータ取得を終了し、処理を終了しないと判定した場合、ステップS802に処理を移す。
このように、パラメータ取得部303は、パラメータDB400をもとに、対象物の位置情報に対応するパラメータを取得する。
図9は、領域情報取得部305が行う処理(領域取得処理)の一例を示す図である。
なお、領域取得処理は、例えば、検出部302により検出された対象物毎に行われる。
ステップS901では、領域情報取得部305は、検出部302により検出された対象物の位置情報を入力する。
ステップS902では、領域情報取得部305は、領域DB500から画像領域を取得(例えば、主記憶装置202に記憶)する。
ステップS903では、領域情報取得部305は、対象物の位置情報が画像領域内であるか否かを判定する。領域情報取得部305は、対象物の位置情報が画像領域内であると判定した場合、ステップS904に処理を移し、対象物の位置情報が画像領域内でないと判定した場合、ステップS906に処理を移す。
ステップS904では、領域情報取得部305は、対象物の位置情報が含まれると判定した画像領域に紐づくカメラ110のIPアドレス、作業エリアIDおよび作業領域を領域DB500から取得する。
ステップS905では、領域情報取得部305は、取得したIPアドレス、作業エリアIDおよび作業領域を動作認識部306に出力する。
ステップS906では、領域情報取得部305は、ステップS902で取得した画像領域が領域DB500の最後の画像領域であるか否か(領域取得の処理を終了するか否か)を判定する。領域情報取得部305は、領域取得の処理を終了すると判定した場合、ステップS907に処理を移し、領域取得の処理を終了しないと判定した場合、ステップS902に処理を移す。
ステップS907では、領域情報取得部305は、制御するカメラ110の画像データ(センサデータでもよい。)を取得する。
ステップS908では、領域情報取得部305は、対象物が動いたか否か(例えば、対象物が画像領域外に移動したか否か)を判定する。領域情報取得部305は、対象物が動いたと判定した場合、ステップS901に処理を移し、対象物が動いていないと判定した場合、領域取得処理を終了する。
このように、領域情報取得部305は、領域DB500をもとに、対象物の位置情報に対応する作業領域を取得する。
図10は、動作認識装置130のカメラ制御部304に関する説明図である。
図10では、カメラ110-1で撮影している映像1010とカメラ110-2で撮影している映像1020とを示している。カメラ制御前(上側)とカメラ制御後(下側)に映像の見え方を示している。
例えば、カメラ制御前では、カメラ110-1の映像1010-1は、製品を真上から撮影している内容を示し、カメラ110-2の映像1020-1は、製品がない作業台1001を撮影している内容を示している。
これに対し、カメラ制御後では、カメラ110-1の映像1010-2は、製品を真上から撮影している内容を示し、カメラ110-2の映像1020-2は、製品がある作業台1002を撮影している内容を示している。
カメラ110-1の画像データを用いて検出部302が対象物となる製品を検出したことで、カメラ110-2が制御され、カメラ制御後の映像1020-2のように製品がある作業台1002を捉える。
なお、検出部302が検出する対象物は、製品以外に、作業者150、認識できるマーカ等でもよい。
図11は、動作認識装置130の領域情報取得部305に関する説明図である。
図11は、カメラ制御部304のカメラ制御後にカメラ110-2で取得した画像データ1110に対して、領域情報312から得られた作業領域1120を画像データ1110の空間上に設定した図を示している。
図11の例では、製品に係る作業を認識するための作業領域1120が設定されている。例えば、画像データ1110では、作業者150の手元に対応する作業領域1120-1、作業者150の頭部に対応する作業領域1120-2、および作業者150の足元に対応する作業領域1120-3が製品の位置に応じて設定されている。
なお、作業者150の手元、頭部、足元、全身、製品、製品の周辺機器等が作業領域の候補となる。
本実施の形態によれば、対象物の位置に応じて作業領域が設定されるので、動作体が広範囲に渡って実施する動作を認識する仕組みを実現することができる。
(2)第2の実施の形態
第2の実施の形態の動作認識装置1200は、第1の実施の形態における作業者150の動作認識(作業監視)の仕組みを用いて、対象物の配置が変更されたり、対象物が取り替えられたりした場合に、作業領域を変更(推定)する処理を行い、作業者150の作業を認識する。以下、第1の実施の形態と異なる部分を中心として説明する。
図12は、動作認識装置1200が備える機能の一例を示す図である。
動作認識装置130より追加される機能は、領域変更部1201である。追加される情報は、対象物情報1211である。
領域変更部1201は、対象物の位置および大きさを検出した情報と、領域情報取得部305で得られた作業領域および対象物情報1211とを用いて、対象物の変化量を算出し、領域情報取得部305で得られた作業領域に対して、算出した変化量に基づいて変更(例えば、変形)することで、新たな作業領域を推定する。推定された作業領域は、動作認識部306で使用される。
対象物情報1211は、領域情報312に記載される作業領域と対象物の位置および大きさ(例えば、矩形)との情報が紐づいたDBである。対象物情報1211に記載される対象物の位置および大きさが、変化前の値として用いられる。
図13は、領域変更部1201に関する説明図である。
図13では、製品の大きさが変化したときの、作業領域を変更する前後を示している。例えば、製品Aから製品Bに変わった場合において、領域変更部1201は、製品の大きさが変わったとき、大きさの変化量を求め、製品Aを基準に設定していた作業領域1301に対して、算出した変化量だけ拡大縮小して作業領域1301の大きさを変更した作業領域1302を設定する。なお、変更の方式としては、拡大縮小だけでなく、平行移動、回転、スキュー等の組合せで幾何学変換が行われる。
図14は、領域変更部1201に関する説明図である。
図14では、製品の配置が変化したときの、作業領域を変更する前後を示している。例えば、製品Aの位置から製品A’の位置に配置が変わった場合において、領域変更部1201は、製品の配置が変わったとき、位置の変化量を求め、製品Aを基準に設定していた作業領域1401に対して、算出した変化量だけ平行移動、回転、拡大縮小して作業領域1401の位置を変更した作業領域1402を設定する。なお、変更の方式としては、拡大縮小だけでなく、平行移動、回転、スキュー等の組合せで幾何学変換が行われる。
本実施の形態によれば、対象物に変更が生じたとしても、当該変更に応じて作業領域が変更されるので、動作体が実施する動作を認識する仕組みを実現することができる。
(3)付記
上述の実施の形態には、例えば、以下のような内容が含まれる。
上述の実施の形態においては、本発明を動作認識システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
また、上述の実施の形態においては、動作認識システム100が1つ以上のカメラ110の情報と各種センサ120の情報とをもとに作業者150の動作を認識する構成と、動作認識システム100が複数のカメラ110の情報をもとに作業者150の動作を認識する構成とについて述べたが、本発明はこれに限らず、動作認識システム100が、広域と望遠とを切り替え可能な1つのカメラ110の情報をもとに作業者150の動作を認識するようにしてもよい。この場合、例えば、動作認識システムは、所定のタイミングで(定期的に、予め指定された時間毎に等)、広域を撮影するように当該カメラを制御する。
また、上述の実施の形態において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
また、上記の説明において、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
上述した実施の形態は、例えば、以下の特徴的な構成を有する。
対象物(製品、作業者、ロボット装置、クレーン等)に係る動作体(作業者、ロボット装置、クレーン等)の動作を認識するための動作認識システム(例えば、動作認識システム100)であって、前記対象物の位置情報(例えば、カメラ110-1により撮像された画像、各種センサ120により取得されたセンサデータ等)を取得(例えば、入力)する位置取得部(例えば、データ入力部301-1)と、位置情報(例えば、画像領域)とカメラ(例えば、カメラ110-2)を制御するためのパラメータとが対応付けられた第1の情報(例えば、パラメータ情報311)をもとに、前記対象物の位置情報に対応するパラメータを取得するパラメータ取得部(パラメータ取得部303)と、前記パラメータ取得部により取得されたパラメータを前記カメラに送信するカメラ制御部(例えば、カメラ制御部304)と、前記カメラにより撮像された前記対象物の画像を取得(例えば、入力)する画像取得部(例えば、データ入力部301-2)と、位置情報と前記対象物の動作を認識するための領域を示す領域情報とが対応付けられた第2の情報(例えば、領域情報312)をもとに、前記対象物の位置情報に対応する領域情報を取得する領域情報取得部(領域情報取得部305)と、前記画像取得部により取得された画像と、前記領域情報取得部により取得された領域情報とを出力する出力部(例えば、出力部307)と、を備える。
上記出力部は、上記画像取得部により取得された画像と、上記領域情報取得部により取得された領域情報とを表示装置に表示してもよいし、印刷装置で印刷してもよいし、他のコンピュータに送信してもよい。
上記構成では、例えば、広範囲に渡って存在し得る対象物の位置に応じてカメラが制御されるとともに対象物の動作を認識するための領域が出力されるので、対象物に係る動作体の動作を認識することができるようになる。
領域情報と前記領域情報に係る前記動作体の動作を特定可能な情報とが対応付けられた第3の情報(例えば、作業情報313)をもとに、前記動作体の動作を認識する動作認識部(例えば、動作認識部306)を備える。
上記構成によれば、領域情報に対応付けられている対象物の動作を特定可能な情報をもとに、動作体の動作を認識することができる。上記構成によれば、例えば、動作体が動作を行ったこと等を示すエビデンスを残すことができる。また、上記構成によれば、例えば、動作体の動作が不適切(規定外、不正等)であった場合に管理者端末等に通知を行うことができる。
前記第3の情報は、動作毎かつ時間毎に設けられ(例えば、図7参照)、前記動作認識部は、時間毎に、前記領域情報取得部により取得された領域情報の領域に対して、前記第3の情報で規定されている前記動作体の動作が行われているか否かを判定し、前記動作体の動作を認識する。
上記構成によれば、例えば、動作体により一連の動作が行われる場合に、当該一連の動作を適切に特定することができる。
前記位置取得部は、前記対象物の存在範囲(例えば、動作体による動作が行われる動作現場、作業現場)全体を所定のカメラ(例えば、カメラ110-1)が撮像した画像をもとに、前記対象物の位置情報を取得する。
上記構成によれば、所定のカメラが撮像した画像より対象物の位置情報を取得することができる。
前記対象物の位置が変更されたことに応じて、前記領域情報の領域の位置を変更する領域変更部(例えば、領域変更部1201)を備える。
上記構成によれば、対象物の位置の変化に合わせて領域の位置が変更されるので、例えば、対象物の配置が変更されたとしても、動作体の動作を認識することができる。
前記対象物の大きさが変更されたことに応じて、前記領域情報の領域の大きさを変更する領域変更部(例えば、領域変更部1201)を備える。
上記構成によれば、対象物の大きさの変化に合わせて領域の大きさが変更されるので、例えば、対象物が他の対象物に変更されたとしても、動作体の動作を認識することができる。
前記第1の情報には、パラメータの送信先を示す送信先情報(例えば、IPアドレス)が更に対応付けられ、前記カメラ制御部は、前記対象物の位置情報に対応する送信先情報のカメラに前記パラメータ取得部により取得されたパラメータを送信する。
上記構成では、例えば、複数のカメラが設置され、対象物の位置に応じてカメラが切り替えられるので、死角をより減らすようにカメラを制御することができる。
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
「A、B、およびCのうちの少なくとも1つ」という形式におけるリストに含まれる項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)または(A、B、およびC)を意味することができると理解されたい。同様に、「A、B、またはCのうちの少なくとも1つ」の形式においてリストされた項目は、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)または(A、B、およびC)を意味することができる。