CN115457103A - 一种基于分段平面先验的单目相机深度估计算法 - Google Patents

一种基于分段平面先验的单目相机深度估计算法 Download PDF

Info

Publication number
CN115457103A
CN115457103A CN202211045411.3A CN202211045411A CN115457103A CN 115457103 A CN115457103 A CN 115457103A CN 202211045411 A CN202211045411 A CN 202211045411A CN 115457103 A CN115457103 A CN 115457103A
Authority
CN
China
Prior art keywords
depth
plane
monocular camera
pixel
depth estimation
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
Application number
CN202211045411.3A
Other languages
English (en)
Inventor
姚健
胡超
邬伟杰
邱伟斌
顾剑峰
虞祝豪
潘倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unicom Shanghai Industrial Internet Co Ltd
Original Assignee
China Unicom Shanghai Industrial Internet Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unicom Shanghai Industrial Internet Co Ltd filed Critical China Unicom Shanghai Industrial Internet Co Ltd
Priority to CN202211045411.3A priority Critical patent/CN115457103A/zh
Publication of CN115457103A publication Critical patent/CN115457103A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及单目相机深度估计技术领域,尤其为通过设计一种基于分段平面先验的单目相机深度估计算法,其步骤具体如下:步骤S1,数据构建、数据预处理;步骤S2,单目相机图像特征提取;步骤S3:输出像素级平面系数、预测偏移量和置信度图两个Head;步骤S4:深度估计的损失函数,本发明通过设计一种基于分段平面先验的单目相机深度估计算法,该算法利用3D场景中的局部平面信息来预测场景平滑部分的一致深度值,该方法使用平面系数表示深度,从而能够共享来自种子位置的信息并提高预测深度,能隐式地学习预测这些种子位置的偏移量,并根据精度自适应地权衡从它们获得的深度,并在用于单目深度估计的主要数据集KITTIDataset、NYUv2Dataset取得前列成绩。

Description

一种基于分段平面先验的单目相机深度估计算法
技术领域
本发明涉及单目相机深度估计技术领域,具体为一种基于分段平面先验的单目相机深度估计算法。
背景技术
在单目相机深度估计中,神经网络的方法建立大量的基准模型,现有的技术从图像到深度有多种方法,第一是为监督技术的引入,基于新颖视图合成的立体对的无监督深度学***面先验传统上已用于多视图立体和重建,在最近的基于深度学***面或通过适当设计损失隐式执行的。但是显示的预测每个平面像素计算量需求大,且容易忽略现实世界3D场景的高度规律性易产生分段平滑的深度图的,无法得到精度更高的深度图。
综上所述,本发明通过设计一种基于分段平面先验的单目相机深度估计算法来解决存在的问题。
发明内容
本发明的目的在于提供一种基于分段平面先验的单目相机深度估计算法来解决现存问题,设计了输出像素级平面系数、预测偏移量和置信度图两个Head的网络结构,由像素级平面系数Head得到第一个深度预测,通过预测偏移量对平面系数进行重采样得到第二个深度预测,两个深度预测与置信度图进行自适应融合,得到最终的高精度深度预测结果,在开源数据集上位于前列位置。
为实现上述目的,本发明提供如下技术方案:
一种基于分段平面先验的单目相机深度估计算法,其步骤具体如下:
步骤S1,数据构建、数据预处理:单目相机深度估计的开源数据集主要有KITTIDataset、NYUv2 Dataset,如需在自己的数据集上进行训练,需要将数据格式准备为与上述两个数据集一致,对数据进行预处理后,提取RGB图像特征;
步骤S2,单目相机图像特征提取:单目相机图像的特征提取是使用Resnet101网络,每个残差模块由一系列步长为2的卷积和最大池化操作组成,图像输入大小为1216*352,四个卷积层通道分别为[256,512,1024,2048],通过减低特征图的分辨率来增加感受野,更好的使用不同分辨率的特征图捕获更多的上下文信息,最终的得到的特征图是输入图像的1/32;Resnet101网络利用4个不同的块将原始图像生成不同分辨率的特征图,并将不同尺度的特征图进行跳跃融合,最终网络输出两个Head,第一个Head解码获取像素级平面系数,第二个Head解码获取预测偏移量、置信度图;
步骤S3:输出像素级平面系数、预测偏移量和置信度图两个Head;
步骤S4:深度估计的损失函数。
作为本发明优选的方案,所述S1中的RGB图像维度是W*H*3,H和W分别的特征图的高和宽,3为通道数。
作为本发明优选的方案,所述S3中输出像素级平面系数、预测偏移量和置信度图两个Head,具体步骤如下:
首先像素级平面系数的解码,单目深度估计需要学习一个稠密映射:
fθ:I(u,v)→D(u,v),其中I是输入图像,D是对应的深度图;
对于深度图D以及相机内参,给定摄像机焦距(fx,fy)和主点(u0,v0),每个像素点p=(u,v)T被映射到3D空间点p=(X,Y,Z)T,使用小孔成像模型将有:
Figure BDA0003822220790000031
将每个像素反向投影到3D空间,点p是3D场景的平面部分,因此点法线形式的关联平面方程可以表示为:
n·p=d (2)
其中n=(a,b,c)T是平面法向量,-d是平面到原点的距离。
将公式(1)带入公式(2)得到:
Figure BDA0003822220790000032
Figure BDA0003822220790000033
经过归一化得到:
Figure BDA0003822220790000034
其中
Figure BDA0003822220790000035
由此公式(3)可以写成:
Z=[(αu+βv+γ)ρ]-1 (4)
使用如下标识符对公式(4)进行函数式表达:
Z=h(C,u,v) (5)
至此得到像素级平面系数C=(α,β,γ,ρ)T,所以深度估计的稠密映射可以写为:
Figure BDA0003822220790000036
其中gθ:I(u,v)→C(u,v)将图像映射到平面系数,应用公式(5),那么有:
h:(C(u,v),u,v)→Di(u,v)
由此得到初始深度预测Di(u,v);
其次,分段平面先验可以表述为对于每个具有关联3D平面的像素p,在p的邻域中存在一个种子像素q,它也与p相同的平面相关联,根据分段平面先验,像素点p的深度的预测转化为预测种子像素q,即通过预测偏移量o(p)=p-q,鉴于此,模型的第二个Head首先预测偏移向量场o(p),并使用如下方式对像素级平面系数进行重采样:
Cs(p)=C(p+o(p)) (6)
使用双线性插值来处理小数偏移,利用重新采样的平面系数来计算第二个深度预测:
Ds(u,v)=h(Cs(u,v),u,v) (7)
最后,先验并不总是有效,可能初始深度比第二个预测深度更可取,鉴于此,第二个Head额外预测一个置信度图F(u,v),取值范围是[0,1],表示模型在使用预测的种子像素通过Di(u,v)估计深度时的置信度,置信度图通过自适应融合Ds(u,v)和Ds(u,v)来计算最终深度:
Df=F(u,v)Ds(u,v)+(1-F(u,v))Di(u,v) (8)。
作为本发明优选的方案,所述S4中深度估计的损失函数,对于初始深度、第二个预测深度以及最终深度都需要进行监督,有如下损失函数:
Figure BDA0003822220790000041
其中μ和λ是超参数,Ldepth=L(Df,Dgt)+λL(Ds,Dgt)+μL(Di,Dgt)。
与现有技术相比,本发明的有益效果是:
1、本发明中,通过设计一种基于分段平面先验的单目相机深度估计算法,该算法利用3D场景中的局部平面信息来预测场景平滑部分的一致深度值,该方法使用平面系数表示深度,从而能够共享来自种子位置的信息并提高预测深度,能隐式地学习预测这些种子位置的偏移量,并根据精度自适应地权衡从它们获得的深度,并在用于单目深度估计的主要数据集KITTI Dataset、NYUv2 Dataset取得前列成绩。
附图说明
图1为本发明单目相机图像特征提取流程结构示意图;
图2为本发明输出像素级平面系数、预测偏移量和置信度图两个Head流程结构示意图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述,给出了本发明的若干实施例,但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例,相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明,本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例,请参阅图1-2,本发明提供一种技术方案:
一种基于分段平面先验的单目相机深度估计算法,其步骤具体如下:
步骤S1,数据构建、数据预处理:单目相机深度估计的开源数据集主要有KITTIDataset、NYUv2 Dataset,如需在自己的数据集上进行训练,需要将数据格式准备为与上述两个数据集一致,对数据进行预处理后,提取RGB图像特征;
其中所述S1中的RGB图像维度是W*H*3,H和W分别的特征图的高和宽,3为通道数;
步骤S2,单目相机图像特征提取:单目相机图像的特征提取是使用Resnet101网络,每个残差模块由一系列步长为2的卷积和最大池化操作组成,图像输入大小为1216*352,四个卷积层通道分别为[256,512,1024,2048],通过减低特征图的分辨率来增加感受野,更好的使用不同分辨率的特征图捕获更多的上下文信息,最终的得到的特征图是输入图像的1/32;Resnet101网络利用4个不同的块将原始图像生成不同分辨率的特征图,并将不同尺度的特征图进行跳跃融合,最终网络输出两个Head,第一个Head解码获取像素级平面系数,第二个Head解码获取预测偏移量、置信度图,如图1;
步骤S3:输出像素级平面系数、预测偏移量和置信度图两个Head;
具体的,S3中输出像素级平面系数、预测偏移量和置信度图两个Head,具体步骤如下:
首先像素级平面系数的解码,单目深度估计需要学习一个稠密映射:
fθ:I(u,v)→D(u,v),其中I是输入图像,D是对应的深度图;
对于深度图D以及相机内参,给定摄像机焦距(fx,fy)和主点(u0,v0),每个像素点p=(u,v)T被映射到3D空间点p=(X,Y,Z)T,使用小孔成像模型将有:
Figure BDA0003822220790000071
将每个像素反向投影到3D空间,点p是3D场景的平面部分,因此点法线形式的关联平面方程可以表示为:
n·p=d (2)
其中n=(a,b,c)T是平面法向量,-d是平面到原点的距离。
将公式(1)带入公式(2)得到:
Figure BDA0003822220790000072
Figure BDA0003822220790000073
经过归一化得到:
Figure BDA0003822220790000074
其中
Figure BDA0003822220790000075
由此公式(3)可以写成:
Z=[(αu+βv+γ)ρ]-1 (4)
使用如下标识符对公式(4)进行函数式表达:
Z=h(C,u,v) (5)
至此得到像素级平面系数C=(α,β,γ,ρ)T,所以深度估计的稠密映射可以写为:
Figure BDA0003822220790000076
其中gθ:I(u,v)→C(u,v)将图像映射到平面系数,应用公式(5),那么有:
h:(C(u,v),u,v)→Di(u,v)
由此得到初始深度预测Di(u,v);
其次,分段平面先验可以表述为对于每个具有关联3D平面的像素p,在p的邻域中存在一个种子像素q,它也与p相同的平面相关联,根据分段平面先验,像素点p的深度的预测转化为预测种子像素q,即通过预测偏移量o(p)=p-q,鉴于此,模型的第二个Head首先预测偏移向量场o(p),并使用如下方式对像素级平面系数进行重采样:
Cs(p)=C(p+o(p)) (6)
使用双线性插值来处理小数偏移,利用重新采样的平面系数来计算第二个深度预测:
Ds(u,v)=h(Cs(u,v),u,v) (7)
最后,先验并不总是有效,可能初始深度比第二个预测深度更可取,鉴于此,第二个Head额外预测一个置信度图F(u,v),取值范围是[0,1],表示模型在使用预测的种子像素通过Di(u,v)估计深度时的置信度,置信度图通过自适应融合Ds(u,v)和Ds(u,v)来计算最终深度,如图2:
Df=F(u,v)Ds(u,v)+(1-F(u,v))Di(u,v) (8);
步骤S4:深度估计的损失函数;
具体的,所述S4中深度估计的损失函数,对于初始深度、第二个预测深度以及最终深度都需要进行监督,有如下损失函数:
Figure BDA0003822220790000081
其中μ和λ是超参数,Ldepth=L(Df,Dgt)+λL(Ds,Dgt)+μL(Di,Dgt)。
具体实施案例:
基于分段平面先验的单目相机深度估计算法具体实施分为以下部分:
Step1,数据准备:深度估计的开源数据集主要有KITTI Dataset、NYUv2Dataset等,如需在自己的数据集上进行训练,需要将数据格式准备为与上述两个数据集一致,对数据进行预处理后,提取单目摄像机图像特征;
Step2,训练阶段:输入图像大小为1216*352*3,图像特征通道数为[256,512,1024,2048],通过四个卷积层,提取图像特征;经过特征融合层FFM,将四个卷积层一次从最后一层向第一层进行特征融合,最后经过一个卷积、归一化、激活函数和上采样,得到解码的两个输出头;第一个Head输出像素级平面系数的四个参数,根据公式(4)计算得到初始深度;第二个Head第一个输出是预测偏移量,使用公式(6)对像素级平面系数进行重采样,计算得到第二个深度,第二个输出是置信度图,使用置信度图对初始深度和第二个深度进行加权自适应融合,应用公式(8)得到最终的深度图;
Step3,测试阶段:针对测试图片,送入网络进行推理,将得到的深度预测值和真值进行比较计算mAP即得到最终精度。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (4)

1.一种基于分段平面先验的单目相机深度估计算法,其步骤具体如下:
步骤S1,数据构建、数据预处理:单目相机深度估计的开源数据集主要有KITTIDataset、NYUv2 Dataset,如需在自己的数据集上进行训练,需要将数据格式准备为与上述两个数据集一致,对数据进行预处理后,提取RGB图像特征;
步骤S2,单目相机图像特征提取:单目相机图像的特征提取是使用Resnet101网络,每个残差模块由一系列步长为2的卷积和最大池化操作组成,图像输入大小为1216*352,四个卷积层通道分别为[256,512,1024,2048],通过减低特征图的分辨率来增加感受野,更好的使用不同分辨率的特征图捕获更多的上下文信息,最终的得到的特征图是输入图像的1/32;Resnet101网络利用4个不同的块将原始图像生成不同分辨率的特征图,并将不同尺度的特征图进行跳跃融合,最终网络输出两个Head,第一个Head解码获取像素级平面系数,第二个Head解码获取预测偏移量、置信度图;
步骤S3:输出像素级平面系数、预测偏移量和置信度图两个Head;
步骤S4:深度估计的损失函数。
2.根据权利要求1所述的一种基于分段平面先验的单目相机深度估计算法,其特征在于:所述S1中的RGB图像维度是W*H*3,H和W分别的特征图的高和宽,3为通道数。
3.根据权利要求1所述的一种基于分段平面先验的单目相机深度估计算法,其特征在于:所述S3中输出像素级平面系数、预测偏移量和置信度图两个Head,具体步骤如下:
首先像素级平面系数的解码,单目深度估计需要学习一个稠密映射:
fθ:I(u,v)→D(u,v),其中I是输入图像,D是对应的深度图;
对于深度图D以及相机内参,给定摄像机焦距(fx,fy)和主点(u0,v0),每个像素点p=(u,v)T被映射到3D空间点p=(X,Y,Z)T,使用小孔成像模型将有:
Figure FDA0003822220780000021
将每个像素反向投影到3D空间,点p是3D场景的平面部分,因此点法线形式的关联平面方程可以表示为:
n·p=d (2)
其中n=(a,b,c)T是平面法向量,-d是平面到原点的距离。
将公式(1)带入公式(2)得到:
Figure FDA0003822220780000022
Figure FDA0003822220780000023
经过归一化得到:
Figure FDA0003822220780000024
其中
Figure FDA0003822220780000025
由此公式(3)可以写成:
Z=[(αu+βv+γ)ρ]-1 (4)
使用如下标识符对公式(4)进行函数式表达:
Z=h(C,u,v) (5)
至此得到像素级平面系数C=(α,β,γ,ρ)T,所以深度估计的稠密映射可以写为:
fθ:
Figure FDA0003822220780000026
其中gθ:I(u,v)→C(u,v)将图像映射到平面系数,应用公式(5),那么有:
h:(C(u,v),u,v)→Di(u,v)
由此得到初始深度预测Di(u,v);
其次,分段平面先验可以表述为对于每个具有关联3D平面的像素p,在p的邻域中存在一个种子像素q,它也与p相同的平面相关联,根据分段平面先验,像素点p的深度的预测转化为预测种子像素q,即通过预测偏移量o(p)=p-q,鉴于此,模型的第二个Head首先预测偏移向量场o(p),并使用如下方式对像素级平面系数进行重采样:
Cs(p)=C(p+o(p)) (6)
使用双线性插值来处理小数偏移,利用重新采样的平面系数来计算第二个深度预测:
Ds(u,v)=h(Cs(u,v),u,v) (7)
最后,先验并不总是有效,可能初始深度比第二个预测深度更可取,鉴于此,第二个Head额外预测一个置信度图F(u,v),取值范围是[0,1],表示模型在使用预测的种子像素通过Di(u,v)估计深度时的置信度,置信度图通过自适应融合Ds(u,v)和Ds(u,v)来计算最终深度:
Df=F(u,v)Ds(u,v)+(1-F(u,v))Di(u,v) (8)。
4.根据权利要求1所述的一种基于分段平面先验的单目相机深度估计算法,其特征在于:所述S4中深度估计的损失函数,对于初始深度、第二个预测深度以及最终深度都需要进行监督,有如下损失函数:
Figure FDA0003822220780000031
其中μ和λ是超参数,Ldepth=L(Df,Dgt)+λL(Ds,Dgt)+μL(Di,Dgt)。
CN202211045411.3A 2022-08-30 2022-08-30 一种基于分段平面先验的单目相机深度估计算法 Pending CN115457103A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211045411.3A CN115457103A (zh) 2022-08-30 2022-08-30 一种基于分段平面先验的单目相机深度估计算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211045411.3A CN115457103A (zh) 2022-08-30 2022-08-30 一种基于分段平面先验的单目相机深度估计算法

Publications (1)

Publication Number Publication Date
CN115457103A true CN115457103A (zh) 2022-12-09

Family

ID=84301395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211045411.3A Pending CN115457103A (zh) 2022-08-30 2022-08-30 一种基于分段平面先验的单目相机深度估计算法

Country Status (1)

Country Link
CN (1) CN115457103A (zh)

Similar Documents

Publication Publication Date Title
CN111739078B (zh) 一种基于上下文注意力机制的单目无监督深度估计方法
CN110443842B (zh) 基于视角融合的深度图预测方法
CN112104830B (zh) 视频插帧方法、模型训练方法及对应装置
EP3510561B1 (en) Predicting depth from image data using a statistical model
CN110782490B (zh) 一种具有时空一致性的视频深度图估计方法及装置
US11017586B2 (en) 3D motion effect from a 2D image
CN103945208B (zh) 一种针对多视点裸眼3d显示的并行同步缩放引擎及方法
CN111739082B (zh) 一种基于卷积神经网络的立体视觉无监督深度估计方法
CN113542651B (zh) 模型训练方法、视频插帧方法及对应装置
WO2020220516A1 (zh) 图像生成网络的训练及图像处理方法、装置、电子设备、介质
CN113077505B (zh) 一种基于对比学习的单目深度估计网络的优化方法
WO2023284401A1 (zh) 图像美颜处理方法、装置、存储介质与电子设备
CN116310111A (zh) 基于伪平面约束的室内场景三维重建方法
CN113610912B (zh) 三维场景重建中低分辨率图像单目深度估计***及方法
CN115565039A (zh) 基于自注意力机制的单目输入动态场景新视图合成方法
CN104376544B (zh) 一种基于多区域尺度放缩补偿的非局部超分辨率重建方法
WO2024032331A9 (zh) 图像处理方法及装置、电子设备、存储介质
CN111369435B (zh) 基于自适应稳定模型的彩色图像深度上采样方法及***
CN113436254A (zh) 一种级联解耦的位姿估计方法
Jin et al. Light field reconstruction via deep adaptive fusion of hybrid lenses
CN115457103A (zh) 一种基于分段平面先验的单目相机深度估计算法
CN114565532A (zh) 视频美颜处理方法、装置、存储介质与电子设备
Zhu et al. Fused network for view synthesis
Bae et al. Efficient and scalable view generation from a single image using fully convolutional networks
CN116012230B (zh) 一种时空视频超分辨率方法、装置、设备及存储介质

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