识别算法概述:

SIFT/SURF基于灰度图,

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

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

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

haar特征也是基于灰度图,

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

广义hough变换同样基于灰度图,

使用轮廓作为特征,融合了梯度信息,以投票的方式识别物体,在本blog的另一篇文章中有详细讨论,这里不再赘述。

特点异同对比及其适用场合:

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

三种强大的物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析相关推荐

  1. 物体识别算法——SIFT/SURF、haar特征、广义hough变换的对比分析

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:cvvision 链接:http://www.cvvision.cn/7780.html 来源:CV视觉网 识别算法概述: ...

  2. 6种常见的地标识别算法整理和总结

    本文分享自华为云社区<地标识别算法>,原文作者:阿杜 . 地标识别,基于深度学习及大规模图像训练,支持上千种物体识别及场景识别,广泛应用于拍照识图.幼教科普.图片分类等场景.本文将为大家带 ...

  3. 自动人脸识别基本原理 --基于静态图像的识别算法(一)特征脸

    人脸识别经过近 40 年的发展,取得了很大的发展,涌现出了大量的识别算法.这些算法的涉及面非常广泛,包括模式识别.图像处理.计算机视觉.人工智能.统计学习.神经网络.小波分析.子空间理论和流形学习等众 ...

  4. sift分类java_使用SIFT / SURF进行特征匹配是否可以用于类似对象的分类?

    我已经在OpenCV中实现了SIFT算法,使用以下步骤进行特征检测和匹配: 使用Otsu的阈值处理去除背景 使用SIFT特征检测器进行特征检测 使用SIFT特征提取器进行描述符提取 使用BFMatch ...

  5. 基于ROS机器人的3D物体识别与三维重建(三)基于ROS的3D物体识别

    Kinect2相机标定与点云数据获取 1.介绍 2 基于Gazebo搭建物体识别仿真环境 2.1 Gazebo简介 2.2 创建仿真环境 3 三维物体识别 3.1 基于模板匹配的物体识别流程 3.2 ...

  6. 一种基于伪标签半监督学习的小样本调制识别算法

    一种基于伪标签半监督学习的小样本调制识别算法 人工智能技术与咨询 来源:<西北工业大学学报>,作者史蕴豪等 摘 要:针对有标签样本较少条件下的通信信号调制识别问题,提出了一种基于伪标签半监 ...

  7. 三种不同的文本图像背景漂白/纯化/去除算法

    本篇博文来自博主Imageshop,打赏或想要查阅更多内容可以移步至Imageshop. 转载自:https://www.cnblogs.com/Imageshop/p/14617355.html  ...

  8. 算法:三种简单排序算法

    排序算法比較常见的有:冒泡排序.简单选择排序.直接插入排序:希尔排序.堆排序.归并排序和高速排序算法等. 今天先学习一下前面三种比較简单的算法.排序的相关概念: ①排序的稳定性:两个或多个元素相等.排 ...

  9. pca算法python实现_三种方法实现PCA算法(Python)

    主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...

最新文章

  1. 7.10 数据注解特性--NotMapped
  2. import android.support.v7.widget.RecyclerView失败
  3. grpc通信原理_容器原理架构详解(全)
  4. [libjingle学习笔记]编译注意事项
  5. 微信接口开发-初级体验
  6. linux的基础知识——多进程并发服务器
  7. Nagios(一)——LAMP 环境搭建
  8. java机器PDF_机器人制作入门(第3版)PDF 下载
  9. HTTP请求解析过程 (简单概括)
  10. is present but cannot be translated into a null value due to being declared as a primitive type
  11. WP7的Push Notifications
  12. Metaverse:一念天堂,还是一念地狱?
  13. mcafee 8.5i 企业版状态代码解释
  14. mysql用身份证号判断男女_如何根据身份证号码辨别性别呢
  15. 阿里互联互通再下一城,开放生态缔造新的产业蓝海?
  16. 电脑如何恢复已删除文件 如何恢复被删除的数据
  17. php dingo和jwt,laravel dingo/api添加jwt-auth认证
  18. Docker-设置redis容器主从模式哨兵模式
  19. Hive中如何统计用户三个月或者以上的行为数据
  20. Window脚本学习笔记之定时关闭进程

热门文章

  1. python开发mes系统_MES系统开发
  2. Sublime text 2按Ctrl+`无法调出console的可能问题
  3. 全国计算机等级英语一级考试,全国计算机等级考试职业英语一级考试大纲
  4. 一个方法多个return_CVPR 2020(Oral) | 旷视提出CrowdDetection:密集场景检测新方法:一个候选框,多个预测结果...
  5. flume数据采集_大数据采集系统Flume集群部署
  6. android 补签控件,墨墨背单词怎么补签 看完你就懂了
  7. java设计模式—单例模式
  8. hdfs 数据迁移_基于 JindoFS+OSS 构建高效数据湖
  9. dockerfile、docker compose、k8s区别
  10. iso22000食品安全管理体系_食品安全管理体系ISO22000:2018澄清了两个层次PDCA的区别,具体怎么样的...