日期
06/14
2017
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

收集图像数据,训练神经网络并在嵌入式系统上部署
收藏
2017-06-14 05:13:59来源: FLIR Machine Vision (原 Point Grey)

扫描二维码,关注我们的微信公众号!                                      

第一时间了解最新机器视觉案例研究,技术文章,产品新闻等

wechat QR



挑战:自动实现复杂决策制定的算法难以编写且费时费力。

解决方案:
结合使用开源库、Nvidia 硬件和 FLIR 相机,充分利用深度学习。
通过 FLIR 相机,您可以:

  • 获取高级功能,可最大限度地减少神经网络训练所需的图像预处理

  • 与 NVidia Jetson TX-2 和 Drive PX 2 等平台无缝协同工作

  • 提供全天候可靠性,实现无故障部署



什么是深度学习?

深度学习是机器学习的一种形式,所采用的神经网络在输入节点和输出节点之间具有许多“深度”层。通过基于大数据集训练网络,创建的模型可用于根据输入数据进行精确预测。在用于深度学习的神经网络中,每一层的输出会前馈到下一层的输入。通过更改各层之间连接的加权,反复优化模型。在每一个周期,对模型预测准确度的反馈将用于指导连接加权的更改。

IEEE-1588 Timing Delay SynchronizationNeural Network with Weighted Paths
图 1:输入和输出之间含有“深度”隐藏层的神经网络。图 2:相对输入加权的更改


Tensor Flow 缩略图亲自动手尝试一下!

访问 TensorFlow 实验室即可亲自动手实验深度学习。实验允许更改输入、每层的节点数和隐藏层的数目。改变这些参数会对训练速度和预测准确度产生较大影响。


深度学习通过自动处理之前对于传统视觉应用过于复杂的过程,不断改变着交通系统。得益于易于使用的框架以及经济实惠且实现加速的图形处理单元 (GPU) 硬件和云计算平台,所有人都可以轻松使用深度学习。

黄瓜分拣示例


以下案例举例说明了深度学习的使用:一位日本农民通过配置 Google 的 TensorFlow 框架和 Cloud ML 对黄瓜进行分级。借助 TensorFlow,他使用每个黄瓜等级的样本图像训练了神经网络。系统了解了如何根据样本图像中的特征区分黄瓜等级。黄瓜在通过农民的分拣机器后,会产生相应的图像,经过训练的神经网络会对它们进行分类。TensorFlow 随后指示分拣机器将黄瓜转移到正确的容器中。阅读完整案例





为什么深度学习现在广受欢迎?

GPU 加速硬件:功效更高、成本更低
使用大量处理器并行执行一组协调计算的 GPU 体系结构(称为“大规模并行”体系结构)非常适合深度学习系统。通过 Nvidia 持续不断的研发,极大地提升了 GPU 加速计算平台的功效和效率并大幅降低了成本。此项技术应用广泛,从基于 Jetson TX1 和 TX2 的紧凑型嵌入式系统到如 GTX 1080 等的 PC 级 GPU,再到如 Nvidia DGX-1 和 Drive PX 2 等的 AI 专用平台。

Nvidia Deep Learning Hardware - TX1 Drive PX

图 3:Nvidia TX1(左)、TX2(中)和 Drive PX 2(右)等硬件因其并行计算架构而在加速深度学习过程方面表现出色。


使深度学习框架大众化
除了开发易于使用的框架外,还提供大量教程和在线课程来帮助人们使用深度学习。通过内含 Google 的 TensorFlow 以及开源 CaffeTorchTheano 的 C++ 包装器,用户能够快速构建和训练自己的深度神经网络 (DNN)。最好是从通用型 TensorFlow 开始,而 Caffe 的 GPU 优化使它非常适合部署在 Jetson TX1 和 TX2 上。Nvidia CUDA 深度神经网络 (cuDNN) 库为开发人员提供了已高度优化的常见深度学习功能的实现,进一步简化了针对这些平台进行的开发。

Deep Learning Networks


用于交通系统的深度学习

多种应用
虽然媒体主要关注的是无人驾驶车辆的发展,但深度学习还有许多其他交通应用。深度学习适用于较小规模的系统,用于解决检测交通信号控制的行人和应急车辆、停车场管理、强行频繁占用车道以及高精度车辆和牌照识别等问题。它还适用于较大规模的系统,用于解决城际交通流量疏通等问题。

RoboRace
Roborace / Daniel Simon (c) 来源:http://roborace.com/media/

持续训练深度学习系统,以便应对不断变化的状况。HERE 公司正致力于将支持深度学习的地图系统部署到无人驾驶汽车中。此技术将生成持续更新的地图,分辨率介于 10-20 厘米。通过深度学习,HERE 的地图将包括固定物体(如标牌)和临时行驶隐患(如施工工程)的精确位置。  

价格更低、准备时间更短
通过提供分散的现成相机和嵌入式平台,交通系统设计人员可以灵活地调整系统来适应他们的项目。单独的相机和处理硬件使每个组件的升级路径既简单又不受约束。与专用智能相机相比,此生态系统的价格更低,准备时间更短。

如何实现系统

训练数据采集
设计人员必须先训练深度学习模型,然后才能进行部署。若要实现精确结果,需要高质量的训练数据。高性能相机向根据视觉输入做出决策的系统提供尽可能好的训练图像。

相机范围内的图像处理可简化训练之前所需的数据标准化。对自动算法的精确控制、锐化、像素格式转换、镜头遮光更正以及 FLIR 的高级预置颜色转换和色彩校正矩阵等相机功能可优化图像。FLIR 在制造期间严格控制质量,最大限度地降低相机性能影响,从而减少训练前进行标准化的需求。

对于捕获移动车辆图像的应用,全局快门传感器可同时读取所有像素,以防物体在读出过程中因移动而导致的失真。FLIR 的许多机器视觉相机都使用 Sony Pregius 全局快门 CMOS 传感器。凭借 72dB 的动态范围和小于 3e- 的读取噪声,它们可以同时捕获明亮区域和阴影区域的细节,并提供出色的低光拍照性能。

低光应用(如室内停车场管理)可利用背照式 (BSI) Sony Exmor R 和 Starvis 传感器的像素结构优势。这些设备追求的是更大的量子效率,而不是读出速度,以便具备小且经济的传感器以及更好的低光性能。



在专用硬件上训练
收集足够的训练数据后,就可以训练您的模型了。若要加快此过程,可以使用具有一个或多个启用了 CUDA 的 GPU 或专用 AI 训练硬件(如 Nvidia DGX-1)的 PC。还提供专门使用深度学习的计算平台。

Nvidia Training Time
相对性能(基于训练时间)
NVIDIA DGX-1 的训练速度快 75 倍
CPU 是双套接字 Intel Xeon E5-2697 v3,170 TF 支持半精度或 FP16


部署到嵌入式系统

完成深度学习模型训练后,就可以将它部署到相关领域了。通过功能强大的精简型 GPU 加速嵌入式平台,可防止在传统 PC 上使用具有空间和电源要求的应用,并在进行边缘计算时强制使用有限的 Internet 连接。这些系统基于 ARM 处理器体系结构,通常在基于 Linux 的操作系统上运行。有关如何在 Linux 环境中在 ARM 设备上使用 FLIR 的 FlyCapture SDK 的信息,可在此处找到。

许多交通应用依赖于具有多个相机的系统。通过 FLIR 机器视觉相机,系统设计人员可以灵活地通过 GPIO 或软件准确触发多个相机。IEEE 1588 精确时间协议 (PTP) 使相机时钟与通用时基或 GPS 时间信号同步,无需用户监督。多相机系统的 MTBF 随每个额外相机降低,高度可靠的相机在构建稳健的系统时起关键作用。设计和测试 FLIR 机器视觉相机可确保全天候可靠性,从而最大限度地减少停机和维护。

使用 FLIR 相机的 Nvidia Drive PX
使用 FLIR Grasshopper3 USB3 相机的 NVidia Drive PX2

Nvidia Jetson TX1 和 TX2 是功能强大且高效的 GPU 加速嵌入式平台,支持第一代 USB 3.1 和 GigE Vision 相机。专用的 Jetson 载板提供 I/O 连接性和应用特定功能。SmartCow TERA+ 本身就支持将最多 8 个 GigE 相机与一个托管交换机一起使用。它还支持 RS-232 和 RS-485 串行通信。SmartCow 还提供 Caffe 包装器,可简化在 TERA+ 硬件上支持视觉应用的深度学习的设计和部署。Connect Tech Cogswell Carrier 支持第一代 USB 3.1 和以太网供电 (PoE) GigE 相机。此处提供了有关在 Nvidia TX 1 和 TX 2 上开始使用 FLIR 相机的信息。

Nvidia Drive PX 2 是开放汽车 AI 平台,内置有两个 Pascal GPU 核心。凭借八个 TFLOPS,Drive PX 2 的计算能力相当于 150 台 Macbook Pro。Drive PX 2 旨在支持深度学习应用,实现无人驾驶车辆导向。除了第一代 USB 3.1 和 GigE Vision 相机,它还对使用汽车 GMSL 相机接口的相机有所投入。有关 Drive PX 2 入门的信息,请单击此处。

深度学习入门不像您想象的那么复杂!

借助以下出色教程,深入了解深度学习:
https://developer.nvidia.com/embedded/twodaystoademo
http://blog.udacity.com/2017/01/siraj-raval-deep-learning-nanodegree-foundation-program.html