1
00:00:07,830 --> 00:00:13,610
Hey guys this is Caleb with Dev's slopes dot com and welcome to the Cornell section of the iOS 11 course.

2
00:00:13,680 --> 00:00:19,020
I'm so excited to get you into using Core M-L because it's seriously so cool.

3
00:00:19,020 --> 00:00:24,750
Apple has made it so easy to integrate machine learning into iOS apps and that's actually what you are

4
00:00:24,750 --> 00:00:25,470
here to learn.

5
00:00:25,470 --> 00:00:27,420
So let's dive right into it.

6
00:00:27,420 --> 00:00:33,990
I want to show you some parts of the apple developer documentation for core M-L and we're going to basically

7
00:00:33,990 --> 00:00:36,670
learn what you will learn in this section.

8
00:00:36,870 --> 00:00:41,130
I'm also going to tell you what core melt is and why you should care as a developer.

9
00:00:41,130 --> 00:00:46,800
So I'm going to pull open Safari here and I'm just on the core M-L web site developer dot apple dot

10
00:00:46,800 --> 00:00:52,710
com slash machine learning if you're interested and as you can see there are already a couple of ways

11
00:00:52,710 --> 00:00:55,270
that Apple is using machine learning.

12
00:00:55,350 --> 00:01:00,540
They use it in quick type in messages to predict what words you're going to type next.

13
00:01:00,750 --> 00:01:06,600
They use it in the camera to identify faces so that it can focus on your face automatically without

14
00:01:06,600 --> 00:01:08,570
you having to tap on the screen.

15
00:01:08,580 --> 00:01:13,830
They also use it here to identify landmarks that they use it in a lot of really cool ways already but

16
00:01:14,070 --> 00:01:15,990
you're here to learn it for yourself.

17
00:01:15,990 --> 00:01:20,340
So let's go ahead and let's just talk quickly about what is Corum out.

18
00:01:20,370 --> 00:01:26,220
Carmel is a massively helpful framework from Apple that allows you to put machine learning into your

19
00:01:26,220 --> 00:01:26,490
app.

20
00:01:26,490 --> 00:01:27,430
Simple as that.

21
00:01:27,780 --> 00:01:33,420
If we go here to the core page you can see it allows you to integrate machine learning models into your

22
00:01:33,420 --> 00:01:37,500
app and we're going to be using what's called a trained model.

23
00:01:37,700 --> 00:01:38,240
OK.

24
00:01:38,490 --> 00:01:42,240
And Apple provides some trained models that we can use in each of them.

25
00:01:42,240 --> 00:01:44,640
Kind of has a specific super power.

26
00:01:44,850 --> 00:01:47,960
One might be really good at identifying objects in a scene.

27
00:01:48,030 --> 00:01:53,130
One might be good at identifying faces another one might be good at identifying like different types

28
00:01:53,130 --> 00:01:54,080
of scenes.

29
00:01:54,080 --> 00:01:56,990
OK we're going to basically use this train model.

30
00:01:57,150 --> 00:02:02,160
We're going to pass it an input case maybe like a photo or a block of text.

31
00:02:02,220 --> 00:02:07,560
It's going to run it through all kinds of complex calculations in the trained model and give us an output

32
00:02:07,740 --> 00:02:08,970
of our desired result.

33
00:02:08,970 --> 00:02:15,120
So if we took a photo of something it would pass the photo into the model and it would output a label

34
00:02:15,120 --> 00:02:18,790
or a piece of text with what it thinks that is in the photo.

35
00:02:19,140 --> 00:02:25,080
If we were to pass in a word that was a proper noun it could tell us that is someone's name it could

36
00:02:25,080 --> 00:02:28,650
identify that type of information.

37
00:02:28,650 --> 00:02:29,820
So that's really cool.

38
00:02:29,970 --> 00:02:31,290
So that's Corum.

39
00:02:31,560 --> 00:02:36,270
There's another framework we're going to use called vision and this is really cool.

40
00:02:36,540 --> 00:02:42,960
It allows you to use what is called Computer Vision machine learning computer vision allows you to do

41
00:02:42,960 --> 00:02:50,050
things like face tracking face detection landmarks text detection rectangle detection barcode detection.

42
00:02:50,070 --> 00:02:54,080
Now as you're hearing this you're probably thinking of some apps you know that use this.

43
00:02:54,120 --> 00:02:59,220
If you've ever used an app called Word Lens I think that's what it was called before Google bought them

44
00:02:59,220 --> 00:03:00,820
and put it into Google translate.

45
00:03:00,960 --> 00:03:05,910
But with Word Lens what you can do is you can take a picture of a street sign and it can translate that

46
00:03:05,910 --> 00:03:08,820
word in your in real time on that street sign.

47
00:03:08,820 --> 00:03:09,860
It's very cool.

48
00:03:09,870 --> 00:03:13,860
So that kind of thing could be done with text detection with the vision framework.

49
00:03:13,860 --> 00:03:19,680
Not only that but it can do object tracking If you've ever posted on Instagram or snapchat story you

50
00:03:19,680 --> 00:03:26,250
know that you can drop on an emoji or even words and you can pin them to a certain object in the frame.

51
00:03:26,340 --> 00:03:28,460
And then as you move that object follows you.

52
00:03:28,470 --> 00:03:30,880
That's how object tracking can be done with vision.

53
00:03:31,200 --> 00:03:36,540
And the last one is image registration and that's partly what we will use to create an app that lets

54
00:03:36,540 --> 00:03:41,550
us take a photo of something and then using that photo the app can identify what it is.

55
00:03:41,550 --> 00:03:43,160
It's really really cool.

56
00:03:43,530 --> 00:03:43,820
OK.

57
00:03:43,830 --> 00:03:44,790
So that's vision.

58
00:03:44,820 --> 00:03:49,540
And we've talked briefly about core M-L but the last one we're going to talk about is called and that's

59
00:03:49,590 --> 00:03:51,440
linguistic tagger.

60
00:03:51,540 --> 00:03:58,410
And that's a class that Apple has provided to allow us to analyze language and identify different things

61
00:03:58,470 --> 00:04:01,470
about it like we could identify proper names.

62
00:04:01,470 --> 00:04:09,620
We could do all kinds of other cooling sticks stuff like we could determine whether a word is a noun

63
00:04:09,660 --> 00:04:14,700
if it's used a certain way in a sentence we could determine if it's a verb an adjective we can detect

64
00:04:14,700 --> 00:04:16,500
what language is being spoken.

65
00:04:16,500 --> 00:04:20,130
So imagine that if you're sitting somewhere you you're not quite sure what language someone near you

66
00:04:20,130 --> 00:04:20,870
is speaking.

67
00:04:21,000 --> 00:04:25,370
You can just hold up your phone and it could listen and detect Oh that's Spanish or that's Italian.

68
00:04:25,380 --> 00:04:27,450
K. There's lots of really cool ways.

69
00:04:27,540 --> 00:04:30,280
Machine learning can be used in your application.

70
00:04:30,330 --> 00:04:36,030
The coolest thing is that core M-L is stored locally on your device so it doesn't even need to pull

71
00:04:36,030 --> 00:04:40,210
data from some kind of cloud server or reach out to an API.

72
00:04:40,430 --> 00:04:42,920
The male model can do all of the thinking for us.

73
00:04:42,920 --> 00:04:48,030
That's the coolest thing it's sort of like we're putting a brain into our application and it's very

74
00:04:48,030 --> 00:04:50,840
very cool so I'm so excited to tell you more about it.

75
00:04:50,850 --> 00:04:55,440
But let's go ahead and let's move on to the next video so you can actually get started learning core

76
00:04:55,450 --> 00:04:56,050
m-L.

77
00:04:56,190 --> 00:04:57,800
All right so head over to the next video.

78
00:04:57,810 --> 00:04:58,780
We'll see you there.
