阈值

迟滞阈值分割法

感情迁移 提交于 2019-12-01 03:02:06
今天看 郭志烨 的硕士论文 《高反射表面缺陷检测技术研究》 里提到了一种叫迟滞阈值分割的方法,有点像步长为1的 窗口为r的maxpool 后进行阈值比较。 这样的阈值分割方法的好处是可以填空,坏处也是显而易见的,就是如果有一个噪点就会放大到2r大。所以对于这个方法 应该先要腐蚀后再使用应该好点。 来源: https://www.cnblogs.com/yjphhw/p/11649850.html

(转)机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?

谁说胖子不能爱 提交于 2019-12-01 02:07:32
https://www.cnblogs.com/anai/p/11576831.html 我们以图片分类来举例,当然换成文本、语音等也是一样的。 Positive 正样本。比如你要识别一组图片是不是猫,那么你预测某张图片是猫,这张图片就被预测成了正样本。 Negative 负样本。比如你要识别一组图片是不是猫,那么你预测某张图片不是猫,这张图片就被预测成了负样本。 TP 一组预测为正样本的图片中,真的是正样本的图片数。 TN: 一组预测为负样本的图片中,真的是负样本的图片数。 FP: 一组预测为正样本的图片中,其实是负样本的图片数。又称“误检” FN: 一组预测为负样本的图片中,其实是正样本的图片数。又称“漏检”。 精度(accuracy) 分类正确的样本数占总样本数的比例。 acc = (TP+TN)/ 总样本数 查准率/准确率 precision 一组预测为正样本的图片中,真的是正样本的图片所占的比例。 为什么有了Accuracy还要提出Precision的概念呢?因为前者在测试样本集的正负样本数不均衡的时候,比如正样本数为1,负样本数为99时,模型只要每次都将给定的样本预测成负样本,那么Accuracy = (0+99)/100 = 0.99,精度依然可以很高,但这毫无意义。但是同样的样本集,同样的方法运用到查准率公式上,就不可能得到一个很高的值了。 查全率/召回率

深度残差收缩网络:(三)网络结构

久未见 提交于 2019-11-30 16:18:10
(1)回顾一下深度残差网络的结构   在下图中,(a)-(c)分别是三种残差模块,(d)是深度残差网络的整体示意图。BN指的是批标准化(Batch Normalization),ReLU指的是整流线性单元激活函数(Rectifier Linear Unit),Conv指的是卷积层(Convolutional layer),Identity shortcut指的是跨层的恒等映射,RBU指的是残差模块(Residual Building Unit),GAP是全局均值池化(Global Average Pooling),FC是全连接层(Fully Connected Layer)。   C表示特征图的通道数,W表示特征图的宽度,1表示特征图的高度始终为1(这是因为这篇文章以一维的振动信号作为输入)。   在Conv后的括号中,K表示卷积层中卷积核的个数。当K=C时,输出特征图的通道数为C。当K=2C时, 输出特征图的通道数为2C。/2表示的是卷积核每次移动的步长为2,从而使得输出特征图的宽度减半。   我们可以看到,在图(a)中,输入特征图的尺寸为C×W×1,输出特征图的尺寸也是 C×W×1,也就是说,特征图的尺寸保持不变。在图(b)中,输出特征图的尺寸减小为 C×(0.5W)×1,换言之,宽度减小为原先的一半。在图(c)中, 输出特征图的尺寸变为2 C×(0.5W)×1,即不仅

深度残差收缩网络:(一)背景知识

99封情书 提交于 2019-11-30 15:05:29
/*--> */ /*--> */   深度残差收缩网络( Deep Residual Shrinkage Network )是深度残差学习(Deep Residual Network, ResNet)的一种改进,发表在 IEEE Transactions on Industrial Informatics 上,面向的是数据包含噪声的情况。   简单地讲,深度残差收缩网络就是,将软阈值化作为可训练的模块,嵌入到ResNet之中。接下来结合自己的理解,解读一下相关的背景知识。 /*--> */ /*--> */ ( 1 )噪声的含义 如上所述,深度残差收缩网络面向的是数据包含噪声的情况。事实上,这里的“噪声”,可以有更宽泛的解释。“噪声”不仅可以指数据获取过程中所掺杂的噪声,而且可以指“与当前任务无关的信息”。 比如说,我们在训练一个猫狗分类器的时候,如果图像中存在老鼠,那么老鼠就可以理解为一种噪声。 /*--> */ /*--> */ 或者说,在故障诊断领域,对于一个复杂的机械系统,可能存在很多个激振源。许多个轴、轴承、齿轮和联轴器等的旋转或啮合都可能会激发振动。这些振动成分都混杂在所采集的振动信号中。如果我们的目的是检测某一零件(比如某一个齿轮)是否发生故障,则其他零件所激发的振动,在一定程度上,都可以理解为噪声。 从这个角度来讲的话,深度残差收缩网络可能有着更宽广的应用场景。

目标检测中常提到的IoU和mAP究竟是什么?

雨燕双飞 提交于 2019-11-30 12:51:51
看完这篇就懂了。 IoU intersect over union,中文:交并比。指目标预测框和真实框的交集和并集的比例。 mAP mean average precision。是指每个类别的平均查准率的算术平均值。即先求出每个类别的平均查准率(AP),然后求这些类别的AP的算术平均值。其具体的计算方法有很多种,这里只介绍PASCAL VOC竞赛(voc2010之前)中采用的mAP计算方法,该方法也是yolov3模型采用的评估方法,yolov3项目中如此解释mAP,暂时看不明白可以先跳过,最后再回过头来看就能明白了。 比如我们现在要在一个给定的测试样本集中计算猫这个类别的AP,过程如下: 首先,AP要能概括P-R曲线的形状,其被定义为采用如下公式来计算: 那么,我们先来看看P-R曲线是什么:用蓝色笔迹遮住的部分不需要关注。 图中的曲线C就是一条P-R曲线,P表示纵轴的查准率precision,R表示横轴的召回率或称为查全率recall。P-R曲线下的面积可以用于评估该曲线对应的模型的能力,也就是说比较2个目标检测模型哪个更好,可以用P-R曲线面积来比较,面积越大模型越好。然而可能是因为这个面积并不好计算,所以定义了公式(1)来计算出一个叫AP的东西,反正这个东西也能体现出precision和recall对模型能力的综合影响。 从公式(2)可以知晓,Pinterpo(r

机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?

Deadly 提交于 2019-11-30 09:39:42
一篇文章就搞懂啦,这个必须收藏! 我们以图片分类来举例,当然换成文本、语音等也是一样的。 Positive 正样本。比如你要识别一组图片是不是猫,那么你预测某张图片是猫,这张图片就被预测成了正样本。 Negative 负样本。比如你要识别一组图片是不是猫,那么你预测某张图片不是猫,这张图片就被预测成了负样本。 TP 一组预测为正样本的图片中,真的是正样本的图片数。 TN: 一组预测为负样本的图片中,真的是负样本的图片数。 FP: 一组预测为正样本的图片中,其实是负样本的图片数。又称“误检” FN: 一组预测为负样本的图片中,其实是正样本的图片数。又称“漏检”。 精度(accuracy) 分类正确的样本数占总样本数的比例。 acc = (TP+TN)/ 总样本数 查准率/准确率 precision 一组预测为正样本的图片中,真的是正样本的图片所占的比例。 为什么有了Accuracy还要提出Precision的概念呢?因为前者在测试样本集的正负样本数不均衡的时候,比如正样本数为1,负样本数为99时,模型只要每次都将给定的样本预测成负样本,那么Accuracy = (0+99)/100 = 0.99,精度依然可以很高,但这毫无意义。但是同样的样本集,同样的方法运用到查准率公式上,就不可能得到一个很高的值了。 查全率/召回率 recall 所有真的是正样本的图片中

6.二值化

天大地大妈咪最大 提交于 2019-11-30 05:55:34
在图像处理中,Thresholding中文翻译过来叫二值化或者阈值化。二值化就是把图片传换成只有white和black这两种颜色。通过Thresholding,可以让图片中感兴趣的颜色变成主角--white,其余的颜色全部隐藏--black。另外,二值化后的图片也便于计算机进行分析,因为边缘轮廓十分清晰,所以计算机可以轻松找到边界线。然而,在找边界这方面,Thresholding并不是特别好的算法,有些时候遇到某些特殊图片效果也不好。 #导入工具包 from imutils import * image = imread('image/coins.jpg') show(image) gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) plt.imshow(gray,'gray') plt.axis('off') plt.show() ret1,thresh1 = cv2.threshold(gray,127,255,cv2.THRESH_BINARY) ret2,thresh2 = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV) ret3,thresh3 = cv2.threshold(gray,127,255,cv2.THRESH_TRUNC) ret4,thresh4 = cv2

【数字图像处理】边缘检测与图像分割

馋奶兔 提交于 2019-11-29 16:47:56
原文链接: 边缘检测与图像分割 作者: HUSTLX 1图像分割原理 图像分割的研究多年来一直受到人们的高度重视,至今提出了各种类型的分割算法。Pal把图像分割算法分成了6类:阈值分割,像素分割、深度图像分割、彩色图像分割,边缘检测和基于模糊集的方法。但是,该方法中,各个类别的内容是有重叠的。为了涵盖不断涌现的新方法,有的研究者将图像分割算法分为以下六类:并行边界分割技术、串行边界分割技术、并行区域分割技术、串行区域分割技术、结合特定理论工具的分割技术和特殊图像分割技术。而在较近的一篇综述中,更有学者将图像分割简单的分割数据驱动的分割和模型驱动的分割两类。下面将图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法、基于数学形态的分割方法以及基于特定理论的分割方法等,对其中主要的分别进行简要介绍。 1.1灰度阈值分割法 是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。阈值分割方法实际上是输入图像f到输出图像g的如下变换: 其中,T为阈值,对于物体的图像元素g(i,j)=l,对于背景的图像元素g(i,j)=0。 由此可见,阈值分割算法的关键是确定阈值,如果能确定一个合适的阈值就可准确地将图像分割开来。如果阈值选取过高,则过多的目标区域将被划分为背景,相反如果阈值选取过低,则过多的背景将被划分到目标区 [7] 。阈值确定后

论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd

时间秒杀一切 提交于 2019-11-29 16:31:24
论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd 2019年04月11日 23:08:02 Kivee123 阅读数 836 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_37014750/article/details/89222334 Adaptive-NMS(CVPR 2019) 文章   又是一篇在NMS上面做文章的paper。。读完之后感觉,哇!自己再想的深一点也能想出来呀,可是想出来和做出好效果真是两码事。。尤其是没有人告诉你这个idea的价值只能靠自己判断的时候。扯远了。。。还是说一说这篇文章吧。   NMS是目前基于深度学习的目标检测模型的重要的后处理步骤,针对目标检测来讲,NMS具体操作就是将所有检测结果(设为集合A)中score最大的结果取出来加入到最后的检测结果集合(设为集合B),然后将A中其它检测结果i中与该结果进行比较,如果如该结果的相似度(往往使用IoU)超过一个阈值就将i从A中去掉。重复上述操作,直到A为空空集,伪代码如下(greedy-NMS就是普通的NMS):   然而普通NMS的问题在于,如果两个ground truth本身就有overlap的话

KS(Kolmogorov-Smirnov)值

江枫思渺然 提交于 2019-11-29 09:56:26
KS(Kolmogorov-Smirnov)值越大,表示模型能够将正、负客户区分开的程度越大。KS值的取值范围是[0,1] ks越大,表示计算预测值的模型区分好坏用户的能力越强。 ks值 含义 > 0.3 模型预测性较好 0,2~0.3 模型可用 0~0.2 模型预测能力较差 < 0 模型错误 通常来讲,KS>0.2即表示模型有较好的预测准确性。 ks求解方法: ks需要TPR和FPR两个值:真正类率(true positive rate ,TPR), 计算公式为TPR=TP/ (TP+ FN),刻画的是分类器所识别出的 正实例占所有正实例的比例。另外一个是假正类率(false positive rate, FPR),计算公式为FPR= FP / (FP + TN),计算的是分类器错认为正类的负实例占所有负实例的比例。KS=max(TPR-FPR)。其中: TP:真实为1且预测为1的数目 FN:真实为1且预测为0的数目 FP:真实为0的且预测为1的数目 TN:真实为0的且预测为0的数目 一句话概括: KS曲线是两条线,其横轴是阈值,纵轴是TPR(上面那条)与FPR(下面那条)的值,值范围[0,1] 。两条曲线之间之间相距最远的地方对应的阈值,就是最能划分模型的阈值。 计算步骤: 1. 按照分类模型返回的概率升序排列 ,也可以直接是数据,根据某一阈值判断为1或0即可 2. 把0