(57)【要約】  本発明は、容器内の物体の撮影画像に死角領域が存在する場合に、撮影画像を用いて容器内の物体の体積推定精度を向上させる。  バケット１３内の物体の死角領域を推定する死角推定部３１０と、死角領域の物体の形状を推定する死角領域形状推定部３２０と、死角領域の物体の体積を推定する体積推定部３３０と、を備え、死角推定部３１０は、複数のカメラが撮影したバケット１３内の物体の撮影画像から求めたメッシュ視差データにより死角領域を推定し、死角領域形状推定部３２０は、メッシュ視差データにより死角領域の物体の形状を推定し、体積推定部３３０は、死角領域形状推定部３２０で推定された死角領域の物体の形状と、バケット１３の底の形状とに基づき死角領域の物体の体積を推定する。
2016092684.tif 000002
【特許請求の範囲】
【請求項１】
容器内の物体の死角領域を推定する死角推定部と、
前記死角領域の物体の形状を推定する死角領域形状推定部と、
前記死角領域の物体の体積を推定する体積推定部と、を備え、
前記死角推定部は、複数のカメラが撮影した前記容器内の物体の撮影画像から求めたメッシュ視差データにより前記死角領域を推定し、
前記死角領域形状推定部は、前記メッシュ視差データにより前記死角領域の物体の形状を推定し、
前記体積推定部は、前記死角領域形状推定部で推定された前記死角領域の物体の形状と、前記容器の底の形状とに基づき前記死角領域の物体の体積を推定する体積推定装置。
【請求項２】
請求項１において、
前記容器内で２次元上に区分されたメッシュ群に死角領域判定メッシュが含まれ、
前記死角推定部は、前記メッシュ視差データを用いて、前記死角領域判定メッシュのメッシュ視差データと前記死角領域判定メッシュの１つ上のメッシュのメッシュ視差データとの差が死角領域判定値以上の場合の、前記死角領域判定メッシュと前記死角領域判定メッシュの１つ上のメッシュの間を前記死角領域と判定し、
前記死角領域判定値は、前記死角領域判定メッシュのメッシュ視差データによって決められる体積推定装置。
【請求項３】
請求項２において、
前記死角推定部は、前記メッシュ視差データの差の大きさによって前記死角領域の広さを推定する体積推定装置。
【請求項４】
請求項１から３のいずれかにおいて、
前記体積推定装置は、前記死角領域の広さによって前記物体の体積の信頼度を決める信頼度算出部を有し、
前記物体の体積の信頼度は、表示部に表示される体積推定装置。
【請求項５】
請求項１から４のいずれかにおいて、
前記死角領域形状推定部は、前記複数のカメラで撮影した複数の撮影画像から、前記死角領域の広さが最も小さい場合の撮影画像に基づき、前記複数のカメラが撮影した前記死角領域の物体の形状を推定する体積推定装置。
【請求項６】
請求項２から５のいずれかにおいて、
前記物体の突起物領域を判定する突起物判断部を有し、
前記メッシュ群に突起物判定メッシュが含まれ、
前記突起物判断部は、前記突起物判定メッシュのメッシュ視差データと前記突起物判定メッシュの前後のメッシュのメッシュ視差データとの差がそれぞれ突起物領域判定値以上の場合の、前記突起物判定メッシュを突起物領域と判定する体積推定装置。
【請求項７】
請求項６において、
前記突起物領域判定値は、前記突起物判定メッシュのメッシュ視差データによって決められる体積推定装置。
【請求項８】
請求項１から７のいずれかの体積推定装置を用いた作業機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、体積推定装置およびそれを用いた作業機械に関する。
【背景技術】
【０００２】
鉱山における掘削作業効率向上のため、ショベルは規定の掘削回数でダンプを満載にする必要がある。このため１回当たりの掘削量を把握できれば、オペレータは、次に掘削する量を調整できる。【０００３】
この点を鑑みた技術としては、バケット内の掘削物をステレオカメラで撮影して体積を計測するものがある。例えば、特許文献１には、ブーム左右側部またはアーム左右側部に複数台のカメラを備え、バケットのほぼ真上に位置するカメラで撮影しバケット内積み込み容量を算出する方法が記載されている。【０００４】
しかし、特許文献１では死角が生じない位置にバケットが移動した際に撮影して掘削時のバケット内積み込み容量を算出することから、死角領域を推定することは想定していない。【０００５】
一方、死角領域を推定する技術として特許文献２および特許文献３がある。特許文献２は、カメラで得た車両周囲画像に含まれる他車両の可視画像部分から推測された死角情報に基づき、死角部位を補完するための補完画像データを生成する。特許文献３は、測定物にスリット光を照射しているときのスリット画像をカメラで撮影し、１スリット画像毎の容積を演算し、これらを積分して容積全体を求める。そして、スリット画像に死角が生じた場合、得たデータの前後により補正し死角で得られなかったデータを生成することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２４１３００号公報
【特許文献２】特開２０１３−２５５２８号公報
【特許文献３】特開平４−３０１７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２では、他車両の画像をより正確に表示するために他車両の画像の死角部位の形状を補完している。しかし、特許文献２では死角領域の体積は測定していない。特許文献３では、得たデータの前後により直線で補正することから、死角領域を含む測定対象物全体の体積を精度よく測定することは難しい。【０００８】
本発明は、容器内の物体の撮影画像に死角領域が存在する場合に、撮影画像を用いて容器内の物体の体積推定精度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本発明の特徴は、例えば以下の通りである。【００１０】
バケット１３内の物体の死角領域を推定する死角推定部３１０と、死角領域の物体の形状を推定する死角領域形状推定部３２０と、死角領域の物体の体積を推定する体積推定部３３０と、を備え、死角推定部３１０は、複数のカメラが撮影したバケット１３内の物体の撮影画像から求めたメッシュ視差データにより死角領域を推定し、死角領域形状推定部３２０は、メッシュ視差データにより死角領域の物体の形状を推定し、体積推定部３３０は、死角領域形状推定部３２０で推定された死角領域の物体の形状と、バケット１３の底の形状とに基づき死角領域の物体の体積を推定する。
【発明の効果】
【００１１】
本発明によれば、容器内の物体の撮影画像に死角領域が存在する場合に、撮影画像を用いて容器内の物体の体積推定精度を向上させることを目的とする。上記した以外の課題、構成及び効果は以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】油圧ショベルに搭載された体積推定装置の構成図
【図２】ステレオカメラ装置による視差データの作成方法
【図３】バケット内の掘削物が平坦な時のステレオカメラ装置の撮影画像
【図４】掘削物の体積を推定する方法の概要
【図５】掘削物の体積を推定するためのフローチャート
【図６】バケット内の掘削物に死角領域が発生した時の例
【図７】バケット内の掘削物に死角領域が発生した時のメッシュ視差データの例
【図８】死角領域を考慮しないで掘削物の体積を推定した時の推定範囲
【図９】死角領域を考慮した体積推定方法のフローチャート
【図１０】死角領域推定処理の処理概要
【図１１】死角領域判定処理と死角領域推定処理のフローチャート
【図１２】体積の信頼度を表示するためのフローチャート
【図１３】信頼度が最も高い体積推定結果を表示するフローチャート
【図１４】油圧ショベルに搭載された突起物判定部を含む体積推定装置の構成図
【図１５】死角領域と突起物領域を考慮した体積推定方法のフローチャート
【図１６】バケット内の掘削物に突起物領域が発生するときの例
【図１７】突起物領域判定処理のフローチャート
【発明を実施するための形態】
【００１３】
以下、図面等を用いて、本発明の実施形態について説明する。以下の説明は本発明の内容の具体例を示すものであり、本発明がこれらの説明に限定されるものではなく、本明細書に開示される技術的思想の範囲内において当業者による様々な変更および修正が可能である。また、本発明を説明するための全図において、同一の機能を有するものは、同一の符号を付け、その繰り返しの説明は省略する場合がある。
【実施例１】
【００１４】
図１は、体積推定装置３０を搭載した油圧ショベル１０の構成を示したものである。油圧ショベル１０は、掘削するためのブーム１１、アーム１２、バケット１３、上部旋回体１５、を持つ。上部旋回体１５には、運転室１４がある。【００１５】
運転室１４には、外界を認識するためにステレオカメラ装置２１０が設置されている。ステレオカメラ装置２１０は、右カメラ２１２と左カメラ２１１の２つのカメラを持ち、これらの視差を用いて、被写体との距離を測定することができる。ステレオカメラ装置２１０は２つ以上の複数のカメラを備えていれば良く、例えば、カメラの数が３つ、４つでもいい。【００１６】
体積推定装置３０は、ステレオカメラ装置２１０が撮影したバケット１３内の掘削物の体積を推定する装置である。体積推定装置３０は、撮影された容器内の掘削物の死角領域を推定する死角推定部３１０、死角領域の掘削物の形状を推定する死角領域形状推定部３２０、死角領域の掘削物の体積を推定する体積推定部３３０、推定した掘削物の体積の正確さを求める信頼度算出部３６０で構成される。体積の推定結果と信頼度は、表示部４０に表示する。死角推定部３１０は、ステレオカメラ装置２１０が撮影したバケット１３内の掘削物の撮影画像から求めたメッシュ視差データにより、死角領域を推定する。最初に、ステレオカメラ装置２１０が撮影した撮影画像から求めた視差データを入力し、バケット領域設定部３１００でその視差データからバケット１３の領域を抽出する。バケット領域をメッシュ分割し、各メッシュに含まれる視差データから各メッシュのメッシュ視差データを求める。そのバケット領域のメッシュ視差データを用いて、視差データ分析部３１１０が死角領域の判定を行う。次に死角領域形状推定部３２０により、その死角領域の形状を推定する。以降、これらの動作について詳細に説明する。【００１７】
まず、図２において、ステレオカメラ装置２１０が視差データを生成する動作概要について説明する。バケット１３を右撮影部２１２で撮影した右画像３４０と、左撮影部２１１で撮影した左画像３４１がある時、バケット１３の一部３４４は、右画像３４０では地点３４２の位置に撮影され、左画像３４１では地点３４３の位置に撮影される。この結果、地点３４２と地点３４３には視差ｄが生じる。この視差ｄは、バケット１３内の掘削物がステレオカメラ装置２１０に近いものは大きい値となり、遠いものは小さい値となる。このように求めた視差を、画像全体で求める。この視差ｄを用いて、三角測量の原理でバケット１３内の掘削物からステレオカメラ装置２１０までの距離を測定することが出来る。視差ｄから距離Ｚ1は次の式で求められる。【００１８】
Ｚ1 ＝ （ｆ × Ｐ） ／ ｄ
但し、ｆは右及び左カメラの焦点距離、Ｐは右カメラ２１２と左カメラ２１１の距離である。また、視差データを３次元変換するために、上記Ｚ1を求めた地点の３次元上のＸ1、Ｙ1の位置を次の式で表す。【００１９】
Ｘ1 ＝ （Ｚ × ｘｒ） ／ ｆ、
Ｙ1 ＝ （Ｚ × ｙｒ） ／ ｆ
但し、ｘｒは、右画像３４０上でのｘ座標、ｙｒは、右画像３４０上でのｙ座標である。以上のように、ステレオカメラ装置２１０で撮影した画像によって、被写体の３次元空間上の位置（Ｘ1，Ｙ1，Ｚ1）をステレオカメラ装置２１０からの距離で求めることができる。【００２０】
図３は、視線２２０が斜めでも掘削物の死角は発生しない場合の一例として、バケット１３内の掘削物表面が平坦な時のステレオカメラ装置２１０の撮影画像を示したものである。【００２１】
図３（ａ）はカメラ正面から見た図であり、図３（ｂ）はアーム１２の側面に平行な、バケット１３の断面図である。ステレオカメラ装置２１０は運転室１４に設置されているため、斜め上からバケット１３を撮影することになる。この図３では、視線２２０が斜めでも掘削物の死角は発生しない。【００２２】
図４は、掘削物の体積を計算方法の概要を示したものである。図４（ａ）は、撮影画像から求めたバケット１３内を２次元上のメッシュ群２３０に区分した状態の図である。この図は、ステレオカメラ装置２１０でバケット１３をバケット１３の斜め上から撮影した画像であり、バケット１３をバケット１３の真上から撮影した画像ではない。図４（ｂ）はアーム１２の側面に平行な、バケット１３の断面図である。図４（ａ）に示すように、バケット開口面をｘｙ平面とし、カメラで撮った画像の右方向をｘ軸正の方向、上方向をｙ軸正の方向とする。そして、図４（ｂ）の右方向をＹ軸正の方向、下方向をｚ軸正の方向とする。バケット１３のＹ軸方向の長さをＱとする。メッシュ群２３０の各メッシュのメッシュ視差データは、各メッシュに含まれる視差データから求まる。メッシュ視差データを求める方法は、例えば複数の視差データの平均値や中央値を求めたり、視差データの数を減らした後に平均値や中央値を求めるなど、１つの方法に限られない。さらに、メッシュを細かく設定することで、メッシュに含まれる視差データが１つになるメッシュができる。この場合は、メッシュ視差データは視差データと同値になる。【００２３】
バケット１３に掘削物が入っている状態ではバケット１３の底は撮影できないため、バケット１３の形状は予め学習しておく必要がある。バケット１３の形状を学習するための方法としては、バケット１３が空の状態をステレオカメラ装置２１０で撮影し、撮影画像をメッシュで区分した後、それぞれのメッシュにおいてバケット１３の底からバケット開口面までの長さを計算しておく。又は、ＣＡＤデータでバケットの形状を入力しても良い。掘削物が入った状態で各メッシュのバケット１３のバケット開口面から掘削物表面までの長さを求め、バケット１３が空の時のバケット１３の底からバケット開口面までの長さを求め、対応するメッシュ毎に２つの長さを足せば、メッシュ毎にバケット１３の底から掘削物の表面までの長さを求めることができる。それぞれのメッシュにおいて、バケット１３の底から掘削物の表面までの高さを求めてメッシュ毎の体積を計算し、全てのメッシュの体積を合計すればバケット１３内の掘削物の体積を求めることができる。よって、死角領域形状推定部３２０は、メッシュ視差データにより死角領域の掘削物の形状を推定し、体積推定部３３０は、死角領域形状推定部３２０で推定された死角領域の掘削物の形状と、バケット１３の底の形状とに基づき、死角領域の掘削物の体積を推定する。あるメッシュの１つ上のメッシュとは、あるメッシュのｙ軸正の方向に隣り合うメッシュとする。そして、最下部のメッシュとは、撮影画像のメッシュの一番下のメッシュとする。【００２４】
図５は、図４で説明した死角領域が無い場合の掘削物の体積を推定するためのフローチャートを示したものである。【００２５】
＜Ｓ１１０＞
まず、ステレオカメラ装置２１０によりバケット１３を撮影し、撮影画像から視差データを作成する。視差データの作成方法は図２に示したように、被写体の左画像３４１と右画像３４０の座標のずれを求めることで作成される。このずれを全てのメッシュにおいて求めることにより、ステレオカメラ装置２１０で撮影された画像の視差データが得られる。【００２６】
＜Ｓ１２０＞
次に、バケット領域設定部３１００によりバケット領域を抽出する。掘削時にステレオカメラ装置２１０で撮影されるものとしてはバケットや地面、土砂が考えられる。これらの被写体の中からバケット領域を抽出する方法として、バケット領域が地面や土砂よりも極端にステレオカメラ装置２１０に近い場所に位置することを利用する。つまり、バケット領域だけ極端に視差データが大きくなるため、視差データを用いてバケット領域を抽出することができる。【００２７】
＜Ｓ１３０＞
次に、視差データ分析部３１１０により、抽出されたバケット領域の視差データを実際のサイズに合わせるために３次元変換する。【００２８】
＜Ｓ１４０＞
次に、視差データ分析部３１１０により、３次元変換したバケット領域を２次元上のメッシュに分割する。メッシュのサイズは小さい程、体積推定の精度が良くなる。【００２９】
＜Ｓ１６０＞
次に、２次元上のメッシュ毎にバケット１３の底から掘削物の表面までの長さを求め、体積を算出する。【００３０】
＜Ｓ１７０＞
次に、全メッシュの体積を合計してバケット１３内の掘削物の体積を算出する。【００３１】
＜Ｓ１８０＞
このようにして算出された体積を、表示部４０に表示する。【００３２】
図６は、バケット１３内の掘削物に死角領域があるときの例を示したものである。図６（ａ）はバケット１３をカメラ正面から見た図であり、図６（ｂ）はアーム１２の側面に平行な、バケット１３の断面図である。掘削物が山なりになっている場合は、ステレオカメラ装置２１０から見て山なりの裏側が死角領域２２１になる。【００３３】
図７は、図６の死角領域があるときのメッシュ視差データの例を示したものである。メッシュ群２３０の１つの列２３１に注目すると、メッシュ２４３からメッシュ２４１まではメッシュ視差データは１または２程度の差分で変化する。しかし、メッシュ２４１からメッシュ２４０のメッシュ視差データは９小さくなる。これは、図６の距離２２０ｂが距離２２０ａよりも急に大きくなることに起因する。このように、メッシュ視差データが急に小さくなるメッシュの間に、死角領域があると判定する。【００３４】
図８は、死角領域を考慮しないで掘削物の体積を推定した時の推定範囲を示したものである。図７のメッシュ２４１からメッシュ２４０の間が死角領域２２１となり、実際よりも小さい体積が推定されることになる。そのため、死角領域を考慮した体積推定方法が必要になる。図６の状態では、ステレオカメラ装置２１０から見える領域で山なりの最も上の領域の距離２２０ａとその手前側の距離２２０ｃは変化が少なく、山なりの最も上の領域の距離２２０ａと死角領域の先の領域の距離２２０ｂは大きく異なる。つまり、両者でメッシュ視差データの変化の度合いが大きく異なる。【００３５】
図９は、死角領域を考慮した体積推定方法のフローチャートを示したものである。図５のフローチャートにメッシュ分割Ｓ１９０、死角領域判定処理Ｓ１０００、死角領域推定処理Ｓ１１００、体積の信頼度の表示Ｓ１２００、信頼度算出処理Ｓ１４００が追加されたものである。【００３６】
メッシュ分割Ｓ１９０は、Ｓ１２０で抽出されたバケット領域をメッシュに区分する。メッシュ分割Ｓ１４０は３次元変換されたバケット領域をメッシュに区分することから、メッシュ分割Ｓ１９０で区分したメッシュとメッシュ分割Ｓ１４０で区分したメッシュの大きさは、異なっていてもよい。【００３７】
死角領域判定処理Ｓ１０００は、視差データ分析部３１１０によって図７で示した処理を行うもので、メッシュ視差データを用いて死角領域を判定する。図７の例では、ｙ軸方向の隣り合うメッシュのメッシュ視差データが大きく異なるメッシュ２４１とメッシュ２４０の間に、死角領域が存在する。死角領域推定処理Ｓ１１００は、死角領域形状推定部３２０によって処理を行うものである。信頼度算出処理Ｓ１４００は、信頼度算出部３６０によって処理を行うものである。【００３８】
図１０は、死角領域推定処理Ｓ１１００の処理概要を示したもので、アーム１２の側面に平行なバケット１３の断面図である。メッシュ棒１２４３のメッシュ視差データはメッシュ２２４３の値、メッシュ棒１２４２のメッシュ視差データはメッシュ２２４２の値、メッシュ棒１２４１のメッシュ視差データはメッシュ２２４１の値、メッシュ棒１２４０のメッシュ視差データはメッシュ２２４０の値、メッシュ棒１２６０のメッシュ視差データはメッシュ２２６０の値、メッシュ棒１２６１のメッシュ視差データはメッシュ２２６１の値である。メッシュ棒１２６０とメッシュ棒１２６１は死角領域になっているため、対応するメッシュのメッシュ視差データを推定できず、このままでは体積を推定できない。しかし、土砂などをバケットで山なりにすくう場合、この山なりの形状はほとんどのケースにおいて、ステレオカメラ装置２１０から見える側の形状とその裏側の形状は山なりの頂点を含むメッシュ棒を軸とした線対象の形状になることが多い。従って、図１０のメッシュ棒１２６０はメッシュ棒１２４２とバケット開口面から同じ高さ、メッシュ棒１２６１はメッシュ棒１２４３とバケット開口面から同じ高さと推定して体積を推定する。【００３９】
以上のように、死角領域形状推定部３２０は、複数のカメラが撮影した掘削物の形状に合わせて掘削物の形状を線対称とみなし、死角領域の掘削物の形状を推定する。掘削物の形状は山なりになる場合が多いことから、掘削物の形状を線対称と見なして推定をする方法は直線や曲線などで推定する方法と比べて、より正確に掘削物の体積を推定することができる。【００４０】
図１１は、死角領域判定処理Ｓ１０００と死角領域推定処理Ｓ１１００のフローチャートを示したものである。メッシュ群２３０中のｙ軸に平行な１つの列の、最下部のメッシュのメッシュ視差データをＬ、メッシュ視差データがＬのメッシュのｙ軸正の方向に１つ上のメッシュのメッシュ視差データをＭとする。メッシュ視差データがＬのメッシュを、死角領域判定メッシュとする。【００４１】
そして、メッシュ視差データＬからメッシュ視差データＭを引いた結果をＮとする。死角推定部３１０は、メッシュ視差データの差であるＮの大きさによって、死角領域の広さを推定する。図１０の例では、死角領域の広さはメッシュ棒１２４１とメッシュ棒１２４０の間の広さである。これにより、適切な死角領域の広さを推定することができ、より正確に掘削物の体積を推定することができる。【００４２】
＜Ｓ１０１０＞
まず、メッシュ群２３０中のｙ軸に平行な１つの列の最下部のメッシュのメッシュ視差データをＬとして入力し、死角領域判定メッシュとする。図７の例ではメッシュ２４３のメッシュ視差データをＬとして入力する。【００４３】
＜Ｓ１０１２＞
次に、メッシュ視差データがＬである死角領域判定メッシュの１つ上のメッシュのメッシュ視差データをＭとして入力する。図７の例では、メッシュ２４２のメッシュ視差データをＭとして入力する。【００４４】
＜Ｓ１０１４＞
次に、メッシュ視差データＬとメッシュ視差データＭとの差を求め、差の値をＮとする。【００４５】
＜Ｓ１０１８＞
次に、死角領域の有無を判定するための死角領域判定値Ｇ1を算出する。ここでは一例として、死角領域判定値Ｇ1を死角領域判定メッシュのメッシュ視差データＬの１０％とする。【００４６】
＜Ｓ１０２０＞
次に、死角領域の有無を判定するために、Ｎが死角領域判定値Ｇ1以上か否かを判定する。【００４７】
＜Ｓ１０２２＞
Ｎが死角領域判定値Ｇ1以上の場合は、メッシュ視差データがＬである死角判定メッシュと、死角領域判定メッシュの１つ上であるメッシュ視差データがＭのメッシュの間を死角領域と判定し、図１０のように推定する。【００４８】
＜Ｓ１０２４＞
次に、後で死角領域の大きさを判定するために、当該列のＮを記憶しておく。【００４９】
＜Ｓ１０２６＞
１つの列が終了していれば次の列に移る。【００５０】
＜Ｓ１０２８＞
１つの列が終了していなければ、現在のメッシュ視差データがＭのメッシュをメッシュ視差データがＬである死角領域判定メッシュとして保持する。そして、Ｓ１０１２に戻り同様の処理を行い、Ｓ１０２４で当該列の新たなＮを記憶しておく。このように、死角領域判定値Ｇ1以上のＮは全て記憶する。【００５１】
＜Ｓ１０３０＞
全列が終了していれば処理を終了し、残りの列があれば、隣の列の処理を行う。【００５２】
以上のように、死角推定部３１０は、メッシュ視差データを用いて、メッシュ群２３０に含まれているメッシュである死角領域判定メッシュのメッシュ視差データと死角領域判定メッシュの１つ上のメッシュのメッシュ視差データとの差が死角領域判定値Ｇ1以上の場合の、死角領域判定メッシュと死角領域判定メッシュの１つ上のメッシュの間を死角領域と判定する。そして、死角領域判定値Ｇ1は、死角領域判定メッシュのメッシュ視差データによって決まる。【００５３】
死角領域の有無を判定する死角領域判定値Ｇ1をメッシュ毎に算出して設定することにより、全てのメッシュにおいて死角領域判定値Ｇ1が一定の場合に比べて、掘削物の形状に適切な死角領域判定値Ｇ1を用いることができ、より正しく死角領域を判定できる。また、死角領域判定値Ｇ1をメッシュ視差データの差の大きさによって決定し死角領域を判定することで、微小な土砂の凹凸やノイズの影響を排除することができる。【００５４】
図１２は、掘削物の体積の信頼度を表示部４０に表示するためのフローチャートである。【００５５】
＜Ｓ１２０２＞
図１１で算出した１つの縦の列の中から、最も値が大きいＮを選択する。そして、各列の中から、最も値が大きいＮを選択する。【００５６】
＜Ｓ１２０４＞
次に、Ｎを実際の距離データに変換し、それをＤとする。【００５７】
＜Ｓ１２０６＞
次に、バケット１３のＹ軸方向の長さＱに対するＤの割合を求め、それをＥとする。Ｅは、バケット１３の大きさに対する、推定した死角領域が占める割合である。【００５８】
＜Ｓ１２０８＞
次に、Ｅが閾値１以下かどうかを判定する。【００５９】
＜Ｓ１２１０＞
もし、Ｅが閾値１以下であれば、死角領域が小さいため、死角推定領域が小さいことと同義となり、信頼度は高いと判定することができる。そのため、Ｅが閾値１％以下なら掘削物の体積の信頼度が高いことを意味するＡと表示部４０に表示する。このように、信頼度算出部３６０は死角領域の広さによって掘削物の体積の信頼度を決める。【００６０】
＜Ｓ１２１２＞
もしＳ１２０８がＮｏならば、Ｅが閾値２以下かどうかを判定する。【００６１】
＜Ｓ１２１４＞
もしＳ１２１２がＹｅｓならば、中間的な信頼度としてＢと表示部４０に表示する。【００６２】
＜Ｓ１２１６＞
もしＳ１２１２がＮｏならば、正確に体積を推定できなかったと判定し、信頼度としてＣと表示部４０に表示する。【００６３】
ここでは例として閾値１を２０％、閾値２を５０％とした。しかし、これらの閾値はこれに限定されるものではなく、適用状況によって変更することが可能である。また閾値の段階も増やしたり減らしたりすることが可能である。そして、信頼度はＡやＢといった記号を用いた表示に限定されるものではなく、数字などで表示することが可能である。【００６４】
以上の方法によれば、バケット１３内の掘削物をステレオカメラ装置２１０で撮影した時に、死角領域が発生してもその死角領域の推定が可能であるため、体積を高精度に推定可能である。カメラで撮った際に生じる死角領域の体積を推定する対象として、バケット中の掘削物に限られない。バケット中の掘削物以外でも何らかの容器に物体が入っていればいい。【００６５】
なお、本実施例ではショベルのバケット内の掘削物体積を対象としたが、ダンプ等の積載物体積を対象としてもよい。
【実施例２】
【００６６】
第２の実施例として、複数の撮影画像の中から信頼度が最も高い、すなわち死角領域の広さが最も小さい場合の撮影画像を選択する例を示す。図１３に、信頼度が最も高い体積推定結果を表示するフローチャートを示す。複数の撮影画像は、ステレオカメラ装置２１０を用いて複数回撮影することで得られる。または、ステレオカメラ装置２１０を用いて動画形式で掘削物を撮影し、複数のコマを抽出することでも得られる。そして、複数の撮影画像の中から信頼度が最も高い撮影画像を選択する。なお、Ｅは死角領域形状推定部３２０や体積推定部３３０、信頼度算出部３６０などで求めてもよい。【００６７】
＜Ｓ２００＞
まず、動画シーンの１コマとしてバケット１３の画像を抽出する。【００６８】
＜Ｓ２１０＞
次に、図１２の方法で体積とＥを推定する。【００６９】
＜Ｓ２２０＞
次に、このＥは、撮影済みのシーンの中で最小値かどうかを判定する。【００７０】
＜Ｓ２３０＞
もし最小値であれば、当該１コマの体積推定値を推定値Ｆとして保存する。【００７１】
＜Ｓ２４０＞
次に、撮影が終了したかどうかを判定し、もし終了していなければ最初から処理を繰り返す。撮影が終了しかたどうかの判定方法としては、上部旋回体１５が回転を開始したこと示す信号をショベル１０の制御装置から入力する方法や、操縦者がスイッチ操作で入力する方法などがある。【００７２】
＜Ｓ２５０＞
撮影が終了したら、保存されている最も信頼度が高い推定値と信頼度を表示部４０に表示する。【００７３】
以上の方法によれば、複数のカメラで撮影した複数の撮影画像から、死角領域の広さが最も小さい場合の撮影画像を選択して、選択した撮影画像に基づき複数のカメラが撮影したバケット内の掘削物の体積を推定できるため、精度良く掘削物体積を推定でき、最も信頼度が高い推定結果を表示部４０に表示することができる。
【実施例３】
【００７４】
第３の実施例として、バケット１３の中の掘削物の形状が特異なケースの死角領域の体積を推定する例を示す。【００７５】
図１４は、バケット１３内の掘削物の突起物領域を判定する突起物判定部３５０を搭載した油圧ショベルの構成を示したものである。突起物判定部３５０以外の構成は、図１と同様である。【００７６】
図１５は、突起物領域と死角領域を考慮した体積推定方法のフローチャートを示したものである。図９のフローチャートに、突起物領域判定処理Ｓ１５００、突起物領域推定処理Ｓ１３００が追加されたものである。【００７７】
図１６（ａ）は、バケット１３の中の掘削物をカメラの正面から見た図である。掘削物の中に石などの突起物５０がある。図１６（ｂ）はアーム１２の側面に平行なバケット１３の断面図であり、突起物５０がある。このような状況で、図１０の方法を用いて死角領域の推定を行うと、死角領域にも突起物５０が存在することを前提とした推定となってしまう。このような突起物５０は稀な存在とすると、死角領域には突起物５０は存在しないと考えることができる。ステレオカメラ装置２１０から見える側に突起物５０があると、ステレオカメラ装置２１０から突起物５０が存在する掘削物の表面までの距離は、突起物５０の長さだけ短くなるので、視差データは大きくなる。よって、突起物５０が存在するメッシュのメッシュ視差データは、突起物５０が存在するメッシュのｙ軸方向の前後の２つのメッシュのメッシュ視差データよりも大きくなる。突起物５０が存在するメッシュのｙ軸方向の前後の２つのメッシュとは、突起物５０が存在するメッシュのｙ軸正の方向に隣り合うメッシュと突起物５０が存在するメッシュのｙ軸負の方向に隣り合うメッシュを指す。その現象を利用して突起物５０の存在を把握できる。【００７８】
図１６（ｃ）は、突起物５０がある場合の突起物領域推定処理Ｓ１３００を示したものである。突起物領域推定処理Ｓ１３００は、死角領域形状推定部３２０によって処理を行うものである。メッシュ棒２７１とメッシュ棒２７２が死角領域とする。メッシュ棒２７１はメッシュ棒２７３とバケット開口面から同じ高さにする。メッシュ棒２７２は図１０の方法ではメッシュ棒２７４とバケット開口面から同じ高さにする。しかし、メッシュ棒２７４は突起物５０により高さが増しているので、図１０の方法では、実際の体積よりも大きな体積を推定してしまう。そこで、メッシュ棒２７２はメッシュ棒２７１とバケット開口面から同じ高さにする。これにより、突起物５０による体積の推定誤差を防止することができる。以上の方法によれば、ステレオカメラ装置２１０から見えている領域の掘削物の形状に合わせて死角領域の形状の推定方法を変更することにより、精度よく体積を推定できる。【００７９】
図１７は、突起物領域判定処理Ｓ１５００のフローチャートを示したものである。突起物領域判定処理Ｓ１５００は、突起物判定部３５０によって処理を行うものである。メッシュ群２３０中のｙ軸に平行な１つの列の、最下部のメッシュのメッシュ視差データをＩ、メッシュ視差データがＩのメッシュの１つ上のメッシュのメッシュ視差データをＪ、メッシュ視差データがＪのメッシュの１つ上のメッシュのメッシュ視差データをＫとする。メッシュ視差データがＪであるメッシュを、突起物判定メッシュとする。そして、メッシュ視差データＪからメッシュ視差データＩを引いた結果をＨ１、メッシュ視差データＪからメッシュ視差データＫを引いた結果をＨ２とする。【００８０】
＜Ｓ３００＞
まず、メッシュ群２３０中のｙ軸に平行な１つの列の、最下部のメッシュのメッシュ視差データをＩとして入力する。【００８１】
＜Ｓ３１０＞
次に、メッシュ視差データがＩのメッシュの１つ上のメッシュのメッシュ視差データをＪとして入力する。このメッシュ視差データがＪであるメッシュを、突起物判定メッシュとする。【００８２】
＜Ｓ３２０＞
次に、メッシュ視差データがＪである突起物判定メッシュの１つ上のメッシュのメッシュ視差データをＫとして入力する。【００８３】
＜Ｓ３３０＞
次に、メッシュ視差データＪからメッシュ視差データＩを引いた結果をＨ１、メッシュ視差データＪからメッシュ視差データＫを引いた結果をＨ２とする。【００８４】
＜Ｓ３４０＞
次に、突起物領域の有無を判定するための突起物領域判定値Ｇ2の算出を行う。ここでは一例として、突起物領域判定値Ｇ2は突起物判定メッシュのメッシュ視差データＪの３％とする。このように、突起物領域判定値Ｇ2は、突起物判定メッシュのメッシュ視差データによって決まる。【００８５】
＜Ｓ３５０＞
もし、Ｈ１が突起物領域判定値Ｇ2以上の場合には、突起物領域が存在する可能性があるものとし、Ｈ１が突起物領域判定値Ｇ2未満の場合には、突起物領域は存在しないと判定する。【００８６】
＜Ｓ３６０＞
さらに、Ｈ２が突起物領域判定値Ｇ2以上の場合には、突起物領域が存在するとし、Ｈ２が突起物領域判定値Ｇ2未満の場合には、突起物領域は存在しないと判定する。【００８７】
＜Ｓ３７０＞
そして、メッシュ視差データがＪである突起物判定メッシュを突起物領域と判定する。【００８８】
＜Ｓ３８０＞
１つの列が終了していれば、次の列に移る。【００８９】
＜Ｓ３９０＞
１つの列が終了していなければ、現在のメッシュ視差データがＪである突起物判定メッシュをメッシュ視差データがＩであるメッシュとして保持する。【００９０】
＜Ｓ４００＞
全列が終了していれば処理を終了し、残りの列があれば、残りの列の処理を行う。【００９１】
以上のように、突起物判定部３５０は、メッシュ視差データを用いて、メッシュ群２３０に含まれているメッシュである突起物判定メッシュのメッシュ視差データと突起物判定メッシュの前後のメッシュのメッシュ視差データとの差がそれぞれ突起物領域判定値以上の場合の、突起物判定メッシュを突起物領域と判定する。【００９２】
突起物領域の有無を判定する突起物判定値Ｇ2をメッシュ毎に算出して設定することにより、全てのメッシュにおいて突起物判定値Ｇ2が一定の場合に比べて、突起物５０の形状に適切な突起物判定値Ｇ2を用いることができ、より正しく突起物領域を判定できる。
【符号の説明】
【００９３】
１０  油圧ショベル、１１  ブーム、１２  アーム、１３  バケット、１４  運転室、１５  上部旋回体、３０  体積推定装置、４０  表示部、５０  バケット内の掘削物の突起物、２１０  ステレオカメラ装置、２２１  死角領域、２３０  メッシュ群、３１０  死角推定部、３２０  死角領域形状推定部、３３０  体積推定部、３５０  突起物判定部、３６０  信頼度算出部、３１００  バケット領域設定部、３１１０  視差データ分析部
【図１】
2016092684.tif 000003
【図２】
2016092684.tif 000004
【図３】
2016092684.tif 000005
【図４】
2016092684.tif 000006
【図５】
2016092684.tif 000007
【図６】
2016092684.tif 000008
【図７】
2016092684.tif 000009
【図８】
2016092684.tif 000010
【図９】
2016092684.tif 000011
【図１０】
2016092684.tif 000012
【図１１】
2016092684.tif 000013
【図１２】
2016092684.tif 000014
【図１３】
2016092684.tif 000015
【図１４】
2016092684.tif 000016
【図１５】
2016092684.tif 000017
【図１６】
2016092684.tif 000018
【図１７】
2016092684.tif 000019
【国際調査報告】
2016092684.tif 000020
2016092684.tif 000021
2016092684.tif 000022
2016092684.tif 000023