0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈边缘视频分析

jf_pJlTbmA9 2023-10-27 16:34 次阅读

概览概览

视频分析是指通过视频处理、推论和分析操作将视频流转化为洞察力,用于医疗保健、零售、娱乐和工业等商业领域,视频分析所使用的算法对输入视频流进行物体探测、分类、识别、计数和跟踪。

使用这一案例的特点是可互操作的集装箱化微服务,用于开发和部署使用建造的优化视频分析管道Intel® DL Streamer包件提供的预制集装箱图像使开发商能够用自己的深层学习模型和管道取代集装箱中使用的深层学习模型和管道。工业边缘观察(EII)用于在边缘设备上进行视频分析的软件堆叠 。

开发者可以通过使用预先制造的Docker* 图像和简单地以众所周知的JSON格式配置视频分析管道来节省开发和部署时间。

选定配置 下载下载微观服务和下列软件。

配置 下载完成时间 :45分钟 45分钟

语言:Python* 3

可用软件 :

边缘视频分析

Deep Learning Streamer (Intel® DL Streamer) Pipeline Server

目标系统要求

下列处理器之一:

6th to 11th generation Intel® Core™ processors

1st to 3rd generation of Intel® Xeon® Scalable processors

Intel Atom® processor with Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2)

至少8GB内存。

至少64GB硬盘。

互联网连接。

Ubuntu* 20.04 LTS Kernel 5.4†

引用到OpenVINO™ Toolkit System Requirements支持的 GPU 和 VPU 处理器。

† Use Kernel 5.8 for 11th generation Intel® Core™ processors.

如何运作

边缘视频分析

这是用于部署最佳视频分析分析管道的Python* 微型服务,作为Docker图像在包件中提供。Intel® DL Streamer用于推断的管道服务器。 Docker 图像使用Intel® DL Streamer Pipeline Server as a library. The microservice can be started in one of two modes – Edge Insights Industrial (EII) to deploy with EII software stack or Edge Video Analytics (EVA) to deploy independent of the EII stack.

Edge Video Analytics (EVA) Mode: Provides the same RESTful APIs as Intel® DL Streamer Pipeline Server to discover, start, stop, customize,和monitor pipeline execution和supports MQTT和Kafka message brokers for publishing the inference results. For the REST API definition, refer to the Restfforforfor Microsservices 微服务接口.

工业(EII)模式的边缘透视:支持管道执行的 EII 配置管理器,以及发布推论结果的 EI 信息管道,使其与工业的边缘透视软件堆叠。

wKgZomTDjJyAHnpNAAE0p5-OjCY825.png

图1:建筑图图

注意: 可以选择, 人们也可以从 Docker 枢纽下载 docker 图像, 来运行独立版本的微服务。 这是断层视频分析微服务, 没有安装信息总线出版商和 gst- udfloader 元素等工业部件的边缘透视, 因此容器大小较小 。

wKgaomTDjJ-AaP7WAADkPrmrtPs923.png

图2 建筑图图 - 独立版本

微服务资源

在边缘视频分析微观服务中使用的以下配置文件、脚本和工具已列入边缘视频分析资源拉链文件:

docker- competable. yml 转换器用于边缘视频分析微服务 和 MQTT 经纪人的文件配置、创建和启动容器 。

管道和模型列表文件夹中包含“边缘视频分析微观服务嵌入器”图像中所包含的管道和示范定义文件。这些文件可以通过体积递增来修改和使用“边缘视频分析微观服务嵌入器”图像。

工具/模型下下加载器工具工具从openvinotoolkit/open_model_zoo.

约克基多文件夹中包含一个配置 MQTT 代理器的文件, 以查看推断结果 。

GST-UDF-LOADER元素

gst-udf-loader gstreamer 插件支持 python 和 本地(c) UDFs 的装载和执行。 UDF 是用户定义的功能,使用户能够在 EVAM 定义的管道中添加任何预处理或后处理逻辑。

集装箱发动机和管弦

该软件包使用Docker和Docker Compose进行自动集装箱管理。

Docker集装箱框架是企业环境中广泛使用的集装箱框架,允许将各种应用及其依赖性包装在一起,作为自足单位运行。

Docker Compose是一个用于定义和运行多集装箱套件应用程序的工具。

开始

第1步:安装微观服务

选定配置 下载下载微服务,然后按以下步骤安装。

配置 下载

打开一个新的终端, 转到下载的文件夹并解zip 下载的软件包 :

unzip video_analytics.zip

转到视频分析/目录 :

cd video_analytics

更改可执行的边缘软件文件的权限 :

chmod 755 edgesoftware

在下面运行安装微服务的命令 :

sudo ./edgesoftware install

安装期间,您将被提示产品。产品键包含在Intel发来的邮件中,该邮件确认您的下载。

wKgaomTDjKOALkiUAAJKzMNbOqE140.png

图3:产品键

When the installation is complete, you see the message “Installation of package complete”和the installation status for each module.

wKgaomTDjKeAcQ8rAALytPrD1ps365.png

图4 图4:安装完成

要校验安装, 请列出使用以下命令下载的 Docker 图像 :

sudo docker images

如果安装成功, 您将会看到类似 :

wKgZomTDjKqAbD3jAAEd7c6fYOE246.png

图5:安装成功​

注:
路径中将可用安装失败日志 :/var/log/esb-cli/video_analytics_何 地是下载的边缘视频分析微服务版本。
Docker 枢纽可直接下载边缘视频分析微服务嵌入图像, 使用以下命令 :
docker pull intel/边缘 _ 视频_分析_微观服务:

安装独立版本

Docker 枢纽可使用以下命令直接从 Docker 枢纽下载独立版本的 边缘视频分析微服务 的 docker 图像 :

docker pull intel/边缘 _ 视频_分析_微观服务:-standalone

步骤2:运行边缘视频分析

在此步骤中,您将运行边缘视频分析微服务,包括样品物体探测、物体分类、物体跟踪、面部检测、情感识别、动作识别和环境音频探测管道,这些已经包含在多克图像中。

添加文件权限 :

跳转到工作目录Edge_Video_Analytics_Resources带有命令 :

cd 视频分析/Video_Analytics_/Edge_Video_Analytics_Resources/

添加文件权限以使用命令运行脚本 :

sudo chmod +x docker/run.sh
sudo chmod +x 工具/模型下下加载器/model_downloader.sh 

下载模型 :

通过运行命令从工作目录中 Open Model Zoo 下载所需的模型 :

sudo ./工具/模型下下加载器/model_downloader.sh --model-list models_list/models.list.yml

模型列表可以通过打开models_list/models.list.yml 文件。

通过浏览模式目录, 检查下载是否成功 :

wKgaomTDjK6AdzVdAALUxHs0TQM285.png

图6:模型目录

注:示范清单可以修改或更新。

运行微服务:

以命令启动应用程序 :sudo docker 合成

检查终端中的成功信息 。

wKgZomTDjLqARHlNAAnPWhie7D4460.png

图7 图7:成功信息

打开一个新的终端,检查集装箱是否使用以下命令运行:

sudo docker ps -–format 'table{{.Image}}t{{.Status}}t{{.Names}}' 

命令输出应该显示两个 docker 容器边缘 _ 视频_分析_微观服务和日食- 日食- 日食具有咨商地位或具有Up.

wKgaomTDjL2ASKlBAAC0J4XeIFI950.png

图8:集装箱运行中的集装箱

利用REST请求,获取集装箱内现有模型和管道清单:

打开一个新的终端 。

运行以下命令以获取微服务中可用的模型列表 :

curl --location -X GET 'http://localhost:8080/models'

运行以下命令以获取微服务中可用的管道列表。 管道以名称/ version tuple 显示。 名称反映动作, 版本提供此动作的更多细节 。

curl --location -X GET 'http://localhost:8080/pipelines' 


注:如果这些步骤由于代理问题而失败,则提及排除故障段 次 页 次

发送ReST请求以运行物体探测管道:

通过替换创建 REST 请求在下面的曲线命令中,您系统的 IP 地址为 IP 。 (如果您在 PRC 区域,请参考下面的第二个选项。 )
引用到自定义视频分析管道请求以理解 " STP-REST " 申请格式。

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
    "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true",
    "type": "uri"
  },
  "destination": {
    "metadata": {
      "type": "mqtt",
      "host": ":1883",
      "topic": "vaserving"
    },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}'

对于 PRC 用户,请使用下面显示的链接替换在下面的卷轴命令中,使用您的系统的 IP 地址。
引用到自定义视频分析管道请求以理解 " STP-REST " 申请格式。

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
    "uri": "file:///home/pipeline-server/resources/classroom.mp4",
    "type": "uri"
  },
  "destination": {
    "metadata": {
      "type": "mqtt",
      "host": ":1883",
      "topic": "vaserving"
    },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}'


注:对于低于0.7.2的EVAM版本,在工作目录不同时,对uri使用以下文字:档案: /app/resources/lechroom.mp4

打开一个新的终端并运行修改的卷轴命令。 REST 请求将返回管道实例 ID, 可用于查询管道状态 。

例如,就第一期而言,根据请求,管道(例如,a6d67224eacc11ec9f360242c0a8603)将归还,随后又以递增号返回请求。

检查结果:

显示微服务日志的初始终端窗口现在显示新发送请求的日志, 包括管道实例、 状态和 RTSP 流链接。 管道状态将显示队列、 运行和完成 。

wKgZomTDjMGARuSgAALaNdRfJvw625.png

图9:核对结果

使用管道实例ID发送 Get 请求,检查输油管状况:

curl --location -X GET 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike//status'

何 地是管道实例。
从GET请求中收到的答复与以下各点相似:

{
  "avg_fps": 27.014388149183596,
  "elapsed_time": 2.2934277057647705,
  "id": a6d67224eacc11ec9f360242c0a86003,
  "start_time": 1641468940.5196402,
  "state": "RUNNING"
} 

注:如果输油管线已经终止,那么国家将显示为"COMPLETED".

打开 VLC 播放器中的输出 RTSP 流, 以查看替换后输入视频上的推推结果在您的系统 IP 地址的下列 URL 中:rtsp:// :8554/vasserving

请注意, 管道应该在 RUNNING 状态下查看输出视频。 如果管道已经结束, 请使用卷曲命令重新开始, 然后查看视频 。

wKgaomTDjMyAbLDrAAUjOmFJKX8792.png

图10: 推断结果

发送 REST 请求的替代方法 :
REST请求也可以通过邮递员应用程序发送,使用与前几个步骤相同的卷曲命令。
要安装 Postman 应用程序,请执行以下步骤:

转到邮差下载.

在想要的位置提取安装文件 。

提取后,双击应用程序,并用您现有的账户签名,或创建新账户签名。

正在运行独立版本

独立版本的边缘视频分析分析微服务与 EVA 模式相似,不同之处在于它没有任何 EII 组件,因此只能以 EVA 模式运行。结构结构图图,它是全容器图像的脱光版。需要以下步骤才能运行独立的微服务版本。

如果尚未完成, 请使用命令下载双向视频分析微服务独立版本的 docker 图像 :

$ docker pull intel/边缘 _ 视频_分析_微观服务:1.0.0-standalone

为提升微服务,请使用以下命令:

$ docker run -itd --rm 
     -p 8080:8080 
     -p 8554:8554 
     -e ENABLE_RTSP=true 
     -e RTSP_PORT=8554 
     -e ENABLE_WEBRTC=true 
     -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 
     -e RUN_MODE=EVA 
     intel/边缘 _ 视频_分析_微观服务:1.0.0-standalone

向输油管服务器发送 REST 请求以运行 对象_ 分类/ 车辆/ 属性管道。 以下 CURL 命令为我们这样做 。 回复将包含管道例 id (例如: a6d67224eacc11ec11ec9f360242c0a8603) , 用于使用输油管- 服务器状态 API 查询管道状态 。

$ curl localhost:8080/pipelines/object_classification/vehicle_attributes -X POST -H 
     'Content-Type: application/json' -d 
     '{
        "source": {
"uri": "https://github.com/intel-iot-devkit/sample-videos/blob/master/car-detection.mp4?raw=true",
"type": "uri"
        },
        "destination": {
"metadata": {
   "type": "file",
   "path": "/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl",
   "format": "json-lines"
},
"frame": {
   "type": "rtsp",
   "path": "pipeline-server"
}
        },
        "parameters": {
"detection-device": "CPU"
        }
     }'

微观服务处公布元元数据的推推到一个本地文件,可在以下网址查阅:/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl处理后的框架还作为RTSP流提供,可在下列地点查阅:trtsp://localhost:8554/管道-服务器,并且可以使用 RTSP 查看器查看。

添加模型和定制管道

可使用可用的下载脚本下载更多模型here.

您可以查询pipeline server docs创建自定义管道,并使用边缘视频分析微服务。

假设其他模型和管道分别以${pwd}/模型和${pwd}/管道提供,则设定了以下环境变量。

$ export MODEL_DIR=$(pwd)/models
$ export PIPELINE_DIR=$(pwd)/pipelines

为提升微服务,请使用以下命令:

$ docker run -itd --rm 
     --privileged 
     --device=/dev:/dev 
     --device-cgroup-rule='c 189:* rmw' 
     --device-cgroup-rule='c 209:* rmw' 
     --group-add 109 
     -p 8080:8080 
     -p 8554:8554 
     -e ENABLE_RTSP=true 
     -e RTSP_PORT=8554 
     -e ENABLE_WEBRTC=true 
     -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 
     -e RUN_MODE=EVA 
     -e DETECTION_DEVICE=CPU 
     -e CLASSIFICATION_DEVICE=CPU 
     -v ${MODEL_DIR}:/home/pipeline-server/models 
     -v ${PIPELINE_DIR}:/home/pipeline-server/pipelines 
     intel/边缘 _ 视频_分析_微观服务:${TAG}

正在运行 iGPU 上的推断

要启用对 iGPU 推论的支持, 您将需要将额外的旗帜传递到 docker 运行命令上, 详情如下 。

$ docker run -itd --rm 
     --privileged 
     --device=/dev:/dev 
     --device-cgroup-rule='c 189:* rmw' 
     --device-cgroup-rule='c 209:* rmw' 
     --group-add 109 
     -p 8080:8080 
     -p 8554:8554 
     -e ENABLE_RTSP=true 
     -e RTSP_PORT=8554 
     -e ENABLE_WEBRTC=true 
     -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 
     -e RUN_MODE=EVA 
     intel/边缘 _ 视频_分析_微观服务:${TAG}

可选: 带视频分析测试模块进行测试

安装完成后,您可通过运行视频分析测试模块测试您的设置。

详情,请参见Intel® Edge Software Device Qualification (Intel® ESDQ) for Video Analytics.

教脚

教程1: 在 GPU 上运行物件探测管道

此教程将演示如何更改运行 GPU 上的推论的推论设备 。
您将再次运行相同的对象_ 检测管道, 但这次您将使用集成的 GPU 进行检测推理, 设置检测- 检测设备参数

完成所有步骤Get Started上文一节。

在目标设备上,检查以下命令的输出并获得设备组:

stat -c '%g' /dev/dri/render*

在 docker-competect.yml 文件中添加设备组 :

    group_add:
      - 109

通过替换创建 REST 请求the 在下面的卷轴命令中,使用您的系统的 IP 地址。
请注意REST机体的参数部分。

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true",
      "type": "uri"
  },
  "destination": {
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  },
    "parameters": {
        "detection-device": "GPU"
   }
}' 

注:
GPU 电导内插在首次装入时动态构建 OpenCL 内核,导致产生推论结果前的延迟 ~ 30 秒。
Additional configuration might be needed to run inference on GPU depending on the HW. Refer Configurations for Intel® Processor Graphics (GPU) to download和install install_NEO_OCL_driver.sh (system reboot might be needed).

打开一个新的终端并运行卷轴命令。 REST 请求将返回管道实例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查询管道状态 。

校对结果运行边缘视频分析以上步骤。

教学图2:使用 USB 相机输入的 RUN 边缘视频分析分析微观服务

在此教程中, 您将把物体探测管道的输入源更改为 USB 相机 。

完成所有步骤Get Started上文一节。

在Ubuntu上,通过执行以下命令,列出所有可用的视频设备:是/dev/Vide*

创建 curl 请求, 以便使用视频设备作为源。 例如, 如果命令的输出为 / dev/ Video0, 那么对 curl 命令源进行如下修改 :

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "device": "/dev/video0",
      "type": "webcam"
  },
  "destination": {
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}' 

打开一个新的终端并运行卷轴命令。 REST 请求将返回管道实例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查询管道状态 。

校对结果运行边缘视频分析以上步骤。

注意: 请确定设备源参数中使用了正确的设备节点 。

教程 3: 在边缘视频分析微服务中以新模式运行新管道

在此教程中, 您将创建一个基于 人- 检测管道的新管道, 它将使用 人- 检测- retail- 0013 模型。 管道和模式文件夹将被安装到边缘视频分析微服务上, 无需重建 Docker 图像。 您可以遵循同样的步骤创建任何新的管道 。

完成所有步骤Get Started上文一节。

下载新模型。
要从开放型动物园下载新模型,请在模型中添加模型细节。 list. yml 显示于 Edge_Video_Analytics_Resources/models_list 路径中。
对于人-检测-零售-0013,在文件模型.list.yml的结尾处添加以下条目。

- model: person-detection-retail-0013
  alias: object_detection
  version: person_detection
  precision: [FP16,FP32] 

然后,在一个新的终端中运行以下命令,下载模型。

cd 视频分析/Video_Analytics_/Edge_Video_Analytics_Resources/
# 何 地 is the Package version downloaded

sudo ./工具/模型下下加载器/model_downloader.sh --model-list models_list/models.list.yml

命令执行完成后,下载的模型人-探测仪应在模型/物体-探测目录下提供。
如果您没有使用来自开放型动物园的模型,请在模型目录中直接复制您的模型。

wKgZomTDjNCASSs7AACrpu95hnk262.png

图11:下载新模型

创建新管道
您将在管道/ 目标/ 探测中创建一个新的管道。 既然您正在以现有人_ 车辆_ 自行车管道为基础, 请复制人_ 车辆_ 自行车文件夹, 将其重命名为人_ 探测, 然后更新管道.json , 以便使用新模式 。
在同一终端中( 从路径 Edge_ Video_Analytics_Resources) 执行命令 :

sudo cp -r pipelines/object_detection/person_vehicle_bike/ pipelines/object_detection/person_detection

在新复制的管道/物体/探测/人/探测/管道.json中,编辑管道.json文件的模板和说明部分。 json使用以下线条,将示范路径指定为模型/物体/探测/人/探测,以便使用模型人-探测-零售-0013来探测物体。
将模板定义为 :

	"template": ["uridecodebin name=source"," ! gvadetect model={models[object_detection][person_detection][network]} name=detection"," ! gvametaconvert name=metaconvert ! gvametapublish name=destination"," ! appsink name=appsink"
	], 

说明的定义是:

"description": "Person Detection based on person-detection-retail-0013",

请参见界定媒体分析管道了解输油管模板和界定自己的输油管。

使用添加了模型和管道的微型运行服务
以命令启动应用程序 :

sudo docker 合成 

此步骤会大量挂载模型和管道目录。 您可以在一个单独的终端中检查容器是否正在使用 sudo docker ps 命令运行 。

检查新的管道和模式
打开一个新终端并运行以下命令以获取可用的模型列表 :

curl --location -X GET 'http://localhost:8080/models'

运行以下命令以获取管道列表 。 管道以名称/ version tuple 显示。 名称反映动作, 版本提供动作的更多细节 。

curl --location -X GET 'http://localhost:8080/pipelines'

您应该看到列表中新添加的管道和模型 。

对象_ 检测/ 人_ 检测运行管道
打开一个新的终端并输入下面的曲线命令,用于下文给出的物件_ 检测/ 人_ 检测管道:

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_detection' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/store-aisle-detection.mp4?raw=true",
      "type": "uri"
  },
  "destination": {
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}' 

何 地 is the IP address of the system.
The above curl command returns the pipeline instance. Use this pipeline instance to get the status by updating the in the below command:

curl --location --request GET 'http://localhost:8080/pipelines/object_detection/person_detection//status'  
wKgaomTDjNaAFIvbAATvck6Ists738.png

图12: 人员探测运行管道

微服务日志将显示,天体探测/人探测管道实例已经建立,管道状态已经改为RUNNING,并结束了。

wKgaomTDjNmANRisAALLaxOiTCY108.png

图13:管道日志

教程 4: 安装边缘视频分析外壳图

注:此教程从第2022.1号释放起支持。

注:此教义假设您有一个宽网可用分组 。

在此教程中, 您将使用制导图在 宽网 群集中部署边缘视频分析微服务。 使用 drawnchart 组合图 。 用于样本部署的 Guard 图表包 边缘视频分析微服务和 MQTT 经纪人。 要下载制导图, 请使用定制的下载选项 。

完成所有步骤Get Started Guide. When the installation is complete, you see the message “Installation of package complete”和the installation status for each module.

wKgZomTDjN6ALvYuAAGxiIA5Wv8367.png

图14:成功安装

将模型、管道和资源文件夹复制到 /可选/英特尔/评价/库伯涅茨工人节点。

上述先决条件完成后,安装如下图表:helm install evam ./chart/

wKgaomTDjOOAFot6AAQKVfFGRaM733.png Figure 15: Chart Installation

Get the IP IP 地址 :

kubectl get pods -o wide

wKgaomTDjOiAf-heAAFvZ0IGhFA248.png Figure 16: Retrieving IP Address

更新管道请求指令以触发管道。 替换EVAM_POD_IP, MQTT_POD_IP上面有 IP 地址 。

curl --location -X POST 'http://:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "uri": "file:///home/pipeline-server/resources/person-bicycle-car-detection.mp4",
      "type": "uri"
  },
  "destination": { 
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      }
  }
}'

注:使用 GitHub URL 支持代理服务器网络时, 视频文件使用 GitHub URL 可能无法工作 。 相反, 下载视频文件并添加到资源目录/可选/英特尔/评价立方公尺内立体体体积的路径。

获取 MQTT 订阅者的推断输出 :

docker run -it --entrypoint 约克基多_sub  日食- 日食- 日食:latest --topic vaserving -p 1883 -h 

wKgZomTDjO2AQoQ6AAUf5SZUD2U515.png Figure 17: Inference Output

概述和下一步步骤

使用“边缘视频分析微服务” 学习如何进行视频分析。

学习更多

继续学习,见下列指南和软件资源:

GitHub

Docker Image

Helm Charts (概览概览)

Microservice Endpoints

自定义视频分析管道请求

界定媒体分析管道

Intel® Edge Software Device Qualification (Intel® ESDQ) for Video Analytics

排除故障

确保您在完全安装期间有一个活跃的互联网连接。 如果您随时失去互联网连接, 安装可能会失败 。

如果安装在从 Intel 注册处下载和提取图像时失败安装, 然后重新运行安装命令sudo ./edgesoftware install通过提供产品钥匙。
wKgZomTDjPGAYQiFAAEjKf0Dn6M292.png

确保您正在使用一个新的 Ubuntu* 安装。 早期软件, 特别是 Docker 和 Docker Compose 可能会引起问题 。

在代理环境中,如果设定了单一用户代理(即. bashrc 键) 然后部分组件安装可能失败或安装挂挂挂。 请确定您已经设置了代理服务器/贝茨/环境.

如果您的系统在代理服务器网络中, 请在环境环境栏内docker- competable. yml 转换器文件。

HTTP_PROXY=http:///
HTTPS_PROXY=http:////
NO_PROXY=localhost,127.0.0.1 


输入代理代理服务器的详细信息docker- competable. yml 转换器显示如下:

wKgaomTDjPSAfuVYAADc2HbLunA816.png

如果缺少代理细节, 则无法获取运行管道所需的源视频文件, 并在容器内安装所需的包件 。
wKgaomTDjPeAVjGIAAMxGLcNyek252.png

运行命令sudo - E docker 合成(参考步骤8(安装边缘视频分析微观服务)

在自定义模式下, 如果目标设备在代理服务器后面, Helm CLI 安装可能会失败。 要修正它, 请更新 apag 代理服务器的细节 。

sudo snap set system proxy.http=http:////
sudo snap set system proxy.https=http:////

如果集装箱显示有冲突错误,则停止/删除集装箱。
要删除边缘 _ 视频_分析_微观服务和mqtt_ 经纪人,使用以下任何一种备选办法:

执行下列命令:

sudo docker stop 边缘 _ 视频_分析_微观服务 mqtt_ 经纪人
sudo docker rm 边缘 _ 视频_分析_微观服务 mqtt_ 经纪人

或者运行sudo docker 合成向下从路径 :视频分析/Video_Analytics_/Edge_Video_Analytics_Resources

wKgZomTDjP2APAlSAAInPo4h9vE772.png

支助论坛支助论坛

If you're unable to resolve your issues, contact the 支助论坛支助论坛. 

概览概览

视频分析是指通过视频处理、推论和分析操作将视频流转化为洞察力,用于医疗保健、零售、娱乐和工业等商业领域,视频分析所使用的算法对输入视频流进行物体探测、分类、识别、计数和跟踪。

使用这一案例的特点是可互操作的集装箱化微服务,用于开发和部署使用建造的优化视频分析管道Intel® DL Streamer包件提供的预制集装箱图像使开发商能够用自己的深层学习模型和管道取代集装箱中使用的深层学习模型和管道。工业边缘观察(EII)用于在边缘设备上进行视频分析的软件堆叠 。

开发者可以通过使用预先制造的Docker* 图像和简单地以众所周知的JSON格式配置视频分析管道来节省开发和部署时间。

选定配置 下载下载微观服务和下列软件。

配置 下载

wKgZomTDZXyARi0cAAGLXLPSiE4201.png

完成时间 :45分钟 45分钟

语言:Python* 3

可用软件 :

边缘视频分析

Deep Learning Streamer (Intel® DL Streamer) Pipeline Server

目标系统要求

下列处理器之一:

6th to 11th generation Intel® Core™ processors

1st to 3rd generation of Intel® Xeon® Scalable processors

Intel Atom® processor with Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2)

至少8GB内存。

至少64GB硬盘。

互联网连接。

Ubuntu* 20.04 LTS Kernel 5.4†

引用到OpenVINO™ Toolkit System Requirements支持的 GPU 和 VPU 处理器。

† Use Kernel 5.8 for 11th generation Intel® Core™ processors.

如何运作

边缘视频分析

这是用于部署最佳视频分析分析管道的Python* 微型服务,作为Docker图像在包件中提供。Intel® DL Streamer用于推断的管道服务器。 Docker 图像使用Intel® DL Streamer Pipeline Server as a library. The microservice can be started in one of two modes – Edge Insights Industrial (EII) to deploy with EII software stack or Edge Video Analytics (EVA) to deploy independent of the EII stack.

Edge Video Analytics (EVA) Mode: Provides the same RESTful APIs as Intel® DL Streamer Pipeline Server to discover, start, stop, customize,和monitor pipeline execution和supports MQTT和Kafka message brokers for publishing the inference results. For the REST API definition, refer to the Restfforforfor Microsservices 微服务接口.

工业(EII)模式的边缘透视:支持管道执行的 EII 配置管理器,以及发布推论结果的 EI 信息管道,使其与工业的边缘透视软件堆叠。

wKgZomTDjJyAHnpNAAE0p5-OjCY825.png

图1:建筑图图

注意: 可以选择, 人们也可以从 Docker 枢纽下载 docker 图像, 来运行独立版本的微服务。 这是断层视频分析微服务, 没有安装信息总线出版商和 gst- udfloader 元素等工业部件的边缘透视, 因此容器大小较小 。

wKgaomTDjJ-AaP7WAADkPrmrtPs923.png

图2 建筑图图 - 独立版本

微服务资源

在边缘视频分析微观服务中使用的以下配置文件、脚本和工具已列入边缘视频分析资源拉链文件:

docker- competable. yml 转换器用于边缘视频分析微服务 和 MQTT 经纪人的文件配置、创建和启动容器 。

管道和模型列表文件夹中包含“边缘视频分析微观服务嵌入器”图像中所包含的管道和示范定义文件。这些文件可以通过体积递增来修改和使用“边缘视频分析微观服务嵌入器”图像。

工具/模型下下加载器工具工具从openvinotoolkit/open_model_zoo.

约克基多文件夹中包含一个配置 MQTT 代理器的文件, 以查看推断结果 。

GST-UDF-LOADER元素

gst-udf-loader gstreamer 插件支持 python 和 本地(c) UDFs 的装载和执行。 UDF 是用户定义的功能,使用户能够在 EVAM 定义的管道中添加任何预处理或后处理逻辑。

集装箱发动机和管弦

该软件包使用Docker和Docker Compose进行自动集装箱管理。

Docker集装箱框架是企业环境中广泛使用的集装箱框架,允许将各种应用及其依赖性包装在一起,作为自足单位运行。

Docker Compose是一个用于定义和运行多集装箱套件应用程序的工具。

开始

第1步:安装微观服务

选定配置 下载下载微服务,然后按以下步骤安装。

配置 下载

打开一个新的终端, 转到下载的文件夹并解zip 下载的软件包 :

unzip video_analytics.zip

转到视频分析/目录 :

cd video_analytics

更改可执行的边缘软件文件的权限 :

chmod 755 edgesoftware

在下面运行安装微服务的命令 :

sudo ./edgesoftware install

安装期间,您将被提示产品键。产品键包含在Intel发来的邮件中,该邮件确认您的下载。

wKgaomTDjKOALkiUAAJKzMNbOqE140.png

图3:产品键

When the installation is complete, you see the message “Installation of package complete”和the installation status for each module.

wKgaomTDjKeAcQ8rAALytPrD1ps365.png

图4 图4:安装完成

要校验安装, 请列出使用以下命令下载的 Docker 图像 :

sudo docker images

如果安装成功, 您将会看到类似 :

wKgZomTDjKqAbD3jAAEd7c6fYOE246.png

图5:安装成功​

注:
路径中将可用安装失败日志 :/var/log/esb-cli/video_analytics_何 地是下载的边缘视频分析微服务版本。
Docker 枢纽可直接下载边缘视频分析微服务嵌入图像, 使用以下命令 :
docker pull intel/边缘 _ 视频_分析_微观服务:

安装独立版本

Docker 枢纽可使用以下命令直接从 Docker 枢纽下载独立版本的 边缘视频分析微服务 的 docker 图像 :

docker pull intel/边缘 _ 视频_分析_微观服务:-standalone

步骤2:运行边缘视频分析

在此步骤中,您将运行边缘视频分析微服务,包括样品物体探测、物体分类、物体跟踪、面部检测、情感识别、动作识别和环境音频探测管道,这些已经包含在多克图像中。

添加文件权限 :

跳转到工作目录Edge_Video_Analytics_Resources带有命令 :

cd 视频分析/Video_Analytics_/Edge_Video_Analytics_Resources/

添加文件权限以使用命令运行脚本 :

sudo chmod +x docker/run.sh
sudo chmod +x 工具/模型下下加载器/model_downloader.sh 

下载模型 :

通过运行命令从工作目录中 Open Model Zoo 下载所需的模型 :

sudo ./工具/模型下下加载器/model_downloader.sh --model-list models_list/models.list.yml

模型列表可以通过打开models_list/models.list.yml 文件。

通过浏览模式目录, 检查下载是否成功 :

wKgaomTDjK6AdzVdAALUxHs0TQM285.png

图6:模型目录

注:示范清单可以修改或更新。

运行微服务:

以命令启动应用程序 :sudo docker 合成

检查终端中的成功信息 。

wKgZomTDjLqARHlNAAnPWhie7D4460.png

图7 图7:成功信息

打开一个新的终端,检查集装箱是否使用以下命令运行:

sudo docker ps -–format 'table{{.Image}}t{{.Status}}t{{.Names}}' 

命令输出应该显示两个 docker 容器边缘 _ 视频_分析_微观服务和日食- 日食- 日食具有咨商地位或具有Up.

wKgaomTDjL2ASKlBAAC0J4XeIFI950.png

图8:集装箱运行中的集装箱

利用REST请求,获取集装箱内现有模型和管道清单:

打开一个新的终端 。

运行以下命令以获取微服务中可用的模型列表 :

curl --location -X GET 'http://localhost:8080/models'

运行以下命令以获取微服务中可用的管道列表。 管道以名称/ version tuple 显示。 名称反映动作, 版本提供此动作的更多细节 。

curl --location -X GET 'http://localhost:8080/pipelines' 


注:如果这些步骤由于代理问题而失败,则提及排除故障段 次 页 次

发送ReST请求以运行物体探测管道:

通过替换创建 REST 请求在下面的曲线命令中,您系统的 IP 地址为 IP 。 (如果您在 PRC 区域,请参考下面的第二个选项。 )
引用到自定义视频分析管道请求以理解 " STP-REST " 申请格式。

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
    "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true",
    "type": "uri"
  },
  "destination": {
    "metadata": {
      "type": "mqtt",
      "host": ":1883",
      "topic": "vaserving"
    },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}'

对于 PRC 用户,请使用下面显示的链接替换在下面的卷轴命令中,使用您的系统的 IP 地址。
引用到自定义视频分析管道请求以理解 " STP-REST " 申请格式。

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
    "uri": "file:///home/pipeline-server/resources/classroom.mp4",
    "type": "uri"
  },
  "destination": {
    "metadata": {
      "type": "mqtt",
      "host": ":1883",
      "topic": "vaserving"
    },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}'


注:对于低于0.7.2的EVAM版本,在工作目录不同时,对uri使用以下文字:档案: /app/resources/lechroom.mp4

打开一个新的终端并运行修改的卷轴命令。 REST 请求将返回管道实例 ID, 可用于查询管道状态 。

例如,就第一期而言,根据请求,管道(例如,a6d67224eacc11ec9f360242c0a8603)将归还,随后又以递增号返回请求。

检查结果:

显示微服务日志的初始终端窗口现在显示新发送请求的日志, 包括管道实例、 状态和 RTSP 流链接。 管道状态将显示队列、 运行和完成 。

wKgZomTDjMGARuSgAALaNdRfJvw625.png

图9:核对结果

使用管道实例ID发送 Get 请求,检查输油管状况:

curl --location -X GET 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike//status'

何 地是管道实例。
从GET请求中收到的答复与以下各点相似:

{
  "avg_fps": 27.014388149183596,
  "elapsed_time": 2.2934277057647705,
  "id": a6d67224eacc11ec9f360242c0a86003,
  "start_time": 1641468940.5196402,
  "state": "RUNNING"
} 

注:如果输油管线已经终止,那么国家将显示为"COMPLETED".

打开 VLC 播放器中的输出 RTSP 流, 以查看替换后输入视频上的推推结果在您的系统 IP 地址的下列 URL 中:rtsp:// :8554/vasserving

请注意, 管道应该在 RUNNING 状态下查看输出视频。 如果管道已经结束, 请使用卷曲命令重新开始, 然后查看视频 。

wKgaomTDjMyAbLDrAAUjOmFJKX8792.png

图10: 推断结果

发送 REST 请求的替代方法 :
REST请求也可以通过邮递员应用程序发送,使用与前几个步骤相同的卷曲命令。
要安装 Postman 应用程序,请执行以下步骤:

转到邮差下载.

在想要的位置提取安装文件 。

提取后,双击应用程序,并用您现有的账户签名,或创建新账户签名。

正在运行独立版本

独立版本的边缘视频分析分析微服务与 EVA 模式相似,不同之处在于它没有任何 EII 组件,因此只能以 EVA 模式运行。结构结构图图,它是全容器图像的脱光版。需要以下步骤才能运行独立的微服务版本。

如果尚未完成, 请使用命令下载双向视频分析微服务独立版本的 docker 图像 :

$ docker pull intel/边缘 _ 视频_分析_微观服务:1.0.0-standalone

为提升微服务,请使用以下命令:

$ docker run -itd --rm 
     -p 8080:8080 
     -p 8554:8554 
     -e ENABLE_RTSP=true 
     -e RTSP_PORT=8554 
     -e ENABLE_WEBRTC=true 
     -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 
     -e RUN_MODE=EVA 
     intel/边缘 _ 视频_分析_微观服务:1.0.0-standalone

向输油管服务器发送 REST 请求以运行 对象_ 分类/ 车辆/ 属性管道。 以下 CURL 命令为我们这样做 。 回复将包含管道例 id (例如: a6d67224eacc11ec11ec9f360242c0a8603) , 用于使用输油管- 服务器状态 API 查询管道状态 。

$ curl localhost:8080/pipelines/object_classification/vehicle_attributes -X POST -H 
     'Content-Type: application/json' -d 
     '{
        "source": {
"uri": "https://github.com/intel-iot-devkit/sample-videos/blob/master/car-detection.mp4?raw=true",
"type": "uri"
        },
        "destination": {
"metadata": {
   "type": "file",
   "path": "/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl",
   "format": "json-lines"
},
"frame": {
   "type": "rtsp",
   "path": "pipeline-server"
}
        },
        "parameters": {
"detection-device": "CPU"
        }
     }'

微观服务处公布元元数据的推推到一个本地文件,可在以下网址查阅:/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl处理后的框架还作为RTSP流提供,可在下列地点查阅:trtsp://localhost:8554/管道-服务器,并且可以使用 RTSP 查看器查看。

添加模型和定制管道

可使用可用的下载脚本下载更多模型here.

您可以查询pipeline server docs创建自定义管道,并使用边缘视频分析微服务。

假设其他模型和管道分别以${pwd}/模型和${pwd}/管道提供,则设定了以下环境变量。

$ export MODEL_DIR=$(pwd)/models
$ export PIPELINE_DIR=$(pwd)/pipelines

为提升微服务,请使用以下命令:

$ docker run -itd --rm 
     --privileged 
     --device=/dev:/dev 
     --device-cgroup-rule='c 189:* rmw' 
     --device-cgroup-rule='c 209:* rmw' 
     --group-add 109 
     -p 8080:8080 
     -p 8554:8554 
     -e ENABLE_RTSP=true 
     -e RTSP_PORT=8554 
     -e ENABLE_WEBRTC=true 
     -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 
     -e RUN_MODE=EVA 
     -e DETECTION_DEVICE=CPU 
     -e CLASSIFICATION_DEVICE=CPU 
     -v ${MODEL_DIR}:/home/pipeline-server/models 
     -v ${PIPELINE_DIR}:/home/pipeline-server/pipelines 
     intel/边缘 _ 视频_分析_微观服务:${TAG}

正在运行 iGPU 上的推断

要启用对 iGPU 推论的支持, 您将需要将额外的旗帜传递到 docker 运行命令上, 详情如下 。

$ docker run -itd --rm 
     --privileged 
     --device=/dev:/dev 
     --device-cgroup-rule='c 189:* rmw' 
     --device-cgroup-rule='c 209:* rmw' 
     --group-add 109 
     -p 8080:8080 
     -p 8554:8554 
     -e ENABLE_RTSP=true 
     -e RTSP_PORT=8554 
     -e ENABLE_WEBRTC=true 
     -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 
     -e RUN_MODE=EVA 
     intel/边缘 _ 视频_分析_微观服务:${TAG}

可选: 带视频分析测试模块进行测试

安装完成后,您可通过运行视频分析测试模块测试您的设置。

详情,请参见Intel® Edge Software Device Qualification (Intel® ESDQ) for Video Analytics.

教脚

教程1: 在 GPU 上运行物件探测管道

此教程将演示如何更改运行 GPU 上的推论的推论设备 。
您将再次运行相同的对象_ 检测管道, 但这次您将使用集成的 GPU 进行检测推理, 设置检测- 检测设备参数 。

完成所有步骤Get Started上文一节。

在目标设备上,检查以下命令的输出并获得设备组:

stat -c '%g' /dev/dri/render*

在 docker-competect.yml 文件中添加设备组 :

    group_add:
      - 109

通过替换创建 REST 请求the 在下面的卷轴命令中,使用您的系统的 IP 地址。
请注意REST机体的参数部分。

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true",
      "type": "uri"
  },
  "destination": {
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  },
    "parameters": {
        "detection-device": "GPU"
   }
}' 

注:
GPU 电导内插在首次装入时动态构建 OpenCL 内核,导致产生推论结果前的延迟 ~ 30 秒。
Additional configuration might be needed to run inference on GPU depending on the HW. Refer Configurations for Intel® Processor Graphics (GPU) to download和install install_NEO_OCL_driver.sh (system reboot might be needed).

打开一个新的终端并运行卷轴命令。 REST 请求将返回管道实例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查询管道状态 。

校对结果运行边缘视频分析以上步骤。

教学图2:使用 USB 相机输入的 RUN 边缘视频分析分析微观服务

在此教程中, 您将把物体探测管道的输入源更改为 USB 相机 。

完成所有步骤Get Started上文一节。

在Ubuntu上,通过执行以下命令,列出所有可用的视频设备:是/dev/Vide*

创建 curl 请求, 以便使用视频设备作为源。 例如, 如果命令的输出为 / dev/ Video0, 那么对 curl 命令源进行如下修改 :

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "device": "/dev/video0",
      "type": "webcam"
  },
  "destination": {
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}' 

打开一个新的终端并运行卷轴命令。 REST 请求将返回管道实例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查询管道状态 。

校对结果运行边缘视频分析以上步骤。

注意: 请确定设备源参数中使用了正确的设备节点 。

教程 3: 在边缘视频分析微服务中以新模式运行新管道

在此教程中, 您将创建一个基于 人- 检测管道的新管道, 它将使用 人- 检测- retail- 0013 模型。 管道和模式文件夹将被安装到边缘视频分析微服务上, 无需重建 Docker 图像。 您可以遵循同样的步骤创建任何新的管道 。

完成所有步骤Get Started上文一节。

下载新模型。
要从开放型动物园下载新模型,请在模型中添加模型细节。 list. yml 显示于 Edge_Video_Analytics_Resources/models_list 路径中。
对于人-检测-零售-0013,在文件模型.list.yml的结尾处添加以下条目。

- model: person-detection-retail-0013
  alias: object_detection
  version: person_detection
  precision: [FP16,FP32] 

然后,在一个新的终端中运行以下命令,下载模型。

cd 视频分析/Video_Analytics_/Edge_Video_Analytics_Resources/
# 何 地 is the Package version downloaded

sudo ./工具/模型下下加载器/model_downloader.sh --model-list models_list/models.list.yml

命令执行完成后,下载的模型人-探测仪应在模型/物体-探测目录下提供。
如果您没有使用来自开放型动物园的模型,请在模型目录中直接复制您的模型。

wKgZomTDjNCASSs7AACrpu95hnk262.png

图11:下载新模型

创建新管道
您将在管道/ 目标/ 探测中创建一个新的管道。 既然您正在以现有人_ 车辆_ 自行车管道为基础, 请复制人_ 车辆_ 自行车文件夹, 将其重命名为人_ 探测, 然后更新管道.json , 以便使用新模式 。
在同一终端中( 从路径 Edge_ Video_Analytics_Resources) 执行命令 :

sudo cp -r pipelines/object_detection/person_vehicle_bike/ pipelines/object_detection/person_detection

在新复制的管道/物体/探测/人/探测/管道.json中,编辑管道.json文件的模板和说明部分。 json使用以下线条,将示范路径指定为模型/物体/探测/人/探测,以便使用模型人-探测-零售-0013来探测物体。
将模板定义为 :

	"template": ["uridecodebin name=source"," ! gvadetect model={models[object_detection][person_detection][network]} name=detection"," ! gvametaconvert name=metaconvert ! gvametapublish name=destination"," ! appsink name=appsink"
	], 

说明的定义是:

"description": "Person Detection based on person-detection-retail-0013",

请参见界定媒体分析管道了解输油管模板和界定自己的输油管。

使用添加了模型和管道的微型运行服务
以命令启动应用程序 :

sudo docker 合成 

此步骤会大量挂载模型和管道目录。 您可以在一个单独的终端中检查容器是否正在使用 sudo docker ps 命令运行 。

检查新的管道和模式
打开一个新终端并运行以下命令以获取可用的模型列表 :

curl --location -X GET 'http://localhost:8080/models'

运行以下命令以获取管道列表 。 管道以名称/ version tuple 显示。 名称反映动作, 版本提供动作的更多细节 。

curl --location -X GET 'http://localhost:8080/pipelines'

您应该看到列表中新添加的管道和模型 。

对象_ 检测/ 人_ 检测运行管道
打开一个新的终端并输入下面的曲线命令,用于下文给出的物件_ 检测/ 人_ 检测管道:

curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_detection' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/store-aisle-detection.mp4?raw=true",
      "type": "uri"
  },
  "destination": {
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      },
    "frame": {
      "type": "rtsp",
      "path": "vasserving"
    }
  }
}' 

何 地 is the IP address of the system.
The above curl command returns the pipeline instance. Use this pipeline instance to get the status by updating the in the below command:

curl --location --request GET 'http://localhost:8080/pipelines/object_detection/person_detection//status'  
wKgaomTDjNaAFIvbAATvck6Ists738.png

图12: 人员探测运行管道

微服务日志将显示,天体探测/人探测管道实例已经建立,管道状态已经改为RUNNING,并结束了。

wKgaomTDjNmANRisAALLaxOiTCY108.png

图13:管道日志

教程 4: 安装边缘视频分析外壳图

注:此教程从第2022.1号释放起支持。

注:此教义假设您有一个宽网可用分组 。

在此教程中, 您将使用制导图在 宽网 群集中部署边缘视频分析微服务。 使用 drawnchart 组合图 。 用于样本部署的 Guard 图表包 边缘视频分析微服务和 MQTT 经纪人。 要下载制导图, 请使用定制的下载选项 。

完成所有步骤Get Started Guide. When the installation is complete, you see the message “Installation of package complete”和the installation status for each module.

wKgZomTDjN6ALvYuAAGxiIA5Wv8367.png

图14:成功安装

将模型、管道和资源文件夹复制到 /可选/英特尔/评价/库伯涅茨工人节点。

上述先决条件完成后,安装如下图表:helm install evam ./chart/

wKgaomTDjOOAFot6AAQKVfFGRaM733.png Figure 15: Chart Installation

Get the IP IP 地址 :

kubectl get pods -o wide

wKgaomTDjOiAf-heAAFvZ0IGhFA248.png Figure 16: Retrieving IP Address

更新管道请求指令以触发管道。 替换EVAM_POD_IP, MQTT_POD_IP上面有 IP 地址 。

curl --location -X POST 'http://:8080/pipelines/object_detection/person_vehicle_bike' 
--header 'Content-Type: application/json' 
--data-raw '{
  "source": {
      "uri": "file:///home/pipeline-server/resources/person-bicycle-car-detection.mp4",
      "type": "uri"
  },
  "destination": { 
      "metadata": {
        "type": "mqtt",
        "host": ":1883",
        "topic": "vaserving"
      }
  }
}'

注:使用 GitHub URL 支持代理服务器网络时, 视频文件使用 GitHub URL 可能无法工作 。 相反, 下载视频文件并添加到资源目录/可选/英特尔/评价立方公尺内立体体体积的路径。

获取 MQTT 订阅者的推断输出 :

docker run -it --entrypoint 约克基多_sub  日食- 日食- 日食:latest --topic vaserving -p 1883 -h 

wKgZomTDjO2AQoQ6AAUf5SZUD2U515.png Figure 17: Inference Output

概述和下一步步骤

使用“边缘视频分析微服务” 学习如何进行视频分析。

学习更多

继续学习,见下列指南和软件资源:

GitHub

Docker Image

Helm Charts (概览概览)

Microservice Endpoints

自定义视频分析管道请求

界定媒体分析管道

Intel® Edge Software Device Qualification (Intel® ESDQ) for Video Analytics

排除故障

确保您在完全安装期间有一个活跃的互联网连接。 如果您随时失去互联网连接, 安装可能会失败 。

如果安装在从 Intel 注册处下载和提取图像时失败安装, 然后重新运行安装命令sudo ./edgesoftware install通过提供产品钥匙。
wKgZomTDjPGAYQiFAAEjKf0Dn6M292.png

确保您正在使用一个新的 Ubuntu* 安装。 早期软件, 特别是 Docker 和 Docker Compose 可能会引起问题 。

在代理环境中,如果设定了单一用户代理(即. bashrc 键) 然后部分组件安装可能失败或安装挂挂挂。 请确定您已经设置了代理服务器/贝茨/环境.

如果您的系统在代理服务器网络中, 请在环境环境栏内docker- competable. yml 转换器文件。

HTTP_PROXY=http:///
HTTPS_PROXY=http:////
NO_PROXY=localhost,127.0.0.1 


输入代理代理服务器的详细信息docker- competable. yml 转换器显示如下:

wKgaomTDjPSAfuVYAADc2HbLunA816.png

如果缺少代理细节, 则无法获取运行管道所需的源视频文件, 并在容器内安装所需的包件 。
wKgaomTDjPeAVjGIAAMxGLcNyek252.png

运行命令sudo - E docker 合成(参考步骤8(安装边缘视频分析微观服务)

在自定义模式下, 如果目标设备在代理服务器后面, Helm CLI 安装可能会失败。 要修正它, 请更新 apag 代理服务器的细节 。

sudo snap set system proxy.http=http:////
sudo snap set system proxy.https=http:////

如果集装箱显示有冲突错误,则停止/删除集装箱。
要删除边缘 _ 视频_分析_微观服务和mqtt_ 经纪人,使用以下任何一种备选办法:

执行下列命令:

sudo docker stop 边缘 _ 视频_分析_微观服务 mqtt_ 经纪人
sudo docker rm 边缘 _ 视频_分析_微观服务 mqtt_ 经纪人

或者运行sudo docker 合成向下从路径 :视频分析/Video_Analytics_/Edge_Video_Analytics_Resources

wKgZomTDjP2APAlSAAInPo4h9vE772.png

支助论坛支助论坛

If you're unable to resolve your issues, contact the 支助论坛支助论坛. 

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 视频分析
    +关注

    关注

    0

    文章

    27

    浏览量

    10770
  • 边缘
    +关注

    关注

    0

    文章

    18

    浏览量

    1979
收藏 人收藏

    评论

    相关推荐

    浅谈边缘计算在综合管廊监控系统应用

    程瑜 安科瑞电气股份有限公司 上海嘉定 201801 摘要:本文介绍了基于边缘计算技术及其特点,根据综合管廊监控系统需求分析了NiagaraFramework的JACE8000系统控制的功能
    的头像 发表于 03-11 14:24 181次阅读
    <b class='flag-5'>浅谈</b><b class='flag-5'>边缘</b>计算在综合管廊监控系统应用

    最新的视频编码技术突破:基于采样的梯度边缘与角预测(SGAP)

    IT之家特此强调:SGAP高度重视提升图像中边缘区域、平滑区域以及方向纹理区域的预测准确性,解决了在无损视频质量前提下降低比特率的重大问题。
    的头像 发表于 02-19 11:27 136次阅读

    智慧社区建设中应用AI边缘智能分析设备、边缘设备可以解决哪些问题?

    “智慧社区”的建设除了可以安装监控摄像头、AI面部摄像机等智能设备来守护社区居民的安全,还可以引入AI边缘智能分析设备。例如安装布置在社区围墙、大门口、走廊等区域的视频监控场景中,通过AI边缘
    的头像 发表于 01-15 15:05 240次阅读
    智慧社区建设中应用AI<b class='flag-5'>边缘</b>智能<b class='flag-5'>分析</b>设备、<b class='flag-5'>边缘</b>设备可以解决哪些问题?

    什么是边缘计算,边缘计算有哪些应用?

    什么是边缘计算,边缘计算有哪些应用? 边缘计算是一种将计算能力移动到离数据源和终端设备更近的位置的计算模型。它利用边缘设备(如路由器、交换机、物联网设备等)上的计算资源,对数据进行处理
    的头像 发表于 01-09 11:29 713次阅读

    什么是AI视频识别分析

    视频AI识别分析是指利用人工智能技术对视频数据进行智能化检测、分析和提取有用信息的过程。通过视频AI分析
    的头像 发表于 12-02 08:26 868次阅读
    什么是AI<b class='flag-5'>视频</b>识别<b class='flag-5'>分析</b>

    AI边缘智能分析设备:智慧食堂明厨亮灶的智能化应用

    快速有效识别。在这个过程中,AI边缘智能分析设备(也称为边缘计算盒子)无疑占据着重要地位。什么是边缘计算盒子呢?边缘计算盒子即一种用于
    的头像 发表于 11-07 15:54 387次阅读
    AI<b class='flag-5'>边缘</b>智能<b class='flag-5'>分析</b>设备:智慧食堂明厨亮灶的智能化应用

    智能边缘分析一体机可以赋能哪些智慧场景实现边缘计算?

    近些年,随着物联网和人工智能等技术的快速发展,边缘计算逐渐走入园区、社区、工地、校园等领域并赋能智慧场景,智能边缘分析一体机(也称为边缘计算盒子)作为提供边缘计算方案的重要组成部分,正
    的头像 发表于 11-03 14:15 359次阅读
    智能<b class='flag-5'>边缘分析</b>一体机可以赋能哪些智慧场景实现<b class='flag-5'>边缘</b>计算?

    基于飞腾派的边缘物联网关

    使用高级的编码算法和加密技术,确保编码信息的安全性和保密性,防止伪造和盗用。协议转换是边缘物联网关的重要功能之一,它可以将不同协议和标准的数据转换为统一的协议和标准,以便于数据分析和处理。例如在智慧智慧
    发表于 09-21 16:50

    Xilinx Zynq产品极限边缘分析

    电子发烧友网站提供《Xilinx Zynq产品极限边缘分析.pdf》资料免费下载
    发表于 09-18 10:30 0次下载
    Xilinx Zynq产品极限<b class='flag-5'>边缘分析</b>

    边缘计算加速视频直播场景:更清晰、流畅、实时

    直播清晰、流畅、实时的观看和互动体验?本文主要分享边缘计算在视频直播场景中的应用,核心内容如下: 1. 什么是直播? 2. 直播的系统架构 3. 边缘计算加速直播 4. 总结
    发表于 05-31 15:09 0次下载
    <b class='flag-5'>边缘</b>计算加速<b class='flag-5'>视频</b>直播场景:更清晰、流畅、实时

    万物互联之边缘计算岗位分析

    0、背景         边缘计算是近年来刚刚兴起的新方向,已经有不少公司在逐步投入人力和物力,其中既有BTA、华为、字节跳动这样的大厂,也有EMQ等创业公司,前面已经对此做过分析。本文从另外
    发表于 05-31 15:06 0次下载
    万物互联之<b class='flag-5'>边缘</b>计算岗位<b class='flag-5'>分析</b>

    边缘计算盒子在视觉分析领域的优势

    边缘计算盒子在视觉分析领域有广泛的应用。边缘计算盒子是一种集成了计算、存储和网络连接功能的设备,通常部署在物理环境中的边缘位置,如工厂、城市、交通系统等。它们能够在离数据源更近的位置进
    的头像 发表于 05-31 11:16 479次阅读
    <b class='flag-5'>边缘</b>计算盒子在视觉<b class='flag-5'>分析</b>领域的优势

    边缘计算盒子用处,边缘计算盒子的特点

    边缘计算是一种分布式计算模型,它将计算能力和数据处理推向数据产生的边缘位置,减少了数据传输和响应延迟,提供了更快速、实时的分析和决策能力。边缘计算盒子是
    的头像 发表于 05-22 15:31 728次阅读

    AI系列边缘计算盒子

    边缘盒子产品是一款基于Arm+NPU架构的AI深度学习视频分析识别边缘计算终端设备,具有算法多、精度高、多算法同步 运行、业务适配能力强、算法扩展性好、支持liunx操作系统
    发表于 05-18 16:11 3次下载
    AI系列<b class='flag-5'>边缘</b>计算盒子

    边缘计算架构分析

    边缘计算架构分析 2021云计算十大关键词分别是:云原生、高性能、混沌工程、混合云、边缘计算、零信任、优化治理、数字政府、低碳云、企业数字化转型。 云原生:云计算架构正在以云原生为技术内核加速重构
    发表于 05-18 15:44 0次下载
    <b class='flag-5'>边缘</b>计算架构<b class='flag-5'>分析</b>