偷窥了阿里的图像搜索架构,干货分享给你!

博文小编

2021-05-14

进入21世纪以来,伴随着互联网的高速发展,通过图像和视频来进行需求表达越来越成为大家的习惯。

图像搜索与识别算法使得图像视频内容得以结构化和数字化,以便可以在各种检索和分析引擎中被最大限度地挖掘和利用。

阿里巴巴研发出的移动端以图搜图应用——拍立淘,使用户可以通过拍摄照片,在手机淘宝上迅速找到同款及相似商品,是图像搜索与识别领域极具代表性的落地产品。

因为拍立淘,我们可以在不知道商品品牌、名字等信息的情况下搜索到想要的同类品。

那么,拍立淘的架构设计是怎样的?它是如何将图像搜索与识别算法落地应用的呢?

小编从《深度学习图像搜索与识别(全彩)》一书中“偷窥”到它的架构设计,分享给你!

以下内容节选自《深度学习图像搜索与识别(全彩)》一书!


作为电商场景的以图搜图 App,拍立淘于2014年首次上线,现已经成为拥有数千万日活用户的应用。随着业务的发展,也逐步建立了稳定的、可扩展的视觉搜索架构。

下图展示了拍立淘的整个图像搜索架构,分为离线和在线处理流程


(图1 图像搜索架构)

离线处理主要是指每天生成图像引擎索引的整个过程。

具体过程为,首先构建离线图像选品,通过目标检测在选品图像上提取感兴趣的商品,然后对商品进行特征提取,再通过图像特征构建大规模索引库,并放入图像搜索引擎等待查询。执行完成后,以一定频率更新索引库。

在线处理主要是指用户上传查询图片后,对图像的实时处理到返回最终图像列表的在线步骤。与离线处理相似,给定查询图像后,首先预测其具体的商品类目,然后提取图像目标区域的特征,再基于相似性度量在索引引擎中搜索,最后通过重排序返回搜索结果。

01 类目预测模块

1.图像选品构建

淘宝上有大量不同来源的商品图像,包括商品主图、SKU图、拆箱图等,涵盖了电子商务各个方面的图像。

我们需要从这些海量图像中选择用户相对感兴趣的图像作为宝贝图像进行索引。也就是根据图像附带的类目等属性以及图像质量过滤整个图像库。

由于淘宝上存在太多相同或高度相似的宝贝图像,不过滤会导致最终的搜索结果出现大量相同的商品宝贝,使得用户体验不佳。因此,我们添加了图像选品过滤模块,每天定时选择和删除重复或高度相似的商品图像,并优化索引文件。

2.基于模型和搜索融合的类目预测

02 目标检测和特征联合学习

接下来主要介绍基于用户点击行为的检测和特征联合学习方法。

在拍立淘图像搜索场景下,主要挑战来自用户和商家图像之间的巨大差异。

商家的图片通常是高质量的,是在受控环境下用高端相机拍摄的。然而,用户的查询图像通常是用手机摄像头拍摄的,并且可能存在光照、模糊和复杂的背景等问题。

为了减少复杂的背景影响,系统需要具备在图像中定位主体目标并提取主体特征的能力。

下图说明了用户在查询图像过程中主体检测对检索结果的重要性。


(图2 图中的第一行是没有进行主体检测的检索结果,明显受到了背景干扰;第二行显示了采用主体检测的检索结果,有非常显著的改进效果)

为了在没有背景干扰的情况下使用户实拍图像和商家的索引图像特征保持一致,我们提出了一个基于度量学习的分支网络CNN框架,来联合学习主体检测框和特征表示。

我们最大程度地利用用户点击行为反馈,来挖掘难样本数据。

通过用户点击图像构造有效的三元组,使得能够在不需要进一步对边界框进行标注的情况下,联合学习到对象的检测框和特征表示。





03 图像索引和检索

1.10亿级的大规模图像检索引擎

为提高响应速度,我们使用大规模二值引擎进行查询和排序。一个实时稳定的搜索引擎是非常重要的,因为每天都有数以千万计的用户在使用拍立淘的视觉搜索服务。因此,我们采用Multi-shards和Multi-replications引擎架构,如下图所示,它不仅可以快速响应大量用户查询,而且具有很好的可扩展性。

(图6 Multi-shards和Multi-replications引擎架构)

Multi-shards:单机内存无法存储这么多的特征数据,因此特征被存储到多个节点上。对于单次查询,将从每个节点检索出的Top-K结果合并起来,得到最终的结果。

Multi-replications:单个特征数据库无法应对大量的查询流量,特征数据库被复制多份,从而将查询流量分流至不同的服务器集群上,以降低用户的平均查询时间。

在每个节点,使用两种类型的索引:粗筛选和精排序。

粗筛选采用的是一种改进的基于二值特征(CNN 特征二值化)的二值倒排索引(二值引擎的内容可以参考第7章)。以图像ID为关键字、二值特征为值,通过汉明距离计算,可以快速滤除大量不匹配数据。然后,根据返回的图像数据的二进制编码,对最近邻进行精排序。

精排序用于更精确的排序,根据附加元数据(如视觉属性和特征)对粗筛选出的候选项重新排序。

这一过程相对较慢,部分原因是元数据以非二进制形式存储,另一个原因是元数据的存储开销太大,无法将其全部载入内存中,所以缓存命中率是影响性能的关键因素。

通过粗筛选和精排序,可以达到无损精度的召回结果,并大幅提升检索效率。

2.质量感知的结果重排序

对于返回的商品列表,研究发现,即使是精准的同款结果,也不能保证它们是最能激发用户点击和购买的商品,所以最后会根据商品列表里每个商品的价格、好评度、用户画像等其他信息重排序。

考虑到最初的结果是通过表观相似度获得的同款结果,我们会进一步利用语义信息对Top-60的结果进行重新排序,包括使用销量、转化率、点击率、用户画像等。

我们利用GBDT+LR对不同维度的相关描述特征进行集成,将最终得分归一化到[0,1],这既保证了表观相似度,也保证了各维度的语义重要性。

重排序依据质量信息在保持整体表观相似性的同时,对相对质量差的图像进行精炼改善,获得更符合用户意图的商品图像。

至此,拍立淘的整个图像搜索架构的大概设计就基本介绍完了,如果你想了解更多细节,可阅读《深度学习图像搜索与识别(全彩)》一书。

参考文献:
[1] Shaoqing Ren, Kaiming He, Ross B Girshick,et al. Faster R-CNN: Towards Real-Time Object Detection with Region ProposalNetworks. IEEE Transactions on Pattern Analysis and MachineIntelligence(T-PAMI), 2017:1137–1149.
[2] Wei Liu, Dragomir Anguelov, Dumitru Erhan,et al. SSD: Single Shot MultiBox Detector. In European Conference on ComputerVision (ECCV), 2016:21–37.
[3] YanhaoZhang, Pan Pan, Yun Zheng,et al. Visual Search at Alibaba. In Proceedings of the 24th InternationalConference on Knowledge Discovery and Data Mining (SIGKDD), 2018:993-1001
[4] Yushi Jing, David C Liu, Dmitry Kislyuk,et al. Visual Search at Pinterest. In Proceedings of the 21th InternationalConference on Knowledge Discovery and Data Mining (SIGKDD), 2015:1889–1898
[5] Christian Szegedy, Wei Liu, Yangqing Jia,et al. Going deeper with convolutions. In IEEE Conference on Computer Visionand Pattern Recognition(CVPR), 2015:1–9.
[6] Jiang Wang, Yang Song, Thomas Leung, etal. Learning Fine-Grained Image Similarity with Deep Ranking. In IEEEConference on Computer Vision and Pattern Recognition(CVPR), 2014:1386–1393.
[7] OlgaRussakovsky, Jia Deng, Hao Su, et al. ImageNet Large Scale VisualRecognition Challenge. (2014). arXiv:arXiv:1409.0575, 2014.



《深度学习图像搜索与识别(全彩)》
潘攀 著

首度剖析基于深度学习的亿级图像检索技术平台
深度分析计算机视觉重要算法原理与应用场景
阐述构建大规划图像搜索平台思路、技巧与落地经验

图像搜索和识别是计算机视觉领域一个非常重要且基础的题目。本书对构成图像搜索和识别系统的各个算法基础模块一一做了介绍,并在最后一章以拍立淘为例说明了各个模块是怎样一起工作的。针对每个算法模块,本书不仅深入浅出地解释了算法的工作原理,还对算法背后的演进机理和不同方法的特点进行了说明,在第2章至第8章最后均提供了经典算法的PyTorch 代码和相关参考资料。

本书既适合图像搜索和识别领域的初学者,也适合在某个单一任务方面有经验但是想扩充知识面的读者。


(京东限时活动,快快扫码抢购吧!)

读者评论

相关博文

  • 拍立淘创始人潘攀博士为你揭开“以图搜图”的神秘面纱!

    拍立淘创始人潘攀博士为你揭开“以图搜图”的神秘面纱!

    博文小编 2021-04-26

    当你无意中看到一件心仪的衣服,却不知道它的品牌、条码等信息,也不知道怎么在淘宝中搜同款时,有没有尝试用过淘宝中拍照搜商品的功能呢? 通过拍照来搜索商品(简称“以图搜图”),在淘宝中被称为“拍立淘”。 “拍立淘,用镜头淘世界。...

    博文小编 2021-04-26
    1222 0 0 0