目前公司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
分享到:
相关推荐
详细介绍SURF算法,以及opencv的源码分析,并给出应用实例。
python实现特征检测算法SIFT、SURF、ORB等特征检测的算子
surf 特征点算法的实现,android ndk调用本地应用
SIFT特征匹配算法是目前国内外特征点匹配研究领域的热点与难点,其匹配能力较强,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,甚至在某种...SURF算法是尺度不变特征变换算法(Sift算法)的加速版
图像匹配算法SURF算法的matlab实现
特征点匹配,对于多聚焦图像、红外与可见光、医学图像处理有重要意义
基于C++ ,使用opencv实现五种特征点检测的方法。包括FAST,SURF,GFTT,STAR,SIFT。在使用时,只需要确保本地opencv可以使用即可,即配置相关的opencv DLL 类库。
该算法可以计算模板和图像之间的相似度,基于SURF特征,可以根据相似度得分来进行模板和图像的匹配。手动指定模板和测试图像就可以运行,语言为python
自己论文里需要用的算法,这里放上来的是验证后可用的版本,包括sln文件、cpp文件,小白也能用。环境win10+VS2017+Opencv2.4.13,配置环境不懂的可以在百度上搜索,Openc版本建议和我一致,新版的因为版权过期删掉了...
赵春江老师对SURF算法进行的很详细的介绍,其中,分别对算法和源码进行了讲解,特别是源代码的讲解每一条都有详细注解说明
用opencv实现的SURF特征(Speeded Up Robust Features )提取算法
本代码主要利用MATLAB工具实现MATLAB——用surf绘图,简单明了,易于理解
matlab算法源码surf算法OpenSURF_version1c提取方式是百度网盘分享地址
surf算法的VC++和opencv的实现,绝对可用。需配置opencv环境
实现多视两幅图像的surf特征点提取与匹配
基于SURF特征点的图像拼接算法,用MATLAB语言编写。亲测可用,速度比SIFT特征点的配准算法快很多!
基于surf特征提取的图像配准和拼接算法的MATLAB仿真 运行注意事项:使用matlab2021a或者更高版本测试,运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。具体可观看提供的操作录像视频跟着操作。
SURF算法详细介绍,先介绍SIF算法,然后介绍SURF算法及算法的效果图
SURF算法具有尺度不变性、旋转不变性和较好的鲁棒性但是不具备实时性,ORB算法良好的实时性却不具备尺度不变性,结合两种算法的优缺点提出了基于ORB和SURF的特征匹配算法(简称S-ORB)。第一步改进ORB算法提取特征的...
SURF算法是继SIFT算法后的又一个稳定快速的特征提取算法,它除了具有SIFT算法的稳定性外,最突出的优点是算法速度快,实时性较强。