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

深度学习-物体检测YOLO(You only look once)

目录

一:YOLO算法的网络结构

 流程

1.图像分割

2.图片在网格中的处理

3.非极大值抑制

二:训练

三:分类误差

 四:与Faster R-CNN对比


一:YOLO算法的网络结构

GooleNet+4个卷积+2个全连接层

 流程

输入原始图片resize到448x448,经过卷积网络之后讲图片输出成了一个7x7x30的结构

步骤;

1.输入一个图片,将整个图片划分为SxS的网格

2.对于每个网格,我们都预测B个边框(与前几章说的候选框相似,这里是对每个网格)

3.进行NMS筛选,筛选每个边框的概率以及每个边框的loU(交并比)

4.剔除概率低的和loU小的边框

1.图像分割

yolo的cnn网络将输入的图片分割成SxS网格,然后每个单元格负责去检测哪些中心点落在该格子内的目标,可以看到狗这个目标的中心点落在左下角一个单元内,那么该单元格负责预测这个狗。

分割流程:在输入的图片上放一个N*N的网格,那么图片就被分为了N*N

1.使用图像分类和定位算法(image classification and Localization algorithm)然后将算法应用到N*N格子上

2.然后对每个小网格定义一个5+k(k为预测类别个数)维向量的目标标签

3.yolo算法使用的是取目标对象边框中心点的算法,即考虑边框的中心点在哪个格子中

2.图片在网格中的处理

每个单元格会预测B个边界框(bounding bbox)以及边框的置信度。置信度指的是边界框含有目标的可能性大小(object)和边界框的准确度(IOUtruthpred),准确度是用预测框与实际框的loU(交并比)计算的。置信度计算为:object*IOUtruthpred。

每个边界框的大小和位置使用4个值来表示:(x,y,w,h),x,y是边界框的中心坐标,而w和h是边界框的宽和高。中心坐标的预测值x,y是相对于每个单元格左上角坐标点的偏移值,并且单位是相对于单元格大小的。而边界框的w和h预测值是相对于整个图片的宽与高的比例。

分类问题:对于每一个单元个还要给出预测类别的概率值,由该单元格复杂预测的边界框目标属于各个类别的概率。但这些概率值是在各个边界框置信度下的条件概率classi object。把类别概率预测值与边界框类别置信度计算出来后相乘。边界框类别置信度表示的是该边界框中目标属于各个类别的可能性大小以及边界框匹配目标的好坏。

3.非极大值抑制

从所以的检测框中找到置信度最大的那个框,然后和其他的框计算IOU,如果计算的值小于某一个阈值,就剔除。

二:训练

1.数据预处理。数据预处理旨在增强训练数据多样性,进而提升检测网络的检测能力。常用的数据增强手段有翻转、缩放、均值归一化和色调变化等

2.检测网络。检测网络一般包括基础骨干、特征融合及预测网络3部分。目标检测器的基础骨干通常采用用于图像分类的深度卷积网络,如AlexNet 、VGGNet、ResNet和DenseNet等。近期,研究人员开始采用基于Transformer的基础骨干网络,如ViT(vision transformer)、Swin和PVT(pyramid vision transformer)等。通常将大规模图像分类数据库ImageNet上的预训练权重作为检测器骨干网络的初始权重

特征融合主要是对基础骨干提取的特征进行融合,用于后续分类和回归。常见的特征融合方式是特征金字塔结构。

最后,预测网络进行分类和回归等任务。在两阶段目标检测方法中,分类和回归通常采用全连接的方式,而在单阶段的方法中,分类和回归等通常采用全卷积的方式。与此同时,检测器通常还需要一些初始化,如锚点框初始化、角点初始化和查询特征初始化等。

3.标签分配与损失计算。标签分配主要是为检测器预测提供真实值。在目标检测中,标签分配的准则包括交并比(intersection over union,IoU)准则、距离准则、似然估计准则和二分匹配等。交并比准则通常用于基于锚点框的目标检测方法,根据锚点框与物体真实框之间的交并比将锚点框分配到对应的物体。距离准则通常用于无锚点框的目标检测方法,根据点到物体中心的距离将其分配到对应的物体。似然估计准则和二分匹配通常基于分类和回归的联合损失进行最优标签分配。基于标签分类的结果,采用损失函数计算分类和回归等任务的损失,并利用反向传播算法更新检测网络的权重。常用的分类损失函数有交叉熵损失函数、聚焦损失函数等,而回归损失函数有L1损失函数、平滑L1损失函数、交并比IoU损失函数、GIoU (generalized IoU)损失函数(Rezatofighi等,2019)和CIoU(complete-IoU)损失函数等

三:分类误差

 四:与Faster R-CNN对比

Faster R-CNN利用RPN网络与真实值调整了候选区域,然后再进行候选区域和卷积特征结果映射的特征向量的处理来通过与真实值优化网络预测结果。而这两步在YOLO当中合并成了一个步骤,直接网络输出预测结果进行优化。  所以经常也会称之为YOLO算法为直接回归法代表。YOLO的特点就是快

优点:速度块

缺点:1.准确率不高,YOLO对相互靠的很近的物体(挨在一起且中点都落在同一个格子上的情况),还有很小的群体检测效果不好,这是因为一个网格中只预测了两个框


http://www.kler.cn/news/305882.html

相关文章:

  • 【SQL】百题计划:SQL对于空值的比较判断。
  • Linux学习笔记8 理解Ubuntu网络管理,做自己网络的主人
  • 一家电子元件企业终止,业绩规模小,疑似通过收购调节收入利润
  • 大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
  • windows 安全与网络管理问题
  • 【人工智能学习笔记】6_自然语言处理基础
  • 借老系统重构我准备写个迷你版apiFox
  • <Linux> 进程间通信
  • 医疗机构关于DIP/DRG信息化建设
  • 【linux】cat 命令
  • 什么是MIPI接口?MIPI相机是如何工作的?
  • 算法_优先级队列---持续更新
  • mysql组合键唯一
  • HTTP 四、HttpClient的使用
  • 一文带你全面了解RAID技术:从基础到进阶的全景解析
  • 大厂硬件梦:字节、腾讯“向首”,华为、小米“向手”
  • 设计模式之建造者模式(通俗易懂--代码辅助理解【Java版】)
  • MSYS vs MSYS2:功能、兼容性与易用性全面比拼,助你挑选最佳Windows开发伴侣
  • SpringBoot集成Thymeleaf模板引擎,为什么使用(详细介绍)
  • 【CSS in Depth 2 精译_031】5.3 Grid 网格布局的两种替代语法
  • TCP Analysis Flags 之 TCP ZeroWindow
  • 【机器学习】7 ——k近邻算法
  • npm install报错,gyp verb `which` failed Error: not found: python
  • 第十六节:学习Springboot 的自定义资源路径(自学Spring boot 3.x的第四天)
  • 鸿蒙之Hello Word 遇坑总结 mac系统 不能预览 提示 Only files in a module can be previewed 解决办法
  • [Mdp] lc3290. 最高乘法得分(二维dp+状态定义+状态转移+LCS问题+好题+周赛415_2)
  • 网络原理(3)—— 应用层、传输层(TCP)
  • ArcGIS Pro SDK (十三)地图创作 4 设备
  • Qt 学习第十天:标准对话框 页面布局
  • Windows11 WSL2的ubuntu 22.04中拉取镜像报错