版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020届湖北汽车工业学院毕业设计(论文)-1-摘要校园安全问题已经成为激发矛盾的主要原因,校园安全事故大多发生在无人值守、行人容易闯入的地方。然而,目前网络监控设备普遍存在体积大、功耗高、适用性较差等缺点,并不能满足当今校园安防的需求。基于此,本文设计了一种基于Hi3518E的视频监控中目标检测系统,该系统具有功耗低、适用性强等优点,能够确保对无人值守的区域实现实时在线监控,确保校园安全。本文设计了一种基于Hi3518E的视频监控中目标检测系统,在分析系统需求的前提下,采用模块化设计思路。视频在线监控模块以Hi3518E处理器为核心,主要实现图像采集及图像数据的在线传输;目标检测模块采用CNN(ConvolutionalNeuralNetworks,卷积神经网络)架构对目标进行实时检测。在系统整体设计中,本文主要从视频在线监控模块的硬件电路模块设计入手,分别进行了系统硬件选型、系统电源网络设计、图像传感器电路设计、无线网卡电路设计、SPIFLASH电路设计、以太网电路设计、PCB层叠设计及阻抗匹配、整机ESD设计、PCB设计、电源完整性仿真分析以及PCB光绘输出。本文采用Hi3518E作为核心处理器、图像传感器采用AR0130摄像头、无线网卡采用MT7601高度整合式Wi-Fi单芯片;接着对系统软件设计,包括搭建Linux开发环境、搭建Windows开发环境、部署镜像uboot、kernel、rootfs、外设驱动移植、Hi3518E媒体处理平台架构分析、视频网络传输、视频存储等;最后基于Windows+Pycharm搭建FastR-CNN算法构建多层卷积神经网络目标检测算法实现对视频中出现的目标实时检测。实验结果表明采集图像清晰流畅,同时能够快速、准确地识别运动目标,体现了智能视频监控的特点。在算法性能上检测准确率达到97.6%,平均检测速度达到36.7ms/帧,因此该系统具有功耗低、适用性强等优点,能够确保对无人值守校园区域实现实时在线监控。关键词:Hi3518E;FastR-CNN;目标检测;
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研究背景及意义近年来,随着人们对社会安全防范的日益需求,全球范围内对视频监控的需求与日俱增,在平安城市、城市大脑等建设的推动下,基于计算机多媒体、压缩编码技术、网络传输技术等新一代技术的高度融合,推动安防行业朝着高清化、数字化、网络化和智能化发展,行业规模继续扩大,预计到2020年,安防行业总产值将达到9000亿元左右,年增长率超过10%。视频监控作为安防行业核心领域,对于社会稳定和保障个人财产安全具有重要的意义。校园安全问题已经成为社会矛盾的主要原因,校园安全事故大多发生在无人值守、行人容易闯入的地方,目标检测是确保公共安全的关键环节之一。然而,目前网络监控设备普遍存在体积大、功耗高、适用性较差等缺点,并不能满足当今社会安防的需求。基于此,本文设计了一种基于Hi3518E[1]的视频监控中目标检测系统,通过CMOS图像传感器AR0130实现视频采集、H.264编码技术实现视频图像的压缩编码、搭建流媒体服务器基于RTSP协议的实时视频流传输到PC端以及搭建目标检测[2-3]算法平台实现对视频中目标的检测,最后将本文设计的智能监控系统在校园中进行实地测试。实验结果表明采集图像清晰流畅,同时能够快速、准确地识别运动目标,体现了智能视频监控的特点。在算法性能上检测准确率达到97.6%,平均检测速度达到36.7ms/帧,因此该系统具有功耗低、适用性强等优点,能够确保对无人值守区域实现实时在线监控。1.2国内外研究现状及分析近年来,视频监控系统迅猛发展,其应用范围也得到了广泛推广,从最初的安防领域扩展到远程医疗、远程教学和军事安全等领域[4],对整个社会的和谐稳定起着不可磨灭的作用。图1显示自2010-2019年国内外学者深入开展视频监控系统研究,其视频监控中文相关文献量、视频监控中文环比增长率都有较大提升,同时也涌现出一批在视频监控领域具有话语权的公司、院校和研究所,如华为海思、浙江海康威视、大华股份、中国人民公安大学、重庆邮电大学、武汉大学和公安部第一研究所等。在视频图像方面,讯通研发出一款能够将视频图像高像素显示的软件,即使在恶劣的天气下也能确保视频图像具有很高的清晰度,极大满足智慧城市视频监控的需求。运动目标检测是通过对视频图像的分析并识别出视频中运动的运动目标,为进一步处理做准备工作。对于智能视频监控而言,能否快速、准确识别运动目标是检验监控系统性能的指标。在现实生活中,视频中运动目标经常受到外界环境的干扰进而导致检测准确率下降的问题,因此运动目标检测已称为研究热点。在智能监控领域,针对运动目标的检测,相关学者、专家针给出了相应的解决方案。王子晔[5]等人提出一种多粒度的行人跟踪检测结合算法,能够有效解决行人跟踪难问题;薛俊韬[6]等人提出一种基于MobileNet的多目标跟踪深度学习算法,结果表明在跟踪效果不变的前提下,该算法可以较大提升处理速度;Davis[7]等人通过提取运动目标形状和运动特征快速将视频帧转换为对应的原型序列并对目标进行识别。图1视频监控研究增长曲线图1978年,美国的喷气推进实验室首先提出运用机器视觉来检测车辆,指出了机器视觉的方法可以代替传统的检测方法[8]。一些美国著名电子企业如Honeywell、IBM,日本的SONY、松下等都开始研发安防产品,视频监控朝着数字化、智能化、集成化发展。IBM公司发布的S3系统(SmartSurveillanceSystem),能够对监控场景的进行实时分析检测并对可疑目标做出预警[9];德国博世公司推出的IVA4.0第四代智能视频分析系统,能够适应不同的光照变化实现对室内外运动目标的实时检测、跟踪分析等。在深度学习、智能分析技术日渐成熟的环境下,大数据在安防行业的应用将会到达新的高度[10]。纵览全局,目前大数据、云计算、5G、物联网等技术将持续推动安防行业快速发展,朝着智能化、高清化和无线化发展,5G网络的快速普及将在城市交通管理、远程医疗、远程教学、军事安全、智能工厂和环境检测等方面具有广泛应用,这将极大提升工作效率,让生活更加多姿多彩!随着国家持续推进高等院校快速发展,接受高等教育的人数和水平也会大幅增加;然而近年来发生在学校的安全问题层出不穷,构建平安校园营造安全和谐的校园环境迫在眉睫。借助大数据、云计算、5G、物联网等技术打造智慧校园安全系统,确保校园安全和学生身心健康,让每个家庭幸福美满,促进社会的繁荣稳定发展。基于上述描述,本文设计了一种基于Hi3518E的视频监控中目标检测系统,该系统具有功耗低、适用性强等优点,能够确保对无人值守校园区域实现实时在线监控,当学校发生紧急情况,如学生打架斗殴、可疑人员侵入等,系统可以迅速抓拍现场、识别运动目标并提醒负责校园安保人员及时做出处理,确保校园安全。1.3本文主要研究内容及结构安排本文主要研究基于Hi3518E视频监控系统,该系统包含了硬件和软件设计,具体从以下方面开展研究:第一章:绪论。主要介绍了课题研究背景和意义,国内外研究现状,最后介绍本文所做的工作。第二章:系统总体设计。主要介绍了以Hi3518E为核心的视频监控系统,阐述了系统硬件和软件设计方案。第三章:系统硬件设计。首先介绍了硬件设计流程,系统硬件选型,包括系统主芯片选型、摄像头芯片选型和WiFi芯片选型;接着阐述了系统电源网络设计、图像传感器电路设计、无线网卡电路设计、SPIFLASH电路设计和以太网电路设计、层叠设计、阻抗匹配、ESD设计、PCB设计、电源完整性仿真分析,最后进行PCB光绘输出。第四章:嵌入式软件开发环境搭建。首先介绍了搭建Linux开发环境,在Ubuntu上安装交叉编译工具链、移植U-boot、移植Kernel和制作根文件系统。接着阐述了搭建Windows软件开发环境、烧写uboot、kernel、rootfs,最后详细介绍了摄像头驱动移植和无线网卡驱动移植。第五章:视频图像程序设计与实现。依次介绍了Hi3518E媒体处理平台架构、基于RTSP协议的视频网络传输和MP4V2的部署实现视频存储功能。第六章:目标检测算法设计与实现。包括目标检测概述、FastR-CNN框架介绍和FastR-CNN算法分析。第七章:系统总体测试。首先对系统测试环境进行了详细介绍,根据测试组网图明确测试任务包括视频监控和目标检测功能。第八章:总结与展望。1.4本章小结本章介绍了视频监控系统的研究背景及意义,国内外研究现状及分析和本文主要的研究内容和结构安排等内容。
第二章系统总体设计2.1系统总体方案设计本文设计的一种基于Hi3518E的视频监控系统由摄像头、核心板、路由器和PC客户端组成。硬件主要由Hi3518E主控模块、电源模块、摄像头模块、USBWiFi模块、外部存储电路和以太网电路组成,采用AR0130摄像头实现视频采集,用Hi3518E处理器对采集的视频图像进行压缩编码,采用联发科MT7601U实现视频的无线传输。软件组成包括bootloader、kernel、根文件系统、设备驱动、媒体软件处理平台和应用程序,应用程序包括RTSP协议、图像采集编码、MP4v2移植以及目标检测算法,在PC上搭建目标检测算法平台将采集到的视频图像通过WiFi传输至客户端实现对目标的实时检测。系统总体方案设计如图2.1所示。图2.1系统架构设计2.1.1系统硬件方案设计系统硬件方案由Hi3518E芯片和外部硬件组成。Hi3518E芯片优化了图像处理算法,对视频输入的图像进行优化处理,达到良好的图像显示效果;同时该芯片内嵌DDR2颗粒,集成POR、RTC、Sensor电平转换等,将极大的降低生产成本和开发周期。硬件主要由Hi3518E主控模块、电源模块、摄像头模块、USBWiFi模块、外部存储电路和以太网电路组成。Hi3518E是一款高清摄像机SOC芯片,其ARM子系统版本为ARM9内核,最高频率可达400MHz,内嵌2颗64MbDDR2,图像处理子系统集成ISP模块支持Sensor图像Gamma校正数据处理;电源管理模块采用MP2126和TPS79301确保系统稳定工作;摄像头与Hi3518E主控模块相连,将采集到视频压缩后通过网卡电路经路由器发送至服务器并保存[11];USBWiFi模块采用MediaTek(联发科)MT7601芯片,支持150MbpsPHY传输速率,满足视频监控的无线传输。硬件架构设计如图2.2所示。图2.2硬件架构设计2.1.2系统软件方案设计系统软件架构设计分为硬件驱动层、Linux操作系统层和应用层。硬件驱动层主要包括视频驱动和内核驱动;操作系统层包括系统的引导程序uboot、kernel和jffs2根文件系统;应用程序包括媒体处理平台和目标检测检测算法,Hi3518E媒体处理平台架构包括视频输入、视频处理、视频编解码、视频输出和区域管理,通过API接口来完成应用层功能的开发;在Windows中搭建目标检测算法平台实现对视频中运动目标的识别、跟踪等。软件架构设计如图2.3所示。图2.3软件架构设计(1)硬件驱动层驱动广义上是一段代码操作硬件运行,狭义上驱动程序是专指操作系统中用来操控硬件的逻辑方法部分代码。驱动已经成为内核中最庞大的组成部分,内核会直接以函数调用的方式调用驱动代码,驱动的动态安装和卸载都会“更改”内核,因此驱动程序崩溃甚至会导致内核崩溃,因此驱动的优劣对系统运行有着重要的作用。本文设计中设及到的驱动主要有视频采集、处理、编解码驱动以及海思Sensor驱动、USBWiFi驱动、SD卡驱动等。(2)Linux操作系统层Kernel是一种开源的类Unix操作系统宏内核,整个Linux操作系统家族基于该内核部署在传统计算机平台和各种嵌入式平台,工作于平板电脑、智能手机及智能手表的Android操作系统,底层操作系统也是Linux。Kernel是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定系统的性能和稳定性。本文采用Linux-3.4.35内核用于确保嵌入式产品正常工作。(3)媒体处理平台架构MPP包括视频输入、视频处理、视频编解码、视频输出和区域管理等。首先AR0103摄像头通过数模芯片把图像转换成数字信号,VI模块捕获摄像头拍摄的视频进行剪切、缩放等处理,然后VPSS模块对视频进行去噪、图像增强、锐化,最后经VPSS处理后输出视频流通过Region模块设置OSD图像,对视频进行压缩编码,通过TFTP服务器把压缩编码后的图像传输到监控端。视频图像包括视频缓存、视频输入、视频处理、视频编码;RTSP协议实现视频网络传输实现,确保可以无线传输。(4)目标检测算法在整个软件架构设计中,应用层位于顶层。本文在Windows中搭建FastR-CNN目标检测算法平台实现对视频中运动目标的识别、跟踪等。2.2本章小结本章主要介绍了基于Hi3518E的视频监控中目标检测系统的设计方案,包括系统整体设计方案、系统硬件方案设计和系统软件方案设计。
第三章系统硬件设计本文设计了一种基于Hi3518E的视频监控系统,该系统以Hi3518E芯片为处理器,搭载电源模块、SPIFLASH模块、以太网模块、WiFi模块、图像传感器模块和串口模块等外围电路构成网络视频监控系统。电源模块用于给Hi3518E板卡供电,SPIFLASH模块用于存放uboot、kernel和rootfs镜像文件,以太网模块用于实现板卡与Ubuntu、Windows系统网络连接,WiFi模块用于实现视频数据的无线传输、图像传感器模块用于视频图像的采集,RS232串口模块用于实现板卡与Ubuntu系统信息交互,方便程序代码调试。3.1系统硬件选型3.1.1系统主芯片选型本文设计的视频监控系统为确保用户可以快速预览清晰的画面,要确保视频监控图像的清晰度高和视频数据传输速率低延时。目前,视频监控领域的芯片方案很多,分别是同轴的ISP分列方案、同轴的ISP集成的SOC方案、全网络化IPC方案以及SOCFPGA的四种芯片实现方案[12]。考虑到整个系统的设计难度,本文选择了具有高集成度的华为海思的Hi3518E芯片,该芯片采用百万像素CMOS图像传感器,而且图像处理(ISP)效率更高。Hi3518E是一款高清摄像机SOC芯片,采用192LDTFBGA封装,封装尺寸为10mmX10mm,管脚间距为0.65mm,管脚总数为192个。其ARM子系统版本为ARM9内核,最高频率可达400MHz,内嵌2颗64MbDDR2;图像处理子系统集成ISP模块支持Sensor图像Gamma校正数据处理;视频子系统支持新一代H.264编码器,使得Hi3518E能够获取高质量图像。Hi3518E功能框图如图3.1所示。图3.1Hi3518E功能框图3.1.2摄像头芯片选型CMOS和CCD图像传感器在视频监控领域占有重要的市场份额,CMOS摄像头是一种采用CMOS图像传感器的摄像头,由于CMOS传感器具有低成本、高集成度、功耗低和分辨率高等优势在高清网络摄像机中应用不断增加。鉴于此,本文选择Aptina推出的一款1/3英寸,高清(720P/30fps)图像传感器AR0130[13]作为摄像头芯片,可提供1080*720的有源像素阵列。AR0130支持自动曝光控制,当以1080*720的分辨率采集并输出图像时,最大帧率可达30fps,符合系统设计要求。摄像头模组如图3.2所示。图3.2摄像头模组3.1.3WiFi芯片选型基于视频监控的无线传输要求以及技术开发难度,本文选择MediaTek(联发科)MT7601[14]主控芯片,MT7601U是一款高度整合式Wi-Fi单芯片,支持150MbpsPHY传输速率,可以从远距离提供可靠稳定的处理能力,满足视频监控的无线传输要求;另外MTK对MT7601产品开发提供全套的软硬件开发方案,进一步降低了技术开发难度。USBWIFI起到的作用主要是扮演软AP以及路由的角色,将其插入Hi3518E后,即可作为WiFi热点供设备使用。WiFi芯片模组如图3.3所示。图3.3WiFi芯片模组3.2系统电源网络设计本设计采用3.3V@657mA给Hi3518E系统供电,为满足主控板正常工作,经MP2126降压至1V1@473mA、1V8@98mA使Hi3518EV200_VDD、Hi3518EV200_DDRC正常工作;经TPS79301降压至1V8@2mA使Hi3518EV200_DVD18正常工作;图像传感器AR0130、无线网卡MT7601U、SPIFLASH、以太网等在系统3.3V电压下稳定工作。电源树如图3.4所示。图3.4电源树3.2.11.1V稳压模块电路设计本系统采用的3.3V的电源供电,为满足系统正常工作,1V1@473mA供电电压采用MP2162电源模块,该模块适用于包括高性能DSP、FPGA和便携式设备,连续输出2A的电流,电路的开关频率为1.5MHz,为获得最高频率采用2.2uH电感,电感DC阻抗应少于15mΩ。该芯片采用QFN8封装,尺寸为2.0mmx1.5mm,外围电路要配置少许电阻器件和电感即可正常工作。1.1V稳压模块原理图如图3.5所示。图3.51.1V稳压模块原理图3.2.21.8V稳压模块电路设计由于Hi3518EV20X内置了DDR2的颗粒,因此电源设计参考SSTL-18电平标准,I/O电源需要1.8V,参考电压Vref需要0.9V。1.8V稳压电路采用低功耗线性稳压器件TPS79301来产生稳定的1.8V电压和持续输出2mA电流,该器件具有极低的压差、高PSRR、超低输出噪声和低静态电流,当调节器关闭时,使能输入将电源电流降至1uA以下。1.8V稳压模块原理图如图3.6所示。图3.61.8V稳压模块原理图3.3各模块电路设计3.3.1图像传感器电路设计AR0130是一个1/3英寸CMOS数字图像传感器,像素阵列1280HX960V,支持12bitRGBBayer并口输入,时钟最高100MHz。AR0130通过一个滚动快门读数来捕捉图像,输出每秒45帧的960p分辨率视频图像,广泛运用于游戏系统、监视和高清视频等。其中SENSOR_CLK为AR0130提供时钟,SENSOR_RESET提供复位,I2C_SDA\CLK是I2C控制线VIU_DAT0~VIU_DAT11是12根数据线,VIU_CLK提供输出给H3518E时钟。为了保证图像质量,Sensor板模拟电源、数字电源做好隔离,保证连接器数据信号有足够的回流地,以防止信号质量变差从而影响图像质量并且要保证独立供电。图像传感器电路原理图如图3.7所示。图3.7Sensor电路原理图3.3.2无线网卡电路设计AR0130图像传感器实时把视频码流以WiFi方式传输到Windows客户端,因此通过USB转WiFi方式拓展无线网卡,为满足实时性要求选择技术成熟的MT7601无线网卡。MT7601是一款低成本、低功耗和高度集成的WiFi信号芯片,该芯片符合IEEE802.11b/g标准,连接无线局域网速度可达150Mbps,工作频率2.4GHz,可以从更远的距离提供可靠稳定的处理能力,广泛运用于以全志、海思等主芯片方案的安卓和Linux系统智能硬件产品中。无线网卡电路如图3.8所示。图3.8无线网卡电路3.3.3SPIFLASH电路设计SPIFlash具有高速存储的特点,同时也具有低功耗、易擦除的特点,本文采用MXIC(旺宏电子)公司生产的MX25L25635E[15]芯片,该芯片是一个268,435,456位串行Flash闪存,用于BIOS、固件作存储,内存容量可达256Mbit,具有串行外围接口和软件协议,允许在时钟输入(SCLK)、串行数据输入(SI)和一个串行数据输出(SO)总线上进行操作。MX25L25635E设计目的是提供保护,防止在电源转换期间可能存在的虚假系统级信号造成的意外擦除或编程,在通电过程中,设备自动将状态机重置为待机模式。SPIFLASH电路如图3.9所示。图3.9SPIFLASH电路图3.3.4以太网电路设计以太网接口是Hi3518E获取网络资源的通道之一,用于系统开发阶段程序下载和调试。本系统采用以太网芯片RTL8201F,该芯片能够实现网络接口数据的接收和发送,可以对网口的输入帧进行选择性过滤接收,同时保护CPU不被大流量攻击[16]。为确保网络连接流畅,在进行PCB设计时以太网芯片到CPU的GMII接口线的发送部分和接收部分要分开布线,不要将接收和发送网络混合布线,发送和接收总线分别等长且满足3W原则,确保以太网电路信号线的回流路径的完整性,以太网电路设计如图3.10所示。图3.10以太网电路原理图3.4层叠设计及阻抗匹配3.4.1层叠设计层叠设计[17]是一个系统工作,在设计PCB时,需要考虑印制电路板的布线层、接地平面、电源平面、信号完整性、EMI和EMC等因素。PCB层叠设计对整个系统的EMC设计具有非常重要的作用,良好的层叠可以有效减少PCB回路的辐射效应。Hi3518EPCB设计采用四层板叠层设计方案,即TOP->L2(GND)->L3(POWER)->BOTTOM,在PCB的顶层和底层放置去耦电容确保PCB板电源完整性好,因此在设计时连接去耦电容的走线应尽量短而宽,连接到过孔的导线也应尽量短,保证电源平面的去藕效果。Hi3518EPCB设计厚度:1.624mm,PCB成品厚度:1.6mm±0.1mm。四层板层叠设计方案如图3.11所示。图3.11四层板层叠设计3.4.2阻抗匹配随着IC集成度不断提高,信号传输频率和速度越来越高,当信号传输高到某一定值,导致传输信号的严重失真,因此阻抗匹配与否关系到信号质量的优劣。阻抗匹配的目的在于确保传输线上的高频微波信号能够到达负载点,不会有信号反射回源点,降低传输损耗,从而得到可靠、精确、无干扰的传输信号。特性阻抗[18]又称“特征阻抗”,在信号传输过程中始终存在电流I,当信号的输出电平为V时,传输线会等效成一个电阻为V/I,等效电阻是传输线的特性阻抗Z。(3.4.2)特性阻抗与传输线的物理结构有关,主要受介电常数、传输线到参考平面的距离、线宽、线厚以及线间距影响,因此在PCB设计中,走线层的变化、元器件处、过孔等都有可能引起传输线的阻抗变化。如图3.12所示为PCB板传输线与过孔的阻抗,红色虚线箭头所指的是传输线上过孔的阻抗。图3.12PCB板传输线与过孔的阻抗SI9000是一款阻抗计算的软件,对PCB阻抗进行预测。本文对Hi3518E着重分析了L1、L4单端信号线阻抗计算方法(50Ω)、L1、L4天线单端信号线阻抗计算方法(50Ω)、L1、L4差分阻抗(90Ω/100Ω),确保Hi3518EPCB信号完整性、电源完整性和EMI满足设计要求,阻抗计算方法如图3.13所示。图3.13L1、L4阻抗计算方法3.5ESD设计在电子产品设计中要遵循ESD[19](Electro-StaticDischarge,静电释放)设计原则,有助于预防并解决静电释放产生的危害,因此本文针对整机ESD设计建议如下:整机设计为浮地设备时,单板严禁采用分割地设计;整机为接地设备时,单板须分割保护地与数字地,保护地与金属外壳连接,金属外壳与大地充分连接;保护地与数字地之间采用单点连接,单点连接的位置要远离小系统电路,靠近整机电源连接器放置;接口连接器外壳要求采用金属外壳,且与整机金属外壳充分连接;整机设计中采用全金属化外壳,金属底壳,塑料上盖的设计,整机ESD风险更高,因为空间辐射影响更强,需要增加金属屏蔽罩设计。3.6PCB设计PCB[20]是电子元器件的支撑体以及各部分电子元器件电气连接的载体,Hi3518EPCB设计采用4层板(TOP->L2(GND)->L3(POWER)->BOTTOM)叠层方案,采用模块化布局思路,元器件放置在顶层和底层;单板上大功耗器件、电源部分、Sensor、网口要均匀分布,避免局部过热影响器件可靠性。电源部分靠近定位孔放置,使单板主要热量经过螺丝孔和机壳散发到外部环境中;热敏感的器件Sensor、Flash等尽可能远离大功耗器件,减少大功耗器件的热量对热敏感器件的影响,可以将Sensor和Flash跟大功耗器件放置在不同层,避免敏感器件过热而影响系统稳定性和图像质量;将PCB的四个螺丝孔尽可能多的露铜处理,方便PCB和机壳充分接触;芯片使用FULL孔连接,以提高芯片散热效率。Hi3518EV20X的1.1V/1.8V/3.3V电源和地pin使用铺铜方式连接,在保证电源通流能力的前提下,在这些铜皮上打尽可能多的过孔连接到电源和地平面,以增强芯片的散热能力。Core电源使用平面供电,每个1uF滤波电容需要靠近管脚放置,减少寄生电感;为降低DDR_Vref的噪声。时钟晶振电路走线短宽,且需要做包地处理;为达到USB2.0高速480MHz的速度要求,差分数据线走线段直,对内长度严格等长,误差控制在±5mil范围内,差分阻抗控制在90Ω±10%。VI接口只需要对接单端接口的Sensor或者BT656/BT1120数据时,信号线按照单端走线,阻抗控制在50Ω±10%以内,且走线间距按照“3W”原则控制。Hi3518EPCB版图如图3.14所示。图3.14Hi3518EPCB版图3.7电源完整性仿真分析随着电子技术的快速发展,高速电路设计和电源完整性设计遇到前所未有的挑战,借助仿真工具进行电源完整性仿真分析[21]已经成为工程师必备的技能。Hyperlynx是一款功能全面的电子设计仿真软件,主要包含信号完整性仿真、电源完整性仿真、电磁兼容性仿真和热仿真。它可以进行前仿真、后仿真、电路仿真和3D电磁场仿真,具有简单易用、功能齐全、兼容性强、模板丰富、过孔分析和多半联合仿真等特点。本文以Hi3518E的4层板为例,利用Hyperlynx软件进行电源完整性仿真分析,确保板级电源质量满足设计要求。电源完整性是指电路系统的供电电源在经过传输网络后提供符合器件工作的电源要求,为系统正常工作提供高性能电源。电源完整性分析主要分为2部分,直流压降仿真分析,确保板级电源通道满足元器件的压降要求;交流阻抗仿真分析,确保板级电源通道阻抗满足用电端稳定工作要求。3.7.1直流压降仿真分析电源是电子系统的基石,是保证整个电路正常稳定工作的前提。借助Hyperlynx软件着重对1.8V电源平面进行直流压降仿真分析,直流压降仿真分析设置包括层叠介质、铜箔厚度、电源和地网络的选择及赋值、VRM选择和设置、Sink选择和设置等,设置完成后运行仿真,分析结果。图3.15显示了1.8V电源平面电压降落最大为0.035V,小于允许波动的幅度+/-0.09V,结果表明1.8V电源平面电压波动和电流密度满足设计满足Hi3518E工作电压要求,保证系统工作的稳定性。图3.15直流压降仿真结果3.7.2交流阻抗仿真分析交流阻抗仿真分析主要是分析在一定频带范围内,用电芯片能获得持续、干净的电源供电。借助Hyperlynx软件着重对1.8V电源平面进行交流阻抗仿真分析,交流阻抗仿真分析设置包括电源电压、仿真文件层叠设计、电容模型和仿真类型选择等,设置完成后运行仿真,分析结果。图3.16显示了1.8V电源平面交流阻抗情况,在1Mhz-100Mhz的频带范围内,绿线代表目标阻抗值,红线代表仿真得到的阻抗曲线,仿真结果表明仿真得到的阻抗值小于目标阻抗值,则1.8V电源平面满足设计要求。图3.16交流阻抗仿真结果3.8PCB光绘输出CAM350[22]是一个功能强大的解决方案,能够很容易地实现从工程数据到物理PCB的转换。CAM350提供了从PCB设计到PCB加工制造的一整套完整的PCB流程工具、简化工程数据转换和验证可制造性并贯穿整个PCB的制造过程,完全满足客户增加生产效率的要求。光绘文件又称为Gerber,也可称为CAM文件,它是PCB设计完成后交付板厂进行生产的最终文件,因此,在导出光绘文件之前要必须保证PCB检查无误且所有铺铜层全部灌铜。Hi3518E是四层板,则CAM光绘文件需要10个文件,包括顶层(Top)、地层(Gnd)、电源层(Vcc)、底层(Bottom)、顶层丝印层(SilkscreenTop)、底层丝印层(SilkscreenBottom)、顶层阻焊层(SolderMaskTop)、底层阻焊层(SolderMaskBottom)、钻孔参考层(DrillDrawing)和NC钻孔层(NCDrill)。本文设计只给出Hi3518EPCB顶层(Top)、地层(Gnd)、电源层(Vcc)、底层(Bottom)Gerber图。Hi3518EPCBGerber如图3.17所示。图3.17Hi3518EPCBGerber3.9本章小结本章介绍了基于Hi3518E的视频监控中目标检测系统硬件总体建构,以Hi3518E为核心,详细介绍了Hi3518E硬件设计流程、硬件电路设计、层叠设计、阻抗匹配、PCB设计、1.8V电源平面电源完整性仿真分析以及PCB光绘输出。
第四章嵌入式软件开发环境搭建嵌入式Linux开发环境包括路由器、Windows和Hi3518E开发板,开发板与Windows通过网线和串口互联,三者处于通一个网络中。由于Ubuntu自带的gcc编译器是针对X86架构,然而要编译的是ARM架构代码,因此需要交叉编译调试的方式进行开发和调试,Windows搭建交叉编译环境经过“编译-链接-定位”得到可执行文件通过串口部署到Hi358E开发板中[23]。嵌入式开发环境如图4.1所示。图4.1嵌入式开发环境4.1搭建Linux开发环境4.1.1在Ubuntu上安装交叉编译工具在嵌入式系统开发过程,一般不能像PC一样安装本地编译器和调试器进行本地编写、编译和调试,因此程序需要在宿主机Ubuntu开发裸机软件、系统级和应用级软件经过交叉编译生成可行性文件部署到Hi3518E平台,本例选择基于uclib工具链arm-hisiv300-linux作为交叉编译工具链[24],本节通过具体实例讲述基于Hi3518E板卡交叉编译工具链的安装过程。交叉编译工具链安装结果如图4.2所示。(1)拷贝并解压。把SDK通过共享文件夹传到Ubuntu中,执行“cp/mnt/hgfs/winshare/Hi3518E/Hi3518E_SDK_V.tgz./”命令,接着“tar-xvfHi3518E_SDK_V.tgz”指令进行解压缩,在文件夹下得到Hi3518E_SDK_V目录。(2)修改shell为bash并安装库。由于pushd命令需要在bash的环境中执行,需要修改系统默认shell为bash才能压栈入栈;进行osdrv目录,拷贝目标文件到osdrv目录下,然后执行“tar-jxvfarm-hisiv300-linux.tar.bz2”解压文件。由于宿主机ubuntu是64位而交叉编译器是针对32位的开发板制作的,所以要安装对应的32位库,执行“sudoapt-getinstalllib32ncurses5lib32z1”“sudoapt-getinstalllib32stdc++6-4.8-dbg”命令安装32位库。(3)导出环境变量并修改.bashrc。为避免命令行传参被覆盖需要export导出到环境变量;执行“sudovi~/.bashrc”命令打开文件并将导出的环境变量添加到最后一行保存退出,在终端中执行“arm-hisiv300-linux-uclibcgnueabi-gcc–v”显示gcc版本号为4.8.3。图4.2安装交叉编译链结果4.1.2嵌入式Linux系统映像逻辑分布Hi3518E嵌入式Linux系统,由uboot、kernel和rootfs组成,引导程序用于加载并运行内核,可通过参数控制内核的运行;Linux内核在启动过程中会寻找并加载根文件系统,加载成功则进入LinuxShell,运行用户程序。系统将这些功能的文件打包生成一个整体映像文件,运行在16M的SPIFlash闪存上,各映像在存储介质上的逻辑分布如图4.3所示。图4.3映像逻辑分布4.1.3移植U-bootU-boot全称是UniversalBootLoader,是德国DENX软件工程中心WolfgangDenk工程师维护的一个遵循GPL条款的开放源码项目即通用启动代码[25],U-boot的主要作用是用来启动操作系统内核,负责部署整个计算机操作系统。U-boot启动过程:系统上电后先执行bootloader,bootloader初始化DDR2、SPIFLASH,Kernel从SPIFLASH中读取到DDR2,然后启动OS[26],最后加载rootfs执行命令。U-boot移植的过程如下:(1)编译环境变量执行如下命令进行U-boot参数配置,使U-boot能够作为Hi3518E系统启动代码。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-hi3518ev200_configmakeARCH=armCROSS_COMPILE=arm-hisiv300-linux-hi3518ev200_config(2)编译U-boot执行如下命令编译U-boot,编译生成u-boot.bin。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-(3)生成镜像将生成的u-boot.bin复制到osdrv/tools/pc/uboot_tools/目录下,运行如下命令生成的u-boot-hi3518ev200.bin即为可用的u-boot镜像。./mkboot.shreg_info.binu-boot-ok.bin./mkboot.shreg_info.binu-boot-ok.bin4.1.4移植KernelLinux内核(Kernel[27])是一种开源的类Unix操作系统宏内核,Kernel是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、网络系统,决定系统的性能和稳定性。整个Linux操作系统家族基于该内核部署在传统计算机平台和各种嵌入式平台,其平板电脑、智能手机及智能手表的Android操作系统,底层操作系统也是Linux。Kernel移植流程如下:(1)配置内核进入内核源代码后,执行如下命令配置内核。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-menuconfigmakeARCH=armCROSS_COMPILE=arm-hisiv300-linux-menuconfig(2)生成镜像运行如下命令生成镜像uImage_Hi3518ev200。makeARCH=armCROSS_COMPILE=arm-hisiv300-linux-uImagemakeARCH=armCROSS_COMPILE=arm-hisiv300-linux-uImage4.1.5制作根文件系统根文件系统[28]是确保Linux系统运行的最小根文件系统,根文件系统和Linux内核是分开的,单独的Linux内核是没法正常工作的,必须要搭配根文件系统。BusyBox是一个集成大量的最常用Linux命令和工具的软件用来制作根文件系统。(1)配置和编译BusyBox本文在busybox的基础上制作根文件系统,进入busybox所在目录,进行配置操作需要输入如下命令cposdrv/busybox/busybox-1.20.2/busybox_cfg_hi3518ev200后makemenuconfig进行配置,编译成功后,在busybox目录下的_install目录下生成目录及文件。(2)构建根文件系统创建rootbox文件夹并进入,执行cp–Rpacket/os/busybox-1.20.2/_intsall/*指令进行文件拷贝,再执行以下指令就可以构建一个完整的JFFS2格式的根文件系统。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编译生成的三个镜像文件是u-boot-hi3518ev200.bin、uImage_hi3518ev200、rootfs_hi3518ev200_256k.jffs2,编译结果如图4.4所示。图4.4编译结果4.2搭建Windows软件开发环境4.2.1SecureCRTSecureCRT是一款Windows下登录Linux服务器的理想软件,本文使用SecureCRT软件与Hi3518E板卡进行通信,用于嵌入式系统开发中程序的下载、调试、终端命令输入和显示。SecureCRT具有自动注册、打印信息和颜色设置功能,选择serial连接类型,COM3端口,波特率为115200,即可实现双向通信。图4.5是通过SecureCRT连接开发板和虚拟机的界面,可以实现在Hi3518E板卡和虚拟机Ubuntu系统之间切换。图4.5SecureCRT登录界面4.2.2TFTP服务器TFTP[29]是一种基于客户端与服务器间的传输协议。由于它遵循UDP协议,TFTP协议的传输效率并不高,其优点在于实现简单而不是高的系统吞吐量。本文搭建TFTP服务器来烧写kernel和rootfs镜像,此时bootloader作为客户端,虚拟机Ubuntu中搭建tftp服务器,然后将下载的镜像文件放在服务器的下载目录中,然后开发板终端使用tftp命令去下载即可。IP设置:本地(Windows10)IP地址是0,serverp(Ubuntu16.04)IP地址是5,Hi3518EIP地址0。4.3烧写U-boot、kernel、rootfs裸机就是设备是空白的,程序未经烧录的,本文通过主芯片提供的ISP下载的机制来间接烧录板载spiflash。SDRAM地址范围:80000000-83FFFFFF,在本例中用海思官方提供的烧录工具Hi_tool来烧录uboot,利用tftp服务器来烧写kernel和rootfs镜像,spiflash共16M存储空间,其中bootloader占用1M空间、kernel占用3M空间和rootfs占用12M空间,SPIFLASH地址分区表如表4.3所示。表4.3SPIFLASH地址分区表分区名分区大小地址范围用途bootloader1M0x00000000-0x00100000U-Bootkernel3M0x00100000-0x00400000内核rootfs12M0x00400000-0x01000000根文件系统运行HiTool[30]工具平台前,首先要安装JRE且版本不得低于V1.6,利用HiTool软件烧录bootloader,HiTool工具启动画面如图4.6所示。图4.6HiTool工具启动界面(1)烧写bootloader首先安装JRE,打开HiTool,Hi3518E板卡和windows连接后上电。打开HiTool,在工具平台菜单上打开芯片更新界面,选择芯片型号是Hi3518ev200,选择串口烧录,加载bootloader文件,由于内核文件大小为256K,则分配1M空间,点击烧写。烧写bootloader如图4.7所示。图4.7烧写bootloader(2)烧写Kernel烧写Kernel的命令序列如下:mw.b0x82000000ff0x300000mw.b0x82000000ff0x300000/*内存初始化*/tftp0x82000000uImage_hi3518ev200/*通过tftp将uImage下载到内存*/sfprobe0/*初始化SPIFLASH*/sferase0x1000000x300000/*将FLASH中从0地址擦除3M大小数据*/sfwrite0x820000000x1000000x300000/*将uImage从内存中写入SPIFLASH*/(3)烧写rootfs烧写rootfs的命令序列如下:mw.b0x82000000ff0xc00000mw.b0x82000000ff0xc00000/*内存初始化*/tftp0x82000000rootfs_hi3518ev200_64k.jffs2/*通过tftp将rootfs下载到内存*/sfprobe0/*初始化SPIFLASH*/sferase0x4000000xc00000/*将FLASH中从0x400000地址擦除12M大小数据*/sfwrite0x820000000x4000000xc00000/*将rootfs从内存中写入SPIFLASH*/待uboot、kernel、rootfs部署到16M的SPIFLASH后,需要设置bootcmd和bootargs环境变量参数,其中bootcmd用来管理内核启动,bootargs用来管理系统启动后相关变量设置,其中mem=32M是因为Hi3518E芯片内部有两颗DDR2,SDRAM分出32M给内核(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外设驱动移植驱动广义上是一段代码操作硬件运行,狭义上驱动程序是专指操作系统中用来操控硬件的逻辑方法部分代码。驱动已经成为内核中最庞大的组成部分,内核会直接以函数调用的方式调用驱动代码,驱动的动态安装和卸载都会“更改”内核,因此驱动程序崩溃甚至会导致内核崩溃,因此驱动的优劣对系统运行有着重要的作用。本文着重介绍摄像头AR0130和无线网卡MT7601U移植过程。4.4.1摄像头驱动移植Sensor驱动框架Sensor主要由光电转换、AD、ISP和并口组成,将光信号转化为电信号实现图像采集的传感器。ISP[31]由控制单元和基础算法单元、3A算法库和Sensor库组成,ISP调度基础算法和3A算法库,通过回调函数获取初始化参数并控制Sensor,同时Sensor库分别向ISP库和3A算法库注册函数回调,以实现差异化的Sensor适配。mpp定义Sensor驱动实现和封装存放于mpp\component\isp\sensor\文件中,ar0130_sensor_ctl.c中定义底层硬件的寄存器值配置函数,ar0130_cmos.c中定义回调和上层函数。Sensor驱动框架如图4.8所示。图4.8Sensor驱动框架Sensor驱动移植mpp定义了一套sensor驱动的实现和封装,其中ar0130_cmos.c中定义回调和上层函数实现注册回调,ar0130_sensor_ctl.c中定义底层硬件相关的寄存器值配置函数配置sensor寄存器,底层I2C驱动在kernel中,kernel中的I2C驱动提供I2C层面的物理层操作接口。海思Sensor驱动工作在应用层,以非ko形式存在,在对Sensor修改时不需要重新编译内核,直接以库的形式来调用。本系统采用的摄像头为AR0130,实现视频图像采集,调用内核I2C驱动对Sensor进行硬件操作。Sensor驱动移植流程如下:(1)硬件系统配置进入SecureCRT终端,通过NFS服务器将Ubuntu文件夹自动挂载开发板/mnt目录下,执行如下命令进行参数配置。ccdmpp/ko./load3518–I–offine–sensorar0130–osmem32–total64(2)生成镜像修改Makefile文件内容并执行命令编译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驱动编译结果如图4.9所示。图4.9Sensor驱动编译结果4.4.2无线网卡驱动移植无线网卡驱动移植在原有视频监控系统基础上提供一种视频数据远程无线采集方案,本系统采用MT7601USB无线网卡是联发科技一款高度整合式Wi-Fi单芯片,支持150MbpsPHY传输速率。无线网卡驱动移植流程如下:(1)修改USBWIFI驱动进入include/rtmp_def.h1627行,修改网络名称为wlan。#defineINF_MAIN_DEV_NAME"wlan"#defineINF_MAIN_DEV_NAME"wlan"#defineINF_MBSSID_DEV_NAME"wlan"(2)修改Makefile添加Linux内核源码路径、编译工具链和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)部署驱动在终端中确认USBWIFI模块被识别,创建/etc/Wireless/RT2870AP文件夹,把驱动源文件下的RT2870AP.dat复制到此文件夹中,装载驱动insmodmt7601Uap.ko,设置WindowsIP地址为0,Hi3518E开发板IP地址为0,将编译得到的sample_venc复制到开发板中运行。WIFI驱动编译结果如图4.10所示。图4.10WIFI驱动编译结果4.5本章小结本章介绍了嵌入式软件开发环境搭建,包括搭建Linux开发环境、搭建Windows软件开发环境、烧写uboot、kernel、rootfs、摄像头驱动移植和无线网卡驱动移植。
第五章视频图像程序设计与实现5.1Hi3518E媒体处理平台架构Hi3518E媒体处理平台[32]架构包括视频输入、视频处理、视频编解码、视频输出和区域管理等。首先AR0103摄像头通过数模芯片把图像转换成数字信号,VI模块捕获摄像头拍摄的视频进行剪切、缩放等处理,然后VPSS模块对视频进行去噪、图像增强、锐化,最后经VPSS处理后输出视频流通过Region模块设置OSD图像,对视频进行压缩编码,通过TFTP服务器把压缩编码后的图像传输到监控端。Hi3518E媒体处理平台流程如图5.1所示图5.1Hi3518E媒体处理平台流程5.1.1视频缓存视频本质是多帧图片,图片本质是RGB或rawRGB数据,视频的裁剪、缩放等,本质上是对内存中的数据进行运算。视频缓存池(VB,videobuffer)是被合理划分和管理内存用来做视频数据的暂存和运算场,视频缓存池的内存由MPP来维护,在系统启动时把整个SDRAM分成系统部分(由linuxkernel来维护管理)和mpp部分(由mpp系统来维护管理)。视频输入通道从公共视频缓存池A中获取视频缓存块Am,存放在视频缓存池处理模块VB,VI对缓存块Am进行数据填充,缓存块Am经VPSS通道处理后传给后续模块Ai,Aj,Ak;如果没有经过VPSS通道传给Ai,Aj,Ak模块,则在VPSS模块处理后被放回公共缓存池[33]。公共缓存池数据流传图如图5.2所示。图5.2公共缓存池数据流传图5.1.2视频输入Hi3518E视频输入(VI)模块通过Camera接口接收视频数据。视频采集程序流程:首先需要初始化系统变量,然后创建视频缓存池,视频缓存池创建成功后,配置缓存池对MPP初始化。MPP初始化之后,配置MIPI接口的属性、时序等参数,利用图像传感器AR0130捕获视频图像,最后VI模块与VPSS模块进行绑定,VI对接收到的原始视频图像数据进行裁剪处理后把数据直接送给VPSS。程序设置有裁剪、缩放视频图像标识符,当采集过程出现错误,就会结束视频采集。视频采集流程图如图5.3所示。图5.3视频采集流程5.1.3视频处理VPSS对用户提供GROUP,GROUP分时复用VPSS硬件,VPSS组有物理和扩展2个通道,每个通道具有缩放、裁剪等功能。视频图像经VI处理后传到VPSS里面的group,VPSS接收最大数据128个,VPSS能够对输入图像进行统一预处理,通过调用HI_MPI_SYS_Bind()库函数将VI、VO、VENC、IVE等模块进行绑定然后对各通道分别进行缩放、锐化等处理[34]。VPSS视频处理如图5.4所示。图5.4VPSS视频处理流程5.1.4视频编码在Hi3518E中通过视频编码模块(VENC)进行视频压缩,视频编码模块(VENC)支持多路实时编码,同时调度Region模块对编码图像进行叠加和遮挡。编码流程包括输入图像接收、图像编码以及码流输出等,本系统设计选择H.264作为编码协议进行视频图像编码。编码数据流程如图5.5所示。图5.5编码数据流程5.2视频网络传输RTSP是一种在IP网络上实时传输流媒体数据的应用层协议,主要用于互联网多媒体数据的传送[35]。该协议对流媒体提供暂停、快进等功能,其本身并不传输数据,作用相当于流媒体服务器的远程控制,负责服务器与客户端之间的请求与响应。RTSP协议默认端口:554,默认承载协议为TCP。系统中的网络通信主要用于传输图像和监控设备接收来自上位机的指令,上位机通过RTSP协议发送控制指令到监控设备,监控设备相应并进行相应的监控设备初始化、配置、图像设置等操作。RTSP通信协议示意图如图5.6所示。图5.6RTSP通信协议示意图5.3视频存储视频文件的本质是记录压缩后的视频帧并且能被播放器还原解码播放[36]。MP4,全称MPEG-4Part14,是一种使用MPEG-4的多媒体电脑档案格式,被广泛用于封装H.264视频,MP4文件格式是一个十分开放的容器,几乎可以用来描述所有的媒体结构,文件内部采用网络字节序(大端模式)。为防止视频传输过程中出现信息丢失或者传输干扰情况,本文将编码后的视频数据流封装成MP4格式保存在SD卡中,SD卡支持热插拔功能,用户可以将采集的视频流导出用于查看本地视频。5.3.1mp4v2移植(1)下载并解压通过开源网站/ubuntu/+source/mp4v2/2.0.0~dfsg0-6下载mp4v2[37]源码包并上传至Hi3518E文件夹,解压文件并在目录内创建_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)配置并编译按照如下命令进行配置和编译,其中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*加到开发板lib目录下。cp~/sambashare/mp4v2-2.0.0/_install/lib/libmp4v2.so*./(4)编译venc文件进入/sambashare/Hi3518E_SDK_V/mpp/sample/venc/文件下编译生成可执行文件sample_venc。venc编译结果如图5.7所示。图5.7venc编译结果5.3.2SD卡视频存储(1)挂载TF卡准备TF卡并将其格式为FAT32文件系统,开机后将TF卡挂载,挂载指令如下:mount-tvfat/dev/mmcblk0p1/usr/mmcmount-tvfat/dev/mmcblk0p1/usr/mmc(2)运行和测试./sample_venc_07运行指令后,视频流文件以mp4文件格式在SD卡中存储,就运行指令如下:./sample_venc_075.4本章小结本章详细介绍了图像相关程序的设计与实现,包括海思MPP的视频监控端软件程序、基于RTSP协议的视频网络传输和mp4v2移植实现视频存储。
第六章目标检测算法设计与实现6.1目标检测概述目标检测是计算机视觉领域中经典任务,目标检测是视频图像中对可变数量的目标进行查找和分类。目前比较流行的目标检测算法主要有两类,一类是基于two-stage的R-CNN[38-39]系列算法,该系列算法识别准确率高,但识别速度较慢;另一类是基于one-stage的Yolo[40-41]系列算法,该算法识别速度快,但识别准确率较低。一般视频监控中目标检测任务和现实生活需求贴近,需要对视频中运动目标变化进行处理,因此产生目标检测中较为突出的目标种类与数量问题、目标尺度问题和外在环境干扰等客观因素。本文设计了一种基于Hi3518E的视频监控中目标检测系统,能够确保对无人值守校园区域实现实时在线监控,当学校发生紧急情况,如学生打架斗殴、可疑人员侵入等,系统可以迅速抓拍现场、识别运动目标并提醒负责校园安保人员及时做出处理,确保校园安全。传统目标检测算法流程如图6.1所示,首先给定一张图片,对图片进行候选框提取,接着对候选框进行特征提取并用分类器进行判定,最后利用NMS对候选框进行合并输出结果。近年来传统目标检测已经无法满足人们对目标检测效果的要求,基于深度学习的目标检测算法已成为主流。图6.1传统目标检测算法流程本文采用FastR-CNN算法来实现目标检测,首先输入一张图片,对图片提取2000个左右的候选框,同时通过CNN提取图片的特征,得到特征图,然后将候选框映射到特征图上,通过感兴趣区域池化层得到固定大小的特征向量,将这些特征向量输入全连接层,再进入softmax进行分类,区分目标和背景,最后通过bbox进行边框回归,调整检测框的位置,实现准确的目标检测。6.2FastR-CNN框架介绍卷积神经网络(CNN)受启发于猫的视觉系统,采用局部感受视野和权值共享原则对输入做卷积运算,不仅可以保持像素之间的空间关系,还极大地降低了网络参数和计算量。相比于传统的全连接神经网络算法,CNN对平移、倾斜、缩放等仿射变换具有高度不变性[42]。FastR-CNN相对于R-CNN而言,主要提出了三个改进策略:(1)提出了感兴趣区域池化,避免了对提取的regionproposals进行缩放到224x224,然后经过pre-trainedCNN进行检测的步骤,加速了整个网络的训练(learning)与预测(inference)过程,感兴趣区域池化是可导的,因此使得整个网络可以实现端对端的多任务训练。(2)FastR-CNN在微调阶段联合优化softmax分类器和边界框回归,对于每个标记的ROI使用多任务函数联合训练分类和边界框回归,使训练过程更精细。(3)利用了截断的奇异值分解(TruncatedSVDforfaster
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广元市公共交通有限公司面向社会公开招聘公交车辆驾驶员(第一批)的备考题库及一套完整答案详解
- 《电气控制与PLC应用技术》 课件汇 第6-10章 顺序控制指令- PLC在实际工程上的应用
- 2026年国家电投集团经济技术研究咨询有限公司招聘备考题库及完整答案详解一套
- 2026年广西上林县建林产业投资有限责任公司招聘备考题库及答案详解参考
- 2026年天津市北方人力资源管理顾问有限公司派遣制员工招聘需求备考题库及参考答案详解一套
- 2026年中国电建集团山东电力建设有限公司招聘备考题库及一套答案详解
- 2026年四川大学教育培训部业务岗工作人员招聘备考题库附答案详解
- 2026年临海市第五中学代课教师招聘备考题库及1套参考答案详解
- 2026年天津市海河产业基金管理有限公司高级管理人员公开招聘备考题库及1套参考答案详解
- 2026年东北林业大学野生动物与自然保护地学院姚允龙学科组招聘科研助理备考题库及一套参考答案详解
- 《电气安装与维修》课件 项目四 YL-G156A 型能力测试单元-智能排故板
- 海洋能技术的经济性分析
- 云南省昭通市2024-2025学年七年级上学期期末历史试题(含答案)
- 2025年度解除房屋租赁合同后的产权交接及费用结算通知
- 教育机构财务管理制度及报销流程指南
- 四川省绵阳市2024-2025学年高一上学期期末地理试题( 含答案)
- 2024版房屋市政工程生产安全重大事故隐患判定标准内容解读
- 医院培训课件:《黄帝内针临床运用》
- GB 21258-2024燃煤发电机组单位产品能源消耗限额
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 广东省民间信仰活动场所登记编号证样式和填写说明
评论
0/150
提交评论