本文章主要讲应用视觉深度学习模型在低代码平台进行开发,目前已有的可应用的深度学习功能包括字符识别、目标识别、像素分割,针对深度学习模型标签的标签计算和通过标识模板批量定位标签的定位编码。(www.nb-ai.com)
注意:
1.使用低代码平台的深度学习模型标签不能含有中文,上传的图片路径中不能含有中文,建议全部使用英文命名。
2. 当前低代码版本仅支持新框架模型,如“标准版”、“高精版”,不支持老框架模型,如“普通模型”、“快速模型”。
下面将用三个案例对深度学习算子功能逐一介绍:
像素分割
像素分割可以识别出图片中特别的像素区域并按标签类别分类输出,如下面纸箱缺陷检测,使用像素分割模型检测出纸箱表面存在的缺陷。
拖入如图所示的算子,图片源作为输入,像素分割算子为中间处理模块并能展示运行后的结果。将二者连接。
图片源可以从本地上传,也可以传入AI模型处已有的项目图片,选入几张用以展示测试结果。
在图片源导入数据时,点击导入数据后等待界面转圈结束即导入成功 返回到原界面并没有跳转,不代表没有上传成功。
选择像素分割算子的输入参数参数为图片源、模型名称和模型版本,下方会显示模型准确度等信息。
点击执行可以在右侧图片处看到结果显示。
字符识别
图片输入源为药盒照片,识别药盒上的钢印文字,输出识别了字符框并分类标准的图片。
模型参数设置如下,结果在右侧显示。
目标识别
目标识别用于识别出某特定物品,全图只有一个标签,如钢管识别,可以识别出钢管的截面面积并计算出钢管的数量。
标签计算
标签计算并不涉及到AI模型,却可以通过接受AI模型输出的数据对标签的属性进行计算。
对于纸箱缺陷检测,标签计算可以对对应标签的数量输出,并包括面积、长轴、短轴、长轴角度、质心等计算出的数据。
对于药箱字符识别,每个字符是一类标签,统计其数量、面积、长轴、短轴、长轴角度、质心等数据。
对于钢管检测,目标为一个标签,统计其数量、面积、长轴、短轴、长轴角度、质心等数据。
定位编码
算子介绍
用于对复杂产品的多个待检测点划定检测区域并编号,解决复杂产品识别某固定编号点位,并可判断其是否符合规定标准的问题。复杂产品指产品型号种类多或一张图片无法完整描述产品的全部样貌,需要通过固定机位对产品进行多次拍摄。固定编号指同一型号的同一机位的照片,对待检测的点位进行唯一编码。
输入设置
输入源应为经过深度学习算子输出的原始识别数据。项目采用接收数据算子,用户可能创建多个接收数据源,并将传入数据分成不同字节部分,供用户选择与模板编号相匹配的变量。
设定模板
- 新建模板
模板具有模板编号和模板名称。模板名称用于为用户提供可读的方案;模板编号为唯一标识,用于与同种照片进行匹配。
- 标定模板
选定一张本地图片作为标准模板后,用户按照自定义的编码顺序对模板上具体位点进行框定编码,框选完成后点击保存退出界面。编辑过程中可以全屏或放大图片以便进行更精确的框选。
注意: 框选过程中若删除某编码对应框,则当前编码位置空缺,再次编辑时号码为该删除编码。
输出设置
在未勾选分类映射的前提下,输出结果为:位置对应结果。当分割为“,”时,结果举例red,green,yellow,null
勾选分类映射后,输出结果为:映射结果(0/1),用户根据分类需要自定义映射。
界面开发
在【图像】组件处可以看到每张图片经过定位编码算子处理后的定位匹配和标签显示情况。
综合演示
下面我们将结合传统算子和深度学习算子给出一个综合项目流程演示。项目采用纸箱缺陷检测数据和其像素分割模型。
- 拖入算子并连接
-
图片源、像素分割、标签计算参数设置方式与上文相同
-
在条件判断处,我们希望筛选出存在缺陷的纸箱图片,并显示出NG;若图片不存在缺陷,则显示OK。故根据逻辑,在四种缺陷标签数量均为0时,判断结果为OK。在判断条件下拉框处可以设置条件之间为AND关系(全部)和OR关系(任意)。点击右侧加号可以新增一个条件,减号可以删除一个条件。条件从上方已有的算子所包含的属性中选择,判断符号可为介于或等于。
- 图片保存算子可用于实现将像素分割后的图片保存在本地,这里我们设置存在缺陷的图片才会触发保存,图片保存路径为项目文件夹下的/deploy/render/NG,可以设置保存至新建的子文件夹。图片保存名称可以自行设置,名称后缀可以添加序号或时间戳。
- 输出结果处设置发送的数据为当前图片判断是否存在缺陷的文字结果(OKorNG),以及四个标签数量,中间采用下划线连字符,发送至设备终端的将为一个字符串。
- 在界面开发界面可视化的看运行结果,保存如下的内容,分别用于展示初始图片、经过像素分割后的图片、判断是否存在缺陷结果、缺陷的标签数量(与开发界面下拉框所显示的标签顺序一致)、发送最终的结果以及运行模块。
保存并单词运行后显示如下:
- 最后可以根据需要部署的线下设备情况下载对应版本的部署包和深度学习模型。