diff --git a/CCTV-HUMAN-DETECTION/Images/1.jpg b/CCTV Human Detection/Images/1.jpg similarity index 100% rename from CCTV-HUMAN-DETECTION/Images/1.jpg rename to CCTV Human Detection/Images/1.jpg diff --git a/CCTV-HUMAN-DETECTION/Images/2.jpg b/CCTV Human Detection/Images/2.jpg similarity index 100% rename from CCTV-HUMAN-DETECTION/Images/2.jpg rename to CCTV Human Detection/Images/2.jpg diff --git a/CCTV-HUMAN-DETECTION/Images/3.jpg b/CCTV Human Detection/Images/3.jpg similarity index 100% rename from CCTV-HUMAN-DETECTION/Images/3.jpg rename to CCTV Human Detection/Images/3.jpg diff --git a/CCTV-HUMAN-DETECTION/Model/detect.py b/CCTV Human Detection/Model/detect.py similarity index 100% rename from CCTV-HUMAN-DETECTION/Model/detect.py rename to CCTV Human Detection/Model/detect.py diff --git a/CCTV-HUMAN-DETECTION/Model/human_detection.pb b/CCTV Human Detection/Model/human_detection.pb similarity index 100% rename from CCTV-HUMAN-DETECTION/Model/human_detection.pb rename to CCTV Human Detection/Model/human_detection.pb diff --git a/CCTV-HUMAN-DETECTION/Model/yolo_model.ipynb b/CCTV Human Detection/Model/yolo_model.ipynb similarity index 100% rename from CCTV-HUMAN-DETECTION/Model/yolo_model.ipynb rename to CCTV Human Detection/Model/yolo_model.ipynb diff --git a/CCTV-HUMAN-DETECTION/README.md b/CCTV Human Detection/README.md similarity index 52% rename from CCTV-HUMAN-DETECTION/README.md rename to CCTV Human Detection/README.md index 3abfcbcce..77089c433 100644 --- a/CCTV-HUMAN-DETECTION/README.md +++ b/CCTV Human Detection/README.md @@ -1,19 +1,43 @@ -# CCTV-HUMAN-DETECTION +# CCTV Human Detection + +## ๐ŸŽฏ Goal + +The goal of this project is to identify human beings from CCTV camera footage. ![image.png](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrLn9Zzwpzvpp2FLu0n8bdwOIR26fARzsV4A&usqp=CAU) + +## ๐Ÿงต Dataset + +The dataset for this project is taken from the Kaggle website. [Link](https://www.kaggle.com/datasets/jonathannield/cctv-human-pose-estimation-dataset) to the dataset. Here, you'll find various human images captured through CCTV cameras installed in different locations. However, the dataset is not suitable for training a YOLO model. Therefore, we annotated the data according to the format provided by YOLO using LabelIMG. + +## ๐Ÿงพ Description + +This is a tutorial demonstrating how to train a YOLOv4 people detector using Darknet and the Kaggle Human dataset. + +## ๐Ÿงฎ What I had done! + +#### Setup +- Preparing training data +- Training on a local PC +- Testing the custom-trained YOLOv4 model -YOLOv4 HumaN DETECTION -========================== +## ๐Ÿš€ Models Implemented + +##### YOLOv4 +This model fails to perform with distant and finer objects. + +##### YOLOv7 +This model performs much better than YOLOv4 on distant objects. + +## ๐Ÿ“š Libraries Needed + +- Darknet +- LabelIMG +- TensorFlow +- NumPy -This is a tutorial demonstrating how to train a YOLOv4 people detector using [Darknet](https://github.com/AlexeyAB/darknet) and the Kaggle Human dataset. -Process ------------------ -* [Setup](#setup) -* [Preparing training data](#preparing) -* [Training on a local PC](#training-locally) -* [Testing the custom-trained yolov4 model](#testing) # Introduction @@ -30,13 +54,6 @@ We used LabelIMG to annotate image. You can refer to https://machinelearningknowledge.ai/train-custom-yolov4-model-for-object-detection-in-google-colab/ for custom data preparation. -# Goal - -The goal of this project is to identify human being from CCTV camera. - -# Approach - -In the notebook we have implemented various Yolov4 and latest released Yolov7 and compare their accuracy with the help of dataset each approach will be divided into different section. # Approach Using Yolov4 @@ -50,9 +67,7 @@ In the notebook we have implemented various Yolov4 and latest released Yolov7 an ### This model performs much better than Yolov4 on distant objects -# Training and Testing -Training the model requires GPU.If GPU is not there then use google colab for training the model.Refer the yolo_model.ipynb file for detailed procedure of training and testing. +## ๐Ÿ“ข Conclusion -# Conclusion -### We have implemented two different approach Yolov4 and Yolov7 and, Yolov7 gives the best accuracy. +We have implemented two different approaches, YOLOv4 and YOLOv7. YOLOv7 gives the best accuracy for this project. diff --git a/CCTV-HUMAN-DETECTION/requirements.txt b/CCTV Human Detection/requirements.txt similarity index 91% rename from CCTV-HUMAN-DETECTION/requirements.txt rename to CCTV Human Detection/requirements.txt index e4a627341..b32504407 100644 --- a/CCTV-HUMAN-DETECTION/requirements.txt +++ b/CCTV Human Detection/requirements.txt @@ -5,4 +5,4 @@ tensorflow==2.3.0 absl-py easydict matplotlib -pillow \ No newline at end of file +pillow diff --git a/CCTV-HUMAN-DETECTION/Dataset/README.md b/CCTV-HUMAN-DETECTION/Dataset/README.md deleted file mode 100644 index f1ef6b8a2..000000000 --- a/CCTV-HUMAN-DETECTION/Dataset/README.md +++ /dev/null @@ -1 +0,0 @@ -I have fetched the Human Detection Dataset from, https://www.kaggle.com/datasets/jonathannield/cctv-human-pose-estimation-dataset, for building and developing this Project. You guys can check out the dataset from the given link. diff --git a/Cats vs Dogs Classification using DL/README.md b/Cats vs Dogs Classification using DL/README.md index 5da4a4a88..b9d60eec3 100644 --- a/Cats vs Dogs Classification using DL/README.md +++ b/Cats vs Dogs Classification using DL/README.md @@ -1,36 +1,32 @@ # Cats vs Dogs Classification using DL -## PROJECT TITLE +## ๐ŸŽฏ Goal -Cats vs Dogs Classification using DL +Create a DL model which will identify the Cats and Dogs. -## GOAL +## ๐Ÿงต Dataset -Create a DL model which will identify the Cats and Dogs. +The link for the dataset used in this project: [Cats and Dogs Image Classification Dataset 1](https://www.kaggle.com/datasets/samuelcortinhas/cats-and-dogs-image-classification) and [Cats and Dogs Image Classification Dataset 2](https://www.kaggle.com/datasets/tongpython/cat-and-dog). -## DATASET +## ๐Ÿงพ Description -The link for the dataset used in this project: https://www.kaggle.com/datasets/samuelcortinhas/cats-and-dogs-image-classification and https://www.kaggle.com/datasets/tongpython/cat-and-dog -## DESCRIPTION +This project aims to identify cats and dogs in images. It is trained on a dataset containing cats and dogs. -This project aims to identify the cats and dogs in the image. It is trained on the dataset containing cats and dogs. +## ๐Ÿงฎ What I had done! -## WHAT I HAD DONE - -1. Data collection: From the link of the dataset given above. -2. Data preprocessing: Preprocessed the image in order to have all images in equal shape. -3. Model selection: Chose traditional CNN along with Image detection architecture VGG16 and ResNet50 for Image detection. +1. Data collection: From the links of the datasets given above. +2. Data preprocessing: Preprocessed the images to have all images in equal shape. +3. Model selection: Chose traditional CNN along with Image detection architectures VGG16 and ResNet50 for Image detection. 4. Comparative analysis: Compared the accuracy score of all the models. -## MODELS USED - -1. CNN -2. VGG16 -3. ResNet50 +## ๐Ÿš€ Models Used +- CNN +- VGG16 +- ResNet50 -## LIBRARIES NEEDED +## ๐Ÿ“š Libraries Needed The following libraries are required to run this project: @@ -39,34 +35,29 @@ The following libraries are required to run this project: - matplotlib==3.6.0 - tensorflow==2.6.0 -## VISUALIZATION +## ๐Ÿ“Š Exploratory Data Analysis Results + #### Best performing model accuracy: -![val_acc3](https://github.com/achrekarom12/DL-Simplified/assets/88442486/b48589ab-83e6-4ce7-86df-eebdbe35921f) +[val_acc3](https://github.com/achrekarom12/DL-Simplified/assets/88442486/b48589ab-83e6-4ce7-86df-eebdbe35921f) #### Best performing model loss: -![val_loss3](https://github.com/achrekarom12/DL-Simplified/assets/88442486/55072c0f-1fdb-433a-87be-c442c25d84a7) - +[val_loss3](https://github.com/achrekarom12/DL-Simplified/assets/88442486/55072c0f-1fdb-433a-87be-c442c25d84a7) -## EVALUATION METRICS -The evaluation metrics I used to assess the models: +## ๐Ÿ“ˆ Performance of the Models based on the Accuracy Scores -- Accuracy -- Loss - - -## RESULTS Results on Val dataset: -| Model | Accuracy | Loss | -|------------|----------|---------| -| CNN | 0.728 | 1.159 | -| VGG16 | 0.925 | 0.218 | -| ResNet50 | 0.735 | 1.688 | +| Model | Accuracy | Loss | +| ------- | -------- | ----- | +| CNN | 0.728 | 1.159 | +| VGG16 | 0.925 | 0.218 | +| ResNet50| 0.735 | 1.688 | + +## ๐Ÿ“ข Conclusion +Based on the results, we can draw the following conclusions: -## CONCLUSION -Based on results we can draw following conclusions: -1. CNN: The CNN model achieved an accuracy of 0.728 and a loss of 1.159. It performed reasonably well, but there is room for improvement. -2. VGG16: The VGG16 model achieved a higher accuracy of 0.925 and a lower loss of 0.218. It outperformed the basic CNN model, indicating that the deeper architecture of VGG16 with more trainable parameters was able to capture more complex features and generalize better. -3. ResNet50: The ResNet50 model achieved an accuracy of 0.735 and a loss of 1.688. It performed slightly better than the basic CNN model but was outperformed by VGG16. ResNet50's residual connections helped in mitigating the vanishing gradient problem and allowed for the training of deeper networks. +- CNN: The CNN model achieved an accuracy of 0.728 and a loss of 1.159. It performed reasonably well, but there is room for improvement. +- VGG16: The VGG16 model achieved a higher accuracy of 0.925 and a lower loss of 0.218. It outperformed the basic CNN model, indicating that the deeper architecture of VGG16 with more trainable parameters was able to capture more complex features and generalize better. +- ResNet50: The ResNet50 model achieved an accuracy of 0.735 and a loss of 1.688. It performed slightly better than the basic CNN model but was outperformed by VGG16. ResNet50's residual connections helped in mitigating the vanishing gradient problem and allowed for the training of deeper networks.