最近では、InstagramやSnapchatのおかげで、画像やビデオに手軽にフィルタを追加できるようになりました。とはいえ、スマートフォンのビデオを、ゴッホの「星月夜」やムンクの「叫び」といった名画風に変換できるとしたらどうでしょうか?
このたび、ドイツのフライブルク大学の研究者チームが、人工知能の一種であるディープラーニングによって、この目標に向け大きく前進しました。
同チームは、ディープ・ニューラル・ネットワークを用いて元の絵から画家特有のスタイルを抽出し、その情報を別のビデオのコンテンツと合成する手法を開発しました。そこで、こうした演算負荷の高い処理を高速化し、めざましい結果を生み出すことを可能にしたのがNVIDIAのGPUです。
長期記憶に基づくアルゴリズム
以前の研究では、ディープラーニングを使用して画像から抽出した画家特有のスタイルを別の画像に適用することに成功していました。その研究から、ディープ・ニューラル・ネットワークが画像を処理する際に、ニューラル活性化によって画像のスタイル情報(筆のタッチや色使いなどの抽象的なディテール)をエンコードすることがわかりました。これにより、そのネットワークを利用して、もう1つの画像でネットワークが「コンテンツ」として認識する内容にそのスタイルを適用できるというわけです。
しかし、ビデオの場合、動きのある要素が数多く含まれています。そのため、静止画へのスタイルの適用で用いた手法を、単純にビデオの各フレームに応用すればいいというわけではありません。
フライブルク大学の博士課程を修了した研究者であるアレクセイ・ドソヴィツキー(Alexey Dosovitskiy)氏は、次のように説明します。「このアルゴリズムをフレームごとに適用するだけでは、一貫性のあるビデオは得られません。連続で再生するとちらつきが出てしまうためです。そこで私たちは、さらに制約を加えることでビデオの一貫性を実現しました」
ドソヴィツキー氏と同僚の研究者チームは、連続するフレーム間の変化を制御することで、その一貫性を強化しています。ここで、次の3つの大きな課題を押えておかなければなりません。
- 画面上のキャラクタが1つのシーンで移動するときに見た目が変わらないようにすること
- 背景など動かない要素の見た目がフレーム間で一貫していること
- キャラクタが視界を横切った後も、背景の見た目はキャラクタが動く「前」と変わらないこと
同チームのアルゴリズムでは、これらの課題を解決するため制約を取り入れ、それぞれの見た目が大きく異なる連続フレームにペナルティを設定しています。また、連続性を高めるため、長期記憶によるコンティンジェンシ(補正処理)を採用しています。そのしくみは、前のいくつかのフレームから合成されたシーンの特定領域の画像を、その領域が再び出現したときに再利用するというものです。
こうした複雑なプロセスを実現するにあたり、研究者チームはNVIDIAのGPUを利用しました。GeForce GTX TITAN X GPUによって、高解像度ビデオの場合、画家のスタイルを1フレームあたり8~10分で適用できます。これは、マルチコアCPUを利用するよりも20倍高速です。
「このプロセスにはかなり時間がかかるので、GPUは欠かせません」とドソヴィツキー氏は言います。
また、同チームは、NVIDIAのcuDNNディープラーニング・ソフトウェアも利用しています。このソフトウェアはより少ないメモリで実行できるので、高解像度ビデオへのスタイル適用が可能になります。マルチGPUシステムでこのプロセスをさらに高速化することもできますが、たとえその場合でも、画家のスタイルをビデオにリアルタイムで適用するのは、まだ先の話です。
これまでに、同チームは、開発したアルゴリズムをライブ・ビデオとアニメーション・ビデオの両方で試しました。どちらも同様に優れたレンダリング結果が得られますが、ドソヴィツキー氏は、視聴者が期待する水準はライブ・ビデオの方が高いと考えています。
同氏は次のように述べています。「視聴者は、ちらつきに敏感だということがわかっています。わずかなちらつきでさえ、ビデオを見るととても目立ってしまいます」
同チームの研究について詳しくは、こちらの論文をご覧ください。