Tianhao-Qi / BACL

Balanced Classification: A Unified Framework for Long-Tailed Object Detection (TMM 2023)
Apache License 2.0
95 stars 5 forks source link

about FCBL #5

Open QiqLiang opened 1 year ago

QiqLiang commented 1 year ago

你好,请问FCBL的forward函数中,传入的cls_score和label分别应该是多少维的呢?因为想用在yolov6这种anchor-free的一阶段模型中,我的cls_score维度是(B,A,C)的,B为批大小,A为框数,C为类别数,label维度则是(B,A),请问需要怎么修改FCBL类呢?

Tianhao-Qi commented 1 year ago

本仓库代码中FCBL传入的cls_score是(B,C)维的,这里面C是指前景类+背景类,label是(B)维的,如果您想用到yolov6,就把框数A维度reshape到批量大小B维度就行了,即cls_score->(BA,C),label->(BA)

QiqLiang commented 1 year ago

所以如果我是coco80类数据集的话,num_classes参数应该设置为81吗?

Tianhao-Qi commented 1 year ago

就写前景类别数,因为FCBL里面会自动+1

QiqLiang commented 1 year ago

我的cls_score只包含了前景的80类得分,没有背景的得分,如果我把背景的得分直接都设置为0,会有影响吗?

Tianhao-Qi commented 1 year ago

如果你是先分前背景,然后再用FCBL细分前景类别,在训练充分的时候是不会影响的,但是最好把背景类预测去掉

QiqLiang commented 1 year ago

如果你是先分前背景,然后再用FCBL细分前景类别,在训练充分的时候是不会影响的,但是最好把背景类预测去掉

不好意思,还是不太明白。 我的cls_score只有80类前景的预测得分,打算利用FCBL细分前景,但你的函数输入cls_score维度C要求是前景加背景也就是81类,应该怎么处理我的输入呢?或者应该怎么修改FCBL函数呢?

ButoneDream commented 1 year ago

FCBL 是否就是loss_cls : type == BCE ?

Tianhao-Qi commented 1 year ago

FCBL 是否就是loss_cls : type == BCE ?

对,就是在BCE的基础上修改得到的

Tianhao-Qi commented 1 year ago

如果你是先分前背景,然后再用FCBL细分前景类别,在训练充分的时候是不会影响的,但是最好把背景类预测去掉

不好意思,还是不太明白。 我的cls_score只有80类前景的预测得分,打算利用FCBL细分前景,但你的函数输入cls_score维度C要求是前景加背景也就是81类,应该怎么处理我的输入呢?或者应该怎么修改FCBL函数呢?

那需要重写一下FCBL函数,把函数中间专门针对背景类处理的相关逻辑都去掉,只对前景进行类别校正就可以,具体的代码你可以自己实现出来贴在这里,我在空闲时可以帮你检查一下

QiqLiang commented 11 months ago

你好,重写FCBL这块还是不太明白应该怎么重写,总是报错,不知道您方不方便写一写呢?谢谢!

Tianhao-Qi commented 9 months ago

你好,重写FCBL这块还是不太明白应该怎么重写,总是报错,不知道您方不方便写一写呢?谢谢!

不好意思,之前在忙cvpr投稿的事情,麻烦你分享一下自己的代码,我看看能不能帮助到你 @QiqLiang

TonightGo commented 8 months ago

你好,请问FCBL的forward函数中,传入的cls_score和label分别应该是多少维的呢?因为想用在yolov6这种anchor-free的一阶段模型中,我的cls_score维度是(B,A,C)的,B为批大小,A为框数,C为类别数,label维度则是(B,A),请问需要怎么修改FCBL类呢?

你好,请问有没有实现该方法呢?