Mmflow Versions Save

OpenMMLab optical flow toolbox and benchmark

v0.5.2

1 year ago

What's Changed

New Features

  • Add flow1d attention (#195)

Fix bugs

  • Fix some URLs of RAFT (#206)
  • Fix in-place operator in RAFT (#252)
  • Fix the deprecation of np.int (#270)
  • Fix the deprecation of sklearn PyPI package (272)

Documentation

  • Update intro.md (#238)
  • Update 1_inference.md (#267)

Improvements

  • Update mmcv max version (#256)
  • Update pre-commit hooks (#258)

New Contributors

Full Changelog: https://github.com/open-mmlab/mmflow/compare/v0.5.1...v0.5.2

v1.0.0rc0

1 year ago

We are excited to announce the release of MMFlow 1.0.0rc0. MMFlow 1.0.0rc0 is a part of the OpenMMLab 2.0 projects. Built upon the new training engine, MMFlow 1.x unifies the interfaces of dataset, models, evaluation, and visualization with faster training and testing speed.

Highlights

  1. New engines MMFlow 1.x is based on MMEngine, which provides a general and powerful runner that allows more flexible customizations and significantly simplifies the entrypoints of high-level interfaces.

  2. Unified interfaces As a part of the OpenMMLab 2.0 projects, MMFlow 1.x unifies and refactors the interfaces and internal logics of training, testing, datasets, models, evaluation, and visualization. All the OpenMMLab 2.0 projects share the same design in those interfaces and logics to allow the emergence of multi-task/modality algorithms.

  3. Faster speed We optimize the training and inference speed for common models.

  4. More documentation and tutorials We add a bunch of documentation and tutorials to help users get started more smoothly. Read it here.

Breaking Changes

We briefly list the major breaking changes here. We will update the migration guide to provide complete details and migration instructions.

Training and testing

  • MMFlow 1.x runs on PyTorch>=1.6. We have deprecated the support of PyTorch 1.5 to embrace the mixed precision training and other new features since PyTorch 1.6. Some models can still run on PyTorch 1.5, but the full functionality of MMFlow 1.x is not guaranteed.

  • MMFlow 1.x uses Runner in MMEngine rather than that in MMCV. The new Runner implements and unifies the building logic of dataset, model, evaluation, and visualization. Therefore, MMFlow 1.x no longer maintains the building logics of those modules in mmflow.train.apis and tools/train.py. Those code have been migrated into MMEngine. Please refer to the migration guide of Runner in MMEngine for more details.

  • The Runner in MMEngine also supports testing and validation. The testing scripts are also simplified, which has similar logic as that in training scripts to build the runner.

  • The execution points of hooks in the new Runner have been enriched to allow more flexible customization. Please refer to the migration guide of Hook in MMEngine for more details.

  • Learning rate and momentum scheduling has been migrated from Hook to Parameter Scheduler in MMEngine. Please refer to the migration guide of Parameter Scheduler in MMEngine for more details.

Configs

Components

  • Dataset
  • Data Transforms
  • Model
  • Evaluation
  • Visualization

Improvements

  • The training speed of those models with some common training strategies are improved, including those with synchronized batch normalization and mixed precision training.

  • Support mixed precision training of all the models. However, some models may got Nan results due to some numerical issues. We will update the documentation and list their results (accuracy of failure) of mixed precision training.

Ongoing changes

  1. Inference interfaces: a unified inference interfaces will be supported in the future to ease the use of released models.

  2. Interfaces of useful tools that can be used in notebook: more useful tools that implemented in the tools directory will have their python interfaces so that they can be used through notebook and in downstream libraries.

  3. Documentation: we will add more design docs, tutorials, and migration guidance so that the community can deep dive into our new design, participate the future development, and smoothly migrate downstream libraries to MMFlow 1.x.

v0.5.1

1 year ago

What's Changed

Improvements

  • Set the maximum version of MMCV to 1.7.0 (167)
  • Update the qq_group_qrcode image in resources (166)

New Contributors

Full Changelog: https://github.com/open-mmlab/mmflow/compare/v0.5.0...v0.5.1

v0.5.0

1 year ago

What's Changed

Highlight

  • Add config and pre-trained model for FlowNet2 on FlyingChairs (163)

Documentation

  • Add a template for PR (160)
  • Fix config file error in metafile (151)
  • Fix broken URL in metafile (157)
  • Fix broken URLs for issue reporting in README (147)

Improvements

  • Add mim to extras_require in setup.py (154)
  • Fix mdformat version to support python3.6 and remove ruby install (153)
  • Add test_mim.yml for testing commands of mim in CI (158)

New Contributors

Full Changelog: https://github.com/open-mmlab/mmflow/compare/v0.4.2...v0.5.0

v0.4.2

1 year ago

What's Changed

Bug Fixes

  • Inference bug for sparse flow map (133)
  • H and W input images must be divisible by 2**6 (136)

Documents

  • Configure Myst-parser to parse anchor tag (129)
  • Replace markdownlint with mdformat for avoiding installing ruby (130)
  • Rewrite install and README by (139, 140, 141, 144, 145)

Full Changelog: https://github.com/open-mmlab/mmflow/compare/v0.4.1...v0.4.2

v0.4.1

2 years ago

What's Changed

Feature

  • Loading flow annotation from file client (#116)
  • Support overall dastaloader settings (#117)
  • Generate ann_file for flyingchairs (121)

Improvements

  • Add GPG keys in CI(127)

Bug Fixes

  • The config and weights are not corresponding in the metafile.yml (#118)
  • Replace recommonmark with myst_parser (#120)

Documents

  • Add zh-cn doc 0_config_.md (#126)

New Contributors

Full Changelog: https://github.com/open-mmlab/mmflow/compare/v0.4.0...v0.4.1

v0.4.0

2 years ago

Highlights

  • Support occlusion estimation methods including flow forward-backward consistency, range map of the backward flow, and flow forward-backward abstract difference

Features

  • Support three occlusion estimation methods (#106)
  • Support different seeds on different ranks when distributed training (#104)

Improvements

  • Revise collect_env for Windows platform (#112)
  • Add script and documentation for multi-machine distributed training (#107)
  • Synchronize random seed for the distributed sampler (#110)

v0.3.0

2 years ago

Highlights

  • Officially support CPU train/inference
  • Officially support model inference in windows platform
  • Add census loss, SSIM loss and smoothness loss
  • Update the list of files with nan in Flyingthings3d_subset dataset

Features

  • Add census loss (#100)
  • Add smoothness loss function (#97)
  • Add SSIM loss function (#96)

Bug Fixes

  • Update nan files in Flyingthings3d_subset (94)
  • Add pretrained pwcnet-model when training PWCNet+ (#99)
  • Fix bug in non-distributed multi-gpu training/testing (#85)
  • Fix writing flow map bug in test (#83)

Improvements

  • Add win-ci (#92)
  • Update the installation of MMCV (#89)
  • Upgrade isort in pre-commit hook (#87)
  • Support CPU train/inference (#86)
  • Add multi-processes script (#79)
  • Deprecate the support for "python setup.py test" (#73)

Documents

  • Fix broken URLs in GMA README (#93)
  • Fix date format in readme (#90)
  • Reorganizing OpenMMLab projects in readme (#98)
  • Fix README files of algorithms (#84)
  • Add url of OpenMMLab and platform in README (76)

New Contributors

Full Changelog

v0.2.0

2 years ago

Highlights

  • Support GMA: Learning to Estimate Hidden Motions with Global Motion Aggregation (ICCV 2021) (#32)
  • Fix the bug of wrong refine iter in RAFT, and update RAFT model checkpoint after the bug fixing (#62, #68)
  • Support resuming from the latest checkpoint automatically (#71)

Features

  • Add scale_as_level for multi-level flow loss (#58)
  • Add scale_mode for correlation block (#56)
  • Add upsample_cfg in IRR-PWC decoder (#53)

Bug Fixes

  • Resized input image must be dividable by 2^6 (#65)
  • Fix RAFT wrong refine iter after evaluation (#62)

Improvements

  • Add persistent_workers=True in val_dataloader (#63)
  • Revise env_info key (#46)
  • Add digital version (#43)
  • Try to create a symbolic link on windows (#37)
  • Set a random seed when the user does not set a seed (#27)

Refactors

  • Refactor utils in models (#50)

Documents

  • Refactor documentation (#14)
  • Fix script bug in FlyingChairs dataset prepare (#21)
  • Fix broken links in model_zoo (#60)
  • Update metafile (#39, #41, #49)
  • Update documentation (#28, #35, #36, #47, #48, #70)

v0.1.0

2 years ago

Highlights

  • MMFlow v0.1.0 is released.

Main Features

  • The First Unified Framework for Optical Flow: MMFlow is the first toolbox that provides a framework for unified implementation and evaluation of optical flow algorithms.

  • Flexible and Modular Design: We decompose the flow estimation framework into different components, making it much easy and flexible to build a new model by combining different modules.

  • Plenty of Algorithms and Datasets Out of the Box: The toolbox directly supports popular and contemporary optical flow models, e.g. FlowNet, PWC-Net, RAFT, etc, and representative datasets, FlyingChairs, FlyingThings3D, Sintel, KITTI, etc.