
画像処理において、ヒストグラム均等化とは、画像のヒストグラムを用いてコントラストを調整する手法である。
ヒストグラム均等化は、より一般的なヒストグラム再マッピング手法の具体的な事例です。これらの手法は、画像を調整して分析を容易にしたり、視覚的な品質を向上させたりすることを目的としています。
この方法は、特に画像が狭い範囲の輝度値で表現されている場合に、多くの画像の全体的なコントラストを向上させます。この調整により、ヒストグラム上の輝度値をより適切に分布させ、輝度値の全範囲を均等に活用することができます。これにより、局所的なコントラストが低い領域のコントラストを高めることが可能になります。ヒストグラム均等化は、画像コントラストを低下させる傾向のある高密度な輝度値を効果的に分散させることで、これを実現します。
この方法は、背景と前景の両方が明るい、または両方が暗い画像に有効です。特に、この方法により、X線画像における骨構造の視認性が向上し、露出過多または露出不足の写真におけるディテールが向上します。この方法の重要な利点は、入力画像に適応し、可逆操作である、比較的簡単な技術であることです。したがって、理論的には、ヒストグラム均等化関数が既知であれば、元のヒストグラムを復元できます。計算は計算負荷が高くありません。この方法の欠点は、無差別であることです。背景ノイズのコントラストを高める一方で、使用可能な信号を減少させる可能性があります。空間相関が信号強度よりも重要な科学画像処理(量子化された長さのDNA断片の分離など)では、信号対雑音比が小さいと、通常は視覚的な検出が妨げられます。
ヒストグラム均等化は写真ではしばしば非現実的な効果を生み出しますが、熱画像、衛星画像、X線画像などの科学画像には非常に有効です。これらの画像は、偽色を適用する画像と同じ種類であることが多いです。また、ヒストグラム均等化は、色深度の低い画像に適用すると、望ましくない効果(画像にグラデーションが現れるなど)を生み出す可能性があります。たとえば、8ビットのグレースケールパレットで表示される8ビット画像に適用すると、画像のカラー深度(グレーの固有の色調の数)がさらに低下します。ヒストグラム均等化は、連続データや16ビットのグレースケール画像のように、パレットサイズよりもはるかに高いカラー深度を持つ画像に適用すると最も効果的です。
ヒストグラム均等化の考え方と実装方法は、画像変更とパレット変更の2つがあります。この操作は次のように表現できます。どこオリジナル画像です。はヒストグラム均等化マッピング操作であり、はパレットです。新しいパレットを次のように定義します。そして画像を残す変更がない場合、ヒストグラム均等化はパレットの変更またはマッピングの変更として実装されます。一方、パレットが変更された場合変更されず、画像が変更されますそして、実装は画像の変更によって行われます。ほとんどの場合、元のデータを保持できるため、パレットの変更が好まれます。
この方法の改良版では、サブヒストグラムと呼ばれる複数のヒストグラムを使用して、全体的なグローバルコントラストではなく、局所的なコントラストを強調します。このような方法の例としては、適応型ヒストグラム均等化、およびコントラスト制限適応型ヒストグラム均等化、マルチピークヒストグラム均等化、多目的ベータ最適化バイヒストグラム均等化(MBOBHE)などのバリエーションがあります。これらの方法、特にMBOBHEの目的は、明るさの平均シフトやディテール損失のアーティファクトを発生させることなく、コントラストを改善するようにアルゴリズムを変更することです。[ 1 ]
生物学的ニューラルネットワークにおいても、入力統計の関数としてニューロンの出力発火率を最大化するために、ヒストグラム均等化に相当する信号変換が行われているようです。これは特にハエの網膜で証明されています。[ 2 ]
ヒストグラム化された画像の逆投影とは、修正されたヒストグラムを元の画像に再適用することであり、ピクセルの輝度値のルックアップテーブルとして機能します。
すべての入力シングルチャネル画像から同じ位置から取得したピクセルの各グループに対して、関数はヒストグラムのビン値を出力画像に書き込みます。ここで、ビンの座標はこの入力グループのピクセルの値によって決定されます。統計的には、各出力画像のピクセルの値は、対応する入力ピクセルグループがヒストグラムが使用されているオブジェクトに属する確率を表します。[ 3 ]
離散的なグレースケール画像を考えてみましょう。そしてグレースケールの出現回数画像から一様にランダムに選択されたピクセル値の確率いる、 は
画像内のグレースケール値の総数である。は、画像内の値を持つピクセルの数です。、 そして画像内のピクセル総数。画像のヒストグラム値はヒストグラムは、総面積が1になるように正規化されています。
それでは、画像内のピクセルの累積分布関数を定義しましょう。価値のためにそれは
これは、画像の累積正規化ヒストグラムでもあります。
私たちは変革を起こしたい新しいイメージを作り出す平坦なヒストグラムを持つ。このような画像は、値の範囲全体にわたって線形化された累積分布関数(CDF)を持つ。
ある定数に対してCDFの特性により、このような変換を実行できます(逆分布関数を参照)。これは次のように定義されます。
どこ範囲内注目してくださいレベルを範囲にマッピングします正規化されたヒストグラムを使用したので値を元の範囲に戻すには、変換された各画像値に次の単純な変換を適用する必要があります。:
は実際の値ですが整数でなければならない。直感的で一般的な方法[ 5 ]は、丸め演算を適用することである。
しかし、詳細な分析の結果、若干異なる定式化となる。マッピングされた値は範囲は0であるべきです。 そしてのために、のために、……、そして最後にのためにすると、量子化式は次のようになります。にであるべき
。
(注記:いつしかし、それは単に(つまり、その値に対応するピクセルが存在しないということです。)
上述のヒストグラム均等化はグレースケール画像に有効です。カラー画像にも使用できます。1つの方法は、画像のRGBカラー値の赤、緑、青の各成分に個別にこの方法を適用することですが、アルゴリズムの適用によってカラーチャネルの相対的な分布が変化するため、画像の色バランスに劇的な変化が生じる可能性があります。しかし、画像をHSL/HSVやY'CbCrなどの別のカラースペースに最初に変換すれば( CIELABやOklabなどの均一カラースペースの方が理想的ですが、計算コストが高くなります)、画像のカラー特性に変化を与えることなく、輝度または値チャネルにアルゴリズムを適用できます。[ 6 ]
3D空間にはいくつかのヒストグラム均等化手法があり[ 7 ]、その結果、明るいピクセルの確率が暗いピクセルの確率よりも高くなり、白化が発生します[ 8 ]。Hanらは、ISO輝度平面で定義される新しいCDFを使用することを提案し、その結果、均一なグレースケール分布が得られます[ 9 ] 。
演算等化処理は、小さな画像で示すのが最も分かりやすいでしょう。フルサイズの画像では、この処理によって得られる全体的な結果が示されています。

表示されている8ビットグレースケール画像の値は以下のとおりです。
この画像のヒストグラムを以下の表に示します。簡潔にするため、カウントがゼロのピクセル値は除外しています。
累積分布関数(CDF)を以下に示します。ここでも、簡潔にするため、関数の増加に寄与しないピクセル値は除外しています。
この CDF は、サブイメージ内の最小値が 52、最大値が 154 であることを示しています。値 154 の CDF 64 は、画像のピクセル数と一致します。CDF は正規化する必要があります。一般的なヒストグラム均等化の式は次のとおりです。
どこは累積分布関数の最小非ゼロ値(この場合は1)です。画像のピクセル数を示します(上記の例では64、幅と高さ)とは使用されるグレースケール値の数です(ほとんどの場合、この例のように256です)。
元のデータの 0 を超える値を 1 から 1 の範囲にスケーリングすることに注意してください。(含む)の場合、上記の式は代わりに次のようになります。
ここで、cdf(v) > 0 である。1 から 255 へのスケーリングは、最小値がゼロでないことを保持します。
例題のスケーリングデータ(0から255までの範囲)の等化式は次のとおりです。
例えば、78の累積分布関数は46です。(78の値は7列目の最下行で使用されます。)正規化された値は次のようになります。
これが完了すると、正規化された累積分布関数から均等化された画像の値が直接取得され、均等化された値が得られます。
最小値52が0に、最大値154が255になっていることに注目してください。
上記のグラフでは、累積ヒストグラムの縦軸の目盛りがヒストグラムの目盛りと異なっていることに注意してください。もし両方を同じ目盛りで描画すると、累積ヒストグラムはヒストグラムよりもはるかに高い値を示すことになります。これは、ヒストグラムが特定の値を持つピクセルの数を示すのに対し、累積ヒストグラムは指定された値以下のピクセルの総数をカウントするためです。したがって、累積ヒストグラムの最大値は、画像を構成するピクセルの総数と等しくなければなりません。
また、補正前の画像のヒストグラムの縦軸のスケールは、補正後の画像のヒストグラムの縦軸のスケールとは異なります。両方のヒストグラムを同じスケールで描画した場合、補正後の画像のヒストグラムの棒グラフの高さは、補正前の画像の棒グラフの高さよりも低くなります。