李嘉俊 曹文鵬 王睿恒 李偉嘉 郭懷睦
摘 要:目前近海洋垃圾打撈遠海主要人工打撈,有著人工效率低、大型水面清理機械無法清理,人工作業風險大的問題,文章提出了基于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