——DINOv2+DPT+AnimateDiff 如何實(shí)現(xiàn)視頻深度估計(jì))
人工智能計(jì)算機(jī)視覺(jué)【免費(fèi)下載鏈接】Video-Depth-Anything-Large-MLX項(xiàng)目地址https://ai.gitcode.com/hf_mirrors/mlx-community/Video-Depth-Anything-Large-MLX點(diǎn)擊查看免費(fèi)下載Video-Depth-Anything-Large-MLX是一個(gè)運(yùn)行在 Apple Silicon 上的視頻深度估計(jì)模型它是字節(jié)跳動(dòng) CVPR 2025 Highlight 論文 Video Depth Anything 的 MLX 移植版。它能對(duì)任意長(zhǎng)度的視頻做單目深度估計(jì)輸出每一幀一致的深度圖depth maps為 Apple 設(shè)備上的 3D 重建、視頻編輯、機(jī)器人感知等場(chǎng)景提供了輕量高效的深度估計(jì)方案。一、這個(gè)項(xiàng)目是做什么的傳統(tǒng)的單目深度估計(jì)模型逐幀獨(dú)立推理幀與幀之間容易出現(xiàn)抖動(dòng)同一物體在相鄰兩幀的深度忽遠(yuǎn)忽近導(dǎo)致后續(xù) 3D 重建出現(xiàn)撕裂。Video Depth Anything 的核心價(jià)值就在于時(shí)序一致性temporal consistency 輸入一段普通視頻channel-last 的(B, T, H, W, 3)張量 輸出與視頻幀一一對(duì)應(yīng)的深度序列(T, H, W) float32?? 支持任意長(zhǎng)度視頻內(nèi)部通過(guò) scale/shift 窗口對(duì)齊策略把長(zhǎng)視頻切段推理后無(wú)縫拼接本倉(cāng)庫(kù) model.safetensors 是 fp32 權(quán)重文件約 1.4GB由官方 PyTorch checkpoint 轉(zhuǎn)換而來(lái)。官方使用說(shuō)明見(jiàn) README.md。二、核心架構(gòu)全解析三大模塊如何分工 整個(gè)模型可以概括為一句話DINOv2 負(fù)責(zé)看得懂DPT 負(fù)責(zé)算得準(zhǔn)AnimateDiff 風(fēng)格時(shí)序模塊負(fù)責(zé)幀幀不抖。2.1 DINOv2 骨干自監(jiān)督視覺(jué)特征提取器配置文件中encoder: vitl表明骨干網(wǎng)絡(luò)采用了ViT-Large結(jié)構(gòu)的 DINOv2。DINOv2 是 Meta 提出的自監(jiān)督視覺(jué) Transformer無(wú)需人工標(biāo)注即可學(xué)到極其魯棒的語(yǔ)義特征它輸出的不僅是這是什么物體還包含豐富的幾何線索遮擋、尺度、透視關(guān)系作為 Large 級(jí)別規(guī)格它在特征表達(dá)能力和推理速度之間取得了較好平衡2.2 DPT 解碼頭從特征到稠密深度圖DPTDense Prediction Transformer是 Depth Anything 系列經(jīng)典的深度回歸頭features: 256特征通道數(shù)out_channels: [256, 512, 1024, 1024]多層特征逐級(jí)上采樣融合讓低分辨率的全局語(yǔ)義與高分辨率的局部細(xì)節(jié)互補(bǔ)經(jīng)過(guò)多層 decoder 融合后輸出稠密的逐像素相對(duì)深度圖 注意metric: false表示這是非度量模型——輸出的是相對(duì)深度相對(duì)遠(yuǎn)近關(guān)系而非以米為單位的絕對(duì)距離。它也因此啟用了 scale/shift 窗口對(duì)齊來(lái)保證長(zhǎng)視頻的一致性。2.3 AnimateDiff 風(fēng)格時(shí)序運(yùn)動(dòng)模塊一致性的關(guān)鍵 ??這是該架構(gòu)最出彩的部分。時(shí)序運(yùn)動(dòng)模塊借鑒了 AnimateDiff文生視頻模型的設(shè)計(jì)思路在骨干特征之外額外插入一組時(shí)序運(yùn)動(dòng)模塊temporal motion modules專(zhuān)門(mén)建模幀與幀之間的運(yùn)動(dòng)關(guān)系num_frames: 32模型以 32 幀為一個(gè)窗口處理時(shí)序上下文在相鄰窗口之間共享運(yùn)動(dòng)信息pe: ape采用絕對(duì)位置編碼Absolute Positional Encoding標(biāo)記幀位置讓模型知道當(dāng)前處于視頻的哪個(gè)時(shí)刻正是這組模塊使得相機(jī)運(yùn)動(dòng)和物體運(yùn)動(dòng)在深度圖上表現(xiàn)為平滑連續(xù)的過(guò)渡而不是逐幀跳變。三、關(guān)鍵配置速讀3 個(gè)文件看懂模型規(guī)格 文件關(guān)鍵內(nèi)容作用config.jsonvitl、features: 256、num_frames: 32、pe: ape定義骨干規(guī)格與 DPT 時(shí)序結(jié)構(gòu)preprocessor_config.jsoninput_size: 518輸入統(tǒng)一縮放到 518×518model.safetensorsfp32 權(quán)重約 1.4GB實(shí)際模型參數(shù)LFS 存儲(chǔ)四、快速上手從克隆到跑出深度序列 1?? 克隆倉(cāng)庫(kù)git clone https://gitcode.com/hf_mirrors/mlx-community/Video-Depth-Anything-Large-MLX2?? 安裝依賴并推理依賴mlx-vlm核心入口是VideoDepthPredictor與read_video_frames完整示例見(jiàn) README.md。極簡(jiǎn)調(diào)用流程from mlx_vlm import load from mlx_vlm.models.video_depth_anything.generate import ( VideoDepthPredictor, read_video_frames, ) model, processor load(mlx-community/Video-Depth-Anything-Large-MLX) predictor VideoDepthPredictor(model, processor) frames, fps read_video_frames(input.mp4, max_len300, target_fps15) depths predictor.infer(frames) # (T, H, W) float32 深度序列max_len300控制最多處理幀數(shù)target_fps15控制采樣幀率可根據(jù)視頻時(shí)長(zhǎng)和顯存靈活調(diào)整。五、實(shí)用小貼士與注意事項(xiàng) ??尺寸要求H 和 W 必須是14 的倍數(shù)ViT patch 結(jié)構(gòu)決定輸入會(huì)先縮放到 518見(jiàn) preprocessor_config.json精度表現(xiàn)權(quán)重為 fp32。GPUMetal fast-math下輸出與 PyTorch 參考實(shí)現(xiàn)約 1% 相對(duì)誤差CPU 下可做到約 1e-5許可證CC-BY-NC-4.0僅限非商業(yè)用途與源 checkpoint 一致商用前請(qǐng)務(wù)必確認(rèn)授權(quán)不是文本生成模型它輸出的是逐幀深度圖float32 數(shù)值不要按 LLM 方式調(diào)用六、總結(jié)Video-Depth-Anything-Large-MLX 用DINOv2 DPT AnimateDiff 風(fēng)格時(shí)序模塊的組合把任意長(zhǎng)視頻的時(shí)序一致單目深度估計(jì)搬進(jìn)了 Apple 的 MLX 生態(tài)。對(duì)新手來(lái)說(shuō)只需記住三點(diǎn)它是深度估計(jì)模型不是生成/文本模型時(shí)序一致性來(lái)自 32 幀窗口 運(yùn)動(dòng)模塊而非簡(jiǎn)單平滑輸入尺寸對(duì)齊 14 的倍數(shù)輸出即得逐幀深度序列無(wú)論是做視頻 3D 化、背景擦除還是動(dòng)作理解這都是 Mac 上一套開(kāi)箱即用的深度估計(jì)基礎(chǔ)設(shè)施。贊分享人工智能計(jì)算機(jī)視覺(jué)【免費(fèi)下載鏈接】Video-Depth-Anything-Large-MLX項(xiàng)目地址https://ai.gitcode.com/hf_mirrors/mlx-community/Video-Depth-Anything-Large-MLX點(diǎn)擊查看免費(fèi)下載相關(guān)推薦Upsonic 評(píng)測(cè)子系統(tǒng)實(shí)戰(zhàn)指南LLM-as-a-Judge 評(píng)分、延遲與內(nèi)存剖析和工具調(diào)用可靠性斷言Upsonic 評(píng)測(cè)子系統(tǒng)實(shí)戰(zhàn)指南LLM as a Judge 評(píng)分、延遲與內(nèi)存剖析和工具調(diào)用可靠性斷言 Upsonic 是一個(gè)用 Python 構(gòu)建自主 ATorchTitan RL 可觀測(cè)性指標(biāo)從類(lèi)型化 Metric 延遲歸約到 vLLM 引擎級(jí) OpenTelemetry 指標(biāo)TorchTitan RL 可觀測(cè)性指標(biāo)從類(lèi)型化 Metric 延遲歸約到 vLLM 引擎級(jí) OpenTelemetry 指標(biāo) 本文基于 TorchTitan人工智能計(jì)算機(jī)視覺(jué)深度學(xué)習(xí)DA3Mono-LARGE-MLX 網(wǎng)絡(luò)架構(gòu)完整解析DinoV2 ViT-L/14 DPT 解碼器如何搞定單目深度估計(jì)DA3Mono LARGE MLX 網(wǎng)絡(luò)架構(gòu)完整解析DinoV2 ViT L/14 DPT 解碼器如何搞定單目深度估計(jì) DA3Mono LARGE MLX創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考