昇腾社区首页
中文
注册

软件架构

Vision SDK软件架构如图1所示,架构图中的关键模块介绍如表1

图1 Vision SDK软件架构
表1 架构图模块介绍

模块

说明

mxStream

用于管理流程编排中的业务Stream。

  • StreamManager:负责Stream的构建和销毁,同时提供向其发送数据和获取结果的接口。
  • StreamServer:基于Vision SDK实现的推理服务器,以RESTful接口对外提供视觉推理服务。

mxPlugins

基础功能插件,例如模型推理插件、模型后处理插件、视频编解码插件以及图像解码插件。为以流程编排方式进行快速构建应用提供基础能力。

  • MpDataSource:负责提供拉流,数据加载、数据序列化以及数据导出等功能。
  • MpDataProcess:负责提供数据处理,例如视频编解码,图像编解码,图像抠图、缩放、贴图以及旋转等功能。
  • MpModelInfer:负责提供模型推理相关功能。
  • MpPostProc:负责提供模型后处理相关功能。

mxBase

昇腾芯片功能基础库:包括图像解码、裁剪缩放、模型推理、算子加速库等。是Vision SDK的基础底座,开放部分API供用户进行自定义应用开发。

  • MbCV:负责提供图像处理相关的常用基本功能,如加、减、抠图、缩放、通道拼接、通道拆分等。
  • ModelInfer:负责提供模型推理以及模型后处理相关功能。
  • Basic algorithm:负责提供NMS,放射变换,匈牙利算法以及卡尔曼滤波算法等功能。
  • Resource Manager:负责提供资源初始化、资源去初始化、异步流程控制、设备管理、内存管理等功能。
  • Utils:负责提供日志模块、错误码、文件处理、字符串处理等相关功能。

mxTools

提供SDK相关工具。

  • PluginToolkit:用于插件开发的API。
  • SdkInfoCollector:一键式信息收集工具。主要收集Vision SDK日志和昇腾芯片日志,资源占用率等,用于问题定位。
  • Uninstaller:Vision SDK卸载工具。
  • TestToolkit:单插件测试工具。
  • PluginInspector:插件信息收集工具。收集环境中可用插件的信息。