intel/video-analytics-serving

Verified Publisher

By Intel Corporation

Updated over 4 years ago

Video Analytics Serving Docker images.

Image
Internet of things
Machine learning & AI
Monitoring & observability
6

50K+

intel/video-analytics-serving repository overview

Video Analytics Serving

Video Analytics Serving (VA Serving) is a python package and microservice for deploying hardware optimized media analytics pipelines. It supports pipelines defined in GStreamer* or FFmpeg* media frameworks and provides APIs to discover, start, stop, customize and monitor pipeline execution. Video Analytics Serving is based on Intel® Distribution of OpenVINO™ Toolkit - DL Streamer and FFmpeg Video Analytics.

This container provides a standalone microservice based on DL Streamer with the following pipelines:

Pipeline NameDescription
object_detectionDetect and label objects
object_classificationAs object_detection adding metadata such as object subtype and color
object_trackingAs object_classification adding tracking identifier to metadata
audio_detectionAnalyze audio streams for events such as breaking glass or barking dogs.
action_recognitionClassifies general purpose actions in input video such as tying a bow tie or shaking hands.

IMPORTANT: Video Analytics Serving is provided as a pre-production preview. Developers deploying Video Analytics Serving based microservices should review them against their production requirements.

IMPORTANT: DL Streamer Edge AI Extension images can now be found at intel/dlstreamer-edge-ai-extension.

  • 0.7.0, latest
    • Initial release using Intel® Distribution of OpenVINO™ Toolkit 2021.4.2

Running Docker container

Docker must be given access to the HTTP port, which is 8080 by default. This example also gives access to the /tmp folder for writing metadata results.

docker run -p 8080:8080 -v /tmp:/tmp intel/video-analytics-serving

Enable GPU inference by giving docker access to device /dev/dri.

NOTE: Ubuntu20 hosts need extra docker options to access GPU

docker run -p 8080:8080 -v /tmp:/tmp --device /dev/dri intel/video-analytics-serving

Issuing Requests with curl

This shows how to make a request via curl that does the following

  • use media from person-bicycle-car-detection.mp4
  • run it through pipeline object_detection/person_vehicle_bike
  • only return results with detection confidence over 0.7
  • sends output to /tmp/detection_results.json
curl localhost:8080/pipelines/object_detection/person_vehicle_bike -X POST -H \
'Content-Type: application/json' -d \
'{
  "source": {
    "uri": "https://github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true",
    "type": "uri"
  },
  "parameters" : {
    "threshold" : 0.75
  },
  "destination": {
    "metadata": {
      "type": "file",
      "path": "/tmp/detection_results.json",
      "format": "json-lines"
    }
  }
}'

Output can be viewed as follows

tail -f /tmp/detection_results.json
{"objects":[{"detection":{"bounding_box":{"x_max":0.7481285929679871,"x_min":0.6836653351783752,"y_max":0.9999656677246094,"y_min":0.7867168188095093},"confidence
":0.8825281858444214,"label":"person","label_id":1},"h":92,"roi_type":"person","w":50,"x":525,"y":340}],"resolution":{"height":432,"width":768},"source":"https://
github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true","timestamp":1833333333}
{"objects":[{"detection":{"bounding_box":{"x_max":0.7502986788749695,"x_min":0.6836960911750793,"y_max":0.9965760111808777,"y_min":0.7709739804267883},"confidence
":0.9252141118049622,"label":"person","label_id":1},"h":97,"roi_type":"person","w":51,"x":525,"y":333}],"resolution":{"height":432,"width":768},"source":"https://
github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true","timestamp":1916666666}
{"objects":[{"detection":{"bounding_box":{"x_max":0.7533045411109924,"x_min":0.6833932995796204,"y_max":0.9992516040802002,"y_min":0.7517305612564087},"confidence
":0.9160457849502563,"label":"person","label_id":1},"h":107,"roi_type":"person","w":54,"x":525,"y":325}],"resolution":{"height":432,"width":768},"source":"https:/
/github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true","timestamp":2000000000}
{"objects":[{"detection":{"bounding_box":{"x_max":0.7569090723991394,"x_min":0.6831721663475037,"y_max":0.9893120527267456,"y_min":0.745476245880127},"confidence"
:0.9452301859855652,"label":"person","label_id":1},"h":105,"roi_type":"person","w":57,"x":525,"y":322}],"resolution":{"height":432,"width":768},"source":"https://
github.com/intel-iot-devkit/sample-videos/blob/master/person-bicycle-car-detection.mp4?raw=true","timestamp":2083333333}

For more details on making custom requests or building from source see https://github.com/intel/video-analytics-serving/tree/v0.7.0-beta

License

LEGAL NOTICE: By accessing, downloading or using this software and any required dependent software (the "Software Package"), you agree to the terms and conditions of the software license agreements for the Software Package, which may also include notices, disclaimers, or license terms for third party software included with the Software Package. Please refer to the "third-party-programs.txt" or other similarly-named text file for additional details.

ComponentsLicense
DockerfileBSD 3-clause "New" or "Revised" License
Docker image with 0.7.0 tag uses openvino/ubuntu20_data_runtime as a base, and several community modules and scripts.
Copyright (c) 2019-2021 Intel Corporation All rights reserved.
OpenVINO Ubuntu20.04 Data Runtime Docker ImageDockerfile: Apache 2.0 License,
Image: 2021.4.2 (various)
python-dateutilBSD 3-clause "New" or "Revised" License
Copyright (c) 2018-2021 Intel Corporation All rights reserved.
numpyBSD 3-clause "New" or "Revised" License (Numpy customized)
Copyright (c) 2005-2021, NumPy Developers. All rights reserved.
Python3PSF
Copyright © 2001-2021 Python Software Foundation; All Rights Reserved
Python-PipMIT License
Copyright (c) 2008-2021 The pip developers (see AUTHORS.txt file)
setuptoolsMIT License
Copyright (C) 2016 Jason R Coombs [email protected]
jsonschemaMIT License
Copyright (c) 2013 Julian Berman
pyyamlMIT License
Copyright (c) 2017-2021 Ingy döt Net
Copyright (c) 2006-2016 Kirill Simonov
swagger-ui-bundleApache License 2.0
Copyright 2020-2021 SmartBear Software Inc.
Tornado Web ServerApache License 2.0
Copyright: 2009-2011 Facebook
RequestsApache License 2.0
Copyright 2019 Kenneth Reitz
Zalando ConnexionApache License 2.0
Copyright 2015 Zalando SE
Intel® Distribution of OpenVINO™ Toolkit - OpenModelZooApache License 2.0
Copyright (c) 2020-2021 Intel Corporation
Intel® Distribution of OpenVINO™ Toolkit - Deep Learning Deployment ToolkitApache License 2.0
Copyright (c) 2020-2021 Intel Corporation

As with any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses and potential fees for all software contained within. We will have no indemnity or warranty coverage from suppliers.

Tag summary

Content type

Image

Digest

Size

1.1 GB

Last updated

over 4 years ago

docker pull intel/video-analytics-serving:latest-dlstreamer-edge-ai-extension

This week's pulls

Pulls:

2,248

Last week