未验证 提交 0989caf7 编写于 作者: S shangliang Xu 提交者: GitHub

fix code reference and licence (#4478)

上级 f5ddf363
...@@ -79,7 +79,10 @@ class ATSSAssigner(nn.Layer): ...@@ -79,7 +79,10 @@ class ATSSAssigner(nn.Layer):
gt_bboxes, gt_bboxes,
bg_index, bg_index,
gt_scores=None): gt_scores=None):
r"""The assignment is done in following steps r"""This code is based on
https://github.com/fcjian/TOOD/blob/master/mmdet/core/bbox/assigners/atss_assigner.py
The assignment is done in following steps
1. compute iou between all bbox (bbox of all pyramid levels) and gt 1. compute iou between all bbox (bbox of all pyramid levels) and gt
2. compute center distance between all bbox and gt 2. compute center distance between all bbox and gt
3. on each pyramid level, for each gt, select k bbox whose center 3. on each pyramid level, for each gt, select k bbox whose center
......
...@@ -47,7 +47,10 @@ class TaskAlignedAssigner(nn.Layer): ...@@ -47,7 +47,10 @@ class TaskAlignedAssigner(nn.Layer):
gt_bboxes, gt_bboxes,
bg_index, bg_index,
gt_scores=None): gt_scores=None):
r"""The assignment is done in following steps r"""This code is based on
https://github.com/fcjian/TOOD/blob/master/mmdet/core/bbox/assigners/task_aligned_assigner.py
The assignment is done in following steps
1. compute alignment metric between all bbox (bbox of all pyramid levels) and gt 1. compute alignment metric between all bbox (bbox of all pyramid levels) and gt
2. select top-k bbox as candidates for each gt 2. select top-k bbox as candidates for each gt
3. limit the positive sample's center in gt (because the anchor-free detector 3. limit the positive sample's center in gt (because the anchor-free detector
......
...@@ -28,6 +28,10 @@ __all__ = ['DETRHead', 'DeformableDETRHead'] ...@@ -28,6 +28,10 @@ __all__ = ['DETRHead', 'DeformableDETRHead']
class MLP(nn.Layer): class MLP(nn.Layer):
"""This code is based on
https://github.com/facebookresearch/detr/blob/main/models/detr.py
"""
def __init__(self, input_dim, hidden_dim, output_dim, num_layers): def __init__(self, input_dim, hidden_dim, output_dim, num_layers):
super().__init__() super().__init__()
self.num_layers = num_layers self.num_layers = num_layers
...@@ -48,7 +52,11 @@ class MLP(nn.Layer): ...@@ -48,7 +52,11 @@ class MLP(nn.Layer):
class MultiHeadAttentionMap(nn.Layer): class MultiHeadAttentionMap(nn.Layer):
"""This is a 2D attention module, which only returns the attention softmax (no multiplication by value)""" """This code is based on
https://github.com/facebookresearch/detr/blob/main/models/segmentation.py
This is a 2D attention module, which only returns the attention softmax (no multiplication by value)
"""
def __init__(self, query_dim, hidden_dim, num_heads, dropout=0.0, def __init__(self, query_dim, hidden_dim, num_heads, dropout=0.0,
bias=True): bias=True):
...@@ -94,9 +102,11 @@ class MultiHeadAttentionMap(nn.Layer): ...@@ -94,9 +102,11 @@ class MultiHeadAttentionMap(nn.Layer):
class MaskHeadFPNConv(nn.Layer): class MaskHeadFPNConv(nn.Layer):
""" """This code is based on
Simple convolutional head, using group norm. https://github.com/facebookresearch/detr/blob/main/models/segmentation.py
Upsampling is done using a FPN approach
Simple convolutional head, using group norm.
Upsampling is done using a FPN approach
""" """
def __init__(self, input_dim, fpn_dims, context_dim, num_groups=8): def __init__(self, input_dim, fpn_dims, context_dim, num_groups=8):
...@@ -307,7 +317,7 @@ class DeformableDETRHead(nn.Layer): ...@@ -307,7 +317,7 @@ class DeformableDETRHead(nn.Layer):
linear_init_(self.score_head) linear_init_(self.score_head)
constant_(self.score_head.bias, -4.595) constant_(self.score_head.bias, -4.595)
constant_(self.bbox_head.layers[-1].weight) constant_(self.bbox_head.layers[-1].weight)
with paddle.no_grad(): with paddle.no_grad():
bias = paddle.zeros_like(self.bbox_head.layers[-1].bias) bias = paddle.zeros_like(self.bbox_head.layers[-1].bias)
bias[2:] = -2.0 bias[2:] = -2.0
......
...@@ -48,6 +48,10 @@ class ScaleReg(nn.Layer): ...@@ -48,6 +48,10 @@ class ScaleReg(nn.Layer):
class TaskDecomposition(nn.Layer): class TaskDecomposition(nn.Layer):
"""This code is based on
https://github.com/fcjian/TOOD/blob/master/mmdet/models/dense_heads/tood_head.py
"""
def __init__( def __init__(
self, self,
feat_channels, feat_channels,
...@@ -105,6 +109,9 @@ class TaskDecomposition(nn.Layer): ...@@ -105,6 +109,9 @@ class TaskDecomposition(nn.Layer):
@register @register
class TOODHead(nn.Layer): class TOODHead(nn.Layer):
"""This code is based on
https://github.com/fcjian/TOOD/blob/master/mmdet/models/dense_heads/tood_head.py
"""
__inject__ = ['nms', 'static_assigner', 'assigner'] __inject__ = ['nms', 'static_assigner', 'assigner']
__shared__ = ['num_classes'] __shared__ = ['num_classes']
......
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#
# Modified from Deformable-DETR (https://github.com/fundamentalvision/Deformable-DETR)
# Copyright (c) 2020 SenseTime. All Rights Reserved.
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
......
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#
# Modified from DETR (https://github.com/facebookresearch/detr)
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
......
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#
# Modified from DETR (https://github.com/facebookresearch/detr)
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
......
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#
# Modified from DETR (https://github.com/facebookresearch/detr)
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
......
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#
# Modified from DETR (https://github.com/facebookresearch/detr)
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册