Image classification is a common use of machine learning to identify what an image represents. For example, we might want to know what type of animal appears in a given picture. The task of predicting what an image represents is called image classification. An image classifier is trained to recognize various classes of images. For example, a model might be trained to recognize photos representing three different types of animals: rabbits, hamsters, and dogs. See the image classification example for more information about image classifiers.
Use the Task Library ImageClassifier API to deploy your custom image
classifiers or pretrained ones into your mobile apps.
Key features of the ImageClassifier API
Input image processing, including rotation, resizing, and color space conversion.
Region of interest of the input image.
Label map locale.
Score threshold to filter results.
Top-k classification results.
Label allowlist and denylist.
Supported image classifier models
The following models are guaranteed to be compatible with the ImageClassifier
API.
Models created by TensorFlow Lite Model Maker for Image Classification.
The pretrained image classification models on TensorFlow Hub.
Models created by AutoML Vision Edge Image Classification.
Custom models that meet the model compatibility requirements.
Run inference in Java
See the Image Classification reference
app
for an example of how to use ImageClassifier in an Android app.
Step 1: Import Gradle dependency and other settings
Copy the .tflite model file to the assets directory of the Android module
where the model will be run. Specify that the file should not be compressed, and
add the TensorFlow Lite library to the module’s build.gradle file:
android {
// Other settings
// Specify tflite file should not be compressed for the app apk
aaptOptions {
noCompress "tflite"
}
}
dependencies {
// Other dependencies
// Import the Task Vision Library dependency
implementation 'org.tensorflow:tensorflow-lite-task-vision'
// Import the GPU delegate plugin Library for GPU inference
implementation 'org.tensorflow:tensorflow-lite-gpu-delegate-plugin'
}
Step 2: Using the model
// Initialization
ImageClassifierOptions options =
ImageClassifierOptions.builder()
.setBaseOptions(BaseOptions.builder().useGpu().build())
.setMaxResults(1)
.build();
ImageClassifier imageClassifier =
ImageClassifier.createFromFileAndOptions(
context, modelFile, options);
// Run inference
List<Classifications> results = imageClassifier.classify(image);
See the source code and
javadoc
for more options to configure ImageClassifier.
Run inference in iOS
Step 1: Install the dependencies
The Task Library supports installation using CocoaPods. Make sure that CocoaPods is installed on your system. Please see the CocoaPods installation guide for instructions.
Please see the CocoaPods guide for details on adding pods to an Xcode project.
Add the TensorFlowLiteTaskVision pod in the Podfile.