后处理SPI3使用说明
简介
后处理SPI3主要用于对锡膏板,以及类似的物体进行点云优化,其作用/功能:
SPI3后处理可通过设置颜色范围抽取出想要的特征数据。结果如下图所示(以锡膏板为例):
处理前:
对应的rgb图像:
其中银白色区域为锡膏
处理后:
可以看到锡膏位置被准确抽取出来了
其基本原理:根据设置的RGB/HSV颜色范围,计算每个锡膏区域像素点与附近基准面的相对高度,并将非锡膏区域的像素点Z置为0
界面介绍
与其他后处理算子相同,在ControlCenter要使用该后处理,需要在实时后处理添加,具体参考:
SPI3除了可以在实时后处理修改算法参数,还有一个单独的工具窗口可以直观查看和快速调整颜色抽取的结果。
参数说明
设置位置如下图:
- 颜色模式:分为RGB和HSV两种模式分别对应0和1,表示设置的颜色范围是RGB的形式或HSV的形式
**注:在SDK版本V2.49后,更新了新的两种颜色模式,目前设置模式可设置范围为0~3,具体含义如下图所示:
mode=0: 基于RGB分割的稳定模式
mode=1: 基于HSV分割的稳定模式
mode=2: 基于RGB分割的快速模式
mode=3: 基于HSV分割的快速模式
通道1上限: 设置的H或R通道的上限(取决于颜色模式,如HSV对应H通道,RGB对应R通道)
通道2上限: 设置的S或G通道的上限
通道3上限: 设置的V或B通道的上限
通道1下限: 设置的H或R通道的下限
通道2下限: 设置的S或G通道的下限
通道3下限: 设置的V或B通道的下限
闭运算核尺寸: 用于填补抽取出的特征中缺少的部分,部分情况下抽取出的特征存在部分像素缺失就需要增大该尺寸,调大尺寸会增加填补的幅度。需要注意的是,过大的尺寸会导致不同特征相连,过小会导致填补效果较差
开运算核尺寸: 当部分特征没有抽取出来,则需要调小该参数。需要注意的是,过小的尺寸会导致特征外的内容被抽取出来,过大的尺寸会导致部分面积较小的特征无法抽取
膨胀核尺寸: 当焊锡分割结果整体偏小时,则可调大膨胀核尺寸,可避免焊锡处高度被置为0,但此操作会不可避免将焊锡周围的基板当作焊锡处理,结果是焊锡周围一圈板子高度接近零但不完全为零
补偿模式:当算法输出焊锡高度与实际值之间呈现一致性关系时,可尝试通过补偿模式对焊锡高度进行补偿,使输出焊锡高度接近真实值,模式0 kx+b 模式1 k(x/k)^b(现场暂时未使用过该功能)
锡膏补偿1:校正后数据补偿参数1 k
锡膏补偿2:校正后数据补偿参数2 b
基板滤波尺寸:基板滤波尺寸大于0为均值滤波;小于0时当前值会被滤波窗口内低点拉低,可以一定程度拉低基板拉高锡膏相对高度
锡膏滤波尺寸:焊锡滤波尺寸大于0为均值滤波;小于0时当前值会被滤波窗口内高点拉高,可以一定程度拉高焊锡
基准邻域像素数量:最小邻域点个数,计算基板高度时使用的点个数
填补邻域像素数量:修补时最小邻域点个数,对颜色属于焊锡的无效点进行填充时邻域焊锡点的最小个数。存在颜色被分割为焊锡的无效点云时,通过邻域有效焊锡点高度进行填补,此值为计算填补高度时使用的邻域有效焊锡点的个数。
邻域窗口尺寸:邻域搜索半径
最大焊锡高度阈值:最大焊锡高度阈值,焊锡相对高度超过此值时,焊锡高度正常时,可区分高度异常的板面;焊锡高度异常时,将焊锡高度置为最大焊锡高度阈值
颜色范围调整窗口
调整用于抽取特征的颜色设置窗口,如下图:
- 颜色模式:对应SPI3后处理参数中的颜色模式,设置位置如下图:
保持更新表示当前窗口设置是否与实时后处理窗口的SPI3设置保持一致
- 颜色范围:对应SPI3后处理参数中的通道上下限,设置位置如下图:
- 核运算:对应SPI3后处理参数中的闭运算核尺寸、开运算核尺寸、膨胀核尺寸,设置位置如下图:
- 颜色抽取区域:设置需要进行颜色抽取的区域,可直接设置参数,也可通过鼠标选择,首先点击“选取”按钮,鼠标左键在右侧第一次点击为区域起点,第二次点击为区域终点,设置位置如下图:
- 显示:
可设置显示模式,设置显示的颜色通道,以及设置是否更新显示,如下图:
可切换图片的显示,SPI3后处理先进行颜色分割后再执行核运算,因此可选择显示颜色分割后的图像或核运算结果图,位置如下:
可实时显示当前鼠标位置对应像素的颜色信息,如下图:
使用流程示例
我们以一个锡膏板为例,来说明后处理SPI3的使用流程,及参数如何调整。
准备环境
使用后处理SPI3,需要在以下软/硬环境及设置下:
- SDK(3D tool) V2.411版本及以上
- SizectorS系列相机
- 被测物颜色比较单一(如PCB锡膏板等)
- 使用简化深度图模式
- 拍摄3D使用外部曝光RGB灯光
必须简化深度图模式,其他模式不支持!
拍摄3D
相机/RGB灯正常连接后,设备上电后打开SDK,在外部曝光选中RGB,灯光设置合适的曝光(图一);在后处理中选择简化深度图模式(图二);设置OK后使用合适的3D工作模式拍摄锡膏板3D
图一
图二
添加SPI3后处理
相机拍摄后打开实时后处理界面(图三),勾选启用实时后处理,添加SPI3项,点击界面下方添加的SPI3后处理使其变为蓝色,点击SPI后面的颜色范围调整窗口(图四)
图三
图四
进入颜色范围调整窗口后,选中HSV,并在窗口选项点击选取,点击选取后,鼠标左键在右侧画面第一次点击为起点,第二次点击为选取画面的终点在图像中选取合适的颜色抽取窗口或者起点/长宽输入合适的像素坐标设置(图五)
图五
在颜色抽取的窗口设置完成后调整HSV的上下限,使锡膏的颜色为白色;在抽取过程中可以选择不同的显示模式点击显示结果对比抽取的锡膏大小是否和实际大小一致,尽量保持抽取的大小和实际大小一致;抽取过程中会有一部分锡膏颜色未被抽为白色,可以鼠标光标放在未被抽取的像素上在界面右下方会出现该像素对应的HSV信息,对应调整HSV上下限进行抽取(图六)
图六
锡膏HSV抽取后依旧有部分像素未抽取为白色,可以通过调整闭运算核大小来填补锡膏中间未被完全抽取的部分;闭运算核太大会使锡膏相连,太小无法完全填补锡膏,调整合适的数值;或者部分连接丝印/焊盘/PCB板被抽出白色,可以通过调整开运算核大小去除焊盘/丝印/PCB板被抽为白色部分;开运算核大小太大会使面积较小的锡膏被去除,太小则无法完全去除焊盘/丝印/PCB板被抽为白色部分,调整合适的值;在调整开/闭运算核的过程中可以点击结果阶段-核运算来观察数值是否合适(图七)
图七
在颜色抽取后关闭颜色抽取窗口,后处理界面的SPI3参数会自动调整为刚刚颜色抽取的参数,点击应用(图八)
图八
观察软件画面中的3D模型已经将除锡膏以外的部分全部设置为平面,点击深度图鼠标放在PCB部分,在右下角会显示此时的Z值(图九)(因后处理使用GPU,第一次应用时包含GPU 初始化的时间比较慢)
图九
再次拍摄打开实时后处理,页面右上角会显示此次后处理用时(图十)
图十
另外可以通过调整后处理SPI3中基板滤波尺寸/锡膏滤波尺寸,通过算法来调整锡膏表面平整以及锡膏相对高度,使用数值的绝对值越大后处理时间会越长(图十一)
因有些锡膏在板子边缘,计算锡膏相对高度时会把此类锡膏计算的很大,所以添加计算锡膏高度限制参数(最大焊锡高度)图十二,此参数根据钢网厚度,例如钢网厚度0.1mm,则设置未0.2mm,钢网厚度0.2mm,则设置为0.4mm,设置此参数太小锡膏抽取后会出现黑洞,太大无法准确计算板子边缘锡膏高度(图十二)
基板滤波尺寸大于0为均值滤波;小于0时当前值会被滤波窗口内低点拉低,可以一定程度拉低基板拉高锡膏相对高度;
焊锡滤波尺寸大于0为均值滤波;小于0时当前值会被滤波窗口内高点拉高,可以一定程度拉高焊锡;
这两项最终影响到焊锡相对基板高度的计算结果;
图十一
图十二
最后在处理OK后即可保存后处理文件
在HL使用该后处理时需要使用对应的SPI软件版本; 在使用该算法后每个FOV之间不会再有断层因此不需要进行P文件矫正,只需要SDK单个FOV畸变矫正即可;