A Deep learning model used to identify the malaria cell and say if a person is suffering from malaria.
The dataset contains around 22600
different images of malaria cells and a csv file that maps each of the images' file names to a label saying if that cell is a malaria
cell or a healthy
cell.
Since each of these images is of varying dimensions, the mean of the horizontal and vertical components of dimensions are calculated and is found to be 132px
x 132px
. All the cell images are resized to this dimension in order to feed to the model.
These resized images are then split into training and testing data. From these training and testing data, HOG features are extracted from the images and stored in train_features
and test_features
lists respectively, which are later converted to numpy
arrays.
According to Wikipedia, "The Histogram of oriented gradients (HOG) is a feature descriptor used in computer vision and image processing for the purpose of object detection". The HOG descriptor focuses on the structure or the shape of an object. It is better than any edge descriptor as it uses magnitude as well as angle of the gradient to compute the features.
- Leaky ReLU
- Tanh
- Softmax
- Sigmoid
- Numpy
- Pandas
- LabelEncoder - Sklearn
- Imread, Imshow - Scikit-image
- Resize - Scikit-image
- Train test split
- Hog
- Sequential - Keras.models
- Dense - Keras.layers
- LeakyReLU - Keras.layers.advanced_activations
The Deep learning model consists of 5 layers with 128 perceptrons in the first three layers, 64 perceptrons in the fourth layer and 128 in the fifth layer. The output layer uses only 2 perceptrons as the cell has to be classified as either healthy
or malaria
.
The deep learning model can be represented similar to the diagram shown below:
This model is accurate up to 80.3% when implemented on test data.
I'm looking forward to learn and implement better machine learning and Deep learining models that has a better performance.
Thank You.