Android Board Based Intelligent Car Anti-Theft System Through Face Recognition Using GSM and GPS

Android Board Based Intelligent Car Anti-Theft System Through Face Recognition Using GSM and GPS

5 min read

Updates: Published 2018 · Journal of Advances in Information Science · Read the full paper at Publishing India

Auto theft remains a stubborn problem. Alarms and keyless remotes help, but they tend to fail at exactly the moments that matter: when a remote is lost, when a thief is already in the driver's seat, or when an owner needs to actually find and stop a vehicle that's been taken. This project proposes a low-cost, extendable framework for a smarter car security system that ties together computer vision, mobile messaging, and satellite positioning on a single Android board.

The core idea is simple. When someone sits in the driver's seat, a camera quietly captures their face and compares it against a database of authorized drivers. If the face matches, nothing happens and access is granted. If it doesn't, the system alerts the owner over GSM, sends along the intruder's photo and the car's GPS location, and lets the owner remotely cut the ignition with a text message.

System architecture

The whole system is coordinated by an Android board acting as the control platform. It handles image capture, face detection and recognition, GPS parsing, and SMS communication, while also driving the car's electronic control unit (ECU). Around it sit four key components: a USB camera for image acquisition, a GSM module for messaging, a GPS module for location, and the ECU link for engine control.

Block diagram of the system showing the Android Board connected to GSM module, GPS module, ECU, and camera, with a cell tower and satellite

The prototype was built on a CubieAIO-A20 development board, chosen for its compact Einstein-A20 computing module. It runs an AllWinner A20 ARM Cortex-A7 dual-core processor with a Mali400 GPU, 1GB of DDR3, HDMI/VGA output, Ethernet, Wi-Fi and Bluetooth, and support for 3G/4G via miniPCIE — enough to handle the imaging and control workload in a small, embeddable form factor.

How face recognition works here

Recognition is built on PCA — Principal Component Analysis, often called the eigenfaces approach. PCA's appeal is efficiency: it reduces the dimensionality of a large set of face images by keeping only the most informative directions (the principal eigenvectors), then projects each face into that compact "face space." That keeps the database small and matching fast.

The pipeline runs in two phases. In the enrollment phase, photos of every authorized driver are collected, the face region is extracted, and a weight vector is computed for each image using PCA. In the authentication phase, the system captures the new driver's face, computes its weight vector the same way, and measures the minimum Euclidean distance between that vector and the enrolled ones. If the distance falls below a threshold (determined ahead of time through offline tuning), the driver is authenticated; if it exceeds the threshold, they're flagged as unauthorized.

Block diagram of the face recognition system showing the enrolment stage and authentication stage, with PCA algorithm, weight storage, weight comparison, and a Euclidean distance threshold decision

Face detection — finding and cropping the face before recognition — uses a Haar cascade classifier in the style of the Viola–Jones detector, which remains one of the fastest reliable approaches for real-time face detection. Images are kept at 320×240 resolution so they stay small and process quickly.

The control flow

Putting it together, the software follows a straightforward loop. The system initializes, acquires an image, and runs face recognition. If the minimum Euclidean distance is under the threshold, the driver is authorized and a confirmation SMS goes to the owner. If not, the system sends both an SMS and an MMS (with the intruder's photo) to the owner and waits for a response.

The owner then has control through simple keyword commands. Sending "Allow" grants access for a permitted guest driver. Sending "Stop" cuts the ignition valve, immobilizing the vehicle. And "Locate" returns the car's current position via the GPS module. The owner identity is tied to a specific mobile number, so only authorized commands take effect.

Results

The recognition software was implemented in Java running on the Android board, using the Haar-cascade classifier to crop faces and PCA to match them against the enrolled database. In testing, the system reliably distinguished authorized from unauthorized drivers and delivered alerts with photo and location to the owner's phone. The main limitation noted was speed: detecting a single 320×240 color JPEG took roughly six seconds on the board — workable as a checkpoint, but on the slow side for true real-time use.

The broader value is in the combination. Rather than relying on a thicket of expensive sensors that go silent once a car is actually stolen, this approach captures the one thing investigators most want — the thief's face — while giving the owner a live location and a remote kill switch, all on cheap, open hardware.

See the presentation

A full walkthrough of the project is available as a Prezi presentation:

If the embed doesn't load, you can view the Prezi directly here.


Authors: Mohammed Shafeeq K K and Maqbool Thoufeeq T. Department of Electronics and Instrumentation Engineering, College of Engineering Vadakara, and Department of Computer Science, University of Calicut, Kerala, India.

Read similar blogs