- Learning from Simulated and Unsupervised Images through Adversarial Training
- https://arxiv.org/abs/1612.07828
概要
学習のための画像がない場合や不足している場合,シミュレータ等を使い人工的に画像を生成することがある. しかしシミュレータで生成した画像(以下シミュレータ画像と呼称)は,現実の画像に現実感の観点で及ばない. そのためシミュレータ画像に過学習してしまうと,実際の画像に対して効果を発揮しないことがある.
だからと言ってシミュレータ画像の質をチマチマ向上させるのは大変. そこでラベルなしの現実画像を訓練画像として使い,GANの枠組みでシミュレータ画像を洗練させる. その際,シミュレータ画像に付随するannotationの情報は保持するように, 大きな改変にはペナルティをかける(self-regularization loss)など工夫を施す.
SimGAN
SimGANの目的は現実の画像 を使って, シミュレータ画像を を洗練させて現実感を付与する変換 を学習させること.
adversarial loss with self-regularization
その際の要件として,シミュレータ生成した際のannotation情報は保持させるというものがある.
例えば,視線推定のための画像データを拡張する場合には, シミュレータで画像生成する際に視線方向のannotationは与えておくが, そのannotationした情報は で変換した後も保持していないと,教師データとして視線推定に使えない.
そこで通常のGANのLossに加えて, self-regularization lossを加えることを提案. self-regularization lossは,ピクセルごとの変換前後のL1距離とする.
local adversarial loss
SimGANのdiscriminatorの学習の際, ある画像特徴量を過度に評価してしまうようになると,ゴミを生成することとなる.
画像を局所領域に分割したときの各領域ごとdiscriminatorに区別させた. 各局所領域においてもSimGANで変換した画像に現実感が付与されている状態では,現実の画像の局所領域と区別がつかないはず.
いくつかの特徴量による評価が組み合わさるので,ある1つの特徴量への依存が小さくなる.(ここは自信がない)
検証
視線推定タスク
視線推定の学習に使うデータセットは質が低い. そこでSimGANでannotation付きデータを大量生成して学習させたところ, sota達成
データセットに対するuser studyも行った. 50個の現実のデータと50個のSimGANによる生成データをrandomに提示してどちらが本物か答えさせたら正答率は51.7%だった.
距離画像による手姿勢推定タスク
通常,現実の距離画像にはノイズが入っている. そのノイズがシミュレータ画像にはないので,変換してノイズを再現.