School of Computer Science & Engineering
BCSE306L –Artificial Intelligence– C1 Slot – WIN 2023 -24
Project Report Source Code
DA-2
Project Title : Face Mask Detection using different algorithms
Review Number : II
Date of Submission : 27th March 2024
Members
1. Diya Das (21BCE5081)
2. Armaan Saini (21BCE5115)
Faculty In-charge:
Dr. Abirami S
Professor
SCOPE
VGG19 Advantages:
1. Ease of Use: VGG19 is a pre-defined architecture, so it's straightforward to
implement. You can readily use pre-trained weights available in frameworks like
TensorFlow or PyTorch.
2. Well-Studied: VGG19 is a well-known architecture, extensively studied and
benchmarked in various computer vision tasks. It has been proven effective in image
classification tasks.
3. Transfer Learning: Pre-trained VGG19 models can be fine-tuned on specific tasks
with relatively small datasets, thanks to transfer learning. This is especially useful
when you have limited data.
4. Generalization: VGG19 is known for its good generalization capabilities, meaning it
can perform well on unseen data if trained properly.
VGG19 Disadvantages:
1. Computationally Intensive: VGG19 is a deep architecture with a large number of
parameters, making it computationally expensive both during training and inference.
This can be a limitation in resource-constrained environments.
Here we can see the difference in time of execution of VGG vs Manual CNN layers.
Clearly the VGG model takes more time to run.
Also we can compare the Model accuracy graphs
VGG Model Accuracy
Manual CNN Accuracy
VGG Model Loss
Manual CNN Loss
2. Fixed Architecture: While the fixed architecture is easy to use, it also means limited
flexibility. You can't easily modify the architecture to suit specific requirements or
experiment with different layer configurations.
3. Overfitting: Due to its depth and large number of parameters, VGG19 can be prone
to overfitting, especially when training data is limited or noisy.
Manual CNN Implementation via Conv2D Layers Advantages:
1. Flexibility: Implementing CNN manually via Conv2D layers allows for complete
flexibility in designing the architecture. You can experiment with different
configurations, depths, kernel sizes, etc., to suit your specific task requirements.
2. Resource Efficiency: Manual implementation allows for more control over the model
size and computational resources. You can design a simpler or more efficient
architecture tailored to the available resources.
3. Learning Experience: Building a CNN manually provides a deeper understanding of
how convolutional neural networks work. It helps in gaining insights into the
underlying principles of deep learning.
4. Customization: You have full control over every aspect of the network, including
activation functions, regularization techniques, and optimization algorithms.
Manual CNN Implementation via Conv2D Layers disadvantages:
1. Complexity: Building a CNN manually requires a deeper understanding of neural
network architectures and their intricacies. It can be challenging, especially for
beginners, to design an effective architecture from scratch.
2. Time-Consuming: Manual implementation requires more time and effort compared
to using pre-defined architectures like VGG19. You need to experiment with different
configurations and hyperparameters, which can be a time-consuming process.
3. Potential Errors: Manual implementation increases the likelihood of introducing
errors in the architecture, such as vanishing gradients or exploding gradients, which
can affect training stability and performance.
4. Performance Variability: Without extensive tuning and optimization, manually
implemented CNNs may not perform as well as well-established architectures like
VGG19, especially on benchmark datasets.