自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aipiano

Let Machines See!!!

  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

转载 自适应机器人:定义工业机械臂的未来

文章目录协作机械臂够用了吗?怎样才算自适应机械臂?适应操作对象位置的不确定性适应复杂外部环境的干扰适应类似任务的快速迁移什么让自适应成为可能?力控技术用位置来控制力 ——用关节电流控制力 ——关节力矩传感器 ——关节力矩加末端六维力传感器 ——整机力控算法 ——层级式智能非层级智能 ——智能的底层、中层与高层 ——从简单到复杂,从快到慢 ——真正发挥人工智能的优势 ——本文转载至微信公众号 RO...

2019-09-10 11:17:24 5995 1

原创 机械臂与相机的标定

文章目录简介In-Hand CameraFixed Camera非线性优化References简介​ 机械臂在运动时,往往需要配合视觉信息进行目标的定位或识别,这就涉及到如何将相机坐标系(Camera Frame)下的物体转换到机械臂自身的坐标系下(Base Frame)。这一问题一般通过手眼标定(Hand-Eye Calibration)解决,其中的“手”即为机械臂,“眼”即为相机。​ 具...

2019-09-05 11:39:41 10699 10

原创 Guided Filter对三维点云降噪

同步更新于github page文章目录Guided Filter点云降噪ResultsNotesReferencesGuided Filter点云降噪Guided Filter一般用来对2D图像进行降噪等处理,实际上,稍作修改后可以对3D点云进行降噪。从Guided Filter的基本假设出发,可以推导出针对3D数据的处理方法。这里仅考虑引导数据是点云本身的情况。首先,根据局部线性假设...

2019-04-28 23:58:52 3613 4

原创 不变扩展卡尔曼滤波(三):一个更通用的框架

同步更新于github page。文章目录复杂系统下的不变扩展卡尔曼滤波混合误差的系统方程混合状态的更新总结References复杂系统下的不变扩展卡尔曼滤波由前面的文章可知,不变性要靠合理的状态误差设计来实现。但在更复杂的系统中,为所有状态量找到一个满足不变性的状态误差是很困难的,甚至一些状态是不可能被表示为群运算的。在存在这类状态量的系统中,有没有可能保留InEKF的主要优点呢(主要指一...

2019-04-28 23:35:41 3162 2

原创 Occupancy Map(Occupancy Grid)的更新

文章同步更新于github page文章目录Occupancy MapOddsOdds的更新对数OddsOccupancy Map将空间划分为一个个小网格(cell),每个cell中存储cell内是否有障碍物的概率,这样的地图称为Occupancy Map,由于所有cell构成一个网,所以也称为Grid Map。以2D Occupancy Map为例,每个cell中都有一个概率,那整个地图...

2019-04-24 23:10:32 3072

原创 不变扩展卡尔曼滤波(二):原理与推导

文章同步更新于github pages,欢迎收藏关注。文章目录扩展卡尔曼滤波的缺陷存在正反馈非一致性不变扩展卡尔曼滤波误差传递状态更新References扩展卡尔曼滤波的缺陷存在正反馈普通的扩展卡尔曼滤波(EKF),通过对动态方程的线性化,来估计状态与状态的协方差。比如有一个系统定义为x˙t=f(xt,ut)+nt\begin{aligned}\dot{x}_{t}&...

2019-03-23 14:10:52 6885 2

原创 不变扩展卡尔曼滤波(一):李群与李代数

本文同步更新与github pages,欢迎收藏关注。文章目录群的定义SLAM中常用的群切空间与李代数$SO(3)$的切空间$SE(3)$与$SE_{k+1}(3)$的切空间指数映射$so(3)$到$SO(3)$$se(3)$到$SE(3)$$se_{k+1}(3)$到$SE_{k+1}(3)$一些指数映射的其他性质群伴随$SO(3)$的伴随$SE(3)$与$SE_{k+1}(3)$的伴随Ref...

2019-03-23 13:48:53 4343

原创 叉乘速查手册

文章同步更新于github pages,欢迎收藏关注!文章目录运算法则逆交换分配率数乘不满足结合律混合积(循环置换)Triple ProductJacobin IdentitySum of Two Product其他关系与矩阵的关系叉乘矩阵叉乘矩阵的幂循环旋转不变性运算法则逆交换a×b=−b×a\mathbf a \times \mathbf b = -\mathbf b \times ...

2019-01-25 19:30:36 964

原创 四元数速查手册

文章同步更新于 github pages,欢迎收藏!文章目录定义加法乘法幺元共轭模逆交换子四元数的幂指数映射对数映射单位四元数与旋转定义与轴角的关系与旋转矩阵的关系四元数的导数对时间求导对四元数求导Reference定义q=w+xi+yj+zk=qw+qv=[qwqxqyqz]=[qwqv]\mathbf q=w+xi+yj+zk=q_w+\mathbf q_v=\begin{bmat...

2019-01-11 09:52:11 731

原创 高斯分布与边缘化

高斯分布的表示高斯分布有两种表达方式协方差矩阵+均值信息矩阵+信息矢量协方差矩阵+均值的方式比较常见,如下p(x)=ηexp⁡{−12(x−μ)TΣ−1(x−μ)}p(x)=\eta \exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\}p(x)=ηexp{−21​(x−μ)TΣ−1(x−μ)}其中对称正定矩阵Σ\SigmaΣ为随机变量x...

2019-01-09 23:40:08 2738 2

原创 SLAM算法评估中的轨迹拟合与外参求解

文章目录问题描述数学关系求解方法求解$_{gp}^{gv}T$求解$_{lp}^{lv}T$交替迭代优化时间戳对齐实验结果参考文献问题描述SLAM中常常碰到对齐(align)两个不同设备采集的轨迹的问题。比如通过VICON跟踪获得了一组轨迹,手机通过SLAM算法也获得一组轨迹,要评估SLAM算法的精度,就需要将手机获得的轨迹与作为真值的VICON轨迹对齐。数学关系设lpgpT_{lp}^{...

2019-01-07 22:50:00 4579 6

原创 贝叶斯滤波器

给定t时刻以及之前的所有观测z和输入u,我们的目标是求得当前状态量x的概率分布(belief),即 bel(xt)=p(xt|z1:t,u1:t)bel(xt)=p(xt|z1:t,u1:t)bel(x_t)=p(x_t|z_{1:t}, u_{1:t}) 在实际使用中,一般将求解过程分为两步,首先求解在t时刻观测前的先验分布,即 bel¯¯¯¯¯¯(xt)=p(xt|z1:t−1,u1:t...

2018-05-19 09:47:42 1776 7

原创 关于Batch Normalization的另一种理解

Batch Norm可谓深度学习中非常重要的技术,不仅可以使训练更深的网络变容易,加速收敛,还有一定正则化的效果,可以防止模型过拟合。在很多基于CNN的分类任务中,被大量使用。 但我最近在图像超分辨率和图像生成方面做了一些实践,发现在这类任务中,Batch Norm的表现并不好,加入了Batch Norm,反而使得训练速度缓慢,不稳定,甚至最后发散。

2017-01-11 16:00:04 9754 4

原创 Tensorflow实现照片风格的迁移

很多人都用过Prisma这个app,可以将普通照片转换为想要的风格。其背后的原理,就是通过神经网络学习某个图像的风格,然后再将这种风格应用到其他图像上。 这次通过tensorflow自己实现了一个这样的网络。

2017-01-10 15:51:24 21857 8

原创 Tensorflow实现二次元图片的超分辨率

github上有一个很有意思的项目,waifu2x,原理是通过一个训练好的CNN,将低分辨率的图像放大2倍或更多,同时保留足够的细节,使放大后的图像不会过于模糊或失真。该项目是用lua+Touch写的,最近在学习Tensorflow,闲暇之余打算在TF上自己实现一个这样的系统。

2016-12-17 15:56:26 21791 54

原创 OpenCV实现SfM(四):Bundle Adjustment

使用Ceres Solver实现三维重建中的Bundle Adjustment.

2016-09-04 18:30:12 32251 76

原创 OpenCV实现SfM(三):多目三维重建

在前两篇文章的基础上,将双目三维重建程序扩展为多目,实现任意图像数量的三维重建。

2016-04-24 15:02:26 53575 118

原创 OpenCV实现SfM(二):双目三维重建

使用OpenCV3.0实现双目三维重建,原理清晰,实践有效。

2015-09-02 14:33:18 64752 147

原创 OpenCV实现SfM(一):相机模型

相机的标定SfM介绍SfM的全称为Structure from Motion,即通过相机的移动来确定目标的空间和几何关系,是三维重建的一种常见方法。

2015-09-01 19:00:01 54296 32

原创 OpenGL与OpenCV实现增强现实

很久没有写博客了,最近在学习计算机视觉的相关知识,于是写了一个AR的小Demo。该程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实。

2014-11-29 18:47:48 20465 36

原创 推荐一个优秀的国产源代码托管服务

不知道这里有人写过没有,我就抄着无知者无罪的想法和大家分享一下吧。由于Github在国内不稳定,前几天开始寻找其他代码托管服务,有幸发现了一个由国人开发的产品Coding.Net 。

2014-08-01 10:32:45 4384 2

原创 引导滤波的OpenCV实现

引导滤波可以写出时间复杂度与窗口大小无关的算法,现在就来使用C++并借助OpenCV实现这一算法。实现这种算法的关键思想是盒式滤波(box filter),而且必须是通过积分图来实现的盒式滤波,否则不可能与窗口大小无关,好在OpenCV的boxFilter函数满足这个要求。

2014-03-13 12:13:55 10417 20

原创 双边滤波与引导滤波

简单说明了双边滤波和引导滤波的原理,并比较了他们的异同点。

2014-03-07 17:04:52 21223 7

原创 记一次在多哈的项目经历

去年12月,我获得了一个远赴卡塔尔的首都——多哈,参与项目合作于技术推广的机会。对我而言,实乃机会难得,不仅可以出国见见世面,更是一次对自己能力的磨练。项目当中的所见所闻,以及收获的一些项目经验,都一一写出愿与诸君分享。

2014-01-25 19:29:24 4073 1

原创 玩玩Leap Motion和粒子效果

终于拿到期待已久的Leap Motion了,打算为他写第一个程序。考虑到Leap Motion可以精确定位人的手指,决定写一个手指控制的粒子效果。

2013-10-01 19:10:05 5910 5

原创 学习Machine Leaning In Action(四):逻辑回归

作为“学习Machine Learning In Action”系列的第四篇,讨论了逻辑回归分类方法的原理,并对书中没有解释清楚的地方进行了补充,同时提供了C#版本的算法实现。

2013-07-19 21:20:38 5657 2

原创 学习Machine Leaning In Action(三):朴素贝叶斯

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础。朴素贝叶斯分类就是其中一种,之所以称为朴素, 是因为其思想很简单,且建立在两个看似鲁莽的假设之上。朴素贝叶斯认为,概率最大的那个类,就是待分类对象的所属类,且假设(1)所有特征属性统计独立;(2)所有特征属性同等重要,权重相同。这两个看似鲁莽的假设,在很多实际应用中却有很好的效果,因此朴素贝叶斯分类器任然被广泛使用。一、理论

2013-07-19 15:02:37 2597

原创 学习Machine Leaning In Action(二):kNN

kNN算法又称为k最近邻算法,是各种分类算法中较简单的一种(有可能是最简单的)。他的思路很好理解,即将待分类向量和所有已知向量求距离,再统计k个最小距离向量所属的类型,最多的类型即为待分类向量的类型。虽然简单,但它的效果却

2013-07-19 11:52:21 2314

原创 Kinect深度图与RGB摄像头的标定与配准

自从有了Kinect,根据深度图提取前景就非常方便了。因此出现了很多虚拟现实、视频融合等应用。但是,Kinect自身的RGB摄像头分辨率有限,清晰度也不及一些专业摄像头,因此有了用第三方摄像头代替Kinect摄像头的想法。现在的问题是,如何将Kinect的深度图与第三方摄像头的RGB图像对准?我们知道,当使用Kinect的RGB时,有方便的MapColorCoordinatesToDepth(...

2013-07-07 23:24:48 63010 175

原创 学习Machine Leaning In Action(一):准备

现在开始看《Machine Learning In Action》,英文原版,一本比较注重工程实践的书,对于不想啃复杂数学公式的人来说,很有吸引力!霍啦,就是这一本了:同时,这本书使用的语言是Python,并不是打广告,Python用来Idea验证与快速测试,真是再适合不过了!不过我是C++爱好者,如果有一些很有用的算法,我还是会用C++再写一遍的,也方便以后的使用。第一部分先把环

2013-06-15 20:16:09 2469

原创 激光谐振腔稳定模式的Fox-Li迭代算法

编程实现一个Fox-Li(福克斯-李)迭代算法,用于模拟激光谐振腔中的自再现模式。同时要求有友好的界面,和三维的模场分布图。大学里面的课设嘛,一般都是用Matlab做,不过这次我想好好弄一弄,想要用C++写(计算速度快),想要有真正的3D图像(用OpenGL),当然,也许我只是想装B。

2013-06-09 22:55:24 7617 3

原创 稀疏编码中的正交匹配追踪(OMP)与代码

最近在看有关匹配追踪与相关优化的文章,发现了这篇http://blog.csdn.net/scucj/article/details/7467955,感觉作者写得很不错,这里也再写写自己的理解。文中有Matlab的代码,为了方便以后的使用,我顺便写了一个C++版本的,方便与OpenCV配合。为了方便理解,我将所有向量都表示为平面二维向量,待用原子表征的目标向量y,用红色表示,原子向量用

2013-04-19 19:42:11 5695 14

原创 关于C#跨线程操作和Pinvoke的一些总结

最近由于需求,买了一个Xtion Live Pro,因此必须使用OpenNI进行体感开发了。很久没关注了,现在才发现OpenNI已经更新到了2.1beta,接口有非常大的调整,因此过去的很多C#Wrapper都不能用了,而且目前网上还没有针对新版本的Wrapper。用C++开发虽然灵活强大,但还是希望借助WPF或WinForm的优势进行软件开发,因此打算自己实现一个Wrapper,同时希望这个Wr

2013-04-12 21:32:42 3078

原创 Kinect实现简单的三维重建

Kinect想必大家已经很熟悉了,最近基于Kinect的创意应用更是呈井喷状态啊!看到很多国外大牛用Kinect做三维重建,其中最著名的要数来自微软研究院的Kinect Fusion了,可以看看下面这个视频http://v.ku6.com/show/7q2Sa__pa4-rWcAVtB3Xuw...html,或者http://v.youku.com/v_show/id_XNDcxOTg3MzUy.

2013-03-29 13:02:07 23939 76

原创 稀疏表征与物体识别

物体识别一直是机器视觉与人工智能方面的研究热门,其方法更是多彩多样。有没有一种能够在线学习,且学习或特征提取速度快,同时鲁棒性好的方法呢?答案是肯定的,而且方法还不止一种。最近实现了一个基于稀疏表征(Sparse Representation)的物体分类算法,可以称作字典学习(Dictionary Learning),就能达到上述目的。不过这里说是字典学习有些牵强,毕竟并没有真正学习字典(MOD或

2013-03-24 21:42:34 4431

原创 OpenCV与Compressive Tracking实现人脸的实时检测与跟踪

最近一直在关注压缩传感方面的东西,正好看到一篇新论文《Real-Time Compressive Tracking》。作者将压缩感知与图像跟踪结合起来,实现了有效的降维,最后只用一个简单的朴素贝叶斯分类器就实现了非常鲁棒的跟踪效果,值得一提的是,这个算法的实时性非常好,在320×240的分辨率下能达到40fps左右的速度。具体论文和代码可以参看作者的网页http://www4.comp.polyu

2013-03-20 16:48:08 8437

Tensorflow实现二次元图像的超分辨率

使用tensorflow实现了一个vgg-style网络,用于对动漫风格的图像进行超分辨率处理。 解压后源码在src目录下,data目录下是用于训练的数据,data/originals目录用于存放你收集的原始无损图片,运行make_noisefree_data后,程序会自动从data/originals中读取文件并裁剪,然后保存到data/train,data/valid和data/test目录下,分别用于训练、验证和测试。训练中产生的模型会保存在checkpoints目录下。

2016-12-17

OpenCV实现多目三维重建

使用OpenCV实现了多图像的三维重建。 使用VS2015开发,程序运行后会读取images目录下的图片进行重建。 重建完成后,可以运行Viewer下的SfMViewer.exe查看重建结果。 详见博客 http://blog.csdn.net/aichipmunk/article/

2016-04-24

OpenCV实现SfM:双目三维重建

使用OpenCV3.0进行双目三维重建。 代码是用VS2013写的,OpenCV版本为3.0且包含扩展部分,如果不使用SIFT特征,可以修改源代码,然后使用官方未包含扩展部分的库。软件运行后会将三维重建的结果写入Viewer目录下的structure.yml文件中,在Viewer目录下有一个SfMViewer程序,直接运行即可读取yml文件并显示三维结构。

2015-09-02

OpenCV与OpenGL实现增强现实

该程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实。 程序在OpenFrameworks下开发,解压后放在“OF安装目录\apps\myApps”下打开编译。

2014-11-29

Leap Motion控制的粒子系统

用OpenFrameworks写的粒子系统,可以用手指通过Leap Motion进行控制。解压后将文件夹放到 "OF安装目录\apps\myApps" 下。代码细节可见博文http://blog.csdn.net/aichipmunk/article/details/12193621

2014-04-19

Kinect与OpenCV实现简单的三维重建

Kinect和OpenCV实现简单的点云三角化,用最小二乘法计算法线,并实时显示获得的模型。建立在OpenFrameworks框架上,编译需要安装OpenFrameworks并放到myApps目录里,还需要Kinect SDK 1.7和OpenCV 2.4.3。

2013-04-01

空空如也

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

TA关注的人

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