画像情報処理論及び演習i -デジタル画像の表現と応用-miny min(yj,0), j 0,1,2,3....

7
1 吉澤 [email protected], 非常勤講師 -デジタル画像の表現と応用- アフィン変換と画素値の補間 大妻女子大学 社会情報学部 画像情報処理論及び演習I 情報デザイン専攻 第5回講義 水曜日1限 教室6215情報処理実習室 Shin Yoshizawa: [email protected] 今日の授業内容 アフィン変換. 輝度値の補間. 演習:前回の続き. www.riken.jp/brict/Yoshizawa/Lectures/index.html www.riken.jp/brict/Yoshizawa/Lectures/Lec05.pdf Shin Yoshizawa: [email protected] アフィン変換とは? アフィン変換(Affine Transformation)は既知の行列 とベクトル を用いて座標変換 により点 を点 へ写像: Collinearityを保存:直線は必ず直線に写像される. 回転、平行移動、拡大縮小、シェアリングの組(反転・相似含)で構成される. t Ax x y ) ( f x y t 回転 拡大・縮小 平行移動 シェアリング 反転 A Shin Yoshizawa: [email protected] アフィン変換とは? 2次元では、 とすると、アフィン変換は以下の様に書ける. 2 1 22 21 12 11 b b v u a a a a y x , ), , ( ), , ( ), , ( 22 21 12 11 2 1 a a a a b b v u y x A t x y 画像1 画像2 1 ) , ( y x 2 ) , ( v u f ) , ( y x y ) , ( v u x ) , ( ) , ( : y x v u f アフィン変換(Affine Transformation)は既知の行列 とベクトル を用いて座標変換 により点 を点 へ写像: t Ax x y ) ( f x y t A (u,v)に線形な変換である:厳密には平行 移動がある形式は線形変換とは言わない が、斉次座標系で表すと線形変換となる. Shin Yoshizawa: [email protected] 斉次座標系での変換 アフィン変換は斉次座標系では線形変換で表せる: 1 1 0 0 1 2 22 21 1 12 11 v u b a a b a a y x 1 1 0 1 ) ( x t A y t Ax x y f 斉次座標(Homogeneous coordinates): 以下 の様に一次元高い空間で表す座標: アフィン変換を行列積で表せたり,射影変換を 行列で表せるためCGやCADでよく用いられる. 2 1 22 21 12 11 b b v u a a a a y x ) ,..., , ( ) ,..., , ( 1 1 2 1 1 2 1 n n n n n u u u u u u x x x 画像1 画像2 1 ) , ( y x 2 ) , ( v u f ) , ( y x y ) , ( v u x ) , ( ) , ( : y x v u f Shin Yoshizawa: [email protected] 重要: 変換後の画像の大きさ 変換後の画像の大きさは、まず入力画像の四隅の座標 をアフィン変換してその横幅と縦の高さを新たな画像の 大きさとするのが基本. f アフィン変換 t Ax x y ) ( f ) 0 , 0 ( 0 q 1 h 1 w ) 0 , ( 1 1 w q ) , 0 ( 1 2 h q ) , ( 1 1 3 h w q 0 p 2 h 2 w , min max , min max 2 2 Y Y h X X w 1 p 2 p 3 p ). ( ), ( ), ( ), ( 3 3 2 2 1 1 0 0 q p q p q p q p f f f f 求めたい大きさ: max,min: 4つのpの中で最も大きな/小さなX or Y座標.

Upload: others

Post on 30-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

1

吉澤 信[email protected], 非常勤講師

-デジタル画像の表現と応用-アフィン変換と画素値の補間

大妻女子大学 社会情報学部

画像情報処理論及び演習I

情報デザイン専攻

第5回講義

水曜日1限

教室6215情報処理実習室

Shin Yoshizawa: [email protected]

今日の授業内容

① アフィン変換.

② 輝度値の補間.

③ 演習:前回の続き.

www.riken.jp/brict/Yoshizawa/Lectures/index.html

www.riken.jp/brict/Yoshizawa/Lectures/Lec05.pdf

Shin Yoshizawa: [email protected]

アフィン変換とは?

アフィン変換(Affine Transformation)は既知の行列 とベクトルを用いて座標変換 により点 を点 へ写像: Collinearityを保存:直線は必ず直線に写像される.

回転、平行移動、拡大縮小、シェアリングの組(反転・相似含)で構成される.

tAxxy )(f x yt

回転 拡大・縮小

平行移動 シェアリング

反転

A

Shin Yoshizawa: [email protected]

アフィン変換とは?

2次元では、

とすると、アフィン変換は以下の様に書ける.

2

1

2221

1211

b

b

v

u

aa

aa

y

x

,),,(),,(),,(2221

121121

aa

aabbvuyx Atxy

画像1 画像2

1),( yx2),( vu

f),( yxy),( vux

),(),(: yxvuf

アフィン変換(Affine Transformation)は既知の行列 とベクトルを用いて座標変換 により点 を点 へ写像:tAxxy )(f x y

tA

(u,v)に線形な変換である:厳密には平行移動がある形式は線形変換とは言わないが、斉次座標系で表すと線形変換となる.

Shin Yoshizawa: [email protected]

斉次座標系での変換

アフィン変換は斉次座標系では線形変換で表せる:

1100122221

11211

v

u

baa

baa

y

x

1101)(

xtAytAxxy f

斉次座標(Homogeneous coordinates): 以下の様に一次元高い空間で表す座標:

アフィン変換を行列積で表せたり,射影変換を行列で表せるためCGやCADでよく用いられる.

2

1

2221

1211

b

b

v

u

aa

aa

y

x

),...,,(),...,,(11

2

1

121

n

n

nnn u

u

u

u

u

uxxx

画像1 画像2

1),( yx2),( vu

f),( yxy),( vux

),(),(: yxvuf

Shin Yoshizawa: [email protected]

重要:変換後の画像の大きさ

変換後の画像の大きさは、まず入力画像の四隅の座標をアフィン変換してその横幅と縦の高さを新たな画像の大きさとするのが基本.

f

アフィン変換tAxxy )(f

)0,0(0 q

1h

1w )0,( 11 wq

),0( 12 hq ),( 113 hwq

0p

2h

2w

,minmax,minmax 22 YYhXXw

1p

2p 3p

).(),(),(),( 33221100 qpqpqpqp ffff

求めたい大きさ:

max,min: 4つのpの中で最も大きな/小さなX or Y座標.

Page 2: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

2

Shin Yoshizawa: [email protected]

変換後の画像の大きさ2

).(),(),(),( 33221100 qpqpqpqp ffff max,min: 4つのpの中で最も大きな/小さなX or Y座標.

.3,2,1,0),,( jyx jjjp とすると、

.3,2,1,0),max(max jxX j

.3,2,1,0),0,min(min jxX j

.3,2,1,0),max(max jyY j

.3,2,1,0),0,min(min jyY j

.minmax

,minmax

2

2

YYh

XXw

変換後の画像の大きさ:

0p

2h

2w1p

2p 3p

Shin Yoshizawa: [email protected]

変換後の画像の大きさ3

平行移動も入っているときは平行移動ベクトルの大きさを最後に足す事に注意.

.minmax

,minmax

2

2

YYh

XXw

変換後の画像の大きさ:

0p

2h

2w1p

2p 3p

)0,0( x

y

),( 21 bbt

t 最終的な画像の大きさ:

),( 2212 bhbw

演習では変換後のサイズを計算する関数を提供します.

Shin Yoshizawa: [email protected]

平行移動:Translation

平行移動

),( 000 yxy

),( 000 vux

2

1

2

1

2221

1211

b

b

v

u

y

x

b

b

v

u

aa

aa

y

x

),,(),( 00000021 vyuxbb xyt

),( 000 vux t

平行移動ベクトル:

.10

01

A

変換行列Aは単位行列になる:

u

v

x

y

Shin Yoshizawa: [email protected]

拡大・縮小1:Scaling

v

u

y

x

b

b

v

u

aa

aa

y

x

0

0

2

1

2221

1211

),0,0(),( 21 bbt

平行移動ベクトルはゼロベクトルになる:

X-スケーリング・ファクター: ./ 12 ww

Y-スケーリング・ファクター: ./ 12 hh1w

縮小:

1h

2w

2h

.1,

.1, 拡大: yv

u x

Shin Yoshizawa: [email protected]

拡大・縮小2:Scaling

v

u

y

x

b

b

v

u

aa

aa

y

x

0

0

2

1

2221

1211

),0,0(),( 21 bbt

平行移動ベクトルはゼロベクトルになる:

スケーリング・ファクター:

のとき縦横比(Aspect Ratio)は保存される:

.1

2

1

2

h

h

w

w

1w

縮小:

1h

2w

2h

.1

.1拡大:

x

yv

u

Shin Yoshizawa: [email protected]

シェアリング1:X-Shearing

v

u

y

x

b

b

v

u

aa

aa

y

x s

10

1

2

1

2221

1211

),0,0(),( 21 bbt

平行移動ベクトルはゼロベクトルになる:

X-シェア・ファクター: ./ 12 hws

1w

1h

X-シェアリング

v

u

2w

1h

y

x

1w

Page 3: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

3

Shin Yoshizawa: [email protected]

シェアリング2:Y-Shearing

v

u

y

x

b

b

v

u

aa

aa

y

x

s 1

01

2

1

2221

1211

),0,0(),( 21 bbt

Y-シェア・ファクター: ./ 12 whs

Y-シェアリング

v

u

1w2h

y

x

1w

1h

1h

平行移動ベクトルはゼロベクトルになる:

Shin Yoshizawa: [email protected]

シェアリング3:Shearing

v

u

y

x

b

b

v

u

aa

aa

y

x

s

s

1

1

2

1

2221

1211

),0,0(),( 21 bbt

平行移動ベクトルはゼロベクトルになる:

X-シェア・ファクター:

Y-シェア・ファクター:

X-Y-Shearv

u

.s

.s

y

x

Shin Yoshizawa: [email protected]

反転

v

u

mmmm

mmmm

y

x

b

b

v

u

aa

aa

y

x

xyyx

yxyx22

22

22

1

2221

1211

2

21

m

v

u

原点を通る反転軸の方向ベクトル: ).,( yx mmm

軸反転

y

x

m

).0,0(),( 21 bbt 平行移動ベクトルはゼロベクトルになる:

m

Shin Yoshizawa: [email protected]

回転1:Rotation

v

u

y

x

b

b

v

u

aa

aa

y

x

cossin

sincos

2

1

2221

1211

),0,0(),( 21 bbt

回転行列: 平行移動ベクトルは

ゼロベクトルになる:,

cossin

sincos

A

回転角: ,

回転

x

yv

u

Shin Yoshizawa: [email protected]

画像の座標系は…

)0,0( j

i

)0,1( sx

)1,1( sysx)1,0( sy

なので普通に回転すると…

)0,0( j

i

回転2:RotationShin Yoshizawa: [email protected]

画像の中心を原点とする座標系で回転させたい場合は一回、中心に平行移動させて回転後に逆向きの平行移動をする:

回転3:Rotation

ccxyxy

)(

cossin

sincos

cossin

sincos

)2/,2/( sysxc

)0,0( j

i sx

syc

)0,0( j

i

)0,0( j

i

c

)0,0( j

i

c回転

平行移動 平行移動

Page 4: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

4

Shin Yoshizawa: [email protected]

入力と出力の画像サイズが違うとき:

回転4:Rotation

outin ccxy

)(

cossin

sincos

)0,0( j

i sx

syinc

)0,0( j

i

)0,0( j

i

)0,0( j

i

回転

平行移動 平行移動

outc

Shin Yoshizawa: [email protected]

平行移動も入っているときは出力画像の中心位置 が:(画像サイズー平行移動ベクトル)の半分になる事に注意.

回転5:Rotation

)0,0( j

i sx

syinc

)0,0(j

isx

syoutc

outc

t

.2/)),(( tc sysxout

t

Shin Yoshizawa: [email protected]

回転の後に拡大・縮小等、複数変換を行う場合は、画像を変換毎にセーブするのではなく、写像を合成して変換を行うのが基本:

写像の合成:複数の変換転

)(...)( 21 xx nffff

10

1

10

010

01

1

01

cossin

sincos

x

x

A

回転拡大・縮小 Y-シェア 拡大・縮小Y-Dilatation

拡大・縮小

Y-Dilatation

X-シェア

tAxxy )(f

Shin Yoshizawa: [email protected]

写像の分解1

行列分解の種類だけ分解可能:アフィン変換の行列は以下の9種類に分類される:

10

1

10

010

01

1

01

cossin

sincos

x

x

ALDU分解:

cossin

sincos

10

1

10

010

01

1

01 x

x

A

10

1

10

010

01

1

01 xx

xy

A

1

01

10

010

01

10

1

y

x

x

xA

Type 1:

Type 2:

Type 3:

Type 4:

Shin Yoshizawa: [email protected]

写像の分解2

行列分解の種類だけ分解可能:アフィン変換の行列は以下の9種類に分類される:

10

1

10

010

01

cossin

sincos

x

x

A

QR分解:

cossin

sincos

10

1

10

010

01x

x

A

1

01

10

010

01

cossin

sincos

x

x

A

QL分解:

cossin

sincos

1

01

10

010

01x

x

A

22

22

11

11

cossin

sincos

10

010

01

cossin

sincos

x

x

A特異値分解:

Type 5:

Type 6:

Type 7:

Type 8:

Type 9:

Shin Yoshizawa: [email protected]

重要:画像では?順変換と逆変換1

逆変換した位置の画素値を周りの画素値を使って決定(補間).

逆変換 + 画素値の補間によるアフィン変換:- 順写像(Forward Mapping) VS 逆写像(Backward Mapping):

f

順変換

tAxy

1f

逆変換

)(1 tyAx

),( vux

),( yxy

Page 5: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

5

Shin Yoshizawa: [email protected]

順変換と逆変換2

逆変換順変換

Shin Yoshizawa: [email protected]

順変換と逆変換3

逆変換

順変換

Shin Yoshizawa: [email protected]

順変換と逆変換41f

逆変換

)(1 tyAx

2

1

2221

1211

b

b

v

u

aa

aa

y

x

2

1

1121

1222

21122211

1by

bx

aa

aa

aaaav

u

ac

bd

bcadA

dc

baA

11

↓なので、

),( vux

),( yxy

逆変換:

ad-bc=0になる様な変換は作ってはいけない.

Shin Yoshizawa: [email protected]

順変換と逆変換51f

逆変換

)(1 tyAx

y

x

y

x

c

c

bcy

bcx

aa

aa

aaaav

u

2

1

1121

1222

21122211

1

),( vux

),( yxy

逆変換:

画像の中心を原点とする座標系では:

),2/,2/(),(,)(1 sysxcc yx cctcyAx

Shin Yoshizawa: [email protected]

順変換と逆変換61f

逆変換

)(1 tyAx

y

in

xin

yout

xout

c

c

bcy

bcx

aa

aa

aaaav

u

2

1

1121

1222

21122211

1

),( vux

),( yxy

逆変換:

,)(1inout ctcyAx

入力と出力の画像サイズが違うとき:

Shin Yoshizawa: [email protected]

補間(Interpolation)とは?

与えられた既知の数値データ列を基に、そのデータ列の間の数値(又は既知の数値データ列を通る関数)を求める事、内挿とも言う. 与えられたデータ外を考える場合は補外(外挿)と言う.

1xx

y

1y

2x

2y

3x

3y

kx

での の値は?

1xx

y

1y

2x

2y

3x

3y

補間曲線補間

)(xfy

kx y

kx

)( kxf

Page 6: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

6

Shin Yoshizawa: [email protected]

様々な補間法

多くの方法がある:

- ラグランジュ補間、多項式、

- 線形補間(直線の式)、Sinc関数、

- スプライン補間(B-Spline, etc.)、

- RBF (Radial Basis Function)、エルミート補間等.

一番基本でよく用いられているのは線形補間と3次スプライン補間(Cubic Spline Interpolation).

補間はいろいろ使える.

©S. Yoshizawa et al. ACM SMA, 2003. ©Y. Ohtake, 2011.

Shin Yoshizawa: [email protected]

重要:画像では?画素値の補間(2D)

周りの画素値を使って補間:

5倍拡大

逆変換+線形補間

順変換

講義では…

最近傍法

線形補間法

3次Spline補間法

Shin Yoshizawa: [email protected]

補間:最近傍法(Nearest Neighbor)1f

逆変換

)(1 tyAx

),( vux

),( yxyx

.3,2,1,0),(minarg)( jI jI

pxx)(xI

近傍4つの画素値のうち最も近い画素の値を使う.

),( jiI )1,( jiI

),1( jiI )1,1( jiI).1,1(),,1(

),1,(),,(

32

10

jiji

jiji

pp

pp

Shin Yoshizawa: [email protected]

補間:線形補間法(Linear Interpolation)

.)1(

))1,1()1(),1()(1(

))1,()1(),(()(

1222

112

112

ff

jiIjiI

jiIjiII

x

)(xI

近傍4つの画素値を線形補間する.

),( jiI )1,( jiI

),1( jiI )1,1( jiI

1)1( 1

2

)1( 2

).1,()1(),(

).1,1()1(),1(

112

111

jiIjiIf

jiIjiIf

2f

1f

Shin Yoshizawa: [email protected]

補間:線形畳み込み法

線形補間や3次Spline補間は「線形畳み込み(Linear Convolution)」と呼ばれる重み付和で計算出来る.重みの事を補間関数という.

この方法は画像等の間隔が同じ格子が並んでいる場合に有効で簡単に適用出来る.

yyyxx dIgI )()()(new

x補間関数

y

と の畳み込み:g I

既知の輝度値

補間された輝度値

補間したい画素の位置 x

y近傍の画素の位置x

もしも、 ならば、

Shin Yoshizawa: [email protected]

補間:線形畳み込み法

,),(),()()()(new dudvvuIvyuxgdIgI yyyxx

)()(),( 21 vgugvug

画像では、

.]][[)()(

),()()(

),()()(

),(),()(

12

12

21

new

N

i

M

j

jiIjxgiyg

dvduvuIuxgvyg

dudvvuIvyguxg

dudvvuIvyuxgI x

Page 7: 画像情報処理論及び演習I -デジタル画像の表現と応用-minY min(yj,0), j 0,1,2,3. max min . max min , 2 2 h Y Y w X X 変換後の画像の大きさ: p0 h2 w2 p1

7

Shin Yoshizawa: [email protected]

補間:3次補間法(Cubic Interpolation)

近傍16個の画素値を3次補間する.

x

x

x

axaxaxa

xaxa

xg

2

21

10

0

,4||8||5||

,1||)3(||)2(

)( 23

23

.),()()()(2)(int)(

1)(int)(

2)(int)(

1)(int)(

new

y

yi

x

xj

jiIjxgiygI x

)(xI

))(int)(),((int)( yx

aは-0.5~2がよい.

),( yxx

線形補間関数3次補間関数

Shin Yoshizawa: [email protected]

補間法の比較

3次補間 線形補間 最近傍補間

Shin Yoshizawa: [email protected]

補間法の比較2

3次補間 線形補間 最近傍補間

Shin Yoshizawa: [email protected]

3次補間、線形補間、最近傍の順に精度が良い.

例えば、5度づつ72回転しその都度補間を行うと...

3次補間 線形補間 最近傍補間

補間法の比較3

Shin Yoshizawa: [email protected]

演習

前回(Lec04.pdf)の演習4-1~4-5の続きを進めてください.

www.riken.jp/brict/Yoshizawa/Lectures/index.htmlwww.riken.jp/brict/Yoshizawa/Lectures/Lec04.pdf

最初のレポートは↑の内容なので頑張ってp(^ ^)q!

わかんなーい(´・ω・`)?という人は遠慮なく質問してください!

Shin Yoshizawa: [email protected]

次回の予定

目標:大津法がプログラミング出来る様になる!