Chinaunix首页 | 论坛 | 博客

com

  • 博客访问: 64043
  • 博文数量: 28
  • 博客积分: 885
  • 博客等级: 准尉
  • 技术积分: 282
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-04 22:12
个人简介

10年知名互联网公司技术背景,关注人工智能、机器人领域。

文章分类

全部博文(28)

文章存档

2015年(6)

2013年(5)

2006年(17)

我的朋友

分类: 其他平台

2015-02-26 19:24:22

最近一直在做物体识别方面的工作,总结一下。
1 人类是如何识别一个物体的呢,
人类一生下来就开始通过视觉获取世间万物的信息,包括一种物体形状、颜色、成分 等,以及通过学习认识到这种物体的其他信息比如物理的、化学的特性,这些信息是不能仅仅通过观察得到的;就这样人对一种新物就有了把握,并且物体的各种特征形 成了数据存放在人的大脑里面,以后每当又遇到同类物体的时候通过抓住物体的特征识别出这种物体。
图像学中基于特征的识别算法,完全是通过计算的方法去获 取、比较特征;毕竟人类智能的机理到目前为止人类自己也只认识到一些表层的东西,可以说人类抓住特征,比较特征的方法完全不像图像学算法那样要通过复杂的程序、精密的计算去完成,为什么我们可以一眼就认出一个东西是什么,无论它被扭曲成什么形状,无论它变成什么样的颜色,无论我们从什么地方什么视角去观 察,人类总能快速的认出物体的特征来,这主要是因为人具有强大的知识库和推理系统以及不为人知的大脑存储和搜索机理,人类无时无刻不在获取输入,并加入到 知识库,更多时候通过推理、归纳、抽象等思维方法进一步扩充人的知识库,通过复杂的联系建立起索引,以备搜索;而人在识别的时候方法也不是唯一的,可以是 计算、搜索、推理、模拟等各种方法的一种或者多种综合。
图像学的识别算法使用了特征方法,却和人类的识别有本质的区别,不过虽然只是这么一小步,但也足以 产生巨大的应用,并且在不断完善。

2 图像学识别物体算法                             
2.1 SIFT/SURF基于灰度图,

一、首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点,再使用二次插值法得到精确特征点所在的层(尺度),即完成了尺度不变。


二、在特征点选取一个与尺度相应的邻域,求出主方向,其中SIFT采用在一个正方形邻域内统计所有点的梯度方向,找到占80%以上的方向作为主方向;而SURF则选择圆形邻域,并且使用活动扇形的方法求出特征点主方向,以主方向对齐即完成旋转不变。


三、以主方向为轴可以在每个特征点建立坐标,SIFT在特征点选择一块大小与尺度相应的方形区域,分成16块,统计每一块沿着八个方向占的比例,于是特征点形成了128维特征向量,对图像进行归一化则完成强度不变;而SURF分成64块,统计每一块的dx,dy,|dx|,|dy|的累积和,同样形成128维向量,再进行归一化则完成了对比度不变与强度不变。

2.2 haar特征也是基于灰度图,
首先通过大量的具有比较明显的haar特征(矩形)的物体图像用模式识别的方法训练出分类器,分类器是个级联的,每级都以大概相同的识别率保留进入下一级的具有物体特征的候选物体,而每一级的子分类器则由许多haar特征构成(由积分图像计算得到,并保存下位置),有水平的、竖直的、倾斜的,并且每个特征带一个阈值和两个分支值,每级子分类器带一个总的阈值。识别物体的时候,同样计算积分图像为后面计算haar特征做准备,然后采用与训练的时候有物体的窗口同样大小的窗口遍历整幅图像,以后逐渐放大窗口,同样做遍历搜索物体;每当窗口移动到一个位置,即计算该窗口内的haar特征,加权后与分类器中haar特征的阈值比较从而选择左或者右分支值,累加一个级的分支值与相应级的阈值比较,大于该阈值才可以通过进入下一轮筛选。当通过分类器所以级的时候说明这个物体以大概率被识别。

2.3 广义hough变换同样基于灰度图,
使用轮廓作为特征,融合了梯度信息,以投票的方式识别物体

2.4 机器学习(待补充)

2.5 , 新算法让电脑自动辨别物体,准确率达100%,看起来也是通过machine learning方法,还没来及仔细看                                                  

3 总结
     前三种算法 都只是基于强度(灰度)信息,都是特征方法,但SIFT/SURF的特征是一种具有强烈方向性及亮度性的特征,这使得它适用于刚性形变,稍有透视形变的场 合;haar特征识别方法带有一点人工智能的意味,对于像人脸这种有明显的、稳定结构的haar特征的物体最适用,只要结构相对固定即使发生扭曲等非线性 形变依然可识别;广义hough变换完全是精确的匹配,可得到物体的位置方向等参数信息。前两种方法基本都是通过先获取局部特征然后再逐个匹配,只是局部 特征的计算方法不同,SIFT/SURF比较复杂也相对稳定,haar方法比较简单,偏向一种统计的方法形成特征,这也使其具有一定的模糊弹性;广义 hough变换则是一种全局的特征——轮廓梯度,但也可以看做整个轮廓的每一个点的位置和梯度都是特征,每个点都对识别有贡献,用直观的投票,看票数多少 去确定是否识别出物体。

参考:
1) http://blog.sina.com.cn/s/blog_51396f890102vaaz.html   
2) http://blog.csdn.net/zj360202/article/details/41518319 
阅读(571) | 评论(0) | 转发(0) |
0

上一篇:machine learning 资料

下一篇:机器人汇总

给主人留下些什么吧!~~