説明

画像補正装置、補正画像生成方法、補正テーブル生成装置、補正テーブル生成方法、補正テーブル生成プログラムおよび補正画像生成プログラム

【課題】補正後の画像における違和感を低減ないし解消することを課題とする。
【解決手段】前記課題を解決するために、本発明の画像補正装置10は、画像入力部11と、画像記憶部12と、補正テーブル記憶部15と、画像記憶部に記憶された入力画像を補正テーブルに基づいて幾何補正する幾何補正部13と、幾何補正部により補正された入力画像を補正画像として出力する画像出力部14と、を備え、補正テーブル17は、補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、経度および緯度に基づいて、緯度を補正した補正緯度を算出し、経度および補正緯度に対応する被写体空間中の光線方向を算出し、光線方向に対応する入力画像上の位置を抽出位置として算出し、抽出位置を出力画像の画素位置に対応付けていることにより生成されたものであることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力画像を幾何補正して出力画像を生成するための画像補正装置などの技術に関する。
【背景技術】
【0002】
近年、監視カメラやテレビドアホンを始めとする幾つかの応用分野において、広い視野範囲の映像を一望したいという要求が出てきている。その要求を満たす一つの解として、光学系に魚眼レンズを採用し、水平画角180度程度の範囲を撮影するビデオカメラ等が実用化されている。しかし、それらの機器を用いて撮影した画像では、一般に、被写体空間中の直線が大きく湾曲して写っているため、撮影した画像に対して湾曲の度合いを低減するための幾何補正を施したいという要求がある。
【0003】
魚眼レンズには、その設計方針の違いにより、等距離射影方式、等立体角射影方式、正射影方式等、様々な射影方式が存在する。しかし、いずれの射影方式であっても、補正後の画像において表現すべき画角が180度未満であれば、透視変換を用いることで、魚眼レンズを用いて撮影された画像(以下、「魚眼画像」という。)における直線の湾曲を、設計値や従来技術によって推定された所与のパラメータと射影モデルとに基づいて、完全に補正することができる。
【0004】
魚眼画像の例を図13(a)に示す。また、この魚眼画像を透視変換を用いて左右方向の画角が広く確保されるように補正した例を図13(b)に示す。図13(b)に示すように、透視変換を用いた補正結果は、直線となるべき部分は直線に補正されているものの、画像の周辺部が極端に引き伸ばされて、遠近感が強調されており、違和感の大きな画像となっている。これは、補正した結果の画像で表現されている画角と、この画像を見る際の画角とが大きく異なることによって生じる課題である。
【0005】
この課題を解決すべく考案された技術として特許文献1に記載の技術がある。特許文献1に記載の技術は、各々が略平面である正面と左右面とを滑らかにつないだ筒面を利用して、左右方向に180度を超える画角を確保しつつ、上下方向に伸びる直線状の被写体と光軸に向かう直線状の被写体が各々直線に見えるように、補正するものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−311890号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示された技術では、出力画像の中心部分と左右端部分との中間付近で横方向の直線が急激に湾曲するため、例えば、被写体がカメラの前を横断するような場合において、違和感を覚えるという問題がある。
【0008】
そこで、本発明は、前記問題に鑑みてなされたものであり、補正後の画像における違和感を低減ないし解消することができる画像補正装置、補正画像生成方法、補正テーブル生成装置、補正テーブル生成方法、補正テーブル生成プログラムおよび補正画像生成プログラムを提供することを課題とする。例えば、図13(a)の魚眼画像を補正して、図13(d)のような補正結果を得る方法を提供することが目的となる。従来技術であるメルカトル図法をそのまま用いて補正した結果の一例である図13(c)と比較して、図13(d)では、地平線の湾曲が抑えられているのがわかる。
【課題を解決するための手段】
【0009】
前記課題を解決するために、本発明の画像補正装置は、入力画像を幾何補正して補正画像を生成する画像補正装置であって、前記入力画像を入力する画像入力部と、前記入力画像を記憶する画像記憶部と、前記入力画像を幾何補正するために用いる補正テーブルを記憶する補正テーブル記憶部と、前記画像記憶部に記憶された前記入力画像を前記補正テーブルに基づいて幾何補正する幾何補正部と、前記幾何補正部により補正された前記入力画像を前記補正画像として出力する画像出力部と、を備え、前記補正テーブルは、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けることにより生成されたものであることを特徴とする。
【発明の効果】
【0010】
本発明によれば、補正後の画像における違和感を低減ないし解消することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の画像補正装置の構成を説明する図である。
【図2】本発明の補正テーブルを模式的に示す図である。
【図3】本発明の画像補正装置における幾何補正部の動作を示すフローチャートである。
【図4】本発明の第1実施形態に係る補正テーブル生成装置の構成を示すブロック図である。
【図5】本発明の出力画像の画素座標と入力画像の座標を対応させるための座標系の変換を説明する図であり、(a)は、出力画像の座標系を示す図である。(b)は、経度緯度座標系を示す図である。
【図6】本発明の出力画像の画素座標と入力画像の座標を対応させるための座標系の変換を説明する図であり、(a)は、経度と緯度に基づいて、光線方向ベクトルを求めるための座標系を示す図である。(b)は、入力画像の座標系を示す図である。
【図7】被写体空間中の直線が出力画像上で湾曲する場合と湾曲しない場合を説明するための図である。
【図8】本発明の第1実施形態に係る補正テーブル生成装置における補正緯度算出部が緯度を補正する際に用いる関数を説明する図である。
【図9】本発明の第1実施形態に係る補正テーブル生成装置の動作を示すフローチャートである。
【図10】本発明の第1実施形態に係る補正テーブル生成装置における経度緯度算出部、補正緯度算出部および光線方向ベクトル算出部の動作を示すフローチャートである。
【図11】本発明の第2実施形態に係る補正テーブル生成装置の構成を示すブロック図である。
【図12】本発明の第2実施形態に係る補正テーブル生成装置の動作を示すフローチャートである。
【図13】魚眼画像(入力画像)に従来技術および本発明を適用した結果を示す図であり、(a)は、魚眼画像(入力画像)を示す図である。(b)は、(a)の魚眼画像(入力画像)に従来技術である透視変換を用いて補正した結果の補正画像(出力画像)の一例である。(c)は、(a)の魚眼画像(入力画像)に従来技術であるメルカトル図法をそのまま用いて補正した結果の補正画像(出力画像)の一例である。(d)は、本発明を適用した結果の補正画像(出力画像)の一例である。
【発明を実施するための形態】
【0012】
<第1実施形態>
以下、本発明の第1実施形態について、図1〜図10を参照して説明する。
図1に示すように、本発明に係る画像補正装置10は、魚眼画像などの入力画像を取り込んで、その画像を補正し、補正画像を出力画像として出力するものである。
画像生成装置30は、画像データを生成して画像補正装置10に供給するものである。本実施形態では、画像生成装置30は、水平画角180度の等距離射影方式の魚眼レンズを備えたデジタルビデオカメラである場合を例として説明する。
画像表示装置40は、画像補正装置10で補正された補正画像(出力画像)を表示するディスプレイである。
【0013】
本発明に係る補正テーブル生成装置20は、画像補正装置10の後記する補正テーブル記憶部15に格納する補正テーブル17を生成するものである。補正テーブル生成装置20は、例えば、パーソナルコンピュータで構成される。
補正テーブル生成装置20は、補正テーブル17を生成した後、幾何補正部13がこの補正テーブル17を用いた幾何補正処理を実施するより前に、この補正テーブル17を画像補正装置10に送信する。
なお、補正テーブル17の更新が必要ない場合、即ち、補正テーブル17の生成に関係するパラメータに変更がない場合には、補正テーブル生成装置20は生成した補正テーブル17を送信した後、画像補正装置10から切り離しておくことができる。
【0014】
[画像補正装置10の構成]
図1に示すように、画像補正装置10は、画像入力部11と、画像記憶部12と、幾何補正部13と、画像出力部14と、補正テーブル記憶部15と、補正テーブル更新部16とを備えている。
【0015】
画像入力部11は、画像生成装置30から供給される入力画像を読み込んで、画像記憶部12に書き込むものである。読み込んだ入力画像の各画素の画素値は、基準色(本実施形態ではR,G,Bの3種類とする)ごとに「0」から「255」までの256通りの整数値のうちの一つの値を取るような、デジタル化された値である。
【0016】
画像生成装置30からの入力画像の読み込みは、画像生成装置30の構成に対応したインターフェースを用いて実施すればよく、例えば、画像生成装置30からアナログ信号として入力画像が供給される場合にはA/D変換器を備えた構成とすればよいし、USB(Universal Serial Bus)インターフェース等によって、デジタル信号として入力画像が供給される場合には、それに対応するインターフェースを備えた構成とすればよい。
【0017】
画像記憶部12は、画像生成装置30から供給される入力画像全体が格納可能な大きさのメモリ(RAM;Random Access Memory)を少なくとも2画面分の容量を備えるものである。画像記憶部12は、1画面分を画像入力部11からの書き込み用に、残りの1画面分を幾何補正部13からの読み出し用に、1画面毎に役割を交互に交代しながら使用する。
【0018】
幾何補正部13は、後記する補正テーブル記憶部15に格納された補正テーブル17に基づいて、画像記憶部12に格納された入力画像に幾何補正を行い、幾何補正を行った結果である出力画像(補正画像)を画像出力部14に対して出力するものである。幾何補正部13は、例えば、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)で構成されている。なお、この幾何補正部13が行う処理の詳細は、後に詳述する(図3参照)。
【0019】
画像出力部14は、幾何補正部13から出力された出力画像(補正画像)を適切な映像信号に変換して画像表示装置40に対して出力するものである。例えば、画像表示装置40がアナログ映像信号を表示するように構成されている場合には、D/A変換器を備えた構成とすればよい。
【0020】
補正テーブル記憶部15は、後記する補正テーブル17を記憶しておくものであり、例えば、書き換え可能な不揮発性メモリである。
【0021】
補正テーブル更新部16は、補正テーブル生成装置20から送信される補正テーブル17を受信して補正テーブル記憶部15に格納するものであり、補正テーブル生成装置20側のインターフェースに合わせて、例えばUSBインターフェースやIEEE1394インターフェース等を備えた構成とすればよい。
【0022】
補正テーブル17は、幾何補正部13が出力する出力画像(補正画像)の各々の画素に対して、それらの画素の画素値を、画像記憶部12に記憶された入力画像(魚眼画像)上のどの画素を参照して決定するかを定義したものである。本実施形態においては、補正テーブル17として、リサンプリングテーブル、具体的には「幾何補正部13が出力する出力画像の各々の画素に対して、それらの画素に対応する画像記憶部12に記憶された入力画像上の2次元座標値を表す固定小数点数の組(x,y)を対応付けたテーブル」を使用する。補正テーブル17は、後述(図9および図10参照)の方法によって補正テーブル生成装置20によって生成された後、補正テーブル更新部16を介して補正テーブル記憶部15に格納される。
【0023】
リサンプリングテーブル(補正テーブル)17は、例えば図2に示すように、出力画像上の画素座標(u,v)と入力画像上の座標(x,y)とを対応付けている。図2は、u軸方向の画素数が640画素、v軸方向の画素数が480画素の場合のリサンプリングテーブル(補正テーブル)の例である。なお、u,vは、整数であるが、x,yは、必ずしも整数ではない。また、出力画像上の画素座標(u,v)に対応付けられる入力画像上の座標(x,y)が入力画像の範囲外の座標となる場合には、あらかじめ定めた例外値、例えば(−1,−1)などの値を(u,v)に対応付けて格納しておく。
【0024】
[画像補正装置10における幾何補正部13の動作]
次に、画像補正装置10における幾何補正部13の動作について図3を参照(構成は適宜図1を参照)して説明する。
まず、画像記憶部12に入力画像が記憶されており、補正テーブル記憶部15に補正テーブル17が記憶されていることを前提とする。
【0025】
図3のフローチャートに示すように、ステップS1において、幾何補正部13は、カウンタのNの値を「0」にする。
ステップS2において、幾何補正部13は、出力画像のN番目の画素の座標(u,v)に対応する入力画像上の座標(x,y)を決定する。具体的には、まず、幾何補正部13は、カウンタのNの値を出力画像のu軸方向の画素数で割った商をvの値、余りをuの値として(すなわち、u軸方向の画素数が「B」である場合、N=v・B+u)、出力画像上の画素座標(u,v)を算出する。次に、幾何補正部13は、補正テーブル17に基づいて、出力画像上の画素座標(u,v)に対応する入力画像上の座標(x,y)を決定する。
【0026】
ステップS3において、幾何補正部13は、決定した入力画像上の座標(x,y)に基づいて、出力画像のN番目の画素の画素値を算出する。具体的には、例えば、入力画像上の座標(x,y)に基づき、基準色毎(つまりRGB毎)に、入力画像上の四近傍画素の画素値を用いた双線形補間によって出力画像の画素値を定めるようにすればよい。なお、出力画像の画素値の算出には、バイキュービック補間等、他の従来技術を用いてもよい。
なお、幾何補正部13は、入力画像上に対応する座標値がない場合、すなわち、リサンプリングテーブル17に基づいて決定した入力画像上の座標(x,y)が、あらかじめ定めた例外値であった場合には、その出力画像の画素値を例外値、例えば、「黒」すなわち(R,G,B)=(0,0,0)とする。
【0027】
ステップS4において、幾何補正部13は、出力画像の全画素について画素値の算出が完了したか否かを判定する。
出力画像の全画素について画素値の算出が完了したと判定した場合(ステップS4・Yes)、幾何補正部13は、幾何補正処理を終了する。
一方、出力画像の画素のうち画素値の算出が完了していない画素があると判定した場合(ステップS4・No)、幾何補正部13は、カウンタのNの値に「1」を加える(ステップS5)。その後、ステップS2に戻って処理を続ける。
出力画像の全画素について画素値の算出が完了したか否かを判定するには、カウンタのNの値と出力画像の画素数とを比較することによって判定すればよい。
【0028】
[補正テーブル生成装置20の構成]
図4に示すように、補正テーブル生成装置20は、経度緯度算出部21と、補正緯度算出部22と、光線方向算出部23と、抽出位置算出部24と、抽出位置登録部25とを備える。
【0029】
経度緯度算出部21は、出力画像上の画素座標(u,v)に対応する経度λおよび緯度Φを算出するものである。例えば、経度緯度算出部21は、世界地図の作成で利用されている図法のうち、非投射円筒図法の一つである、メルカトル図法を用いて、経度λおよび緯度Φを算出する。本実施形態では、出力画像の左端の画素座標を経度「−90度(=−π/2)」、出力画像の右端の画素座標を経度「90度(=π/2)」に対応付けるため、u軸方向のスケールを正規化するための定数「w」を用いて、次の(1)式によって算出する。なお、(1)式において、「Ψ=π/2」である。
【0030】
【数1】

【0031】
これにより、図5(a)に示す出力画像のuv座標系から、図5(b)に示す経度緯度座標系へ座標系を変換する。ここで、O’(uc, vc)は出力画像の中心位置の座標である。例えば、出力画像のu軸方向の画素数が640画素である場合、uの値は「(0+639)/2」によって算出される「319.5」という値となる。vについても同様に算出すればよい。wは前述の目的のために導入された定数であり、uの値に等しく設定され、出力画像全体でのスケールの整合性を確保するため、(1)式のとおりv軸方向のスケールの正規化に対しても使用される。P(u,v)は、P(λ,Φ)と変換される。
【0032】
補正緯度算出部22は、入力される経度λおよび緯度Φから、光線方向ベクトルの算出に用いる緯度である補正緯度φを算出するものである。例えば、補正緯度算出部22は、次の(2)式によって、補正緯度φを算出する。
【0033】
【数2】

【0034】
これにより、図5(b)に示すように、経度緯度座標系において緯度方向に関する補正を行う。P(λ,Φ)は、P(λ,φ)と変換される。なお、このような補正をする理由は、後述する。
【0035】
光線方向算出部23は、入力される経度λおよび補正緯度φから、光線方向ベクトル(X,Y,Z)を算出するものである。光線方向算出部23は、次の(3)式によって、光線方向ベクトル(X,Y,Z)を算出する。
【0036】
【数3】

【0037】
これにより、図5(b)に示す経度緯度座標系から、図6(a)に示すXYZ座標系へ変換する。XYZ座標系は、被写体空間の座標系である。P(λ,φ)は、P(X,Y,Z)と変換される。点Oは投影中心である。光線方向ベクトル(X,Y,Z)は、点Oから経度λ、緯度φの地点に向かう、長さが「1」に正規化された方向ベクトルである。
【0038】
抽出位置算出部24は、光線方向算出部23が算出した光線方向ベクトル(X,Y,Z)から、入力画像上の座標(x,y)を抽出位置として算出するものである。抽出位置とは、入力画像上の座標(x,y)であり、出力画像上の画素座標(u,v)に存在する画素の画素値を入力画像上から抽出する際の最適な位置である。本実施形態の入力画像は等距離射影方式の魚眼レンズを用いて撮影されたものであるため、抽出位置算出部24は、例えば、次の(4)式によって、入力画像上の座標(x,y)を算出する。
【0039】
【数4】

【0040】
これにより、図6(a)に示すXYZ座標系から、図6(b)に示す入力画像のxy座標系へ変換する。ここで、O’’(xc, yc)は入力画像の像円の中心の座標である。また、Rは像円の半径であり、半画角90度に対応する。P(X,Y,Z)は、P(x,y)と変換される。
【0041】
なお、xc, ycおよびRは、設計値として予め補正テーブル生成装置20に登録されているものとする。また、本発明における撮像パラメータの種類はこれらに限るものではなく、使用する射影モデルに応じて種々変更することができるほか、1枚または複数の入力画像から、従来技術を用いて推定するようにしてもよい。例えば、像円の中心の座標O’’(xc, yc)及び像円の半径Rについては、像円の外側の部分が通常黒くなっている(画素値として(R,G,B)の各々に非常に小さい値が格納されている)ことを利用して、円の推定を行うことで、従来技術によって推定可能である。さらに、(4)式の代わりに、従来技術による、光学系の歪み補正のための、より高次の項まで含めた補正式を使用するようにしてもよい。
【0042】
抽出位置登録部25は、抽出位置算出部24により算出された入力画像上の座標(x,y)を出力画像上の画素座標(u,v)に対応付けて補正テーブル17に登録するものである。なお、抽出位置算出部24により算出された入力画像上の座標(x,y)が入力画像の範囲外の座標である場合には、前述のとおり、あらかじめ定めた例外値、例えば(−1,−1)などの値を(u,v)に対応付けて登録しておく。
【0043】
ここで、補正緯度算出部22において、緯度Φから補正緯度φへ補正する理由を図5、図6、図7および図8を参照して説明する。
図7において、点Oは、投影中心である。点Aは、図6(a)の点Aに対応しており、経度0度、緯度0度の点である。ベクトルOAは、魚眼レンズの光軸の方向である。平面52は、ベクトルOAに直交する、被写体空間中の平面である。直線51は、平面52と図6(a)におけるXZ平面との交線である。長方形ABDCは、平面52上の長方形である。
【0044】
メルカトル図法は、球面を平面へ投影する手法であり、球面上の等経度線と等緯度線は、いずれも投影先の平面上で直線となる。したがって、図7に示す直線AB、直線ACおよび直線CDは、図6(a)の単位球面上に投影し、さらに、図5(b)の経度緯度平面へ展開したときに、湾曲せずに直線となる。なぜなら、直線ABと直線CDは、単位球面上では等経度線となり、直線ACは、単位球面上では緯度0度の等緯度線となるからである。一方、線分OCの長さが線分OAの長さに比べて「1/cos(λ1)」の長さになっているため、点Bの緯度となる∠AOBのΦ0と点Dの緯度となる∠CODのΦ1とは、「tan(Φ1)=tan(Φ0)・cos(λ1)」という関係にある。すなわち、直線BDは等緯度線とならないため、メルカトル図法で表現した際に、投影先の平面上で直線とならずに湾曲してしまう。
【0045】
そこで、直線BDの湾曲を低減するために、例えば(2)式を用いる。ここで、直線BDの湾曲を完全に無くそうとすると「f(λ)=cos(λ)」となるが、f(λ)としてこの関数を用いた場合、補正緯度算出部22に入力された経度λが90度の場合に、入力された緯度Φの値に依存せず、補正緯度φが「0」となる。これは、出力画像の左右端に近付くにしたがって縦方向の拡大率が非常に大きくなることを意味しており、出力画像を観賞するユーザにとって、望ましいことではない。
【0046】
そのため、f(λ)として、「f(λ)=cos(λ)」ではなく、(2)式のf(λ)のような近似式を用いる。 例えば、図8は0≦λ≦(π/2)におけるf(λ)のグラフを示したものであり、曲線60は「cos(λ)」を、曲線61は(2)式のf(λ)をそれぞれ表している。このとき、λの絶対値が小さい領域、すなわち出力画像の中央付近では、曲線61は曲線60に近い方が望ましい。なぜなら、直線の湾曲がよりよく補正されるからである。一方、f(λ)の値が0に近くなるほど縦方向の拡大率が大きくなるため、曲線61の最小値は、ある程度の大きさを維持するように設計することが望ましい。
【0047】
より具体的には、(2)式のf(λ)は、次のような条件を満たすように設計されたものである。これらの条件を満たす関数であれば、補正緯度算出部が緯度を補正する際に用いる関数は、(2)式の関数に限るものではない。
第一の条件は「f(λ)≦1」である。これは、λの定義域の全域に渡って、補正が誤った方向に為されないことを保証する条件である。
第二の条件は「あるΛが存在して、f(Λ)<1」である。ここでΛはλの定義域に含まれる値である。これは、少なくとも1つ以上のλの値に対して、補正が正しい方向に為されることを保証する条件である。
第三の条件は「cos(λ)≦f(λ)」である。これは、λの定義域の全域に渡って、補正し過ぎないことを保証する条件である。
第四の条件は「f(λ)/cos(λ)は広義単調増加する」である。これは、緯度補正の程度が、波打つことなく徐々に弱まっていくための条件である。
第五の条件は「0<G<1なる所与の定数Gに対して、f(λ)≧G」である。これは、出力画像全域における縦方向の拡大率を所定の範囲内に収めるための条件である。Gの値は許容できる縦方向の拡大率や許容できる横線の湾曲度合いに基づいてあらかじめ決めておけばよいが、Gの値が大きくなると縦方向の拡大率は抑えられるものの横線の湾曲に対する補正の度合いが弱くなり、Gの値が小さくなると横線の湾曲に対する補正の度合いは強くなるものの縦方向の拡大率が大きくなってしまう可能性が出てくるため、0.2以上0.5以下程度の値を使用するのがよい。
【0048】
[補正テーブル生成装置20の動作]
次に、補正テーブル生成装置20の動作について図9を参照(構成は適宜図4を参照)して説明する。
【0049】
図9のフローチャートに示すように、ステップS10において、補正テーブル生成装置20は、カウンタのMの値を「0」にする。
ステップS11において、補正テーブル生成装置20は、光線方向ベクトル算出処理を行う。なお、この処理については、後で詳述する(図10参照)。
【0050】
ステップS12において、抽出位置算出部24は、光線方向ベクトル(X,Y,Z)に対応する入力画像上の座標(x,y)を算出する。
ステップS13において、抽出位置登録部25は、算出した座標(x,y)をリサンプリングテーブル(補正テーブル)17の出力画像上の画素座標(u,v)に対応付けて登録する。
ステップS14において、補正テーブル生成装置20は、出力画像の全画素についてリサンプリングテーブル(補正テーブル)17への登録が完了したか否かを判定する。
【0051】
出力画像の全画素についてリサンプリングテーブル(補正テーブル)17への登録が完了した場合は(ステップS14・Yes)、補正テーブル生成装置20は、リサンプリングテーブル(補正テーブル)生成処理を終了する。
一方、出力画像の画素のうちリサンプリングテーブル(補正テーブル)17への登録が完了していない画素がある場合は(ステップS14・No)、補正テーブル生成装置20は、カウンタのMの値に「1」を加える(ステップS15)。その後、ステップS11に戻って処理を続ける。
なお、出力画像の全画素に対してリサンプリングテーブル(補正テーブル)17への登録が完了したか否かは、カウンタのMの値と出力画像の画素数とを比較することによって判定すればよい。
【0052】
[光線方向ベクトル算出処理]
次に、ステップS11(図9参照)の光線方向ベクトル算出処理ついて図10を参照して説明する。
図10のフローチャートに示すように、ステップS111において、経度緯度算出部21は、出力画像のM番目の画素の座標(u,v)に対応する経度緯度(λ、Φ)を算出する。
ステップS112において、補正緯度算出部22は、補正緯度算出処理を行う。
ステップS113において、光線方向算出部23は、経度緯度算出部21が算出した経度λと、補正緯度算出部22が算出した補正緯度φとに基づいて、光線方向ベクトル(X,Y,Z)を算出する。その後、光線方向ベクトル算出処理を終了する。
【0053】
以上の動作によって、特定の領域付近で横方向の直線が急激に湾曲するという現象を抑えつつ、補正後の画像において縦方向または横方向の直線として表されるべき直線群の湾曲の度合いが補正前の画像に比べて低減される。
【0054】
<第2実施形態>
以下、本発明の第2実施形態について、図11および図12を参照して説明する。
[補正テーブル生成装置20Aの構成]
図11に示すように、補正テーブル生成装置20Aは、第1実施形態の補正テーブル生成装置20と比較して、補正緯度算出部22はないが、修正補正テーブル生成部26を備える。なお、第1実施形態の構成と同一の構成には同一の符号を付して、重複した説明は省略する。
補正テーブル生成装置20Aは、リサンプリングテーブル(補正テーブル)(図示せず)を生成する際に第1実施形態のように補正緯度を算出するのではなく、緯度を補正せずにリサンプリングテーブル(補正テーブル)(図示せず)を作成した後、そのリサンプリングテーブル(補正テーブル)の値を修正することによって修正リサンプリングテーブル(修正補正テーブル)17Aを生成することによって、第1実施形態と同様の効果を得るものである。
【0055】
修正補正テーブル生成部26は、リサンプリングテーブル(補正テーブル)を2次元座標系上において直接補正するものである。補正された修正リサンプリングテーブル(修正補正テーブル)17Aは、画像補正装置10へ送信される。具体的には、次のフローで詳述する。なお、修正リサンプリングテーブル17Aの大きさは、第1実施形態のリサンプリングテーブル17と同一のものであり、テーブル上の座標系の取り方も同一である。
【0056】
[補正テーブル生成装置20Aの動作]
次に、補正テーブル生成装置20Aの動作について図12を参照(構成は適宜図11を参照)して説明する。
図12のフローチャートに示すように、ステップS20において、補正テーブル生成装置20Aは、補正緯度算出処理を行わないリサンプリングテーブル生成処理を行う。すなわち、図9および図10で説明した処理を、ステップS112(補正緯度算出処理)を除いて行う。(3)式の補正緯度φには、補正前の緯度Φを用いる。
なお、このようにして生成したリサンプリングテーブル(補正テーブル)を、画像補正装置10の補正テーブル記憶部15に記憶し、幾何補正部13が幾何補正処理を行った場合、出力画像上で、被写体空間における横方向の直線が大きく湾曲する結果となる(図13(c)参照)。湾曲の度合いは、「u−u」の絶対値が大きいほど大きく、また、「v−v」の絶対値が大きいほど大きい。この湾曲の度合いが低減するように、以降の処理を行う。
【0057】
ステップS21において、補正テーブル生成装置20Aは、カウンタのMの値を「0」にする。
ステップS22において、修正補正テーブル生成部26は、出力画像のM番目の画素の座標(u,v)に対応する補正量Δvを算出する。u座標がuから離れるほど被写体空間中の横方向の直線が「v=v」の直線に近付いてくる現象を改善するのが目的であるため、Δvの絶対値は「u−u」の絶対値が大きいほど大きく、かつ、「v−v」の絶対値が大きいほど大きく、Δvの正負は「v−v」が正であれば負、負であれば正となるように定める。具体的には、例えば、Δvを次の(5)式を用いて算出する。βの取り得る範囲は「0<β<1」であるが、本実施形態では、横線の湾曲に対する補正の度合いと縦方向の拡大率とのトレードオフから、「β=0.44」を選択した。
【0058】
【数5】

【0059】
ステップS23において、修正補正テーブル生成部26は、ステップS20で生成されたリサンプリングテーブル(補正テーブル)を参照して座標(u,v+Δv)に対応する入力画像上の座標(x,y)を算出する。このとき、uは整数であり、v+Δvは必ずしも整数ではないが、vに関して線形補間等の従来の補間方法を用いて算出できる。例えば、v+Δvを切り上げて求めた整数v1とv+Δvを切り下げて求めた整数v2において、リサンプリングテーブル(補正テーブル)の(u,v1)、(u,v2)にそれぞれ対応する(x,y)の値を参照し、xおよびyについて各々線形補間すればよい。
【0060】
ステップS24において、修正補正テーブル生成部26は、ステップS23で算出した座標(u,v+Δv)に対応する入力画像上の座標(x,y)を修正リサンプリングテーブル(修正補正テーブル)の出力画像上の画素座標(u,v)に対応する位置に登録する。
ステップS25およびステップS26は、図9のステップS14およびステップS15と同様のため、説明を省略する。
【0061】
以上の動作によって、光線方向ベクトルの算出前に緯度補正を行うのではなく、一旦生成したリサンプリングテーブルを修正することによっても、光線方向ベクトルの算出前に緯度補正を行う場合と同様の効果を得ることができる。
【0062】
<変形例>
以上、本発明の実施形態について説明したが、本発明はこれに限定されず、本発明の趣旨を逸脱しない範囲で、例えば次のように変更することができる。
【0063】
例えば、画像生成装置30は、例示したものに限るものではなく、広角レンズを備えたデジタルカメラ、等距離射影方式を始めとする各種の射影方式で設計された魚眼レンズを備えたデジタルカメラ、広角レンズや魚眼レンズを備えたビデオカメラ、それらの機器によって撮影された映像を記憶した記憶媒体を再生する映像再生機器等、種々変更が可能である。入力画像の射影方式が変更される場合、(4)式を、入力画像の射影方式に適した式に変更すればよく、そのような変更は容易である。
【0064】
また、画像出力部14に接続する装置は、画像表示装置40に限るものではなく、例えば、補正された画像を記憶する記憶装置や、補正された画像を別のシステムに転送する伝送装置を接続する等、本発明を適用する用途に応じて種々変更することができる。
【0065】
また、カウンタのNの値から画素座標(u,v)を算出する方法については、ラスタースキャンの順序で画素が参照されるようにするため、Nの値を出力画像のu軸方向の画素数で割った商をv、余りをuとして算出したが、出力画像の画素の参照順序はこれに限るものではない。
【0066】
また、補正テーブル17はリサンプリングテーブルに限るものではない。例えば、画像補正装置10の構成を、幾何補正部13が出力画像上の画素座標(u,v)に対応する入力画像上の座標(x,y)をその都度計算しながら補正を行うような構成とする場合には、入力画像に関するパラメータ及び出力画像に関するパラメータを補正テーブル17として補正テーブル記憶部15に記憶しておけばよい。その場合、補正テーブル17としてリサンプリングテーブルを使用する場合に比べて、補正テーブル記憶部15の記憶容量も少なくてすむ。
なお、そのような構成とした場合、幾何補正部13は、出力画像上の画素座標に対応する入力画像上の座標を求める方法として、図9および図10に示すフローをそのまま実行するように構成してもよいし(ただし算出した座標(x,y)をリサンプリングテーブルへ登録する(ステップS13)必要はなく、算出した座標(x,y)に基づいて即座に出力画像の画素値を決定すればよい)、あるいは、出力画像上の画素座標(u,v)から、該座標に対応する入力画像上の座標(x,y)を直接算出できるような合成関数を予め作成しておき、該合成関数を用いるような構成としてもよい。また、補正テーブル更新部16がキーボード等のデータ入力装置を備える構成として、出力画像に関するパラメータをユーザが変更できるようにしてもよい。
【0067】
また、本発明の実施形態の説明では、魚眼画像の縦横方向と出力画像の縦横方向とを一致させる例において説明を行ったが、本発明の実施形態はこれに限るものではない。例えば、3軸加速度センサを備えた魚眼カメラを用いる場合、このカメラから得られた被写体空間中の重力方向の情報を基に、重力方向が出力画像の縦方向に一致するようなリサンプリングテーブルを生成するようにしてもよい。具体的には、魚眼画像と地表面との対応付けを行う際に、従来技術によって座標系の向きを回転させるだけでよく、そのような変更は容易である。
【0068】
また、本発明の実施形態の説明では、非投射円筒図法の一つであるメルカトル図法を用いて経度緯度の算出を実施したが、本発明の実施形態はこれに限るものではなく、利用したい特性に応じて、ミラー図法等、メルカトル図法以外の円筒図法、特に、非投射円筒図法を利用してもよい。本発明においては、経度0度付近では緯度の補正量が僅かとなるため、経度緯度の算出に用いる非投射円筒図法の特徴を享受することができる。なお、利用できる非投射円筒図法は、特に固有の名称が付いた図法に限るものではなく、例えば所与の定数「κ」を用いて(6)式のように経度と緯度の組(λ,Φ)を算出するもの等、様々なものが利用可能である。
【0069】
【数6】

【0070】
また、ステップS111の後、補正緯度算出処理(ステップS112)を実施する前に、出力画像の中央付近における経度の密度が周辺部に対して密になるように、経度を補正する処理を実施するようにしてもよい。すなわち、経度と緯度の組(λ,Φ)を算出した後、出力画像の中央付近における経度の密度が周辺部に対して密になるように、経度をλ’と補正し、あらためて補正後の経度と緯度の組(λ’,Φ)に対して補正緯度算出処理を実施して補正後の経度と補正後の緯度の組(λ',φ)を算出し、(λ',φ)に対して光線方向ベクトル(X,Y,Z)を算出するようにする。このようにすることにより、湾曲の度合いを、より画像全域に分散させることができる。
【0071】
また、出力画像で表現する経度の範囲は、−90度から90度の範囲に限るものではない。出力画像で表現する経度の範囲を変更する場合には、(1)式で、Ψの値を所望の値に変更すればよい。
【0072】
また、画像入力部11で読み込んだ入力画像の各画素の画素値は、基準色(R,G,B)毎に「0」から「255」までの256通り(=8ビット)の整数値のうちの一つの値を取るような、デジタル化した値であるとしたが、本発明の実施形態はこれに限るものではない。例えば、各基準色で表現できる階調を「0」から「1023」までの1024通り(10ビット)に増やす等の変更をしてもよい。当該変更によって入力画像で表現できる階調と出力画像で表現できる階調との間に差異が生じる場合であっても、従来技術で容易に対処可能である。また、例えば基準色として(R,G,B,C(シアン),Y(イエロー))の5色を用いるような、多原色への対応も、従来技術を利用することで容易に実施できる。
【0073】
また、補正テーブル記憶部15は、SDメモリーカード等、画像補正装置10から着脱可能な記憶媒体を用いることで実施してもよい。その場合、補正テーブル生成装置20がSDメモリーカードライタ等を備え、補正テーブル生成装置20で生成したリサンプリングテーブル(補正テーブル)17を前記SDメモリーカードライタを介して補正テーブル記憶部15に登録するような構成とすることで、画像補正装置10が補正テーブル更新部16を備える必要がなくなるため、リサンプリングテーブル(補正テーブル)17の更新頻度が低い場合に好適である。
【符号の説明】
【0074】
10 画像補正装置
11 画像入力部
12 画像記憶部
13 幾何補正部
14 画像出力部
15 補正テーブル記憶部
16 補正テーブル更新部
17 補正テーブル
20 補正テーブル生成装置
20A 補正テーブル生成装置
21 経度緯度算出部
22 補正緯度算出部
23 光線方向算出部
24 抽出位置算出部
25 抽出位置登録部
26 修正補正テーブル生成部
30 画像生成装置
40 画像表示装置

【特許請求の範囲】
【請求項1】
入力画像を幾何補正して補正画像を生成するために用いる補正テーブルを生成する補正テーブル生成装置であって、
前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出する経度緯度算出部と、
前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出する補正緯度算出部と、
前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出する光線方向算出部と、
前記光線方向に対応する前記入力画像上の位置を抽出位置として算出する抽出位置算出部と、
前記抽出位置を前記出力画像の画素位置に対応付けて前記補正テーブルに登録する抽出位置登録部と、
を備えることを特徴とする補正テーブル生成装置。
【請求項2】
入力画像を幾何補正して補正画像を生成するために用いる補正テーブルを生成する補正テーブル生成装置であって、
前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出する経度緯度算出部と、
前記経度および前記緯度に対応する被写体空間中の光線方向を算出する光線方向算出部と、
前記光線方向に対応する前記入力画像上の位置を抽出位置として算出する抽出位置算出部と、
前記抽出位置を前記出力画像の画素位置に対応付けて前記補正テーブルに登録する抽出位置登録部と、
前記抽出位置登録部から入力された前記補正テーブルの値を補正する修正補正テーブル生成部と、
を備えることを特徴とする補正テーブル生成装置。
【請求項3】
前記経度緯度算出部は、地図投影法における円筒図法に基づいて、前記経度および前記緯度を算出する
ことを特徴とする請求項1または請求項2に記載の補正テーブル生成装置。
【請求項4】
前記経度緯度算出部は、地図投影法におけるメルカトル図法に基づいて、前記経度および前記緯度を算出する
ことを特徴とする請求項1または請求項2に記載の補正テーブル生成装置。
【請求項5】
前記補正緯度算出部は、前記経度がλであり前記緯度がΦである場合に、関数f(λ)を用いて前記補正緯度φを、
【数1】

に従って算出し、
前記関数f(λ)は、補正に使用される前記経度λの定義域のうち絶対値が0以上(π/2)以下の領域に対して、
【数2】

とされている
ことを特徴とする請求項1に記載の補正テーブル生成装置。
【請求項6】
前記補正緯度算出部は、前記経度がλであり前記緯度がΦである場合に、関数f(λ)を用いて前記補正緯度φを、
【数3】

に従って算出し、
前記関数f(λ)は、補正に使用される前記経度λの定義域の内部における最小値が、所定の値以上とされている
ことを特徴とする請求項1に記載の補正テーブル生成装置。
【請求項7】
入力画像を幾何補正して補正画像を生成する画像補正装置であって、
前記補正画像上の縦線は等経度線と成されており、
基準となる経度に対応する前記補正画像上の縦線上の緯度の目盛りは、地図投影法における非投射円筒図法の一つと同様に成されており、
被写体空間中で前記基準となる経度に対応する等経度面と等緯度面との両方に垂直な平面と、等緯度面に平行な平面との交線として定義される、横方向の直線である被写体直線と、前記基準となる経度に対応する等経度面と前記被写体直線との交点の緯度φに関して、
前記補正画像上の前記被写体直線の像が、前記補正画像上の前記非投射円筒図法による前記被写体直線の像よりも、緯度φの等緯度線に対応する前記補正画像上の直線に近くなるように成されている
ことを特徴とする画像補正装置。
【請求項8】
入力画像を幾何補正して補正画像を生成する画像補正装置であって、
前記入力画像を入力する画像入力部と、
前記入力画像を記憶する画像記憶部と、
前記入力画像を幾何補正するために用いる補正テーブルを記憶する補正テーブル記憶部と、
前記画像記憶部に記憶された前記入力画像を前記補正テーブルに基づいて幾何補正する幾何補正部と、
前記幾何補正部により補正された前記入力画像を前記補正画像として出力する画像出力部と、
を備え、
前記補正テーブルは、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けていることにより生成されたものである
ことを特徴とする画像補正装置。
【請求項9】
入力画像を幾何補正して補正画像を生成する画像補正装置であって、
前記入力画像を入力する画像入力部と、
前記入力画像を記憶する画像記憶部と、
前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けることにより、前記画像記憶部に記憶された前記入力画像を幾何補正する幾何補正部と、
前記幾何補正部により補正された前記入力画像を前記補正画像として出力する画像出力部と、
を備えることを特徴とする画像補正装置。
【請求項10】
入力画像を幾何補正して補正画像を生成するために用いる補正テーブルを生成する補正テーブル生成方法であって、
前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出する経度緯度算出ステップと、
前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出する補正緯度算出ステップと、
前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出する光線方向算出ステップと、
前記光線方向に対応する前記入力画像上の位置を抽出位置として算出する抽出位置算出ステップと、
前記抽出位置を前記出力画像の画素位置に対応付けて前記補正テーブルに登録する抽出位置登録ステップと、
を含むことを特徴とする補正テーブル生成方法。
【請求項11】
入力画像を幾何補正して補正画像を生成する補正画像生成方法であって、
前記入力画像を入力する画像入力ステップと、
前記入力画像を記憶する画像記憶ステップと、
前記入力画像を幾何補正するために用いる補正テーブルを記憶する補正テーブル記憶ステップと、
前記画像記憶ステップにより記憶された前記入力画像を前記補正テーブルに基づいて幾何補正する幾何補正ステップと、
前記幾何補正ステップにより補正された前記入力画像を前記補正画像として出力する画像出力ステップと、
を含み、
前記補正テーブルは、前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けていることにより生成されたものである
ことを特徴とする補正画像生成方法。
【請求項12】
入力画像を幾何補正して補正画像を生成する補正画像生成方法であって、
前記入力画像を入力する画像入力ステップと、
前記入力画像を記憶する画像記憶ステップと、
前記補正画像となる出力画像上の各画素位置に対応する経度および緯度を算出し、前記経度および前記緯度に基づいて、前記緯度を補正した補正緯度を算出し、前記経度および前記補正緯度に対応する被写体空間中の光線方向を算出し、前記光線方向に対応する前記入力画像上の位置を抽出位置として算出し、前記抽出位置を前記出力画像の画素位置に対応付けることにより、前記画像記憶ステップにより記憶された前記入力画像を幾何補正する幾何補正ステップと、
前記幾何補正ステップにより補正された前記入力画像を前記補正画像として出力する画像出力ステップと、
を含むことを特徴とする補正画像生成方法。
【請求項13】
請求項10に記載の方法を実行するための補正テーブル生成プログラム。
【請求項14】
請求項11または請求項12に記載の方法を実行するための補正画像生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−53601(P2012−53601A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−194771(P2010−194771)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000233295)日立情報通信エンジニアリング株式会社 (195)
【Fターム(参考)】