1.一种单视图的三维重建方法,其特征在于,所述单视图的三维重建方法包括:获取由相机拍摄的单视图图像;
将所述单视图图像输入第一卷积神经网络模型,得到所述第一卷积神经网络模型预测的相机参数和深度图;
根据所述单视图图像、所述相机参数和所述深度图进行反向投影,得到初始三维体素;
将所述初始三维体素输入第二卷积神经网络模型进行特征提取,得到所述第二卷积神经网络模型预测的三维特征,其中,所述第二卷积神经网络模型的训练过程包括:将所述单视图训练图像输入至所述第一卷积神经网络模型中,得到所述第一卷积神经网络模型预测的第二相机参数和第二深度图;
将所述单视图训练图像、所述第二相机参数和所述第二深度图进行反向投影,得到第一初始三维体素;
构建三维卷积神经网络模型;
将所述第一初始三维体素输入至所述三维卷积神经网络模型中,得到所述三维卷积神经网络模型输出的第一三维特征;
将所述单视图训练图像对应的真实三维体素输入至所述三维卷积神经网络模型中,得到所述三维卷积神经网络模型输出的第二三维特征;
分别计算所述第一三维特征的三元损失、所述第二三维特征的三元损失以及所述第一三维特征和所述第二三维特征之间的跨领域三元损失,并结合所述第一三维特征的三元损失、所述第二三维特征的三元损失和所述跨领域三元损失,得到三元总损失,具体为:采用如下公式计算所述第一三维特征的三元损失:
,
,
其中, 为距离计算函数,为距离计算函数的参数,为距离计算函数的参数,为第一三维特征的三元损失, 为由 构成的三元组个数, 为第一三维特征中随机选取的一个特征锚点, 为在第一三维特征中和锚点 属于同一类别的特征, 为在第一三维特征中和锚点 属于不同类别的特征,为预设第一边界值;
采用如下公式计算所述第二三维特征的三元损失:
,
其中, 为第二三维特征的三元损失, 为第二三维特征中随机选取的一个特征锚点, 为在第二三维特征中和锚点 属于同一类别的特征, 为在第二三维特征中和锚点 属于不同类别的特征;
采用如下公式计算所述第二三维特征之间的跨领域三元损失:,
其中, 为第二三维特征之间的跨领域三元损失,为预设第二边界值;
根据所述三元总损失对所述三维卷积神经网络模型进行反向优化,得到优化完成的所述三维卷积神经网络模型,并将优化完成的所述三维卷积神经网络模型作为所述第二卷积神经网络模型;
将所述三维特征输入第三卷积神经网络模型,得到所述第三卷积神经网络模型对所述单视图图像进行三维体素重建的最终三维体素;
根据所述最终三维体素建模得到所述单视图图像的三维预测模型。
2.根据权利要求1所述的一种单视图的三维重建方法,其特征在于,所述第一卷积神经网络模型的训练过程包括:获取单视图训练图像,并构建相机参数预测模型;
将所述单视图训练图像输入至相机参数预测模型,得到所述相机参数预测模型预测的第一相机参数和第一深度图;
计算所述第一相机参数与预设的真实相机参数之间的第一损失以及所述第一深度图与真实深度图之间的第二损失;
根据所述第一损失和所述第二损失组合得到第三损失;
根据所述第三损失对所述相机参数预测模型进行反向优化,得到优化完成的所述相机参数预测模型,并将所述优化完成的所述相机参数预测模型作为所述第一卷积神经网络模型。
3.根据权利要求2所述的一种单视图的三维重建方法,其特征在于,所述第三卷积神经网络模型的训练过程包括:将所述第一初始三维体素输入至所述第二卷积神经网络模型中,得到所述第二卷积神经网络模型输出的三维预测特征;
构建三维体素重建模型;
将所述三维预测特征输入至所述三维体素重建模型中,得到所述三维体素重建模型输出的第一最终三维体素;
根据所述第一最终三维体素和所述真实三维体素采用如下公式进行损失计算,得到第一三维损失:,
其中, 为第一三维损失,为体素的分辨率, 为第一最终三维体素的第 个体素单元格的预测概率值, 为真实三维体素的第个体素单元格的真实值,为预设的重建损失权重值;
根据所述第一三维损失对所述三维体素重建模型进行反向优化,得到优化完成的所述三维体素重建模型,并将所述优化完成的所述三维体素重建模型作为所述第三卷积神经网络模型。
4.根据权利要求3所述的一种单视图的三维重建方法,其特征在于,采用如下公式计算所述三元总损失:,
其中, 为三元总损失, 为第一预设权重值, 为第二预设权重值, 为第三预设权重值。
5.根据权利要求1所述的一种单视图的三维重建方法,其特征在于,所述根据所述单视图图像、所述相机参数和所述深度图进行反向投影,得到初始三维体素,包括:获取所述单视图图像中每个像素的像素坐标;
根据所述单视图图像中每个像素的像素坐标、所述单视图图像、所述相机参数和所述深度图进行反向投影,得到预测三维坐标;
根据所述预测三维坐标通过点云体素化进行体素转化,得到所述初始三维体素。
6.一种单视图的三维重建系统,其特征在于,所述单视图的三维重建系统包括:数据获取模块,用于获取由相机拍摄的单视图图像;
相机参数和深度值预测模块,用于将所述单视图图像输入第一卷积神经网络模型,得到所述第一卷积神经网络模型预测的相机参数和深度图;
反向投影模块,用于根据所述单视图图像、所述相机参数和所述深度图进行反向投影,得到初始三维体素;
特征提取模块,用于将所述初始三维体素输入第二卷积神经网络模型进行特征提取,得到所述第二卷积神经网络模型预测的三维特征,其中,所述第二卷积神经网络模型的训练过程包括:将所述单视图训练图像输入至所述第一卷积神经网络模型中,得到所述第一卷积神经网络模型预测的第二相机参数和第二深度图;
将所述单视图训练图像、所述第二相机参数和所述第二深度图进行反向投影,得到第一初始三维体素;
构建三维卷积神经网络模型;
将所述第一初始三维体素输入至所述三维卷积神经网络模型中,得到所述三维卷积神经网络模型输出的第一三维特征;
将所述单视图训练图像对应的真实三维体素输入至所述三维卷积神经网络模型中,得到所述三维卷积神经网络模型输出的第二三维特征;
分别计算所述第一三维特征的三元损失、所述第二三维特征的三元损失以及所述第一三维特征和所述第二三维特征之间的跨领域三元损失,并结合所述第一三维特征的三元损失、所述第二三维特征的三元损失和所述跨领域三元损失,得到三元总损失,具体为:采用如下公式计算所述第一三维特征的三元损失:
,
,
其中, 为距离计算函数,为距离计算函数的参数,为距离计算函数的参数,为第一三维特征的三元损失, 为由 构成的三元组个数, 为第一三维特征中随机选取的一个特征锚点, 为在第一三维特征中和锚点 属于同一类别的特征, 为在第一三维特征中和锚点 属于不同类别的特征,为预设第一边界值;
采用如下公式计算所述第二三维特征的三元损失:
,
其中, 为第二三维特征的三元损失, 为第二三维特征中随机选取的一个特征锚点, 为在第二三维特征中和锚点 属于同一类别的特征, 为在第二三维特征中和锚点 属于不同类别的特征;
采用如下公式计算所述第二三维特征之间的跨领域三元损失:,
其中, 为第二三维特征之间的跨领域三元损失,为预设第二边界值;
根据所述三元总损失对所述三维卷积神经网络模型进行反向优化,得到优化完成的所述三维卷积神经网络模型,并将优化完成的所述三维卷积神经网络模型作为所述第二卷积神经网络模型;
三维体素重建模块,用于将所述三维特征输入第三卷积神经网络模型,得到所述第三卷积神经网络模型对所述单视图图像进行三维体素重建的最终三维体素;
建模模块,用于根据所述最终三维体素建模得到所述单视图图像的三维预测模型。
7.一种单视图的三维重建设备,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至5任一项所述的一种单视图的三维重建方法。
8.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的一种单视图的三维重建方法。