使用块扫描模式,用区域扫描相机实现线扫描应用
1. 导言
与区域扫描模式不同的是,块扫描模式可以高速检测圆形或旋转体、长形或无端材料(类似于线扫描相机)。为此,块扫描模式记录由多条线组成的感兴趣区域(AOI)块。然后,数量可调的 AOI 块将作为整体图像一起传输。这样可以最大限度地减少使用 USB3 或 GigE Vision 传输协议将 AOI 块作为单个图像传输时产生的开销。本文档展示了如何将块扫描模式与配备索尼 IMX 全局快门传感器的BVS CA-SF2 工业相机结合使用。在这里,工业相机通过增量式编码器触发块扫描模式,以捕捉旋转滚筒上的物体。
当然,其他硬件触发器(例如传送带旁)或软件触发器也可作为光源。在这种情况下,不需要使用 "EncoderControl",而必须调整 "TriggerSource"。但在本文档中,增量式编码器被用作触发源。
本文件将介绍以下几点:
-
如何在 ImpactControlCenter 中结合增量式编码器配置块扫描模式?
-
如何在旋转物体上捕捉无尽图像?
-
如果旋转物体停止,而图像内存中仍有图像块,会发生什么情况?
-
如果旋转对象改变方向后又沿原方向旋转,会发生什么情况?
-
什么是
-
与线扫描摄像机相比,块扫描模式有哪些优点?
-
与线扫描摄像机相比,块扫描模式有哪些缺点?
2. 机械结构
材料
-
1 x 带马达的旋转滚筒
-
1 x 测量尺
-
1 x 增量式编码器(1000ppr)
-
1 个摄像头(BVS CA-SF2-0032ZC)
-
1 x 光源;1 x 触发盒
旋转鼓与电机和增量式编码器相连。表面贴有卷尺,以便读取距离(见左上图)。增量式编码器和光源通过摄像机的 I/O 接口连接到触发盒。(编码器)信号源 A →(摄像机)4 号线;(编码器)信号源 B →(摄像机)5 号线。

图 1:机械结构

图 2:接线
3.1. 如何在 ImpactControlCenter 中结合增量式编码器配置块扫描模式?
固件版本要求:> 2.35
在ImpactControlCenter 中进行配置:
-
设置 → 基础 → 摄像机 → GenICam → 设备控制 → 设备扫描类型:mvBlockScan。
-
设置 → 基础 → 摄像机 → GenICam → 图像格式控制:配置 OffsetY、mvBlockscanLinesPerBlock(>= 16)、mvBlockscanBlockCount(>= 2)。
-
设置 → 基础 → 相机 → GenICam → ImageFormatControl → PixelFormat:BayerRG8(用于远距离相机)。
-
设置 → 基础 → 摄像机 → GenICam → 编码器控制 → EncoderSourceA: Line4; EncoderSourceB: Line5; EncoderDivider:1;编码器输出模式:位置向下/方向向下。
-
设置 → 基础 → 摄像机 → GenICam → 采集控制 → 触发选择器:FrameStart; TriggerMode:On;TriggerSource:编码器 0。
-
设置 → 基本 → 摄像机 → GenICam → 采集控制 → 曝光时间。
-
设置 → 基底 → 相机 → GenICam → DigitalIOControl → LineSelector(线条选择器):光源的起始位置;LineSource(线条来源):曝光激活。
-
(可选)设置 → 基础 → 相机 → GenICam → DigitalIOControl → 设置 Line4 和 Line5 的抖动时间
3.2. 如何在旋转物体上捕捉无穷无尽的图像?
行驶一定距离后,增量式编码器会产生一个脉冲。每个脉冲(如果编码器分频器 = 1)触发若干图像块的记录,然后将这些图像块组合起来形成整体图像。下面的草图显示了检测系统的横截面。

图 3:检测系统截面图
如果产生一个新的触发脉冲,则转鼓进一步旋转 α 角,覆盖圆周 ΔC。由于 r 是转鼓的半径,n 是编码器分频器,指定了增量脉冲数,p 是增量脉冲数(ppr:每转脉冲数),因此可以由此确定 ΔC:
ΔC = 2*π*r*n/p (eq-1)
为了从不同的区块(y1', y2'......)生成无穷无尽的图像,每个区块的视场高度必须与 ΔC 相同:
y1 = y2 = ΔC(式 2)

图 4:旋转至下一个触发脉冲
由于在我们的示例中使用了卷尺作为对象,因此可以很容易地读出对象的高度 y(毫米)和相应的图像高度 y'(像素)。这意味着镜头的图像比例 β(像素/毫米)也很容易确定:
β = y'/y (eq-3)
如果将公式 eq-1、公式 eq-2 和公式 eq-3 结合起来,就可以得出该系统中连续图像所需的每块(y1' 或 y2')线数值:
每块行数 = (2*π*r*β/p)*n(eq-4)
计算结果已得到证实。在设置中,当ImpactControlCenter 中的 EncoderDivider = 3 和 LinesPerBlock = 20 时,生成了正确的无尽图像。测试结果如下。

图 5:正确的无边图像
如果行数每块设置过低,生成的图像会有间隙(见左下图)。如果行数每块设置过高,生成的图像就会出现重叠(见右下图)。


图 6:图像中的间隙和重叠
如果在其他应用中需要较低的每块行数(例如 16 行),则必须调整 β 和 n 以获得合适的连续图像:
β=(每块行数*p/(2*π*r))*(1/n) (公式-5) (由公式-4 得出)
由于可以使用高斯公式 β= |f'/(f'-S)| 粗略计算出 β,因此可以通过调整焦距 f' 和工作距离 S 来改变 β。
3.3. 旋转方向
在本示例中,从摄像机看到的物体是向上移动的。如果摄像头安装在滚筒的另一侧,虽然滚筒的旋转方向没有改变,但物体会向下移动。增量式编码器将继续向下计数,结果如下图所示。

图 7:拼接块的顺序不正确
图块的连接顺序显然是错误的。这可以通过镜像单个图块来纠正。
-
设置 → 基础 → 摄像机 → GenICam → ImageFormatControl → ReverseX
-
设置 → 基本 → 摄像机 → GenICam → 图像格式控制 → ReverseY
生成的图像是倒置的,与实际情况不符,这可能会给某些应用带来问题。因此,我们建议将摄像机置于物体相对于传感器向上移动的位置。

图 8:合并图块的颠倒顺序
4. 如果旋转物体停止,而图像存储器中仍有图像块,会发生什么情况?
在采集过程中,传感器会不断向 FPGA 发送图像块,FPGA 会将图像块组合成帧/图像,直到达到指定的块数。然后,完整的帧/图像将存储在驱动程序的图像存储器中。如果停止旋转,图像块将保留在 FPGA 中。如果这些块未被删除,则会继续添加新的块,直至完成帧/图像。这会导致图像由两个不同的对象组成,这是不可取的。因此,在使用新对象开始检测之前,我们的 SDK 应调用ImpactControlCenter 中的 Abort 或 imageRequestReset,以丢弃 FPGA 中不完整的帧。
如果主机没有超载,调用 Abort 需要约 200 µs 的时间。
5. 当旋转物体改变方向后又转回原来的方向时,会发生什么情况?
我们的固件支持 3 种编码器输出模式:位置向上/向下、方向向上/向下、运动。
图解如下

图 9:编码器输出模式
只要选择位置向上/向下,旋转方向一改变,图像就会停止。如果磁鼓再次朝原来的方向旋转,下一个区块将正确地附加到停止的位置。这意味着记录不受方向改变的影响。我们的测试证实了这一点。

图 10:即使改变方向也能获得正确的图像
6. BVS CA-SF2-0032ZC/G、BVS CA-SF2-0051ZC/G 和 BVS CA-SF2-0089ZC/G 的线路费率是多少?
|
BVS CA-SF2- |
0032ZC/G |
0051ZC/G |
0089ZG/C |
|
线路速率 (kHz) @ 16 行/块 (kHz) |
56,0 |
48,5 |
23,6 |
|
16 行/块的块速率(千赫)[3 |
3,5 |
3,1 |
1,5 |
|
最大曝光时间(微秒),16 行/块(千赫兹)[1][2] |
199 |
228 |
440 |
-
[1] 最大曝光时间(微秒只要 mvAcquisitionFrameRateLimitMode 设置为 mvDeviceMaxSensorThroughput,就可以观察到 16 行/块(千赫)的曝光时间(微秒)。
-
[2] 最大BVS CA-SF2-0032Z、BVS CA-SF2-0051Z 和 BVS CA-SF2-0089Z 的 tp 分别为 86.5 µs、102 µs 和 229.5 µs。
-
[3] 块速率 (kHz) @ n 行/块 (kHz) = 1s /(n 行的读出时间 + 垂直空白行的读出时间)。对于 BVS CA-SF2-0032Z、BVS CA-SF2-0051Z 和 BVS CA-SF2-0089Z,垂直空白行的读出时间分别为 190 µs、220 µs 和 509 µs。
7. 与线扫描摄像机相比,块扫描模式有何优势?
-
标准接口:USB3 Vision 和 GigE Vision,而不是 CoaXPress 和 CameraLink。
-
简化系统设置:由于摄像头也可用作区域扫描摄像头,因此更容易调整焦距以获得清晰的图像。
-
相机中的 FPGA 减少了块损耗。
-
主机负载较小:块收集在摄像头中。
-
比线扫描摄像头便宜(在相同线速下)
8. 与线扫描摄像机相比,块扫描模式有哪些缺点?
-
无端图像要求对每个新应用进行精确计算。
-
长宽比(高宽比)必须始终为 1:1,以避免产生的图像在 Y 方向上出现周期性扭曲(与线扫描相机不同,线扫描相机的长宽比可以任意调整)。
-
因此,必须针对每种应用仔细调整光学和定时。
-
最小线/块 = 16。
-
因此,块数只能是 16、20、24、28、32 等。
-
增量式编码器占用了摄像机的两条输入线。因此,不能连接其他硬件触发器(如光栅)。