Module vipy.data.kthactions
Expand source code Browse git
import os
import vipy.dataset
from vipy.util import remkdir, filetail, videolist
import vipy.downloader
import vipy.video
URLS = ['http://www.csc.kth.se/cvap/actions/walking.zip',
'http://www.csc.kth.se/cvap/actions/jogging.zip',
'http://www.csc.kth.se/cvap/actions/running.zip',
'http://www.csc.kth.se/cvap/actions/boxing.zip',
'http://www.csc.kth.se/cvap/actions/handwaving.zip',
'http://www.csc.kth.se/cvap/actions/handclapping.zip']
SHA1 = ['a3e81537271a0ab4576591774baa38c2d97b7e3a',
'21943bdbcef9dad106db0d74661e49eaeaa15a25',
'da83bb313edfd4455fffdda6263696fa10d43c6f',
'adb36ed9c29c846d44d2ba15f348bd115c951bbd',
'0792f7cd69f7f895a205c08ac212ddaa7177e370',
'd3b81261aa822ef63d0d1523f945bfaff27814d2']
LABELS = ['walking','jogging','running','boxing','handwaving','handclapping']
class KTHActions(object):
def __init__(self, datadir):
"""KTH ACtions dataset, provide a datadir='/path/to/store/kthactions' """
self.datadir = remkdir(datadir)
if not os.path.exists(os.path.join(self.datadir, 'handclapping.zip')):
self.download_and_unpack()
def __repr__(self):
return str('<vipy.data.kthactions: %s>' % self.datadir)
def split(self):
trainPeople = ['person02','person03','person05','person06','person07','person08','person09','person10','person22']
videos = self.dataset()
trainset = [vid for vid in videos if filetail(vid.filename()).split('_')[0] in trainPeople]
testset = [vid for vid in videos if filetail(vid.filename()).split('_')[0] not in trainPeople]
return (vipy.dataset.Dataset(trainset, 'kthactions:train'), vipy.dataset.Dataset(testset, 'kthactions:test'))
def download_and_unpack(self):
for (url, label, sha1) in zip(URLS, LABELS, SHA1):
vipy.downloader.download_and_unpack(url, self.datadir, sha1=sha1)
def dataset(self):
return [vipy.video.VideoCategory(filename=f, category=f.split('_')[1]) for f in videolist(self.datadir)]
Classes
class KTHActions (datadir)
-
KTH ACtions dataset, provide a datadir='/path/to/store/kthactions'
Expand source code Browse git
class KTHActions(object): def __init__(self, datadir): """KTH ACtions dataset, provide a datadir='/path/to/store/kthactions' """ self.datadir = remkdir(datadir) if not os.path.exists(os.path.join(self.datadir, 'handclapping.zip')): self.download_and_unpack() def __repr__(self): return str('<vipy.data.kthactions: %s>' % self.datadir) def split(self): trainPeople = ['person02','person03','person05','person06','person07','person08','person09','person10','person22'] videos = self.dataset() trainset = [vid for vid in videos if filetail(vid.filename()).split('_')[0] in trainPeople] testset = [vid for vid in videos if filetail(vid.filename()).split('_')[0] not in trainPeople] return (vipy.dataset.Dataset(trainset, 'kthactions:train'), vipy.dataset.Dataset(testset, 'kthactions:test')) def download_and_unpack(self): for (url, label, sha1) in zip(URLS, LABELS, SHA1): vipy.downloader.download_and_unpack(url, self.datadir, sha1=sha1) def dataset(self): return [vipy.video.VideoCategory(filename=f, category=f.split('_')[1]) for f in videolist(self.datadir)]
Methods
def dataset(self)
-
Expand source code Browse git
def dataset(self): return [vipy.video.VideoCategory(filename=f, category=f.split('_')[1]) for f in videolist(self.datadir)]
def download_and_unpack(self)
-
Expand source code Browse git
def download_and_unpack(self): for (url, label, sha1) in zip(URLS, LABELS, SHA1): vipy.downloader.download_and_unpack(url, self.datadir, sha1=sha1)
def split(self)
-
Expand source code Browse git
def split(self): trainPeople = ['person02','person03','person05','person06','person07','person08','person09','person10','person22'] videos = self.dataset() trainset = [vid for vid in videos if filetail(vid.filename()).split('_')[0] in trainPeople] testset = [vid for vid in videos if filetail(vid.filename()).split('_')[0] not in trainPeople] return (vipy.dataset.Dataset(trainset, 'kthactions:train'), vipy.dataset.Dataset(testset, 'kthactions:test'))