README
This document provides essential information for developers and testers working with the Atriva AI Runtime powered by OpenVINO. Youโll find details on API endpoints, development workflows, environment setup, model conversion, and automated testing for object detection and tracking tasks.
- API Endpoints: Reference for REST endpoints, system health, model info, and inference requests.
- Development: Environment setup, OpenVINO integration details, compatible Python versions, and workflow guidance.
- Model Preparation: Steps to export, convert, and quantize models for optimal device performance.
- Testing: How to run image and video inference, vehicle tracking, and generate performance reports.
๐ก Tip: See each section for code snippets, CLI commands, and troubleshooting.
๐งช Testing
Overview
The Testing section covers how to run the comprehensive test suite for the AI models. This includes setup instructions, running tests on images and videos, and using different model sizes. The test suite supports YOLOv8 object detection, vehicle tracking with multiple algorithms, and provides detailed performance reports.
โ ๏ธ Prerequisites: Make sure you have downloaded the required models first (see Model Management section above).
# Setup test environment
cd tests
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Download/convert YOLOv8 models (auto-downloads from Ultralytics and converts to OpenVINO)
python test_runner.py --download-models
Image Detection
# Test YOLOv8n on image
python test_runner.py --model yolov8n --input test_images/dog_bike_car.jpg
# Test with different model sizes
python test_yolov8_openvino.py --input test_images/sample.jpg --size n # nano
python test_yolov8_openvino.py --input test_images/sample.jpg --size s # small
python test_yolov8_openvino.py --input test_images/sample.jpg --size m # medium
Video Detection
# Process video with YOLOv8
python test_runner.py --model yolov8n --input test_videos/sample_traffic.mp4
# Advanced video options
python test_yolov8_openvino.py --input test_videos/sample_traffic.mp4 --video --inference-fps 1 --length 30
Vehicle Tracking
# Simple IoU-based tracking (default)
python test_vehicle_tracking.py --input test_videos/sample_traffic.mp4 --video --tracker iou
# ByteTrack algorithm (better occlusion handling)
python test_vehicle_tracking.py --input test_videos/sample_traffic.mp4 --video --tracker bytetrack
Sample Output Report:
โโโ Summary Report โโโ
โ
Processed 300 frames
โ
Total processing time: 45.23s
โ
Overall FPS (including I/O): 6.63
โ
Inference FPS (model only): 28.45
โ
Avg inference time per frame: 35.15ms
โ
Total detections: 1250
โ
Average detections per frame: 4.17
โ
Maximum active tracks: 12
โ
Tracker: bytetrack
โ
Saved annotated video: output/vehicle_tracking_video_output.mp4