欢迎入坑单目深度估计

这篇具有很好参考价值的文章主要介绍了欢迎入坑单目深度估计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.介绍深度估计

2.深度值的预处理

3.train

4. 损失函数

5.可视化

6.评估准则


1.介绍深度估计

深度估计目的的从一张2D图像中获取每个点距离拍摄源的位置远近(通常用颜色的深浅可视化)。

单目深度估计,单目深度估计,人工智能,计算机视觉

 常用的数据集
室内数据集NYU-V2-Depth, 包含464个场景,120k个尺寸为     480*640RGB图像与深度图对。249个训练  场景,215测试场景。距离拍摄源的距离  [0 - 10] m
室外数据集kitti 包含61个场景,32个场景 用于训练,29个场景697张图片用于测试。距离拍摄源的距离为[0 - 80]m

2.深度值的预处理

本文以NYU为例,在我们使用PIL读取的image and depth 中,用OpenCV读取需要转化BGR to RGB,我们首先需要对它做一下标准化处理,PIL to Tensor 图像的像素值会分布在 0 - 1之间(opencv 读取的结果也需要转化为tensor  在torchvision.transforms包里有封装好的py函数),这也是现在学习率普遍为1e-4的原因。有的文章还采用image的标准化处理,将 tensor值分布在 -1 - 1之间。
为了防止网络过拟合,通常对image进行处理(翻转,明暗,色调,大小)。
用OpenCV的包里测试一下

import albumentations as A

basic_transform = [
   A.HorizontalFlip(),
   A.RandomBrightnessContrast(),
   A.RandomGamma(),
   A.HueSaturationValue()
]

我们先用从cv2得到下面这张图像

单目深度估计,单目深度估计,人工智能,计算机视觉

import cv2
import matplotlib.pyplot as plt
image = cv2.imread(r"F:\Datasets\nyu_depth_v2\test\office\rgb_00008.jpg")
# image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
plt.imshow(image)
plt.show()
# image-BGR to RGB. Then augment of images and to tensor

 单目深度估计,单目深度估计,人工智能,计算机视觉单目深度估计,单目深度估计,人工智能,计算机视觉

image = A.HorizontalFlip(p=1)(image=image)["image"]
plt.imshow(image)
plt.show()

# albumentations need (image = 'name of image') to convert (key-value)

单目深度估计,单目深度估计,人工智能,计算机视觉单目深度估计,单目深度估计,人工智能,计算机视觉单目深度估计,单目深度估计,人工智能,计算机视觉单目深度估计,单目深度估计,人工智能,计算机视觉

3.train

训练过程都大同小异, contrary between predict of model and GT , lr的更改 需要在 for 循环里更改

input_RGB = batch['image']
depth_gt = batch['depth']
pred = model(input_RGB)
optimizer.zero_grad()
loss_d = criterion_d(pred, depth_gt)
loss_d.backward()

4. 损失函数

这一部分的改变基本不大,大部分都是基于尺度不变损失进行微改的,也可以用L1,L2 hurb损失。

单目深度估计,单目深度估计,人工智能,计算机视觉

少数有使用 grad and normal 作为辅助损失让model 更加关注相关部分学习情况。
[1]使用了三种损失 L1+grad+normal。[2]使用了回归+尺度不变

5.可视化

很多文章都会放可视化的结果,毕竟在人的视觉感知里,带有色彩的图像远远比数据更加吸引注意力。在可视化中,需要注意的是,如果我们对图像进行了标准化处理,我们在可视化之前需要反标准化,并且乘以相应的距离(255),不然得到的结果可能有色彩的差距,毕竟 plt.show(cmp='jet')显示的只是相对差异。贴一下目前的sota BinsFormer。

单目深度估计,单目深度估计,人工智能,计算机视觉

6.评估准则

单目深度估计,单目深度估计,人工智能,计算机视觉

前三者是误差评估,Lower is better 最后一个是准确度评估 higher is better
对于准确性评估,只测量 GT 中的非零值,也就是我们首先需要用mask将预测值和真实值的非零值对应起来(避免分母为0 出现nan值),可以用逻辑与作为mask.

valid_mask = torch.logical_and(gt_depth > min_depth_eval, gt_depth < max_depth_eval)
比较 pred[valid_mask] 与 gt_depth[valid_mask] 避免nan值

Thresholded accuracy :
thresh = torch.max((target / pred), (pred / target))
d1 = torch.sum(thresh < 1.25).float() / len(thresh)
d2 = torch.sum(thresh < 1.25 ** 2).float() / len(thresh)
d3 = torch.sum(thresh < 1.25 ** 3).float() / len(thresh)

误差值计算:
diff = pred - target
REL = torch.mean(torch.abs(diff) / target)
RMSE = torch.sqrt(torch.mean(torch.pow(diff, 2)))
log10 = torch.mean(torch.abs(torch.log10(pred) - torch.log10(target)))

Reference

1.Revisiting Single Image Depth Estimation Toward Higher Resolution Maps

2.Adabins

3. BinsFormer: Revisiting Adaptive Bins for MDE文章来源地址https://www.toymoban.com/news/detail-575192.html

到了这里,关于欢迎入坑单目深度估计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 最新!!单目深度估计方向文献综述--Monocular Depth Estimation: A Thorough Review

    论文链接:https://ieeexplore.ieee.org/abstract/document/10313067 一个是考虑人类深度感知的机制,另一个是包括各种深度学习方法。 这篇论文是关于单目深度估计(Monocular Depth Estimation)的全面综述,由Vasileios Arampatzakis等人撰写。单目深度估计是指从二维图像中恢复三维场景的深度信

    2024年04月28日
    浏览(102)
  • 中国人工智能学会主办!真实AIGC业务数据驱动,欢迎全球开发者参加

    近期,由百度商业联合中国人工智能学会举办、NVIDIA提供战略支持,百度飞桨承办的“百度商业AI技术创新大赛”正式启动,启动会现场,中国工程院院士、中国人工智能学会理事长、清华大学信息科学技术学院院长戴琼海院士通过视频方式对大赛启动表示祝贺。 戴琼海院士

    2024年02月16日
    浏览(46)
  • 【人工智能】— 逻辑回归分类、对数几率、决策边界、似然估计、梯度下降

    考虑二分类问题,其中每个样本由一个特征向量表示。 直观理解:将特征向量 x text{x} x 映射到一个实数 w T x text{w}^Ttext{x} w T x 一个正的值 w T x text{w}^Ttext{x} w T x 表示 x text{x} x 属于正类的可能性较高。 一个负的值 w T x text{w}^Ttext{x} w T x 表示 x text{x} x 属于负类的可能性

    2024年02月09日
    浏览(46)
  • 探索人工智能:深度学习、人工智能安全和人工智能编程(文末送书)

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 购书链接,限时特惠5折 这本书是美国

    2024年02月03日
    浏览(113)
  • 人工智能之深度学习

    第一章 人工智能概述 1.1人工智能的概念和历史 1.2人工智能的发展趋势和挑战 1.3人工智能的伦理和社会问题 第二章 数学基础 1.1线性代数 1.2概率与统计 1.3微积分 第三章 监督学习 1.1无监督学习 1.2半监督学习 1.3增强学习 第四章 深度学习 1.1神经网络的基本原理 1.2深度学习的

    2024年02月09日
    浏览(51)
  • 人工智能深度学习

    目录 人工智能 深度学习 机器学习 神经网络 机器学习的范围 模式识别 数据挖掘 统计学习 计算机视觉 语音识别 自然语言处理 机器学习的方法 回归算法 神经网络 SVM(支持向量机) 聚类算法 降维算法 推荐算法 其他 机器学习的分类 机器学习模型的评估 机器学习的应用 机

    2024年02月22日
    浏览(54)
  • 深度学习:探索人工智能的前沿

    人工智能(Artificial Intelligence,简称AI)是一门研究如何使计算机能够执行通常需要人类智能的任务的领域。从早期的符号推理到现代的深度学习,人工智能经历了漫长的发展过程。 20世纪50年代,AI的奠基性工作开始,研究者们试图通过符号推理来模拟人类思维过程。然而,

    2024年01月19日
    浏览(69)
  • 人工智能的深度学习如何入门

    人工智能深度学习近年来成为热门的技术领域,被广泛应用于许多领域,如自然语言处理、图像识别、机器翻译等。学习人工智能深度学习需要具备一定的数学和编程基础,但对于初学者来说,并不需要过于复杂的数学和编程知识。本文将介绍人工智能深度学习的基本概念和

    2024年03月27日
    浏览(58)
  • 人工智能、机器学习、深度学习的区别

    人工智能涵盖范围最广,它包含了机器学习;而机器学习是人工智能的重要研究内容,它又包含了深度学习。 人工智能是一门以计算机科学为基础,融合了数学、神经学、心理学、控制学等多个科目的交叉学科。 人工智能是一门致力于使计算机能够模拟、模仿人类智能的学

    2024年02月08日
    浏览(51)
  • LabVIEW人工智能深度学习指南

    ‍‍🏡博客主页: virobotics的CSDN博客:LabVIEW深度学习、人工智能博主 🎄所属专栏:『LabVIEW深度学习实战』 🍻上期文章: 【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 欢迎大家✌关注、👍点赞、✌收

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包