Cracked Screen Detection with Machine Learning

Project Overview

This project focuses on detecting cracked screens using a machine learning-based approach to improve diagnostic accuracy in phone repairs. The system leverages Histogram of Oriented Gradients (HOG) for feature extraction and a k-Nearest Neighbors (k-NN) classifier to classify cracks, achieving an accuracy of 85%.

The solution was motivated by the challenges of manual screen inspections, which often resulted in inconsistent assessments and poor customer recommendations.

Technologies Used

  • Programming Languages: Python
  • Libraries: OpenCV, scikit-learn, NumPy
  • Algorithms: k-Nearest Neighbors (k-NN)
  • Feature Extraction: Histogram of Oriented Gradients (HOG)

Key Challenges

  • Data Limitations: Tackled the challenge of limited dataset size by implementing robust data augmentation techniques (e.g., rotation, flipping).
  • Annotation Accuracy: Addressed noise in bounding box annotations by implementing preprocessing and filtering techniques.
  • Feature Generalization: Ensured the model generalized well across different lighting and screen damage patterns.

Results

  • Accuracy: Achieved 85% classification accuracy, significantly improving consistency in screen defect detection.
  • Time Efficiency: Reduced diagnostic time from 30 minutes to under 5 minutes, enabling faster and more reliable recommendations for repairs.

Images

Example Cracked Screen
Caption: Image showing labeled regions of interest (ROIs) for cracked screen detection.

Future Work

  • Integrate deep learning models such as Convolutional Neural Networks (CNNs) to enhance the model’s performance on more complex screen defects.
  • Expand the application to detect other hardware defects, such as water damage or battery health indicators.