AI 外挂!百度 Lens 是如何突破人眼视觉极限的?
你知道吗?人类有 70%的信息获取来自于视觉。但目前存在两个问题: ①人眼本身只能看到物理世界,无法看到其背后复杂的信息世界; ②人类的记忆力有限,视野有限,于是会出现看了就忘、视野窄等各种问题。
科幻片里常见这样一种“人肉外挂”:通过一系列的技术改造,主人公(比如史塔克)眼前出现的一切物体都会被自动识别,什么名称、用途、用法用量,全都可以秒速反馈回来,并被即时载入到记忆中,过目不忘。
如今,百度识图在百度 App 和简单搜索 App 上推出的最新版,通过应用Lens技术把这种科幻场景,往现实生活中拉得更近了一点!
百度识图可以做什么?
目前,百度识图已支持超过 30+场景的认知。
例如:扫商品找同款比价格、扫植物学辨认技巧看养护知识、扫人脸测面相运势、扫菜品/食材看热量知功效做法、扫明星看八卦追行程、扫汽车了解型号价格、扫红酒查酒庄年份、扫题目搜答案看解析。
此外还有AR翻译、文字、图书、海报、药品、货币、电影等多品类的认知能力。
Lens 技术是什么?
Lens 技术,是一种基于移动端,实时感知和云端视觉搜索的类人眼视觉 AI 能力,能够实现所见即所得的信息浏览体验。
应用 Lens 技术后,打开百度识图,无需拍照,毫秒内自动扫描、并锁定镜头内检测到的全部物体,即刻反馈“它是什么”,“它背后的相关信息”,借此你便拥有了一本“移动的百科全书”。
百度识图 + Lens 技术”有什么重要意义?
1. 从行为层面,它将深度强化人眼视觉理解能力,改变人类认知事物的习惯、并为未来的智能眼镜奠定坚实基础。
你可以借助百度识图真正实现边走边看,不间断浏览。同时,依托于百度识图背后的超级百度大脑,将确保为每个实物提供精准、深度的信息介绍,让你边看边学。
2. 从技术层面,它首次实现了类人眼的、对实时视频流数据的感知和认知能力。其具备的跨平台实时视觉 AI 能力,可以嵌入到 Android/iOS 系统部署,依靠百度移动端深度学习预测框架 paddle-mobile,支持 iOS、Android、Linux-ARM、FPGA 等平台的编译和部署,使深度学习模型能够在移动端和智能硬件中运行。
百度识图的 Lens 技术攻克了哪些难题?
为了达到类人眼的视力,人工智能必须充分调动起复杂、且涉及众多环节的能力。在这一过程中,百度识图的 Lens 技术遇到并解决了 4 个核心问题。
1、快速连续稳定地发现新物体
人眼对视觉信号反应时间 170ms~400ms,新进入视野的物体,能够被快速地看见,当视角发生变化时,新视野的物体在被发现的同时,也能够建立与旧视野内物体的对应关系。
具体到技术上,分为两个问题:单帧图像的物体检测的性能、和连续帧图像物体检测的稳定性。
①单帧物体检测的性能,包含准确率、召回率和检测速度。过深的 CNN,相应地耗时也较长。而且终端 GPU 相比服务器 GPU 的性能,还要拉开十倍以上的差距,耗时更长。
因此,我们选择构建轻量级的 MobileNet 网络结构,来实现移动端物体检测,并且构建覆盖通用场景的百万级别通用物体检测图片数据集。
针对基础模型进行压缩,进一步提升预测速度,同时模型运行在百度自研的移动端深度学习预测框架 Paddle-mobile上,最终可支持在手机端,实现单帧多目标检测耗时 60 ms 以内,主要物体检测准确率和召回率均在 95% 以上。
②连续帧图像物体检测的稳定性,是我们面临的一个新挑战,它关注解决的问题,是如何量化衡量在连续帧上不断的进行物体检测时,物体是否被检测到的状态变化。
在图像上物体的微小平移、尺度、姿态变换,都导致 CNN 输出变化剧烈
百度提出了一种移动终端基于视觉跟踪的连续帧多目标检测方法专利,在实时连续帧数据上,用跟踪完成短时的物体状态保持,并在视野物体发生变化时,在检测模型中融合跟踪算法的输出,给出最终的、稳定的连续帧物体检测结果。最终帧错误率从 16.7% 降低到 2%。
2、连续实时跟踪物体
为了让反馈信息,像放置在真实世界中的一样稳定,百度采用了 SLAM(Simultaneous Localization and Mapping)技术。
在未知环境中,通过对环境的观测,确定自身的运动轨迹,同时构建出环境三维地图。
针对文字跟踪的场景,还涵盖了 Texture Mapping 技术,将文字的翻译结果,无缝地融合到源语言文字位置处,达到原生视觉效果。
3、视觉信号多层认知, 先粗看再细看
人眼会对视野内的物体,先产生初步理解,例如左前方有辆汽车。当眼睛注意力集中到汽车时,再由具体认知环节,分辨是宝马320、还是奔驰C200。
粗粒度语义理解模型的训练,整理构建涵盖办公、家庭生活、商场、超市、户外园区和街道等主要场景的300+标签分类标签体系,包含百万级物体局部图的数据集。
细粒度物体认知,是由一整套复杂的云端系统构成,包含万级别大规模细粒度分类模型,以及基于 ANN 最近邻向量检索构建的百度视觉检索技术,支持相似图、同款商品、名人脸等检索。
4、无缝连接以上三个环节
人眼在接收到视觉信号后,由大脑完美地调度,发现、跟踪和多层认知三个环节实现无缝衔接。
在技术实现上,却需要考虑非常多的因素,包括用户注意力判断、注意力集中时的选帧算法、跟踪和检测算法的调度切换策略。
通过精细的组合调度算法,我们将百度识图的耗电量,控制在 2%/10min 以内,满足了移动端部署对能耗的要求。
最终,物体的发现感知、连续跟踪、粗粒度语义理解,以及根据用户行为和视觉场景动态组合和调度以上模型的 multi-task planning 算法,整体构成感知计算模块 Walle SDK,可以支持在 iOS、Android 以及服务器等多种平台部署。
未来还有哪些新期待?
1. 在用户行为及信息理解层面,百度识图将会融合多模态的交互方式、多形态的信息呈现方式、以及多纵深角度的信息识别结果,带来更聪明的视觉理解体验。
那时,借助智能设备,我们只需要动动眼睛、说一句话,所需要的信息就会以 AR 的方式,叠加到我们面前。
2. 在技术应用层面,百度识图将会成为跨平台应用、并持续丰富物体高级感知能力的维度,促进全人类的人眼视觉能力强化。
目前,百度识图能力,由纯 C++ 实现的跨平台运行库,核心库大小 300KB,几乎可以嵌入任何支持深度学习模型运行的终端平台,例如智能硬件、一些智能摄像头、无人驾驶汽车等等。
怎样体验百度识图黑科技?
下面以百度 App 为例,带你一起体验!
据悉,百度识图的 Lens 技术,将会开放给开发者,帮助大家以极小的开发成本,来让自己的摄像头,具备类人眼能力。
*体验路径:打开百度 App 和简单搜索 App,即可使用百度识图。
【完】
print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!
");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"