(57)【要約】      （修正有）【課題】積込対象の位置を、積込対象の形状によらずに特定することができる画像処理システムを提供する。【解決手段】油圧ショベルに搭載される制御装置１２７において、データ取得部１７０１は、作業機械の運搬物の積み下ろし対象が写る撮像画像を取得する。領域特定部１７０２は、撮像画像から積み下ろし対象を含む領域を特定する。積み下ろし対象特定部１７０４は、積み下ろし対象を含む領域から、積み下ろし対象の少なくとも一つの所定の面を特定する。【選択図】図３
2020126363.tif 000002
【特許請求の範囲】
【請求項１】
作業機械のベッセルが写る撮像画像を取得するデータ取得部と、
前記撮像画像から前記ベッセルを含む領域を特定する領域特定部と、
前記領域特定部で特定された領域から前記ベッセルの少なくとも一つの所定の面を特定するベッセル面特定部と、
を備える画像処理システム。
【請求項２】
前記領域特定部は、入力画像を入力することで、複数の画素それぞれの値が当該画素に対応する前記入力画像の画素に写る物体の種類を表す値をとる出力画像を出力する学習済みモデルであるセグメンテーションモデルと、前記撮像画像とに基づいて、前記ベッセルを含む領域を特定する
請求項１に記載の画像処理システム。
【請求項３】
前記特定した面に基づいて前記ベッセルの位置を特定する姿勢特定部
を備える請求項１または請求項２に記載の画像処理システム。
【請求項４】
前記姿勢特定部は、前記特定した面に基づいて、さらに前記ベッセルの方位および姿勢を特定する
請求項３に記載の画像処理システム。
【請求項５】
前記撮像画像に基づいて、前記撮像画像の被写体の三次元形状を表す三次元データを生成する三次元データ生成部を備え、
前記姿勢特定部は、前記領域に係る三次元データにおける前記少なくとも一つの所定の面に基づいて前記ベッセルの位置を特定する
請求項３または請求項４に記載の画像処理システム。
【請求項６】
前記姿勢特定部は、前記領域に係る三次元データにおける前記少なくとも一つの所定の面と、前記ベッセルの形状を示す三次元モデルである対象モデルとに基づいて、前記ベッセルの位置を特定する
請求項５に記載の画像処理システム。
【請求項７】
前記データ取得部は、前記撮像画像を撮像する撮像装置の撮像姿勢を取得し、
前記姿勢特定部は、前記領域と前記撮像姿勢とに基づいて、前記ベッセルの現場における三次元位置を特定する
請求項３から請求項６のいずれか１項に記載の画像処理システム。
【請求項８】
前記三次元データ生成部は、前記撮像画像に基づいて、前記ベッセルに積み込まれた運搬物の三次元位置を表す運搬物三次元データを生成し、
前記ベッセルにおける前記運搬物三次元データと、前記ベッセルの少なくとも一部の三次元位置とに基づいて、前記ベッセルにおける運搬物の量の分布を示す分布情報を生成する分布特定部
を備える請求項５または請求項６に記載の画像処理システム。
【請求項９】
作業機械の運搬物のベッセルが写る撮像画像を取得するステップと、
前記撮像画像のうち前記ベッセルを含む領域を特定するステップと、
前記ベッセルを含む領域から前記ベッセルの少なくとも一つの所定の面を特定するステップと
を備える画像処理方法。
【請求項１０】
作業機械の運搬物のベッセルが写る撮像画像を入力することで、前記ベッセルを含む領域を出力するセグメンテーションモデルの学習済みモデルを生成する方法であって、
作業機械の運搬物のベッセルが写る撮像画像を取得するステップと、
前記ベッセルが写る撮像画像と、前記撮像画像に写るベッセルを含む領域を示す情報とを学習用データセットとして、前記セグメンテーションモデルを学習することで、学習済みモデルを生成するステップと
を備える学習済みモデルの生成方法。
【請求項１１】
コンピュータに用いられ、セグメンテーションモデルを学習させるための学習用データセットであって、
作業機械の運搬物のベッセルが写る撮像画像と、作業機械の運搬物のベッセルの領域を示す情報とを含み、
前記コンピュータによって、前記セグメンテーションモデルを学習させる処理に用いられる学習用データセット。
【請求項１２】
作業機械の運搬物の積み下ろし対象が写る撮像画像を取得するデータ取得部と、
前記撮像画像から前記積み下ろし対象を含む領域を特定する領域特定部と、
前記積み下ろし対象を含む領域から前記積み下ろし対象の少なくとも一つの所定の面を特定する積み下ろし対象特定部と、
を備える画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセットに関する。
【背景技術】
【０００２】
特許文献１には、油圧ショベルに備えられた撮像装置によって撮像された画像からエッジを抽出することで、ダンプトラックのベッセルの位置を特定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１９２５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、積込機械が存在する現場においては、道路が舗装されていないことがあり、地表に轍が生成される。轍とダンプトラックとが写る画像からエッジを抽出すると、ダンプトラックのエッジに加え、轍のエッジも生じる。そのため、特許文献１に記載の技術により撮像画像からダンプトラックのベッセル位置を特定する場合、轍の存在により、適切にベッセルの位置を特定することができない可能性がある。
本発明の目的は、撮像画像から運搬物の積み下ろし対象を、ロバストに特定することができる画像処理システム、画像処理方法、学習済みモデルの生成方法、および学習用データセットを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、画像処理システムは、作業機械の運搬物の積み下ろし対象が写る撮像画像を取得するデータ取得部と、前記撮像画像から前記積み下ろし対象を含む領域を特定する領域特定部と、前記積み下ろし対象を含む領域から前記積み下ろし対象の少なくとも一つの所定の面を特定する積み下ろし対象特定部と、を備える。
【発明の効果】
【０００６】
上記態様によれば、画像処理システムは、積み下ろし対象を、ロバストに特定することができる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る積込場の構成を示す図である。
【図２】一実施形態に係る油圧ショベルの外観図である。
【図３】第１の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図４】第１の実施形態に係る画像のセグメンテーションの例を示す図である。
【図５】ニューラルネットワークの構成の例を示す図である。
【図６】ガイダンス情報の一例である。
【図７】第１の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図８】第１の実施形態に係るセグメンテーションモデルの学習方法を示すフローチャートである。
【図９】第２の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図１０】第２の実施形態に係る油圧ショベルの制御方法を示すフローチャートである。
【図１１】第３の実施形態に係る制御装置の構成を示す概略ブロック図である。
【図１２】第３の実施形態に係るガイダンス情報の一例である。
【図１３】第３の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【図１４】第５の実施形態に係る画像のセグメンテーションの例を示す図である。
【図１５】第５の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【発明を実施するための形態】
【０００８】
〈第１の実施形態〉
以下、図面を参照しながら実施形態について詳しく説明する。
図１は、一実施形態に係る積込場の構成を示す図である。
積込場には、積込機械である油圧ショベル１００と運搬車両であるダンプトラック２００とが配備される。油圧ショベル１００は、施工現場から土砂等の運搬物Ｌをすくい、ダンプトラック２００に積み込む。ダンプトラック２００は、油圧ショベル１００によって積み込まれた運搬物Ｌを所定の排土場に運搬する。ダンプトラック２００は、運搬物Ｌを収容する容器であるベッセル２１０を備える。ベッセル２１０は、運搬物Ｌの積み下ろし対象の一例である。積込場は、現場の一例である。現場とは、積込機械による作業が行われる土地である。
【０００９】
《油圧ショベルの構成》
図２は、一実施形態に係る油圧ショベルの外観図である。
油圧ショベル１００は、油圧により作動する作業機１１０と、作業機１１０を支持する旋回体１２０と、旋回体１２０を支持する走行体１３０とを備える。
【００１０】
作業機１１０は、ブーム１１１と、アーム１１２と、バケット１１３と、ブームシリンダ１１４と、アームシリンダ１１５と、バケットシリンダ１１６とを備える。
【００１１】
ブーム１１１は、アーム１１２およびバケット１１３を支える支柱である。ブーム１１１の基端部は、旋回体１２０の前部にブームピンＰ１を介して取り付けられる。
アーム１１２は、ブーム１１１とバケット１１３とを連結する。アーム１１２の基端部は、ブーム１１１の先端部にアームピンＰ２を介して取り付けられる。
バケット１１３は、土砂などを掘削するための刃を有する容器である。バケット１１３の基端部は、アーム１１２の先端部にバケットピンＰ３を介して取り付けられる。
【００１２】
ブームシリンダ１１４は、ブーム１１１を作動させるための油圧シリンダである。ブームシリンダ１１４の基端部は、旋回体１２０に取り付けられる。ブームシリンダ１１４の先端部は、ブーム１１１に取り付けられる。
アームシリンダ１１５は、アーム１１２を駆動するための油圧シリンダである。アームシリンダ１１５の基端部は、ブーム１１１に取り付けられる。アームシリンダ１１５の先端部は、アーム１１２に取り付けられる。
バケットシリンダ１１６は、バケット１１３を駆動するための油圧シリンダである。バケットシリンダ１１６の基端部は、アーム１１２に取り付けられる。バケットシリンダ１１６の先端部は、バケット１１３に取り付けられる。
【００１３】
旋回体１２０には、オペレータが搭乗する運転室１２１が備えられる。運転室１２１は、旋回体１２０の前方かつ作業機１１０の左側（＋Ｙ側）に備えられる。
【００１４】
《油圧ショベルの制御系》
油圧ショベル１００は、作業機位置検出器１２２、位置方位演算器１２３、傾斜検出器１２４、ステレオカメラ１２５、操作装置１２６、制御装置１２７、表示装置１２８を備える。
【００１５】
作業機位置検出器１２２は、作業機１１０の角度を検出する。第１の実施形態に係る作業機位置検出器１２２は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６のそれぞれのストローク長を検出するストローク検出器である。これにより、後述する制御装置１２７は、ブームシリンダ１１４、アームシリンダ１１５、およびバケットシリンダ１１６のそれぞれのストローク長に基づいて作業機１１０の角度を検出することができる。他方、他の実施形態においては、これに限られず、作業機位置検出器１２２として、ストローク検出器に代えて、またはストローク検出器と併用して、ＩＭＵ，ロータリーエンコーダや水平器等の角度検出器を用いてもよい。
【００１６】
位置方位演算器１２３は、旋回体１２０の位置および旋回体１２０が向く方位を演算する。位置方位演算器１２３は、ＧＮＳＳ（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）の学習済みモデルによって実現される。学習済みモデルは、学習モデルと学習済みパラメータの組み合わせによって構成される。
図５に示すようにニューラルネットワーク１４０は、入力層１４１、１つまたは複数の中間層１４２（隠れ層）、及び出力層１４３を含む。各層１４１，１４２，１４３は、１又は複数のニューロンを備えている。中間層１４２のニューロンの数は、適宜設定することができる。出力層１４３は、出力画像のサイズに応じて適宜設定することができる。
【００３２】
互いに隣接する層のニューロン同士は結合されており、各結合には重み（結合荷重）が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
【００３３】
入力層１４１には、画像が入力される。入力層１４１に入力する画像は、複数の領域（複数の物体）の少なくとも１つに該当する物体が写る画像である。出力層１４３には、各画素の値が、当該画素に対応する入力層１４１に入力する画像の対応する画素に写る物体の種類を表す値をとるセグメント画像が入力される。つまり、セグメンテーションモデルＭは、画像が入力されると、当該画像に写る物体別に領域分けされたセグメント画像を出力するように訓練された学習済みモデルである。
【００３４】
セグメンテーションモデルＭは、例えば、積込場で撮像された画像を学習データとし、ダンプトラック２００の車体、ベッセル２１０、運搬物Ｌ、作業機１１０、および地面の別に画素の値を分けたセグメント画像を教師データとする学習用データセットを用いて訓練される。なお、本実施形態において「学習データ」とは、学習モデルの訓練時に入力層に入力されるデータをいう。本実施形態において「教師データ」とは、ニューラルネットワーク１４０の出力層の値と比較するための正解となるデータである。本実施形態において「学習用データセット」とは、学習データと教師データの組み合わせをいう。
【００３５】
学習によって得られたセグメンテーションモデルＭの学習済みパラメータは、ストレージ９３に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク１４０の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
セグメンテーションモデルＭのニューラルネットワーク１４０の構成としては、画像セグメンテーションに一般的に用いられるＤＮＮ構成が用いられる。セグメンテーションモデルＭは、既存の学習済みのセグメンテーションモデルに、上記の学習用データセットを用いて転移学習したものであってもよい。なお、他の実施形態に係るセグメンテーションモデルＭは、教師なし学習または強化学習によって訓練されたものであってもよい。
【００３６】
三次元データ生成部１７０３は、領域特定部１７０２が特定したベッセル２１０が写る領域に基づいて、ステレオ画像の右目画像および左目画像のそれぞれから、当該領域に係る画素から構成される部分右目画像および部分左目画像を抽出する。なお、三次元データ生成部１７０３は、ベッセル２１０に分類された領域のみではなく、ベッセル２１０に分類された領域の近傍も含む領域から、部分右目画像および部分左目画像を抽出してもよい。例えば、三次元データ生成部１７０３は、ベッセル２１０に分類された領域に外接する矩形を上下左右に所定画素数だけ拡張した領域を、部分右目画像および部分左目画像として抽出してもよい。なお、ベッセル２１０に分類された領域の近傍も含む領域を抽出することで、セグメンテーションの誤りによってベッセルの一部が他の物体に分類された場合にもベッセル２１０が写る領域の欠落を防ぐことができる。
【００３７】
三次元データ生成部１７０３は、部分右目画像および部分左目画像と、ストレージ９３に記憶されたカメラパラメータＣＰと、データ取得部１７０１が取得した旋回体１２０の位置、方位、および傾きとに基づいて、ベッセル２１０が写る領域の現場座標系における位置を示す点群データを生成する。具体的には、三次元データ生成部１７０３は、以下の方法で点群データを生成する。まず、三次元データ生成部１７０３は、部分右目画像と、部分左目画像と、カメラパラメータＣＰとに基づく三角測量により、車体座標系に係る点群データを生成する。次に、三次元データ生成部１７０３は、旋回体１２０の位置、方位、および傾きに基づいて、車体座標系における各点の位置を、現場座標系における各点の位置に変換する。点群データは、撮像画像の被写体の三次元形状を表す三次元データの一例である。他の実施形態においては、三次元データとして、深度画像、ポリゴン、ＣＡＤモデルなどを用いてもよい。
【００３８】
積み下ろし対象特定部１７０４は、三次元データ生成部１７０３が生成した点群データの各点について、三次元特徴量（３Ｄ点群特徴量）を特定する。三次元特徴量の例としては、法線特徴、ＳＨＯＴ（Signature of Histograms of OrienTations）特徴、ＰＦＨ（Point Feature Histograms）特徴などが挙げられる。例えば、点群に含まれるある点（注目点）の法線特徴は、注目点の周囲の点群の共分散行列の最小固有値に係る固有ベクトルを求めることで、得ることができる。積み下ろし対象特定部１７０４は、特徴量に基づいて、点群データをベッセル２１０の面ごとにグループ分けする。具体的には、積み下ろし対象特定部１７０４は、特徴量に基づいて、点群データを、フロントパネルに相当するグループ、サイドゲートに相当するグループ、テールゲートに相当するグループ、および底面に相当するグループに分ける。なお、ここで挙げた点群データの分割方法は一例であり、上記の４つ以外のグループに分けてもよい。例えば、他の実施形態においては、積み下ろし対象で隠れている可能性が高いため、積み下ろし対象特定部１７０４は、底面に相当するグループへのグループ分けを行わなくてもよい。積み下ろし対象特定部１７０４は、ベッセル面特定部の一例である。
【００３９】
モデルフィッティング部１７０５は、面毎にグループ分けされた点群データの位置に基づいて、現場座標系で表される仮想空間に対象モデルＤを配置することで、ベッセル２１０の現場座標系における位置、方位、および傾きを特定する。例えば、モデルフィッティング部１７０５は、点群データのグループの代表的な法線特徴と、ベッセル２１０の各面の法線特徴とが所定の誤差範囲内で一致するように、対象モデルＤを配置する。なお、他の実施形態に係るモデルフィッティング部１７０５は、車体座標系またはカメラ座標系における各面の位置を特定してもよい。モデルフィッティング部１７０５は、姿勢特定部の一例である。モデルフィッティング部１７０５は、姿勢特定部の一例である。
【００４０】
作業機位置特定部１７０６は、データ取得部１７０１が取得した作業機１１０の角度と旋回体１２０の位置、方位、および傾きとに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する。
【００４１】
ガイダンス情報生成部１７０７は、モデルフィッティング部１７０５が特定したベッセル２１０の位置と、作業機位置特定部１７０６が特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、データ取得部１７０１が取得した旋回体１２０の位置、方位、および傾きとに基づいて、ベッセル２１０とバケット１１３の位置関係を示すガイダンス情報を生成する。
【００４２】
図６は、ガイダンス情報の一例である。ガイダンス情報生成部１７０７は、例えば図６に示すように、作業機位置特定部１７０６が特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、旋回体１２０の位置、方位、および傾きとに基づいて、仮想空間上に油圧ショベル１００の三次元モデルを配置する。またガイダンス情報生成部１７０７は、ダンプトラック２００の三次元モデルの三次元特徴量とに相当する部分を、モデルフィッティング部１７０５が特定したベッセル２１０の三次元特徴量との差が最小となるように、油圧ショベル１００の三次元モデルを配置する。ガイダンス情報生成部１７０７は、仮想空間上に配置された油圧ショベル１００およびダンプトラック２００を任意の視点からレンダリングすることで、油圧ショベル１００のバケット１１３とダンプトラック２００のベッセル２１０との位置関係を表すガイダンス情報を生成する。
【００４３】
なお、他の実施形態に係るガイダンス情報は、バケット１１３とベッセル２１０との位置関係をグラフィカルに描くものでなくてもよい。例えば、他の実施形態に係るガイダンス情報は、上方からの平面視においてバケット１１３がベッセル２１０の外枠内に位置するか否かを示す情報であってもよい。また、他の実施形態に係るガイダンス情報は、バケット１１３の目標の掘削位置の表示、またはバケット１１３の掘削位置に対するガイダンス情報（例えば、現状のバケット１１３の位置と目標の掘削位置との差分を示す情報、または表示）であってもよい。また、目標の掘削位置までどれくらいの操作が必要であるかを示す情報、または表示であってもよい。また、少なくともベッセル２１０とバケット１１３のみを表示するものであってもよい。
【００４４】
表示制御部１７０８は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する。
学習部１７０９は、セグメンテーションモデルＭの学習処理を行う。なお、学習部１７０９は、制御装置１２７と別個の装置に設けられてもよい。この場合、別個の装置において学習された学習済みモデルが、ストレージ９３に記録されることとなる。
【００４５】
《表示方法》
図７は、第１の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して作業機位置検出器１２２から作業機１１０の角度を取得し、位置方位演算器１２３から、旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ１）。なお、他の実施形態においては、データ取得部１７０１は、作業機１１０の角度、旋回体１２０の位置、方位および傾きを取得しなくてもよい。次に、領域特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶されたセグメンテーションモデルＭに入力することで、写った物体ごとの複数の領域に分割されたセグメント画像を得る（ステップＳ２）。なお、他の実施形態においては、領域特定部１７０２は、左目画像からセグメント画像を得てもよい。領域特定部１７０２は、セグメント画像に基づいて、データ取得部１７０１が取得したステレオ画像において、ベッセルが写る領域を特定する（ステップＳ３）。
【００４６】
三次元データ生成部１７０３は、ステレオ画像の右目画像および左目画像のそれぞれから、ステップＳ３で特定したベッセル２１０が写る領域に係る部分右目画像および部分左目画像を抽出する（ステップＳ４）。三次元データ生成部１７０３は、部分右目画像および部分左目画像と、カメラパラメータＣＰとに基づく三角測量により、車体座標系に係る点群データを生成する（ステップＳ５）。次に、三次元データ生成部１７０３は、ステップＳ１で取得した旋回体１２０の位置、方位および傾きに基づいて、点群データの車体座標系における各点の位置を、現場座標系における各点の位置に変換する（ステップＳ６）。すなわち、三次元データ生成部１７０３は、ステップＳ１で取得した旋回体１２０の位置に基づいて点群データを平行移動し、方位および傾きに基づいて点群データを回転させる。なお、車体座標系から現場座標系への座標変換は、後述のステップＳ７の後、またはステップＳ８の後に行われてもよい。
【００４７】
積み下ろし対象特定部１７０４は、ステップＳ６で得られた点群データの各点について、三次元特徴量を特定し、三次元特徴量に基づいて点群データをベッセル２１０の面ごとにグループ分けする（ステップＳ７）。これにより、積み下ろし対象特定部１７０４は、点群データからベッセル２１０の各面を特定することができる。
【００４８】
モデルフィッティング部１７０５は、各グループに係る点群データの三次元特徴量と、ストレージ９３に記憶された対象モデルＤの三次元特徴量との差が最小となるように、現場座標系で表される仮想空間に対象モデルＤを配置することで、ベッセル２１０の現場座標系における位置、方位、および傾きを特定する（ステップＳ８）。モデルフィッティング部１７０５が、点群データに基づいて対象モデルＤを仮想空間に配置することによって、ステレオ画像においてベッセル２１０の一部等が障害物によって隠れている場合にも、ベッセル２１０の隠れた部分を推定することができ、ベッセル２１０の認識精度を向上させることができる。なお、他の実施形態においては、モデルフィッティング部１７０５は、ステップＳ７でグループ分けしたある面、またはある面の特定の点と、対象モデルＤの対応する面、または特定の点とをフィッティングすることで、現場座標系に対象モデルＤを配置してもよい。なお、制御装置１２７は、対象モデルＤのフィッティングを行わずとも、ステップＳ７で特定した各面からベッセル２１０の位置、方位、および傾きを特定することができる。例えば、制御装置１２７は、特定された複数の面の重心位置などからベッセル２１０の位置を特定し、フロントパネルまたはテールゲートに相当する面の法線方向からベッセルの方位を特定し、さらにベッセル２１０の底面の法線方向からベッセルの傾きを特定することができる。他方、点群データにおける各面が必ずしも正確に抽出できるとは限らないため、制御装置１２７は、対象モデルＤのフィッティングを行うことで、よりロバストにベッセル２１０の位置、方位、および傾きを特定することができる。
【００４９】
作業機位置特定部１７０６は、データ取得部１７０１が取得した作業機１１０の角度と旋回体１２０の位置、方位、および傾きとに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する（ステップＳ９）。
【００５０】
ガイダンス情報生成部１７０７は、ステップＳ８で特定したベッセル２１０の位置、方位、および傾きと、ステップＳ９で特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、ステップＳ１で取得した旋回体１２０の位置、方位、および傾きとに基づいて、図６に示すガイダンス情報を生成する（ステップＳ１０）。表示制御部１７０８は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ１１）。
【００５１】
《学習方法》
図８は、第１の実施形態に係るセグメンテーションモデルの学習方法を示すフローチャートである。データ取得部１７０１は、学習データを取得する（ステップＳ１０１）。例えば、セグメンテーションモデルＭにおける学習データは、積込場で撮像された画像、または３ＤＣＧやＣＡＤデータから生成された画像である。セグメンテーションモデルＭの学習に用いる複数の学習データは、少なくともベッセル２１０が写る画像を含む。学習データは、ステレオカメラ１２５が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。
【００５２】
次に、学習部１７０９は、セグメンテーションモデルＭの学習を行う。学習部１７０９は、ステップＳ１０１で取得した学習データと、学習データに係る画像に写る物体に対応する複数の領域に分割したセグメント画像である教師データとの組み合わせを学習用データセットとして、セグメンテーションモデルＭの学習を行う（ステップＳ１０２）。例えば、学習部１７０９は、学習データを入力として用いて、ニューラルネットワーク１４０の順伝播方向の演算処理を行う。これにより、学習部１７０９は、ニューラルネットワーク１４０の出力層１４３から出力される出力値を得る。なお、学習用データセットは、メインメモリ９２、またはストレージ９３に記憶してもよい。次に、学習部１７０９は、出力層１４３からの出力値と、教師データとの誤差を算出する。学習部１７０９は、算出した出力値の誤差に基づき、各ニューロン間の結合の重みを更新する。
【００５３】
学習部１７０９は、学習用データセットのうちセグメンテーションモデルＭの学習に用いなかったものを評価データセットとして、評価データセットに係る学習データをセグメンテーションモデルＭに入力し、セグメンテーションモデルＭからの出力値が、評価データセットに係る教師データと一致するか否かを判定する（ステップＳ１０３）。なお、出力値と、教師データが異なる画素の数が所定数以内であれば、一致すると判定してもよい。セグメンテーションモデルＭからの出力値が、教師データと一致しない場合（ステップＳ１０３：ＮＯ）、セグメンテーションモデルＭからの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、セグメンテーションモデルＭのパラメータが最適化され、セグメンテーションモデルＭを学習させることができる。
セグメンテーションモデルＭからの出力値が、教師データと一致する場合（ステップＳ１０３：ＹＥＳ）、学習部１７０９は、学習によって最適化されたパラメータを含む学習済みモデルであるセグメンテーションモデルＭを、ストレージ９３に記録する（ステップＳ１０４）。
【００５４】
《作用・効果》
このように、第１の実施形態によれば、制御装置１２７は、運搬物Ｌの積み下ろし対象であるベッセル２１０が写る撮像画像から、ベッセル２１０が写る領域を特定し、当該領域に基づいてベッセル２１０の位置を特定する。このように、第１の実施形態に係る制御装置１２７は、積み下ろし対象の位置を、画像に含まれるエッジによらずに特定することができる。これにより、第１の実施形態に係る制御装置１２７は、積み下ろし対象の変形等によってエッジが検出し難い場合においても、運搬物Ｌの積み下ろし対象の位置を、ロバストに特定することができる。また、ベッセル２１０に運搬物Ｌが積載されると、ベッセル２１０全体としての表面形状が変化するが、ベッセル２１０が写る領域を特定することで、運搬物Ｌとベッセル２１０とを識別することができるため、認識のロバスト性を向上することができる。なお、実施形態によっては、図７に示す制御装置１２７による処理のうち、ステップＳ２〜ステップＳ６、ステップＳ８〜Ｓ１１の処理が実施されなくてもよい。
【００５５】
また、第１の実施形態に係る制御装置１２７は、ガイダンス情報を表示する。これにより、油圧ショベル１００とダンプトラック２００との相対位置によってオペレータがベッセル２１０を視認しづらい場合であっても、制御装置１２７は、オペレータに積み下ろし対象を認識させることができる。また、ガイダンス情報として表示されるベッセル２１０を目安に作業機１１０を操作することによって、作業効率を高めることができる。
【００５６】
また、第１の実施形態によれば、制御装置１２７は、セグメンテーションモデルＭと撮像画像とに基づいて、撮像画像において前記積み下ろし対象が写る領域を特定する。機械学習に係る学習済みモデルによって、画像に含まれる物体の切り分けであるセグメンテーションを精度よく実現することができることが知られている、そのため、第１の実施形態によれば、制御装置１２７は、セグメンテーションモデルＭを用いてベッセル２１０を認識することで、精度よくベッセル２１０の所定の部分の位置を特定することができる。なお、他の実施形態においては、これに限られず、制御装置１２７は、機械学習技術以外の手法によって画像に写る物体の切り分けを行ってもよい。
【００５７】
また、第１の実施形態によれば、制御装置１２７は、特定した領域に係る部分右目画像および部分左目画像を用いて点群データを生成する。これにより、ステレオ画像の全画素を用いて点群データを生成する場合と比較して、計算量を削減することができる。また、セグメンテーションによって特定した領域以外の余計な領域（例えば、運搬物Ｌ、作業機１１０、地面などの領域）が省かれるので、積み下ろし対象特定部１７０４は、による点群データのグループにおいてノイズが混入する可能性を低減することができる。なお、他の実施形態に係る制御装置１２７は、ステレオ画像の全画素を用いて点群データを生成し、当該点群データから特定した領域に係る部分を抽出してもよい。
また、他の実施形態においては、ステレオ画像に代えて、レーザスキャナが生成した距離画像を用いて、三次元データを生成してもよい。
【００５８】
また、第１の実施形態に係る制御装置１２７は、撮像画像から、点群データを生成し、旋回体１２０の位置、方位および傾きに基づいて、点群データを現場座標系に配置する。これにより、油圧ショベル１００の動作によりステレオカメラ１２５の位置、方位、および傾きが変わる場合にも、現場座標系におけるベッセル２１０の位置、方位、および傾きを特定することができる。なお、他の実施形態においては、ステレオカメラ１２５が施工現場に固設されたものである場合、旋回体１２０の位置、方位および傾きを得ることなく、点群データを現場座標系に配置してもよい。
【００５９】
〈第２の実施形態〉
以下、図面を参照しながら第２の実施形態について説明する。第１の実施形態に係る制御装置１２７は、特定したベッセル２１０の位置、方位、および傾きに基づいてガイダンス情報を生成し、これをオペレータに提示する。これに対し、第２の実施形態に係る制御装置１２７は、特定したベッセル２１０の位置、方位、および傾きに基づいて作業機の積込作業を制御する。
【００６０】
《制御装置の構成》
図９は、第２の実施形態に係る制御装置の構成を示す概略ブロック図である。
第２の実施形態に係るプロセッサ９１は、第１の実施形態に係るガイダンス情報生成部１７０７および表示制御部１７０８に代えて、作業機械制御部１７１１を備える。
【００６１】
作業機械制御部１７１１は、オペレータによって、操作装置１２６に設けられた自動積込ボタンの押下がなされた場合に、モデルフィッティング部１７０５が特定したベッセル２１０の位置、方位、および傾きに基づいて、旋回体１２０および作業機１１０の挙動を制御する。
【００６２】
《油圧ショベルの制御方法》
図１０は、第２の実施形態に係る油圧ショベルの制御方法を示すフローチャートである。
自動積込ボタンが押下されると、制御装置１２７は、第１の実施形態のステップＳ１からステップＳ９までと同様の処理により、ベッセル２１０および作業機１１０の現場座標系における位置を特定する。そして、作業機械制御部１７１１は、ベッセル２１０および作業機１１０の現場座標系における位置に基づいて、旋回体１２０および作業機１１０の制御信号を生成し、出力する（ステップＳ３１）。
【００６３】
例えば、作業機械制御部１７１１は、バケット１１３の高さがベッセル２１０の高さより低い場合、ブーム１１１を上げる制御信号を生成する。作業機械制御部１７１１は、バケット１１３の高さがベッセル２１０の高さ以上になった場合、ブーム１１１を上げる制御信号の出力を停止し、旋回体１２０を旋回させる制御信号の出力を開始する。作業機械制御部１７１１は、バケット１１３の高さがベッセル２１０の高さ以上であり、かつバケット１１３の上方から平面視したときの位置が、ベッセル２１０の位置から特定されるベッセル２１０の範囲内に位置する場合、旋回体１２０を旋回させる制御信号の出力を停止し、バケット１１３をダンプさせる制御信号を生成する。
【００６４】
《作用・効果》
このように、第２の実施形態によれば、制御装置１２７は、撮像画像に基づいて油圧ショベル１００を自動制御することができる。
【００６５】
〈第３の実施形態〉
以下、図面を参照しながら第３の実施形態について説明する。第３の実施形態に係る制御装置１２７は、ベッセル２１０における運搬物Ｌの量の分布を示すベッセルマップを表示装置１２８に表示させる。これにより、制御装置１２７は、オペレータに、ベッセル２１０にバランスよく運搬物Ｌを積み込むための運搬物Ｌの積み下ろし位置を認識させる。
【００６６】
図１１は、第３の実施形態に係る制御装置の構成を示す概略ブロック図である。
第３の実施形態に係る制御装置１２７は、第１の実施形態に係る作業機位置特定部１７０６に代えて、分布特定部１７２１を備える。また、第３の実施形態に係る領域特定部１７０２、三次元データ生成部１７０３、ガイダンス情報生成部１７０７は、第１の実施形態と処理が異なる。
【００６７】
領域特定部１７０２は、ステレオ画像においてベッセル２１０が写る領域に加え、運搬物Ｌが写る領域も特定する。
三次元データ生成部１７０３は、ベッセル２１０が写る領域に係る三次元データであるベッセル点群データおよび運搬物Ｌが写る領域に係る三次元データである運搬物点群データを生成する。なお、三次元データ生成部１７０３は、運搬物Ｌに分類された領域のみではなく、運搬物Ｌに分類された領域の近傍も含む領域から、運搬物点群データを生成してもよい。例えば、三次元データ生成部１７０３は、運搬物Ｌに分類された領域に外接する矩形を上下左右に所定画素数だけ拡張した領域に基づいて運搬物点群データを生成してもよい。なお、運搬物Ｌに分類された領域の近傍も含む領域を抽出することで、セグメンテーションの誤りによって運搬物Ｌの一部が他の物体に分類された場合にも運搬物Ｌが写る領域の欠落を防ぐことができる。
【００６８】
分布特定部１７２１は、モデルフィッティング部１７０５が特定したベッセル２１０の底面の三次元位置と、三次元データ生成部１７０３が生成した運搬物点群データとに基づいて、ベッセル２１０における運搬物Ｌの量の分布を示すベッセルマップを生成する。ベッセルマップは、例えばベッセル２１０の底面を基準とした運搬物Ｌのエレベーションマップである。
【００６９】
ガイダンス情報生成部１７０７は、分布特定部１７２１が生成したベッセルマップからガイダンス情報を生成する。
図１２は、第３の実施形態に係るガイダンス情報の一例である。ガイダンス情報生成部１７０７は、例えば図１２に示すように、ベッセル２１０の底面から運搬物Ｌの表面までの高さの分布を表す二次元のヒートマップを表示するガイダンス情報を生成する。図１２に示すヒートマップにおける縦および横の分割の粒度は一例であり、他の実施形態ではこれに限られない。なお、他の実施形態に係るヒートマップは、例えばベッセル２１０の積載上限に係る高さに対する運搬物Ｌの高さの割合を表すものであってよい。
【００７０】
《表示方法》
図１３は、第３の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して位置方位演算器１２３から旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ５１）。なお、他の実施形態においては、データ取得部１７０１は、作業機１１０の角度、旋回体１２０の位置、方位および傾きを取得しなくてもよい。次に、領域特定部１７０２は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶されたセグメンテーションモデルＭに入力することで、写った物体ごとの複数の領域に分割されたセグメント画像を得る（ステップＳ５２）。領域特定部１７０２は、セグメント画像に基づいて、データ取得部１７０１が取得したステレオ画像において、ベッセル２１０が写る領域および運搬物Ｌが写る領域を特定する（ステップＳ５３）。
【００７１】
三次元データ生成部１７０３は、ステレオ画像の右目画像および左目画像のそれぞれから、ステップＳ３で特定したベッセル２１０が写る領域に係る部分右目画像および部分左目画像、および運搬物Ｌが写る領域に係る部分右目画像および部分左目画像を抽出する（ステップＳ５４）。三次元データ生成部１７０３は、ベッセル２１０が写る領域に係る部分右目画像および部分左目画像と、カメラパラメータＣＰとに基づく三角測量により、車体座標系に係るベッセル点群データを生成する。また、三次元データ生成部１７０３は、運搬物Ｌが写る領域に係る部分右目画像および部分左目画像と、カメラパラメータＣＰとに基づく三角測量により、車体座標系に係る運搬物点群データを生成する。（ステップＳ５５）。三次元データ生成部１７０３は、旋回体１２０の位置、方位、および傾きに基づいて、ベッセル点群データおよび運搬物点群データの車体座標系における各点の位置を、現場座標系における各点の位置に変換する（ステップＳ５６）。
【００７２】
積み下ろし対象特定部１７０４は、ステップＳ５６で得られたベッセル点群データの各点について、三次元特徴量を特定し、三次元特徴量に基づいてベッセル点群データをベッセル２１０の面ごとにグループ分けする（ステップＳ５７）。モデルフィッティング部１７０５は、各グループに係るベッセル点群データの三次元特徴量と、ストレージ９３に記憶された対象モデルＤの三次元特徴量との差が最小となるように、現場座標系で表される仮想空間に対象モデルＤを配置することで、ベッセル２１０の現場座標系における位置、方位、および傾きを特定する（ステップＳ５８）。
【００７３】
分布特定部１７２１は、ステップＳ５５で生成した運搬物点群データと、ステップＳ５８で配置した対象モデルＤとに基づいて、ベッセル２１０の底面を基準高さとし、鉛直上方向に係る高さを表すエレベーションマップであるベッセルマップを生成する（ステップＳ５９）。ベッセルマップは、高さデータを有しないグリッドを含みうる。なお、ステップＳ５において点群データがベッセル座標系に変換されている場合、分布特定部１７２１は、ＸＹ平面を基準高さとし、Ｚ軸方向を高さ方向とするエレベーションマップを求めることでベッセルマップを生成することができる。
【００７４】
ガイダンス情報生成部１７０７は、ベッセルマップに基づいて、図１２に示すガイダンス情報を生成する（ステップＳ６０）。表示制御部１７０８は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ６１）。
【００７５】
《作用・効果》
このように、第３の実施形態によれば、制御装置１２７は、撮像画像に基づいて、運搬物Ｌの表面およびベッセル２１０の底面の三次元位置を特定し、これらに基づいてベッセル２１０における運搬物Ｌの量の分布を示すベッセルマップを生成する。これにより、制御装置１２７は、ベッセル２１０における運搬物Ｌの分布を特定することができる。オペレータは、ベッセル２１０における運搬物Ｌの分布を認識することで、ベッセル２１０にバランスよく運搬物Ｌを積み込むための運搬物Ｌの積み下ろし位置を認識することができる。
【００７６】
なお、第３の実施形態においては、制御装置１２７は、ベッセルマップに基づいてガイダンス情報を生成するが、これに限られない。例えば、他の実施形態においては、制御装置１２７は、ベッセルマップに基づいて第２の実施形態のように油圧ショベル１００を制御してもよい。例えば、作業機械制御部１７１１は、バケット１１３の高さがベッセル２１０の高さまたはベッセルマップにおける運搬物Ｌの分布のピークの高さより低い場合、ブーム１１１を上げる制御信号を生成する。作業機械制御部１７１１は、バケット１１３の高さがベッセル２１０の高さおよびベッセルマップにおける運搬物Ｌの分布のピークの高さ以上になった場合、ブーム１１１を上げる制御信号の出力を停止し、旋回体１２０を旋回させる制御信号の出力を開始する。作業機械制御部１７１１は、バケット１１３の高さがベッセル２１０の高さおよびベッセルマップにおける運搬物Ｌの分布のピークの高さ以上であり、かつバケット１１３の上方から平面視したときの位置が、ベッセル２１０の位置から特定されるベッセル２１０の範囲内に位置する場合、旋回体１２０を旋回させる制御信号の出力を停止し、バケット１１３をダンプさせる制御信号を生成する。
【００７７】
〈第４の実施形態〉
第３の実施形態に係る制御装置１２７は、ベッセル点群データに対象モデルＤをマッチングさせることでベッセル２１０の底面の三次元位置を特定する。これに対し、第４の実施形態に係る制御装置１２７は、対象モデルＤを用いずにベッセル２１０の底面の三次元位置を特定する。つまり、第４の実施形態に係る制御装置１２７は、ストレージ９３に対象モデルＤを記憶しなくてよい。
【００７８】
第４の実施形態に係るモデルフィッティング部１７０５は、ベッセル点群データに基づいて、天面のない直方体ポリゴンを当該ベッセル点群データに最もマッチングするように変形させる。モデルフィッティング部１７０５は、マッチングした直方体ポリゴンの底面の位置を、ベッセル２１０の底面の位置として特定する。
【００７９】
このように、第４の実施形態によれば、ベッセル２１０の対象モデルＤを用いることなく、ベッセル２１０の底面の位置を特定することができる。また第４の実施形態によれば、ベッセル点群データにノイズが含まれていたとしても、ベッセル２１０の底面の位置を特定することができる。
【００８０】
〈第５の実施形態〉
図１４は、第５の実施形態に係る画像のセグメンテーションの例を示す図である。
第１から第４の実施形態に係るセグメンテーションモデルＭによって生成されるセグメント画像では、ベッセル２１０が写る領域を１つのセグメントによって表している。第５の実施形態に係るセグメンテーションモデルＭは、ベッセル２１０が写る画像について、図１４に示すように、ガードフレームが写る領域、フロントパネルが写る領域、サイドゲートが写る領域、およびテールゲートが写る領域に分けるセグメント画像を生成するように訓練されたものを用いる。
【００８１】
第５の実施形態に係る制御装置１２７は、第１の実施形態の構成のうち積み下ろし対象特定部１７０４を備えなくてよい。他方、第５の実施形態に係る制御装置１２７の領域特定部１７０２、三次元データ生成部１７０３、およびモデルフィッティング部１７０５の動作が異なる。
【００８２】
領域特定部１７０２は、データ取得部１７０１が取得したステレオ画像の右目画像を、ストレージ９３に記憶されたセグメンテーションモデルＭに入力することで、右目画像を、既知の複数の物体に対応する複数の領域に分割する。このとき、既知の複数の物体は、少なくともガードフレーム、フロントパネル、サイドゲート、およびテールゲートを含む。
【００８３】
三次元データ生成部１７０３は、ステレオ画像から、ガードフレーム、フロントパネル、サイドゲート、およびテールゲートのそれぞれの領域に係る点群データを生成する。
【００８４】
モデルフィッティング部１７０５は、ガードフレーム、フロントパネル、サイドゲート、およびテールゲートのそれぞれの点群データの位置に基づいて、現場座標系で表される仮想空間に対象モデルＤを配置することで、ベッセル２１０の現場座標系における位置、方位、および傾きを特定する。
【００８５】
《表示方法》
図１５は、第５の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部１７０１は、インタフェース９４を介して作業機位置検出器１２２から作業機１１０の角度を取得し、位置方位演算器１２３から、旋回体１２０の位置および方位を取得し、傾斜検出器１２４から旋回体１２０の傾きを取得し、ステレオカメラ１２５からステレオ画像を取得する（ステップＳ７１）。なお、他の実施形態においては、データ取得部１７０１は、作業機１１０の角度、旋回体１２０の位置、方位および傾きを取得しなくてもよい。次に、領域特定部１７０２は、データ取得部１７０１が取得したステレオ画像を、ストレージ９３に記憶されたセグメンテーションモデルＭに入力することで、写った物体ごとの複数の領域に分割されたセグメント画像を得る（ステップＳ７２）。領域特定部１７０２は、セグメント画像に基づいて、データ取得部１７０１が取得したステレオ画像において、ベッセル２１０の面毎に領域を特定する（ステップS７３）。つまり、領域特定部１７０２は、ガードフレームが写る領域、フロントパネルが写る領域、サイドゲートが写る領域、およびテールゲートが写る領域をそれぞれ特定する。
【００８６】
三次元データ生成部１７０３は、ステレオ画像の右目画像および左目画像のそれぞれから、ステップＳ７３で特定した各面に係る部分右目画像および部分左目画像を抽出する（ステップＳ７４）。三次元データ生成部１７０３は、部分右目画像および部分左目画像と、カメラパラメータＣＰとに基づく三角測量により、車体座標系に係る各面の点群データを生成する（ステップＳ７５）。次に、三次元データ生成部１７０３は、旋回体１２０の位置、方位、および傾きに基づいて、各面の点群データの車体座標系における各点の位置を、現場座標系における各点の位置に変換する（ステップＳ７６）。このとき、点群データは、三次元特徴量を特定することなく、すでに面ごとのグループに分けられている。
【００８７】
モデルフィッティング部１７０５は、各グループに係る点群データの位置と、ストレージ９３に記憶された対象モデルＤの各面の位置との差が最小となるように、現場座標系で表される仮想空間に対象モデルＤを配置することで、ベッセル２１０の現場座標系における位置、方位、および傾きを特定する（ステップＳ７７）。
【００８８】
作業機位置特定部１７０６は、データ取得部１７０１が取得した作業機１１０の角度と旋回体１２０の位置、方位、および傾きとに基づいて、現場座標系におけるブーム１１１、アーム１１２、およびバケット１１３の位置を特定する（ステップＳ７８）。
【００８９】
ガイダンス情報生成部１７０７は、ステップＳ７７で特定したベッセル２１０の位置、方位、および傾きと、ステップＳ７８で特定したブーム１１１、アーム１１２、およびバケット１１３の位置と、ステップＳ７１で取得した旋回体１２０の位置、方位、および傾きとに基づいて、ガイダンス情報を生成する（ステップＳ７９）。表示制御部１７０８は、ガイダンス情報を表示する表示信号を表示装置１２８に出力する（ステップＳ８０）。
【００９０】
《作用・効果》
このように、第５の実施形態によれば、制御装置１２７は、セグメンテーションモデルＭが、ベッセル２１０の各面を異なる領域に分割する。これにより、制御装置１２７は、三次元特徴量を算出することなく、三次元データと三次元モデルのマッチングを行うことができる。
【００９１】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述の実施形態においては、制御装置１２７が三角測量に基づいてステレオ画像から三次元データを生成するが、これに限られない。例えば、他の実施形態に係る制御装置１２７は、ステレオ画像を入力することで深度画像を出力する学習済みモデルを用いて三次元データを生成してもよい。また他の実施形態においては、セグメンテーションモデルＭが、ステレオ画像を入力することで、物体毎の領域に分割した深度画像を出力するように学習されてたものであってもよい。
【００９２】
また、上述の実施形態においては、制御装置１２７は、ベッセル２１０の位置、方位および傾きを特定するが、他の実施形態においてはこれに限られない。例えば、他の実施形態に係る制御装置１２７は、ベッセル２１０の位置を特定し、方位および傾きを特定しないものであってもよい。また例えば、他の実施形態に係る制御装置１２７は、ベッセル２１０の位置および方位を特定し、傾きを特定しないものであってもよい。
【００９３】
また、上述の実施形態に係る制御装置１２７は、油圧ショベル１００に搭載されるが、これに限られない。例えば、他の実施形態に係る制御装置１２７は、遠隔のサーバ装置に設けられてもよい。また、制御装置１２７は、複数のコンピュータから実現されるものであってもよい。この場合、制御装置１２７の一部の構成が遠隔のサーバ装置に設けられるものであってもよい。すなわち、制御装置１２７は、複数の装置からなる画像処理システムとして実装されてもよい。また、油圧ショベル１００は、完全自律型、一部自律型の油圧ショベルであってもよい。また、ガイダンス情報を表示する表示信号を作業機械を遠隔操作するための遠隔運転室に送信するものであってもよい。
【００９４】
また、上述の実施形態に係る積み下ろし対象は、ダンプトラック２００のベッセル２１０だが、これに限られない。例えば、他の実施形態に係る積み下ろし対象は、ホッパなどの他の積み下ろし対象であってもよい。
【００９５】
また、上述の実施形態でフローチャートを用いて説明した動作は、上述した順番で実行されるものに限られない。例えば、図７に示すガイダンス情報の表示方法では、ステップＳ６で点群データの座標系を現場座標系に変換した後に、ステップＳ７での面のグループ分け、およびステップＳ８でのベッセルの姿勢特定を行うが、これに限られない。例えば、他の実施形態においては、ステップＳ７での面のグループ分け、またはステップＳ８でのベッセルの姿勢特定の後に座標変換を行ってもよい。同様に、他の動作についても、適宜処理の順番を入れ替えることができる。
【００９６】
また、上述の実施形態では、油圧ショベル１００の制御装置がベッセル２１０の位置を特定するが、これに限られない。例えば、他の実施形態においては、移動式クレーンなどの他の作業機械の制御装置、ダンプトラック、ホイールローダー、ブルドーザ等の作業機械の制御装置、または現場に備え付けられた監視装置が、ベッセル２１０の位置を特定してもよい。
【符号の説明】
【００９７】
１００…油圧ショベル  １１０…作業機  １２０…旋回体  １３０…走行体  １２２…作業機位置検出器  １２３…位置方位演算器  １２４…傾斜検出器  １２５…ステレオカメラ  １２７…制御装置  １２８…表示装置  １７０１…データ取得部  １７０２…領域特定部  １７０３…三次元データ生成部  １７０４…積み下ろし対象特定部  １７０５…モデルフィッティング部  １７０６…作業機位置特定部  １７０７…ガイダンス情報生成部  １７０８…表示制御部  １７０９…学習部
【図１】
2020126363.tif 000003
【図２】
2020126363.tif 000004
【図３】
2020126363.tif 000005
【図４】
2020126363.tif 000006
【図５】
2020126363.tif 000007
【図６】
2020126363.tif 000008
【図７】
2020126363.tif 000009
【図８】
2020126363.tif 000010
【図９】
2020126363.tif 000011
【図１０】
2020126363.tif 000012
【図１１】
2020126363.tif 000013
【図１２】
2020126363.tif 000014
【図１３】
2020126363.tif 000015
【図１４】
2020126363.tif 000016
【図１５】
2020126363.tif 000017