亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        節(jié)約存儲空間的遠(yuǎn)程視頻監(jiān)控系統(tǒng)

        2018-09-27 08:09:28偉,魯,
        傳感器與微系統(tǒng) 2018年10期
        關(guān)鍵詞:檢測

        劉 偉, 黃 魯, 徐 俊

        (1.中國科學(xué)技術(shù)大學(xué) 電子科學(xué)與技術(shù)系,安徽 合肥 230026;2.中國科學(xué)技術(shù)大學(xué) 信息科學(xué)實驗中心,安徽 合肥 230026)

        0 引 言

        高性能IP網(wǎng)絡(luò)的廣泛部署推動了網(wǎng)絡(luò)視頻監(jiān)控的快速發(fā)展。嵌入式設(shè)備價格低廉、便攜性好。基于IP網(wǎng)絡(luò)的嵌入式無線監(jiān)控設(shè)備也在人們的生活中逐漸廣泛應(yīng)用[1]。傳統(tǒng)視頻監(jiān)控為全天候?qū)崟r錄制,保存了大量的無用信息,占用存儲空間。本文在嵌入式開發(fā)平臺上,使用混合高斯模型提取前景目標(biāo),并結(jié)合幀間差分檢測結(jié)果實時判斷監(jiān)測區(qū)域動態(tài)變化,僅對動態(tài)變化添加時間戳實時錄制,節(jié)約存儲空間,提高視頻錄制的有效內(nèi)容[2]。

        1 系統(tǒng)總體架構(gòu)

        如圖1所示,系統(tǒng)采用主從(client/server)模式,由無線網(wǎng)絡(luò)傳輸,ARM服務(wù)器,客戶端3部分組成,其中服務(wù)端和客戶端均基于Qt框架編程實現(xiàn)。

        圖1 系統(tǒng)總體框架

        通過無線路由器連接客戶端和服務(wù)端,傳遞視頻圖像數(shù)據(jù)和控制指令。服務(wù)器采用S5PV210微處理器的Smart 210

        開發(fā)板[3],使用Linux下的V4L2(video for Linux2)接口USB攝像頭,輸出MJPEG格式圖像;兩路脈寬調(diào)制 (pulse width modulation,PWM)對左右和上下轉(zhuǎn)動的舵機云臺控制,實現(xiàn)多角度的視頻監(jiān)控??蛻舳私Y(jié)合OpenCV對監(jiān)控區(qū)域移動檢測,實時錄像及圖像保存;同時發(fā)送指令對服務(wù)端云臺進(jìn)行控制[4]。

        2 ARM端服務(wù)器實現(xiàn)

        2.1 Qt軟件配置

        為了保證Qt框架下編譯的服務(wù)器程序能在ARM開發(fā)板上能運行,必須重新構(gòu)建適用ARM板的 Qt編譯套件[5]。開發(fā)環(huán)境是在虛擬機上Ubuntu16.04,并安裝Qt 5.8。使用Cmake 3.8編譯Jrtplib庫文件分別生成適合于Windows和ARM板的庫文件。

        2.2 視頻采集與發(fā)送

        調(diào)用QTcpServer類監(jiān)聽客戶端的連接申請,初始化圖像采集線程,使用Qt下的信號與槽機制,采集線程的信號綁定主線程的發(fā)送槽函數(shù),傳遞采集的圖像數(shù)據(jù)到主線程發(fā)送函數(shù)。如圖2所示。

        圖2 采集發(fā)送流程

        2.2.1 MJPEG格式圖像采集分析及實現(xiàn)

        為減小視頻數(shù)據(jù)的無線傳輸帶寬需求并保障實時性,采用MJPEG格式壓縮。查看Linux內(nèi)核源碼可知,對于MJPEG格式內(nèi)核分配存儲大小為Width·Height·2Byte, 而經(jīng)過壓縮的圖像數(shù)據(jù)小于該值,因此存儲空間中有不需要傳輸?shù)臒o效數(shù)據(jù)。系統(tǒng)根據(jù)MJPEG格式特征提取完整1幀數(shù)據(jù)傳入主線程發(fā)送。

        重新實現(xiàn)Qt中QThead類的多線程run()函數(shù),在run()函數(shù)內(nèi)使用V4L2接口通過多線程方式采集圖像數(shù)據(jù),提高效率[6]。

        2.2.2 基于RTP協(xié)議的主線程視頻發(fā)送

        圖像視頻采用基于UDP的RTP協(xié)議進(jìn)行傳輸,使用Jrtplib庫實現(xiàn),只需實例化RTPSession類、RTPUDPv4TransmissionParams類、RTPSessionParams類,分別用于設(shè)置創(chuàng)建會話、傳輸參數(shù)、會話參數(shù);由于Jrtplib庫默認(rèn)的傳輸包大小為1 400B,所以,需要調(diào)用RTPSession︰︰SetMaximumPacketSize()設(shè)置傳輸包最大限制,對于640像素×480像素格式的攝像頭可設(shè)置為65 536。Qt圖像采集線程發(fā)送信號觸發(fā)主線程執(zhí)行RTPSession︰︰SendPacket()函數(shù)完成圖像數(shù)據(jù)網(wǎng)絡(luò)發(fā)送。此外由于Jrtplib相對于Qt是第三方庫文件,所以需要在.pro文件下添加INCLUDEPATH及LIBS路徑。

        2.2.3 云臺控制

        S5PV210微處理器輸出2路PWM信號。使用Linux下的Misc(雜散類)驅(qū)動模型配置寄存器值參數(shù)。 PWM模塊時鐘源為pclk=66.7 MHz,云臺舵機最小占空比步進(jìn)為10 μs,fpwm=50 Hz,則PWM模塊的定時器頻率為fTimer=100 kHz。根據(jù)公式參數(shù)配置如下[7]

        (1)

        取prescaler_value=165,divider_value=4,得到定時器計數(shù)值tcnt=2 009,輸出的PWM周期為20.09 ms。

        為使ARM服務(wù)端啟動時自動加載PWM驅(qū)動模塊,在文件系統(tǒng)/etc/init.d/rcS中添加如下兩條命令:

        insmod pwm0.ko;insmod pwm1.ko

        采用兩個型號為SG90的180°轉(zhuǎn)角舵機實現(xiàn)上下和左右自由旋轉(zhuǎn),使用兩路周期為50 Hz的PWM信號調(diào)節(jié)輸出占空比控制舵機轉(zhuǎn)動,如圖3 舵機模型及實物,高脈寬時間Td對應(yīng)的轉(zhuǎn)動角度。

        圖3 舵機模型及實物

        3 Windows上監(jiān)控客戶端實現(xiàn)

        使用Qt編寫客戶端界面如圖4所示,客戶端包括視頻實時顯示、圖像保存、實時錄像控制、云臺控制部分。為能夠使用 OpenCV庫需要在.pro工程文件中添加INCLUDEPATH及LIBS路徑。

        圖4 Windows客戶端顯示

        3.1 接收RTP數(shù)據(jù)及云臺控制

        重新實現(xiàn)Qt下的QThread︰︰run()多線程函數(shù)[9],數(shù)據(jù)接收只需用到Jrtplib庫中的RTPSession類即可,循環(huán)調(diào)用RTPSession︰︰poll()接收數(shù)據(jù),通過GotoFirstSourceWithData()及GotoNextSourceWithData()判斷有效數(shù)據(jù)源,最后通過類中的GetNextPacket()抽取有效的圖像數(shù)據(jù)包;使用QByteArray︰︰fromRawData()構(gòu)建QByteArray類型數(shù)據(jù),以Qt︰︰DirectConnection方式連接主線程中的顯示槽函數(shù),在顯示函數(shù)中構(gòu)建QImage類型數(shù)據(jù),使用setPixmap()將圖形放入預(yù)設(shè)大小為640像素×480像素的QLable中顯示。

        使用TCP協(xié)議傳輸云臺控制命令,分別在4個PushButton的clicked()槽函數(shù)中實現(xiàn)對攝像頭云臺上下左右控制命令發(fā)送,命令數(shù)據(jù)包格式為“舵機ID+占空比”,接收端通過對數(shù)據(jù)包解析,執(zhí)行對應(yīng)的響應(yīng)函數(shù)。

        3.2 動態(tài)檢測及加時間戳錄像

        為了實現(xiàn)對監(jiān)控區(qū)域動態(tài)偵測并錄制,使用幀間差分法檢測出變化量,計算量小,實時性好;通過差分運算基本上可以消除相鄰幀的高相似度背景,而相鄰幀在運動目標(biāo)變化的區(qū)域有較大的差別;由于運動目標(biāo)距離攝像頭位置遠(yuǎn)近及目標(biāo)大小影響幀間差分檢測的結(jié)果,因此同時使用幀間差分檢測結(jié)果與前景目標(biāo)大小的比值作為動態(tài)檢測的判別依據(jù)。結(jié)合OpenCV,使用混合高斯模型實時檢測,得到背景B(x,y)圖像。設(shè)Cn(x,y)為當(dāng)前幀灰度圖像,進(jìn)行差分運算An(x,y)=Cn(x,y)-Cn-1(x,y),In(x,y)=Cn(x,y)-B(x,y),得到幀間差分結(jié)果An(x,y)及前景目標(biāo)In(x,y)。

        對差分結(jié)果進(jìn)行開運算,消除光線強弱變化引入的噪點,平滑較大變化的二值圖區(qū)域同時又不明顯改變其面積;采用8鄰域的連通域標(biāo)記法,統(tǒng)計所有的連通域得到幀間差分面積Dn和前景面積Sn,T1,T3為變化的面積閾值,T2為比值系數(shù),具體方法為:

        1)當(dāng)Dn>T1,變化足夠明顯,直接對當(dāng)前幀加時間戳并錄制;

        2)當(dāng)Dn較小時,同時前景面積Sn>T3,判斷(Dn·100/Sn>T2,對當(dāng)前幀加時間戳錄制。

        T1=100,T2=1,T3=500得到較好的實驗效果。

        檢測并錄制流程如圖5,實驗中檢測效果如圖6。

        結(jié)合OpenCV對截圖保存和錄制的視頻加時間戳格式為“年/月/日 時/分/秒”,主要采用Qt中QDateTime類,及CV︰︰putText()實現(xiàn)添加時間戳,并使用CV︰︰VideoWriter類完成視頻錄制。流程如圖7所示。其中時間量轉(zhuǎn)換為字符串代碼如下:

        QDateTime time=QDateTime︰︰currentDateTime();/*獲取系統(tǒng)時間*/

        QString str=time.toString(“yyyy/MM/dd hh︰mm︰ss”);/*字符轉(zhuǎn)換*/

        string text=str.toStdString();/*轉(zhuǎn)為滿足putText()的字符類型*/

        圖5 檢測并錄制流程

        圖6 實驗中檢測效果

        圖7 添加時間戳方法

        4 系統(tǒng)測試

        ARM開發(fā)板上電啟動后,串口打印出如下信息表明舵機云臺PWM驅(qū)動模塊加載成功:[29.003502]pwm0 pwm initialized ok 29.033495]pwm1 pwm initialized ok。

        ARM服務(wù)端通過USB-WiFi連上路由器,保證PC客戶端和服務(wù)端在同一網(wǎng)段或使用路由器IP轉(zhuǎn)發(fā)功能,進(jìn)行ping測試;ARM開發(fā)板服務(wù)端執(zhí)行:./camera-wifi-qws 指令啟動服務(wù)端程序進(jìn)入監(jiān)聽狀態(tài),Qt Creator中運行客戶端,與服務(wù)器完成TCP連接;服務(wù)端為主頻1 GHz-Linux3.0.8內(nèi)核的Smart210開發(fā)板,以分辨率為 640像素×480像素,平均20幀/s視頻采集并傳輸至主頻為3.3 GHz,內(nèi)存為8 GB的Windows客戶端顯示。截圖保存及視頻錄制結(jié)果如圖8所示。

        圖8 測試結(jié)果保存

        使用 中的gettimeofday()計時函數(shù)測試視頻流檢測及錄制平均耗時為43ms,滿足視頻實時性要求,客戶端對云臺實時可控。

        5 結(jié)束語

        實現(xiàn)了一種節(jié)約存儲空間的嵌入式視頻實時監(jiān)控系統(tǒng),提高了常規(guī)視頻監(jiān)控存儲的有效內(nèi)容,節(jié)約了存儲空間;可遠(yuǎn)程實時操控攝像頭云臺進(jìn)行多角度監(jiān)控,增強了監(jiān)控能力;測試結(jié)果表過該系統(tǒng)運行穩(wěn)定,具有較好的可靠性和實時性。

        猜你喜歡
        檢測
        QC 檢測
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        “有理數(shù)的乘除法”檢測題
        “有理數(shù)”檢測題
        “角”檢測題
        “幾何圖形”檢測題
        欧美在线三级艳情网站| 80s国产成年女人毛片| 国产成人亚洲精品无码av大片| 嫩草影院未满十八岁禁止入内| 女人的天堂av免费看| 国产精品亚洲一区二区三区久久 | 国产精品一区二区在线观看| 久久亚洲黄色| 黄色网页在线观看一区二区三区| 91精品啪在线观九色| 日韩av无码精品一二三区| 亚洲级αv无码毛片久久精品| 欧美丝袜秘书在线一区| 国产三级精品三级在线专区2| 亚洲人交乣女bbw| 狠狠爱无码一区二区三区| 亚洲国产一区久久yourpan| 国产91成人精品高潮综合久久| 好男人社区影院www| 亚洲av无码av在线播放| 一片内射视频在线观看| 蜜臀av毛片一区二区三区| 国内精品卡一卡二卡三| 亚洲AV秘 无码一区二区三区臀| 日本黄色高清视频久久| 日本三级吃奶头添泬 | 亚洲第一看片| 久久99久久久精品人妻一区二区| 免费观看国产短视频的方法| 玩弄少妇高潮ⅹxxxyw| 97色综合| 日本高级黄色一区二区三区| 国产成人精品a视频| 女同亚洲女同精品| 久久亚洲精品成人av观看| 中文字幕一区二区三区四区五区| 老色鬼永久精品网站| 人妻无码一区二区19P| 偷拍综合在线视频二区日韩| 中文亚洲av片在线观看| 精品无码久久久九九九AV|