Albumentation使用指南
Albumentation使用指南
import最好放在最前面否則可能會和其他模塊沖突,import之后如果包OMP的錯誤就加兩行
import os
os.environ['KMP_DUPLICATE_LIB_OK']?=?'TRUE'
?
資源
官方example
官方demo
?
使用
import albumentations as A from PIL import Image import cv2 as cv import numpy as np from data import get_dir, get_data, get_regr_tagtrans = A.Compose([A.HorizontalFlip(p = 0.5),# A.Transpose(),A.OneOf([A.IAAAdditiveGaussianNoise(),A.GaussNoise(),], p=0.3),A.OneOf([A.MotionBlur(p=0.2),A.MedianBlur(blur_limit=3, p=0.1),A.Blur(blur_limit=3, p=0.1),], p=0.5),A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=0.2),A.OneOf([A.OpticalDistortion(p=0.3),A.GridDistortion(p=0.1),A.IAAPiecewiseAffine(p=0.3),], p=0.5),A.OneOf([A.CLAHE(clip_limit=2),A.IAASharpen(),A.IAAEmboss(),A.RandomBrightnessContrast(),], p=0.5),A.HueSaturationValue(p=0.3),]) src_data = get_data(f'D:/face_five', n_class = 5) image = src_data[0][0] img = trans(image = image)['image']cv.imshow("da", img) cv.waitKey(0)A.OneOf是從列表里選一個相當于transforms里的randomCoice
A.Compose與transforms里的一樣
?
簡單增樣:
隨機調整亮度:
RandomBrightness(limit=2, p=0.5)limit最大時現在的兩倍,p是調整的概率
?
隨機旋轉:
Rotate(limit=89, p=0.5)?
色度偏移:
RGBShift(r_shift_limit=133, g_shift_limit=146, b_shift_limit=26, p=0.5)三原色在原本基礎上增加或減小
?
伽馬變換:
RandomGamma(gamma_limit=148, p=0.5)色域的非線性變換
?
垂直翻轉:
VerticalFlip(p=0.5)水平翻轉:
HorizontalFlip(p=0.5)?
隨機90度旋轉:
RandomRotate90(p = 0.5)旋轉平移縮放:
ShiftScaleRotate(shift_limit=0.8, scale_limit=1, rotate_limit=118, p=0.5)rotate_limit:旋轉角度限制
scale_limit:縮放尺寸限制,(0到2)
shift_limit:平移限制(0 到1)
周圍空缺部分均鏡面填補
?
轉灰度圖:
trans_test = A.ToGray()?
中心裁剪:
CenterCrop(height=480, width=480, p=0.5)HSV偏移:
HueSaturationValue(hue_shift_limit=20, sat_shift_limit=20, val_shift_limit=27, p=0.5)hue:色度
sat:飽和度
val:亮度
?
隨機對比度:
RandomContrast(limit=2.3, p=0.5)limit:0到3, 1為正常值
?
高級增樣:
圖片壓縮:
JpegCompression(quality_lower=80, quality_upper=100, p=0.5)quality_lower&quality_upper設置壓縮百分比的上下限
質量壓縮:
?
模糊處理:
box模糊:
trans_test = A.Blur(blur_limit=7, p=1)blur_limit:最大的核尺寸,核尺寸的最小值是3,blur_limit默認為7
中值模糊:
A.MedianBlur(blur_limit=3,?p=0.1)blur_limit:同上(但只能是奇數)
動態模糊:
A.MotionBlur(p=0.2)blur_limit同上
高斯模糊:
blur_limit(奇數)
trans_test = A.GaussianBlur(blur_limit=7, p=1)?
棱鏡模糊:
trans_test = A.GlassBlur(sigma=0.7, max_delta=4)sigma:高斯核的標準差
max_delta:像素交換的最大距離
?
變形:
彈性變形:
文本圖像分析最好的變形
ElasticTransform(alpha=155, sigma=210, alpha_affine=157, p=0.5)?
光學變形:
OpticalDistortion(distort_limit=0.25, shift_limit=0.2, p=0.5)distort_limit四周鏡像填充寬度(圖片大小不變)
shift_limit
?
柵格變形:
trans_test = A.GridDistortion(num_steps=5, distort_limit=0.3, p=1)num_steps:一條邊有幾個格子
distort_limit:變形范圍
?
自適應直方圖均衡化:
trans_test = A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8))?
挖小洞:
trans_test = A.Cutout(num_holes=8, max_h_size=8, max_w_size=8)num_holes:小洞的數量
max_h_size:最大高度
max_w_size:最大寬度
?
特效:
加雪花:
trans_test = A.RandomSnow(p = 1)?
加雨滴:
trans_test = A.RandomRain(p = 1)?
加霧:
trans_test = A.RandomFog(p = 1)加陽光:
trans_test = A.RandomSunFlare(p = 1)加陰影:
trans_test = A.RandomShadow(p = 1)?
添加噪聲:
添加傳感器噪聲:
trans_test = A.ISONoise(p = 1)?
高斯噪聲:
trans_test = A.IAAAdditiveGaussianNoise(p = 1)多層偏移噪聲:
trans_test = A.MultiplicativeNoise(p = 1)?
IAA:
浮雕:
trans_test = A.IAAEmboss(p = 1)?
超像素:
trans_test = A.IAASuperpixels(p = 1)?
銳化:
trans_test = A.IAASharpen(p = 1)透視變換:
trans_test = A.IAAPerspective(p = 1)?
?
pytorch:
albumentation有兩種轉換張量, ToTensor和ToTensorV2
from albumentations.pytorch import ToTensorV2, ToTensorA.ToTensorV2(p=1.0),A.ToTensor()ToTensor就是最普通的最大值歸一化并且轉化為chw
ToTensor就是把圖片轉成張量適合跟在A.Normalize后面
?
?
不定期更新。。
?
總結
以上是生活随笔為你收集整理的Albumentation使用指南的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 程序员数学(15)--分式
- 下一篇: Citrix ADC中SNIP的三种配置
