services | platforms | author |
---|---|---|
cognitive-services,custom-vision |
java, Android |
aminbagheri |
This sample application demonstrates how to take a model exported from the Custom Vision Service in the TensorFlow format and add it to an application for real-time image classification.
- Android Studio (latest)
- Android device
- An account at Custom Vision Service
- clone the repository and open the project in Android Studio
- Build and run the sample on your Android device
The model provided with the sample recognizes some fruits. to replace it with your own model exported from the Custom Vision Service do the following, and then build and launch the application:
- Create and train a classifer with the Custom Vision Service. You must choose a "compact" domain such as General (compact) to be able to export your classifier. If you have an existing classifier you want to export instead, convert the domain in "settings" by clicking on the gear icon at the top right. In setting, choose a "compact" model, Save, and Train your project.
- Export your model by going to the Performance tab. Select an iteration trained with a compact domain, an "Export" button will appear. Click on Export then TensorFlow then Export. Click the Download button when it appears. A .zip file will download that contains TensorFlow model (.pb) and Labels (.txt)
- Drop your model.pb and labels.txt file into your Android project's Assets folder.
- Build and run.
This sample is tested on Pixel devices
Make sure the mean values (IMAGE_MEAN_R, IMAGE_MEAN_G, IMAGE_MEAN_B in MSCognitiveServicesClassifier.java) are correct based on your project's domain in Custom Vision:
Project's Domain | Mean Values (RGB) |
---|---|
General (compact) | (123, 117, 104) |
Landmark (compact) | (123, 117, 104) |
Retail (compact) | (0, 0, 0) |
- Link to TensorFlow documentation
- Link to Custom Vision Service Documentation