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

简介: 随着深度学习和计算机视觉的快速发展,各类基于卷积神经网络的目标检测算法不断地刷新标准检测数据集的最好性能成绩。目前主流的基于卷积神经网络的目标检测算法,包括各种两阶段检测器(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目标检测网络,它可以达到一定的检测精度但是同时也具有较高的轻量化和实时性。为了使得目标检测算法的网络参数量与计算量更小,模型占用存储空间更小,更好的实现检测精度与效率之间的平衡,面向目标检测进行轻量化研究具有重要意义。 
相关文章
|
10天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
141 55
|
7天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
53 31
|
13天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
16天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
20天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
46 3
|
25天前
|
机器学习/深度学习 数据采集 传感器
基于深度学习的图像识别技术在自动驾驶中的应用研究####
本文旨在探讨深度学习技术,特别是卷积神经网络(CNN)在自动驾驶车辆图像识别领域的应用与进展。通过分析当前自动驾驶技术面临的挑战,详细介绍了深度学习模型如何提升环境感知能力,重点阐述了数据预处理、网络架构设计、训练策略及优化方法,并展望了未来发展趋势。 ####
85 6
|
28天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
52 8
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
129 7
|
26天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
36 1