一种基于FPGA的直线特征提取系统技术方案

技术编号:14836247 阅读:84 留言:0更新日期:2017-03-17 03:53
本发明专利技术公开了一种基于FPGA的直线特征提取系统,包括高斯滤波单元、梯度模值和水平角计算单元、梯度伪排序单元、区域增长单元和矩形近似单元。本发明专利技术的有益效果是:本发明专利技术的硬件系统不仅保证了好的提取效果,而且具有稳定性好、准确性高、时间消耗少和内存使用少的优势,本发明专利技术采用并行流水线结构,直线特征提取速度能够满足嵌入式视觉测量系统要求。

【技术实现步骤摘要】

本专利技术涉及测量
,特别涉及一种基于FPGA的直线特征提取系统
技术介绍
由于大多数目标物体中都包含有平面特征,因此直线可以作为最重要的特征,用于描述目标物体形状,此外视觉测量中,直线拟合也是视觉系统采用的重要特征,因为直线是图像中的重要的几何特征之一。直线检测已经被广泛应用到图像识别及计算视觉领域,比如立体视觉、图像分析、智能机器人、智能交通和模式识别。现有的直线检测算法,如霍夫变换检测速度慢且误检率较高。还有其它的直线检测,如一些基于梯度方向的方法的最后一步都需要一个选择标准,但是与这些方法相关的误检率控制措施效果不是很好。2010年,RafaelGromponeVonGioi等人在文章“LSD:一种带误差控制的快速直线检测器”(LSD:AFastLineSegmentDetectorwithaFalseDetectionControl),IEEE模式分析及机器智能,第32卷,第四期,722-732页,2010年(IEEETransactionsonPatternAnalysisandMachineIntelligence,Vol,32,No.4,pp.722-732,2010)提出了一种直线检测器,简称为LSD。利用LSD,可以快速的检测图像中的直线段,然后根据目标的几何特征设计快速算法,以快速确定疑似目标区域。LSD能在线性时间(linear-time)内得到亚像素级准确度的直线段检测算法。LSD算法被开源软件OPENCV以软件方式实现,但难以直接应用到嵌入式图像及视觉系统中。本专利技术中的直线检测是基于LSD算法的硬件实现,目前在硬件上还没有被实现过。
技术实现思路
本专利技术所要解决的技术问题是:提供一种检测准确、误检率低且检测速度快的基于FPGA的直线特征提取的硬件系统,以满足嵌入式图像识别和视觉测量系统应用中能够对图像中直线进行快速准确检测的需求。本专利技术的技术解决方案是:一种基于FPGA的直线特征提取的硬件系统,直线特征硬件提取系统由高斯滤波单元、梯度模值和水平角计算单元、梯度伪排序单元、区域增长单元和矩形近似单元组成;高斯滤波单元用于去除待测图像噪声;梯度模值和水平角计算单元用于计算图像像素的梯度模值和水平角并存储;梯度伪排序单元的主要功能为:根据梯度模值大小将像素划分到若干个直方块模板并存储;区域增长单元用于获取同一直方块模板中具有相同水平角的像素并存储,以及计算区域角;矩形近似单元用于计算直线起点坐标、终点坐标和直线宽度。所述梯度模值和水平角计算单元,采用2×2滑动窗口模块对去噪后的待测图像进行扫描。所述水平角计算模块输出水平角的角度值进行量化得到方向值,并将角度值和方向值均存储在所述水平角存储器中。所述梯度伪排序单元包括84个直方块模板和选择器;所述直方块模板是指将分布在4-255范围内的梯度模值,按照由小到大、每连续的3个数值范围作为一个集合分割而成84个存储容器;所述选择器,用于根据像素的梯度模值大小将像素地址存储到对应的直方块模板,每个所述直方块模板最终存储满足条件的第一个像素对应的地址和最后一个像素对应的地址。所述区域增长单元采用滑动窗口模块对整个图像进行扫描,所述区域增长单元包括区域像素获取模块、区域像素正弦值和余弦值计算模块和区域角计算模块;所述区域像素获取模块,用于将每个所述直方块模板中存储的第一个像素作为第一个中心点,将第二像素为最后一个中心点,将中心点与其八个邻域点的方向值比较,找出方向值相同的邻域点像素进行缓存,并将存储的邻域点作为中心点找出方向值相同的邻域点进行缓存,最终存储像素数目大于15个的像素。所述矩形近似单元包括中心点坐标计算单元和直线参数计算单元;所述中心点坐标计算单元包括像素坐标获取模块、移动位数计算模块和中心点坐标计算模块;所述像素坐标获取模块,包括用于获取区域存储器中像素的坐标值的区域存储器地址产生器;所述移动位数计算模块,根据像素坐标值获取梯度模值,再根据查找表得到与梯度模值对应的权值和代表左移位数的整数,将权值按照左移位数经过左移运算后存储在左移位数存储器中,同时将权值经过累加器累加再进行右移运算后,与左移位数存储器中的数据输入到减法器,减法器输出结果即为移动位数;所述中心点坐标计算模块,根据所述的移动位数将区域存储器中的像素坐标值右移运算后累加得到区域中心点坐标。所述直线参数计算单元包括:像素坐标获取模块、矩形长度和宽度求取模块、直线起点终点计算模块和直线宽度求取模块;所述像素坐标获取模块,包括用于获取区域存储器中像素的坐标值的区域存储器地址产生器;所述矩形长度和宽度求取模块:包括矩形长度求取子模块和矩形宽度求取子模块,分别用于计算矩形的长度和宽度;所述直线起点终点计算模块:以长度最小值、长度最大值、区域角余弦值以及中心坐标值cx、cy作为输入,计算得出直线起点坐标和终点坐标;将起点坐标(x1,y1)、终点坐标(x2,y2)和宽度值传给上位机即可。所述高斯滤波单元:采用(n+1)×(n+1)的高斯卷积模板对待测图像进行高斯滤波降低噪音得到滤波后图像的装置;其中,n为大于等于1的正整数;所述高斯滤波单元具体包括:用于行缓存的FIFO存储器组、列对称加法器组、列卷积系数寄存器组、列卷积模块、串行寄存器组、行对称加法器组、行卷积系数寄存器组和行卷积模块;其中,FIFO存储器组由n个FIFIO存储器组成,列对称加法器组和行对称加法器组均由(n+1)/2个加法器组成,列卷积模块和行卷积模块均由(n+1)/2个乘法器和加法器组成;串行寄存器组由(n+1)个寄存器组成;列对称加法器组的每个加法器均有两个输入端和一个输出端,第一个所述加法器的一个输入端直接输入当前行数据,另一个输入端与第n个FIFO存储器的输出端连接,第二个加法器的一个输入端与FIFO存储器组中的第一个FIFO存储器的输出端连接,另一个输入端与第(n-1)个FIFO存储器的输出端连接,以此类推;列卷积模块中的乘法器均有两个输入端和一个输出端,第一个所述乘法器的一个输入端与所述列对称加法器中的第一个加法器的输出端连接,另一个输入端与列卷积系数寄存器组的第一个存储器连接,以此类推;然后(n+1)/2个所述乘法器的输出端再与加法器的输入端连接;列卷积模块最终得到一列卷积;列卷积模块的输出端与串行寄存器组的输入端连接,将经过所述列卷积模块处理后得到的输出结果由串行寄存器组进行串并转换,所述行对称加法器组的每个加法器均有两个输入端和一个输出端,第一个所述加法器的一个输入端与串行寄存器组中的第一个寄存器的输出端连接,另一个输入端与第(n+1)个寄存器的输出端连接,第二个加法器的一个输入端与串行寄存器组中的第二个寄存器的输出端连接,另一个输入端与第n个寄存器的输出端连接,以此类推;行卷积模块中的乘法器均有两个输入端和一个输出端,第一个所述乘法器的一个输入端与所述行对称加法器组中的第一个加法器的输出端连接,另一个输入端与行卷积系数寄存器组的第一个寄存器连接,以此类推;然后所述乘法器的输出端再与加法器的输入端连接,加法器输出最后的卷积结果。本专利技术的有益效果是:本专利技术的硬件系统不仅保证了好的提取效果,而且具有稳定性好、准确性高、时间消耗少和内存使用少的优势,本专利技术采用并行流水线结构,直线本文档来自技高网
...
一种基于FPGA的直线特征提取系统

【技术保护点】
一种基于FPGA的直线特征提取系统,其特征在于,包括高斯滤波单元、梯度模值和水平角计算单元、梯度伪排序单元、区域增长单元和矩形近似单元;所述高斯滤波单元:用于去除待测图像噪声的装置;所述梯度模值和水平角计算单元:用于计算图像像素的梯度模值和水平角并存储的装置;梯度伪排序单元:根据梯度模值大小将像素划分到若干个直方块模板并存储的装置;区域增长单元:用于获取同一直方块模板中具有相同水平角的像素并存储,以及计算区域角的装置;矩形近似单元:用于计算直线起点坐标、终点坐标和直线宽度的装置。

【技术特征摘要】
1.一种基于FPGA的直线特征提取系统,其特征在于,包括高斯滤波单元、梯度模值和水平角计算单元、梯度伪排序单元、区域增长单元和矩形近似单元;所述高斯滤波单元:用于去除待测图像噪声的装置;所述梯度模值和水平角计算单元:用于计算图像像素的梯度模值和水平角并存储的装置;梯度伪排序单元:根据梯度模值大小将像素划分到若干个直方块模板并存储的装置;区域增长单元:用于获取同一直方块模板中具有相同水平角的像素并存储,以及计算区域角的装置;矩形近似单元:用于计算直线起点坐标、终点坐标和直线宽度的装置。2.根据权利要求1所述的基于FPGA的直线特征提取系统,其特征在于,所述梯度模值和水平角计算单元,采用2×2滑动窗口模块对去噪后的待测图像进行扫描。3.根据权利要求2所述的基于FPGA的直线特征提取系统,其特征在于,对所述水平角计算模块输出水平角的角度值进行量化得到方向值,并将角度值和方向值均存储在所述水平角存储器中。4.根据权利要求1-3任一项所述的基于FPGA的直线特征提取系统,其特征在于,所述梯度伪排序单元包括:84个直方块模板和选择器;所述直方块模板是指将分布在4-255范围内的梯度模值,按照由小到大、每连续的3个数值范围作为一个集合分割而成84个存储容器;所述选择器,用于根据像素的梯度模值大小将像素地址存储到对应的直方块模板,每个所述直方块模板最终存储满足条件的第一个像素对应的地址和最后一个像素对应的地址。5.根据权利要求1-4任一项所述的基于FPGA的直线特征提取系统,其特征在于,所述区域增长单元采用滑动窗口模块对整个图像进行扫描,所述区域增长单元包括区域像素获取模块、区域像素正弦值和余弦值计算模块和区域角计算模块;所述区域像素获取模块,用于将每个所述直方...

【专利技术属性】
技术研发人员:周富强王新明高鹤王伟
申请(专利权)人:山东正晨科技股份有限公司
类型:发明
国别省市:山东;37

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

1