自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (5)
  • 收藏
  • 关注

原创 目标检测算法总结

一、目标检测1. 算法目的:一是分类图像中的物体,二是给出图像中物体的具体位置2. 解决算法:一是传统的图像处理方法,二是基于深度学习的方法。二、传统目标检测1. 主要算法流程:提取候选区域(proposal) Selective Search对候选区域进行特征提取(haar,hog)使用分类器(事先训练好的)进行分类对所有包含有效目标的候选区域进行合并...

2018-08-15 23:13:42 1910 2

原创 cartographer对应论文的琢磨(2)

以下内容是我在学习cartographer的时候做的一些笔记,排版什么的可能会比较乱,先放上来,有时间再来整理一下。因为之后学习的时候通过其它大神的一些博客学到了一些东西,我也希望自己的笔记对其它人有帮助,同时也希望能找到一起学习的小伙伴,当然能找到大神纠正我的一些错误理解更是求之不得啦。1)scan 和submap的匹配。在论文中,对于地图的表示采用的是栅格地图,地图上存储的

2017-06-26 10:15:00 7812 3

原创 Point set registration:CPD && ICP

前言:因为在项目中会用到点集的匹配,点集的匹配用到的算法主要有两种:一是CPD,二是ICP。通过研读论文来发现他们的优缺点,进行比较。对于CPD只看rigid变化的部分,因为我们目前还未涉及到nonrigid部分。点集的匹配其实就是找到两个点集之间的关系,然后将其中一个进行转换映射到另一个点集上CPD: Coherent Point Drift既然point set registration是找到两

2017-03-28 08:57:19 10574 3

原创 Cartographer 代码逻辑

先在此声明一下:这篇文章是在泡泡机器人的公众号文章Cartographer理论及实现浅析的基础上进行学习的,所以必须先感谢一下泡泡机器人对这一块的贡献!整体理论概述还是先放一张图: 大家看一下这张图,里面有scan与submap的匹配,这部分的匹配方法是有scan_matching 中的RealTimeCorrelationScanMatcher实现的。还有一个匹配是在完成闭环检测的全局位姿优化的

2017-03-14 08:51:25 6329 7

原创 google cartographer的论文《real-time loop closure in 2D LIDAR SLAM》翻译

cartographer论文翻译初衷因为自己看了两天论文毫无头绪,就想着那就先把这篇论文翻译一下,然后加上自己的一些理解。看看能不能得出点啥来。摘要便携式激光测距仪(也就是LIDAR)以及实时定位和绘图(slam)都是比较有效的一种建立平面图的方法。实时生成和绘制平面图能很好的评估捕获的数据的质量。因此建立一个在有限的资源下可接入的平台是非常有必要的。这篇论文提供了一种在mapping 平台后台使用

2017-03-08 16:57:31 22346 10

转载 图像显著度(saliency detection)研究现状调研

转自:http://blog.csdn.net/huangbo10/article/details/19788547?utm_source=tuicool&utm_medium=referral   感谢原作者的贡献关于显著度的研究是从生物研究发展而来,早期比较重要的工作是C.Koch与S.Ullman做的,时间可以追溯到1985年。显著度的获取方式主要有两种:自上而下,从

2017-02-24 11:57:50 2149

原创 java中容易犯错的知识点

java中容易犯错的知识点该博客的内容是在看了《head first java》之后总结的一些知识点,是针对我个人的不足总结的知识点,我写博客还是newer,希望大神们多多指教。需要注意的是这篇内容的标号和《head first java》中的章节标号不是一致的。目录java中容易犯错的知识点目录No1 对象数组No2 java中的修饰符的访问权限No3 局部变量与实例变量No4 C与J

2016-05-27 18:56:53 4795

原创 关于在C/C++中对于输入以换行结束的一些问题

这两天在做一些OJ的题,题目一般都会要求测试的数据有很多组,每组都是一行,但是如果不是所有的测试数据输入完成的话,那么用(scanf(“%d”,&data)!= EOF)是没办法判断一行数据输入完成的,我还为此很纠结。cin 和scanf的输入我自己试了之后一直没解决这个问题。之后在博主:吃苹果阿 里面看到一道题目的做法,瞬间感觉到好像问题解决了。对于一组测试数据(一行数组),他的解决

2016-03-13 21:45:51 9609

原创 iOS多线程之GCD

多线程编程是iOS 开发中必不可少的部分。这一篇博客主要是讲一讲GCD相关的知识。

2022-05-30 20:59:34 286

原创 iOS — ObjectiveC混编 c++

文章目录一、Objective-c 和 C++为什么能混编1. C++的“不跨平台性”与“跨平台性”1.1 C++的“不跨平台性”1.2 C++的“跨平台性”1.3 不同的编译器1.4 总结2. Ojective-C3. 兼容原因二、混编实践1. OC调用C++1.1 使用场景:1.2 具体实践2. C++调用OC2.1 void*类型做转换2.2 mm中实现C++类总结一、Objective-c 和 C++为什么能混编1. C++的“不跨平台性”与“跨平台性”现在对于C++,有两种说法:“跨平台

2022-05-19 14:40:13 2126

原创 iOS 底层原理03——isa的走位图和类

iOS OC对象内存分布,ISA结构分析

2022-04-19 21:41:48 2292

原创 聊聊iOS autoreleasepool里的数据结构

iOS autoreleasepool分析

2022-03-17 20:52:48 3206

原创 算法题——任意进制转换

求任意两个不同进制非负整数的转换(2进制~16进制)

2022-03-13 22:33:17 1755

原创 iOS 缓存框架YYCache学习

这篇文章主要是学习YYCache的缓存策略算法。我们在刷题的过程中会遇到相关的算法题,那就来看看在具体的工程项目中是如何使用的吧!

2022-03-02 21:17:45 3564

原创 C++11 类的多态

c++中类的三大特性是:继承,封装,多态。 因为近期写代码用到了类的多态性,所以在这里再总结一下。一、多态的定义关于多态的定义,我是参考大佬的文章再加上自己的理解得到以下内容的,大佬链接在此。1.1 多态的定义多态性可以简单地概括为“一个接口,多种方法”,虽然在c++中没有接口(interface)这个关键字的存在,但是可以通过多态来实现,多态的目的就是为了接口重用。C++多态性是通过...

2019-10-17 20:29:39 570

原创 python使用ElementTree处理xml容易犯错的点&美化xml

python使用ElementTree处理xml容易犯错的点&美化xml引言代码环境相关先上代码引言目前因为需要写一个tool处理xml文件,对于面向浏览器编程的我来说,迅速打开chrome开始搜索关键字python xml,然后打开很多都是各种blog,于是随便打开了一篇,参考文章主要有如下两篇:Python xml属性/节点/文本的增删改[xml.etree.ElementTr...

2019-07-23 18:06:28 749

原创 ICP算法重读

今天面试的时候被问到了ICP的内容,想想之前自己做了那么多的工作,竟然忘记了,所以决定来重读一下。打算是以Q&A的形式来进行回顾,这样才能清楚的知道到底是哪儿不明白。Q1: ICP用的最多的是点云的匹配,一般都是PCL中的ICP算法直接进行实现了,那具体ICP的基本过程到底是怎么样的呢? A1: ICP算法包括以下步骤: 1) 根据点集P1中的点坐标,在曲面S...

2018-05-02 19:15:09 4779 3

原创 将训练好的模型进行封装然后在不同平台使用(分框架,分平台)

一. tensorflow框架下的模型封装,固化一般都是使用python在服务器上训练好模型之后,将模型的参数和计算图结构进行固化为pb文件,然后使用C++,JAVA,go,调用,当然也可以在mobile上使用。接下来将分别对应不同的语言和不同的平台给出具体解决方法。1.1 tensorflow下的模型定义以及训练(基于python语言)参考博客1 博客2 官方文档...

2018-03-23 16:34:19 21611 4

原创 使用ros中的image_transport API将自己的数据集做成rosbag

因为很多的slam代码是有ROS版的,ROS版的一般数据的输入都是rosbag的形式,所以为了使用,测试新的数据集,需要将没有rosbag的数据集转为rosbag的形式,其实这里涉及的就是将普通的照片转为ros的图片,使用一个节点发布这写图片流,然后使用rosbag进行记录,然后生成一个rosbag的包.整体就是这样的思路.ROS的官网上也有相关的Tutorials.Tutorials 里面命令有

2018-02-08 14:42:17 8287 14

原创 VIO当中的预计分 《On-manifold preintegration for real-time visual-inertial Odometry》

该博客是关于VIO当中预计分的知识。同时结合高翔博士的讲解PPT以及原文章。我刚开始也看不是很懂,然后不断的查各种知识甚至原文中的各种英文术语,然后先理解术语是什么意思,再将其与该论文中的应用场景对应,其中还选择择了高翔博士的《视觉SLAM十四讲作为参考资料》。预备知识—李群李代数李群李代数的知识参考了《视觉SLAM十四讲》以及预计分论文的前面部分。SO(3)特殊正交群也就是由三维旋转

2018-01-20 17:06:35 12194 8

原创 图像的边缘检测算子总结

边缘检测算子的学习总结之前学习过的边缘检测的算子,一直没仔细总结,现在因为找实习的原因,就来总结一下,若有任何问题,欢迎指出! 在学习的过程中看到一篇博客,这篇博客写了算子与导数之间的数学关系,有兴趣的可以看看。传送门 边缘检测算子在wiki上也有解释,如果只是想了解一下,可以先看看wiki上的解释. 接下来将会记录一下自己学过的Canny,sobel,Prewiit ,Robert,

2018-01-07 18:10:05 7731

原创 tensorflow/magenta在ubuntu14.04上的安装

基于要拿神经网络要做艺术性的工作,所以想借鉴一些google的magenta项目,具体的安装其实最简单的方式就是使用conda(anaconda这个软件)。按照官网给出的安装方法其实也就可以安装完成了,但是由于目前版本的问题,所以需要记录一下。截止目前(2017.11.7),官网的magenta的版本是v0.3.2,而且需要注意的是这个版本里面要求的tensorflow或者tensorflow-gp

2017-11-07 21:06:53 2917 1

原创 Tensorflow中的CNN layer参数(即用tensorflow框架实现简单CNN)

这篇文章主要以LeNet在tensorflow中的实践作为基础进行讲解。主要是一些基本代码的分析。至于LeNet这个网络的详解,可以参考: LeNet详解一、tensorflow中提供的函数对于CNN网络来说,tensorflow基本的两个提供的函数分别是: tf.nn.conv2d()和 tf.nn.bias_add() ,那么用这两个基本的函数来构造LeNet,那么先来看看整体的架构是怎样的

2017-10-23 21:16:31 6028

原创 CNN当中的几个知识点

一、卷积操作关于卷积操作,个人理解就是用一个filter(m*m)的,去对原来的图像进行相乘相加运算。之前的DNN里面讲到的weight其实就是对应着这里的filters。所以也需要网络自己根据训练情况进行修改。卷积操作里面的两个要点:参数共享:意思就是一个filter划过一整张图片。局部链接:就是随机或者固定的选择一些神经元进行链接。不连接全部(因为计算量太大)。DNN中的Dropout变种(

2017-10-11 15:19:21 2400

原创 一起学RGB-D-slam环境配置

跟着高博的博客在学RGB-D-slam,对于Ubuntu这个系统的使用还是比较陌生的,按照高博的博客安装opencv和pcl后,(详情见:http://www.cnblogs.com/gaoxiang12/p/4633316.html)在编译generate_pointcloud.cpp这个文件的时候出现错误:这个错误是关于VTK的,也就是电脑里面没安装VTK。因为PCL是依赖于VTK的,所以必须先

2017-06-27 10:13:54 2829

原创 CPD算法源码的研究

引言: 因为近期在研究扫地机的匹配算法,所有用到了CPD算法,但是CPD算法在我们的项目中总会出错,但是我们对于出错的原因并不是很了解,于是便开启看源码的坑。。。一. CPD代码的整个调用框架 CPD算法按照论文中的算法流程(rigid的情况): 如上图的左边的算法流程所示,接下来记录的也是针对左边的算法流程。 整个CPD的调用是采用matlab来调用C语言的代码。主要的实现实在c

2017-06-15 11:02:53 9266 7

原创 cartographer中的SparsePoseGraph

需要弄清楚到底在这个优化过程中需要的constraints来自于哪些东西?什么submaps,submap,matching_submap,insert_submap这些都是用来干什么的?KartoSLAM的解析如下:http://blog.csdn.net/zrjust1043/article/details/66970557KartoSLAM和Carto的比较如下:http://blo

2017-06-07 15:03:51 4767

原创 kalman滤波以及EKF

之前在看tinySLAM的时候就涉及到了PF(粒子滤波),现在在看google的cartographer的代码的时候又遇到了EKF这个滤波的方法,所以还是值得学习一下的。EKF的学习是参考,这是一篇关于SLAM的基本普及的文献,对于基本知识还是有很大作用的,建议在开始SLAM之前可以先阅读这篇文章。Kalman滤波的公式解析关于卡尔曼滤波的简单介绍参见这个文档,这个文档里面的PPT详细的介绍了卡曼尔

2017-03-27 08:42:17 8053

原创 数组的循环移动

数组的循环移动是考查的算法中比较常见的,有循环左移,循环右移之类的。当然,不会直接就考查移动的算法,还会有一定的时间复杂度,空间复杂度的要求之类的,这才是算法要求的,所以这两天刚好看到类似的题目,就记录一下。题目要求如有数组abcd1234,让数组向右边移动两位,变成了34abcd12。这就是数组的循环右移操作,那么要求在尽可能少的时间复杂度下实现将整个数组移动m次的这个操作。不考虑时间复杂度的实现

2017-03-21 18:08:08 3650

转载 EM算法的python实现

前言:前一篇文章大概说了EM算法的整个理解以及一些相关的公式神马的,那些数学公式啥的看完真的是忘完了,那就来用代码记忆记忆吧!接下来将会对python版本的EM算法进行一些分析。这个代码在这个大神的博客 里面有写得很清楚啦!不过我还是要当一下搬运工,来继续聊聊这个python实现。EM的python实现和解析引入问题(双硬币问题)假设有两枚硬币A、B,以相同的概率随机选择一个硬币,进行如下的抛硬币实

2017-03-21 16:18:09 21302 3

原创 EM算法和高斯混合模型的学习

前言:想学习一些统计学的知识,所以想把自己学习的过程记录下来,希望自己能够坚持下来。也非常希望能够在CSDN找到小伙伴一起学习,监督,共同成长。EM算法和高斯混合模型学习一、EM算法的引入EM(expectation maximization)算法在李航的书《统计学习方法》中的定义如下:EM是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或者极大后验概率的估计。(对于这个概率模型的极大似

2017-03-20 15:00:45 3696

原创 tinySLAM代码逻辑结构

tinySLAM的代码逻辑结构前言&&吐槽:在这里先提前声明,我是在我自己理解的基础上写下这些东西的,如果我的理解有误,还是希望大神们能帮忙我解答一下,至少不要让我处于不明不白中。上面说的是自己理解有误,对于tinySLAM这篇文章,但是如果没有理解有误的情况下,我要吐槽一下这篇文章了。下面是吐槽部分,大家可以忽略,但是如果你对于这篇文章也很不明白,那么欢迎来看看我的吐槽。文章当中说了这是一个不超过

2017-03-17 09:34:33 5035 3

原创 tinySLAM阅读笔记

tinySLAM阅读笔记初衷:tinySLAM是openSLAM中实现最为简单的一个SLAM方法,相比于ORB-SLAM之类的,这个代码的核心实现没有超过两百行,所以还是相对简单一些,对于我这样一个新手,拿来入门,深刻理解SLAM的工作原理,还是很有帮助的。我的导师希望我把这篇文章2010年发表在ICARCV的论文(CoreSLAM:a SLAM Algorithm in less than 200

2017-03-14 15:09:22 6726

原创 删除线性表中的重复元素

小记:烦躁ing,看不进去其它东西,就来刷刷leetcode的题目,今天刷到一道比较基础的删除已排序数组的题目,感觉很典型,就记录了一下。一、leetcode原题:删除已排序数组重复元素先给出leetcode原题照片:原题大意就是对于一个已经排好序的数组,删除重复元素。要求空间复杂度为O(1)。也就是不能重新申请新的数组。解题思路:对于已经排好序的数组,那么重复元素必然是聚

2017-02-27 17:32:05 11514

转载 似然函数相关概念

转自:http://www.cnblogs.com/kevinGaoblog/archive/2012/03/29/2424346.html似然函数的概念(源自:维基百科)在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“似然性”与“或然性”或“概率”意思相近

2017-02-22 16:45:26 554

转载 关于domain adaptation

转自:http://blog.csdn.net/a1154761720/article/details/51020105这篇文章是结合对抗网络框架与深度学习技术解决domain adaptation应用的一个工作。具体而言,在这个框架中对三个部分进行训练:一个是feature extractor,这个是用于提取特征的,一般由卷积层与pooling层组成;另一个是label classifi

2017-02-22 10:31:28 1435

转载 深度学习 vs 机器学习 vs 模式识别

转自:http://www.computervisionblog.com/2015/03/deep-learning-vs-machine-learning-vs.html译文见:http://www.csdn.net/article/2015-03-24/2824301Deep Learning vs Machine Learning vs Pattern Recognition

2017-02-21 15:40:35 1512

转载 机器学习中的covariate shift现象的解释

转自:http://blog.csdn.net/mao_xiao_feng/article/details/54317852[-]一什么是covariate shift二怎么解决covariate shift一、什么是covariate shift?在论文中经常碰到covariate shift这个词,网上相关的中文解释比较少。你可能会在介绍

2017-02-21 15:33:47 1417

转载 深度增强学习前沿算法思想

本文转自:https://www.kuaiyudian.com/news/1486.html摘要: 深度增强学习经过近两年的发展,在算法层面上取得了越来越好的效果。从DQN,A3C到UNREAL,精妙的算法设计无不闪耀着人类智慧的光芒。在未来,除了算法本身的改进,深度增强学习作为能够解决从感知到决策控制的通用型学习算法,将能够在现实生活中的各种领域得到广泛的应用。AlphaGo的成功只是通

2017-02-21 09:48:46 529

原创 saliency detection论文(一)—Saliency Detection: A Spectral Residual Approach

目录本文是对Xiaodi Hou和Liqing Zhang写的《Saliency Detection: A Spectral Residual》的翻译与总结:目录Abstract残差谱模型1 log频谱表示2 从谱残差到显著图的获得实验结果分析本文参考资料《Saliency Detection: A Spectral Residual Approach》是上交高材生侯晓迪在07年的CV

2016-11-01 21:27:06 1311

算法设计与分析 (Jon Kleinberg著 张译)

最经典的算法设计与分析的教材,找工作时候的必需品。

2018-04-04

数字图像处理 第三版中文版

本书讲解了一些基本的数字图像处理的方法,包括基本的图像处理,提取特征等

2017-11-08

统计学完全教程(李航著)

这本书主要是针对传统的机器学习,对传统机器学习的数学知识进行剖析。很适合学习机器学习的原理。

2017-11-08

机器人操作系统(ROS)浅析

大体讲述了机器人操作系统(ROS)的基本概念,以及一些基本的工作机制。适合大概了解。

2017-11-08

空空如也

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

TA关注的人

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