以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
図1は、本発明に係る画像生成装置の構成例100を概略的に示すブロック図である。
画像生成装置100は、例えば、舗装機械に搭載されたカメラ2が撮像した入力画像に基づいて出力画像を生成しその出力画像を運転者に提示する装置である。本実施例では、画像生成装置100は、舗装機械としてのアスファルトフィニッシャ60に搭載され、主に、制御部1、カメラ2、入力部3、記憶部4、及び表示部5で構成される。
図2は、画像生成装置100が搭載されるアスファルトフィニッシャ60の構成例を示す図であり、図2(A)が左側面図を示し、図2(B)が上面図を示し、図2(C)が後面図を示す。
アスファルトフィニッシャ60は、主に、トラクタ部61、ホッパ部62、及びスクリード部63で構成される。
トラクタ部61は、アスファルトフィニッシャ60を走行させるための機構である。本実施例では、トラクタ部61は、走行用油圧モータを用いて4つのホイールを回転させてアスファルトフィニッシャ60を移動させる。走行用油圧モータ(図示せず。)は、ディーゼルエンジン等の原動機(図示せず。)が駆動する油圧ポンプ(図示せず。)から作動油の供給を受けて回転する。また、トラクタ部61の上部には運転席64及び操作部65を含むキャブが配置される。
また、トラクタ部61には、右側部、左側部、及び前部にカメラ2(右側部カメラ2R、左側部カメラ2L、前部カメラ2F)が取り付けられる。なお、キャブ内の運転者が視認し易い位置には表示部5が設置される。また、本実施例では、トラクタ部61から見たホッパ部62の方向を前方とし、トラクタ部61から見たスクリード部63の方向を後方とする。
ホッパ部62は、アスファルト合材を受け入れるための機構であり、本実施例では、油圧シリンダ(図示せず。)によって車幅方向に開閉可能に構成される。アスファルトフィニッシャ60は、通常、ホッパ部62を全開状態にしてダンプカー(図示せず。)の荷台からアスファルト合材を受け入れる。なお、図2は、ホッパ部62が全開状態であることを示す。そして、ホッパ部62内のアスファルト合材が減少するとホッパ部62を閉じ、ホッパ部62の内壁付近にあったアスファルト合材をホッパ部62の中央部に集めてスクリード部63に給送できるようにする。
スクリード部63は、アスファルト合材を敷き均すための機構であり、本実施例では、油圧シリンダ(図示せず。)によって、鉛直方向に昇降可能に、且つ、車幅方向に伸縮可能に構成される。具体的には、スクリード部63の幅は、車幅方向に伸長された場合に、トラクタ部61の幅より大きい。
次に、画像生成装置100の各構成要素について説明する。
制御部1は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)等を備えたコンピュータであって、例えば、後述する座標対応付け手段10及び出力画像生成手段11のそれぞれに対応するプログラムをROMやNVRAMに記憶し、一時記憶領域としてRAMを利用しながら各手段に対応する処理をCPUに実行させる。
カメラ2は、アスファルトフィニッシャ60の周辺を映し出す入力画像を取得するための装置であり、例えば、キャブにいる運転者の死角領域を撮像できるようトラクタ部61に取り付けられる。
死角領域は、例えば、ホッパ部62の内部空間(特に、トラクタ部61に近い部分)、ホッパ部62を閉じたときのホッパ部62の前端の左右隅部の外側の空間、アスファルトフィニッシャ60の左右の側部近辺の路面に近い空間(特に、車幅方向でキャブの反対側にある空間であり、例えば、本実施例のようにキャブが車幅方向右側に設置されている場合にはアスファルトフィニッシャ60の左側部近辺の路面に近い空間である。)等を含む。
また、カメラ2は、トラクタ部61の右側部、左側部、及び前部以外の位置(例えば、後部である。)に取り付けられていてもよく、広い範囲を撮像できるよう広角レンズ又は魚眼レンズが装着されていてもよい。また、カメラ2は、ホッパ部62に取り付けられてもよく、スクリード部63に取り付けられてもよい。
本実施例では、カメラ2は、前部カメラ2F、左側部カメラ2L、及び右側部カメラ2Rを含む。前部カメラ2Fは、図2(A)及び図2(B)に示すように、トラクタ部61の前部上端に取り付けられ、その光軸2FXが進行方向前方に延び、且つ、路面との間に側面視で角度α(例えば65度である。)を形成するように取り付けられる。また、左側部カメラ2Lは、図2(A)〜図2(C)に示すように、トラクタ部61の左側部上端に取り付けられ、その光軸2LXが、トラクタ部61の左側面との間に上面視で角度β(例えば70度である。)を形成し、且つ、路面との間に背面視で角度γを形成するように取り付けられる。右側部カメラ2Rは、左右を逆にして、左側部カメラ2Lと同様に取り付けられる。なお、図2(B)の破線で囲まれる領域2FAは、前部カメラ2Fの撮像範囲を示し、一点鎖線で囲まれる領域2LAは、左側部カメラ2Lの撮像範囲を示し、二点鎖線で囲まれる領域2RAは、右側部カメラ2Rの撮像範囲を示す。
また、カメラ2は、トラクタ部61から延びる取り付け用ステーに取り付けられてもよく、取り付け用ステーを介さずにトラクタ部61に直接的に取り付けられてもよく、トラクタ部61に埋め込まれてもよい。
また、カメラ2は、制御部1からの制御信号に応じて入力画像を取得し、取得した入力画像を制御部1に対して出力する。なお、カメラ2は、魚眼レンズ又は広角レンズを用いて入力画像を取得した場合には、それらレンズを用いることによって生じる見掛け上の歪曲やアオリを補正した補正済みの入力画像を制御部1に対して出力してもよく、その見掛け上の歪曲やアオリを補正していない入力画像をそのまま制御部1に対して出力してもよい。そのまま出力した場合には、制御部1がその見掛け上の歪曲やアオリを補正する。
このようにして、カメラ2は、アスファルトフィニッシャ60の左側方及び右側方並びにホッパ部62の内部及び周辺にある複数の死角領域を含む連続する領域がその撮像範囲に含まれるように入力画像を取得する。
入力部3は、運転者を含む操作者が画像生成装置100に対して各種情報を入力できるようにするための装置であり、例えば、タッチパネル、ボタンスイッチ等である。
記憶部4は、各種情報を記憶するための装置であり、例えば、ハードディスク、光学ディスク、又は半導体メモリ等である。
表示部5は、画像情報を表示するための装置であり、例えば、キャブ内に設置された液晶ディスプレイ等であって、制御部1が出力する各種画像を表示する。
また、画像生成装置100は、入力画像に基づいて処理対象画像を生成し、その処理対象画像に画像変換処理を施すことによって周辺障害物との位置関係や距離感を直感的に把握できるようにする出力画像を生成した上で、その出力画像を操作者に提示するようにしてもよい。
「処理対象画像」は、入力画像に基づいて生成される、画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)の対象となる画像であり、例えば、地表を上方から撮像するカメラによる入力画像であってその広い画角により水平方向の画像(例えば、空の部分である。)を含む入力画像を画像変換処理で用いる場合に、その水平方向の画像が不自然に表示されないよう(例えば、空の部分が地表にあるものとして扱われないよう)その入力画像を所定の空間モデルに投影した上で、その空間モデルに投影された投影画像を別の二次元平面に再投影することによって得られる、画像変換処理に適した画像である。なお、処理対象画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
「空間モデル」は、少なくとも、処理対象画像が位置する平面である処理対象画像平面以外の平面又は曲面(例えば、処理対象画像平面に平行な平面、又は、処理対象画像平面との間で角度を形成する平面若しくは曲面である。)を含む、一又は複数の平面若しくは曲面で構成される、入力画像の投影対象である。
なお、画像生成装置100は、処理対象画像を生成することなく、その空間モデルに投影された投影画像に画像変換処理を施すことによって出力画像を生成するようにしてもよい。また、投影画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
図3は、入力画像が投影される空間モデルMDの一例を示す図であり、図3(A)は、アスファルトフィニッシャ60を左側方から見たときのアスファルトフィニッシャ60と空間モデルMDとの間の関係を示し、図3(B)は、アスファルトフィニッシャ60を上方から見たときのアスファルトフィニッシャ60と空間モデルMDとの間の関係を示し、図3(C)は、アスファルトフィニッシャ60を後方から見たときのアスファルトフィニッシャ60と空間モデルMDとの間の関係を示す。
図3で示されるように、空間モデルMDは、路面に平行な第1平面領域R1と、路面と交差する第2平面領域R2とを有する。
第1平面領域R1は、主に、視点変換処理によって路面画像(撮像範囲を上から見た画像)を生成するために用いられる入力画像投影対象である。本実施例では、図3(A)及び図3(C)に示すように、第1平面領域R1は、路面から距離D1(例えば1200mmである。)の高さに設定される。これは、ホッパ部62の画像を含む入力画像から路面画像を生成する際にそのホッパ部62の画像が過大に表示されてその路面画像を見た操作者に違和感を抱かせてしまうのを防止するためである。具体的には、視点変換処理によって生成される路面画像は、実際の三次元空間において第1平面領域R1の高さより高い位置にある物体を大きく表示し、第1平面領域R1の高さより低い位置にある物体を小さく表示する傾向を有する。そのため、視点変換処理によって生成される路面画像では、第1平面領域R1の高さを路面と同じ高さとした場合には、路面から所定の高さ(以下、「ホッパ部高さ」とする。)にあるホッパ部62の画像が拡大表示される。一方で、視点変換処理によって生成される路面画像は、第1平面領域R1の高さをホッパ部高さと同じ高さとした場合には、ホッパ部62の画像を拡大することなく表示できる。この場合、ホッパ部高さより低い位置にある物体は縮小表示されるが、その路面画像を見た操作者に違和感を抱かせてしまうことはない。但し、第1平面領域R1は、路面と同じ高さに設置されてもよい。
第2平面領域R2は、主に、視点変換処理によって遠景画像(前部カメラ2F側からアスファルトフィニッシャ60の進行方向を見たときの画像)を生成するために用いられる入力画像投影対象である。また、第2平面領域R2は、アスファルトフィニッシャ60の進行方向前端に配置される。本実施例では、第2平面領域R2は、ホッパ部62の前端のところに設定される。また、第2平面領域R2は、路面に対して垂直に、且つ、アスファルトフィニッシャ60の進行方向に対して垂直に設定される。ホッパ部62の画像が第1平面領域R1に投影されるようにするためである。具体的には、ホッパ部62の内部を上から見たときの画像と、ホッパ部62の外側前方を横(後方)から見たときの画像とを操作者が視認できるようにするためである。
また、図4は、空間モデルMDと処理対象画像平面との間の関係の一例を示す図であり、処理対象画像平面R3は、例えば、空間モデルMDの第1平面領域R1を含む平面である。
次に、制御部1が有する各種手段について説明する。
座標対応付け手段10は、カメラ2が撮像した入力画像が位置する入力画像平面上の座標と、空間モデルMD上の座標と、処理対象画像平面R3上の座標とを対応付けるための手段であり、例えば、予め設定された、或いは、入力部3を介して入力される、カメラ2の光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等のカメラ2に関する各種パラメータと、予め決定された、入力画像平面、空間モデルMD、及び処理対象画像平面R3の相互の位置関係とに基づいて、入力画像平面上の座標と、空間モデルMD上の座標と、処理対象画像平面R3上の座標とを対応付け、それらの対応関係を記憶部4の入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41に記憶する。
なお、座標対応付け手段10は、処理対象画像を生成しない場合には、空間モデルMD上の座標と処理対象画像平面R3上の座標との対応付け、及び、その対応関係の空間モデル・処理対象画像対応マップ41への記憶を省略する。
出力画像生成手段11は、出力画像を生成するための手段であり、例えば、処理対象画像にスケール変換、アフィン変換、又は歪曲変換を施すことによって、処理対象画像平面R3上の座標と出力画像が位置する出力画像平面上の座標とを対応付け、その対応関係を記憶部4の処理対象画像・出力画像対応マップ42に記憶し、座標対応付け手段10がその値を記憶した入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41を参照しながら、出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と入力画像における各画素の値とを関連付けて出力画像を生成する。
また、出力画像生成手段11は、予め設定された、或いは、入力部3を介して入力される、仮想カメラの光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等の各種パラメータに基づいて、処理対象画像平面R3上の座標と出力画像が位置する出力画像平面上の座標とを対応付け、その対応関係を記憶部4の処理対象画像・出力画像対応マップ42に記憶し、座標対応付け手段10がその値を記憶した入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41を参照しながら、出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と入力画像における各画素の値とを関連付けて出力画像を生成する。
なお、出力画像生成手段11は、仮想カメラの概念を用いることなく、処理対象画像のスケールを変更して出力画像を生成するようにしてもよい。
また、出力画像生成手段11は、処理対象画像を生成しない場合には、施した画像変換処理に応じて空間モデルMD上の座標と出力画像平面上の座標とを対応付け、入力画像・空間モデル対応マップ40を参照しながら、出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と入力画像における各画素の値とを関連付けて出力画像を生成する。この場合、出力画像生成手段11は、処理対象画像平面R3上の座標と出力画像平面上の座標との対応付け、及び、その対応関係の処理対象画像・出力画像対応マップ42への記憶を省略する。
次に、座標対応付け手段10及び出力画像生成手段11による具体的な処理の一例について説明する。
座標対応付け手段10は、例えば、ハミルトンの四元数を用いて、入力画像平面上の座標と空間モデル上の座標とを対応付けることができる。
図5は、入力画像平面上の座標と空間モデル上の座標との対応付けを説明するための図であり、カメラ2の入力画像平面は、カメラ2の光学中心Cを原点とするUVW直交座標系における一平面として表され、空間モデルは、XYZ直交座標系における立体面として表されるものとする。
最初に、座標対応付け手段10は、空間モデル上の座標(XYZ座標系上の座標)を入力画像平面上の座標(UVW座標系上の座標)に変換するため、XYZ座標系の原点を光学中心C(UVW座標系の原点)に並行移動させた上で、X軸をU軸に、Y軸をV軸に、Z軸を−W軸(符号「−」は方向が逆であることを意味する。これは、UVW座標系がカメラ前方を+W方向とし、XYZ座標系が鉛直下方を−Z方向としていることに起因する。)にそれぞれ一致させるようXYZ座標系を回転させる。
なお、カメラ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は、連続する複数回の回転動作を統合して一回の回転動作として表現することができ、例えば、任意の点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は、カメラ2の光学中心C(UVW座標系上の座標)と空間モデル上の任意の座標PをUVW座標系で表した座標P'とを結ぶ線分CP'と、カメラ2の光軸Gとが形成する入射角αを算出する。
また、座標対応付け手段10は、カメラ2の入力画像平面R4(例えば、CCD面)に平行で且つ座標P'を含む平面Hにおける、平面Hと光軸Gとの交点Eと座標P'とを結ぶ線分EP'と、平面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の一画素当たりの画素サイズに相当する数値で除算することにより、空間モデル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上の座標のうち、第2平面領域R2上の座標(Z軸方向の成分を持つ座標)を、XY平面上にある処理対象画像平面R3に再投影する処理について説明する。
図6は、座標対応付け手段10による座標間の対応付けを説明するための図であり、図6(A)は、一例として通常射影(h=ftanα)を採用するカメラ2の入力画像平面R4上の座標と空間モデルMD上の座標との間の対応関係を示す図であって、座標対応付け手段10は、カメラ2の入力画像平面R4上の座標とその座標に対応する空間モデルMD上の座標とを結ぶ線分のそれぞれがカメラ2の光学中心Cを通過するようにして、両座標を対応付ける。
図6(A)の例では、座標対応付け手段10は、カメラ2の入力画像平面R4上の座標K1を空間モデルMDの第1平面領域R1上の座標L1に対応付け、カメラ2の入力画像平面R4上の座標K2を空間モデルMDの第2平面領域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を通過することはない。
図6(B)は、空間モデルMDの第2平面領域R2上の座標と処理対象画像平面R3上の座標との間の対応関係を示す図であり、座標対応付け手段10は、XZ平面上に位置する平行線群PLであって、処理対象画像平面R3との間で角度βを形成する平行線群PLを導入し、空間モデルMDの第2平面領域R2上の座標とその座標に対応する処理対象画像平面R3上の座標とが共に平行線群PLのうちの一つに乗るようにして、両座標を対応付ける。
図6(B)の例では、座標対応付け手段10は、空間モデルMDの第2平面領域R2上の座標L2と処理対象画像平面R3上の座標M2とが共通の平行線に乗るとして、両座標を対応付けるようにする。
なお、座標対応付け手段10は、空間モデルMDの第1平面領域R1上の座標を第2平面領域R2上の座標と同様に平行線群PLを用いて処理対象画像平面R3上の座標に対応付けることが可能であるが、図6(B)の例では、第1平面領域R1と処理対象画像平面R3とが共通の平面となっているので、空間モデルMDの第1平面領域R1上の座標L1と処理対象画像平面R3上の座標M1とは同じ座標値を有するものとなっている。
このようにして、座標対応付け手段10は、空間モデルMD上の座標と、処理対象画像平面R3上の座標とを対応付け、空間モデルMD上の座標及び処理対象画像R3上の座標を関連付けて空間モデル・処理対象画像対応マップ41に記憶する。
図6(C)は、処理対象画像平面R3上の座標と一例として通常射影(h=ftanα)を採用する仮想カメラ2Vの出力画像平面R5上の座標との間の対応関係を示す図であり、出力画像生成手段11は、仮想カメラ2Vの出力画像平面R5上の座標とその座標に対応する処理対象画像平面R3上の座標とを結ぶ線分のそれぞれが仮想カメラ2Vの光学中心CVを通過するようにして、両座標を対応付ける。
図6(C)の例では、出力画像生成手段11は、仮想カメラ2Vの出力画像平面R5上の座標N1を処理対象画像平面R3(空間モデルMDの第1平面領域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に記憶し、座標対応付け手段10が記憶した入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。
なお、図6(D)は、図6(A)〜図6(C)を組み合わせた図であり、カメラ2、仮想カメラ2V、空間モデルMDの第1平面領域R1及び第2平面領域R2、並びに、処理対象画像平面R3の相互の位置関係を示す。
次に、図7を参照しながら、空間モデルMD上の座標と処理対象画像平面R3上の座標とを対応付けるために座標対応付け手段10が導入する平行線群PLの作用について説明する。
図7(A)は、XZ平面上に位置する平行線群PLと処理対象画像平面R3との間で角度βが形成される場合の図であり、図7(B)は、XZ平面上に位置する平行線群PLと処理対象画像平面R3との間で角度β1(β1>β)が形成される場合の図である。また、図7(A)及び図7(B)における空間モデルMDの第2平面領域R2上の座標La〜Ldのそれぞれは、処理対象画像平面R3上の座標Ma〜Mdのそれぞれに対応するものとし、図7(A)における座標La〜Ldのそれぞれの間隔は、図7(B)における座標La〜Ldのそれぞれの間隔と等しいものとする。なお、平行線群PLは、説明目的のためにXZ平面上に存在するものとしているが、実際には、Z軸上の全ての点から処理対象画像平面R3に向かって放射状に延びるように存在するものとする。なお、この場合のZ軸を「再投影軸」と称することとする。
図7(A)及び図7(B)で示されるように、処理対象画像平面R3上の座標Ma〜Mdのそれぞれの間隔は、平行線群PLと処理対象画像平面R3との間の角度が増大するにつれて線形的に減少する(空間モデルMDの第2平面領域R2と座標Ma〜Mdのそれぞれとの間の距離とは関係なく一様に減少する。)。一方で、空間モデルMDの第1平面領域R1上の座標群は、図7の例では、処理対象画像平面R3上の座標群への変換が行われないので、座標群の間隔が変化することはない。
これら座標群の間隔の変化は、出力画像平面R5(図6参照。)上の画像部分のうち、空間モデルMDの第2平面領域R2に投影された画像に対応する画像部分のみが線形的に拡大或いは縮小されることを意味する。
次に、図8を参照しながら、空間モデルMD上の座標と処理対象画像平面R3上の座標とを対応付けるために座標対応付け手段10が導入する平行線群PLの代替例について説明する。
図8(A)は、XZ平面上に位置する補助線群ALの全てがZ軸上の始点T1から処理対象画像平面R3に向かって延びる場合の図であり、図8(B)は、補助線群ALの全てがZ軸上の始点T2(T2>T1)から処理対象画像平面R3に向かって延びる場合の図である。また、図8(A)及び図8(B)における空間モデルMDの第2平面領域R2上の座標La〜Ldのそれぞれは、処理対象画像平面R3上の座標Ma〜Mdのそれぞれに対応するものとし(図8(A)の例では、座標Mc、Mdは、処理対象画像平面R3の領域外となるため図示されていない。)、図8(A)における座標La〜Ldのそれぞれの間隔は、図8(B)における座標La〜Ldのそれぞれの間隔と等しいものとする。なお、補助線群ALは、説明目的のためにXZ平面上に存在するものとしているが、実際には、Z軸上の任意の一点から処理対象画像平面R3に向かって放射状に延びるように存在するものとする。なお、図7と同様、この場合のZ軸を「再投影軸」と称することとする。
図8(A)及び図8(B)で示されるように、処理対象画像平面R3上の座標Ma〜Mdのそれぞれの間隔は、補助線群ALの始点と原点Oとの間の距離(高さ)が増大するにつれて非線形的に減少する(空間モデルMDの第2平面領域R2と座標Ma〜Mdのそれぞれとの間の距離が大きいほど、それぞれの間隔の減少幅が大きくなる。)。一方で、空間モデルMDの第1平面領域R1上の座標群は、図8の例では、処理対象画像平面R3上の座標群への変換が行われないので、座標群の間隔が変化することはない。
これら座標群の間隔の変化は、平行線群PLのときと同様、出力画像平面R5(図6参照。)上の画像部分のうち、空間モデルMDの第2平面領域R2に投影された画像に対応する画像部分のみが非線形的に拡大或いは縮小されることを意味する。
このようにして、画像生成装置100は、空間モデルMDの第1平面領域R1に投影された画像に対応する出力画像の画像部分(例えば、路面画像である。)に影響を与えることなく、空間モデルMDの第2平面領域R2に投影された画像に対応する出力画像の画像部分(例えば、遠景画像である。)を線形的に或いは非線形的に拡大或いは縮小させることができるので、アスファルトフィニッシャ60の左右の近傍の路面画像(アスファルトフィニッシャ60を真上から見たときの仮想画像)に影響を与えることなく、アスファルトフィニッシャ60の前方に位置する物体(アスファルトフィニッシャ60から水平方向に前方を見たときの画像における物体)を迅速且つ柔軟に拡大或いは縮小させることができ、アスファルトフィニッシャ60の死角領域の視認性を向上させることができる。
次に、図9を参照しながら、画像生成装置100が処理対象画像を生成する処理(以下、「処理対象画像生成処理」とする。)、及び、生成した処理対象画像を用いて出力画像を生成する処理(以下、「出力画像生成処理」とする。)について説明する。なお、図9は、処理対象画像生成処理(ステップS1〜ステップS3)及び出力画像生成処理(ステップS4〜ステップS6)の流れを示すフローチャートである。また、カメラ2(入力画像平面R4)、空間モデル(第1平面領域R1及び第2平面領域R2)、並びに、処理対象画像平面R3の配置は予め決定されているものとする。また、画像生成装置100は、カメラ2が入力画像を取得する度に、処理対象画像生成処理及び出力画像生成処理を実行する。
最初に、制御部1は、座標対応付け手段10により、処理対象画像平面R3上の座標と空間モデルMD上の座標とを対応付ける(ステップS1)。
具体的には、座標対応付け手段10は、平行線群PLと処理対象画像平面R3との間に形成される角度を取得し、処理対象画像平面R3上の一座標から延びる平行線群PLの一つが空間モデルMDの第2平面領域R2と交差する点を算出し、算出した点に対応する第2平面領域R2上の座標を、処理対象画像平面R3上のその一座標に対応する第2平面領域R2上の一座標として導き出し、その対応関係を空間モデル・処理対象画像対応マップ41に記憶する。なお、平行線群PLと処理対象画像平面R3との間に形成される角度は、記憶部4等に予め記憶された値であってもよく、入力部3を介して操作者が動的に入力する値であってもよい。
また、座標対応付け手段10は、処理対象画像平面R3上の一座標が空間モデルMDの第1平面領域R1上の一座標と一致する場合には、第1平面領域R1上のその一座標を、処理対象画像平面R3上のその一座標に対応する一座標として導き出し、その対応関係を空間モデル・処理対象画像対応マップ41に記憶する。
その後、制御部1は、座標対応付け手段10により、上述の処理によって導き出された空間モデルMD上の一座標と入力画像平面R4上の座標とを対応付ける(ステップS2)。
具体的には、座標対応付け手段10は、通常射影(h=ftanα)を採用するカメラ2の光学中心Cの座標を取得し、空間モデルMD上の一座標から延びる線分であり、光学中心Cを通過する線分が入力画像平面R4と交差する点を算出し、算出した点に対応する入力画像平面R4上の座標を、空間モデルMD上のその一座標に対応する入力画像平面R4上の一座標として導き出し、その対応関係を入力画像・空間モデル対応マップ40に記憶する。
その後、制御部1は、処理対象画像平面R3上の全ての座標を空間モデルMD上の座標及び入力画像平面R4上の座標に対応付けたか否かを判定し(ステップS3)、未だ全ての座標を対応付けていないと判定した場合には(ステップS3のNO)、ステップS1及びステップS2の処理を繰り返すようにする。
一方、制御部1は、全ての座標を対応付けたと判定した場合には(ステップS3のYES)、処理対象画像生成処理を終了させた上で出力画像生成処理を開始させ、出力画像生成手段11により、処理対象画像平面R3上の座標と出力画像平面R5上の座標とを対応付ける(ステップS4)。
具体的には、出力画像生成手段11は、処理対象画像にスケール変換、アフィン変換、又は歪曲変換を施すことによって出力画像を生成し、施したスケール変換、アフィン変換、又は歪曲変換の内容によって定まる、処理対象画像平面R3上の座標と出力画像平面R5上の座標との間の対応関係を処理対象画像・出力画像対応マップ42に記憶する。
或いは、出力画像生成手段11は、仮想カメラ2Vを用いて出力画像を生成する場合には、採用した射影方式に応じて処理対象画像平面R3上の座標から出力画像平面R5上の座標を算出し、その対応関係を処理対象画像・出力画像対応マップ42に記憶するようにしてもよい。
或いは、出力画像生成手段11は、通常射影(h=ftanα)を採用する仮想カメラ2Vを用いて出力画像を生成する場合には、その仮想カメラ2Vの光学中心CVの座標を取得した上で、出力画像平面R5上の一座標から延びる線分であり、光学中心CVを通過する線分が処理対象画像平面R3と交差する点を算出し、算出した点に対応する処理対象画像平面R3上の座標を、出力画像平面R5上のその一座標に対応する処理対象画像平面R3上の一座標として導き出し、その対応関係を処理対象画像・出力画像対応マップ42に記憶するようにしてもよい。
その後、制御部1は、出力画像生成手段11により、入力画像・空間モデル対応マップ40、空間モデル・処理対象画像対応マップ41、及び処理対象画像・出力画像対応マップ42を参照しながら入力画像平面R4上の座標と空間モデルMD上の座標との対応関係、空間モデルMD上の座標と処理対象画像平面R3上の座標との対応関係、及び処理対象画像平面R3上の座標と出力画像平面R5上の座標との対応関係を辿り、出力画像平面R5上の各座標に対応する入力画像平面R4上の座標が有する値(例えば、輝度値、色相値、彩度値等である。)を取得し、その取得した値を、対応する出力画像平面R5上の各座標の値として採用する(ステップS5)。なお、出力画像平面R5上の一座標に対して複数の入力画像平面R4上の複数の座標が対応する場合、出力画像生成手段11は、それら複数の入力画像平面R4上の複数の座標のそれぞれの値に基づく統計値(例えば、平均値、最大値、最小値、中間値等である。)を導き出し、出力画像平面R5上のその一座標の値としてその統計値を採用するようにしてもよい。
その後、制御部1は、出力画像平面R5上の全ての座標の値を入力画像平面R4上の座標の値に対応付けたか否かを判定し(ステップS6)、未だ全ての座標の値を対応付けていないと判定した場合には(ステップS6のNO)、ステップS4及びステップS5の処理を繰り返すようにする。
一方、制御部1は、全ての座標の値を対応付けたと判定した場合には(ステップS6のYES)、出力画像を生成して、この一連の処理を終了させる。
なお、画像生成装置100は、処理対象画像を生成しない場合には、処理対象画像生成処理を省略し、出力画像生成処理におけるステップS4の"処理対象画像平面上の座標"を"空間モデル上の座標"で読み替えるものとする。
以上の構成により、画像生成装置100は、複数のカメラが取得する入力画像を合成して、アスファルトフィニッシャ60と作業員等を含む周辺障害物との位置関係を操作者に直感的に把握させることが可能な処理対象画像及び出力画像を生成することができる。
また、画像生成装置100は、ホッパ部62の全部、及び、スクリード部63の左右端を含む連続する領域を上から見た路面画像を出力画像の一部として表示する。これにより、操作者は、運転席64から離れることなく、アスファルトフィニッシャ60の周囲にある死角領域を視認することができる。その結果、画像生成装置100は、アスファルトフィニッシャ60の安全性及び操作性を向上させることができる。具体的には、画像生成装置100は、ホッパ部62内のアスファルト合材の残量、舗装予定の路面における地物(例えば、マンホールである。)の位置等を操作者に提示できる。また、画像生成装置100は、アスファルトフィニッシャ60の周辺で作業する作業員の位置を操作者に提示できる。そのため、操作者は、表示部5を見て地物や作業員の位置を確認した上で、ホッパ部62の開閉、スクリード部63の伸縮、スクリード部63の昇降等の各種操作を実行できる。また、操作者は、作業員とホッパ部、スクリード部、又はダンプカーとの関係で危険を察知した場合には、各種操作の中止、アスファルトフィニッシャの停止等を行うことができる。
また、画像生成装置100は、処理対象画像平面R3から空間モデルMDを経て入力画像平面R4に遡るように座標の対応付けを実行することにより、処理対象画像平面R3上の各座標を入力画像平面R4上の一又は複数の座標に確実に対応させることができ、入力画像平面R4から空間モデルMDを経て処理対象画像平面R3に至る順番で座標の対応付けを実行する場合と比べ(この場合には、入力画像平面R4上の各座標を処理対象画像平面R3上の一又は複数の座標に確実に対応させることができるが、処理対象画像平面R3上の座標の一部が、入力画像平面R4上の何れの座標にも対応付けられない場合があり、その場合にはそれら処理対象画像平面R3上の座標の一部に補間処理等を施す必要がある。)、より良質な処理対象画像を迅速に生成することができる。
また、画像生成装置100は、空間モデルMDの第2平面領域R2に対応する画像のみを拡大或いは縮小する場合には、平行線群PLと処理対象画像平面R3との間に形成される角度を変更して空間モデル・処理対象画像対応マップ41における第2平面領域R2に関連する部分のみを書き換えるだけで、入力画像・空間モデル対応マップ40の内容を書き換えることなく、所望の拡大或いは縮小を実現させることができる。
また、画像生成装置100は、出力画像の見え方を変更する場合には、スケール変換、アフィン変換又は歪曲変換に関する各種パラメータの値を変更して処理対象画像・出力画像対応マップ42を書き換えるだけで、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41の内容を書き換えることなく、所望の出力画像(スケール変換画像、アフィン変換画像又は歪曲変換画像)を生成することができる。
同様に、画像生成装置100は、出力画像の視点を変更する場合には、仮想カメラ2Vの各種パラメータの値を変更して処理対象画像・出力画像対応マップ42を書き換えるだけで、入力画像・空間モデル対応マップ40及び空間モデル・処理対象画像対応マップ41の内容を書き換えることなく、所望の視点から見た出力画像(視点変換画像)を生成することができる。
図10及び図11は、アスファルトフィニッシャ60に搭載された三台のカメラ2(左側部カメラ2L、右側部カメラ2R、及び前部カメラ2F)の入力画像を用いて生成される出力画像を表示部5に表示させたときの表示例である。なお、図10の出力画像は、ホッパ部62が全開のときのアスファルトフィニッシャ60の状態を示し、図11は、ホッパ部62が閉じたときのアスファルトフィニッシャ60の状態を示す。
画像生成装置100は、それら三台のカメラ2のそれぞれの入力画像を空間モデルMDの第1平面領域R1及び第2平面領域R2上に投影した上で処理対象画像平面R3に再投影して処理対象画像を生成する。そして、画像生成装置100は、その生成した処理対象画像に画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)を施すことによって出力画像を生成する。出力画像は、アスファルトフィニッシャ60の近傍を上空から見下ろした画像(第1平面領域R1における画像)と、アスファルトフィニッシャ60から水平方向に前方を見た画像(処理対象画像平面R3における画像)とを同時に表示する。
なお、出力画像は、画像生成装置100が処理対象画像を生成しない場合には、空間モデルMDに投影された画像に画像変換処理(例えば、視点変換処理である。)を施すことによって生成される。
更に、出力画像は、望ましくは、アスファルトフィニッシャ60のトラクタ部61のCG画像61CGを、アスファルトフィニッシャ60の前方が表示部5の画面上方と一致するように配置する。アスファルトフィニッシャ60と出力画像に現れる物体との間の位置関係をより分かり易くするためである。なお、出力画像は、方位等の各種情報を含む額縁画像をその周囲に配置するようにしてもよい。
次に、図12〜図15を参照しながら、画像生成装置100が入力画像間の重複領域における画像の不自然さを際立たせないようにする処理(以下、「重複領域修正処理」とする。)について説明する。
図12は、アスファルトフィニッシャ60に搭載された三台のカメラ2(左側部カメラ2L、右側部カメラ2R、及び前部カメラ2F)のそれぞれの入力画像と、それら入力画像を用いて生成される出力画像とを示す図である。なお、左側部カメラ2Lの入力画像は、ホッパ部62の左側の画像62L、及び、スクリード部63の左側の画像63Lを含む。また、右側部カメラ2Rの入力画像は、ホッパ部62の右側の画像62R、及び、スクリード部63の左側の画像63Rを含む。また、前部カメラ2Fの入力画像は、ホッパ部62の左側の画像62L及び右側の画像63Rを含む。
画像生成装置100は、それら三台のカメラ2のそれぞれの入力画像を空間モデルMDの平面領域R1及び曲面領域R2上に投影した上で処理対象画像平面R3に再投影して処理対象画像を生成する。そして、画像生成装置100は、その生成した処理対象画像に画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)を施すことによって出力画像を生成する。このようにして、画像生成装置100は、アスファルトフィニッシャ60の近傍を上空から見下ろした画像(平面領域R1における画像)と、アスファルトフィニッシャ60から水平方向に前方を見た画像(処理対象画像平面R3における画像)とを同時に表示する。
図12において、左側部カメラ2Lの入力画像及び前部カメラ2Fの入力画像はそれぞれ、アスファルトフィニッシャ60の周囲における同じ場所を異なる角度から撮像した重複部分を含む。右側部カメラ2Rの入力画像と前部カメラ2Fの入力画像との間の重複部分についても同様である。
そのため、それら三つの入力画像に基づいて生成される出力画像は、その出力画像平面上の座標が複数の入力画像平面上の座標に対応付け可能な場合に、その出力画像平面上の座標が入射角の最も小さいカメラに関する入力画像平面上の座標に対応付けられるものとすると、不自然な出力画像を生成してしまう。具体的には、左側部カメラ2Lの入力画像に基づく出力画像上の領域と前部カメラ2Fの入力画像に基づく出力画像上の領域との間の境界、及び、右側部カメラ2Rの入力画像に基づく出力画像上の領域と前部カメラ2Fの入力画像に基づく出力画像上の領域との間の境界のところで、ホッパ部62の形状が歪(不連続)になり、その出力画像を見た操作者に不自然さを感じさせてしまうこととなる。また、図16を参照して後述するように、それらの境界付近に存在する物体の画像を出力画像から消失させてしまう。
そこで、画像生成装置100は、重複領域修正処理を実行する。図13は、重複領域修正処理の一例を説明するための図であり、二つの波源(例えば、左側部カメラ2L及び前部カメラ2Fである。)から山(実線円)及び谷(破線円)を形成しながら拡がって互いに干渉する二つの波を示す。
また、図13において、二つの扇形領域2La、2Faはそれぞれ、左側部カメラ2Lの撮像範囲、及び、前部カメラ2Fの撮像範囲を示し、太い実線で表される腹線ANLは、二つの波が互いに強め合う点を連ねた線を示し、太い破線で表される節線NLは、二つの波が互いに弱め合う点を連ねた線を示す。なお、腹線ANL及び節線NLは、図13で示されるように、交互に現れることとなる。
また、図13において、左側部カメラ2Lを波源として拡がる波の一つの谷が描く線(破線円)と、その一つの谷の次に発生する一つの山が描く線(実線円)と、前部カメラ2Fを波源として拡がる波の一つの谷が描く線(破線円)と、その一つの谷の次に発生する一つの山が描く線(実線円)とで定められる菱形状の領域のそれぞれは、単位パタン領域LTを形成するものとする。
図13で示される複数の単位パタン領域LTが出力画像平面上に描かれたものとし、単位パタン領域LTのうちの腹線ANLが通過する(灰色で塗り潰される)単位パタン領域LT1に前部カメラ2Fの入力画像が対応付けられ、且つ、単位パタン領域LTのうちの節線NLが通過する(白色で塗り潰される)単位パタン領域LT2に左側部カメラ2Lの入力画像が対応付けられるものとすると、二つの入力画像は、格子模様を形成する。
なお、単位パタン領域LTのうちの腹線ANLが通過する(灰色で塗り潰される)単位パタン領域LT1に左側部カメラ2Lの入力画像が対応付けられ、且つ、単位パタン領域LTのうちの節線NLが通過する(白色で塗り潰される)単位パタン領域LT2に前部カメラ2Fの入力画像が対応付けられる場合も同様に、二つの入力画像は、格子模様を形成する。
また、図13の格子模様は、波長及び位相が等しい二つの波を用いて形成されるが、波長及び位相の一方又は双方が異なる二つの波を用いて形成されてもよい。単位パタン領域LT1、LT2のサイズや形状を柔軟に調整できるようにするためである。
図14は、図13で示される格子模様を出力画像平面上に配置した状態を示し、トラクタ部61のCG画像61CGの右前方(図の右上方向)にある、右側部カメラ2Rの撮像範囲と前部カメラ2Fの撮像範囲との重複領域に配置される格子模様と、トラクタ部61のCG画像61CGの左前方(図の左上方向)にある、左側部カメラ2Lの撮像範囲と前部カメラ2Fの撮像範囲との重複領域に配置される格子模様とを示す。
図14において、右側部カメラ2Rの撮像範囲と前部カメラ2Fの撮像範囲との重複領域に配置される格子模様は、例えば、(灰色で塗り潰される)単位パタン領域LT1に右側部カメラ2Rの入力画像が対応付けられ、(白色で塗り潰される)単位パタン領域LT2に前部カメラ2Fの入力画像が対応付けられるものとする。
また、左側部カメラ2Lの撮像範囲と前部カメラ2Fの撮像範囲との重複領域に配置される格子模様は、例えば、(灰色で塗り潰される)単位パタン領域LT3に左側部カメラ2Lの入力画像が対応付けられ、(白色で塗り潰される)単位パタン領域LT4に前部カメラ2Fの入力画像が対応付けられるものとする。
図15は、画像生成装置100が、二つのカメラのそれぞれの撮像範囲の重複領域に対応する出力画像平面上の各座標に、それら二つのカメラの何れか一方の入力画像平面上の座標を対応付けて格子模様を形成する処理(以下、「格子模様形成処理」とする。)の流れを示すフローチャートである。
画像生成装置100の制御部1は、例えば、座標対応付け手段10により、図9の処理対象画像生成処理のステップS2において、空間モデルMDの第1平面領域R1上の一座標と複数の入力画像平面上の座標との対応付けが可能な場合に、空間モデルMDの第1平面領域R1上の一座標と二つのカメラのそれぞれに対応する二つの入力画像平面のうちの一つにおける一座標とを対応付ける際に、この格子模様形成処理を実行するものとする。
最初に、制御部1は、二つのカメラ(例えば、右側部カメラ2R及び前部カメラ2Fである。)の撮像範囲が重複する領域に対応する、空間モデルMDの第1平面領域R1上の一座標を取得する(ステップS11)。
次に、制御部1は、二つのカメラのそれぞれにおける光学中心の座標を取得する(ステップS12)。
次に、制御部1は、ステップS11で取得した空間モデルMDにおける第1平面領域R1上の一座標に対応付けるカメラを選択する(ステップS13)。
具体的には、制御部1は、右側部カメラ2Rの光学中心の座標を(Xcam1、Ycam1)とし、前部カメラ2Fの光学中心の座標を(Xcam2、Ycam2)とし、対応付けの対象である空間モデルMDの第1平面領域R1上の一座標を(Xtarget、Ytarget)とすると、
で表される条件式が真である場合、その第1平面領域R1上の一座標に対応付けるカメラとして右側部カメラ2Rを選択し、上述の条件式が偽である場合、その第1平面領域R1上の一座標に対応付けるカメラとして前部カメラ2Fを選択する。
なお、制御部1は、上述の条件式が真である場合に、その第1平面領域R1上の一座標に対応付けるカメラとして前部カメラ2Fを選択し、上述の条件式が偽である場合に、その第1平面領域R1上の一座標に対応付けるカメラとして右側部カメラ2Rを選択するようにしてもよい。
なお、上述の条件式は、第1平面領域R1上の座標(Xtarget、Ytarget)が、図14で示される単位パタン領域LT1に含まれるか、或いは、単位パタン領域LT2に含まれるかの判定式に相当する。
また、本実施例において、制御部1は、光学中心の座標が二次元座標であり、波源から発生する波が平面波であるという前提で、第1平面領域R1上の一座標(二次元座標)と二つのカメラのそれぞれの光学中心の座標(第1平面領域R1を含む平面上に投影された二次元座標)との間の二次元距離に基づいてカメラを選択するが、光学中心の座標を(高さ情報を含む)三次元座標とし、波源から発生する波を球面波としながら、第1平面領域R1上の一座標(三次元座標)と二つのカメラのそれぞれの光学中心の座標(三次元座標)との間の三次元距離に基づいてカメラを選択するようにしてもよい。
また、本実施例において、制御部1は、二つのカメラ(例えば、右側部カメラ2R及び前部カメラ2Fである。)の撮像範囲が重複する領域に対応する、空間モデルMDの第1平面領域R1上の一座標に対応付けるカメラを選択しているが、二つのカメラの撮像範囲が重複する領域に対応する、第2平面領域R2上の一座標に対応付けるカメラ、及び、処理対象画像平面R3上の一座標に対応付けるカメラについても同様に選択できる。
この場合、制御部1は、処理対象画像平面R3上の一座標(二次元座標)と二つのカメラのそれぞれの光学中心の座標(処理対象画像平面R3を含む平面上に投影された二次元座標)との間の二次元距離に基づいてカメラを選択するようにしてもよく、処理対象画像平面R3上の一座標(三次元座標)と二つのカメラのそれぞれの光学中心の座標(三次元座標)との間の三次元距離に基づいてカメラを選択するようにしてもよい。なお、処理対象画像平面R3は、第1平面領域R1を含むものであってもよい。
その後、制御部1は、座標対応付け手段10により、選択したカメラの入力画像平面上の一座標と、空間モデルMDの第1平面領域R1上の一座標とを対応付け(ステップS14)、空間モデルMD上の座標、カメラ識別子、及び入力画像平面上の座標を関連付けて入力画像・空間モデル対応マップ40に記憶する。
その後、制御部1は、二つのカメラの撮像範囲が重複する領域に対応する、空間モデルMDの第1平面領域R1上の全ての座標を、二つのカメラのうちの一つの入力画像平面上の座標に対応付けたか否かを判定し(ステップS15)、未だ全ての座標を対応付けていないと判定した場合には(ステップS15のNO)、ステップS11〜ステップS14の処理を繰り返すようにする。
一方、制御部1は、全ての座標を対応付けたと判定した場合には(ステップS15のYES)、この格子模様形成処理を終了させる。
このように、制御部1は、上述のような条件式を用いて空間モデルMD上の各座標を二つのカメラのうちの一つの入力画像平面上の座標に容易に対応付けることができ、適切な格子模様を生成することができる。
ここで再び図12を参照すると、左側部カメラ2Lの入力画像に基づく出力画像上の領域と前部カメラ2Fの入力画像に基づく出力画像上の領域との間の境界を含む図12の一点鎖線で囲まれた領域R6は、上述のように生成される格子模様により、ホッパ部62の形状が歪(不連続)になるのを抑制し、その領域R6を含む出力画像を見た操作者に不自然さを感じさせ難くしている。右側部カメラ2Rの入力画像に基づく出力画像上の領域と前部カメラ2Fの入力画像に基づく出力画像上の領域との間の境界を含む図12の一点鎖線で囲まれた領域R7についても同様である。
なお、上述の実施例では、ホッパ部62の後端の左右隅部が格子模様を形成する領域に含まれるが、画像生成装置100は、ホッパ部62の後端の左右隅部が格子模様を形成する領域に含まれないようにしてもよい。具体的には、画像生成装置100は、ホッパ部62の開閉を制御する油圧シリンダの状態を検出してホッパ部62の開閉状態を検知する。その上で、画像生成装置100は、ホッパ部62の開閉状態に応じて決まる、ホッパ部62の後端の左右隅部が位置する空間モデルMD上の領域に、前部カメラ2Fの入力画像を投影する。そして、画像生成装置100は、ホッパ部62の後端の左右隅部の外側に対応する空間モデルMD上の領域に格子模様が形成されるようにする。その結果、画像生成装置100は、ホッパ62の形状が歪(不連続)になるのを防止しながら重複領域を適切に表示できる。
次に、図16〜図18を参照しながら、画像生成装置100が、二つのカメラのそれぞれの撮像範囲の重複領域に対応する出力画像部分を生成する際にその出力画像部分にある物体が消失するのを防止する処理について説明する。
図16は、アスファルトフィニッシャ60に搭載された三台のカメラのうちの左側部カメラ2L及び前部カメラ2Fのそれぞれの撮像範囲の重複領域における入力画像部分と、それら入力画像部分を用いて生成される出力画像部分とを示す図である。
図16において、左側部カメラ2Lの入力画像部分R10、及び、前部カメラ2Fの入力画像部分R11はそれぞれ、左側部カメラ2Lの撮像範囲と前部カメラ2Fの撮像範囲との重複領域内に属する画像部分であり、人物を捉えている。
しかしながら、それら左側部カメラ2Lの入力画像部分R10、及び、前部カメラ2Fの入力画像部分R11に基づいて生成される出力画像部分R12は、その出力画像平面上の座標が入射角の最も小さいカメラに関する入力画像平面上の座標に対応付けられるものとすると、図16で示されるように、その重複領域内の人物を消失させてしまう。
そこで、画像生成装置100は、上述の格子模様を利用して、二つのカメラのそれぞれの撮像範囲の重複領域に対応する出力画像部分を生成する際にその出力画像部分にある物体が消失するのを防止する。
図17は、二つのカメラのそれぞれの撮像範囲の重複領域における物体の消失防止効果を説明するための図であり、図17(A)は、図13で示される格子模様を形成するための波の図を示し、図17(B)は、図17(A)の一部拡大図を示す。
図17(A)において、破線で囲まれる投影像PRJ1は、前部カメラ2Fの入力画像における物体OBJ1の像が、路面画像を生成するための視点変換によって、その前部カメラ2Fとその物体OBJ1とを結ぶ線の延長方向に伸長されたもの(前部カメラ2Fの入力画像部分R11を用いてその出力画像部分R12における路面画像を生成した場合に表示される像である。)を表す。
また、破線で囲まれる投影像PRJ2は、左側部カメラ2Lの入力画像における物体OBJ1の像が、路面画像を生成するための視点変換によって、その左側部カメラ2Lとその物体OBJ1とを結ぶ線の延長方向に伸長されたもの(右側部カメラ2Rの入力画像部分R10を用いてその出力画像部分R12における路面画像を生成した場合に表示される像である。)を表す。
なお、投影像PRJ1及び投影像PRJ2は、最終的な出力画像上にそのままの状態で表示されることはなく、図17(B)で示されるように、一部が切り欠かれた状態で表示されることとなる。
また、図17(A)において、投影像PRJ1を表す破線領域のうち、灰色で塗り潰された部分は、腹線ANLが通過する単位パタン領域LT1(図13参照。)との重なり部分を表し、その重なり部分に対応する出力画像上の各座標には前部カメラ2Fの入力画像平面上の座標(物体OBJ1の像を形成する領域内の座標)が対応付けられることを示す。
一方、投影像PRJ1を表す破線領域のうち、白色で塗り潰された部分は、節線NLが通過する単位パタン領域LT2(図13参照。)との重なり部分を表し、その重なり部分に対応する出力画像上の各座標には左側部カメラ2Lの入力画像平面上の座標(物体OBJ1の像を形成しない領域内の座標)が対応付けられることを示す。
なお、投影像PRJ1を表す破線領域のうち、灰色で塗り潰された部分に対応する出力画像上の各座標に、左側部カメラ2Lの入力画像平面上の座標(物体OBJ1の像を形成しない領域内の座標)が対応付けられ、投影像PRJ1を表す破線領域のうち、白色で塗り潰された部分に対応する出力画像上の各座標に、前部カメラ2Fの入力画像平面上の座標(物体OBJ1の像を形成する領域内の座標)が対応付けられるようにしてもよい。
この場合、投影像PRJ1は、図17(B)で示されるように、その伸長方向に直交する円(前部カメラ2Fの位置を波源とする波の山及び谷が描く円である。)の一部をその境界線として含む単位パタン領域LT2によって切り欠かれることとなるが、隣接する単位パタン領域LT1が互いに頂点を接触させているので繊切り状に分断され難く、単位パタン領域LT2のそれぞれがその伸長方向に直交する円の一部を含むため、その輪郭も認識され易いはっきりした状態で保存されることとなる。
また、投影像PRJ1は、物体OBJ1の高さが高い程、カメラから遠ざかる方向により長く伸長され、且つ、カメラから遠ざかる程、より大きく拡大される傾向を有するが、単位パタン領域LT1及びLT2は何れもカメラから遠ざかる程、その投影像PRJ1と同じ度合いで、より大きく拡大していくので、その切り欠き状態もほぼ均一に維持されることとなる。
また、図17(A)において、投影像PRJ2を表す破線領域のうち、黒色で塗り潰された部分は、節線NLが通過する単位パタン領域LT2(図13参照。)との重なり部分を表し、その重なり部分に対応する出力画像上の各座標には左側部カメラ2Lの入力画像平面上の座標(物体OBJ1の像を形成する領域内の座標)が対応付けられることを示す。
一方、投影像PRJ2を表す破線領域のうち、白色で塗り潰された部分は、腹線ANLが通過する単位パタン領域LT1(図13参照。)との重なり部分を表し、その重なり部分に対応する出力画像上の各座標には前部カメラ2Fの入力画像平面上の座標(物体OBJ1の像を形成しない領域内の座標)が対応付けられることを示す。
なお、投影像PRJ2を表す破線領域のうち、黒色で塗り潰された部分に対応する出力画像上の各座標に前部カメラ2Fの入力画像平面上の座標(物体OBJ1の像を形成しない領域内の座標)が対応付けられ、投影像PRJ2を表す破線領域のうち、白色で塗り潰された部分に対応する出力画像上の各座標に左側部カメラ2Lの入力画像平面上の座標(物体OBJ1の像を形成する領域内の座標)が対応付けられるようにしてもよい。
この場合、投影像PRJ2は、投影像PRJ1と同様に、図17(B)で示されるように、その伸長方向に直交する円(右側部カメラ2Rの位置を波源とする波の山及び谷が描く円である。)の一部をその境界線として含む単位パタン領域LT1によって切り欠かれることとなるが、隣接する単位パタン領域LT2が互いに頂点を接触させているので繊切り状に分断され難く、単位パタン領域LT1のそれぞれがその伸長方向に直交する円の一部を含むため、その輪郭も認識され易いはっきりした状態で保存されることとなる。
また、投影像PRJ2は、投影像PRJ1と同様に、物体OBJ1の高さが高い程、カメラから遠ざかる方向により長く伸長され、且つ、カメラから遠ざかる程、より大きく拡大される傾向を有するが、単位パタン領域LT1及びLT2は何れもカメラから遠ざかる程、その投影像PRJ2と同じ度合いで、より大きく拡大していくので、その切り欠き状態もほぼ均一に維持されることとなる。
図18は、図16で示される出力画像部分R12と、図16の出力画像に格子模様が適用された出力画像部分R13との違いを表す対比図であり、図18左図が図16で示される出力画像部分R12を示し、図18右図が格子模様による出力画像部分R13を示す。
左側部カメラ2Lの入力画像部分R10に基づく出力画像上の領域と前部カメラ2Fの入力画像部分R11に基づく出力画像上の領域との間の境界を含む図18左図の出力画像部分R12は、人物が消失した状態を提示しているが、左側部カメラ2Lの入力画像部分R10に基づく出力画像上の領域と前部カメラ2Fの入力画像部分R11に基づく出力画像上の領域とが格子模様となって混在する図18右図の出力画像部分R13は、人物を消失させることなく、その人物を認識し易い状態で提示し、その出力画像部分R13を含む出力画像を見た操作者にその人物の存在を確実に認識させることができるようにしている。
以上の構成により、画像生成装置100は、格子模様を利用することにより、二つのカメラのそれぞれの撮像範囲の重複領域に対応する出力画像部分を生成する際にその出力画像部分にある物体が消失するのを防止することができ、二つの入力画像のそれぞれの部分領域が櫛歯状に交互に配置されるように二つの入力画像を繋ぎ合わせる場合に比べ、その一部が切り欠かれることとなるその物体の投影像を、操作者がより認識し易い状態で表示することができる。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、画像生成装置100は、グースアスファルト合材を用いるグースアスファルトフィニッシャに搭載されてもよい。