一种基于STM32的监控图像跟踪系统的设计 下载本文

内容发布更新时间 : 2024/5/20 2:30:48星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

一种基于STM32的监控图像跟踪系统的设计

作者:杨瑶 刘波 裴娟 陆毅 季美 贺乃宝 来源:《江苏理工学院学报》2016年第02期

摘要:随着城市化进程的发展,城市人口的不断增加,对于把控社会治安环境,智能化的监控设备开发与应用,未来将逐步成为安防管理的有效手段。本文初步探索了一种监控图像跟踪系统,本系统采用ARM-Cortex M4架构的高性能处理器,配以数字化图像传感器,运用二自由度云台,最终在TFT高色彩液晶显示器上实时动态显示和跟踪监控物体。硬件设计上采用了意法半导体公司的高性能微处理器STM32F407作为处理控制核心,数字摄像头采用基于Omni Vision图像传感的CMOS数字摄像头OV7670。本系统以STM32微处理器为控制核心,将摄像头采集的图像送至LCD显示,并分析获取图像的数据,计算出目标物体的坐标和大小,控制云台转动,使目标处于摄像头视野中央,解决了单片机在图像识别上内存不足,速度慢的问题,以较低的功耗和成本实现视频目标的跟踪。

关键词:ARM;STM32;图像跟踪;图像监控;数字摄像头

中图分类号:TP277.2 文献标识码:A 文章编号:2095-7394(2016)02-0049-06 进入21世纪,图像传感技术工艺得到了大幅的提升,使得图像技术得到了空前的发展,将高分辨率的图像传感技术融入VLSI技术后,能够大幅提升图像处理的性能,在国民经济、社会安防和军事领域等应用广泛。对于连续不断的一帧帧图像的识别和跟踪,是动态图像分析的一大难题。目前国内图像识别、跟踪系统的硬件平台常常选用处理性能优越的DSP、FPGA等高性能的处理器平台,有些甚至直接采用PC机仿真显示,而实际应用中往往采用DSP和FPGA相结合的方法来实现动态图像分析。这些方法运用在监控图像跟踪系统上,往往投入较大的硬件和开发成本,且存在开发周期长,量产应用后不便维修和固件升级不易等问题。近两年来单片机技术的飞速崛起,由于其性能越来越强,而功耗大幅降低,加之其价格不断下降,使得单片机应用越来越普遍。本设计采用32位单片机为控制处理核心,将单片机运用到图像跟踪系统是一种大胆的创新和尝试。 1 系统方案设计

本设计采用基于Cortex M4架构的ARM处理器STM32F407,配合COMS数字摄像头0v7670,实现实时动态的图像采集。对采集的图像信息由STM32F4单片机进行图像识别算法处理后锁定目标,并实时动态的送入高色彩的TFT显示设备,进行监控视频显示。根据锁定的目标位置,通过二自由度云台,转动摄像头实时跟踪锁定的目标。系统设计框架如图1所示,ARM作为核心处理控制单元,实时采集OV7670摄像头的数字图像信息,算法处理后控

龙源期刊网 http://www.qikan.com.cn

制二自由度云台转动,使得摄像头跟踪目标物体,该方式是一种实时动态有效的闭环控制模型。

2 单元电路分析与设计 2.1 STM32主控模块设计

本设计采用了基于ARM®;CortexTM-M4为内核的STM32F407的高性能微处理器,其采用了90nm的NVM工艺和ART(自适应实时存储器加速器,Adaptive Real-Time Memo~AcceleratorTM)。ART技术的应用,将Cortex-M4的性能发挥到了极致,通过ART技术使得指令的等待执行时间趋近于零,可谓大大提升了程序执行效率。STM32F407的处理能力可以达到210DMIPS@168MHz,也就是说在168MHz主频下,可以每秒执行2100万条指令,这种处理能力融入ART技术,大幅提升了STM32F4系列的处理性能,完全可以胜任对实时动态图像的分析处理。再者,STM32F4的指令集采用了ARMv7-M体系的32位标准RISC(精简指令集),具备了较高的代码执行效率,易于IDE的开发、仿真和调试。不仅如此,其还具备低成本、低系统功耗、卓越的计算性能和先进的中断响应系统等特点,所以综合考虑,选用了32位ST microcontroller的F4系列中的STM32F407VG作为主控芯片。

基于该款处理芯片,搭建了STM32主控模块,该模块包括了STM32F407VG、复位电路、时钟电路和JTAG电路组成。设计了稳定的按键复位电路,保障了上电复位和Reset Input Signal的事件的发生。时钟电路采用了精度较高的8M无源晶振电路,内部高频时钟可以PLL倍频器获得。预留了JTAG接口,方便了在线仿真和Debug调试。 2.2 图像传感模块设计

图像传感器模块采用了著名的OV(Omni Vi-sion)公司生产的COMS图像传感器OV7670,该传感器是一颗1/6寸的VGA图像传感器,可实现影像处理器和单片式的VGA摄像功能。OV7670具备低工作电压的电气特性,结构上体积小适合各种结构件的安装,单片机通过SCCB总线,进行相应的寄存器配置,可实现子采样、窗口大小调整、整帧输出的8位分辨率的影像数据包。该图像传感器实测最高可输出30帧,秒的VGA图像数据,使用者可以通过改变图像传感器内部的寄存器值,实现对输出图像质量、传输方式和数据格式的控制。对于图像数据的白平衡度、色彩度和伽马曲线等都可以通过SCCB接口编程控制,OmniVision公司的图像传感器具有自己的调校风格,通过对光学或者电子缺陷等因素的调校,使得固定图案噪声、拖尾和浮散得到有效的控制,提高了图像采集的质量,从而使色彩图像清晰而又稳定。 如图2所示为OV7670的功能框架图,主要包括了感光整列(Image Array)、模拟信号处理(Aha-log Processing)、数字处理器(DsP)、数字视频接口(Digital Video Port)、SCCB接口(SCCB Interface)、LED和闪光灯的输出控制(LED and Strobe FlashControl Output)等模块组成。由于OV7670的像素采集时钟具备高速的特点,最高振荡时钟可达24MHz,这么高的数据传输,若单片机直接I/O去读取数据,十分困难,也非常的占用单片机的内部资源。

龙源期刊网 http://www.qikan.com.cn

所以,设计时并不使用I/O去直接读取OV7670的图像数据,而是通过加入一个FIFO(First Input First Output)的芯片,起到数据缓冲的作用,摄像头高速采集的图像信息暂存于FIFO芯片中,单片机可以很方便的读取图像数据。这样的缓冲机制,使得单片机并不一定要具备高速的I/O口,也不一定要具备高速的CPU运算能力,就可以轻松的抓去图像信息,进一步的提升了采集效率。图像传感器模块原理图如图3所示:

从图3中可以看出,摄像头模块自带了有源晶振,用于产生12M时钟作为OV7670的XCLK输入。同时自带了稳压芯片,用于提供OV7670稳定的2.8V工作电压,并带有一个FIFO芯片(AIA22B),该FIFO芯片提供384K字节的FLASH空间,足够存储2帧QVGA的图像数据。

2.3 云台模块设计

图像跟踪系统的执行机构,采用了二自由度舵机云台,顾名思义,其可在水平和垂直两个方向上做一定角度的自由运动,采用高性能的线圈驱动,可获得较大的转动扭矩。云台结构上为方便安装摄像头等传感器设备,在云台顶层预留了两个安装孔位,安装完成后能够实现图像监控、图像识别和跟踪功能。也可以在云台上加装其他的传感器设备,如红外传感器或者超声波传感器,实现一个简易的一体化探测仪器。加装红外传感器或者超声波传感器后能够感知周围障碍物,从而为某一功能性提供了探测感知的功能;也可加装数字摄像头,实现水平和垂直两个方向上定位和跟踪锁定的目标。 (1)舵机的工作原理

舵机具备一个控制信号接口,通过该接口获得单片机的控制信号,将控制信号送人调制芯片中,转换成相应的直流偏置电压或偏置电流,而此时舵机内部具备一个基准信号发生器,实时产生一个周期为20ms,脉宽为1.5ms的基础脉冲信号,将此前转换的偏置电压和该基准脉冲比较,输出对应的电压差信号。电压差信号可驱动电机决定了电机的转动角度,当到达转动角度极限时,通过内部的减速齿轮可带动内部的电位器滑动,使得电压差为0,此时电机停止转动。了解它的具体工作原理后,我们就可以通过单片机输出相应的脉冲信号进行转动角度的控制了。

(2)舵机的控制

舵机的控制需要一个20ms的时基脉冲,该信号由内部的时基电路产生,该时基脉冲的高电平部分是一个0.5-2.5ms范围内部的脉宽,那可以看出,其对应的控制关系是这样的:0.5ms对应0度、1.0ms对应45度、1.5ms对应90度、2.0ms对应135度和2.5ms对应180度,如图4所示:

MG995舵机的工作电压是4.8~6V,本设计供电电压为5V,舵机在空载的时候电流几乎为0,而在正常负载的情况下,电流在0.5A左右。设计中采用两个MG995舵机,并运用支架