一种智能视频安防系统及其信号处理方法
技术领域
本发明涉及一种公共安全监控、视频图像处理、计算机视觉、人工智能等技术领域,尤其涉及一种基于FPGA-SOC芯片的智能视频安防系统以及用于该安防系统的信号处理方法。
背景技术
目前安防系统已逐渐从模拟安防转向了数字安防。未来的安防系统趋势是智能化,高清数字化,网络化。其中,智能化解决方案是未来安防的重要组成部分和迫切要求。简言之,智能化安防是指采用计算机视觉、人工智能等专业知识对视频图像进行技术处理,分析目标的属性、特征、运动方向等信息来判断目标是否符合设定的规则,是否发送报警信号等,从而对事件进行及时处理,提高应急事件的反应速度。
在现有的安防系统中,大部分视频监控仍然采用被动式的监控方案。例如,在服务中心由专门人员监视显示器图像来进行安防行为的判断,或者事后调取存储的视频片段进行人工分析视频的方式。毫无疑问,上述监控方式的工作量较大,易疲劳,容易导致视频行为的漏报或误报。相比之下,智能化的视频分析技术充分发挥了安防系统所需的主动监控性,可有效降低专门人员的工作量,并提高报警的精确度,减少视频行为的漏报或误报现象。
一般来说,当前的智能视频分析技术在安防系统中的实现,主要分为两种方式:一种是基于后端服务纯软件处理分析,另一种是在前端设备即时分析。前一种方案的不足之处在于,当视频流通路数量大时,服务器端需要分析的视频数据量也极大,纯软件的分析效率会明显下降,无法满足安防系统实时分析和报警的需求。后一种方案目前绝大多数采用的是基于DSP(Digital SignalProcessor,数字信号处理器)实现,这种实现方法在面对高清视频、多目标、多规则的视频分析时,效率和灵活度受限。例如,对于2560*2048的分辨率、15帧每秒(Frames Per Second,FPS)的5M像素视频,即使采用高端DSP芯片,受DSP处理核处理能力、时钟频率等限制,也无法处理。此外,对于多目标、多规则以及复数运算情况,由于DSP核集成的视频处理单元的多任务执行能力有限,加上串行处理机制的诸多原因,对视频流信号的数据处理能力仍然有限。
有鉴于此,如何设计一种智能视频安防系统,或对现有的智能视频安防系统进行改进,以克服现有技术中的上述缺陷,提高视频流信号的数据处理能力,满足智能安防系统实时分析和报警的需求,是相关技术人员亟待解决的一项课题。
发明内容
针对现有技术中的智能视频安防系统在视频流信号的处理速度和处理能力方面存在的上述缺陷,本发明提供了一种基于FPGA-SOC芯片的智能视频安防系统以及用于该安防系统的信号处理方法。
依据本发明的一个方面,提供了一种基于FPGA-SOC的智能视频安防系统,其中,所述智能视频安防系统包括视频分析前端以及中心视频服务器,且所述视频分析前端包括:
视频输入接口,用于将高速SDI视频信号解串为符合BT.656标准的数字视频流信号;
控制模块,包括FPGA-SOC芯片,所述控制模块与所述视频输入接口相耦接,用于对所述数字视频流信号进行预处理和视频行为分析,并输出处理后的标准的IP视频流信号;以及
视频输出接口,与所述控制模块相耦接,用于将所述IP视频流信号传送至所述中心视频服务器,
其中,所述中心视频服务器用于接收所述IP视频流信号,配置所述视频分析前端的视频分析规则,以及监控所述视频分析前端处理后的综合视频流。
在其中的一实施例,所述FPGA-SOC芯片还包括逻辑模块以及处理模块,所述逻辑模块用于接收所述数字视频流信号,并对所述数字视频流信号进行视频图像预处理和视频分析处理,并将处理后的视频数据存入系统的存储器;其中,所述处理模块从所述存储器读取所述处理后的视频数据,对其进行运动轨迹提取和判断,并通过比较运动目标轨迹与已配置的视频分析规则来判断运动行为的合法性,进而将最终的IP视频流信号通过网络发送给中心视频服务器。
在其中的一实施例,所述处理模块具有ARM处理器、DMA控制器、第一存储器控制器、中断控制器以及外围接口模块,所述ARM处理器分别与所述中断控制器和所述第一存储器控制器相耦接,所述外围接口模块与所述DMA控制器和所述中断控制器相耦接。
在其中的一实施例,所述外围接口模块用于输出所述IP视频流信号,以及发送和/或接收GPIO传感器报警信号。
在其中的一实施例,所述逻辑模块具有视频图像预处理单元、视频分析单元、视频压缩单元、第二存储器控制器以及多个VDMAIP核,所述视频图像预处理单元经由第一VDMA IP核耦接至所述第一存储器控制器,所述视频分析单元耦接至所述视频图像预处理单元且经由第二VDMA IP核耦接至所述第一存储器控制器,所述视频压缩单元耦接至所述视频图像预处理单元且经由第三VDMA IP核耦接至所述第一存储器控制器。所述视频图像预处理单元对所接收的视频流进行图像色彩空间转换、图像增强滤波、电子稳像、噪声滤波、图像灰值处理和/或二值化处理。所述视频分析单元对经过预处理后的数字视频通过智能视觉算法进行多视频行为规则并行处理;所述视频压缩单元对包含有处理结果的视频流进行H.264压缩。
在其中的一实施例,所述外围接口模块为I2C、UART、SPI、ETH或CAN通信接口。
在其中的一实施例,所述ARM处理器用于支持ONVIF安防接口协议,以及支持HTTP、FTP或RTP网络协议。
在其中的一实施例,所述视频分析前端还包括一DDRSDRAM和一第二DDR SDRAM,其中,所述第一DDR SDRAM耦接至所述处理模块,所述第二DDR SDRAM耦接至所述逻辑模块。
在其中的一实施例,通过VDMA将视频流数据传输到存储器时,设定了三个不同的视频帧缓存,VDMA设置为PARK工作模式,从而通过应用程序控制DMA的运行和不同的视频帧缓存之间的切换。
在其中的一实施例,所述高速SDI视频信号为高清工业摄像机所采集的SD-SDI、HD-SDI或3G-SDI的视频信号。
依据本发明的另一个方面,提供了一种用于智能视频安防系统的信号处理方法,所述智能视频安防系统包括视频分析前端以及中心视频服务器,其中,所述信号处理方法包括:
所述视频分析前端将高速SDI视频信号解串为符合BT.656标准的数字视频流信号;
所述视频分析前端对所述数字视频流信号进行预处理和分析,并输出处理后的标准的IP视频流信号;
所述视频分析前端将所述IP视频流信号传送至所述中心视频服务器;以及
所述中心视频服务器接收所述IP视频流信号,配置所述视频分析前端的视频分析规则,以及监控所述视频分析前端处理后的综合视频流。
在其中的一实施例,所述视频分析前端包括FPGA-SOC芯片,所述FPGA-SOC芯片包括逻辑模块以及处理模块,所述逻辑模块用于接收所述数字视频流信号,并对所述数字视频流信号进行视频图像预处理和视频分析处理,并将处理后的视频数据存入系统的存储器;所述处理模块从所述存储器读取所述处理后的视频数据,对其进行运动轨迹提取和判断,并通过比较运动目标轨迹与已配置的视频分析规则来判断运动行为的合法性,进而将最终的IP视频流信号通过网络发送给所述中心视频服务器。
在其中的一实施例,所述逻辑模块还用于所述逻辑模块还用于执行:预处理操作,用于对所接收的视频流进行图像色彩空间转换、图像增强滤波、电子稳像、噪声滤波、图像灰值处理和/或二值化处理;视频分析操作,用于对经过预处理后的数字视频通过智能视觉算法进行多视频行为规则并行处理;视频压缩操作,用于对包含有处理结果的视频流进行H.264压缩。
在其中的一实施例,所述视频分析前端还包括一第一双倍速率同步动态随机存储器DDR SDRAM和一第二DDR SDRAM,其中,所述第一DDR SDRAM耦接至所述处理模块,所述第二DDRSDRAM耦接至所述逻辑模块。
采用本发明的基于FPGA-SOC芯片的智能视频安防系统及其信号处理方法,视频分析前端的视频输入接口将高速SDI视频信号解串为符合BT.656标准的数字视频流信号,控制模块与视频输入接口相连并对数字视频流信号进行预处理和分析,输出处理后的标准的IP视频流信号,视频输出接口与控制模块相连并将IP视频流信号传送至中心视频服务器,进而中心视频服务器接收IP视频流信号,配置视频分析前端的视频分析规则,并监控视频分析前端处理后的综合视频流。与现有技术相比,本发明能有效地针对实时高清视频(1080P,30fps/60fps)实现多目标、多规则同时进行视频分析。此外,为有效提高视频分析算法的实现效率,本发明除了利用FPGA的并行处理特性外,将算法的实现大量使用流水线操作,并采取面积换取速度的方式来提高处理的数据吞吐率。再者,视频分析算法与嵌入式系统控制由一颗FPGA-SOC集成芯片完成,减少了硬件成本,降低了系统功耗。本发明适用于公共监控领域,如交通、小区、机场、广场、油田、监狱、博物馆等需要及时发现异常事件并联动报警的场合。此外,本发明的安防系统的视频分析前端可用于集成智能视频分析摄像一体机。
附图说明
读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,
图1示出依据本发明一实施方式的基于FPGA-SOC的智能视频安防系统的结构示意图;
图2示出图1的控制模块中的FPGA-SOC集成芯片的结构示意图;
图3示出图1的智能视频安防系统应用于运动车辆识别的一具体实施例;
图4示出图1的智能视频安防系统的运行原理示意图;以及
图5示出依据本发明的另一实施方式,用于智能视频安防系统的信号处理方法的流程框图。
具体实施方式
为了使本申请所揭示的技术内容更加详尽与完备,可参照附图以及本发明的下述各种具体实施例,附图中相同的标记代表相同或相似的组件。然而,本领域的普通技术人员应当理解,下文中所提供的实施例并非用来限制本发明所涵盖的范围。此外,附图仅仅用于示意性地加以说明,并未依照其原尺寸进行绘制。
下面参照附图,对本发明各个方面的具体实施方式作进一步的详细描述。
图1示出依据本发明一实施方式的基于FPGA-SOC的智能视频安防系统的结构示意图。参照图1,在该实施例方式中,本发明的智能视频安防系统包括视频分析前端10以及中心视频服务器12。
详细来说,视频分析前端10包括视频输入接口102、控制模块104和视频输出接口。其中,视频输入接口102用于将高速SDI视频信号解串为符合BT.656标准的数字视频流信号。在此,数字视频流信号包括视频数据信号以及行列同步信号,以供控制模块104中的FPGA-SOC芯片进行逻辑处理。例如,高速SDI视频信号为高清工业摄像机所采集的SD-SDI、HD-SDI或3G-SDI的视频信号。控制模块104包括FPGA-SOC芯片(即,SOC类的FPGA集成芯片)。控制模块104与视频输入接口102相耦接,用于对来自视频输入接口102的数字视频流信号进行预处理和视频行为分析,并输出处理后的标准的IP视频流信号。视频输出接口与控制模块104相耦接,用于将IP视频流信号通过网络传送至中心视频服务器12。中心视频服务器12接收该IP视频流信号,并用来配置视频分析前端10的视频分析规则,且监控视频分析前端10处理后的综合视频流。
在一具体实施例,视频输入接口102还可发送和/或接收GPIO(General Purpose Input Output,通用输入输出)传感器报警信号。此外,视频分析前端10还可包括多种类型的存储器,诸如闪存(Flash)、双倍速率同步动态随机存储器(Double Data RateSynchronous Dynamic Random Access Memory,DDR SDRAM)。
图2示出图1的控制模块中的FPGA-SOC集成芯片的结构示意图。参照图2,控制模块104的FPGA-SOC芯片还包括逻辑模块(Programmable Logic)1043以及处理模块(Process System)1041。在此,逻辑模块1043的功能以VDMA IP核的方式进行组织,并通过AXI4-Lite总线由ARM处理器运行的系统予以配置与控制。
具体地,逻辑模块1043用于接收来自视频输入接口102的数字视频流信号,并对数字视频流信号进行视频图像预处理和视频分析处理,并将处理后的视频数据存入系统的存储器。处理模块1041从系统的存储器读取处理后的视频数据,对其进行运动轨迹提取和判断,并通过比较运动目标轨迹与已配置的视频分析规则来判断运动行为的合法性,进而将最终的IP视频流信号通过网络发送给中心视频服务器12。
较佳地,处理模块1041具有ARM处理器、DMA(DirectMemory Access,存储器直接访问)控制器、第一存储器控制器、中断控制器以及外围接口模块,其中,ARM处理器分别与中断控制器和第一存储器控制器相耦接。例如,ARM处理器可支持ONVIF安防接口协议,以及支持HTTP、FTP或RTP网络协议。外围接口模块与DMA控制器和中断控制器相耦接。例如,外围接口模块为I2C、UART、SPI、ETH、CAN或其它对外通信接口。
较佳地,逻辑模块1043具有视频图像预处理单元、视频分析单元、视频压缩单元、第二存储器控制器以及多个VDMA IP核,其中,视频图像预处理单元经由第一VDMA IP核耦接至第一存储器控制器,视频分析单元耦接至视频图像预处理单元且经由第二VDMA IP核耦接至第一存储器控制器,视频压缩单元耦接至视频图像预处理单元且经由第三VDMA IP核耦接至第一存储器控制器。在一实施例中,视频分析单元对经过预处理后的数字视频通过智能视觉算法进行多视频行为规则并行处理。视频压缩单元对包含有处理结果的视频流进行H.264压缩。例如,视频图像预处理单元对所接收的视频流进行图像色彩空间转换、图像增强滤波、电子稳像、噪声滤波、图像灰值处理和/或二值化处理。例如,在视频图像预处理完成后,通过图2最左侧的VDMA IP核将视频流信号转换为AXI4-S数据流,并缓存到系统的DDR中,然后再由图2中间的VDMA IP核从系统的DDR中将所存储的视频数据直接读取到视频分析单元。
在一具体实施例中,通过VDMA将视频流数据传输到存储器时,设定了三个不同的视频帧缓存(Frame Buffer),VMDA设置为PARK工作模式,从而通过应用程序控制DMA的运行和不同的视频帧缓存之间的切换。更优选地,在视频分析算法的实现过程中,针对其需要视频Frame Buffer来缓存数据处理的需求,还可在逻辑模块1043内部单独配置DDR存储器(即,图2最下方的DDR),专门供视频分析单元和视频压缩单元使用。在一实施例中,视频分析前端10还包括一第一双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)和一第二双倍速率同步动态随机存储器。如图2所示,第一DDR SDRAM耦接至处理模块1041,第二DDR SDRAM耦接至逻辑模块1043。
图3示出图1的智能视频安防系统应用于运动车辆识别的一具体实施例。
参照图3,交通应用中需要对运动的车辆进行识别,提取运动轨迹,然后判断车辆是否越黄线、逆行、违规停车等。若确认违规,再对违规车辆进行标识并识别车牌。这一系列操作包含运动目标特征提取、运动轨迹提取与追踪、车牌定位、车牌字符分割、光学字符识别。在运动目标检测算法中,本实施例采用的是改进型的背景差法以及基于颜色空间的背景阴影去除算法,通过对背景的提取和更新来适应复杂的背景变化,更好的分离前景和后景。在运动目标轨迹追踪实现中采用基于特征的卡尔曼预测算法。
结合图2和图3,该实例应用的整个视频分析算法实现的过程如下:
视频预处理部分,实现了噪声滤波和图像增强,此预处理部分由IP核执行。预处理完成后,将视频数据经VDMA存储至系统的DDR中。然后,视频数据在系统的控制下经另一VDMA读取到视频分析单元,以实现图3中的从前后景分离开始的后面的算法。具体地,前后景分离和背景特征提取部分的算法需要对相邻视频帧进行运算,此时视频数据经VDMA后存储到FPGA-SOC芯片对应单独的DDR缓存中所开辟的Frame Buffer中。IP核在AXI4-Lite总线的控制下从Frame Buffer中读取视频数据进行处理。车辆的属性特征数据由ARM处理器通过AXI4-Lite总线配置给IP核,然后由IP核算法对比属性特征检测和提取出视频数据中的车辆信息。此过程中的算法也用到Frame Buffer和Line Buffer加载视频数据进行运算。在此,Frame Buffer和Line Buffer可进行统一处理,实现多个算法共享,通过Frame Buffer与Line Buffer之间的切换来控制算法的交替,进而减少实时视频处理的延时。其中Frame Buffer为视频帧缓存,用来做算法中不同帧之间的运算。Line Buffer为视频帧行像素缓存,用来做算法中相邻行之间像素窗口数据的运算。运算完成后,含有标定目标车辆信息的视频数据流再经VDMA传输到系统的DDR中,供ARM处理器调用。ARM处理器从系统的DDR中读取标定了目标车辆的视频数据,然后由软件算法实现目标车辆的运动轨迹追踪提取与标识。并结合设定的规则和车辆属性库,判断车辆是否违规以及车辆的类型等。判断出违规车辆以及特性后,需要对违规车辆进行车牌识别,此时再由VDMA将违规车辆图像传输给FPGA-SOC芯片,由IP核实现对车牌字符的定位与分割,然后经VDMA回到系统内存中,由ARM处理器来对比车牌字符库与字符,得到违规车辆的车牌号信息。最后,于视频分析完成后,分析结果的一部分会描述到原始视频的目标上,另一部分(车牌号等)会以信令方式发送给中心视频服务器。标识了分析结果的原始视频在网络传输前需要进行视频压缩。本实施例中采用的是H.264压缩方式,压缩完成后,视频流回到系统内存中,由ARM处理器进行数据打包,按照系统协议通过网络模块发送给中心视频服务器。
图4示出图1的智能视频安防系统的运行原理示意图。参照图4,视频分析前端开机初始化后,各个接口和模块处于工作状态,若此时中心视频服务器未配置视频分析前端,则视频分析前端开始按照默认的预设参数开始接收、处理和发送视频数据。此外,中心视频服务器可通过客户终端进行实时视频的监控,并接收显示违反规则的目标信息。同时,中心视频服务器可以在视频分析前端工作的任意时间重新设置或更新目标检测的规则和参数。
在图4中,当默认参数或服务器配置参数之后,对输入的视频流进行预处理,然后依次将视频分析单元的视频分析结果以及视频压缩单元的压缩结果缓存到系统的DDR中,最后由视频输出接口通过网络将标准的IP视频流信号发送给中心视频服务器。
图5示出依据本发明的另一实施方式,用于智能视频安防系统的信号处理方法的流程框图。
参照图5并结合图1、图2,在该信号处理方法中,首先执行步骤S11,视频分析前端10将高速SDI视频信号解串为符合BT.656标准的数字视频流信号。接着执行步骤S13,视频分析前端10对数字视频流信号进行预处理和视频行为分析,并输出处理后的标准的IP视频流信号。然后执行步骤S15,视频分析前端10将IP视频流信号传送至中心视频服务器12。最后,中心视频服务器12接收IP视频流信号,并可在视频分析前端10工作的任意时间重新设置或更新配置视频分析前端10的视频分析规则,以及监控视频分析前端10处理后的综合视频流。
在一具体实施例,FPGA-SOC芯片的逻辑模块还用于在视频图像预处理之后,通过第一VDMA IP核将视频数据存放于系统的DDR,然后由第二VDMA IP核从系统的DDR读取视频数据并对其进行视频分析处理,接着将视频分析处理后的视频数据再次缓存至系统的DDR,之后由第三VDMA IP核从系统的DDR再次读取分析处理后的视频数据,从而对其进行视频数据的压缩处理。
采用本发明的基于FPGA-SOC芯片的智能视频安防系统及其信号处理方法,视频分析前端的视频输入接口将高速SDI视频信号解串为符合BT.656标准的数字视频流信号,控制模块与视频输入接口相连并对数字视频流信号进行预处理和视频行为分析,输出处理后的标准的IP视频流信号,视频输出接口与控制模块相连并将IP视频流信号传送至中心视频服务器,进而中心视频服务器接收IP视频流信号,配置视频分析前端的视频分析规则,并监控视频分析前端处理后的综合视频流。与现有技术相比,本发明能有效地针对实时高清视频(1080P,30fps/60fps)实现多目标、多规则同时进行视频分析。此外,为有效提高视频分析算法的实现效率,本发明除了利用FPGA的并行处理特性外,将算法的实现大量使用流水线操作,并采取面积换取速度的方式来提高处理的数据吞吐率。再者,视频分析算法与嵌入式系统控制由一颗FPGA-SOC集成芯片完成,减少了硬件成本,降低了系统功耗。本发明适用于公共监控领域,如交通、小区、机场、广场、油田、监狱、博物馆等需要及时发现异常事件并联动报警的场合。此外,本发明的安防系统的视频分析前端可用于集成智能视频分析摄像一体机。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。