APP下载

基于Jetson TX2的SAR船只目标检测实现

2022-03-07周玉金谢宜壮乔婷婷

信号处理 2022年2期
关键词:船只嵌入式客户端

周玉金 谢宜壮 乔婷婷,2 冯 杏

(1.北京理工大学信息与电子学院雷达技术研究所;嵌入式实时信息处理技术北京市重点实验室,北京 100081;2.华北电力大学电气与电子工程学院,北京 102206)

1 引言

星载合成孔径雷达(Synthetic Aperture Radar,SAR)具有全天时、全天候、成像幅度大等特点,其被广泛应用于海上目标监视领域[1]。目前,随着SAR成像技术的不断发展,SAR 成像的图像分辨率不断提高,船只目标在SAR 图像中具有了更高的辨识度。因此,基于SAR 图像的船只目标检测应用变得十分广泛,在军事领域,对特定船只目标进行实时位置检测,有利于紧急战略部署;在民用领域,可以对海运进行实时监测和调度[2]。

近年来,随着深度学习领域的不断发展,SSD,YOLO 和Faster-RCNN(Faster Region Convolutional Neural Networks)等深度学习检测模型在SAR 船只检测领域取得了很好的效果,利用深度学习技术实现SAR 船只检测,在有效避免了复杂特征设计的同时大幅度提升了算法检测精度[3]。李健伟等发布了国内首个SAR 图像船只公开数据集,并基于该数据集证明了采用R-CNN 深度学习网络方法较传统方法具有明显优势[4]。孙显等公开了高分辨率SAR船只检测数据集AIR-SARShip-1.0,并对多种深度学习模型检测效果进行了对比,采用的密集连接端到端网络方法达到了更好的检测效果,但检测速度较慢[5]。高分辨SAR 数据集的公开有效促进了深度学习网络方法在SAR 船只目标检测领域的发展,SAR 船只检测精度得到了不断提高。然而,考虑到SAR 船只检测的应用场景,算法的设计和实现不仅要保证较高的检测精度,也要考虑船只检测算法和检测系统的实时性。

在星上和机载系统硬件资源和功耗受限的背景下,设计并实现高效可行的SAR 船只目标检测系统变得十分重要。本文基于Jetson TX2嵌入式平台成功部署了改进的YOLOv2 SAR 船只检测网络,并设计了SAR 船只目标检测系统,在保证较高检测精度的同时实现了高速SAR 船只目标检测。实时处理方案通过高速以太网链路进行平台间的通信,实现了两个Jetson TX2 嵌入式平台的协同工作,有效提升了SAR船只目标检测系统的实时处理能力。

2 TX2嵌入式平台

Jetson TX2 平台是由英伟达公司推出的高性能嵌入式开发平台,其性能与上一代产品Jetson TX1相比具有显著提升,具有高性能、低功耗以及易于开发等优点,在实时图像处理领域具有很好的应用前景。TX2 平台的核心芯片是Tegra Parker SOC,其芯片架构为ARM+GPU 架构,不仅具有较强的复杂运算能力,同时还具有很好的并行运算性能。CPU集群由双核Denver2 处理器和四核ARM Cortex-A57组成,最高主频皆为2 GHz。双核Denver2具有良好的单线程性能,四核Cortex-A57 集群则具有良好的多线程性能,两个处理器通过高速一致性结构连接在一起,根据需要可以选择一个或者多个核心进行异构多进程处理。GPU 由两个NVIDIA Pascal 架构的多数据流处理器(SM,Streaming Multiprocessor)组成,每个SM 具有128 个CUDA 内核,与独立的GPU一样支持API 和CUDA 库,主频在0.85 GHz 到1.3 GHz 之间,浮点计算性能可以达到1.5 TFLOPS[6]。TX2 核心芯片具有很好的并行计算能力,该平台在深度学习算法实现和加速方面具有一定优势[7]。在外设接口方面,芯片上集成了PCIE 接口、1 千兆以太网、UART 串口、显示器接口等,可以同时以多种方式与外界进行数据交互,便于进行开发和应用。功耗方面,该平台具有五种工作模式,可以根据具体的性能要求进行灵活调节,保证了性能和功耗之间的平衡,其最低功耗可以达到7.5 W,最高为15 W。

3 SAR船只目标检测系统

3.1 系统网络传输实现

SAR 船只目标检测系统框图如图1 所示,SAR船只目标检测系统由一台千兆交换机,一台主机和两个Jetson TX2嵌入式平台构成,TX2平台A和TX2平台B 为独立的服务端,主机同时作为TX2 平台A和TX2平台B 的客户端。TX2嵌入式平台和主机分别通过千兆网线与交换机连接,TX2 嵌入式平台的IP 地址和主机IP 地址被设置为同一网段,在共享局域网环境下,TX2 平台A 和TX2 平台B 可以通过Socket编程分别与主机进行独立通信。

Socket(套接字)是一个对TCP/IP 协议进行封装的编程调用接口,通过Socket 通信机制实现网络数据传输可以简化用户编程,与基础的信号机制相比,Socket 通信机制不仅能实现同一台计算机下不同进程的通信,还可以实现多台计算机间的通信[8-9]。Socket 通信采用client/server 通信模式,在SAR 船只目标检测系统中,主机作为客户端采用多线程的方式分别与TX2平台A和TX2平台B进行独立通信,主机作为客户端在不同线程中可以与不同IP 的服务端建立连接,进而主机可以与两个TX2 嵌入式平台同时进行状态交互,实现两个TX2 平台对数据的协同处理。

Socket通信主要实现客户端和服务器端之间处理状态的实时交互,为了进一步实现SAR 图像切片在主机与嵌入式平台间的快速传输,检测系统采用共享文件的方式进行数据传输,两个TX2 嵌入式平台可以同时访问共享文件夹中的SAR 图像切片,并将处理结果保存到共享文件夹下的指定目录,主机可以同时对共享目录进行实时检测,并对返回结果进行分析和展示。

3.2 系统数据处理流程

主机主要负责数据预处理和检测结果展示,TX2嵌入式平台主要实现基于深度学习的船只目标检测算法。数据预处理包括SAR 成像和对成像后的大场景图进行切片,SAR 成像原始数据量较大,数据缓存和成像需要大量内存资源,目前大多采用FPGA 平台进行数据缓存和成像,而TX2 嵌入式平台内存资源有限,主要负责船只目标检测,本文通过计算机模拟星上或机载SAR 成像硬件平台,与TX2 嵌入式平台进行数据交互,对TX2 嵌入式平台的数据传输性能以及处理能力进行验证。SAR 船只目标检测系统处理流程如图2 所示,主机端首先完成客户端初始化,包括IP 设置和共享文件夹挂载,然后完成数据预处理和数据发送,对airsarship1.0 数据集中的大场景SAR 成像图片进行切片,将处理后的切片存在指定的共享目录中等待服务端处理。主机作为客户端采用多线程方案,其可以同时与两个服务端进行通信,最后,主机接收处理结果并进行展示。

TX2嵌入式平台作为服务端主要完成船只目标检测,服务端Socket 通信初始化流程主要包括以下步骤:第一步,使用socket函数建立套接字;第二步,使用bind函数对设定的IP 地址和端口号进行绑定;第三步,启动listen 函数对端口进行监听;第四步,循环运行accept函数等待客户端连接。TX2 嵌入式平台接收到客户端发送的开始命令后对切片进行处理,并将检测结果保存到指定共享文件夹内。

4 算法实现

文献[10]中提出了一种改进的YOLOv2深度学习网络,该网络在YOLOv2 网络结构的基础上添加了空洞卷积和转置卷积层,以提高对不同尺度目标的检测性能,该网络在模型复杂度和目标检测性能之间取得了平衡[11],本文基于SAR 船只目标检测系统对该网络进行了实现,并取得了较好的检测结果。

4.1 硬件环境配置

NVIDIA 官方提供的JetPack(Jetson Development Pack)开发工具套件为用户提供了可靠方便的Jetson TX2嵌入式平台环境搭建方案,JetPack4.4开发套件包含cuda10.2、cuDNN 等深度学习开发工具包,并且支持OpenCV 计算机视觉库,为深度学习网络的搭建提供了可靠的基础环境。为了成功部署改进的YOLOv2 算法,在安装JetPack4.4 开发套件的基础上,还需要配置pytorch1.4 和torchvision0.4开发环境。

SAR船只目标检测系统需要对网络连接进行设置,包括IP 地址设置和共享文件夹创建。通过千兆以太网将主机、两个嵌入式平台分别与交换机相连,并将IP 地址设为同一网段,通过ping 命令可以确认连接状态。TX2嵌入式平台端的共享文件夹创建需要安装cifs-utils包,并通过mount命令进行挂载。

4.2 实验结果

基于本文搭建的SAR 船只目标检测系统,对改进的YOLOv2 算法进行了实验,实验采用AIRSARShip-1.0 数据集,数据集和训练集的划分依据文献[5],选取21景大图作为训练集,余下10景大图作为测试集,深度学习网络训练平台采用GTX Titan Xp GPU,使用的网络框架为Pytorch。在训练过程中,将大图切为1024x1024像素尺寸大小的切片,相邻两幅图重合256*256 像素大小,同时使用图像旋转、图像翻转、按比例缩放等方式做数据增强。模型训练batchsize 设置为14,epoch 设置为64,前20 个epoch 学习率设置为0.001,后44 个epoch 学习率设置为0.0001,完成训练后在TX2 嵌入式平台部署网络并将训练好的网络权重导入TX2嵌入式平台。

参考文献[5],采用船只目标检测AP 值对网络检测精度进行衡量,AP 值计算方式如式(1)所示

其中pinterp(rn+1)计算方式如式(2)所示

其中,TP代表检测结果为真且真值为真的检测框数量,FP 代表检测结果为真但真值为假的检测框数量,FN 代表检测结果为假但真值为真的检测框数量。如式(5)所示

IOU 为检测框与标注框重合部分面积除以两者做并集部分的面积,当IOU 大于0.5 时检测成功,记为TP,当IOU 小于0.5 时认为虚警,记为FP,然后未检测出的舰船记为FN。数据集只包含船只一个类别,所以代表所有类的AP 平均值mAP 与AP 值相同。在本文提出的SAR 船只目标检测系统上进行网络部署并测试得到,船只目标检测AP值为78.73%,检测速度为1.9 FPS。

基于TX2 嵌入式平台的部分切片检测结果如图3 所示,改进后的YOLOv2 网络无论在近岸还是远海环境下都具有较好的检测性能。

主机GUI 界面如图4 所示,GUI 界面主要实现传输控制和处理流程展示,可以指定输入输出文件存储位置,并且可以对处理进度进行实时显示,返回两个TX2 嵌入式平台数据处理完成情况和总的完成时间。

5 结论

本文基于TX2 嵌入式平台设计了SAR 船只目标检测系统,该方案采用两个TX2 嵌入式平台协同工作,基于SAR 船只目标检测系统实现了改进的YOLOv2 网络,保证较高检测精度的同时,有效提高了SAR 图像船只检测速率,为解决检测速率和检测精度两者之间的矛盾提供了有效方案。同时在平台间实现了高速网络数据传输,保证了SAR 船只目标检测系统的实时性,未来将考虑在SAR 船只目标检测系统中集成更多TX2 嵌入式平台做并行数据处理,进一步提升数据处理能力。

猜你喜欢

船只嵌入式客户端
倒扣的船只
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
国产多波束系统在海上失事船只探测中的应用
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
客户端空间数据缓存策略