CN103400153B - 一种用于实时图像识别的串行滤波匹配方法及系统 - Google Patents
一种用于实时图像识别的串行滤波匹配方法及系统 Download PDFInfo
- Publication number
- CN103400153B CN103400153B CN201310294335.4A CN201310294335A CN103400153B CN 103400153 B CN103400153 B CN 103400153B CN 201310294335 A CN201310294335 A CN 201310294335A CN 103400153 B CN103400153 B CN 103400153B
- Authority
- CN
- China
- Prior art keywords
- template
- module
- image
- medium filtering
- ram
- 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
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及串行滤波匹配技术领域,尤其涉及一种用于实时图像识别的串行滤波匹配方法及系统。本发明所提供的用于实时图像识别的串行滤波匹配方法及系统,其通过FPGA串行实现中值滤波和模板匹配,对采集的实时图像数据先进行中值滤波处理,降低图像噪声,再进行模板匹配运算,增强目标信息。该方案充分利用FGPA的内部逻辑单元和流水线方式,将DSP的工作分流给FPGA执行,把DSP从大量的滤波运算中解放出来,专门用于图像识别,克服单纯依靠DSP对图像数据进行模板匹配实时性差的问题,极大提高图像处理系统的处理速度。
Description
技术领域
本发明涉及串行滤波匹配技术领域,尤其涉及一种用于实时图像识别的串行滤波匹配方法及系统。
背景技术
图像信号在形成、传输和记录的过程中,不可避免地产生各种类型的噪声,降低了图像的质量,影响图像识别的效果或准确性。目前图象识别系统多采用DSP对图像数据进行单一的模板匹配算法处理。虽然DSP运行主频比较高,但由于DSP还是串行运算方式,此种方法增加了DSP的运算量,降低了系统的实时性,只适用于图像数据较少且实时性要求不高的系统,但在图像数据量大,实时性、可靠性要求更为苛刻的图像识别系统,单独依靠DSP进行模板匹配难以满足要求。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何克服现有技术单独依靠DSP进行模板匹配时,存在无法满足实时性、可靠性要求的问题。
(二)技术方案
为解决上述技术问题,本发明提供一种用于实时图像识别的串行滤波匹配方法,所述匹配方法基于串行滤波匹配系统来实施,所述串行滤波匹配系统包括:中值滤波模块以及模板匹配模块;所述中值滤波模块包括图像数据接口控制模块、图像行缓存模块以及中值滤波运算模块;所述图像数据接口控制模块包括图像接口模块和控制模块;所述图像行缓存模块由多个双口RAM组成;所述中值滤波运算模块包括行数据读取模块以及滤波运算模块;所述模板匹配模块包括时序控制模块和模板匹配子模块;所述模板匹配子模块包括模板缓存、图像数据缓存、模板匹配结果缓存以及模板匹配运算模块;
所述串行滤波匹配方法包括如下步骤:
步骤S1:外部图像采集模块发送来的图像数据帧、行同步信号状态,以及图像数据计算器的状态;
步骤S2:图像数据接口控制模块判断所述图像数据帧、行同步信号状态,以及图像数据计算器的状态,完成图像数据的接收;
步骤S3:控制模块控制将一帧图像中的数据,按行先后顺序分别存入图像行缓存模块;在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM在当前读取周期内直接进行读取,剩余的RAM设为缓冲存储RAM,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM与前一周期的缓冲存储RAM中相邻的下一RAM作为下一周期的直接读取的三个RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM;
步骤S4:所述行数据读取模块当图像行缓存模块完成相邻三行图像数据的存储后,从图像行缓存模块中并行的读取相邻的三行图像数据,提供给滤波运算模块;
步骤S5:所述滤波运算模块用于进行中值滤波运算,得到一行运算后的图像数据存于外围的数据缓存中;
步骤S6:所述时序控制模块依据中值滤波后的图像数据的同步信号状态,在图像数据消隐期内,从模板存储器中读取匹配模板并保存在模板缓存中,在图像数据输入有效期内,由模板匹配子模块对图像数据进行缓存处理,然后对匹配模板、缓存图像数据进行模板匹配运算并将运算结果输出。
其中,所述步骤S5中,中值滤波运算的具体实现是采结构化的二维滑动模板,利用该模板依次在图像的每个像素点上滑动,在经过每个像素时,将模板内像素按照像素位的大小进行排序,生成单调上升或下降的二维数据,中值滤波输出根据公式(1)来进行:
g(x,y)=Med{f(x-k,y-l),(k,l)∈W} (1)
式中:
(x,y)为待匹配图像的像素点,其中,x为横坐标,y为纵坐标;
(k,l)为中值滤波模板中的某一定点,其中,k为横坐标,l为纵坐标;
f(x,y):在(x,y)点经过中值滤波前的灰度值;
g(x,y):在(x,y)点处经过中值滤波后的灰度值;
W:为中值滤波模板。
其中,所述步骤S6中,所述模板匹配运算模块采用最小绝对差算法进行目标模板与实时图像区域的匹配运算,
其计算公式如下式(2):
式中:
fu,v:待匹配图像,fu,v∈S:S为搜索区域;
g:已知目标模板;
M、N:已知目标模板长度、宽度;
R(u,v):求取的匹配结果;
(u,v)为待匹配图像的像素点,其中,u为横坐标,v为纵坐标;
其中,模板匹配运算具体过程为:求取图像搜索区域中与已知目标模板最相似的子区域位置,依据最小绝对差算法的计算思想,即匹配结果极小值时目标所处的位置,匹配结果越小,则目标区域与已知目标模板越相似;匹配系数越大,则目标区域与已知目标模板差异越大。
此外,本发明还提供一种用于实时图像识别的串行滤波匹配系统,其包括中值滤波模块以及模板匹配模块;
其中,所述中值滤波模块包括:图像数据接口控制模块、图像行缓存模块以及中值滤波运算模块;
所述图像数据接口控制模块包括图像接口模块和控制模块,所述图像接口模块用于判断外部图像采集模块发送来的图像数据帧、行同步信号状态,以及图像数据计算器的状态,完成图像数据的接收;所述控制模块用于控制将一帧图像中的数据,按行先后顺序分别存入图像行缓存模块;在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;
所述图像行缓存模块由多个双口RAM组成,分别用来存储相邻行图像数据;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM在当前读取周期内直接进行读取,剩余的RAM设为缓冲存储RAM,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM与前一周期的缓冲存储RAM中相邻的下一RAM作为下一周期的直接读取的三个RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM;
所述中值滤波运算模块包括行数据读取模块以及滤波运算模块;所述行数据读取模块用于当图像行缓存模块完成相邻三行图像数据的存储后,从图像行缓存模块中并行的读取相邻的三行图像数据,提供给滤波运算模块;所述滤波运算模块用于进行中值滤波运算,得到一行运算后的图像数据存于外围的数据缓存中;
其中,中值滤波的具体实现是采结构化的二维滑动模板,利用该模板依次在图像的每个像素点上滑动,在经过每个像素时,将模板内像素按照像素位的大小进行排序,生成单调上升或下降的二维数据,中值滤波输出根据公式(1)来进行:
g(x,y)=Med{f(x-k,y-l),(k,l)∈W} (1)
式中:
(x,y)为待匹配图像的像素点,其中,x为横坐标,y为纵坐标;
(k,l)为中值滤波模板中的某一定点,其中,k为横坐标,l为纵坐标;
f(x,y):在(x,y)点经过中值滤波前的灰度值;
g(x,y):在(x,y)点处经过中值滤波后的灰度值;
W:为中值滤波模板。
所述模板匹配模块包括时序控制模块和模板匹配子模块;
所述时序控制模块用于依据中值滤波后的图像数据的同步信号状态,在图像数据消隐期内,从模板存储器中读取匹配模板并保存在模板缓存中,当图像数据输入有效期时,由模板匹配子模块对图像数据进行缓存处理,然后对匹配模板、缓存图像数据进行模板匹配运算并将运算结果输出;
所述模板匹配子模块包括模板缓存、图像数据缓存、模板匹配结果缓存以及模板匹配运算模块;其中,所述模板缓存用于存储一帧已知目标模板图像数据,供模板匹配运算模块使用;所述图像数据缓存用来于存储一帧实时图像数据,供模板匹配运算模块使用;所述模板匹配结果缓存用于存储模板匹配运算结果;
所述模板匹配运算模块用于进行目标模板与实时图像区域的匹配运算,采用最小绝对差算法进行模板匹配的运算,其计算公式如下式(2):
式中:
fu,v:待匹配图像,fu,v∈S:S为搜索区域;
g:已知目标模板;
M、N:已知目标模板长度、宽度;
R(u,v):求取的匹配结果;
(u,v)为待匹配图像的像素点,其中,u为横坐标,v为纵坐标;
其中,模板匹配运算具体过程为:求取图像搜索区域中与已知目标模板最相似的子区域位置,依据最小绝对差算法的计算思想,即匹配结果极小值时目标所处的位置,匹配结果越小,则目标区域与已知目标模板越相似;匹配系数越大,则目标区域与已知目标模板差异越大。
其中,所述串行滤波匹配系统利用Verilog语言在FPGA内实现。
(三)有益效果
为了解决现有技术的问题,本发明所提供的用于实时图像识别的串行滤波匹配方法及系统,其通过FPGA串行实现中值滤波和模板匹配,对采集的实时图像数据先进行中值滤波处理,降低图像噪声,再进行模板匹配运算,增强目标信息。该方案充分利用FGPA的内部逻辑单元和流水线方式,将DSP的工作分流给FPGA执行,把DSP从大量的滤波运算中解放出来,专门用于图像识别,克服单纯依靠DSP对图像数据进行模板匹配实时性差的问题,极大提高图像处理系统的处理速度。此外,该方案可以应用Verilog语言进行模块化设计,将中值滤波算法和模板匹配算法集成于FPGA内,使得硬件实现更加简单。
附图说明
图1为本发明技术方案中用于实时图像识别的串行滤波匹配系统的串行架构示意图。
图2为本发明技术方案中中值滤波模块结构示意图。
图3为本发明技术方案中模板匹配模块结构示意图。;
图3a为本发明技术方案中时序控制模块时序分配示意图。
其中,1:图像输入消影期;2:图像输入有效期;
3:从模板存储器中读取目标模板数据的时期;
4:序缓存图像数据时期;
5:模板匹配运算时期;6:模板匹配结果输出时期。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决现有技术的问题,本发明提供一种用于实时图像识别的串行滤波匹配方法,所述匹配方法基于串行滤波匹配系统来实施,所述串行滤波匹配系统包括:中值滤波模块以及模板匹配模块;所述中值滤波模块包括图像数据接口控制模块、图像行缓存模块以及中值滤波运算模块;所述图像数据接口控制模块包括图像接口模块和控制模块;所述图像行缓存模块由多个双口RAM组成;所述中值滤波运算模块包括行数据读取模块以及滤波运算模块;所述模板匹配模块包括时序控制模块和模板匹配子模块;所述模板匹配子模块包括模板缓存、图像数据缓存、模板匹配结果缓存以及模板匹配运算模块;
所述串行滤波匹配方法包括如下步骤:
步骤S1:外部图像采集模块发送来的图像数据帧、行同步信号状态,以及图像数据计算器的状态;
步骤S2:图像数据接口控制模块判断所述图像数据帧、行同步信号状态,以及图像数据计算器的状态,完成图像数据的接收;
步骤S3:控制模块控制将一帧图像中的数据,按行先后顺序分别存入图像行缓存模块;在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM在当前读取周期内直接进行读取,剩余的RAM设为缓冲存储RAM,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM与前一周期的缓冲存储RAM中相邻的下一RAM作为下一周期的直接读取的三个RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM;
该步骤详细来说,即在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM,假设为RAM1、RAM2、RAM3在当前读取周期内直接进行读取,剩余的RAM,假设为RAM4至RAMn设为缓冲存储RAM,其中n为图像行缓存模块中双口RAM的个数,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM(即RAM2、RAM3)与前一周期的缓冲存储RAM中相邻的下一RAM(即RAM4)作为下一周期的直接读取的三个RAM,即RAM2、RAM3、RAM4作为下一周期的直接读取RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM,通过这种图像数据存储及读取方式,极大提高系统运算效率;
步骤S4:所述行数据读取模块当图像行缓存模块完成相邻三行图像数据的存储后,从图像行缓存模块中并行的读取相邻的三行图像数据,提供给滤波运算模块;
步骤S5:所述滤波运算模块用于进行中值滤波运算,得到一行运算后的图像数据存于外围的数据缓存中;
步骤S6:所述时序控制模块依据中值滤波后的图像数据的同步信号状态,在图像数据消隐期内,从模板存储器中读取匹配模板并保存在模板缓存中,在图像数据输入有效期内,由模板匹配子模块对图像数据进行缓存处理,然后对匹配模板、缓存图像数据进行模板匹配运算并将运算结果输出。
其中,所述步骤S5中,中值滤波运算的具体实现是采结构化的二维滑动模板,利用该模板依次在图像的每个像素点上滑动,在经过每个像素时,将模板内像素按照像素位的大小进行排序,生成单调上升或下降的二维数据,中值滤波输出根据公式(1)来进行:
g(x,y)=Med{f(x-k,y-l),(k,l)∈W} (1)
式中:
(x,y)为待匹配图像的像素点,其中,x为横坐标,y为纵坐标;
(k,l)为中值滤波模板中的某一定点,其中,k为横坐标,l为纵坐标;
f(x,y):在(x,y)点经过中值滤波前的灰度值;
g(x,y):在(x,y)点处经过中值滤波后的灰度值;
W:为中值滤波模板。
其中,所述步骤S6中,所述模板匹配运算模块采用最小绝对差算法(MAD)进行目标模板与实时图像区域的匹配运算,
其计算公式如下式(2):
式中:
fu,v:待匹配图像,fu,v∈S:S为搜索区域;
g:已知目标模板;
M、N:已知目标模板长度、宽度;
R(u,v):求取的匹配结果;
(u,v)为待匹配图像的像素点,其中,u为横坐标,v为纵坐标;
(j,k)为中值滤波模板中目标模板的某一定点,其中,j为目标模板横坐标,k为目标模板纵坐标;
其中,模板匹配运算具体过程为:求取图像搜索区域中与已知目标模板最相似的子区域位置,依据最小绝对差算法的计算思想,即匹配结果极小值时目标所处的位置,匹配结果越小,则目标区域与已知目标模板越相似;匹配系数越大,则目标区域与已知目标模板差异越大。
此外,本发明还提供一种用于实时图像识别的串行滤波匹配系统,如图1、2、3、3a所示,其包括中值滤波模块以及模板匹配模块;
其中,所述中值滤波模块包括:图像数据接口控制模块、图像行缓存模块以及中值滤波运算模块;
所述图像数据接口控制模块包括图像接口模块和控制模块,所述图像接口模块用于判断外部图像采集模块发送来的图像数据帧、行同步信号状态,以及图像数据计算器的状态,完成图像数据的接收;所述控制模块用于控制将一帧图像中的数据,按行先后顺序分别存入图像行缓存模块;在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;
所述图像行缓存模块由多个双口RAM组成,分别用来存储相邻行图像数据;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM,假设为RAM1、RAM2、RAM3在当前读取周期内直接进行读取,剩余的RAM,假设为RAM4至RAMn设为缓冲存储RAM,其中n为图像行缓存模块中双口RAM的个数,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM(即RAM2、RAM3)与前一周期的缓冲存储RAM中相邻的下一RAM(即RAM4)作为下一周期的直接读取的三个RAM,即RAM2、RAM3、RAM4作为下一周期的直接读取RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM,通过这种图像数据存储及读取方式,极大提高系统运算效率;
所述中值滤波运算模块包括行数据读取模块以及滤波运算模块;此模块作为系统设计的核心部分,所述行数据读取模块用于当图像行缓存模块完成相邻三行图像数据的存储后,从图像行缓存模块中并行的读取相邻的三行图像数据,提供给滤波运算模块;所述滤波运算模块用于进行中值滤波运算,得到一行运算后的图像数据存于外围的数据缓存中;
其中,中值滤波的具体实现是采结构化的二维滑动模板,利用该模板依次在图像的每个像素点上滑动,在经过每个像素时,将模板内像素按照像素位的大小进行排序,生成单调上升或下降的二维数据,中值滤波输出根据公式(1)来进行:
g(x,y)=Med{f(x-k,y-l),(k,l)∈W} (1)
式中:
(x,y)为待匹配图像的像素点,其中,x为横坐标,y为纵坐标;
(k,l)为中值滤波模板中的某一定点,其中,k为横坐标,l为纵坐标;
f(x,y):在(x,y)点经过中值滤波前的灰度值;
g(x,y):在(x,y)点处经过中值滤波后的灰度值;
W:为中值滤波模板;
所述模板匹配模块包括时序控制模块和模板匹配子模块;
所述时序控制模块用于依据中值滤波后的图像数据的同步信号状态,在图像数据消隐期内,从模板存储器中读取匹配模板并保存在模板缓存中,当图像数据输入有效期时,由模板匹配子模块对图像数据进行缓存处理,然后对匹配模板、缓存图像数据进行模板匹配运算并将运算结果输出;
所述模板匹配子模块包括模板缓存、图像数据缓存、模板匹配结果缓存等几个缓存器以及模板匹配运算模块;其中,所述模板缓存用于存储一帧已知目标模板图像数据,供模板匹配运算模块使用;所述图像数据缓存用来于存储一帧实时图像数据,供模板匹配运算模块使用;所述模板匹配结果缓存用于存储模板匹配运算结果;
所述模板匹配运算模块用于进行目标模板与实时图像区域的匹配运算,采用最小绝对差算法(MAD)进行模板匹配的运算,其计算公式如下式(2):
式中:
fu,v:待匹配图像,fu,v∈S:S为搜索区域;
g:已知目标模板;
M、N:已知目标模板长度、宽度;
R(u,v):求取的匹配结果;
(u,v)为待匹配图像的像素点,其中,u为横坐标,v为纵坐标;
(j,k)为中值滤波模板中目标模板的某一定点,其中,j为目标模板横坐标,k为目标模板纵坐标;
其中,模板匹配运算具体过程为:求取图像搜索区域中与已知目标模板最相似的子区域位置,依据最小绝对差算法的计算思想,即匹配结果极小值时目标所处的位置,匹配结果越小,则目标区域与已知目标模板越相似;匹配系数越大,则目标区域与已知目标模板差异越大。
其中,所述串行滤波匹配系统利用Verilog语言在FPGA内实现。
下面就具体实施例来进行描述。
实施例
如图1、2、3、3a所示,系统上电后,所有模块进行复位,并完成初始化,当图像采集模块将第一帧图像数据发送至图像数据接口控制模块后,图像数据接口控制模块根据图像VS帧和HS行同步信号,控制图像数据按行顺序依次循环存入图像行缓存模块内的四个双口RAM中。当接收完一帧图像数据后,所有寄存器清零,等待下一帧图像数据到来。
中值滤波运算模块在接收到其底层取数接口模块的初始信号后,模块开始工作,同时产生3行的地址信号发送给中值滤波运算模块其中的行数据读取模块,行数据读取模块收到地址后查询所处的状态,从行缓存中读取数据,滤波运算模块调用算法子函数对数据进行中值滤波运算,在一个周期内完成一个3×3区域的滤波算法并产生一个滤波后灰度数据。滤波运算模块将滤波后的实时图像数据存储至模板匹配模块的图像数据缓存内,供模板匹配模块使用。
系统上电后,由DSP将目标匹配模板存入模板存储器中,FPGA内的时序控制模块负责从模板存储器中读取匹配模板并保存在模板缓存中,每个图像消影期间,需从模板存储器中读取并更新目标模板数据,在图像输入有效期,FPGA依据图像输入时序及匹配模板大小等进行输入图像缓存、模板匹配运算及运算结果输出。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (5)
1.一种用于实时图像识别的串行滤波匹配方法,其特征在于,所述匹配方法基于串行滤波匹配系统来实施,所述串行滤波匹配系统包括:中值滤波模块以及模板匹配模块;所述中值滤波模块包括图像数据接口控制模块、图像行缓存模块以及中值滤波运算模块;所述图像数据接口控制模块包括图像接口模块和控制模块;所述图像行缓存模块由多个双口RAM组成;所述中值滤波运算模块包括行数据读取模块以及滤波运算模块;所述模板匹配模块包括时序控制模块和模板匹配子模块;所述模板匹配子模块包括模板缓存、图像数据缓存、模板匹配结果缓存以及模板匹配运算模块;
所述串行滤波匹配方法包括如下步骤:
步骤S1:外部图像采集模块采集图像数据帧、行同步信号状态,以及图像数据计算器的状态,并发送至图像数据接口控制模块;
步骤S2:图像数据接口控制模块判断所述图像数据帧、行同步信号状态,以及图像数据计算器的状态,完成图像数据的接收;
步骤S3:控制模块控制将一帧图像中的数据,按行先后顺序分别存入图像行缓存模块;在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM在当前读取周期内直接进行读取,剩余的RAM设为缓冲存储RAM,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM与前一周期的缓冲存储RAM中相邻的下一RAM作为下一周期的直接读取的三个RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM;
步骤S4:所述行数据读取模块当图像行缓存模块完成相邻三行图像数据的存储后,从图像行缓存模块中并行的读取相邻的三行图像数据,提供给滤波运算模块;
步骤S5:所述滤波运算模块用于进行中值滤波运算,得到一行运算后的图像数据存于外围的数据缓存中;
步骤S6:所述时序控制模块依据中值滤波后的图像数据的同步信号状态,在图像数据消隐期内,从模板存储器中读取匹配模板并保存在模板缓存中,在图像数据输入有效期内,由模板匹配子模块对图像数据进行缓存处理,然后对匹配模板、缓存图像数据进行模板匹配运算并将运算结果输出。
2.如权利要求1所述的用于实时图像识别的串行滤波匹配方法,其特征在于,所述步骤S5中,中值滤波运算的具体实现是采用结构化的二维滑动模板,利用该模板依次在图像的每个像素点上滑动,在经过每个像素时,将模板内像素按照像素位的大小进行排序,生成单调上升或下降的二维数据,中值滤波输出根据公式(1)来进行:
g(x,y)=Med{f(x-k,y-l),(k,l)∈W} (1)
式中:
(x,y)为待匹配图像的像素点,其中,x为横坐标,y为纵坐标;
(k,l)为中值滤波模板中的某一定点,其中,k为横坐标,l为纵坐标;
f(x,y):在(x,y)点经过中值滤波前的灰度值;
g(x,y):在(x,y)点处经过中值滤波后的灰度值;
W:为中值滤波模板。
3.如权利要求1所述的用于实时图像识别的串行滤波匹配方法,其特征在于,所述步骤S6中,所述模板匹配运算模块采用最小绝对差算法进行目标模板与实时图像区域的匹配运算,
其计算公式如下式(2):
式中:
fu,v:待匹配图像,fu,v∈S:S为搜索区域;
g:已知目标模板;
M、N:已知目标模板长度、宽度;
R(u,v):求取的匹配结果;
(u,v)为待匹配图像的像素点,其中,u为横坐标,v为纵坐标;
(j,k)为中值滤波模板中目标模板的某一定点,其中,j为目标模板横坐标,k为目标模板纵坐标;
其中,模板匹配运算具体过程为:求取图像搜索区域中与已知目标模板最相似的子区域位置,依据最小绝对差算法的计算思想,即匹配结果极小值时目标所处的位置,匹配结果越小,则目标区域与已知目标模板越相似;匹配结果越大,则目标区域与已知目标模板差异越大。
4.一种用于实时图像识别的串行滤波匹配系统,其特征在于,其包括中值滤波模块以及模板匹配模块;
其中,所述中值滤波模块包括:图像数据接口控制模块、图像行缓存模块以及中值滤波运算模块;
所述图像数据接口控制模块包括图像接口模块和控制模块,所述图像接口模块用于判断外部图像采集模块发送来的图像数据帧、行同步信号状态,以及图像数据计算器的状态,完成图像数据的接收;所述控制模块用于控制将一帧图像中的数据,按行先后顺序分别存入图像行缓存模块;在中值滤波运算过程采用3×3的二维模板的情况下,控制模块一次将相邻三行图像数据存入图像缓存模块,以供使用;
所述图像行缓存模块由多个双口RAM组成,分别用来存储相邻行图像数据;在采用3×3二维模板的中值滤波运算过程中,其中三个相邻的双口RAM在当前读取周期内直接进行读取,剩余的RAM设为缓冲存储RAM,在下一读取周期,前一周期中直接读取的RAM中的后两个RAM与前一周期的缓冲存储RAM中相邻的下一RAM作为下一周期的直接读取的三个RAM,再剩余的RAM作为下一读取周期的缓冲存储,依次递推更换每一周期中直接读取的三个RAM;
所述中值滤波运算模块包括行数据读取模块以及滤波运算模块;所述行数据读取模块用于当图像行缓存模块完成相邻三行图像数据的存储后,从图像行缓存模块中并行的读取相邻的三行图像数据,提供给滤波运算模块;所述滤波运算模块用于进行中值滤波运算,得到一行运算后的图像数据存于外围的数据缓存中;
其中,中值滤波的具体实现是采用结构化的二维滑动模板,利用该模板依次在图像的每个像素点上滑动,在经过每个像素时,将模板内像素按照像素位的大小进行排序,生成单调上升或下降的二维数据,中值滤波输出根据公式(1)来进行:
g(x,y)=Med{f(x-k,y-l),(k,l)∈W} (1)
式中:
(x,y)为待匹配图像的像素点,其中,x为横坐标,y为纵坐标;
(k,l)为中值滤波模板中的某一定点,其中,k为横坐标,l为纵坐标;
f(x,y):在(x,y)点经过中值滤波前的灰度值;
g(x,y):在(x,y)点处经过中值滤波后的灰度值;
W:为中值滤波模板;
所述模板匹配模块包括时序控制模块和模板匹配子模块;
所述时序控制模块用于依据中值滤波后的图像数据的同步信号状态,在图像数据消隐期内,从模板存储器中读取匹配模板并保存在模板缓存中,当图像数据输入有效期时,由模板匹配子模块对图像数据进行缓存处理,然后对匹配模板、缓存图像数据进行模板匹配运算并将运算结果输出;
所述模板匹配子模块包括模板缓存、图像数据缓存、模板匹配结果缓存以及模板匹配运算模块;其中,所述模板缓存用于存储一帧已知目标模板图像数据,供模板匹配运算模块使用;所述图像数据缓存用来于存储一帧实时图像数据,供模板匹配运算模块使用;所述模板匹配结果缓存用于存储模板匹配运算结果;
所述模板匹配运算模块用于进行目标模板与实时图像区域的匹配运算,采用最小绝对差算法进行模板匹配的运算,其计算公式如下式(2):
式中:
fu,v:待匹配图像,fu,v∈S:S为搜索区域;
g:已知目标模板;
M、N:已知目标模板长度、宽度;
R(u,v):求取的匹配结果;
(u,v)为待匹配图像的像素点,其中,u为横坐标,v为纵坐标;
(j,k)为中值滤波模板中目标模板的某一定点,其中,j为目标模板横坐标,k为目标模板纵坐标;
其中,模板匹配运算具体过程为:求取图像搜索区域中与已知目标模板最相似的子区域位置,依据最小绝对差算法的计算思想,即匹配结果极小值时目标所处的位置,匹配结果越小,则目标区域与已知目标模板越相似;匹配结果越大,则目标区域与已知目标模板差异越大。
5.如权利要求4所述的用于实时图像识别的串行滤波匹配系统,其特征在于,所述串行滤波匹配系统利用Verilog语言在FPGA内实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310294335.4A CN103400153B (zh) | 2013-07-15 | 2013-07-15 | 一种用于实时图像识别的串行滤波匹配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310294335.4A CN103400153B (zh) | 2013-07-15 | 2013-07-15 | 一种用于实时图像识别的串行滤波匹配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103400153A CN103400153A (zh) | 2013-11-20 |
CN103400153B true CN103400153B (zh) | 2017-05-10 |
Family
ID=49563771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310294335.4A Expired - Fee Related CN103400153B (zh) | 2013-07-15 | 2013-07-15 | 一种用于实时图像识别的串行滤波匹配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103400153B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751157B (zh) * | 2013-12-31 | 2018-07-27 | 中核控制系统工程有限公司 | 基于fpga的检测跟踪方法 |
CN107104658B (zh) * | 2017-04-27 | 2020-08-18 | 深圳怡化电脑股份有限公司 | 一种滤波模板可重配置的滤波方法及装置 |
CN110351482A (zh) * | 2019-06-25 | 2019-10-18 | 杭州汇萃智能科技有限公司 | 图像预处理装置、方法和一种相机 |
CN110866885B (zh) * | 2019-10-16 | 2022-05-17 | 华中科技大学 | 一种模板可配置n像素并行灰度形态学滤波电路和方法 |
CN110807483B (zh) * | 2019-10-30 | 2022-08-16 | 易思维(杭州)科技有限公司 | 基于fpga的模板匹配实现装置及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235037C (zh) * | 2003-12-04 | 2006-01-04 | 上海交通大学 | 红外目标检测跟踪与识别系统 |
WO2007116352A2 (en) * | 2006-04-12 | 2007-10-18 | Koninklijke Philips Electronics N.V. | Image processing system having a simd processor and a processing unit communicating via a multi-ported memory |
CN102158653A (zh) * | 2011-05-03 | 2011-08-17 | 东华大学 | 一种实时高动态范围数字图像获取装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366326B2 (en) * | 2003-06-24 | 2008-04-29 | University Of Maryland, Baltimore County | Real-time implementation of field programmable gate arrays (FPGA) design in hyperspectral imaging |
US7154136B2 (en) * | 2004-02-20 | 2006-12-26 | Micron Technology, Inc. | Isolation structures for preventing photons and carriers from reaching active areas and methods of formation |
-
2013
- 2013-07-15 CN CN201310294335.4A patent/CN103400153B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235037C (zh) * | 2003-12-04 | 2006-01-04 | 上海交通大学 | 红外目标检测跟踪与识别系统 |
WO2007116352A2 (en) * | 2006-04-12 | 2007-10-18 | Koninklijke Philips Electronics N.V. | Image processing system having a simd processor and a processing unit communicating via a multi-ported memory |
CN102158653A (zh) * | 2011-05-03 | 2011-08-17 | 东华大学 | 一种实时高动态范围数字图像获取装置及方法 |
Non-Patent Citations (6)
Title |
---|
Detecting Method of Quantitative Colloidal Gold Test Strip Concentration Based on the DSP Image Processing;Zheng Dezhi ET AL;《Bioinformatics and Biomedical Engineering (iCBBE), 2010 4th International Conference on》;20100620;1-4 * |
Efficient Hough Transform on the FPGA using DSP Slices and Block RAMs;Xin Zhou ET AL;《Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2013 IEEE 27th International》;20130524;771-778 * |
图像实时滤波方法及其FPGA实现;杨兔艳;《万方数据学术论文》;20121130;全文 * |
基于FPGA和DSP的红外图像预处理算法研究;何文波;《中国优秀硕士学位论文全文数据库》;20060531;全文 * |
基于FPGA的内河红外图像采集系统设计;马轶男;《中国优秀硕士学位论文全文数据库》;20110331;全文 * |
实时数字电视跟踪系统中值滤波器设计;黄继昌;《系统工程与电子技术》;19910930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103400153A (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103400153B (zh) | 一种用于实时图像识别的串行滤波匹配方法及系统 | |
CN106683171B (zh) | 一种GPU多线程纹理映射SystemC建模结构 | |
CN104657945B (zh) | 复杂背景下多尺度时空联合滤波的红外小目标检测方法 | |
CN104202513B (zh) | 一种基于fpga的星敏感器多模式图像预处理方法 | |
CN103888688B (zh) | 一种用于驱动电荷耦合器件的时序发生装置 | |
CN105160657B (zh) | 基于fpga的红外成像非均匀性校正系统 | |
CN105574894A (zh) | 一种运动物体特征点跟踪结果的筛选方法和系统 | |
CN101246256A (zh) | 基于fpga的可升级高速波前斜率处理机 | |
CN104978749A (zh) | 一种基于fpga的sift图像特征提取系统 | |
CN105427243A (zh) | 基于自适应插值核学习的视频超分辨率重建方法 | |
CN111064865A (zh) | 一种动态视觉传感器背景活动噪声过滤器及处理器 | |
CN105787910A (zh) | 一种人脸区域滤波方法基于异构平台的计算优化方法 | |
CN110321888B (zh) | 一种基于fpga的星载红外小目标检测方法 | |
CN103313068A (zh) | 基于灰边缘约束灰世界的白平衡校正图像处理方法及装置 | |
CN109949204A (zh) | 流水线结构的星点质心提取电路 | |
CN107680377B (zh) | 基于趋势拟合的交通流量数据交叉补全方法 | |
CN109978787B (zh) | 一种基于生物视觉计算模型的图像处理方法 | |
CN203617974U (zh) | 一种基于fpga的可配置系数的滤波器及电子设备 | |
CN109543684A (zh) | 基于全卷积神经网络的即时目标追踪检测方法及系统 | |
CN106775596B (zh) | 一种红外图像线性插值膨胀硬件处理方法 | |
CN111010497A (zh) | 一种基于fpga的clahe透雾增强并行运算方法 | |
CN114255349A (zh) | 一种全天时星敏感器实时星点提取方法 | |
CN106685435A (zh) | 一种低信噪比信号中快速提高有效信号变化量的方法 | |
Kim et al. | A real-time 3D image refinement using two-line buffers | |
CN101674473A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170510 Termination date: 20170715 |
|
CF01 | Termination of patent right due to non-payment of annual fee |