NAME
AI::MXNet:Image - Read individual image files and perform augmentations.
|
imread
Read and decode an image to an NDArray.
Note: `imread` uses OpenCV.
MXNet must have been built with USE_OPENCV=1 for `imdecode` to work.
Parameters
----------
$filename : str
Name of the image file to be loaded.
: $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.
Returns
-------
An NDArray containing the image.
Example
-------
>>> mx->img->imread( "flower.jpg" );
<NDArray 224x224x3 @cpu (0)>
Set `flag` parameter to 0 to get grayscale output
>>> mx->img->imdecode( "flower.jpg" , flag =>0);
<NDArray 224x224x1 @cpu (0)>
Set `to_rgb` parameter to 0 to get output in OpenCV format (BGR)
>>> mx->img->imdecode( $str_image , to_rgb =>0);
<NDArray 224x224x3 @cpu (0)>
|
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 the image size.
Parameters:
-----------
Shape $src_size
Shape $size
Returns:
--------
( $w , $h )
|
resize_short
Resize shorter edge to the 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 the 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 the 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 the 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.
Parameters:
-----------
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 ]
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.
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 array ref 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.
data_name= 'data' Str
label_name= 'softmax_label' Str
kwargs : hash ref with any additional arguments for augmenters
|