Transcript 2回目PPT

可視化情報処理・同演習
2. コンピュータ利用可視化法(1)
可視化手法の枠組み
• 実験的可視化法
– 壁面トレース法
– タフト法
– トレーサ法
– 光学的可視化法
• コンピュータ利用可視化法
– 画像データ可視化法
– 計算データ可視化法
– 計測データ可視化法
可視化手法の枠組み
• 実験的可視化法
– 壁面トレース法
– タフト法
– トレーサ法
– 光学的可視化法
• コンピュータ利用可視化法
– 画像データ可視化法
– 計算データ可視化法
– 計測データ可視化法
可視化手法の枠組み
• 実験的可視化法
– 壁面トレース法
– タフト法
– トレーサ法
– 光学的可視化法
• コンピュータ利用可視化法
– 画像データ可視化法
– 計算データ可視化法
– 計測データ可視化法
画像処理法:画像の前処理(1)
ヒストグラムによるコントラストの改善(線形な濃度変換)
• コントラストとは? → 明暗の差
• 高コントラストとは?
– 明暗の差が大きい
– 画像がくっきりはっきりと表現される
高コントラスト
低コントラスト
0
a
b
255
階調レベル
0
255
階調レベル
ヒストグラムとは
• ヒストグラムとは何か?
– ディジタル画像A(i,j)
• 画素数K=M×N,L階調
– ヒストグラムh(k)=nk
• 濃度kを持つ画素の総数(0≦k≦L-1)
L 1
 h(k ) 
– p(k)=nk/K
• 濃度kを持つ画素の割合
K
k 0
L 1

k 0
p (k )  1
頻度
ヒストグラムの例
2000
1000
0
0
100
200
階調数
画像処理法:画像の前処理(1)
ヒストグラムによるコントラストの改善(線形な濃度変換)
0
a
b
255
0
255
階調レベル
階調レベル
255
出力画像の濃度値
0
原画像の濃度値
a
b
255
コントラストの改善
0
a
0
a
b
255
b 255
0
255
255
出力画像の濃度値分布幅
広くなる=コントラスト改善
つまりこういう事
入力原画像の濃度値分布幅
コントラストの改善
線形な濃度変換
255
変換曲線
「線形」とは?
出力画像の濃度値
0
a
b
255
原画像の濃度値
 0 ( 0  z  a )

za

z'   zm
( a  z  b ) z ' : 出力画像の濃度値
ba
z : 原画像の濃度値

 z m ( b  z  z m )
z m : 最大濃度値 ( 255 )
コントラストの改善
線形な濃度変換
a=100
b=200
画像の比較
コントラストの改善
頻度
頻度
線形な濃度変換
2000
1000
1000
0
0
2000
100
0
0
200
階調数
ヒストグラムの比較
100
200
階調数
2000
頻度
頻度
特定の領域のみ抽出することも可能
1000
1000
0
0
2000
100
0
0
200
階調数
100
200
階調数
濃度変換
ヒストグラムの平坦化
• 変換曲線による濃度変換
– パラメータの決定方法をどうするか?
– すべての濃度値を有効利用していない(ヒストグラム
の隙間問題)=濃淡が滑らかに変化しない,不自然
• ヒストグラムの平坦化
– 全ての濃度値の画素数を同じ数に変更する(濃度レ
ンジの有効利用=隣接画素で滑らかに濃淡変化)
– 連続的に濃度が変化する,違和感のないコントラスト
改善が可能
– まず,各濃度レベルにおいて,どのレベルへ何画素分
移動(変更)するか決定する
– 次に,ある規則に基づき画素値を移動(変更)する
濃度変換
ヒストグラムの平坦化
平均画素数=画素数/濃度階調数
=(256×256)/256
=256
画
素
数
画
素
数
平均画素数
(256)
濃度レベル
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
①
hist[i]:
濃度レベルiの画素数
①nmove[i][i]=hist[i],その他は全て0
平均画素数
0
1
2
3
ヒストグラム
4
5
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
②
hist[i]:
濃度レベルiの画素数
①nmove[i][i]=hist[i],その他は全て0
②nmove[1][0]=1, nmove[1][1]=7
平均画素数
0
1
2
3
ヒストグラム
4
5
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
③
hist[i]:
濃度レベルiの画素数
①nmove[i][i]=hist[i],その他は全て0
②nmove[1][0]=1, nmove[1][1]=7
③nmove[1][2]=3, nmove[1][1]=4
平均画素数
0
1
2
3
ヒストグラム
4
5
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
④
hist[i]:
濃度レベルiの画素数,処理中変化
①nmove[i][i]=hist[i],その他は全て0
②nmove[1][0]=1, nmove[1][1]=7
③nmove[1][2]=3, nmove[1][1]=4
④nmove[2][3]=1, nmove[2][2]=1
平均画素数
0
1
2
3
ヒストグラム
4
5
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
⑤
hist[i]:
濃度レベルiの画素数,処理中変化
①nmove[i][i]=hist[i],その他は全て0
②nmove[1][0]=1, nmove[1][1]=7
③nmove[1][2]=3, nmove[1][1]=4
④nmove[2][3]=1, nmove[2][2]=1
⑤nmove[4][3]=1, nmove[4][4]=0
平均画素数
0
1
2
3
ヒストグラム
4
5
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
⑥
hist[i]:
濃度レベルiの画素数,処理中変化
①nmove[i][i]=hist[i],その他は全て0
②nmove[1][0]=1, nmove[1][1]=7
③nmove[1][2]=3, nmove[1][1]=4
④nmove[2][3]=1, nmove[2][2]=1
⑤nmove[4][3]=1, nmove[4][4]=0
⑥nmove[5][3]=1, nmove[5][5]=8
平均画素数
0
1
2
3
ヒストグラム
4
5
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
変更する画素数の決定
例:6階調,画像サイズ6×4=24画素,平均画素数=4
nmove[i][j]:
濃度レベルiから,濃度レベルj
へ変更する画素数
⑦
hist[i]:
濃度レベルiの画素数,処理中変化
平均画素数
0
1
2
3
ヒストグラム
4
①nmove[i][i]=hist[i],その他は全て0
②nmove[1][0]=1, nmove[1][1]=7
③nmove[1][2]=3, nmove[1][1]=4
④nmove[2][3]=1, nmove[2][2]=1
⑤nmove[4][3]=1, nmove[4][4]=0
⑥nmove[5][3]=1, nmove[5][5]=8
5
⑦nmove[5][4]=4, nmove[5][5]=4
濃度レベル
濃度変換
ヒストグラム平坦化の流れ
どの場所の画素レベルをどのレベルに変更するか?
• 前の例では,濃度レベル5から濃度レベル3へ変更する
画素が1つ(nmove[5][3]=1),レベル4へ変更する画素が
4つ(nmove[5][4]=4)存在する。
• 濃度レベル5の画素は,9つ存在する。
• どこの画素の濃度レベルを3にし,どこをレベル4に変更
するのか?
• いろんな方法が提案されている。
– 確率的に決定
– 周囲の濃度に応じて決定
• 代表的な例では,濃度の低い方から優先的に割り当てる。
つまり,順に画素を走査しながら,最初に見つかったレベ
ル5をレベル3へ変更し,次に見つかったレベル5をレベ
ル4に変更する。
濃度変換
2000
頻度
頻度
ヒストグラムの平坦化
1000
0
0
2000
1000
100
0
0
200
階調数
100
200
階調数
実習
• 原画像のヒストグラムと,線形変換によりダイ
ナミックレンジを拡大した画像のヒストグラム
を比較しなさい。
• 線形変換を用いて,カメラマンの画像からカメ
ラマンのみを抽出しなさい。
• ヒストグラムの平坦化により,ヒストグラムが
平坦となっていることを確認しなさい。
画像処理法:画像の前処理(2)
ノイズ除去
• ノイズ画像の性質
– 周辺の画素の濃度とは相関がなく,極端に大き
いか,極端に小さい濃度値をもつ。
– 孤立的に存在する。
• ノイズ除去手法:空間フィルタによる
– 移動平均法,加重平均法
– メディアンフィルタ法
– 選択的局所平均化法
空間フィルタ
空間フィルタリングの手法
f [ i  1][ j  1]
a [  1][  1]
a [ 1][ 1]
f [ i ][ j ]
g [ i ][ j ]
*
f [ i  1][ j  1]
フィルタ係数
着目画素
と8近傍
f [ i  1][ j  1]
着目画素の
新しい画素値
それぞれを9つの要素をもつベクトルと考え,内積を計算
1
g [ i ][ j ] 
1

l  1 k  1
f [ i  k ][ j  l ]  a [ k ][ l ]
空間フィルタ
平滑化フィルタ
• 雑音の特徴は?
– 大きさが不規則で,狭い範囲で激しく変化する
• では,どのようにすれば目立たなくなる?
– 大きさが激しく変化しないようにする
– 周りの値で平均化し,ならす(平らにする)
平滑化フィルタ
空間フィルタ
平滑化フィルタ <移動平均フィルタ>
1
9
1
a [ k ][ l ]  
9
1
 9
1
9
1
9
1
9
1
9
1

9
1
9 
• フィルタ係数の総和は1と
なるように設定する
• フィルタ係数全てが1/9
• 8近傍の画素値との平均
値を求めて新しい画素値
とする
• 移動平均法とも呼ばれる
• 雑音は軽減されるが,同
時に画像(特に輪郭部
分)がボケてしまう
空間フィルタ
<加重平均フィルタ> ガウシアンフィルタ
ガウス分布
 1
 24
 2
a [ k ][ l ]  
 24
 1
 24
G ( x, y ) 
2
24
12
24
2
24
1 
24 
2 

24 
1 
24 
1
2
2
 x2  y2 
exp  

2
2


• N回適用することで,標
準偏差σがsqrt(N)に比
例するようなガウシア
ンフィルタの効果を得
ることが可能な近似的
フィルタ
空間フィルタ
平滑化フィルタ <メディアンフィルタ>
画素値の順に並べる
中央値(メディアン)を選択
着目画素
と8近傍
メディアンを着目画素の
新しい画素値とする
空間フィルタ
<メディアンフィルタ>
• スパイク状の雑音を除去するのに有効
• スパイク雑音は,他の画素値よりも大きいた
め,近傍画素値を並べ替えたときに端に寄る
傾向にある
• メディアンを選択することにより除去できる
• スパイク雑音のみ除去でき,ボケの発生はほ
とんどない(スパイク雑音が無い部分ではボ
ケが発生する場合がある)
空間フィルタ
選択的局所平均化法
9つの小領域
に分割
領域1
領域2
領域3
領域4
着目画素
と5×5近傍
領域5
それぞれの領域について,
画素値の平均と分散を求める
領域6
領域7
領域8
領域9
最も分散が小さい領域
の平均値を着目画素の
画素値とする
空間フィルタ
選択的局所平均化法
• 最も分散が小さい領域とは?
– 画素値がほとんど同じ領域であり,大きく異な
る画素値(つまりノイズやエッジ)が無い領域
– その平均値を着目画素の画素値とすることに
より,エッジを保存した平滑化が可能
• ただし,処理時間が他の手法より長い
実習
• ノイズを含むlena画像において,移動平均法,加
重平均法(ガウシアン法),メディアンフィルタ法,
選択的局所平均化法のそれぞれについてノイズ
除去効果を確認しなさい。
• ガウシアンフィルタを複数回かけた結果も確認し
なさい。
• 画質をPSNRを用いて評価しなさい。
• メディアンフィルタ法において,中央値ではなく最
大値や最小値を選択するとどうなるか確認しな
さい。
画質の評価
PSNR
PSNR[dB]
 10 log
MAX
10
• 画質を評価する代表
的な指標
2
MSE
• 平均自乗誤差に対す
MSE 
( f [ i ][ j ]  f [ i ][ j ])


る濃度最大値のS/N
N  M i0 j0
• 通常,32[dB]程度で原
MAX  最大濃度値 ( 255 )
画像との違いは視認
f [ i ][ j ] : 原画像
できないと言われる
^
• S/Nであるので,大き
f [ i ][ j ] : 評価画像
い値ほど高画質
N : 行数, M : 列数 ( N  M  256 )
1
N 1 M 1
^
2
画像処理法:画像の前処理(3)
画像の鮮鋭化
• 元の画像からラプラシアンを引き算することによ
りエッジが強調される。
f [ y ][ x ]   f [ y ][ x ]
2
元の画像
 5 f [ y ][ x ]
 f [ y ][ x  1]
ラプラシアン
 f [ y ][ x  1]
 f [ y  1][ x ]
引き算の結果
オーバーシュート
 f [ y  1][ x ]
アンダーシュート
プラスを引き算=引き算
マイナスを引き算=足し算
振幅差が強調される
ラプラシアン
Laplacian : 画像の二次微分
x方向の二次微分
 f [ y ][ x ]
2
x
2
  


 f [ y ][ x  1]  f [ y ][ x ] 

f [ y ][ x ]  

x  x
 x
・二次微分は,微分値同士の差分
・対称性を考慮し,x-1とxにおける微分値と差分を取る
  f [ y ][ x  1]  f [ y ][ x ]    f [ y ][ x ]  f [ y ][ x  1] 
 f [ y ][ x  1]  f [ y ][ x  1]  2 f [ y ][ x ]
ラプラシアン
Laplacian : 画像の二次微分
y方向の二次微分
 f [ y ][ x ]
2
y
2
 f [ y  1][ x ]  f [ y  1][ x ]  2 f [ y ][ x ]
Laplacian
 f
2
 f 
2
x
2
 f
2

y
2
 f [ y ][ x  1]  f [ y ][ x  1]  f [ y  1][ x ]  f [ y  1][ x ]  4 f [ y ][ x ]
エッジの形状と微分結果
ステップ型エッジ
ルーフ型エッジ
濃淡の変化
一次微分
Laplacian
実習
• 画像の鮮鋭化を確認しなさい。