Background Removal with Robust PCA
Contents
Background Removal with Robust PCA#
Imports#
%load_ext autoreload
%autoreload 2
%matplotlib inline
sns.set(color_codes=True)
sns.set_palette(sns.color_palette("muted"))
warnings.filterwarnings("ignore")
!sudo chmod -R 777 /Landmark2/pdo/aiking/archive
#
url = "http://backgroundmodelschallenge.eu/data/real/Video_003.zip"
path = untar_data(url); path
Path('/Landmark2/pdo/aiking/data/Video_003')
img_list = (path/"img").ls()
def fswitch(t): return t[1]+ t[0]
img_list.map(lambda e : {'name':e, 'group':fswitch(e.stem.split("_"))})
(#30) [{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00452.bmp'), 'group': '00452Img'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00351.bmp'), 'group': '00351Img'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00452.bmp'), 'group': '00452Mask'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00351.bmp'), 'group': '00351Mask'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00552.bmp'), 'group': '00552Img'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00251.bmp'), 'group': '00251Img'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00552.bmp'), 'group': '00552Mask'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00251.bmp'), 'group': '00251Mask'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00350.bmp'), 'group': '00350Mask'},{'name': Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00652.bmp'), 'group': '00652Img'}...]
(path/"img").ls()
(#30) [Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00452.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00351.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00452.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00351.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00552.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00251.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00552.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00251.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00350.bmp'),Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00652.bmp')...]
(path/"img").ls().sorted
<bound method L.sorted of [Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00452.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00351.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00452.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00351.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00552.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00251.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00552.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00251.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00350.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00652.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00652.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00350.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00250.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00250.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00550.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00550.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00651.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00450.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00651.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00450.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00551.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00252.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00551.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00252.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00451.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00650.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00352.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00451.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Mask_00352.bmp'), Path('/Landmark2/pdo/aiking/data/Video_003/img/Img_00650.bmp')]>
PILImage.open((path/"img").ls()[0])

@interact(i=(0,29))
def display_img(i=0):
return PILImage.open((path/"img").ls()[i])
display_img()

Video Clip#
video =mpe.VideoFileClip(str((path/"Video_003.avi").resolve())); video
<moviepy.video.io.VideoFileClip.VideoFileClip at 0x10a54ffa2d30>
video.subclip(0,50).ipython_display(width=300)
Moviepy - Building video __temp__.mp4.
Moviepy - Writing video __temp__.mp4
Moviepy - Done !
Moviepy - video ready __temp__.mp4