深度学习: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只能生成有限的框
相关推荐
码上掘金2 分钟前
基于YOLO与大语言模型的中医智能舌诊系统
人工智能·yolo·语言模型
大模型真好玩7 分钟前
LangGraph1.0速通指南(二)—— LangGraph1.0 条件边、记忆、人在回路
人工智能·langchain·agent
*星星之火*11 分钟前
【大白话 AI 答疑】第8篇 BERT与传统机器学习(如贝叶斯)在文本分类中的区别及效果对比
人工智能·机器学习·bert
前端小白在前进18 分钟前
力扣刷题:复原IP地址
tcp/ip·算法·leetcode
安徽正LU o561-6o623o718 分钟前
露-数显式脑立体定位仪 大动物定位仪 小动物脑定位仪
人工智能
andwhataboutit?21 分钟前
pytorch-CycleGAN-and-pix2pix学习
人工智能·pytorch·学习
渡我白衣25 分钟前
计算机组成原理(7):定点数的编码表示
汇编·人工智能·嵌入式硬件·网络协议·机器学习·硬件工程
vv_50126 分钟前
大模型 langchain-组件学习(中)
人工智能·学习·langchain·大模型
╭⌒若隐_RowYet——大数据26 分钟前
AI Agent(智能体)简介
人工智能·ai·agent
yaoh.wang31 分钟前
力扣(LeetCode) 94: 二叉树的中序遍历 - 解法思路
python·算法·leetcode·面试·职场和发展·二叉树·跳槽