Pranav B's other Models Reports

Major Concepts

 

Sign-Up/Login to access Several ML Models and also Deploy & Monetize your own ML solutions for free

Models Home » Domain Usecases » Health Care and Pharmaceuticals » Brain Hemorrhage Classification

Brain Hemorrhage Classification

Models Status

Model Overview

BRAIN HEMORRHAGE

Brain hemorrhage is a type of stroke. It refers to bleeding in the brain, also known as a brain bleed or intracranial hemorrhage in medical terms. Factors that can be affecting brain hemorrhage are:



  • head injury

  • cerebral aneurysm 

  • weakened bulge in a brain artery

  • extremely high blood pressure

  • blood vessel anomalies

  • bleeding disorders

  • liver disease

  • brain tumor

  • illicit drugs consumption


Hemorrhages, they are common in older adults, but they might also occur in children. Most of the hemorrhages that occur unexpectedly in children are due to anomalies in the blood vessels. According to the 'National Stroke Association', a stroke happens in about 1 in 4,000 live births. Strokes occur at a slightly higher rate in children under the age of two. Children typically recover from brain hemorrhages with better outcomes than adults as a child’s brain is still developing.


Signs of Brain Hemorrhages:



  • A acute or sudden headache

  • Arm or leg weakness, tingling, or numbness (often on one side)

  • Vomiting or nausea

  • Vision shifts

  • Shift in balance

  • Difficulties speaking or understanding what is stated

  • Trouble using fine motor skills

  • Seizures

  • Consciousness loss


Treatment for Brain Hemorrhages:

A brain hemorrhage's treatment varies depending on the size, location, and amount of edema it produces, but it might include medication or surgery. The immediate thing to do is to seek medical assistance, which should be done as soon as possible.


Usage:

The proposed model can be used by physicians or medical professionals to get a first and fast opinion on the situation.


Dataset:

The dataset contains 100 normal head CT slices and 100 with hemorrhage.



  • Hemorrhage


       


  • Normal


       

 NOTE:


As data is less it can’t be used for an actual deployment but in future, as we get more data it can be developed to a production-grade.


Solution:


After the image is being read it is resized to height and width of 224, 224 respectively. 


 


image_w = 224

image_h = 224

image_resized = cv2.resize(image,(image_w,image_h))

 


Algorithm used:


CNN:


A Convolutional Neural Network (ConvNet/CNN) is one of the Deep Learning algorithms that can take in an image, assign importance (learnable weights and biases) to distinct aspects/objects in the image, and distinguish one from the other. Compared to other classification algorithms, the amount of pre-processing required by a ConvNet is significantly less. While filters in primitive approaches are hand-engineered, ConvNets can learn these filters/characteristics with adequate training.


Sequential type is the simplest technique to create a CNN model in Keras. It enables us to construct a model layer by layer. To add layers to the model, use the 'add()' method.


Layers:


Convolution2D: 


Convolutional neural networks rely heavily on the convolutional layer, which is always at least the first layer. It is used to extract the various features from the input images. By moving the filter over the input image, the dot product is calculated between the filter and the regions of the input image that is proportional to the filter's size.


Convolution2D(32, (3, 3),activation = 'relu', input_shape=input_shape)

MaxPooling2D: 


Max Pooling returns the maximum value from the picture segment. It is also performed as Noise Suppressant. It disregards all noisy activations and conducts de-noising as well as dimensionality reduction.


model_new.add(MaxPooling2D(pool_size=(2, 2)))

Dense:


A dense layer is one that is strongly coupled to the layer before it, which indicates that the neurons in the layer are connected to every neuron in the layer before it.


model_new.add(Dense(64, activation = 'relu'))

 Dropout:


Dropout Layer is a prominent regularisation approach for reducing overfitting in deep learning models. Overfitting happens in the model when it performs better on the training data but performs worse on the test data or unknown data. The dropout approach involves randomly dropping or omitting neurons in hidden or visible layers. 


model_new.add(Dropout(0.5))

Compile the model using a 'binary cross entropy' loss function, RMS prop optimizer, and accuracy metric.


model_new.compile(loss='binary_crossentropy',optimizer='rmsprop',metrics=['accuracy'])


All Layers:



Accuracy Metrics:





0 comments