自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 罗德里格斯公式两种推导方法

2020-05-15 12:24:29 621

原创 单应矩阵在2D图像拼接中的应用

2020-05-13 10:51:32 573

原创 简单的梯度下降法

求解机器学习算法的模型参数,即无约束优化问题时,梯度下降法是最常采用的方法之一,另一种常用的方法是最小二乘法。这里对梯度下降法做简要介绍。1 梯度在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,简称grad f(x,y)或者▽f(x,y)。...

2020-04-27 09:22:17 681

原创 简单的最小二乘法

最小二乘法是用来做函数拟合或者求函数极值的方法。在机器学习,尤其是回归模型中,最常用的就是最小二乘回归求解模型参数。1 最小二乘的原理与要解决的问题最小二乘法是由勒让德在19世纪发现的,原理的一般形式很简单,发现的过程是非常艰难的。形式如下式:观测值就是我们的多组样本,理论值就是我们的假设拟合函数。目标函数也就是在机器学习中常说的损失函数.我们的目标是得到使目标函数最小化时...

2020-04-27 09:03:43 890

原创 奇异值分解——SVD

奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。1. 回顾特征值和特征向量首先回顾下特征值和特征向量的定义如下:2. SV...

2020-04-26 19:08:24 307

原创 理解卷积神经网络——CNN(Convolutional Neural Networks)

1 卷积神经网络(CNN)模型结构在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一。CNN广泛的应用于图像识别,当然现在也应用于NLP等其他领域,本文我们就对CNN的模型结构做一个总结。1.1 CNN基本结构首先我们来看看CNN的基本结构。一个常见的CNN例子如下图:图中是一个图形识别的CN...

2020-04-26 13:29:22 1337

原创 激活函数

先占位

2020-04-26 11:01:03 134

原创 理解深度神经网络——DNN(Deep Neural Networks)

深度神经网络——DNN 是深度学习的基础。要理解DNN最好先搞清楚它的模型。本篇博文主要对DNN的模型与前向传播算法做一个易于理解的总结。1.从感知机到神经网络的理解。感知机是这么一种模型:一个有若干输入和一个输出的模型。看下图:输出和输入之间学习到一个线性关系,得到中间输出结果:接着是一个神经元激活函数:从而得到想要的结果1或者-1.这个模型只...

2020-04-26 10:51:50 26045 3

原创 C++:#pragma once

#pragma once头文件中避免多次引用或者#ifndef#define#endif

2020-03-27 09:49:05 136

原创 C++:system

在C++中的作用是暂停。无返回值时暂停,又返回值时不暂停。#include<iostream>#include<stdlib.h>usingnamespacestd;voidmain(){system("pause");}#include<iostream>#include<stdlib.h>usi...

2020-03-25 11:06:41 298

原创 ROS学习笔记(14)

rosdep update一直失败:解决办法:??roswtf工具的基本使用方法。开始本教程之前请确保roscore没在运行。安装检查roswtf 可以检查你的ROS系统并尝试发现问题,我们来试看:$ roscd$ roswtf你应该会看到(各种详细的输出信息):Stack: ros======================================...

2020-03-24 15:49:11 364

原创 ROS学习记录(13)

录制与回放数据录制数据(通过创建一个bag文件) 本小节将教你如何记录ROS系统运行时的话题数据,记录的话题数据将会累积保存到bag文件中。 首先,执行以下命令: roscorerosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key以上操作将会启动两个节点——一个turtlesi...

2020-03-24 14:53:42 232

原创 ROS学习记录(12)

简单的Service和Client(C++ catkin)编写Service节点这里,我们将创建一个简单的service节点("add_two_ints_server"),该节点将接收到两个整形数字,并返回它们的和。 进入先前你在catkin workspace教程中所创建的beginner_tutorials包所在的目录:cd ~/catkin_ws/src/beginner_tu...

2020-03-24 14:32:42 193

原创 ROS学习笔记(11)

编写简单的消息发布器和订阅器(C ++ catkin)编写发布器节点 "节点(Node)" 是ROS中指代连接到ROS网络的可执行文件的术语。 接下来,我们将会创建一个发布器节点("talker"),它将不断的在ROS网络中广播消息。 转移到之前教程在catkin工作空间所创建的beginner_tutorials package路径下: cd ~/catkin_...

2020-03-23 17:50:16 563

原创 ROS学习总结(10)

创建ROS消息和ROS服务创建并编译ROS消息和服务,以及rosmsg,rossrv和roscp命令行工具的使用。消息(msg)和服务(srv)介绍 消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。 服务(srv): 一个srv文件描述一项服务。它包含两个部分:请求和响应。 msg文件存放在package...

2020-03-23 16:27:24 273

原创 ROS学习总结(9)

使用rosed来简化编辑过程目录使用 rosed 使用Tab键补全文件名 编辑器使用 rosedrosed是rosbash 的一部分。 利用它可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了。 使用方法:$ rosed [package_name] [filename]例子:$ rosed roscpp Logger.msg这个...

2020-03-21 20:01:54 231

原创 ROS学习总结(8)

使用 rqt_console 和 roslaunch主要内容:使用rqt_console和rqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。rqt和turtlesim两个程序包安装:sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins ros-kinetic-tu...

2020-03-21 18:04:35 362

原创 ROS学习总结(7)

理解ROS服务和参数说明:本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservice 和 rosparam的使用方法。目录ROS Services 使用rosservice rosservice list rosservice type rosservice call Using rosparam rosparam list rosparam set an...

2020-03-21 14:45:57 214

原创 ROS学习总结(6)

理解ROS话题说明:本教程介绍ROS话题(topics)以及如何使用rostopic 和 rxplot 命令行工具。目录roscore turtlesim 通过键盘远程控制turtle ROS Topics 使用 rqt_graph rostopic介绍 使用 rostopic echo 使用 rostopic list ROS Messages rostopic ...

2020-03-21 14:30:10 271

原创 ROS学习总结(5)

理解ROS例程主要介绍ROS图(graph)概念并讨论roscore,rosnode和rosrun命令行工具的使用。先决条件在本教程中我们将使用到一个轻量级的模拟器,请使用以下命令来安装: sudo apt-get install ros-kinetic-ros-tutorials 图概念概述 Nodes:节点,一个节点即为一个可执行文件,它可以通过RO...

2020-03-21 13:10:27 400

原创 ROS学习总结(4)

编译ROS程序包介绍ROS程序包的编译方法针对CATKIN方式目录1.编译程序包 2.使用catkin_make 3.开始编译你的程序包编译程序包 一旦安装了所需的系统依赖项,我们就可以开始编译刚才创建的程序包了。 注意:如果您是通过apt或者其他附件管理工具来安装ROS的,那么系统已经替换安装好所有依赖项。 记得先前来源您的环境配置(setup)文...

2020-03-21 12:51:38 337

原创 ROS学习总结(3)

创建ROS程序包:本教程介绍如何使用roscreate-pkg或catkin创建一个新程序包,并使用rospack查看程序包的依赖关系。一个catkin程序包由什么组成?一个程序包要想称为catkin程序包必须符合以下要求: 1.该程序包必须包含catkin compliant package.xml文件,这个package.xml文件提供有关程序包的元信息。 ...

2020-03-21 11:37:18 243

原创 ROS学习总结(2)

针对catkin的ROS编译方式,下面是一些常用的工具:准备工作ros-tutorials教程程序包,请先安装: sudo apt-get install ros-kinetic-ros-tutorials 快速了解文件系统概念 1.Packages:软件包,是ROS应用程序代码的组织单元,每个副本都可以包含程序库,复制文件,脚本或其他手动创建的东西。2.Mani...

2020-03-21 10:59:24 222

原创 ROS学习总结(1)

Linux中更改环境变量操作如下: sudo gedit ~/.bashrc ROS安装思路:配置软件更新源,设置Key,更新,命令行安装,解决依赖,环境配置,以及卸载 系统软件源配置建议阿里云。安装源配置:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" >...

2020-03-21 10:30:25 348

原创 第二章 递归状态估计

2.1 引言大概理解下就是机器人从传感器数据中推断出有用的量化信息。2.2 概率基本概念

2020-02-03 16:23:17 152

原创 基础系列: 绪论

1.1 机器人学中的不确定性机器人学是一门通过计算机控制设备来感知和操作客观世界的学科。简单理解就是:机器人系统处于客观环境中,通过传感器感知环境,并通过机械力控制环境。要完成一定的任务,机器人要能接纳客观环境中存在的大量的不确定性。说白了就是机器人能归纳一下不确定性。导致机器人面临不确定性的因素有许多:Robot environment is unpred...

2020-02-01 22:35:57 174

原创 Methodology

托福的考察内容词汇+语法+听力笔记+口语表达 听力比重45%艾宾浩斯记忆曲线背单词是一个记忆视觉形象和音频形象的过程,所以要相乘一个视觉形象和音频形象。记单词的五个原则单词需要短期突破 每天尽量背单词(100-150) 背单词背的是中文意思,读音,最后是拼写。 每批单词第二、四、六复习。 将所有背完,2~3遍。具体操作听(音频)+看(视觉)+读(音频) ...

2020-01-13 10:58:11 239

原创 Feature Detector & Descriptor(三)

提取到Feature point以后,如何match?这就需要描述子(匹配比对的根据)了。描述子要足够鲁棒,对光照和几何不敏感。请看下面最简单的描述方法:这样可以做match,前提最好不要有像素强度、光照、几何变化。当我们用梯度来描述时,可以对像素shift鲁棒。或者用像素梯度图。(丢掉像素的空间位置),如下优点是:可以抵抗旋转变化。缺点是:丢掉...

2019-12-19 18:52:34 314

原创 Feature Detector & Descriptor(二)

视频链接Harris corner在尺度上存在问题,上一篇视频中提出的思路是自动的选择尺度,可能就解决了尺度不变性这个问题(找到一个尺度来定义这个点是不是Feature Point)。自动选尺度如何操作?逐步调节窗口大小,找出一个比较适当的窗口,然后得出这是Feature Point的结论,然后留下这个点。这个图不清晰,但是看视频应该可以理解。横轴是window size,纵轴是H...

2019-12-19 18:19:12 239

原创 Feature Detector & Descriptor(一)

视频地址Why Extract Features?Robot Localization 3D object recognition 图像拼接,两张图拼成一个视角更大的图Advantages of Local FeaturesLocality:局部性(局部特征,抗遮挡等干扰) Quantity:数量较多(一张图像中可能提取几百几千个) Dintinctiveness:区别性比较...

2019-12-18 15:48:05 828

原创 基础图像滤波器 Image Filter

一张图像是一组二维的像素值。Filtering:Replace each pixel by a linear combination of its neighbors The combination is determined by the filter‘s kernel Often spatially-invariant,the same kernel is applied to a...

2019-12-17 16:16:12 440

原创 第五课 投影矩阵的转换

投影矩阵的转换投影矩阵P是一个3 x 4的矩阵,可以对其进行分解得到一些属性,比如相机中心,朝向等信息。

2019-12-16 19:25:20 464

原创 从0开始(二)

SLAMSimultaneous Localization and MappingSLAM是指当某种移动设备(如机器人、无人机、手机等)从一个未知环境里的未知地点出发,在运动过程中通过传感器(如激光雷达、摄像头等)观测定位自身位置、姿态、运动轨迹,再根据自身位置进行增量式的地图构建,从而达到同时定位和地图构建的目的。SFM(structure from motion)是一种和SLAM非...

2019-12-16 17:55:59 135

原创 从0开始(一)

这个图说明了很多问题。毕竟是知识树,把知识面都展示地很清楚,要学的东西真特么多。先把简单的作业2贴上来吧,毕竟简单。题目2已知相机的位姿用四元数表示为q=[0.35,0.2,0.3,0.1],顺序为x,y,z,w,请编程实现:输出四元数对应的旋转矩阵、旋转矩阵的转置,旋转矩阵的逆矩阵,旋转矩阵乘以自身的转置,验证旋转矩阵的正交性。初始化顺序的是 w,x,y,z。本程...

2019-12-16 16:54:09 201

原创 ROS下配置搭建PCL开发环境

这部分主要是规范代码风格,为基于PCL开发自己的扩展。然后实例详解在PCL框架下如何建立我们自己定义类,最后介绍PCL中已经有的点的类型以及如何自定义点类型以满足扩展需求。PCL C++编程规范代码规范性和风格的重要性,不用多说了。PCL推荐的命名规范上面这个牵扯到头文件过引用问题,上面的宏定义解决了这个问题。总之,要重视下划线的应用。类的驼峰,命名。...

2019-12-14 17:31:02 1048 1

原创 第五课 小孔成像相机模型的局限性

以上回顾下这个数学模型。原来是这么回事。。。疑问暂时明白点了。补充下FoV如何计算?想一想。焦距与成像效果的关系?想一想。光圈与曝光时间的关系?想一想。光圈过大或者过小有什么影像?想一想。焦距既影响Fov,又影响透视效果。什么是透视效果?什么情况下透视效果强?什么时候弱?想想无穷远相机。小孔成像能量不足,所以用透镜聚光。透镜呢,有一个对应...

2019-12-14 13:54:51 650

原创 第四课 理想点——因缺斯汀

比如利用理想点知识判断一个妹子是否单身?先喊一句:百川牛逼。理想点又称为消影点,灭点(vanishing point)。。。忽然想起了国产二次元——《镇魂街》。本博客利用理想点测量单幅图像中物体的尺寸。测量单图像中物体的尺寸,属于单视图几何的知识点。一个问题:如何在单幅图像上测量物体尺寸?这个好像跟我的专利相关???暗物质?说下主要内容吧:如何测量单幅图像内物体的尺...

2019-12-14 10:58:56 653

原创 OpenCV复习(二) 操作像素

主要内容:存取像素值 使用指针遍历图像 使用迭代器遍历图像 编写高效的图像遍历循环 遍历图像和邻域操作 进行简单的图像算数 定义感兴趣区域引言存取、修改和创建图像上个博客简单复习了一下。这个博客主要是如何操作图像的基本元素,就是像素。必须得了解下高效的处理方法,因为每张图片的像素可能很多(数以万计)。本质上来说,一张图像是由数值组成的矩阵,cv::Mat这个数据结...

2019-12-12 16:07:12 311

原创 PCL入门

引言主要是再Linux下开发,先验知识有CMake、svn、make何C++编译链接等工具何基础知识,这一章算是复习CMake了。1. Linux 下配置搭建PCL开发环境Ubuntu Linux系统,搭建PCL开发环境有两种选择,一事定期更新维护地PCL开发包,二事通过源码编译搭建PCL环境。通常源码编译需要用户自行编译所有地第三方库,再编译PCL,有点麻烦。找好网上靠谱的教...

2019-12-11 20:29:54 352

原创 OpenCV复习(一) 接触图像

1.1 引言主要讲OpenCV的基础元素,完成最基本的操作:读取、显示及保存图像。我用的IDE是KDE4。因为免费。1.2 安装OpenCV库注意安装OpenCV时,带上扩展模块。可以搜可视化界面安装GUI。在这里不赘述了。OpenCV的官方网址,可以在这里找到官方文档和源码,方便查阅。注意:OpenCV库目前被划分为多个模块。这些模块编译成库文件后,位于lib文件中。...

2019-12-11 16:54:31 184

空空如也

空空如也

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

TA关注的人

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