一种基于图片搜索视频的方案
作者:京东零售 谷伟
1.商品搜索
1.1 网络购物的搜索手段
随着移动互联网发展,手机端购物已成为人们生活的常态。人们在搜索商品时采用的手段也越来越丰富,当前的主要搜索方式是文本搜索与拍照搜索。
1.2 文本搜索
文本搜索应用比较广泛,较为常用的是关键字匹配,针对商品信息的相关描述进行分词,并对分词建立索引库,从而达到查找的目的。随着人工智能的发展,语义搜索得到了快速的发展,它通过用户输入的搜索内容来理解用户真正的意图,从而获得更有价值的内容。其本质是将所有要搜索的内容转化为高维数学向量,用统一的特征向量来描述不同内容,把检索输入的内容向量化,并与要搜索的内容进行向量匹配,把相似度最高的结果展现出来。
1.3 拍照搜索
拍照搜索也就是以图搜图,是近几年的视觉 AI 发展的一个产物。用户登录电商平台,可以通过上传图片,经过图像分析与识别来查找相似的商品主图,从而找出相关的商品。其基本原理是经图像分析抽取图像的颜色、形状、纹理等特征,建立特征索引库,对用户上传的图像进行特征化描述,从索引库中查找出与之近似的特征图像。
2. 现状分析
2.1 需要专业人员参与
文本搜索需要文本描述的支持,也就是需要对短视频进行文本描述,需要人员对短视频进行准确的文本描述,尤其描述中要含有代表其商品的关键词,否则可能难以被搜索引擎所命中,这对视频的发布人员产生了一定的门槛,增加搜索命中的难度。
拍照搜索主要是对商品的主图进行特征匹配,这也就需要商品发布人员要制作尽可能与之匹配的图片,尤其需要美工设计人员的参与,从而增加了人力成本。
2.2 难以支持短视频搜索
随着近几年自媒体的发展,短视频逐渐成为互联网信息传播的主要手段。而短视频可以认为是大量图片的集合,不可能对短视频的每张图片建立特征索引,因为这会浪费大量的计算机算力。
3. 技术方案
3.1 技术问题
以前商品介绍主要以图文方式来展现商品,不仅要展示商品主图还要配细节图,以及产品参数,从而达到全面涵盖产品信息的能力。而短视频能够全方位的展示商品,并搭配语言描述以及背景音乐,可进一步形象的给消费者介绍商品的功能,给顾客更直观的体验,有助于促进下单。同时商家制作的短视频可将其推送到自媒体平台上,便于给商品引流,提高商品销量,从而拓宽了销售市场。
因此短视频营销相对于图文营销更有优势,如何让顾客能够更快更便捷地搜索到其感兴趣的商品短视频,是本发明所要解决的主要问题。本方案主要解决的是商品短视频搜索,按照类目维度对商品短视频进行筛选,并提高视频搜索的命中率,为商品短视频搜索建立桥梁。
3.2 技术方案
3.2.1 流程图
流程图:
3.2.2 详细描述
1.关键帧提取
卖家在制作好商品介绍的短视频后,在发布商品时对短视频进行上传,视频时长不能超过 2 分钟。对该视频进行关键帧提取。视频是由一组连续的图像组成,如果每张图片都存储下来,则会导致视频文件过大,因此视频都会被压缩,在压缩过程中,产生了 I 帧、P 帧、B 帧。I 帧是画面的完整保存,它尽可能去除了图像空间的冗余信息;P 帧则是记录与前一个关键帧的差别;B 帧是记录本帧与上一帧和下一帧的差别。
因此只需提取出 I 帧即可。在 MPEG-4 标准中,stss 部分标识了哪些 sample 是关键帧,如果没有 stss 则全部 sample 是关键帧。当获取的关键帧太多时,以时间轴维度,随机选取 20 帧的图像供商家选择,把商家选取的 5 张图片与视频文件一同保存到文件数据库中。
Mp4 标准
2.特征向量计算
本次的特征向量计算采用的是 VGG16 模型。由于关键帧的图片都是彩色图片,因此采用 3 通道。卷积核为 3×3,池化核为 2×2。以 224×224 的视频图像为例,过程如下:
输入图像大小为 224×224×3,经 64 个通道的卷积核 3×3,步长为 1,共卷积 2 次,输出尺寸为 224×224×64 的特征向量。进行池化,采用池化核 2×2,步长为 2,输出尺寸为 112×112×64 的特征向量。
经 128 个 3×3 的卷积核,步长为 1,卷积 2 次,尺寸变为 112×112×128,进行池化,步长为 2,输出尺寸为 56×56×128。
经 256 个 3×3 的卷积核,步长为 1,卷积 3 次,尺寸变为 56×56×256,进行池化,步长为 2,输出尺寸为 28×28×256。
经 512 个 3×3 的卷积核,步长为 1,卷积 3 次,尺寸变为 28×28×512,进行池化,步长为 2,输出尺寸为 14×14×256。
经 512 个 3×3 的卷积核,步长为 1,卷积 3 次,尺寸变为 14×14×512,进行池化,步长为 2,输出尺寸为 7×7×256。
将数据拉平成一维数组,7×7×256=25088。
经两层 1×1×4096 与一层 1×1×1000 的全连接层,最终输出 1×1000 的特征向量。
3.向量数据库
向量在存储时要把文件数据库中的 ID 同时存下来,以及商品 ID,从而建立向量、文件、商品的关系。向量搜索都是相似性搜索,通过两个向量在高位空间的距离来做判断,其实就是在高维空间中找到与目标向量最接近的 K 个向量,一般采用欧式距离计算,其公式:
为了召回精度高,暴力搜索的是最好的选择。但这会产生大量的不必要的计算,浪费了计算机资源。因此本方案采用类目维度进行切割。减少搜索范围。
4.视频搜索
买家需要选择要搜索的类目再进行图片上传,通过 VGG16 模型计算出特征向量,然后基于类目维度进行暴力搜索把最接近的 K 个向量筛选出来。最后再根据向量与文件的关系,把视频文件查找出来,返回给买家。
5.视频淘汰策略
每日进行定时巡检,对于长时间没有流量或者流量低于阈值的商品,需要从向量库中对其短视频进行逻辑删除,尽可能减少搜索的体积,减少计算资源的浪费。
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/7e4401de8a4ff6cc4d08bc129】。文章转载请联系作者。
评论