一种基于深度学习的目标检测提取视频图像关键帧的方法
摘要:針對傳統的關鍵幀提取方法誤差率高、實時性差等問題,提出了一種基于深度學習的目標檢測提取視頻圖像關鍵幀的方法,分類提取列車頭部、尾部及車身所在關鍵幀。在關鍵幀提取過程中,重點研究了基于SIFT特征的粗識別和Alex-Net卷積神經網絡模型的精識別兩個階段,通過模型訓練驗證基于卷積神經網絡的關鍵幀提取器的可行性。
關鍵詞:卷積神經網絡(CNN);關鍵幀;目標檢測
中圖分類號:TP391? ? 文獻標識碼:A? ? ?文章編號:1009-3044(2018)36-0201-03
1 概述
隨著我國鐵路的不斷發展,鐵路在運行過程中的安全性問題日益凸顯,視頻監控在鐵路交通安全中起著至關重要的作用。通過攝像頭監控、互聯網的傳播,監控畫面實時顯示,鐵路部門可以利用視頻中的有效圖像信息,對視頻流進行處理,從而有效地保證鐵路系統的正常運營。因此,如何快速有效地提取鐵路視頻圖像中的關鍵幀信息,是本文研究的重點。
考慮到視頻中相鄰幀的重復率一般比較高,關鍵幀的提取可以減少幀數,進而提升圖像特征點檢測和匹配效率,同時也為圖像拼接提供一個組織框架。針對這項關鍵技術,得到了研究者們的廣泛關注,并取得了一定研究成果。文獻[1]從相鄰幀間的顏色或紋理信息變化程度出發,提出了基于視頻內容的方法。文獻[2]通過計算當前幀與類心之間特征值的距離,將視頻中所有幀進行聚類分析,得到基于視頻聚類的分析方法。文獻[3]提出基于運動特征分析的算法,其基本原理是利用光流分析,將視頻中運動量最小的一幀作為關鍵幀。
上述的三類傳統算法主要基于圖像整體信息的變化來選定關鍵幀,容易造成關鍵幀選取錯誤、計算量大、實時性差等問題。因此,本文在此基礎上使用一種基于深度學習的目標檢測方法,通過建立卷積神經網絡(Convolutional Neural Network,CNN)模型,分類提取視頻中列車頭部、尾部及車身所在關鍵幀,使得基于深度學習的目標檢測在關鍵幀提取的應用中成為可能。
2 卷積神經網絡概述
作為深度學習在計算機視覺領域應用的關鍵技術,卷積神經網絡是通過設計仿生結構來模擬大腦皮層的人工神經網絡,可實現多層網絡結構的訓練學習。同傳統的圖像處理算法相比較,卷積神經網絡可以利用局部感受野,獲得自主學習能力,以應對大規模圖像處理數據,同時權值共享和池化函數設計減少了圖像特征點的維數,降低了參數調整的復雜度,稀疏連接提高了網絡結構的穩定性,最終產生用于分類的高級語義特征,因此被廣泛應用于目標檢測、圖像分類領域。
2.1 基本結構
利用卷積神經網絡模型的自主學習能力,可以實現目標檢測,本節主要介紹一種典型的卷積神經網絡結構,如圖1所示。
卷積神經網絡是一種多層深度網絡結構,主要由輸入層、卷積層、池化層、全連接層和輸出層等部分組成。輸入層是需要處理的圖像,計算機可將其理解為若干矩陣。卷積層是卷積神經網絡的重要組成部分,通過輸入層和卷積層之間矩陣的卷積運算,提取輸入圖像的特征。池化層也是卷積神經網絡的重要組成部分,通常設置在卷積層之后,作用是對輸入圖像的目標區域像素取平均值(Average)或最大值(Max),即降采樣處理,降低特征圖像分辨率的同時避免出現過擬合。全連接層位于最后一個池化層和輸出層之間,由0個或多個組成,其中每一個神經元都與前一層的全部神經元相連接,并根據目標檢測的需要,有針對性地將特征向量映射到輸出層,便于分類。輸出層位于神經網絡的最后,設定為Softmax回歸,主要作用是對全連接層映射過來的輸入向量進行分類,最終輸出一維預測向量,維數等于分類的數目。
卷積神經網絡中卷積層+池化層的組合,可以根據實際任務需要重復出現多次。通過多層神經網絡的特征提取,逐步由空間特征到深層語義特征,得到不同深度的特征表達能力,最終經過全連接層和輸出層得到目標檢測的結果。因此,根據每層的功能,卷積神經網絡可以劃分為兩個部分——由輸入層、卷積層和池化層構成的特征提取器以及由全連接層和輸出層構成的分類器。
2.2 訓練方法
卷積神經網絡的訓練方法如圖2所示,主要由前向傳播和反向傳播兩部分組成。前向傳播是樣本數據由低層到高層逐層傳播的過程,如果前向傳播得到的輸出值與目標值存在誤差,則將誤差從高層往低層反向傳播回網絡中,計算誤差梯度,最后利用誤差梯度更新卷積神經網絡每一層參數的權重,達到自主學習的能力。
2.3 常用模型
經過近二十年的快速發展,涌現出了眾多卷積神經網絡模型結構,從早期用于手寫數字識別的LeNet模型到最近的深度殘差學習ResNet模型,卷積神經網絡的層數和深度不斷增加,圖像識別的準確度也不斷提高。
1998年LeCun等人[文獻4]設計了早期最具代表性的卷積神經網絡LeNet,主要有2個卷積層、2個下抽樣層(池化層)、3個全連接層組成。2012年,Krizhevsky等人[文獻5]提出的Alex-Net模型在ILSVRC競賽中大幅度提高了圖像分類的準確率,模型包含5個卷積層、3個池化層以及3個全連接層,通過長時間和大數據的訓練(約6000萬訓練參數),展現了卷積神經網絡在圖像分類領域的巨大潛力。VGG-Net模型于2014年由Simonyan等人[文獻6]設計,一共有六種不同的網絡結構,其中所有卷積核的大小均設置為3×3,體現了 “簡潔,深度”的特點。2015年Szegedy等人[文獻7]提出的GoogleNet模型,不同于Alex-Net和VGG-Net模型通過增大網絡結構的層數來提高準確率,而是引入inception模塊,改變感受野的大小,提取到更豐富的特征。2016年He等人[文獻8]提出了ResNet模型,利用殘差學習緩解了網絡結構層數增加到一定程度后,準確度出現退化的問題,取得了當前最好的圖像識別效果。
3 基于目標檢測的關鍵幀提取方法研究
傳統的關鍵幀提取方法通常借助于圖像整體信息的變化,在鐵路監控視頻上取得了不錯的效果,但仍然存在一些問題。首先,需要人工設計選定一列車廂的首尾幀,影響關鍵幀提取的實時性和效率。其次,沒有深入挖掘圖像的特征,造成選取的目標關鍵幀錯誤率較高,泛化能力差。
卷積神經網絡在目標檢測上的成功應用,可以看作識別圖像為目標還是為非目標。因此,本章設計了基于卷積神經網絡的關鍵幀提取器,首先采用基于SIFT特征的關鍵點檢測算法,在鐵路視頻圖像上提取少量區域作為候選,并通過Alex-Net模型提取候選區域的深度特征,最后將特征輸入到SVM分類器中進行分類,得到列車頭部、尾部和車身三種結果,驗證基于卷積神經網絡的關鍵幀提取器的可行性。本文提出的關鍵幀提取器流程圖如圖3所示。
3.1 基于SIFT特征的關鍵幀粗識別
SIFT(Scale Invariant Feature Transform)全稱尺度不變特征變換,是一種檢測和描述圖像中局部特征的算法,由David Lowe于1999年提出[文獻],原理是在不同的尺度空間尋找極值點(特征點),計算位置、尺度、方向等信息,并把特征點用一個128維的特征向量進行描述。由于SIFT特征可以較好地描述目標的局部特性且對平移、旋轉等變換保持不變,可以應用在視頻圖像的關鍵幀特征區域檢測。
SIFT特征點算法主要包括四個部分:首先在建立尺度空間的基礎上,利用高斯差分金字塔找到局部關鍵點;然后對尺度空間擬合處理,得到關鍵點位置和尺度的精確值;再進一步使用梯度方向直方圖為關鍵點分配方向信息;最后生成特征點的描述向量。通過基于SIFT的關鍵幀特征區域粗識別,大量與目標檢測差異較大的區域被拒絕,只有少數與目標檢測相似的特征點作為候選區域進入卷積神經網絡,為接下來的精識別減少了工作量。
3.2 基于卷積神經網絡的關鍵幀精識別
在關鍵幀提取器的粗識別階段,已經篩選出大量的非目標區域,留下了少數候選區域。候選區域的圖像特征點具有相似性,需要深度挖掘圖像特征方可區分。因此,在關鍵幀提取器的精識別階段,使用Alex-Net卷積神經網絡模型,對候選目標區域提取深度卷積網絡特征,生成特征向量,并利用關鍵幀提取器的SVM分類器將特征向量分類,得到最終的提取結果。
本文中使用Alex-Net卷積神經網絡模型,包含5個卷積層、3個池化層和3個全連接層,其中有60M個參數和650K神經元,最多可以為1000類目標進行分類。候選目標區域的SIFT特征向量,作為輸入圖像進入模型,經過五層卷積操作和相應的最大池化處理,同時使用非線性激活函數ReLU加快收斂速度,GPU并行架構實現高效的卷積計算。
4 實驗結果
本文的實驗環境為:Intel(R)Core(TM)i5-4210M CPU @ 2.60GHZ,8GB內存,NVIDIA GTX 850M 顯卡。使用的開發工具為基于Python 3.6.5版本的PyCharm,Alex-Net卷積神經網絡使用TensorFlow框架。
在實驗中,我們將事先錄好的鐵路監控視頻,作為輸入圖像導入到關鍵幀提取器,通過SIFT特征提取和卷積神經網絡的深度特征提取,自動調整網絡參數和權重,實現基于深度學習的目標檢測提取視頻圖像關鍵幀,提取出視頻的關鍵幀圖像如圖4所示。
5 總結
通過卷積神經網絡在目標檢測領域的應用,本文實現了鐵路視頻圖像關鍵幀提取器的設計和實現,其中粗識別階段選取傳統的SIFT特征點,精識別階段利用卷積神經網絡挖掘圖像深度特征,提高了關鍵幀提取的精度。
參考文獻:
[1] 林通, 張宏江, 封舉富,等. 鏡頭內容分析及其在視頻檢索中的應用[J]. 軟件學報, 2002, 13(8):1577-1585.
[2] 張嬋, 高新波, 姬紅兵. 視頻關鍵幀提取的可能性C-模式聚類算法[J]. 計算機輔助設計與圖形學學報, 2005, 17(9):2040-2045.
[3] 章毓晉.圖像理解[ M] . 北京:清華大學出版社, 2006:377-380.
[4] LEcun, Yann, Bottou, Leon, Bengio, Yoshua, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[5] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
[6] K.Simonyan, A.Zisserman. Very deep convolutional networks for large-scale? image recognition[C]. International Conference on Learning Representations? (ICLR),? San Diego, CA, USA, 2015, 1-14.
[7] C.Szegedy,W. Liu,Y. Jia, et al. Going deeper with convolutions[C]. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, MA, USA,? 2015, 1-9.
[8] K. He, X. Zhang, S. Ren, et al. Deep residual learning for image recognition[C]. Proc. of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, 770-778.
[9] 李旭冬. 基于卷積神經網絡的目標檢測若干問題研究[D]. 電子科技大學, 2017.
[10] 殷文斌. 卷積神經網絡在遙感目標識別中的應用研究[D]. 中國科學院大學(中國科學院遙感與數字地球研究所), 2017.
總結
以上是生活随笔為你收集整理的一种基于深度学习的目标检测提取视频图像关键帧的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt creator开发的C++应用程序
- 下一篇: [Cookie]解决Cookie跨域访问