Vector-borne diseases are responsible for over 700,000 deaths annually, accounting for more than 17% of all infectious diseases. This project leverages image recognition through Neural Networks to identify harmful vectors, such as insects and arachnids, that may carry diseases. By recognizing key morphological features of these vectors, we can differentiate between disease-carrying species and non-harmful animals.
The goal of this project is to accurately identify different genera of disease-carrying vectors (e.g., mosquitoes, ticks, and kissing bugs) based on visual features. For example, distinguishing an Anopheles mosquito (known for its characteristic striped body) from a common mosquito (which typically has a plain brown body). This project utilizes neural networks to analyze images and classify various species of disease vectors, enabling quicker detection and response to potential disease outbreaks.
The neural network is trained to identify and classify the following vectors:
- Anopheles mosquito
- Aedes mosquito
- Culex mosquito
- Various genera of ticks (including Lone Star tick and Black-legged tick)
- Blackfly
- Triatoma (also known as the kissing bug)
- Body Morphology: Identifying characteristic body markings, such as striped patterns in Anopheles mosquitoes.
- Anatomical Positioning: Analyzing the positioning and structure of body parts to distinguish between species.
- Comparative Analysis: Contrast between vectors and non-harmful animals based on visual characteristics.
This project is implemented in Python and utilizes the following libraries:
- TensorFlow and Keras: For building and training the neural network models.
- NumPy: For numerical operations and data manipulation.
- skimage: For image processing and feature extraction.
- PIL (Python Imaging Library): For handling image input/output and augmentation.
- Web Scraping: To gather large datasets of vector images for training.
- Image Augmentation: To enhance the dataset and increase model robustness.
- Data Collection: Web scraping techniques are employed to gather large datasets of vector and non-vector images.
- Data Preprocessing: Images are processed and augmented to improve the model's ability to generalize.
- Model Training: A convolutional neural network (CNN) is used to train the model to recognize distinguishing features of different vectors.
- Prediction & Classification: The trained model classifies incoming images as either harmful vectors or non-harmful animals.