hot-air-baloon-bubble-detection
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: noahwons
- License: agpl-3.0
- Language: Python
- Default Branch: master
- Size: 108 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
YOLOv5 Bubble Detection for Hot Air Balloon Viles
This project uses a YOLOv5 model trained to detect bubbles in hot air balloon viles. The model can detect bubbles in video frames, making it useful for automated bubble detection in various hot air balloon scenarios.
Table of Contents
Installation
Step 1: Clone the repository
Clone this repository to your local machine using the following command:
bash
git clone https://github.com/noahwons/Hot-air-Baloon-Bubble-Detection.git
cd Hot-air-Baloon-Bubble-Detection
This will create a local copy of the repository and navigate into the project directory.
Step 2: Install dependencies
Ensure you have Python 3.7+ installed and then install the required dependencies using pip:
bash
pip install -U -r requirements.txt
This will install all the necessary libraries and dependencies, including PyTorch, OpenCV, and YOLOv5.
Requirements
- Python 3.7+ (recommended version)
- PyTorch (for deep learning framework)
- OpenCV (for image/video processing)
- YOLOv5 (for object detection)
Make sure your environment has these dependencies installed for smooth execution.
Usage
Running the Model
To run inference and detect bubbles in a video, use the following command:
bash
python detect.py --weights runs/train/exp3/weights/best.pt --device cpu --source /Users/noahwons/Downloads/bubbles_test.MP4 --view-img --img-size 1280
Arguments Explained:
--weights: The path to the trained YOLOv5 model weights file (in this case,best.pt).--device: Specifies the device to run the model on (cpufor CPU orcudafor GPU).--source: The path to the input video file (/Users/noahwons/Downloads/bubbles_test.MP4in this example).--view-img: Displays the detection results in an OpenCV window.--img-size: Input image size for the model (set to1280for higher accuracy with smaller objects).
Example Usage:
Run the model on your own video file by changing the --source parameter to point to the video you want to analyze. For example:
bash
python detect.py --weights runs/train/exp3/weights/best.pt --device cpu --source /path/to/your/video_file.MP4 --view-img --img-size 1280
Training
To train the model on your own dataset, use the following command:
bash
python train.py --data bubbles_dataset.yaml --cfg yolov5s.yaml --weights '' --batch-size 16 --epochs 300
Arguments Explained:
--data: Path to the dataset configuration YAML file (bubbles_dataset.yaml), which should define your data and class labels.--cfg: Specifies the model configuration (e.g.,yolov5s.yamlfor a small model).--weights: Pretrained weights file or leave empty ('') to train from scratch.--batch-size: The number of samples per batch during training.--epochs: The number of epochs (iterations) to train the model (300 epochs in this case).
Training a Custom Dataset:
To train the model on a custom dataset, ensure that you have a valid dataset configuration file (bubbles_dataset.yaml) and appropriate labeled data (images with annotations). The dataset file should define the paths to your training and validation data, as well as the class labels.
Acknowledgements
- This project uses YOLOv5 for object detection, a state-of-the-art model for real-time object detection.
- Special thanks to the open-source community and contributors who have made object detection models like YOLOv5 freely available.
This README.md file is now formatted with markdown annotations to help with clarity and organization. You can copy and paste this directly into your project's README file, making any adjustments as necessary for your project specifics.
Owner
- Name: Noah Wons
- Login: noahwons
- Kind: user
- Location: USA
- Repositories: 1
- Profile: https://github.com/noahwons
New programmer, learning Python, C, and Java
GitHub Events
Total
- Issue comment event: 5
- Push event: 3
- Pull request event: 3
- Create event: 3
Last Year
- Issue comment event: 5
- Push event: 3
- Pull request event: 3
- Create event: 3
Dependencies
- actions/checkout v4 composite
- actions/setup-python v5 composite
- slackapi/slack-github-action v2.0.0 composite
- contributor-assistant/github-action v2.6.1 composite
- actions/checkout v4 composite
- github/codeql-action/analyze v3 composite
- github/codeql-action/init v3 composite
- actions/checkout v4 composite
- docker/build-push-action v6 composite
- docker/login-action v3 composite
- docker/setup-buildx-action v3 composite
- docker/setup-qemu-action v3 composite
- ultralytics/actions main composite
- actions/checkout v4 composite
- ultralytics/actions/retry main composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/stale v9 composite
- pytorch/pytorch 2.0.0-cuda11.7-cudnn8-runtime build
- gcr.io/google-appengine/python latest build
- matplotlib >=3.3.0
- numpy >=1.22.2
- opencv-python >=4.6.0
- pandas >=1.1.4
- pillow >=7.1.2
- psutil *
- py-cpuinfo *
- pyyaml >=5.3.1
- requests >=2.23.0
- scipy >=1.4.1
- seaborn >=0.11.0
- thop >=0.1.1
- torch >=1.8.0
- torchvision >=0.9.0
- tqdm >=4.64.0
- ultralytics >=8.1.47
- PyYAML >=5.3.1
- gitpython >=3.1.30
- matplotlib >=3.3
- numpy >=1.23.5
- opencv-python >=4.1.1
- pandas >=1.1.4
- pillow >=10.3.0
- psutil *
- requests >=2.32.2
- scipy >=1.4.1
- seaborn >=0.11.0
- setuptools >=70.0.0
- thop >=0.1.1
- torchvision >=0.9.0
- tqdm >=4.66.3
- Flask ==2.3.2
- gunicorn ==22.0.0
- pip ==23.3
- werkzeug >=3.0.1
- zipp >=3.19.1