code:https://github.com/a514514772/DISE-Domain-Invariant-Structure-Extraction
1、代码流程如下,backbone是deeplabv2,以res101为骨干网络,不过可以看到在layer3和4,该程序修改了原始的res101的layer3和4,原始的分别是2倍下采样,这里改成了空洞卷积,并且不下采样,同时在这两个层输出预测,也就是两个分支都是分割预测,也都参与计算loss,而layer3和4的输出接上并行的空洞率[6、12、18、24],padding也是[6、12、18、24]的卷积,保证输出依然不变,还是[32,64],输入图像crop和resize到256*512输入的,然后直接对32*64的upsample得到256*512计算分割loss;而Ec的维度32*64*2048和Ep的维度1*8,D解码器将Ec和Ep输入,将Ep全连接成256,再加上flag表示源域重建还是目标域重建,1表示目标域,在通道上和Ec连接得到32*64*(2048+256+1),然后通过反卷积8倍上采样,同时通道变成3,输出重建后的256*512*3的结果,计算自重建和交叉重建的loss;