Pytorch内集成有视频分类功能,提供了三个基于Kinectis400/600/700数据集(https://deepmind.com/research/open-source/kinetics)训练的网络模型(ResNet3D、Mixed Convoluation、R(2+1)D )可用来实现视频动作识别(Activity Recognition)。
相关论文链接 https://arxiv.org/abs/1711.11248
模型的代码参见
https://github.com/pytorch/vision/blob/master/torchvision/models/video/resnet.py
模型的训练参见这里的代码
https://github.com/pytorch/vision/tree/master/references/video_classification
使用python版TensorRT加速模型的部署参见:
https://github.com/kn1ghtf1re/Activity-Recognition-TensorRT
这里先不说Kinectics数据集和模型的训练,先说如何实验使用python版TensorRT部署加速模型,使用C++版的TensorRT部署加速模型可以参照python版来实现,因为代码涉及商业机密,所以不便多说。
https://github.com/kn1ghtf1re/Activity-Recognition-TensorRT目前有了trt7.2和trt8.0两个branch,如果想把模型部署到NVIDIA的Jetson序列板子上运行,当然还是得参考trt7.2版,因为目前Jetson平台上的最新的Jet Pack也只还有TensorRT7,没有支持TensorRT8,所以你在TensorRT8下展开工作的话,到时在Jetson板子上部署还得重新去实验实现一遍几乎是瞎忙活了,因为相对于TensorRT7来说,TensorRT8的API变化有点大。
Activity-Recognition-TensorRT的requirements的安装呢,如果环境中一些所需的例如numpy这样的基础支持包的版本已经比较新了,那可能安装和使用会比较顺利一点,使用:
pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
即可。如果出现一些七七八八的冲突或者错误,可以按照以下的方式分步安装:
pip3 install --upgrade pip3
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com numpy ==1.21.1
pip3 install -U -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com protobuf
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com scikit-build appdirs Mako MarkupSafe netron pytools==2021.2.7 pycuda==2021.1 opencv-python
如果安装完requirements后运行时发生Illegal instruction (core dumped),并且调试发现是import pycuda.driver as cuda这句这里崩溃的,那么是可能是因为pycuda没安装

本文介绍如何使用PyTorch的视频分类模型进行动作识别,包括模型部署与加速的方法,特别是在NVIDIA Jetson平台上的实践步骤。
最低0.47元/天 解锁文章
1195

被折叠的 条评论
为什么被折叠?



