馬琳琳 馬建新 韓佳芳 李雅迪



摘要:近幾年,環境污染依然是人們非常關注的話題,而生活垃圾的快速收集處理,能夠有效地減少環境的污染。因此,智能垃圾收集機器人的研究與發展是非常必要的,它可以代替人們完成大量垃圾收集的工作。基于此,研究了一種YOLOv5s目標檢測算法,先對目標進行合理的標注,接著進行有效的算法訓練,然后算法測試,最后得到目標檢測算法的模型,進而可以快速檢測識別目標。
關鍵詞: YOLOv5s;目標檢測;目標標注;算法訓練;算法測試
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)23-0100-04
Abstract:In recent years, environmental pollution is still a topic of great concern. It is necessary to collect and treat domestic waste quickly, which can effectively reduce environmental pollution. Therefore, the research and development of intelligent garbage collection robot is very necessary, it can replace people to complete a lot of garbage collection work. Based on this, a yolov5s target detection algorithm is studied. Firstly, the target is labeled reasonably, then the algorithm is trained effectively, and then the algorithm is tested. Finally, the model of the target detection algorithm is obtained, and then the target can be detected and recognized quickly.
Key words:YOLOv5s; target detection; target labeling; algorithm training; algorithm testing
1 引言
近幾年,我國對環境治理方面越來越重視。金山銀山不如綠水青山。人們在提高物質生活的同時,更重視生活的質量。環境污染嚴重影響著人們的生活,甚至威脅著人們的生命。而大量的生活垃圾是目前環境污染的主要來源之一。因此,對垃圾收集分類的智能機器人是非常需要的,它可以代替人們完成大量垃圾收集分類的作業。
對于這種垃圾收集分類的機器人,核心技術是對檢測目標進行快速識別,然后完成收集分類[1]。這就需要設計一種目標檢測算法,可以識別垃圾,目標定位,然后追蹤目標,并進行收集,整個過程完全自動化,無須人工參與,可以運用到景點、機場、校園、高檔餐廳等多種場景。因此,研究目標檢測算法對于完成垃圾收集機器人具有重要的應用價值。
2 YOLOv5算法原理和網絡結構
2.1 YOLOv5算法
YOLOv5算法共有4種網絡結構,分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,這四種網絡結構在寬度和深度上不同,原理上基本一樣,接下來以YOLOv5s為例介紹YOLOv5網絡結構。
YOLOv5s的網絡結構如圖1所示,該結構分為四個部分輸入端、Backbone(主干網絡)、Neck網絡和Prediction(輸出端)。
各部分具有的主要功能結構如下[2]:
輸入端:Mosaic數據增強、自適應錨框計算,以及自適應圖片縮放。
主干網絡:Focus結構、CSP結構。
Neck網絡:FPN+PAN結構。
輸出端:GIOU_Loss。
2.1.1? 輸入端
(1) Mosaic數據增強
輸入端使用的數據增強方式是Mosaic方式,對數據集合采取隨機縮放、隨機剪裁、隨機排布[3]。
主要有兩個優點:
第一,提高了數據集的復雜度:對多張圖片,進行隨機的縮放以及剪裁,之后再隨機分布,進行拼接,使數據集得到極大地豐富,特別是進行隨機縮放操作,可以增加許多小目標,訓練得到的模型,魯棒性會更好;
第二,減少GPU內存使用:使得Mini-batch也就是一個批次從數據集讀取進行訓練的圖片張數,不需要設置的很大,因此,訓練時使用一個GPU也能達到比較好的訓練效果。
(2) 自適應錨框計算
YOLO系列檢測算法中,針對不同目標,都會初始設定好默認長寬的錨框,進行訓練時,在初始設定好的錨框基礎上,輸出一個預測框,將標注的真實框和預測框做對比,并且計算它們的差距,之后再反向更新,迭代網絡結構中的參數。在YOLOv3、YOLOv4中,訓練不同的數據集時,計算初始錨框的值是通過單獨的程序運行的,但在YOLOv5中將此功能嵌入到算法結構中,每次訓練時,自適應的計算不同訓練集中的最佳錨框值。
(3) 自適應圖片縮放
在目標檢測算法中,針對數據集中圖片長寬一般不相同的問題,經常是將原始圖片先縮放成一個統一的標準尺寸,全部處理后,再送入檢測網絡中,將長寬800*600的圖像進行縮放,使用黑色背景來填充,填充后會出現大區域的黑邊。在項目實際使用時,圖片的長寬比幾乎都不相同,因此縮放填充后,黑邊大小都不同,如果填充的比較多,則存在信息冗余,影響網絡推理速度[4]。