Skip to content
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

Support the instance segmentation task in projects #730

Open
wants to merge 3 commits into
base: dev-1.x
Choose a base branch
from

Conversation

zytx121
Copy link
Collaborator

@zytx121 zytx121 commented Feb 15, 2023

This project implements a Mask RCNN for rotated boxes. Benefiting from the BoxType design, we only need to modify the code slightly in mmrotate, and we can support the instance segmentation task. Although the rotated box indicator will drop slightly after adding the mask head, it may help improve the instance segmentation task.

P0262__1024__824___1414
P0003__1024__123___0

We hope this project can inspire you and welcome you to explore more uses of mmrotate!

@zytx121 zytx121 changed the title Support the instance segmentation task in projects Support the instance segmentation task in projects Feb 15, 2023

| Backbone | mAP | Angle | lr schd | Mem (GB) | Inf Time (fps) | Aug | Batch Size | Configs | Download |
| :----------------------: | :---: | :---: | :-----: | :------: | :------------: | :-: | :--------: | :----------------------------------------------------------------------------------: | :----------------------: |
| ResNet50 (1024,1024,200) | 72.71 | le90 | 1x | - | - | - | 2 | [rotated-mask-rcnn_r50_fpn_1x_dota](confsigs/rotated-mask-rcnn_r50_fpn_1x_dota.py) | [model](<>) \| [log](<>) |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have model weights to upload?

@fkroeber
Copy link

fkroeber commented May 11, 2023

Thanks for this contribution, I believe it's very valuable to expand the libraries functionality!
One suggestion for an improvement of the mask delineation: Replace the proposed matching of rotated ROI aligned feature maps with hbox mask targets (using rbox2hox in mask_target.py -> mask_target_single & rotated_fcn_mask_head.py -> _do_paste_mask()) with an rotated ROI alignment for the mask targets. Thereby the feature maps as well as the mask targets are actually spatially matching, which allows a better mask prediction. To illustrate the improvement, you can find a comparison of both approaches for the use case of agricultural parcel delineation below.

grafik

@yangxue0827
Copy link
Collaborator

@zytx121

@Ataraxi8
Copy link

Ataraxi8 commented Jun 29, 2023

When I use my own training set, why the box is shifted, but the segm is correct? @zytx121 @fkroeber
N01_18

@zytx121
Copy link
Collaborator Author

zytx121 commented Jun 30, 2023

@fkroeber Thank you for sharing, the results are much better than now! May I ask if you are willing to provide us with a PR?

@tcotte
Copy link

tcotte commented Jun 5, 2024

Hello,
I am new to MMRotate. I've found this library while I was searching for an instance segmentation model with oriented bounding boxes. Thank you @zytx121, I think this project will solve my problem.
I have seen that DOTA dataset type is privileged in MMRotate. But I guess that masks have to be provided. Therefore, I assume that DOTA dataset is not supported by your project. This is why I ask you what type of dataset have to be used in this project ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants