宋全記



摘 要:
為了保證船舶的安全航行,有效預防和打擊犯罪活動,在船舶的公共區域廣泛安裝了視頻監控系統。目前,這些系統只能記錄下拍攝的信息供日后調取,卻不能實時的判斷畫面中的行為,對犯罪活動及時預警。采用物聯網技術將拍攝的信息傳送給云平臺,在云平臺下通過CNN(convolutional neural network,卷積神經網絡)模型來提取特征向量,同時應用RNN(Recurrent Neural Networks,循環神經網絡)對拍攝的信息進行判斷,及時將危險預警發送給相關人員處理。實驗表明本文提出的方法是可行、有效的。
關鍵詞:
船舶安全航行; 物聯網; 云平臺; 卷積神經網絡; 循環神經網絡
中圖分類號: TP 399
文獻標志碼: A
Remotely Intelligent Ship Security Alarm System Based on
the Internet of Things and Cloud Platform
SONG Quanji
(Department of Electromechanical and Information Engineering, Sichuan College of
Architectural Technology, Deyang, Sichuan 618000, China)
Abstract:
In order to maintain the safety of ship navigation, effectively prevent and combat illegal crime, video surveillance systems are widely installed at the public area of the ship. At present, these systems can only record the videos for sequential use, and cannot judge real-timely the actions in the videos or alarm illegal crime in time. This paper introduces a method that transfers information to cloud platform upon internet of things, and CNN (convolutional neural network)model is used to extract the feature vector, RNN(Recurrent Neural Networks) is used to judge the actions at the same time. Experiments show that the method proposed in this paper is feasible and effective.
Key words:
safety of ship navigation; internet of things; cloud platform; convolutional neural network; recurrent neural networks
0 引言
隨著水運交通和旅游業的不斷發展,如何保障船舶航行過程中每個人的財產、生命安全是每個航運部門都要解決的重要問題[1-2]。目前在船舶公共區域安裝監控系統是普遍采用的技術手段,但是這些監控系統只能記錄拍攝的信息,不能判斷監控內容及時報警,使得很多不法分子作案后還是可以逃離現場,為日后的偵破工作增加了難度。本文提出了以物聯網和云平臺為基礎、以神經網絡等技術為工具的新型自動報警系統,對實時監控中的不法行為及時報警,最大限度減輕受害人損失,盡快將犯罪嫌疑人繩之以法。
隨著物聯網技術的發展,越來越多的設備接入到物聯網中,給人們的生活帶來了很多便利[3-4]。很多云平臺都采用Hadoop搭建,Hadoop是一個分布式系統基礎架構,用戶可以通過它高速運算和存儲[5-6]。本文提出的報警系統,通過arduino將監控信息簡單處理后,發送給基于Hadoop的云平臺,在云平臺下通過神經網絡的算法識別預測,并及時將危險行為預警,使得船舶相關人員可以及時應對各種犯罪活動,把人民群眾的損失降到最低。
1 相關工作
CNN(卷積神經網絡,convolutional neural networks)是前饋神經網絡的一種,很多文獻試圖通過CNN“讀懂”圖片內容[7-9]。文獻[7]定義了基于深度神經網絡的回歸問題,預測圖片中人們的身體姿勢;文獻[8]提出的模型通過學習自然語言和視覺圖片的關系,生成圖片物品和所在區域的相關描述;文獻[9]則通過結合計算機視覺與機器翻譯的模型,生成圖片信息的自然語言描述。
SVM(支持向量機,Support Vector Machine)是一個有監督的模型,常用來做分類器,一個廣泛的應用是行人檢測[10]。文獻[11]研究SVM分類方法及其分類應用,以擴展其應用領域、解決實際問題。文獻[12]則運用交叉驗證與網格搜索法,對SVM分類核函數及參數進行優化。由于本文中監控內容復雜多變,因此不同于SVM分類,我們采用了CNN+RNN模型對檢測到的視頻信息進行預測,并對實驗結果進行分析。
2 數學模型
2.1 整體框架
整個智能安全報警系統的云平臺結構如圖1所示。
各船舶公共區域采集的監控數據、日志信息通過物聯網技術實時接入到Hadoop分布式文件系統中,訓練數據和預測模型通過智能安全報警系統上傳使得該系統數據資料可以保持隨時更新。云平臺負責這些數據的批處理、實時計算,并且將這些數據資料存儲于數據庫中。在實時計算過程中,對監控數據實時預測,并針對不同的預測結果發出相應指令以實現安全報警功能。
其中OpenStack是整個項目的云計算管理平臺;Hive是一個數據倉庫工具,可以將sql語句轉換為MapReduce運行;Spark是MapReduce的一個通用并行框架;NoSQL指的是非關系型數據庫,MongoDB是其基于分布式文件存儲的一個解決方案。這里充分利用了Hadoop集群的威力進行高速運算和存儲,以應對監控信息數據量大、計算復雜的特點。
該智能安全報警系統的物聯網結構如圖2所示。
各公共區域視頻監控通過Arduino328芯片控制,實時監控信息通過ENC28J60網絡模塊傳輸給云平臺,不需要實時傳輸的信息(例如訓練數據或備份數據)可暫時存放在AT24C02存儲器中供需要時調用。GPS衛星定位可以輔助獲取監控點位置信息,語言報警系統則起到對犯罪分子警示的作用。
2.2 模型構建-CNN單元
對獲取的圖像信息,我們采用圖3的方式處理數據。
在上圖中,每次從輸入圖片中取9個相鄰位置元素,通過核函數計算,將結果傳給輸出圖像,并依次滑動輸入和輸出坐標直至完成整個圖片的轉換。這里如果取
則意味著對原圖像取中值。
類似的如果改變核函數,就可以實現柔化、銳化等圖片效果,如圖4所示。
這里我們只輸出中間元素的值,實現圖片的降維。
2.3 分類預測模型
由于監控數據中包含的信息復雜多變,本文采用softmax回歸和RNN模型相結合的預測模型,現分別對兩種回歸模型進行闡述。
2.3.1 softmax回歸
對于CNN很多文獻采用softmax回歸進行預測[13]。其激活函數如式(1)所示。
系統損失方程可表示如式(2)。
對式(2)我們可以采用梯度下降算法按其梯度下降的方向運行,依次迭代并更新參數。其中θ是模型的參數,1{.}是指示性函數,即滿足條件時函數值為1,否則函數值為0。
由于本例中參數較多,樣本數量較少。為了防止過擬合,我們加入了Dropout層。
1.通過限定權值范圍代替設置權值懲罰項;
2.將輸入數據和隱含激活層在一定比例內置為零;
3.預測過程中,輸出值要按照相應比例縮減。
在預測過程中,softmax回歸預測值如式(3)所示。
(t)=softmax(wyhht+by)(3)
這里選擇softmax函數,原因是它可以解決多分類問題。為了進一步提高準確度,可以采用gated softmax進行預測[14],如式(4)所示。
(t)=softmax(sy(x,h)+by)? ? ? ? ?(4)
其中,sy(x,h)=htWyx,h為隱式二進制變量。
2.3.2 神經網絡
神經網絡通過訓練樣本來提高分類的正確率,如果訓練樣本可以表示為一個平面
我們可以通過一條直線將這兩組特征向量分開
ax+by+c=0
把這個式子推廣到n維空間,我們可以用n-1維超平面把n維空間訓練樣本分開
a1x1+a2x2+…+anxn+a0=0
對于圖5這樣不能用一條直線分類的樣本,可以用多層神經網絡解決,相當于用多條直線對樣本進行分類。
另外分段函數不可微,所以通常采用sigmoid函數來代替,它可以實現階躍函數的效果,而且更加平滑,同時可以用參數控制樣本點的距離,如圖6所示。
2.3.3 循環神經網絡
前面提到的多層神經網絡中,各個數據之間是相互獨立的,而在實際應用中很多數據是存在某種聯系的。
對于圖6中的結構,我們可以很容易求得其對應關系;對于圖7中的結構,我們可以通過線性回歸、邏輯回歸求得其對應關系。
本文中我們采用循環神經網絡,即在神經網絡中允許出現循環結構,如圖9所示。
為了解決RNN在處理長時間依賴時的不足,本文采用MUT單元結構[13],它的結構比常用的LSTM簡單,計算相對容易,其單元迭代式如式(5)—式(7)所示。
MUT和GRU單元結構類似,它的門控單元不是獨立的而是融合在一起。更新門控zt決定了有多少單元結構被更新或激活。重置門控rt則控制選擇當前輸入和之前狀態的比例。在t時刻的隱含層ht則通過式(7)給出。
2.4 模型訓練和預測
下面我們給出整個CNN+RNN模型的訓練過程:
(1)輸入層。CNN單元對圖片信息降維后,傳給MUT單元結構。降維后的長度即為MUT單元個數,這里我們對圖片取灰度,這樣每個MUT輸入維度為256。
(2)隱含層。這里我們通過式(5)和式(6)分別計算出更新門控zt和重置門控rt。其中W為權重,初始值隨機生成。這里我們采用Adagrad自適應梯度下降方法更新權重W,它能夠根據梯度的更新量調整梯度的實際影響值,其迭代式如式(8)所示。
其中,lr是迭代次數;g是W的梯度,可通過反向傳播計算得出;ε是常數,這里我們取1e-6。得到更新的權重W后求出更新門控zt和重置門控rt,并代入式(7)即可得到隱含層。
(3)輸出層。這里的輸出層只是分類結果,由于輸入信息復雜多變,我們結合softmax回歸式(4)給出最終的預測結果,如式(9)所示。
這里α是0-1之間的常數,y1和y2分別是softmax和MUT的分類預測。
3 實驗仿真
本文中的硬件實驗環境:inter core i5處理器,4G內存,Nvidia 750ti獨立顯卡。
本文分別對船舶監控視頻中的危險品檢測、手持刀棍和盜竊財物三種違法行為進行預測,其預測正確率分別為71%,63%和65%,示例如圖10—圖12所示。
4 總結
本文采用了物聯網和云平臺技術,對船舶公共區域的犯罪行為能夠智能預警。預測模型應用的是CNN+RNN,實驗表明該方法是可行、有效的。在未來的研究工作中,我們將繼續挖掘監控信息中各數據之間的關系,進一步提升預測的準確率,為船舶遠程智能安全系統提供更完善的技術支持。
參考文獻
[1] 許艷梅. 基于3G技術的船舶遠程監控系統的研究與設計[D].大連: 大連海事大學, 2013.
[2] 劉濤. 安全監視與綜合報警系統的設計與實現[D].大連: 大連海事大學, 2015.
[3] 崔曉夢. 基于Arduino的物聯網接入器的設計[J]. 電子技術與軟件工程, 2015(3):33-34.
[4] 賈慶華. 物聯網接入技術研究與系統設計[J]. 通訊世界, 2016(8).
[5] 鄧自立. 云計算中的網絡拓撲設計和Hadoop平臺研究[D]. 合肥:中國科學技術大學, 2009.
[6] 楊來, 史忠植, 梁帆,等. 基于Hadoop云平臺的并行數據挖掘方法[J]. 系統仿真學報, 2013, 25(5):-.
[7] Toshev A, Szegedy C. DeepPose: Human Pose Estimation via Deep Neural Networks[C]// Computer Vision and Pattern Recognition. IEEE, 2014:1653-1660.
[8] Karpathy A, Li F F. Deep visual-semantic alignments for generating image descriptions[C]// Computer Vision and Pattern Recognition. IEEE, 2015:3128-3137.
[9] Vinyals O, Toshev A, Bengio S, et al. Show and tell: A neural image caption generator[J]. Computer Science, 2015():3156-3164.
[10] Dalal N, Triggs B. Histograms of Oriented Gradients for Human Detection[C]// IEEE Conference on Computer Vision & Pattern Recognition. 2005:886-893.
[11] 梁燕. SVM分類器的擴展及其應用研究[D]. 湖南大學, 2008.
[12] 奉國和. SVM分類核函數及參數選擇比較[J]. 計算機工程與應用, 2011, 47(3):123-124.
[13] Jozefowicz R, Zaremba W, Sutskever I. An Empirical Exploration of Recurrent Network Architectures[J]. 2015.
[14] Memisevic R, Zach C, Pollefeys M. Gated Softmax Classification[J]. Neural Information Processing Systems, 2012.
(收稿日期: 2019.04.03)