雷李義 艾矯燕 彭婧 姚冬宜


摘要:在這篇文章中,我們提出了一個關于水面漂浮物的小型數據集,并分析了幾種目標檢測模型在數據集上的表現,包括Faster R-CNN,R-FCN和SSD。我們的目的是探究目標檢測模型在檢測水面漂浮物特別是非物體類別時的特性,并找出權衡精確度和速度后最適合于引導水面清潔無人船的模型。為此,我們制作了一個小型的水面漂浮物數據集,數據集主要包括漂浮水草和漂浮落葉。之后我們通過將預訓練模型在水面漂浮物數據集上進行遷移學習,實現了對于水面漂浮物區域的目標檢測。我們對比并分析了這些模型的表現,SSD目標檢測模型有著更高的精確度,Faster R-CNN模型則能給出更詳細的預測,而同時擁有豐富結構特征和相當深度特征的模型對于困難目標有著更好的表現。
關鍵詞:數據集;深度學習;目標檢測
中圖分類號:TP391 文獻標識碼:B 文章編號:2095-672X(2019)06-0-04
DOI:10.16647/j.cnki.cn15-1369/X.2019.06.071
Abstract:In this paper, we present a small dataset focusing on floating objects and analyses the performance of several object detection models when detecting floating objects, including Faster R-CNN, R-FCN, and SSD. We aim to explore the properties of these object detection models when detecting floating objects specifically “stuff” objects and find the speed/accuracy balance for guiding the unmanned surface vessel(USV) to clean rubbish on water surface automatically. To this end, we have created a floating objects dataset which is mainly focused on floating leaves and floating weeds. Then we fine-tune the pre-trained models on our dataset to achieve the ability to detect floating objects. We compare and evaluate the performance of these models, including the average precision on 2 major classes and weighted average precision. Our findings show that the models using SSD as meta-architecture gain higher precision but the models using Faster R-CNN as meta-architecture give more specific predictions, and the models have both rich hierarchies features and deep features perform better when dealing with difficult examples.
Keywords:Dataset;Deep learning;Object detection
大家都喜歡景觀湖帶來的美麗景色,但現階段景觀湖的日常維護非常麻煩。主要有落葉和水草2種漂浮物會每天累積在湖面,為了保證湖面的清潔,目前只能由工人從湖面一點一點打撈這兩種漂浮物,這種清潔方式不僅耗時耗力而且很難完全清潔湖面。為了減少勞動力的浪費,我們計劃制作一艘水面清潔無人船,而這便需要無人船擁有檢測水面漂浮物的能力。最近幾年,目標檢測模型的性能進步非常快。自從計算機視覺進入深度學習時代后,有很多新的目標檢測模型被提出,其中一些模型由于獨特的設計和出色的性能到現在還被使用在各個領域,包括Faster R-CNN[5],R-FCN[6]和SSD[7]等。但是性能的提升主要針對于大型數據集,而大型數據集涵蓋的都是常見的物體類別,很少包含特定領域的類別比如說我們需要的漂浮水草和漂浮落葉。
為了解決水面漂浮物檢測的問題,我們制作了一個小型的水面漂浮物數據集。由于我們研究的兩個景觀湖主要有落葉和水草兩種漂浮物累積,因此數據集中的圖片主要為這兩類漂浮物。考慮到這兩類漂浮物的特性以及標注的效率,我們對含有這兩類漂浮物的區域進行邊界框標注。之后我們利用數據集對8個經過預訓練的目標檢測模型進行遷移學習,并從精確度和檢測結果樣張兩個角度分析了這8個目標檢測模型在數據集上的表現。
總結起來,本文的主要貢獻如下:(1)一個聚焦于水面漂浮物的小型目標檢測數據集;(2)一個簡要的目標檢測架構對比分析;(3)8個目標檢測模型在水面漂浮物數據集上的表現分析,其中SSD實現了最好的速度和精確度的平衡。進一步的,我們的研究發現同時擁有豐富結構特征和相當深度特征的模型在面對困難目標時有更好的表現。
1 相關工作
本節將從兩個方面介紹相關工作,第一是公開的目標檢測數據集;第二是現有的目標檢測算法評估。
1.1 公開數據集
目前有很多公開的大型目標檢測數據集。文獻[1]提出了一個大型數據集ImageNet,數據集基于詞典結構制作,包含了12個子樹下的5247個類別,總共有320萬標注圖片。所有的圖片都來自互聯網,通過在幾個搜索引擎中檢索一組詞典中的近義詞得到。ImageNet數據集的出現大幅推動了計算機視覺的發展。文獻[2]提出了一個大型數據集COCO,數據集旨在推動實現對于場景的理解。數據集包含32.8萬張圖片和250萬個標注實例,涵蓋了91個類別。文獻中將事物的類別分為物體類和非物體類,由于數據集專注于物體的精確定位,因此數據集中只包含了物體類的事物。
1.2 目標檢測模型評估
文獻[8]提供了一個如何在速度與精確度的權衡中選擇合適的目標檢測模型的指導,并公開了一個整合了三種目標檢測架構以及各種特征提取網絡的項目。所有的模型都在COCO數據集上進行了訓練,并從精確度、運行時間和內存占用等角度進行了對比分析。文獻[9]分析了多個目標檢測模型在德國交通標志檢測基準(GTSDB)數據集上的表現,評估包括了多個度量下的對比分析,結果顯示Faster R-CNN Inception ResnetV2有最高的精確度,但是R-FCN Resnet101在權衡了速度與精確度后表現最好。
2 水面漂浮物數據集
由于現有數據集都集中于常見物體并且標注的主要都是物體類的目標,因此不能用于檢測水面漂浮物的訓練。為了實現引導水面清潔無人船的功能,需要我們制作一個專門針對水面漂浮物進行標注的目標檢測數據集。本節將介紹我們是如何制作水面漂浮物數據集以及數據集的相關統計數據。
2.1 數據集的制作
目前為止,所有的圖片都是通過拍攝廣西大學內的鏡湖和碧云湖得到的。由于校內的景觀湖每天都會定時清理,從上午的7點到9點和下午的3點到5點,因此漂浮物的累積主要集中于上午9點到下午3點這個時間段,也因此數據集中的圖片主要采集于這個時間段。圖1展示了2張數據集中的圖片。
文獻[2]將事物的類別分成了物體和非物體2類,其中物體類指的是獨立的個體能夠被輕易標注的類別,非物體類則包括材料和一些沒有清晰邊界的類別。由于漂浮水草和漂浮落葉兩類目標經常聚集在一片區域并且單根水草和單片落葉的體積非常小,因此我們將漂浮水草和漂浮落葉歸為非物體類別并且進行區域標注,即將漂浮水草區域和漂浮落葉區域標注為一個目標。盡管對圖像進行語義分割區域的標注能夠更加貼合區域的形狀,但是標注語義分割區域的工作量遠遠高于標注目標檢測邊界框的工作量,因此我們選擇通過邊界框的形式對有明顯漂浮水草或漂浮落葉聚集的區域進行標注,并且使邊界框盡可能的貼近聚集區域的范圍。同時為了進一步提高標注效率,在保證標注準確率的前提下,我們更傾向于將聚集的大范圍區域視為大目標進行標注,而不是視為多個分散的小目標分別進行標注。
收集到的圖像中,除了會出現落葉和水草漂浮在水面,還會出現長在湖中的睡蓮和環繞在岸邊的一些植物,因此數據集中標注了少量的睡蓮和岸邊植物。由于睡蓮和植物都能視為物體類的目標,因此這兩類的標注要輕松很多。
我們使用標注工具LabelImg對圖像進行標注,標注信息保存為XML格式的文件,與PASCAL VOC數據集的格式相同。圖2展示了2張標注圖像。
2.2 數據集的統計數據
目前為止我們對683張圖像進行了標注,總共標注了2015個邊界框,數據集中的圖像全部為19201080像素。我們將數據集中80%的圖像(546張圖像)作為訓練集,剩下20%的圖像(137張圖像)作為驗證集。表1展示了數據集中的統計數據,平均尺寸指的是邊界框的面積在整幅圖像中所占的百分比。我們可以注意到,漂浮落葉區域的邊界框數量最多,而漂浮水草區域的邊界框平均尺寸最大。由于睡蓮和岸邊植物并不作為主要研究對象,因此這兩類目標的數據較少。
3 目標檢測算法分析
本節將對實驗中使用的三種目標檢測算法進行對比分析。
Faster R-CNN和R-FCN都是二階段目標檢測架構。在第一階段中,兩者都同樣使用特征提取網絡提取特征圖,然后通過區域預測網絡得到對目標的位置信息和類別信息的初步預測。在第二階段中,Faster R-CNN首先根據初步預測的位置對特征圖進行截取,然后將得到的初步預測位置的特征圖通過特征提取網絡進行進一步的特征提取。與Faster R-CNN不同,在第二階段中R-FCN先不對特征圖進行截取,而是直接將整張圖像的特征圖通過特征提取網絡提取特征,之后再根據初步預測的位置對新的特征圖進行截取,得到對位置信息敏感的特征圖。因此,兩者的主要區別在于第二階段中,是否在提取特征后再對特征圖進行截取。兩者的區別可以進一步理解為,在第二階段的特征提取網絡中,是根據第一階段提取的位置信息進行調整,還是另外提取一遍位置信息后和第一階段得到的位置信息進行整合。
盡管SSD屬于一階段目標檢測架構,和Faster R-CNN之間依然有很多的相似之處,甚至可以將SSD視為是Faster R-CNN中第一階段的升級版。升級主要集中在2個方面,第一,SSD不僅利用神經網絡最后輸出的特征圖,而是利用包括前后多層的特征圖進行預測;第二,得到特征圖后SSD同時對目標的位置和類別進行預測,而不像Faster R-CNN僅僅對目標的位置和是否為目標進行預測。這兩個升級可以進一步理解為,相比Faster R-CNN,SSD使用更少的特征提取網絡來提取特征,但是利用了更多特征提取網絡中的信息。
4 實驗結果與分析
本節將展示實驗結果,并從精確度和檢測結果樣張兩個角度對實驗結果進行分析。
4.1 精確度分析
考慮到各個類別的樣本數量差異較大,采用傳統類別平均精確度(mAP)標準不能準確反映出模型的精確度,因此采用類別加權平均精確度(wAP)標準來衡量模型精確度。每個類別的權值與其類別的樣本數量成正比。當預測的邊界框與正確的邊界框重疊度超過50%則視為預測正確。實驗結果如表2所示,總共對8個模型進行了測試,表中的速度指的是使用一張NVIDIA GeForce GTX TITAN X顯卡檢測一張圖像的運行時間。
首先分析主要兩類漂浮物的檢測精確度。在所有4個分類中,漂浮水草區域的平均精確度最高,而漂浮落葉區域的平均精度最低。漂浮落葉區域有著1161個訓練樣本,與之相比漂浮水草區域僅有382個訓練樣本,由此可見檢測漂浮落葉區域相比檢測漂浮水草區域更為困難。通過分析數據集中的圖像我們發現,漂浮落葉的分布比較零散,而漂浮水草的分布相對比較集中,這也反映在兩類目標的平均尺寸中,單個漂浮落葉區域的平均尺寸遠小于單個漂浮水草區域的平均尺寸,盡管我們對兩類目標都同樣傾向于標注大范圍區域。此外,由于單根水草的體積相對大于單片落葉,即使同樣聚集在一個目標區域中,漂浮水草區域的視覺特征比起漂浮落葉區域也更為明顯。
接下來分別分析檢測漂浮落葉區域和漂浮水草區域時各個模型的表現。當檢測漂浮落葉區域時,4個Faster R-CNN架構的模型的平均精確度從18.09到34.05,可以看出不同的特征提取網絡對模型的性能影響較大,Faster R-CNN Resnet101得到了全部8個模型里最高的精確度。與Faster R-CNN架構的模型不同,SSD架構模型的平均精度穩定在30.23到33.16,與Faster R-CNN相比SSD架構在檢測漂浮落葉區域時對特征提取網絡的敏感度不高,而且3個模型都能得到超過30的精確度,采用相同特征提取網絡時SSD架構模型的精確度遠高于Faster R-CNN架構。值得注意的是, InceptionV2特征提取網絡配合Faster R-CNN時在8個模型中精確度最低,但是配合SSD時的精度能在8個模型中排第2名。
當檢測漂浮水草區域時,不管是Faster R-CNN架構還是SSD架構,模型的精確度都與特征提取網絡的選擇有較大關聯。在4個Faster R-CNN架構的模型中,依然是Faster R-CNN Resnet101得到了最高的精確度。在3個SSD架構模型中,情況與檢測漂浮落葉區域有所不同,SSD Resnet50得到了不僅是3個SSD架構模型而是所有模型中最高的精確度,而SSD InceptionV2的精確度在3個SSD架構模型中,也從檢測漂浮落葉時的最高變成了最低。
從類別加權平均精確度來看,SSD架構模型的精確度整體要好于Faster R-CNN架構模型的精確度。在Faster R-CNN架構中,特征提取網絡InceptionV2的表現要低于Resnet50,但是在SSD架構中兩者的表現卻是相反的。當綜合考慮精確度和速度后,SSD InceptionV2是最優的選擇,在8個模型中精確度排第2僅次于Faster R-CNN Resnet101,而速度方面也排在第2名僅次于SSD MobilenetV2。我們僅測試了一個R-FCN架構模型,它的性能與使用同樣特征提取網絡的Faster R-CNN模型較為接近,精確度上相對更低但速度上也相對更快。
4.2 檢測樣張圖像分析
為了避免引起歧義,兩張測試圖片均來自驗證集而非訓練集。圖3展示了來自8個模型的一組檢測結果。從對比中我們可以發現3種架構模型的檢測結果的風格有很大的不同。使用Faster R-CNN架構的模型會對目標給出更多的預測,不僅僅是使用少量的邊界框來覆蓋一大片區域,而是給出多個長寬比不同的邊界框來盡可能準確的描述圖像中存在目標的區域。值得注意的是,Faster R-CNN InceptionV2和Faster R-CNN Resnet50兩個模型預測出了數據集中沒有標注的漂浮水草區域,經過確認我們判斷這兩個預測都是正確的。此外,Faster R-CNN Resnet101預測到了畫面右上角存在漂浮落葉區域,經過放大后仔細檢查我們發現在湖面反光背后的確藏著漂浮落葉,視覺上非常難以發現。通過以上的分析,我們可以認為Faster R-CNN架構的模型在處理困難目標時相對R-FCN和SSD有著一定優勢。
由于缺少足夠的人力,我們并沒有將漂浮物區域標注的足夠細致,我們希望相對粗略的標注信息足夠使神經網絡學習到有用的目標信息,而檢測樣張表明神經網絡的學習能力相當強大。當然粗略的標注信息的缺點也很明顯,盡管從檢測樣張來看,Faster R-CNN并不弱于SSD,但由于預測出較多的邊界框使之與粗略的標注信息不符,從而影響了精確度結果。
圖4展示了來自8個模型的另一組檢測結果。在這張圖像中,漂浮落葉的分布較為分散,漂浮落葉區域共有3種類型的背景,一種是淺色的樹木倒影,一種是深色的樹木倒影,還有一種是明亮的天空倒影。這組圖像展示了各個模型處理困難目標的能力。盡管整體來看依然是Faster R-CNN架構的模型相比SSD架構的模型能給出更多的預測,但是不管是有著相同的架構或者是相同的特征提取網絡,每個模型給出的預測結果都與其他模型有著很大的不同。由于我們的主要研究對象是目標檢測架構,因此分析主要集中于對比有著相同或相似特征提取網絡的模型。
當對比Faster R-CNN InceptionV2和SSD InceptionV2時,情況與之前的準確率結果完全不同,在面對困難目標時Faster R-CNN InceptionV2盡管與標注信息仍有一定差距,但已經相當準確且除去一個最大的邊界框后依然覆蓋了大部分漂浮物區域,相比之下SSD InceptionV2只給出了一個置信度只有70%的預測。但在對比Faster R-CNN Resnet50和SSD Resnet50時情況又有所不同,Faster R-CNN Resnet50僅僅檢測出了一個天空倒影下的目標和一個錯誤的目標,而SSD Resnet50則檢測出了淺色樹木倒影中的漂浮落葉區域,盡管依然遺漏了另外兩種背景中的目標但相比起Faster R-CNN Resnet50還是更優秀的那個。當將Resnet50升級為Resnet101后,Faster R-CNN架構的模型檢測困難目標的能力也得到了提升。Faster R-CNN Resnet101和R-FCN Resnet101之間的對比也頗為有趣,Faster R-CNN Resnet101檢測出了淺色樹木和深色樹木兩種倒影中的漂浮落葉,而R-FCN Resnet101則檢測出了深色樹木和天空兩種倒影中的漂浮落葉,兩者都檢測出了3種背景中的2種但并不是同樣的2種。
從以上的對比分析中可以發現,當面對復雜背景下的困難目標,同時擁有豐富結構特征和相當深度特征的模型有著更好的檢測能力。具體來說,面對困難目標時Faster R-CNN InceptionV2優于SSD InceptionV2,SSD Resnet50優于Faster R-CNN Resnet50。其中Inception模塊使用了多個尺度的卷積核,SSD架構使用了多個層次的特征圖,這兩者都可以被視為利用了豐富結構的特征信息。Resnet是一系列深度非常深的神經網絡,二階段目標檢測架構在兩個階段中都使用了特征提取網絡,這兩者都可以被視為利用了相當深度的特征信息。
5 總結與展望
在本篇文章中,我們提出了一個小型的水面漂浮物數據集,并且分析了3種目標檢測架構的模型在數據集上的表現。數據集含有683張水面圖像,總共標注2015個邊界框,其中大多數為漂浮落葉區域和漂浮水草區域。通過使用事先在COCO數據集上預訓練的模型在水面漂浮物數據集上進行遷移學習,實現了對水面漂浮物區域的目標檢測。我們對8個模型在水面漂浮物數據集上的表現進行了分析,從數據上看,SSD相比Faster R-CNN和R-FCN有著更高的精確度,SSD InceptionV2有著最優秀的精確度與速度的平衡。從檢測結果樣張上看,Faster R-CNN能夠給對目標更詳細的預測,但由于與數據集中較粗略的標注信息不符從而影響了精確度。此外,通過分析含有復雜背景的樣張,我們發現在面對困難目標時,同時利用豐富結構特征信息和相當深度特征信息的模型有著更好的處理能力。
到目前為止,水面漂浮物數據集仍然處于一個早期階段,我們不僅需要擴充數據量還需要增加數據的多元性。算法方面,我們認識到了目標檢測算法對于處理水面漂浮物的局限性。從檢測結果樣張來看,神經網絡從粗略的邊界框標注信息中學習到了水面漂浮物的視覺特征,但是受限于邊界框的輸出形式不能很好地將預測結果呈現出來。同時由于漂浮落葉區域和漂浮水草區域屬于非物體分類,邊界框的標注不能被當作唯一準確的標注信息,這也影響到了對模型準確率的判斷。我們相信在目標檢測模型的后期處理中加入一定的限制條件可以改善模型預測與標注信息的匹配程度,但我們認為基于邊界框信息的弱監督語義分割模型才是處理水面漂浮物的更好的解決方案。
參考文獻
[1]Deng, J., Dong, W., Socher, R., Li, L. J., Li, K., & Fei-Fei, L. (2009, June). Imagenet: A large-scale hierarchical image database. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 248-255). Ieee.
[2]Lin, T. Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., ... & Zitnick, C. L. (2014, September). Microsoft coco: Common objects in context. In European conference on computer vision (pp. 740-755). Springer, Cham.
[3]Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 580-587).
[4]Girshick, R. (2015). Fast r-cnn. In Proceedings of the IEEE international conference on computer vision (pp. 1440-1448).
[5]Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems (pp. 91-99).
[6]Dai, J., Li, Y., He, K., & Sun, J. (2016). R-fcn: Object detection via region-based fully convolutional networks. In Advances in neural information processing systems (pp. 379-387).
[7]Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C. Y., & Berg, A. C. (2016, October). Ssd: Single shot multibox detector. In European conference on computer vision (pp. 21-37). Springer, Cham.
[8]Huang, J., Rathod, V., Sun, C., Zhu, M., Korattikara, A., Fathi, A., ... & Murphy, K. (2017, July). Speed/accuracy trade-offs for modern convolutional object detectors. In IEEE CVPR (Vol. 4).
[9]Arcos-García, ?., ?lvarez-García, J. A., & Soria-Morillo, L. M. (2018). Evaluation of Deep Neural Networks for traffic sign detection systems. Neurocomputing, 316, 332-344.
[10]Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., ... & Rabinovich, A. (2015). Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1-9).
[11]Arora, S., Bhaskara, A., Ge, R., & Ma, T. (2014, January). Provable bounds for learning some deep representations. In International Conference on Machine Learning (pp. 584-592).
[12]He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
[13]Sifre, L., & Mallat, S. (2014). Rigid-motion scattering for image classification (Doctoral dissertation, PhD thesis, Ph. D. thesis).
收稿日期:2019-04-07
作者簡介:雷李義(1993-),男,漢族,碩士研究生,研究方向為領域為模式識別。