省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

拡張疑似フラットフィールド補正の効果の違いがなぜ出るか?

f:id:yasuo_ssi:20210310145522j:plain

 先日、下記の記事を公開しました。

yasuo-ssi.hatenablog.com その中で、 拡張疑似フラットフィールド補正アルゴリズムの効果が出る画像と、あまり出ない画像の差があり、あまり出ない画像では、画像の粒子が荒いからではないか、と書きましたが、その後の探求で、全く異なることが分かりました。

 正解は、BとGチャンネルの相関の違い(≒ヒストグラムのパターン)の違いでした。

 まず 拡張疑似フラットフィールド補正アルゴリズムの効果が比較的高かった画像のヒストグラムを見てみます。

効果の高かった画像

 黄変量の大半が拡張疑似フラットフィールド補正アルゴリズムのみによって除去されています。一部元々黄緑色だった部分が過剰補正されたりもしていますが...

効果の高かった画像の
拡張疑似フラットフィールド補正アルゴリズム適用結果

 オリジナルの、R, G, Bのヒストグラムのパターンの違いを見てみると、Bだけシャドウ域のピークが大きくずれていますが、どのヒストグラムも大きなピークがシャドウ域とハイライト域の2カ所にあるというパターンは変わりません。BとG はずれはありますが基本的な位相は似ていると言えます。平均値は Bが約135と突出していて、GとRは117~119程度なので、この平均値を調整すると、Bのミドル域のピークがおおむねGとRのピークに一致し、うまく黄変が検出できた(つまりBのハイライト域のピークが、Gより下がっていることと、ミドル域のピークの左側のなだらかな部分が黄変要素と思われるので、Gのピークのパターンと比較することでその部分を検出することができた)、と考えられます。

 一方効果が低かった例です。

効果が低かった画像

 下に補正結果を示しましたが、拡張疑似フラットフィールド補正アルゴリズム単独では黄変量の2~3割も削減できたかどうかというあたりです。元々地が青い部分にかかっている黄変の削減はアルゴリズム上無理でしたが、ホームの不均質感ははっきり残っていますし、駅ビルの壁面などは多少薄くなったかどうか程度です。

効果が低かった画像の
拡張疑似フラットフィールド補正アルゴリズム適用結果

 オリジナル画像の R, G, Bのパターンを見ると、比較的 RとGは似ていますが、Bは大きく異なります。R, Gはミドルからシャドウ域に掛けて3つのピークがあります。ただ Rは真ん中のピークが低くはなっていますが。一方、Bは帽子状です。以下のヒストグラムを見ると、その差はもっと分かりやすいかと思います。以下の方は最高値と最低値で足切りをしたヒストグラムであるためです。

BとGのヒストグラムの違い

 うまく黄変量を検出できるように、GとBの明るさのレベルを平均値を揃えて検出させているのですが、効果の低い画像の方は、ヒストグラムのパターンが違いすぎる (厳密に言えばチャンネル間のピクセル分布の相関が低い) ので、平均値を揃えることだけでは十分に黄変量を推測することができなかったというのが、どうやらこの問いの正解でした(本当はエコロジカル・ファラシーの問題があるので、あまりヒストグラムを絶対視して語るべきではないのですが、目安にはなります)。

 因みに、Bチャンネルの標準偏差は44.3 Gチャンネルの標準偏差は44.8 そして相関係数は0.79でした。一方、効果のあった上のサンプルでは、Bチャンネルの標準偏差は59.1 Gチャンネルの標準偏差は71.7 そして相関係数は0.94 と圧倒的に相関係数が高いです。まさにこのBチャンネルとGチャンネルの相関の高さ低さの違いが効果の違いの原因です

 ただ、大きくヒストグラムのパターンが崩れている(=BチャンネルとGチャンネルの相関が低い)ということは同時に画像のダメージも大きいため、画像の荒れも大きいことが多く、それで私が疑似相関に足をすくわれてしまって、先日のようなことを書いてしまったというのが、事の真相でした。

 なお、GとBのレベルを調整する際に平均ではなく中央値も使ってみましたが、ほぼ変化なしでした。

 このあたりの対策も今後の課題としたいと思います。ただし、ダメージが中程度以下の画像では、ハイブリッドで使っているGチャンネルミキシングアルゴリズムが、拡張疑似フラットフィールド補正アルゴリズムが効果を発揮できない部分をカバーして補正してくれるので、実質的な問題は解決されています。もちろんより補正アルゴリズムの精密さ、厳密さを追求することもできますが、アルゴリズムをいくら改善しても、この程度のダメージレベルでは、見た目上は大きな変化はないでしょう。

 問題は、Gチャンネルミキシングアルゴリズムでもカバーしきれないような、ダメージ程度の重い画像をどうするか、というあたりです。一応現状では、エキスパートメニューで拡張疑似フラットフィールド補正アルゴリズム単独モードの場合、拡張疑似フラットフィールド補正アルゴリズムによる補正量をマニュアルで調整するオプションをつけていますが...