Duration
3 days
Overview
This is an Advanced course meant as a follow on course to Application Development - Intermediate to Advanced. It covers two areas, Machine Learning and Augmented Reality.
Machine learning is a type of artificial intelligence where computers “learn” without being explicitly programmed. Instead of coding an algorithm, machine learning tools enable computers to develop and refine algorithms, by finding patterns in huge amounts of data. We will cover Core ML, Vision, Keras, scikit-learn, Watson Services, Turi Create, CreateML, End-to-end Classification and Recognizing Text in Images.
Augmented Reality is a technology that superimposes a computergenerated image on a user's view of the real world, thus providing a composite view. We will cover building a portal app in ARKit, adding objects, materials and lighting and finally build a museum app with ARKit 2.
Programs you will write:
Machine Learning
Scene Detector - Uses a Machine Learning model to classify scenes
Draw My Number - Interprets hand written numbers
Advertising - Predicts your sales outcomes based on various advertising budget scenarios
KeatsOrYeats - Takes a poem and compare its text against a Core ML model that’s trained with the words from poems of famous, i.e. public-domain, authors
Extractor - extracts text from pictures
Augmented Reality
Portal - Lets you place a virtual doorway to a futuristic room, somewhere on a horizontal plane in the real world. You can walk in and out of this virtual room, and you can explore what’s inside.
TriassicLoupe - A companion app for a dinosaur exhibit at a natural history museum. The concept is that of a jeweler’s loupe; this app reveals hidden details as a user points it around the exhibit.
Course Objectives
Upon completion of this program, participants should be able to:
- Explain what Machine Learning and Augmented Reality is and how it works
- Understand how to write custom Machine Learning and Augmented Reality Apps
- Use various third party frameworks and tools such as Keras, scikitlearn, Turi Create, Watson Services and Go
Course Pre-requisites
Knowledge of a programming language is required.
It is recommended for participants to go for the iOS Application Development - Intermediate to Advanced course prior to attending this course.
System Requirements
A Mac computer running macOS 10.13 High Sierra or 10.14 Mojave
Xcode 10.x
Swift 4.x
References
Machine Learning
Augmented Reality
Textbooks
Machine Learning by Tutorials
ARKit by Tutorials
Day 1 - Machine Learning
- Core ML and Vision: Machine Learning in iOS
- iOS Machine Learning
- Integrating a Core ML Model into your app
- Wrapping the Core ML Model in a Vision Model
- A Look at Apple's Core ML Sample Apps
- Beginning Machine Learning with Keras & Core ML
- Why use Keras?
- Setting up the Docker app
- Adding Keras Code
- Convert to CoreML Model
- Use Model in iOS App
- Beginning Machine Learning with scikit-learn
- Installing the tools
- Training and Validating a Linear Regression Model
- Training and Validating a Support Vector Machine Model
- Converting the Model to Apple’s Core ML Format
- Integrating the Core ML Model into Your App
- Natural Language Processing on iOS with Turi Create
- App Overview
- Intro to Machine Learning: Text-Style
- Using Turi Create
- Using Core ML
Day 2
- IBM Watson Services for Core ML Tutorial
- Watson Services
- Getting Started
- Creating a Custom Object Classifier
- Updating the Model
- Create ML Tutorial: Getting Started
- Create ML Image Classifier
- Turi Create Image Classifier
- Text Classifier
- Turi Create Image Similarity
- Machine Learning: End-to-end Classification
- Preprocessing and Selecting Features
- Training and Cross Validation
- ML Kit Tutorial for iOS: Recognizing Text in Images
- ML Kit
- Setting Up ML Kit
- Setting Up a Firebase Account
- Detecting Basic Text
- Highlighting the Text Frames
- Understanding Image Scaling
- Calculating the Scale
- Taking Photos with the Camera
- Dealing With Image Orientations
- Sharing the Text
Day 3 - Augmented Reality
- Building a Portal App in ARKit: Getting Started
- The Portal App
- Setting Up ARKit
- Building a Portal App in ARKit: Adding Objects
- Hit Testing
- Adding Crosshairs
- Adding a State Machine
- Building a Portal App in ARKit: Materials and Lighting
- The SceneKit Coordinate System
- Textures
- Building the Portal
- Adding the Doorway
Programme scope, delivery arrangements and suitability are confirmed during enquiry.