0
点赞
收藏
分享

微信扫一扫

albumentations库

洲行 2022-03-30 阅读 4

今天在使用这个图像增强库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"]

随手记录一下。

举报

相关推荐

0 条评论