「Adobe Photoshop Lightroom Classic」タグアーカイブ

【備忘録】Lightroomで「書き出しにGPUを使用」がグレーアウトした場合の対処

ここ最近、RAW現像が重いなぁ、書き出ししたらCPU使用率100%になっている!と思って、Adobe Photoshop Lightroom Classicの「編集」→「環境設定」→「パフォーマンス」の項目を確認すると、Camera Rawのグラフィックプロセッサーを使用の「画像処理(処理バージョン5以降)にGPUを使用」と「書き出しにGPUを使用」がグレーアウトしているではないですか!

画像処理と書き出しにGPUを使用、がグレーアウトしている

再起動してみたり、Radeonのドライバを入れ直したりしてみましたが解消せず。以前はチェックできていたし、AdobeのHPでは少なくともRadeon RX 7800 XTは少なくとも要件を満たしています。

これはそこそこ古いGPUやCPU内蔵のGPUでも満たしているんですよね。
Radeonのドライバが悪さをしたのか、Lightroomのバージョンアップ時に何かがおかしくなったのかわかりませんが、こんな対処をしてみました。

設定ファイルを書き換えてみる

Adobeの「グラフィックプロセッサー(GPU)とグラフィックドライバーの問題に関するトラブルシューティング | Lightroom Classic」によるとLightroomの設定ファイルはどうやらここに格納されている模様。エディタで開いてみます。

C:\Users\[user name]\AppData\Roaming\Adobe\Lightroom\Preferences\Lightroom Classic CC 7 Preferences.agprefs

useAutoBahn = true を useAutoBahn = falseに変更することで、「ディスプレイにGPUを使用」がOFFになるようですが、そもそもこの項目のみはチェックが入れられる状態でした。
その下の行を見ると、

useGPUCompute = false,
useGPUForExport = false,

となっていて、この2行が「画像処理にGPUを使用」「書き出しにGPUを使用」に該当するようです。
Lightroomを落とした状態で、上記2行の”false”を””true”に書き換えました。

その上でLightroomを立ち上げ直しましたが、症状は解消せず、相変わらず2つの項目はグレーアウトの状態で、Lightroom Classic CC 7 Preferences.agprefsを再度エディタで開くと、再び上の2行は “false”に書き換えられてしまっています。うむむ、困りましたね。

設定ファイルを消去してみた

ならば設定ファイル自体を消してみよう、ということで、こちらのフォーラムの投稿も参考に、Lightroomを一旦落としてから以下のファイルを消去しました。正確には別フォルダにバックアップした上で消去しました。

C:\Users\[user name]\AppData\Roaming\Adobe\Lightroom\Preferences\Lightroom Classic CC 7 Preferences.agprefs
C:\Users\[user name]\AppData\Roaming\Adobe\Lightroom\Preferences\Lightroom Classic CC 7 Startup Preferences.agprefs
C:\Users\[user name]\AppData\Roaming\Adobe\CameraRaw\GPU\Adobe Photoshop Lightroom Classic\Camera Raw GPU Config.txt

この状態でLightroom Classicを再度立ち上げて、「パフォーマンス」の項目を開きます。
Camera Rawの設定は、グラフィックプロセッサーを使用が「自動」になっているので、「カスタム」に変更します。
すると、グレーアウトしていた「画像処理にGPUを使用」がチェックできる状態に! 更にチェックすると「書き出しにGPUを使用」にもチェックが入れられる状態となりました。

画像処理と書き出しにGPUを使用にチェックが出来るように!

この状態でLightroom ClassicでRAW画像を編集すると、あれまスイスイ快適に。さらに書き出しはチェックが入っていない状態の3倍は速くなりました!
システムによってはGPU書き出しではあまり速くならないようですが、少なくともうちの環境ではCPU(AMD Ryzen 9 5900X)の書き出しよりGPU(AMD Radeon RX 7800 XT)のほうが速いようです。

しかし、Geforce RTX 3060ではこうしたトラブルはなかったので、やっぱり今でもRadeonは一筋縄ではいかない? それともAdobeのせい?

AIは万能でもないし正しいとも限らない

技術的な流行で、近年もてはやされるAI(Artificial Intelligence)、人工知能。

実はAIブームは80年代後半から90年代にもあったわけで、それこそ当時の家電にも取り入れられていたりするのですが、あの頃言っていたAIとは、ある程度集約化されたデータベースを元に答えを導くもので、現在のようなディープラーニングによる機械学習、深層学習に基づいた導きとは大きく異なります。
現在のAIは、平たく言うと、散々学習させた結果を元に答えを導く、というもので、20世紀では来なかった大量のデータの蓄積と解析ができるようになり、より導き出せる精度が上がったために、実用に達するものが増えてきた、と言って良いのかなと思います。

ではAIが万能で正しいか、と言われると、そうではないでしょうね。大量に学習しても、そもそも学習するデータの精度、そのデータから答えを導くためのアリゴリズムなど、様々な要因があり、偏向的な学習しかさせないと、答えも偏向した結果にしかならないのです。
ディープラーニングが進化して、大量の学習ができるようになっても、まだまだその学習させるべきデータに達していないことも多いし、学習のさせ方次第という面も大きいです。
マスコミが無闇やたらにAI[による危機を煽ったりもしていますし、ここ十数年の映画のトレンド(AIが暴走するみたいな)にもなっていますが、言う程万能ではないのですよ、現時点では。

で、何が言いたいかというと、AdobeのLightroom Classicに搭載されているAIノイズ軽減も万能ではないって話です。
例えばこの写真。

ANA B767-300ER (JA608A)

鬼滅の刃 じぇっと -弐-が羽田空港にアプローチするのをベランダから撮りました。17時近くで、この時期だともうかなり暗い時間です。写真ではそこそこ明るく見えますが、ISO感度22800、AF-S NIKKOR 600mm f/4G ED VRテレコンバーターTC-20EIIIを取り付け、1200mm f/8相当で撮影しました。
この時点で、開放f値がf8なので、AF的に厳しい条件で、使用したボディのNikon Z 9、以前のファームウェアではAFがなかなか合わない条件でした。
しかしだいぶAF(オートフォーカス)も進化しましたね。Z 9は「ディープラーニング技術を用いて開発した優れた被写体検出」を搭載しているため、このディープラーニングによる機械学習の精度アップにより、より被写体検出力は上がっています。
ただ厳しい言い方をすると、それでも暗所のAFの食いつきそのものは、Nikonの現行一眼レフに追いついていないと思いますが。

さて、ISO22800という、常用感度の限界に近い数値、Nikon Z 9は積層型裏面照射型CMOSセンサを搭載していますが、高速読み出しが可能な分、発熱等によるノイズはやや多めです。
この写真を、Adobe Photoshop Lightroom ClassicでAIノイズ軽減させてみました。

Lightroom ClassicによるAIノイズ軽減適用後

いや相変わらず凄いですね。細かいノイズは残りますが、ディテールがさほど潰れずに再現されるのはさすが。
ただ「さほど潰れず…」という表現をしたのは、そうでもない側面を確認したからです。Web掲載用画像は解像度を落としているので、等倍で切り出した写真です。

機体のレジ番号は潰れています

これ、元画像の時点でディテールが潰れてしまった結果、文字として成り立たなかったため、AIによるノイズ除去後も文字の形が崩れてしまっています
この機体のレジ番号は「JA608A」なのですが、AIノイズ除去でノイズを取った結果がこれなので、そもそもが文字としての解像力が不足していたわけです。
仮にAIがこの機体は鬼滅の刃じぇっと弐というのがわかっていれば、ここに入る数字もわかるので、無いディテールを再生できる可能性はありますが、結果としてはこうなりました。
現時点では、恐らくこうであろうという推測からノイズを消していると思われますが、やはり元の画像のノイズが多すぎると、精度が悪くなりますね。
こういう場面では、暗所に強いカメラに限りますね。

上の写真はテレコンを外して、レンズ素の状態で撮影。いくらミラーレス機では開放f値関係なくAFが使えるとは言え、明るいレンズのほうが歩留まりが上がるのは言うまでもありません。初期のFWでは夜は合わなかったNikon Z 9のAF、だいぶ改善されています。ちゃんと合います。ここは素直にディープラーニングによる学習が進んだ成果がAFのアルゴリズムに反映されているのでしょうね。

LrCで古いCOOLPIX 5400のRAW画像を再現像してみた1

重い腰を上げてAdobe Photoshop Lightroom Classicを本格導入してみましたが、やりたかったのが、古いカメラで撮ったRAWデータの再現像です。

Nikon COOLPIX 5400 (E5400)

元々AFもなかなか合わない、撮影レスポンスも良いとはいえないカメラでしたが(その当時の水準でも少し遅かった)、Firmware Ver1.4でRAW撮影ができるようになったものの、当時のCFカードの書き込み速度とカメラ自体の遅さもあって、1枚撮ると10秒以上待たされるカメラだったので、ここぞというときにRAWで撮っていました。
今の感覚からすると信じられないですが、この時代のカメラのRAW撮影は、フィルムカメラで撮るよりレスポンスが悪くて遅いし、今のように何千枚も撮れるわけではない、せいぜいフィルム2,3本程度でCFカードが埋まってしまう、そんな時代でした。
RAW現像もまだ一般的ではなく、現像ソフトもNikon Captureという有料ソフト、まだ一般人でRAW現像するなんてのは、あまりなかったかと思います。まだデジタルカメラは、ソフトもハードも未成熟な時代でした。

ピクチャーコントロール以前のカメラのRAW現像

Nikon純正のRAW現像ソフトは、有料のNikon Capture、Capture NX、Capture NX2、無料となったCapture NX-Dを経て、現在はビュワーソフトと統合されたNX Studioとなっていますが、ピクチャーコントロールが採用される以前のカメラ、特にRAW撮影可能となった初期のCOOLPIXは、ピクチャーコントロール対応機と比較して調整項目は少ないのです。

COOLPIX 5400のRAWデータの調整項目は少ない

ピクチャーコントロールは選べず、元々のカメラに付いていた3段階の輪郭強調や階調補正、色の濃さや色合い、ホワイトバランスと露出補正、ノイズリダクションとトーンカーブしか選べません。ただ、カラーコントロールポイントは使えますし(これはRAWでなくJPGやTIFF、他社カメラの画像でも使用可能)、RAWデータでなくても調整可能な項目は一通り調整可能です。
なので決して自由度が低いわけではないのですが、調整しづらいのは確かです。

これがLightroom Classicであれば、特に制約なく調整可能です。
プリセットカラーも最新機種と同様に適用できますし、何ならAIによるスーパー解像度やノイズ軽減も使用可能です。
特に、510万画素しか無いCOOLPIX 5400にとっては、きちんとブレなく撮っていれば、AIによるスーパー解像度はかなり有効でした。もっとも、基本感度が何とISO50!、最大でもISO400!しかないCOOLPIX 5400で、手ブレ補正機構もない中、手持ちでブレなくきれいに撮れるのは、晴天下でないと難しかったわけですが…。

フィルムで言えば、ISO50はVelvia 50(昔は素のVelvia)ですからね。

2005年から2007年にかけてRAWで撮影した写真です。

RAWで撮ることは、リバーサルフィルムで撮るより難しかったCOOLPIX 5400ですが、20年近く時を経て蘇りました。
Web掲載程度なら何ら遜色ないクオリティです。
特に純正のNX Studioと違うのは、ハイライトの表現の仕方です。白飛びしやすかったのはカメラの特性と思って諦めていましたが、Lightroomで現像すると、案外階調が残っていることがわかりました。こうしたハイライトのピーキーな部分は、Lightroomのほうが上手ですね。NX Studioだと手動調整で色々いじらないと難しいのが、あっさり自動調整でできて、あとは自分の好みに調整すれば良いので、断然楽ですね。

Lightroom ClassicとNX Studioの比較

下の画像は、左がLightroom Classic、右がNX Studioで現像したものです。
少しLrCのほうが色が濃くなってしまいましたが、空や山肌の階調がよく出ています。

←Lightroom Classic NX Studio→

NX Studioが悪いわけではないのですが、ワークフローは断然Lightroom Classicのほうが楽ですね、古いカメラのRAWに関しては。