基于双目摄像头捕获运动物体的单帧三维重建方法

    专利查询2026-05-02  7


    本发明属于计算机视觉领域,尤其涉及一种基于双目摄像头捕获运动物体的单帧三维重建方法。


    背景技术:

    1、近年来,三维重建领域的发展越来越迅速,并在自动驾驶、定位导航等智能汽车领域中得到广泛应用。与此同时,在对虚拟现实技术的研究和发展中,三维重建技术也逐渐凸显出其在直观物体展示的重要性。

    2、对于三维重建来说,需要有一双“眼睛”来获取物体的信息,从最开始的单个摄像头,到现在的单束激光,再到激光雷达,它们具备不同的特点和特长。基于单摄像头的结构光三维重建,难以处理复杂的物体结构,重建出的物体表面凹凸不平,且对于运动状态下的物体几乎没有办法进行拍摄以获取准确信息;基于单束激光的三维重建,对于算法的性能要求高,数据量大,在对运动物体进行检测时,会因为物体的运动带来相机的感光误差,增加了重建难度;基于激光雷达的三维重建,对颜色、图案识别能力弱,对运动物体的三维重建算法复杂,模型建立难度高。双目摄像头则可以通过视差来获取物体的深度信息,而且受环境光线的影响小,结构灵活,适用范围广,相比于激光雷达设备成本更低,算法难度更小。但是对于双目摄像头,在三维重建时,因为双目摄像头的视差问题,导致识别主体困难,框选主体困难,进而导致对物体重建的困难。并且对于运动的物体,识别和框选就更加困难和模糊,物体运动时产生的干扰也会阻碍物体的重建过程,降低重建的精确性。本发明利用非极大值抑制对噪声的高抑制性,解决了双目摄像头捕获运动物体时主体识别困难,框选难,重建难的问题,改善了运动下由主体的拖影产生的干扰影响,利用产生的拖影,通过计算图像的灰度值,还原物体的运动幅值和运动方向,提高了双目摄像头对运动物体识别的精确性和计算速度。


    技术实现思路

    1、发明目的:为了解决上述现有技术存在的问题,本发明提供了一种基于双目摄像头捕获运动物体的单帧三维重建方法。

    2、技术方案:本发明提供了基于双目摄像头捕获运动物体的单帧三维重建方法,包括如下步骤:

    3、步骤1:使用双目摄像头拍摄标定板图片进行相机标定,计算出双目摄像头的旋转矩阵e和平移矩阵h,从而计算出双目摄像机的位置矩阵[e|h];

    4、步骤2:对当前帧画面进行高斯函数计算,从而生成灰度值矩阵si,其中i=1,2;1表示左单目相机对应的图像,2表示右单目相机对应的图像;

    5、步骤3:采用拉普拉斯算子检测灰度值矩阵的边缘生成边缘点矩阵mi;

    6、步骤4:对灰度值矩阵采用sobel算子,计算出第i个图像中坐标为(x,y)的像素点的梯度幅值fi(x,y)和梯度方向θi(x,y),并将所有像素点的梯度幅值结合构成梯度幅值矩阵fi,将所有像素点的梯度方向结合构成梯度方向矩阵θi;

    7、步骤5:基于步骤4中每个元素的梯度幅值和梯度方向,采用非极大值抑制算法更新边缘点矩阵,得到最新边缘点矩阵;

    8、步骤6:判断最新边缘点矩阵中边缘点数量是否达到输出阈值t,若是则转步骤8,否则将下一帧画面作为当前帧画面,并执行步骤2和步骤3,然后转步骤7;

    9、步骤7:将当前帧边缘点矩阵与上一帧对应的最新边缘点矩阵耦合,得到当前帧的最新边缘点矩阵,并转步骤6;

    10、步骤8:将最新边缘点矩阵与双目摄像机的位置矩阵[e|h]融合,生成空间重建矩阵,并将空间重建矩阵中的元素还原到世界坐标系中,根据梯度幅值矩和梯度方向矩阵生成空间方向幅值重建矩阵,将该空间方向幅值重建矩阵还原到世界坐标系中,从而得到主体的运动幅值和运动方向,然后利用迭代最近点算法进行噪声抑制。

    11、进一步的,所述步骤1具体为:针对双目摄像机拍摄标定板的图片,应用shi-tomasi角点检测算法检测标定板角点信息,并通过角点的空间位置和以及角点在图像中的对应位置,计算出双目摄像头的旋转矩阵e和平移矩阵h,从而根据如下公式计算出双目摄像头的位置矩阵[e|h]:

    12、

    13、e表示旋转矩阵,h表示平移矩阵,e11表示世界坐标系x轴和相机坐标系x轴之间方向的旋转关系,e12表示世界坐标系x轴和相机坐标系y轴之间方向的旋转关系,e13是世界坐标系x轴和相机坐标系z轴之间方向的旋转关系,e21表示世界坐标系y轴和相机坐标系x轴之间方向的旋转关系,e22表示世界坐标系y轴和相机坐标系y轴之间方向的旋转关系,e23表示世界坐标系y轴和相机坐标系z轴之间方向的旋转关系,e31表示世界坐标系z轴和相机坐标系x轴之间方向的旋转关系,e32表示世界坐标系z轴和相机坐标系y轴之间方向的旋转关系,e33表示世界坐标系z轴和相机坐标系z轴之间方向的旋转关系,hx表示相机坐标系原点相对于世界坐标系原点在x轴方向的位置,hy表示相机坐标系原点相对于世界坐标系原点在y轴方向的位置,hz表示相机坐标系原点相对于世界坐标系原点在z轴方向的位置。

    14、进一步的,所述步骤2具体为:

    15、步骤2.1:将图像中rgb的颜色空间转换为灰度颜色空间,根据如下公式拟合出第i个图像中所有像素点的灰度值pi(x,y):

    16、pi(x,y)=0.299r+0.587g+0.114b

    17、其中,r表示单个像素中红色通道,g表示单个像素中绿色通道,b表示单个像素中蓝色通道,将所有像素的灰度值pi(x,y)结合构成灰度空间矩阵pi;

    18、步骤2.2:对第i个图像中所有像素点进行如下高斯函数运算得到qi(x,y):

    19、

    20、其中,σx表示图像像素点在x方向上的坐标值标准差,σy表示图像像素点在y方向上的坐标值标准差,μx表示所有像素点x坐标的平均值,μy表示所有像素点y坐标的平均值,σx和σy的表达式如下所示:

    21、

    22、其中,n表示像素点的总个数;xt表示第t个像素点的x轴坐标,yt表示第t个像素的y轴坐标;将第i个图像中的所有像素点对应的qi(x,y)结合构成高斯函数灰度值矩阵qi:

    23、步骤2.3:将左单目相机对应的图像的灰度空间矩阵p1中的元素和左单目相机对应的图像通过高斯函数运算得到的矩阵q1中的元素进行卷积操作,得到左单目相机对应的图像的灰度值矩阵s1,将右单目相机对应的图像的灰度空间矩阵p2中的元素和右单目相机对应的图像通过高斯函数运算得到的矩阵q2中的元素进行卷积操作,得到右单目相机对应的图像的灰度值矩阵s2,具体卷积操作如下:

    24、

    25、其中,si(x,y)表示第i个图中位置为(x,y)的像素点的灰度值,pi(i',j)表示第i个图像中坐标为(i',j)的像素点的灰度值,qi(x+i',y+j)表示第i个图像中坐标为(x+i',y+j)的像素点进行高斯函数运算后得到的值;k1表示卷积核在水平方向上的半径一半的数值,k2表示卷积核在垂直方向上的半径一半的数值,n1表示矩阵pi中行的总数,n2表示矩阵pi中列的总数,表示向下取整;将si中的所有元素结合构成灰度值矩阵si:

    26、进一步的,所述步骤3具体为:采用拉普拉斯算子检测灰度值矩阵si的边缘:

    27、

    28、其中,li(x,y)表示对si(x,y)进行拉普拉斯算子后的值,表示偏导数运算符号,表示二次偏导数运算符号,si(x,y)表示第i幅图像中坐标为(x,y)的像素点在灰度值矩阵si中的值;将li(x,y)结合构成二次偏导数矩阵li,并对li进行零交叉点检测得到边缘点矩阵mi。

    29、进一步的,所述步骤4具体为:采用sobel算子对si(x,y)进行卷积运算,得到si(x,y)水平方向的梯度幅值fix(x,y)和垂直方向的梯度幅值fiy(x,y),并使用这两个梯度幅值计算第i幅图像中坐标为(x,y)的像素点的梯度幅值fi(x,y),公式如下所示,并将fi(x,y)结合构成梯度幅值矩阵fi:

    30、

    31、根据fix(x,y)和fiy(x,y)计算出第i幅图像中坐标为(x,y)的像素点的梯度方向θi(x,y),公式如下所示,并将θi(x,y)结合构成梯度方向矩阵θi:

    32、

    33、进一步的,所述步骤5为:边缘点矩阵mi,对于单侧内的每个像素点,如果该像素点的梯度幅值是沿着梯度方向的局部最大值,则在边缘点矩阵中保留该点作为边缘点,否则将该点作为非边缘点。

    34、进一步的,所述步骤6中采用如下公式计算输出阈值t:

    35、

    36、其中,∑x,yfi(x,y)表示梯度幅值矩阵中梯度幅值的总和,∑x,ypi(x,y)表示矩阵pi中灰度值的总和,wi表示相应边最新缘点矩阵中边缘点的个数;表示梯度幅值的权重,ω表示灰度值的权重,表达式为:

    37、

    38、其中σf表示梯度幅值的标准差,σp表示灰度值的标准差,检测最新边缘点矩阵内边缘点数量是否达到输出阈值,是则执行步骤8,否则执行步骤2至步骤3,再执行步骤7。

    39、进一步的,所述步骤7中当前帧边缘点矩阵与上一帧对应的最新边缘点矩阵耦合具体为:若当前帧第i个图像中坐标为(x,y)的像素点在当前帧边缘点矩阵中值为1,且上一帧中第i个图像中相应坐标点的像素在上一帧第i个图像对应的最新边缘点矩阵中值也为1,则当前帧第i个图像中坐标为(x,y)的像素点在耦合后的边缘点矩阵中值为1,否则当前帧第i个图像中坐标为(x,y)的像素点在耦合后的边缘点矩阵中值为0,耦合后执行步骤6。

    40、进一步的,所述步骤8中根据梯度幅值矩和梯度方向矩阵生成生成空间方向幅值重建矩阵具体为:

    41、步骤8.1:将加权平均法,对两幅图像的梯度幅值进行拟合,得到加权平均梯度幅值f3(x,y):

    42、f3(x,y)=α·f1(x,y)+(1-α)·f2(x,y)

    43、其中,α为幅值权重,f1(x,y)为左单目相机对应的图像的梯度幅值矩阵在位置(x,y)的梯度幅值,f2(x,y)为右单目相机对应的图像的梯度幅值矩阵在位置(x,y)的梯度幅值,将f3(x,y)组合构成梯度幅值矩阵f3;

    44、步骤8.2:采用如下公式将θ1(x,y)和θ2(x,y)的值转换为v1和v2:

    45、

    46、其中,v1是梯度方向矩阵θ1内元素θ1(x,y)在矩阵内对应位置上的方向向量元素,v2是梯度方向矩阵θ2内元素θ2(x,y)在矩阵内对应位置上的方向向量元素;

    47、步骤8.3:采用如下公式对两个方向向量应用加权平均法,计算出加权平均后的方向向量v3:

    48、v3=βv1+(1-β)v2

    49、其中,β为方向权重,

    50、步骤8.4:按照如下公式将v3转换为角度值:

    51、θ3(x,y)=atan2(v3a,v3b)

    52、其中,atan2是一个返回原点至点(a,b)的向量与a轴正方向之间的角度的度数的函数,v3a表示向量v3在aob平面直角坐标系中的横坐标,v3b表示向量v3在aob平面直角坐标系中的纵坐标;

    53、步骤8.5:构建新的梯度方向矩阵θ3,θ3(x,y)为角度值,将θ3(x,y)结合构成梯度方向矩阵θ3;

    54、步骤8.6:将新的梯度方向矩阵θ3和梯度幅值矩阵f3与双目摄像机的位置矩阵[e|h融合,生成空间方向幅值重建矩阵,以此将此重建矩阵还原到世界坐标系中,以得到主体的运动幅值和运动方向。

    55、有益效果:

    56、1.针对运动物体三维重建的信息获取时,干扰多,识别精确度差的问题,本方案通过分别获取单一摄像头的边缘点数据,以减少拖影产生的影响,再通过双目摄像头能够计算深度的特点,结合单个摄像头获取的主体边缘点,还原出世界坐标系下的物体主体点云,通过该点云来抑制由于运动产生的模糊和拖影问题,达到识别主体,抑制噪声的效果,本发明能够在提升抗干扰性、精度性和适用性的同时,进一步降低计算成本。

    57、2.针对识别运动物体时,由拖影产生的干扰导致的噪声多,主体模糊问题,利用非极大值对于模糊噪声的高抑制性,有效的消除了运动下主体所产生的拖影现象所产生的干扰,极大程度改善了在高速运动下双目摄像头对主体识别难、框选难、重建难的问题。

    58、3.针对运动物体拖影产生的信息冗余度高,计算复杂度高的问题,对于图像的拖影效果进行再利用,通过对于图像的灰度值进行卷积,得到了物体的运动幅值和运动方向,利用双目摄像头标定后的点云生成机制,可以还原出物体在三维空间下的运动幅值和运动方向,有效改善了双目摄像头对于运动轨迹识别的精确性和计算速度。


    技术特征:

    1.基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,包括如下步骤:

    2.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤1具体为:针对双目摄像机拍摄标定板的图片,应用shi-tomasi角点检测算法检测标定板角点信息,并通过角点的空间位置和角点在图像中的对应位置,根据如下公式计算出双目摄像头的位置矩阵[e|h]:

    3.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤2具体为:

    4.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤3具体为:采用拉普拉斯算子检测灰度值矩阵si的边缘:

    5.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤4具体为:采用sobel算子对si(x,y)进行卷积运算,得到si(x,y)水平方向的梯度幅值fix(x,y)和垂直方向的梯度幅值fiy(x,y),并使用这两个梯度幅值计算第i幅图像中坐标为(x,y)的像素点的梯度幅值fi(x,y),公式如下所示,并将fi(x,y)结合构成梯度幅值矩阵fi:

    6.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤5为:边缘点矩阵mi,对于单侧内的每个像素点,如果该像素点的梯度幅值是沿着梯度方向的局部最大值,则在边缘点矩阵中保留该点作为边缘点,否则将该点作为非边缘点。

    7.根据权利要求3所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤6中采用如下公式计算输出阈值t:

    8.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤7中当前帧边缘点矩阵与上一帧对应的最新边缘点矩阵耦合具体为:若当前帧第i个图像中坐标为(x,y)的像素点在当前帧边缘点矩阵中值为1,且上一帧中第i个图像中相应坐标点的像素在上一帧第i个图像对应的最新边缘点矩阵中值也为1,则当前帧第i个图像中坐标为(x,y)的像素点在耦合后的边缘点矩阵中值为1,否则当前帧第i个图像中坐标为(x,y)的像素点在耦合后的边缘点矩阵中值为0。

    9.根据权利要求1所述的基于双目摄像头捕获运动物体的单帧三维重建方法,其特征在于,所述步骤8中根据梯度幅值矩阵和梯度方向矩阵生成生成空间方向幅值重建矩阵具体为:


    技术总结
    本发明公开了一种基于双目摄像头捕获运动物体的单帧三维重建方法,具体为:1:双目摄像头拍摄标定板图片进行相机标定;2:对单帧画面进行滤波,生成两个灰度值矩阵;3:灰度值矩阵应用拉普拉斯算子检测边缘,生成边缘点矩阵;4:对两个灰度值矩阵应用Sobel算子计算各自的梯度幅值矩阵和梯度方向矩阵;5:对边缘点矩阵应用非极大值抑制算法,生成最新边缘点矩阵;6:检测最新边缘点矩阵内边缘点数量是否达到输出阈值,若是则执行步骤8,否则执行步骤2至步骤3后再执行步骤7;7:对相邻两帧内生成的边缘点矩阵进行耦合,耦合后执行步骤6;8:对所生成的最新边缘点矩阵再加入世界坐标系,构建三维点云。

    技术研发人员:张小瑞,石泰宁,孙伟
    受保护的技术使用者:南京信息工程大学
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-35254.html

    最新回复(0)