博文

目前显示的是 七月, 2022的博文

RankIQA-论文笔记

图片
RankIQA          RankIQA是2017年的一篇应用于无参考图像质量评价领域的优秀论文,它发表于当年的ICCV。文章创新性地将 Siamese网络的相关思想应用于图像质量评价模型的预训练中,并提出了一系列用于预训练IQA模型以及优化Siamese网络的实用方法。读完之后受益颇深,且引发了进一步思考。本文接下来将结合原论文并根据自身理解详细介绍RankIQA图像质量评价模型的训练全过程。 主要思想:          近些年来由于深度神经网络在图像数据处理的各个领域均取得了显著成效获得可观成果,因此越来越多的学者开始尝试将深度神经网络应用于图像质量评价,但与其他图像处理识别任务不同,对图像质量的评定带有很强的主观因素且需要评定者有很强的专业素养,因此大多数的图像质量评价数据集均由相关专业的群体包含几百的专业人士根据给定的参考图像进行打分,这是一件十分耗费人力的工作同时也导致数据集的构建成本十分高昂,因此目前图像质量评价领域的相关数据集均为小型数据集,将其直接用于特大深度神经网络模型的训练极易引发过拟合,无法真正地表达出其他图像的质量水平。因此作者受到启发,虽然标注有明确质量信息的相关数据很难获得但通过给图像添加干扰获得一系列的受损图像却可以根据添加的干扰多少对其进行排序,通过这种排序好的数据集进行预训练就可以解决目前状态下质量评价数据集缺少的问题。          首先本文中作者预训练时使用的 Siamese网络为共享权重的孪生神经网络,在实际代码中用于对比的两个失真图像实际上也是经过同一个网络进行正向传播获得输出并进行对比的,对于文中的Siamese网络而言它的两个分支完全相同且属于一个图像将获得一个对应的标量输出,这一标量就表示了模型对于输入图像质量分数的预测,在预训练阶段标注信息是图像的质量排名,而Siamese网络也将对比这一标量并对模型进行优化,而在最后的微调阶段这一标量将用于拟合图像的质量分数标注,并通过MSE损失计算相关误差。本文接下来的内容将详细介绍预训练阶段Siamese网络的训练实现。 Hinge Loss(折页损失函数,铰链损失)      ...

ML-K近邻算法

图片
  一.k近邻算法的基本概念,原理以及应用 k近邻算法是一种 基本分类和回归方法 。本篇文章只讨论分类问题的k近邻法。 K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例 最邻近 的K个实例, 这K个实例的多数属于某个类 ,就把该输入实例分类到这个类中。( 这就类似于现实生活中少数服从多数的思想 )根据这个说法,咱们来看下引自维基百科上的一幅图: 如上图所示,有 两类 不同的样本数据,分别用蓝色的小正方形和红色的小三角形表示,而图正中间的那个绿色的圆所标示的数据则是 待分类的数据 。这也就是我们的目的,来了一个新的数据点,我要得到它的类别是什么?好的,下面我们根据k近邻的思想来给绿色圆点进行分类。 如果K=3,绿色圆点的最邻近的3个点是2个红色小三角形和1个蓝色小正方形, 少数从属于多数, 基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。 如果K=5,绿色圆点的最邻近的5个邻居是2个红色三角形和3个蓝色的正方形, 还是少数从属于多数, 基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。 从上面例子我们可以看出,k近邻的算法思想非常的简单,也非常的容易理解,那么我们是不是就到此结束了, 该算法的原理我们也已经懂了,也知道怎么给新来的点如何进行归类,只要找到离它最近的k个实例,哪个类别最多即可。 哈哈,没有这么简单啦,算法的核心思想确实是这样,但是要想一个算法在实际应用中work,需要注意的不少额~ 比如k怎么确定的,k为多少效果最好呢?所谓的最近邻又是如何来判断给定呢? 哈哈,不要急,下面会一一讲解! 二.k近邻算法中k的选取以及特征归一化的重要性 选取k值以及它的影响 k近邻的k值我们应该怎么选取呢? 如果我们选取较小的k值,那么就会意味着我们的整体模型会变得复杂,容易发生过拟合! 恩~结论说完了,太抽象了吧你,不上图讲解号称通俗讲解的都是流氓 ~好吧,那我就上图来讲解 假设我们选取k=1这个极端情况,怎么就使得模型变得复杂,又容易过拟合了呢? 假设我们有训练数据和待分类点如下图: 上图中有俩类,一个是 黑色的圆点 ,一个是 蓝色的长方形 ,现在我们的待分类点是 红色的五边形。 好,根据我们的k近邻算法步骤来决定待分类点应该归为哪一类。我们由图中可以得到, 很容易我们能够看出来五边形离黑色的圆点最近,k又等于...