(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023099912
(43)【公開日】2023-07-14
(54)【発明の名称】作業機械の周辺監視装置
(51)【国際特許分類】
H04N 7/18 20060101AFI20230707BHJP
E02F 9/26 20060101ALI20230707BHJP
E02F 9/24 20060101ALI20230707BHJP
【FI】
H04N7/18 J
E02F9/26 B
E02F9/24 B
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2022000130
(22)【出願日】2022-01-04
(11)【特許番号】
(45)【特許公報発行日】2022-07-21
(71)【出願人】
【識別番号】509122887
【氏名又は名称】株式会社レグラス
(74)【代理人】
【識別番号】100211719
【弁理士】
【氏名又は名称】伊藤 和真
(72)【発明者】
【氏名】酒井 将
(72)【発明者】
【氏名】佐々木 翔
(72)【発明者】
【氏名】森住 哲也
(72)【発明者】
【氏名】前田 隆志
(72)【発明者】
【氏名】長谷川 裕太
(72)【発明者】
【氏名】村上 大樹
(72)【発明者】
【氏名】和田 覚
(72)【発明者】
【氏名】椿谷 亮太
【テーマコード(参考)】
2D015
5C054
【Fターム(参考)】
2D015GA03
2D015GB06
2D015GB07
2D015HA03
2D015HB05
5C054CC05
5C054FC12
5C054FC15
5C054FE12
5C054FF06
5C054HA30
(57)【要約】
【課題】画像処理に対する演算負荷を低減させながら、作業機械とその周囲の人物又は障害物との接触を好適に抑制可能な周辺監視装置を提供する。
【解決手段】本開示の作業機械の周辺監視装置100は、1以上のステレオカメラ210を含んだ撮影装置200と、撮影された作業機械10の周囲画像を表す撮影画像データに基づいて所定の処理を実行するプロセッサ303と、所定の警報信号又は/及び所定の発報を出力する発報装置400と、を備える。そして、プロセッサ303は、作業機械10の周囲における同一の領域が撮影された複数のステレオ画像データの視差に基づいて、作業機械10とその周囲の物体との距離を測定する。そして、測定された距離に基づいて、発報装置400による警報信号又は/及び発報の出力を制御する。このとき、ディープラーニングにより生成されるニューラルネットワークモデルを用いて撮影画像データから人物画像を抽出してもよい。
【選択図】
図1
【特許請求の範囲】
【請求項1】
作業機械に設置され、該作業機械の周囲を撮影する撮影装置と、
前記撮影装置によって撮影された前記作業機械の周囲画像を表す撮影画像データを取得し、該撮影画像データに基づいて所定の処理を実行するプロセッサと、
所定の警報信号又は/及び所定の発報を出力する発報装置と、
を備え、
前記撮影装置は、1以上のステレオカメラを含んで構成され、該撮影装置によって撮影される前記撮影画像データがステレオ画像データであって、
前記プロセッサは、
前記ステレオ画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定する測距処理と、
前記測距処理によって測定された前記作業機械とその周囲の物体との距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する発報制御処理と、
を実行し、
前記測距処理において、前記作業機械の周囲における同一の領域が撮影された複数の前記ステレオ画像データに基づいて、前記作業機械とその周囲の物体との距離を測定する、
作業機械の周辺監視装置。
【請求項2】
前記発報制御処理において、前記プロセッサは、
前記作業機械とその周囲の物体との距離が所定値以下となった場合に、前記発報装置から、該作業機械とその周囲の物体との接触を回避するための所定の回避動作を指令する信号を出力させる、
請求項1に記載の作業機械の周辺監視装置。
【請求項3】
前記測距処理において、前記プロセッサは、
前記撮影装置によって撮影された元画像データを縮小処理した縮小画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定するとともに、前記縮小画像データの視差が略ゼロとなる画像領域については、前記元画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定する、
請求項1又は請求項2に記載の作業機械の周辺監視装置。
【請求項4】
前記プロセッサは、
前記ステレオ画像データの視差に基づいて、前記作業機械の周囲の路面を含んだ周囲空間の三次元座標である周囲空間座標を取得することと、
前記周囲空間座標に基づいて、該周囲空間座標において隣接する各座標点が複数纏められたグリッドマップを作成することと、
前記周囲空間座標に基づいて、前記作業機械の周囲の路面であって該作業機械が走行する走行路面を検出する走行路面検出処理と、
前記走行路面からの高さに基づいて、前記作業機械の周囲の障害物を検出する障害物検出処理と、
を更に実行し、
前記グリッドマップにおける各グリッドについて、該グリッドに含まれる複数の高さ座標値のうち最も高い座標値を該グリッドのグリッド高さと定義したとき、
前記障害物検出処理において、
前記走行路面と前記グリッド高さとを比較することで、前記作業機械の周囲の障害物を検出する、
請求項1から請求項3の何れか1項に記載の作業機械の周辺監視装置。
【請求項5】
前記走行路面検出処理において、前記プロセッサは、
前記グリッドマップにおける前記グリッド高さが略同一となる複数のグリッドを纏めて前記走行路面として検出する、
請求項4に記載の作業機械の周辺監視装置。
【請求項6】
前記プロセッサは、
前記ステレオ画像データに含まれる2つの画像データについて、同一の対象物が撮影された画素の輝度情報を夫々取得し、各画像データにおける隣接する複数の画素の前記輝度情報の積算値を前記2つの画像データで比較することで、前記ステレオカメラのレンズの汚れを検出する、
請求項1から請求項5の何れか1項に記載の作業機械の周辺監視装置。
【請求項7】
作業機械に設置され、該作業機械の周囲を撮影する撮影装置と、
前記撮影装置によって撮影された前記作業機械の周囲画像を表す撮影画像データを取得し、該撮影画像データに基づいて所定の処理を実行するプロセッサと、
所定の警報信号又は/及び所定の発報を出力する発報装置と、
を備え、
前記プロセッサは、
前記撮影画像データから人物画像を抽出する抽出処理と、
抽出された前記人物画像に基づいて、前記作業機械とその周囲の人物との距離を測定する測距処理と、
前記測距処理によって測定された前記作業機械とその周囲の人物との距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する発報制御処理と、
を実行し、
前記測距処理において、前記撮影画像データにおける前記人物画像を囲う検出枠の上端高さを取得するとともに、
前記発報制御処理では、前記人物画像に基づく前記作業機械の周囲人物のうち前記上端高さが所定の閾値以上の人物を除外したときの該周囲人物と、前記作業機械と、の距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する、
作業機械の周辺監視装置。
【請求項8】
前記発報制御処理において、前記プロセッサは、
前記作業機械と前記周囲人物との距離が所定値以下となった場合に、前記発報装置から、前記作業機械とその周囲の人物との接触を回避するための所定の回避動作を指令する信号を出力させる、
請求項7に記載の作業機械の周辺監視装置。
【請求項9】
前記発報制御処理において、前記プロセッサは、
前記人物画像に基づく前記作業機械の周囲人物のうち、前記上端高さが所定の閾値以上で、且つ前記撮影画像データにおいて前記作業機械とは異なる他の作業機械の画像と所定割合以上で重なり合っている人物を除外したときの該周囲人物と、前記作業機械と、の距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する、
請求項7又は請求項8に記載の作業機械の周辺監視装置。
【請求項10】
前記抽出処理において、前記プロセッサは、
所定の画像データの入力を受け付ける入力層と、入力された該画像データから人物を表す特徴量を抽出する中間層と、該特徴量に基づく識別結果を出力する出力層と、を有するニューラルネットワークモデルであって、人物を表す画像を含んだデータを用いて学習を行うことにより構築された事前学習モデルに、前記撮影画像データを入力することで、前記人物画像を抽出する、
請求項7から請求項9の何れか1項に記載の作業機械の周辺監視装置。
【請求項11】
前記プロセッサは、前記作業機械に設置された集積回路に実装される、
請求項1から請求項10の何れか1項に記載の作業機械の周辺監視装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械の周辺監視装置に関する。
【背景技術】
【0002】
ショベル、フォークリフト等の作業機械が用いられる現場では、作業機械とその周囲の人物や障害物との接触事故の防止が図られている。例えば、作業機械の車体の周辺に存在する障害物をオペレータが視認できるように、ミラーやカメラを設置した作業機械が実用化されている。そして、カメラが撮影した画像を作業機械の運転室内のディスプレイに表示するシステムが知られている。
【0003】
また、作業機械の周辺に存在する物体を検出する技術として、レーザレーダやミリ波レーダ等の距離センサを用いて障害物を検知することが知られている。例えば、特許文献1には、移動体の移動方向軸に対する全周方向で距離検出を行うことができる移動体用周辺監視装置が開示されている。そして、この周辺監視装置では、距離センサとして、支持軸まわりに等角度で複数配置された撮像部等を有する3Dカメラが備えられている。
【0004】
一方、特許文献2には、下部走行体と上部旋回体とを有するショベルにおいて、上部旋回体に複数のステレオカメラを配置する技術が開示されている。当該技術では、ステレオカメラによって、ショベルの周囲に存在する物体の距離情報が取得される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2016-180674号公報
【特許文献2】特開2020-127217号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
レーザレーダやミリ波レーダ等の距離センサは、所定の一方向にレーザ光や電波を照射し、その反射波からレーザ光等が照射された物体との距離を検出するものである。そのため、このような距離センサを用いて、ショベル、フォークリフト等の作業機械の周囲の物体を検出しようとする場合、複数の方向に距離センサを配置する必要があり、作業機械の周囲物体を検出するためのコストが高くなってしまう。ここで、特許文献1に記載の技術によれば、3Dカメラによって支持軸まわりの全周方向で距離検出を行うことができるものの、これは、あくまで支持軸に対する全周方向である。そのため、この場合にも、作業機械の周囲の物体を検出しようとすると、複数の方向に支持軸を配置する必要があり、作業機械の周囲物体を検出するためのコストが高くなってしまう。
【0007】
一方、カメラによって撮影された撮影画像データを画像処理することで作業機械の周囲物体を検出する方法によれば、例えば、距離センサを複数の方向に配置する場合と比較して、周囲物体を検出するための構成を少なくできる傾向にある。そのため、作業機械の周囲物体を検出するためのコストが抑制され得る。ここで、特許文献2に記載の技術によれば、2組の撮像機構のそれぞれが出力する画像間の視差に基づいて、1つの撮像機構が出力する画像の各画素に写る物体とステレオカメラとの間の距離が導き出されるが、仮に、このときの画像データのサイズが大きい場合には、画像処理に対する演算負荷が問題となり得る。このように、作業機械の周囲物体を検出するための技術については、未だ改善の余地を残すものである。
【0008】
本開示の目的は、画像処理に対する演算負荷を低減させながら、作業機械とその周囲の人物又は障害物との接触を好適に抑制可能な周辺監視装置を提供することにある。
【課題を解決するための手段】
【0009】
本開示の作業機械の周辺監視装置は、作業機械に設置され、該作業機械の周囲を撮影する撮影装置と、前記撮影装置によって撮影された前記作業機械の周囲画像を表す撮影画像データを取得し、該撮影画像データに基づいて所定の処理を実行するプロセッサと、所定の警報信号又は/及び所定の発報を出力する発報装置と、を備える。ここで、前記撮影装置は、1以上のステレオカメラを含んで構成され、該撮影装置によって撮影される前記撮影画像データがステレオ画像データである。そして、前記プロセッサは、前記ステレオ画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定する測距処理と、前記測距処理によって測定された前記作業機械とその周囲の物体との距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する発報制御処理と、を実行し、前記測距処理において、前記作業機械の周囲における同一の領域が撮影された複数の前記ステレオ画像データに基づいて、前記作業機械とその周囲の物体との距離を測定する。
【0010】
ここで、上記の作業機械とは、ショベル等の建設機械や、作業機を備えた機械(フォークリフト等)である。そして、このような作業機械に設置される本開示の周辺監視装置では、該作業機械に撮影装置が配置される。この撮影装置は、1以上のステレオカメラを含んで構成される。そして、本開示の作業機械の周辺監視装置は、撮影装置、画像処理装置、および発報装置といった簡易な構成によって実現され、これらを既存の作業機械に配置するだけで、作業機械に周辺監視装置を簡単に設置することができる。更に、このような周辺監視装置では、作業機械の周囲における同一の領域が撮影された複数のステレオ画像データの視差に基づいて測距処理が実行され、該測距処理の結果に基づいて、発報装置による警報信号又は/及び発報の出力が制御される。なお、発報装置が出力する発報は、例えば、警告灯や警告音である。これにより、作業機械とその周囲の物体との接触を抑制することができる。なお、この場合、前記測距処理において、前記プロセッサは、前記撮影装置によって撮影された元画像データを縮小処理した縮小画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定するとともに、前記縮小画像データの視差が略ゼロとなる画像領域については、前記元画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定してもよい。これによれば、測距処理に対する演算負荷を低減させながらも、比較的精度よく作業機械とその周囲の物体との距離を算出することができる。また、前記発報制御処理において、前記プロセッサは、前記作業機械とその周囲の人物との距離が所定値以下となった場合に、前記発報装置から、該作業機械とその周囲の人物との接触を回避するための所定の回避動作を指令する信号を出力させてもよい。ここで、上記の回避動作とは、作業機械の作動が減速する動作や、作業機械の作動が停止する動作などである。このような発報制御処理では、発報装置からの上記信号が、作業機械の動作を制御する制御装置に入力されることで、作業機械は、オペレータの操作によらず自動で回避動作を行うことになる。これによれば、オペレータによる運転動作によらずに作業機械の回避動作を行うことができ、作業機械とその周囲の人物との接触をより好適に回避することができる。
【0011】
そして、上記の作業機械の周辺監視装置において、前記プロセッサは、前記ステレオ画像データの視差に基づいて、前記作業機械の周囲の路面を含んだ周囲空間の三次元座標である周囲空間座標を取得することと、前記周囲空間座標に基づいて、該周囲空間座標において隣接する各座標点が複数纏められたグリッドマップを作成することと、前記周囲空間座標に基づいて、前記作業機械の周囲の路面であって該作業機械が走行する走行路面を検出する走行路面検出処理と、前記走行路面からの高さに基づいて、前記作業機械の周囲の障害物を検出する障害物検出処理と、を更に実行し、前記グリッドマップにおける各グリッドについて、該グリッドに含まれる複数の高さ座標値のうち最も高い座標値を該グリッドのグリッド高さと定義したとき、前記障害物検出処理において、前記走行路面と前記グリッド高さとを比較することで、前記作業機械の周囲の障害物を検出してもよい。これによれば、作業機械の周囲の障害物を検出する際の演算負荷を低減することが可能になる。また、この場合、前記走行路面検出処理において、前記プロセッサは、前記グリッドマップにおける前記グリッド高さが略同一となる複数のグリッドを纏めて前記走行路面として検出してもよい。これによれば、更に、走行路面検出のための演算負荷を低減することができる。
【0012】
また、以上に述べた作業機械の周辺監視装置において、前記プロセッサは、前記ステレオ画像データに含まれる2つの画像データについて、同一の対象物が撮影された画素の輝度情報を夫々取得し、各画像データにおける隣接する複数の画素の前記輝度情報の積算値を前記2つの画像データで比較することで、前記ステレオカメラのレンズの汚れを検出してもよい。これによれば、画像処理に対する演算負荷を低減させながら、ステレオカメラのレンズの汚れを好適に検出することができる。
【0013】
また、本開示の作業機械の周辺監視装置は、作業機械に設置され、該作業機械の周囲を撮影する撮影装置と、前記撮影装置によって撮影された前記作業機械の周囲画像を表す撮影画像データを取得し、該撮影画像データに基づいて所定の処理を実行するプロセッサと、所定の警報信号又は/及び所定の発報を出力する発報装置と、を備える。そして、前記プロセッサは、前記撮影画像データから人物画像を抽出する抽出処理と、抽出された前記人物画像に基づいて、前記作業機械とその周囲の人物との距離を測定する測距処理と、前記測距処理によって測定された前記作業機械とその周囲の人物との距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する発報制御処理と、を実行し、前記測距処理において、前記撮影画像データにおける前記人物画像を囲う検出枠の上端高さを取得するとともに、前記発報制御処理では、前記人物画像に基づく前記作業機械の周囲人物のうち前記上端高さが所定の閾値以上の人物を除外したときの該周囲人物と、前記作業機械と、の距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する。
【0014】
このような発報制御処理によれば、より好適に作業機械の周辺を監視することができる。なお、この場合、前記発報制御処理において、前記プロセッサは、前記人物画像に基づく前記作業機械の周囲人物のうち、前記上端高さが所定の閾値以上で、且つ前記撮影画像データにおいて前記作業機械とは異なる他の作業機械の画像と所定割合以上で重なり合っている人物を除外したときの該周囲人物と、前記作業機械と、の距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御してもよい。
【0015】
そして、上記の作業機械の周辺監視装置では、前記抽出処理において、前記プロセッサは、所定の画像データの入力を受け付ける入力層と、入力された該画像データから人物を表す特徴量を抽出する中間層と、該特徴量に基づく識別結果を出力する出力層と、を有するニューラルネットワークモデルであって、人物を表す画像を含んだデータを用いて学習を行うことにより構築された事前学習モデルに、前記撮影画像データを入力することで、前記人物画像を抽出してもよい。これによれば、事前学習モデルを用いることで、撮影画像データから人物画像を精度よく抽出することができる。
【発明の効果】
【0016】
本開示によれば、画像処理に対する演算負荷を低減させながら、作業機械とその周囲の人物又は障害物との接触を好適に抑制可能な周辺監視装置を提供することができる。
【図面の簡単な説明】
【0017】
【
図1】第1実施形態における作業機械の周辺監視装置の概略構成を示す図である。
【
図2】第1実施形態に係る周辺監視装置において、作業機械とその周囲の物体との接触を回避するために制御部が行う処理フローを示すフローチャートである。
【
図3】第1実施形態に係る測距処理において、測距処理部が行う処理フローを示す第1のフローチャートである。
【
図4】第1実施形態に係る測距処理において、測距処理部が行う処理フローを示す第2のフローチャートである。
【
図5】縮小画像データと元画像データとの複数のステレオ画像データに基づく測距処理について、説明するための図である。
【
図6】第1実施形態の変形例1に係る抽出処理において、抽出処理部が行う処理フローを示すフローチャートである。
【
図7】グリッドマップに基づく障害物検出について説明するための図である。
【
図8】グリッド単位で検出される走行路面を例示する図である。
【
図9】第1実施形態の変形例2に係るレンズの汚れ検出処理において、制御部が行う処理フローを示すフローチャートである。
【
図10】複数の画素の輝度情報の積算値に基づいて実行されるレンズの汚れ検出について説明するための図である。
【
図11】第2実施形態における事前学習モデルに対する入力から得られる識別結果と、該事前学習モデルを構成するニューラルネットワークを説明するための図である。
【
図12】表示装置に表示される撮影画像データおよび人物画像を説明するための図である。
【
図13】第2実施形態に係る発報制御処理において除外される人物を説明するための図である。
【発明を実施するための形態】
【0018】
以下、図面に基づいて、本開示の実施の形態を説明する。以下の実施形態の構成は例示であり、本開示は実施形態の構成に限定されない。
【0019】
<第1実施形態>
第1実施形態における作業機械の周辺監視装置の概要について、
図1を参照しながら説明する。
図1は、本実施形態における作業機械の周辺監視装置の概略構成を示す図である。本実施形態に係る作業機械の周辺監視装置100は、作業機械10に設置され、該作業機械10の周辺を監視するための装置である。ここで、作業機械10とは、ショベル等の建設機械や、作業機を備えた機械(フォークリフト等)である。そして、周辺監視装置100は、撮影装置200と、画像処理装置300と、発報装置400と、を備える。
【0020】
撮影装置200は、作業機械10に設置され該作業機械10の周囲を撮影する装置であって、静止画や動画等の画像の入力を受け付ける機能を有し、具体的には、Charged-Coupled Devices(CCD)、Metal-oxide-semiconductor(MOS)あるいはComplementary Metal-Oxide-Semiconductor(CMOS)等のイメージセンサを用いたカメラにより実現される。本開示の撮影装置200は、1以上のステレオカメラ210を含んで構成される。ここで、本実施形態では、ステレオカメラ210は、
図1(a)に示すように作業機械10の上部旋回体11の上面に配置され、
図1(b)に示すように3つのステレオカメラ210が上部旋回体11の側面から周囲3方向に向けられて配置されている。このように、3つのステレオカメラ210が配置されることで、作業機械10の周囲を視野が欠けることなく撮影することができる。なお、本開示の撮影装置を3つのステレオカメラを含んだ構成に限定する意図はない。例えば、作業機械10のオペレータが運転室内で正面を向いた方向は、オペレータが直接視認できる方向であるため、この方向に向けられたステレオカメラは省略され得る。
【0021】
画像処理装置300は、撮影装置200によって撮影された作業機械10の周囲画像を表す撮影画像データを取得し、該撮影画像データに基づいて所定の処理を実行する。なお、本実施形態では、撮影装置200によって撮影される上記の撮影画像データがステレオ画像データである。
【0022】
ここで、画像処理装置300は、データの取得、生成、更新等の演算処理及び加工処理のための処理能力のある機器であればどの様な電子機器でもよく、例えば、コンピュータである。すなわち、画像処理装置300は、CPUやGPU等のプロセッサ、RAMやROM等の主記憶装置、EPROM、ハードディスクドライブ、リムーバブルメディア等の補助記憶装置を有するコンピュータとして構成することができる。なお、リムーバブルメディアは、例えば、USBメモリ、あるいは、CDやDVDのようなディスク記録媒体であってもよい。補助記憶装置には、オペレーティングシステム(OS)、各種プログラム、各種テーブル等が格納されている。
【0023】
発報装置400は、所定の警報信号又は/及び所定の発報を出力する装置である。ここで、所定の発報とは、警告灯や警告音などである。本実施形態では、
図1(a)および
図1(b)に示すように、発報装置400として、例えば、パトライト(登録商標)が上部旋回体11の上面に配置されてもよい。そうすると、周辺監視装置100は、例えば、パトライト(登録商標)が発する警告灯によって、作業機械10の周囲の人物や障害物に対して警告を行うことができる。また、作業機械10のオペレータに対して、該作業機械10への人の接近を認知させることができる。なお、発報装置400は、例えば、パトライト(登録商標)とスピーカーとを含んでもよい。この場合、周辺監視装置100は、警告灯と警告音によって、警告を行うことができる。
【0024】
また、周辺監視装置100は、表示装置を更に備えてもよい。ここで、表示装置は、撮影装置200によって撮影された撮影画像データ又は/及び該撮影画像データに基づく処理により取得された所定のデータを表示可能に構成された装置である。このような表示装置は、例えば、作業機械10の運転室内に設けられる。これにより、作業機械10のオペレータは、該作業機械10の車体の周辺に存在する人物や障害物を、表示装置を介して視認できるようになる。
【0025】
以上に述べたように、本開示の作業機械の周辺監視装置100は、撮影装置200、画像処理装置300、および発報装置400といった簡易な構成によって実現され、これらを既存の作業機械10に配置するだけで、作業機械10に周辺監視装置100を簡単に設置することができる。そのため、例えば、距離センサを複数の方向に配置する場合と比較して、周囲物体を検出するための構成を少なくでき、作業機械10の周囲物体を検出するためのコストが抑制され得る。
【0026】
次に、
図1(c)に基づいて、画像処理装置300の構成要素の詳細な説明を行う。
図1(c)は、第1実施形態における、周辺監視装置100に含まれる画像処理装置300の構成要素をより詳細に示した図である。
【0027】
画像処理装置300は、機能部として記憶部302、制御部303を有しており、補助記憶装置に格納されたプログラムを主記憶装置の作業領域にロードして実行し、プログラムの実行を通じて各機能部等が制御されることによって、各機能部における所定の目的に合致した各機能を実現することができる。ただし、一部または全部の機能はASICやFPGAのようなハードウェア回路によって実現されてもよい。
【0028】
記憶部302は、主記憶装置と補助記憶装置を含んで構成される。主記憶装置は、制御部303によって実行されるプログラムや、当該制御プログラムが利用するデータが展開されるメモリである。補助記憶装置は、制御部303において実行されるプログラムや、当該制御プログラムが利用するデータが記憶される装置である。
【0029】
また、記憶部302は、後述する第2実施形態で説明する事前学習モデルを記憶してもよい。この事前学習モデルは、後述する第2実施形態における抽出処理に用いることができる。ここで、画像処理装置300の機能がFPGAのようなハードウェア回路によって実現される場合、事前学習モデルはFPGAに内蔵されたメモリに記憶されてもよい。
【0030】
制御部303は、画像処理装置300が行う処理を司る機能部である。制御部303は、CPUなどの演算処理装置によって実現することができる。制御部303は、更に、取得部3031と、抽出処理部3032と、測距処理部3033と、発報制御処理部3034と、の4つの機能部を有して構成される。各機能部は、記憶されたプログラムをCPUによって実行することで実現してもよい。なお、制御部303が、取得部3031、抽出処理部3032、測距処理部3033、および発報制御処理部3034の処理を実行することで、本開示に係るプロセッサとして機能する。そして、このプロセッサが、画像処理装置300を構成する集積回路に実装されることで、上記機能部の処理を実行するプロセッサが作業機械10に設置されることになる。
【0031】
ここで、制御部303が行う処理フローについて、
図2に基づいて説明する。
図2は、本実施形態に係る周辺監視装置100において、作業機械10とその周囲の物体との接触を回避するために制御部303が行う処理フローを示すフローチャートである。本実施形態では、周辺監視装置100の電源が入れられると本フローの実行が開始され、周辺監視装置100の作動中に所定の演算周期で繰り返し実行される。
【0032】
本フローでは、先ず、S101において、取得部3031が、撮影装置200によって撮影された作業機械10の周囲画像を表す撮影画像データを取得する。ここで、撮影装置200および画像処理装置300は通信部を有しており、これらの通信部が接続されることで、取得部3031が上記の撮影画像データを取得することが可能になる。なお、上記の通信部の接続は、無線であっても有線であっても無線と有線の組み合わせであってもよく、例えば、上記の通信部は、ビデオケーブルによって接続される。また、本実施形態では、撮影装置200によって撮影される上記の撮影画像データがステレオ画像データである。
【0033】
次に、S102において、撮影画像データから周囲物体の画像を抽出する抽出処理を実行する。この抽出処理では、作業機械10の周囲に物体が存在して、その周囲物体が撮影装置200によって撮影されている場合には、撮影画像データから周囲物体の画像を抽出することができる。なお、上記の周囲物体とは、作業機械10の周囲に存在する人物や障害物である。また、この抽出処理の詳細について、作業機械10の周囲に存在する人物の画像を抽出する場合は後述する第2実施形態で、作業機械10の周囲に存在する障害物の画像を抽出する場合は後述する第1実施形態の変形例1で説明する。そして、抽出処理部3032は、S103において、S102で実行した抽出処理の結果に基づいて、作業機械10の周囲に物体が存在するか否かを判別する。S103において肯定判定された場合、制御部303はS104の処理へ進み、S103において否定判定された場合、本フローの実行が終了される。
【0034】
S103において肯定判定された場合、次に、S104において、測距処理部3033が、作業機械10とその周囲の物体との距離を測定する測距処理を実行する。この測距処理では、ステレオ画像データの視差に基づいて、作業機械10とその周囲の物体との距離が測定される。なお、この測距処理の詳細については、後述する。また、S104では、上記の測距処理と併せて、S102の抽出処理によって抽出された周囲物体の画像データの出力が実行される。このとき、表示装置には、後述するように、撮影装置200によって撮影された撮影画像データに加えて、抽出処理によって抽出された周囲物体の画像が表示される。
【0035】
次に、S105において、発報制御処理部3034は、測距処理によって測定された上記の距離が所定値以下であるか否かを判別する。ここで、上記の所定値とは、作業機械10の作動により該作業機械10とその周囲物体との接触が懸念される距離の値であって、例えば、作業機械10の大きさや作動範囲に基づいて、予め定められる。そして、S105において肯定判定された場合、制御部303はS106の処理へ進み、S105において否定判定された場合、本フローの実行が終了される。
【0036】
S105において肯定判定された場合、発報制御処理部3034は、次に、S106において、発報装置400の出力を制御する。本実施形態では、発報制御処理部3034は、発報装置400(例えば、パトライト(登録商標))から警告灯を出力させる。なお、発報装置400が、例えば、パトライト(登録商標)およびスピーカーによって構成される場合には、発報制御処理部3034は、パトライト(登録商標)から警告灯を出力させ、スピーカーから警告音を出力させてもよい。そして、S106の処理の後、本フローの実行が終了される。
【0037】
以上に述べた処理によれば、ステレオ画像データの視差に基づいて測定された、作業機械10とその周囲の人物や障害物との距離に基づいて、発報装置400から所定の発報が出力されることで、例えば、作業機械10の周囲の人物に対して、該作業機械10との接触を回避するための警告を行うことができる。また、作業機械10のオペレータは、発報装置400からの発報の出力を認知すると、作業機械10とその周囲の人物や障害物との接触を回避するための運転動作を行うことができる。これにより、作業機械10とその周囲の人物や障害物との接触を抑制することができる。
【0038】
(測距処理)
次に、測距処理部3033が実行する測距処理の詳細について説明する。本実施形態の測距処理では、作業機械の周囲における同一の領域が撮影された複数のステレオ画像データに基づいて、作業機械とその周囲の物体との距離が測定される。これにより、画像処理に対する演算負荷を低減させながら、作業機械とその周囲の物体との距離を測定することができる。以下、撮影装置200によって撮影された元画像データを縮小処理した縮小画像データの視差に基づいて、作業機械とその周囲の物体との距離が測定される例について、詳しく説明する。
【0039】
図3は、本実施形態に係る測距処理において、測距処理部3033が行う処理フローを示す第1のフローチャートである。本フローは、上記の
図2に示したS104における測距処理の内部処理として実行される。
【0040】
本フローでは、先ず、S1040において、縮小画像データが作成される。ここで、縮小画像データとは、上述したように、撮影装置200によって撮影された元画像データを縮小処理した画像データであって、本実施形態では、元画像データを縦横1/2のサイズに縮小したデータである。
【0041】
次に、S1041において、S1040の処理で作成した縮小画像データであるステレオ画像データにおける一対の画像(第1画像および第2画像)を比較画像として、該比較画像上のブロックで対応点が探索される。ここで、上記のブロックとは、ステレオ画像データにおける所定の小領域である。そして、S1042において、探索された対応点でのブロックの座標のズレが、ステレオ画像データの視差として算出される。
【0042】
ここで、
図5は、縮小画像データと元画像データとの複数のステレオ画像データに基づく測距処理について、説明するための図である。
図5に示すように、本実施形態では、元画像データと縮小画像データの2つのステレオ画像データが取得され、これらステレオ画像データにおける第1画像と第2画像とを比較することで視差が算出される。
【0043】
そして、上記のS1041およびS1042の処理では、
図5(a)に示すように、縮小画像データでの比較画像において、近距離側のブロックを起点に視差が算出される。ここで、本実施形態では、上述したように、縮小画像データは、元画像データが縦横1/2のサイズに縮小されている。この場合の縮小画像データに基づく視差の算出では、元画像データに基づく視差の算出と比較して、探索範囲を1/2とすることができる。そして、このような縮小画像データは、縦×横の面積が元画像データの1/4となる。そのため、視差を算出するための処理コストを削減することができる。また、元画像データに基づく視差の算出では、特に近距離領域において、ブロックの座標のズレ量が大きくなるため、視差を算出するための処理コストが増大してしまう。これに対して、縮小画像データに基づく視差の算出では、近距離領域においても、ブロックの座標のズレ量を比較的小さくできるため、視差を算出するための処理コストを削減することができる。このように、縮小画像データに基づく視差の算出によれば、測距処理に対する演算負荷を低減することができる。
【0044】
ここで、縮小画像データでは、元画像データよりも画素数が削減されている。そのため、縮小画像データにおける遠距離側のブロックでは、算出される視差が略ゼロとなる場合が生じ得る。そうすると、作業機械とその周囲の物体との距離を算出することができなくなってしまう。そこで、本実施形態の測距処理では、縮小画像データの視差が略ゼロとなる画像領域については、元画像データの視差に基づいて、作業機械とその周囲の物体との距離が測定される。
【0045】
これについて、
図3に戻って、S1043において、S1042の処理で算出された縮小画像データに基づく視差が略ゼロとなるか否かが判別される。そして、S1043において肯定判定された場合、測距処理部3033はS1045の処理へ進み、S1043において否定判定された場合、測距処理部3033はS1044の処理へ進む。つまり、S1043において否定判定される場合(縮小画像データに基づく視差が略ゼロではないと判定される場合)には、縮小画像データの視差に基づいて作業機械10とその周囲の物体との距離を算出することができるため、S1044において、縮小画像データの視差に基づく測距が実行される。なお、縮小画像データは元画像データを1/n倍した画像データであるため(nは、測距の許容誤差に基づいて適宜設定され得る)、S1044の処理では、S1042の処理で算出された視差をn倍して測距が実行される。そして、S1044の処理の後、測距処理部3033はS1048の処理へ進む。
【0046】
一方、S1043において肯定判定される場合(縮小画像データに基づく視差が略ゼロであると判定される場合)には、縮小画像データの視差に基づいて作業機械10とその周囲の物体との距離を算出することができないため、次に、S1045において、元画像データが呼び出される。そして、S1046において、上記のS1041、S1042と同一探索領域で、元画像データに基づく視差が算出される。
【0047】
このS1046の処理では、
図5(b)に示すように、縮小画像データにおいて視差が略ゼロとなる領域を元画像データにおける探索の起点として、即ち、元画像データにおいては、縮小画像データで視差が算出された領域を探索範囲外として、視差が算出される。なお、元画像データでは、ステレオカメラ210の仕様に応じた画素数が得られるため、縮小画像データでは視差が略ゼロとなるような遠距離領域においても、比較的精度よく視差を算出することができる。
【0048】
そして、
図3に戻って、S1047において、元画像データの視差に基づく測距が実行される。そして、このS1047の処理の後、または上記のS1044の処理の後、S1048において、ステレオ画像データの全領域で探索が完了したか否かが判別される。そして、S1048において肯定判定された場合、測距処理部3033はS1049の処理へ進み、S1048において否定判定された場合、測距処理部3033はS1041の処理へ戻る。
【0049】
S1048において肯定判定された場合、次に、S1049において、測距データが合成される。S1049の処理では、上述したように、S1044の処理で縮小画像データの視差に基づく測距データが作成されるとともに、S1047の処理で元画像データの視差に基づく測距データが作成される場合に、これら測距データが合成される。そして、S1049の処理の後、測距処理部3033はS105の処理へ進む。
【0050】
以上に述べた処理によれば、元画像データと縮小画像データの2つのステレオ画像データに基づいて測距処理が実行されることで、測距処理に対する演算負荷を低減させながらも、比較的精度よく作業機械とその周囲の物体との距離を算出することができる。
【0051】
なお、上記では、元画像データと縮小画像データの2つのステレオ画像データに基づいて測距処理が実行される例について説明したが、縮小画像データは複数作成されてもよい。例えば、縮小画像データを2つ作成して、元画像データとこれら縮小画像データの3つのステレオ画像データに基づいて測距処理が実行されてもよい。この場合、作成される2つの縮小画像データは、近距離領域の視差算出用の画像データ(例えば、元画像データを1/4倍したもの)と、中距離領域の視差算出用の画像データ(例えば、元画像データを1/2倍したもの)として用いられ得る。
【0052】
また、本実施形態では、上述したように、画像処理装置300の機能をFPGAのようなハードウェア回路によって実現することができる。この場合、元画像データと縮小画像データとを合成して、ハードウェア回路がこの合成画像データに対して処理を実行してもよい。これについて、
図4に基づいて説明する。
【0053】
図4は、本実施形態に係る測距処理において、測距処理部3033が行う処理フローを示す第2のフローチャートである。本フローは、上記の
図2に示したS104における測距処理の内部処理として実行される。なお、本フローにおいて、上述した
図3に示した処理と実質的に同一の処理については、同一の符号を付してその詳細な説明を省略する。
【0054】
図4に示すフローでは、S1040の処理の後に、S2040において、S1040の処理で作成した縮小画像データと、元画像データと、が合成される。S2040の処理では、合成された合成画像データにおいて縮小画像データ部分と元画像データ部分とを区別できるように、縮小画像データと元画像データとを並べて合成する。そして、S2040の処理の後、測距処理部3033はS1041の処理へ進む。
【0055】
そして、S1041の処理の後に、S2042において、S2040の処理で合成した合成画像データにおいて視差が算出される。S2042の処理では、合成画像データにおける縮小画像データ部分と元画像データ部分の視差が同時に算出される。そして、次に、S2043において、S2042の処理で算出された合成画像データの視差のうち、縮小画像データ部分に基づく視差が略ゼロとなるか否かが判別される。そして、S2043において肯定判定された場合、測距処理部3033はS2047の処理へ進み、S2043において否定判定された場合、測距処理部3033はS2044の処理へ進む。
【0056】
S2043において否定判定された場合、縮小画像データ部分の視差に基づいて作業機械10とその周囲の物体との距離を算出することができるため、S2044において、縮小画像データ部分の視差に基づく測距が実行される。そして、S2044の処理の後、測距処理部3033はS1048の処理へ進む。一方、S2043において肯定判定された場合、縮小画像データ部分の視差に基づいて作業機械10とその周囲の物体との距離を算出することができないため、S2047において、元画像データ部分の視差に基づく測距が実行される。そして、S2047の処理の後、測距処理部3033はS1048の処理へ進む。
【0057】
以上に述べた処理によれば、元画像データと縮小画像データの2つのステレオ画像データに基づく測距処理を可及的速やかに実行することができる。
【0058】
以上に述べたように、本実施形態では、測距処理に対する演算負荷を低減させながらも、比較的精度よく作業機械とその周囲の物体との距離を算出することができる。そして、算出した距離に基づいて発報装置400から所定の発報が出力されることで、作業機械10とその周囲の人物や障害物との接触を好適に抑制することができる。このように、本実施形態によれば、画像処理に対する演算負荷を低減させながら、作業機械とその周囲の人物又は障害物との接触を好適に抑制可能な周辺監視装置を提供することができる。
【0059】
なお、上記の実施形態では、周辺監視装置100が表示装置を備える構成を例にして説明したが、本開示の周辺監視装置をこれに限定する意図はない。本開示の周辺監視装置は、上述した表示装置を備えていなくてもよく、この場合でも、ステレオ画像データの視差に基づいて測定された、作業機械10とその周囲の人物や障害物との距離に基づいて、発報制御処理が実行されることで、作業機械とその周囲の人物や障害物との接触を抑制することができる。
【0060】
また、本実施形態では、発報制御処理部3034が、作業機械10とその周囲の人物との距離が所定値以下となった場合に、発報装置400から、該作業機械10とその周囲の人物や障害物との接触を回避するための所定の回避動作を指令する信号を出力させてもよい。
【0061】
この場合、発報装置400は、上記の回避動作を指令する信号を出力可能に構成される。そして、この信号は、Controller Area Network(CAN)等によって作業機械10の制御コントローラに送信される。そうすると、作業機械10は、オペレータの操作によらず自動で回避動作を行うことになる。ここで、回避動作とは、作業機械10の作動が減速する動作や、作業機械10の作動が停止する動作などである。これによれば、オペレータによる運転動作によらずに作業機械10の回避動作を行うことができ、作業機械10とその周囲の人物や障害物との接触をより好適に回避することができる。なお、発報装置400は、電気的もしくは機械的な接点または入出力信号を出力可能に構成されてもよい。
【0062】
また、発報装置400は、このような回避動作を指令する信号を出力する機能のみを有していてもよいし、当該機能に加えて警告灯や警告音を出力する機能を有していてもよい。また、警報信号として、作業機械10とその周囲の人物や障害物との距離が所定値以下となった旨の情報が、所定の通信手段(例えば、イーサネット)を介して所定の端末に通知されてもよい。
【0063】
<第1実施形態の変形例1>
第1実施形態の変形例1について説明する。本変形例では、上記第1実施形態の説明で述べた抽出処理において、抽出処理部3032が、作業機械10の周囲に存在する障害物の画像を抽出することで、作業機械10の周囲の障害物を検出する。これについて、
図6から
図8に基づいて説明する。
【0064】
(抽出処理)
本変形例において、抽出処理部3032が実行する抽出処理の詳細について説明する。ここで、
図6は、本変形例に係る抽出処理において、抽出処理部3032が行う処理フローを示すフローチャートである。本フローは、上記の
図2に示したS102における抽出処理の内部処理として実行される。
【0065】
本フローでは、先ず、S1020において、周囲空間座標が取得される。ここで、周囲空間座標は、作業機械10の周囲の路面を含んだ周囲空間の三次元座標であって、ステレオ画像データの視差に基づいて算出され得る。
【0066】
次に、S1021において、グリッドマップが作成される。ここで、グリッドマップは、S1020の処理で取得した周囲空間座標において隣接する各座標点が複数纏められたグリッドがマップ化されたものである。
【0067】
ここで、
図7は、グリッドマップに基づく障害物検出について説明するための図である。上記のS1021の処理では、
図7に示すように、予め定められた間隔でグリッドが設定される。そうすると、周囲空間座標に基づいて定義される走行路面や障害物と、グリッドマップと、が重ねられることになる。
【0068】
そして、
図6に戻って、S1022において、走行路面検出処理が実行される。ここで、走行路面は、作業機械10の周囲の路面であって該作業機械10が走行する路面である。S1022の処理では、S1020の処理で取得した周囲空間座標に基づいて、例えば、
図7(a)に示すように、高さ座標がz0で同一となっている領域を走行路面として検出することができる。
【0069】
次に、S1023において、障害物検出処理が実行される。S1023の処理では、S1022の処理で検出した走行路面からの高さに基づいて、作業機械10の周囲の障害物が検出される。
【0070】
ここで、従来技術に基づく障害物検出では、例えば、
図7(a)に示すように、高さ座標がz1やz2等の物体が周囲空間座標において取得されていた場合、これら物体に対する座標値に基づいて障害物であるか否かが判定される。この場合、上述したように各座標点が複数纏められてグリッド化されることなく各座標点に基づいて演算処理が実行されるため、その演算負荷が大きくなってしまう傾向にある。
【0071】
そこで、本変形例では、グリッドマップにおける各グリッドについて、該グリッドに含まれる複数の高さ座標値のうち最も高い座標値を該グリッドのグリッド高さと定義する。そして、上記の障害物検出処理において、走行路面とこのグリッド高さとを比較することで、作業機械10の周囲の障害物を検出する。詳しくは、
図7(b)に示すように、高さ座標がz1やz2等の障害物を含んだグリッドが障害物グリッドとして定義されるとともに、該障害物の高さ座標値(該障害物の最も高い座標値)が障害物グリッド全体の高さ(グリッド高さ)として定義される。なお、上記の障害物が複数グリッドにまたがっている場合には、その複数グリッドが纏めて障害物グリッドとされる。
【0072】
そして、このようなグリッド高さと走行路面との比較による障害物検出によれば、グリッド毎に演算処理が実行され且つ該グリッドの高さが上記のグリッド高さで代表されることになるため、即ち、隣接する各座標点が複数纏められたグリッド単位でそのグリッドが障害物として検出されるか否かが判断されることになるため、その演算負荷を低減することができる。なお、以上に述べた障害物検出処理では、走行路面とグリッド高さとの差分値(各グリッドにおける走行路面からの高さ)が所定の高さ閾値以上のグリッドが障害物(障害物グリッド)として検出される。また、上記の高さ閾値は、作業機械10の仕様等に基づいて予め定められる。
【0073】
以上に述べた処理によれば、作業機械10の周囲の障害物を検出する際の演算負荷を低減することが可能になる。このように、本変形例によれば、画像処理に対する演算負荷を低減させながら、作業機械とその周囲の障害物との接触を好適に抑制可能な周辺監視装置を提供することができる。
【0074】
なお、本変形例では、上記の走行路面検出処理において、グリッドマップにおけるグリッド高さが略同一となる複数のグリッドを纏めて走行路面として検出してもよい。ここで、
図8は、グリッド単位で検出される走行路面を例示する図である。この場合、
図8に示すように、例えば、グリッド高さがz0で同一となっている複数のグリッドを纏めて走行路面として検出することができる。これによれば、走行路面検出のための演算負荷を低減することができる。
【0075】
<第1実施形態の変形例2>
第1実施形態の変形例2について説明する。本変形例では、撮影装置200のステレオカメラ210で撮影されたステレオ画像データに基づいて、該ステレオカメラ210のレンズの汚れ検出処理を実行する。これについて、
図9および
図10に基づいて説明する。
【0076】
(レンズの汚れ検出処理)
本変形例において、画像処理装置300の制御部303が実行するレンズの汚れ検出処理の詳細について説明する。ここで、
図9は、本変形例に係るレンズの汚れ検出処理において、制御部303が行う処理フローを示すフローチャートである。
【0077】
本フローでは、先ず、S201において、ステレオ画像データに含まれる2つの画像データについて同一の対象物が撮影された任意の画素と隣接する対象画素が、2つの画像データ夫々について選択される。そして、選択された夫々の画素について、S202において、輝度情報が取得される。
【0078】
次に、S203において、ステレオ画像データに含まれる2つの画像データについて、S202の処理で取得された輝度情報が夫々積算される。
【0079】
このように、本変形例に係るレンズの汚れ検出では、複数の画素の輝度情報の積算値に基づいて処理が実行される。そのため、次に、S204において、所定数以上の画素の輝度情報の積算が完了したか否かが判別される。なお、上記の所定数はステレオカメラ210の仕様等に基づいて予め設定され、例えば、40×40pixelの画素数である。そして、S204において肯定判定された場合、制御部303はS205の処理へ進み、S204において否定判定された場合、制御部303はS201の処理へ戻る。
【0080】
ここで、
図10は、複数の画素の輝度情報の積算値に基づいて実行されるレンズの汚れ検出について説明するための図である。上記のS203の処理では、
図10(a)に示すような複数の対象画素が纏められた比較ブロックにおいて、そこに含まれる対象画素の輝度情報が積算される。そして、この比較ブロックに含まれ得る全ての画素について輝度情報の積算が完了すると(これは、S204において肯定判定される場合である。)、制御部303はS205の処理へ進む。一方、比較ブロックに含まれ得る全ての画素についての輝度情報の積算が完了していない場合には(これは、S204において否定判定される場合である。)、制御部303はS201の処理へ戻って、対象画素の選択とその輝度情報の取得を継続する。
【0081】
そして、
図9に戻って、S204において肯定判定された場合、次に、S205において、2つの画像データにおいて積算値が比較される。そして、S205の処理の後、本フローの実行が終了される。
【0082】
詳しくは、
図10(b)に示すように、ステレオ画像データの比較画像(第1画像および第2画像)において、各比較ブロックで輝度差が算出される。ここで、仮に、ステレオカメラ210のいずれかのレンズに汚れが付着していた場合、2つの画像データ間で所定値以上の輝度差が生じることになる。そこで、制御部303は、2つの画像データ間で所定値以上の輝度差が生じていないブロックについては汚れが付着していないと判定することができ、2つの画像データ間で所定値以上の輝度差が生じているブロックについては汚れが付着していると判定することができる。本変形例では、このようにして、ステレオカメラ210のレンズの汚れ検出処理が実行される。
【0083】
そして、本変形例に係るレンズの汚れ検出処理によれば、複数の画素の輝度情報の積算値に基づいて処理が実行されることで、画像処理に対する演算負荷を低減させながら、ステレオカメラ210のレンズの汚れを好適に検出することができる。
【0084】
<第2実施形態>
第2実施形態について説明する。本実施形態では、上記第1実施形態の説明で述べた抽出処理において、抽出処理部3032が、作業機械10の周囲に存在する人物の画像を抽出することで、作業機械10の周囲の人物を検出する。これについて、
図11から
図12に基づいて説明する。なお、上記第1実施形態では、撮影装置200がステレオカメラ210を備える構成を例にして説明したが、本実施形態の撮影装置200が備えるカメラは、ステレオカメラであってもよいし、単眼カメラであってもよいし、半天球カメラであってもよい。したがって、以下、撮影装置200がステレオカメラを備える構成を例にして説明する。
【0085】
(抽出処理)
本実施形態において、抽出処理部3032が実行する抽出処理の詳細について説明する。本実施形態の抽出処理では、事前学習モデルに撮影画像データが入力されることで、人物画像が抽出される。そして、事前学習モデルは、人物を表す画像を含んだデータを用いて学習を行うことにより構築される。
【0086】
ここで、
図11は、本実施形態における事前学習モデルに対する入力から得られる識別結果と、該事前学習モデルを構成するニューラルネットワークを説明するための図である。本実施形態では、事前学習モデルとして、ディープラーニングにより生成されるニューラルネットワークモデルを用いる。本実施形態における事前学習モデル30は、所定の画像データの入力を受け付ける入力層31と、入力層31に入力された該画像データから人物を表す特徴量を抽出する中間層(隠れ層)32と、特徴量に基づく識別結果を出力する出力層33とを有する。なお、
図11の例では、事前学習モデル30は、1層の中間層32を有しており、入力層31の出力が中間層32に入力され、中間層32の出力が出力層33に入力されている。ただし、中間層32の数は、1層に限られなくてもよく、事前学習モデル30は、2層以上の中間層32を有してもよい。
【0087】
また、
図11によると、各層31~33は、1又は複数のニューロンを備えている。例えば、入力層31のニューロンの数は、入力される画像データに応じて設定することができる。また、出力層33のニューロンの数は、識別結果である人物画像に応じて設定することができる。
【0088】
そして、隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が機械学習の結果に基づいて設定される。
図11の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、適宜設定することができる。
【0089】
このような事前学習モデル30は、例えば、人物を表す画像を含んだ画像データと、人物を表す画像のラベルと、の組みである教師データを用いて教師あり学習を行うことで構築される。具体的には、特徴量とラベルとの組みをニューラルネットワークに与え、ニューラルネットワークの出力がラベルと同じとなるように、ニューロン同士の結合の重みがチューニングされる。このようにして、教師データの特徴を学習し、入力から結果を推定するための事前学習モデルが帰納的に獲得される。
【0090】
なお、事前学習モデル30は、教師なし学習を行うことで構築されてもよい。教師なし学習には、例えば、転移学習の一種であるドメイン適応を用いることができる。これによれば、ラベルが付された教師データを大量に用意することなく、事前学習モデルを獲得することができる。
【0091】
そして、本実施形態では、上述した表示装置に、撮影装置200によって撮影された撮影画像データに加えて、抽出処理によって抽出された人物画像が矩形とともに表示される。ここで、
図12は、表示装置に表示される撮影画像データおよび人物画像を説明するための図である。作業機械10のオペレータは、表示装置の画面SC1を介して、該作業機械10の周囲を視認することができる。
【0092】
図12(a)は、表示装置に表示された撮影画像データを示す図である。
図12(a)に示すように、表示装置の画面SC1には、撮影画像データSC11が表示される。そして、
図12(b)は、表示装置に、撮影画像データとともに、抽出処理によって抽出された人物画像が表示される例を示す図である。
図12(b)に示すように、表示装置の画面SC1には、撮影画像データSC11、および人物画像SC12が表示される。このように、抽出処理によって抽出された人物画像SC12は、矩形とともに表示される。これによれば、作業機械10のオペレータは、表示装置の画面SC1に表示された人物画像SC12を視認し易くなる。なお、上述した事前学習モデルを用いて人物画像が抽出されることで、撮影画像データからの人物画像の抽出精度、具体的には、撮影画像データSC11に含んで表示される人物画像SC12を表す矩形の位置精度が向上する。
【0093】
ここで、本実施形態の画像処理装置300では、撮影装置200が備えるカメラのレンズの歪み補正値を用いて、撮影画像データの歪み補正が行われる。そして、表示装置の画面SC1には、歪み補正が行われた撮影画像データSC11が表示される。また、歪み補正が行われた撮影画像データから人物画像が抽出される。そのため、事前学習モデルを構成するにあたっては、学習に用いられる人物を表す画像を含んだ画像データとして、歪み補正が行われた画像が使用される。ただし、本開示をこれに限定する意図はなく、本開示の周辺監視装置では、上記の歪み補正が実行されなくてもよい。この場合、表示装置には、歪みを含んだ撮影画像データが表示されることになるが、この歪みを含んだ撮影画像データからも精度よく人物画像を抽出することができれば、作業機械10のオペレータは、矩形とともに表示された人物画像を視認することができる。そこで、このような場合には、事前学習モデルを構成するにあたって、学習に用いられる人物を表す画像を含んだ画像データとして、歪みを含んだ画像が使用される。そうすると、歪みを含んだ撮影画像データからも精度よく人物画像を抽出することができる。これによれば、画像処理装置300は、撮影装置200から取得した撮影画像データを歪み補正する必要がなく、以て、周辺監視装置における画像処理の処理負担が軽減されるため、より迅速に作業機械10の周辺を監視することができる。
【0094】
また、
図12(c)は、人物画像SC12を表す矩形のバリエーションを示す図である。
図12(c)に示すように、人物画像SC12を表す矩形は、人の全身を囲う矩形SC121であってもよいし、人の上半身を囲う矩形SC122であってもよいし、人の首上を囲う矩形SC123であってもよい。作業機械10のオペレータは、いずれの矩形であっても人物画像を認知することができるが、例えば、人の全身を囲う矩形SC121の場合は、その人の大きさを認知し易くなる。また、例えば、撮影画像データに複数の人物画像が含まれる場合には、人の首上を囲う矩形SC123が用いられることで、人の数が認知され易くなる。つまり、撮影画像データに複数の人物画像が含まれる場合に、好ましくは人の首上を囲う矩形SC123が用いられ得る。
【0095】
なお、本実施形態では、上述したように、画像処理装置300の機能をFPGAのようなハードウェア回路によって実現することができる。この場合、事前学習モデルはFPGAに内蔵されたメモリに記憶され得る。これによれば、事前学習モデルを用いた抽出処理を可及的速やかに実行することができ、以て、より迅速に作業機械10の周辺を監視することができる。
【0096】
このように、本実施形態の抽出処理によれば、事前学習モデルを用いることで、撮影画像データから人物画像を精度よく抽出することができるとともに、抽出した人物画像を作業機械10のオペレータに好適に視認させることができる。
【0097】
なお、周辺監視装置100の電源が入れられてから所定時間が経過するまでは、制御部303は抽出処理をすぐに実行することができない場合がある。このような場合、仮に、抽出処理が実行可能になるまで制御部303の処理が待機され、作業機械10のオペレータが表示装置を介して周囲を視認することができないとすると、この間に作業機械10とその周囲の人物との接触が生じ得る虞がある。
【0098】
そこで、本実施形態では、周辺監視装置100の電源が入れられてから所定時間が経過したか否かが判別され、所定時間が経過していないと判定された場合には、撮影画像データのみが表示装置に出力されてもよい。ここで、所定時間とは、例えば、抽出処理に用いられる事前学習モデルやプログラムが画像処理装置300の作業領域にロードされるまでの時間であって、モデルの規模に応じて予め定められる。
【0099】
これによれば、周辺監視装置100の電源が入れられてから所定時間が経過するまでは、抽出処理や後述の測距処理により取得され得るデータは表示装置に出力されずに撮影画像データのみが表示装置に出力される。つまり、周辺監視装置100の電源が入れられてから可及的速やかに作業機械10の周囲画像が表示装置に出力されることになる。そのため、作業機械10のオペレータは、周辺監視装置100の電源が入れられてから可及的速やかに、表示装置を介して周囲を視認することができる。そうすると、作業機械10とその周囲の人物との接触をより好適に回避することができる。
【0100】
なお、このように撮影画像データのみが表示装置に出力される場合には、撮影画像データに含まれる人物には矩形が表示されない。そうすると、作業機械10のオペレータは、抽出処理や後述の測距処理が未だ実行されていないことを認識できる。
【0101】
(測距処理)
次に、本実施形態において、測距処理部3033が実行する測距処理の詳細について説明する。本実施形態の測距処理では、抽出処理によって抽出された人物画像に基づいて、作業機械10とその周囲の人物との距離が測定される。詳しくは、測距処理部3033は、人物画像に対して、上記第1実施形態の説明で述べた縮小画像データの視差および元画像データの視差に基づく測距処理を実行する。そして、縮小画像データを用いても視差算出のための探索範囲が大きくなりすぎて視差を算出することができない超近距離については、撮影画像データにおける人物画像の頭の画像を取得するとともに、該頭の画像の大きさに基づいて、作業機械10とその周囲の人物との距離を測定する。このような超近距離における頭の画像の大きさに基づく測距処理について、以下に説明する。
【0102】
測距処理部3033は、撮影画像データにおける人物画像の頭の画像の画素数を取得する。ここで、頭の画像の画素数は、例えば、人の首上を囲う矩形の縦方向の画素数から取得することができる。そして、本開示人は、人の頭の大きさは個人差が少ないことを利用して、頭の大きさを表す上記の画素数に基づいて測距できることを見出した。そこで、測距処理部3033は、下記式1に基づいて、作業機械10とその周囲の人物との距離を算出する。
【数1】
D:周囲人物との距離(mm)
Dref:基準距離(mm)
Nref:基準距離での画素数(pixel)
Nhead:頭の画像の画素数(pixel)
なお、基準距離Drefおよび該基準距離での画素数Nrefは、予め定められる。そして、このように予め定められた基準と、撮影画像データから取得した頭の画像の画素数Nheadと、を比較することで、周囲人物との距離Dが算出される。
【0103】
そして、本実施形態の発報制御処理では、上記の測距処理によって測定された作業機械10とその周囲の人物との距離に基づいて発報装置400の出力が制御されるときに、人物画像に基づく作業機械10の周囲人物のうち所定の人物を除外して発報装置400の出力が制御される。これについて、以下に説明する。
【0104】
(発報制御処理)
本実施形態において、発報制御処理部3034が実行する発報制御処理の詳細について説明する。本実施形態の発報制御処理では、人物画像に基づく作業機械10の周囲人物のうち、その人物画像を囲う検出枠の上端高さが所定の閾値以上の人物を除外したときの該周囲人物と、作業機械10と、の距離に基づいて、発報装置400の出力が制御される。なお、上記の人物画像を囲う検出枠は、例えば、上述した抽出処理によって抽出された人物画像を囲う矩形であって、この検出枠の上端高さは、測距処理によって取得される。
【0105】
ここで、
図13は、本実施形態に係る発報制御処理において除外される人物を説明するための図である。
図13に示すように、作業機械10の周囲には、別の作業機械が存在している。そして、この周辺作業機械には、オペレータが乗車している。そうすると、上記の抽出処理では、このオペレータも周囲人物として抽出され、更に、上記の測距処理では、このオペレータとの距離も測距されることになる。しかしながら、作業機械10の周囲人物が周辺作業機械のオペレータである場合、該作業機械10と該オペレータとが接触してしまう事態は生じない。そこで、本実施形態に係る発報制御処理では、このような人物を除外して発報装置400の出力が制御される。
【0106】
そして、本実施形態に係る発報制御処理において除外される人物の条件は、作業機械10の周囲の人物のうち、その人物画像を囲う検出枠の上端高さが所定の閾値以上の人物である。
図13に示すように、周辺作業機械に乗車しているオペレータは、その存在位置が高くなっている。そこで、発報制御処理部3034は、人物画像に基づく作業機械10の周囲人物のうちその検出枠の上端高さが所定の閾値以上の人物を除外して発報装置400の出力を制御する。なお、上記の閾値は、作業機械の仕様等に基づいて予め設定される。
【0107】
更に、本実施形態に係る発報制御処理において除外される人物は、上記の除外条件に加えて、撮影画像データにおいて作業機械10とは異なる他の周辺作業機械の画像と所定割合以上で重なり合っている人物であってもよい。これによれば、除外される人物が周辺作業機械のオペレータであることをより好適に判断することができる。なお、この場合、
図13に示すように、周辺作業機械の検出枠と周囲人物の検出枠との重なりに基づいて判定され得る。
【0108】
このような発報制御処理によれば、より好適に作業機械10の周辺を監視することができる。そして、このような処理によっても、画像処理に対する演算負荷を低減させながら、作業機械とその周囲の人物との接触を好適に抑制可能な周辺監視装置を提供することができる。
【0109】
<その他の変形例>
上記の実施形態はあくまでも一例であって、本開示はその要旨を逸脱しない範囲内で適宜変更して実施しうる。例えば、本開示において説明した処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【0110】
上記の第1実施形態では、撮影装置200が3つのステレオカメラ210を含んで構成される例を説明したが、本開示の撮影装置はこれに限定されない。例えば、本開示の撮影装置は2つのステレオカメラを含んで構成されてもよい。この場合、作業機械のオペレータが運転室内で正面を向いた方向は、オペレータが直接視認できる方向であるため、この方向に向けられたステレオカメラは省略され得る。
【0111】
また、1つの装置が行うものとして説明した処理が、複数の装置によって分担して実行されてもよい。例えば、抽出処理部3032を画像処理装置300とは別の集積回路に形成してもよい。このとき当該別の集積回路は画像処理装置300と好適に協働可能に構成される。また、異なる装置が行うものとして説明した処理が、1つの装置によって実行されても構わない。集積回路において、各機能をどのようなハードウェア構成によって実現するかは柔軟に変更可能である。
【0112】
本開示は、上記の実施形態で説明した機能を実装したコンピュータプログラムをコンピュータに供給し、当該コンピュータが有する1つ以上のプロセッサがプログラムを読み出して実行することによっても実現可能である。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な非一時的なコンピュータ可読記憶媒体によってコンピュータに提供されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ(HDD)等)、光ディスク(CD-ROM、DVDディスク・ブルーレイディスク等)など任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体を含む。
【符号の説明】
【0113】
10・・・・作業機械
100・・・周辺監視装置
200・・・撮影装置
210・・・ステレオカメラ
300・・・画像処理装置
303・・・制御部
400・・・発報装置
【手続補正書】
【提出日】2022-05-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
作業機械に設置され、該作業機械の周囲を撮影する撮影装置と、
前記撮影装置によって撮影された前記作業機械の周囲画像を表す撮影画像データを取得し、該撮影画像データに基づいて所定の処理を実行するプロセッサと、
所定の警報信号又は/及び所定の発報を出力する発報装置と、
を備え、
前記撮影装置は、1以上のステレオカメラを含んで構成され、該撮影装置によって撮影される前記撮影画像データがステレオ画像データであって、
前記プロセッサは、
前記ステレオ画像データの視差に基づいて、前記作業機械とその周囲の物体との距離を測定する測距処理と、
前記測距処理によって測定された前記作業機械とその周囲の物体との距離に基づいて、前記発報装置による前記警報信号又は/及び前記発報の出力を制御する発報制御処理と、
を実行し、
前記測距処理において、前記作業機械の周囲における同一の領域が撮影された複数の前記ステレオ画像データに基づいて、前記作業機械とその周囲の物体との距離を測定することと、
前記ステレオ画像データの視差に基づいて、前記作業機械の周囲の路面を含んだ周囲空間の三次元座標である周囲空間座標を取得することと、
前記周囲空間座標に基づいて、該周囲空間座標において隣接する各座標点が複数纏められたグリッドマップを作成することと、
前記周囲空間座標に基づいて、前記作業機械の周囲の路面であって該作業機械が走行する走行路面を検出する走行路面検出処理と、
前記走行路面からの高さに基づいて、前記作業機械の周囲の障害物を検出する障害物検出処理と、
を更に実行し、
前記グリッドマップにおける各グリッドについて、該グリッドに含まれる複数の高さ座標値のうち最も高い座標値を該グリッドのグリッド高さと定義したとき、
前記障害物検出処理において、
前記走行路面と前記グリッド高さとを比較することで、前記作業機械の周囲の障害物を検出し、
前記走行路面検出処理において、
グリッド単位で前記走行路面を検出するとき、前記グリッドマップにおける前記グリッド高さが略同一となる複数のグリッドを纏めて前記走行路面として検出する、
作業機械の周辺監視装置。
【請求項2】
前記発報制御処理において、前記プロセッサは、
前記作業機械とその周囲の物体との距離が所定値以下となった場合に、前記発報装置から、該作業機械とその周囲の物体との接触を回避するための所定の回避動作を指令する信号を出力させる、
請求項1に記載の作業機械の周辺監視装置。
【請求項3】
前記プロセッサは、前記作業機械に設置された集積回路に実装される、
請求項1又は請求項2に記載の作業機械の周辺監視装置。