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

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

RawTherapeeの「CIE色の見えモデル2002」って何のための機能?

CIE色の見えモデル2002 (CIECAM02) 機能の要約

■目的:
撮影場所や観賞場所の明るさにかかわらず、画像上に写る同じ色の物体が同じ色に見えるよう画像ファイルを調整する

■具体的な動作:
撮影環境条件設定→知覚上の色の一貫性を確保しつつ、ハイライト・クリッピングを避けて画像ファイルの明るさを上げる

観視条件設定→知覚上の色の一貫性を確保しつつ、シャドウ・クリッピングを避けて画像ファイルの明るさを下げる

 フリーの現像ソフト、RawTherapeeには、[高度な機能]が搭載されており、その一つに、他の現像ソフトや画像処理ソフトに見られない、[CIE色の見えモデル2002] (Color Appearance and Lightning [CIECAM02])というモジュールがあります。公式マニュアルRawPediaに日本語訳が出ていますが、英語マニュアルにせよ日本語マニュアルにせよ、いずれもどちらかというと理論的な解説が主で、そもそも何のための機能なのかがいまひとつ分かりません。

 

 日本語のブログなどでも、いじってみました、という記事は多少ありますが、何のための機能かいまひとつピンと来ていないといった様子です。

 とりあえず公式マニュアルをよく読んだり、RawTherapeeの英語フォーラムの記事を読んだ限りでは、どうやら次のような目的のための機能のようです。

 仮に同じ対象物を、真昼の炎天下と、夜に撮影したとしましょう。すると昼に撮影した写真と夜に撮影した写真では、同じ対象物ですから同じ色に見えても良いはずですが、写真上では異なった色に見えてしまうことがあります。

 あるいは、デジカメで写した同じ写真を、明るい部屋でパソコンのモニタを通して見た場合と、全暗黒の部屋でプロジェクターを通して見た場合とでは、まったく同じ写真にもかかわらず異なった色に見えてしまうことがあります。

 要は、人間の知覚上は同じ色に見えるにもかかわらず、見る場所の光環境に応じて、画像上は、RGB値が異なってしまうため、異なった色に見えてしまうのです。

 しかし、人間の知覚上、明るいところで見ても暗いところで見ても、物理・光学的にRGB値が異なっても、一定の色が一定に見えるのは人間の知覚に色順応反応があるからです。この人間の色順応反応とは、例えば、茶色のサングラスを掛けても、その色に慣れると、サングラスを通して見た色が本来の色に見えるような知覚反応のことです。

  このような撮影場所や見る場所の光環境が異なっても色が一定に見える、人間の色順応反応を画像上で模するのがCAT02 (色順応変換02) で、この機能がRawTherapeeの「CIEの見えモデル2002 (CIECAM02)」モジュールのコア機能になります。つまり、明るい場所で撮影しようが暗い場所で撮影しようが同じ物体は同じ色に見えるように画像を調整するとか、同じ写真が、明るい部屋のパソコンモニタで見ようが、暗い部屋のプロジェクターで見ようが同じ色に見えるように、明るい部屋で観賞するためのファイルと暗い部屋で観賞するためのファイルを調整する、といったことを目指しているようです。

 RawPediaの公式ページには逆光の写真を調整するサンプル画像が出ていますが、単に逆光の写真の手前の物体を露光調整して明るくして見えるようにする、ということではなく (それだけなら露光機能だけで充分です)、順光で撮影した場合と同じような色に見えるよう調整して仕上げるということが、この機能の目的のようです。

 で、これを実現するには、撮影環境条件、もしくは観視条件の周囲環境条件を選択し、さらにそれぞれにある[CAT02に適応]のスライダーの右にあるチェックボックスをチェックするだけで、周囲環境に応じた色順応変換の変換量を自動設定してくれて、補正が終了します。例えば、暗い部屋でプロジェクターで見るためのファイルを作成したい場合は、観視条件の周囲環境を[暗い]にし、[CAT02に適応]のスライダーの右にあるチェックボックス (下のメニューのキャプチャ画像では右のチェックボックスが隠れている) のチェックをつけるだけでOKです。あるいは、夜に撮影した物体のカラーを調整したい場合は、撮影環境条件の周囲環境を[暗い]にし、[CAT02に適応]のスライダーの右にあるチェックボックス(のチェックをつける、ということになります。なお自動変換の変換結果に納得がいかず、光順応変換の変換量を手動で調整したい場合は、[CAT02に適応]のスライダーの右にあるチェックボックスのチェックを外し、スライダーを動かして調整します。

f:id:yasuo_ssi:20201211195217j:plain

CIE色の見えモデル2002のメニュー

 なお、この機能の下の項目に、[画像の調整]というのがありますが、これは撮影環境や、見る環境に関係ない、画像それ自体固有の色の調整項目ということになります。これらの項目は必ずしもここで調整しなければならない項目ではない-露光タブ等にある同名の調節項目と同じ-ように思えますが、CIECAM02における、明度や明るさ、彩度といったパラメーターは、RGBやL*a*b*(つまり他のモジュールにある同機能)とは定義が違うそうです。CIECAM02モジュールにおける用語の定義についてはこちらをご覧ください。

 そこで試してみました。下は昨年の12/31にこのサイトにアップしたクモハ53001の調整前のオリジナル写真です。

f:id:yasuo_ssi:20201203225218j:plain

オリジナル

 これに通常のトーンカーブ調整に掛けたら次のように色が変に発散して困っていました

f:id:yasuo_ssi:20201204224559j:plain

通常のトーンカーブ調整で、いじっているところ

 それで、12/31にアップした最終バージョンでは、一旦REC2020というやや広い色空間に変換して、そのままRGB値を変えずに無理やり狭い色空間であるsRGBのプロファイルを割り当てて、色の発散を抑えるという技法を使ったのですが、今回はこれを「CIE色の見えモデル2002」を 使って編集してみました。すると次のようになりました。

f:id:yasuo_ssi:20201231110034j:plain

CIECAM02モジュールで調整

 まず、撮影環境条件を普通→暗いにすると、画像が明るくなります。その上でCIECAM02モジュール上のトーンカーブをいじると... おお! 見事に色の発散がありません。以下のようにS字のトーンカーブを掛けてコントラストを上げていますが、トーンカーブをいじっても色彩の発散がなく、かつ暗部が暗くなっても諧調が残っています。そういうことかと納得です。今回調整に使ったパラメータは以下の通りです。

f:id:yasuo_ssi:20201231105945j:plain

上図の CIECAM02モジュール 調整パラメータ

 観視条件はいじっておらず、撮影環境で、周囲を[暗い]に、またホワイトポイントモデルを WB[RT+CAT02]+[出力] に、中間輝度をマニュアルで90に引き上げました(自動設定だと10 → 自動設定の値は画像により異なります)。さらにここの[画像の調整]のトーンカーブ調整を使ってS字のトーンカーブを掛けコントラストを上げました。それ以外にカラータブ上で色温度を若干引き下げています。なお、ホワイトポイントモデルの、WB[RT]+[出力] とWB[RT+CAT02]+[出力]の差は、後者の方がおおむね若干黄色味がかる傾向にあります。RawPeidaの記述から、前者が基準となる色温度が5000ケルビン(50D=昼白色)であることは間違いありませんが、後者はおそらく6500ケルビン(65D=昼光色)ということだと思います。ホワイトポイントをマニュアルで設定したい場合は、任意の色温度+グリーン+CAT02+[出力]を選びます。

 なお、設定項目で、明度と明るさという日本語では区別できない用語の項目がありますが、明るさは、英語ではBrightness [brilliance]の訳語で、どうやら通常「輝度」と訳される用語のようです。つまりおそらく知覚の刺激反応に合わせて、Rに約2割、Gに約7割、Bに約1割の割合で割り当てたグレースケール値のようです。明度はLightness [luminance] の訳語で、Brightnessを特定の観視条件における白で割った相対的明るさを指すとあります。つまり明るさがおそらく絶対的なRGB値に基づく輝度で、明度が相対的な、ある観視条件下における輝度、ということのようです*1

 ただ、ふと思いついて[露光タブ]の下にあるL*a*b*調整を見てみました。するとトーンカーブ調整があり、Lightness (L) で調整を掛けると、あれっ... これも色彩の発散がありません。となると、後はL*a*b*調整とCIECAM02の違いは撮影環境条件の設定の違いということになります

 実は撮影環境条件で周囲の明るさを設定することと、露光タブにおける露光量調整の違いは、CIECAM02による周囲の明るさの設定だとハイライトのクリッピングがありません。それに対し露光タブで露光量を明るいほうに動かすとハイライトがクリップします。ハイライト圧縮を掛けるとクリッピングを避けることはできるのですが... つまりCIECAM02の撮影環境条件における周囲の明るさの設定とは、一つの設定項目で、知覚上の色の一貫性を確保しつつ、露光タブにおける露光量調整とハイライト圧縮の2つを同時に掛ける (ハイライト・クリッピングを避けつつ明るさを上げる) のと同じ効果があるということです

  日中に順光で撮った写真や適正露出の写真の調整にはあまり出番のない機能だと思いますが、夜中に暗い場所で撮った写真だとか、極端な逆光の写真を調整する場合、威力を発揮する機能だと思います。

 さらに適切な露光で撮った写真を、日中観賞用と、暗闇の中でのプロジェクター観賞用に調整してみます。

f:id:yasuo_ssi:20201231114410j:plain

観視条件: 普通

f:id:yasuo_ssi:20201231114445j:plain

観視条件: 暗い

 この2つの写真の違いは、観視条件の周囲環境を[普通]と[暗い]にしただけの違いであとはデフォルトのまま何もいじっていません。同じ条件下で見る限り、[暗い]の方が全般的に若干画像も暗くなっている程度の違いにしか見えませんが、上の画像を明るいところで見た場合と、下の画像を暗闇の中で、プロジェクターを通して見た場合とで、色が同じに見えているはず、です。お試しください。

 で、これも詳細に機能を検討すると観視条件の周囲環境[普通]から暗くしていくと、露光タブの露光量を減らしていくこととの違いは、やはり暗い部分がクリップアウトしないように、シャドウ圧縮を掛けながら露光量を減らしていくことに特徴があることが分かりました。つまりCIECAM02の観視条件における周囲の明るさの設定とは、一つの設定項目で、知覚上の色の一貫性を確保しつつ、露光タブにおける露光量調整とシャドウ圧縮の2つを同時に掛ける (シャドウ・クリッピングを避けつつ明るさを下げる) のと同じ効果があるということです

 なお、RawTherapeeのpixls.usのフォーラムで、Elle Stone氏がこの「CIE色の見えモデル2002」を使うと、例えば真昼間に撮影した画像を、夜に撮影したかのように、暗部の諧調を保存したまま変換できたり、ホワイトバランスの調整では調整しきれない色の調整(例えば、白熱球の明かりの色を調整するときに、タングステン光の色温度に合わせると、白熱球が白っぽくなりすぎ、かといって昼光色の色温度に合わせると、赤くなりすぎるときに、この機能を使うと有効だと主張)を行うのに有効だと主張しています。

discuss.pixls.us 実はこのような使い方は、開発者 (Jacques Desmis氏) の想定外で、従ってこのフォーラムにおける開発者とElle Stone氏の議論は噛み合っていないのですが、(しかも、RawTherapeeでは最終的なファイルを出力することを前提にしているのに、Elle Stone氏はGIMPに持っていくための中間ファイル出力をさせる目的で使おうとしているため、出力デバイスとはどういう意味かなどとStone氏に絡まれて、開発者は困惑している)でもそのような使い方の可能性もあるということです。

 ところで、RawTherapeeにしてもdarktableにしても、フランス人のプログラマーが大活躍しています。フランスは、画像工学に関してはかなり発達しているのでしょうか? そういえば、ビデオディスクもフランスでマスタリングされたものは非常に色彩が素晴らしいです。

*1:なお、RawTherapeeの他の場所では、LightnessはここでいうBrightnessを示すようです。

http://rawpedia.rawtherapee.com/RGB_and_Lab

一方、GIMPではLuminance (輝度) が知覚的な輝度つまり、R:G:B比を約2対7対1に重みづけたグレースケール値、Lightness(明るさ)が、R, G, B値の平均を取ったグレースケール値になっています。