水下目标检测之数据集和数据增强方法
通过之前对yolov5的简单学习,发现yolov5的训练和调试都比较方便,因此希望将其运用到水下目标检测的任务中。那么首要任务就是寻找比较合适的数据集,考虑到水下图像数据集就少的可怜,目前我也只找到3个针对水下目标检测的数据集。
水下目标检测之数据集和数据增强方法
通过之前对yolov5的简单学习,发现yolov5的训练和调试都比较方便,因此希望将其运用到水下目标检测的任务中。那么首要任务就是寻找比较合适的数据集,考虑到水下图像数据集就少的可怜,目前我也只找到3个针对水下目标检测的数据集。
Real-world Underwater Image Enhancement(RUIE)
大连理工大学的自制数据集,论文https://arxiv.org/abs/1901.05320,数据集https://github.com/dlut-dimt/Realworld-Underwater-Image-Enhancement-RUIE-Benchmark。该数据集的UTTS文件夹有海胆和海参的水下图像共计300张图片(有一张不可用),并配有XML文件省去了标注的过程。
Aquarium(海生物数据集)
该数据集为roboflow开源数据集,采用的是但需要科学上网https://universe.roboflow.com/brad-dwyer/aquarium-combined/3,共计640张图片包括了7种海洋生物,此外数据集有做过了旋转和翻转等增强后的版本,增强后共计4670张图片,配备了yolo格式的box文件。
湛江水下目标检测大赛数据集(鹏城汇智)
2020水下目标检测算法赛https://code.ihub.org.cn/projects/1372,和RUIE的图片类似,但共有4类目标物体(海参、海胆、扇贝和海星)共计5544张图片,并配有xml文件但缺少了图片的size信息。
数据增强方法
YOLO自身搭载了masoic和mixup以及copy_paste这三种数据增强的方法,而对于水下图像还需要对图像进行除雾、明暗调整、色彩还原等操作,使得图片包含的信息更加准确。
defog除雾算法
何恺明的暗通道先验方法,论文http://kaiminghe.com/publications/cvpr09.pdf,网络上的博客总结很多,具体原理在这里不再赘述,总之暗通道算法实现的效果极佳,但计算速度相对较慢。
clahe限制对比度自适应直方图均衡化
CLAHE 限制对比度自适应直方图均衡化通常应用在医学领域,但本质上是解决亮部和暗部信息不足的问题,因此也适用于水下环境,且集成在了opencv中在YOLO的源码中也很容易被调用,位置在增强工具下的hist_equalize方法。论文https://www.cs.unc.edu/techreports/90-035.pdf。
GAN对抗神经网络
对于水下色彩还原分为两种方法,第一种是基于传统光学原理获取环境信息,通过数学计算还原出原本应有的色彩和图像,而第二种是基于对抗神经网络生成正确色彩的图像。具体可以参考这篇博客,由于基于GAN的图像增强算法是一个独立领域,在此篇不做深入展开。
还有许多对水下图像处理的方法,可以应用在数据集上进行实验,此处我只使用了前面两种,可能后面会单独补充GAN方法,具体效果如下:
原图
除雾
直方图均衡
除雾加直方图均衡