国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于IMX6的手扶電梯智能視頻監(jiān)控系統(tǒng)設(shè)計

2017-11-10 22:14:20杜啟亮曾東明田聯(lián)房張大明
現(xiàn)代電子技術(shù) 2017年21期
關(guān)鍵詞:嵌入式系統(tǒng)

杜啟亮 曾東明 田聯(lián)房 張大明

摘 要: 為了智能地控制手扶電梯的啟停,在扶梯口進(jìn)行人數(shù)統(tǒng)計和大件滯留物品檢測,開發(fā)了一種基于IMX6Q處理器的手扶電梯智能視頻監(jiān)控系統(tǒng)。實現(xiàn)了基于V4L2驅(qū)動的視頻采集和基于Qt的視頻顯示,用IMX6Q的硬件編解碼單元VPU對視頻進(jìn)行H.264編碼保存,搭建嵌入式FTP服務(wù)器提供視頻下載的傳輸服務(wù)。在扶梯口對運動目標(biāo)進(jìn)行檢測與跟蹤,開發(fā)智能檢測算法,協(xié)助安全人員監(jiān)控。實驗效果表明該系統(tǒng)的實時性和準(zhǔn)確性符合要求。

關(guān)鍵詞: 嵌入式系統(tǒng); 多路視頻監(jiān)控; 視頻編碼; 運動目標(biāo)檢測; 人數(shù)統(tǒng)計

中圖分類號: TN948.43?34; TP2 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)21?0153?05

Design of escalator intelligent video surveillance system based on IMX6

DU Qiliang1, ZENG Dongming1, TIAN Lianfang1, ZHANG Daming2

(1. School of Automation Science and Engineering, South China University of Technology, Guangzhou 510000, China;

2. Hitachi Elevator (Guangzhou) Escalator Co., Ltd., Guangzhou 510000, China)

Abstract: In order to control the start and stop of the escalator intelligently, count the number of people and detect the large stranded article at the exit of the escalator, an escalator intelligent video surveillance system based on IMX6Q processor was developed. The video capture based on V4L2 driver and video display based on Qt framework were implemented. The IMX6Q hardware codec unit VPU is used to perform the H.264 encoding and saving for video. The embedded FTP server is built to provide the transmission service of video downloading. The moving object is detected and tracked at the exit of the escalator. The intelligent detection algorithm was developed to assist the security staff for monitoring. The experimental results show that the timeliness and accuracy can meet the system requirements.

Keywords: embedded system; multi?channel video surveillance; video coding; moving object detection; people counting

0 引 言

如今社會人們對安全越來越重視,在生活和工作的許多場所都安裝了監(jiān)控攝像機。視頻監(jiān)控已經(jīng)廣泛應(yīng)用到安防監(jiān)控、工業(yè)生產(chǎn)、智能交通、環(huán)境監(jiān)測等領(lǐng)域。為了處理海量的視頻數(shù)據(jù),緩解安防人員的視覺疲勞,視頻監(jiān)控技術(shù)智能化是未來研究的主流方向[1]。例如,文獻(xiàn)[2]中對視頻監(jiān)控系統(tǒng)中的摔倒行為進(jìn)行檢測,預(yù)防有可能造成的嚴(yán)重后果。文獻(xiàn)[3]中對視頻中的人頭進(jìn)行檢測并跟蹤,實現(xiàn)了基于人頭的人數(shù)統(tǒng)計。

手扶電梯作為運輸工具,在地鐵、商場、火車站等公共場合越來越普及,給人們的出行帶來了極大的便利。不過當(dāng)扶梯上沒有人時,扶梯仍然持續(xù)運行,造成了一定的能源消耗。因此有必要對扶梯進(jìn)行智能視頻監(jiān)控,根據(jù)行人的有無自動控制扶梯的啟停,同時對扶梯口進(jìn)行人數(shù)統(tǒng)計和大件滯留物品檢測,輔助安全人員進(jìn)行監(jiān)控,引導(dǎo)他們注意潛在的興趣區(qū)域,使扶梯更加智能化。本文利用恩智浦公司的高性能IMX6Quad芯片,設(shè)計了一套針對手扶電梯的智能視頻監(jiān)控系統(tǒng)。

1 系統(tǒng)整體設(shè)計

視頻監(jiān)控系統(tǒng)中攝像機的安裝如圖1所示。在扶梯的上下樓層板的上方各安置一個垂直向下的攝像機,拍攝扶梯的出入口。扶梯的上樓層板的上方再安置一個攝像機朝向扶梯中部,以一定傾斜的角度從上方拍攝扶梯。監(jiān)控系統(tǒng)要實現(xiàn)三路視頻的實時采集和顯示,針對扶梯口設(shè)計圖像處理算法進(jìn)行人數(shù)統(tǒng)計和大件滯留物品檢測,通過CAN總線接口和扶梯控制器進(jìn)行通信。根據(jù)需要可以對感興趣的視頻進(jìn)行編碼保存,為了更方便地下載視頻,在嵌入式平臺上面搭建無線接入點(AP)并啟動FTP文件傳輸服務(wù)。

1.1 硬件總體設(shè)計

硬件部分如圖2所示,視頻監(jiān)控系統(tǒng)主要由攝像機、TW6865多路視頻采集模塊、USB WiFi模塊、IMX6開發(fā)板組成。系統(tǒng)采用IMX6開發(fā)板作為硬件平臺,它采用恩智浦公司的ARM Cortex?A9架構(gòu)的IMX6Quad芯片作為微處理器,具有4個內(nèi)核,主頻高達(dá)1.2 GHz。它支持業(yè)界種類繁多的接口標(biāo)準(zhǔn),擁有強大的2D,3D圖形加速和硬件編解碼能力,將多媒體的性能提升到全新的水平。IMX6視頻處理單元(VPU)是一種高性能的多標(biāo)準(zhǔn)視頻編解碼器引擎,能夠執(zhí)行多種標(biāo)準(zhǔn)的編碼和解碼操作,完全支持MJPG,MPEG?4,H.263和H.264編碼格式,編碼的速率最高可達(dá)30 f/s。endprint

Intersil公司的TW6865芯片是數(shù)字視頻記錄和視頻分析應(yīng)用的一個高度集成的解決方案,它包含了高品質(zhì)的4通道視頻解碼器。PAL制式的CCD攝像機通過BNC接頭接到TW6865模塊,TW6865實時采集多路模擬視頻信號,再轉(zhuǎn)換成YCbCr格式的數(shù)字信號,并經(jīng)過Mini PCIe接口傳送到i.MX6開發(fā)板。USB WiFi模塊采用的芯片是RTL8188EUS,性能優(yōu)良且低功耗。觸摸屏是LVDS接口,觸摸方式為電容觸摸,分辨率為1 024×600,用來進(jìn)行多路視頻顯示。SD卡用于擴展存儲容量,保存本地視頻。

1.2 軟件總體設(shè)計

在IMX6開發(fā)板上燒錄Linux操作系統(tǒng),Linux系統(tǒng)的內(nèi)核版本是3.0.35。燒錄系統(tǒng)之前要進(jìn)行相應(yīng)驅(qū)動的移植,在內(nèi)核的驅(qū)動代碼里添加TW6865芯片和USB WiFi模塊的驅(qū)動程序,修改相應(yīng)的Makefile和Kconfig文件,然后編譯成內(nèi)核模塊,在系統(tǒng)開機時會主動加載[4]。在系統(tǒng)里移植OpenCV 2.4.9,方便進(jìn)行算法設(shè)計。

視頻監(jiān)控系統(tǒng)要求具有良好的實時性和準(zhǔn)確性,為了充分利用處理器的4個內(nèi)核,采用多線程的方法進(jìn)行軟件設(shè)計。系統(tǒng)監(jiān)控軟件的流程圖如圖3所示,在Qt應(yīng)用程序中從main主線程派生出三個攝像機子線程和一個CAN總線通信子線程,所有子線程都繼承自Qthread類,在類的run()函數(shù)中執(zhí)行各自的線程任務(wù)。在每個攝像機的線程中實現(xiàn)圖像采集、圖像處理,以及把圖像數(shù)據(jù)發(fā)送給主線程。主線程用來顯示視頻和對界面的按鈕進(jìn)行響應(yīng)。CAN總線通信子線程負(fù)責(zé)和扶梯控制器通信,當(dāng)扶梯口出現(xiàn)運動物體時啟動扶梯。Linux系統(tǒng)將CAN總線接口當(dāng)成網(wǎng)絡(luò)設(shè)備,提供了相應(yīng)的套接字,極大程度地方便了程序員使用CAN接口。各個線程之間使用Qt的信號和槽機制進(jìn)行通信[5]。

2 監(jiān)控系統(tǒng)的軟件設(shè)計

2.1 視頻采集

V4L2是Linux系統(tǒng)中針對音、視頻設(shè)備文件的驅(qū)動模塊。它包含了一系列關(guān)于視頻設(shè)備的API,用ioctl函數(shù)可以很便利地實現(xiàn)視頻采集。本文采用mmap內(nèi)存映射方式采集,避免了大量的內(nèi)存拷貝操作,讀取方便,效率較高。V4L2視頻采集的主要步驟如下:

(1) 使用阻塞的方式打開視頻設(shè)備文件,獲得文件描述符。

(2) 查詢設(shè)備的信息和功能,比如支持的視頻幀的格式有哪些,是否具有視頻輸入的功能等。

(3) 設(shè)置視頻幀的格式。在這里,圖像格式為YUYV,視頻幀的寬度為720,高度為576。

(4) 申請幀緩存,數(shù)量一般不超過5個。使用mmap函數(shù)把幀緩存映射到用戶空間,并將幀緩存全部加入緩存隊列,啟動數(shù)據(jù)流。

(5) 開始視頻采集。從緩存隊列中取出最先采集的一幀圖像,然后再采集一幀圖像保存到緩存隊列中,從而循環(huán)進(jìn)行視頻采集。需要用到VIDIOC_DQBUF和VIDIOC_QBUF這兩個操作命令。

(6) 關(guān)閉數(shù)據(jù)流,停止視頻采集。釋放分配的緩存區(qū),關(guān)閉設(shè)備文件。

2.2 H.264硬件編碼

H.264編碼技術(shù)相比其他技術(shù)具有較高的壓縮性能和較小的失真[6]。為了提高視頻編碼速度,本系統(tǒng)采用H.264硬件編碼,它占用極小的CPU資源,滿足實時性要求。因為VPU的H.264編碼要求原始圖像數(shù)據(jù)的格式為YUV420,而采集到的圖像數(shù)據(jù)格式為YUV422,所以在進(jìn)行編碼之前需要完成格式的轉(zhuǎn)換,可以通過IMX6的IPU來實現(xiàn)。

IPU是IMX6芯片的圖像處理單元,它可以實現(xiàn)圖像大小調(diào)整、旋轉(zhuǎn)、色彩空間或格式轉(zhuǎn)換等功能。IPU庫提供三個可操作的連續(xù)緩沖區(qū)。輸入緩沖區(qū)包含待轉(zhuǎn)換的YUV422格式的數(shù)據(jù);輸出緩沖區(qū)輸出YUV420格式的數(shù)據(jù);覆蓋緩沖區(qū)包含要組合的數(shù)據(jù)。使用IPU編程的主要步驟如下:首先調(diào)用open()函數(shù)打開mxc_ipu設(shè)備文件,接著設(shè)置ipu_task結(jié)構(gòu)體的參數(shù),如輸入輸出圖像數(shù)據(jù)的格式、寬度和高度等,然后分配輸入輸出的緩存,最后通過系統(tǒng)調(diào)用ioctl的IPU_QUEUE_TASK請求來完成轉(zhuǎn)換工作。

使用VPU編碼流程如圖4所示,具體步驟如下:

(1) 調(diào)用vpu_Init()對VPU的硬件和數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化。

(2) 打開一個編碼器實例。首先調(diào)用IOGetPhyMe()得到物理緩沖區(qū),其次設(shè)置編碼操作的參數(shù),包括緩沖區(qū)的物理地址,然后通過vpu_EncOpen()打開一個編碼器實例,最后調(diào)用IOGetVirtMem()得到物理緩沖區(qū)的虛擬地址。

(3) 調(diào)用vpu_EncGetInitialInfo()來獲得編碼器所需的幀緩沖區(qū)大小,分配幀緩沖區(qū),并調(diào)用vpu_EncRegisterFrameBuffer()向VPU注冊。同時也要為原始數(shù)據(jù)幀分配緩沖區(qū)。

(4) 調(diào)用vpu_EncStartOneFrame()開始進(jìn)行圖像編碼操作。

(5) 調(diào)用vpu_IsBusy()來判斷編碼操作是否完成,通過vpu_WaitForInt()等待操作結(jié)束。調(diào)用vpu_EncGetOutputInfo()得到圖像編碼的結(jié)果。

(6) 若還需對其他幀進(jìn)行編碼,則重復(fù)步驟(4)和步驟(5)。若編碼結(jié)束,則釋放分配的緩沖區(qū),并通過vpu_UnInit()來釋放VPU資源。

2.3 嵌入式FTP服務(wù)器

FTP是在網(wǎng)絡(luò)中實現(xiàn)信息資源共享的一種通信協(xié)議,vsftp是一個基于GPL發(fā)布的類Unix系統(tǒng)上使用的FTP服務(wù)器軟件,高速穩(wěn)定且十分安全。通過以下三個步驟在IMX6開發(fā)板上搭建FTP服務(wù)器。

(1) 利用USB WiFi模塊,在IMX6開發(fā)板上面創(chuàng)建無線接入熱點。通過移植hostapd開源軟件可以實現(xiàn)無線熱點,修改其Makefile中CC為arm?none?linux?gnueabi?gcc,然后執(zhí)行make,把生成的hostapd命令程序拷貝到目標(biāo)平臺。編輯hostapd.conf文件,設(shè)置無線熱點的名字和密碼等,最后啟動hostapd命令來創(chuàng)建無線熱點。endprint

(2) 對無線網(wǎng)卡開啟dhcp服務(wù),為連接該熱點的終端自動分配同一個網(wǎng)段的IP地址。

(3) 移植vsftp,修改其Makefile中CC為arm?none?linux?gnueabi?gcc,在vsf_findlibs.sh腳本文件中注釋掉Look for libcap的部分,然后交叉編譯,把生成的vsftp和vsftp.conf拷貝到IMX6平臺中并做相應(yīng)的配置,就可以啟動FTP服務(wù)器。

用PC機連接無線接入熱點,打開谷歌瀏覽器,在地址欄中輸入IMX6平臺的IP地址192.168.0.22,并進(jìn)入pub子目錄,就可以看到已經(jīng)錄制好的視頻,點擊可以下載。FTP視頻下載圖如圖5所示。

3 視頻智能分析

3.1 運動目標(biāo)檢測與跟蹤

當(dāng)手扶電梯的運行方向確定時,其上下樓層板的人流方向具有一定的規(guī)律性,本文以手扶電梯的出口為對象來進(jìn)行人數(shù)統(tǒng)計和大件滯留物品檢測,系統(tǒng)采用的算法如圖6所示。

在背景建模中,常見的方法有平均背景、碼書背景和高斯背景建模,高斯模型對背景的干擾有一定的抑制,但計算量大,難以滿足實時性要求,本文采用基于YUV空間的碼書背景建模方法[7?8]。在系統(tǒng)開始運行時,對攝像機采集的前[N]幀圖像進(jìn)行碼書背景建模,用碼書算法對第[N]幀以后的圖像進(jìn)行運動目標(biāo)檢測,間隔一定的時間要對碼書模型進(jìn)行更新,同時刪除那些很少使用的碼本。

通過碼書方法得到當(dāng)前幀的前景二值圖,干擾較多,需要用形態(tài)學(xué)的方法進(jìn)行處理。通過閉運算去除由噪聲引起的孤立點,再通過開運算來填充物體內(nèi)的空洞。由于樓層板背景的復(fù)雜性,前景目標(biāo)會出現(xiàn)很多不連續(xù)的區(qū)域,所以開運算的核要大點。在目標(biāo)分割中,提取前景目標(biāo)的輪廓,計算每個前景物體的中心位置,可以通過周長或面積去除那些很小的物體。

采用近鄰匹配對物體進(jìn)行跟蹤,并用卡爾曼濾波算法對目標(biāo)的位置進(jìn)行修正。設(shè)當(dāng)前幀的[m]個前景目標(biāo)記為[Detect={d1,d2,…,dm},]前面幀被跟蹤的[n]個對象標(biāo)記為[Track={t1,t2,…,tn},]匹配的目標(biāo)是讓[c=i=0mci]最小,其中[ci]為[di]和某個匹配對象[tj]之間的距離。計算每個[di]到[tj]的距離,得到距離代價矩陣cost[n][m],原來的目標(biāo)匹配問題可以轉(zhuǎn)化為分配問題,通過匈牙利算法對cost矩陣可以求得最優(yōu)的分配。匹配完成之后若匹配的目標(biāo)之間的距離大于某個閾值,則要去除這組匹配。若Track集合中的某個對象沒有被匹配到,則把該對象的丟失幀數(shù)加1,累加到一定值后刪除此對象。把Detect集合中沒有被匹配到的前景目標(biāo)當(dāng)成新的跟蹤對象加入Track集合。

每個被跟蹤的目標(biāo)中都實例化了OpenCV的卡爾曼濾波器類KalmanFilter[9],進(jìn)行中心位置預(yù)測。設(shè)置卡爾曼濾波器的4個狀態(tài)變量為[x,y]以及[x]和[y]方向的加速度,測量變量為[x]和[y。]通過卡爾曼濾波預(yù)測點的位置,并通過測量值得到目標(biāo)的最優(yōu)位置。

3.2 人數(shù)統(tǒng)計和滯留物品檢測

記錄每個被跟蹤對象的中心位置的變化,判斷人流的運動方向是否和扶梯的運行方向大體一致,確定行人是否通過并使人流統(tǒng)計量自增。在此引入客流置信變量confi(n),表示第[n]個目標(biāo)通過扶梯樓層板的置信程度。當(dāng)中心位置的變化方向符合要求時,置信變量自增。令[T]為人流置信度閾值,當(dāng)confi(n)>T,判定行人通過并使人流統(tǒng)計量自增。

滯留物品檢測就是在視頻序列中檢測并跟蹤物體,判斷哪些物體在足夠長的時間內(nèi)保持靜止或微小移動。當(dāng)一個前景目標(biāo)在目標(biāo)區(qū)域逗留的時間大于一定的閾值,則可以判斷為大件物品滯留。

4 實驗結(jié)果

設(shè)置視頻采集的分辨率為720×576,在本地對3路視頻進(jìn)行實時監(jiān)控,系統(tǒng)運行穩(wěn)定,如圖7所示。使用top命令來監(jiān)視系統(tǒng)運行的狀態(tài),3路視頻采集時系統(tǒng)的CPU占有率約為37.8%。對某路視頻進(jìn)行H.264編碼并保存,下載視頻,用VLC軟件進(jìn)行播放,清晰流暢。

對算法進(jìn)行仿真分析,在感興趣的區(qū)域?qū)\動目標(biāo)進(jìn)行檢測與跟蹤,部分實驗結(jié)果如圖8所示。其中圖8(b)是通過碼書模型得到的前景掩碼。圖8(c)是經(jīng)過形態(tài)學(xué)處理得到的前景二值圖。在圖8(a)中,圓的圓心位置代表符合要求的前景目標(biāo)的質(zhì)心,正方形的中心是卡爾曼濾波得到的最優(yōu)位置,旁邊的數(shù)字代表是第幾個前景物體。記錄物體運動的軌跡,根據(jù)運動的方向來實現(xiàn)人流計數(shù)。

對手扶電梯出入口處進(jìn)行大件物品滯留檢測,部分結(jié)果如圖9所示。圖9(a)表示當(dāng)前幀中進(jìn)行大件物品滯留檢測的區(qū)域,用外接矩形來標(biāo)記滯留物品。圖9(b)是經(jīng)過濾波處理的前景二值圖。每幀圖像處理耗時隨著前景物體數(shù)量的增加而增加,經(jīng)測試幀率總體為11 f/s,滿足實時性的要求。

5 結(jié) 論

本文針對手扶電梯這種應(yīng)用場景,提出一種智能監(jiān)控系統(tǒng)。硬件部分采用高性能IMX6Q處理器和TW6865視頻采集芯片進(jìn)行設(shè)計,軟件部分采用Qt編程框架編寫多路視頻監(jiān)控程序,重點闡述了視頻采集、視頻編碼、視頻下載、視頻分析四個部分。利用多線程技術(shù)和IMX6Q硬件編碼,提高了處理效率。在嵌入式平臺上移植OpenCV并進(jìn)行算法設(shè)計,對扶梯口的運動目標(biāo)進(jìn)行檢測和跟蹤,從而進(jìn)行人數(shù)統(tǒng)計和大件滯留物品檢測,讓扶梯具有一定自主識別能力,也輔助安全人員監(jiān)控,適用于室內(nèi)環(huán)境變化比較穩(wěn)定的扶梯,具有一定的應(yīng)用價值。

參考文獻(xiàn)

[1] 黃凱奇,陳曉棠,康運鋒,等.智能視頻監(jiān)控技術(shù)綜述[J].計算機學(xué)報,2015(6):1093?1118.

[2] 白云飛,李瞡,何金龍.基于嵌入式視頻監(jiān)控的摔倒檢測系統(tǒng)的設(shè)計[J].電視技術(shù),2014(15):231?236.

[3] 張英.基于視頻的實時人數(shù)統(tǒng)計關(guān)鍵技術(shù)的研究[D].杭州:杭州電子科技大學(xué),2013.

[4] 弓雷. ARM嵌入式Linux系統(tǒng)開發(fā)詳解[M].北京:清華大學(xué)出版社,2014.

[5] BLANCHETTE Jasmin, SUNMERFIELD Mark. C++ GUI Qt 4編程[M].2版.北京:電子工業(yè)出版社,2008.

[6] 林海東,余強.基于H264的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].西華大學(xué)學(xué)報(自然科學(xué)版),2014(2):22?26.

[7] 趙謙,朱華偉,曾召華,等.一種基于YUV顏色空間的新碼書模型[J].計算機工程與應(yīng)用,2013(16):158?161.

[8] 袁國武.智能視頻監(jiān)控中的運動目標(biāo)檢測和跟蹤算法研究[D].昆明:云南大學(xué),2012.

[9] PATEL H A, THAKORE D G. Moving object tracking using Kalman filter [J]. International journal of computer science and mobile computing, 2013, 2(4): 326?332.endprint

猜你喜歡
嵌入式系統(tǒng)
Teaching Research on IoT and—Embedded System of Software Engineering
計算機教育(2016年8期)2016-12-24 10:34:05
基于Xilinx口袋實驗室的組合邏輯電路設(shè)計實驗
面向應(yīng)用的智能專業(yè)嵌入式系統(tǒng)教學(xué)
基于物聯(lián)網(wǎng)的遠(yuǎn)程紅外控制器
嵌入式系統(tǒng)軟件開發(fā)技術(shù)探析
基于AVR單片機的SPI接口設(shè)計與實現(xiàn)
辦公自動化系統(tǒng)的設(shè)計
嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
計算機教育(2016年7期)2016-11-10 08:31:34
凭祥市| 宝兴县| 察隅县| 界首市| 柳州市| 黄平县| 平度市| 林西县| 临漳县| 禄丰县| 平湖市| 电白县| 大关县| 延安市| 仁布县| 正蓝旗| 怀来县| 怀宁县| 灌云县| 东乡| 正镶白旗| 上犹县| 古交市| 宝清县| 扬中市| 盐山县| 遵义市| 吴川市| 绥芬河市| 金川县| 周宁县| 明星| 罗山县| 游戏| 安阳县| 时尚| 陵水| 乌苏市| 通州区| 东光县| 台南县|