(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-03
(45)【発行日】2024-04-11
(54)【発明の名称】作業機械の監視装置および作業機械の監視方法
(51)【国際特許分類】
E02F 9/26 20060101AFI20240404BHJP
H04N 7/18 20060101ALI20240404BHJP
【FI】
E02F9/26 A
H04N7/18 J
(21)【出願番号】P 2020014781
(22)【出願日】2020-01-31
【審査請求日】2022-12-05
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】逢澤 正憲
【審査官】松本 泰典
(56)【参考文献】
【文献】特開2018-123646(JP,A)
【文献】特開2017-151815(JP,A)
【文献】特開2011-192226(JP,A)
【文献】特開2012-185555(JP,A)
【文献】特開2019-157497(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 9/26
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
対象範囲に存在する対象物を認識し、認識した前記対象物までの距離を表す距離取得値を取得する距離取得部と、
時系列の複数の前記距離取得値に基づき前記対象物までの最新の距離を表す距離算出値を算出する距離算出部と、
前記距離算出値と所定の閾値とを比較し、比較結果に基づき所定の信号を出力する出力部と、
を備え、
前記距離算出部は、前記対象物が認識されていない場合、時系列の複数の前記距離取得値を、所定の定数に固定して、前記距離算出値を算出
し、
前記閾値が下限値である場合、前記所定の定数は、前記閾値よりも大きい値であって前記距離取得値の最大値として設定され、
前記閾値が上限値である場合、前記所定の定数は、前記閾値よりも小さい値であって前記距離取得値の最小値として設定される値である、
作業機械の監視装置。
【請求項2】
前記距離取得部は、前記対象物の位置を表す情報をさらに取得し、
前記距離算出部は、前記位置に基づき、前記距離取得値を、前記対象範囲を複数に分割した領域である複数の分割領域に対して選択的に対応づけて、前記分割領域毎に、各前記分割領域に対応づけられた時系列の複数の前記距離取得値に基づき、各前記分割領域の前記距離算出値を算出する
請求項1に記載の作業機械の監視装置。
【請求項3】
前記距離算出部は、さらに、隣接する他の前記分割領域の前記距離算出値に基づき、各前記分割領域の前記距離算出値を算出する
請求項2に記載の作業機械の監視装置。
【請求項4】
前記距離算出部は、前記対象物が認識されていない前記分割領域について、隣接する他の前記分割領域の前記距離算出値に基づき、時系列の複数の前記距離取得値を、所定の定数に固定して、前記距離算出値を算出する
請求項3に記載の作業機械の監視装置。
【請求項5】
前記距離取得部が、
前記対象範囲を撮像した画像を表す画像信号を入力する入力部と、
前記画像から前記対象物を認識し、認識した前記対象物を含む領域の位置を表す座標情報を出力する対象物認識部と、
前記画像を表す情報と前記座標情報とを入力し、前記対象物までの距離を推定して出力するモデルであって、前記画像を表す情報と前記座標情報と前記対象物までの距離を表す情報との組を教師データとして学習された距離推定モデルを記憶する記憶部と、
前記距離推定モデルを用いて前記画像と前記対象物認識部が出力した前記座標情報とを入力として前記対象物までの距離を前記距離取得値として推定する距離推定部と、
を有する、
請求項1から4のいずれか1項に記載の作業機械の監視装置。
【請求項6】
前記距離取得部が、
前記対象物認識部が前記対象物を認識していない場合に、前記対象物が認識されていない前記画像内で、前の前記画像の前記対象物を含む領域内の領域内画像と類似する部分画像を含む領域の座標情報を、前記対象物が認識されていない前記画像の前記対象物を含む領域の座標情報とするトラッキング部を
さらに有する、
請求項5に記載の作業機械の監視装置。
【請求項7】
前記距離取得部が、
前記対象物を含む領域の座標情報が、予め定めた除外条件を満たす場合、条件を満たす領域を除外する認識結果フィルタを
さらに有する、
請求項5または6に記載の作業機械の監視装置。
【請求項8】
対象範囲に存在する対象物を認識し、認識した前記対象物までの距離を表す距離取得値を取得するステップと、
時系列の複数の前記距離取得値に基づき前記対象物までの最新の距離を表す距離算出値を算出するステップと、
前記距離算出値と所定の閾値とを比較し、比較結果に基づき所定の信号を出力するステップと、
を含み、
前記距離算出値を算出するステップでは、前記対象物が認識されていない場合、時系列の複数の前記距離取得値を、所定の定数に固定して、前記距離算出値を算出
し、
前記閾値が下限値である場合、前記所定の定数は、前記閾値よりも大きい値であって前記距離取得値の最大値として設定され、
前記閾値が上限値である場合、前記所定の定数は、前記閾値よりも小さい値であって前記距離取得値の最小値として設定される値である、
作業機械の監視方法。
【請求項9】
対象範囲に存在する対象物を認識し、認識した前記対象物までの距離を表す距離取得値を取得する距離取得部と、
時系列の複数の前記距離取得値に基づき前記対象物までの最新の距離を表す距離算出値を算出する距離算出部と、
前記距離算出値と所定の閾値とを比較し、比較結果に基づき所定の信号を出力する出力部と、を備え、
前記距離取得部は、前記対象物の位置を表す情報をさらに取得し、
前記距離算出部は、前記位置に基づき、前記距離取得値を、前記対象範囲を複数に分割した領域である複数の分割領域に対して選択的に対応づけて、前記分割領域毎に、各前記分割領域に対応づけられた時系列の複数の前記距離取得値に基づき、各前記分割領域の前記距離算出値を算出し、
さらに、隣接する他の前記分割領域の前記距離算出値に基づき、各前記分割領域の前記距離算出値を算出する、
作業機械の監視装置。
【請求項10】
対象範囲に存在する対象物を認識し、認識した前記対象物までの距離を表す距離取得値を取得する距離取得部と、
時系列の複数の前記距離取得値に基づき前記対象物までの最新の距離を表す距離算出値を算出する距離算出部と、
前記距離算出値と所定の閾値とを比較し、比較結果に基づき所定の信号を出力する出力部と、を備え、
前記距離取得部が、
前記対象範囲を撮像した画像を表す画像信号を入力する入力部と、
前記画像から前記対象物を認識し、認識した前記対象物を含む領域の位置を表す座標情報を出力する対象物認識部と、
前記画像を表す情報と前記座標情報とを入力し、前記対象物までの距離を推定して出力するモデルであって、前記画像を表す情報と前記座標情報と前記対象物までの距離を表す情報との組を教師データとして学習された距離推定モデルを記憶する記憶部と、
前記距離推定モデルを用いて前記画像と前記対象物認識部が出力した前記座標情報とを入力として前記対象物までの距離を前記距離取得値として推定する距離推定部と、を備える、
作業機械の監視装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械の監視装置および作業機械の監視方法に関する。
【背景技術】
【0002】
特許文献1には、建設機械と人との接触を回避するための監視システムの一例が記載されている。特許文献1に記載されている監視システムは、建設機械に取り付けたステレオカメラで建設機械の周囲を撮像し、ステレオカメラの視差により被写体までの距離を算出するとともに、画像認識処理によって撮像した画像に含まれる人物およびヘルメットを認識し、人物およびヘルメットまでの距離を算出する。そして、この監視システムは、距離に基づく判定処理の結果に応じて警告や建設機械の動作停止といった接触を回避するための処理を実行する。この監視システムでは、画像認識処理と距離算出処理と距離に基づく判定処理が、取得した画像毎に行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されているように人物等の認識と距離の算出と距離に基づく判定処理とが取得した画像毎に行われる場合、例えば距離の算出誤差が大きかったとき等に画像毎に判定結果が反転してしまい、安定して判定処理を行うことができない場合があるという課題があった。
【0005】
本発明は、上記事情に鑑みてなされたものであり、距離に基づく判定処理を安定して行うことができる作業機械の監視装置および作業機械の監視方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一態様は、対象範囲に存在する対象物を認識し、認識した前記対象物までの距離を表す距離取得値を取得する距離取得部と、時系列の複数の前記距離取得値に基づき前記対象物までの最新の距離を表す距離算出値を算出する距離算出部と、前記距離算出値と所定の閾値とを比較し、比較結果に基づき所定の信号を出力する出力部と、を備える作業機械の監視装置である。
【発明の効果】
【0007】
本発明の一態様によれば、時系列の複数の距離取得値に基づき対象物までの最新の距離を表す距離算出値が算出されるので、距離に基づく判定処理を安定して行うことができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態に係る監視システムの概略構成例を示すブロック図である。
【
図2】
図1に示す撮像装置2の設置例を模式的に示す平面図である。
【
図3】
図1に示す撮像装置2の他の設置例を模式的に示す平面図である。
【
図4】
図1に示す監視装置3の動作例を示すフローチャートである。
【
図5】
図4に示すステップS7の処理の一例を示すフローチャートである。
【
図6】
図1に示す監視装置3の動作例を説明するための画像を示す図である。
【
図7】
図1に示す監視装置3の動作例を説明するための模式図である。
【
図8】
図1に示す監視装置3の動作例を説明するための模式図である。
【
図9】
図1に示す監視装置3の動作例を説明するための模式図である。
【
図10】
図1に示す監視装置3の動作例を説明するための模式図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態について説明する。なお、各図において同一または対応する構成には同一の符号を用いて説明を適宜省略する。
【0010】
図1は、本発明の一実施形態に係る監視システム1の概略構成例を示すブロック図である。
図2および
図3は、
図1に示す撮像装置2の設置例を模式的に示す平面図である。
図4は、
図1に示す監視装置3の動作例を示すフローチャートである。
図5は、
図4に示すステップS7の処理の一例を示すフローチャートである。
図6は、
図1に示す監視装置3の動作例を説明するための画像の例を示す図である。
図7~
図10は、
図1に示す監視装置3の動作例を説明するための模式図である。
【0011】
図1に示す監視システム1は、撮像装置2と、監視装置3と、出力装置4とを備える。
図1に示す監視システム1は、
図2に示す油圧ショベル101に取り付けられた撮像装置2を用いて撮像装置2の撮像範囲OA(対象範囲)を撮像し、監視装置3によって、撮像した画像に基づき撮像範囲OAに存在する人(対象物)を認識するとともに、人までの距離を推定し、推定した距離が所定の閾値を下回った場合に、警報等のための信号を出力装置4に対して監視装置3から出力するシステムとして構成されている。
【0012】
なお、本実施形態の監視装置3は監視する対象物を人に限定しない。例えば他の実施形態では、対象物は、他の作業機械、乗用車等とすることができる。また、対象範囲に存在する対象物と対象物までの距離を認識するための情報を取得する装置は、単眼カメラ、ステレオカメラ等の撮像装置に限定されず、超音波、赤外線、マイクロ波、レーザ等を利用して対象物の形状、方向、距離等を計測する装置や、それらの組み合わせ等とすることができる。ただし、この実施形態では、一例として、対象物が人であり、対象範囲に存在する対象物と対象物までの距離を認識するための情報を取得する装置が単眼カメラを有する撮像装置であるとする。この場合、対象範囲は、撮像装置2の撮像範囲OAであるが、撮像装置2が撮像範囲OAを撮像した場合、撮像した画像が対象範囲に対応することになる。
【0013】
なお、
図2において油圧ショベル101は、上部旋回体103と走行装置105からなる車体101Bと、バケット108を先端に有する作業機102とを備える。油圧ショベル101は、走行装置105を駆動することで走行する。作業機102は上部旋回体103に揺動可能に取り付けられている。上部旋回体103は、回転中心RCの周りに旋回する。また、上部旋回体103には運転室104が設置されている。
【0014】
また、撮像装置2は、上部旋回体103に取り付けられていて、撮像範囲OAに存在する被写体を動画で撮像し、撮像した動画を表す信号を監視装置3へ出力する。なお、撮像装置2は、例えば、
図3に示すように複数であってもよい。
図3に示す例では、4個の撮像装置2、2-1、2-2および2-3が、撮像方向を90度ずつ異ならせて上部旋回体103に取り付けられている。
図3に示す例では、撮像装置2、2-1、2-2および2-3を用いて撮像範囲OA、OA1、OA2およびOA3を撮像することで、360度の範囲を監視することができる。
【0015】
一方、
図1に示す監視装置3は、マイクロコンピュータ、CPU(中央処理装置)を有するプログラマブルデバイス等のコンピュータ、そのコンピュータの周辺装置等のハードウェアを用いて構成することができる。本実施形態の監視装置3は、コンピュータ等のハードウェアと、コンピュータが実行するプログラム等のソフトウェアとの組み合わせで構成される機能的構成として、距離取得部5と、距離算出部6と、出力部7を有する。
【0016】
距離取得部5は、入力部51と、対象物認識部52と、トラッキング部53と、認識結果フィルタ54と、距離推定部55と、座標変換部56と、記憶部57とを有する。記憶部57は、画像ファイル571と、認識モデル572と、距離推定モデル573を記憶する。距離取得部5は、撮像装置2が撮像範囲OA(対象範囲)に存在する人(対象物)を認識し、認識した人までの距離を表す距離取得値を取得する。
【0017】
入力部51は、撮像装置2が撮像範囲OA(対象範囲)を撮像した画像を表す画像信号を入力し、例えばフレーム毎の複数の静止画像を含む画像ファイル571として記憶部57に記憶する。なお、この例では、監視装置3が、撮像装置2が撮像した動画像の1フレーム毎に後述する認識処理や判定処理を実行することとする。ただし、監視装置3は、例えば複数フレーム毎に認識処理や判定処理を実行してもよい。
【0018】
対象物認識部52は、認識モデル572を用いて入力部51が入力した画像から人(対象物)を認識し、認識した人を含む領域の位置を表す座標情報を出力する。認識モデル572は、例えばニューラルネットワークを要素とする学習済みモデルであり、入力される多数のデータに対して求める解が出力されるよう、機械学習によりニューラルネットワークの各層のニューロン間の重み付け係数が最適化されている。認識モデル572は、例えば、入力から出力までの演算を行うプログラムと当該演算に用いられる重み付け係数(パラメータ)の組合せで構成される。認識モデル572は、画像を入力し、その画像に人が含まれる場合にその人を含む領域の座標情報を解として出力するように、複数の画像を表す情報と各画像に人が含まれている場合にその人を含む領域の座標を表す情報とを対応づけたデータセットを教師データとして機械学習されている。
図6は対象物認識部52へ入力される画像の一例として画像21を示す。対象物認識部52は、
図6に示す画像21が入力されると、例えば
図7に示すように画像21に含まれている人81を含む領域91(以下、検出領域91という)を算出し、検出領域91の左上と右下の各画素の座標情報(X1,Y1)および(X2,Y2)を算出して出力する。
【0019】
トラッキング部53は、対象物認識部52が前のフレームで人を検出していたのに、次のフレームで誤って人を検出できなかった場合に、誤って人を検出できなかったフレームで検出されるべき検出領域の位置を推定する(これをトラッキング処理という)。本実施形態では、トラッキング部53は、対象物認識部52が人(対象物)を認識していない場合に、人が認識されていない画像内で、前の画像の人を含む検出領域内の画像(領域内画像とする)と類似する部分画像を含む領域の座標情報を、人が認識されていない画像の人を含む検出領域の座標情報とする。例えば、対象物認識部52が前のフレームで
図7に示すように検出領域91を認識していた場合に、次にフレームで検出領域を検出することができなかったとき、トラッキング部53は、
図7に示す検出領域91内の領域内画像(
図8に領域内画像201として示す)に類似する部分画像を、次のフレームの画像(
図8の画像22)から認識する。トラッキング部53は、次のフレームの画像(
図8の画像22)で領域内画像201に類似する部分画像を認識できた場合、その部分画像を含む領域92を、次のフレームの画像(
図8の画像22)の検出領域として、領域92の左上と右下の各画素の座標情報(X1,Y1)および(X2,Y2)を検出領域の座標情報として出力する。
【0020】
本実施形態では、背景や検出対象の姿勢・位置の小さな変化により前フレームでは検出されていた対象が、次フレームでは未検出となってしまうケースに対応するため、画像処理のトラッキング技術を応用して次フレームの検出領域を推定する。なお、トラッキング部53は、例えば、前の画像が複数の検出領域を含む場合、前フレームで検出された確信度が一番高い検出結果をトラッキングすることができる。確信度とは認識モデル572が検出対象に対して何%の確率で人と思うかを示すものであり、大まかに表現すると認識モデル572が検出結果に対しどの程度自信を持っているかを表す値である。トラッキング部53は、未検出のフレームが出現した時、前フレームで検出された領域内の画像に類似する領域を次フレーム(1番目のフレームとする)内で探索する。トラッキング部53は、その次のフレーム(2番目のフレーム)でも対象物認識部52が検出領域を未検出の場合、1番目のフレームで推定した検出領域の領域内画像に類似する部分画像を2番目のフレームで探索する。ただし、瞬間的な誤検出に対しトラッキングを続けてしまうと、誤検出を不必要に拡張してしまうため、例えば、連続トラッキング回数に制限を設けるようにしてもよい。
【0021】
認識結果フィルタ54は、人(対象物)を含む検出領域の座標情報が、予め定めた除外条件を満たす場合、条件を満たす検出領域を除外する。対象物認識部52による認識結果が明らかにおかしい場合に対して、ルールで除外することで誤認識を減らすことが可能である。例えば、撮像装置2の設置場所に伴う車体101Bの映りこみや想定される現場状況により撮像画像内における人の位置が限定される場合、
図9に示す領域(検出領域93、94および97)に対して次のようなフィルタリングが可能である。なお、
図9は、人82および83を含む画像23を対象物認識部52へ入力した場合に、対象物認識部52が検出領域93~97を認識した場合の例を模式的に示す。
【0022】
(a)足元の座標(検出領域の左下の座標)が破線L1で示す基準値より上にある場合は誤認識とする。例えば、空だと既知であるような高さに認識が出てしまった場合を想定している。検出したい範囲に急なのぼり勾配が存在しない場合は有効である。
図9に示す例では、検出領域93を除外することができる。
【0023】
(b)検出領域の縦横比が所定の基準値よりも横長の場合は誤認識とする。検出対象の状態を次に限定する場合は有効である。(1)立っている。(2)歩いている。(3)しゃがんでいる。(4)体の大部分が映っている(頭だけしか映らないなどの極端な至近距離ではない)。
図9に示す例では、検出領域97を除外することができる。
【0024】
(c)車体101Bの映りこみ領域に一定以上かぶっていたら誤認識とする。
図9に示す例では、検出領域94を除外することができる。
【0025】
距離推定部55は、距離推定モデル573を用いて画像と対象物認識部52が出力した座標情報とを入力として人(対象物)までの距離を距離取得値として推定する。距離推定モデル573は、認識モデル572と同様に、例えばニューラルネットワークを要素とする学習済みモデルである。距離推定モデル573は、画像を表す情報と検出領域の座標情報とを入力し、人までの距離を推定して出力するモデルであって、画像を表す情報と検出領域の座標情報と人までの距離を表す情報との組を教師データとして機械学習されている。距離推定部55は、例えば
図6に示す画像21を表す情報と、
図7に示す検出領域91の座標情報(X1,Y1)および(X2,Y2)とを入力し、撮像装置2から人81までの距離を推定して距離取得値として出力する。
【0026】
本実施形態において距離推定モデル573は、検出領域の座標情報を入力データとしている。
【0027】
座標変換部56は、距離推定部55が推定した撮像装置2を基準とするカメラ座標系での距離算出値を、車体101Bを基準とする車体座標系で距離算出値に変換する。
【0028】
距離算出部6は、時系列の複数の距離取得値に基づき例えば移動平均によって人(対象物)までの最新の距離を表す距離算出値を算出する。
【0029】
出力部7は、距離算出部6が算出した距離算出値と所定の閾値とを比較し、比較結果に基づき所定の信号を出力する。出力部7は、距離算出値が所定の閾値を下回った場合、例えば、モニタ、スピーカ、表示灯等からなる出力装置4に対して、警告表示や警告音の出力を行うように所定の信号を出力したり、あるいは油圧ショベル101の図示していない制御装置に対して油圧ショベル101の動作を制限したり停止したりする(制御介入する)ための所定の信号を出力する。この実施形態において出力部7は、距離算出値が所定の閾値(例えば4mとする)より小さい場合に、警告や制御介入等を実行するための信号を出力する。ただし、出力部7は、他の実施形態においては、例えば所定の閾値より大きい場合(対象物が離れすぎた場合)に警告や制御介入を実行するための信号を出力したり、例えば所定の上限値および下限値の各閾値で定める範囲から逸脱した場合に(対象物が離れすぎた場合または近づきすぎた場合)に警告や制御介入を実行するための信号を出力したりしてもよい。
【0030】
上記のトラッキングでも述べたように、前後フレーム間の微小な変化でも認識結果が変化してしまう可能性があり、例えば、制御信号のON/OFFが激しく切り替わってしまい制御介入やアラート発報に問題を起こしうることが考えられる。そこで、本実施形態では、距離算出部6によって、取得した時系列の複数の距離取得値を用いて、時間平均による時間フィルタリング(平滑化)を行って距離算出値を求めることで、距離算出値の変動を時間フィルタリングを行わない場合と比較して低く抑えている。
【0031】
出力装置4は、モニタ、スピーカ、表示灯等、あるいはそれらの組み合わせで構成され、例えば、運転室104内に設けられる。なお、例えば撮像装置2が取り付けられている作業機械が、無線信号を用いて遠隔操作される場合、監視装置3や出力装置4は遠隔操作を実行する場所に設けることができる。
【0032】
次に、
図4を参照して
図1に示す監視装置3の動作例について説明する。
図4に示す処理は、撮像装置2の動画撮像のフレーム毎に実行される。
図4に示す処理が実行されると、まず、入力部51が、撮像装置2から画像を入力する(ステップS1)。次に、対象物認識部52が、画像に含まれる人を認識する(対象範囲に存在する対象物を認識する)(ステップS2)。ステップS2において対象物認識部52は、認識モデル572を用いて画像から人(対象物)を認識し、認識した人を含む領域(検出領域)の座標情報を出力する。
【0033】
次に、人(対象物)が認識されなかった場合(ステップS3で「NO」の場合)、トラッキング部53がトラッキング処理を行う(ステップS4)。ステップS4において、トラッキング部53は、人(対象物)が認識されていない画像内で、前の画像の人(対象物)を含む領域(検出領域)内の領域内画像と類似する部分画像を含む領域の座標情報を、その人(対象物)が認識されていない画像の人(対象物)を含む領域(検出領域)の座標情報とする。
【0034】
次に、認識結果フィルタ54が、認識された人(対象物)を含む領域(検出領域)の座標情報が、予め定めた除外条件を満たす場合、条件を満たす領域を除外する(ステップS5)。
【0035】
次に、距離推定部55と座標変換部56が、人(対象物)までの距離を表す距離取得値を取得する(算出する)(ステップS6)。ステップS6において、距離推定部55は、距離推定モデル573を用いて画像と検出領域の座標情報とを入力として、人(対象物)までの距離を距離取得値として推定する。また、座標変換部56は、距離推定部55が推定した撮像装置2を基準とするカメラ座標系での距離取得値を、車体101Bを基準とする車体座標系で距離取得値に変換する。
【0036】
次に、距離算出部6が、時系列の複数の距離取得値に基づき人(対象物)までの最新の距離を表す距離算出値を算出する(ステップS7)。
【0037】
次に、出力部7が、距離算出値と所定の閾値とを比較し(ステップS8)、比較結果に基づき所定の信号を出力する(ステップS9)。
【0038】
次に、
図5を参照して
図4に示すステップS7の処理について説明する。
図5は、
図4に示すステップS7の処理の一例を示す。
図5に示す処理では、まず、距離算出部6が、変数iをN-1、…、2、1と1ずつ変化させながら、変数Z(i)の値を変数Z(i+1)に格納する(ステップS71)。変数Z(i)は時系列のN個の距離取得値を格納する変数であり、変数Z(1)には最新の距離取得値が格納され、変数Z(2)には1フレーム前の距離取得値が格納され、変数Z(N)には(N-1)フレーム前の距離取得値が格納される。なお、Nは2以上の整数である。
【0039】
次に、距離算出部6は、人(対象物)が認識されているか否かを判断し(ステップS72)、人(対象物)が認識されている場合(ステップS72で「YES」の場合)、ステップS6で取得された新たな距離取得値を取得する(ステップS73)。なお、ステップS72で人(対象物)が認識されていると判断されるのは、ステップS2で人(対象物)が認識されるか(検出領域の座標情報が算出されるか)、ステップS4で検出領域の座標情報が設定されるかした後、ステップS5で除外されなかった検出領域の座標情報が存在する場合である。また、距離算出部6は、ステップS73において、対象とする画像に対して複数の検出領域が存在する場合には、各検出領域に対して推定された複数の距離取得値のうち最小の距離取得値(閾値に対する余裕がより小さい値)を新たな距離取得値とする。
【0040】
一方、人(対象物)が認識されていない場合(ステップS72で「NO」の場合)、距離算出部6は、新たな距離取得値を第1定数に固定する(ステップS74)。本実施形態において、第1定数は、距離取得値の最大値(制限値)であり、例えば、閾値が4mである場合、第1定数は閾値より大きい値(例えば6m)に設定することができる。
【0041】
次に、距離算出部6は、新たな距離取得値と第1定数のうち閾値に対する余裕がより小さい値を変数Z(1)に入力する(ステップS75)。ここで、閾値に対する余裕がより小さい値とは、本実施形態のように閾値が下限値である場合(閾値より小さいときに警告等が行われる場合)、その値が閾値より大きいとき、閾値との差が小さい方が余裕が小さくなる。また、その値が閾値より小さいとき、閾値との差(の絶対値)が大きい方が余裕が小さくなる。例えば、閾値が4mで第1定数が6mの場合、距離取得値が7mのとき第1定数の方が閾値に対する余裕がより小さい値となり、変数Z(i)には第1定数の6mが入力される。また、例えば、距離取得値が3mのとき距離取得値の方が閾値に対する余裕がより小さい値となり、変数Z(i)には距離取得値の3mが入力される。
【0042】
なお、本実施形態と異なり、例えば閾値が上限値である場合(閾値より大きいときに警告等が行われる場合)、その値が閾値より小さいとき、閾値との差が小さい方が余裕が小さくなる。また、その値が閾値より大きいとき、閾値との差(の絶対値)が大きい方が余裕が小さくなる。なお、この場合、第1定数は、距離取得値の最小値(制限値)であり、例えば、閾値が6mである場合、第1定数は閾値より小さい値(例えば4m)に設定することができる。例えば、閾値が6mで第1定数が4mの場合、距離取得値が3mのとき第1定数の方が閾値に対する余裕がより小さい値となり、変数Z(i)には第1定数の4mが入力される。また、例えば、距離取得値が7mのとき距離取得値の方が閾値に対する余裕がより小さい値となり、変数Z(i)には距離取得値の7mが入力される。
【0043】
次に、距離算出部6は、距離算出値を変数Dとした場合、例えば、(式)D={Z(1)+Z(2)+…+Z(N)}/Nで、距離算出値を算出する(ステップS76)。
【0044】
図5に示す処理では、距離算出部6は、最新の距離取得値と以前のN-1個の距離取得値(以前の(N-1)フレーム分の距離取得値)との単純移動平均値を、距離算出値として算出する。また、距離取得値の最大値を第1定数に制限することで、制限しなかった場合と比べて距離取得値が急に変化した場合に対する距離算出値の応答性を向上させることができる。
【0045】
図10は、時間フィルタリングの効果の検証結果を示す。
図10は、上から順に、距離取得値(破線)と距離算出値(実線)の時間変化と、判定結果の時間変化(時間フィルタが無い場合)と、判定結果の時間変化(時間フィルタが有る場合)とを示す。判定結果は、「0」が閾値4mを下回らなかった場合、「1」が閾値4mを下回った場合である。
図10に示すように、判定結果が変化する頻度は、時間フィルタが有る場合(移動平均で距離算出値を求めた場合)より、時間フィルタが無い場合(距離取得値と閾値を比較した場合)の方が大きい。
【0046】
以上のように、本実施形態によれば、時系列の複数の距離取得値に基づき人(対象物)までの最新の距離を表す距離算出値が算出されるので、距離に基づく判定処理を安定して行うことができる。
【0047】
次に、
図11~
図14を参照して、上記実施形態の変形例について説明する。この変形例は、上記実施形態と比較して、
図4に示すステップS7での距離算出部6による距離算出値の算出の仕方と出力部7の動作が異なる。
図11~
図13は、
図4に示すステップS7の処理の他の例を示すフローチャートであり、各図のフローは結合子C1または結合子C2で互いに結合されている。
図14は、
図11~
図13に示す
図4に示すステップS7の処理の他の例を説明するための模式図である。なお、
図1に示す監視システム1の構成と、
図4に示す動作例は、上記実施形態とこの変形例において距離算出値の算出の仕方と出力部7の動作以外について基本的に同一である。
【0048】
本変形例において、距離取得部5は、取得した距離取得値とともに検出領域の座標情報を距離算出部6に対して出力する。すなわち、距離取得部5は、対象範囲に存在する人(対象物)を認識し、認識した人(対象物)までの距離を表す距離取得値を取得するとともに、人(対象物)の位置を表す情報(検出領域の座標情報)をさらに取得する。そして、距離算出部6は、位置(検出領域の座標情報)に基づき、距離取得値を、対象範囲を複数に分割した領域である複数の分割領域に対して選択的に対応づけて、分割領域毎に、各分割領域に対応づけられた時系列の複数の距離取得値と、隣接する他の分割領域の距離算出値とに基づき、各分割領域の距離算出値を算出する。また、距離算出部6は、人(対象物)が認識されていない分割領域について、隣接する他の分割領域の前記距離算出値に基づき、時系列の複数の距離取得値を、所定の定数(第2定数)に固定して、距離算出値を算出する。
【0049】
図14に示すように、距離算出部6は、例えば、入力部51が入力した画像24を、横方向(上部旋回体103の回転軸と垂直方向)に3分割した3個の分割領域毎に、距離算出値を算出する。以下、
図14に示す左側の分割領域を左領域2L、中央の分割領域を中領域2C、右側の分割領域を右領域2Rという。なお、
図14に示す画像24には人84と人85が含まれていて、距離取得部5は、人84に対して検出領域98を認識し、人85に対して検出領域99を認識している。また、検出領域98と検出領域99は、右領域2Rに位置している。
【0050】
ここで、
図11~
図13を参照して
図4に示すステップS7の処理について説明する。
図11~
図13に示す処理では、まず、距離算出部6が、変数iをN-1、…、2、1と1ずつ変化させながら、変数Zl(i)の値を変数Zl(i+1)に格納する(ステップS701)。変数Zl(i)は左領域2Lに対応づけられた時系列のN個の距離取得値を格納する変数であり、変数Zl(1)には左領域2Lに対応づけられた最新の距離取得値が格納され、変数Zl(2)には左領域2Lに対応づけられた1フレーム前の距離取得値が格納され、変数Zl(N)には左領域2Lに対応づけられた(N-1)フレーム前の距離取得値が格納される。なお、Nは2以上の整数である。
【0051】
次に、距離算出部6が、変数iをN-1、…、2、1と1ずつ変化させながら、変数Zc(i)の値を変数Zc(i+1)に格納する(ステップS702)。変数Zc(i)は中領域2Cに対応づけられた時系列のN個の距離取得値を格納する変数であり、変数Zc(1)には中領域2Cに対応づけられた最新の距離取得値が格納され、変数Zc(2)には中領域2Cに対応づけられた1フレーム前の距離取得値が格納され、変数Zc(N)には中領域2Cに対応づけられた(N-1)フレーム前の距離取得値が格納される。
【0052】
次に、距離算出部6が、変数iをN-1、…、2、1と1ずつ変化させながら、変数Zr(i)の値を変数Zr(i+1)に格納する(ステップS703)。変数Zr(i)は右領域2Rに対応づけられた時系列のN個の距離取得値を格納する変数であり、変数Zr(1)には右領域2Rに対応づけられた最新の距離取得値が格納され、変数Zr(2)には右領域2Rに対応づけられた1フレーム前の距離取得値が格納され、変数Zc(N)には中領域2Cに対応づけられた(N-1)フレーム前の距離取得値が格納される。
【0053】
次に、距離算出部6が、認識した人(対象物)を含む領域(検出領域)の座標情報に基づき、新たな距離取得値を対応づける分割領域を選択する(ステップS704)。ステップS704において、例えば、検出領域が1つの分割領域に含まれる場合、距離算出部6は、当該検出領域に対して推定された新たな距離取得値をその1つの分割領域に対応づける。例えば、検出領域が2つの分割領域にまたがる場合、距離算出部6は、当該検出領域に対して推定された新たな距離取得値をその2つの分割領域に対応づける。
【0054】
次に、距離算出部6が、選択された分割領域に対応する変数Zl(1)、Zc(1)またはZr(1)に、新たな距離取得値を格納する(ステップS705)。ただし、ステップS704において、1つの分割領域に対して複数の検出領域が対応づけられている場合には、各検出領域に対して推定された複数の距離取得値のうち最小の距離取得値(閾値に対する余裕がより小さい値)を新たな距離取得値とする。また、新たな距離取得値は、距離取得値と第1定数のうち閾値に対する余裕がより小さい値とする。
【0055】
次に、距離算出部6が、選択されていない分割領域に対応する変数Zl(1)、Zc(1)またはZr(1)に第1定数を格納する(ステップS706)。
【0056】
図14に示す画像24の場合、距離算出部6は、ステップS704で右領域2Rを選択し、ステップS704で変数Zr(1)に例えば検出領域99に対して推定された距離取得値を格納し、ステップS705で変数Zl(1)と変数Zc(1)に第1定数(6m)を格納する。
【0057】
次に、距離算出部6は、左領域2Lの距離算出値を変数Dlとした場合、(式)Dl={Zl(1)+Zl(2)+…+Zl(N)}/Nで、左領域2Lの距離算出値を算出する(ステップS707)。
【0058】
次に、距離算出部6は、中領域2Cの距離算出値を変数Dcとした場合、(式)Dc={Zc(1)+Zc(2)+…+Zc(N)}/Nで、中領域2Cの距離算出値を算出する(ステップS708)。
【0059】
次に、距離算出部6は、右領域2Rの距離算出値を変数Drとした場合、(式)Dr={Zr(1)+Zr(2)+…+Zr(N)}/Nで、右領域2Rの距離算出値を算出する(ステップS709)。
【0060】
次に、距離算出部6は、左領域2Lの距離算出値Dlが第1条件を満たし、かつ、隣接する中領域2Cの距離算出値Dcが第2条件を満たすか否かを判断する(ステップS710)。例えば、第1条件は距離算出値Dlが閾値を下回っていないこと(警告等のための信号を出力する値ではないこと)であり、第2条件は距離算出値Dcが閾値を下回っていること(警告等のための信号を出力する値であること)である。
【0061】
左領域2Lの距離算出値Dlが第1条件を満たし、かつ、隣接する中領域2Cの距離算出値Dcが第2条件を満たす場合(ステップS710で「YES」の場合)、距離算出部6は、変数Zl(i)(i=N-1,…,2)のうち、閾値に対する余裕が第2定数より大きいものを第2定数に固定し(ステップS711)、次にステップS707と同様にして左領域2Lの距離算出値Dlを再計算する(ステップS712)。第2定数は、第1定数より閾値に対する余裕が小さい固定値である。例えば閾値(下限値)が4mで第1定数が6mの場合、第2定数は4mより大きく6mより小さい値とすることができる。例えば第2定数を4.2mとした場合、ステップS711では、4.2mより大きい変数Zl(i)の値が4.2mに固定される。このようにすることで、例えば、中領域2Cで閾値を下回る距離算出値Dcの原因となった人(対象物)が、左領域2Lに移動してきた場合に第2定数に固定しない場合と比較して小さい遅れで左領域2Lの距離算出値Dlを閾値を下回る値とすることができる。なお、第1条件と第2条件は以上のものに限定されない。また、第1条件は省略してもよい。
【0062】
次に、距離算出部6は、中領域2Cの距離算出値Dcが第1条件を満たし、かつ、隣接する左領域2Lの距離算出値Dlと右領域2Rの距離算出値Drが第2条件を満たすか否かを判断する(ステップS713)。例えば、第1条件は距離算出値Dcが閾値を下回っていないこと(警告等のための信号を出力する値ではないこと)であり、第2条件は距離算出値Dlまたは距離算出値Drが閾値を下回っていること(少なくとも一方が警告等のための信号を出力する値であること)である。
【0063】
中領域2Cの距離算出値Dcが第1条件を満たし、かつ、隣接する左領域2Lの距離算出値Dlと右領域2Rの距離算出値Drが第2条件を満たす場合(ステップS713で「YES」の場合)、距離算出部6は、変数Zc(i)(i=N-1,…,2)のうち、閾値に対する余裕が第2定数より大きいものを第2定数に固定し(ステップS714)、次にステップS708と同様にして中領域2Cの距離算出値Dcを再計算する(ステップS715)。
【0064】
次に、距離算出部6は、右領域2Rの距離算出値Drが第1条件を満たし、かつ、隣接する中領域2Cの距離算出値Dcが第2条件を満たすか否かを判断する(ステップS716)。例えば、第1条件は距離算出値Drが閾値を下回っていないこと(警告等のための信号を出力する値ではないこと)であり、第2条件は距離算出値Dcが閾値を下回っていること(警告等のための信号を出力する値であること)である。
【0065】
右領域2Rの距離算出値Drが第1条件を満たし、かつ、隣接する中領域2Cの距離算出値Dcが第2条件を満たす場合(ステップS716で「YES」の場合)、距離算出部6は、変数Zr(i)(i=N-1,…,2)のうち、閾値に対する余裕が第2定数より大きいものを第2定数に固定し(ステップS717)、次にステップS708と同様にして中領域2Cの距離算出値Dcを再計算する(ステップS716)。
【0066】
また、この変形例において出力部7は、分割領域毎に、閾値と各分割領域の距離算出値とを比較し、比較結果に応じて、分割領域毎にあるいは全領域共通に所定の信号を出力する。例えば、出力部7は、出力装置4がモニタである場合に閾値を下回った分割領域が視認できるように警告等を表示させたり、分割領域に対応する位置の警告灯を発光させたり、上部旋回体103の旋回方向の制限を分割領域の方向に応じて切り替えたりすることができる。
【0067】
図11~
図13に示す処理では、距離算出部6は、分割領域毎に、最新の距離取得値と以前のN-1個の距離取得値(以前の(N-1)フレーム分の距離取得値)との単純移動平均値を、距離算出値として算出する。また、距離取得値の最大値を第1定数に制限することで、制限しなかった場合と比べて距離取得値が急に変化した場合に対する距離算出値の応答性を向上させることができる。さらに、隣接する分割領域の距離取得値に基づき、例えば隣接する分割領域の距離取得値が閾値を下回っているような場合に、当該領域の距離取得値の最大値を第1定数より小さい第2定数に制限することで、制限しなかった場合と比べて距離取得値が急に変化した場合に対する距離算出値の応答性を向上させることができる。
【0068】
以上、この発明の実施形態について図面を参照して説明してきたが、具体的な構成は上記実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、作業機械は、油圧ショベルに限定されない。また、
図3に示すように撮像装置2を複数のカメラで構成する場合、複数の撮像画像に対する処理を独立して並列に行ってもよいし、複数の撮像画像を複数の分割領域として処理してもよい。また、時間フィルタにおける移動平均は、単純移動平均に限らず、加重移動平均、指数移動平均等としてもよい。また、時間フィルタは、有限インパルス応答フィルタ、無限インパルス応答フィルタ等からなるローパスフィルタとしてもよい。また、撮像装置は、移動体に設置されていてもよいし、例えば大地に対して固定されていてもよい。
【0069】
また、上記実施形態でコンピュータが実行するプログラムの一部または全部は、コンピュータ読取可能な記録媒体や通信回線を介して頒布することができる。
【符号の説明】
【0070】
1…監視システム、2…撮像装置、3…監視装置、4…出力装置、5…距離取得部、6…距離算出部、7…出力部、2L…左領域(分割領域)、2C…中領域(分割領域)、2R…右領域(分割領域)、51…入力部、52…対象物認識部、53…トラッキング部、54…認識結果フィルタ、55…距離推定部、572…認識モデル、573…距離推定モデル