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

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

Bチャンネル再建法 技術解説: なぜ補正量調整が必要な場合があるのか

f:id:yasuo_ssi:20210310145522j:plain

 Bチャンネル再建法ツールのエキスパートモードに補正量調整 [Correction Amout Adjustment] の項目があります。ここでマニュアルを設定すると、自分で補正量を入力して調整するようになります。

 ところで、なぜ補正量をマニュアルで調整する必要がある場合があるのでしょうか。2022.7のアルゴリズム改訂で、補正の一部に拡張フラットフィールドアルゴリズムを使っています。

 通常写真をRGB分解すると、R, G, B画像ピクセル相互の相関係数は非常に高いです。一般的な風景写真だとR-G間の相関係数は0.97〜0.98前後、G-B間は0.95前後、相関の小さいR-B間でも0.90代前半が普通です。つまりRGBの画像は相互に非常に似ており、ごくわずかの差が色の違いとして現れます。このアルゴリズムは、この特性を利用して、変褪色によって破壊されたBチャンネルを比較的破壊されにくいGチャンネルと比較し、Gチャンネルの値から値が大きく下がっている部分を黄変があるものと推定し、その下がった値をBチャンネルに上乗せすることで、Bチャンネルを再構成するということを行なっています (但し、RGBイメージをそのまま使っているのではなく、それらに基づいて拡張疑似フラットフィールドアルゴリズムを適用して黄変量を計算しています)。つまり、得ることのできない黄変前のBチャンネルの代用としてGチャンネル画像に基づき拡張疑似フラットフィールドアルゴリズムを実行して黄変量を推計します

 ところで、BチャンネルとGチャンネルを比較する際、BチャンネルとGチャンネルのレベルを合わせています。これは、例えば全体的に青みの強い画像があるとします。この場合、仮に黄変でBチャンネルの値が下がっていたとしても、元の色が青いので、黄変したとしてもGチャンネルの値よりBチャンネルの値が高い場合があります。これをそのまま比較すると黄変量を十分に検出できません。

黄変が検出しにくい場合

 このような場合の対策として、予めGとBチャンネルの平均値を取り、平均値を合わせるようレベル調整を行ってから比較をしています。

 つまり、Bチャンネルの黄変量を検出するためには、GチャンネルのレベルがBチャンネルのレベルと同じか上回っている必要がある、というのが一つのポイントです。以上の話を図にすると下のようになります。

黄変の推計

 上の図で、曲線状に下がっている部分が、Bの黄変部分とします。この下がっている部分をGとBの値の差で推計します(注: Gの平均値とBの差ではありません)。つまり、得られない本来のBの値の代用としてGの値を流用する、ということです。この時、Gに合わせるBの平均値が黄変前の平均値であれば理想的ですが、実際にはBの黄変前の平均値は得られません。しかし、Gの平均値と比較しているわけではないので、通常はこれでも十分黄変量を推計できます。


 ただ、黄変の削除し残しが出るとすれば、上の「黄変が検出しにくい場合」に対して平均値の調整を行っても、その調整量が不十分だったということです。

 

黄変の削除し残しが出る場合

 このような場合は、端的に言うと、黄変部分がB値の高い部分にあり、かつその部分周辺の黄変前のB値が、現在のB値の平均値よりかなり高い場合です。例えば、黄変部分が青い部分、あるいは空などにあり、かつ、画像全体のダイナミックレンジが高かったり、黄変の程度がひどくBの平均値が比較的低くとどまるようなケースです。この場合G値の引き上げが不十分ということです。

 この対策として、次の2つの手段を提供しています。

 1つは、その調整量をマニュアルで指定する方法で、エキスパートメニューの[Correction Amout Adjustment] というパラメータを使います。つまりこの不足するGの引上げ量をマニュアルで調整するためのパラメータです。そしてこの調整量で、Gチャンネルの明るさを引き上げるレベル (値は0〜255、8 bit相当値で指定) を指定します。

 このマニュアル調整値の計算を行うために開発したツールが下記のツールです。

yasuo-ssi.hatenablog.com なお、黄変が偏在している場合は上のツールで計算する際、なるべく黄変がある部分のみを範囲指定してから計算させてください。なお、Bチャンネル再建法補正ツールにこの計算を組み込んでいないのは、計算にちょっと時間がかかるのと、場合によっては計算範囲を指定する必要があるためです。

 なお、この補正推薦値の計算は、GチャンネルとBチャンネルの差の標準偏差に基づいて計算させています。

 

 2番目の方法はユーザ作成マスクを読ませる方法です。例えば青の強い部分のみ黄変が取り切れない場合、その青い部分のみを透過させたユーザ作成マスクを読み込ませ、それに従い、そこだけ他の場所とは別の基準で黄変量を推計します。

ユーザ作成マスクを使った場合

 ユーザ作成マスクを使うと、マスクを指定しない部分とは別の基準で黄変量を推計しますので、指定しない部分で過剰に黄色味が削減されにくいというメリットはあります。ただし、ユーザマスクを作らなければならないのが手間です。ユーザマスクを読み込ませる方法については下記をご覧ください。

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com