📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

AI for Everyone LESSON 30: Concluding Thoughts on AI Class

Paul McWhorter11:12

Transcription

Hello guys, this is Paul McWhorter with TopTechBoy.com, and we're here today with episode number 30 in our incredible new tutorial series where you're going to learn artificial intelligence, or you're going to die trying.

What I'm going to need you to do today is pour yourself a nice tall glass of ice-cold coffee. That is straight-up black coffee poured over ice, no sugar, no sweeteners, none needed. And as you're pouring your coffee, as always, I want to give a shout-out to you guys who are helping me out over at Patreon. It is your support and your encouragement that keeps this great content coming. You guys that are not helping out yet, take a look down in the description, there is a link over to my Patreon account. Think about hopping on over there and hooking a brother up.

But enough of this shameless self-promotion, let's talk about what today's video is going to be about. And well, my friends, this day, it was inevitable. This day did have to come, and that is, this is the day that we're wrapping up this artificial intelligence class. And there's really two main reasons that this is the point to wrap it up. And the first is, I think I've gotten you to a really, really nice stopping point. I've taught you Python, I've taught you OpenCV, I've taught you MediaPipe, and then I've taught you how to bring those things together to really understand poses and interact with MediaPipe in a really easy and intuitive way, so that you can recognize gestures in the hand gesture, you know, face positions, body poses. You can really analyze face, body, and hand positions using MediaPipe in Python. Then I showed you how to take a recognized gesture, pass it to Arduino, and then have Arduino do something in the real world based on what your gesture is. And if you remember last week, we kind of got to that point, and I can show it here, and that is, is that we can recognize gestures, and then the LEDs will respond to what gestures we are sending it. We can do pinky, we can do thumb, we can do outside fingers, we can do inside fingers, and we can count, and the LEDs respond to our hand gestures.

Now, I did LEDs because that is a rather simple demonstration, that's kind of a simple thing that you can do. But you can imagine that you could go in and do much more complicated things, like you could instead of just controlling, instead of just controlling LEDs, you could control servos, you could control stepper motors, you could hook this to relays and turn bigger things on and off. So there's just a whole world of things that you could go with what I have taught you now, and it's kind of now is the time for you to go out and figure out how to use this in your own projects. Now, the next, so it seems like a logical stopping point that you have a nice full tool bag that you can go away and do projects with.

The other reason is, the next logical thing to do, if I were to continue teaching this class, would be to begin to work on object detection, and that would be where your camera looks out of the scene, and then it recognizes things in the scene, like it finds shoes or books or faces or cameras or whatever books that they can look out at a scene and it can find and recognize the things that are in the scene and put a box on it and label it. And you can imagine there's all types of interesting things to do with that. And then the next logical thing after that would be to go in and train the model to learn and do certain things, like those of you who went through my Jetson Nano series of classes, right? We taught it how to recognize single-board computers, and then just whichever Arduino, Raspberry Pi, Raspberry Pi Zero, whatever single-board computer you put in the front of the camera, the program was able to recognize it.

Now, this is the reason that we're kind of stopping before that. In order to do that, we really would need you to have a good graphics card on your computer. And the problem is, probably half of you don't have graphics cards. And if you just try to run those things on a CPU, even if it's a modern, fast, you know, fast core modern computer system, you're doing that sort of thing without a GPU, without a graphical processing unit, without a graphics card, a good graphics card, you're barely going to get one frame per second, and maybe one frame every five seconds. So all of a sudden, it just doesn't work very well. And plus, with a with a CPU only, no GPU, there is just no way that you can go in and train something. It's just too slow and would take too long.

Well, a question I had is, well, let's just say that you guys, maybe some of you guys have good graphics cards. Well, what you got to do is, you've got to get OpenCV where it runs on the graphics card rather than running on the, uh, rather than running on the CPU. And there's a lot of different tutorials out there on how to do it, but I really struggled mightily to get that to work because you have to sort of build the OpenCV from scratch, then you've got to make sure that MediaPipe, or you've got to make sure that the various versions of software, like the version of OpenCV that you're doing, and all those things work together to work with the graphics card. And it took me, I like spent four or five days just trying to get it to work on my computer. And then the problem is, if your computer is just slightly different, then the things that I did probably would not work exactly for you.

The second thing that I tried to do, I thought, okay, well, let's just see that most of you probably have Windows PC, and the new, uh, newer versions of Windows PC allow you to run a run a Linux terminal underneath Windows. And so I tried to do it that way. Well, what if we had a Linux terminal terminal running under Windows, and then in that Linux, try to get the graphics card working? And again, it was just kind of like crazy hard to do. And I did get some stuff working, but I thought the chance of me being able to show it to you and it working for you guys, probably, probably pretty slim. So I think before we would move on with doing that sort of thing, we need Windows to move forward a little bit and really having a full-featured, uh, Linux environment underneath Windows, and then try to do it over in Linux.

The other thing that we could do is we could try to just run natively, like butcher PC in Linux. But then, you know, man, I don't want to get into it telling you guys to install another operating system on your computer, and then maybe that not work. One thing, if you're interested in it, is kind of like really, I think the easiest way to do it is to do it on a Jetson Nano. It's the single-board computer that has the GPU built in, and everything about its operating system is based on getting you, the programmer, the user, into that GPU. And that would probably be the easiest way to do it.

But for all those reasons, first of all, we're at a good stopping point. I've given you a good tool set with OpenCV, with Python, with MediaPipe, and then I've showed you how to get that data into Arduino. That's a good stopping point. And then secondly, I think to go further, it would just be too hard to get a large group of you all with your system up and running properly. And so for that reason, it seems like this is a good place to stop.

Okay, well, where will we be going in the future? And the thing I would really encourage you, and the thing that I'm going to have coming up, the thing that I'm now working on, is a new series of lessons that will be on Fusion 360 and Fusion 360 with a with a 3D printer. Because I think really, as we're moving forward with new projects, moving forward to do new things, it would really be cool to be able to build cases or stands or enclosures or various mechanical items to combine with the things that we've done in Arduino and combined with the things that we're going to be learning about the Raspberry Pi, to add a mechanical element to that. And then we would really be having a pretty amazing tool set, which would be that you, you're able to design and build custom mechanical devices in support of your projects that are going to be based on the Arduino or the Raspberry Pi or the Jetson Nano. And so I just see that as a really exciting thing.

The other thing that we're going to be doing is we're going to be doing a series of lessons on the Raspberry Pi with a focus on hardware. Because most of the Raspberry Pi series of lessons that I see out there are really based on like putting together a retro gaming console, you know, something that you would play Space Invaders or Mario Brothers on, something like that. So it's about gaming, or it's about taking your Raspberry Pi and making it a network storage device for your home, or a media streaming device for your home. And so it kind of gets away from the material that is out there, sort of leaves, I think, a pretty big hole, and that is using the power of the Raspberry Pi combined with all of these GPIO pins to kind of have a a really super strong computation platform, and the GPIO pins to allow us to work with sensors and servos and stepper motors and that sort of thing. So I think that is an exciting direction as well. So that's the direction that we're going to be going.

I've really, really enjoyed putting these classes together. I hope you've enjoyed taking these lessons as much as I have putting them together. And I hope you'll keep checking back on this channel and leaving links to the projects, the individual projects that you are doing in, uh, you know, using the artificial intelligence material that you learned.

Okay, guys, I am going to let you go now. I just want to say again how much I've enjoyed having you be a part of this series of classes. This, uh, this, uh, series has been probably one of my favorite that I've done on YouTube so far. And I hope you guys have enjoyed it. But don't go away, just find another playlist here on the channel to, uh, to tune into. If you like this, be sure to give us a thumbs up, leave a comment down below, and as always, share this with other people because the world needs more people doing engineering and fewer people sitting around watching silly cat videos. Paul McWhorter with TopTechBoy.com, coming to you from the shores of the mighty River Nile. I will talk to you guys later.