視覚の幾何学1 呉海元@和歌山大学 参考書 佐藤 淳: 「コンピュータビジョン -視覚の幾何学-」 コロナ社 Single view geometry Camera model Single view geom. カメラモデル(Camera model) 画像内の一点と3次元空間中の光線の関係 ? 投影・射影関係によって決定 投影( Projections ) 投影:m次元からn次元への変換 (m>n) • CV: 3D to 2D 平行投影・正射影 透視投影 理想的なカメラ ●3次元空間のある点から発せられた光はレ ンズによって一点に集光される ●光がレンズに入射する角度に応じて集光さ れる位置が変わる ●どのような角度で入射した平行な光もすべ てある一つの平面上に集光される ☆この平面上に撮像素子を置いておけば,ピントの合った画像が得られる ピンホール・カメラ(pinhole camera) ●視覚を情報処理として考える場合には必ずし も実際のカメラの物理的な投影をそのまま考え る必要はない ●カメラの幾何学的な性質のみを考えるのであ れば、レンズの中心の一点のみに注目し、撮像 素子に至る光はすべてこの一点を通過してくる ものと考えるほうが扱いやすい ●このようなカメラをピンホール・カメラと呼ぶ ピンホール・カメラ f Pinhole Object Image plane ●撮像素子が置かれる面を画像面(image plane) ●すべての光が通過する点(pinhole)を光学中心 (optical center) ●光学中心と画像面との間の距離を焦点距離f(focal length) ピンホール・カメラ Pinhole Object Image plane ●ピント合わせの必要がない ●投影の幾何学的な性質がそのまま保存されている ●視覚の幾何を考えるうえで理想的な性質を持つ ピンホール・カメラ ●仮想的に画像面(Virtual image plane)を光学中心 の前(対象物側)に置くと、まったく同じ像が上下逆転せ ずに投影される ●画像面を光学中心の前に出すことによって投影がよ り扱いやすくなる ●普通、画像面を対象物側に置いて考える Pinhole Image plane Virtual Object image plane Pinhole camera image Amsterdam : what do you see in this picture? straight line size parallelism/angle shape shape of planes depth Photo by Robert Kosara, [email protected] http://www.kosara.net/gallery/pinholeamsterda m/pic01.html Pinhole camera image Amsterdam straight line size parallelism/angle shape shape of planes depth Photo by Robert Kosara, [email protected] http://www.kosara.net/gallery/pinholeamsterda m/pic01.html Pinhole camera image Amsterdam straight line size parallelism/angle shape shape of planes depth Photo by Robert Kosara, [email protected] http://www.kosara.net/gallery/pinholeamsterda m/pic01.html Pinhole camera image Amsterdam straight line size parallelism/angle shape shape of planes depth Photo by Robert Kosara, [email protected] http://www.kosara.net/gallery/pinholeamsterda m/pic01.html Pinhole camera image Amsterdam straight line size parallelism/angle shape shape of planes depth Photo by Robert Kosara, [email protected] http://www.kosara.net/gallery/pinholeamsterda m/pic01.html Pinhole camera image Amsterdam straight line size parallelism/angle shape shape of planes parallel to image depth Photo by Robert Kosara, [email protected] http://www.kosara.net/gallery/pinholeamsterda m/pic01.html Pinhole camera image Amsterdam: what do you see? straight line size parallelism/angle shape shape of planes parallel to image Depth ? stereo - We see spatial shapes rather than individual pixels motion size structure … - Knowledge: top-down vision belongs to human - Stereo &Motion most successful in 3D CV & application - You can see it but you don't know how… 透視投影 (Perspective Projection) Pinhole Virtual image plane Image plane 簡略されたモデル: z y’ y O x x’ Object 透視投影 (Perspective Projection) 消失点 点⇒点 線⇒線 面⇒面 ポリゴン⇒ポリゴン 遠い物体が小さい 奥行き情報が得られない 透視投影モデル 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 同次座標系 Homogenous Coordinates cartesianworld coordinates homogenous world corrdinates ( X , Y , Z ) (kX , kY , kZ , k ) cartesian world coordinates C1 C2 C3 (C1 , C2 , C3 , C4 ) ( , , ) C4 C4 C4 homogenous world corrdinates カメラのパラメータ Camera Parameters 画像座標系Image coordinates 画素の有効サイズEffective size of pixel in millimeter (ximage, yimage) 画像中心Image center (ox, oy) カメラ座標系Camera coordinates (xcamera, ycamera) ワールド座標系Real world coordinates (X, Y, Z) 焦点距離Focal length f (kx, ky) カメラのパラメータ ximage k x xcamera ox yimage k y ycamera o y ximage k x y 0 image 1 0 U image k x V 0 image S 0 U image k x V 0 image S 0 0 ky 0 ox f o y 0 1 0 0 f 0 0 ky 0 0 ky 0 X 0 0 Y 0 0 Z 1 0 1 ox xcamera o y ycamera 1 1 ox U camera o y Vcamera 1 S fX fY Z カメラのパラメータ U image k x V 0 image S 0 U image fk x V 0 image S 0 0 ky 0 0 fk y 0 X 0 0 Y 0 0 Z 1 0 1 ox f o y 0 1 0 0 f 0 ox oy 1 X 0 Y 0 Z 0 1 f x fk x f y fk y カメラの内部パラメータ Intrinsic Camera Parameters y fx x fy ox oy p (x,y,f) O Size: (x,sy) ox (0,0) xim o Pixel (xim,yim) y yim 内部パラメータはワールド座標系内のカメラの位 置と姿勢と依存しない X U image f x V 0 image S 0 0 fy 0 ox oy 1 0 Y 0 Z 0 1 カメラの内部パラメータII (x, y) レンズのひずみ Lens Distortions k1 , k2 (xd, yd) カメラの内部パラメータII (x, y) レンズのひずみ Lens Distortions (xd, yd) k1 , k2 Modeled as simple radial distortions • r2 = xd2+yd2 x xd (1 k1r 2 k2r 4 ) • (xd , yd) distorted points y yd (1 k1r 2 k2r 4 ) • k1 , k2: distortion coefficients • A model with k2 =0 is still accurate for a CCD sensor of 500x500 with ~5 pixels distortion on the outer boundary カメラの外部パラメータ Extrinsic Camera Parameters 外部パラメータはワールド座標系内のカメラの位置 と姿勢によって決定される • 平行移動Translation (3x1ベクトル) • 回転Rotation (3x3行列) xim (xim,yim) yim O y x p R t P Zw Pw Xw O Yw 平行移動(Translation) (tx, ty, tz) Translation vector X camera X world t x Y Y t camera world y Z camera Z world t z X camera 1 0 0 t x X world Y 0 1 0 t Y y world camera Z camera 0 0 1 t z Z world 1 0 0 0 1 1 Translation Matrix X camera X world Y Y camera world t Z camera Z world 1 1 平行移動(Translation) Inverse translation 1 0 t 0 0 0 1 0 0 0 tx 0 t y 1 tz 0 1 1 0 t 1 0 0 1 0 tt1 0 0 0 1 0 0 0 t x 1 0 0 t x 1 0 t y 0 1 0 t y 0 1 t z 0 0 1 t z 0 0 1 0 0 0 1 0 0 tx 0 t y 1 tz 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 I 0 1 回転(Rotation) Y R Z-軸周り X R cos Y R sin (X’,Y’,Z’) R X Z X Y X R cos R cos cos R sin sin X Y Y R sin R cos sin R sin cos X X cos Y sin Y X sin Y cos (X,Y,Z) X cos Y sin Z 0 sin cos 0 0 X 0 Y 1 Z 回転(Rotation) X-軸周り Y-軸周り Z-軸周り 回転なし 0 1 R X 0 cos 0 sin sin cos 0 cos R Y 0 sin 0 sin 1 0 0 cos cos R Z sin 0 sin cos 0 1 0 0 R 0 1 0 0 0 1 0 0 1 回転(Rotation) Inverse rotation Z R .R cos sin 0 Z T I sin cos 0 0 cos 0 sin 1 0 sin cos 0 0 1 0 0 0 0 1 0 1 0 0 1 回転行列は直交行列!! R 1 RT , i.e. RRT RT R I 1 i j Ri R j 0 otherwise T 回転行列とEuler角 回転行列: 3x3 • 直交行列Orthogonal : R 1 RT , i.e. RRT RT R I T r11 r12 r13 R1 R rij r21 r22 r23 RT2 33 r31 r32 r33 RT3 • 9 elements => 3+3 constraints (orthogonal) => 2+2 constraints (unit vectors) => 3 DOF 自由度 (degrees of freedom) , , はX, Y, Z軸周りの回転角 R R Z RY R X O 注意: • 一回一つの角度しか回転できない • 順番と関係がある Zw Xw Yw 回転行列とEuler角 R RZ RY RX cos cos R sin sin cos cos sin cos sin cos sin sin cos sin sin sin sin sin cos cos cos sin sin sin cos If angle is small, then cos =1 and sin = 1 R 1 1 sin cos cos cos O Zw Xw Yw カメラのパラメータ ワールド座標系とカメラ座標系の下 tx, ty, tz と r1,1…r3,3 はカメラ外部パラメータ Xcamera RXworld T X camera r1,1 r1, 2 Y r r camera 2 , 1 2, 2 Z camera r3,1 r3, 2 0 1 0 r1,3 t x X world r2,3 t y Yworld r3,3 t z Z world 0 1 1 カメラのパラメータ ワールド座標系と画像座標系の下で U image fk x V 0 image S 0 U image fk x V 0 image S 0 0 fk y 0 0 fk y 0 ox oy 1 X camera 0 Y 0 camera Z camera 0 1 ox oy 1 r1,1 r1, 2 0 r2,1 r2, 2 0 r3,1 r3, 2 0 0 0 r1,3 t x X world r2,3 t y Yworld r3,3 t z Z world 0 1 1 ピンホールカメラモデル ximage ox f x yimage oy f y r1,1 X world r1, 2Yworld r1,3 Z world t x r3,1 X world r3, 2Yworld r3,3 Z world t z r2,1 X world r2, 2Yworld r2,3 Z world t y r3,1 X world r3, 2Yworld r3,3 Z world t z 透視投影モデル 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に関し線形であり数学 的にははるかに扱いやすい ●正射影は実際のカメラによる投影 とは掛け離れたものであり,この投影 モデルが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) ●透視投影は現実のカメラによる投影にきわめて近いが、非線形 であり数学的には扱いにくい ●正射影は線形であるが、実際のカメラによる投影とは程遠い ●弱透視投影はこれら二の投影の中間的なものであり、正射影と 透視投影を組み合わせた投影である 弱透視投影 1) 対象物を画像面pに平行な平面Pに正射影する この投影は正射影 => 線形 2) その投影像をさらに画像面pへ透視投影する この投影は平面Pから平行な平面pへの投影 => 均一に拡大或は縮小を行っている => 線形 ★弱透視投影は線形 弱透視投影の式 ●対象物を画像面pに平行な平面Pに正射影すること は、対象物上の各点のX座標とY座標を保存したままZ 座標のみ一定の値 即ち、平面PのZ座標であるZ°に変更することに等しい ●この投影は次のように表せる : X’=X Y’=Y Z' =Z° (5.3) 弱透視投影の式 ●正射影されたものをさらに透視投影される => 弱透視投影は次のように表せる x = X’/Z’ = X/Z° y = Y’/Z’ = Y/Z° (5.4) Z°は定数である ●これらの式はXとYに関して線形である => 投影が線形化された 弱透視投影が成り立つ条件 ●弱透視投影は透視投影の近似である ●この近似の有効範囲は限られている ●弱透視投影では対象物上の各点までの距離Zが 一定値Z°で近似できることを前提としている ●対象物のZ軸方向の厚みDがカメラから対象物ま での距離Zと比較して十分小さければよい ●D:Zが1:10以上であればこの近似が有効であると 考えてよい 平行透視投影(paraperspective projection) ●透視投影を線形近似するもう一つの方法 ●弱透視投影では透視投影の前に画像面pに平行な 平面Pへの正射影を行った ●これを一般化し透視投影の前にPへ平行投影を行う => 正射影のように各点をある直線Lに平行に投影する が、この直線Lが必ずしもPに垂直ではない 弱透視投影 平行透視投影 平行透視投影 ●平行投影の方向 = 対象物の平均的な方向 ●平行投影は線形な投影であり、平行な平面間の透 視投影も線形な投影であるから、これらを組み合わせ た平行透視投影も線形な投影となる 平行透視投影の式 ●対象物の平均的な方向を(△X, △Y, 1)とし この方向に平行投影する: X’ = X + ( Z°- Z)△X Y’ = Y + ( Z°- Z)△Y Z’ = Z° ●さらに透視投影する 平行透視投影は以下のように表せる: 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画像への投影が 起こる 実際のカメラ ●実際のカメラではレンズ収差や歪みが生じるため、複 数のレンズを組み合わせて、レンズ収差や歪みなどを 取り除く ズームレンズの 内部構造 ・レンズの配置を変わると 焦点距離を変わる 出席チェック 1.弱透視投影の原理図を描き、その原理と成り 立つ条件について述べなさい 平行移動 拡大・縮小 回転(原点中心) 2次元アフィン変換 平行移動 x' x a y' y b 拡大・縮小 x' a y' 0 回転 x' cos y ' sin x' a b x e 0 x 一般化! y' c d y f b y sin x cos 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 Translate x' cos y ' sin 1 0 sin cos 0 Rotate x ' s x y ' 0 1 0 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 ' M1 P b1 • 二回目のアフィン変換 P'' M2 P' b2 P '' M 2 ( M 1 P b 1 ) b 2 P '' M 2 M 1 P M 2 b 1 b 2 同次座標を導入した場合 P ' H1 P 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 fB Z x1 x2 x2 平行ステレオ 差(disparity) 立体視の原理 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 2眼視の幾何: Two-View Geometry x3 x2 x’3 x1 x’2 x’1 courtesy of F. Dellaert 画像間の点(xi to x’i )の対応関係は ・カメラ間の剛体変換(カメラ行列) ・シーンの構造 により決定 ⇒ 対応点の探索を絞ることができるか エピボラ幾何(Epipolar geometry) 複数の視点における相対的なカメラの位置や姿勢の情報を エピポーラ幾何(Epipolar geometry)と呼ばれる画像特 有の幾何によって記述できる O O’ エピボラ幾何(Epipolar Geometry) Baseline: カメラ中心C, C’を繋がる直線 Epipolar plane p: baselineとシーンの中の点 Xより 決定された平面 baseline from Hartley & Zisserman Epipolar Lines Epipolar lines l, l’: epipolar plane p と画像面 との交線 Epipoles e, e’: baselineと画像面との交点 C C’ from Hartley & Zisserman Epipolar Pencil X の位置を変化すると、epipolar planes はbaseline の周りに“rotate” • このような平面集合を epipolar pencilとよぶ Epipolar lines はepipole から“radiate” • これは pencil of epipolar lines from Hartley & Zisserman エピボラ制約(Epipolar Constraint) エピボラ幾何より、片方の画像内の一点はかならずも う一方の画像内のエピボラ直線(1D)上存在 x’ C C’ from Hartley & Zisserman 例:Epipolar Lines for Converging Cameras Left view epipolar linesの交線 = Epipole ! 他方のカメラ中心の位置を表す Right view from Hartley & Zisserman 特例: Translation Parallel to Image Plane カメラの運動が画像面と平行する場合、 ・epipolar linesは平行 ・対応点は対応 epipolar line上に存在 (全種類のカメラ運動) 特例: Translation along Optical Axis カメラの運動が画像平面と垂直する場合 Epipolesはfocus延長線上に一致 一般的に、無限遠点と異なる e’ e 透視カメラのエピポーラ幾何 複数のカメラの関係や対象物との関係を考える ために、何か基準となる座標系を考えなければ ならない(各のカメラのカメラ座標系を元に考える のではない) すべてのカメラや対象物に対して共通に決めら れた座標のことをワールド座標(world coordinates)と呼ぶ(ワールド座標を一つ決める) ワールド座標を基準に考えなければならない Transfer: epipolar transfer Using more cameras to remove match ambiguity 3眼視 Coordinate Transformations 座標変換 If we want to measure something (size of an object, depth of image points, distance between features……), we need to understand the geometry from image to world Coordinate system transformations • Image (i) camera (c) world (w) object (o) yc yi yw zc zw xc xi xw 行列・ベクトルの外積 a2b3 a3b2 0 a b a3b1 a1b3 a3 a1b2 a2b1 a2 a (a b) 0 b (a b) 0 a3 0 a1 a2 a1 b 0 a b 幾何変換 Geometric transformation P' RP t p KP with K [ I | 0] p' K ' P with K ' [ R | t ] 基本行列 (Essential matrix) ⇒ 2カメラ間の姿勢と位置: • R : 3*3 rotation matrix • t : 3*1 translation vector pとp’が対応点同士なら: p (u, v,1)T p'[t ( Rp)] 0 with T p' (u ' , v' ,1) 前提: pとp’は画像座標から計算 された物理(カメラ)座標である (カメラの内部パラメータ既知) 即ち:同一平面内の三つのベクトルから二つのベクトルの外積と 残るもう一つのベクトルの内積は0となる エピボラ方程式 p' Ep 0 基本行列(E行列) with E t R ★ Eが求まれば、tとRに分解することができる 基礎行列(Fundamental matrix) 内部パラメータが未知、画像座標xしか分からない • 画像座標xと物理(カメラ)座標pの関係: x=Kp , x’=K’p’ ⇒ p=K-1x, p’=K’-1x’ (K,K’ are the camera calibration matrix) 基本行列から : p’TEp=0 ⇒ x’TK’-TEK-1x=0 ⇒ x’TFx=0 F= K’-TEK-1 基礎行列 (F行列) ●基礎行列はカメラの内部パラメータと外部パラメー タの双方を含んでいる 基礎行列Fの性質 x’TFx=0 x=eの場合 (e is epipole) : x’TFe=0,∀x’ (∵全てのepipolar linesはepipoleの所に交叉) ⇒ Fe = 0 x’=e’の場合(e’ is epipole) : e’TFx =0,∀x ⇒ e’TF = 0 ⇒ FTe’ = 0 ●F行列が与えられれば、eとe’はそれぞれFTFと FFTの最も小さい固有値に対応する固有ベクト ルとして求められる The Fundamental Matrix F 片方の画像内の点xがもう一方の画像内epipolar line l’ 上に対応付けることは: line point l’ = Fx このpoint-on-lineの関係は l’TFx れ、l’T Fx = 0より決定さ = (Fx)T l’ = 0の関係も成り立つ F is 3 x 3, rank 2 (逆行列が求められない) Homography 空間中の対象点がすべてある平面内の上にある場合 Homography 空間中の対象点がすべてある平面内の上にある場合 x’=Hx 空間内平面と画像間の投影 ximage ox f x yimage oy f y r1,1 X world r1, 2Yworld r1,3 Z world t x r3,1 X world r3, 2Yworld r3,3 Z world t z r2,1 X world r2, 2Yworld r2,3 Z world t y r3,1 X world r3, 2Yworld r3,3 Z world t z ホモグラフィ行列Hの自由度: 8 特例として Z world 0 Compute H 一対の対応点 ((x,y,1)⇔(x’,y’,1))が分かれば、二つ の方程式が得られる x'1 h11 x h12 y h13 x' x'3 h31 x h32 y h33 x'2 h21 x h22 y h23 y' x'3 h31 x h32 y h33 x' h31 x h32 y h33 h11 x h12 y h13 y' h31 x h32 y h33 h21 x h22 y h23 (linear in hij) 4組み以上の対応点(n>=4)が分かれば、Hが唯一 に決定できる Applying Homographies to Removing projective distortion select four points in a plane with know coordinates x' x'1 h11 x h12 y h13 x'3 h31 x h32 y h33 y' x'2 h21 x h22 y h23 x'3 h31 x h32 y h33 x' h31 x h32 y h33 h11 x h12 y h13 (linear in hij) y' h31 x h32 y h33 h21 x h22 y h23 Homographies for Bird’s-eye Views from Hartley & Zisserman Homography between images of planes x=H1xπ , x’=H2xπ x’=H2xπ=H2H1-1x=Hx 4組み以上の対応点(n>=4)が分かれば、Hが唯一に 決定できる Homographies for Mosaicing from Hartley & Zisserman Stereo Wider Baseline Multi-Camera Stereo Stereo Multi-Camera Stereo Object Detection and Recognition Model, detect, and recognize objects in images Main issues • Object representation, feature extraction, matching, learning from data Optical Flow and Motion Compute local image motion (optical flow field) and then estimate object/scene/camera motion (motion field) Problems with local flow computation Aperture problem Aperture Problem Example Examples of Commercial Vision Systems Toshiba Hand Motion Processor Point Gray Research Eyematic Interfaces Viisage JLI Vision Aluminum foil container inspection LC Technologies Eye tracking The Cup is Half Full… Vision is a hard problem! • It is an inverse, ill-posed problem • Much of your very complex brain is devoted to doing vision • It involves cognition, navigation, manuiplation and learning • Not just simple “match a feature vector to a database” tasks However… • Some commercial successes Vision Based Interaction (VBI) Hand tracking Hand gestures Arm gestures Body tracking Activity analysis Head tracking Gaze tracking Lip reading Face recognition Facial expression VBI applications can enable: 3D interaction Accessibility, hands-free computing Game input Social interfaces Teleconferencing Improved speech recognition (speechreading) User-aware applications What makes VBI hard? User appearance • size, sex, race, hair, skin, make-up, fatigue, clothing color & fit, facial hair, eyeglasses, aging…. Environment • lighting, background, movement, camera Multiple people Intention of actions Speed and latency Calibration, FOV, camera control, image quality Robustness Real time Real-Time Vision Processing Needs Algorithms typically require generalpurpose computing Low resolution/quality: 300 MHz • 15 fps * 20K pix/frm * 1000 ops/pix Fair resolution/quality: 75 GHz • 30 fps * 200K pix/frm * 10K ops/pix High resolution/quality: 8 THz • 100 fps * 2M pix/frm * 40K ops/pix Some VBI Examples Myron Krueger MIT Media Lab Videos Color tracking Hand tracking 1 Hand tracking 2 Hand tracking 3 Magicboard 1 Magicboard 2 DrawBoard Segen 1 Segen 2 Segen 3 Face tracking 1 Face tracking 2 Dyna 1 Dyna 2 Davis 1 Davis 2 Davis 3 ALIVE / Silas V-TOYS The KidsRoom A fully-automated, interactive narrative playspace for children The room itself actively participated in the story, guiding and reacting to the children's choices and actions Used images, lighting, sound, and computer vision action recognition technology Hardware: • Six computers, 2 high-res video projectors KidsRoom Interactive, engaging, social, and fun Worlds: bedroom, forest, river, monster Input: vision, sound Output: images, animations, sound, narrative, music, lighting Homography given plane P [I | 0] P' [A | a] π X0 T π v ,1 T T point on plane x PX [I | 0]X T X x , ρ x T ,-vT x T T project in second view x' A avT x x' Hx H A avT Homography given plane and viceversa H A avT A H av T u1σ1v1 T T σ v T T 1 1 A H av a u1u1 T a u1 Calibrated stereo rig PE K[I | 0] P'E K'[R | t] π (n T d ) T v n/ d H K' R tn T /d K -1 homographies and epipolar geometry points on plane also have to satisfy epipolar geometry! Hx T Fx x T HT Fx 0, x HTF has to be skew-symmetric H T F FT H 0 x H e'x' 0, x x' T T F e'H Fx e'x' , x homographies and epipolar geometry x l Fx lπ e' e l l π x' l π Fx (pick lp =e’, since e’Te’≠0) H π e'F compare with F e'H Homography also maps epipole e' He Homography also maps epipolar lines le H l'e T Compatibility constraint l'e Fx x'Hx plane homography given F and 3 points correspondences Method 1: reconstruct explicitly, compute plane through 3 points derive homography Method 2: use epipoles as 4th correspondence to compute homography degenerate geometry for an implicit computation of the homography Estimastion from 3 noisy points (+F) Consistency constraint: points have to be in exact epipolar correspodence Determine MLE points given F and x↔x’ Use implicit 3D approach (no derivation here) 1 H A e' M b A e' F T bi x 'i Ax i x'i e' / x'i e' T 2 plane homography given F, a point and a line H l' F μe'lT T x'e' x'Fx l' μ x'e' l T x 2 application: matching lines (Schmid and Zisserman, CVPR’97) epipolar geometry induces point homography on lines Degenerate homographies x ' l'Fx plane induced parallax l x 'Hx 6-point algorithm x1,x2,x3,x4 in plane, x5,x6 out of plane Compute H from x1,x2,x3,x4 e' x 5 'Hx 5 x 6 'Hx 6 F e' H Projective depth X xT , ρ T x' Hx ρe' r=0 on plane sign of r determines on which side of plane Binary space partition Two planes H H -12H1 He e H has fixed point and fixed line F [e] Hi Narrow Baseline Wider Baseline Multi-Camera Stereo Stereo Multi-Camera Stereo コンピュータビジョン特論 の復習 ●画像・映像の処理、認識、理解研究の歴史と現状 ●デジタル濃淡画像と画質改善 ●エッジの検出 ●投票と多数決原理に基づく幾何学的対象の検出と識別 ●色彩工学とカラービジョン ●視覚の幾何学 画像・映像の処理、認識、理解研究 の歴史と現状 ●コンピュータビジョンの歴史 ●「コンピュータビジョン」と「画像処理」の区別 デジタル濃淡画像と画質改善 ●画質に影響を与える情報の計算 諧調性、コントラスト、雑音(S/N、dB) ●画質の改善 濃度変換、平滑化、鮮鋭化 それぞれどんな方法があるか、特徴、利点、欠点 ●ヒストグラム ● ヒストグラムとは ● ヒストグラムの求め方 ● ヒストグラムの応用 エッジの検出 ●差分型エッジ検出オペレータ ●零交差法 ●テンプレート型エッジ検出オペレータ ・それぞれのオペレータの代表名、 ・あるオペレータを用いて、画像上のエッジの大きさ、 方向の計算 ・なぜ(2n+1)*(2n+1)画素のフィルタを使うか 投票と多数決原理に基づく 幾何学的対象の検出と識別 ●直線検出用Hough変換の基本原理 と簡単なアルゴリズム 色彩工学の基礎 ●顕色系と混色系 ●マンセル表色系 色相、彩度、明度 ●RGB表色系とXYZ表色系 ●均等色度図 MacAdamの色弁別楕円より説明 投影とカメラモデル ●ピンホール・カメラ ●透視投影 ●正射影 ●弱透視投影 ●平行透視投影 それぞれのイメージ図と投影方程式 エピボラ幾何 ・エピポーラ線 ・エピポーラ平面 ・ペンシル 試験 日時:2月4日 10:50~ 場所:A204 質問時間 カメラ座標系(camera coordinate system) ●カメラ座標系はカメラを中心として定義した座標系 ●光軸(optical axis):光学中心から画像面に垂直に引いた直線l。 ●画像中心(principal point):光軸と画像面との交点xc ●ピンホール・カメラ: ・X軸とY軸を画像面上のx軸とy軸に平行 ・Z軸を光軸l。に対し平行 ・光学中心を座標原点Cにとる Coordinate Transformations 座標変換 If we want to measure something (size of an object, depth of image points, distance between features……), we need to understand the geometry from image to world Coordinate system transformations • Image (i) camera (c) world (w) object (o) yc yi yw zc zw xc xi xw 透視投影 (Perspective projection) x f s y 0 1 0 0 f 0 0 0 X 0 0 Y Z 1 0 1 3*4の透視投影行列より3D→2Dの変換を表現 Concatenating the three matrix x f x y K 0 1 0 0 f 0 0 0 R 0 0 T 0 1 0 X X t Y Y K R | t 1 Z Z 1 1 三つの行列を繋がると、新しい3*4 投影行列を定義 ⇒ x=PX P=K[R| t] ワールド座標系における3次元空間の点Xは2次元画 像上の点xに投影される Perspective Projection (透視投影) x x z , z y y z , z z z use homogeneous coordinates(同次座標系) x' 1 y ' 0 z ' 0 w' 0 and 0 x 0 y 0 1 0 z 0 1 / z ' 0 1 0 1 x' x' / w' y ' y ' / w' z ' z ' / w' 0 0 Goals of Computer Vision CVの目標 Computer vision aims to • Automate visual perception 視知覚の自動化 • Construct scene descriptions from images 画像からシーンの記述を構築 • Interpret the content of images 画像の中身を解釈 • Support tasks that require visual information 視覚情報を必要なタスクを提供 • …… Goals of Computer Vision Computer vision aims to • Automate visual perception • Construct scene descriptions from images • Make useful decisions about real physical objects and scenes based on sensed images • Produce symbolic (perhaps task-dependent) descriptions from images • Produce from images of the external world a useful description that is not cluttered with irrelevant information • Interpret the content of images • Support tasks that require visual information 透視投影 ●3次元空間中で(X,Y,Z)の座標を持つ点X= [X, Y, Z]^Tが, 2次元画像上で(x, y)の位置の点x= [x,y]^Tに 投影されている ●この画像上の点を3次元空間中の点と考えるとその 位置は(x, y, f)である ●ピンホール・カメラによる投影では、画像上の点のx とfの比が3次元空間中の点のXとZの比に等しく、また yとfの比がYとZの比に等しい 透視投影 (perspective projection) ●3次元空間中の点と その投影像との間: x = f * X/Z y = f * Y/Z の関係が成り立つ ●透視投影はZに 関し非線形である Perspective Projection (透視投影) x y x z , y z , z z z z Can we compute this in a 3x3 matrix? • No, it’s not linear (透視投影はZに関し非線形である) Instead, use homogeneous coordinates(同次座標系) x' 1 y ' 0 z ' 0 w' 0 and 0 x 0 y 0 1 0 z 0 1 / z ' 0 1 0 1 x' x' / w' y ' y ' / w' z ' z ' / w' 0 0 Calculating Camera Calibration Original planar pattern Corrected for radial lens distortion Edges Zhang method: • Grab images of this pattern at at least two random orientations • Closed-form solution then non-linear refinement • Result: Camera extrinsic and intrinsic parameters The fundamental matrix F algebraic representation of epipolar geometry x l' we will see that mapping is (singular) correlation (i.e. projective mapping from points to lines) represented by the fundamental matrix F The fundamental matrix F geometric derivation x' H π x l' e'x' e' H π x Fx mapping from 2-D to 1-D family (rank 2) The fundamental matrix F algebraic derivation Xλ P x λC l P'C P'P x F e' P'P (note: doesn’t work for C=C’ F=0) P P I P x Xλ The fundamental matrix F correspondence condition The fundamental matrix satisfies the condition that for any pair of corresponding points x↔x’ in the two images T T x' Fx 0 x' l' 0 The fundamental matrix F F is the unique 3x3 rank 2 matrix that satisfies x’TFx=0 for all x↔x’ (i) (ii) (iii) (iv) (v) Transpose: if F is fundamental matrix for (P,P’), then FT is fundamental matrix for (P’,P) Epipolar lines: l’=Fx & l=FTx’ Epipoles: on all epipolar lines, thus e’TFx=0, x e’TF=0, similarly Fe=0 F has 7 d.o.f. , i.e. 3x3-1(homogeneous)-1(rank2) F is a correlation, projective mapping from a point x to a line l’=Fx (not a proper correlation, i.e. not invertible) The epipolar line geometry l,l’ epipolar lines, k line not through e l’=F[k]xl and symmetrically l=FT[k’]xl’ k l k l e Fkl e' (pick k=e, since eTe≠0) l' Fe l l FT e' l' Fundamental matrix for pure translation Fundamental matrix for pure translation Fundamental matrix for pure translation F e' H e' example: e' 1,0,0 T H K 1RK 0 0 0 F 0 0 - 1 0 1 0 x'T Fx 0 y y' x PX K[I | 0]X -1 K x' P'X K[I | t] x Z ( X,Y,Z)T K-1x/Z x' x Kt/ Z motion starts at x and moves towards e, faster depending on Z pure translation: F only 2 d.o.f., xT[e]xx=0 auto-epipolar General motion x'T e' Hx 0 x'T e' xˆ 0 x' K' RK -1x K' t/Z Geometric representation of F FS F FT / 2 x x FA F FT / 2 x Fx 0 x T FSx 0 T Fs: Steiner conic, 5 d.o.f. Fa=[xa]x: pole of line ee’ w.r.t. Fs, 2 d.o.f. F FS FA x F x 0 T A Geometric representation of F Pure planar motion Steiner conic Fs is degenerate (two lines) Projective transformation and invariance Derivation based purely on projective concepts ˆx Hx, xˆ ' H' x' Fˆ H'-T FH-1 F invariant to transformations of projective 3-space ˆ x PX PH H-1X Pˆ X ˆ x' P'X P'H H-1X Pˆ ' X P,P' F F P,P' unique not unique canonical form P [I | 0] P' [M | m] F m M Projective ambiguity of cameras given F previous slide: at least projective ambiguity this slide: not more! ~~ Show that if F is same for (P,P’) and (P,P’), there exists a projective transformation H so that ~ ~ P=HP and P’=HP’ ~ ~ ~ P [I | 0] P' [A | a] P [I | 0] P' [A | ~ a] ~ ~ F a A a A ~ lemma: ~ a ka A k 1 A avT rank 2 aF aa A 0 ~ aF ~ a ka ~ ~ ~ ~ a A a A a kA - A 0 kA - A avT k 1I H 1 T k v 0 k k 1I P'H [A | a] 1 T k v 0 [k 1 A - avT | ka ] ~ P' k (22-15=7, ok) Canonical cameras given F F matrix corresponds to P,P’ iff P’TFP is skew-symmetric X P' T T FPX 0,X F matrix, S skew-symmetric matrix P [I | 0] P' [SF | e' ] (fund.matrix=F) FTST F 0 FTST F 0 T [SF | e' ] F[I | 0] T 0 0 e' F 0 Possible choice: P [I | 0] P' [[e'] F | e' ] Canonical representation: P [I | 0] P' [[e'] F e' vT | λe' ] The essential matrix ~fundamental matrix for calibrated cameras (remove K) E t R R[RT t] xˆ 'T Exˆ 0 xˆ K E K' T FK 5 d.o.f. (3 for R; 2 for t up to scale) E is essential matrix if and only if two singularvalues are equal (and third=0) E Udiag(1,1,0)VT x; xˆ ' K-1x' -1 Four possible reconstructions from E (only one solution where points is in front of both cameras) 試験 日時:2月4日 10:50~ 場所:A204
© Copyright 2024 ExpyDoc