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

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

カラーネガフィルム光被り補正 再考 (光被り補正ツールバージョンアップ)

f:id:yasuo_ssi:20210627103216p:plain

 既に、ImageJに対応したカラーネガフィルムの光被り補正ツールを2021年3月に下記で公開しており、さらにそのバージョンアップ(2021年10月)をその下の記事で公開しています。

yasuo-ssi.hatenablog.com

yasuo-ssi.hatenablog.com

 しかし、とりあえず、アイディアを動くところまでにはしましたが、まだその補正結果には不満が残っていました。そこで、今回その結果の改善を試みました。

 まず、以前も使っていますが、補正元画像をご覧ください。そして既存ツールを使った補正状況も提示します。

オリジナル画像
横幅ピクセル数1920

 右端に光被りに起因する、赤っぽい筋がかなり入っています。そこで、すでに私が製作した光被りツール補正ツールを使い、修正領域ROIをx座標 1500-1920 (1920: 右端ピクセル値) とします。y座標は 0-1380のフル領域のままです。下図にある領域になります。

補正対象ROI 1500-1920

 さらに適正な領域のサンプリング領域として x 座標1400-1500の領域を指定します。下図の領域です。

サンプリングROI 1400-1500

 修正結果は下記の通りです。

従来方式の補正
Gチャンネルミキシングガンマ 0.50
Gチャンネル最大混入率 1.00
補正領域 1500-1920
サンプリング領域 1400-1500

 暗く赤被りのひどい部分は結構補正されていますが、空がまだ結構ピンクがかっています。

上の補正の補正されたRチャンネル

 なぜ、空の部分にピンクが残ってしまうかというと、上図のように、Rが補正しきれずまだ白っぽい (明るい) 部分が残ってしまうからです。

 

 理由を追求するために、R-Gチャンネルの差の平均値を採ってみます。まず光被りしている部分を光被りのひどい領域 (1750-1920) のみに限定します。

補正対象ROI 1750-1920

 この領域(x 1750-1920)の中央列(x座標 1835)のR-G差の平均値を、サンプリング領域の平均値と比較します。まずオリジナルの値から。

補正対象ROI と サンプリングROIのR-G値差の平均値
16bit値

 これは補正対象ROIのx座標中央値列における、ブロックごとにR-Gの差の平均値です。ブロック番号というのは、y軸を縦に25等分したブロックです。一番右端に補正対象ROIの中央領域とサンプリング領域の平均値の差 (つまりどれほど光被りによってR値が上昇しているか) を出しています。このプログラムは、おおむね (正確にはやや異なりますが) この補正対象とサンプリング領域の差に基づいて、補正量、つまりGチャンネルのRチャンネルへの混入量を決めています。

 以下は0-255の範囲で標準化した値です。

補正対象ROI と サンプリングROIのR-G値差の平均値
値幅 0.00-255.99 (8bit相当) で標準化

  R-G差で値がマイナスになっているところは、そのブロックのRの平均値よりもGの平均値が高い部分です。また補正対象-サンプリングの差がマイナスになっているところは、サンプリングROIよりも補正対象ROIのR-G差が小さいところです。これは光被りの影響がほぼなくその代わり元の画像コンテクストの差が出た部分と考えられます。この部分はRの値がGよりも低いので、プログラムでは補正を掛けません (厳密には各列単位で補正量を決めていますので、ここでマイナスになっているからといって、そのブロック全体を補正しないという訳ではありません)。

 それはともかく、なぜ空の部分にピンクの部分が残るかという理由が分かりました。例えば、一番差が大きい部分は、0-255の値で標準化した場合、23.93もあります。一方、おそらく空の部分に該当する部分は、1.x ~ 4程度です。光被りの影響は10/1程度です。混入率の初期値は、この差を、差の最大値で割ったパーセンテージとしていました。つまり空の部分は圧倒的にGチャンネルの混入量が少ないのです。つまり差の小さいところの混入率を大幅に上げるとともに差の大きいところは上げない、そして、差が0かマイナスのところは混入しないというのを実現しなければなりません。

 で、実は、既にこの混入率の初期値では足りないということが分かっていたので、これを調整するために混入率に1/2の乗数(power)で累乗して混入率を調整していましたが、それでも圧倒的に足りないということです。

 そこで、今回はプログラムをいじって、GチャンネルをRチャンネルにミキシングする際の、混入率に対する乗数を変えられるようにしました。従来はこの乗数を0.5(1/2)に固定していました。このバージョンアッププログラムはこちらからダウンロードできます。また今回、途中でキャンセルしたときの処理も少し真面目に修正しました。なお、詳しい使用方法は、以前のバージョンの説明記事をご参照ください。以下、差異点のみを記します。

 起動するとパラメータ設定ダイアログに以下の部分が追加されています。

追加されたパラメータ Power (乗数) for mixing adjustment

 何度か試してみて、この画像の場合、乗数 powerを0.18ぐらいにするのが一番良いようでした。ですので、それを初期値にしておきました。その結果が以下です。おおむね0.1~0.25ぐらいの範囲が良いようです。まだ完全にピンク色が解消しているわけではありませんが、かなり改善しています。0.1よりも下げるとやりすぎという感じでした。

今回の補正
Gチャンネルミキシングガンマ 0.18
Gチャンネル最大混入率 1.00
補正領域 1500-1920
サンプリング領域 1400-1500

 さらに空のピンクがかりがうまくいかないのは、知覚的TRCが掛かっているためである可能性があります。というのは知覚的TRCが掛かっていると明るい部分が、中~暗部に比べて諧調幅が粗くなってしまうからです。

 そこでリニア画像を使って補正を掛けてみました。それが下図です。

リニア画像を使った補正
Gチャンネルミキシングガンマ 0.18
Gチャンネル最大混入率 1.00
補正領域 1500-1920
サンプリング領域 1400-1500

 リニア画像では、空からお城に掛けては、知覚的TRCが掛かっている画像より確かに改善しています。しかし、暗部が妙に明るくなってしまいます。お城の下の木も、赤いまま残っている部分があります。リニア画像だからと言って必ずしもより良い結果が得られるとは限らないようです。

 明るい部分だけリニア画像で補正した結果を使って、非リニア画像の補正結果と貼り合わせるという作戦もあるかもしれません。

 いずれにせよ、かなり改善されましたが、最終的には相対RGB色カラーマスク作成ツールとの併用補正は必須です。これはサンプリング箇所が、本当に補正箇所のサンプリング箇所として適正なのかという根本的な問題がありますので、このツールだけで100%補正を完結するのはそもそも不可能かと思います。割り切る必要があると思います。とはいえマニュアルで補正するよりもはるかに楽に結果が得られることは間違いありません。

 因みに、他の方法でも改善できないか試みてみました。1つは、Gチャンネルにガンマ補正を掛けて若干暗くするという方法です。ミキシング乗数は従来方式と同じ0.5です。

従来方式の補正 + 緑をガンマ補正でやや暗くする
Gチャンネルミキシングガンマ 0.50
Gチャンネル最大混入率 1.00
Gチャンネルガンマ0.95
補正領域 1500-1920
サンプリング領域 1400-1500

 効果が今一つです。さらに暗くしようとGチャンネルのガンマの値を下げると、すぐ人工的になってしまいます(補正部分と非補正部分がくっきりと差が出る)。

 緑の混入率を上げるということも試みました。ミキシング乗数を下げるのも結果的に緑の混入率を上げているのですが、こちらはリニアに上げています。

従来方式+ 緑の最大混入率を1.2に上げる
Gチャンネル最大混入率 1.20
Gチャンネルガンマ1.00
補正領域 1500-1920
サンプリング領域 1400-1500

 元々のプログラムでGの最大混入率の最大値を1.0に上限を設けていましたが、それを外して1.2に上げてみました。とはいえ、あくまで最大混入率の最大値が1.2になるだけで、多くの補正部分では1.0を超えないはずです。しかし、こちらも効果が今一つです。しかも、暗部で強く補正が掛かっている部分と弱い部分でくっきり差が出ています。やはり人工的なアーティファクトが出てしまいます。リニアにGの混入率を上げるので、アーティファクトが出やすいと言えます。

 やはり、緑の混入率に掛ける乗数の値を低くして、非リニアに緑の混入率を上げるという作戦が最も功を奏するようです。つまり非補正部分と補正部分を如何に連続的に移行させていけるか、という点が大きなポイントだということです。

 なお、今回設定したパラメータは、画像の光被りの状態によって適切な値が大きく変わりうると思います。画像ごとに考える必要があります。

 なお、本ツールで取り切れない赤みは、相対RGB色マスク画像作成ツールを使って補正していきます。

yasuo-ssi.hatenablog.com

------------------

 なお、本記事で紹介した写真補正技法やソフトウェア (Plug-in) は、個人的および非営利用途であれば、自由に使っていただいて構いませんが、本技法を使って何らかの成果 (編集した写真等) を公表する場合は、本記事で紹介した技法を使った旨クレジットをつけて公表していただくことをお願いします。

 また、本ソフトウェアは現状のまま提供されるものし、作者はこれを使ったことによるいかなる損害補償等にも応じられないことを了解の上使っていただくものとします。
 但し、もしソフトウェアのバグがありましたら、ご連絡いただければなるべく改善するよう努めたいと思います。