圆霍夫变换的高速vlsi结构的制作方法

文档序号:6537073阅读:172来源:国知局
圆霍夫变换的高速vlsi结构的制作方法
【专利摘要】圆霍夫变换的高速VLSI结构,涉及一种圆检测装置。为了解决目前采用圆霍夫变换的圆检测装置存在检测实时性低的问题。它是基于FPGA或ASIC实现,边缘信息提取模块,用于在接收的数字图像信息中提取边缘位图信息;乒乓结构片外RAM,用于存储提取的边缘位图信息;圆霍夫变换模块,用于从乒乓结构片外RAM中从读取边缘位图信息,并根据所述边缘位图信息、利用圆霍夫变换算法得出备选圆的位置及半径信息;边缘RAM及备选圆FIFO乒乓结构,用于存储备选圆的位置、半径和边缘位图信息;圆验证模块,对备选圆的位置及半径信息进行验证,并输出最终检测结果。它适用于在进行图像处理中的圆检测。
【专利说明】圆霍夫变换的高速VLSI结构
【技术领域】
[0001]本发明涉及一种圆检测装置,特别涉及一种圆霍夫变换的高速VLSI结构。
【背景技术】
[0002]圆检测是计算机视觉领域的一个常见问题,其目的是从一幅数字图像中搜索出圆形的物体或轮廓,在工业生产、视频监控、智能交通等领域有广泛应用。圆霍夫变换是一种准确率较高、鲁棒性较好的圆检测算法,但其运算复杂度较高,对内存带宽需求量大,较难应用于高实时性要求(延迟不高于数十毫秒甚至数毫秒)的场合。所以目前采用圆霍夫变换的圆检测装置存在检测实时性低的问题。

【发明内容】

[0003]本发明的目的是为了解决目前采用圆霍夫变换的圆检测装置存在检测实时性低的问题,本发明提供一种圆霍夫变换的高速VLSI结构。
[0004]本发明的圆霍夫变换的高速VLSI结构,它是基于FPGA或ASIC实现,它包括边缘信息提取模块、乒乓结构片外RAM、圆霍夫变换模块、边缘RAM及备选圆FIFO乒乓结构和圆验证模块;
[0005]边缘信息提取模块,用于在接收到的数字图像信息中提取输入图像的边缘位图信息;
[0006]乒乓结构片外RAM,用于存储提取的边缘位图信息;
[0007]圆霍夫变换模块,用于从乒乓结构片外RAM中从读取边缘位图信息,并根据所述边缘位图信息、利用圆霍夫变换算法得出备选圆的位置及半径信息;
[0008]边缘RAM及备选圆FIFO乒乓结构,用于存储备选圆的位置、半径和边缘位图信息;
[0009]圆验证模块,对得出的备选圆的位置及半径信息进行验证,并输出最终检测结果。
[0010]本发明的有益效果在于,本发明提供的圆霍夫变换的大规模集成电路结构(very-large-scale integration, VLSI),实现灰度图像中圆形目标的高速、低延迟检测,吞吐率达到115M点/秒,即每秒处理374帧分辨率为640X480的图像或110帧分辨率为1024X 1024的图像。该结构可作为IP(intellectual property)核应用于现场可编程门阵列(field programmable gate array, FPGA)或专用集成电路(application-specificintegrated circuit, ASIC)中。
【专利附图】

【附图说明】
[0011]图1为【具体实施方式】一所述的圆霍夫变换的高速VLSI结构的原理示意图。
[0012]图2为【具体实施方式】二所述的行缓存模块的原理示意图。
[0013]图3为【具体实施方式】二所述的提取边缘位图及梯度方向的模块中输入图像的边缘标志is_edge获得的原理示意图。[0014]图4为为【具体实施方式】二所述的提取边缘位图及梯度方向的模块中输入图像的梯度方向sin Θ与cos Θ获得的原理示意图。
[0015]图5为【具体实施方式】三所述的圆霍夫变换模块的原理示意图。
[0016]图6为【具体实施方式】四所述的投票模块的原理示意图。
[0017]图7为【具体实施方式】四所述的投票单元的原理示意图。
[0018]图8为【具体实施方式】四所述的进行滑动单元投票的原理示意图。
[0019]图9为【具体实施方式】五所述的圆验证模块的原理示意图。
[0020]图10为【具体实施方式】六所述的最大票数搜索模块的原理示意图。
[0021]图11为【具体实施方式】七所述的边缘点计数模块的原理示意图。
【具体实施方式】
[0022]【具体实施方式】一:结合图1说明本实施方式,本实施方式所述的圆霍夫变换的高速VLSI结构,它是基于FPGA或ASIC实现,它包括边缘信息提取模块、乒乓结构片外RAM、圆霍夫变换模块、边缘RAM及备选圆FIFO乒乓结构和圆验证模块;
[0023]边缘信息提取模块,用于在接收到的数字图像信息中提取输入图像的边缘位图信息;
[0024]乒乓结构片外RAM,用于存储提取的边缘位图信息;
[0025]圆霍夫变换模块,用于从乒乓结构片外RAM中从读取边缘位图信息,并根据所述边缘位图信息、利用圆霍夫变换算法得出备选圆的位置及半径信息;
[0026]边缘RAM及备选圆FIFO乒乓结构,用于存储备选圆的位置、半径和边缘位图信息;
[0027]圆验证模块,对得出的备选圆的位置及半径信息进行验证,并输出最终检测结果。
[0028]【具体实施方式】二:结合图2、图3和图4说明本实施方式,本实施方式是对【具体实施方式】一所述的圆霍夫变换的高速VLSI结构的进一步限定,边缘信息提取模块包括行缓存模块和提取边缘位图及梯度方向的模块;
[0029]行缓存模块包括两个FIFO存储器和寄存器R1-R9,
[0030]接收到的数字图像信息中的数据按从左到右、从上到下的顺序依次存入行缓存模块;
[0031]所述数字图像信息中的每个象素点的红色标志iS_red和红色程度fK合并为一个字后同时存入第二 FIFO存储器和寄存器R7中,寄存器R7、寄存器R8和寄存器R9依次串联连接;
[0032]第二 FIFO存储器的存储数据输出端同时与寄存器R4的存储数据输入端和第一FIFO存储器的存储数据输入端连接;寄存器R4、寄存器R5和寄存器R6依次串联连接;
[0033]第一 FIFO存储器的存储数据输出端与寄存器Rl的存储数据输入端连接,寄存器R1、寄存器R2和寄存器R3依次串联连接;
[0034]提取边缘位图及梯度方向的模块包括与非门、与门、寄存器组、4个加法器、两个减法器、直角坐标转极坐标模块和极坐标转直角坐标模块;所述寄存器组由27个寄存器组成;
[0035]寄存器R1-R9存储的数据均分解为红色标志is_red和红色程度fK,IRx表示相应寄存器中存储的红色标志is_red,FRx表示表示相应寄存器中存储的红色程度fK,x的取值范围为[I, 9];
[0036]IRl至IR9依次输入至与非门,与非门输出的数据和IR5同时输入至与门,与门将输入的两个数据作“与”处理之后输出给寄存器组,该寄存器组输出的数据为边缘标志is_edge ;
[0037]FRl、FR7与左移一位后的FR4输入至第一加法器,所述第一加法器输出的数据存储至寄存器Rll,
[0038]FR3、FR9与左移一位后的FR6输入至第二加法器,所述第二加法器输出的数据存储至寄存器R12,
[0039]FR7、FR9与左移一位后的FR8输入至第三加法器,所述第一加法器输出的数据存储至寄存器R13,
[0040]FRl、FR3与左移一位后的FR2输入至第四加法器,所述第一加法器输出的数据存储至寄存器R14,
[0041]寄存器Rll存储的数据与寄存器R12存储的数据输入至第一减法器,第一减法器输出梯度Gx,
[0042]寄存器R13存储的数据与寄存器R14存储的数据输入至第二减法器,第二减法器输出梯度Gy,
[0043]所述梯度Gx和梯度Gy输入至直角坐标转极坐标模块,幅度值I和直角坐标转极坐标模块输出的角坐标Θ输入至极坐标转直角坐标模块,极坐标转直角坐标模块输出输入图像的梯度方向sin Θ与COS0 ;
[0044]输入图像的边缘标志is_edge为I的点的位置信息、梯度方向sin Θ与cos Θ均作为边缘位图信息存储至兵兵结构片外RAM。
[0045]为了判断一个点是否为边缘点,并计算其梯度方向,需要获得该点周围8个点的信息,用两个FIFO存储器和一组寄存器实现,整幅图像的数据按从左到右、从上到下的顺序依次进入模块。每个点的红色标志is_red及红色程度&被合并为一个字,一同存入FIFO存储器中,如图2所示。当输入第N行数据时,第二 FIFO存储器与第一 FIFO存储器分别缓存第N-1行及第N-2行数据。紧随FIFO之后为9个寄存器构成的3X3的寄存器组,用于缓存第N-2至第N行中相邻三列的数据。在时钟的驱动下,每个周期向寄存器组中推入一列(共3个,两个来自FIFO寄存器,一个直接来自输入)新数至存储器R1、存储器R4、存储器R7,寄存器中原有数据向右移动一格,最右的存储器R3、存储器R6、存储器R9中的数据被舍弃,从而实现一个3X3的窗口在图像中从左到右、从上到下滑动的效果。
[0046]存储器R1-R9重新分解为is_red和fK,分别用IRx及FRx表示。如图4所示,FRx经过两级流水线得到两个梯度Gx与Gy,而后Gx与Gy作为直角坐标系中一个点的横纵坐标进入直角坐标转极坐标模块,得到方向梯度Θ。由于圆霍夫变换实际需要的信息为Θ的正弦与余弦值,故可将Θ与幅度I送入一个极坐标转直角坐标模块,从而直接得出sin0与 cos Θ。这里两个坐标转换模块均由 CORDIC (Coordinate Rotation Digital Computer)算法实现。边缘标志is_edge由IR1-1R9按图3组合逻辑算出,并延迟23个时钟周期以与sin Θ、cos Θ保持同步。最后,is_edge、sin θ、cos Θ被共同存储至兵兵结构片外RAM。
[0047]【具体实施方式】三:结合图5说明本实施方式,本实施方式是对【具体实施方式】一所述的圆霍夫变换的高速VLSI结构的进一步限定,圆霍夫变换模块包括边缘信息读取模块、投票模块、空块表、记录模块、多个投票RAM和内部备选圆FIFO存储器;
[0048]边缘信息读取模块,用于读取乒乓结构片外RAM存储的边缘位图信息;
[0049]投票模块,用于根据边缘位图信息采用局部化投票方法,统计每个圆的得票数;还用于监控最新获得投票的圆的得票数是否达到预设门限;
[0050]投票RAM,用于存储相应圆的得票数;
[0051]记录模块,用于当最新获得投票的圆的得票数达到预设门限,则将所述圆的信息进行记录,所述圆为备选圆;
[0052]内部备选圆FIFO存储器,用于存储备选圆的半径信息和位置信息;
[0053]空块表,用于记录不包含边缘信息的块。
[0054]本实施方式中的边缘信息首先由边缘信息读取模块从乒乓结构片外RAM中读出,而后被发送至投票模块。投票模块统计每个圆的得票数并保存至投票RAM。在此过程中,投票模块同时监控最新获得投票的圆,若其得票数刚好达到预设门限,则将其送入记录模块以保存至内部备选圆FIFO存储器。这样,在投票过程中即可找到所有备选圆,而不必在投票结束后进行整个参数空间的搜索。由于在投票过程中无法获得备选圆的最终得票数,故记录模块在此阶段只记录备选圆的圆心坐标及半径。在投票过程结束后,记录模块依次从内部备选圆FIFO存储 器中读出每个备选圆的圆心及半径,从投票RAM中读出其最终得票数,并一起输出至边缘RAM及备选圆FIFO乒乓结构。
[0055]【具体实施方式】四:结合图6、图7和图8说明本实施方式,本实施方式是对【具体实施方式】三所述的圆霍夫变换的高速VLSI结构的进一步限定,投票模块包括P个投票器和监督备选圆模块;P=rmax-rmin+l, rmax为备选圆设定的最大半径,rmin为备选圆设定的最小半径;P个投票器对应P个半径r,r的取值为[rmin,rmax]内的整数;
[0056]投票器,用于根据相应的半径r、边缘位图信息和公式
【权利要求】
1.圆霍夫变换的高速VLSI结构,其特征是在于,它是基于FPGA或ASIC实现,它包括边缘信息提取模块、乒乓结构片外RAM、圆霍夫变换模块、边缘RAM及备选圆FIFO乒乓结构和圆验证模块; 边缘信息提取模块,用于在接收到的数字图像信息中提取输入图像的边缘位图信息; 乒乓结构片外RAM,用于存储提取的边缘位图信息; 圆霍夫变换模块,用于从乒乓结构片外RAM中从读取边缘位图信息,并根据所述边缘位图信息、利用圆霍夫变换算法得出备选圆的位置及半径信息; 边缘RAM及备选圆FIFO乒乓结构,用于存储备选圆的位置、半径和边缘位图信息; 圆验证模块,对得出的备选圆的位置及半径信息进行验证,并输出最终检测结果。
2.根据权利要求1所述的圆霍夫变换的高速VLSI结构,其特征在于, 边缘信息提取模块包括行缓存模块和提取边缘位图及梯度方向的模块; 行缓存模块包括两个FIFO存储器和寄存器R1-R9, 接收到的数字图像信息中的数据按从左到右、从上到下的顺序依次存入行缓存模块;所述数字图像信息中的每个象素点的红色标志is_red和红色程度&合并为一个字后同时存入第二 FIFO存储器和寄存器R7中,寄存器R7、寄存器R8和寄存器R9依次串联连接; 第二 FIFO存储器的存储数据输出端同时与寄存器R4的存储数据输入端和第一 FIFO存储器的存储数据输入端连接;寄存器R4、寄存器R5和寄存器R6依次串联连接; 第一FIFO存储器的存储数据输出端与寄存器Rl的存储数据输入端连接,寄存器R1、寄存器R2和寄存器R3依次串联连接;提取边缘位图及梯度方向的模块包括与非门、与门、寄存器组、4个加法器、两个减法器、直角坐标转极坐标模块和极坐标转直角坐标模块;所述寄存器组由27个寄存器组成;寄存器R1-R9存储的数据均分解为红色标志is_red和红色程度fK,IRx表示相应寄存器中存储的红色标志is_red,FRx表示表示相应寄存器中存储的红色程度fK,x的取值范围为[I, 9]; IRl至IR9依次输入至与非门,与非门输出的数据和IR5同时输入至与门,与门将输入的两个数据作“与”处理之后输出给寄存器组,该寄存器组输出的数据为边缘标志is_edge ; FRl、FR7与左移一位后的FR4输入至第一加法器,所述第一加法器输出的数据存储至寄存器R11, FR3、FR9与左移一位后的FR6输入至第二加法器,所述第二加法器输出的数据存储至寄存器R12, FR7、FR9与左移一位后的FR8输入至第三加法器,所述第一加法器输出的数据存储至寄存器R13, FRU FR3与左移一位后的FR2输入至第四加法器,所述第一加法器输出的数据存储至寄存器R14, 寄存器Rll存储的数据与寄存器R12存储的数据输入至第一减法器,第一减法器输出梯度Gx,寄存器R13存储的数据与寄存器R14存储的数据输入至第二减法器,第二减法器输出梯度Gy,所述梯度Gx和梯度Gy输入至直角坐标转极坐标模块,幅度值I和直角坐标转极坐标模块输出的角坐标Θ输入至极坐标转直角坐标模块,极坐标转直角坐标模块输出输入图像的梯度方向sin Θ与cos Θ ; 输入图像的边缘标志is_edge为I的点的位置信息、梯度方向sin Θ与cos Θ均作为边缘位图信息存储至乒乓结构片外RAM。
3.根据权利要求1所述的圆霍夫变换的高速VLSI结构,其特征在于,圆霍夫变换模块包括边缘信息读取模块、投票模块、空块表、记录模块、多个投票RAM和内部备选圆FIFO存储器; 边缘信息读取模块,用于读取乒乓结构片外RAM存储的边缘位图信息; 投票模块,用于根据边缘位图信息采用局部化投票方法,统计每个圆的得票数;还用于监控最新获得投票的圆的得票数是否达到预设门限; 投票RAM,用于存储相应圆的得票数; 记录模块,用于当最新获得投票的圆的得票数达到预设门限,则将所述圆的信息进行记录,所述圆为备选圆; 内部备选圆FIFO存储器,用于存储备选圆的半径信息和位置信息; 空块表,用于记录不包含边缘信息的块。
4.根据权利要求3所述的圆霍夫变换的高速VLSI结构,其特征在于,投票模块包括P个投票器和监督备选圆模块;P=rmax-rmin+l, rmax为备选圆设定的最大半径,rmin为备选圆设定的最小半径;P个投票器对应P个半径r, r的取值为[rmin, rmax]内的整数; 投票器,用于根据相应的半径r、边缘位图信息和公
5.根据权利要求1所述的圆霍夫变换的高速VLSI结构,其特征在于,圆验证模块包括最大票数搜索模块和边缘点计数模块; 最大票数搜索模块,用于搜索票数最高的备选圆,与上一个ROI的坐标相比,抛弃圆心距离小于7个像素且半径差小于2的备选圆; 边缘点计数模块,用于统计票数最高的备选圆的整个圆周上有多少个点命中了存储的边缘位图信息,若命中点的数量不小于所述圆周上总点数的一半,则所述备选圆作为ROI输出。
6.根据权利要求5所述的圆霍夫变换的高速VLSI结构,其特征在于,最大票数搜索模块包括位置比较器和票数比较器; 位置比较器,用于依次读取备选圆的U。,y。,r),并与上一个ROI的坐标进行比较,若圆心距离小于7个像素且半径差小于2,则抛弃该备选圆,若否,存储至边缘RAM及备选圆FIFO乒乓结构; 票数比较器,用于当前备选圆和此前票数最高的备选圆比较,输出票数较高的备选圆。
7.根据权利要求5所述的圆霍夫变换的高速VLSI结构,其特征在于,边缘点计数模块包括8位计数器、极坐标转直角坐标模块、两个加法器、命中计数器和判决模块; 最大票数搜索模块将票数最高的备选圆信息输入至边缘点计数模块,票数最高的备选圆信息为(Xc,yc,r); 8位计数器输出的角度数据与半径r输入至极坐标转直角坐标模块,极坐标转直角坐标模块输出的横坐标偏移量Δ X与圆心横坐标Xc输入至第一加法器,极坐标转直角坐标模块输出的纵坐标偏移量Ay与圆心纵坐标y。输入至第二加法器,第一加法器、第二加法器输出的数据和边缘位图信息输入至命中计数器,命中计数器输出的命中数量数据和数值128发送至判决模块, 所述判决模块将命中数量大于128的所述备选圆(Xc,yc,r)作为ROI输出并发送给最大票数搜索模块。
【文档编号】G06T7/00GK103745481SQ201410039954
【公开日】2014年4月23日 申请日期:2014年1月27日 优先权日:2014年1月27日
【发明者】王刚毅, 任广辉, 吴芝路, 支毳鹏 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1