技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种高效率SOBEL算子边缘检测电路的制作方法  >  正文

一种高效率SOBEL算子边缘检测电路的制作方法

  • 国知局
  • 2024-11-19 09:48:14

本发明涉及协同制导领域,特别是涉及一种追踪机动目标的强化学习协同制导律。

背景技术:

1、数字图像处理在日常生活中的需求越来越大,在交通、地理、生物医疗、航天等领域得到广泛应用。其在图像处理的众多技术中,边缘检测技术是图像预处理过程中非常重要的一个步骤,可以对图像边缘处较为丰富的图像信息进行检测提取,其在航天领域有着重要的作用,对于卫星图像中建筑物、地界、边界线等目标和特征的边缘进行提取,为后续分析和处理提供帮助,在卫星图像处理中具有重要意义。

2、随着研究学者对图像边缘检测技术的不断深入,我国在相关领域也发展的非常迅速,相继出现了多种边缘检测技术。从研究的趋势来看,开展边缘检测算法研究并实现硬件平台部署是近几年研究的趋势。根据现有的研究成果,图像边缘检测方式主要可以分为两类:一种是传统的边缘检测方法,另一种是基于神经网络的边缘检测方法。在传统的边缘检测方法中,基于一阶微分运算的梯度边缘检测算子主要有roberts算子,prewitt算子和sobel算子,其原理是利用检测算子扫描图像,获取每一像素的一阶微分函数,通过计算其极大值和极小值判定边缘点所在的位置;基于二阶微分算子的边缘检测算子主要包括laplace算子,canny算子等,原理是通过搜索图像中的二阶微分零交叉点进行边缘检测。在基于神经网络的边缘检测方法中,有基于u2-net的边缘检测算法等,其原理是通过训练学习识别图像中的边缘特征,并使用卷积运算等特性对新的图像进行逐像素的处理和判断。在利用roberts算子进行检测的时候,得到的检测结果并不是很准确,因此会与预期相差很大;其次,对于prewitt算子而言,当图像灰度变化较大的时候表现的处理效果很好,但是检测到的准确率并不是很高;canny算子以及基于神经网络的算法,算法较为复杂,对于硬件实现不是很友好,实现难度大。sobel算子相比于其他算子在抗噪性、检测效果等方面都占有一定的优势,而且算法在硬件平台实现具有较高的可行性,有利于工业实际应用。因此,最近几年研究人员逐渐看重对于sobel算子的研究与硬件电路设计。

3、在现有的基于sobel算子边缘检测电路设计研究中,大多采用传统的乘加运算电路实现算子运算,然而由于sobel算子存在水平方向和垂直方向的两种卷积因子,且卷积因子在图像上进行滑动检测的过程中有大量的数据重用等特征,现有电路设计存在大量数据的重复调度带来的额外功耗开销问题以及水平与垂直卷积因子分时运算带来的效率低下问题。

技术实现思路

1、本发明的技术解决问题是:克服现有技术的不足,提出一种高效率sobel算子边缘检测电路,可以实现水平、垂直两种卷积因子的平行运算处理,最大程度的实现数据复用,避免重用数据的多次存取调度,在保证不损失运算精度下,极大提高运算效率并降低数据重用带来的功耗开销。

2、本发明的技术解决方案是:

3、一种高效率sobel算子边缘检测电路,包括:数据调度模块、控制模块、数据处理模块以及后处理模块;

4、数据调度模块将输入的串行图像数据以三行为一组进行数据缓存,并将sobel算子运算所需的三行图像像素数据进行卷积窗滑动并行脉动输出;数据调度模块输出的数据即为水平方向运算数据,水平方向运算数据送入数据处理模块的同时,还送入多路选择器中由控制模块进行控制;

5、控制模块对多路选择器进行控制,通过控制逻辑将水平方向运算数据进行转置和重新排列得到垂直方向运算数据,并送入数据处理模块,实现了水平方向和垂直方向sobel算子运算所需数据并行输入数据处理模块;

6、数据处理模块包括水平方向算子处理单元和垂直方向算子处理单元两个处理单元,并行处理水平方向算子运算和垂直方向算子运算;其中,水平方向算子处理单元处理数据调度模块直接输出的水平方向运算数据,垂直方向算子处理单元处理控制模块控制多路选择器输出的垂直方向运算数据;

7、后处理模块用于将水平方向算子处理单元与垂直方向算子处理单元运算结果进行融合,并将融合结果与边缘检测的阈值进行比较,从而完成边缘检测。

8、进一步的,数据调度模块进行卷积窗滑动并行脉动输出,具体为:

9、在t时钟周期第一行输出a00,t+1时钟周期第一行输出a01,第二行输出a10,t+2时钟周期第一行输出a02,第二行输出a11,第三行输出a20,以此类推,每一行数据的输出与上一行相比慢一个时钟周期。

10、进一步的,sobel算子包括水平方向算子和垂直方向算子,对于水平方向算子运算,图像像素数据按照水平方向脉动流入数据处理模块,对于垂直算子运算,图像像素数据按照垂直方向脉动流入数据处理模块。

11、进一步的,控制模块采用状态机的电路设计方式,状态机包括idle、s1、s2、s3、s4、s5共6种状态,每种状态对应不同的输出控制信号,通过状态机的状态跳转实现对输入数据多路选择器的控制,从而实现输入数据的转置和重排。

12、进一步的,控制模块的三个输出控制信号分别为out1、out2、out3,对应三个多路选择器mux1、mux2、mux3,通过多路选择器连接数据处理模块。

13、进一步的,状态机包括idle、s1、s2、s3、s4、s5共6种状态,具体为:

14、idle为初始状态,在idle状态下,out1、out2、out3三个控制信号均为0,控制mux1、mux2、mux3均选通行数据1;

15、在s1状态下,仍保持不变;

16、在s2状态下,out1为1,控制mux1选通行数据2,out2和out3为0,控制mux1选通行数据1;

17、在s3状态下,out1为2,控制mux1选通行数据3,out2为1,控制mux2选通行数据2,out3为0,控制mux3选通行数据1;

18、在s4状态下,out1为0,控制mux1选通行数据1,out2为2,控制mux2选通行数据3,out3为1,控制mux3选通行数据2;

19、在s5状态下,out1为1,控制mux1选通行数据2,out2为0,控制mux2选通行数据1,out3为2,控制mux3选通行数据3。

20、进一步的,数据处理模块中的水平方向算子处理单元中处理单元1与垂直方向算子处理单元中处理单元2、处理单元3、处理单元4均采用多级流水线架构设计。且垂直方向算子处理单元采用轮询控制设计。

21、进一步的,

22、数据处理模块的水平与垂直方向算子处理单元中处理单元1、处理单元2、处理单元3、处理单元4的运算逻辑具体包括:将数据输入至寄存器中进行寄存;乘2运算利用移位器代替,将对应数据左移一位;负数运算通过-1符号进行表示,通过取反加1的逻辑电路实现;加法运算则通过调用加法器进行实现。

23、进一步的,

24、数据处理模块的水平与垂直方向算子处理单元中处理单元1、处理单元2、处理单元3、处理单元4采用多级流水线设计,数据根据时钟周期在水平方向流动,在垂直方向流水线运算;数据aoo从t时刻开始脉动流入处理单元,经过两级寄存器缓存,在t+2时刻经过-1运算后将运算结果q1存入寄存器10;

25、数据a10输入后经过二级寄存器以及对应的运算后,与q1进行累加操作,并将运算结果q2在t+3时刻存入寄存器11;

26、数据a20输入后同样经过二级寄存器以及对应的运算后,与q2进行累加操作,并将运算结果q3在t+4时刻存入寄存器12,从而经过5级流水线,完成数据a00、a10、a20与算子中-1、-2、-1的乘累加运算;

27、与此同时,数据a02在t+2时刻流入处理单元并直接作为运算结果k1存入寄存器7,数据a12在t+3时刻流入处理单元经过移位运算并与k1进行累加,将运算结果k2存入寄存器8;数据a22在t+4时刻流入处理单元并与k2进行累加,将其运算结果k3存入寄存器9,从而经过5级流水线,完成数据a02、a12、a22与算子中1、2、1的乘累加运算;

28、之后,将运算结果q3与k3进行相加,从而完成输入数据与sobel算子进行运算的全部处理流程。

29、进一步的,水平方向算子处理单元直接将运算结果输出,垂直方向算子处理单元需将运算单元2、运算单元3、运算单元4的运算结果送入多路数据选择器mux4,经过轮询控制选通当前时刻垂直方向最终运算结果并输出,具体为:运算单元2、3、4同步输出第1个运算结果为t时刻,轮询控制选通mux4的运算单元2的运算结果;t+1时刻,轮询控制选通mux4的运算单元3的运算结果;t+2时刻,轮询控制选通mux4的运算单元4的运算结果,以此类推。

30、进一步的,后处理模块将数据处理模块的运算结果送入比较器与0值进行比较,如果大于0,则保持原值,小于0则取补码,从而实现对输入数据取绝对值的逻辑运算,之后进行相加,完成运算结果的融合;最后将融合结果与预设阈值相比较,小于预设阈值则输出像素数值0,大于预设阈值则输出像素数值255,从而完成一次边缘检测。

31、本发明与现有技术相比带来的有益效果为:

32、(1)本发明提出的电路设计中数据处理模块构建双边多级流水线结构,支持sobel算子中水平卷积因子与垂直卷积因子高效并行运算,解决现有传统sobel算子检测电路中水平卷积因子与垂直卷积因子分时运算,效率低下的问题,具有极高的数据处理效率。

33、(2)本发明提出的电路设计中控制模块通过状态机设计实现数据重排的调度策略,支持卷积矩阵转置调度,解决传统sobel算子检测电路中数据分时重复调度的问题,具有极高的数据复用率和数据调度效率。

34、(3)本发明提出的电路设计中调度模块实现卷积窗滑动并行脉动输入,解决了传统设计中重用数据从存储中反复读取,提高了数据复用率,减小了数据读取开销。

35、(4)本发明在整体电路设计上提出了一种高效率sobel算子边缘检测电路设计方案,支持数据脉动输入和多级流水线处理,解决了传统设计中数据复用率、运算效率较低的问题,具有极高的数据复用率和运算效率。

本文地址:https://www.jishuxx.com/zhuanli/20241118/330297.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。