深度学习:YOLO目标检测和YOLO-V1算法损失函数的计算

简介

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置。

YOLO算法将输入图像分成SxS个网格,每个网格负责预测该网格内是否存在目标以及目标的类别和位置信息。此外,YOLO算法还采用了多尺度特征融合的技术,使得算法能够在不同尺度下对目标进行检测。 相比于传统的目标检测算法,如R-CNN、Fast R-CNN和Faster R-CNN等,YOLO算法具有更快的检测速度和更高的准确率。这得益于其端到端训练方式和单阶段检测的特性,使其可以同时处理分类和定位任务,避免了传统方法中的多阶段处理过程。因此,YOLO算法广泛应用于实时目标检测和自动驾驶等领域。

one-stage的优缺点:

优点:识别速度非常快,适合做实时检测任务

缺点:正确率相比较低

two-stage的优缺点:

优点:正确率比较高,识别效果理想

缺点:识别速度比较慢,通常达到5FPS

两阶段目标检测器是一种先生成候选框,然后对候选框进行分类和回归的检测方法。

这种方法主要包括两个阶段:

第一阶段:生成候选框。该算法从输入图像中生成多个候选框。每个候选框都会经过一个CNN模型进行特征提取,然后通过分类器进行过滤,保留与目标物体更相似的候选框。

第二阶段:在保留的候选框上进行精细的分类和回归。这个阶段通常使用另一个CNN模型或类似SVM的分类器来进行分类和回归。对于每个候选框,可能需要预测物体的类别、位置和大小等。 代表性的两阶段目标检测器包括R-CNN系列,以及其改进版本Fast R-CNN、Faster R-CNN和Mask R-CNN等。

Map指标

根据不同的阈值,绘制出召回率和精确率的曲线,将曲线以下的面积作为MAP值。当MAP值越大,则表示指标越好 。

网络架构

网络结构借鉴了 GoogLeNet 。24个卷积层,2个全链接层。(用1×1 reduction layers 紧跟 3×3 convolutional layers 取代Goolenet的 inception modules )

7×7意味着7×7个grid cell,30表示每个grid cell包含30个信息,其中2个预测框,每个预测框包含5个信息(x y w h c),分别为中心点位置坐标,宽高以及置信度,剩下20个是针对数据集的20个种类的预测概率。其中坐标的x,y用对应网格的归一化到0-1之间,w,h用图像的width和height归一化到0-1之间。

Yolo系列 v1 损失函数

YOLO-V1算法最后输出的检测结果为7x7x30的形式,其中30个值分别包括两个候选框的位置和有无包含物体的置信度以及网格中包含20个物体类别的概率。那么YOLO的损失就包括三部分:位置误差,confidence误差,分类误差。

i为第几个分格,j为预选框(总共两种)

i=30,j=1(1代表黄色的框,2代表蓝色的框)

位置误差

x,y为中心点坐标,w,h为预选框的长和宽

i=30时候为1,其他时候为0

i=30,j=1时候为1,其他时候为0

i=30,j=1时候为0,其他时候为1

confidence误差

置信度

c=Pr(Object)*lou

边界框内是否存在物体(Pr(Object)),以及边界框与真实物体的匹配程度(IOU)

分类误差

非极大值抑制(Non-Maximum Suppression,NMS)

目标检测中常用的一种技术,其主要作用是去除可能小的的检测框,只保留最有可能包含目标物体的框,从而提高检测的准确性和效率。

YOLO V1存在的优缺点:

优点

  1. 实时性
  2. 网络结构简单
  3. 多对象检测
  4. 泛化能力

缺点

  1. 定位精度
  2. 召回率低
  3. 对小目标检测不佳
  4. 每个cell只能生成有限的框
相关推荐
2501_9416233219 分钟前
人工智能赋能智慧农业互联网应用:智能种植、农业数据分析与产量优化实践探索》
大数据·人工智能
不爱吃糖的程序媛26 分钟前
华为 CANN:昇腾 AI 的异构计算架构核心与开源生态解析
人工智能·华为·架构
Yue丶越30 分钟前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
AKAMAI1 小时前
从客户端自适应码率流媒体迁移到服务端自适应码率流媒体
人工智能·云计算
jinxinyuuuus1 小时前
GTA 风格 AI 生成器:跨IP融合中的“视觉语义冲突”与风格适配损失
人工智能·网络协议
如何原谅奋力过但无声1 小时前
TensorFlow 1.x常用函数总结(持续更新)
人工智能·python·tensorflow
翔云 OCR API1 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
小白程序员成长日记1 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
咚咚王者1 小时前
人工智能之数据分析 numpy:第十三章 工具衔接与迁移
人工智能·数据分析·numpy
有一个好名字1 小时前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏