Skip to content

supervisely-ecosystem/data-nodes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

320 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML Pipelines

Overview • How To Run

GitHub release (latest SemVer) views runs

Overview

This application is a versatile tool designed for data transformation tasks (like filtering and augmentation). It allows you to create and manage Data transformation workflows by leveraging graphical nodes with settings.

Available Layers

Layers Description Images Videos
Input
Images Project Selects a project with images as the source data for processing through the pipeline. + -
Videos Project Selects a project with videos as the source data for processing through the pipeline. - +
Input Labeling Job Imports data and annotations from an existing labeling job as pipeline input. + -
Filtered Project Uses a predefined project with pre-filtered images based on specific criteria. + -
Pixel Level Transformations
Anonymize Applies pixelation or blurring effects to objects in images to hide sensitive information. + -
Blur Applies various blur effects (Gaussian, median, etc.) to enhance or smooth image quality. + -
Contrast Brightness Adjusts image contrast and brightness levels with precise control over parameters. + -
Noise Adds controlled noise patterns to images for data augmentation or testing model robustness. + -
Random Color Randomizes or systematically alters color values in images for augmentation purposes. + -
Spatial Level Transformations
Crop Extracts specific regions from images based on configurable parameters or annotations. + -
Flip Mirrors images horizontally or vertically while preserving annotation coordinates. + -
Instance Crop Creates separate images for each detected object instance with configurable padding. + -
Multiply Duplicates objects across the image with specified patterns and transformations. + -
Resize Rescales images to target dimensions while properly transforming associated annotations. + -
Rotate Rotates images by specified angles with proper transformation of associated annotations. + -
Sliding Window Generates multiple overlapping crops from large images using a sliding window approach. + -
ImgAug Augmentations
ImgAug Studio ImgAug Studio is a wrapper around ImgAug Library. + -
ImgAug.ImgCorruptlike.Noise ImgAug imgcorruptlike Noise augmentators. + -
ImgAug.ImgCorruptlike.Blur ImgAug imgcorruptlike Blur augmentators. + -
ImgAug.ImgCorruptlike.Weather ImgAug imgcorruptlike Weather augmentators. + -
ImgAug.ImgCorruptlike.Color ImgAug imgcorruptlike Color augmentators. + -
ImgAug.ImgCorruptlike.Compression ImgAug imgcorruptlike Compression augmentators. + -
ImgAug.Geometric.ElasticTransformation ImgAug geometric Elastic Transformation augmentator. + -
ImgAug.Geometric.PerspectiveTransform ImgAug geometric Perspective Transform augmentator. + -
Annotation Transforms
Approximate Vector Simplifies complex vector objects by reducing point count while preserving shape. + -
Background Creates and assigns a background class to areas without object annotations. + +
Bounding Box Converts any object annotation types to rectangular bounding boxes. + +
Bounding Box to Polygon Converts rectangular bounding boxes to polygon annotations with configurable vertices. + +
Bitwise Masks Performs logical operations (AND, OR, XOR) between masks of different classes. + -
Change Class Color Modifies the display color of object classes without changing geometry or labels. + -
Drop Lines by Length Removes line annotations based on their length using min/max thresholds. + -
Drop Noise Filters out small mask fragments below specified area thresholds to reduce noise. + -
Drop Object by Class Removes all objects of specified classes from annotations. + -
Duplicate Objects Creates copies of selected objects with new class names while preserving geometry. + -
Image Tag Adds custom metadata tags to images based on configurable conditions. + -
Line to Mask Converts line annotations to mask annotations with configurable thickness. + -
Mask to Lines Extracts the contours or center lines from mask annotations. + -
Mask to Polygon Converts bitmap masks to polygon annotations with configurable precision. + -
Merge Classes Combines multiple object classes into a single target class using an intuitive mapping table. + -
Merge Masks Combines multiple mask annotations of the same class into a unified single mask. + -
Objects Filter Selectively keeps or removes objects based on custom filtering criteria. + -
Objects Filter by Area Tags or removes objects based on their area using configurable thresholds. + -
Polygon to Mask Converts polygon annotations to bitmap mask representations. + -
Rasterize Converts all vector annotations to bitmap mask representations. + -
Rename Classes Renames object classes while preserving their original geometry and attributes. + -
Skeletonize Creates skeletal representations (center lines) from mask annotations. + -
Split Masks Separates connected mask regions into individual object instances. + -
Split Videos by Duration Segments longer videos into smaller clips based on specified duration. - +
Filters and Conditions
Filter Image by Object Includes or excludes images based on the presence of specific object classes. + -
Filter Image by Tag Selects images that match specific tag criteria for further processing. + -
Filter Images without Objects Identifies and processes only images that contain no object annotations. + -
Filter Videos by Duration Selects videos based on their duration using min/max time thresholds. - +
Filter Videos by Objects Includes or excludes videos based on the presence of specific object classes. - +
Filter Videos by Tags Processes only videos that match specified tag criteria. - +
Filter Videos without Annotations Identifies and processes videos that have no annotations. - +
Filter Videos without Objects Selects videos that do not contain any object annotations. - +
IF Action Creates conditional processing branches based on specified criteria or image properties. + -
Neural Networks
Apply NN Inference Runs any deployed neural network model on images and incorporates results into the pipeline. + -
Deploy YOLOv5 Integrates and runs YOLOv5 object detection models with support for custom weights. + -
Deploy YOLO (v8, v9, v10, v11) Deploys and runs multiple YOLO versions with support for detection, segmentation and classification tasks. + -
Deploy YOLO (v8 - v12) Deploys the latest YOLO models with comprehensive support for all model variants and tasks. + -
Deploy MMDetection Integrates the MMDetection library with access to numerous object detection architectures. + -
Deploy MMSegmentation Runs semantic segmentation models from the MMSegmentation ecosystem with custom weights. + -
Deploy RT-DETR Deploys Real-Time Detection Transformer models for efficient object detection. + -
Deploy RT-DETRv2 Integrates the improved version of RT-DETR with enhanced accuracy and performance. + -
Deploy DEIM Deploys DEIM Models for efficient object detection. + -
Other
Dummy Passes data through unchanged; useful for merging branches or as a placeholder. + -
Dataset Consolidates all processed data into a single dataset with configurable naming. + -
Split Data Distributes processed data across multiple datasets using various splitting strategies. + -
Output
Output Project Saves processed data and annotations to a new or existing project with configurable settings. + -
Create new Project Creates a new project to store the pipeline's output data and metadata. + +
Add to Existing Project Appends processed data to a specified existing project with flexible dataset options. + +
Export Archive Packages processed data and annotations as a downloadable archive in TeamFiles. + +
Export Archive with Masks Exports data with separate mask files for each annotation in TeamFiles. + -
Copy Annotations Transfers annotations between projects while maintaining original image references. + -
Create Labeling Job Creates a new labeling job from processed data for further refinement. + +

Key features:

  • Transform Data: Apply a wide variety of data transformation operations to images within a project. These transformations include rotation, cropping, blurring, resizing, and many more.

    transform-data

  • Use Neural Networks: Apply deployed models on your data to perform object detection, instance segmentation, and other tasks. You can use any of the neural network models available in the Supervisely Ecosystem, or train your custom models.

    apply-nn

  • Enhance Data: Improve the quality and usability of your image data by adjusting contrast, brightness, and noise levels.

  • Object-Level Manipulation: Perform operations on individual objects or instances within images, such as cropping, duplicating, or changing their color classes.

    object-transforms

  • Customize Workflows: Create complex data transformation workflows by combining multiple transformation nodes to meet your specific requirements.

  • Node Documentation: Detailed documentation is available for each transformation node, explaining how to use it effectively. These guides provide step-by-step instructions and examples for each node, making it easy for users to understand and leverage the full power of the application.

    node-docs

  • Save & Load Presets: Save your customized transformation workflows as presets for future use. This feature allows you to store and reuse your preferred configurations quickly.

    load-preset

  • Output Flexibility: Choose from multiple export options to save your transformed data in a format that best suits your needs.

    merge-projects

How To Run

There are several ways to run the application, depending on your needs and preferences:

1. Run App from Ecosystem

run-from-ecosystem

2. Run App from the context menu of the Project

run-from-project

3. Run App from the context menu of the Dataset

run-from-dataset

4. Run Pipeline from Project

run-pipeline-from-project

5. Run Pipeline from Dataset

run-pipeline-from-dataset

6. Run Pipeline with Filters

run-pipeline-from-filters

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages