网络世界,我们的信息获取方式很大程度上依赖于搜索。然而,即使是技术最为完善的文字搜索,往往也有其乏力的地方。比如,对于图片或视频,如果你不知道名字,苍白的文字描述是很难帮你在网上找到他们的。而此时,你就需要 “以图搜图” 的功能来实现。
Google 开启了图像搜索先河,国内 BAT 也早已推出图像搜索的应用或功能。动点科技了解到,一项来自北京大学 “数字视频编解码国家工程实验室” 的特征匹配技术,分别向百度识图、微信图像开放平台、阿里云电商解决方案提供支持。而这项技术的主要研发者陈杰,在 2015 年底创立了博云视觉,面向更广阔的图像搜索应用场景提供服务。
海量数据下,“以图搜图” 难度大
假设这么一个场景,小明和小强都在看图片,他们如何通过电话确定两人所看的图片是否是同一张?小明先说话,他说他所看的图片有这些特征:背景是草原、左上角有一轮泛红的落日、空中有一群大雁向左飞、地面上有一座白色的房子、房前有两个小姑娘在放风筝。如果小刚看见的图片上面也有这些特征,即可基本确定两个人看的图片是同一张图片。
据博云视觉 VP 冯栋介绍,机器要实现以图搜图的功能,在原理上也与上面两个人确认图片是一样的。首先,博云视觉核心技术是基于人类底层生物视觉特征,借助计算机从包括像素矩阵、颜色、纹理、梯度、形状、光照等多个维度对图片提取出近千乃至上万个特征点;然后,对关键特征点进行筛选过滤、编码压缩及高性能索引;最后判定两幅图片是否一致的方法,是交由计算机通过判断特征距离的方法来匹配两幅图片上的特征点,只要两张图片有 10 个特征点得以匹配,即可认为两张图片是相似的,而如果两张图片中的 “特征点” 大多匹配成功,即可高概率地认为两张图片是一样的。
如果我们能对数据库里的所有图片进行特征提取,通过对比用户提交的查询图片与数据库图片的特征点,即可实现以图搜图功能。
冯栋告诉动点科技,在提取图片特征点上,SIFT(尺度不变局部特征转换) 算法是过去十年计算机视觉和图像处理领域应用率最高的算法。据了解,SIFT 算法在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,对于光线、些微视角改变的容忍度也相当高。基于这些高度显著的特性,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。
然而,冯栋也表示 SIFT 在具体应用上却是有一些问题的。“首先它已经被申请了专利,大规模商用伴随高成本;其次,利用 SIFT 算法提取的特征数据大,计算复杂度较高,用于移动端的图片搜索并不现实。” 据了解,SIFT 算法下,每张 1M 左右图片的特征点大小可能有 200k 到 300k,这在单张图片的识别上问题可能不大,但在海量数据背景下,如何应对海量的瞬时搜索请求,并在海量数据中快速得到结果?显然,过于臃肿的 SIFT 已经不合适了。同时,每张 200k 到 300k 的数据量也对本来就捉襟见肘手机流量构成了巨大的挑战。
靠 CDVS,给特征点数据减肥
由上可知,给特征点数据减肥是图像搜索在海量数据下仍旧保持高效率的关键。
为此,冯栋告诉动点科技,博云视觉创始人陈杰自 2010 年还在北京大学读博时,就参与了 MPEG 面向视觉搜索的 CDVS(紧凑视觉描述子国际标准)标准的制定,通过与美国斯坦福大学、华为、三星、意法半导体、意大利电信等多家公司合作竞争,最终技术被最新国际标准 CDVS 采纳,对标准技术贡献超过一半。
相对于 SIFT,CDVS 突出的特点就是对视觉特征的高效压缩技术。冯栋表示 CDVS 在原理上与 SIFT 相似,但 CDVS 会在特征点的选择上进行优化,并对已选的特征点进行高效的压缩,使得最后 1M 图片的特征表达数据量在 512bit 到 16KB 之间,计算复杂度及特征表达方面明显优于 SIFT 方案。可以说,它是专门为大数据以及移动时代而生的。
目前 CDVS 已由北大数字视频编解码国家工程实验室申请多项国际发明专利,博云视觉正是借着标准发布的火热期,将这一技术向国内的各个领域做产业化应用推广,让技术本身脱离实验环境去现实场景下继续打磨,最后力争在不同行业以及领域下打造出独具特色的行业视觉表达标准。
融合深度学习技术
其实,要想实现图像识别功能,除了特征匹配技术方案外,不得不提到现在工业界大热的深度学习技术。目前,深度学习已经在语音识别、图像识别以及翻译方面取得了巨大的进展。
冯栋也认同深度学习在图像识别方面的确表现优异,但其同样不适用于海量数据下的图像搜索。“即使是国际著名的 ImageNet 也仅仅只是图像识别竞赛,更侧重于解决提高分类识别准确率的问题。” 冯栋如此表示。具体来说如下所示:
- 深度学习准确率高,其在处理识别、分类、检测方面具有先天优势。但深度学习需要大量图片或视频素材库进行训练,并上传图片或视频到服务器进行搜索,网络占用高,而且借助神经网络(CNN)学习出来的模型可能很大很复杂,加载内存后,计算复杂度高,搜索耗时长。
- 高效特征表达及匹配技术由于特征点小,且不需要借助海量数据去重构模型,在图片量很少的情况下依然可以针对性调优。在应对实时超高并发的搜索请求方面,该方案亦可大大降低对网络带宽占用及服务器存储的压力,比较适合移动搜索的移动互联网大背景。
- 深度学习由于有分类的概念,因此,其比较适合跨领域的搜索识别。比如,深度学习的特征更适用于在一大堆水果中搜索苹果,而博云视觉的 CDVS 技术则更适合同款同类的搜索,比如在一堆苹果中搜索某一个苹果。
冯栋表示,博云视觉目前其实也在 “两条腿走路”,除了 CDVS 技术以外,他们也在进行深度学习方面的研究,通过不断积累的图片数据库,尝试将 CDVS 与深度学习技术相融合,以达到取长补短的效果。
今年十月中旬,第 116 次 ISO/IEC JTC1 运动图像专家组 MPEG(Moving Picture Experts Group) 国际标准会议上,博云视觉联合北京大学、南洋理工大学共同提交了提案《Improved retrieval and matching with CNN feature for CDVA》,将底层生物特征表达结合深度学习技术的语义特征,使视频目标对象搜索的平均准确率提高了 10% 以上。
开发索引加速,图片搜索速度再上一层楼
除了 CDVS 特征表达及压缩技术外,为提高搜索速度,博云视觉也在其特有的索引算法上不断调优。
通过加速算法,博云视觉利用普通刀片机 [Intel(R) Xeon(R) CPU E5-2420 两颗,每颗 6 核心 12 线程主频 1.9G],在百万规模标准数据集下,可在百毫秒内以 80% 以上的识别准确率实现对目标的精确搜索。而经过工程优化之后,博云视觉也确保了在识别准确率不变的情况下,应对千万规模数据量集,可在 500 毫秒内完成搜索。
据了解,目前 360 人工智能研究院的图搜部也在利用该索引技术进行加速,数据量达亿级。而明年,博云视觉还将联合多所高校,为某省筹划构建基于百亿图像视频数据量级的智慧交通整体解决方案。
其实,该索引很早就运用于百度识图了,也使得百度识图效果从原来的 “1 亿数据库 10 毫秒”(即从 1 亿数据量中用 10 毫秒找到特定的图),提升到了只需要 0.5 毫秒;而准确率与召回率也分别从 80% 和 70% 提升了 10% 左右。“目前百度识图中相似结果是百度 IDL 通过深度学习提供,而识别结果则是先由深度学习进行语义分类,再由 CDVS 做精准搜索。” 冯栋表示。
冯栋还告诉动点科技,博云视觉已与北京大学、新加坡南洋理工大学、阿里、中国美术家协会、尚易德等达成深入的战略合作,未来将在计算机视觉领域持续发力,目标是构建出以视觉搜索为入口的图像视频大数据平台。
最后,关于搜索准确率,冯栋表示:基于自有大数据平台,博云视觉在直播视频、短视频、影视剧中涉及衣服、配饰、鞋袜、汽车、人物、地标建筑、店铺 logo、水果、动物等目标对象的搜索平均准确率已达到 90% 以上。其中,平面刚性物体准确率可达 98% 以上;三维刚性物体在 80% 以上;柔性物体准确率在 86% 以上。
另外,博云视觉目前共有 23 名员工,目前尚未融资,该公司已有一定的收入。