<!-- markdownlint-disable MD013 MD033 MD041 MD042 -->
<div align="center">
<img src="assets/geti-header.png" alt="Geti™ - A framework to rapidly build and deploy computer vision AI models">
<br>
[](https://github.com/open-edge-platform/geti/actions/workflows/build.yaml)
[](https://codecov.io/gh/open-edge-platform/geti)
[](https://securityscorecards.dev/viewer/?uri=github.com/open-edge-platform/geti)
[](https://opensource.org/licenses/Apache-2.0)
[](https://pypi.org/project/getitune/)
[](https://clickpy.clickhouse.com/dashboard/getitune)
**Application**: [Install](application/docs/install.md) • [Upgrade](application/docs/upgrade.md) • [Docs](https://docs.geti.intel.com/) • [License](#license)
<br>
**Library** (`getitune`): [Install](https://docs.geti.intel.com/docs/user-guide/library/get-started/installation) • [Docs](https://docs.geti.intel.com/docs/user-guide/library/get-started/intro)
</div>
**_Geti™_** is an open-source, end-to-end platform for building and continuously improving your own computer vision models. It covers annotation, fine-tuning, optimization, deployment, and inference — with 1,600+ model variants for detection, classification, and segmentation, optimized by OpenVINO™ for Intel® CPUs, GPUs, and NPUs.
<p align="center">
<img src="assets/model-lifecycle-infinity-light.png" width="600" alt="Geti™ - Learning Cycle"/>
</p>
The Geti™ application is powered by **_getitune_**, its engine for model training and optimization, which is also available standalone as a Python library. Choose the application for a no-code experience, or the `getitune` Python API for code-first workflows — both paths lead to production-ready models. Both are developed in this repository, under [`application/`](application/) and [`libraries/getitune/`](libraries/getitune/).
## Full lifecycle with an intuitive SME interface
The Geti™ application runs as a native Windows app or a pre-built Docker image for Linux.
- Install as a [**Windows application (MSIX)**](application/docs/install.md#windows-app)
- Run as a [**Docker container**](application/docs/install.md#run-with-docker)
- Install and launch via a [**script**](application/docs/install.md#install-script)
- Build and run [**from source**](application/docs/install.md#run-from-source-for-development) (for development)
For complete, step-by-step instructions - including prerequisites, GPU/accelerator support, container and source builds, the install script, and troubleshooting - see the [Installation guide](application/docs/install.md). To update an existing Geti™ installation to a newer version, follow the [Upgrade guide](application/docs/upgrade.md).
<p align="center">
<img src="assets/geti-application-demo.gif" alt="Build and optimize a model in the Geti™ application" width="80%">
</p>
> [!TIP]
> The [documentation](https://docs.geti.intel.com/) is a valuable resource to learn more about Geti™ and its capabilities.
> New users are encouraged to read the step-by-step tutorial ["Train your first model"](https://docs.geti.intel.com/docs/user-guide/quick-start/training-your-first-model).
## Full lifecycle with a simple Python API
Geti's training engine is also available on PyPI as `getitune`, an open-source Python library for training, optimizing, and deploying models.
<p align="center">
<img src="libraries/getitune/assets/getitune-demo.gif" alt="Train and optimize a model with the getitune Python API" width="80%">
</p>
<details>
<summary>Install <code>getitune</code> and run the demo code</summary>
```bash
uv pip install "getitune[xpu]" --extra-index-url https://download.pytorch.org/whl/xpu # for Intel® XPU acceleration
uv pip install "getitune[cuda]" --extra-index-url https://download.pytorch.org/whl/cu128 # for NVIDIA® CUDA acceleration
uv pip install getitune # CPU-only by default
```
> [!IMPORTANT]
> **Ultralytics YOLO models** are NOT included in the package by default. To install these models, which are distributed
> under the [AGPL-3.0 license](./THIRD-PARTY-NOTICES.md#ultralytics), you must specify the `ultralytics` extra as
> explained in the [getitune documentation](https://docs.geti.intel.com/docs/user-guide/library/get-started/installation).
**Pick a model, then train, export, and quantize it:**
```python
from getitune.engine import create_engine
from getitune.utils import list_models
# Explore available models to pick the one you need
all_models = list_models() # All model names
detection_models = list_models(task="DETECTION") # Filter by task
recipes = list_models(return_recipes=True) # Full recipe YAML paths
# Choose a model and point it at your dataset
engine = create_engine(
model="edgecrafter_m",
data="./led_counting",
work_dir="./my_workspace", # checkpoints, exports, and logs
device="auto", # "auto", "cpu", "gpu", or "xpu"
)
# Train the model on your own Intel CPU or GPU
engine.train()
# Export the trained model to OpenVINO format (.xml + .bin)
exported_model_path = engine.export()
# Load the exported model into the OpenVINO engine
openvino_engine = create_engine(model=exported_model_path, data=engine.datamodule)
# Quantize the model to INT8, optimized for Intel hardware
optimized_model_path = openvino_engine.optimize()
# Run inference with the optimized INT8 model
predictions = openvino_engine.predict(checkpoint=optimized_model_path)
```
See the [getitune documentation](https://docs.geti.intel.com/docs/user-guide/library/get-started/quick-start) for the full list of recipes,
advanced configuration, dataset support, backend-specific options, and deployment/optimization examples.
</details>
## Key Features
<details open>
<summary>🏆 State-of-the-art model catalog</summary>
Train and fine-tune modern architectures such as RF-DETR, DINOv3 DETR, YOLO26, YOLOX, D-FINE, and Mask R-CNN.
Would you like to see a specific model added? Let us know by opening a [GitHub issue](https://github.com/open-edge-platform/geti/issues)!
<!-- markdownlint-disable MD060 -->
<table>
<thead>
<tr>
<th width="30%">Computer Vision Task</th>
<th>Model Architecture</th>
<th>Paper</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="12"><b>Object Detection</b><br>Locate and classify objects with bounding boxes. Common use cases: counting items, defect localization, surveillance.</td>
<td>D-FINE M / L / X</td>
<td><a href="https://arxiv.org/abs/2412.04234">DEIM</a> + <a href="https://arxiv.org/abs/2410.13842">D-FINE</a></td>
</tr>
<tr>
<td>DINOv3 DETR S / M / L</td>
<td><a href="https://arxiv.org/abs/2508.10104">DINOv3</a> + <a href="https://arxiv.org/html/2509.20787v4">DEIMv2</a> + <a href="https://arxiv.org/abs/2005.12872">DETR</a></td>
</tr>
<tr>
<td>ECDet S / M / L / X</td>
<td><a href="https://arxiv.org/abs/2603.18739">EdgeCrafter</a></td>
</tr>
<tr>
<td>MobileNet V2 ATSS</td>
<td><a href="https://arxiv.org/abs/1801.04381">MobileNetV2</a> + <a href="https://arxiv.org/abs/1912.02424">ATSS</a></td>
</tr>
<tr>
<td>MobileNet V2 SSD</td>
<td><a href="https://arxiv.org/abs/1801.04381">MobileNetV2</a> + <a href="https://arxiv.org/abs/1512.02325">SSD</a></td>
</tr>
<tr>
<td>RF-DETR N / S / M / L</td>
<td><a href="https://arxiv.org/abs/2511.09554">RF-DETR</a></td>
</tr>
<tr>
<td>RT-DETR R50</td>
<td><a href="https://arxiv.org/abs/2304.08069">RT-DETR</a></td>
</tr>
<tr>
<td>RT-DETRv2 R18 / R34 / R50 / R101</td>
<td><a href="https://arxiv.org/abs/2407.17140">RT-DETRv2</a></td>
</tr>
<tr>
<td>YOLO11 N / S / M / L / X</td>
<td><a href="https://docs.ultralytics.com/models/yolo11#overview">Ultralytics YOLO11</a></td>
</tr>
<tr>
<td>YOLO12 N / S / M / L / X</td>
<td><a href="https://arxiv.org/abs/2502.12524">YOLOv12</a></td>
</tr>
<tr>
<td>YOLO26 N / S / M / L / X</td>
<td><a href="https://arxiv.org/abs/2606.03748">YOLO26</a></td>
</tr>
<tr>
<td>YOLOX Tiny / S / L / X</td>
<td><a href="https://arxiv.org/abs/2107.08430">YOLOX</a></td>
</tr>
<tr>
<td rowspan="10"><b>Instance Segmentation</b><br>Detect objects and produce pixel-precise masks per instance. Common use cases: medical imaging, robotics, area estimation.</td>
<td>EoMT Large 640</td>
<td><a href="https://arxiv.org/abs/2503.19108">EoMT</a></td>
</tr>
<tr>
<td>EoMT-DINOv3 Large 640</td>
<td><a href="https://arxiv.org/abs/2508.10104">DINOv3</a> + <a href="https://arxiv.org/abs/2503.19108">EoMT</a></td>
</tr>
<tr>
<td>Mask2Former Swin-T / S / B / L</td>
<td><a href="https://arxiv.org/abs/2112.01527">Mask2Former</a></td>
</tr>
<tr>
<td>Mask-RCNN EfficientNet B2</td>
<td><a href="https://arxiv.org/abs/1905.11946">EfficientNet</a> + <a href="https://arxiv.org/abs/1703.06870">Mask R-CNN</a></td>
</tr>
<tr>
<td>Mask-RCNN ResNet50</td>
<td><a href="https://arxiv.org/abs/1512.03385">ResNet</a> + <a href="https://arxiv.org/abs/1703.06870">Mask R-CNN</a></td>
</tr>
<tr>
<td>Mask-RCNN Swin-T</td>
<td><a href="https://arxiv.org/abs/2103.14030">Swin Transformer</a> + <a href="https://arxiv.org/abs/1703.06870">Mask R-CNN</a></td>
</tr>
<tr>
<td>RF-DETR N / S / M / L / XL / 2XL</td>
<td><a href="https://arxiv.org/abs/2511.09554">RF-DETR</a></td>
</tr>
<tr>
<td>RTMDet Tiny</td>
<td><a href="https://arxiv.org/abs/2212.07784">RTMDet</a></td>
</tr>
<tr>
<td>YOLO11 N / S / M / L / X</td>
<td><a href="https://docs.ultralytics.com/models/yolo11#overview">Ultralytics YOLO11</a></td>
</tr>
<tr>
<td>YOLO26 N / S / M / L / X</td>
<td><a href="https://arxiv.org/abs/2606.03748">YOLO26</a></td>
</tr>
<tr>
<td rowspan="10"><b>Classification</b> (multi-class, multi-label)<br>Assign one or more labels to an entire image. Common use cases: defect classification, product categorization, content tagging.</td>
<td>ConvNeXt T / S / B / L</td>
<td><a href="https://arxiv.org/abs/2201.03545">ConvNeXt</a></td>
</tr>
<tr>
<td>ConvNeXt V2 A / B / L</td>
<td><a href="https://arxiv.org/abs/2301.00808">ConvNeXt V2</a></td>
</tr>
<tr>
<td>DINOv3 ViT S / B / L</td>
<td><a href="https://arxiv.org/abs/2508.10104">DINOv3</a></td>
</tr>
<tr>
<td>DINOv2 Small</td>
<td><a href="https://arxiv.org/abs/2304.07193">DINOv2</a></td>
</tr>
<tr>
<td>EfficientNet B0 / B3</td>
<td><a href="https://arxiv.org/abs/1905.11946">EfficientNet</a></td>
</tr>
<tr>
<td>EfficientNet V2 Small</td>
<td><a href="https://arxiv.org/abs/2104.00298">EfficientNetV2</a></td>
</tr>
<tr>
<td>MobileNet V3 Large</td>
<td><a href="https://arxiv.org/abs/1905.02244">MobileNetV3</a></td>
</tr>
<tr>
<td>ViT Tiny</td>
<td><a href="https://arxiv.org/abs/2010.11929">ViT</a></td>
</tr>
<tr>
<td>YOLO26 N / S / M / L / X</td>
<td><a href="https://arxiv.org/abs/2606.03748">YOLO26</a></td>
</tr>
<tr>
<td>Other models from <i>timm</i> (1600+ backbones)</td>
<td><a href="https://github.com/huggingface/pytorch-image-models">timm</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-enable MD060 -->
</details>
<details>
<summary>🔄 Interactive end-to-end model training</summary>
Geti™ enables users to start building deep-learning computer vision models with as few as 10-20 images and take them to production in one environment - annotate, train, optimize, run inference, and improve accuracy in a rapid train-predict-annotate loop.
</details>
<details>
<summary>⚡ Hardware-accelerated inference & model optimization</summary>
Every model is automatically exported with [OpenVINO™](https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/overview.html) for deployment across the full Intel® XPU portfolio (Arc™ GPUs, Core™ Ultra processors); NVIDIA® CUDA and CPU-only execution are also supported. Fine-tune and run inference directly on edge and client hardware - including Intel® Panther Lake and Arc™ Battlemage (B-series) GPUs - with no Kubernetes cluster or data-center GPU required. Built-in accuracy-aware INT8 quantization further reduces model size and latency on resource-constrained edge devices with minimal impact on accuracy.
</details>
<details>
<summary>🚀 Integrated deployment & inference</summary>
Build custom pipelines (source → model → sink) to deploy models inside Geti and monitor real-time predictions on video streams. Sources include USB/IP cameras and video files; optional sinks include folder, MQTT, and webhook. Complete pipelines can be exported as OpenVINO™-optimized bundles for edge deployment.
</details>
<details>
<summary>🎨 Multiple computer vision tasks</summary>
Geti™ supports [multiple computer vision tasks](https://docs.geti.intel.com/docs/user-guide/learn-geti/computer-vision-tasks/ai-fundamentals-tasks) that are commonly employed across various use cases - image classification, object detection and instance segmentation from the no-code web interface, with even more tasks available through the `getitune` library.
</details>
<details>
<summary>🧠 Smart annotations</summary>
Smart annotations in Geti™ enable users to easily create bounding boxes and polygons. These smart annotation features coupled with the AI-assisted annotations and state-of-the-art AI models such as the Segment Anything Model keep human experts in the loop while massively reducing the total annotation efforts needed by a human.
<p align="center">
<img src="application/docs/assets/annotator.webp" width="600" alt="Smart Annotations">
</p>
</details>
<details>
<summary>📦 Model & dataset management</summary>
Track how datasets and models evolve, link models to a specific dataset revision, view exact training hyperparameters, and fine-tune from any previous version. Import and export in COCO, Pascal VOC, YOLO, and a Geti-optimized native format, with label filtering to selectively include or exclude labels on import/export.
</details>
## Ecosystem
Explore other open-source AI projects by Intel®:
- [Anomalib](https://github.com/open-edge-platform/anomalib) - An anomaly detection suite comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization and edge inference.
- [Instant Learn](https://github.com/open-edge-platform/instant-learn) - A framework for developing, benchmarking, and deploying zero-shot visual prompting algorithms on the edge.
- [Datumaro](https://github.com/open-edge-platform/datumaro) - Dataset Management Framework, a Python library and a CLI tool to build, analyze and manage Computer Vision datasets.
- [OpenVINO™](https://github.com/openvinotoolkit/openvino) - Software toolkit for optimizing and deploying deep learning models.
- [OpenVINO™ Model Server](https://github.com/openvinotoolkit/model_server) - A scalable inference server for models optimized with OpenVINO™.
- [Model API](https://github.com/open-edge-platform/model_api) - A set of wrapper classes for particular tasks and model architectures, simplifying data preprocessing and postprocessing as well as routine procedures.
- [Physical AI Studio](https://github.com/open-edge-platform/physical-ai-studio) - An end-to-end framework for teaching robots to perform tasks through imitation learning from human demonstrations.
## Who uses Geti™?
Geti™ is used by research institutes, industrial partners, universities and AI enthusiasts. Applications range from robotics to medical analysis or industrial quality control. There are some interesting members of the Geti™ community:
- [Intel Foundry](https://medium.com/open-edge-platform/solving-silicon-foundry-woes-with-ai-vision-geti-and-a-robotic-dog-a8382b5d9267)
- [Royal Brompton and Harefield hospitals](https://www.rbht.nhs.uk/artificial-intelligence-theme-new-trust-led-research)
- [WSC Sports](https://www.linkedin.com/posts/wsc-sports-technologies_revolutionizing-sports-broadcasting-with-activity-7161419649878773761-cUM3/)
- [Dell NativeEdge](https://infohub.delltechnologies.com/en-us/p/transforming-edge-ai-with-continuous-learning-meet-intel-geti-and-openvino-on-dell-nativeedge/)
- [Bravent](https://www.linkedin.com/posts/bravent_intelgeti-openvino-manufacturing-activity-7214544905086390272-H19g/)
- [ASRock Industrial](https://www.asrockind.com/en-gb/article/176)
- [PeopleSense.AI](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Intel-Liftoff-Days-2024-Highlights-from-the-Third-Edition/post/1661265)
- [Capgemini](https://www.capgemini.com/insights/expert-perspectives/capgemini-and-intel-corporation-redefining-the-future-of-robotics-and-physical-ai/)
## Contribute
To report a bug or submit a feature request, please open a [GitHub issue](https://github.com/open-edge-platform/geti/issues). If you have an open question, ask in [GitHub Discussions](https://github.com/open-edge-platform/geti/discussions).
For developers who would like to contribute with a pull request, see the [Contributing guide](CONTRIBUTING.md) for details.
<p align="center">
<b>Thank you 👏 to all our contributors!</b>
</p>
<a href="https://github.com/open-edge-platform/geti/graphs/contributors">
<img src="https://contrib.rocks/image?repo=open-edge-platform/geti" alt="Contributors" />
</a>
## License
Geti™ source code is licensed under the [Apache License Version 2.0](LICENSE).
Docker images contain Geti™ components licensed under Apache 2.0 and may also contain third-party components governed by
different license terms, listed separately in [this file](THIRD-PARTY-NOTICES.md).
The Windows MSIX App is licensed under the [Intel Simplified Software License](https://software.intel.com/sites/landingpage/pintool/intel-simplified-software-license.txt).
Regarding models trained with Geti™, their license depends on the model type and is indicated within the application;
most are licensed under Apache 2.0, while some fall under more restrictive licenses (e.g. [Ultralytics AGPL3.0 models](./THIRD-PARTY-NOTICES.md#ultralytics)).
It is the end user's responsibility to ensure that the specific use of Geti™ and the models complies with the respective licenses.