/Baymax

Baymax is a multilingual medical ecosystem capable of diagnosing diseases remotely. It aims to improve healthcare accessibility in rural and remote parts of India. The chatbot uses AI/ML technologies for efficient disease diagnosis and patient support.

Primary LanguageJupyter NotebookMIT LicenseMIT

Baymax - Low Budget Medical Aid Solution for Rural and Remote Areas

Introduction

Baymax is a low-budget medical aid solution designed to address the scarcity of medical assistance in rural, remote, and even urban areas. The application aims to provide efficient medical diagnosis and treatment recommendations by leveraging advanced technologies such as voice recognition, machine learning, computer vision, and multi-language support. Baymax can communicate with patients through voice, text, and even sign-language, making it accessible to individuals with different abilities.

Problem

In many parts of the world, people face challenges in accessing medical aid, especially in rural and remote areas. This results in wasted time, money, and sometimes critical delays in receiving proper medical diagnosis and treatment. Even in urban areas, overcrowding in clinics can cause significant delays in the diagnostic process.

Solution

Baymax offers a comprehensive solution to tackle medical aid scarcity in various scenarios:

  • Rural Area: Instead of traveling to distant cities, patients can visit the nearest health center equipped with Baymax. By communicating their symptoms, the application can diagnose their condition and suggest appropriate treatments and tests.

  • Remote Area: People in remote areas can benefit from Baymax installed in local health centers. The application's diagnosis capabilities help avoid the need for costly ambulance or air ambulance services.

  • Urban Area: Baymax can assist doctors in urban clinics to speed up the diagnostic process. By leveraging machine learning algorithms, Baymax can quickly analyze patient symptoms, reducing the time required for each diagnosis.

Features

  • Voice, text, and sign-language communication with patients.
  • Efficient diagnosis using decision trees with AdaBoost algorithm.
  • Gender detection through computer vision for personalized interactions.
  • Multi-language support including English, Hindi, Marathi, Bengali, Tamil, Telugu, etc.
  • Cross-platform compatibility for Windows, Mac, Linux, and Android.
  • Google Voice API integration for language translation.
  • Friendly GUI with a "Help" button for user guidance.
  • Encrypted database using Oracle's MySQL for secure storage of patient records.

Technologies Used

  • Programming Language: Python
  • Machine Learning: TensorFlow, Keras
  • Computer Vision: OpenCV
  • GUI Development: Kivy
  • Natural Language Processing: NLTK
  • Voice Recognition: Google Voice API
  • Database: Oracle's MySQL

Sure, here's some additional technical information about the Baymax project:

Technical Information

Decision Trees with AdaBoost Algorithm

Baymax utilizes the Decision Tree algorithm with the AdaBoost (Adaptive Boosting) technique for disease diagnosis. Decision trees are constructed based on a dataset that correlates diseases to their symptoms. AdaBoost helps improve the accuracy of decision trees by combining multiple weak learners (in this case, decision trees) to create a strong learner.

Deep Neural Network (DNN) for Gender Detection

To detect the gender of a person interacting with Baymax, a Deep Neural Network (DNN) is used. This DNN is trained on a dataset of over 5000 images containing various individuals' faces with their respective genders labeled. The DNN can accurately determine whether the person in front of Baymax is male or female, enabling personalized interactions.

Natural Language Processing (NLP) with NLTK

Baymax incorporates Natural Language Processing (NLP) using the NLTK (Natural Language Toolkit) library. NLP is used for text processing to extract useful information from the user's input. It helps Baymax understand the symptoms described by the patients and interact with them in a more human-like manner.

Cross-Platform Development with Kivy

The Graphical User Interface (GUI) of Baymax is developed using Kivy, a Python library for cross-platform development. Kivy allows Baymax to be installed and used seamlessly on various platforms, including Windows, Mac, Linux, and Android, without significant code changes.

Voice Recognition with Google Voice API

To enable voice communication with patients in different languages, Baymax integrates with the Google Voice API. The API recognizes and translates the patient's spoken language into English, facilitating further language processing and diagnosis.

Computer Vision with OpenCV

Computer vision is a crucial component of Baymax's interactions with patients. OpenCV is used to capture the image of the patient, detect their face, and process the image to make it suitable for feeding into the gender detection DNN. This ensures the application's ability to provide personalized interactions based on gender.

Encrypted Database with Oracle's MySQL

Baymax stores all critical patient information, including medical records, prescriptions, diagnosis, and test reports, in an encrypted database. Oracle's MySQL is chosen as the database management system to ensure data security and confidentiality.

These technical aspects of Baymax combine to create a robust and efficient low-budget medical aid solution. By employing machine learning, computer vision, natural language processing, and cross-platform development, Baymax addresses the challenges of medical scarcity in various settings, providing accessible and timely medical assistance to patients in need.

License

Baymax is open-source software licensed under the MIT License. Feel free to use, modify, and distribute the application in accordance with the terms of the license.