albumentationsのまとめ
albumentationsは、画像拡張(image augmentationのライブラリです。
albumentationsは、OpenCV
インストール
#pip pip install albumentation #anacondaの場合 conda install albumentation
使い方
import cv2
import matplotlib.pyplot as plt
import albumentations as albu
def get_augmentation():
transform = [
albu.HorizontalFlip(p=1),
albu.VerticalFlip(p=1),
]
return albu.Compose(transform)
#画像の読み込み・変換・表示
img = cv2.imread("image_path")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
trans = get_augmentation()
img = trans(image=img)['image']
plt.imshow(img);
機能
GitHub-βshor|albumentations.ipynb
コンパイル
Compose
一連の画像操作をまとめる
OneOf
1つの画像操作だけをまとめる
Float変換
ToFloat
Normalize
Normalize
リサイズ
Resize
反転・回転
* HorizontalFlip
* Verticalflip
* ShiftScaleRotate
切り取り(クロップ)
* Crop
* RandomCrop
* CenterCrop
* RandomSizedCrop
* RandomCrop
* HueSaturationValue
* Padding
* ElasticTransform
ノイズ付与
* GaussNoise
ぼかし
* Blur
* MotionBlur
* MedianBlur
風景加工
* RandomRain
* RandomSnow
* RandomSunFlare
* RandomShadow
* RandomFog
Mask
引数maskに渡す
Bounding Box
(How to use albumentations for detection tasks)
https://github.com/albumentations-team/albumentations/blob/master/notebooks/example_bboxes.ipynb
* BboxParams
Pytorch ToTensor
from albumentations.pytorch import ToTensor
Pytorch
class Dataset(Dataset):
def __init__(self, file_paths, labels, transform=None):
self.file_paths = file_paths
self.labels = labels
self.transform = transform
def __len__(self):
return len(self.file_paths)
def __getitem__(self, idx):
label = self.labels[idx]
file_path = self.file_paths[idx]
image = cv2.imread(file_path)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
if self.transform:
augmented = self.transform(image=image)
image = augmented['image']
return image, label
albumentations_transform = Compose([
Resize(256, 256),
RandomCrop(224, 224),
HorizontalFlip(),
Normalize(
mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225],
),
ToTensor()
])

