More Related Content
Similar to ECCV2018 Everybody dance now論文紹介 (CV勉強会@関東) (20)
ECCV2018 Everybody dance now論文紹介 (CV勉強会@関東)
- 1. Copyright © DeNA Co.,Ltd. All Rights Reserved.
関東CV勉強会
Everybody Dance Now
2018 / 10 / 20
システム本部 AIシステム部
AI研究開発第一グループ
李 天琦
- 3. Copyright © DeNA Co.,Ltd. All Rights Reserved.
自己紹介
■ 名前:李 天琦
■ Twitter:@Leetenki
■ Facebook:Leetenki
■ 経歴
〜2016年3月 :深層強化学習の研究
2016年4月〜 :DeNA入社
2016年6月〜 :Japanリージョンゲーム事業本部(サーバ開発)
2016年10月〜:AIシステム部異動(コンピュータビジョン研究)
- 4. Copyright © DeNA Co.,Ltd. All Rights Reserved.
自己紹介
■ 得意言語:WebGL
■ 深層強化学習の研究
■ 卒論:深層強化学習を用いた自動運転ロボット
- 6. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Previous Work
■ Chainer YOLOv2 (2016)
■ https://github.com/leetenki/YOLOv2
- 7. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Previous Work
■ Chainer OpenPose (2017)
■ https://github.com/DeNA/Chainer_Realtime_Multi-Person_Pose_Estimation
- 8. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Recently Work
■ 高解像度全身アニメ生成
■ PS-GAN (ECCV2018 Workshop paper)
■ https://dena.com/intl/anime-generation/
- 9. Copyright © DeNA Co.,Ltd. All Rights Reserved.
First Workshop on Computer Vision
for Fashion, Art and Design
- 10. Copyright © DeNA Co.,Ltd. All Rights Reserved.
First Workshop on Computer Vision for Fashion, Art and Design
■ ファッション、デザイン関連のWorkshop (第一回開催)
■ ファッションアイテムの分類や自動タグ付け
■ ファッション類似画像検索
■ ファッション生成
■ etc...
- 11. Copyright © DeNA Co.,Ltd. All Rights Reserved.
DeNAの発表
■ 高解像度なアニメファッション生成
■ 濱田晃一 & 李 天琦の2人で発表
- 12. Copyright © DeNA Co.,Ltd. All Rights Reserved.
DeNAの発表
■ Progressive GANの訓練手法にPose Conditionも段階的に加えたモデル
■ それをアニメ画像ドメインに適用し、高解像度のアニメ生成を実現
- 15. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ UC BerkeleyのCarolineらの研究
■ 2018/08/22 にArxiv投稿
■ https://arxiv.org/abs/1808.07371
■ タイトルのセンスが良い & デモがImpressiveで、一時話題になった
- 16. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Fashion and art-design workshop のOral paperとして講演
■ Workshop Best Paper Award を受賞
- 18. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ ソースとなるダンス動画を与える事で、
任意のターゲット人物があたかも同じように踊ってるFake動画を生成
- 19. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ 複数人の例
■ どんなターゲット人物でもソース動画と同じように踊らせる事が可能
- 21. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ やりたい事:
image -> imageの2ドメイン間のmappingを学習したい
生成
Source Target
- 22. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ 直接image <-> image のmappingを学習させるのは難しい
⁃ 完全に同じモーションの教師データペアを用意する事が必要
⁃ 身長や体型、カメラ角度が異なるので完全一致が難しい
生成
Source Target
- 23. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Pose -> Image の image-to-image translation問題として解いた
(pix2pixと同じ)
生成
- 24. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ keypoint-based Poseを中間表現として使う
■ source image -> pose stick figure -> target image の2段階で生成する
検出 生成
Source Target中間表現
- 27. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ 訓練フェイズでSource動画は一切必要ない
■ まずはTargetの人物にてきとうに動いてもらって20分くらい動画を撮る
■ 撮影した動画からデータセットを作る
- 28. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ 撮影したtarget動画に対してPose Detector(OpenPose等) を使ってPose検出
■ target動画の全フレームで、keypointをつなげたPose Stick Figureを作る
■ 各フレーム画像 <-> Pose Stick Figureの1対1のペアデータセットが完成
検出
Pose Detector
- 29. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Pose Stick FigureとImageのペアデータセットを使って、
PoseからTarget imageへのimage-to-image translationの学習を行う
(PersonalizeされたGenerator modelを獲得、背景も含めてoverfitさせる)
生成
training
- 31. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Source動画から同じようにPose Detectorを使って全フレームでPose検出
検出
- 32. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Global pose normalizationという手法でpose情報を正規化する
source と target のbody shape及びカメラ内位置の差異を吸収
検出 正規化
- 33. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ 正規化されたPoseをPersonalizeされた学習済みGenerator modelに入力し、
target画像を生成する
pretrained
model
検出 正規化 生成
- 34. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ 生成クォリティを上げるための2つのコンポーネントを追加
① 直前の生成フレームをconditionに使う事temporal smoothness強化
② 顔まわりのリアリティを高めるためのFace GAN
FaceGAN
Temporal
Smoothness強化
検出 正規化 生成
- 36. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ ポーズ検出器Pを使ってtarget画像 y から pose stick figure x = P(y) を入手
■ (x, y) のペアを使って、x -> y のマッピングをGANで学習する
Discriminator学習時に、Adversarial Loss + VGGでPerceptual Lossを取る
- 37. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Transfer時は同様に、source画像 y’からpose stick figure x’ = P(y’) を抽出
■ global pose normalizationの手法でpose stick figure x’ -> x をドメイン変換
■ 最後に学習済みGeneratorを使って x -> y をドメイン変換
- 39. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Global pose normalization
- 40. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Global pose normalization
■ 足が地についてる状態の足首の座標を統計する
■ 地面との最大距離&最小距離から線形的に全体座標をshift(平行移動)する
Target
Source
Maximum Minimum
- 41. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Global pose normalization
■ 地面との最大距離 & 最小距離時の高さからscaleを線形変換する
Target
Source
Maximum Minimum
- 43. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Everybody Dance Now
■ Generator modelはpix2pixHDのLossを改良したもの
- 45. Copyright © DeNA Co.,Ltd. All Rights Reserved.
pix2pixHDのLoss計算
■ pix2pixHDの目的関数:
- 46. Copyright © DeNA Co.,Ltd. All Rights Reserved.
pix2pixHDのLoss計算
■ pix2pixHDでは(D1,D2,D3)という3スケールのDiscriminatorを同時訓練
- 47. Copyright © DeNA Co.,Ltd. All Rights Reserved.
pix2pixHDのLoss計算
■ adversarial lossに加えてpretrained VGGを使ったperceptual lossを追加
- 48. Copyright © DeNA Co.,Ltd. All Rights Reserved.
pix2pixHDのLoss計算
■ 更にDiscriminatorの各層でperceptual lossと同じように距離を取る
= discriminator feature-matching loss
- 50. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Temporal smoothing
■ pix2pixHDのLossをベースに、時間的な整合性を持たせる工夫を加えた
■ 1枚のpose -> image生成ではなく、直前の生成結果も入力に使う
■ Discriminatorは、直前の生成結果とPoseも含めたペアで識別を行う
■ 時間的に連続な画像を生成するようにGeneratorが訓練される
Generator
Discriminator
- 51. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Temporal smoothingを加えたLoss計算
■ 変更後GAN Lossの目的関数:
- 53. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Temporal smoothing
■ 全身画像生成後、生成画像の顔領域周辺のみを切り取る
■ 同様にPose Stick Figureの顔周辺も切り取って、Face GANモデルに入力
■ Face GANは顔領域の画像とPoseをinputに、Refineするための残差を出力
- 54. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Temporal smoothing
■ Face GANのDiscriminatorは、realのface画像と、
残差を加えたfakeの顔画像の識別を行う
- 56. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Full objective
■ Multi-scaleの各スケールでSmoothing GAN Lossを計算
■ VGG perceptual lossでも1フレーム前の生成結果を使う
- 57. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Full objective
■ 画像全体の生成モデルを訓練後、重みを全てfixさせる
■ 最後にFace GANのみ独立で訓練する
- 59. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Experiments
■ ダーゲットの動画は120FPSで20分程度撮影 (訓練データ144,000枚)
服の情報をできるだけ簡単にするため、タイトな服を着用してもらう
- 60. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Experiments
■ 128 x 128 face生成するために70 x 70 の Patch-GAN discriminatorを採用
■ Loss関数は全身画像生成とFaceGANの両方でLSGANを採用
■ 評価する際に、通常のパイプラインだとgroundtruthがないので、
source personとtarget personを同一にして評価を行った
■ BaselineとFaceGAN入りと別々にablation study
■ Structural Similarity (SSIM)と、 Learned Perceptual Image Patch Similarity
(LPIPS)両方で評価
検出 生成
- 61. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Experiments
■ pix2pixHDとの比較で、FaceでもFullbodyでも提案手法のほうがSSIM高い
■ Face GANを入れたほうクォリティ上がる
- 62. Copyright © DeNA Co.,Ltd. All Rights Reserved.
Experiments
■ 出力画像に対してPose Detectorをかけて
入力poseとの pose reconstructionを比較
■ 提案手法のほうがPose distanceが近い(復元度が高い)
検出生成
- 63. Copyright © DeNA Co.,Ltd. All Rights Reserved.
まとめ
■ Pose情報を中間表現に使う事でハイクォリティな
動きの動画合成を実現
■ GAN Lossに、直前の生成結果を一緒に入れる事で時間的な整合性を担保
■ 生成が難しい顔領域を個別に切り出してFace-GANでRefine
- 64. Copyright © DeNA Co.,Ltd. All Rights Reserved.
感想
■ 手法自体はシンプルだが発想が面白い
■ クォリティ向上のための細かいテクニックは色んなGANモデルで使える
(FaceGAN、Temporal smoothing)