`
grunt1223
  • 浏览: 423279 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

视觉特征抽取算法——SURF

阅读更多
目前公司PF系统(违禁图片机器审核)运营尚存在一些问题,主要包括:

1.C++&opencv,第三方依赖较重,缺乏相应的C++工程师,维护成本较大
2.图片识别引擎与对比算分机制接近黑盒,内部机制不易理解,例如像提高某张高危图片的激励(权重)因子等等
3.针对公司特定业务的修改较为困难,例如增加对三维仿射的稳定性、增加图像签名缓存、特征匹配可视化等等

在隐网项目的过程中,积累了关于相关算法的经验;项目结束后,打算花业余时间实现JAVA版本的图片识别引擎,目前有一些进展,分享给各位。

违禁图片审核与我之前分享的《基于图像签名和局部敏感哈希的相似图片检索》有所不同,主要是业务上的区别:

1.图片审核讲究是召回率(查全率),因为违禁是不惜一切代价必须去除的,由于必须经过人工审核的复查,因此对准确率的要求则不是十分严格;而图片搜索讲究的是准确率,由于互联网海量图片的存在,对召回率则没有过多的要求。
2.图片审核的图库数量级一般在10000 – 100000;而图片检索的量级至少在百万以上。前者可以使用视觉分词(bag of words)与配合级联聚类(Kmeans Hierarchy Cluster)提升效果,后者使用mpeg-7边缘直方图签名以提高检索效率。

整个过程类似于搜索引擎的步骤,包括feature extraction、build、query、TF-IDF以及PageRanking,可参考下面系列图:









这次分享主要集中在图像特征抽取上,之后的分享会逐步进入到索引构建、查询以及评分规则上。基于SURF的特征抽取主要包括以下几个步骤:
1. 积分图像计算
2. 快速海森矩阵检测
1) 海森矩阵计算
2) 尺度空间构建
3) 兴趣点检测及精确定位
3. 兴趣点描述
1) 方向分配
2) 64位描述符生成

具体流程图如下:



论文中匹配的效果:





使用测试图库,在自己机器上使用JAVA实现的效果:










  • 大小: 40.9 KB
  • 大小: 30.5 KB
  • 大小: 41.2 KB
  • 大小: 47.5 KB
  • 大小: 15.6 KB
  • 大小: 107.8 KB
  • 大小: 86 KB
  • 大小: 76.5 KB
  • 大小: 59.1 KB
1
3
分享到:
评论

相关推荐

    opencv2.4.9源码分析——SURF

    SURF(Speeded-Up Robust Features)是一种局部特征检测算法,由Herbert Bay等人在2006年提出,并在2008年进行了完善。这种算法设计之初的目标是在不牺牲检测器的重复性和描述符的区分度的前提下,提高运算速度。...

    python实现特征检测算法SIFT、SURF、ORB

    总结来说,SIFT、SURF和ORB都是用于图像特征检测的重要工具,它们在Python中的实现简单高效,为各种计算机视觉任务提供了强大支持。开发者可以根据需求灵活选择,结合其他算法和技术,以达到最佳效果。

    SURF算法及源码详解

    SURF算法是一种用于计算机视觉领域中的图像识别、目标检测和目标定位的特征提取算法。SURF是英文“Speeded Up Robust Features”的缩写,意为“加速稳健特征”,由Herbert Bay等人于2006年提出,后在2008年进一步...

    SURF 特征点算法的Android 实现

    综上所述,"SURF特征点算法的Android实现"涉及到图像处理、计算机视觉、Android开发、NDK以及JNI等多个技术领域,是将高性能的特征检测算法应用于移动设备的关键步骤。通过NDK调用本地库,可以在Android平台上高效地...

    基于SURF特征的计算相似度的匹配算法

    **基于SURF特征的计算相似度匹配算法** 在计算机视觉领域,图像匹配是一个重要的任务,它涉及识别图像中的相似或相同部分。一种高效且广泛使用的算法是Speeded Up Robust Features (SURF),它是在Scale-Invariant ...

    图像匹配算法SURF算法的matlab实现

    **图像匹配算法——快速稳健特征(SURF)的MATLAB实现** 在计算机视觉领域,图像匹配是一项基础且关键的任务,广泛应用于目标识别、图像拼接、3D重建等多个场景。SURF(Speeded Up Robust Features)算法是SIFT...

    Surf特征匹配Matlab代码

    Surf特征匹配是一种在计算机视觉领域中广泛应用的图像识别技术,主要用来实现图像间的对应关系。MATLAB作为一种强大的数学计算和编程环境,是实现这种算法的理想工具。在本压缩包中,你将找到一系列用于实现SURF...

    opencv特征点检测——FAST,SURF,GFTT,STAR,SIFT

    OpenCV是一个强大的开源计算机视觉库,它提供了多种特征点检测算法的实现,如FAST、SURF、GFTT、STAR和SIFT。下面我们将详细探讨这五种方法。 1. FAST(Features from Accelerated Segment Test):FAST是一种快速...

    用opencv实现的SURF特征提取算法

    总结,SURF特征提取算法是计算机视觉领域中的一个重要工具,它在图像匹配、物体识别和追踪等任务中发挥着重要作用。OpenCV库为开发者提供了便利的接口,使得我们可以轻松地在实际项目中应用这一技术。理解和掌握SURF...

    surf算法matlab源码

    **Surf算法MATLAB源码解析** ...总的来说,赵小川的Surf算法MATLAB源码提供了一个学习和实践计算机视觉中特征检测与匹配的良好平台,通过对源码的学习,可以深入理解Surf算法的工作原理及其在实际项目中的应用。

    Surf特征匹配,surf特征匹配算法论文,matlab

    Surf特征匹配是一种在计算机视觉领域中广泛应用的图像识别技术,主要用来进行图像间的相似性检测和匹配。SURF(Speeded Up Robust Features)是由Hans P. A. van der Maaten和Geoffrey E. Hinton在2006年提出的,它...

    基于SURF特征点的图像拼接算法

    【标题】"基于SURF特征点的图像拼接算法"涉及到的是计算机视觉领域的一个关键问题——图像拼接,其中核心是使用快速稳定的特征检测方法——Speeded Up Robust Features (SURF)。图像拼接是将多张图像组合成一个全景...

    surf算法的VC++和opencv的实现

    总的来说,Surf算法是计算机视觉领域中一个重要的特征检测方法,其在VC++和OpenCV的结合使用,为开发者提供了便利,使得在C++环境中实现图像处理任务变得更加高效和简单。理解和掌握Surf算法及其实现,对于进行图像...

    MATLAB——用surf绘图

    本代码主要利用MATLAB工具实现MATLAB——用surf绘图,简单明了,易于理解

    SURF算法的图像拼接和快速拼接算法

    SURF(Speeded Up Robust Features)算法是一种在计算机视觉领域广泛应用的特征检测与描述方法。它由Hess等人在2006年提出,旨在解决SIFT(Scale-Invariant Feature Transform)算法计算效率较低的问题,同时保持了...

    surf_matlab.rar_matlab surf_surf_surf 算法_surf的matlab_surf算法

    **SURF算法详解及其在MATLAB中的实现** SURF(Speeded Up Robust Features)是...通过这个MATLAB实现的SURF算法,用户可以轻松地在自己的项目中集成这一强大的特征检测技术,从而提升图像处理和计算机视觉应用的性能。

    matlab算法源码surf算法OpenSURF

    SURF算法(Speeded-Up Robust Features)是一种计算机视觉领域用于特征检测与描述的算法,它在速度和鲁棒性上对SIFT算法进行了优化。SURF算法被广泛应用于物体识别、图像配准、三维重建等计算机视觉任务中。 首先,...

    sift算法及surf算法

    SIFT特征匹配算法是目前国内外特征点匹配研究领域的热点与难点,其匹配能力较强,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,甚至在某种...SURF算法是尺度不变特征变换算法(Sift算法)的加速版

    结合SURF算法和ORB算法的改进算法的MATLAB实现

    本话题将详细探讨如何在MATLAB环境中,结合两种经典的特征描述算子——Speeded Up Robust Features (SURF) 和 Oriented FAST and Rotated BRIEF (ORB),实现一种改进的图像匹配算法。 SURF算法是Hessian矩阵检测器...

    基于SURF特征点的图像配准算法

    总结来说,基于SURF特征点的图像配准算法是计算机视觉中的一个重要技术,通过MATLAB的实现,可以高效地完成图像的配准和拼接。而OpenSURF_version1c则为这一过程提供了另一种实现方式,扩展了应用的灵活性和可移植性...

Global site tag (gtag.js) - Google Analytics