Datawhale cv 目标检测笔记 day2

主要目标

  • 准备好Pytorch环境
  • 了解目标检测的一些基本概念,包括目标框的两种表示形式,IoU等
  • 下载好VOC数据集
  • 学习了解VOC数据集的格式,以及如何用代码读取VOC数据集,构建DataLoader

学习内容

分别对应《动手学CV-Pytorch》的3.1和3.2两节

  1. 目标检测基本概念
  2. 目标检测数据集VOC

我的基础

  1. 已经使用过pytorch进行目标检测项目并看过一些目标检测框架源码
  2. 熟悉目标检测基础原理,但需要巩固

笔记

  1. 用来表达bbox的格式通常有两种,(x1, y1, x2, y2) 和 (c_x, c_y, w, h),两者可以互相转换

  2. IOU交并比Intersection over union: 衡量框的重叠程度

  3. IOU的计算流程:
    Datawhale cv 目标检测笔记 day2

    1)获取两个框的左上和右下坐标(red_x1, red_y1),(red_x2, red_y2),(green_x1, green_y1),(green_x2, green_y2)

    2)计算左上点最大值,右下点最小值。这里注意左上第一个像素为(0,0),所以数值越大越向右下。

    3) 利用2中获得的两个点计算黄色矩形面积,这就是intersection。

    4)用3中获得的intersection加上两个矩形的面积之和减去intersection(因为这部分在面积和中算了两次),这就是Union了

  4. VOC主要信息: filename, size, depth, object([xmin,ymin,xmax,ymax])

  5. 文中提到xml的提取方法,这个很多地方有介绍,就不在这里记录了。

  6. 首先需要实例化PascalVOCDataset类得到train_dataset,然后将train_dataset传入torch.utils.data.DataLoader,进而得到train_loader。

  7. 文中最后介绍了VOC转换成dataloader和数据增强transform

上一篇:使Spring Boot 自定义注解支持EL表达式


下一篇:基于单片机的单行道红绿灯仿真