Adobe Lightroom/Adobe Camera RawのAI機能「ノイズ除去」の舞台裏

本ブログ記事は、「From the ACR Team(Adobe Camera Rawチーム便り)」と題し、Adobe Lightroom、Adobe Lightroom Classic、Adobe Lightroomモバイル版、Adobe Camera Raw、ならびにAdobe PhotoshopのCamera Rawフィルターといった、製品のイメージング機能を開発しているチームが、インサイトをお届けするブログシリーズの最新版です。筆者は、本日から提供が開始された「ノイズ除去」の開発に取り組んでいました。このプロジェクトは、この機能を支える最先端の機械学習モデルを開発したミヒャエル ガルビ(Michaël Gharbi)とボー スン(Bo Sung)との密接な共同作業の成果です。ミヒャエルは以前にも「Rawディテール(旧称:ディテールの強化)」、「スーパー解像度」という関連機能を開発しています。

A picture containing nature, ice, mountain Description automatically generated

私がこの写真を撮影したのは早朝でした。辺りが暗かったのと、動いている船から手持ちで撮影していたので、ISO感度は6400と高めに設定しています。その一部を拡大したものを見ると、元のキャプチャ(左下)には多くのノイズがありますが、Adobe LightroomとAdobe Camera Rawの新しいAI搭載のノイズ除去機能で問題なくクリーンアップ(右下)できているのがわかります。

A picture containing outdoor, ocean floor Description automatically generated Clouds in the sky Description automatically generated with medium confidence

ノイズ除去は、Camera Raw 15.3、Lightroom 6.3、Lightroom Classic 12.3以降で利用できます。この記事では、ノイズ除去とは何か、どのように機能するか、そしてこの機能を最大限に活用する方法について説明します。

そもそもノイズとは?

写真にノイズはつきものです。初期のフィルム写真の粒状性(グレイン)から始まり、常に何らかの形でノイズというものが存在しています。実際に、私たちはあまりにも長い期間、写真のノイズや粒子を目にしてきたため、それらは視覚言語の一部にさえなっています。そのため、多少のノイズは気になることがなく、むしろ写真をより自然に見せてくれます。しかし、ノイズが多すぎると写真の邪魔になってしまい、明瞭さが失われてしまいます。

写真のノイズの原因はさまざまですが、その多くは光の性質によるものです。光の記録という行為自体が実は統計的なもので、ノイズの多いプロセスなのです。雨の日にバケツで雨水を集めているとします。同じバケツを2つ並べ、1時間待って、それぞれのバケツにどれだけの水が入ったかを測ります。この実験を何度も繰り返すと、2つのバケツの水の量は平均して同じですが、どのような実験でも、それぞれのバケツの水の正確な量は少し変化することがわかります。そのばらつきがノイズです。同様に、センサーの画素はすべて同じ量の光を取り込むわけではなく、露光中にある画素に降り注ぐ光子の数は、その隣の画素と全く同じではありません。

また、センサー自体にも測定値や処理回路からのノイズがあり、それは主に影の部分で顕著に現れます。センサーのノイズは温度が高くなると悪化する傾向があり、長時間露光もそのケースに含まれます。

このように、ノイズは避けられない存在かもしれませんが、だからといってノイズだらけの写真で満足したくはありません。そこでノイズ除去の出番です。

ノイズ除去の概要

開発チームがAdobe LightroomとAdobe Camera Rawのノイズ低減アルゴリズムを最後に更新してから10年が経ちました。当時は、ほとんどのカメラが8~12メガピクセルで、最高ISO設定値は25600でした。それ以来、さまざまな変化が起きています:

ノイズ除去は、Adobe LightroomとAdobe Camera Rawにおいて、「Rawディテール」、「スーパー解像度」に続く3番目の強化機能であり、これまでで最も革新的で高度な取り組みでもあります。この開発に際して、鮮明なエッジ、きれいなシャドウ、質感や小さな領域の色味の保持、アーチファクト(不均一な斑点など)の最小化など、自然な仕上がりを保つため、非常に具体的な品質目標を設定していました。目安として、2000万画素のフルフレームカメラを使ってISO 51200で撮影しても、きれいで仕事にもつかえる仕上がりを実現することを目指しました。これは高いハードルです!

ノイズ除去の実力を示すサンプルをお見せします。

A cat looking at the camera Description automatically generated with medium confidence

猫のエルモがお気に入りの箱の中に入っているところを撮影しました。ほとんど真っ暗で、後ろの部屋からしか光が入らない状態だったので、シャッタースピードを稼ぐためにISOを30000まで上げて撮影しました。当然のことながら、元の写真には多くのノイズがあります(左下)。ノイズ除去は、エルモの毛の質感や目の細部や色を維持しながら、斑点ノイズをうまく処理しています(右下)。

A planet in space Description automatically generated with low confidence A picture containing looking, eyes, black, dark Description automatically generated

動作原理の解説

カメラセンサーの視点では、下図のようなモザイクパターンを通した世界となっています。

A screenshot of a game Description automatically generated with low confidence

このようなパターンや、そこから高品質のRGB画像を取得する方法については、以前のブログ記事「Lightroom CCの新機能『ディテールの強化』について」で詳しく説明しています。(注:「ディテールの強化」は「Rawディテール」の旧称)

ノイズ除去は、機械学習によってこれらのパターンを補完し、同時にノイズを取り除きます。つまり、私たちのモデルは、デモザイク処理とノイズ除去の両方を1つのステップで実行するように設計され、トレーニングされています。

ノイズ除去を支えるコアテクノロジーを開発したのは、ミヒャエル ガルビ(Michaël Gharbi)とボー スン(Bo Sun)です。彼らはこれまでの強化機能と同様に、膨大な数の写真サンプルを使ってコンピューターをトレーニングするという手法をとりました。具体的には、高ノイズと低ノイズをペアにした画像パッチを何百万セットも用意し、コンピューターに前者と後者の関連を理解させました。実際に使った画像パッチの一部は以下のとおりです。

A picture containing tile, tiled Description automatically generated

A picture containing clothes, several, variety Description automatically generated A picture containing table Description automatically generated A picture containing outdoor Description automatically generated

これらの画像パッチは実際の写真の一部を切り取ったもので、レンガや枝、木や小枝、布や生地など、日常生活の中にある素材が含まれています。このように、さまざまな被写体のサンプルを積み重ねていくことで、最終的にモデルは自然かつ緻密なノイズ除去を行う方法を学習します。

コンピューターに何かを習得させる、というと複雑に聞こえるかもしれませんが、ある意味では子供に教えるのと似ています。どちらも、いくつか学習の筋道と事例の積み重ねを行うと、次第に自分で学習を進められるようになります。ノイズ除去の場合、その筋道は「畳み込みニューラルネットワーク(CNN)」と呼ばれるものです。簡単に言えば、あるピクセルに接する周囲のピクセルが、そのピクセルに影響を及ぼす関係性を学習するということです。言い換えれば、特定のピクセルを適切にアップサンプルできるように、その周囲のピクセルを分析してコンテキストを得る方法をコンピューターに理解させるということです。文章内で単語がどう使われているのを知ることが、単語の意味の学習に役立つのに似ています。

A picture containing outdoor, green Description automatically generated A picture containing outdoor Description automatically generated

A blurry image of a building Description automatically generated with low confidence A picture containing outdoor Description automatically generated

ノイズ除去のトレーニングシステムには、ちょっとした工夫が施されています。その1つが広範囲なノイズシミュレーションとデータ補強のパイプラインの開発で、結果として得られたモデルは頑健で、実世界のさまざまな状況で機能するようになりました。2つめの工夫は、特に古いカメラのシャドウ部のパターンノイズを理解し除去するのに役立つ「ダークフレーム」の大規模なデータセットの使用です。(このために、私と同僚たちは多くの時間をレンズキャップを付けたまま画像を記録することに費やしました。これほど露出の低い画像に多くのギガバイトが費やされたことはありませんでした。) 3つ目は、エンドツーエンドの品質を最適化するために、これまでの強化機能と同じくRAWファイルのデータを使って直接トレーニングしたことです。つまり、RAWファイルにノイズ除去を適用すると、Rawディテールの効果も同時に得られるということです。最後に、NVIDIAのTensorCoresやApple Neural Engineなど、最新のプラットフォーム技術を最大限に活用できるように機械学習モデルを設計しました。これにより、私たちのモデルは最新のハードウェア上でより高速に実行することが可能です。

A computer screen capture Description automatically generated with low confidence

使い方は?

  1. 「ディテール」パネルの「ノイズ除去」ボタンをクリックして「強化」ダイアログボックスを表示
  2. 「適用量」スライダーを調整
  3. 「強化」ボタンをクリック

膨大な数値を処理した後、コンピューターは、ノイズ除去済みの写真が収められたDigital Negative(DNG)フォーマットのRAWファイルを新規作成します。以前の強化機能と同じく、ソース写真に加えた調整は強化されたDNGにも自動的に引き継がれます。このDNGは、他のRAW写真と同様に編集でき、お気に入りのプリセットやカスタム調整を適用することができます。

Graphical user interface Description automatically generated

強化ダイアログに表示されたプレビュー画像上で長押しすると、ノイズ除去を適用する前の画像に切り替わります。これは、適用前と後を比較しながら適用量を調整できる便利な機能です。

ノイズ除去を適用すると、自動的にRawディテールの効果も適用されます。この両方の組み合わせにより、より高品質で高速なパフォーマンスを実現します。

以前のバージョンの「ノイズ軽減」にあった「輝度」と「カラー」のスライダーはどうなったのでしょうか?それらは「手動のノイズ除去」という新しいサブパネルに格納されています。ノイズ除去で新規作成されたDNGファイルでは、それらのスライダーは自動的にゼロに設定されることに注意してください。

ノイズ除去は現在、Bayer方式およびX-Trans方式のモザイクのRawファイルのみに対応していますが、将来的には他の写真フォーマットもサポートする方法を検討しています。

比較

ISO 51200で撮影したDPReviewのスタジオシーンを使い、ケースごとにノイズ除去の効果を見ていきましょう。

A screenshot of a video game Description automatically generated with medium confidence

これはリアルに撮影された写真ではないのですが、別途、実際に撮影した写真へのノイズの除去の適用例はご紹介します。上の写真のようなスタジオシーンは、小さなディテールやテクスチャー、さまざまなカラーを豊富に含んでいるため、ノイズ除去の効果を実感するのにとても良いサンプルとして、ご紹介させていただければと思います。以下に、異なるセクションのノイズ除去の適用前・適用後を示します。この写真はISO 51200で撮影されていることに留意してください!

A picture containing shoji, building, window Description automatically generated A picture containing building, shoji, window Description automatically generated

A group of people wearing clothing Description automatically generated with medium confidence A group of people wearing clothing Description automatically generated with medium confidence

A picture containing text Description automatically generated A picture containing text Description automatically generated

A picture containing bicycle, person, dart, posing Description automatically generated Sunburst chart Description automatically generated with low confidence

A picture containing indoor, items, cloth Description automatically generated A picture containing indoor, items, several Description automatically generated

A picture containing text Description automatically generated

次に、自然に撮影された写真を見てみましょう。野生動物やスポーツの撮影では、シャッタースピードを速くして一瞬を切り取るために、高ISO設定にすることがよくあります。下の写真もそうで、薄明かりの中、2頭のホッキョクグマのじゃれ合いを記録するのに、ISO 6400が必要でした。

A couple of polar bears playing Description automatically generated with low confidence

じゃれ合うホッキョクグマ。カナダ、ハドソン湾、2016年

また、私のキャプチャはやや露出が低いので、その後Camera RawのExposure +1で明るくしています。残念ながら、これではノイズがかなり目立ちます(左):

A picture containing cat, mammal, white, black Description automatically generated A close up of a seal Description automatically generated with low confidence

これをクリーンな写真にするために、ノイズ除去を適用量50で適用しました(右)。これにより、色の斑点は取り除かれ、クマの毛並みのディテールと歯の色は保たれています。それにしても、クマの歯は大きいですね!

自宅、レストラン、コンサートホールなど屋内で撮影する場合、光が少ないためISO感度を高く設定することもよくあるケースです。私は、世界的なピアニストのダニール トリフォノフ氏がステージに現れ、リストの超越的エチュードをさらっと弾く数分前にこのシーンを撮影しました。

A picture containing floor, indoor, wooden, wood Description automatically generated

ジョーダン ホール 、ボストン、2015年

ピアノの背景のディテールを詳しく見てみましょう。

A picture containing furniture, altar, close Description automatically generated A picture containing altar, decorated, close Description automatically generated

オリジナル(左)には多くのカラーノイズが見られますが、少しのノイズ除去を適用(右)するだけで、装飾的な構造の中の暖色を適切に区別しながら、ノイズが抑えられました。

これまでの「ノイズ軽減」スライダーと比較して、ノイズ除去がどの程度優れているか見てみましょう。この逆光は、カリフォルニア州北部の森をハイキングしているときに撮影したものです。

A forest with the sun shining through the trees Description automatically generated with low confidence

カリフォルニア州、ミュアウッズ、2019年

三脚を持っていなかったので、ISO 12800でフリーハンドで撮影しました。元のキャプチャ(左)はノイズが多く、それは葉や樹皮に顕著に表れています。

A picture containing plant Description automatically generated A picture containing outdoor, plant, wood, forest Description automatically generated A picture containing outdoor, plant, forest Description automatically generated

手動によるノイズ軽減(中央)では、カラーノイズは除去できたものの、緑の葉と茶色の樹皮の間の色分離の維持が十分ではありません。また、樹皮の質感も損なわれています。ノイズ除去を適用量90で適用(右)すると、茶色と緑の分離も樹皮の質感の維持も良好です。同じ写真から別の部分を並べて比較してみました。

A picture containing tree Description automatically generated A picture containing outdoor, cave Description automatically generated

ここでも、ノイズ除去(右)は、手動によるノイズ軽減(中央)に比べて、樹皮の質感を保持するのに非常に良い仕事をしています。

ISO感度を高くせざるを得ないケースのひとつに、夜間撮影があります。

A picture containing nature, night sky Description automatically generated

カリフォルニア州、デスバレー、2020年

オリジナルのキャプチャでは、空に多くのノイズが見られます(左)。手動のノイズ軽減をかけると、ノイズはうまく取り除けますが(中)、星々の自然なカラーの変化もかなり取り除かれてしまいます。新しいノイズ除去(右)では、ノイズを抑えながらこれらのカラーのバリエーションを良好に保持できています。

A picture containing outdoor object, star, night sky Description automatically generated A picture containing outdoor, outdoor object, star, night Description automatically generated A picture containing outdoor, outdoor object, night sky Description automatically generated

また、ノイズ除去は低ISO画像のシャドウ部のクリーンアップにも優れています。ノイズが多いというと高ISO設定を連想しますが、低ISO画像でも、特にシャドウを明るくしたときにノイズが問題になることがあります。ここでは、ISO 200で撮影したコントラストの高いカナディアンロッキーの風景を例にとります。

A picture containing mountain, nature, hillside Description automatically generated

カナダ、バンフ国立公園、2006年

近年、カメラセンサーの進化によって、低ISO設定でも感動するほどきれいなシャドウが得られるようになました。しかし、上の写真はセンサーがまだ進化していなかった2006年に、古いカメラで撮影したものです。湖の対岸の木々に日があたっている部分(左下)を確認してみましょう。

A picture containing tree, outdoor, plant, poplar Description automatically generated A picture containing plant, tree, outdoor, mountain Description automatically generated

色彩異常がみられますね。幸いなことに、ノイズ除去のデフォルト適用量50だけで、木のディテールを維持したまま美しく仕上げる(右)ことができます。

ベストプラクティス

ここでは、「ノイズ除去」を最大限に活用するためのヒントをご紹介します。

バッチモード: これまでの強化機能と同じく、フィルムストリップで複数の写真を選択してから「ノイズ除去」ボタンをクリックすると、すべての写真に一挙に「ノイズ除去」を適用できます。ボタンのクリックで表示される強化ダイアログにはメインの写真のプレビューが表示されますが、「ノイズ除去」の適用量を含む選択済みオプションは選択したすべての写真に適用されます。また、Shiftキー(Adobe Lightroomの場合)またはOption/Altキー(Adobe Camera Rawの場合)を押しながら「ノイズ除去」ボタンをクリックすれば、強化ダイアログを完全にスキップできます。この「ヘッドレス」オプションを使用すると、前回使用した強化設定がそのまま適用されます。

適用の順番: 修復やマスク作成の前などのワークフローの早い段階で「ノイズ除去」を適用することをお勧めします。「コンテンツに応じた削除」や「被写体を選択」などAIによる画像解析を使った機能は、ノイズの影響を受けることがあるため、クリーンな状態でこれらの機能を使用するのがベストです。もし、すでに「コンテンツに応じた削除」やAIマスクが設定されている画像でノイズ除去を実行した場合、結果を反映して自動的にそれらのスポットやマスクも更新されます。これは便利ですが、スポットやマスクの内容が予期せず変更される可能性があるため、結果を慎重に確認することをお勧めします。

また、シャドウをクリーンすることで写真全体の色調が微妙に変化することがあります。ソース写真にすでに「シャドウ」、「明瞭度」、「かすみの除去」などで大幅なトーン調整が施されている場合、「ノイズ除去」適用後にそれらの設定を見直す必要があるかもしれません。

粒状感の追加: ノイズ除去された写真が予想以上に滑らかすぎて見えることがあります。効果パネルの「粒子」機能を使えば、より自然な写真に仕上がります。

スピードの必要性:「 ノイズ除去」は、3つの機能拡張の中で最も高度なもので、GPUを非常に多く使用します。最高のパフォーマンスを得るには、大容量のメモリ、理想的には少なくとも8GBのメモリを搭載したGPUを使用してください。macOSの場合は、メモリを多く搭載したAppleシリコンマシンをお勧めします。Windowsでは、TensorCoresを搭載したNVIDIA RTXなど、ML高速化ハードウェアを備えたGPUを使用してください。より高速なGPUの使用で、より速い結果をもたらします。

キャプチャの最適化:「 ノイズ除去」は非常に有能ですが、どんな願いも叶えてくれるわけではありません。いずれは、テキストプロンプトで「ISO 8000000000で撮影した写真をISO 8で撮ったようにしてください、よろしく、じゃあ!」とテキストで入力できるようになるかもしれませんが、まだそこまでには至っていません。その時までに撮影時の露出設定を最適化することが、最高の画質を得るために重要です。撮影時にできるだけ多くの光を取り込むことで、S/N比を最大にすることができます。また、ブラケット露出で撮影してHDRに合成するのも、クリーンで詳細なシャドウを得るための良い方法です。

将来の展望

私たちは、強化機能の第3弾である「ノイズ除去」機能に誇りを持っていますが、より良いものにするためにこの先を見据えてもいます。例えば、トレーニングデータの追加によって解像度を向上させる予定です。また、ファイル形式を追加したり、ノイズ除去とスーパー解像度を組み合わせたりすることも計画しています。さらに、DNGファイルの新規作成というステップを省き、ワークフローをスピードアップさせることも検討しています。このエキサイティングな時代に私たちは引き続き、AIを活用した画像編集を大きく前進させていきます。

今回ご紹介した「ノイズ除去」機能にご意見やご要望があれば、ぜひお聞かせください!そして皆さんの適用前・適用後の事例もぜひ共有してください。

この記事は2023年4月18日(米国時間)に公開されたDenoise Demystified抄訳です。