The goal of our model is to utilize small amounts of data and code to perform face recognition.
The model is designed to identify and recognize faces from provided data. It analyzes input data, detects patterns, and makes predictions based on its training.
The training process involves using a variety of data, including images, labels, pixels, and datasets. These components are essential for teaching the model to recognize patterns, make predictions, and perform tasks effectively. The datasets provide the foundation for the model's learning, enabling it to generalize and make informed decisions when encountering new, unseen data.
For instance, the model might use datasets like the MNIST dataset, which contains labeled images of handwritten digits. This data helps the model learn to distinguish between different numbers, such as 1s and 0s, and apply similar pattern recognition techniques to differentiate faces from the given data.
The model's accuracy can vary based on the number of epochs it undergoes during training. Epochs represent complete passes through the entire training dataset. If the model's performance is suboptimal, increasing the number of epochs can help improve its accuracy. Through iterative training over multiple epochs, the model progressively enhances its ability to make precise and accurate predictions.
Input Layer: keras.Input specifies the input shape for the model.
Hidden Layers: Ten dense (fully connected) layers, each with 512 units and ReLU activation function. This is a deep neural network.
Output Layer: A dense layer with 512 units and a softmax activation function, typically used for multi-class classification problems.
Model Definition: keras.Model constructs the model using the specified input and output.
Epochs refer to the number of complete passes through the training dataset. The number of epochs is a hyperparameter that needs to be determined based on the specific problem and dataset. It is generally chosen based on the performance on a validation set or through cross-validation.
Training Accuracy:
Training Loss: 0.0166
Training Accuracy: 99.47%
Testing Accuracy:
Testing Loss: 0.6553
Testing Accuracy: 92.88%
Singularizer:
The singularizer is the first main component the Skittles encounter. Its purpose is to align and separate the Skittles so that they pass through the sensing area one by one. As the Skittles move through the singularizer, they are spaced out and funneled into a single-file line.
Sensing Area:
Once the Skittles are singularized, they move into the sensing area. Here, color sensors detect the color of each Skittle. The sensor captures the color data and sends it to the processing unit, which determines the appropriate bin for each Skittle based on its color. This process happens in real-time as the Skittles continue to move.
Ramp and Bins:
After passing through the sensing area, the Skittles move down a ramp that leads to the sorting bins. When a Skittle reaches the correct point on the ramp, the servo activates, redirecting the Skittle into the corresponding bin. Each bin is designated for a specific color.
The goal of the singularizer is to isolate a single skittle to be scanned by the color sensor.
Fist I wired and programmed my two servos and color sensor. Then I laser cut a sliding system for the skittles to sit in and glued it to my first servo. After I laser cut cardboard to create a rectangular frame I then glued the first servo on a top level and my second servo on a lower one. Finally I 3D printed a funnle and made a whole in the top of the frame to feed the singularizer.
Our design successfully meets the goals of the singularizer other than a bit of clogage in the top of the funnel which can be fixed by widening the funnel's enter point
The first color we used on the sensor was green
The second color we used on the sensor was purple
The third color we used on the sensor was black
Today in class we got our 2 servos moving. Using python we programed our cervo to move 90 degrees by connecting the cervo wires to GP0 and GP1 using the orange wires, then connecting the black wire to GND, and finally connecting the red wire to vbus on our bread board.
We tested diffrent colors on the color sensor in class. The GND is connected to the black wire. The 3v3 is connected to the red wire. The green wire to SCL and the yellow to SDA.
Today in class I programmed my robot to go forward, backward, left, and then right this is the code.