Skip to content

Releases: OPR-Project/OpenPlaceRecognition

0.2.0

28 Nov 17:22
34b8a77
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release
Release: 0.2.0 (#4)

* downgraded cuda and torch versions for backward compatibility

* fixed configs and added train script

* add username to docker image tag to avoid conflicts when building on the same server

* added logging to wandb

* add script for building positive and non-negative indexes for datasets

* BUGFIX: tmp workaround in nclt dataset no longer needed

* add image-only model config + option which modality to test

* implemented multi-camera setup

* add multicamera to oxford

* Add naive semantic modality

* Fix  merging collisions

* save config in checkpoint file

* add test script

* coords_limit arg in nclt dataset

* text baseline notebook  for itl_mipt

* removed outdated scripts

* fixed default config to MinkLoc++ baseline

* self-attention layers implemented

* tmp code to test multi-image models with reranking

* add MLP layer + multi-image model with mlp + moved general config into separate dir

* separated multiimage config to _add and _concat + add general 4/5 rgb configs

* add cross-attention fusion for images

* nclt next baseline

* add single cross-attention fusion module + fixed old cross-attention

* add calculation of clip embeddings

* Fix merging collisions

* add train on CLIP embs

* Add ohe-hot encoding

* Add chonky, not tested

* Fix issues

* Chonky works

* add 2rgb+lidar config + fixed batch_size_limit to 128

* fix: test_modality in general multimodal configs -> fusion

* add 128-dim img configs

* fix: aaded general config for image-only

* Add chinky + cloud setup

* Add im-onehot-sem-cloud model config

* Add semantics to Oxford Dataset script

* Fix oxford ds script

* text+cam exps

* Fix OH Sem + add multi-configs

* Multi setup (trivial) works!

* Update multimodal config

* add multi-semantic module and configs for mssplace

* add all modalities configs

* add configs for 2rgb+2text+lidar

* add dataset_root arg to test script

* updated requirements with plotly

* add support for Intensity Oxford dataset

* save only last and best checkpoints

* add config for minkloc3dv2

* Add some configs

* WIP: SVT-Net implementation

* fix: svtnet config - set number of layers according to official implementation

* chore: install pyenv with miltiple python versions in dockerfile

* feat: move to src/ layout

* chore: move project metadata to pyproject.toml

* chore: move flake8 config to .flake8

* chore: add new linters to dev requirements

* chore: add script to start docker container with xhost sharing

* chore: configure flake8 with new extensions

* chore: configure pre-commit to use local flake8 installation

* chore: configure pre-commit to use local mypy installation

* chore: add nox to dev dependencies

* chore: add coverage[toml]==7.2.7 and pytest-cov==4.1.0 to dev dependencies

* fix: enable multiple python versions in dockerfile globally

* fix: pre-commit mypy configuration to check only added files

* chore: mypy ignore nox missing imports

* chore: add base noxfile

* chore: parametrize multiple python and pytorch versions in nox

* chore: ingore ('3.11', '1.13.1') python and pytorch combination

* chore: remove 3.11 nox tests because it is not supported by MinkowskiEngine

* chore: add linting session to nox

* feat: package version infer from pyproject.toml file only

* chore: fix noxfile to install MinkowskiEngine correctly

* chore: ignore unused import error in __init__.py files

* chore: ignore ANN101 flake8 error

* chore: ignore B905 flake8 error

* chore: ignore missing imports in pre-commit mypy

* test: minkloc3d instantiate from config file

* chore: configure pre-commit to use remote mirrors-mypy repo

* feat: minkloc3d model in new framework architecture

* chore: add sphinx to dev requirements

* refactor: remove redundant 'models.multimodal' module

* test: add e2e marker for end-to-end testing

* test: add __init__.py files in tests dirs

* test: move load_config function to tests.utils module

* chore: add default 'not e2e' marker in nox tests session

* test: mark test_minkloc3d_instantiate as end-to-end test

* test: test that OxfordDataset can be instantiated from real config with real data

* refactor: base dataset and oxford dataset code

* refactor: optimize building positive and non-negative indexes speed

* doc: remove link to MinkLoc3D-SI from Oxford dataset docstring

* fix: set idx type in dataset __getitem__ to tensor

* fix: modify base dataset collate_fn signature to take input data_list

* test: collate_fn works in end-to-end configuration

* feat: add collate_fn implementation to OxfordDataset

* fix: add __init__.py to opr.layers module

* fix: add docstring to opr.datasets module

* refactor: create new opr.samplers module

* refactor: delete old opr.datasets.samplers module

* test: init tests.samplers module

* test: batch sampler can be instantiated from config in end-to-end test

* refactor: move batch_sampler to opr.samplers module

* feat: add trainers module

* feat: add trainers.place_recognition module

* test: init dir for miners tests

* fix: typo

* test: add tests for BatchHardTripletMiner

* refactor: major refactor for BatchHardTripletMiner class

* feat: script for NCLT preprocessing

* feat: add util module for preprocessing scripts

* feat: add check_in_buffer_set to utils

* feat: script for splitting NCLT dataset

* refactor: set img size constants in the beginning of the file

* fix: large_cam_dir referenced before assigned

* fix: torch.cat(lidar_feats_list)

* test: e2e test for NCLT dataset

* feat: NCLT dataset re-implemented

* feat: nclt dataset config

* fix: nclt dataset feature quantization

* feat: use_intensity_values for NCLT dataset

* fix: workaround for compatibility with oxford dataset

* feat: add nclt dataset

* feat: option to extract data from all tracks of NCLT

* feat: base dataset class now have positive and negative masks and distributed collate fn

* feat: update OxfordDataset to new format

* fix: remove redundant distributed_collate_fn

* refactor: move transform functions to base dataset class

* docs: fix descriptions of transform arguments

* feat: update NCLT dataset according to new format

* feat: add NCLTDataset to init

* refactor: remove many of redundant configs

* feat: add distributed wrapper for batch sampler

* docs: remove outdated info from readme

* chore: remove mypy from pre-commit

* refactor: simplify place recognition models code structure

* feat: building blocks for models are now in 'modules' subpackage

* refactor: move fusion modules into 'opr.modules' subpackage

* refactor: move gem modules into 'opr.modules' subpackage

* refactor: move eca modules into 'opr.modules' subpackage

* feat: add MinkResNetFPN feature extractor module

* feat: MinkLoc3D implementation

* feat: MinkLoc3Dv2 model implementation

* fix: remove redundant resnet module from opr.models subpackage

* fix: remove redundant opr.layers subpackage

* fix: remove redundant opr.models.layers subpackage

* chore: remove gitlab-ci config

* chore: remove strange output.txt file

* chore: move notebooks to separate directory

* docs: opr.datasets description

* refactor: unified output type for place recognition models

* docs: add notebook with usage example for opr.datasets subpackage

* docs: usage example for opr.models subpackage

* chore: add faiss dependency

* chore: better MinkowskiEngine installation in Dockerfile

* feat: init PlaceRecognitionPipeline

* docs: usage example for opr.pipelines

* fix: return type in infer method is np.ndarray

* docs: add docstring to PlaceRecognitionPipeline.__init__ method

* fix: rename miner and fix linter issues

* fix: BatchHardTripletMiner forward method docstring - embeddings is Tensor, not Dictionary

* refactor: new loss format

* docs: losses usage sample

* fix: utils module linter fixes

* refactor: move 'parse_device' method to opr.utils module as function

* feat: replace print with logging

* refactor: remove outdated configs

* fix: more reasonable default value for quantization size in NCLT dataset

* fix: fist filter point by distance, then convert to spherical

* fix: remove outdated configs

* refactor: remove miner config

* feat: UnimodalPlaceRecognitionTrainer

* feat: config files for training

* feat: training script

* chore: remove outdated training module

* feat: update make_dataloaders and make_distributed_dataloaders

* fix: remove ComposedModel import from testing module

* feat: new config for minkloc3dv2

* feat: ITLP dataset

* feat: ResNet18 image-based Place Recognition model

* fix: copy device value when creating new Conv2d

* feat: add SemanticModel and SemanticResNet18 for Place Recognition based on semantic segmentation masks

* feat: move test code to separate function

* feat: 2-layer MLP module

* feat: SelfAttention module

* feat: init new project submodule

* feat: new ConvNeXt feature extractor

* Revert "feat: init new project submodule"

This reverts commit bba8e4b642adcc3064ccc20a43c861692cf69a1a.

* chore: bump version to 0.2.0

---------

Co-authored-by: Vitaly Bezuglyj <[email protected]>
Co-authored-by: Bezuglyj Vitaly <[email protected]>
Co-authored-by: Iliia Petryashin <[email protected]>