
项目来源:
https://arxiv.org/abs/2102.02902
需求:
- 实现基本的海岸图片离岸流识别 。
- 在图片识别的基础上,做到海岸视频的检测识别。
- 识别速度一定要快,后期可能会应用到监控摄像头,做到实时识别。
模型
论文使用模型为FasterRCNN,基于前期船舶识别和人流检测项目的知识积累,FasterRCNN这种两段式的模型肯定无法在速度上达到需求。第一步生成候选框就要耗费非常长的时间。
所以这项工作,直接选择YOLO模型构建。数据
这篇论文提供了图片,但是他的标注格式不能够被YOLO模型识别,所以人工对其重新打了标签(大约1800张)。

打好标签的数据集缩略图:

训练
使用Pytorch构建YOLOv5模型,对数据集进行训练,考虑到数据集的好坏情况,观察到1100张往后的数据图片场景比较杂乱,这里只用了1100张图片进行训练和测试。

从TensorBoard来看,训练了将近800次,P和R已接近平稳,R有下降的趋势,所以停止训练。但是从纵坐标来看P并不高,最高可能也就70%左右。
奇怪的是论文并没有这些目标检测常用指标的验证,这样就没有直接对比了。
不过按经验来说,FasterRCNN的精准度要高于YOLO,但是其速度实在太慢了,不利于工业应用。结果
检测结果:
图片结果,图中数字代表置信度。

视频结果:
视频检测非常快,每帧检测时间在0.009s-0.01s之间。
web应用
最后构建出了供用户直接访问的浏览器接口,能够实现上传图片实时监测。
上传图片,在五秒内基本能出结果。主要时间都耗费在了加载模型,调起GPU设备的过程中,真正检测的时间很短很短。
