yolov5_obb
yolov5_obb copied to clipboard
(Weak results on Single Class Dataset)请问为什么我修改为我自己的数据集后,不管是准确率还是召回率都一直为0?用dota训练就是正常的
训练的时间太短了
数据集具体情况介绍一下,trainbatch0/1/2,detect检测结果等可视化信息提供一下,提供的信息越精确越丰富,沟通效率越高
我试了两个数据集,一个是我自己的数据集,另一个是ICDAR2015,这两个都只有一个类别,单独训练两个数据集都无法收敛,全是0,我现在把两个数据集合并,然后类别数为2,就可以收敛了
---原始邮件--- 发件人: @.> 发送时间: 2022年1月22日(周六) 中午12:02 收件人: @.>; 抄送: @.@.>; 主题: Re: [hukaixuan19970627/yolov5_obb] 请问为什么我修改为我自己的数据集后,不管是准确率还是召回率都一直为0?用dota训练就是正常的 (Issue #179)
数据集具体情况介绍一下,trainbatch0/1/2,detect检测结果等可视化信息提供一下,提供的信息越精确越丰富,沟通效率越高
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>
I also use dataset 1 class and it has very bad results like above. So is this the weak point of the model? How to fix it?
@LW-CVer @hukaixuan19970627 Do you have a way to fix bad results when training with a dataset of 1 class?
@LW-CVer @hukaixuan19970627 Do you have a way to fix bad results when training with a dataset of 1 class?
Try to set nc=2.
when the dataset has two classes at least,results will be ok
---原始邮件--- 发件人: @.> 发送时间: 2022年1月23日(周日) 下午4:20 收件人: @.>; 抄送: @.@.>; 主题: Re: [hukaixuan19970627/yolov5_obb] 请问为什么我修改为我自己的数据集后,不管是准确率还是召回率都一直为0?用dota训练就是正常的 (Issue #179)
@LW-CVer @hukaixuan19970627 Do you have a way to fix bad results when training with a dataset of 1 class?
Try to set nc=2.
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>
@LW-CVer @hukaixuan19970627 Do you have a way to fix bad results when training with a dataset of 1 class?
Try to set nc=2.
so if my dataset has only 1 class, can I replace it with nc=2 and add any class name to names? is that ok?
it is not work,maybe you can try
---原始邮件--- 发件人: "Nguyễn nhật @.> 发送时间: 2022年1月23日(周日) 下午4:55 收件人: @.>; 抄送: @.@.>; 主题: Re: [hukaixuan19970627/yolov5_obb] 请问为什么我修改为我自己的数据集后,不管是准确率还是召回率都一直为0?用dota训练就是正常的 (Issue #179)
@LW-CVer @hukaixuan19970627 Do you have a way to fix bad results when training with a dataset of 1 class?
Try to set nc=2.
so if my dataset has only 1 class, can I replace it with nc=2 and add any class name to names? is that ok?
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>
请问你的标签格式是什么样的呀,方便加个好友吗,标签格式,我是这样
No description provided.
请问你最终是怎么解决的
要么加类别,要么调整超参数也可以收敛,但是一般mAP都不会像dota数据集那么高,也就70左右,我认为是我自己的数据太少了导致的
---原始邮件--- 发件人: @.> 发送时间: 2022年3月4日(周五) 下午3:14 收件人: @.>; 抄送: @.@.>; 主题: Re: [hukaixuan19970627/yolov5_obb] (Weak results on Single Class Dataset)请问为什么我修改为我自己的数据集后,不管是准确率还是召回率都一直为0?用dota训练就是正常的 (Issue #179)
No description provided.
请问你最终是怎么解决的
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>
@Nabyssache 数据集的txt格式是根据dataset_demo定义的。!
@Nabyssache 数据集的txt格式是根据dataset_demo定义的。!
请问一下dataset_demo定义的格式的组成是4个坐标点 + class_name + class_id ,这样吗?
@Nabyssache 数据集的txt格式是根据dataset_demo定义的。!
请问一下dataset_demo定义的格式的组成是4个坐标点 + class_name + class_id ,这样吗?
最后那个好像是difficult
have someone solve this problem? RIP
@Nabyssache
@Nabyssache 它由8个坐标组成(边界框角x1,y1,x2,y2,x3,y3,x4,y4) + class_name + class_id !!
@Nabyssache 它由8个坐标组成(边界框角x1,y1,x2,y2,x3,y3,x4,y4) + class_name + class_id !!
OK谢谢! 我知道了,我看了源码,最后一个应该是difficult,我直接给了0.
@Nabyssache 为什么不看一遍getstart.md呢,里面不是有详细的格式说明吗
@hukaixuan19970627 有些人有点懒惰 :p
@Nabyssache 为什么不看一遍getstart.md呢,里面不是有详细的格式说明吗
sry,我看了您的知乎觉得已经写的很清楚了, 没有注意看 *.md。 现在我新增加了其他类别的图片进去,用的最轻量的模型,尝试降低了学习率,还是存在这个问题。><
@Nabyssache 为什么不看一遍getstart.md呢,里面不是有详细的格式说明吗
sry,我看了您的知乎觉得已经写的很清楚了, 没有注意看 *.md。 现在我新增加了其他类别的图片进去,用的最轻量的模型,尝试降低了学习率,还是存在这个问题。><
新开个issue
我也是类别只有1,训练无法收敛
看了作者的知乎,官方的yolov5是支持单类别训练的,也就是nc=1的时候是可以正常训练的,看了大佬的loss源码,个人感觉没有问题,特别是类别损失这里,和正框是一致的,也就是说,nc=1的时候是不计算分类损失的. 但是很好奇为什么单类别训练效果非常差.
if self.nc > 1: # cls loss (only if multiple classes) # t = torch.full_like(ps[:, 5:], self.cn, device=device) # targets t = torch.full_like(ps[:, 5:class_index], self.cn, device=device) # targets t[range(n), tcls[i]] = self.cp # lcls += self.BCEcls(ps[:, 5:], t) # BCE lcls += self.BCEcls(ps[:, 5:class_index], t) # BCE
@1343744768
so do you know why training nc=1, result is bad?
@1343744768 so do you know why training nc=1, result is bad?
Actually, I don't know. I have checked the source code of the author, it is really unable to find the problem, it should not appear when nc is 1, the result is bad. When nc is 1, it is fine for cls_loss to be 0, but box_loss should drop. If the hyperparameter is set properly, I really don't know why this problem occurs
@1343744768 so do you know why training nc=1, result is bad?
hello, just wanted to confirm if setting nc=2 is fixing the problem or not?