lab4d-org/lab4d

About the optimization stage between BANMo and Lab4D

Closed this issue · 4 comments

Hi, thanks for your great work. I also tried BANMo before. I want to ask why lab4d takes so much less time than banmo and if lab4d contains three optimization stages in BANMo if I run lab4d 120 rounds. Thanks.

Hi, lab4d runs a single-stage optimization as opposed to 3 stages in banmo.

The design goal of lab4d is to provide a simplified/unified codebase of BANMo, RAC, Total-Recon, PPR, etc, but keep the method the same.

I would say better engineering (or implementation details) plays a major role in terms of the speed-up. Here are some key differences:

Lab4d BANMo Type of improvement
Sampling unit Pixels Lines/images Fewer iterations
Camera Extrinsics MLP + pre-training Explicit+MLP Fewer iterations
Camera Intrinsics MLP + pre-training Explicit Fewer iterations
Rotation/Skinning Ops (Dual) Quaternion Matrix Per eval time
Shape/Skinning MLP Size Small Large Per eval time
Depth samples 64 128 Per eval time
2D-3D Features matching Reuse sampled rays New samples Per eval time

Thanks for your explanation! By the way, have you already implemented the "comp" (fg+bg) situation in Lab4d?

Thanks for your help!