530 likes | 1.17k Views
視覚の幾何学2 呉海元@和歌山大学. 参考書 佐藤 淳: 「コンピュータビジョン -視覚の幾何学-」 コロナ社. Single view geometry. Camera model Single view geom. (x’, y’, z’). y. y’. (x, y, z). z. x. x’. 透視投影モデル. (x,y,z) から (x’,y’,z’) へ投影 : (相似三角関係より). z. z’. x’. O. x. 仮定: 原点をレンズの中心に Z 軸と光軸と同じ. ( f = Z ’ ).
E N D
視覚の幾何学2呉海元@和歌山大学 参考書 佐藤 淳: 「コンピュータビジョン -視覚の幾何学-」 コロナ社
Single view geometry Camera model Single view geom.
(x’, y’, z’) y y’ (x, y, z) z x x’ 透視投影モデル (x,y,z)から(x’,y’,z’)へ投影: (相似三角関係より) z z’ x’ O x 仮定: 原点をレンズの中心に Z軸と光軸と同じ (f = Z’) ●透視投影はZに関し非線形である ★幾何関係だけ考える理論系の人はよくf=1とする
正射影 (orthographic projection) ●正射影画像面に垂直な軸に沿って投影するもの ●Z軸方向の情報が失われ, X軸とY軸方向の座標はそのまま保存される ●正射影はZに関し線形であり数学 的にははるかに扱いやすい ●正射影は実際のカメラによる投影 とは掛け離れたものであり,この投影 モデルがCGの分野に良く使われて いるが、CVの分野に応用できる場 合は稀である
(x’, y’, z’) y z x 正射影モデル (x, y, z) O Projection from (x,y,z) to (x’,y’,z’): or
弱透視投影(weak perspective projection) ●透視投影は現実のカメラによる投影にきわめて近いが、非線形であり数学的には扱いにくい ●正射影は線形であるが、実際のカメラによる投影とは程遠い ●弱透視投影はこれら二の投影の中間的なものであり、正射影と透視投影を組み合わせた投影である
弱透視投影 Step 1) 対象物を画像面pに平行な平面Pに正射影 この投影は正射影 ⇒ 線形 Step 2) その投影像をさらに画像面pへ透視投影 この投影は平面Pから平行な平面pへの投影 ⇒ 均一に拡大或は縮小を行っている ⇒ 線形 ★弱透視投影は線形
弱透視投影の式(Step 1) ●対象物を画像面pに平行な平面Pに正射影することは、対象物上の各点のX座標とY座標を保存したままZ座標のみ一定の値 即ち、平面PのZ座標であるZ°に変更することに等しい ●この投影は次のように表せる : X’=X Y’=Y Z' =Z°
弱透視投影の式(Step 2) ●正射影されたものをさらに透視投影される ⇒ 弱透視投影は次のように表せる x = X’/Z’ = X/Z° y = Y’/Z’ = Y/Z° Z°は定数 ●これらの式はXとYに関して線形である ⇒ 投影が線形化された
弱透視投影が成り立つ条件 ●弱透視投影は透視投影の近似である ●この近似の有効範囲は限られている ●弱透視投影では対象物上の各点までの距離Zが一定値Z°で近似できることを前提としている ●対象物のZ軸方向の厚みDがカメラから対象物までの距離Zと比較して十分小さければよい ●D:Zが1:10以上であればこの近似が有効であると考えてよい
平行透視投影(paraperspective projection) ●弱透視投影では透視投影の前に画像面pに平行な平面Pへの正射影を行った ●透視投影を線形近似するもう一つの一般化した方法:透視投影の前に平面Pへ平行投影を行う ⇒正射影のように各点をある直線Lに平行に投影するが、この直線Lが必ずしも平面Pに垂直ではない L L 弱透視投影 平行透視投影
平行透視投影 ●平行投影の方向 = 対象物の平均的な方向 ●平行投影は線形な投影であり、平行な平面間の透視投影も線形な投影であるから、これらを組み合わせた平行透視投影も線形な投影となる
平行透視投影の式 Step 1: 対象物の平均的な方向を(△X, △Y, 1)とし この方向に平行投影する: X’ = X + ( Z°- Z)△X Y’ = Y + ( Z°- Z)△Y Z’ = Z° Step 2: 透視投影する 平行透視投影は以下のように表せる: x = X’/Z’ = 1/Z°・X - △X/Z°・ Z + △X y = Y’/Z’ = 1/Z°・Y - △Y/ Z°・Z + △Y
平行透視投影 ●前式のX, Y, Zにかかる1/ Z°, △X/ Z°, △Y/ Z°, △X, △Yなどはいずれも定数 => X, Y, Zに関して線形 ●平行透視投影も透視投影の線形近似 ●対象物の平均方向が光軸に一致する場合には平行透視投影は弱透視投影となる
弱透視投影と平行透視投影 ●弱透視投影も平行透視投影も画像面pに平行な平面Pに平行投影した後、透視投影する ●弱透視投影は平面Pに垂直に平行投影する ●平行透視投影は対象物の平均的な方向に向けて平行投影する ●平行透視投影の方がより透視投影に近い
E.g., Shape Reconstruction Right Left ★射影モデルが異なる→同じ画像から復元された3D情報が異なる
Affine cameras 焦点距離f を増加 物体とカメラの距離を増加
実際のカメラ ●実際に使用するテレビカメラは対象物からの光を受ける受光部(撮像素子)と、受光により発生する微弱な電気信号を処理する信号処理部からなっている ★イメージセンサに受光部と信号処理部を含まれる ●受光部の前にはレンズが置かれ、光はこのレンズによって集光され、絞りを通して撮像素子(イメージセンサ)に至る ●レンズ系と撮像素子によって、3D空間から2D画像への投影
実際のカメラ ●実際のカメラではレンズ収差や歪みが生じるため、複数のレンズを組み合わせて、レンズ収差や歪みなどを取り除く
ズームレンズの内部構造 ・レンズの配置を変わると 焦点距離を変わる
アフィン変換 2次元アフィン変換 平行移動 拡大・縮小 一般化! 回転 せん断
積 和 アフィン変換をもっと簡単な形に~同次座標 • 図形の変換を全て行列の乗算1回で処理可能 • 複雑な座標変換がすべて行列の形で処理できる (homogeneous coordinates) 1つ次元を 上げると・・・ 積のみ!
同次座標の基本2D変換 • Basic 2D transformations as 3x3 matrices 平行移動Translate 拡大・縮小Scale 回転Rotate せん断Shear
行列の合成 • 複雑な座標変換の行列は各処理の行列の掛け算から合成 p’ = T(tx,ty) R(Q) S(sx,sy) p
( x, y, z, f ) 2次元アフィン変換と同じく、 座標変換をまとめて表記できる! 同次座標 (3次元) • 3次元座標値を,一つ次元を上げて4次元空間の中で処理 • (x/f, y/f, z/f) が三次元座標値となる • f=1のときはそのまま(x, y, z)が座標値 ( x, y, z )
2次元 3次元 (A: アフィン変換行列) 3次元アフィン変換 P(x, y, z) からP(x’, y’, z’) へのアフィン変換(同次座標による表現)
同次座標導入の利点 • 同次座標を使わない場合 • 一回目のアフィン変換 • 二回目のアフィン変換 • 同次座標を導入した場合 H1,H2: 2D ⇒ 3 x 3 のアフィン変換行列 H1,H2: 3D ⇒ 4 x 4 のアフィン変換行列
同次座標系導入の利点 f=w=1 直線上の点はすべて同じ座標を持つものとする(点と線が同一視される) 無限遠点は?
無限遠点 無限遠直線 無限遠平面 無限遠要素
Two-view geometry 3D reconstruction Epipolar geometry E-matrix comp. F-matrix comp. H-matrix comp. Structure comp.
立体視Stereo Vision (Stereopsis) • Main problem – recover 3D depth from two (or more) image views ●一台のカメラから得られた画像のみからでは、3D物体の形状を一意に決定することができない ●2つ以上の異なる視点で得られた画像からはこのような不定性を取り除き、形状を決定することができる ●静止シーンの場合、一台のカメラから異なる視点で得られた2枚の画像でもOK
平行ステレオ 立体視の原理 三角計測法に基づいて、 視線の交点が注視点の空間位置 差(disparity) 距離Zは焦点距離f、ベースB、差△xの関数
P Pl Pr Yr p p r l Yl Xl Zl Zr X’l t Ol Or R, t Xr Xl’ = T, Yl’ = Xl’xZl, Z’l = Xl’xYl’ 立体視の原理 • Algorithm • Rotate both left and right camera so that they share the same X axis : Or-Ol = T • Define a rotation matrix Rrect for the left camera • Rotation Matrix for the right camera is RrectRT • Rotation can be implemented by image transformation 光軸は平行ではない場合
P Pl Pr Yr p p r l Yl Xl Zl Zr X’l t Ol Or R, t Xr Xl’ = T, Yl’ = Xl’xZl, Z’l = Xl’xYl’ 立体視の原理 • Algorithm • Rotate both left and right camera so that they share the same X axis : Or-Ol = T • Define a rotation matrix Rrect for the left camera • Rotation Matrix for the right camera is RrectRT • Rotation can be implemented by image transformation 光軸は平行になるように 変換(R,tが既知)
(xl, yl) Correlation Approach LEFT IMAGE • For each point (xl, yl) in the left image, define a window centered at the point
Correlation Approach RIGHT IMAGE (xl, yl) • … search its corresponding point within a search region in the right image
Correlation Approach RIGHT IMAGE (xr, yr) dx (xl, yl) • … the disparity (dx, dy) is the displacement when the correlation is maximum
特徴に基づいた立体視 line corner • 特徴検出 • 特徴コーナー、点、エッジ • 対応を見つける (相関評価による) ⇒奥行き計算 • 残りの部分は表面内挿 structure
相関評価のアルゴリズム • 距離マップは特徴間の相関評価によって構成 • 伝統的な方法 • 更に距離マップの連続性を考慮すると
Examples Left Image Right Image Depth Map
出席チェック 1.弱透視投影の原理図を描き、その原理と成り立つ条件について述べなさい