Skip to content

Commit

Permalink
MMScan devkit (#88)
Browse files Browse the repository at this point in the history
* mmscan-devkit v1

* mmscan-devkit v1

* mmscan-devkit first version

* mmscan-devkit first version

* mmscan-devkit first version

* mmscan-devkit v1

* mmscan-devkit v1

* mmscan-devkit v1

* mmscan-devkit v1

* mmscan-devkit v1

* edit README.md

* mmscan-devkit

* mmscan-devkit

* mmscan-devkit

* fix some typos

* fix some typos

* fix some typos

* add picture
  • Loading branch information
rbler1234 authored Dec 26, 2024
1 parent 89aca6f commit cc3842a
Show file tree
Hide file tree
Showing 463 changed files with 120,338 additions and 1,006 deletions.
1 change: 1 addition & 0 deletions .dev_scripts/covignore.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
# .*/utils.py

.*/__init__.py
models/
2 changes: 1 addition & 1 deletion .dev_scripts/diff_coverage_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ done
if [ ! -z "${PY_FILES}" ]
then
if [ "$REUSE_COVERAGE_REPORT" == "0" ]; then
coverage run --branch --source embodiedscan -m pytest tests/
coverage run --branch --source mmscan -m pytest tests/
fi
coverage report --fail-under 80 -m $PY_FILES
interrogate -v --ignore-init-method --ignore-module --ignore-nested-functions --ignore-magic --ignore-regex "__repr__" --fail-under 95 $PY_FILES
Expand Down
4 changes: 2 additions & 2 deletions .dev_scripts/linter.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
yapf -r -i embodiedscan/ configs/ tests/ tools/
isort embodiedscan/ configs/ tests/ tools/
yapf -r -i mmscan/ data_preparation/
isort mmscan/ data_preparation/
flake8 .
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
- name: Check docstring coverage
run: |
pip install interrogate
interrogate -v --ignore-init-method --ignore-magic --ignore-module --ignore-nested-functions --ignore-regex "__repr__" --fail-under 90 embodiedscan
interrogate -v --ignore-init-method --ignore-magic --ignore-module --ignore-nested-functions --ignore-regex "__repr__" --fail-under 90 mmscan
8 changes: 4 additions & 4 deletions .github/workflows/merge_stage_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ jobs:
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
- name: Install system dependencies
run: apt-get update && apt-get install -y git ffmpeg libturbojpeg
- name: Install dependencies and EmbodiedScan
- name: Install dependencies and MMScan
run: python install.py all
- name: Run unittests and generate coverage report
run: |
coverage run --branch --source embodiedscan -m pytest tests
coverage run --branch --source mmscan -m pytest tests
coverage xml
coverage report -m
Expand All @@ -67,10 +67,10 @@ jobs:
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
- name: Install system dependencies
run: apt-get update && apt-get install -y git ffmpeg libturbojpeg
- name: Install dependencies and EmbodiedScan
- name: Install dependencies and MMScan
run: python install.py all
- name: Run unittests and generate coverage report
run: |
coverage run --branch --source embodiedscan -m pytest tests
coverage run --branch --source mmscan -m pytest tests
coverage xml
coverage report -m
4 changes: 2 additions & 2 deletions .github/workflows/pr_stage_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ jobs:
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
- name: Install system dependencies
run: apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6
- name: Install dependencies and EmbodiedScan
- name: Install dependencies and MMScan
run: python install.py all
- name: Run unittests and generate coverage report
run: |
coverage run --branch --source embodiedscan -m pytest tests/
coverage run --branch --source mmscan -m pytest tests/
coverage xml
coverage report -m
2 changes: 1 addition & 1 deletion .github/workflows/test_mim.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ jobs:
- name: Build and install
run: rm -rf .eggs && mim install -e .
- name: test commands of mim
run: mim search embodiedscan
run: mim search mmscan
7 changes: 2 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ dist/
downloads/
eggs/
.eggs/
lib/
lib64/

parts/
sdist/
var/
Expand Down Expand Up @@ -113,7 +112,6 @@ venv.bak/

# demo
*.jpg
*.png
*.obj
*.ply
demo/data/*
Expand All @@ -127,7 +125,7 @@ data/3rscan
data/matterport3d
data/arkitscenes
data/*.pkl
data/*.json

exps/
todo.md

Expand All @@ -140,4 +138,3 @@ tools/*.sh

# test submission results
*.pkl
*.json
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ repos:
rev: 5.0.4
hooks:
- id: flake8
exclude: '^models/.*'
# - repo: https://github.com/ambv/black
# rev: 23.9.1
# hooks:
# - id: black
# args: [--line-length=79]
# exclude: '^models/.*'
- repo: https://github.com/PyCQA/isort
rev: 5.11.5
hooks:
Expand Down
453 changes: 216 additions & 237 deletions README.md

Large diffs are not rendered by default.

Binary file added assets/2024_NeurIPS_MMScan_Camera_Ready.pdf
Binary file not shown.
Binary file removed assets/EmbodiedScan.pdf
Binary file not shown.
Binary file added assets/MMScan_teaser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/demo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/demo_fig.png
Binary file not shown.
Binary file removed assets/framework.png
Binary file not shown.
Binary file removed assets/teaser.png
Binary file not shown.
101 changes: 0 additions & 101 deletions data/README.md

This file was deleted.

51 changes: 51 additions & 0 deletions data_preparation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
### Prepare MMscan info files.

Given the licenses of respective raw datasets, we recommend users download the raw data from their official websites and then organize them following the below guide.
Detailed steps are shown as follows.

1. Download ScanNet v2 data [HERE](https://github.com/ScanNet/ScanNet). Link or move the folder to this level of directory.

2. Download 3RScan data [HERE](https://github.com/WaldJohannaU/3RScan). Link or move the folder to this level of directory.

3. Download Matterport3D data [HERE](https://github.com/niessner/Matterport). Link or move the folder to this level of directory.

4. Organize the file structure. You are recommanded to create a soft link to the raw data folder under `mmscan_data/embodiedscan_split/data`.

```
mmscan_data/embodiedscan_split/data/
├── scannet/
│ ├── scans
│ │ ├── <scene_id>
│ │ ├── ...
├── 3rscan/
│ ├── <scene_id>
│ ├── ...
├── matterport3d/
│ ├── <scene_id>
│ ├── ...
```

Additionally, create a `process_pcd` folder under `mmscan_data/embodiedscan_split` to store the results. Similarly, we recommend using a symbolic link, as the total file size might be a little large (approximately 21GB)

PS: If you have followed the embodiedscan tutorial to organize the data, you can skip these steps and link or copy the `data` folder to
`mmscan_data/embodiedscan_split`.

After all the raw data is organized, the directory structure should be as below:

```
mmscan_data
├── embodiedscan_split/
│ ├── data/
│ ├── process_pcd/
│ ├── embodiedscan-v1/
│ ├── embodiedscan-v2/
├── MMScan-beta-release
```

5. Read raw files and generate processed point cloud files, by running the following scripts.

```bash
python process_all_scan.py --nproc 8
# If your various file directories do not match the configuration settings, define them using --
```
Binary file added data_preparation/meta_data/3rscan_matrix.npy
Binary file not shown.
1 change: 1 addition & 0 deletions data_preparation/meta_data/all_scan.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions data_preparation/meta_data/mp3d_mapping.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"ZMojNkEp431": "1mp3d_0000", "uNb9QFRL6hY": "1mp3d_0001", "pRbA3pwrgk9": "1mp3d_0002", "1pXnuDYAj8r": "1mp3d_0003", "ULsKaCPVFJR": "1mp3d_0004", "D7N2EKCX4Sj": "1mp3d_0005", "sT4fr6TAbpF": "1mp3d_0006", "YmJkqBEsHnH": "1mp3d_0007", "VLzqgDo317F": "1mp3d_0008", "EU6Fwq7SyZv": "1mp3d_0009", "s8pcmisQ38h": "1mp3d_0010", "JeFG25nYj2p": "1mp3d_0011", "E9uDoFAP3SH": "1mp3d_0012", "PX4nDJXEHrG": "1mp3d_0013", "Vvot9Ly1tCj": "1mp3d_0014", "5ZKStnWn8Zo": "1mp3d_0015", "S9hNv5qa7GM": "1mp3d_0016", "p5wJjkQkbXX": "1mp3d_0017", "b8cTxDM8gDG": "1mp3d_0018", "mJXqzFtmKg4": "1mp3d_0019", "UwV83HsGsw3": "1mp3d_0020", "wc2JMjhGNzB": "1mp3d_0021", "XcA2TqTSSAj": "1mp3d_0022", "8WUmhLawc2A": "1mp3d_0023", "PuKPg4mmafe": "1mp3d_0024", "jh4fc5c5qoQ": "1mp3d_0025", "oLBMNvg9in8": "1mp3d_0026", "5LpN3gDmAk7": "1mp3d_0027", "WYY7iVyf5p8": "1mp3d_0028", "7y3sRwLe3Va": "1mp3d_0029", "JmbYfDe2QKZ": "1mp3d_0030", "jtcxE69GiFV": "1mp3d_0031", "TbHJrupSAjP": "1mp3d_0032", "kEZ7cmS4wCh": "1mp3d_0033", "q9vSo1VnCiC": "1mp3d_0034", "SN83YJsR3w2": "1mp3d_0035", "sKLMLpTHeUy": "1mp3d_0036", "pa4otMbVnkk": "1mp3d_0037", "QUCTc6BB5sX": "1mp3d_0038", "B6ByNegPMKs": "1mp3d_0039", "vyrNrziPKCB": "1mp3d_0040", "VFuaQ6m2Qom": "1mp3d_0041", "X7HyMhZNoso": "1mp3d_0042", "2azQ1b91cZZ": "1mp3d_0043", "VzqfbhrpDEA": "1mp3d_0044", "i5noydFURQK": "1mp3d_0045", "r1Q1Z4BcV1o": "1mp3d_0046", "Uxmj2M2itWa": "1mp3d_0047", "759xd9YjKW5": "1mp3d_0048", "yqstnuAEVhm": "1mp3d_0049", "r47D5H71a5s": "1mp3d_0050", "YFuZgdQ5vWj": "1mp3d_0051", "HxpKQynjfin": "1mp3d_0052", "rqfALeAoiTq": "1mp3d_0053", "ARNzJeq3xxb": "1mp3d_0054", "RPmz2sHmrrY": "1mp3d_0055", "Vt2qJdWjCF2": "1mp3d_0056", "V2XKFyX4ASd": "1mp3d_0057", "dhjEzFoUFzH": "1mp3d_0058", "zsNo4HB9uLZ": "1mp3d_0059", "aayBHfsNo7d": "1mp3d_0060", "rPc6DW4iMge": "1mp3d_0061", "1LXtFkjw3qL": "1mp3d_0062", "fzynW3qQPVF": "1mp3d_0063", "e9zR4mvMWw7": "1mp3d_0064", "2n8kARJN3HM": "1mp3d_0065", "ur6pFq6Qu1A": "1mp3d_0066", "ac26ZMwG7aT": "1mp3d_0067", "YVUC4YcDtcY": "1mp3d_0068", "gTV8FGcVJC9": "1mp3d_0069", "pLe4wQe7qrG": "1mp3d_0070", "Z6MFQCViBuw": "1mp3d_0071", "VVfe2KiqLaN": "1mp3d_0072", "qoiz87JEwZ2": "1mp3d_0073", "JF19kD82Mey": "1mp3d_0074", "17DRP5sb8fy": "1mp3d_0075", "82sE5b5pLXE": "1mp3d_0076", "5q7pvUzZiYa": "1mp3d_0077", "29hnd4uzFmX": "1mp3d_0078", "EDJbREhghzL": "1mp3d_0079", "gxdoqLR6rwA": "1mp3d_0080", "D7G3Y4RVNrH": "1mp3d_0081", "x8F5xyUWy9e": "1mp3d_0082", "GdvgFV5R1Z5": "1mp3d_0083", "cV4RVeZvu5T": "1mp3d_0084", "8194nk5LbLH": "1mp3d_0085", "2t7WUuJeko7": "1mp3d_0086", "Pm6F8kyY3z2": "1mp3d_0087", "gZ6f7yhEvPG": "1mp3d_0088", "gYvKGZ5eRqb": "1mp3d_0089"}
Binary file added data_preparation/meta_data/mp3d_matrix.npy
Binary file not shown.
Loading

0 comments on commit cc3842a

Please sign in to comment.