albumentations库

今天在使用这个图像增强库albumentations的时候遇到了一个问题,由于我做的分割任务需要有两个不同的mask,我就对原始的代码进行了如下的修改:

pair = self.transform(image=image, mask=mask)

image, mask = pair["image"], pair["mask"]

原始的代码是这样

pair = self.transform(image=image, mask=mask, mask_a=mask_a)

image, mask = pair["image"], pair["mask_a"]

而后改成了这样

但我后来发现这样并不能读出来,我以为这个库的conpose函数是随意设置内部的键值的,后来在这个库的官方文档网站里查阅才知道内部的键值是固定的,例如image、mask;

如果一次要读入多个mask并进行增强,需要把新的键值设置为masks,并传入一个mask列表,例如self.transform(image=image,masks=masks),其中masks=[mask,mask_a]

以上是官方文档的做法,但我发现这样做的时候如果最后一个增强函数是totensorV2,会无法把np数组转为tensor,因此我最后还是采用了比较土的办法:直接分别执行两遍原始的tsfm,传两次mask就行了。例如这样:

        pair             = self.transform(image=image, mask=mask)

        image, mask      = pair["image"], pair["mask"]

        pair2            = self.transform(image=image1, mask=mask_cam)

        image1, mask_cam = pair2["image"], pair2["mask"]

随手记录一下。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值