宋全記
摘 要:
為了保證船舶的安全航行,有效預(yù)防和打擊犯罪活動,在船舶的公共區(qū)域廣泛安裝了視頻監(jiān)控系統(tǒng)。目前,這些系統(tǒng)只能記錄下拍攝的信息供日后調(diào)取,卻不能實時的判斷畫面中的行為,對犯罪活動及時預(yù)警。采用物聯(lián)網(wǎng)技術(shù)將拍攝的信息傳送給云平臺,在云平臺下通過CNN(convolutional neural network,卷積神經(jīng)網(wǎng)絡(luò))模型來提取特征向量,同時應(yīng)用RNN(Recurrent Neural Networks,循環(huán)神經(jīng)網(wǎng)絡(luò))對拍攝的信息進行判斷,及時將危險預(yù)警發(fā)送給相關(guān)人員處理。實驗表明本文提出的方法是可行、有效的。
關(guān)鍵詞:
船舶安全航行; 物聯(lián)網(wǎng); 云平臺; 卷積神經(jīng)網(wǎng)絡(luò); 循環(huán)神經(jīng)網(wǎng)絡(luò)
中圖分類號: TP 399
文獻標(biāo)志碼: 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 引言
隨著水運交通和旅游業(yè)的不斷發(fā)展,如何保障船舶航行過程中每個人的財產(chǎn)、生命安全是每個航運部門都要解決的重要問題[1-2]。目前在船舶公共區(qū)域安裝監(jiān)控系統(tǒng)是普遍采用的技術(shù)手段,但是這些監(jiān)控系統(tǒng)只能記錄拍攝的信息,不能判斷監(jiān)控內(nèi)容及時報警,使得很多不法分子作案后還是可以逃離現(xiàn)場,為日后的偵破工作增加了難度。本文提出了以物聯(lián)網(wǎng)和云平臺為基礎(chǔ)、以神經(jīng)網(wǎng)絡(luò)等技術(shù)為工具的新型自動報警系統(tǒng),對實時監(jiān)控中的不法行為及時報警,最大限度減輕受害人損失,盡快將犯罪嫌疑人繩之以法。
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的設(shè)備接入到物聯(lián)網(wǎng)中,給人們的生活帶來了很多便利[3-4]。很多云平臺都采用Hadoop搭建,Hadoop是一個分布式系統(tǒng)基礎(chǔ)架構(gòu),用戶可以通過它高速運算和存儲[5-6]。本文提出的報警系統(tǒng),通過arduino將監(jiān)控信息簡單處理后,發(fā)送給基于Hadoop的云平臺,在云平臺下通過神經(jīng)網(wǎng)絡(luò)的算法識別預(yù)測,并及時將危險行為預(yù)警,使得船舶相關(guān)人員可以及時應(yīng)對各種犯罪活動,把人民群眾的損失降到最低。
1 相關(guān)工作
CNN(卷積神經(jīng)網(wǎng)絡(luò),convolutional neural networks)是前饋神經(jīng)網(wǎng)絡(luò)的一種,很多文獻試圖通過CNN“讀懂”圖片內(nèi)容[7-9]。文獻[7]定義了基于深度神經(jīng)網(wǎng)絡(luò)的回歸問題,預(yù)測圖片中人們的身體姿勢;文獻[8]提出的模型通過學(xué)習(xí)自然語言和視覺圖片的關(guān)系,生成圖片物品和所在區(qū)域的相關(guān)描述;文獻[9]則通過結(jié)合計算機視覺與機器翻譯的模型,生成圖片信息的自然語言描述。
SVM(支持向量機,Support Vector Machine)是一個有監(jiān)督的模型,常用來做分類器,一個廣泛的應(yīng)用是行人檢測[10]。文獻[11]研究SVM分類方法及其分類應(yīng)用,以擴展其應(yīng)用領(lǐng)域、解決實際問題。文獻[12]則運用交叉驗證與網(wǎng)格搜索法,對SVM分類核函數(shù)及參數(shù)進行優(yōu)化。由于本文中監(jiān)控內(nèi)容復(fù)雜多變,因此不同于SVM分類,我們采用了CNN+RNN模型對檢測到的視頻信息進行預(yù)測,并對實驗結(jié)果進行分析。
2 數(shù)學(xué)模型
2.1 整體框架
整個智能安全報警系統(tǒng)的云平臺結(jié)構(gòu)如圖1所示。
各船舶公共區(qū)域采集的監(jiān)控數(shù)據(jù)、日志信息通過物聯(lián)網(wǎng)技術(shù)實時接入到Hadoop分布式文件系統(tǒng)中,訓(xùn)練數(shù)據(jù)和預(yù)測模型通過智能安全報警系統(tǒng)上傳使得該系統(tǒng)數(shù)據(jù)資料可以保持隨時更新。云平臺負責(zé)這些數(shù)據(jù)的批處理、實時計算,并且將這些數(shù)據(jù)資料存儲于數(shù)據(jù)庫中。在實時計算過程中,對監(jiān)控數(shù)據(jù)實時預(yù)測,并針對不同的預(yù)測結(jié)果發(fā)出相應(yīng)指令以實現(xiàn)安全報警功能。
其中OpenStack是整個項目的云計算管理平臺;Hive是一個數(shù)據(jù)倉庫工具,可以將sql語句轉(zhuǎn)換為MapReduce運行;Spark是MapReduce的一個通用并行框架;NoSQL指的是非關(guān)系型數(shù)據(jù)庫,MongoDB是其基于分布式文件存儲的一個解決方案。這里充分利用了Hadoop集群的威力進行高速運算和存儲,以應(yīng)對監(jiān)控信息數(shù)據(jù)量大、計算復(fù)雜的特點。
該智能安全報警系統(tǒng)的物聯(lián)網(wǎng)結(jié)構(gòu)如圖2所示。
各公共區(qū)域視頻監(jiān)控通過Arduino328芯片控制,實時監(jiān)控信息通過ENC28J60網(wǎng)絡(luò)模塊傳輸給云平臺,不需要實時傳輸?shù)男畔ⅲɡ缬?xùn)練數(shù)據(jù)或備份數(shù)據(jù))可暫時存放在AT24C02存儲器中供需要時調(diào)用。GPS衛(wèi)星定位可以輔助獲取監(jiān)控點位置信息,語言報警系統(tǒng)則起到對犯罪分子警示的作用。
2.2 模型構(gòu)建-CNN單元
對獲取的圖像信息,我們采用圖3的方式處理數(shù)據(jù)。
在上圖中,每次從輸入圖片中取9個相鄰位置元素,通過核函數(shù)計算,將結(jié)果傳給輸出圖像,并依次滑動輸入和輸出坐標(biāo)直至完成整個圖片的轉(zhuǎn)換。這里如果取
則意味著對原圖像取中值。
類似的如果改變核函數(shù),就可以實現(xiàn)柔化、銳化等圖片效果,如圖4所示。
這里我們只輸出中間元素的值,實現(xiàn)圖片的降維。
2.3 分類預(yù)測模型
由于監(jiān)控數(shù)據(jù)中包含的信息復(fù)雜多變,本文采用softmax回歸和RNN模型相結(jié)合的預(yù)測模型,現(xiàn)分別對兩種回歸模型進行闡述。
2.3.1 softmax回歸
對于CNN很多文獻采用softmax回歸進行預(yù)測[13]。其激活函數(shù)如式(1)所示。
系統(tǒng)損失方程可表示如式(2)。
對式(2)我們可以采用梯度下降算法按其梯度下降的方向運行,依次迭代并更新參數(shù)。其中θ是模型的參數(shù),1{.}是指示性函數(shù),即滿足條件時函數(shù)值為1,否則函數(shù)值為0。
由于本例中參數(shù)較多,樣本數(shù)量較少。為了防止過擬合,我們加入了Dropout層。
1.通過限定權(quán)值范圍代替設(shè)置權(quán)值懲罰項;
2.將輸入數(shù)據(jù)和隱含激活層在一定比例內(nèi)置為零;
3.預(yù)測過程中,輸出值要按照相應(yīng)比例縮減。
在預(yù)測過程中,softmax回歸預(yù)測值如式(3)所示。
(t)=softmax(wyhht+by)(3)
這里選擇softmax函數(shù),原因是它可以解決多分類問題。為了進一步提高準(zhǔn)確度,可以采用gated softmax進行預(yù)測[14],如式(4)所示。
(t)=softmax(sy(x,h)+by)? ? ? ? ?(4)
其中,sy(x,h)=htWyx,h為隱式二進制變量。
2.3.2 神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)通過訓(xùn)練樣本來提高分類的正確率,如果訓(xùn)練樣本可以表示為一個平面
我們可以通過一條直線將這兩組特征向量分開
ax+by+c=0
把這個式子推廣到n維空間,我們可以用n-1維超平面把n維空間訓(xùn)練樣本分開
a1x1+a2x2+…+anxn+a0=0
對于圖5這樣不能用一條直線分類的樣本,可以用多層神經(jīng)網(wǎng)絡(luò)解決,相當(dāng)于用多條直線對樣本進行分類。
另外分段函數(shù)不可微,所以通常采用sigmoid函數(shù)來代替,它可以實現(xiàn)階躍函數(shù)的效果,而且更加平滑,同時可以用參數(shù)控制樣本點的距離,如圖6所示。
2.3.3 循環(huán)神經(jīng)網(wǎng)絡(luò)
前面提到的多層神經(jīng)網(wǎng)絡(luò)中,各個數(shù)據(jù)之間是相互獨立的,而在實際應(yīng)用中很多數(shù)據(jù)是存在某種聯(lián)系的。
對于圖6中的結(jié)構(gòu),我們可以很容易求得其對應(yīng)關(guān)系;對于圖7中的結(jié)構(gòu),我們可以通過線性回歸、邏輯回歸求得其對應(yīng)關(guān)系。
本文中我們采用循環(huán)神經(jīng)網(wǎng)絡(luò),即在神經(jīng)網(wǎng)絡(luò)中允許出現(xiàn)循環(huán)結(jié)構(gòu),如圖9所示。
為了解決RNN在處理長時間依賴時的不足,本文采用MUT單元結(jié)構(gòu)[13],它的結(jié)構(gòu)比常用的LSTM簡單,計算相對容易,其單元迭代式如式(5)—式(7)所示。
MUT和GRU單元結(jié)構(gòu)類似,它的門控單元不是獨立的而是融合在一起。更新門控zt決定了有多少單元結(jié)構(gòu)被更新或激活。重置門控rt則控制選擇當(dāng)前輸入和之前狀態(tài)的比例。在t時刻的隱含層ht則通過式(7)給出。
2.4 模型訓(xùn)練和預(yù)測
下面我們給出整個CNN+RNN模型的訓(xùn)練過程:
(1)輸入層。CNN單元對圖片信息降維后,傳給MUT單元結(jié)構(gòu)。降維后的長度即為MUT單元個數(shù),這里我們對圖片取灰度,這樣每個MUT輸入維度為256。
(2)隱含層。這里我們通過式(5)和式(6)分別計算出更新門控zt和重置門控rt。其中W為權(quán)重,初始值隨機生成。這里我們采用Adagrad自適應(yīng)梯度下降方法更新權(quán)重W,它能夠根據(jù)梯度的更新量調(diào)整梯度的實際影響值,其迭代式如式(8)所示。
其中,lr是迭代次數(shù);g是W的梯度,可通過反向傳播計算得出;ε是常數(shù),這里我們?nèi)?e-6。得到更新的權(quán)重W后求出更新門控zt和重置門控rt,并代入式(7)即可得到隱含層。
(3)輸出層。這里的輸出層只是分類結(jié)果,由于輸入信息復(fù)雜多變,我們結(jié)合softmax回歸式(4)給出最終的預(yù)測結(jié)果,如式(9)所示。
這里α是0-1之間的常數(shù),y1和y2分別是softmax和MUT的分類預(yù)測。
3 實驗仿真
本文中的硬件實驗環(huán)境:inter core i5處理器,4G內(nèi)存,Nvidia 750ti獨立顯卡。
本文分別對船舶監(jiān)控視頻中的危險品檢測、手持刀棍和盜竊財物三種違法行為進行預(yù)測,其預(yù)測正確率分別為71%,63%和65%,示例如圖10—圖12所示。
4 總結(jié)
本文采用了物聯(lián)網(wǎng)和云平臺技術(shù),對船舶公共區(qū)域的犯罪行為能夠智能預(yù)警。預(yù)測模型應(yīng)用的是CNN+RNN,實驗表明該方法是可行、有效的。在未來的研究工作中,我們將繼續(xù)挖掘監(jiān)控信息中各數(shù)據(jù)之間的關(guān)系,進一步提升預(yù)測的準(zhǔn)確率,為船舶遠程智能安全系統(tǒng)提供更完善的技術(shù)支持。
參考文獻
[1] 許艷梅. 基于3G技術(shù)的船舶遠程監(jiān)控系統(tǒng)的研究與設(shè)計[D].大連: 大連海事大學(xué), 2013.
[2] 劉濤. 安全監(jiān)視與綜合報警系統(tǒng)的設(shè)計與實現(xiàn)[D].大連: 大連海事大學(xué), 2015.
[3] 崔曉夢. 基于Arduino的物聯(lián)網(wǎng)接入器的設(shè)計[J]. 電子技術(shù)與軟件工程, 2015(3):33-34.
[4] 賈慶華. 物聯(lián)網(wǎng)接入技術(shù)研究與系統(tǒng)設(shè)計[J]. 通訊世界, 2016(8).
[5] 鄧自立. 云計算中的網(wǎng)絡(luò)拓撲設(shè)計和Hadoop平臺研究[D]. 合肥:中國科學(xué)技術(shù)大學(xué), 2009.
[6] 楊來, 史忠植, 梁帆,等. 基于Hadoop云平臺的并行數(shù)據(jù)挖掘方法[J]. 系統(tǒng)仿真學(xué)報, 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分類器的擴展及其應(yīng)用研究[D]. 湖南大學(xué), 2008.
[12] 奉國和. SVM分類核函數(shù)及參數(shù)選擇比較[J]. 計算機工程與應(yīng)用, 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)