资料来源:Facebook AI编辑:困
【新支持指南】时隔一年,Facebook AI带着PyTorchVideo回到了视频理解的战场上。
其不仅可以「无缝」接入各类代码库,甚至还「略懂」LeCun最爱的自监督学习。顺便一提,手机也能玩!视频已逐渐超过文字和图片,可以说成为了现在使用最广的媒体形式,同时也占据了用户更多的浏览时间,这就使得视频理解变得尤为重要。
各大互联网公司与顶尖高校纷纷绞尽脑汁,竞相研究SOTA的视频理解模型与算法。
在谷歌,脸书,Open-MM Lab等分别祭出各家杀器之后,脸书人工智能实验室(Facebook AI)在推出PySlowFast之后时隔一年,携PyTorchVideo重回战场。
官方网站:
今天我们就来扒一下,PyTorchVideo究竟是怎样的一个代码库,又如何能在开源当天就跻身于GitHub Trending榜单。
PyTorchVideo哪儿都能用
不同于在座的各位视频代码理解框架只醉心于自家框架,无法移步与其他代码库。
PyTorchVideo像是torchvision等基础代码库一般,「哪儿都能用」!PyTorchVideo不但可以用在视频理解任务中,甚至可以用在其他任务的代码库。
脸书人工智能实验室的大佬们不但在「自家人」的PySlowFast代码库上无缝使用上了PyTorchVideo,并且还在Classy Vision,PyTorch Lightening等等框架上无缝插入。
作为含着金钥匙出生的PyTorchVideo,其直接成为了PyTorch Lightning-Flash的视频理解担当,作为基础库被默认使用。
这不,在FiftyOne项目中,开源社区的吃瓜群众就利用Lightning-Flash搞出了一个浏览视频的工具箱,可以直接查看视频的动作类别。
FiftyOne:
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.(
model_num_class=400,
)
acoustic_model = models.re(
model_num_class=400,
)
# Create Kinetics data loader.
kinetics_loader = (
da(
data_path=DATA_PATH,
clip_sampler=da(
"uniform",
CLIP_DURATION,
),
)
batch_size=BATCH_SIZE,
)
# Deploy model.
visual_net_inst_deploy = accelera.\
convert_to_deployable_form(net_inst, input_tensor)
那么从开源的训练模型库中直接使用模型效果如何?
model = ("facebookresearch/pytorchvideo", model=model_name, pretrained=True)
官方的模型库太丰富,简直眼花缭乱。
Kinetics-400
arch | depth | frame length x sample rate | top 1 | Flops (G) x views | Params (M) |
C2D | R50 | 8x8 | 71.46 | 25.89 x 3 x 10 | 24.33 |
I3D | R50 | 8x8 | 73.27 | 37.53 x 3 x 10 | 28.04 |
Slow | R50 | 4x16 | 72.40 | 27.55 x 3 x 10 | 32.45 |
Slow | R50 | 8x8 | 74.58 | 54.52 x 3 x 10 | 32.45 |
SlowFast | R50 | 4x16 | 75.34 | 36.69 x 3 x 10 | 34.48 |
SlowFast | R50 | 8x8 | 76.94 | 65.71 x 3 x 10 | 34.57 |
SlowFast | R101 | 8x8 | 77.90 | 127.20 x 3 x 10 | 62.83 |
SlowFast | R101 | 16x8 | 78.70 | 215.61 x 3 x 10 | 53.77 |
CSN | R101 | 32x2 | 77.00 | 75.62 x 3 x 10 | 22.21 |
R(2+1)D | R50 | 16x4 | 76.01 | 76.45 x 3 x 10 | 28.11 |
X3D | XS | 4x12 | 69.12 | 0.91 x 3 x 10 | 3.79 |
X3D | S | 13x6 | 73.33 | 2.96 x 3 x 10 | 3.79 |
X3D | M | 16x5 | 75.94 | 6.72 x 3 x 10 | 3.79 |
X3D | L | 16x5 | 77.44 | 26.64 x 3 x 10 | 6.15 |
Something-Something V2
arch | depth | pretrain | frame length x sample rate | top 1 | Flops (G) x views | Params (M) |
Slow | R50 | Kinetics 400 | 8x8 | 60.04 | 55.10 x 3 x 1 | 31.96 |
SlowFast | R50 | Kinetics 400 | 8x8 | 61.68 | 66.60 x 3 x 1 | 34.04 |
Charades
arch | depth | pretrain | frame length x sample rate | MAP | Flops (G) x views | Params (M) |
Slow | R50 | Kinetics 400 | 8x8 | 34.72 | 55.10 x 3 x 10 | 31.96 |
SlowFast | R50 | Kinetics 400 | 8x8 | 37.24 | 66.60 x 3 x 10 | 34.00 |
AVA )
arch | depth | pretrain | frame length x sample rate | MAP | Params (M) |
Slow | R50 | Kinetics 400 | 4x16 | 19.5 | 31.78 |
SlowFast | R50 | Kinetics 400 | 8x8 | 24.67 | 33.82 |
甚至通过PyTorchVideo加持的 Lightning Flash,分类视频仅仅只需三行。
from flash import VideoClassifier
model = VideoCla("checkpoint_uri")
model.predict("path_to_video_folder")
据官方博客透露,PyTorchVideo开源了一大票视频模型,包括脸书人工智能实验室近期出现在ICCV,ICML等工作:
- Multiscale Vision Transformer
- A large-scale study on unsupervised spatiotemporal representation learning
- Multiview pseudo-labeling for semi-supervised learning from video
- Is space-time attention all you need for video understanding?
- Keeping Your Eye on the Ball: Trajectory Attention in Video Transformer
- SlowFast networks for video recognition
- X3D: Expanding architectures for efficient video recognition
- Audiovisual SlowFast networks for video recognition
- Non-local neural network
- A closer look at spatiotemporal convolutions for action recognition
- Video classification with channel-separated convolutional network
似乎MultiScale Vision Transform也位列其中,有兴趣的朋友可以去一探究竟。
参考资料:
—完—
欢迎点赞~ 关注 新智元 及时了解人工智能新动态~
1.《关于qq三国卡79xs哪些技能要卡满我想说手机跑SOTA模型快8倍 Facebook AI开源最强全栈视频库PyTorchVideo》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《关于qq三国卡79xs哪些技能要卡满我想说手机跑SOTA模型快8倍 Facebook AI开源最强全栈视频库PyTorchVideo》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/lishi/2061319.html