You are on page 1of 56

SAVITRIBAI PHULE PUNE UNIVERSITY

A PROJECT REPORT ON

PROJECT TITLE

SUBMITTED TOWARDS THE


PARTIAL FULFILLMENT OF THE REQUIREMENTS OF

BACHELOR OF ENGINEERING (Computer


Engineering)
BY
Student Name Exam No:
Student Name Exam No:
Student Name Exam No:
Student Name Exam No:

Under The Guidance of

Prof. Guide Name

Department of Computer Engineering


DR.D.Y.PATIL INSTITUTE OF TECHNOLOGY
PIMPRI, PUNE
A.Y 2023-2024

1
DR.D.Y.PATIL INSTITUTE OF TECHNOLOGY
Department of Computer Engineering

CERTIFICATE

This is to certify that the Project Entitled


PROJECT TITLE
Submitted by
Student Name Exam No:
Student Name Exam No:
Student Name Exam No:
Student Name Exam No:
is a bonafide work carried out by Students under the supervision of Prof.
Guide Name and it is submitted towards the partial fulfillment of the re-
quirement of Bachelor of Engineering (Computer Engineering).

Prof. Guide Name Prof. HOD Name


Internal Guide H.O.D
Dept. of Computer Engg. Dept. of Computer Engg.
Dr. Lalit Wadhwa
Principal
DIT,Pimpri

Signature of Project co-ordinator Signature of External Examiner

2
PROJECT APPROVAL SHEET

A Project Title

(Project Title)

Is successfully completed by

Aditya Nawadkar Exam No:B190244300


Rajwardhan Gharge Exam No:B190244294
Siddhant Shinde Exam No:B190244471
Rameshwar Gonge Exam No:B190244300
at

DEPARTMENT OF COMPUTER ENGINEERING

(Dr.D.Y.Patil Institute of Technology)

SAVITRIBAI PHULE PUNE UNIVERSITY,PUNE

ACADEMIC YEAR 2023-2024

Prof. Guide Name Prof. HOD Name


Internal Guide H.O.D
Dept. of Computer Engg. Dept. of Computer Engg.

3
Dr.D.Y.Patil Institute of Technology, Department of Computer Engineering
2023-24 0

I
Abstract

In an era dominated by digital media, image forgery has become a pervasive issue with
far-reaching consequences. This final year project report presents a comprehensive
investigation into ”Image Forgery Detection Using Deep Learning.” The project’s core aim
is to harness the power of Convolutional Neural Networks (CNNs) and cutting-edge deep
learning techniques to effectively identify manipulated images. By training the neural
networks on diverse datasets containing both authentic and manipulated images, the
project equips them to discern subtle patterns and artifacts introduced during image
forgery. The project also explores various image manipulation techniques to create a
robust benchmark for forgery detection. Additionally, it provides a user-friendly web
interface for users to upload images and assess their authenticity. The system’s
performance is rigorously evaluated, with key metrics such as accuracy, precision, recall,
and F1-score used to determine its efficacy in distinguishing authentic and manipulated
images. This research has significant implications, contributing to the preservation of
digital image authenticity in fields like journalism, forensics, and content moderation. The
project report details the methodology, results, and encountered challenges, offering
valuable insights for further advancements and real-world applications in the domain of
image forensics. It exemplifies the potential of deep learning in combatting the widespread
issue of image forgery in the digital age.

II
Acknowledgments

Please Write here Acknowledgment.Example given as


It gives us great pleasure in presenting the preliminary project report on ‘Image
Forgery Detection using Deep Learning ’.

I would like to take this opportunity to thank my internal guide Prof. S i n u


N a m b i a r for giving me all the help and guidance I needed. I am really
grateful to them for their kind support. Their valuable suggestions were
very helpful.

I am also grateful to Prof. , Head of Computer Engineering Department,


CollegeName for his indispensable support, suggestions.

In the end our special thanks to Other Person Name for providing various
resources such as laboratory with all needed software platforms, continuous
Internet connection, for Our Project.

Student Name1
Student Name2
Student Name3
Student Name4
(B.E. Computer Engg.)

III
Contents

1 Synopsis XII
1.1 Project Title ....................................................................................XII
1.2 Project Option ............................................................................... XII
1.3 Internal Guide ................................................................................. XII
1.4 Sponsorship and External Guide ................................................... XII
1.5 Technical Keywords (As per ACM Keywords) .............................. XII
1.6 Problem Statement ........................................................................ XIII
1.7 Abstract ........................................................................................ XIII
1.8 Goals and Objectives ...................................................................... XIII
1.9 Relevant mathematics associated with the Project ........................ XIII
1.10 Names of Conferences / Journals where papers can be publishedXIV
1.11 Review of Conference/Journal Papers supporting Project idea XIV
1.12 Plan of Project Execution............................................................... XIV

2 Technical Keywords XV
2.1 Area of Project ................................................................................ XV
2.2 Technical Keywords ........................................................................XV

3 Introduction XVI
3.1 Project Idea..................................................................................... XVI
3.2 Motivation of the Project ................................................................ XVI
3.3 Literature Survey ........................................................................... XVI

4 Problem Definition and scope XVII


4.1 Problem Statement ........................................................................ XVII
4.1.1 Goals and objectives........................................................... XVII
4.1.2 Statement of scope .............................................................. XVII
4.2 Major Constraints .......................................................................... XVII
4.3 Methodologies of Problem solving and efficiency issues................. XVIII
4.4 Outcome ........................................................................................ XVIII
4.5 Applications................................................................................... XVIII

IV
4.6 Hardware Resources Required ......................................................... XVIII
4.7 Software Resources Required ........................................................... XVIII

5 Project Plan XIX


5.1 Project Estimates ........................................................................... XIX
5.1.1 Reconciled Estimates ......................................................... XIX
5.1.2 Project Resources .............................................................. XIX
5.2 Risk Management w.r.t. NP Hard analysis ................................... XIX
5.2.1 Risk Identification ............................................................XIX
5.2.2 Risk Analysis ..................................................................... XX
5.2.3 Overview of Risk Mitigation, Monitoring, Management XX
5.3 Project Schedule ............................................................................ XXIII
5.3.1 Project task set ................................................................... XXIII
5.3.2 Task network ..................................................................... XXIII
5.3.3 Timeline Chart .................................................................... XXIII
5.4 Team Organization ........................................................................ XXIII
5.4.1 Team structure .................................................................... XXIII
5.4.2 Management reporting and communication........................ XXIII

6 Software requirement specification XXIV


6.1 Introduction .................................................................................. XXIV
6.1.1 Purpose and Scope of Document ........................................ XXIV
6.1.2 Overview of responsibilities of Developer ............................ XXIV
6.2 Usage Scenario ............................................................................... XXIV
6.2.1 User profiles......................................................................... XXIV
6.2.2 Use-cases ............................................................................. XXIV
6.2.3 Use Case View ..................................................................... XXV
6.3 Data Model and Description ........................................................... XXVI
6.3.1 Data Description ................................................................ XXVI
6.3.2 Data objects and Relationships........................................... XXVI
6.4 Functional Model and Description .................................................. XXVI
6.4.1 Data Flow Diagram ............................................................. XXVI
6.4.2 Activity Diagram: .............................................................. XXVI
6.4.3 Non Functional Requirements: ........................................... XXVI
6.4.4 State Diagram:.................................................................... XXVII
6.4.5 Design Constraints ............................................................. XXVII
6.4.6 Software Interface Description ............................................. XXVII

7 Detailed Design Document using Appendix A and B XXVIII


7.1 Introduction ................................................................................... XXVIII
7.2 Architectural Design ........................................................................ XXVIII

7.3 Data design (using Appendices A and B) ..................................... XXVIII

V
7.3.1 Internal software data structure ....................................... XXVIII
7.3.2 Global data structure ....................................................... XXX
7.3.3 Temporary data structure ................................................. XXX
7.3.4 Database description ....................................................... XXX
7.4 Compoent Design ......................................................................... XXX
7.4.1 Class Diagram .................................................................. XXX

8 Project Implementation XXXII


8.1 Introduction ............................................................................... XXXII
8.2 Tools and Technologies Used ........................................................ XXXII
8.3 Methodologies/Algorithm Details ................................................. XXXII
8.3.1 Algorithm 1/Pseudo Code ................................................. XXXII
8.3.2 Algorithm 2/Pseudo Code ................................................. XXXII
8.4 Verification and Validation for Acceptance .................................. XXXII

9 Software Testing XXXIII


9.1 Type of Testing Used .................................................................... XXXIII
9.2 Test Cases and Test Results ......................................................... XXXIII

10 Results XXXIV
10.1 Screen shots .................................................................................. XXXIV
10.2 Outputs ........................................................................................ XXXIV

11 Deployment and Maintenance XXXV


11.1 Installation and un-installation ..................................................... XXXV
11.2 User help ....................................................................................... XXXV

12 Conclusion and future scope XXXVI

13 References XXXVII

Annexure A References XXXVIII

Annexure B Laboratory assignments on Project Analysis of Al-


gorithmic Design XXXIX

Annexure C Laboratory assignments on Project Quality and


Reliability Testing of Project Design XL

Annexure D Project Planner XLI

Annexure E Reviewers Comments of Paper Submitted XLII

VI
Annexure F Plagiarism Report XLIII

Annexure G Term-II Project Laboratory Assignments XLIV

Annexure H Information of Project Group Members XLV

VII
List of Figures

6.1 Use case diagram ........................................................................... XXV


6.2 State transition diagram ............................................................... XXVII

7.1 Architecture diagram ................................................................... XXIX


7.2 Class Diagram .............................................................................. XXXI

VIII
List of Tables

4.1 Hardware Requirements ............................................................... XVIII

5.1 Risk Table ...................................................................................... XX


5.2 Risk Probability definitions [?] ....................................................... XXI
5.3 Risk Impact definitions [?] .............................................................. XXI

6.1 Use Cases ........................................................................................ XXV

B.1 IDEA Matrix .................................................................................. XXXIX

IX
[display] 0 1pc

[
]

XI
Chapter 1

Synopsis

1.1 Project Title


Image Forgery Detection using Deep Learning

1.2 Project Option


Please mention type either industry sponsored, entrepreneur or internal project

1.3 Internal Guide


Prof. Sinu Nambiar

1.4 Sponsorship and External Guide


NA
1.5 Technical Keywords (As per ACM Key-
words)
A. Image Forgery,
B. Deep Learning,
C. Convolutional Neural Networks (CNN),
D. Image Manipulation
E. Forgery Detection,
F. Copy-Paste Forgery,
G. Error Level Analysis,
H. Training Datasets,
I. Test Datasets
XII
1.6 Problem Statement
The project ”Image Forgery Detection Using Deep Learning” addresses the pervasive issue of
image forgery and manipulation in the digital age, encompassing various manipulation techniques,
such as copy-paste operations, splicing, retouching, and deepfake generation. The central problem
definition revolves around the development of an advanced image forgery detection system
leveraging deep learning, primarily Convolutional Neural Networks (CNNs), to comprehensively
and accurately identify manipulated images. This system seeks to counter the evolving techniques
used in image manipulation, offering a reliable and user-friendly solution to restore trust in digital
content, preserve the integrity of digital visuals, and mitigate the detrimental impact of image
forgery in the digital age across domains such as journalism, forensics, and social media.

1.7 Abstract
In an era dominated by digital media, image forgery has become a pervasive issue with far-
reaching consequences. This final year project report presents a comprehensive investigation into
”Image Forgery Detection Using Deep Learning.” The project’s core aim is to harness the power
of Convolutional Neural Networks (CNNs) and cutting-edge deep learning techniques to
effectively identify manipulated images. By training the neural networks on diverse datasets
containing both authentic and manipulated images, the project equips them to discern subtle
patterns and artifacts introduced during image forgery. The project also explores various image
manipulation techniques to create a robust benchmark for forgery detection. Additionally, it
provides a user-friendly web interface for users to upload images and assess their authenticity. The
system’s performance is rigorously evaluated, with key metrics such as accuracy, precision, recall,
and F1-score used to determine its efficacy in distinguishing authentic and manipulated images.
This research has significant implications, contributing to the preservation of digital image
authenticity in fields like journalism, forensics, and content moderation. The project report details
the methodology, results, and encountered challenges, offering valuable insights for further
advancements and real-world applications in the domain of image forensics. It exemplifies the
potential of deep learning in combatting the widespread issue of image forgery in the digital age,
reaffirming its significance in addressing complex real-world challenges.

1.8 Goals and Objectives


1.Robust Forgery Detection: Develop a robust image forgery detection system that utilizes deep
learning, particularly Convolutional Neural Networks (CNNs), to accurately identify a wide range
of image manipulations, including copy-paste, splicing, retouching, and deepfakes.

2.Enhanced Accuracy and Efficiency: Improve the accuracy and efficiency offorgery detection
by leveraging advanced deep learning techniques, reducing false positives and false negatives, and
providing reliable results in real-time or near-realtime.

3.Adaptability and Generalization: Ensure that the system is adaptable to new forgery
techniques and can generalize its detection capabilities across different image types, sizes, and
formats.

XIII
4.User-Friendly Interface: Design an intuitive and user-friendly interface that simplifies the
process of uploading images for forgery detection, understanding the results, and accessing
additional information or guidance.

5.Ethical and Legal Compliance: Ensure the system complies with ethical standards and legal
regulations, addressing privacy concerns, consent, and potential misuse of forgery detection
technology. This objective is crucial for the responsible and ethical use of the system.

1.9 Relevant mathematics associated with the


Project
System Description:
• Input:User will upload the image to check the forgery.
• Output:It will process the image andrecognize it as orignal or fake image.
• Identify data structures, classes, divide and conquer strategies to ex-
ploit distributed/parallel/concurrent processing, constraints.
• Functions : Identify Objects, Morphisms, Overloading in functions,
Functional relations
• Mathematical formulation if possible
• Success Conditions:
• Failure Conditions:

XIV
1.10 Names of Conferences / Journals where
papers can be published
• IEEE/ACM Conference/Journal 1
• Conferences/workshops in IITs
• Central Universities or SPPU Conferences
• IEEE/ACM Conference/Journal 2

1.11 Review of Conference/Journal Papers sup-


porting Project idea
Atleast 10 papers + White papers or web references
Brief literature survey [ Description containing important description of at
least 10 papers

1.12 Plan of Project Execution


This plan is the basis for the execution for the tracking of all the project activities. It shall be used
throughout the life of the project and shall be kept up to date to reflect the actual accomplishments
and plans of the project.

1. Project Estimates

Project estimation is most important thing in software Engineering. Project estimation is used to
calculate the duration and cost of the project in prior basis, the process of finding an estimate, or
approximation, which is a value that is unable for some purpose even if input data may be
incomplete, uncertain, or uncertain, or unstable. corresponding population parameter. The sample
provides information that can be pro- Jetted,through various formal or informal processes, to
determine a range most likely to describe the missing information. An estimate that turns out to be
incorrect will be a overestimate if the estimate exceeded the actual result and an underestimate if
the estimate fell short of the actual result. Project Estimation report is size oriented matrix. Here,
constructive cost model Le COCOMO-2(1990) is used to estimate effort And time duration by
using size of software. Suze in terms of the KLOC(kilo Line Of Code). It include only executable
lines not variable, function declaration

2. Project Resources
To undertake your image forgery detection project with deep learning, you'll need a combination
of crucial resources. Start with diverse datasets like CASIA, COVERAGE, and Image Manipulation
Dataset (IMD) for training and testing. If you're focusing on face spoofing or video forgery,
consider NUAA Image Dataset and YouTube Face Dataset, along with dedicated deepfake

XV
detection datasets. For the technical side, make Python your primary language and leverage deep
learning frameworks like TensorFlow and PyTorch. Tools such as OpenCV for image processing
and Scikit-Learn for evaluation are invaluable. Explore Keras for its simplicity and pre-trained CNN
models like ResNet, VGG, and Inception. Stay informed by delving into research papers on image
forgery detection, and regularly check platforms like arXiv for the latest developments.
Complement your knowledge with online courses and tutorials, and for efficient model training,
consider GPU/TPU resources available on cloud platforms like AWS, Google Cloud, and Azure.
Join forums and communities for problem-solving, refer to official documentation for guidance,
and follow blogs and YouTube channels specializing in deep learning and computer vision for
insightful tips and tutorials. These resources will form the foundation of your successful project.

Chapter 2

Technical Keywords

2.2 Area of Project


The area of your project on image forgery detection using deep learning falls under the broader
domain of computer vision, image processing, and machine learning. Here's a more specific
breakdown of the project area:

Computer Vision: Your project will heavily rely on computer vision techniques, as it involves the
analysis and manipulation of digital images. Computer vision is concerned with the automatic
extraction of information from images and is a fundamental component of your image forgery
detection system.

Image Processing: Image processing is a core component of your project. This includes tasks
such as image enhancement, feature extraction, and filtering to preprocess and analyze images
effectively. Image processing techniques will help your deep learning model identify image
forgeries.

Deep Learning: Deep learning is the primary technology behind your project. You'll be using
convolutional neural networks (CNNs) and potentially other deep learning architectures to develop
a model that can automatically detect image forgeries. Deep learning is a subset of machine
learning that excels at image classification and feature learning.

Machine Learning: Beyond deep learning, your project may also involve traditional machine
learning techniques for data preprocessing, feature engineering, and model evaluation. These are
essential for building a robust forgery detection system.

XVI
Image Forensics: Image forensics is a specialized field within computer vision that deals with the
analysis of digital images to detect manipulation or forgeries. Your project is essentially a practical
application of image forensics techniques.

Data Science: You will need strong data science skills to curate and preprocess datasets, evaluate
model performance, and make data-driven decisions throughout your project.

Ethics and Privacy: Consider the ethical implications of image forgery detection, especially in
terms of privacy and consent. Addressing these concerns is important in any project dealing with
image analysis.

Cybersecurity: In cases where image forgery is used for malicious purposes, your project aligns
with aspects of cybersecurity by providing a tool to detect and prevent digital deception.

Media and Journalism: In the context of journalism and media, your project can contribute to the
verification of image authenticity and help combat the spread of fake news and misinformation.

Content Moderation: In the realm of online content, your project can be applied to content
moderation platforms to ensure that manipulated or inappropriate images are not shared.

2.3 Technical Keywords


A. Image Forgery,
B. Deep Learning,
C. Convolutional Neural Networks (CNN),
D. Image Manipulation
E. Forgery Detection,
F. Copy-Paste Forgery,
G. Error Level Analysis,
H. Training Datasets,
I. Test Datasets

XVII
Chapter 3

Introduction

3.1 Project Idea


Our project aims to create a tool that can detect manipulated images using deep learning. In a
world filled with fake images, our system will help determine whether an image has been altered.
We will teach our computer program to recognize common manipulation techniques, like cutting
and pasting parts of images or creating deepfakes. This tool will be valuable for ensuring the
authenticity of images in various applications, such as journalism, social media content moderation,
and digital forensics, where the truthfulness of images matters.

3.2 Motivation of the Project


The main reason behind our project is to tackle the growing problem of fake and manipulated
images in the digital world. We want to help ensure that what we see online or in the media can be
trusted. By developing a system that can detect image forgeries, we aim to make the internet a
safer place and protect people's privacy from harmful and misleading content. Additionally, we
want to assist law enforcement in digital investigations and provide a valuable tool for
understanding how AI can be used to solve real-world problems while staying ahead of the latest
image manipulation techniques.

3.3 Literature Survey


• Review of the papers, Description , Mathematical Terms

XVIII
Chapter 4

Problem Definition and scope

4.1 Problem Statement


The project ”Image Forgery Detection Using Deep Learning” addresses the pervasive issue of
image forgery and manipulation in the digital age, encompassing various manipulation techniques,
such as copy-paste operations, splicing, retouching, and deepfake generation. The central problem
definition revolves around the development of an advanced image forgery detection system
leveraging deep learning, primarily Convolutional Neural Networks (CNNs), to comprehensively
and accurately identify manipulated images. This system seeks to counter the evolving techniques
used in image manipulation, offering a reliable and user-friendly solution to restore trust in digital
content, preserve the integrity of digital visuals, and mitigate the detrimental impact of image
forgery in the digital age across domains such as journalism, forensics, and social media
4.1.1 Goals and objectives
Goal and Objectives:
Robust Forgery Detection: Develop a robust image forgery detection system that utilizes deep
learning, particularly Convolutional Neural Networks (CNNs), to accurately identify a wide range
of image manipulations, including copy-paste, splicing, retouching, and deepfakes.
• Enhanced Accuracy and Efficiency: Improve the accuracy and efficiency offorgery detection by
leveraging advanced deep learning techniques, reducing false positives and false negatives, and
providing reliable results in real-time or near-realtime.
• Adaptability and Generalization: Ensure that the system is adaptable to new forgery techniques
and can generalize its detection capabilities across different image types, sizes, and formats.
• User-Friendly Interface: Design an intuitive and user-friendly interface that simplifies the
process of uploading images for forgery detection, understanding the results, and accessing
additional information or guidance.
• Ethical and Legal Compliance: Ensure the system complies with ethical standards and legal
regulations, addressing privacy concerns, consent, and potential misuse of forgery detection
technology. This objective is crucial for the responsible and ethical use of the system.
4.1.2 Statement of scope
forgery detection by leveraging advanced deep learning techniques, reducing false positives and
XIX
false negatives, and providing reliable results in real-time or near-realtime.
• Adaptability and Generalization: Ensure that the system is adaptable to new forgery techniques
and can generalize its detection capabilities across different image types, sizes, and formats.
• User-Friendly Interface: Design an intuitive and user-friendly interface that simplifies the process
of uploading images for forgery detection, understanding the results, and accessing additional
information or guidance.
• Ethical and Legal Compliance: Ensure the system complies with ethical standards and legal
regulations, addressing privacy concerns, consent, and potential misuse of forgery detection
technology. This objective is crucial for the responsible and ethical use of the system.
4.2 Major Constraints
forgery detection by leveraging advanced deep learning techniques, reducing false positives and
false negatives, and providing reliable results in real-time or near-realtime.
• Adaptability and Generalization: Ensure that the system is adaptable to new forgery techniques
and can generalize its detection capabilities across different image types, sizes, and formats.
• User-Friendly Interface: Design an intuitive and user-friendly interface that simplifies the process
of uploading images for forgery detection, understanding the results, and accessing additional
information or guidance.
• Ethical and Legal Compliance: Ensure the system complies with ethical standards and legal
regulations, addressing privacy concerns, consent, and potential misuse of forgery detection
technology. This objective is crucial for the responsible and ethical use of the system.
4.3 Methodologies of Problem solving and ef-
ficiency issues
• The single problem can be solved by different solutions. This considers
the performance parameters for each approach. Thus considers the
efficiency issues.

4.4 Outcome
The envisioned outcome of our image forgery detection project is the creation of a reliable and
precise deep learning-based system designed to automatically detect various forms of image
manipulation, such as copy-move and splicing. This system will serve as a valuable tool for
verifying the authenticity of digital images, making significant contributions to the domains of
digital forensics, journalism, and online content moderation. We expect to achieve outstanding
performance, characterized by high precision, recall, and overall model accuracy. This will be
accomplished through meticulous dataset selection, the use of innovative deep learning
architectures, and rigorous model evaluation. Furthermore, our project aims to increase public
awareness of the prevalence of image forgeries and their potential societal impact, while
encouraging the responsible use of digital media.
4.5 Applications

XX
Digital Forensics: Our project is essential for digital forensics investigations. It enables the
analysis of digital images to uncover various types of forgery, such as splicing, copy-move, and
retouching. This is invaluable for verifying image authenticity and maintaining the integrity of
evidence.

Journalism and Media: In the realm of journalism and media, our system plays a critical role in
verifying the authenticity of images. It ensures the publication of reliable content, helping to
combat the dissemination of fake news and misinformation by detecting manipulated images.

Online Content Moderation: Content moderation platforms can benefit from our project's ability to
automatically detect and filter out inappropriate or manipulated images. This guarantees a safe and
trustworthy online environment.

Law Enforcement: Law enforcement agencies can employ our image forgery detection system to
aid criminal investigations, especially in cases involving digital evidence.

Cybersecurity: Our project is a valuable tool for cybersecurity, assisting in the detection and
prevention of digital deception. It is particularly relevant in situations where cybercriminals might
use manipulated images for fraudulent activities.

Privacy Protection: Our system is also applicable in contexts where individuals seek to safeguard
their own privacy and ensure that their images have not been altered without consent.

Academic and Research Purposes: Researchers and academics specializing in image analysis,
computer vision, and deep learning can leverage our project as a valuable resource for further
research and development in the field of image forensics.

4.6 Hardware Resources Required

Sr. No. Parameter Minimum Requirement Justification


1 CPU Speed 2.5 GHz Minimum
2 RAM 16 GB Minimum

Table 4.1: Hardware Requirements

4.7 Software Resources Required


XXI
Platform :
1. Operating System:Windows 7 and above

2. IDE:Google Colab
3. Programming Language: Python 2.7 and above

Chapter 5

Project Plan

5.1 Project Estimates


Project estimation is most important thing in software Engineering. Project estimation is used to
calculate the duration and cost of the project in prior basis, the process of finding an estimate, or
approximation, which is a value that is unable for some purpose even if input data may be
incomplete, uncertain, or uncertain, or unstable. corresponding population parameter. The sample
provides information that can be pro- Jetted,through various formal or informal processes, to
determine a range most likely to describe the missing information. An estimate that turns out to be
incorrect will be a overestimate if the estimate exceeded the actual result and an underestimate if
the estimate fell short of the actual result. Project Estimation report is size oriented matrix. Here,
constructive cost model Le COCOMO-2(1990) is used to estimate effort And time duration by
using size of software. Suze in terms of the KLOC(kilo Line Of Code). It include only executable
lines not variable, function declaration
5.1.1 Reconciled Estimates
5.1.1.1 Cost Estimate
• Personnel Costs: – Project Team (4 members): No direct salary expenses as this is a college
project.
• Equipment and Technology: – Hardware (e.g., computers, cameras): – Software Licenses:
Utilizing open-source tools and free software. – Data Storage: Firebase Database at no additional
cost.
• Data Costs: – Data Collection Expenses: Leveraging publicly available data-sets (e.g., Kaggle)
at no additional cost.
• Development Costs: – No direct expenses, leveraging existing hardware and software. •
Application Development Costs:– Development Costs: No direct expenses, leveraging existing
resources
XXII
• Testing and Usability: – Usability Testing: Minimal costs for incentives for test participants.
Conducted internally without external expenses.
• Miscellaneous Costs: – Communication Expenses: Minimal, as team members primarily
communicate in person or via free online tools. – Travel: Minimal or none for team members
living nearby.
• Research and Publishing: – Paper Publication Cost: Estimated at 2,000 to 3,000 Rs.
5.1.1.2 Time Estimates
Development time is the time required for development and is estimated to be 4 months.
Development Time = Cb × (E) Db Development Time = 2.5 × (3.7)0.38
Development Time = 4.1 months
Number of Team Members
The number of team members is a positive integer and is estimated to be 4. Members = 4

5.1.2 Project Resources

Operating System:Windows 7 and above IDE:Google Colab Programming Language: Python


2.7 and above The number of team members is a positive integer and is estimated to be 4.
Members = 4. Development Platforms: – Google Colab – Jupyter Notebook.

Processor: A processor with a minimum frequency of 2.5 gigahertz (GHz) or higher.


• RAM (Random Access Memory): A minimum of 16 GB of RAM to support the execution of
deep learning algorithms efficiently.
• Hard Disk Space: A minimum of 20 GB of available space on the hard disk is required to store
datasets, models, and related project files.
• Monitor Resolution: A monitor with a minimum resolution of 1024 x 768 is recommended to
provide a suitable display environment for data analysis and model development. Ensuring that
your hardware setup meets these requirements will contribute to a smoother and more
productive project implementation.

5.2 Risk Management w.r.t. NP Hard anal-


ysis
Technical Risks: Technical challenges in implementing the CNN model such as difficulties in
model convergence, overfitting or computational resource limitations. Mitigation: Use
techniques like batch normalization and gradient clipping to stabilize training.Monitor the
model’s performance on a separate validation set and adjust as necessary.
XXIII
Schedule Risks: Delays in project milestones or delivery due to unforeseen issues during
model development, data acquisition, or interface development. Mitigation:Continuously track
and assess progress against milestones and adjust the schedule as needed.Maintain open and
transparent communication with stakeholders to address issues as they arise.
Operational Risks: Operational issues, such as data quality problems, hardware failures, or
software bugs, that disrupt the project’s workflow. Mitigation:Implement rigorous data
validation and preprocessing steps to minimize data quality issues.Regularly back up data and
configurations to minimize downtime.
Business Risks: Changes in project requirements or objectives, budget constraints, or shifting
priorities that impact the project’s course. Mitigation:Document all changes and their impact
on the project scope, timeline, and budget. Regularly communicate with stakeholders to align
on project objectives. .

5.2.1 Risk Identification


For risks identification, review of scope document, requirements specifications
and schedule is done. Answers to questionnaire revealed some risks. Each
risk is categorized as per the categories mentioned in [?]. Please refer table 5.1
for all the risks. You can refereed following risk identification questionnaire.

XXIV
1. Have top software and customer managers formally committed to sup-
port the project?

2. Are end-users enthusiastically committed to the project and the sys-


tem/product to be built?

3. Are requirements fully understood by the software engineering team


and its customers?

4. Have customers been involved fully in the definition of requirements?

5. Do end-users have realistic expectations?

6. Does the software engineering team have the right mix of skills?

7. Are project requirements stable?

8. Is the number of people on the project team adequate to do the job?

9. Do all customer/user constituencies agree on the importance of the


project and on the requirements for the system/product to be built?

5.2.2 Risk Analysis


The risks for the Project can be analyzed within the constraints of time and
quality

Impact
ID Risk Description Probability
Schedule Quality Overall
1 Description 1 Low Low High High
2 Description 2 Low Low High High

Table 5.1: Risk Table

5.2.3 Overview of Risk Mitigation, Monitoring, Man-


agement
Following are the details for each risk.

XXV
Probability Value Description
High Probability of occurrence is > 75%
Medium Probability of occurrence is 26 − 75%
Low Probability of occurrence is < 25%

Table 5.2: Risk Probability definitions [?]

Impact Value Description


Very high > 10% Schedule impact or Unacceptable quality
High 5 − 10% Schedule impact or Some parts of the project have
low quality
Medium < 5% Schedule impact or Barely noticeable degradation
in quality Low Impact on schedule or Quality can
be incorporated

Table 5.3: Risk Impact definitions [?]

Risk ID 1
Risk Description Description 1
Category Development Environment.
Source Software requirement Specification document.
Probability Low
Impact High
Response Mitigate
Strategy Strategy
Risk Status Occurred

XXVI
Risk ID 2
Risk Description Description 2
Category Requirements
Source Software Design Specification documentation review.
Probability Low
Impact High
Response Mitigate
Strategy Better testing will resolve this issue.
Risk Status Identified

Risk ID 3
Risk Description Description 3
Category Technology
Source This was identified during early development and test-
ing.
Probability Low
Impact Very High
Response Accept
Strategy Example Running Service Registry behind proxy bal-
ancer
Risk Status Identified

XXVII
5.3 Project Schedule
5.3.1 Project task set
Major Tasks in the Project stages are:

• Task 1:Data collection and preprocessing.

• Task 2:Model Development and Training.

• Task 3:Website Development and Integration.

• Task 4:Testing and Quality Assurance.

• Task 5:Deployement and Integration.

5.3.2 Task network


Start
|
|-- Project initiation and planning
| |-- Market research and feasibility
| |-- User friendly system design
| |-- Development of desired software
| |-- Database integration
| |-- Verification and validation
| |-- Security and data privacy
| |-- Project Deployment
| |-- Project Evaluation and Documentation
| |-- User testing and feedback
| |-- Future Enhancements
|
End
5.3.3 Timeline Chart

XXVIII
5.4 Team Organization
The manner in which staff is organized and the mechanisms for reporting are
noted.

5.4.1 Team structure


Frontend Developers:
– Rajwardhan Gharge
– Aditya Nawadkar
– Siddhant Shinde
Backend Developers:
– Rameshwar Gongawale
– Siddhant Shinde
– Rajwardhan Gharge
Documentation:
– Rameshwar Gongawale
– Aditya Nawadkar
– Rajwardhan Gharge
– Siddhant Shinde
5.4.2 Management reporting and communication
5.4.2.1 Progress Reporting Mechanisms
Consistent Team Meetings:
• Facilitate routine team gatherings to discuss advancements, obstacles, and upcoming tasks.
XXIX
• These sessions may consist of daily stand-ups for brief updates and weekly meetings for more
detailed progress discussions.

Project Progress Updates:


• Each department (Design, Database Management, Software Development, etc.) submits regular
project status reports to their respective team leaders or managers.
• These reports encompass updates on progress, challenges faced, and any resource
requirements.

Managing Issues and Risks:


• Establish a structured process for recognizing, monitoring, and addressing project issues and
risks.
• Conduct regular reviews to stay informed about the status of identified issues and risks.

Project Conclusion and Assessment:


• Upon project completion, conduct a comprehensive evaluation to gauge the project's success,
gather valuable insights, and pinpoint areas for enhancement in future endeavors.

. 5.4.2.2 Progress Reporting Mechanisms:


.
Project Management Software:
. • Employ project management tools, such as Gantt charts, for task tracking, assignment,
and collaborative efforts.
. Collaboration Tools:
. • Leverage platforms like Google Meet or Microsoft Teams for real-time messaging and
seamless team collaboration.
. Document Management:
. • Integrate document management systems like Google Drive, Dropbox, or SharePoint to
facilitate the storage and sharing of project-related documents and resources.
. Video Conferencing:
. • Host virtual meetings through platforms like Google Meet or Microsoft Teams,
especially beneficial for remote teams or when face-to-face meetings are impractical.
. Email Communications:
. • Utilize email for formal communication, including the dissemination of project reports
and critical updates.

XXX
Chapter 6

Software requirement
specification

6.1 Introduction

6.1.1 Purpose and Scope of Document


The purpose of SRS and what it covers is to be stated

6.1.2 Overview of responsibilities of Developer


• Project Planning
• User-Friendly application design
• Application development
• Integration with Database
• Testing and Quality Assurance
• Project Deployment
• User Feedback and Improvements
• Documentation and Maintenance
6.2 Usage Scenario
This section provides various usage scenarios for the system to be developed.

6.2.1 User profiles


The profiles of all user categories are described here.(Actors and their De-
scription)

6.2.2 Use-cases
All use-cases for the software are presented. Description of all main Use cases
using use case template is to be provided.

XXXI
Sr No. Use Case Description Actors Assumptions
1 Use Case 1 Description Actors Assumption

Table 6.1: Use Cases

6.2.3 Use Case View


Use Case Diagram. Example is given below

Figure 6.1: Use case diagram

XXXII
6.3 Data Model and Description
6.3.1 Data Description
Data objects that will be managed/manipulated by the software are described
in this section. The database entities or files or data structures required to
be described. For data objects details can be given as below

6.3.2 Data objects and Relationships


Data objects and their major attributes and relationships among data objects
are described using an ERD- like form.

6.4 Functional Model and Description


A description of each major software function, along with data flow (struc-
tured analysis) or class hierarchy (Analysis Class diagram with class descrip-
tion for object oriented system) is presented.

6.4.1 Data Flow Diagram


6.4.1.1 Level 0 Data Flow Diagram
6.4.1.2 Level 1 Data Flow Diagram

6.4.2 Activity Diagram:


• The Activity diagram represents the steps taken.

6.4.3 Non Functional Requirements:


• Interface Requirements

• Performance Requirements

• Software quality attributes such as availability [ related to Reliabil-


ity], modifiability [includes portability, reusability, scalability] , perfor-
mance, security, testability and usability[includes self adaptability and
user adaptability]

XXXIII
6.4.4 State Diagram:
State Transition Diagram
Fig.6.2 example shows the state transition diagram of Cloud SDK. The states
are represented in ovals and state of system gets changed when certain events
occur. The transitions from one state to the other are represented by arrows.
The Figure shows important states and events that occur while creating new
project.

Figure 6.2: State transition diagram

6.4.5 Design Constraints

Heterogeneous Data Sources: If your project involves data from various sources and formats,
integrating and processing these diverse data types can be a significant constraint.

XXXIV
Real-Time Processing: For applications that require instant forgery detection, processing speed
becomes a critical constraint, and you may need to optimize the model for low latency.

Memory Constraints: Deploying on resource-constrained devices like mobile phones or IoT


devices can limit the model's size and memory usage.

Cross-Domain Generalization: If the model needs to perform well on images from different
domains (e.g., medical imaging and artistic creations), achieving cross-domain generalization can
be a challenging constraint.

Data Privacy and Compliance: Strict data privacy and compliance requirements can constrain data
collection, storage, and model deployment, especially in industries like healthcare and finance.

6.4.6 Software Interface Description


The software interface(s)to the outside world is(are) described. The require-
ments for interfaces to other devices/systems/networks/human are stated.

XXXV
Chapter 7

Detailed Design Document


using Appendix A and B

7.1 Introduction
This document specifies the design that is used to solve the problem of Prod-
uct.

7.2 Architectural Design


A description of the program architecture is presented. Subsystem design or
Block diagram,Package Diagram,Deployment diagram with description is to
be presented.

7.3 Data design (using Appendices A and B)


A description of all data structures including internal, global, and temporary
data structures, database design (tables), file formats.

7.3.1 Internal software data structure


Data structures that are passed among components the software are de-
scribed.

XXXVI
Figure 7.1: Architecture diagram

7.3.2 Global data structure


Data structured that are available to major portions of the architecture are
described.

7.3.3 Temporary data structure


Files created for interim use are described.

7.3.4 Database description


Database(s) / Files created/used as part of the application is(are) described.

7.4 Component Design


Class diagrams, Interaction Diagrams, Algorithms. Description of each com-
ponent description required.
XXXVII
7.4.1 Class Diagram

Figure 7.2: Class Diagram

XXXVIII
Chapter 8

Project Implementation

8.1 Introduction
8.2 Tools and Technologies Used
8.3 Methodologies/Algorithm Details
8.3.1 Algorithm 1/Pseudo Code
8.3.2 Algorithm 2/Pseudo Code

8.4 Verification and Validation for Acceptance

XXXIX
Chapter 9

Software Testing

9.1 Type of Testing Used


Unit,Integration,system etc.

9.2 Test Cases and Test Results


for each type of testing done.

XL
Chapter 10

Results

10.1 Screen shots


Outputs / Snap shots of the results

10.2 Outputs
Outputs / Snap shots of the results

XLI
Chapter 11

Deployment and Maintenance

11.1 Installation and un-installation


11.2 User help

XLII
Chapter 12

Conclusion and future scope

Write summary , conclusion and future scope

XLIII
Chapter 13

References

XLIV
Annexure A

References

(Strictly in ACM Format)

XLV
Annexure B

Laboratory assignments on
Project Analysis of Algorithmic
Design

• To develop the problem under consideration and justify feasibilty using


concepts of knowledge canvas and IDEA Matrix.
Refer [?] for IDEA Matrix and Knowledge canvas model. Case studies
are given in this book. IDEA Matrix is represented in the following
form. Knowledge canvas represents about identification of opportunity
for product. Feasibility is represented w.r.t. business perspective.

I D E A
Increase Drive Educate Accelerate
Improve Deliver Evaluate Associate
Ignore Decrease Eliminate Avoid

Table B.1: IDEA Matrix

• Project problem statement feasibility assessment using NP-Hard, NP-


Complete or satisfy ability issues using modern algebra and/or relevant
mathematical models.

• input x,output y, y=f(x)

XLVI
Annexure C

Laboratory assignments on
Project Quality and Reliability
Testing of Project Design

It should include assignments such as

• Use of divide and conquer strategies to exploit distributed/parallel/concurrent


processing of the above to identify object, morphisms, overloading in
functions (if any), and functional relations and any other dependencies
(as per requirements). It can include Venn diagram, state diagram,
function relations, i/o relations; use this to derive objects, morphism,
overloading

• Use of above to draw functional dependency graphs and relevant Soft-


ware modeling methods, techniques including UML diagrams or other
necessities using appropriate tools.

• Testing of project problem statement using generated test data (using


mathematical models, GUI, Function testing principles, if any) selec-
tion and appropriate use of testing tools, testing of UML diagram’s
reliability. Write also test cases [Black box testing] for each identified
functions. You can use Mathematica or equivalent open source tool for
generating test data.

• Additional assignments by the guide. If project type as Entreprenaur,


Refer [?],[?],[?], [?]

XLVII
Annexure D

Project Planner

Using planner or alike project management tool.

XLVIII
Annexure E

Reviewers Comments of Paper


Submitted

(At-least one technical paper must be submitted in Term-I on the project de-
sign in the conferences/workshops in IITs, Central Universities or UoP Con-
ferences or equivalent International Conferences Sponsored by IEEE/ACM)

1. Paper Title:

2. Name of the Conference/Journal where paper submitted :

3. Paper accepted/rejected :

4. Review comments by reviewer :

5. Corrective actions if any :

XLIX
Annexure F

Plagiarism Report

Plagiarism report

L
Annexure G

Term-II Project Laboratory


Assignments

1. Review of design and necessary corrective actions taking into consid-


eration the feedback report of Term I assessment, and other competi-
tions/conferences participated like IIT, Central Universities, University
Conferences or equivalent centers of excellence etc.

2. Project workstation selection, installations along with setup and instal-


lation report preparations.

3. Programming of the project functions, interfaces and GUI (if any) as


per 1 st Term term-work submission using corrective actions recom-
mended in Term-I assessment of Term-work.

4. Test tool selection and testing of various test cases for the project per-
formed and generate various testing result charts, graphs etc. including
reliability testing.
Additional assignments for the Entrepreneurship Project:

5. Installations and Reliability Testing Reports at the client end.

LI
Annexure H

Information of Project Group


Members

one page for each student .

LII
photo.jpg

1. Name :

2. Date of Birth :

3. Gender :

4. Permanent Address :

5. E-Mail :

6. Mobile/Contact No. :

7. Placement Details :

8. Paper Published :

LIII

You might also like