[Paddle2.0学习之第三步]目标检测(上)理论

简介: [Paddle2.0学习之第三步]目标检测(上)理论

[Paddle2.0学习之第三步]目标检测(上)

目标检测的主要目的是让计算机可以自动识别图片或者视频帧中所有目标的类别,并在该目标周围绘制边界框,标示出每个目标的位置


相比上一章节的图像分类,目标检测针对的是图中物体。


白话:图像分类是看图片属于什么类别,目标检测是看图片有什么东西,那个东西在哪里16a84e4c3e27a27901ce2eef08a0c516.png


边界框(bounding box)

检测任务需要同时预测物体的类别和位置,因此需要引入一些跟位置相关的概念。


通常使用边界框(bounding box,bbox)来表示物体的位置,边界框是正好能包含物体的矩形框,如上面的右图所示,图中3只斑马分别对应3个边界框。


通常有两种格式来表示边界框的位置:

  1. x1y1x2y2 即
    每个框的左上角和右下角坐标。
  2. xywh 即
    每个框的中心点和框的长和宽。


ps:图片坐标的原点在左上角,x轴向右为正方向,y轴向下为正方向。


锚框(Anchor box)

锚框与物体边界框不同,是由人们假想出来的一种框。

先设定好锚框的大小和形状,再以图像上某一个点为中心画出矩形框。

在下图中,以像素点[300, 500]为中心可以使用下面的程序生成3个框,如图中蓝色框所示,其中锚框A1跟人像区域非常接近。

43a284f2fcebc5debd5d69a16a9d870c.png

在目标检测任务中,通常会以某种规则在图片上生成一系列锚框,将这些锚框当成可能的候选区域。模型对这些候选区域是否包含物体进行预测,如果包含目标物体,则还需要进一步预测出物体所属的类别。还有更为重要的一点是,由于锚框位置是固定的,它不大可能刚好跟物体边界框重合,所以需要在锚框的基础上进行微调以形成能准确描述物体位置的预测框,模型需要预测出微调的幅度。在训练过程中,模型通过学习不断的调整参数,最终能学会如何判别出锚框所代表的候选区域是否包含物体,如果包含物体的话,物体属于哪个类别,以及物体边界框相对于锚框位置需要调整的幅度。


不同的模型往往有着不同的生成锚框的方式。


交并比 Iou

微信截图_20230214161005.png

这个比值越大越好


为了直观的展示交并比的大小跟重合程度之间的关系,下图示意了不同交并比下两个框之间的相对位置关系,从 IoU = 0.95 到 IoU = 0.


ede3710f0ed0daa46ea228604d99f0f3.png看完是不是直接就懂了QwQ




相关文章
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
114 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
2月前
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
154 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
RT-DETR原理与简介(干翻YOLO的最新目标检测项目)
RT-DETR原理与简介(干翻YOLO的最新目标检测项目)
|
7月前
|
前端开发 PyTorch 算法框架/工具
【基础实操】借用torch自带网络进行训练自己的图像数据
【基础实操】借用torch自带网络进行训练自己的图像数据
85 0
【基础实操】借用torch自带网络进行训练自己的图像数据
|
机器学习/深度学习 算法 数据可视化
【Pytorch神经网络实战案例】15 WGAN-gp模型生成Fashon-MNST模拟数据
使用WGAN-gp模型模拟Fashion-MNIST数据的生成,会使用到WGAN-gp模型、深度卷积GAN(DeepConvolutional GAN,DCGAN)模型、实例归一化技术。
661 0
|
机器学习/深度学习 数据采集 人工智能
Xception算法解析-鸟类识别实战-Paddle实战
今天详解以下Xception算法,同时应用它做一个鸟类识别。由于Xception模型在极大的减少了网络参数量和计算复杂度的同时,可以保持卓越的性能表现。因此,Xception模型已经被广泛地应用与图像分类、目标检测等任务中。 本次实战案例就是一个典型的图像分类。
220 0
|
机器学习/深度学习 数据采集 PyTorch
我用 PyTorch 复现了 LeNet-5 神经网络(自定义数据集篇)!
详细介绍了卷积神经网络 LeNet-5 的理论部分和使用 PyTorch 复现 LeNet-5 网络来解决 MNIST 数据集和 CIFAR10 数据集。然而大多数实际应用中,我们需要自己构建数据集,进行识别。因此,本文将讲解一下如何使用 LeNet-5 训练自己的数据。
292 0
|
机器学习/深度学习 编解码 监控
小目标Trick | Detectron2、MMDetection、YOLOv5都通用的小目标检测解决方案
小目标Trick | Detectron2、MMDetection、YOLOv5都通用的小目标检测解决方案
642 0
|
机器学习/深度学习 并行计算 计算机视觉
改进YOLO | 可能这才是用Transformer正确打开YOLO的方式吧?
改进YOLO | 可能这才是用Transformer正确打开YOLO的方式吧?
314 0
|
机器学习/深度学习 编解码 自动驾驶
YOLO-Z | 记录修改YOLOv5以适应小目标检测的实验过程
YOLO-Z | 记录修改YOLOv5以适应小目标检测的实验过程
267 0