Software Engineering Software Requirements Specification (SRS) Document

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

Software Engineering

Software Requirements Specification


(SRS) Document
Title:- Illuminating Deepfakes: An Anti-Deepfake Technology

September 5, 2021

Version 1.0

By
Mrityunjay Mishra
Shaikh Azim Abdul Rahim
Allaudin Hussain Shaikh
Anand Kumar Rai
Revisions

Version Primary Description of Version Date


Author(s) Completed
1.0 Mrityunjay Mishra, 26-10-2021
Azim Shaikh,
Allaudin Shaikh,
Anand Rai

Review & Approval


Requirements Document Approval History

Approving Party Version Signature Date


Approved

Requirements Document Review History

Reviewer Version Signature Date


Reviewed

1
Table of Contents

1.Introduction

1.1 Purpose

1.2 Document Conventions

1.3 Intended Audience and reading suggestions

1.4 Project Scope

1.5 References

2.Overall Description

2.1 Product Perspective

2.2 Product Features

2.3 User Classes and Characteristics

2.4 Operating Environment

2.5 Design and implementation constraints

2.6 Assumptions and Dependencies

3. System Requirements

3.1 Functional Requirements

4.External Interface Requirements

4.1 User Interfaces

4.2 Hardware Interfaces

4.3 Software Interfaces

4.4 Communications Interfaces

5.Non-functional Requirements

5.1 Performance Requirements

5.2 Safety Requirements

5.3 Security Requirements

5.4 Software Quality Attributes


2
1. Introduction

1.1 Purpose
Due to an advent rise in technology, it has almost become very difficult to distinguish between
deepfakes and real video. Deepfake videos are usually made by using StyleGAN’s(Generative
Adversial Network) framework and other deep learning technologies. The danger of this is that
technology can be used to make people believe something is real when it is not actually. Few
applications such as FaceApp and Fake App are built on this technology to be used on mobile
and desktop, which results in affecting a person’s integrity. Identifying, authenticating, and
categorizing these videos has become a necessity. It’s not just about these latest advancements in
creating fake images and video, it is the injection of these techniques into an ecosystem that is
already promoting fake news, sensational, and conspiracy theories. For finding a secured
solution for this we need to develop an anti-deepfake technology that will be implementing
deepfake detection models with different features using a deep learning approach to detect these
videos by isolating, analyzing, and verifying the content.

1.2 Document conventions

This document uses the following conventions.

DB Database

DDB Distributed Database

ER Entity Relationship

AI Artificial Intelligence

ML Machine Learning

GAN Generative Adversial Network

RnD Research and Development

CNN Convolutional Neural Networks

RNN Recurrent Neural Network

ROI Region Of Interest

LEA Law Enforcement Agency

CUDA CUDA is a parallel computing platform and application

programming interface model created by Nvidia. It

3
allows software developers and software engineers to use

a CUDA-enabled graphics processing unit for general

purpose processing – an approach termed GPGPU

API Application Program Interface

LSTM Long Short-Term Memory

1.3 Intended audience

This project is a prototype for implementing AI and Digital Forensics concepts collectively to
develop an Anti-Deepfake Technology a proven methods to detect deepfakes. This project has
been implemented on RnD Cell of our department under the guidance of Dr. Sunil Rathod. This
project is useful for the all the LEA’s, Security Agencies, Media Companies & Intelligence
Authorities.

1.4 Scope

The technology of image and video editing has made huge leaps in recent years and the
emergence of deepfake images has caused serious problems already and has the potential to
become more of an issue in the future as the technology improves.
 Adding additional images to the dataset, as having more data will inherently make the
models more accurate.

 Update the associated web App to be more user-friendly and have more features for
deepfake image classification.
 Expand the scope of this project to include being able to scan video for deepfakes as this
is increasingly becoming problematic technology.

 In order to detect deepfake videos, the first thing we need to do is that, we need to
understand the actual picture, and how actually these are created, which will help us in
understanding the gaps in it.

 In the approach, the frame-level scene inconsistency is the first feature that is exploited,
if the encoder is not aware of skin or other scene information, there will be boundary
effect due to seamed fusion between the new face and the rest of the frame which is
another weak point.

 The other major weakness that is exploited here is the source of multiple anomalies and
leads to a flickering phenomenon in the face region. This flickering is common to most

4
fake videos, even though this is hard to find with our naked eyes, it can be easily captured
by a pixel-level CNN feature extraction.

 The method here will take an advantage of the fact that during deepfake video generation,
the deepfake algorithm could only generate fake faces with specific size and resolution.
In order to match and fit the arrangement of the source’s face on original videos, a further
blur function must be added to the synthesized faces.

 The transformation causes exclusive blur inconsistency between the generated phase and
its background outcome deep fake videos, the method detects such inconsistency by
comparing the blurred synthesized areas ROI and surrounding context with the dedicated
Haar Wavelet Transform function.

 Accordingly, the videos will be converted into frames, image extraction would be done
using MOVIEPY, then stepping ahead with preprocessing, mouth nodal points will be
captured from each frame then CNN will be used to classify real or fake amongst all.

1.5 References

[1]https://ayushbasral.medium.com/deepfake-detection-using-resnxt-and-lstm-bcc08c086f84.
[2]https://lab.irt.de/a-system-for-deepfake-detection-dfirt/ .
[3]FaceForensics++: Learning to Detect Manipulated Facial Images by Andreas Rossler ¨ 1
Davide Cozzolino2 Luisa Verdoliva2 Christian Riess3 Justus Thies1 Matthias Nießner1.
[4]Deepfake Video Detection Using Recurrent Neural Networks David Guera Edward J. Delp ¨
Video and Image Processing Laboratory (VIPER), Purdue Universit.

[5]Digital Forensics and Analysis of Deepfake Videos Mousa Tayseer Jafar Mohammad
Ababneh Mohammad Al-Zoube Ammar Elhassan

[6] Review of Deepfake Detection Techniques by M P Adithya Vijayan, Thushara P, Sanjana S,


Karthik P C

[7] Deepfake Detection using ResNxt and LSTM _ by Ayush Basral _ Medium

2. Overall Description
2.1 Product perspective:

Security:- The underlying Artificial Intelligence (AI) technologies are used to manipulate
data (e.g. video and audio), and enable attackers to accurately impersonate individuals. This has
initiated security challenges for organizations and individuals. However, the development of
deepfakes is progressing quickly, with the use of socio-engineering for AI-assisted vishing. The
5
advanced deepfakes of high-profile individuals or executives will threaten to undermine digital
communications, spreading highly credible fake news.

While deepfake technologies are evolving rapidly and opening-up new positive innovations,
they also raise concerns as they are not trust-worthy due to possible malicious users.
For example,
a. deepfakes can be leveraged to defame, impersonate, and spread disinformation;
b. audio deepfakes can be used for scams and voice phishing, which opens-up for security
concerns;
c. visual deepfakes can be targeted at affecting the reputation of specific individuals.

PII (Personal Identifiable Information) :- Perhaps there should be a bill to criminalize the
creation and distribution of deepfakes, or at least some realistic legislation around its creation
and use. So much of a person’s life is online now, from social media to blogging, renewing a
driver’s license, paying a parking fine, signing up for college courses, working from home — the
list goes on. Unless every entity a person conducts online business with over their lifetime has a
way to identify fake photographs and voice passwords in the next two to three years, databases
will quickly be filled with people who don’t actually exist.

Nearly every entity — federal, state, civil, county and corporate — requires some kind of
photo ID to sign up for a new account or service. However, only a handful of countries consider
a person’s facial geometry or voice signatures to be a form of personally identifiable information
(PII), and no country currently considers a person’s gait to be PII. In these three areas alone,
humanity is already behind artificial intelligence and its uses. It is time for the cybersecurity
community to apply a bit of rational thinking to catch up.

2.2 Product features:

UI:-

1. Law Enforcement Agency:-

Attribute:
UID, Name, Mobile, email,

Operation:
Registration()
Login()
Upload(Resource) [Resource – Image/Video]
ScanningVedio()
Splitting()
ImageFeatureExtraction()
PredictionAlgorithm()

2. Media Partners

Attribute:
UID, Name, Mobile, email,

Operation:

6
Registration()
Login()
Upload(Resource) [Resource – Image/Video]
ScanningVedio()
Splitting()
ImageFeatureExtraction()
PredictionAlgorithm()

3. Security Companies/Consultants

Attribute:
UID, Name, Mobile, email,

Operation:
Registration()
Login()
Upload(Resource) [Resource – Image/Video]
ScanningVedio()
Splitting()
ImageFeatureExtraction()
PredictionAlgorithm()

7
The major features of this technology is as shown in below entity–relationship model (ER

model)

2.3 User class and characteristics:


Users of this systems i.e. Law Enforcement Agency, Media Partners, and Security
Consultants/Company should be able to recognize whether the video which they have
uploaded is real or fake.
Admin: Admins are given the authority for log management, activation/deactivation of
accounts, renewal of accounts and user authorization.
Law Enforcement Agency, Media Partners, Security Consultants/Company:
Given the authority to upload the resource i.e. Video or image to find whether the given
resource is real or fake. The video will be scanned, crop the face and spit and then
combine in a small video format. Then it will be sent to model for predicting whether the
image or video is fake or real.

2.4 Operating environment:


Operating environment for the Illuminating deepfake is as listed below
 Operating system: Windows.
 database: MySQL
 platform: Python, PyTorch, Django, OpenCv, Visual Studio

8
2.5 Constraints: One of the most important challenges facing the researchers is the lack of
high-quality dataset. It is well-known that deep learning models often require large
dataset for the training step in order to produce good results, which, regrettably, are not
freely accessible or need permission from social media providers. The rapid development
of deepfake GAN models can also bring a new challenge where unseen types of
generated images and video may not be discovered by the current deep learning models.
Software will not work without any web browser or basic internet connection

3. System Requirements
3.1 Functional requirements
a. Completely based on Client-Server Architecture
b. Functioning should be completely on the basis of the registered user
i. Admin Users
ii. LEA’s Authorities
iii. Intelligence Agencies
iv. Media Partners
v. Independent Security Consultants
c. This system uses ML And AI algorithms for getting attributes from videos for
training and prediction

CLIENT/SERVER SYSTEM

The term client/server refers primarily to an architecture or logical division of


responsibilities, the client is the application (also known as the front-end), and the server is
the DBMS (also known as the back-end).

 A client/server system is a distributed system in which,

 Some sites are client sites and others are server sites. - All the data resides at the
server sites.

 All applications execute at the client sites.

4.External Interface Requirements


4.1 User Interfaces

 Front-end software: HTML


 Back-end software: Python 3

4.2 Hardware Interfaces

 Windows.
 A browser which supports CGI, HTML & Javascript.
 8 MB RAM

9
 128 Gb hard free drive space
 Graphics processing unit /Cuda Capable system

4.3 Communications Interfaces

 This project supports all types of web browsers.


 Fair Internet Connectivity using TCP/IP
 HTTPS

4.4 Software Interfaces

Following are the software used for Illuminating Deepfakes.

Software used Description

We have chosen Windows operating system for its best

Operating system support and user-friendliness.

Database MySQL

To implement the project we have chosen python

Python language for its more interactive support.

pandas is a software library written for the

Python programming language for data manipulation

Pandas and analysis.

Scikit-learn also known Sklearn is a free software ML

library for the Python programming language features

various classification, regression and clustering

algorithms including support vector machines, random

forests, gradient boosting, k-means and DBSCAN, and

is designed to interoperate with the Python numerical

Sklearn and scientific libraries NumPy and SciPy.

OpenCV It is a cross-platform library using which we can

develop real-time computer vision applications. It

10
mainly focuses on image processing, video capture and

analysis including features like face detection and object

detection.

TensorFlow is a free and open-source software library

for machine learning. It can be used across a range of

tasks but has a particular focus on training and inference

of deep neural networks. TensorFlow is a symbolic

math library based on dataflow and differentiable

TensorFlow programming.

It is a high-level Python web framework that enables

rapid development of secure and maintainable websites.

Built by experienced developers, Django takes care of

much of the hassle of web development, so you can

focus on writing your app without needing to reinvent

Django the wheel.

It is an integrated development environment that is

used to develop computer programs for Windows.

Visual studio can also be used for developing web sites,

web applications, and web services. We would require

all the build tools for C++ development environment to

Visual Studio build the wheel for dlib and run Cmake.

We’ll be using FaceForensics++,CelebA, datasets to

Data Set train our model

5. Non-Functional Requirements
5.1 Performance requirements
The system should respond to a user query and return a results within a minute.

11
Feature extraction must be done in seconds.
Time taken by ML algorithms should be in seconds.
System should be able to determine whether a given image is either real or a deepfake.

5.2 Safety requirements

If we face any extensive damage to avoid proportion of our services due to technical glitches and
failures we will be following a complete disaster recovery processes and policies.

5.3 Security requirements

Security system needs database storage just like many other applications, however, the special
requirements of the security market mean that vendor must choose their database partner
carefully. Privacy and data protection regulations that need to be adhered to while designing of
the product.

5.4 Software quality attributes

1. Availability: - As long as there is access to the internet, there will be access to


the application without any interrupts.
.
2. Usability:- This software can be accessed at any time, this causes increase in the number
of client. the system is easy to handle and navigates in the most expected way with no
delays.

3. Reliability:-  Application will work properly on computers. This software will be


developed with machine learning, feature engineering and deep learning techniques. So,
in this step there is no certain reliable percentage that is measurable. Also, user provided
data will be used to compare with result and measure reliability. With recent machine
learning techniques, user gained data should be enough for reliability if enough data is
obtained.

4. Portability:- This system must be portable to any operating system version and internet
connection
This system should not need any software installation.

12

You might also like