前言
15年7月时,那时刚去完团建,想到一个很有用的需求:照片按人脸自动分类。不过之前没怎么研究过图像处理方面的知识,就想着先从简单的照片处理相关的功能入手。之后在研究市面上是否已经有相应的产品时,发现手管、360、猎豹等都已经有做相似照片清理的功能,于是人为地通过大量数据进行测试对比。结果发现它们的运行速度都很不错,但要么误判率较高,要么覆盖率过低,这估计是速度与结果之间以速度优先。那时就想,这结果看起来不错,但图片一多,需要人工参与得就越多,那能不能尽量更自动化一些,同时速度上也不至于难以接受呢?
目前市面上的实现主要是基于phash算法的(感知哈希算法),phash算法的特点是速度快,准确性较高。除此以外,常见的hash算法还有ahash算法,dhash算法,参见:
相似图片搜索的三种哈希算法
不过ahash算法与dhash算法虽然速度较phash算法要快些,但测试发现效果并不理想。之后从一位以前曾在百度工作过的大牛了解到,百度的图片相似搜索是基于phash进行改进的,这也显现出phash算法在照片相似识别上的独特优势。