神经网络与深度学习-学习笔记(三)

算法评估
TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
FN: 被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
混淆矩阵


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

标识“通过”的程度
精度( Accuracy)::(𝑇𝑃+𝑇𝑁)/(𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁)

P-R 曲线

精度(准确率)越高 召回率越低

置信度与准确率:可以通过改变阈值也可以看作上下移动蓝色的虚线 来选择让系统识别能出多少个图片 当然阈值的变化会导致 Precision 与Recall 值发生变化 。 比如 把蓝色虚线放到第一张图片下面 也就是说让系统只识别出最上面的那张飞机图片 那么 Precision 的值就是 100 而 Recall 的值则是 20 。 如果把蓝色虚线放到第二张图片下面 也就是说让系统只识别出最上面的前两张图片 那么Precision 的值还是 100 而 Recall 的值则增长到是 40 。

AP计算
mAP :均值平均准确率


其中𝑁代表测试集中所有图片的个数, 𝑃(𝑘)表示在能识别出 𝑘个图片的时候Precision 的值,而 Δ𝑟(𝑘)则表示识别图片个数从 𝑘−1变化到 𝑘时(通过调整阈值)Recall 值的变化情况 。

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


目标检测问题发展
R-CNN
SPP NET
Fast R-CNN
Faster R-CNN
最终实现 YOLO
语义分割
FCN是目前广泛使用的基本语义分割网络

风格迁移
简介
如果你是一位摄影爱好者,也许接触过滤镜。它能改变照片的颜色样式,从而使风景照更加锐利或者令人像更加美白。但一个滤镜通常只能改变照片的某个方面。如果要照片达到理想中的样式,经常需要尝试大量不同的组合,其复杂程度不亚于模型调参。
在本节中,我们将介绍如何使用卷积神经网络自动将某图像中的样式应用在另一图像之上,即风格迁移。
这里我们需要两张输入图像,一张是内容图像,另一张是样式图像,我们将使用神经网络修改内容图像使其在样式上接近样式图像。

方法
首先,我们初始化合成图像,例如将其初始化成内容图像。该合成图像是样式迁移过程中唯一需要更新的变量,即样式迁移所需迭代的模型参数。
然后,我们选择一个预训练的卷积神经网络来抽取图像的特征,其中的模型参数在训练中无须更新。深度卷积神经网络凭借多个层逐级抽取图像的特征。我们可以选择其中某些层的输出作为内容特征或样式特征。
以之前放的图像为例,这里选取的预训练的神经网络含有3 个卷积层,其中第二层输出图像的内容特征,而第一层和第三层的输出被作为图像的样式特征。
接下来,我们通过正向传播(实线箭头方向)计算样式迁移的损失函数,并通过反向传播(虚线箭头方向)迭代模型参数,即不断更新合成图像。

样式迁移常用的损失函数由3 部分组成:

内容损失( content loss )使合成图像与内容图像在内容特征上接近
样式损失( style loss )令合成图像与样式图像在样式特征上接近
总变差损失( total variation loss )则有助于减少合成图像中的噪点。
最后,当模型训练结束时,我们输出样式迁移的模型参数,即得到最终的合成图像。
视觉应用展望
生成对抗网络
生成对抗网络(GANs, generative adversarial networks )是由 Ian Goodfellow 等人在 2014 年的 Generative Adversarial Networks 一文中提出。
模型通过框架中(至少)两个模块:生成模型(Generative Model )和判别模型( Discriminative Model )的互相博弈学习产生相当好的输出。
原始GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D。
一个优秀的GAN 应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。
生成对抗网络( 的初始原理十分容易理解,即构造两个神经网络,一个生成器,一个鉴别器,二者互相竞争训练,最后达到一种平衡 纳什平衡 。
GAN启发自博弈论中的二人零和博弈( two player game )GAN 模型中的两位博弈方分别由生成式模型( generativemodel,G )和判别式模型discriminative model,D )充当。

生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好。
判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据, D 输出大概率,否则, D 输出小概率。
大规模语言图象模型
Segment anything
演示网址: link
超 1100 万张照片, 1B+掩码

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


目标检测基本思想
目标基本思想包括以下几个步骤:

特征提取:首先,从输入的图像中提取特征。这些特征可以是图像的局部特征、全局特征或者是经过卷积神经网络(CNN)等深度学习模型提取的高级语义特征。这些特征应该能够充分表达图像中的信息,以便后续的目标分类和位置定位。
目标区域提议:接下来,需要确定可能包含目标的区域。这一步通常被称为区域建议(Region Proposal),其目标是生成一组候选区域,这些区域有很大可能包含感兴趣的目标。传统方法使用基于滑动窗口的技术或者基于图像分割的方法来生成候选区域,而深度学习方法通常使用区域提议网络(Region Proposal Network,RPN)来实现端到端的区域提议。
目标分类和位置回归:在获得候选区域后,每个区域都要经过目标分类和位置回归的步骤。目标分类是指识别每个候选区域中的目标类别,而位置回归则是调整候选区域的位置,以更准确地框定目标的位置。这一步通常使用卷积神经网络(CNN)或者其他深度学习模型来实现。
非极大值抑制:在目标分类和位置回归之后,通常会产生大量的重叠候选框和检测结果。为了去除冗余的检测结果,可以使用非极大值抑制(Non-Maximum Suppression,NMS)来筛选出最终的检测结果。NMS会保留具有最高得分的框,并且抑制与其重叠度高于一定阈值的其他框,以确保最终的检测结果准确且不重叠。
YOLO网络结构
YOLO网络结构概略图:

YOLO网络输入:
YOLO v1 在 PASCAL VOC 数据集上进行的训练,因此输入图片为448×448×3。实际中如为其它尺寸,需要 resize 或切割成要求尺寸。
YOLO模型处理: 𝟕×𝟕网格划分

YOLO网络输出


包围框与置信度
包围框:包围框是用来描述检测到的目标位置的矩形框。通常,每个包围框由四个值组成:(x, y, w, h),其中 (x, y) 是矩形框的中心坐标,(w, h) 是矩形框的宽度和高度。在YOLO中,这些值是相对于输入图像的宽度和高度进行归一化的。
YOLO算法会在图像上划分成网格,并且每个网格负责预测包含在该网格中的目标的包围框。每个网格预测多个包围框,但只有其中一部分包围框会被激活并用于预测目标。
置信度:置信度用来表示模型对该预测的可信程度。在YOLO中,置信度通常指的是该包围框中包含目标的概率以及目标的类别概率。
对于每个包围框,置信度是一个分数,表示模型认为该包围框中存在目标的概率。此外,对于每个包围框,还会伴随着一个类别置信度分数,表示该包围框中目标属于各个类别的概率。
损失函数
YOLO的损失函数可以分为三个部分:

目标位置损失(Localization Loss):目标位置损失用于衡量模型预测的包围框与真实包围框之间的差异。通常使用平方误差(如均方误差)来度量预测框的中心坐标和宽高的差异。位置损失的形式通常是预测的包围框与真实包围框之间的均方误差或者平方误差的和。即对于每个预测的包围框,计算其坐标和尺寸与真实标签的坐标和尺寸之间的差异,然后求和。
目标置信度损失(Confidence Loss):目标置信度损失用于衡量模型对目标存在的置信度的预测与实际情况之间的差异。通常使用逻辑回归损失函数来度量预测的置信度与真实标签之间的差异。对于每个预测的包围框,计算其预测的目标存在的概率(即置信度)与真实标签的目标存在的概率之间的差异,然后使用逻辑回归损失函数来度量。
分类损失(Classification Loss):分类损失用于衡量模型对目标类别的预测与实际目标类别之间的差异。通常使用交叉熵损失函数来度量预测的类别概率分布与真实标签的类别分布之间的差异。对于每个预测的包围框,计算其预测的目标类别概率分布与真实标签的类别分布之间的差异,然后使用交叉熵损失函数来度量。
综合以上三个部分,YOLO的总损失函数通常定义为这三个部分损失的加权和。通常,位置损失和置信度损失的权重会较大,以确保模型对目标位置和存在的准确性;而分类损失的权重相对较小,因为每个预测的目标可能并不一定需要被分类正确。

非极大抑制(NMS)
非极大值抑制(Non-Maximum Suppression,NMS)是一种常用的目标检测后处理技术,用于剔除检测结果中重叠较多的框,保留最具代表性的目标框。

NMS的基本思想是,在同一类别的目标检测结果中,首先选取置信度最高的框作为基准框,然后与其他检测结果进行比较,去除与基准框重叠度(通常是重叠面积与两个框面积的交集比例)高于设定阈值的框,重复这个过程直到所有框都被处理。
NMS的具体步骤包括:

排序:对检测结果按照其置信度进行排序,选择置信度最高的框作为基准框。
重叠度计算:计算其他框与基准框的重叠度,通常使用交并比(IoU,Intersection over Union)来衡量两个框的重叠程度,计算公式为重叠面积 / (框1面积 + 框2面积 - 重叠面积)。
剔除重叠框:对于与基准框重叠度高于设定阈值的其他框,将其从检测结果中剔除。
循环处理:重复以上步骤,直到所有的检测结果都被处理。
NMS的主要优势在于能够剔除冗余的检测结果,保留最具代表性的目标框,从而提高了检测算法的准确性和鲁棒性。

  • 39
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值