https://github.com/aim-uofa/frozenrecon
[ICCV2023] đź§ŠFrozenRecon: Pose-free 3D Scene Reconstruction with Frozen Depth Models
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
â—‹CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
â—‹.zenodo.json file
-
â—‹DOI references
-
✓Academic publication links
Links to: arxiv.org, scholar.google -
â—‹Committers with academic emails
-
â—‹Institutional organization owner
-
â—‹JOSS paper metadata
-
â—‹Scientific vocabulary similarity
Low similarity (10.0%) to scientific vocabulary
Keywords
Repository
[ICCV2023] đź§ŠFrozenRecon: Pose-free 3D Scene Reconstruction with Frozen Depth Models
Basic Info
- Host: GitHub
- Owner: aim-uofa
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://aim-uofa.github.io/FrozenRecon/
- Size: 7.7 MB
Statistics
- Stars: 127
- Watchers: 15
- Forks: 5
- Open Issues: 6
- Releases: 1
Topics
Metadata Files
README.md
[ICCV2023] đź§Š FrozenRecon: Pose-free 3D Scene Reconstruction with Frozen Depth Models
[Guangkai Xu](https://github.com/guangkaixu/)1*, [Wei Yin](https://yvanyin.net/)2*, [Hao Chen](https://stan-haochen.github.io/)3, [Chunhua Shen](https://cshen.github.io/)3, [Kai Cheng](https://cklibra.github.io/)1, [Feng Zhao](https://scholar.google.co.uk/citations?user=r6CvuOUAAAAJ&hl=en/)1 1University of Science and Technology of China 2DJI Technology 3Zhejiang University, China ### [Project Page](https://aim-uofa.github.io/FrozenRecon/), [arXiv](https://arxiv.org/abs/2308.05733), [Paper](https://openaccess.thecvf.com/content/ICCV2023/papers/Xu_FrozenRecon_Pose-free_3D_Scene_Reconstruction_with_Frozen_Depth_Models_ICCV_2023_paper.pdf), [Supplementary](https://openaccess.thecvf.com/content/ICCV2023/supplemental/Xu_FrozenRecon_Pose-free_3D_ICCV_2023_supplemental.pdf) #### Reconstruct your pose-free video with đź§Š FrozenRecon in ~20 minutes
We propose a novel test-time optimization approach that can transfer the robustness of affine-invariant depth models such as LeReS to challenging diverse scenes while ensuring inter-frame consistency, with only dozens of parameters to optimize per video frame. Specifically, our approach involves freezing the pre-trained affine-invariant depth model's depth predictions, rectifying them by optimizing the unknown scale-shift values with a geometric consistency alignment module, and employing the resulting scale-consistent depth maps to robustly obtain camera poses and camera intrinsic simultaneously. Dense scene reconstruction demo is shown as below.
Prerequisite
Pre-trained Checkpoints
In this project, we use LeReS to predict affine-invariant depth maps. Please download the pre-trained checkpoint of LeReS, and place it in FrozenRecon/LeReS/res101.pth. If optimize outdoor scenes, the checkpoint of Segformer should also be downloaded and placed in FrozenRecon/SegFormer/segformer.b3.512x512.ade.160k.pth
Demo Data
We provide one demo data for each scene, and another in-the-wild video captured from iPhone14 Pro without any lidar sensor information. Download from BaiduNetDisk, and place it in FrozenRecon/demo_data.
Installation
```bash git clone --recursive https://github.com/aim-uofa/FrozenRecon.git cd FrozenRecon conda create -y -n frozenrecon python=3.8 conda activate frozenrecon pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html # pytorch 1.7.1 for SegFormer pip install -r requirements.txt
(Optional) For outdoor scenes, we recommand to mask the sky regions and cars (potential dynamic objects)
pip install timm==0.3.2 pip install --upgrade mmcv-full==1.2.7 -f https://download.openmmlab.com/mmcv/dist/cu110/torch171/index.html
pip install "mmsegmentation==0.11.0"
pip install ipython attr git clone https://github.com/NVlabs/SegFormer.git cd SegFormer && pip install -e . & cd ..
After installing SegFormer, please downlaod segformer.b3.512x512.ade.160k.pth checkpoint following https://github.com/NVlabs/SegFormer, and place it in SegFormer/
(Optional) Install lietorch. It can make optimization faster.
git clone --recursive https://github.com/princeton-vl/lietorch.git cd lietorch && python setup.py install & cd .. ```
Optimization
1. In-the-wild Video Input
```bash
Take demo data as an example
python src/optimize.py --videopath demodata/IMG_8765.MOV
# For self-captured videos
python src/optimize.py --videopath PATHTOVIDEO --scenename SCENE_NAME
```
2. In-the-wild Extracted Images Input
bash
python src/optimize.py --img_root PATH_TO_IMG_FOLDER --scene_name SCENE_NAME
3. Datasets (Optional with GT Priors)
```bash
Export ground-truth data root here.
export GTROOT='./demodata' # PATHTOGTDATAROOT, you can download demo_data following "Data" subsection.
FrozenRecon with datasets, take NYUDepthVideo classroom_0004 as example.
python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --scenename classroom_0004
FrozenRecon with GT priors.
python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtintrinsicflag --savesuffix gtintrinsic --scenename classroom0004 python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtposeflag --savesuffix gtpose --scenename classroom0004 python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtdepthflag --savesuffix gtdepth --scenename classroom0004 python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtintrinsicflag --gtposeflag --savesuffix gtintrinsicgtpose --scenename classroom0004 python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtposeflag --gtdepthflag --savesuffix gtdepthgtpose --scenename classroom0004 python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtintrinsicflag --gtdepthflag --savesuffix gtintrinsicgtdepth --scenename classroom0004 python src/optimize.py --datasetname NYUDepthVideo --gtroot $GTROOT --gtintrinsicflag --gtposeflag --gtdepthflag --savesuffix gtintrinsicgtdepthgtpose --scenename classroom_0004 ```
4. Outdoor Scenes
```bash export GTROOT='./demodata' # PATHTOGTDATAROOT, you can download demo_data following "Data" subsection.
We suggest to use GT intrinsic for stable optimization.
python src/optimize.py --datasetname NYUDepthVideo --scenename SCENENAME --gtroot $GTROOT --gtintrinsicflag --scenename 20110926drive0001sync --outdoorscenes ```
🎫 License
For non-commercial academic use, this project is licensed under the 2-clause BSD License. For commercial use, please contact Chunhua Shen.
🖊️ Citation
If you find this project useful in your research, please cite:
BibTeX
@inproceedings{xu2023frozenrecon,
title={FrozenRecon: Pose-free 3D Scene Reconstruction with Frozen Depth Models},
author={Xu, Guangkai and Yin, Wei and Chen, Hao and Shen, Chunhua and Cheng, Kai and Zhao, Feng},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={9310--9320},
year={2023}
}
Owner
- Name: Advanced Intelligent Machines (AIM)
- Login: aim-uofa
- Kind: organization
- Location: China
- Repositories: 23
- Profile: https://github.com/aim-uofa
A research team at Zhejiang University, focusing on Computer Vision and broad AI research ...
GitHub Events
Total
- Issues event: 1
- Watch event: 9
Last Year
- Issues event: 1
- Watch event: 9
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| GuangkaiXu | g****u@g****m | 7 |
| C Shen | 1****n | 6 |
| chhshen | c****n@y****m | 2 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 6
- Total pull requests: 2
- Average time to close issues: 21 days
- Average time to close pull requests: 5 minutes
- Total issue authors: 6
- Total pull request authors: 1
- Average comments per issue: 0.5
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- 942411526 (1)
- alikesierzhao (1)
- 9796l (1)
- RenieWell (1)
- han12580 (1)
- GaoHchen (1)
Pull Request Authors
- kxwangzju (2)
- mini-full (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- numba *
- pycuda *
- pykitti *
- scikit-image ==0.16.2
- scipy *
- tqdm *
- xlwt *