写点什么

苹果如何使用神经网络在点云中做对象检测

  • 2017-12-19
  • 本文字数:1077 字

    阅读完需:约 4 分钟

苹果发明了一种神经网络系统,可以从由 LIDAR 传感器生成的点云中分离出对象。

不久之前,苹果进军无人驾驶领域。不过,关于他们的汽车,我们了解的并不多。许多正在研发自动驾驶汽车的公司都使用所谓的 LIDAR 来检测汽车周围的障碍物。LIDAR 发出光脉冲,并测量该脉冲返回传感器的时间,然后就可以计算出汽车与附近的障碍物之间的距离。旋转传感器就可以测得传感器周围的所有障碍物。

LIDAR 获得的距离存储在所谓的“点云(Point Cloud)”中。在将这个点集可视化之后,人类可以很轻松地检测出这些点云中各种类型的对象,如人、汽车、自行车。遗憾地的是,对计算机而言,这仍然是一项困难的工作。读者可以试着指出上图中的人和汽车。

传统方法依靠人工编制的特性赋予这些数据意义。例如,将云分割成子云的方法,或者将点云分离成平面的方法。还有一种让 LIDAR 数据有意义的方式是选择一个观察点,把图像输入已有的计算机视觉算法。这些方法的缺点是特性设计非常困难,而且也很难设计出可以很好地概括所有情况的特性。现在,苹果创建了一种端到端的神经网络来解决这个问题。这种方法不依赖任何手工编制的特性或神经网络之外的其他机器学习方法。

该方法的第一部分是所谓的“特性学习网络”。苹果把这个空间分解成所谓的三维像素(3D 像素)。在检测汽车时,他们将每个三维对象的尺寸设定为2 米高、2.4 米宽(这样,一辆汽车就可以很好地匹配到一个三维像素里去)。在每个三维像素里,他们随机选取一个点的子集(有些三维像素包含许多点,有些只包含几个,这样处理之后,每个三维像素包含同样数量的神经网络输入)。他们把这个点的子集输入到神经网络,在一个128 维的空间里创建一个表示。

对这个空间里每一个点都进行这样的处理,就得到一个数据结构,让你可以通过在神经网络方法中看到的相同的网络结构输入到计算机视觉算法。通过多个卷积层,神经网络把输出投射成一张概率图和一种回归图(如下图所示)。概率图说明了这个空间中的每个三维像素是否包含对象。回归图说明了每个三维像素中对象的位置。

苹果使用KITTI Vision 基准测试测试了他们的方法,并把他们的方法和其他使用类似数据的方法进行了比较,不过,有些方法使用了人工编制的特性。结果表明,与所有现有的方法相比,包括使用了人工编制的特性的方法,他们的方法性能更好。

通过这项研究,苹果展示了他们在自动驾驶项目中使用的方法。今年有报道称,苹果使用了车顶上总计12 个LIDAR 传感器中的6 个。他们在一篇论文里发布了他们的结果,感兴趣的读者可以从ArXiv 下载

查看英文原文 How Apple Uses Neural Networks for Object Detection in Point Clouds

2017-12-19 18:001869
用户头像

发布了 1008 篇内容, 共 449.2 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

插件化&热修复系列——ClassLoader方案设计,开源至上

android 程序员 移动开发

插件化框架解读之Android-资源加载机制详解(二),kotlin语法印章类

android 程序员 移动开发

收好这份钉钉和抖音的客户端面经,真的很重要!,ndk开发环境

android 程序员 移动开发

春招结束,腾讯+字节,android移动开发基础案例教程答案

android 程序员 移动开发

最好用的安卓按钮,含泪狂刷Android基础面试118题

android 程序员 移动开发

最新 Android 热门开源项目公布,androidframework开发书籍

android 程序员 移动开发

掌握Android和Java线程原理上,跨平台移动开发工具

android 程序员 移动开发

文档06-H264解码流程,android实战开发项目阅读器

android 程序员 移动开发

普通程序员,三年成为年薪70w架构师,只因有了这些习惯

android 程序员 移动开发

教你如何使用Jetpack绘制天气图,史上最详细!,跨平台app开发框架

android 程序员 移动开发

搞了三年Android开发终于把线程、多线程和线程池全搞懂了,掌握这些核心知识

android 程序员 移动开发

教你如何使用Flutter和原生App混合开发,androidstudio项目实战

android 程序员 移动开发

换个姿势,带着问题看Handler,android应用程序开发的流程

android 程序员 移动开发

插件化库VirtualAPK详解,你头秃都没想到还能这样吧

android 程序员 移动开发

揭秘 Android 百万开发被迫转行背后的残酷真相,只是你没找对方向罢了

android 程序员 移动开发

曾经身为一名Android面试官的我,如今去别的公司面试被虐成狗!我也有今天7

android 程序员 移动开发

最全-BAT-大厂Java和Android面试题整理!为接下来秋招金九银十做准备(聪明人已经收藏了

android 程序员 移动开发

拿来吧你,Compose尝鲜初体验!,Android开发真等于废人

android 程序员 移动开发

教你如何使用Flutter和原生App混合开发(1),Android开发面试解答之Handler

android 程序员 移动开发

搞Android开发为什么这么难?想哭了!,kotlin中文

android 程序员 移动开发

收割腾讯等十几个Offer后,揭秘进大厂的秘诀和Android技术面试题汇总!

android 程序员 移动开发

数据结构篇09、哈希表--简化版HashMap,一线互联网移动架构师360°全方面性能调优

android 程序员 移动开发

文字太多?控件太小?试试 TextView 的新特性 Autosizing 吧

android 程序员 移动开发

插件化框架解读之android系统服务实现原理(五),毕业工作5年被裁

android 程序员 移动开发

无意苦争春,一任群芳妒!看完这份2020年度大厂Android面试总结

android 程序员 移动开发

数据结构篇11、映射Map及其三种底层实现,android插件化框架

android 程序员 移动开发

搞了三年Android开发终于把线程、多线程和线程池全搞懂了,掌握这些核心知识(1)

android 程序员 移动开发

数据结构(三), 弄懂红黑树RBTree(多图警告!!!),帮你突破瓶颈

android 程序员 移动开发

新鲜出炉的Android面试题,确定不来看看吗?还有超详细的答案解析哦

android 程序员 移动开发

最后再说一次!!不要在你的App启动界面设置SingleTask-SingleInstance

android 程序员 移动开发

插件化框架解读之Class文件与Dex文件的结构(一),Android详解

android 程序员 移动开发

苹果如何使用神经网络在点云中做对象检测_Apple_Roland Meertens_InfoQ精选文章