
Build and deploy a CNN-based medical diagnosis model from scratch for remote, web-based access. Explore practical techniques in computer vision, deep learning, and pattern recognition for medical image diagnosis.
Explore the CNN architecture, contrasting end-to-end deep learning with traditional hand-crafted features, and learn how convolution, ReLU, and max-pooling extract features for medical image diagnosis.
Explore the convolutional operation in CNNs by applying 3x3 filters with zero padding to a 6x6 input. Learn how to implement this in Python with a 32-filter convolutional layer.
Apply the ReLU activation to the convolution output, turning negatives to zero and keeping positives, with a Python implementation and placement as a new layer before max-pooling.
Learn how max-pooling follows ReLU, reduces data by applying a 2-by-2 window and taking the maximum from each region, and how to implement this layer in Python.
Explore the fully connected layer after the flattening step in CNNs, where inputs connect to neurons through weights and bias, and ReLU activation is applied.
Demonstrates the softmax classifier as the CNN's last layer, using two fully connected neurons for normal and abnormal classes, computing probabilities from inputs, weights, and biases.
Master data normalization before training a CNN for medical image diagnosis. Normalize grayscale pixel values by scaling to 0-1, shifting to zero mean, and standardizing to unit variance using Keras.
Learn how cross entropy loss function guides CNN training for medical image diagnosis by computing error from predicted class probabilities against true labels.
Implement python cnn training for chest x-ray classification, organize data into training and validation sets, build a 3-block cnn with 32–64–128 filters, train with sgd and cross-entropy, and save model.
Explore a python implementation of cnn evaluations for medical image diagnosis, including reloading the trained model, preparing testing data, and computing accuracy, precision, recall, f1, roc, and two-class confusion matrix.
Explore how data augmentation using rotation, shifting, zooming, and brightness via the image data generator improves CNN performance, reduces overfitting, and raises ROC AUC to 0.91 in medical image diagnosis.
Replace the ReLU with LeakyReLU in a CNN to address zero gradients, improving performance on medical image diagnosis and achieving a roc area of 0.92.
Explains early stopping in cnn training by monitoring validation accuracy and halting if there is no improvement for 10 epochs, reducing training to 30 epochs while preserving testing accuracy.
Explore transfer learning with the Microsoft ResNet network, highlighting deep residual architecture with branches and shortcuts, replaced fully connected layers by average pooling. Results show limited gains versus transfer VGG.
Learn transfer learning with the Google Inception network for medical image diagnosis, comparing Inception v3 and v4, and replacing the classification layer with an average pooling classifier.
To deploy your trained CNN model perform the following steps:
1- Move run_server.py into your current working folder.
2- Move the trained medical_diagnosis_cnn_model.h5 model into your current working folder.
3- Create new folder inside your current working folder and name it templates.
4- Move index.html file into templates folder.
This course was designed and prepared to be a practical CNN-based medical diagnosis application. It focuses on understanding by examples how CNN layers are working, how to train and evaluate CNN, how to improve CNN performances, how to visualize CNN layers, and how to deploy the final trained CNN model.
All the development tools and materials required for this course are FREE. Besides that, all implemented Python codes are attached with this course.