Diffusers
Safetensors
EvalMDE / FE2E /README.md
zeyuren2002's picture
Add files using upload-large-folder tool
40a3ea8 verified

FE2E: From Editor to Dense Geometry Estimator

Page Paper GitHub HuggingFace Video Video

Jiyuan Wang1,2, Chunyu Lin1βœ‰, Lei Sun2✝, Rongying Liu1, Mingxing Li2, Lang Nie3, Kang Liao4, Xiangxiang Chu2, Yao Zhao1

1Beijing Jiaotong University
2Alibaba Group
3Chongqing University of Posts and Telecommunications
4Nanyang Technological University
βœ‰Corresponding author. ✝Project leader.

teaser

We present FE2E, a DiT-based foundation model for monocular dense geometry prediction. FE2E adapts an advanced image editing model to dense geometry tasks and achieves strong zero-shot performance on both monocular depth and normal estimation.

pipeline

πŸ“’ News

  • [2026-03-17]: Code and Checkpoint are available now!
  • [2026-02-21]: FE2E was accepted by CVPR 2026!!! πŸŽ‰πŸŽ‰πŸŽ‰
  • [2025-09-05]: Paper released on arXiv.

πŸ› οΈ Setup

This codebase is prepared as an inference/evaluation release.

pip install -r requirements.txt

Recommended local layout:

FE2E/
β”œβ”€β”€ pretrain/
β”‚   β”œβ”€β”€ step1x-edit-i1258.safetensors
β”‚   β”œβ”€β”€ step1x-edit-v1p1-official.safetensors
β”‚   └── vae.safetensors
β”œβ”€β”€ lora/
β”‚   └── LDRN.safetensors
β”œβ”€β”€ infer/
β”‚   β”œβ”€β”€ eth3d/
β”‚   β”‚   └── eth3d.tar
β”‚   └── dsine_eval/
β”‚       β”œβ”€β”€ nyuv2/
β”‚       └── scannet/
└── logs/

πŸ”₯ Training

[ ] Training code will be released later.

πŸ•ΉοΈ Inference

1. Prepare Model Weights

  1. Download the base weights, which from the official Step1X-Edit release.
  2. Download FE2E LoRA checkpoint

2. Prepare Benchmark Datasets

  • Depth benchmarks follow the external evaluation data convention from Marigold.
  • Normal benchmarks follow the external evaluation data convention from DSINE.

Supported depth benchmarks:

  • nyu_v2,kitti,eth3d,diode,scannet

Supported normal benchmarks:

  • nyuv2,scannet,ibims,sintel

3. Run Evaluation

[dataset] normal:

CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
MASTER_PORT=21258 \
PYTHONUNBUFFERED=1 \
python -u evaluation.py \
  --model_path ./pretrain \
  --eval_data_root ./infer \
  --output_dir ./infer/eval_verify_scannet_normal_8gpu \
  --num_gpus 8 \
  --num_samples -1 \
  --lora ./lora/LDRN.safetensors \
  --single_denoise \
  --prompt_type empty \
  --norm_type ln \
  --task_name normal \
  --normal_eval_datasets [dataset]

[dataset] depth:

CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \
MASTER_PORT=21257 \
PYTHONUNBUFFERED=1 \
python -u evaluation.py \
  --model_path ./pretrain \
  --eval_data_root ./infer \
  --output_dir ./infer/eval_verify_eth3d_8gpu \
  --num_gpus 8 \
  --num_samples -1 \
  --lora ./lora/LDRN.safetensors \
  --single_denoise \
  --prompt_type empty \
  --norm_type ln \
  --task_name depth \
  --depth_eval_datasets [dataset]

4. Reference Logs

If you want to known the successful status, this repo includes run logs in logs/:

  • logs/verify_scannet_normal_8gpu_20260317_171345.log
  • logs/verify_eth3d_8gpu_20260317_172004.log

πŸŽ“ Citation

If you find our work useful, please cite:

@article{wang2025editor,
  title={From Editor to Dense Geometry Estimator},
  author={Wang, JiYuan and Lin, Chunyu and Sun, Lei and Liu, Rongying and Nie, Lang and Li, Mingxing and Liao, Kang and Chu, Xiangxiang and Zhao, Yao},
  journal={arXiv preprint arXiv:2509.04338},
  year={2025}
}