幾何学的変換
( 2018 年 1 月 15 日)
浅井紀久夫
本日のポイント
• 線形変換
• ユークリッド変換
• アフィン変換
• 射影変換
• 再標本化
教科書
幾何学的変換
線形変換
• 座標(x,y)の位置の点が、変換により座標
(x’,y’)に移動するとき、次式で表される変換を
線形変換という。
x y
(x,y)
(x’,y’)
=
′
′
y x d
c
b a
y x
a, b, c, dは任意の実数
0
拡大・縮小
• 拡大・縮小は、次式で表される
– sx, syは、x方向、y方向の拡大(または縮小)率 – s>1で拡大、s<1で縮小
=
′
′
y x s
s y
x
y x
0
0
x y
0 原点中心
回転
• 原点を中心に、反時計回りに角度θ回転する
−
=
′
′
y x y
x
θ θθ cos θ
sin
sin cos
x y
0 原点中心
θ (x’,y’)
(x,y)
鏡映
• 直線に対して、対称な位置に反転する変換
= −
′
′
y x y
x
1 0
0 1
x軸に関する変換
x y
0
= −
′
′
y x y
x
1 0
0 1
y軸に関する変換
鏡映
• 直線y=xに関する変換
=
′
′
y x y
x
0 1
1 0
x y
0
スキュー(せん断)
• 長方形を傾けて平行四辺形にするような変換
x y
0 x方向へのスキュー
=
′
′
y x b
y x
1 0
1
x y
0
x y
0 y方向へのスキュー
=
′
′
y x c
y x
1 0 1
x y
0
θ
= tan b
θ
= tan c
θ
θ
ベクトル表現
• 行列を、ベクトルで置き換える
=
′
′
y x d
c
b a
y x
Ax x′ =
=
′
= ′
′
=
d c
b a
y x y
x x A
x , ,
線形変換は、2x2の行列で表現される
合成変換
• 座標xに対し、変換Aを施す
• 変換後の座標x’に対し、別の変換Bを施す
• Cは、C=BAなる2x2の行列である
• 線形変換の組合せは、線形変換となる
Ax x′ =
Cx x
BA Ax
B x B x
=
=
=
= ′
′′
) (
) (
順序に注意!
• 合成変換では、変換の順序を入れ替えると、 結果が異なる
– 合成変換の行列を求める際、行列の積がかける 順番により異なることに対応している
x y
0
30°回転
30°回転
y軸の鏡映
y軸の鏡映
平行移動
• 線形変換では表せない変換
• x軸方向の移動量tx、y軸方向の移動量ty
x y
0 y
x
t y
y
t x
x
+
′ == +
′
行列表現
+
=
′
′
y x
t t y
x y
x
1 0
0 1
これを、何とか一つの行列で表したい
同次座標
• 座標(x,y)に対し、その要素を1つ増やした座標
(ξ1,ξ2,ξ3)を定義する
• ξ1,ξ2,ξ3のうち、少なくとも1つは0ではない
• このように定義される座標を同次座標という
3 2 3
1 ,
ξξ ξξ =
= y
x
同値
• 同次座標において、任意のλ(λ≠0)に対して (ξ1,ξ2,ξ3)のλ倍(λ ξ1, λ ξ2, λ ξ3)は、同じ座標
– 同次座標では、定数倍しても変わらないと見なせる
• このような関係を同値という
• (ξ1,ξ2,ξ3)をξ3で割って、w倍する
3 2 3
2 3
1 3
1 ,
ξξ λξλξ
ξξ
λξλξ = = =
= y
x
(
x, y, 1) (
wx, wy, w)
, ,
3 3 3
2 3
1 = =
ξξ ξξ
ξξ
通常座標との関係
• 直線l上の点が、すべて通常座標の点(x
0,y0)
を表わす
• w=1として、(x,y,1)を使う
y
x w
0 x0 y0
w=1の平面 どの点も、通常座標では 同じ点(x
0,y0)を表わす
l
同次座標による表現
平行移動
線形変換
=
′
′
1 1
0 0
1 0
0 1
1
y x t
t y
x
y x
=
′
′
1 1
0 0
0 0
1
y x d
c
b a
y x
アフィン変換
=
1 0
0 1
0 0
0 0
1 0
0
1 0
0 1
y x y
x
t d
c
t b
a d
c
b a
t t
アフィン変換
• 原図形の長さや角度は保たれない
• 線分の直線性や平行性は保たれる
• 平行四辺形を、別の平行四辺形に移す変換
回転
平行移動
ユークリッド変換
射影変換
• 線分の平行性は失われる
• 線分の直線性は保たれる
• 四角形を、別の四角形に移すような変換
x y
0 x
y
0
射影変換
=
′
′
1 1 31 32 33
23 22
21
13 12
11
y x
h h
h
h h
h
h h
h y
x
33 32
31
23 22
21
33 32
31
13 12
11
1 1
h y
h x
h
h y
h x
y h y
h y
h x
h
h y
h x
x h x
+ + +
= +
= ′
′
+ ++ +
′ =
′ =
幾何学的変換の関係
射影変換 アフィン変換
拡大・縮小 鏡映
スキュー
回転 平行移動
ユークリッド変換 線形変換
再標本化
• ディジタル画像
– 縦横等間隔に標本化された位置に値(画素値)を 持つ
– 幾何学的変換を施すと、元画像の画素位置は、 変換後は標本化位置からずれる
y
x
y
x
変換後の画像を再び、 縦横等間隔に標本化 された位置の集まりに 修正する
逆変換
• 変換後の画素位置に対し、適用する幾何学的変換の 逆変換を行い、元の入力画像に対する位置を求める
• 求めた位置は、入力画像の画素位置からずれている
• 周囲の画素値を利用して、補間する
– ニアレストネイバー、バイリニア補間、バイキュービック補間
y
x
y
x
ニアレストネイバー
• 求めたい位置に最も近い画素位置の画素値をその まま利用する
• 値を求めたい位置を(x,y)とすると、その位置の画素 値は次式で表される
f(i,j)は、入力画素の位置(i,j)の画素値を返す
[x+0.5]は、xを四捨五入した値
(
[ 0.5],[ 0.5])
) ,
(x y = f x + y + f
( )i j
f ,
(i+ j1, +1)
f
(i j)
f +1,
(i, j +1)
f
( )x y
f , 処理は単純で高速だが、なめらかなエッジ
がぎざぎざになって現れるジャギーが発生 しやすい
バイリニア補間
• 求めたい位置(x,y)の画素値を、周りの4点の 画素値を用いて求める
– 距離の比率により線形補間して画素値を決める
• 画素値は次式となる
( )i j
f ,
(i+ j1, +1)
f
(i j)
f +1,
(i, j +1)
f
( )x y
f ,
p 1-p
q
1-q
( )
[ ]
−
−
= + + +
+
p p f
f
f q f
q y x f
j i j
i
j i j
i 1
1 ,
1 , 1 1
,
, 1 ,
平均化の効果を生じるので、ジャギーは 目立たなくなるが、エッジがなまる傾向 がある
バイキュービック補間
• 求めたい位置(x,y)の画素値を、周囲の16点 の画素値を用いて求める
バイリニア補間に比べて、 シャープで自然な画像が 得られる
f14 f24 f34 f44
f13 f23 f33 f43
f12 f22 f32 f42
f11 f21 f31 f41
(x,y)
y4
y1
y3
y2
x2 x3
x1 x4
補間法の比較
原画像
ニアレストネイバー
バイリニア補間
バイキュービック補間
カメラの基本
• ピンホールカメラ
• ピンホール
– 針先で開けた小さな孔
• 特徴
– レンズを使わない
– 光学中心を通った光だけを撮像面に結像する
• メリット
– 近いものから遠いものまでボケずに写す
• デメリット
– 撮像面に届く光の量は少ないので、時間がかかる
撮像装置
光学中心
レンズ
• ピンホールカメラ
– 孔を大きくすれば、光の量は増える – 画像がボケる
実際のレンズには厚みがあり、 厚肉レンズを考える必要がある
許容錯乱円直径
焦点深度 被写体距離
被写界深度 後側
被写界深度
前側 被写界深度
被写界深度
• 対象を鮮明に撮影する
– ピントの調節
• ピントが合うのは、特定の距離
– 被写界深度
– 焦点距離が短い程深い
透視投影モデル
• カメラ座標系
– カメラの光学中心を原点にする – Z軸をカメラの光軸方向にとる
– X軸とY軸を画像の横方向と縦方向に平行にとる
X
Y Z
0 カメラ座標系
x y
• (正規化)スクリーン座標系
– 画像面の位置を表す座標
– カメラの光軸と画像面との交点 を原点にする
– 画像の横方向と縦方向にx軸と y軸をとる
スクリーン座標系
(焦点距離は1に
Z 正規化)
y Y Z
x = ,X =
(X,Y,Z)
ワールド座標系
• 空間を表す座標系:空間中のある適当な位置 に原点を置く
X
Y Z
0 カメラ座標系
x y
正規化スクリーン座標系 Xw
Yw
Zw 0
ワールド座標系
(Xw,Yw,Zw)
u v
(u,v)
スクリーン座標系
• カメラ座標系の位置を、 ワールド座標系で表す
t
R +
=
w w
w
Z Y X
Z Y X
R:3x3の回転行列
t:3次元平行移動ベクトル
(cu , cv)
外部パラメータ
=
33 32
31
23 22
21
13 12
11
r r
r
r r
r
r r
r
R
=
3 2 1
t t t t
3x3の回転行列 3次元平行移動ベクトル
t
R +
=
w w
w
Z Y X
Z Y X
• 静的環境に対するカメラの動き、または固定 カメラの前方にある物体の剛体運動を表す
ワールド座標系を、カメラ座標系に変換する
内部パラメータ
• 正規化スクリーン座標系
– カメラの光軸と画像面との交点を原点にする – 焦点距離を1に正規化した
• スクリーン座標系
– 一般に、画像面と光軸の交点の位置は自明ではない
(適当に定める)
– 焦点距離は、f で定義される
– 長さの単位は、画素を用いる(画素で離散化)
スクリーン座標系から、正規化スクリーン座標系に変換する
( ) ( )
f c y v
f c
x = δu u − u , = δv − v
f: カメラの焦点距離
δu, δv: 画素の物理的間隔
(c u , cv)は光軸と画像面との交点位置
透視投影行列(射影カメラ行列)
• ワールド座標系からスクリーン座標系への変換
=
=
1 1 0
0
/ 0
0 /
1 1
0 0
/ 0
0 /
1
3 33
32 31
2 23
22 21
1 13
12 11
w w
w
v v
u u
v v
u u
Z Y X
t r
r r
t r
r r
t r
r r
c f
c f
y x c
f
c f
v u
δ δ δ δ
=
=
0 1 1 0 0
0 0 1 0
0 0 0 1
1 /
/
1 Z
Y X Z
Y Z X y
x
内部パラメータ 外部パラメータ
カメラ・キャリブレーション
• 内部パラメータは、視点に依存しない
– 一度推定すれば焦点距離を固定している限り、一定として 扱える
– ただ、カメラにはカメラの内部パラメータ以外に、レンズ歪み の影響がある
– そのため、歪み関数などを用いることにより、レンズ歪みを 近似して、補正する
キャリブレーション例
• 格子パターンを使う
補正前 補正後
課題の提出
• ファイルによる提出
– ローカルにフォルダを作る
(学生番号と名前の組合わせのフォルダ名) – 提出用Yドライブの中
– 2017/T5_映像メディア工学 – フォルダをコピー
• レポートは紙で提出
今後の予定
• 1月22日 通常授業
• 1月29日 演習
• 2月 5日 期末試験
• 2月19日 課題発表
38