使用DINOv2进行深度估计

本文介绍了如何使用MetaAI团队开源的DINOv2模型进行深度估计,包括下载模型、准备代码、运行过程以及处理可能遇到的问题。开发者可以按照步骤操作,通过输入RGB图像获取深度图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用DINOv2进行深度估计

DINOv2

Meta AI团队开源的大模型,可用于分类、分割、图像检索、深度估计等下游任务,且效果优异。
https://github.com/facebookresearch/dinov2

深度估计

通过输入RGB图像,深度学习模型对该图像进行深度估计并输出深度图。

准备工作

从下载前面网址进入下载DINOv2
在这里插入图片描述
在README.md中找到“Notebooks”
在这里插入图片描述
点击"Depth estimation",进入作者的代码
在这里插入图片描述

代码运行

新建py,粘贴代码,试调运行,缺失的文件会在运行时自动下载,如有其他错误,跟着往常一样调试就行。



import math
import itertools
import os
from functools import partial

import numpy as np
import torch
import torch.nn.functional as F

from dinov2.eval.depth.models import build_depther


class CenterPadding(torch.nn.Module):
    def __init__(self, multiple):
        super().__init__()
        self.multiple = multiple

    def _get_pad(self, size):
        new_size = math.ceil(size / self.multiple) * self.multiple
        pad_size = new_size - size
        pad_size_left = pad_size // 2
        pad_size_right = pad_size - pad_size_left
        return pad_size_left, pad_size_right

    @torch.inference_mode()
    def forward(self, x):
        pads = list(itertools.chain.from_iterable(self._get_pad(m) for m in x.shape[:1:-1]))
        output = F.pad(x
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值