写点什么

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

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

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

关注

评论

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

垃圾分类与AI的反碎片之旅

百度大脑

人工智能 EasyDL

总结下ThinkPHP的代码审计方法

网络安全学海

php 网络安全 信息安全 WEB安全 代码审计

低代码开发:实现传统系统信息化的3种方案!

优秀

低代码 低代码开发

深入理解rtmp(一)之开发环境搭建

轻口味

android 音视频 直播 9月日更

云南推进“区块链+数据中心”融合发展

CECBC

让Chrome爽到飞起的5款小众插件!

Jackpop

Rust 从 0 到 1

rust

我怀疑,你对996的力量一无所知!

艾小仙

程序员 996

ServiceWorker工作原理、生命周期和使用场景

devpoint

Service Worker 9月日更

HTML进阶

Augus

html 9月日更

每个人都在谈数据治理,每个人都治理不好

奔向架构师

数据仓库 数据治理 9月日更

Golang 中的整洁架构

baiyutang

架构 DDD Go 语言 9月日更

maven-dependency中作用域scope含义

一个大红包

9月日更

解决网卡“Device eth0 does not seem to be present, delaying initialization”

耳东@Erdong

9月日更 网卡

聊聊Java运算符的那些事

Bob

Java 9月日更

Vue进阶(幺零四):elementUI 应用 $notify 提示信息中换行问题

No Silver Bullet

Vue 9月日更

【SpringCloud技术专题】「Eureka源码分析」从源码层面让你认识Eureka工作流程和运作机制(上)

码界西柚

源码分析 Eureka spring-cloud 9月日更

Java中对千万级数据量的表进行插入操作(MYSQL)

张音乐

Java MySQL JDBC 9月日更

为什么 Golang 正在接管软件行业

云原生

云计算 Kubernetes 云原生 编程语言 Go 语言

什么是可中断锁?有什么用?怎么实现?

王磊

9月日更

全网最新最全面Java程序员面试清单(12专题5000解析)

Java 架构 面试 程序人生 程序

15. 弱人工智能、强人工智能、超人工智能

Databri_AI

人工智能

MimeType文件格式速查表

入门小站

工具

性能测试中异步展示测试进度

FunTester

性能测试 接口测试 测试框架 进度条 FunTester

Python顺序结构选择结构

在即

9月日更

新鲜出炉!腾讯3轮面试,拿53k*15offer全仰仗这份Java面试神技

Java 编程 架构 面试 程序人生

网络攻防学习笔记 Day131

穿过生命散发芬芳

网络安全 9月日更

数字技术重构产业链供应链比较优势

CECBC

linux之type命令

入门小站

Linux

统一区块链应用接口,加速新场景落地

CECBC

编程基础:硬件同步原语

正向成长

CAS 硬件同步原语 FAA

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