博主评论:目前在移动端部署深度学习推断的需求越来越多,博主认为这类需求属于边缘计算的一部分,目前移动端的主要方式有嵌入式ARM,NPU,FPGA等,然而早在2009年,在卷积神经网络之父Yann LeCun挂名的一篇论文里就提出了使用FPGA实现卷积神经网络推断,考察卷积神经网络并行性,并结合FPGA的高并行计算,对人脸检测达到了每秒十帧的速度,虽然现在网络复杂度变高,但同时FPGA计算能力也在提高,论文里面的实现思路完全可以借鉴,论文解读如下(文章不重要的部分有省略)
目录
3. APPLICATION TO FACE DETECTION
摘要:
本文介绍了一个在面向低端DSP的高效实现ConvNets现场可编程门阵列(FPGA)。利用ConvNets的固有并行性并充分利用硬件FPGA上单元的多重累积。整个系统使用一个单个FPGA带有外部存储器模块,没有额外的功能部分。实施了ConvNet人脸检测系统并测试过。在512*384帧上进行人脸检测需要100毫秒(每秒10帧),相当于平均每秒个连接的性能(这里的连接换成计算量应该是6.8Gops/s )。设计可以用于低功率,轻量级嵌入式视觉系统,用于微型无人机和其他小型机器人。
1. INTRODUCTION
介绍嵌入式视觉系统应用前景,包括本文设计系统的简单介绍:FPGA系统功耗小于15W, 是专门针对卷积网络的,但也可用于许多类似的架构基于本地过滤器组和分类器,如HMAX和HoG方法。现代DSP-oriented fpga包括大量的硬连接乘法累加可以大大加快计算密集型操作的单元。本文介绍的系统充分利用了卷积的高度并行性,采用现代面向dsp的fpga,提供了高并行度的ConvNet操作。
2. ARCHITECTURE
图1显示了系统的功能体系结构。整个系统只适用于一个FPGA,需要一个外部存储模块。设计采用两种不同的平台实现:低端Xilinx Spartan-3A DSP 3400 FPGA与DDR-SDRAM模块(来自Xilinx的开发板)耦合,高端Xilinx Virtex-4 SX35与一对QDR-SRAM芯片(定制设计)耦合。fpga都有大致相同的密度(53000斯巴达式的逻辑单元,Vir