论文部分内容阅读
随着交通行业的不断发展,检测道路上的车辆、行人等移动目标来提高道路驾驶的安全性得到越来越多的重视。近几年,随着深度学习的发展,计算机视觉相关的任务逐渐被深度学习所取代。对于目标检测任务,人们也开始探索利用深度学习的方式来解决。同时移动端设备作为一种无需连入网络的安全隐私计算资源,在其上实现基于深度学习技术的交通目标检测任务成为当下研究的热门话题。本文首先介绍了目标检测算法常用的几大类方法,并分析比较了各类方法的主要内容及优缺点。接着介绍了我们设计的移动端深度学习目标检测架构,主要分了并行处理层、控制层和应用层三级结构,并基于OpenCL的并行多核处理框架完成卷积层、池化层、全连接层和激活函数的实现。由于卷积层计算在整个深度学习计算期间计算量最大耗时最久,我们提出并实现了基于OpenCL内存模型的优化加速方法。对卷积输入和卷积核权重采用多核冗余的方式从全局内存预加载进本地内存和常量区中,并采用避免分支的方法来减少线程工作项的等待时间。在介绍完移动端的目标检测系统后,本文继续介绍基于IEEE 802.1 1p车车通信协议的分布式目标检测系统。采用Map-Reduce模型对卷积层和池化层进行分布式切分,在计算每层过后工作节点交换各自相邻数据。同时我们为了解决分布式系统中的由于不同工作节点计算能力不均而产生的木桶效应,设计并实现了基于指数平滑法来预测计算性能的任务重分配机制。使用指数平滑法预测各工作节点的计算能力,并根据不同的计算能力分配与之对应的计算任务,从而提升整体的分布式计算加速比。最后我们使用2到6个分布式节点进行实验,基于均分法和预测法对比了每一层卷积层的执行时延和整体的加速比。实验表明预测法在2-6个节点的时候加速比比均分法要高,对卷积层加速达到了1.95x-5.94x加速效果,而均分法只有1.69x-5.78x加速效果,在6个分布式节点均分法和预测法在整体加速上呈现性能相似效果,达到3.35x/3.36x的加速效果。