A prototype surveillance system that recognizes people on a wanted list from a camera feed using face-recognition and OpenCV, logging each match with a timestamp in SQLite.

A project to develop a prototype smart surveillance system that recognizes wanted persons through face recognition, carried out by a team of students with technical assistance from Techno Enjaz. The system loads the facial features of people registered in a database, then analyzes camera frames in real time and compares the faces it sees with them, showing the person's name and logging it with a timestamp on a match, or labeling the face "Unknown" when there is no match.
The prototype was built in Python within Anaconda and Jupyter Notebook, using the face-recognition library with OpenCV, MediaPipe, NumPy/PIL, and Pandas, and an SQLite3 database for recognition logs. In the long term the project targets a distributed camera network in public places such as airports, shopping centers, and border crossings, but what the report documents in practice is a functional test with one registered person, without numerical accuracy measurements.
| Item | Details |
|---|---|
| Project type | Prototype surveillance system based on face recognition |
| Field | Computer vision, deep learning, smart surveillance systems |
| Project status | Prototype functionally tested through a "Combined Cameras" interface |
| Techno Enjaz role | Technical support and assistance to the students during project development |
| Core technologies | Python, face-recognition, OpenCV, MediaPipe, NumPy, PIL, Pandas, SQLite3, Jupyter Notebook, Anaconda |
| Outputs | Real-time recognition of registered faces, flagging of unknown faces, timestamped recognition log in the database |
Traditional security monitoring relies on staff reviewing images and videos for hours, which increases the chance of human error and delays the response; manual monitoring also struggles to cover multiple sites, and continuous human monitoring requires large budgets. The project proposes automating part of this process with face-recognition algorithms, so that a person on a predefined list is detected automatically and an alert is raised without constant human watching.
The project was carried out academically by the students, with technical assistance and support from Techno Enjaz during development. It is presented among the office's work as an example of its support for computer vision projects that link face recognition with databases.
The algorithm flowchart in the report describes the following path:
| Tool | Role in the project |
|---|---|
| Python | Main programming language |
| Jupyter Notebook | Writing and running code and viewing results interactively |
| Anaconda | Managing virtual environments and packages |
| face-recognition | Detecting faces, analyzing their features, and matching them with stored images |
| OpenCV | Reading cameras and displaying, enhancing, and converting images |
| MediaPipe | Extracting facial landmarks and analyzing motion |
| NumPy and PIL | Representing images as numerical data and opening and converting image formats |
| Pandas | Organizing and analyzing data |
| SQLite3 | Storing detected-face data: name, time, and camera ID |
The report shows a practical test of the program's "Combined Cameras" interface:
| Case | What appeared in the test |
|---|---|
| Pre-registered person | A green box around the face with the registered name, and a text log repeating the name with a timestamp (14-08-2025 at 20:08:49) |
| Unregistered person | A box around the face labeled "Unknown (ID: 1)" in red, and a text log repeating the word Unknown |
| Database | An empty table prepared before running, then a record containing the name, ID 1, and the timestamp, with the camera_id field left empty |
The report describes the system as achieving high accuracy and fast response in varied environments, but it gives no numerical values for recognition accuracy, error rates, or processing time, nor the number of people or images used in testing. The results here are therefore read as a functional proof of a prototype, not an evaluation of an operational system.
According to the directions set out in the project:
Systems of this kind process face images and biometric data of people in public places. The report itself notes the controversy surrounding face-recognition surveillance and the need to comply with data protection laws and balance public security with individual rights. Any real-world use therefore requires a clear legal basis, an authorized operator, controls on data access and retention, and human review of any match before action is taken.
If you are working on a deep-learning face-recognition system and need technical help developing the idea or building a prototype, you can contact the Techno Enjaz office to discuss your project's requirements and the appropriate scope of support.
A prototype smart surveillance system that uses face recognition to identify people pre-registered on a list by analyzing camera frames in real time and comparing them with a database. It was built by a team of students with technical assistance from Techno Enjaz and targets public places such as airports and border crossings in the future.
The system loads stored face features, then receives camera frames, resizes them, extracts the features of the faces in them, and compares them with the stored ones. On a match it shows the name, triggers the alarm, and logs the event with a timestamp; otherwise it labels the face Unknown with a numeric ID.
Python within Anaconda and Jupyter Notebook, the face-recognition library for detecting and matching faces, OpenCV for camera input and image processing, MediaPipe, NumPy, PIL, and Pandas, and an SQLite3 database storing the name, detection time, and camera ID.
The report documents a test of the Combined Cameras interface in which the system recognized a registered person and logged their name with a timestamp, and labeled an unregistered person Unknown (ID: 1), saving the log in SQLite. It gives no numerical accuracy values or test-set size, so these are functional prototype results.
The prototype was tested on limited cases, with no evaluation in crowds or on a large database, is affected by lighting and angles, and no actual distributed camera network was documented. Because it processes biometric data in public places, any real use requires a legal basis, an authorized operator, and human review of every match.
Reach out to Techno Enjaz engineering team to discuss technical feasibility, prototype hardware, and development scope.