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

    浏览量

    10831
  • 边缘
    +关注

    关注

    0

    文章

    25

    浏览量

    2004
收藏 人收藏

    评论

    相关推荐

    边缘计算与边缘设备的关系

    能够在数据采集源附近实时处理和分析。这种方法可以降低网络延迟、减少数据传输成本,并实现实时反馈和决策。 边缘设备 边缘设备是指在物理上位于边缘网络中的计算设备。这些设备可以是智能手机、
    的头像 发表于 10-24 14:33 253次阅读

    如何选择合适的边缘ai分析一体机解决方案

    在当今数字化转型的浪潮中,智能边缘分析一体机作为边缘计算与人工智能融合的杰出代表,正逐步成为各行业数字化转型的关键基础设施。面对市场上琳琅满目的边缘AI分析一体机产品,如何精准选择最适
    的头像 发表于 08-08 15:25 179次阅读
    如何选择合适的<b class='flag-5'>边缘</b>ai<b class='flag-5'>分析</b>一体机解决方案

    DSP国产教学实验箱_实验案例_操作教程:5-11 边缘检测

    搜索,可到达的点是边缘,不可到达的点不是边缘。 (5)利用滞后技术来跟踪边界。 程序流程设计 程序流程设计中首先要读取工程目录下的BMP图像,接着进行边缘检测处理,最后保存处理后的图像。
    发表于 07-19 10:38

    ai边缘盒子有哪些用途?ai视频分析边缘计算盒子详解

    近年来,随着人工智能和边缘计算的发展,一种名为AI边缘盒子的新型设备正逐渐引起广泛关注。作为一种集成了边缘计算和AI算法处理能力的设备,AI边缘盒子在各个领域的应用前景广阔,为智慧生活
    的头像 发表于 05-29 14:24 870次阅读
    ai<b class='flag-5'>边缘</b>盒子有哪些用途?ai<b class='flag-5'>视频</b><b class='flag-5'>分析</b><b class='flag-5'>边缘</b>计算盒子详解

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    摘要 :本文设计了一种 基于 FPGA 的实时边缘检测系统 ,使用OV5640 摄像头模块获取实时的视频图像数据,提取图像边缘信息并通过 VGA显示。FPGA 内部使用流水线设计和 并行运算加速
    发表于 05-24 07:45

    智能边缘网关的功能有哪些?

    的功能,并探讨其在智能时代的重要作用。 一、实时数据处理与分析 智能边缘网关具备高效的实时数据处理能力,能够在设备端对数据进行即时处理和分析。这得益于其集成的计算、存储和网络功能,使得边缘
    的头像 发表于 04-25 16:55 471次阅读

    浅谈电气火灾的分析和预防

    浅谈电气火灾的分析和预防 张颖姣 安科瑞电气股份有限公司 上海嘉定 201801 摘要:电气火灾主要是由于电气故障等原因引起的,文章对电气火灾的过程、产生原因和特点进行了分析,指出了电气火灾的危害
    的头像 发表于 03-12 10:18 354次阅读
    <b class='flag-5'>浅谈</b>电气火灾的<b class='flag-5'>分析</b>和预防

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

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

    边缘计算网关与边缘计算的融合之道

    随着物联网、大数据和人工智能的飞速发展,数据处理和分析的需求呈现出爆炸式增长。传统的中心化数据处理模式已难以满足实时性、低延迟和高带宽的需求,边缘计算应运而生,成为解决这一难题的关键技术。而边缘计算
    的头像 发表于 02-26 16:29 428次阅读
    <b class='flag-5'>边缘</b>计算网关与<b class='flag-5'>边缘</b>计算的融合之道

    视频光纤矩阵与传统视频传输方式的比较分析

    传统视频传输方式和视频光纤矩阵进行比较分析。 传统视频传输方式 : 优势 : 成本较低 :传统的视频传输方式,如同轴电缆、双绞线等,其材料成
    的头像 发表于 02-19 14:58 495次阅读

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

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

    什么是边缘计算?边缘计算技术有哪些优缺点?

    什么是边缘计算?边缘计算技术有哪些优缺点? 边缘计算是一种将计算和数据处理能力从传统的云计算数据中心移动到离数据源更接近的位置的计算模型。在边缘计算中,数据处理和
    的头像 发表于 02-06 14:38 1603次阅读

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

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

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

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

    边缘计算框架有哪些

    边缘计算架构是一种将计算能力、存储和分析功能尽可能地靠近数据源的计算模型。它通过将计算任务从中心数据中心移至近距离的设备上,提供低延迟、高带宽的解决方案,以满足大规模数据分析边缘智能
    的头像 发表于 12-27 15:01 1348次阅读