as a method for
The course is taught by Ramdya Lab.
DL processing and plots by Olesia, traditional image processing and most of the written text by Kaleem and Kiara.
Report.pdf
: project objective, description of the setup and methods, and results.
create_dataset_template.py
: create the labeling template,extract_keypoints.py
: extract the keypoints from the labeled COCO style dataset.
crop_imgs_train.py
: crop and filter labeled images,prepare_train.py
: augment and split into stripes imgs and corresponding keypoints.
prepare_test.py
: crop, filter and split into stripes the test dataset.
model.py
: the neural net used for predictions,train_split.py
: train model.
predict_test.py
: make predictions using the trained model.
view_keypoints_test.py
: create an animation from the test sample to illustrate predictions.
count_backwards.py
: count backward and forward movements and no movement,light_times.py
: get the frames when the light turns on to center the time series,plot_traces.py
: plot movement traces,plot_traces.py
: plot movement traces in one picture,plot_boxplots.py
: plot boxplots with Backward / (Backward + Forward) distribution.
NB:
data/orig/
lacks\*/\*/img_split_sorted.pt
files because they take up a lot of space (~10 GB). If you need them for test predictions, runprepare_test.py
,data/label
lacksimgs_expanded_split.pt
file (~400 MB). To get it, runprepare_train.py
.
Data processing with the traditional image processing approach (OpenCV) is contained in the ImageProcessingModel
folder.
It contains two files:
preprocessng.py
: generate the preprocessed image and detect the heading direction,DeterminingDirection.ipynb
: This file contains the latest version of both methods for detecting direction (longest distance, split boxes).
data.zip
(GDrive): all originally recorded data as imagesdata_Videos.zip
(GDrive): original data converted to video formatVideoGeneration.ipynb
: helper notebook to convert still frames into a video at 10 fps.