二维阵列

本节内容包含:

模块原理

二维阵列定位的目标需满足行列垂直和水平分布的特点。二维阵列示意图如下图所示,红色box代表缺失的目标,需通过二维阵列模块进行修正。

图 1 二维阵列示意图

二维阵列模块运行原理如下:

  1. 将水平分布的目标中心点拟合成直线。

    拟合直线的最大条数即设置的阵列行数,每一条直线拟合时要求box中心点数至少是设定阵列列数的0.5倍。

  2. 将垂直分布的目标中心点按照相同逻辑拟合成直线。

    拟合直线的最大条数即设置的阵列列数,每一条直线拟合时要求box中心点数至少是设定阵列行数的0.5倍。

  3. 拟合得到水平和垂直直线后,拟合得到上图中的水平直线(绿色)和垂直直线(蓝色)。计算两两相交的交点,即为修正后的目标中心。原目标尺寸保持不变。

  4. 获得修正后的目标中心后,同步计算每一行的最小包围box。

使用方法

二维阵列工具可对二维阵列的初定位结果进行修改,包括补齐漏定位以及误定位。同时,还可计算阵列中的行最小包围box(即同一行的box整合后的box)。如下图,已知我们检测的对象的分布大致为阵列的形式,在第1行第3列的对象、第2行第1列,由于该对象与模板存在差异,导致匹配缺失,但我们仍要输出对应的Box区域,可以使用该模块进行补齐。

图 2 二维阵列示意图

该模块一般与模块匹配、目标检测等模块配合使用进行阵列化补齐。针对模块匹配的缺失情况,通过运行参数可设置二维阵列的阵列行数和阵列列数,补齐效果如下图所示。

图 3 二维阵列执行结果

参数配置

以下仅介绍该模块的运行参数详情。通过配置运行参数,可定义当前模块如何处理输入的数据。

说明:
阵列行数

二维阵列的行数,即拟合水平直线的最大条数。

阵列列数

二维阵列的列数,即拟合垂直直线的最大条数。

模块结果

该模块的模块结果介绍请见二维阵列