[MUSIC PLAYING]
JASON MAYES: In this chapter, you'll
see how others are using their web ML
skills in the real world along with further resources
you can use to continue your machine learning
journey beyond this introductory course.
But first, a huge congratulations
on getting to this point.
You've taken some very important first steps
that will enable you to be even more productive than ever
before in this industry, and of course, offer
your customers or the company you work for features
and services that were previously unobtainable
with regular web engineering.
But first, let's see what other TensorFlow.js users
have been making with the very skills you've
learned on this course.
See if you can guess which models
they're using along with their regular web engineering skills.
So first up, we've been seeing a huge increase
in users trying to understand the human body.
This library available on GitHub combines around eight
TensorFlow.js models to gain extra insights
into what might be going on in a given moment
and exposes high-level understandings to the end user
as shown.
Now, running eight models is quite demanding.
So if you try this demo, you should probably
use a reasonably powerful desktop or laptop.
But this is a glimpse of where the industry is heading
to do some really incredible things
in this space in the future as things continue to get faster.
On a similar note, we've also seen a rise
in users using our models for health and fitness.
Here, you can see how a member of the community
has created a yoga instructor that correctly understands when
you've held a certain pose for a certain number of seconds
before moving on to the next one.
You can imagine how you could make something similar
using the movement model that you learned
about on this course, which is actually
more accurate than the pose net model that's used in this demo.
And if you can understand pose well enough,
then you can use that as a novel form
of human-computer interaction for your favorite games
and more as shown in this example.
Here, a member of our community used one of our premade models
to create an interactive game where
you have to smash the blocks in time
with the music with your hands, which
brings us onto controlling other things of our bodies.
If you move beyond gaming and into the world of creativity
and the arts, we're seeing people bring their drawings
to life using their bodies with our pose and face models
as shown here.
In this example, you can draw any character you wish
and then have a novel form of motion capture powered
by TensorFlow.js using a regular webcam to drive
a skeleton of that character in real time for 2D animation.
And of course, you can go one step further with 3D
if you know technologies like 3.js.
The [INAUDIBLE] community have embraced TensorFlow.js
to drive virtual avatars that they can then
use to join live streams or digital meetings
in a real-time manner, really impressive work, which brings
us on to combining TensorFlow.js with emerging web technologies,
such as Web XR shown here.
Web XR allows you to perform mixed reality right
from the browser on the smartphone.
In this example, the creator wanted
to visualize pose over time in this very futuristic demo
to see how the martial arts person changes his form
over time in a novel way.
And on the subject of martial arts and sports,
we're also seeing a rise in startups across this industry
use TensorFlow.js for sports-related training
as shown on this slide.
In this demo by Team Sports, a company over in the UK,
they're able to define custom routines for any sport
or activity to create interactive and gamified
workouts, making sports practice a lot more social while also
getting real-time feedback and tips for improvement
based on your posture and more.
Now next up, let's not forget that JavaScript works well
with custom hardware, too.
We recently saw the first ever Kickstarter
that was powered by TensorFlow.js to create custom
hardware like this automated video assistant that
allows you to capture yourself in action when playing sports.
Remember, JavaScript can run pretty much anywhere.
And when paired with, say, web Bluetooth APIs, WebRTC,
or WebSockets, you can easily talk to a custom hardware
device like this one to then send
commands to do a physical action based
on the content from other sensors,
like the video stream as shown on this slide.
And on the subject of custom hardware,
we've seen a number of creative agencies around the world
embrace TensorFlow.js to create digital kiosks
like this touchless photo booth to drive
real-world experiences with customers at shopping malls
and beyond.
In fact, one more example is this digital kiosk
to order food without touching a screen using hand gestures you
can get pretty creative with these interfaces
to create a pretty slick user experience if you
put your mind to it.
As this is a new area of research
right now in the land of JavaScript,
there is much untapped potential here
that I encourage you to explore.
And if you can make a nice gesture,
maybe you can optimize other experiences in your life,
too, like this in-car gesture recognition
system that runs on React Native powered by TensorFlow.js
to control your music and phone calls without needing
to look at the screen directly.
And on the subject of cars, hooking TensorFlow.js up
to your Raspberry Pi allows you to perform home automation,
too.
In this case, Node-RED by IBM is used to deploy a TensorFlow.js
model to a Raspberry Pi that can recognize
the car and the number plate to open the garage
door automatically as you can see on this slide.
Now, moving on to other areas, presenters
are using TensorFlow.js to understand their audiences
better in a privacy-preserving way.
Here, you can see as people react to the content
that anonymous emotions are displayed on the pie chart
in real time, allowing the presenter
to see how engaged the audience might
be in today's digital meetings, which was something he was
missing from the times when he gave in-person talks, creating
a more connected experience with the people watching remotely.
And on the subject of solving problems you have,
this member of the community created a TensorFlow.js
solution to solve Sudoku puzzles in augmented reality using
his experience of computer vision and machine
learning combined.
Check the YouTube video on the slide
for a really great explanation of how he actually
achieved this.
Continuing the theme of solving problems,
many startups are creating custom models, too,
for data that matters to them.
Here, a satellite imaging company
uses TensorFlow.js to recognize objects in such imagery
allowing them to identify and even
count those objects over large geographic regions.
Or maybe you want to recreate a specific effect.
Here, a community member uses face
tracking to create a motion-based parallax
effect to give you the illusion of having a 3D screen
when used with 3D models displayed
with 3.js in the browser.
Or you could even use a face mesh model
to create a face mask from any image
and then see it augmented in real time live in the browser.
Maybe you're working in the movie industry
or some cultural event like Halloween,
and you want to create a fun interactive experience
for people to try.
And finally, how about turning your voice
into a musical instrument using Magenta's tone transfer model
that runs entirely in the browser through TensorFlow.js.
You can simply sing any song or tune
that you wish and hear it being played
by an instrument of your choice, allowing anyone the ability
to now play an instrument with their voice
in this generative model.
Now, as you've seen, there is a ton
of great examples already made by the community with new ones
coming out every single week.
Almost every demo shown here uses one or a combination
of the premade models that you've
learned about on this course or new ones that have recently
come out.
Furthermore, there might be other industries out there
beyond the examples shown here just waiting to be explored.
Now, most of the examples here were very visual
for this slide deck.
But remember, there's also plenty
of opportunities for tabular data, natural language
processing, and more as you saw on this course.
And if you want to see even more great demos, check the hashtag,
#MadeWithTFJS over on social media,
such as Twitter or LinkedIn, as there were just too
many to fit into this video.
Certainly you want to bookmark for inspiration,
and if you make something using TensorFlow.js,
make sure you use the tag so we can find your work for a chance
to be featured at future events.
And on that note, it's now up to you as one of the first machine
learning web engineers to show your customers or existing team
at work what's possible in a browser
to drive the next generation of web apps for everyone to use.
Exciting times ahead, and I look forward
to seeing what you create.
Now, in the next section, I'll show you
how to connect with the amazing existing TensorFlow.js
community, share some new model types worth exploring,
and further resources you might want to consider
to continue your journey.
See you there.
[MUSIC PLAYING]