
AI数学
文章平均质量分 82
木盏
坐标 北京
喜欢写博客的CV工程师
levio@pku.edu.cn
展开
-
【AI数学】最大似然估计(Maximum-Likelihood Estimation)
最大似然估计(MLE)是统计学里常用的方法,在本科期间的概率论里早已接触过,当时做题犹如砍瓜切菜,但很少去考虑其应用。本文从应用的角度来回顾一下最大似然估计。问:假设有一堆样本xx1x2...xn从分布p上采样得到,我们能否从已知样本尽可能去复原分布p?答:MLE就是这么一个方法。MLE有两个使用前提:1,样本是独立同分布的;2,我们预先设定好一种分布模型;我们以高斯分布为例子进行MLE讲解。x∼Nμσ2,需要拟合的参数只有2个(即均值和方差)。f。原创 2025-01-16 14:14:30 · 574 阅读 · 0 评论 -
三维空间中的球坐标系
初中数学接触过极坐标,用半径r和与x轴夹角θ来表示二维平面上一个点的位置。球坐标系就是极坐标系在三维上的推广。球坐标系在三维场景中非常常见,在三维交互性的设计中也免不了球坐标系的应用,如AR/VR头显中的陀螺仪传感器等。原创 2024-05-17 11:19:37 · 1283 阅读 · 0 评论 -
向量的旋转矩阵
那么,这一理论的数学机理是什么呢?以及,这个旋转角度该怎么用矩阵表示呢?本文用二维向量旋转来推导旋转矩阵的公式。假设,我们有一个向量。我们用极坐标表示向量P和向量Q,默认原点是向量的起点,分别表示P和Q与x轴正向的夹角。,准备通过一个旋转矩阵将其旋转到。矩阵的乘法可以表示旋转。原创 2024-05-01 17:31:26 · 1247 阅读 · 0 评论 -
Linear Blend Skinning (LBS)线性混合蒙皮
假如我们重建好一个人体,现在用全新的姿态对其进行驱动。由图1,2可知,点A在胳膊关节的坐标依旧是(3,1),在手肘关节的坐标从(-1,1)变为了(1,1),我们。,那么手肘关节的坐标在变换后变成了(5,1)。注意,这里的0.8和0.2分别是两个关节点对点A影响点权重。我们最后得到的点A坐标即为(3.4,1)。答:可以通过欧氏距离,也可以自己规定,现在也有很多基于学习的方法。假设我们要确定一直手臂在弯折90度之后,表面的A点的移动位置。手臂弯折后A点的位置就可以通过LBS来进行计算。A点受两个关节点影响。原创 2024-04-25 14:25:48 · 2677 阅读 · 0 评论 -
kmeans聚类sklearn实现(Python实验)
Kmeans毫无疑问,好用又“便宜”的算法,经常在很多轻量化场景中实现。所谓的“聚类”(Clustering),就是通过欧氏距离找哪些点构成一个簇。我们怎么决定哪些点属于哪一簇,以及每簇的中心分别是什么?原创 2024-04-09 12:52:32 · 598 阅读 · 0 评论 -
【AI数学】NeRF中的球面谐波函数(Spherical Harmonics)
球面谐波(SH)因为其良好的性质活跃在NeRF、Plenoxels、3DGS等显隐式场景表示的方法中。问:球面谐波是什么?答:一组基函数。可以理解为傅里叶分解的一种特殊形式,即“任何函数都可以用这组基的算术组合来近似”。原创 2023-12-21 18:16:32 · 3930 阅读 · 0 评论 -
torch.norm求范数
pytorch在数学计算上下足了功夫,在支持海量数学公式的同时还将速度优化到超过大部分用户DIY的水平。所以,pytorch中的每个常见的数学计算函数都需要我们有一定了解。今天介绍的是torch.norm,一个pytorch用来求范数的函数。我们先看求范数的数学公式:原创 2023-11-13 22:21:58 · 612 阅读 · 0 评论 -
Instant-NGP中的多分辨率哈希编码
Instant-NGP的出现,无疑给神经表达领域带来了新的生命力。可认为是NeRF诞生以来的关键里程碑了。首次让我们看到了秒级的重建、毫秒级的渲染的NeRF工作。作为如此顶到爆的工作,Instant-NGP毫无疑问斩获SIGGRAPH 2022的最佳论文。虽然只是五篇最佳论文之一,但就目前的引用量看来,飙升到1000+引用量的Instant-NGP更像是the best of the best。夸归夸,我们研究一下Instant-NGP为何能让包括NeRF在内的四个神经表示任务都达到SOTA呢?原创 2023-10-26 19:21:55 · 2559 阅读 · 0 评论 -
【AI数学】N choose K
今天读论文读到了"N choose K"这个概念,查询以后顺便用博客记录一下~原创 2023-09-20 16:44:13 · 301 阅读 · 0 评论 -
【AI数学】相机成像之外参数
在一个多视点计算机视觉系统里,系统输入除了多个视角的图像外,一般还需要输入对应视角下相机的内外参数。其中,相机内参数决定了图像坐标系和相机三维坐标系的映射关系,而相机外参数则决定了相机三维坐标系和世界坐标系的对应关系。这两组对应关系描述了多视几何的数学基础。原创 2023-06-08 16:18:15 · 2049 阅读 · 0 评论 -
NeRF详解
对于三维重建方向的研究人员来说,NeRF的重要性不言自明。NeRF作为ECCV2022的最佳论文提名之一,是值得精读的经典论文之一。不过,NeRF所涉及的图形学知识过多,对于纯CVer阅读起来较为吃力。本文旨在用朴素易懂的概念来解释NeRF的基本原理。如有不明白之处,欢迎留言交流~NeRF,全称Neural Radiance Field,即神经辐射场。要了解NeRF,首先要知道NeRF是干嘛的,答:三维场景的新视角合成。NeRF是一种使用神经网络来隐式表达3D场景的技术。原创 2023-04-03 18:59:27 · 31103 阅读 · 10 评论 -
【AI数学】相机成像之内参数
咱们可以将Aperture(即孔径点)定义成我们坐标系的原点,以换取更简单的表示形式,则图2中紫色部分的。,在这里为了方便理解,我构建了一个坐标系,原点位置为二维平面的中心位置,z轴方向为相片法向量向外。根据式(8),若想从二维坐标拿到三维坐标,还需要知道深度信息,即目标点离相机的距离。计算机视觉偏底层的工作会跟摄像机打交道,最近正好有接触,所以整理总结一下。本文主要介绍相机内参数,并且给出简单的数学推理。内参数:相机内部的参数,包括焦距、像素偏移等。”,相机内部有一块平面感光元件,物体光线通过。原创 2023-02-11 14:42:12 · 2888 阅读 · 0 评论 -
图文多模态模型CLIP
CLIP带给我的震撼是超过transformer的,这是OpenAI的重要贡献之一。就如官网所描述的:用对比学习(Contrastive Learning)来对齐约束图像模型和文本模型。用文本嵌入指导图像学习,图像嵌入指导文本学习。这样一来,图像分类进入了CLIP时代,不需像传统深度学习图像分类一样,先定义出类别范围,然后准备各类别的数据(比如MNIST的十分类,ImageNet的千分类)。我们有了CLIP,可以直接任意给出一个class set如{“cat”,“dog”, “horse”,“Other”}原创 2022-12-05 23:22:57 · 5689 阅读 · 1 评论 -
【AI数学】交叉熵损失函数CrossEntropy
交叉熵损失(CrossEntropyLoss)函数是分类任务里最常见的损失函数。当然,CrossEntropy(以下简称“CE”)的作用不仅仅是在简单的分类任务里,比如最近大火的图文多模态模型CLIP就用到CE来进行对比学习,稍微改造一下变成Symmetrical Cross Entropy。交叉熵不具有对称性,所以交换变量位置,会导致数值不同。所以,在使用Pytorch内置交叉熵损失函数时,记得注意顺序:(label记得放在后面)简单来说,交叉熵可以用来描述两个分布的差别。先看公式,CrossEntr原创 2022-12-05 20:20:50 · 3247 阅读 · 1 评论 -
【AI数学】余弦相似性(含python实现)
Cosine Similarity,即余弦相似度,又叫余弦相似性。是一个中学数学的概念,即用两个向量之间的夹角余弦值代表这两个向量之间的相似度。Cosine Similarity虽然简单,但广泛应用在AI模型中,比如CLIP计算图像embedding和文本embedding之间的相似性等。Python实现(Pytorch版本)在代码实现中,通常先分别计算A⃗∣A∣\vec{A} \over{\vert{A}\vert}∣A∣A、B⃗∣B∣\vec{B} \over{\vert{B}\vert}∣B∣B原创 2022-12-05 11:54:37 · 3906 阅读 · 2 评论 -
轻量级Visual Transformer模型——LeViT(ICCV2021)
LeViT是FAIR团队发表在ICCV2021上的成果,是轻量级ViT模型中的标杆,文章对ViT中多个部件进行的改进,如加速策略等,对很多工程化铺设ViT系列模型都是很有借鉴意义的。按说,近期出现的优质模型非常多,各种冲击SOTA的,详情可戳我整理的小综述《盘点2021-2022年出现的CV神经网络模型》。但我为何会单独对LeViT拿出来进行详细剖析呢?原因很简单:LeViT非常工程实用,是一款足够优秀的轻量级视觉transformer模型。市面上很多轻量级模型都进入了一个误区:大家都在比拼FLOPs数和原创 2022-03-03 20:19:24 · 11435 阅读 · 5 评论 -
经典光流算法Lucas-Kanade(有图助理解)
光流法是计算机视觉领域非常常用的算法,深度学习时代的CV工程师可能会用到光流法,但鲜有对其实现原理做深度地探索的。今天正好趁着复现一个项目把LK光流法的算法进行一个探索和整理。原创 2021-12-07 23:31:19 · 21104 阅读 · 10 评论 -
【AI数学】用梯度下降算法优化线性回归方程(含代码)
众所周知,线性回归(Linear Regression)是最常见的机器学习算法之一,简单但超级实用。线性回归旨在用线性方程来拟合数据分布,在数据量小计算速度要求高的地方是神经网络的最佳替代品。原创 2021-11-08 16:42:16 · 6258 阅读 · 0 评论 -
Swin Transformer全方位解读【ICCV2021马尔奖】
自从ViT、DETR等尝试把language模型中的王炸transformer使用到视觉领域并得到还不错的验证效果后,研究者们一直在致力于“**如何更好地将语言模型建模到视觉**”这个问题。ViT直接把图片划分patch,用对待word的方式来对待每个patch,轻松将图片建模成sentence;而DETR则需要CNN辅助提取特征,而transformer只是当一个neck。后者更像是一个过渡模式,咱们本文不做过多讨论。原创 2021-10-18 23:15:11 · 13968 阅读 · 9 评论 -
GELU激活函数
GELU是一种常见的激活函数,其图像与ReLU、ELU对比如下:文章链接:https://arxiv.org/pdf/1606.08415.pdf原创 2021-10-18 14:32:22 · 17931 阅读 · 1 评论 -
3D姿态估计的评价指标MPJPE及其变种
MPJPE是“Mean Per Joint Position Error”,即“平均(每)关节位置误差”。MPJPE常常用于3D Human Pose Estimation算法的评价指标。原创 2021-06-23 12:06:41 · 15328 阅读 · 0 评论 -
令人心动的transformer
如果非要找一个模型来作为近三年来AI算法进展的突出代表,我认为transformer定会高票当选。本文作为算法解析文章,倡导思想为主,公式为辅,希望有助于大家理解transformer。行文逻辑为总-分-总结构。本文所有未标来源的图片均为本人所画,引用时请附上本文链接。原创 2021-04-12 11:31:24 · 4442 阅读 · 7 评论 -
【以CVPR模板为实例】Ubuntu下搭建Latex编辑环境(texlive+texstudio)
本文旨在介绍一种ubuntu环境下最方便快捷的latex编辑+编译环境。并成功打开CVPR论文模板。注意本文的关键词:【方便】【快捷】。所有步骤推荐的方法不一定是最佳,但一定是最简单快捷的。本文分三步进行,编辑器->编译器->运行CVPR模板1. 首先是编辑器,在众多tex编辑器界面里,我一眼就相中了Tex Studio。名字有点visual studio的意思。(官网下载,直接安装,无须注册,毫无难度)直接戳链接,下载对应版本:http://texstudio.sourcefo原创 2020-12-02 14:00:15 · 3303 阅读 · 0 评论 -
匈牙利算法(Hungarian Algorithm)
匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法。换句话说就是,在可以接受的时间内去做匹配。1. 描述问题给定2个集合A和B,然后将AB中的元素完成一个连线。(这不就是小时候的连线题么-_-)匈牙利算法就是要找到两个集合促成最多的匹配对!最佳媒婆。这里最适合举的例子就是相亲会。集合A代表所有男嘉宾,集合B代表所有女嘉宾。每个男女嘉宾都有自己的心动嘉宾,此为重要前提。通过一个算法,完成最多的牵线。借用https://blog.youkuaiyun.com/dark_scope/articl原创 2020-10-28 22:13:30 · 10346 阅读 · 8 评论 -
【AI数学】函数拟合之手写梯度反传的简单实验
本人一直对AI背后的数学原理非常感兴趣,今天做了一个“利用梯度反传来拟合函数”的小实验,此实验十分有利于深度学习初学者来了解梯度反向传播的计算步骤,所以顺便也分享一下。文章内容、公式推导和代码均为本人原创。有问题可以评论区交流。实验开始:首先,定义实验的目标函数(我们不知道它的公式,它揭示着自然规律,你只能输入然后看到输出结果,收集有限的样本对)。我们需要用梯度方向传播的方法来拟合这个目标函数。拟合的方法就是通过样本对来斧正咱们的原始函数。大概定义如下:目标函数:yˉ=5x+3\bar{y} =原创 2020-10-26 21:58:41 · 583 阅读 · 0 评论 -
【CVPR2018】Squeeze-and-Excitation Networks (SEnet)
这篇文章发表于CVPR2018,我在2018年就现场听过作者讲这篇文章(因为拖延症,现在才写博客)。这是当年的oral文章,也算Momenta团队近几年最后一个重磅点儿的学术工作了。国际惯例,先给出论文标题和链接。标题:Squeeze-and-Excitation Networks链接:https://arxiv.org/abs/1709.01507话说,在2018年以前,各种CNN结构百花齐放,从Alexnet,VGG,Inception到ResNet,DenseNet,到最后的SEnet。自原创 2020-09-10 22:21:16 · 992 阅读 · 0 评论 -
GNN中的Graph Pooling
前言GNN/GCN在非欧数据中的应用具有极大的挖掘价值。通常,GNN的应用分为两种:1,节点分类;2,图分类。节点分类可以用在点云分割,社交网络节点分类,推荐算法等等。图分类可以用在姿态估计,蛋白质分类等等,当然,也可以用在图像分类。对于节点分类而言,图结构在forward阶段是不会改变的,改变的只是节点的隐藏层属性。如下:对于图分类而言,图结构在前传的时候会downsize,最后聚合成一个点的feature再做MLP:截图来自论文:https://arxiv.org/abs原创 2020-06-25 19:42:49 · 11342 阅读 · 0 评论 -
【GNN】图注意力网络GAT(含代码讲解)
毫无疑问,图神经网络(Graph Neural Networks)是泛计算机视觉领域内继CNN、GAN、NAS等之后的又一个研究热点,非常powerful。GAT是空域GNN的代表模型,Bengio大佬团队出品,发表在ICLR2018,目前谷歌引用已经1k了。它的特点是,很适合作为上手GNN模型。原创 2020-03-06 17:57:02 · 42103 阅读 · 45 评论 -
强化学习之Q-Learning
Q-learning是RL最基础的算法,于1989年由Watkins被提出来,与同样经典的SARSA算法非常类似。按木盏习惯,本文依旧不会大量堆公式,尽量以易理解的方式来表达Q-Learning。1. 查表操作“查表操作”这四个字足以概括Q-Learning的精髓。大家都知道强化学习的用处就是“做决策”,翻译成计算机科学语言就是:在当前的state下选择对应的action。这一步完全可以...原创 2019-07-31 23:29:12 · 5080 阅读 · 1 评论 -
【CVPR2016】OHEM--online negative example mining
现在很少会关注2年以前的顶会论文了,但是像OHEM这样的经典论文还是值得一读。果然论文作者列表里有rbg大神的都是经典文章。国际惯例,先给出文章标题和链接:标题:Training Region-based Object Detectors with Online Hard Example Mining链接:https://arxiv.org/pdf/1604.03540.pdf本文避免...原创 2019-08-13 17:47:17 · 1451 阅读 · 0 评论 -
【ECCV2018】Unsupervised Hard Example Mining from Videos for Object Detection
这篇文章是ECCV2018里唯一的HEM方面的文章,是UMass的研究人员提出的目标检测方面的难例挖掘算法。HEM是“难例挖掘”的意思,让算法能够自己找到很难区分的样本,然后进一步供以训练。最后使得算法可以更好地区分难例。举个栗子:在目标检测算法中,检测器经常会有错检,比如它的目标是检测篮球,但它很容易检测到光头上去。那这个光头,就是一个难例。HEM可以找到这些难例,然后进行针对性训练,以...原创 2019-08-14 15:30:17 · 826 阅读 · 2 评论 -
通俗易懂的Softmax
作为有年头的炼丹师,现在来写softmax讲解多少还是有点羞耻的。不过有炼丹经验以后,看初级的算法可以有更清晰的见解。我们带着2个问题看文章:1. 什么是softmax2. 为什么用softmaxSoftmaxsoftmax往往加在神经网络的输出层,用于加工神经网络的输出结果:把微弱程度不同的信号整理成概率值,这便是机器学习模型对分类任务的置信度confidence。图...原创 2019-09-30 11:35:04 · 4991 阅读 · 0 评论 -
PSNR-峰值信噪比(原理及python代码实现)
PSNR的全称为“Peak Signal-to-Noise Ratio”,直译为中文就是峰值信噪比。是一种衡量图像质量的指标。在很多领域都会需要这个指标,比如在超分辨率重建图像的时候,PSNR就是很重要的指标了。WIKI解释峰值信噪比(英语:Peak signal-to-noise ratio,常缩写为PSNR)是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程...原创 2018-11-28 16:40:30 · 81310 阅读 · 16 评论 -
NMS(非极大值抑制)
NMS: non maximum suppression 翻译为“非极大值抑制”,为什么不翻译成最大值抑制呢?maximum可以翻译为“最大值”,也可以翻译成“极大值”,所以翻译成极大值或者最大值一定要看这个值的含义。极大值和最大值的区别就是,极大值时局部最大值。 NMS的作用:去掉detection任务重复的检测框。 用普通话翻译一下非极大值抑制:不是局部的最大值的那些值都滚蛋 用图片来...原创 2018-07-02 17:02:55 · 35374 阅读 · 13 评论 -
【AI数学】hard negative mining
困难负例挖掘(hard negative mining)是2009年rbg等人发表在TPAMI上的trick,这个trick就类似于AI模型的“错题集”,把难以区分的sample添加进去继续训练。这是一个增加正负样本discrimination的trick,可以一定程度上减少误检。原文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&...原创 2019-07-30 18:03:24 · 1178 阅读 · 0 评论 -
【CVPR2019】Unsupervised Deep Tracking无监督目标跟踪
UDT是中科大、腾讯AI lab和上交的研究者提出的无监督目标跟踪算法。仔细阅读过这篇文章之后,写下一篇paper reading加深印象。论文标题:Unsupervised Deep Tracking论文地址:https://arxiv.org/pdf/1904.01828.pdfGithub(pytorch):https://github.com/594422814/UDT_pyt...原创 2019-05-28 16:04:24 · 6730 阅读 · 3 评论 -
yolo系列之yolo v3【深度解析】
yolo_v3是我最近一段时间主攻的算法,写下博客,以作分享交流。 看过yolov3论文的应该都知道,这篇论文写得很随意,很多亮点都被作者都是草草描述。很多骚年入手yolo算法都是从v3才开始,这是不可能掌握yolo精髓的,因为v3很多东西是保留v2甚至v1的东西,而且v3的论文写得很随心。想深入了解yolo_v3算法,必须先了解v1和v2。以下是我关于v1和v2算法解析所写的文章: v1算法...原创 2018-09-12 16:24:48 · 496139 阅读 · 1622 评论 -
【ICML 2018】论文整理(收藏这篇就够了)
ICML2018,于2018年7月份,在瑞典举行。但是,关注度却远远不及它的实力。人家好歹是七大A类会议之一呀。现在很多公司招人的要求就是必须发表A类会议。所以,ICML不得不进入视野。---------------------ICML 2018全部论文链接:https://icml.cc/Conferences/2018/ScheduleICML的论文可以分为:Tutorial、...原创 2018-08-08 13:14:12 · 6653 阅读 · 0 评论 -
KL散度、JS散度、Wasserstein距离
1. KL散度 KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个概率分布P和Q 差别的非对称性的度量。 KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。定义如下: DKL(P//Q)=−∑x∈XP(x)log1P(x)+∑x∈XP(x)log1Q(x)DKL(...转载 2018-08-03 15:31:13 · 41123 阅读 · 4 评论 -
生成对抗网络(二)——cGAN
cGAN = conditional GAN 也是原创 2018-08-02 00:18:08 · 4090 阅读 · 2 评论