Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MMScan devkit #88

Merged
merged 18 commits into from
Dec 26, 2024
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
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: 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
454 changes: 223 additions & 231 deletions README.md

Large diffs are not rendered by default.

Binary file added assets/2024_NeurIPS_MMScan_Camera_Ready.pdf
rbler1234 marked this conversation as resolved.
Show resolved Hide resolved
Binary file not shown.
Binary file removed assets/EmbodiedScan.pdf
Binary file not shown.
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
mxh1999 marked this conversation as resolved.
Show resolved Hide resolved
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 `mmsan_data/embodiedscan-split/data`.

```
mmsan_data/embodiedscan-split/data/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo, mmscan, please also fix other places

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need the embodiedscan-split folder

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

Additionally, create a `process_pcd` folder under `mmsan_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
`mmsan_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.
Binary file added data_preparation/meta-data/mp3d_matrix.npy
Binary file not shown.
Loading
Loading