以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
図1は、本発明の実施例に係る画像生成装置100の構成例を概略的に示すブロック図である。
画像生成装置100は、作業機械の周辺を監視する作業機械用周辺監視装置の1例であり、制御部1、カメラ2、入力部3、記憶部4、表示部5、人検出センサ6、警報出力部7、ゲートロックレバー8、及びイグニッションスイッチ9で構成される。具体的には、画像生成装置100は、作業機械に搭載されたカメラ2が撮像した入力画像に基づいて出力画像を生成しその出力画像を操作者に提示する。また、画像生成装置100は、人検出センサ6の出力に基づいて、提示すべき出力画像の内容を切り換える。
図2は、画像生成装置100が搭載される作業機械としてのショベル60の構成例を示す図であり、ショベル60は、クローラ式の下部走行体61の上に、旋回機構62を介して、上部旋回体63を旋回軸PVの周りで旋回自在に搭載している。
また、上部旋回体63は、その前方左側部にキャブ(運転室)64を備え、その前方中央部に掘削アタッチメントEを備え、その右側面及び後面にカメラ2(右側方カメラ2R、後方カメラ2B)及び人検出センサ6(右側方人検出センサ6R、後方人検出センサ6B)を備えている。なお、キャブ64内の操作者が視認し易い位置には表示部5が設置されている。また、キャブ64内には、警報出力部7(右側方警報出力部7R、後方警報出力部7B)、ゲートロックレバー8、イグニッションスイッチ9が設置されている。
次に、画像生成装置100の各構成要素について説明する。
制御部1は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)等を備えたコンピュータである。本実施例では、制御部1は、例えば、後述する座標対応付け手段10、画像生成手段11、人存否判定手段12、警報制御手段13、及び作業機械状態判定手段14のそれぞれに対応するプログラムをROMやNVRAMに記憶し、一時記憶領域としてRAMを利用しながら各手段に対応する処理をCPUに実行させる。
カメラ2は、ショベル60の周囲を映し出す入力画像を取得するための装置である。本実施例では、カメラ2は、例えば、キャブ64にいる操作者の死角となる領域を撮像できるよう上部旋回体63の右側面及び後面に取り付けられる右側方カメラ2R及び後方カメラ2Bである(図2参照。)。また、カメラ2は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を備える。なお、カメラ2は、上部旋回体63の右側面及び後面以外の位置(例えば、前面及び左側面である。)に取り付けられていてもよく、広い範囲を撮像できるよう広角レンズ又は魚眼レンズが装着されていてもよい。
また、カメラ2は、制御部1からの制御信号に応じて入力画像を取得し、取得した入力画像を制御部1に対して出力する。なお、カメラ2は、魚眼レンズ又は広角レンズを用いて入力画像を取得した場合には、それらレンズを用いることによって生じる見掛け上の歪曲やアオリを補正した補正済みの入力画像を制御部1に対して出力する。また、カメラ2は、その見掛け上の歪曲やアオリを補正していない入力画像をそのまま制御部1に対して出力してもよい。その場合には、制御部1がその見掛け上の歪曲やアオリを補正する。
入力部3は、操作者が画像生成装置100に対して各種情報を入力できるようにするための装置であり、例えば、タッチパネル、ボタンスイッチ、ポインティングデバイス、キーボード等である。
記憶部4は、各種情報を記憶するための装置であり、例えば、ハードディスク、光学ディスク、又は半導体メモリ等である。
表示部5は、画像情報を表示するための装置であり、例えば、ショベル60のキャブ64(図2参照。)内に設置された液晶ディスプレイ又はプロジェクタ等であって、制御部1が出力する各種画像を表示する。
人検出センサ6は、ショベル60の周囲に存在する人を検出するための装置である。本実施例では、人検出センサ6は、例えば、キャブ64にいる操作者の死角となる領域に存在する人を検出できるよう上部旋回体63の右側面及び後面に取り付けられる(図2参照。)。
人検出センサ6は、人以外の物体から人を区別して検出するセンサであり、例えば、対応する監視空間内のエネルギ変化を検出するセンサであって、焦電型赤外線センサ、ボロメータ型赤外線センサ、赤外線カメラ等の出力信号を利用した動体検出センサを含む。本実施例では、人検出センサ6は、焦電型赤外線センサを用いたものであり、動体(移動する熱源)を人として検出する。また、右側方人検出センサ6Rの監視空間は、右側方カメラの撮像空間に含まれ、後方人検出センサ6Bの監視空間は、後方カメラ2Bの撮像空間に含まれる。
なお、人検出センサ6は、カメラ2と同様、上部旋回体63の右側面及び後面以外の位置(例えば、前面及び左側面である。)に取り付けられてもよく、上部旋回体63の前面、左側面、右側面、及び後面のうちの何れか1つに取り付けられていてもよく、全ての面に取り付けられていてもよい。
警報出力部7は、ショベル60の操作者に対する警報を出力する装置である。例えば、警報出力部7は、音及び光の少なくとも一方を出力する警報装置であり、ブザー、スピーカ等の音声出力装置、LED、フラッシュライト等の発光装置を含む。本実施例では、警報出力部7は、警報音を出力するブザーであり、キャブ64の右側内壁に取り付けられる右側方警報出力部7R、及び、キャブ64の後側内壁に取り付けられる後方警報出力部7Bで構成される(図2参照。)。
ゲートロックレバー8は、ショベル60の状態を切り換える装置である。本実施例では、ゲートロックレバー8は、ショベル60を作業不可状態とするロック状態と、ショベル60を作業可能状態とするロック解除状態とを有する。なお、「作業可能状態」は、操作者がショベル60を操作できる状態を意味し、「作業不可状態」は、操作者がショベル60を操作できない状態を意味する。ゲートロックレバー8は、自身の現在の状態を表す信号を所定周期で繰り返し制御部1に対して出力する。
具体的には、操作者は、ゲートロックレバー8を引き上げてほぼ水平にすることによりゲートロックレバー8をロック解除状態とし、ゲートロックレバー8を押し下げることによりゲートロックレバー8をロック状態とする。
ロック解除状態において、ゲートロックレバー8は、キャブ64の乗降口を遮って操作者がキャブ64から退出するのを規制しながら、キャブ64内の図示しない操作レバー及び操作ペダル等(以下、「操作ペダル等」とする。)による操作を有効にして操作者がショベル60を操作できるようにする。
一方、ロック状態において、ゲートロックレバー8は、キャブ64の乗降口を開放して操作者がキャブ64から退出するのを許容しながら、キャブ64内の操作レバー等による操作を無効にして操作者がショベル60を操作できないようにする。
より具体的には、ゲートロックレバー8は、ロック状態においてゲートロック弁を閉状態とし、ロック解除状態においてゲートロック弁を開状態とする。ゲートロック弁は、コントロールバルブ(図示せず。)と操作レバー等との間の油路の間に設けられる切換弁である。また、コントロールバルブは、図示しない油圧ポンプと各種油圧アクチュエータとの間の作動油の流れを制御する流量制御弁である。ゲートロック弁は、閉状態において、コントロールバルブと操作レバー等との間の作動油の流れを遮断して操作レバー等を無効にする。また、ゲートロック弁は、開状態において、コントロールバルブと操作レバー等との間で作動油を連通させて操作レバー等を有効にする。
イグニッションスイッチ9は、ショベル60の状態を切り換える装置である。本実施例では、イグニッションスイッチ9は、ショベル60を作業不可状態とするオフ状態と、ショベル60を作業可能状態とするオン状態とを有する。イグニッションスイッチ9は、自身の現在の状態を表す信号を所定周期で繰り返し制御部1に対して出力する。
具体的には、操作者は、イグニッションスイッチ9を押下することによりイグニッションスイッチ9のオン状態とオフ状態とを切り換える。
オン状態において、イグニッションスイッチ9は、エンジンを始動させることによって、コントロールバルブと操作レバー等との間の油路に作動油を供給するコントロールポンプを始動させる。そして、イグニッションスイッチ9は、キャブ64内の操作レバー等による操作を有効にして操作者がショベル60を操作できるようにする。
一方、オフ状態において、イグニッションスイッチ9は、エンジンを停止させることによって、コントロールポンプを停止させる。そして、イグニッションスイッチ9は、キャブ64内の操作レバー等による操作を無効にして操作者がショベル60を操作できないようにする。
また、画像生成装置100は、入力画像に基づいて処理対象画像を生成し、その処理対象画像に画像変換処理を施すことによって周囲の物体との位置関係や距離感を直感的に把握できるようにする出力画像を生成した上で、その出力画像を操作者に提示するようにしてもよい。
「処理対象画像」は、入力画像に基づいて生成される、画像変換処理(例えば、スケール変換処理、アフィン変換処理、歪曲変換処理、視点変換処理等である。)の対象となる画像である。具体的には、「処理対象画像」は、例えば、地表を上方から撮像するカメラによる入力画像であってその広い画角により水平方向の画像(例えば、空の部分である。)を含む入力画像から生成される、画像変換処理に適した画像である。より具体的には、その水平方向の画像が不自然に表示されないよう(例えば、空の部分が地表にあるものとして扱われないよう)その入力画像を所定の空間モデルに投影した上で、その空間モデルに投影された投影画像を別の二次元平面に再投影することによって生成される。なお、処理対象画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
「空間モデル」は、入力画像の投影対象である。具体的には、「空間モデル」は、少なくとも、処理対象画像が位置する平面である処理対象画像平面以外の平面又は曲面を含む、一又は複数の平面若しくは曲面で構成される。処理対象画像が位置する平面である処理対象画像平面以外の平面又は曲面は、例えば、処理対象画像平面に平行な平面、又は、処理対象画像平面との間で角度を形成する平面若しくは曲面である。
なお、画像生成装置100は、処理対象画像を生成することなく、その空間モデルに投影された投影画像に画像変換処理を施すことによって出力画像を生成するようにしてもよい。また、投影画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
図3は、入力画像が投影される空間モデルMDの一例を示す図であり、図3左図は、ショベル60を側方から見たときのショベル60と空間モデルMDとの間の関係を示し、図3右図は、ショベル60を上方から見たときのショベル60と空間モデルMDとの間の関係を示す。
図3で示されるように、空間モデルMDは、半円筒形状を有し、その底面内側の平面領域R1とその側面内側の曲面領域R2とを有する。
また、図4は、空間モデルMDと処理対象画像平面との間の関係の一例を示す図であり、処理対象画像平面R3は、例えば、空間モデルMDの平面領域R1を含む平面である。なお、図4は、明確化のために、空間モデルMDを、図3で示すような半円筒形状ではなく、円筒形状で示しているが、空間モデルMDは、半円筒形状及び円筒形状の何れであってもよい。以降の図においても同様である。また、処理対象画像平面R3は、上述のように、空間モデルMDの平面領域R1を含む円形領域であってもよく、空間モデルMDの平面領域R1を含まない環状領域であってもよい。
次に、制御部1が有する各種手段について説明する。
座標対応付け手段10は、カメラ2が撮像した入力画像が位置する入力画像平面上の座標と、空間モデルMD上の座標と、処理対象画像平面R3上の座標とを対応付けるための手段である。本実施例では、座標対応付け手段10は、例えば、予め設定された、或いは、入力部3を介して入力されるカメラ2に関する各種パラメータと、予め決定された、入力画像平面、空間モデルMD、及び処理対象画像平面R3の相互の位置関係とに基づいて、入力画像平面上の座標と、空間モデルMD上の座標と、処理対象画像平面R3上の座標とを対応付ける。なお、カメラ2に関する各種パラメータは、例えば、カメラ2の光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等である。そして、座標対応付け手段10は、それらの対応関係を記憶部4の入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41に記憶する。
なお、座標対応付け手段10は、処理対象画像を生成しない場合には、空間モデルMD上の座標と処理対象画像平面R3上の座標との対応付け、及び、その対応関係の空間モデル・処理対象画像対応マップ41への記憶を省略する。
画像生成手段11は、出力画像を生成するための手段である。本実施例では、画像生成手段11は、例えば、処理対象画像にスケール変換、アフィン変換、又は歪曲変換を施すことによって、処理対象画像平面R3上の座標と出力画像が位置する出力画像平面上の座標とを対応付ける。そして、画像生成手段11は、その対応関係を記憶部4の処理対象画像・出力画像対応マップ42に記憶する。そして、画像生成手段11は、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。各画素の値は、例えば、輝度値、色相値、彩度値等である。
また、画像生成手段11は、予め設定された、或いは、入力部3を介して入力される仮想カメラに関する各種パラメータに基づいて、処理対象画像平面R3上の座標と出力画像が位置する出力画像平面上の座標とを対応付ける。なお、仮想カメラに関する各種パラメータは、例えば、仮想カメラの光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等である。そして、画像生成手段11は、その対応関係を記憶部4の処理対象画像・出力画像対応マップ42に記憶する。そして、画像生成手段11は、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。
なお、画像生成手段11は、仮想カメラの概念を用いることなく、処理対象画像のスケールを変更して出力画像を生成するようにしてもよい。
また、画像生成手段11は、処理対象画像を生成しない場合には、施した画像変換処理に応じて空間モデルMD上の座標と出力画像平面上の座標とを対応付ける。そして、画像生成手段11は、入力画像・空間モデル対応マップ40を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。この場合、画像生成手段11は、処理対象画像平面R3上の座標と出力画像平面上の座標との対応付け、及び、その対応関係の処理対象画像・出力画像対応マップ42への記憶を省略する。
また、画像生成手段11は、人存否判定手段12の判定結果に基づいて出力画像の内容を切り換える。なお、画像生成手段11による出力画像の切り換えについてはその詳細を後述する。
人存否判定手段12は、作業機械の周囲に設定される複数の監視空間のそれぞれにおける人の存否を判定する手段である。本実施例では、人存否判定手段12は、人検出センサ6の出力に基づいてショベル60の周囲の人の存否を判定する。
また、人存否判定手段12は、カメラ2が撮像した入力画像に基づいて作業機械の周囲に設定される複数の監視空間のそれぞれにおける人の存否を判定してもよい。具体的には、人存否判定手段12は、オプティカルフロー、パターンマッチング等の画像処理技術を用いて作業機械の周囲の人の存否を判定してもよい。なお、人存否判定手段12は、カメラ2とは別の画像センサの出力に基づいて作業機械の周囲の人の存否を判定してもよい。
或いは、人存否判定手段12は、人検出センサ6の出力とカメラ2等の画像センサの出力とに基づいて作業機械の周囲に設定される複数の監視空間のそれぞれにおける人の存否を判定してもよい。
警報制御手段13は、警報出力部7を制御する手段である。本実施例では、警報制御手段13は、人存否判定手段12の判定結果に基づいて、或いは、人存否判定手段12の判定結果と作業機械状態判定手段14の判定結果とに基づいて、警報出力部7を制御する。なお、警報制御手段13による警報出力部7の制御についてはその詳細を後述する。
作業機械状態判定手段14は、作業機械の状態を判定する手段である。本実施例では、作業機械状態判定手段14は、ショベル60が作業可能状態にあるか否かを判定する。なお、作業機械状態判定手段14によるショベル60の状態の判定についてはその詳細を後述する。
次に、座標対応付け手段10及び画像生成手段11による具体的な処理の一例について説明する。
座標対応付け手段10は、例えば、ハミルトンの四元数を用いて、入力画像平面上の座標と空間モデル上の座標とを対応付けることができる。
図5は、入力画像平面上の座標と空間モデル上の座標との対応付けを説明するための図である。カメラ2の入力画像平面は、カメラ2の光学中心Cを原点とするUVW直交座標系における一平面として表される。空間モデルは、XYZ直交座標系における立体面として表される。
最初に、座標対応付け手段10は、XYZ座標系の原点を光学中心C(UVW座標系の原点)に並行移動させた上で、X軸をU軸に、Y軸をV軸に、Z軸を−W軸にそれぞれ一致させるようXYZ座標系を回転させる。空間モデル上の座標(XYZ座標系上の座標)を入力画像平面上の座標(UVW座標系上の座標)に変換するためである。なお、「−W軸」の符号「−」は、Z軸の方向と−W軸の方向が逆であることを意味する。これは、UVW座標系がカメラ前方を+W方向とし、XYZ座標系が鉛直下方を−Z方向としていることに起因する。
なお、カメラ2が複数存在する場合、カメラ2のそれぞれが個別のUVW座標系を有するので、座標対応付け手段10は、複数のUVW座標系のそれぞれに対して、XYZ座標系を並行移動させ且つ回転させる。
上述の変換は、カメラ2の光学中心CがXYZ座標系の原点となるようにXYZ座標系を並行移動させた後に、Z軸が−W軸に一致するよう回転させ、更に、X軸がU軸に一致するよう回転させることによって実現される。そのため、座標対応付け手段10は、この変換をハミルトンの四元数で記述することにより、それら二回の回転を一回の回転演算に纏めることができる。
ところで、あるベクトルAを別のベクトルBに一致させるための回転は、ベクトルAとベクトルBとが張る面の法線を軸としてベクトルAとベクトルBとが形成する角度だけ回転させる処理に相当する。そして、その角度をθとすると、ベクトルAとベクトルBとの内積から、角度θは、
で表される。
また、ベクトルAとベクトルBとが張る面の法線の単位ベクトルNは、ベクトルAとベクトルBとの外積から
で表されることとなる。
なお、四元数は、i、j、kをそれぞれ虚数単位とした場合、
を満たす超複素数であり、本実施例において、四元数Qは、実成分をt、純虚成分をa、b、cとして、
で表され、四元数Qの共役四元数は、
で表される。
四元数Qは、実成分tを0(ゼロ)としながら、純虚成分a、b、cで三次元ベクトル(a,b,c)を表現することができ、また、t、a、b、cの各成分により任意のベクトルを軸とした回転動作を表現することもできる。
更に、四元数Qは、連続する複数回の回転動作を統合して一回の回転動作として表現することができる。具体的には、四元数Qは、例えば、任意の点S(sx,sy,sz)を、任意の単位ベクトルC(l,m,n)を軸としながら角度θだけ回転させたときの点D(ex,ey,ez)を以下のように表現することができる。
ここで、本実施例において、Z軸を−W軸に一致させる回転を表す四元数をQzとすると、XYZ座標系におけるX軸上の点Xは、点X'に移動させられるので、点X'は、
で表される。
また、本実施例において、X軸上にある点X'と原点とを結ぶ線をU軸に一致させる回転を表す四元数をQxとすると、「Z軸を−W軸に一致させ、更に、X軸をU軸に一致させる回転」を表す四元数Rは、
で表される。
以上により、空間モデル(XYZ座標系)上の任意の座標Pを入力画像平面(UVW座標系)上の座標で表現したときの座標P'は、
で表される。また、四元数Rがカメラ2のそれぞれで不変であることから、座標対応付け手段10は、以後、この演算を実行するだけで空間モデル(XYZ座標系)上の座標を入力画像平面(UVW座標系)上の座標に変換することができる。
空間モデル(XYZ座標系)上の座標を入力画像平面(UVW座標系)上の座標に変換した後、座標対応付け手段10は、線分CP'と、カメラ2の光軸Gとが形成する入射角αを算出する。なお、線分CP'は、カメラ2の光学中心C(UVW座標系上の座標)と空間モデル上の任意の座標PをUVW座標系で表した座標P'とを結ぶ線分である。
また、座標対応付け手段10は、カメラ2の入力画像平面R4(例えば、CCD面)に平行で且つ座標P'を含む平面Hにおける偏角φ、及び線分EP'の長さを算出する。なお、線分EP'は、平面Hと光軸Gとの交点Eと、座標P'とを結ぶ線分であり、偏角φは、平面HにおけるU'軸と線分EP'とが形成する角度である。
カメラの光学系は、通常、像高さhが入射角α及び焦点距離fの関数となっている。そのため、座標対応付け手段10は、通常射影(h=ftanα)、正射影(h=fsinα)、立体射影(h=2ftan(α/2))、等立体角射影(h=2fsin(α/2))、等距離射影(h=fα)等の適切な射影方式を選択して像高さhを算出する。
その後、座標対応付け手段10は、算出した像高さhを偏角φによりUV座標系上のU成分及びV成分に分解し、入力画像平面R4の一画素当たりの画素サイズに相当する数値で除算する。これにより、座標対応付け手段10は、空間モデルMD上の座標P(P')と入力画像平面R4上の座標とを対応付けることができる。
なお、入力画像平面R4のU軸方向における一画素当たりの画素サイズをaUとし、入力画像平面R4のV軸方向における一画素当たりの画素サイズをaVとすると、空間モデルMD上の座標P(P')に対応する入力画像平面R4上の座標(u,v)は、
で表される。
このようにして、座標対応付け手段10は、空間モデルMD上の座標と、カメラ毎に存在する一又は複数の入力画像平面R4上の座標とを対応付け、空間モデルMD上の座標、カメラ識別子、及び入力画像平面R4上の座標を関連付けて入力画像・空間モデル対応マップ40に記憶する。
また、座標対応付け手段10は、四元数を用いて座標の変換を演算するので、オイラー角を用いて座標の変換を演算する場合と異なり、ジンバルロックを発生させることがないという利点を有する。しかしながら、座標対応付け手段10は、四元数を用いて座標の変換を演算するものに限定されることはなく、オイラー角を用いて座標の変換を演算するようにしてもよい。
なお、複数の入力画像平面R4上の座標への対応付けが可能な場合、座標対応付け手段10は、空間モデルMD上の座標P(P')を、その入射角αが最も小さいカメラに関する入力画像平面R4上の座標に対応付けるようにしてもよく、操作者が選択した入力画像平面R4上の座標に対応付けるようにしてもよい。
次に、空間モデルMD上の座標のうち、曲面領域R2上の座標(Z軸方向の成分を持つ座標)を、XY平面上にある処理対象画像平面R3に再投影する処理について説明する。
図6は、座標対応付け手段10による座標間の対応付けを説明するための図である。F6Aは、一例として通常射影(h=ftanα)を採用するカメラ2の入力画像平面R4上の座標と空間モデルMD上の座標との間の対応関係を示す図である。座標対応付け手段10は、カメラ2の入力画像平面R4上の座標とその座標に対応する空間モデルMD上の座標とを結ぶ線分のそれぞれがカメラ2の光学中心Cを通過するようにして、両座標を対応付ける。
F6Aの例では、座標対応付け手段10は、カメラ2の入力画像平面R4上の座標K1を空間モデルMDの平面領域R1上の座標L1に対応付け、カメラ2の入力画像平面R4上の座標K2を空間モデルMDの曲面領域R2上の座標L2に対応付ける。このとき、線分K1−L1及び線分K2−L2は共にカメラ2の光学中心Cを通過する。
なお、カメラ2が通常射影以外の射影方式(例えば、正射影、立体射影、等立体角射影、等距離射影等である。)を採用する場合、座標対応付け手段10は、それぞれの射影方式に応じて、カメラ2の入力画像平面R4上の座標K1、K2を空間モデルMD上の座標L1、L2に対応付ける。
具体的には、座標対応付け手段10は、所定の関数(例えば、正射影(h=fsinα)、立体射影(h=2ftan(α/2))、等立体角射影(h=2fsin(α/2))、等距離射影(h=fα)等である。)に基づいて、入力画像平面上の座標と空間モデルMD上の座標とを対応付ける。この場合、線分K1−L1及び線分K2−L2がカメラ2の光学中心Cを通過することはない。
F6Bは、空間モデルMDの曲面領域R2上の座標と処理対象画像平面R3上の座標との間の対応関係を示す図である。座標対応付け手段10は、XZ平面上に位置する平行線群PLであって、処理対象画像平面R3との間で角度βを形成する平行線群PLを導入する。そして、座標対応付け手段10は、空間モデルMDの曲面領域R2上の座標とその座標に対応する処理対象画像平面R3上の座標とが共に平行線群PLのうちの一つに乗るようにして、両座標を対応付ける。
F6Bの例では、座標対応付け手段10は、空間モデルMDの曲面領域R2上の座標L2と処理対象画像平面R3上の座標M2とが共通の平行線に乗るとして、両座標を対応付ける。
なお、座標対応付け手段10は、空間モデルMDの平面領域R1上の座標を曲面領域R2上の座標と同様に平行線群PLを用いて処理対象画像平面R3上の座標に対応付けることも可能である。しかしながら、F6Bの例では、平面領域R1と処理対象画像平面R3とが共通の平面となっている。そのため、空間モデルMDの平面領域R1上の座標L1と処理対象画像平面R3上の座標M1とは同じ座標値を有する。
このようにして、座標対応付け手段10は、空間モデルMD上の座標と、処理対象画像平面R3上の座標とを対応付け、空間モデルMD上の座標及び処理対象画像平面R3上の座標を関連付けて空間モデル・処理対象画像対応マップ41に記憶する。
F6Cは、処理対象画像平面R3上の座標と、一例として通常射影(h=ftanα)を採用する仮想カメラ2Vの出力画像平面R5上の座標との間の対応関係を示す図である。画像生成手段11は、仮想カメラ2Vの出力画像平面R5上の座標とその座標に対応する処理対象画像平面R3上の座標とを結ぶ線分のそれぞれが仮想カメラ2Vの光学中心CVを通過するようにして、両座標を対応付ける。
F6Cの例では、画像生成手段11は、仮想カメラ2Vの出力画像平面R5上の座標N1を処理対象画像平面R3(空間モデルMDの平面領域R1)上の座標M1に対応付け、仮想カメラ2Vの出力画像平面R5上の座標N2を処理対象画像平面R3上の座標M2に対応付ける。このとき、線分M1−N1及び線分M2−N2は共に仮想カメラ2Vの光学中心CVを通過する。
なお、仮想カメラ2Vが通常射影以外の射影方式(例えば、正射影、立体射影、等立体角射影、等距離射影等である。)を採用する場合、画像生成手段11は、それぞれの射影方式に応じて、仮想カメラ2Vの出力画像平面R5上の座標N1、N2を処理対象画像平面R3上の座標M1、M2に対応付ける。
具体的には、画像生成手段11は、所定の関数(例えば、正射影(h=fsinα)、立体射影(h=2ftan(α/2))、等立体角射影(h=2fsin(α/2))、等距離射影(h=fα)等である。)に基づいて、出力画像平面R5上の座標と処理対象画像平面R3上の座標とを対応付ける。この場合、線分M1−N1及び線分M2−N2が仮想カメラ2Vの光学中心CVを通過することはない。
このようにして、画像生成手段11は、出力画像平面R5上の座標と、処理対象画像平面R3上の座標とを対応付け、出力画像平面R5上の座標及び処理対象画像平面R3上の座標を関連付けて処理対象画像・出力画像対応マップ42に記憶する。そして、画像生成手段11は、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。
なお、F6Dは、F6A〜F6Cを組み合わせた図であり、カメラ2、仮想カメラ2V、空間モデルMDの平面領域R1及び曲面領域R2、並びに、処理対象画像平面R3の相互の位置関係を示す。
次に、図7を参照しながら、空間モデルMD上の座標と処理対象画像平面R3上の座標とを対応付けるために座標対応付け手段10が導入する平行線群PLの作用について説明する。
図7左図は、XZ平面上に位置する平行線群PLと処理対象画像平面R3との間で角度βが形成される場合の図である。一方、図7右図は、XZ平面上に位置する平行線群PLと処理対象画像平面R3との間で角度β1(β1>β)が形成される場合の図である。また、図7左図及び図7右図における空間モデルMDの曲面領域R2上の座標La〜Ldのそれぞれは、処理対象画像平面R3上の座標Ma〜Mdのそれぞれに対応する。また、図7左図における座標La〜Ldのそれぞれの間隔は、図7右図における座標La〜Ldのそれぞれの間隔と等しい。なお、平行線群PLは、説明目的のためにXZ平面上に存在するものとしているが、実際には、Z軸上の全ての点から処理対象画像平面R3に向かって放射状に延びるように存在する。なお、この場合のZ軸を「再投影軸」と称する。
図7左図及び図7右図で示されるように、処理対象画像平面R3上の座標Ma〜Mdのそれぞれの間隔は、平行線群PLと処理対象画像平面R3との間の角度が増大するにつれて線形的に減少する。すなわち、空間モデルMDの曲面領域R2と座標Ma〜Mdのそれぞれとの間の距離とは関係なく一様に減少する。一方で、空間モデルMDの平面領域R1上の座標群は、図7の例では、処理対象画像平面R3上の座標群への変換が行われないので、座標群の間隔が変化することはない。
これら座標群の間隔の変化は、出力画像平面R5(図6参照。)上の画像部分のうち、空間モデルMDの曲面領域R2に投影された画像に対応する画像部分のみが線形的に拡大或いは縮小されることを意味する。
次に、図8を参照しながら、空間モデルMD上の座標と処理対象画像平面R3上の座標とを対応付けるために座標対応付け手段10が導入する平行線群PLの代替例について説明する。
図8左図は、XZ平面上に位置する補助線群ALの全てがZ軸上の始点T1から処理対象画像平面R3に向かって延びる場合の図である。一方、図8右図は、補助線群ALの全てがZ軸上の始点T2(T2>T1)から処理対象画像平面R3に向かって延びる場合の図である。また、図8左図及び図8右図における空間モデルMDの曲面領域R2上の座標La〜Ldのそれぞれは、処理対象画像平面R3上の座標Ma〜Mdのそれぞれに対応する。なお、図8左図の例では、座標Mc、Mdは、処理対象画像平面R3の領域外となるため図示されていない。また、図8左図における座標La〜Ldのそれぞれの間隔は、図8右図における座標La〜Ldのそれぞれの間隔と等しい。なお、補助線群ALは、説明目的のためにXZ平面上に存在するものとしているが、実際には、Z軸上の任意の一点から処理対象画像平面R3に向かって放射状に延びるように存在する。なお、図7と同様、この場合のZ軸を「再投影軸」と称する。
図8左図及び図8右図で示されるように、処理対象画像平面R3上の座標Ma〜Mdのそれぞれの間隔は、補助線群ALの始点と原点Oとの間の距離(高さ)が増大するにつれて非線形的に減少する。すなわち、空間モデルMDの曲面領域R2と座標Ma〜Mdのそれぞれとの間の距離が大きいほど、それぞれの間隔の減少幅が大きくなる。一方で、空間モデルMDの平面領域R1上の座標群は、図8の例では、処理対象画像平面R3上の座標群への変換が行われないので、座標群の間隔が変化することはない。
これら座標群の間隔の変化は、平行線群PLのときと同様、出力画像平面R5(図6参照。)上の画像部分のうち、空間モデルMDの曲面領域R2に投影された画像に対応する画像部分のみが非線形的に拡大或いは縮小されることを意味する。
このようにして、画像生成装置100は、空間モデルMDの平面領域R1に投影された画像に対応する出力画像の画像部分(例えば、路面画像である。)に影響を与えることなく、空間モデルMDの曲面領域R2に投影された画像に対応する出力画像の画像部分(例えば、水平画像である。)を線形的に或いは非線形的に拡大或いは縮小させることができる。そのため、画像生成装置100は、ショベル60の近傍の路面画像(ショベル60を真上から見たときの仮想画像)に影響を与えることなく、ショベル60の周囲に位置する物体(ショベル60から水平方向に周囲を見たときの画像における物体)を迅速且つ柔軟に拡大或いは縮小させることができ、ショベル60の死角領域の視認性を向上させることができる。
次に、図9を参照しながら、画像生成装置100が処理対象画像を生成する処理(以下、「処理対象画像生成処理」とする。)、及び、生成した処理対象画像を用いて出力画像を生成する処理(以下、「出力画像生成処理」とする。)について説明する。なお、図9は、処理対象画像生成処理(ステップS1〜ステップS3)及び出力画像生成処理(ステップS4〜ステップS6)の流れを示すフローチャートである。また、カメラ2(入力画像平面R4)、空間モデル(平面領域R1及び曲面領域R2)、並びに、処理対象画像平面R3の配置は予め決定されている。
最初に、制御部1は、座標対応付け手段10により、処理対象画像平面R3上の座標と空間モデルMD上の座標とを対応付ける(ステップS1)。
具体的には、座標対応付け手段10は、平行線群PLと処理対象画像平面R3との間に形成される角度を取得する。そして、座標対応付け手段10は、処理対象画像平面R3上の一座標から延びる平行線群PLの一つが空間モデルMDの曲面領域R2と交差する点を算出する。そして、座標対応付け手段10は、算出した点に対応する曲面領域R2上の座標を、処理対象画像平面R3上のその一座標に対応する曲面領域R2上の一座標として導き出し、その対応関係を空間モデル・処理対象画像対応マップ41に記憶する。なお、平行線群PLと処理対象画像平面R3との間に形成される角度は、記憶部4等に予め記憶された値であってもよく、入力部3を介して操作者が動的に入力する値であってもよい。
また、座標対応付け手段10は、処理対象画像平面R3上の一座標が空間モデルMDの平面領域R1上の一座標と一致する場合には、平面領域R1上のその一座標を、処理対象画像平面R3上のその一座標に対応する一座標として導き出し、その対応関係を空間モデル・処理対象画像対応マップ41に記憶する。
その後、制御部1は、座標対応付け手段10により、上述の処理によって導き出された空間モデルMD上の一座標と入力画像平面R4上の座標とを対応付ける(ステップS2)。
具体的には、座標対応付け手段10は、通常射影(h=ftanα)を採用するカメラ2の光学中心Cの座標を取得する。そして、座標対応付け手段10は、空間モデルMD上の一座標から延びる線分であり、光学中心Cを通過する線分が入力画像平面R4と交差する点を算出する。そして、座標対応付け手段10は、算出した点に対応する入力画像平面R4上の座標を、空間モデルMD上のその一座標に対応する入力画像平面R4上の一座標として導き出し、その対応関係を入力画像・空間モデル対応マップ40に記憶する。
その後、制御部1は、処理対象画像平面R3上の全ての座標を空間モデルMD上の座標及び入力画像平面R4上の座標に対応付けたか否かを判定する(ステップS3)。そして、制御部1は、未だ全ての座標を対応付けていないと判定した場合には(ステップS3のNO)、ステップS1及びステップS2の処理を繰り返す。
一方、制御部1は、全ての座標を対応付けたと判定した場合には(ステップS3のYES)、処理対象画像生成処理を終了させた上で出力画像生成処理を開始させる。そして、制御部1は、画像生成手段11により、処理対象画像平面R3上の座標と出力画像平面R5上の座標とを対応付ける(ステップS4)。
具体的には、画像生成手段11は、処理対象画像にスケール変換、アフィン変換、又は歪曲変換を施すことによって出力画像を生成する。そして、画像生成手段11は、施したスケール変換、アフィン変換、又は歪曲変換の内容によって定まる、処理対象画像平面R3上の座標と出力画像平面R5上の座標との間の対応関係を処理対象画像・出力画像対応マップ42に記憶する。
或いは、画像生成手段11は、仮想カメラ2Vを用いて出力画像を生成する場合には、採用した射影方式に応じて処理対象画像平面R3上の座標から出力画像平面R5上の座標を算出し、その対応関係を処理対象画像・出力画像対応マップ42に記憶するようにしてもよい。
或いは、画像生成手段11は、通常射影(h=ftanα)を採用する仮想カメラ2Vを用いて出力画像を生成する場合には、その仮想カメラ2Vの光学中心CVの座標を取得する。そして、画像生成手段11は、出力画像平面R5上の一座標から延びる線分であり、光学中心CVを通過する線分が処理対象画像平面R3と交差する点を算出する。そして、画像生成手段11は、算出した点に対応する処理対象画像平面R3上の座標を、出力画像平面R5上のその一座標に対応する処理対象画像平面R3上の一座標として導き出す。このようにして、画像生成手段11は、その対応関係を処理対象画像・出力画像対応マップ42に記憶するようにしてもよい。
その後、制御部1の画像生成手段11は、入力画像・空間モデル対応マップ40、空間モデル・処理対象画像対応マップ41、及び処理対象画像・出力画像対応マップ42を参照する。そして、画像生成手段11は、入力画像平面R4上の座標と空間モデルMD上の座標との対応関係、空間モデルMD上の座標と処理対象画像平面R3上の座標との対応関係、及び処理対象画像平面R3上の座標と出力画像平面R5上の座標との対応関係を辿る。そして、画像生成手段11は、出力画像平面R5上の各座標に対応する入力画像平面R4上の座標が有する値(例えば、輝度値、色相値、彩度値等である。)を取得し、その取得した値を、対応する出力画像平面R5上の各座標の値として採用する(ステップS5)。なお、出力画像平面R5上の一座標に対して複数の入力画像平面R4上の複数の座標が対応する場合、画像生成手段11は、それら複数の入力画像平面R4上の複数の座標のそれぞれの値に基づく統計値を導き出し、出力画像平面R5上のその一座標の値としてその統計値を採用してもよい。統計値は、例えば、平均値、最大値、最小値、中間値等である。
その後、制御部1は、出力画像平面R5上の全ての座標の値を入力画像平面R4上の座標の値に対応付けたか否かを判定する(ステップS6)。そして、制御部1は、未だ全ての座標の値を対応付けていないと判定した場合には(ステップS6のNO)、ステップS4及びステップS5の処理を繰り返す。
一方、制御部1は、全ての座標の値を対応付けたと判定した場合には(ステップS6のYES)、出力画像を生成して、この一連の処理を終了させる。
なお、画像生成装置100は、処理対象画像を生成しない場合には、処理対象画像生成処理を省略する。この場合、出力画像生成処理におけるステップS4の"処理対象画像平面上の座標"は、"空間モデル上の座標"で読み替えられる。
以上の構成により、画像生成装置100は、ショベル60の周囲の物体とショベル60との位置関係を操作者に直感的に把握させることが可能な処理対象画像及び出力画像を生成することができる。
また、画像生成装置100は、処理対象画像平面R3から空間モデルMDを経て入力画像平面R4に遡るように座標の対応付けを実行する。これにより、画像生成装置100は、処理対象画像平面R3上の各座標を入力画像平面R4上の一又は複数の座標に確実に対応させることができる。そのため、画像生成装置100は、入力画像平面R4から空間モデルMDを経て処理対象画像平面R3に至る順番で座標の対応付けを実行する場合と比べ、より良質な処理対象画像を迅速に生成することができる。入力画像平面R4から空間モデルMDを経て処理対象画像平面R3に至る順番で座標の対応付けを実行する場合には、入力画像平面R4上の各座標を処理対象画像平面R3上の一又は複数の座標に確実に対応させることができる。しかしながら、処理対象画像平面R3上の座標の一部が、入力画像平面R4上の何れの座標にも対応付けられない場合があり、その場合にはそれら処理対象画像平面R3上の座標の一部に補間処理等を施す必要がある。
また、画像生成装置100は、空間モデルMDの曲面領域R2に対応する画像のみを拡大或いは縮小する場合には、平行線群PLと処理対象画像平面R3との間に形成される角度を変更して空間モデル・処理対象画像対応マップ41における曲面領域R2に関連する部分のみを書き換えるだけで、入力画像・空間モデル対応マップ40の内容を書き換えることなく、所望の拡大或いは縮小を実現させることができる。
また、画像生成装置100は、出力画像の見え方を変更する場合には、スケール変換、アフィン変換又は歪曲変換に関する各種パラメータの値を変更して処理対象画像・出力画像対応マップ42を書き換えるだけで、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41の内容を書き換えることなく、所望の出力画像(スケール変換画像、アフィン変換画像又は歪曲変換画像)を生成することができる。
同様に、画像生成装置100は、出力画像の視点を変更する場合には、仮想カメラ2Vの各種パラメータの値を変更して処理対象画像・出力画像対応マップ42を書き換えるだけで、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41の内容を書き換えることなく、所望の視点から見た出力画像(視点変換画像)を生成することができる。
図10は、ショベル60に搭載された二台のカメラ2(右側方カメラ2R及び後方カメラ2B)の入力画像を用いて生成される出力画像を表示部5に表示させたときの表示例である。
画像生成装置100は、それら二台のカメラ2のそれぞれの入力画像を空間モデルMDの平面領域R1及び曲面領域R2上に投影した上で処理対象画像平面R3に再投影して処理対象画像を生成する。そして、画像生成装置100は、その生成した処理対象画像に画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)を施すことによって出力画像を生成する。このようにして、画像生成装置100は、ショベル60の近傍を上空から見下ろした画像(平面領域R1における画像)と、ショベル60から水平方向に周囲を見た画像(処理対象画像平面R3における画像)とを同時に表示する出力画像を生成する。以下では、このような出力画像を周辺監視用仮想視点画像と称する。
なお、周辺監視用仮想視点画像は、画像生成装置100が処理対象画像を生成しない場合には、空間モデルMDに投影された画像に画像変換処理(例えば、視点変換処理である。)を施すことによって生成される。
また、周辺監視用仮想視点画像は、ショベル60が旋回動作を行う際の画像を違和感なく表示できるよう、円形にトリミングされ、その円の中心CTRが空間モデルMDの円筒中心軸上で、且つ、ショベル60の旋回軸PV上となるように生成される。そのため、周辺監視用仮想視点画像は、ショベル60の旋回動作に応じてその中心CTRを軸に回転するように表示される。この場合、空間モデルMDの円筒中心軸は、再投影軸と一致するものであってもよく、一致しないものであってもよい。
なお、空間モデルMDの半径は、例えば、5メートルである。また、平行線群PLが処理対象画像平面R3との間で形成する角度、又は、補助線群ALの始点高さは、ショベル60の旋回中心から掘削アタッチメントEの最大到達距離(例えば12メートルである。)だけ離れた位置に物体(例えば、作業者である。)が存在する場合にその物体が表示部5で十分大きく(例えば、7ミリメートル以上である。)表示されるように、設定され得る。
更に、周辺監視用仮想視点画像は、ショベル60のCG画像を、ショベル60の前方が表示部5の画面上方と一致し、且つ、その旋回中心が中心CTRと一致するように配置してもよい。ショベル60と出力画像に現れる物体との間の位置関係をより分かり易くするためである。なお、周辺監視用仮想視点画像は、方位等の各種情報を含む額縁画像をその周囲に配置してもよい。
次に、図11〜図14を参照しながら、画像生成装置100が生成する周辺監視用仮想視点画像の詳細について説明する。
図11は、画像生成装置100を搭載するショベル60の上面図である。図11に示す実施例では、ショベル60は、3台のカメラ2(左側方カメラ2L、右側方カメラ2R、及び後方カメラ2B)と3台の人検出センサ6(左側方人検出センサ6L、右側方人検出センサ6R、及び後方人検出センサ6B)とを備える。なお、図11の一点鎖線で示す領域CL、CR、CBは、それぞれ、左側方カメラ2L、右側方カメラ2R、後方カメラ2Bの撮像空間を示す。また、図11の点線で示す領域ZL、ZR、ZBは、それぞれ、左側方人検出センサ6L、右側方人検出センサ6R、後方人検出センサ6Bの監視空間を示す。また、ショベル60は、キャブ64内に、表示部5と、3台の警報出力部7(左側方警報出力部7L、右側方警報出力部7R、及び後方警報出力部7B)と、ゲートロックレバー8と、イグニッションスイッチ9とを備える。
なお、本実施例では、人検出センサ6の監視空間がカメラ2の撮像空間よりも狭いが、人検出センサ6の監視空間は、カメラ2の撮像空間と同じでもよく、カメラ2の撮像空間より広くてもよい。また、人検出センサ6の監視空間は、カメラ2の撮像空間内において、ショベル60の近傍に位置するが、ショベル60からより遠い領域にあってもよい。また、人検出センサ6の監視空間は、カメラ2の撮像空間が重複する部分において、重複部分を有する。例えば、右側方カメラ2Rの撮像空間CRと後方カメラ2Bの撮像空間CBとの重複部分において、右側方人検出センサ6Rの監視空間ZRは、後方人検出センサ6Bの監視空間ZBと重複する。しかしながら、人検出センサ6の監視空間は、重複が生じないように配置されてもよい。
図12は、ショベル60に搭載された3台のカメラ2のそれぞれの入力画像と、それら入力画像を用いて生成される出力画像とを示す図である。
画像生成装置100は、3台のカメラ2のそれぞれの入力画像を空間モデルMDの平面領域R1及び曲面領域R2上に投影した上で処理対象画像平面R3に再投影して処理対象画像を生成する。また、画像生成装置100は、生成した処理対象画像に画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)を施すことによって出力画像を生成する。その結果、画像生成装置100は、ショベル60の近傍を上空から見下ろした画像(平面領域R1における画像)と、ショベル60から水平方向に周囲を見た画像(処理対象画像平面R3における画像)とを同時に表示する周辺監視用仮想視点画像を生成する。なお、周辺監視用仮想視点画像の中央に表示される画像は、ショベル60のCG画像60CGである。
図12において、右側方カメラ2Rの入力画像、及び、後方カメラ2Bの入力画像はそれぞれ、右側方カメラ2Rの撮像空間と後方カメラ2Bの撮像空間との重複部分内に人物を捉えている(右側方カメラ2Rの入力画像における二点鎖線で囲まれる領域R10、及び、後方カメラ2Bの入力画像における二点鎖線で囲まれる領域R11参照。)。
しかしながら、出力画像平面上の座標が入射角の最も小さいカメラに関する入力画像平面上の座標に対応付けられるものとすると、出力画像は、重複部分内の人物を消失させてしまう(出力画像内の一点鎖線で囲まれる領域R12参照。)。
そこで、画像生成装置100は、重複部分に対応する出力画像部分において、後方カメラ2Bの入力画像平面上の座標が対応付けられる領域と、右側方カメラ2Rの入力画像平面上の座標が対応付けられる領域とを混在させ、重複部分内の物体が消失するのを防止する。
図13は、2つのカメラのそれぞれの撮像空間の重複部分における物体の消失を防止する画像消失防止処理の一例であるストライプパタン処理を説明するための図である。
F13Aは、右側方カメラ2Rの撮像空間と後方カメラ2Bの撮像空間との重複部分に対応する出力画像部分を示す図であり、図12の点線で示す矩形領域R13に対応する。
また、F13Aにおいて、灰色で塗り潰された領域PR1は、後方カメラ2Bの入力画像部分が配置される画像領域であり、領域PR1に対応する出力画像平面上の各座標には後方カメラ2Bの入力画像平面上の座標が対応付けられる。
一方、白色で塗り潰された領域PR2は、右側方カメラ2Rの入力画像部分が配置される画像領域であり、部分PR2に対応する出力画像平面上の各座標には右側方カメラ2Rの入力画像平面上の座標が対応付けられる。
本実施例では、領域PR1と領域PR2とが縞模様(ストライプパタン処理)を形成するように配置され、領域PR1と領域PR2とが縞状に交互に並ぶ部分の境界線は、ショベル60の旋回中心を中心とする水平面上の同心円によって定められる。
F13Bは、ショベル60の右斜め後方の空間領域の状況を示す上面図であり、後方カメラ2B及び右側方カメラ2Rの双方によって撮像される空間領域の現在の状況を示す。また、F13Bは、ショベル60の右斜め後方に棒状の立体物OBが存在することを示す。
F13Cは、F13Bが示す空間領域を後方カメラ2B及び右側方カメラ2Rで実際に撮像して得られた入力画像に基づいて生成される出力画像の一部を示す。
具体的には、画像OB1は、後方カメラ2Bの入力画像における立体物OBの画像が、路面画像を生成するための視点変換によって、後方カメラ2Bと立体物OBとを結ぶ線の延長方向に伸長されたものを表す。すなわち、画像OB1は、後方カメラ2Bの入力画像を用いて出力画像部分における路面画像を生成した場合に表示される立体物OBの画像の一部である。
また、画像OB2は、右側方カメラ2Rの入力画像における立体物OBの画像が、路面画像を生成するための視点変換によって、右側方カメラ2Rと立体物OBとを結ぶ線の延長方向に伸長されたものを表す。すなわち、画像OB2は、右側方カメラ2Rの入力画像を用いて出力画像部分における路面画像を生成した場合に表示される立体物OBの画像の一部である。
このように、画像生成装置100は、重複部分において、後方カメラ2Bの入力画像平面上の座標が対応付けられる領域PR1と、右側方カメラ2Rの入力画像平面上の座標が対応付けられる領域PR2とを混在させる。その結果、画像生成装置100は、1つの立体物OBに関する2つの画像OB1及び画像OB2の双方を出力画像上に表示させ、立体物OBが出力画像から消失するのを防止する。
図14は、図12の出力画像と、図12の出力画像に画像消失防止処理(ストライプパタン処理)を適用することで得られる出力画像との違いを表す対比図であり、図14上図が図12の出力画像を示し、図14下図が画像消失防止処理(ストライプパタン処理)を適用した後の出力画像を示す。図14上図における一点鎖線で囲まれる領域R12では人物が消失しているのに対し、図14下図における一点鎖線で囲まれる領域R14では人物が消失せずに表示されている。
なお、画像生成装置100は、ストライプパタン処理の代わりに、メッシュパタン処理、平均化処理等を適用して重複部分内の物体の消失を防止してもよい。具体的には、画像生成装置100は、平均化処理により、2つのカメラのそれぞれの入力画像における対応する画素の値(例えば、輝度値である。)の平均値を、重複部分に対応する出力画像部分の画素の値として採用する。或いは、画像生成装置100は、メッシュパタン処理により、重複部分に対応する出力画像部分において、一方のカメラの入力画像における画素の値が対応付けられる領域と、他方のカメラの入力画像における画素の値が対応付けられる領域とを網模様(メッシュパタン)を形成するように配置させる。これにより、画像生成装置100は、重複部分内の物体が消失するのを防止する。
次に、図15〜図17を参照して、画像生成手段11が、人存否判定手段12の判定結果に基づいて出力画像の内容を切り換える処理(以下、「第1出力画像切換処理」とする。)について説明する。なお、図15は、ショベル60に搭載された3台のカメラ2のそれぞれの入力画像と、それら入力画像を用いて生成される出力画像とを示す図であり、図12に対応する。また、図16は、第1出力画像切換処理で用いられる空間モデルMDと処理対象画像平面R3との間の関係の一例を示す図であり、図4に対応する。また、図17は、第1出力画像切換処理で切り換えられる2つの出力画像の関係を説明する図である。
図15に示すように、画像生成装置100は、3台のカメラ2のそれぞれの入力画像を空間モデルMDの平面領域R1及び曲面領域R2上に投影した上で処理対象画像平面R3に再投影して処理対象画像を生成する。また、画像生成装置100は、生成した処理対象画像に画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)を施すことによって出力画像を生成する。その結果、画像生成装置100は、ショベル60の近傍を上空から見下ろした画像と、ショベル60から水平方向に周囲を見た画像とを同時に表示する周辺監視用仮想視点画像を生成する。
また、図15において、左側方カメラ2L、後方カメラ2B、及び右側方カメラ2Rのそれぞれの入力画像は、作業者が3人ずつ存在する状態を示す。また、出力画像は、ショベル60の周囲に9人の作業者が存在する状態を示す。
なお、空間モデルMDの平面領域R1の高さは、ショベル60の接地面である路面に相当する高さに設定されている。そのため、図15の平面領域R1における画像では、9人の作業者のそれぞれの接地位置とショベル60のCG画像60CGとの間の距離は、9人の作業者のそれぞれとショベル60との間の実際の距離を正確に表している。しかしながら、作業者の画像は、接地位置(足下)から遠ざかるにつれて大きくなるように表示される。特に、図15に示すように、作業者の頭部は、ショベル60のCG画像60CGの大きさと比べても顕著に大きく表示されている。そのため、図15の出力画像を見たショベル60の操作者は、ショベル60と作業者との間の距離が実際の距離よりも大きいと錯覚するおそれがある。
そこで、画像生成手段11は、人存否判定手段12により、左側方監視空間ZL、後方監視空間ZB、及び右側方監視空間ZRの何れかに人が存在すると判定された場合、出力画像の内容を切り換える。本実施例では、画像生成手段11は、空間モデルMDの平面領域R1の高さを、路面に相当する高さから人の頭の高さに相当する高さ(以下、「頭高さ」とする。)に切り換える。なお、頭高さは、予め設定される値であり、例えば150cmである。但し、頭高さは、動的に決定される値であってもよい。例えば、画像生成装置100は、人検出センサ6等の出力に基づいてショベル60の周囲に存在する作業者の高さ(身長)を検出できる場合、検出した身長に基づいて頭高さを決定してもよい。具体的には、ショベル60に最も近い作業者の身長に応じて頭高さを決定してもよく、ショベル60の周囲に存在する複数の作業者の身長の統計値(最大値、最小値、平均値等)に応じて頭高さを決定してもよい。
ここで、図16及び図17を参照して、路面に相当する高さの平面領域R1を有する図4の空間モデルMDと、頭高さの平面領域R1Mを有する頭高さ基準空間モデルMDMとの関係について説明する。なお、図16上図は、空間モデルMDと、平面領域R1を含む処理対象画像平面R3との関係を示し、図16下図は、頭高さ基準空間モデルMDMと、頭高さ基準平面領域R1Mを含む頭高さ基準処理対象画像平面R3Mとの関係を示す。また、図17において、出力画面D1は、空間モデルMDを用いて生成される路面高さ基準の周辺監視用仮想視点画像であり、出力画像D2は、空間モデルMDMを用いて生成される頭高さ基準の周辺監視用仮想視点画像である。なお、画像D3は、路面高さ基準の周辺監視用仮想視点画像と頭高さ基準の周辺監視用仮想視点画像との大きさの違いを表す説明用の画像である。また、路面高さ基準の周辺監視用仮想視点画像における画像部分D10の大きさは、頭高さ基準の周辺監視用仮想視点画像の大きさに対応する。
図16に示すように、頭高さ基準平面領域R1M及び頭高さ基準処理対象画像平面R3Mの高さは、路面の高さに相当する平面領域R1M及び処理対象画像平面R3の高さに比べ、頭高さHTだけ高い。
その結果、図17に示すように、頭高さ基準の周辺監視用仮想視点画像である出力画像D2は、頭高さHTに存在する作業者の身体部分(頭)とショベル60との距離が、作業者とショベル60との間の実際の距離を表すように表示される。これにより、画像生成装置100は、出力画像を見たショベル60の操作者が、ショベル60と作業者との間の距離を実際の距離よりも大きめに捉えてしまうのを防止できる。
なお、図16に示すように、画像部分D10に対応する空間モデルMDM上の領域D10Mは、頭高さ基準平面領域R1Mに含まれる。すなわち、頭高さ基準の周辺監視用仮想視点画像は、頭高さ基準処理対象画像平面R3Mの環状部分(頭高さ基準平面領域R1M以外の部分)に再投影される入力画像部分を利用しない。そのため、本実施例では、画像生成装置100は、領域D10M以外の領域における座標の対応付けを省略する。
以上の構成により、画像生成装置100は、人存否判定手段12の判定結果に基づいて出力画像の内容を切り換える。具体的には、画像生成装置100は、ショベル60の周囲に人が存在すると判定した場合に、路面高さ基準の周辺監視用仮想視点画像を頭高さ基準の周辺監視用仮想視点画像に切り換える。その結果、画像生成装置100は、ショベル60の周囲に作業者を検出した場合に、ショベル60と作業者との間の距離をより正確にショベル60の操作者に伝えることができる。なお、画像生成装置100は、その後にショベル60の周囲に人が存在しないと判定した場合には、頭高さ基準の周辺監視用仮想視点画像を路面高さ基準の周辺監視用仮想視点画像に切り換える。ショベル60の操作者がショベル60の周囲をより広範囲に監視できるようにするためである。
次に、図18を参照して、画像生成手段11が、人存否判定手段12の判定結果に基づいて出力画像の内容を切り換える別の処理(以下、「第2出力画像切換処理」とする。)について説明する。なお、図18は、第2出力画像切換処理で切り換えられる3つの出力画像の関係を説明する図である。
画像生成装置100は、2つのカメラのそれぞれの撮像空間の重複部分における物体の消失を防止するストライプパタン処理、メッシュパタン処理、平均化処理等の画像消失防止処理を実行する。具体的には、画像生成装置100は、画像消失防止処理により、重複部分に対応する出力画像部分において、2つのカメラのそれぞれの入力画像平面上の座標が対応付けられる領域を混在させることによって重複部分における物体の消失を防止する。しかしながら、画像消失防止処理は、重複部分における物体の視認性を低下させてしまうという問題がある。
そこで、画像生成手段11は、人存否判定手段12の判定結果に応じて出力画像の内容を切り換える。本実施例では、画像生成手段11は、人が存在すると判定された監視空間に対応するカメラを優先カメラとし、人が存在しないと判定された監視空間に対応するカメラを被優先カメラとする。なお、優先カメラの撮像空間と被優先カメラの撮像空間は重複部分を有する。そして、画像生成手段11は、優先カメラと被優先カメラとを決定できない場合には、画像消失防止処理を適用した周辺監視用仮想視点画像を生成する。一方で、画像生成手段11は、優先カメラと被優先カメラとを決定できた場合には、画像消失防止処理を適用することなく、重複部分に対応する出力画像部分に優先カメラの入力画像平面上の座標を対応付けることによって周辺監視用仮想視点画像を生成する。
具体的には、画像生成手段11は、左側方監視空間ZL、後方監視空間ZB、及び右側方監視空間ZRの全てで人が存在すると判定された場合に、画像消失防止処理を適用した周辺監視用仮想視点画像を生成する。何れのカメラも優先カメラとはなり得ず、何れのカメラも被優先カメラとはなり得ないためである。すなわち、何れかのカメラを優先カメラとした場合には重複部分内の人を消失させてしまうおそれがあるためである。
また、画像生成手段11は、左側方監視空間ZL、後方監視空間ZB、及び右側方監視空間ZRの全てで人が存在しないと判定された場合にも、画像消失防止処理を適用した周辺監視用仮想視点画像を生成する。何れかのカメラを優先カメラとしながら表示すべき対象が存在しないためである。但し、この場合には、画像生成手段11は、画像消失防止処理を適用することなく、重複部分に対応する出力画像部分に何れか一方のカメラの入力画像平面上の座標を対応付けることによって周辺監視用仮想視点画像を生成してもよい。そもそも消失のおそれがある物体が存在しないためであり、また、画像消失防止処理を省略することで制御部1の処理負荷を低減できるためである。
図18の出力画像D11は、左側方監視空間ZL、後方監視空間ZB、及び右側方監視空間ZRの全てで人が存在すると判定された場合に生成される、画像消失防止処理が適用された周辺監視用仮想視点画像を示す。この場合、画像生成手段11は、左側方撮像空間CLと後方撮像空間CBの重複部分に対応する出力画像部分R15に、左側方カメラ2Lの入力画像平面上の座標が対応付けられる領域と、後方カメラ2Bの入力画像平面上の座標が対応付けられる領域とを混在させる。また、画像生成手段11は、右側方撮像空間CRと後方撮像空間CBの重複部分に対応する出力画像部分R16に、右側方カメラ2Rの入力画像平面上の座標が対応付けられる領域と、後方カメラ2Bの入力画像平面上の座標が対応付けられる領域とを混在させる。出力画像部分R15、R16での作業者の消失を防止するためである。
一方で、画像生成手段11は、左側方監視空間ZLに人が存在すると判定され、且つ、後方監視空間ZBに人が存在しないと判定された場合には、左側方カメラ2Lを優先カメラとし、後方カメラ2Bを被優先カメラとする。すなわち、画像生成手段11は、左側方撮像空間CLと後方撮像空間CBの重複部分に対応する出力画像部分R15に左側方カメラ2Lの入力画像平面上の座標を対応付ける。
また、画像生成手段11は、右側方監視空間ZRに人が存在すると判定され、且つ、後方監視空間ZBに人が存在しないと判定された場合には、右側方カメラ2Rを優先カメラとし、後方カメラ2Bを被優先カメラとする。すなわち、画像生成手段11は、右側方撮像空間CRと後方撮像空間CBの重複部分に対応する出力画像部分R16に右側方カメラ2Rの入力画像平面上の座標を対応付ける。
図18の出力画像D12は、左側方監視空間ZL及び右側方監視空間ZRに人が存在すると判定され、且つ、後方監視空間ZBに人が存在しないと判定された場合に生成される側方カメラ優先の周辺監視用仮想視点画像を示す。この場合、画像生成手段11は、左側方カメラ2L及び右側方カメラ2Rのそれぞれを優先カメラとし、後方カメラ2Bを被優先カメラとする。そして、画像生成手段11は、左側方撮像空間CLと後方撮像空間CBの重複部分に対応する出力画像部分R15に左側方カメラ2Lの入力画像平面上の座標を対応付け、右側方撮像空間CRと後方撮像空間CBの重複部分に対応する出力画像部分R16に右側方カメラ2Lの入力画像平面上の座標を対応付ける。その結果、画像生成手段11は、出力画像部分R17Pに左側方カメラ2Lの入力画像平面上の座標を対応付け、出力画像部分R18Pに右側方カメラ2Rの入力画像平面上の座標を対応付け、出力画像部分R19Nに後方カメラ2Bの入力画像平面上の座標を対応付ける。
また、画像生成手段11は、左側方監視空間ZLに人が存在しないと判定され、且つ、後方監視空間ZBに人が存在すると判定された場合には、左側方カメラ2Lを被優先カメラとし、後方カメラ2Bを優先カメラとする。すなわち、画像生成手段11は、左側方撮像空間CLと後方撮像空間CBの重複部分に対応する出力画像部分R15に後方カメラ2Bの入力画像平面上の座標を対応付ける。
また、画像生成手段11は、右側方監視空間ZRに人が存在しないと判定され、且つ、後方監視空間ZBに人が存在すると判定された場合には、右側方カメラ2Rを被優先カメラとし、後方カメラ2Bを優先カメラとする。すなわち、画像生成手段11は、右側方撮像空間CRと後方撮像空間CBの重複部分に対応する出力画像部分R16に後方カメラ2Bの入力画像平面上の座標を対応付ける。
図18の出力画像D13は、左側方監視空間ZL及び右側方監視空間ZRに人が存在しないと判定され、且つ、後方監視空間ZBに人が存在すると判定された場合に生成される、後方カメラ優先の周辺監視用仮想視点画像を示す。この場合、画像生成手段11は、左側方カメラ2L及び右側方カメラ2Rのそれぞれを被優先カメラとし、後方カメラ2Bを優先カメラとする。そして、画像生成手段11は、左側方撮像空間CLと後方撮像空間CBの重複部分に対応する出力画像部分R15に後方カメラ2Bの入力画像平面上の座標を対応付け、右側方撮像空間CRと後方撮像空間CBの重複部分に対応する出力画像部分R16にも後方カメラ2Bの入力画像平面上の座標を対応付ける。その結果、画像生成手段11は、出力画像部分R17Nに左側方カメラ2Lの入力画像平面上の座標を対応付け、出力画像部分R18Nに右側方カメラ2Rの入力画像平面上の座標を対応付け、出力画像部分R19Pに後方カメラ2Bの入力画像平面上の座標を対応付ける。
なお、図18に示すように、出力画像部分R17Pは、出力画像部分R17Nに出力画像部分R15を加えた部分に相当し、出力画像部分R18Pは、出力画像部分R18Nに出力画像部分R16を加えた部分に相当する。また、出力画像部分R19Pは、出力画像部分R19Nに出力画像部分R15及び出力画像部分R16を加えた部分に相当する。
図19は、人存否判定手段12の判定結果と、出力画像の内容との対応関係を示す対応表である。なお、○印は、人存否判定手段12により人が存在すると判定されたことを表し、×印は、人が存在しないと判定されたことを表す。
パターンAは、左側方監視空間ZLのみで人が存在すると判定され、後方監視空間ZB及び右側方監視空間ZRでは人が存在しないと判定された場合に、図18の出力画像D12に示すような側方カメラ優先の周辺監視用仮想視点画像が生成されることを表す。
パターンBは、右側方監視空間ZRのみで人が存在すると判定され、左側方監視空間ZL及び後方監視空間ZBでは人が存在しないと判定された場合に、図18の出力画像D12に示すような側方カメラ優先の周辺監視用仮想視点画像が生成されることを表す。
パターンCは、左側方監視空間ZL及び右側方監視空間ZRで人が存在すると判定され、後方監視空間ZBでは人が存在しないと判定された場合に、図18の出力画像D12に示すような側方カメラ優先の周辺監視用仮想視点画像が生成されることを表す。
パターンDは、左側方監視空間ZL及び後方監視空間ZBで人が存在すると判定され、右側方監視空間ZRでは人が存在しないと判定された場合に、図18の出力画像D13に示すような後方カメラ優先の周辺監視用仮想視点画像が生成されることを表す。
パターンE〜Gは、左側方監視空間ZL及び右側方監視空間ZRの少なくとも一方と後方監視空間ZBとで人が存在すると判定された場合に、図18の出力画像D11に示すような画像消失防止処理を適用した周辺監視用仮想視点画像が生成されることを表す。
パターンHは、左側方監視空間ZL、後方監視空間ZB、及び右側方監視空間ZRの全てで人が存在しないと判定された場合に、図18の出力画像D11に示すような画像消失防止処理を適用した周辺監視用仮想視点画像が生成されることを表す。
以上の構成により、画像生成装置100は、人存否判定手段12の判定結果に基づいて出力画像の内容を切り換える。具体的には、画像生成装置100は、優先カメラと被優先カメラを決定できない場合には、画像消失防止処理を適用した周辺監視用仮想視点画像を生成する。一方で、画像生成手段11は、優先カメラと被優先カメラとを決定できる場合には、画像消失防止処理を適用することなく、重複部分に対応する出力画像部分に優先カメラの入力画像平面上の座標を対応付けることによって周辺監視用仮想視点画像を生成する。その結果、画像生成装置100は、2つのカメラのそれぞれの撮像空間の重複部分に存在する作業者をより鮮明に表示することができる。
また、上述の実施例では、画像生成装置100は、左側方カメラ2L及び右側方カメラ2Rを優先カメラとし、後方カメラ2Bを被優先カメラとする側方カメラ優先の周辺監視用仮想視点画像を生成する。或いは、画像生成装置100は、左側方カメラ2L及び右側方カメラ2Rを被優先カメラとし、後方カメラ2Bを優先カメラとする後方カメラ優先の周辺監視用仮想視点画像を生成する。しかしながら、本発明は、この構成に限定されるものではない。例えば、画像生成装置100は、出力画像部分R15に左側方カメラ2L及び後方カメラ2Bの何れか一方の入力画像平面上の座標を対応付けながらも、出力画像部分R16に画像消失防止処理を適用してもよい。また、画像生成装置100は、出力画像部分R16に右側方カメラ2R及び後方カメラ2Bの何れか一方の入力画像平面上の座標を対応付けながらも、出力画像部分R15に画像消失防止処理を適用してもよい。
また、画像生成装置100は、第1出力画像切換処理と第2出力画像切換処理とを組み合わせてもよい。
また、上述の実施例では、画像生成装置100は、1つのカメラの撮像空間に1つの人検出センサの監視空間を対応させるが、複数のカメラの撮像空間に1つの人検出センサの監視空間を対応させてもよく、1つのカメラの撮像空間に複数の人検出センサの監視空間を対応させてもよい。
また、上述の実施例では、画像生成装置100は、人存否判定手段12の判定結果が変わった瞬間に出力画像の内容を切り換える。しかしながら、本発明はこの構成に限定されるものではない。例えば、画像生成装置100は、人存否判定手段12の判定結果が変わってから出力画像の内容を切り換えるまでに所定の遅延時間を設定してもよい。出力画像の内容が頻繁に切り換えられるのを抑制するためである。
次に、図20及び図21を参照しながら、警報制御手段13が人存否判定手段12の判定結果に基づいて警報出力部7を制御する処理(以下、「第1警報制御処理」とする。)について説明する。なお、図20は、第1警報制御処理の流れを示すフローチャートであり、図21は、第1警報制御処理中に表示される出力画像の推移の一例を示す。なお、警報制御手段13は、所定周期で繰り返しこの第1警報制御処理を実行する。
最初に、人存否判定手段12は、ショベル60の周囲に人が存在するか否かを判定する(ステップS11)。このとき、画像生成手段11は、例えば、図21の出力画像D21に示すような路面高さ基準の周辺監視用仮想視点画像を生成して表示する。
ショベル60の周囲に人が存在すると判定した場合(ステップS11のYES)、人存否判定手段12は、検出信号を警報制御手段13に対して出力する。検出信号を受けた警報制御手段13は、警報を開始させるための警報開始信号を警報出力部7に対して出力し、警報出力部7から警報を出力させる(ステップS12)。
本実施例では、警報出力部7は、警報音を出力する。そして、画像生成手段11は、例えば、図21の出力画像D22に示すように、路面高さ基準の周辺監視用仮想視点画像を頭高さ基準の周辺監視用仮想視点画像に切り換えて表示する。具体的には、人存否判定手段12は、後方監視空間ZBに作業者P1が存在すると判定した場合に警報制御手段13に対して検出信号を通知する。そして、警報制御手段13は、左側方警報出力部7L、後方警報出力部7B、及び右側方警報出力部7Rに対して警報開始信号を出力し、3つ全ての警報出力部から警報音を出力させる。また、画像生成手段11は、頭高さ基準の周辺監視用仮想視点画像上に警報停止ボタンG1を重畳表示する。警報停止ボタンG1は、入力部3としてのタッチパネルとの協働によって構成されるソフトウェアボタンである。操作者は、警報停止ボタンG1を押下することによって警報音を停止させることができる。なお、警報停止ボタンG1は、表示部5の近傍に設置されるハードウェアボタンであってもよい。この場合、画像生成手段11は、警報停止ボタンG1としてのハードウェアボタンを押下することによって警報を停止させることができる旨を表すテキストメッセージを周辺監視用仮想視点画像に重畳表示してもよい。また、画像生成手段11は、ショベル60の周囲に人が存在すると判定された場合であっても、図21の出力画像D23に示すように、路面高さ基準の周辺監視用仮想視点画像をそのまま用いながら警報停止ボタンG1を重畳表示してもよい。
一方、ショベル60の周囲に人が存在しないと判定した場合(ステップS11のNO)、人存否判定手段12は、警報制御手段13に対して検出信号を出力しない。そのため、警報制御手段13は、警報出力部7に対して警報開始信号を出力しない。また、警報制御手段13は、既に警報を出力させている場合であっても、警報を停止させるための警報停止信号を警報出力部7に対して出力することはない。
その後、警報制御手段13は、警報停止ボタンG1が押下されたか否かを判定する(ステップS13)。そして、警報停止ボタンG1が押下されたと判定した場合(ステップS13のYES)、警報制御手段13は、警報停止信号を警報出力部7に対して出力し、警報出力部7からの警報の出力を停止させる(ステップS14)。また、画像生成手段11は、頭高さ基準の周辺監視用仮想視点画像を表示している場合には、頭高さ基準の周辺監視用仮想視点画像を路面高さ基準の周辺監視用仮想視点画像に切り換えて表示する。
一方、警報停止ボタンG1が押下されていないと判定した場合(ステップS13のNO)、警報制御手段13は、警報停止信号を警報出力部7に対して出力しない。すなわち、警報制御手段13が出力させた警報は、その後に人存否判定手段12がショベル60の周囲に人が存在しないと判定した場合であっても、警報停止ボタンG1が押下されるまで停止しない。また、画像生成手段11は、頭高さ基準の周辺監視用仮想視点画像を表示している場合には、頭高さ基準の周辺監視用仮想視点画像の表示を継続させる。
なお、警報制御手段13は、警報停止ボタンG1が押下される前であっても、人存否判定手段12がショベル60の周囲に人が存在しないと判定した場合には、警報の内容を変更してもよい。具体的には、警報制御手段13は、既に出力している警報音の強弱、高低、出力間隔等を変更してもよく、或いは、既に発光させている警報ランプの強弱、発光色、発光間隔等を変更してもよい。警報を受ける操作者が、人存否判定手段12により人が存在すると判定されている場合と、人が存在しないと判定されている場合とを区別できるようにするためである。
以上の構成により、画像生成装置100は、監視空間内に人が存在すると判定した場合に警報を出力し、操作者が警報を停止させる意思を示すまでは、その警報を停止させない。すなわち、画像生成装置100は、監視空間内に存在していた人がその監視空間内から退出した場合、或いは、監視空間内に存在する人を検出し損ねた場合であっても警報を停止させることはない。そのため、画像生成装置100は、ショベル60の周囲の監視空間に存在していた作業者が監視空間外に退出したことの確認を操作者に促すことができる。
また、画像生成装置100は、人存否判定手段12が動体検出センサに基づいて作業者(動体)の存否を判定する構成において、監視空間内で作業者が静止したことに応じて警報を停止させてしまうのを防止できる。また、画像生成装置100は、人存否判定手段12がオプティカルフローを用いて作業者(動体)の存否を判定する構成において、監視空間内で作業者が静止したことに応じて警報を停止させてしまうのを防止できる。なお、動体検出センサ及びオプティカルフローは、静止物を検出対象とせず、作業者が監視空間内で静止したことと作業者が監視空間から退出したこととを区別しない。そのため、人が存在しないと判定した時点で警報を停止させる構成では、監視空間内に作業者が存在するにもかかわらず警報を停止させてしまうおそれがある。これに対し、画像生成装置100は、監視空間内に作業者が存在するおそれがある場合には警報を停止させないようにすることによってショベル60の操作者の注意を喚起することができる。
次に、図22〜図25を参照して、警報制御手段13が人存否判定手段12の判定結果と、作業機械状態判定手段14の判定結果とに基づいて警報出力部7を制御する処理(以下、「第2警報制御処理」とする。)について説明する。なお、図22は、第2警報制御処理の流れを示すフローチャートであり、図23は、第2警報制御処理中に表示される出力画像の推移の一例を示す。また、図24は、作業機械状態判定手段14が作業機械の状態を判定する処理(以下、「作業機械状態判定処理」とする。)の流れを示すフローチャートであり、図25は、作業不能状態から作業可能状態への切り替わり時に警報制御手段13が警報出力部7を制御する処理(以下、「作業開始時警報制御処理」とする。)の流れを示すフローチャートである。なお、警報制御手段13は、所定周期で繰り返し第2警報制御処理を実行し、作業機械状態判定手段14は、所定周期で繰り返し作業機械状態判定処理を実行する。また、警報制御手段13は、作業不能状態から作業可能状態への切り替わり時に作業開始時警報制御処理を実行する。
最初に、人存否判定手段12は、ショベル60の周囲に人が存在するか否かを判定する(ステップS21)。このとき、画像生成手段11は、表示部5が起動している場合には、例えば、図23の出力画像D31に示すような路面高さ基準の周辺監視用仮想視点画像を生成して表示する。
ショベル60の周囲に人が存在すると判定した場合(ステップS21のYES)、人存否判定手段12は、作業機械状態判定手段14による判定の結果(後述の図24参照。)を参照する(ステップS22)。この場合、人存否判定手段12は、ゲートロックレバー8をロック状態に固定してもよい。具体的には、人存否判定手段12は、操作者がゲートロックレバー8を引き上げることができないようにしてもよく、ゲートロックレバー8が引き上げられたとしてもロック解除状態とならないようにしてもよい。
作業機械状態判定手段14によりショベル60が作業可能状態にあると判定された場合(ステップS22のYES)、人存否判定手段12は、検出信号を警報制御手段13に対して出力する。検出信号を受けた警報制御手段13は、警報を出力させるための警報開始信号を警報出力部7に対して出力し、警報出力部7から警報を出力させる(ステップS23)。
本実施例では、警報出力部7は、警報音を出力する。具体的には、人存否判定手段12は、左側方監視空間ZLに人(ここでは作業者P10〜P12である。)が存在すると判定した場合に警報制御手段13に対して左側方検出信号を通知する。そして、警報制御手段13は、左側方警報出力部7L、後方警報出力部7B、及び右側方警報出力部7Rに対して警報開始信号を出力し、3つ全ての警報出力部から警報音を出力させる。この場合、制御部1は、表示部5が起動していない場合には表示部5を起動させる。そして、画像生成手段11は、図21の出力画像D22に示すように、路面高さ基準の周辺監視用仮想視点画像を頭高さ基準の周辺監視用仮想視点画像に切り換えて警報停止ボタンG1を重畳表示する。また、画像生成手段11は、図21の出力画像D23に示すように、路面高さ基準の周辺監視用仮想視点画像上に警報停止ボタンG1を重畳表示してもよい。この場合、警報制御手段13は、警報停止ボタンG1が押下されるまで、ショベル60による作業を禁止してもよい。具体的には、警報制御手段13は、ゲートロック弁を閉状態にし、コントロールバルブと操作レバー等との間の作動油の流れを遮断して操作レバー等を無効にしてもよい。
また、作業機械状態判定手段14によりショベル60が作業可能状態にないと判定された場合(ステップS22のNO)、人存否判定手段12は、検出信号を警報制御手段13に対して出力せず、NVRAM等に用意された人検出フラグの値を「1」(オン)に設定する(ステップS24)。なお、人検出フラグは、初期値として値「0」(オフ)が設定されており、検出フラグの値「1」(オン)は人を検出したことを表し、検出フラグの値「0」(オフ)は人を検出していないことを表す。この時点では、警報制御手段13は、検出信号を受けないため、警報開始信号を警報出力部7に対して出力することはなく、警報出力部7から警報を出力させることもない。また、警報制御手段13は、既に警報出力部7に対して警報開始信号を出力していた場合にはそれら警報出力部7に対して警報停止信号を出力してもよい。また、画像生成手段11は、表示部5が起動している場合には、ショベル60の周囲に人が存在すると判定されているにもかかわらず、人が存在しないと判定された場合と同様の出力画像を表示する。具体的には、画像生成手段11は、例えば図23の出力画像D32に示すような路面高さ基準の周辺監視用仮想視点画像を表示する。但し、画像生成手段11は、路面高さ基準の周辺監視用仮想視点画像を頭高さ基準の周辺監視用仮想視点画像に切り換えてもよい。
一方、ショベル60の周囲に人が存在しないと判定した場合(ステップS21のNO)、人存否判定手段12は、作業機械状態判定手段14による判定の結果を参照することはなく、警報制御手段13に対して検出信号を出力することもない。
この場合、画像生成手段11は、既に警報が出力されている場合には、ショベル60の周囲に人が存在いないと判定されているにもかかわらず、人が存在すると判定された場合と同様の出力画像を表示する。具体的には、画像生成手段11は、例えば図23の出力画像D33に示すような頭高さ基準の周辺監視用仮想視点画像を警報停止ボタンG1と共に表示する。但し、画像生成手段11は、頭高さ基準の周辺監視用仮想視点画像を、図23の出力画像D34に示すような路面高さ基準の周辺監視用仮想視点画像に切り換えてもよい。
その後、警報制御手段13は、既に警報が出力されている場合には、警報停止ボタンG1が押下されたか否かを監視する(ステップS25)。そして、警報停止ボタンG1が押下されたと判定した場合(ステップS25のYES)、警報制御手段13は、警報停止信号を警報出力部7に対して出力し、警報出力部7からの警報の出力を停止させる(ステップS26)。また、画像生成手段11は、頭高さ基準の周辺監視用仮想視点画像(出力画像D33参照。)を表示している場合には、頭高さ基準の周辺監視用仮想視点画像を路面高さ基準の周辺監視用仮想視点画像(出力画像D31参照。)に切り換えて表示する。
一方、警報停止ボタンG1が押下されていないと判定した場合(ステップS25のNO)、警報制御手段13は、警報停止信号を警報出力部7に対して出力しない。すなわち、警報制御手段13が出力させた警報は、その後に人存否判定手段12がショベル60の周囲に人が存在しないと判定した場合であっても、警報停止ボタンG1が押下されるまで停止しない。また、画像生成手段11は、頭高さ基準の周辺監視用仮想視点画像(出力画像D33参照。)を表示している場合には、その頭高さ基準の周辺監視用仮想視点画像の表示を継続させる。
なお、警報制御手段13は、警報停止ボタンG1が押下される前であっても、人存否判定手段12がショベル60の周囲に人が存在しないと判定した場合には、警報の内容を変更してもよい。具体的には、警報制御手段13は、既に出力している警報音の強弱、高低、出力間隔等を変更してもよく、或いは、既に発光させている警報ランプの強弱、発光色、発光間隔等を変更してもよい。警報を受ける操作者が、人存否判定手段12により人が存在すると判定されている場合と、人が存在しないと判定されている場合とを区別できるようにするためである。
次に、図24を参照して、作業機械状態判定手段14による作業機械状態判定処理について説明する。
最初に、作業機械状態判定手段14は、イグニッションスイッチ9の出力に基づいて、イグニッションスイッチ9がオン状態にあるか否かを判定する(ステップS31)。
イグニッションスイッチ9がオン状態にあると判定した場合(ステップS31のYES)、作業機械状態判定手段14は、ゲートロックレバー8の出力に基づいてゲートロックレバー8がロック解除状態にあるか否かを判定する(ステップS32)。
ゲートロックレバー8がロック解除状態にあると判定した場合(ステップS32のYES)、作業機械状態判定手段14は、ショベル60が作業可能状態にあると判定する(ステップS33)。
一方、イグニッションスイッチ9がオン状態にないと判定した場合(ステップS31のNO)、或いは、ゲートロックレバー8がロック解除状態にないと判定した場合(ステップS32のNO)、作業機械状態判定手段14は、ショベル60が作業可能状態にない、すなわち、ショベル60が作業不可状態にあると判定する(ステップS34)。
その後、作業機械状態判定手段14は、NVRAM等に用意された作業可能フラグの値を判定結果に応じて設定する。人存否判定手段12は、図22に示す第2警報制御処理のステップS22においてこの作業可能フラグの値を参照し、参照した値に基づいて警報出力の有無を判断する。なお、作業可能フラグは、初期値として値「0」(オフ)が設定されており、作業可能フラグの値「1」(オン)は作業可能であることを表し、作業可能フラグの値「0」(オフ)は作業不可であることを表す。
なお、作業機械状態判定手段14は、ゲートロックレバー8及びイグニッションスイッチ9の何れか一方の状態のみに基づいてショベル60が作業可能状態にあるか否かを判定してもよい。
次に、図25を参照して、警報制御手段13による作業開始時警報制御処理について説明する。
最初に、警報制御手段13は、人検出フラグの値を参照する(ステップS41)。そして、人検出フラグの値が「1」オンであると判定した場合(ステップS41のYES)、警報制御手段13は、警報開始信号を警報出力部7に対して出力し、警報出力部7から警報を出力させる(ステップS42)。具体的には、警報制御手段13は、人存否判定手段12により、現時点においてショベル60の周囲に人が存在しないと判定された場合であっても警報を出力させる。本実施例では、警報制御手段13は、左側方警報出力部7L、後方警報出力部7B、及び右側方警報出力部7Rに対して警報開始信号を出力し、3つ全ての警報出力部から警報音を出力させる。この場合、警報制御手段13は、警報の出力が停止されるまで、ショベル60による作業を禁止してもよい。具体的には、警報制御手段13は、ゲートロック弁を閉状態にし、コントロールバルブと操作レバー等との間の作動油の流れを遮断して操作レバー等を無効にしてもよい。
その後、警報制御手段13は、警報開始後の経過時間を計測し、警報開始後に所定時間(例えば2秒間である。)が経過したか否かを判定する(ステップS43)。
警報開始後に所定時間が経過していないと判定した場合(ステップS43のNO)、警報制御手段13は、所定時間が経過するまで待機する。
一方、警報開始後に所定時間が経過したと判定した場合(ステップS43のYES)、警報制御手段13は、警報停止信号を警報出力部7に対して出力し、警報出力部7からの警報の出力を停止させる(ステップS44)。また、警報制御手段13は、人検出フラグの値を「0」(オフ)にリセットする(ステップS45)。なお、警報制御手段13は、警報停止ボタンG1が押下されるまで警報を停止させないようにしてもよい。
以上の構成により、画像生成装置100は、監視空間内に人が存在すると判定した場合であってもショベル60が作業不可状態の場合には警報を出力しない。そのため、画像生成装置100は、ショベル60が作業不可状態にある場合に不要な警報が出力されてしまうのを防止できる。
一方で、画像生成装置100は、現時点において監視空間内に人が存在しないと判定した場合であっても、ショベル60が作業不可状態にある間に作業者が監視範囲内に進入していた場合には警報を出力する。そのため、画像生成装置100は、ショベル60の周囲の監視空間に存在していた作業者が監視空間外に退出したことの確認を操作者に促すことができる。
また、上述の作業開始時警報制御処理では、警報制御手段13は、人検出フラグの値が「1」(オン)でありさえすれば警報を出力させる。しかしながら、本発明はこの構成に限定されるものではない。例えば、警報制御手段13は、人検知フラグの値が「1」(オン)に設定された時点からの経過時間が所定時間以上であれば警報を出力させないようにしてもよい。或いは、人存否判定手段12は、人検知フラグの値を「1」(オン)に設定した時点からの経過時間が所定時間に達した場合に人検知フラグの値を「0」(オフ)にリセットしてもよい。あまりにも古い検出記録に基づいて警報を出力させてしまうのを防止するためである。
また、画像生成装置100は、人存否判定手段12が動体検出センサに基づいて作業者(動体)の存否を判定する場合、ショベル60が作業不可状態にあるときに監視空間内に進入して静止している作業者を、ショベル60が作業可能状態になったときに検出し損ね、ショベル60の操作者がその作業者に気付かないままショベル60による作業を開始してしまうのを防止できる。
また、画像生成装置100は、人存否判定手段12がオプティカルフローを用いて作業者(動体)の存否を判定する場合に、ショベル60が作業不可状態にあるときに監視空間内に進入して静止している作業者を、ショベル60が作業可能状態になったときに検出し損ね、ショベル60の操作者がその作業者に気付かないままショベル60による作業を開始してしまうのを防止できる。
なお、動体検出センサ及びオプティカルフローは、静止物を検出対象とせず、作業者が監視空間内で静止したことと作業者が監視空間から退出したこととを区別しない。そのため、現時点において監視空間内に人が存在しないと判定した場合には如何なる場合も警報を出力させない構成では、ショベル60が作業可能状態となる前に監視空間内に進入して静止している作業者が存在するにもかかわらずショベル60の作業を許容してしまうおそれがある。これに対し、画像生成装置100は、監視空間内に作業者が存在するおそれがある場合には警報を出力することによってショベル60の操作者の注意を喚起することができる。
また、上述の第2警報制御処理において、画像生成装置100は、ショベル60が作業不可状態にある場合にも表示部5に出力画像を表示させるが、表示部5に出力画像を表示させないようにしてもよい。ショベル60が作業不可状態にある場合には、ショベル60と作業者が接触するおそれがなく、操作者は、出力画像を通じてショベル60の周囲を監視する必要もないためである。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例において、画像生成装置100は、空間モデルとして円筒状の空間モデルMDを採用するが、多角柱等の他の柱状の形状を有する空間モデルを採用してもよく、底面及び側面の二面から構成される空間モデルを採用してもよく、或いは、側面のみを有する空間モデルを採用してもよい。
また、画像生成装置100は、バケット、アーム、ブーム、旋回機構等の可動部材を備えながら自走するショベルに、カメラ及び人検出センサと共に搭載される。そして、画像生成装置100は、周囲画像をその操作者に提示しながらそのショベルの移動及びそれら可動部材の操作を支援する操作支援システムを構成する。しかしながら、画像生成装置100は、フォークリフト、アスファルトフィニッシャ等のように旋回機構を有しない作業機械に、カメラ及び人検出センサと共に搭載されてもよい。或いは、画像生成装置100は、産業用機械若しくは固定式クレーン等のように可動部材を有するが自走はしない作業機械に、カメラ及び人検出センサと共に搭載されてもよい。そして、画像生成装置100は、それら作業機械の操作を支援する操作支援システムを構成してもよい。
また、周辺監視装置は、カメラ2及び表示部5を含む画像生成装置100を1例として説明されたが、カメラ2、表示部5等による画像表示機能を含まない装置として構成されてもよい。例えば、第1警報制御処理を実行する装置としての周辺監視装置100Aは、図26に示すように、カメラ2、記憶部4、表示部5、ゲートロックレバー8、イグニッションスイッチ9、座標対応付け手段10、画像生成手段11、及び作業機械状態判定手段14を省略してもよい。また、第2音声伝達支援処理及び作業開始時警報制御処理を実行する装置としての周辺監視装置100Bは、図27に示すように、カメラ2、入力部3、記憶部4、表示部5、座標対応付け手段10、及び画像生成手段11を省略してもよい。