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

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

拡張疑似フラットフィールドアルゴリズムを用いて、輪郭・テクスチャ情報を他チャンネルに流用する

f:id:yasuo_ssi:20210310145522j:plain

 先日紹介した Photoshop を使った黄変画像の補正チュートリアルビデオの中で、画像の補正のために L*a*b*チャンネル分解モードを使っていました。これは、この紹介記事の中で触れたように、輪郭やテクスチャ情報 (detail) と色情報を分離して扱うためです。輪郭やテクスチャ情報は、L* チャンネル、つまり輝度情報として扱われていました。

 ところで、拡張疑似フラットフィールドアルゴリズムを使っても、輪郭・テクスチャ情報と色情報の分離に近いことができます。バージョンアップしたBチャンネル再建法補正ツールで、既にこの機能は活用されています。

 今回のバージョンアップで、オリジナルのBチャンネルのテクスチャを改善するというオプションを付けました。

Gチャンネルテクスチャ・ミキシングオプション

 Bチャンネル再建法ツールでは、ハイブリッド補正採用以降から、近景補正レイヤーに対し、B値がG値より高い場合は、オリジナルBチャンネルの情報を生かすマスクを付けています。この理由は、GチャンネルとBチャンネルの不要な値の接近をなるべく回避するためです。しかしそれは同時に、オリジナルBチャンネルの荒れがひどいと、そのテクスチュア荒れも引き継ぐことを意味します。

 そこで、オリジナルBチャンネルの荒れがひどい場合は、Gチャンネルのテクスチャ情報(のみ)を流用して、テクスチャを改善しようというオプションです。このテクスチャ情報の流用にも、拡張疑似フラットフィールドアルゴリズムを使っています。

 

 以下に、Gチャンネルのテクスチャ情報をBチャンネルに応用する実験をお見せします。但し、この実験は、Bチャンネル再建法ツールによって作成されているのではなく、筆者が拡張疑似フラットフィールドアルゴリズム効果実験のために、独自に書いたプログラムを使って生成していますので、この結果がそのままBチャンネル再建法ツールに応用されているわけではありません。いわば次期バージョンのアルゴリズム改善に向けた実験レポートです。

 それではサンプルを見てみましょう。まずはオリジナルファイルです。

補正前 オリジナル

 次はオリジナルBチャンネルです。

オリジナル B チャンネル

 そして、Gチャンネルです。

オリジナル G チャンネル

 この画像のテクスチャ情報をなるべく上の荒れた B チャンネルに適用していきます。

 

この時、BチャンネルがGチャンネルより暗い部分 (推定黄変量) を拡張疑似フラットフィールド補正アルゴリズムを使って抽出してみると...

B < G
(補正量調整 30)

 逆に、GチャンネルがBチャンネルより暗い部分は...

B > G
(補正量調整 -30)

 そこで、Gチャンネルの明度情報をBチャンネルに近くするためにG がB より明るい値は、G値より減算し、逆にGがBより暗い値は、その分G値に加算します。そうすることで、Gチャンネルのテクスチャを残しつつ、Bに近い画像が出来上がります。但し、拡張疑似フラットフィールドアルゴリズムは、単に両画像間の輝度の平均値調整を掛けるだけでなく、画像によってはさらに補正量調整を掛けないと十分な効果を発揮しませんので、極力最大限の効果が発揮できるようパラメータ調整を図る必要があります。下図は -30 の補正量調整 (比較対象のBチャンネルの平均輝度を引き下げる) を掛けています。どうも、補正量調整を行わないと、明度の分布が元のGチャンネルに近くなり、Bチャンネルの明度分布に今一つ近づきません。

Gチャンネルの明るさ情報をBチャンネルに近づけた画像
(補正量調整 -30)

 比較のため、再度オリジナルBチャンネル画像を掲示します。

オリジナル B チャンネル

 視覚的にはかなりオリジナルBチャンネルに近づいているように見えます。

 因みにオリジナルのBチャンネルと、GチャンネルをBチャンネルの明度に近づけたファイルの相関係数は0.97でした(オリジナルのB-G間の相関係数は0.79)。平均輝度は、オリジナルBは111.6、オリジナルGは、115.4それにたいし、GチャンネルをBチャンネルの明度に近づけたファイルは85.3とやや暗くなりました (輝度値はすべて8bit相当換算値)。この輝度差を調整するともっとオリジナルBチャンネルの輝度分布に近くなると思います。

 計算するとき Sigmaの値を小さくするとBチャンネルの荒れが反映されてしまうので、Sigmaの値を大きめに取る(ここでは20)のがポイントです。

 これによりBチャンネルに対し、Gチャンネルのテクスチャ情報を流用することができます。

 なお、最適な調整量はどうやって決めるかですが、この画像の場合は、+の方向でも、-の方向でも、絶対値でG-B間の差の標準偏差 (28.85) を若干上回るぐらいの値が、もっともGチャンネル加工後の画像とオリジナルのBチャンネルの相関係数が高くなるようで、そこから離れるほど、相関係数が低くなりました。また当然ですが補正量を+ に振ると(比較対象のBチャンネルの平均輝度を引き上げると)、加工後の画像はオリジナルより輝度の平均値が高くなり、- に振ると低くなります。

 これがどの画像でもいえる普遍的な法則といえるのかどうかは、もっと様々な画像で調べてみないと何とも言えません。