Data Collection
This guide explains how edge devices collect and upload data to Acusight, and how that data flows through the MLOps pipeline.Overview
Acusight supports two data upload modes depending on your network architecture:| Mode | When to Use | How It Works |
|---|---|---|
| LAN Mode | Edge devices can reach MinIO directly | Devices upload to MinIO, notify core service |
| Cloud Mode | Edge devices behind NAT/firewall | Devices upload through core API (proxy to MinIO) |
Cloud Mode (Default)
In cloud mode, the edge agent sends images directly to the core API, which proxies them to MinIO.Upload Endpoint
X-Device-Key: adk_<your-api-key>(required)Content-Type: multipart/form-data
image: The image file (required)metadata: JSON object with additional info (optional)
Example Upload
Agent Automatic Upload
The Acusight agent automatically handles uploads when configured. Place images in the watch directory:LAN Mode
In LAN mode, devices upload directly to MinIO (faster, less load on core service).Data Flow Pipeline
Once images are uploaded, they flow through the MLOps pipeline:1. Raw Data Pool
- Images land in MinIO bucket:
raw-data/<uuid>_<filename> - Automatically grouped into batches based on device and time window
2. Batch Collection
- Collecting: Active batch receiving new images
- Complete: Batch closed (time window ended or manual close)
- Unassigned: Ready to be assigned to a project
3. Annotation
Once assigned to a project:- Annotating: Images being labeled
- Annotators add bounding boxes, classes, etc.
4. Dataset Version
- Create immutable snapshots with
train/val/testsplits - Export in various formats (YOLO, COCO, etc.)
- Use for model training
Batch Configuration
Batches are automatically created based on configurable rules:| Setting | Description | Default |
|---|---|---|
batch_timeout | Time window for collecting images | 30 minutes |
batch_max_images | Maximum images per batch | 1000 |
auto_close | Automatically close when timeout reached | true |
Monitoring Uploads
Check Recent Batches
Check Batch Images
View Upload Metrics
The core service exposes Prometheus metrics:acusight_images_uploaded_total- Total images uploadedacusight_upload_duration_seconds- Upload latency histogramacusight_upload_size_bytes- Image size histogram
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| Upload returns 401 | Invalid or expired API key | Check agent config |
| Upload returns 413 | Image too large | Check size limits |
| Images not appearing in batches | Data service not notified | Check core service logs |
| Batch stuck in “collecting” | Timeout not triggered | Manually close batch or check settings |