Using Machine Learning to train your own custom Deep Learning models can be challenging without understanding the algorithms, having a good dataset, having a high-performance test environment, or knowing the correct optimization settings. Although there a lot of image recognization API solutions available for developers to leverage, many times businesses or developers have unique cases or outliers out there that these solutions are unable to accurately identify the image.

As a solution to this problem, Microsoft released the Azure Custom Vision service last year at Build 2017. The Azure Custom Vision service enables developers with minimum to expertise Machine Learning knowledge to build robust custom image classifiers. It makes it easy and fast to build, deploy, and improve an image classifier. As an output, the Custom Vision service provides a REST API and a web interface to upload your images and train the classifier.

The Custom Vision service is a great solution in identifying medical defects that would be difficult to diagnose with the human eye in Healthcare, identifying design trends and logos in Retail, or identifying plants or wildlife species in the Biological field.

Tutorial

This Java Tutorial shows how to create a training project, add classification tags, upload your images, train the project, obtain the project's default prediction endpoint URL, and use the endpoint to programmatically test an image.

Prerequisites

Login or register for a FREE account on http://customvision.ai

Copy the account Training Key and Prediction Key values by clicking on the gear icon in the upper right corner of the customvision portal page

and values by clicking on the gear icon in the upper right corner of the customvision portal page Retrieve the Custom Vision Prediction SDK and Custom Vision Training SDK . Include this in your maven pom.xml file. https://mvnrepository.com/artifact/com.microsoft.azure.cognitiveservices

and . Include this in your maven pom.xml file.

Training Your Model

For this tutorial, we'll be classifying dog breeds