送餐送货机器人、自动驾驶车、扫地机器人,再也不用担心撞上玻璃橱窗了丨CVPR2020...
萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI
自动送货车撞上玻璃、扫地机器人撞碎玻璃伤行人……如今这些事件也即将成为过去式。
大连理工大学等单位研发了一个玻璃检测神经网络,能够利用AI在真实环境下检测玻璃。
△ 图左为目标场景,图右黄色部分为玻璃检测
从图中可见,神经网络能很好地将玻璃从实际场景中分割出来。
但事实上,玻璃检测绝非想象中那般简单,不仅因为它几乎是透明的,而且还具有反射性。
更何况,玻璃并没有固定的形状,无法根据外形判定某一区域是否存在玻璃。
既然如此,为什么人眼能这么准确地判定出玻璃的存在呢?
全新的神经网络GDNet
研究发现,人眼不仅能通过玻璃内外部颜色的差异来判断玻璃的存在,还能根据反射产生的光斑或重影发现玻璃。
这给了研究者们很大的启发,并最终设计了名为大视场上下文特征融合(Large-field Contextual Feature Integration ,下简称LCFI)的模块。
△ LCFI模块构造
LCFI模块用来同时提取高级语义特征和颜色纹理等低级特征两种上下文特征,用于检测真实场景中玻璃的存在。
为了提取大量上下文信息,通常的做法是采用大卷积核或进行扩张卷积,但前者会导致大计算量,后者则会稀疏采样。
而且,这两种方法并非最优。
△ 实验对比效果
研究发现,采用非局部运算(non-local)可以同时解决这两个问题,便有了LCFI模块。
LCFI模块采用空间可分离卷积,从水平和垂直两个维度分别对图像进行卷积。
由于图像中玻璃区域的信息非常复杂,且与非玻璃区域有一定的相似度,为了消除这种歧义,模块将再进行一遍卷积,不过这次是先从垂直、再从水平维度提取互补的上下文特征。
最后,将提取的特征进行融合。
而这个LCFI模块,是玻璃检测神经网络GDNet中最核心的部分。
△ GDNet网络示意图
GDNet网络整体工作原理如下:
第一步,使用预训练的ResNeXt101网络用于多级特征提取,目的是获得各种级别的特征。
第二步,在网络最后嵌入四层LCFI模块,目的是进行各级别大视场内上下文的特征学习。
第三步,将其中三个LCFI模块的输出通过注意模块(Attention Module)进行连接和融合,目的是生成大视场内上下文的高级特征。
第四步,从这些高级特征中学习Attention Map,目的是引导大视场内上下文的低级特征(例如第一个LCFI模块的输出),以将更多注意力集中在玻璃区域。
最后,通过级联和注意力机制,融合高级与低级特征,目的是生成最终的玻璃特征图。
GDNet的创新之处在于,它设计的LCFI模块采用空间可分离卷积,更好地获取了图像中有关玻璃的特征。
虽然此前也有关于玻璃的目标检测研究,但基本集中在玻璃杯、器皿这样的小型玻璃物体上,检测方法也多从物体的形状入手。
这次研究通过玻璃本身的特征,设计了具普适性的玻璃检测网络,能有效防止自动驾驶车辆对玻璃幕墙或玻璃门进行误判,避免发生碰撞事故。
除此之外,对于机器学习中的深度预测、场景理解和去反射等技术任务,也有着重要的意义。
△ 从上到下分别是深度预测、场景理解和去反射
当然,真正要让GDNet在实际玻璃检测中发挥能力,离不开数据集的制作。
为了使GDNet在实际应用中能发挥出更好的效果,研究者们完成了世界上第一个大规模玻璃检测数据集GDD。
首个大规模玻璃检测数据集GDD
在玻璃检测数据集(Glass Detection Dataset, GDD)中,共有3916张带玻璃的图片,其中2980张被随机抽出,用于网络训练,剩余936张作为测试集。
这三千多张玻璃图片多来自浴室、办公室、超市等地方,其中玻璃幕墙占多,其次是玻璃展示橱窗、玻璃门、陈列柜、窗户和玻璃护栏。
经统计,玻璃通常占据整张图像20%~80%的大小,且整体分布倾向于图像中央,这是由玻璃使用特性所决定的。
△ GDD数据集部分图像展示
上图为数据集中部分图像的展示,可以看见,图像对玻璃和非玻璃部分进行了分割,白色区域为玻璃所在区域。
从图例中就能看见,无论是玻璃上贴着的标签、刮蹭的污渍,还是玻璃上透射和反射的图像,都可能会在训练时对网络产生影响。
与此同时,数据集中也存在着只占图像20%不到的边角玻璃、或是几乎充斥整个图像的大玻璃块,目的在于增加图像的随机性,使得神经网络具有更好的检测效果。
检测效果
事实上,测试也证明,无论是实际检测效果、还是从数据分析来看,采用GDD数据集训练后的GDNet都达到了目前研究中玻璃检测网络的最好效果。(下图中,所展示网络均已用GDD数据集进行训练)
从下图来看,相较于其他较前沿的神经网络,GDNet对玻璃区域的检测准确度明显更高。
△ 与最右边的真值相比,目前最前沿的部分网络和GDNet对玻璃的检测效果
在准确度上,相较于MirrorNet的85.07%和EGNet的85.04%,GDNet达到了87.63%的IoU。(IoU:真值与预测值交集/真值与预测值并集)
相比之下,其平均绝对误差MAE则达到了0.063。
△ 与其他神经网络相比,GDNet的各项指标均处前列
可以想见,在这样的效果下,GDNet未来在玻璃检测方向上还会有更进一步的发展及应用。
作者介绍
梅海洋,论文第一作者,目前在大连理工大学计算机科学与技术学院的攻读博士,主要研究方向为图像处理、计算机视觉与深度学习。
传送门
论文地址
http://openaccess.thecvf.com/content_CVPR_2020/papers/Mei_Dont_Hit_Me_Glass_Detection_in_Real-World_Scenes_CVPR_2020_paper.pdf
项目地址
https://xinyangdut.github.io/mirror_glass/MirrorGlassDetection.html
https://mhaiyang.github.io/CVPR2020_GDNet/index.html
— 完 —
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
人类未来20年最重要的航天任务——登陆火星,已经启动!这场征服星辰大海的征程,将彻底改变我们的未来。
什么是火星探索,为什么要远征未来,如何培养科学探索的精神?
中国空间探测技术首席科学传播专家庞之浩,最新推出讲给孩子的火星课《登陆火星》,在其中深入浅出地讲解火星探索史+航天知识,回答了你还不知道的种种好奇疑问。
现在这一精心打磨的课程正在超值预售中,定价99元,目前限时半价,仅49元。让孩子爱上探索宇宙,培养科学思维,现在就开始吧~
给孩子的火星课
限时半价中????
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
送餐送货机器人、自动驾驶车、扫地机器人,再也不用担心撞上玻璃橱窗了丨CVPR2020...相关推荐
- Google 的自动驾驶车出事故,被人类撞的
作者 | DavidZh 当地时间周五下午,美国亚利桑那州钱德勒的一处公路上,Google 母公司 Alphabet 旗下自动驾驶子公司 Waymo 的一辆无人车发生了车祸. 这是继 Uber 无人车 ...
- OpenAI 发布模型实现自动定理证明,妈妈再也不用担心我的数学?
作者 | 八宝粥 出品 | CSDN(ID:CSDNnews) OpenAI 大招频出,染指数学江湖 日前,OpenAI 研究者Stanislas Polu和Ilya Sutskever在社交媒体发布 ...
- 机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...
摘要: 最近互联网上出现一个热词就是"freestyle",源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴 ...
- 香港5G自动驾驶车开测,明年大规模推出5G服务
移动通讯技术迈进第五代,是智慧城市发展一大助力.香港应用科技研究院利用5G网络测试自动驾驶车,推动此车普及化.通讯事务管理局办公室与各政府部门积极协助业界测试5G应用,为香港大规模推出5G服务做好准备 ...
- 关于自动驾驶车安全保证、验证和认证的综述
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨Penny@知乎 来源丨 计算机视觉深度学习和自动驾驶 arXiv上传于2022年2月6号的综述 ...
- “狂飙”的自动驾驶车,用了哪些规控算法?
视频中这辆"狂飙"的自动驾驶车,正通过MPC轨迹跟踪控制器使其沿着规划好的轨迹行驶.作者用C++实现了MPC算法,并利用ROS与自动驾驶仿真器CARLA进行联合仿真,测试了算法的有 ...
- 从零搭建一台基于ROS的自动驾驶车-----3.激光Slam建图
系列文章目录 北科天绘 16线3维激光雷达开发教程 基于Rplidar二维雷达使用Hector_SLAM算法在ROS中建图 Nvidia Jetson Nano学习笔记–串口通信 Nvidia Jet ...
- 自动驾驶车路测法规出台,车辆需支持远程实时监控
作者 | DavidZh 出品 | AI科技大本营(公众号ID:rgznai100) 4 月 12 日,工信部联合公安部.交通运输部公布了适用于全国范围的自动驾驶车辆道路测试规范. 相比之前北京 ...
- 英伟达发布史上最强GPU,却叫停了自动驾驶车路测
作者 | DavidZh 出品 | AI科技大本营(公众号ID:rgznai100) 当地时间 3 月 27 日,英伟达在美国圣克拉的 GTC 大会上推出多款产品. ▌显卡扩容,史上最强的 DGX-2 ...
最新文章
- Linux中如何使用Sipcalc计算IP子网
- expect简单教程
- 用.NET CF进行HardReset?
- 让数字保持在整数范围内
- 新华计算机学校环境好吗,新华电脑校园环境好不好?(二)
- java常用算法分析和实现 amp,Java常用算法实现
- Java文件类String [] list(FilenameFilter fnf)方法,带示例
- spring 的singleton 和prototype的区别和应用场合
- [翻译]关于Swift的编译时间优化
- 请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!
- Android之进程间通信AIDL
- 苹果手机如何隐藏软件_手机资讯:苹果软件下载演示
- jQuery源码下载和编译
- Html5用户注册页面
- layabox 打印_Layabox 集成指南
- 大话functional编程语言
- 许晓斌_Maven实战(八)——常用Maven插件介绍(下)
- iPhone开发Swift基础08 加密与安全
- lncRNA数据分析专题
- Treedp贪吃的九头龙详解