Beispiel #1
0
    def __getitem__(self, idx):
        name = self.img_name_list[idx]
        name_str = decode_int_filename(name)

        img = imageio.imread(get_img_path(name_str, self.voc12_root))
        label = imageio.imread(os.path.join(self.label_dir, name_str + '.png'))

        img = np.asarray(img)

        if self.rescale:
            img, label = imutils.random_scale((img, label),
                                              scale_range=self.rescale,
                                              order=(3, 0))

        if self.img_normal:
            img = self.img_normal(img)

        if self.hor_flip:
            img, label = imutils.random_lr_flip((img, label))

        if self.crop_method == "random":
            img, label = imutils.random_crop((img, label), self.crop_size,
                                             (0, 255))
        else:
            img = imutils.top_left_crop(img, self.crop_size, 0)
            label = imutils.top_left_crop(label, self.crop_size, 255)

        img = imutils.HWC_to_CHW(img)

        return {'name': name, 'img': img, 'label': label}
Beispiel #2
0
    def __getitem__(self, idx):
        name = self.img_name_list[idx]
        name_str = decode_int_filename(name)

        img = np.asarray(
            imageio.imread(get_img_path(name_str, self.voc12_root),
                           pilmode='RGB'))

        if self.resize_long:
            img = imutils.random_resize_long(img, self.resize_long[0],
                                             self.resize_long[1])

        if self.rescale:
            img = imutils.random_scale(img, scale_range=self.rescale, order=3)

        if self.img_normal:
            img = self.img_normal(img)

        if self.hor_flip:
            img = imutils.random_lr_flip(img)

        if self.crop_size:
            if self.crop_method == "random":
                img = imutils.random_crop(img, self.crop_size, 0)
            else:
                img = imutils.top_left_crop(img, self.crop_size, 0)

        if self.to_torch:
            img = imutils.HWC_to_CHW(img)

        return {'name': name_str, 'img': img}
Beispiel #3
0
    def __getitem__(self, idx):
        name = self.img_name_list[idx]
        name_str = name

        img = np.asarray(imageio.imread(name_str))

        if self.resize_long:
            img = imutils.random_resize_long(img, self.resize_long[0],
                                             self.resize_long[1])

        if self.rescale:
            img = imutils.random_scale(img, scale_range=self.rescale, order=3)

        if self.img_normal:
            img = self.img_normal(img)

        if self.hor_flip:
            img = imutils.random_lr_flip(img)

        if self.crop_size:
            if self.crop_method == "random":
                img = imutils.random_crop(img, self.crop_size, 0)
            else:
                img = imutils.top_left_crop(img, self.crop_size, 0)

        if self.to_torch:
            img = imutils.HWC_to_CHW(img)

        return {'name': name_str, 'img': img.copy()}
Beispiel #4
0
    def __getitem__(self, index):
        datafiles = self.imgs[index]
        name = datafiles['name']
        x_path = datafiles['img']
        img = np.asarray(imageio.imread(x_path))
        if img.shape != (128, 128, 3):
            img = np.expand_dims(img, axis=2)
            img = np.concatenate((img, img, img), axis=-1)

        if self.resize_long:
            img = imutils.random_resize_long(img, self.resize_long[0],
                                             self.resize_long[1])
        if self.rescale:
            img = imutils.random_scale(img, scale_range=self.rescale, order=3)
        if self.img_normal:
            img = self.img_normal(img)
        if self.hor_flip:
            img = imutils.random_lr_flip(img)
        if self.crop_size:
            if self.crop_method == "random":
                img = imutils.random_crop(img, self.crop_size, 0)
            else:
                img = imutils.top_left_crop(img, self.crop_size, 0)
        if self.to_torch:
            img = imutils.HWC_to_CHW(img)
        return {'name': name, 'img': img}
Beispiel #5
0
    def __getitem__(self, idx):
        name_str = self.img_name_list[idx]
        #ame_str = decode_int_filename(name)

        #if self.image_folder.split('/')[1] == 'kaggle':
        paths_imgs = glob.glob('{}/{}*.png'.format(self.image_folder,
                                                   name_str))
        img = combine_imgs(paths_imgs)
        #else:
        #   img = np.asarray(imageio.imread(get_img_path_2(name_str,
        #                                                 self.voc12_root,self.image_folder)))
        #img = np.asarray(imageio.imread(get_img_path_2(name_str, self.voc12_root,self.image_folder)))

        if self.resize_long:
            img = imutils.random_resize_long(img, self.resize_long[0],
                                             self.resize_long[1])

        if self.rescale:
            img = imutils.random_scale(img, scale_range=self.rescale, order=3)

        if self.img_normal:
            img = self.img_normal(img)

        if self.hor_flip:
            img = imutils.random_lr_flip(img)

        if self.crop_size:
            if self.crop_method == "random":
                img = imutils.random_crop(img, self.crop_size, 0)
            else:
                img = imutils.top_left_crop(img, self.crop_size, 0)

        if self.to_torch:
            img = imutils.HWC_to_CHW(img)

        return {'name': name_str, 'img': img}
Beispiel #6
0
    def __getitem__(self, idx):
        name = self.img_name_list[idx]
        #得到磁盘存储img文件名
        name_str = decode_int_filename(name)
        bg_img = np.asarray(
            imageio.imread(get_img_path(name_str, self.voc12_root)))
        label_one_hot = self.label_list[idx]

        label_index = np.arange(len(label_one_hot))
        label_index = label_index[label_one_hot == 0]
        fg_label = np.random.choice(label_index)
        fg_name = np.random.choice(self.seg_fg_dir[fg_label])

        fg_pack = np.load(os.path.join('result/sem_seg_fg', str(fg_label),
                                       fg_name),
                          allow_pickle=True).item()
        fg_img = fg_pack['img']
        fg_seg = fg_pack['seg']

        aug_img = imutils.data_aug_rotation(bg_img, fg_img, fg_seg)
        aug_label_one_hot = np.zeros(len(label_one_hot))
        aug_label_one_hot[label_one_hot == 1] = 1
        aug_label_one_hot[fg_label] = 1
        img = bg_img

        if self.resize_long:
            img = imutils.random_resize_long(img, self.resize_long[0],
                                             self.resize_long[1])
            aug_img = imutils.random_resize_long(aug_img, self.resize_long[0],
                                                 self.resize_long[1])
        if self.rescale:
            img = imutils.random_scale(img, scale_range=self.rescale, order=3)
            aug_img = imutils.random_scale(aug_img,
                                           scale_range=self.rescale,
                                           order=3)

        if self.img_normal:
            img = self.img_normal(img)
            aug_img = self.img_normal(aug_img)

        if self.hor_flip:
            img = imutils.random_lr_flip(img)
            aug_img = imutils.random_lr_flip(aug_img)

        if self.crop_size:
            if self.crop_method == "random":
                img = imutils.random_crop(img, self.crop_size, 0)
                aug_img = imutils.random_crop(aug_img, self.crop_size, 0)
            else:
                img = imutils.top_left_crop(img, self.crop_size, 0)
                aug_img = imutils.top_left_crop(aug_img, self.crop_size, 0)
        if self.to_torch:
            img = imutils.HWC_to_CHW(img)
            aug_img = imutils.HWC_to_CHW(aug_img)
        return {
            'name': name_str,
            'img': img,
            'label': label_one_hot,
            'aug_img': aug_img,
            'aug_label': aug_label_one_hot
        }