一种基于FPGA的SIFT图像特征提取系统技术方案

技术编号:12193639 阅读:78 留言:0更新日期:2015-10-14 02:12
本发明专利技术提出一种基于FPGA的SIFT图像特征提取系统。包括千兆网模块、高斯滤波级联和高斯差分模块、梯度计算模块、极值点检测模块以及主方向和特征描述子模块;千兆网模块与高斯滤波级联和高斯差分模块相连,高斯滤波级联和高斯差分模块同时与梯度计算模块和极值点检测模块相连,主方向和特征描述子模块同时与梯度计算模块和极值点检测模块相连。本发明专利技术能够实时、精确地提取目标特征信息的图像配准预处理的系统。

【技术实现步骤摘要】

本专利技术属于图像配准
,具体涉及一种基于FPGA的SIFT图像特征提取系 统。
技术介绍
在运动目标检测与跟踪系统中,对提取的图像特征点的质量要求较高。实际处理 的过程中,如果拍摄的视频图像发生一定尺度上的变化,会使特征点匹配出现偏差。 采用SIFT特征提取算法可W提高特征点提取的准确性。例如;文献一(Yan Ke,RahulSukthankar.PCA-SIFT:amoredistinctiverespresentationforlocalimage descriptors.ProcConfComputerVisionandPatternRecognition, 2004:511-517) 提出了基于SIFT算法的改进方法,该方法通过PCA(主成分分析)对特征描述符作降维处 理,W及使用块状滤波炬oxlet)和积分图像取代原方法中计算复杂的高斯滤波,降低了方 法的复杂度,但是该方法是在软件平台上实现的,所W实时性较差;文献二(许飞,刘威.多 核下的算法优化.信息通信,2012, 121 (5) :42-46)提出了在基于TI多核C6000DSP芯 片上实现SITF算法的方法,采用多核DSP可W提高SIFT算法运算精度,且可移植性强,但 是该方法占用内存资源较大,且实时性没有得到彻底改善。
技术实现思路
本专利技术解决的技术问题是,提供一种在运动目标检测中能够实时、精确地提取目 标特征信息的图像配准预处理的系统。 为了解决上述技术问题,本专利技术提供一种基于FPGA的SIFT图像特征提取系统,包 括千兆网模块、高斯滤波级联和高斯差分模块、梯度计算模块、极值点检测模块W及主方向 和特征描述子模块;千兆网模块与高斯滤波级联和高斯差分模块相连,高斯滤波级联和高 斯差分模块同时与梯度计算模块和极值点检测模块相连,主方向和特征描述子模块同时与 梯度计算模块和极值点检测模块相连;千兆网模块接收到电脑端发送的图像数据包后进行 解包操作并将数据发送给高斯滤波级联和高斯差分模块;高斯滤波级联和高斯差分模块接 收到数据后计算高斯滤波值和高斯差分值,然后将高斯滤波值发送到梯度计算模块,将高 斯差分值发送到极值点检测模块;梯度计算模块接收到高斯滤波值后计算梯度值,然后将 求得的梯度值发送给主方向和特征描述子模块;极值点检测模块接收到高斯差分值后在差 分值之间寻找极值,并将极值代表的特征点的位置坐标发送给主方向和特征描述子模块; 主方向和特征描述子模块根据梯度值和特征点的位置坐标使用统计直方图信息的方式先 求取特征点的主方向,然后再利用特征点的主方向求取特征点的特征描述子,最后将特征 描述子传递给后端进行后续的匹配操作。 本专利技术与现有技术相比,其显著优点在于;(1)本专利技术采用定点数表示来表示系 统中间的数据,通过选择合理的尺度大小、高斯金字培层数和组数来保证方法的精度要求; (2)本专利技术将每一层的二维高斯滤波分解成为对行像素和列像素分别进行一维的高斯滤 波,降低了本专利技术的复杂度;(3)在本专利技术中,采用SRAM缓存技术来存储算法中间产生的大 量数据,利用SRAM读写操作较容易的特点,提高了计算速度,降低了芯片占用的资源;(4) 本算法采用纯硬件实现,所W数据传输率快,运算速度快,实时性好,效率高,为后续算法提 供了较大的时间余量。【附图说明】 图1是本专利技术基于FPGA的SIFT图像特征提取系统模块结构示意图。 图2是本专利技术基于FPGA的SIFT图像特征提取系统高斯滤波级联和高斯差分模块 示意图。 图3是本专利技术基于FPGA的SIFT图像特征提取系统二维高斯卷积示意图。 图4是本专利技术基于FPGA的SIFT图像特征提取系统极值点寻找示意图。 图5是本专利技术基于FPGA的SIFT图像特征提取系统求取主方向和特征描述子示意 图。【具体实施方式】 如图1所示,本专利技术基于FPGA的SIFT图像特征提取系统,包括千兆网模块、高斯 滤波级联和高斯差分模块、梯度计算模块、极值点检测模块W及主方向和特征描述子模块; 千兆网模块与高斯滤波级联和高斯差分模块相连,高斯滤波级联和高斯差分模块同时与梯 度计算模块和极值点检测模块相连,主方向和特征描述子模块同时与梯度计算模块和极值 点检测模块相连; 千兆网模块接收到电脑端发送的图像数据包后进行解包操作并将数据发送给高 斯滤波级联和高斯差分模块;高斯滤波级联和高斯差分模块接收到数据后计算高斯滤波值 和高斯差分值,然后将高斯滤波值发送到梯度计算模块,将高斯差分值发送到极值点检测 模块;梯度计算模块接收到高斯滤波值后计算梯度值,然后将求得的梯度值发送给主方向 和特征描述子模块;极值点检测模块接收到高斯差分值后在差分值之间寻找极值,并将极 值代表的特征点的位置坐标发送给主方向和特征描述子模块;主方向和特征描述子模块根 据梯度值和特征点的位置坐标使用统计直方图信息的方式先求取特征点的主方向,然后再 利用特征点的主方向求取特征点的特征描述子,最后将特征描述子传递给后端进行后续的 匹配操作。 本专利技术基于FPGA的SIFT图像特征提取系统,中间产生的部分数据利用H片外部 的SRAM存储芯片进行缓存。兆网模块与高斯滤波级联和高斯差分模块之间连接有第一 SRAM存储芯片,高斯滤波级联和高斯差分模块连接有第二SRAM存储芯片,梯度计算模块与 主方向和特征描述子模块之间连接有第HSRAM存储芯片。千兆网模块输出的数据使用第 一SRAM存储芯片进行缓存;高斯滤波级联和高斯差分模块求取高斯滤波值时产生的一维 高斯卷积值用第二SRAM存储芯片进行缓存;梯度计算模块求得的梯度值用第HSRAM存储 芯片进行缓存。本专利技术高斯滤波级联和高斯差分模块中,高斯滤波采用多级级联的方式搭建高斯 金字培。如图2所示,每一层高斯滤波值求完后输入到下一层高斯卷积中求取下一层的高 斯滤波值,依次级联下去。本专利技术高斯滤波级联和高斯差分模块中,高斯滤波采用的二维高斯卷积方法分解 为两次一维高斯卷积,如图3所示,即先对图像的行像素进行一维高斯卷积,求取一维高斯 卷积值,然后将求得的一维高斯卷积值存储利在第二SRAM存储芯片中进行转置,对转置后 的行像素进行一维高斯卷积,求得二维高斯卷积值也即高斯滤波值。 本专利技术在高斯滤波级联和高斯差分模块中求取高斯差分值时,使用先入先出缓存 器FIFO对前一层高斯滤波值进行延时,保证相邻两层高斯滤波值的时序同步,通过对相邻 两层高斯滤波值作差求得尺度空间。 本专利技术极值点检测模块中,极值点检测利用两个先入先出缓存器FIF01和FIF02 构造n*n大小的比较矩阵,通过比较矩阵求取极值点后再将极值点坐标W及对应尺度输入 至先入先出缓存器FIFOS中缓存。本专利技术梯度计算模块采用C0畑1C(坐标旋转数字计算)迭代算法求取梯度值的。 C0RDIC算法采用多次迭代的方法进行梯度值的计算,将复杂的数学运算简化成简单的移位 和加减运算。 本专利技术主方向和特征描述子模块中,在直方图统计时采用方形邻域作为统计区 域。同时,在模值累加时需要对幅角进行取整进行判断。[00川 实施例 本实施例实现的硬件平台;采用XI化INX公司xc5vfx30t-2ff665为主芯片的 FPGA开发板,外置的SRAM存储芯片,千兆网口。算法用verilo本文档来自技高网...

【技术保护点】
一种基于FPGA的SIFT图像特征提取系统,其特征在于,包括千兆网模块、高斯滤波级联和高斯差分模块、梯度计算模块、极值点检测模块以及主方向和特征描述子模块;千兆网模块与高斯滤波级联和高斯差分模块相连,高斯滤波级联和高斯差分模块同时与梯度计算模块和极值点检测模块相连,主方向和特征描述子模块同时与梯度计算模块和极值点检测模块相连;千兆网模块接收到电脑端发送的图像数据包后进行解包操作并将数据发送给高斯滤波级联和高斯差分模块;高斯滤波级联和高斯差分模块接收到数据后计算高斯滤波值和高斯差分值,然后将高斯滤波值发送到梯度计算模块,将高斯差分值发送到极值点检测模块;梯度计算模块接收到高斯滤波值后计算梯度值,然后将求得的梯度值发送给主方向和特征描述子模块;极值点检测模块接收到高斯差分值后在差分值之间寻找极值,并将极值代表的特征点的位置坐标发送给主方向和特征描述子模块;主方向和特征描述子模块根据梯度值和特征点的位置坐标使用统计直方图信息的方式先求取特征点的主方向,然后再利用特征点的主方向求取特征点的特征描述子,最后将特征描述子传递给后端进行后续的匹配操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:顾国华陆恺立廖逸琪汪鹏程刘恒建
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1