姜敏 王力 王冬冬
摘 ?要: 針對行人檢測中檢測速度慢,不能實現(xiàn)實時性檢測的問題,提出一種改進的SSD(Single Shot MultiBox Detector)行人檢測算法。改進網(wǎng)絡通過調整基礎網(wǎng)絡中卷積層的數(shù)量,去除冗余的卷積層,降低模型復雜度,提高檢測速度;不同尺度特征圖進行預測之前加入殘差塊,進一步提取特征,提高準確率。提取PASCAL VOC數(shù)據(jù)集中的行人圖像和INRIA數(shù)據(jù)集形成混合數(shù)據(jù)集進行訓練,增加模型泛化性,實驗證明本方法擁有較高的精度和較快的速度,具有良好的泛化性,滿足實時性要求。
關鍵詞:?行人檢測;單發(fā)多框檢測器;卷積神經(jīng)網(wǎng)絡;深度殘差網(wǎng)絡;深度學習
中圖分類號:?TP391.4????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2020.02.012
【Abstract】: To solve the problem that the detection speed is too slow to realize real-time detection in pedestrian detection, an improved SSD (Single Shot Multibox Detector) pedestrian detection algorithm is proposed. By adjusting the number of convolution layers in the basic network and removing the redundant convolution layers, the complexity of the model can be reduced and the detection speed can be improved. Residual blocks are added before different scale feature maps are predicted to further extract features and improve the accuracy. The person images of PASCAL VOC dataset are combined with INRIA dataset to form a mixed dataset for training, and the generalization of the model is increased. Experiments show that the method has high accuracy and speed, good generalization and real-time requirements.
【Key words】: Pedestrian detection; SSD; Convolutional neural network; Deep residual network; Deep learning
0??引言
近年來,隨著深度學習在在計算機視覺領域的成功應用,目標檢測也得到了快速發(fā)展。行人檢測是通用目標檢測中一個典型且最具挑戰(zhàn)性的問題,受到了社會各界的廣泛關注[1]。當前的深度學習模型在追求高精度的同時,導致網(wǎng)絡結構復雜化,需要高性能的硬件設備才能完成相關研究,所以構建輕量化網(wǎng)絡,可以減少模型的計算開銷,提升檢測速度,降低硬件成本。
行人檢測技術可以分為基于手工設計特征的方法和基于深度學習網(wǎng)絡特征的方法。手工設計特征如方向梯度直方圖(Histogram Of Oriented Gradient, HOG)、局部二值模式(Local Binary Pattern, LBP)等方法能很好的表征姿態(tài)各異尺度多變的行人特征,可變型組建模型(Deformable Part Model, DPM)更是拿下了PASCAL VOC行人檢測挑戰(zhàn)賽2006年度的冠軍。但是這類特征也有很明顯的不足,特征依賴人工設計,工作量大且對設計人的經(jīng)驗要求高,設計的特征只局限于某幾種類型,對不同環(huán)境下的檢測任務不具有普適性。深度卷積神經(jīng)網(wǎng)絡作為一種能自動直接從原始數(shù)據(jù)中提取抽象特征的特征提取器[2],在圖像處理、語音識別和自然語言處理等領域取得的成就引起廣泛關注。
基于深度學習的目標檢測方法可分為兩階段網(wǎng)絡和單階段網(wǎng)絡。兩階段網(wǎng)絡主要有R-CNN[3]、Fast R-CNN[4]、Faster R-CNN[5]、R-FCN[6]等,此類網(wǎng)絡在檢測精度方面表現(xiàn)優(yōu)異,但是在檢測速度方面由于模型復雜度高,網(wǎng)絡參數(shù)龐大使得檢測速度緩慢。而以YOLO(You Only Look Once)[7]和SSD[8]為代表的單階段網(wǎng)絡,在檢測速度上有很大的優(yōu)勢,尤其是SSD網(wǎng)絡檢測精度高,實時性好。但是SSD網(wǎng)絡復雜度依然很高,不容易訓練,對小目標的檢測性能不佳,容易造成漏檢和誤檢。針對以上問題,本文基于原始SSD網(wǎng)絡框架,調整基礎網(wǎng)絡部分的卷積層數(shù)量,減少特征的計算量,提升模型檢測速度;在特征圖進入檢測層之前融入殘差網(wǎng)絡,進一步融合特征,提高檢測準確率。
1 ?SSD算法
1.1 ?SSD網(wǎng)絡結構
SSD算法作為一種優(yōu)秀的單階段通用目標檢測
算法,利用多尺度的檢測特性,使其能適應大目標和小目標檢測任務,SSD網(wǎng)絡結構如圖1所示,基礎網(wǎng)絡部分保留了VGG-16[9]的前五組卷積層進行淺層特征提取,隨后連接的是由VGG-16的前2個全連接層改成的卷積層即fc6層與fc7層,并額外增加4組卷積層,對淺層特征進一步提取,新增的每一組卷積層由1?1大小的卷積核和3?3大小的卷積核組成,前者負責降通道,后者負責增通道。原始圖像經(jīng)過特征提取后,選取不同層的特征輸出進行預測,預測目標框的位置偏移以及類別置信度,最后經(jīng)過loss層的非極大抑制(Non-Maximum Suppression, NMS)方式得到最終檢測結果。
1.2 ?區(qū)域候選框的計算
網(wǎng)絡中不同層次的特征圖具有不同的感受野(receptive field),即不同層次特征圖上的特征值對應于原始圖像不同尺寸的圖像塊[10]。在不同尺度的特征圖上設置不同的縮放因子來調整區(qū)域候選框的大小,以適應原始圖片上大小不一的目標。假設選取個特征圖進行預測,則每個特征圖中的區(qū)域候選框的尺寸計算如下所示。
2 ?改進SSD算法
2.1 ?基礎網(wǎng)絡部分
SSD方法采用VGG-16作為基礎網(wǎng)絡,網(wǎng)絡參數(shù)龐大,在特征提取過程中耗費了大量時間,很大程度上增加了硬件開銷,使檢測速度變慢,首先通過對基礎網(wǎng)絡部分的調整,以提高檢測實時性,調整后的網(wǎng)絡結構表1所示。
由表1中的參數(shù)與原始SSD的網(wǎng)絡參數(shù)對比可知,改進的基礎網(wǎng)絡部分去除每一組卷積層中重復的卷積層,F(xiàn)c6和Fc7保持不變,額外增加一個卷積層Conv10,使卷積輸出的特征圖尺寸為1?1,新的每一個卷積組中只含有一個卷積層和一個池化層,在每一個卷積層后面量加入批量正則化BN(Batch Normalization)[11]層,平滑不同特征圖之間的偏差,以提高模型的魯棒性,BN層后使用非線性單元ReLU函數(shù)以加快模型的收斂。為了避免調整基礎網(wǎng)絡過后,特征提取不充分,模型的檢測精度受到影響,于是在作為預測輸入的特征圖進入分類與回歸之前,加上深度殘差塊作為附加特征提取部分。
2.2??附加特征提取部分
深度殘差網(wǎng)絡(Resnet)[12]是2015年何凱明等人提出的由殘差塊(Resblock)堆疊而成的深度卷積神經(jīng)網(wǎng)絡模型,殘差塊有不同的結構及其變體,這里遵循文獻[13]提出的關于殘差塊的設計思想,殘差塊的作用是學習高級抽象特征,而基礎網(wǎng)絡中包含的低級特征則在高級檢測信息中保持原封不動。殘差塊的結構圖如圖2所示。
殘差塊中使用1?1大小的卷積核和3?3大小的卷積核交替連接,特征圖在第一個1?1大小卷積處進行降維,在第二個1?1卷積處做了還原,3?3大小卷積層能很好的表示模型的淺層特征,1?1大小和3?3大小的卷積層交替連接使得卷積層的輸入輸出通道數(shù)都減小,參數(shù)數(shù)量進一步減小,在殘差塊的層與層之間加入批量歸一化(BN)層和非線性激活函數(shù),增加特征的非線性表達。加入殘差塊可以提升SSD框架的檢測性能,解決基礎網(wǎng)絡輕量化帶來的精度退化問題。
2.3??改進網(wǎng)絡結構
改進SSD算法的整體網(wǎng)絡結構如圖3所示,在文獻[14]中為了節(jié)約計算開銷,不。使用38?38大小的特征圖,但是會導致淺層特征提取不充分,所以這里與原始SSD類似,選取同樣大小的特征圖作為預測輸入,這里選取的是Conv4、Fc7、Conv7、Conv8、Conv9和Conv10,輸出尺度分別為38?38、19?19、10?10,5?5、3?3和1?1,原始圖片經(jīng)過基礎網(wǎng)絡進行特征提取后,得到的不同尺度特征圖作為殘差塊的輸入,將殘差塊輸出的特征圖送入檢測層進行分類與回歸。
3??實驗分析
3.1??數(shù)據(jù)集
INRIA數(shù)據(jù)集是目前使用最廣泛的靜態(tài)行人檢測數(shù)據(jù)集,有正樣本和負樣本兩部分,其中正樣本共有902張圖片,614張圖片作為訓練集,包含行人樣本2416個,288張圖片作為測試集,包含行人樣本1126個,圖片中的人多為站立姿勢且高度大于100像素,數(shù)據(jù)集場景豐富,清晰度高,標注準確。
PASCAL VOC數(shù)據(jù)集是極具代表性的目標檢測數(shù)據(jù)集,很多經(jīng)典算法都在該數(shù)據(jù)上完成訓練與驗證,數(shù)據(jù)集包含20 個檢測類別,人是20個分類中的一個,所以手動提取VOC數(shù)據(jù)集中的行人圖片參與訓練,提高模型的泛化性。
采用幀率(frames per second, FPS)來評估模型的檢測速度,幀率也叫每秒檢測數(shù),等于處理一張圖片耗費的時間的倒數(shù)。
3.3??訓練過程
實驗設備配置如下,CPU為Intel i7-8700,內存為16G,操作系統(tǒng)為64位Windows 10,GPU型號為GTX1660Ti 6G顯卡,實驗框架為keras 深度學習開源框架。訓練和驗證損失如圖4所示。
網(wǎng)絡訓練使用優(yōu)化算法為Adam,初始學習率為0.0001,迭代75000次。從圖4的迭代損失圖中可以看出,隨著迭代次數(shù)的增加,訓練損失在40000到次60000之間趨于平穩(wěn)下降,并在70000次左右趨于收斂,驗證損失在60000次左右趨于收斂。
3.4??實驗結果與分析
(1)混合數(shù)據(jù)集和單一數(shù)據(jù)集使用評估
從VOC數(shù)據(jù)集中提取的行人圖片在這里叫做VOC person,將INRIA數(shù)據(jù)集和VOC person組成混合訓練集共同訓練,混合數(shù)據(jù)集中的驗證集為VOC數(shù)據(jù)集中的person 驗證集;INRIA數(shù)據(jù)集單獨訓練,混合數(shù)據(jù)和單一數(shù)據(jù)均在INRIA的測試集上完成模型評估。
由表2結果可以看出,測試集在兩個模型上的平均正確分別為88.5%和90.1%,混合數(shù)據(jù)集訓練的模型在平均正確率上較單一數(shù)據(jù)集訓練的模型有1.6%的提升,可見混合數(shù)據(jù)集能提升模型的檢測性能,這與文獻[15]中對于混合數(shù)據(jù)集能降低行人誤檢率的結論相吻合,所以下面的實驗在混合數(shù)據(jù)集上完成。
(2)改進SSD算法與原始SSD算法性能對比
本文分別對比原始SSD算法和改進SSD算法在混合數(shù)據(jù)集上的檢測性能,包括平均正確率和檢測速度。首先計算模型的檢測速度,隨機抽取10張圖片檢測,并分別記錄在兩個模型在batchsize=1時的檢測時間,結果如表3所示。
與表中檢測時間相對應的幀率如圖5所示。
從圖5中可以看出,原始SSD算法與改進SSD算法的檢測速度在第一張圖片處相差7FPS,在第8張圖片處相差了13FPS,改進SSD算法平均檢測速度為51.7FPS,原始SSD的檢測速度平均為41.6FPS,結合檢測精度,兩個模型在測試集上的綜合性能對比如表4所示。
由表4可以看出,改進SSD算法比原始SSD算法在檢測速度上平均高出10FPS,改進SSD算法在INRIA測試集上表現(xiàn)優(yōu)異,取得了90.1%的平均正確率,但相比原始SSD算法的91.5%降低了1.4%,這是由于調整網(wǎng)絡結構時,去除了重復的特征層,犧牲了一點精度換取速度的提升,使模型具有更好的實時性。
4 ?結束語
為了解決行人檢測速度慢,檢測模型復雜度高,網(wǎng)絡參數(shù)龐大的問題,提出通過調整模型結構,刪除重復的卷積層,在卷積層之后加上BN層的改進方法,加快模型收斂,達到提升檢測速度的效果。調整基礎網(wǎng)絡過后,為了避免檢測精度退化,在特征圖進入預測層之前,加入殘差塊,對特征進一步提取,以提高模型的檢測精度。在同一測試集上對比了單一數(shù)據(jù)集訓練的模型和混合數(shù)據(jù)集訓練的模型的檢測精度,混合數(shù)據(jù)集訓練的模型檢測效果更好,能提高模型的泛化性與檢測精度。實驗結果表明,本方法檢測速度與原始方法對比有明顯的提高,具有良好的實時性,但犧牲了一點精度。下一步的研究方向,是在不明顯影響速度的前提下提升模型檢測精度。
參考文獻
黃同愿, 向國徽, 楊雪姣. 基于深度學習的行人檢測技術研究進展[J].重慶理工大學學報(自然科學), 2019, 33(4): 98-109.
Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553):?436.
R. Girshick, J. Donahue, T. Darrell, et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]. IEEE Computer Vision and Pattern Recognition, Columbus, 2013, 580-587.
GIRSHICK R. Fast r-cnn[C]//Proceedings of the IEEE International Conference on Computer Vision. Santiago, Chile: IEEE, 2015: 1440-1448.
Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):?1137-1149.
Dai J, Li Y, He K, et al. R-FCN: object detection via region-based fully convolutional networks [C]// Neural Information Processing Systems. 2016: 379-387.
Redmon J, Divvala S, Girshick R, et al. You only look once: unified, real-time object detection [C]// Computer Vision and Pattern Recognition. 2016: 779-788.
Liu W, Anguelov D, Erhan D, et al. SSD: single shot multibox?detector [C]// Proc of European Conference on Computer Vision. Springer, 2016: 21-37.
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [C]// Proceedings of International Conference on LearningRepresentations. ?[S.l.]: Computational and Biological Learning Society, 2015: 1-14.
邢浩強, 杜志岐, 蘇波.基于改進SSD的行人檢測方法[J].計算機工程, 2018, 44(11):?228-233, 238.
王華利, 鄒俊忠, 張見, 等.基于深度卷積神經(jīng)網(wǎng)絡的快速圖像分類算法[J].計算機工程與應用, 2017, 53(13): 181-188.
He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Computer Vision and Pattern Recognition. 2016: 770-778.
Kyoungmin Lee, Jaeseok Choi, Jisoo Jeong, and Nojun Kwak. Residual features and unified prediction network for single stage detection?[EB/OL]. arXiv preprint arXiv:1707.05031, 2017. https://arxiv.org/abs/1707.05031.
Wang R. J., Li X., Ao S. and Ling C. X. 2018 Pelee: A Real-Time Object Detection System on Mobile Devices?[EB/OL]. arXiv preprint arXiv:1804.06882. https://arxiv.org/?abs/1804.06882.
郝旭政, 柴爭義. 一種改進的深度殘差網(wǎng)絡行人檢測方法[J/OL]. 2019, 36(6). [2018-03-16]. http://www.arocmag.com/?article/02-2019-06-057.html.