自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只飞鱼的博客

计算机三维视觉,SLAM,深度学习

  • 博客(57)
  • 收藏
  • 关注

原创 总结(/Review): 回环检测中的位置识别(Place Recognition)

更新于2018.8开始之前回环检测的关键在于重新识别到同一个地方,这块领域被称为位置识别(Place Recognition)。 此文主要总结大视角变化和场景变化中的位置识别。位置识别中的一些概念位置识别模块分为三个部分:图像处理部分;已知地图表达部分;置信决策部分(判断该图像是否属于该地图/环境)scene recognition:识别场景的类别(很大程度上,本质是一个分类...

2018-08-06 22:21:23 8403 6

原创 双目标定(二)单目标定基本原理

主体思路,先处理纯二维平面的畸变问题(此处略过),矫正图片后,再来求解相机内参外餐1. 标定板平面到像平面的单应矩阵H,则对于每个棋盘格,可以得到一个标定板平面到当前图像平面的单应矩阵Hi,实际上这个单应矩阵Hi汇总了标定板平面到相机成像平面的旋转平移以及相机内参信息。 现在,我们已知每幅标定板图的单应矩阵H2.求解相机内参矩阵对一幅标定板图片上的标定板坐标上的一点P=[X,Y,...

2018-05-31 18:42:52 5007

原创 Git使用(5) 改变权限,移动,删除;.git版本存储瘦身

git status时忽略因为权限改变引起的文件改变:git config core.filemode false

2018-05-22 17:35:21 1479

原创 双目标定(三)标定流程(含矫正)

1.采集1.1标定板的制作。大小:应当使得标定板在图像中占比尽可能大一些。占图像长度比例应当超过1/3;如果实在无法保证标定板占图像比例比较大如果占比比较小,则需要尽可能多采集一些图像。平:标定板应当尽可能使理想平面。如果要求不是非常严格(比如重投影误差0.3即可),也可以用纸板(一般的标定板厂商做得即为此类);如果标定精度要求比较高,则需要用硬度较高的材料做标定板,在该标定板上打...

2018-05-16 13:07:42 9035

原创 论文阅读-位姿估计-SE3-Nets Learning Rigid Body Motion using Deep Neural Networks

SE3-Nets Learning Rigid Body Motion using Deep Neural Networks(1) - 输入:三维点;系统输入(如推力); - 输出:三维点该论文只针对三维点云输入(RGBD等),来求解每帧中目标物体的刚体变换关系(SE(3), pose)。在这些深度学习框架的位姿估计问题中,旋转都使用旋转向量(3维度)的方式。以及需要分割的个数(?...

2018-04-19 17:34:33 1539

原创 论文笔记-Sparsity Invariant CNNs

Sparsity Invariant CNNs 这篇文章提出了一个稀疏卷积网络框架,从稀疏的深度图中补全深度(depth completion)。这个稀疏卷积网络框架能够处理不同稀疏程度的深度数据。此外本文由kitti数据生成了一个对应的rgbd数据来用于训练。此处的稀疏卷积网络指的是应对稀疏输入的网络,而非用drop等方法使得网络参数更加稀疏(模型压缩)。深度补全大致分两个派别:有图像...

2018-04-19 11:47:20 1483 7

原创 论文阅读: GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose(CVPR2018)

CVPR2018_GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose 提出了一个联合估计深度、光流和pose的网络。 ,这是在left-right consistency的无监督估计、sfmlearner的基础上开展的又一作品。该论文主要贡献点: - 提出了一个几何一致性代价(geometr...

2018-04-17 20:33:47 2578

原创 论文笔记-Loop Closure Detection for Visual SLAM Systems Using Deep Neural Networks

Xiang Gao, Tao Zhang,Loop Closure Detection for Visual SLAM Systems Using Deep Neural Networks, 2015 Xiang Gao, Tao Zhang,Unsupervised learning to detect loops using deep neural networks for visual S...

2018-04-16 22:35:00 3742 4

原创 双目标定(一)单目标定与矫正的基本介绍

1.单目相机标定首先,任何标定都是用基于小孔模型的数学模型去近似相机模型,我们需要用fx = f/dx, fy = f/dy,图像坐标系中的光心原点坐标(和可能的缩放因子ks)这5个相机内参数,切向畸变参数和径向畸变参数,共5+N个参数来“近似”整个相机投影模型。这是我们需要求解的量。1.1求解标准的内参数矩阵想想我们平时用opencv(matlab等)进行单目标定时,我们需要提前测量...

2018-04-10 13:21:48 6699

原创 互信息

1. 相关性的描述问题独立性说明两者之间无关系,相关性可以说明两者之间有关系,但这两者之间关系强弱如何度量?我们可以有线性相关系数(皮尔逊积矩相关系数)、卡方检验(此处不谈)和互信息这几个指标来进行量化。使用线性相关系数的前提自变量与因变量是线性关系,取值范围为[-1,1],负数表示负相关: ρx,y=cov(X,Y)σX,σY=E[(X−uX)(Y−uY)]σX,σYρx,y=cov(...

2018-04-03 13:06:57 4445 2

原创 三维物体追踪笔记(1)-基于边缘的三维物体追踪——理论、公式推导与实现

1. 基于边缘检测的三维跟踪建模三维物体追踪是已知图像中某个物体在已知一系列空间三维点位置(或者是一个3D 模型面片集)的信息下,将这些点通过一个恰到好处的位姿(R,t)进行转换后投影到图像上。问题的求解目标是这个位姿(R,t),难点是并不知道这些三维点对应图像上的哪些像素点。假如已知这个3D模型在图像对应物体具有清晰轮廓,特别是物体与背景之间有较好的灰度值区分度的(比如白色桌子上放一本M...

2018-03-16 15:55:55 2484

原创 tensorflow学习笔记(2)-常用运算函数

tf.slice(input_,begin,size)slice常翻译成切片,这个翻译不好。用”片段”,“截断”更准确,因为这儿是“部分”的意思。我们知道,在python中slice表示取list,tuple的一部分。比如可以将list当做一个循环队列,arr[1:9:-1]是取arr 下标2-9的部分,而且是倒序。 而tensorflow中的slice同样是从一个张量中取其中一块。 其中...

2018-03-15 12:23:25 574

原创 vim 易忘命令速查

vim迅步如飞:w移动到下一个单词词首,W移动到下一个空格之后 b移动到上一个单词词首vim 删除:单个字符:x 删除光标所在处字符X 删除光标所在前字符删除worddw 删除到下一个单词开头de 删除到本单词末尾dE 删除到本单词末尾包括标点在...

2018-03-15 12:09:54 354

原创 SLAM笔记(九)再谈李代数

内容接SLAM笔记(一)SLAM中的数学概览 李群: 定义:实数空间上的连续群(对乘法、逆都是连续的,解析的) 举例:如GL(n),SO(n),SE(n)李代数(Lie algebra): 定义:由一个集合,一个数域,和一个二元运算[]组成;满足封闭、双线性、自反性、雅克比等价。如3D中的叉乘:g=(R3,R,×)g=(R3,R,×)g = (R^3,R,\times)就属于一个李...

2018-03-14 15:49:48 3169

原创 SLAM笔记(八)-再谈四元数

在二维空间中,我们用复数表示某点坐标,此时可以用加法表达点的移动,用乘法(乘以一个复数)表示点绕原点的旋转。在三维空间中,我们无法无法用三维的“超级复合数”来表示点的移动和旋转。这也是四元数发明者汉姆尔顿(爱尔兰数学家)曾苦恼的地方。后来他想:为什么要坚持3位数表达,不用四位数来表达三维空间的移动和旋转呢?经过一系列证明,现在我们已经知道八元数,十六元数等来做比八维、十六维更高维上的事情;但越...

2018-03-14 12:34:48 4087 5

原创 论文笔记-损失函数之SSIM

损失函数用来鼓励和抑制某些行为。 在深度学习中,如果是分类问题,则可以用交叉熵,softmax,SVM等损失函数。如果是回归问题,则代价函数普遍采用L2,或者L1。 由于L2(即用真值和预测值的欧氏距离)是一个非凸形式且可导。。但L2的使用前提是噪声高斯分布的。它抑制大的误差,但对小的误差却很能容忍。比如L2能很好地复现边缘,但却无法很好地消除那些小的噪声。 最重要的,L2和人类的视觉系统(

2018-01-10 21:43:15 21335 5

原创 论文笔记-深度估计(7)-CNN-SLAM Real-time dense monocular SLAM with learned depth prediction

CVPR2017_CNN-SLAM Real-time dense monocular SLAM with learned depth prediction关键词:基于CNN的单张图深度估计,语义SLAM,半稠密的直接法SLAM作者提出了一个利用CNN结合SLAM的应用,其SLAM过程如上图,具体解释如下:作者首先筛选出关键帧,在关键帧上用训练好的CNN网络[1]来预测单帧图深度值得到深度图,并以

2018-01-05 22:11:40 6583

原创 tensorflow学习笔记(1)-tensoflow的设计机制

tensorflow将整个计算表征为一个图(graph),t图的节点(node)是Operation(常常简称为ops),节点之间的边(edge)是张量(tensor),不能理解反了。 用图的方式能很容易根据边的连接关系,发现可以并行执行的节点(运算),也更容易分布式部署。此外它专门的编译器可以根据图来生成执行速度更快地代码。也可以将模型存储下来,再用C++等语言实现。 下面依次介绍1.定义运算

2018-01-03 19:42:54 943

原创 论文笔记-深度估计(6)-Unsupervised Learning of Depth and Ego-Motion from Video

CVPR2017_Unsupervised Learning of Depth and Ego-Motion from Video 这是一篇从一段视频中恢复场景深度和相机pose的论文。他可能是第一篇用深度学习的方法从一段视频中恢复camera的pose的方法,它用两个网络(严格意义上是3个网络,下文赘述)分别/独自无监督地估计单帧的深度,和视频序列中的camera的pose变化。最终得到的

2018-01-03 00:47:02 9388 17

原创 论文笔记-深度估计(5)Unsupervised Monocular Depth Estimation with Left-Right Consistency

ECCV2016_Unsupervised Monocular Depth Estimation with Left-Right Consistency 本文采用无监督学习(没有ground truth)的方法来估计深度,基本思路是匹配好左右视图的像素,得到disparity map。根据得到的视差disparity,由d = bf/disparity,算出depth map。本文能实现在35m...

2018-01-01 15:38:58 6691 21

原创 论文笔记-深度估计(4) Semi-Supervised Deep Learning for Monocular Depth Map Prediction

CVPR2017_Semi-Supervised Deep Learning for Monocular Depth Map Prediction这是一篇用双目进行无监督学习估计深度的论文。对一幅图进行有监督训练进行深度估计时,由于采集设备的局限,并非图像的每个像素都有对应的真实值。于是作者提出在图像有真实值的地方进行监督学习,无真实值的地方进行无监督学习(最终作者发现对整个图像都进行无监...

2017-12-30 15:40:42 3902 12

原创 论文笔记-深度估计(3)Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-Scale...

Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-Scale Convolutional Architecture 这篇文章是eigen 2015年的新文章,基于同样的模型,同样的初始化和大概相同的参数,可以用来得到深度,表面法向量或语义标签。1.网络介绍它的Pipeline如图: 三个stage的网

2017-12-29 23:50:56 4085 2

原创 论文笔记-深度估计(2) Fully Convolutional Networks for Semantic Segmentation

1.介绍该文讲述的是语义分割,但思路和框架和深度恢复是十分相似的,毕竟当前语义和深度问题本质上是一个像素级的分类问题。从该文3000+引用用量也可见该文章的巨大启发效果。所谓全卷积网络,是指由仅由卷积层、池化层和非线性激活函数层交错组织起来的网络。作者的贡献在于将非常热门且有效地做分类的卷积网络应用于语义分割中。整个框架是接受整张图像作为输入,用卷积做一个coarse的分类输出,然后将这些输出与每个

2017-12-29 23:48:03 1993

原创 论文笔记-深度估计(1)Depth Map Prediction from a Single Image using a Multi-Scale Deep Network

Depth Map Prediction from a Single Image using a Multi-Scale Deep Network作者认为以前估计深度的方法大概是基于几何代数、优化求解的方法来获得空间信息,但对于单张图片,仅仅基于几何信息是无法判断它的真实尺度的,因为没有先验信息的话,它的尺度是无法进行估计的。单张图深度估计,以人为例,需要综合考虑线条角度,透视关系,物体大小,图像位

2017-12-29 22:05:26 3394 4

原创 深度学习(2)-反卷积(deconvolution)

反卷积在论文中常常对应的英文有:Deconvolution (怪怪的“去卷积”)UpconvolutionFractionally strided convolutionBackward strided convolution意思是它的卷积的逆过程。它的另一个名字转置卷积(transpose convolution)更能表达它的数学过程。比如对4x4的图像进行3x3的卷积得到

2017-12-27 21:14:51 19936

原创 深度学习术语

一些名词:depth/depthcolumn/fibre——K:叠加的卷积核的个数。每个卷积核对一层图像I1进行处理得到I2(activationmap),下一个卷积核在I2基础上进行处理得到I3(activationmap),…,得到In,n-1就是depth。stride——S:步长,即进行卷积后该filter窗口往右/下移动的步长(像素个数)pad/padding——P:边界宽度(像素个数)。

2017-12-14 13:44:28 596

原创 cs31n_lesson6_7

生物学解释神经网络中的神经元(neurons):从输入(如图像)得到的一个输出最小单元称之为一个神经元。具体一点说,对于一个双层网络(1输入、1中间层、1输出),如果输入为一个样本,则隐藏层的维数H+最终输出维度数C,就是神经元的个数。一个神经元包括所需要的所有参数;包括一组wij(i=0,,D)w_ij(i=0,,D),b,以及激活函数这几个参数。比如XNXD∗WDXCX_{NXD}*W_{DXC

2017-12-14 08:50:14 589

原创 cs231n_lesson4-5

深度学习网络有好多名字,其中包括人工神经网络“Artificial Neural Networks” (ANN) 或多层感知机“Multi-Layer Perceptrons” (MLP)。当然谈到感知机有时特指不加激活函数的网络才是感知机。1.反向传播(backpropagation)相当于于链式法则。Patterns in backward flow: - add gate: 梯度与上一个梯度

2017-12-14 08:44:33 373

原创 cs231n_反向传播求导篇

我们已经知道基本的标量除以矩阵(或向量),矩阵(或向量)除以标量,以及稍微复杂一点的向量除向量[1]^{[1]},行向量除以向量除以矩阵,矩阵除以向量的方法,那么矩阵除以矩阵呢?例如: XN×DWD×C=fN×CX_{N\times D}W_{D\times C} = f_{N\times C} 对W求导: ∂f∂W=XT⋅fN×C\frac{\partial f}{\partial W}

2017-12-12 20:26:43 1020

原创 C/C++文件操作、输入输出备忘

1.C语言文件操作C language: FILE* fp; char ch; 注意是“r”而非‘r’ fp = fopen(“1.txt”, “r+”);//读写,除此之外用得比较多的有”a+”追加(也有读权限) if( NULL = fp) printf(“Failed to open the file”); ch = getchar(); //读写一个字符 fputc(

2017-12-10 16:56:57 334

原创 cs231nLesson1-3

cs231n每半年更新一次,最近看了新的版本,整理了下之前学习的笔记和作业。.Diffuculty of Recogonition:illumination, deformation, Background Clutter, Intraclass variation,etc..1.Nearest Neighbor Method(现在深度学习框架内很少使用)train:O(1) test:O(n)

2017-12-10 16:55:25 285

原创 深度学习(1)-深度学习中的核函数(激活函数)

1.核函数的作用与损失函数的设计核函数(kernel method,kernel trick)是机器学习中一种重要的方法。一般定义是将原始表达转换到一个隐式特征空间去,该空间具有更好的特征可分性质。 在机器学习中,(一层线性卷积结构+一层核函数)*N的特殊结构,能拟合任何函数的原因。但如果只有N层的线性结构,那最后的组合还是线性结构,就相当于以前的感知机(perceptron)。使得类似神经网络结

2017-12-10 15:36:13 9243

原创 SIFT特征简介

如何看到一幅图像,在生成高斯差分金字塔后,找到对应的极值点?为何剔除边缘点响应点问题: 低对比度的点方向不变性是通过算出一特征点的领域内所有像素的高斯模糊后的梯度,选其中像素最多的方向(离散值,每个方向为10度)作为主方向,然后在对比时先将所有特征点都旋转成标准值(比如都对齐x轴),再计算。过程:1.尺度空间建立及极值点搜索(初步搜索);2.关键点精确定位:直线拟合使得关键...

2017-11-14 11:18:23 2597

原创 C++模板,模板具体化,特例化

1.模板重载原则函数同名(重载)时,调用优先级通常为:普通函数 >显式具体化(template specilazation)>显式实例化>一般模版函数 但更一般而言,有两条规则: 1>如果各自函数形参和调用处的实参 并非精确匹配,则会优先选择不需要转换的; 比如 void func(string str); template void func(T*); ….func(“abcd”);

2017-11-11 22:35:19 1495 1

原创 那些年在Opencv遇到过的Mat坑

本文记录一些遇到过的Mat坑,以及相应知识点

2017-11-11 21:48:05 6426 2

原创 KLT跟踪算法(Kanade-Lucas-Tomasi Tracking Method)

1.光流光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类: (1)基于区域或者基于特征的匹配

2017-10-23 10:35:48 23014

原创 Git使用(4)修改提交结果、版本回退与冲突解决

1.查看版本之间差异1.1查看有哪些文件夹/文件有差异git diff 显示工作目录与暂存区文件之间的差异 git diff --cached 显示暂存区与git仓库之间的差异 git diff HEAD 显示工作目录与git仓库之间的差异 (以上三种都是现在跟前面相比较)git diff HEAD – ./test 比较当前分支上,工作区与HEAD 在test文件的

2017-10-22 20:47:57 3769

原创 Git使用(3)常见报错

(仅限于当时当地情况下的处理方式,不代表所有情况) Q:Refusing to fetch into current branch refs/heads/master of non-bare repository A:在当前分支下fetch 。git checkout 到其他分支,再进行fetch即可。 顺便提及,Non-bare repository即可看做是除掉工作区后剩下的.git文件夹

2017-10-22 16:45:00 13366

原创 常用DOS命令

最近项目用到一些dos命令行,和linux下的常用命令对比总结下。与linux一样:在文件之间切换:cd (dos在不同盘符之间切换需要/D,即:cd /D c:\folder) 新建文件夹:mkdir folderName与linux不同:新建文件(例如1.txt): linux:vim 1.txt 或 touch 1.txt dos: type nul>1...

2017-08-29 23:19:58 423

原创 SLAM笔记(七)回环检测中的词袋BOW

1.词频(摘自阮一峰博客,参见附录参考) 如果某个词很重要,它应该在这篇文章中多次出现。于是,我们进行”词频”(Term Frequency,缩写为TF)统计。考虑到文章有长短之分,为了便于不同文章的比较,进行”词频”标准化。即词的数目除以文章中所有字的数目 对于一篇《中国的蜜蜂养殖》 但 出现次数最多的词—-“的”、”是”、”在”—-这一类最常用的词。它们叫做”停用词”(stop ...

2017-07-16 22:21:19 6598 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除