深度学习目标检测网络轻量化研究现状

简介: 随着深度学习和计算机视觉的快速发展,各类基于卷积神经网络的目标检测算法不断地刷新标准检测数据集的最好性能成绩。目前主流的基于卷积神经网络的目标检测算法,包括各种两阶段检测器(RCNN,Fast RCNN,Faster RCNN,Mask RCNN,Trident Net)以及单阶段检测器(YOLO,SSD,Corner Net,Extreme Net)。尽管新算法不断刷新性能,但大多数目标检测算法其模型的参数动辄数十兆字节,在计算资源有限的移动终端等边缘设备中部署这样的大模型非常困难。因此,在保证一定准确率的前提下尽可能追求检测算法网络的轻量化具有重要的理论研究意义和应用价值。

传统的目标检测方法诸如在2005年提出的HOG[7]特征方法,该方法是一种特征描述算子,使用该方法能够极大的提高检测算法的性能。HOG特征是通过计算局部区域内的梯度信息来获得相应的特征信息,该方法结合SVM技术可以实现比较好的物体检测效果。HOG特征对于光学和几何都具有较好的形变性,同时稍许动作不影响检测性能,所以HOG技术比较适合用于人体检测。但是HOG存在着具有时间复杂性高以及鲁棒性差的特点,所以后续对于HOG的改进也有许多。但是这些都是基于手工设计特征方法进行的,虽后续的改进方法性能变强了一些,但是没有出现突破性的进展,所以如何更好的对图像或者视频中目标进行检测成为了研究者们的研究热点。

   随着近些年来计算机大批量计算能力的提升,深度学习技术开始出现在人们的眼前,它依靠海量的数据来学习训练出有用的特征信息。其中,如何学习出特征信息则需要神经网络这一黑盒子,多层神经网络通过从原始图像中提取信息,然后逐层学习训练进而得到图像的高级表示信息。使用神经网络进行特征提取逐渐代替了诸如HOG等比较传统的方法。从2006年深度学习技术被提出之后,伴随着计算机计算能力的提升,人们对于深度学习的研究逐渐热

了起来。在2012年的国际大规模视觉识别大赛中,Hinton的学生利用卷积神经网络获得了大赛的冠军,其中,该团队得到了15.3%的top5分类错误率,大幅度领先于26.2%的手工设计方法,在此次比赛后,基于深度学习的特征提取方法进入了人们的视野。在此之后,人们相继提出了多种多样的卷积神经网络,这些特征提取网络的识别能力都已经远远超于其他的方法,这些都强有力的证明了基于深度学习的特征提取方法具有巨大的发展潜力。

  近些年来卷积神经网络的迅速发展使得基于深度学习的检测方法比传统的方法更加优秀。人类最早使用的卷积神经网络可以追溯到1998年构建的LeNet[8]网络,LeNet-5是一个仅仅5层的卷积神经网络,它被应用于手写体字符识别任务中并取得了较好的识别效果,在LeNet-5网络中提出了池化层,该结构之后也被广泛应用。在这之后的多年里由于计算机发展的限制,卷积神经网络并没有得到广大研究者的关注。2012年AlexNet网络在ImageNet大赛中,通过加入激活函数Relu、添加Dropout技术、使用数据增强等取得了该大赛的冠军成绩,在这之后,卷积神经网络开始得到人们的广泛关注,各种优异的卷积神经网络相继被提出。VGGNet通过使用3*3的卷积核和2*2的池化并不断堆叠达到了16-19层的级别,该网络在ImageNet上Top5的分类错误率仅仅为7.5%。GoogleNet采用模块化结构、移除全连接部分等,网络的各种优化使得其具有比较好的学习能力,也实现比较好的分类性能。在2015年,残差网络ResNet被提出,旨在解决神经网络在非常深的时候引起退化的问题,使得神经网络在加深网络时性能不会下降。2017年DenseNet被提出,它在ResNet的基础上添加了密集连接部分,可以使每一个特征层被多次的利用,从而进一步的提高了神经网络的泛化效果。


  基于深度学习的目标检测算法也在经历着一个不断被优化的过程,从原理上来说它可以被分为两种类型:两阶段检测算法和单阶段检测算法。RCNN作为两阶段检测算法的开山之作,它将卷积神经网络第一次应用于检测算法中,相比于传统的方法,基于深度学习的RCNN方法在PASCAL  VOC数据集上实现了检测准确率的飞跃。但是RCNN算法也存在着一些问题,比如检测速度过慢、重复计算多等问题,所以后面学者们又相继提出了SPP-Net、Fast-RCNN、Faster-RCNN、Mask-RCNN等目标检测算法。在这几种检测器中,最为经典的就是Faster-RCNN检测算法,它是一个端到端的检测算法,检测精度比较高,同时,它还提出了区域生成的方法,该方法对于检测精度的提升起到了至关重要的地位。两阶段检测器虽然检测精度很高,但是在商业应用中需要算法实时的运行,所以检测速度也是一个非常重要的指标,单阶段检测器的特点就是相比于两阶段检测器而言检测速度快了很多。Yolo-V1是第一个单阶段检测算法,检测速度非常快,但是精度不是很高,这是由于它是一种直接在神经网络中对默认框进行分类和回归的一种算法,而没有检测框的矫正阶段。SSD算法也是一种单阶段检测算法,它具有多尺度检测的功能,同时使用VGG深度网络来进行特征提取,所以性能相比于Yolo-V1更加强大。随后研究者们对Yolo-V1提出了较多的改进版本,如经典的YOLOv2,YOLOv3等。同时,针对SSD检测算法也出现了许多变种包括FSSD、DSSD等。 

   经典的两阶段检测器和单阶段检测器都是使用一些参数量和运算量相对较多的一些卷积神经网络,如VGG、DarkNet等。为了进一步的提升检测的速度,就需要研究出高效且高精度的轻量化神经网络。轻量化神经网络虽损失了一些精度,但是检测速度能够明显提升,在一些实时性比较高的任务中尤其需要此种网络。轻量化网络MobileNet提出了将正常的卷积替换为深度可分离卷积的结构,该结构能够加大的降低参数量,对于一个3*3的卷积核,使用深度可分离结构大约可以节省到原来九分之一的参数量。在这之后研究者们也提出了许多轻量化结构,比如ShuffleNet、MobileNetV2、ShuffleNetV2等,通过使用这些深度学习网络,检测算法的速度越来越快但是参数量和运算量却越来越少。为了对目标检测算法进行轻量化研究,有学者专门针对检测任务提出了  PeleeNet目标检测网络,它可以达到一定的检测精度但是同时也具有较高的轻量化和实时性。为了使得目标检测算法的网络参数量与计算量更小,模型占用存储空间更小,更好的实现检测精度与效率之间的平衡,面向目标检测进行轻量化研究具有重要意义。 
相关文章
|
26天前
|
机器学习/深度学习 人工智能 运维
网管不再抓头发:深度学习教你提前发现网络事故
网管不再抓头发:深度学习教你提前发现网络事故
54 2
|
4月前
|
监控 算法 安全
基于 PHP 语言深度优先搜索算法的局域网网络监控软件研究
在当下数字化时代,局域网作为企业与机构内部信息交互的核心载体,其稳定性与安全性备受关注。局域网网络监控软件随之兴起,成为保障网络正常运转的关键工具。此类软件的高效运行依托于多种数据结构与算法,本文将聚焦深度优先搜索(DFS)算法,探究其在局域网网络监控软件中的应用,并借助 PHP 语言代码示例予以详细阐释。
82 1
|
5月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
190 3
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
|
2月前
|
监控 算法 JavaScript
基于 JavaScript 图算法的局域网网络访问控制模型构建及局域网禁止上网软件的技术实现路径研究
本文探讨局域网网络访问控制软件的技术框架,将其核心功能映射为图论模型,通过节点与边表示终端设备及访问关系。以JavaScript实现DFS算法,模拟访问权限判断,优化动态策略更新与多层级访问控制。结合流量监控数据,提升网络安全响应能力,为企业自主研发提供理论支持,推动智能化演进,助力数字化管理。
69 4
|
5月前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
298 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
3月前
|
机器学习/深度学习 人工智能 运维
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
AI“捕风捉影”:深度学习如何让网络事件检测更智能?
83 8
|
4月前
|
机器学习/深度学习 数据采集 算法
基于MobileNet深度学习网络的MQAM调制类型识别matlab仿真
本项目基于Matlab2022a实现MQAM调制类型识别,使用MobileNet深度学习网络。完整程序运行效果无水印,核心代码含详细中文注释和操作视频。MQAM调制在无线通信中至关重要,MobileNet以其轻量化、高效性适合资源受限环境。通过数据预处理、网络训练与优化,确保高识别准确率并降低计算复杂度,为频谱监测、信号解调等提供支持。
|
4月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
294 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
4月前
|
机器学习/深度学习 存储 算法
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
|
5月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
340 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能