写点什么

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

  • 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:001782
用户头像

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

关注

评论

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

BTCs挖矿软件开发|BTCs挖矿系统APP开发

MUZIKA穆奇卡系统APP开发简介

程序员如何提高开发效率?

万事ONES

项目管理 程序员 敏捷开发 ONES

区块链时代下,企业如何打造数据要素的“新竞争力”?

旺链科技

大数据 产业区块链

【Flutter 专题】95 图解 Dart 单线程实现异步处理之 Task Queue

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

百度搜索稳定性问题分析的故事(下)

百度Geek说

百度 后端 数据 软件架构 搜索

Pandas

Flychen

云图说|应用魔方AppCube:揭秘码农防脱神器

华为云开发者联盟

低代码 华为云 AppCube 云图说 应用魔方

阿凡达挖矿软件开发|阿凡达挖矿APP系统开发

云原生打包工具:Buildpacks

QiLab

Docker 云原生 k8s buildpacks

斗宠大陆APP开发|斗宠大陆软件系统开发

java算法易筋经:常见java-API使用技巧

华为云开发者联盟

Java List 数组 队列 java-API

手机如果能折叠能卷的话,电脑为什么不能呢?

船医特拉法尔加

开发者 工具 柔性屏

包租婆软件开发|包租婆系统APP开发

数据结构——平衡二叉树(AVL)

若尘

数据结构 二叉树 平衡二叉树

Java项目实战营总结

eoeoeo

Go 学习笔记之 字符串数据类型

架构精进之路

Go 语言 7月日更

带你用VUE实现上传图片效果

华为云开发者联盟

CSS html Vue js 标签

微服务错误码设计实践

循环智能

微服务 gRPC 异常处理 错误码 接口设计

BVD比特视频APP系统开发搭建

云端赛车-Amazon DeepRacer 的前世今生

亚马逊云科技 (Amazon Web Services)

人工智能 开源

JAVA 九种排序算法详解(下)

加百利

Java 数组 排序 7月日更

监测生命体征、活动水平的可穿戴电子产品设计方案

不脱发的程序猿

物联网 ADI 可穿戴电子产品设计方案 监测生命体征、活动水平 智能传感器

IPFS公司有哪些?IPFS 哪家公司好?

Apache Flink 入门知识超全概括!

云祁

大数据 flink 7月日更

骆驼币挖矿软件开发|骆驼币挖矿APP系统开发

多链星球APP开发|多链星球系统软件开发

5分钟带你了解微前端(内含大量代码示例)

LigaAI

大前端 qiankun

敏捷项目管理会不会代替传统项目管理?

万事ONES

项目管理 ONES 敏捷管理

QuFi挖矿APP开发|QuFi挖矿系统软件开发

记某百亿级mongodb集群数据过期性能优化实践

杨亚洲(专注MongoDB及高性能中间件)

Java MySQL 数据库 mongodb 分布式数据库mongodb

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