Bringing Portraits to Life
CS448V: Lecture 13
Bringing Portraits to Life CS448V: Lecture 13 Motivation - - PowerPoint PPT Presentation
Bringing Portraits to Life CS448V: Lecture 13 Motivation Motivation Motivation Bring Your Profile to Life Facebook (2015) Motivation Breathing Profile Motivation Reactive Profile Approach Target Image ( ! ) Output Video ( , = {! ' , !
CS448V: Lecture 13
Bring Your Profile to Life Facebook (2015)
Breathing Profile
Reactive Profile
Target Image (!∗) Driving Video (# = {&', &), … }) Output Video (, = {!', !), … })
Mori (1970) https://www.facebook.com/pam.richa rdcoones/posts/10103240387205162 https://spectrum.ieee.org/auto maton/robotics/humanoids/inva sion-of-the-robot-babies- infographic
Step 1: Feature Correspondence Target Image (!∗) Driving Video (#) Step 2: Coarse Target Video Synthesis Step 3: Transferring Hidden Regions Step 4: Transferring Fine-Scale Details
Step 1: Feature Correspondence Target Image (!∗) Driving Video (#) Step 2: Coarse Target Video Synthesis Step 3: Transferring Hidden Regions Step 4: Transferring Fine-Scale Details
Neutral Video Frame (!∗) Target image (#∗)
$ %∗
&
%∗
'
points in driving video and target image
Neutral Video Frame (#∗) Target image (%∗) Driving Video Frame & (#')
" (∗
)
('
)
(∗
*
Step 1: Feature Correspondence Target Image (!∗) Driving Video (#) Step 2: Coarse Target Video Synthesis Step 3: Transferring Hidden Regions Step 4: Transferring Fine-Scale Details
Step 2 Result Driving Video
video and target image/resulting video
$ = & ⋅ "∗ (, ") $ = & ⋅ ") (
")
$ = "∗ $ − & ⋅ (") ( − "∗ ()
Neutral Video Frame (-∗) Target image (.∗) Driving Video Frame / (-))
&
")
$?
Result Video Frame / (.))
& "∗
(
")
(
"∗
$
radius of blurring kernel (lower confidence)
R = 0 R = 0.005 R = 0.010 R = 0.015
Step 1: Feature Correspondence Target Image (!∗) Driving Video (#) Step 2: Coarse Target Video Synthesis Step 3: Transferring Hidden Regions Step 4: Transferring Fine-Scale Details
Step 2 Result Step 3 Result Driving Video
2"#$%&'
∗
"#$%&'
∗
Mouth transfer Blend original & transfer Use original
Step 2 Result Step 3 Result Driving Video
to keep lips)
http://eric-yuan.me/poisson-blending/ http://what-when-how.com/introduction-to-video-and-image- processing/morphology-introduction-to-video-and-image-processing- part-2/
Step 1: Feature Correspondence Target Image (!∗) Driving Video (#) Step 2: Coarse Target Video Synthesis Step 3: Transferring Hidden Regions Step 4: Transferring Fine-Scale Details
Step 3 Result Final Result Driving Video
"∗ = %&∗→&( ⋅ "∗
,( ̅ &∗)
Warped Neutral Frame ( ̅ "∗) Driving Video Frame / ("+) Ratio Image (*+)
Warped Neutral Frame ( ̅ +∗) Driving Video Frame - (+") Ratio Image (!") Step 3 Video Frame - (#"′) Result Video(?) Frame - (#")
frames, so detect them by comparing with the most distant frame and find corresponding outliers in other frames to remove them”
similarity’ deformations
& ∑ ()∗→), ⋅ .∗ ) − .0 ) 1 1
.∗
)
.0
)
Neutral Video Frame (!∗) Driving Video Frame 2 (!0)
()∗→), ()∗→), ⋅ .∗
)
Ratio Image (%"#$) Connected components
!∗ (patch comparison)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4
Reference Frame (!"#$) Warped Neutral Frame ( ̅
!∗)
!∗ (patch comparison)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4
Warped Neutral Frame ( ̅
!∗)
Reference Frame (!"#$)
!∗ (patch comparison)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4
Warped Neutral Frame ( ̅
!∗)
Reference Frame (!"#$)
!∗ (patch comparison)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4 3 1 5 1 3 2 3 1
Difference Max Difference: 5 Warped Neutral Frame ( ̅
!∗)
Reference Frame (!"#$)
!∗ (patch comparison)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 1 3 5 2 2 2 5 7
Difference Max Difference: 7
5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4
Warped Neutral Frame ( ̅
!∗)
Reference Frame (!"#$)
!∗ (patch comparison)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 1 1 1
Difference Max Difference: 1
5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4 1
Max Difference Warped Neutral Frame ( ̅
!∗)
Reference Frame (!"#$)
!∗ (patch comparison)
1 1 2
Difference Max Difference: 2
1 2
Max Difference
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4
Warped Neutral Frame ( ̅
!∗)
Reference Frame (!"#$)
!∗ (patch comparison)
1 2 1
Difference Max Difference: 2
1 2 2
Minimum Max Difference Warped Neutral Frame ( ̅
!∗)
Average: 1.7 < 5 -> Outlier Reference Frame (!"#$)
3 7 5 6 9 4 5 2 4 6 2 5 2 2 2 5 4 2 5 3 5 3 2 3 1 5 7 5 1 3 5 2 6 9 2 4 4 1 3 1 3 1 5 8 5 3 1 1 2 3 4 2 4 7 2 1 1 3 2 5 3 9 9 1 4 4 2 8 7 8 7 5 5 1 7 5 7 6 9 2 1 6 1 5 3 2 3 1 4
Connected components
Outliers (red) Modified Ratio Image
Step 3 Video Frame ! ("#′) Result Video Frame ! ("#) Modified Ratio Image
(3), likely real (4), very likely real (5)
0.85 0.46
Close-up photo Generated far photo
Target Photo/Video Driving Video Thies et al. Results