移动端图像相似度算法选型移动端图像相似度算法选型
概述
电商场景中,卖家为获取流量,常常出现重复铺货现象,当用户发布上传图像或视频时,在客户端进行图像特征提取和指纹生
成,再将其上传至云端指纹库对比后,找出相似图片,杜绝重复铺货造成的计算及存储资源浪费。
该方法基于图像相似度计算,可广泛应用于安全、版权保护、电商等领域。
摘要
端上的图像相似度计算与传统图像相似度计算相比,对计算复杂度及检索效率有更高的要求。本文通过设计实验,对比三类图
像相似度计算方法:感知哈希算法、基于局部不变性的图像相似度匹配算法以及基于卷积神经网络的图像相似度算法,权衡其
在计算复杂度及检索效率方面的优劣,最终选取 Hessian Affine进行特征提取,SIFT特征描述生成指纹,作为端上的图像相似
度计算模型。
关键词:图像相似度计算、特征提取、计算复杂度、检索效率
引言
图像相似度计算在当前的云计算处理方式,会将客户端数据上传至云端,进行图像、视频检索相似度计算等一系列复杂逻辑处
理后将结果反馈给终端,虽然在计算能力上云端优势明显,但该方式同时存在严重的存储、计算资源及流量的浪费且无法满足
实时性要求。
随着手机计算能力的提升,一种显而易见的方式是将部分数据在客户端进行处理后,再将有价值的数据上传云端存储及进一步
处理。对于电商场景中的重复铺货现象,可在用户发布上传图像、视频时,在客户端进行图像相似度计算,做到实时反馈,对
于重复图像及视频不进行云端存储,避免了存储及计算资源的浪费。
图像检索算法的基本步骤包括特征提取、指纹生成和相似度匹配。业界常用的图像相似度计算方法大致分为三类,传统的感知
哈希算法、基于局部不变性的图像相似度匹配算法以及利用深度学习算法进行的图像相似度计算方法。
1.传统的hash算法
自2011年百度借助TinEye发布百度识图后不久,google发布了类似的以图搜图图片搜索服务,“感知哈希算法”在图像搜索过程
中发挥了重要作用。大致流程如下:
1.1感知哈希算法理论简介:
1.均值hash: 通过对原始图像进行压缩(8*8)和灰度处理后计算压缩后的图像像素均值,用8*8图像的64个像素与均值对比,
大于均值为1,小于均值为0,得到的64位二进制编码即为原图像的ahash值。算法速度快,但精确度较低。
2.差异hash:与均值hash相比,差异hash同样要进行图像压缩和灰度处理,然后用每行的前一个像素与后一个像素对比,大
于为1,小于为0,来生成指纹信息。算法精确度较高,速度较快。
3.感知hash:通过对原始图像进行压缩(32*32)和灰度处理后计算压缩,对其进行离散余弦变换后,用32*32图像的前8*8像
素计算均值,8*8像素值大于均值为1,小于均值为0,得到64位指纹信息为原始图像的phash值。算法精准度较高,速度较
差。
根据以上三种算法可计算出两张图像响应的hash值,利用两张图像hash值得汉明距离,可判别出其相似程度,其中汉明距离
越大,相似度越低,汉明距离越小,相似度越高。