矩视智能机器视觉软件SDK使用教程(LabView版)

1.概述(www.nb-ai.com

  • 本教程用于介绍SDK(LabView 版)使用方法。该SDK工具包用于辅助工程师进行AI视觉开发。要进行软件开发,需要从官网下载:

    1. 工作台训练好的模型文件

    2. SDK(LabView 版)工具包

2.环境配置

  • 支持的操作系统: Windows10/11 X64

  • 软件依赖:

    1. LabView(2020版本及以上)官方下载链接
    2. LabView Vision Development模块(版本对应LabView的版本)官方下载链接

此SDK只支持在Nvidia显卡上运行。不支持 AMD 等其他品牌!

  • 支持的显卡类型:英伟达GPU(支持算力为“6.1”、“7.5”、“8.6”的GPU)。具体型号见工作台的模型下载界面中的“选择硬件”。 

     在英伟达官网可以查到显卡算力

  • 支持的显卡驱动版本:不低于cuda version 11.6 (在终端命令窗口中输入“nvidia-smi.exe”即可查询cuda version) 

     英伟达显卡驱动下载链接 (备用链接

3.快速入门

  • 下面给出一个示例,帮助您快速了解如何使用SDK完成 LabView 软件开发。本示例使用LabView(2022 Q3版本)以及 LabView Vision Development模块(2022 Q3版本)。

3.1 解压SDK

  • 将下载好的SDK文件解压到安全的路径下,如下所示: 

3.2 添加环境变量

  • 下面开始添加系统环境变量,打开“此电脑”,空白位置右键,然后选择“属性”,点击“高级系统设置”,点击“环境变量”,出现如下界面。然后选中“Path”,点击“编辑” 

  • 点击“新建”,再点击“浏览” 

  • 选择SDK文件夹下的bin文件夹: 

  • 将此环境变量上移到第一个 

     操作完成点击“确定”。

3.3 配置License文件

  • 请将License.txt文件放到SDK文件夹下(放置License.txt文件的位置请以当前文档为准)  关于如何生成License.txt文件,参见: 如何获取License - Neurobot

3.4 修改并运行示例代码

  1. 双击打开SDK文件夹下dllrun0525.vi文件,如下: 

  2. 点击test image path旁文件夹图标选择单张测试图片 

  3. 修改模型名称 

  4. 点击model path旁文件夹图标选择存放模型文件的文件夹 

  5. 选择device name(用CPU处理请选择cpu;用GPU处理请选择cuda) 

  6. 设置detect threshold(检测阈值,超过检测阈值即视为目标物体。detect threshold = -1代表默认值,默认检测阈值为0.7) 

  7. 选择color mode (彩色图像(RGB)请选择color;灰度图像请选择gray

  8. 点击左上角运行(run)按钮,运行程序 

     结果如下: 

  9. 如果程序出现报错,请查看这四个地方分析出错的原因:is img,is loaded,load() returnpredict() returnis img亮绿灯表示图片加载成功,反之图片加载失败;is loaded亮绿灯表示模型已经加载,反之模型未被加载;load() return显示0的时候表示模型加载成功;反之模型加载失败;predict() return显示0的时候表示模型预测成功,反之模型预测失败。调用函数说明章节定义了load() returnpredict() return的各种返回值。 

     注意:如果程序出现报错,找到问题并修改好,再次运行依然出错的话,请重启LabView再运行!!!

4. 推理结果格式

  • 模型对单张图片的推理结果是一个string类型,存在predict results里,如下所示: 
  • 单张照片的推理结果可以有多个,单个结果的具体格式为:
x0,y0,x1,y1,score,label,label_index,row_index,col_index;mask_width;mask_height;

注意:结果之间由“,”或者“;”间隔,中间没有空格

变量定义
x0检测矩形框(bounding box)的左上角的x值
y0检测矩形框(bounding box)的左上角的y值
x1检测矩形框(bounding box)的右下角的x值
y1检测矩形框(bounding box)的右下角的y值
score检测结果的置信度(confidence score)
label检测结果的标签
label_index检测结果的标签索引
row_index用于OCR的自动排列,在开发中,暂时可以忽略
col_index用于OCR的自动排列,在开发中,暂时可以忽略
mask_width用于像素分割,在开发中,暂时可以忽略
mask_height用于像素分割,在开发中,暂时可以忽略

5. 调用函数说明

  • dllrun0525.vi文件引用了SDK文件夹下几个VI文件,其中重要的是:DestroyModel_525.viLoadModel_525.viPredictModel_525.vi。 这三个文件分别引用了neurobot_LabVIEW_Model_SDK_CN_V3.0\bin\neuro_det_sdk.dll中的load_model()newPredict_modelVec()destroy_model()函数 (可以打开Block Diagram进行查看)。

5.1 load_model()

int load_model(const char* model_name, const char* model_path, const char* device_name = "cuda", const int device_index = 0);
  • 定义:

    • 该函数用于加载模型
  • 参数说明:

参数解释
model_name模型名称
model_path模型所在路径
device_name选择CPU处理:device_name="cpu"; 选择GPU处理:device_name="cuda"
device_index加载模型的显卡设备号。默认值为0(默认设备号),您也可以修改为其他设备号。
  • 返回值:
    • 返回一个int型变量。0代表执行成功,其他数字为错误码,具体如下:
返回值定义
0执行成功
1配置文件找不到
2未找到batch参数
3未找到dete_thres参数
4未找到class参数
5缺少运行所需dll文件
6ARG-英伟达显卡报错
7不支持
8越界
9内存不足
10加载模型相关文件不存在
11加载失败
12状态计数
50模型类型错误或无法读取model.conf文件
100使用错误的模型类型

5.2 newPredict_modelVec()

int newPredict_modelVec(const char* model_name, uchar* ImgVec, int length, int row, int col, char* ret, float detect_thres = -1.0);
  • 定义:

    • 该函数用于预测待测试图片
  • 参数说明:

参数说明
model_name模型名称(名称为英文名称)
ImgVec图像rgb数组(u8数组)
length图像rgb数组长度
row图像高
col图像宽
ret预测返回值
detect_threshold检测阈值,超过检测阈值即视为目标物体。detectThreshold=-1代表默认值,默认检测阈值为0.7。
  • 返回值:
    • 返回一个int型变量。0代表执行成功,其他数字为错误码,具体如下:

状态码(status)具体如下:

状态码定义
0执行成功
1英伟达显卡报错
2不支持
3越界
4内存不足
5用于预测的相关文件不存在
6预测失败
7状态计数
50授权文件不存在或无权限读取
51授权文件格式不正确
52授权文件指纹不匹配
53未到授权开始时间
54授权过期
55系统时间曾经回滚
56无写授权文件权限
57授权相关未知错误
58授权文件版本与SDK版本不同
59标签数目超出限制

5.3 destroy_model()

void destroy_model(const char* model_name);
  • 定义:

    • 该函数用于将模型从显卡中清除
  • 参数说明:

参数说明
model_name模型名称(名称为英文名称)
  • 返回值:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值