文章信息
- 王飞, 刘梦婷, 刘雪芹, 秦志亮, 马本俊, 郑毅. 2020.
- WANG Fei, LIU Meng-ting, LIU Xue-qin, QIN Zhi-liang, MA Ben-jun, ZHENG Yi. 2020.
- 基于YOLOv3深度学习的海雾气象条件下海上船只实时检测
- Real-time detection of marine vessels under sea fog weather conditions based on YOLOv3 deep learning
- 海洋科学, 44(8): 197-204
- Marine Sciences, 44(8): 197-204.
- http://dx.doi.org/10.11759/hykx20200106001
-
文章历史
- 收稿日期:2020-01-06
- 修回日期:2020-04-19
2. 哈尔滨工程大学 工业和信息化部 海洋信息获取与安全工信部重点实验室, 黑龙江 哈尔滨 150001;
3. 哈尔滨工程大学 水声工程学院, 黑龙江 哈尔滨 150001
2. Key Laboratory of Marine Information Acquisition and Security, Harbin Engineering University, Ministry of Industry and Information Technology, Harbin 150001, China;
3. College of Underwater Acoustic Engineering, Harbin Engineering University, Harbin 150001, China
中国海岸线较长、拥有辽阔的海域、蕴含丰富的海洋矿产资源, 由此引发其他国家的觊觎, 对中国海域进行非法侵犯。目前中国主要在海警船、渔政船安装摄像头, 通过人眼对视频目标进行识别, 实现对周围海域巡航监视, 然而检测及预警系统毫秒级延迟都会造成无法弥补的损失, 如何及时发现侵犯中国海洋主权的违法行为成为海事监测部门所面临的难题。因此必须采用自主目标识别代替传统的人眼识别, 对海域周围嫌疑目标进行精确定位与快速识别, 确定可疑目标的类型, 对其威胁度进行排序, 实现精确预警[1]。海上自然条件复杂多变, 需要排除海雾、雨水、水汽等自然因素对海上船只实时检测的影响, 目前业内没有形成系统的、高效的应对恶劣天气的海面船只识别、定位方法, 开发快速有效的海上船只实时检测系统刻不容缓。
近年来国内外学者对基于图像处理的船只目标实时识别、定位技术已经做了大量工作, 并取得了诸多成果。特别是去雾处理与目标检测算法方面, 近年来备受学者关注。主流的图像去雾[2]算法主要分为两类:基于图像增强的去雾算法[3]和基于大气散射模型的去雾算法[4]。基于图像增强的去雾算法通过解析图像自身的特点, 采用不同方式增强图像对比度, 使图像更符合人的视觉系统, 黄宇晴[5]对有雾图像采用白平衡处理和对比度增强处理, 而后对有雾图像进行图像融合和自动色阶处理, 得到去雾图像; 艾明晶[6]采用直方图均衡化增强图像的对比度达到图像去雾的目的。但图像增强算法适应性相对较广, 并不是真正意义上的去雾。基于大气散射模型的图像去雾算法, 通过分析图像退化的影响因素, 补偿雾气气象条件下图像损失来得到原图像, 使恢复的图像更加真实, 是真正意义上的去雾, 主要算法有何恺明暗通道先验去雾算法[7], 因此作者选用基于大气散射模型的暗通道先验图像去雾算法, 进行图像去雾。为了实现船只类型识别这一目标, 需要将图像去雾之后进行目标检测。目标检测是机器视觉领域内的主要研究方向之一, 随着大数据、工业智联网、互联网等技术的快速崛起, 目标检测在生产生活中的地位不断提高, 常用领域包括目标识别、目标定位、安防监控、海事维权等领域。当今目标检测主要分为两个主流研究方向, 一种是基于数字图像处理技术并结合机器学习[8]的传统目标检测算法, 另一种是基于深度卷积神经网络[9]的目标检测算法。传统的目标检测算法大体分为3个环节:首先在原始图像上生成特征提取待选区域, 而后对待选区域提取合适的目标特征, 最后通过Adaboost、SVM等分类器训练生成识别、定位模型, 对待识别图像进行图像识别检测[10], 例如基于SIFT特征光学遥感影像舰船识别系统[11]、基于Hu矩舰船目标识别系统[12]、基于HOG船只识别系统[13-14]等。传统的目标检测算法侧重提高可见光船舶目标检测的识别正确率及定位精度上, 忽视了算法的时间复杂度, 某些复杂的图片程序运行时间偏长, 不能保证系统的时效性, 使得系统的实用性偏低。深度卷积神经网络[15]不需要生成特定的特征提取候选区域, 通过多次卷积能够自主地对识别目标进行整体特征提取, 并不断训练完善自己的模型, 最终选取出最优模型。深度卷积神经网络目标识别与定位算法通常被分为两类:第一类是基于区域的目标识别、定位算法, 如CNN、R-CNN、Fast R-CNN、Faster R-CNN, 另一类是基于回归思想的目标识别与定位算法, 如SSD, YOLO。深度卷积神经网络目标识别与检测算法相比于传统算法目标检测算法在识别精度较高的前提下, 能够快速对目标进行检测, 有较高的鲁棒性[16], 系统实用性得到较大提升。
作者针对海上可见光图像存在海雾遮挡、特征难以提取、目标难以识别的问题, 采用YOLOv3与暗通道先验去雾融合处理算法, 在保证系统时效性的前提下提高了船只识别精度, 达到了实时识别的要求。
1 算法实现 1.1 清晰图像自动筛选算法作者首先对于输入图像进行图像清晰度判断, 判断图像是否有雾, 自动分类不含海雾的清晰图像与含海雾非清晰图像, 不含海雾图像直接输入深度卷积神经网络进行训练, 含有海雾的图像采用暗通道先验去雾算法得到清晰图像, 然后进行训练。特征的选取直接影响算法的时效性, 特征选取过多, 识别时间过长, 特征选取过少, 识别精度降低, 作者选取图像的亮度、图像的标准差、图像的平均梯度作为特征, 输入反向传播(back propagation, BP)神经网络进行训练, 得到清晰图像自动筛选模型, 保证了识别的准确性与时效性。
1.1.1 图像的亮度图像的亮度[17], 能够有效反映图像的明亮程度, 清晰图像亮度值偏低, 非清晰图像亮度值偏高, 因此将图像的亮度值作为特征之一, 判断图像是否清晰。将RGB图像映射到YCbCr[18]色彩空间, 其中Y代表图像色彩亮度成分, Cb蓝色浓度偏移量, Cr红色浓度偏移量, 把Y值提取出来, 清晰图像背景是海面其亮度值较小, Y值偏小, 非清晰图像由于海雾的遮挡亮度值较大, Y值偏大。因此将图像YCbCr中的Y的均值作为判断图像清晰度的特征之一。
1.1.2 图像的标准差图像的标准差[19], 能够有效反映图像灰度层次的丰富程度, 清晰海上图像层次丰富, 清晰度较好, 方差偏大; 海面含有海雾时其图像层次感较差, 清晰度较低, 方差偏小。因此将图像的标准差作为判断图像清晰度的特征之一。图像标准差公式为:
μ为图像的均值, pi为图像中值为i的像素点出现的概率。
1.1.3 图像的平均梯度图像的平均梯度指图像灰度值变化, 能够有效反映图像边缘、细节信息, 清晰的海上图像含有较多海浪具有明显的边缘、细节信息, 图像的平均梯度值偏大, 不清晰图像由于海雾的影响边缘、细节信息较少, 图像的平均梯度值偏小, 因此将图像的平均梯度作为判断图像清晰度的特征之一[20]。灰度图像的平均梯度公式如下:
I(i, j)表示图像在(i, j)坐标处的灰度值, H、W分别为图像的高宽。
1.2 暗通道去雾暗通道[21]图像即在RGB(红色、绿色、蓝色)3个通道中找出最小值, 构建一个最小值灰度图像, 再经过局部最小值滤波得到。暗通道先验去雾理论指出: Jdark→0海雾去除在计算机视觉中, 主要采用以下雾图模型: I(x)=J(x)t(x)+A(1–t(x)), 其中I(x)是待去雾原图像, J(x)是去雾图像, A是全球大气光成分, t(x)是透射率[22]。变形得:
c表示三通道, 假设每一个窗口的t(x)为一个常数记为
因为:
则有:
得:
根据实际情况, 大气中也蕴含一些颗粒, 所以将上式修正:
W一般取0.95。当t偏小时会使J(x)偏大, 导致图片的局部区域过曝, 通常设置一个阈值防止t值过小, 一般选取0.1。
YOLO[23]首先将待预测的图像归一化为模型所需要的尺寸, 通常调整为448×448像素, 而后将图像均匀分割成S×S的网格, 假定待识别目标的中心点落入某网格单元中, 则该网格单元承担该目标的识别。目标识别过程当中同时预测目标边框的位置及目标所属类别。假定待检测图像当中蕴含C类目标, 每个网格需要生成B个预测目标边框及C类目标所属类别概率P(Classi|object)(i=1, 2, …, C)。
每个预测目标边框含有5个参数(x, y, w, h, score), (x, y)为通过归一化处理的预测边框中心坐标, 代表中心点相对于网格单元的位置, (w, h)为预测边框的宽度和高度, 是相对于整幅图片的比例, score为预测目标边框的置信度评分, 此置信度包含两部分, 一部分是预测边框当中是否含有目标, 另一部分为预测目标边框与真实目标边框的交集, 反应预测目标边框位置的准确性。
score=P(object)×IOU,
P(object)表示预测目标边框中存在目标概率, 若边框中含有目标则P(object)=1, 预测目标边框的置信度评分为IOU, 边框中不包含目标则P(object)=0, 预测目标边框的置信度评分为0, IOU表示预测目标边框与目标真实边框的交集。
将预测目标边框的置信度评分与预测目标类别概率相乘, 得到每个类别的最终评分Classiscore, Classiscore反映了第i类目标中心位于相应网格的概率及预测目标边框的准确性。
Classiscore=
IOU(i=1, 2, …, C)
将Classiscore与人工设定好的阈值进行比较, 若大于设定的阈值则保留该预测目标边框, 小于设定的阈值舍弃对应的预测目标边框。最终通过非极大值抑制(NMS)挑选出最优预测目标边框, 输出图像的最优预测类别及所在位置。
综上YOLO目标识别的预测步骤为:
(1) 输入图像, 将其归一化为固定大小;
(2) 将图像划分为S×S个网格;
(3) 预测目标边框(x, y, w, h, score), 同时预测目标所属类别P(Classi|object);
(4) 对类别置信度进行评分Classiscore;
(5) 阈值比较, 大于设定阈值进行非极大值抑制, 小于舍弃目标边框;
(6) 输出预测目标边框及目标类别[24]。
1.3.2 YOLOv3YOLOv3[25]是对YOLOv2[26]进一步完善, 在保持YOLOv2检测速度的同时提高了小目标的检测识别的准确率。
YOLOv3对原始图片进行归一化操作, 将所有图片的大小初始化为416×416, 平均划分为S×S个单元格, 每个单元格有3个锚框负责预测3个边界框[27], YOLOv3分别在特征图为13×13、26×26、52×52的3个尺度上进行目标检测, 显著提高了小目标的识别率。
深度卷积神经网络对每个网格的每个边界框预测4个位置值(x, y, w, h), 其中x, y为目标框的中心坐标, w, h为目标框的宽和高, tx, ty, tw, th就是模型的预测输出。假设用(cx, cy)表示单元网格的坐标, pw、ph和表示预测前锚框的大小。bx, by, bw, bh是预测得到的锚框的中心的坐标和大小, 则修正后的边界框为:
bx= σ(tx) + cx,
by=σ(ty)+ cy,
训练模型选取误差平方和作为损失函数。锚框的真实坐标值为
YOLOv3选取新的网络结构Darknet-53[28]用于待测图片的特征提取, 该网络模仿残差网络内部结构, 在一些层中设置了快捷连接, 降低因网络加深而造成的“退化”, 优化模型训练速度及识别精度, 此外网络选用Leaky ReLU作为激活函数, 选取BN(batch normalization)方法加速收敛, 防止训练得到的预测模型过拟合。
目标识别过程中, YOLOv3分别在13×13、26×26、52×52 3个不同尺度上实行目标识别与定位。首先提取出13×13特征图, 对其进行多重卷积处理后, 代入检测层进行预测, 获得首次预测结果; 而后将13×13特征图通过上采样方法生成新的26×26特征图, 与之前卷积网络中已存的26×26特征图通过融合生成新的26×26的特征图, 对新的26×26特征图实行多重卷积计算后, 输入检测层, 获得第二次预测结果; 而后将26×26特征图进行相同的上采样, 生成新的52×52特征图, 与之前网络中已存的52×52特征图实行融合, 生成新的52×52的特征图, 将新的52×52的特征图进行多重卷积计算后, 代入检测层, 得到第三次预测结果[29]。将3次生成的预测结果经过非极大值抑制处理后输出最终的识别、定位结果。
本文识别的船只为快艇、渔船、货船3类, 首先将图片进行清晰度判断, 图片不清晰进行暗通道去雾, 而后输入到YOLOv3训练好的识别、定位模型当中, 进行目标识别与定位, 清晰图片直接代入到模型当中, 输出最终的识别结果。其识别流程如图 5所示:
2 实验结果分析为验证算法的实用性与正确性, 本实验采用的是64位Win10操作系统, 硬件配置为Intel(R)Core (TM)i5-8300H CPU @ 2.30GHz 2.30GHz, GPU型号为NVIDIA GeForce GTX 1080TI, 显存为11GB, 在Python charm平台上进行试验, 利用网络高清车载云台在青岛附近海域进行测试。对图像清晰度筛选模型进行测试, 以50张图片为测试样本, 平均每张图片的预测时间为0.032 012 s, 平均识别精度在98.2%, 能够在相对较短的时间内快速识别海雾。图 6a、6c为原图, 图 6b、6d为暗通道去雾之后的效果图, 通过对比可以得出, 暗通道去雾效果较好, 大雾去除效果明显。
训练时迭代次数的变化对于检测的精度存在一定的影响, 迭代次数太少, 无法找到最优, 识别精度降低; 迭代次数太多可能会过拟合, 因此要选取合适的迭代次数, 均值平均精度(mean average precision, mAP)[30]变化随着迭代次数的变化如表 1所示, 迭代次数为200次时, mAP最大为98.24%, 迭代为250、300时, mAP降低, 出现过拟合现象。
根据不同的阈值得到检测结果, 确定最佳阈值, 最终试验结果如表 2所示。从表 2可以看出, 随着阈值的变化mAP变化, 当阈值约为0.20时, mAP为98.34%。
对比YOLOv3与SSD、YOLOv2、传统目标检测算法进行比较。YOLOv3批尺寸设为16, 学习率设置为0.001, 阈值设为0.20, SSD、YOLOv2参数为默认参数, 传统目标检测算法选取Hu不变矩, 提取船只的7维Hu不变矩, 输入到SVM中, 训练船只识别模型, 训练样本同为1 150个样本, 测试样本为100张, 随机选取20张进行测试; 比照SSD、YOLOv2、传统目标识别、定位算法与YOLOv3的时效性、mAP, YOLOv3在识别精度与速度上明显高于SSD、YOLOv2、传统目标检测算法(表 3)。
为测试模型的泛化能力, 将算法应用于实际海况中检测, 检测结果如图 7所示。从图 7a可以得出近处检测结果正确, 图 7b含有海岛、行人等干扰物的情况下, 算法对其他海上障碍物有排他能力, 船只检测结果正确, 图 7c海雾气象条件下船只的检测结果, 图像中雾气浓度的大小无法从图片得知, 因此作者将去雾图片与原图片对比, 获得原图的信噪比, 信噪比4.209 5 dB下检测结果正确, 图 7d远处检测结果正确。
3 结论为提高在复杂海况下海上船只检测的准确性与时效性, 作者提出了一种基于YOLOv3框架的海上船只实时检测改进算法, 并取得了良好的实用效果, 概括如下:
通过提取亮度、图像的标准差、图像的平均梯度作为特征, 代入到BP神经网络, 快速对海上有无雾气做出精确判断, 减少了程序运行的时间成本。
将暗通道去雾与YOLOv3框架相结合, 将海雾成功去除掉, 避免大雾天气对于识别精度的干扰, 在保证时效性的同时, 能够准确识别海雾气象条件下的渔船、货船、快艇, 为海面船只实时识别、定位提供了一定的技术支持。
基于YOLOv3框架的海上船只实时检测改进算法对训练过程要求较高, 在不同情况下训练参数的选择对于算法影响较大, 训练集容量较大, 此算法有待进一步改进。
[1] |
赵春晖, 潘国栋. 利用MUSIC算法对舰船目标进行精确定位[J]. 弹箭与制导学报, 2001, 21(4): 5-8. Zhao Chunhui, Pan Guodong. The precise location to ships using MUSIC algorithm[J]. Journal of Projectiles, Rockets, Missiles and Guidance, 2001, 21(4): 5-8. |
[2] |
禹晶, 徐东彬, 廖庆敏. 图像去雾技术研究进展[J]. 中国图象图形学报, 2011, 16(9): 7-22. Yu Jing, Xu Dongbin, Liao Qingmin, et al. Image defogging:a survey[J]. Journal of Image & Graphics, 2011, 16(9): 7-22. |
[3] |
Wu D, Zhu Q S. The latest research progress of image dehazing[J]. Acta Automatica Sinica, 2015, 41(2): 221-239. |
[4] |
甘佳佳, 肖春霞. 结合精确大气散射图计算的图像快速去雾[J]. 中国图象图形学报, 2013, 18(5): 583-590. Gan Jiajia, Xiao Chunxia. Fast image dehazing based on accurate scattering map[J]. Journal of Image and Graphics, 2013, 18(5): 583-590. |
[5] |
Huang Y Q, Ding W R, Li H G, et al. Haze removal for UAV reconnaissance images using layered scattering model[J]. Chinese Journal of Aeronautics, 2016, 29(2): 502-511. |
[6] |
艾明晶, 戴隆忠, 曹庆华. 雾天环境下自适应图像增强去雾方法研究[J]. 计算机仿真, 2009, 26(7): 244-247. Ai Mingjing, Dai Longzhong, Cao Qinghua. A self-adaptation image enhancement method for fog elimination in foggy environment[J]. Computer Simulation, 2009, 26(7): 244-247. |
[7] |
He K M, Sun J, Tang X, et al. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011, 33(12): 2341-2353. |
[8] |
Isaza C, Anaya K, Fuentes-Silva C, et al. Dynamic set point model for driver alert state using digital image processing[J]. Multimedia Tools & Applications, 2019, 78(14): 19543-19563. |
[9] |
孙伟峰, 戴永寿, 纪永刚, 等. 高频地波雷达海上目标航迹跟踪新思路[J]. 海洋科学, 2017, 41(6): 144-149. Sun Weifeng, Dai Yongshou, Ji Yonggang, et al. New ideas for HFSWR maritime target tracking[J]. Marine Sciences, 2017, 41(6): 144-149. |
[10] |
Zhang H, Mao H, Qiu D. Feature extraction for the stored-grain insect detection system based on image recognition technology[J]. Transactions of the Chinese Society of Agricultural Engineering, 2009, 25(2): 126-130. |
[11] |
张素霞, 李元祥, 周则明, 等. 光学遥感影像舰船型号识别[J]. 上海交通大学学报, 2016, 50(9): 1415-1421. Zhang Suxia, Li Yuanxiang, Zhou Zeming, et al. Ship recognition in optical remote sensing image[J]. Journal of Shanghai Jiaotong University, 2016, 50(9): 1415-1421. |
[12] |
于吉红. 一种基于组合不变矩的新的舰船图像目标识别方法[J]. 红外, 2011, 32(9): 23-28. Yu Jihong. A new method for ship image target recognition based on combined invariant moments[J]. Infrared, 2011, 32(9): 23-28. |
[13] |
Qi S X, Ma J, Lin J, et al. Unsupervised ship detection based on saliency and S-HOG descriptor from optical satellite images[J]. IEEE Geoscience & Remote Sensing Letters, 2015, 12(7): 1451-1455. |
[14] |
Eum H, Bae J, Yoon C, et al. Ship detection using edge-based segmentation and histogram of oriented gradient with ship size ratio[J]. International Journal of Fuzzy Logic and Intelligent Systems, 2015, 15(4): 251-259. |
[15] |
Xin M Y, Wang Y. Research on image classification model based on deep convolution neural network[J]. EURASIP Journal on Image and Video Processing, 2019, 2019(1): 1. |
[16] |
Zhang Y J, Wang J, Yang X. Real-time vehicle detection and tracking in video based on faster R-CNN[J]. Journal of Physics:Conference Series, 2017, 887(1): 012068. |
[17] |
Wu Y. Adaptive image enhancement algorithm based on bi-histogram equalization[J]. Computer Engineering, 2011, 37(4): 244-245. |
[18] |
卢官明, 郎苏娟. 基于YCbCr颜色空间的背景建模及运动目标检测[J]. 南京邮电大学学报(自然科学版), 2010, 29(6): 17-22. Lu Guanming, Lang Sujuan. Background modeling and moving object detection based on YCbCr color space[J]. Journal of Nanjing University of Posts & Telecommu-nications, 2010, 29(6): 17-22. |
[19] |
高连如, 张兵, 张霞, 等. 基于局部标准差的遥感图像噪声评估方法研究[J]. 遥感学报, 2007, 12(2): 59-66. Gao Lianru, Zhang Bing, Zhang Xia, et al. Study on the method for estimating the noise in remote sensing images based on local standard deviations[J]. Journal of Remote Sensing, 2007, 12(2): 59-66. |
[20] |
Ye X, He W, Chen H, et al. The characteristics of region gradient for image inpainting[J]. Multimedia and Signal Processing, 2012, 346(1): 129-136. |
[21] |
Jiang J G, Hou T F, Qi M B. Improved algorithm on image haze removal using dark channel prior[J]. Journal of Circuits & Systems, 2011, 16(2): 7-12. |
[22] |
李宏顺, 刘伟. 用于卫星遥感大气订正的一种辐射强度算法(Ⅰ)[J]. 华中科技大学学报(自然科学版), 2005, 33(2): 5-7. Li Hongshun, Liu Wei. An algorithm for radiative intensity in atmospheric correction of remote sensing(Ⅰ)[J]. Journal of Huazhong University of Science and Technology, 2005, 33(2): 5-7. |
[23] |
Zi B, Yin Z, Li Y, et al. Fast mobile component location method for cable-driven parallel robots based on YOLO model[J]. Journal of Mechanical Engineering, 2019, 55(3): 64-72. |
[24] |
马啸, 邵利民, 金鑫, 等. 改进的YOLO模型及其在舰船目标识别中的应用[J]. 电讯技术, 2019, 59(8): 869-874. Ma Xiao, Shao Limin, Jin Xin, et al. Improved YOLO model and its application in ship target recognition[J]. Telecommunication Engineering, 2019, 59(8): 869-874. |
[25] |
Zhang X, Yang W, Tang X L, et al. A fast learning method for accurate and robust lane detection using two-stage feature extraction with YOLO v3.[J]. Sensors, 2018, 18(12): 4308. |
[26] |
Xue Y, Huang N, Tu S, et al. Immature mango detection based on improved YOLOv2[J]. Nongye Gongcheng Xuebao/Transactions of the Chinese Society of Agricultural Engineering, 2018, 34(7): 173-179. |
[27] |
张富凯, 杨峰, 李策. 基于改进YOLOv3的快速车辆检测方法[J]. 计算机工程与应用, 2019, 55(2): 12-20. Zhang Fukai, Yang Feng, Li Ce. Fast vehicle detection method based on improved YOLOv3[J]. Computer En-gineering and Applications, 2019, 55(2): 12-20. |
[28] |
刘博, 王胜正, 赵建森, 等. 基于Darknet网络和YOLOv3算法的船舶跟踪识别[J]. 计算机应用, 2019, 36(6): 1663-1668. Liu Bo, Wang Shengzheng, Zhao Jiansen, et al. Ship tracking and recognition based on darknet network and YOLOv3 algorithm[J]. Journal of Computer Applications, 2019, 36(6): 1663-1668. |
[29] |
Liu Y Y, Wang J, Mao R. Environment perception technology of unmanned ground vehicles[J]. Journal of Terahertz Science & Electronic Information Technology, 2015, 13(5): 810-815. |
[30] |
Everingham M, Gool L, Winn J, et al. The pascal visual object classes (VOC) challenge[J]. International Journal of Computer Vision, 2010, 88(2): 303-338. |