基于深度学习的小目标检测

简介: 目标检测的主要目的是在图像中快速精准地识别定位出预定义类别的目标。而随着深度学习技术的不断发展,检测算法在相应行业大、中目标已达到了不错的成效。鉴于小目标在图像中尺寸较小、特征不全、与图像中背景差异大等特点,基于深度学习的小目标检测算法性能仍需要进一步提升和优化;小目标检测在无人驾驶、医疗诊断、无人机导航等多个领域都有着广泛的需求,因此研究有着很高的应用价值。

     深度学习的快速发展使得目标检测技术获益匪浅,近年来深度学习已被广泛应用于目标检测领域。然而,小尺度目标在图像中的像素占比少,自身的语义信息较少。与目前较为成熟的大、中尺度的目标检测技术相对比,小目标检测的效果相对不佳,因此如何提高小目标的检测精度是目前计算机视觉领域的一个难点问题。

     微软公司提出的 MS COCO数据集中,将区域面积小于 32×32 像素值的目标定义为小目标。目前小目标检测性能相对较差的原因可以归结如下:(1)小目标自身固有的分辨率很低、像素占比少,因此目标检测网络提取到的有效信息是非常有限的。(2)输入图像通过卷积神经网络多次下采样后,会导致小目标的信息损失严重。(3)缺少大规模的小目标检测数据集,目前目标检测领域的常用数据集(如 SUN、PASCAL VOC、ImageNet等)大多是针对中型、大型尺度的目标进行检测。针对上述问题,国内外研究者提出了相应的改进方法,如:数据增强、多尺度特征融合和超分辨率等。

      首先,数据增强是一种有效的改进技巧,可以通过数据增强来增加小目标的样本数量。Kisanta 等人提出使用过采样和增强方法,先调整小目标的尺度(缩放范围是±20%)和位置(旋转范围是±15%),再复制小目标,然后将小目标粘贴到新位置并确保新粘贴的位置不与现有目标重叠,以此增加图像中小目标的数量。此外,YOLOv4中的 Mosaic 数据增强方法,也增加了小目标在训练集中的样本数量。

     其次,大多数目标检测方法都是利用卷积神经网络进行特征提取,而卷积神经网络大多采用的是最顶端的高层特征。小目标固有的分辨率低,经过多次下采样后特征图持续不断减小,导致小目标的细节信息丢失严重。多尺度特征融合方式的提出有效缓解了这一现象,在计算量消耗不大的同时增强了特征的表达能力,提高小目标检测的效果。FPN(特征金字塔网络)是典型的多尺度融合结构,它利用自上而下的路径和横向连接,将高分辨率的低层特征与丰富语义信息的高层特征进行融合,后来一些基于 FPN 的改进算法应运而生。

      最后,采用超分辨技术也是一种提高小目标检测精度的有效方法。感知生成对抗网络(Perceptual GAN)将生成对抗网络(GAN)应用于超分辨率技术上,挖掘小目标与常规目标之间的结构关联。感知生成对抗网络通过学习小目标与常规目标之间的映射关系,缩小不同尺度目标之间的特征差异,使小目标与常规目标有相似的特征表示,以达到提升小目标检测效果的目的。此后,也出现了一些其他基于 GAN 网络的改进方法,如 MTGAN。GAN 网络的优势在于,能够生成小目标特征相对明显且分辨率高的图像,从而对数据集进行一定的补充。

      综上,目前目标检测的主流算法是基于深度学习的,提升小目标检测的精度可以通过数据增强、多尺度融合、超分辨技术等方式。受到前人研究成果的启发,本文提出的改进算法利用 Mosaic 数据增强、多尺度特征融合方法,在 YOLOv5 目标检测算法基础之上,进行了一系列的改进。以 YOLOv5s 和 YOLOv5m 为基准,我们的改进算法在提升中、小型目标检测精度的同时,也基本维持了推理速度。

相关文章
|
16天前
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
72 5
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
68 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
4月前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能农业病虫害检测与防治
使用Python实现深度学习模型:智能农业病虫害检测与防治
281 65
|
3月前
|
机器学习/深度学习 监控 自动驾驶
深度学习中的2D目标检测
2D目标检测是深度学习中的一个关键任务,旨在识别图像中的目标对象,并在每个目标对象周围生成一个边界框。该任务在自动驾驶、视频监控、机器人视觉等领域具有广泛应用。
75 5
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能质量检测与控制
使用Python实现深度学习模型:智能质量检测与控制 【10月更文挑战第8天】
263 62
使用Python实现深度学习模型:智能质量检测与控制
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
使用Python实现智能食品质量检测的深度学习模型
使用Python实现智能食品质量检测的深度学习模型
126 1
|
1月前
|
机器学习/深度学习 搜索推荐 安全
深度学习之社交网络中的社区检测
在社交网络分析中,社区检测是一项核心任务,旨在将网络中的节点(用户)划分为具有高内部连接密度且相对独立的子群。基于深度学习的社区检测方法,通过捕获复杂的网络结构信息和节点特征,在传统方法基础上实现了更准确、更具鲁棒性的社区划分。
76 7
|
1月前
|
机器学习/深度学习 传感器 算法
行人闯红灯检测:基于计算机视觉与深度学习的智能交通解决方案
随着智能交通系统的发展,传统的人工交通违法判断已难以满足需求。本文介绍了一种基于计算机视觉与深度学习的行人闯红灯自动检测系统,涵盖信号灯状态检测、行人检测与跟踪、行为分析及违规判定与报警四大模块,旨在提升交通管理效率与安全性。
|
2月前
|
机器学习/深度学习 运维 监控
深度学习之异常检测
基于深度学习的异常检测是一项重要的研究领域,主要用于识别数据中的异常样本或行为。异常检测广泛应用于多个领域,如网络安全、金融欺诈检测、工业设备预测性维护、医疗诊断等。
175 2
|
2月前
|
机器学习/深度学习 传感器 数据采集
深度学习之设备异常检测与预测性维护
基于深度学习的设备异常检测与预测性维护是一项利用深度学习技术分析设备运行数据,实时检测设备运行过程中的异常情况,并预测未来可能的故障,以便提前进行维护,防止意外停机和生产中断。
103 1