https://store-images.s-microsoft.com/image/apps.51514.03fa0beb-b61c-4517-b52f-aa9338b3691f.ce0dba28-cb39-4663-b813-0a2b80a3a3b6.940be04c-d308-4509-8aac-4a131cf10db8

Lobe model HTTP Extension for AVA on Edge

motojin.com, Inc.

Lobe model HTTP Extension for AVA on Edge

motojin.com, Inc.

Lobe 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.03fa0beb-b61c-4517-b52f-aa9338b3691f.ce0dba28-cb39-4663-b813-0a2b80a3a3b6.b1416155-e19c-42f5-87d1-42bfd5a5d1cb
https://store-images.s-microsoft.com/image/apps.19707.03fa0beb-b61c-4517-b52f-aa9338b3691f.ce0dba28-cb39-4663-b813-0a2b80a3a3b6.b1416155-e19c-42f5-87d1-42bfd5a5d1cb
https://store-images.s-microsoft.com/image/apps.54072.03fa0beb-b61c-4517-b52f-aa9338b3691f.ce0dba28-cb39-4663-b813-0a2b80a3a3b6.4c64dbeb-1839-4fcc-996a-14592fdca215
https://store-images.s-microsoft.com/image/apps.47833.03fa0beb-b61c-4517-b52f-aa9338b3691f.ce0dba28-cb39-4663-b813-0a2b80a3a3b6.6701bf6c-ff05-4404-b43d-25bc00fc7c4f
https://store-images.s-microsoft.com/image/apps.20887.03fa0beb-b61c-4517-b52f-aa9338b3691f.ce0dba28-cb39-4663-b813-0a2b80a3a3b6.0aeaa125-821c-4405-99fa-077edb4e6f60