首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在KITTI数据集上用掩膜法训练单幅图像深度估计

如何在KITTI数据集上用掩膜法训练单幅图像深度估计
EN

Stack Overflow用户
提问于 2020-09-23 14:02:51
回答 1查看 374关注 0票数 0

我正在研究一种从单目图像中估计深度图像的深度学习(有监督学习)。数据集当前使用的是KITTI数据。RGB图像(输入图像)使用KITTI原始数据,而来自following link的数据用于地面实况。

在通过设计一个简单的编解码器网络来学习模型的过程中,效果并不是很好,因此人们进行了各种尝试。

在搜索各种方法时,我发现groundtruth只能通过掩码来学习有效区域,因为有许多无效区域,即无法使用的值,如下图所示。

所以,我是通过掩蔽来学习的,但我很好奇为什么这个结果总是出来。

这是我训练代码的一部分。我该如何解决这个问题。

代码语言:javascript
复制
for epoch in range(num_epoch):
model.train() ### train ###
for batch_idx, samples in enumerate(tqdm(train_loader)):
    x_train = samples['RGB'].to(device)
    y_train = samples['groundtruth'].to(device)

    pred_depth = model.forward(x_train)
    valid_mask = y_train != 0     #### Here is masking 

    valid_gt_depth = y_train[valid_mask]
    valid_pred_depth = pred_depth[valid_mask]

    loss = loss_RMSE(valid_pred_depth, valid_gt_depth)
EN

回答 1

Stack Overflow用户

发布于 2020-11-02 20:16:01

据我所知,您正在尝试从RGB图像作为输入来估计深度。这是一个不适定的问题,因为同一个输入图像可以投影到多个合理的深度值。您需要集成某些技术来从RGB图像估计准确的深度,而不是简单地在RGB图像和其相应的深度图像之间进行L1或L2损失。

我建议你阅读一些关于从单个图像估计深度的论文,例如:Depth Map Prediction from a Single Image using a Multi-Scale Deep Network,其中他们使用网络首先估计给定图像的全局结构,然后使用第二个网络来优化局部场景信息。它们不像您那样采用简单的RMSE损失,而是使用尺度不变的误差函数,其中测量点之间的关系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64021922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档