A Patchmatch-based Approach for Matte Propagation in Videos

Supplementary Material

Marcos H. Backes
mhbackes@inf.ufrgs.br
Manuel M. Oliveira
oliveira@inf.ufrgs.br


This is the supplementary material for the paper A Patchmatch-based Approach for Matte Propagation in Videos. We show additional videos depicting examples of our interface and comparisons against other matting techniques.

Important: These materials are best viewed in a web browser that is not Internet Explorer (IE), since it cannot resize images properly.


Interface for Interactive Video Matting

This video presents a short demonstration of our user interface for video matting (Section 4 of our paper). The example shows the matte extraction for a short video sequence (20 frames). The user starts by associating a keyframe to the first frame, defining a trimap with a few scribbles. Shared matting [SM] is used to dynamically compute the matte for the keyframe while the user draws the scribbles. Once one is satisfied with the obtained matte, pressing the propagate button generates mattes and trimaps for the rest of the video. Finally, the generated trimap for the last frame is refined with additional scribbles. By pressing the propagate button again, these changes are propagated backwards, improving the mattes for the entire sequence.


Quantitative Comparisons

We compare the performance of our technique (using Shared Matting and Closed-Form Matting) with two state-of-the-art sparse-input video matting methods: Motion Aware KNN Matting, and Sparse Low-Rank Representation Matting (see Section 5.1 of our paper). For this experiment, we used three videos from the Video Matting Benchmark [VM] with available ground truth: Alex, castle and Dmitriy.

We applied all techniques to each video using 2, 3, 5 and 9 trimaps (equally spaced along the video). We used the error metrics defined by Erofeev. et al. [VM]: SSDA, dtSSD and MESSDdt. The graphs show each error metric computed on a per-frame basis for each of the videos. Next, we show the resulting mattes.

Legend:
  • AE - Adobe After Effects Rotobrush Tool [AE]
  • MAKNN - Motion Aware KNN Matting [MAKNN]
  • SLRR - Sparse Low-Rank Representation Matting [SLRR]
  • OURS+CF - Ours using Closed Form Matting [CF] to obtain the alpha mattes on keyframes
  • OURS+SM - Ours using Shared Matting [SM] to obtain the alpha mattes on keyframes


  • SSDA

    dtSSD

    MESSDdt

    Videos




    Video Info:

    • Video name: Alex
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 2
    • Trimaps defined on frames: 0 and 149



    Video Info:

    • Video name: Alex
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 3
    • Trimaps defined on frames: 0, 75 and 149



    Video Info:

    • Video name: Alex
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 5
    • Trimaps defined on frames: 0, 37, 75, 112 and 149



    Video Info:

    • Video name: Alex
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 9
    • Trimaps defined on frames: 0, 19, 37, 56, 75, 93, 112, 130 and 149

    Frame detail

    We show full size images for comparison of some frames from the test with 9 keyframes.

    Please click on any image to see it in a larger size, then use the left and right arrows for moving among the images.

    Legend:
  • MAKNN - Motion Aware KNN Matting [MAKNN]
  • SLRR - Sparse Low-Rank Representation Matting [SLRR]
  • CF - Closed Form Matting [CF]
  • SM - Shared Matting [SM]
  • OURS+CF - Ours using Closed Form Matting [CF] to obtain the alpha mattes on keyframes
  • OURS+SM - Ours using Shared Matting [SM] to obtain the alpha mattes on keyframes
  • Alex keyframe 112

    Mattes computed for keyframe 112 using different image matting techniques (shown here for reference).


    Alex frame 125 - Propagated from keyframes 112 and 130

    Mattes propagated for the unconstrained frame 125 from keyframes 112 and 130.


    Alex keyframe 130

    Mattes computed for keyframe 130 using different image matting techniques (shown here for reference).

    SSDA

    dtSSD

    MESSDdt

    Videos




    Video Info:

    • Video name: castle
    • Source: videomatting.com
    • Number of frames: 285
    • Playback speed: 10 frames/s
    • Number of trimaps: 2
    • Trimaps defined on frames: 0 and 284



    Video Info:

    • Video name: castle
    • Source: videomatting.com
    • Number of frames: 285
    • Playback speed: 10 frames/s
    • Number of trimaps: 3
    • Trimaps defined on frames: 0, 142 and 284



    Video Info:

    • Video name: castle
    • Source: videomatting.com
    • Number of frames: 285
    • Playback speed: 10 frames/s
    • Number of trimaps: 5
    • Trimaps defined on frames: 0, 71, 142, 213 and 284



    Video Info:

    • Video name: castle
    • Source: videomatting.com
    • Number of frames: 285
    • Playback speed: 10 frames/s
    • Number of trimaps: 9
    • Trimaps defined on frames: 0, 36, 71, 107, 142, 178, 213, 249 and 284

    Frame detail

    We show full size images for comparison of some frames from the test with 9 keyframes.

    Please click on any image to see it in a larger size, then use the left and right arrows for moving among the images.

    Legend:
  • MAKNN - Motion Aware KNN Matting [MAKNN]
  • SLRR - Sparse Low-Rank Representation Matting [SLRR]
  • CF - Closed Form Matting [CF]
  • SM - Shared Matting [SM]
  • OURS+CF - Ours using Closed Form Matting [CF] to obtain the alpha mattes on keyframes
  • OURS+SM - Ours using Shared Matting [SM] to obtain the alpha mattes on keyframes
  • castle keyframe 0

    Mattes computed for keyframe 0 using different image matting techniques (shown here for reference).


    castle frame 18 - Propagated from keyframes 0 and 36

    Mattes propagated for the unconstrained frame 18 from keyframes 0 and 36.


    castle keyframe 36

    Mattes computed for keyframe 36 using different image matting techniques (shown here for reference).

    SSDA

    dtSSD

    MESSDdt

    Videos




    Video Info:

    • Video name: Dmitriy
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 2
    • Trimaps defined on frames: 0 and 149



    Video Info:

    • Video name: Dmitriy
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 3
    • Trimaps defined on frames: 0, 75 and 149



    Video Info:

    • Video name: Dmitriy
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 5
    • Trimaps defined on frames: 0, 37, 75, 112 and 149



    Video Info:

    • Video name: Dmitriy
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • Number of trimaps: 9
    • Trimaps defined on frames: 0, 19, 37, 56, 75, 93, 112, 130 and 149

    Frame detail

    We show full size images for comparison of some frames from the test with 9 keyframes.

    Please click on any image to see it in a larger size, then use the left and right arrows for moving among the images.

    Legend:
  • MAKNN - Motion Aware KNN Matting [MAKNN]
  • SLRR - Sparse Low-Rank Representation Matting [SLRR]
  • CF - Closed Form Matting [CF]
  • SM - Shared Matting [SM]
  • OURS+CF - Ours using Closed Form Matting [CF] to obtain the alpha mattes on keyframes
  • OURS+SM - Ours using Shared Matting [SM] to obtain the alpha mattes on keyframes
  • Dmitriy keyframe 37

    Mattes computed for keyframe 37 using different image matting techniques (shown here for reference).


    Dmitriy frame 41 - Propagated from keyframes 37 and 56

    Mattes propagated for the unconstrained frame 41 from keyframes 37 and 56.


    Dmitriy keyframe 56

    Mattes computed for keyframe 56 using different image matting techniques (shown here for reference).

    Qualitative Comparisons

    We present additional data for the qualitative comparison presented in Section 5.2 of our paper, using the ten test videos from the Video Matting Benchmark [VM]: Artem, city, concert, flowers, juneau, rain, Slava, snow, Vitaliy, and woods.

    For each video we compare our method against dense-input video matting techniques. Below, we show, for each video, the resulting mattes.

    Legend:
  • DM - Deep Matting [DM]
  • SAM - Self-Adaptive Matting [SAM]
  • LB - Learning Based Matting [LB]
  • SpSM - Sparse Sampling Matting [SpSM]
  • OURS+DM - Ours using DM alpha matte on keyframes
  • OURS+SAM - Ours using SAM alpha matte on keyframes
  • OURS+LB - Ours using LB alpha matte on keyframes
  • OURS+SpSM - Ours using SpSM alpha matte on keyframes


  • Important: Note that in the results below, the techniques DM, SAM, LB and SpSM require trimaps defined on every frame of the video.
    Our technique combined with previous ones OURS+DM, OURS+SAM, OURS+LB and OURS+SpSM use only one trimap every fifteen frames.


    Video Info:

    • Video name: Artem
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 150
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 11
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135 and 149

    Video Info:

    • Video name: city
    • Source: videomatting.com
    • Number of frames: 80
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 80
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 9
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75 and 79

    Video Info:

    • Video name: concert
    • Source: videomatting.com
    • Number of frames: 200
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 200
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 15
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195 and 199

    Video Info:

    • Video name: flowers
    • Source: videomatting.com
    • Number of frames: 349
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 349
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 25
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300, 315, 330, 345 and 348

    Video Info:

    • Video name: flowers
    • Source: videomatting.com
    • Number of frames: 151
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 151
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 11
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135 and 150

    Video Info:

    • Video name: rain
    • Source: videomatting.com
    • Number of frames: 50
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 50
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 5
      • Trimaps defined on frames: 0, 15, 30, 45 and 49

    Video Info:

    • Video name: Slava
    • Source: videomatting.com
    • Number of frames: 150
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 150
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 11
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135 and 149

    Video Info:

    • Video name: snow
    • Source: videomatting.com
    • Number of frames: 160
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 160
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 12
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 159

    Video Info:

    • Video name: Vitaliy
    • Source: videomatting.com
    • Number of frames: 149
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 149
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 11
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 148

    Video Info:

    • Video name: woods
    • Source: videomatting.com
    • Number of frames: 151
    • Playback speed: 10 frames/s
    • For DM, SAM, LB, SpSM:
      • Number of trimaps: 151
      • Trimaps defined on frames: every frame
    • For OURS+DM, OURS+SAM, OURS+LB, OURS+SpSM:
      • Number of trimaps: 11
      • Trimaps defined on frames: 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150

    Qualitative Comparison - Adobe After Effects

    We present a comparison against Adobe After Effects Rotobrush Tool [AE]. For AE we initialized the process with scribbles every 15 frames, trying to obtain the best results for keyframes. We compare Rotobrush propagation with ours initializing with DM every 15 frames.

    Legend:
  • AE - Adobe After Effects Rotobrush Tool [AE]
  • OURS+DM - Ours using Deep Matting [DM] alpha matte on keyframes


  • Video Info:

    • Video name: Artem
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 150 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: city
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 80 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: concert
    • Source: videomatting.com
    • Number of frames: 46 (interval 90-135 out of 200 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: flowers
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 349 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: flowers
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 151 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: rain
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 50 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: Slava
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 150 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: snow
    • Source: videomatting.com
    • Number of frames: 46 (interval 0-45 out of 160 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: Vitaliy
    • Source: videomatting.com
    • Number of frames: 46 (interval 75-120 out of 149 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Video Info:

    • Video name: woods
    • Source: videomatting.com
    • Number of frames: 46 (interval 75-120 out of 151 frames)
    • Playback speed: 10 frames/s
      • Number of trimaps: 4
      • Trimaps defined on frames: 0, 15, 30, 45

    Handling Foreground Occlusions

    We present an example of matte with foreground occlusion produced by our interactive matting interface.


    References