展开本页目录
开始前准备什么
- 把本题ZIP解压到独立目录,保留原始文件与README中的素材身份。
- 模型步骤需在官方支持的隔离环境、相应权重与硬件中运行;本包不含权重,不承诺Apple本机支持CUDA。
- 本地文件检查使用Python、NumPy/Pillow或Blender;模型运行与素材/格式校验是分开的证据。
- 选择有明确前后层次的输入
- 安装V2并选择相对深度Small权重
- 保存原尺寸的相对深度数组
- 先确认近远方向再决定位移
- 运行可检查的小幅前向映射
- 检查遮挡边缘和画面裁边
- 编码小样并分清参考与模型链路
原创输入、真实参考文件、命令、脚本、运行边界与逐项清单;不含模型权重。
明确哪些材料已运行,哪些目标模型步骤尚未执行。
真实可打开的练习输入或手工参考,均不是目标模型输出。
1. 选择有明确前后层次的输入
打开room.png,确认玩具、箱体、显示器和后墙是同一张Blender原生场景图。下载包另有几何深度参考,但它由原场景计算,不是Depth Anything V2预测。
2. 安装V2并选择相对深度Small权重
按官方说明准备Depth-Anything-V2环境和depth_anything_v2_vits.pth。相对模型与metric子目录使用不同权重;本题不要把灰度数字写成米,也不把Small的许可外推给其他规格。
3. 保存原尺寸的相对深度数组
在官方仓库运行run-depth-v2.py,读取room.png并保存actual-relative-depth.npy。infer_image的输入是OpenCV读到的BGR图,输出应与输入高宽一致;同时保存配置和权重文件名。
commands.md
# 在官方Depth-Anything-V2仓库环境运行
python run-depth-v2.py --repo /path/to/Depth-Anything-V2 --checkpoint /path/to/depth_anything_v2_vits.pth
python make-parallax.py --image room.png --depth actual-relative-depth.npy --near-high --out actual-parallax-frames
ffmpeg -framerate 12 -i actual-parallax-frames/%05d.png -c:v libx264 -pix_fmt yuv420p actual-parallax.mp44. 先确认近远方向再决定位移
回看前景玩具与后墙的值,确认near-high应如何设置。灰度色表并不自动表示近处一定更亮;先检查数值和模型语义,再运行视差,避免前景比远景移动更少。
5. 运行可检查的小幅前向映射
make-parallax.py默认24帧,正弦水平位移最大5像素。它只按深度搬移现有像素,不生成被遮挡的纹理;前向映射留下的黑色孔洞刻意保留,便于看见边缘限制。
6. 检查遮挡边缘和画面裁边
逐帧看玩具天线、箱边、显示器边缘及左右画框。把位移调小可减少露底,但不代表深度更准确;大幅绕拍需要额外几何或生成步骤,不能用同一段算法冒充完整3D。
7. 编码小样并分清参考与模型链路
把24帧按12fps编码MP4;保存原图、真实预测npy、帧序列和命令。包内geometry-reference-depth.npy只用于运行后处理自检;标有reference的演示片不是深度模型产物。
怎样确认已经完成
- 原始输入、人工参考、官方示例和实际模型输出标识分开。
- 保存真实帧号/坐标/对象ID或几何版本,不只凭文件能打开判断质量。
- 模型未运行时保留not-executed,不把参考文件复制更名为成功结果。
常见问题
Depth Anything V2灰度图能当真实距离吗?
相对深度不能直接当米。它可用于深浅关系和小幅视差;需要米制输出时选独立metric模型和权重,并另外核对相机参数。
一张照片做3D运镜为什么会露黑边?
前向映射把前景像素移走后,原先被挡住的背景没有照片信息可填。本题保留露底,帮助限制运镜幅度,不能称为真实背面重建。
包里的深度数组是V2实跑结果吗?
不是。geometry-reference-depth.npy来自原创Blender场景的已知几何,只验证后处理代码;实际V2权重与预测未执行。




