李嘉俊 曹文鹏 王睿恒 李伟嘉 郭怀睦
摘 要:目前近海洋垃圾打捞远海主要人工打捞,有着人工效率低、大型水面清理机械无法清理,人工作业风险大的问题,文章提出了基于YOLO V5的垃圾自动检测。首先,在近海面拍摄漂浮物图像并转化为HSV模型;接下来,检测垃圾特征;最后,对比数据库输出结果。结果显示:该方法能够有效完成在近海海洋识别漂浮物。
关键词:YOLO V5、RGB颜色空间、HSV 颜色空间
捕捉可疑漂浮物区域
在YOLO V5算法中导入YOLO V5中超参数配置文件,加入augment_hsv函数,它能够返回调整之后的图片,而不直接覆盖输入图片。
def augment_hsv(img, hgain=0.5, sgain=0.5, vgain=0.5):
r = np.random.uniform(-1, 1, 3) * [hgain, sgain, vgain] + 1 # random gains
hue, sat, val = cv2.split(cv2.cvtColor(img, cv2.COLOR_BGR2HSV))
dtype = img.dtype # uint8
x = np.arange(0, 256, dtype=np.int16)
lut_hue = ((x * r[0]) % 180).astype(dtype)
lut_sat = np.clip(x * r[1], 0, 255).astype(dtype)
lut_val = np.clip(x * r[2], 0, 255).astype(dtype)
img_hsv = cv2.merge((cv2.LUT(hue, lut_hue), cv2.LUT(sat, lut_sat), cv2.LUT(val, lut_val))).astype(dtype)
img_hsv = cv2.cvtColor(img_hsv, cv2.COLOR_HSV2BGR)
return img_hsv
近海面的背景环境存在诸多干扰项,除了有漂浮物,还有天空的倒影、漂浮物的倒影、泡沫等,存在许多颜色近似的干扰项,影响了海面漂浮物识别。因此必须采取方法把近似干扰项排除。通过把对象有RGB颜色空间转换为HSV 颜色空间,像人眼分析物体色度、饱和度、明亮值,正确提取漂浮物区域。
2.改进对小目标和邻近目标检测效果与轻量化设计
在近海洋海面上,因为季风、洋流的原因,靠近海岸侧垃圾相对集中,易于识别。但是随着离海岸距离的增加,垃圾分布逐渐稀松,一些较小的垃圾提取出来像素偏小,识别难度上升。
通过引入 CIOU边框回归损失函数来提高回归框准确率;针对低功耗移动设备终端的部署,以YOLO V5目标检测算法为基础 ,结合 MobileNetV3的特征提取网络 ,轻量化算法。
3.区分海域与海岸
利用视觉算法处理视频帧图像的目的是提取疑似垃圾区域。海面视频帧图像往往会包含海面区域和岸上区域。如果对整帧图像进行视觉计算处理,会大大增加计算量,延长处理时间,不利于满足实时性要求。 因此,有必要采取海岸线检测技术,它既能有效地降低图像处理的负担,又不会丢弃图像的有效信息, 是高效提取疑似海面垃圾区域的重要保证。 海岸线是对图像中海面区域和岸上区域进行分割的良好分界线。 海岸线检测技术采用的方法是先对图像进行边缘检测,生成一张带有图像中所有边缘信息的二值图像, 接着采用霍夫变换对生成的二值图像进行特定形状边缘信息的提取, 提取出来的特定形状的边缘信息即为所求的水岸线边缘轮廓。 最终,利用 水岸线边缘轮廓对图像中海面区域和岸上区域进行分割。
参考文献
[1]罗文俊,黄培灿,杨悦,陈耀锋.基于机器视觉的湖面垃圾识别算法设计[J].工业控制计算机,2021,34(01):77-78+127.
[2]王铭杰.基于YOLO V3的垃圾自动定位及分类方法[J].无线互联科技,2019,16(20):110-112.
[3]CSDN博主「昌山小屋」玩轉yolov5请看代码之augment_hsvhttps://blog.csdn.net/ChuiGeDaQiQiu/article/details/113057867