Whether you are counting cars on a road or people who are stranded on rooftops in a natural disaster, there are plenty of use cases for object detection. Often times, pre-trained object detection models do not suit your needs and you need to create your own custom models. How can you use machine learning to train your own custom model without substantive computing power and time? Watson Machine Learning. How can you use your custom-trained model to detect objects, in real time, with complete user privacy, all on a device with limited computing power? Apple’s Core ML, TensorFlow.js, and TensorFlow Lite.
In this code pattern, you’ll build an iOS, Android, or web app (or all three) that lets you use your own custom-trained models to detect objects. You’ll create an IBM Cloud Object Storage instance to store your labeled data, then after your data is ready, you’ll learn how to start a Watson Machine Learning instance to train your own custom model on top-of-the-line GPUs. After your model has completed training, you can simply drag-and-drop the model into your application.
When you have completed this code pattern, you should understand how to:
- Label data that can be used for object detection
- Use your custom data to train a model using Watson Machine Learning
- Detect objects with Core ML
- Upload the training data to IBM Cloud Object Storage.
- Watson Machine Learning pulls the training data from IBM Cloud Object Storage and trains a model with TensorFlow. The trained model is saved back to IBM Cloud Object Storage.
- The trained models are added to the app.
- The user interacts with the apps that can detect objects in real time.
To begin building the app, you can follow the steps in the following workshop.