自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

原创 【视觉SLAM】4-SLAM前端之视觉里程计Visual Odometry

在里程计问题中,可利用多种手段来测量物体的运动轨迹,如在汽车轮胎上安装计数码盘,通过测量轮胎转动圈数获得行驶距离。完成这种运动估计的装置(包括硬件和算法)称为里程计(Odometry)。里程计的一个很重要的特性是,它只关心局部时间上的运动,多为两个时刻间的运动。通常以估计间隔对时间采样,进而估计物体在各时刻之间的运动,这就导致误差(估计误差、噪声等)会不断累积,这种现象称为漂移(Drift)。SLAM流程中的回环检测可纠正漂移带来的全局误差。

2024-11-18 10:21:11 1298

原创 【视觉SLAM】4b-特征点法估计相机运动之PnP 3D-2D

透视n点(Perspective-n-Point,PnP)问题是计算机视觉领域的经典问题,用于求解3D-2D的点运动。换句话说,当知道NNN个世界坐标系中3D空间点的坐标以及它们在图像上的投影点像素坐标时,可以使用PnP算法来估计相机在世界坐标系的姿态。P3P是最简化的PnP形式,即最少只需3个点即可估计当前的相机姿态(解不唯一)。总体来说,PnP的求解方法有P3P、直接线性变换(Direct Linear Transformation,DLT)、EPnP(Efficient PnP)和UPnP等。

2024-11-15 12:26:52 2004 1

原创 【视觉SLAM】2-三维空间刚体运动的数学表示

读书笔记:学习空间变换的三种数学表达形式。

2024-11-14 12:37:12 1572

原创 【视觉SLAM】1-概述

读书笔记。

2024-11-14 10:28:02 1381

原创 【视觉SLAM】2a-Windows下编译Pangolin-0.5,显示SLAM运动轨迹

配置Pangolin,Pangolin_DIR定位到刚才导出的CMAKE_INSTALL_PREFIX子文件夹。

2024-11-11 11:13:27 408

原创 【立体匹配-2021-CoEx】Correlate-and-Excite: Real-Time Stereo Matching via Guided Cost Volume Excitation

CoEx

2024-01-04 00:21:57 923

原创 【视觉SLAM】4a-特征点法估计相机运动之对极几何2D-2D

对极几何(Epipolar Geometry)描述了同一场景中两幅图像(2D-2D)间的几何关系,在图像匹配、三维重建等领域应用广泛。接下来看如何从已知两幅图像的匹配点对(2D像素点)中恢复相机运动。

2021-04-16 10:36:25 12417 4

原创 【三维重建】稀疏重建(Structure From Motion,SFM)和稠密重建(Multi-View Stereo,MVS)

CCCV2017讲习班笔记-基于图像的大规模场景三维重建(上)CCCV2017讲习班笔记-基于图像的大规模场景三维重建(下)https://www.cnblogs.com/ziyuzhu-edward/p/12528014.html

2021-04-15 14:20:43 5026

原创 【点云配准】点云配准中常用的评价指标(豪斯多夫距离/Hausdorff Distance、倒角距离/Chamfer Distance和陆地移动距离/Earth Mover‘s Distan

1.概述在点云配准问题中,我们通常会用相似性测度来评价两组点云之间的匹配程度,或作为迭代求解的代价方程(cost function),常见的相似性测度有均方误差(Root Mean Square Error(RMSE)、最大公共点集(Largest Common Pointset,LCP) 等。此外,还有豪斯多夫距离(Hausdorff Distance,HD)、倒角距离(Chamfer Distance,CD)和陆地移动距离(Earth Mover’s Distance,EMD)等指标也可被用于评价点云

2021-02-22 10:08:55 12232 2

原创 【视觉SLAM】3-李群与李代数

为什么需要李群&李代数?在处理空间变换相关优化问题时,变换矩阵对于加法计算不封闭(任意两个变换矩阵相加后不是一个变换矩阵),这主要是由于旋转矩阵对加法计算不封闭造成的。李代数的出现即可解决该问题,我们把空间变换矩阵(SE3SE(3)SE3)映射到由向量组成的李代数(se3se(3)se3)空间中,就可以通过对向量(李代数se3se(3)se3)求导来间接实现对变换矩阵的求导,从而用来解决一些空间变换相关的优化问题。群是一种集合加上一种运算的代数结构。若集合A≠∅A。

2021-01-02 15:55:48 8195

原创 【主动轮廓模型(二)】《GVF Snake》算法原理与OpenCV实现

文章目录1 问题引入1.1 传统Snake模型的缺陷1.2 亥姆霍兹定理(Helmholtz theorem)2 GVF Snake2.1 边缘图(Edge Map)2.2 梯度矢量流(Gradient Vector Flow)1 问题引入1.1 传统Snake模型的缺陷传统的Snake算法(参考博客)存在以下两个主要缺陷,在《Snakes, Shapes, and Gradient Vector Flow》这篇文章中提出的GVF Snake模型解决了这两个问题:初始轮廓必须在真实轮廓附近,或对

2020-12-23 10:47:59 6578 38

原创 【AR】使用OpenCV中的aruco模块实现增强现实

1 ArUco markerArUco marker是由S.Garrido-Jurado等人在2014年提出的,全称是Augmented Reality University of Cordoba,详见他们的论文《Automatic generation and detection of highly reliable fiducial markers under occlusion》。它类似于二维码,通过预先标定的相机参数和捕获到的aruco标记图像,就可以求解出marker与相机的相对坐标关系。实

2020-12-21 11:53:11 1778

原创 【主动轮廓模型(一)】《Snakes: Active Contour Models》算法原理与OpenCV实现

1 概述主动轮廓模型(也称Active Contour Model、Snake)是Kass等人在1988年提出的,该算法将图像分割问题转换为求解能量泛函最小值的问题。主要思路是通过构造能量泛函,经过算法迭代,轮廓曲线由初始位置逐渐向使能量函数最小(或局部极小)的图像边缘逼近,最终分割出目标。2 算法原理首先需要人为地在图像上给出初始轮廓曲线,确切的说是一组用于控制曲线形状的控制点:v(s)=[x(s),y(s)]s∈[0,1]v(s)=[x(s),y(s)] s\in[0,1]v(s)=[x(s),y

2020-10-03 21:21:40 12523 13

原创 【点云配准-4PCS(2008)】4-Points Congruent Sets for Robust Pairwise Surface Registration

文章目录1 背景1.1 问题描述1.2 相似性测度(Similarity Measure)1.3 随机采样一致性(Random Sample Consensus,RANSAC)1.4 Randomized Alignment1.5 4PCS算法概述2 4点一致性2.1 概述2.2 4点集的仿射不变性2.3 在3D空间中提取一致的4点3 4PCS算法3.1 算法描述3.2 实验结果参考1 背景1.1 问题描述给定任意初始位置的两个点集PPP和QQQ,找到一个最佳变换(通常是刚性变换),使得PPP、QQ

2020-08-09 23:55:59 1911

翻译 一文读懂深度学习中的损失函数(Loss Function):回归损失、二分类损失和多分类损失

机器学习中的所有算法都依赖于最小化或最大化一个函数,我们称之为损失函数(loss function),或“目标函数”、“代价函数”。损失函数是衡量预测模型在预测预期结果方面做得有多好。求函数最小点最常用的方法是梯度下降法。损失函数就像起伏的山,梯度下降就像从山上滑下来到达最底部的点。没有一个单一的损失函数可以完美适用于所有类型的数据。它取决于许多因素,包括异常值的存在、机器学习算法的选择、梯度下降的时间效率等等。本文的目的是了解不同的损失函数,以及它们的原理。损失函数大致可分为两类:分类损失和回归损失,

2020-07-27 19:32:18 18417 2

翻译 弗莱纳公式(Frenet–Serret formulas)

在向量微积分中,弗莱纳公式用来描述欧几里得空间R中的粒子在连续可微曲线上的运动。更具体的说,弗莱纳公式描述了曲线的切向、法向、副法方向之间的关系。弗莱纳公式(弗莱纳坐标系)在自动驾驶轨迹规划等领域应用广泛。单位切向量 T,单位法向量 N,单位副法向量 B,被称作弗莱纳标架(Frenet–Serret frame or TNB frame,他们的具体定义如下:T 是单位切向量,方向指向粒子运动的方向;N 是单位法向量 T对弧长参数的微分单位化得到的向量;B 是 T和 N的外积。弗莱纳公式如下:

2020-07-09 17:51:59 13545

原创 【OpenCV】编译opencv_contrib模块

opencv从2.x到3.x源码结构变动非常大,很多功能不完善、性能不稳定或测试不完全的模块,都被放在了extra_modules(opencv_contrib)里面。官方给出的解释是:所有新模块都应单独开发,并首先在opencv_contrib中发布 ,当模块成熟并获得普及时,再将其移至opencv主库中,这时开发团队也将为该模块提供后续支持。最近要用到一些特征点检测算法,3.0以后这些算法都移到了xfeacture2d模块中,下面记录一下编译过程。1. 编译OpenCV下载源码,按照常规思路编译

2020-06-20 23:48:57 2285

原创 隐马尔科夫模型(Hidden Markov Model,HMM)定义及概率计算算法

1. 基础知识1.1 马尔可夫性质(Markov Property)马尔可夫性质(Markov Property)是概率论中的一个概念,因为俄国数学家安德雷·马尔可夫得名。当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。具有马尔可夫性质的过程...

2020-06-01 16:13:27 4076

原创 解决NoteExpress无法在Word中插入引用文献

Word中安装并启用NoteExpress插件:按alt+F9显示文档中所有隐藏的域代码,把无用的删掉,再次按alt+F9隐藏域代码,然后再插入引文就可以了。

2020-05-02 16:08:14 36900 6

原创 特征值分解(Eigen Value Decomposition,EVD)、奇异值分解(Singular Value Decomposition,SVD)原理、公式推导及应用

==

2020-04-30 17:43:41 13334 1

原创 【Qt】Qt源码编译32位、64位

0 环境配置Windows 10Visual Studio 2017 CommunityQt 5.15.0-beta41 下载源码下载地址下载qt源码并解压2 编译配置(32bit & 64bit)这一步骤可选择编译版本,32位或64位。直接在开始菜单打开VS2017的命令行工具,这样就不用再configure指定编译器了。要编译32位就选x86,64位就选x64。...

2020-04-27 18:05:18 9714

原创 相机标定(三)-相机成像模型

1 人眼&相机结构1.1 类比类比来说,相机就是计算机的“眼睛”:1.2 成像本质上来说,图像是真实世界场景中在二维平面(成像平面)的投影,它记录了两类信息:几何信息:位置、点、线等;光度信息:强度、色彩。2 相机成像模型小孔成像模型(Pinhole camera model)正交投影(Orthographic projection)缩放正交投影(Scal...

2020-04-02 17:04:34 7722

原创 贝塞尔曲线(Bezier Curve)原理及公式推导

1. 定义贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。贝塞...

2020-03-04 13:11:52 54473 11

原创 VTK使用vtkPlaneSource创建棋盘格并显示

最近做实验需要用到虚拟棋盘格,尝试了很多方法,比如用vtkImageCanvasSource2D绘制,但放大容易失真,用图片的话需要进行spacing设置,用起来比较繁琐。用vtkPlaneSource做这种网格色块更简单,只需要设置polydata的颜色即可。关键部分的代码如下,可以根据需要设置rlt和sqrLen:int rlt = 10; // x,y方向上的方格数量int sqrLen...

2020-03-03 16:23:28 1258

原创 迭代最近点(Iterative Closest Point, ICP)算法

1. 定义ICP(Iterative Closest Point,迭代最近点)算法是一种迭代计算方法,主要用于计算机视觉中深度图像的精确拼合,通过不断迭代最小化源数据与目标数据对应点来实现精确地拼合。已经有很多变种,主要热点是怎样高效、鲁棒的获得较好地拼合效果。2. 问题引入ICP算法常被用于点云匹配(刚性配准)。给定两组点云(源点云PPP与目标点云QQQ):{P={p1,p2,......

2020-03-01 22:38:33 4721

原创 移动立方体(Marching Cubes,MC)算法

移动立方体(Marching Cubes)算法是面绘制算法中的经典算法,它是W.Lorensen等人于1987年提出的体素级重建算法,也被称为“等值面提取”(Isosurface Extration)算法。移动立方体算法的主要思想是在三维离散数据场中通过线性差值来逼近等值面。在医学图像分割与重建中,我们通过定义一个阈值来确定这个等值面。首先,确定“体元”(Cell)的概念,这与“体素”(Voxe...

2020-03-01 22:18:42 12716 6

原创 朴素贝叶斯(naive bayes)分类

1. 概念回顾1.1 条件概率公式条件概率是指在事件B发生的条件下,事件A发生的概率。条件概率表示为P(A∣B)P(A|B)P(A∣B),读作“A在B发生的条件下发生的概率”。若只有两个事件A、B,那么有:P(A∣B)=P(AB)P(B)P(A|B)=\frac{P(AB)}{P(B)}P(A∣B)=P(B)P(AB)​1.2 全概率公式若事件B1,B2,...,BnB_1,B_2,...

2020-02-26 17:32:47 388

原创 k近邻(k-nearest neighbor,k-NN)及其实现 - kd树(k-dimensional tree)

《统计学习方法》李航 - 第3章1. 概述1.1 定义k近邻法(k-nearest neighbor,k-NN)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。简单来说就是:在样本空间(训练集)中,与待测样本最相邻(通过距离度量)的k个样本中,大多数属于某一个类别,则该待测样本也属于这个类别,并具...

2020-02-26 00:24:32 1072

原创 医学图像中的窗宽(Window Width,WW)和窗位(Window Level,WL)

1. 定义CT等放射医学影像中有窗宽(Window Width,WW)和窗位(Window Level,WL)的概念,这在医学图像处理中也经常用到。下面以CT为例对这个概念做一个解释。常规显示器的颜色位深通常为8bit,而医学图像位深通常为10~12bit(常用16bit的变量类型表示,如有符号的短整型signed short,取值范围为-32768~32767)。以此为基础的CT值是测定人体...

2020-02-24 11:19:17 48411 4

原创 Markdown、Word中插入公式及序号,并设置公式居中序号右对齐

Markdown里实现这个功能非常简单,只需要在公式最后插入\tag{index}即可,其中index为公式编号。如:S(x)=11+e−x(1)S(x)=\frac{1}{1+e^{-x}}\tag{1}S(x)=1+e−x1​(1)对应代码为:S(x)=\frac{1}{1+e^{-x}}\tag{1}Word 2016中可以通过设置表格或制表位等不同方式实现,但最简单的方式...

2020-02-22 21:27:54 3955

翻译 神经网络和反向传播算法的详细解释,深度学习基础

本文通过以下8个部分来详细解释神经网络的一些基本概念:模型表示(Model Representation)模型的数学表示(Model Representation Mathematics)激活函数(Activation Functions)偏置节点(Bias Node)损失函数(Cost Function)前向传播计算(Forward Propagation Calculation...

2020-02-22 14:39:57 1568

原创 相机标定(二)-畸变校正,张正友标定法

1 一些基本的方程推导1.1 预定义定义2D点为m=[u,v]Tm=[u,v]^Tm=[u,v]T,3D点为M=[X,Y,Z]TM=[X,Y,Z]^TM=[X,Y,Z]T。用上标~用来表示增广向量(在最后添加元素1,齐次形式):m~=[u,v,1]T\tilde{m}=[u,v,1]^Tm~=[u,v,1]TM~=[X,Y,Z]T\tilde{M}=[X,Y,Z]^TM~=[X,Y...

2020-02-21 13:20:46 6189

原创 群晖数据库更新后权限问题导致的无法本地、远程连接

群晖服务器更新MariaDB 10数据库,更新完成后强制要求修改密码(密码规则、强度要求变化),改完密码导致远程无法连接(Navicat),gogs无法访问等一系列问题。这主要是由于mysql的权限问题导致的,用以下命令获取权限:mysql> grant all privileges on *.* to 'root'@'%' identified by "password" with g...

2020-02-21 10:38:44 2344 1

原创 极大似然估计(Maximum likelihood estimation,MLE):用样本估计总体参数

1 基本概念回顾边缘概率、联合概率和条件概率的基本概念。1.1 定义边缘概率(Marginal Probability):可以简单理解为单一事件发生的概率。如果A是一个事件,且事件A发生的概率为P(A)P(A)P(A),则P(A)P(A)P(A)就被称为边缘概率;联合概率(Joint Probability):两个或多个事件相交的概率。从视觉上看,它是维恩图上两个事件圆的相交区域。如果A和...

2020-02-20 21:36:12 3759

原创 Gogs提示权限问题(Permission denied)无法使用git

gogs后台已经配置好ssh-key但依然提示“Permission denied…”,两步操作:设置目录权限(gogs文档要求):a. .ssh/ 目录权限为0700b. .ssh/authorized_keys文件权限为0600后台重新生成“.ssh/authorized_keys”文件弄了两天终于搞定,十分感谢这位仁兄的博文:https://www.itfanr.cc/201...

2020-02-20 10:59:43 5561

原创 Markdown公式以不同方式对齐

需要对齐的内容以\begin{align}和\end{aligned}包围,在需要对齐的符号(如等号)前加&来标记,用\\来换行。1. 单公式以等号对齐效果:KPI=(N+S)W=NW+SW\begin{aligned}KPI&=(N+S)W \\&=NW+SW\end{aligned}KPI​=(N+S)W=NW+SW​代码:\begin{aligne...

2020-02-16 22:31:57 11701

原创 相机标定(一)-原理及内参、外参

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。...

2020-02-16 22:02:49 14815

翻译 罗德里格斯(Rodrigues)旋转公式推导

定义假设v\pmb{v}vvv是实数空间R3\R^3R3中的一个任意向量,k\pmb{k}kkk是一个单位向量,向量v\pmb{v}vvv绕向量k\pmb{k}kkk旋转θ\thetaθ角度,则表示旋转后向量vrot\pmb{v}_{rot}vvvrot​的罗德里格斯公式为:vrot=vcos⁡θ+(k×v)sin⁡θ+k(k⋅v)(1−cos⁡θ)v_{rot}=\pmb{v}\cos\t...

2020-02-16 18:19:20 3317 1

翻译 神经网络中正则化方法的快速指南

L1 / L2Weight DecayDropoutBatch NormalizationData AugmentationEarly Stopping下面的故事听起来很熟悉。想象一下,我们必须用经典的机器学习算法来解决数据问题。一种典型的方法是通过降维来提高模型的性能并减少其训练时间。如今,在使用深度学习时,优化过程的繁重任务已被留在后台,尤其是由于GPU的出现以及对它们的便...

2020-02-10 12:00:45 2339

翻译 改善深度学习算法:优化(Optimization)与正则化(Regularization)

实现机器学习和深度学习算法与编写任何其他类型的软件程序都不同。虽然大多数代码都经历了传统的代码编写、编译/解释、测试和执行这样的生命周期,但是深度学习模型却始终经历着测试和改进过程的永无止境的生命周期。大多数人通常将生命周期的这一部分称为优化(Optimization),但实际上,它还包括深度学习理论的另一个重要领域:正则化(Regularization)。为了了解优化和正则化在深度学习模型中的作...

2020-02-10 10:17:15 1783

mdmcpq.inf_amd64

驱动无法安装,提示“系统找不到指定的文件”

2016-01-07

空空如也

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

TA关注的人

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