[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




相关文章
|
1月前
|
前端开发 PyTorch 算法框架/工具
【基础实操】借用torch自带网络进行训练自己的图像数据
【基础实操】借用torch自带网络进行训练自己的图像数据
38 0
【基础实操】借用torch自带网络进行训练自己的图像数据
|
机器学习/深度学习 数据采集 人工智能
Xception算法解析-鸟类识别实战-Paddle实战
今天详解以下Xception算法,同时应用它做一个鸟类识别。由于Xception模型在极大的减少了网络参数量和计算复杂度的同时,可以保持卓越的性能表现。因此,Xception模型已经被广泛地应用与图像分类、目标检测等任务中。 本次实战案例就是一个典型的图像分类。
157 0
|
机器学习/深度学习 编解码 监控
小目标Trick | Detectron2、MMDetection、YOLOv5都通用的小目标检测解决方案
小目标Trick | Detectron2、MMDetection、YOLOv5都通用的小目标检测解决方案
459 0
|
机器学习/深度学习 并行计算 计算机视觉
改进YOLO | 可能这才是用Transformer正确打开YOLO的方式吧?
改进YOLO | 可能这才是用Transformer正确打开YOLO的方式吧?
287 0
|
计算机视觉
又改ResNet | 重新思考ResNet:采用高阶方案的改进堆叠策略(附论文下载)(二)
又改ResNet | 重新思考ResNet:采用高阶方案的改进堆叠策略(附论文下载)(二)
85 0
|
机器学习/深度学习 算法框架/工具 计算机视觉
又改ResNet | 重新思考ResNet:采用高阶方案的改进堆叠策略(附论文下载)(一)
又改ResNet | 重新思考ResNet:采用高阶方案的改进堆叠策略(附论文下载)(一)
185 0
|
编解码 并行计算 算法
MMdetection框架速成系列 第01部分:学习路线图与步骤+优先学习的两个目标检测模型代码+loss计算流程+遇到问题如何求助+Anaconda3下的安装教程(mmdet+mmdet3d)
Tip:目前 MMDetection 实现的算法中主要包括 one-stage 和 two-stage 算法,而 two-stage 算法可以简单认为是 one-stage + pool + one-stage 步骤。
690 0
|
机器学习/深度学习 人工智能 PyTorch
|
机器学习/深度学习 算法
Paddle图神经网络-学习笔记(二)
Paddle图神经网络-学习笔记(二)
84 0
Paddle图神经网络-学习笔记(二)
|
机器学习/深度学习 算法 图计算
Paddle图神经网络-学习笔记(一)
Paddle图神经网络-学习笔记(一)
193 0
Paddle图神经网络-学习笔记(一)