孟度金 唐陽(yáng)山
關(guān)鍵詞:交通標(biāo)志;目標(biāo)檢測(cè);聯(lián)邦學(xué)習(xí);YOLOv5;FATE
中圖分類號(hào):G391.4 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)21-0010-05
0 引言
發(fā)展至今,將交通系統(tǒng)與物聯(lián)網(wǎng)、分布式框架以及人工智能等技術(shù)相結(jié)合以保證人們?nèi)粘3鲂械陌踩透咝?。由此生成的智能駕駛正是其中極為重要的一環(huán)。智能駕駛依靠的即是對(duì)數(shù)據(jù)的快速處理和高效的運(yùn)算,但在網(wǎng)絡(luò)環(huán)境良好且車輛停駛的情況下,也會(huì)造成巨大的算力浪費(fèi)。如何有效地利用起車載設(shè)備的計(jì)算資源,避免其過(guò)多的浪費(fèi)。同時(shí)為用戶提供更多的數(shù)據(jù)保護(hù),是當(dāng)前許多汽車廠商需要面對(duì)的問(wèn)題。交通標(biāo)志是交通領(lǐng)域必不可少的存在。其中主標(biāo)志和輔助標(biāo)志更是相輔相成。交通標(biāo)志的檢測(cè)與識(shí)別在智能駕駛的過(guò)程中承擔(dān)著極大的作用[1]。隨著近年來(lái)深度學(xué)習(xí)的興起和發(fā)展,交通標(biāo)志的識(shí)別也由傳統(tǒng)的手動(dòng)設(shè)置特征轉(zhuǎn)向了神經(jīng)網(wǎng)絡(luò)對(duì)特征的自動(dòng)學(xué)習(xí)。但基于深度學(xué)習(xí)的交通標(biāo)志識(shí)別大多針對(duì)的是常見的主標(biāo)志中的警告標(biāo)志、禁令標(biāo)志和指示標(biāo)志,而在輔助交通標(biāo)志的檢測(cè)與識(shí)別則缺乏關(guān)注與應(yīng)用。并且在不同的地區(qū),其交通標(biāo)志的種類、數(shù)量、類型等各有不同,而常見的交通標(biāo)志識(shí)別只能針對(duì)特定的擁有大量數(shù)據(jù)的交通標(biāo)志做出識(shí)別。與此同時(shí)在霧霾等光線受影響的天氣時(shí),大多數(shù)模型因缺少訓(xùn)練數(shù)據(jù)而魯棒性較差。由此在車載設(shè)備進(jìn)行在線學(xué)習(xí)且不經(jīng)過(guò)二次數(shù)據(jù)傳輸?shù)那闆r下,將車輛本身獲取的數(shù)據(jù)進(jìn)行靈活的運(yùn)用,這對(duì)廠商和用戶本身具有重大的意義。
為解決以上問(wèn)題,本文提出一種基于聯(lián)邦學(xué)習(xí)[2]的交通標(biāo)志識(shí)別網(wǎng)絡(luò)。該網(wǎng)絡(luò)的主要?jiǎng)?chuàng)新為調(diào)整聯(lián)邦學(xué)習(xí)框架部分,在此基礎(chǔ)上創(chuàng)建并改進(jìn)框架內(nèi)的模型模塊、訓(xùn)練模塊,縮短其每輪次的訓(xùn)練時(shí)間,同時(shí)減少模型的參數(shù)結(jié)構(gòu)并提高其精度,使其整體更加輕量化,增強(qiáng)其整體的泛化性能。
1 相關(guān)工作
1.1 交通標(biāo)志識(shí)別
關(guān)于交通標(biāo)志的識(shí)別可以大概概括為三類:傳統(tǒng)方法、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)[3]。在傳統(tǒng)方法中,主要是使用顏色空間、顏色閾值分割、霍爾變換、類特征檢測(cè)、模板匹配等方法來(lái)直接進(jìn)行交通標(biāo)志的識(shí)別。算法簡(jiǎn)單、魯棒性較強(qiáng)、識(shí)別條件明確。不過(guò)對(duì)應(yīng)的條件限制性較強(qiáng),需要手動(dòng)定義特征,調(diào)整參數(shù),并且可能出現(xiàn)目標(biāo)無(wú)法識(shí)別的現(xiàn)象。使用機(jī)器學(xué)習(xí)來(lái)進(jìn)行交通標(biāo)志的識(shí)別,大多是在傳統(tǒng)方法的基礎(chǔ)上獲取特定的特征后使用支持向量機(jī)、隨機(jī)森林、提升樹等算法進(jìn)行分類。雖然對(duì)分類過(guò)程有更快的速度,泛化能力也有所提高。但模型在有噪點(diǎn)的情況下進(jìn)行檢測(cè)識(shí)別時(shí)依然誤檢較多。基于深度學(xué)習(xí)的模型不需要手動(dòng)定義特征,減少了不同條件下對(duì)模型的限制。其方法模型主要包括R-CNN、Fast R-CNN、Faster RCNN、SSD、YOLO系列等[4-8]。根據(jù)其模型的分類和回歸可將其劃分為單階段和雙階段。單階段的YOLO 系列算法其超參數(shù)量小于將模型劃分為分類和回歸兩部分的Fast R-CNN、Faster R-CNN等雙階段算法的超參數(shù)量。深度學(xué)習(xí)網(wǎng)絡(luò)自動(dòng)提取特征,針對(duì)性訓(xùn)練精確率高。但隨著網(wǎng)絡(luò)層數(shù)的增加,參數(shù)量較大,需減少冗余的參數(shù)。
1.2 聯(lián)邦學(xué)習(xí)
聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L) 是由谷歌研究院提出基于保護(hù)用戶數(shù)據(jù)的一種人工智能解決方案[9]。聯(lián)邦學(xué)習(xí)在客戶端與服務(wù)器相關(guān)聯(lián)架構(gòu)中按照其特性可劃分為橫向、縱向以及遷移。支持聯(lián)邦學(xué)習(xí)的框架有多種,本文選用受眾較多的FATE框架[10]作為基礎(chǔ)框架進(jìn)行搭建。
2020年,由Liu等人[11]提出的聯(lián)邦視覺,采用橫向聯(lián)邦學(xué)習(xí)與YOLOv3相結(jié)合的策略,在市場(chǎng)上得到了廣泛的應(yīng)用。用戶使用聯(lián)邦視覺圖像注釋工具來(lái)標(biāo)記他們的本地訓(xùn)練數(shù)據(jù)集,并進(jìn)行訓(xùn)練。本地模型收斂后,用戶則可以通過(guò)客戶端模塊以一種安全加密的方式將本地模型參數(shù)傳輸?shù)街行姆?wù)端。在每一輪學(xué)習(xí)結(jié)束后,會(huì)為模型計(jì)算一個(gè)更新的全局權(quán)重,從而達(dá)到全局更新。
2021年,學(xué)者石佳[12]則針對(duì)目標(biāo)檢測(cè)在智能駕駛中的一種應(yīng)用場(chǎng)景,提出基于聯(lián)邦學(xué)習(xí)的目標(biāo)檢測(cè)算法。其算法模型是將聯(lián)邦學(xué)習(xí)與Faster R-CNN相結(jié)合也就是在目標(biāo)檢測(cè)雙階段法的基礎(chǔ)上進(jìn)行了實(shí)現(xiàn)和改進(jìn)并取得了較高的精確度,提高了平均檢測(cè)時(shí)間。但由于參數(shù)量過(guò)大,對(duì)算力要求較高,使用輕量型網(wǎng)絡(luò)更有助于車載終端的實(shí)時(shí)檢測(cè)。
2022年,學(xué)者張斌則提出了基于車輛網(wǎng)中分心駕駛行為識(shí)別的聯(lián)邦學(xué)習(xí)方法[13],以MobileNetV2作為分心駕駛行為識(shí)別模型,并驗(yàn)證了將聯(lián)邦學(xué)習(xí)應(yīng)用于分心駕駛行為識(shí)別領(lǐng)域的可行性。
2 算法模型
本文使用FATE聯(lián)邦學(xué)習(xí)框架[14]進(jìn)行算法的編寫和測(cè)試。其FATE的框架主要包括四大部分,分別是云平臺(tái)、可視化平臺(tái)、流動(dòng)平臺(tái)、服務(wù)平臺(tái)。在FATE 的調(diào)度中主要使用有向無(wú)環(huán)圖和多方任務(wù)調(diào)度器進(jìn)行任務(wù)層的調(diào)度。在FATE-1.10.0版本中,F(xiàn)ATE制定的一個(gè)更高級(jí)的接口pipeline來(lái)生成指定的json文件進(jìn)行任務(wù)調(diào)度。FATE的核心是FederatedML,即聯(lián)邦和隱私保護(hù)機(jī)器學(xué)習(xí)的算法庫(kù)。通過(guò)該算法庫(kù)進(jìn)行定義數(shù)據(jù)模塊、訓(xùn)練模塊、損失模塊、模型模塊等四部分。
2.1 數(shù)據(jù)模塊
在我國(guó)北方大部分地區(qū),尤其是氣溫逐漸降低時(shí),霧霾這種天氣狀況幾乎成為一種常態(tài)。霧霾會(huì)降低空氣的透明度,使得交通標(biāo)志在較遠(yuǎn)距離難以辨認(rèn)。此外,霧霾也會(huì)使得光線散射,從而影響攝像機(jī)對(duì)于交通標(biāo)志的識(shí)別精度[15]。這些因素都會(huì)使得交通標(biāo)志識(shí)別變得更加困難。主流的解決辦法是通過(guò)算法去霧,但是更多的問(wèn)題是沒(méi)有足夠的數(shù)據(jù)提供給模型進(jìn)行優(yōu)化。而大多數(shù)學(xué)者是通過(guò)基于光學(xué)模型以圖像中心點(diǎn)向四周發(fā)散或直接在圖像的三通道上附加值等方法來(lái)模擬霧霾從而獲取數(shù)據(jù)集。本文的框架模型除去可以在真實(shí)世界獲取數(shù)據(jù)集外,還加入基于深度的霧霾天氣圖像生成算法。并考慮到在實(shí)際環(huán)境中的應(yīng)用價(jià)值,以及車載設(shè)備所能提供的條件要求。深度圖像主要基于圖像自監(jiān)督深度估計(jì)模型[16]通過(guò)單目視覺圖像來(lái)生成。效果對(duì)比圖如圖1 所示。
2.2 訓(xùn)練模塊
對(duì)于訓(xùn)練模塊,它可以在每輪中選擇n 個(gè)客戶端,計(jì)算這些客戶端持有的模型損失梯度。并指定每m輪進(jìn)行模型參數(shù)安全聚合來(lái)保障梯度數(shù)據(jù)的安全性。在模型經(jīng)過(guò)聚合后通過(guò)服務(wù)端來(lái)將全局模型下發(fā)到各個(gè)客戶端。其算法偽代碼如算法1所示。
2.3 模型模塊
該網(wǎng)絡(luò)是基于聯(lián)邦學(xué)習(xí)與YOLOv5模型,所以將該模型命名為FL-YOLOv5。YOLO的實(shí)現(xiàn)是基于卷積神經(jīng)網(wǎng)絡(luò)的回歸模型。YOLO將輸入圖像劃分成網(wǎng)格區(qū)域,然后對(duì)其進(jìn)行預(yù)測(cè)。在多目標(biāo)檢測(cè)中通過(guò)聚類與NMS來(lái)調(diào)整輸出結(jié)果。損失函數(shù)是由坐標(biāo)、置信度和類別等三方面組成。其原始YOLOv5模型包含391層,21 222 087個(gè)參數(shù)。YOLOv5的主要結(jié)構(gòu)是由CSPDarknet架構(gòu)和YOLOv3的FPN特征提取器組成。CSPDarknet是一種卷積神經(jīng)網(wǎng)絡(luò),用于提取特征。而FPN特征提取器則是一種可實(shí)現(xiàn)多尺度目標(biāo)檢測(cè)的算法。其模型主干結(jié)構(gòu)如圖2所示。
FL-YOLOv5的模型模塊主要基于YOLOv5模型。
如果想要模型輕量化,必不可免需要縮減其參數(shù)量。
由此,使用RepVGG網(wǎng)絡(luò)[17]替換YOLOv5骨干網(wǎng)絡(luò)結(jié)構(gòu)中的Conv模塊。RepVGG可以解決傳統(tǒng)卷積網(wǎng)絡(luò)參數(shù)使用不充分、重復(fù)計(jì)算和計(jì)算性能低等問(wèn)題??梢栽跇O大保留特征的基礎(chǔ)上盡可能縮減計(jì)算量。并在其骨干網(wǎng)絡(luò)的C3模塊加入CBAM注意力機(jī)制[18],提高每個(gè)網(wǎng)格通道的權(quán)重,使得網(wǎng)絡(luò)的特征表示更加有效,提高模型的準(zhǔn)確性和魯棒性。本文將該模型命名為FL-YOLOv5-R,其主干網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示。在模型改進(jìn)的過(guò)程中,將RepVGG模塊與CBAM注意力機(jī)制全部替換進(jìn)YOLOv5,即YOLOv5+RepVGG+CBAM,獲得的模型層數(shù)為415層,參數(shù)量為5 574 639。雖然層數(shù)有所增加,但其參數(shù)量相對(duì)于YOLOv5縮減了73.7%。
2.4 損失模塊
在目標(biāo)檢測(cè)YOLO系列模型中的損失函數(shù),通常是由回歸損失、分類損失、置信度損失這三部分組成。在本文的YOLOv5模型中,分類損失和置信度損失均是由二進(jìn)制交叉熵?fù)p失函數(shù)來(lái)構(gòu)成,默認(rèn)的回歸損失是LOSSCIOU。
3 實(shí)驗(yàn)與分析
本節(jié)首先描述數(shù)據(jù)集、實(shí)驗(yàn)環(huán)境和評(píng)價(jià)指標(biāo),接著以YOLOv5為基準(zhǔn)與改進(jìn)后的YOLOv5模型進(jìn)行對(duì)比。同時(shí)對(duì)FL-YOLOv5、FL-YOLOv5-R在不同的環(huán)境下實(shí)施評(píng)估,最后依據(jù)上述實(shí)驗(yàn)結(jié)果進(jìn)行總結(jié)。
3.1 數(shù)據(jù)集介紹
本文的數(shù)據(jù)集為TT100K-r主要包含自制的輔助標(biāo)志數(shù)據(jù)集以及從開源數(shù)據(jù)集TT100K中篩取的主標(biāo)志數(shù)據(jù)集。TT100K包含的標(biāo)志牌類別一共有200多種,但其各類別數(shù)量分配不均衡,本文選取的訓(xùn)練數(shù)據(jù)是各類別實(shí)例數(shù)大于100的標(biāo)志,其中警告標(biāo)志4 種,禁令標(biāo)志30種,指示標(biāo)志8種。輔助標(biāo)志數(shù)據(jù)集,是由課題組在行車過(guò)程中進(jìn)行街拍自制。由于其輔助交通標(biāo)志的多樣性,且輔助標(biāo)志數(shù)量較少,自制輔助標(biāo)志數(shù)據(jù)集主要?jiǎng)澐譃榘淖值妮o助標(biāo)志、包含數(shù)字的輔助標(biāo)志、包含圖像的輔助標(biāo)志以及混合輔助標(biāo)志。訓(xùn)練集的數(shù)據(jù)總量為7 398張,測(cè)試集的數(shù)據(jù)總量為1 087張,驗(yàn)證集的數(shù)據(jù)總量為2 177張。
3.2 實(shí)驗(yàn)環(huán)境與指標(biāo)
相對(duì)于車載計(jì)算機(jī),其算力相當(dāng)于普通電腦的硬件水平,能夠在消耗極低的情況下達(dá)到較高的運(yùn)算水平。由于資源限制,本文在進(jìn)行模型改進(jìn)時(shí)使用的硬件條件為12核vCPU,40G內(nèi)存,顯卡為RTX 2080Ti。在進(jìn)行聯(lián)邦學(xué)習(xí)時(shí)使用的硬件條件為阿里云計(jì)算型c5系列12核vCPU,24GB運(yùn)行內(nèi)存?;谏鲜銮闆r,本文實(shí)驗(yàn)所用到的軟件條件為操作系統(tǒng)CentOS7.9 64 位、聯(lián)邦框架FATE-1.10.0、Python3.8.13、Py?Torch1.13.1。評(píng)價(jià)指標(biāo)分別選用精確率(Precision) 、召回率(Recall) 、平均精度(mAP) 以及每秒幀數(shù)(FPS) 。
3.3 實(shí)驗(yàn)結(jié)果分析
1) 模型改進(jìn)實(shí)驗(yàn)本文的實(shí)驗(yàn)對(duì)比對(duì)象主要是以YOLOv5基準(zhǔn)與YOLOv5+RepVGG+CBAM 進(jìn)行對(duì)比。這里設(shè)置批次大小為32,工作線程為12。
CBAM有助于模型更好地捕捉特征和注意到關(guān)鍵的空間信息,從而提高了模型的泛化能力。結(jié)合RepVGG這種高度可重復(fù)使用和可訓(xùn)練性的結(jié)構(gòu),使得該組合模型可以更好地適應(yīng)各種任務(wù)和場(chǎng)景。從圖4 中可以輕而易舉地觀察到Y(jié)OLOv5+RepVGG+CBAM的mAP相比于YOLOv5模型具有更快的提升速度。
同時(shí)為對(duì)比各個(gè)模塊的重要程度,本文進(jìn)行了消融實(shí)驗(yàn),結(jié)果如表1 所示。在替換其卷積層為RepVGG模塊后,模型在召回率上雖然相比較低,但其FPS值是可以達(dá)到四種模型的最高值。如果只在C3 模塊中加入CBAM模塊,雖然mAP值有所提升,但實(shí)時(shí)性較差。綜合對(duì)比,YOLOv5+RepVGG+CBAM具有最高的性價(jià)比,mAP值比基準(zhǔn)高了約3%。
2) 聯(lián)邦學(xué)習(xí)實(shí)驗(yàn)
FL-YOLOv5 與FL-YOLOv5-R 對(duì)比在聯(lián)邦學(xué)習(xí)條件下模型的性能。在進(jìn)行聯(lián)邦學(xué)習(xí)時(shí),本文設(shè)定客戶端代號(hào)為9999、9998、9997,服務(wù)器端代號(hào)為10000,聚合輪次T 為1或5。其客戶端數(shù)據(jù)為隨機(jī)從數(shù)據(jù)集抽取200至300張圖片數(shù)據(jù)。由于設(shè)備限制,批次大小與工作線程均設(shè)置為2。訓(xùn)練的可視化界面如圖5 所示。
評(píng)估結(jié)果如圖6所示,T 為1或5時(shí),進(jìn)行50輪的聯(lián)邦訓(xùn)練后,在mAP這項(xiàng)指標(biāo)中FL-YOLOv5-R均比FL-YOLOv5高了9%。其精確率和召回率在同等條件下,F(xiàn)L-YOLOv5-R均優(yōu)于FL-YOLOv5。T 為1時(shí),其FL-YOLOv5平均每1輪模型訓(xùn)練和聚合的時(shí)間之和為135.04分鐘,占用內(nèi)存為162MB;FL-YOLOv5-R為68.15分鐘,占用內(nèi)存為43.2MB。
4 結(jié)論
在FATE框架上開發(fā)的交通標(biāo)志識(shí)別模型具有較高的現(xiàn)實(shí)意義。將多個(gè)設(shè)備或節(jié)點(diǎn)上的數(shù)據(jù)和計(jì)算資源共享,不僅避免了計(jì)算資源的浪費(fèi),而且極大地提高了模型的效率。替換YOLOv5的主干網(wǎng)絡(luò)后,其模型大小得到縮減的同時(shí)其精確率與訓(xùn)練速度均有所提升。但在進(jìn)行實(shí)驗(yàn)的過(guò)程中,由于使用的是同一種設(shè)備。所以,如何在不同設(shè)備上進(jìn)行訓(xùn)練和識(shí)別以及模型的融合是接下來(lái)需要做的重點(diǎn)研究工作。