![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 79
DCGJ666
初步进入代码奇妙世界的小白
展开
-
三维重建总结
三维场景渲染与重建是利用场景的图形或图像等信息渲染出特定观测视点的场景图像和重建出三维场景的结构模型,它是计算机视觉中的一个重要的研究课题,开展该方面的研究对于模型识别、虚拟现实、探险救援、军事侦察等都具有非常重要的意义。经典的三维场景渲染与重建方法按照基本处理单位的不同分为:以像素点作为基本处理单位逐点进行渲染与重建,该方法获得的渲染图像和重建模型比较真实,但是速度较慢;以网格作为基本处理单位进行渲染与重建,该计算速度较快,基本能满足实时渲染的要求,但是当网格内包含目标边界时导致渲染图像和重建模型失真。另原创 2022-10-06 09:58:14 · 1872 阅读 · 0 评论 -
2022多目标跟踪论文阅读总结
为了缓解检测噪声,提出了一种新的特征存储和更新策略EMA bank,以同时保持不同的特征转态和特征变化的信息。成对的关联是有效的,但是缺乏一下明确的整体轨迹模型,有时会与严重的遮挡或强烈的外观变化导致失败。,提出了一种在线时间自适应卷积的方法,利用时间信息,通过根据前一帧动态校准卷积权值来增强空间特征。首先对检测图和轨迹图进行匹配,图的匹配问题是使匹配的顶点与由这些顶点连接的对应边之间的相似性最大化。2.相似性映射的细化。:最大化所有匹配顶点之间的顶点亲和度,并最小化所有匹配边之间的边权值的差异。原创 2022-10-06 09:57:57 · 1466 阅读 · 1 评论 -
匈牙利算法与卡尔曼滤波
首先,对匈牙利算法解决的问题进行概述:实际中,会遇到这样的问题,有n项不同的任务,需要n个人分别完成其中的1项,每个人完成任务的时间不一样。于是就有一个问题,如何分配任务使得花费时间最少。通俗来讲,就是n*n矩阵中,选取n个元素,每行每列各有一个元素,使得和最小。可以抽象成一个矩阵,如果是求和最小问题,那么这个矩阵就叫做花费矩阵(Cost Matrix);如果要求的问题是使之和最大化,那么这个矩阵就叫做利益矩阵(Profit Matrix).原创 2022-10-06 09:56:46 · 1073 阅读 · 0 评论 -
图神经网络基础知识
在向量空间中,所有对象的向量都是互相正交的,那么它们两两之间的相似度为0. 此外,独热向量的维度可能会非常高并且非常稀疏,直接使用的话也非常困难。在使用多层GCN之后,节点的区分性变得越来越差,节点的表示向量趋于一致,这使得相应的学习任务变得更加困难。之前介绍的所有GNN的变体模型中,都没有显式地考虑节点之间关系的不同,相较于同构图,现实生活中的图数据往往是异构的,即图里面存在不止一种类型的关系。现在常使用deepgcn.上的特征向量,k表示第k次消息传播,在实际编程中,一般和模型中的层的概念等价。原创 2022-10-06 09:56:27 · 876 阅读 · 0 评论 -
深度学习面经总结
多个有2种,一种的dataparallel,一种的distributeddataparallel。DP的话是每张卡把梯度汇总给主卡,然后主卡做反向传播更新再把参数发给其他卡DDP是大家把梯度汇总之后各自在各自的卡里面更新。DDP是多进程,DP是单进程多线程,避免了GIL带来的性能开销DDP是大家各自传播梯度后,用ring all reduce做平均并传会给大家,然后大家各自做更新。原创 2022-10-06 09:56:00 · 790 阅读 · 0 评论 -
视觉传感器总结
视觉传感器总结激光雷达优势结构组成分类激光雷达的性能评估3D深度传感ToF工作原理测量δT\delta{T}δT方法连续波方法脉冲方法立体视觉优点缺点结构光优点缺点惯性导航系统简介惯性测量单元激光雷达与雷达工作原理类似,激光雷达通过测量激光信号的时间差和相位差来确定位置,但其最大优势在于能够利用多普勒成像技术,创建出目标清晰的3D图像。激光雷达通过发射和接收激光束,分析激光遇到目标对象后的折返时间,计算出到目标对象的相对距离,并利用此过程中收集到的目标对象表面大量密集的点的三维坐标、反射率和纹理等信息,原创 2022-05-31 19:39:24 · 4293 阅读 · 0 评论 -
机器学习—马尔科夫蒙特卡洛
机器学习—MCMC蒙特卡洛方法MCMC平稳分布MCMC是一种随机的近似推断,其核心就是基于采样的随机近似方法蒙特卡洛方法。对于采样任务来说,有下面一些常用的场景:采样作为任务,用于生成新的样本求和/求积分采样结束后,我们需要评价采样出来的样本点是不是好的样本集:样本趋向于高概率的区域样本之间必须独立具体采样中,采样时一个困难的过程:无法采样得到归一化因子,即无法直接对概率p(x)=1Zp^(x)p(x)=\frac{1}{Z}\hat{p}(x)p(x)=Z1p^(x)采样,常常需要对原创 2022-05-25 16:05:19 · 661 阅读 · 0 评论 -
机器学习——变分推断
机器学习——变分推断基于平均场假设的变分推断SGVI我们已经知道概率模型可以分为,频率派的优化问题和贝叶斯派的积分问题。从贝叶斯角度来看推断,对于x^\hat{x}x^这样的新样本,需要得到:p(x^∣X)=∫θp(x^,θ∣X)dθ=∫θp(θ∣X)p(x^∣θ,X)dθp(\hat{x}|X)=\int_\theta p(\hat{x},\theta|X)d\theta=\int_\theta p(\theta|X)p(\hat{x}|\theta,X)d\thetap(x^∣X)=∫θp(x^,原创 2022-05-24 18:15:26 · 262 阅读 · 0 评论 -
机器学习—高斯混合模型
机器学习—高斯混合模型极大似然估计EM求解GMM为了解决高斯模型的单峰性的问题,我们引入多个高斯模型的加权平均来拟合多峰数据:p(x)=∑k=1KαkN(μk,Σk)p(x)=\sum_{k=1}^K\alpha_k\mathcal{N}(\mu_k,\Sigma_k)p(x)=k=1∑KαkN(μk,Σk)引入隐变量z,这个变量表示对应的样本x属于一个高斯分布,这个变量时一个离散的随机变量:p(z=i)=pi,∑i=1kp(z=i)=1p(z=i)=p_i,\sum_{i=1}^kp(z=原创 2022-05-23 12:25:31 · 446 阅读 · 0 评论 -
机器学习——期望最大(EM)
机器学习——期望最大(EM)广义EMEM的推广期望最大算法的目的是解决具有隐变量的混合模型的参数估计(极大似然估计)。MLE对p(x∣θ)p(x|\theta)p(x∣θ)参数的估计记为:θMLE=argmaxθlogp(x∣θ)\theta_{MLE}=argmax_{\theta}logp(x|\theta)θMLE=argmaxθlogp(x∣θ)。EM算法对这个问题的解决方法是采用迭代的方法:θt+1=argmaxθ∫zlog[p(x,z∣θ)]p(z∣x,θt)dz=Ez∣x,θt[lo原创 2022-05-22 16:26:46 · 293 阅读 · 0 评论 -
机器学习——指数族分布
机器学习——指数族分布一维高斯分布充分统计量和对数配分函数的关系充分统计量和极大似然估计最大熵指数族是一类分布,包括高斯分布、伯努利分布、二项分布、泊松分布、Beta分布、Dirichlet分布、Gamma分布等一系列分布。指数族分布可以写为统一的形式:p(x∣η)=h(x)exp(ηTϕ(x)−A(η))=1exp(A(η))h(x)exp(ηTϕ(x))p(x|\eta)=h(x)\exp(\eta^T\phi(x)-A(\eta))=\frac{1}{\exp(A(\eta))}h(x)\原创 2022-05-20 16:50:01 · 1465 阅读 · 0 评论 -
机器学习——支持向量机
机器学习——支持向量机约束优化问题KKT条件Hard-margin SVMSoft-margin SVMKernel Method支撑向量机(SVM)算法三大宝:间隔、对偶、核技巧支持向量机(SVM)算法在分类问题中有着重要地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:线性可分问题,如之前的感知机算法处理的问题线性可分,只有一点点错误点,如感知机算法发展出来的Pocket算法处理问题非线性问题,完全不可分,如在感知机问题发展处理的多层感知机和深度学习这三种情况对于SVM分别有下面三原创 2022-05-19 14:56:08 · 452 阅读 · 0 评论 -
机器学习——降维
机器学习——降维线性降维-主成分分析PCA损失函数SVD与PCoAp-PCA小结降维的思路来源于维度灾难的问题,我们知道n维球的体积为:CRnCR^nCRn那么在求体积与边长为2R2R2R的超立方体比值为:limn→0CRn2nRn=0\lim\limits_{n\rightarrow0}\frac{CR^n}{2^nR^n}=0n→0lim2nRnCRn=0这就是所谓的维度灾难,在高维数据中,主要样本都分布在立方体的边缘,所以数据集更加稀疏。(因为,维度越高的球,靠近边缘的空间越大,如果数原创 2022-05-18 14:42:46 · 510 阅读 · 0 评论 -
机器学习——线性分类
机器学习——线性分类线性分类二分类-硬分类-感知机算法二分类-硬分类-线性判别分析LDA二分类-软分类-概率判别模型-Logistic回归二分类-软分类-概率生成模型-高斯判别分析GDA二分类-软分类-概率生成模型-朴素贝叶斯线性分类对于分类任务,线性回归模型就无能为力了,但是我们可以在线性模型的函数进行后再加入一层激活函数,这个函数是非线性的,激活函数的反函数叫做链接函数。我们有两种线性分类的方式:硬分类,我们直接需要输出观测对应的分类。这类模型的代表为:线性判别分析(Fisher判别)感原创 2022-05-17 22:40:54 · 431 阅读 · 0 评论 -
机器学习——正则化
机器学习——正则化前言贝叶斯角度L1正则化L2正则化推导验证L1 LassoL2 Ridge(权重衰减)前言在实际应用中,如果样本容量不远远大于样本的特征维度,很可能造成过拟合,对这种情况,可以采用以下三个解决方式:丰富训练集数据特征选择,如PCA算法(降低维度)正则化正则化一般是在损失函数上加入正则化项(表示模型的复杂度对模型的惩罚)L1正则化——>主要是使得参数矩阵稀疏化,用于减少模型复杂度:L1:argminwL(w)+λ∣∣w∣∣1,λ>0L1:argmin_wL(w)原创 2022-05-12 15:24:48 · 456 阅读 · 0 评论 -
机器学习——马氏距离
机器学习——马氏距离前言马氏距离马氏距离的推导前言在介绍马氏距离之前,我们首先看如下概念:方差:方差是标准差的平方,而标准差的意义是数据集中各个点到均值点距离的平均值。反应的是数据的离散程度协方差:标准差与方差是描述一维数据的,当存在多维数据时,我们通常需要知道每个维数的变量中间是否存在关联。**协方差就是衡量多维数据集中,变量之间相关性的统计量。**比如说,一个人的身高与他的体重的关系,这就需要用协方差来衡量。如果两个变量之间的协方差为正值,则这两个变量之间存在正相关,若为负值,则为负相关。协原创 2022-05-11 21:40:41 · 1446 阅读 · 0 评论 -
机器学习——线性回归
机器学习——线性回归线性回归最小二乘法噪声为高斯分布的MLE一维的高斯分布p维高斯分布MLE极大似然估计线性回归假设数据集为:D={(x1,y1),(x2,y2),...,(xN,yN)}D = \{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}D={(x1,y1),(x2,y2),...,(xN,yN)}后面我们记:X=(x1,x2,...,xN)T,Y=(y1,y2,...,yN)TX=(x_1,x_2,...,x_N)^T, Y=(y_1,y_2,...,原创 2022-05-10 18:12:00 · 329 阅读 · 0 评论 -
机器学习——评价指标
机器学习——评价指标评价指标准确率(Accuracy)精确率/查准率(Precision)查全率(Recall)F1-scoreROC和AUCPR曲线IOU和mIOUAP和mAPAUC的含义以及是否对正负样本比例敏感?评价指标真阳性(True Positive, TP):标签为正类,预测为正类假阳性(False Positive, FP):标签为负类,预测为正类(错检)假阴性(False Negative, FN):标签为正类,预测为负类(漏检)真阴性(True Negative, TN):标签原创 2022-05-02 13:32:02 · 1580 阅读 · 0 评论 -
机器学习——线性回归与逻辑回归
机器学习——线性回归与逻辑回归两者的优缺点逻辑回归LR推导回归和分类的区别逻辑回归特征是否归一化如何提升LR的模型性能逻辑回归为啥要做特征离散化最小二乘法在什么条件下与极大似然估计等价逻辑回归为什么不用平方损失函数LR可以处理非线性情况吗?LR的参数可以初始化0吗?两者的优缺点优点模型简单,原理容易理解计算代价不高,易于理解和实现缺点易过拟合特征很多的时候,效果 不好处理线性问题效果比较好,而对于更复杂的问题可能效果较差逻辑回归LR推导基本条件线性回归: ∑i=0mθixi\su原创 2022-04-28 20:39:59 · 1284 阅读 · 0 评论 -
VuKrpfJHsV
sad原创 2022-04-26 16:32:18 · 330 阅读 · 0 评论 -
机器学习——KNN
机器学习——KNNKNN的优缺点KNN概述KNN的K值怎么选KNN数据需要归一化吗?KNN三要素欧式距离与曼哈顿距离区别KNN的k设置过大会有什么问题KNN的优缺点优点:简单易用,相比其他算法,KNN算式比较简洁明了的算法模型训练速度快预测效果好对异常值不敏感缺点:对内存要求较高,因为该算法存储了所有训练数据预测阶段可能很慢对不相关的功能和数据规模敏感对数据量纲敏感,所以数据要先归一化KNN概述KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,KNN的原创 2022-04-25 21:34:17 · 1077 阅读 · 0 评论 -
机器学习——决策树
机器学习——决策树理解决策树优缺点决策树概况ID3和C4.5的区别树模型对离散特征怎么处理的决策树出现过拟合的原因及解决办法如何对决策树进行剪枝决策树不需要归一化处理决策树与逻辑回归的区别决策树的损失函数理解决策树是一种分类方法,像一棵树一样进入不同的分支,然后直到叶子节点得到分类结果。那么如何进入不同的分支?这就是最重要的内容,涉及到节点(特征)的划分标准,有三种:最大信息增益、最大信息增益率、基尼系数。而这三种不同的划分标准就对应了三种典型决策树:ID3(最大信息增益)、C4.5(最大信息增益率)、原创 2022-04-24 14:10:55 · 1066 阅读 · 0 评论 -
机器学习——模型优化
机器学习——模型优化模型压缩方法squeezeNet的Fire Module有什么特点?模型压缩方法低秩近似神经网络的基本运算卷积,实则就是矩阵运算,低秩近似的技术是通过一系列小规模矩阵将权重矩阵重构出来,以此降低运算量和存储开销。目前有两种常用的方法:一是Toeplitz矩阵(指矩阵中每条自左上至右下的斜线上的元素相同)直接重构权重矩阵,二是奇异值分解(SVD),将权重矩阵分解为若干个小矩阵。剪枝与稀疏约束剪枝是模型压缩领域中一种经典的后处理技术,典型应用如决策树的前剪枝和后剪枝。剪枝技术可以原创 2022-04-22 20:54:13 · 1502 阅读 · 0 评论 -
机器学习——朴素贝叶斯
机器学习——朴素贝叶斯朴素贝叶斯贝叶斯公式朴素贝叶斯的“朴素”怎么理解什么是拉普拉斯平滑法朴素贝叶斯的应用朴素贝叶斯对异常值敏不敏感先验概率与后验概率优点:算法逻辑简单,易于实现分类过程中时空开销小,分类准确率高,速度快朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率对缺失数据不太敏感,算法也比较简单,常用于文本分类对小规模的数据表现很好,能处理多分类任务,适合增量式训练缺点:理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设原创 2022-04-22 17:37:06 · 3503 阅读 · 0 评论 -
显著性检测评估指标及计算方法
显著性检测评估指标及计算方法MAE定义计算方式Fmeasure定义计算方式Smeasure定义计算方式PR_Curve定义计算方式MAE定义Mean Absolute Error(平均绝对误差), 观测值与真实值的误差绝对值的平均值。计算方式MAE=1H×W∑x=1H∑y=1W∣P(x,y)−G(x,y)∣MAE=\frac{1}{H \times W} \sum_{x=1}^{H} \sum_{y=1}^{W}|P(x, y)-G(x, y)|MAE=H×W1∑x=1H∑y=1W∣P(x,原创 2021-07-18 19:11:54 · 4837 阅读 · 3 评论 -
Pytorch可视化模型的特定层
Pytorch可视化模型的特定层Import特定的库编写forward_hook函数模型初始化及可视化层注册输入图片进行处理并进行可视化Import特定的库import torchimport torchvisionfrom torchvision import transformsfrom torchvision import utilsimport cv2import nunmpy as npfrom PIL import Image编写forward_hook函数该函数用于模型注原创 2021-07-11 17:26:12 · 395 阅读 · 0 评论 -
pytorch关于model的问题
pytorch关于model的问题named_modulesmoduleschildrennamed_childrenparametersnamed_parametersstate_dictnamed_modulesmodel.named_modules(),不但返回模型的所有子层,还会返回这些层的名字。这里的所有子层的意思指的是,会把可以迭代的层全部迭代一遍。In [28]: len(model_named_modules)原创 2021-06-21 15:42:24 · 536 阅读 · 0 评论 -
深度学习基本模块
深度学习基本模块OptimizationSGD公式while True: dx = compute_gradient(x) x -= learning_rate * dxSGD+Momentum公式:vx = 0while True: dx = compute_gradient(x) vx = rho*vx+dx x -= learning_rate * vxAdaGradAdaGrad就是在sgd的基础上除以一个项,使得在梯度变化快的地方原创 2021-04-16 17:09:40 · 268 阅读 · 0 评论 -
cs231n_Convolution
ConvolutionalNetworks原理与总结卷积过程就是利用卷积核在原始图像或者特征图上进行卷积操作,卷积核的个数决定了最终卷积获得的特征层层数作业实现conv_forward_navie这个函数通过四个for循环,首先在每一张图像上的每一个像素执行不同卷积核的卷积操作。在卷积之前还需要进行原图的padding测试结果:Aside: Image processing via convolutions该模块通过指定卷积核的数值,实现边缘提取测试结果:Naive backwa原创 2021-04-16 17:08:00 · 123 阅读 · 0 评论 -
cs231n_dropout
Dropout原理与总结Dropout的原理比较简单,主要随机失活部分神经元,通过小模型集成的方式增加模型的鲁棒性,在反向传播时要记得进行尺度恢复。作业实现dropout_forward利用np.random.rand取得(0,1)之间的随机数,统计数量大小进行随机失活测试结果:dropout_backward要注意要恢复尺度,除以失活系数pRegularization experiment分别测试不同的p,分别为0,0.25,0.5,0.75QuestionExplain原创 2021-04-16 17:02:01 · 209 阅读 · 0 评论 -
cs231n_Batch Normalization
Batch Normalization原理与总结Batch Normalization 能够使得数据进行归一处理,可以解决内部协变量偏移,可以缓解梯度饱和问题。公式:μ=1m∑i=1mxi\mu = \frac{1}{m}\sum_{i=1}^mx_iμ=m1∑i=1mxi 求出数据的均值σ2=1m∑i=1m(xi−μ)2\sigma^2 = \frac{1}{m}\sum_{i=1}^m(x_i-\mu)^2σ2=m1∑i=1m(xi−μ)2 求出数据的方差x^i=xi−μσ2+ϵ原创 2021-04-16 17:00:37 · 366 阅读 · 0 评论 -
cs231n_two_layer_net
two_layer_nettwo_layer_net原理首先该模型的主要公式为f=W2max(0,W1x+b1)+b2f=W_2max(0,W_1x+b_1)+b_2f=W2max(0,W1x+b1)+b2, 在计算梯度时,首先计算W2W_2W2的梯度,然后计算W1W_1W1的梯度Propagation:FC1out=X.W1+b1FC_1out=X.W_1+b_1FC1out=X.W1+b1Hout=maximum(0,FC1out)H_{out}=maximum(0,FC_1原创 2021-04-16 15:58:17 · 752 阅读 · 0 评论 -
cs231_features
features 作业features原理改变只将原图的像素作为特征表示,将原图的hog特征,作为该图的特征表示改变只将原图的像素作为特征表示,将原图的颜色直方图作为该图的特征表示features.ipynb训练SVM on features# Use the validation set to tune the learning rate and regularization strengthfrom cs231n.classifiers.linear_classifier imp原创 2021-04-16 15:57:08 · 439 阅读 · 0 评论 -
cs231n_Softmax
Softmax作业Softmax原理softmax classifier(Multinomial Logistic Regression)。其中softmax函数的表达式为P(Y=k∣X=xi)=esk∑jesjP(Y=k|X=x_i)=\frac{e^{s_k}}{\sum_j{e^{s_j}}}P(Y=k∣X=xi)=∑jesjesk其中s=f(xi;W)s=f(x_i;W)s=f(xi;W)由公式可知当预测越准确时PPP越大,因此损失函数为Li=−logP(Y=yi∣X=xi)=−原创 2021-04-16 15:56:22 · 266 阅读 · 0 评论 -
cs231n_Linear_svm
cs231n_Linear_svmLinear_svm原理代码小tipsLinear_svm原理SVM损失:计算了所有不正确的例子,将所有不正确类别的评分与正确类别评分之差再加1,将得到的数值与0比较,取二者最大,然后将所有数值进行求和。计算分数:s=f(x,W)=Wxs=f(x,W)=Wxs=f(x,W)=Wx计算完全损失(有正则项):代码主要是矩阵实现程序import numpy as npfrom random import shufflefrom past.builtins原创 2021-03-04 21:51:59 · 181 阅读 · 1 评论 -
cs231n_KNN
cs231n_KNNKNN原理KNN类小tipsKNN原理KNN 就是 k-Nearest Neighbor, 过程如下:train: 将数据集的数据和对应的标签读入到类中test: 首先计算一个矩阵(num_test, num_train)存储测试集中每一个数据与训练集中每个数据的距离,这里我们采用L2距离进行计算。随后在测试第i张测试图像时,我们选取距离最小的前k个训练图片,将其对应的label存入到closest_y中,然后找出出现次数最多的label,将其作为该测试图像的预测结果。K原创 2021-03-03 20:52:10 · 188 阅读 · 1 评论 -
python创建xml并完成基本的操作
创建XML文件首先导入库文件import xml.dom.minidom as minidom为了创建如下所示的xml文件我们编写如下代码<?xml version="1.0" encoding="utf-8"?><annotation> <source> <filename>A</filename> <origin>B</origin> </source> <research&g原创 2020-07-31 09:26:20 · 313 阅读 · 0 评论 -
人体姿态数据集可视化heatmap,以coco数据集为例
该代码对于一张图进行heatmap图片的可视化,会存储coco的17组关节点图片,即每一个heatmap包含图片中所有人体的同一关节点位置。##生成heatmapimport osimport numpy as npimport jsonimport cv2from itertools import groupbyimport randomfrom matplotlib import pyplot as pltdataset_dir = "D:/send_paper/COCO val201原创 2020-06-26 09:52:25 · 5295 阅读 · 1 评论 -
学习笔记-PyTorch实现ResNet
代码来源:PyTorch学习仓库:https://github.com/yunjey/pytorch-tutorialResnet是何神提出的深度残差网络,旨在减少网络深度对过拟合的影响,采用深度残差进行网络学习F(x)-x在进行代码编写的时候,注意resnet的几个小点:1.由于我这里只用了basicblock,也只写了basicblock,restnet50及以上使用了bottleblo...原创 2019-10-10 20:30:54 · 456 阅读 · 0 评论