hutuo1213 / CLIPViC

5 stars 0 forks source link

解码器定义问题 #2

Closed caochong12 closed 1 month ago

caochong12 commented 1 month ago

1 作者 @hutuo1213,您好,非常感谢您的工作,我对您的工作非常感兴趣,但我有一点不明白,您在这里的解码器定义中放入了两个decoder_layer,请问一下在这里您是怎么实现的,可不可以分享一下这部分的代码,非常感谢您的回复!

hutuo1213 commented 1 month ago

您好,非常抱歉我们没能提供全面的代码。我们只是将PViC中的连续的两个解码器拆开了而已,并没有改变实际结构。因为之前尝试去改变结构,都失败了。

class TransformerDecoder(nn.Module):

    def __init__(self, decoder_layer,decoder_layer2, num_layers, return_intermediate=True):
        super().__init__()
        # self.layers = nn.ModuleList([copy.deepcopy(decoder_layer) for i in range(num_layers)])
        self.layers = nn.ModuleList([decoder_layer,decoder_layer2])

当您仔细阅读过PViC的代码后,可以毫不费力的实现我们的代码。需要注意PViC参考了Conditional DETR等思想。如果需要加入CLIP图像编码器,需要对图像先进行预处理,可以参考HOICLIP和CLIP。没有正确进行预处理可能导致性能很低。

最近的基于Transformer的两阶段方法在HICO-DET上表现好,但V-COCO上是不太好的。

HOI检测和目标检测的工作是具有参考意义的,您不需要太针对细节,而是要去考虑您的方法要去解决什么问题。

caochong12 commented 1 month ago

非常感谢您的回复,同时在教师节这个节日中祝您学术长青,工作顺利,万事如意!