{"id":25347621,"url":"https://github.com/who-else-but-arjun/course_project_da241m","last_synced_at":"2026-05-01T18:32:33.152Z","repository":{"id":259130428,"uuid":"876389114","full_name":"who-else-but-arjun/Course_Project_DA241M","owner":"who-else-but-arjun","description":"This repository contains the source code for the face recognition and enhancement project which was made as a part of the DA241M course at IIT Guwahati","archived":false,"fork":false,"pushed_at":"2024-11-05T14:53:21.000Z","size":1495,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-12T21:33:29.230Z","etag":null,"topics":["cnn","debluring","deep-learning","image-processing","keras","python","super-resolution","tensorflow","vgg16"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/who-else-but-arjun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-21T22:16:54.000Z","updated_at":"2024-11-06T00:13:13.000Z","dependencies_parsed_at":"2025-02-14T14:57:38.648Z","dependency_job_id":"1e190ba2-d9fd-4e8a-8b55-762bbced3f0b","html_url":"https://github.com/who-else-but-arjun/Course_Project_DA241M","commit_stats":null,"previous_names":["who-else-but-arjun/course_project_da241m"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/who-else-but-arjun/Course_Project_DA241M","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/who-else-but-arjun%2FCourse_Project_DA241M","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/who-else-but-arjun%2FCourse_Project_DA241M/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/who-else-but-arjun%2FCourse_Project_DA241M/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/who-else-but-arjun%2FCourse_Project_DA241M/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/who-else-but-arjun","download_url":"https://codeload.github.com/who-else-but-arjun/Course_Project_DA241M/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/who-else-but-arjun%2FCourse_Project_DA241M/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32508901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cnn","debluring","deep-learning","image-processing","keras","python","super-resolution","tensorflow","vgg16"],"created_at":"2025-02-14T14:57:32.806Z","updated_at":"2026-05-01T18:32:33.121Z","avatar_url":"https://github.com/who-else-but-arjun.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Face Recognition Attendance System  \n\nThis project implements a face recognition-based attendance system using several machine learning models. The entire pipeline leverages **SRCNN**, **DeblurGANv2**, and **LIME** models for image processing, along with a custom-trained **VGGFace model** for facial recognition. Below is a breakdown of the files, usage, and instructions for setting up the project.\n\n## Project Structure  \n\n### 1. **SRCNN.py**  \n- **Purpose:** Defines the SRCNN model used for image super-resolution.  \n- **Details:** Loads the pre-trained weights to enhance image quality.  \n\n### 2. **DeblurGANv2.py**  \n- **Purpose:** Implements the DeblurGANv2 model to remove blur from images.  \n- **Details:** Loads the necessary pre-trained weights for deblurring.  \n\n### 3. **layer_utils.py**  \n- **Purpose:** Contains essential utility functions and building blocks.  \n- **Details:** Includes implementations for instance normalization and custom layer definitions required for the models.  \n\n### 4. **LIME.py**  \n- **Purpose:** Implements the LIME model for light enhancement to improve lighting conditions in images.  \n\n### 5. **pipeline.py**  \n- **Purpose:** Cascades the **SRCNN**, **DeblurGANv2**, and **LIME** models to form the complete image processing pipeline.  \n\n### 6. **crop.py**  \n- **Purpose:** Uses OpenCV’s Haar Cascade classifier to crop faces from images.  \n- **Usage:** Processes raw images from the **Dataset** folder, extracts faces, and saves them to the **Headsets** folder.\n\n### 7. **test.py**  \n- **Purpose:** Script to test the functionality of the trained VGGFace model.  \n\n### 8. **VGGface_VGG16.ipynb**  \n- **Purpose:** Jupyter notebook used for training the **VGGFace** model and creating the dataset.  \n- **Dataset Structure:**  \n  - Place images in the format:  \n    ```\n    Dataset/{student_name}/images  \n    ```\n  - The `crop.py` extracts faces from these images and stores them in:  \n    ```\n    Headsets/{student_name}/images  \n    ```\n\n### 9. **Attendance.py**  \n- **Purpose:** Main script for recognizing faces using the trained **VGGFace model** and logging attendance.  \n- **Details:** Uses the webcam to capture real-time images and recognizes students based on the trained VGGFace model.\n\n### 10. **Class.json**  \n- **Purpose:** Holds the details of each student in the class as a JSON object, which is referenced during attendance logging.\n\n---\n\n## Prerequisites  \n\n- **Python Version:** 3.11.9  \n- **TensorFlow Version:** 2.17  \n- Ensure the following folders exist and contain the appropriate files:\n  - **Dataset/{student_name}/images** (Raw Images)\n  - **Headsets/{student_name}/images** (Extracted Faces)  \n\n---\n\n## Setup Instructions  \n\n1. **Install Dependencies:**  \n   Install the required Python libraries using:\n   ```bash\n   pip install tensorflow opencv-python-headless numpy matplotlib\n   ```\n\n2. **Download Weights:**  \n   Download the pre-trained weights for all models from the following link:  \n   [Google Drive - Weights](https://drive.google.com/drive/u/1/folders/1fHatTQSRryGusJ4VUg5E3R599cmTEtlQ)  \n   Place the downloaded weights in the same directory as the code files.\n\n3. **Train the VGGFace Model:**  \n   Open `VGGface_VGG16.ipynb` and run the notebook to train the VGGFace model on the dataset.  \n   Ensure the dataset follows the structure described above.\n\n4. **Extract Faces for Training:**  \n   Run the `crop.py` script to extract faces from the dataset:\n   ```bash\n   python crop.py\n   ```\n\n5. **Run the Attendance System:**  \n   Use `Attendance.py` to launch the attendance logging system:\n   ```bash\n   python Attendance.py\n   ```\n\n---\n\n## Usage  \n\n1. **Testing the VGGFace Model:**  \n   Use `test.py` to verify the VGGFace model's performance:\n   ```bash\n   python test.py\n   ```\n\n2. **Image Enhancement Pipeline:**  \n   Run the `pipeline.py` to process an image through the SRCNN, DeblurGANv2, and LIME models:\n   ```bash\n   python pipeline.py\n   ```\n\n---\n\n## Folder Structure  \n\n```\n/project-root  \n│  \n├── Dataset/  \n│   └── {student_name}/images/ (Raw student images)  \n├── Headsets/  \n│   └── {student_name}/images/ (Cropped faces)  \n├── SRCNN.py  \n├── DeblurGANv2.py  \n├── layer_utils.py  \n├── LIME.py  \n├── pipeline.py  \n├── crop.py  \n├── test.py  \n├── VGGface_VGG16.ipynb  \n├── Attendance.py  \n└── Class.json  \n```\n\n---\n\n## Notes  \n- Ensure all the pre-trained weights are in the correct folder to avoid loading errors.  \n- Verify that your webcam is properly connected and recognized by the system before running `Attendance.py`.  \n- Adjust the model parameters if needed during training in `VGGface_VGG16.ipynb`.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwho-else-but-arjun%2Fcourse_project_da241m","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwho-else-but-arjun%2Fcourse_project_da241m","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwho-else-but-arjun%2Fcourse_project_da241m/lists"}