The Power of Tiling for Small Object Detection
Abstract
基于深度神經(jīng)網(wǎng)絡(luò)的技術(shù)在目標(biāo)檢測和分類方面表現(xiàn)出色。但這些網(wǎng)絡(luò)在適應(yīng)移動(dòng)平臺時(shí)可能會(huì)降低準(zhǔn)確性,因?yàn)閳D像分辨率的增加使問題變得更加困難。在低功耗移動(dòng)設(shè)備上實(shí)現(xiàn)實(shí)時(shí)小物體檢測一直是監(jiān)控應(yīng)用的基本問題之一。在本研究中,我們解決了在高分辨率微型空中飛行器(MAV)圖像中檢測行人和車輛的問題。為此,我們利用PeleeNet,據(jù)我們所知,這是在移動(dòng)GPU上效率最高的網(wǎng)絡(luò)模型,以SSD網(wǎng)絡(luò)的骨干和earlier layer中的38x38特征圖。在展示了現(xiàn)有目標(biāo)檢測器在MAV場景下的低準(zhǔn)確性后,我們引入了一種基于分塊(tiling)的方法,該方法在訓(xùn)練和推斷階段均適用。所提出的技術(shù)在目標(biāo)檢測中限制了detail loss,同時(shí)以固定尺寸的輸入送入網(wǎng)絡(luò)。通過在Nvidia Jetson TX1和TX2上使用VisDrone2018數(shù)據(jù)集進(jìn)行的深入實(shí)驗(yàn),我們展示了所提出方法帶來的改進(jìn)。
1. Introduction
近年來,目標(biāo)檢測在不同應(yīng)用領(lǐng)域得到了廣泛研究,包括人臉檢測、視頻對象共分割、視頻監(jiān)控、自動(dòng)駕駛汽車。卷積神經(jīng)網(wǎng)絡(luò)(CNNs)是目標(biāo)檢測技術(shù)背后的核心工具。在這個(gè)領(lǐng)域,深度學(xué)習(xí)架構(gòu)的突破性和快速的應(yīng)用產(chǎn)生了高度準(zhǔn)確的目標(biāo)檢測方法,如R-CNN、Fast R-CNN 、Faster R-CNN 、RetinaNet ,這些方法后來被擴(kuò)展成更快速且仍然準(zhǔn)確的版本,如SSD 、YOLO 以及各種變體。這些方法通常在眾所周知的數(shù)據(jù)集上進(jìn)行訓(xùn)練和評估,如ImageNet 、Pascal VOC12 、COCO 。
需要注意的是,這些常見的數(shù)據(jù)集主要包括低分辨率圖像(256x256),其中包含有大面積像素的大型物體。因此,這些訓(xùn)練好的模型對于這些類型的輸入數(shù)據(jù)提供了非常成功的檢測性能。然而,它們在高分辨率圖像中的小物體檢測任務(wù)上的準(zhǔn)確性顯著較低,這些圖像是由高端攝像機(jī)生成的。攝像機(jī)和機(jī)器人技術(shù)在許多方面開創(chuàng)了監(jiān)控應(yīng)用,包括無人機(jī)、4K攝像機(jī),并且實(shí)現(xiàn)了符合(D)etection、(O)bservation、(R)ecognition和(I)dentification(DORI)標(biāo)準(zhǔn)的long-range目標(biāo)檢測。DORI標(biāo)準(zhǔn)為不同任務(wù)的對象定義了最小像素高度。例如需要將圖像高度10%的物體用于檢測(在高清視頻中為108像素),而在進(jìn)行識別時(shí),這個(gè)百分比增加到了20%。盡管在某些情況下符合DORI標(biāo)準(zhǔn),相對較小的像素覆蓋率和降采樣影響了基于CNN的目標(biāo)檢測方法的能力。此外,由于內(nèi)存需求和計(jì)算限制,這些技術(shù)無法處理高分辨率圖像。
實(shí)時(shí)小物體檢測問題主要應(yīng)用于微型飛行器(MAV),其中大小、重量和功耗(SWaP)是使用高性能處理器的限制因素。MAV在一定高度觀察地面,場景中的物體(行人、汽車、自行車等)的像素區(qū)域相對較小。此外,這些飛行器需要實(shí)時(shí)處理,以便在常見的監(jiān)控應(yīng)用中實(shí)現(xiàn)檢測和跟蹤的即時(shí)飛行控制。
在本研究中,我們提出了一種在高分辨率圖像上進(jìn)行小物體檢測的高效解決方案,同時(shí)保持低復(fù)雜度和內(nèi)存占用。為此,我們專注于微型飛行器上的行人和車輛檢測,這涉及到前面討論的問題。這些問題的解決方案依賴于三個(gè)階段:第一步,訓(xùn)練數(shù)據(jù)集通過使用在原始高分辨率圖像中裁剪的子集圖塊進(jìn)行增強(qiáng),同時(shí)將目標(biāo)邊界框相應(yīng)地映射。這些 crops 將小物體映射到較大的相對區(qū)域,并在訓(xùn)練階段的CNN結(jié)構(gòu)的early layers中prevent misses。第二步關(guān)注CNN的部署,在這里,目標(biāo)圖像被分割為重疊的圖塊,并在每個(gè)圖塊上獨(dú)立執(zhí)行目標(biāo)檢測。每個(gè)圖塊中的object proposals被合并,以在輸入圖像的原始分辨率下進(jìn)行最終檢測。為了在滿足實(shí)時(shí)要求的同時(shí)利用圖塊的優(yōu)勢,我們利用了一個(gè)高效的框架Pelee,該框架最初應(yīng)用于大小為304x304的圖像。第三步我們修改了Pelee中的特征分辨率,以解決小物體的問題。所有實(shí)驗(yàn)都在移動(dòng)GPU NVIDIA Jetson TX1和TX2模塊上進(jìn)行。
2. Related Work
略過文章來源地址http://www.zghlxwxcb.cn/news/detail-674895.html
3. Problem Description
對于移動(dòng)設(shè)備(尤其是MAV和搭載電池的車輛)上實(shí)時(shí)部署目標(biāo)檢測框架的約束限制了可用網(wǎng)絡(luò)的數(shù)量。前面提到的基于區(qū)域的方法對于及時(shí)操作不方便,而基于回歸的技術(shù)則是為了在設(shè)備上進(jìn)行 onboard processing 而設(shè)計(jì)的。在表1中,展示了在COCO數(shù)據(jù)集上的準(zhǔn)確性以及在Nvidia TX2上的計(jì)算時(shí)間(每秒幀數(shù)(FPS)),其中包括各種基于回歸的技術(shù)及其適用于移動(dòng)設(shè)備的版本。根據(jù)表格,最近推出的Pelee不僅比所有移動(dòng)檢測框架(SSD+MobileNet和YOLOv3-tiny )更快,而且在與尺寸大10倍且計(jì)算能力較慢4倍的模型(如YOLOv2)相比的情況下,也提供了可比較的準(zhǔn)確性。據(jù)我們所知,Pelee不僅是各種最先進(jìn)技術(shù)中目前最佳的替代方案,還為額外的計(jì)算提供了足夠的空間。
盡管Pelee在移動(dòng)GPU上實(shí)現(xiàn)了實(shí)時(shí)性能,但由于SSD的特性,它在高分辨率圖像中仍然受到檢測小目標(biāo)的困擾,如圖1所示。在圖中,展示了VisDrone2018 Video數(shù)據(jù)集中一些圖像的Pelee檢測(304x304)的典型結(jié)果。特別是對于較小的目標(biāo),表現(xiàn)出的目標(biāo)檢測性能較差,尤其是在黃色A-B-C-D所示的區(qū)域。
VisDrone2018 VID數(shù)據(jù)集在訓(xùn)練集中有100多萬個(gè)邊界框注釋,在驗(yàn)證集中有11個(gè)不同類別標(biāo)簽(行人、人、自行車、汽車、貨車、卡車、三輪車、雨篷三輪車、公共汽車、摩托車、其他)的140k個(gè)注釋,非常適合我們的場景。我們將VisDrone2018中的類別分為兩大類,即行人和車輛,以便進(jìn)行更清晰簡化的任務(wù)。在訓(xùn)練集中,人類和車輛類別的像素高度和寬度直方圖如圖2所示(將圖像縮放為1920x1080)。很明顯,一半的注釋對應(yīng)于像素高度和寬度小于50像素的對象。這個(gè)值是根據(jù)標(biāo)準(zhǔn)中討論的閾值的一半。在VisDrone2018數(shù)據(jù)集中,小目標(biāo)占了大多數(shù),只有一半的目標(biāo)滿足監(jiān)控閾值,而只有20%的目標(biāo)滿足10%圖像高度的檢測閾值。這在基于MAV的監(jiān)視中是一個(gè)常見情況。
4. Proposed Approach
為了解決小目標(biāo)檢測問題,我們提出了一種tiling方法,該方法在訓(xùn)練和推斷階段都應(yīng)用如圖3所示。在圖中,展示了一個(gè)典型的3x2 tiling,根據(jù)圖像分辨率和目標(biāo)物體縱橫比,可以應(yīng)用任意的tiling。將輸入圖像劃分為重疊的tiling,使得相對于輸入網(wǎng)絡(luò)的圖像,小目標(biāo)的像素區(qū)域增大。這適用于任何類型的網(wǎng)絡(luò),另一方面,我們選擇Pelee 來通過快速執(zhí)行獲得顯著的準(zhǔn)確率提高。
4.1. Pelee Architecture
整個(gè)PeleeNet網(wǎng)絡(luò)由Stem Block、七個(gè)特征提取器階段和ResBlock組成。首先,前四個(gè)特征提取器階段由Dense Block組成,以前饋的方式將每一層連接到其他每一層。在訓(xùn)練過程中,輸入幀被降采樣到304x304分辨率。然后,降采樣后的圖像被送入Stem Block,以提高特征表達(dá)性能而不會(huì)增加太多的計(jì)算成本。在特征提取階段,網(wǎng)絡(luò)在5個(gè)尺度的特征圖中(19x19、10x10、5x5、3x3和1x1)學(xué)習(xí)視覺特征示,具有不同的縱橫比,然后在產(chǎn)生目標(biāo)類別和邊界框位置預(yù)測之前,將其傳遞到殘差塊(ResBlock)中。
我們的目標(biāo)檢測系統(tǒng)基于SSD 的源代碼,使用Pytorch 進(jìn)行訓(xùn)練。用于特征提取的VGG-16網(wǎng)絡(luò)被Pelee替代。批大小設(shè)置為32。動(dòng)量值為0.9,權(quán)重衰減為5e-4,γ值為0.5。初始學(xué)習(xí)率設(shè)置為0.001,然后在分別進(jìn)行10K、20K、30K、40K和70K次迭代后降低10倍。訓(xùn)練在第120K次迭代時(shí)終止。
4.2. Tiles in network training
為了減輕小目標(biāo)問題,我們降低了訓(xùn)練過程中因?yàn)椴捎脠D像降采樣而產(chǎn)生的影響。通過重疊的tiles,將圖像分割成較小的圖像,其中tiles的大小根據(jù)訓(xùn)練框架中使用的圖像大小進(jìn)行選擇。如圖3所示,較低分辨率的圖像(MxN)通過重疊的tiles從原始圖像中裁剪出來。需要注意的是,在裁剪之前將輸入圖像分辨率設(shè)置為1920x1080,以固定tiles的大小。每個(gè)tiles對應(yīng)于一個(gè)新的圖像,其中g(shù)round truth物體的位置按照原樣排列,而不改變物體的大小。通過這種方式,與完整畫面相比,裁剪圖像中的相對物體大小增加了。裁剪后的(MxN)圖像和完整畫面被用作網(wǎng)絡(luò)訓(xùn)練的輸入數(shù)據(jù)。需要注意的是,為了檢測場景中的大物體,完整畫面也被輸入到網(wǎng)絡(luò)訓(xùn)練中。
tiles之間的重疊區(qū)域用于保留沿tiles邊界的物體,并防止由于圖像分割而導(dǎo)致的任何遺漏。在本研究中,我們選擇了連續(xù)tiles之間的25%交疊區(qū)域;子采樣圖像的分辨率N(寬度和高度)根據(jù)tiles數(shù)量(T)和圖像大?。⊿)確定為:
在表2中給出了對VisDrone2018數(shù)據(jù)集的裁剪圖像分辨率、邊界框數(shù)量和圖像數(shù)量的tiling效果。由于重疊比率將網(wǎng)格大小增加到5x3會(huì)導(dǎo)致注釋邊界框數(shù)量增加2.5倍。將Pelee的圖像分辨率與tile分辨率進(jìn)行比較(304x304),降采樣率大大降低,以保持小目標(biāo)在網(wǎng)絡(luò)可檢測范圍內(nèi)。隨著tile的增加,較大的物體可能無法適應(yīng)tile和交叉區(qū)域,失去較大目標(biāo)注釋的風(fēng)險(xiǎn)也會(huì)增加。因此,在某一點(diǎn)上,tile的增加開始減少注釋數(shù)量。圖2中給出了tile擴(kuò)展對目標(biāo)尺寸分布的影響,藍(lán)色表示擴(kuò)展后的直方圖。在提取直方圖時(shí),tile內(nèi)的對象注釋相對于將裁剪圖像映射到完整分辨率(1920x1080)的尺度進(jìn)行了放大。因此,正如在圖2中觀察到的,tile方法將較小的對象視為較大的對象。
4.3. Tiles during inference
與圖3中給出的相同結(jié)構(gòu)在目標(biāo)檢測期間也得到了利用。首先,輸入幀被調(diào)整為1920x1080的大小,并且通過根據(jù)計(jì)算能力確定的tiles數(shù)量來裁剪輸入幀生成tiles圖像。由于計(jì)算性能問題,推斷期間的tiles網(wǎng)格可以與訓(xùn)練階段中的網(wǎng)格不同。每個(gè)tiles都被獨(dú)立處理,就像原始幀一樣,結(jié)果的檢測框和類別概率被收集為初始結(jié)果。在這一點(diǎn)上,由于tiles和全幀之間的重疊,初始結(jié)果中會(huì)有重復(fù)的對象檢測。根據(jù)邊界框和類別分?jǐn)?shù)的交集合并初始結(jié)果。如果重復(fù)檢測的交集超過25%,則分?jǐn)?shù)較高的一個(gè)被接受為更好的選擇,另一個(gè)從檢測列表中刪除。在合并步驟中,與整個(gè)幀相比,tiles內(nèi)的小對象通常會(huì)獲得更高的分?jǐn)?shù),而對于大小與tiles區(qū)域相當(dāng)?shù)妮^大對象來說,情況相反。因此,小型和大型對象都會(huì)得到謹(jǐn)慎處理。
tiles的數(shù)量線性增加了整體檢測框架的復(fù)雜性。因此,這種方法適用于輕量級和高效的網(wǎng)絡(luò),以滿足在不增加內(nèi)存使用的情況下進(jìn)行實(shí)時(shí)推斷。另一方面,相對于原始高分辨率幀,實(shí)際上原始圖像中的相對對象尺寸可能非常小,因此小對象檢測的準(zhǔn)確性顯然可以提高。即使只有少量的tiles,也可以顯著提高小對象檢測的性能,這在實(shí)驗(yàn)部分中有所呈現(xiàn)。
4.4. Pelee Framework Modifications
tiling方法引入了與網(wǎng)格數(shù)成線性關(guān)系的附加計(jì)算。為了解決小目標(biāo)問題,還可以增加特征提取層的數(shù)量,以在不過多增加計(jì)算時(shí)間的情況下檢測小目標(biāo)。在原始的SSD結(jié)構(gòu)中,使用了38x38、19x19、10x10、5x5、3x3和1x1的特征向量。帶有Mobilenet的SSD沒有使用38x38的特征向量,以在速度和準(zhǔn)確性之間取得平衡。他們在預(yù)測時(shí)使用另一個(gè)2x2的特征圖。這樣,他們使用了一個(gè)較小的網(wǎng)絡(luò),以在犧牲小目標(biāo)檢測準(zhǔn)確性的同時(shí)獲得速度優(yōu)勢。原始的Pelee架構(gòu)也放棄了38特征圖,以平衡速度和準(zhǔn)確性的權(quán)衡,但不像MobileNet那樣使用2個(gè)特征圖。在我們的框架中,我們使用38特征圖對Pelee網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以提高小目標(biāo)的檢測準(zhǔn)確性。文章來源:http://www.zghlxwxcb.cn/news/detail-674895.html
5. Experiments && 6. Conclusion
略過
到了這里,關(guān)于論文閱讀 The Power of Tiling for Small Object Detection的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!