基于视觉大模型,百度网盘把「猫」换成了

   日期:2024-11-03     作者:caijiyuan       评论:0    移动:http://gzhdwind.xhstdz.com/news/281.html
核心提示:随着移动互联网的一路狂飙,手机已经成为人们的新器官。出门不带钥匙可以,不带手机却是万万不可以的。而手机上,小小的摄像头也

随着移动互联网的一路狂飙,手机已经成为人们的新器官。出门不带钥匙可以,不带手机却是万万不可以的。而手机上,小小的摄像头也越来越成为各位「vlogger」的口袋魔方。每天有超过数亿的照片和视频被上传到百度网盘中,这些照片和视频大多来自于用户自己的拍摄或收藏,覆盖的主题和内容相当广泛,包括人物、风景、动物、地标建筑、素材等。他们记录着生活,也通过灵感和创意展示着生活。但由于数量庞大、种类繁多,这些图像资源的管理和搜索成为了用户的一大挑战。

基于视觉大模型,百度网盘把「猫」换成了

“好难找啊!”

在和用户的沟通中,“找照片的过程十分痛苦”引起了大家的共鸣。即使网盘提供了云上大空间供照片储存,基础分类搜索后的照片还是如同汪洋大海。有时候为了寻找一张在记忆中“闪现”的照片,需要长时间在时光轴里滑动。

「如果能通过 去年夏天我在海边的照片 这种关键词直接得到照片就好了」。

说干就干。

网盘的技术同学开始广泛调研市面上的图片搜索功能。研究发现,目前大部分都是基于标签的图片搜索方法。这往往需要用户手动或者AI帮助添加标签或关键词,才能进行检索和匹配。然而,由于一张图片往往有很多不同的内容和特征,标签的限制导致用户只能添加少量有限范围内的标签,诸如简单的“猫”,“日出”等,无法全面地描述图片的内容和特征。因此,现有的图片搜索无法响应用户更加复杂的图片描述。

「怎么办?」用户这样问我们,我们就这样问自己。

「精准精准再精准」

话不多说,先来看看优化后的实际效果:

从「鸟」到「海边的鸟」,从「海边」定位到「我在海边」,从「宝宝」精准到「抱着宝宝逛街」……

百度网盘想做的,做成的,就是从「面」精准到「线」甚至到「点」。

为了解决这个问题,百度网盘引入了基于自然语言的图片内容语义检索方法,这种方法是利用深度学习和人工智能技术,将每张图片转化为一个向量表示,从而通过计算语言向量和视觉向量之间的相似度来进行搜索和匹配。由于向量表示比传统标签更加丰富,因此,能有效实现人们用自然语言搜索图片的目的。

「为什么用向量?」相信这也是很多“行友”的疑惑。

相比传统的标签搜索方法,基于向量的语义检索具有以下优点:

因此,在百度网盘团队的努力下,我们真的做到了「精准精准再精准」,图片搜索也不再那么“难”了。


实际技术产品化过程并非一帆风顺,我们遇到了很多问题,这也是业界很多相册管理工具未提供类似功能的原因。从项目立项、效果验证到产品化,我们花了超过四个月的时间,直到22年8月底正式上线和大家见面。“怎么做到的?” “如何理解自然语言” “还能更快搜到吗”……这些都是我们和用户共同关注的问题。

01 搜得到

像“穿鞋子的猫”“穿正装的照片”这种,传统的标签检索很难搜到。因此,我们选择了语义向量。无论是OpenAI开源的CLIP,还是百度自研的融合了场景图知识的多模态预训练文心·CV大模型VIMER-ViLP,都很擅长解决语义匹配问题。

这类方法的核心原理是将检索文本和个人影像数据映射到同一语义向量空间,文本和个人影像数据向量之间的距离越近,相似度就越高。这样我们通过向量检索,来实现用中文文本查找对应图片的功能了。相比传统先打标签,再关键词搜索的方法,基于语义的检索方案,直接实现了端到端的语义匹配,能够避免语义的丢失。


02 搜得准

在网盘用户的实际搜索中,我们发现,用户存在着复杂多维度组合查询的需求。比如:去年我在三亚海边看日出的照片。其中包含了时间、地点、人物的信息,这就超出了语义向量的能力边界了,语义向量无法精准的判断时间、地点,也无法知道你是谁。

但是,经常拍照的用户应该会说「我们手机拍出来的照片,就包含了拍摄时间、经纬度等相关信息呀!」

没错,我们正是通过提取这些元信息,把经纬度转换成实际的街道名、场所名称从而用来做时间、地点的精确匹配。

「那怎么识别我是谁?」

别急,虽然识别“谁是你”相对复杂一些,但我们也找到了解决办法。在百度网盘备份过照片的用户,应该都知道智能分类。我们会把照片中出现的同一个人物的照片聚合出来,你可以自己给这个人物打上标签,比如“我自己”“宝贝”等。我们便基于这个标签来做人物的搜索。有了这些信息,我们就可以实现,时间、地点、人物、事件组合的复杂搜索。回到上面这个例子,“去年我在三亚海边看日出的照片”,我们拿到这个请求,会首先解析出里面包含的各个元素:

其中,时间、地点、人物可以用范围查询或者关键词查询来实现,事件适合用语义向量来实现,通过这样的组合查询,我们最终就能得到用户想要的结果。

有些用户反馈,图片的结果太靠后了,「在找图片的时候,总是要翻好几次才能看到,真难」。

于是,我们增加了对用户搜索意图的理解,如果识别出来你是想要找图片,我们就会把图片的返回结果放在最上面。


03 搜得快

解决了效果方面的问题,又出现了新的挑战:如何将技术变成用户可使用的产品?由于成本太高,效率太低,很多相册APP并没有把这种功能开放给用户。

影响速度的环节有很多,整个过程中,我们首先需要提前对用户的图片进行向量计算,并建立索引,然后查询的时候,能够快速的对用户的query进行分析并完成图片向量的检索,最终把结果排序后呈现给用户。这个流程中我们遇到了很多挑战:

端+云结合

端本地索引优化

为了节省用户本地的索引存储量,同时尽可能减少计算量,我们对索引进行了大量的压缩,优化后,即使图片规模达到10w,向量检索速度也可以达到ms(毫秒)级别,最终返回结果的延时能控制在秒级别。

端+云向量检索流程如下图所示:

1.请求云端计算文本“黄色的猫”的特征向量和LSH(Locality-Sensitive Hashing,局部敏感哈希)编码;

2.计算文本和图片LSH编码相等的维数,找到相等维数超过阈值的图片子集

3.在候选的图片子集中,计算图片向量与文本向量的相似度,按照相似度,从高到低返回

异构算力调度

除了要每天为新增的亿级别数据计算向量特征外,我们还需要持续的对用户存量数据进行计算。为了让有迫切需求的用户,能够尽快使用到这个功能,我们也提供了申请加速开通图片高级搜索的通道,优先为申请用户计算数据。为了利用一切可以计算的资源来加速计算效果,我们开发了一套能够统一管理CPU、GPU等异构资源的调度系统,充分利用闲置资源,来实现尽可能快的覆盖更多用户。

04 搜更多

除了图片语义检索,我们之前也收到了用户各种各样的找图需求,比如:想搜索图片里的文字、想给朋友圈文案配一张以前拍的图片。

针对「搜索图片里的文字」,用户可以在搜索筛选里开启,开启后可能需要等待文字提取完成。

「我想要朋友圈文案配图片」你不妨直接搜一下,我们会给你推荐相册里最适合这句话的图片,就像

本文地址:http://yy520w.xhstdz.com/news/281.html    物流网资讯 http://yy520w.xhstdz.com/static/ , 查看更多
 
标签: 百度网
举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号