基于FPGA和CNN的水下目标识别系统*

2021-04-25 01:12:12陈凯峰梁鉴如傅伟清刘贵庆刘露露
传感器与微系统 2021年4期

陈凯峰, 梁鉴如, 陈 强, 傅伟清, 刘贵庆, 刘露露

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引 言

水下智能设备可用于铺设管道,海底探索,数据收集,钻井支持和水下设备维修等重要工作。由于电磁波无法在水中长距离通信,地面端难以实时处理水下图像,水下设备无法及时响应周围环境,容易造成损坏。因此,水下设备需要具备自主实时图像处理能力。然而,由于功耗限制,水下设备难以配备GPU等高功耗处理器。

现场可编程门阵列(field programmable gate array,FPGA)拥有高速通信接口,可用于高速信号处理,可以过滤数据并降低数据速率,使复杂信号易于处理,传输和存储;FPGA可实现高并行度计算,具有并行性和流水线技术,并行性可以重复分配计算资源,流水线技术使硬件资源可重复利用,两者相结合可以显着提高并行计算性能[1];FPGA可进行快速数字信号处理,适用于高实时数据处理,如图像,雷达信号和医疗信号,比CPU更有效[2]。

卷积神经网络(convolutional neural network,CNN)是一种成熟,快速的图像分类算法。从20世纪60年代Hubel和Wiesel提出了第一个CNN至今,CNN已经成为许多科学领域的研究热点,特别是在模式识别领域[3]。该算法无需复杂的图像预处理,可以直接分析原始图像,同时使多个数据处理单元并联,适用于FPGA的并行化[4]。

本文提出使用低功耗FPGA平台实现水下实时图像处理,使得水下机器能够自动区分海水等安全区域和岩石、藻类等非安全区域。

1 CNN

CNN通过卷积减少图像处理的计算量,同时可以有效地提取特征。CNN通常包括输入层、池化层、激活层、全连接层以及输出层等。……

登录APP查看全文