Primary Keywords: Computer Vision β’ Deep Learning β’ Safety Monitoring β’ Image Classification β’ Workplace Safety
Technical Stack: TensorFlow/Keras β’ OpenCV β’ CNN β’ Transfer Learning β’ VGG-16 β’ Python β’ NumPy
Business Focus: Safety Compliance β’ Risk Management β’ Automated Monitoring β’ Industrial Safety β’ Accident Prevention
Industry: Construction β’ Manufacturing β’ Industrial Safety β’ Mining β’ Oil & Gas β’ Workplace Safety
Project Type: Computer Vision & Deep Learning | Industry: Industrial Safety | Focus: Automated Safety Compliance & Risk Reduction
This project focuses on building a deep learningβbased computer vision system to automatically detect whether workers are wearing safety helmets in industrial or construction environments. The solution improves workplace safety monitoring by automating compliance checks and reducing reliance on manual supervision.
The primary goal was to develop an image classification model capable of distinguishing between workers with and without helmets. Such a system enhances safety enforcement, reduces accident risks, and supports real-time safety monitoring at scale.
- Source: Provided as part of the project coursework
- Size: 631 labeled images
- Categories:
With Helmetβ Workers wearing helmetsWithout Helmetβ Workers without helmets
- Data Preprocessing β Converted images to grayscale, normalized pixel values, and split data into training, validation, and test sets.
- Model Development β Built and trained CNN-based classifiers, including a baseline CNN and transfer learning models (VGG-16).
- Model Enhancement β Applied data augmentation, fine-tuned architectures, and compared model performances.
- Evaluation & Insights β Selected the best-performing model for deployment in real-world safety applications.
- Delivered a highly accurate model for helmet detection across diverse real-world conditions.
- Enabled scalable, automated safety compliance monitoring.
- Demonstrated the potential of computer vision in workplace safety and industrial automation.
- Language: Python
- Libraries: TensorFlow/Keras, OpenCV, NumPy, Matplotlib, Seaborn
- Tools: Jupyter Notebook / Google Colab
- Python 3.7+
- Jupyter Notebook or Google Colab
- Required libraries (see requirements below)
# Clone the repository
git clone https://github.com/sandesha21/helmnet-helmet-detection.git
cd helmnet-helmet-detection
# Install required packages
pip install tensorflow opencv-python numpy pandas matplotlib seaborn scikit-learn
# Launch Jupyter Notebook
jupyter notebook HelmNet_Full_Code_sbadwaik_Final.ipynb- Open the main notebook:
HelmNet_Full_Code_sbadwaik_Final.ipynb - Run all cells to reproduce the complete analysis
- The notebook includes data preprocessing, model training, and evaluation
- Pre-processed data (
images_proj.npy) and labels (Labels_proj.csv) are ready to use
The trained CNN model achieves:
- High accuracy in helmet detection across diverse conditions
- Robust performance with data augmentation techniques
- Transfer learning optimization using VGG-16 architecture
- Real-world applicability for industrial safety monitoring
Detailed performance metrics and evaluation results are available in the notebook.
Issue: ModuleNotFoundError for TensorFlow/OpenCV
- Solution: Ensure all dependencies are installed:
pip install -r requirements.txt
Issue: Memory error when loading images_proj.npy
- Solution: The dataset is large (~631 images). Ensure you have at least 4GB RAM available or use Google Colab for cloud processing
Issue: Notebook kernel crashes during model training
- Solution: Reduce batch size in the notebook or use GPU acceleration (Google Colab with GPU runtime)
Issue: CUDA/GPU not detected
- Solution: Install GPU-enabled TensorFlow:
pip install tensorflow[and-cuda]or use CPU-only version
- Check the PROJECT_DESCRIPTION.md for detailed technical documentation
- Review the Jupyter notebook for inline comments and explanations
- Open an issue on GitHub for bugs or feature requests
βββ HelmNet_Full_Code_sbadwaik_Final.ipynb # Complete CNN model implementation and analysis notebook
βββ images_proj.npy # Preprocessed image dataset (631 helmet/no-helmet images)
βββ Labels_proj.csv # Image classification labels (helmet detection ground truth)
βββ PROJECT_DESCRIPTION.md # Detailed technical documentation and business context
βββ README.md # Project overview and setup guide
βββ LICENSE # Project license information
Contributions are welcome! If you have suggestions for improvements:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/improvement) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Sandesh S. Badwaik
Applied Data Scientist & Machine Learning Engineer
π If you found this project helpful, please give it a β!