Create a real-time object detection app using Watson Machine Learning

Get the iOS code Get the React code Do the workshop Watch the workshop

Summary

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 mobile device? Apple’s Core ML.

Description

In this code pattern, you’ll build an iOS app 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 plug the Core ML model into your iOS 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

Example Image

Diagram building a computer vision app with watson ml

  1. Upload the training data to IBM Cloud Object Storage.
  2. 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.
  3. The trained models are added to the iOS app as a Core ML model.
  4. The user interacts with the apps that can detect objects in real time.

Instructions

To begin building the app, you can follow the steps in the following workshop.