Deep learning experiment - pixel classification
View the Project on GitHub MontpellierRessourcesImagerie/DL_EXP_PC
Deep learning experiment - pixel classification
A simple example of the creation and application of a neural network to pixel classification using keras.
chapter | content | open in colab | open locally |
---|---|---|---|
Pixel classification | example of a small fully connected network that classifies pixel in images | DL01 | DL01 |
01 - installation | keywords, functions, modules and packages, booleans, if-statement, help, shell-commands | Cell01 | Cell01 |
02 - paths, patch and sample size | variables, integers, floats, strings | Cell02 | Cell02 |
03 - reading the input and ground-truth image | loading and displaying tif-images | Cell03 | Cell03 |
04 - getting foreground and background pixels | tupels, lists, numpy arrays and the python imaging library (PIL) | Cell04 | Cell04 |
05 - random sampling of training data | pseudo random numbers, for-loops, while-loops, objects and classes, random sampling | Cell05 | Cell05 |
06 - preparation of training data | creating the network input from intensities in pixel neighborhoods | Cell06 | Cell06 |
07 - shuffle and deal | shuffling feature vectors and labels | Cell07 | Cell07 |
08 - creating the network | keras, sequantial model, adding layers, compiling, activation, metrics, loss, optimizer, visualization | Cell08 | Cell08 |
09 - training the network | fitting the model, history of loss and accuracy, validation split, epochs, batch size, testing | Cell09 | Cell09 |
10 - visualizing performance | creating plots with matplotlib and interactive plots with mpld3 | Cell10 | Cell10 |
11 - classifing a single feature vector | predict, predict_classes, flatten | Cell11 | Cell11 |
12 - extracting feature vectors from images | manually setting weights, saving and loding a model, neighborhoods to features | Cell12 | Cell12 |
13 - creating the output folder and getting the input paths | isdir, listdir, join paths, list comprehension, sorting | Cell13 | Cell13 |
14 - classifying pixels in images | image segmentation, thresholding, cropping, writing tiff images | Cell14 | Cell14 |
15 - visualizing results | matplotlib, pyplot, subplots and imshow | Cell15 | Cell15 |
A one unit network | an example with the smallest network possible containing only one unit | Bonus track | Bonus track |