1章 画像処理の基礎 - catnethost.catnet.ne.jp/triceps/pub/sample/ex041.pdf ·...
TRANSCRIPT
9
第1章 画像処理の基礎
HDR画像のための画像処理技術は、フィルタリングや画像強調など従来のクラシカルな
画像処理手法に基づくものがほとんどである。例えば、HDR画像の照明光成分の抽出には
ローパスフィルタを用い、トーンマッピングはヒストグラム平滑化等のコントラスト強調手
法と関連が深い。まず、本章では画像の基礎事項と以降の HDR画像技術の理解に必要な画
像処理について、MATLABでのサンプルコードを交えながら解説する。
1.1 MATLABによる画像の入出力
M × N の濃淡画像は、各画素がスカラー値を持つM × N の配列で表現される。これに
対して、カラー画像は各画素が RGBの 3色の値を持つ、つまりM ×N × 3の 3次元配列
で表現される。これ以外にも、MATLABではインデックス付き画像フォーマットを採用し
ている。インデックス付きカラーマップとはインデックス画像とカラーマップの2つの配列
からなり、[X, MAP]のペアの場合、インデックス画像 Xの値でカラーマップMAPのイン
デックス値を指定することにより、各画像の色を規定している。ここではインデックス付き
画像フォーマットは用いずに、通常の 3次元配列でカラー画像を表現することにする。
MATLABには、画像の入出力関数 imreadと imwriteが標準で用意されている。以下は
400 × 600の sample.jpgというカラー画像を読み込み、rgb2grayという Image Processing
ToolboxのMATLAB関数で濃淡画像に変換した例である。ここで、whosとはMATLABが
現在記憶している変数の情報を表示する関数である。
>> X=imread(’sample.jpg’, ’jpg’);
>> I=rgb2gray(X);
>> whos
Name Size Bytes Class Attributes
I 400x600 240000 uint8
X 400x600x3 720000 uint8
ここで用いている imreadは
X=imread(’ファイル名’, ’ファイルタイプ’);
という書式になっている。この’ファイルタイプ’が拡張子から推測できる場合は第 2引数は
省略することができる1。whosの結果をみるとカラー画像 Xは 3次元配列、濃淡画像 Iは 21jpg や bmp 等ほとんどの場合省略できる
10 第 1章 画像処理の基礎
次元配列になっているのがわかる。ここで、両者ともに配列の Classが uint8になっている
ことに注意を要する。この uint8は、C言語の unsigned charに相当する符号無し 8ビット
整数を表す。整数クラスのままでは数値演算に不向きであり、実際多くの画像処理関数は浮
動小数点数クラスの画像のみを対象にしているため、画像を読み込んだ後、浮動小数点数ク
ラス doubleに変換することが多い。また uint8型では 0が黒、255が白と定義されるが、
double型では 0が黒、1が白と定義される。よって以下の通り、imreadで読み込んだ後、
double型にキャストし [0, 1]にスケーリングする。
>> X=imread(’sample.jpg’);
>> X=double(X)/255;
>> imshow(X)
>> whos X
Name Size Bytes Class Attributes
X 400x600x3 5760000 double
画像出力の関数である imwriteの書式は以下の通りである
imwrite(X, ’ファイル名’, ’フォーマット名’);
ここで、 X は画像の変数である。JPEG、 TIFF、 BMPなど様々なフォーマットに対応し
ている。imreadと同様にフォーマット名は多くの場合省略可能である。フォーマットに応
じて様々なオプションをつけることが可能となる。詳細はMATLABのヘルプを参照された
い。以下に、JPEGのクオリティファクターを指定した画像出力を例示する。
>> imwrite(X, ’output.jpg’, ’Quality’, 50);
1.2 画素値を操作する
ここで、画像処理の基礎である点処理を用いた画像の操作について解説する。点処理とは、
入力画像のある点の画素値をその画素値のみを使ってある値に変換する手法である。ここで
は点処理の代表的な例を紹介する。
1. 量子化: 一般に連続値で与えられるアナログ信号をある基準量(ステップサイズと
いう)の整数倍で近似することを量子化という。例えば小数点の切り捨ては 1をステッ
プサイズとした量子化である。また、ディジタル値の階調数を削減する操作(28 階調
から 24 階調への変換等)も量子化と呼ばれる。最も簡単な量子化法はステップサイズ
が一定の線形量子化であり、その入出力関係は図 1.1(a)で表現される。0から 255の
値を持つ画像のうちの 170なる画素値を図 1.1(b)のように 3ビット、つまり 23 = 8階
調に量子化する場合、170は 255 × 4/7と 255 × 5/7の間に存在する。ここで、
190 − 255 × 4/7
255/7= 0.666...
1.2. 画素値を操作する 11
図 1.1: 量子化:(a)量子化の入出力関係、(b)量子化の例
で 0.5より大きくなる。つまり、190は 255 × 4/7より 255 × 5/7に近い値であるた
め、255× 5/7に量子化される。量子化は様々な実装方法があるが、以下に最も単純な
MATLABによる量子化操作を示す。
>> stepsize=0.05;
>> Y=round(X/stepsize);
>> Y2=Y*stepsize;
1行目でステップサイズを指定し 2行目で量子化、3行目で逆量子化を行っている。
2. ガンマ補正:ディジタル画像がアナログに変換されてディスプレイに映るとき、従来
の CRTモニタが持つ変換特性が原因で中間調が暗くなる問題があった。このディスプ
レイが持つ階調特性の違いを補正し、基のディジタル画像に近い値を得る処理をガン
マ補正という。実際には画像の中間色を明るくすることで可能となる。最も簡単なガ
ンマ補正の入出力関係は
>> gamma=0.3;
>> Y=X.^gamma;
で表され、通常は γ < 1、中間調を暗くする場合は γ > 1に選ぶ。
3. ネガポジ変換: 光量が多い程、黒くなるネガのような効果をもたらす。以下の式で表
される。
>> Y=1-X;
4. コントラスト強調: コントラストとは画像の明るい部分と暗い部分の比のことで、コ
ントラストの低い、つまり暗い部分が多い画像は輪郭がはっきりしない画像になるこ
とが多い。明るい部分を強調することでコントラストを高くするのがコントラスト強
12 第 1章 画像処理の基礎
調である。1.5章にも示している通り、コントラスト強調には様々な方法があるが、以
下の線形式を用いることで簡単に実現できる。
>> alpha=0.3;
>> beta=0.3;
>> Y=(1+alpha)*X-beta;
>> Y=min(max(Y, 0), 1);
αは強調の度合いを示すパラメータで 0 ≤ α ≤ 1である。β は暗い部分を取り除く範
囲を示すパラメータで、階調が β/(1 + α)以下の時、出力は 0となる。
以上の 4つの操作は別添の sample1.mにまとめている。
1.3 ディジタルフィルタを用いた画像処理
前節の画像処理技術は点処理と呼ばれるもので、ある画素をその画素の値のみを用いて他
の値に置き換えるものであった。それに対してディジタルフィルタとは入力画像とインパル
ス応答の畳み込みで出力が計算され、ディジタル画像のノイズ除去、特徴抽出、画像復元、
領域分割などの様々な処理において用いられている。ディジタルフィルタとは様々な信号や
雑音が混在している入力信号の中から、所望の信号を取り出すディジタル回路である (図 1.2
参照)。ここではフィルタリングによる画像の平滑化、エッヂ抽出の基礎を示す。
図 1.2: ディジタルフィルタ
1.3.1 平滑化フィルタ
画像の高周波成分(画素値が急激に変化する領域)を減衰させる平滑化フィルタを取り上
げる。高周波成分を取り除くことで、高周波ノイズが削減できる効果を持つ。
線形ローパスフィルタ
線形ローパスフィルタは単にローパスフィルタとも呼ばれ、低周波数成分を通し、高周波
成分を減衰させるフィルタの一種である。原画像のある画素 f(i, j)の周りのN ×N の領域
にある行列を掛け合わせ加算することで平滑化が実現できる。最も単純なローパスフィルタ
41
第3章 HDR画像の基礎
暗所視から明所視までの輝度順応を考慮した場合、人間の視覚特性のダイナミックレンジは
300dBにも達するといわれており、単一のシーンでも暗所と明所の比が 100dBから 120dB
になり得る。これに対して一般に市販されているカメラのダイナミックレンジは高性能なも
のであっても 80dB程度であり、シーンすべての輝度情報を記録することはできない。高ダ
イナミックレンジ画像 (High Dynamic Range画像、HDR画像)は、シーンの可視範囲の輝
度全てを記録するために開発され、人間の視覚特性と同等のダイナミックレンジと色域をサ
ポートする画像である。本章では HDR画像の基礎事項について概観する。
3.1 現実シーンのダイナミックレンジ
一般に画像やシーンのダイナミックレンジは最小輝度と最大輝度の比で表すことが一般的
であり、ここでは以下の通り dB表示でダイナミックレンジを表記する。
ダイナミックレンジ = 20 log10
Imax
Imin, Imax :最大輝度, Imin :最小輝度
ディジタルカメラ等に代表される一般的な撮像機器のダイナミックレンジは 80dB程度であ
り、液晶ディスプレイの輝度は通常数百 cd/m2、最大で 103cd/m
2程度である。これに対し
て、現実シーンの輝度はこれを大きく越える。図 3.1 に実際のシーンの輝度をまとめてい
る。我々が普段生活する屋内の周辺輝度は 80cd/m2 相当であり、国際照明委員会 (CIE)が
定める sRGB色空間などは、この輝度値を基準に設計されている。これが光源になると蛍
光灯で 103 − 104cd/m2 程度で、太陽の直接光となると 108cd/m
2 を越える。暗所について
は人間の視覚特性の感度に依存することとなるが、暗所視による桿体の感度は非常に高く、
10−5cd/m2まで知覚できるといわれている。結果知覚し得るシーンのダイナミックレンジは
しばしば 200dBを超えることとなる。現行の RGBそれぞれ 256階調からなる低ダイナミッ
クレンジ画像 (Low Dynamic Range Images: LDR画像)で高いダイナミックレンジのシー
ンを記録することは困難であり、一部分のみが記録される (図 3.2)。この問題を解決するた
めに画像のビット深度を増やし、人間が知覚しうるダイナミックレンジと色域全体を表現し
得るよう考案されたのが高ダイナミックレンジ画像である。図 3.3 に LDR画像と HDR画
像の例を示す。図 3.3(左)ではほとんどの階調が低輝度域側に使われており、室内は高いコ
ントラストで記録できているものの窓の外は露光オーバーで白飛びしている。図 3.3(中)で
は逆に高輝度域側に階調がシフトしており、室内はほとんどが黒潰れしている。それに対し
て、HDR画像1はほとんどの領域で高いコントラストの画像が得られている。1正確には HDR 画像 (図 3.3(右)) をトーンマッピングした画像
42 第 3章 HDR画像の基礎
図 3.1: 現実シーンの輝度
図 3.2: HDR画像と LDR画像のダイナミックレンジ
3.2 アプリケーション
人間の視覚と同等のダイナミックレンジを持つセンサの実現は、数十年前から重要テーマ
として位置付けられ研究されてきた。近年さらに活発に研究が行われるようになってきてお
り、120dBを超えるダイナミックレンジを持つカメラがいくつか市販されている [15], [32]。
それと並行してコンピュータグラフィクスの分野でも、Devebec等 [7]が CGレンダリング
の際のGlobal illumination問題の解法として高ダイナミックレンジ画像を用い、その後盛ん
に研究されるようになった。これらの HDR画像処理技術の発展に伴い、その応用も広がり
を見せている。ここでは、HDR画像を用いた応用例について代表的なものを紹介する。
3.2.1 イメージベースドライティング
イメージベースドライティング (Image Based Lighting: IBL)は実シーンから得られた光
の情報を画像の画素値として記録し、その画像を元に仮想シーンや物体に照射される光量情
報を算出しレンダリングする技術である。Paul Devebec等は Light Probeと呼ばれる 360
度全周囲 HDR画像を生成する手法を提案し、それを Image Based Lighting に応用した [7],
[8]。
3.2. アプリケーション 43
図 3.3: (左)露光オーバーの LDR画像、(中)露光アンダーの LDR画像、(右)HDR画像
図 3.4: (左)通常の 24ビット画像を用いてレンダリングした例、(右)HDR画像を用いてレンダリン
グした例
3.2.2 超高コントラスト画像現像
銀塩写真のネガティブフィルムは、紙にプリントされた現像後の写真よりもダイナミック
レンジが高い。写真を現像し印刷する処理はダイナミックレンジを圧縮する処理であるとい
える。例えば、写真現像で頻繁に用いられる「焼き込み」や「覆い焼き」がその代表例であ
る。ディジタル画像でも同様に現像処理が一般的になってきている。近年中級以上のディジ
タルカメラには、センサ出力に最小限の画像処理を施した RAW画像を利用することが可能
である。この RAW画像は一般に RGBそれぞれに 10ビット以上の階調数を持ち、ダイナ
ミックレンジも高い。これを「覆い焼き」や、「焼き鈍し」、「輝度調整」、「トーンカーブ調
整」などを行った後、通常の 24ビットカラー画像にレンジ圧縮する。このようなディジタル
現像処理は HDR画像でも当然可能であり、写真愛好家の間で HDR現像の利用が広まって
いる。HDR画像を対象にした現像ソフトウェアが現在いくつか利用可能である [22]。HDR
画像技術を用いれば、微少な輝度範囲のコントラストを全輝度範囲で精密に記録することが
可能であり、これを後述するトーンマッピング技術を用いて輝度範囲を出力デバイスのダイ
ナミックレンジにレンジ圧縮することにより、超高コントラスト画像を作成することが可能
となる。図 3.5にその例を示す。左の 2枚は通常の 24ビット低ダイナミックレンジ画像であ
44 第 3章 HDR画像の基礎
り、右の画像は HDR作成ソフト Photomatixを用いて HDR画像をレンジ圧縮した例であ
る。暗部から明部まで詳細なコントラスト表現できていることがわかる。
図 3.5: 超高コントラスト画像: (上)統合前の 24ビット画像、(下)HDR画像をトーンマッピングした
画像
3.2.3 車載カメラ
超音波センサや Adaptive Cruise Control(ACC)など、自動車走行補助のためのセンシン
グ技術は近年大きな進展を遂げている。そのうちの 1つとして車載カメラはその汎用性故に
注目されており、現在では駐車の際の走行補助やドライブレコーダなどに応用されている。
現実シーンをもれなく記録するためには、晴天時、曇天時、夜間、等あらゆる明るさのシー
ンを考慮する必要があり、100dB以上のダイナミックレンジが必要である。その典型的な例
が図 3.6のようなトンネル走行のシーンであり、通常のダイナミックレンジの低いセンサで
は、トンネル内部に露光を合わせればトンネル外部が白飛びし、外部に露光を会わせると内
部が黒潰れするシーンである。このようなシーンでは、HDRセンサとトーンマッピング技術
が不可欠となる。尚、図 3.6は ENG社の高ダイナミックレンジセンサ RIROIシリーズ [11]
で撮影し、トーンマッピングによりレンジ圧縮した画像である。
3.2. アプリケーション 45
図 3.6: HDR画像:トンネル内部(ENG社の高ダイナミックレンジセンサ、RIROIシリー
ズで撮影)
3.2.4 監視、モニタリング
監視やモニタリングにおいても高輝度、低輝度を同時に記録できる HDRセンサの需要が
高まっている。図 3.7はライトがついた車を前方から撮影したサンプル画像である。上図が通
常の低ダイナミックレンジセンサで撮影した画像でライトの光によりそれ以外の部分がほと
んど黒く潰れている。下図が高ダイナミックレンジセンサ (前例と同様に ENG社の RIROI
シリーズ)で撮影した画像であり、ライトの模様から車のナンバーまでが視認可能となって
いる。
一方、飛行機のモニタリング用途で高ダイナミックレンジセンサは実用化されている [15]。
空港に着陸した後、指定場所に停止する際の自動運航に HDRセンサを用いた物体認識技術
が用いられている。晴天、曇天、さらには濃霧時にでも安定した認識精度を得るためにHDR
技術が不可欠となる。
また、外観検査による欠陥検出もHDR画像の重要な応用例であるといえる。ひび、欠け、
汚れなどを画像処理により自動的に検出する技術は従来から研究されているが、検出を困難
にする問題の 1つにダイナミックレンジ不足が挙げられる。モニタリング中の輝度変化や、
表面の光沢による白飛びなどの問題を回避するには HDRセンサの使用が効果的であり、現
在実用化が進められている。
3.2.5 その他
歴史的資料や公文書、絵画やフィルム映像資料などをディジタル化する技術はこの十年で
急速に発展しており、現在では歴史的遺跡や遺物の 3次元スキャニングによるアーカイブや