我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:大家发高手网 > 段映射 >

迷你自动驾驶汽车深度学习特征映射的可视化

归档日期:06-17       文本归类:段映射      文章编辑:爱尚语录

  几个月前,我们开始制造Axionaut,一种小型自动无线电控制(RC)汽车,并且在巴黎参加了一些比赛。到目前为止一切顺利,我们已经取得了不错的成绩。尽管如此,大家总是对控制汽车的卷积神经网络内部发生了什么感到好奇。

  我们看到一些关于如何显示特征映射和过滤器方面很好的文章,它们在理解和编写神经网络特征映射时非常有用。我们还看到了一些很酷的Nvidia视频,视频展示了自动驾驶汽车上神经网络实时激活的样子(但是,它们是怎么做到的呢?)。

  所以我们决定从头开始,尝试在原型中复制这种体验。为此,我们使用了预先训练过的Keras Convnet自动驾驶模型,还有一些在训练和比赛时拍摄的视频。

  有了这个良好的开端,我们花了几天时间来寻找一些经典问题的答案,比如“网络是如何看待世界的”和“网络实际上到底关注什么”。

  如果你对我们是如何做到这一点感到好奇的话,首先你需要了解卷积层的特征映射在检测视野内相关特征时是如何激活的。这方面Harsh Pokharna的某篇文章做了很好的解释。

  就像人一样,在不考虑其他因素(其他车辆、路标、行人或目的地)的情况下,车道会给我们提供如何做出正确决策的相关信息。我们应该向左转?向右转?继续直行?

  好吧,让我们回到正题。我们需要做的第一件事是找到感兴趣的卷积层,并且绘制需要激活的热图。为此,我们使用了这个庞大的存储库的一个稍微修改过的版本。

  为了简化,我们要估算出单个卷积层的激活量,这里使用三次样条插值法,而不是逆卷积。在对网络上所有特征映射进行可视化检测后,我们选择了第二个卷积层。

  在这一点上,很明显网络主要是在响应车道。下一步是将原始输入图像与激活重叠,以一种不损坏原始图像形状和颜色的方式将响应高的区域清晰地叠加在一起。

  这里要用到OpenCV!首先创建一个二进制掩码,用来分割出激活最高的部分,同时棑除掉其他的。由于激活映射的区域较小,我们还需要向上采样。然后,使用按位运算获得最终合并的图像。

  最先要做的按位运算是将二进制掩码和激活映射进行“与”运算。该操作可以用OpenCV轻松实现,并且分割出映射里激活最高的部分。

  就像预期的那样,我们最终得到了一条完全由卷积神经网络切割出来的、清晰的车道。

  现在我猜你已经想到了,为了要完成最终的图像,我们需要做的第二步按位运算:与运算。图像中的冷蓝色是由于Matplotlib (RGB)和OpenCV (BGR)颜色格式不同导致的。你可以捣腾这个会变色的色图来得到不同的颜色。

  就这样,我们在对网络激活做合理估算的基础上,将输入图像与特征映射做最后整合。

  如果您有任何疑问,我将很乐意在评论中回答。 此处提供了指向公共存储库的链接,包括所有代码和数据库。 不要忘记在Twitter上关注我们。

  CVPR 2018 最牛逼的十篇论文深度学习目标检测算法综述迷你自动驾驶汽车深度学习特征映射的可视化在2018年用“笨办法”学数据科学体会分享

  如何在神经NLP处理中引用语义结构(Python)用Mask R-CNN检测空闲车位高级DQNs:利用深度强化学习玩吃豆人游戏深度强化学习新趋势:谷歌如何把好奇心引入强化学习智能体

  标签:自动驾驶汽车 深度学习 可视化 特征 卷积 图像 雷锋网 链接 网络 ai 车道 科学 算法 汽车 神经网络 论文 二进制 无线电 番梨 卷积神经网络

本文链接:http://buffaloruse.net/duanyingshe/618.html

上一篇:北宁人脸识别比对访客机智慧车站专用

下一篇:没有了