Our team made process in redesigning the camera security system in these key areas:
Image transmission. The camera’s Zentri AMW004 wifi module, is able to receive more image frames per second from the Microcontroller Unit (MCU), achieving up to 3-4 frames per second. This was done by increasing the UART baud rate 8x faster at 921600 Hz rather than 115200 Hz, and reducing the size of the data buffer.
Google Cloud server solution. The cloud server now receives all images and performs person recognition and tracking in real time for a single camera. Once the coordinates and size of the person are determined, a PID controller determines a new angle the pan-tilt base should now adopt and transmits the data via HTTP.
OpenCV facial recognition. The OpenCV library has been exploited to identify faces (frontal and profile), half body and full body to a reasonable degree of accuracy. Once a region of interest is identified, a CSRT tracker follows the person and updates the PID controller accordingly.
PWM servo actuators. The PWM servos now respond accordingly to the angles provided by the HTTP connection; this is achieved by updating the duty cycles for each servo.
Progress made on the project has been acceptable - we are on target to meet the project’s minimum viable product goals, including extending the system to incorporate multiple cameras. however we will not be able to explore our stretch goals of including an LCD screen.
Planning and Organization
Figure: Gantt Chart for the project
Mfg. Part #
1000 Unit Price
In Final Design?
Total Unit Price
Total Bulk Price
Mini Pan-Tilt Kit
Omnivision camera module
Silicon Labs Wifi Module
Microchip Technology MCU
Figure: Bill of Materials for the project
Results of Market Research
Our non-expert interviewees found a product that could recognize specific faces to be very useful in monitoring their private spaces, for example, alerting against front door package thieves or trespassers. On the topic of facial recognition, one interviewee noted that constant face detection alerts could get stale because of false alarms, and suggested using criminal face databases to reduce false alarms.
We interviewed Prof. Jack Tumblin for his expert input on the computer-vision aspects of the security camera that we are making. Most of his suggested surrounded our efforts to reduce latency on the camera, including using grayscale images rather and RGB for transmission to achieve compression. He also suggested using a more direct form of data transmission rather than UART, or bypassing the MCU directly and using a shared bus between the sensor and wifi chip to transmit images as quickly as possible.
In terms of image quality, Prof. Tumblin suggested reducing exposure time to reduce motion blur. To compensate, we would have to increase aperture size (if possible) and ISO settings.
By the end of the quarter, we will fine tune camera system to ensure that the face detection, tracking, and actuation work seamlessly. Amongst some measures, we will increase the UART baud rate to increase throughput, alter the server and CV configurations to improve latency, and tweak the PID controller to improve responsiveness to the detected person.