In this object detection work we aim to locate bacterial flagellar motors from 2D cryogenic electromagnetic images leveraging a RCNN with a ResNet50 backbone in pytorch.
__pycache__/
: Cache directoryreadme_images/
: Folder containing images for READMEREADME.md
: Main project README fileimage_name_to_coordinates.json
: JSON file containing image names and image coordinatesmodel_train_data_transformations.ipynb
: Jupyter Notebook for model training data transformationspreprocessing.ipynb
: Jupyter Notebook for preprocessing datatrain.csv
: CSV file containing training datatrain.ipynb
: Jupyter Notebook for model trainingutils.py
: Python utility functions
The data contains 3960 2D cryogenic electromagnetic images of bacteria, some with flagellar motors and some without. The data is split it a train and test set. The labels can be found in the train.csv
file. The labels are structured as x and y coordinates of the image where the motors are found.
To complete this task we use a RCNN with a ResNet50 backbone based on the IMAGENET1k dataset and fine-tune it to the data. We also leverage multiple data transformations to artificially increase the training set size with the hopes of making the model more externally valid. The first data transformation that we used were randomly changing the brightness since many images were darker or brighter than others. The second was randomly flipping the image vertically and horizontally. The final transformation we used was a random rotation since we always have an view orthogonal to the image.
In fine-tuning the pre-trained model were were able to drastically decrease the loss on the training set. The results from the validation set were appoximately 0.44.
Noah Andersen https://github.com/noah-andersen
Hunter Davis https://github.com/kingarthurdavis78