The official public repository for computer vision pipelines powered by Picsellia CV Engine.
This repository centralizes 17 production-ready pipelines for processing datasets and training computer vision models, all managed through the pxl-pipeline CLI and fully integrated with the Picsellia platform.
pip install picsellia-cv-engine picsellia-pipelines-cliexport PXL_API_TOKEN="your-token"
pxl-pipeline login --organization my-org --env PROD --token $PXL_API_TOKENcd pipelines/SAM3_Bbox
pxl-pipeline test SAM3_Bbox --run-config-file run_config.tomlpxl-pipeline deploy SAM3_Bbox --organization my-org --bump patchAutomatically generate annotations using foundation models:
- SAM-3 Bbox/Polygons - Zero-shot segmentation with natural language prompts
- Grounding DINO - Text-guided object detection
- YOLOv8 Pre-annotation - Fast detection with pretrained weights
Fine-tune models on custom datasets:
- YOLOv8 - Real-time object detection (3 variants)
- RT-DETR - Transformer-based detection
- YOLOv7 Segmentation - Instance segmentation
- SAM-2, CLIP, DINOv2 - Foundation models
- Paddle OCR - Text recognition
Transform and prepare datasets:
- Dataset Tiler - Split large images with overlap handling
- Albumentations - Image augmentation
- Bounding Box Cropper - Extract regions
- Diversified Extractor - Sample representative data
| Guide | Description |
|---|---|
| Processing Pipelines Guide | Pre-annotation and dataset processing |
| Training Pipelines Guide | Training custom models |
| Developer Guide | Creating custom pipelines |
| Documentation Index | Full documentation navigation |
Each pipeline has its own detailed README:
pipelines/SAM3_Bbox/README.md- Comprehensive parameter guidepipelines/SAM3_polygons/README.md- Polygon segmentationpipelines/rt_detr/README.md- RT-DETR training- And more in each pipeline directory
# 1. Create configuration
cat > run_config.toml << EOF
[job]
type = "PRE_ANNOTATION"
[auth]
organization_name = "my-org"
env = "PROD"
[parameters]
text_prompt = "car,person,bicycle"
threshold = 0.35
[input.dataset_version]
id = "your-dataset-id"
EOF
# 2. Test locally
pxl-pipeline test SAM3_Bbox --run-config-file run_config.toml
# 3. Deploy
pxl-pipeline deploy SAM3_Bbox --organization my-org --bump patch# 1. Create training config
cat > train_config.toml << EOF
[job]
type = "TRAINING"
[auth]
organization_name = "my-org"
env = "PROD"
[parameters]
epochs = 100
batch_size = 16
learning_rate = 0.001
[input.dataset_collection.train]
id = "train-id"
[input.dataset_collection.val]
id = "val-id"
[input.model_version]
id = "pretrained-id"
EOF
# 2. Test
cd pipelines/yolov8/training
pxl-pipeline test training --run-config-file train_config.toml
# 3. Deploy for full training
pxl-pipeline deploy training --organization my-org --bump minor# Tile satellite/medical imagery
cd pipelines/dataset_tiler
pxl-pipeline test dataset_tiler --run-config-file tile_config.toml| Command | Description | Example |
|---|---|---|
login |
Authenticate with Picsellia | pxl-pipeline login --organization my-org --token $TOKEN |
init |
Create new pipeline from template | pxl-pipeline init my_pipeline --type processing --template pre_annotation |
test |
Test pipeline locally | pxl-pipeline test <pipeline> --run-config-file config.toml |
deploy |
Deploy to Picsellia cloud | pxl-pipeline deploy <pipeline> --organization my-org --bump patch |
Learn more: Picsellia CV Engine - CLI Usage
picsellia-cv-pipelines/
βββ pipelines/ # 17 production-ready pipelines
β βββ SAM3_Bbox/
β βββ yolov8/
β βββ rt_detr/
β βββ ...
βββ docs/ # Comprehensive guides
β βββ PROCESSING_PIPELINES_GUIDE.md
β βββ TRAINING_PIPELINES_GUIDE.md
β βββ DEVELOPER_GUIDE.md
βββ tests/ # Test configurations
βββ scripts/ # Automation scripts
βββ .github/workflows/ # CI/CD
Each pipeline includes:
pipeline.py- Main entry pointsteps.py- Step implementationsutils/parameters.py- Parameter definitionsconfig.toml- MetadataDockerfile- Container definitionREADME.md- Detailed documentation
For Users:
- Install CLI tools β See Quick Start
- Choose your use case:
- Processing data? β Processing Guide
- Training models? β Training Guide
- Check pipeline-specific README for detailed parameters
For Developers:
- Clone repository:
git clone https://github.com/picselliahq/picsellia-cv-pipelines.git - Setup:
uv sync && pxl-pipeline login - Read: Developer Guide
- Create pipeline:
pxl-pipeline init my_pipeline --type processing
# Clone and setup
git clone https://github.com/picselliahq/picsellia-cv-pipelines.git
cd picsellia-cv-pipelines
uv sync
pre-commit install
# Authenticate
pxl-pipeline login --organization test-account --env STAGING --token $TOKEN# Initialize from template
pxl-pipeline init my_pipeline --type processing --template pre_annotation
# Customize
cd pipelines/my_pipeline
# Edit utils/parameters.py, steps.py, pipeline.py
# Test
pxl-pipeline test my_pipeline --run-config-file test_config.toml
# Deploy
pxl-pipeline deploy my_pipeline --organization my-org --bump patchFull guide: Developer Guide
# Test specific pipeline
./scripts/test_pipelines.sh --pipeline SAM3_Bbox
# Test all pipelines
./scripts/test_pipelines.sh --pipeline all- Automated testing on every PR
- GPU tests on self-hosted runners
- Code quality checks with Ruff
| Use Case | Minimum | Recommended |
|---|---|---|
| Processing (CPU) | 4 cores, 8GB RAM | 8 cores, 16GB RAM |
| Processing (GPU) | 8GB VRAM | 16GB VRAM (10-20x faster) |
| Training | 8GB VRAM, 16GB RAM | 24GB VRAM, 32GB RAM, NVMe SSD |
Authentication errors?
pxl-pipeline login --organization my-org --token $NEW_TOKENOut of memory?
# Reduce batch size in config
[parameters]
batch_size = 4Slow processing?
# Verify GPU is detected
python -c "import torch; print(torch.cuda.is_available())"More help: Troubleshooting sections in guides
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Make your changes (follow existing patterns)
- Add tests and documentation
- Submit a pull request
Contribution types:
- New pipelines
- Bug fixes
- Documentation improvements
- Performance optimizations
See: Contributing section in docs
Apache License 2.0 - See LICENSE
Individual pipelines may use models with different licenses. Check model cards on Hugging Face and framework licenses.
Built with:
- Picsellia CV Engine - Core framework
- Meta AI - SAM-3, SAM-2, DINOv2
- Hugging Face - Model hosting and transformers
- Ultralytics - YOLOv8, YOLOv7
- OpenAI - CLIP
- PaddlePaddle - Paddle OCR
- Documentation: Full Documentation Index
- CV Engine Docs: picselliahq.github.io/picsellia-cv-engine
- Picsellia Platform: picsellia.com
- GitHub Issues: Report bugs or request features
- Support: support@picsellia.com
Built by Picsellia | Website | Documentation | Blog