視覚の幾何学2 呉海元@和歌山大学 参考書 佐藤 淳: 「コンピュータビジョン -視覚の幾何学-」 コロナ社 Single view geometry Camera model Single view geom. 透視投影モデル y’ y (x’, y’, z’) (x, y, z) (x,y,z)から(x’,y’,z’)へ投影: (相似三角関係より) z z’ z x’ O x x’ 仮定: 原点をレンズの中心に Z軸と光軸と同じ x z y y z z z z x z (f = Z’) ●透視投影はZに関し非線形である ★幾何関係だけ考える理論系の人はよくf=1とする x 正射影 (orthographic projection) ●正射影画像面に垂直な軸に沿って投影するもの ●Z軸方向の情報が失われ, X軸とY軸方向の座標は そのまま保存される ●正射影はZに関し線形であり数学 的にははるかに扱いやすい ●正射影は実際のカメラによる投影 とは掛け離れたものであり,この投影 モデルがCGの分野に良く使われて いるが、CVの分野に応用できる場 合は稀である 正射影モデル y (x’, y’, z’) (x, y, z) z O x Projection from (x,y,z) to (x’,y’,z’): x x y y or z z const x kx y ky z const 弱透視投影(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 Left Right ★射影モデルが異なる→同じ画像から復元された3D情報が異なる Affine cameras 焦点距離f を増加 物体とカメラの距離を増加 実際のカメラ ●実際に使用するテレビカメラは対象物からの光を受ける受光部 (撮像素子)と、受光により発生する微弱な電気信号を処理する信 号処理部からなっている ★イメージセンサに受光部と信号処理部を含まれる ●受光部の前にはレンズが置かれ、光はこのレンズによって集光 され、絞りを通して撮像素子(イメージセンサ)に至る ●レンズ系と撮像素子によって、3D空間から2D画像への投影 実際のカメラ ●実際のカメラではレンズ収差や歪みが生じるため、複 数のレンズを組み合わせて、レンズ収差や歪みなどを 取り除く ズームレンズの 内部構造 ・レンズの配置を変わると 焦点距離を変わる 2次元平行移動 2次元拡大・縮小 2次元回転(原点中心) 2次元アフィン変換 x' x a y' y b 平行移動 x' a 拡大・縮小 y' 0 x' cos 回転 y ' sin x' 1 y ' sh y x' a b x e 0 x b y 一般化! y' c d y f sin x cos y shx x せん断 1 y アフィン変換 アフィン変換をもっと簡単な形に~ 同次座標 (homogeneous coordinates) x' a b x' a b x e y' c d y' c d y f 1つ次元を 1 0 0 上げると・・・ 積 和 e x f y 1 1 積のみ! 図形の変換を全て行列の乗算1回で処理可能 複雑な座標変換がすべて行列の形で処理できる 同次座標の基本2D変換 Basic 2D transformations as 3x3 matrices x ' 1 0 t x x y ' 0 1 t y y 1 0 0 1 1 x ' s x y ' 0 1 0 平行移動Translate x' cos y ' sin 1 0 sin cos 0 回転Rotate 0 sy 0 0 x 0 y 1 1 拡大・縮小Scale 0 x 0 y 1 1 x ' 1 shx 0 x y ' sh y 1 0 y 1 0 0 1 1 せん断Shear 行列の合成 複雑な座標変換の行列は各処理の行列の掛け算 から合成 x' 1 0 tx cos sin 0 sx 0 0 x y ' 0 1 ty sin cos 0 0 sy 0 y w' 0 0 1 0 0 1 0 0 1 w p’ = T(tx,ty) R() S(sx,sy) p 同次座標 (3次元) 3次元座標値を,一つ次元を上げて4次元空間の 中で処理 ( x, y, z ) ( x, y, z, f ) (x/f, y/f, z/f) が三次元座標値となる f=1のときはそのまま(x, y, z)が座標値 2次元アフィン変換と同じく、 座標変換をまとめて表記できる! 3次元アフィン変換 x' a y' c 1 0 b d 0 x' a11 y ' a21 z' a 31 1 0 e x f y 1 1 2次元 a12 a22 a32 0 a13 a23 a33 0 3次元 bx x by y bz z 1 1 P(x, y, z) からP(x’, y’, z’) へのアフィン変換(同次座標による表現) P AP ' (A: アフィン変換行列) 同次座標導入の利点 同次座標を使わない場合 • 一回目のアフィン変換 P' M1P b1 • 二回目のアフィン変換 P'' M2P' b2 P'' M 2 (M1P b1 ) b 2 P'' M 2M1P M 2b1 b 2 同次座標を導入した場合 P' H1P P '' H 2 H 1 P 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 立体視の原理 三角計測法に基づいて、 視線の交点が注視点の空間位置 x1 Z x2 平行ステレオ fB x1 x2 差(disparity) 距離Zは焦点距離f、ベースB、差△xの関数 立体視の原理 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 Xl • Rotation can be implemented by image X’l transformation P Pl p Yl Pr p l Zl Or R, t Xl’ = T, Yr Zr Ol t 光軸は平行ではない場合 r Yl’ = Xl’xZl, Xr 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 Xl • Rotation can be implemented by image X’l transformation 光軸は平行になるように 変換(R,tが既知) P Pl p Yl Pr p l Zl Yr Zr Ol t Or R, t Xl’ = T, r Yl’ = Xl’xZl, Xr Z’l = Xl’xYl’ Correlation Approach LEFT IMAGE (xl, yl) 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 特徴に基づいた立体視 特徴検出 • 特徴コーナー、点、エッジ • 対応を見つける (相関評価による) ⇒奥行き計算 残りの部分は表面内挿 corner line structure 相関評価のアルゴリズム 距離マップは特徴間の相関評価によって構成 伝統的な方法 SSD I t 1 I t 2 AD | I t 1 I t | CC I t 1I t I .I NC I .I MC t 1 t t t 1 64 t 1 t I t 1 t 1 I t t 更に距離マップの連続性を考慮すると 1 1 E I left ( x i, y j ) I right ( x i Dx ( x, y), y j Dx ( x, y)) D( x, y) i 1 j 1 1 1 D( x, y) D( x i, y j ) D( x, y) i 1 j 1 Examples Left Image Right Image Depth Map 出席チェック 1.弱透視投影の原理図を描き、その原理と成り 立つ条件について述べなさい
© Copyright 2024 ExpyDoc