CN103179332B - 一种基于fpga技术的视觉目标自适应检测控制器 - Google Patents
一种基于fpga技术的视觉目标自适应检测控制器 Download PDFInfo
- Publication number
- CN103179332B CN103179332B CN201110434839.2A CN201110434839A CN103179332B CN 103179332 B CN103179332 B CN 103179332B CN 201110434839 A CN201110434839 A CN 201110434839A CN 103179332 B CN103179332 B CN 103179332B
- Authority
- CN
- China
- Prior art keywords
- module
- video
- image
- detection
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开一种基于FPGA技术的视觉目标自适应检测控制器,包括CCD摄像头、视频输入模块、时钟模块、传感器模块、位置驱动与控制模块以、FPGA视频检测控制器。本发明是基于现场可编程阵列FPGA芯片的设计,在硬件设计上采用模块化式设计,易于硬件的升级,同时还可以下载不同的图像检测程序,以适应不同的工作条件,具有数据处理速快、集成度高,系统的体积小、现场工作可靠等特点。
Description
技术领域
本发明属于视觉目标自适应检测控制装置,具体涉及一种基于FPGA技术的视觉目标自适应检测控制装置。
背景技术
随着自动控制技术的发展,机器视觉系统已应用到检测、测量、定位以及识别等领域得到了较广泛的应用,利用图像处理及机器视觉技术进行检测的最大特点是能进行无接触测量,与传统检测方法相比,视觉检测技术具有可重复性强、非接触、速度快和精度高等优点,因此机器视觉为生产过程检测领域提供了一种准确度和低成本兼容的方法。
目前典型的机器视觉系统绝大多数仍然是基于纯软件的设计方案,其机器视觉系统基本结构主要包括照明光源、图像采集卡、PC处理计算机,以及相应的图像处理程序等组成。由于大多数的机器视觉系统的检测对象都是运动物体,系统处理的时间和处理速度有着较严格的要求,而基于PC的图像的处理和分析软件采用的是window平台下的软件架构,对计算机性能依赖较大,还造成机器视觉系统的体积大、不方便移动。如“基于机器视觉的高速瓜果品质识别系统”(CN1462875)包括图像采集系统、光学成像系统和光纤传感器,采用外部信号触发控制图像采集、双CCD三维立体视觉和彩色图像处理技术,但其图像处理程序是基于Window开发的,采集系统的体积较大;“基于视频车辆光学特征识别匹配的交通流量检测系统”该系统也是基于Window开发,其硬件结构由照明器、视频输入器、图像采集卡、主控PC机、显示器和触发装置等组成。
发明内容
本发明的目的是针对现有技术的不足,提供一种实时性好、数据处理速度快、体积小、工作可靠的基于FPGA技术的视觉自适应检测控制器。
本发明的技术方案是以下述方式实现的:一种基于FPGA技术的视觉目标自适应检测控制器,包括CCD摄像头、视频输入模块、时钟模块、传感器模块、位置驱动与控制模块以、FPGA视频检测控制器;
CCD摄像头的模拟视频输出信号端与视频输入模块的模拟视频输入信号端连接;视频输入模块的视频输出端与FPGA视频检测控制器的视频预处理单元输入端连接,视频输入模块的同步控制信号端与FPGA视频检测控制器的同步控制端连接,视频输入模块的配置控制总线端与FPGA视频检测控制器的配置控制总线端连接;FPGA视频检测控制器的目标位置输出单元的控制信号端与位置驱动与控制模块的控制信号端连接,FPGA视频检测控制器的目标位置输出单元的目标位置信号输出总线与位置驱动与控制模块的目标位置信号输入总线连接,位置驱动与控制模块的驱动信号端与执行电机的驱动信号端连接;FPGA视频检测控制器的目标位置检测输入信号端与传感器模块的目标位置检测输出信号端连接;FPGA视频检测控制器的时钟输入端与时钟模块的时钟输出端连接;
FPGA视频检测控制器的数据总线和地址总线分别与FLASH模块、SDRAM模块、SDRAM1模块的数据总线和地址总线连接;FPGA视频检测控制器的SDRAM控制输出端与SDRAM模块的控制输入端连接,FPGA视频检测控制器的SDRAM1控制输出端与SDRAM1模块的控制输入端连接;FPGA视频检测控制器的Flash控制输出端与Flash模块的控制输入端连接。
所述FPGA视频检测控制器由用Verilog硬件描述语言编写的逻辑控制单元、视频预处理单元、视频目标检测单元、目标位置输出单元组成。
所述逻辑控制单元由时钟分频模块、控制模块组成。
所述视频预处理单元由视频控制器模块、FIFO模块、滤波模块、存储模块、SDRAM控制模块组成。
所述视频目标检测单元由Flash控制模块、双口RAM模块、光线检测模块、图像检测模块、粒子群优化模块组成。
所述的目标位置输出单元由输出控制模块、FIFO-A模块组成。
本发明是基于现场可编程阵列FPGA(FieldProgrammableGateArray)芯片的设计,在硬件设计上采用模块化式设计,易于硬件的升级,同时还可以下载不同的图像检测程序,以适应不同的工作条件,具有数据处理速快、集成度高,系统的体积小、现场工作可靠等特点。
附图说明
图1是本发明的原理框图。
图2是FPGA视频检测控制器中逻辑控制单元的原理框图。
图3是FPGA视频检测控制器中图像预处理单元的原理框图。
图4是FPGA视频检测控制器中视频目标检测单元的原理框图。
图5是FPGA视频检测控制器中目标位置输出单元的原理框图。
具体实施方式
如图1所示,一种基于FPGA技术的视觉目标自适应检测控制器,该装置包括CCD摄像头、视频输入模块、时钟模块、传感器模块、位置驱动与控制模块以及FPGA视频检测控制器;所述的FPGA视频检测控制器由用Verilog硬件描述语言编写的逻辑控制单元、视频预处理单元、视频目标检测单元、目标位置输出单元组成。
CCD摄像头的模拟视频输出信号端与视频输入模块的模拟视频输入信号端连接;视频输入模块的视频输出端与FPGA视频检测控制器的视频预处理单元输入端连接,视频输入模块的同步控制信号端与FPGA视频检测控制器的同步控制端连接,视频输入模块的配置控制总线端与FPGA视频检测控制器的配置控制总线端连接;FPGA视频检测控制器的目标位置输出单元的控制信号端与位置驱动与控制模块的控制信号端连接,FPGA视频检测控制器的目标位置输出单元的目标位置信号输出总线与位置驱动与控制模块的目标位置信号输入总线连接,位置驱动与控制模块的驱动信号端与执行电机的驱动信号端连接;FPGA视频检测控制器的目标位置检测输入信号端与传感器模块的目标位置检测输出信号端连接;FPGA视频检测控制器的时钟输入端与时钟模块的时钟输出端连接;FPGA视频检测控制器的数据总线和地址总线分别与FLASH模块、SDRAM模块、SDRAM1模块的数据总线和地址总线连接;FPGA视频检测控制器的SDRAM控制输出端与SDRAM模块的控制输入端连接,FPGA视频检测控制器的SDRAM1控制输出端与SDRAM1模块的控制输入端连接;FPGA视频检测控制器的Flash控制输出端与Flash模块的控制输入端连接。
如图2所示,所述FPGA视频检测控制器的逻辑控制单元由时钟分频模块、控制模块组成。其中:
时钟分频模块的时钟输入端CLK与时钟模块的时钟输出端CLK连接;时钟分频模块的时钟输出端CLK1分别与逻辑控制单元的控制模块的时钟输入端CLK1、视频预处理单元的时钟输入端CLK1连接;时钟分频模块的时钟输出端CLK2与视频目标检测单元的时钟输入端CLK2连接;时钟分频模块的时钟输出端CLK3与目标位置输出单元的时钟输入端CLK3连接;
控制模块的同步场频输入端LLC、同步水平输入端HS、同步垂直输入端VS分别与相应的视频输入模块的同步场频输出端LLC、同步水平输出端HS、同步垂直输出端VS连接;控制模块的采集触发信号输出端READY与视频输入模块的采集触发信号输入端READY连接;控制模块的目标位置信号输出控制端REY与目标位置输出单元的目标位置信号输出控制端REY连接;控制模块的图像检测请求信号控制端ReQ与视频目标检测单元的图像检测模块的图像检测请求信号控制端ReQ连接;视频目标检测单元的图像检测模块的图像检测启动信号控制端JcQD与视频目标检测单元的图像检测启动信号控制端JcQD连接;控制模块的图像检测完成信号控制端SrED与图像检测模块的图像检测完成信号控制端SrED连接;控制模块的指令输出端DB与视频预处理单元的视频控制器模块的指令输入端DB连接;控制模块的图像存储完成中断信号输入端INT1与视频预处理单元的图像存储完成中断信号输出端INT1连接;控制模块的目标位置检测输入信号端TRI与传感器模块的目标位置检测输出信号端TRI连接。
如图3所示,所述FPGA视频检测控制器的视频预处理单元由视频控制器模块、FIFO模块、滤波模块、存储模块、SDRAM控制模块组成。其中:
视频控制器模块的指令输入端DB与逻辑控制单元的指令输出端DB连接;视频控制器模块的配置总线CB1、CB2与视频输入模块的配置总线CB1、CB2连接;视频控制器模块的地址输出总线AD[21:0]与视频预处理单元的滤波模块的地址输入总线AD[21:0]连接;视频控制器模块的图像移位控制输出端QD与视频预处理单元的FIFO模块的图像移位控制输入端QD连接;视频控制器模块的时钟输入端CLK1与逻辑控制单元的时钟输出端CLK1连接;FIFO模块的模拟视频输入数据总线VI[15:0]与视频输入模块的模拟视频数据输出总线VI[15:0]连接;FIFO模块的视频输出数据总线DB1[7:0]、DB2[7:0]、DB3[7:0]分别与滤波模块的视频输入数据总线DB1[7:0]、DB2[7:0]、DB3[7:0]连接;FIFO模块的图像移位控制输入端QD与视频预处理单元的视频控制器模块的图像移位控制输出端QD连接;FIFO模块的时钟输入端CLK1与逻辑控制单元的时钟输出端CLK1连接;
视频预处理单元的滤波模块的视频输入数据总线DB1[7:0]、DB2[7:0]、DB3[7:0]分别与FIFO模块的视频输出数据总线DB1[7:0]、DB2[7:0]、DB3[7:0]连接;滤波模块的地址输入总线AD[21:0]与视频控制器模块的地址输出总线AD[21:0]连接;滤波模块的视频输出数据总线DB[7:0]与存储模块的视频输入数据总线DB[7:0]连接;滤波模块的地址输出总线A1[21:0]与存储模块的的地址输入总线A1[21:0]连接;滤波模块的时钟输入端CLK1与逻辑控制单元的时钟输出端CLK1连接;
存储模块的视频输入数据总线DB[7:0]与滤波模块的视频输出数据总线DB[7:0]连接;存储模块的地址输入总线A1[21:0]与滤波模块的地址输出总线A1[21:0]连接;存储模块的视频输出总线D[7:0]与SDRAM模块、SDRAM1模块的数据总线D[7:0]连接;存储模块的地址输出总线A2[21:0]与SDRAM控制模块的地址输入总线A2[21:0]连接;存储模块的图像存储完成中断信号输出端INT1与逻辑控制单元的图像存储完成中断信号输入端INT1连接;存储模块的SDRAM读写控制端R/W-1与视频预处理单元的SDRAM控制模块的SDRAM读写控制端R/W-1连接;存储模块的SDRAM片选控制端SDCE1与SDRAM控制模块的SDRAM片选控制端SDCE1连接;存储模块的时钟输入端CLK1与逻辑控制单元的时钟输出端CLK1连接;
视频预处理单元的SDRAM控制模块的地址输入总线A2[21:0]与存储模块的地址输出总线A2[21:0]连接;视频预处理单元的SDRAM控制模块的SDRAM读写控制端R/W-1与视频预处理单元的存储模块的SDRAM读写控制端R/W-1连接;视频预处理单元的SDRAM控制模块的SDRAM读写控制端R/W-2与视频目标检测单元的SDRAM读写控制端R/W-2连接;视频预处理单元的SDRAM控制模块的SDRAM片选控制端SDCE1与视频预处理单元的存储模块的SDRAM片选控制端SDCE1连接;视频预处理单元的SDRAM控制模块的SDRAM片选控制端SDCE2与视频目标检测单元的SDRAM片选控制端SDCE2连接;视频预处理单元的SDRAM控制模块的地址输出总线A[21:0]与SDRAM模块、SDRAM1模块的地址输入总线A[21:0]连接;视频预处理单元的SDRAM控制模块的SDRAM读写控制端SDR/W1、SDR/W2分别与相应的SDRAM模块读写控制端SDR/W1、SDRAM1模块的SDRAM读写控制端SDR/W2连接;视频预处理单元的SDRAM控制模块的SDRAM片选控制端CE1、CE2分别与相应的SDRAM模块SDRAM片选控制端CE1、SDRAM1模块的SDRAM片选控制端CE2连接;视频预处理单元的SDRAM控制模块的时钟输入端CLK1与逻辑控制单元的时钟输出端CLK1连接。
如图4所示,所述FPGA视频检测控制器的视频目标检测单元由Flash控制模块、双口RAM模块、光线检测模块、图像检测模块、粒子群优化模块组成。其中:
视频目标检测单元的Flash控制模块的地址输入总线A2[21:0]分别与视频目标检测单元的图像检测模块、视频目标检测单元的粒子群优化模块的地址输出总线A2[21:0]连接;视频目标检测单元的Flash控制模块的Flash读写控制端FR/W1、FR/W2分别与视频目标检测单元的粒子群优化模块的Flash读写控制端FR/W1、视频目标检测单元的图像检测模块的Flash读写控制端FR/W2连接;视频目标检测单元的Flash控制模块的Flash片选控制端FCE1、FCE2分别与视频目标检测单元的粒子群优化模块的Flash片选控制端FCE1、视频目标检测单元的图像检测模块的Flash片选控制端FCE2连接;视频目标检测单元的Flash控制模块的地址输出总线A[21:0]与Flash模块的地址输入总线A[21:0]连接;视频目标检测单元的Flash控制模块的Flash读写控制端FR/W与Flash模块的Flash读写控制端FR/W连接;视频目标检测单元的Flash控制模块的Flash片选控制端FCE与Flash模块的Flash片选控制端FCE连接;视频目标检测单元的Flash控制模块的时钟输入端CLK2与逻辑控制单元的时钟输出端CLK2连接;
视频目标检测单元的双口RAM模块的双口RAM地址输入总线AB1[16:0]、AB2[16:0]分别与视频目标检测单元的粒子群优化模块的双口RAM输出总线AB1[16:0]、视频目标检测单元的图像检测模块的双口RAM输出总线AB2[16:0]连接;视频目标检测单元的双口RAM模块的双口RAM数据总线DB1[7:0]、DB2[7:0]分别与视频目标检测单元的粒子群优化模块的双口RAM数据总线DB1[7:0]、视频目标检测单元的图像检测模块的双口RAM数据总线DB2[7:0]连接;视频目标检测单元的双口RAM模块的双口RAM片选控制端CE-1、CE-2分别与视频目标检测单元的粒子群优化模块的双口RAM片选控制端CE-1、视频目标检测单元的图像检测模块的双口RAM片选控制端CE-2连接;视频目标检测单元的双口RAM模块的读写控制端R/W-1、R/W-2分别与视频目标检测单元的粒子群优化模块的读写控制端R/W-1、视频目标检测单元的图像检测模块的读写控制端R/W-2连接;视频目标检测单元的双口RAM模块的时钟输入端CLK2与逻辑控制单元的时钟输出端CLK2连接;
视频目标检测单元的光线检测模块的数据总线D[7:0]与SDRAM模块、SDRAM1模块的数据总线D[7:0]连接;视频目标检测单元的光线检测模块的图像检测请求信号控制端ReQ与逻辑控制单元的图像检测请求信号控制端ReQ连接;视频目标检测单元的光线检测模块的中断输出端INT2与视频目标检测单元的粒子群优化模块的中断输入端INT2连接;视频目标检测单元的光线检测模块的时钟输入端CLK2与逻辑控制单元的时钟输出端CLK2连接;视频目标检测单元的粒子群优化模块的地址输出总线A2[21:0]与视频目标检测单元的Flash控制模块的地址输入总线A2[21:0]连接;视频目标检测单元的粒子群优化模块的数据总线D[7:0]分别与Flash模块、SDRAM模块、SDRAM1模块的数据总线D[7:0]连接;视频目标检测单元的粒子群优化模块的双口RAM地址输出总线AB1[16:0]与双口RAM模块的双口RAM地址输入总线AB1[16:0]连接;视频目标检测单元的粒子群优化模块的双口RAM模块数据总线DB1[7:0]与双口RAM模块的双口RAM数据总线DB1[7:0]连接;视频目标检测单元的粒子群优化的Flash片选控制端FCE1与Flash控制模块的Flash片选控制端FCE1连接;视频目标检测单元的粒子群优化的Flash读写控制端FR/W1与Flash控制模块的Flash读写控制端FR/W1连接;视频目标检测单元的粒子群优化模块的双口RAM读写控制端R/W-3与双口RAM模块的双口RAM读写控制端R/W-2连接;视频目标检测单元的粒子群优化模块的双口RAM片选控制端CE-1与双口RAM模块的双口RAM片选控制端CE-1连接;视频目标检测单元的粒子群优化模块的中断输入端INT2与视频目标检测单元的光线检测模块的中断输出端INT2连接;视频目标检测单元的粒子群优化模块的背景更换中断输出端INT3与视频目标检测单元的图像检测模块的背景更换中断输入端INT3连接;视频目标检测单元的粒子群优化模块的时钟输入端CLK2与逻辑控制单元的时钟输出端CLK2连接;视频目标检测单元的图像检测模块的地址输出总线A2[21:0]与视频目标检测单元的Flash控制模块、图像预处理单元的地址输入总线A2[21:0]连接;视频目标检测单元的图像检测模块的数据总线D[7:0]与Flash模块、SDRAM模块、SDRAM1模块的数据总线D[7:0]连接;视频目标检测单元的图像检测模块的双口RAM地址输出总线AB2[16:0]与视频目标检测单元的双口RAM模块的双口RAM地址输入总线AB2[16:0]连接;视频目标检测单元的图像检测模块的双口RAM数据总线DB2[7:0]与视频目标检测单元的双口RAM模块的双口RAM数据总线DB2[7:0]连接;视频目标检测单元的图像检测模块的Flash片选控制端FCE2与Flash控制模块的Flash片选控制端FCE2连接;视频目标检测单元的图像检测模块的Flash读写控制端FR/W2与Flash控制模块的Flash读写控制端FR/W2连接;视频目标检测单元的图像检测模块的读写控制端R/W-2分别与双口RAM模块、图像预处理单元的读写控制端R/W-2连接;视频目标检测单元的图像检测模块的双口RAM片选控制端CE-2与图像预处理单元的双口RAM模块的双口RAM片选控制端CE-2连接;视频目标检测单元的图像检测模块的SDRAM片选控制端SDCE2与图像预处理单元的SDRAM片选控制端SDCE2连接;视频目标检测单元的图像检测模块的图像检测启动信号控制端JcQD与逻辑控制单元的图像检测启动信号控制端JcQD连接;视频目标检测单元的图像检测模块的图像检测完成信号输出端SrED与逻辑控制单元的图像检测完成信号输入端SrED连接;视频目标检测单元的图像检测模块的图像检测请求信号控制端ReQ与逻辑控制单元的图像检测请求信号控制端ReQ连接;视频目标检测单元的图像检测模块的背景更换中断输入端INT3与视频目标检测单元的粒子群优化模块的背景更换中断输出端INT3连接;视频目标检测单元的图像检测模块的目标位置输出信号总线YO[11:0]与目标位置输出单元的目标位置输入信号总线YO[11:0]连接;视频目标检测单元的图像检测模块的时钟输入端CLK2与逻辑控制单元的时钟输出端CLK2连接。
如图5所示,所述FPGA视频检测控制器的目标位置输出单元由输出控制模块、FIFO-A模块组成。其中:
目标位置输出单元的FIFO-A模块的目标位置输入信号总线YO[11:0]与视频目标检测单元的图像检测模块的目标位置输出信号总线YO[11:0]连接;目标位置输出单元的FIFO-A模块的目标位置输出信号总线UO[11:0]与位置驱动与控制模块的目标位置输入信号总线UO[11:0]连接;目标位置输出单元的FIFO-A模块的时钟输入端CLK3与逻辑控制单元的时钟输出端CLK3连接;
目标位置输出单元的输出控制模块的数据输出控制端ReAD与位置驱动与控制模块的数据输入控制端ReAD连接;目标位置输出单元的输出控制模块的数据发送请求输入端RQ与位置驱动与控制模块的数据发送请求输出端RQ连接;目标位置输出单元的输出控制模块的数据读信号输入端READ与位置驱动与控制模块的数据读信号输出端READ连接;目标位置输出单元的输出控制模块的中断信号输入端INT4与位置驱动与控制模块的中断信号输出端INT4连接;目标位置输出单元的输出控制模块的目标位置信号输出控制端REY与逻辑控制单元的目标位置信号输出控制端REY连接;目标位置输出单元的输出控制模块的时钟输入端CLK3与逻辑控制单元的时钟输出端CLK3连接。
本发明的详细工作流程如下:通电之后,基于FPGA技术的视觉目标自适应检测控制器的FPGA视觉检测控制器首先执行系统初始化程序,逻辑控制单元的控制模块输出指令DB到图像预处理单元的视频控制器模块的指令输入端DB,图像预处理单元的视频控制器模块经配置串行总线CB1、CB2对视频输入模块进行系统配置;系统配置完成后,FPGA视觉检测控制器的逻辑控制单元的控制模块输出采集触发信号READY到视频输入模块,视频输入模块开始接收CCD摄像机的模拟输入信号,并转换为相应格式的数字视频信号,数字视频信号经FPGA视觉检测控制器的模拟视频输入数据总线VI[15:0],在时钟CLK1的控制下输入到FPGA视觉检测控制器的图像预处理单元的FIFO模块中。
图像预处理单元的FIFO模块通过移位寄存操作将串行输入的图像数据转换为3列并行输出的图像信号DB1[7:0]、DB2[7:0]、DB3[7:0];图像预处理单元的FIFO模块的3列并行输出的图像信号DB1[7:0]、DB2[7:0]、DB3[7:0]并行输入到滤波模块中,进行3×3中值滤波处理,中值滤波算法为:
首先将FIFO模块中的视频图像每一列按照升序排序;之后取第一列的最小值、第二列的中值、第三列的最大值;最后取这三个值的中值,即med=med(min1,med2,max3)。
视频预处理单元的存储模块输出SDRAM读写控制端R/W-1、SDRAM片选控制端SDCE1到SDRAM控制模块中,经SDRAM控制模块解码处理后输出相应的SDRAM模块、SDRM1模块的片选信号CE1、CE1和读写信号SDR/W1、SDR/W2,以“乒乓”存储的方式将滤波模块的视频输出总线DB[7:0]输出的中值滤波处理的视频信号按图像的奇偶场分别存储到SDRAM模块和SDRM1模块中。
一帧图像预处理后,图像预处理单元的存储模块输出图像存储完成中断信号INT1到逻辑控制单元,逻辑控制单元的采集触发信号READY控制视频输入模块输入下一帧图像,并输出图像检测启动信号ReQ到视频目标检测单元,控制视频目标检测单元读取处理过的图像数据;视频目标检测单元在接受逻辑控制单元的图像检测启动信号ReQ,通过光线检测模块开始对采集图像进行图像光线情况进行检测。
本实施例中FPGA视觉检测控制器的视频目标检测单元采用背景差检测算法进行视觉运动目标的检测,背景差检测算法是将采集图像与背景图像作灰度差运算,其中灰度值不为零的点可以认为是目标点。为了提高视觉目标检测的准确性,对背景差检测算法的背景建模采用以多个典型的背景图像构成背景图像库的多图像建模方法。在实际检测过程中,通过在多图像模型中选取合适的背景图像的方法,以提高背景差检测算法准确性。
FPGA视觉检测控制器的光线检测模块采用图像局部光线检测算法,在采集图像上选择五处监控场景光线变化检测区(50×150像素点),以被检测局部区域内图像的平均灰度直方图信息为检测测度,其中p(zi)为图像对应的直方图,zi为灰度级别。对选取的各检测局部图像的平均灰度直方图进行加权归一化处理:
μ=[μ1(1),μ2(2),…μ5(5)]*KT
其中K=[k1,k2,…,k5]是5个光线变化检测点的权重,满足k1+k2+…+k5=1。
归一化处理后的平均灰度直方图μ如果小于预设的检测阈值T1,光线检测模块的中断输出端INT2置0;视频目标检测单元的粒子群优化模块在中断输入端INT2为0时,对背景差检测算法的背景图像模型进行自适应优化处理。
本实施例中视频目标检测单元的粒子群优化模块采用标准粒子群优化算法:
Vi(t+1)=Vi(t)+c1*r1*(pbesti(t)-Xi(t))+c2*r2*(gbest(t)-Xi(t))
Xi(t+1)=Xi(t)+Vi(t+1)
其中i=1,2,…,n,n为种群规模,t为当前迭代次数,r1,r2为分布在[0,1]之间的随机数;c1和c2为正整数,称为学习因子,分别为认知参数和社会参数,表示粒子i的当前位置; 表示粒子i的当前速度; 表示粒子i搜索到的最好解;gbesti=(gbesti1,gbesti2,…,gbestin)表示整个粒子群搜索到的最好解。
视频目标检测单元的粒子群优化模块在中断输入端INT2为0时,粒子群优化模块输出Flash片选控制信号FCE1和Flash读写控制信号FR/W1,通过地址输出总线A2[21:0]和数据总线D[7:0]读取Flash中的存储的多图像模型中各背景图像上3个设定检测区域的图像数据,同时与监控场景采集图像上各相同检测区域的图像数据进行特征寻优运算,通过粒子群优化算法的迭代寻优机制,在多图像模型中寻找与监控场景采集图像的背景特征最接近的背景图像;粒子群优化算法以各对应检测区域的距离测度最小为粒子群优化算法的适应度函数,即f(L2)=min(L2i),
粒子编码采用块编码形式即X={Xi|(xi,yi,3,3),i=1,2....,20},其中I(x,y),B(x,y)分别为两幅灰度图像相对应像素点(x,y)处的灰度值,n,m分别为图像匹配区域的宽和高的像素点数,(xi,yi,3,3)代表3×3像素区域的图像中心点坐标,i=1,2,…,20为种群规模。
粒子群优化模块输出双口RAM读写控制信号R/W-3、双口RAM片选控制信号CE-1,通过双口RAM地址输出总线AB1[16:0]、双口RAM模块数据总线DB1[7:0]将最优粒子编码、目标检测滑动检测窗的尺寸、最优背景图像的存储地址存入双口RAM模块;
粒子群优化算法迭代寻优后,粒子群优化模块的背景更换中断输出端INT3置0,通知视频目标检测单元的图像检测模块进行背景图像模型的更新操作;视频目标检测单元的图像检测模块在背景更换中断输出端INT3为0时,图像检测模块输出读写控制信号R/W-2、双口RAM片选控制信号CE-2,通过双口RAM地址输出总线AB2[16:0]、双口RAM模块数据总线DB2[7:0]将读取双口RAM模块中的目标检测滑动检测窗的尺寸、最佳背景图像地址,视频目标检测单元的图像检测模块经Flash控制模块读取Flash中的存储的背景图像,实现背景差检测算法中背景图像的更新。
当传感器模块检测到运动目标时,传感器模块输出目标位置检测信号TRI到FPGA视觉检测控制器的逻辑控制单元,逻辑控制单元输出图像检测启动信号控制指令JcQD,控制FPGA视觉检测控制器的视频目标检测单元的图像检测模块进行视觉目标检测,其检测步骤为:
首先,为了提高目标的识别准确度,在背景差运算后的图像上,通过滑动一个尺寸可变的目标检测滑动检测窗。在目标检测滑动检测窗中计算图像垂直方向的灰度值,选取垂直方向灰度值大于阈值T2的列,并计算其总数A,如果列总数A超过阈值T3,有运动目标进入或离开目标检测滑动检测窗;否则在目标检测滑动检测窗中无运动目标进入或离开;
其次,计算目标检测滑动检测窗两端的列灰度值的差是否有变化;如果有变化,减小目标检测滑动检测窗的宽度,直至列灰度值的差小于阈值T4,此时目标检测滑动检测窗的左侧边缘位置即为运动目标的边缘位置,图像检测模块通过目标位置输出信号总线YO[11:0]将运动目标的边缘位置存储到目标位置输出单元的FIFO模块中;
最后,图像检测模块输出图像检测完成信号SrED到逻辑控制单元,准备进行下一帧图像的目标检测。
本具体实施方式采用对CCD摄像头的图像采集信号,利用FPGA并行计算的特性,基于粒子群优化算法的视觉目标检测方法,实时提取视频中的运动目标,借助位置驱动与控制模块实现对视觉目标的检测与控制功能。
Claims (1)
1.一种基于FPGA技术的视觉目标自适应检测控制器,其特征在于:包括CCD摄像头、视频输入模块、时钟模块、传感器模块、位置驱动与控制模块、FPGA视频检测控制器;CCD摄像头的模拟视频输出信号端与视频输入模块的模拟视频输入信号端连接;视频输入模块的视频输出端与FPGA视频检测控制器的视频预处理单元输入端连接,视频输入模块的同步控制信号端与FPGA视频检测控制器的同步控制端连接,视频输入模块的配置控制总线端与FPGA视频检测控制器的配置控制总线端连接;FPGA视频检测控制器的目标位置输出单元的控制信号端与位置驱动与控制模块的控制信号端连接,FPGA视频检测控制器的目标位置输出单元的目标位置信号输出总线与位置驱动与控制模块的目标位置信号输入总线连接,位置驱动与控制模块的驱动信号端与执行电机的驱动信号端连接;FPGA视频检测控制器的目标位置检测输入信号端与传感器模块的目标位置检测输出信号端连接;FPGA视频检测控制器的时钟输入端与时钟模块的时钟输出端连接;FPGA视频检测控制器的数据总线和地址总线分别与FLASH模块、SDRAM模块、SDRAM1模块的数据总线和地址总线连接;FPGA视频检测控制器的SDRAM控制输出端与SDRAM模块的控制输入端连接,FPGA视频检测控制器的SDRAM1控制输出端与SDRAM1模块的控制输入端连接;FPGA视频检测控制器的Flash控制输出端与Flash模块的控制输入端连接;
所述FPGA视频检测控制器由用Verilog硬件描述语言编写的逻辑控制单元、视频预处理单元、视频目标检测单元、目标位置输出单元组成;
所述逻辑控制单元由时钟分频模块、控制模块组成;
所述视频预处理单元由视频控制器模块、FIFO模块、滤波模块、存储模块、SDRAM控制模块组成;
所述视频目标检测单元由Flash控制模块、双口RAM模块、光线检测模块、图像检测模块、粒子群优化模块组成;
所述的目标位置输出单元由输出控制模块、FIFO-A模块组成;
通电之后,FPGA视觉检测控制器首先执行系统初始化程序,FPGA视觉检测控制器的逻辑控制单元的控制模块输出指令到图像预处理单元的视频控制器模块,图像预处理单元的视频控制器模块对视频输入模块进行系统配置;系统配置完成后,FPGA视觉检测控制器的逻辑控制单元的控制模块输出采集触发信号到视频输入模块,视频输入模块开始接收CCD摄像机的模拟输入信号,并转换为相应格式的数字视频信号,数字视频信号经FPGA视觉检测控制器的模拟视频输入数据总线,在时钟的控制下输入到FPGA视觉检测控制器的图像预处理单元的FIFO模块中;
图像预处理单元的FIFO模块通过移位寄存操作将串行输入的图像数据转换为3列并行输出的图像信号;图像预处理单元的FIFO模块的3列并行输出的图像信号并行输入到滤波模块中,进行3×3中值滤波处理,中值滤波算法为:首先将FIFO模块中的视频图像每一列按照升序排序;之后取第一列的最小值、第二列的中值、第三列的最大值;最后取这三个值的中值,即med=med(min1,med2,max3);
视频预处理单元的存储模块输出SDRAM读写控制信号、SDRAM片选控制信号到SDRAM控制模块中,经SDRAM控制模块解码处理后输出相应的SDRAM模块、SDRM1模块的片选信号和读写信号,以“乒乓”存储的方式将滤波模块输出的中值滤波处理的视频信号按图像的奇偶场分别存储到SDRAM模块和SDRM1模块中;
一帧图像预处理后,图像预处理单元的存储模块输出图像存储完成中断信号到逻辑控制单元,逻辑控制单元的采集触发信号控制视频输入模块输入下一帧图像,并输出图像检测启动信号到视频目标检测单元,控制视频目标检测单元读取处理过的图像数据;视频目标检测单元接受逻辑控制单元的图像检测启动信号,通过光线检测模块开始对采集图像进行图像光线情况进行检测;FPGA视觉检测控制器的视频目标检测单元采用背景差检测算法进行视觉运动目标的检测,背景差检测算法是将采集图像与背景图像作灰度差运算,其中灰度值不为零的点可以认为是目标点,对背景差检测算法的背景建模采用以多个典型的背景图像构成背景图像库的多图像建模方法;
FPGA视觉检测控制器的光线检测模块采用图像局部光线检测算法,在采集图像上选择五处监控场景光线变化检测区,以被检测局部区域内图像的平均灰度直方图信息为检测测度,其中p(zi)为图像对应的直方图,zi为灰度级别;对选取的各检测局部图像的平均灰度直方图进行加权归一化处理:μ=[μ1(1),μ2(2),…μ5(5)]*KT,其中K=[k1,k2,…,k5]是5个光线变化检测点的权重,满足k1+k2+…+k5=1;归一化处理后的平均灰度直方图μ如果小于预设的检测阈值T1,光线检测模块的中断输出端置0;视频目标检测单元的粒子群优化模块在中断输入端为0时,对背景差检测算法的背景图像模型进行自适应优化处理;
视频目标检测单元的粒子群优化模块采用标准粒子群优化算法;视频目标检测单元的粒子群优化模块在中断输入端为0时,粒子群优化模块读取Flash中存储的多图像模型中各背景图像上3个设定检测区域的图像数据,同时与监控场景采集图像上各相同检测区域的图像数据进行特征寻优运算,通过粒子群优化算法的迭代寻优机制,在多图像模型中寻找与监控场景采集图像的背景特征最接近的背景图像;
粒子群优化模块将最优粒子编码、目标检测滑动检测窗的尺寸、最优背景图像的存储地址存入双口RAM模块;粒子群优化算法迭代寻优后,粒子群优化模块的背景更换中断输出端置0,通知视频目标检测单元的图像检测模块进行背景图像模型的更新操作;视频目标检测单元的图像检测模块在背景更换中断输出端为0时,图像检测模块读取双口RAM模块中的目标检测滑动检测窗的尺寸、最佳背景图像地址,视频目标检测单元的图像检测模块经Flash控制模块读取Flash中存储的背景图像,实现背景差检测算法中背景图像的更新;
当传感器模块检测到运动目标时,传感器模块输出目标位置检测信号到FPGA视觉检测控制器的逻辑控制单元,逻辑控制单元输出图像检测启动信号控制指令,控制FPGA视觉检测控制器的视频目标检测单元的图像检测模块进行视觉目标检测,其检测步骤为:
首先,为了提高目标的识别准确度,在背景差运算后的图像上,通过滑动一个尺寸可变的目标检测滑动检测窗;在目标检测滑动检测窗中计算图像垂直方向的灰度值,选取垂直方向灰度值大于阈值T2的列,并计算其总数A,如果列总数A超过阈值T3,有运动目标进入或离开目标检测滑动检测窗;否则在目标检测滑动检测窗中无运动目标进入或离开;
其次,计算目标检测滑动检测窗两端的列灰度值的差是否有变化;如果有变化,减小目标检测滑动检测窗的宽度,直至列灰度值的差小于阈值T4,此时目标检测滑动检测窗的左侧边缘位置即为运动目标的边缘位置,图像检测模块将运动目标的边缘位置存储到目标位置输出单元的FIFO模块中;
最后,图像检测模块输出图像检测完成信号到逻辑控制单元,准备进行下一帧图像的目标检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110434839.2A CN103179332B (zh) | 2011-12-22 | 2011-12-22 | 一种基于fpga技术的视觉目标自适应检测控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110434839.2A CN103179332B (zh) | 2011-12-22 | 2011-12-22 | 一种基于fpga技术的视觉目标自适应检测控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103179332A CN103179332A (zh) | 2013-06-26 |
CN103179332B true CN103179332B (zh) | 2016-05-25 |
Family
ID=48638932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110434839.2A Expired - Fee Related CN103179332B (zh) | 2011-12-22 | 2011-12-22 | 一种基于fpga技术的视觉目标自适应检测控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103179332B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935886A (zh) * | 2015-06-09 | 2015-09-23 | 宁夏大学 | 一种基于sopc的室内智能视频监控系统 |
CN106846419B (zh) * | 2015-12-03 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 一种图像中人像轮廓的确定方法和装置 |
CN107091612A (zh) * | 2017-05-19 | 2017-08-25 | 常州工学院 | 一种基于fpga和激光三角测距的板坯宽度动态检测装置 |
CN115205765B (zh) * | 2022-09-15 | 2022-11-25 | 成都中轨轨道设备有限公司 | 一种基于fpga的视频分析方法及系统 |
CN115460362A (zh) * | 2022-11-08 | 2022-12-09 | 之江实验室 | 一种分辨率可重构视觉传感器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158876A (zh) * | 2007-09-28 | 2008-04-09 | 武汉科技大学 | 一种基于dsp和fpga的双排钢坯视觉定位装置 |
CN101619984A (zh) * | 2009-07-28 | 2010-01-06 | 重庆邮电大学 | 一种基于颜色路标的移动机器人视觉导航方法 |
-
2011
- 2011-12-22 CN CN201110434839.2A patent/CN103179332B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158876A (zh) * | 2007-09-28 | 2008-04-09 | 武汉科技大学 | 一种基于dsp和fpga的双排钢坯视觉定位装置 |
CN101619984A (zh) * | 2009-07-28 | 2010-01-06 | 重庆邮电大学 | 一种基于颜色路标的移动机器人视觉导航方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103179332A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598736B (zh) | 一种电力设备红外图像故障定位、识别与预测方法 | |
CN103179332B (zh) | 一种基于fpga技术的视觉目标自适应检测控制器 | |
CN108596203B (zh) | 并联池化层对受电弓碳滑板表面磨耗检测模型的优化方法 | |
CN104112269B (zh) | 一种基于机器视觉的太阳能电池激光刻线参数检测方法及系统 | |
CN105891233B (zh) | 基于机器视觉的镜片表面缺陷智能检测系统及其实现方法 | |
CN104913797A (zh) | 指针式仪表的读数识别方法及系统 | |
CN101567097B (zh) | 基于双行视差时空图的公交车客流自动计数方法及其系统 | |
CN102680414B (zh) | 基于机器视觉的红提葡萄自动分级装置及其方法 | |
CN103454285A (zh) | 基于机器视觉的传动链条质量检测系统 | |
CN103424409A (zh) | 一种基于dsp的视觉检测系统 | |
CN102831378B (zh) | 人的检测和跟踪方法与系统 | |
CN106548111A (zh) | 一种二维码外观缺陷检测方法及装置 | |
CN103295221B (zh) | 模拟复眼视觉机制和偏振成像的水面目标运动检测方法 | |
CN107944354B (zh) | 一种基于深度学习的车辆检测方法 | |
CN105184229A (zh) | 一种动态场景下基于在线学习的实时行人检测方法 | |
CN109886932A (zh) | 基于svm的轮速传感器齿圈表面缺陷检测方法 | |
CN204039886U (zh) | 一种基于多台相机立体拍摄的路面损坏裂缝检测系统 | |
CN107016353A (zh) | 一种变分辨率目标探测与识别一体化的方法与系统 | |
CN109886931A (zh) | 基于bp神经网络的轮速传感器齿圈表面缺陷检测方法 | |
CN104123714A (zh) | 一种人流量统计中最优目标检测尺度的生成方法 | |
CN101943969B (zh) | 位置测量设备和位置测量方法 | |
CN114842308B (zh) | 一种基于全特征融合建立目标预判优化模型的方法 | |
CN115205363A (zh) | 基于改进ResNet网络的传送带实时判空检测方法与系统 | |
Jiang et al. | Attention classification-and-segmentation network for micro-crack anomaly detection of photovoltaic module cells | |
CN101196984B (zh) | 一种快速人脸检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160525 Termination date: 20161222 |
|
CF01 | Termination of patent right due to non-payment of annual fee |