`GeneralizedRCNN` raises an exception when encountering a bad bounding box during `forward`
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- python
- Domain
- computer-vision, machine-learning
Research direction
Start by reading torchvision/models/detection/generalized_rcnn.py around line 95, where degenerate bounding boxes are checked during forward. Review the existing comments and issue discussion to determine whether handling should raise a catchable exception, filter boxes, or retain the current assertion. Done means an agreed behavior is implemented and covered for bad boxes during training.
Written by the indexing model from the issue text.
Description
The current implementation of GeneralizedRCNN checks for degenerate bounding boxes during its forward pass. While -- in principle -- that is great, it can make training brittle, especially when randomized data augmentation is involved, because an exception is raised (via assert by torch). I see that the current implementation is experimental (it says # TODO: Move this to a function a couple of lines up) but I am wondering what could be more helpful ways of dealing with those bad bounding boxes:
- Raise an explicit exception that can be handled during training to, for example, skip the current batch?
- Filter out degenerate bounding boxes?
- Keep the current implementation because torch's
_assertis great and I just don't understand it properly? 🙄
- Dominant language
- Python
- Stars
- 17.9k
- Forks
- 7.3k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 13
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pytorch/vision
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100