阈值

DeepSORT的细节

爱⌒轻易说出口 提交于 2020-03-01 20:06:13
一、整体把握 目标在每帧中的轨迹状态是如何表示的?   作者用8维向量[u,v,r,h,x’,y’,r’,h’]来表示目标所处的轨迹状态, u,v,r,h分别对应目标的中心坐标、r是长宽比、h是高。而x’,y’,r’,h’这四个参数代表目标对应的运动速度(可将其看成前四个参数分别的运动数据)。该轨迹向量同时提供了目标在当前帧的bbox信息以及bbox的运动信息,为预测bbox下一帧可能的位置提供了数据。 轨迹如何具体理解?   可以将轨迹理解成在不同时刻的位置序列[u,v,r,h]。 预测下一帧中目标的bbox是如何做到的?   利用轨迹状态中的参数,用卡尔曼滤波对相应目标预测轨迹。卡尔曼滤波采用的为匀速模型和线性观测模型,其观测变量为u,v,r,h这四个变量。 如何确定轨迹的出现和终止?(轨迹处理的细节)   跟踪目标的实际过程中,会出现旧的目标(已在轨迹池中的目标)走出视野,新的目标进入视野,因此每个轨迹的出现和终止是非常重要的问题。   显而易见,若旧目标丢失就终止其轨迹,那如何确定目标丢失了呢? 作者对轨迹池中的每个目标都增加一个记录其最后一次匹配成功到当前时刻的时长变量a,若a大于最大允许阈值Amax则认为该目标已丢失,需终止。   那新的目标是如何确定并处理的呢?   首先检测器会将所有检测到的目标(仅当前帧通过目标检测网络检测得出,将其称为detection

金融风控之特征工程

大憨熊 提交于 2020-03-01 10:59:29
*特征工程是一个复杂活,本人认为它一般包括以下几个过程:特征初筛、特征衍生(加工)、特征选择; 特征筛选是一个精细活,需要考虑很多因素,比如:预测能力、相关性、稳定性、合规性、业务可解释性等等。 从广义上,特征筛选可从业务指标和技术指标两大类出发: 1. 业务指标包括 : 1). 合规性 :用以加工变量的数据源是否符合国家法律法规?是否涉及用户隐私数据?例如,如果某块爬虫数据被监管,那么相关变量的区分度再好,我们也只能弃用。 2). 可得性 :数据未来是否能继续采集?这就涉及产品流程设计、用户授权协议、合规需求、模型应用环节等诸多方面。例如,如果产品业务流程改动而导致某个埋点下线,那么相关埋点行为变量只能弃用。又比如,如果需要做额度授信模型,那么只能利用在额度阶段能采集到的实时数据,这就需要提前确认数据采集逻辑。 3). 稳定性 :一方面,数据源采集稳定是变量稳定性的基本前提。例如,外部数据常会因为政策性、技术性等原因导致接入不稳定,这就需要做好数据缓存,或者模型降级机制。另一方面,变量取值分布变化是导致不稳定的直接原因。我们将会采取一些技术指标展开分析,下文将会介绍。 4). 可解释性 :需要符合业务可解释性。如果变量的业务逻辑不清晰,那么我们宁可弃之。同时,这也是保证模型可解释性(参数 + 变量)的前提。 5). 逻辑性 :也就是因果逻辑,特征变量是因,风控决策是果

10分钟看懂深度残差收缩网络

百般思念 提交于 2020-02-29 22:56:30
深度残差网络ResNet获得了2016年IEEE Conference on Computer Vision and Pattern Recognition的最佳论文奖,目前在谷歌学术的引用量已高达38295次。 深度残差收缩网络是深度残差网络的一种的改进版本,其实是深度残差网络、注意力机制和软阈值函数的集成。 在一定程度上, 深度残差收缩网络的工作原理 ,可以理解为: 通过注意力机制注意到不重要的特征,通过软阈值函数将它们置为零;或者说,通过注意力机制注意到重要的特征,将它们保留下来 ,从而加强深度神经网络从含噪声信号中提取有用特征的能力。 1.为什么要提出深度残差收缩网络呢? 首先,在对样本进行分类的时候,样本中不可避免地会有一些噪声 ,就像高斯噪声、粉色噪声、拉普拉斯噪声等。更广义地讲,样本中很可能包含着与当前分类任务无关的信息,这些信息也可以理解为噪声。这些噪声可能会对分类效果产生不利的影响。(软阈值化是许多信号降噪算法中的一个关键步骤) 举例来说,在马路边聊天的时候,聊天的声音里就可能会混杂车辆的鸣笛声、车轮声等等。当对这些声音信号进行语音识别的时候,识别效果不可避免地会受到鸣笛声、车轮声的影响。从深度学习的角度来讲,这些鸣笛声、车轮声所对应的特征,就应该在深度神经网络内部被删除掉,以避免对语音识别的效果造成影响。 其次,即使是同一个样本集,各个样本的噪声量也往往是不同的

阈值分割

让人想犯罪 __ 提交于 2020-02-26 10:32:47
1,阈值(threshold):是我们认为设定的一个像素值。取值在(0~255) 二进制阈值化:(threshold binary)(结果值二值不一定是0-1) 首先要选择一个特定的阈值a 新的阈值识别规则为 大于等于阈值的像素点的灰度值设为最大值(例如8位灰度值的最大值255) 灰度值小于阈值的像素的灰度值设为0 反二进制阈值化:(threshold binary,inverted) 与二进制阈值化值的对应方式正好相反。其他相同。 截断阈值化: 首先选择一个阈值 图像中像素值比阈值大的重新设定为阈值 图像中像素值比阈值小的不变 反阈值化为0:(threshold to zero,inverted) 先选定一个阈值 把大于等于阈值的像素点变为0 把小于阈值的的像素点保持不变 阈值化为0:(与反阈值化为0相反) 先选定一个阈值 把大于等于阈值的像素点保持不变 把小于阈值的的像素点化为0 附代码如下: #threshold函数#retval,dst=cv2.threshold(src,thresh,maxval,type)#retral————返回阈值=thresh;dst————图片处理的结果;# src——————源图像;thresh————阈值;maxval——————阈值分割后的最大值;# type————进行那种类型的阈值分割#注意原始图像的类型,必须是8位单通道图像

动手学深度学习之Task09:目标检测基础;图像风格迁移;图像分类案例1

江枫思渺然 提交于 2020-02-25 23:51:18
目标检测基础 9.4 锚框 目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边缘从而更准确地预测目标的真实边界框(ground-truth bounding box)。不同的模型使用的区域采样方法可能不同。这里我们介绍其中的一种方法:它以每个像素为中心生成多个大小和宽高比(aspect ratio)不同的边界框。这些边界框被称为锚框(anchor box)。我们将在后面基于锚框实践目标检测。 9.4.1 生成多个锚框 假设输入图像高为 h,宽为w。我们分别以图像的每个像素为中心生成不同形状的锚框。设大小为s∈(0,1]且宽高比为r>0,那么锚框的宽和高将分别为wsr和hs/r。当中心位置给定时,已知宽和高的锚框是确定的。 下面我们分别设定好一组大小s1,…,sn和一组宽高比r1,…,rm。如果以每个像素为中心时使用所有的大小与宽高比的组合,输入图像将一共得到whnm个锚框。虽然这些锚框可能覆盖了所有的真实边界框,但计算复杂度容易过高。因此,我们通常只对包含s1或r1的大小与宽高比的组合感兴趣,即 (s1,r1),(s1,r2),…,(s1,rm),(s2,r1),(s3,r1),…,(sn,r1). 也就是说,以相同像素为中心的锚框的数量为n+m−1。对于整个输入图像,我们将一共生成wh(n+m−1)个锚框。

Hbase的region合并与拆分详解

不羁的心 提交于 2020-02-25 23:32:05
1、region 拆分机制 region中存储的是大量的rowkey数据 ,当region中的数据条数过多的时候,直接影响查询效率.当region过大的时候.hbase会拆分region , 这也是Hbase的一个优点 . HBase的region split策略一共有以下几种: 1、 ConstantSizeRegionSplitPolicy 0.94版本前默认切分策略 当region大小大于某个阈值(hbase.hregion.max.filesize=10G)之后就会触发切分,一个region等分为2个region。 但是在生产线上这种切分策略却有相当大的弊端:切分策略对于大表和小表没有明显的区分。阈值(hbase.hregion.max.filesize)设置较大对大表比较友好,但是小表就有可能不会触发分裂,极端情况下可能就1个,这对业务来说并不是什么好事。如果设置较小则对小表友好,但一个大表就会在整个集群产生大量的region,这对于集群的管理、资源使用、failover来说都不是一件好事。 2、 IncreasingToUpperBoundRegionSplitPolicy 0.94版本~2.0版本默认切分策略 切分策略稍微有点复杂,总体看和ConstantSizeRegionSplitPolicy思路相同,一个region大小大于设置阈值就会触发切分

Task 9

懵懂的女人 提交于 2020-02-25 22:51:25
目标检测基础 GoogLeNet:每个Inception块里有四条并行线路 目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边缘从而更准确地预测目标的真实边界框(ground-truth bounding box)。 锚框(anchor box)是以每个像素为中心生成多个大小和宽高比(aspect ratio)的边界框。对于n个 大小 s和m个 宽高比 ,锚框全部画上去会很多,所以我们一搬只选取含 s 1 s_1 s 1 ​ 或 r 1 r_1 r 1 ​ 的,共n-+m-1个组合。整张图象,则有 h × w × ( n + m − 1 ) h×w×(n+m-1) h × w × ( n + m − 1 ) 个。 大小是锚框大小除以图片大小。宽高比是宽除以高,宽高比越小,图越高,越瘦。 MultiBoxPrior函数中输出的特征图张量为[N, C, H, W]。 从大小比例、宽高比到四个顶点坐标需要换算一下。 Jaccard系数为 J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ J(A,B)=\frac{\left | A\cap B \right |}{\left | A\cup B \right |} J ( A , B ) = ∣ A ∪ B ∣ ∣ A ∩ B ∣ ​ ,此处用来衡量像素的重合。

机器学习 特征工程 Python sklearn

天涯浪子 提交于 2020-02-22 19:42:16
机器学习 特征工程 Python sklearn 本博客代码: Github_GDUT-Rp 1 特征工程 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。 特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。首次接触到sklearn,通常会被其丰富且方便的算法模型库吸引,但是这里的介绍的特征处理库也十分强大! 2 数据预处理 通过特征提取,我们能得到未经处理的特征,这时的特征可能有以下问题: 不属于同一量纲:即特征的规格不一样,不能够放在一起比较。无量纲化可以解决这一问题。 信息冗余:对于某些定量特征,其包含的有效信息为区间划分,例如学习成绩,若只关心“及格”或“不及格”,那么需要将定量的考分,转化为“1”和“0”表示及格和未分类。二值化可以解决这一问题。 定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。最简单的方式是为每一种定性值,但是这种方式过于灵活,增加了调参的工作。通常使用哑编码的方式将定性特征为定量特征:假设有N种定性值,则将这一个特征扩展为N种特征,当原始特征值为第i种定性值时,第i个扩展特征赋值为1,其他扩展特征赋值为0.哑编码的方式相比直接指定的方式,不用增加调参的工作,对于线性模型来说,使用哑编码后的特征可达到非线性的效果。 存在缺失值

opencv-python中Canny算子边缘检测详解

▼魔方 西西 提交于 2020-02-21 17:47:16
Canny算子是一种非常流行的边缘检测算法,在opencv中直接提供给了我们Canny函数,但是我们还是有必要对其原理有一定的了解。 原理 Canny算子包含四步操作: 去噪 首先要去除图像的噪声,边缘检测很容易受到噪声的影响。去噪操作中我们使用的是5*5的高斯滤波器。 计算梯度 在这一步要计算图像的梯度。不但要计算梯度的大小,还要求出梯度的方向。梯度的方向被归为四类:水平,垂直,两条对角线方向。 计算图像梯度的大小和方向的公式如下: 非极大值抑制 经过以上操作得出的边界是非常粗糙且精度低的。我们需要在计算出梯度的大小和方向之后对整幅图像的像素点进行遍历。去除那些不在边界上的点。 对每一个像素点进行检查,看它是否是周围同方向梯度的点中梯度最大的。如果是最大的,就保留,如果不是,就抑制(归0) 如图,黄色点被保留,白色点被抑制。 滞后阈值 这是确定点是否在边界上的最后一关。我们设置两个阈值(maxVal,minVal) 凡是梯度大于maxVal的点我么就认为这个点处在边界上,保留 梯度值大于minVal小于maxVal的点,如果这个点与某个确定为边界的点相连,保留;否则就抛弃 梯度值小于minVal的点,全部抛弃 经过这四步操作,我们就可以得到所想要的真正边界。 函数 OpenCV中提供给我们现成的函数: cv2 . Canny ( sec , minVal , maxVal )

Opencv中的阈值函数

匆匆过客 提交于 2020-02-18 07:16:30
OpenCV基础——threshold函数的使用   图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。    参数原型    参数说明   src:源图像,可以为8位的灰度图,也可以为32位的彩色图像。(两者有区别)   dst:输出图像   thresh:阈值   maxval:dst图像中最大值   type:阈值类型,可以具体类型如下: 编号 阈值类型枚举 注意 1 THRESH_BINARY 2 THRESH_BINARY_INV 3 THRESH_TRUNC 4 THRESH_TOZERO 5 THRESH_TOZERO_INV 6 THRESH_MASK 不支持32位 7 THRESH_OTSU 不支持32位 8 HRESH_TRIANGLE 不支持32位       函数关系   当阈值类型为THRESH_BINARY,THRESH_BINARY_INV,THRESH_TRUNC,THRESH_TOZERO,THRESH_TOZERO_INV时,前面的thresh参数需要合理设置,函数执行时严格按照表格中的函数关系变换;当阈值类型为OTSU时,thresh参数可以直接设置为0。 来源: https://www.cnblogs.com/qinguoyi/p/8335741.html