Project Report
Project Report
1
1. ABSTRACT
Every day in our society, there are children, youth, young women, the mentally handicapped, the
elderly with dementia, etc. Countless people go missing. Although the police department filed a
lawsuit against them. Often times they are very difficult to find. According to the current system,
if a person is found missing, we must report his whereabouts to the nearest police station. After
the complaint, the police will start an investigation by obtaining the necessary information.
This is a time-consuming process that requires a lot of effort. For this reason, we have prepared a
project called "Missing Person Detection System" to make our work easier. We will create a web
application that can send missing persons information and store it in the database. If the
disappearance of a missing person is caught on CCTV, the system can use facial recognition
algorithms to capture it. When the system recognizes a match, it creates custom alerts and locations
and sends them directly to family members and interested researchers.
The "Missing Person Detection System" project introduces a transformative web-based application
designed to revolutionize the search for missing individuals by integrating machine learning and
facial recognition techniques. The project's primary objective is to expedite the search process by
enabling users to upload images of missing persons and suspicious individuals, which are then
cross-referenced against a comprehensive database. Upon finding a match, the system generates
notifications to inform relevant authorities and concerned individuals about the located person's
whereabouts.
The project comprises distinct modules that contribute to its functionality. Users, including family
members and law enforcement, can upload images of missing persons, accompanied by relevant
information, through the "Image Upload" module. The "Face Recognition" module employs
machine learning algorithms to extract and compare facial features, while the "Database
Management" module efficiently organizes and retrieves information from the image repository.
Upon identifying a match, the system generates alerts through the "Alert Generation" module,
notifying authorities and concerned parties via email. The project's future scope includes the
integration of real-time video analysis, allowing for the detection of missing persons using CCTV
cameras and video surveillance. Additionally, a mobile application version is envisioned,
expanding accessibility and usability.
The technology stack employed in the project includes Python as the core programming language,
encompassing image processing and machine learning tasks. Machine learning libraries such as
TensorFlow, or OpenCV are utilized for training the facial recognition model. The web application
is built using the Django framework, providing tools for image uploads, database management,
and user interfaces.
Future development avenues involve enhancing facial recognition accuracy through advanced
algorithms and deep learning techniques. The incorporation of real-time video analysis and the
creation of a mobile application aim to broaden the system's reach and effectiveness. Collaboration
with law enforcement agencies is envisioned to integrate the system into existing databases and
investigative processes.
2
2. INTRODUCTION
In a world driven by technological innovation and a growing need for advanced solutions to
societal challenges, the "Missing Person Detection System" emerges as a transformative project at
the crossroads of compassion and cutting-edge technology. This initiative is motivated by the
critical and time-sensitive nature of locating missing individuals, aiming to redefine the
conventional search and rescue paradigm. By integrating machine learning and facial recognition
technologies into a web-based application, this project seeks not only to expedite the search
process but also to enhance the precision and efficiency of identifying missing persons.
This led us to prepare a project called "Bharatiya Rescue", which facilitates our work number. The
main purpose of " Missing Person Detection System " is to find missing persons using CCTV real-
time video via face recognition and send report to police station with parking spots in newspaper.
also allows ordinary people to upload pictures of strangers. If the complaint number has already
been written about the same person on the portal, it will notify the police
The "Missing Person Detection System" emerges as a groundbreaking initiative at the intersection
of technology and societal well-being. In a world where the timely discovery of missing
individuals is paramount, this project aims to transcend traditional search methods. The purpose is
clear: to create an advanced, user-friendly web-based application that not only expedites the search
process but also maximizes the accuracy of identifying missing persons through the integration of
machine learning and facial recognition technologies.
Beyond its immediate functionalities, the project embraces an expansive scope, recognizing the
dynamic nature of technological advancements. The incorporation of advanced facial recognition
algorithms and machine learning libraries positions the system as a versatile and adaptive tool.
Moreover, the forward-looking scope includes potential integrations such as real-time video
analysis and mobile applications, reflecting a commitment to staying at the forefront of
technological innovation.
In a world driven by technological innovation and a growing need for advanced solutions to
societal challenges, the "Missing Person Detection System" emerges as a transformative project at
the crossroads of compassion and cutting-edge technology. This initiative is motivated by the
critical and time-sensitive nature of locating missing individuals, aiming to redefine the
conventional search and rescue paradigm. By integrating machine learning and facial recognition
technologies into a web-based application, this project seeks not only to expedite the search
process but also to enhance the precision and efficiency of identifying missing persons.
3
main purpose of our work is to create an application that helps to improve the process of finding
missing persons. We focus on helping users and persons suffering from missing persons, those
who may or may not be close to them. The main purpose of this study is to use Haar Cascade, an
uncomplicated real-time algorithm. The purpose of this algorithm is to identify objects, but in our
case, we encounter.
2. Facial Recognition:
• Leveraging advanced machine learning libraries such as TensorFlow and OpenCV,
the system extracts facial features and performs precise face encodings to enhance
accuracy during the matching process.
3. Database Management:
4
• The system maintains an organized and efficient database of images and associated
information, facilitating rapid retrieval and comparison during facial recognition.
4. Alert Generation:
• Upon identifying a match between an uploaded image and a stored image, the
system generates alerts. These notifications are sent to relevant authorities and
concerned individuals via email, providing vital details about the located person's
whereabouts.
5. Technology Stack:
• The system is developed using Python as the core programming language,
supported by machine learning libraries like face-recognition and OpenCV. The
web application is built on the Django framework, providing a robust foundation
for efficient image processing, database management, and user interface design.
5
3. SYSTEM REQUIREMENTS
The system requirements for the "Missing Person Detection System" are instrumental in
translating the project's vision into a tangible and functional application. They define the
parameters within which the system will operate, ensuring it meets the needs and expectations of
its users. The requirements not only serve as a technical guide for developers but also align closely
with the project's overarching goals, such as accelerating the search for missing individuals and
enhancing collaboration with law enforcement agencies.
These system requirements act as a roadmap, providing a clear path for development,
implementation, and maintenance. They set the standards for the technology stack, ensuring
compatibility and efficiency. Additionally, the requirements act as a foundation for future
enhancements, allowing for seamless integration of advanced features like real-time video analysis
and mobile applications.
1. Server:
• High-performance server for hosting the web application.
• Sufficient processing power to handle image processing and machine learning
tasks.
• Adequate storage capacity for the image database.
• In this project we have used our local machine with as server.
2. Storage Devices:
• Large-capacity storage devices for storing images and associated data.
• Redundancy measures (e.g., RAID) to ensure data integrity and availability.
• In this project I have used my SSD (512 GB) for storing the data and hosting the
server.
3. Networking:
• Reliable and high-speed internet connection for seamless image uploads and data
retrieval.
• Network security measures to protect against unauthorized access.
4. Other Requirements:
• RAM 8 GB or more.
• CPU 2.5 GHz.
• Architecture 64 bit.
• GPU: 4 GB
6
3.2 SOFTWARE REQUIREMENTS:
1. Operating System:
• Linux-based server operating system for hosting the web application.
• Compatibility with major operating systems for end-users (Windows, macOS, Linux).
• We have used Windows 11 device.
2. Web Server:
• Deployment of a web server (e.g., Apache, Nginx) to serve the web application.
• Configuration for secure data transmission (HTTPS).
4. Programming Language:
• Python as the core programming language for system development.
5. Web Framework:
• Django web framework for building the web application.
• Django's ORM for database interactions.
7. Version Control:
• Version control system (e.g., Git) for tracking changes to the codebase.
• Our entire codebase is available in GitHub for learning and collaborative purposes.
8. Development Tools:
• Integrated Development Environment (IDE) for coding and debugging (e.g.,
Visual Studio Code, PyCharm).
9. Dependency Management:
• Utilization of package management tools (e.g., pip) for handling Python
dependencies.
7
• Integration with email services for sending alerts (e.g., SMTP) we have used
GMAIL SMPT tool for demonstration purposes.
11. Future Integration Tools (if applicable):
• Tools and libraries for video analysis integration, mobile application development,
and collaboration with law enforcement databases.
3. Face Recognition:
• The system should employ machine learning algorithms for facial recognition.
• Extracted facial features should be compared against stored images for potential
matches.
• Face encodings should be used for accurate matching.
• The system must provide a confidence score for each match.
4. Database Management:
• The system should store and manage a database of images along with associated
information.
• Efficient indexing and retrieval mechanisms should be implemented for quick
comparison during face recognition.
5. Alert Generation:
• When a match is found, the system should generate alerts.
• Alerts should include details about the missing person's location and relevant
information.
• Notification methods, such as email, should be configurable.
8
7. Mobile Application (Future Scope):
• If developed, the mobile application should have functionalities equivalent to the
web-based system.
• Users should be able to upload images and receive alerts on their mobile devices.
1. Performance:
• The system is capable of handling a large number of image uploads and comparisons
efficiently.
• Response times for face recognition and database queries meets acceptable standards.
2. Security:
• User data, especially images and personal information, are securely stored and
transmitted.
• Access controls are to be in place to prevent unauthorized access to sensitive
information.
3. Scalability:
• The system is designed to scale easily to accommodate a growing database and user
base.
4. Reliability:
• The system is reliable, with minimal downtime for maintenance or upgrades.
5. Usability:
• The user interface is intuitive and user-friendly.
• Clear error messages and guidance is provided to users.
6. Compatibility
• The system should be compatible with commonly used web browsers and devices.
• Mobile applications, if developed, should support major operating systems.
7. Future Expandability:
• The system architecture should be designed to facilitate easy integration of future
enhancements.
• Such as improved facial recognition algorithms and real-time video analysis.
9
4. METHODOLOGY
The development methodology of the "Missing Person Detection System" is a meticulously
planned and comprehensive approach that amalgamates cutting-edge technologies to forge a
potent tool dedicated to the expedited location of missing individuals. The primary objective
of this project is to enhance and streamline the search process by incorporating sophisticated
machine learning algorithms and facial recognition techniques seamlessly embedded within a
web-based framework.
1. Django:
• Django, a high-level web framework written in Python, played a pivotal role in the
success of my project by providing a robust and efficient backend structure.
Leveraging Django's Model-View-Controller (MVC) architectural pattern, we
seamlessly integrated databases to store and manage various components of my
project. The Django ORM (Object-Relational Mapping) simplified the interaction
with databases, allowing me to define models and relationships using Python classes,
and automatically handling the underlying SQL queries. This not only streamlined the
development process but also ensured data consistency and integrity.
2. Open CV:
10
OpenCV, an open-source computer vision and machine learning software library,
provided a comprehensive set of tools and algorithms for image and video
analysis. In the context of my project, OpenCV played a crucial role in facial
recognition, image processing, and computer vision tasks.
• The primary utility of OpenCV in my project was evident in its robust facial
recognition capabilities. Leveraging OpenCV's pre-trained deep learning models,
I could efficiently detect and recognize faces in images and video streams. This
capability was seamlessly integrated into the Django backend, allowing for secure
and accurate identification of individuals, which was a core component of my
project.
11
3. Face-recognition library
• Facial Detection:
▪ The face_recognition library uses pre-trained deep learning models to
detect faces in images or video frames.
▪ It identifies the location of faces within the given input and provides
bounding box coordinates.
• Face Encoding:
▪ The library computes facial encodings, which are numerical
representations of facial features.
▪ These encodings serve as unique identifiers for different faces and are
used for face matching and recognition.
• Face Recognition:
▪ The primary purpose of the library is, as the name suggests, face
recognition. It compares the facial encodings of known faces with those in
the input data to identify individuals.
▪ It can recognize faces in images, video streams, or even in real-time
scenarios.
12
▪ In your project, integrating face recognition with Django's database
capabilities would have allowed for seamless storage and retrieval of
information associated with recognized individuals.
13
4.2 USER INTERFACE AND FRONTEND:
The frontend development focuses on creating an intuitive and user-friendly interface using
HTML, CSS, and JavaScript. With Bootstrap for making the website more attractive, this layer
facilitates effective user interaction, incorporating features like image upload and dynamic data
display through AJAX.
1. HTML:
• HTML, the foundational language of the World Wide Web, has been instrumental
in shaping the structure and presentation of our group project's web application.
As the backbone of web development, HTML provided the essential markup for
creating the layout and content structure of our web pages. Utilizing its semantic
elements, we collectively defined the hierarchy of information, from headers and
paragraphs to lists and forms, ensuring a well-organized and accessible
presentation.
• The use of HTML in our project extends beyond static content representation.
Through seamless integration with Django, HTML templates were employed to
dynamically render data retrieved from the backend, creating a dynamic and
responsive user interface. This dynamic generation of content allowed for real-
time updates, ensuring a user-friendly experience for our diverse group of users.
14
2. CSS
• CSS (Cascading Style Sheets) has been a collaborative cornerstone in our group
project, enhancing the visual appeal and user interface design of our web
application. As a collaborative effort, CSS played a crucial role in ensuring a
consistent and aesthetically pleasing presentation across the diverse set of pages
we collectively developed. Collaboratively styling HTML elements, we
maintained a unified brand identity, responsive layouts, and a visually engaging
user experience.
• The collaborative integration of CSS with HTML within our Django framework
allowed us to create dynamic and visually cohesive web pages. Working in
tandem, our group applied CSS styles to HTML elements, ensuring a seamless and
collaborative translation of design concepts into the final user interface. This
collaborative styling approach extended beyond individual contributions, fostering
a cohesive and harmonious visual language throughout the application.
• Moreover, the collaborative nature of CSS was evident in its adaptability across
various devices, promoting a consistent user experience regardless of the platform.
Our group worked collaboratively to implement responsive design principles,
allowing the application to gracefully scale and adapt to different screen sizes and
orientations.
3. JavaScript
• JavaScript, as a collaborative tool in our group project, has been instrumental in
elevating the interactivity and functionality of our web application. Our collective
efforts with JavaScript allowed us to implement dynamic features, real-time
updates, and client-side interactions that enhance the overall user experience.
15
Collaboratively embedded within our HTML and Django framework, JavaScript
played a key role in enabling asynchronous data retrieval, form validation, and
other interactive elements that collectively contribute to a seamless and responsive
application.
4. Bootstrap
• Bootstrap, as a collaborative tool in our group project, has played a pivotal role in
streamlining the design and responsiveness of our web application. Working
collaboratively with Bootstrap, we leveraged its powerful grid system, pre-
designed components, and responsive utilities to create a consistent and visually
appealing user interface across our diverse set of pages. The collaborative adoption
of Bootstrap's CSS framework allowed our group to achieve a cohesive design
language and maintain a professional aesthetic throughout the application.
16
• Our collaborative use of Bootstrap's components facilitated rapid development and
enhanced the overall consistency of our project. By utilizing its predefined
navigation bars, modals, and form components, our group collectively reduced
development time and ensured a cohesive and polished look and feel across
different sections of the application.
1. Django-ORM
Django ORM, being an integral part of the Django web framework, enables us to interact
with the database using Python code and classes, abstracting away the intricacies of raw
SQL queries. This collaborative approach to data management ensured a standardized and
maintainable way of handling database operations.
17
By utilizing Django ORM's model system, we could define data models using Python
classes, establishing a direct mapping between our application's data structure and the
underlying database schema. This collaborative approach to defining models facilitated
better communication among team members, as the database schema was expressed in a
language familiar to all Python developers in our group.
Moreover, Django ORM promotes the use of migrations, allowing for version control of
the database schema. Collaboratively applying migrations ensured that database changes
were systematically tracked and applied, eliminating potential conflicts and ensuring a
synchronized development environment among our group members.
The collaborative integration of Django ORM in our project also enhanced data security
through its built-in protection against SQL injection attacks. The ORM automatically
escapes parameters in queries, reducing the risk of malicious database manipulations. This
collaborative security measure ensured that our application maintained robust data
integrity and protection against potential vulnerabilities.
In terms of productivity, the collaborative use of Django ORM significantly reduced the
amount of boilerplate code traditionally associated with database interactions. The
framework provided a high-level, Pythonic API for querying the database, fostering a
collaborative and efficient development process.
To summarize, Django ORM has played a pivotal role in our project's methodology,
providing a collaborative and efficient means of interacting with the database. Its
collaborative features, including model definition, migrations, and security measures,
have collectively contributed to a streamlined development process and ensured the
integrity and efficiency of our data management system. The collaborative integration of
Django ORM underscores its importance in our project methodology, enabling us to
collectively build a robust and scalable web application.
2. SQLite Database
SQLite, being a lightweight, embedded relational database management system, has
proven to be a collaborative and efficient choice for our project's data storage needs.
Its simplicity and ease of use have significantly contributed to the smooth functioning
of our application.
The collaborative use of SQLite in our project allowed for seamless integration with
the Django web framework. Django supports SQLite as one of its databases backends,
and this collaborative decision simplified the setup process, enabling our team
members to work with a consistent and easily replicable database environment.
The collaborative nature of SQLite was particularly beneficial during the development
phase. Its serverless architecture eliminated the need for complex database setup
procedures, fostering a collaborative and hassle-free environment for team members to
collaborate on various aspects of the project. Additionally, SQLite's support for in-
18
memory databases facilitated efficient testing and debugging processes, allowing our
group to collectively identify and resolve issues rapidly.
The collaborative integration of SQLite also contributed to the portability of our
application. Since SQLite databases are self-contained and stored as a single file,
sharing and deploying the database across different environments became a
collaborative and straightforward process. This collaborative feature streamlined our
development workflow, ensuring consistency across various development
environments.
Moreover, the collaborative decision to use SQLite aligns with the scalability
requirements of our project. While SQLite may be considered lightweight, its
collaborative use within the Django framework provides the flexibility to transition to
more robust database systems seamlessly if the project's scale demands it in the future.
The system's communication features are designed to keep concerned individuals and
authorities informed in real-time. Email notifications are integrated for user registration, and
a dynamic notification system is implemented to alert relevant parties when a match is found
during the facial recognition process. This ensures timely and effective communication
throughout the search process.
• SMTP Integration:
19
SMTP serves as the underlying protocol for sending emails, and Django seamlessly
integrates with SMTP servers. Our collaborative decision to configure Django's email
backend to use SMTP ensures that our application benefits from the reliability and
widespread support of SMTP for email communication. This integration allows for the
secure and efficient transmission of emails, with additional support for TLS encryption
and authentication credentials for enhanced security.
In summary, the collaborative incorporation of Django's email tools and SMTP in our project's
methodology establishes an efficient, reliable, and secure email communication system. This
collaborative approach aligns with industry standards, enhances user engagement, and
contributes to effective communication within the application, showcasing the importance of
collaborative practices in shaping the methodology of our project.
20
include the ability to add, edit, update, and delete missing person records, enabling effective
management and control over the system's database.
• User Management:
The administrative panel allows administrators to manage user accounts efficiently. This
includes the ability to create new user accounts, modify existing user details, and
deactivate or delete user accounts if necessary.
FUTURE SCOPE:
• The project's vision extends beyond its initial implementation, encompassing various
future enhancements. These include the integration of improved facial recognition
algorithms, real-time video analysis capabilities, the development of a mobile application,
collaboration with law enforcement agencies, and the establishment of a continuous model
training mechanism. These initiatives aim to keep the system at the forefront of
technological advancements, ensuring its continued effectiveness and relevance
21
5. SYSTEM DESIGN AND SPECIFICATIONS
The "System Design and Specifications" chapter serves as the conceptual framework and
technical blueprint that delineates the intricacies of the project's architecture and
functionalities. This crucial phase transforms the abstract concept of the project into a
well-defined and structured system, laying the foundation for its development,
implementation, and subsequent phases. This chapter encapsulates a comprehensive
overview of the design principles, technological specifications, and architectural decisions
that collectively shape the project's trajectory.
In the realm of system design, meticulous planning and strategic decision-making are
paramount. The objective is to conceptualize an efficient, scalable, and robust system that
aligns seamlessly with the project's objectives. This involves delineating the system's
architecture, defining its components, specifying data management strategies, and
detailing the interactions between various modules. Furthermore, the chapter delves into
the user interface design, illustrating how the end-users will interact with the system and
ensuring an optimal user experience.
The specifications within this chapter act as a set of guidelines, detailing the technologies,
tools, and methodologies employed in the project's development. From the selection of a
specific programming language to the choice of database management systems, these
specifications serve as the project's technological compass. Additionally, security
considerations, scalability measures, and performance optimization strategies are
addressed to ensure the system's resilience and responsiveness.
5. 1 PROJECT MODEL
Input Image / Register Case:
Users initiate the system by providing an input image or registering a case. This can be
done through the system's user interface or an API endpoint.
Get Registered:
The system processes the registration, storing relevant details in the database. This
includes user information, case details, and a reference to the provided image.
22
Description: If a face is successfully detected, the system triggers actions such as
sending email notifications and alerts to notify relevant parties. This could include case
investigators, administrators, or other designated individuals.
23
5.2 DATA FLOW DIAGRAM
A Data Flow Diagram (DFD) is a graphical representation that depicts the flow of data
within a system. It illustrates how data is input, processed, and output in a system,
highlighting the interactions between different components. DFDs use various symbols
to represent processes, data stores, data flows, and external entities, providing a visual
and intuitive way to understand the flow of information within a system.The Data Flow
Diagram provides a visual representation of the flow of data within the "Missing Person
Detection System," illustrating the processes, data sources, and interactions between
different components. The DFD for this system can be outlined as follows:
• External Entities:
User (Uploader): Represents individuals such as family members or law
enforcement personnel who upload images of missing persons.
System: Represents the "Missing Person Detection System."
• Processes:
Image Upload Process:
Inputs: Images of missing persons along with relevant information.
Outputs: Uploaded images stored in the database.
• Data Stores:
Image Database:
Stores images and relevant information uploaded by users.
Accessed and updated by the Image Upload and Database Management processes.
24
Alert Log:
Stores information about generated alerts.
Accessed and updated by the Alert Generation process.
• Data Flows:
Image Upload Data Flow:
Carries images and information from the User to the Image Upload Process.
25
5.3 CLASS DIAGRAM
A Class Diagram is a type of UML (Unified Modeling Language) diagram that
represents the structure of a system by illustrating the classes, their attributes, methods,
and relationships between classes. It provides a blueprint for the objects that will be
created within a system and their interactions. In the context of the "Missing Person
Detection System" project, a Class Diagram can help to define the classes involved in
the system and how they collaborate.
Now, let's outline some potential classes for the "Missing Person Detection System"
project and their relationships:
• User Class:
Attributes: UserID, Username, Email
Methods: UploadImage(), ViewAlerts()
• DataBase Class:
Attributes: ImageID, Name, Email, Location
Methods: ProcessImage(), StoreImage()
• FacialRecognition Class:
Attributes: Model, Threshold
Methods: RecognizeFace(), ExtractFeatures()
• DatabaseManager Class:
Attributes: ImageDatabase, LocationDatabase
Methods: AddToDatabase(), UpdateDatabase()
• Alert Class:
Attributes: AlertID, Timestamp, Location
Methods: GenerateAlert(), SendAlert().
• System Class:
Attributes: ImageProcessor, FaceRecognitionModule, DatabaseManager,
AlertSystem
Methods: InitializeSystem(), ProcessImageUpload()
• Potential Relationships:
Association between User and Image: Users upload images.
Association between Image and FacialRecognition: Images are processed for
facial recognition.
Association between Image and DatabaseManager: Images are stored in the
database.
26
Association between FacialRecognition and DatabaseManager: Face features are stored
and retrieved from the database.
Association between FacialRecognition and Alert: Alerts are generated based on facial
recognition results.
Association between User and Alert: Users receive alerts.
27
5.4 ER DIAGRAM
An Entity-Relationship (ER) diagram is a visual representation of the data model that
describes the structure of a database, including the entities, their attributes, and the
relationships between entities. ER diagrams are useful in understanding the data
requirements of a system and are often used in database design.
1. Entities:
MissingPerson:
Attributes:
➢ first_name
➢ last_name
➢ father_name
➢ date_of_birth
➢ address
➢ email
➢ phone_number
➢ aadhar_number
➢ image
➢ missing_from
➢ gender
Location:
Attributes:
➢ missing_person (Foreign Key referencing MissingPerson)
➢ latitude
➢ longitude
➢ detected_at
2. Relationships:
MissingPerson - Location Relationship:
There is a one-to-many relationship between MissingPerson and Location.
Each MissingPerson can have multiple Location entries (indicating different places
where they were detected), but each Location is associated with only one
MissingPerson.
3. Explanation:
The MissingPerson entity represents information about a missing person, including
personal details such as name, date of birth, contact information, etc.
The Location entity represents the locations where a missing person was detected.
This entity is linked to the MissingPerson entity through a foreign key relationship.
The missing_person attribute in the Location entity serves as a foreign key that
references the primary key (ID) of the corresponding MissingPerson.
28
Figure 6 ER Diagram
The primary purpose of the Activity Diagram is to depict the sequence of activities and
interactions between users and system components. It helps stakeholders, including
developers and administrators, understand how the system functions and how different
activities are interconnected.
• Users:
User (Uploader):
Individuals such as family members or law enforcement personnel who upload
images of missing persons.
29
• Admin:
An authorized user who can perform CRUD (Create, Read, Update, Delete)
operations on the system.
▪ Create: Add new records, such as details of a new missing person.
▪ Read: Access information, view alerts, and review missing person’s data.
▪ Update: Modify existing records, like updating details of a missing person.
▪ Delete: Remove records, for instance, marking a case as resolved.
• End Process:
End:
The diagram concludes with an end node, indicating the end of the entire process.
Real-Time Notifications:
Explore the possibility of integrating real-time notifications for concerned
individuals, providing immediate updates on missing person detections.
30
5.6 USE CASE DIAGRAM
A Use Case Diagram is a visual representation of the interactions between different
actors (users or external systems) and a system. It illustrates the functionalities a system
should provide from the perspective of end users. A Use Case Diagram is a visual
representation of the interactions between different actors (users or external systems)
and a system. It illustrates the functionalities a system should provide from the
perspective of end users.
Use Cases:
• Upload Image:
Actors: User
Description: Allows users to upload images of missing persons.
• Manage Database:
Actors: Administrator
Description: Involves adding, updating, or removing images and associated
information from the database.
• Generate Alert:
Actors: System
Description: Sends alerts to authorities and users when a match is found.
Associations:
31
Figure 8 Use Case Diagram
32
6 TESTING
Testing is a critical phase in the development lifecycle of the "Missing Person Detection
System." It ensures that the system functions as intended, meets the specified
requirements, and is free from defects. The testing process involves various types of
testing, including unit testing, integration testing, and system testing, to guarantee the
reliability and effectiveness of the system.
The overarching goal of testing in software development is to ensure that the software
behaves as expected and meets the specified requirements. Testing is an iterative process
that spans the entire software development life cycle, from the initial stages of coding to
the final deployment and maintenance. It encompasses various levels, including unit
testing, integration testing, system testing, and acceptance testing, each serving a unique
purpose in ensuring the quality and reliability of the software.
Software testing is a crucial part of the software development life cycle. Without it, app-
breaking bugs that can negatively impact the bottom-line may go undetected. Over time,
as applications get more complex, software testing activities have also evolved, with many
new techniques and approaches introduced.
The road of software development is bumpy, and products can always be vulnerable to
bugs and defects. It is necessary to ensure that software works as expected before being
released to the market. Here are several reasons why software testing is essential:
33
• Identify vulnerabilities that can save company costs and even human lives
Financial, medical, legal software or any types of software in the YMYL (Your Money
Your Life) field deal with sensitive information. Software applications built for these
fields can’t afford to undergo crashes, data corruption, or system failures, even at small
scale, because the lives of so many people will be affected. Errors in these software’s
may cause irreversible damage and put the company at risk of litigation. Software
testing is there to protect companies from such risk.
TYPES OF TESTING:
Different types of software testing can be classified into multiple categories based on
test objectives, test strategy, and deliverables. Currently, there are two major software
testing types that Quality Assurance professionals frequently use, including:
Objective:
Validate individual components to ensure they function correctly in isolation.
Components Tested:
Image Upload Functionality:
Test that the system correctly handles image uploads, stores them in the designated
directory, and updates the database with relevant information.
Outcome:
Individual components function correctly in isolation.
34
6.2 INTEGRATION TESTING
Integration testing becomes crucial as the development process progresses, and
individual units are combined to create a functioning system. This type of testing
verifies the interactions between these integrated components, ensuring that they work
together seamlessly. Integration testing can take various approaches, including top-
down, where testing progresses from higher-level components to lower-level ones, or
bottom-up, which tests from the smallest units upward. The goal is to identify and
rectify any issues arising from the collaboration of integrated components.
Objective:
Validate the interaction between different components, ensuring they work together
seamlessly.
Scenarios Tested:
Outcome:
Components work together seamlessly without integration issues.
35
Objective:
Validate the entire system, ensuring it functions as a cohesive unit.
Scenarios Tested:
End-to-End Missing Person Registration:
Simulate the entire process of a user registering a missing person, including image
upload, facial recognition, and database updates.
Outcome:
The system performs as expected, meeting user requirements.
Objective:
Confirm that the system meets user expectations.
Scenarios Tested:
Uploader (User):
Test the user registration process, image upload, and response to alerts.
Admin:
Validate CRUD operations, ensuring the admin can efficiently manage missing
persons' data.
Outcome:
Positive feedback from users, indicating that the system meets their needs.
36
6.5 COMPATIBILITY TESTING
Compatibility testing is a type of software testing that ensures a particular application
or system functions correctly across different environments, devices, browsers,
operating systems, and network configurations. The goal is to verify that the software
provides a consistent and reliable user experience regardless of the varied conditions
under which it may be used. This testing helps identify potential issues related to
compatibility and ensures that the software is accessible and functional for all users.
Compatibility testing is particularly important in today's diverse technology
landscape, where users may access applications on a wide range of devices and
platforms.
The integration of Compatibility Testing and Regression Testing forms a powerful
quality assurance strategy. Compatibility Testing ensures that the software is adaptable
to the diverse technological landscapes in which it operates, while Regression Testing
safeguards against unintended consequences of ongoing development efforts.
Together, they contribute to the creation of a resilient and user-friendly software
product. As the software evolves, Compatibility Testing validates its flexibility, and
Regression Testing ensures that this evolution does not compromise the established
functionality. This synergistic approach is essential for delivering software that not
only meets the initial requirements but also stands the test of time, providing a
seamless and reliable experience for end-users across different environments and
iterations.
Objective:
Validate system functionality across different browsers and devices.
Scenarios Tested:
Browser Compatibility:
Confirm consistent performance and appearance on various web browsers (Chrome,
Firefox, Safari, Edge).
Device Compatibility:
Ensure a responsive design that adapts to different screen sizes on desktops, laptops,
tablets, and smartphones.
37
Regression Testing is crucial in agile development environments where frequent
updates and iterations are common. It involves executing a subset of test cases from
the entire test suite to ensure that new changes do not negatively impact previously
validated features. Automation is often employed in Regression Testing to streamline
the process, allowing for swift feedback on the application's overall health after each
development cycle. The primary objective is to catch and rectify defects promptly,
preventing the reoccurrence of issues that were previously addressed.
Objective:
Confirm that recent changes do not introduce new issues or impact existing features
negatively.
Scenario:
After introducing new features or fixing bugs, perform regression testing to ensure that
existing functionalities remain unaffected.
38
7 OUTPUT
The Output section serves as a visual documentation of the tangible outcomes and user
interfaces generated by the project. In this segment, we present a collection of screenshots,
graphics, and other visual representations that encapsulate the key functionalities, features, and
user interactions within the developed system. These visual outputs not only provide a glimpse
into the aesthetics of the project but also serve as a valuable resource for stakeholders, enabling
them to visually comprehend the project's progress, functionalities, and overall user
experience. The subsequent pages delve into specific aspects of the project, offering detailed
insights into the visual elements that contribute to the project's success.
39
Figure 10 UI and UX of website
Figure 11 WebPage
40
Figure 12 Registration Page
41
Figure 13 Registeration Mail
42
Figure 15 Sending Alert
43
Figure 17 Admin Dashboard
44
Figure 18 More Features
45
Figure 19 Face Detection
46
8. CONCLUSION
In conclusion, the "Missing Person Detection System" stands as a testament to the
intersection of technology and social responsibility, providing an innovative solution to a
critical societal issue. The integration of Python programming, machine learning, and web
development has resulted in a powerful tool that has the potential to significantly impact
the search and rescue efforts for missing individuals.
We would like to express our sincere gratitude to Dr. AVS Pavan Kumar, our esteemed
project guide, for his unwavering support, guidance, and expertise throughout the
development of this system. His mentorship has been instrumental in shaping the project
and ensuring its success. The Department of Computer Science and Engineering at GIET
University deserves special thanks for providing the platform and resources that made this
project possible.
We are also deeply appreciative of the collaborative efforts of our friends and peers who
contributed to this project. Their dedication, teamwork, and shared enthusiasm played a
pivotal role in overcoming challenges and achieving our goals. Together, we have not only
developed a functional system but have also created a foundation for future advancements
and enhancements.
As we look ahead, the "Missing Person Detection System" holds immense potential for
growth and improvement. The envisioned future scopes, including enhanced facial
recognition, real-time video analysis, mobile application development, and collaboration
with law enforcement, demonstrate the commitment to ongoing refinement and expansion.
By continuously evolving and incorporating cutting-edge technologies, the system can
further strengthen its impact in aiding authorities and families in locating missing persons.
In conclusion, we are proud to have been part of a project that embodies the spirit of
technological innovation for the greater good. The "Missing Person Detection System" not
only showcases the capabilities of modern technology but also underscores the importance
of collaboration, mentorship, and a shared vision for creating solutions that address real-
world challenges.
47
9. LIMITATIONS AND FUTURE ENHANCEMENTS
Local Machine Dependency:
Limitation: The project currently operates on a local machine, restricting accessibility and
scalability.
Enhancement: Future iterations could involve deploying the system on cloud platforms,
ensuring widespread availability and efficient resource utilization.
Accuracy Challenges:
Limitation: The project may not always provide accurate results, posing challenges in
critical situations.
Enhancement: Ongoing refinement of the facial recognition model and incorporating
advanced algorithms can improve accuracy and reliability.
Scaling Difficulties:
Limitation: Scaling the project for a large number of users may introduce complexities
and impact performance.
Enhancement: Implementing scalable database management solutions and load balancing
techniques can address issues related to scalability.
48
No Cloud Deployment:
Limitation: The absence of cloud deployment restricts accessibility and real-time updates
for users.
Enhancement: Deploying the system on cloud services like AWS, Azure, or Google
Cloud can provide a scalable and reliable infrastructure.
Security Concerns:
Limitation: The project currently lacks robust security measures, potentially exposing
sensitive data.
Enhancement: Implementing encryption protocols, secure user authentication, and data
privacy measures can enhance the system's security.
49
10.BIBLIOGRAPHY
1. Bootstrap: www.bootstrap.com
Source: Official website of Bootstrap, a popular open-source front-end framework.
2. ChatGPT:
Source: Developed by OpenAI, ChatGPT is a language model based on the GPT-3.5
architecture.
3. Django: https://www.djangoproject.com/
Source: Official website of Django, a high-level Python web framework used in the
development of the "Missing Person Detection System."
5. GitHub: https://github.com/
Source: GitHub, a collaborative platform hosting the project's source code and
facilitating version control.
9. YouTube: https://www.youtube.com/
Source: YouTube, a potential platform for hosting project-related tutorials,
presentations, or demonstrations.
50