案例集
概述
所有示例通过 Python 接口实现板卡推理,前处理(数据标准化/归一化、通道变换、输入数据量化)和反量化都已经加入网络中,板卡推理结果返回 PC 端做后处理,结果保存在模型工程目录下。提供源码地址、权重文件、NBG 文件、测试图片。
示例流程
项目结构
1├── docs/ # 项目文档
2├── resource/ # 算法模型
3├── src/ # 源码
4│ ├── utils/ # 公共组件
5│ └── ***.py # demo 测试验证相关代码,包含前后处理以及模型的调用
6└── README.md # 项目说明文档
环境要求及配置
硬件要求
项目 |
要求 |
|---|---|
NPU 板卡 |
X78E_DSKC_202311V0 板卡 |
连接方式 |
网线连接(自备) |
服务状态 |
板卡 server 已运行(详情参考 server_api.md) |
Python 环境搭建
1# 下载安装脚本
2wget "https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease//Miniforge3-$(uname)-$(uname -m).sh"
3
4# 创建安装目录
5mkdir -p ~/app
6INSTALL_PATH="${HOME}/app/miniforge3"
7
8# 安装 mamba
9bash Miniforge3-Linux-x86_64.sh -b -p ${INSTALL_PATH}
10
11# 配置环境变量
12echo "source ${INSTALL_PATH}/etc/profile.d/conda.sh" >> ${HOME}/.bashrc
13echo "source ${INSTALL_PATH}/etc/profile.d/mamba.sh" >> ${HOME}/.bashrc
14source ${HOME}/.bashrc
15
16# 创建并激活虚拟环境
17mamba create -n netrans python=3.10 -y
18mamba activate netrans
下载工程
1git clone https://gitlink.org.cn/nudt_dsp/demo_system_algorithm.git
安装依赖
1pip install -r requirements.txt
评估指标
指标 |
说明 |
|---|---|
fiducial_e |
计算归一化的绝对误差,通过 fe 的均值和最大值评估,值越接近 0 越好 |
推理速度 |
下位机单张图片推理时间(毫秒) |
执行与性能
以语义分割为例,直接运行 py 文件,其他案例一致。
执行命令
1cd demo_system_algorithm/src
2python deeplabv3.py
输出结果
推理时间、输出 fe 的相似度以及结果图片保存到 demo_system_algorithm/resource 对应的案例目录下。
案例详情
语义分割
项目 |
说明 |
|---|---|
模型类型 |
DeepLabV3(MobileNetV3 作为骨干网络),用于语义分割任务 |
目标应用 |
场景理解、自动驾驶、工业检测、医疗影像分析等 |
代码来源 |
|
详细文档 |
|
实例分割
项目 |
说明 |
|---|---|
模型类型 |
YOLOv5s-seg,基于 YOLOv5 架构的轻量级实例分割模型,同时完成目标检测和分割掩码预测 |
代码来源 |
|
详细文档 |
|
单目标跟踪
项目 |
说明 |
|---|---|
模型类型 |
OSTrack(One-stream Transformer Tracker),基于 Transformer 架构的单目标视觉跟踪模型 |
代码来源 |
|
详细文档 |
|
分类
项目 |
说明 |
|---|---|
模型类型 |
ResNet18 分类模型,输出对 1000 个类别的概率分布 |
代码来源 |
|
详细文档 |
|
关键点检测
项目 |
说明 |
|---|---|
模型类型 |
SuperPoint,端到端的自监督/半监督学习的关键点检测与描述子提取方法 |
功能 |
检测关键点位置与置信度,生成 128 维局部描述子用于图像匹配 |
代码来源 |
|
详细文档 |
|
人体姿态估计
项目 |
说明 |
|---|---|
模型类型 |
OpenPose 人体姿态估计模型,采用 PAFs + 关键点热力图实现多人姿态检测 |
代码来源 |
https://github.com/Daniil-Osokin/lightweight-human-pose-estimation.pytorch |
详细文档 |
|
差异性检测
项目 |
说明 |
|---|---|
模型类型 |
A2Net,轻量化差异性检测网络,使用 MobileNetV2 作为主干 |
目标应用 |
城市规划、自然灾害评估、农林监测、环境变化监测等 |
代码来源 |
|
详细文档 |
|
图像分割检测
项目 |
说明 |
|---|---|
模型类型 |
YOLOv5s,针对高分辨率图片检测进行优化,通过子图分割和结果合并实现大图检测 |
代码来源 |
|
详细文档 |
|
作者:ougaoliang