美文网首页
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