SAR舰船快速检测系统设计
2017-11-27林智莘谢超
林智莘+谢超
摘 要:文章旨在开发基于NVIDIA Jetson TX2,Qt5和OpenCV2.4的近海区域SAR图像舰船目标快速检测系统,该系统具有SAR图像载入,目标切片输出,检测结果实时显示与性能分析等功能。根据预期目标,使用Matlab实现近海区域SAR舰船目标检测基本流程,后期基于OpenCV移植到嵌入式开发平台,并使用GPU实现并行计算加速处理,使舰船目标检测速度得到提升。最后,使用Qt完成上层应用接口设计,搭建人机交互界面。
关键词:SAR;海陆分割;舰船检测;OpenCV;Qt;CUDA
中图分类号:TP393;TN957 文献标识码:A 文章编号:2095-1302(2017)11-00-02
0 引 言
舰船目标检测能够获取舰船目标的位置、大小、航向、速度和编队信息,对搜集情报、监测敌情有重大帮助。而近海区域作为重要的战略区域,地理与人文环境复杂,进出港舰船较多,更加具有检测价值。同时因近海区域气候多变,常有云层覆盖的特点,在这种情况下 SAR具有独特优势。因此开展近海区域SAR图像舰船目标检测技术的研究意義重大[1]。
1 系统设计与实现
本SAR图像舰船目标检测系统的基本流程大致包括原始图像预处理,海陆分割,舰船检测,预警虚警鉴别,结果输出,如图1所示。其中,预处理是对SAR图像进行滤波和增强,去除SAR图像固有斑点噪声的影响;海陆分割是对陆地区域进行掩膜,去除陆地带来的虚警,同时提高检测效率;目标检测是对目标和背景进行分类,进一步确定目标,剔除虚警[2,3]。通过对检测结果进行分析,确定真实目标和伪目标个数,算出预警率与虚警率。
1.1 图像预处理
成像系统获取的图像即原始图像往往受到各种因素的影响,并不能直接使用,必须在视觉信息处理的早期阶段对原始图像进行灰度校正、噪声过滤等处理。图像预处理的目的是改善图像数据,通过抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征实现[4]。本文采用基于灰度映射的图像预处理技术对图象进行预处理。
由于本文所用的原始SAR图像的位深为16位,灰度范围为0~65 535,有些灰度高的像素点对后续海陆分割与目标检测的影响很大,所以本文进行图像预处理时,对其进行灰度拉伸,将16位的图像转化成8位,灰度范围从0~65 535映射到0~255。
提取直方图,根据灰度直方图像素点的分布占总像素点的百分比设置256个阈值,再根据阈值把原始图像映射到0~255的灰度值上。效果如图2所示。
1.2 海陆分割
近海区域复杂的地形地貌给舰船检测造成了很大困难,首先陆地区域回波强,地形地貌相对复杂,码头、堤坝等人造建筑都是强散射区域,它们在灰度特征上与舰船目标接近,又由于SAR图像固有的相干噪声和低信噪比特点,在图像上,港口、堤坝的边界比较模糊,当与舰船目标距离很近时,图像上的舰船就会与码头、堤坝连在一起,此时人眼都无法准确区分,会对检测效果造成很大干扰,导致得到较高的虚警;其次,陆地区域属于干扰区域,在后续的检测过程中属于多余内容,会增加计算量,降低检测效率[3,5]。因此,有效地将陆地和海洋进行分割是近港区舰船目标检测的重要过程[6]。本文采用基于二值化及形态学处理的陆地掩膜方法进行海陆分割。
陆地区域与海洋区域在SAR图像上灰度相差很大,灰度高的为陆地,灰度低的为海洋。本文根据一个全局阈值将整幅图像进行二值化处理。选用的阈值通过自适应阈值算法得出。绘制出滑窗均值滤波后图像的灰度直方图,对直方图进行凸包检测,波谷点的灰度值即为阈值。效果如图3所示。
对图像进行膨胀处理,以消除陆地区域中某些灰度值较小的部分,如内陆湖,河流等。
对图像进行腐蚀操作。由于需要鉴别的舰船目标也属于灰度值较高的区域,在二值化过程中被分到了陆地区域。要进行海陆分割,就需要进行腐蚀操作,去除海面上小块不连续的目标,只保留陆地区域。
对图像进行再次膨胀,消除腐蚀过程中对陆地区域的影响。这样陆地区域才会被有效地分割出来,效果如图4所示。
由于陆地区域的灰度值为255,海洋区域的灰度值为0,根据形态学处理结果,将形态学处理后的图像作为掩膜,在原图上将陆地区域去掉,即可完成海陆分割,如图5所示。
1.3 舰船目标检测
本文对海陆分割后的图像做直方图凸包检测,提取波峰处横坐标获得全局阈值,然后遍历整幅图像,大于阈值的认为是目标像素,小于阈值的则认为是背景杂波。将识别后的结果做连通域处理,使用OpenCV自带的轮廓提取函数提取连续的像素点集,在预处理后的图像中画出舰船目标的外接矩形,并输出舰船目标切片,如图6所示。
2 嵌入式平台移植
本文采用NVDIA Jetson TX2作为硬件平台,TX2是一台基于NVIDIA Pascal架构的AI单模超级计算机,其搭载Linux系统,能够铸就大规模、复杂的深度学习网络,非常适合部署在机器人、无人机、智能摄像机等便携医疗设备智能终端上。TX2搭载具有16 nm工艺的Tegra Parker处理器,6核设计,其CPU部分由2个丹佛加4个A57核心共同构成,GPU则采用NVIDIA Pascal架构,拥有256 个CUDA核心,性能得到了较大提高。
由于本文在预处理过程中涉及双精度浮点型计算,对CPU的浮点运算要求较高,且图像像素点较多,CPU已无法满足快速计算的需要。因此,使用TX2的GPU对预处理过程中较为耗时的浮点运算过程作并行处理,以提高系统运行效率,大大减少系统运行时间。其核心代码如图7所示。
3 人机交互界面设计
本文在采用OpenCV和CUDA完成底层系统设计后,用Qt完成应用上层,从而实现人机交互,如图8所示。其中,“载入SAR图像”按键选取tif格式的SAR原始图像,并实时显示预处理过后的图像,实现SAR图像的动态载入工程。点击 “开始检测”按键,对图像进行海陆分割和目标检测,将检测结果实时显示出来,并提示输出目标切片。界面包含GPU、CPU可选按钮,控制是否加速处理过程,并将系统处理耗时进行实时显示。
4 系统测试结果及性能分析
本系统衡量标准分为处理时间,虚警率,预警率。处理时间包括预处理、海陆分割、目标检测三部分总的处理时间,而非系统运行时间。预警率等于检测出的目标数除以真实的目标数。而虚警率是指结果中错误个数除以检测出的目标个数。
分别对三幅不同大小的SAR近海区域图像9.tif,6.tif和test2.tif进行测试,结果见表1所列。
通过结果可以得出,本舰船目标检测系统对这三幅图片的检测率可以达到75%以上,虚警率控制在20%以下。
5 结 语
由文中实验可知,选取的图片越大,系统处理的时间也会相应越长。通过GPU对预处理部分浮点预算做并行加速处理,可大大减少处理时间。
参考文献
[1]阚瀛芝.水陆交界区域SAR图像舰船目标检测技术[D].长沙:国防科学技术大学, 2012.
[2]赵全. 基于统计模型的SAR目标恒虚警检测方法研究[D].西安:西安电子科技大学, 2012.
[3]刘瑞剑.低能见度条件下图像清晰化处理研究[D].太原: 中北大学, 2008.
[4]蔡姝, 吴宏明.基于海陆分割的舰船目标变化检测研究[J].电视技术, 2010, 34(5): 109-112.
[5]李洪忠, 王超, 张红, 等.基于海图信息的SAR影像海陆自动分割[J].遥感技术与应用, 2009,24(6): 731-736.
[6]陈琪. SAR图像港口目标提取方法研究[D].长沙: 国防科学技术大学, 2011.
[7]代丽男,韩格欣,薄纯娟.基于OpenCV的一种手势识别方法[J].物联网技术,2015,5(6):25-27.
[8]段红英. Fortran程序CUDA并行化总结[J].物联网技术,2015,5(11):92-93.endprint