基础功能单元库

ModelBox框架包含一套基础功能单元库,提供一些常用的功能单元,用户可以直接使用这些功能单元,快速完成自身业务开发。根据功能单元的类型分为:数据接入、数据输出、数据处理和AI推理功能单元。

数据接入

用户进行推理的原始数据类型主要分为视频、图片、文字、声音等多媒体数据,这些数据可能存放在不同的数据源,如本地文件、摄像头的RTSP 流、云上数据存储服务等,ModelBox需要支持能够直接从常用的数据源获取多媒体数据地址递交给后面的功能单元处理。

ModelBox数据源输入功能单元支持表1常用的输入类型。

表 1 数据接入类型

数据接入类型

功能简介

本地文件

读取本地文件

本地摄像头RTSP流

读取网络摄像头视频流

云上数据存储服务

比如对接华为云对象存储服务(OBS),从OBS服务下载文件

云上视频流服务

比如对接华为云视频接入服务(VIS),从VIS服务获取流地址

第三方服务平台

比如对接华为VCN平台,从VCN平台获取流地址

Restful API

调用用户自定义Restful API获取流地址

URL地址

读取URL路径获取数据流或者文件

HTTP/HTTPS请求

启动HTTPS服务,接受用户请求数据,需要配合“HTTP/HTTPS响应”功能单元配合使用

同时数据接入功能单元支持用户自定义扩展能力,开发者可以增量开发第三方的数据输入类型。

数据输出

除了数据接入功能单元外,ModelBox框架还支持数据输出功能单元,支持将用户的分析结果输出到第三方服务,进行存储或者下一步分析。输出结果类型包含多媒体文件、消息等,常用输出方式如表2所示。

表 2 数据输出类型

数据输出类型

功能简介

云上数据存储服务

比如对接华为云对象存储服务(OBS),上传文件至OBS服务

云上消息服务

比如对接华为云数据接入服务(DIS),上传消息至DIS服务

Webhook服务

输出结果到用户提供的HTTP/HTTPS 服务

HTTP/HTTPS响应

将输出结果通过HTTP /HTTPS响应回复给用户,需要配合“HTTP/HTTPS请求”功能单元配合使

HDMI

输出视频流到设备的HDMI接口

RTMP

输出视频流到指定RTMP地址

同时数据输出功能单元支持用户自定义扩展能力,开发者可以增量开发第三方的数据输出类型。

数据处理

ModelBox提供常用的多媒体数据处理功能:

  • 视频:视频解封装、视频解码、视频编码
  • 音频:音频解封装、音频解码、音频编码
  • 图片:图片缩放、图片裁剪、图片格式转换、图片填充、图片归一化、图片取均值

视频处理和图片处理支持CPU、GPU、Ascend芯片等硬件加速。

AI推理

ModelBox提供常用AI推理功能单元给开发者使用,具体如表3所示。

表 3 AI推理

推理框架

支持硬件类型

Mindspore

Ascend芯片

Tensorflow

GPU/CPU

TensorRT

GPU

Pytorch

GPU/CPU

其中,TensorRT推理功能单元支持自定义插件,用来解决其他框架模型转TensorRT模型后模型推理算子不支持的场景。

除了上述推理框架外,ModelBox推理基础功能单元还提供推理功能单元基类,支持开发者快速开发自己的推理功能单元。

results matching ""

    No results matching ""