Releases: OPR-Project/OpenPlaceRecognition
Releases · OPR-Project/OpenPlaceRecognition
0.2.0
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]>