• 基于深度学习的YOLO目标检测研究-附Matlab代码


    ✳️ 一、引言

    目标检测是计算机视觉中的一个研究热点,在很多领域都有应用需求,例如监控安全、自动驾驶、交通监控和机器人视觉等场景。目标检测一般是检测一些预定义类别的目标实例(例如人和车等)。

    传统目标检测依赖精巧的手工特征设计与提取,例如方向梯度直方图(Histogram of Oriented Gradient, HOG)。2012年,基于深度卷积神经网络(Convolutional Neural Network, CNN)的AlexNet以显著优势夺得ImageNet图像识别比赛冠军,从此深度学习开始受到广泛的关注。目标检测也逐步进入深度学习时代。

    基于深度学习的目标检测依据检测方式被分为两类:两阶段检测和单阶段检测,前者是一个“从粗到细”的过程;而后者端到端“一步完成”。通常,两阶段检测的定位和目标识别精度较高,单阶段检测速度较快。

    通常,单阶段检测尝试直接将每个感兴趣区域分类为背景或目标对象。即只通过一个阶段便可直接给出物体的类别概率和位置坐标值。典型代表有YOLO(You Only Look Once)等。

    2015年的YOLOv1直接将图像划分为若干区域,并同时预测每个区域的边界框和概率,检测速度得到极大提高。但与当时的两阶段检测器相比,定位精度有所欠缺,特别是对小目标。

    YOLO是一种先进的单阶段目标检测框架,经历了v1~v4的演变,到目前为止已发展到结合传统压缩感知的YOLOR(You Only Learn One Representation)和不依赖锚框的YOLOX。

    ✳️ 二、YOLO的基本思想

    YOLOv1的基本框架如图1所示,首先调整输入图片大小到448×448,送入CNN提取特征,然后处理网络预测结果,实现端到端的目标检测。

    YOLOv1放弃传统的滑动窗口技术,其CNN将输入图片划分成 网格,然后每个单元格负责去检测那些中心点落在该网格内的目标,每个单元格会预测 个边界框及边界框的置信度。置信度包含该边界框含有目标的可能性大小和该边界框的准确度。每个边界框预测5个元素:(x,y,w,h,c),分别表示边界框的位置、大小与置信度。每个单元格预测(B*5+C)个值,其中C为类别数。之后利用非极大值抑制(Non-Maximum Suppression, NMS)算法进行网络预测。

    在这里插入图片描述

    图1 YOLOv1的网络结构[1]

    ✳️ 三、实验验证

    基于深度学习的YOLO车辆目标检测结果如下图所示。

    请添加图片描述

    ✳️ 四、参考文献

    [1] 邵延华, 张铎, 楚红雨, et al. 基于深度学习的YOLO目标检测综述 [J]. 电子与信息学报, 2022, 44(10): 3697-708.

    ✳️ 五、Matlab代码获取

    上述结果由Matlab代码实现,可私信博主获取。


    博主简介:研究方向涉及智能图像处理、深度学习、卷积神经网络等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


  • 相关阅读:
    赛码系统——根据文件生成时间先后顺序对文件进行排序
    来用Vite+React快速开发浏览器插件
    paddleocr安装与图片识别快速开始
    pytorch-textsummary,中文文本摘要实践
    Advanced .Net Debugging 9:平台互用性
    SpringWeb 拦截器
    深度循环神经网络
    如何处理前端本地存储和缓存
    2010-2021年北大中国商业银行数字化转型指数数据(第三期)
    【Flink】设置了watermark,没有使用watermark触发窗口计算
  • 原文地址:https://blog.csdn.net/m0_70745318/article/details/128055806