JP5715793B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP5715793B2 JP5715793B2 JP2010228228A JP2010228228A JP5715793B2 JP 5715793 B2 JP5715793 B2 JP 5715793B2 JP 2010228228 A JP2010228228 A JP 2010228228A JP 2010228228 A JP2010228228 A JP 2010228228A JP 5715793 B2 JP5715793 B2 JP 5715793B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- grid
- camera
- lut
- viewpoint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 84
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000012937 correction Methods 0.000 claims description 124
- 238000006243 chemical reaction Methods 0.000 claims description 25
- 238000003384 imaging method Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 description 68
- 238000004364 calculation method Methods 0.000 description 40
- 230000014509 gene expression Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000003169 complementation method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Studio Devices (AREA)
Description
Y = (D・x + E・y + F) / (G・x + H・y + 1)
導き出された上記の式により、例えばAijの座標はx方向にi番目(i=1〜n)、y方向にj番目(i=1〜m)とすると、(x, y)は、図6(b)のようにA1(0,0)、A2(1,0)、A3(0,1)、A4(1,1)とした場合、下記の式になる。
y=j/m−1/(2・m)
上記(x, y)を座標変換式に代入し、変換前の座標(X,Y)が求まるので、その値がどこの座標に一番近いかを、整数になるように四捨五入して計算し求める。
2.次に図7(b)で示すように、格子線1に直交する格子線2を見つける。例えば、線方向に対して直角方向(両方)に少しずらし(1)、その位置から線方向に対して少し手前から輝度分布を取得しながら少し線方向に進む(2)。輝度分布に谷ができれば、そこを格子線2と決定する。輝度分布に谷がなければ、線方向に進んだ位置から線方向に向かって直交方向の輝度分布を取得する(3)。輝度分布に谷ができていれば、谷の真ん中を格子線1上の点と仮決定する(4)。格子線がカーブしていることを考慮し、仮決定した点と一つ前の格子点より線方向を更新する(5)。それを繰り返していき格子線2を見つける(6)(7)。
線方向の両隣を確認する理由は、交差する格子線との角度差があまりない場合、片方は進行する直線と同じに見える可能性があり、もう片方は進行する直線とは同じに見えないためである。また、少し手前から確認する理由は、線が曲がっているため少しずつ線方向を補正しながら確認することになるが、進行する線方向を更新した場合、角度が変わるので交差する格子線の確認の隙間ができるのを防ぐためである。
3.次に図7(c)で示すように、格子線1上のn点(例えば4点)を見つける。この場合、格子線2との交点(格子点)を跨いで見つける。格子点を跨がなくてもよいが、跨いだ方が精度がよくなる。
4.また図7(c)で示すように、別の交差する格子線2より、m点(例えば4点)を検出する。
5.格子点と思われる位置から一番近い2点による直線の式(y=ax+b)を、それぞれの格子線より導き出す。
6.2つの式により交わる点を特定する(誤差の大きい格子点)。
7.次に図7(d)で示すように、交わった点が(0,0)になるようにすべての座標をずらす。
8.格子線1(2でもよい)の2点が真横になるようにすべての座標を(0,0)中心でθ回転させる。回転させる理由は、y=(xのn-1次式)とx=(yのm-1次式)にして計算させるためである。例えば、線が(-1,-1),(0,0),(1,-1)となっていた場合y=-x^2と表せるが、x=(yのn次式)とは表せない。そのためxかyは一方の方向に進む必要がある。
式は例えば次のようになる。
θ=atan2(y1-y0,x1-x0) ((x0,y0)と(x1,y1)の直線の真横に対する角度)
X=x・cos(θ)+y・sin(θ)
Y=−x・sin (θ)+y・cos (θ)
9.格子線1のn個の座標より連立方程式を作成し、加減法を用いて解いて、y=(xのn-1次式)を作成する。n=4の場合、
y=a1・x^3+b1・x^2+c1・x+d1となる。
10.格子線2のm個の座標よりx=yのm-1次式を作成する。m=4の場合、x=a2・y^3+b2・y^2+c2・y+d2となる。
11.それぞれの式をf1(x,y)=0,f2(x,y)=0とし、初期値を(0,0)として非連立方程式(ニュートン法)を用いて解く。
12.次に(e)で示すように導き出された解を回転した角度分逆回転させる。
13.ずらした位置分、元に戻す。それが解になる。
[格子点よりn次式で画像引き伸ばす]次に検出された格子点をもとに画像を補正するが、近くの4頂点と隣接する頂点でn次式の計算式を縦2つ横2つ作り出す。そのときn次の計算式を導き出すのにn+1個の格子点が必要になる。
だが、この計算式ではn次式が大きく曲がっていた場合、導き出したい座標がずれる。例えば図9のように4つの格子点のちょうど中間を導き出す場合を想定する。図9は、真上から見た画像(左上)を、真横から見た状態(右上)と真下から見た状態(左下)を示している。
(=d0:(1−d0))
また、x=1上では下記のようになる。
(=d1:(1−d1))
格子内では上記のそれぞれの計算式を横での比率のaを使用するが、同様に
a:(1−a)とはならない。上記の計算式と同様に、横の比はy=0上では下記のようになる。
(=c0:(1-c0))
また、y=1上では下記のようになる。
(=c1:(1−c1))
それぞれの格子線上での比率を、それぞれ式にも示した通りc0,c1,d0,d1とする。c0,c1,d0,d1は上記の式より導き出しておく。また導きだしたい頂点での比率をC(横の比),D(縦の比)とする。図に示すと図10のようになる。
(頂点)=(1−C)・g0(b)+C・g1(b)
=(1−D)・f0(a)+D・f1(a)
のように、2つの計算式で得られる。また、CとDは、
C=(1−D)・c0+D・c1
D=(1−C)・d0+C・d1
となり、Cの式をDの式に代入して、
D=(1−((1−D)・c0+D・c1))・d0+((1−D)・c0+D・c1)・d1、
D=(d0+c0・(d1−d0))/(1−(c0−c1)・(d1−d0))
となる。c0,c1,d0,d1は計算できているので、その値でDを計算し、そのDを頂点の式に代入し頂点を導き出す。また、Cの式を導き出し、Cを頂点の式に代入して頂点を導き出してもよい。また、それぞれ頂点の平均を頂点としてもよい。
+((f0(a)−f0(1))・(1−b)+(f1(a)−f1(1))・b+g1(b))・a
他の方法として、特許文献2のように計算する方法がある。この方法を図11にて簡単に説明する。図11で示すように、f0(x)のさらに−y側にf−1(x)、f1(x)のさらに+y側にf2(x)のn次式の曲線を格子点より作成しておく。その式を用いて導き出したい座標を求める。
f0(0)−f0(1))・(f1(0)−f1(1))<0の場合には、2つの頂点の間で最大や最小になる場合に補正が正しく行われないことがある。
Y=(D・x + E・y + F)/(G・x + H・y + 1)
[格子線による格子点位置の予想]次に、表示範囲のすべてを補正できるように、表示範囲外の格子点を予測する。正しく予測するためには、表示範囲の境界付近の画像の歪みの複雑さに対して細かい方眼である必要がある。まず、格子点から線が伸びていて、その先に格子点が特定できていない場合を説明する。
2.x,yの座標から読み取った輝度情報を格納したTable(画像)も用意する。黒い領域は表示範囲外であり、点線部は歪のある領域であり、斜線部は隣接する格子点の両隣りに格子点が無く誤差の大きい領域である。
3.予想の格子点の右隣と下隣に予想ではない格子点がある場合、予想ではない格子点から伸びている2つの格子線の先端が真横・真縦に伸びるようにする。処理方法として、格子線の先端とその先端元となる格子点が作る直線を、右側と下側で両方作り出す。その直線の交わる位置の座標を予想の格子点位置の座標として上書きし、その値を使って再度歪補正を行う。それを繰り返して、真横・真縦になるように補正する。右か下のどちらかの格子点から線が延びていない場合は、そちら側はずれていないと仮定して処理させる。
4.予想の格子点の右隣に予想ではない格子点があり、さらに右隣に予想ではない格子点がある場合、予想ではない格子点同士からなる線分が直線か判定する。例えば、中間の座標の縦の位置がずれていないか確認する。確認してずれている場合は、予想の格子点が線分のずれ方向に対して逆側にずれているからである。そのため、線分が直線になるように、予想の格子点から線分のずれに対して逆側に何倍か(2倍とか)ずらした位置の座標を、予想の格子点位置の座標として上書きし、その値を使って再度歪補正を行う。それを繰り返して、真横になるように補正する。下側も同様に補正する。
5.上記のように右側の線分を直線にした場合、予想ではない格子点から予想した格子点へ伸びる線が、真横に伸びないことがある。これは、予想した格子点の左側の予想した格子点がずれているためである。そのため、予想ではない格子点から予想した格子点へ伸びる線が、縦にずれた方向に対して逆方向に数倍(3倍とか)、予想ではない格子点の左側の予想ではない格子点の座標からずらした位置の座標を、予想ではない格子点の左側の予想ではない格子点の座標として上書きし、その値を使って再度歪補正を行う。そのとき、左や上の位置から座標を取得するときは、選択できる座標に余裕を持たせるために、その左か上の隣の予想の格子点もずらした位置の座標を取得して補正させる。それを繰り返して、真横になるように歪補正をする。下側も同様に補正する。
x’=x、
y’=y・cos(α)+z・sin(α)、
z’=−y・sin(α) +z・cos(α)
y軸中心回転
x’=x・cos(β)+z・sin(β)、
y’=y、
z’=−x・sin(β)+z・cos(β)
z軸中心回転
x’=x・cos(γ)+y・sin(γ)、
y’=−x・sin(γ)+y・cos(γ)、
z’=z
[正面のルックアップテーブル(LUT)の向き補正]正面のLUTは、z=0の面にし、+z方向を向かせて配置する。LUTの座標などにより、正面のLUTの面の向きがずれているとわかっているなら、向きを補正してz=0の面にカメラの座標を展開しておいてもよい。例えば、図20のように、誤差のない魚眼レンズのカメラを想定した場合、LUTの中心が決まっていて、中心に対する上下左右の座標のずれも決まっている。
Y=(D・x + E・y + F) / (G・x + H・y + 1)
とすることにより、正面のLUTがカメラに対して真正面として使用できる。
2.別向きのLUT(z=0の面としておく)での、同じ座標となる3点(NA,NB,NC)と1点(ND)の位置を特定する。
3.正面のLUTの直線に並んだ3点の中心の点(MA)が(0,0,0)となるように平行移動させる。
4.正面のLUTのMBが真上、MCが真下(逆でもよい)になるようにz軸回転させる。
5.別向きのLUTの特定した3点の中心を(0,0,0)となるように平行移動させる。
6.別向きのLUTの3点が正面のLUTと同じ縦列(上が上、下が下)になるようにz軸回転させる。
7.別向きのLUTの4点を、φ分y軸回転させ、α分x軸回転させ、β分y軸回転させ、座標をT倍させる。
8.視点からの正面のLUTでの4点と、別向きのLUTの4点が一致して見える。つまり、正面のLUTでの位置を補正した点をM(mx,my,mz)、別向きのLUTで位置と向きと拡大率を補正した点をN(nx,ny,nz)とし、視点をV(vx,vy,vz)とすると、
(mx−vx)/(mz−vz)=(nx−vx)/(nz−vz)…(1)
(my−vy)/(mz−vz)=(ny−vy)/(nz−vz)…(2)
が成り立つことになる。
nx=T・(px・cos(φ)・cos(β)−py・sin(α)・sin(β)−px・sin(φ)・cos(α)−sin(β))
ny=T・(py・cos(α)−px・sin(φ)・sin(α))
nz=T・(−px・cos(φ)・sin(β)−py・sin(α)・cos(β)−px・sin(φ)・cos(α)・cos(β))
また、縦列の上下2点はpx = 0であるため下記のようになる。
ny = T・(py・cos(α))
nz = T・(−py・sin(α)・cos(β))
2.(1)式に上記の式を代入すると分かるが、βは視点位置から(0,0,0)へのzに対するxの角度であるため、下記のようになる。
β=atan2(vx, vz)、(atan2(a,b)は−π〜+πのbに対するaのタンジェントを返す式)。
3.縦列の上下の2点を(2)式に代入し、T・sin(α)とT・cos(α)の連立方程式を解き、αとTを求める。
4.縦列上の点ではない点を(2)式に代入し、決定されたパラメータを代入し、A0・sin(φ) +A1・cos(φ)+A2=0の式を作成する。
5.三角関数の合成公式によりφを導き出す。ただし、この頂点は縦の3点に対して同じ方向にあるため、φは−π/2より大きくπ/2より小さい必要がある。また、φは2つ解が得られるが、LUTの配置上0度に近い値となるため0に近い値の方を選ぶ。三角関数の合成公式は下記のとおりである。
a・sin(θ)+b・cos(θ)=sqrt(a・a+b・b)・sin(θ+θ0)、
ただし、cos(θ0)=a/sqrt(a・a+b・b)、sin(θ0)=b/sqrt(a・a+b・b)
a・sin(θ)+b・cos(θ)=sqrt(a・a+b・b)・cos(θ−θ1)
ただし、sin(θ1)=a/sqrt(a・a+b・b)、cos(θ1)=b/sqrt(a・a+b・b)
以上により、別のLUTの位置と向きと拡大率(視点からの(0,0,0)に対する奥行き)が特定される。
2.MAの真横に等距離にMD(−b,0,0),ME(b,0,0)を配置する。
3.正面に設定したそれぞれの頂点(MA,MB,MC,MD,ME)と同じとなる座標が、右のLUTでどこの位置になるか導き出す(NA,NB,NC,ND,NE)。このときNAは、NBとNCからなる直線と、NDとNEからなる直線の交点としてもよい。
4.NAが(0,0,0)、NBが真上(0,負の数,0)となるように右のLUTを移動、回転する。
5.図26のようにそれぞれの座標位置を導き出す。
NBとNEからなる直線と、NCとNDからなる直線との交点OAの位置を導き出す。NBとNDからなる直線と、NCとNEからなる直線との交点OBの位置を導き出す。OAとOBからなる直線と、NBとNCからなる直線との交点OCの位置を導き出す。OAとOBからなる直線と、NDとNEからなる直線との交点ODの位置を導き出す。
6.誤差最小と同様な回転、倍率変更を下記のように処理方法を用意する。座標をP(px,py,pz)とする。その座標をφ分y軸回転させ、α分x軸回転させ、β分y軸回転させ、座標をT倍させて下記のような式を作成する(pz=0)。
ny=T・(py・cos(α)−px・sin(φ)・sin(α))
nz =T・(-px・cos(φ)・sin(β)−py・sin(α)・cos(β)−px・sin(φ)・cos(α)・cos(β))
また、縦列の上下2点はpx=0であるため下記のようになる。
nx=T・(−py・sin(α)・sin(β))、
ny=T・(py・cos(α))、
nz=T・(−py・sin(α)・cos(β))
7.上記のような回転倍率変更処理をしたOCのx座標が視点のx座標となり、同様の処理をしたODのy座標が視点のy座標となる。正面のLUTではMBとMEからなる直線と、MCとMDからなる直線は平行であるため、その2直線の交点は存在しない。だが、面の向きが違う右のLUTでは平行とならず1点に収束する。それが無限遠点となり、視点の位置になる。OCの座標を(0,OCy,0),ODの座標を(ODx, ODy,0)とすると、視点V(vx,vy,vz)は、
vx=T・(−OCy・sin(α)・sin(β))、
vy=T・(ODy・cos(α)−ODx・sin(φ)・sin(α))、
vz=T・(−Cy・sin(α)・cos(β))
となる。
8.視点からのy座標が同じに見えるため、
(my−vy)/(mz−vz)=(ny−vy)/(nz−vz)より、
ny, nz, vy, vzを代入して、NBとNCが該当するようにpx=0とすると下記の式が得られる。
NB(MB)とNC(MC)の座標を代入し、T・cos(α)とT・sin(φ)・sin(α)の連立方程式を解く。得られた解によりvyが導き出される。
9.上記のやり方ではMA,MB,MCがNA,NB,NCと視点から同じ位置に見え、NBとNCからなる直線を軸とした回転がある状態であった。次に、vxを導き出すためにMA,MD,MEがNA,ND,NEと視点から同じ位置に見え、NDとNEからなる直線を軸とした回転がある状態にする。つまりy軸とx軸を入れ替えた処理をする。
3までの処理を行った後、NDが真左(負の数,0,0)になるように右のLUTを移動、回転する。次に5と同様にOA,OB,OC,ODを導き出す。次に上記の方法とはx軸回転とy軸回転が逆になるが、座標をφ’分x軸回転させ、α’分y軸回転させ、β’分x軸回転させ、座標をT’倍させる。その式より、vyを導き出した方法と同様に処理をしてvxを導き出す。
10.次に視点のz座標(vz)を導き出すために、前述した誤差が最小となる方法を用いる。
上記の計算は無限遠点の値が小さくなるように、正面のLUTをある位置を基準に回転や移動をしておいてもよい。その場合、正面のLUTを元の状態で使用する場合には、導き出された視点は、回転させた分や移動させた分を逆に回転、移動する必要がある。
また、複数のLUTから視点を複数導き出し、平均などして視点を決定してもよい。また、複数の座標を設定してそれらの誤差の合計により視点を特定してもよい。また最小2乗法や特異値分解法などを用いてもよい。
Y=(D・x+E・y+F)/(G・x+H・y+1)
そうした場合、正六面体のそれぞれの面に貼り付けた変換後のLUTに対しては、それぞれの面に対する視点位置は特定されることになる。
Y=(D・x+E・y+F)/(G・x+H・y+1)
または、図29に示すように、視点から正六面体の右面を通り正面のLUTの面に到達したところにある座標を求める。その座標に対する右のLUTの座標の位置を特定する。それを4座標分行い、正六面体の右面を通った位置になるように上記の変換式を導き出し、その座標に入っているカメラの座標を展開させる。このとき、正六面体の面より広く展開しておく。このとき面のつなぎ目が極力同じになるように正面のLUT上の4つの頂点は、正六面体の正面の右上角SA(a,−a,−a)、正六面体の正面の右下角SB(a, a,−a)、上のLUTと右のLUTのつなぎ目(b,−b,−a)、下のLUTと右のLUTのつなぎ目(c, c, −a)を選んでもよい。このとき、aは視点から正面のLUTまでの距離、b>a、c>aとする。
2.中間値を作成したら、それぞれの方向の面のLUTごとに処理を行う。
3.図30(b)のように下のLUTを例にして説明する。まず、e0のデータを作成することを考える。ちなみにa0とd5は同じ値である。画素A0でのずれ量は中間値との差分である(a0−A0)である。
4.A0付近の誤差補正基準となる画素の、補正する位置からの位置ずらし量(x, y)を特定する。基準の画素とするのは、A0付近(画素の位置をずらす大きさを決めておく)でx座標, y座標ともに一番画素ずれの大きい位置 (x座標、y座標の小さいほうのずれが一番大きい方向)を複数確認して決定する。このとき、あまりA0に対して遠い位置で基準位置を決定すると、基準位置が存在しないことがあり、逆に、あまりA0に対して近すぎると、座標のずれが小さすぎて計算誤差によって補正できないので注意する。
また、より正しい予測ではない画素を使用するために、正面のLUT寄りを基準位置として探してもよい。複数の画素で基準の画素を確認する理由は、中間値がずれていても、計算に使用する基準の画素の座標がずれていないと、補正誤差が大きくなるためである。ちなみに、LUTは六面体の面より広く存在しているため、つなぎ目より外側の画素も検索範囲となる。
5.誤差補正基準の画素の値に対して、ずれの割合を計算する。基準の画素をA2とした場合、基準の画素の方向は(+2,0)であり、e0のずれの割合は、
(a0−A0)/(A2−A0)となる。
6.中間値があるところに関して、誤差補正基準の画素の補正する位置からの位置ずらし量(x, y)と、ずれの割合を計算する。
7.中間値がないところでは、同じ辺上の一番近い場所の、誤差補正基準の画素の補正する位置からの位置ずらし量(x, y)をずれの割合とする。
8.同じ辺に中間値がない場合には、面の反対側の辺(線対称)の値、もしくはずれの割合を0とする。
9.面の反対側に値が入っていない場合には、ずれの割合を0とする。
10.補正させるために必要な、誤差補正基準の画素の補正する位置からの位置ずらし量(x, y)と、ずれの割合が決定されたので、線形補完で補正量の計算を行う。(0,0)をLUTの左上(A0の位置)とし、補正したい画素位置を(X, Y) (図30(b)では(2, 3))とし、そのデータを(Ix(X,Y),(Iy(X,Y))とする。画素の横幅をw, 縦幅をh(図30(b)ではともに6)とする。そうした場合、補正量は
補正量(x)=erx・(Ix(X+edx,Y+edy)−Ix(X,Y))・((h−1)−Y)/(h−1)
+frx・(Ix(X+fdx,Y+fdy)−Ix(X,Y))・(X)/(w−1)
+grx・(Ix(X+gdx,Y+gdy)−Ix(X,Y))・(Y)/(h−1)
+hrx・(Ix(X+hdx,Y+hdy)−Ix(X,Y))・((w−1)−X)/(w−1)
補正量(y)=ery・(Iy(X+edx,Y+edy)−Iy(X,Y))・((h−1)−Y)/(h−1)
+fry・(Iy(X+fdx,Y+fdy)−Iy(X,Y))・(X)/(w−1)
+gry・(Iy(X+gdx,Y+gdy)−Iy(X,Y))・(Y)/(h−1)
+hry・(Iy(X+hdx,Y+hdy)−Iy(X,Y))・((w−1)−X)/(w−1)
となる。ただし、
e =−y方向の補正データ(図30(b)ではe2)
edx=eでの位置ずらし量(x)、
edy=eでの位置ずらし量(y)、
erx=eでのxのずれの割合、
ery=eでのyのずれの割合、
f=+x方向の補正データ(図30(b)ではf3)
fdx=fでの位置ずらし量(x)
fdy=fでの位置ずらし量(y)
frx=fでのxのずれの割合
fry=fでのyのずれの割合
g=+y方向の補正データ(図30(b)ではg3)
gdx=gでの位置ずらし量(x)
gdy=gでの位置ずらし量(y)
grx=gでのxのずれの割合
gry=gでのyのずれの割合
h=−x方向の補正データ(図30(b)ではh2)
hdx=hでの位置ずらし量(x)
hdy=hでの位置ずらし量(y)
hrx=hでのxのずれの割合
hry=hでのyのずれの割合
である。つなぎ目より外側(正六面体の面外)にもデータはあるので、同じ計算処理で補正量を決定する。
11.すべての画素の補正量が計算されたら、入っている値に加算する。
Y=(D・x+E・y+F)/(G・x+H・y+1)
次に実施形態の変形例について説明する。
2.図34に示すように、向きの調整結果により、固定された正六面体に、用意しておいた歪補正結果の正六面体をカメラの向きに合わせて歪補正結果を展開する。
3.2で固定された正六面体に歪補正結果が展開されたので、複雑な形状の展開先の固定された正六面体の座標が入ったLUTに、歪み補正結果を反映させる。そうすることにより、複雑な映像表示画面への座標の展開の計算を事前にしておくことが可能となるため、車両にカメラを設置し向きが特定されてからの計算量が削減される。
1.図35(a),(b)のように、RGBの成分を正面と上下と左右の3つに分割して、それぞれの向きの方眼を作成する。このとき、上下の方眼と左右の方眼はその位置に配置するのではなく、正面画像の中心が無限遠点になるように視点変換された状態で、正面画像と同じ面に配置する。
また、撮像範囲外の格子点を予測するために、撮像範囲の境界で方眼が斜めになるように方眼を45度傾けておく。また、境界の形状に合わせて、傾ける角度を決定してもよい。図35の黒丸の位置が正面から前後左右に45度の位置と決めているので、それぞれの視点変換された画像は決められた画像位置に変換される。
2.図35(c)のように、3つに分けたRGBのそれぞれの成分を一つの画像として一つにする。
3.図35(d)のように、正面から45度の位置(図35の黒丸)の正方形の部分を正六面体の正面の画像とする。
4.上下左右も同様に面を作成する。
5.作成されたそれぞれの面を正六面体に貼り付けて、正面画像、上下画像、左右画像をRGBのそれぞれの成分のみで格子線、格子点を見つけて歪補正する。
2.近い位置で方眼を配置し、歪補正をする。
3.近い位置での結果を用いて一度歪補正した状態で、遠い位置での方眼を歪補正する。ちなみに方眼が、カメラの角度に対して位置は変わらないように、遠い位置での方眼は近い位置に対して大きい方眼となる。遠い位置での歪補正の補正量は近い位置での歪補正との差分になるため、小さな補正値となる。また、遠い位置とは実際に表示されることが多い地面の位置にしてもよい。
4.下準備はできたので、別のカメラでの近い方眼での配置で歪補正する。その結果に用意しておいた遠い位置での補正値を反映させる。
2.展開する面は六面体ではなく、四面体や角度座標などの球面に展開しておいてもよい。
3.ヘッドアップディスプレイなどのように、車両のフロントガラスに映像を映し出す装置に方眼画像を表示し、運転者の視点付近に設置したカメラ(ヘッドアップディスプレイの表示履歴記録用のカメラでもよい)で歪画像を取得して、その画像より同様な歪補正を行ってもよい。
4.ディスプレイに映すときの画像は、方眼の面と同じではなく向きを変えたり、球面に展開したりして表示する。その場合にも、ディスプレイに表示する展開後の座標を正方形に区切り方眼に見立てて、その頂点を格子点として格納、また、n次式の格子線として格納してもよい。その場合、ディスプレイの外側にも格子点を用意し、表示範囲の端の補正に使用し、歪誤差を極力減らす。
5.複数の温度毎の歪補正パラメータを取得しておいて、温度によってパラメータを切り替えるようにしてもよい。また、違う面に展開しておく場合にも、温度によって複数展開しておいて、温度によって切り替えられるようにしてもよい。また温度が、用意した2つパラメータの中間の場合は、温度によって2つのパラメータの有効率を変えて使用してもよい。
6.レンズの大きさが大きいと、物体の距離によって歪み方が異なる。そのため、物体や地面などの距離がある程度決まっている場合には、その距離になるように方眼を配置して歪補正処理をしてもよい。その場合、物体の距離にしたがって正六面体ではなく直方体になるように処理してもよい。その方が、見た目に歪が少なくなったように処理することが可能となる。歪補正値は直方体のまま使用してもよいし、正六面体に展開しておいて使用してもよい。
7.方眼を広い範囲に設置できない場合などには、カメラの向きをいろいろな方向に変えて複数の向きの方眼を取得しておいて、それぞれの方眼を合体させて一つの向きの大きい方眼を作成してもよい。このとき異なる4つの座標が別の方眼で同じとなる座標を見つけ出し、下記の計算式を利用して一つの向きの方眼として合体させる。また、つなぎ目のずれをなくすために、上述したつなぎ目の補正をしてもよい。
X=(A・x+B・y+C)/(G・x+H・y + 1)
Y=(D・x+E・y+F)/(G・x+H・y+1)
このとき、合体させる基準となる向きは、基本形態では上下左右と正面の5つの向きとする。また、基準となる向きの方眼同士で、それぞれの方眼を拡張して大きくさせてもよい。そうすることにより、それぞれの向きの方眼が広くなくても、別の向きの方眼で同じ座標が存在する領域を広くできるため、基準となる向きの方眼を大きくしなくてすむ。
8.画像の変換式である下記の式を、上述したn次式での方法で行ってもよい。
Y = (D・x + E・y + F) / (G・x + H・y + 1)
9.レンズには色収差があるため、画素センサの色ごと(赤、青、緑、近赤外、遠赤外など)で歪補正してもよい。
11…レンズ
12…撮像素子
13…データ変換部
14…信号処理部
15…画像メモリ
16…画像送信部
17…補正パラメータデコーダ
18…特定領域拡大補正メモリ
19…制御マイコン
20…画像認識表示部
21…制御用のマイクロコンピュータ
22…信号処理部
23…補正パラメータデコーダ
24…歪み補正メモリ
25…制御マイコン
26…画像認識処理部
27…表示処理部
28…表示部
30…前処理部
31…補正パラメータエンコーダ
32…補正パラメータ導出部
40…ユーザI/F・車両環境部
Claims (7)
- レンズと撮像素子を含み、被写体を撮像するカメラと、
前記カメラで撮像した画像をもとに特定の領域が広く見えるように、前記特定の領域の画像をn次式で拡大処理した第1の画像を取得する信号処理部と、
前記カメラによって複数の向きの方眼画像を取得する方眼画像取得手段と、
前記方眼画像の格子点を取得し、取得した複数の格子点を用いて、前記信号処理部からの前記第1の画像をn次式で引き伸ばし補正する歪補正手段と、
前記歪補正手段によって補正した画像を表示する表示部と、
を具備する画像処理装置。 - 前記方眼画像取得手段は、前記方眼画像を前記表示部に表示したときに、方眼の線が表示画像の表示範囲の境界に対して斜めになる方眼画像を取得することを特徴とする請求項1記載の画像処理装置。
- 前記歪補正手段は、
前記方眼画像の前記表示範囲の外側の格子点を予測する予測手段と、
前記予測した格子点を用いて前記方眼画像の端のルックアップテーブルを補正する補正手段と、
前記複数の向きの補正したルックアップテーブルをもとに前記カメラの視点を特定する視点特定手段と、
前記特定した視点に対して、予め設定した向きに対応配置した複数のルックアップテーブルと、を備え、
前記複数のルックアップテーブルを用いて見たい方向の前記第1の画像の歪を補正することを特徴とする請求項2記載の画像処理装置。 - 前記予測手段は、前記複数の向きの方眼画像を視点変換して、それぞれの複数の向きの方眼画像を同じ向きの画像に変換して格子点を予測することを特徴とする請求項3記載の画像処理装置。
- 前記歪補正手段は、前記特定された視点に対して正六面体の位置にそれぞれルックアップテーブルを配置することを特徴とする請求項3記載の画像処理装置。
- レンズと撮像素子を含み、被写体を撮像するカメラを備え、
前記カメラで撮像した画像の特定の領域が広く見えるように、信号処理部で前記特定の領域の画像をn次式で拡大処理した第1の画像を取得し、
前記カメラによって複数の向きの方眼画像を取得し、
前記方眼画像の格子点を取得し、取得した複数の格子点を用いて、前記信号処理部からの前記第1の画像をn次式で引き伸ばして歪補正し、
前記歪補正した画像を表示部に表示することを特徴とする画像処理方法。 - 前記歪補正は、
前記方眼画像の表示範囲の外側の格子点を予測し、
前記予測した格子点を用いて前記方眼画像の端のルックアップテーブルを補正し、
前記複数の向きの補正したルックアップテーブルをもとに前記カメラの視点を特定し、
特定した視点に対して、予め設定した向きに対応して複数のルックアップテーブルを配置し、
前記複数のルックアップテーブルを用いて見たい方向の前記第1の画像の歪を補正することを特徴とする請求項6記載の画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010228228A JP5715793B2 (ja) | 2010-10-08 | 2010-10-08 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010228228A JP5715793B2 (ja) | 2010-10-08 | 2010-10-08 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012085026A JP2012085026A (ja) | 2012-04-26 |
JP5715793B2 true JP5715793B2 (ja) | 2015-05-13 |
Family
ID=46243443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010228228A Active JP5715793B2 (ja) | 2010-10-08 | 2010-10-08 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5715793B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9472023B2 (en) * | 2014-10-06 | 2016-10-18 | Toyota Jidosha Kabushiki Kaisha | Safety system for augmenting roadway objects on a heads-up display |
US9802539B2 (en) * | 2015-04-01 | 2017-10-31 | Robert Bosch Gmbh | Distance and direction estimation of a target point from a vehicle using monocular video camera |
KR101785027B1 (ko) | 2016-01-14 | 2017-11-06 | 주식회사 라온텍 | 화면 왜곡 보정이 가능한 디스플레이 장치 및 이를 이용한 화면 왜곡 보정 방법 |
JP6473769B2 (ja) * | 2017-02-24 | 2019-02-20 | 国立大学法人東京工業大学 | 補正量演算装置、補正装置及び補正量演算方法 |
WO2019049331A1 (ja) * | 2017-09-08 | 2019-03-14 | 株式会社ソニー・インタラクティブエンタテインメント | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 |
US10657396B1 (en) * | 2019-01-30 | 2020-05-19 | StradVision, Inc. | Method and device for estimating passenger statuses in 2 dimension image shot by using 2 dimension camera with fisheye lens |
US20220148138A1 (en) * | 2019-03-26 | 2022-05-12 | Sony Semiconductor Solutions Corporation | Vehicle-mounted camera apparatus and image distortion correction method |
CN111915537A (zh) * | 2020-08-13 | 2020-11-10 | 歌尔光学科技有限公司 | 图像处理方法及装置、图像采集装置和可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08256295A (ja) * | 1994-12-21 | 1996-10-01 | Olympus Optical Co Ltd | 画像処理装置 |
JP4175832B2 (ja) * | 2001-05-25 | 2008-11-05 | 松下電器産業株式会社 | 広角画像生成装置 |
JP2004159186A (ja) * | 2002-11-07 | 2004-06-03 | Sony Corp | 監視用車載撮像システム |
-
2010
- 2010-10-08 JP JP2010228228A patent/JP5715793B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012085026A (ja) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5715793B2 (ja) | 画像処理装置及び画像処理方法 | |
CN111750820B (zh) | 影像定位方法及其系统 | |
JP6859442B2 (ja) | キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法 | |
JP6764533B2 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
US9858639B2 (en) | Imaging surface modeling for camera modeling and virtual view synthesis | |
KR101265667B1 (ko) | 차량 주변 시각화를 위한 3차원 영상 합성장치 및 그 방법 | |
US8587612B2 (en) | Method and system for providing augmented reality based on marker tracking, and non-transitory computer-readable medium thereof | |
JP6079333B2 (ja) | 校正装置、方法及びプログラム | |
JP2022514912A (ja) | センサのキャリブレーション方法、装置、システム、車両、機器及び記憶媒体 | |
JP5049975B2 (ja) | 3次元モデルデータ生成方法及び3次元モデルデータ生成装置 | |
EP3016065B1 (en) | Coordinate computation device and method, and image processing device and method | |
EP1331605B1 (en) | Omnidirectional visual system and method | |
CN107665483B (zh) | 免定标便捷的单目镜头鱼眼图像畸变矫正方法 | |
JP2012253758A (ja) | 車両視覚システムの較正方法および車両視覚システム | |
CN113841384B (zh) | 校准装置,用于校准的图表和校准方法 | |
WO2015045329A1 (ja) | 車両周辺画像表示装置及びカメラの調整方法 | |
TWI602154B (zh) | 環景影像的拼接方法及其系統 | |
JP4679293B2 (ja) | 車載パノラマカメラシステム | |
CN104881869A (zh) | 一种移动平台上的实时全景跟踪与拼接方法 | |
US20060008268A1 (en) | Three-dimensional image processing apparatus, optical axis adjusting method, and optical axis adjustment supporting method | |
CN113793266A (zh) | 一种多目机器视觉图像拼接方法、系统及存储介质 | |
JP2014092922A (ja) | 検出装置、検出方法及び検出プログラム | |
Rosebrock et al. | Generic camera calibration and modeling using spline surfaces | |
KR101351911B1 (ko) | 카메라의 영상 처리 장치 및 방법 | |
JP4548228B2 (ja) | 画像データ作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5715793 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |