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