![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 69
Codefmeister
Nothing to say.
展开
-
Robust Point Cloud Registration Framework Based on Deep Graph Matching (RGM) 简略分析
RGM使用DGCNN先抽象提取出局部特征,点云x,yx,yx,y的特征分别对应于FX,FY\mathcal{F}_{\mathbf{X}}, \mathcal{F}_{\mathbf{Y}}FX,FY随后使用Transformer来交互两帧点云间的特征信息,分别生成TX,TY\mathcal{T}_{\mathbf{X}}, \mathcal{T}_{\mathbf{Y}}TX,TY,随后用交互后的特征TX,TY\mathcal{T}_{\mathbf{X}}, \mathcal{T}_{\math原创 2021-04-19 21:51:59 · 1409 阅读 · 0 评论 -
Sinkhorn算法,正矩阵与双随机矩阵之间的关系
Sinkhorn算法Sinkhorn 算法描述了任意一个正矩阵(元素均为正)与双随机矩阵之间的关系。简略描述Relations between arbitrary positive matrices and Doubly stochastic matrices.如果A是一个正矩阵,那么通过交替的进行行归一化和列归一化,可以将其转换为一个转移矩阵(双随机矩阵)。if A is a positive Matrix, alternately applies row-normalization an原创 2021-04-13 09:12:20 · 2381 阅读 · 0 评论 -
Affinity Matrix(关联矩阵,相似度矩阵),Cosine Similarity, Jaccard similarity
Affinity Matrixreference: DeepAI, WikipediaWhat is an Affinity Matrix?Affinity Matrix, 也叫做 Similarity Matrix。即关联矩阵,或称为相似度矩阵,是一项重要的统计学技术,是一种基本的统计技术,用于组织一组数据点之间的彼此相似性。相似度(similarity)类似于距离(distance),但它不满足度量性质,两个相同的点的similarity scores为1,而在metric下将为0。相似度量原创 2021-04-10 16:17:07 · 13085 阅读 · 2 评论 -
Affinity Layer(仿射变换层), Full-connected Layer.
Affinity Layer 仿射变换层DefinitionAffinity layer,即Full-connected layer(仿射层或全连通层)是一层人工神经网络,其中所有包含的节点连接到后续层的所有节点。仿射层通常用于卷积神经网络和递归神经网络。受限玻尔兹曼机是仿射层或全连接层的一个例子。对于每一个到仿射(全连接)层的连接,节点的输入是前一层输出的线性组合,带有附加的偏置。然后通过激活函数传递输入来计算节点的输出。数学上,这表示为:y=f(Wx+b)y=f(W x+b)y=f(Wx+b原创 2021-04-10 10:04:57 · 3482 阅读 · 0 评论 -
基于光强的角点检测(SUSAN角点检测、FAST角点检测、FAST-ER角点检测)
Corner Feature Detector(Intensity-Based)基于光强比较的角点检测,直接比较光强(像素灰度值),而不计算梯度。所以实时性更好,所需的存储空间更小。SUSAN 角点检测SUSAN 全称Smallest univalue segment assimilating nucleus,最小核同值区。提出者Smith与Brady, 1997.SUSAN 使用一个圆形模板和一个圆的中心点,通过圆的中心点象素值与模板圆内其他象素值的比较,统计出与圆中心点象素值近似的象素数量,当这原创 2021-03-04 08:52:34 · 686 阅读 · 1 评论 -
ID3决策树、信息熵、信息增益
本文所用的例子引自《机器学习》,周志华。ID3决策树ID3中的ID,是Iterative Dichotomiser的简称。 ID3是一种经典的基于信息增益的决策树学习算法。信息熵信息熵是度量样本集合纯度最常用的一种指标。假定当前样本集合DDD中第kkk类样本所占的比例为pk(k=1,2,…,∣Y∣)p_k(k=1,2, \ldots,|\mathcal{Y}|)pk(k=1,2,…,∣Y∣),则DDD的信息熵被定义为:Ent(D)=−∑k=1∣Y∣pklog2pk\operatorna.原创 2021-03-03 21:32:07 · 2618 阅读 · 2 评论 -
角点检测--基于梯度的方法(Moravec角点检测、Harris角点检测、Shi-Tomasi角点检测)
Moravec DetectorMoravec角点检测是第一个提出兴趣点(interest points)的Paper。它的主要思想是:以每个像素为中心,有一个固定的滑动窗口。该方法计算并在八个方向上(纵横以及斜对角)搜索每个像素的最小强度变化,如果最小值大于给定阈值,则检测出感兴趣点。其可以用数学公式表达为:E(u,v)=∑x,yw(x,y)[I(x+u,y+v)−I(x,y)]2E(u, v)=\sum_{x, y} w(x, y)[I(x+u, y+v)-I(x, y)]^{2}E(u,v)=∑原创 2021-03-03 09:54:38 · 1182 阅读 · 0 评论 -
随机矩阵Left stochastic matrix, Right stochastic matrix, Doubly stochastic matrix,置换矩阵Permutation Matrix
Stochastic MatrixDefinition:In mathematics, a stochastic matrix is a square matrix used to describe the transitions of a Markov chain. Each of its entries is a nonnegative real number representing a probability. It is also called a probability matrix, t原创 2021-02-06 10:50:29 · 768 阅读 · 0 评论 -
torch中Dataset的构造与解读
torch中Dataset的构造与解读Dataset的构造要自定义自己的数据集,首先需要继承Dataset(torch.utils.data.Dataset)类.继承Dataset类之后,必须重写三个方法:__init__(), __getitem__(), __len__()class ModelNet40(Dataset): def __init__(self, xxx): ... def __getitem__(self, item):原创 2021-01-05 15:49:10 · 8060 阅读 · 0 评论 -
np.cross函数详解
numpy.crossReference: Official Document of Numpy 语法numpy.cross(a, b, axisa=-1, axisb=-1, axisc=-1, axis=None)功能Return the cross product of two (arrays of) vectors.The cross product of a and b in :math:R^3 is a vector perpendicularto both a and b原创 2020-12-30 15:45:51 · 21428 阅读 · 0 评论 -
np.random中各随机采样函数一览
np.random.uniform()语法numpy.random.uniform(low=0.0, high=1.0, size = None)作用返回一个均匀分布的采样结果。 左闭右开区间[low, high).返回数组的shape与size相同。参数low: 下界,默认为0.0high: 上界,默认为1.0size: 返回数组的shape, 默认为None,即返回一个单值举例>>> a = np.random.uniform(1,2,(3,4))>&原创 2020-12-30 15:23:22 · 877 阅读 · 1 评论 -
np.clip分析
np.clip分析语法np.clip(a, a_min, a_max, out=None, **kwarys)作用对数组a进行裁剪,小于a_min 的数用a_min代替, 大于a_max的数用a_max代替。需要注意的是,函数本身并不会对a_min和a_max之间的大小进行检查。参数a: 待裁剪的数组a_min: 下界a_max: 上界示例>>> a = np.arange(10)>>> print(a)array([0, 1, 2, 3,原创 2020-12-30 15:21:33 · 224 阅读 · 0 评论 -
Python库glob作用分析
Python 中 glob作用简介glob库中有两个函数:glob.glob(), glob.iglob(). 其作用是:遍历给定文件夹下所有符合条件的文件。常用的匹配符有:* 代表所有? 代表满足单个字符[]代表满足list中指定的字符glob.glob(path, *, recursive=False)在这里只介绍最基础的用法,用到的时候再深究。partition = "train"path_list = glob.glob(os.path.join(DATA_DIR, 'mod原创 2020-12-27 10:35:07 · 854 阅读 · 1 评论 -
torch.nn.parameter.Parameter分析
torch.nn.parameter.Parameter作用a kind of Tensor that is to be considered a module parameter.Parameter是一种可以作为模型参数的Tensor.Parameters are Tensor subclasses, that have a very special property when used with Module S ----when they’re assigned as Module at原创 2020-12-26 15:30:35 · 1619 阅读 · 1 评论 -
torch.stack作用分析
torch.stack作用分析语法torch.stack(tensors, dim=0, *, out=None) --> Tensor作用Concatenates a sequence of tensors along a new dimension.All tensor need to be of the same size将一个序列的tensor在新的一维上concatenate起来,所有tensor的shape需要相同。Parameterstensors(seque原创 2020-12-26 15:29:36 · 164 阅读 · 0 评论 -
The Illustrated Transformer (Transformer可视化解读自译笔记)
图解TransformerReference: The Illustrated Transformer本文自译用于加深理解与印象。关于注意力机制,可以参考先前的Seq2Seq Model with AttentionTransformer是论文Attention is All You Need提出的。在这篇文章中,我们将尝试把事情弄得简单一点,逐个介绍概念,以便更好理解。A High-Level Look我们首先把模型看作是一个黑箱。在机器翻译领域的应用中,输入一种语言的一个句子,会输出另外原创 2020-12-19 15:59:43 · 1090 阅读 · 1 评论 -
Seq2Seq Model With Attention(带有注意力机制的序列到序列模型可视化解读)
Mechanics of Seq2Seq Models With AttentionReference: Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)前言Sequence-to-sequence模型在深度学习领域取得了很多成就。这文章真的牛逼。有视频不翻译了。...原创 2020-12-19 15:42:26 · 484 阅读 · 1 评论 -
NLP:语言模型与n元语法
语言模型前言DCP用到了Transformer,其很多实现的Motivation都来自于Sq2Sq的启发。所以重新回顾学习语言模型。Reference: 《Dive into Deep Learning》语言模型语言模型是自然语言处理的重要技术。自然语言处理中最常见的数据是文本数据。 我们可以把一段自然语言文本看做一段离散的时间序列。假设一段长度为T的文本中的词依次为w1,w2,...,wTw_1,w_2,...,w_Tw1,w2,...,wT, 那么在离散的时间序列中,wt(1≤t≤T原创 2020-12-16 15:37:21 · 769 阅读 · 1 评论 -
一维卷积与二维卷积:Conv1d与Conv2d详解
Conv1d与Conv2d本文分为几个部分来详解Conv2d与Conv1d。主要侧重于Conv2d前言本文记于2020年12月15日,起因是DGCNN中部分卷积使用了二维卷积,部分卷积使用了一维卷积。加之之前对Conv2d与Conv1d属于一种迷迷糊糊的状态,趁着这个机会弄清楚。Conv2d原理(二维卷积层)二维互相关运算互相关运算与卷积运算虽然卷积层得名于卷积(convolution)运算,但所有框架在实现卷积层的底层,都采用的是互相关运算。实际上,卷积运算与互相关运算类似,为了得到卷积运算原创 2020-12-15 20:15:15 · 29080 阅读 · 2 评论 -
AdaptiveMaxPool的作用
AdaptiveMaxPoolAdaptiveMaxPool是PyTorch中提供的自适应池化层。其主要特殊的地方在于:无论输入Input的size是多少,输出的size总为指定的size。AdaptiveMaxPool1d()m = nn.AdaptiveMaxPool1d(3)input = torch.randn(4,3,7)output = m(input) # output的size为(4,3,3)AdaptiveMaxPool2d()m = nn.AdaptiveMaxP原创 2020-12-14 16:04:01 · 5334 阅读 · 0 评论 -
LeakyReLU函数解析
LeakyReLU语法CLASS torch.nn.LeakyReLU(negative_slope: float = 0.01, inplace: bool = False)作用Element-wise对于每个x,应用函数如图:函数图像原创 2020-12-14 15:23:56 · 12657 阅读 · 6 评论 -
为什么需要Tensor.contiguous()? PyTorch中Tensor.contiguous()作用分析
为什么需要Tensor.contiguous()Tensor.contiguous()作用Returns a contiguous in memory tensor containing the same data as self tensor. If self tensor is already in the specified memory format, this function returns the self tensor.作用在官方文档里,描述的看似清晰但又模棱两可。例如x是一个Te原创 2020-12-14 11:01:45 · 4792 阅读 · 2 评论 -
PyTorch搜索Tensor指定维度的前K大个(K小个)元素--------(torch.topk)命令参数详解及举例
torch.topk语法torch.topk(input, k, dim=None, largest=True, sorted=True, *, out = None)作用返回输入tensorinput中,在给定的维度dim上k个最大的元素。如果dim没有给定,那么选择输入input的最后一维。如果largest = False,那么返回k个最小的元素。返回一个namedtuple类型的元组(values, indices),其中indices是指元素在原数组中的索引。sorted =原创 2020-12-13 21:36:52 · 6144 阅读 · 0 评论 -
MATrICP论文解读
MATrICP论文Improved techniques for multi-view registration with motion averagingLi, Zhongyu Zhu, Jihua Lan, Ke Li, Chen Fang, Chaowei核心思想将Trimmed ICP与运动平均算法结合起来,应用到多视角聚类上。算法步骤1. 估算各帧之间的重叠百分比ξi,j\xi_{i,j}ξi,j总的来说,估算各帧之间的重叠百分比主要分为两步:(1) 对于每一帧,计算其dt原创 2020-12-03 10:35:47 · 304 阅读 · 2 评论 -
numpy.tile作用,语法,参数分析以及举例
numpy.tile语法numpy.tile(A,reps)作用Construct an array by repeating A the number of times given by reps.If reps has length d, the result will have dimension ofmax(d, A.ndim).If A.ndim < d, A is promoted to be d-dimensional by prepending newaxes. So原创 2020-11-29 10:43:44 · 913 阅读 · 0 评论 -
numpy.repeat作用,语法,参数解读以及实例
numpy.repeat()作用可以用于重复数组中的元素语法numpy.repeat(a, repeats, axis=None)参数解读Parametersa : array_likeInput array.repeats : int or array of intsThe number of repetitions for each element. repeats is broadcastedto fit the shape of the given axis.axis原创 2020-11-29 10:05:22 · 8096 阅读 · 1 评论 -
混合模型简介与高斯混合模型
高斯混合模型混合模型概述In statistics, a mixture model is a probabilistic model for representing the presence of subpopulations within an overall population, without requiring that an observed data set should identify the sub-population to which an individual obser原创 2020-11-26 20:29:45 · 2686 阅读 · 0 评论 -
贝叶斯推理(Bayesian inference)
Reference: Wikipedia:Bayesian_inferenceBayesian inference is a method of statistical inference in which Bayes’ theorem is used to update the probability for a hypothesis as more evidence or information becomes available. Bayesian inference is an impor.原创 2020-11-25 23:30:00 · 13953 阅读 · 0 评论 -
边际似然函数(贝叶斯统计背景下)
边际似然函数统计学中,边际似然函数(marginal likelihood function 或 integrated likelihood)是一种似然函数,其中某些参数变量被边缘化。在贝叶斯统计的背景下,它常常代指证据evidence或模型证据model evidence。概念给定一组独立同分布的数据点X=(x1,…,xn)X = ({x_1}, \ldots ,{x_n})X=(x1,…,xn),其中xi∼p(xi∣θ){x_i} \sim p({x_i}|\theta )xi∼p(xi∣原创 2020-11-25 16:57:56 · 8705 阅读 · 0 评论 -
Python中李群SO(3)与李代数so(3)之间指数映射与实现源码
Python中李群SO(3)与李代数so(3)之间指数映射与实现源码调用scipy.linalg.expm()对于李群SE(3)、SO(3),和与其对应的李代数se(3),so(3)。指数映射是十分重要的。在Python中我们可以调用:scipy.linalg.expm()来将李代数$\xi $对应的反对称矩阵${\hat \xi }$映射到其对应的旋转矩阵$R$。源码示例import scipy.linalg.expm as expmdef SkewFun(a): """ g原创 2020-11-22 10:24:11 · 2305 阅读 · 1 评论 -
numpy求矩阵的特征值与特征向量(np.linalg.eig函数详解)
numpy求矩阵的特征值与特征向量(np.linalg.eig)语法np.linalg.eig(a)功能Compute the eigenvalues and right eigenvectors of a square array.求方阵(n x n)的特征值与右特征向量Parametersa : (…, M, M) arrayMatrices for which the eigenvalues and right eigenvectors willbe computeda原创 2020-11-22 10:12:58 · 25778 阅读 · 10 评论 -
协方差矩阵数学原理,numpy计算协方差矩阵(np.cov)函数详解与源码剖析
协方差矩阵详解以及numpy计算协方差矩阵(np.cov)协方差矩阵详解均值,标准差与方差由简单的统计学基础知识,我们有如下公式:Xˉ=∑i=1nXin\bar X{\rm{ = }}\frac{{\sum\limits_{i = 1}^n {{X_i}} }}{{\rm{n}}}Xˉ=ni=1∑nXiS=∑i=1n(Xi−Xˉ)2n−1S = \sqrt {\frac{{\sum\limits_{i = 1}^n {{{({X_i} - \bar X)}^2}} }}{{n - 1}}}S原创 2020-11-22 10:06:04 · 12095 阅读 · 3 评论 -
Python中表示自然底数与浮点数精度(等效于MATLAB中eps)
python中怎么表示自然底数e和浮点数精度epsilon自然底数e可以直接使用math.e表示。浮点数精度epsilon可以使用np.spacing(1)来表征epsilon,等效于MATLAB中的eps.如果觉得文章有帮助,可以点个赞,是对博主最大的肯定!...原创 2020-11-22 09:54:52 · 4048 阅读 · 0 评论 -
Python判断不可变对象(字符串,整数,浮点数,数组)相等的办法以及其底层实现原理
Python判断不可变对象(字符串,整数,浮点数,数组)相等的办法以及其底层实现原理Python中,判断不可变对象是否相等与Java十分不同。结论Python中判断两个字符串相等:既可以使用"==",又可以使用"is"。判断整数,浮点数以及Tuple时,最好使用"=="这个问题可以进一步引申至Python的底层实现原理上。原理整数Python在底层实现中,一切都是对象。包括整数等也是对象。这些基本的不可变对象在python里会被频繁的引用,创建,如果不能重用的话,极易导致效率瓶颈,所以pyt原创 2020-11-22 09:42:51 · 611 阅读 · 0 评论 -
Python中利用parse_args与namespace来简化函数传参
python中parse_args以及namespace声明:本笔记记录的是使用parse_args在函数内部进行传参,并非在命令行进行输入。所有操作均需先进行import argparse。通过以下操作,可以在传参时直接传入args这个namespace,而不是具体的某个参数。创建argparse对象,设置参数以及默认值使用argparse.ArgumentParser()创建对象,使用argparser.add_argument()操作设置参数以及默认值。Example:parser = a原创 2020-11-21 22:15:58 · 3775 阅读 · 3 评论 -
Python中如何创建元素为ndarray的list
python如何使得list中的元素是ndarray在一个代码实现时,会想要类似MATLAB一样,拥有一个struct类型的数组,数组中的每个cell都是一个ndarray。因为在某些维度上shape不同,所以不能整合为一个大的ndarray。要实现上述需求,可以进行如下操作:targetList = []targetList.append(ndarray)这样即可获得由ndarray构成的list,可以进一步对list进行concatenate等操作再次整合。...原创 2020-11-21 22:11:58 · 820 阅读 · 0 评论 -
python判断列表为空的三种方法
python中判断列表为空判断列表为空是一个非常基础的问题。但是也有很多写法。方法1:len()list = []if len(list) == 0: print('list is empty')方法2:直接使用if判断list = []if not list: print('list is empty')直接使用list作为判断标准,则空列表相当于False方法3:使用==进行判断EmptyList = []list = []if list==EmptyList原创 2020-11-21 22:08:32 · 83261 阅读 · 8 评论 -
numpy拼接多维数组(numpy.concatenate命令详解)
numpy.concatenate语法numpy.concatenate((a1,a2,...), axis=0, out=None, dtype=None, casting="same_kind")作用将一个数组序列在指定的维度上进行连接joinParametera1,a2,… : sequence of array_likeThe arrays must have the same shape, except in the dimension corresponding to axi原创 2020-11-21 22:06:20 · 13372 阅读 · 0 评论 -
numpy中求解范数(numpy.linalg.norm)以及各阶范数详解
numpy.linalg.norm语法numpy.linalg.norm(x,ord=None,axis=None,keepdims=False)Parametersx: array_likeInput array. If axis is None, x must be 1-D or 2-D, unless ord is None. If both axis and ord are None, the 2-norm of x.ravel will be returned.X是输入的arr原创 2020-11-21 21:59:04 · 13501 阅读 · 1 评论 -
ndarray的转置(numpy.transpose()与A.T命令对比详解)
ndarray的转置(transpose)对于A是由np.ndarray表示的情况:可以直接使用命令A.T。也可以使用命令A.transpose()。A.T 与 A.transpose()对比结论:在默认情况下,两者效果相同,但transpose()可以指定交换的axis维度。对于一维数组,两者均不改变,返回原数组。对于二维数组,默认进行标准的转置操作。对于多维数组A,A.shape为(a,b,c,d,...,n),则转置后的shape为(n,...,d,c,b,a),即逆序。对于.tr原创 2020-11-21 21:53:13 · 5680 阅读 · 1 评论