changelog.md 75 KB

Changelog

v1.0.0rc1 (14/10/2022)

Highlights

  • Release RTMPose, a high-performance real-time pose estimation algorithm with cross-platform deployment and inference support. See details at the project page
  • Support several new algorithms: ViTPose (arXiv'2022), CID (CVPR'2022), DEKR (CVPR'2021)
  • Add Inferencer, a convenient inference interface that perform pose estimation and visualization on images, videos and webcam streams with only one line of code
  • Introduce Project, a new form for rapid and easy implementation of new algorithms and features in MMPose, which is more handy for community contributors

New Features

Improvements

  • Improve documentation quality (#1846, #1858, #1872, #1899, #1925, #1945, #1952, #1990, #2023, #2042)
  • Support visualizing keypoint indices (#2051)
  • Support OpenPose style visualization (#2055)
  • Accelerate image transpose in data pipelines with tensor operation (#1976)
  • Support auto-import modules from registry (#1961)
  • Support keypoint partition metric (#1944)
  • Support SimCC 1D-heatmap visualization (#1912)
  • Support saving predictions and data metainfo in demos (#1814, #1879)
  • Support SimCC with DARK (#1870)
  • Remove Gaussian blur for offset maps in UDP-regress (#1815)
  • Refactor encoding interface of Codec for better extendibility and easier configuration (#1781)
  • Support evaluating CocoMetric without annotation file (#1722)
  • Improve unit tests (#1765)

Bug Fixes

  • Fix repeated warnings from different ranks (#2053)
  • Avoid frequent scope switching when using mmdet inference api (#2039)
  • Remove EMA parameters and message hub data when publishing model checkpoints (#2036)
  • Fix metainfo copying in dataset class (#2017)
  • Fix top-down demo bug when there is no object detected (#2007)
  • Fix config errors (#1882, #1906, #1995)
  • Fix image demo failure when GUI is unavailable (#1968)
  • Fix bug in AdaptiveWingLoss (#1953)
  • Fix incorrect importing of RepeatDataset which is deprecated (#1943)
  • Fix bug in bottom-up datasets that ignores images without instances (#1752, #1936)
  • Fix upstream dependency issues (#1867, #1921)
  • Fix evaluation issues and update results (#1763, #1773, #1780, #1850, #1868)
  • Fix local registry missing warnings (#1849)
  • Remove deprecated scripts for model deployment (#1845)
  • Fix a bug in input transformation in BaseHead (#1843)
  • Fix an interface mismatch with MMDetection in webcam demo (#1813)
  • Fix a bug in heatmap visualization that causes incorrect scale (#1800)
  • Add model metafiles (#1768)

v1.0.0rc0 (14/10/2022)

New Features

  • Support 4 light-weight pose estimation algorithms: SimCC (ECCV'2022), Debias-IPR (ICCV'2021), IPR (ECCV'2018), and DSNT (ArXiv'2018) (#1628)

Migrations

Improvements

Bug Fixes

v1.0.0beta (1/09/2022)

We are excited to announce the release of MMPose 1.0.0beta. MMPose 1.0.0beta is the first version of MMPose 1.x, a part of the OpenMMLab 2.0 projects. Built upon the new training engine.

Highlights

  • New engines. MMPose 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.

  • Unified interfaces. As a part of the OpenMMLab 2.0 projects, MMPose 1.x unifies and refactors the interfaces and internal logics of train, 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.

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

Breaking Changes

In this release, we made lots of major refactoring and modifications. Please refer to the migration guide for details and migration instructions.

v0.28.1 (28/07/2022)

This release is meant to fix the compatibility with the latest mmcv v1.6.1

v0.28.0 (06/07/2022)

Highlights

New Features

Improvements

Bug Fixes

  • Rename custom_hooks_config to custom_hooks in configs to align with the documentation (#1427) @ly015

  • Fix deadlock issue in Webcam API (#1430) @ly015

  • Fix smoother configs in video 3D demo (#1457) @ly015

v0.27.0 (07/06/2022)

Highlights

  • Support hand gesture recognition

    • Try the demo for gesture recognition
    • Learn more about the algorithm, dataset and experiment results
  • Major upgrade to the Webcam API

New Features

Improvements

Bug Fixes

  • Fix xywh->xyxy bbox conversion in dataset sanity check (#1367) @jin-s13

  • Fix a bug in two-stage 3D keypoint demo (#1373) @ly015

  • Fix out-dated settings in PVT configs (#1376) @ly015

  • Fix myst settings for document compiling (#1381) @ly015

  • Fix a bug in bbox transform (#1384) @ly015

  • Fix inaccurate description of min_keypoints in tracking apis (#1398) @pallgeuer

  • Fix warning with torch.meshgrid (#1402) @pallgeuer

  • Remove redundant transformer modules from mmpose.datasets.backbones.utils (#1405) @ly015

v0.26.0 (05/05/2022)

Highlights

New Features

Improvements

Bug Fixes

Breaking Changes

  • Refactor bbox processing in datasets and pipelines (#1311) @ly015, @Ben-Louis

  • The bbox format conversion (xywh to center-scale) and random translation are moved from the dataset to the pipeline. The comparison between new and old version is as below:

v0.26.0v0.25.0Dataset (e.g. TopDownCOCODataset)

... # Data sample only contains bbox rec.append({ 'bbox': obj['clean_bbox][:4], ... })

... # Convert bbox from xywh to center-scale center, scale = self._xywh2cs(*obj['clean_bbox'][:4]) # Data sample contains center and scale rec.append({ 'bbox': obj['clean_bbox][:4], 'center': center, 'scale': scale, ... })

Pipeline Config

(e.g. HRNet+COCO)

... train_pipeline = [ dict(type='LoadImageFromFile'), # Convert bbox from xywh to center-scale dict(type='TopDownGetBboxCenterScale', padding=1.25), # Randomly shift bbox center dict(type='TopDownRandomShiftBboxCenter', shift_factor=0.16, prob=0.3), ... ]

... train_pipeline = [ dict(type='LoadImageFromFile'), ... ]

Advantage

  • Simpler data sample content
  • Flexible bbox format conversion and augmentation
  • Apply bbox random translation every epoch (instead of only applying once at the annotation loading)
  • -

    BC Breaking

    The method _xywh2cs of dataset base classes (e.g. Kpt2dSviewRgbImgTopDownDataset) will be deprecated in the future. Custom datasets will need modifications to move the bbox format conversion to pipelines.

    -

    v0.25.0 (02/04/2022)

    Highlights

    New Features

    Improvements

    Bug Fixes

    • Fix keypoint index in RHD dataset meta information (#1265) @liqikai9

    • Fix pre-commit hook unexpected behavior on Windows (#1282) @liqikai9

    • Remove python-dev installation in CI (#1276) @ly015

    • Unify hyphens in argument names in tools and demos (#1271) @ly015

    • Fix ambiguous channel size in channel_shuffle that may cause exporting failure (#1242) @PINTO0309

    • Fix a bug in Webcam API that causes single-class detectors fail (#1239) @674106399

    • Fix the issue that custom_hook can not be set in configs (#1236) @bladrome

    • Fix incompatible MMCV version in DockerFile (#raykindle)

    • Skip invisible joints in visualization (#1228) @womeier

    v0.24.0 (07/03/2022)

    Highlights

    New Features

    Improvements

    • Refactor multi-view 3D pose estimation framework towards better modularization and expansibility (#1196) @wusize

    • Add WebcamAPI documents and tutorials (#1187) @ly015

    • Refactor dataset evaluation interface to align with other OpenMMLab codebases (#1209) @ly015

    • Add deprecation message for deploy tools since MMDeploy has supported MMPose (#1207) @QwQ2000

    • Improve documentation quality (#1206, #1161) @ly015

    • Switch to OpenMMLab official pre-commit-hook for copyright check (#1214) @ly015

    Bug Fixes

    • Fix hard-coded data collating and scattering in inference (#1175) @ly015

    • Fix model configs on JHMDB dataset (#1188) @jin-s13

    • Fix area calculation in pose tracking inference (#1197) @pallgeuer

    • Fix registry scope conflict of module wrapper (#1204) @ly015

    • Update MMCV installation in CI and documents (#1205)

    • Fix incorrect color channel order in visualization functions (#1212) @ly015

    v0.23.0 (11/02/2022)

    Highlights

    New Features

    Improvements

    Bug Fixes

    v0.22.0 (04/01/2022)

    Highlights

    New Features

    Improvements

    Bug Fixes

    v0.21.0 (06/12/2021)

    Highlights

    New Features

    Improvements

    Bug Fixes

    • Update pose tracking demo to be compatible with latest mmtracking (#1014) @jin-s13

    • Fix symlink creation failure when installed in Windows environments (#1039) @QwQ2000

    • Fix AP-10K dataset sigmas (#1040) @jin-s13

    v0.20.0 (01/11/2021)

    Highlights

    New Features

    Bug Fixes

    Improvements

    • Support non-square input shape for bottom-up (#991) @wusize

    • Add image and video resources for demo (#971) @liqikai9

    • Use CUDA docker images to accelerate CI (#973) @ly015

    • Add codespell hook and fix detected typos (#977) @ly015

    v0.19.0 (08/10/2021)

    Highlights

    New Features

    Bug Fixes

    Improvements

    Breaking Changes

    v0.18.0 (01/09/2021)

    Bug Fixes

    • Fix redundant model weight loading in pytorch-to-onnx conversion (#850) @ly015

    • Fix a bug in update_model_index.py that may cause pre-commit hook failure(#866) @ly015

    • Fix a bug in interhand_3d_head (#890) @zengwang430521

    • Fix pose tracking demo failure caused by out-of-date configs (#891)

    Improvements

    v0.17.0 (06/08/2021)

    Highlights

    1. Support "Lite-HRNet: A Lightweight High-Resolution Network" CVPR'2021 (#733,#800) @jin-s13

    2. Add 3d body mesh demo (#771) @zengwang430521

    3. Add Chinese documentation (#787, #798, #799, #802, #804, #805, #815, #816, #817, #819, #839) @ly015, @luminxu, @jin-s13, @liqikai9, @zengwang430521

    4. Add Colab Tutorial (#834) @ly015

    New Features

    Bug Fixes

    Breaking Changes

    Improvements

    v0.16.0 (02/07/2021)

    Highlights

    1. Support "ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search" CVPR'2021 (#742,#755).

    2. Support MPI-INF-3DHP dataset (#683,#746,#751).

    3. Add webcam demo tool (#729)

    4. Add 3d body and hand pose estimation demo (#704, #727).

    New Features

    Bug Fixes

    Breaking Changes

    • Switch to MMCV MODEL_REGISTRY (#669)

    Improvements

    • Refactor MeshMixDataset (#752)

    • Rename 'GaussianHeatMap' to 'GaussianHeatmap' (#745)

    • Update out-of-date configs (#734)

    • Improve compatibility for breaking changes (#731)

    • Enable to control radius and thickness in visualization (#722)

    • Add regex dependency (#720)

    v0.15.0 (02/06/2021)

    Highlights

    1. Support 3d video pose estimation (VideoPose3D).

    2. Support 3d hand pose estimation (InterNet).

    3. Improve presentation of modelzoo.

    New Features

    • Support "InterHand2.6M: A Dataset and Baseline for 3D Interacting Hand Pose Estimation from a Single RGB Image" (ECCV‘20) (#624)

    • Support "3D human pose estimation in video with temporal convolutions and semi-supervised training" (CVPR'19) (#602, #681)

    • Support 3d pose estimation demo (#653, #670)

    • Support bottom-up whole-body pose estimation (#689)

    • Support mmcli (#634)

    Bug Fixes

    Breaking Changes

    • Reorganize configs by tasks, algorithms, datasets, and techniques (#647)

    • Rename heads and detectors (#667)

    Improvements

    • Add radius and thickness parameters in visualization (#638)

    • Add trans_prob parameter in TopDownRandomTranslation (#650)

    • Switch to MMCV MODEL_REGISTRY (#669)

    • Update dependencies (#674, #676)

    v0.14.0 (06/05/2021)

    Highlights

    1. Support animal pose estimation with 7 popular datasets.

    2. Support "A simple yet effective baseline for 3d human pose estimation" (ICCV'17).

    New Features

    • Support "A simple yet effective baseline for 3d human pose estimation" (ICCV'17) (#554,#558,#566,#570,#589)

    • Support animal pose estimation (#559,#561,#563,#571,#603,#605)

    • Support Horse-10 dataset (#561), MacaquePose dataset (#561), Vinegar Fly dataset (#561), Desert Locust dataset (#561), Grevy's Zebra dataset (#561), ATRW dataset (#571), and Animal-Pose dataset (#603)

    • Support bottom-up pose tracking demo (#574)

    • Support FP16 training (#584,#616,#626)

    • Support NMS for bottom-up (#609)

    Bug Fixes

    • Fix bugs in the top-down demo, when there are no people in the images (#569).

    • Fix the links in the doc (#612)

    Improvements

    v0.13.0 (31/03/2021)

    Highlights

    1. Support Wingloss.

    2. Support RHD hand dataset.

    New Features

    • Support Wingloss (#482)

    • Support RHD hand dataset (#523, #551)

    • Support Human3.6m dataset for 3d keypoint detection (#518, #527)

    • Support TCN model for 3d keypoint detection (#521, #522)

    • Support Interhand3D model for 3d hand detection (#536)

    • Support Multi-task detector (#480)

    Bug Fixes

    • Fix PCKh@0.1 calculation (#516)

    • Fix unittest (#529)

    • Fix circular importing (#542)

    • Fix bugs in bottom-up keypoint score (#548)

    Improvements

    v0.12.0 (28/02/2021)

    Highlights

    1. Support DeepPose algorithm.

    New Features

    • Support DeepPose algorithm (#446, #461)

    • Support interhand3d dataset (#468)

    • Support Albumentation pipeline (#469)

    • Support PhotometricDistortion pipeline (#485)

    • Set seed option for training (#493)

    • Add demos for face keypoint detection (#502)

    Bug Fixes

    • Change channel order according to configs (#504)

    • Fix num_factors in UDP encoding (#495)

    • Fix configs (#456)

    Breaking Changes

    • Refactor configs for wholebody pose estimation (#487, #491)

    • Rename decode function for heads (#481)

    Improvements

    v0.11.0 (31/01/2021)

    Highlights

    1. Support fashion landmark detection.

    2. Support face keypoint detection.

    3. Support pose tracking with MMTracking.

    New Features

    • Support fashion landmark detection (DeepFashion) (#413)

    • Support face keypoint detection (300W, AFLW, COFW, WFLW) (#367)

    • Support pose tracking demo with MMTracking (#427)

    • Support face demo (#443)

    • Support AIC dataset for bottom-up methods (#438, #449)

    Bug Fixes

    • Fix multi-batch training (#434)

    • Fix sigmas in AIC dataset (#441)

    • Fix config file (#420)

    Breaking Changes

    • Refactor Heads (#382)

    Improvements

    v0.10.0 (31/12/2020)

    Highlights

    1. Support more human pose estimation methods.

      1. UDP
    2. Support pose tracking.

    3. Support multi-batch inference.

    4. Add some useful tools, including analyze_logs, get_flops, print_config.

    5. Support more backbone networks.

      1. ResNest
      2. VGG

    New Features

    • Support UDP (#353, #371, #402)

    • Support multi-batch inference (#390)

    • Support MHP dataset (#386)

    • Support pose tracking demo (#380)

    • Support mpii-trb demo (#372)

    • Support mobilenet for hand pose estimation (#377)

    • Support ResNest backbone (#370)

    • Support VGG backbone (#370)

    • Add some useful tools, including analyze_logs, get_flops, print_config (#324)

    Bug Fixes

    • Fix bugs in pck evaluation (#328)

    • Fix model download links in README (#396, #397)

    • Fix CrowdPose annotations and update benchmarks (#384)

    • Fix modelzoo stat (#354, #360, #362)

    • Fix config files for aic datasets (#340)

    Breaking Changes

    • Rename image_thr to det_bbox_thr for top-down methods.

    Improvements

    • Organize the readme files (#398, #399, #400)

    • Check linting for markdown (#379)

    • Add faq.md (#350)

    • Remove PyTorch 1.4 in CI (#338)

    • Add pypi badge in readme (#329)

    v0.9.0 (30/11/2020)

    Highlights

    1. Support more human pose estimation methods.

      1. MSPN
      2. RSN
    2. Support video pose estimation datasets.

      1. sub-JHMDB
    3. Support Onnx model conversion.

    New Features

    • Support MSPN (#278)

    • Support RSN (#221, #318)

    • Support new post-processing method for MSPN & RSN (#288)

    • Support sub-JHMDB dataset (#292)

    • Support urls for pre-trained models in config files (#232)

    • Support Onnx (#305)

    Bug Fixes

    • Fix model download links in README (#255, #315)

    Breaking Changes

    • post_process=True|False and unbiased_decoding=True|False are deprecated, use post_process=None|default|unbiased etc. instead (#288)

    Improvements

    v0.8.0 (31/10/2020)

    Highlights

    1. Support more human pose estimation datasets.

      1. CrowdPose
      2. PoseTrack18
    2. Support more 2D hand keypoint estimation datasets.

      1. InterHand2.6
    3. Support adversarial training for 3D human shape recovery.

    4. Support multi-stage losses.

    5. Support mpii demo.

    New Features

    Bug Fixes

    • Fix config files (#190)

    Improvements

    • Add mpii demo (#216)

    • Improve README (#181, #183, #208)

    • Support return heatmaps and backbone features (#196, #212)

    • Support different return formats of mmdetection models (#217)

    v0.7.0 (30/9/2020)

    Highlights

    1. Support HMR for 3D human shape recovery.

    2. Support WholeBody human pose estimation.

      1. COCO-WholeBody
    3. Support more 2D hand keypoint estimation datasets.

      1. Frei-hand
      2. CMU Panoptic HandDB
    4. Add more popular backbones & enrich the modelzoo

      1. ShuffleNetv2
    5. Support hand demo and whole-body demo.

    New Features

    Bug Fixes

    • Fix typos in docs (#121)

    • Fix assertion (#142)

    Improvements

    • Add tools to transform .mat format to .json format (#126)

    • Add hand demo (#115)

    • Add whole-body demo (#163)

    • Reuse mmcv utility function and update version files (#135, #137)

    • Enrich the modelzoo (#147, #169)

    • Improve docs (#174, #175, #178)

    • Improve README (#176)

    • Improve version.py (#173)

    v0.6.0 (31/8/2020)

    Highlights

    1. Add more popular backbones & enrich the modelzoo

      1. ResNext
      2. SEResNet
      3. ResNetV1D
      4. MobileNetv2
      5. ShuffleNetv1
      6. CPM (Convolutional Pose Machine)
    2. Add more popular datasets:

      1. AIChallenger
      2. MPII
      3. MPII-TRB
      4. OCHuman
    3. Support 2d hand keypoint estimation.

      1. OneHand10K
    4. Support bottom-up inference.

    New Features

    Bug Fixes

    • Fix configs for MPII & MPII-TRB datasets (#93)

    • Fix the bug of missing test_pipeline in configs (#14)

    • Fix typos (#27, #28, #50, #53, #63)

    Improvements

    • Update benchmark (#93)

    • Add Dockerfile (#44)

    • Improve unittest coverage and minor fix (#18)

    • Support CPUs for train/val/demo (#34)

    • Support bottom-up demo (#69)

    • Add tools to publish model (#62)

    • Enrich the modelzoo (#64, #68, #82)

    v0.5.0 (21/7/2020)

    Highlights

    • MMPose is released.

    Main Features

    • Support both top-down and bottom-up pose estimation approaches.

    • Achieve higher training efficiency and higher accuracy than other popular codebases (e.g. AlphaPose, HRNet)

    • Support various backbone models: ResNet, HRNet, SCNet, Houglass and HigherHRNet.