CN114359406A - 自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 - Google Patents
自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 Download PDFInfo
- Publication number
- CN114359406A CN114359406A CN202111654221.7A CN202111654221A CN114359406A CN 114359406 A CN114359406 A CN 114359406A CN 202111654221 A CN202111654221 A CN 202111654221A CN 114359406 A CN114359406 A CN 114359406A
- Authority
- CN
- China
- Prior art keywords
- camera
- depth
- image
- scene
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种自动对焦双目摄像头的产线标定方法,包括:A1:在双目摄像头的一场景深度位置处配置第一标定板;A2:左右摄像头的镜头移动至一个新位置获取第一标定板图像;A3:重复步骤A2;A4:确定左右摄像头各自对于当前场景深度的最佳对焦位置;A5:重复步骤A1~A4以获取整个深度范围内的多个场景深度下左右摄像头各自对于各个场景深度的最佳对焦位置,得到左右摄像头各自的场景深度和最佳对焦位置关系的曲线,并得到整个深度范围内的多个场景深度对应的关联对焦位置;A6:根据步骤A5中获取的各个关联对焦位置,分别对左右摄像头进行单目及双目摄像头标定。本发明还公开了自动对焦双目摄像头的3D立体视觉拍摄方法和计算稠密深度点云的方法。
Description
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种自动对焦双目摄像头的产线标定方法、3D立体视觉拍摄方法和计算稠密深度点云的方法。
背景技术
自动对焦是指相机内置的一种通过电子及机械装置自动完成对被摄主体对焦并使图像达到清晰的功能。由于具有对焦准确、操作方便的特点,当前带自动对焦功能的摄像头在越来越多的行业都有广泛的应用,包括智能手机、无人机、视频监控等领域。
摄像头应用正在从2D进入基于双目、多目摄像头的3D时代。消费电子领域,在虚拟现实VR(Virtual Reality)、增强现实AR(Augmented Reality)、混合现实MR(MixedReality)应用中,3D立体视频使得虚拟物体更好地“浸入”到现实场景。5G时代,文体娱乐行业,歌舞戏曲节目、体育赛事的VR直播给观众提供“身临其境”的体验感。在隧道挖掘、矿井作业、排爆、管道检测等高危行业,远程3D立体视觉系统作为“全信息化”的手段,保护施工员人身安全。远程医疗及高清双目内窥镜、外视镜系统让术者感受到“逼真”的3D效果,提高诊疗及手术效果。使用双目摄像头拍摄的左右图像是实现以上3D立体视觉应用的基础。当前通用的双目摄像头一般使用定焦镜头,拍摄设备对焦距离固定,当拍摄场景发生变化时,如果新的场景深度超出了摄像头的景深范围,拍摄的视频是模糊的。在智能手机等消费电子领域,使用单目自动对焦摄像头拍摄视频时,由于当前通用的基于对比度的对焦算法在特定场景下计算时间较长,不能及时对焦,造成拍摄的视频内容模糊。另外目前一些手机对焦算法还不能有效应对拍摄场景内容发生微小变化、场景深度并未变化的情况,此时手机会持续移动镜头位置搜索最佳对焦点,导致拍摄的视频时而清晰,时而模糊。
此外,例如在手机行业,使用红外结构光摄像头模组来抓取人脸的3D点云,实现人脸识别。无人机行业,通过双目摄像头实现3D环境感知来支持无人机在飞行中避障。汽车行业,通过双目摄像头完成测距、3D环境感知来辅助驾驶及支持自动驾驶。扫地机器人行业,通过双目摄像头完成3D环境感知来实现路径规划、避障及物体识别。虚拟现实VR(VirtualReality)行业,使用双目摄像头完成VR头盔的定位追踪、操作手柄定位及3D内容采集。使用双目摄像头拍摄的左右图像是实现以上三维测量应用的基础。当前通用的双目摄像头一般使用定焦镜头,拍摄设备对焦距离固定,当拍摄场景发生变化时,如果新的场景深度超出了摄像头的景深范围,拍摄的图像可能是模糊的,从而左右摄像头图像的立体匹配效果不佳,计算出的稠密深度点云精度差。
以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
为解决上述技术问题,本发明提出一种自动对焦双目摄像头的产线标定方法、3D立体视觉拍摄方法和计算稠密深度点云的方法,可以使得拍摄的视频时刻保持清晰,也可以计算出稠密的深度点云。
为了达到上述目的,本发明采用以下技术方案:
本发明公开了一种自动对焦双目摄像头的产线标定方法,包括:
A1:在双目摄像头的一场景深度位置处配置第一标定板;
A2:将所述双目摄像头的左右摄像头的镜头按照预设步长移动至一个新位置后,左右摄像头分别拍摄第一标定板以获取第一标定板图像;
A3:重复步骤A2,以获取左右摄像头的镜头的多个位置处拍摄的第一标定板图像,使得左右摄像头各自分别获取一组第一标定板图像;
A4:分别计算左右摄像头各自获取的一组第一标定板图像中预设区域的对比度,将各组中对比度最大时对应的镜头的位置分别确定为左右摄像头各自对于当前场景深度的最佳对焦位置;
A5:重复步骤A1~A4,以获取整个深度范围内的多个场景深度下左右摄像头各自对于各个场景深度的最佳对焦位置,并依据左右摄像头各自对于各个场景深度的最佳对焦位置得到左右摄像头各自的场景深度和最佳对焦位置关系的曲线,再根据左右摄像头各自的场景深度和最佳对焦位置关系的曲线得到整个深度范围内的多个场景深度下对应的关联对焦位置,各个所述关联对焦位置分别由场景深度和对应的左摄像头最佳对焦位置、右摄像头最佳对焦位置组成;
A6:根据步骤A5中获取的各个所述关联对焦位置,在每个所述关联对焦位置中的场景深度下,分别对左右摄像头进行单目标定得到左右摄像头的单目摄像头参数,并结合左右摄像头的单目摄像头参数标定双目摄像头的相对位置。
在一些实施例中,本发明还包括如下技术特征:
所述第一标定板为实心圆点阵列标定板,其尺寸、圆点直径及间距与场景深度成正相关。
步骤A4中的所述预设区域包括一个区域或者五个区域,其中一个区域是指图像中心的方形区域,五个区域是指图像中心的方形区域和图像中0.5或0.8视场处的四个方形区域。
步骤A1中配置的所述第一标定板垂直于双目摄像头的光轴,且整个深度范围分为多段深度区间,每一段使用一个尺寸的标定模板;当双目摄像头进入下一段深度区间标定时,更换与该段深度区间相适应的标定模板;在每一次执行步骤A3前执行的步骤A2中,将左右摄像头的镜头移动至对焦距离最近处,步骤A3中重复步骤A2时,依序将左右摄像头的镜头按预设步长移动,直至左右摄像头的镜头位于对焦距离最远处,以遍历完左右摄像头的镜头的全部位置。
步骤A6具体包括:
A61:根据步骤A5中获取的各个所述关联对焦位置中的场景深度,整个深度范围分为多段深度区间,在各段深度区间下分别配置第二标定板;
A62:左右摄像头分别从不同角度拍摄第二标定板以获取多幅第二标定板图像,基于最小化重投影误差求得左右摄像头的内参数、外参数和畸变参数,结合左右摄像头的外参数标定双目摄像头的相对位置;
A63:重复步骤A61~A62,以获取在每个所述关联对焦位置中的场景深度下左右摄像头的内参数、外参数和畸变参数以及双目摄像头的相对位置。
所述第二标定板采用黑白棋盘格标定板,其尺寸、棋盘格大小及间距与场景深度成正相关;且整个深度范围分为多段深度区间,每一段使用一个尺寸的标定模板;当双目摄像头进入下一段深度区间标定时,更换与该段深度区间相适应的标定模板。
本发明公开了一种自动对焦双目摄像头的产线标定装置,包含有计算机程序,用于实现上述的产线标定方法。
本发明公开了一种自动对焦双目摄像头的3D立体视觉拍摄方法,包括:采用上述的产线标定方法对所述双目摄像头进行产线标定,以及:
B1:左右摄像头的镜头分别位于对焦在同一场景深度的初始位置处,将该场景深度保存为对比深度值,左右摄像头分别拍摄当前场景的第一帧图像;
B2:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,计算当前场景的深度;
B3:比较计算得到的当前场景的深度与对比深度值是否一致,如果是,则执行步骤B6,如果否,则执行步骤B4;
B4:基于计算得到的当前场景的深度,根据步骤A5得到的多个所述关联对焦位置,将左右摄像头的镜头分别推至与当前场景的深度对应的最佳对焦位置处,并将当前场景的深度保存为对比深度值;
B5:左右摄像头分别拍摄当前场景的新一帧图像;
B6:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,将左右摄像头分别拍摄的图像进行立体校正得到左图像和右图像,所述左图像是指左摄像头拍摄的图像立体校正后的图像,所述右图像是指右摄像头拍摄的图像立体校正后的图像;
B7:将左图像和右图像进行拼接,输出至3D显示设备的屏幕上;
B8:左右摄像头分别拍摄当前场景的新一帧图像,并返回至步骤B2。
在一些实施例中,本发明还包括如下技术特征:
步骤B2中具体采用:基于准确匹配的特征点对和该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,使用三角测距的方法计算出特征点对应的物体点的三维空间位置,以计算当前场景的深度。
步骤B6具体包括:根据该对比深度值对应的左右摄像头的所述单目摄像头参数分别消除左右摄像头分别拍摄的图像的畸变;再根据该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,把消除畸变后的左右摄像头分别拍摄的图像投影至同一平面并进行行对齐,使得一幅图像上任意一点与在另一幅图像上的对应点在相同的行,以通过立体校正得到左图像和右图像。
步骤B7中将左图像和右图像进行拼接,还包括将拼接的图像的分辨率进行调整以使得拼接的图像的分辨率与3D显示设备的分辨率相同,再将拼接并调整分辨率的图像输出至3D显示设备的屏幕上。
本发明公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上述的3D立体视觉拍摄方法的步骤。
本发明公开了一种基于自动对焦双目摄像头的计算深度点云的方法,包括:采用上述的产线标定方法对所述双目摄像头进行产线标定,以及:
C1:左右摄像头的镜头分别位于对焦在同一场景深度的初始位置处,将该场景深度保存为对比深度值,左右摄像头分别拍摄当前场景的第一帧图像;
C2:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,计算当前场景的深度;
C3:比较计算得到的当前场景的深度与对比深度值是否一致,如果是,则执行步骤C6,如果否,则执行步骤C4;
C4:基于计算得到的当前场景的深度,根据步骤A5得到的多个所述关联对焦位置,将左右摄像头的镜头分别推至与当前场景的深度对应的最佳对焦位置处,并将当前场景的深度保存为对比深度值;
C5:左右摄像头分别拍摄当前场景的新一帧图像;
C6:根据该对比深度值对应的关联对焦位置处的所标定的单目摄像头参数和双目摄像头的相对位置,将左右摄像头分别拍摄的图像进行立体校正得到左图像和右图像,所述左图像是指左摄像头拍摄的图像立体校正后的图像,所述右图像是指右摄像头拍摄的图像立体校正后的图像;
C7:将左图像和右图像进行立体匹配,生成视差图;
C8:基于视差图,计算双目摄像头的稠密深度点云;
C9:左右摄像头分别拍摄当前场景的新一帧图像,并返回至步骤C2。
在一些实施例中,本发明还包括如下技术特征:
步骤C2中具体采用:基于准确匹配的特征点对和该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,使用三角测距的方法计算出特征点对应的物体点的三维空间位置,以计算当前场景的深度。
步骤C6具体包括:根据该对比深度值对应的左右摄像头的所述单目摄像头参数分别消除左右摄像头分别拍摄的图像的畸变;再根据该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,把消除畸变后的左右摄像头分别拍摄的图像投影至同一平面并进行行对齐,使得一幅图像上任意一点与在另一幅图像上的对应点在相同的行,以通过立体校正得到左图像和右图像。
步骤C7具体包括:
对所述左图像上的任意像素点在所述右图像上的同一行上进行立体匹配,匹配完成后,根据立体匹配的两个对应的像素点在图像的像素点的水平方向位置坐标计算出该像素点在所述左图像和所述右图像的视差Δδ:Δδ=x1-x2,对每个像素点计算视差得到视差图;其中,x1和x2分别是该像素点在所述左图像和所述右图像中的水平方向坐标。
步骤C8具体包括:
C81:基于视差图,根据公式计算出像素点对应的物体点在立体校正后的右摄像头拍摄的图像上的深度Z,以将视差图转换为深度图;其中,B为左右摄像头的光心的距离,f为左摄像头或右摄像头的焦距,Δδ为像素点在立体校正后的左右摄像头分别拍摄的图像的视差;
C82:根据深度图得到每个像素点在右摄像头坐标系中的第三维深度坐标Z,并计算每个像素点在右摄像头坐标系中的X、Y坐标:
式中,(cx,cy)为右摄像头的主点,fx、fy分别为右摄像头的水平和垂直方向的焦距,(x,y)为右摄像头中对应的像素点的像素坐标;
C83:根据步骤C82得到右图像的每个像素点在右摄像头坐标系下的三维坐标,结合每个像素点在右图像上的RGB色彩信息,得到各个像素点的点云为P={X,Y,Z,R,G,B};计算出深度图中所有像素点的三维坐标和对应的RGB色彩信息,得到双目摄像头的稠密深度点云。
本发明公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上述的计算深度点云的方法的步骤。
与现有技术相比,本发明的有益效果在于:
本发明公开的自动对焦双目摄像头的产线标定方法,其中标定了左右摄像头各自的场景深度和最佳对焦位置关系曲线,根据该曲线可以确定整个深度范围内的一系列关联对焦位置,使得可以根据深度直接推动镜头至对应该深度的最佳对焦位置,一步完成对焦,省去频繁的往复搜索过程,提高对焦速度,从而可以让双目摄像头时刻保持清晰对焦;并且在每一个关联对焦位置,对左右摄像头分别进行单目摄像头标定并标定双目摄像头的相对位置,为后续生成对焦清晰、准确对齐且高质量的3D图像以及计算稠密的深度点云打下基础。
本发明公开的自动对焦双目摄像头的3D立体视觉拍摄方法,在对自动对焦双目摄像头进行产线标定之后,在初始的关联对焦位置,左右摄像头分别拍摄当前场景的图像,并计算当前场景的深度,基于当前场景深度,根据标定的左右摄像头各自的场景深度和最佳对焦位置关系曲线,将左右摄像头镜头分别推至当前场景的最佳对焦位置,左右摄像头分别拍摄当前场景的清晰图像;然后对左右摄像头的图像去除畸变及立体校正,将立体校正后的左右图像拼接并全屏输出在3D显示设备上,生成对焦清晰、准确对齐且高质量的3D图像。
本发明公开的自动对焦双目摄像头的计算稠密深度点云的方法,在对自动对焦双目摄像头进行产线标定之后,在初始的关联对焦位置,左右摄像头分别拍摄当前场景的图像,并计算当前场景的深度,基于当前场景深度,根据标定的左右摄像头各自的场景深度和最佳对焦位置关系曲线,将左右摄像头镜头分别推至当前场景的最佳对焦位置,左右摄像头分别拍摄当前场景的清晰图像,然后对左右摄像头的图像去除畸变及立体校正,立体校正后的左右图像进行立体匹配,生成视差图,从而可以计算出高精度的稠密深度点云。
附图说明
图1是本发明实施例一的自动对焦双目摄像头的产线标定方法流程图;
图2是本发明实施例一中的第一标定板的示意图;
图3是图1中步骤A6的具体流程图;
图4是本发明实施例一中的第二标定板的示意图;
图5是自动对焦过程中计算对比度得到的曲线图;
图6是标定的左右摄像头各自的场景深度和最佳对焦位置关系曲线图及关联对焦位置示意图;
图7是本发明实施例二的自动对焦双目摄像头的3D立体视觉拍摄方法流程图;
图8是深度计算示意图;
图9a是双目摄像头原始的左右图像示意图;
图9b是双目摄像头立体校正后的左右图像示意图;
图10是本发明实施例三的自动对焦双目摄像头的计算稠密深度点云的方法流程图。
具体实施方式
以下对本发明的实施方式作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于电路/信号连通作用。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
实施例一:
如图1所示,本发明实施例一公开了一种自动对焦双目摄像头的产线标定方法,包括以下步骤:
A1:在双目摄像头的一场景深度位置处配置第一标定板;
本实施例中,第一标定板为实心圆点阵列标定板,具体地,该实心圆点阵列标定板的图案如图2所示,该实心圆阵列由C行×L列个实心圆组成,C和L为自然数(例如C为8,L为11),每个实心圆大小相同,半径一致,且水平及垂直方向圆心距均相同。标定时,配置的第一标定板须垂直于双目摄像头的光轴。
摄像头的视场范围与场景深度成正比,例如摄像头拍摄场景深度g时其视场范围(水平及垂直方向)是摄像头拍摄场景深度g/2时其视场范围(水平及垂直方向)的2倍。因此在本实施例中,标定时使用的实心圆阵列模板尺寸、圆点的直径及间距应随场景深度增大而正比例放大。进一步地,考虑产线效率、生产成本,将整个深度范围分为若干段深度区间,每一段深度区间使用一个尺寸的标定模板。当双目摄像头进入下一段深度区间标定时,需要更换与该段深度区间相适应的标定模板,其尺寸、圆点直径及间距与场景深度成正比。
A2:将双目摄像头的左右摄像头的镜头按照预设步长移动至一个新位置后,左右摄像头分别拍摄第一标定板以获取第一标定板图像;
A3:重复步骤A2,以获取左右摄像头的镜头的多个位置处拍摄的第一标定图像,使得左右摄像头各自分别获取一组第一标定板图像;
步骤A3进一步具体为:重复步骤A2,以遍历完左右摄像头的镜头的全部位置,左右摄像头各自分别获取一组在不同位置处所拍摄的第一标定板图像。在一个优选的实施例中,在每一次执行步骤A3前执行的步骤A2中,将左右摄像头的镜头移动至对焦距离最近处,步骤A3中重复步骤A2时,依序将左右摄像头的镜头按预设步长移动,直至左右摄像头的镜头位于对焦距离最远处,以遍历完左右摄像头的镜头的全部位置。
A4:分别计算左右摄像头各自获取的一组在不同位置处所拍摄的第一标定板图像中预设区域的对比度,将各组中对比度最大时对应的镜头的位置分别确定为左右摄像头各自对于当前场景深度(该当前场景深度是指第一标定板到左右摄像头的距离)的最佳对焦位置;
在实施例中,预设区域包括一个区域或者五个区域,其中一个区域是指图像中心的方形区域,五个区域是指图像中心的方形区域和图像中0.5或0.8视场处的四个方形区域。
其中,分别计算左右摄像头各自获取的一组在不同位置处所拍摄的第一标定板图像中预设区域的对比度具体采用公式进行计算,式中,Lmax和Lmin分别为预设区域中最大的像素灰度值和最小的像素灰度图。对比度值越大,该区域的图像越清晰。
自动对焦摄像头对焦时,按一定规律遍历镜头位置,寻找图像最清晰的镜头位置。本实施例使用的策略是摄像头光轴垂直于标定模板,其镜头由对焦距离最近处按一定步长移动,直至对焦距离最远处的镜头位置,在每个位置拍摄一张标定模板的图像并计算该图像指定区域的对比度,例如图像中心区域。所有位置的图像拍摄及对比度计算完成后,找到对比度峰值对应的摄像头镜头位置,将镜头推回该位置处,即为最佳对焦位置,且完成摄像头的对焦。
A5:重复步骤A1~A4,以获取整个深度范围内的多个场景深度下左右摄像头各自对于各个场景深度的最佳对焦位置,并依据左右摄像头各自对于各个场景深度的最佳对焦位置得到左右摄像头各自的场景深度(标定过程中该场景深度是指第一标定板到对应摄像头的距离)和最佳对焦位置关系的曲线,再根据左右摄像头各自的场景深度和最佳对焦位置关系的曲线得到整个深度范围内的多个场景深度下对应的关联对焦位置,各个所述关联对焦位置分别由场景深度和对应的左摄像头最佳对焦位置、右摄像头最佳对焦位置组成;
其中,获取整个深度范围内的多个场景深度下左右摄像头各自对于各个场景深度的最佳对焦位置步骤具体为:遍历整个深度范围内的各个场景深度,获取左右摄像头各自对于各个场景深度的最佳对焦位置。
本实施例中,在产线上的标定工位,双目摄像头固定在一个可以精确定位的电动滑轨上,滑轨的另一端放置实心圆阵列作为摄像头对焦标定模板图案。双目摄像头移至距离标定板最近的距离g1处静止不动,左右摄像头光轴垂直于标定板、分别对焦,确定最佳对焦位置CodeL1及CodeR1。双目摄像头按一定间距移至下一个位置,左右摄像头停在距标定板一个新距离g2处,左右摄像头分别对焦,确定最佳对焦位置CodeL2及CodeR2。依次类推,从而标定出整个深度区间内,左右摄像头在每个标定距离各自的最佳对焦位置。
摄像头的视场范围与场景深度成正比,例如摄像头拍摄场景深度g时其视场范围(水平及垂直方向)是摄像头拍摄场景深度g/2时其视场范围(水平及垂直方向)的2倍。因此在本实施例中,标定时使用的实心圆阵列模板尺寸、圆点的直径及间距应随场景深度增大而正比例放大。进一步地,考虑产线效率、生产成本,将整个深度范围分为若干段深度区间,每一段深度区间使用一个尺寸的标定模板。当双目摄像头进入下一段深度区间标定时,需要更换与该段深度区间相适应的标定模板,其尺寸、圆点直径及间距与场景深度成正比。
对于左右摄像头,针对整个深度区间的每个标定距离,搜索出最佳对焦位置,从而确定了左右摄像头各自的场景深度与最佳对焦位置的关系曲线。由于摄像头组装过程中的误差,每个双目摄像头的左右摄像头对同一深度的最佳对焦位置可能不一致,所以左右摄像头需要分别标定场景深度和最佳对焦位置的关系曲线。
对焦于同一个场景深度gi的左右摄像头的镜头位置记为该深度的左、右摄像头的关联对焦位置[gi CodeLi CodeRi]。对于整个深度区间,场景深度和最佳对焦位置的关系曲线标定完成后,形成了一系列关联对焦位置。关联对焦位置可用于实现快速对焦,在场景深度已知的情况下,根据深度直接推动镜头至对应该深度的最佳对焦位置,一步完成对焦,省去频繁的往复搜索过程,提高对焦速度。
A6:根据步骤A5中遍历的整个深度范围内的各个场景深度,在每个场景深度下,分别对左右摄像头进行单目标定得到左右摄像头的单目摄像头参数,并结合左右摄像头的单目摄像头参数标定双目摄像头的相对位置。
如图3所示,步骤A6具体包括:
A61:根据步骤A5中获取的各个所述关联对焦位置中的场景深度,整个深度范围分为多段深度区间,在各段深度区间下分别配置第二标定板;
本实施例中,第二标定板采用黑白棋盘格标定板,具体地,该黑白棋盘格标定板的图案如图4所示,该黑白棋盘格由Q行×E列个黑白格子组成,Q和E为自然数;每个黑色及白色格子大小相同,边长一致,且水平及垂直方向上黑白格子均间隔排列。由于摄像头的视场范围与场景深度成正比,标定时使用的黑白棋盘格模板尺寸、格子大小及边长应随场景深度增大而正比例放大。本实施例中,考虑产线效率、生产成本,将整个深度范围分为若干段深度区间,每一段深度区间使用一个尺寸的标定模板。当双目摄像头进入下一段深度区间标定时,需要更换与该段深度区间相适应的标定模板,其尺寸、格子大小及边长与场景深度成正比。
A62:左右摄像头分别从不同角度拍摄第二标定板以获取多幅第二标定板图像,基于最小化重投影误差求得左右摄像头的内参数、外参数和畸变参数,结合左右摄像头的外参数标定双目摄像头的相对位置;
(1)单目摄像头投影模型及内参数、外参数
其中,物体点在参照坐标系的齐次坐标为[X Y Z 1],假定该点在摄像头拍照所得的像素齐次坐标为[x y 1]。根据基于小孔成像的投影模型,物体点[X Y Z 1]的光线穿过投影中心,即镜头的光心,沿直线投影到图像上,得到对应的成像像素点[x y 1]:
式中,σ是尺度因子。旋转向量R和平移向量T是摄像头的外参数,描述摄像头在参照坐标系的空间位置。K为摄像头的内参数,其定义为
式中,fx和fy分别为水平及垂直方向的焦距,cx及cy分别是图像水平及垂直方向的图像主点。
(2)单目摄像头畸变参数
由于镜头存在光学畸变,实际投影的像素点一般在图像上会同时在径向和切向有一个小幅偏移。径向畸变是指径向上向内或向外移动。切向畸变是指实际图像点在垂直于径向的方向,即切向上的偏移。前述基于投影模型的理论像素位置[x y]受畸变影响,发生偏移,其实际投影位置用下列关系来模拟
式中,[k1 k2 k3]为径向畸变参数,[p1 p2]为切向畸变参数,r2=x2+y2。
(3)单目摄像头(内参数、外参数、畸变参数)标定
标定时,摄像头从不同角度拍摄标定模板,此处以黑白棋盘格标定模板为例。每个黑白格子角点拍照时在图像中生成一个对应的图像像素点。依照基于小孔成像原理及图像畸变的投影模型,每个格子角点也可以计算出一个理论成像位置(包含畸变产生的偏移)。实际图像点和该理论像素位置的偏差称为重投影误差。该几何投影模型的参数,即摄像头的标定参数,应使得标定模板上所有黑白格子角点的重投影误差的平方和最小,此时该投影模型最准确地描述了这个镜头位置时该摄像头的光学成像投影过程:
其中,Mi为标定模板上第i个黑白格子角点的位置,n为黑白格棋盘标定模板上黑白格子角点的总个数,m为图像中该格子角点对应像素位置,为重投影位置,即格子角点在中心投影后、因图像畸变而偏移计算出来的像素位置(及包含畸变偏移),K为摄像头的内参数,旋转向量R和平移向量T是摄像头的外参数,k=[k1 k2 k3]为径向畸变参数,p=[p1 p2]为切向畸变参数。该方程用Levenberg-Marquardt,列文伯格-马夸尔特算法进行优化,若干个迭代以后,当迭代的误差小于一个预设的阀值时,优化迭代结束,求得的结果K,R,T,k,p分别为该标定距离对应的内参数,外参数及畸变参数。
(4)标定双目摄像头相对位置关系
当左右摄像头聚焦于同一个场景深度时,左摄像头镜头位置和右摄像头镜头位置是对应于该场景深度的关联位置。双目摄像头在镜头关联位置进行标定时,左右摄像头在各自镜头关联位置分别进行单目相机的标定以后,两个摄像头相对于同一个平面标定模板的位置已知(即左右摄像头各自的外参数),左摄像头的空间位置为Rl、Tl,右摄像头的空间位置为Rr、Tr,从而可以推算出两个摄像头本身的相对位置为:
式(6)中的结果(或其平均值)作为初值,左右摄像头的单目标定参数及双目摄像头相对位置应使得双目摄像头的左右图像中所有黑白格子角点的重投影误差的平方和最小:
其中,Mi为标定模板上第i个黑白格子角点的位置,n为黑白格棋盘标定模板上黑白格子角点的总个数,m为图像中该格子角点对应像素位置,为重投影位置,K为摄像头的内参数,k为径向畸变参数,p为切向畸变参数,下标l标记左摄像头,下标r标记右摄像头。R和T分别是左摄像头相对于右摄像头的旋转向量和平移向量,描述双目摄像头的相对位置关系。式(7)同样采用Levenberg-Marquardt,列文伯格-马夸尔特算法进行优化,优化后得到的双目摄像头相对位置R和T更准确。
A63:重复步骤A61~A62,以获取在每个所述关联对焦位置中的场景深度下左右摄像头的内参数、外参数和畸变参数以及双目摄像头的相对位置。
在一个具体的实施例中,在左右摄像头的一个关联对焦位置,左右摄像头同时聚焦于一个场景深度,并且同一个物体在左右摄像头图像中的尺寸一致。本实施例的自动对焦双目摄像头标定只在左右摄像头处于同一个关联对焦位置的时候进行。本实施例采用黑白棋盘格作为标定模板图案,如图4所示,该黑白棋盘格由11行×16列黑白格子组成;每个黑色及白色格子大小相同,边长一致,且水平及垂直方向上黑白格子均间隔排列。根据标定模板中水平和垂直方向上去棋盘格的个数和大小,可确定棋盘格在标定模板坐标系中的分布,得到黑白格子角点的齐次坐标[X Y 1]。在本实例中,在双目摄像头距离标定板一定距离处,左右摄像头的镜头推至对应该深度的关联对焦位置,从不同角度拍摄约20张标定模板图像。另外标定模板置于LED面板灯上,标定图案和白色背景对比强烈、易于抽取。本实例中,在标定图像拍摄完成后,侦测棋盘格区域,求取黑白格子角点投影像素位置的齐次坐标[x y 1]。根据基于小孔成像的投影模型,标定模板黑白格子角点[X Y 1]按式(1)关系投影到图像上,得到对应的成像像素点[x y 1]。
每个黑白格子角点拍照时在图像中生成一个对应的图像像素点。依照基于小孔成像原理的投影模型及上述畸变模型,每个格子角点也可以计算出一个理论成像位置(包含畸变产生的偏移)。实际图像点和该理论像素位置的偏差称为重投影误差。该几何投影模型的参数,即摄像头的标定参数,应使得标定模板上所有黑白格子角点的重投影误差的平方和最小(式(5)),此时该投影模型最准确地描述了这个镜头位置时该摄像头的光学成像投影过程。该方程用Levenberg-Marquardt(列文伯格-马夸尔特算法)进行优化,若干个迭代以后,当迭代的误差小于一个预设的阀值时,优化迭代结束,求得的结果K,R,T,k,p分别为该标定距离对应的内参数,外参数及畸变参数。
当左右摄像头聚焦于同一个场景深度时,左摄像头镜头位置和右摄像头镜头位置是对应于该场景深度的关联位置。双目摄像头在镜头关联位置进行标定时,左右摄像头在各自关联镜头位置分别进行单目相机的标定以后,两个摄像头相对于同一个平面标定模板的位置已知,从而以上两个摄像头本身的相对位置可以根据式(6)和(7)标定。双目摄像头在不同深度处对焦,镜头与成像面的距离改变,摄像头的内参数、外参数、畸变参数以及两个摄像头之间的相对位置都会随之发生改变。因此需要对双目摄像头在不同距离下进行标定。上述标定过程需要在每个对焦标定深度下的关联位置重复一次,即标定出左右摄像头在该深度下的内参数、外参数和畸变参数以及两个摄像头的相对位置。每个对焦距离(即每个关联对焦位置)的标定参数用于该距离下对双目摄像头的左右图像进行立体校正、场景测距及生成深度点云。
本发明实施例一公开的产线标定方法中,其中创新性地提出场景深度与最佳对焦位置关系曲线的标定步骤、以及获取双目摄像头的关联对焦位置步骤。
场景深度与最佳对焦位置关系曲线的标定步骤包括:对于每一个场景深度,自动对焦摄像头的镜头分别对应一个最佳对焦位置,在该位置所拍摄的场景图像最清晰。场景深度和最佳对焦位置关系曲线的标定是指,在整个深度范围内,自动对焦的摄像头依次拍摄每个场景深度gi处的标定模板,例如圆点阵标定模板,寻找该深度对应的最佳对焦位置,确定出该自动对焦摄像头拍摄每个场景深度时镜头的最佳对焦位置codei。标定的场景深度和最佳对焦位置关系曲线由一系列场景深度及其对应的镜头最佳对焦位置组成(如图6所示中包含左摄像头场景深度与最佳对焦位置的关系曲线以及右摄像头场景深度与最佳对焦位置的关系曲线)。在场景深度已知的情况下,根据标定的场景深度和最佳对焦位置关系曲线,可以直接将镜头推至该深度对应的最佳对焦位置,不需要搜索,直接完成对焦。自动对焦双目摄像头其左右摄像头需要分别标定各自的场景深度和最佳对焦位置关系曲线。
双目摄像头的关联对焦位置步骤包括:在自动对焦的双目摄像头其左右摄像头分别完成场景深度与最佳对焦位置关系曲线的标定后,可以将对焦在同一场景深度的左右摄像头的镜头位置关联起来,即双目摄像头对焦在该深度的关联对焦位置[gi CodeLi CodeRi](如图6所示,在同一场景深度gi下分别关联左摄像头最佳对焦位置CodeLi和右摄像头最佳对焦位置CodeRi)。遍历不同的场景深度,得到双目摄像头对应各个场景深度的关联对焦位置。左右摄像头处于关联对焦位置时,左右摄像头均拍摄出该场景深度最清晰的图像;同一物体此刻在左右摄像头图像中的尺寸一致。在对焦过程中,如果拍摄的场景深度已知(例如基于已标定的双目摄像头参数计算),根据标定的左右摄像头各自的场景深度与最佳对焦位置关系曲线,将左右摄像头的镜头分别推到最佳对焦位置,实现清晰对焦。
实施例二:
本发明实施例二公开了一种自动对焦双目摄像头的3D立体视觉拍摄方法,该用于录制3D立体视频的自动对焦双目摄像头在产线生产时需要进行两个标定。首先是左右摄像头各自的场景深度和最佳对焦位置关系曲线的标定,并且根据该曲线确定整个深度范围内的一系列关联对焦位置。其次在每一个关联位置,对左右摄像头分别进行单目标定并标定双目摄像头的相对位置。
自动对焦双目摄像头在产线上完成以上两个标定后,在线使用时,如图7所示,本发明实施例二公开的3D立体视觉拍摄方法按照以下步骤进行:
B0:自动对焦双目摄像头连接并打开;
B1:左右摄像头的镜头分别位于对焦在同一场景深度的初始位置处,将当前的该场景深度保存为对比深度值,左右摄像头分别拍摄当前场景的第一帧图像;
B2:根据该比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,计算当前场景的深度;
具体地,深度信息计算的步骤包括:当双目摄像头分别在一个镜头关联位置标定以后,得到一组双目摄像头的标定参数。基于该组标定参数,以场景物体表面一点P为例,该点深度信息计算如下:如图8所示,在左摄像头坐标系内,其光心C1坐标为原点,点P在左摄像头成像对应点m1的坐标为[x1 y1 f1]。在右摄像头坐标系内,其光心C2坐标为原点,点P在右摄像头成像对应点m2的坐标为[x2 y2 f2]。C1及m1在右摄像头坐标系的坐标分别为及P点坐标即为C1、m1连线与C2、m2连线在右摄像头坐标系下的交点,P点的深度信息为该交点的Z轴坐标。
本实施例中双目摄像头计算深度采用三角测量法,三角测量是已知双目摄像头标定参数和物体点在左右图投影点的匹配关系,基于物体点和左右摄像头光心构成的三角形求该物体点3D深度的方法。三角测距首先需要把空间中同一个物体点在左图和右图的投影位置一一对应。在左右图像中寻找同一物体点的匹配投影点有光流法、特征点匹配法和块匹配法等。本系统使用特征点检测算法中成熟和计算高效的SURF(Speeded Up RobustFeatures,加速稳健特征)算法,而后通过唯一性检查(即左右图的一个特征点同时是对方唯一对应的匹配点)及RANSAC(RANdom SAmple Consensus,随机抽样一致算法,计算透视变换矩阵来筛选符合相同透视条件的特征点匹配对)方法剔除匹配不准确的特征点对。基于准确匹配的特征点对及双目摄像头内参数及相对位置,使用三角测距的方法计算出特征点对应的物体点的三维空间位置。
B3:比较计算得到的当前场景的深度与对比深度值是否一致,如果是,则执行步骤B6,如果否,则执行步骤B4;
B4:基于计算得到的当前场景的深度,根据步骤A5得到的左右摄像头各自的场景深度和最佳对焦位置关系的曲线,将左右摄像头的镜头分别推至与当前场景的深度对应的最佳对焦位置处,并将当前场景的深度保存为对比深度值;
B5:左右摄像头分别拍摄当前场景的新一帧图像;
B6:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,将左右摄像头分别拍摄的图像进行立体校正得到左图像和右图像,左图像是指左摄像头拍摄的图像立体校正后的图像,右图像是指右摄像头拍摄的图像立体校正后的图像;
理想的平行双目摄像头仅存在水平位置偏移,两个摄像头光轴平行,物体投影点在左右图像上的高度一致。由于两个摄像头组装时存在机械误差,同时镜头的组装也存在误差,左右摄像头的光轴实际上是不完全平行的。立体校正主要完成两个任务:根据双目摄像头在不同深度对应的关联位置标定的畸变参数去除图像畸变;根据左右摄像头在关联位置标定的内参数、外参数及相对位置,把消除畸变后的两幅图像行对齐,使得一幅图像上任意一点与其在另一幅图像上的对应点在相同的行。如图9a和图9b所示,本实施例先将两个左右图像投影至同一平面,再旋转图像至行对齐完成双目图像的立体校正。立体校正完成后,校正后的左右摄像头光轴平行,左右图无畸变、共面且行对齐,可以在同一行上寻找匹配的特征点来计算深度或拼接成Side-By-Side格式输出3D图像。
B7:将左图像和右图像进行拼接为Side-By-Side格式(SBS,左右格式),并全屏输出在3D显示设备屏幕上;
双目摄像头的左右图像完成去畸变及立体校正后,两个相机的光轴平行,同一物体点在左右图像上的高度一致。左右图像无畸变且行对齐,此时左图像上一点,其在右图像上的对应点处于相同的行。行对齐后,物体点在左图中的投影点与其在右图中投影点在同一行上,右图中匹配的投影点只需要在该行而非全图中寻找。
经过双目校正后的左右摄像头的图像并排排列在一起生成一张拼接图,左图在拼接图的左侧,右摄像头的图像排列在拼接图的右侧。该格式称为3D图像的左右格式,即Side-By-Side格式,按该格式输出到三维显示设备,例如VR头显,人眼可以观看到该场景的3D立体效果。拼接的左右图具有以下几个性质:一是左右图的图像内容一致,即只保留左右摄像头视场角的共同区域的内容;二是左右图的尺寸一致,除了左右图像的分辨率相同外,同一物体在左右图中的大小相等;三是左右图拍摄时保持同步,左右摄像头的图像采集帧率一样且同步,保证左右图拍图时刻一致;四是行对齐,即左右图像经过双目立体校正后,同一个物体点在左右图中的投影点在同一行。拼接后的左右图像共面且行对齐,仅存在水平方向上的视差,即同一个物体点在左右图像投影点的水平方向位置差。物体距离越近视差越大,距离越远视差越小。
为了适配显示设备的分辨率,需要将拼接图的分辨率放大或者缩小,使拼接图和显示设备的分辨率一样(或水平垂直比例相同)。将Side-By-Side格式的图像输出到支持该格式的AR头显、VR头显、MR头显以及专业3D显示器中,以全屏显示的方式,双眼(或带3D眼镜)可以观察到清晰的立体效果。
B8:左右摄像头分别拍摄当前场景的新一帧图像,并返回至步骤B2;直至双目摄像头关闭并断开。
基于上述实施例二公开的自动对焦双目摄像头的3D立体视觉拍摄方法,该3D立体视觉拍摄方法可以应用于一种带自动对焦功能的双目摄像头的3D立体视觉拍摄系统,带有自动对焦功能的摄像头,其镜头一般固定在一个电子及机械运动机构上,例如VCM马达(Voice Coil Motor,音圈马达)等;镜头在镜筒内由运动机构沿光轴前后推动,改变位置。镜头到成像芯片表面的距离改变(即像距发生了变化),摄像头对焦的深度也随之发生了变化,从而可以实现针对不同场景深度的对焦功能;带自动对焦的摄像头,对于每一个场景深度,镜头在镜筒里都有一个对应的位置,不同的位置其参数值也不同。
实施例二公开的自动对焦双目摄像头的3D立体视觉拍摄方法具有以下优势:(1)与传统的定焦双目摄像头相比,本发明实施例二公布的方法利用了双目摄像头自动对焦的优势,摄像头能始终适应场景的深度,保持对焦。与当前通用的定焦双目摄像头相比,在拍摄过程中,针对场景的变化,始终保持实时对焦,视频的画面一直清晰,提供优质的3D立体视觉体验,增强产品竞争力。(2)生产时分别在多个关联镜头位置对双目摄像头进行标定,总共得到多组双目摄像头标定参数。多组标定参数有效地补偿了自动对焦摄像头拍照过程中镜头位置变化造成的参数差异,从而提高了立体校正的精度,可以优化3D视频的效果,提升用户体验。
实施例三:
本发明实施例三公开了一种自动对焦双目摄像头的计算稠密深度点云的方法,其中的自动对焦双目摄像头在产线生产时也同样需要进行两个标定:包括左右摄像头各自的场景深度和最佳对焦位置关系曲线的标定和在每一个关联位置左右摄像头分别进行单目标定并标定双目摄像头的相对位置,标定的方法步骤与实施例二相同,在此不再赘述。
自动对焦双目摄像头在产线上完成以上两个标定后,在线使用时,如图10所示,本发明实施例三公开的计算稠密深度点云的方法按照以下步骤进行:
C0:自动对焦双目摄像头连接并打开;
C1:左右摄像头的镜头分别位于对焦在同一场景深度的初始位置处,将当前的该场景深度保存为对比深度值,左右摄像头分别拍摄当前场景的第一帧图像;
C2:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,计算当前场景的深度;
本实施例中的计算深度的方法与实施例二相同,在此不再赘述。
C3:比较计算得到的当前场景的深度与对比深度值是否一致,如果是,则执行步骤C6,如果否,则执行步骤C4;
C4:基于计算得到的当前场景的深度,根据步骤A5得到的左右摄像头各自的场景深度和最佳对焦位置关系的曲线,将左右摄像头的镜头分别推至与当前场景的深度对应的最佳对焦位置处,并将当前场景的深度保存为对比深度值;
C5:左右摄像头分别拍摄当前场景的新一帧图像;
C6:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,将左右摄像头分别拍摄的图像进行立体校正得到左图像和右图像,所述左图像是指左摄像头拍摄的图像立体校正后的图像,所述右图像是指右摄像头拍摄的图像立体校正后的图像;
本实施例中的去除畸变和立体校正的步骤与实施例二相同,在此不再赘述。
C7:将左图像和右图像进行立体匹配,生成视差图;
双目摄像头的左右摄像头图像立体匹配具体包括:双目摄像头立体匹配的目标是为右摄像头图像中的每个像素点在左摄像头图像中找到匹配的同一点,即两个像素点是同一个物体点在左右摄像头图像上的投影。双目摄像头的左右摄像头图像去除畸变及立体校正后,两个相机的光轴平行,左右图像平行且共面,同一物体点在左右图像上投影点的高度一致。由于物体点在右图中的投影点与其在左图中投影点在同一行上,左图中匹配的投影点只需要在该行而非全图中寻找,简化了双目摄像头左右图像中同一点的匹配,使左右摄像头图像全部像素点的匹配更有效率。匹配完成后,根据两个对应点在图像的像素点的水平方向位置坐标x可以计算出该点在左右图的视差Δδ=x1-x2,其中x1和x2分别为该像素点在右摄像头及左摄像头图像中的水平方向x坐标。根据:
可以计算出该像素点对应物体点的深度Z,从而将视差图转换为深度图,其中B为左右摄像头的光心的距离,f为摄像头的焦距(此处左右摄像头同类型,焦距一致),Δδ为像素的视差。
本实施例采用半全局块匹配(Semi-Global Block Matching,SGBM)算法基于校正后的左右摄像头图像计算得到视差图,该算法具有视差效果好、速度快的特点。匹配完成后,根据两个对应点在图像的像素点的水平方向位置坐标计算出该点在左右图的视差。对每个像素计算视差从而得到右摄像头图像的视差图,根据式(8)可以计算出这些像素点对应的深度,从而将视差图转换为深度图。
C8:基于视差图,计算双目摄像头的稠密深度点云;
双目摄像头的稠密深度点云计算具体包括:点云数据是指在一个三维坐标系统中的一组向量的集合。该组向量通常以X,Y,Z三维坐标的形势表示,一般用来代表一个物体的外表面形状。除(X Y Z)代表的空间位置信息之外,点云数据还可以附加一个点的颜色、灰度值、分割结果等。例如Pi={Xi,Yi,Zi,…}表示空间中的一个点,则{P1,P2,P3,…}表示一组点云数据。按前述方法,从双目摄像头深度图中已经得到了每个像素点在右摄像头坐标系中的第三维深度坐标Z,还需要计算每个点在右摄像头坐标系中的X,Y坐标,即生成该点的三维坐标。计算X,Y坐标的方法为
其中,cx、cy、fx、fy为右摄像头已标定的内参数,cx及cy分别是右摄像头图像水平及垂直方向的图像主点,fx和fy分别是右摄像头水平及垂直方向的焦距;x、y为右图像中该点的像素坐标。这样就计算出右摄像头图像的一个像素点在其坐标系下的三维坐标了,将每个坐标加上右摄像头图像像素的RGB(红绿蓝三色)色彩信息,最后得到一个点云的描述为P={X,Y,Z,R,G,B}。计算出深度图中所有像素点的三维坐标及颜色信息,即从二维图像中重建出稠密的三维点云信息。
在本实施例中,从双目摄像头深度图中得到了每个像素点在右摄像头坐标系中的第三维深度坐标以后,根据式(9)计算该点的水平及垂直方向坐标,从而得到右摄像头图像的一个像素点在其坐标系下的三维坐标。将每个坐标加上右摄像头图像像素的RGB(红绿蓝三色)色彩信息,最后得到一个点对应的点云。计算出深度图中所有像素点的三维坐标及颜色信息,即从二维图像中重建出稠密的三维点云信息。
C9:左右摄像头分别拍摄当前场景的新一帧图像,并返回至步骤C2,直至双目摄像头关闭并断开。
实施例三公开的自动对焦双目摄像头的计算稠密深度点云的方法具有以下优势:(1)与传统的定焦双目摄像头相比,本发明实施例三公布的方法利用了双目摄像头自动对焦的优势,摄像头能始终适应场景的深度,保持对焦。与当前通用的定焦双目摄像头相比,在拍摄过程中,针对场景的变化,始终保持实时对焦,拍摄图像的画面一直清晰,此时左右图像的立体匹配更精确,从而可以计算出高精度的稠密深度点云,增强产品竞争力。(2)生产时分别在多个关联镜头位置对双目摄像头进行标定,总共得到多组双目摄像头标定参数。多组标定参数有效地补偿了自动对焦摄像头拍照过程中镜头位置变化造成的参数差异,从而提高了稠密深度点云的精度,可以优化3D应用的效果,提升用户体验。
本发明实施例一至实施例三中所公开的基于自动对焦双目摄像头的产线标定方法、3D立体视觉拍摄方法和计算稠密深度点云的方法中,其中的标定、拍摄以及计算都是基于将该自动对焦双目摄像头在产线上完成以下两个标定:
(1)左右摄像头各自的场景深度和最佳对焦位置关系曲线的标定
摄像头的场景深度和最佳对焦位置关系曲线标定的基础是,对于每个场景深度,左右摄像头分别找到最清晰对焦于该深度的镜头位置,即该深度左右摄像头镜头的最佳对焦位置。对于左或右摄像头,针对一个场景深度,寻找左右摄像头最佳对焦位置的过程如下:在该场景深度处放一块2D平面的标定模板,此处为圆点阵标定模板(标定模板的大小须与场景深度成正比。实际生产中,考虑产线效率及成本,产线上放置若干块圆点阵标定模板,分别负责场景深度的一段范围),双目摄像头模组固定在正对标定模板的位置,即双目摄像头光轴垂直于标定模板。左右摄像头的镜头分别按一定步长移动到一个新位置,到达该位置以后,左右摄像头分别静态拍图。拍图完成后,左右摄像头的镜头按步长分别移至下一个位置,双目摄像头静态拍图。在遍历完左右摄像头镜头的全部位置后,左右摄像头分别得到一系列镜头在不同位置时所拍摄的标定模板的图像。计算该系列图像中特定区域(该特定区域一般为一个区域,即图像中心的方形区域;或者五个区域,即图像中心方形区域及图像0.5或0.8视场处的四个方形区域)的对比度,对比度最大的镜头处于的位置即为左或右摄像头对于该场景深度的最佳对焦位置。
对于双目摄像头,针对整个深度范围,确定左右摄像头场景深度和最佳对焦位置关系曲线的过程如下:在场景深度g处放一块2D平面的标定模板,此处为圆点阵标定模板(同样,产线上共有若干块圆点阵标定模板,分别负责整个深度范围中的某一段),双目摄像头模组固定在正对标定模板的位置,即双目摄像头光轴垂直于标定模板。左右摄像头分别寻找对于该场景深度的最佳对焦位置CodeL及CodeR。对于该场景深度,该深度、左摄像头最佳对焦位置及右摄像头最佳对焦位置组成一个关联位置[g CodeL CodeR]。标定模板按一定间距移至距离双目摄像头一个新的距离处,确定新的场景深度的左右摄像头镜头最佳对焦位置及关联位置。遍历整个深度范围的各个场景深度后,生成左右摄像头各自的场景深度和最佳对焦位置关系曲线以及一系列关联对焦位置。
(2)在每一个关联位置,左右摄像头分别进行单目标定并标定双目摄像头的相对位置
左右摄像头各自的场景深度和最佳对焦位置关系曲线标定完成后,对于每一个场景深度,该深度g、左摄像头最佳对焦位置CodeL及右摄像头最佳对焦位置CodeR组成一个关联位置[g CodeL CodeR]。在该关联位置,左右摄像头同时聚焦于此场景深度,并且同一个物体在左右摄像头图像的尺寸一致。本发明公开的自动对焦双目摄像头计算物体的3D深度或者合成立体视频只在左右摄像头处于同一个关联位置的时候进行。
自动对焦双目摄像头的关联对焦位置确定后,在每个关联对焦位置,进行左右摄像头单目摄像头标定及双目摄像头相对位置的标定。标定时,摄像头从不同角度拍摄标定模板,此处以黑白棋盘格标定模板为例(同样,产线上共有若干块黑白棋盘格标定模板,分别负责整个深度范围中的某一段),拍摄约20张图像。基于前述方法,通过数学优化,摄像头的标定参数使得标定模板上所有黑白格子角点的重投影误差的平方和最小,此时该投影模型最准确地描述了这个镜头位置时该摄像头的光学成像投影过程。求得的结果K,R,T,k,p分别为该标定距离对应的左右摄像头的内参数、外参数及畸变参数。左右摄像头分别完成单目摄像头标定后,结合左右摄像头的外参数标定双目摄像头的相对位置关系。
通过将自动对焦双目摄像头在产线上完成以上两个标定,使得双目摄像头实现了快速对焦,能够时刻保持清晰对焦,并进一步可以生成对焦清晰、准确对齐且高质量的3D图像以及计算精确的稠密深度点云。
此外,与实施例二相对应,本发明实施例四还公开一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现实施例二的3D立体视觉拍摄方法的步骤。
与实施例三相对应,本发明实施例五还公开一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现实施例三的计算稠密深度点云的方法的步骤。
本发明的背景部分可以包含关于本发明的问题或环境的背景信息,而不是由其他人描述现有技术。因此,在背景技术部分中包含的内容并不是申请人对现有技术的承认。
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离由所附权利要求限定的范围的情况下,可以在本文中进行各种改变、替换和变更。
Claims (19)
1.一种自动对焦双目摄像头的产线标定方法,其特征在于,包括:
A1:在双目摄像头的一场景深度位置处配置第一标定板;
A2:将所述双目摄像头的左右摄像头的镜头按照预设步长移动至一个新位置后,左右摄像头分别拍摄第一标定板以获取第一标定板图像;
A3:重复步骤A2,以获取左右摄像头的镜头的多个位置处拍摄的第一标定板图像,使得左右摄像头各自分别获取一组第一标定板图像;
A4:分别计算左右摄像头各自获取的一组第一标定板图像中预设区域的对比度,将各组中对比度最大时对应的镜头的位置分别确定为左右摄像头各自对于当前场景深度的最佳对焦位置;
A5:重复步骤A1~A4,以获取整个深度范围内的多个场景深度下左右摄像头各自对于各个场景深度的最佳对焦位置,并依据左右摄像头各自对于各个场景深度的最佳对焦位置得到左右摄像头各自的场景深度和最佳对焦位置关系的曲线,再根据左右摄像头各自的场景深度和最佳对焦位置关系的曲线得到整个深度范围内的多个场景深度下对应的关联对焦位置,各个所述关联对焦位置分别由场景深度和对应的左摄像头最佳对焦位置、右摄像头最佳对焦位置组成;
A6:根据步骤A5中获取的各个所述关联对焦位置,在每个所述关联对焦位置中的场景深度下,分别对左右摄像头进行单目标定得到左右摄像头的单目摄像头参数,并结合左右摄像头的单目摄像头参数标定双目摄像头的相对位置。
2.根据权利要求1所述的产线标定方法,其特征在于,所述第一标定板为实心圆点阵列标定板,其尺寸、圆点直径及间距与场景深度成正相关。
3.根据权利要求1所述的产线标定方法,其特征在于,步骤A4中的所述预设区域包括一个区域或者五个区域,其中一个区域是指图像中心的方形区域,五个区域是指图像中心的方形区域和图像中0.5或0.8视场处的四个方形区域。
5.根据权利要求1所述的产线标定方法,其特征在于,步骤A1中配置的所述第一标定板垂直于双目摄像头的光轴,且整个深度范围分为多段深度区间,每一段使用一个尺寸的标定模板;当双目摄像头进入下一段深度区间标定时,更换与该段深度区间相适应的标定模板;在每一次执行步骤A3前执行的步骤A2中,将左右摄像头的镜头移动至对焦距离最近处,步骤A3中重复步骤A2时,依序将左右摄像头的镜头按预设步长移动,直至左右摄像头的镜头位于对焦距离最远处,以遍历完左右摄像头的镜头的全部位置。
6.根据权利要求1所述的产线标定方法,其特征在于,步骤A6具体包括:
A61:根据步骤A5中获取的各个所述关联对焦位置中的场景深度,整个深度范围分为多段深度区间,在各段深度区间下分别配置第二标定板;
A62:左右摄像头分别从不同角度拍摄第二标定板以获取多幅第二标定板图像,基于最小化重投影误差求得左右摄像头的内参数、外参数和畸变参数,结合左右摄像头的外参数标定双目摄像头的相对位置;
A63:重复步骤A61~A62,以获取在每个所述关联对焦位置中的场景深度下左右摄像头的内参数、外参数和畸变参数以及双目摄像头的相对位置。
7.根据权利要求6所述的产线标定方法,其特征在于,所述第二标定板采用黑白棋盘格标定板,其尺寸、棋盘格大小及间距与场景深度成正相关;且整个深度范围分为多段深度区间,每一段使用一个尺寸的标定模板;当双目摄像头进入下一段深度区间标定时,更换与该段深度区间相适应的标定模板。
8.一种自动对焦双目摄像头的产线标定装置,其特征在于,包含有计算机程序,用于实现如权利要求1至7任一项所述的产线标定方法。
9.一种自动对焦双目摄像头的3D立体视觉拍摄方法,其特征在于,包括:采用权利要求1至7任一项所述的产线标定方法对所述双目摄像头进行产线标定,以及:
B1:左右摄像头的镜头分别位于对焦在同一场景深度的初始位置处,将该场景深度保存为对比深度值,左右摄像头分别拍摄当前场景的第一帧图像;
B2:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,计算当前场景的深度;
B3:比较计算得到的当前场景的深度与对比深度值是否一致,如果是,则执行步骤B6,如果否,则执行步骤B4;
B4:基于计算得到的当前场景的深度,根据步骤A5得到的多个所述关联对焦位置,将左右摄像头的镜头分别推至与当前场景的深度对应的最佳对焦位置处,并将当前场景的深度保存为对比深度值;
B5:左右摄像头分别拍摄当前场景的新一帧图像;
B6:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,将左右摄像头分别拍摄的图像进行立体校正得到左图像和右图像,所述左图像是指左摄像头拍摄的图像立体校正后的图像,所述右图像是指右摄像头拍摄的图像立体校正后的图像;
B7:将左图像和右图像进行拼接,输出至3D显示设备的屏幕上;
B8:左右摄像头分别拍摄当前场景的新一帧图像,并返回至步骤B2。
10.根据权利要求9所述的3D立体视觉拍摄方法,其特征在于,步骤B2中具体采用:基于准确匹配的特征点对和该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,使用三角测距的方法计算出特征点对应的物体点的三维空间位置,以计算当前场景的深度。
11.根据权利要求9所述的3D立体视觉拍摄方法,其特征在于,步骤B6具体包括:根据该对比深度值对应的左右摄像头的所述单目摄像头参数分别消除左右摄像头分别拍摄的图像的畸变;再根据该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,把消除畸变后的左右摄像头分别拍摄的图像投影至同一平面并进行行对齐,使得一幅图像上任意一点与在另一幅图像上的对应点在相同的行,以通过立体校正得到左图像和右图像。
12.根据权利要求9所述的3D立体视觉拍摄方法,其特征在于,步骤B7中将左图像和右图像进行拼接,还包括将拼接的图像的分辨率进行调整以使得拼接的图像的分辨率与3D显示设备的分辨率相同,再将拼接并调整分辨率的图像输出至3D显示设备的屏幕上。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求9至12任一项所述的3D立体视觉拍摄方法的步骤。
14.一种基于自动对焦双目摄像头的计算深度点云的方法,其特征在于,包括:采用权利要求1至7任一项所述的产线标定方法对所述双目摄像头进行产线标定,以及:
C1:左右摄像头的镜头分别位于对焦在同一场景深度的初始位置处,将该场景深度保存为对比深度值,左右摄像头分别拍摄当前场景的第一帧图像;
C2:根据该对比深度值对应的关联对焦位置处所标定的单目摄像头参数和双目摄像头的相对位置,计算当前场景的深度;
C3:比较计算得到的当前场景的深度与对比深度值是否一致,如果是,则执行步骤C6,如果否,则执行步骤C4;
C4:基于计算得到的当前场景的深度,根据步骤A5得到的多个所述关联对焦位置,将左右摄像头的镜头分别推至与当前场景的深度对应的最佳对焦位置处,并将当前场景的深度保存为对比深度值;
C5:左右摄像头分别拍摄当前场景的新一帧图像;
C6:根据该对比深度值对应的关联对焦位置处的所标定的单目摄像头参数和双目摄像头的相对位置,将左右摄像头分别拍摄的图像进行立体校正得到左图像和右图像,所述左图像是指左摄像头拍摄的图像立体校正后的图像,所述右图像是指右摄像头拍摄的图像立体校正后的图像;
C7:将左图像和右图像进行立体匹配,生成视差图;
C8:基于视差图,计算双目摄像头的稠密深度点云;
C9:左右摄像头分别拍摄当前场景的新一帧图像,并返回至步骤C2。
15.根据权利要求14所述的计算深度点云的方法,其特征在于,步骤C2中具体采用:基于准确匹配的特征点对和该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,使用三角测距的方法计算出特征点对应的物体点的三维空间位置,以计算当前场景的深度。
16.根据权利要求14所述的计算深度点云的方法,其特征在于,步骤C6具体包括:根据该对比深度值对应的左右摄像头的所述单目摄像头参数分别消除左右摄像头分别拍摄的图像的畸变;再根据该对比深度值对应的左右摄像头的所述单目摄像头参数和双目摄像头的相对位置,把消除畸变后的左右摄像头分别拍摄的图像投影至同一平面并进行行对齐,使得一幅图像上任意一点与在另一幅图像上的对应点在相同的行,以通过立体校正得到左图像和右图像。
17.根据权利要求14所述的计算深度点云的方法,其特征在于,步骤C7具体包括:
对所述左图像上的任意像素点在所述右图像上的同一行上进行立体匹配,匹配完成后,根据立体匹配的两个对应的像素点在图像的像素点的水平方向位置坐标计算出该像素点在所述左图像和所述右图像的视差Δδ:Δδ=x1-x2,对每个像素点计算视差得到视差图;其中,x1和x2分别是该像素点在所述左图像和所述右图像中的水平方向坐标。
18.根据权利要求14所述的计算深度点云的方法,其特征在于,步骤C8具体包括:
C81:基于视差图,根据公式计算出像素点对应的物体点在立体校正后的右摄像头拍摄的图像上的深度Z,以将视差图转换为深度图;其中,B为左右摄像头的光心的距离,f为左摄像头或右摄像头的焦距,Δδ为像素点在立体校正后的左右摄像头分别拍摄的图像的视差;
C82:根据深度图得到每个像素点在右摄像头坐标系中的第三维深度坐标Z,并计算每个像素点在右摄像头坐标系中的X、Y坐标:
式中,(cx,cy)为右摄像头的主点,fx、fy分别为右摄像头的水平和垂直方向的焦距,(x,y)为右摄像头中对应的像素点的像素坐标;
C83:根据步骤C82得到右图像的每个像素点在右摄像头坐标系下的三维坐标,结合每个像素点在右图像上的RGB色彩信息,得到各个像素点的点云为P={X,Y,Z,R,G,B};计算出深度图中所有像素点的三维坐标和对应的RGB色彩信息,得到双目摄像头的稠密深度点云。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求14至18任一项所述的计算深度点云的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111654221.7A CN114359406A (zh) | 2021-12-30 | 2021-12-30 | 自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111654221.7A CN114359406A (zh) | 2021-12-30 | 2021-12-30 | 自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114359406A true CN114359406A (zh) | 2022-04-15 |
Family
ID=81103006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111654221.7A Pending CN114359406A (zh) | 2021-12-30 | 2021-12-30 | 自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359406A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115942119A (zh) * | 2022-08-12 | 2023-04-07 | 北京小米移动软件有限公司 | 联动监控方法及装置、电子设备、可读存储介质 |
CN116074624A (zh) * | 2022-07-22 | 2023-05-05 | 荣耀终端有限公司 | 一种对焦方法和装置 |
CN117796745B (zh) * | 2024-02-29 | 2024-05-03 | 四川大学 | 一种估计消化内镜镜头进退距离的方法 |
-
2021
- 2021-12-30 CN CN202111654221.7A patent/CN114359406A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074624A (zh) * | 2022-07-22 | 2023-05-05 | 荣耀终端有限公司 | 一种对焦方法和装置 |
CN116074624B (zh) * | 2022-07-22 | 2023-11-10 | 荣耀终端有限公司 | 一种对焦方法和装置 |
CN115942119A (zh) * | 2022-08-12 | 2023-04-07 | 北京小米移动软件有限公司 | 联动监控方法及装置、电子设备、可读存储介质 |
CN115942119B (zh) * | 2022-08-12 | 2023-11-21 | 北京小米移动软件有限公司 | 联动监控方法及装置、电子设备、可读存储介质 |
CN117796745B (zh) * | 2024-02-29 | 2024-05-03 | 四川大学 | 一种估计消化内镜镜头进退距离的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI555379B (zh) | 一種全景魚眼相機影像校正、合成與景深重建方法與其系統 | |
CN106091984B (zh) | 一种基于线激光的三维点云数据获取方法 | |
JP2874710B2 (ja) | 三次元位置計測装置 | |
CN114998499B (zh) | 一种基于线激光振镜扫描的双目三维重建方法及系统 | |
CN108629829B (zh) | 一种球幕相机与深度相机结合的三维建模方法和系统 | |
JP2019532451A (ja) | 視点から距離情報を取得するための装置及び方法 | |
CN110809786A (zh) | 校准装置、校准图表、图表图案生成装置和校准方法 | |
CN109712232B (zh) | 一种基于光场的物体表面轮廓三维成像方法 | |
CN113592721B (zh) | 摄影测量方法、装置、设备及存储介质 | |
CN114359406A (zh) | 自动对焦双目摄像头的标定、3d视觉及深度点云计算方法 | |
CN113129430B (zh) | 基于双目结构光的水下三维重建方法 | |
CN104539928A (zh) | 一种光栅立体印刷图像合成方法 | |
JP7378219B2 (ja) | 撮像装置、画像処理装置、制御方法、及びプログラム | |
CN110490943B (zh) | 4d全息捕捉系统的快速精确标定方法、系统及存储介质 | |
CN111009030A (zh) | 一种多视高分辨率纹理图像与双目三维点云映射方法 | |
WO2018032841A1 (zh) | 绘制三维图像的方法及其设备、系统 | |
CN113971691A (zh) | 一种基于多视角双目结构光的水下三维重建方法 | |
Lanman et al. | Surround structured lighting for full object scanning | |
CN110211220A (zh) | 全景鱼眼摄像机的图像校准缝合和深度重建方法及其系统 | |
JP7300895B2 (ja) | 画像処理装置および画像処理方法、プログラム、並びに記憶媒体 | |
CN111292380B (zh) | 图像处理方法及装置 | |
JP2020191624A (ja) | 電子機器およびその制御方法 | |
CN101686407A (zh) | 一种采样点信息的获取方法和装置 | |
CN108090930A (zh) | 基于双目立体相机的障碍物视觉检测系统及方法 | |
JP5925109B2 (ja) | 画像処理装置、その制御方法、および制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |