-
Notifications
You must be signed in to change notification settings - Fork 9.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Refactor] refactor get_subset_by_classes in dataloader for training with empty-GT images #3695
[Refactor] refactor get_subset_by_classes in dataloader for training with empty-GT images #3695
Conversation
…detection into fix_coco_loader_empty_images Conflicts: .gitignore tests/test_dataset.py
Codecov Report
@@ Coverage Diff @@
## master #3695 +/- ##
==========================================
- Coverage 62.48% 62.41% -0.07%
==========================================
Files 219 219
Lines 16256 16257 +1
Branches 2753 2753
==========================================
- Hits 10157 10147 -10
- Misses 5603 5616 +13
+ Partials 496 494 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
…oco_loader_empty_images
…oco_loader_empty_images
Task linked: CU-4hu3hu PR #3695 |
* Add doc of modify loss (#3777) * add doc of modify loss * minor fix * change name * improve the function of simple_test_bboxes (#3853) * update * fix lint error * add bbox_pred_split in sabl_head * fix lint error * fix yapf * fix build error * fix yapf * Clean background_labels in the dense heads (#3221) * Clean background_labels in the dense heads * clean format * Reformat * Fix CI bug * fix fsaf and the comments * fix newly added heads * fix yolact * complete comments * fix rpn transforming bug in two stage networks (#3754) * fix rpn transforming bug in two_stage * [Refactor] refactor get_subset_by_classes in dataloader for training with empty-GT images (#3695) * Add regression test and test data * Add fix for empty gt images * Trigger CI build * refactor get_subset_by_classes * reformat and fix docstring * [refactor]: move get_subset_by_classes to _filter_imgs * make img_ids consistent * resolve comments * simplify logics * add warning * add warning * add warning Co-authored-by: mmeendez8 <miguelmndez@gmail.com> * Fix nonzero in NMS for PyTorch 1.6.0 (#3867) * Support TTA of ATSS, FCOS, YOLOv3 (#3844) * Support TTA of ATSS, FCOS, YOLOv3 * Add comment * [Docs] Fix typo in docs/tutorials/new_dataset.md (#3876) * [Docs] Remove duplicate content in docs/config.md (#3875) * [Enhance]: Convert mask to bool before using it as img's index for robustness and speedup (#3870) * Convert mask to bool before using it as img's index * lint * Rewrite code in more concise way * Fix typo in bbox_flip (#3886) * fix the API change bug of PAA (#3883) * fix cv2 import error of ligGL.so.1 (#3891) * [enhance]: Improve documentation of modules and dataset customization (#3821) * update tutorials for changing training settings * update * Update details of hook * resolve comments * reformat * Update module documentations * add notes for classes specification * support to use pytorch 1.6 in docker (#3905) * support to use pytorch 1.6 in docker * update mmcv requirement * update docs * Add missing notes in data customization (#3906) * [Fix]: fix mask rcnn training stuck problem when there is no positive rois (#3713) * Fix mask rcnn stuck problem when there is no positive rois * support non pos inference in cascade methods, link CU-49tawu * print mmcv version in CI * use mmcv repo to check wrappers * change cpu build * upgrade mmcv requirements and change ci back * use pre-built whl in CI * Bump to v2.5.0 (#3879) * bump to v2.5.0 * update PR * resolve comments * clean unnecessary modification * update bc breaking * rephrase bc-breaking * rephrase * Added `generate_inputs_and_wrap_model` function for pytorch2onnx (#3857) * added `generate_inputs_and_wrap_model` function for pytorch2onnx * undo debugging changes * added model.cpu().eval() * refactored onnx * fix verify * move `generate_inputs_and_wrap_model` into mmdet.core.export * use `generate_inputs_and_wrap_model` in tools/pytorch2onnx.py * typo (#3917) * Edit mmdet.core.export docstring (#3912) * edit mmdet.core.export docstring * update doctest * fix small bugs * supports for HungarianMatchAssigner, add bbox_cxcywh_to_xyxy and bbox_xyxy_to_cxcywh for bbox transform * format box-wise related giou calculating as a function and implement it in iou2d_calculater.py * supports for BboxGIoU2D and re-implements giou_loss using bbox_gious * remove unnecessary * reformat * reformat docstring * reformat * rename * supports for giou calculating in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps * fix sabl validating bug in cascade_rcnn (#3913) * reformat * move giou related unit test from test_losses.py to test_iou2d_calculator.py * reformat * Avoid division by zero in PAA head when num_pos=0 * [Fix]: Avoid division by zero in PAA head when num_pos=0 (#3938) * explicitly add mode in giou_loss * Add supports for giou calculation in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps (#3936) * supports for BboxGIoU2D and re-implements giou_loss using bbox_gious * remove unnecessary * reformat * reformat docstring * reformat * rename * supports for giou calculating in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps * reformat * move giou related unit test from test_losses.py to test_iou2d_calculator.py * reformat * Avoid division by zero in PAA head when num_pos=0 * explicitly add mode in giou_loss * Add supports for giou calculation in BboxOverlaps2D, and add iou_calculator in hungarian_assigner * rename hungarian_match_assigner as hungarian_assigner * fix init * reformat docstring * Avoid division by zero in PAA head when num_pos=0 * fix cpu (#3948) * add mode for iou_calculator and make giou cost as a default case * make mode as a param in iou_calculator * reformat docsting * make iou_mode outside of iou_calculator Co-authored-by: Cao Yuhang <yhcao6@gmail.com> Co-authored-by: yuzhj <31239926+yuzhj@users.noreply.github.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> Co-authored-by: mmeendez8 <miguelmndez@gmail.com> Co-authored-by: Yosuke Shinya <42844407+shinya7y@users.noreply.github.com> Co-authored-by: LabMemNo003 <LabMemNo003@gmail.com> Co-authored-by: Ye Liu <yeliudev@outlook.com> Co-authored-by: aboettcher <aboettcher@users.noreply.github.com> Co-authored-by: Ryan Li <xlide@connect.ust.hk> Co-authored-by: Jiangmiao Pang <pangjiangmiao@gmail.com>
* supports for DETR transformer * unit test with small data to avoid out of memory in CI * use batch size 1 for unit test to avoid out of memory * move transformer into utils folder and use more small data for unit test * reformat docstring * add more detailed docstring * reforamt * reformat and add build_transformer (#3866) * Supports for DETR position embedding (#3850) * supports for DETR position embedding * reformat docstring * reformat * move transformer_head folder into utils * remove unnecessary comments * reformat * reformat * reformat docstring * reformat * add optional for default parameters * add comments for unit test * avoid inplace in MultiheadAttention and add optional add_residual for FFN * Supports for DETR inference (#3941) * fix forward in FFN * supports detr inference mode with batchsize 1 * add docstring for DETR in detr.py * reformat and add doctest for TransformerHead * reformat, and move the mask construction from simple_test in detr.py to the forward process of transformer_head * rename detr_r50_1x_coco as detr_r50_8x4_1x_coco in config * reformat * mask input_img_shape in img_meta as a general modification of base_detector forward_test * reformat * Supports for DETR hungarian matcher. (#3929) * Add doc of modify loss (#3777) * add doc of modify loss * minor fix * change name * improve the function of simple_test_bboxes (#3853) * update * fix lint error * add bbox_pred_split in sabl_head * fix lint error * fix yapf * fix build error * fix yapf * Clean background_labels in the dense heads (#3221) * Clean background_labels in the dense heads * clean format * Reformat * Fix CI bug * fix fsaf and the comments * fix newly added heads * fix yolact * complete comments * fix rpn transforming bug in two stage networks (#3754) * fix rpn transforming bug in two_stage * [Refactor] refactor get_subset_by_classes in dataloader for training with empty-GT images (#3695) * Add regression test and test data * Add fix for empty gt images * Trigger CI build * refactor get_subset_by_classes * reformat and fix docstring * [refactor]: move get_subset_by_classes to _filter_imgs * make img_ids consistent * resolve comments * simplify logics * add warning * add warning * add warning Co-authored-by: mmeendez8 <miguelmndez@gmail.com> * Fix nonzero in NMS for PyTorch 1.6.0 (#3867) * Support TTA of ATSS, FCOS, YOLOv3 (#3844) * Support TTA of ATSS, FCOS, YOLOv3 * Add comment * [Docs] Fix typo in docs/tutorials/new_dataset.md (#3876) * [Docs] Remove duplicate content in docs/config.md (#3875) * [Enhance]: Convert mask to bool before using it as img's index for robustness and speedup (#3870) * Convert mask to bool before using it as img's index * lint * Rewrite code in more concise way * Fix typo in bbox_flip (#3886) * fix the API change bug of PAA (#3883) * fix cv2 import error of ligGL.so.1 (#3891) * [enhance]: Improve documentation of modules and dataset customization (#3821) * update tutorials for changing training settings * update * Update details of hook * resolve comments * reformat * Update module documentations * add notes for classes specification * support to use pytorch 1.6 in docker (#3905) * support to use pytorch 1.6 in docker * update mmcv requirement * update docs * Add missing notes in data customization (#3906) * [Fix]: fix mask rcnn training stuck problem when there is no positive rois (#3713) * Fix mask rcnn stuck problem when there is no positive rois * support non pos inference in cascade methods, link CU-49tawu * print mmcv version in CI * use mmcv repo to check wrappers * change cpu build * upgrade mmcv requirements and change ci back * use pre-built whl in CI * Bump to v2.5.0 (#3879) * bump to v2.5.0 * update PR * resolve comments * clean unnecessary modification * update bc breaking * rephrase bc-breaking * rephrase * Added `generate_inputs_and_wrap_model` function for pytorch2onnx (#3857) * added `generate_inputs_and_wrap_model` function for pytorch2onnx * undo debugging changes * added model.cpu().eval() * refactored onnx * fix verify * move `generate_inputs_and_wrap_model` into mmdet.core.export * use `generate_inputs_and_wrap_model` in tools/pytorch2onnx.py * typo (#3917) * Edit mmdet.core.export docstring (#3912) * edit mmdet.core.export docstring * update doctest * fix small bugs * supports for HungarianMatchAssigner, add bbox_cxcywh_to_xyxy and bbox_xyxy_to_cxcywh for bbox transform * format box-wise related giou calculating as a function and implement it in iou2d_calculater.py * supports for BboxGIoU2D and re-implements giou_loss using bbox_gious * remove unnecessary * reformat * reformat docstring * reformat * rename * supports for giou calculating in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps * fix sabl validating bug in cascade_rcnn (#3913) * reformat * move giou related unit test from test_losses.py to test_iou2d_calculator.py * reformat * Avoid division by zero in PAA head when num_pos=0 * [Fix]: Avoid division by zero in PAA head when num_pos=0 (#3938) * explicitly add mode in giou_loss * Add supports for giou calculation in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps (#3936) * supports for BboxGIoU2D and re-implements giou_loss using bbox_gious * remove unnecessary * reformat * reformat docstring * reformat * rename * supports for giou calculating in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps * reformat * move giou related unit test from test_losses.py to test_iou2d_calculator.py * reformat * Avoid division by zero in PAA head when num_pos=0 * explicitly add mode in giou_loss * Add supports for giou calculation in BboxOverlaps2D, and add iou_calculator in hungarian_assigner * rename hungarian_match_assigner as hungarian_assigner * fix init * reformat docstring * Avoid division by zero in PAA head when num_pos=0 * fix cpu (#3948) * add mode for iou_calculator and make giou cost as a default case * make mode as a param in iou_calculator * reformat docsting * make iou_mode outside of iou_calculator Co-authored-by: Cao Yuhang <yhcao6@gmail.com> Co-authored-by: yuzhj <31239926+yuzhj@users.noreply.github.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> Co-authored-by: mmeendez8 <miguelmndez@gmail.com> Co-authored-by: Yosuke Shinya <42844407+shinya7y@users.noreply.github.com> Co-authored-by: LabMemNo003 <LabMemNo003@gmail.com> Co-authored-by: Ye Liu <yeliudev@outlook.com> Co-authored-by: aboettcher <aboettcher@users.noreply.github.com> Co-authored-by: Ryan Li <xlide@connect.ust.hk> Co-authored-by: Jiangmiao Pang <pangjiangmiao@gmail.com> * Re-implements RandomCrop to support different crop_type (#4093) * re-implements RandomCrop to support different crop_type * add assertion for relative related crop_type * reformat, and add image shape assertion for unit test * reformat * Supports for DETR training mode in process. (#3963) * add input_img_shape in img_meta, and supports training mode toy * toy commit * toy commit * re-organize and support for detr training mode * add unit test for detr training, testing, and transformer_head * add more unit test for transformer * reformat * remove unnecessary * use small transformer model for unit test * reformat docstring * reformat * reformat * Supports DETR e150 config (#4197) * rename e300 config as e150 config * reformat * add comments on override option in Resize * add comments on override option in Resize * position embeddingto positional encoding * fix unit tests * fix registry name bug * rename file Co-authored-by: v-qjqs <qjliqiaofei@gmail.com> Co-authored-by: Qiaofei Li <34116221+v-qjqs@users.noreply.github.com> Co-authored-by: Cao Yuhang <yhcao6@gmail.com> Co-authored-by: yuzhj <31239926+yuzhj@users.noreply.github.com> Co-authored-by: mmeendez8 <miguelmndez@gmail.com> Co-authored-by: Yosuke Shinya <42844407+shinya7y@users.noreply.github.com> Co-authored-by: LabMemNo003 <LabMemNo003@gmail.com> Co-authored-by: Ye Liu <yeliudev@outlook.com> Co-authored-by: aboettcher <aboettcher@users.noreply.github.com> Co-authored-by: Ryan Li <xlide@connect.ust.hk> Co-authored-by: Jiangmiao Pang <pangjiangmiao@gmail.com>
* supports for DETR transformer * unit test with small data to avoid out of memory in CI * use batch size 1 for unit test to avoid out of memory * move transformer into utils folder and use more small data for unit test * reformat docstring * add more detailed docstring * reforamt * reformat and add build_transformer (#3866) * Supports for DETR position embedding (#3850) * supports for DETR position embedding * reformat docstring * reformat * move transformer_head folder into utils * remove unnecessary comments * reformat * reformat * reformat docstring * reformat * add optional for default parameters * add comments for unit test * avoid inplace in MultiheadAttention and add optional add_residual for FFN * Supports for DETR inference (#3941) * fix forward in FFN * supports detr inference mode with batchsize 1 * add docstring for DETR in detr.py * reformat and add doctest for TransformerHead * reformat, and move the mask construction from simple_test in detr.py to the forward process of transformer_head * rename detr_r50_1x_coco as detr_r50_8x4_1x_coco in config * reformat * mask input_img_shape in img_meta as a general modification of base_detector forward_test * reformat * Supports for DETR hungarian matcher. (#3929) * Add doc of modify loss (#3777) * add doc of modify loss * minor fix * change name * improve the function of simple_test_bboxes (#3853) * update * fix lint error * add bbox_pred_split in sabl_head * fix lint error * fix yapf * fix build error * fix yapf * Clean background_labels in the dense heads (#3221) * Clean background_labels in the dense heads * clean format * Reformat * Fix CI bug * fix fsaf and the comments * fix newly added heads * fix yolact * complete comments * fix rpn transforming bug in two stage networks (#3754) * fix rpn transforming bug in two_stage * [Refactor] refactor get_subset_by_classes in dataloader for training with empty-GT images (#3695) * Add regression test and test data * Add fix for empty gt images * Trigger CI build * refactor get_subset_by_classes * reformat and fix docstring * [refactor]: move get_subset_by_classes to _filter_imgs * make img_ids consistent * resolve comments * simplify logics * add warning * add warning * add warning Co-authored-by: mmeendez8 <miguelmndez@gmail.com> * Fix nonzero in NMS for PyTorch 1.6.0 (#3867) * Support TTA of ATSS, FCOS, YOLOv3 (#3844) * Support TTA of ATSS, FCOS, YOLOv3 * Add comment * [Docs] Fix typo in docs/tutorials/new_dataset.md (#3876) * [Docs] Remove duplicate content in docs/config.md (#3875) * [Enhance]: Convert mask to bool before using it as img's index for robustness and speedup (#3870) * Convert mask to bool before using it as img's index * lint * Rewrite code in more concise way * Fix typo in bbox_flip (#3886) * fix the API change bug of PAA (#3883) * fix cv2 import error of ligGL.so.1 (#3891) * [enhance]: Improve documentation of modules and dataset customization (#3821) * update tutorials for changing training settings * update * Update details of hook * resolve comments * reformat * Update module documentations * add notes for classes specification * support to use pytorch 1.6 in docker (#3905) * support to use pytorch 1.6 in docker * update mmcv requirement * update docs * Add missing notes in data customization (#3906) * [Fix]: fix mask rcnn training stuck problem when there is no positive rois (#3713) * Fix mask rcnn stuck problem when there is no positive rois * support non pos inference in cascade methods, link CU-49tawu * print mmcv version in CI * use mmcv repo to check wrappers * change cpu build * upgrade mmcv requirements and change ci back * use pre-built whl in CI * Bump to v2.5.0 (#3879) * bump to v2.5.0 * update PR * resolve comments * clean unnecessary modification * update bc breaking * rephrase bc-breaking * rephrase * Added `generate_inputs_and_wrap_model` function for pytorch2onnx (#3857) * added `generate_inputs_and_wrap_model` function for pytorch2onnx * undo debugging changes * added model.cpu().eval() * refactored onnx * fix verify * move `generate_inputs_and_wrap_model` into mmdet.core.export * use `generate_inputs_and_wrap_model` in tools/pytorch2onnx.py * typo (#3917) * Edit mmdet.core.export docstring (#3912) * edit mmdet.core.export docstring * update doctest * fix small bugs * supports for HungarianMatchAssigner, add bbox_cxcywh_to_xyxy and bbox_xyxy_to_cxcywh for bbox transform * format box-wise related giou calculating as a function and implement it in iou2d_calculater.py * supports for BboxGIoU2D and re-implements giou_loss using bbox_gious * remove unnecessary * reformat * reformat docstring * reformat * rename * supports for giou calculating in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps * fix sabl validating bug in cascade_rcnn (#3913) * reformat * move giou related unit test from test_losses.py to test_iou2d_calculator.py * reformat * Avoid division by zero in PAA head when num_pos=0 * [Fix]: Avoid division by zero in PAA head when num_pos=0 (#3938) * explicitly add mode in giou_loss * Add supports for giou calculation in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps (#3936) * supports for BboxGIoU2D and re-implements giou_loss using bbox_gious * remove unnecessary * reformat * reformat docstring * reformat * rename * supports for giou calculating in BboxOverlaps2D, and re-implements giou_loss using bbox_overlaps * reformat * move giou related unit test from test_losses.py to test_iou2d_calculator.py * reformat * Avoid division by zero in PAA head when num_pos=0 * explicitly add mode in giou_loss * Add supports for giou calculation in BboxOverlaps2D, and add iou_calculator in hungarian_assigner * rename hungarian_match_assigner as hungarian_assigner * fix init * reformat docstring * Avoid division by zero in PAA head when num_pos=0 * fix cpu (#3948) * add mode for iou_calculator and make giou cost as a default case * make mode as a param in iou_calculator * reformat docsting * make iou_mode outside of iou_calculator Co-authored-by: Cao Yuhang <yhcao6@gmail.com> Co-authored-by: yuzhj <31239926+yuzhj@users.noreply.github.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> Co-authored-by: mmeendez8 <miguelmndez@gmail.com> Co-authored-by: Yosuke Shinya <42844407+shinya7y@users.noreply.github.com> Co-authored-by: LabMemNo003 <LabMemNo003@gmail.com> Co-authored-by: Ye Liu <yeliudev@outlook.com> Co-authored-by: aboettcher <aboettcher@users.noreply.github.com> Co-authored-by: Ryan Li <xlide@connect.ust.hk> Co-authored-by: Jiangmiao Pang <pangjiangmiao@gmail.com> * Re-implements RandomCrop to support different crop_type (#4093) * re-implements RandomCrop to support different crop_type * add assertion for relative related crop_type * reformat, and add image shape assertion for unit test * reformat * Supports for DETR training mode in process. (#3963) * add input_img_shape in img_meta, and supports training mode toy * toy commit * toy commit * re-organize and support for detr training mode * add unit test for detr training, testing, and transformer_head * add more unit test for transformer * reformat * remove unnecessary * use small transformer model for unit test * reformat docstring * reformat * reformat * Supports DETR e150 config (#4197) * rename e300 config as e150 config * reformat * add comments on override option in Resize * add comments on override option in Resize * position embeddingto positional encoding * fix unit tests * fix registry name bug * rename file * remove unnecessary Co-authored-by: ZwwWayne <wayne.zw@outlook.com> Co-authored-by: Cao Yuhang <yhcao6@gmail.com> Co-authored-by: yuzhj <31239926+yuzhj@users.noreply.github.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> Co-authored-by: mmeendez8 <miguelmndez@gmail.com> Co-authored-by: Yosuke Shinya <42844407+shinya7y@users.noreply.github.com> Co-authored-by: LabMemNo003 <LabMemNo003@gmail.com> Co-authored-by: Ye Liu <yeliudev@outlook.com> Co-authored-by: aboettcher <aboettcher@users.noreply.github.com> Co-authored-by: Ryan Li <xlide@connect.ust.hk> Co-authored-by: Jiangmiao Pang <pangjiangmiao@gmail.com>
* tag 'v2.5.0': (102 commits) Bump to v2.5.0 (open-mmlab#3879) [Fix]: fix mask rcnn training stuck problem when there is no positive rois (open-mmlab#3713) Add missing notes in data customization (open-mmlab#3906) support to use pytorch 1.6 in docker (open-mmlab#3905) [enhance]: Improve documentation of modules and dataset customization (open-mmlab#3821) fix cv2 import error of ligGL.so.1 (open-mmlab#3891) fix the API change bug of PAA (open-mmlab#3883) Fix typo in bbox_flip (open-mmlab#3886) [Enhance]: Convert mask to bool before using it as img's index for robustness and speedup (open-mmlab#3870) [Docs] Remove duplicate content in docs/config.md (open-mmlab#3875) [Docs] Fix typo in docs/tutorials/new_dataset.md (open-mmlab#3876) Support TTA of ATSS, FCOS, YOLOv3 (open-mmlab#3844) Fix nonzero in NMS for PyTorch 1.6.0 (open-mmlab#3867) [Refactor] refactor get_subset_by_classes in dataloader for training with empty-GT images (open-mmlab#3695) fix rpn transforming bug in two stage networks (open-mmlab#3754) Clean background_labels in the dense heads (open-mmlab#3221) improve the function of simple_test_bboxes (open-mmlab#3853) Add doc of modify loss (open-mmlab#3777) fix sabl validating bug (open-mmlab#3849) YOLACT (open-mmlab#3456) ...
This PR fixes the issue of training with empty-GT images when specifying classes, continuing on #3133.
In the original implementation,
get_subset_by_classes
is not related to the flagself.filter_empty_gt
. This brings ambiguous behavior and potential bugs when specifying dataset classes. More specifically,CocoDataset
filters empty gt images in two places, one is in_filter_img
, the other one is inget_subset_by_classes
. Other datasets only filter empty gt images inget_subset_by_classes
, but this will be triggered by specifying classes rather thanself.filter_empty_gt=True
.The goal of this PR is to make the behavior of
filter empty GT
independent tospecifying classes
. After this PR, iffilter_empty_gt=False
, no matter whether the classes are specified in a dataset, the dataset will use all the images in the annotations. Iffilter_empty_gt=True
, no matter whether the classes are specified, the dataset will check the images and filter out images containing no GT boxes.This PR also changes the logic during test_mode. Previously, the dataset will filter out empty-GT images no matter whether it is in test mode. After this PR, it only filters out images in training, i.e., if
test_mode=True
, it will test all the images given in the annotations. This behavior is more commonly need as mentioned in #3545, and is more consistent with before that the dataset will not filter out small images in test mode. Therefore, the users should be responsible for the data filtering/cleaning process for the test dataset.Fix #3023, Fix #2965, Fix #3545