RILOD Near Real-Time Incremental Learning for Object Detection at the Edge 翻譯

摘要

配備相機的邊緣設備附帶的物體檢測模型無法覆蓋每個用戶感興趣的物體。
因此,增量學習功能是許多應用程序依賴的強大且個性化的對象檢測系統的關鍵功能。在本文中,我們提出了一個高效而實用的系統RILOD,以逐步訓練現有的對象檢測模型,使其能夠檢測新的對象類別而又不會失去檢測舊類別的能力。RILOD的關鍵組件是一種新穎的增量學習算法,該算法僅使用新對象類的訓練數據就可以針對一個階段的深層對象檢測模型進行端到端訓練。爲了避免災難性的遺忘,該算法從舊模型中提取了三種類型的知識,以模仿舊模型在對象分類,邊界框迴歸和特徵提取方面的行爲。此外,由於可能無法獲得新類別的訓練數據,因此設計了實時數據集構造管道來即時收集訓練圖像並自動使用類別和邊框註釋對圖像進行標記。我們已經在邊緣雲和僅邊緣設置下實現了RILOD。實驗結果表明,所提出的系統可以在短短几分鐘內學會檢測新的對象類別,包括數據集構建和模型訓練。相比之下,傳統的基於微調的方法可能需要花費幾個小時進行訓練,並且在大多數情況下還需要繁瑣且昂貴的手動數據集標記步驟。

介紹

對象檢測是計算機視覺任務,用於識別和定位圖像或視頻幀中特定類別的語義對象(例如人,建築物或汽車)的實例。
在配備了先進相機(如智能手機,自動駕駛汽車,移動機器人和無人機)的邊緣設備上,對象檢測已成爲許多令人興奮的應用程序的基礎,包括增強現實,自動駕駛儀,移動購物等。這些成功的應用程序是 由於基於深度學習的對象檢測方面的最新突破,尤其是YOLO,SSD和RetinaNet等一階段對象檢測框架的出現,使得實現實時應用程序的設備上推理成爲可能,從而使之成爲可能.在本文中,我們專注於在邊緣進行對象檢測的具有挑戰性但至關重要的問題,即新對象類的增量學習。邊緣設備附帶的經過預訓練的深度學習模型可以以相當好的準確性覆蓋多達數百個對象類別。但是,每個最終用戶都可能具有未包含在預訓練模型中的他/她的個性化興趣對象,因此,訓練一個可以傳達每個用戶興趣的通用模型是不可行的.同時,可能會不時出現新的感興趣的對象(例如,出現MP3 Walkman來代替舊的磁帶Walkman),並且無法預測這些將來的對象類別.

要將新的對象類逐步添加到模型中,一種直接的方法是使用來自新舊類的訓練數據對模型進行微調。但是,這種幼稚的方法在實踐中將行不通。首先,由於隱私問題,針對部署模型的舊類的訓練數據可能無法獲得。其次,即使已有舊數據,使用包含所有類別的數據集進行訓練也很耗時,因爲訓練效率與所需的訓練數據量高度相關。對於邊緣對象的檢測,學會在許多應用場景中以及時且注重質量的方式逐步檢測新對象至關重要。邊緣設備的用戶可能隨時隨地遇到新的感興趣的對象,並且對這些對象的延遲學習將對用戶體驗產生負面影響。對於執行軍事或救災任務的移動機器人和無人機,這可能對挽救生命和財產起決定性作用。

另一方面,衆所周知,深層神經網絡會遭受“災難性的遺忘”,這是一種現象,在這種情況下,當僅使用新類別的訓練數據使用反向傳播和標準交叉熵損失進行訓練時,模型會忘記 它在舊類上的學習知識,例如對於對象檢測模型,它不再能夠檢測到屬於舊類的對象。
爲了解決“災難性的遺忘”問題,深度學習研究人員提出了有效的學習方法,例如彈性權重合並(EWC)和無遺忘學習(LwF),這些方法都集中在對象分類問題上,沒有一個 可以直接應用於物體檢測問題,尤其是可以同時預測物體類別和邊界框位置的一階段物體檢測模型。

我們使用基於知識蒸餾技術的新型損失函數,針對一階段目標檢測解決增量學習的“災難性遺忘”問題[12]。
基本思想是不鼓勵對舊類的預測進行更改,包括分類和邊界框迴歸的模型輸出。
具體來說,當僅使用新類別的數據進行訓練時,我們保留舊模型的副本以生成新數據的輸出,以用於分類(即,屬於每個舊類別的概率)和邊界框位置(即, ,圖像中每個檢測到的對象的座標),並使用蒸餾損失項來最大程度地減少新模型中的變化(請參見圖3)。
通過這種方式,我們迫使新舊模型在預測舊類上達成共識。
此外,我們添加了特徵蒸餾損失項以防止從中間神經網絡層提取的特徵發生劇烈變化,從而進一步減少了災難性遺忘並提高了模型準確性。

與對象分類任務不同,用於新對象的對象檢測的訓練數據可能並不總是可用,因爲它既需要類級別的標籤,又需要準確的邊界框,這是一項昂貴而費力的工作。在沒有訓練數據的情況下,我們需要動態地自動構建一個合理的訓練數據集。爲此,我們提出了一種針對新對象類的實時訓練數據集構建方法。我們顯示,所創建的數據集已在與新類相對應的對象周圍準確標註了邊界框,因此可以直接用於增量訓練檢測模型。

總而言之,我們做出了以下貢獻:•第一個端到端增量學習系統,用於近實時地在邊緣進行對象檢測。
•用於逐步學習一級目標檢測模型的新算法和損失函數,以解決“災難性遺忘”問題。
•動態的自動化數據集構建算法,可爲帶有分類和邊界框標籤的新類創建訓練數據。
•廣泛的實驗證明了每個系統組件的有效性和效率-我們還研究了一些折衷方案,以優化整體系統性能。
•在邊緣雲和僅邊緣架構上的端到端系統的原型實現。對於僅邊緣的實現,我們完全在Jetson TX2嵌入式AI平臺上開發和部署了系統-我們證明,只需幾分鐘就可以完成新課程的學習,包括數據集構建和模型訓練。

本文的其餘部分安排如
在第2節中,我們回顧了相關工作。在第3節中,介紹了系統概述。
在第4節中,我們介紹了用於對象檢測的有效增量學習方法。
在第5節中,我們介紹了自動數據。收集和標記算法。
第6節給出了評估和原型實現。最後,第7節總結了本文。

2 Related Work

用於邊緣視覺的深度學習:由於最近開發了輕量級深度學習SDK,深度學習(尤其是卷積神經網絡(CNN))已廣泛用於邊緣設備上的各種計算機視覺應用[1,21,30,35]。研究人員致力於通過壓縮預訓練的深度學習模型[3、9、10、20],設計輕量級神經網絡體系結構[13、16]或硬件加速[15]來降低邊緣設備的計算成本。,37] –這些論文並未解決邊緣視覺中的增量學習問題.

深度增量學習:爲了解決“災難性的遺忘”問題,深度學習研究人員最近在幾個不同的方向上開發了一種方法,一種重要的方法是根據神經網絡權重的重要性對它們進行正則化[2,19]。類,即它使用較小的學習率來阻止重要權重的變化。另一個主要的研究方向是基於知識提煉[12],它使用新數據從中提煉知識(即網絡輸出)。舊模型並在訓練新模型時模擬其行爲(即生成相似的輸出)[22,31,34]。在相關工作中,只有[34]關注對象檢測問題,但是,他們的方法適用於Fast-RCNN模型[8],其中使用額外的選擇性搜索方法[36]計算邊界框建議-這種方法將無法滿足邊緣設備的實時推理需求。

自動圖像註釋:與我們的自動訓練數據集構建問題相關的研究主題是自動圖像註釋[4,17],該過程依賴於計算機系統爲數字圖像分配元數據(例如關鍵字,標題)。圖像批註通常用作爲圖像檢索系統提供語義標籤的方法。帶標籤的圖像不用作訓練數據集來訓練或完善學習模型。我們的方法不同於自動圖像註釋-我們正在嘗試通過從嘈雜的網絡爬行圖像中選擇並標記訓練圖像的子集來動態地自動構建訓練數據集。此外,我們的標註算法不僅提供了圖片級標籤,還提供了對象邊界框的位置。

System Overview

在本節中,我們概述了所提出的RILOD系統,該系統具有三個主要組件,如圖1所示。

第一個組件是增量學習觸發器,該觸發器在邊緣設備上運行以偵聽學習新類的請求。可能會有不同的情況來啓動新的學習任務。在最簡單的情況下,用戶直接告訴AI引擎學習當前AI引擎無法檢測到的新對象類。但是,此場景有一個不切實際的假設,即用戶知道他/他感興趣的課程以及AI引擎已學習的現有課程

更爲現實的情況是用戶不預先知道她/他的興趣或已經學習的課程,而是希望在遇到新的興趣課程時學習。因此,我們設計了一種交互方式來啓動新的學習任務,如圖1所示-如果AI引擎無法使用以下方法檢測到對象,則當邊緣設備的攝像頭指向某個對象(例如慢燉鍋)時在具有足夠信心的當前對象檢測模型中,它提示用戶通知它想要學習新的對象類別。如果用戶批准了學習請求,則他/他可以發出一個簡單的啓動學習命令,並告訴AI引擎開始學習過程。對於每個學習任務,可以同時學習一個或多個新課程

第二個組件是訓練數據集準備流水線,它爲要學習的新課程實時構建一組訓練數據。如果沒有可用於學習新課程的訓練數據集,則將觸發此組件。具體來說,它首先使用新的類名作爲查詢從Internet下載相關的噪點圖像。然後,我們純化下載的圖像併爲與給定類名相對應的對象生成邊界框註釋。我們將在第5節中詳細說明我們的解決方案。

第三個組件是模型訓練模塊,該模型使用可用的訓練數據集或由先前系統組件準備的數據集學習檢測新對象。儘管僅使用新類別的數據進行培訓可以減少增量學習的時間成本,但會增加舊類別發生災難性災難的風險。我們新穎的增量學習算法建立在強大的知識提煉技術的基礎之上,該技術已用於對象分類模型的增量學習[22]。
然而,用於對象檢測模型的增量學習比分類模型複雜得多,因爲它不僅需要保留語義分類能力,還需要保留其有關邊界框預測的知識。我們將在第4節中討論詳細信息。

我們已經用兩種不同的系統架構實現了端到端系統:邊緣雲和僅邊緣。
對於邊緣雲實施,數據集構建和模型訓練組件在基於遠程雲的GPU服務器上運行-訓練完成後,新模型將下載到邊緣設備以供將來推斷。僅邊緣實施是不依賴雲計算資源的完全設備上的系統。我們在評估部分評估並比較了兩種實現方式。

4 Incremental learning algorithm

4.1 Recap for One-stage Object Detector

對象檢測的目的是識別一組預定義的對象類別(例如人,汽車,自行車,動物)的實例,並使用邊界框描述圖像中每個檢測到的對象的位置。較早的端到端深度學習方法採用兩階段體系結構,該體系結構首先使用區域提議網絡識別一組可能的邊界框位置,然後使用第二個卷積神經網絡完善邊界框提議並進行分類對象類別[33]。儘管兩級物體檢測器可以實現非常高的檢測精度,但它們具有較低的推理速度,因此無法部署在需要實時推理功能的大多數邊緣應用中。因此,最近的研究集中在開發一級對象檢測架構[23、24、26、32],該架構運行速度更快,但提供的精度類似於二級檢測器。

一級檢測器的成功歸因於計算機視覺研究人員最近發明的四種關鍵技術:基於網格的預測[32],錨定框[26],具有金字塔和焦距損失。首先,由卷積神經網絡生成的特徵圖會保留輸入圖像的空間信息,從而將特徵圖劃分爲網格,並且每個網格單元都可用於直接預測落入該區域的對象(分類和邊界框)。通過這種方式,就不需要框式提案網絡。
其次,通過隨機初始化對包圍盒的四個座標進行迴歸學習使訓練變得非常困難。
爲了解決此問題,取而代之的是使用一些不同的寬高比預測到一些預定義錨框的邊界框偏移量,這些框嵌入了有關候選對象形狀的一些先驗信息。
第三,爲了更好地定位不同比例的物體,特別是較小的物體,建議通過自上而下的路徑即特徵金字塔來預測具有不同分辨率的特徵圖的物體。
最後,提出了焦點損失以解決類不平衡問題(例如,與實際包含對象的盒子相比,有太多僅包含圖像背景的盒子)。
特別是,比例因子被添加到交叉熵損失中,從而使訓練更多地集中在學習困難的例子上。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-H0YjWrGi-1583547000419)(76BA61E291E84D269D6670BB0FBE2243)]

Figure 2 代表性的一階段對象檢測模型架構:RetinaNet。對於大小爲W * H的網格中的每個像元,它預測(1)來自K個不同類別的每個A錨框中存在一個對象的概率,以及(2)每個A錨框的四個座標偏移到一個真實的邊界框(如果存在)

在圖2中,我們展示了最新的一階段目標檢測方法RetinaNet的基本架構。
RetinaNet由三個子網組成:用於從不同分辨率(即,不同的神經網絡層)提取特徵圖的特徵網(F),用於對象分類的類子網(C)和用於定界的Box子網(B) 框迴歸。
Feature Net也被稱爲骨幹網-它通常是一個分類網絡,已使用ImageNet等大型數據集進行了預訓練。在推斷時,RetinaNet首先使用預定義的分類概率閾值僅對具有高置信度得分的框進行解碼,然後使用非最大抑制(nms)技術過濾掉多餘的預測

4.2 Incremental Learning Method

圖3說明了用於一階段深層對象檢測器的增量學習算法的一般體系結構。要檢測n個新類(n≥1)中的對象,我們首先將舊模型的副本創建爲N’,然後再創建通過擴展舊模型的分類子網來創建新模型N,方法是通過向網絡的輸出層添加n個神經元來對另外n個類別進行分類。使用舊模型中的相應參數初始化新模型的權重參數,輸出層中新添加的神經元除外,這些參數是隨機初始化的。

爲了避免僅對新班級的數據進行訓練而導致舊班級的災難性遺忘,我們遵循了學習不遺忘(LwF)[22]的思想,該思想已成功應用於圖像分類問題。 具體而言,LwF試圖確保新模型中舊類的分類輸出(即舊類概率的向量)接近同一輸入圖像上舊模型的輸出。 爲了實現這一目標,LwF利用了知識蒸餾[12]技術,該技術使用了改進的交叉熵損失-而不是使用堅硬的單熱地面真相標籤,而是使用舊模型的輸入圖像輸出作爲軟 地面真相標籤來訓練新模型。 這裏的核心思想是,它不鼓勵對舊類的輸出進行更改。 通過共同優化舊類的蒸餾損失和新類的交叉熵損失,LwF在預測新老類時均具有良好的分類性能。

但是,僅保留舊模型的分類能力不足以進行對象檢測,因爲新模型仍然會失去預測舊類的正確邊界框的能力,而僅使用新類的邊界框標籤進行訓練。
爲了解決此問題,我們將知識提煉的思想擴展到對象檢測任務,以便鼓勵新模型中分類子網和盒形子網的輸出,以便對舊類的舊模型的輸出進行近似 。
此外,我們認爲僅將蒸餾損失應用於模型輸出還不足以防止在舊類上遺忘。
雖然僅使用新類別的數據進行訓練,但在反向傳播期間也已更改了對預測舊類別至關重要的中間要素(即從中間層提取的要素)。
因此,我們對從特徵網F提取的中間特徵設計了一個新的蒸餾損失,以使從新模型中提取的特徵與舊模型沒有顯着差異。

4.2.1 Detailed Loss Functions

根據上面的分析,用於物體檢測模型的增量學習的損失函數必須滿足以下三個屬性,以避免災難性的遺忘:(i)不鼓勵對舊物體類的分類輸出進行更改。
(ii)不鼓勵對預測對象的邊界框位置進行更改。
(iii)防止從中間神經網絡層提取的特徵發生劇烈變化。

給定一個在m個類別上訓練過的舊對象檢測模型N’,併爲n個新類別提供訓練數據集Dnew,我們的目標是逐步訓練一個對象檢測模型N,該模型對m + n個完整的集合執行對象檢測。我們的增量檢測算法的損失函數定義爲:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-EVvhubFb-1583547000420)(54C979075E9D48DB9BCA26F0A77CC006)]

其中λ1,λ2,λ3和λ4是超參數以平衡不同損耗項的權重,並且在我們的實驗中都設置爲1。第一個損失項Lfocal和第二個損失項Lreдr是在[24]中爲新類訓練RetinaNet時使用的標準損失函數,其中Yn代表真實的單項熱分類標籤,Y ˆ n代表新模型的在n個新類上輸出分類,Bn代表地面真實邊界框座標,而Bˆ n代表地面真實對象的預測邊界框座標。

第三損失項L_dist_cl as與[22,34]中定義的分類子網的蒸餾損失相同。在此,Yo是使用新訓練數據的m箇舊類的凍結舊模型F’的輸出,而Y ˆ o是舊類的新模型F的輸出。具體而言,損耗可通過以下公式計算:

Ldistclas(Yo,Y^o)=1mi=1m(YoiY^oi)2L_{d i s t_{-} c l a s}\left(Y_{o}, \hat{Y}_{o}\right)=\frac{1}{m} \sum_{i=1}^{m}\left(Y_{o}^{i}-\hat{Y}_{o}^{i}\right)^{2}
第四個損失項L_dist_bbox保留了舊模型爲舊類正確預測邊界框的能力。
我們對邊界框精餾的見解是,當將圖像作爲舊模型的輸入給出時,即使圖像不包含任何屬於舊類的對象,它仍然可以預測舊類對象的存在,儘管 置信度得分相對較低。
我們將那些相對低置信度(但不是太低)的對象的預測邊界框視爲舊模型的邊界框預測功能。
特別是,對於每幅圖像,我們根據舊模型的分類置信度得分對使用舊模型預測的邊界框(即錨框和座標偏移)進行排序,並選擇頂部k個邊界框Bo作爲邊界的底線 箱蒸餾損失(有關示例,請參見圖4的左子圖)。
在逐步訓練新模型時,我們使用平滑的L1損失將與同一組錨定框對應的新模型的邊界框預測B ˆ o迴歸到地面。

Ldistbox(Bo,Bo^)=j{x,y,w,h}smoothL1(BojB^oj)L_{d i s t_{-} b o x}\left(B_{o}, \hat{B_{o}}\right)=\sum_{j \in\{x, y, w, h\}} s m o o t h_{L_{1}}\left(B_{o}^{j}-\hat{B}_{o}^{j}\right)

4.2.2 Using Exemplars of Old Classes

基本的RILOD系統假定沒有保存來自舊類的數據,並且僅使用新的類數據進行學習,而新的類數據可以使用第5節中描述的管道輕鬆獲得或收集。此假設減少了預期的培訓時間和存儲成本增量學習。而且,它增加了我們的系統在沒有舊數據的情況下的適用性。

但是,在某些應用程序場景中,舊類的某些或全部數據可能可用。在這種情況下,我們可以從這些舊數據中增加少量樣本到我們的訓練集中,以確保至少將一些有關舊班級的信息納入學習過程中。這樣,我們可以進一步減少舊類的遺忘,並總體上實現更好的檢測準確性。請注意,即使可用,使用所有舊數據也是不合理的,因爲這將極大地增加系統的訓練等待時間,並且不適合實時增量對象檢測。此外,在我們的實驗中,我們觀察到每個類別僅使用幾個示例圖像可提供與使用舊類別所有數據類似的準確性(請參見第6節)。

示例圖像的選擇可以通過多種方式執行:1)從每個類別中隨機選擇固定數量的圖像,2)選擇圖像,使得示例的平均特徵向量將最接近類別均值,如[31]中所述,3) 對每個類執行聚類,並從每個聚類中選擇隨機圖像。
在這項工作中,我們傾向於使用最後一種樣本選擇方法來考慮類別差異(例如,從每個犬種中爲犬類選擇示例圖像)。
此外,即使我們從每個類別中選擇固定數量的樣本,也可以固定樣本總數,以防止隨着新類別的增加而增加樣本數據集大小的線性增加。

Data Collection and Labeling

Evaluation

RILOD的評估重點在於回答以下問題:(1)所提出的增量學習算法的有效性和效率如何?
(2)自動數據構造算法的效率和效率如何?
(3)這個完整的系統在實踐中如何工作?幾點鐘了?總體系統設計中的瓶頸是什麼?

6.1評估數據集

以下兩個數據集用於評估增量學習算法的對象檢測準確性。

•Pascal VOC 2007 [7]:這是用於對象檢測的基準數據集,其中包括20個對象類。它總共從Flickr2照片共享網站上收集了9,963張圖像,幷包含24,640個帶註釋的對象。 我們將訓練和val分割中的5K圖像用於訓練,將測試分割中的5K圖像用於驗證。

•iKitchen:我們收集並註釋了屬於10個廚房對象的7K圖像(用於培訓的6K和用於驗證的1K),以進行內部演示。大多數圖像是在實驗室和現實環境中使用智能手機收集的,以便在更現實的環境中評估我們的系統[28]。該數據集還用於原型系統評估中。

爲了評估自動數據集構建算法,我們使用類名作爲查詢來模擬下載Web圖像的行爲。特別:

關於Pascal VOC,對於20個類別中的每個類別,我們都使用類別名稱(例如chair)作爲ImageNet3的搜索關鍵字來查找匹配的同義詞集,然後從同義詞集中下載200張圖像及其邊界框註釋。
•關於iKitchen,我們使用Google圖像搜索實時下載圖像,以證明該算法在原型系統評估中的有效性和效率。

對於所有模型準確性評估,我們使用閾值爲0.5 IuU的標準平均平均準確性(mAP)作爲評估指標[6]。

6.2增量學習

調整深度神經網絡的輸入圖像的大小,以使長邊爲1024,然後按比例調整短邊。所有實驗的初始學習率均設置爲1×10−3,我們使用Adam方法[18]進行優化。培訓在單個NVIDIA Tesla M40 GPU上進行,批處理大小爲8。我們使用PyTorch [29]進行所有實驗。

6.2.1 Experiment Setup For Pascal Dataset

我們用於Pascal數據集的模型架構是帶有ResNet-50主幹的RetinaNet,並且每個模型訓練100個紀元。我們針對以下兩種情況進行了實驗:

•19 + 1:我們訓練前19個班級的基本模型,然後逐步訓練第20個班級(即電視/顯示器類)。
•10 + 10:我們訓練一個基本的10類模型,然後同時學習10個新類。

比較了以下4種不同的學習方案:

•所有數據:我們使用來自新舊類的數據對舊模型進行了微調,並使用了RetinaNet中的原始損失函數,而沒有蒸餾損失項。
•災難性遺忘:我們僅使用新類別的訓練數據來訓練模型,並使用RetinaNet中的原始損失函數,而沒有蒸餾損失項。
•不包含斷餾損失:我們僅使用新類別的訓練數據來訓練模型,並使用建議的損失函數,但方程4中定義的特徵蒸餾損失項除外。
•包含精餾損失:我們僅使用新類別的訓練數據來訓練模型,並且使用建議的損失函數,包括特徵蒸餾損失項。

6.2.2 Pascal數據集的實驗結果

我們在表1中給出了19 + 1方案的結果,在表2中給出了10 + 10方案的結果。在兩種方案中,我們都觀察到沒有蒸餾損失項,就會發生“災難性的遺忘”問題,並且mAP值另一方面,利用本文提出的新穎的損失函數,在僅使用新類別的訓練圖像進行增量學習的同時,保留了舊類別的準確性。在所有類別中,所有類別的平均mAP僅降低了不到10%;此外,通過添加特徵蒸餾損失項,我們發現19 + 1方案的準確度提高了4.8%,而對於19 + 1方案的準確度提高了5.9%結果表明,提出的學習算法即使在同時學習多個新類的情況下,也能很好地解決“災難性遺忘”問題。

在19 + 1情況下,新的“電視/顯示器”類別的訓練圖像數量僅爲279,僅佔所有20個類別的5K訓練數據集的5.5%。
可以學習新的課程而不會忘記舊的課程,此外,由於它具有使用少量圖像進行學習的能力,因此我們的方法可以顯着減少訓練時間,因此更適合邊緣應用中的增量學習。

.2.3 iKitchen數據集的實驗設置我們用於iKitchen數據集的模型架構是帶有ResNet-18主幹網的Retinana。我們通過排除兩類慢燉鍋(SC)和調酒器(CS)來訓練基本的8類對象檢測模型。基本的8類模型的mAP爲80.1%。
然後,我們運行以下實驗:(1)8 + SC,(2)8 + CS,(3)8 + SC + CS和(4)8 + CS + SC。在3和4中,隨着每個新類的添加,我們逐步應用所建議的增量學習方法。此外,如第4.2.2節所述,我們研究了從舊類中添加示例數據後,在準確性和訓練時間之間進行權衡的問題。對於所有實驗,我們使用提議的增量學習算法(包括特徵蒸餾損失)訓練10個時期的模型。

6.4 System Implementation and Efficiency

爲了衡量增量學習方法的延遲,我們已經實現了端到端系統,並使用兩個實驗設置進行了多次實驗。
在僅邊緣設置中,從數據集收集到新類的增量訓練的所有步驟都在嵌入式Jetson TX2平臺上執行。
儘管此設置具有諸如隱私保護和減少網絡活動之類的優勢,但它無法從雲端強大的GPU中受益。
另一方面,在Edge-Cloud設置中,主要的系統組件(包括數據集準備和增量模型訓練)在使用單個NVIDIA Tesla M40 GPU的雲服務器上運行,然後將最終模型轉移到Samsung Galaxy S9 Android手機上,用於 推理。
表7顯示了兩種設置中增量學習過程每個步驟的等待時間。
儘管僅邊緣設置沒有模型傳輸延遲,但總體而言,由於模型訓練期間計算能力的顯着差異,因此它比邊緣雲設置慢得多。
請參閱補充材料中的視頻,以獲取有關Edge-Cloud實施的演示。

在這些實驗中,我們使用Resnet-18作爲基本模型,並在自動生成的數據集上訓練了10個曆元的模型,該數據集來自使用Google圖像搜索下載的100張圖像以及每個base-8類的10張示例圖像。
另外,在保持原始寬高比的同時,將輸入圖像的大小調整爲長邊爲512。
請注意,我們首選較小的圖像尺寸,因爲它會對訓練時間產生重大影響。表6顯示,將圖像尺寸加倍會使訓練時間增加一倍以上,而對系統的準確性幾乎沒有改善(請參見圖7)。

6.5 Discussion

即使所提出的用於對象檢測的增量學習系統足夠快速且實用,可以在實際應用中部署,但仍可以通過許多優化來提高系統效率:

模型優化在這項工作中,我們使用ResNet-50和ResNet-18作爲主幹模型。但是,使用主要針對時間緊迫的邊緣應用程序(例如MobileNet)設計的網絡可以通過減少模型訓練時間來顯着減少整個系統時間。模型優化在本文中,我們使用ResNet-50和ResNet-18作爲主幹模型。但是,使用主要爲時間緊迫的邊緣應用程序(例如MobileNet)設計的網絡可以通過減少模型訓練時間來顯着減少總體系統時間。

系統增強。除了這些模型優化之外,當有足夠的系統資源可用時,系統級技巧也將包括數據集生成中使用的多GPU訓練,並行圖像下載和預處理,下載圖像的緩存以及深度模型的預加載等可以採用ERA進一步減少整體系統時間

隨機看不見的對象的邊界框生成。
在極少數情況下,用戶感興趣的新對象可能不會包含在大規模分類模型中(例如11k ImageNet)。在這種情況下,我們無法使用建議的數據集準備管道。取而代之的是,我們可能會使用無監督對象共定位方法[38]來定位屬於同一類別的對象,但代價是邊界框位置的準確性會降低。

縮放模型。爲了保持良好的準確性,必須包括舊類的示例。但是,這也會線性增加模型訓練時間。選擇示例的更多智能方法將有助於減輕此問題。

7結論

在本文中,我們介紹了RILOD,這是一種用於深度增量神經網絡的有效增量學習的邊緣系統,用於對象檢測。
RILOD包括一種新穎的增量學習算法,該算法學習僅使用來自新類的訓練數據來檢測新的對象類,同時防止模型忘記舊類的知識。
與現有的學習方法相比,該算法可將速度提高38倍,而精度損失可忽略不計。
此外,在沒有新班級的可用訓練數據的情況下,RILOD引入了一種實時數據集構建方法,以高精度的邊界框標記網絡爬蟲圖像,這實際上使RILOD成爲了一種實用的系統,可用於 部署。
我們已經使用邊緣雲和僅邊緣架構實現了RILOD,並證明了在單個GPU上用不到2分鐘的時間就能以優異的檢測精度完成新對象類的學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章