https://store-images.s-microsoft.com/image/apps.51514.91c8e3e2-ba73-4d96-a833-3c1b2a7ab07f.e58c9dee-0bd4-48e4-9f88-790e96c0aa47.ed668b23-bed3-48dd-8417-14917251fe32

Lobe.ai ONNX HTTP Extension for AVA on Edge

motojin.com, Inc.

Lobe.ai ONNX HTTP Extension for AVA on Edge

motojin.com, Inc.

Lobe.ai export model inferencing based on ONNX

This module is developed from 「Lobe.ai ONNX Sample」 to be able to run on IoT Edge.

While running the IoT Edge module, you can use in conjunction with Azure Video Analyzer. It can be used as an inferencing server for HTTP extension node in Azure Video Analyzer on Edge. The performance of the model inferencing server depends on the CPU power.

This module can be used with the Azure cloud native application WeDX Flow to simplify module management.

Minimum hardware requirements: Linux x64 and arm64 OS, 1GB of RAM, 850Mb of storage

Features

  • Inferencing server for AVA HTTP extension node - Classification inference type
  • The default port(Nginx proxy) of the module is 80 and binding port is 8170
  • Telemetry of inference results
  • Video stream of inference results - {SERVER IP}:8170/stream/video

Getting Started

  • Export ONNX model on Lobe.ai app
  • Check two important files in the export directory
    • model.onnx
    • signature.json
  • Copy two files to Lobe Model Directory (default:/var/lib/lobemodel)

Direct methods

  • Not available

Environment variables

  • Not available

Desired properties

  • Lobe.ai ONNX model directory (default:/var/lib/lobemodel)
    • "LobeModelDirectory": "/var/lib/lobemodel"
  • Send telemetory of inference results (default:true)
    • "SendTelemetry": true / false
  • Stream Video of inference results (default:true)
    • "ViewVideoStream": true / false

AVA(Azure Video Analyzer) Integration

  • Pipeline Topology sample (HttpExtension)
    • "url": "rtsp://{ModuleName}/store"
    • "mode": "preserveAspectRatio"
    • "width": "416"
    • "height": "416"
    • "@type": "#Microsoft.VideoAnalyzer.ImageFormatBmp"

Testing

  • /score
    • Getting a list of detected objects
  • /annotate
    • Seeing the bounding boxes overlaid on the image
  • /score-debug
    • Getting the list of detected objects and also generate an annotated image

https://store-images.s-microsoft.com/image/apps.19707.91c8e3e2-ba73-4d96-a833-3c1b2a7ab07f.e58c9dee-0bd4-48e4-9f88-790e96c0aa47.c81d9e85-0cc8-49ee-900e-f509c2d639aa
https://store-images.s-microsoft.com/image/apps.19707.91c8e3e2-ba73-4d96-a833-3c1b2a7ab07f.e58c9dee-0bd4-48e4-9f88-790e96c0aa47.c81d9e85-0cc8-49ee-900e-f509c2d639aa
https://store-images.s-microsoft.com/image/apps.54072.91c8e3e2-ba73-4d96-a833-3c1b2a7ab07f.e58c9dee-0bd4-48e4-9f88-790e96c0aa47.9390bd60-b130-46f4-bdf2-90ac52607a57
https://store-images.s-microsoft.com/image/apps.47833.91c8e3e2-ba73-4d96-a833-3c1b2a7ab07f.e58c9dee-0bd4-48e4-9f88-790e96c0aa47.ca37c22e-31e9-4774-a760-21e1e25e9295
https://store-images.s-microsoft.com/image/apps.20887.91c8e3e2-ba73-4d96-a833-3c1b2a7ab07f.e58c9dee-0bd4-48e4-9f88-790e96c0aa47.44ce3b61-e2d0-41c2-8c65-03460a135e57