机器之心发布 + x% o4 [4 k# P
机器之心编辑部
5 l; ]" i+ C/ Y/ @- K9 ~字节跳动大模型团队成果 Depth Anything V2 现已被苹果官方收入 Core ML 模型库。本文介绍了 Depth Anything 系列成果的研发历程、技术挑战与解决方法,分享了团队对于 Scaling Laws 在单一视觉任务方面的思考。值得一提的是,Depth Anything V1 与 V2 两个版本论文一作是团队实习生。9 }% \- G* a+ r. k! t
近日,字节跳动大模型团队开发的成果 Depth Anything V2 ,入选苹果公司 Core ML 模型库,目前已呈现在开发者相关页面中。
' v; O* h# `7 Q2 N7 C3 u6 d( `$ {5 ~/ v% F* N0 j9 }
' W0 n# ]% `+ ~ O3 z
Depth Anything 是一种单目深度估计模型,V1 版本发布于 2024 年初,V2 版本发布于 2024 年 6 月,包含 25M 到 1.3B 参数的不同大小模型,可应用于视频特效、自动驾驶、3D 建模、增强现实、安全监控以及空间计算等领域。
& g1 k# o. R" h! a# A
; J% H- k' ?# }7 V, g6 ~ ?
+ \ p" d0 w+ O相比上一代版本,V2 版在细节处理上更精细,鲁棒性更强,并且对比基于 Diffusion 的 SOTA 模型,速度上有显著提升。
5 R' _ ^+ e# `1 T3 t: A# y目前 Github 上该系列成果总计收获 8.7k Star。其中,Depth Anything V2 发布不久,已有 2.3k star ,更早版本 Depth Anything V1 收获 6.4k Star。值得一提的是,Depth Anything V1 与 V2 两个版本论文一作是团队实习生。
) q! e. b7 @4 z, O1 \3 @更多模型效果,点击下方视频了解:( \" i* Z" A& q) Q8 W \/ ?
! `3 x) {( {; U* {- i视频加载中...* M$ L) b$ H4 _
, _" A& a8 p( t+ i4 g! M
本次苹果公司收录的 Depth Anything V2 为 Core ML 版本。作为该公司的机器学习框架,Core ML 旨在将机器学习模型集成到 iOS,MacOS 等设备上高效运行,可在无互联网连接情况下,执行复杂 AI 任务,从而增强用户隐私并减少延迟。
9 ?( U+ ~4 M* T% t" Y9 l! X" }Core ML 版本 Depth Anything V2 采用最小 25M 模型,经 HuggingFace 官方工程优化,在 iPhone 12 Pro Max 上,推理速度达到 31.1 毫秒。与其一同入选的模型还有 FastViT 、ResNet50 、YOLOv3 等,涵盖自然语言处理到图像识别多个领域。
* R& w7 O/ Q" a: i) b/ g. v1 }相关论文与更多效果展示:# w* m* U, y+ U
0 K- |6 p$ K8 N& k( o! a8 u
- T+ x4 d/ F0 ~5 a @. ]% P6 K. r V0 C1 F2 I1 t p4 N
- 论文标题:Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data- r# X2 o7 h; i8 c
- 论文链接:https://arxiv.org/abs/2401.10891
3 p3 t* \4 l( L8 g- { - 效果展示:https://depth-anything.github.io/; g! _. N. n* `% I! j; y9 D
5 N2 Y! S. j1 r' d( R) o. C( [. n
2 a9 _# o8 `( N" ?$ Y$ _
* D) X' h" _! B9 Z! t* i. f8 \- 论文标题:Depth Anything V2
" Z( ]+ N, Y7 D. H3 l - 论文链接:https://arxiv.org/abs/2406.09414
/ o, @* m- }0 u" V - 效果展示:https://depth-anything-v2.github.io/+ ]$ \& f0 C4 k/ [. X
一、Scaling Laws 对单一视觉任务的启示
/ p; T# I0 S6 d6 @# Q随着近两年大模型潮涌,Scaling Laws 的价值也被越来越多人认同。身处其中,有的研究团队致力于研发一个模型,以实现目标检测、图像分割等多种视觉任务,Depth Anything 团队选择了另一个方向——
! h7 B) W0 V/ l! n5 [& L依托 Scaling Laws 思路,构建一个简单但功能强大的基础模型,在单一任务上实现更好效果。( E1 s; W [ S- f1 N! ~) a) Z* s. Q
对于上述选择,团队同学解释道,此前大家也曾考虑研究一个大模型去解决多个任务,但从结果看,实际效果只能达到 70 - 80 分水平,但在时间成本、算力成本方面消耗量较大。; p* B+ s( Q0 K5 {
从落地角度出发,团队认为,利用 Scaling Laws 解决一些基础问题更具实际价值。
! M3 z% }# X: [! a0 ^9 z& f关于为什么选择深度估计任务,成员介绍道,如果将计算机视觉领域的任务进行分类,文本描述、图像分类等任务均需要有人参与,才有意义。与之相对,边缘检测、光流法运动检测等任务中,相关信号本身就客观存在,结果评价也不需要人类参与。深度估计(Depth Estimation)便可归为此类,相比其他任务,该任务更为“基础”,关联落地场景也较多。
5 a$ x: N+ P; F! Z% E E作为计算机视觉领域中的重要任务之一,深度估计旨在从图像中推断出场景内物体的距离信息,应用包括自动驾驶、3D 建模、增强现实等。+ o; C; w, Z1 {. H+ ^2 F
此外,深度估计模型还可以作为中间件,整合进视频平台或剪辑软件中,以支持特效制作、视频编辑等功能。目前,已有下游 B 端用户将 Depth Anything V2 内置进产品当中。
. i% c% [* Z4 [2 k! a7 R! P8 c6 e1 T" A+ U& B' ~
* ~, w2 I8 s; D& [
下游用户 Quick Depth 将 Depth Anything V2 内置进产品的效果 ( w% n7 s( e$ N2 M. Y; t& G
二、Depth Anything V1 训练过程 7 w5 B8 }7 C! x5 \
Depth Anything 从立项到 V2 版本发布并被苹果选入 Core ML,历经一年左右时间。据成员分享,这当中,最困难部分在于两方面:4 S y8 J8 m, k3 j( s( R' F
5 ^& M4 w+ t+ V- J& d- 如何训练模型,以达到并超过已有成果水平;
* K3 R( F$ M9 j8 K; ]4 }& Y - 让模型在细节方面有更好表现;
8 O+ l% x) p3 t7 U- W+ c 上述两个问题分别导出了 Depth Anything 的 V1 和 V2 版本,我们不妨先从训练模型说起。1 R4 Q* t* i4 L7 P% `5 L
事实上,Depth Anything 出现前,MiDaS 已能较好解决深度估计问题。- ?, L; Q/ u5 ^/ h6 U
MiDaS 是一种稳健的单目深度估计模型,相关论文于 2019 年首次提交 ArXiv ,很快中选计算机视觉和人工智能领域顶级国际期刊 TPAMI 。但该模型只开源了模型本身,却未开源训练方法。6 {" t" N4 I+ g* M# L# M% b# u
为实现训练过程,团队主要做了如下努力。 `2 D3 S$ H7 U" |! R; R
1. 专门设计了一个数据引擎,收集并自动标注大量数据
; \+ D- x) ~2 u! i s4 Y6 j该方面努力大大扩展了数据覆盖范围,减小泛化误差。数据增强工具的引入使得模型可主动寻求额外视觉知识,并获得稳健的表示能力。9 {2 C8 z# V7 O' G* P9 o/ S. Y
值得一提的是,起初模型的自训练 Pipeline 并未获得较大提升。团队推测,可能是所用标注数据集内已有相当数量的图像,模型没能从未标注数据获得大量知识。
$ A# r' G" Y' J于是,他们转而以一个更困难的优化目标挑战学生模型:在训练过程中,对无标注图像加入强扰动(颜色失真和空间失真),迫使学生模型主动寻求额外视觉知识。% ]5 V9 w+ s/ R$ d
2. 通过预训练编码器,促使模型继承丰富的语义先验知识1 h9 }# L; j/ c$ _
理论上,高维语义信息对于深度估计模型有益,来自其他任务中的辅助监督信号对于伪深度标签有对抗作用。于是,团队便在一开始尝试通过 RAM+GroundingDINO+HQ-SAM 模型组合为无标注图像分配语义标签,但效果有限。团队推测,该现象源于图像解码为离散类空间过程中,损失了大量语义信息。9 z3 A7 u! J: E/ V* n* `
经过一段时间尝试,团队转而引入了基于预训练编码器的知识蒸馏,促使模型从中继承丰富的语义先验知识,进一步弥补数据标注量比较少的问题。# j. j% z: R& f0 j/ \2 ^
训练 Pipeline 如下图,实线为有标注图像流,虚线为无标注的图像流,S 表示加入的强扰动。同时,为了让模型拥有丰富的先验语义知识,团队在冻结编码器(Encoder)与在线学生模型之间强制执行了辅助约束,以保留语义能力。7 B& b- ^- _! r, B/ p7 J4 j
Depth Anything Pipeline 展示& f; G- U4 Y: `4 a6 q
# V$ @6 z1 P6 `& y2 y( o
- q' ^1 D1 m$ S$ b
最终,Depth Anything 不仅跟之前成果同等效果,在一些指标上,还超越了参考模型。在下图零样本相对深度估计表现中,Depth Anything 对比 MiDaS v3.1 面向 KITTI 等主流数据集,均有不错表现。其中 AbsRel 数值越低效果越好,δ1 数值越高效果越好。- Y% k8 {+ u x2 A+ D
, v0 G5 |+ L+ c3 t8 r \) a$ M$ m0 A, h2 |% [$ ]
此外,该模型面向 6 个公共数据集和随机拍摄的照片,在零样本能力评估方面也表现出了很强的泛化能力。% [' a# `' Y8 z# }. q
三、优化细节与模型规模 Scaling-up - e$ H" {+ V: _! d% V# m: B8 T
完成 V1 版本训练后,团队对模型进行进一步优化并提升鲁棒性,还比照了其它类型模型的效果。
4 m6 w3 P2 g, ?0 z* n$ i具体来说,基于稳定扩散的 Marigold 属于生成式单目深度估计模型,对于细节问题,以及透明物体、反射表面单目深度估计问题能很好解决,但复杂度、效率、通用性方面有所不足。Depth Anything V1 的特征则与其互补。% K4 P6 _) C0 D T6 l3 W+ K
4 q, }& }4 d, o! I/ F
& f: J, I! X% N5 ^0 g, V6 b- B
为解决上述问题,团队尝试了各种方法及探索,包括调整预训练模型、修改 Loss 、数据增强等等。7 M2 e3 i* ]4 V
这一过程中,有三点重要发现:2 z6 r6 ~$ Q4 A- B7 p
其一,精确的合成数据能在细节方面带来更好表现。
) E8 ?+ V7 m' C: p' y: e7 ?通过对比其他模型(比如:Marigold ),团队发现,对于细节问题,稳定扩散模型并非唯一解。判别式的单目深度估计模型在细节问题方面,依然可以有很好表现能力。关键在于用精确的合成图像数据替换带标注的真实图像数据。
. v8 e+ m7 p/ [: _: G E4 Y团队认为,真实带标注的数据存在两个缺点。其一是标注信息不可避免包含不准确的估计结果,这可能源自传感器无法捕捉,也可能来自算法影响。其二,真实数据集忽略了一些深度细节,比如对于树木、椅子腿等表示较为粗糙,造成了模型表现不佳。4 s3 s7 b4 g/ s4 ^: X m$ n
: E0 L) ^5 Y, h9 F8 l3 b# V2 ]; B( l) V9 T' \
其二,此前很多成果未使用合成数据,源于合成数据本身在之前存在较大缺陷。. ?: d j( W0 m$ |
以 DINOv2-G 为例,模型基于纯合成数据训练会产生很大误差,其原因在于,合成图像与真实图像本身存在差异,比如颜色过于“干净”,布局过于“有序”,而真实图像则有更强随机性。此外,合成图像的场景有限,势必影响模型通用性。% S, v8 G8 B: _3 w4 j
团队针对 BEiT、SAM、DINOv2 等模型泛化性的对比,结果发现只有 DINOv2-G 达到了满意效果,其他均存在严重泛化问题。4 H0 o ^' L/ m5 ]; {# S
' T; q% P( J# r! H% ?
( `8 e, W- ^. r, Q& g5 V+ ^3 l其三,针对合成图像数据扬长避短的方法:用合成数据训练教师模型并扩大模型规模,接着,以大规模的伪标注真实图像为桥梁,教授较小的学生模型。' g N$ U$ L- W0 g" N
基于上述思路,团队构建了训练 Depth Anything V2 的 Pipeline ,具体来说,先基于高质量的合成图像,训练基于 DINOv2-G 的教师模型,再在大量未标记的真实图像上产生精确的伪标注深度信息,最后,基于伪标注的真实图像训练学生模型,以获取高鲁棒的泛化能力。) P' h* o3 d; U0 A5 W
7 ^, u" |9 j: X/ n7 U% }
k9 _ [' L Q- y( l1 k" C* N- y
为了更好评价模型表现,团队还提出了 DA-2K 评价基准。它考虑了精确的深度关系、覆盖了广泛场景,并包含大量高分辨率图像及 8 个代表性场景。基于该基准, Depth Anything V2 ViT-G 版本明显优于 Marigold 及 Depth Anything V1 在内的之前成果。
2 r( R9 L9 o4 U. l0 J
7 M& D$ \3 o. F) S \5 w" {& Q; B. p; k2 K8 t( ?
除了针对数据的相关研究,团队还尝试扩大了教师模型容量,以探索模型规模 Scaling 对效果的影响。3 I$ M) k) z7 f; z& ]6 A
通过研究,团队发现,规模较小的教师模型泛化能力的确不如较大规模模型,此外,不同类型的预训练编码器提升规模后,带来的泛化提升差异很大,比如 BEiT 、SAM 等主流预训练编码器表现明显不如 DinoV2 。
1 f' y) x4 Q: s9 ^, M" E0 u/ L! R上述种种努力持续数月,最终,Depth Anything 模型在鲁棒性和细节丰富度上都有较大提升,且相比基于稳定扩散技术构建的最新模型速度快 10 倍以上,效率更高。5 {/ ]1 C7 R. @4 N( N/ p/ E6 P
[5 W. r& W9 m, I! U
$ l/ Y' o, v9 a8 N( N6 c# o' I/ t
与之相对,预训练的扩散模型在细节方面表现更佳。团队同学表示,此前也曾考虑使用更复杂的模型,但通过深入研究,考虑落地成本、实际需求等因素,Feed-forward 结构目前仍是更适合落地的选择。
% v( ^9 d5 k7 A# @/ c回望整个过程,参与同学感慨:“研究工作其实没特别多所谓的灵感迸发瞬间,更多的,还是踏踏实实逐个把设想方法尝试一遍,才能取得成绩”。
6 U( G i& t' L. D: m最后,展望 Scaling Laws 对 CV 发展的影响,团队认为,Scaling Laws 在未来将更有助于解决此前一直存在,且难以突破的基础任务,充分发挥数据、模型 Scaling 的价值。至于 Scaling 不断提升的边界在哪?团队还在进一步探索中。/ w5 d9 E- z/ I4 ]) u, u
四、论文一作为实习生
# I& W5 {7 F) N目前,Depth Anything 已有2个版本模型系列发布,相关论文 Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data 已中选 CVPR 2024。
K4 z0 U8 k2 s# q& s
( J, C$ L: h+ v. a) _8 n
1 U4 e9 t; K( J' |# I! b4 M该系列成果一作为团队实习生,相关研究工作也是在公司实习期间完成。1 c5 V2 A. m: a8 V$ M& N5 U: a6 Q
立项时,由 Mentor 提出了规模 Scaling 的路线,并给到最初项目设想,实习生进一步提出用大规模未标注数据去 Scaling-up 的想法。不到一年,该同学就完成了相关成果的上手实验、项目推进、论文撰写等大部分工作。5 w+ c' m: |! Q6 d3 V
期间,公司科学家与团队 Mentor 相应提供了建议与指导,持续跟踪进展,并出面跟合作部门协调计算资源。6 [2 F1 G0 j; A8 _! T L
“我们在研究工作上,会更多聚焦在给出好问题,并在一些关键节点把控项目推进方向,提供给实习生适当的方案思路,执行上,充分信任同学们”,项目 Mentor 分享道。
N/ i* n0 B- L+ l# Q9 s% |这样既能尊重实习同学想法,也能避免完全不管,没有产出,他认为。
k* n$ a+ t! V8 I4 ?在大家的共同努力下,该实习同学不仅收获了成果,能力也获得较大提升,个人研究品位及独立发现解决问题能力颇受团队认可。5 C% J; V5 R7 \7 a- l
关于个人成长与团队支持,实习同学认为,公司和组里提供了自由研究氛围,对于合理思路都比较支持。
4 j9 ` E4 T/ i: C& v/ z& M) n“而且相比 Paper 数量,团队会鼓励花更多时间研究更难、更本质、更能为行业提供新视角和新价值的问题”,他补充道。8 F% \# e) g9 k. s5 Z/ a3 f
事实上,Depth Anything 只是众多成果之一,字节跳动近期在视觉生成及大模型相关领域的研究探索还有很多。
5 Q; E0 G" a. I" T: J+ r" b
$ p8 p6 U/ A, N6 D4 K6 X% `- MagicAnimate: Temporally Consistent Human Image Animation using Diffusion Model
) ~' m* q$ ?8 P: i# t! B: r - An Image is Worth 32 Tokens for Reconstruction and Generation
/ m5 Z/ S% z1 \! `, t; { B0 A ` - Magic-Boost: Boost 3D Generation with Multi-View Conditioned Diffusion
$ w( T, p) r. ^7 f$ f' {% \! | - LLaVA-next: Open Large Multimodal Models2 d9 U2 `! C/ r I$ |. }' L
- PLLaVA: Parameter-free llava extension from images to videos for video dense captioning
% Y5 N2 t) ^& s) `) ? - Flash v-stream: Memory-Based Real-Time Understanding for Long Video Streams, m: U4 o" p' P! v% g: c# d
...
; q( {3 {7 o+ g6 X3 i+ }目前,字节跳动大模型计算机视觉方向正在持续招揽优秀人才,如果你也渴望在自由的研究氛围里,参与计算机视觉技术的的前沿探索,欢迎投递简历。
D3 G& p: |7 f5 r投递链接:https://jobs.bytedance.com/campus/position?keywords=%E8%B1%86%E5%8C%85%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%9B%A2%E9%98%9F%20%E8%A7%86%E8%A7%89&category=&location=&project=&type=&job_hot_flag=¤t=1&limit=10&functionCategory=&tag=&spread=XKDERUX |