版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2020屆湖北汽車工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)-1-摘要校園安全問題已經(jīng)成為激發(fā)矛盾的主要原因,校園安全事故大多發(fā)生在無人值守、行人容易闖入的地方。然而,目前網(wǎng)絡(luò)監(jiān)控設(shè)備普遍存在體積大、功耗高、適用性較差等缺點(diǎn),并不能滿足當(dāng)今校園安防的需求?;诖?,本文設(shè)計(jì)了一種基于Hi3518E的視頻監(jiān)控中目標(biāo)檢測系統(tǒng),該系統(tǒng)具有功耗低、適用性強(qiáng)等優(yōu)點(diǎn),能夠確保對無人值守的區(qū)域?qū)崿F(xiàn)實(shí)時(shí)在線監(jiān)控,確保校園安全。本文設(shè)計(jì)了一種基于Hi3518E的視頻監(jiān)控中目標(biāo)檢測系統(tǒng),在分析系統(tǒng)需求的前提下,采用模塊化設(shè)計(jì)思路。視頻在線監(jiān)控模塊以Hi3518E處理器為核心,主要實(shí)現(xiàn)圖像采集及圖像數(shù)據(jù)的在線傳輸;目標(biāo)檢測模塊采用CNN(ConvolutionalNeuralNetworks,卷積神經(jīng)網(wǎng)絡(luò))架構(gòu)對目標(biāo)進(jìn)行實(shí)時(shí)檢測。在系統(tǒng)整體設(shè)計(jì)中,本文主要從視頻在線監(jiān)控模塊的硬件電路模塊設(shè)計(jì)入手,分別進(jìn)行了系統(tǒng)硬件選型、系統(tǒng)電源網(wǎng)絡(luò)設(shè)計(jì)、圖像傳感器電路設(shè)計(jì)、無線網(wǎng)卡電路設(shè)計(jì)、SPIFLASH電路設(shè)計(jì)、以太網(wǎng)電路設(shè)計(jì)、PCB層疊設(shè)計(jì)及阻抗匹配、整機(jī)ESD設(shè)計(jì)、PCB設(shè)計(jì)、電源完整性仿真分析以及PCB光繪輸出。本文采用Hi3518E作為核心處理器、圖像傳感器采用AR0130攝像頭、無線網(wǎng)卡采用MT7601高度整合式Wi-Fi單芯片;接著對系統(tǒng)軟件設(shè)計(jì),包括搭建Linux開發(fā)環(huán)境、搭建Windows開發(fā)環(huán)境、部署鏡像uboot、kernel、rootfs、外設(shè)驅(qū)動(dòng)移植、Hi3518E媒體處理平臺(tái)架構(gòu)分析、視頻網(wǎng)絡(luò)傳輸、視頻存儲(chǔ)等;最后基于Windows+Pycharm搭建FastR-CNN算法構(gòu)建多層卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法實(shí)現(xiàn)對視頻中出現(xiàn)的目標(biāo)實(shí)時(shí)檢測。實(shí)驗(yàn)結(jié)果表明采集圖像清晰流暢,同時(shí)能夠快速、準(zhǔn)確地識(shí)別運(yùn)動(dòng)目標(biāo),體現(xiàn)了智能視頻監(jiān)控的特點(diǎn)。在算法性能上檢測準(zhǔn)確率達(dá)到97.6%,平均檢測速度達(dá)到36.7ms/幀,因此該系統(tǒng)具有功耗低、適用性強(qiáng)等優(yōu)點(diǎn),能夠確保對無人值守校園區(qū)域?qū)崿F(xiàn)實(shí)時(shí)在線監(jiān)控。關(guān)鍵詞:Hi3518E;FastR-CNN;目標(biāo)檢測;
AbstractCampussafetyissueshavebecomethemainreasonforincitingcontradictions.Campussafetyaccidentsmostlyoccurinplaceswherenooneisondutyandpedestrianseasilybreakintoit.However,currentnetworkmonitoringequipmentgenerallyhasshortcomingssuchaslargevolume,highpowerconsumption,andpoorapplicability,whichcannotmeettheneedsoftoday'scampussecurity.Basedonthis,thispaperdesignsaHi3518E-basedtargetdetectionsystemforvideosurveillance,whichhastheadvantagesoflowpowerconsumptionandstrongapplicability.Itcanensurereal-timeonlinemonitoringofunattendedareasandensurecampussafety.ThispaperdesignsatargetdetectionsystemforvideosurveillancebasedonHi3518E.Underthepremiseofanalyzingsystemrequirements,amodulardesignapproachisadopted.ThevideoonlinemonitoringmoduletakestheHi3518Eprocessorasthecoreandmainlyrealizesimageacquisitionandonlinetransmissionofimagedata;thetargetdetectionmoduleadoptsCNN(ConvolutionalNeuralNetworks,ConvolutionalNeuralNetwork)architecturetodetectthetargetinrealtime.Intheoverallsystemdesign,thisarticlemainlystartswiththedesignofthehardwarecircuitmoduleoftheonlinevideomonitoringmodule.Thesystemhardwareselection,systempowernetworkdesign,imagesensorcircuitdesign,wirelessnetworkcardcircuitdesign,SPIFLASHcircuitdesign,EthernetCircuitdesign,PCBstackingdesignandimpedancematching,machineESDdesign,PCBdesign,powerintegritysimulationanalysisandPCBlightdrawingoutput.ThisarticleusesHi3518Easthecoreprocessor,theimagesensorusestheAR0130camera,andthewirelessnetworkcardusestheMT7601highlyintegratedWi-Fisinglechip;thenthesystemsoftwaredesignincludesbuildingaLinuxdevelopmentenvironment,buildingaWindowsdevelopmentenvironment,deployingamirroruboot,kernel,rootfs,peripheraldrivertransplantation,Hi3518Emediaprocessingplatformarchitectureanalysis,videonetworktransmission,videostorage,etc.;finallybuildaFastR-CNNalgorithmbasedonWindows+Pycharmtobuildamulti-layerconvolutionalneuralnetworktargetdetectionalgorithmtoachievethegoalsthatappearinthevideoReal-timedetection.Theexperimentalresultsshowthatthecollectedimagesareclearandsmooth,andatthesametimecanquicklyandaccuratelyidentifymovingtargets,reflectingthecharacteristicsofintelligentvideosurveillance.Intermsofalgorithmperformance,thedetectionaccuracyratereaches97.6%,andtheaveragedetectionspeedreaches36.7ms/frame.Therefore,thesystemhastheadvantagesoflowpowerconsumptionandstrongapplicability,andcanensurereal-timeonlinemonitoringofunattendedcampusareas.Keywords:Hi3518E;FastR-CNN;targetdetection;
目錄第一章緒論 -第一章緒論1.1研究背景及意義近年來,隨著人們對社會(huì)安全防范的日益需求,全球范圍內(nèi)對視頻監(jiān)控的需求與日俱增,在平安城市、城市大腦等建設(shè)的推動(dòng)下,基于計(jì)算機(jī)多媒體、壓縮編碼技術(shù)、網(wǎng)絡(luò)傳輸技術(shù)等新一代技術(shù)的高度融合,推動(dòng)安防行業(yè)朝著高清化、數(shù)字化、網(wǎng)絡(luò)化和智能化發(fā)展,行業(yè)規(guī)模繼續(xù)擴(kuò)大,預(yù)計(jì)到2020年,安防行業(yè)總產(chǎn)值將達(dá)到9000億元左右,年增長率超過10%。視頻監(jiān)控作為安防行業(yè)核心領(lǐng)域,對于社會(huì)穩(wěn)定和保障個(gè)人財(cái)產(chǎn)安全具有重要的意義。校園安全問題已經(jīng)成為社會(huì)矛盾的主要原因,校園安全事故大多發(fā)生在無人值守、行人容易闖入的地方,目標(biāo)檢測是確保公共安全的關(guān)鍵環(huán)節(jié)之一。然而,目前網(wǎng)絡(luò)監(jiān)控設(shè)備普遍存在體積大、功耗高、適用性較差等缺點(diǎn),并不能滿足當(dāng)今社會(huì)安防的需求?;诖?,本文設(shè)計(jì)了一種基于Hi3518E[1]的視頻監(jiān)控中目標(biāo)檢測系統(tǒng),通過CMOS圖像傳感器AR0130實(shí)現(xiàn)視頻采集、H.264編碼技術(shù)實(shí)現(xiàn)視頻圖像的壓縮編碼、搭建流媒體服務(wù)器基于RTSP協(xié)議的實(shí)時(shí)視頻流傳輸?shù)絇C端以及搭建目標(biāo)檢測[2-3]算法平臺(tái)實(shí)現(xiàn)對視頻中目標(biāo)的檢測,最后將本文設(shè)計(jì)的智能監(jiān)控系統(tǒng)在校園中進(jìn)行實(shí)地測試。實(shí)驗(yàn)結(jié)果表明采集圖像清晰流暢,同時(shí)能夠快速、準(zhǔn)確地識(shí)別運(yùn)動(dòng)目標(biāo),體現(xiàn)了智能視頻監(jiān)控的特點(diǎn)。在算法性能上檢測準(zhǔn)確率達(dá)到97.6%,平均檢測速度達(dá)到36.7ms/幀,因此該系統(tǒng)具有功耗低、適用性強(qiáng)等優(yōu)點(diǎn),能夠確保對無人值守區(qū)域?qū)崿F(xiàn)實(shí)時(shí)在線監(jiān)控。1.2國內(nèi)外研究現(xiàn)狀及分析近年來,視頻監(jiān)控系統(tǒng)迅猛發(fā)展,其應(yīng)用范圍也得到了廣泛推廣,從最初的安防領(lǐng)域擴(kuò)展到遠(yuǎn)程醫(yī)療、遠(yuǎn)程教學(xué)和軍事安全等領(lǐng)域[4],對整個(gè)社會(huì)的和諧穩(wěn)定起著不可磨滅的作用。圖1顯示自2010-2019年國內(nèi)外學(xué)者深入開展視頻監(jiān)控系統(tǒng)研究,其視頻監(jiān)控中文相關(guān)文獻(xiàn)量、視頻監(jiān)控中文環(huán)比增長率都有較大提升,同時(shí)也涌現(xiàn)出一批在視頻監(jiān)控領(lǐng)域具有話語權(quán)的公司、院校和研究所,如華為海思、浙江??低?、大華股份、中國人民公安大學(xué)、重慶郵電大學(xué)、武漢大學(xué)和公安部第一研究所等。在視頻圖像方面,訊通研發(fā)出一款能夠?qū)⒁曨l圖像高像素顯示的軟件,即使在惡劣的天氣下也能確保視頻圖像具有很高的清晰度,極大滿足智慧城市視頻監(jiān)控的需求。運(yùn)動(dòng)目標(biāo)檢測是通過對視頻圖像的分析并識(shí)別出視頻中運(yùn)動(dòng)的運(yùn)動(dòng)目標(biāo),為進(jìn)一步處理做準(zhǔn)備工作。對于智能視頻監(jiān)控而言,能否快速、準(zhǔn)確識(shí)別運(yùn)動(dòng)目標(biāo)是檢驗(yàn)監(jiān)控系統(tǒng)性能的指標(biāo)。在現(xiàn)實(shí)生活中,視頻中運(yùn)動(dòng)目標(biāo)經(jīng)常受到外界環(huán)境的干擾進(jìn)而導(dǎo)致檢測準(zhǔn)確率下降的問題,因此運(yùn)動(dòng)目標(biāo)檢測已稱為研究熱點(diǎn)。在智能監(jiān)控領(lǐng)域,針對運(yùn)動(dòng)目標(biāo)的檢測,相關(guān)學(xué)者、專家針給出了相應(yīng)的解決方案。王子曄[5]等人提出一種多粒度的行人跟蹤檢測結(jié)合算法,能夠有效解決行人跟蹤難問題;薛俊韜[6]等人提出一種基于MobileNet的多目標(biāo)跟蹤深度學(xué)習(xí)算法,結(jié)果表明在跟蹤效果不變的前提下,該算法可以較大提升處理速度;Davis[7]等人通過提取運(yùn)動(dòng)目標(biāo)形狀和運(yùn)動(dòng)特征快速將視頻幀轉(zhuǎn)換為對應(yīng)的原型序列并對目標(biāo)進(jìn)行識(shí)別。圖1視頻監(jiān)控研究增長曲線圖1978年,美國的噴氣推進(jìn)實(shí)驗(yàn)室首先提出運(yùn)用機(jī)器視覺來檢測車輛,指出了機(jī)器視覺的方法可以代替?zhèn)鹘y(tǒng)的檢測方法[8]。一些美國著名電子企業(yè)如Honeywell、IBM,日本的SONY、松下等都開始研發(fā)安防產(chǎn)品,視頻監(jiān)控朝著數(shù)字化、智能化、集成化發(fā)展。IBM公司發(fā)布的S3系統(tǒng)(SmartSurveillanceSystem),能夠?qū)ΡO(jiān)控場景的進(jìn)行實(shí)時(shí)分析檢測并對可疑目標(biāo)做出預(yù)警[9];德國博世公司推出的IVA4.0第四代智能視頻分析系統(tǒng),能夠適應(yīng)不同的光照變化實(shí)現(xiàn)對室內(nèi)外運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)檢測、跟蹤分析等。在深度學(xué)習(xí)、智能分析技術(shù)日漸成熟的環(huán)境下,大數(shù)據(jù)在安防行業(yè)的應(yīng)用將會(huì)到達(dá)新的高度[10]??v覽全局,目前大數(shù)據(jù)、云計(jì)算、5G、物聯(lián)網(wǎng)等技術(shù)將持續(xù)推動(dòng)安防行業(yè)快速發(fā)展,朝著智能化、高清化和無線化發(fā)展,5G網(wǎng)絡(luò)的快速普及將在城市交通管理、遠(yuǎn)程醫(yī)療、遠(yuǎn)程教學(xué)、軍事安全、智能工廠和環(huán)境檢測等方面具有廣泛應(yīng)用,這將極大提升工作效率,讓生活更加多姿多彩!隨著國家持續(xù)推進(jìn)高等院??焖侔l(fā)展,接受高等教育的人數(shù)和水平也會(huì)大幅增加;然而近年來發(fā)生在學(xué)校的安全問題層出不窮,構(gòu)建平安校園營造安全和諧的校園環(huán)境迫在眉睫。借助大數(shù)據(jù)、云計(jì)算、5G、物聯(lián)網(wǎng)等技術(shù)打造智慧校園安全系統(tǒng),確保校園安全和學(xué)生身心健康,讓每個(gè)家庭幸福美滿,促進(jìn)社會(huì)的繁榮穩(wěn)定發(fā)展?;谏鲜雒枋?,本文設(shè)計(jì)了一種基于Hi3518E的視頻監(jiān)控中目標(biāo)檢測系統(tǒng),該系統(tǒng)具有功耗低、適用性強(qiáng)等優(yōu)點(diǎn),能夠確保對無人值守校園區(qū)域?qū)崿F(xiàn)實(shí)時(shí)在線監(jiān)控,當(dāng)學(xué)校發(fā)生緊急情況,如學(xué)生打架斗毆、可疑人員侵入等,系統(tǒng)可以迅速抓拍現(xiàn)場、識(shí)別運(yùn)動(dòng)目標(biāo)并提醒負(fù)責(zé)校園安保人員及時(shí)做出處理,確保校園安全。1.3本文主要研究內(nèi)容及結(jié)構(gòu)安排本文主要研究基于Hi3518E視頻監(jiān)控系統(tǒng),該系統(tǒng)包含了硬件和軟件設(shè)計(jì),具體從以下方面開展研究:第一章:緒論。主要介紹了課題研究背景和意義,國內(nèi)外研究現(xiàn)狀,最后介紹本文所做的工作。第二章:系統(tǒng)總體設(shè)計(jì)。主要介紹了以Hi3518E為核心的視頻監(jiān)控系統(tǒng),闡述了系統(tǒng)硬件和軟件設(shè)計(jì)方案。第三章:系統(tǒng)硬件設(shè)計(jì)。首先介紹了硬件設(shè)計(jì)流程,系統(tǒng)硬件選型,包括系統(tǒng)主芯片選型、攝像頭芯片選型和WiFi芯片選型;接著闡述了系統(tǒng)電源網(wǎng)絡(luò)設(shè)計(jì)、圖像傳感器電路設(shè)計(jì)、無線網(wǎng)卡電路設(shè)計(jì)、SPIFLASH電路設(shè)計(jì)和以太網(wǎng)電路設(shè)計(jì)、層疊設(shè)計(jì)、阻抗匹配、ESD設(shè)計(jì)、PCB設(shè)計(jì)、電源完整性仿真分析,最后進(jìn)行PCB光繪輸出。第四章:嵌入式軟件開發(fā)環(huán)境搭建。首先介紹了搭建Linux開發(fā)環(huán)境,在Ubuntu上安裝交叉編譯工具鏈、移植U-boot、移植Kernel和制作根文件系統(tǒng)。接著闡述了搭建Windows軟件開發(fā)環(huán)境、燒寫uboot、kernel、rootfs,最后詳細(xì)介紹了攝像頭驅(qū)動(dòng)移植和無線網(wǎng)卡驅(qū)動(dòng)移植。第五章:視頻圖像程序設(shè)計(jì)與實(shí)現(xiàn)。依次介紹了Hi3518E媒體處理平臺(tái)架構(gòu)、基于RTSP協(xié)議的視頻網(wǎng)絡(luò)傳輸和MP4V2的部署實(shí)現(xiàn)視頻存儲(chǔ)功能。第六章:目標(biāo)檢測算法設(shè)計(jì)與實(shí)現(xiàn)。包括目標(biāo)檢測概述、FastR-CNN框架介紹和FastR-CNN算法分析。第七章:系統(tǒng)總體測試。首先對系統(tǒng)測試環(huán)境進(jìn)行了詳細(xì)介紹,根據(jù)測試組網(wǎng)圖明確測試任務(wù)包括視頻監(jiān)控和目標(biāo)檢測功能。第八章:總結(jié)與展望。1.4本章小結(jié)本章介紹了視頻監(jiān)控系統(tǒng)的研究背景及意義,國內(nèi)外研究現(xiàn)狀及分析和本文主要的研究內(nèi)容和結(jié)構(gòu)安排等內(nèi)容。
第二章系統(tǒng)總體設(shè)計(jì)2.1系統(tǒng)總體方案設(shè)計(jì)本文設(shè)計(jì)的一種基于Hi3518E的視頻監(jiān)控系統(tǒng)由攝像頭、核心板、路由器和PC客戶端組成。硬件主要由Hi3518E主控模塊、電源模塊、攝像頭模塊、USBWiFi模塊、外部存儲(chǔ)電路和以太網(wǎng)電路組成,采用AR0130攝像頭實(shí)現(xiàn)視頻采集,用Hi3518E處理器對采集的視頻圖像進(jìn)行壓縮編碼,采用聯(lián)發(fā)科MT7601U實(shí)現(xiàn)視頻的無線傳輸。軟件組成包括bootloader、kernel、根文件系統(tǒng)、設(shè)備驅(qū)動(dòng)、媒體軟件處理平臺(tái)和應(yīng)用程序,應(yīng)用程序包括RTSP協(xié)議、圖像采集編碼、MP4v2移植以及目標(biāo)檢測算法,在PC上搭建目標(biāo)檢測算法平臺(tái)將采集到的視頻圖像通過WiFi傳輸至客戶端實(shí)現(xiàn)對目標(biāo)的實(shí)時(shí)檢測。系統(tǒng)總體方案設(shè)計(jì)如圖2.1所示。圖2.1系統(tǒng)架構(gòu)設(shè)計(jì)2.1.1系統(tǒng)硬件方案設(shè)計(jì)系統(tǒng)硬件方案由Hi3518E芯片和外部硬件組成。Hi3518E芯片優(yōu)化了圖像處理算法,對視頻輸入的圖像進(jìn)行優(yōu)化處理,達(dá)到良好的圖像顯示效果;同時(shí)該芯片內(nèi)嵌DDR2顆粒,集成POR、RTC、Sensor電平轉(zhuǎn)換等,將極大的降低生產(chǎn)成本和開發(fā)周期。硬件主要由Hi3518E主控模塊、電源模塊、攝像頭模塊、USBWiFi模塊、外部存儲(chǔ)電路和以太網(wǎng)電路組成。Hi3518E是一款高清攝像機(jī)SOC芯片,其ARM子系統(tǒng)版本為ARM9內(nèi)核,最高頻率可達(dá)400MHz,內(nèi)嵌2顆64MbDDR2,圖像處理子系統(tǒng)集成ISP模塊支持Sensor圖像Gamma校正數(shù)據(jù)處理;電源管理模塊采用MP2126和TPS79301確保系統(tǒng)穩(wěn)定工作;攝像頭與Hi3518E主控模塊相連,將采集到視頻壓縮后通過網(wǎng)卡電路經(jīng)路由器發(fā)送至服務(wù)器并保存[11];USBWiFi模塊采用MediaTek(聯(lián)發(fā)科)MT7601芯片,支持150MbpsPHY傳輸速率,滿足視頻監(jiān)控的無線傳輸。硬件架構(gòu)設(shè)計(jì)如圖2.2所示。圖2.2硬件架構(gòu)設(shè)計(jì)2.1.2系統(tǒng)軟件方案設(shè)計(jì)系統(tǒng)軟件架構(gòu)設(shè)計(jì)分為硬件驅(qū)動(dòng)層、Linux操作系統(tǒng)層和應(yīng)用層。硬件驅(qū)動(dòng)層主要包括視頻驅(qū)動(dòng)和內(nèi)核驅(qū)動(dòng);操作系統(tǒng)層包括系統(tǒng)的引導(dǎo)程序uboot、kernel和jffs2根文件系統(tǒng);應(yīng)用程序包括媒體處理平臺(tái)和目標(biāo)檢測檢測算法,Hi3518E媒體處理平臺(tái)架構(gòu)包括視頻輸入、視頻處理、視頻編解碼、視頻輸出和區(qū)域管理,通過API接口來完成應(yīng)用層功能的開發(fā);在Windows中搭建目標(biāo)檢測算法平臺(tái)實(shí)現(xiàn)對視頻中運(yùn)動(dòng)目標(biāo)的識(shí)別、跟蹤等。軟件架構(gòu)設(shè)計(jì)如圖2.3所示。圖2.3軟件架構(gòu)設(shè)計(jì)(1)硬件驅(qū)動(dòng)層驅(qū)動(dòng)廣義上是一段代碼操作硬件運(yùn)行,狹義上驅(qū)動(dòng)程序是專指操作系統(tǒng)中用來操控硬件的邏輯方法部分代碼。驅(qū)動(dòng)已經(jīng)成為內(nèi)核中最龐大的組成部分,內(nèi)核會(huì)直接以函數(shù)調(diào)用的方式調(diào)用驅(qū)動(dòng)代碼,驅(qū)動(dòng)的動(dòng)態(tài)安裝和卸載都會(huì)“更改”內(nèi)核,因此驅(qū)動(dòng)程序崩潰甚至?xí)?dǎo)致內(nèi)核崩潰,因此驅(qū)動(dòng)的優(yōu)劣對系統(tǒng)運(yùn)行有著重要的作用。本文設(shè)計(jì)中設(shè)及到的驅(qū)動(dòng)主要有視頻采集、處理、編解碼驅(qū)動(dòng)以及海思Sensor驅(qū)動(dòng)、USBWiFi驅(qū)動(dòng)、SD卡驅(qū)動(dòng)等。(2)Linux操作系統(tǒng)層Kernel是一種開源的類Unix操作系統(tǒng)宏內(nèi)核,整個(gè)Linux操作系統(tǒng)家族基于該內(nèi)核部署在傳統(tǒng)計(jì)算機(jī)平臺(tái)和各種嵌入式平臺(tái),工作于平板電腦、智能手機(jī)及智能手表的Android操作系統(tǒng),底層操作系統(tǒng)也是Linux。Kernel是操作系統(tǒng)的核心,負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動(dòng)程序、文件和網(wǎng)絡(luò)系統(tǒng),決定系統(tǒng)的性能和穩(wěn)定性。本文采用Linux-3.4.35內(nèi)核用于確保嵌入式產(chǎn)品正常工作。(3)媒體處理平臺(tái)架構(gòu)MPP包括視頻輸入、視頻處理、視頻編解碼、視頻輸出和區(qū)域管理等。首先AR0103攝像頭通過數(shù)模芯片把圖像轉(zhuǎn)換成數(shù)字信號(hào),VI模塊捕獲攝像頭拍攝的視頻進(jìn)行剪切、縮放等處理,然后VPSS模塊對視頻進(jìn)行去噪、圖像增強(qiáng)、銳化,最后經(jīng)VPSS處理后輸出視頻流通過Region模塊設(shè)置OSD圖像,對視頻進(jìn)行壓縮編碼,通過TFTP服務(wù)器把壓縮編碼后的圖像傳輸?shù)奖O(jiān)控端。視頻圖像包括視頻緩存、視頻輸入、視頻處理、視頻編碼;RTSP協(xié)議實(shí)現(xiàn)視頻網(wǎng)絡(luò)傳輸實(shí)現(xiàn),確??梢詿o線傳輸。(4)目標(biāo)檢測算法在整個(gè)軟件架構(gòu)設(shè)計(jì)中,應(yīng)用層位于頂層。本文在Windows中搭建FastR-CNN目標(biāo)檢測算法平臺(tái)實(shí)現(xiàn)對視頻中運(yùn)動(dòng)目標(biāo)的識(shí)別、跟蹤等。2.2本章小結(jié)本章主要介紹了基于Hi3518E的視頻監(jiān)控中目標(biāo)檢測系統(tǒng)的設(shè)計(jì)方案,包括系統(tǒng)整體設(shè)計(jì)方案、系統(tǒng)硬件方案設(shè)計(jì)和系統(tǒng)軟件方案設(shè)計(jì)。
第三章系統(tǒng)硬件設(shè)計(jì)本文設(shè)計(jì)了一種基于Hi3518E的視頻監(jiān)控系統(tǒng),該系統(tǒng)以Hi3518E芯片為處理器,搭載電源模塊、SPIFLASH模塊、以太網(wǎng)模塊、WiFi模塊、圖像傳感器模塊和串口模塊等外圍電路構(gòu)成網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。電源模塊用于給Hi3518E板卡供電,SPIFLASH模塊用于存放uboot、kernel和rootfs鏡像文件,以太網(wǎng)模塊用于實(shí)現(xiàn)板卡與Ubuntu、Windows系統(tǒng)網(wǎng)絡(luò)連接,WiFi模塊用于實(shí)現(xiàn)視頻數(shù)據(jù)的無線傳輸、圖像傳感器模塊用于視頻圖像的采集,RS232串口模塊用于實(shí)現(xiàn)板卡與Ubuntu系統(tǒng)信息交互,方便程序代碼調(diào)試。3.1系統(tǒng)硬件選型3.1.1系統(tǒng)主芯片選型本文設(shè)計(jì)的視頻監(jiān)控系統(tǒng)為確保用戶可以快速預(yù)覽清晰的畫面,要確保視頻監(jiān)控圖像的清晰度高和視頻數(shù)據(jù)傳輸速率低延時(shí)。目前,視頻監(jiān)控領(lǐng)域的芯片方案很多,分別是同軸的ISP分列方案、同軸的ISP集成的SOC方案、全網(wǎng)絡(luò)化IPC方案以及SOCFPGA的四種芯片實(shí)現(xiàn)方案[12]??紤]到整個(gè)系統(tǒng)的設(shè)計(jì)難度,本文選擇了具有高集成度的華為海思的Hi3518E芯片,該芯片采用百萬像素CMOS圖像傳感器,而且圖像處理(ISP)效率更高。Hi3518E是一款高清攝像機(jī)SOC芯片,采用192LDTFBGA封裝,封裝尺寸為10mmX10mm,管腳間距為0.65mm,管腳總數(shù)為192個(gè)。其ARM子系統(tǒng)版本為ARM9內(nèi)核,最高頻率可達(dá)400MHz,內(nèi)嵌2顆64MbDDR2;圖像處理子系統(tǒng)集成ISP模塊支持Sensor圖像Gamma校正數(shù)據(jù)處理;視頻子系統(tǒng)支持新一代H.264編碼器,使得Hi3518E能夠獲取高質(zhì)量圖像。Hi3518E功能框圖如圖3.1所示。圖3.1Hi3518E功能框圖3.1.2攝像頭芯片選型CMOS和CCD圖像傳感器在視頻監(jiān)控領(lǐng)域占有重要的市場份額,CMOS攝像頭是一種采用CMOS圖像傳感器的攝像頭,由于CMOS傳感器具有低成本、高集成度、功耗低和分辨率高等優(yōu)勢在高清網(wǎng)絡(luò)攝像機(jī)中應(yīng)用不斷增加。鑒于此,本文選擇Aptina推出的一款1/3英寸,高清(720P/30fps)圖像傳感器AR0130[13]作為攝像頭芯片,可提供1080*720的有源像素陣列。AR0130支持自動(dòng)曝光控制,當(dāng)以1080*720的分辨率采集并輸出圖像時(shí),最大幀率可達(dá)30fps,符合系統(tǒng)設(shè)計(jì)要求。攝像頭模組如圖3.2所示。圖3.2攝像頭模組3.1.3WiFi芯片選型基于視頻監(jiān)控的無線傳輸要求以及技術(shù)開發(fā)難度,本文選擇MediaTek(聯(lián)發(fā)科)MT7601[14]主控芯片,MT7601U是一款高度整合式Wi-Fi單芯片,支持150MbpsPHY傳輸速率,可以從遠(yuǎn)距離提供可靠穩(wěn)定的處理能力,滿足視頻監(jiān)控的無線傳輸要求;另外MTK對MT7601產(chǎn)品開發(fā)提供全套的軟硬件開發(fā)方案,進(jìn)一步降低了技術(shù)開發(fā)難度。USBWIFI起到的作用主要是扮演軟AP以及路由的角色,將其插入Hi3518E后,即可作為WiFi熱點(diǎn)供設(shè)備使用。WiFi芯片模組如圖3.3所示。圖3.3WiFi芯片模組3.2系統(tǒng)電源網(wǎng)絡(luò)設(shè)計(jì)本設(shè)計(jì)采用3.3V@657mA給Hi3518E系統(tǒng)供電,為滿足主控板正常工作,經(jīng)MP2126降壓至1V1@473mA、1V8@98mA使Hi3518EV200_VDD、Hi3518EV200_DDRC正常工作;經(jīng)TPS79301降壓至1V8@2mA使Hi3518EV200_DVD18正常工作;圖像傳感器AR0130、無線網(wǎng)卡MT7601U、SPIFLASH、以太網(wǎng)等在系統(tǒng)3.3V電壓下穩(wěn)定工作。電源樹如圖3.4所示。圖3.4電源樹3.2.11.1V穩(wěn)壓模塊電路設(shè)計(jì)本系統(tǒng)采用的3.3V的電源供電,為滿足系統(tǒng)正常工作,1V1@473mA供電電壓采用MP2162電源模塊,該模塊適用于包括高性能DSP、FPGA和便攜式設(shè)備,連續(xù)輸出2A的電流,電路的開關(guān)頻率為1.5MHz,為獲得最高頻率采用2.2uH電感,電感DC阻抗應(yīng)少于15mΩ。該芯片采用QFN8封裝,尺寸為2.0mmx1.5mm,外圍電路要配置少許電阻器件和電感即可正常工作。1.1V穩(wěn)壓模塊原理圖如圖3.5所示。圖3.51.1V穩(wěn)壓模塊原理圖3.2.21.8V穩(wěn)壓模塊電路設(shè)計(jì)由于Hi3518EV20X內(nèi)置了DDR2的顆粒,因此電源設(shè)計(jì)參考SSTL-18電平標(biāo)準(zhǔn),I/O電源需要1.8V,參考電壓Vref需要0.9V。1.8V穩(wěn)壓電路采用低功耗線性穩(wěn)壓器件TPS79301來產(chǎn)生穩(wěn)定的1.8V電壓和持續(xù)輸出2mA電流,該器件具有極低的壓差、高PSRR、超低輸出噪聲和低靜態(tài)電流,當(dāng)調(diào)節(jié)器關(guān)閉時(shí),使能輸入將電源電流降至1uA以下。1.8V穩(wěn)壓模塊原理圖如圖3.6所示。圖3.61.8V穩(wěn)壓模塊原理圖3.3各模塊電路設(shè)計(jì)3.3.1圖像傳感器電路設(shè)計(jì)AR0130是一個(gè)1/3英寸CMOS數(shù)字圖像傳感器,像素陣列1280HX960V,支持12bitRGBBayer并口輸入,時(shí)鐘最高100MHz。AR0130通過一個(gè)滾動(dòng)快門讀數(shù)來捕捉圖像,輸出每秒45幀的960p分辨率視頻圖像,廣泛運(yùn)用于游戲系統(tǒng)、監(jiān)視和高清視頻等。其中SENSOR_CLK為AR0130提供時(shí)鐘,SENSOR_RESET提供復(fù)位,I2C_SDA\CLK是I2C控制線VIU_DAT0~VIU_DAT11是12根數(shù)據(jù)線,VIU_CLK提供輸出給H3518E時(shí)鐘。為了保證圖像質(zhì)量,Sensor板模擬電源、數(shù)字電源做好隔離,保證連接器數(shù)據(jù)信號(hào)有足夠的回流地,以防止信號(hào)質(zhì)量變差從而影響圖像質(zhì)量并且要保證獨(dú)立供電。圖像傳感器電路原理圖如圖3.7所示。圖3.7Sensor電路原理圖3.3.2無線網(wǎng)卡電路設(shè)計(jì)AR0130圖像傳感器實(shí)時(shí)把視頻碼流以WiFi方式傳輸?shù)絎indows客戶端,因此通過USB轉(zhuǎn)WiFi方式拓展無線網(wǎng)卡,為滿足實(shí)時(shí)性要求選擇技術(shù)成熟的MT7601無線網(wǎng)卡。MT7601是一款低成本、低功耗和高度集成的WiFi信號(hào)芯片,該芯片符合IEEE802.11b/g標(biāo)準(zhǔn),連接無線局域網(wǎng)速度可達(dá)150Mbps,工作頻率2.4GHz,可以從更遠(yuǎn)的距離提供可靠穩(wěn)定的處理能力,廣泛運(yùn)用于以全志、海思等主芯片方案的安卓和Linux系統(tǒng)智能硬件產(chǎn)品中。無線網(wǎng)卡電路如圖3.8所示。圖3.8無線網(wǎng)卡電路3.3.3SPIFLASH電路設(shè)計(jì)SPIFlash具有高速存儲(chǔ)的特點(diǎn),同時(shí)也具有低功耗、易擦除的特點(diǎn),本文采用MXIC(旺宏電子)公司生產(chǎn)的MX25L25635E[15]芯片,該芯片是一個(gè)268,435,456位串行Flash閃存,用于BIOS、固件作存儲(chǔ),內(nèi)存容量可達(dá)256Mbit,具有串行外圍接口和軟件協(xié)議,允許在時(shí)鐘輸入(SCLK)、串行數(shù)據(jù)輸入(SI)和一個(gè)串行數(shù)據(jù)輸出(SO)總線上進(jìn)行操作。MX25L25635E設(shè)計(jì)目的是提供保護(hù),防止在電源轉(zhuǎn)換期間可能存在的虛假系統(tǒng)級信號(hào)造成的意外擦除或編程,在通電過程中,設(shè)備自動(dòng)將狀態(tài)機(jī)重置為待機(jī)模式。SPIFLASH電路如圖3.9所示。圖3.9SPIFLASH電路圖3.3.4以太網(wǎng)電路設(shè)計(jì)以太網(wǎng)接口是Hi3518E獲取網(wǎng)絡(luò)資源的通道之一,用于系統(tǒng)開發(fā)階段程序下載和調(diào)試。本系統(tǒng)采用以太網(wǎng)芯片RTL8201F,該芯片能夠?qū)崿F(xiàn)網(wǎng)絡(luò)接口數(shù)據(jù)的接收和發(fā)送,可以對網(wǎng)口的輸入幀進(jìn)行選擇性過濾接收,同時(shí)保護(hù)CPU不被大流量攻擊[16]。為確保網(wǎng)絡(luò)連接流暢,在進(jìn)行PCB設(shè)計(jì)時(shí)以太網(wǎng)芯片到CPU的GMII接口線的發(fā)送部分和接收部分要分開布線,不要將接收和發(fā)送網(wǎng)絡(luò)混合布線,發(fā)送和接收總線分別等長且滿足3W原則,確保以太網(wǎng)電路信號(hào)線的回流路徑的完整性,以太網(wǎng)電路設(shè)計(jì)如圖3.10所示。圖3.10以太網(wǎng)電路原理圖3.4層疊設(shè)計(jì)及阻抗匹配3.4.1層疊設(shè)計(jì)層疊設(shè)計(jì)[17]是一個(gè)系統(tǒng)工作,在設(shè)計(jì)PCB時(shí),需要考慮印制電路板的布線層、接地平面、電源平面、信號(hào)完整性、EMI和EMC等因素。PCB層疊設(shè)計(jì)對整個(gè)系統(tǒng)的EMC設(shè)計(jì)具有非常重要的作用,良好的層疊可以有效減少PCB回路的輻射效應(yīng)。Hi3518EPCB設(shè)計(jì)采用四層板疊層設(shè)計(jì)方案,即TOP->L2(GND)->L3(POWER)->BOTTOM,在PCB的頂層和底層放置去耦電容確保PCB板電源完整性好,因此在設(shè)計(jì)時(shí)連接去耦電容的走線應(yīng)盡量短而寬,連接到過孔的導(dǎo)線也應(yīng)盡量短,保證電源平面的去藕效果。Hi3518EPCB設(shè)計(jì)厚度:1.624mm,PCB成品厚度:1.6mm±0.1mm。四層板層疊設(shè)計(jì)方案如圖3.11所示。圖3.11四層板層疊設(shè)計(jì)3.4.2阻抗匹配隨著IC集成度不斷提高,信號(hào)傳輸頻率和速度越來越高,當(dāng)信號(hào)傳輸高到某一定值,導(dǎo)致傳輸信號(hào)的嚴(yán)重失真,因此阻抗匹配與否關(guān)系到信號(hào)質(zhì)量的優(yōu)劣。阻抗匹配的目的在于確保傳輸線上的高頻微波信號(hào)能夠到達(dá)負(fù)載點(diǎn),不會(huì)有信號(hào)反射回源點(diǎn),降低傳輸損耗,從而得到可靠、精確、無干擾的傳輸信號(hào)。特性阻抗[18]又稱“特征阻抗”,在信號(hào)傳輸過程中始終存在電流I,當(dāng)信號(hào)的輸出電平為V時(shí),傳輸線會(huì)等效成一個(gè)電阻為V/I,等效電阻是傳輸線的特性阻抗Z。(3.4.2)特性阻抗與傳輸線的物理結(jié)構(gòu)有關(guān),主要受介電常數(shù)、傳輸線到參考平面的距離、線寬、線厚以及線間距影響,因此在PCB設(shè)計(jì)中,走線層的變化、元器件處、過孔等都有可能引起傳輸線的阻抗變化。如圖3.12所示為PCB板傳輸線與過孔的阻抗,紅色虛線箭頭所指的是傳輸線上過孔的阻抗。圖3.12PCB板傳輸線與過孔的阻抗SI9000是一款阻抗計(jì)算的軟件,對PCB阻抗進(jìn)行預(yù)測。本文對Hi3518E著重分析了L1、L4單端信號(hào)線阻抗計(jì)算方法(50Ω)、L1、L4天線單端信號(hào)線阻抗計(jì)算方法(50Ω)、L1、L4差分阻抗(90Ω/100Ω),確保Hi3518EPCB信號(hào)完整性、電源完整性和EMI滿足設(shè)計(jì)要求,阻抗計(jì)算方法如圖3.13所示。圖3.13L1、L4阻抗計(jì)算方法3.5ESD設(shè)計(jì)在電子產(chǎn)品設(shè)計(jì)中要遵循ESD[19](Electro-StaticDischarge,靜電釋放)設(shè)計(jì)原則,有助于預(yù)防并解決靜電釋放產(chǎn)生的危害,因此本文針對整機(jī)ESD設(shè)計(jì)建議如下:整機(jī)設(shè)計(jì)為浮地設(shè)備時(shí),單板嚴(yán)禁采用分割地設(shè)計(jì);整機(jī)為接地設(shè)備時(shí),單板須分割保護(hù)地與數(shù)字地,保護(hù)地與金屬外殼連接,金屬外殼與大地充分連接;保護(hù)地與數(shù)字地之間采用單點(diǎn)連接,單點(diǎn)連接的位置要遠(yuǎn)離小系統(tǒng)電路,靠近整機(jī)電源連接器放置;接口連接器外殼要求采用金屬外殼,且與整機(jī)金屬外殼充分連接;整機(jī)設(shè)計(jì)中采用全金屬化外殼,金屬底殼,塑料上蓋的設(shè)計(jì),整機(jī)ESD風(fēng)險(xiǎn)更高,因?yàn)榭臻g輻射影響更強(qiáng),需要增加金屬屏蔽罩設(shè)計(jì)。3.6PCB設(shè)計(jì)PCB[20]是電子元器件的支撐體以及各部分電子元器件電氣連接的載體,Hi3518EPCB設(shè)計(jì)采用4層板(TOP->L2(GND)->L3(POWER)->BOTTOM)疊層方案,采用模塊化布局思路,元器件放置在頂層和底層;單板上大功耗器件、電源部分、Sensor、網(wǎng)口要均勻分布,避免局部過熱影響器件可靠性。電源部分靠近定位孔放置,使單板主要熱量經(jīng)過螺絲孔和機(jī)殼散發(fā)到外部環(huán)境中;熱敏感的器件Sensor、Flash等盡可能遠(yuǎn)離大功耗器件,減少大功耗器件的熱量對熱敏感器件的影響,可以將Sensor和Flash跟大功耗器件放置在不同層,避免敏感器件過熱而影響系統(tǒng)穩(wěn)定性和圖像質(zhì)量;將PCB的四個(gè)螺絲孔盡可能多的露銅處理,方便PCB和機(jī)殼充分接觸;芯片使用FULL孔連接,以提高芯片散熱效率。Hi3518EV20X的1.1V/1.8V/3.3V電源和地pin使用鋪銅方式連接,在保證電源通流能力的前提下,在這些銅皮上打盡可能多的過孔連接到電源和地平面,以增強(qiáng)芯片的散熱能力。Core電源使用平面供電,每個(gè)1uF濾波電容需要靠近管腳放置,減少寄生電感;為降低DDR_Vref的噪聲。時(shí)鐘晶振電路走線短寬,且需要做包地處理;為達(dá)到USB2.0高速480MHz的速度要求,差分?jǐn)?shù)據(jù)線走線段直,對內(nèi)長度嚴(yán)格等長,誤差控制在±5mil范圍內(nèi),差分阻抗控制在90Ω±10%。VI接口只需要對接單端接口的Sensor或者BT656/BT1120數(shù)據(jù)時(shí),信號(hào)線按照單端走線,阻抗控制在50Ω±10%以內(nèi),且走線間距按照“3W”原則控制。Hi3518EPCB版圖如圖3.14所示。圖3.14Hi3518EPCB版圖3.7電源完整性仿真分析隨著電子技術(shù)的快速發(fā)展,高速電路設(shè)計(jì)和電源完整性設(shè)計(jì)遇到前所未有的挑戰(zhàn),借助仿真工具進(jìn)行電源完整性仿真分析[21]已經(jīng)成為工程師必備的技能。Hyperlynx是一款功能全面的電子設(shè)計(jì)仿真軟件,主要包含信號(hào)完整性仿真、電源完整性仿真、電磁兼容性仿真和熱仿真。它可以進(jìn)行前仿真、后仿真、電路仿真和3D電磁場仿真,具有簡單易用、功能齊全、兼容性強(qiáng)、模板豐富、過孔分析和多半聯(lián)合仿真等特點(diǎn)。本文以Hi3518E的4層板為例,利用Hyperlynx軟件進(jìn)行電源完整性仿真分析,確保板級電源質(zhì)量滿足設(shè)計(jì)要求。電源完整性是指電路系統(tǒng)的供電電源在經(jīng)過傳輸網(wǎng)絡(luò)后提供符合器件工作的電源要求,為系統(tǒng)正常工作提供高性能電源。電源完整性分析主要分為2部分,直流壓降仿真分析,確保板級電源通道滿足元器件的壓降要求;交流阻抗仿真分析,確保板級電源通道阻抗?jié)M足用電端穩(wěn)定工作要求。3.7.1直流壓降仿真分析電源是電子系統(tǒng)的基石,是保證整個(gè)電路正常穩(wěn)定工作的前提。借助Hyperlynx軟件著重對1.8V電源平面進(jìn)行直流壓降仿真分析,直流壓降仿真分析設(shè)置包括層疊介質(zhì)、銅箔厚度、電源和地網(wǎng)絡(luò)的選擇及賦值、VRM選擇和設(shè)置、Sink選擇和設(shè)置等,設(shè)置完成后運(yùn)行仿真,分析結(jié)果。圖3.15顯示了1.8V電源平面電壓降落最大為0.035V,小于允許波動(dòng)的幅度+/-0.09V,結(jié)果表明1.8V電源平面電壓波動(dòng)和電流密度滿足設(shè)計(jì)滿足Hi3518E工作電壓要求,保證系統(tǒng)工作的穩(wěn)定性。圖3.15直流壓降仿真結(jié)果3.7.2交流阻抗仿真分析交流阻抗仿真分析主要是分析在一定頻帶范圍內(nèi),用電芯片能獲得持續(xù)、干凈的電源供電。借助Hyperlynx軟件著重對1.8V電源平面進(jìn)行交流阻抗仿真分析,交流阻抗仿真分析設(shè)置包括電源電壓、仿真文件層疊設(shè)計(jì)、電容模型和仿真類型選擇等,設(shè)置完成后運(yùn)行仿真,分析結(jié)果。圖3.16顯示了1.8V電源平面交流阻抗情況,在1Mhz-100Mhz的頻帶范圍內(nèi),綠線代表目標(biāo)阻抗值,紅線代表仿真得到的阻抗曲線,仿真結(jié)果表明仿真得到的阻抗值小于目標(biāo)阻抗值,則1.8V電源平面滿足設(shè)計(jì)要求。圖3.16交流阻抗仿真結(jié)果3.8PCB光繪輸出CAM350[22]是一個(gè)功能強(qiáng)大的解決方案,能夠很容易地實(shí)現(xiàn)從工程數(shù)據(jù)到物理PCB的轉(zhuǎn)換。CAM350提供了從PCB設(shè)計(jì)到PCB加工制造的一整套完整的PCB流程工具、簡化工程數(shù)據(jù)轉(zhuǎn)換和驗(yàn)證可制造性并貫穿整個(gè)PCB的制造過程,完全滿足客戶增加生產(chǎn)效率的要求。光繪文件又稱為Gerber,也可稱為CAM文件,它是PCB設(shè)計(jì)完成后交付板廠進(jìn)行生產(chǎn)的最終文件,因此,在導(dǎo)出光繪文件之前要必須保證PCB檢查無誤且所有鋪銅層全部灌銅。Hi3518E是四層板,則CAM光繪文件需要10個(gè)文件,包括頂層(Top)、地層(Gnd)、電源層(Vcc)、底層(Bottom)、頂層絲印層(SilkscreenTop)、底層絲印層(SilkscreenBottom)、頂層阻焊層(SolderMaskTop)、底層阻焊層(SolderMaskBottom)、鉆孔參考層(DrillDrawing)和NC鉆孔層(NCDrill)。本文設(shè)計(jì)只給出Hi3518EPCB頂層(Top)、地層(Gnd)、電源層(Vcc)、底層(Bottom)Gerber圖。Hi3518EPCBGerber如圖3.17所示。圖3.17Hi3518EPCBGerber3.9本章小結(jié)本章介紹了基于Hi3518E的視頻監(jiān)控中目標(biāo)檢測系統(tǒng)硬件總體建構(gòu),以Hi3518E為核心,詳細(xì)介紹了Hi3518E硬件設(shè)計(jì)流程、硬件電路設(shè)計(jì)、層疊設(shè)計(jì)、阻抗匹配、PCB設(shè)計(jì)、1.8V電源平面電源完整性仿真分析以及PCB光繪輸出。
第四章嵌入式軟件開發(fā)環(huán)境搭建嵌入式Linux開發(fā)環(huán)境包括路由器、Windows和Hi3518E開發(fā)板,開發(fā)板與Windows通過網(wǎng)線和串口互聯(lián),三者處于通一個(gè)網(wǎng)絡(luò)中。由于Ubuntu自帶的gcc編譯器是針對X86架構(gòu),然而要編譯的是ARM架構(gòu)代碼,因此需要交叉編譯調(diào)試的方式進(jìn)行開發(fā)和調(diào)試,Windows搭建交叉編譯環(huán)境經(jīng)過“編譯-鏈接-定位”得到可執(zhí)行文件通過串口部署到Hi358E開發(fā)板中[23]。嵌入式開發(fā)環(huán)境如圖4.1所示。圖4.1嵌入式開發(fā)環(huán)境4.1搭建Linux開發(fā)環(huán)境4.1.1在Ubuntu上安裝交叉編譯工具在嵌入式系統(tǒng)開發(fā)過程,一般不能像PC一樣安裝本地編譯器和調(diào)試器進(jìn)行本地編寫、編譯和調(diào)試,因此程序需要在宿主機(jī)Ubuntu開發(fā)裸機(jī)軟件、系統(tǒng)級和應(yīng)用級軟件經(jīng)過交叉編譯生成可行性文件部署到Hi3518E平臺(tái),本例選擇基于uclib工具鏈arm-hisiv300-linux作為交叉編譯工具鏈[24],本節(jié)通過具體實(shí)例講述基于Hi3518E板卡交叉編譯工具鏈的安裝過程。交叉編譯工具鏈安裝結(jié)果如圖4.2所示。(1)拷貝并解壓。把SDK通過共享文件夾傳到Ubuntu中,執(zhí)行“cp/mnt/hgfs/winshare/Hi3518E/Hi3518E_SDK_V.tgz./”命令,接著“tar-xvfHi3518E_SDK_V.tgz”指令進(jìn)行解壓縮,在文件夾下得到Hi3518E_SDK_V目錄。(2)修改shell為bash并安裝庫。由于pushd命令需要在bash的環(huán)境中執(zhí)行,需要修改系統(tǒng)默認(rèn)shell為bash才能壓棧入棧;進(jìn)行osdrv目錄,拷貝目標(biāo)文件到osdrv目錄下,然后執(zhí)行“tar-jxvfarm-hisiv300-linux.tar.bz2”解壓文件。由于宿主機(jī)ubuntu是64位而交叉編譯器是針對32位的開發(fā)板制作的,所以要安裝對應(yīng)的32位庫,執(zhí)行“sudoapt-getinstalllib32ncurses5lib32z1”“sudoapt-getinstalllib32stdc++6-4.8-dbg”命令安裝32位庫。(3)導(dǎo)出環(huán)境變量并修改.bashrc。為避免命令行傳參被覆蓋需要export導(dǎo)出到環(huán)境變量;執(zhí)行“sudovi~/.bashrc”命令打開文件并將導(dǎo)出的環(huán)境變量添加到最后一行保存退出,在終端中執(zhí)行“arm-hisiv300-linux-uclibcgnueabi-gcc–v”顯示gcc版本號(hào)為4.8.3。圖4.2安裝交叉編譯鏈結(jié)果4.1.2嵌入式Linux系統(tǒng)映像邏輯分布Hi3518E嵌入式Linux系統(tǒng),由uboot、kernel和rootfs組成,引導(dǎo)程序用于加載并運(yùn)行內(nèi)核,可通過參數(shù)控制內(nèi)核的運(yùn)行;Linux內(nèi)核在啟動(dòng)過程中會(huì)尋找并加載根文件系統(tǒng),加載成功則進(jìn)入LinuxShell,運(yùn)行用戶程序。系統(tǒng)將這些功能的文件打包生成一個(gè)整體映像文件,運(yùn)行在16M的SPIFlash閃存上,各映像在存儲(chǔ)介質(zhì)上的邏輯分布如圖4.3所示。圖4.3映像邏輯分布4.1.3移植U-bootU-boot全稱是UniversalBootLoader,是德國DENX軟件工程中心WolfgangDenk工程師維護(hù)的一個(gè)遵循GPL條款的開放源碼項(xiàng)目即通用啟動(dòng)代碼[25],U-boot的主要作用是用來啟動(dòng)操作系統(tǒng)內(nèi)核,負(fù)責(zé)部署整個(gè)計(jì)算機(jī)操作系統(tǒng)。U-boot啟動(dòng)過程:系統(tǒng)上電后先執(zhí)行bootloader,bootloader初始化DDR2、SPIFLASH,Kernel從SPIFLASH中讀取到DDR2,然后啟動(dòng)OS[26],最后加載rootfs執(zhí)行命令。U-boot移植的過程如下:(1)編譯環(huán)境變量執(zhí)行如下命令進(jìn)行U-boot參數(shù)配置,使U-boot能夠作為Hi3518E系統(tǒng)啟動(dòng)代碼。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-hi3518ev200_configmakeARCH=armCROSS_COMPILE=arm-hisiv300-linux-hi3518ev200_config(2)編譯U-boot執(zhí)行如下命令編譯U-boot,編譯生成u-boot.bin。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-(3)生成鏡像將生成的u-boot.bin復(fù)制到osdrv/tools/pc/uboot_tools/目錄下,運(yùn)行如下命令生成的u-boot-hi3518ev200.bin即為可用的u-boot鏡像。./mkboot.shreg_info.binu-boot-ok.bin./mkboot.shreg_info.binu-boot-ok.bin4.1.4移植KernelLinux內(nèi)核(Kernel[27])是一種開源的類Unix操作系統(tǒng)宏內(nèi)核,Kernel是操作系統(tǒng)的核心,負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動(dòng)程序、網(wǎng)絡(luò)系統(tǒng),決定系統(tǒng)的性能和穩(wěn)定性。整個(gè)Linux操作系統(tǒng)家族基于該內(nèi)核部署在傳統(tǒng)計(jì)算機(jī)平臺(tái)和各種嵌入式平臺(tái),其平板電腦、智能手機(jī)及智能手表的Android操作系統(tǒng),底層操作系統(tǒng)也是Linux。Kernel移植流程如下:(1)配置內(nèi)核進(jìn)入內(nèi)核源代碼后,執(zhí)行如下命令配置內(nèi)核。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-menuconfigmakeARCH=armCROSS_COMPILE=arm-hisiv300-linux-menuconfig(2)生成鏡像運(yùn)行如下命令生成鏡像uImage_Hi3518ev200。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-uImagemakeARCH=armCROSS_COMPILE=arm-hisiv300-linux-uImage4.1.5制作根文件系統(tǒng)根文件系統(tǒng)[28]是確保Linux系統(tǒng)運(yùn)行的最小根文件系統(tǒng),根文件系統(tǒng)和Linux內(nèi)核是分開的,單獨(dú)的Linux內(nèi)核是沒法正常工作的,必須要搭配根文件系統(tǒng)。BusyBox是一個(gè)集成大量的最常用Linux命令和工具的軟件用來制作根文件系統(tǒng)。(1)配置和編譯BusyBox本文在busybox的基礎(chǔ)上制作根文件系統(tǒng),進(jìn)入busybox所在目錄,進(jìn)行配置操作需要輸入如下命令cposdrv/busybox/busybox-1.20.2/busybox_cfg_hi3518ev200后makemenuconfig進(jìn)行配置,編譯成功后,在busybox目錄下的_install目錄下生成目錄及文件。(2)構(gòu)建根文件系統(tǒng)創(chuàng)建rootbox文件夾并進(jìn)入,執(zhí)行cp–Rpacket/os/busybox-1.20.2/_intsall/*指令進(jìn)行文件拷貝,再執(zhí)行以下指令就可以構(gòu)建一個(gè)完整的JFFS2格式的根文件系統(tǒng)。osdrv/pub/bin/pc/mkfs.jffs2-dosdrv/pub/rootfs_uclibc-l-e0x10000–oosdrv/pub/bin/pc/mkfs.jffs2-dosdrv/pub/rootfs_uclibc-l-e0x10000–oosdrv/pub/rootfs_uclibc_256k.jffs2編譯生成的三個(gè)鏡像文件是u-boot-hi3518ev200.bin、uImage_hi3518ev200、rootfs_hi3518ev200_256k.jffs2,編譯結(jié)果如圖4.4所示。圖4.4編譯結(jié)果4.2搭建Windows軟件開發(fā)環(huán)境4.2.1SecureCRTSecureCRT是一款Windows下登錄Linux服務(wù)器的理想軟件,本文使用SecureCRT軟件與Hi3518E板卡進(jìn)行通信,用于嵌入式系統(tǒng)開發(fā)中程序的下載、調(diào)試、終端命令輸入和顯示。SecureCRT具有自動(dòng)注冊、打印信息和顏色設(shè)置功能,選擇serial連接類型,COM3端口,波特率為115200,即可實(shí)現(xiàn)雙向通信。圖4.5是通過SecureCRT連接開發(fā)板和虛擬機(jī)的界面,可以實(shí)現(xiàn)在Hi3518E板卡和虛擬機(jī)Ubuntu系統(tǒng)之間切換。圖4.5SecureCRT登錄界面4.2.2TFTP服務(wù)器TFTP[29]是一種基于客戶端與服務(wù)器間的傳輸協(xié)議。由于它遵循UDP協(xié)議,TFTP協(xié)議的傳輸效率并不高,其優(yōu)點(diǎn)在于實(shí)現(xiàn)簡單而不是高的系統(tǒng)吞吐量。本文搭建TFTP服務(wù)器來燒寫kernel和rootfs鏡像,此時(shí)bootloader作為客戶端,虛擬機(jī)Ubuntu中搭建tftp服務(wù)器,然后將下載的鏡像文件放在服務(wù)器的下載目錄中,然后開發(fā)板終端使用tftp命令去下載即可。IP設(shè)置:本地(Windows10)IP地址是0,serverp(Ubuntu16.04)IP地址是5,Hi3518EIP地址0。4.3燒寫U-boot、kernel、rootfs裸機(jī)就是設(shè)備是空白的,程序未經(jīng)燒錄的,本文通過主芯片提供的ISP下載的機(jī)制來間接燒錄板載spiflash。SDRAM地址范圍:80000000-83FFFFFF,在本例中用海思官方提供的燒錄工具Hi_tool來燒錄uboot,利用tftp服務(wù)器來燒寫kernel和rootfs鏡像,spiflash共16M存儲(chǔ)空間,其中bootloader占用1M空間、kernel占用3M空間和rootfs占用12M空間,SPIFLASH地址分區(qū)表如表4.3所示。表4.3SPIFLASH地址分區(qū)表分區(qū)名分區(qū)大小地址范圍用途bootloader1M0x00000000-0x00100000U-Bootkernel3M0x00100000-0x00400000內(nèi)核rootfs12M0x00400000-0x01000000根文件系統(tǒng)運(yùn)行HiTool[30]工具平臺(tái)前,首先要安裝JRE且版本不得低于V1.6,利用HiTool軟件燒錄bootloader,HiTool工具啟動(dòng)畫面如圖4.6所示。圖4.6HiTool工具啟動(dòng)界面(1)燒寫bootloader首先安裝JRE,打開HiTool,Hi3518E板卡和windows連接后上電。打開HiTool,在工具平臺(tái)菜單上打開芯片更新界面,選擇芯片型號(hào)是Hi3518ev200,選擇串口燒錄,加載bootloader文件,由于內(nèi)核文件大小為256K,則分配1M空間,點(diǎn)擊燒寫。燒寫bootloader如圖4.7所示。圖4.7燒寫bootloader(2)燒寫Kernel燒寫Kernel的命令序列如下:mw.b0x82000000ff0x300000mw.b0x82000000ff0x300000/*內(nèi)存初始化*/tftp0x82000000uImage_hi3518ev200/*通過tftp將uImage下載到內(nèi)存*/sfprobe0/*初始化SPIFLASH*/sferase0x1000000x300000/*將FLASH中從0地址擦除3M大小數(shù)據(jù)*/sfwrite0x820000000x1000000x300000/*將uImage從內(nèi)存中寫入SPIFLASH*/(3)燒寫rootfs燒寫rootfs的命令序列如下:mw.b0x82000000ff0xc00000mw.b0x82000000ff0xc00000/*內(nèi)存初始化*/tftp0x82000000rootfs_hi3518ev200_64k.jffs2/*通過tftp將rootfs下載到內(nèi)存*/sfprobe0/*初始化SPIFLASH*/sferase0x4000000xc00000/*將FLASH中從0x400000地址擦除12M大小數(shù)據(jù)*/sfwrite0x820000000x4000000xc00000/*將rootfs從內(nèi)存中寫入SPIFLASH*/待uboot、kernel、rootfs部署到16M的SPIFLASH后,需要設(shè)置bootcmd和bootargs環(huán)境變量參數(shù),其中bootcmd用來管理內(nèi)核啟動(dòng),bootargs用來管理系統(tǒng)啟動(dòng)后相關(guān)變量設(shè)置,其中mem=32M是因?yàn)镠i3518E芯片內(nèi)部有兩顆DDR2,SDRAM分出32M給內(nèi)核(0x80000000-0x81FFFFFF),另外32M給Hi3518EMPP(0x82000000-0x83FFFFFF)用。setbootcmd'sfprobe0;sfread0x820000000x1000000x300000;bootm0x82000000'setbootcmd'sfprobe0;sfread0x820000000x1000000x300000;bootm0x82000000'setbootargsmem=32Mconsole=ttyAMA0,115200root=/dev/mtdblock2rootfstype=jffs2mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs)4.4外設(shè)驅(qū)動(dòng)移植驅(qū)動(dòng)廣義上是一段代碼操作硬件運(yùn)行,狹義上驅(qū)動(dòng)程序是專指操作系統(tǒng)中用來操控硬件的邏輯方法部分代碼。驅(qū)動(dòng)已經(jīng)成為內(nèi)核中最龐大的組成部分,內(nèi)核會(huì)直接以函數(shù)調(diào)用的方式調(diào)用驅(qū)動(dòng)代碼,驅(qū)動(dòng)的動(dòng)態(tài)安裝和卸載都會(huì)“更改”內(nèi)核,因此驅(qū)動(dòng)程序崩潰甚至?xí)?dǎo)致內(nèi)核崩潰,因此驅(qū)動(dòng)的優(yōu)劣對系統(tǒng)運(yùn)行有著重要的作用。本文著重介紹攝像頭AR0130和無線網(wǎng)卡MT7601U移植過程。4.4.1攝像頭驅(qū)動(dòng)移植Sensor驅(qū)動(dòng)框架Sensor主要由光電轉(zhuǎn)換、AD、ISP和并口組成,將光信號(hào)轉(zhuǎn)化為電信號(hào)實(shí)現(xiàn)圖像采集的傳感器。ISP[31]由控制單元和基礎(chǔ)算法單元、3A算法庫和Sensor庫組成,ISP調(diào)度基礎(chǔ)算法和3A算法庫,通過回調(diào)函數(shù)獲取初始化參數(shù)并控制Sensor,同時(shí)Sensor庫分別向ISP庫和3A算法庫注冊函數(shù)回調(diào),以實(shí)現(xiàn)差異化的Sensor適配。mpp定義Sensor驅(qū)動(dòng)實(shí)現(xiàn)和封裝存放于mpp\component\isp\sensor\文件中,ar0130_sensor_ctl.c中定義底層硬件的寄存器值配置函數(shù),ar0130_cmos.c中定義回調(diào)和上層函數(shù)。Sensor驅(qū)動(dòng)框架如圖4.8所示。圖4.8Sensor驅(qū)動(dòng)框架Sensor驅(qū)動(dòng)移植mpp定義了一套sensor驅(qū)動(dòng)的實(shí)現(xiàn)和封裝,其中ar0130_cmos.c中定義回調(diào)和上層函數(shù)實(shí)現(xiàn)注冊回調(diào),ar0130_sensor_ctl.c中定義底層硬件相關(guān)的寄存器值配置函數(shù)配置sensor寄存器,底層I2C驅(qū)動(dòng)在kernel中,kernel中的I2C驅(qū)動(dòng)提供I2C層面的物理層操作接口。海思Sensor驅(qū)動(dòng)工作在應(yīng)用層,以非ko形式存在,在對Sensor修改時(shí)不需要重新編譯內(nèi)核,直接以庫的形式來調(diào)用。本系統(tǒng)采用的攝像頭為AR0130,實(shí)現(xiàn)視頻圖像采集,調(diào)用內(nèi)核I2C驅(qū)動(dòng)對Sensor進(jìn)行硬件操作。Sensor驅(qū)動(dòng)移植流程如下:(1)硬件系統(tǒng)配置進(jìn)入SecureCRT終端,通過NFS服務(wù)器將Ubuntu文件夾自動(dòng)掛載開發(fā)板/mnt目錄下,執(zhí)行如下命令進(jìn)行參數(shù)配置。ccdmpp/ko./load3518–I–offine–sensorar0130–osmem32–total64(2)生成鏡像修改Makefile文件內(nèi)容并執(zhí)行命令編譯Sensor,生成sample_venc鏡像。CHIP_ID?=CHIP_HI3518E_V200CHIP_ID?=CHIP_HI3518E_V200SENSOR_TYPE?=APTINA_AR0130_DC_720P_30FPSubuntu@book:~/sambashare/Hi3518E_SDK_V/mpp/sample/venc$makeSensor驅(qū)動(dòng)編譯結(jié)果如圖4.9所示。圖4.9Sensor驅(qū)動(dòng)編譯結(jié)果4.4.2無線網(wǎng)卡驅(qū)動(dòng)移植無線網(wǎng)卡驅(qū)動(dòng)移植在原有視頻監(jiān)控系統(tǒng)基礎(chǔ)上提供一種視頻數(shù)據(jù)遠(yuǎn)程無線采集方案,本系統(tǒng)采用MT7601USB無線網(wǎng)卡是聯(lián)發(fā)科技一款高度整合式Wi-Fi單芯片,支持150MbpsPHY傳輸速率。無線網(wǎng)卡驅(qū)動(dòng)移植流程如下:(1)修改USBWIFI驅(qū)動(dòng)進(jìn)入include/rtmp_def.h1627行,修改網(wǎng)絡(luò)名稱為wlan。#defineINF_MAIN_DEV_NAME"wlan"#defineINF_MAIN_DEV_NAME"wlan"#defineINF_MBSSID_DEV_NAME"wlan"(2)修改Makefile添加Linux內(nèi)核源碼路徑、編譯工具鏈和CPU。#addpoint#addpointifeq($(PLATFORM),HISI_3518E)LINUX_SRC=/home/ubuntu/sambashare/Hi3518E_SDK_V/osdrv/opensource/kernel/linux-3.4.yCROSS_COMPILE=arm-hisiv300-linux-exportARCH=armendif(3)部署驅(qū)動(dòng)在終端中確認(rèn)USBWIFI模塊被識(shí)別,創(chuàng)建/etc/Wireless/RT2870AP文件夾,把驅(qū)動(dòng)源文件下的RT2870AP.dat復(fù)制到此文件夾中,裝載驅(qū)動(dòng)insmodmt7601Uap.ko,設(shè)置WindowsIP地址為0,Hi3518E開發(fā)板IP地址為0,將編譯得到的sample_venc復(fù)制到開發(fā)板中運(yùn)行。WIFI驅(qū)動(dòng)編譯結(jié)果如圖4.10所示。圖4.10WIFI驅(qū)動(dòng)編譯結(jié)果4.5本章小結(jié)本章介紹了嵌入式軟件開發(fā)環(huán)境搭建,包括搭建Linux開發(fā)環(huán)境、搭建Windows軟件開發(fā)環(huán)境、燒寫uboot、kernel、rootfs、攝像頭驅(qū)動(dòng)移植和無線網(wǎng)卡驅(qū)動(dòng)移植。
第五章視頻圖像程序設(shè)計(jì)與實(shí)現(xiàn)5.1Hi3518E媒體處理平臺(tái)架構(gòu)Hi3518E媒體處理平臺(tái)[32]架構(gòu)包括視頻輸入、視頻處理、視頻編解碼、視頻輸出和區(qū)域管理等。首先AR0103攝像頭通過數(shù)模芯片把圖像轉(zhuǎn)換成數(shù)字信號(hào),VI模塊捕獲攝像頭拍攝的視頻進(jìn)行剪切、縮放等處理,然后VPSS模塊對視頻進(jìn)行去噪、圖像增強(qiáng)、銳化,最后經(jīng)VPSS處理后輸出視頻流通過Region模塊設(shè)置OSD圖像,對視頻進(jìn)行壓縮編碼,通過TFTP服務(wù)器把壓縮編碼后的圖像傳輸?shù)奖O(jiān)控端。Hi3518E媒體處理平臺(tái)流程如圖5.1所示圖5.1Hi3518E媒體處理平臺(tái)流程5.1.1視頻緩存視頻本質(zhì)是多幀圖片,圖片本質(zhì)是RGB或rawRGB數(shù)據(jù),視頻的裁剪、縮放等,本質(zhì)上是對內(nèi)存中的數(shù)據(jù)進(jìn)行運(yùn)算。視頻緩存池(VB,videobuffer)是被合理劃分和管理內(nèi)存用來做視頻數(shù)據(jù)的暫存和運(yùn)算場,視頻緩存池的內(nèi)存由MPP來維護(hù),在系統(tǒng)啟動(dòng)時(shí)把整個(gè)SDRAM分成系統(tǒng)部分(由linuxkernel來維護(hù)管理)和mpp部分(由mpp系統(tǒng)來維護(hù)管理)。視頻輸入通道從公共視頻緩存池A中獲取視頻緩存塊Am,存放在視頻緩存池處理模塊VB,VI對緩存塊Am進(jìn)行數(shù)據(jù)填充,緩存塊Am經(jīng)VPSS通道處理后傳給后續(xù)模塊Ai,Aj,Ak;如果沒有經(jīng)過VPSS通道傳給Ai,Aj,Ak模塊,則在VPSS模塊處理后被放回公共緩存池[33]。公共緩存池?cái)?shù)據(jù)流傳圖如圖5.2所示。圖5.2公共緩存池?cái)?shù)據(jù)流傳圖5.1.2視頻輸入Hi3518E視頻輸入(VI)模塊通過Camera接口接收視頻數(shù)據(jù)。視頻采集程序流程:首先需要初始化系統(tǒng)變量,然后創(chuàng)建視頻緩存池,視頻緩存池創(chuàng)建成功后,配置緩存池對MPP初始化。MPP初始化之后,配置MIPI接口的屬性、時(shí)序等參數(shù),利用圖像傳感器AR0130捕獲視頻圖像,最后VI模塊與VPSS模塊進(jìn)行綁定,VI對接收到的原始視頻圖像數(shù)據(jù)進(jìn)行裁剪處理后把數(shù)據(jù)直接送給VPSS。程序設(shè)置有裁剪、縮放視頻圖像標(biāo)識(shí)符,當(dāng)采集過程出現(xiàn)錯(cuò)誤,就會(huì)結(jié)束視頻采集。視頻采集流程圖如圖5.3所示。圖5.3視頻采集流程5.1.3視頻處理VPSS對用戶提供GROUP,GROUP分時(shí)復(fù)用VPSS硬件,VPSS組有物理和擴(kuò)展2個(gè)通道,每個(gè)通道具有縮放、裁剪等功能。視頻圖像經(jīng)VI處理后傳到VPSS里面的group,VPSS接收最大數(shù)據(jù)128個(gè),VPSS能夠?qū)斎雸D像進(jìn)行統(tǒng)一預(yù)處理,通過調(diào)用HI_MPI_SYS_Bind()庫函數(shù)將VI、VO、VENC、IVE等模塊進(jìn)行綁定然后對各通道分別進(jìn)行縮放、銳化等處理[34]。VPSS視頻處理如圖5.4所示。圖5.4VPSS視頻處理流程5.1.4視頻編碼在Hi3518E中通過視頻編碼模塊(VENC)進(jìn)行視頻壓縮,視頻編碼模塊(VENC)支持多路實(shí)時(shí)編碼,同時(shí)調(diào)度Region模塊對編碼圖像進(jìn)行疊加和遮擋。編碼流程包括輸入圖像接收、圖像編碼以及碼流輸出等,本系統(tǒng)設(shè)計(jì)選擇H.264作為編碼協(xié)議進(jìn)行視頻圖像編碼。編碼數(shù)據(jù)流程如圖5.5所示。圖5.5編碼數(shù)據(jù)流程5.2視頻網(wǎng)絡(luò)傳輸RTSP是一種在IP網(wǎng)絡(luò)上實(shí)時(shí)傳輸流媒體數(shù)據(jù)的應(yīng)用層協(xié)議,主要用于互聯(lián)網(wǎng)多媒體數(shù)據(jù)的傳送[35]。該協(xié)議對流媒體提供暫停、快進(jìn)等功能,其本身并不傳輸數(shù)據(jù),作用相當(dāng)于流媒體服務(wù)器的遠(yuǎn)程控制,負(fù)責(zé)服務(wù)器與客戶端之間的請求與響應(yīng)。RTSP協(xié)議默認(rèn)端口:554,默認(rèn)承載協(xié)議為TCP。系統(tǒng)中的網(wǎng)絡(luò)通信主要用于傳輸圖像和監(jiān)控設(shè)備接收來自上位機(jī)的指令,上位機(jī)通過RTSP協(xié)議發(fā)送控制指令到監(jiān)控設(shè)備,監(jiān)控設(shè)備相應(yīng)并進(jìn)行相應(yīng)的監(jiān)控設(shè)備初始化、配置、圖像設(shè)置等操作。RTSP通信協(xié)議示意圖如圖5.6所示。圖5.6RTSP通信協(xié)議示意圖5.3視頻存儲(chǔ)視頻文件的本質(zhì)是記錄壓縮后的視頻幀并且能被播放器還原解碼播放[36]。MP4,全稱MPEG-4Part14,是一種使用MPEG-4的多媒體電腦檔案格式,被廣泛用于封裝H.264視頻,MP4文件格式是一個(gè)十分開放的容器,幾乎可以用來描述所有的媒體結(jié)構(gòu),文件內(nèi)部采用網(wǎng)絡(luò)字節(jié)序(大端模式)。為防止視頻傳輸過程中出現(xiàn)信息丟失或者傳輸干擾情況,本文將編碼后的視頻數(shù)據(jù)流封裝成MP4格式保存在SD卡中,SD卡支持熱插拔功能,用戶可以將采集的視頻流導(dǎo)出用于查看本地視頻。5.3.1mp4v2移植(1)下載并解壓通過開源網(wǎng)站/ubuntu/+source/mp4v2/2.0.0~dfsg0-6下載mp4v2[37]源碼包并上傳至Hi3518E文件夾,解壓文件并在目錄內(nèi)創(chuàng)建_install目錄作為安裝目錄。cp/mnt/hgfs/winshare/Hi3518E/mp4v2_2.0.0_dfsg0.orig.tar.bz2./cp/mnt/hgfs/winshare/Hi3518E/mp4v2_2.0.0_dfsg0.orig.tar.bz2./tar–jxvfmp4v2_2.0.0_dfsg0.orig.tar.bz2(2)配置并編譯按照如下命令進(jìn)行配置和編譯,其中PATH是Ubuntu海思交叉編譯工具鏈的路徑,CC和CXX是海思交叉編譯工具鏈,prefix是mp4v2源碼路徑。ssudoPATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/binCC=arm-hisiv300-linux-gccCXX=arm-hisiv300-linux-gcc./configure--host=arm-hisiv300-linux--prefix=/home/aston/sambashare/mp4v2-2.0.0/_install--disable-option-checking--disable-debug--disable-optimize--disable-fvisibility--disable-gch--disable-largefile--disable-util--disable-dependency-tracking--disable-libtool-lock(3)部署libmp4v2.so*文件cp~/sambashare/mp4v2-2.0.0/_install/lib/libmp4v2.so*./把生成的lib加到mpplib中,include下文件添加到mpp/include中,lib/*so*加到開發(fā)板lib目錄下。cp~/sambashare/mp4v2-2.0.0/_install/lib/libmp4v2.so*./(4)編譯venc文件進(jìn)入/sambashare/Hi3518E_SDK_V/mpp/sample/venc/文件下編譯生成可執(zhí)行文件sample_venc。venc編譯結(jié)果如圖5.7所示。圖5.7venc編譯結(jié)果5.3.2SD卡視頻存儲(chǔ)(1)掛載TF卡準(zhǔn)備TF卡并將其格式為FAT32文件系統(tǒng),開機(jī)后將TF卡掛載,掛載指令如下:mount-tvfat/dev/mmcblk0p1/usr/mmcmount-tvfat/dev/mmcblk0p1/usr/mmc(2)運(yùn)行和測試./sample_venc_07運(yùn)行指令后,視頻流文件以mp4文件格式在SD卡中存儲(chǔ),就運(yùn)行指令如下:./sample_venc_075.4本章小結(jié)本章詳細(xì)介紹了圖像相關(guān)程序的設(shè)計(jì)與實(shí)現(xiàn),包括海思MPP的視頻監(jiān)控端軟件程序、基于RTSP協(xié)議的視頻網(wǎng)絡(luò)傳輸和mp4v2移植實(shí)現(xiàn)視頻存儲(chǔ)。
第六章目標(biāo)檢測算法設(shè)計(jì)與實(shí)現(xiàn)6.1目標(biāo)檢測概述目標(biāo)檢測是計(jì)算機(jī)視覺領(lǐng)域中經(jīng)典任務(wù),目標(biāo)檢測是視頻圖像中對可變數(shù)量的目標(biāo)進(jìn)行查找和分類。目前比較流行的目標(biāo)檢測算法主要有兩類,一類是基于two-stage的R-CNN[38-39]系列算法,該系列算法識(shí)別準(zhǔn)確率高,但識(shí)別速度較慢;另一類是基于one-stage的Yolo[40-41]系列算法,該算法識(shí)別速度快,但識(shí)別準(zhǔn)確率較低。一般視頻監(jiān)控中目標(biāo)檢測任務(wù)和現(xiàn)實(shí)生活需求貼近,需要對視頻中運(yùn)動(dòng)目標(biāo)變化進(jìn)行處理,因此產(chǎn)生目標(biāo)檢測中較為突出的目標(biāo)種類與數(shù)量問題、目標(biāo)尺度問題和外在環(huán)境干擾等客觀因素。本文設(shè)計(jì)了一種基于Hi3518E的視頻監(jiān)控中目標(biāo)檢測系統(tǒng),能夠確保對無人值守校園區(qū)域?qū)崿F(xiàn)實(shí)時(shí)在線監(jiān)控,當(dāng)學(xué)校發(fā)生緊急情況,如學(xué)生打架斗毆、可疑人員侵入等,系統(tǒng)可以迅速抓拍現(xiàn)場、識(shí)別運(yùn)動(dòng)目標(biāo)并提醒負(fù)責(zé)校園安保人員及時(shí)做出處理,確保校園安全。傳統(tǒng)目標(biāo)檢測算法流程如圖6.1所示,首先給定一張圖片,對圖片進(jìn)行候選框提取,接著對候選框進(jìn)行特征提取并用分類器進(jìn)行判定,最后利用NMS對候選框進(jìn)行合并輸出結(jié)果。近年來傳統(tǒng)目標(biāo)檢測已經(jīng)無法滿足人們對目標(biāo)檢測效果的要求,基于深度學(xué)習(xí)的目標(biāo)檢測算法已成為主流。圖6.1傳統(tǒng)目標(biāo)檢測算法流程本文采用FastR-CNN算法來實(shí)現(xiàn)目標(biāo)檢測,首先輸入一張圖片,對圖片提取2000個(gè)左右的候選框,同時(shí)通過CNN提取圖片的特征,得到特征圖,然后將候選框映射到特征圖上,通過感興趣區(qū)域池化層得到固定大小的特征向量,將這些特征向量輸入全連接層,再進(jìn)入softmax進(jìn)行分類,區(qū)分目標(biāo)和背景,最后通過bbox進(jìn)行邊框回歸,調(diào)整檢測框的位置,實(shí)現(xiàn)準(zhǔn)確的目標(biāo)檢測。6.2FastR-CNN框架介紹卷積神經(jīng)網(wǎng)絡(luò)(CNN)受啟發(fā)于貓的視覺系統(tǒng),采用局部感受視野和權(quán)值共享原則對輸入做卷積運(yùn)算,不僅可以保持像素之間的空間關(guān)系,還極大地降低了網(wǎng)絡(luò)參數(shù)和計(jì)算量。相比于傳統(tǒng)的全連接神經(jīng)網(wǎng)絡(luò)算法,CNN對平移、傾斜、縮放等仿射變換具有高度不變性[42]。FastR-CNN相對于R-CNN而言,主要提出了三個(gè)改進(jìn)策略:(1)提出了感興趣區(qū)域池化,避免了對提取的regionproposals進(jìn)行縮放到224x224,然后經(jīng)過pre-trainedCNN進(jìn)行檢測的步驟,加速了整個(gè)網(wǎng)絡(luò)的訓(xùn)練(learning)與預(yù)測(inference)過程,感興趣區(qū)域池化是可導(dǎo)的,因此使得整個(gè)網(wǎng)絡(luò)可以實(shí)現(xiàn)端對端的多任務(wù)訓(xùn)練。(2)FastR-CNN在微調(diào)階段聯(lián)合優(yōu)化softmax分類器和邊界框回歸,對于每個(gè)標(biāo)記的ROI使用多任務(wù)函數(shù)聯(lián)合訓(xùn)練分類和邊界框回歸,使訓(xùn)練過程更精細(xì)。(3)利用了截?cái)嗟钠娈愔捣纸猓═runcatedSVDforfaster
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省德陽市中江縣2025-2026學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 【初中語文】《秋天的懷念》課件++統(tǒng)編版語文七年級上冊
- 分式專項(xiàng)(課件)中考數(shù)學(xué)一輪復(fù)習(xí)講練測
- 2025-2026學(xué)年魯教版(五四制)數(shù)學(xué)七年級上冊期末模擬試題(含答案)
- 河南省許昌市鄢陵縣彭店二中2025-2026學(xué)年七年級上冊語文期末試卷(含答案 )
- 飛行技術(shù)專業(yè)
- 11月全球投資十大主線
- 人口分布第一課時(shí)課件2025-2026學(xué)年高中地理人教版必修二
- 基于MATLAB的四旋翼無人機(jī)PID控制研究
- 飛機(jī)的科普知識(shí)
- 2026中國國際航空招聘面試題及答案
- (2025年)工會(huì)考試附有答案
- 2026年國家電投集團(tuán)貴州金元股份有限公司招聘備考題庫完整參考答案詳解
- 復(fù)工復(fù)產(chǎn)安全知識(shí)試題及答案
- 中燃魯西經(jīng)管集團(tuán)招聘筆試題庫2026
- 資產(chǎn)接收協(xié)議書模板
- 數(shù)據(jù)中心合作運(yùn)營方案
- 印鐵涂料基礎(chǔ)知識(shí)
- 工資欠款還款協(xié)議書
- 石籠網(wǎng)廠施工技術(shù)交底
- 新建粉煤灰填埋場施工方案
評論
0/150
提交評論