对于许多集成人员和系统构建者而言,会经常遇到不同的挑战,比如自动实现复杂决策制定的算法难以编写且费时费力。
面对这一挑战,FLIR给你的建议是:结合使用开源库、Nvidia 硬件和 FLIR 相机,充分利用深度学习。本文详细的阐述了如何通过FLIR机器视觉相机收集图像数据,训练神经网络并在嵌入式系统上部署。
什么是深度学习?
深度学习是机器学习的一种形式,所采用的神经网络在输入节点和输出节点之间具有许多“深度”层。通过基于大数据集训练网络,创建的模型可用于根据输入数据进行精确预测。在用于深度学习的神经网络中,每一层的输出会前馈到下一层的输入。通过更改各层之间连接的加权,反复优化模型。在每一个周期,对模型预测准确度的反馈将用于指导连接加权的更改。
图 1:输入和输出之间含有“深度”隐藏层的神经网络
图 2:相对输入加权的更改
深度学习通过自动处理之前对于传统视觉应用过于复杂的过程,不断改变着交通系统。得益于易于使用的框架以及经济实惠且实现加速的图形处理单元 (GPU) 硬件和云计算平台,所有人都可以轻松使用深度学习。
为什么深度学习现在广受欢迎?
GPU 加速硬件:功效更高、成本更低
使用大量处理器并行执行一组协调计算的 GPU 体系结构(称为“大规模并行”体系结构)非常适合深度学习系统。通过 Nvidia 持续不断的研发,极大地提升了 GPU 加速计算平台的功效和效率并大幅降低了成本。此项技术应用广泛,从基于Jetson TX1和TX2的紧凑型嵌入式系统到如GTX 1080等的PC级GPU,再到如Nvidia DGX-1和Drive PX 2等的 AI 专用平台。
图 3:Nvidia TX1(左)、TX2(中)和 Drive PX 2(右)等硬件因其并行计算架构而在加速深度学习过程方面表现出色
使深度学习框架大众化
除了开发易于使用的框架外,还提供大量教程和在线课程来帮助人们使用深度学习。通过内含Google的TensorFlow以及开源Caffe、Torch和Theano的C++包装器,用户能够快速构建和训练自己的深度神经网络 (DNN)。最好是从通用型 TensorFlow 开始,而Caffe的GPU优化使它非常适合部署在Jetson TX1和TX2上。Nvidia CUDA深度神经网络 (cuDNN) 库为开发人员提供了已高度优化的常见深度学习功能的实现,进一步简化了针对这些平台进行的开发。
用于交通系统的深度学习
多种应用
虽然媒体主要关注的是无人驾驶车辆的发展,但深度学习还有许多其他交通应用。深度学习适用于较小规模的系统,用于解决检测交通信号控制的行人和应急车辆、停车场管理、强行频繁占用车道以及高精度车辆和牌照识别等问题。它还适用于较大规模的系统,用于解决城际交通流量疏通等问题。
持续训练深度学习系统,以便应对不断变化的状况。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 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 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 Drive PX 2是开放汽车AI平台,内置有两个Pascal GPU核心。凭借八个TFLOPS,Drive PX2的计算能力相当于150台Macbook Pro。Drive PX2旨在支持深度学习应用,实现无人驾驶车辆导向。除了第一代USB 3.1和GigE Vision相机,它还对使用汽车GMSL相机接口的相机有所投入。
关于FLIR Integrated Imaging Solutions Inc.:
原Point Grey Research是FLIR去年全资收购的一家子公司,收购后名称改为FLIR Integrated Imaging Solutions Inc.。目前是创新型高性能数码相机设计和制造领域的全球领导者,其产品广泛应用于工业、医疗和生命科学、交通、生物统计、地理信息系统 (GIS) 和人数统计等领域。
(转载)