augment_transform
data.transform.augmentation.augment_transform
Implement ImageTransform classes for image augmentation.
BaseTransform
Transform의 기본 interface를 정의합니다.
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
__call__
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
get_apply_params
get_apply_params() -> ParamsType
get_params_from_data
get_params_from_data(data_for_params: ParamsType) -> ParamsType
이 함수는 input으로부터 parameter들을 뽑을 때 사용됩니다.
Parameters:
-
data_for_params(ParamsType) –params을 추출할 데이터를 입력으로 갖습니다.
Returns:
-
ParamsType(ParamsType) –params로 쓰일 데이터를 반환합니다.
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
apply_with_params
apply_with_params(params: ParamsType, **data) -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
ImageTransform
Bases: BaseTransform
Image와 라벨에 적용되는 Transform 입니다.
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
apply_to_image
apply_to_mask
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, **params) -> BBoxesType
apply_to_polygons
apply_to_polygons(polygons: PolygonType, **params) -> PolygonType
ImageSizeParams
get_params_from_data
get_params_from_data(data_for_params: ParamsType) -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
ToNumpy
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
apply_to_image
ToPil
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
apply_to_image
VerticalFlip
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
apply_to_image
apply_to_mask
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], **params) -> BBoxesType
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], **params) -> PolygonType
HorizontalFlip
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/base_transform.py
apply_to_image
apply_to_mask
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], **params) -> BBoxesType
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], **params) -> PolygonType
Rotate
Rotate(angle_limit: Optional[List[float]] = None, interpolation: int = cv2.INTER_LINEAR, border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0, mask_value: Union[int, float] = 0, crop_border: bool = False, **kwargs)
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_mask
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], angle: float = 0, **params) -> BBoxesType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_polygons
apply_to_polygons(polygons: PolygonType, angle: float, image_size: Tuple[int], **params) -> PolygonType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
RandomRotate90
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
apply_to_mask
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], factor: int = 0, **params) -> BBoxesType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], factor: int = 0, **params) -> PolygonType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
ColorJitter
ColorJitter(brightness_limit: Optional[List[float]] = None, contrast_limit: Optional[List[float]] = None, saturation_limit: Optional[List[float]] = None, hue_limit: Optional[List[float]] = None, **kwargs)
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, brightness: float = 1.0, contrast: float = 1.0, saturation: float = 1.0, hue: float = 0, order: List[int] = [0, 1, 2, 3], **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
Blur
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
GaussianBlur
GaussianBlur(ksize_limit: Optional[List[int]] = None, sigma_limit: Optional[List[float]] = None, **kwargs)
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
AdjustBrightness
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
AdjustContrast
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
AdjustHue
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
AdjustSaturation
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
AdjustGamma
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
AdjustBrightnessContrast
AdjustBrightnessContrast(brightness_limit: Optional[List[float]] = None, contrast_limit: Optional[List[float]] = None, brightness_by_max: bool = True, **kwargs)
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
IsoNoise
IsoNoise(color_shift_limit: Optional[List[float]] = None, intensity_limit: Optional[List[float]] = None, **kwargs)
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
JpegCompression
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
Sharpen
Sharpen(alpha_limit: Optional[List[int]] = None, lightness_limit: Optional[List[int]] = None, **kwargs)
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
_generate_sharpening_matrix
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
MultiplicativeNoise
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
_generate_multiplier
_generate_multiplier(image: ImageType, multiplier: ndarray, random_seed: int) -> ndarray
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
RatioJitter
RatioJitter(proportion_limit: Optional[Union[List[float], int, float]] = None, resampling: str = 'bilinear', border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0, mask_value: Union[int, float] = 0, **kwargs)
Bases: ImageSizeParams, ImageTransform
crop, pad, and resize to original image size
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, proportion_left: float, proportion_right: float, proportion_top: float, proportion_bottom: float, **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_mask
apply_to_mask(mask: MaskType, proportion_left: float, proportion_right: float, proportion_top: float, proportion_bottom: float, **params) -> MaskType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], proportion_left: float, proportion_right: float, proportion_top: float, proportion_bottom: float, **params) -> BBoxesType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], proportion_left: float, proportion_right: float, proportion_top: float, proportion_bottom: float, **params) -> PolygonType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
Zoom
Zoom(ratio_limit: Optional[List[float]] = None, resampling: str = 'bilinear', border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0, mask_value: Union[int, float] = 0, **kwargs)
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, ratio: float, h_start: float, w_start: float, **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_mask
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], ratio: float, h_start: float, w_start: float, **params) -> BBoxesType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], ratio: float, h_start: float, w_start: float, **params) -> PolygonType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
RandomResizedCrop
RandomResizedCrop(scale_limit: Optional[List[float]] = None, aspect_ratio_limit: Optional[List[float]] = None, resampling: str = 'bilinear', **kwargs)
Bases: ImageSizeParams, ImageTransform
Crop a random part of the input and rescale it to original size
Parameters:
-
scale_limit(Optional[List[float]], default:None) –range of size of the origin size cropped. Defaults to [0.45, 1.00].
-
aspect_ratio_limit(Optional[List[float]], default:None) –range of aspect ratio of the origin aspect ratio cropped. Defaults to [0.50, 2.00].
-
resampling(str, default:'bilinear') –interpolation method. Defaults to "bilinear".
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, h_scale: float, w_scale: float, h_start: float, w_start: float, **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_mask
apply_to_mask(mask: MaskType, h_scale: float, w_scale: float, h_start: float, w_start: float, **params) -> MaskType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, **params) -> BBoxesType
apply_to_polygons
apply_to_polygons(polygons: PolygonType, **params) -> PolygonType
RandomResizedCropAndPad
RandomResizedCropAndPad(scale_limit: Optional[List[float]] = None, aspect_ratio_limit: Optional[List[float]] = None, height: Optional[int] = None, width: Optional[int] = None, resampling: str = 'bilinear', border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0, mask_value: Union[int, float] = 0, **kwargs)
Bases: ImageSizeParams, ImageTransform
pad, crop and resize to original image size
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, scale: float, aspect_ratio: float, h_start: float, w_start: float, **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_mask
apply_to_mask(mask: MaskType, scale: float, aspect_ratio: float, h_start: float, w_start: float, **params) -> MaskType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], scale: float, aspect_ratio: float, h_start: float, w_start: float, **params) -> BBoxesType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], scale: float, aspect_ratio: float, h_start: float, w_start: float, **params) -> PolygonType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
LightReflect
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
PerspectiveTransform
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType, **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_mask
apply_to_mask(mask: MaskType, offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType, **params) -> MaskType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_bboxes
apply_to_bboxes(bboxes: BBoxesType, image_size: Tuple[int], offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType, **params) -> BBoxesType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_polygons
apply_to_polygons(polygons: PolygonType, image_size: Tuple[int], offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType, **params) -> PolygonType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
RandomErasing
RandomErasing(scale: Tuple[float, float] = (0.02, 0.33), ratio: Tuple[float, float] = (0.2, 3.3), value: Union[int, Tuple[int, int, int], str] = 0, randomly_select_values: bool = False, **kwargs)
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
_get_random_erase_params
This is modified version of get_params of random erasing see: https://pytorch.org/vision/main/_modules/torchvision/transforms/transforms.html#RandomErasing.forward
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
apply_to_image
apply_to_image(image: ImageType, x_in_ratio: float, y_in_ratio: float, h_in_ratio: float, w_in_ratio: float, value: Union[int, Tuple[int, int, int], str], **params) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
Grayscale
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
GaussNoise
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
AdvancedBlur
Bases: ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
ElasticTransform
Bases: ImageSizeParams, ImageTransform
Source code in SaigeToolkit/data/transform/augmentation/augment_transform.py
get_apply_params
get_apply_params() -> ParamsType
apply_to_image
to_numpy
Source code in SaigeToolkit/data/transform/image_function.py
to_pil
Source code in SaigeToolkit/data/transform/image_function.py
read_image_size
read_image_size(image: Union[Image, Tensor, ndarray]) -> ImageSizeType
image size: (W, H)
Source code in SaigeToolkit/data/transform/image_function.py
vertical_flip
horizontal_flip
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
rotate
rotate(image: Union[ImageType, MaskType], angle: float = 0, interpolation: int = cv2.INTER_LINEAR, border_mode: int = cv2.BORDER_REFLECT_101, value: Union[int, float, List[int], List[float]] = 0, crop_border: bool = False) -> Union[ImageType, MaskType]
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
random_rotate90
color_jitter
color_jitter(image: ImageType, brightness: float = 1.0, contrast: float = 1.0, saturation: float = 1.0, hue: float = 0, order: List[int] = [0, 1, 2, 3]) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
blur
gaussian_blur
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
adjust_brightness
adjust_brightness(image: ImageType, brightness: float = 0.0, brightness_by_max: bool = True) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
adjust_contrast
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
adjust_hue
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
adjust_saturation
adjust_saturation
Parameters:
-
image(ImageType) –입력 이미지
-
saturation(float, default:0.0) –변형 강도, [-1.0, 1.0] 범위, Defaults to 0.0.
Returns:
-
ImageType(ImageType) –결과 이미지
Note
Ablumentation의 AF.shift_hsv()와 다른 알고리즘을 사용합니다. AF.shift_hsv()의 경우 색이 없는 픽셀을 붉은 색으로 변형합니다. 이 함수의 경우 색이 없는 픽셀은 변형하지 않습니다.
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
adjust_gamma
adjust_brightness_contrast
adjust_brightness_contrast(image: ImageType, brightness: float = 0.0, contrast: float = 0.0, brightness_by_max: bool = True) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
iso_noise
iso_noise(image: ImageType, color_shift: float = 0.05, intensity: float = 0.5, random_state: Optional[int] = None) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
image_compression
sharpen
multiplicative_noise
ratio_jitter
ratio_jitter(image: ImageType, proportion_left: float = 0.0, proportion_right: float = 0.0, proportion_top: float = 0.0, proportion_bottom: float = 0.0, resampling: str = 'bilinear', border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0) -> Union[ImageType, MaskType]
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
zoom
zoom(image: ImageType, ratio: float = 1.0, h_start: float = 0.0, w_start: float = 0.0, resampling: str = 'bilinear', border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0) -> Union[ImageType, MaskType]
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
random_resized_crop
random_resized_crop(image: ImageType, h_scale: float = 1.0, w_scale: float = 1.0, h_start: float = 0.0, w_start: float = 0.0, resampling: str = 'bilinear') -> Union[ImageType, MaskType]
Crop the given image to given scale and then resize it to original size.
Parameters:
-
image(ImageType) –original image
-
h_scale(float, default:1.0) –crop height scale. Defaults to 1.0.
-
w_scale(float, default:1.0) –crop width scale. Defaults to 1.0.
-
h_start(float, default:0.0) –crop height start ratio. Defaults to 0.0.
-
w_start(float, default:0.0) –crop width start ratio. Defaults to 0.0.
-
resampling(str, default:'bilinear') –interpolation method. Defaults to "bilinear".
Returns:
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
random_resized_crop_and_pad
random_resized_crop_and_pad(image: ImageType, scale: float = 1.0, aspect_ratio: float = 1.0, h_start: float = 0.0, w_start: float = 0.0, height: Optional[int] = None, width: Optional[int] = None, resampling: str = 'bilinear', border_mode: int = cv2.BORDER_CONSTANT, value: Union[int, float, List[int], List[float]] = 0) -> Union[ImageType, MaskType]
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
light_reflect
light_reflect(image: ImageType, xc: float, yc: float, x_radius: float, y_radius: float, angle: float) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
perspective_transform
perspective_transform(image: ImageType, offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType, interpolate_method: str = 'nearest')
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
erase
erase(image: ImageType, x: int, y: int, w: int, h: int, v: ndarray)
grayscale
grayscale(image: ImageType) -> ndarray
gauss_noise
gauss_noise(image: ImageType, intensity: float = 0.0, mean: float = 0.0, per_channel: bool = True)
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
advanced_blur
advanced_blur(image: ImageType, ksize: int = 1)
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
elastic_transform
elastic_transform(image: ImageType, intensity: float = 0.0, alpha: float = 400.0, alpha_affine: float = 0.0, interpolation: int = cv2.INTER_LINEAR, border_mode: int = cv2.BORDER_REFLECT_101, value: Union[int, float, List[int], List[float]] = 0, approximate: bool = False, same_dxdy: bool = False) -> ImageType
Source code in SaigeToolkit/data/transform/augmentation/augment_function.py
check_range
check_range(data: Union[Sequence[int], Sequence[float]], min_value: Union[int, float], max_value: Union[int, float])
Source code in SaigeToolkit/data/transform/function_util.py
box_function
preserve_coordinates
Box augmentation이 (left, top, right, bottom) coordinate system을 기반으로 구현 되어있기 때문에, input bboxes의 coordinate system을 확인하고 augmentation에 맞는 coordinate system으로 변환하고, augmentation이 끝나면 다시 기존 coordinate system으로 변경하여 출력합니다.
-
np.ndarray의 경우 coordinate system을 체크할 수 없기 때문에 (left, top, right, bottom) coordinate system이라고 가정합니다.
-
NumpyBBoxes의 경우 NumpyBBoxes 내부 변수 coordinate과 내부 함수 convert_coordinate를 활용하여 구현됩니다.
Source code in SaigeToolkit/data/transform/box_function.py
resize_box
resize_box(bboxes: BBoxesType, image_size: Tuple[int], tw: int, th: int) -> BBoxesType
bbox resize from (w, h) to (tw, th)
Source code in SaigeToolkit/data/transform/box_function.py
crop_box
crop_box(bboxes: BBoxesType, cropping_box: Union[ndarray, List[int]]) -> BBoxesType
bbox crop. An image is cropped at (new_left, new_top, new_right, new_bottom)
Source code in SaigeToolkit/data/transform/box_function.py
hflip_box
hflip_box(bboxes: BBoxesType, image_size: Tuple[int]) -> BBoxesType
vflip_box
vflip_box(bboxes: BBoxesType, image_size: Tuple[int]) -> BBoxesType
rotate
rotate(bboxes: BBoxesType, angle: Union[float, int], image_size: Tuple[int], target_size: Optional[Tuple[int]] = None, clipping: bool = True) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
rotate90
rotate90(bboxes: BBoxesType, factor: int, image_size: Tuple[int], clipping: bool = True) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
translate_box
translate_box(bboxes: BBoxesType, offset: Tuple[int], image_size: Tuple[int]) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
ratio_jitter
ratio_jitter(bboxes: BBoxesType, image_size: Tuple[int], proportion_left: float = 0.0, proportion_right: float = 0.0, proportion_top: float = 0.0, proportion_bottom: float = 0.0) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
zoom
zoom(bboxes: BBoxesType, image_size: Tuple[int], ratio: float = 1.0, h_start: float = 0.0, w_start: float = 0.0) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
random_resized_crop_and_pad
random_resized_crop_and_pad(bboxes: BBoxesType, image_size: Tuple[int], scale: float = 1.0, aspect_ratio: float = 1.0, h_start: float = 0.0, w_start: float = 0.0, height: Optional[int] = None, width: Optional[int] = None) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
perspective_transform
perspective_transform(bboxes: BBoxesType, image_size: Tuple[int], offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType) -> BBoxesType
Source code in SaigeToolkit/data/transform/box_function.py
polygon_function
vertical_flip
vertical_flip(polygons: PolygonType, image_size: Sequence[int]) -> PolygonType
horizontal_flip
horizontal_flip(polygons: PolygonType, image_size: Sequence[int]) -> PolygonType
rotate
rotate(polygons: PolygonType, angle: float, image_size: Sequence[int], target_size: Optional[Sequence[int]] = None) -> PolygonType
Source code in SaigeToolkit/data/transform/polygon_function.py
rotate90
rotate90(polygons: PolygonType, factor: int, image_size: Sequence[int]) -> PolygonType
Source code in SaigeToolkit/data/transform/polygon_function.py
ratio_jitter
ratio_jitter(polygons: PolygonType, image_size: Sequence[int], proportion_left: float, proportion_right: float, proportion_top: float, proportion_bottom: float) -> PolygonType
Source code in SaigeToolkit/data/transform/polygon_function.py
zoom
zoom(polygons: PolygonType, image_size: Sequence[int], ratio: float, h_start: float, w_start: float) -> PolygonType
Source code in SaigeToolkit/data/transform/polygon_function.py
random_resized_crop_and_pad
random_resized_crop_and_pad(polygons: PolygonType, image_size: Sequence[int], scale: float, aspect_ratio: float, h_start: float, w_start: float, h_target: Optional[int] = None, w_target: Optional[int] = None, **params) -> PolygonType
Source code in SaigeToolkit/data/transform/polygon_function.py
perspective_transform
perspective_transform(polygons: PolygonType, image_size: Sequence[int], offset_top_left: OffsetType, offset_top_right: OffsetType, offset_bottom_right: OffsetType, offset_bottom_left: OffsetType) -> PolygonType
Source code in SaigeToolkit/data/transform/polygon_function.py
resize_polygon
resize_polygon(polygons: PolygonType, image_size: Sequence[int], tw: int, th: int) -> PolygonType
Resize polygon from (w, h) to (tw, th)
Source code in SaigeToolkit/data/transform/polygon_function.py
translate_polygon
translate_polygon(polygons: PolygonType, offset: Sequence[int]) -> PolygonType
Translate polyfon from [(x1, y1), ... ] to [(x1 - x_offset), (y1 - y_offset), ...]