Finding a missing person is a race against the clock, yet in most jurisdictions the process still depends heavily on manual effort: officers dig through paper case files, pass around printed photographs, and lean on personal memory to connect a fresh sighting with an older report. As the number of open cases piles up, this kind of manual cross-checking only gets slower and less dependable, and a promising lead can slip through simply because nobody happened to place two particular photographs side by side. This report looks at a software system built to automate that comparison step, using computer-vision-based face geometry rather than raw image matching. Every photograph that enters the system, whether it comes attached to a missing-person case or a public sighting, is run through a 468-point three-dimensional facial landmark detector, which produces a fixed-length numeric signature for the face. A distance-weighted K-Nearest Neighbour classifier then checks new signatures against the pool of open cases and flags any pair that falls within a configurable similarity threshold, automatically closing the case and emailing the reporting family. The system keeps its two user groups on separate interfaces: a role-gated portal for police officers and administrators, and an open public portal that lets any bystander submit a sighting without creating an account. Case and image data live in a local SQLite store, and an interactive map lets administrators see how open cases are spread across cities. Because the core face-landmarker model only needs to be downloaded once and is then cached, the system keeps working without an active internet connection after initial setup, which matters for stations in areas with patchy connectivity.
Introduction
The report proposes an automated missing-person identification system that uses facial landmark detection and a K-Nearest Neighbour (KNN) classifier to match public sighting photographs with registered missing-person cases. Since a large proportion of missing-person cases involve children and police officers often manage numerous investigations simultaneously, manually comparing every new sighting with existing case photographs is slow, difficult, and prone to error. The system addresses this challenge by converting facial images into standardized geometric representations, enabling rapid and consistent face matching despite differences in image quality, lighting, pose, or camera angle.
The study aims to develop a lightweight, parameter-free face-matching solution that minimizes manual effort, separates police case management from public reporting through two dedicated web portals, automates the matching and notification process, supports offline operation for resource-constrained police stations, and identifies limitations for future improvements. Rather than serving as a final production system, the project demonstrates the feasibility of an efficient and self-contained proof of concept.
The literature review highlights two key technologies underlying the system: facial landmark detection and classical nearest-neighbour classification. Google's MediaPipe Face Landmarker extracts 468 three-dimensional facial landmarks, producing a compact geometric representation of each face that is more robust to variations in lighting and background than raw images. Unlike deep-learning face-recognition models, the proposed system uses a feature-based approach, requiring no large labelled datasets or expensive GPU-based training. Matching is performed using a distance-weighted KNN classifier, which efficiently identifies the closest facial geometry among all registered missing-person cases.
The system workflow begins when a police officer registers a missing-person case by uploading a photograph and relevant details. The face is processed to extract a 1,404-dimensional landmark vector that is stored in a local database. Members of the public can submit photographs or short videos through a separate login-free portal. Videos are processed by sampling frames, extracting faces, and eliminating duplicate detections before comparison. Each new facial vector is matched against existing cases using the KNN algorithm. If the similarity exceeds a predefined threshold, the case is automatically flagged as a potential match, the case status is updated, and an email notification is sent to the complainant while allowing police officers to verify the match before taking further action.
To protect privacy and ensure security, the system uses role-based access control, with officers and administrators accessing secure portals protected by bcrypt-hashed passwords. All case data, facial vectors, and images are stored locally in a SQLite database, allowing the system to function without relying on cloud services or continuous internet connectivity.
The architecture consists of five major components:
Dual portals for police officers and the public.
Face detection and encoding using MediaPipe.
Local data storage for cases, sightings, and user information.
Matching engine using KNN and ball-tree indexing.
Reporting and notification module providing case summaries, maps, and automated email alerts.
The implementation relies on lightweight technologies including Streamlit, MediaPipe, Scikit-learn, SQLModel, SQLite, Folium, bcrypt, and SMTP, making the system inexpensive to deploy and suitable for low-resource environments.
The proposed system offers several advantages over manual face comparison:
Rapid matching of new sightings against all open cases.
Consistent facial comparison using standardized landmark vectors.
Low computational requirements, eliminating the need for deep-learning hardware.
Offline functionality, making it practical for rural police stations.
Separate interfaces for secure police operations and easy public reporting.
Functional testing confirmed that the system correctly handles case registration, image and video submissions, user permissions, and automated matching. Preliminary evaluations indicate that the landmark-based approach performs well under varying lighting and viewing angles but is less effective when faces are partially covered, significantly aged, or altered due to injury or weight changes. Performance remained efficient for small datasets, though large-scale deployment requires further evaluation.
Conclusion
This report has looked at an AI-assisted missing-person identification system that replaces manual photo comparison with an automated pipeline built on 468-point facial landmark extraction and distance-weighted K-Nearest Neighbour matching. By splitting case management into a role-gated officer and administrator portal and pairing it with a login-free public sighting portal, the system lowers the barrier for both official case handling and public participation in reporting sightings. Relying on a lightweight classifier rather than a large deep-learning model keeps it inexpensive to run and, once the landmark-detection model is cached, able to keep operating without an active internet connection. Overall, the system shows how a fairly simple, well-chosen machine learning pipeline, combined with careful attention to the two very different groups of people it serves, can meaningfully cut the manual workload behind connecting a new sighting to an existing missing-person case. That said, the limitations discussed in this report make clear that, in its present form, the system is best understood as a proof of concept rather than a finished production tool. What it demonstrates is that a lightweight, self-contained, offline-capable matching pipeline is a workable design point for resource-constrained deployments, even where a larger, purpose-trained deep-learning system might eventually reach higher raw accuracy.
References
[1] C. Lugaresi, J. Tang, H. Nash, et al., \"MediaPipe: A Framework for Building Perception Pipelines,\" arXiv preprint arXiv:1906.08172, 2019.
[2] F. Pedregosa et al., \"Scikit-learn: Machine Learning in Python,\" Journal of Machine Learning Research, vol. 12, pp. 2825-2830, 2011.
[3] N. S. Altman, \"An Introduction to Kernel and Nearest-Neighbor Nonparametric Regression,\" The American Statistician, vol. 46, no. 3, pp. 175-185, 1992.
[4] Y. Kortli, M. Jridi, A. Al Falou, and M. Atri, \"Face Recognition Systems: A Survey,\" Sensors, vol. 20, no. 2, Art. no. 342, 2020.
[5] G. Manku, \"Finding Missing Person Using AI\" (open-source project repository), GitHub, 2024.