Engineering Projects

Building a Facial Recognition System for Eaton-Bussmann — WashU Capstone Project

Michael Pichardo May 15, 2020 Updated May 26, 2026

A senior capstone that combined deep learning facial recognition with QR code verification to build an employee and equipment identification system for an industrial manufacturer.

The Project

For our senior capstone at Washington University in St. Louis, my team built a verification system for Eaton-Bussmann, an industrial electrical component manufacturer, that combined two authentication methods: deep learning-based facial recognition for employees, and QR code verification for equipment.

The project was developed in collaboration with Austin Funcheon, Senior Design Engineer at Eaton-Bussmann, under the academic guidance of Professor Dorothy Wang from WashU's Electrical and Systems Engineering department.

Team: Arnob Dam, Michael Pichardo, Zachary Steinberg, Dylan Zubata.

The Problem We Were Solving

Industrial facilities need to verify two things constantly: who is authorized to be in a given area, and whether the equipment they are working with is the correct, properly maintained unit. Manual badge-swipe systems address the first problem partially, but they do not verify that the person using a badge is actually the badge holder. QR codes on equipment can track assets, but they do not close the loop on personnel verification.

We were asked to build something that addressed both problems with a unified system.

Facial Recognition

The facial recognition component uses the face_recognition Python library, which builds on dlib's deep learning implementation. The library achieves 99.38% accuracy on the Labeled Faces in the Wild benchmark, which gave us a strong baseline to work from.

We evaluated two detection models: Convolutional Neural Network (CNN) and Histogram of Oriented Gradients (HOG). CNN produces higher accuracy but is slower per frame. HOG is faster with slightly lower accuracy. We tested both against 10 subjects, four team members and six public figures, measuring Frobenius distance between stored facial encodings and live video frames.

The matching threshold we settled on was 0.50. Raising it to 0.60 degraded accuracy meaningfully. After comparing frame processing speed across both models, we chose HOG for the final system. It delivered equivalent accuracy with consistently lower runtime, which is the deciding factor when you are doing real-time verification and cannot afford to lag.

The team documented the full threshold analysis and distance comparison charts on the project's facial recognition page. If you want to see the HOG vs. CNN performance data in detail, that is the place to read it.

QR Code Verification

Equipment was tagged with QR codes that the system could scan and cross-reference against a structured database. The technical stack: OpenCV with ZBar for detection, PIL for image processing, and Pandas for database integration.

The database is organized as a five-sheet Excel workbook, one sheet per PPE protection level (0 through 4). When the system scans a code, it reads the matching sheet and verifies that the equipment record is correct for that level. The decoded name is displayed on screen and stored for the audit trail.

The deliverable for Eaton-Bussmann was an HTML-based QR code generation site rather than a raw Python script. That made it practical for their staff to generate and print codes without running anything locally. The full flowchart and implementation details are on the QR code verification page.

What COVID-19 Changed

The original plan was a fully integrated hardware deployment, a complete unit that could be installed at a facility entrance and tested in a real industrial environment. COVID-19 ended that. Lab access was cut before we could assemble the hardware layer.

What we delivered instead was the complete software package: the facial recognition system, the QR code verification system, a comparative model analysis, installation documentation, and the project site. The system was functional and ready for implementation. It was not tested in the physical environment we had designed for, but it was ready for someone to continue that work.

Eaton-Bussmann and WashU signed off on what was delivered. The project was considered a success under the circumstances. The team's view, documented in the project conclusion, was that this was phase one of a longer computer vision initiative, not the end state.

What I Learned Building This

Working on a real industrial deployment rather than a class project with synthetic data meant dealing with constraints that textbooks do not cover: lighting variance, camera angle, the difference between a controlled demo and a factory floor.

The HOG vs. CNN decision taught me something specific about applied machine learning. Theoretical accuracy is not the only metric that matters in a live system. Frame processing speed is a hard requirement when the system needs to respond in real time. Understanding where to make the accuracy-latency tradeoff, and being deliberate about it, is something you only learn by building something that has to actually run.

The project also reinforced something about the gap between academic work and industry needs. The most valuable things we built were not the parts that were theoretically interesting. They were the parts that worked reliably under the conditions Eaton-Bussmann would encounter. That distinction has shaped how I think about every technical project since.

Read the Full Technical Write-Up

The team documented everything in detail on the project site. If you want the full picture, the facial recognition analysis, the QR code verification system, and the project conclusion are all worth reading.


Back to Blog