{"id":23878620,"url":"https://github.com/mosesab/yolov11-drowsiness-detection","last_synced_at":"2025-02-22T22:43:49.375Z","repository":{"id":270405202,"uuid":"910284742","full_name":"mosesab/YOLOV11-Drowsiness-Detection","owner":"mosesab","description":"This repo contains the fine-tune implementation of a drowsy detection system, using a YOLO v11 base model.","archived":false,"fork":false,"pushed_at":"2024-12-30T22:52:45.000Z","size":6336,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T23:18:02.983Z","etag":null,"topics":["computer-vision","drowsiness-detection","drowsiness-detection-python","fine-tuning","yolo","yolov11"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mosesab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-12-30T22:05:42.000Z","updated_at":"2024-12-30T23:00:48.000Z","dependencies_parsed_at":"2024-12-30T23:28:06.611Z","dependency_job_id":null,"html_url":"https://github.com/mosesab/YOLOV11-Drowsiness-Detection","commit_stats":null,"previous_names":["mosesab/yolov11-drowsiness-detection"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosesab%2FYOLOV11-Drowsiness-Detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosesab%2FYOLOV11-Drowsiness-Detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosesab%2FYOLOV11-Drowsiness-Detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosesab%2FYOLOV11-Drowsiness-Detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mosesab","download_url":"https://codeload.github.com/mosesab/YOLOV11-Drowsiness-Detection/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240245886,"owners_count":19771029,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["computer-vision","drowsiness-detection","drowsiness-detection-python","fine-tuning","yolo","yolov11"],"created_at":"2025-01-03T21:46:53.330Z","updated_at":"2025-02-22T22:43:49.352Z","avatar_url":"https://github.com/mosesab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drowsy Detection with YOLOv11\n\nThis repository contains the full implementation of a drowsy detection system, leveraging the YOLO (You Only Look Once) object detection algorithm fine-tuned for the \"awake\" and \"drowsy\" datasets. The project uses the Python `ultralytics` library for training and inference.\n\n## Table of Contents\n- [Dataset](#dataset)\n- [Files and Structure](#files-and-structure)\n- [Training Process Overview](#training-process-overview)\n- [Dependencies and Requirements](#dependencies-and-requirements)\n- [Key Results](#key-results)\n- [Citation](#citation)\n\n---\n\n## Dataset\n\nThe dataset used for training can be downloaded from the following link:  \n[Complete YOLO Drowsy Images Dataset](https://firebasestorage.googleapis.com/v0/b/electora-8c1d6.appspot.com/o/Complete%20YOLO%20Drowsy%20Images%20Dataset.zip?alt=media)\n\nThe dataset includes annotated images in YOLO format, with labels specifying the \"awake\" and \"drowsy\" states.\n\n---\n\n## Files and Structure\n\n### Repository Structure:\n```plaintext\n│ notebook.ipynb               # Initial training session\n│ notebook2.ipynb              # Resumed training session\n├─training_and_testing_files:  # Outputs and intermediate results\n│   args.yaml\n│   confusion_matrix.png\n│   confusion_matrix_normalized.png\n│   F1_curve.png\n│   labels.jpg\n│   labels_correlogram.jpg\n│   PR_curve.png\n│   P_curve.png\n│   results.csv\n│   results.png\n│   results1.png\n│   results2.png\n│   results3.png\n│   results4.png\n│   results5.png\n│   R_curve.png\n│   train_batch*.jpg\n│   val_batch*_labels.jpg\n│   val_batch*_pred.jpg\n├─.ipynb_checkpoints:          # Checkpointed files\n└─pics:                        # Selected visualization outputs\n    confusion_matrix.png\n    F1_curve.png\n    labels.jpg\n    train_batch34880.jpg\n    val_batch1_pred.jpg\n```\n\n---\n\n## Training Process Overview\n\n1. **Dataset Loading:**\n   - YOLO utilizes a `yaml` file to define the paths for training and validation datasets and their corresponding class labels.\n\n2. **Key Parameters for Training:**\n   - **Epochs:** The model was trained for 50 epochs to balance learning and avoiding overfitting.\n   - **Image Size:** All input images were resized to 640x640 pixels to match YOLO's expected square input format.\n   - **Batch Size:** A batch size of 16 was used to optimize training efficiency.\n\n3. **Hardware and Framework:**\n   - **Framework:** PyTorch backend via the `ultralytics` library.\n   - **Hardware:** Training and inference were performed on an Nvidia RTX 3080 GPU.\n\n---\n\n## Dependencies and Requirements\n\n- Python 3.8+\n- Key Python libraries:\n  - `ultralytics` for YOLO-based training and inference\n  - `torch` and `torchvision` for PyTorch operations\n  - `numpy`, `matplotlib`, and `pandas` for data processing and visualization\n- GPU with CUDA support (recommended: Nvidia RTX 3080 or higher)\n\nInstall dependencies using the following command:\n```bash\npip install ultralytics torch torchvision numpy matplotlib pandas\n```\n\n---\n\n## Key Results\n\n- **Performance Metrics:**\n  - Confusion Matrix: `confusion_matrix.png` and `confusion_matrix_normalized.png`\n  - Precision-Recall (PR) Curve: `PR_curve.png`\n  - F1 Curve: `F1_curve.png`\n  - Results stored in `results.csv` and visualized in `results*.png`\n\n- **Visualizations:**\n  - Training Batches: `train_batch*.jpg`\n  - Validation Predictions: `val_batch*_pred.jpg`\n\n---\n\n## Citation\n\nIf you use this repository in your research, please cite it using the following DOI link:  \n[DOI Placeholder]()\n\nFeel free to open issues or pull requests if you encounter any problems or have suggestions for improvement.\n\n--- \n\n**License:** This project is licensed under the MIT License. See `LICENSE` for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosesab%2Fyolov11-drowsiness-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmosesab%2Fyolov11-drowsiness-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosesab%2Fyolov11-drowsiness-detection/lists"}