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

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

Bチャンネル再建法ツール ハイブリッド・アルゴリズム実装版 Ver. 4.7《アルゴリズム & UI一部変更》

f:id:yasuo_ssi:20210310145522j:plain

 9月に、本ツールをバージョンアップしましたが、今回再びバージョンアップさせていただきます。今回のバージョンアップの主な目的は、エキスパートモードの位置づけの変更 (よりダメージの大きな画像に対して活用するため)、および青い部分の黄変補正量の改善対策です。

■メニューの位置づけの変更

 今までのエキスパートモードメニューの位置づけは、開発目的のための補正効果の確認用という位置づけで、一般の方が補正のために積極的に使うことを想定していませんでした。ただ今回、ダメージ程度の大きい画像の補正のためにエキスパートモードを積極的に使っていただくようユーザインターフェース等を変更しました。既に前回のアップデートで一部ユーザインターフェースの変更を行っていましたが、それはこのための準備作業でした。

 なお、ダメージが中程度以下の画像では、ノービスモードメニューでパラメーターを多少いじる範囲内で十分補正が可能です。基本的にはノービスモードでは補正効果が不十分なダメージの程度の大きな画像の場合、ならびに青い部分に強い黄変が広がっている場合のみにエキスパートモードを使っていただくという位置づけです。

ノービスメニュー

 まず、ノービスメニューでは外観上の変更はほとんどありません。次はエキスパートメニューです。

エキスパートメニュー

 外観上の変更は少ないように見えますが、位置づけが大きく変わっています。まず、拡張疑似フラットフィールド補正のパラメータ部分ですが、以前は拡張疑似フラットフィールド補正のみの効果を調べるためのパラメータであって、ハイブリッド補正の際は無効でした。しかし、今回はハイブリッド補正と共通になっています。現在のメニューの組み合わせで無効なパラメータは灰色で表示され、有効なパラメータは白または緑色等で表示するようにし、なるべく迷いにくくするよう工夫したつもりです。

 

アルゴリズムの選択

 アルゴリズムの選択は、[select algorism] に一本化されてシンプルになっています。

アルゴリズムの選択

 G Mixing は従来(7月アップデート以前)のGチャンネルミキシングアルゴリズム単独モード、そしてハイブリッド補正は 通常の Hybrid と、Ver. 4.6 から導入された New Hybrid、 そして EPFFc は拡張疑似フラットフィールド補正単独適用モードです。

■マスクの選択

 なお、マスクの選択は4.6から変更した通りです。

マスク適用メニュー

 ノービスメニューでは所定のアルゴリズムに対し、所定のマスクを掛けるようになっていますが、エキスパートメニューはユーザが自由に決められます。

 None は主に New Hybrid もしくは EPFFc と合わせて使うことを想定しています。Hybridの場合は画像によって Type2 か Type4、New Hybridの場合は、NoneかType3そしてG Mixingの場合は Type1 が主たる想定ですが、もちろん変えていただいても結構です。

■マニュアル補正量調整

 また、補正を掛けても黄色味が残ってしまう場合、あるいは青い部分に黄変が広がっている場合は、Manual による補正量の調整を使ってみてください。以前は、拡張疑似フラットフィールド補正単独適用時のみ有効でしたが、今回、ハイブリッド補正でも有効にしてあります。

補正量の自動/マニュアル調整の選択

 この下の欄で補正量を入力します。なお、どれぐらい補正量を増やすべきかですが、すでに、黄変のダメージ程度を判定する統計ツールを公開しており、それで目安の数値を計算できますので、その情報を参考にマニュアル補正量を決めていただければと思います。

 なお、この目安量の計算は当初、Bチャンネル再建法ツール内に組み込んで自動で計算して適用させるということも考えたのですが、上の統計ツールを使って計算させたところ、結構計算に時間がかかる、ということ、上の目安量が本当に妥当なのか、手持ちのサンプルファイルが少なく値を決めきれないということ、さらに画像によっては、全体を対象とせず、変色部分だけ指定して計算させたほうが良いケースがある、ということから、この機能をBチャンネル再建法ツールの中に組み込むのは止めました。

 この点は、ユーザの皆様から、これぐらいの補正量にしたら、うまくできた、出来なかったという情報を寄せていただけますと助かります。

■青色部補正改善のためのユーザ作成マスクの読み込み

 今回新たに導入された項目として、ユーザ作成マスクの読み込みがあります。

ユーザ作成マスク読み込みオプション
(エキスパートメニューで指定)

 これは、拡張擬似フラットフィールド補正は、青い部分に黄変が広がっている場合、十分な補正が効かない場合があります。そこで、その部分にマスクを掛けて通常とは異なるパラメータを掛けて補正します。拡張擬似フラットフィールド補正が効かない部分は、Gチャンネルミキシングアルゴリズムで補正しますが、Gチャンネルミキシングアルゴリズムだけでは補正しきれず、かつマニュアルでパラメータを調整しても補正が不十分な場合は、補正したい青い部分を白抜きしたマスクをユーザが作成してそれを読み込ませて拡張擬似フラットフィールドアルゴリズムを適用し補正します。

 例えば次のような画像に対しては...

マスク作成元 オリジナル

 次のようなマスクをユーザが作成し、追加で読み込ませます。

青色部補正用ユーザ作成マスク

 このユーザ作成マスクを読み込ませると次のような補正量調整ダイアログが出ます。

補正量調整ダイアログ

 デフォルト値は、標準偏差の100%としています。これは若干大き目かもしれません。

 このユーザ作成マスクの作成方法については別記事で解説します。

 ただし、青色部にかかっている黄変の程度がさほどひどくなければ、ハイブリッドアルゴリズムで十分吸収可能ですので、わざわざマスクを作る必要はありません。また、マニュアルによる補正量調整で、補正量を増やしても改善可能です。ハイブリッドアルゴリズムのデフォルト設定もしくはマニュアルによる補正量調整でも黄変が吸収しきれない場合、もしくはマニュアルによる補正量調整で副作用が出る場合 (例えば青色部分以外で、黄色味が過剰に脱色される等) に、ユーザ作成マスクを併用することを想定しています。

 なお、青色部補正について、当初は自動判定アルゴリズムも考え、色々試験もしたのですが、断念しました。というのは、相対的に青い部分を抽出するのは簡単ですが、黄変の補正の必要のない部分を含めてしまうと補正量の判定精度が下がってしまうことが分かりました。結局相対的に青い部分のうちどの部分が補正が必要で、どの部分が補正が必要ないかを判断するのは、ユーザが判断するのに越したことはないので、結局ユーザにマスクを作ってもらいそれを読み込ませるという形にしました。

 

■オリジナルBチャンネル画像に対する、Gチャンネルテクスチャ・ミキシングオプション

 また、オリジナルBチャンネルに対し、Gチャンネルのテクスチャ情報をミキシングするオプションもつけました。これも荒れた画像用の対策です。これは、ノービスモードでも、画像の状態が「荒れている coarse」を選択すると自動適用されます。

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

 なお、荒れている画像はSigmaを小さめにしたほうが良いです。これもノービスモードでは画像の状態が「荒れている coarse」を選択すると 5 に下げます。

 どの程度改善するかですが、まずオリジナルのBチャンネルです。

オリジナル B チャンネル

 上のオプションを適用すると以下のようになります。

オリジナルBチャンネルをテクスチャ補正した画像

 明度情報はあまり変わりませんが(わざわざなるべく変わらないようにしました)、テクスチャの荒れが改善しているのが分かると思います。これは、荒れた画像に 通常のHybrid アルゴリズムを適用した場合でも、New Hybrid アルゴリズムと同等のテクスチャ改善効果を得るためのオプションです。New Hybrid アルゴリズムだと、黄変補正効果部分はほぼすべて拡張疑似フラットフィールド補正アルゴリズムに頼ることになりますが、それは必ずしも望ましいとは限らないので、通常 Hybrid アルゴリズムの改善手段として導入しました。

 というわけで、今回の改良は主として、ダメージの程度が重度の画像や青色部分に方変が広がっている画像に対して、エキスパートモードを使ってパラメータを指定してなるべく補正力を向上させるというところに重点を置きました。なお、エキスパートメニューの全般的解説は、以下のページをご覧ください。

yasuo-ssi.hatenablog.com

-----------

 Ver. 4.7 のダウンロードはこちらから。

-----------

 とりあえず、今回までのバージョンアップで、7月末のバージョンアップ後、課題として考えていたダメージの大きな画像の補正のために考えられるアイディア中、試してみて効果があった機能は一通り搭載しましたので、これ以上の大きな機能追加やUIの改良に関しては、当面様子を見たいと思います。

 主として拡張疑似フラットフィールドアルゴリズムを使って、黄変量を推計し、それを基に黄変を補正するとともに、他チャンネル情報を混入・流用することでBチャンネルの損傷したテクスチャを改善したり、拡張疑似フラットフィールドで補正しきれなかった部分を補助するという基本的な考え方は、今後とも変わらないと思います。

 おそらくバグフィックスやコードの整理、あるいはパラメータの見直しは随時行うことになるとは思いますが...

 また、これぐらいのパラメータを使ったら補正がうまくいった、行かなかったという補正例情報をお寄せいただけますと、本プログラムの改善に役立ちますので、よろしくお願いします。

-----------

 

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

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

 営利・営業目的で使用される方は別途ご相談下さい。

 また、私の作成したPlug-inも自由に改変して使用していただいて構いませんが、その成果を公表する場合はご一報下さい (公表しない場合は特に連絡は必要ありません)。またその改良した結果を私の方で自由に利用させていただくこともご了承下さい。

-----------

・補正量調整を行なって補正した補正過程事例です。

yasuo-ssi.hatenablog.com

・パラメータを変えたりユーザ作成マスクを読み込みこんだ効果の検証です。

yasuo-ssi.hatenablog.com