1. Depth Anything
24年1月开年王炸,论文“Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data“,来自香港大学、字节、浙江实验室和浙江大学。
Depth Anything,这是一种用于鲁棒单目深度估计的解决方案。目标是建立一个简单而强大的基础模型,在任何情况下处理任何图像。当然,项目也提供了用于Finetune的预训练模型。
2.先下载
大家可以先登录项目主页(https://depth-anything.github.io/),了解一下,先近距离感受Depth Anything的SOTA。
首先下载代码。
登录github(https://github.com/LiheYoung/Depth-Anything),clone相关项目代码。
项目代码相对简单,不做详细解读。
然后下载预训练模型。
登录Hugging face的发布页(https://huggingface.co/spaces/LiheYoung/Depth-Anything/tree/main),然后下载相关的checkpoints就可以了。
源代码和预训练模型可以从如下网盘中直接下载,源代码中run_sai.py按照如上进行了修改。
链接:https://pan.baidu.com/s/1pVHSyCztJ9dggtg9nHxxdw?pwd=1234
提取码:1234
3. 跑起来
如果只是想先跑起来,只需要修改一些代码就可以。原项目中,是通过DepthAnything.from_pretrained从线上下载,如下所示。
显然太麻烦了,因为我们已经下载的预训练模型,我们直接修改,从预训练模型直接构建。
第一步,修改模块导入,将from depth_anything.dpt import DepthAnything修改为from depth_anything.dpt import DPY_DINOv2。
第二步,从DPT_DINOv2直接构建。
如上,我们使用torch.load和load_state_dict直接构建了模型。
当然,你可能会遇到“No module named 'huggingface_hub'”的错误,只需按照如下安装即可。
pip3 install -U sentence-transformers
之后可以愉快的玩耍了。
附上几张Depth Anything在电力领域的深度估计。