以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
図1は、本発明の第一実施例に係る画像生成システム100の構成例を概略的に示すブロック図である。
画像生成システム100は、例えば、天井クレーン60に搭載されたカメラ2が撮像した入力画像に基づいて出力画像を生成しその出力画像を運転者に提示するシステムであって、制御部1、カメラ2、入力部3、記憶部4、及び表示部5で構成される。
図2は、画像生成システム100が搭載される天井クレーン60の構成例を示す図であり、図2(A)が天井クレーン60の上面図を示し、図2(B)が図2(A)のIIB−IIB方向から見た天井クレーン60の正面図を示し、図2(C)が図2(B)のIIC−IIC方向から見た天井クレーン60の側面図を示す。なお、図2(A)〜(C)における破線で表される領域は、カメラ2の撮像範囲である。
天井クレーン60は、建屋の左壁WL及び右壁WRのそれぞれに設置されたランウェイ61L、61R上を車輪62L(前車輪62LF及び後車輪62LBを含む。)、62R(図示しない前車輪62RF及び図示しない後車輪62RBを含む。)を用いてX軸方向に走行するガーダ63を有する。
また、天井クレーン60は、ガーダ63上に設置されたランウェイ64F、64B上を車輪65L(前車輪65LF及び図示しない後車輪65LBを含む。)、65R(前車輪65RF及び後車輪65RBを含む。)を用いてY軸方向に横行するトロリ66を有する。
また、天井クレーン60は、トロリ66に取り付けられる巻上装置67を有し、巻上装置67は、モータ(図示せず。)を用いてドラム(図示せず。)にワイヤロープ68を巻き上げ或いは巻き下げてフック69をZ軸方向に上下させる。
なお、本実施例において、天井クレーン60は、クラブトロリ式天井クレーンであるが、ロープトロリ式天井クレーンであってもよく、ホイスト式天井クレーンであってもよい。
次に、画像生成システム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は、フック69の周辺を映し出す入力画像を取得するための装置であり、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を備え、トロリ66から鉛直下方に延びた後X軸方向に延びるブラケットBRの先端に取り付けられてトロリ66と共にY軸方向に横行し、且つ、ガーダ63と共にX軸方向に走行する(図2(A)及び図2(C)参照。)。
カメラ2は、鉛直斜め上方からフック69を撮像するように配置され、フック69が凹部(周りを他の物体や壁で取り囲まれた空間である。)に進入した場合であってもフック69を確実に撮像するのに十分な俯角をその光軸が形成するよう配置される。
カメラ2は、その光軸が形成する俯角が大きい程、より狭い凹部にフック69が進入した場合にも、周りの物体に視界が遮られることなく、フック69を撮像することができ、一方、その光軸が形成する俯角が小さい程、後述の視点変換画像(あたかもフック69を水平方向から見たような画像である。)をより鮮明に提示することができる(カメラ2の光軸と仮想カメラの光軸との間の角度差が小さくなるためである。)。
なお、カメラ2は、操作者がその光軸の方向を動的に調整できるものであってもよく、公知の技術によりフック69の位置を検出しながら、その光軸の方向がフック69に向かうようにフック69を自動的に追尾するものであってもよい。
なお、カメラ2は、ガーダ63の側面に取り付けられていてもよく(この場合、トロリ66と共に横行することはない。)、広い範囲を撮像できるよう広角レンズ又は魚眼レンズが装着されていてもよい。
また、カメラ2は、制御部1からの制御信号に応じて入力画像を取得し、取得した入力画像を制御部1に対して出力する。なお、カメラ2は、魚眼レンズ又は広角レンズを用いて入力画像を取得した場合には、それらレンズを用いることによって生じる見掛け上の歪曲やアオリを補正した補正済みの入力画像を制御部1に対して出力するが、その見掛け上の歪曲やアオリを補正していない入力画像をそのまま制御部1に対して出力してもよい。その場合には、制御部1がその見掛け上の歪曲やアオリを補正することとなる。
入力部3は、操作者が画像生成システム100に対して各種情報を入力できるようにするための装置であり、例えば、タッチパネル、ボタンスイッチ、ポインティングデバイス、キーボード等である。
記憶部4は、各種情報を記憶するための装置であり、例えば、ハードディスク、光学ディスク、又は半導体メモリ等である。
表示部5は、画像情報を表示するための装置であり、例えば、操作室70内に設置された液晶ディスプレイ又はプロジェクタ等であって、制御部1が出力する各種画像を表示する。
また、画像生成システム100は、入力画像に基づいて処理対象画像を生成し、その処理対象画像に画像変換処理を施すことによってフック69と吊り荷との間の位置関係や距離感を直感的に把握できるようにする出力画像を生成した上で、その出力画像を運転者に提示する。
「処理対象画像」は、入力画像に基づいて生成される、画像変換処理(例えば、スケール変換、アフィン変換、歪曲変換、視点変換処理等である。)の対象となる画像であり、例えば、フック69を上方から撮像するカメラによる入力画像を空間モデルに投影することによって得られる、画像変換処理に適した画像である。なお、処理対象画像は、画像変換処理を施すことなくそのまま出力画像として用いられてもよい。
「空間モデル」は、一又は複数の平面若しくは曲面で構成される、入力画像の投影対象である。
図3は、入力画像が投影される空間モデルMDの一例を示す図であり、空間モデルMDは、直交する二つの平面(水平面R1及び垂直面R2)によって形成される。なお、説明の便宜上、水平面R1は、縦方向及び横方向に等間隔に描画される複数の直線で形成されるグリッドパターンを有し、垂直面R2は、縦方向及び横方向に等間隔に配置されるドット(円)で形成されるドットパターンを有するものとするが、これらのパターンが画像上に実際に表示されることはない。
図4は、空間モデルMDと天井クレーン60との間の位置関係を示す図であり、図4(A)は、図2(A)の上面図で示される天井クレーン60の鉛直下方にある床面FFに空間モデルMDの水平面R1を配置した状態を示し、図4(B)は、図2(B)の正面図で示される天井クレーン60のガーダ63の中央線を含む鉛直面VSに空間モデルMDの垂直面R2を配置した状態を示す。
図5は、カメラ2が撮像した入力画像の一例を示す図であり、ワイヤロープ68で吊されたフック69を斜め上から見下ろした状態を示す。なお、空間モデルMDの水平面R1及び垂直面R2は説明の便宜上表示されるものであり、実際の画像には存在しないものである。
また、図5は、床面FF(水平面R1)に近づく程、垂直面R2のドットパターンが小さく且つその間隔が狭くなることを示す。
次に、制御部1が有する各種手段について説明する。
座標対応付け手段10は、カメラ2が撮像した入力画像が位置する入力画像平面上の座標と、空間モデルMD上の座標とを対応付けるための手段であり、例えば、予め設定された、或いは、入力部3を介して入力される、カメラ2の光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等のカメラ2に関する各種パラメータと、予め決定された、入力画像平面及び空間モデルMDの間の位置関係とに基づいて、入力画像平面上の座標と空間モデルMD上の座標とを対応付け、それらの対応関係を記憶部4の入力画像・空間モデル対応マップ40に記憶する。
出力画像生成手段11は、予め設定された、或いは、入力部3を介して入力される、仮想カメラの光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等の各種パラメータに基づいて、空間モデルMD上の座標と出力画像が位置する出力画像平面上の座標とを対応付け、その対応関係を記憶部4の空間モデル・出力画像対応マップ41に記憶し、且つ、入力画像・空間モデル対応マップ40を参照しながら、出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と入力画像における各画素の値とを関連付けて出力画像を生成する。
次に、座標対応付け手段10及び出力画像生成手段11による具体的な処理の一例について説明する。
座標対応付け手段10は、例えば、ハミルトンの四元数を用いて、入力画像平面上の座標と空間モデル上の座標とを対応付けることができる。
図6は、入力画像平面上の座標と空間モデル上の座標との対応付けを説明するための図であり、カメラ2の入力画像平面R4は、カメラ2の光学中心Cを原点とするUVW直交座標系における一平面として表され、空間モデルMDは、XYZ直交座標系における立体面として表されるものとする。
最初に、座標対応付け手段10は、空間モデルMD上の座標(XYZ座標系上の座標)を入力画像平面R4上の座標(UVW座標系上の座標)に変換するため、XYZ座標系の原点Oを光学中心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は、実成分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'は、
で表されることとなり、座標対応付け手段10は、以後、この演算を実行するだけで空間モデル(XYZ座標系)上の座標を入力画像平面(UVW座標系)上の座標に変換することができる。なお、カメラ2の光軸が固定である場合には四元数R及びその共役四元数R
*は不変であるが、カメラ2の光軸が調整される場合には、四元数R及びその共役四元数R
*は再計算される必要がある点に留意すべきである。
四元数Rがカメラ2のそれぞれで不変であることから、
空間モデル(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は、四元数を用いて座標の変換を演算するものに限定されることはなく、オイラー角を用いて座標の変換を演算するようにしてもよい。
なお、空間モデルMD上の一座標を複数の入力画像平面上の座標へ対応付けることが可能な場合、座標対応付け手段10は、空間モデルMD上の座標P(P')を、その入射角αが最も小さいカメラに関する入力画像平面上の座標に対応付けるようにしてもよく、操作者が選択した入力画像平面上の座標に対応付けるようにしてもよく、或いは、画像生成システム100が自動的に選択した入力画像平面上の座標に対応付けるようにしてもよい。
次に、図7を参照しながら、座標対応付け手段10による座標間の対応付けについて説明する。
図7(A)は、一例として通常射影(h=ftanα)を採用するカメラ2の入力画像平面R4上の座標と空間モデルMD上の座標との間の対応関係を示す図であり、座標対応付け手段10は、カメラ2の入力画像平面R4上の座標とその座標に対応する空間モデルMD上の座標とを結ぶ線分のそれぞれがカメラ2の光学中心Cを通過するようにして両座標を対応付ける。
図7(A)の例では、座標対応付け手段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を通過することはない。
図7(B)は、空間モデルMD上の座標と、一例として通常射影(h=ftanα)を採用する仮想カメラ2Vの出力画像平面R5上の座標との間の対応関係を示す図であり、出力画像生成手段11は、仮想カメラ2Vの出力画像平面R5上の座標とその座標に対応する空間モデルMD上の座標とを結ぶ線分のそれぞれが仮想カメラ2Vの光学中心CVを通過するようにして、両座標を対応付ける。
図7(B)の例では、出力画像生成手段11は、仮想カメラ2Vの出力画像平面R5上の座標N1を空間モデルMDの水平面R1上の座標L1に対応付け、仮想カメラ2Vの出力画像平面R5上の座標N2を空間モデルMDの垂直面R2上の座標L2に対応付ける。このとき、線分L1−N1及び線分L2−N2は共に仮想カメラ2Vの光学中心CVを通過する。
なお、仮想カメラ2Vが通常射影以外の射影方式(例えば、正射影、立体射影、等立体角射影、等距離射影等である。)を採用する場合、出力画像生成手段11は、それぞれの射影方式に応じて、仮想カメラ2Vの出力画像平面R5上の座標N1、N2を空間モデルMD上の座標L1、L2に対応付けるようにする。
具体的には、出力画像生成手段11は、所定の関数(例えば、正射影(h=fsinα)、立体射影(h=2ftan(α/2))、等立体角射影(h=2fsin(α/2))、等距離射影(h=fα)等である。)に基づいて、出力画像平面R5上の座標と空間モデルMD上の座標とを対応付ける。この場合、線分L1−N1及び線分L2−N2が仮想カメラ2Vの光学中心CVを通過することはない。
このようにして、出力画像生成手段11は、出力画像平面R5上の座標と、空間モデルMD上の座標とを対応付け、出力画像平面R5上の座標及び空間モデルMD上の座標を関連付けて空間モデル・出力画像対応マップ41に記憶し、座標対応付け手段10が記憶した入力画像・空間モデル対応マップ40を参照しながら、出力画像における各画素の値と入力画像における各画素の値とを関連付けて出力画像を生成する。
図8は、図5の入力画像に基づく出力画像の一例を示す図であり、ワイヤロープ68で吊されたフック69を水平方向から見た状態を示す。なお、空間モデルMDの水平面R1及び垂直面R2は、図5の場合と同様に説明の便宜上表示されるものであり、実際の画像には存在しないものである。
また、図8は、図5の場合と異なり、床面FF(水平面R1)からの距離に関係なく、垂直面R2のドットパターンの大きさ及びその間隔がほぼ均一であることを示す。
図9は、図5の入力画像に基づく出力画像の別の一例を示す図であり、フック69の位置を示す目盛りが重畳表示された点で、図8の出力画像と異なる。なお、図9において、鉛直面VS(垂直面R2)のドットパターンは、明瞭化のために省略されている。
距離を示す目盛りは、例えば、視点変換による拡大率が大きくなる領域程に(この場合、床面FFに近い程に)太くなるように表示されるが、視点変換による拡大率に関係なく均一の太さで表示されてもよい。また、フック69のレベルを分かり易く示すための矢印画像ARが表示されてもよい。
なお、目盛りの値は、好適には、巻上装置67からの距離(巻上装置67のレベルでメモリの値がゼロとなるもの)を表すが、フック69の先端からの距離を表すもの(フック69のレベルで目盛りの値がゼロとなるもの)であってもよく、床面FFからの距離を表すもの(床面FFのレベルで目盛りの値がゼロとなるもの)であってもよい。
図10は、入力画像が投影される空間モデルの別の一例を示す図であり、空間モデルMDAは、図3の空間モデルMDと同様、直交する二つの平面(水平面R1A及び垂直面R2A)によって形成される。水平面R1Aがグリッドパターンを有し、垂直面R2Aがドットパターンを有する点、及び、それらのパターンが画像上に実際に表示されることはない点についても図3の場合と同様である。
図11は、図10の空間モデルMDAと図5の入力画像とに基づく出力画像の一例を示す図であり、ワイヤロープ68で吊されたフック69を水平方向から見た画像と床面FFを鉛直上方から見た画像とを組み合わせて斜めから見た状態を示す。
なお、図11で示される出力画像は、図9で示される出力画像と同様、フック69の位置を示す目盛りが重畳表示されてもよい。
このように、画像生成システム100は、フック69をあたかも水平方向から撮像したような画像(以下、「仮想的な水平画像」とする。)を操作者に提示することができ、フック69と床面FFとの間の距離をその操作者に容易に認識させることができ、その操作者によるフック69の上げ下げの操作を支援することができる。
また、画像生成システム100は、入力画像のうちフック69が存在する部分を仮想的な水平画像として操作者に提示し、一方で、入力画像の他の部分については、その部分をあたかも鉛直上方から撮像したような画像として操作者に提示することができ、フック69と床面FF上に存在する物体との間の関係をその操作者に容易に認識させることができ、その操作者によるフック69の上げ下げの操作を支援することができる。
次に、図12を参照しながら、画像生成システム100が入力画像を用いて出力画像を生成する処理(以下、「出力画像生成処理」とする。)について説明する。なお、図12は、出力画像生成処理の流れを示すフローチャートであり、カメラ2(入力画像平面R4)、空間モデルMD(水平面R1及び垂直面R2)、並びに仮想カメラ2V(出力画像平面R5)の配置は予め決定されているものとする。
最初に、制御部1は、出力画像生成手段11により、出力画像平面R5上の座標と空間モデルMD上の座標とを対応付ける(ステップS1)。
具体的には、出力画像生成手段11は、仮想カメラ2Vを用いて出力画像を生成する場合には、採用した射影方式に応じて出力画像平面R5上の座標から空間モデルMD上の座標を算出し、その対応関係を空間モデル・出力画像対応マップ41に記憶する。
より具体的には、出力画像生成手段11は、通常射影(h=ftanα)を採用する仮想カメラ2Vを用いて出力画像を生成する場合には、その仮想カメラ2Vの光学中心CVの座標を取得した上で、出力画像平面R5上の一座標から延びる線分であり、光学中心CVを通過する線分が空間モデルMDと交差する点を算出し、算出した点に対応する空間モデルMD上の座標を、出力画像平面R5上のその一座標に対応する空間モデルMD上の一座標として導き出し、その対応関係を空間モデル・出力画像対応マップ41に記憶する。
その後、制御部1は、出力画像平面R5上の全ての座標の値を空間モデル上の座標の値に対応付けたか否かを判定し(ステップS2)、未だ全ての座標の値を対応付けていないと判定した場合には(ステップS2のNO)、ステップS1の処理を繰り返すようにする。
一方、制御部1は、全ての座標の値を対応付けたと判定した場合には(ステップS2のYES)、座標対応付け手段10により、上述の処理によって導き出された空間モデルMD上の座標のそれぞれと入力画像平面R4上の座標とを対応付ける(ステップS3)。
具体的には、座標対応付け手段10は、通常射影(h=ftanα)を採用するカメラ2の光学中心Cの座標を取得し、上述の処理によって導き出された
空間モデルMD上の座標のそれぞれから延びる線分であり、光学中心Cを通過する線分が入力画像平面R4と交差する点を算出し、算出した点に対応する入力画像平面R4上の座標を、その空間モデルMD上の一座標に対応する入力画像平面R4上の一座標として導き出し、その対応関係を入力画像・空間モデル対応マップ40に記憶する。
その後、制御部1は、上述の処理によって導き出された空間モデルMD上の全ての座標を入力画像平面R4上の座標に対応付けたか否かを判定し(ステップS4)、未だ全ての座標を対応付けていないと判定した場合には(ステップS4のNO)、ステップS3の処理を繰り返すようにする。
一方、制御部1は、全ての座標を対応付けたと判定した場合には(ステップS4のYES)、出力画像生成手段11により、入力画像・空間モデル対応マップ40及び空間モデル・出力画像対応マップ41を参照しながら入力画像平面R4上の座標と空間モデルMD上の座標との対応関係、及び、空間モデルMD上の座標と出力画像平面R5上の座標との対応関係を辿り、出力画像平面R5上の各座標に対応する入力画像平面R4上の座標が有する値(例えば、輝度値、色相値、彩度値等である。)を取得し、その取得した値を、対応する出力画像平面R5上の各座標の値として採用する(ステップS5)。なお、出力画像平面R5上の一座標に対して一又は複数の入力画像平面R4上の複数の座標が対応する場合、出力画像生成手段11は、それら複数の座標のそれぞれの値に基づく統計値(例えば、平均値、最大値、最小値、中間値等である。)を導き出し、出力画像平面R5上のその一座標の値としてその統計値を採用するようにしてもよい。
その後、制御部1は、出力画像平面R5上の全ての座標の値を入力画像平面R4上の座標の値に関連付けたか否かを判定し(ステップS6)、未だ全ての座標の値を関連付けていないと判定した場合には(ステップS6のNO)、ステップS5の処理を繰り返すようにする。
一方、制御部1は、全ての座標の値を関連付けたと判定した場合には(ステップS6のYES)、出力画像を生成し、生成した出力画像を表示部5に対し出力して(ステップS7)、この一連の処理を終了させる。
以上の構成により、画像生成システム100は、ワイヤロープ68で吊されたフック69と床面FFとの間の位置関係を操作者に直感的に把握させることが可能な出力画像を生成することができ、その出力画像を提示してその操作者によるフック69の上げ下げの操作を支援することができる。
また、画像生成システム100は、出力画像平面R5から空間モデルMDを経て入力画像平面R4に遡るように座標の対応付けを実行することにより、出力画像平面R5上の各座標を入力画像平面R4上の一又は複数の座標に確実に対応させることができ、入力画像平面R4から空間モデルMDを経て出力画像平面R5に至る順番で座標の対応付けを実行する場合と比べ(この場合には、入力画像平面R4上の各座標を出力画像平面R5上の一又は複数の座標に確実に対応させることができるが、出力画像平面R5上の座標の一部が、入力画像平面R4上の何れの座標にも対応付けられない場合があり、その場合にはそれら出力画像平面R5上の座標の一部に補間処理等を施す必要がある。)、より良質な出力画像を迅速に生成することができる。
また、画像生成システム100は、出力画像の視点を変更する場合には、仮想カメラ2Vの各種パラメータの値を変更して空間モデル・出力画像対応マップ41を書き換えるだけで、入力画像・空間モデル対応マップ40の内容を書き換えることなく、所望の視点から見た出力画像(視点変換画像)を生成することができる。
次に、図13を参照しながら、本発明の第二実施例について説明する。
図13は、本発明の第二実施例に係る画像生成システム200の構成例を概略的に示すブロック図である。
画像生成システム200は、制御部1につり具位置検出手段12を有する点で図1の画像生成システム100と相違するが、その他の点で共通する。そのため、共通点に関する説明を省略しながら、相違点を詳細に説明することとする。
つり具位置検出手段12は、つり具の鉛直位置を検出するための手段であり、例えば、巻上装置67におけるドラムの回転角を計測する回転角センサの出力に基づいてワイヤロープ68の繰り出し量を導き出し、その繰り出し量に基づいて現時点におけるフック69の鉛直位置(例えば、地面からの高さである。)を検出し、検出したフック69の鉛直位置に関する情報を出力画像生成手段11に対して出力する。
また、つり具位置検出手段12は、巻上装置67に取り付けられた距離センサ(例えば、光、電波、又は超音波を用いた距離センサである。)の出力に基づいて巻上装置67(距離センサ)とフック69との間の距離を導き出し、その距離に基づいて現時点におけるフック69の鉛直位置を検出するようにしてもよい。
第二実施例において、出力画像生成手段11は、つり具位置検出手段12から受けたフック69の鉛直位置に関する情報に基づいて、仮想カメラの光学中心の鉛直位置及び光軸方向を決定し、フック69の仮想的な水平画像を出力画像として生成する。
具体的には、出力画像生成手段11は、例えば、現時点におけるフック69の鉛直位置と仮想カメラの光学中心の鉛直位置とを同じにし、且つその光軸方向をフック69に向けるようにし、フック69の鉛直位置の変化に応じて仮想カメラの光学中心の鉛直位置を変化させるようにする。
以上の構成により、画像生成システム200は、フック69の鉛直位置の変化にかかわらず、常にフック69を真横から見た出力画像を操作者に提示することができ、ワイヤロープ68で吊されたフック69と床面FFとの間の位置関係を操作者により直感的に把握させることができる。
次に、図14〜図18を参照しながら、本発明の第三実施例について説明する。
図14は、本発明の第三実施例に係る画像生成システム300の構成例を概略的に示すブロック図である。
画像生成システム300は、三台のカメラ20、21、及び22を有し、且つ、制御部1に凹凸検出手段13を有する点で図1の画像生成システム100と相違するが、その他の点で共通する。そのため、共通点に関する説明を省略しながら、相違点を詳細に説明することとする。
カメラ20及びカメラ22はそれぞれ、図15(A)で示されるように、ガーダ63に取り付けられ、天井クレーン60の下の床面FFを撮像するカメラであり、撮像した画像を入力画像として制御部1に対して出力する。なお、カメラ20及びカメラ22は、トロリ66の横行方向にトロリ66を挟むようにトロリ66に取り付けられていてもよい。
カメラ21は、画像生成システム100におけるカメラ2と同様、トロリ66に取り付けられトロリ66と共に横行するカメラであり、撮像した画像を入力画像として制御部1に対して出力する。
凹凸検出手段13は、床面FFの凹凸を検出するための手段であり、例えば、トロリ66に取り付けられトロリ66と共に横行する図示しない距離センサ(例えば、光、電波、又は超音波を用いた距離センサであり、横行方向に巻上装置67を挟んで取り付けられ、トロリ66と共に横行しながら床面FFを走査する距離センサである。)の出力に基づいて、床面FFの凹凸を検出し、その検出結果を座標対応付け手段10に対して出力する。
また、凹凸検出手段13は、ROM等に予め記憶された床面FFの凹凸に関するデータ(例えば、XY座標と所定の基準レベルに対する床面FFの高さとの組み合わせからなるデータである。)と現在位置のXY座標(例えば、公知の手段によって得られるトロリ66の現在位置である。)とに基づいて床面FFの凹凸を検出し、その検出結果を座標対応付け手段10に対して出力するようにしてもよい。
第三実施例において、座標対応付け手段10は、凹凸検出手段13の出力に基づいてフック69の鉛直下方にある面の高さが周囲の床面FFの高さと異なるか否かを判定し、その面の高さが周囲の床面FFの高さと異なると判定した場合には、その面と床面FFとの間の段差のところで、カメラ21の死角となり且つカメラ20若しくはカメラ22の一方の死角となる領域が存在するとして、カメラ21の撮像画像(フック69の鉛直下方にある面を鉛直斜め上方から撮像した画像であり、以下「見下ろし画像」とする。)の代わりに、カメラ20及びカメラ22のそれぞれの撮像画像を入力画像としながら、カメラ20及びカメラ22のそれぞれの入力画像平面上の座標と空間モデルMD上の座標とを対応付ける。なお、上述の説明は、カメラ21が存在しない場合にも適用され得る。
また、座標対応付け手段10は、カメラ21単独の撮像画像(見下ろし画像)の代わりに、カメラ20〜22のそれぞれの撮像画像を入力画像としながら、カメラ20〜22のそれぞれの入力画像平面上の座標と空間モデルMD上の座標とを対応付けるようにしてもよい。
図15は、視点変換により仮想的な見下ろし画像を生成する処理を説明するための図であり、図15(A)は、図2(B)と同様のクレーン60の正面図を示し、図15(B)は、カメラ20〜22のそれぞれの撮像画像を示し、図15(C)は、カメラ20及びカメラ22のそれぞれの撮像画像と空間モデルMDとの間の関係並びにそれら撮像画像の組み合わせ及び視点変換の結果として得られる出力画像を示し、図15(D)は、カメラ20、カメラ21及びカメラ22のそれぞれの撮像画像と空間モデルMDとの間の関係並びにそれら撮像画像の組み合わせ及び視点変換の結果として得られる出力画像を示す。
図15(A)は、フック69の鉛直下方に吊り荷OBJが置かれ、その吊り荷OBJの脇に作業者HMが存在する状態を示す。なお、図の一点鎖線、破線及び二点鎖線はそれぞれ、カメラ20〜22のそれぞれの撮像範囲を示す。
この場合、図15(B)で示されるように、カメラ20の撮像画像IM1及びカメラ21の撮像画像IM2は何れも作業者HMの存在を分かり易く捉えることができておらず、カメラ22の撮像画像IM3のみが作業者HMの存在を分かり易く捉えることができている。
座標対応付け手段10は、凹凸検出手段13の出力に基づいてフック69の鉛直下方にある吊り荷OBJの頂面の高さが周囲の床面FFの高さより高いと判定すると、図15(C)で示されるように、空間モデルMDの水平面R1における領域SR1(ワイヤロープ68を通る直線と床面FFとの交点を含みX軸方向に延びる直線を境界とした水平面R1の左側の領域)上の座標とカメラ20の入力画像平面上の座標とを対応付け、且つ、空間モデルMDの水平面R1における領域SR2(水平面R1の右側の領域)上の座標とカメラ22の入力画像平面上の座標とを対応付け、それらの対応関係を入力画像・空間モデル対応マップ40に記憶する。
また、出力画像生成手段11は、仮想的な見下ろし画像を生成するための仮想カメラの光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等の各種パラメータを決定し(例えば、仮想カメラのパラメータは、カメラ21のパラメータと同じ値に設定される。)、出力画像平面上の座標と空間モデルMD上の座標とを対応付け、その対応関係を空間モデル・出力画像対応マップ41に記憶し、且つ、入力画像・空間モデル対応マップ40を参照しながら、出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と二つの入力画像における各画素の値とを関連付けて図15(C)で示されるような出力画像を生成する。
或いは、座標対応付け手段10は、凹凸検出手段13の出力に基づいてフック69の鉛直下方にある吊り荷OBJの頂面の高さが周囲の床面FFの高さより高いと判定すると、図15(D)で示されるように、空間モデルMDの水平面R1における領域SR3(水平面R1の左側の領域)上の座標とカメラ20の入力画像平面上の座標とを対応付け、空間モデルMDの水平面R1における領域SR4(水平面R1の中央の領域)上の座標とカメラ21の入力画像平面上の座標とを対応付け、且つ、空間モデルMDの水平面R1における領域SR5(水平面R1の右側の領域)上の座標とカメラ22の入力画像平面上の座標とを対応付け、それらの対応関係を入力画像・空間モデル対応マップ40に記憶するようにしてもよい。この場合、出力画像生成手段11は、図15(D)で示されるような出力画像を生成する。
図16は、視点変換により仮想的な見下ろし画像を生成する別の処理を説明するための図であり、図16(A)は、図2(B)と同様のクレーン60の正面図を示し、図16(B)は、カメラ20〜22のそれぞれの撮像画像を示し、図16(C)は、カメラ20及びカメラ22のそれぞれの撮像画像と空間モデルMDとの間の関係並びにそれら撮像画像の組み合わせ及び視点変換の結果として得られる出力画像を示し、図16(D)は、カメラ20、カメラ21及びカメラ22のそれぞれの撮像画像と空間モデルMDとの間の関係並びにそれら撮像画像の組み合わせ及び視点変換の結果として得られる出力画像を示す。
図16(A)は、フック69の鉛直下方に溝GRが形成され、その溝GRの脇に作業者HMが存在する状態を示す。なお、図の一点鎖線、破線及び二点鎖線はそれぞれ、カメラ20〜22のそれぞれの撮像範囲を示す。
この場合、図16(B)で示されるように、カメラ20の撮像画像IM1及びカメラ21の撮像画像IM2は何れも作業者HMの存在を分かり易く捉えることができておらず、カメラ22の撮像画像IM3のみが作業者HMの存在を分かり易く捉えることができている。
座標対応付け手段10は、凹凸検出手段13の出力に基づいてフック69の鉛直下方にある溝GRの底面の高さが周囲の床面FFの高さより低いと判定すると、図16(C)で示されるように、空間モデルMDの水平面R1における領域SR1(水平面R1の左側の領域)上の座標とカメラ22の入力画像平面上の座標とを対応付け、且つ、空間モデルMDの水平面R1における領域SR2(水平面R1の右側の領域)上の座標とカメラ20の入力画像平面上の座標とを対応付け、それらの対応関係を入力画像・空間モデル対応マップ40に記憶する。なお、この配置は、図15(C)で示された配置と比較すると、対応付けが左右で正反対となっている。
また、出力画像生成手段11は、仮想的な見下ろし画像を生成するための仮想カメラの光学中心、焦点距離、CCDサイズ、光軸方向ベクトル、カメラ水平方向ベクトル、射影方式等の各種パラメータを決定し(例えば、仮想カメラのパラメータは、カメラ21のパラメータと同じ値に設定される。)、出力画像平面上の座標と空間モデルMD上の座標とを対応付け、その対応関係を空間モデル・出力画像対応マップ41に記憶し、且つ、入力画像・空間モデル対応マップ40を参照しながら、出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と二つの入力画像における各画素の値とを関連付けて図16(C)で示されるような出力画像を生成する。
或いは、座標対応付け手段10は、凹凸検出手段13の出力に基づいてフック69の鉛直下方にある溝GRの底面の高さが周囲の床面FFの高さより低いと判定すると、図16(D)で示されるように、空間モデルMDの水平面R1における領域SR3(水平面R1の左側の領域)上の座標とカメラ20の入力画像平面上の座標とを対応付け、空間モデルMDの水平面R1における領域SR4(水平面R1の中央の領域)上の座標とカメラ21の入力画像平面上の座標とを対応付け、且つ、空間モデルMDの水平面R1における領域SR5(水平面R1の右側の領域)上の座標とカメラ22の入力画像平面上の座標とを対応付け、それらの対応関係を入力画像・空間モデル対応マップ40に記憶するようにしてもよい。この場合、出力画像生成手段11は、図16(D)で示されるような出力画像を生成する。
なお、座標対応付け手段10は、凹凸検出手段13の出力によらず、予め定められた対応関係に基づいて空間モデルMD上の座標と複数のカメラのそれぞれの入力画像平面上の座標とを対応付け、或いは、入力部3を介した操作者の入力に応じて空間モデルMD上の座標と複数のカメラのそれぞれの入力画像平面上の座標との間の対応関係を切り換えて、それらの対応関係を入力画像・空間モデル対応マップ40に記憶するようにしてもよい。この場合、凹凸検出手段13は、省略されることとなる。
図17は、図15におけるカメラ20〜22のそれぞれの撮像画像に基づいて仮想的な見下ろし画像と仮想的な水平画像とを生成する処理を説明するための図である。
座標対応付け手段10は、凹凸検出手段13の出力に基づいてフック69の鉛直下方にある吊り荷OBJの頂面の高さが周囲の床面FFの高さより高いと判定すると、空間モデルMDの水平面R1における領域SR3(水平面R1の左側の領域)上の座標とカメラ20の入力画像平面上の座標とを対応付け、空間モデルMDの水平面R1における領域SR4(水平面R1の中央の領域)上の座標とカメラ21の入力画像平面上の座標とを対応付け、空間モデルMDの水平面R1における領域SR5(水平面R1の右側の領域)上の座標とカメラ22の入力画像平面上の座標とを対応付け、空間モデルMDの垂直面R2における領域SR6(垂直面R1の左側の領域)上の座標とカメラ20の入力画像平面上の座標とを対応付け、空間モデルMDの垂直面R2における領域SR7(垂直面R1の中央の領域)上の座標とカメラ21の入力画像平面上の座標とを対応付け、且つ、空間モデルMDの垂直面R2における領域SR8(垂直面R1の右側の領域)上の座標とカメラ22の入力画像平面上の座標とを対応付け、それらの対応関係を入力画像・空間モデル対応マップ40に記憶する。
また、出力画像生成手段11は、仮想的な見下ろし画像を生成するための第一の仮想カメラのパラメータを決定し(例えば、第一の仮想カメラのパラメータは、カメラ21のパラメータと同じ値に設定される。)、且つ、仮想的な水平画像を生成するための第二の仮想カメラのパラメータを決定し、二つの出力画像(仮想的な見下ろし画像及び仮想的な水平画像である。)のそれぞれに対応する出力画像平面上の座標と空間モデルMD上の座標とを対応付け、それらの対応関係を空間モデル・出力画像対応マップ41に記憶し、且つ、入力画像・空間モデル対応マップ40を参照しながら、それら二つの出力画像における各画素の値(例えば、輝度値、色相値、彩度値等である。)と三つの入力画像における各画素の値とを関連付けて図17で示されるような二つの出力画像を生成する。
図18は、図16におけるカメラ20〜22のそれぞれの撮像画像に基づいて仮想的な見下ろし画像と仮想的な水平画像とを生成する処理を説明するための図であり、フック69の鉛直下方にある溝GRの底面の高さが周囲の床面FFの高さより低い点、領域SR3及び領域SR6上の座標とカメラ22の入力画像平面上の座標とを対応付ける点、並びに、領域SR5及び領域SR8上の座標とカメラ20の入力画像平面上の座標とを対応付ける点において図17の場合と異なるがその他の点で共通する。なお、図18の仮想的な水平画像における斜線ハッチング領域は、床面FFの断面を表すコンピュータグラフィックである。
なお、画像生成システム300は、Y軸方向(横行方向)に巻上装置67を挟んで取り付けられるカメラ20及びカメラ22を用いて仮想的な見下ろし画像を生成するが、それらカメラ20及び22に代えて或いは加えて、X軸方向(走行方向)に巻上装置67を挟んで取り付けられる二つのカメラを用いて仮想的な見下ろし画像を生成するようにしてもよい。
また、画像生成システム300は、それら四つのカメラのうちの任意の二つ又は三つを用いて仮想的な見下ろし画像を生成するようにしてもよく、五つ以上のカメラを用いて仮想的な見下ろし画像を生成するようにしてもよい。また、それらのカメラは、必ずしも、巻上装置67を通る一直線上に配置される必要はなく、互いの死角を補うように配置されるのであれば任意の位置関係で配置されてもよい。
以上の構成により、画像生成システム300は、フック69を用いた作業が行われる領域における死角や見難さを排除した仮想的な見下ろし画像を提示することができ、その操作者によるフック69の上げ下げの操作を支援することができる。
次に、図19〜図25を参照しながら、本発明の第四実施例について説明する。
図19は、本発明の第四実施例に係る画像生成システム400の構成例を概略的に示すブロック図であり、図20は、画像生成システム400がそれぞれ搭載される三台の天井クレーン60A〜60Cを示す図である。なお、図20(A)は、一対のランウェイ61L、61R上を走行する三台の天井クレーン60A〜60Cの上面図を示し、図20(B)は、図20(A)のXVIIB−XVIIB方向から見た天井クレーン60Aの正面図を示す。
天井クレーン60A〜60Cのそれぞれに搭載される画像生成システム400は、カメラ2(図20(A)におけるカメラ2A〜2Cのうちの一つである。)以外に二台のカメラ23(図20(A)におけるカメラ23A〜23Cのうちの一つである。)及び24(図20(A)におけるカメラ24A〜24Cのうちの一つである。)を有し、且つ、制御部1に目盛り描画手段14を有する点で図1の画像生成システム100と相違するが、その他の点で共通する。そのため、共通点に関する説明を省略しながら、相違点を詳細に説明することとする。なお、本実施例において、画像生成システム400は、天井クレーン60Bに搭載されたものを代表として説明するが、天井クレーン60A及び60Cに搭載されたものにも同様の説明が適用されるものとする。
カメラ23Bは、天井クレーン60Bの後隣にある天井クレーン60Aにおけるガーダ63Aの表面(天井クレーン60Bを向く面である。)に描画されたマーク25A(図20(B)参照。)を撮像するためのカメラであり、天井クレーン60Bにおけるガーダ63Bの表面(天井クレーン60Aを向く面である。)に固定的に取り付けられ、好適には、その光軸が天井クレーン60Aにおけるガーダ63Aのその表面と直交するように設置される。
同様に、カメラ24Bは、天井クレーン60Bの前隣にある天井クレーン60Cにおけるガーダ63Cの表面(天井クレーン60Bを向く面である。)に描画されたマーク25C(図示せず。)を撮像するためのカメラであり、天井クレーン60Bにおけるガーダ63Bの表面(天井クレーン60Cを向く面である。)に固定的に取り付けられ、好適には、その光軸が天井クレーン60Cにおけるガーダ63Cのその表面と直交するように設置される。
マーク25Aは円形形状を有し、カメラ23Bの光軸がその中心点に当たるものとし、マーク25Cも同様に円形形状を有し、カメラ24Bの光軸がその中心点に当たるものとする。
目盛り描画手段14は、カメラ23及びカメラ24のそれぞれの撮像画像を用いて、X軸方向(走行方向)における天井クレーン間の距離を分かり易く提示するための手段であり、具体的には、カメラ23及びカメラ24のそれぞれの撮像画像上に目盛りを重畳表示させて天井クレーン間の距離を分かり易く提示する。
図21は、目盛り描画手段14による目盛り描画処理を説明するための図であり、カメラ23Bが撮像した三つの画像と、目盛り描画手段14により目盛りが重畳表示された出力画像とを示す。
図21は、カメラ23Bが撮像した三つの画像において、右側の画像、中央の画像、左側の画像の順に、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離が徐々に小さくなり、マーク25Aがカメラ23Bに接近してマーク25Aの画像が徐々に大きくなることを示し、カメラ23Bの光軸が常にマーク25Aの中心に当たり、マーク25Aの画像における画像中心点CCを中心とする外周円の半径が徐々に大きくなることを示す。
目盛り描画手段14は、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離Lメートル(可変値)と、半径α0メートル(固定値)の外周円の画像であり、カメラ23Bによる撮像画像における画像中心点CCを中心とするその外周円の画像の半径の大きさに対応する画素数(可変値)との対応関係を予め記憶したルックアップテーブルを参照し、例えば、クレーン間距離7メートルに対応する外周円半径40ピクセル、クレーン間距離3メートルに対応する外周円半径80ピクセル、及び、クレーン間距離1メートルに対応する外周円半径120ピクセルといったクレーン間距離と外周円半径との複数の組み合わせを読み出し、読み出した情報に基づいて出力画像上に目盛りを重畳表示する。
クレーン間距離と外周円半径との複数の組み合わせを決定するに際し、実際の外周円半径をα0メートル、クレーン間距離をLメートルとすると、カメラ23Bの光学中心とその外周円上の一点とを結ぶ線分が光軸となす角θは、
で表され、画像上の外周円半径をX
OBJピクセル、カメラ23Bの画角をθ
cam、カメラ23Bの画角θ
camに応じて決定される画像中心点CCから撮像画像の端までの画素数をXピクセルとすると、画像上の外周円半径X
OBJは、
このように、外周円半径α0(メートル)、画角θcam、及び画像中心点CCから撮像画像の端までの画素数X(ピクセル)が既知であることから、クレーン間距離L(メートル)が決まれば、画像上の外周円半径XOBJ(ピクセル)は、一意に決定されることとなる。
なお、画像生成システム400は、複数の画角θcamに対応する複数のルックアップテーブルを準備しておき、ズーム機能を備えたカメラ23Bの画角θcamが変更された場合に、その変更後の画角θcamに対応するルックアップテーブルを選択して参照することによって、重畳表示される目盛りの幅を動的に調節するようにしてもよい。
図21の出力画像は、目盛りが重畳表示された出力画像であり、破線で示された三つの円とそれぞれの円に対応するクレーン間距離(メートル)の値とを含む目盛りが重畳表示され、それら三つの円の半径は、内側から順にそれぞれ、40ピクセル、80ピクセル、及び120ピクセルとなっており、7メートル、3メートル、及び1メートルのクレーン間距離を表す。また、図21の出力画像は、現時点におけるクレーン間距離がおよそ5メートルであることを表す。
図22は、目盛り描画手段14による別の目盛り描画処理を説明するための図であり、図21と同様、カメラ23Bが撮像した三つの画像と、目盛り描画手段14により目盛りが重畳表示された出力画像とを示す。
図22は、円形のマーク25Aの代わりに矩形のマーク25A1がガーダ63Aの表面に描画されている点、カメラ23Bの光軸がマーク25A1の中心と一致しない点、カメラ23Bが撮像した三つの画像において、右側の画像、中央の画像、左側の画像の順に、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離が徐々に小さくなり、マーク25A1がカメラ23Bに接近してマーク25A1の画像が徐々に大きくなるにつれて、マーク25A1の画像の右端と画像中心点CCとの間の距離が徐々に大きくなることを利用する点において図21の場合と異なる。
目盛り描画手段14は、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離Lメートル(可変値)と、カメラ23Bの光軸が当たるガーダ63Aの表面上の点から距離α1メートル(固定値)の位置にあるマーク25A1の画像であり、カメラ23Bによる撮像画像における画像中心点CCとそのマーク25A1の画像との間の離隔距離の大きさに対応する画素数(可変値)との対応関係を予め記憶したルックアップテーブルを参照し、例えば、クレーン間距離7メートルに対応する離隔距離60ピクセル、クレーン間距離3メートルに対応する離隔距離120ピクセル、及び、クレーン間距離1メートルに対応する離隔距離180ピクセルといったクレーン間距離と離隔距離との複数の組み合わせを読み出し、読み出した情報に基づいて出力画像上に目盛りを重畳表示する。
クレーン間距離と離隔距離との複数の組み合わせを決定する方法は、クレーン間距離と外周円半径との複数の組み合わせを決定する上述の方法と同様である。
図22の出力画像は、目盛りが重畳表示された出力画像であり、破線で示された三つの縦線とそれぞれの縦線に対応するクレーン間距離(メートル)の値とを含む目盛りが重畳表示され、それら三つの縦線の離隔距離は、右から順にそれぞれ、60ピクセル、120ピクセル、及び180ピクセルとなっており、7メートル、3メートル、及び1メートルのクレーン間距離を表す。また、図22の出力画像は、現時点におけるクレーン間距離がおよそ5メートルであることを表す。
図23は、目盛り描画手段14による更に別の目盛り描画処理を説明するための図であり、図21と同様、カメラ23Bが撮像した三つの画像と、目盛り描画手段14により目盛りが重畳表示された出力画像とを示す。
図23は、マークがガーダ63Aの表面上に存在しない点、及びカメラ23Bが撮像した三つの画像において、右側の画像、中央の画像、左側の画像の順に、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離が徐々に小さくなるにつれて、ガーダ63Aの画像の上端と画像中心点CCとの間の距離が徐々に大きくなることを利用する点において図21の場合と異なる。
目盛り描画手段14は、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離Lメートル(可変値)と、カメラ23Bの光軸が当たるガーダ63Aの表面上の点から距離α2メートル(固定値)の位置にその上端を有するガーダ63Aの画像であり、カメラ23Bによる撮像画像における画像中心点CCとそのガーダ63Aの画像の上端との間の離隔距離の大きさに対応する画素数(可変値)との対応関係を予め記憶したルックアップテーブルを参照し、例えば、クレーン間距離7メートルに対応する離隔距離30ピクセル、クレーン間距離3メートルに対応する離隔距離70ピクセル、及び、クレーン間距離1メートルに対応する離隔距離110ピクセルといったクレーン間距離と離隔距離との複数の組み合わせを読み出し、読み出した情報に基づいて出力画像上に目盛りを重畳表示する。
クレーン間距離と離隔距離との複数の組み合わせを決定する方法は、クレーン間距離と外周円半径との複数の組み合わせを決定する上述の方法と同様である。
図23の出力画像は、目盛りが重畳表示された出力画像であり、破線で示された三つの横線とそれぞれの横線に対応するクレーン間距離(メートル)の値とを含む目盛りが重畳表示され、それら三つの横線の離隔距離は、下から順にそれぞれ、30ピクセル、70ピクセル、及び110ピクセルとなっており、7メートル、3メートル、及び1メートルのクレーン間距離を表す。また、図23の出力画像は、現時点におけるクレーン間距離がおよそ5メートルであることを表す。
図24及び図25はそれぞれ、特徴の異なる複数の画像を含む出力画像の例を示す図である。
図24は、左側に後隣の天井クレーンまでの距離を提示する画像、右側に前隣の天井クレーンまでの距離を提示する画像、上側に仮想的な水平画像、下側に仮想的な見下ろし画像を配置する出力画像を示す。
図25は、中央に仮想的な見下ろし画像、上側に前隣の天井クレーンまでの距離を提示する画像、下側に後隣の天井クレーンまでの距離を提示する画像、右側に仮想的な水平画像を配置する出力画像を示す。
以上の構成により、画像生成システム400は、カメラ23Bの撮像画像に対して複雑な画像処理を施すことなく目盛りを重畳表示するだけで、隣り合う天井クレーンまでの距離を操作者に直感的に把握させることが可能な出力画像を生成することができ、その出力画像を提示することによって、隣り合う天井クレーン同士の接触を防止することができる。
なお、画像生成システム400は、公知の手段により隣の天井クレーンまでの距離が所定距離未満となったことを検出した場合に、アラームや注意喚起メッセージを音声出力したり表示したりするようにしてもよい。
また、カメラ23Bは、好適には、その光軸が天井クレーン60Aにおけるガーダ63Aのその表面と直交するように設置されるが、その光軸がその表面に対して所定の角度で傾斜するように設置されてもよい。この場合であっても、目盛り描画手段14は、その所定の角度を考慮して(例えば、所定の投影関数を用いて)導き出された、天井クレーン60Aと天井クレーン60Bとの間のクレーン間距離Lメートル(可変値)と、画像中心点CCから所定のマークまでの画素数(可変値)との間の対応関係を記憶するルックアップテーブルを参照し、クレーン間距離とその画素数との複数の組み合わせを読み出し、読み出した情報に基づいて出力画像上に目盛りを重畳表示する。光軸がガーダ63Aの表面と直交するように配置されたカメラ23Bのその光軸に対して傾斜する表面に描かれたマークを用いる場合も同様である。更に、画像生成システム400は、カメラ23Bの光軸に対して傾斜する表面に描かれたその所定のマークがあたかもその光軸に直交する表面に描かれたものとして扱えるよう、カメラ23Bの撮影画像に画像変換を施すようにしてもよい。
なお、上述の目盛り描画処理は、カメラ23Bの撮像画像を参照しながら説明されたが、カメラ24Bに対しても同様の説明が適用されるものとする。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例において、画像生成システム100は、空間モデルMDを用いることなく(カメラ2の光学中心Cの座標と仮想カメラ2Vの光学中心CVの座標とを用いながら空間モデルMDを介して入力画像平面R4上の画素群と出力画像平面R5上の画素群とを間接的に関連付けることなく)、カメラ2の光学中心Cの座標や仮想カメラ2Vの光学中心CVの座標とは無関係に、入力画像平面R4上の画素群と出力画像平面R5上の画素群との間の所定の直接的な対応関係に基づいて出力画像を生成するようにしてもよい。
この場合、画像生成システム100は、その所定の直接的な対応関係に基づいて、入力画像平面R4上の画素群の一部を出力画像平面R5上の画素群の一部に(空間モデルMDを介することなく直接的に)関連付けてフック69の仮想的な水平画像を生成し、入力画像平面R4上の画素群の別の一部を出力画像平面R5上の画素群の別の一部に(空間モデルMDを介することなく直接的に)関連付けて床面FFの仮想的な見下ろし画像を生成し、その仮想的な水平画像とその仮想的な見下ろし画像とを合成して最終的な出力画像を生成するようにしてもよい。
また、カメラ2は、図2で示されるように、トロリ66から鉛直下方に延びた後X軸方向に延びるブラケットBRの先端に取り付けられ、それに合わせて空間モデルMDの垂直面R2が、天井クレーン60のガーダ63の中央線を含む鉛直面VSに配置されるが、カメラ2は、トロリ66からY軸方向に延びるブラケットの先端に取り付けられてもよく、その場合、空間モデルMDの垂直面R2は、天井クレーン60のガーダ63の中央線に直交する鉛直面に配置され得る。なお、垂直面R2は、必ずしもガーダ63の中央線に対し平行又は直交する関係にある必要はなく、その中央線と任意の角度を形成する面であってもよい。更に、カメラ2は、追加的に、ブラケットBRとは別の方向に延びる一又は複数の別のブラケットの先端に取り付けられてもよい。フック69が障害物の裏に隠れて一つのカメラがフック69を撮像することができなくなったとしても、別のカメラが、そのフック69を代わりに撮像することができるようにするためである。
また、画像生成システム100は、トロリ66からX軸方向に延びるブラケットBRの先端に取り付けられたカメラ2が撮像した入力画像、及び、トロリ66からY軸方向に延びるブラケットの先端に取り付けられたカメラが撮像した入力画像を含む複数の入力画像を選択的に用いながら出力画像を生成するようにしてもよく、複数の入力画像のそれぞれを用いて複数の出力画像を生成し、それら複数の出力画像のそれぞれを並べて表示するようにしてもよい。
また、カメラ2は、トロリ66と共に横行し且つ鉛直方向に上下するフック60を鉛直斜め上方から撮像できるよう光軸方向を操作者が動的に調整できるようにしながら、ガーダ63又は操作室70の所定位置に取り付けられていてもよい。この場合、カメラ2は、トロリ66の横行方向(Y軸方向)に沿って所定の間隔を空けながらガーダ63に複数設置され、現時点におけるフック69との間の横行方向(Y軸方向)における距離が最小となるカメラの撮像画像を入力画像として採用するようにしてもよく、それら複数のカメラからの複数の撮像画像を組み合わせた画像を入力画像として採用するようにしてもよい。
また、上述の実施例において、画像生成システム100は、天井クレーン60におけるフックの操作を支援するために用いられるが、アンローダのグラブバケットの操作を支援するために用いられてもよく、橋形クレーン、ケーブルクレーン、若しくはテルハのフック、又はスタッカークレーンのフォークの操作を支援するために用いられてもよく、起伏装置や旋回装置を備えたジブクレーンのフックの操作を支援するために用いられてもよい。
また、天井クレーン60のフックは、リフティングマグネット、バキュームリフター、クロー、又はスプレッダ等であってもよい。
また、上述の実施例のそれぞれにおいて個別に説明されたカメラ2、20、21、22、23A〜C、及び24A〜C、並びに、つり具位置検出手段12、凹凸検出手段13、及び目盛り描画手段14は、上述の任意の実施例に任意の組み合わせで導入され得るものとする。