All Projects → Evizero → Augmentor.jl

Evizero / Augmentor.jl

Licence: other
A fast image augmentation library in Julia for machine learning.

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Augmentor.jl

Simd
C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
Stars: ✭ 1,263 (+1229.47%)
Mutual labels:  image-processing
React Tint
A React component that applies image processing filters to an image using Processing
Stars: ✭ 89 (-6.32%)
Mutual labels:  image-processing
Pyautolens
PyAutoLens: Open Source Strong Gravitational Lensing
Stars: ✭ 90 (-5.26%)
Mutual labels:  image-processing
Imscript
a collection of small and standalone utilities for image processing, written in C
Stars: ✭ 86 (-9.47%)
Mutual labels:  image-processing
The bilateral solver
Fast Bilateral Solver implementation with C++ and demos
Stars: ✭ 87 (-8.42%)
Mutual labels:  image-processing
Replace Color
Replace color with another one pixel by pixel.
Stars: ✭ 90 (-5.26%)
Mutual labels:  image-processing
Keras Icnet
Keras implementation of Real-Time Semantic Segmentation on High-Resolution Images
Stars: ✭ 85 (-10.53%)
Mutual labels:  image-processing
Androidwm
An android image watermark library that supports steganography.
Stars: ✭ 1,322 (+1291.58%)
Mutual labels:  image-processing
Seamcarving
Image processing method that allows to remove an object from a photo.
Stars: ✭ 89 (-6.32%)
Mutual labels:  image-processing
Cropperjs
JavaScript image cropper.
Stars: ✭ 10,120 (+10552.63%)
Mutual labels:  image-processing
Damselfly
Damselfly is a server-based Digital Asset Management system for photographs. The goal of Damselfly is to index an extremely large collection of images, and allow easy search and retrieval of those images, using metadata such as the IPTC keyword tags, as well as the folder and file names.
Stars: ✭ 86 (-9.47%)
Mutual labels:  image-processing
Processing Imageprocessing
Collection of basic image processing algorithms for processing
Stars: ✭ 87 (-8.42%)
Mutual labels:  image-processing
Connected Components 3d
Connected components on multilabel 3D & 2D images. Handles 26, 18, and 6 connected variants.
Stars: ✭ 90 (-5.26%)
Mutual labels:  image-processing
Vue Filepond
🔌 A handy FilePond adapter component for Vue
Stars: ✭ 1,263 (+1229.47%)
Mutual labels:  image-processing
Dped
Software and pre-trained models for automatic photo quality enhancement using Deep Convolutional Networks
Stars: ✭ 1,315 (+1284.21%)
Mutual labels:  image-processing
Image Copy Move Detection
Copy-move forgery detection on digital image using Python
Stars: ✭ 85 (-10.53%)
Mutual labels:  image-processing
Png To Ico
convert png to ico format
Stars: ✭ 88 (-7.37%)
Mutual labels:  image-processing
Retina Features
Project for segmentation of blood vessels, microaneurysm and hardexudates in fundus images.
Stars: ✭ 95 (+0%)
Mutual labels:  image-processing
Forensic
Copy-move image forgery detection library.
Stars: ✭ 94 (-1.05%)
Mutual labels:  image-processing
Mocogan
A pytorch implemention of MoCoGAN
Stars: ✭ 90 (-5.26%)
Mutual labels:  image-processing

Augmentor

License Docs-stable Docs-dev pkgeval unittest codecov

A fast Julia library for increasing the number of training images by applying various transformations.

Augmentor is a real-time image augmentation library designed to render the process of artificial dataset enlargement more convenient, less error prone, and easier to reproduce. It offers the user the ability to build a stochastic image-processing pipeline -- which we will also refer to as augmentation pipeline -- using image operations as building blocks. For our purposes, an augmentation pipeline can be understood as a sequence of operations for which the parameters can (but need not) be random variables.

julia> pl = ElasticDistortion(6, scale=0.3, border=true) |>
            Rotate([10, -5, -3, 0, 3, 5, 10]) |>
            ShearX(-10:10) * ShearY(-10:10) |>
            CropSize(28, 28) |>
            Zoom(0.9:0.1:1.2)
5-step Augmentor.ImmutablePipeline:
 1.) Distort using a smoothed and normalized 6×6 grid
 2.) Rotate by θ  [10, -5, -3, 0, 3, 5, 10] degree
 3.) Either: (50%) ShearX by ϕ  -10:10 degree. (50%) ShearY by ψ  -10:10 degree.
 4.) Crop a 28×28 window around the center
 5.) Zoom by I  {0.9×0.9, 1.0×1.0, 1.1×1.1, 1.2×1.2}

julia> augment(img, pl)

The Julia version of Augmentor is engineered specifically for high performance applications. It makes use of multiple heuristics to generate efficient tailor-made code for the concrete user-specified augmentation pipeline. In particular Augmentor tries to avoid the need for any intermediate images, but instead aims to compute the output image directly from the input in one single pass.

Augmentor.jl is the Julia implementation for Augmentor. The Python version of the same name is available here.

Package Overview

Augmentor.jl provides:

  • predefined augmentation operations, e.g., FlipX
  • |> operator to compose operations into a pipeline
  • higher-lvel functions (augment, augment! and augmentbatch!) that works on a pipeline and image(s).

Check the documentation for a full list of operations.

Citing Augmentor

If you use Augmentor for academic research and wish to cite it, please use the following paper.

Marcus D. Bloice, Christof Stocker, and Andreas Holzinger, Augmentor: An Image Augmentation Library for Machine Learning, arXiv preprint arXiv:1708.04680, https://arxiv.org/abs/1708.04680, 2017.

Acknowledgments

This package makes heavy use of the following packages in order to provide it's main functionality. To see at full list of utilized packages, please take a look at the REQUIRE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].