ObjectDetection by Skafos
ObjectDetection is an example app that uses the Skafos platform for CoreML model integration and delivery. It's a good starting point for diving in, or a good reference for integrating Skafos in to your own app. Skafos is a platform that streamlines CoreML model updates without needing to submit a new version to the app store everytime a new model is ready for use.
This ObjectDetection example app specifically integrates and deploys an Object Detection machine learning model. Object Detection is a type of machine learning model that enables you to detect specific objects in an image, as well as identifying where in the image they are located. Similar objects can then be identified in new images, with a bounding box around each of the objects in question. The example model provided in this app will identify cars, bikes, or people. For more details about how to use and customize this model, please navigate to the Skafos Turi Object Detection repo on github.
Before diving in to this example application, make sure you have setup an account at Skafos and run through the quickstart.
- Clone or fork this repository.
- In the project directory, run
pod install - Open the project workspace (
.xcworkspace) - In your project's settings under
Generalchange the following:- Display Name
- Bundle Identifier
- Team
- Any other settings specific to your app.
- Make sure the following capabilites are enabled:
- Background modes:
Background fetchandRemote notifications - Push notifications
- Background modes:
- Inside
AppDelegate.swiftmake sure to use your Skafos publishable key in:Skafos.initialize
Now take a moment to click on ObjectDetection.mlmodel and under Model Class section click the arrow next
to ObjectDetection and have a peek at the class that Xcode generates from the CoreML Model. Now, inside of
MainViewController.swift (around line 95) take a look at the reloadModel function to see an example of
how to load a model using the Skafos framework. While in MainViewController.swift also look (around line 86)
for how to setup NSNotificationCenter to listen for Skafos notifications that the model has been updated.
Skafos swift framework uses the Apache2 license, located in the LICENSE file.
Contact us by email dev@metismachine.com