Skip to content

Blindness Detection - Machine Learning Model for Diabetic Retinopathy Patients

License

Notifications You must be signed in to change notification settings

BinaryQuBit/Blindness-Detection

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation







The Blindness Detection Project focuses on creating a computer-aided diagnosis system that leverages Convolutional Neural Network (CNN) algorithms for the early detection of Diabetic Retinopathy (DR), a leading cause of blindness among diabetic patients. The project involves the use of a large dataset of eye images obtained from Kaggle, which has been preprocessed and resized to a uniform size to enhance the performance of the CNN models. The project also involves the development of various CNN models using TensorFlow and Keras libraries, which will be trained on the preprocessed dataset. The performance of these models will be evaluated using different metrics, such as accuracy, sensitivity, and specificity. The ultimate goal of this project is to develop an accurate and efficient computer-aided diagnosis system that can assist healthcare professionals in the early detection of DR, thus reducing the risk of blindness among diabetic patients.



Diabetic Retinopathy (DR) is a medical condition in which damage occurs to the retina due to diabetes. It is a leading cause of blindness in adults, especially among those with prolonged diabetes. The condition often presents no symptoms in its early stages, making regular eye examinations critical for diabetic patients to detect and manage DR before it leads to significant vision loss. Early detection and treatment are paramount in preventing blindness, making the development of efficient and reliable diagnostic tools a priority in medical research and healthcare.



  • Healthcare Professionals
  • Medical Researchers and Academics
  • Data Scientists and AI Practitioners
  • Healthcare Administrators and Policymakers
  • Patients and Patient Advocacy Groups
  • Technology Developers
  • Educational Institutions


  • Dataset Utilization and Preprocessing
  • Model Development
  • Performance Evaluation
  • Application in Healthcare

Assumptions:

  • Availability and Quality of Data
  • Effectiveness of Preprocessing Techniques
  • Capability of CNN Models
  • Relevance of Evaluation Metrics
  • Implementation Feasibility
  • Clinical Applicability
  • Generalizability

Constraints:

  • Data Limitations
  • Computational Resources
  • Preprocessing Challenges
  • Model Performance
  • Integration and Deployment
  • Regulatory and Ethical Considerations
  • Evaluation Metrics
  • Financial Constraints
  • Scalability
  • Time Constraints

👩‍💻 Languages

PYTHON JAVASCRIPT HTML5 CSS3

🤖 Machine Learning Libraries

KERAS MATPLOTLIB TENSORFLOW PANDAS NUMPY

🚀 Development Tools & Environments

DOCKER VSCODE

💻 Web Development Frameworks & Libraries

NODEMON FLASK NPM NEXT JS NODE JS

🌐 Web Servers

NGINX CASA OS

⚙️ Hardware and Microcontroller Boards

RASPBERRY PI



  • Dataset -> APTOS 2019 Blindness Detection

  • Architecture -> Inception-V3

  • Model was created with Google Collab (TF:2.15.0)

    code -> modelCreation -> createModel.ipynb
    
  • Keras Model (h5) conversion to Tensorflow Lite (tflite). This was done to be used for arm64 architecture.

    code -> modelCreation -> converter.ipynb
    
  • Cross-platform emulator -> tonistiigi/binfmt



  • Accuracy: 77.68%


  • Given that the model was initially trained on an AMD64 architecture and using an emulator on ARM64 systems like Raspberry Pi is inefficient, it is advisable to retrain the model directly on ARM64 architecture for optimal performance.
  • Exploring different pre-trained architectures such as VGG16 could potentially enhance the model's accuracy.




Languages

  • Jupyter Notebook 49.4%
  • JavaScript 23.8%
  • CSS 16.0%
  • Python 6.8%
  • Shell 2.8%
  • Dockerfile 1.2%