摘要:针对传统的关键帧提取方法误差率高、实时性差等问题,提出了一种基于深度学习的目标检测提取视频图像关键帧的方法,分类提取列车头部、尾部及车身所在关键帧。在关键帧提取过程中,重点研究了基于SIFT特征的粗识别和Alex-Net卷积神经网络模型的精识别两个阶段,通过模型训练验证基于卷积神经网络的关键帧提取器的可行性。

关键词:卷积神经网络(CNN);关键帧;目标检测

中图分类号:TP391    文献标识码:A     文章编号:1009-3044(2018)36-0201-03

1 概述

随着我国铁路的不断发展,铁路在运行过程中的安全性问题日益凸显,视频监控在铁路交通安全中起着至关重要的作用。通过摄像头监控、互联网的传播,监控画面实时显示,铁路部门可以利用视频中的有效图像信息,对视频流进行处理,从而有效地保证铁路系统的正常运营。因此,如何快速有效地提取铁路视频图像中的关键帧信息,是本文研究的重点。

考虑到视频中相邻帧的重复率一般比较高,关键帧的提取可以减少帧数,进而提升图像特征点检测和匹配效率,同时也为图像拼接提供一个组织框架。针对这项关键技术,得到了研究者们的广泛关注,并取得了一定研究成果。文献[1]从相邻帧间的颜色或纹理信息变化程度出发,提出了基于视频内容的方法。文献[2]通过计算当前帧与类心之间特征值的距离,将视频中所有帧进行聚类分析,得到基于视频聚类的分析方法。文献[3]提出基于运动特征分析的算法,其基本原理是利用光流分析,将视频中运动量最小的一帧作为关键帧。

上述的三类传统算法主要基于图像整体信息的变化来选定关键帧,容易造成关键帧选取错误、计算量大、实时性差等问题。因此,本文在此基础上使用一种基于深度学习的目标检测方法,通过建立卷积神经网络(Convolutional Neural Network,CNN)模型,分类提取视频中列车头部、尾部及车身所在关键帧,使得基于深度学习的目标检测在关键帧提取的应用中成为可能。

2 卷积神经网络概述

作为深度学习在计算机视觉领域应用的关键技术,卷积神经网络是通过设计仿生结构来模拟大脑皮层的人工神经网络,可实现多层网络结构的训练学习。同传统的图像处理算法相比较,卷积神经网络可以利用局部感受野,获得自主学习能力,以应对大规模图像处理数据,同时权值共享和池化函数设计减少了图像特征点的维数,降低了参数调整的复杂度,稀疏连接提高了网络结构的稳定性,最终产生用于分类的高级语义特征,因此被广泛应用于目标检测、图像分类领域。

2.1 基本结构

利用卷积神经网络模型的自主学习能力,可以实现目标检测,本节主要介绍一种典型的卷积神经网络结构,如图1所示。

卷积神经网络是一种多层深度网络结构,主要由输入层、卷积层、池化层、全连接层和输出层等部分组成。输入层是需要处理的图像,计算机可将其理解为若干矩阵。卷积层是卷积神经网络的重要组成部分,通过输入层和卷积层之间矩阵的卷积运算,提取输入图像的特征。池化层也是卷积神经网络的重要组成部分,通常设置在卷积层之后,作用是对输入图像的目标区域像素取平均值(Average)或最大值(Max),即降采样处理,降低特征图像分辨率的同时避免出现过拟合。全连接层位于最后一个池化层和输出层之间,由0个或多个组成,其中每一个神经元都与前一层的全部神经元相连接,并根据目标检测的需要,有针对性地将特征向量映射到输出层,便于分类。输出层位于神经网络的最后,设定为Softmax回归,主要作用是对全连接层映射过来的输入向量进行分类,最终输出一维预测向量,维数等于分类的数目。

卷积神经网络中卷积层+池化层的组合,可以根据实际任务需要重复出现多次。通过多层神经网络的特征提取,逐步由空间特征到深层语义特征,得到不同深度的特征表达能力,最终经过全连接层和输出层得到目标检测的结果。因此,根据每层的功能,卷积神经网络可以划分为两个部分——由输入层、卷积层和池化层构成的特征提取器以及由全连接层和输出层构成的分类器。

2.2 训练方法

卷积神经网络的训练方法如图2所示,主要由前向传播和反向传播两部分组成。前向传播是样本数据由低层到高层逐层传播的过程,如果前向传播得到的输出值与目标值存在误差,则将误差从高层往低层反向传播回网络中,计算误差梯度,最后利用误差梯度更新卷积神经网络每一层参数的权重,达到自主学习的能力。

2.3 常用模型

经过近二十年的快速发展,涌现出了众多卷积神经网络模型结构,从早期用于手写数字识别的LeNet模型到最近的深度残差学习ResNet模型,卷积神经网络的层数和深度不断增加,图像识别的准确度也不断提高。

1998年LeCun等人[文献4]设计了早期最具代表性的卷积神经网络LeNet,主要有2个卷积层、2个下抽样层(池化层)、3个全连接层组成。2012年,Krizhevsky等人[文獻5]提出的Alex-Net模型在ILSVRC竞赛中大幅度提高了图像分类的准确率,模型包含5个卷积层、3个池化层以及3个全连接层,通过长时间和大数据的训练(约6000万训练参数),展现了卷积神经网络在图像分类领域的巨大潜力。VGG-Net模型于2014年由Simonyan等人[文献6]设计,一共有六种不同的网络结构,其中所有卷积核的大小均设置为3×3,体现了 “简洁,深度”的特点。2015年Szegedy等人[文献7]提出的GoogleNet模型,不同于Alex-Net和VGG-Net模型通过增大网络结构的层数来提高准确率,而是引入inception模块,改变感受野的大小,提取到更丰富的特征。2016年He等人[文献8]提出了ResNet模型,利用残差学习缓解了网络结构层数增加到一定程度后,准确度出现退化的问题,取得了当前最好的图像识别效果。

3 基于目标检测的关键帧提取方法研究

传统的关键帧提取方法通常借助于图像整体信息的变化,在铁路监控视频上取得了不错的效果,但仍然存在一些问题。首先,需要人工设计选定一列车厢的首尾帧,影响关键帧提取的实时性和效率。其次,没有深入挖掘图像的特征,造成选取的目标关键帧错误率较高,泛化能力差。

卷积神经网络在目标检测上的成功应用,可以看作识别图像为目标还是为非目标。因此,本章设计了基于卷积神经网络的关键帧提取器,首先采用基于SIFT特征的关键点检测算法,在铁路视频图像上提取少量区域作为候选,并通过Alex-Net模型提取候选区域的深度特征,最后将特征输入到SVM分类器中进行分类,得到列车头部、尾部和车身三种结果,验证基于卷积神经网络的关键帧提取器的可行性。本文提出的关键帧提取器流程图如图3所示。

3.1 基于SIFT特征的关键帧粗识别

SIFT(Scale Invariant Feature Transform)全称尺度不变特征变换,是一种检测和描述图像中局部特征的算法,由David Lowe于1999年提出[文献],原理是在不同的尺度空间寻找极值点(特征点),计算位置、尺度、方向等信息,并把特征点用一个128维的特征向量进行描述。由于SIFT特征可以较好地描述目标的局部特性且对平移、旋转等变换保持不变,可以应用在视频图像的关键帧特征区域检测。

SIFT特征点算法主要包括四个部分:首先在建立尺度空间的基础上,利用高斯差分金字塔找到局部关键点;然后对尺度空间拟合处理,得到关键点位置和尺度的精确值;再进一步使用梯度方向直方图为关键点分配方向信息;最后生成特征点的描述向量。通过基于SIFT的关键帧特征区域粗识别,大量与目标检测差异较大的区域被拒绝,只有少数与目标检测相似的特征点作为候选区域进入卷积神经网络,为接下来的精识别减少了工作量。

3.2 基于卷积神经网络的关键帧精识别

在关键帧提取器的粗识别阶段,已经筛选出大量的非目标区域,留下了少数候选区域。候选区域的图像特征点具有相似性,需要深度挖掘图像特征方可区分。因此,在关键帧提取器的精识别阶段,使用Alex-Net卷积神经网络模型,对候选目标区域提取深度卷积网络特征,生成特征向量,并利用关键帧提取器的SVM分类器将特征向量分类,得到最终的提取结果。

本文中使用Alex-Net卷积神经网络模型,包含5个卷积层、3个池化层和3个全连接层,其中有60M个参数和650K神经元,最多可以为1000类目标进行分类。候选目标区域的SIFT特征向量,作为输入图像进入模型,经过五层卷积操作和相应的最大池化处理,同时使用非线性激活函数ReLU加快收敛速度,GPU并行架构实现高效的卷积计算。

4 实验结果

本文的实验环境为:Intel(R)Core(TM)i5-4210M CPU @ 2.60GHZ,8GB内存,NVIDIA GTX 850M 显卡。使用的开发工具为基于Python 3.6.5版本的PyCharm,Alex-Net卷积神经网络使用TensorFlow框架。

在实验中,我们将事先录好的铁路监控视频,作为输入图像导入到关键帧提取器,通过SIFT特征提取和卷积神经网络的深度特征提取,自动调整网络参数和权重,实现基于深度学习的目标检测提取视频图像关键帧,提取出视频的關键帧图像如图4所示。

5 总结

通过卷积神经网络在目标检测领域的应用,本文实现了铁路视频图像关键帧提取器的设计和实现,其中粗识别阶段选取传统的SIFT特征点,精识别阶段利用卷积神经网络挖掘图像深度特征,提高了关键帧提取的精度。

参考文献:

[1] 林通, 张宏江, 封举富,等. 镜头内容分析及其在视频检索中的应用[J]. 软件学报, 2002, 13(8):1577-1585.

[2] 张婵, 高新波, 姬红兵. 视频关键帧提取的可能性C-模式聚类算法[J]. 计算机辅助设计与图形学学报, 2005, 17(9):2040-2045.

[3] 章毓晋.图像理解[ M] . 北京:清华大学出版社, 2006:377-380.

[4] LEcun, Yann, Bottou, Leon, Bengio, Yoshua, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.

[5] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.

[6] K.Simonyan, A.Zisserman. Very deep convolutional networks for large-scale  image recognition[C]. International Conference on Learning Representations  (ICLR),  San Diego, CA, USA, 2015, 1-14.

[7] C.Szegedy,W. Liu,Y. Jia, et al. Going deeper with convolutions[C]. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, MA, USA,  2015, 1-9.

[8] K. He, X. Zhang, S. Ren, et al. Deep residual learning for image recognition[C]. Proc. of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, 770-778.

[9] 李旭冬. 基于卷积神经网络的目标检测若干问题研究[D]. 电子科技大学, 2017.

[10] 殷文斌. 卷积神经网络在遥感目标识别中的应用研究[D]. 中国科学院大学(中国科学院遥感与数字地球研究所), 2017.

一种基于深度学习的目标检测提取视频图像关键帧的方法相关推荐

  1. 基于深度学习的目标检测综述

    基于深度学习的目标检测算法归类和总结 整体框架 目标检测算法 主要包括:[两阶段]目标检测算法.[多阶段]目标检测算法.[单阶段]目标检测算法 什么是两阶段目标检测算法,与单阶段目标检测有什么区别? ...

  2. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  3. 综述 | 基于深度学习的目标检测算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 导读:目标检测(Object Det ...

  4. 基于深度学习的目标检测的研究进展2

    普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫.而在ILSVRC(ImageNet Large Scale Visual Recognition Cha ...

  5. 基于深度学习的目标检测研究进展

    前言 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个人,具体的位置就是上图右侧图像两个边框(bounding-box)所在的位 ...

  6. 基于深度学习的目标检测算法综述(从R-CNN到Mask R-CNN)

    深度学习目标检测模型全面综述:Faster R-CNN.R-FCN和SSD 从RCNN到SSD,这应该是最全的一份目标检测算法盘点 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述 ...

  7. 【深度学习】基于深度学习的目标检测研究进展

    原文出处:http://chuansong.me/n/353443351445 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个 ...

  8. 基于深度学习的目标检测算法综述(一)

    基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述(二) 基于深度学习的目标检测算法综述(三) 本文内容原创,作者:美图云视觉技术部 检测团队,转载请注明出处 目标检测(Object ...

  9. 基于深度学习的目标检测技术演进:从目标检测到人脸检测

    本篇博客主要转载两篇写得好的分别介绍基于深度学习的目标检测和人脸检测的文章,最近在调研基于深度学习的人脸检测相关的文章,在网上查相关资料时,有幸看到.文末附带基于深度学习的目标检测和人脸检测相关经典文 ...

最新文章

  1. 听说又有兄弟因为用YYYY-MM-dd 被锤了...
  2. [ZZ88]送给即将毕业奔三的男人们的16条忠告
  3. 生死6小时!!!!!!!!!!!!!!!!1
  4. python怎么修改while循环类型_python 的for与while 的i改变
  5. php对象底层结构,PHP 底层原理之类和对象
  6. 学习进度条__软件工程概论第一周学习计划
  7. 方格图片轮换JS特效
  8. quartz定时任务时间设置
  9. zip知识点的部分总结!
  10. 泛微移动办公平台已适配华为鸿蒙
  11. 安装到到setup support files时,SQL2008安装程序自动消失掉。
  12. 总结陈丹琦博士论文(一):NEURAL READING COMPREHENSION AND BEYOND
  13. WPS简历模板的图标怎么修改_指导|让疫情之下的应届生,求职简历脱颖而出
  14. WORD打印时显示错误,未定义标签?
  15. 华住2.0? 5亿万豪用户信息泄漏! 个人隐私如何保护? 离不开区块链
  16. 一文读懂PRBS定义、生成办法、作用
  17. VMX进程已提前退出
  18. node.js基于WebStorm服装购物网站的设计与实现毕业设计源码281444
  19. 【周志华机器学习】十四、概率图模型
  20. 年化超额收益计算matlab,超额年化收益率的计算 看了一下雪球上一些雪友贴出的基金或大V的历年收益率,发现一些人统计的不对,想说一下: 1.超额收益率 某基金当年收益率为... - 雪球...

热门文章

  1. 2019年,免费微信多开软件哪个好?5款多开软件评测
  2. 《Arduino实验》实验:土壤湿度传感器检测土壤湿度
  3. 一文读懂什么是cookie和session。
  4. TextPad安装环境配置
  5. JDO和JPA的区别是什么
  6. java 回车表示_关于JAVA中回车符的认识
  7. Chrome谷歌浏览器不能输入中文问题
  8. HGOI 20190711 题解
  9. Java面向对象与代码编写
  10. Linux系统 ISO下载