Unified Bee Runner is a pipeline for processing and analyzing bee-related datasets. This project includes several steps such as dataset creation, video conversion, data splitting, and model training. The model is meant to run on ilab, and through slurm.
-
Clone the repository:
git clone https://github.com/Elias2660/Unified-bee-Runner.git
To run the pipeline, use the provided shell script in SLURM. If you don't want to, (this is not recommended though) you can execute it in your command line, though this will take a while:
NOTE: Do not cd
into the Unified-Bee-Runner
dir to run with default settings. They are configured to run in the dir containing the data. Your file structure should look like when you run the commands (you should be in data_dir):
data_dir
├── Unified_bee_Runner
├── d1.mp4
├── d2.mp4
├── d3.mp4
├── logNo.txt
└── logPos.txt
Run squeue -u <user>
to be able to find your current jobs and the servers that they are running on.
You can edit the Unifier_Run.sh file with the settings that you desire. You can check the settings by running python3 Unified-bee-Runner/master_run.py -h
or checking in ArgParser.py for the arguements that can be used. Not all of them work, including those that crop, and this pipeline is still working through many bugs.
Then run:
sbatch -x [servers, such as server1,server2] Unified-bee-Runner/Unifier_Run.sh
To run with default settings, you can run:
./Unified-bee-Runner/Slurm_Run.sh
This is run using the chapter system, so you can choose the specific steps that are used here by editing the --start
and --end
commands, which are by default respectively set at 0 and 6, which will run the entire model.
Video Conversion and Counting
: Converts .h264 videos to .mp4 format and creates counts.csv.Background Subtraction
: Applies background subtraction to the video frames to isolate the beesDataset Creation
: Creates the dataset.csvData Splitting
: Splits the data into training and testing setsVideo Sampling
: Clones the VideoSamplerRewrite repository and samples the video framesModel Training
: Runs the model training script
This projects has other project submodules in the non_workflow_links directory, which relate to other parts of the bee project.
Contributions are welcome! Please open an issue or submit a pull request.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
If you discover a security vulnerability within this project, please report it. We will respond to your report promptly and work with you to understand and address the issue.
This project is licensed under the MIT License.