EIEIOTECHNOVATION
← Training programmes

EIEIO / ARTIFICIAL INTELLIGENCE

iOS Application Development - Machine Learning and Augmented Reality

Course outline

3 days

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.