- Remove the rotation and dimension hack in the monocular 3D detection on nuScenes by applying corresponding transformation in the pre-processing and post-processing. The modification only influences nuScenes coco-style json files. Please re-run the data preparation scripts if necessary. See more details in the PR #744.
- Add a new pre-processing module for the ScanNet dataset in order to support multi-view detectors. Please run the updated scripts to extract the RGB data and its annotations. See more details in the PR #696.
- Support to use MIM with pip installation
- Support PAConv models and benchmarks on S3DIS
- Enhance the documentation especially on dataset tutorials
- Support RGB images on ScanNet for multi-view detectors (#696)
- Support FLOPs and number of parameters calculation (#736)
- Support to use MIM with pip installation (#782)
- Support PAConv models and benchmarks on the S3DIS dataset (#783, #809)
- Refactor Group-Free-3D to make it inherit BaseModule from MMCV (#704)
- Modify the initialization methods of FCOS3D to be consistent with the refactored approach (#705)
- Benchmark the Group-Free-3D models on ScanNet (#710)
- Add Chinese Documentation for Getting Started (#725), FAQ (#730), Model Zoo (#735), Demo (#745), Quick Run (#746), Data Preparation (#787) and Configs (#788)
- Add documentation for semantic segmentation on ScanNet and S3DIS (#743, #747, #806, #807)
- Add a parameter
max_keep_ckpts
to limit the maximum number of saved Group-Free-3D checkpoints (#765) - Add documentation for 3D detection on SUN RGB-D and nuScenes (#770, #793)
- Remove mmpycocotools in the Dockerfile (#785)
- Fix versions of OpenMMLab dependencies (#708)
- Convert
rt_mat
totorch.Tensor
in coordinate transformation for compatibility (#709) - Fix the
bev_range
initialization inObjectRangeFilter
according to thegt_bboxes_3d
type (#717) - Fix Chinese documentation and incorrect doc format due to the incompatible Sphinx version (#718)
- Fix a potential bug when setting
interval == 1
in analyze_logs.py (#720) - Update the structure of Chinese Documentation (#722)
- Fix FCOS3D FPN BC-Breaking caused by the code refactoring in MMDetection (#739)
- Fix wrong
in_channels
whenwith_distance=True
in the Dynamic VFE Layers (#749) - Fix the dimension and yaw hack of FCOS3D on nuScenes (#744, #794, #795, #818)
- Fix the missing default
bbox_mode
in theshow_multi_modality_result
(#825)
A total of 12 developers contributed to this release.
@yinchimaoliang, @gopi231091, @filaPro, @ZwwWayne, @ZCMax, @hjin2902, @wHao-Wu, @Wuziyi616, @xiliu8006, @THU17cyz, @DCNSW, @Tai-Wang
In order to fix the problem that the priority of EvalHook is too low, all hook priorities have been re-adjusted in 1.3.8, so MMDetection 2.14.0 needs to rely on the latest MMCV 1.3.8 version. For related information, please refer to #1120, for related issues, please refer to #5343.
- Support PAConv
- Support monocular/multi-view 3D detector ImVoxelNet on KITTI
- Support Transformer-based 3D detection method Group-Free-3D on ScanNet
- Add documentation for tasks including LiDAR-based 3D detection, vision-only 3D detection and point-based 3D semantic segmentation
- Add dataset documents like ScanNet
- Support Group-Free-3D on ScanNet (#539)
- Support PAConv modules (#598, #599)
- Support ImVoxelNet on KITTI (#627, #654)
- Add unit tests for pipeline functions
LoadImageFromFileMono3D
,ObjectNameFilter
andObjectRangeFilter
(#615) - Enhance IndoorPatchPointSample (#617)
- Refactor model initialization methods based MMCV (#622)
- Add Chinese docs (#629)
- Add documentation for LiDAR-based 3D detection (#642)
- Unify intrinsic and extrinsic matrices for all datasets (#653)
- Add documentation for point-based 3D semantic segmentation (#663)
- Add documentation of ScanNet for 3D detection (#664)
- Refine docs for tutorials (#666)
- Add documentation for vision-only 3D detection (#669)
- Refine docs for Quick Run and Useful Tools (#686)
- Fix the bug of BackgroundPointsFilter using the bottom center of ground truth (#609)
- Fix LoadMultiViewImageFromFiles to unravel stacked multi-view images to list to be consistent with DefaultFormatBundle (#611)
- Fix the potential bug in analyze_logs when the training resumes from a checkpoint or is stopped before evaluation (#634)
- Fix test commands in docs and make some refinements (#635)
- Fix wrong config paths in unit tests (#641)
- Support the point cloud segmentation method PointNet++
- Support PointNet++ (#479, #528, #532, #541)
- Support RandomJitterPoints transform for point cloud segmentation (#584)
- Support RandomDropPointsColor transform for point cloud segmentation (#585)
- Move the point alignment of ScanNet from data pre-processing to pipeline (#439, #470)
- Add compatibility document to provide detailed descriptions of BC-breaking changes (#504)
- Add MMSegmentation installation requirement (#535)
- Support points rotation even without bounding box in GlobalRotScaleTrans for point cloud segmentaiton (#540)
- Support visualization of detection results and dataset browse for nuScenes Mono-3D dataset (#542, #582)
- Support faster implementation of KNN (#586)
- Support RegNetX models on Lyft dataset (#589)
- Remove a useless parameter
label_weight
from segmentation datasets includingCustom3DSegDataset
,ScanNetSegDataset
andS3DISSegDataset
(#607)
- Fix a corrupted lidar data file in Lyft dataset in data_preparation (#546)
- Fix evaluation bugs in nuScenes and Lyft dataset (#549)
- Fix converting points between coordinates with specific transformation matrix in the coord_3d_mode.py (#556)
- Support PointPillars models on Lyft dataset (#578)
- Fix the bug of demo with pre-trained VoteNet model on ScanNet (#600)
- Support a monocular 3D detection method FCOS3D
- Support ScanNet and S3DIS semantic segmentation dataset
- Enhancement of visualization tools for dataset browsing and demos, including support of visualization for multi-modality data and point cloud segmentation.
- Support ScanNet semantic segmentation dataset (#390)
- Support monocular 3D detection on nuScenes (#392)
- Support multi-modality visualization (#405)
- Support nuimages visualization (#408)
- Support monocular 3D detection on KITTI (#415)
- Support online visualization of semantic segmentation results (#416)
- Support ScanNet test results submission to online benchmark (#418)
- Support S3DIS data pre-processing and dataset class (#433)
- Support FCOS3D (#436, #442, #482, #484)
- Support dataset browse for multiple types of datasets (#467)
- Adding paper-with-code (PWC) metafile for each model in the model zoo (#485)
- Support dataset browsing for SUNRGBD, ScanNet or KITTI points and detection results (#367)
- Add the pipeline to load data using file client (#430)
- Support to customize the type of runner (#437)
- Make pipeline functions process points and masks simultaneously when sampling points (#444)
- Add waymo unit tests (#455)
- Split the visualization of projecting points onto image from that for only points (#480)
- Efficient implementation of PointSegClassMapping (#489)
- Use the new model registry from mmcv (#495)
- Fix Pytorch 1.8 Compilation issue in the scatter_points_cuda.cu (#404)
- Fix dynamic_scatter errors triggered by empty point input (#417)
- Fix the bug of missing points caused by using break incorrectly in the voxelization (#423)
- Fix the missing
coord_type
in the waymo dataset config (#441) - Fix errors in four unittest functions of configs, test_detectors.py, test_heads.py (#453)
- Fix 3DSSD training errors and simplify configs (#462)
- Clamp 3D votes projections to image boundaries in ImVoteNet (#463)
- Update out-of-date names of pipelines in the config of pointpillars benchmark (#474)
- Fix the lack of a placeholder when unpacking RPN targets in the h3d_bbox_head.py (#508)
- Fix the incorrect value of
K
when creating pickle files for SUN RGB-D (#511)
- Support a new multi-modality method ImVoteNet.
- Support PyTorch 1.7 and 1.8
- Refactor the structure of tools and train.py/test.py
- Support LiDAR-based semantic segmentation metrics (#332)
- Support ImVoteNet (#352, #384)
- Support the KNN GPU operation (#360, #371)
- Add FAQ for common problems in the documentation (#333)
- Refactor the structure of tools (#339)
- Refactor train.py and test.py (#343)
- Support demo on nuScenes (#353)
- Add 3DSSD checkpoints (#359)
- Update the Bibtex of CenterPoint (#368)
- Add citation format and reference to other OpenMMLab projects in the README (#374)
- Upgrade the mmcv version requirements (#376)
- Add numba and numpy version requirements in FAQ (#379)
- Avoid unnecessary for-loop execution of vfe layer creation (#389)
- Update SUNRGBD dataset documentation to stress the requirements for training ImVoteNet (#391)
- Modify vote head to support 3DSSD (#396)
- Fix missing keys
coord_type
in database sampler config (#345) - Rename H3DNet configs (#349)
- Fix CI by using ubuntu 18.04 in github workflow (#350)
- Add assertions to avoid 4-dim points being input to points_in_boxes (#357)
- Fix the SECOND results on Waymo in the corresponding README (#363)
- Fix the incorrect adopted pipeline when adding val to workflow (#370)
- Fix a potential bug when indices used in the backwarding in ThreeNN (#377)
- Fix a compilation error triggered by scatter_points_cuda.cu in PyTorch 1.7 (#393)
- Support more friendly visualization interfaces based on open3d
- Support a faster and more memory-efficient implementation of DynamicScatter
- Refactor unit tests and details of configs
- Support new visualization methods based on open3d (#284, #323)
- Refactor unit tests (#303)
- Move the key
train_cfg
andtest_cfg
into the model configs (#307) - Update README with Chinese version and instructions for getting started. (#310, #316)
- Support a faster and more memory-efficient implementation of DynamicScatter (#318, #326)
- Fix an unsupported bias setting in the unit test for centerpoint head (#304)
- Fix errors due to typos in the centerpoint head (#308)
- Fix a minor bug in points_in_boxes.py when tensors are not in the same device. (#317)
- Fix warning of deprecated usages of nonzero during training with PyTorch 1.6 (#330)
- Preliminary release of API for SemanticKITTI dataset.
- Documentation and demo enhancement for better user experience.
- Fix a number of underlying minor bugs and add some corresponding important unit tests.
- Support SemanticKITTI dataset preliminarily (#287)
- Add tag to README in configurations for specifying different uses (#262)
- Update instructions for evaluation metrics in the documentation (#265)
- Add nuImages entry in README.md and gif demo (#266, #268)
- Add unit test for voxelization (#275)
- Fixed the issue of unpacking size in furthest_point_sample.py (#248)
- Fix bugs for 3DSSD triggered by empty ground truths (#258)
- Remove models without checkpoints in model zoo statistics of documentation (#259)
- Fix some unclear installation instructions in getting_started.md (#269)
- Fix relative paths/links in the documentation (#271)
- Fix a minor bug in scatter_points_cuda.cu when num_features != 4 (#275)
- Fix the bug about missing text files when testing on KITTI (#278)
- Fix issues caused by inplace modification of tensors in
BaseInstance3DBoxes
(#283) - Fix log analysis for evaluation and adjust the documentation accordingly (#285)
- Documentation refactoring with better structure, especially about how to implement new models and customized datasets.
- More compatible with refactored point structure by bug fixes in ground truth sampling.
- Documentation refactoring (#242)
- Fix point structure related bugs in ground truth sampling (#211)
- Fix loading points in ground truth sampling augmentation on nuScenes (#221)
- Fix channel setting in the SeparateHead of CenterPoint (#228)
- Fix evaluation for indoors 3D detection in case of less classes in prediction (#231)
- Remove unreachable lines in nuScenes data converter (#235)
- Minor adjustments of numpy implementation for perspective projection and prediction filtering criterion in KITTI evaluation (#241)
- Refactor points structure with more constructive and clearer implementation.
- Support axis-aligned IoU loss for VoteNet with better performance.
- Update and enhance SECOND benchmark on Waymo.
- Support axis-aligned IoU loss for VoteNet. (#194)
- Support points structure for consistent processing of all the point related representation. (#196, #204)
- Enhance SECOND benchmark on Waymo with stronger baselines. (#205)
- Add model zoo statistics and polish the documentation. (#201)
- Support a new method SSN with benchmarks on nuScenes and Lyft datasets.
- Update benchmarks for SECOND on Waymo, CenterPoint with TTA on nuScenes and models with mixed precision training on KITTI and nuScenes.
- Support semantic segmentation on nuImages and provide HTC models with configurations and performance for reference.
- Modified primitive head which can support the setting on SUN-RGBD dataset (#136)
- Support semantic segmentation and HTC with models for reference on nuImages dataset (#155)
- Support SSN on nuScenes and Lyft datasets (#147, #174, #166, #182)
- Support double flip for test time augmentation of CenterPoint with updated benchmark (#143)
- Update SECOND benchmark with configurations for reference on Waymo (#166)
- Delete checkpoints on Waymo to comply its specific license agreement (#180)
- Update models and instructions with mixed precision training on KITTI and nuScenes (#178)
- Fix incorrect code weights in anchor3d_head when introducing mixed precision training (#173)
- Fix the incorrect label mapping on nuImages dataset (#155)
- Support mixed precision training of voxel-based methods
- Support docker with PyTorch 1.6.0
- Update baseline configs and results (CenterPoint on nuScenes and PointPillars on Waymo with full dataset)
- Switch model zoo to download.openmmlab.com
- Support dataset pipeline
VoxelBasedPointSampler
to sample multi-sweep points based on voxelization. (#125) - Support mixed precision training of voxel-based methods (#132)
- Support docker with PyTorch 1.6.0 (#160)
- Reduce requirements for the case exclusive of Waymo (#121)
- Switch model zoo to download.openmmlab.com (#126)
- Update docs related to Waymo (#128)
- Add version assertion in the init file (#129)
- Add evaluation interval setting for CenterPoint (#131)
- Add unit test for CenterPoint (#133)
- Update PointPillars baselines on Waymo with full dataset (#142)
- Update CenterPoint results with models and logs (#154)
- Fix a bug of visualization in multi-batch case (#120)
- Fix bugs in dcn unit test (#130)
- Fix dcn bias bug in centerpoint (#137)
- Fix dataset mapping in the evaluation of nuScenes mini dataset (#140)
- Fix origin initialization in
CameraInstance3DBoxes
(#148, #150) - Correct documentation link in the getting_started.md (#159)
- Fix model save path bug in gather_models.py (#153)
- Fix image padding shape bug in
PointFusion
(#162)
- Support new methods H3DNet, 3DSSD, CenterPoint.
- Support new dataset Waymo (with PointPillars baselines) and nuImages (with Mask R-CNN and Cascade Mask R-CNN baselines).
- Support Batch Inference
- Support Pytorch 1.6
- Start to publish
mmdet3d
package to PyPI since v0.5.0. You can use mmdet3d throughpip install mmdet3d
.
- Support Batch Inference (#95, #103, #116): MMDetection3D v0.6.0 migrates to support batch inference based on MMDetection >= v2.4.0. This change influences all the test APIs in MMDetection3D and downstream codebases.
- Start to use collect environment function from MMCV (#113): MMDetection3D v0.6.0 migrates to use
collect_env
function in MMCV.get_compiler_version
andget_compiling_cuda_version
compiled inmmdet3d.ops.utils
are removed. Please import these two functions frommmcv.ops
.
- Support nuImages dataset by converting them into coco format and release Mask R-CNN and Cascade Mask R-CNN baseline models (#91, #94)
- Support to publish to PyPI in github-action (#17, #19, #25, #39, #40)
- Support CBGSDataset and make it generally applicable to all the supported datasets (#75, #94)
- Support H3DNet and release models on ScanNet dataset (#53, #58, #105)
- Support Fusion Point Sampling used in 3DSSD (#66)
- Add
BackgroundPointsFilter
to filter background points in data pipeline (#84) - Support pointnet2 with multi-scale grouping in backbone and refactor pointnets (#82)
- Support dilated ball query used in 3DSSD (#96)
- Support 3DSSD and release models on KITTI dataset (#83, #100, #104)
- Support CenterPoint and release models on nuScenes dataset (#49, #92)
- Support Waymo dataset and release PointPillars baseline models (#118)
- Allow
LoadPointsFromMultiSweeps
to pad empty sweeps and select multiple sweeps randomly (#67)
- Fix all warnings and bugs in PyTorch 1.6.0 (#70, #72)
- Update issue templates (#43)
- Update unit tests (#20, #24, #30)
- Update documentation for using
ply
format point cloud data (#41) - Use points loader to load point cloud data in ground truth (GT) samplers (#87)
- Unify version file of OpenMMLab projects by using
version.py
(#112) - Remove unnecessary data preprocessing commands of SUN RGB-D dataset (#110)
- Rename CosineAnealing to CosineAnnealing (#57)
- Fix device inconsistant bug in 3D IoU computation (#69)
- Fix a minor bug in json2csv of lyft dataset (#78)
- Add missed test data for pointnet modules (#85)
- Fix
use_valid_flag
bug inCustomDataset
(#106)
MMDetection3D is released.