基于制造技术

技术编号:39518272 阅读:9 留言:0更新日期:2023-11-25 18:56
本发明专利技术提供一种基于

【技术实现步骤摘要】
基于FPGA和LSD算法的直线检测系统及其控制方法


[0001]本专利技术涉及直线检测和
FPGA

,更具体地,涉及一种基于
FPGA

LSD
算法的直线检测系统及其控制方法


技术介绍

[0002]LSD

Line Segment Detector
)算法是一种常用的

像素级的直线检测算法,其优势是可以在线性时间复杂度之内将图像中的直线段提取出来,并且可以提取同一图像中的多条直线,对直线之间的位置关系和长度等并无严苛要求,因此其适用范围较广,是一种较为可靠的图像直线检测算法

[0003]FPGA

Field

Programmable Gate Array
),即现场可编程逻辑门阵列,它是在
PAL、GAL、CPLD
等可编程器件的基础上进一步发展的产物
。FPGA
作为现代电子信息产业常用的信息处理手段,具有以下显著优点:1)设计灵活,
FPGA 属于硬件可重构的芯片结构,内部具有数量丰富的可编程输入输出单元引脚及触发器;2)使用便捷,
FPGA 是专用电路中开发周期最短

应用风险最低,开发成本最低的器件之一;3)并行计算,
FPGA 芯片内部可按照数据包步骤数量搭建相对应的流水线,从而实现数据并行

流水线并行

[0004]如图1所示为传统
LSD
直线检测算法的流程,其中主要涉及的计算包括高斯降采样

计算向量的角度与模长

梯度排序以及自增长的判断,该算法可以用流水线实现,进一步提高了该算法的速度,实时性较高;在准确性方面,
LSD
算法可以通过对阈值的调整控制错检的数量,使其满足准确性的要求

另外,由于该算法的每一步都可以用加法和位移运算来实现,因此其十分适合
FPGA
实现

[0005]现有技术公开了一种基于
FPGA
的直线特征提取系统,包括高斯滤波单元

梯度模值和水平角计算单元

梯度伪排序单元

区域增长单元和矩形近似单元;该现有技术的硬件系统仅基于
FPGA
实现传统的
LSD
算法,仍然使用传统的梯度排序方法和8邻域区域增长方法,并未针对
FPGA
硬件架构对
LSD
算法进行适配性改进,算法性能较差,硬件实现速度较慢,资源消耗过大


技术实现思路

[0006]本专利技术为克服上述现有技术由于未针对
FPGA
硬件架构对
LSD
算法进行适配性改进导致硬件实现速度较慢和资源消耗过大的缺陷,提供一种基于
FPGA

LSD
算法的直线检测系统及其控制方法,对
LSD
算法进行改进,直线检测的处理速度和准确性都达到了较高水平

[0007]为解决上述技术问题,本专利技术的技术方案如下:一种基于
FPGA

LSD
算法的直线检测系统,包括依次连接的图像预处理模块

边缘识别模块

梯度计算模块

区域增长模块和矩形近似模块;所述图像预处理模块用于对待检测的图像进行预处理,图像预处理模块包括依次连接的灰度转换子模块和高斯滤波子模块;
所述边缘识别模块用于利用
Sobel
算子进行边缘识别;所述梯度计算模块用于计算图像像素点的梯度幅值和梯度方向;所述区域增长模块用于根据预设规则筛选种子点并进行4邻域的区域增长;所述矩形近似模块用于计算每条直线的起点坐标

终点坐标和直线宽度,并输出检测到的所有直线

[0008]优选地,所述灰度转换子模块包括:并列设置的
R
通道乘法单元
、G
通道乘法单元和
B
通道乘法单元,以及第一加和单元和第一右移单元;所述
R
通道乘法单元
、G
通道乘法单元和
B
通道乘法单元的输出均与第一加和单元的输入连接,第一加和单元的输出与第一右移单元连接;所述
R
通道乘法单元
、G
通道乘法单元和
B
通道乘法单元的乘法因子分别为
76、150

29
;所述第一右移单元的右移位数为8位

[0009]优选地,所述高斯滤波子模块采用3×3的第一滑动窗口对灰度转换子模块处理后的待检测的图像进行扫描处理;所述第一滑动窗口包括:并列设置的第一扫描单元

第二扫描单元

第三扫描单元,以及第二加和单元和第二右移单元;所述第一扫描单元

第二扫描单元

第三扫描单元的输出分别与第二加和单元的输入连接,第二加和单元的输出与第二右移单元连接;所述第一扫描单元与第二扫描单元结构相同,均包括:并列设置的二倍乘法器
1、
四倍乘法器和二倍乘法器2,以及第三加和单元,二倍乘法器
1、
四倍乘法器和二倍乘法器2的输出均与第三加和单元的输入连接,第三加和单元的输出作为第一扫描单元或第二扫描单元的输出;所述第三扫描单元包括:并列设置的一倍乘法器
1、
二倍乘法器3和一倍乘法器2,以及第四加和单元,一倍乘法器
1、
二倍乘法器3和一倍乘法器2的输出均与第四加和单元的输入连接,第四加和单元的输出作为第三扫描单元的输出

[0010]优选地,所述第一滑动窗口的扫描处理的范围为灰度转换子模块处理后的待检测的图像中除最外侧的边缘像素点外的所有区域

[0011]优选地,所述边缘识别模块基于
Sobel
算子,采用3×3的第二滑动窗口进行边缘识别;所述第二滑动窗口包括:并列设置的第四扫描单元

第五扫描单元

第六扫描单元和第七扫描单元,以及第一减法器

第二减法器

第一
MUX
单元

第二
MUX
单元

第五加和单元和第三
MUX
单元;所述第四扫描单元

第五扫描单元

第六扫描单元和第七扫描单元的结构均与第三扫描单元相同;所述第四扫描单元和第五扫描单元的输出分别与第一减法器连接,第六扫描单元和第七扫描单元的输出分别与第二减法器连接;第一减法器的输出依次连接第一
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
FPGA

LSD
算法的直线检测系统,其特征在于,包括依次连接的图像预处理模块

边缘识别模块

梯度计算模块

区域增长模块和矩形近似模块;所述图像预处理模块用于对待检测的图像进行预处理,图像预处理模块包括依次连接的灰度转换子模块和高斯滤波子模块;所述边缘识别模块用于利用
Sobel
算子进行边缘识别;所述梯度计算模块用于计算图像像素点的梯度幅值和梯度方向;所述区域增长模块用于根据预设规则筛选种子点并进行4邻域的区域增长;所述矩形近似模块用于计算每条直线的起点坐标

终点坐标和直线宽度,并输出检测到的所有直线
。2.
根据权利要求1所述的一种基于
FPGA

LSD
算法的直线检测系统,其特征在于,所述灰度转换子模块包括:并列设置的
R
通道乘法单元
、G
通道乘法单元和
B
通道乘法单元,以及第一加和单元和第一右移单元;所述
R
通道乘法单元
、G
通道乘法单元和
B
通道乘法单元的输出均与第一加和单元的输入连接,第一加和单元的输出与第一右移单元连接;所述
R
通道乘法单元
、G
通道乘法单元和
B
通道乘法单元的乘法因子分别为
76、150

29
;所述第一右移单元的右移位数为8位
。3.
根据权利要求2所述的一种基于
FPGA

LSD
算法的直线检测系统,其特征在于,所述高斯滤波子模块采用3×3的第一滑动窗口对灰度转换子模块处理后的待检测的图像进行扫描处理;所述第一滑动窗口包括:并列设置的第一扫描单元

第二扫描单元

第三扫描单元,以及第二加和单元和第二右移单元;所述第一扫描单元

第二扫描单元

第三扫描单元的输出分别与第二加和单元的输入连接,第二加和单元的输出与第二右移单元连接;所述第一扫描单元与第二扫描单元结构相同,均包括:并列设置的二倍乘法器
1、
四倍乘法器和二倍乘法器2,以及第三加和单元,二倍乘法器
1、
四倍乘法器和二倍乘法器2的输出均与第三加和单元的输入连接,第三加和单元的输出作为第一扫描单元或第二扫描单元的输出;所述第三扫描单元包括:并列设置的一倍乘法器
1、
二倍乘法器3和一倍乘法器2,以及第四加和单元,一倍乘法器
1、
二倍乘法器3和一倍乘法器2的输出均与第四加和单元的输入连接,第四加和单元的输出作为第三扫描单元的输出
。4.
根据权利要求3所述的一种基于
FPGA

LSD
算法的直线检测系统,其特征在于,所述第一滑动窗口的扫描处理的范围为灰度转换子模块处理后的待检测的图像中除最外侧的边缘像素点外的所有区域
。5.
根据权利要求4所述的一种基于
FPGA

LSD
算法的直线检测系统,其特征在于,所述边缘识别模块基于
Sobel
算子,采用3×3的第二滑动窗口进行边缘识别;所述第二滑动窗口包括:并列设置的第四扫描单元

第五扫描单元

第六扫描单元和第七扫描单元,以及第一减法器

第二减法器

第一

【专利技术属性】
技术研发人员:张炜何露
申请(专利权)人:广州市大湾区虚拟现实研究院
类型:发明
国别省市:

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

1