画像工学における典型的な処理段階

画像工学における典型的な処理段階
1. 画像信号の獲得(常にカメラによる)
2. 画像信号のディジタル化(フレームグラッバー・ボードによる)
3. 画像の復元
4. 画像の変換、画像のフィルタリング
5. 画像の分割、エッジ点の抽出、角点の抽出、など
6. 特徴の抽出、特徴のグルーピング
7. 特徴の分類化、特徴とモデルの照合、対象の認識、シーンの解釈
8. 結果の出力・保存
c
OECU Michael Hild 2003
1
画像の復元
画像センサ、カメラ というものは 理想的ではない。
出力される画像には色々な 歪み および 欠陥 が含まれている。
⇒
そういう画像には 補正処理が必要 です。主に、次の二つの現象を
取り上げる。
• CCD 素子のダークカレント。
• CCD 素子の雑音。
c
OECU Michael Hild 2003
2
ダークカレントの補正
• ダークカレントの現象:
画像を真っ黒の部屋の中で撮影される時、
CCD センサの出力が零にならない。
10
Brightness L(x)
8
6
4
2
0
40
c
OECU Michael Hild 2003
60
80
100
120
140
x (Image space axis)
3
160
• ダークカレントの原因:
外からの光がなくても、CCD センサ要素の中の電子の
ランダムな運動において、弱い漏れ電流 が流れる。
• この電流は「ダークカレント」と呼ばれている。
• ダークカレントの 強さはセンサの温度による。
高い温度 ⇒ 強い電流
低い温度 ⇒ 弱い電流
I_dc (dark current due to electron motion)
-271
c
OECU Michael Hild 2003
0
4
T (temperature) [degree C]
ダークカレント補正の手続き
1. レンズのキャップを付けた状態で、複数の画像を撮影する(真っ
黒な画像)。
2. 各々の画素の明度平均を複数の画像から計算し、
その結果を「ダークフレーム」として保存する。
3. 後に撮影する画像の各々の画素の明度から、
その「ダークフレーム」の明度を画素ごとに引く。
c
OECU Michael Hild 2003
5
センサ雑音(ノイズ)
• 雑音とは何か
⇒ 信号の値には ランダムな変動 がある。
• 雑音の原因
– センサに当たる光粒子の数の統計学的な変動
– 増幅器、抵抗器、ケーブルなどにおける電子的変動
– 光源における不安定
– センサ素子における電子的な不安定
• センサ雑音の二つの側面
1. ある特定の 画像の点(ピクセル)を観察する時、
センサ出力の ランダムで時間的な変動 を確認できる。
2. ある特定の時刻において、
センサ出力の ランダムで空間的な変動 を確認できる。
c
OECU Michael Hild 2003
6
• 雑音を含まれているセンサー出力信号は、
理想的な画像信号 および ランダムな変動(雑音)
の二つの部分からなる。
• 殆どの CCD センサーの場合には、
出力信号のこれらの二つの部分が
加法的に(即ち、足し算で)組み合わせられている。
R-component of ColorChecker grayscale
R
260.00
240.00
220.00
200.00
180.00
160.00
140.00
120.00
100.00
80.00
60.00
40.00
20.00
0.00
X
Figure 1: Test chart.
0.00
100.00
200.00
300.00
400.00
Figure 2: Signal.
c
OECU Michael Hild 2003
7
500.00
600.00
• センサー雑音の、ランダムで空間的変動である場合:
R(x, y; t0) = r(x, y; t0) + n(x, y; t0)
r(x, y; t0): 時刻 t0 における信号の 理想的 な部分
n(x, y; t0): 信号の時刻 t0 における 空間的な変動
n( t; x0 )
t
(time)
c
OECU Michael Hild 2003
8
(1)
• センサー雑音の ランダムで時間的変動の場合:
R(t; x0 , y0 ) = r(x0 , y0) + n(t; x0 , y0)
(2)
r(t; x0, y0 ): 画像の位置 (x0 , y0) における信号の 理想的 な部分
n(t; x0 , y0): 信号の位置 (x0 , y0) における 時間的な変動 の部分
n( x; t0 )
x
(space
axis)
c
OECU Michael Hild 2003
9
• 雑音による信号変動はランダムに起こるため、
センサー雑音は確率変数の特性を持ち。
• この 確率変数の値の分布 は多くの場合に 正規分布 を
なしている。
• このことを下記の 確率密度関数 により表す:
1
f (n) = √
e
2πσ
2
− n2
2σ
(3)
• この関数は ガウス確率密度関数 としても知られている。
• この関数の値の 平均は零 である。
E[n(t; (x0 , y0 ))] = 0
(4)
• 関数の値の 分散 は下記のとおりである:
E[n2 ] = σ 2
c
OECU Michael Hild 2003
10
(5)
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.0
−10
0.2
−5
0
5
Figure 3: Gauss function.
c
OECU Michael Hild 2003
10
0.0
−10
−5
0
5
10
Figure 4: Gauss function without normalization.
11
• 正規確率密度関数の特徴 を思い出してもらいたい:
– 確率変数 n が −∞ と +∞ の間のある値を取る確率:
P (−∞ < n < +∞) =
+∞
−∞
f (n)dn = 1
(6)
– 確率変数 n が n1 と n2 の間のある値を取る確率:
P (n1 < n < n2 ) =
n2
n1
f (n)dn
(7)
– ガウス確率密度関数の「幅」は標準偏差 σ の値に依存する。
c
OECU Michael Hild 2003
12
画像雑音のヒストグラム
Figure 6: Signal.
Figure 5: Test chart.
c
OECU Michael Hild 2003
13
画質の尺度: 信号対雑音の比
• CCD センサーは出力信号に加えている 雑音が低いほど、
得られる 画像の質がよい.
• 雑音と信号の間のこの関係は
いわゆる「信号対雑音比 (SNR)」である。
• SNR の定義:
E[R(x, y; t0)]
σ
• 標準偏差 σ が信号の強さに依存しないである。
SNR =
(8)
• SNR が信号の強さ(即ち、信号の絶対値)に比例している。
• 従って、画像のある領域の中の明度が高いほど、SNR の値が高い。
c
OECU Michael Hild 2003
14
信号対雑音比の例
Standard Deviation vs. Mean
SNR
stddev
SNR
10.00
28.00
9.50
9.00
26.00
8.50
24.00
8.00
22.00
7.50
20.00
7.00
6.50
18.00
6.00
5.50
16.00
5.00
14.00
4.50
12.00
4.00
10.00
3.50
3.00
8.00
2.50
2.00
6.00
1.50
4.00
1.00
2.00
0.50
0.00
0.00
0.00
50.00
100.00
150.00
200.00
R
250.00
Figure 7: Variance of image noise as a function
of local average brightness.
c
OECU Michael Hild 2003
0.00
50.00
100.00
150.00
200.00
R
250.00
Figure 8: SNR as a function of local average
brightness.
15
空間的フィルタリングによる雑音の抑制
• 雑音の一つの側面としては
局所的な画像領域内のランダムな変動 がある。
• その局所領域の中心において 雑音を含まない信号の復元 でき
る。
⇒
その領域内の センサ信号の平均を求める ことが必要。
• この局所的な平均計算を画像のすべてのピクセルにおいて行う。
• この計算を「空間的フィルタリング」、あるいは、
「近傍平均処理」と呼ぶ。
c
OECU Michael Hild 2003
16
雑音を抑制するためのボックスフィルタ
• フィルタマスク(3x3 ピクセルの場合)


1 1 1


1

 1 1 1 
A(x, y) = 



9
1 1 1
(9)
• フィルタリング処理:
1
1
1 IA (x, y) =
I(x + i, y + j) · A(i + 1, j + 1)
9 i=−1 j=−1
j
0
Filter mask
A(i,j)
i
Image I(x,y)
y
0
c
OECU Michael Hild 2003
x
17
(10)
• 雑音の抑制の数学的な意味
1. 画像における 高い空間周波数が抑制 される。
N(f)
frequency spectrum of an image
before filtering
after filtering
0
spatial frequency
f [Hz]
2. 画像の 細かい(低い)明度変動が押えられる。
⇒
このフィルタは 画像の平滑処理 を行う。
c
OECU Michael Hild 2003
18
R-component of ColorChecker grayscale
R
260.00
240.00
220.00
200.00
180.00
160.00
140.00
120.00
100.00
80.00
60.00
40.00
20.00
0.00
X
0.00
Figure 9: Test chart.
100.00
200.00
300.00
400.00
500.00
600.00
Figure 10: Signal.
250
200
R(x)
150
100
50
0
0
100
200 300 400 500
x (image space axis)
Figure 11: Test chart.
Figure 12: Signal.
c
OECU Michael Hild 2003
19
600
700
• ボックスフィルタの欠点:
– ボックスフィルタは 平滑処理を正確に行えない
⇒
もとの画像になかった「さざ波 (ripple)」という明度構造(明
度特徴)が現れる。
– 急に上がる/下がる明度(すなわち、明度のステップエッ
ジ)のところの 一次微分が低くなる
(すなわち、そこの明度関数の接線の傾きは浅くなる)
⇒
画像がぼけてしまう。
c
OECU Michael Hild 2003
20
• 空間的ガウスフィルタを用いた雑音の抑制
• ガウスフィルタのマスク:
フィルタマスクを作成するために、2 次元のガウス関数 を用い
る。
2 2
1
− x +y
G(x, y) =
(11)
e 2σ2
2πσ
"g2d.dat"
G(x,y)
1
0.8
0.6
0.4
y
0.2
10
5
0-10
0
-5
0
-5
5
10 -10
x
c
OECU Michael Hild 2003
21
• ガウス関数の 幅はパラメーター σ に依存 する。
• 例:
σ 2 = 12 の場合のガウスフィルタマスク(すなわち、3x3 画素に
限定した場合)の係数:

G(x, y) =








G(−1, 1) G(0, 1) G(1, 1)   0.030 0.083 0.030



 =  0.083 0.225 0.083
G(−1.0) G(0, 0) G(1, 0) 




G(−1, −1) G(0, −1) G(1, −1)
0.030 0.083 0.030
(12)
• フィルタリング処理:
IG(x, y) =
1
1
1 I(x + i, y + j) · G(i + 1, j + 1)
S i=−1 j=−1
(13)
S: すべての係数の和
• ガウスフィルタの伝達関数:ローパスフィルタ
画像構造の高い空間周波数が抑制され、低い空間周波数が残る。
c
OECU Michael Hild 2003
22







• ガウスフィルタの欠点:
フィルタマスクの 係数は実数 である
⇒
フィルタリング処理の速度は遅い。
c
OECU Michael Hild 2003
23
ガウスフィルタリングの整数近似:二項分布型フィルタ
(Binomial Filter)
• ガウス確率密度関数を二項確率密度関数により近似 できる。
• 二項確率密度関数は、離散の値(数字)のための確率密度関数
である。
• その 2 項係数 を Pascal の三角形 で表現できる(一次元の場
合)
:
n
0
1
1
1
2
1
3
1
4
1
5
6
c
OECU Michael Hild 2003
1
1
2
3
4
5
6
1
3
6
10
15
1
1
4
10
20
24
1
5
15
1
6
1
• 二項分布型フィルタの2次元的フィルタマスク(n = 2 の場合):

B2 (i, j) = 1 2 1









1 1 2 1








2=2 4 2




1
1 2 1
(14)
• 二項分布型フィルタマスクの画像への応用:
IB (x, y) =
1
1
1 I(x + i, y + j) · B2 (i + 1, j + 1)
S i=−1 j=−1
S: すべての係数の和
⇒ S = 16
c
OECU Michael Hild 2003
25
(15)
• (n = 6 の場合):

B6 (i, j) = 1 6 15 20 15 6 1

 1


 6


 15


 20
B6 (i, j) = 



 15


 6


1
c
OECU Michael Hild 2003
6
36
90
120
90
36
6
15
90
225
300
225
90
15
26
20
120
300
400
300
120
20
15
90
225
300
225
90
15





















1 

5 



15 



20 


15 



5 


1
6
36
90
120
90
36
6
1
6
15
20
15
6
1
(16)





















(17)
• n=6 の二項分布型フィルタマスクの画像への応用:
IB (x, y) =
3
3
1 I(x + i, y + j) · B6 (i + 3, j + 3)
S i=−3 j=−3
S: すべての係数の和
⇒ S = 4096
c
OECU Michael Hild 2003
27
(18)
250
R-component of ColorChecker grayscale
R
260.00
200
240.00
220.00
200.00
150
R(x)
180.00
160.00
140.00
100
120.00
100.00
50
80.00
60.00
40.00
0
0
100
200 300 400 500
x (image space axis)
600
700
20.00
0.00
X
0.00
Figure 13: Test chart.
Figure 14: 3x3 Binomial filter
mask.
100.00
200.00
300.00
400.00
500.00
600.00
Figure 15: Raw signal.
250
R-component of ColorChecker grayscale
R
260.00
200
240.00
220.00
200.00
150
R(x)
180.00
160.00
140.00
100
120.00
100.00
50
80.00
60.00
40.00
0
0
100
200 300 400 500
x (image space axis)
600
700
20.00
0.00
X
0.00
Figure 16: Test chart.
Figure 17: 7x7 Binomial filter
mask.
c
OECU Michael Hild 2003
28
100.00
200.00
300.00
400.00
500.00
Figure 18: Raw signal.
600.00
時間的平均を計算することによる雑音抑制
• センサによる画像雑音の抑制を下記の 手続き により行う:
1. (静止している)シーンの 複数の画像を撮影 する。
2. それらの画像の中で対応する ピクセルの明度の平均を計算
する。
(「対応する」の意味:
「同じ座標を持つ」ということ)
3. その 平均値を結果画像の明度値に する。
∀x, y :
ˆ y) = 1
I(x,
K
K
k=1
I k (x, y)
I k (x, y): k 番目の画像
ˆ y): すべての K 枚の画像の(ピクセルことの)平均
I(x,
c
OECU Michael Hild 2003
29
(19)
時間平均フィルタリング
I 1(x,y)
I K(x,y)
^
I (x,y)
(x,y)
1
c
OECU Michael Hild 2003
2
3
30
4
5
K
• 雑音が抑制された画像の 雑音標準偏差 σ は
その 明度平均値を計算するために用いた画像の枚数による。
σ(N) = σ(1) · N b ,
−1.0 < b < 0.0
(20)
b:
パラメーター(-0.5 に近い値)
σ(N): N 枚の画像を平均した後の雑音標準偏差
σ(1): 1 枚の画像の雑音標準偏差
ColorChecker averaged (50x) R
Standard Deviation of image noise
R
R-component of ColorChecker grayscale
Sigma
R
R
260.00
10.00
240.00
9.50
240.00
9.00
220.00
220.00
8.50
200.00
8.00
200.00
7.50
180.00
180.00
7.00
6.50
160.00
160.00
6.00
140.00
5.50
140.00
5.00
120.00
120.00
4.50
4.00
100.00
100.00
3.50
80.00
80.00
3.00
2.50
60.00
60.00
2.00
40.00
40.00
1.50
1.00
20.00
20.00
0.50
0.00
0.00
0.00
X
0.00
100.00
200.00
300.00
400.00
500.00
c
OECU Michael Hild 2003
600.00
N
0.00
10.00
20.00
30.00
31
40.00
50.00
X
0.00
100.00
200.00
300.00
400.00
500.00
600.00
雑音抑制のための空間フィルタ法 と 時間フィルタ法の比較
空間フィルタ法 時間フィルタ法
ステップエッジのぼけ
yes
no
静止物体に適切
yes
yes
動物体に適切
yes
no
• 静止物体の場合には、時間フィルタ法がより適切である。
• 動止物体の場合には、空間フィルタ法がより適切であるが、
ステップエッジがぼけることは避けられない。
c
OECU Michael Hild 2003
32