Skip to content

Elias2660/Unified-bee-Runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unified Bee Runner

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.

Pipeline

PipelineImage

Table of Contents

Installation

  1. Clone the repository:

    git clone https://github.com/Elias2660/Unified-bee-Runner.git

Usage

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

Pipeline Steps

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.

  1. Video Conversion and Counting: Converts .h264 videos to .mp4 format and creates counts.csv.
  2. Background Subtraction: Applies background subtraction to the video frames to isolate the bees
  3. Dataset Creation: Creates the dataset.csv
  4. Data Splitting: Splits the data into training and testing sets
  5. Video Sampling: Clones the VideoSamplerRewrite repository and samples the video frames
  6. Model Training: Runs the model training script

Other Stuff

This projects has other project submodules in the non_workflow_links directory, which relate to other parts of the bee project.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Code of Conduct

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.

Reporting a Vulnerability

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.

License

This project is licensed under the MIT License.