• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于YOLOV4的智能垃圾分類回收機器人

      2021-05-04 11:11:54王偉杰姚建濤張敏燕
      智能計算機與應(yīng)用 2021年11期
      關(guān)鍵詞:樹莓插座攝像頭

      王偉杰,姚建濤,張敏燕,王 敏

      (四川工商學(xué)院 計算機學(xué)院,成都 611745)

      0 引 言

      隨著國家對環(huán)境問題的重視,以及環(huán)保意識逐漸深入人心,垃圾分類的理念也逐漸步入人們的視野。然而對于垃圾分類存在的問題,也急需得到解決。目前市面上清理垃圾的機器人主要分為兩類:一是家用的掃地機器人,二是大型的垃圾分揀機器人。前者依靠紅外線或者超聲波進(jìn)行避障和充電,只能清掃垃圾,沒有分類功能;后者成本太高,只適用于大型的垃圾回收站?;谶@些問題,本文設(shè)計完成了一款基于圖像識別的垃圾回收和計算機視覺智能充電機器人,既能識別和分類回收垃圾,智能避障,也能實現(xiàn)自動充電。

      1 現(xiàn)狀

      由于人們對環(huán)境問題越來越重視,盡快解決垃圾分類的話題已被提到議事日程。國家為解決環(huán)境問題頒布了一些法律支持,上海市已于2019年1月31日率先通過了《上海市生活垃圾管理條例》,垃圾分類第一次被寫入法律。目前中國的垃圾分類回收處理主要面臨如下問題:前期垃圾分類阻力大、中期垃圾分類處置不合理、后期生活垃圾處理不夠科學(xué)[1]。中國的全民垃圾分類目前還處于推廣階段,居民垃圾分類意識不強,很多城市依然采用混合收集方式,這給垃圾處理的中期和后期帶來不便。垃圾處理的中期是垃圾中轉(zhuǎn)站對垃圾進(jìn)行進(jìn)一步分類,大部分地區(qū)沒有出臺強制性的垃圾分類政策,一部分地區(qū)的垃圾中轉(zhuǎn)站并沒有對回收的垃圾進(jìn)行分類和再利用。國內(nèi)市場上還沒有一款針對前期垃圾分類的智能產(chǎn)品,垃圾分類依然需要居民手動分類。

      人們生活水平的提高,生活垃圾種類也在不斷增加,但市場上還沒有適用于家庭和公共場所的人工智能垃圾回收機器人。目前國內(nèi)市場上垃圾清理機器人技術(shù)主要有:激光雷達(dá)的傳輸和感應(yīng)技術(shù),通過光的折射或者反射對不同的垃圾進(jìn)行數(shù)據(jù)的返回,根據(jù)射程的距離來實現(xiàn)垃圾分類。而人工智能的出現(xiàn)在增加傳統(tǒng)掃地機器人功能的同時,也打破了機器人依靠多個傳感器才能運行的傳統(tǒng)模式。

      2 系統(tǒng)設(shè)計

      2.1 功能設(shè)計

      經(jīng)調(diào)研分析,智能垃圾分類機器人的主要功能包括以下幾部分:

      (1)垃圾識別。機器人會將視覺信息通過樹莓派發(fā)送給服務(wù)器,GPU服務(wù)器會將處理后的目標(biāo)信息(包括垃圾的類型和位置)返回給機器人。

      (2)拾取垃圾并分類。樹莓派會根據(jù)服務(wù)器返回的目標(biāo)信息執(zhí)行相應(yīng)的命令控制機械臂夾取垃圾,并將其放入到相應(yīng)的垃圾桶中。

      (3)智能充電。當(dāng)機器人的電量低于一定的值時,機器人將會通過攝像頭自動檢測周圍是否有插座,當(dāng)識別到插座時,機器人會通過機械臂將充電插頭插入到插座中。

      2.2 硬件設(shè)計

      系統(tǒng)用到的硬件設(shè)備主要包含:攝像頭、機械臂(含機械臂驅(qū)動模塊)、電機(含電機驅(qū)動塊)、樹莓派、電池、底座(含履帶)等。硬件結(jié)構(gòu)如圖1所示。

      圖1 硬件結(jié)構(gòu)圖Fig.1 Hardware structure diagram

      其中:攝像頭采用的是1080p高清usb工業(yè)攝像頭;機械臂驅(qū)動模塊采用插卡式設(shè)計,系統(tǒng)采用STM32控制板,支持PC圖形化、代碼編程以及脫機運行,提供正運動學(xué)分析和逆運動學(xué)分析;電機驅(qū)動模塊開關(guān)頻率高,可有效避免調(diào)試電機頻率低帶來的問題;樹莓派使用的是Raspberry pi 3 Model B+,板卡配備64位的1.4GHz四核ARM Cortex-A53處理器,該設(shè)備的雙頻無線局域網(wǎng)具有模塊化的兼容性;系統(tǒng)使用鋁電池,主要為機械臂舵機、小車電機、以及樹莓派供電;電機型號為985低速版,額定轉(zhuǎn)速為12 V 3 000 r/min;機械臂由合金機械爪、6個數(shù)字舵機(包含3個防燒防堵轉(zhuǎn)舵機)、全金屬旋轉(zhuǎn)底盤以及若干鋁合金支架構(gòu)成。

      2.3 軟件架構(gòu)

      軟件架構(gòu)如圖3所示。它主要有二種模式,即垃圾識別分類模式和智能充電模式,默認(rèn)模式為垃圾識別分類模式。通過將攝像頭獲取的視覺信息傳輸給樹莓派,再由樹莓派傳輸給系統(tǒng)后端,后端GPU服務(wù)器將會對該視覺信息進(jìn)行處理,并將目標(biāo)的位置信息和類別信息傳輸給樹莓派。樹莓派執(zhí)行相應(yīng)指令,調(diào)整攝像頭的位置(攝像頭在機械臂上),同時驅(qū)動電機靠近目標(biāo),直到調(diào)整到合適的位置,樹莓派才會給機械臂驅(qū)動模塊發(fā)送夾取的命令,機械臂根據(jù)對應(yīng)目標(biāo)類別信息放入到自帶的對應(yīng)垃圾桶中。并且會再次判斷目標(biāo)是否夾取成功,若失敗將再次調(diào)整機器人與目標(biāo)之間的位置。如果多次夾取失敗,樹莓派會將其相關(guān)信息發(fā)送給服務(wù)器,研究人員會對其進(jìn)行分析和做相關(guān)處理。

      智能充電的原理與垃圾識別分類的原理相似。當(dāng)電池電量下降到相應(yīng)值時(第一閾值),樹莓派自動將模式切換為智能充電模式。該模式下機器人會自動尋找插座,當(dāng)機器人識別到插座時,樹莓派會執(zhí)行相應(yīng)命令調(diào)整攝像頭,并驅(qū)動電機靠近插座,機械臂再將機器人充電器夾起,并調(diào)整機械臂位置,直到充電器插入插座。樹莓派會判斷該插座是否有電,如無電,則取出充電器尋找其他的插座。若電量低于第二閾值時,此時機器人的電量已經(jīng)不夠其完成自動充電,機器人會停留在原地給后端發(fā)送位置坐標(biāo),以便相關(guān)人員能夠找到。軟件邏輯關(guān)系如圖2所示。

      圖2 軟件邏輯圖Fig.2 Software logic diagram

      2.4 算法設(shè)計

      2.4.1 Yolov4目標(biāo)檢測算法概述

      Yolov4[2]是Yolov3[3]的改進(jìn)版,無論在精度還是速度上Yolov4都碾壓了Yolov3。YoLov4原文作者在論文中提到,在進(jìn)行bounding box regression時,傳統(tǒng)的目標(biāo)檢測算法(如Yolov3)都是根據(jù)預(yù)測框和真實框的中心點坐標(biāo),以及寬高信息設(shè)定MSE(均方誤差)損失函數(shù),Yolov3的總損失函數(shù)公式如式(1):

      MSE損失函數(shù)包括3個部分:即預(yù)測框的位置損失、預(yù)測框預(yù)測的類別損失和預(yù)測框置信度損失。MSE損失函數(shù)將檢測框中心點坐標(biāo)和寬高等信息作為獨立的變量對待,但實際上這些信息之間是有聯(lián)系的。因此,Yolov4的作者將MSE替換為CIOU(Complete-IoU)。CIOU考慮到3個幾何因素,即重疊面積、中心點距離和長寬比。CIoU的懲罰項是在DIoU的懲罰項基礎(chǔ)上加了影響因子α和ν,這個因子把預(yù)測框長寬比擬合目標(biāo)框的長寬比考慮進(jìn)去。其中α是用做trade-off的參數(shù),v是用來衡量長寬比一致性的參數(shù)[4],具體公式如式(2)、式(3):

      其中,ωgt和hgt為真實框的寬和高,ω和h為預(yù)測框的寬和高。如果真實框和預(yù)測框的寬和高一樣,則v為0,即該懲罰項失效。其次Yolov4將DarknetConv2D的激活函數(shù)由ReLU修改成了Mish,如公式(4):

      相比ReLU激活函數(shù),Mish激活函數(shù)的輸出更為平滑,而平滑的激活函數(shù)可以讓更好的信息進(jìn)入神經(jīng)網(wǎng)絡(luò),從而使模型得到更好的泛化能力,避免過擬合。其次,是將resblock_body的結(jié)構(gòu)進(jìn)行了修改,運用了CSPnet結(jié)構(gòu)。運用這種結(jié)構(gòu)的作用是在降低計算量的同時增加模型的精準(zhǔn)度,CSPnet結(jié)構(gòu)如圖3所示。

      圖3 CSPnet結(jié)構(gòu)Fig.3 CSPnet structure

      Yolov4采用了PANet(用于實例分割的路徑聚合網(wǎng)絡(luò))[5]的結(jié)構(gòu),將低層與高層的特征進(jìn)行融合,提高目標(biāo)檢測的精度,尤其是對小目標(biāo)識別的精度。PANet總體上是Mask-Rcnn的改進(jìn)版[6],整體思路為提高信息流在網(wǎng)絡(luò)中的傳輸速度。其主要在3方面進(jìn)行了改進(jìn):

      (1)提出了Bottom-up Path Augmentation,它能提高底層特征信息的利用率,加快底層特征信息的傳輸效率;

      (2)提出了Adaptive Feature Pooling,在提高特征提取速度的同時也保證了特性信息的利用率;

      (3)提出了Fully-connected Fusion,提高了mask的生成質(zhì)量。

      為解決小目標(biāo)檢測準(zhǔn)確度低的問題,Yolov4作者在其算法中引入了馬賽克數(shù)據(jù)增強算法。其原理是從數(shù)據(jù)集中每次讀取4張圖片,然后對這4張圖片進(jìn)行翻轉(zhuǎn)、縮放、色域變化等,如圖4所示。最后將其組合在一起,如圖5所示。

      圖4 圖片的翻轉(zhuǎn)、縮放、色域變化Fig.4 Flip,zoom,gamut change

      圖5 圖片的拼接結(jié)果Fig.5 The Mosaic result of the picture

      2.4.2 目標(biāo)檢測實現(xiàn)

      本文基于Yolov4實現(xiàn)目標(biāo)檢測,Yolo Head會根據(jù)前面提取的特征層進(jìn)行預(yù)測,不斷調(diào)整先驗框的大小和位置,使其生成最后的預(yù)測框。經(jīng)過主干網(wǎng)絡(luò)的特征提取,可以得到shape為(N,52,52,255)、(N,26,26,255)和(N,13,13,255)的特征層,而每個特征層上會有3個預(yù)設(shè)好的anchor box,總共會聚類9個anchor box。對于輸入圖片為416x416時,在13x13的特征圖中由于其感受野最廣,適合檢測大目標(biāo),所以分配最大的anchor box,即(116x90)、(156x198)、(373x326)。在26x26的特征圖中,它的感受野處于中等水平,適合檢測中等大小的目標(biāo),所以分配中等大的anchor box,即(30x61),(62x45),(59x119)。在52x52的特征圖中,感受野最小,適合檢測小目標(biāo),所以分配最小的anchor box,即(10x13),(16x30),(33x23)。邊框預(yù)測公式為式(5)~式(8):

      通過上面的公式可以得到邊界框相對于特征映射的位置和大小,但網(wǎng)絡(luò)實際學(xué)習(xí)的目標(biāo)是tx、ty、tw、th這4個參數(shù)。由于Yolov4的輸出是一個卷積特征圖,其中包含了特征圖深度的邊界框?qū)傩?,而邊界框的屬性又由彼此堆疊的單元格測出,這種格式對輸出值的處理很不方便。

      其中tx和ty是預(yù)測的坐標(biāo)偏移值,tw和th是尺度縮放,根據(jù)前面的公式可以求出真實的預(yù)測框坐標(biāo)。求tx,ty,tw,th的公式如式(9)~式(12):

      每張?zhí)卣鲌D上有3個先驗框,具體哪個先驗框預(yù)測目標(biāo),需要在訓(xùn)練中確定,即由IOU最大的先驗框來預(yù)測,而其余的兩個先驗框不會和ground truth匹配。最后根據(jù)得到的tx,ty,tw,th來對先驗框進(jìn)行微調(diào),使其與ground truth重合,得到最后的預(yù)測框。

      3 實驗結(jié)果與分析

      3.1 數(shù)據(jù)集制作

      首先收集圖片,使用Python程序?qū)⑺袌D片重命名,使用Labelimg給每個圖片的object打上標(biāo)簽,生成的目標(biāo)信息保存于對應(yīng)的”.XML”文件里。本研究采用的是VOC格式的數(shù)據(jù)集,訓(xùn)練前將“.jpg”文件放在VOC2007文件夾中的JPEGlmages目錄,標(biāo)簽文件放在VOC2007中的Annotation目錄中。在VOC2007目錄中運行test.py,會生成4個.txt文件,即train.txt、val.txt、test.txt和trainval.txt。修改voc_label.py中的相關(guān)參數(shù)(sets和classess)的值,然后運行該代碼,會生成3個文件2007_train.txt、2007_val.txt、2007_test.txt,并在VOC2007中生成一個labels文件夾。

      3.2 訓(xùn)練神經(jīng)網(wǎng)絡(luò)

      上述生成的labels文件夾中txt文件,是訓(xùn)練真正用到的數(shù)據(jù)集,其中存放每張圖片的絕對路徑和真實框的位置。訓(xùn)練的命令也比較簡單:./darknet detector train cfg/obj.data cfg/yolo-obj.cfg yolov4.conv.137。當(dāng)神經(jīng)網(wǎng)絡(luò)的loss值幾乎不變時,則可停止訓(xùn)練。

      3.3 結(jié)果分析

      實驗使用2 500張圖片來測試模型的精度,具體數(shù)據(jù)見表1。

      表1 模型測試精度表Tab.1 Model test accuracy table

      從表中可以看出,模型對插座的識別精度最高,對干垃圾的識別精度最低。可能是選取干垃圾的訓(xùn)練圖片特征不太明顯或圖片量太少而導(dǎo)致模型對該類別的收斂不及其它類別。因此,可以尋找特征更為明顯的干垃圾圖片,加入到訓(xùn)練集中,這樣其識別精度應(yīng)該會有所提高。另外,本模型的平均精度為86.06%,能識別的垃圾種類很少,離理想的模型還是有一定的距離,需擴充訓(xùn)練集圖片的數(shù)量和種類,優(yōu)化識別算法,使模型更加完善。

      4 結(jié)束語

      本研究是基于Yolov4目標(biāo)檢測算法,將圖像信息傳輸給樹莓派,再由樹莓派傳輸給服務(wù)器,服務(wù)器會根據(jù)相應(yīng)算法進(jìn)行處理后,將處理的數(shù)據(jù)傳回到樹莓派中。機器人通過芯片的返回數(shù)據(jù)執(zhí)行相應(yīng)的操作,將垃圾進(jìn)行分類。自動充電和自動避障也是相同的原理來實現(xiàn)的。該機器人獲取外界信息靠的是攝像頭,而非各種傳感器,這種設(shè)計不僅能減輕機器人的質(zhì)量,提升機器人的靈活性,也大大減少了使用其它傳感器產(chǎn)生的費用。

      猜你喜歡
      樹莓插座攝像頭
      ◆ 開關(guān)、插座
      浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
      攝像頭連接器可提供360°視角圖像
      基于樹莓派的騎行智能頭盔設(shè)計
      電子制作(2019年11期)2019-07-04 00:34:32
      基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計
      電子制作(2017年17期)2017-12-18 06:40:43
      立式旋轉(zhuǎn)插座
      響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
      中國釀造(2016年12期)2016-03-01 03:08:19
      奔馳360°攝像頭系統(tǒng)介紹
      開關(guān)、插座
      u 開關(guān)、插座
      遂溪县| 华宁县| 卢龙县| 天长市| 和硕县| 临西县| 富民县| 大名县| 南涧| 安达市| 漳平市| 肇庆市| 犍为县| 镇宁| 溧阳市| 唐河县| 连南| 邛崃市| 昭平县| 锦州市| 营山县| 淮安市| 桂东县| 广水市| 论坛| 榆社县| 同心县| 太谷县| 新巴尔虎右旗| 博兴县| 宜兴市| 乌兰察布市| 高淳县| 郓城县| 芒康县| 金川县| 班戈县| 长春市| 无锡市| 金坛市| 元朗区|