Files
modelscope-scepter/docs/zh_cn/scepter/transforms.md
T

9.6 KiB
Raw Blame History

数据转换(Transforms)

数据预处理模块

总览

支持多种数据预处理方式:

  1. scepter.transforms.image
  2. scepter.transforms.io
  3. scepter.transforms.io_video
  4. scepter.transforms.tensor
  5. scepter.transforms.augmention
  6. scepter.transforms.video
  7. scepter.transforms.transform_xl
  8. scepter.transforms.identity
  9. scepter.transforms.compose

基础用法

# 以 scepter.modules.transform.image.RandomResizedCrop 为例
from scepter.modules.transform.image import RandomResizedCrop
from scepter.modules.utils.config import Config
import PIL

cfg = Config(load=False,
             cfg_dict={"SIZE": 224, "RATIO": [3. / 4., 4. / 3.], "SCALE": [0.08, 1.0], "INTERPOLATION": "bilinear"})
transform = RandomResizedCrop(cfg)
input_img = {"img": PIL.Image}
output_img = transform(input_img)

scepter.modules.transform.image

一些用于图像的预处理方法.


scepter.modules.transform.image.ImageTransform

初始化ImageTransform类, 从cfg中获取并定义一些必要的参数.

Parameters

  • INPUT_KEY —— (str) input key or key list
  • OUTPUT_KEY —— (str) output key or key list
  • BACKEND —— (str) backend, choose from pillow, cv2, torchvision

scepter.modules.transform.image.RandomResizedCrop

对图像进行随机crop到指定大小.

Parameters

  • SIZE —— (int) crop size
  • RATIO —— (list) ratio
  • SCALE —— (list) scale
  • INTERPOLATION —— (str) interpolation

scepter.modules.transform.image.RandomHorizontalFlip

以给定的概率随机水平翻转给定的图像.

Parameters

  • P —— (float) probability

scepter.modules.transform.image.Normalize

利用平均值和标准差对图像进行归一化.

Parameters

  • MEAN —— (list) mean
  • STD —— (list) std

scepter.modules.transform.image.ImageToTensor

把PIL.Image / numpy.ndarray / unit8 转成float32 tensor.

Parameters


scepter.modules.transform.image.Resize

把给定的图像按照给定的尺寸进行resize.

Parameters

  • INTERPOLATION —— (str) interpolation
  • SIZE —— (int) resized size

scepter.modules.transform.image.CenterCrop

对给定的图像从中心进行crop.

Parameters

  • SIZE —— (int) crop size

scepter.modules.transform.image.FlexibleResize

对给定的图像按照给定的尺寸进行resize.

Parameters

  • INTERPOLATION —— (str) interpolation

scepter.modules.transform.image.FlexibleCenterCrop

对给定的图像按照给定的尺寸进行center crop.

Parameters


scepter.modules.transform.io

一些用于图像的本地磁盘读取方法.


scepter.modules.transform.io.LoadPILImageFromFile

将本地图片文件读取成PIL.Image的形式.

Parameters

  • RGB_ORDER —— (str) "RGB" or "BGR"

scepter.modules.transform.io.LoadCvImageFromFile

将本地图片文件读取成cv2的形式.

Parameters

  • RGB_ORDER —— (str) "RGB" or "BGR"

scepter.modules.transform.io.LoadImageFromFile

将本地图片文件读取成指定格式.

Parameters

  • RGB_ORDER —— (str) "RGB" or "BGR"
  • BACKEND —— (str) "pillow" or "cv2" or "torchvision"

scepter.modules.transform.io.LoadImageFromFileList

将输入的一组图片读取成指定格式.

Parameters

  • RGB_ORDER —— (str) "RGB" or "BGR"
  • BACKEND —— (str) "pillow" or "cv2" or "torchvision"
  • FILE_KEYS —— (list) The file keys for input

scepter.modules.transform.io_video

一些用于视频的本地磁盘读取方法.


scepter.modules.transform.io_video.DecodeVideoToTensor

将本地视频文件解码成tensor.

Parameters

  • NUM_FRAMES —— (int) decode frames number
  • TARGET_FPS —— (int) decode frames fps, default is 30.
  • SAMPLE_MODE —— (str) interval or segment sampling, default is interval
  • SAMPLE_INTERVAL —— (int) sample interval between output frames for interval sample mode
  • SAMPLE_MINUS_INTERVAL —— (float) wheather minus interval for interval sample mode
  • REPEAT —— (str) number of clips to be decoded from each video

scepter.modules.transform.io_video.LoadVideoFromFile

将本地视频文件解码读取成帧序列的形式.

Parameters

  • NUM_FRAMES —— (int) decode frames number
  • SAMPLE_TYPE —— (str) sample type
  • CLIP_DURATION —— (float) needed for 'interval' sampling type
  • DECODER —— (str) video decoder name

scepter.modules.transform.tensor

一些处理tensor的方法.


scepter.modules.transform.tensor.ToTensor

将输入的其他形式的data转成tensor.

Parameters

  • KEYS —— (list) keys of input data

scepter.modules.transform.tensor.Select

选择输入data中的一些key并输出.

Parameters

  • META_KEYS —— (list) chosen keys of input data

scepter.modules.transform.tensor.Rename

将输入data的keys重新命名.

Parameters

  • IN_KEYS —— (list) input data keys
  • OUT_KEYS —— (list) output data keys

scepter.modules.transform.augmention

一些图片颜色增强的方法.


scepter.modules.transform.augmention.ColorJitterGeneral

随机改变图像的亮度、对比度和饱和度.

Parameters

  • BRIGHTNESS —— (float) (float or tuple of float (min, max)): How much to jitter brightness
  • CONTRAST —— (float) (float or tuple of float (min, max)): How much to jitter contrast
  • SATURATION —— (float) (float or tuple of float (min, max)): How much to jitter saturation
  • HUE —— (float) (float or tuple of float (min, max)): How much to jitter hue
  • GRAYSCALE —— (float) probablitities for rgb-to-gray 0~1
  • CONSISTENT —— (bool) for video input whether the augment scale is consistent or not
  • SHUFFLE —— (bool) shuffle the transform's order when there are multiple transforms
  • GRAY_FIRST —— (bool) whether use grayscale or not
  • IS_SPLIT —— (bool) whether randomly chance the channel as the gray results

scepter.modules.transform.video

一些处理video的方法.


scepter.modules.transform.video.VideoTransform

初始化VideoTransform类, 从cfg中获取并定义一些必要的参数.

Parameters

  • INPUT_KEY —— (str) input key or key list
  • OUTPUT_KEY —— (str) output key or key list
  • BACKEND —— (str) backend, choose from pillow, cv2, torchvision

scepter.modules.transform.video.RandomResizedCropVideo

对视频进行随机crop到指定大小.

Parameters

  • META_KEYS —— (list) chosen keys of input data

scepter.modules.transform.video.CenterCropVideo

将输入data的keys重新命名.

Parameters

  • SIZE —— (int) crop size
  • RATIO —— (list) ratio
  • SCALE —— (list) scale
  • INTERPOLATION —— (str) interpolation

scepter.modules.transform.video.RandomHorizontalFlipVideo

以给定的概率随机水平翻转给定的视频.

Parameters

  • P —— (float) probability

scepter.modules.transform.video.NormalizeVideo

利用平均值和标准差对视频进行归一化.

Parameters

  • MEAN —— (list) mean
  • STD —— (list) std

scepter.modules.transform.video.VideoToTensor

把PIL.Image / numpy.ndarray / unit8 转成float32 tensor.

Parameters


scepter.modules.transform.video.AutoResizedCropVideo

对给定的视频从中心进行crop.

Parameters

  • SCALE —— (list) scale

scepter.modules.transform.video.ResizeVideo

把给定的视频按照给定的尺寸进行resize.

Parameters

  • SCALE —— (list) scale
  • INTERPOLATION —— (str) interpolation

scepter.modules.transform.transform_xl

sdxl中进行图像处理得到所需坐标的一些方法.


scepter.modules.transform.transform_xl.FlexibleCropXL

对图像进行裁剪,并获取其原始尺寸、目标尺寸和裁剪坐标(top/left).

Parameters

  • INPUT_KEY —— (str) input key or key list
  • OUTPUT_KEY —— (str) output key or key list
  • BACKEND —— (str) backend, choose from pillow, cv2, torchvision
  • SIZE —— (int or list) crop size if 'image_size' not in meta

scepter.modules.transform.identity

sdxl中进行图像处理得到所需坐标的一些方法.


scepter.modules.transform.identity.Identity

返回图像本身.

Parameters


scepter.modules.transform.compose

组合各类transform方法.


scepter.modules.transform.compose.Compose

将scepter.transforms中的各个transform对象组合为pipeline.

Parameters

  • TRANSFORMS —— (list) transform config list