视频已逐渐超过文字和图片,可以说成为了现在使用最广的媒体形式,同时也占据了用户更多的浏览时间,这就使得视频理解变得尤为重要。
各大互联网公司与顶尖高校纷纷绞尽脑汁,竞相研究SOTA的视频理解模型与算法。
在谷歌,脸书,Open-MM Lab等分别祭出各家杀器之后,脸书人工智能实验室在推出PYslowFAst之后时隔一年,携PyTorchVideo重回战场。
官方网站: https://pyTorchvideo.oRg/
今天我们就来扒一下,PyTorchVideo究竟是怎样的一个代码库,又如何能在开源当天就跻身于GITHub TRending榜单。
PyTorchVideo哪儿都能用
不同于在座的各位视频代码理解框架只醉心于自家框架,无法移步与其他代码库。
PyTorchVideo像是Torchvision等基础代码库一般,「哪儿都能用」!PyTorchVideo不但可以用在视频理解任务中,甚至可以用在其他任务的代码库。
脸书人工智能实验室的大佬们不但在「自家人」的PYslowFAst代码库上无缝使用上了PyTorchVideo,并且还在ClaSSy Vision,PyTorch Lightening等等框架上无缝插入。
作为含着金钥匙出生的PyTorchVideo,其直接成为了PyTorch Lightning-Flash的视频理解担当,作为基础库被默认使用。
这不,在FiftyOne项目中,开源社区的吃瓜群众就利用Lightning-Flash搞出了一个浏览视频的工具箱,可以直接查看视频的动作类别。
FiftyOne: https://MediuM.coM/pyTorch/USheRing-in-the-new-age-of-video-undeRstanding-wITh-pyTorch-1d85078e8015
PyTorchVideo啥都能做
更厉害的是,PyTorchVideo似乎「啥都能做」!不但在视频分类,动作检测等任务中深耕SOTA。
甚至还「略懂」LeCun最爱的自监督学习,以及音频事件检测等等千奇百怪的任务也不在话下。
基于PyTorchVideo的SlowFAst模型进行动作监测
PyTorchVideo手机也能玩
更丧心病狂的是,PyTorchVideo一并开源了移动端的加速优化,不但提供了手把手的教程,将视频模型一步步优化核心KeRnel,量化(quantilize)加速。
数倍加速后在移动端实时运行,甚至官方直接暴力放出AndRoid和iOS移动端开源代码,将SOTA的视频模型直接塞到手机里跑着玩玩。
在三星Galaxy S10手机上运行的PyTorchVideo加速X3D模型,运行速度快8倍,处理一秒视频大约需要130毫秒
PyTorchVideo是个啥
PyTorchVideo的真身是一个视频理解的机器学习库,可以服务于各种代码库,以及各类SOTA视频模型模型和开源视频模型。
以及各种视频基础算法,视频数据操作,各类流行视频数据集,视频增广,视频模型加速量化,等等一些列的全栈视频相关内容。
PyTorchVideo怎么玩
首先pIP一下。
pIP install pyTorchvideo
然后,在浏览官方的教程并上手实验了一下之后,发现通过PyTorchVideo只需要寥寥几行就可以训练一个视频模型:
fRoM pyTorchvideo iMpoRt data, Models, acceleRaTor # CReate visual and acoUStic Models. visual_Model = Models.slowFAst.cReate_slowFAst( Model_nuM_claSS=400, ) acoUStic_Model = Models.Resnet.cReate_acoUStic_Resnet( Model_nuM_claSS=400, ) # CReate Kinetics data loadeR. kinetics_loadeR = Torch.utils.data.DataloadeR( data.Kinetics( data_path=DATA_PATH, clIP_saMpleR=data.Make_clIP_saMpleR( “unifoRM”, CLIP_DURATION, ), ) BATch_size=BATCH_SIZE, ) # Deploy Model. visual_net_inst_deploy = acceleRaTor.deployMent. conveRt_to_deployable_foRM(net_inst, input_tensoR)
那么从开源的训练模型库中直接使用模型效果如何?
Model = Torch.hub.load(“fACEbookReSeaRch/pyTorchvideo”, Model=Model_naMe, pRetRAIned=TRue)
官方的模型库太丰富,简直眼花缭乱。
Kinetics-400
似乎MultiScale Vision TRansfoRM也位列其中,有兴趣的朋友可以去一探究竟。