原文:拍立淘-以图搜图中的图像搜索算法 - 2017

出处:云栖社区

摘要:移动端的以图搜图是一代又一代的图像人,搜索人的梦想. 从90年代开始,学术界,工业界做了很多的努力和尝试.

拍立淘-以图搜图,从14年正式立项开始,通过算法/工程/产品的不断打磨,以及兄弟部门的紧密合作,在业务指标的增长的同时,沉淀下来了业界领先的图搜算法.

一. 为什么要做,为什么现在做

1.1. 为什么做

以图搜图功能,特别是移动端的以图搜图,成为日益增长的流量入口和用户需求.

有机构表明:未来5年,用户使用语音和图像进行意图表达的比例将超过50%. 手机淘宝每个月的用户反馈中,有相当的比例都是用户对以图搜图的需求和渴望.

1.2. 为什么现在

[1] - 移动设备的普及:带有摄像头的移动设备的日益普及.

[2] - 深度学习时代:从2013开始,深度学习在图像、语音、NLP等领域的工业界取得了巨大成功.

[3] - 大规模的计算平台的普及:如ODPS,亚马逊云.

[4] - 电商:移动电商的发展,使得通过手机进行所拍即所买成为用户的自然诉求. 同时活跃的用户留下的数据使得相关性等能不断提升.

二. 算法框架

拍立淘首次上线是在2014年手机淘宝,很小的入口,功能也比较少. 经过了多个版本的迭代和探索,形成了比较稳定的算法框架. 如下图:

image

上面的框架,有5个算法模块,分别是类目预测,主体检测,图像特征提取,检索索引和排序. 其中,与相关性有关的是类目预测,主体检测,特征和排序. 而检索索引更多的与 scalability 相关.

2.1. 类目预测

由于特征对于类目的区分能力有限,同时如果不分类目在全量中搜索性能无法满足. 因此,我们通过类目预测来判断商品数据哪个类目. 目前拍立淘有10多个大类,涵盖上万个叶子类目.

image

2.2. 主体检测

因为商品的背景复杂,主体常常较小,所以为了减少大量背景干扰和多主体的影响,因此需要将搜索目标从图像中提取出来.

下面两幅图反应了对于用户的query,进行主体检测和不进行主体检测的搜索结果差异.

image

2.3. 图像特征

图像特征包括深度特征(CNN深度卷积神经网络)和局部特征. CNN从高层提取特征,突破语义鸿沟. 局部特征关注图像的局部特征,可以作为CNN特征的辅助和补充.

image

2.4. 检索索引

搜索的过程可以分成离线和在线.

离线过程进行商品图像特征的提取,建立索引.

而在线的过程,对query提取特征,到分布式的引擎里面去进行快速的查询.

image

2.5. 排序

针对多种图像特征,和非图像的特征,根据不同的优化函数,我们会对结果进行重新的排序.

三. 拍立淘业务

经过长期的迭代和优化,拍立淘不仅能够为用户提供同款和高度相似的搜索结果,并且在覆盖的类目和索引的宝贝上也达到了相当可观的量级.

目前拍立淘的算法可以支持几亿图片的实时检索索引,其中包括男女服装,包,鞋以及其他如美妆,家居,饰品等不同种类的商品. 此外,拍立淘还提供了一键搜索的用户体验,用户只需进行拍照即可得到最终的结果而不需要额外的操作.

目前拍立淘产品有如下的展现形式:

[1] - 移动端:拍立淘在手淘上有两个入口,分别是搜索框右侧的拍照按钮,以及扫一扫页面中的拍立淘Tab.

image

[2] - PC端:PC淘宝的搜索框

image

[3] - 外部和网页插件:http://www.pailitao.com

以下是各类目实拍图在拍立淘中的搜索结果:

image

image

image

image

最后的话:

[1] - 感谢拍立淘-图像搜索算法团队的同学,上面的算法成果是全团队的成果. 感谢拍立淘项目组的全部成员,项目的发展和业务得增长使得算法能不断有机会沉淀和突破.

[2] - 拍立淘-以图搜图一路走来,部分解决了用户的拍照搜索需求,但是距离充分满足用户的需求还有一定的距离. 项目组正在不断优化,从算法/工程/产品的角度去提高.

Last modification:May 13th, 2019 at 05:18 pm