Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
SOLOv2-pytorch
Commits
24da4c81
Unverified
Commit
24da4c81
authored
Feb 13, 2019
by
Kai Chen
Committed by
GitHub
Feb 13, 2019
Browse files
Merge pull request #315 from hellock/master
Bug fix for ignored bboxes and support different iof computation
parents
f2cfa86b
801c8b19
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
8 deletions
+14
-8
mmdet/core/bbox/assigners/max_iou_assigner.py
mmdet/core/bbox/assigners/max_iou_assigner.py
+14
-8
No files found.
mmdet/core/bbox/assigners/max_iou_assigner.py
View file @
24da4c81
...
...
@@ -26,6 +26,8 @@ class MaxIoUAssigner(BaseAssigner):
ignore_iof_thr (float): IoF threshold for ignoring bboxes (if
`gt_bboxes_ignore` is specified). Negative values mean not
ignoring any bboxes.
ignore_wrt_candidates (bool): Whether to compute the iof between
`bboxes` and `gt_bboxes_ignore`, or the contrary.
"""
def
__init__
(
self
,
...
...
@@ -33,12 +35,14 @@ class MaxIoUAssigner(BaseAssigner):
neg_iou_thr
,
min_pos_iou
=
.
0
,
gt_max_assign_all
=
True
,
ignore_iof_thr
=-
1
):
ignore_iof_thr
=-
1
,
ignore_wrt_candidates
=
True
):
self
.
pos_iou_thr
=
pos_iou_thr
self
.
neg_iou_thr
=
neg_iou_thr
self
.
min_pos_iou
=
min_pos_iou
self
.
gt_max_assign_all
=
gt_max_assign_all
self
.
ignore_iof_thr
=
ignore_iof_thr
self
.
ignore_wrt_candidates
=
ignore_wrt_candidates
def
assign
(
self
,
bboxes
,
gt_bboxes
,
gt_bboxes_ignore
=
None
,
gt_labels
=
None
):
"""Assign gt to bboxes.
...
...
@@ -73,13 +77,15 @@ class MaxIoUAssigner(BaseAssigner):
if
(
self
.
ignore_iof_thr
>
0
)
and
(
gt_bboxes_ignore
is
not
None
)
and
(
gt_bboxes_ignore
.
numel
()
>
0
):
if
self
.
ignore_wrt_candidates
:
ignore_overlaps
=
bbox_overlaps
(
bboxes
,
gt_bboxes_ignore
,
mode
=
'iof'
)
ignore_max_overlaps
,
_
=
ignore_overlaps
.
max
(
dim
=
1
)
ignore_bboxes_inds
=
torch
.
nonzero
(
ignore_max_overlaps
>
self
.
ignore_iof_thr
).
squeeze
()
if
ignore_bboxes_inds
.
numel
()
>
0
:
overlaps
[
ignore_bboxes_inds
[:,
0
],
:]
=
-
1
else
:
ignore_overlaps
=
bbox_overlaps
(
gt_bboxes_ignore
,
bboxes
,
mode
=
'iof'
)
ignore_max_overlaps
,
_
=
ignore_overlaps
.
max
(
dim
=
0
)
overlaps
[:,
ignore_max_overlaps
>
self
.
ignore_iof_thr
]
=
-
1
assign_result
=
self
.
assign_wrt_overlaps
(
overlaps
,
gt_labels
)
return
assign_result
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment