当前位置: 首页 > news >正文

【目标检测算法】YOLO-V1~V3原理梳理

文章目录

  • one-stage 与 tow-stage
  • 评价指标
  • YOLO算法整体思路解读
    • YOLO-V1
    • YOLO-V2
    • YOLO-V3

one-stage 与 tow-stage

在这里插入图片描述

本篇博客主要介绍经典检测方法中的one-stage(单阶段),在这里给自己埋个坑,整理完Yolo再去搞tow-stage。

one-stage:tow-stage
速度非常快适合做实时检测任务效果通常还是不错的
效果通常情况下不会太好速度通常较慢(5FPS)

评价指标

准确率、精确率、召回率、F1值、ROC/AUC整理笔记

回顾准确率、精确率、召回率
1.准确率(Accuracy) ,顾名思义,就是所有的预测正确(正类负类)的占总的比重。

2.精确率(Precision),查准率。即正确预测为正的占全部预测为正的比例。个人理解:真正正确的占所有预测为正的比例。

3.召回率(Recall),查全率。即正确预测为正的占全部实际为正的比例。个人理解:真正正确的占所有实际为正的比例。

我觉得这里利用医生看病更好理解。医院来了一个人,医生判断其是否患病(患病为正类),若其患病被检查有病,即为TP(True Positives),患病被查无病,即为FN(False Negatives),未患病被检查有病,即为FP(False Positives),未患病被查无病,即为TN(True Negatives)。

可以看到在这例子中,首先定义了正类(患病),第一个字母是T则代表分类正确,反之分类错误;然后看P,在T中则是正类,在F中则实际为负类分成了正的。若为N,在T中则为负类,在F中则为正类。(类似负负得正)

精确率 (Precision):你诊断的病人中,有多少是真的病人(准确度是多高)。
召回率 (Recall):该类病人有多少被找出来了(召回了多少)。

4.IOU交并比

在这里插入图片描述
下图为例,综合衡量检测效果;单看精度和recall是不行的。
虽然准确率很高,但是查全率(召回率)很低,即露漏检的有很多。在这里插入图片描述

Precision: TP / (TP + FP) 模型预测的所有目标中,预测正确的比例 (查准率)
Recall: TP / (TP + FN) 所有真实目标中,模型预测正确的目标比例 (查全率)
TP: True Positive, IoU>0.5的检测框数量(同一Ground Truth只计算一次)
FP: False Positive, IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
FN: False Negative, 没有检测到的GT的数量

5.mAP指标:(mean Average Precision) 在这里插入图片描述

目标检测测评指标——mAP

YOLO算法整体思路解读

YOLO-V1

在这里插入图片描述
YOLO相较与Faster R-CNN相比有更高的FPS值,意味着可以更快的处理图片,可以应用于视频中的实时检测。
在这里插入图片描述

在这里插入图片描述
将图片划分为S×S的格子,每个格子生成两个候选框(x,y,w,h),基于与原图片中标注的实际框做IOU,进而做筛选和微调(即回归)。当然,不是每个框都做微调,在此之前,网络会基于置信度来选择实际有物体的格子。

在这里插入图片描述
输入4484483的图片,经过一系列卷积池化提取特征后,输出771024的特征向量,经过2全连接层和reshape成7730的图片。7*7是图片中的格子数,30是每一个格子中占有的数据。

在7730的图片中,在每个格子上生成2个预选框B1(x1,y1,w1,h1,c1)和B2(x2,y2,w2,h2,c2),一共5*2个数据,同时会对目标进行预测分类。一共有20个分类目标。

在这里插入图片描述
在这里插入图片描述
位置损失中,对宽和高加根号限制,即希望网络对小物体更敏感,对大物体减小敏感性。

在不含object的置信度误差中,加入了权重(例如:0.1)来告诉网络,背景的误差相较于物体的误差微不足道。

在这里插入图片描述
针对一个物体上有多个框,我们选择IOU最大的框,把其他框过滤除去。

YOLOV1中存在的问题:

  • 无法处理重叠的物体的识别。
  • 小物体检测不到。
  • 多标签问题无法解决。
    在这里插入图片描述

YOLO-V2

在这里插入图片描述

在这里插入图片描述

批归一化(Batch Normalization)详解

批归一化简称BN,是由Google于2015年提出,这是一个深度神经网络训练的技巧,它不仅可以加快了模型的收敛速度,而且更重要的是在一定程度缓解了深层网络中“梯度弥散(特征分布较散)”的问题,从而使得训练深层网络模型更加容易和稳定。所以目前BN已经成为几乎所有卷积神经网络的标配技巧了。

在这里插入图片描述

在这里插入图片描述
全连接层缺点:训练参数大而且容易过拟合。
5次降采样,最终输出图片的尺寸是原图片宽和高除以32。并且希望最终的输出图片是一个奇数的尺寸,这也方便确定中心点,不会出现一个物体四个中心点的场面。

在这里插入图片描述

在这里插入图片描述
先验框Anchor Box,由聚类得到的符合物体实际大小的框。即每个点预先生成的框。
在这里插入图片描述

在这里插入图片描述
坐标的映射与还原。V2改进在于,bx与by的确定经过sigmoid函数映射在0-1之间,再加上基准值(cx,cy),即为坐标点。而宽和高则由先验框Anchor Box经过公式得到。

在这里插入图片描述

在这里插入图片描述
2个卷积是5*5。

在这里插入图片描述
并且每一个卷积核后面加一个BN,可以有效防止过拟合。

在这里插入图片描述
较大的感受野可能只关注了大物体而忽略了小物体。如果在卷积到最后一步之前进行拆分(感受野较小)再与最终结果融合,则经过特征融合的改进后,网络可以做到大小通吃。
在这里插入图片描述

YOLO-V3

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主要阐述一件事情,大感受野的先验框需要融合到小感受野的先验框中。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
对每一个分类结果做二分类,判断是或不是。并在最终设置阈值,最终实现多标签分类。

相关文章:

  • 【Kafka】Docker安装kafka、搭建kafka集群
  • 4.【Linux虚拟机】创建自己的docker image并提供后端服务
  • 基于STFT和卷积神经网络的时序数据分类 代码+数据 可直接运行
  • 神经网络建模的适用范围,神经网络建模流程详解
  • 实名核验类API推荐
  • cmakelist.txt , cmake, makefile, make 【超快区分理解】
  • 【去雾论文阅读】Saturation Based Iterative Approach for Single Image Dehazing
  • 机器学习:详细推导序列最小优化SMO算法+Python实现
  • Flask 学习-20. route 路由中的 endpoint 参数
  • bp神经网络反向传播推导,bp神经网络的传递函数
  • Flask 学习-21. 项目配置通过.env环境变量启动开发/生产环境
  • 图像识别和机器视觉区别,比较两幅图像的相似度
  • Jetson Orin平台Jetpack5.0.2 VIFALC_TDSTATE问题调试
  • Elastic search的日期问题
  • DOM基础应用
  • 【5+】跨webview多页面 触发事件(二)
  • Angular 响应式表单之下拉框
  • download使用浅析
  • Javascript基础之Array数组API
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • REST架构的思考
  • SwizzleMethod 黑魔法
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 关于Flux,Vuex,Redux的思考
  • 看域名解析域名安全对SEO的影响
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 两列自适应布局方案整理
  • 如何进阶一名有竞争力的程序员?
  • 使用common-codec进行md5加密
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • AI算硅基生命吗,为什么?
  • const的用法,特别是用在函数前面与后面的区别
  • hi-nginx-1.3.4编译安装
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (ros//EnvironmentVariables)ros环境变量
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)ObjectiveC 深浅拷贝学习
  • (转)我也是一只IT小小鸟
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • . NET自动找可写目录
  • .NET MVC之AOP
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET分布式缓存Memcached从入门到实战
  • /etc/sudoer文件配置简析
  • @Bean, @Component, @Configuration简析
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [Android]通过PhoneLookup读取所有电话号码