ヒストグラム均等化

強いピークを含む中央領域以外がゼロであるヒストグラムは、ピーク領域を引き伸ばして x 軸全体を埋めるように変換されます。
均等化前と均等化後の画像のヒストグラム。

ヒストグラム均等化は、画像のヒストグラムを使用してコントラストを調整する画像処理の手法です。

ヒストグラム平坦化は、より一般的なヒストグラム再マッピング手法の特殊な例です。これらの手法は、画像を調整して分析を容易にしたり、視覚的な品質を向上させたりすることを目指します(例:レティネックス)。

概要

この手法は、多くの画像、特に画像が狭い範囲の輝度値で表現されている場合に、全体的なコントラストを向上させる効果があります。この調整により、ヒストグラム上の輝度がより均等に分散され、輝度値の全範囲が均等に活用されます。これにより、局所的にコントラストが低い領域で高いコントラストを得ることができます。ヒストグラム平坦化は、画像のコントラストを低下させる傾向のある、輝度値が密集している領域を効果的に分散させることで、これを実現します。

この方法は、背景と前景の両方が明るいか両方が暗い画像で役立ちます。特に、この方法により、X 線画像で骨の構造がより鮮明に見え、露出オーバーまたは露出不足の写真の詳細がより鮮明になります。この方法の主な利点は、入力画像に適応するかなり簡単なテクニックであり、可逆操作であることです。そのため、理論的には、ヒストグラム均等化関数がわかっていれば、元のヒストグラムを復元できます。計算には大量の計算は必要ありませんこの方法の欠点は、無差別であることです。背景ノイズのコントラストが増加する一方で、使用可能な信号が減少する可能性があります。空間相関が信号強度よりも重要な科学的イメージング (量子化された長さのDNAフラグメントの分離など) では、通常、信号対雑音比が小さいと視覚的な検出が妨げられます。

ヒストグラム平坦化は、写真に非現実的な効果を生み出すことがよくあります。しかし、熱画像衛星画像、 X 線画像など、擬似カラーを適用するのと同じクラスの画像であることが多い科学的画像には非常に役立ちます。また、ヒストグラム平坦化は、色深度が低い画像に適用すると、望ましくない効果 (目に見える画像のグラデーションなど) を生み出す可能性があります。たとえば、8 ビット グレースケール パレットで表示される 8 ビット画像に適用すると、画像の色深度(グレーの固有の色合いの数)がさらに低下します。ヒストグラム平坦化は、連続データや 16 ビット グレースケール画像 など、パレットサイズよりもはるかに高い色深度を持つ画像に適用すると最も効果的です。

ヒストグラムイコライゼーションの考え方と実装には、画像の変更とパレットの変更の2つの方法があります。この操作は と表現できます。ここでは元の画像、はヒストグラムイコライゼーションのマッピング操作、 はパレットです。新しいパレットを と定義し、画像を変更しない場合、ヒストグラムイコライゼーションはパレットの変更またはマッピングの変更として実装されます。一方、パレットを変更せず、画像を に変更する場合は、画像の変更によって実装されます。ほとんどの場合、元のデータを保持するパレットの変更が推奨されます。 PM{\displaystyle P(M(I))}{\displaystyle I}M{\displaystyle M}P{\displaystyle P}PPM{\displaystyle P'=P(M)}{\displaystyle I}P{\displaystyle P}M{\displaystyle I'=M(I)}

この手法の改良版では、サブヒストグラムと呼ばれる複数のヒストグラムを用いて、全体的なグローバルコントラストではなく局所的なコントラストを強調します。このような手法の例としては、適応型ヒストグラム均等化(AEP)や、その派生であるコントラスト制限型適応型ヒストグラム均等化、マルチピークヒストグラム均等化、多目的ベータ最適化バイヒストグラム均等化(MBOBHE)などが挙げられます。これらの手法、特にMBOBHEの目的は、輝度平均シフトやディテール損失アーティファクトを発生させることなく、アルゴリズムを改良してコントラストを向上させることです。[ 1 ]

ヒストグラム均等化に相当する信号変換は、生物学的ニューラルネットワークにおいても、入力統計量の関数としてニューロンの出力発火率を最大化するように行われていると考えられる。これは特にハエの網膜において証明されている。[ 2 ]

バックプロジェクション

ヒストグラム化された画像の逆投影は、修正されたヒストグラムを元の画像に再適用し、ピクセルの明るさの値のルックアップ テーブルとして機能します。

この関数は、すべての入力シングルチャンネル画像から同じ位置にあるピクセルのグループごとに、ヒストグラムのビン値を出力画像に代入します。ビンの座標は、この入力グループ内のピクセルの値によって決定されます。統計学的には、出力画像の各ピクセルの値は、対応する入力ピクセルグループが、ヒストグラムが使用されるオブジェクトに属する確率を表します。[ 3 ]

実装

離散グレースケール画像 を考え、グレーレベル の出現回数を とする。画像から一様ランダムに選ばれたピクセル値が である確率は、 X{\displaystyle X}n{\displaystyle n_{i}}{\displaystyle i}X{\displaystyle X}{\displaystyle i}

 pXnn0<L{\displaystyle \p_{X}(i)={\frac {n_{i}}{n}},\quad 0\leq i<L}

L{\displaystyle L}は画像内のグレーレベルの総数、は画像内の値 を持つピクセル数、は画像内のピクセルの総数です。そしては画像の に対するヒストグラム値であり、ヒストグラムは総面積が1になるように正規化されています。 n{\displaystyle n_{i}}{\displaystyle i}n{\displaystyle n}pX{\displaystyle p_{X}(i)}{\displaystyle i}

それでは、画像 のピクセルの累積分布関数を定義しましょう。値については、 X{\displaystyle X}{\displaystyle i}

累積分布関数Xj0pXj{\displaystyle \operatorname {cdf} _{X}(i)=\sum _{j=0}^{i}p_{X}(j)}

これは画像の累積正規化ヒストグラムでもあります。

平坦なヒストグラムを持つ新しい画像を生成するための変換を作成したい。このような画像は、値の範囲全体にわたって線形化された累積分布関数(CDF)を持つ。 T:[0L1][0L1]{\displaystyle T:[0,L-1]\rightarrow [0,L-1]}はい{\displaystyle Y}

累積分布関数はい+1K{\displaystyle \operatorname {cdf} _{Y}(i)=(i+1)K}のために0<L{\displaystyle 0\leq i<L}

定数 に対してである。CDFの性質により、このような変換を行うことができる(逆分布関数を参照)。これは次のように定義される。 K{\displaystyle K}

 T累積分布関数X{\displaystyle \T(i)=\operatorname {cdf} _{X}(i)}

ここで、 は範囲 にあります。の正規化されたヒストグラムを使用しているため、 はレベルを範囲 にマッピングすることに注意してください。値を元の範囲にマッピングし直すには、変換された各画像値 に次の簡単な変換を適用する必要があります。  {\displaystyle \i}[0L1]{\displaystyle [0,L-1]} T{\displaystyle \T}[01]{\displaystyle [0,1]}X{\displaystyle X}{\displaystyle k}

 最大+L1{\displaystyle \k^{\prime}=k\cdot (\max(i)-\min(i))+\min(i)=k\cdot (L-1)}[ 4 ]

{\displaystyle k}は実数値ですが、は整数でなければなりません。直感的で一般的な方法[ 5 ]は、丸め演算を適用することです。  {\displaystyle \k^{\prime}}

 ラウンドL1{\displaystyle \k^{\prime}=\operatorname {round} (k\cdot (L-1))}

しかし、詳細な分析を行うと、若干異なる定式化が得られる。の範囲では、写像された値は0となる。また、、、…、そして最後に となる。 すると、 からへの量子化式は、{\displaystyle k^{\prime}}0<1/L{\displaystyle 0<k\leq 1/L}1{\displaystyle k^{\prime }=1}1/L<2/L{\displaystyle 1/L<k\leq 2/L}2{\displaystyle k^{\prime }=2}2/L<3/L{\displaystyle 2/L<k\leq 3/L}L1{\displaystyle k^{\prime }=L-1}L1/L<1{\displaystyle (L-1)/L<k\leq 1}{\displaystyle k}{\displaystyle k^{\prime}}

天井L1{\displaystyle k^{\prime }=\operatorname {ceil} (L\cdot k)-1}

(注:ただし、 の場合、はその値に対応するピクセルが存在しないことを意味する ため、単にそれが発生するわけではありません。)1{\displaystyle k^{\prime }=-1}0{\displaystyle k=0}0{\displaystyle k=0}

カラー画像について

上述のヒストグラム均等化はグレースケール画像に有効です。カラー画像にも適用できます。一つの選択肢として、画像のRGBカラー値の赤、緑、青の各成分に個別に適用する方法があります。この場合、アルゴリズムの適用によって各色チャンネルの相対的な分布が変化するため、画像の色バランスに劇的な変化が生じる可能性があります。しかし、画像をまず別の色空間、特にLabHSL/HSVに変換すれば、画像の色特性に変化を与えることなく、輝度チャンネルまたは明度チャンネルにアルゴリズムを適用できます。[ 6 ]

3次元空間におけるヒストグラム均等化手法はいくつかある[ 7 ]が、その結果、明るいピクセルの確率が暗いピクセルの確率よりも高くなり、白くなる。 [ 8 ] Hanらは、ISO輝度平面で定義された新しいCDFを使用することを提案した。これにより、均一なグレー分布が得られる。[ 9 ]

操作イコライゼーションのプロセスは、小さな画像でわかりやすく示しています。フルサイズの画像では、このプロセスによって得られる全体的な結果を示しています。

小さい画像

8ビットグレースケールで表示された8 ×8のサブイメージ

表示されている 8 ビット グレースケール画像には次の値があります。

52 55 61 59 79 61 76 61
62 59 55 104 94 85 59 71
63 65 66 113 144 104 63 72
64 70 70 126 154 109 71 69
67 73 68 106 122 88 68 68
68 79 60 70 77 66 58 75
69 85 64 58 55 61 65 83
70 87 69 68 65 73 78 90

この画像のヒストグラムは次の表に示されています。簡潔にするため、カウントがゼロのピクセル値は除外されています。

価値カウント 価値カウント 価値カウント 価値カウント 価値カウント
521 642 721 852 1131
553 653 732 871 1221
582 662 751 881 1261
593 671 761 901 1441
601 685 771 941 1541
614 693 781 1042
621 704 792 1061
632 712 831 1091

累積分布関数(CDF)を以下に示します。ここでも、関数の増加に寄与しないピクセル値は簡略化のため除外されています。

v{\displaystyle v}、ピクセル強度CDFv{\displaystyle \operatorname {CDF} (v)}hv{\displaystyle h(v)}、均等化v{\displaystyle v}
5210
55412
58620
59932
601036
611453
621557
631765
641973
652285
662493
672597
6830117
6933130
7037146
7139154
7240158
7342166
7543170
7644174
7745178
7846182
7948190
8349194
8551202
8752206
8853210
9054215
9455219
10457227
10658231
10959235
11360239
12261243
12662247
14463251
15464255
(バージョンはまだ図示されていませんのでご注意ください。)hv天井CDFv1{\displaystyle h(v)=\operatorname {ceil} (\operatorname {CDF} (v))-1}

このCDFは、サブイメージの最小値が52、最大値が154であることを示しています。値154のCDFは64で、これは画像内のピクセル数と一致します。CDFは に正規化する必要があります。一般的なヒストグラム均等化の式は次のとおりです。 [0255]{\displaystyle [0,255]}

hvroあなたndCDFvCDFM×CDF×L1{\displaystyle h(v)=\mathrm {round} \left({\frac {\operatorname {CDF} (v)-\operatorname {CDF} _{\min }}{(M\times N)-\operatorname {CDF} _{\min }}}\times (L-1)\right)}

ここで、 は累積分布関数の最小の非ゼロ値 (この場合は 1) であり、 は画像のピクセル数 (上記の例では 64、は幅、 は高さ) であり、は使用されるグレー レベルの数 (この例のようにほとんどの場合、256) です。 CDF{\displaystyle \operatorname {CDF} _{\min}}M×{\displaystyle M\times N}M{\displaystyle M}{\displaystyle N}L{\displaystyle L}

元のデータ内の 0 より大きい値を 1 から までの範囲にスケーリングするには、上記の式は次のようになります。L1{\displaystyle L-1}

hvroあなたndCDFvCDFM×CDF×L2+1{\displaystyle h(v)=\mathrm {round} \left({\frac {\operatorname {CDF} (v)-\operatorname {CDF} _{\min }}{(M\times N)-\operatorname {CDF} _{\min }}}\times (L-2)\right)+1}

ここでcdf(v) > 0です。1から255へのスケーリングでは、最小値の非ゼロ性が保持されます。

0 から 255 までの範囲のスケーリング データの例の等化式は次のとおりです。

hvroあなたnd累積分布関数v163×255{\displaystyle h(v)=\mathrm {round} \left({\frac {\operatorname {cdf} (v)-1}{63}}\times 255\right)}

たとえば、78 の CDF は 46 です。(78 の値は 7 列目の一番下の行で使用されます。) 正規化された値は次のようになります。

h78roあなたnd46163×255roあなたnd0.714286×255182{\displaystyle h(78)=\mathrm {round} \left({\frac {46-1}{63}}\times 255\right)=\mathrm {round} \left(0.714286\times 255\right)=182}

これが完了すると、正規化された CDF から均等化された画像の値が直接取得され、均等化された値が生成されます。

0 12 53 32 190 53 174 53
57 32 12 227 219 202 32 154
65 85 93 239 251 227 65 158
73 146 146 247 255 235 154 130
97 166 117 231 243 210 117 117
117 190 36 146 178 93 20 170
130 202 73 20 12 53 85 194
146 206 130 117 85 166 182 215

最小値 52 が 0 になり、最大値 154 が 255 になっていることに注意してください。

オリジナル 均等化
元画像のヒストグラム 均等化された画像のヒストグラム

フルサイズ画像

ヒストグラム均等化前
対応するヒストグラム(赤いバー)と累積ヒストグラム(黒い曲線)
ヒストグラム均等化後
対応するヒストグラム(赤いバー)と累積ヒストグラム(黒い曲線)

上記のグラフでは、累積ヒストグラムの縦軸のスケールがヒストグラムの縦軸のスケールと異なることに注意してください。両者を同じスケールで描画した場合、累積ヒストグラムはヒストグラムよりもはるかに高くなります。これは、ヒストグラムが特定の値を持つピクセルの数を示すのに対し、累積ヒストグラムは特定の値以下のピクセルの総数を示すためです。したがって、累積ヒストグラムの最大値は、画像を構成するピクセルの総数と一致するはずです。

また、イコライゼーション前の画像のヒストグラムの縦軸のスケールは、イコライゼーション後の画像のヒストグラムの縦軸のスケールと異なります。両方のヒストグラムを同じスケールで描画した場合、イコライゼーション後の画像のヒストグラムのバーの高さは、イコライゼーション前の画像のヒストグラムのバーの高さよりも低くなります。

参照

参考文献

  1. ^ Hum, Yan Chai; Lai, Khin Wee; Mohamad Salim, Maheza Irna (2014年10月11日). 「画像コントラスト強調のための多目的バイヒストグラムイコライゼーション」. Complexity . 20 (2): 22– 36. Bibcode : 2014Cmplx..20b..22H . doi : 10.1002/cplx.21499 .
  2. ^ Laughlin, SB (1981). 「単純なコーディング手順がニューロンの情報容量を高める」Z. Naturforsch 9–10(36):910–2.
  3. ^ Intel Corporation (2001).オープンソース・コンピュータビジョン・ライブラリ・リファレンス・マニュアル(PDF) . 2015年4月9日時点のオリジナル(PDF)からアーカイブ。 2015年1月11日閲覧
  4. ^カリフォルニア大学アーバイン校 数学 77C - ヒストグラム均等化( Wayback Machine ) (2020年6月1日(カレンダー)アーカイブ)
  5. ^ゴンザレス、ラファエル C. (2018).デジタル画像処理。リチャード E. ウッズ (第 4 版)。ニューヨーク州ニューヨーク州: ピアソン。138 ~ 140ページ 。ISBN 978-1-292-22304-9. OCLC  991765590 .
  6. ^ S. NaikとC. Murthy、「色域問題のない色相保存型カラー画像強調」、IEEE Trans. Image Processing、vol. 12、no. 12、pp. 1591–1598、2003年12月
  7. ^ PE Trahanias、AN Venetsanopoulos、「 3Dヒストグラム均等化によるカラー画像の強調」、Proc. 15th IAPR Int. Conf. Pattern Recognition、vol. 1、pp. 545–548、1992年8月~9月。
  8. ^ N. Bassiou と C. Kotropoulos、「絶対割引バックオフによるカラー画像ヒストグラム均等化」、Computer Vision and Image Understanding、vol. 107、no. 1-2、pp.108-122、2007年7月-8月
  9. ^ Han, Ji-Hee; Yang, Sejung; Lee, Byung-Uk (2011). 「均一な1次元グレースケールヒストグラムを用いた新しい3次元カラーヒストグラム均等化法」. IEEE Transactions on Image Processing . 20 (2): 506– 512. Bibcode : 2011ITIP...20..506H . doi : 10.1109/TIP.2010.2068555 . PMID 20801744. S2CID 17972519 .