百度人脸识别搜索是怎么实现的?
如果用户给出一张图片,百度识图会判断里面是否出现人脸,如果有,百度识图在相似图片搜索之外,同时会全网寻找出现过的类似人像。
如何通过一张图片,找到另一张图片?
对于搜索引擎而言,寻找图片之间的内在联系,与常见的关键词搜索并没有本质区别——都是通过关键特征的比对,按照一定的逻辑规则完成匹配。然而不同之处也是显而易见的,以图片为输入发起的搜索,存在多种搜索含义的可能。
比方,一张图片可能既包括风景又包括人,用户想要寻找的是类似风景、类似布局结构的图片还是类似的人?谷歌以图搜图功能,甚至可以根据一张图片猜出拍摄地,但并不会尝试对图片中的人物精确匹配。多数搜索引擎都会如此。
而且大部分以图片作为输入的搜索引擎,例如 tineye (2008 年上线)、搜狗识图(2011 年上线)等,本质上是进行图片近似拷贝检测,即搜索看起来几乎完全一样的图片。2010 年推出的百度识图(shitu.baidu.com)也是如此。
在经历两年多的沉寂之后,百度识图开始向另一个方向探索。
上周的百度年会中,李彦宏特意提到百度识图:“以图搜图的准确率从 20% 提升到 80%”。不过与之前相比,百度识图找到相似图片的能力似乎并未显著提升,那么改变从何而来?李彦宏把这种明显的提升归因于刚上线的人脸识别搜索。
与之前的区别在于,如果用户给出一张图片,百度识图会判断里面是否出现人脸,如果有,百度识图在相似图片搜索之外,同时会全网寻找出现过的类似人像。
新增加的技术简而言之,首先是人脸检测并提取出特征表达,随后再据此进行数据库对比,最后按照相似度排序返回结果。其实,人脸检测并不是新技术,相关研究已有三十年历史,然而直到去年底,百度才决定推动这一技术付诸实施。
这里面自然有战略层面的考虑。两年前,李彦宏就对未来做出读图时代的判断;去年的 KDD 大会上,李彦宏提出的九大待解技术挑战中,基于内容的图像搜索技术被列在第三;现实层面百度的图片相关产品、云相册等均对这一技术有需求。
百度还希望借助这一途径,挖掘图片之间的联系,进而激发二次浏览。然而要把想法变为现实,百度至少要解决两个问题:一是算法,二是数据。
——算法方面。同样是基于图片进行搜索,人脸识别和以图搜图并不一样。百度资深工程师陶吉告诉创事记,百度人脸识别首先并不关注完整的图像结构,其次颜色也没有任何意义。最主要的特征表达来自于脸部纹理,并进行一些再加工。
具体算法作为商业机密,难以对外界披露。不过资料显示,目前人脸识别算法中 LBP 是比较流行的一种特征提取方式,即通过像素周边 8 个临近像素的灰度值和中心灰度值比较,得到一个八位编码,然后再根据编码的直方图进行分类。
而影响算法效果的因素还可能包括预处理、特征选择、特征点定位精度、分类器设计和后处理乃至各种方式的融合、阈值选择等各个方面。
一张图片中,人脸至少有 40×40 像素(约一个指甲盖大小),才会被当作有效的识别对象。如果一张图片中多个人像,目前百度的解决办法是仅识别尺寸最大的那个,未来百度将提供焦点选择功能,用户可以通过选点确定搜索对象。
——数据方面。算法的改善如果算是充分条件,数据的处理则是必要条件。从机器搜索的角度看,光照、姿态、表情、角度等因素,均是影响巨大的因素,所谓“笑和不笑,都是不同”。所以用来训练的数据量越大,变化的包容性就越好。
人脸识别搜索实际使用时,同一张人脸积累的数据越多,越能在匹配对比时提供更好的支持。为此百度需要把全网近百亿规模的图片抽取出来,然后把没有人脸的数据去掉,再海量扫描一遍,建立起尽量高效的索引。
人脸识别引入搜索引擎,必然会加剧外界关于隐私泄漏的担心。百度强调人脸搜索只会在公开的信息范围内进行,封闭的个人相册并不会被触及。
这还涉及准确率、召回率等概念。假设数据库里有一百张刘德华的图片,用刘德华的头像发起搜索,前 50 张结果中 40 张是真正的刘德华,那么前 50 张的召回率就是 40%,准确率是 80%。同样假如数据库中只有两张路人甲的图片,当用路人甲的头像发起搜索,前 50 张可能只有 1 张真正的路人甲,那么前 50 张的召回率是 50%,准确率是2%。
由于名人在网上的照片较多,能被用户感知到的准确率要比普通人高很多,而召回率是用户感知不到的。据透露,人脸识别搜索技术会在百度云相册内部进一步结合,帮助用户在图片之间建立联系,而且未来不排除开放 API 的可能。
除了上述技术讨论之外,从百度的研发体系看,人脸识别搜索也颇具代表性。
这个先后投入几十个工程师、百度基础技术部的多媒体部门负责核心算法的项目,去年 11 月下旬立项,12 月底就已经上线运行。这个速度在百度并不常见,因此也有人半开玩笑的说这是百度近期“改作风”运动成效的代表。
值得注意的是百度新成立的基础技术部。这个部门由百度首席科学家王海峰带领,并且直接向李彦宏汇报。据说一些李彦宏会亲自参与一些重点项目。自然语言处理、互联网数据挖掘、多媒体、推荐和个性化等技术研发,均由百度基础技术部负责。
还是在百度年会上,谈及近期遇到的挑战,李彦宏称百度不会忽视渠道的价值,但技术才是未来产业的关键。“相信技术的力量,未来就在我们手里”,李彦宏发出这样的号召。显然,百度的“变奏”已是必然要上演。