Topaz LabsはWindowsおよびmacOSに対応したパソコンのアプリケーションを開発、ライセンス販売しているソフトウェアベンダーで、AIを利用した写真/動画編集ツールを多数提供している。その1つである「Gigapixel AI」は、解像度が低い写真を簡単かつ高画質にアップスケール(解像度を高くする処理)する機能を提供している。
アップスケール処理では、そこに存在していない画素をソフトウェアが類推しながら補完していく。Gigapixel AIではエッジAIを利用して補完しているが、CPUではとても重い処理となる。そうした処理をオフロードするために、Gigapixel AIではGPUを利用しているほか、Intelが提供するOpenVINOツールキットを利用して、CPUでの推論作業をより効率よく行なえるようにしている。
本稿では、その処理内容や手法について見ていく。
熟練のプロが人力で行なうアップスケーリング処理をAIが代行
Gigapixel AIで処理された画像、左が処理前、右が処理後
Topaz Labsは、AIを駆使した画像/動画編集ツールを提供している。おもなものは下記のとおり。
- Adjust AI(AIによる色彩の調整)
- DeNoise AI(AIによるノイズ削減)
- Gigapixel AI(AIによるアップスケーリング)
- JPEG to RAW AI(AIを利用しJPEGをRAW変換)
- Mask AI(AIによるイメージの切り抜き範囲指定)
- Sharpen AI(AIによるシャープネス調整)
- Video Enhance AI(AIによる動画補正)
これらに加え、Topaz Studio 2といった総合写真編集ソフトも提供している。
今回取り上げるGigapixel AIは、アップスケーリングに焦点を当てたツールだ。昔のデジタルカメラで撮影した写真や、解像度が低くされた画像などに対してアップスケールを行なうと、高解像度ディスプレイでの表示にも耐え得る品質になる。
たとえばVGA(640×360ドット)サイズだと、画素数は230,400となる。一方、4Kであれば3,820×2,160ドットで、画素数は8,251,200となる。つまり、4KはVGAの約36倍の画素で構成されている。アップスケーリングでは、実際には存在しないピクセルを、存在しているピクセルから類推しながら作り出す。VGAから4Kへのアップスケールはやや極端な例だが、約36倍の画素を類推して作り出すのが、膨大な計算量になるのは想像に難くないだろう。そして、アップスケーリングの画質は、アルゴリズムの優劣に依存する。
従来のアルゴリズムを利用したアップスケーリングでは、ある程度事前に決められておいたルールに従ってしか補正することができない。しかし、その画像にとって最適なアップスケーリング処理は、画像ごとに変わってくるので、1つのアルゴリズムで完璧には対応できない。結局、人間が手作業で1つ1つ補正したほうが品質は格段に上がるが、そんなことをしていれば、膨大な時間がかかってしまう。
それに対し、Gigapixel AIでは人間がアップスケーリングを行なったデータからその手法を学習している。膨大な学習データをAIエンジンに読み込ませ、推論し、アップスケーリングを実行する。これにより、従来のアルゴリズムベースとは段違いな、プロが手作業で行なったような品質のアップスケーリングをできるようにしたのだ。
Gigapixel AIのアップスケールはAIにより行なわれる
下記の例は400×467画素の絵を、2,800×1,868画素にアップスケールしたものだ。単純にアップスケールすると、ギザギザになったり、全体的にぼやけた絵になってしまうが、Gigapixel AIでは、AIの推論によって精細さを保ったままアップスケールしているのがわかるだろう。
400×467画素のオリジナル
2,800×1,868画素にアップスケールしたもの
瞳部分を拡大してみたところ(右がアップスケールの画像)
内蔵GPUやOpenVINOによるCPU最適化で廉価なノートパソコンでも処理可能
Gigapixel AIの設定画面、GPUやOpenVINOのオン/オフが用意されている
すでに述べたとおり、アップスケーリング自体もCPUにかかる負荷は大きく、さらにGigapixel AIの推論処理でもCPUが使われる。このため、高性能なCPUやGPUの利用が奨励されている。
CPUで言えばIntelでは3GHz以上のCore i5が最小要件になっており、奨励環境では4GHz以上のCore i7とされている。GPUに関しては、AMDやNVIDIA製に加え、Intelの内蔵GPUもサポートされており、CPUとGPUの両方を利用することが奨励されている。Intelの内蔵GPUはIntel HD Graphics 5000以上となっているので、基本的にはHaswell(第4世代Coreプロセッサー)でサポートされたGen 7.5以降のIntel内蔵GPUに対応している。
システム負荷を下げるため、Gigapixel AIではCPUでAI推論用に、OpenVINOツールキットを利用した最適化が行なわれている。OpenVINOツールキットは、Intelがソフトウェアベンダーに提供しているソフトウェア開発環境で、マシンラーニングベースの推論をCPUで効率よく行なうことが可能になる。
Topaz Labsでは「Intelとは2019年の初頭から密接に協力している。Intelはソフトウェア開発の深い知識を持ち、われわれに対してマーケティングやビジネスサポートしてくれる窓口を提供してくれている。それにより、AIの機能がIntelのメインストリーム向けCPUを搭載したノートパソコンでも十分動かすことができるようになっている」と説明している。
Gigapixel AIの設定には「OpenVINO」という設定が用意されており、標準ではオフになっている。これをオンにすることで、近年のIntelプロセッサ、とくに第10世代Coreプロセッサー(Ice Lake)以降で大きな効果を得られる。
Intelが1月のCES 2020で開催した記者説明会では、Gigapixel AIをIce Lakeで動かし、OpenVINOの最適化をオンにすると、AMD Ryzen 7 3700U(CES 2020ではRyzen Mobile 4000シリーズが発表され、その後製品投入されたが、CES時点ではまだ製品化はされていなかった)と比較すると、約2倍高速に処理が終わるとアピールしている。
IntelがCES 2020での記者説明会で用意したスライド。AMD Ryzen 7 3700Uに比べて2倍高速に処理が可能
このように、CPUの最適化が行なわれる効果は小さくない。今後もCPUを利用したAI処理なども増えていくので、ソフトウェアベンダーにとっても、そしてそれを使うユーザーにとっても意味は大きいと言えるだろう。
Gigapixel AIはTopaz LabsのWebサイトからバイナリファイルをダウンロード可能。継続利用するにはライセンスの購入が必要だが、電子メールの登録によりアカウントを開設するだけで30日間体験利用できる。購入を検討する場合にも、実際に使ってみてから買うかどうかを決めることができるので、まずはお試し版で試してみるといいだろう。
[制作協力:インテル]