π§ CNN-Based Framework for Missing Person Identification and Violence Detection Using Deep Learning and Distributed Processing
CNN-Based Framework for Missing Person Identification and Violence Detection Using Deep Learning and Distributed Processing
This project leverages deep learning and distributed computing to solve two critical problems in surveillance systems:
- Missing Person Identification β Detect and recognize missing individuals using CNN-based face recognition.
- Violence Detection β Analyze video frames to detect violent activities using a trained CNN model.
The project integrates a user-friendly UI with a backend powered by Apache Spark for distributed processing, making it scalable for large-scale surveillance footage analysis.
- Face Recognition: Detect and match faces using a trained CNN model.
- Violence Detection: Classify actions as violent or non-violent using video analysis.
- UI Panel: A simple Python UI for interacting with both functionalities.
- Distributed Processing: Spark-based data processing for efficient performance on larger datasets.
- Report Generation: Create summaries/statistics of detections.
ui.py: Main UI interface.missing_person_detection.py: Contains face recognition logic.violence_detection.py: Contains violence classification logic.spark_processing.py: Spark-based processing logic.report_generation.py: Generates detection reports.start_cluster.py: Starts Spark cluster for distributed mode.
ββββββββββββββββββββββββββββββ
β User Interface β
β (Tkinter-based UI) β
ββββββββββββββ¬ββββββββββββββββ
β
ββββββββββββββΌββββββββββββββββ
β Input Media (Images/Videos)β
ββββββββββββββ¬ββββββββββββββββ
β
βββββββββββββββββββββββββΌβββββββββββββββββββββββ
β Preprocessing Module β
β (Resizing, Normalization, Face Extraction) β
βββββββββββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ
β Deep Learning Inference β
β ββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ β
β β Face Recognition (CNN)β β Violence Detection (CNN) β β
β ββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
βββββββββββββββΌββββββββββββββ
β Distributed Processing β
β (Apache Spark) β
βββββββββββββββ¬ββββββββββββββ
β
βββββββββββββββΌββββββββββββββ
β Report Generation β
β (PDF, Stats, Logging) β
βββββββββββββββ¬ββββββββββββββ
β
βββββββββββββββΌββββββββββββββ
β Output Results β
β (UI + Logs + Reports) β
βββββββββββββββββββββββββββββ
- Python
- OpenCV
- PyTorch / facenet-pytorch
- Apache Spark (PySpark)
- Tkinter (for UI)
- NumPy, Matplotlib
- FPDF (PDF Report)
- Python 3.8+
- Java 8+
- Apache Spark
- Virtual environment (recommended)
pip install -r requirements.txtProject Developer
B Akash Krishna β B.Tech AI & ML, KTU β 6th Semester
π§ Email: akash199699@gmail.com
π GitHub: @akash199699
This project was developed as part of the mini project under the university curriculum. Special thanks to our mentors for their guidance, and teammates Anandhu S Kumar and Jewel Saji for their collaboration.