当前位置:首页 > 工业控制 > 电子设计自动化

摘 要: 提出了一种图像采集和快速移动物体检测的设计,即通过FPGA实现对摄像头的初始化及数据采集,并通过自定义的传输协议将FPGA缓存中的数据传输给ARM7处理器,实现图像数据的快速传输。根据适用范围,本文提出了自适应二值化阀值及相关的检测算法改进。这对于小型的、低功耗实用型的监控系统具有一定的实用价值。
关键词: 图像采集; FGPA; 移动物体检验

近年来,计算机技术、通信技术、微电子技术迅猛发展,数字监控系统逐步从传统方式的监控系统走向小型化、多样化和智能化。监控系统的发展首先是从图像采集开始的,本文根据项目需要提出了一种基于FPGA的图像采集和移动物体检测的设计方案,用以实现对特定背景下的图像采集和移动物体快速检测。
1 系统总体设计
本系统主要由摄像头初始化模块、图像采集模块、数据传输模块和运动物体检测模块构成。本系统中所使用的FPGA[1]芯片型号是FUSION系列的AFS600。如果只是完成本文中所要实现的内容,则完全可以选择更低性能的FPGA芯片,例如ProASIC3系列的A3P060;如果所选择的芯片没有片内RAM或者片内RAM很小,需要对本文的设计做适当的调整才能完成相应的功能。
本系统中,由FPGA模拟SCCB对摄像头(OV7670)进行初始化,控制端获取图像时再启动FPGA对一幅图像进行采集,将采集到的数据放入一个双端口的RAM存储器中,并将数据传输给控制端。控制端间隔一段时间就通过FPGA采集一幅图像,通过对这些连续的图像进行处理,判定是否有移动物体出现,如果有则可以启动报警系统。本系统中控制端是ARM7系列开发板,图像采集的相关原理图如图1所示。

2 FPGA图像采集端
2.1 摄像头的初始化
  本系统实验所使用的摄像头是OV7670,其感官阵列共656×488个像素。OV7670通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率为8 bit的影响数据。用于VGA图像显示最高可达30帧/s。用户可以完全控制图像质量、数据格式和传输方式。摄像头内部包含伽玛曲线、白平衡、饱和度、色度等,这些设置均通过SCCB总线接口完成。
SCCB是和I2C相同的一个协议。SCCB由一根数据线(SIO_D)和一根时钟线(SIO_C)构成,数据线是双向传输的,时钟线是由主机完全控制的。本系统中主机是由FPGA芯片来担任的,对摄像头初始化的过程只是由主机对摄像头内部的寄存器写入数据,不需要完成从摄像头接收数据的过程,而且对摄像头(OV7670)寄存器写入指令的格式很统一。指令由3 B构成,第1个字节为命令字节,对于本文中的摄像头其内容是0x42;第2个字节是一个8 bit寄存器地址;第3个字节为所要修改的寄存器内容。
根据以上分析,通过FPGA实现摄像头初始化的过程简化了SCCB传输协议,不再考虑接收数据;而且由于发送数据固定为24 bit,如果再加上起始、终止和确认位,总共需要传输的状态位为29 bit,通过状态机机制即可很轻松地编写FPGA代码。本系统中将实验所产生的FPGA信号通过逻辑分析仪提取,结果如图2所示。


2.2 图像采集
图像采集要用到OV7670的3个同步信号,分别为VSYNC(场同步信号)、HREF(行同步信号)和PCLK(像素同步信号),三者的时序关系如图3所示。VSYNC的上升沿表示一帧新图像的到来,下降沿则表示一帧图像数据采集的开始;HREF的上升沿表示一行图像数据的开始,HREF为高电平即可开始有效的数据采集;PCLK下降沿表明数据的产生,PCLK每出现一个下降沿,OV7670 摄像头便传输一个像素数据。最后,当下一个VSYNC信号上升沿到来,表明一帧图像输出结束,同时表示下一帧图像输出开始。从图3中可以看出,当PCLK下降沿到来时摄像头就会更新输出下一个数据;要通过FPGA采集图像数据就要选定一个稳定的图像数据采样点,通过分析图像可知,在PCLK为上升沿时最适合图像数据的采样。

本系统中,FPGA采样得到的数据暂存于一个双端口的内部RAM缓冲存储器中。当收到采集图像命令时,系统首先复位双端口RAM的写地址,每当PCLK上升沿到来时FPGA将数据总线上的数据保存下来,接着再将获得的数据写入双端口缓冲区中,每写完一个数据便对写地址做加1的操作。其主要流程如图4所示,在用Verilog语言实现对图像数据采集时,检测PCLK上升沿并将总线数据保存到寄存器是在一个周期内完成的,将寄存器中的数据存入双端口RAM是在下一个周期完成的,即如果输入时钟为48 MHz,则通过FPGA可以对24 MHz的像素频率(PCLK)的输出图像进行采集。其采集频率即使对640×480的图像也能达到30帧/s以上的速度。提高图像采集的速度瓶颈关键在图像从FPGA传输到控制端的过程中,因此提高数据的传输速度显得非常重要。

2.3 数据传输
本系统通过一个双端口RAM存储器来做缓冲,与使用外部SRAM相比,其好处是实现简单、不需要外接SRAM芯片,同时作为FPGA内部RAM,其处理速度很快可以达到350 MHz。但是RAM缓冲区的大小有限,不能够存储一幅完整的图像,如果控制端读取数据太慢,可能会使原有的缓冲数据被覆盖。从图3中可以看出,在每一行数据传输结束后都有很长一段行同步时间,通过使用缓冲区可以有效利用这段时间来传输数据。
数据传输过程的实现流程如图5所示,该数据传输过程中使用4根控制线和8根数据线。4根控制线分别是开始(start)、结束(finish)、接收状态(R_ready)和发送状态(S_ready)。图5(a)为FPGA发送端的控制流程,图5(b)为数据接收端的控制流程。发送端中rdata为从RAM缓冲区中读出的数据,raddress为双端口读地址,waddress为双端口写地址,数据采集完毕为采集过程结束的标志。

3 处理器控制端
3.1 移动物体检测研究现状
目前比较常用的运动物体检测的方法主要有3种,分别是光流法、背景差法和帧差法。光流法的基本原理是给图像中的每一个像素分配一个速度矢量,根据各个像素的速度矢量特征,对图像进行动态分析[2],但光流计算方法相当复杂,且抗噪性能差;帧差法的基本原理是利用图像序列相邻两帧之间的差异计算出变化的像素[3];背景差法的主要思想是通过对序列图像建立一个背景模型,估算出当前的最优背景图像,再通过对前景图像与背景图像的差分来判断场景中的运动物体[4]。
3.2 移动物体检测
由于处理速度和资源都十分有限,本系统需要通过无线网络来传输图像,在这样的硬件条件下难以完成视频采集,如果使用帧差法前后两帧之间的差异可能会很大;并且本系统主要起到监控报警的功能,通常所监控的环境移动物体很少,所以选用背景差法进行运动物体检测。
3.2.1 移动物体检测流程
首先要获取初始图像,系统上电后将第一次获取的图像作为初始背景,初始背景并不一定准确,但是随着时间的推移,在自适应背景更新的过程中背景将会越来越趋近于真实的背景;接下来,将采集到的图像与背景做差,得到背景差图像,再对背景差图像做中值滤波处理;之后,对中值滤波后的背景差图像做二值化,从而提取出移动物体即背景差图中的白色部分,在对图像二值化过程中,本系统根据实际应用环境采用自适应的二值化阈值。
3.2.2 中值滤波
  由于噪声和运动的相关性,会出现一部分残留的噪声和运动物体内部空洞的现象,需要利用形态学中开和闭运算进行必要的后处理。在众多预处理方法中,中值滤波作为一种常用的图像预处理方法,能够有效地去除噪声、平滑图像,并能够有效地保留图像的边缘信息,所以本系统采用中值滤波来处理图像。
  本系统所采用的是快速中值滤波[5]。快速中值滤波的处理过程为:首先获得需要中值滤波处理的像素及其周围像素,结果为一个3×3矩阵;然后分别计算每一行中3个数据的最大值max、中值med和最小值min;再在上面求得的3个最小值中求最大值max_of_min,最大值中求最小值min_of_max,中值中求中值med_of_med;最后在max_of_min、min_of_max和med_of_med中求中值middle,middle即为所求,把3×3矩阵的中间值换成middle就完成了对Data5的中值滤波处理。
3.2.3 自适应阈值
由于阈值的大小对移动物体的检测主要表现在:当阈值定得较大时,会忽略背景差图中的一些微小变化;当阈值定得太小,又会导致出现太多的移动物体,造成错误的移动物体检测。因此,可以根据经验给移动物体个数规定一个上限和一个下限。当检测到的移动物体个数大于所规定的上限时就适当的增大阈值,当移动物体个数小于所设置的下限时就适当地增大阈值。阈值的变化不是无限的,而是在所容忍的范围之内变化的。本系统经过上述一系列处理后得到的结果如图6、图7所示:图6为包含移动物体及背景的图像,图7为经过一系列处理后得到的对移动物体二值化处理后的结果,其中白色部分为移动物体。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

在异构计算系统中,ARM与FPGA的协同工作已成为高性能计算的关键架构。本文基于FSPI(Fast Serial Peripheral Interface)四线模式,在150MHz时钟频率下实现10.5MB/s的可靠数据...

关键字: ARM FPGA FSPI

在全球FPGA市场被Xilinx(AMD)与Intel垄断的格局下,国产FPGA厂商高云半导体通过构建自主IP核生态与智能时序约束引擎,走出差异化高端化路径。本文深入解析高云半导体FPGA工具链的两大核心技术——全栈IP...

关键字: FPGA 高云半导体

2025年6月12日,由安路科技主办的2025 FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案...

关键字: FPGA 核心板 开发板

高 I/O、低功耗及先进的安全功能,适用于成本敏感型边缘应用

关键字: FPGA I/O 机器视觉

本文讨论如何为特定应用选择合适的温度传感器。我们将介绍不同类型的温度传感器及其优缺点。最后,我们将探讨远程和本地检测技术的最新进展如何推动科技进步,从而创造出更多更先进的温度传感器。

关键字: 温度传感器 CPU FPGA
关闭