(57)【要約】      （修正有）【課題】投下対象における運搬物を特定することができる作業機械の運搬物特定装置、作業機械、作業機械の運搬物特定方法、補完モデルの生産方法及び学習用データセットを提供する。【解決手段】データ取得部１７０１は、撮像装置から、作業機械の運搬物の投下対象が写る撮像画像を取得する。ベッセル特定部１７０４は、撮像画像に基づいて、投下対象の少なくとも一部の三次元位置を特定する。表面特定部１７０５は、投下対象の少なくとも一部の三次元位置と撮像画像とに基づいて、投下対象における運搬物の表面の三次元位置を特定する。【選択図】図３
2020034527.tif 000002
【特許請求の範囲】
【請求項１】
作業機械の運搬物の投下対象が写る撮像画像を取得する画像取得部と、
前記撮像画像に基づいて、前記投下対象の少なくとも一部の三次元位置を特定する投下対象特定部と、
前記撮像画像に基づいて、前記撮像画像の深度を表す三次元データである深度データを生成する三次元データ生成部と、
前記投下対象の少なくとも一部の三次元位置に基づいて、前記深度データから前記投下対象に対応する部分を除去することで、前記投下対象における前記運搬物の表面の三次元位置を特定する表面特定部と、
を備える作業機械の運搬物特定装置。
【請求項２】
前記撮像画像に基づいて、前記投下対象の特徴点の位置を特定する特徴点特定部を備え、
前記投下対象特定部は、前記特徴点の位置に基づいて、前記投下対象の少なくとも一部の三次元位置を特定する、
請求項１に記載の作業機械の運搬物特定装置。
【請求項３】
前記投下対象特定部は、前記投下対象の形状を示す三次元モデルである対象モデルと、前記撮像画像とに基づいて、前記投下対象の少なくとも一部の三次元位置を特定する
請求項１または請求項２に記載の作業機械の運搬物特定装置。
【請求項４】
前記表面特定部は、前記深度データのうち、前記投下対象の壁部で囲まれ、前記壁部の高さ方向に伸びる角柱領域内の三次元位置を抽出し、抽出された三次元位置のうち、前記投下対象に対応する部分を除去することで、前記運搬物の表面の三次元位置を特定する
請求項１から請求項３のいずれか１項に記載の作業機械の運搬物特定装置。
【請求項５】
前記投下対象における前記運搬物の表面の三次元位置と、前記投下対象の少なくとも一部の三次元位置とに基づいて、前記投下対象における運搬物の量の分布を示す分布情報を生成する分布特定部
を備える請求項１から請求項４のいずれか１項に記載の作業機械の運搬物特定装置。
【請求項６】
前記分布情報のうち障害物によって遮蔽された遮蔽部分における前記運搬物の量の分布を推定する分布推定部
を備える請求項５に記載の作業機械の運搬物特定装置。
【請求項７】
前記分布推定部は、一部の値が欠損した分布情報を入力することで、前記欠損した値を補完した分布情報を出力する学習済みモデルである補完モデルに、前記分布特定部が生成した前記分布情報を入力することで、前記遮蔽部分の値を補完した分布情報を生成する
請求項６に記載の作業機械の運搬物特定装置。
【請求項８】
前記分布推定部は、前記遮蔽部分の近傍の運搬物の三次元位置の変化率、または変化のパターンに基づいて、前記遮蔽部分の値を補完した分布情報を生成する
請求項６に記載の作業機械の運搬物特定装置。
【請求項９】
前記分布推定部は、前記運搬物の種別に基づいて、前記遮蔽部分における前記運搬物の量の分布を推定する
請求項６から請求項８のいずれか１項に記載の作業機械の運搬物特定装置。
【請求項１０】
前記撮像画像は、ステレオカメラによって撮像された、少なくとも第１画像と第２画像を含むステレオ画像である
請求項１から請求項９のいずれか１項に記載の作業機械の運搬物特定装置。
【請求項１１】
運搬物を運搬するための作業機と、
撮像装置と、
請求項１から請求項１０のいずれか１項に記載の運搬物特定装置と、
前記運搬物特定装置が特定した前記投下対象における運搬物に関する情報を表示する表示装置と、
を備える作業機械。
【請求項１２】
作業機械の運搬物の投下対象が写る撮像画像を取得するステップと、
前記撮像画像に基づいて、前記投下対象の少なくとも一部の三次元位置を特定するステップと、
前記撮像画像に基づいて、前記撮像画像の深度を表す三次元データである深度データを生成するステップと、
前記投下対象の少なくとも一部の三次元位置とに基づいて、前記深度データから前記投下対象に対応する部分を除去することで、前記投下対象における前記運搬物の表面の三次元位置を特定するステップと、
を備える作業機械の運搬物特定方法。
【請求項１３】
一部の値が欠損した分布情報を入力することで、前記欠損した値を補完した分布情報を出力する補完モデルの生産方法であって、
作業機械の投下対象における運搬物の量の分布を示す分布情報と、前記分布情報のうち一部の値が欠損した不完全分布情報とを学習用データセットとして取得するステップと、
前記学習用データセットによって、前記不完全分布情報を入力値としたときに、前記分布情報が出力値となるように、前記補完モデルを学習させるステップと
を備える補完モデルの生産方法。
【請求項１４】
学習部及び記憶部を備えるコンピュータに用いられ、前記記憶部に記憶される補完モデルを学習させるための学習用データセットであって、
作業機械の投下対象における運搬物の量の分布を示す分布情報と、前記分布情報のうち一部の値が欠損した不完全分布情報と、
を含み、
前記学習部によって、前記補完モデルを学習させるための処理に用いられる
学習用データセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機械の運搬物特定装置、作業機械、作業機械の運搬物特定方法、補完モデルの生産方法、および学習用データセットに関する。
【背景技術】
【０００２】
特許文献１には、運搬車両に設けられた加重センサの出力に基づいて運搬物の重心位置を算出し、運搬物の積載状態を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−７１８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の方法では、運搬車両などの投下対象の重心の位置を特定することができるが、投下対象における運搬物の三次元位置を特定することができない。
本発明の目的は、投下対象における運搬物の三次元位置を特定することができる作業機械の運搬物特定装置、作業機械、作業機械の運搬物特定方法、補完モデルの生産方法、および学習用データセットを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、作業機械の運搬物特定装置は、作業機械の運搬物の投下対象が写る撮像画像を取得する画像取得部と、前記撮像画像に基づいて、前記投下対象の少なくとも一部の三次元位置を特定する投下対象特定部と、前記撮像画像に基づいて、前記撮像画像の深度を表す三次元データである深度データを生成する三次元データ生成部と、前記投下対象の少なくとも一部の三次元位置に基づいて、前記深度データから前記投下対象に対応する部分を除去することで、前記投下対象における前記運搬物の表面の三次元位置を特定する表面特定部と、を備える。
【発明の効果】
【０００６】
上記態様のうち少なくとも１つの態様によれば、運搬物特定装置は、投下対象における運搬物の分布を特定することができる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る積込場の構成を示す図である。
【図２】一実施形態に係る油圧ショベルの外観図である。
【図３】第１の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図４】ニューラルネットワークの構成の例を示す図である。
【図５】ガイダンス情報の一例である。
【図６】第１の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図７】第１の実施形態に係る特徴点特定モデルの学習方法を示すフローチャートである。
【図８】第１の実施形態に係る補完モデルの学習方法を示すフローチャートである。
【図９】第２の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図１０】第２の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図１１Ａ】ベッセルにおける運搬物の量の計算方法の第１の例を示す図である。
【図１１Ｂ】ベッセルにおける運搬物の量の計算方法の第２の例を示す図である。
【発明を実施するための形態】
【０００８】
〈第１の実施形態〉
以下、図面を参照しながら実施形態について詳しく説明する。
図１は、一実施形態に係る積込場の構成を示す図である。
施工現場には、積込機械である油圧ショベル１００と運搬車両であるダンプトラック２００とが配備される。油圧ショベル１００は、施工現場から土砂等の運搬物Ｌをすくい、ダンプトラック２００に積み込む。ダンプトラック２００は、油圧ショベル１００によって積み込まれた運搬物Ｌを所定の排土場に運搬する。ダンプトラック２００は、運搬物Ｌを収容する容器であるベッセル２１０を備える。ベッセル２１０は、運搬物Ｌの投下対象の一例である。
【０００９】
《油圧ショベルの構成》
図２は、一実施形態に係る油圧ショベルの外観図である。
油圧ショベル１００は、油圧により作動する作業機１１０と、作業機１１０を支持する旋回体１２０と、旋回体１２０を支持する走行体１３０とを備える。
【００１０】
旋回体１２０には、オペレータが搭乗する運転室１２１が備えられる。運転室１２１は、旋回体１２０の前方かつ作業機１１０の左側（＋Ｙ側）に備えられる。
【００１１】
《油圧ショベルの制御系》
油圧ショベル１００は、ステレオカメラ１２２、操作装置１２３、制御装置１２４、表示装置１２５を備える。
【００１２】
ステレオカメラ１２２は、運転室１２１の上部に設けられる。ステレオカメラ１２２は、運転室１２１内の前方（＋Ｘ方向）かつ上方（＋Ｚ方向）に設置される。ステレオカメラ１２２は、運転室１２１前面のフロントガラスを通して、運転室１２１の前方（＋Ｘ方向）を撮像する。ステレオカメラ１２２は、少なくとも１対のカメラを備える。
【００１３】
操作装置１２３は運転室１２１の内部に設けられる。操作装置１２３は、オペレータによって操作されることで作業機１１０のアクチュエータに作動油を供給する。
【００１４】
制御装置１２４は、ステレオカメラ１２２から情報を取得し、ダンプトラック２００のベッセル２１０における運搬物の分布を示すガイダンス情報を生成する。制御装置１２４は、運搬物特定装置の一例である。
【００１５】
表示装置１２５は、制御装置１２４が生成したガイダンス情報を表示する。
なお、他の実施形態に係る油圧ショベル１００は、必ずしもステレオカメラ１２２、表示装置１２５を備えなくてもよい。
【００１６】
《ステレオカメラの構成》
第１の実施形態においては、ステレオカメラ１２２は、右側カメラ１２２１および左側カメラ１２２２を備える。各カメラの例としては、例えばＣＣＤ（Charge Coupled  Device）センサ、およびＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサを用いたカメラが挙げられる。
【００１７】
右側カメラ１２２１と左側カメラ１２２２は、それぞれ光軸が運転室１２１の床面に対して略平行となるように、左右方向（Ｙ軸方向）に間隔を空けて設置される。ステレオカメラ１２２は撮像装置の一例である。制御装置１２４は、右側カメラ１２２１が撮像した画像と左側カメラ１２２２が撮像した画像とを用いることで、ステレオカメラ１２２と撮像対象との距離を算出することができる。以下、右側カメラ１２２１が撮像した画像を右目画像ともいう。また、左側カメラ１２２２が撮像した画像を左目画像ともいう。また、ステレオカメラ１２２の各カメラが撮像した画像の組み合わせをステレオ画像ともいう。なお、他の実施形態においては、ステレオカメラ１２２は、３個以上のカメラによって構成されてもよい。
【００１８】
《制御装置の構成》
図３は、第１の実施形態に係る制御装置の構成を示す概略ブロック図である。
制御装置１２４は、プロセッサ９１、メインメモリ９２、ストレージ９３、インタフェース９４を備える。
【００１９】
ストレージ９３には、作業機１１０を制御するためのプログラムが記憶されている。ストレージ９３の例としては、ＨＤＤ（Hard Disk Drive）、不揮発性メモリ等が挙げられる。ストレージ９３は、制御装置１２４のバスに直接接続された内部メディアであってもよいし、インタフェース９４または通信回線を介して制御装置１２４に接続される外部メディアであってもよい。ストレージ９３は、記憶部の一例である。
【００２０】
プロセッサ９１は、ストレージ９３からプログラムを読み出してメインメモリ９２に展開し、プログラムに従って処理を実行する。またプロセッサ９１は、プログラムに従ってメインメモリ９２に記憶領域を確保する。インタフェース９４は、ステレオカメラ１２２、表示装置１２５、およびその他の周辺機器と接続され、信号の授受を行う。メインメモリ９２は、記憶部の一例である。
【００２１】
プロセッサ９１は、プログラムの実行により、データ取得部１７０１、特徴点特定部１７０２、三次元データ生成部１７０３、ベッセル特定部１７０４、表面特定部１７０５、分布特定部１７０６、分布推定部１７０７、ガイダンス情報生成部１７０８、表示制御部１７０９を備える。また、ストレージ９３には、カメラパラメータＣＰ、特徴点特定モデルＭ１、補完モデルＭ２、ベッセルモデルＶＤが記憶される。カメラパラメータＣＰとは、旋回体１２０と右側カメラ１２２１との位置関係、および旋回体１２０と左側カメラ１２２２との位置関係を示す情報である。ベッセルモデルＶＤは、ベッセル２１０の形状を表す三次元モデルである。なお、他の実施形態においては、ベッセルモデルＶＤに代えて、ダンプトラック２００の形状を表す三次元データを用いてもよい。ベッセルモデルＶＤは、対象モデルの一例である。
なお、プログラムは、制御装置１２４に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ９３に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、制御装置１２４は、上記構成に加えて、または上記構成に代えてＰＬＤ（Programmable Logic Device）などのカスタムＬＳＩ（Large Scale Integrated Circuit）を備えてもよい。ＰＬＤの例としては、ＰＡＬ(Programmable Array Logic)、ＧＡＬ(Generic Array Logic)、ＣＰＬＤ(Complex Programmable Logic Device)、ＦＰＧＡ（Field Programmable Gate Array）が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【００２２】
データ取得部１７０１は、インタフェース９４を介してステレオカメラ１２２からステレオ画像を取得する。データ取得部１７０１は、画像取得部の一例である。なお、他の実施形態において油圧ショベル１００がステレオカメラ１２２を備えない場合、データ取得部１７０１は、他の作業機械が備えるステレオカメラや、施工現場に設置されるステレオカメラなどからステレオ画像を取得してもよい。
【００２３】
特徴点特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶された特徴点特定モデルＭ１に入力することで、右目画像に写るベッセル２１０の複数の特徴点の位置を特定する。ベッセル２１０の特徴点の例としては、ベッセル２１０のフロントパネルの上端および下端、フロントパネルのガードフレームとサイドゲートとの交点、ならびにテールゲートの固定柱の上端および下端などが挙げられる。つまり、特徴点は、投下対象の所定の位置の一例である。
【００２４】
特徴点特定モデルＭ１は、図４に示すニューラルネットワーク１４０を含む。図４は、ニューラルネットワークの構成の例を示す図である。特徴点特定モデルＭ１は、例えば、ＤＮＮ（Deep Neural Network）の学習済みモデルによって実現される。学習済みモデルとは、学習モデルと学習済みパラメータの組み合わせによって構成される。
図４に示すようにニューラルネットワーク１４０は、入力層１４１、１つまたは複数の中間層１４２（隠れ層）、及び出力層１４３を含む。各層１４１、１４２、１４３は、１又は複数のニューロンを備えている。中間層１４２のニューロンの数は、適宜設定することができる。出力層１４３は、特徴点の数に応じて適宜設定することができる。
【００２５】
互いに隣接する層のニューロン同士は結合されており、各結合には重み（結合荷重）が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
【００２６】
入力層１４１には、ダンプトラック２００のベッセル２１０が写る画像が入力される。
出力層１４３には、画像の各画素について特徴点である確率を示す出力値が出力される。つまり、特徴点特定モデルＭ１は、ベッセル２１０が写る画像が入力されると、当該画像におけるベッセル２１０の特徴点の位置を出力するように訓練された学習済みモデルである。特徴点特定モデルＭ１は、例えば、ダンプトラック２００のベッセル２１０が写る画像を学習データとし、ベッセル２１０の特徴点ごとに当該特徴点の位置をプロットした画像を教師データとする学習用データセットを用いて訓練される。教師データは、プロットに係る画素は特徴点である確率が１であることを示す値を有し、他の画素は特徴点である確率が０であることを示す値を有する画像である。なお、プロットに係る画素は特徴点である確率が１であることを示し、他の画素は特徴点である確率が０であることを示す情報であればよく、画像である必要はない。なお、本実施形態において「学習データ」とは、学習モデルの訓練時に入力層に入力されるデータをいう。本実施形態において「教師データ」とは、ニューラルネットワーク１４０の出力層の値と比較するための正解となるデータである。本実施形態において「学習用データセット」とは、学習データと教師データの組み合わせをいう。学習によって得られた特徴点特定モデルＭ１の学習済みパラメータは、ストレージ９３に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク１４０の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
特徴点特定モデルＭ１のニューラルネットワーク１４０の構成としては、例えば、顔器官検出に用いられるＤＮＮ構成や、人物の姿勢推定に用いられるＤＮＮ構成と同種のまたは類似のＤＮＮ構成を用いることができる。特徴点特定モデルＭ１は、位置特定モデルの一例である。なお、他の実施形態に係る特徴点特定モデルＭ１は、教師なし学習または強化学習によって訓練されたものであってもよい。
【００２７】
三次元データ生成部１７０３は、ステレオ画像とストレージ９３に記憶されたカメラパラメータとを用いたステレオ計測により、ステレオカメラ１２２の撮像範囲における深度を表す三次元マップを生成する。具体的には、三次元データ生成部１７０３は、ステレオ画像のステレオ計測によって三次元位置を示す点群データを生成する。点群データは、深度データの一例である。なお、他の実施形態においては、三次元データ生成部１７０３は、点群データに代えて、点群データから生成されたエレベーションマップを三次元データとして生成してもよい。
【００２８】
ベッセル特定部１７０４は、特徴点特定部１７０２が特定した各特徴点の位置と三次元データ生成部１７０３が特定した点群データとベッセルモデルＶＤとに基づいて、ベッセル２１０の三次元位置を特定する。具体的には、ベッセル特定部１７０４は、特徴点特定部１７０２が特定した各特徴点の位置と三次元データ生成部１７０３が特定した点群データとに基づいて、各特徴点の三次元位置を特定する。次に、ベッセル特定部１７０４は、各特徴点の三次元位置にベッセルモデルＶＤをフィッティングさせることで、ベッセル２１０の三次元位置を特定する。なお、他の実施形態においては、ベッセル特定部１７０４は、エレベーションマップに基づいてベッセル２１０の三次元位置を特定してもよい。
【００２９】
表面特定部１７０５は、三次元データ生成部１７０３が生成した点群データとベッセル特定部１７０４が特定したベッセル２１０の三次元位置とに基づいて、ベッセル２１０上の運搬物Ｌの表面の三次元位置を特定する。具体的には、表面特定部１７０５は、三次元データ生成部１７０３が生成した点群データからベッセル２１０の底面より上の部分を切り出すことで、ベッセル２１０上の運搬物Ｌの表面の三次元位置を特定する。
【００３０】
分布特定部１７０６は、ベッセル特定部１７０４が特定したベッセル２１０の底面の三次元位置と、表面特定部１７０５が特定した運搬物Ｌの表面の三次元位置とに基づいて、ベッセル２１０における運搬物Ｌの量の分布を示すベッセルマップを生成する。ベッセルマップは分布情報の一例である。ベッセルマップは、例えばベッセル２１０の底面を基準とした運搬物Ｌのエレベーションマップである。
【００３１】
分布推定部１７０７は、ベッセルマップのうち高さデータの値がない部分について、値を補完したベッセルマップを生成する。すなわち、分布推定部１７０７は、ベッセルマップのうち障害物によって遮蔽された遮蔽部分の三次元位置を推定し、ベッセルマップを更新する。障害物の例としては、作業機１１０、ベッセル２１０のテールゲート、運搬物Ｌなどが挙げられる。
具体的には、分布推定部１７０７は、ベッセルマップをストレージ９３に記憶された補完モデルＭ２に入力することで、高さデータを補完したベッセルマップを生成する。補完モデルＭ２は、例えば図４に示すニューラルネットワーク１４０を備えるＤＮＮの学習済みモデルによって実現される。補完モデルＭ２は、高さデータを有しないグリッドを含むベッセルマップが入力された場合に、すべてのグリッドが高さデータを有するベッセルマップを出力するように訓練された学習済みモデルである。補完モデルＭ２は、例えば、シミュレーション等によって生成された、すべてのグリッドが高さデータを有する完全ベッセルマップと、当該ベッセルマップから一部の高さデータを除去した不完全ベッセルマップとの組み合わせを学習用データセットとして訓練される。なお、他の実施形態に係る補完モデルＭ２は教師なし学習または強化学習によって訓練されたものであってもよい。
【００３２】
ガイダンス情報生成部１７０８は、分布推定部１７０７が生成したベッセルマップからガイダンス情報を生成する。
図５は、ガイダンス情報の一例である。ガイダンス情報生成部１７０８は、例えば図５に示すように、ベッセル２１０の底面から運搬物Ｌの表面までの高さの分布を表す二次元のヒートマップを表示するガイダンス情報を生成する。図５に示すヒートマップにおける縦および横の分割の粒度は一例であり、他の実施形態ではこれに限られない。なお、他の実施形態に係るヒートマップは、例えばベッセル２１０の積載上限に係る高さに対する運搬物Ｌの高さの割合を表すものであってよい。
【００３３】
表示制御部１７０９は、ガイダンス情報を表示する表示信号を表示装置１２５に出力する。
学習部１８０１は、特徴点特定モデルＭ１および補完モデルＭ２の学習処理を行う。なお、学習部１８０１は、制御装置１２４と別個の装置に設けられてもよい。この場合、別個の装置において学習された学習済みモデルが、ストレージ９３に記録されることとなる。
【００３４】
《表示方法》
図６は、第１の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、ステレオカメラ１２２からステレオ画像を取得する（ステップＳ１）。次に、特徴点特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶された特徴点特定モデルＭ１に入力することで、右目画像に写るベッセル２１０の複数の特徴点の位置を特定する。（ステップＳ２）。ベッセル２１０の特徴点の例としては、ベッセル２１０のフロントパネルの上端および下端、フロントパネルのガードフレームとサイドゲートとの交点、ならびにテールゲートの固定柱の上端および下端などが挙げられる。他の実施形態においては、特徴点特定部１７０２は、左目画像を特徴点特定モデルＭ１に入力することで複数の特徴点の位置を特定してもよい。
【００３５】
三次元データ生成部１７０３は、ステップＳ１で取得したステレオ画像とストレージ９３に記憶されたカメラパラメータとを用いたステレオ計測により、ステレオカメラ１２２の撮像範囲全体の点群データを生成する（ステップＳ３）。
ベッセル特定部１７０４は、ステップＳ２で特定した各特徴点の位置とステップＳ３で生成した点群データとに基づいて、特徴点の三次元位置を特定する（ステップＳ４）。例えば、ベッセル特定部１７０４は、点群データから、特徴点が写る右目画像上の画素に対応する三次元点を特定することで、特徴点の三次元位置を特定する。ベッセル特定部１７０４は、特定した各特徴点の位置にストレージ９３に記憶されたベッセルモデルＶＤをフィッティングさせ、ベッセル２１０の三次元位置を特定する（ステップＳ５）。このとき、ベッセル特定部１７０４は、ベッセル２１０の三次元位置に基づいて、点群データの座標系をベッセル２１０の一角を原点とするベッセル座標系に変換してもよい。ベッセル座標系は、例えば、フロントパネルの左下端を原点とし、フロントパネルの幅方向に伸びるＸ軸、サイドゲートの幅方向に伸びるＹ軸、およびフロントパネルの高さ方向に伸びるＺ軸からなる座標系として表すことができる。ベッセル特定部１７０４は、投下対象特定部の一例である。
【００３６】
表面特定部１７０５は、ステップＳ３で生成した点群データのうち、ステップＳ５において特定されたベッセル２１０のフロントパネル、サイドゲートおよびテールゲートで囲まれ、フロントパネルの高さ方向に伸びる角柱領域内の複数の三次元点を抽出することで、点群データから背景に相当する三次元点を除去する（ステップＳ６）。フロントパネル、サイドゲートおよびテールゲートは、ベッセル２１０の壁部を構成する。ステップＳ５において点群データがベッセル座標系に変換されている場合、表面特定部１７０５は、Ｘ軸、Ｙ軸、およびＺ軸に既知のベッセル２１０のサイズに基づいて定められた閾値を設定し、当該閾値から定義される領域内の三次元点を抽出する。当該角柱領域の高さは、フロントパネルの高さと等しくてもよいし、フロントパネルの高さより所定長さだけ高いものであってもよい。なお、角柱領域の高さがフロントパネルより高くすることで、運搬物Ｌがベッセル２１０の高さより高く積まれた場合においても、運搬物Ｌを正確に抽出することができる。また、角柱領域は、フロントパネル、サイドゲートおよびテールゲートで囲まれた領域より所定距離だけ内側に狭まった領域であってもよい。この場合、ベッセルモデルＶＤが、フロントパネル、サイドゲート、テールゲート、および底面の厚さが正確でない簡易な３Ｄモデルであったとしても、点群データの誤差を少なくすることができる。
【００３７】
表面特定部１７０５は、ステップＳ６で抽出された複数の三次元点のうち、ベッセルモデルＶＤの位置に対応するものを除去することで、ベッセル２１０に積み込まれた運搬物Ｌの表面の三次元位置を特定する（ステップＳ７）。分布特定部１７０６は、ステップＳ６で抽出した複数の三次元点と、ベッセル２１０の底面とに基づいて、ベッセル２１０の底面を基準高さとし、フロントパネルの高さ方向に係る高さを表すエレベーションマップであるベッセルマップを生成する（ステップＳ８）。当該ベッセルマップは、高さデータを有しないグリッドを含みうる。なお、ステップＳ５において点群データがベッセル座標系に変換されている場合、分布特定部１７０６は、ＸＹ平面を基準高さとし、Ｚ軸方向を高さ方向とするエレベーションマップを求めることでベッセルマップを生成することができる。
【００３８】
分布推定部１７０７は、ステップＳ７で生成されたベッセルマップをストレージ９３に記憶された補完モデルＭ２に入力することで、高さデータを補完したベッセルマップを生成する（ステップＳ８）。ガイダンス情報生成部１７０８は、ベッセルマップに基づいて、図５に示すガイダンス情報を生成する（ステップＳ９）。表示制御部１７０９は、ガイダンス情報を表示する表示信号を表示装置１２５に出力する（ステップＳ１０）。
なお、実施形態によっては、図６に示す制御装置１２４による処理のうち、ステップＳ２〜ステップＳ４、ステップＳ７〜Ｓ１０の処理が実行されなくてもよい。
また、図６に示す制御装置１２４による処理のうち、ステップＳ３、ステップＳ４の処理に代えて、右目画像における特徴点の位置からステレオマッチングによって、左目画像における特徴点の位置を特定し、三角測量を用いて、特徴点の三次元位置を特定してもよい。そしてステップＳ６の処理に代えて、ステップＳ５において特定されたベッセル２１０のフロントパネル、サイドゲートおよびテールゲートで囲まれ、フロントパネルの高さ方向に伸びる角柱領域内のみの点群データを生成するようにしてもよい。この場合、撮像範囲全体の点群データを生成する必要がないため、計算負荷を少なくすることができる。
【００３９】
《学習方法》
図７は、第１の実施形態に係る特徴点特定モデルＭ１の学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１０１）。例えば、特徴点特定モデルＭ１における学習データは、ベッセル２１０が写る画像である。学習データは、ステレオカメラ１２２が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。なお、ダンプトラックとは異なる作業機械、例えばホイールローダのベッセルが写る画像を学習データとしてもよい。様々な種類の作業機械のベッセルを学習データとすることで、ベッセル認識のロバスト性を向上することができる。
【００４０】
次に、学習部１８０１は、特徴点特定モデルＭ１の学習を行う。学習部１８０１は、ステップＳ１０１で取得した学習データと、ベッセルの特徴点の位置をプロットした画像である教師データとの組み合わせを学習用データセットとして、特徴点特定モデルＭ１の学習を行う（ステップＳ１０２）。例えば、学習部１８０１は、学習データを入力として用いて、ニューラルネットワーク１４０の順伝播方向の演算処理を行う。これにより、学習部１８０１は、ニューラルネットワーク１４０の出力層１４３から出力される出力値を得る。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。次に、学習部１８０１は、出力層１４３から出力される値と教師データとの誤差を算出する。出力層１４３からの出力値は、各画素について特徴点である確率を表す値であり、教師データは、特徴点の位置をプロットした情報である。学習部１８０１は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習部１８０１は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【００４１】
学習部１８０１は、特徴点特定モデルＭ１からの出力値が、教師データと一致するか否かを判定する（ステップＳ１０３）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。特徴点特定モデルＭ１からの出力値が、教師データと一致しない場合（ステップＳ１０３：ＮＯ）、特徴点特定モデルＭ１からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、特徴点特定モデルＭ１のパラメータが最適化され、特徴点特定モデルＭ１を学習させることができる。
特徴点特定モデルＭ１からの出力値が、特徴点に対応する値と一致する場合（ステップＳ１０３：ＹＥＳ）、学習部１８０１は、学習によって最適化されたパラメータを含む学習済みモデルである特徴点特定モデルＭ１を、ストレージ９３に記録する（ステップＳ１０４）。
【００４２】
図８は、第１の実施形態に係る補完モデルの学習方法を示すフローチャートである。データ取得部１７０１は、教師データとして、すべてのグリッドが高さデータを有する完全ベッセルマップを取得する（ステップＳ１１１）。完全ベッセルマップは、例えばシミュレーション等によって生成される。学習部１８０１は、完全ベッセルマップの一部の高さデータをランダムに除去することで、学習データである不完全ベッセルマップを生成する
（ステップＳ１１２）。
【００４３】
次に、学習部１８０１は、補完モデルＭ２の学習を行う。学習部１８０１は、ステップＳ１１２で生成した学習データと、ステップＳ１１１で取得した教師データとの組み合わせを学習用データセットとして、補完モデルＭ２の学習を行う（ステップＳ１１３）。例えば、学習部１８０１は、学習データを入力として用いて、ニューラルネットワーク１４０の順伝播方向の演算処理を行う。これにより、学習部１８０１は、ニューラルネットワーク１４０の出力層１４３から出力される出力値を得る。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。次に、学習部１８０１は、出力層１４３から出力されるベッセルマップと、教師データである完全ベッセルマップとの誤差を算出する。学習部１８０１は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習部１８０１は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【００４４】
学習部１８０１は、補完モデルＭ２からの出力値が、教師データと一致するか否かを判定する（ステップＳ１１４）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。補完モデルＭ２からの出力値が教師データと一致しない場合（ステップＳ１１４：ＮＯ）、補完モデルＭ２からの出力値が完全ベッセルマップと一致するまで、上記の処理を繰り返す。それにより、補完モデルＭ２のパラメータが最適化され、補完モデルＭ２を学習させることができる。
補完モデルＭ２からの出力値が教師データと一致する場合（ステップＳ１１４：ＹＥＳ）、学習部１８０１は、学習によって最適化されたパラメータを含む学習済みモデルである補完モデルＭ２を、ストレージ９３に記録する（ステップＳ１１５）。
【００４５】
《作用・効果》
このように、第１の実施形態によれば、制御装置１２４は、撮像画像に基づいて、運搬物Ｌの表面およびベッセル２１０の底面の三次元位置を特定し、これらに基づいてベッセル２１０における運搬物Ｌの量の分布を示すベッセルマップを生成する。これにより、制御装置１２４は、ベッセル２１０における運搬物Ｌの分布を特定することができる。オペレータは、ベッセル２１０における運搬物Ｌの分布を認識することで、ベッセル２１０にバランスよく運搬物Ｌを積み込むための運搬物Ｌの投下位置を認識することができる。
【００４６】
また、第１の実施形態に係る制御装置１２４は、ベッセルマップのうち障害物によって遮蔽された遮蔽部分における運搬物Ｌの量の分布を推定する。これにより、オペレータは、ベッセル２１０のうち障害物に遮蔽されてステレオカメラ１２２によって撮像できない部分についても、運搬物Ｌの量の分布を認識することができる。
【００４７】
〈第２の実施形態〉
第２の実施形態に係る制御装置１２４は、運搬物Ｌの種別に基づいてベッセル２１０における運搬物Ｌの分布を特定する。
【００４８】
図９は、第２の実施形態に係る制御装置の構成を示す概略ブロック図である。
第２の実施形態に係る制御装置１２４は、種別特定部１７１０をさらに備える。またストレージ９３は、種別特定モデルＭ３と、運搬物Ｌの種別に応じた複数の補完モデルＭ２を記憶する。
【００４９】
種別特定部１７１０は、運搬物Ｌの画像を種別特定モデルＭ３に入力することで、当該画像に写る運搬物Ｌの種別を特定する。運搬物の種類の例としては、粘土、土砂、礫、岩石、木材などが挙げられる。
種別特定モデルＭ３は、例えば、ＤＮＮ（Deep Neural Network）の学習済みモデルによって実現される。種別特定モデルＭ３は、運搬物Ｌが写る画像が入力された場合に、運搬物Ｌの種別を出力するように訓練された学習済みモデルである。種別特定モデルＭ３のＤＮＮ構成としては、例えば、画像認識に用いられるＤＮＮ構成と同種のまたは類似のＤＮＮ構成を用いることができる。種別特定モデルＭ３は、例えば、運搬物Ｌが写る画像と、運搬物Ｌの種別を表すラベルとの組み合わせを教師データとして訓練される。種別特定モデルＭ３は、運搬物Ｌが写る画像と、運搬物Ｌの種別を表すラベルデータとの組み合わせを教師データとして訓練される。種別特定モデルＭ３は、一般的な学習済みの画像認識モデルの転移学習により訓練されてよい。なお、他の実施形態に係る種別特定モデルＭ３は、教師なし学習または強化学習によって訓練されたものであってもよい。
【００５０】
ストレージ９３は、運搬物Ｌの種別ごとに補完モデルＭ２を記憶する。例えば、ストレージ９３は、粘土用の補完モデルＭ２、土砂用の補完モデルＭ２、礫用の補完モデルＭ２、岩石用の補完モデルＭ２、木材用の補完モデルＭ２をそれぞれ記憶する。各補完モデルＭ２は、例えば、運搬物Ｌの種別に応じたシミュレーション等によって生成された完全ベッセルマップと、当該ベッセルマップから一部の高さデータを除去した不完全ベッセルマップとの組み合わせを教師データとして訓練される。
【００５１】
《表示方法》
図１０は、第２の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、ステレオカメラ１２２からステレオ画像を取得する（ステップＳ２１）。次に、特徴点特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶された特徴点特定モデルＭ１に入力することで、右目画像に写るベッセル２１０の複数の特徴点の位置を特定する。（ステップＳ２２）。
【００５２】
三次元データ生成部１７０３は、ステップＳ２１で取得したステレオ画像とストレージ９３に記憶されたカメラパラメータとを用いたステレオ計測により、ステレオカメラ１２２の撮像範囲全体の点群データを生成する（ステップＳ２３）。
ベッセル特定部１７０４は、ステップＳ２２で特定した各特徴点の位置とステップＳ２３で生成した点群データとに基づいて、特徴点の三次元位置を特定する（ステップＳ２４）。ベッセル特定部１７０４は、特定した各特徴点の位置にストレージ９３に記憶されたベッセルモデルＶＤをフィッティングさせ、ベッセル２１０の底面の三次元位置を特定する（ステップＳ２５）。例えば、ベッセル特定部１７０４は、特定した少なくとも３つの特徴点の位置に基づいて、仮想空間上に検出対象のダンプトラック２００の寸法に基づいて作成されたベッセルモデルＶＤを配置する。
【００５３】
表面特定部１７０５は、ステップＳ２３で生成した点群データのうち、ステップＳ２５において特定されたベッセル２１０のフロントパネル、サイドゲートおよびテールゲートで囲まれ、フロントパネルの高さ方向に伸びる角柱領域内の複数の三次元点を抽出することで、点群データから背景に相当する三次元点を除去する（ステップＳ２６）。表面特定部１７０５は、ステップＳ６で抽出された複数の三次元点のうち、ベッセルモデルＶＤの位置に対応するものを除去することで、ベッセル２１０に積み込まれた運搬物Ｌの表面の三次元位置を特定する（ステップＳ２７）。分布特定部１７０６は、ステップＳ２７で抽出した複数の三次元点と、ベッセル２１０の底面とに基づいて、ベッセル２１０の底面を基準高さとするエレベーションマップであるベッセルマップを生成する（ステップＳ２８）。当該ベッセルマップは、高さデータを有しないグリッドを含みうる。
【００５４】
表面特定部１７０５は、ステップＳ２７で特定した運搬物Ｌの表面の三次元位置に基づいて、右目画像において運搬物Ｌが写る領域を特定する（ステップＳ２９）。例えば、表面特定部１７０５は、ステップＳ２７で抽出された複数の三次元点に対応する右目画像上の複数の画素を特定し、特定された複数の画素からなる領域を、運搬物Ｌが写る領域と特定する。種別特定部１７１０は、右目画像から運搬物Ｌが写る領域を抽出し、当該領域に係る画像を種別特定モデルＭ３に入力することで、運搬物Ｌの種別を特定する（ステップＳ３０）。
【００５５】
分布推定部１７０７は、ステップＳ２８で生成されたベッセルマップを、ステップＳ３０で特定された種別に関連付けられた補完モデルＭ２に入力することで、高さデータを補完したベッセルマップを生成する（ステップＳ３１）。ガイダンス情報生成部１７０８は、ベッセルマップに基づいてガイダンス情報を生成する（ステップＳ３２）。表示制御部１７０９は、ガイダンス情報を表示する表示信号を表示装置１２５に出力する（ステップＳ３３）。
【００５６】
《作用・効果》
このように、第２の実施形態によれば、制御装置１２４は、運搬物Ｌの種別に基づいて、遮蔽部分における運搬物Ｌの量の分布を推定する。つまり、運搬物Ｌの種類によって、ベッセル２１０に積み込まれた運搬物Ｌの特性（例えば安息角など）が異なるところ、第３の実施形態によれば、運搬物Ｌの種別に応じて遮蔽部分における運搬物Ｌの分布をより正確に推定することができる。
【００５７】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述の実施形態に係る制御装置１２４は、油圧ショベル１００に搭載されるが、これに限られない。例えば、他の実施形態に係る制御装置１２４は、遠隔のサーバ装置に設けられてもよい。また、制御装置１２４は、複数のコンピュータから実現されるものであってもよい。この場合、制御装置１２４の一部の構成が遠隔のサーバ装置に設けられるものであってもよい。すなわち、制御装置１２４は、複数の装置からなる運搬物特定システムとして実装されてもよい。
【００５８】
また、上述の実施形態に係る投下対象は、ダンプトラック２００のベッセル２１０だが、これに限られない。例えば、他の実施形態に係る投下対象は、ホッパなどの他の投下対象であってもよい。
【００５９】
また、上述の実施形態に係る撮像画像はステレオ画像であるが、これに限られない。例えば、他の実施形態においては、ステレオ画像に代えて１枚の画像に基づいて計算を行ってもよい。この場合、制御装置１２４は、例えば１枚の画像から深度情報を生成する学習済みモデルを用いることで、運搬物Ｌの三次元位置を特定することができる。
【００６０】
また、上述の実施形態に係る制御装置１２４は、補完モデルＭ２を用いてベッセルマップの遮蔽部分の値を補完するが、これに限られない。例えば、他の実施形態に係る制御装置１２４は、遮蔽部分の近傍の運搬物Ｌの高さの変化率または変化のパターンに基づいて、遮蔽部分の高さを推定してもよい。例えば、遮蔽部分の近傍の運搬物Ｌの高さが、遮蔽部分に近づくほど低くなっている場合、制御装置１２４は、高さの変化率に基づいて遮蔽部分における運搬物Ｌの高さを近傍の高さより低い値に推定することができる。
また、他の実施形態に係る制御装置１２４は、運搬物Ｌの安息角等の物理的性質に鑑みたシミュレーションにより、遮蔽部分における運搬物Ｌの高さを推定してもよい。また、他の実施形態に係る制御装置１２４は、ベッセルマップの各グリッドをセルとみなしたセルオートマトンに基づいて、遮蔽部分における運搬物Ｌの高さを決定論的に推定してもよい。
また、他の実施形態に係る制御装置１２４は、ベッセルマップの補完を行わず、高さデータが欠損した部分を含むベッセルマップに係る情報を表示してもよい。
【００６１】
図１１Ａは、ベッセルにおける運搬物の量の計算方法の第１の例を示す図である。図１１Ｂは、ベッセルにおける運搬物の量の計算方法の第２の例を示す図である。
上述の実施形態に係るベッセルマップは、図１１Ａに示すように、ベッセル２１０の底面Ｌ１からベッセル２１０の積載上限に係る高さによって表されるが、これに限られない。
例えば、他の実施形態に係るベッセルマップは、図１１Ｂに示すように、底面を基準とした他の基準面Ｌ３からの運搬物Ｌの表面Ｌ２までの高さを表すものであってもよい。図１１Ｂに示す例では、基準面Ｌ３は、地表に平行かつ底面のうち最も地表に近い点を通る面である。この場合、オペレータは、ベッセル２１０の傾斜に関わらず、ベッセル２１０が満杯になるまでの運搬物Ｌの量を容易に認識することができる。
【００６２】
また、上述の実施形態に係る制御装置１２４は、ベッセル２１０の底面と運搬物Ｌの表面とに基づいてベッセルマップを生成するが、これに限られない。例えば、他の実施形態に係る制御装置１２４は、ベッセル２１０の開口面と、運搬物の表面と、ベッセル２１０の底面から開口面までの高さとに基づいてベッセルマップを算出してもよい。すなわち、制御装置１２４は、ベッセル２１０の底面から開口面までの高さから、ベッセルの上端面のから運搬物Ｌの表面までの距離を減算することで、ベッセルマップを算出することができる。また、他の実施形態に係るベッセルマップは、ベッセル２１０の開口面を基準としたものであってもよい。
【００６３】
また、上述した実施形態に係るガイダンス情報生成部１７０８は、特徴点特定モデルＭ１を用いて右目画像から特徴点を抽出するが、これに限られない。例えば、他の実施形態においては、ガイダンス情報生成部１７０８は、特徴点特定モデルＭ１を用いて左目画像から特徴点を抽出してもよい。
【符号の説明】
【００６４】
１００…油圧ショベル  １１０…作業機  １２０…旋回体  １２１…運転室  １２２…ステレオカメラ  １２２１…右側カメラ  １２２２…左側カメラ  １２３…操作装置  １２４…制御装置  １２５…表示装置  １３０…走行体  ９１…プロセッサ  ９２…メインメモリ  ９３…ストレージ  ９４…インタフェース  １７０１…データ取得部  １７０２…特徴点特定部  １７０３…三次元データ生成部  １７０４…ベッセル特定部  １７０５…表面特定部  １７０６…分布特定部  １７０７…分布推定部  １７０８…ガイダンス情報生成部  １７０９…表示制御部  １７１０…種別特定部  ２００…ダンプトラック  ２１０…ベッセル  ２１１…テールゲート  ２１２…サイドゲート  ２１３…フロントパネル  ＣＰ…カメラパラメータ  ＶＤ…ベッセルモデル  Ｍ１…特徴点特定モデル  Ｍ２…補完モデル  Ｍ３…種別特定モデル  Ｌ…運搬物
【図１】
2020034527.tif 000003
【図２】
2020034527.tif 000004
【図３】
2020034527.tif 000005
【図４】
2020034527.tif 000006
【図５】
2020034527.tif 000007
【図６】
2020034527.tif 000008
【図７】
2020034527.tif 000009
【図８】
2020034527.tif 000010
【図９】
2020034527.tif 000011
【図１０】
2020034527.tif 000012
【図１１Ａ】
2020034527.tif 000013
【図１１Ｂ】
2020034527.tif 000014