以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
<1.第1の実施形態>
まず、本発明の第1の実施形態について説明する。
(1-1.システムの概要)
まず、本発明の第1の実施形態に係る作業監視システムの概要について説明する。本発明の実施形態では、作業の例として工事が行われる場合を主に想定する。しかし、作業の種類は、センサによる監視が必要な作業であれば工事に限定されない。
図1は、本発明の第1の実施形態に係る作業監視システムの概要を説明するための図である。図1に示されるように、作業監視システム1Aは、物体検出装置10A、複数のLiDAR20(LiDAR20-1、20-2)、提示装置30およびネットワーク40を有する。物体検出装置10A、複数のLiDAR20および提示装置30それぞれは、ネットワーク40に接続されている。複数のLiDAR20は、工事現場に設置されている。LiDAR20-1によって計測されるエリアが計測エリアR1であり、LiDAR20-2によって計測されるエリアが計測エリアR2である。
このように、本発明の実施形態では、工事を監視するセンサの例としてLiDAR20が用いられる場合を主に想定する。しかし、工事を監視するセンサは、LiDAR20に限定されない。工事を監視するセンサは、物体の動きを非接触により検知可能なセンサであればよく、カメラであってもよいし、デプスセンサであってもよいし、レーダ測距センサであってもよい。
本発明の実施形態では、工事現場にLiDAR20が2台設置される場合を主に想定する(すなわち、工事現場にLiDAR20-1、20-2が設置される場合を主に想定する)。しかし、LiDAR20は、工事現場に3台以上設置されてもよい。LiDAR20-1、20-2は、計測エリアR1および計測エリアR2に、共通の監視エリアR0が含まれるように設置される。監視エリアR0は、工事現場内の作業場所に該当し、LiDAR20-1、20-2による監視対象のエリアである。
監視エリアR0には、工事に用いられる物体B1が存在している。したがって、LiDAR20-1、20-2によって、監視エリアR0に存在する物体B1も監視される。本発明の実施形態では、LiDAR20-1、20-2によって監視される物体B1の例として重機が用いられる場合を主に想定する。しかし、LiDAR20によって監視される物体B1は、重機に限定されず、作業者などであってもよい。また、重機の種類も限定されず、ダンプトラック、ショベルカーまたは掘削機などであってよい。また、LiDAR20によって監視される物体B1の数も1つに限定されず、複数であってもよい。
図1に示されたように、複数のLiDAR20(LiDAR20-1、20-2)が設置されれば、物体検出装置10Aは、複数のLiDAR20それぞれによって計測された点群データを統合し、統合後の点群データに基づいて物体B1を検出し得る。物体検出装置10Aは、統合後の点群データに基づいて物体B1を検出する場合には、単一のLiDAR20によって計測された点群データに基づいて物体B1を検出する場合と比較して、物体B1の外形をより正確に検出し得る。しかし、複数のLiDAR20が物体検出に用いられる場合には、改善すべき点がある。
図2は、複数のLiDAR20が物体検出に用いられる場合において改善すべき点について説明するための図である。図2を参照すると、LiDAR20-1、20-2が設置されている。
ここで、LiDAR20-1の設置位置は、実空間における3次元座標(Px1,Py1,Pz1)によって表現されている。また、LiDAR20-1の設置向きは、実空間における3軸周りの回転角度(θx1,θy1,θz1)によって表現されている。一方、LiDAR20-2の設置位置は、実空間における3次元座標(Px2,Py2,Pz2)によって表現されている。また、LiDAR20-2の設置向きは、実空間における3軸周りの回転角度(θx2,θy2,θz2)によって表現されている。
このように、LiDAR20-1とLiDAR20-2との間では、設置位置および設置向きが異なっている。そのため、LiDAR20-1およびLiDAR20-2それぞれによって計測された点群データ同士はそのまま統合され得ない。
そこで、LiDAR20-1とLiDAR20-2との間の設置位置および設置向きの相違を吸収すべく、点群データ同士の統合には、LiDAR20-1とLiDAR20-2との相対的な位置関係に基づくキャリブレーションによってあらかじめ算出されたキャリブレーションパラメータが用いられる。キャリブレーションパラメータとしては、一例として行列が用いられ得るため、以下では、キャリブレーションパラメータを「変換行列」とも表現する。
LiDAR20-1およびLiDAR20-2それぞれによって計測された点群データは、その少なくともいずれか一方に対して変換行列が乗じられた上で統合される。本発明の実施形態では、LiDAR20-1によって計測された点群データに、LiDAR20-1とLiDAR20-2との相対的な位置関係に基づく変換行列K1が乗じられ、LiDAR20-2によって計測された点群データには変換行列が乗じられない場合を主に想定する。これによって、LiDAR20-1によって計測された点群データが、LiDAR20-2によって計測されたように変換される。
しかし、LiDAR20-1によって計測された点群データに、LiDAR20-1と実空間における所定の位置および所定の向きとの位置関係に基づく変換行列が乗じられ、LiDAR20-2によって計測された点群データに、LiDAR20-2と当該所定の位置および当該所定の向きとの位置関係に基づく変換行列が乗じられてもよい。これによって、各点群データが、実空間における当該所定の位置から当該所定の向きに計測されたように変換される。
キャリブレーションは、物体検出装置10Aによって実行されてよく、キャリブレーションの手法(すなわち、変換行列K1を算出する手法)は特に限定されない。一例として、キャリブレーションは、LiDAR20-1とLiDAR20-2が設置された後、作業者による所定のキャリブレーション開始操作に基づいて、物体検出装置10Aによって実行されてよい。
より詳細には、物体検出装置10Aは、LiDAR20-1によって計測された点群データに対して行列E1を乗じることによって変換後の点群データを得る。そして、物体検出装置10Aは、変換後の点群データに基づいてLiDAR20-1を基準とした物体B0の相対位置を算出する。一方、物体検出装置10Aは、LiDAR20-2によって計測された点群データに基づいてLiDAR20-2を基準とした物体B0の相対位置を算出する。そして、物体検出装置10Aは、LiDAR20-1を基準とした物体B0の相対位置とLiDAR20-2を基準とした物体B0の相対位置とが一致する場合における行列E1を変換行列K1として特定すればよい。
図2を参照すると、LiDAR20-1によって計測された点群データの変換前には、LiDAR20-1を基準とした物体B0の相対位置は(x1,y1,z1)である。一方、LiDAR20-2を基準とした物体B0の相対位置は(x2,y2,z2)である。すなわち、LiDAR20-1によって計測された点群データの変換前には、LiDAR20-1を基準とした物体B0の相対位置(x1,y1,z1)とLiDAR20-2を基準とした物体B0の相対位置(x2,y2,z2)とは異なっている。
このとき、LiDAR20-1によって計測された点群データに対して、3軸周りの回転変換と、3次元的な平行移動とが行われる場合を想定する。ここで、回転変換を示す行列を回転行列Aとし、平行移動を示す行列を平行移動行列Bとし、x軸周りの回転角度をαxとし、y軸周りの回転角度をαyとし、z軸周りの回転角度をαzとすると、回転行列Aおよび平行移動行列Bは、下記の式(1)および式(2)に示されるように表現される。
一例として、下記の式(3)に示されるように、回転行列Aおよび平行移動行列Bの双方が組み込まれた行列E1を想定する。
このとき、例えば、物体検出装置10Aは、LiDAR20-1を基準とした物体B0の相対位置(x1,y1,z1)に対して、定数要素を追加して(x1,y1,z1,1)を算出する。一方、物体検出装置10Aは、LiDAR20-2を基準とした物体B0の相対位置(x2,y2,z2)に対して、定数要素を追加して(x2,y2,z2,1)を算出する。そして、物体検出装置10Aは、(x1,y1,z1,1)Tに対して行列E1が乗じられたE1(x1,y1,z1,1)Tと、(x2,y2,z2,1)Tとが一致するという条件を満たすαx、αy、αz、b1、b2、b3を特定すればよい。かかる条件は、下記の式(4)のように表現される。
そして、物体検出装置10Aは、式(4)に示された条件を満たすαx、αy、αz、b1、b2、b3によって構成される行列E1を変換行列K1として特定すればよい。図2を参照すると、LiDAR20-1を基準とした物体B0の相対位置(x1,y1,z1)に対して変換行列K1が乗じられて得られる変換後の位置K1(x1,y1,z1)は、LiDAR20-2を基準とした物体B0の相対位置(x2,y2,z2)と一致している。
なお、ここでは、回転行列Aおよび平行移動行列Bの双方が組み込まれた行列E1を(x1,y1,z1,1)に対して作用させる場合を想定した。しかし、下記の式(5)に示されるように、回転行列Aと平行移動行列Bとを別の行列として(x1,y1,z1)に対して作用させてもよい。すなわち、下記の式(5)を満たす回転行列Aと平行移動行列Bとの組み合わせが、変換行列K1として特定されてもよい。
なお、行列E1の探索範囲は限定されない。しかし、キャリブレーションをより短時間で完了させるために、作業者によって初期値が物体検出装置10Aに入力されてもよい。作業者によって初期値が入力された場合には、物体検出装置10Aは、作業者によって入力された初期値を基準とした所定の範囲内において行列E1を探索すればよい。なお、初期値は、LiDAR20-1とLiDAR20-2との相対的な位置関係であってよく、作業者による目視によって判断されてよい。例えば、LiDAR20-1とLiDAR20-2との相対的な位置関係は、LiDAR20-1の設置位置を基準としたLiDAR20-2の相対的な設置位置を含んでよい。
このようにしてキャリブレーションが行われても、何らかの理由(例えば、キャリブレーション自体が高精度に行われない場合、または、キャリブレーション実行後にLiDAR20-1とLiDAR20-2との相対的な位置関係が変化した場合など)によって、キャリブレーションパラメータと現実の値との間にある程度以上のずれが存在すると(すなわち、キャリブレーションパラメータが異常であると)、点群データの統合が高精度に行われない。そのため、統合後の点群データに基づく物体検出の精度が低下してしまう。また、統合後の点群データに基づく物体の外形または物体のサイズの検出精度も低下してしまうため、物体の種類の識別精度も低下してしまう。
また、LiDAR20-1およびLiDAR20-2それぞれによって計測された点群データを見るだけでは、キャリブレーションパラメータ(変換行列)の異常に気づくことが難しい。そこで、本明細書においては、LiDAR20-1およびLiDAR20-2の相対的な位置関係に基づくキャリブレーションパラメータ(変換行列)の異常を容易に把握することを可能とする技術について主に提案する。
以上、本発明の第1の実施形態に係る作業監視システム1Aの概要について説明した。
(1-2.作業監視システムの機能構成例)
続いて、図3を参照しながら(適宜図1および図2も参照)、本発明の第1の実施形態に係る作業監視システム1Aの機能構成例について説明する。図3は、本発明の第1の実施形態に係る作業監視システム1Aの機能構成例を示すブロック図である。図3に示されるように(図1にも示されているように)、本発明の第1の実施形態に係る作業監視システム1Aは、物体検出装置10A、LiDAR20-1、20-2、提示装置30およびネットワーク40を備える。
LiDAR20-1は、計測エリアR1を連続的にセンシングすることによって点群データを得る。そして、LiDAR20-1は、センシングによって得た点群データを物体検出装置10Aに出力する。同様に、LiDAR20-2は、計測エリアR2を連続的にセンシングすることによって点群データを得る。そして、LiDAR20-2は、センシングによって得た点群データを物体検出装置10Aに出力する。
上記したように、LiDAR20は、3台以上設置されてもよい。かかる場合には、3台以上のLiDAR20それぞれが、ネットワーク40に接続され、3台以上のLiDAR20それぞれによって得られた点群データがネットワーク40を介して物体検出装置10Aに出力される。
物体検出装置10Aは、コンピュータによって構成される。本発明の実施形態では、物体検出装置10Aが工事現場(LiDAR20の近隣)に設置される場合を主に想定する。しかし、物体検出装置10Aが設置される場所は限定されない。例えば、物体検出装置10Aは、工事現場から離された場所(例えば、作業を監視する監視者が存在する監視室など)に設置されてもよい。ここで、物体検出装置10Aは、図示しない制御部、図示しない記憶部および図示しない通信部を備える。
図示しない制御部は、CPU(Central Processing Unit)などを含み、記憶部により記憶されているプログラムがCPUによりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、図示しない制御部は、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。
図示しない制御部は、データ取得部200、LiDAR点群統合部300、LiDAR物体検出部500、物体識別部600、検出物体特徴量算出部700、物体照合部800、および、出力部1000を備える。
図示しない記憶部は、図示しない制御部を動作させるためのプログラムおよびデータを記憶することが可能な記憶装置である。また、図示しない記憶部は、図示しない制御部の動作の過程で必要となる各種データを一時的に記憶することもできる。例えば、記憶装置は、不揮発性の記憶装置であってよい。図示しない記憶部は、キャリブレーションパラメータ記憶部400を備え、物体特徴量DB(データベース)900を備える。
図示しない通信部は、通信インタフェースによって構成されており、ネットワーク40と接続されている。例えば、図示しない通信部は、LiDAR20-1から送信された点群データを、ネットワーク40を介して受信し、LiDAR20-2から送信された点群データを、ネットワーク40を介して受信する。また、図示しない通信部は、出力部1000によって出力された情報を、ネットワーク40を介して提示装置30に送信する。
キャリブレーションパラメータ記憶部400は、キャリブレーションによってあらかじめ算出されたキャリブレーションパラメータ(変換行列K1)を記憶している。
物体特徴量DB900には、監視対象の物体に関する特徴量(登録特徴量)があらかじめ登録されている。より詳細に、物体特徴量DB900には、監視対象の物体に関する特徴量が物体の種類ごとにあらかじめ登録されている。ここでは、監視対象の物体に関する特徴量として、特徴量の適正範囲の上限値と下限値とが物体特徴量DB900にあらかじめ登録されている場合を主に想定する。しかし、物体特徴量DB900にあらかじめ登録されている特徴量は、かかる例に限定されない。例えば、物体特徴量DB900にあらかじめ登録されている特徴量は、監視対象の物体の特徴量の平均値などであってもよい。かかる場合には、平均値を基準として所定の幅だけ加算した値が適正範囲の上限値として扱われ、平均値を基準として所定の幅だけ減算した値が適正範囲の下限値として扱われてもよい。
データ取得部200は、LiDAR20-1によって計測された計測エリアR1の点群データをLiDAR20-1から取得する。また、データ取得部200は、LiDAR20-2によって計測された計測エリアR2の点群データをLiDAR20-2から取得する。データ取得部200は、LiDAR20-1によって計測された点群データとLiDAR20-2によって計測された点群データとをLiDAR点群統合部300に出力する。
LiDAR点群統合部300は、キャリブレーションパラメータ記憶部400からキャリブレーションパラメータを取得し、LiDAR20-1によって計測された点群データとLiDAR20-2によって計測された点群データとを、キャリブレーションデータに基づいて統合する。より詳細に、LiDAR点群統合部300は、LiDAR20-1によって計測された点群データに対して変換行列K1を乗じることによって変換後の点群データを得る。そして、LiDAR点群統合部300は、変換後の点群データとLiDAR20-2によって計測された点群データとを重ね合わせることによって、互いの点群データを統合する。
なお、上記したように、LiDAR20は、3台以上であってもよい。かかる場合であっても、LiDAR点群統合部300は、LiDAR20が2台である場合と同様に、3台以上のLiDAR20それぞれから入力された点群データを統合し得る。
また、LiDAR点群統合部300は、3台以上のLiDAR20から選択した2台のLiDAR20それぞれによって計測された点群データのみを統合してもよい。ここで、LiDAR20の選択はどのようになされてもよい。例えば、LiDAR点群統合部300は、3台以上のLiDAR20からあらかじめ決められた2台のLiDARを選択してもよい。あるいは、LiDAR点群統合部300は、物体の外形をより正確に検出すべく、3台以上のLiDAR20から、物体との距離が近い順に2台のLiDAR20を選択してもよいし、設置向きが異なる2台のLiDAR20を選択してもよい。
LiDAR物体検出部500は、統合後の点群データに基づいて監視エリアR0内の物体B1を検出する。ここで、物体の検出手法は限定されない。例えば、LiDAR物体検出部500は、統合後の点群データから背景部分(例えば、地面など)の点群データを除去した後に、所定の距離内に存在する点群の位置に同一物体が存在するとして物体を検出してもよい。このとき、LiDAR物体検出部500は、所定のサイズ以上の大きさを持つ点群の集まりを物体として検出してもよい。
物体識別部600は、LiDAR物体検出部500によって検出された物体の種類を識別する。ここで、物体の種類を識別する手法は限定されない。例えば、物体の種類ごとに物体の既知の点群データがあらかじめ登録されている場合、物体識別部600は、統合後の点群データと最も類似度の高い既知の点群データに対応する物体の種類を、LiDAR物体検出部500によって検出された物体の種類として識別すればよい。なお、監視エリアR0に存在する物体があらかじめ1種類に決まっている場合などには、物体識別部600による物体の種類の識別は行われなくてもよい。
検出物体特徴量算出部700は、LiDAR物体検出部500によって検出された物体の特徴量(検出特徴量)を算出する。ここで、物体の特徴量を算出する手法は限定されない。例えば、検出物体特徴量算出部700は、LiDAR物体検出部500によって検出された物体を構成する点群に外接する直方体の体積、および/または、当該直方体の縦横奥行の3辺それぞれの長さを物体の特徴量として算出してもよい。あるいは、検出物体特徴量算出部700は、LiDAR物体検出部500によって検出された物体を構成する点群を頂点とする3次元モデルに基づく形状特徴量を物体の特徴量として算出してもよい。
物体照合部800は、検出物体特徴量算出部700によって算出された物体の特徴量(検出特徴量)を取得するとともに、物体識別部600によって識別された物体の種類に対応付けられた物体の特徴量(登録特徴量)を物体特徴量DB900から取得する。そして、物体照合部800は、検出特徴量と登録特徴量との照合を行う。より詳細に、物体照合部800は、検出特徴量が登録特徴量に基づく所定の適正範囲内に収まっている場合には、照合を成功とする。一方、物体照合部800は、検出特徴量が登録特徴量に基づく適正範囲内に収まっていない場合には、照合を失敗とする。
ここでは、登録特徴量として、物体の特徴量の適正範囲の上限値と下限値とが物体特徴量DB900にあらかじめ登録されている場合を主に想定する。このとき、物体照合部800は、下限値以上かつ上限値以下の範囲を適正範囲として扱ってもよい。しかし、上記したように、登録特徴量は、かかる例に限定されない。例えば、登録特徴量として、物体の特徴量の平均値が物体特徴量DB900にあらかじめ登録されていてもよい。このとき、物体照合部800は、平均値を基準として所定の幅だけ加算した値を適正範囲の上限値として扱い、平均値を基準として所定の幅だけ減算した値を適正範囲の下限値として扱ってもよい。
物体照合部800による照合が成功した場合には、キャリブレーションパラメータと現実の値との間のずれがある程度よりも小さい(すなわち、キャリブレーションパラメータが正常である)ことが想定される。一方、物体照合部800による照合が失敗した場合には、何らかの理由によってキャリブレーションパラメータと現実の値との間にある程度以上のずれが存在する(すなわち、キャリブレーションパラメータが異常である)ことが想定される。
なお、上記したように、監視エリアR0に存在する物体があらかじめ1種類に決まっている場合などには、物体識別部600による物体の種類の識別は行われなくてよい。したがって、かかる場合には、物体照合部800は、物体の種類の識別は行われないままに、物体特徴量DB900から物体の特徴量を取得すればよい。
出力部1000は、物体照合部800による照合が失敗した場合には、キャリブレーションパラメータが異常であることを提示装置30に出力する。ここでは、キャリブレーションパラメータが異常であることが、テキストデータによって出力される場合を想定する。例えば、テキストデータは、「検出物体の特徴量が異常です。キャリブレーションパラメータを見直してください。」などといったメッセージであってもよい。しかし、キャリブレーションパラメータが異常であることは、画像データ、音声データなどといった他の形態によって出力されてもよい。一方、出力部1000は、物体照合部800による照合が成功した場合には、キャリブレーションパラメータが異常であることを提示装置30に出力しなくてよい。
提示装置30は、出力部1000から出力されたキャリブレーションパラメータが異常であることを提示する。ここでは、提示装置30が、テキストデータ(または画像データ)を表示するディスプレイである場合を主に想定する。しかし、提示装置30の形態は特に限定されない。例えば、提示装置30は、音声を出力するスピーカであってもよい。なお、本発明の実施形態では、提示装置30が工事現場から離された場所(例えば、作業を監視する監視者が存在する監視室など)に設置される場合を主に想定する。かかる場合には、監視者が作業者に再度のキャリブレーションを指示してもよい。しかし、提示装置30が設置される場所は限定されない。例えば、提示装置30は、工事現場(LiDAR20の近隣)に設置されてもよい。かかる場合には、作業者が再度のキャリブレーションが必要であることを直接把握することができる。
なお、データ取得部200による点群データの取得以降の動作が、繰り返し実行されてよい。また、図3に示された例では、データ取得部200、LiDAR点群統合部300、キャリブレーションパラメータ記憶部400、LiDAR物体検出部500、物体識別部600、検出物体特徴量算出部700、物体照合部800、物体特徴量DB900、および、出力部1000が、物体検出装置10Aの内部に設けられている。しかし、これらの機能ブロックの一部または全部は、物体検出装置10Aの外部に設けられていてもよい。
以上、本発明の第1の実施形態に係る作業監視システム1Aの機能構成例について説明した。
(1-3.作業監視システムの動作例)
続いて、本発明の第1の実施形態に係る作業監視システム1Aの動作例について説明する。図4は、本発明の第1の実施形態に係る作業監視システム1Aの動作例を示すフローチャートである。なお、図4に示された動作例は、本発明の第1の実施形態に係る作業監視システム1Aの動作の一例に過ぎない。したがって、本発明の第1の実施形態に係る作業監視システム1Aの動作は、図4に示された動作例に限定されない。
まず、LiDAR20-1は、計測エリアR1を連続的にセンシングすることによって点群データを得る。そして、LiDAR20-1は、センシングによって得た点群データを物体検出装置10Aに出力する。同様に、LiDAR20-2は、計測エリアR2を連続的にセンシングすることによって点群データを得る。そして、LiDAR20-2は、センシングによって得た点群データを物体検出装置10Aに出力する。そして、図4に示されるように、データ取得部200は、複数のLiDAR20(LiDAR20-1およびLiDAR20-2)それぞれによって計測された点群データを取得する(S101)。
続いて、LiDAR点群統合部300は、キャリブレーションパラメータ記憶部400からキャリブレーションパラメータを取得し、取得したキャリブレーションパラメータに基づいて、データ取得部200によって取得された複数の点群データを統合する(S102)。LiDAR物体検出部500は、統合後の点群データに基づいて、物体を検出する(S103)。そして、物体識別部600は、LiDAR物体検出部500によって検出された物体の種類を識別する(S104)。なお、上記したように、監視エリアR0に存在する物体があらかじめ1種類に決まっている場合などには、物体識別部600による物体の種類の識別は行われなくてもよい。
続いて、検出物体特徴量算出部700は、LiDAR物体検出部500によって検出された物体の特徴量(検出特徴量)を算出する(S105)。物体照合部800は、検出物体特徴量算出部700によって算出された物体の特徴量(検出特徴量)と、物体の種類に対応して物体特徴量DB900に登録された特徴量(登録特徴量)とを照合する(S106)。照合が成功した場合には(S107において「NO」)、動作が終了する。一方、照合が失敗した場合(S107において「YES」)、出力部1000は、キャリブレーションパラメータが異常であることを提示装置30に出力し(S108)、動作が終了する。なお、動作が終了した後、データ取得部200による点群データの取得以降の動作が、繰り返し実行されてよい。
以上、本発明の第1の実施形態に係る作業監視システム1Aの動作例について説明した。
(1-4.作業監視システムが奏する効果)
以上に説明したように、本発明の第1の実施形態によれば、データ取得部200と、LiDAR点群統合部300と、LiDAR物体検出部500と、検出物体特徴量算出部700と、物体照合部800と、出力部1000とを備える、物体検出装置10Aが提供される。
ここで、データ取得部200は、互いの計測エリアに共通の監視エリアが含まれるよう設置された複数のLiDARそれぞれから点群データを取得する。LiDAR点群統合部300は、複数のLiDARそれぞれから取得された点群データを、複数のLiDARの相対的な位置関係に基づくキャリブレーションパラメータに基づいて統合して統合後の点群データを得る。
LiDAR物体検出部500は、統合後の点群データに基づいて監視エリア内の物体を検出する。検出物体特徴量算出部700は、物体の特徴量を検出特徴量として算出する。物体照合部800は、検出特徴量とあらかじめ登録された登録特徴量との照合を行う。出力部1000は、照合が失敗した場合にキャリブレーションパラメータが異常であることを出力する。
かかる構成によれば、作業者は、複数のLiDARの相対的な位置関係に基づくキャリブレーションパラメータの異常を容易に把握することが可能となる。一例として、作業者は、キャリブレーションパラメータを把握した場合、再度のキャリブレーションパラメータを物体検出装置10Aに実行させることが可能である。
以上、本発明の第1の実施形態について説明した。
<2.第2の実施形態>
続いて、本発明の第2の実施形態について説明する。
(2-1.作業監視システムの機能構成例)
続いて、図5を参照しながら、本発明の第2の実施形態に係る作業監視システム1Bの機能構成例について説明する。図5は、本発明の第2の実施形態に係る作業監視システム1Bの機能構成例を示すブロック図である。図5に示されるように、本発明の第2の実施形態に係る作業監視システム1Bは、本発明の第1の実施形態に係る物体検出装置10A(図3)の代わりに物体検出装置10Bを備える。
物体検出装置10Bは、本発明の第1の実施形態に係る物体検出装置10Aとは異なり、キャリブレーション補正部1100を備える。以下では、キャリブレーション補正部1100を中心に説明する。
キャリブレーション補正部1100は、物体照合部800による照合が失敗した場合にキャリブレーションパラメータを補正する。ここで、キャリブレーションパラメータの補正手法は限定されない。例えば、キャリブレーション補正部1100は、LiDAR点群統合部300によって得られた変換後の点群データに対して行列を用いて再変換を行った場合に、再変換後の点群データとLiDAR20-2によって計測された点群データとの統合後の点群データから検出される物体の特徴量(検出特徴量)が適正範囲に収まるような当該再変換を示す行列を補正用の変換行列として特定する。物体の特徴量を算出する手法は、上記と同様に限定されない。
このとき、LiDAR点群統合部300によって得られた変換後の点群データに対する再変換として、3軸周りの回転変換と、3次元的な平行移動とが行われる場合を想定する。ここで、回転変換を示す行列を回転行列Cとし、平行移動を示す行列を平行移動行列Dとし、x軸周りの回転角度をβxとし、y軸周りの回転角度をβyとし、z軸周りの回転角度をβzとすると、回転行列Cおよび平行移動行列Dは、下記の式(6)および式(7)に示されるように表現される。
一例として、下記の式(8)に示されるように、回転行列Cおよび平行移動行列Dの双方が組み込まれた行列E2を想定する。
このとき、例えば、キャリブレーション補正部1100は、LiDAR点群統合部300によって得られた変換後の点群データK1(x1,y1,z1,1)Tに対して行列E2が乗じられたE2・K1(x1,y1,z1,1)Tと、LiDAR20-2によって計測された点群データとの統合後の点群データから検出される物体の特徴量(検出特徴量)が適正範囲に収まるという条件を満たすβx、βy、βz、d1、d2、d3を特定すればよい。
そして、キャリブレーション補正部1100は、特定したβx、βy、βz、d1、d2、d3によって構成される行列E2を補正用の変換行列K2として特定すればよい。なお、行列E2の探索範囲は限定されない。例えば、補正用のキャリブレーションパラメータをより短時間で算出するために、キャリブレーション補正部1100は、βx、βy、βzそれぞれの探索範囲を±e1(例えば、e1は1°以上の整数の角度)とし、d1、d2、d3それぞれの探索範囲を±e2(例えば、e2は1以上の整数)などと定めてもよい。
また、物体の特徴量が適正範囲に収まるような再変換を示す行列が複数見つかる場合も想定される。かかる場合などには、キャリブレーション補正部1100は、当該複数の行列のうちから適正範囲の中央に特徴量を変換させる行列を補正用の変換行列として特定してもよい。あるいは、物体の特徴量が適正範囲に収まるような再変換を示す行列が見つからない場合も想定される。かかる場合には、キャリブレーション補正部1100は、キャリブレーションパラメータを補正しなくてもよいし(手動でキャリブレーションパラメータを補正してもよいし)、探索範囲を広げた上で、補正用のキャリブレーションパラメータを再度探索してもよい。
出力部1000は、キャリブレーション補正部1100によってキャリブレーションパラメータが補正された場合には、キャリブレーションパラメータが異常であることの他、キャリブレーションパラメータを補正したことを提示装置30に出力する。ここでは、キャリブレーションパラメータを補正したことが、テキストデータによって出力される場合を想定する。例えば、テキストデータは、「検出物体の特徴量が異常です。キャリブレーションパラメータを自動補正しました。」などといったメッセージであってもよい。しかし、キャリブレーションパラメータを補正したことは、画像データ、音声データなどといった他の形態によって出力されてもよい。一方、出力部1000は、キャリブレーション補正部1100によってキャリブレーションパラメータが補正されない場合には、キャリブレーションパラメータを補正したことを提示装置30に出力しなくてよい。
以上、本発明の第2の実施形態に係る作業監視システム1Bの機能構成例について説明した。
(2-2.作業監視システムの動作例)
続いて、本発明の第2の実施形態に係る作業監視システム1Bの動作例について説明する。図6は、本発明の第2の実施形態に係る作業監視システム1Bの動作例を示すフローチャートである。なお、図6に示された動作例は、本発明の第2の実施形態に係る作業監視システム1Bの動作の一例に過ぎない。したがって、本発明の第2の実施形態に係る作業監視システム1Bの動作は、図6に示された動作例に限定されない。
まず、図6に示されるように、S101~S107が実行されるが、S101~S107は、本発明の第1の実施形態に係る作業監視システム1Aによって実行されるS101~S107(図4)と同様に実行される。照合が成功した場合には(S107において「NO」)、動作が終了する。一方、照合が失敗した場合(S107において「YES」)、キャリブレーション補正部1100は、キャリブレーションパラメータを補正する(S201)。そして、出力部1000は、キャリブレーションパラメータが異常であることの他、補正結果を提示装置30に通知し、動作が終了する。なお、動作が終了した後、データ取得部200による点群データの取得以降の動作が、繰り返し実行されてよい。
以上、本発明の第2の実施形態に係る作業監視システム1Bの動作例について説明した。
(2-3.作業監視システムが奏する効果)
以上に説明したように、本発明の第2の実施形態に係る物体検出装置10Bは、本発明の第1の実施形態に係る物体検出装置10Aと同様な構成を有する。さらに、本発明の第2の実施形態に係る物体検出装置10Bは、統合後の点群データに基づいて検出された物体の特徴量(検出特徴量)とあらかじめ登録された登録特徴量との照合が失敗した場合にキャリブレーションパラメータを補正するキャリブレーション補正部1100を備える。
かかる構成によれば、本発明の第1の実施形態が奏する効果と同様の効果が奏され得る。また、かかる構成によれば、キャリブレーションパラメータがキャリブレーション補正部1100によって自動的に補正されるため、キャリブレーションパラメータを作業者が手動で補正するために要する手間が低減される。
以上、本発明の第2の実施形態について説明した。
<3.第3の実施形態>
続いて、本発明の第3の実施形態について説明する。
(3-1.作業監視システムの機能構成例)
続いて、図7を参照しながら、本発明の第3の実施形態に係る作業監視システム1Cの機能構成例について説明する。図7は、本発明の第3の実施形態に係る作業監視システム1Cの機能構成例を示すブロック図である。図7に示されるように、本発明の第3の実施形態に係る作業監視システム1Cは、カメラ1200を備えるとともに、本発明の第1の実施形態に係る物体検出装置10A(図3)の代わりに物体検出装置10Cを備える。
物体検出装置10Cは、本発明の第1の実施形態に係るデータ取得部200の代わりに、データ取得部201を備える。また、物体検出装置10Cは、本発明の第1の実施形態に係る物体識別部600の代わりに、物体識別部601を備える。その他、物体検出装置10Cは、本発明の第1の実施形態に係る物体検出装置10Aとは異なり、画像処理部1300を備える。以下では、カメラ1200、データ取得部201、物体識別部601および画像処理部1300を中心に説明する。
カメラ1200は、撮像範囲に監視エリアR0が含まれるよう設置されており、ネットワーク40に接続されている。カメラ1200は、監視エリアR0を連続的に撮像することによって画像データを得る。そして、カメラ1200は、撮像によって得た画像データを、ネットワーク40を介して物体検出装置10Cに出力する。ここでは、1台のカメラ1200がネットワーク40に接続される場合を主に想定する。しかし、複数のカメラ1200がネットワーク40に接続されてもよい。かかる場合には、複数のカメラ1200それぞれによって得られた画像データが物体検出装置10Cによって合成されればよい。
データ取得部201は、本発明の第1の実施形態と同様に、計測エリアR1の点群データをLiDAR20-1から取得し、計測エリアR2の点群データをLiDAR20-2から取得する。さらに、データ取得部201は、画像データをカメラ1200から取得する。データ取得部201は、計測エリアR1の点群データと計測エリアR2の点群データの他、カメラ1200から得られた画像データをLiDAR点群統合部300に出力する。なお、LiDAR20-1、LiDAR20-2およびカメラ1200の間で同期がとられていれば、同時刻のデータが各センサから取得され得る。
画像処理部1300は、カメラ1200によって撮像された画像データに基づいて、画像データに写る物体の種類を識別する。物体識別部601は、画像処理部1300によって識別された物体の種類と、統合後の点群データに基づいて検出された物体の位置とに基づいて、物体の種類を識別する。例えば、物体識別部601は、統合後の点群データに基づいて検出された物体の座標を画像データにおける座標に変換し、画像処理部1300によって、変換後の座標の範囲内において画像データから物体の種類が識別された場合、画像処理部1300によって識別された物体の種類を得ればよい。画像処理部1300による物体の種類の識別はどのようにして行われてもよく、機械学習によって行われてもよい。
以上、本発明の第3の実施形態に係る作業監視システム1Cの機能構成例について説明した。
(3-2.作業監視システムの動作例)
続いて、本発明の第3の実施形態に係る作業監視システム1Cの動作例について説明する。図8は、本発明の第3の実施形態に係る作業監視システム1Cの動作例を示すフローチャートである。なお、図8に示された動作例は、本発明の第3の実施形態に係る作業監視システム1Cの動作の一例に過ぎない。したがって、本発明の第3の実施形態に係る作業監視システム1Cの動作は、図8に示された動作例に限定されない。
まず、図8に示されるように、データ取得部201は、複数のLiDAR20(LiDAR20-1およびLiDAR20-2)それぞれによって計測された点群データと、カメラ1200によって得られた画像データとを取得する(S301)。続いて、S102、S103が実行されるが、S102、S103は、本発明の第1の実施形態に係る作業監視システム1Aによって実行されるS102、S103(図4)と同様に実行される。続いて、画像処理部1300は、画像データに基づいて検出物体の種類を識別し(S304)、物体識別部601は、かかる識別結果を得る。
続いて、S105~S108が実行されるが、S105~S108は、本発明の第1の実施形態に係る作業監視システム1Aによって実行されるS105~S108(図4)と同様に実行される。ただし、本発明の第3の実施形態では、統合後の点群データに基づいて検出された物体の種類がより高精度に識別されるため、キャリブレーションデータが異常であるかもより高精度に判定され得る。
以上、本発明の第3の実施形態に係る作業監視システム1Cの動作例について説明した。
(3-3.作業監視システムが奏する効果)
以上に説明したように、本発明の第3の実施形態に係る物体検出装置10Cは、本発明の第1の実施形態に係る物体検出装置10Aと同様な構成を有する。さらに、本発明の第3の実施形態に係る物体検出装置10Cは、撮像範囲に監視エリアが含まれるよう設置されたカメラ1200によって撮像された画像データに基づいて、画像データに写る物体の種類を識別する画像処理部1300を備える。そして、物体識別部601は、画像処理部1300によって識別された物体の種類と、統合後の点群データに基づいて検出された物体の位置とに基づいて、物体の種類を識別する。
かかる構成によれば、一般にカメラ1200はLiDAR20に比べて解像度が高いため、LiDAR20だけを用いて物体の種類を特定する場合と比較して、統合後の点群データに基づいて検出された物体の種類がより高精度に識別される。したがって、かかる構成によれば、物体の種類がより高精度に識別されるため、キャリブレーションデータが異常であるかもより高精度に判定され得る。
以上、本発明の第3の実施形態について説明した。
<4.ハードウェア構成例>
続いて、本発明の実施形態に係る物体検出装置10のハードウェア構成例について説明する。以下では、本発明の実施形態に係る物体検出装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、物体検出装置10のハードウェア構成の一例に過ぎない。したがって、物体検出装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
図9は、本発明の実施形態に係る物体検出装置10の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
以上、本発明の実施形態に係る物体検出装置10のハードウェア構成例について説明した。
<5.まとめ>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、上記では、本発明の第1の実施形態から本発明の第3の実施形態までを順に説明したが、これらの各実施形態は適宜に組み合わされてよい。例えば、本発明の第2の実施形態と本発明の第3の実施形態とが組み合わされてもよい。すなわち、本発明の第3の実施形態に係る物体検出装置10Cが、本発明の第2の実施形態に係る物体検出装置10Bのキャリブレーション補正部1100を有してもよい。かかる構成によれば、本発明の第2の実施形態および本発明の第3の実施形態それぞれによって奏される効果が、同時に享受され得る。