NAME

AI::MXNet:Image - Read invidual image files and perform augmentations.

imdecode

Decode an image from string. Requires OpenCV to work.

Parameters ---------- $buf : str, array ref, pdl, ndarray Binary image data. :$flag : int 0 for grayscale. 1 for colored. :$to_rgb : int 0 for BGR format (OpenCV default). 1 for RGB format (MXNet default). :$out : NDArray Output buffer. Do not specify for automatic allocation.

scale_down

Scale down crop size if it's bigger than image size

Parameters: Shape $src_size Shape $size

Returns: ($w, $h)

resize_short

Resize shorter edge to size

Parameters: AI::MXNet::NDArray $src Int $size Int $interp=2

Returns: AI::MXNet::NDArray $resized_image

fixed_crop

Crop src at fixed location, and (optionally) resize it to size

Parameters: AI::MXNet::NDArray $src Int $x0 Int $y0 Int $w Int $h Maybe[Shape] $size= Int $interp=2

Returns: AI::MXNet::NDArray $cropped_image

random_crop

Randomly crop src with size. Upsample result if src is smaller than size

Parameters: AI::MXNet::NDArray $src Shape $size= Int $interp=2

Returns: ($cropped_image, [$x0, $y0, $new_w, $new_h])

center_crop

Randomly crop src with size around the center. Upsample result if src is smaller than size

Parameters: AI::MXNet::NDArray $src Shape $size= Int $interp=2

Returns: ($cropped_image, [$x0, $y0, $new_w, $new_h])

color_normalize

Normalize src with mean and std

Parameter: AI::MXNet::NDArray $src Num|AI::MXNet::NDArray $mean Maybe[Num|AI::MXNet::NDArray] $std= Int $interp=2

Returns: AI::MXNet::NDArray $normalized_image

random_size_crop

Randomly crop src with size. Randomize area and aspect ratio

Parameters: AI::MXNet::NDArray $src Shape $size Num $min_area ArrayRef[Int] [$from, $to] # $ratio Maybe[Int] $interp=2

Returns: ($cropped_image, [$x0, $y0, $new_w, $new_h])

ResizeAug

Makes "resize shorter edge to size augumenter" closure

Parameters: Shape $size Int $interp=2

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [__PACKAGE__->resize_short($src, $size, $interp)]

RandomCropAug

Makes "random crop augumenter" closure

Parameters: Shape $size Int $interp=2

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [(__PACKAGE__->random_crop($src, $size, $interp))[0]]

RandomSizedCropAug

Makes "random crop augumenter" closure

Parameters: Shape $size Num $min_area ArrayRef[Num] $ratio Int $interp=2

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [(__PACKAGE__->random_size_crop($src, $size, $min_area, $ratio, $interp))[0]]

CenterCropAug

Makes "center crop augumenter" closure

Parameters: Shape $size Int $interp=2

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [(__PACKAGE__->center_crop($src, $size, $interp))[0]]

RandomOrderAug

Makes "Apply list of augmenters in random order" closure

Parameters: ArrayRef[CodeRef] $ts

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns ArrayRef[AI::MXNet::NDArray]

RandomOrderAug

Makes "Apply random brightness, contrast and saturation jitter in random order" closure

Parameters: Num $brightness Num $contrast Num $saturation

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns ArrayRef[AI::MXNet::NDArray]

LightingAug

Makes "Add PCA based noise" closure

Parameters: Num $alphastd PDL $eigval PDL $eigvec

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns ArrayRef[AI::MXNet::NDArray]

ColorNormalizeAug

Makes "Mean and std normalization" closure

Parameters: PDL $mean PDL $std

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [__PACKAGE__->color_normalize($src, $mean, $std)]

HorizontalFlipAug

Makes "Random horizontal flipping" closure

Parameters: Num $p < 1

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [$p > rand ? AI::MXNet::NDArray->flip($src, axis=1>) : $src]

CastAug

Makes "Cast to float32" closure

Parameters: Num $p < 1

Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [$src->astype('float32')]

CreateAugmenter

Create augumenter list

Parameters: Shape :$data_shape, Bool :$resize=0, Bool :$rand_crop=0, Bool :$rand_resize=0, Bool :$rand_mirror=0, Maybe[Num|PDL] :$mean=, Maybe[Num|PDL] :$std=, Num :$brightness=0, Num :$contrast=0, Num :$saturation=0, Num :$pca_noise=0, Int :$inter_method=2

NAME

AI::MXNet::ImageIter - Image data iterator

DESCRIPTION

Image data iterator with a large number of augumentation choices. Supports reading from both .rec files and raw image files with image list.

To load from .rec files, please specify path_imgrec. Also specify path_imgidx to use data partition (for distributed training) or shuffling.

To load from raw image files, specify path_imglist and path_root.

Parameters ---------- batch_size : Int Number of examples per batch data_shape : Shape Data shape in (channels, height, width). For now, only RGB image with 3 channels is supported. label_width : Int dimension of label path_imgrec : str path to image record file (.rec). Created with tools/im2rec.py or bin/im2rec path_imglist : str path to image list (.lst) Created with tools/im2rec.py or with custom script. Format: index\t[one or more label separated by \t]\trelative_path_from_root imglist: array ref a list of image with the label(s) each item is a list [imagelabel: float or list of float, imgpath] path_root : str Root folder of image files path_imgidx : str Path to image index file. Needed for partition and shuffling when using .rec source. shuffle : bool Whether to shuffle all images at the start of each iteration. Can be slow for HDD. part_index : int Partition index num_parts : int Total number of partitions. kwargs : hash ref with any additional arguments for augmenters