本文作者:kaifamei

一种实时图像序列的几何校正装置

更新时间:2025-02-25 04:47:38 0条评论

一种实时图像序列的几何校正装置



1.本发明涉及图像校正技术领域,特别是涉及一种实时图像序列的几何校正装置。


背景技术:



2.自主导航、自动驾驶、工业检测等领域,传感器子系统的选择和设计直接影响着整个系统的最终性能。相比激光雷达等主动视觉传感器,以图像传感器为代表的被动视觉传感器,因纹理信息丰富而具有不可替代的显著优势,因而也得到越来越多的研究和应用。但是,图像信息超大的数据量带来了运算成本和系统功耗的增加,以及实时性的降低,而这也成为影响其应用推广的不利因素。双目或多目的图像传感器使得该问题被成倍放大,更增加了应用的困难。因此,建立高实时性的校正方法、实现低功耗低成本的校正装置对于推广视觉传感器应用具有重要意义。
3.图像校正是被动视觉传感器的一项基础运算。特别是在双目立体视觉应用中,双目图像序列的标定和校正是双目立体视觉传感器开展后端视觉算法的基础和前提。图像校正的基本原理是基于光学镜头模型,建立输出图像像素与输入图像像素的映射关系。常规的图像校正处理方法是先缓存整帧的图像数据,然后根据计算目标像素在原始图像中的位置,从存储介质中依次取出图像数据进行插值计算,从而得到校正输出图像。现有的图像序列映射技术方案有:(1)通用cpu的gpu方案,该方案中包括了个人电脑、工业电脑、服务器等通用运算单元所采用的方式,该方案本身在价格和功耗上均较高,且需要缓存整帧图像数据并执行串行映射处理,实时性低;(2)传统fpga映射方案,需要提前计算映射表,并对映射表进行预处理和存储,由于映射表数据量较大,常常依赖不同形式接入的ddr存储器,不但大大增加了缓存资源和系统带宽的需求,而且带来硬件成本和功耗的增加。
4.由此可见,现有方案中对于硬件资源有限的嵌入式应用来说是难以实现的,具体表现为:1)如果利用片上存储介质缓存整帧图像数据,将需要消耗大量的存储资源;2)如果缓存整帧图像数据到ddr存储介质,则会占用大量的ddr带宽;3)缓存整帧图像后才进行图像校正,增加了图像处理的延时,实时性降低。


技术实现要素:



5.本发明所要解决的技术问题是提供一种实时图像序列的几何校正装置,能够以较少的嵌入式硬件资源实现高实时性图像序列的校正。
6.本发明解决其技术问题所采用的技术方案是:提供一种实时图像序列的几何校正装置,包括:校正系统控制模块、流水线实时计算模块、输入缓存管理模块、输入缓存单元和插值计算模块,所述流水线实时计算模块用于根据标定的相机参数实时计算输出图像像素点的位置坐标相对于输入图像像素点的位置坐标;所述输入缓存单元的输入端与输入接口相连,用于缓存输入图像数据;所述输入缓存管理模块用于根据所述输入图像像素点的位置坐标的整数部分管理所述输入缓存单元中的输入图像数据;所述插值计算模块的输入端与所述输入缓存单元的输出端相连,输出端与输出接口相连,用于将所述输入图像像素点
的位置坐标的小数部分作为插值计算的权重,对所述输入图像数据进行插值计算,得到校正图像值;所述校正系统控制模块用于启动所述流水线实时计算模块和控制所述输入缓存管理模块的数据处理,以完成从输入畸变图到输出校正图的时序控制。
7.所述输入接口和输出接口以流接口作为主模式,同时支持axi接口作为备用模式。
8.所述流水线实时计算模块通过实时计算输出图像像素点的位置坐标相对于输入图像像素点的位置坐标,其中,x

,y

为输出图像像素点的归一化位置坐标,r2=x
′2+y
′2,x

,y

为输入图像像素点的位置坐标,k1~k6为相机的径向畸变参数,p1,p2为相机的切向畸变参数。
9.所述流水线实时计算模块为7级流水线实时计算模块,在计算时对进行分解,分解后的第一级运算包括:其中,x,y为输出图像像素点的坐标,z为归一化系数;第二级运算包括:r2=x
′2+y
′2、m=2x

*y

和第三级运算包括:和第四级运算包括:和第五级运算包括:和第六级运算包括:kr=k

/k

,第七级运算包括:和
10.所述输入缓存管理模块动态更新所述输入缓存单元中输入图像数据的行范围,具体为:新的输出行对应的输入图像数据缓存的行范围产生后,通过排序获得其最大和最小值,并和上一行范围对应的最大和最小值进行比较;如果当前行范围的最小值等于上一行范围的最小值,则保留最小行的数据;如果当前行范围的最小值大于上一行范围的最小值,则删除小于当前最小行的数据;如果当前行范围的最大值等于上一行范围的最大值,则不需要缓存新的输入图像数据;如果当前行范围的最大值大于上一行范围的最大值,则需要继续缓存新的输入图像数据,直到最大行范围内的数据已缓存,启动下一行的数据读取。
11.所述输入缓存单元在对输入图像数据缓存采用回环更新的方式进行更新,所述回环更新方式分为4个状态:第一状态从最低地址开始缓存数据并满足最大行范围的存储需求,当存储行范围更新时,进入第二状态,第二状态将删除无用的数据,并释放低地址空间;当缓存的数据到达缓存地址的最大值时,对应第三状态,最大行的存储地址跳转到缓存的
起始地址,继续缓存后面的数据,同时进入第四状态。
12.所述插值计算模块的输出端和输出接口之间还设置有输出图像缓存,所述输出图像缓存通过快满标记作为反馈信号提供给所述输入缓存管理模块。
13.当快满标记为低电平,所述输入缓存管理模块通过取出所述输入缓存单元中输入图像数据并在所述插值计算模块中计算得到输出数据,并通过输出图像缓存输出;当快满标记为高电平,所述输入缓存管理模块停止取数据。
14.当输出图像缓存的余量小于深度的一半,则快满标记为低电平,当输出图像缓存的余量大于或等于深度的一半,则快满标记为高电平;所述深度为第一时钟周期n和第二时钟周期m两个值中的最大值的2倍,所述第一时钟周期n为快满标记刚为低电平到所述输出图像缓存得到第一个数据的时钟周期,所述第二时钟周期m为快满标记刚为高电平到数据停止写入所述输出图像缓存的时钟周期。
15.有益效果
16.由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:
17.本发明针对机器视觉和计算机视觉应用中对相机畸变图像的校正要求,首先通过标定方法确立图像采集装置的内部参数、外部参数和镜头畸变参数,然后用硬件加速模块实时计算目标像素在原始图像中的位置,并利用双线性插值实时获得目标像素值,从而以较少的嵌入式硬件资源实现高实时性图像序列的校正。
18.本发明综合考虑模块的使用场景,提供了流接口和axi可选择的接口方案,且在算法执行过程中,不与ddr发生数据交换,降低了对ddr的依赖和ddr带宽占用,减小了外部存储器,降低硬件成本;本发明在硬件设计中采用了流水线技术,实现了图像几何校正算法的实时计算,大大降低了算法主时钟的时钟要求;本发明在硬件设计中采用了图像缓存的自适应优化技术,使图像几何校正算法对缓存资源的需求降低,计算延时接近缓存行周期对应的极限值。本发明中使用的实时图像序列几何校正方法,可作为一种可应用于大型soc的ip实现方案,可显著降低soc中的芯片面积,取得较好的经济效益;同时,本发明也为实时图像校正算法在嵌入式系统中的部署提供了一种高能效比的实现方法。
附图说明
19.图1是本发明实施方式的结构示意图;
20.图2是本发明实施方式的工作流程图;
21.图3是本发明实施方式中7级流水线并行处理多个像素的示意图;
22.图4是本发明实施方式中输出图单行对应输入图多行的行范围映射图;
23.图5是本发明实施方式中输入缓存单元的数据更新原理图;
24.图6是本发明实施方式中输出图像缓存的优化原理图。
具体实施方式
25.下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所附权利要求书所限定
的范围。
26.本发明的实施方式涉及一种实时图像序列的几何校正装置,如图1所示,包括:校正系统控制模块、流水线实时计算模块、输入缓存管理模块、输入缓存单元和插值计算模块。
27.其中,校正系统控制模块是几何校正系统内部核心运算单元的总体控制模块,根据输入和输出数据信息,启动所述流水线实时计算模块和控制所述输入缓存管理模块的数据处理,完成从输入畸变图到输出校正图的时序控制。
28.流水线实时计算模块,根据标定的相机内部参数、外部参数和镜头畸变参数,以输出图像(即校正图)行列坐标为变量,实时计算得到输出图像像素点的位置坐标相对于输入图像像素点的位置坐标。
29.输入缓存管理模块,根据输入图像像素点的位置坐标的整数值,管理输入图像数据,具体为根据行范围保存输入图像数据,当满足输出校正图像时取出图像数据,删除不再使用的输入图像数据。
30.缓存单元,用于缓存输入图像数据。
31.插值计算模块,利用输入图像像素点的位置坐标的小数值作为插值计算的权重,对输入图像数据进行插值计算,得到校正图像值,从而实现了高精度的校正结果。
32.输入接口和输出接口,支持流接口输入作为主模式,同时支持axi接口作为备用模式。前者能通过流接口显著降低对ddr的带宽占用,后者能提供更灵活的使用方式。插值计算模块和输出接口之间设置有输出图像缓存。
33.实时图像序列的几何校正系统的关键数据流程如图2所示。首先,利用标定得到的相机内部参数、外部参数和镜头畸变参数,利用流水线实时计算,得到输出图像像素点的位置坐标相对于输入图像像素点的位置坐标,该坐标为定点型。然后,将输入坐标值的整数部分提供给输入缓存管理模块,用于对输入图像数据进行存取;最后,将输入坐标值的小数部分提供给插值计算模块,用于做插值计算的权重。
34.上述模块的组合独立完成畸变坐标计算,输入图像缓存和管理,输入图像数据插值计算输出。整个过程采用流水线执行实时计算,图像数据均在缓存中存放,不使用ddr存储器,不占用ddr带宽,中间处理过程不需要和其他设备做数据交互,实现了畸变输入图像到校正输出图像的低延时高实时性处理。
35.本实施方式中的流水线实时计算模块利用相机标定方法获取双目相的内部参数、外部参数和镜头畸变参数,通过校正计算得到校正后的双目图像。基于针孔相机模型的图像校正算法,以归一化像素坐标建立起图像校正前后像素坐标的映射关系:
[0036][0037][0038]
其中,x

,y

为输出图像像素点的归一化位置坐标,r2=x
′2+y
′2,x

,y

为输入图像像素点的位置坐标,k1~k6为相机的径向畸变参数,p1,p2为相机的切向畸变参数。
[0039]
本实施方式中的流水线实时计算模块在进行计算时,需要对上式进行运算分解,
使其每一步运算都是基本运算,且上一级运算输出是下一级运算的输入,从而完成多级流水线的实时计算,如图3所示。
[0040]
本实施方式的流水线设计为7级,运算分解后,如下表所示:
[0041][0042]
以除法器12个时钟周期、乘法器1个时钟周期、加法器1个时钟周期计算,则7级运算共需要33个时钟周期。若不采用流水线结构,则校正算法完成单个像素的计算需要33个时钟周期,主时钟频率需要达到图像数据像素时钟的33倍,这对于专用集成电路的设计而言是比较大的挑战。
[0043]
流水线的处理能力,受限于单级流水线的最小处理能力,在除法器使用流水线架构时,则单级流水线最多需要2个算法时钟即可完成一个像素的处理。在满足算法实时性要求的前提下,大大降低了算法主时钟的时钟要求。
[0044]
图像校正算法对专用硬件电路实现的最大挑战来自对数据缓存的需求,该需求主要由输入图像缓存需求和输出图像缓存需求两大部分。
[0045]
由于提前获取了图像对应的相机内外参数和畸变参数,在完成一行输入图像数据的读取后启动预计算,获得下一输出行图像需要的输入图像的映射点。对映射点行坐标的整数部分进行排序,得到行坐标的最小值和最大值,从而获得下一输出行图像需要的输入图像数据的行范围,如图4所示。根据行范围保存输入图像数据到缓存中,即满足了下一行输出图像计算的输入条件。
[0046]
输入图像数据缓存的行范围是动态更新的。新的输出行对应的输入图像数据缓存的行范围产生后,通过排序获得其最大和最小值,并和上一行范围对应的最大和最小值进行比较;如果当前行范围的最小值等于上一行范围的最小值,则保留最小行的数据;如果当前行范围的最小值大于上一行范围的最小值,则删除小于当前最小行的数据;如果当前行范围的最大值等于上一行范围的最大值,则不需要缓存新的输入图像数据;如果当前行范围的最大值大于上一行范围的最大值,则需要继续缓存新的输入图像数据,直到最大行范围内的数据已缓存,启动下一行的数据读取。
[0047]
输入图像的缓存采用回环更新的方式,如图5所示。回环更新方式可分为4个状态:状态1从最低地址开始缓存数据并满足最大行范围的存储需求,当存储行范围更新时,进入状态2,状态2将删除无用的数据,并释放低地址空间;当缓存的数据到达缓存地址的最大值时,对应状态3,最大行的存储地址跳转到缓存的起始地址,继续缓存后面的数据,同时进入状态4。由于小于当前最小行的行图像数据已删除,状态4不会覆盖有效的行数据。
[0048]
输入图像缓存的自适应优化方法,通过预计算对输入缓存图像实现按需取用,及时删除了无用的输入图像数据并释放缓存空间,用于新数据的缓存,实现对缓存空间的优化利用。输入图像缓存的自适应优化方法能自动适应畸变程度的变化,并能在畸变较小时实现对较大分辨率的校正支持。
[0049]
输出图像缓存采用fifo来实现,并以快满(almost full)(50%)标记作为反馈信号提供给输入缓存管理模块,以实现输出数据流的动态控制,如图6所示。
[0050]
当almost full为低电平,表示fifo可以缓存输出数据,这时输入缓存管理模块通过取出输入缓存的数据并在插值计算模块中计算得到输出数据,通过fifo输出。当almost full为高电平,表示fifo数据快满,需要暂停接收数据,这时输入缓存管理模块停止取数据,流入fifo的数据就停止了。
[0051]
如果almost full为低到fifo得到第一个数据的时钟周期为n,almost full为高到数据停止写入fifo的时钟周期为m,则fifo的深度为n,m两个值中最大值的2倍。当fifo余量小于深度的一半,则almost full为低,当fifo余量大于等于深度的一半,则almost full为高。
[0052]
通过小容量的fifo加almost full标记的方法,使几何校正系统无需按其支持的最大分辨率的行数据大小预先分配最大容量的fifo,对输出图像实现按需取用和自适应缓存,从而节约了缓存容量。
[0053]
不难发现,本发明综合考虑模块的使用场景,提供了流接口和axi可选择的接口方案,且在算法执行过程中,不与ddr发生数据交换,降低了对ddr的依赖和ddr带宽占用,减小了外部存储器,降低硬件成本;本发明在硬件设计中采用了流水线技术,实现了图像几何校正算法的实时计算,大大降低了算法主时钟的时钟要求;本发明在硬件设计中采用了图像缓存的自适应优化技术,使图像几何校正算法对缓存资源的需求降低,计算延时接近缓存行周期对应的极限值。本发明中使用的实时图像序列几何校正方法,可作为一种可应用于大型soc的ip实现方案,可显著降低soc中的芯片面积,取得较好的经济效益;同时,本发明也为实时图像校正算法在嵌入式系统中的部署提供了一种高能效比的实现方法。

技术特征:


1.一种实时图像序列的几何校正装置,其特征在于,包括:校正系统控制模块、流水线实时计算模块、输入缓存管理模块、输入缓存单元和插值计算模块,所述流水线实时计算模块用于根据标定的相机参数实时计算输出图像像素点的位置坐标相对于输入图像像素点的位置坐标;所述输入缓存单元的输入端与输入接口相连,用于缓存输入图像数据;所述输入缓存管理模块用于根据所述输入图像像素点的位置坐标的整数部分管理所述输入缓存单元中的输入图像数据;所述插值计算模块的输入端与所述输入缓存单元的输出端相连,输出端与输出接口相连,用于将所述输入图像像素点的位置坐标的小数部分作为插值计算的权重,对所述输入图像数据进行插值计算,得到校正图像值;所述校正系统控制模块用于启动所述流水线实时计算模块和控制所述输入缓存管理模块的数据处理,以完成从输入畸变图到输出校正图的时序控制。2.根据权利要求1所述的实时图像序列的几何校正装置,其特征在于,所述输入接口和输出接口以流接口作为主模式,同时支持axi接口作为备用模式。3.根据权利要求1所述的实时图像序列的几何校正装置,其特征在于,所述流水线实时计算模块通过实时计算输出图像像素点的位置坐标相对于输入图像像素点的位置坐标,其中,x

,y

为输出图像像素点的归一化位置坐标,r2=x
′2+y
′2,x

,y

为输入图像像素点的位置坐标,k1~k6为相机的径向畸变参数,p1,p2为相机的切向畸变参数。4.根据权利要求3所述的实时图像序列的几何校正装置,其特征在于,所述流水线实时计算模块为7级流水线实时计算模块,在计算时对进行分解,分解后的第一级运算包括:其中,x,y为输出图像像素点的坐标,z为归一化系数;第二级运算包括:r2=x
′2+y
′2、m=2x

*y

和第三级运算包括:第三级运算包括:和第四级运算包括:和第五级运算包括:和第六级运算包括:k
r
=k

/k

,第七级运算包括:和5.根据权利要求1所述的实时图像序列的几何校正装置,其特征在于,所述输入缓存管
理模块动态更新所述输入缓存单元中输入图像数据的行范围,具体为:新的输出行对应的输入图像数据缓存的行范围产生后,通过排序获得其最大和最小值,并和上一行范围对应的最大和最小值进行比较;如果当前行范围的最小值等于上一行范围的最小值,则保留最小行的数据;如果当前行范围的最小值大于上一行范围的最小值,则删除小于当前最小行的数据;如果当前行范围的最大值等于上一行范围的最大值,则不需要缓存新的输入图像数据;如果当前行范围的最大值大于上一行范围的最大值,则需要继续缓存新的输入图像数据,直到最大行范围内的数据已缓存,启动下一行的数据读取。6.根据权利要求5所述的实时图像序列的几何校正装置,其特征在于,所述输入缓存单元在对输入图像数据缓存采用回环更新的方式进行更新,所述回环更新方式分为4个状态:第一状态从最低地址开始缓存数据并满足最大行范围的存储需求,当存储行范围更新时,进入第二状态,第二状态将删除无用的数据,并释放低地址空间;当缓存的数据到达缓存地址的最大值时,对应第三状态,最大行的存储地址跳转到缓存的起始地址,继续缓存后面的数据,同时进入第四状态。7.根据权利要求1所述的实时图像序列的几何校正装置,其特征在于,所述插值计算模块的输出端和输出接口之间还设置有输出图像缓存,所述输出图像缓存通过快满标记作为反馈信号提供给所述输入缓存管理模块。8.根据权利要求7所述的实时图像序列的几何校正装置,其特征在于,当快满标记为低电平,所述输入缓存管理模块通过取出所述输入缓存单元中输入图像数据并在所述插值计算模块中计算得到输出数据,并通过输出图像缓存输出;当快满标记为高电平,所述输入缓存管理模块停止取数据。9.根据权利要求7所述的实时图像序列的几何校正装置,其特征在于,当输出图像缓存的余量小于深度的一半,则快满标记为低电平,当输出图像缓存的余量大于或等于深度的一半,则快满标记为高电平;所述深度为第一时钟周期n和第二时钟周期m两个值中的最大值的2倍,所述第一时钟周期n为快满标记刚为低电平到所述输出图像缓存得到第一个数据的时钟周期,所述第二时钟周期m为快满标记刚为高电平到数据停止写入所述输出图像缓存的时钟周期。

技术总结


本发明涉及一种实时图像序列的几何校正装置,其中,流水线实时计算模块用于根据标定的相机参数实时计算输出图像像素点的位置坐标相对于输入图像像素点的位置坐标;输入缓存单元用于缓存输入图像数据;输入缓存管理模块用于根据输入图像像素点的位置坐标的整数部分管理输入缓存单元中的输入图像数据;插值计算模块用于将输入图像像素点的位置坐标的小数部分作为插值计算的权重,对输入图像数据进行插值计算,得到校正图像值;校正系统控制模块用于启动流水线实时计算模块和控制输入缓存管理模块的数据处理,以完成从输入畸变图到输出校正图的时序控制。本发明能够以较少的嵌入式硬件资源实现高实时性图像序列的校正。入式硬件资源实现高实时性图像序列的校正。入式硬件资源实现高实时性图像序列的校正。


技术研发人员:

罗艺华 付凤杰 刘德华 李嘉茂 王磊 张晓林

受保护的技术使用者:

中国科学院上海微系统与信息技术研究所

技术研发日:

2022.10.25

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-84176-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-28 08:50:16

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论