美文网首页
Deep Image Matting(2017)

Deep Image Matting(2017)

作者: Cat丹 | 来源:发表于2019-10-14 15:03 被阅读0次

Deep Image Matting(2017)

pytorch code

注意:
maxpool记录idx是抠出头发丝的关键!!!!

 x1p, id1 = F.max_pool2d(x12,kernel_size=(2,2), stride=(2,2),return_indices=True)
 x1d = F.max_unpool2d(x21d, id1, kernel_size=2, stride=2)

网络结构

  • encoder:vgg16,14个conv层,5个max-pooling层
  • decoder:6个deconv层,5个unpooling层


    network.png

Loss

  • alpha prediction loss:MSE,alpha值为[0,1]
  • compositionanl loss:MSE,RGB三个通道分别计算
  • 只考虑unknow区域的loss,即gt matte不为0或1的区域
    L_{\alpha}^{i}=\sqrt{(\alpha_{p}^{i}-\alpha_{g}^{i})^2+\varepsilon}
    L_{c}^{i}=\sqrt{(c_{p}^{i}-c_{g}^{i})^{2}+\varepsilon^{2}}

L_{overall}=w_{l}L_{\alpha}+(1-w_{l})L_{c}

w_{l}=0.5

数据准备

  • train dataset
    • 用ps制作493个前景样本
    • 从MS COCO和Pascal VOC随机抽取背景图像,每个前景对应100个背景,合成49300张图像
    • trimap为matte图随机膨胀得到
  • test dataset
    • 用ps制作50个前景样本
    • 从MS COCO和Pascal VOC随机抽取背景图像,每个前景对应20个背景,合成1000张图像
    • trimap为matte图随机膨胀得到

数据预处理

  • 随机裁剪,以unknow区域某点为中心,裁剪(320,320),(480,480)或(640,640)的图像块,resize到(320,320)
  • 随机翻转
  • 根据matte随机膨胀,得到trimap

相关文章

网友评论

      本文标题:Deep Image Matting(2017)

      本文链接:https://www.haomeiwen.com/subject/xjnvyctx.html