Skip to content

Commit

Permalink
Merge pull request #15 from luxonis/docs/issue_templates
Browse files Browse the repository at this point in the history
docs: update bug report template
  • Loading branch information
sokovninn authored Dec 12, 2023
2 parents e0699e9 + 1c0bc1e commit 46beb17
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 8 deletions.
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
______________________________________________________________________

name: Bug report
about: Create a report to help us improve
title: "\[BUG_TITLE\]"
labels: bug
assignees: sokovninn, tersekmatija

______________________________________________________________________

**Describe the bug**
A clear and concise description of what the bug is.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment (please complete the following information):**

- OS: \[e.g. iOS\]
- Package version: \[e.g. 0.1.0\]

**To Reproduce**
Please provide a minimal reproducible example. This would include:

- Config file
- Script to generate the dataset in case the issue cannot be reproduced using one of our [example](../../examples) datasets
- Sript to run the pipeline

**Additional context**
Add any other context about the problem here.
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ In essence, `DataDreamer` is designed to transform the AI development process, m
- [Acknowledgements](#acknowledgements)

<a name="features"></a>

## Features

- **Prompt Generation**: Automate the creation of image prompts using powerful language models.
Expand All @@ -57,6 +58,7 @@ In essence, `DataDreamer` is designed to transform the AI development process, m
[Example](https://github.com/luxonis/datadreamer/blob/main/examples/generate_dataset_and_train_yolo.ipynb)

<a name="installation"></a>

## Installation

To install with pip:
Expand All @@ -77,14 +79,16 @@ pip install .
```

<a name="hardware-requirements"></a>

## Hardware Requirements

To ensure optimal performance and compatibility with the libraries used in this project, the following hardware specifications are recommended:

- `GPU`: A CUDA-compatible GPU with a minimum of 16 GB memory. This is essential for libraries like `torch`, `torchvision`, `transformers`, and `diffusers`, which leverage CUDA for accelerated computing in machine learning and image processing tasks.
- `RAM`: At least 16 GB of system RAM, although more (32 GB or above) is beneficial for handling large datasets and intensive computations.

<a name="usage"></a>

## Usage

The `datadreamer/pipelines/generate_dataset_from_scratch.py` (`datadreamer` command) script is a powerful tool for generating and annotating images with specific objects. It uses advanced models to both create images and accurately annotate them with bounding boxes for designated objects.
Expand All @@ -96,13 +100,15 @@ datadreamer --save_dir <directory> --class_names <objects> --prompts_number <num
```

<a name="main-parameters"></a>

### Main Parameters

- `--save_dir` (required): Path to the directory for saving generated images and annotations.
- `--class_names` (required): Space-separated list of object names for image generation and annotation. Example: person moon robot.
- `--prompts_number` (optional): Number of prompts to generate for each object. Defaults to 10.

<a name="additional-parameters"></a>

### Additional Parameters

- `--task`: Choose between `detection` and `classification`. Default is `detection`.
Expand All @@ -119,17 +125,19 @@ datadreamer --save_dir <directory> --class_names <objects> --prompts_number <num
- `--seed`: Set a random seed for image and prompt generation. Default is 42.

<a name="available-models"></a>

### Available models

| Model Category | Model Names | Description/Notes |
|--------------------|------------------------------------------------------------------------------|-----------------------------------------------------|
| Prompt Generation | [Mistral-7B-Instruct-v0.1](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1) | Semantically rich prompts |
| | Simple random generator | Joins randomly chosen object names |
| Image Generation | [SDXL-1.0](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) | Slow and accurate (1024x1024 images) |
| | [SDXL-Turbo](https://huggingface.co/stabilityai/sdxl-turbo) | Fast and less accurate (512x512 images) |
| Image Annotation | [OWlv2](https://huggingface.co/google/owlv2-large-patch14-ensemble) | Open-Vocabulary object detector |
| Model Category | Model Names | Description/Notes |
| ----------------- | ------------------------------------------------------------------------------------- | --------------------------------------- |
| Prompt Generation | [Mistral-7B-Instruct-v0.1](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1) | Semantically rich prompts |
| | Simple random generator | Joins randomly chosen object names |
| Image Generation | [SDXL-1.0](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) | Slow and accurate (1024x1024 images) |
| | [SDXL-Turbo](https://huggingface.co/stabilityai/sdxl-turbo) | Fast and less accurate (512x512 images) |
| Image Annotation | [OWlv2](https://huggingface.co/google/owlv2-large-patch14-ensemble) | Open-Vocabulary object detector |

<a name="example"></a>

### Example

```bash
Expand All @@ -139,6 +147,7 @@ datadreamer --save_dir path/to/save_directory --class_names person moon robot --
This command generates images for the specified objects, saving them and their annotations in the given directory. The script allows customization of the generation process through various parameters, adapting to different needs and hardware configurations.

<a name="output"></a>

### Output

The dataset comprises two primary components: images and their corresponding annotations, stored as JSON files.
Expand All @@ -156,6 +165,7 @@ save_dir/
```

<a name="annotations-format"></a>

### Annotations Format

1. Detection Annotations (detection_annotations.json):
Expand Down Expand Up @@ -190,11 +200,13 @@ save_dir/
```

<a name="note"></a>

### Note

Please make sure that all dependencies are correctly installed and that the datadreamer package is properly set up in your Python environment before running the script.

<a name="limitations"></a>

## Limitations

While the datadreamer library leverages advanced Generative models to synthesize datasets and Foundation models for annotation, there are inherent limitations to consider:
Expand All @@ -206,11 +218,13 @@ While the datadreamer library leverages advanced Generative models to synthesize
Despite these limitations, the datasets created by datadreamer provide a valuable foundation for developing and training models, especially for edge computing scenarios where data availability is often a challenge. The synthetic and annotated data should be seen as a stepping stone, granting a significant head start in the model development process.

<a name="license"></a>

## License

This project is licensed under the [Apache License, Version 2.0](https://opensource.org/license/apache-2-0/) - see the [LICENSE](LICENSE) file for details.

<a name="acknowledgements"></a>

## Acknowledgements

This library was made possible by the use of several open-source projects, including Transformers, Diffusers, and others listed in the requirements.txt.
Expand Down

0 comments on commit 46beb17

Please sign in to comment.