GXYM / TextBPN-Plus-Plus

Arbitrary Shape Text Detection via Boundary Transformer;The paper at: https://arxiv.org/abs/2205.05320, which has been accepted by IEEE Transactions on Multimedia (T-MM 2023).
166 stars 36 forks source link

非常棒的工作,关于损失我有一个小问题 #20

Open 6098669 opened 1 year ago

6098669 commented 1 year ago

请问为什么在标注存在噪声的情况下,MSE损失会比OHEM+BCE损失更好呢,不太理解,因为我并没见其他检测论文用过MSE损失,其次就是其他的一个损失比如Dice loss的效果怎么样呢

GXYM commented 1 year ago

因为ohem是挑选损失最大的那部分样本参与loss计算,但是噪声正常情况下的损失通常很大,这部分噪声也通常在文本边缘附近。如果让模型loss过于关注边缘,放大边缘的loss,那么由于人工标注带来的噪声就会导致模型收敛的不好。至于mse还是bce 损失,还是dice损失没有明显的优劣,这取决于方法的设计本身。取决于gt的类型。发自手机邮箱-------- 原始邮件 --------发件人: 6098669 @.>日期: 2023年6月27日周二 20:25收件人: GXYM/TextBPN-Plus-Plus @.>抄送: Subscribed @.***>主 题: [GXYM/TextBPN-Plus-Plus] 非常棒的工作,关于损失我有一个小问题 (Issue #20) 请问为什么在标注存在噪声的情况下,MSE损失会比OHEM+BCE损失更好呢,不太理解,因为我并没见其他检测论文用过MSE损失,其次就是其他的一个损失比如Dice loss的效果怎么样呢

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

6098669 commented 1 year ago

因为ohem是挑选损失最大的那部分样本参与loss计算,但是噪声正常情况下的损失通常很大,这部分噪声也通常在文本边缘附近。如果让模型loss过于关注边缘,放大边缘的loss,那么由于人工标注带来的噪声就会导致模型收敛的不好。至于mse还是bce 损失,还是dice损失没有明显的优劣,这取决于方法的设计本身。取决于gt的类型。发自手机邮箱-------- 原始邮件 --------发件人: 6098669 @.>日期: 2023年6月27日周二 20:25收件人: GXYM/TextBPN-Plus-Plus @.>抄送: Subscribed @.>主 题: [GXYM/TextBPN-Plus-Plus] 非常棒的工作,关于损失我有一个小问题 (Issue #20) 请问为什么在标注存在噪声的情况下,MSE损失会比OHEM+BCE损失更好呢,不太理解,因为我并没见其他检测论文用过MSE损失,其次就是其他的一个损失比如Dice loss的效果怎么样呢 —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.>

感谢指点,我大概明白了,但不使用OHEM不是会有正负样本不平衡问题嘛

GXYM commented 1 year ago

因为ohem是挑选损失最大的那部分样本参与loss计算,但是噪声正常情况下的损失通常很大,这部分噪声也通常在文本边缘附近。如果让模型loss过于关注边缘,放大边缘的loss,那么由于人工标注带来的噪声就会导致模型收敛的不好。至于mse还是bce 损失,还是dice损失没有明显的优劣,这取决于方法的设计本身。取决于gt的类型。发自手机邮箱-------- 原始邮件 --------发件人: 6098669 @.**>日期: 2023年6月27日周二 20:25收件人: GXYM/TextBPN-Plus-Plus @.**>抄送: Subscribed @.**>主 题: [GXYM/TextBPN-Plus-Plus] 非常棒的工作,关于损失我有一个小问题 (Issue #20) 请问为什么在标注存在噪声的情况下,MSE损失会比OHEM+BCE损失更好呢,不太理解,因为我并没见其他检测论文用过MSE损失,其次就是其他的一个损失比如Dice loss的效果怎么样呢 —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.**>

感谢指点,我大概明白了,但不使用OHEM不是会有正负样本不平衡问题嘛

不是不用,是不要用的太多了。也可以对文本边缘附近的像素损失做一些加权抑制。一些论文,把文本往里面收缩一圈(center region and text region),或者提供额外的边界区域损失(如db)都可以缓解这个问题。总之就是不希望loss太集中在这些有歧义的区域,从而导致收敛不好,最终效果肯定受影响。

6098669 commented 1 year ago

感谢指点,还有最后一个小疑问,就是我看数据增强部分跟mmocr中的fcenet数据增强很类似,只是顺序略有不同,请问这里的顺序有讲究吗,不懂。之前我看dptext-detr的代码就有这个疑问,因为dptext-detr是先旋转再裁减的,很多代码的数据增强顺序不一样,就很困惑这有什么区别呢,按您的经验来说哪种更好呢。

GXYM commented 1 year ago

感谢指点,还有最后一个小疑问,就是我看数据增强部分跟mmocr中的fcenet数据增强很类似,只是顺序略有不同,请问这里的顺序有讲究吗,不懂。之前我看dptext-detr的代码就有这个疑问,因为dptext-detr是先旋转再裁减的,很多代码的数据增强顺序不一样,就很困惑这有什么区别呢,按您的经验来说哪种更好呢。

1.RandomCropFlip(), 2.RandomResizeScale(), 3.RandomResizedCrop(), 4.RotatePadding() 5.ResizeLimitSquare(), 6.RandomMirror(), 7.RandomDistortion(), 8.Normalize(),

1,6,7,8的位置先后无所谓,3必须位于2之后, 先用2再用3可以用来增加文本尺度的多样性;4的位置最好放在一个图片尺度最小的变换后面,主要考虑计算量;5必须放在所有尺度变换之后,因为5是用来限制图片为一个固定尺度如640*640,所以最好放在2,3,4这些变换的最后面。数据增强的一般考虑顺序只要合理,计算量小就行了。我没有专门对比过不同增广顺序,对结果的影响。

6098669 commented 1 year ago

感谢指点,我没问题了。