馬琳琳 馬建新 韓佳芳 李雅迪
摘要:近幾年,環(huán)境污染依然是人們非常關(guān)注的話題,而生活垃圾的快速收集處理,能夠有效地減少環(huán)境的污染。因此,智能垃圾收集機(jī)器人的研究與發(fā)展是非常必要的,它可以代替人們完成大量垃圾收集的工作?;诖?,研究了一種YOLOv5s目標(biāo)檢測(cè)算法,先對(duì)目標(biāo)進(jìn)行合理的標(biāo)注,接著進(jìn)行有效的算法訓(xùn)練,然后算法測(cè)試,最后得到目標(biāo)檢測(cè)算法的模型,進(jìn)而可以快速檢測(cè)識(shí)別目標(biāo)。
關(guān)鍵詞: YOLOv5s;目標(biāo)檢測(cè);目標(biāo)標(biāo)注;算法訓(xùn)練;算法測(cè)試
中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):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 引言
近幾年,我國(guó)對(duì)環(huán)境治理方面越來越重視。金山銀山不如綠水青山。人們?cè)谔岣呶镔|(zhì)生活的同時(shí),更重視生活的質(zhì)量。環(huán)境污染嚴(yán)重影響著人們的生活,甚至威脅著人們的生命。而大量的生活垃圾是目前環(huán)境污染的主要來源之一。因此,對(duì)垃圾收集分類的智能機(jī)器人是非常需要的,它可以代替人們完成大量垃圾收集分類的作業(yè)。
對(duì)于這種垃圾收集分類的機(jī)器人,核心技術(shù)是對(duì)檢測(cè)目標(biāo)進(jìn)行快速識(shí)別,然后完成收集分類[1]。這就需要設(shè)計(jì)一種目標(biāo)檢測(cè)算法,可以識(shí)別垃圾,目標(biāo)定位,然后追蹤目標(biāo),并進(jìn)行收集,整個(gè)過程完全自動(dòng)化,無須人工參與,可以運(yùn)用到景點(diǎn)、機(jī)場(chǎng)、校園、高檔餐廳等多種場(chǎng)景。因此,研究目標(biāo)檢測(cè)算法對(duì)于完成垃圾收集機(jī)器人具有重要的應(yīng)用價(jià)值。
2 YOLOv5算法原理和網(wǎng)絡(luò)結(jié)構(gòu)
2.1 YOLOv5算法
YOLOv5算法共有4種網(wǎng)絡(luò)結(jié)構(gòu),分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,這四種網(wǎng)絡(luò)結(jié)構(gòu)在寬度和深度上不同,原理上基本一樣,接下來以YOLOv5s為例介紹YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)。
YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,該結(jié)構(gòu)分為四個(gè)部分輸入端、Backbone(主干網(wǎng)絡(luò))、Neck網(wǎng)絡(luò)和Prediction(輸出端)。
各部分具有的主要功能結(jié)構(gòu)如下[2]:
輸入端:Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算,以及自適應(yīng)圖片縮放。
主干網(wǎng)絡(luò):Focus結(jié)構(gòu)、CSP結(jié)構(gòu)。
Neck網(wǎng)絡(luò):FPN+PAN結(jié)構(gòu)。
輸出端:GIOU_Loss。
2.1.1? 輸入端
(1) Mosaic數(shù)據(jù)增強(qiáng)
輸入端使用的數(shù)據(jù)增強(qiáng)方式是Mosaic方式,對(duì)數(shù)據(jù)集合采取隨機(jī)縮放、隨機(jī)剪裁、隨機(jī)排布[3]。
主要有兩個(gè)優(yōu)點(diǎn):
第一,提高了數(shù)據(jù)集的復(fù)雜度:對(duì)多張圖片,進(jìn)行隨機(jī)的縮放以及剪裁,之后再隨機(jī)分布,進(jìn)行拼接,使數(shù)據(jù)集得到極大地豐富,特別是進(jìn)行隨機(jī)縮放操作,可以增加許多小目標(biāo),訓(xùn)練得到的模型,魯棒性會(huì)更好;
第二,減少GPU內(nèi)存使用:使得Mini-batch也就是一個(gè)批次從數(shù)據(jù)集讀取進(jìn)行訓(xùn)練的圖片張數(shù),不需要設(shè)置的很大,因此,訓(xùn)練時(shí)使用一個(gè)GPU也能達(dá)到比較好的訓(xùn)練效果。
(2) 自適應(yīng)錨框計(jì)算
YOLO系列檢測(cè)算法中,針對(duì)不同目標(biāo),都會(huì)初始設(shè)定好默認(rèn)長(zhǎng)寬的錨框,進(jìn)行訓(xùn)練時(shí),在初始設(shè)定好的錨框基礎(chǔ)上,輸出一個(gè)預(yù)測(cè)框,將標(biāo)注的真實(shí)框和預(yù)測(cè)框做對(duì)比,并且計(jì)算它們的差距,之后再反向更新,迭代網(wǎng)絡(luò)結(jié)構(gòu)中的參數(shù)。在YOLOv3、YOLOv4中,訓(xùn)練不同的數(shù)據(jù)集時(shí),計(jì)算初始錨框的值是通過單獨(dú)的程序運(yùn)行的,但在YOLOv5中將此功能嵌入到算法結(jié)構(gòu)中,每次訓(xùn)練時(shí),自適應(yīng)的計(jì)算不同訓(xùn)練集中的最佳錨框值。
(3) 自適應(yīng)圖片縮放
在目標(biāo)檢測(cè)算法中,針對(duì)數(shù)據(jù)集中圖片長(zhǎng)寬一般不相同的問題,經(jīng)常是將原始圖片先縮放成一個(gè)統(tǒng)一的標(biāo)準(zhǔn)尺寸,全部處理后,再送入檢測(cè)網(wǎng)絡(luò)中,將長(zhǎng)寬800*600的圖像進(jìn)行縮放,使用黑色背景來填充,填充后會(huì)出現(xiàn)大區(qū)域的黑邊。在項(xiàng)目實(shí)際使用時(shí),圖片的長(zhǎng)寬比幾乎都不相同,因此縮放填充后,黑邊大小都不同,如果填充的比較多,則存在信息冗余,影響網(wǎng)絡(luò)推理速度[4]。