阈值

【EMVA1288学习笔记】动态范围

烂漫一生 提交于 2020-01-02 12:40:30
EMVA1288动态范围的整理 1.动态范围 1.1 动态范围的定义: 信号饱和值与绝对灵敏度阈值的比值被定义为 DR (dynamic range)。 1.2 动态范围的表示: 有两种表示方法,一种是倍数X,另一种是dB。 两者间的转换关系为: dB=20 log(X);* 注:log 是以10为底。 1.3 动态范围的分类: 分为两种,最大值与线性值。 2.饱和输出: 2.1 饱和输出的定义 (μe.sat) 2.2 饱和输出的表示: 有两种表示方法,一种是DN值,另一种是ke-(电子数目)。 按照EMVA1288中定义是光子数目。 2.3 饱和输出的分类: 分为两种,最大值与线性值。 3.绝对灵敏度阈值 3.1 绝对灵敏度阈值的定义 最小可探测辐射量或者绝对灵敏度阈值,可以用信噪比(SNR)进行定义,该值即为满足 SNR=1 时的光子数均值。 3.2 绝对灵敏度阈值的表示 3.3 绝对灵敏度阈值的分类 只有一种,没有最大值与线性值之说。 EMVA1288有关内容原文 2.4 信号饱和与绝对灵敏度阈值 对于一个 k 比特的数字相机,其输出的数字灰度值在 0 到2^k − 1范围以内。但是实际上的可用灰度范围要小一些。暗场灰度平均值u.y.dark必须高于 0,以防因为时域噪声和暗信号的非均匀性(第 6.5 节有更精确的定义)而导致的明显的向下截止。 类似的,可知

深度学习中的双下降现象

爱⌒轻易说出口 提交于 2019-12-30 02:57:48
2019-12-26 19:21:03 作者:Preetum Nakkiran,Gal Kaplun,Yamini Bansal,Tristan Yang,Boaz Barak,Ilya Sutskever 编译:ronghuaiyang 导读 深度学习中的双下降现象,可能大家也遇到过,但是没有深究,OpenAI这里给出了他们的解答。 我们展示了 CNN,ResNet 以及 transformers 中的双下降现象,随着模型的尺寸,数据集的大小以及训练时间的增加,performance 先提升,然后变差,然后再次提升。这种效果通常可以通过仔细的正则化来避免。虽然这种行为似乎是相当普遍的,但我们还没有完全理解它为什么会发生,并把对这种现象的进一步研究作为一个重要的研究方向。 论文:https://arxiv.org/abs/1912.02292 包括 CNNs、ResNets、transformer 在内的许多现代深度学习模型,在不使用 early stopping 或正则化时,都表现出之前观察到的双下降现象。峰值发生在一个可以预见的“特殊的时刻”,此时模型刚好可以去拟合训练集。当我们增加神经网络参数的数量,刚开始的时候,测试误差减少,然后会增加,而且,模型开始能够拟合训练集,进行了第二次下降。 传统统计学家认为“模型越大越糟”的传统观点,以及“模型越大越好”的现代机器学习范式

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

给你一囗甜甜゛ 提交于 2019-12-26 21:14:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> (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)整体思路

瘦欲@ 提交于 2019-12-26 21:07:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 其实,这篇文章的摘要很好地总结了整体的思路。一共四句话,非常简明扼要。   我们首先来翻译一下论文的摘要:    第一句:This paper develops new deep learning methods, namely, deep residual shrinkage networks, to improve the feature learning ability from highly noised vibration signals and achieve a high fault diagnosing accuracy.    翻译:本文提出了新的深度学习方法,即深度残差收缩网络,来提高深度学习算法从强噪声信号中学习特征的能力,并且取得较高的故障诊断准确率。    解释:不仅明确了所提出的方法(深度残差收缩网络),而且指出了面向的信号类型(强噪声信号)。    第二句:Soft thresholding is inserted as nonlinear transformation layers into the deep architectures to eliminate unimportant features.    翻译:软阈值化作为非线性层,嵌入到深度神经网络之中

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

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

【BZOJ】3922: Karin的弹幕

こ雲淡風輕ζ 提交于 2019-12-25 19:07:54
题意 给定一个长度为 \(n(1 \le n \le 70000)\) 序列, \(m(1 \le m \le 70000)\) 次操作:1. 对一段下标是等差数列的子序列求最大值;2. 单点修改。 分析 如果公差很大,那么速度是很快的。所以我们考虑阈值。 题解 设阈值 \(k\) 表示如果询问的公差小于等于 \(k\) 则用线段树求,否则暴力。 则我们对阈值每一个公差 \(i(1 \le i \le k)\) 建 \(i\) 棵线段树。 复杂度 \(O(kn + m(\frac{n}{k} + log n))\) #include <bits/stdc++.h> using namespace std; const int N=70005, MXD=10, oo=(~0u>>1)+1; int a[N], D, sz[MXD+1][MXD+1], b[N]; struct node *null; struct node { node *c[2]; int mx; node() { c[0]=c[1]=0; mx=oo; } void up() { mx=max(c[0]->mx, c[1]->mx); } }Po[10000005], *iT=Po, *root[MXD+1][MXD+1]; node *newnode() { return iT++; } node* build

CS231n与深度学习入门>>>学习周记1

无人久伴 提交于 2019-12-23 17:55:44
目录 1 感知机 1.1 感知机的基本概念 1.2 感知机实现的简单逻辑电路 1.2.1 与门(AND gate) 1.2.2与非门与或门(NAND gate,OR gate) 1.2.3 感知机的实现 1.2.4 阶段小结 1.3 感知机的局限性 1.3.1 异或门(XOR gate) 1.3.2 阶段小结 2 基本分类器 2.1 最近邻分类器(Nearest Neighbor Classifier) 2.2 K近邻分类器(k - Nearest Neighbor Classifier) 2.3 交叉验证(Cross-validation) 2.4 阶段小结 3 线性分类器 3.1 计分函数(Score function) 3.2 损失函数(Loss function) 3.2.1 支持向量机损失(Multiclass Support Vector Machine (SVM) ) 3.2.2 Softmax损失 3.3 阶段小结 4 优化(Optimization) 4.1 梯度计算 4.2 梯度下降法(Gradient Descent) 4.3 阶段小结 1 感知机 1.1 感知机的基本概念 一个感知机类似于多个神经元构成的一个整体,接收多个信号,输出一个信号。感知机的信号可以形成流,向前方输送信息。而感知机的信号只有"0"和"1"两种取值。

基于短时时域处理中短时能量和过零率的语音端点检测方法

徘徊边缘 提交于 2019-12-22 10:34:21
基于短时时域处理中短时能量和过零率的语音端点检测方法 1.背景 在语音信号处理中检测出语音的端点是相当重要的。语音端点的检测是指从包含语音的一段信号中确定的起始点和结束点位置,因为在某些语音特性检测和处理中,只对有话段检测或处理。例如,在语音减噪和增强中,对有话段和无话段可能采取不同的处理方法;在语音识别和语音编码中同样有类似的处理。 处理没有噪声的情况下的语音端点检测,用短时平均能量就可以检测出语音的端点。但实际处理语音往往处于复杂的噪声环境中,这时,判别语音段的起始点和终止点的问题主要归结为区别语音和噪声的问题。 所以本项目实现的是短时平均能量和短时平均过零率的方法,同时简单介绍在低信噪比条件下端点的检测。 2.主要内容 2.1、画出“f.m4a”和“b.m4a”的语音信号波形和它的短时能量图 2.2、画出“f.m4a”和“b.m4a”的语音信号波形和它的短时平均零交叉率图 2.3、利用2.2和2.3短时能量和短时平均零交叉率进行端点检测两级判决法示意图。 3.具体实验内容 3.1短时能量 设语音波形时域信号为x(n),加窗函数w(n),分帧处理后得到的第i帧语音信号为yi(n),则yi(n)满足: 式中,w(n)为窗函数,一般为矩形窗或汉明窗;yi(n)是一帧的数值,n=1,2,…,L, i=1,2,…,fn,L为帧长;inc为帧移长度;fn为分帧后的总帧数。

AUC(Area under Curve Roc曲线下面积)

和自甴很熟 提交于 2019-12-21 08:27:44
一、roc曲线 1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。 横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity) 纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率) 2针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况. (1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP) (2)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN) (3)若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP) (4)若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN) TP:正确的肯定数目 FN:漏报,没有找到正确匹配的数目 FP:误报,没有的匹配不正确 TN:正确拒绝的非匹配数目 列联表如下,1代表正类,0代表负类: 由上表可得出横,纵轴的计算公式: (1)真正类率(True Postive Rate)TPR: TP/(TP+FN)

python,opencv利用自适应阈值分割法实现微滴图像分割并计数

ε祈祈猫儿з 提交于 2019-12-20 17:38:35
import cv2 import numpy as np blockSize = 31 value = -1 #count = 0 #液滴总数 area = 0 #单个液滴面积 min_area = 40 max_area = 1500 #闭运算 def close(image): kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5)) iClose = cv2.morphologyEx(image,cv2.MORPH_CLOSE,kernel) return iClose #开运算 def open(image): kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(16,16)) iOpen = cv2.morphologyEx(image,cv2.MORPH_OPEN,kernel) return iOpen #查找轮廓 def findConftours(srcImage,binary): contours,hierarchy = cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) cv2.drawContours(srcImage,contours,-1,(0,0,255),3)