This is a face-tracking camera using OpenCV and an arduino. I will be testing my own custom model trained using a customized VGG16 architecture model and will be implementing both the pre-trained model within OpenCV (ResNet SSD). The camera will be able to track the face and center it to the middle of the screen.
- Python 3.6
- OpenCV 3.4.2
- Numpy 1.15.4
- PySerial 3.4
- Arduino IDE
- TensorFlow
- OpenCV
- Numpy
- PySerial
- Arduino IDE
- This is meant for stationary desktops with a webcam. The camera will be able to track the face and center it to the middle of the screen.
Zoom use case:
- Arduino Uno
- Servo Motor x2
- Webcam
- Custom 3D printed gimbal (will be uploaded soon)
- ResNet SSD is a pre-trained model that is already trained on the COCO dataset. It is a very accurate model and is able to detect faces very well. However, it is not able to detect faces that are too far away from the camera. This is because the model is trained on the COCO dataset which does not have faces that are too far away from the camera.
- The custom model is trained on a custom dataset that I created. It is only able to detect my face (which was intended to be used for security purposes). Therefore, it is not as accurate as the ResNet SSD model. This is because the dataset is curated using a python script that takes pictures of my face from a webcam. The dataset also contains pictures of my face from different angles and different lighting conditions. The model is trained using a customized VGG16 architecture model.
- Detailed notebook link
This work is licensed under a Creative Commons Attribution 4.0 International License.