Описание продукта
Цель
Лабораторная фаза — контролируемая среда разработки для vision, telemetry и video-session software. Её должно быть легко собрать, легко диагностировать через SSH/GStreamer/OpenCV, и она должна быть достаточно мощной, чтобы улучшать качество модели без ранней аппаратной оптимизации.
В этой фазе нужно проверить:
- захват USB-camera в Linux;
- поведение bee detector и tracker на записанных и live clips;
- direction-aware counting через настроенные entrance regions;
- загрузку телеметрии в Gratheon;
- start/stop on-demand video sessions через
gate-video-stream; - local buffering и retry behavior при нестабильной сети;
- baseline data для будущих cost-down и solar решений.
Functionality
- Локально запускает
entrance-observerна Jetson Orin Nano Super Developer Kit. - Захватывает видео с USB UVC camera с ручным varifocal lens.
- Обрабатывает benchmark profiles, например 640x480@30 FPS и 1280x720@15 FPS.
- Производит movement buckets: bees in, bees out, unknown direction, confidence, FPS и device health.
- Загружает telemetry continuously или короткими batches.
- Запускает live video только после запроса
web-appкgate-video-stream. - Хранит selected clips локально для debugging и model improvement.
Лабораторная архитектура
flowchart LR
scene[Сцена, похожая на леток, или test video] --> camera[USB UVC camera]
camera --> jetson[Jetson Orin Nano]
jetson --> capture[Capture pipeline]
capture --> infer[Detector and tracker]
infer --> count[Crossing/count logic]
count --> telemetry[telemetry-api]
jetson --> buffer[Local clip buffer]
web[web-app] --> graphql[graphql-router]
graphql --> gate[gate-video-stream]
gate --> control[Device control command]
control --> jetson
jetson -->|publish while session is active| gate
gate --> player[web-app live player]
buffer -->|optional selected clips| gate
Component assessment
| Подсистема | Текущий компонент | Лабораторная оценка | Главный риск | Альтернатива для оценки позже |
|---|---|---|---|---|
| Edge compute | NVIDIA Jetson Orin Nano Super Developer Kit, 8 GB | Лучший reference для model iteration, TensorRT, CUDA, Docker и debugging. | Высокие power/cost могут скрыть production constraints; Orin Nano не лучший video-encoding platform, потому что lacks NVENC. | Raspberry Pi 5 + Hailo AI HAT+ 26 TOPS; RK3588 как media-heavy alternative. |
| Camera | MOKOSE 4K USB UVC camera | Хороша для lab: UVC работает с Linux tools и быстро меняется. | Generic USB camera может иметь нестабильную exposure, rolling-shutter artifacts и bulky cabling. | CSI/MIPI camera или IP/smart camera with onboard H.265. |
| Lens | Manual varifocal CS/C lens | Полезен пока неизвестен required field of view. | Focus/zoom может сбиться; длинный focal length может быть слишком узким. | Fixed-focus locked lens после измерений geometry. |
| Storage | 250 GB NVMe SSD | Хорош для OS, Docker images, logs, clip buffers, test datasets. | Большой storage может маскировать плохую upload policy. | Smaller industrial microSD/eMMC или industrial NVMe для video-heavy SKU. |
| Network | M.2 WiFi module and antennas | Хорош для bench и indoor apiary WiFi tests. | На пасеках слабый WiFi, важна antenna placement. | Ethernet/PoE для fixed pilot sites; LTE router/gateway для remote sites. |
| Mechanical | 2020 aluminium extrusion, acrylic sheets, camera mount | Быстро менять fixture и camera alignment. | Не weatherproof, не UV/condensation optimized, не repeatable field installation. | IP65/IP67 enclosure, sealed optical window, sun shield, drain path, fixed bracket. |
| Display | 7 inch HDMI touchscreen | Полезен при первичной настройке. | Добавляет cost, power, openings и breakage risk. | Удалить из field builds; использовать web setup, SSH, logs или service laptop. |
Почему Jetson остаётся в Phase 1
Jetson Orin Nano не обязательно финальный ответ, но это правильный reference board для ранней model work:
- Ultralytics/PyTorch workflows можно запускать до conversion на маленький accelerator.
- TensorRT даёт realistic high-performance edge baseline.
- Docker и JetPack дают familiar deployment target.
- GPU headroom позволяет одновременно тестировать detector, tracker, overlays, telemetry и local preview.
При этом лабораторная фаза обязана записывать power и FPS. Без measured FPS/W и count accuracy/W выбор будущего hardware будет маркетинговым, а не продуктовым решением.
Lab benchmark plan
| Benchmark | How to run | Why it matters | Exit target |
|---|---|---|---|
| Detector + tracker FPS | Один и тот же labelled clip set, overlays off, telemetry on. | Generic TOPS не включает tracking/counting overhead. | Stable 15 FPS at 720p или 30 FPS at 640x480 на Jetson reference. |
| Count accuracy | Сравнить bees_in/bees_out с manually labelled clips. |
Product value — count quality, не raw model FPS. | Direction error и false counts задокументированы по клипам. |
| FPS/W | Измерить wall power при обработке fixed clips. | Solar sizing зависит от watts. | Baseline exists before cost-down hardware. |
| Video session behavior | Start/stop live sessions через gate-video-stream. |
Live view не должен требовать direct LAN access to Jetson. | Device returns to telemetry-only after session expiry. |
| Clip policy | Прогнать movement/no-movement video. | Предотвращает storage/bandwidth waste. | No permanent upload when nobody watches and no event is selected. |
| Thermal stability | 4-8 часов в enclosure-like location. | Outdoor pilot будет теплее стола. | No thermal throttling changing count output. |
Software and API boundaries
| Компонент | Ответственность в lab |
|---|---|
entrance-observer |
Capture frames, detector/tracker, aggregate metrics, buffer clips, publish live media only during session. |
telemetry-api |
Приём movement telemetry и health metrics от device API. |
gate-video-stream |
Stored clips и live session control; отдаёт playback/publisher endpoints вместо прямого доступа к устройству. |
graphql-router |
User-facing GraphQL requests from web-app. |
web-app |
Start/stop live sessions, movement charts and clips. |
Recommended lab operating modes
| Mode | Camera | AI | Video upload | Use |
|---|---|---|---|---|
| Model debug | On | Full | Optional local clips | Improve detector/tracker quality. |
| Telemetry demo | On | Full | Off unless event selected | Show bee traffic charts without wasting storage. |
| Live session test | On | Full | Publish only while viewed | Validate gate-video-stream control path. |
| Dataset capture | On | Optional | Store local clips | Build labelled training/evaluation set. |
| Night/off-hours | Off or scheduled | Off | Off | Validate sleep and restart behavior. |
Exit criteria
- Camera capture повторяется после reboot.
entrance-observerобрабатывает fixed test set и выдаёт reproducible count metrics.- Telemetry reaches Gratheon with stable device and hive identity.
- On-demand live viewing controlled through
gate-video-stream, not direct browser-to-Jetson URL. - Есть хотя бы один labelled benchmark set для сравнения Jetson, Hailo, RK3588 и future smart-camera options.
- Power, FPS, temperature и bandwidth recorded for current prototype.
Bill of materials
Подробный список деталей находится в Phase 1 - Lab BOM. Core parts: Jetson Orin Nano, USB UVC camera, varifocal lens, NVMe SSD, WiFi or Ethernet, bench power и temporary camera fixture.