You need to enable JavaScript to run this app.
导航
视频数据流算子
最近更新时间:2024.09.03 11:11:23首次发布时间:2022.12.27 13:23:44

本文介绍了视频数据流编排中可供选择的输入、处理和输出算子。编排视频数据流的过程中,您可以参考本文了解不同算子的用途及其所包含控制参数的含义。

使用前须知

  • 视频数据流支持 DeepStream 框架和 DLStreamer 框架。不同框架下可供使用的算子不同。您可以通过算子列表了解算子所适用的框架类型。
  • “是否必选”是在本文介绍控制参数时使用的标注,表明在部署数据流过程中,是否必须为这些控制参数设定具体的值。在部署数据流过程中,有以下情形需要进行数据流编排:
    • 编辑数据流模板的版本:该方式下,您可以增删算子、连接算子,以及设置算子的控制参数。
    • 编辑数据流实例:该方式下,您只可以设置算子的部分控制参数。(如果您在版本中已经设置了控制参数的值,取决于具体的设置,您可以在实例中再次编辑该参数值,也可以禁止进一步的修改。)
      更多信息,请参见数据流编排指南
  • 算子使用注意事项:

算子列表

  • 输入算子

    算子名称

    适用于 DeepStream

    适用于 DLStreamer

    算子描述

    摄像头设备

    以摄像头设备的视频流数据作为输入。

    RTSP拉流

    通过 RTSP 协议拉取视频流作为输入。

    RTMP拉流

    通过 RTMP 协议拉取视频流作为输入。

    摄像头设备带分析

    以摄像头设备的视频流数据作为输入,同时支持对象分析(包含 ROI 检测和越线检测)。

    RTSP拉流带分析

    通过 RTSP 协议拉取视频流作为输入,同时支持对象分析(包含 ROI 检测和越线检测)。

    RTMP拉流带分析

    通过 RTMP 协议拉取视频流作为输入,同时支持对象分析(包含 ROI 检测和越线检测)。

  • 输出算子

    算子名称

    适用于 DeepStream

    适用于 DLStreamer

    算子描述

    虚拟时序设备

    输出到虚拟时序设备。

    RTSP推流

    通过 RTSP 协议推流。

    虚拟视频设备

    输出到虚拟视频设备。

    事件推送

    将消息元数据与 base64 编码的图片发送到边缘智能的数据流事件中心。

    Kafka消息队列

    将消息元数据推送到 Kafka 服务器。

    Redis消息队列

    将消息元数据推送到 Redis 服务器。

    RTMP推流

    通过 RTMP 协议发送 FLV 流数据。

    Http推送

    将消息元数据作为 Http 请求推送至指定的 URL。

    Ekuiper推送

    将消息元数据推送到同一个边缘节点上的 Ekuiper 时序数据流实例。

  • 处理算子

    算子名称

    适用于 DeepStream

    适用于 DLStreamer

    算子描述

    h264编码器

    对输入的视频数据进行 H.264 编码。

    h264解码器

    对输入的视频数据进行 H.264 解码。

    h265编码器

    对输入的视频数据进行 H.265 编码。

    h265解码器

    对输入的视频数据进行 H.265 解码。

    视频解码器

    对输入的视频数据进行解码。

    批量合流

    从一个或多个输入源形成一批帧。

    消息转换

    将模型服务的处理结果(视频流)转换为 JSON 格式的消息元数据,以便推送到下游的消息接收方。

    推理服务

    NVIDIA DeepStream RPC 推理服务插件。

    对象跟踪

    使用对象跟踪插件跟踪视频中出现的各种对象。

    结果绘制

    使用边界框绘制插件在视频帧上绘制处理结果,例如物体检测边界框、分类标签,以及物体追踪信息等。

    对象分析

    使用对象分析插件对检测到的对象进行进一步的空间分析。这个插件包含了两个重要的功能:ROI(Region of Interest)检测和越线(Line Crossing)检测。

    流分支

    将一个输入的视频流复制并生成多个与原视频流相同的数据流作为输出。

    图像分类

    通过图像分类模型服务,对输入的视频流进行推理,并完成图像分类。

    物体检测

    通过物体检测模型服务,对输入的视频流进行推理,并完成目标物体检测。

    LLM大模型分类

    通过大模型推理服务,对输入的视频流进行推理,并完成图像分类。

输入算子

摄像头设备

算子描述
以摄像头设备的视频流数据作为输入。

使用说明
要使用该算子,您必须先在边缘算子上接入摄像头设备。

控制参数

名称

类型

是否必选

说明

示例值

device

String

从边缘节点已经接入的设备实例中选择一个摄像头设备。支持兼容 ONVIF 或 GB28181 协议的摄像头设备,以及 USB 摄像头等。

ipc-device

device-tag

String

设备的标签。

location:idc

identifier

String

为该摄像头设备添加一个标识符。建议您使用能够明确标识视频流来源的名称。

说明

消息转换算子将推理结果转换为消息元数据时,会采用 identifier 的值填充消息元数据中的 sensorIdsourceId 字段,旨在标识消息源。更多信息,请参见数据流事件

camera1

latency

Integer

指定要缓冲的毫秒数。取值范围:0~4294967295。默认值:2000。

2000

RTSP拉流

算子描述
通过 RTSP 协议拉取视频流作为输入。

控制参数

名称

类型

是否必选

说明

示例值

location

String

指定要读取的 RTSP 流的 URL。

rtsp://username:password@your-streaming-server-ip/stream-key

identifier

String

为该 RTSP 流添加一个标识符。建议您使用能够明确标识视频流来源的名称。

说明

消息转换算子将推理结果转换为消息元数据时,会采用 identifier 的值填充消息元数据中的 sensorIdsourceId 字段,旨在标识消息源。更多信息,请参见数据流事件

camera-1

latency

Integer

指定要缓冲的毫秒数。取值范围:0~4294967295。默认值:2000。

2000

RTMP拉流

算子描述
通过 RTMP 协议拉取视频流作为输入。

控制参数

名称

类型

是否必选

说明

示例值

location

String

指定要读取的 RTMP 流的 URL。

rtmp://your-streaming-server-ip/live/stream-key

identifier

String

为该 RTMP 流添加一个标识符。建议您使用能够明确标识视频流来源的名称。

说明

消息转换算子将推理结果转换为消息元数据时,会采用 identifier 的值填充消息元数据中的 sensorIdsourceId 字段,旨在标识消息源。更多信息,请参见数据流事件

camera-a

摄像头设备带分析

算子描述
以摄像头设备的视频流数据作为输入,同时自带对象分析能力(包含 ROI 检测和越线检测)。

使用说明
要使用该算子,您必须先在边缘节点上接入摄像头设备。

控制参数

名称

类型

是否必选

说明

示例值

device

String

从边缘节点已经接入的设备实例中选择一个摄像头设备。支持兼容 ONVIF 或 GB28181 协议的摄像头设备,以及 USB 摄像头等。

ipc-device

device-tag

String

设备的标签。

location:idc

identifier

String

为该摄像头设备添加一个标识符。建议您使用能够明确标识视频流来源的名称。

说明

消息转换算子将推理结果转换为消息元数据时,会采用 identifier 的值填充消息元数据中的 sensorIdsourceId 字段,旨在标识消息源。更多信息,请参见数据流事件

camera1

latency

Integer

指定要缓冲的毫秒数。取值范围:0~4294967295。默认值:2000。

2000

roi-filters

N/A

绘制 ROI 区域。详见对象分析算子的说明。

N/A

line-crossings

N/A

绘制绊线。详见对象分析算子的说明。

N/A

RTSP拉流带分析

算子描述
通过 RTSP 协议拉取视频流作为输入,同时自带对象分析能力(包含 ROI 检测和越线检测)。

说明

该算子不支持获取截图作为样例图片,以进行 ROI 和 LC 绘制。更多信息,请参见使用 RTSP/RTMP 流作为输入时,如何才能在输入算子上获取截图以进行 ROI 和 LC 绘制?

控制参数

名称

类型

是否必选

说明

示例值

location

String

指定要读取的 RTSP 流的 URL。

rtsp://username:password@your-streaming-server-ip/stream-key

identifier

String

为该 RTSP 流添加一个标识符。建议您使用能够明确标识视频流来源的名称。

说明

消息转换算子将推理结果转换为消息元数据时,会采用 identifier 的值填充消息元数据中的 sensorIdsourceId 字段,旨在标识消息源。更多信息,请参见数据流事件

camera-1

latency

Integer

指定要缓冲的毫秒数。取值范围:0~4294967295。默认值:2000。

2000

roi-filters

N/A

绘制 ROI 区域。详见对象分析算子的说明。

N/A

line-crossings

N/A

绘制绊线。详见对象分析算子的说明。

N/A

RTMP拉流带分析

算子描述
通过 RTMP 协议拉取视频流作为输入,同时自带对象分析能力(包含 ROI 检测和越线检测)。

说明

该节点不支持获取截图作为样例图片,以进行 ROI 和 LC 绘制。更多信息,请参见使用 RTSP/RTMP 流作为输入时,如何才能在输入算子上获取截图以进行 ROI 和 LC 绘制?

控制参数

名称

类型

是否必选

说明

示例值

location

String

指定要读取的 RTMP 流的 URL。

rtmp://your-streaming-server-ip/live/stream-key

identifier

String

为该 RTMP 流添加一个标识符。建议您使用能够明确标识视频流来源的名称。

说明

消息转换算子将推理结果转换为消息元数据时,会采用 identifier 的值填充消息元数据中的 sensorIdsourceId 字段,旨在标识消息源。更多信息,请参见数据流事件

camera-a

roi-filters

N/A

绘制 ROI 区域。详见对象分析算子的说明。

N/A

line-crossings

N/A

绘制绊线。详见对象分析算子的说明。

N/A

输出算子

虚拟时序设备

算子描述
输出到虚拟时序设备。

使用说明
要使用该算子,您必须先在边缘节点上接入虚拟时序设备。

控制参数

名称

类型

是否必选

说明

示例值

device

String

从边缘节点已经接入的设备实例中选择一个虚拟时序设备。

virtual-device

RTSP推流

算子描述
通过 RTSP 协议推流到指定 URL。

控制参数

名称

类型

是否必选

说明

示例值

location

String

指定要写入的 RTSP 流服务器的 URL。

rtsp://username:password@your-streaming-server-ip/stream-key

latency

Integer

指定要缓冲的毫秒数。取值范围:0~4294967295。默认值:2000。

2000

protocols

String

选择推送视频流的协议。可选值:tcp、udp、http。默认值:tcp。

tcp

虚拟视频设备

算子描述
输出到虚拟视频设备。

使用说明
要使用该算子,您必须先在边缘节点上接入虚拟视频设备。

控制参数

名称

类型

是否必选

说明

示例值

device

String

从边缘算子已经接入的设备实例中选择一个虚拟视频设备。

virtual-device

latency

Integer

指定要缓冲的毫秒数。取值范围:0~4294967295。默认值:2000。

2000

事件推送

算子描述
将消息元数据与 base64 编码的图片发送到边缘智能的数据流事件中心。

使用说明
在数据流中,该算子的前置算子应包含 消息转换 算子。

控制参数

Kafka消息队列

算子描述
将消息元数据推送到 Kafka 服务器。

使用说明
在数据流中,该算子的前置算子应包含 消息转换 算子。

控制参数

名称

类型

是否必选

说明

示例值

kafka-brokers

String

指定 Kafka 服务器的访问地址(包含端口号)。格式:<address>:<port>

foo.bar.com:80

topic

String

指定消息的主题。

vei-message

Redis消息队列

算子描述
将消息元数据推送到 Redis 服务器。

使用说明
在数据流中,该算子的前置算子应包含 消息转换 算子。

控制参数

名称

类型

是否必选

说明

示例值

redis-address

String

指定 Redis 服务器的访问地址(包含端口号)。格式:<address>:<port>

foo.bar.com:80

topic

String

指定消息的主题。

vei-message

RTMP推流

算子描述
通过 RTMP 协议发送 FLV 流数据。

控制参数

名称

类型

是否必选

说明

示例值

location

String

指定要写入的 RTMP 流服务器的 URL。

rtmp://your-streaming-server-ip/live/stream-key

Http推送

算子描述
将消息元数据作为 Http 请求推送至指定的 URL。

使用说明
在数据流中,该算子的前置算子应包含 消息转换 算子。

控制参数

名称

类型

是否必选

说明

示例值

url

String

指定接收数据的 URL。格式为:<schema>://<ip/domain>:<port>/<path>

http://foo.bar.com:80/foo/bar

Ekuiper推送

算子描述
将消息元数据推送到同一个边缘节点上的 Ekuiper 时序数据流实例。

控制参数

处理算子

h264编码器

算子描述
对输入的视频数据进行 H.264 编码。

控制参数

h264解码器

算子描述
对输入的视频数据进行 H.264 解码。

控制参数

h265编码器

算子描述
对输入的视频数据进行 H.265 编码。

控制参数

h265解码器

算子描述
对输入的视频数据进行 H.265 解码。

控制参数

视频解码器

算子描述
对输入的视频数据进行解码。

控制参数

批量合流

算子描述
从一个或多个输入源形成一批帧。

控制参数

名称

类型

是否必选

说明

示例值

batch-size

Integer

批处理大小。取值范围:0~1024, 默认值:1。

1

enable-padding

Boolean

对帧进行缩放时,是否使用黑色边条填充以保持输入纵横比。默认:false。

false

height

Integer

输出的视频帧的高度,以像素为单位。取值范围:0~4294967295,默认值:0。

0

width

Integer

输出的视频帧的宽度,以像素为单位。取值范围:0~4294967295,默认值:1280。

0

消息转换

算子描述
将模型推理服务的处理结果(视频流)转换为 JSON 格式的消息元数据,以便推送到下游的消息接收方。

  • 关于消息元数据的结构说明,请参见数据流事件
  • 经过转换的消息元数据可以推送到以下消息接收方:Kafka 消息队列、Redis 消息队列、Web 服务器、边缘智能 - 时序数据流、边缘智能 - 数据流事件中心。
  • 该算子也具有消息过滤的功能,帮助您在提取并上报消息元数据前对数据进行更精细化的控制。例如,您可以基于业务逻辑设置控制参数只上报满足特定条件的信息,比如过滤那些识别结果置信度未达到要求的数据。
    除了基于对象属性过滤消息之外,您还可以设置插件在特定场景(例如对象进入或退出区域,对象跨越预设线条等)才上报消息,增加对业务逻辑的支持。

使用说明
在数据流中,该算子的前置算子应包含推理服务类型算子(包含 推理服务图像分类物体检测)及与推理服务相关的分析算子(包含 对象跟踪对象分析结果绘制)。

注意

该算子前包含的算子对转化得到的消息元数据有影响。例如,只有当该算子前有 对象分析 算子时,消息元数据中的 ROI 或 LC 相关字段才会有数据。更多信息,请参见数据流事件

控制参数

名称

类型

是否必选

说明

示例值

frame-interval

Integer

生成有效载荷的帧间隔。取值范围:1~4294967295。默认值:30。

30

conditions

String

使用 JSON Path 语法,针对消息元数据设置过滤条件。关于消息元数据的参数结构,请参见数据流事件

见表格下方的示例说明

actions

String

条件满足时需要执行的操作。可选项:

  • send:发送消息。
  • not send:不发送消息。

send

send_image

Boolean

是否发送图像数据。默认值:false。

false

enable_extra_info

Boolean

是否发送额外信息。默认值:false。

false

示例
conditions 示例:
$.ROI.current.ROI1 < 10 and $.ROI.current.ROI1 > 3
这个条件表示只有在 ROI1 区域内检测到的对象数量大于 3 并小于 10 时才发送或不发送该消息。

推理服务

算子描述
NVIDIA DeepStream RPC 推理服务插件。

使用说明
要使用该算子,您必须先在边缘节点上部署模型服务。

控制参数

名称

类型

是否必选

说明

示例值

batch-size

Integer

指定推理的最大批处理大小。取值范围:0~1024。默认值:0。

1

model-service

String

选择要使用的模型服务。

model-test

config-file-path

String

nvinferserver 实例的配置详情。具体参数说明,请参见 Gst-nvinferserver Configuration File Specifications

见表格下方的示例说明

labelfile-path

String

config-file-path 中包含的 nvinferserver 实例的标签列表。

见表格下方的示例说明

interval

Integer

指定在开始推理前要跳过的连续的批次数。取值范围:0~2147483647。默认值:0。

0

示例

  • config-file-path 示例

    infer_config {
     unique_id: 1
     gpu_ids: [0]
     max_batch_size: 1
     backend {
     triton {
     model_name: "m-2100055467-mmljp"
     version: -1
     grpc {
     url: "10.37.xx.xx:40001"
     }
     }
     }
    
     preprocess {
     network_format: MEDIA_FORMAT_NONE
     tensor_order: TENSOR_ORDER_LINEAR
     tensor_name: "input_1"
     maintain_aspect_ratio: 0
     frame_scaling_hw: FRAME_SCALING_HW_DEFAULT
     frame_scaling_filter: 1
     normalize {
     scale_factor: 0.0039215697906911373
     channel_offsets: [0, 0, 0]
     }
     }
    
     postprocess {
     labelfile_path: "${labelfile_path}"
     detection {
     num_detected_classes: 1
     per_class_params {
     key: 0
     value { pre_threshold: 0.4 }
     }
     nms {
     confidence_threshold:0.2
     topk:20
     iou_threshold:0.5
     }
     }
     }
    
     extra {
     copy_input_to_host_buffers: false
     output_buffer_pool_size: 2
     }
    }
    input_control {
     process_mode: PROCESS_MODE_FULL_FRAME
     operate_on_gie_id: -1
     interval: 0
    }
    
  • labelfile-path 示例

    car
    bicycle
    person
    road_sign
    

对象跟踪

算子描述
使用对象跟踪插件跟踪视频中出现的各种对象。
对象跟踪插件在检测到对象后能够跟踪该对象在视频帧之间的移动,它通过连续的视频帧输入,输出跟踪后的对象(包括其位置和ID等信息)。

控制参数
该算子在不同框架下的控制参数有区别。

  • DeepStream 框架下该算子包含以下控制参数:

    名称

    类型

    是否必选

    说明

    示例值

    display-tracking-id

    Boolean

    是否在对象文本中显示跟踪 ID。默认值:true。

    true

    enable-batch-process

    Boolean

    是否启用跨多个流的批处理。默认值:true。

    true

    enable-past-frame

    Boolean

    是否启用将过去的帧轨迹添加到用户元信息中。默认值:false。

    false

    tracking-algorithm

    String

    选择一种 NVDCF 跟踪算法。
    跟踪算法表示根据视频帧之间的物体运动进行目标跟踪。NVDCF 是由 NVIDIA 开发的 DeepStream 参考应用中的一种跟踪算法。可选项:

    • NVDCF_perf(默认):该选项的优先级在于提高算法的性能。在这种情况下,算法会相对较少的注重准确性,而更多的注重处理大量数据的能力,以及保持较快的处理速度。这对于需要处理大量视频流,或者在硬件资源受限的情况下尤其有用。
    • NVDCF_Max_Perf:该选项是为了获取最大的性能。相对于“NVDCF_perf”,该选项可能更加倾向于牺牲一些准确性以获取最高的处理速度和效率。“NVDCF_Max_Perf”对于真正需要快速处理的需求场景更适用,例如,大规模实时视频监控分析。
    • NVDCF_Accuracy:该选项的优先级在于提高算法的准确性。在这种情况下,目标跟踪算法会尽量提高跟踪准确性,即使这意味着占用更多的计算资源和时间。这对于准确性非常重要的情况(例如,在一些需要精确跟踪的科学或医学应用中)非常有用。

    tracker-height

    Integer

    跟踪器应当操作的帧高度,以像素为单位。取值范围:0~4294967295,默认值:384。

    384

    tracker-width

    Integer

    跟踪器应当操作的帧宽度,以像素为单位。取值范围:0~4294967295,默认值:640。

    640

  • DLStreamer 框架下该算子包含以下控制参数:

    名称

    类型

    是否必选

    说明

    示例值

    tracking-type

    String

    选择一种跟踪算法。可选项:

    • zero-term:为每个物体分配唯一ID,每帧都进行物体检测,无物体持久性,消耗计算资源较多。
    • short-term-imageless(默认):允许在跳过物体检测的帧上跟踪物体,优化流程,节省计算资源。
    • zero-term-imageless:每帧都运行物体检测,但不使用实际的图像数据,适用于某些特殊场景,准确性较低。

    short-term-imageless

结果绘制

算子描述
使用边界框绘制插件在视频帧上绘制处理结果,例如物体检测边界框、分类标签,以及物体追踪信息等。
结果绘制插件的输入是前面各种处理阶段的输出,包括物体识别、分类、追踪等阶段的输出结果。这些输出结果包含了物体的位置、大小、类别、跟踪ID等信息。结果绘制插件会读取这些信息,并在相应的视频帧上绘制相应的标记,如矩形框、文字标签等。

控制参数
该算子在不同框架下的控制参数有区别。

  • DeepStream 框架下该算子包含以下控制参数:

    名称

    类型

    是否必选

    说明

    示例值

    display-bbox

    Boolean

    是否显示边界框。默认值:true。

    true

    display-clock

    Boolean

    是否显示时钟。默认值:false。

    false

    display-mask

    Boolean

    是否显示实例掩码。默认值:false。

    false

    display-text

    Boolean

    是否显示文字。默认值:true。

    true

  • DLStreamer 框架下该算子不包含控制参数。

对象分析

算子描述
使用对象分析插件对检测到的对象执行进一步的空间分析。这个插件包含了两个功能:ROI(Region of Interest)检测和越线(Line Crossing)检测。

  • ROI 检测
    指感兴趣区域功能,允许您定义一个或多个感兴趣的区域,并只在这些区域中进行对象检测和跟踪。这个功能在某些特定的应用场景中非常有用,比如您只关心画面中的某个特定区域的物体变动,那么通过 ROI 功能,就可以显著减少不必要的计算,提高处理速度。
  • 越线检测
    指线段穿越检测功能,可以用于统计和检测物体是否穿过了预设的线段。这个功能在很多领域都有应用,例如交通流量统计(车辆穿过一条虚拟线条),入侵检测(人或物穿过了预设的警戒线)等。

控制参数

名称

类型

是否必选

说明

示例值

roi-filters

N/A

绘制 ROI 区域。见表格下方的操作说明。

N/A

line-crossings

N/A

绘制绊线。见表格下方的操作说明。

N/A

操作说明

  • 绘制 ROI 区域
    在视频帧或图像中手动绘制一个或多个 ROI。
    • ROI 是一个独特的、独立的,和封闭的区域,在这个区域内的像素将被特别关注或处理。
    • 您可以通过顶点连线的方式,绘制多边形形状的 ROI。ROI 的形状应尽可能简单和清晰,只覆盖到所需的区域。
    • 如果您有多个 ROI,它们不应该重叠。
    1. 单击 绘制ROI区域
    2. 绘制ROI区域 对话框,准备好样例图片。
      样例图片有两种准备方式:
    3. 使用画笔在样例图片上依次点击感兴趣区域的顶点,通过自动连线形成一个封闭区域。
      首个 ROI 绘制成功后,图片上将会自动出现 “ROI1” 标识。您可以继续绘制多个 ROI。
    4. 绘制完成后,单击 确定
  • 绘制绊线
    在视频帧或图像中手动绘制一组或多组绊线。
    • 绊线指的是一种虚拟的线条,可以在视频帧的特定位置放置。它的主要功能是检测并报告任何物体从特定方向通过这条线,例如人、车辆等。
    • 绘制绊线时,需要指定绊线的位置和方向。您需要依次画出 4 个点,前两个点的连线指示了绊线的位置,后两个点的连线指示了绊线的方向。
    1. 单击 绘制绊线
    2. 绘制绊线 对话框,准备好样例图片。
      样例图片有两种准备方式:
      • 从输入视频流截取当前时刻的截图作为样例图片

        说明

        • 该方式只适用于摄像头设备带分析算子。
        • 您必须先为算子选择摄像头设备;然后,在进行绊线绘制时,系统会自动截取摄像头当前时刻的图片作为样例图片。您可以单击 重新获取截图,重新获取新的截图。
      • 上传本地图片

        注意

        上传的图片必须是 .jpg 格式,并且图片大小不能超过 1MB。

    3. 使用画笔在样例图片上依次点击 4 次,通过自动连线绘制出一组绊线。
      首组绊线绘制成功后,图片上将会自动出现 “LC1” 标识。您可以继续绘制多组绊线。
    4. 绘制完成后,单击 确定

流分支

算子描述
将一个输入的视频流复制并生成多个与原视频流相同的数据流作为输出。

使用说明
该算子最多允许连接 4 个算子的输入。

控制参数

图像分类

算子描述
通过图像分类模型服务,对输入的视频流进行推理,并完成图像分类。

使用说明
要使用该算子,您必须先在边缘节点上部署 图像分类 类型的模型服务。

控制参数

名称

类型

是否必选

说明

示例值

model-service

String

从运行中的模型服务中选择一个图像分类类型的模型服务。

image_classification

input-process-mode

String

在处理视频流中的对象时使用的输入处理方式。可选项:

  • Full_Frame: 在这种模式下,会对整个视频帧进行处理,而不仅仅是帧中的特定对象。
    这种模式可能会使用更多的计算资源,因为它需要处理整个帧的所有像素。但在一些情况下,也可能会提高对象检测和跟踪的准确性,特别是在需要整体上下文信息的场景中。
  • Clip_Object:这种模式主要是将帧中检测到的目标对象截取出来,然后只对这些截取的对象进行后续处理。
    例如,如果整个帧中只有一小部分是移动的对象(比如一个人或车辆),那么可以只对这一部分进行处理,从而节省计算资源。然而,这种模式可能在处理需要大量上下文信息的复杂场景时损失一些准确性。

在选择使用哪种模式时,您可以根据具体需求来决定。如果您的数据流中有多个模型服务算子,您可以在首个算子中采用 Full_Frame 模式(例如,检测行人或车辆等),而在后续算子中采用 Clip_Object 模式(例如,识别检测到的行人或车辆有何具体特征等)。

Clip_Object

interval

Integer

指定连续跳过进行推理的批次数量。取值范围:0~2147483647,默认值:10。

10

物体检测

算子描述
通过物体检测模型服务,对输入的视频流进行推理,并完成目标物体检测。

使用说明
要使用该算子,您必须先在边缘节点上部署 物体检测 类型的模型服务。

控制参数
该算子在不同框架下的控制参数有区别。

  • DeepStream 框架下该算子包含以下控制参数:

    名称

    类型

    是否必选

    说明

    示例值

    model-service

    String

    从运行中的模型服务中选择一个物体检测类型的模型服务。

    image_classification

    input-process-mode

    String

    在处理视频流中的对象时使用的输入处理方式。可选项:

    • Full_Frame: 在这种模式下,会对整个视频帧进行处理,而不仅仅是帧中的特定对象。这种模式可能会使用更多的计算资源,因为它需要处理整个帧的所有像素。但在一些情况下,也可能会提高对象检测和跟踪的准确性,特别是在需要整体上下文信息的场景中。
    • Clip_Object:这种模式主要是将帧中检测到的目标对象截取出来,然后只对这些截取的对象进行后续处理。例如,如果整个帧中只有一小部分是移动的对象(比如一个人或车辆),那么可以只对这一部分进行处理,从而节省计算资源。然而,这种模式可能在处理需要大量上下文信息的复杂场景时损失一些准确性。

    在选择使用哪种模式时,您可以根据具体需求来决定。如果您的数据流中有多个模型服务算子,您可以在首个算子中采用 Full_Frame 模式(例如,检测行人或车辆等),而在后续算子中采用 Clip_Object 模式(例如,识别检测到的行人或车辆有何具体特征等)。

    Full_Frame

    interval

    Integer

    指定连续跳过进行推理的批次数量。取值范围:0~2147483647,默认值:10。

    10

  • DLStreamer 框架下该算子包含以下控制参数:

    名称

    类型

    是否必选

    说明

    示例值

    model-service

    String

    从运行中的模型服务中选择一个物体检测类型的模型服务。

    image_classification

    inference-region

    String

    指定进行推理的区域。可选项:

    • full-frame: 在这种模式下,会对整个视频帧进行处理,而不仅仅是帧中的特定对象。
    • roi-list:这种模式主要是将帧中检测到的目标对象截取出来,然后只对这些截取的对象进行后续处理。

    full-frame

    inference-interval

    Integer

    指定连续跳过进行推理的批次数量。取值范围:0~2147483647,默认值:5。

    5

LLM大模型分类

算子描述
通过大模型推理服务,对输入的视频流进行推理,并完成图像分类。

使用说明
要使用该算子,您必须先在边缘节点上部署 大模型 类型的模型服务。

控制参数

名称

类型

是否必选

说明

示例值

model-service

String

从运行中的模型服务中选择一个大模型类型的模型服务。

llm_classification

llm-resize-height

Integer

设置上传给大模型的图像帧的高度(单位为像素)。取值范围:1~10240。默认值:720。
在将图像帧推送到大模型进行处理之前,系统将自动调整图像的尺寸,使之符合您设定的宽度和高度参数。

720

llm-resize-width

Integer

设置上传给大模型的图像帧的宽度(单位为像素)。取值范围:1~10240。默认值:1280。
在将图像帧推送到大模型进行处理之前,系统将自动调整图像的尺寸,使之符合您设定的宽度和高度参数。

1280

prompt

String

设置输入给大模型的提示词。

图片中有人吗?

label-mapping

String

设置标签映射规则,采用 JSON 格式。
标签映射规则用于从大模型响应文本中提炼分类标签。例如,假设标签映射规则为 {"抽烟": "smoke"},那么如果大模型响应文本中包含“抽烟”,就会将预测的结果 label 置成“smoke”。

{"有人":"yes","没人":"no"}

input-process-mode

String

指定进行推理的区域。可选项:

  • Full_Frame: 在这种模式下,会对整个视频帧进行处理,而不仅仅是帧中的特定对象。
  • Clip_Object:这种模式主要是将帧中检测到的目标对象截取出来,然后只对这些截取的对象进行后续处理。

full-frame

interval

Integer

指定连续跳过进行推理的批次数量。取值范围:0~2147483647,默认值:30。

30