![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉
水木流年追梦
清华大学计算机研究生,专研算法工程
展开
-
人工智能的CV领域顶级会议与期刊
顶级期刊PAMI,IEEE Transactions on Pattern Analysis and Machine Intelligence,即IEEE模式分析与机器智能汇刊IJCV,International Journal of Computer Vision,即计算机视觉国际期刊顶级会议ICCV,IEEE International Conference on Computer Vision,即IEEE国际计算机视觉大会(两年一次)CVPR,IEEE Conference on Com...原创 2020-12-07 21:55:48 · 1583 阅读 · 1 评论 -
卷积中的分组卷积
左边是正常卷积,右边是分组卷积。原创 2020-12-07 16:27:10 · 531 阅读 · 0 评论 -
计算机视觉空间域(spatial)注意力机制——CBAM
首先是结构:CBAM不仅包含senet的channel注意力机制也包含spatial注意力模块两个attention模块都是使用sigmoid来缩放到[0,1]之间。更详细的结构:也就是说channel和spatial的注意力机制都用了两个不同的pool。如果说channel注意力机制是从W*H*C的feature map得到1*1*C的注意力权重,那么spatial注意力机制则是从W*H*C的feature map得到W*H*1的注意力权重....原创 2020-12-07 16:00:57 · 5142 阅读 · 2 评论 -
计算机视觉通道域(channel)注意力机制——SENet
属于注意力机制在cv领域的channel注意力机制,SENet一个很大的优点就是可以很方便地集成到现有网络中,提升网络性能,并且代价很小。首先是结构:原来的任意变换将输入X变为输出U,现在假设输出的U不是最优的,每个通道的重要程度不同,有的通道更有用。对于每一输出通道,先global average pool,每个通道得到1个标量,C个通道得到C个数,然后经过FC-ReLU-FC-Sigmoid得到C个0到1之间的标量,作为通道的权重,原来的输出通道每个通道用对应的权重进行加权(对应通.原创 2020-12-07 15:49:32 · 6654 阅读 · 5 评论 -
三维计算机视觉——相机内参和外参及坐标变换公式
1.定义相机内参数是与相机自身特性相关的参数,比如相机的焦距、像素大小等;相机外参数是在世界坐标系中的参数,比如相机的位置、旋转方向等。定义四个坐标系的意义,世界坐标系(参考坐标系)、摄像机坐标系 、 图像物理坐标系和像素坐标系。(1)世界坐标系就是物体在真实世界中的坐标,比如黑白棋盘格的世界坐标系原点定在第一个棋盘格的顶点,Xw,Yw,Zw互相垂直,Zw方向就是垂直于棋盘格面板的方向。可见世界坐标系是随着物体的大小和位置变化的,单位是长度单位。只要棋盘格的大小决定了,无论板子怎么动,棋盘格角点原创 2020-12-04 15:23:16 · 8980 阅读 · 2 评论 -
摄像机成像公式、外参、内参(转载)
针孔相机模型转载 2020-09-14 23:08:07 · 1215 阅读 · 0 评论 -
TSDF算法笔记(转)
TSDF 算法简介TSDF ,全称:truncated signed distance function,基于截断的带符号距离函数,是一种常见的在3D重建中计算隐势面的方法。著名的Kinfusion就是才用TSDF来构建空间体素的,通过求去每个体素的值,然后再使用之前提到的Marching Cube来提取表面的。TSDF是在SDF进行改进的,是在SDF提出了截断距离,具体内容我们们在下面讲 ,很简单的。SDF是在2003年由S Osher提出。在拥有大内存的显卡并行计算的情况下,使用TSDF可以做到转载 2020-09-14 21:52:15 · 6191 阅读 · 0 评论 -
Ubuntu的which、whereis、locate和find命令
which 只能寻找执行文件 ,并在PATH变量里面寻找。whereis 从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。locate 同上,不过文件名是部分匹配。find 是直接在硬盘上搜寻,功能强大,但耗硬盘,一般不要用。...原创 2020-06-05 01:18:15 · 978 阅读 · 0 评论 -
2D图像生成3D点云补充材料chamfer distance和EMD
传自知乎大佬Point Set Prediction Network 论文提出了全新的网络架构,一共分为三个阶段。第一阶段:网络大致由一个编码器和一个解码器构成,编码器是由卷积层和ReLU构成。输入一张图片I和一个向量r,r用来模拟重建任务中的不确定性,输出的是一个Nx3的矩阵M。解码器中的全链接层用来生成点云的坐标。第二阶段:为了更好的使模型作用在大而平滑的物体上,论文提出了改进版。因为每一个点都是被独立预测的,全链接层并不能很好的预测物体的几何结构,所以第二阶段的解码器由两部分组成,一个是全原创 2020-06-04 00:52:51 · 2590 阅读 · 0 评论 -
pointnet与pointnet++
整合几位网上的大佬的经验一、三维深度学习非欧式(manifold,graph):在流形或图的结构上进行卷积,三维点云可以表现为mesh结构,可以通过点对之间临接关系表现为图的结构。多视角(multi-view):通过多视角二维图片组合为三维物体,此方法将传统CNN应用于多张二维视角的图片,特征被view pooling procedure聚合起来形成三维物体;体素(volumetric):通过将物体表现为空间中的体素进行类似于二维的三维卷积(例如,卷积核大小为5x5x5),是规律化的并且易于原创 2020-06-03 11:27:32 · 1598 阅读 · 0 评论 -
《A Point Set Generation Network for 3D Object Reconstruction from a Single Image》论文笔记_2D图像生成3D点云
摘要通过深度神经网络生成3D数据已在研究界引起了越来越多的关注。 现存的大多数作品都采用常规表示法,例如体积网格或图像收集; 但是,这些表示法掩盖了3D形状在几何变换下的自然不变性,并且还遭受许多其他问题的困扰。 在本文中,我们解决了从单个图像进行3D重建的问题,生成了输出的直接形式–点云坐标。 伴随这个问题出现了一个独特而有趣的问题,即输入图像的ground-truth可能是模棱两可的。 在这种非常规的输出形式以及groundtruth固有的歧义的驱动下,我们设计了新颖有效的体系结构,损失函数和学习范原创 2020-06-02 23:57:25 · 1788 阅读 · 0 评论 -
详细解读!Isotropic Remeshing的详细介绍与实现
学习remeshing,今天看了知乎大佬的一篇文章,给大家共同学习一下,真的不错。1. 问题对于三角网格,可能顶点分布不均,这会影响很多网格应用的效果(如数值模拟,几何建模等),因此需要将网格均匀化。示例如下(左)分布不均(右)均匀分布所谓均匀的网格,最简单的度量是所有边等长 所有三角形面积相等 所有顶点度数为 62. 算法本文介绍的算法是 [Botsch a...原创 2020-04-23 21:30:29 · 2726 阅读 · 0 评论 -
全球首发!计算机视觉Polygon Mesh Processing总结10——DEFORMATION
介绍用于交互式变形给定三角形网格的技术。 这个主题具有挑战性,因为复杂的数学运算(1)必须隐藏在直观的用户界面后面,并且(2)必须以足够有效和强大的方式实现,以允许交互式应用程序使用。概述了不同的形状变形技术,将它们分为不同的类别,并显示了它们之间的相互关系。给定表面S向期望表面的变形由位移函数d数学描述,该位移函数d与每个点p∈S相关联,即位移矢量d(P)。 通过这个方法,它将给定的表面...原创 2020-04-21 09:02:09 · 380 阅读 · 0 评论 -
全球首发!计算机视觉Polygon Mesh Processing总结9——Triangle-Based Remeshing
Triangle-Based Remeshing在各向同性网格中,所有三角形均具有良好的形状,即理想地是等边的。可能还需要全局统一的顶点密度或允许三角形大小的平滑变化,即平滑的渐变。 三角形网格的各向同性重新网格化有很多算法(请参阅[Alliez等人07])。在本节中,我们将介绍三种通常用于各向同性表面重定格的不同范例。 然后,我们针对这些范例详细说明了三种具有代表性的算法。现有算法可以...原创 2020-04-20 23:44:14 · 401 阅读 · 0 评论 -
全球首发!计算机视觉Polygon Mesh Processing总结8——Remeshing Global Structure和Correspondences
Global Structure如果三角形网格中的顶点的价(即,其相邻顶点的数量)对于内部顶点为6,对于边界顶点为4,则称为(规则的)regular。 在四边形网格中,regular valences为4和3。 不规则的顶点称为(不规则或异常)irregular or extraordinary。 网格的整体结构可以分为不规则,半规则,高度规则或规则的(见图6.2):不规则网格在其...原创 2020-04-20 23:30:51 · 1148 阅读 · 2 评论 -
全球首发!计算机视觉Polygon Mesh Processing总结7——Remeshing Local Structure
重新网格化是许多工业应用中提高网格质量的关键技术,例如数值模拟和几何建模(例如形状编辑,动画,变形)。 因此,近年来,它受到了相当多的关注,并且已经开发了许多重新网格化算法。 我们着重于表面重新网格化,而不考虑体积重新网格化。 曲面重新网格化的首要目标是降低输入曲面网格的复杂度,但要遵循某些质量标准。 此过程通常称为网格简化,重新网格化的第二个目标是提高网格的质量,以便可以将其用作各种下游应...原创 2020-04-20 21:11:30 · 503 阅读 · 0 评论 -
全球首发!计算机视觉Polygon Mesh Processing读书笔记6——微分几何中的Metric Properties
令连续表面的参数形式为其中x,y和z是u和v中的可微函数,Ω是参数域。 标量(u,v)是参数空间中的坐标。与曲线情况类似,表面的度量由函数x的一阶导数确定。如图3.3所示,这两个偏导数。将向量w从参数空间转换为参数x所描述的表面S的切向量w。分别是两条等参曲线的切向量并且点在下文中,为了简明起见,我们删除了参数(u0,v0)或(u,v)。 但是,重要的是要记住,所有...原创 2020-04-20 19:47:53 · 541 阅读 · 0 评论 -
全球首发!计算机视觉Polygon Mesh Processing读书笔记——5微分几何中的弧长
Arc Length可以将在区间[c,d]⊆[a,b]上定义的任何曲线段的长度l(c,d)计算为切向量的积分,即l(c,d)= R dc kx0 (u)kdu。 因此,切向量x0对曲线的度量进行编码。 参数曲线允许进行唯一的参数化,可以使用重新参数化将其定义为参数间隔和曲线之间的保留长度的映射,即等轴测图...原创 2020-04-20 18:12:05 · 660 阅读 · 0 评论 -
绝对不能错过!计算机视觉Polygon Mesh Processing读书笔记——4微分几何中的曲线
流形3D模型必须为流形。通俗地说,如果一个网格模型中存在多个(3个或以上)面共一条边,那么它就是非流形的(non-manifold),因为这个局部区域由于自相交而无法摊开展平为一个平面了。请看如图所示这个4个面共享一条边的非流形例子:球面为二维的流形,因为可由一群二维的平面图形来叠加表示 (图片来源:维基百科)。如图所示的地球球面就是一个2维流形。因此,对于球面上的一个曲面三角形(左图...原创 2020-04-20 17:51:56 · 1080 阅读 · 1 评论 -
绝对不能错过!计算机视觉Polygon Mesh Processing读书笔记——3
Implicit Surface Representations几何模型的隐式或体积表示的基本概念是,通过对每个3D点进行分类以使其位于内部,外部或恰好在绑定实体的表面S上,来表征对象的整个嵌入空间。 隐函数有不同的表示形式,例如代数曲面,径向基函数或离散体素化。 在任何情况下,表面S都被定义为标量函数F的零级等值面:。 按照惯例,F的负函数值表示对象内部的点,而正值表示对象外部的点。...原创 2020-04-20 12:49:39 · 616 阅读 · 0 评论 -
绝对不能错过!计算机视觉入门必备
视觉需要图像作为基础,所以推荐最经典的数字图像处理编程实践推荐learning opencv3深度学习相关推荐吴恩达的深度学习系列课程和李飞飞的cs231n课程,以及著名的花书视觉slam方向推荐视觉SLAM十四讲-从理论到实践,通俗易懂,当然难度肯定是有的,不过能对slam有一个大体上完整的认知。需要相关资源可以关注我之后评论,边可获得全套资源...原创 2020-04-20 01:06:53 · 276 阅读 · 0 评论 -
Polygon Mesh Processing读书笔记——1三角网格Triangle Meshes
最近看论文深感基础知识的匮乏,所以补充一些图形几何方面的知识,首先是这本书的封面。主要章节介绍本书讨论了基于多边形网格的几何处理管道的主要组件,如下图所示。 为了本书的指导目的,主题的描述顺序与图中所示的典型处理顺序有所不同。我们将在第1章中首先讨论表面表示的一般概念,并重点介绍用于数字几何处理的多边形网格的有利属性。第2章介绍了用于实现多边形网格的有效数据结构。第3章介绍...原创 2020-04-19 23:03:33 · 2260 阅读 · 0 评论 -
计算机视觉书籍学习记录——1最近点匹配
原创 2020-04-19 21:57:57 · 169 阅读 · 0 评论 -
(Object detection)目标检测从入门到精通——第五部分YOLO 算法
你们已经学到对象检测算法的大部分组件了,在这个视频里,我们会把所有组件组装在一起构成YOLO对象检测算法。我们先看看如何构造你的训练集,假设你要训练一个算法去检测三种对象,行人、汽车和摩托车,你还需要显式指定完整的背景类别。这里有3个类别标签,如果你要用两个anchor box,那么输出 y 就是3×3×2×8,其中3×3表示3×3个网格,2是anchor box的数量,8是向量维度,8实...原创 2020-03-08 09:38:04 · 404 阅读 · 0 评论 -
(Object detection)目标检测从入门到精通——第四部分anchor box
3.8 Anchor Boxes到目前为止,对象检测中存在的一个问题是每个格子只能检测出一个对象,如果你想让一个格子检测出多个对象,你可以这么做,就是使用anchor box这个概念,我们从一个例子开始讲吧。假设你有这样一张图片,对于这个例子,我们继续使用3×3网格,注意行人的中点和汽车的中点几乎在同一个地方,两者都落入到同一个格子中。所以对于那个格子,如果输出这个向量,你可...原创 2020-03-08 09:20:34 · 483 阅读 · 0 评论 -
(Object detection)目标检测从入门到精通——第三部分非极大抑制
3.7 非极大值抑制(Non-max suppression)到目前为止你们学到的对象检测中的一个问题是,你的算法可能对同一个对象做出多次检测,所以算法不是对某个对象检测出一次,而是检测出多次。非极大值抑制这个方法可以确保你的算法对每个对象只检测一次,我们讲一个例子。假设你需要在这张图片里检测行人和汽车,你可能会在上面放个19×19网格,理论上这辆车只有一个中点,所以它应该只被分配到一...原创 2020-03-01 20:36:13 · 424 阅读 · 0 评论 -
(Object detection)目标检测从入门到精通——第二部分
3.4 滑动窗口的卷积实现(Convolutional implementation of sliding windows)上节课,我们学习了如何通过卷积网络实现滑动窗口对象检测算法,但效率很低。这节课我们讲讲如何在卷积层上应用这个算法。为了构建滑动窗口的卷积应用,首先要知道如何把神经网络的全连接层转化成卷积层。我们先讲解这部分内容,下一张幻灯片,我们将按照这个思路来演示卷积的应用过程。...原创 2020-03-01 16:58:38 · 589 阅读 · 3 评论 -
(Object detection)目标检测从入门到精通——第一部分
3.1 目标定位(Object localization)大家好,欢迎回来,这一周我们学习的主要内容是对象检测,它是计算机视觉领域中一个新兴的应用方向,相比前两年,它的性能越来越好。在构建对象检测之前,我们先了解一下对象定位,首先我们看看它的定义。图片分类任务我们已经熟悉了,就是算法遍历图片,判断其中的对象是不是汽车,这就是图片分类。这节课我们要学习构建神经网络的另一个问题,即定位分类...原创 2020-03-01 15:35:49 · 792 阅读 · 0 评论 -
(Deep learning)深度卷积网络实战——第四部分
2.10 数据增强(Data augmentation)大部分的计算机视觉任务使用很多的数据,所以数据扩充是经常使用的一种技巧来提高计算机视觉系统的表现。我认为计算机视觉是一个相当复杂的工作,你需要输入图像的像素值,然后弄清楚图片中有什么,似乎你需要学习一个复杂方程来做这件事。在实践中,更多的数据对大多数计算机视觉任务都有所帮助,不像其他领域,有时候得到充足的数据,但是效果并不怎么样。但是,当...原创 2020-03-01 15:25:45 · 399 阅读 · 0 评论 -
(Deep learning)深度卷积网络实战——第三部分
2.7 Inception 网络(Inception network)在上节视频中,你已经见到了所有的Inception网络基础模块。在本视频中,我们将学习如何将这些模块组合起来,构筑你自己的Inception网络。Inception模块会将之前层的激活或者输出作为它的输入,作为前提,这是一个28×28×192的输入,和我们之前视频中的一样。我们详细分析过的例子是,先通过一个1×1的层...原创 2020-03-01 15:19:57 · 488 阅读 · 0 评论 -
(Deep learning)深度卷积网络实战——第二部分
2.4 残差网络为什么有用?(Why ResNets work?)为什么ResNets能有如此好的表现,我们来看个例子,它解释了其中的原因,至少可以说明,如何构建更深层次的ResNets网络的同时还不降低它们在训练集上的效率。希望你已经通过第三门课了解到,通常来讲,网络在训练集上表现好,才能在Hold-Out交叉验证集或dev集和测试集上有好的表现,所以至少在训练集上训练好ResNets是第一...原创 2020-03-01 15:17:52 · 425 阅读 · 0 评论 -
(Deep learning)深度卷积网络实战——第一部分
2.1 为什么要进行实例探究?(Why look at case studies?)这周我们首先来看看一些卷积神经网络的实例分析,为什么要看这些实例分析呢?上周我们讲了基本构建,比如卷积层、池化层以及全连接层这些组件。事实上,过去几年计算机视觉研究中的大量研究都集中在如何把这些基本构件组合起来,形成有效的卷积神经网络。最直观的方式之一就是去看一些案例,就像很多人通过看别人的代码来学习编程一样,...原创 2020-03-01 15:14:29 · 1073 阅读 · 0 评论 -
卷积神经网络——第一周 卷积神经网络基础——第四部分
1.10 卷积神经网络示例(Convolutional neural network example)构建全卷积神经网络的构造模块我们已经掌握得差不多了,下面来看个例子。假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,你想做手写体数字识别。32×32×3的RGB图片中含有某个数字,比如7,你想识别它是从0-9这10个数字中的哪一个,我们构建一个神经网络来实现这个功能。...原创 2020-03-01 15:03:49 · 721 阅读 · 0 评论 -
卷积神经网络——第一周 卷积神经网络基础——第三部分
1.7 单层卷积网络(One layer of a convolutional network)今天我们要讲的是如何构建卷积神经网络的卷积层,下面来看个例子。上节课,我们已经讲了如何通过两个过滤器卷积处理一个三维图像,并输出两个不同的4×4矩阵。假设使用第一个过滤器进行卷积,得到第一个4×4矩阵。使用第二个过滤器进行卷积得到另外一个4×4矩阵。最终各自形成一个卷积神经网络层,然...原创 2020-03-01 14:59:25 · 991 阅读 · 0 评论 -
卷积神经网络——第一周 卷积神经网络基础——第二部分
1.4 Padding为了构建深度神经网络,你需要学会使用的一个基本的卷积操作就是padding,让我们来看看它是如何工作的。我们在之前视频中看到,如果你用一个3×3的过滤器卷积一个6×6的图像,你最后会得到一个4×4的输出,也就是一个4×4矩阵。那是因为你的3×3过滤器在6×6矩阵中,只可能有4×4种可能的位置。这背后的数学解释是,如果我们有一个的图像,用的过滤器做卷积,那么输出的维...原创 2020-03-01 14:54:11 · 470 阅读 · 0 评论 -
卷积神经网络——第一周 卷积神经网络基础——第一部分
1.1 计算机视觉(Computer vision)欢迎参加这次的卷积神经网络课程,计算机视觉是一个飞速发展的一个领域,这多亏了深度学习。深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们。还使得人脸识别技术变得更加效率和精准,你们即将能够体验到或早已体验过仅仅通过刷脸就能解锁手机或者门锁。当你解锁了手机,我猜手机上一定有很多分享图片的应用。在上面,你能看到美食,酒店或...原创 2020-03-01 14:29:55 · 623 阅读 · 0 评论