- 博客(36)
- 资源 (6)
- 收藏
- 关注
转载 自适应机器人:定义工业机械臂的未来
文章目录协作机械臂够用了吗?怎样才算自适应机械臂?适应操作对象位置的不确定性适应复杂外部环境的干扰适应类似任务的快速迁移什么让自适应成为可能?力控技术用位置来控制力 ——用关节电流控制力 ——关节力矩传感器 ——关节力矩加末端六维力传感器 ——整机力控算法 ——层级式智能非层级智能 ——智能的底层、中层与高层 ——从简单到复杂,从快到慢 ——真正发挥人工智能的优势 ——本文转载至微信公众号 RO...
2019-09-10 11:17:24 6608 1
原创 机械臂与相机的标定
文章目录简介In-Hand CameraFixed Camera非线性优化References简介 机械臂在运动时,往往需要配合视觉信息进行目标的定位或识别,这就涉及到如何将相机坐标系(Camera Frame)下的物体转换到机械臂自身的坐标系下(Base Frame)。这一问题一般通过手眼标定(Hand-Eye Calibration)解决,其中的“手”即为机械臂,“眼”即为相机。 具...
2019-09-05 11:39:41 11240 10
原创 Guided Filter对三维点云降噪
同步更新于github page文章目录Guided Filter点云降噪ResultsNotesReferencesGuided Filter点云降噪Guided Filter一般用来对2D图像进行降噪等处理,实际上,稍作修改后可以对3D点云进行降噪。从Guided Filter的基本假设出发,可以推导出针对3D数据的处理方法。这里仅考虑引导数据是点云本身的情况。首先,根据局部线性假设...
2019-04-28 23:58:52 3699 4
原创 不变扩展卡尔曼滤波(三):一个更通用的框架
同步更新于github page。文章目录复杂系统下的不变扩展卡尔曼滤波混合误差的系统方程混合状态的更新总结References复杂系统下的不变扩展卡尔曼滤波由前面的文章可知,不变性要靠合理的状态误差设计来实现。但在更复杂的系统中,为所有状态量找到一个满足不变性的状态误差是很困难的,甚至一些状态是不可能被表示为群运算的。在存在这类状态量的系统中,有没有可能保留InEKF的主要优点呢(主要指一...
2019-04-28 23:35:41 3256 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 3210
原创 不变扩展卡尔曼滤波(二):原理与推导
文章同步更新于github pages,欢迎收藏关注。文章目录扩展卡尔曼滤波的缺陷存在正反馈非一致性不变扩展卡尔曼滤波误差传递状态更新References扩展卡尔曼滤波的缺陷存在正反馈普通的扩展卡尔曼滤波(EKF),通过对动态方程的线性化,来估计状态与状态的协方差。比如有一个系统定义为x˙t=f(xt,ut)+nt\begin{aligned}\dot{x}_{t}&...
2019-03-23 14:10:52 7236 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 4504
原创 叉乘速查手册
文章同步更新于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 1045
原创 四元数速查手册
文章同步更新于 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 787
原创 高斯分布与边缘化
高斯分布的表示高斯分布有两种表达方式协方差矩阵+均值信息矩阵+信息矢量协方差矩阵+均值的方式比较常见,如下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 2808 2
原创 SLAM算法评估中的轨迹拟合与外参求解
文章目录问题描述数学关系求解方法求解$_{gp}^{gv}T$求解$_{lp}^{lv}T$交替迭代优化时间戳对齐实验结果参考文献问题描述SLAM中常常碰到对齐(align)两个不同设备采集的轨迹的问题。比如通过VICON跟踪获得了一组轨迹,手机通过SLAM算法也获得一组轨迹,要评估SLAM算法的精度,就需要将手机获得的轨迹与作为真值的VICON轨迹对齐。数学关系设lpgpT_{lp}^{...
2019-01-07 22:50:00 4712 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 1807 7
原创 关于Batch Normalization的另一种理解
Batch Norm可谓深度学习中非常重要的技术,不仅可以使训练更深的网络变容易,加速收敛,还有一定正则化的效果,可以防止模型过拟合。在很多基于CNN的分类任务中,被大量使用。 但我最近在图像超分辨率和图像生成方面做了一些实践,发现在这类任务中,Batch Norm的表现并不好,加入了Batch Norm,反而使得训练速度缓慢,不稳定,甚至最后发散。
2017-01-11 16:00:04 9885 4
原创 Tensorflow实现照片风格的迁移
很多人都用过Prisma这个app,可以将普通照片转换为想要的风格。其背后的原理,就是通过神经网络学习某个图像的风格,然后再将这种风格应用到其他图像上。 这次通过tensorflow自己实现了一个这样的网络。
2017-01-10 15:51:24 21928 8
原创 Tensorflow实现二次元图片的超分辨率
github上有一个很有意思的项目,waifu2x,原理是通过一个训练好的CNN,将低分辨率的图像放大2倍或更多,同时保留足够的细节,使放大后的图像不会过于模糊或失真。该项目是用lua+Touch写的,最近在学习Tensorflow,闲暇之余打算在TF上自己实现一个这样的系统。
2016-12-17 15:56:26 21925 54
原创 OpenCV实现SfM(四):Bundle Adjustment
使用Ceres Solver实现三维重建中的Bundle Adjustment.
2016-09-04 18:30:12 32610 76
原创 OpenCV实现SfM(一):相机模型
相机的标定SfM介绍SfM的全称为Structure from Motion,即通过相机的移动来确定目标的空间和几何关系,是三维重建的一种常见方法。
2015-09-01 19:00:01 55692 32
原创 OpenGL与OpenCV实现增强现实
很久没有写博客了,最近在学习计算机视觉的相关知识,于是写了一个AR的小Demo。该程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实。
2014-11-29 18:47:48 20911 36
原创 推荐一个优秀的国产源代码托管服务
不知道这里有人写过没有,我就抄着无知者无罪的想法和大家分享一下吧。由于Github在国内不稳定,前几天开始寻找其他代码托管服务,有幸发现了一个由国人开发的产品Coding.Net 。
2014-08-01 10:32:45 4470 2
原创 引导滤波的OpenCV实现
引导滤波可以写出时间复杂度与窗口大小无关的算法,现在就来使用C++并借助OpenCV实现这一算法。实现这种算法的关键思想是盒式滤波(box filter),而且必须是通过积分图来实现的盒式滤波,否则不可能与窗口大小无关,好在OpenCV的boxFilter函数满足这个要求。
2014-03-13 12:13:55 10498 20
原创 记一次在多哈的项目经历
去年12月,我获得了一个远赴卡塔尔的首都——多哈,参与项目合作于技术推广的机会。对我而言,实乃机会难得,不仅可以出国见见世面,更是一次对自己能力的磨练。项目当中的所见所闻,以及收获的一些项目经验,都一一写出愿与诸君分享。
2014-01-25 19:29:24 4111 1
原创 玩玩Leap Motion和粒子效果
终于拿到期待已久的Leap Motion了,打算为他写第一个程序。考虑到Leap Motion可以精确定位人的手指,决定写一个手指控制的粒子效果。
2013-10-01 19:10:05 5941 5
原创 学习Machine Leaning In Action(四):逻辑回归
作为“学习Machine Learning In Action”系列的第四篇,讨论了逻辑回归分类方法的原理,并对书中没有解释清楚的地方进行了补充,同时提供了C#版本的算法实现。
2013-07-19 21:20:38 5713 2
原创 学习Machine Leaning In Action(三):朴素贝叶斯
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础。朴素贝叶斯分类就是其中一种,之所以称为朴素, 是因为其思想很简单,且建立在两个看似鲁莽的假设之上。朴素贝叶斯认为,概率最大的那个类,就是待分类对象的所属类,且假设(1)所有特征属性统计独立;(2)所有特征属性同等重要,权重相同。这两个看似鲁莽的假设,在很多实际应用中却有很好的效果,因此朴素贝叶斯分类器任然被广泛使用。一、理论
2013-07-19 15:02:37 2618
原创 学习Machine Leaning In Action(二):kNN
kNN算法又称为k最近邻算法,是各种分类算法中较简单的一种(有可能是最简单的)。他的思路很好理解,即将待分类向量和所有已知向量求距离,再统计k个最小距离向量所属的类型,最多的类型即为待分类向量的类型。虽然简单,但它的效果却
2013-07-19 11:52:21 2340
原创 Kinect深度图与RGB摄像头的标定与配准
自从有了Kinect,根据深度图提取前景就非常方便了。因此出现了很多虚拟现实、视频融合等应用。但是,Kinect自身的RGB摄像头分辨率有限,清晰度也不及一些专业摄像头,因此有了用第三方摄像头代替Kinect摄像头的想法。现在的问题是,如何将Kinect的深度图与第三方摄像头的RGB图像对准?我们知道,当使用Kinect的RGB时,有方便的MapColorCoordinatesToDepth(...
2013-07-07 23:24:48 63963 175
原创 学习Machine Leaning In Action(一):准备
现在开始看《Machine Learning In Action》,英文原版,一本比较注重工程实践的书,对于不想啃复杂数学公式的人来说,很有吸引力!霍啦,就是这一本了:同时,这本书使用的语言是Python,并不是打广告,Python用来Idea验证与快速测试,真是再适合不过了!不过我是C++爱好者,如果有一些很有用的算法,我还是会用C++再写一遍的,也方便以后的使用。第一部分先把环
2013-06-15 20:16:09 2494
原创 激光谐振腔稳定模式的Fox-Li迭代算法
编程实现一个Fox-Li(福克斯-李)迭代算法,用于模拟激光谐振腔中的自再现模式。同时要求有友好的界面,和三维的模场分布图。大学里面的课设嘛,一般都是用Matlab做,不过这次我想好好弄一弄,想要用C++写(计算速度快),想要有真正的3D图像(用OpenGL),当然,也许我只是想装B。
2013-06-09 22:55:24 7970 3
原创 稀疏编码中的正交匹配追踪(OMP)与代码
最近在看有关匹配追踪与相关优化的文章,发现了这篇http://blog.csdn.net/scucj/article/details/7467955,感觉作者写得很不错,这里也再写写自己的理解。文中有Matlab的代码,为了方便以后的使用,我顺便写了一个C++版本的,方便与OpenCV配合。为了方便理解,我将所有向量都表示为平面二维向量,待用原子表征的目标向量y,用红色表示,原子向量用
2013-04-19 19:42:11 5769 14
原创 关于C#跨线程操作和Pinvoke的一些总结
最近由于需求,买了一个Xtion Live Pro,因此必须使用OpenNI进行体感开发了。很久没关注了,现在才发现OpenNI已经更新到了2.1beta,接口有非常大的调整,因此过去的很多C#Wrapper都不能用了,而且目前网上还没有针对新版本的Wrapper。用C++开发虽然灵活强大,但还是希望借助WPF或WinForm的优势进行软件开发,因此打算自己实现一个Wrapper,同时希望这个Wr
2013-04-12 21:32:42 3117
原创 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 24054 76
原创 稀疏表征与物体识别
物体识别一直是机器视觉与人工智能方面的研究热门,其方法更是多彩多样。有没有一种能够在线学习,且学习或特征提取速度快,同时鲁棒性好的方法呢?答案是肯定的,而且方法还不止一种。最近实现了一个基于稀疏表征(Sparse Representation)的物体分类算法,可以称作字典学习(Dictionary Learning),就能达到上述目的。不过这里说是字典学习有些牵强,毕竟并没有真正学习字典(MOD或
2013-03-24 21:42:34 4488
原创 OpenCV与Compressive Tracking实现人脸的实时检测与跟踪
最近一直在关注压缩传感方面的东西,正好看到一篇新论文《Real-Time Compressive Tracking》。作者将压缩感知与图像跟踪结合起来,实现了有效的降维,最后只用一个简单的朴素贝叶斯分类器就实现了非常鲁棒的跟踪效果,值得一提的是,这个算法的实时性非常好,在320×240的分辨率下能达到40fps左右的速度。具体论文和代码可以参看作者的网页http://www4.comp.polyu
2013-03-20 16:48:08 8464
Tensorflow实现二次元图像的超分辨率
2016-12-17
OpenCV实现多目三维重建
2016-04-24
OpenCV实现SfM:双目三维重建
2015-09-02
OpenCV与OpenGL实现增强现实
2014-11-29
Leap Motion控制的粒子系统
2014-04-19
Kinect与OpenCV实现简单的三维重建
2013-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人