This guide explains how to run the ready-to-use AI applications included in this repository. It covers both:
- Full-repository installation flow (pipeline CLIs + all app groups)
- Standalone app flow (Python/C++ apps run independently)
If you still need installation steps, see the Installation Guide.
If you installed only a standalone app independently, you can skip this step and follow that app's local setup instructions in its README.
source setup_env.sh| Command | Purpose |
|---|---|
get-usb-camera |
Detect and print available USB camera devices. |
hailo-download-resources |
Download/update model resources (by app group, model, or architecture). |
hailo-post-install |
Complete post-install setup (resources + postprocess compilation). |
hailo-audio-troubleshoot |
Audio diagnostics utility for voice workflows. |
The following applications are available as command-line tools. Each one is a self-contained GStreamer pipeline that can be launched with a simple command.
Note: Pipeline apps rely on resources (models, post-process
.sofiles). In full installs this is handled byinstall.sh. For pip/manual installs, runhailo-post-install(see Installation Guide).
| CLI Command | Application | Description |
|---|---|---|
hailo-detect-simple |
Simple Object Detection | A lightweight version focused on demonstrating raw Hailo performance with minimal CPU overhead. It uses a YOLOv6-Nano model and does not include object tracking. |
hailo-detect |
Full Object Detection | A comprehensive detection application featuring object tracking and support for multiple video resolutions. |
hailo-pose |
Pose Estimation | Detects human pose keypoints (e.g., joints and limbs) in real-time. |
hailo-seg |
Instance Segmentation | Provides pixel-level masks for each detected object, distinguishing different instances from one another. |
hailo-depth |
Depth Estimation | Estimates the depth of a scene from a single 2D camera input. |
hailo-tiling |
Tiling | Single & multi-scale tiling splitting each frame into several tiles, effective for small objects in high-resolution frames. |
hailo-clip |
CLIP Zero-shot | Zero-shot image classification using CLIP-style embeddings for flexible label sets. |
hailo-multisource |
Multisource | Demonstrating parallel processing on multiple streams from a combination of various inputs (USB cameras, files, RTSP, etc.). |
hailo-face-recon |
Face Recognition | A face recognition application that identifies and verifies faces in real-time. This application is currently in BETA. |
hailo-ocr |
PaddleOCR | Text detection and recognition using PaddleOCR models. This application is currently in BETA. |
hailo-reid |
REID Multisource | Track people (faces) across multiple cameras (or any other input method) in a pipeline with multiple streams. This application is currently in BETA. |
| Easter Game | Interactive Easter Egg catching game using pose estimation. Created autonomously by AI. |
These standalone GenAI applications are located in hailo_apps/python/gen_ai_apps/ and can be run directly as Python scripts.
| Application | Description |
|---|---|
| Agent Tools Example | Voice-to-action AI agent with tool integration for controlling hardware (elevators, servos, RGB LEDs) and accessing external services (weather API, math operations). |
| Voice Assistant | Complete voice assistant implementation combining speech recognition, LLM, and text-to-speech. |
| VLM Chat | Vision-Language Model chat application combining vision and language understanding. |
| Hailo Ollama | Ollama integration utilities for running local LLM workflows with Hailo. |
| Simple LLM Chat | Minimal text-only LLM chat example. |
| Simple VLM Chat | Minimal Vision-Language chat example (image + text). |
| Simple Whisper Chat | Minimal Whisper-based speech recognition chat example. |
See the GenAI Apps README for additional details and usage notes.
This repository also includes standalone Python applications for computer vision use cases. These applications are located in hailo_apps/python/standalone_apps/ and can be run directly as Python scripts.
| Application | Description |
|---|---|
| Instance Segmentation | Standalone example of instance segmentation with custom post-processing. |
| Lane Detection | Lane detection application for automotive use cases. |
| Object Detection | Standalone object detection example with custom post-processing. |
| Oriented Object Detection | Standalone oriented object detection (rotated bounding boxes). |
| PaddleOCR | Standalone text detection and recognition using PaddleOCR models. |
| Pose Estimation | Standalone pose estimation example with custom visualization. |
| Super Resolution | Image super-resolution for enhancing image quality. |
| Speech Recognition | Speech recognition for Hailo-8/8L/10H with live mic recording. |
| YOLO26 Object Detection | YOLO26 object detection with split HEF + ONNX postprocessing pipeline. |
| YOLO26 Pose Estimation | YOLO26 pose estimation with split HEF + ONNX postprocessing pipeline. |
These standalone applications typically require additional dependencies which can be installed using the requirements.txt file in each application's directory.
This repository also includes standalone C++ applications under hailo_apps/cpp/.
| Application | Description |
|---|---|
| Classification | Image classification with models trained on ImageNet. |
| Mono Depth Estimation | Monocular depth estimation with SCDepthV3. |
| Stereo Depth Estimation | Stereo depth estimation with StereoNet. |
| Instance Segmentation | Instance segmentation with YOLO segmentation models. |
| Object Detection | Generic and asynchronous object detection. |
| ONNX Runtime Pipeline | Inference with Hailo and post-processing via ONNX Runtime. |
| Oriented Object Detection | Detection with rotated bounding boxes. |
| Pose Estimation | Human pose estimation. |
| Semantic Segmentation | Pixel-wise semantic segmentation (Cityscapes-style outputs). |
| Zero-Shot Classification | CLIP-based zero-shot image classification. |
For C++ build and usage instructions, see CPP Examples README.
- Use this flow when you installed the full repository.
- Activate environment per terminal:
source setup_env.sh- Run any pipeline command directly (for example
hailo-detect,hailo-pose,hailo-seg). - See app-specific options with:
<command> --help| Flag(s) | Description |
|---|---|
--input, -i <source> |
Specifies the input source. Common options include: rpi, usb, a device path like /dev/video0, or a path to a video file. |
--arch <architecture> |
Manually sets the Hailo device architecture (e.g., hailo8, hailo8l, hailo10h). If not provided, the system will auto-detect the device. |
--hef-path <path> |
Path to a custom compiled HEF model file, allowing you to run your own trained models. |
--show-fps, -f |
Displays a real-time Frames-Per-Second (FPS) counter on the output video window. |
--frame-rate, -r <fps> |
Sets the target input frame rate for the video source. Defaults to 30. |
--disable-sync |
Disables display synchronization to run the pipeline at maximum speed. This is ideal for benchmarking processing throughput. |
--disable-callback |
Disables user-defined Python callback functions. Frame counting for watchdog continues. Use for performance benchmarking. |
--dump-dot |
Generates a pipeline.dot file, which is a graph of the GStreamer pipeline that can be visualized with tools like Graphviz. |
--labels-json <path> |
Path to a custom JSON file containing the labels for the classes your model can detect or classify. |
--use-frame, -u |
In applications with a Python callback, this flag indicates that the callback is responsible for providing the frame for display. |
--enable-watchdog |
Monitors the pipeline for stalls (no frames processed for 5s) and automatically rebuilds it. Works with --disable-callback. |
--log-level <level> |
Set logging level: debug, info, warning, error, critical. Default: info. Can also use --debug for debug level. |
--log-file <path> |
Optional log file path for persistent logging. Also respects $HAILO_LOG_FILE environment variable. |
- "Standalone" means standalone installation flow (no full
install.shflow required). - Many standalone apps still depend on shared modules in this repo, so a repo clone is commonly required.
- Use each app README as source of truth for exact dependencies and run command.
Quick notes:
- Python CV standalone apps: usually install local
requirements.txtin app directory. - Python GenAI apps: install extras from repo root:
pip install -e ".[gen-ai]"- C++ standalone apps: build/run from each app folder (
./build.sh).
For C++ overview, see CPP Examples README.