IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社小松製作所の特許一覧

特許7166108画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット
<>
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図1
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図2
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図3
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図4
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図5
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図6
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図7
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図8
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図9
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図10
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図11
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図12
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図13
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図14
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図15
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図16
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図17
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図18
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図19
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図20
  • 特許-画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-27
(45)【発行日】2022-11-07
(54)【発明の名称】画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセット
(51)【国際特許分類】
   G06T 7/70 20170101AFI20221028BHJP
   E02F 9/26 20060101ALI20221028BHJP
   G06T 7/00 20170101ALI20221028BHJP
【FI】
G06T7/70 A
E02F9/26 A
G06T7/00 350B
【請求項の数】 10
(21)【出願番号】P 2018163670
(22)【出願日】2018-08-31
(65)【公開番号】P2020035380
(43)【公開日】2020-03-05
【審査請求日】2021-07-01
(73)【特許権者】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】川本 駿
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2016-089559(JP,A)
【文献】特開2018-077829(JP,A)
【文献】特開2016-153984(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
E02F 9/26
(57)【特許請求の範囲】
【請求項1】
作業機械の運搬物の投下対象が写る撮像画像を取得するデータ取得部と、
画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定する位置特定部と
を備え
前記位置特定モデルは、前記画像における前記部分の位置を示す情報を出力し、
前記位置特定部は、前記撮像画像を前記位置特定モデルに入力することで出力される前記画像における前記部分の位置を示す情報に基づいて、前記部分の三次元位置を特定する 画像処理システム。
【請求項2】
前記撮像画像は、ステレオカメラによって撮像された、少なくとも第1画像と第2画像を含むステレオ画像である
請求項1に記載の画像処理システム。
【請求項3】
前記第1画像を前記位置特定モデルに入力することで、前記第1画像における前記部分の位置を特定する第1位置特定部と、
特定された前記第1画像における前記部分の位置に基づいて、前記第2画像における前記部分の位置を特定する第2位置特定部と、
を備え、
前記位置特定部は、前記第1画像における前記部分の位置と、前記第2画像における前記部分の位置とに基づいて、前記部分の三次元位置を特定する
請求項2に記載の画像処理システム。
【請求項4】
前記第2位置特定部は、前記第1画像と、前記第2画像と、前記第1画像における投下対象の所定の部分の位置とを入力することで、前記第2画像における投下対象の所定の部分の位置を出力する学習済みモデルである対応位置特定モデルに基づいて、前記第2画像における前記部分の位置を特定する
請求項3に記載の画像処理システム。
【請求項5】
前記位置特定モデルに前記第1画像と前記第2画像とを入力することで、前記第1画像における前記部分の位置および前記第2画像における前記部分の位置を特定するステレオ位置特定部を備え、
前記位置特定部は、前記第1画像における前記部分の位置と、前記第2画像における前記部分の位置とに基づいて、前記部分の三次元位置を特定する
請求項2に記載の画像処理システム。
【請求項6】
前記データ取得部は、前記撮像画像を撮像する撮像装置の撮像姿勢を取得し、
前記位置特定部は、特定された前記部分の位置と、前記撮像姿勢とに基づいて、前記部分の現場における三次元位置を特定する
請求項1から請求項5のいずれか1項に記載の画像処理システム。
【請求項7】
作業機械の運搬物の投下対象が写る撮像画像を取得するデータ取得部と、
画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定する位置特定部と
を備え、
前記データ取得部は、前記撮像画像の撮像位置を取得し、
前記撮像画像は、ステレオカメラによって撮像された、少なくとも第1画像と第2画像を含むステレオ画像であって、
前記位置特定モデルは、前記第1画像および前記第2画像を入力することで、前記ステレオカメラを基準とした前記部分の三次元位置を示す情報を出力し、
前記位置特定部は、前記第1画像および前記第2画像を前記位置特定モデルに入力することで出力される前記ステレオカメラを基準とした前記三次元位置を示す情報と、前記撮像位置とに基づいて、前記部分の現場における三次元位置を特定する
像処理システム。
【請求項8】
請求項1から請求項7のいずれか1項に記載の画像処理システムが特定した前記運搬物の投下対象の所定の部分の位置に関する情報を表示する表示装置。
【請求項9】
撮像装置から、作業機械の運搬物の投下対象が写る撮像画像を取得するステップと、
画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定するステップと
を備え
前記位置特定モデルは、前記画像における前記部分の位置を示す情報を出力し、
前記位置を特定するステップは、前記撮像画像を前記位置特定モデルに入力することで出力される前記画像における前記部分の位置を示す情報に基づいて、前記部分の三次元位置を特定する
画像処理方法。
【請求項10】
撮像装置から、作業機械の運搬物の投下対象が写る撮像画像と前記撮像画像の撮像位置とを取得するステップと、
画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定するステップと
を備え、
前記撮像画像は、ステレオカメラによって撮像された、少なくとも第1画像と第2画像を含むステレオ画像であって、
前記位置特定モデルは、前記第1画像および前記第2画像を入力することで、前記ステレオカメラを基準とした前記部分の三次元位置を示す情報を出力し、
前記位置を特定するステップは、前記第1画像および前記第2画像を前記位置特定モデルに入力することで出力される前記ステレオカメラを基準とした前記三次元位置を示す情報と、前記撮像位置とに基づいて、前記部分の現場における三次元位置を特定する
画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセットに関する。
【背景技術】
【0002】
特許文献1には、油圧ショベルに備えられた撮像装置によって撮像された画像からエッジを抽出することで、ダンプトラックのベッセルの位置を特定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2000-192514号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、積込機械が存在する現場においては、道路が舗装されていないことがあり、地表に轍が生成される。轍とダンプトラックとが写る画像からエッジを抽出すると、ダンプトラックのエッジに加え、轍のエッジも生じる。そのため、特許文献1に記載の技術により撮像画像からダンプトラックのベッセル位置を特定する場合、轍の存在により、適切にベッセルの位置を特定することができない可能性がある。
本発明は、運搬物の投下対象の位置を、ロバストに特定することができる画像処理システム、表示装置、画像処理方法、学習済みモデルの生成方法、および学習用データセットを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一態様によれば、画像処理システムは、作業機械の運搬物の投下対象が写る撮像画像を取得するデータ取得部と、画像を入力することで前記画像に写る投下対象の所定の部分の位置を出力する学習済みモデルである位置特定モデルと前記撮像画像とに基づいて、前記撮像画像に写る前記投下対象の所定の部分の位置を特定する位置特定部とを備える。前記位置特定モデルは、前記画像における前記部分の位置を示す情報を出力し、前記位置特定部は、前記撮像画像を前記位置特定モデルに入力することで出力される前記画像における前記部分の位置を示す情報に基づいて、前記部分の三次元位置を特定する。
【発明の効果】
【0006】
上記態様によれば、画像から投下対象の所定の部分の位置を出力する学習済みモデルを用いて、精度よく投下対象の部分の位置を特定することができる。
【図面の簡単な説明】
【0007】
図1】一実施形態に係る積込場の構成を示す図である。
図2】一実施形態に係る油圧ショベルの外観図である。
図3】第1の実施形態に係る制御装置の構成を示す概略ブロック図である。
図4】ベッセルの特徴点の例を示す図である。
図5】ニューラルネットワークの構成の一例である。
図6】Siamese Networkモデルの構成の例を示す図である。
図7】ガイダンス情報の一例である。
図8】第1の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
図9】第1の実施形態に係る特徴点特定モデルの学習方法を示すフローチャートである。
図10】第1の実施形態に係る類似度特定モデルの学習方法を示すフローチャートである。
図11】第2の実施形態に係る制御装置の構成を示す概略ブロック図である。
図12】第2の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
図13】第2の実施形態に係るステレオ特徴点特定モデルの学習方法を示すフローチャートである。
図14】第3の実施形態に係る制御装置の構成を示す概略ブロック図である。
図15】第3の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
図16】第3の実施形態に係る三次元特徴点特定モデルの学習方法を示すフローチャートである。
図17】第4の実施形態に係る制御装置の構成を示す概略ブロック図である。
図18】第4の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
図19】第4の実施形態に係るステレオマッチングモデルの学習方法を示すフローチャートである。
図20】第5の実施形態に係る制御装置の構成を示す概略ブロック図である。
図21】第5の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
【発明を実施するための形態】
【0008】
〈第1の実施形態〉
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、一実施形態に係る積込場の構成を示す図である。
施工現場には、積込機械である油圧ショベル100と運搬車両であるダンプトラック200とが配備される。油圧ショベル100は、施工現場から土砂等の運搬物Lをすくい、ダンプトラック200に積み込む。ダンプトラック200は、油圧ショベル100によって積み込まれた運搬物Lを所定の排土場に運搬する。ダンプトラック200は、運搬物Lを収容する容器であるベッセル210を備える。ベッセル210は、運搬物Lの投下対象の一例である。施工現場は、現場の一例である。現場とは、積込機械による作業が行われる土地である。
【0009】
《油圧ショベルの構成》
図2は、一実施形態に係る油圧ショベルの外観図である。
油圧ショベル100は、油圧により作動する作業機110と、作業機110を支持する旋回体120と、旋回体120を支持する走行体130とを備える。
【0010】
作業機110は、ブーム111と、アーム112と、バケット113と、ブームシリンダ114と、アームシリンダ115と、バケットシリンダ116とを備える。
【0011】
ブーム111は、アーム112およびバケット113を支える支柱である。ブーム111の基端部は、旋回体120の前部にブームピンP1を介して取り付けられる。
アーム112は、ブーム111とバケット113とを連結する。アーム112の基端部は、ブーム111の先端部にアームピンP2を介して取り付けられる。
バケット113は、土砂などを掘削するための刃を有する容器である。バケット113の基端部は、アーム112の先端部にバケットピンP3を介して取り付けられる。
【0012】
ブームシリンダ114は、ブーム111を作動させるための油圧シリンダである。ブームシリンダ114の基端部は、旋回体120に取り付けられる。ブームシリンダ114の先端部は、ブーム111に取り付けられる。
アームシリンダ115は、アーム112を駆動するための油圧シリンダである。アームシリンダ115の基端部は、ブーム111に取り付けられる。アームシリンダ115の先端部は、アーム112に取り付けられる。
バケットシリンダ116は、バケット113を駆動するための油圧シリンダである。バケットシリンダ116の基端部は、アーム112に取り付けられる。バケットシリンダ116の先端部は、バケット113に取り付けられる。
【0013】
旋回体120には、オペレータが搭乗する運転室121が備えられる。運転室121は、旋回体120の前方かつ作業機110の左側(+Y側)に備えられる。
【0014】
《油圧ショベルの制御系》
油圧ショベル100は、作業機位置検出器122、位置方位演算器123、傾斜検出器124、ステレオカメラ125、操作装置126、制御装置127、表示装置128を備える。
【0015】
作業機位置検出器122は、作業機110の姿勢角を検出する。第1の実施形態に係る作業機位置検出器122は、ブームシリンダ114、アームシリンダ115、およびバケットシリンダ116のそれぞれのストローク長を検出するストローク検出器である。これにより、後述する制御装置127は、ブームシリンダ114、アームシリンダ115、およびバケットシリンダ116のそれぞれのストローク長に基づいて作業機110の姿勢角を検出することができる。他方、他の実施形態においては、これに限られず、作業機位置検出器122として、ストローク検出器に代えて、またはストローク検出器と併用して、IMU,ロータリーエンコーダや水平器等の角度検出器を用いてもよい。
【0016】
位置方位演算器123は、旋回体120の位置および旋回体120が向く方位を演算する。位置方位演算器123は、GNSS(Global Navigation Satellite System)を構成する人工衛星から測位信号を受信する第1受信器1231および第2受信器1232を備える。第1受信器1231および第2受信器1232は、それぞれ旋回体120の異なる位置に設置される。位置方位演算器123は、第1受信器1231が受信した測位信号に基づいて、現場座標系における旋回体120の代表点(車体座標系の原点)の位置を検出する。
位置方位演算器123は、第1受信器1231が受信した測位信号と、第2受信器1232が受信した測位信号とを用いて、検出された第1受信器1231の設置位置に対する第2受信器1232の設置位置の関係として、旋回体120の方位を演算する。なお、他の実施形態に係る位置方位演算器123は、第1受信器1231および第2受信器1232に代えて、ロータリーエンコーダやIMUなどの他の装置を備えることで旋回体120の方位を計測してもよい。
【0017】
傾斜検出器124は、旋回体120の加速度および角速度を計測し、計測結果に基づいて旋回体120の傾き(例えば、X軸に対する回転を表すロール、Y軸に対する回転を表すピッチ、およびZ軸に対する回転を表すヨー)を検出する。傾斜検出器124は、例えば運転室121の下面に設置される。傾斜検出器124は、例えば、慣性計測装置であるIMU(Inertial Measurement Unit)を用いることができる。
【0018】
ステレオカメラ125は、運転室121の上部に設けられる。ステレオカメラ125は、運転室121内の前方(+X方向)かつ上方(+Z方向)に設置される。ステレオカメラ125は、運転室121前面のフロントガラスを通して、運転室121の前方(+X方向)を撮像する。ステレオカメラ125は、少なくとも1対のカメラを備える。
【0019】
操作装置126は運転室121の内部に設けられる。操作装置126は、オペレータによって操作されることで作業機110のアクチュエータに作動油を供給する。操作装置126の操作量に応じて、ブームシリンダ114、アームシリンダ115、バケットシリンダ116、および図示しない旋回モータに作動油が供給され、作業機110および旋回体120が駆動する。
【0020】
制御装置127は、作業機位置検出器122、位置方位演算器123、傾斜検出器124およびステレオカメラ125から情報を取得し、バケット113とダンプトラック200のベッセルとの位置関係を示すガイダンス情報を生成する。
【0021】
表示装置128は、制御装置127が生成したガイダンス情報を表示する。
なお、実施形態によっては、油圧ショベル100は、作業機位置検出器122、位置方位演算器123、傾斜検出器124、ステレオカメラ125、および表示装置128を備えないものであってもよい。
【0022】
《ステレオカメラの構成》
第1の実施形態においては、ステレオカメラ125は、右側カメラ1251および左側カメラ1252を備える。各カメラの例としては、例えばCCD(Charge Coupled Device)センサ、およびCMOS(Complementary Metal Oxide Semiconductor)センサを用いたカメラが挙げられる。
【0023】
右側カメラ1251と左側カメラ1252は、それぞれ光軸が運転室121の床面に対して略平行となるように、左右方向(Y軸方向)に間隔を空けて設置される。ステレオカメラ125は撮像装置の一例である。制御装置127は、右側カメラ1251が撮像した画像と左側カメラ1252が撮像した画像とを用いることで、ステレオカメラ125と撮像対象との距離を算出することができる。以下、右側カメラ1251が撮像した画像を右目画像ともいう。また、左側カメラ1252が撮像した画像を左目画像ともいう。また、ステレオカメラ125の各カメラが撮像した画像の組み合わせをステレオ画像ともいう。なお、他の実施形態においては、ステレオカメラ125は、3個以上のカメラによって構成されてもよい。
【0024】
《制御装置の構成》
図3は、第1の実施形態に係る制御装置の構成を示す概略ブロック図である。
制御装置127は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
【0025】
ストレージ93には、作業機110を制御するためのプログラムが記憶されている。ストレージ93の例としては、HDD(Hard Disk Drive)、不揮発性メモリ等が挙げられる。ストレージ93は、制御装置127のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介して制御装置127に接続される外部メディアであってもよい。ストレージ93は、記憶部の一例である。
【0026】
プロセッサ91は、ストレージ93からプログラムを読み出してメインメモリ92に展開し、プログラムに従って処理を実行する。またプロセッサ91は、プログラムに従ってメインメモリ92に記憶領域を確保する。メインメモリ92は、記憶部の一例である。インタフェース94は、作業機位置検出器122、位置方位演算器123、傾斜検出器124、ステレオカメラ125、表示装置128、およびその他の周辺機器と接続され、信号の授受を行う。
【0027】
プロセッサ91は、プログラムの実行により、データ取得部1701、特徴点特定部1702、対応点特定部1703、ベッセル位置特定部1704、作業機位置特定部1705、ガイダンス情報生成部1706、表示制御部1707、学習部1801を備える。また、ストレージ93には、カメラパラメータCP、特徴点特定モデルM1、類似度特定モデルM2、および三次元モデルDが記憶される。カメラパラメータとは、旋回体120と右側カメラ1251との位置関係、および旋回体120と左側カメラ1252との位置関係を示す情報である。三次元モデルDは、ベッセル210の形状を表す三次元データである。なお、他の実施形態においては、ベッセルの形状に代えて、ダンプトラック200の形状を表す三次元モデルDを用いてもよい。また、ストレージ93は、三次元モデルDを記憶しなくてもよい。
なお、プログラムは、制御装置127に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ93に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、制御装置127は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【0028】
データ取得部1701は、インタフェース94を介して作業機位置検出器122、位置方位演算器123、傾斜検出器124、およびステレオカメラ125からデータを取得する。すなわち、データ取得部1701は、作業機110の姿勢角、旋回体120の位置、方位、および傾き、ならびにステレオ画像を取得する。データ取得部1701は、画像取得部の一例である。以下、旋回体120の位置、方位、および傾きを、旋回体120の姿勢ともいう。またステレオカメラ125は旋回体120に設けられるため、旋回体120の位置、方位、および傾きは、ステレオカメラ125の姿勢でもある。すなわち、データ取得部1701は、姿勢取得部の一例である。
【0029】
図4は、ベッセルの特徴点の例を示す図である。
特徴点特定部1702は、データ取得部1701が取得したステレオ画像の右目画像を、ストレージ93に記憶された特徴点特定モデルM1に入力することで、右目画像に写るベッセル210の複数の特徴点の位置を特定する。特徴点特定部1702は、第1位置特定部の一例である。右目画像は、第1画像の一例である。ベッセル210の特徴点の例としては、ベッセル210のフロントパネルの左上端p1、フロントパネルの右上端p2、フロントパネルの左ガードフレームと左サイドゲートとの交点p3、フロントパネルの右ガードフレームと右サイドゲートとの交点p4、テールゲートの左固定柱の上端p5、テールゲートの右固定柱の上端p6、テールゲートの左固定柱の下端p7、テールゲートの右固定柱の下端p8、フロントパネルの左固定柱の下端p9、およびフロントパネルの右固定柱の下端p10などが挙げられる。つまり、特徴点は、投下対象の所定の部分の位置の一例である。なお、他の実施形態においては、上記の特徴点p1~p10の一部、例えば、ベッセルの四隅の特徴点である特徴点p7、p8、p9、p10のみを特定してもよい。また、高さが異なる特徴点を含めて特定(例えば、p7、p8、p9、p10と、p1またはp2)することで、ベッセル210の傾きを特定することができる。
【0030】
特徴点特定モデルM1は、図5に示すニューラルネットワーク140を含む。図5は、ニューラルネットワークの構成の例を示す図である。特徴点特定モデルM1は、例えば、DNN(Deep Neural Network)の学習済みモデルによって実現される。学習済みモデルとは、学習モデルと学習済みパラメータの組み合わせによって構成される。
図5に示すようにニューラルネットワーク140は、入力層141、1つまたは複数の中間層142(隠れ層)、及び出力層143を含む。各層141,142,143は、1又は複数のニューロンを備えている。中間層142のニューロンの数は、適宜設定することができる。出力層143は、特徴点の数に応じて適宜設定することができる。
【0031】
互いに隣接する層のニューロン同士は結合されており、各結合には重み(結合荷重)が設定されている。ニューロンの結合数は、適宜設定されてよい。各ニューロンには閾値が設定されており、各ニューロンへの入力値と重みとの積の和が閾値を超えているか否かによって各ニューロンの出力値が決定される。
【0032】
入力層141には、ダンプトラック200のベッセル210が写る画像が入力される。
出力層143には、画像の各画素について特徴点である確率を示す出力値が出力される。つまり、特徴点特定モデルM1は、ベッセル210が写る画像が入力されると、当該画像におけるベッセル210の特徴点の位置を出力するように訓練された学習済みモデルである。特徴点特定モデルM1は、例えば、ダンプトラック200のベッセル210が写る画像を学習データとし、ベッセル210の特徴点ごとに当該特徴点の位置をプロットした画像を教師データとする学習用データセットを用いて訓練される。教師データは、プロットに係る画素は特徴点である確率が1であることを示す値を有し、他の画素は特徴点である確率が0であることを示す値を有する画像である。なお、プロットに係る画素は特徴点である確率が1であることを示し、他の画素は特徴点である確率が0であることを示す情報であればよく、画像でなくてもよい。なお、本実施形態において「学習データ」とは、学習モデルの訓練時に入力層に入力されるデータをいう。本実施形態において「教師データ」とは、ニューラルネットワーク140の出力層の値と比較するための正解となるデータである。本実施形態において「学習用データセット」とは、学習データと教師データの組み合わせをいう。学習によって得られた特徴点特定モデルM1の学習済みパラメータは、ストレージ93に記憶されている。学習済みパラメータは、例えば、ニューラルネットワーク140の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロン間の結合の重み、及び各ニューロンの閾値を含む。
特徴点特定モデルM1のニューラルネットワーク140の構成としては、例えば、顔器官検出に用いられるDNN構成や、人物の姿勢推定に用いられるDNN構成を用いることができる。特徴点特定モデルM1は、位置特定モデルの一例である。なお、他の実施形態に係る特徴点特定モデルM1は、教師なし学習または強化学習によって訓練されたものであってもよい。
【0033】
対応点特定部1703は、ステレオ画像と、特徴点特定部1702が特定した右目画像の各特徴点の位置とに基づいて、左目画像に写るベッセル210の複数の特徴点の位置を特定する。対応点特定部1703は、第2位置特定部の一例である。左目画像は、第2画像の一例である。例えば、対応点特定部1703は、以下の方法で左目画像に写るベッセル210の複数の特徴点の位置を特定する。まず、対応点特定部1703は、左目画像を所定サイズの複数の部分画像(部分左目画像)に分割する。次に、対応点特定部1703は、類似度特定モデルM2を用いて、右目画像のうち特徴点特定部1702が特定した各特徴点を含む部分画像(部分右目画像)と、各部分左目画像との類似度を演算する。対応点特定部1703は、各部分右目画像について、部分左目画像の中から最も類似度が高いものを抽出する。対応点特定部1703は、左目画像のうち抽出された部分左目画像が存在する位置を、左目画像に写るベッセル210の特徴点の位置と特定する。なお、このとき、対応点特定部1703は、複数の部分左目画像のうち、対応する部分右目画像と同一のエピポーラ線上に位置する部分左目画像のみを対象として類似度を計算してもよい。
【0034】
類似度特定モデルM2は、例えば、DNN(Deep Neural Network)の学習済みモデルによって実現される。類似度特定モデルM2のDNN構成としては、例えば、Siamese Networkモデルを利用することができる。図6は、Siamese Networkモデルの構成の例を示す図である。類似度特定モデルM2は、入力画像から特徴量を算出する2つのニューラルネットワーク140と、距離演算部150とを備えるSiamese Networkモデルである。類似度特定モデルM2の各ニューラルネットワーク140の入力層141には、それぞれ部分画像が入力される。各ニューラルネットワーク140の出力層143からは、部分画像の特徴量を示す出力値が出力される。距離演算部150は、各ニューラルネットワーク140が出力した特徴量の距離を演算する。部分画像の特徴量の距離は、部分画像の類似度と等価である。距離は、例えばユークリッド距離、コサイン類似度などによって表されてよい。類似度特定モデルM2は、2つの部分画像と、当該部分画像の類似度との組み合わせを教師データとして訓練される。すなわち、類似度特定モデルM2は、2つの部分画像の類似度が高いほど、特徴量の値が近くなり、2つの部分画像の類似度が低いほど、特徴量の値が遠くなるように、ニューラルネットワーク140のパラメータを変更することで、訓練がなされる。学習によって得られた類似度特定モデルM2の学習済みパラメータは、ストレージ93に記憶されている。
なお、類似度特定モデルM2の訓練には、必ずしもベッセル210が写る画像を用いなくてもよい。類似度特定モデルM2は、対応位置特定モデルの一例である。また、他の実施形態においては、対応点特定部1703は、ORB(Oriented FAST and Rotated BRIEF)およびSIFT(Scale Invariant Feature Transform)等の画像特徴量、またはSAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、およびNCC(Normalized Cross Correlation)等のテンプレートマッチング手法を用いて、左目画像に写るベッセル210の複数の特徴点の位置を特定してもよい。
【0035】
ベッセル位置特定部1704は、特徴点特定部1702が特定した右目画像上の特徴点と、対応点特定部1703が特定した左目画像上の特徴点と、ストレージ93に記憶されたカメラパラメータと、旋回体120の姿勢情報とを用いて、ベッセル210の現場座標系における位置を特定する。具体的には、ベッセル位置特定部1704は、以下の方法でベッセル210のベッセル210の現場座標系における位置を特定する。まず、ベッセル位置特定部1704は、特徴点特定部1702が特定した右目画像上の特徴点と、対応点特定部1703が特定した左目画像上の特徴点と、ストレージ93に記憶されたカメラパラメータに基づく三角測量により、車体座標系における各特徴点の位置を特定する。次に、ベッセル位置特定部1704は、旋回体120の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する。このとき、ベッセル位置特定部1704は、ベッセル210の少なくとも3つの特徴点を特定することで、ベッセル210の位置を特定することができる。例えば、ベッセル位置特定部1704は、当該少なくとも3つの特徴点に、ダンプトラック200の三次元モデルの特徴点を合わせるように、現場座標系で表される仮想空間に三次元モデルを配置することで、ベッセル210の現場座標系における位置を特定することができる。
なお、他の実施形態に係るベッセル位置特定部1704は、車体座標系またはカメラ座標系における特徴点の位置を特定してもよい。ベッセル位置特定部1704は、位置特定部の一例である。
【0036】
作業機位置特定部1705は、データ取得部1701が取得した作業機110の姿勢角と旋回体120の姿勢情報とに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する。
【0037】
ガイダンス情報生成部1706は、ベッセル位置特定部1704が特定したベッセル210の位置と、作業機位置特定部1705が特定したブーム111、アーム112、およびバケット113の位置と、データ取得部1701が取得した旋回体120の姿勢情報とに基づいて、ベッセル210とバケット113の位置関係を示すガイダンス情報を生成する。
図7は、ガイダンス情報の一例である。ガイダンス情報生成部1706は、例えば図7に示すように、作業機位置特定部1705が特定したブーム111、アーム112、およびバケット113の位置と、旋回体120の姿勢情報とに基づいて、仮想空間上に油圧ショベル100の三次元モデルを配置する。またガイダンス情報生成部1706は、ダンプトラック200の三次元モデルの特徴点に相当する部分を、ベッセル位置特定部1704が特定したベッセル210の少なくとも3つの特徴点の位置に合わせるように、三次元モデルを配置する。ガイダンス情報生成部1706は、仮想空間上に配置された油圧ショベル100およびダンプトラック200を任意の視点からレンダリングすることで、油圧ショベル100のバケット113とダンプトラック200のベッセル210との位置関係を表すガイダンス情報を生成する。ガイダンス情報生成部1706は、少なくとも3つの特徴点を用いて三次元モデルを配置することで、撮像画像において一部の特徴点が写っていなくても、三次元モデルを適切に配置することができる。またガイダンス情報生成部1706は、検出された他の特徴点に基づいて、三次元モデルの配置の良否を判定することで、ノイズによって誤った点を特徴点として抽出した場合にも、当該ノイズを除去することができる。なお、他の実施形態においては、2つの特徴点に基づいて三次元モデルを配置してもよい。また、他の実施形態に係るガイダンス情報は、バケット113とベッセル210との位置関係をグラフィカルに描くものでなくてもよい。例えば、他の実施形態に係るガイダンス情報は、上方からの平面視においてバケット113がベッセル210の外枠内に位置するか否かを示す情報であってもよい。また、他の実施形態に係るガイダンス情報は、バケット113の目標の掘削位置の表示、またはバケット113の掘削位置に対するガイダンス情報(例えば、現状のバケット113の位置と目標の掘削位置との差分を示す情報、または表示)であってもよい。また、目標の掘削位置までどれくらいの操作が必要であるかを示す情報、または表示であってもよい。また、少なくともベッセル210とバケット113のみを表示するものであってもよい。
【0038】
表示制御部1707は、ガイダンス情報を表示する表示信号を表示装置128に出力する。
学習部1801は、特徴点特定モデルM1および類似度特定モデルM2の学習処理を行う。なお、学習部1801は、制御装置127と別個の装置に設けられてもよい。この場合、別個の装置において学習された学習済みモデルが、ストレージ93に記録されることとなる。
【0039】
《表示方法》
図8は、第1の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部1701は、インタフェース94を介して作業機位置検出器122から作業機110の姿勢角を取得し、位置方位演算器123から、旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS1)。次に、特徴点特定部1702は、データ取得部1701が取得したステレオ画像の右目画像を、ストレージ93に記憶された特徴点特定モデルM1に入力することで、右目画像に写るベッセル210の複数の特徴点の位置を特定する(ステップS2)。
【0040】
次に、対応点特定部1703は、データ取得部1701が取得したステレオ画像の左目画像を複数の部分左目画像に分割する(ステップS3)。次に、対応点特定部1703は、右目画像から、ステップS2で特定した各特徴点を含む複数の部分右目画像を抽出する(ステップS4)。次に、対応点特定部1703は、ストレージ93に記憶された類似度特定モデルM2に、複数の部分左目画像と複数の部分右目画像とをそれぞれ1つずつ入力し、当該部分左目画像と当該部分右目画像との類似度を演算する(ステップS5)。すなわち、部分左目画像の数がN、部分右目画像の数がMである場合、N×M個の組み合わせについて、類似度の演算を実行する。対応点特定部1703は、各部分右目画像について、複数の部分左目画像の中から最も類似度が高い部分左目画像を抽出する(ステップS6)。対応点特定部1703は、左目画像のうち抽出された部分左目画像が存在する位置を、左目画像に写るベッセル210の特徴点の位置と特定する(ステップS7)。
【0041】
ベッセル位置特定部1704は、ステップS2で特定した右目画像上の特徴点と、ステップS7で特定した左目画像上の特徴点と、ストレージ93に記憶されたカメラパラメータとに基づく三角測量により、車体座標系における各特徴点の位置を特定する(ステップS8)。次に、ベッセル位置特定部1704は、旋回体120の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する(ステップS9)。
【0042】
作業機位置特定部1705は、データ取得部1701が取得した作業機110の姿勢角と旋回体120の姿勢情報とに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する(ステップS10)。
【0043】
ガイダンス情報生成部1706は、ステップS9で特定した特徴点の位置と、ステップS10で特定したブーム111、アーム112、およびバケット113の位置と、ステップS1で取得した旋回体120の姿勢情報とに基づいて、図5に示すガイダンス情報を生成する(ステップS11)。表示制御部1707は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS12)。
《学習方法》
【0044】
図9は、第1の実施形態に係る特徴点特定モデルM1の学習方法を示すフローチャートである。データ取得部1701は、学習データを取得する(ステップS101)。例えば、特徴点特定モデルM1における学習データは、ベッセル210が写る画像である。学習データは、ステレオカメラ125が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。なお、ダンプトラックとは異なる作業機械、例えばホイールローダのベッセルが写る画像を学習データとしてもよい。様々な種類の作業機械のベッセルを学習データとすることで、ベッセル認識のロバスト性を向上することができる。
【0045】
次に、学習部1801は、特徴点特定モデルM1の学習を行う。学習部1801は、ステップS101で取得した学習データと、ベッセルの特徴点の位置をプロットした画像である教師データとの組み合わせを学習用データセットとして、特徴点特定モデルM1の学習を行う(ステップS102)。例えば、学習部1801は、学習データを入力として用いて、ニューラルネットワーク140の順伝播方向の演算処理を行う。これにより、学習部1801は、ニューラルネットワーク140の出力層143から出力される出力値を得る。なお、学習用データセットは、メインメモリ92、またはストレージ93に記憶してもよい。次に、学習部1801は、出力層143からの出力値と、教師データとの誤差を算出する。出力層143からの出力値は、各画素について特徴点である確率を表す値であり、教師データは、特徴点の位置をプロットした情報である。学習部1801は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習部1801は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【0046】
学習部1801は、特徴点特定モデルM1からの出力値が、教師データと一致するか否かを判定する(ステップS103)。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。特徴点特定モデルM1からの出力値が、教師データと一致しない場合(ステップS103:NO)、特徴点特定モデルM1からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、特徴点特定モデルM1のパラメータが最適化され、特徴点特定モデルM1を学習させることができる。
特徴点特定モデルM1からの出力値が、教師データと一致する場合(ステップS103:YES)、学習部1801は、学習によって最適化されたパラメータを含む学習済みモデルである特徴点特定モデルM1を、ストレージ93に記録する(ステップS104)。
【0047】
図10は、第1の実施形態に係る類似度特定モデルM2の学習方法を示すフローチャートである。データ取得部1701は、学習データを取得する(ステップS111)。例えば、類似度特定モデルM2における学習データは、対応点特定部が切り出すサイズの2つの画像パッチである。学習データは、ステレオカメラ125が撮像する画像から生成してもよい。また、任意の画像から生成してもよい。なお、ダンプトラックとは異なる作業機械、例えばホイールローダのベッセルが写る画像を学習データとしてもよい。
【0048】
次に、学習部1801は、類似度特定モデルM2の学習を行う。学習部1801は、ステップS111で取得した学習データと、学習データに係る画像パッチどうしの類似度である教師データとの組み合わせを学習用データセットとして、類似度特定モデルM2の学習を行う(ステップS112)。例えば、学習部1801は、学習データに係る2つの画像をそれぞれ入力として用いて、ニューラルネットワーク140の順伝播方向の演算処理を行う。ニューラルネットワーク140は、2つの画像の特徴量を演算する。そして、距離演算部150は、2つの特徴量の距離を演算する。距離演算部150が演算する距離は、2つの画像の類似度と等価である。なお、学習用データセットは、メインメモリ92、またはストレージ93に記憶してもよい。次に、学習部1801は、距離演算部150から出力される距離と、教師データである類似度との誤差を算出する。学習部1801は、算出した出力値の誤差から、バックプロパゲーションにより、各ニューロン間の結合の重み、及び、各ニューロンの閾値のそれぞれの誤差を算出する。そして、学習部1801は、算出した各誤差に基づいて、各ニューロン間の結合の重み、及び、各ニューロンの閾値の更新を行う。
【0049】
学習部1801は、類似度特定モデルM2からの出力値が、教師データと一致するか否かを判定する(ステップS113)。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。類似度特定モデルM2からの出力値が、教師データと一致しない場合(ステップS113:NO)、類似度特定モデルM2からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、類似度特定モデルM2のパラメータが最適化され、類似度特定モデルM2を学習させることができる。
類似度特定モデルM2からの出力値が、教師データと一致する場合(ステップS113:YES)、学習部1801は、学習によって最適化されたパラメータを含む学習済みモデルである類似度特定モデルM2を、ストレージ93に記録する(ステップS114)。
【0050】
《作用・効果》
このように、第1の実施形態によれば、制御装置127は、運搬物の投下対象が写る撮像画像を学習済みモデルである位置特定モデルに入力することで、撮像画像に写る投下対象の特徴点の現場における位置を特定する。このように、第1の実施形態に係る制御装置127は、投下対象の位置を、画像に含まれるエッジによらずに特定することができる。これにより、第1の実施形態に係る制御装置127は、撮像画像に轍などの直線部分が写っていたとしても、運搬物の投下対象の位置を、ロバストに特定することができる。また、ステレオカメラを用いて投下対象の位置を特定する場合、投下対象の三次元位置を特定することができる。なお、実施形態によっては、図8に示す制御装置127による処理のうち、ステップS2~ステップS7、ステップS9~S12の処理が実施されなくてもよい。
また、第1の実施形態に係る制御装置127は、ガイダンス情報を表示する。これにより、作業機械と運搬物の投下対象との相対位置によっては、オペレータは、投下対象を視認しづらい場合であっても、投下対象を認識することができる。また、ガイダンス情報として表示される投下対象を目安に作業機110を操作することによって、作業効率を高めることができる。
【0051】
また、第1の実施形態に係る制御装置127は、撮像画像から、当該撮像画像上の特徴点の位置を特定し、ステレオカメラ125の姿勢に基づいて、撮像画像上の特徴点の位置から現場座標系における特徴点の位置を特定する。これにより、油圧ショベル100の動作によりステレオカメラ125の姿勢が変わる場合にも、現場座標系における特徴点の位置を特定することができる。なお、他の実施形態においては、ステレオカメラ125が施工現場に固設されたものである場合、ステレオカメラ125の姿勢情報を得ることなく、撮像画像から現場座標系における特徴点の位置を特定してもよい。
【0052】
また、第1の実施形態に係る制御装置127は、右目画像から特徴点を抽出する特徴点特定モデルM1と、部分右目画像と部分左目画像の類似度を特定する類似度特定モデルM2とを用いて右目画像における特徴点および左目画像における特徴点を特定する。右目画像の特徴点を抽出するモデルと、左目画像の特徴点を抽出するモデルとを分けることで、適切に特徴点の位置が取得できなかった場合の原因を明確にすることができる。また、類似度特定モデルM2の入力画像は、特徴点特定モデルM1の入力画像と比較して小さく、計算量が小さいため、右目画像および左目画像の両方を特徴点特定モデルM1に基づいてする場合と比較して、速く計算を終えることができる。なお、第1の実施形態に係る制御装置127は、特徴点特定モデルM1を用いて右目画像から特徴点を抽出し、類似度特定モデルM2を用いて左目画像における特徴点を特定するが、これに限られない。例えば、他の実施形態においては、制御装置127は、特徴点特定モデルM1を用いて左目画像から特徴点を抽出し、類似度特定モデルM2を用いて右目画像における特徴点を特定してもよい。
【0053】
〈第2の実施形態〉
以下、図面を参照しながら第2の実施形態について説明する。第1の実施形態に係る制御装置127は、特徴点特定モデルM1と類似度特定モデルM2を用いて、それぞれ右目画像上の特徴点の位置および左目画像上の特徴点の位置を特定する。これに対し、第2の実施形態に係る制御装置127は、1つの学習済みモデルを用いて、右目画像上の特徴点の位置および左目画像上の特徴点の位置を特定する。
【0054】
《制御装置の構成》
図11は、第2の実施形態に係る制御装置の構成を示す概略ブロック図である。
第2の実施形態に係るプロセッサ91は、第1の実施形態に係る特徴点特定部1702および対応点特定部1703に代えて、ステレオ特徴点特定部1708を備える。また、ストレージ93には、第1の実施形態に係る特徴点特定モデルM1および類似度特定モデルM2に代えて、ステレオ特徴点特定モデルM3が記憶される。
【0055】
ステレオ特徴点特定部1708は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶されたステレオ特徴点特定モデルM3に入力することで、右目画像および左目画像に写るベッセル210の複数の特徴点の位置をそれぞれ特定する。ステレオ特徴点特定部1708は、ステレオ位置特定部の一例である。
ステレオ特徴点特定モデルM3は、例えば、DNN(Deep Neural Network)の学習済みモデルによって実現される。つまり、ステレオ特徴点特定モデルM3は、図5に示すニューラルネットワーク140を備える。ステレオ特徴点特定モデルM3は、ダンプトラック200のベッセル210が写るステレオ画像が入力された場合に、当該ステレオ画像の右目画像および左目画像におけるベッセル210の特徴点の位置をそれぞれ出力するように訓練された学習済みモデルである。ステレオ特徴点特定モデルM3は、例えば、ステレオマッチングモデルの転移学習により生成することができる。ステレオマッチングモデルとは、ステレオマッチング用に訓練された学習済みモデルであって、例えば、ステレオ画像が入力された場合に、深度を示す深度画像を出力するモデルである。ステレオマッチングモデルは、必ずしもダンプトラックが写るステレオによって学習されたものでなくてよい。具体的には、ステレオ特徴点特定モデルM3は、ステレオマッチングモデルの出力層を、当該ステレオ画像の右目画像および左目画像におけるベッセル210の特徴点の位置を出力するように置換したモデルに対し、入力層および入力層側の一部の中間層の値を固定し、ダンプトラック200のベッセル210が写るステレオ画像と、右目画像および左目画像における複数の特徴点の位置との組み合わせを教師データとして用いて訓練される。ステレオ特徴点特定モデルM3は、位置特定モデルの一例である。
【0056】
《表示方法》
図12は、第2の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部1701は、インタフェース94を介して作業機位置検出器122から作業機110の姿勢角を取得し、位置方位演算器123から、旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS21)。次に、ステレオ特徴点特定部1708は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶されたステレオ特徴点特定モデルM3に入力することで、右目画像および左目画像に写るベッセル210の複数の特徴点の位置を特定する(ステップS22)。
【0057】
ベッセル位置特定部1704は、ステップS22で特定した右目画像および左目画像の特徴点と、ストレージ93に記憶されたカメラパラメータとに基づく三角測量により、車体座標系における各特徴点の位置を特定する(ステップS23)。次に、ベッセル位置特定部1704は、旋回体120の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する(ステップS24)。
【0058】
作業機位置特定部1705は、ステップS21で取得した作業機110の姿勢角と旋回体120の姿勢情報とに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する(ステップS25)。
【0059】
ガイダンス情報生成部1706は、ステップS23で特定した特徴点の位置と、ステップS25で特定したブーム111、アーム112、およびバケット113の位置と、ステップS21で取得した旋回体120の姿勢情報とに基づいて、ガイダンス情報を生成する(ステップS26)。表示制御部1707は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS27)。
《学習方法》
【0060】
図13は、第2の実施形態に係るステレオ特徴点特定モデルM3の学習方法を示すフローチャートである。データ取得部1701は、学習データを取得する(ステップS121)。例えば、学習データは、ベッセル210が写るステレオ画像である。また、他の作業機械が撮像したステレオ画像から取得してもよい。
【0061】
次に、学習部1801は、ステレオ特徴点特定モデルM3の学習を行う。なお、ステレオ特徴点特定モデルM3のパラメータの初期値として、入力層141および一部の中間層142のパラメータは、既存の学習済みステレオマッチングモデルのパラメータを流用してよい。学習部1801は、学習データであるベッセル210が写るステレオ画像と、教師データである右目画像のベッセルの特徴点の位置をプロットした画像と左目画像のベッセルの特徴点の位置をプロットした画像との組み合わせを学習用データセットとして、学習モデルの学習を行う(ステップS122)。すなわち、教師データは、ベッセルの特徴点の位置をプロットしたステレオ画像である。なお、学習用データセットは、メインメモリ92、またはストレージ93に記憶してもよい。
【0062】
学習部1801は、ステレオ特徴点特定モデルM3からの出力値が、教師データと一致するか否かを判定する(ステップS123)。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。ステレオ特徴点特定モデルM3からの出力値が、教師データと一致しない場合(ステップS123:NO)、ステレオ特徴点特定モデルM3からの出力値が、教師データと一致するまで、上記の処理を繰り返す。それにより、学習モデルのパラメータが最適化され、学習を学習させることができる。
ステレオ特徴点特定モデルM3からの出力値が、教師データと一致する場合(ステップS123:YES)、制御装置127は、学習によって最適化されたパラメータを学習済みパラメータとする学習済みモデルであるステレオ特徴点特定モデルM3をストレージ93に保存する(ステップS124)。
【0063】
《作用・効果》
このように、第2の実施形態によれば、制御装置127は、ステレオ画像から特徴点を抽出するステレオ特徴点特定モデルM3を用いて右目画像における特徴点および左目画像における特徴点を特定する。ステレオ特徴点特定モデルM3は、ステレオマッチングモデルの強化学習により得ることができるため、少ない学習コストで、ステレオ特徴点特定モデルM3を生成することができる。
【0064】
〈第3の実施形態〉
以下、図面を参照しながら第3の実施形態について説明する。第1の実施形態および第2の実施形態に係る制御装置127は、学習済みモデルを用いて、画像上の特徴点の位置を特定し、これに基づく三角測量により、特徴点の三次元位置を特定する。これに対し、第3の実施形態に係る制御装置127は、学習済みモデルを用いて、特徴点の三次元位置を特定する。
【0065】
《制御装置の構成》
図14は、第3の実施形態に係る制御装置の構成を示す概略ブロック図である。
第3の実施形態に係るプロセッサ91は、第1の実施形態に係る特徴点特定部1702および対応点特定部1703に代えて、三次元特徴点特定部1709を備える。また、ストレージ93には、第1の実施形態に係る特徴点特定モデルM1および類似度特定モデルM2に代えて、三次元特徴点特定モデルM4が記憶される。また第3の実施形態に係るストレージ93は、カメラパラメータを記憶しなくてもよい。
【0066】
三次元特徴点特定部1709は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶された三次元特徴点特定モデルM4に入力することで、ベッセル210の複数の特徴点の車体座標系における位置をそれぞれ特定する。
三次元特徴点特定モデルM4は、例えば、DNNの学習済みモデルによって実現される。三次元特徴点特定モデルM4は、ダンプトラック200のベッセル210が写るステレオ画像が入力された場合に、特徴点の車体座標系における位置を出力するように訓練された学習済みモデルである。例えば、ステレオ特徴点特定モデルM3は、ダンプトラック200のベッセル210が写るステレオ画像と、車体座標系における複数の特徴点の位置との組み合わせを教師データとして用いて訓練される。
【0067】
《表示方法》
図15は、第3の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部1701は、インタフェース94を介して作業機位置検出器122から作業機110の姿勢角を取得し、位置方位演算器123から、旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS41)。次に、三次元特徴点特定部1709は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶された三次元特徴点特定モデルM4に入力することで、車体座標系におけるベッセル210の複数の特徴点の位置を特定する(ステップS42)。ベッセル位置特定部1704は、ステップS41で取得した旋回体120の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する(ステップS43)。
【0068】
作業機位置特定部1705は、ステップS41で取得した作業機110の姿勢角と旋回体120の姿勢情報とに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する(ステップS44)。
【0069】
ガイダンス情報生成部1706は、ステップS43で特定した特徴点の位置と、ステップS44で特定したブーム111、アーム112、およびバケット113の位置と、ステップS41で取得した旋回体120の姿勢情報とに基づいて、ガイダンス情報を生成する(ステップS45)。表示制御部1707は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS46)。
【0070】
《学習方法》
図16は、第3の実施形態に係る三次元特徴点特定モデルM4の学習方法を示すフローチャートである。データ取得部1701は、学習データを取得する(ステップS141)。例えば、学習データは、ベッセル210が写るステレオ画像である。学習データは、ステレオカメラ125が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。
【0071】
次に、学習部1801は、三次元特徴点特定モデルM4の学習を行う。学習部1801は、学習データであるベッセル210が写るステレオ画像と、教師データである車体座標系における複数の特徴点の位置との組み合わせを学習用データセットとして、三次元特徴点特定モデルM4の学習を行う(ステップS142)。なお、学習用データセットは、メインメモリ92、またはストレージ93に記憶してもよい。
【0072】
学習部1801は、三次元特徴点特定モデルM4からの出力値が、教師データと一致するか否かを判定する(ステップS143)。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。三次元特徴点特定モデルM4からの出力値が、教師データと一致しない場合(ステップS143:NO)、出力値が教師データと一致するまで、上記の処理を繰り返す。それにより、三次元特徴点特定モデルM4のパラメータが最適化され、三次元特徴点特定モデルM4を学習させることができる。
三次元特徴点特定モデルM4からの出力値が、教師データと一致する場合(ステップS143:YES)、学習部1801は、学習によって最適化されたパラメータを学習済みパラメータとする学習済みモデルである三次元特徴点特定モデルM4をストレージ93に保存する(ステップS144)。
《作用・効果》
このように、第3の実施形態によれば、制御装置127は、ステレオ画像から特徴点の三次元位置を抽出する三次元特徴点特定モデルM4を用いて車体座標系における特徴点の位置を特定する。これにより、制御装置127は、少ない構成でダンプトラック200の位置を特定することができる。
【0073】
〈第4の実施形態〉
以下、図面を参照しながら第4の実施形態について説明する。第1の実施形態に係る制御装置127は、特徴点特定モデルM1と類似度特定モデルM2を用いて、それぞれ右目画像上の特徴点の位置および左目画像上の特徴点の位置を特定する。これに対し、第4の実施形態に係る制御装置127は、特徴点特定モデルM1と、ステレオ画像から深度画像を生成するステレオマッチングモデルM5とを用いて、特徴点の三次元位置を特定する。
【0074】
《制御装置の構成》
図17は、第4の実施形態に係る制御装置の構成を示す概略ブロック図である。
第4の実施形態に係るプロセッサ91は、第1の実施形態に係る対応点特定部1703に代えて、深度画像生成部1710を備える。また、ストレージ93には、第1の実施形態に係る類似度特定モデルM2に代えて、ステレオマッチングモデルM5が記憶される。また第3の実施形態に係るストレージ93は、カメラパラメータを記憶しなくてもよい。
【0075】
深度画像生成部1710は、データ取得部1701が取得したステレオ画像を、ストレージ93に記憶されたステレオマッチングモデルM5に入力することで、右目画像の各画素についての深度情報を含む深度画像を出力する。ステレオマッチングモデルM5は、例えば、DNNの学習済みモデルによって実現される。ステレオマッチングモデルM5は、ステレオマッチング用に訓練された学習済みモデルであって、例えば、ステレオ画像が入力された場合に、深度を示す深度画像を出力するモデルである。ステレオマッチングモデルは、必ずしもダンプトラックが写るステレオによって訓練されたものでなくてよい。
【0076】
《表示方法》
図18は、第4の実施形態に係る制御装置によるガイダンス情報の表示方法を示すフローチャートである。
まず、データ取得部1701は、インタフェース94を介して作業機位置検出器122から作業機110の姿勢角を取得し、位置方位演算器123から、旋回体120の位置および方位を取得し、傾斜検出器124から旋回体120の傾きを取得し、ステレオカメラ125からステレオ画像を取得する(ステップS61)。次に、特徴点特定部1702は、データ取得部1701が取得したステレオ画像の右目画像を、ストレージ93に記憶された特徴点特定モデルM1に入力することで、右目画像に写るベッセル210の複数の特徴点の位置を特定する(ステップS62)。
【0077】
次に、深度画像生成部1710は、データ取得部1701が取得したステレオ画像をステレオマッチングモデルM5に入力することで、深度画像を生成する(ステップS63)。ベッセル位置特定部1704は、ステップS62で特定した右目画像上の特徴点に対応する深度を、ステップS63で生成した深度画像から読み取ることで、車体座標系における各特徴点の位置を特定する(ステップS64)。次に、ベッセル位置特定部1704は、旋回体120の姿勢情報に基づいて、車体座標系における各特徴点の位置を、現場座標系における各特徴点の位置に変換する(ステップS65)。
【0078】
作業機位置特定部1705は、データ取得部1701が取得した作業機110の姿勢角と旋回体120の姿勢情報とに基づいて、現場座標系におけるブーム111、アーム112、およびバケット113の位置を特定する(ステップS66)。
【0079】
ガイダンス情報生成部1706は、ステップS65で特定した特徴点の位置と、ステップS66で特定したブーム111、アーム112、およびバケット113の位置と、ステップS61で取得した旋回体120の姿勢情報とに基づいて、ガイダンス情報を生成する(ステップS67)。表示制御部1707は、ガイダンス情報を表示する表示信号を表示装置128に出力する(ステップS68)。
【0080】
《学習方法》
図19は、第4の実施形態に係るステレオマッチングモデルM5の学習方法を示すフローチャートである。データ取得部1701は、学習データを取得する(ステップS161)。例えば、学習データは、ステレオ画像である。学習データは、ステレオカメラ125が撮像する画像から取得してもよい。また、他の作業機械が撮像した画像から取得してもよい。なお、学習データは、必ずしもベッセル210が写る画像でなくてよい。
【0081】
次に、学習部1801は、ステレオマッチングモデルM5の学習を行う。学習部1801は、学習データであるステレオ画像と、教師データである右目画像の各画素についての深度を表す深度画像との組み合わせを学習用データセットとして、ステレオマッチングモデルM5の学習を行う(ステップS162)。なお、学習用データセットは、メインメモリ92、またはストレージ93に記憶してもよい。
【0082】
学習部1801は、ステレオマッチングモデルM5からの出力値が教師データと一致するか否かを判定する(ステップS163)。なお、出力値と、教師データとの誤差が所定値以内であれば、一致すると判定してもよい。ステレオマッチングモデルM5からの出力値が教師データと一致しない場合(ステップS163:NO)、出力値が教師データと一致するまで、上記の処理を繰り返す。それにより、ステレオマッチングモデルM5のパラメータが最適化され、ステレオマッチングモデルM5を学習させることができる。
他方、ステレオマッチングモデルM5からの出力値が教師データと一致する場合(ステップS163:YES)、制御装置127は、学習によって最適化されたパラメータを学習済みパラメータとする学習済みモデルであるステレオマッチングモデルM5をしてストレージ93に保存する(ステップS164)。
【0083】
《作用・効果》
このように、第4の実施形態によれば、制御装置127は、ステレオ画像から深度画像を生成するステレオマッチングモデルM5を用いて車体座標系における特徴点の位置を特定する。これにより、制御装置127は、既知のステレオマッチングモデルM5を利用してダンプトラック200の位置を特定することができる。
なお、第4の実施形態に係る制御装置127は、特徴点特定モデルM1を用いて右目画像から特徴点を抽出するが、これに限られない。例えば、他の実施形態においては、制御装置127は、特徴点特定モデルM1を用いて左目画像から特徴点を抽出してもよい。
【0084】
〈第5の実施形態〉
以下、図面を参照しながら第5の実施形態について説明する。第1から第4の実施形態に係る制御装置127は、特定したベッセル210の特徴点の位置に基づいてガイダンス情報を生成し、これをオペレータに提示する。これに対し、第5の実施形態に係る制御装置127は、特定したベッセル210の特徴点の位置に基づいて作業機の積込作業を制御する。
【0085】
《制御装置の構成》
図20は、第5の実施形態に係る制御装置の構成を示す概略ブロック図である。
第5の実施形態に係るプロセッサ91は、第1の実施形態に係るガイダンス情報生成部1706および表示制御部1707に代えて、作業機械制御部1711を備える。
【0086】
作業機械制御部1711は、オペレータによって、操作装置126に設けられた自動積込ボタンの押下がなされた場合に、ベッセル位置特定部1704が特定したベッセル210の特徴点の位置に基づいて、旋回体120および作業機110の挙動を制御する。
【0087】
《表示方法》
図21は、第5の実施形態に係る油圧ショベルの制御方法を示すフローチャートである。
自動積込ボタンが押下されると、制御装置127は、第1の実施形態のステップS1からステップS10までと同様の処理により、ベッセル210の特徴点および作業機110の現場座標系における位置を特定する。そして、作業機械制御部1711は、ベッセル210の特徴点および作業機110の現場座標系における位置に基づいて、旋回体120および作業機110の制御信号を生成し、出力する(ステップS81)。
【0088】
例えば、作業機械制御部1711は、バケット113の高さが特徴点の高さより低い場合、ブーム111を上げる制御信号を生成する。作業機械制御部1711は、バケット113の高さが特徴点の高さ以上になった場合、ブーム111を上げる制御信号の出力を停止し、旋回体120を旋回させる制御信号の出力を開始する。作業機械制御部1711は、バケット113の高さが特徴点の高さ以上であり、かつバケット113の上方から平面視したときの位置が、特徴点の位置から特定されるベッセル210の範囲内に位置する場合、旋回体120を旋回させる制御信号の出力を停止し、バケット113をダンプさせる制御信号を生成する。
【0089】
《作用・効果》
このように、第5の実施形態によれば、制御装置127は、撮像画像に基づいて油圧ショベル100を自動制御することができる。制御装置127は、学習済みモデルを用いてベッセル210の位置を特定するため、撮像画像に轍などの直線部分が写っていたとしても、運搬物の投下対象の位置を、ロバストに特定することができる。
【0090】
なお、第5の実施形態に係る制御装置127は、第1の実施形態と同様の学習済みモデルを用いてベッセル210の位置を特定するが、これに限られず、第2から第4の実施形態に係る学習済みモデルを用いてベッセル210の位置を特定してもよい。
また、第5の実施形態に係る制御装置127は、特徴点特定モデルM1を用いて右目画像から特徴点を抽出し、類似度特定モデルM2を用いて左目画像における特徴点を特定するが、これに限られない。例えば、他の実施形態においては、制御装置127は、特徴点特定モデルM1を用いて左目画像から特徴点を抽出し、類似度特定モデルM2を用いて右目画像における特徴点を特定してもよい。
【0091】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述の実施形態に係る制御装置127は、油圧ショベル100に搭載されるが、これに限られない。例えば、他の実施形態に係る制御装置127は、遠隔のサーバ装置に設けられてもよい。また、制御装置127は、複数のコンピュータから実現されるものであってもよい。この場合、制御装置127の一部の構成が遠隔のサーバ装置に設けられるものであってもよい。すなわち、制御装置127は、複数の装置からなる画像処理システムとして実装されてもよい。また、油圧ショベル100は、完全自律型、一部自律型の油圧ショベルであってもよい。また、ガイダンス情報を表示する表示信号を作業機械を遠隔操作するための遠隔運転室に送信するものであってもよい。
【0092】
また、上述の実施形態に係る投下対象は、ダンプトラック200のベッセル210だが、これに限られない。例えば、他の実施形態に係る投下対象は、ホッパなどの他の投下対象であってもよい。
【0093】
また、上述の実施形態に係る撮像画像はステレオ画像であるが、これに限られない。例えば、他の実施形態においては、ステレオ画像に代えて1枚の画像に基づいて計算を行ってもよい。この場合、制御装置127は、例えば1枚の画像から深度情報を生成する学習済みモデルを用いることで、現場座標系における特徴点の位置を特定することができる。
【0094】
また、上述の実施形態に係る学習済みモデルは、それぞれストレージ93に記憶されているが、これに限られない。例えば、他の実施形態に係る学習済みモデルは、プログラムの形式でメインメモリ92に展開されて、プロセッサ91が推論を行うものであってもよい。
【符号の説明】
【0095】
91…プロセッサ 92…メインメモリ 93…ストレージ 94…インタフェース 100…油圧ショベル 110…作業機 111…ブーム 112…アーム 113…バケット 114…ブームシリンダ 115…アームシリンダ 116…バケットシリンダ 120…旋回体 121…運転室 122…作業機位置検出器 123…位置方位演算器 1231…第1受信器 1232…第2受信器 124…傾斜検出器 125…ステレオカメラ 1251…右側カメラ 1252…左側カメラ 126…操作装置 127…制御装置 1701…データ取得部 1702…特徴点特定部 1704…ベッセル位置特定部 1705…作業機位置特定部 1706…ガイダンス情報生成部 1707…表示制御部 1703…対応点特定部 1708…ステレオ特徴点特定部 1709…三次元特徴点特定部 1710…深度画像生成部 1711…作業機械制御部 128…表示装置 130…走行体 200…ダンプトラック 210…ベッセル P1…ブームピン P2…アームピン P3…バケットピン L…運搬物 CP…カメラパラメータ M1…特徴点特定モデル M2…類似度特定モデル M3…ステレオ特徴点特定モデル M4…三次元特徴点特定モデル M5…ステレオマッチングモデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21