【机器学习】目标检测(2)
2020-12-19 本文已影响0人
章光辉_数据
1、数据集
目标检测常用数据集:VOC
PASCAL VOC 挑战赛 ( The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛。PASCAL 全称:Pattern Analysis, Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。很多模型都基于此数据集推出,比如目标检测领域的 yolo, ssd 等等。
数据集结构如下所示:
.
├── Annotations # xml 文件,用于描述图片信息
├── ImageSets # 该目录下存放的都是 txt 文件,每一行包含一个图片的名称,末尾会加上 ±1 表示正负样本
│ ├── Action # 有关人的动作的数据
│ ├── Layout # 有关人体部位的数据
│ ├── Main # 20类图像物体识别的数据
│ └── Segmentation # 可用于分割的数据
├── JPEGImages # jpg 图片
├── SegmentationClass # png 图片,用于图像语义分割相关
└── SegmentationObject # png 图片,用于图像实例分割相关
关于数据集的更多介绍可见 Pascal Voc 数据集详细分析
2、锚框 / 先验框
目标检测任务,包含“物体分类”和“物体定位”两个子任务。其中,物体定位任务的最终目标,就是在图片上生成一个能够框住目标物体的矩形框。
那么问题来了,这样的一个框要怎么生成?框的位置、大小要如何定义?事实上,一个长宽分别有 x 和 y 个像素的图片上,共可以生成 个不同的矩形框。其中很多矩形框的差异很小,遍历所有可能性的意义不大。
而 anchor(锚框)或者叫 prior bounding box (先验框),就是来解决这个问题的。其中 anchor 是 Faster RCNN 中的称呼,prior bounding box 是 SSD 中的称呼,两者是一个概念。下面统一用先验框来表示。
未完待续。。。。