In this document we will learn what neural networks are capable of. We will know them through a project in which we develop an object tracking camera system.
We will work with a Raspberry Pi and its camera module. We will be able to turn the camera with two servo motors. For the object detection part, we will build a simple convolutional neural network. We will also collect the data which the network will be trained on. Training a neural network takes some time, so we will build a computer for that purpose, on which we will do the detection, too. So the two systems will need to communicate with each other. For this purpose, we will use Ethernet connections through socket programming.
When we are training a neural network, we have to keep in mind a lot of difficulties to care about, but when else happens, we will try our best to figure it out and solve the problem. After we finish the training, it is a good idea to gather some images of the environment where the system will function, so that we can train for a little more on these data, too. It is important that when gathering these images, no object is present what we want to track, else we should remove those images. And finally the system will do the job it was designed to do.