小米の夜景補正アルゴリズム「ナイトオール」が、国際的なAIコンペ「NTIRE2022」の夜景部門で2冠を達成した。ディープラーニングによりノイズ軽減、色彩再現をするというもので、夜景写真の美しさがシャオミのスマートフォンのセールスポイントになっていると小米技術が報じた。
進化をするスマホのカメラ機能
最近のスマートフォンのカメラ機能は、一眼レフカメラを超えている部分がある。例えば、夜景などは圧倒的に鮮明に美しく撮影することができるようになっている。これはアルゴリズムによる補正、場合によっては画像の生成をしている。これをよしとするかどうかは考え方次第だ。行き過ぎた補正はフェイクであり、写真としての価値はないと考える人もいる。フェイクであっても現実に近く、美しく撮れるのであればその方がいいと考える人もる。
スマホカメラはアルゴリズムで画像を生成するカメラであり、一眼レフは撮影者のテクニックにより画像を生成するカメラになっている。写真という結果が欲しいだけならスマホカメラが向いていて、撮影というプロセスを楽しみたいのであれば一眼レフカメラが向いている。
ベンチマークで高評価を受けるシャオミの夜景アルゴリズム
小米(シャオミ)から発売されているスマホ「Mi 11 Ultra」には、「夜梟」(ナイトオール)というアルゴリズムが搭載され、カメラのベンチマーク(DXOMARK、https://www.dxomark.com)でも、143点を獲得し、高い評価を受けている。現在は、オナー、ファーウェイのスマホに抜かれたが、2021年3月から6月までの間は1位を獲得していた。
さらにコンピュータービジョンに関する学会CVPR(Conference on Computer Vision and Pattern Recognition)が、NTIRE(New Trends in Image Restoration and Enhancement workshop and challenges、https://data.vision.ee.ethz.ch/cvl/ntire22/)というコンペを開催している。AIのオリンピックとも呼ばれるもので、中国からも南京大学、南開大学、アモイ大学、ファーウェイなどが参加し、NTIRE2022では小米も初参加をした。
このNight Photography Rendering Challenge(夜景写真補正チャレンジ)で、小米が2部門で最高得点をマークをし、2冠となった。
「美しい」夜景写真を生成するチャレンジ
このNight Photography Rendering Challengeは、主催者が元となるRAW形式の写真を参加者に配布をし、これをアルゴリズムにより補正をしてもらう。これを一般審査員と職業写真家審査員による投票で優勝を決める。小米は一般、プロ両方の投票で一位となった。
このチャレンジが難しいのは、どのような写真がいいかという指針は示されず、そこから参加者が自分たちで考える必要があることだ。「美しい夜景写真」とは何かを自分たちで考えなければならない。また、審査員となる一般人と職業写真家では「美しい夜景写真」の考え方が違う。この両方で、最多の投票を得て2冠となったことは大きい。
ディープラーニングで写真を補正する
このコンペに参加をしたのは、小米の夜梟チームのメンバー。結成されて3年で、20人ほどのメンバーがいて、小米のスマートフォンに搭載される夜梟アルゴリズムの開発をしている。多くが小米に就職をして3年以内の若いメンバーで、画像系のディープラーニングの専門家だ。通常は、画像のノイズ軽減やダイナミックレンジの拡大、色彩補正などをディープラーニングを使って行う技術研究、技術開発を行なっている。
ノイズと細密描写をAIが判別する
この夜梟アルゴリズムは、夜景写真で大きな効果をあげ、小米のスマートフォンの大きなセールスポイントにもなっている。
夜景写真を撮影すると、そのままでは暗くつぶれた写真になってしまうために、ダイナミックレンジ(明暗の幅)を拡大する操作を行う。この時、光量不足により各画素のデータ密度が低いために大量のノイズが発生してしまう。いわゆるざらついた質感の写真になってしまう。
このノイズの除去が難しい。なぜなら、被写体の細密な部分なのか、ノイズなのかを簡単には見分けられないからだ。髪の毛の一本一本の表現なのか、ノイズなのかを見分けるのは難しい。
そこで、夜梟チームは、ディープラーニングのAIモデルを構築して、ノイズを学習させ、AIに見分けさせることを考えた。
ノイズを模擬発生させて大量の教師データを生成
しかし、開発は難航した。ノイズといっても原因はさまざまある。そのため、まずノイズの発生するメカニズムを解析し、ノイズの数学モデルを構築し、ノイズを分類できる理論構築を行なった。
それから、種類別にAIにノイズを学習させていくが、問題は教師データがほとんど存在していないということだ。本来であれば、明るい状態で撮影した写真と暗い状態で撮影した写真の両方が必要になるが、その両方が揃うということはまずない。そのため、夜梟チームは、通常の写真の明度を落として、ノイズの数学モデルに基づいてノイズを発生させるというシミュレーションモデルを構築した。こうして、大量の教師データを生成をし、AIモデルに学習をさせていった。
夜景写真に存在する複数の光源が色再現を難しくしている
夜梟アルゴリズムでは、同じ画角の夜景写真を複数枚撮影をする。複数枚の写真を連続して撮影することで、手ブレの補正がしやすくなる。さらに、ノイズの乗る場所も異なってくるので、複数枚の写真を比較することで、ノイズなのかどうかを見分けることがやりやすくなる。
また、問題はノイズだけではなく、色の再現も大きな課題となった。暗い写真のダイナミックレンジを広げ、明るい写真にしても、元の色がどのようなものであったかを推定しなければならない。課題となったのが、夜景写真というのはしばしば複数の人工光源があることだった。昼間の屋外での写真の光源は、ほぼ太陽だけでなので、色情報が失われていても、太陽光のもつ色彩から推定をすることができる。
しかし、夜景では、街灯やビルの照明、テーブルランプなど、光源色が異なる複数の光源が物体を照射している。これにも、写真の各部分での色彩を比較して、不自然がギャップが生まれなくなるように色彩再現AIモデルを学習させていく必要があった。
この夜梟アルゴリズムは今後も改善が続けられ、Xiaomi 12 Proなどのフラグシップモデルに搭載をされていく。スマホのカメラにディープラーニング技術はもはや必須のものになっている。