双目立体视觉系统及图像校正方法与流程

文档序号:17363257发布日期:2019-04-09 22:14阅读:812来源:国知局
双目立体视觉系统及图像校正方法与流程

本发明涉及图像校正技术领域,具体涉及一种双目立体视觉系统及图像校正方法。



背景技术:

双目立体视觉是计算机视觉的一个重要分支,其与人类的立体感知过程十分类似,对客观世界的三维景物和物体进行形态识别或测量,越来越广泛地应用于检测、测量、定位、识别等领域。

双目图像间的特征点匹配是双目立体视觉最常用的技术手段之一。然而,需要处理的图像或者视频通常具有数据量大的特点,如何满足大数据量的实时处理成了关键技术问题。目前,可用于双目立体视觉的平台主要有cpu、gpu、dsp或asic等。基于cpu、gpu、dsp或asic的双目立体视觉处理技术应用广泛,但是很难保证实时性。



技术实现要素:

本发明目提供了一种双目立体视觉系统及图像校正方法,能够实时获取图像并且实时进行图像校正,从而加速双目立体视觉处理过程。

一方面,本发明提供了一种用于双目立体视觉系统的图像校正方法,包括以下步骤:获取双目立体视觉系统中的双目图像;对所述双目图像进行立体校正处理;以及对校正后的双目图像进行特征点匹配。

进一步,在获取双目立体视觉系统中的双目图像之后,对所述双目图像进行立体校正处理之前还包括:根据双目标定方法,对所述双目立体视觉系统中的双目传感器的参数进行标定。

进一步,对所述双目图像进行立体校正处理的步骤包括:将获取到的双目图像的信号解析为双目图像的场同步信号和行有效信号;根据所解析的双目图像的场同步信号和行有效信号,获得校正后的双目图像的坐标;根据校正后的双目图像的坐标和标定后的所述双目传感器的参数,获得校正前的双目图像的坐标;读取校正前的双目图像的坐标对应的校正前像素值;以及根据读取的所述校正前像素值,计算所述校正后的双目图像的坐标对应的校正后像素值。

进一步,所述根据所述校正后的双目图像的坐标和所标定的所述双目传感器的参数,获得校正前的双目图像的坐标的步骤包括:根据标定后的所述双目传感器的参数,将所述校正后的双目图像的像素坐标转换为指定相机坐标下的二维点坐标;以及根据预获取的旋转变换量或平移变换量,将指定相机坐标系下的二维点坐标转换到像素坐标系。

进一步,在所述将指定相机坐标系下的二维点坐标转换到像素坐标系之前,该方法还包括:计算所述指定相机坐标系与像素坐标系的空间位置关系,获取旋转变换量和平移变换量。

进一步,所述根据读取的像素值,计算校正后的双目图像的坐标对应的像素值的步骤包括:根据读取的像素值和校正前的双目图像的坐标的小数点分量进行双线性插值,得到校正后的双目图像的坐标对应的像素值。

另一方面,本发明提供了一种双目立体视觉系统,包括:双目图像采集单元、处理单元和输出单元;所述双目图像采集单元、所述输出单元分别与所述处理单元连接;所述双目图像采集单元包括镜头和双目传感器,用于获取双目图像;所述处理单元包括:图像接收模块、同步信号生成模块、图像校正模块、控制模块和通信模块;所述图像接收模块用于将获取到的双目图像的信号解析为图像场同步信号和图像行同步信号;所述图像校正模块用于根据图像场同步信号和图像行同步信号对所述双目图像进行立体校正处理;所述控制模块用于对校正后的双目图像进行特征点匹配;以及所述通信模块用于输出匹配后的图像数据。

进一步,该双目立体视觉系统还包括光源控制单元,所述光源控制单元与所述处理单元连接,所述光源控制单元用于根据所述处理单元的控制发射结构光。

进一步,所述立体校正模块包括:坐标地址映射模块,用于根据校正后的双目图像的坐标和标定的所述双目传感器的参数计算校正前的双目图像的坐标;缓存模块,用于读取校正前的双目图像的坐标对应的像素值;以及差值模块,用于计算校正后的双目图像的坐标对应的像素值。

进一步,所述立体校正模块还包括:坐标生成模块,用于生成校正后的双目图像的坐标。

本发明的双目立体视觉系统在获取图像的同时实时进行图像校正,校正后的图像可以直接用于特征点匹配。该双目立体视觉系统选用了fpga平台实现,fpga平台能够实现高速的硬件计算,可以充分利用图像处理中的并行性,使得图像获取、图像立体校正处理同时进行,提高了整个处理流程的速率,满足了实时性的要求。与现有技术相比,在该双目立体视觉系统中,在获取图像的同时实时进行图像校正,并且在特征点匹配之前进行立体校正,加快了搜索速度和匹配速度,从而加速了整个双目立体视觉过程。

附图说明

图1为本发明实施例的用于双目立体视觉系统的图像校正方法的流程图;

图2为本发明实施例的cmos传感器的功能模块图。

图3为本发明实施例的用于双目立体视觉系统的图像校正方法的流程图;

图4示出了本发明实施例的立体校正处理前后的坐标关系;

图5为本发明实施例的图像校正方法中的基于fpga的动态相位调整的流程图;

图6为本发明实施例的双目立体视觉系统的功能模块图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例的用于双目立体视觉系统的图像校正方法。该图像校正方法选用了fpga平台实现。该图像校正方法包括:

获取双目立体视觉系统中的双目图像;

对双目图像进行立体校正处理;以及

对校正后的双目图像进行特征点匹配。

本发明实施例的用于双目立体视觉系统的图像校正方法,选用了fpga平台实现,fpga平台能够实现高速的硬件计算,可以充分利用图像处理中的并行性,将图像获取、图像立体校正处理以及输出均集成进去,提高了整个处理流程的速率,满足了实时性的要求,并在提升fpga资源的情况下能达到更高的性能参数。在现有技术中,双目立体视觉过程通常包括双目成像系统获取图像阶段(所需时间t1)、向用户发送原始图像阶段(所需时间t2)、图像校正阶段(所需时间t3)、以及特征点匹配阶段(所需时间t4),总时长为(t1+t2+t3+t4)。与现有技术相比,在该双目立体视觉系统中,在获取图像的同时实时进行图像校正,校正后的图像可以直接用于特征点匹配,因此,双目立体视觉过程包括获取并校正图像阶段(所需时间t1)、向用户发送校正后的图像阶段(所需时间t2)、特征点匹配阶段(所需时间t4),总时长为(t1+t2+t4),比现有技术缩短了时长t3。

其中,在获取双目立体视觉系统中的双目图像步骤中,双目图像可以通过两个cmos传感器进行采集而获取,也可以通过单个双目传感器获取。如图2所示,将cmos的时钟差分信号(clk_p/n)、同步差分信号(sync_p/n)、n路数据差分信号(rx0_p/n~rxn_p/n)接入fpga,内部差分信号缓冲器将差分信号转换为单端信号,时钟单端信号经过不同的时钟缓冲器实现像素时钟(clk)以及4倍频时钟(clkx4)的输出,用于数据解串,同步差分信号以及数据差分信号经过解串后输出8位的并行数据,这些数据经过解码后可得到行、场同步信号以及数据信号。此外,通过cmos配置模块初始化cmos以及控制cmos输出去实现动态相位调整。

其中,在对双目图像进行立体校正处理的步骤中,双目立体视觉系统中的处理器对获取到的双目图像实时进行立体校正处理,互不干涉。立体校正处理使得双目图像对应的极线在空间上平行并且平行于图像的一条坐标轴。

在对校正后的双目图像进行特征点匹配的步骤中,利用匹配算法沿着校正后的双目图像的对应极线搜索匹配点,使得匹配点的搜索二维变为一维,从而加快了搜索速度和匹配速度。

在本实施例中,在获取双目立体视觉系统中的双目图像之后,对双目图像进行立体校正处理之前,还包括:使用相关的双目标定方法,例如,张正友图面标定法,对双目立体视觉系统中的双目传感器的参数进行标定。标定过程是离线完成的,并不消耗图像处理的时间。畸变参数及双目的外参数通过双目标定获取,标定后获取以下参数:

cmos1内参:cmos2内参:

cmos1畸变参数:d1=[k11k12p11p12k13]

cmos2畸变参数:d2=[k21k22p21p22k23]

cmos1旋转矩阵:r1(3×3)cmos2旋转矩阵:r2(3×3)

每个cmos对应自己的内参和畸变参数,k为径向畸变,p为切向畸变。

cmos1和cmos2的立体校正后的的内参相同:

参照图3,在本实施例中,对双目图像进行立体校正处理的步骤包括:

将获取到的双目图像的信号解析为双目图像的场同步信号和行有效信号;

根据所解析的双目图像的场同步信号和行有效信号,获得校正后的双目图像的坐标;

根据校正后的双目图像的坐标和标定后的双目传感器的参数,获得校正前的双目图像的坐标;

读取校正前的双目图像的坐标对应的校正前像素值;以及

根据读取的校正前像素值,计算校正后的双目图像的坐标对应的校正后像素值。

在将获取到的双目图像的信号解析为双目图像的场同步信号和行有效信号的步骤中,双目立体视觉系统中的处理器同时接收双目图像的信号,将信号解析成图像场同步信号和图像行有效信号。图像场同步信号和图像行有效信号是用于实现实时校正的同步信号。

图4示出了立体校正处理前后的坐标关系。在本实施例中,在根据校正后的双目图像的坐标和标定后的双目传感器的参数,获得校正前的双目图像的坐标的步骤中,根据校正后的坐标和所标定的参数计算校正前的坐标的步骤包括:

根据标定后的双目传感器的参数,将校正后的双目图像的像素坐标转换为指定相机坐标下的二维点坐标;以及

根据预获取的旋转变换量或平移变换量,将指定相机坐标系下的二维点坐标转换到像素坐标系。

在本发明实施例中,在将指定相机坐标系下的二维点坐标转换到像素坐标系之前,该方法还包括:

计算指定相机坐标系与像素坐标系的空间位置关系,获取旋转变换量和平移变换量。

其中,双目立体视觉系统中的处理器分别同时对两个cmos的图像信号进行校正,互不干涉。以cmos1为例,由校正后的图像坐标(ur,vr)和标定后的参数,可以获得校正后的图像坐标(ur,vr)与校正前的图像坐标(u,v)的映射关系,具体过程如下:

1)通过共同内参矩阵a'将校正后的图像的像素坐标系(ur,vr)转换到相机坐标系(x,y)

2)通过左乘cmos1旋转矩阵r1-1,对相机坐标系旋转得到新的相机坐标系(x',y')

x'=x/w,y'=y/w,r2=x'2+y'2

3)通过cmos1畸变参数d1对相机坐标系(x',y')进行去畸变操作

x"=x'×(1+k11×r2+k12×r4+k13×r6)+2×p11×x'×y',

y"=y'×(1+k11×r2+k12×r4+k13×r6)+2×p12×x'×y'

4)去畸变操作后,通过cmos1内参矩阵a1将相机坐标系(x”,y”)重新转换到图像像素坐标系(u,v)

u=x"×fx1+cx1,v=y"×fy1+cy1

对于cmos2,共同内参矩阵是相同的,计算过程只需要替换相应的旋转矩阵r2-1、畸变参数d2、内参矩阵a2即可。

在本发明实施例中,根据读取的校正前像素值,计算校正后的双目图像的坐标对应的校正后像素值的步骤包括:根据读取的校正前像素值和校正前的双目图像的坐标的小数点分量进行双线性插值,得到校正后的双目图像的坐标对应的校正后像素值。

其中,校正后的图像坐标(ur,vr)是整数;经过计算得出的校正前的图像坐标(u,v)为定点小数,其中整数部分(u0,v0)用于像素值读取,小数部分(du,dv)用于进行双线性插值。

为了实时进行差值运算,得到校正后图像位置处的像素值,需要在同一时刻取出四个位置的像素点。由于坐标映射具有趋势,只需要在标定时仿真出这个趋势,就可以决定需要缓存的行数,没有必要缓存整幅图像。在fpga电路中,采用单端口片上ram作为缓存区,同一行数据按照奇、偶地址分开存储在不同的分区中,奇、偶行也可以从而实现在同一个时钟周期内实现对所有四个像素的访问。也可以设计四个bram缓存区,分别存储奇数行奇数列、奇数行偶数列、偶数行奇数列、偶数行偶数列的数据。

在本实施例中,在获取双目立体视觉系统中的双目图像之后,对双目图像进行立体校正处理之前,还包括基于fpga的动态相位调整,动态相位调整包括位对齐和字对齐两个过程,实现步骤如图5所示,包括:

步骤s101,图像配置模块控制cmos发送位对齐训练序列pattern1,此时记录iserdes解串的数据为data1;

步骤s102,控制idelay对信号线的延时增加1;

步骤s103,比较此时iserdes解串的数据与data1是否有变化,如果没有变化,则重复步骤s102,否则执行步骤s104;

步骤s104,记录iserdes解串的数据为data2,记录idelay的延时delay1;

步骤s105,控制idelay对信号线的延时增加1;

步骤s106,比较此时iserdes解串的数据与data2是否有变化,如果没有变化,则重复步骤s105,否则执行步骤s107;

步骤s107,记录idelay的延时delay2;

步骤s108,根据delay1与delay2确定idelay的最终延时;

步骤s109,图像配置模块控制cmos发送字对齐训练序列pattern2;

步骤s110,执行一次iserdes的bitslip操作;

步骤s111,比较此时iserdes解串的数据与pattern2是否相同,如果不同,则重复步骤s110,否则完成动态相位调整过程。

本发明在获取cmos数据时采用了基于fpga的动态相位调整方案。由于本发明中使用的cmos包含有多个差分信号通道,不同通道之间传输路径不一样,造成数据和时钟信号在fpga的接收端发生不同程度的位偏移和字偏移。动态相位调整根据各通道的状态,分别进行去偏移操作,克服了静态相位调整中参数不可调、费时费力等缺点,保证数据的可靠传输。

如图6所示,本发明实施例提供的双目立体视觉系统,包括:双目图像采集单元、处理单元和输出单元;双目图像采集单元、输出单元分别与处理单元连接;双目图像采集单元包括镜头和双目传感器,用于获取双目图像;处理单元包括:图像接收模块、图像校正模块、控制模块和通信模块;图像接收模块用于将获取到的双目图像的信号解析为图像场同步信号和图像行同步信号;图像校正模块用于根据图像场同步信号和图像行同步信号对双目图像进行立体校正处理;控制模块用于对校正后的双目图像进行特征点匹配;以及通信模块用于输出匹配后的图像数据。

本发明提供的双目立体视觉系统在获取双目图像的同时,实时进行立体校正处理,然后使用校正后的图像直接进行特征点匹配,从而加速整个双目立体视觉过程。在现有技术中,双目立体视觉过程通常包括双目成像系统获取图像阶段(所需时间t1)、向用户发送原始图像阶段(所需时间t2)、图像校正阶段(所需时间t3)、以及特征点匹配阶段(所需时间t4),总时长为(t1+t2+t3+t4)。与现有技术相比,在该双目立体视觉系统中,在获取图像的同时实时进行图像校正,校正后的图像可以直接用于特征点匹配,因此,双目立体视觉过程包括获取并校正图像阶段(所需时间t1)、向用户发送校正后的图像阶段(所需时间t2)、特征点匹配阶段(所需时间t4),总时长为(t1+t2+t4),比现有技术缩短了时长t3。

在本发明实施例中,该双目立体视觉系统还包括光源驱动单元,光源驱动单元与处理单元连接,光源驱动单元用于根据处理单元的控制发射结构光。

在本发明实施例中,处理单元还包括同步信号生成模块,同步信号生成单元用于生成同步触发信号,并将同步触发信号通过图像接收模块发送给双目图像采集单元;

在本发明实施例中,立体校正模块包括:坐标地址映射模块,用于根据校正后的双目图像的坐标和标定的双目传感器的参数计算校正前的双目图像的坐标;缓存模块,用于读取校正前的双目图像的坐标对应的像素值;以及差值模块,用于计算校正后的双目图像的坐标对应的像素值。

在本发明实施例中,立体校正模块还包括:坐标生成模块,用于生成校正后的双目图像的坐标。

综上所述,本发明提供的双目立体视觉系统及图像校正方法,在获取双目图像的同时,实时进行立体校正处理,然后使用校正后的图像直接进行特征点匹配,从而加速整个双目立体视觉过程。在现有技术中,双目立体视觉过程通常包括双目成像系统获取图像阶段(所需时间t1)、向用户发送原始图像阶段(所需时间t2)、图像校正阶段(所需时间t3)、以及特征点匹配阶段(所需时间t4),总时长为(t1+t2+t3+t4)。与现有技术相比,在该双目立体视觉系统中,在获取图像的同时实时进行图像校正,校正后的图像可以直接用于特征点匹配,因此,双目立体视觉过程包括获取并校正图像阶段(所需时间t1)、向用户发送校正后的图像阶段(所需时间t2)、特征点匹配阶段(所需时间t4),总时长为(t1+t2+t4),比现有技术缩短了时长t3。

在本发明实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1