Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

matte_loss减小幅度不大 #84

Closed
MikeDai2020 opened this issue Mar 15, 2021 · 10 comments
Closed

matte_loss减小幅度不大 #84

MikeDai2020 opened this issue Mar 15, 2021 · 10 comments

Comments

@MikeDai2020
Copy link

MikeDai2020 commented Mar 15, 2021

@ZHKKKe ,您好!
我训练了40个epoch,matte_loss从3.587减少到:
epoch = 39, semantic_loss=0.0039, detail_loss=0.0332, matte_loss=2.2689
epoch = 39, semantic_loss=0.0053, detail_loss=0.0327, matte_loss=2.4930
epoch = 39, semantic_loss=0.0067, detail_loss=0.0446, matte_loss=2.5472
epoch = 39, semantic_loss=0.0034, detail_loss=0.0272, matte_loss=2.2228
epoch = 39, semantic_loss=0.0050, detail_loss=0.0378, matte_loss=2.6175
epoch = 39, semantic_loss=0.0046, detail_loss=0.0338, matte_loss=2.3804
epoch = 39, semantic_loss=0.0061, detail_loss=0.0410, matte_loss=2.2642
epoch = 39, semantic_loss=0.0054, detail_loss=0.0399, matte_loss=2.4980

我使用的爱分割公开的数据集,共34000张,matte_loss减小幅度没有detail_loss那么大,甚至每一个epoch中都会出现3.1左右的值,不止一次。我的bs设置为16.

我想请教一下,这个是不是因为样本的原因导致的。另外,我第一个训练抽取其中10000张样本,但是融合结果细节损失很严重。谢谢!

@ZHKKKe
Copy link
Owner

ZHKKKe commented Mar 15, 2021

你好,感谢你的关注。

对于你的问题:
Q1: 我使用的爱分割公开的数据集
你所使用的公开数据集在边缘的精度很差,并且存在很多错误标注的样本,不足以支持精细的matting。

Q2: matte_loss减小幅度没有detail_loss那么大
matte_loss 的变化规律应该更接近semantic_loss。你的问题有可能是Q1中提到的数据问题导致。能否可视化网络的输出以便进一步分析?

Q3: 融合结果细节损失很严重
Q1

@MikeDai2020
Copy link
Author

谢谢回复。我可视化一下网络输出,看看效果。

@YisuZhou
Copy link

同问loss收敛问题
我这边matte_loss 的变化规律确实接近semantic_loss,但是下降1/3 * total_epochs之后基本就不降了。
并且matte_loss在50个epoch之后也比较大,semantic_loss可以下降到1e-3级别,但是matte_loss连1e-2都到不了,请问大佬,这个现象正常吗?

@ZHKKKe
Copy link
Owner

ZHKKKe commented May 28, 2021

@YisuZhou
如果你使用这个Git仓库里的代码训练,是正常的。
matte loss中有对边缘部分的损失进行增强,因此整体损失值会大。

@AloneGu
Copy link

AloneGu commented Jun 22, 2021

matte loss中有对边缘部分的损失进行增强

这一部分在论文里有体现吗?

@ZHKKKe
Copy link
Owner

ZHKKKe commented Jun 22, 2021

@AloneGu
由于论文篇幅的限制,没有添加这一细节。从DIM开始的matting很多都有使用这一trick.

@AloneGu
Copy link

AloneGu commented Jun 22, 2021

@AloneGu
由于论文篇幅的限制,没有添加这一细节。从DIM开始的matting很多都有使用这一trick.

有几个别的问题请教一下。

  1. 对于 matte_loss 中使用 l1 loss,发现 pred_matte 在有的 case 上会有大片的 灰色(看起来就像trimap

image

您在训练过程中有遇到过这种情况吗?

  1. 代码里 semantic loss weights 默认值是 10, 论文里是 1, 实际训练中使用的是?
    semantic_scale=10.0, detail_scale=10.0, matte_scale=1.0):

@ZHKKKe
Copy link
Owner

ZHKKKe commented Jun 22, 2021

@AloneGu
Q1: 对于 matte_loss 中使用 l1 loss,发现 pred_matte 在有的 case 上会有大片的 灰色(看起来就像trimap)
我们的训练过程中没有出现这种情况。能否分享计算L1_Loss的代码片段?

Q2: 代码里 semantic loss weights 默认值是 10, 论文里是 1, 实际训练中使用的是?
我们原本使用semantic_scale=1。 但是后来发现semantic_scale=10似乎会有更好的结果。因此建议设置为10。

@AloneGu
Copy link

AloneGu commented Jun 22, 2021

@ZHKKKe

Q1: 和你的代码是一致的,但我 rgb 图片是规范化到 【-1,1】之间,所以如果 rgb本身的值在0附近的话,composition loss 一定很小,和 matte 无关,我修改 rgb 图片的预处理应该能解决

Q2: 嗯,我这边的实验结论也是这样。semantic_scale = 10 更好

@ZHKKKe
Copy link
Owner

ZHKKKe commented Jun 23, 2021

@AloneGu
Q1: 抱歉,我没有遇到过类似的出现大片灰色的情况。我之前的实验中,输入规范化到(0, 1)和(-1, 1)的差别不大。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants