CNN-based Deep Learning classification library
The EasyDeepLearning library includes functions for dataset creation, classifier training and image classification. It is compatible with CPU and GPU processing and can be trained with one hundred training images per class.
The library learns how to distinguish defects or classify parts by being shown many images of the parts to be inspected. The software does not require the user to explain how to differentiate good parts from bad ones or how to recognize products from each class; it only requires the user to label training images. After this learning/training process, the library is able to classify images. For any given image, it returns a list of probabilities, showing the likelihood that the image belongs to each of the classes it has been taught. EasyDeepLearning implements data augmentation, which creates additional reference images by modifying (for example by shifting, rotating, scaling) existing reference images within programmable limits. This allows the library to work with as few as one hundred training images per class. The Open eVision software includes the EasyDeepLearning Studio application. This application assists the user during the learning and testing phases. Deep Learning is generally not suitable for applications requiring precise measurement or gauging. It is also not recommended when some types of errors (such as false negative) are completely unacceptable. Deep Learning performs better than traditional machine vision when the defects are difficult to specify explicitly, for example, when the classification depends on complex shapes and textures at various scales and positions. The Open eVision’s EasyDeepLearning library has been tailored, parametrized and optimized for analyzing images, particularly for machine vision applications. It has a simple API and the user can benefit from the power of deep learning with only a few lines of code. It supports standard CPUs and automatically detects Nvidia CUDA-compatible GPUs in the PC. Using a single GPU typically accelerates the learning and the processing phases by a factor of 100.