VisionTransform#

class VisionTransform(order=None)[源代码]#

计算机视觉(vision)中所有transform(数据增广)类函数的基类。 调用逻辑:apply_batch() -> apply() -> _apply_image() 以及其他类似 _apply_*() 的类方法。 如果需要自定义处理图像的transform函数的实现,在子类中重写 _apply_image 方法。

参数:

order – 输入数据中各类型的顺序。输入数据是由不同类型数据组成元组,order 则可以用来指明其中 各类数据类型出现的顺序。比如,如果输入为 (image, boxes) 类型,那么 order 应该相应地设为 (“image”, “boxes”) 。目前支持的字符串类型与数据类型有: * ”image”:输入图像,形为 (H, W, C) 。 * ”coords”:坐标,形为 (N, 2) 。 * ”boxes”:bounding boxes,形为 (N, 4) ,采用 “xyxy” 格式,第一个 ”xy” 代表box的左上角,第二个 ”xy” 代表右下角。 * ”mask”:用于图像分割的 mask map,形为 (H, W, 1) 。 * ”keypoints”:特征点,形为 (N, K, 3) ,其中 N 为实例数量,K 为一个实例中的特征点数量。最后一轴对应的数据前两维是特征点的坐标,第三维则是特征点的标签。 * ”polygons”:包含numpy数组的序列,其长为实例的数目,每个 numpy 数组代表一个实例的多边形坐标。 * ”category”:某些数据类型的标签。比如,”image_category” 表示输入图像的类别,”boxes_category” 表示 bounding box 的类别。 * ”info”:关于图像的信息,比如图像形状与图像路径。

只有自定义实现了对应的_apply_*(),才支持自定义数据类型,否则抛出 NotImplementedError 错误。

apply(input)[源代码]#

对单个输入数据实施数据增强。

apply_batch(inputs)[源代码]#

对一批(batch)的输入数据实施数据增广。