神经网络与深度学习-屈桢深-学习笔记(第四周)

本文详细介绍了常用的数据集如MNIST、Fashion-MNIST、CIFAR-10等,以及目标检测中的关键概念、评价指标,重点探讨了YOLO的目标检测方法及其网络结构。
摘要由CSDN通过智能技术生成

数据集与目标检测

1、数据集与常用指标

1.1 数据集

1.1.1 MNIST

       MNIST数据集是由0〜9手写数字图片和数字标签所组成的,由60000个训练样本和10000个测试样本组成,每个样本都是一张28*28像素的灰度手写数字图片。原始的 MNIST 数据库一共包含下面 4 个文件:

①train-images-idx3-ubyte.gz,训练图像数据

②train-labels-idx1-ubyte.gz,训练图像的标注

③t10k-images-idx3-ubyte.gz,测试图像数据

④t10k-labels-idx1-ubtye.gz,测试图像的标注

1.1.2 Fashion-MNIST数据集

       FashionMNIST是一个替代MNIST手写数字集的图像数据集。 它是由Zalando旗下的研究部门提供,涵盖了来自10种类别的共7万个不同商品的正面图片。

        FashionMNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。

1.1.3 CIFAR-10数据集

        CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。

        数据集分为五个训练批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。

1.1.4 PASCAL VOC数据集

        PASCAL的全称是Pattern Analysis, Statistical Modelling and Computational Learning;VOC的全称是Visual Object Classes。PASCAL VOC数据集是目标分类(识别)、检测、分割最常用的数据集之一 ,常用的是 PASCAL 2012。

        PASCAL VOC数据集一共分成20类:person, bird, cat, cow, dog, horse, sheep, aeroplane, bicycle, boat, bus, car, motorbike, train, bottle, chair, dining table, potted plant, sofa, tv/monitor

1.1.5 MS COCO数据集

        PASCAL的全称是Microsoft Common Objects in Context,起源于微软于2014年出资标注的Microsoft COCO数据集。数据集以scene understanding为目标,主要从复杂的日常场景中截取。包含目标分类(识别)、检测、分割、语义标注等数据集。

        提供的标注类别有80 类,有超过33 万张图片,其中20 万张有 标注,整个数据集中个体的数目超过150 万个。

  • 人:1类;
  • 交通工具:8类,自行车,汽车等;
  • 公路常见:5类,信号灯,停车标志等;
  • 动物:10类,猫狗等;
  • 携带物品:5类,背包,雨伞等;
  • 运动器材:10类,飞盘,滑雪板,网球拍等;
  • 厨房餐具:7类,瓶子,勺子等;
  • 水果及食品:10类;
  • 家庭用品:7类,椅子、床,电视等;
  • 家庭常见物品:17类,笔记本,鼠标,遥控器等。

1.1.6 ImageNet数据集

        ImageNet数据集始于2009年,李飞飞与Google的合作: “ImageNet: A Large-Scale Hierarchical Image Database”。总图像数据为14197122,总类别数为21841,带有标记框的图像数1,034,908。

1.1.7 ISLVRC 2012子数据集

        ISLVRC 2012子数据集的训练集为1,281,167张图片+标签,类别数为1,000,验证集为50,000张图片+标签,测试集为100,000张图片。

1.2、评价指标

1.2.1 概念
  • True Positives(TP):被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数;
  • False Positives(FP):被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;
  • False Negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数;
  • True Negatives(TN):被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
1.2.2 混淆矩阵

P(精确率): 𝑇𝑃/(𝑇𝑃 + 𝐹𝑃),标识“挑剔”的程度。

R(召回率): 𝑇𝑃/(𝑇𝑃 + 𝐹𝑁)。标识“通过”的程度。召回率越高,准确度越低。

精度(Accuracy): (𝑇𝑃 + 𝑇𝑁)/(𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁)

1.2.3 P-R曲线

        P-R的关系曲线图,表示了召回率和准确率之间的关系。精度(准确率)越高,召回率越低。

1.2.4 AP计算

        均值平均准确率(mAP):

AP=\sum_{k=1}^{N}P(k)\Delta r(k)

        其中N代表测试集中所有图片的个数,P(k)表示在能识别出k个图片的时候Precision的值,而\Delta r(k)则表示识别图片个数从k-1变化到k时(通过调整阈值)Recall值的变化情况。

        每一个类别均可确定对应的AP。多类的检测中,取每个类AP的平均值,即为mAP。

2、目标检测与YOLO

2.1 目标检测问题

        目标检测是在给定的图片中精确找到物体所在位置,并标注出物体的类别。物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,并且物体还可以是多个类别。

        目标检测问题的发展为:R-CNN、SPP NET、Fast R-CNN、Faster R-CNN、YOLO。

2.2 YOLO基本思想

2.2.1 滑动窗口

        滑动窗口简单而言就是维护一个窗口,不断滑动,然后更新答案。

        滑动窗口存在滑动次数太多计算满、目标大小不同使得每一个滑动需要很多框等缺点。针对滑动窗口改进的思路为:

  • 两步法(Region Proposal):一般图片中,大多数位置都不存在目标。可以确定那些更有可能出现目标的位置,再有针对性的用CNN进行检测;
  • 一步法(YOLO):由于两步法仍然很费时,因此进一步减少出现目标的位置,而且将目标分类检测和定位问题合在一个网络里。

2.2.2 一步法基本思想
  • 只检测一类,变为简单的二分类问题。
  • 若要知道目标的大小和未知,将分类问题扩展为回归+分类问题。
  • 若多个框里有一个目标,取目标中心点所在框;若一个框里有多个,暂不能解决。
  • 多类目标使用独热编码扩展类别数。

2.3 YOLO网络

2.3.1 YOLO网络结构

        YOLO的网络结构包含24个卷积层和2个全连接层;其中前20个卷积层用来做预训练,后面4个是随机初始化的卷积层,和2个全连接层。

2.3.2 YOLO模型处理

        YOLO v1在PASCAL VOC数据集上进行的训练,因此输入图片为448×448×3。实际中如为其它尺寸,需要resize或切割成要求尺寸。

        YOLO的模型处理是进行7×7的网格划分。将图片分割为S^{2}个grid(S= 7),每个grid cell的大小都是相等的,每个格子都可以检测是否包含目标。YOLO v1中,每个格子只能检测一种物体(但可以不同大小)。

        YOLO网络的输出是一个7×7×30的张量,对应7×7个cell。每个cell对应2个包围框(bounding box, bb),预测不同大小和宽高比,对应检测不同目标。每个bb有5个分量,分别是物体的中心位置(x,y)和它的高(h)和宽(w),以及这次预测的置信度。在下图中,每个框代表1个预测的bb,粗细代表不同的置信度,越粗得越高。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值