aoa体育app下载|在线娱乐—如何用深度学习做视频分类?ResNet3D帮你搞定

日期:2022-11-18 00:24:01 | 人气:

本文摘要:随着短视频应用火爆全网,现在种种短视频已经占据了全网50%以上的流量,那么如何对短视频分类就成了一个问题。现在,我们使用卷积网络可以有效的对图片举行分类,同时精度也比力高。那么神经网络是否可以对视频分类呢?谜底是肯定的,本文带你使用ResNet3D网络来完成视频分类任务。

aoa体育平台在线

随着短视频应用火爆全网,现在种种短视频已经占据了全网50%以上的流量,那么如何对短视频分类就成了一个问题。现在,我们使用卷积网络可以有效的对图片举行分类,同时精度也比力高。那么神经网络是否可以对视频分类呢?谜底是肯定的,本文带你使用ResNet3D网络来完成视频分类任务。

本文对ResNet3D论文解读和复现,ResNet3D网络主要内容出自以下两篇论文:《Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?》论文地址:http://openaccess.thecvf.com/content_cvpr_2018/html/Hara_Can_Spatiotemporal_3D_CVPR_2018_paper.html《Would Mega-scale Datasets Further Enhance Spatiotemporal 3D CNNs》论文地址:https://arxiv.org/abs/2004.04968论文项目地址:https://github.com/kenshohara/3D-ResNets-PyTorch1.目的这里我们先简朴先容一下第一篇论文《Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?》的目的。我们已经知道CNN网络在CV领域已经取得了庞大的乐成,在大量的图片数据集下,好比ImageNet数据集,CNN网络可以取得较高的精度。那么使用现在已有的视频数据集,将现有的CNN网络的2维卷积核调整为3维卷积核,是否有富足的数据可以满足CNN网络的训练需求?文中主要使用ResNet3D网络对此举行了验证。

第二篇论文《Would Mega-scale Datasets Further Enhance Spatiotemporal 3D CNNs》是在第一篇的基础上举行的事情,其目的是希望验证超大规模的数据集是否可以增强CNN网络的性能。2.事情内容在第一篇论文中,论文作者发现只有在Kinetics400这种大规模数据集上,ResNet系列模型才气很好的收敛。在UCF101、HMDB-51和ActivityNet上模型都市泛起过拟合的情况,很难训练出高精度的模型。

在Kinetics400数据上,随着模型的深度增加,好比在ResNet152之后,精度提升就很微弱了。这里说明晰如果有大规模的数据集是可以使用3D的CNN网络举行训练的。既然有了大规模数据集训练好的模型,就可以在小规模的数据集上举行微调训练,作者取得了不错的效果。

第二篇论文在第一篇论文的基础上,对差别的大规模数据集举行融合,获得了差别的组合超大规模的数据集,划分训练出差别层数ResNet3D网络。生存模型权重可以作为预训练权重,在小规模数据集上举行微调训练,在差别数据集和模型上都获得了差别水平的精度提升。

3.模型结构通常做图像分类使用的ResNet网络的卷积核一般只是在2D图像上做滑动窗口,盘算特征图,卷积核的形状一般为[out_channel, in_channel, W, H]。而在视频分类任务中一般对网络输入的是视频中的一段序列,好比16帧或32帧,这样在原有WH维度上又增加了一个时间T的维度,卷积核的形状为 [out_channel, in_channel, T, W, H]。这时,卷积核不止在2D平面上滑动,还需要在第三个维度T上移动,提取帧之间的关联特征。这样就需要对2D的ResNet举行革新,将其革新为3D的ResNet网络。

aoa体育app下载

ResNet3D保持原有的ResNet的整体架构稳定,替换每个block中的basicblock或bottleneckblock中的卷积核为Conv3D,同时池化层也需要替换为3D池化。整体网络结构形貌如下:4.训练方法第一篇论文中在Kinetics400数据集上训练使用宽和高均为112像素,16帧的RGB图像作为输入样本。

同时使用5种差别尺寸的裁剪方式对图像举行随机裁剪,同时添加了随机水平翻转,举行数据增强。使用交织熵作为损失函数,同时使用SDG优化器,设置正则化系数为0.001,动量系数设置为0.9,起始学习率为0.1。如果在10个epochs之后,验证集的损失没有减小,则学习率除以10。在小数据集上举行模型微调时设置SDG优化器学习率为0.001,同时正则化系数设置为1e-5。

同时作者在多次实验得出结论:在训练时,冻结前4个block,只微调第5个block和全毗连层的权重可以获得更好的效果。第二篇论文在第一篇论文训练计谋的基础上举行了调整,因为是使用超大规模数据集对模型举行微调,所以其他参数稳定,只是将SGD优化器的起始学习率设置为0.003,正则化系数和动量系数保持0.001和0.9。5.实验效果通过在多种超大规模数据集和多种模型结构组合训练得出以下效果。

本次复现的条件和目的如下,预训练模型:K+M数据集上的ResNet50预训练权重数据集:UCF-101目的:Top1为92.9%6.论文复现项目地址:https://github.com/txyugood/Paddle-3D-ResNets1.下载解压数据集数据集地址数据集地址:https://aistudio.baidu.com/aistudio/datasetdetail/48916mkdir dataset/unzip UCF-101.zip -d dataset/2.视频转换为图片mkdir /home/aistudio/dataset/UCF-101-jpg/cd Paddle-ResNets/ && python generate_video_jpgs.py /home/aistudio/dataset/UCF-101 /home/aistudio/dataset/UCF-101-jpg/ ucf1013.转换pytorch预训练模型pip install torch==0.4.1cd Paddle-ResNets/model/ && python convert_to_paddle.py4.训练网络在训练历程中举行clips准确率验证,并生存clips准确率最高的模型,最终clips准确率90%。训练方法:训练时开启4历程读取,将数据集分为4块,batch_size 为128,以异步方式读取数据举行模型训练。

每次迭代总训练时间为2.3秒左右,数据读取时间为1.8秒左右,CPU使用率已靠近100%,内存占用在80-90%之间。GPU使用率50%,可见训练瓶颈在CPU读取数据部门,若CPU和内存扩容,还可以继续提升训练速度。训练使用的优化器为Momentum,学习率0.003,momentun=0.9 L2Decay为0.001.数据增强方式选择RandomResizedCrop方式。根据论文中提到的方法,冻结Resnet50网络的conv1、conv2、conv3和conv4,只训练conv5和fc层。

cd Paddle-ResNets/ && python train.py5.验证网络根据论文的方法将视频以16帧为一个clip举行支解,最后盘算一个视频的所有clips的平均值作为视频的分类效果。最后会生成val.json文件供盘算top-1准确率使用。

这里与pytorch版本代码逻辑一致。cd Paddle-ResNets/ && python test.py6.盘算准确率Top-1准确率为93.55% 凌驾论文中的92.9%。cd Paddle-ResNets/ && python eval_accuracy.pyload ground truthnumber of ground truth: 3783load resultnumber of result: 3783calculate top-1 accuracytop-1 accuracy: 0.9355009251916468。


本文关键词:aoa体育平台在线,如,何用,深度,学习,做,视频,分类,ResNet3D,帮你

本文来源:aoa体育app下载-www.biaopaihulan.com

旋转小火锅定制流程

免费咨询

提供图纸

免费设计

免费报价

无忧安装

终身维护