(57)【要約】      （修正有）【課題】運搬物の投下対象の位置を、ロバストに特定することができる画像処理システムを提供する。【解決手段】制御装置１２７において、画像取得部は、撮像装置から、運搬物の投下対象が写る撮像画像を取得する。現場位置特定部は、位置特定モデルと撮像画像とに基づいて、撮像画像に写る投下対象の所定の部分の現場における位置を特定する。位置特定モデルは、画像を入力することで画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである。【選択図】図３
2020035380.tif 000002
【特許請求の範囲】
【請求項１】
作業機械の運搬物の投下対象が写る撮像画像を取得するデータ取得部と、
画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定する位置特定部と
を備える画像処理システム。
【請求項２】
前記位置特定モデルは、前記画像における前記部分の位置を示す情報を出力し、
前記位置特定部は、前記撮像画像を前記位置特定モデルに入力することで出力される前記画像における前記部分の位置を示す情報に基づいて、前記部分の三次元位置を特定する
請求項１に記載の画像処理システム。
【請求項３】
前記撮像画像は、ステレオカメラによって撮像された、少なくとも第１画像と第２画像を含むステレオ画像である
請求項２に記載の画像処理システム。
【請求項４】
前記第１画像を前記位置特定モデルに入力することで、前記第１画像における前記部分の位置を特定する第１位置特定部と、
特定された前記第１画像における前記部分の位置に基づいて、前記第２画像における前記部分の位置を特定する第２位置特定部と、
を備え、
前記位置特定部は、前記第１画像における前記部分の位置と、前記第２画像における前記部分の位置とに基づいて、前記部分の三次元位置を特定する
請求項３に記載の画像処理システム。
【請求項５】
前記第２位置特定部は、前記第１画像と、前記第２画像と、前記第１画像における投下対象の所定の部分の位置とを入力することで、前記第２画像における投下対象の所定の部分の位置を出力する学習済みモデルである対応位置特定モデルに基づいて、前記第２画像における前記部分の位置を特定する
請求項４に記載の画像処理システム。
【請求項６】
前記位置特定モデルに前記第１画像と前記第２画像とを入力することで、前記第１画像における前記部分の位置および前記第２画像における前記部分の位置を特定するステレオ位置特定部を備え、
前記位置特定部は、前記第１画像における前記部分の位置と、前記第２画像における前記部分の位置とに基づいて、前記部分の三次元位置を特定する
請求項３に記載の画像処理システム。
【請求項７】
前記データ取得部は、前記撮像画像を撮像する撮像装置の撮像姿勢を取得し、
前記位置特定部は、特定された前記部分の位置と、前記撮像姿勢とに基づいて、前記部分の現場における三次元位置を特定する
請求項２から請求項６のいずれか１項に記載の画像処理システム。
【請求項８】
前記データ取得部は、前記撮像画像の撮像位置を取得し、
前記撮像画像は、ステレオカメラによって撮像された、少なくとも第１画像と第２画像を含むステレオ画像であって、
前記位置特定モデルは、前記第１画像および前記第２画像を入力することで、前記ステレオカメラを基準とした前記部分の三次元位置を示す情報を出力し、
前記位置特定部は、前記第１画像および前記第２画像を前記位置特定モデルに入力することで出力される前記ステレオカメラを基準とした前記三次元位置を示す情報と、前記撮像位置とに基づいて、前記部分の現場における三次元位置を特定する
請求項１に記載の画像処理システム。
【請求項９】
請求項１から請求項８のいずれか１項に記載の画像処理システムが特定した前記運搬物の投下対象の所定の部分の位置に関する情報を表示する表示装置。
【請求項１０】
撮像装置から、作業機械の運搬物の投下対象が写る撮像画像を取得するステップと、
画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定するステップと
を備える画像処理方法。
【請求項１１】
作業機械の運搬物の投下対象が写る撮像画像を入力することで、前記投下対象の所定の部分の位置を出力する位置特定モデルの学習済みモデルを生成する方法であって、
作業機械の運搬物の投下対象が写る撮像画像を取得するステップと、
前記投下対象が写る撮像画像と、前記撮像画像に写る投下対象の所定の部分の位置を示す情報とを学習用データセットとして、前記位置特定モデルを学習することで、学習済みモデルを生成するステップと
を備える学習済みモデルの生成方法。
【請求項１２】
学習部及び記憶部を備えるコンピュータに用いられ、前記記憶部に記憶される位置特定モデルを学習させるための学習用データセットであって、
作業機械の運搬物の投下対象を示す情報と、前記投下対象の所定の部分の位置を示す情報と、
を含み、
前記学習部によって、前記位置特定モデルを学習させる処理に用いられる
学習用データセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセットに関する。
【背景技術】
【０００２】
特許文献１には、油圧ショベルに備えられた撮像装置によって撮像された画像からエッジを抽出することで、ダンプトラックのベッセルの位置を特定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１９２５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、積込機械が存在する現場においては、道路が舗装されていないことがあり、地表に轍が生成される。轍とダンプトラックとが写る画像からエッジを抽出すると、ダンプトラックのエッジに加え、轍のエッジも生じる。そのため、特許文献１に記載の技術により撮像画像からダンプトラックのベッセル位置を特定する場合、轍の存在により、適切にベッセルの位置を特定することができない可能性がある。
本発明は、運搬物の投下対象の位置を、ロバストに特定することができる画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセットを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、画像処理システムは、作業機械の運搬物の投下対象が写る撮像画像を取得するデータ取得部と、画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定する位置特定部とを備える。
【発明の効果】
【０００６】
上記態様によれば、画像から投下対象の所定の部分の位置を出力する学習済みモデルを用いて、精度よく投下対象の部分の位置を特定することができる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る積込場の構成を示す図である。
【図２】一実施形態に係る油圧ショベルの外観図である。
【図３】第１の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図４】ベッセルの特徴点の例を示す図である。
【図５】ニューラルネットワークの構成の一例である。
【図６】Siamese Networkモデルの構成の例を示す図である。
【図７】ガイダンス情報の一例である。
【図８】第１の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図９】第１の実施形態に係る特徴点特定モデルの学習方法を示すフローチャートである。
【図１０】第１の実施形態に係る類似度特定モデルの学習方法を示すフローチャートである。
【図１１】第２の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図１２】第２の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図１３】第２の実施形態に係るステレオ特徴点特定モデルの学習方法を示すフローチャートである。
【図１４】第３の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図１５】第３の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図１６】第３の実施形態に係る三次元特徴点特定モデルの学習方法を示すフローチャートである。
【図１７】第４の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図１８】第４の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図１９】第４の実施形態に係るステレオマッチングモデルの学習方法を示すフローチャートである。
【図２０】第５の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図２１】第５の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
〈第１の実施形態〉
以下、図面を参照しながら実施形態について詳しく説明する。
図１は、一実施形態に係る積込場の構成を示す図である。
施工現場には、積込機械である油圧ショベル１００と運搬車両であるダンプトラック２００とが配備される。油圧ショベル１００は、施工現場から土砂等の運搬物Ｌをすくい、ダンプトラック２００に積み込む。ダンプトラック２００は、油圧ショベル１００によって積み込まれた運搬物Ｌを所定の排土場に運搬する。ダンプトラック２００は、運搬物Ｌを収容する容器であるベッセル２１０を備える。ベッセル２１０は、運搬物Ｌの投下対象の一例である。施工現場は、現場の一例である。現場とは、積込機械による作業が行われる土地である。
【０００９】
《油圧ショベルの構成》
図２は、一実施形態に係る油圧ショベルの外観図である。
油圧ショベル１００は、油圧により作動する作業機１１０と、作業機１１０を支持する旋回体１２０と、旋回体１２０を支持する走行体１３０とを備える。
【００１０】
作業機１１０は、ブーム１１１と、アーム１１２と、バケット１１３と、ブームシリンダ１１４と、アームシリンダ１１５と、バケットシリンダ１１６とを備える。
【００１１】
ブーム１１１は、アーム１１２およびバケット１１３を支える支柱である。ブーム１１１の基端部は、旋回体１２０の前部にブームピンＰ１を介して取り付けられる。
アーム１１２は、ブーム１１１とバケット１１３とを連結する。アーム１１２の基端部は、ブーム１１１の先端部にアームピンＰ２を介して取り付けられる。
バケット１１３は、土砂などを掘削するための刃を有する容器である。バケット１１３の基端部は、アーム１１２の先端部にバケットピンＰ３を介して取り付けられる。
【００１２】
ブームシリンダ１１４は、ブーム１１１を作動させるための油圧シリンダである。ブームシリンダ１１４の基端部は、旋回体１２０に取り付けられる。ブームシリンダ１１４の先端部は、ブーム１１１に取り付けられる。
アームシリンダ１１５は、アーム１１２を駆動するための油圧シリンダである。アームシリンダ１１５の基端部は、ブーム１１１に取り付けられる。アームシリンダ１１５の先端部は、アーム１１２に取り付けられる。
バケットシリンダ１１６は、バケット１１３を駆動するための油圧シリンダである。バケットシリンダ１１６の基端部は、アーム１１２に取り付けられる。バケットシリンダ１１６の先端部は、バケット１１３に取り付けられる。
【００１３】
旋回体１２０には、オペレータが搭乗する運転室１２１が備えられる。運転室１２１は、旋回体１２０の前方かつ作業機１１０の左側（＋Ｙ側）に備えられる。
【００１４】
《油圧ショベルの制御系》
油圧ショベル１００は、作業機位置検出器１２２、位置方位演算器１２３、傾斜検出器１２４、ステレオカメラ１２５、操作装置１２６、制御装置１２７、表示装置１２８を備える。
【００１５】
作業機位置検出器１２２は、作業機１１０の姿勢角を検出する。第１の実施形態に係る作業機位置検出器１２２は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６のそれぞれのストローク長を検出するストローク検出器である。これにより、後述する制御装置１２７は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６のそれぞれのストローク長に基づいて作業機１１０の姿勢角を検出することができる。他方、他の実施形態においては、これに限られず、作業機位置検出器１２２として、ストローク検出器に代えて、またはストローク検出器と併用して、ＩＭＵ，ロータリーエンコーダや水平器等の角度検出器を用いてもよい。
【００１６】
位置方位演算器１２３は、旋回体１２０の位置および旋回体１２０が向く方位を演算する。位置方位演算器１２３は、ＧＮＳＳ（Global Navigation Satellite System）を構成する人工衛星から測位信号を受信する第１受信器１２３１および第２受信器１２３２を備える。第１受信器１２３１および第２受信器１２３２は、それぞれ旋回体１２０の異なる位置に設置される。位置方位演算器１２３は、第１受信器１２３１が受信した測位信号に基づいて、現場座標系における旋回体１２０の代表点（車体座標系の原点）の位置を検出する。
位置方位演算器１２３は、第１受信器１２３１が受信した測位信号と、第２受信器１２３２が受信した測位信号とを用いて、検出された第１受信器１２３１の設置位置に対する第２受信器１２３２の設置位置の関係として、旋回体１２０の方位を演算する。なお、他の実施形態に係る位置方位演算器１２３は、第１受信器１２３１および第２受信器１２３２に代えて、ロータリーエンコーダやＩＭＵなどの他の装置を備えることで旋回体１２０の方位を計測してもよい。
【００１７】
傾斜検出器１２４は、旋回体１２０の加速度および角速度を計測し、計測結果に基づいて旋回体１２０の傾き（例えば、Ｘ軸に対する回転を表すロール、Ｙ軸に対する回転を表すピッチ、およびＺ軸に対する回転を表すヨー）を検出する。傾斜検出器１２４は、例えば運転室１２１の下面に設置される。傾斜検出器１２４は、例えば、慣性計測装置であるＩＭＵ（Inertial Measurement Unit）を用いることができる。
【００１８】
ステレオカメラ１２５は、運転室１２１の上部に設けられる。ステレオカメラ１２５は、運転室１２１内の前方（＋Ｘ方向）かつ上方（＋Ｚ方向）に設置される。ステレオカメラ１２５は、運転室１２１前面のフロントガラスを通して、運転室１２１の前方（＋Ｘ方向）を撮像する。ステレオカメラ１２５は、少なくとも１対のカメラを備える。
【００１９】
操作装置１２６は運転室１２１の内部に設けられる。操作装置１２６は、オペレータによって操作されることで作業機１１０のアクチュエータに作動油を供給する。操作装置１２６の操作量に応じて、ブームシリンダ１１４、アームシリンダ１１５、バケットシリンダ１１６、および図示しない旋回モータに作動油が供給され、作業機１１０および旋回体１２０が駆動する。
【００２０】
制御装置１２７は、作業機位置検出器１２２、位置方位演算器１２３、傾斜検出器１２４およびステレオカメラ１２５から情報を取得し、バケット１１３とダンプトラック２００のベッセルとの位置関係を示すガイダンス情報を生成する。
【００２１】
表示装置１２８は、制御装置１２７が生成したガイダンス情報を表示する。
なお、実施形態によっては、油圧ショベル１００は、作業機位置検出器１２２、位置方位演算器１２３、傾斜検出器１２４、ステレオカメラ１２５、および表示装置１２８を備えないものであってもよい。
【００２２】
《ステレオカメラの構成》
第１の実施形態においては、ステレオカメラ１２５は、右側カメラ１２５１および左側カメラ１２５２を備える。各カメラの例としては、例えばＣＣＤ（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）の学習済みモデルによって実現される。類似度特定モデルＭ２のＤＮＮ構成としては、例えば、Siamese Networkモデルを利用することができる。図６は、Siamese Networkモデルの構成の例を示す図である。類似度特定モデルＭ２は、入力画像から特徴量を算出する２つのニューラルネットワーク１４０と、距離演算部１５０とを備えるSiamese Networkモデルである。類似度特定モデルＭ２の各ニューラルネットワーク１４０の入力層１４１には、それぞれ部分画像が入力される。各ニューラルネットワーク１４０の出力層１４３からは、部分画像の特徴量を示す出力値が出力される。距離演算部１５０は、各ニューラルネットワーク１４０が出力した特徴量の距離を演算する。部分画像の特徴量の距離は、部分画像の類似度と等価である。距離は、例えばユークリッド距離、コサイン類似度などによって表されてよい。類似度特定モデルＭ２は、２つの部分画像と、当該部分画像の類似度との組み合わせを教師データとして訓練される。すなわち、類似度特定モデルＭ２は、２つの部分画像の類似度が高いほど、特徴量の値が近くなり、２つの部分画像の類似度が低いほど、特徴量の値が遠くなるように、ニューラルネットワーク１４０のパラメータを変更することで、訓練がなされる。学習によって得られた類似度特定モデルＭ２の学習済みパラメータは、ストレージ９３に記憶されている。
なお、類似度特定モデルＭ２の訓練には、必ずしもベッセル２１０が写る画像を用いなくてもよい。類似度特定モデルＭ２は、対応位置特定モデルの一例である。また、他の実施形態においては、対応点特定部１７０３は、ＯＲＢ(Oriented FAST and Rotated BRIEF)およびＳＩＦＴ(Scale Invariant Feature Transform)等の画像特徴量、またはＳＡＤ(Sum of Absolute Difference)、ＳＳＤ(Sum of Squared Difference)、およびＮＣＣ（Normalized Cross Correlation）等のテンプレートマッチング手法を用いて、左目画像に写るベッセル２１０の複数の特徴点の位置を特定してもよい。
【００３５】
ベッセル位置特定部１７０４は、特徴点特定部１７０２が特定した右目画像上の特徴点と、対応点特定部１７０３が特定した左目画像上の特徴点と、ストレージ９３に記憶されたカメラパラメータと、旋回体１２０の姿勢情報とを用いて、ベッセル２１０の現場座標系における位置を特定する。具体的には、ベッセル位置特定部１７０４は、以下の方法でベッセル２１０のベッセル２１０の現場座標系における位置を特定する。まず、ベッセル位置特定部１７０４は、特徴点特定部１７０２が特定した右目画像上の特徴点と、対応点特定部１７０３が特定した左目画像上の特徴点と、ストレージ９３に記憶されたカメラパラメータに基づく三角測量により、車体座標系における各特徴点の位置を特定する。次に、ベッセル位置特定部１７０４は、旋回体１２０の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する。このとき、ベッセル位置特定部１７０４は、ベッセル２１０の少なくとも３つの特徴点を特定することで、ベッセル２１０の位置を特定することができる。例えば、ベッセル位置特定部１７０４は、当該少なくとも３つの特徴点に、ダンプトラック２００の三次元モデルの特徴点を合わせるように、現場座標系で表される仮想空間に三次元モデルを配置することで、ベッセル２１０の現場座標系における位置を特定することができる。
なお、他の実施形態に係るベッセル位置特定部１７０４は、車体座標系またはカメラ座標系における特徴点の位置を特定してもよい。ベッセル位置特定部１７０４は、位置特定部の一例である。
【００３６】
作業機位置特定部１７０５は、データ取得部１７０１が取得した作業機１１０の姿勢角と旋回体１２０の姿勢情報とに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する。
【００３７】
ガイダンス情報生成部１７０６は、ベッセル位置特定部１７０４が特定したベッセル２１０の位置と、作業機位置特定部１７０５が特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、データ取得部１７０１が取得した旋回体１２０の姿勢情報とに基づいて、ベッセル２１０とバケット１１３の位置関係を示すガイダンス情報を生成する。
図７は、ガイダンス情報の一例である。ガイダンス情報生成部１７０６は、例えば図７に示すように、作業機位置特定部１７０５が特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、旋回体１２０の姿勢情報とに基づいて、仮想空間上に油圧ショベル１００の三次元モデルを配置する。またガイダンス情報生成部１７０６は、ダンプトラック２００の三次元モデルの特徴点に相当する部分を、ベッセル位置特定部１７０４が特定したベッセル２１０の少なくとも３つの特徴点の位置に合わせるように、三次元モデルを配置する。ガイダンス情報生成部１７０６は、仮想空間上に配置された油圧ショベル１００およびダンプトラック２００を任意の視点からレンダリングすることで、油圧ショベル１００のバケット１１３とダンプトラック２００のベッセル２１０との位置関係を表すガイダンス情報を生成する。ガイダンス情報生成部１７０６は、少なくとも３つの特徴点を用いて三次元モデルを配置することで、撮像画像において一部の特徴点が写っていなくても、三次元モデルを適切に配置することができる。またガイダンス情報生成部１７０６は、検出された他の特徴点に基づいて、三次元モデルの配置の良否を判定することで、ノイズによって誤った点を特徴点として抽出した場合にも、当該ノイズを除去することができる。なお、他の実施形態においては、２つの特徴点に基づいて三次元モデルを配置してもよい。また、他の実施形態に係るガイダンス情報は、バケット１１３とベッセル２１０との位置関係をグラフィカルに描くものでなくてもよい。例えば、他の実施形態に係るガイダンス情報は、上方からの平面視においてバケット１１３がベッセル２１０の外枠内に位置するか否かを示す情報であってもよい。また、他の実施形態に係るガイダンス情報は、バケット１１３の目標の掘削位置の表示、またはバケット１１３の掘削位置に対するガイダンス情報（例えば、現状のバケット１１３の位置と目標の掘削位置との差分を示す情報、または表示）であってもよい。また、目標の掘削位置までどれくらいの操作が必要であるかを示す情報、または表示であってもよい。また、少なくともベッセル２１０とバケット１１３のみを表示するものであってもよい。
【００３８】
表示制御部１７０７は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する。
学習部１８０１は、特徴点特定モデルＭ１および類似度特定モデルＭ２の学習処理を行う。なお、学習部１８０１は、制御装置１２７と別個の装置に設けられてもよい。この場合、別個の装置において学習された学習済みモデルが、ストレージ９３に記録されることとなる。
【００３９】
《表示方法》
図８は、第１の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して作業機位置検出器１２２から作業機１１０の姿勢角を取得し、位置方位演算器１２３から、旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ１）。次に、特徴点特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶された特徴点特定モデルＭ１に入力することで、右目画像に写るベッセル２１０の複数の特徴点の位置を特定する（ステップＳ２）。
【００４０】
次に、対応点特定部１７０３は、データ取得部１７０１が取得したステレオ画像の左目画像を複数の部分左目画像に分割する（ステップＳ３）。次に、対応点特定部１７０３は、右目画像から、ステップＳ２で特定した各特徴点を含む複数の部分右目画像を抽出する（ステップＳ４）。次に、対応点特定部１７０３は、ストレージ９３に記憶された類似度特定モデルＭ２に、複数の部分左目画像と複数の部分右目画像とをそれぞれ１つずつ入力し、当該部分左目画像と当該部分右目画像との類似度を演算する（ステップＳ５）。すなわち、部分左目画像の数がＮ、部分右目画像の数がＭである場合、Ｎ×Ｍ個の組み合わせについて、類似度の演算を実行する。対応点特定部１７０３は、各部分右目画像について、複数の部分左目画像の中から最も類似度が高い部分左目画像を抽出する（ステップＳ６）。対応点特定部１７０３は、左目画像のうち抽出された部分左目画像が存在する位置を、左目画像に写るベッセル２１０の特徴点の位置と特定する（ステップＳ７）。
【００４１】
ベッセル位置特定部１７０４は、ステップＳ２で特定した右目画像上の特徴点と、ステップＳ７で特定した左目画像上の特徴点と、ストレージ９３に記憶されたカメラパラメータとに基づく三角測量により、車体座標系における各特徴点の位置を特定する（ステップＳ８）。次に、ベッセル位置特定部１７０４は、旋回体１２０の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する（ステップＳ９）。
【００４２】
作業機位置特定部１７０５は、データ取得部１７０１が取得した作業機１１０の姿勢角と旋回体１２０の姿勢情報とに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する（ステップＳ１０）。
【００４３】
ガイダンス情報生成部１７０６は、ステップＳ９で特定した特徴点の位置と、ステップＳ１０で特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、ステップＳ１で取得した旋回体１２０の姿勢情報とに基づいて、図５に示すガイダンス情報を生成する（ステップＳ１１）。表示制御部１７０７は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ１２）。
《学習方法》
【００４４】
図９は、第１の実施形態に係る特徴点特定モデルＭ１の学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１０１）。例えば、特徴点特定モデルＭ１における学習データは、ベッセル２１０が写る画像である。学習データは、ステレオカメラ１２５が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。なお、ダンプトラックとは異なる作業機械、例えばホイールローダのベッセルが写る画像を学習データとしてもよい。様々な種類の作業機械のベッセルを学習データとすることで、ベッセル認識のロバスト性を向上することができる。
【００４５】
次に、学習部１８０１は、特徴点特定モデルＭ１の学習を行う。学習部１８０１は、ステップＳ１０１で取得した学習データと、ベッセルの特徴点の位置をプロットした画像である教師データとの組み合わせを学習用データセットとして、特徴点特定モデルＭ１の学習を行う（ステップＳ１０２）。例えば、学習部１８０１は、学習データを入力として用いて、ニューラルネットワーク１４０の順伝播方向の演算処理を行う。これにより、学習部１８０１は、ニューラルネットワーク１４０の出力層１４３から出力される出力値を得る。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。次に、学習部１８０１は、出力層１４３からの出力値と、教師データとの誤差を算出する。出力層１４３からの出力値は、各画素について特徴点である確率を表す値であり、教師データは、特徴点の位置をプロットした情報である。学習部１８０１は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習部１８０１は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【００４６】
学習部１８０１は、特徴点特定モデルＭ１からの出力値が、教師データと一致するか否かを判定する（ステップＳ１０３）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。特徴点特定モデルＭ１からの出力値が、教師データと一致しない場合（ステップＳ１０３：ＮＯ）、特徴点特定モデルＭ１からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、特徴点特定モデルＭ１のパラメータが最適化され、特徴点特定モデルＭ１を学習させることができる。
特徴点特定モデルＭ１からの出力値が、教師データと一致する場合（ステップＳ１０３：ＹＥＳ）、学習部１８０１は、学習によって最適化されたパラメータを含む学習済みモデルである特徴点特定モデルＭ１を、ストレージ９３に記録する（ステップＳ１０４）。
【００４７】
図１０は、第１の実施形態に係る類似度特定モデルＭ２の学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１１１）。例えば、類似度特定モデルＭ２における学習データは、対応点特定部が切り出すサイズの２つの画像パッチである。学習データは、ステレオカメラ１２５が撮像する画像から生成してもよい。また、任意の画像から生成してもよい。なお、ダンプトラックとは異なる作業機械、例えばホイールローダのベッセルが写る画像を学習データとしてもよい。
【００４８】
次に、学習部１８０１は、類似度特定モデルＭ２の学習を行う。学習部１８０１は、ステップＳ１１１で取得した学習データと、学習データに係る画像パッチどうしの類似度である教師データとの組み合わせを学習用データセットとして、類似度特定モデルＭ２の学習を行う（ステップＳ１１２）。例えば、学習部１８０１は、学習データに係る２つの画像をそれぞれ入力として用いて、ニューラルネットワーク１４０の順伝播方向の演算処理を行う。ニューラルネットワーク１４０は、２つの画像の特徴量を演算する。そして、距離演算部１５０は、２つの特徴量の距離を演算する。距離演算部１５０が演算する距離は、２つの画像の類似度と等価である。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。次に、学習部１８０１は、距離演算部１５０から出力される距離と、教師データである類似度との誤差を算出する。学習部１８０１は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習部１８０１は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【００４９】
学習部１８０１は、類似度特定モデルＭ２からの出力値が、教師データと一致するか否かを判定する（ステップＳ１１３）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。類似度特定モデルＭ２からの出力値が、教師データと一致しない場合（ステップＳ１１３：ＮＯ）、類似度特定モデルＭ２からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、類似度特定モデルＭ２のパラメータが最適化され、類似度特定モデルＭ２を学習させることができる。
類似度特定モデルＭ２からの出力値が、教師データと一致する場合（ステップＳ１１３：ＹＥＳ）、学習部１８０１は、学習によって最適化されたパラメータを含む学習済みモデルである類似度特定モデルＭ２を、ストレージ９３に記録する（ステップＳ１１４）。
【００５０】
《作用・効果》
このように、第１の実施形態によれば、制御装置１２７は、運搬物の投下対象が写る撮像画像を学習済みモデルである位置特定モデルに入力することで、撮像画像に写る投下対象の特徴点の現場における位置を特定する。このように、第１の実施形態に係る制御装置１２７は、投下対象の位置を、画像に含まれるエッジによらずに特定することができる。これにより、第１の実施形態に係る制御装置１２７は、撮像画像に轍などの直線部分が写っていたとしても、運搬物の投下対象の位置を、ロバストに特定することができる。また、ステレオカメラを用いて投下対象の位置を特定する場合、投下対象の三次元位置を特定することができる。なお、実施形態によっては、図８に示す制御装置１２７による処理のうち、ステップＳ２〜ステップＳ７、ステップＳ９〜Ｓ１２の処理が実施されなくてもよい。
また、第１の実施形態に係る制御装置１２７は、ガイダンス情報を表示する。これにより、作業機械と運搬物の投下対象との相対位置によっては、オペレータは、投下対象を視認しづらい場合であっても、投下対象を認識することができる。また、ガイダンス情報として表示される投下対象を目安に作業機１１０を操作することによって、作業効率を高めることができる。
【００５１】
また、第１の実施形態に係る制御装置１２７は、撮像画像から、当該撮像画像上の特徴点の位置を特定し、ステレオカメラ１２５の姿勢に基づいて、撮像画像上の特徴点の位置から現場座標系における特徴点の位置を特定する。これにより、油圧ショベル１００の動作によりステレオカメラ１２５の姿勢が変わる場合にも、現場座標系における特徴点の位置を特定することができる。なお、他の実施形態においては、ステレオカメラ１２５が施工現場に固設されたものである場合、ステレオカメラ１２５の姿勢情報を得ることなく、撮像画像から現場座標系における特徴点の位置を特定してもよい。
【００５２】
また、第１の実施形態に係る制御装置１２７は、右目画像から特徴点を抽出する特徴点特定モデルＭ１と、部分右目画像と部分左目画像の類似度を特定する類似度特定モデルＭ２とを用いて右目画像における特徴点および左目画像における特徴点を特定する。右目画像の特徴点を抽出するモデルと、左目画像の特徴点を抽出するモデルとを分けることで、適切に特徴点の位置が取得できなかった場合の原因を明確にすることができる。また、類似度特定モデルＭ２の入力画像は、特徴点特定モデルＭ１の入力画像と比較して小さく、計算量が小さいため、右目画像および左目画像の両方を特徴点特定モデルＭ１に基づいてする場合と比較して、速く計算を終えることができる。なお、第１の実施形態に係る制御装置１２７は、特徴点特定モデルＭ１を用いて右目画像から特徴点を抽出し、類似度特定モデルＭ２を用いて左目画像における特徴点を特定するが、これに限られない。例えば、他の実施形態においては、制御装置１２７は、特徴点特定モデルＭ１を用いて左目画像から特徴点を抽出し、類似度特定モデルＭ２を用いて右目画像における特徴点を特定してもよい。
【００５３】
〈第２の実施形態〉
以下、図面を参照しながら第２の実施形態について説明する。第１の実施形態に係る制御装置１２７は、特徴点特定モデルＭ１と類似度特定モデルＭ２を用いて、それぞれ右目画像上の特徴点の位置および左目画像上の特徴点の位置を特定する。これに対し、第２の実施形態に係る制御装置１２７は、１つの学習済みモデルを用いて、右目画像上の特徴点の位置および左目画像上の特徴点の位置を特定する。
【００５４】
《制御装置の構成》
図１１は、第２の実施形態に係る制御装置の構成を示す概略ブロック図である。
第２の実施形態に係るプロセッサ９１は、第１の実施形態に係る特徴点特定部１７０２および対応点特定部１７０３に代えて、ステレオ特徴点特定部１７０８を備える。また、ストレージ９３には、第１の実施形態に係る特徴点特定モデルＭ１および類似度特定モデルＭ２に代えて、ステレオ特徴点特定モデルＭ３が記憶される。
【００５５】
ステレオ特徴点特定部１７０８は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶されたステレオ特徴点特定モデルＭ３に入力することで、右目画像および左目画像に写るベッセル２１０の複数の特徴点の位置をそれぞれ特定する。ステレオ特徴点特定部１７０８は、ステレオ位置特定部の一例である。
ステレオ特徴点特定モデルＭ３は、例えば、ＤＮＮ（Deep Neural Network）の学習済みモデルによって実現される。つまり、ステレオ特徴点特定モデルＭ３は、図５に示すニューラルネットワーク１４０を備える。ステレオ特徴点特定モデルＭ３は、ダンプトラック２００のベッセル２１０が写るステレオ画像が入力された場合に、当該ステレオ画像の右目画像および左目画像におけるベッセル２１０の特徴点の位置をそれぞれ出力するように訓練された学習済みモデルである。ステレオ特徴点特定モデルＭ３は、例えば、ステレオマッチングモデルの転移学習により生成することができる。ステレオマッチングモデルとは、ステレオマッチング用に訓練された学習済みモデルであって、例えば、ステレオ画像が入力された場合に、深度を示す深度画像を出力するモデルである。ステレオマッチングモデルは、必ずしもダンプトラックが写るステレオによって学習されたものでなくてよい。具体的には、ステレオ特徴点特定モデルＭ３は、ステレオマッチングモデルの出力層を、当該ステレオ画像の右目画像および左目画像におけるベッセル２１０の特徴点の位置を出力するように置換したモデルに対し、入力層および入力層側の一部の中間層の値を固定し、ダンプトラック２００のベッセル２１０が写るステレオ画像と、右目画像および左目画像における複数の特徴点の位置との組み合わせを教師データとして用いて訓練される。ステレオ特徴点特定モデルＭ３は、位置特定モデルの一例である。
【００５６】
《表示方法》
図１２は、第２の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して作業機位置検出器１２２から作業機１１０の姿勢角を取得し、位置方位演算器１２３から、旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ２１）。次に、ステレオ特徴点特定部１７０８は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶されたステレオ特徴点特定モデルＭ３に入力することで、右目画像および左目画像に写るベッセル２１０の複数の特徴点の位置を特定する（ステップＳ２２）。
【００５７】
ベッセル位置特定部１７０４は、ステップＳ２２で特定した右目画像および左目画像の特徴点と、ストレージ９３に記憶されたカメラパラメータとに基づく三角測量により、車体座標系における各特徴点の位置を特定する（ステップＳ２３）。次に、ベッセル位置特定部１７０４は、旋回体１２０の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する（ステップＳ２４）。
【００５８】
作業機位置特定部１７０５は、ステップＳ２１で取得した作業機１１０の姿勢角と旋回体１２０の姿勢情報とに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する（ステップＳ２５）。
【００５９】
ガイダンス情報生成部１７０６は、ステップＳ２３で特定した特徴点の位置と、ステップＳ２５で特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、ステップＳ２１で取得した旋回体１２０の姿勢情報とに基づいて、ガイダンス情報を生成する（ステップＳ２６）。表示制御部１７０７は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ２７）。
《学習方法》
【００６０】
図１３は、第２の実施形態に係るステレオ特徴点特定モデルＭ３の学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１２１）。例えば、学習データは、ベッセル２１０が写るステレオ画像である。また、他の作業機械が撮像したステレオ画像から取得してもよい。
【００６１】
次に、学習部１８０１は、ステレオ特徴点特定モデルＭ３の学習を行う。なお、ステレオ特徴点特定モデルＭ３のパラメータの初期値として、入力層１４１および一部の中間層１４２のパラメータは、既存の学習済みステレオマッチングモデルのパラメータを流用してよい。学習部１８０１は、学習データであるベッセル２１０が写るステレオ画像と、教師データである右目画像のベッセルの特徴点の位置をプロットした画像と左目画像のベッセルの特徴点の位置をプロットした画像との組み合わせを学習用データセットとして、学習モデルの学習を行う（ステップＳ１２２）。すなわち、教師データは、ベッセルの特徴点の位置をプロットしたステレオ画像である。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。
【００６２】
学習部１８０１は、ステレオ特徴点特定モデルＭ３からの出力値が、教師データと一致するか否かを判定する（ステップＳ１２３）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。ステレオ特徴点特定モデルＭ３からの出力値が、教師データと一致しない場合（ステップＳ１２３：ＮＯ）、ステレオ特徴点特定モデルＭ３からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、学習モデルのパラメータが最適化され、学習を学習させることができる。
ステレオ特徴点特定モデルＭ３からの出力値が、教師データと一致する場合（ステップＳ１２３：ＹＥＳ）、制御装置１２７は、学習によって最適化されたパラメータを学習済みパラメータとする学習済みモデルであるステレオ特徴点特定モデルＭ３をストレージ９３に保存する（ステップＳ１２４）。
【００６３】
《作用・効果》
このように、第２の実施形態によれば、制御装置１２７は、ステレオ画像から特徴点を抽出するステレオ特徴点特定モデルＭ３を用いて右目画像における特徴点および左目画像における特徴点を特定する。ステレオ特徴点特定モデルＭ３は、ステレオマッチングモデルの強化学習により得ることができるため、少ない学習コストで、ステレオ特徴点特定モデルＭ３を生成することができる。
【００６４】
〈第３の実施形態〉
以下、図面を参照しながら第３の実施形態について説明する。第１の実施形態および第２の実施形態に係る制御装置１２７は、学習済みモデルを用いて、画像上の特徴点の位置を特定し、これに基づく三角測量により、特徴点の三次元位置を特定する。これに対し、第３の実施形態に係る制御装置１２７は、学習済みモデルを用いて、特徴点の三次元位置を特定する。
【００６５】
《制御装置の構成》
図１４は、第３の実施形態に係る制御装置の構成を示す概略ブロック図である。
第３の実施形態に係るプロセッサ９１は、第１の実施形態に係る特徴点特定部１７０２および対応点特定部１７０３に代えて、三次元特徴点特定部１７０９を備える。また、ストレージ９３には、第１の実施形態に係る特徴点特定モデルＭ１および類似度特定モデルＭ２に代えて、三次元特徴点特定モデルＭ４が記憶される。また第３の実施形態に係るストレージ９３は、カメラパラメータを記憶しなくてもよい。
【００６６】
三次元特徴点特定部１７０９は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶された三次元特徴点特定モデルＭ４に入力することで、ベッセル２１０の複数の特徴点の車体座標系における位置をそれぞれ特定する。
三次元特徴点特定モデルＭ４は、例えば、ＤＮＮの学習済みモデルによって実現される。三次元特徴点特定モデルＭ４は、ダンプトラック２００のベッセル２１０が写るステレオ画像が入力された場合に、特徴点の車体座標系における位置を出力するように訓練された学習済みモデルである。例えば、ステレオ特徴点特定モデルＭ３は、ダンプトラック２００のベッセル２１０が写るステレオ画像と、車体座標系における複数の特徴点の位置との組み合わせを教師データとして用いて訓練される。
【００６７】
《表示方法》
図１５は、第３の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して作業機位置検出器１２２から作業機１１０の姿勢角を取得し、位置方位演算器１２３から、旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ４１）。次に、三次元特徴点特定部１７０９は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶された三次元特徴点特定モデルＭ４に入力することで、車体座標系におけるベッセル２１０の複数の特徴点の位置を特定する（ステップＳ４２）。ベッセル位置特定部１７０４は、ステップＳ４１で取得した旋回体１２０の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する（ステップＳ４３）。
【００６８】
作業機位置特定部１７０５は、ステップＳ４１で取得した作業機１１０の姿勢角と旋回体１２０の姿勢情報とに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する（ステップＳ４４）。
【００６９】
ガイダンス情報生成部１７０６は、ステップＳ４３で特定した特徴点の位置と、ステップＳ４４で特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、ステップＳ４１で取得した旋回体１２０の姿勢情報とに基づいて、ガイダンス情報を生成する（ステップＳ４５）。表示制御部１７０７は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ４６）。
【００７０】
《学習方法》
図１６は、第３の実施形態に係る三次元特徴点特定モデルＭ４の学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１４１）。例えば、学習データは、ベッセル２１０が写るステレオ画像である。学習データは、ステレオカメラ１２５が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。
【００７１】
次に、学習部１８０１は、三次元特徴点特定モデルＭ４の学習を行う。学習部１８０１は、学習データであるベッセル２１０が写るステレオ画像と、教師データである車体座標系における複数の特徴点の位置との組み合わせを学習用データセットとして、三次元特徴点特定モデルＭ４の学習を行う（ステップＳ１４２）。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。
【００７２】
学習部１８０１は、三次元特徴点特定モデルＭ４からの出力値が、教師データと一致するか否かを判定する（ステップＳ１４３）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。三次元特徴点特定モデルＭ４からの出力値が、教師データと一致しない場合（ステップＳ１４３：ＮＯ）、出力値が教師データと一致するまで、上記の処理を繰り返す。それにより、三次元特徴点特定モデルＭ４のパラメータが最適化され、三次元特徴点特定モデルＭ４を学習させることができる。
三次元特徴点特定モデルＭ４からの出力値が、教師データと一致する場合（ステップＳ１４３：ＹＥＳ）、学習部１８０１は、学習によって最適化されたパラメータを学習済みパラメータとする学習済みモデルである三次元特徴点特定モデルＭ４をストレージ９３に保存する（ステップＳ１４４）。
《作用・効果》
このように、第３の実施形態によれば、制御装置１２７は、ステレオ画像から特徴点の三次元位置を抽出する三次元特徴点特定モデルＭ４を用いて車体座標系における特徴点の位置を特定する。これにより、制御装置１２７は、少ない構成でダンプトラック２００の位置を特定することができる。
【００７３】
〈第４の実施形態〉
以下、図面を参照しながら第４の実施形態について説明する。第１の実施形態に係る制御装置１２７は、特徴点特定モデルＭ１と類似度特定モデルＭ２を用いて、それぞれ右目画像上の特徴点の位置および左目画像上の特徴点の位置を特定する。これに対し、第４の実施形態に係る制御装置１２７は、特徴点特定モデルＭ１と、ステレオ画像から深度画像を生成するステレオマッチングモデルＭ５とを用いて、特徴点の三次元位置を特定する。
【００７４】
《制御装置の構成》
図１７は、第４の実施形態に係る制御装置の構成を示す概略ブロック図である。
第４の実施形態に係るプロセッサ９１は、第１の実施形態に係る対応点特定部１７０３に代えて、深度画像生成部１７１０を備える。また、ストレージ９３には、第１の実施形態に係る類似度特定モデルＭ２に代えて、ステレオマッチングモデルＭ５が記憶される。また第３の実施形態に係るストレージ９３は、カメラパラメータを記憶しなくてもよい。
【００７５】
深度画像生成部１７１０は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶されたステレオマッチングモデルＭ５に入力することで、右目画像の各画素についての深度情報を含む深度画像を出力する。ステレオマッチングモデルＭ５は、例えば、ＤＮＮの学習済みモデルによって実現される。ステレオマッチングモデルＭ５は、ステレオマッチング用に訓練された学習済みモデルであって、例えば、ステレオ画像が入力された場合に、深度を示す深度画像を出力するモデルである。ステレオマッチングモデルは、必ずしもダンプトラックが写るステレオによって訓練されたものでなくてよい。
【００７６】
《表示方法》
図１８は、第４の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して作業機位置検出器１２２から作業機１１０の姿勢角を取得し、位置方位演算器１２３から、旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ６１）。次に、特徴点特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶された特徴点特定モデルＭ１に入力することで、右目画像に写るベッセル２１０の複数の特徴点の位置を特定する（ステップＳ６２）。
【００７７】
次に、深度画像生成部１７１０は、データ取得部１７０１が取得したステレオ画像をステレオマッチングモデルＭ５に入力することで、深度画像を生成する（ステップＳ６３）。ベッセル位置特定部１７０４は、ステップＳ６２で特定した右目画像上の特徴点に対応する深度を、ステップＳ６３で生成した深度画像から読み取ることで、車体座標系における各特徴点の位置を特定する（ステップＳ６４）。次に、ベッセル位置特定部１７０４は、旋回体１２０の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する（ステップＳ６５）。
【００７８】
作業機位置特定部１７０５は、データ取得部１７０１が取得した作業機１１０の姿勢角と旋回体１２０の姿勢情報とに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する（ステップＳ６６）。
【００７９】
ガイダンス情報生成部１７０６は、ステップＳ６５で特定した特徴点の位置と、ステップＳ６６で特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、ステップＳ６１で取得した旋回体１２０の姿勢情報とに基づいて、ガイダンス情報を生成する（ステップＳ６７）。表示制御部１７０７は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ６８）。
【００８０】
《学習方法》
図１９は、第４の実施形態に係るステレオマッチングモデルＭ５の学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１６１）。例えば、学習データは、ステレオ画像である。学習データは、ステレオカメラ１２５が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。なお、学習データは、必ずしもベッセル２１０が写る画像でなくてよい。
【００８１】
次に、学習部１８０１は、ステレオマッチングモデルＭ５の学習を行う。学習部１８０１は、学習データであるステレオ画像と、教師データである右目画像の各画素についての深度を表す深度画像との組み合わせを学習用データセットとして、ステレオマッチングモデルＭ５の学習を行う（ステップＳ１６２）。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。
【００８２】
学習部１８０１は、ステレオマッチングモデルＭ５からの出力値が教師データと一致するか否かを判定する（ステップＳ１６３）。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。ステレオマッチングモデルＭ５からの出力値が教師データと一致しない場合（ステップＳ１６３：ＮＯ）、出力値が教師データと一致するまで、上記の処理を繰り返す。それにより、ステレオマッチングモデルＭ５のパラメータが最適化され、ステレオマッチングモデルＭ５を学習させることができる。
他方、ステレオマッチングモデルＭ５からの出力値が教師データと一致する場合（ステップＳ１６３：ＹＥＳ）、制御装置１２７は、学習によって最適化されたパラメータを学習済みパラメータとする学習済みモデルであるステレオマッチングモデルＭ５をしてストレージ９３に保存する（ステップＳ１６４）。
【００８３】
《作用・効果》
このように、第４の実施形態によれば、制御装置１２７は、ステレオ画像から深度画像を生成するステレオマッチングモデルＭ５を用いて車体座標系における特徴点の位置を特定する。これにより、制御装置１２７は、既知のステレオマッチングモデルＭ５を利用してダンプトラック２００の位置を特定することができる。
なお、第４の実施形態に係る制御装置１２７は、特徴点特定モデルＭ１を用いて右目画像から特徴点を抽出するが、これに限られない。例えば、他の実施形態においては、制御装置１２７は、特徴点特定モデルＭ１を用いて左目画像から特徴点を抽出してもよい。
【００８４】
〈第５の実施形態〉
以下、図面を参照しながら第５の実施形態について説明する。第１から第４の実施形態に係る制御装置１２７は、特定したベッセル２１０の特徴点の位置に基づいてガイダンス情報を生成し、これをオペレータに提示する。これに対し、第５の実施形態に係る制御装置１２７は、特定したベッセル２１０の特徴点の位置に基づいて作業機の積込作業を制御する。
【００８５】
《制御装置の構成》
図２０は、第５の実施形態に係る制御装置の構成を示す概略ブロック図である。
第５の実施形態に係るプロセッサ９１は、第１の実施形態に係るガイダンス情報生成部１７０６および表示制御部１７０７に代えて、作業機械制御部１７１１を備える。
【００８６】
作業機械制御部１７１１は、オペレータによって、操作装置１２６に設けられた自動積込ボタンの押下がなされた場合に、ベッセル位置特定部１７０４が特定したベッセル２１０の特徴点の位置に基づいて、旋回体１２０および作業機１１０の挙動を制御する。
【００８７】
《表示方法》
図２１は、第５の実施形態に係る油圧ショベルの制御方法を示すフローチャートである。
自動積込ボタンが押下されると、制御装置１２７は、第１の実施形態のステップＳ１からステップＳ１０までと同様の処理により、ベッセル２１０の特徴点および作業機１１０の現場座標系における位置を特定する。そして、作業機械制御部１７１１は、ベッセル２１０の特徴点および作業機１１０の現場座標系における位置に基づいて、旋回体１２０および作業機１１０の制御信号を生成し、出力する（ステップＳ８１）。
【００８８】
例えば、作業機械制御部１７１１は、バケット１１３の高さが特徴点の高さより低い場合、ブーム１１１を上げる制御信号を生成する。作業機械制御部１７１１は、バケット１１３の高さが特徴点の高さ以上になった場合、ブーム１１１を上げる制御信号の出力を停止し、旋回体１２０を旋回させる制御信号の出力を開始する。作業機械制御部１７１１は、バケット１１３の高さが特徴点の高さ以上であり、かつバケット１１３の上方から平面視したときの位置が、特徴点の位置から特定されるベッセル２１０の範囲内に位置する場合、旋回体１２０を旋回させる制御信号の出力を停止し、バケット１１３をダンプさせる制御信号を生成する。
【００８９】
《作用・効果》
このように、第５の実施形態によれば、制御装置１２７は、撮像画像に基づいて油圧ショベル１００を自動制御することができる。制御装置１２７は、学習済みモデルを用いてベッセル２１０の位置を特定するため、撮像画像に轍などの直線部分が写っていたとしても、運搬物の投下対象の位置を、ロバストに特定することができる。
【００９０】
なお、第５の実施形態に係る制御装置１２７は、第１の実施形態と同様の学習済みモデルを用いてベッセル２１０の位置を特定するが、これに限られず、第２から第４の実施形態に係る学習済みモデルを用いてベッセル２１０の位置を特定してもよい。
また、第５の実施形態に係る制御装置１２７は、特徴点特定モデルＭ１を用いて右目画像から特徴点を抽出し、類似度特定モデルＭ２を用いて左目画像における特徴点を特定するが、これに限られない。例えば、他の実施形態においては、制御装置１２７は、特徴点特定モデルＭ１を用いて左目画像から特徴点を抽出し、類似度特定モデルＭ２を用いて右目画像における特徴点を特定してもよい。
【００９１】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述の実施形態に係る制御装置１２７は、油圧ショベル１００に搭載されるが、これに限られない。例えば、他の実施形態に係る制御装置１２７は、遠隔のサーバ装置に設けられてもよい。また、制御装置１２７は、複数のコンピュータから実現されるものであってもよい。この場合、制御装置１２７の一部の構成が遠隔のサーバ装置に設けられるものであってもよい。すなわち、制御装置１２７は、複数の装置からなる画像処理システムとして実装されてもよい。また、油圧ショベル１００は、完全自律型、一部自律型の油圧ショベルであってもよい。また、ガイダンス情報を表示する表示信号を作業機械を遠隔操作するための遠隔運転室に送信するものであってもよい。
【００９２】
また、上述の実施形態に係る投下対象は、ダンプトラック２００のベッセル２１０だが、これに限られない。例えば、他の実施形態に係る投下対象は、ホッパなどの他の投下対象であってもよい。
【００９３】
また、上述の実施形態に係る撮像画像はステレオ画像であるが、これに限られない。例えば、他の実施形態においては、ステレオ画像に代えて１枚の画像に基づいて計算を行ってもよい。この場合、制御装置１２７は、例えば１枚の画像から深度情報を生成する学習済みモデルを用いることで、現場座標系における特徴点の位置を特定することができる。
【００９４】
また、上述の実施形態に係る学習済みモデルは、それぞれストレージ９３に記憶されているが、これに限られない。例えば、他の実施形態に係る学習済みモデルは、プログラムの形式でメインメモリ９２に展開されて、プロセッサ９１が推論を行うものであってもよい。
【符号の説明】
【００９５】
９１…プロセッサ  ９２…メインメモリ  ９３…ストレージ  ９４…インタフェース  １００…油圧ショベル  １１０…作業機  １１１…ブーム  １１２…アーム  １１３…バケット  １１４…ブームシリンダ  １１５…アームシリンダ  １１６…バケットシリンダ  １２０…旋回体  １２１…運転室  １２２…作業機位置検出器  １２３…位置方位演算器  １２３１…第１受信器  １２３２…第２受信器  １２４…傾斜検出器  １２５…ステレオカメラ  １２５１…右側カメラ  １２５２…左側カメラ  １２６…操作装置  １２７…制御装置  １７０１…データ取得部  １７０２…特徴点特定部  １７０４…ベッセル位置特定部  １７０５…作業機位置特定部  １７０６…ガイダンス情報生成部  １７０７…表示制御部  １７０３…対応点特定部  １７０８…ステレオ特徴点特定部  １７０９…三次元特徴点特定部  １７１０…深度画像生成部  １７１１…作業機械制御部  １２８…表示装置  １３０…走行体  ２００…ダンプトラック  ２１０…ベッセル  Ｐ１…ブームピン  Ｐ２…アームピン  Ｐ３…バケットピン  Ｌ…運搬物  ＣＰ…カメラパラメータ  Ｍ１…特徴点特定モデル  Ｍ２…類似度特定モデル  Ｍ３…ステレオ特徴点特定モデル  Ｍ４…三次元特徴点特定モデル  Ｍ５…ステレオマッチングモデル
【図１】
2020035380.tif 000003
【図２】
2020035380.tif 000004
【図３】
2020035380.tif 000005
【図４】
2020035380.tif 000006
【図５】
2020035380.tif 000007
【図６】
2020035380.tif 000008
【図７】
2020035380.tif 000009
【図８】
2020035380.tif 000010
【図９】
2020035380.tif 000011
【図１０】
2020035380.tif 000012
【図１１】
2020035380.tif 000013
【図１２】
2020035380.tif 000014
【図１３】
2020035380.tif 000015
【図１４】
2020035380.tif 000016
【図１５】
2020035380.tif 000017
【図１６】
2020035380.tif 000018
【図１７】
2020035380.tif 000019
【図１８】
2020035380.tif 000020
【図１９】
2020035380.tif 000021
【図２０】
2020035380.tif 000022
【図２１】
2020035380.tif 000023