BiribiriBird's Gallery.

论文笔记1 · 基于扩展扫描区域的现场表计指针识别方法

字数统计: 1.2k阅读时长: 4 min
2024/09/11
loading

论文笔记 · 基于扩展扫描区域的现场表计指针识别方法

引言

  • 通过现场图、模板图的特征匹配,求解单应矩阵
  • 将模板图中的弧线点投影到现场图中
  • 拓展现场图扫描区,扫描整条弧线
  • 找到像素累积和最大(小)值的位置,作为指针位置
  • 按照弧线比例和量程求出示数

image-20240911140006121

特征匹配

总体流程:

image-20240911155551919

  • 不使用彩色图片,只看灰度图,消除光线影响,方便找到指针

SIFT改进版本

特征匹配采用改进过的SIFT算法

参考论文:卢鹏,卢奇,邹国良,等. 基于改进SIFT的时间序列图像拼接方法研究

  • 原算法中每个像素点与周围26个像素进行比较,若本像素最大或最小,认为是一个待选极值点
    • 改进方案:与周围74个进行比较
    • 一定程度上减少极值点,减少错误的匹配,提高比较精度

image-20240911143942620

  • 原算法中采用了方形区域进行构造特征符
    • 改进算法改为圆形区域,半径选为12,采用(3,3,2,2,1,1)的环数构造
    • 直方图计算时每36度划分为同一个方向,总共10个方向

image-20240911144304046

子环区域的灰度累加值作为一维特征向量,引入特征描述符的构建,从而
减少由灰度变化引起的错误匹配

  • 将整个环作为一个大的区域R,每环产生一个正的灰度累积值一个负的 灰度累积值,分别记为HRi+,HRiH_{R_i+}, H_{R_i-}
  • 定义Gray=IRiGray = \sum I_{R_i},其中II表述灰度,RiR_i表述每一个环形区域

每个环形的直方图维度为10,添加上述3个新值,维度为13

总共6个环形,因此每个像素的描述符数量为78

参考文献:吴建,马跃. 一种改进的SIFT算法


进行初次现场图、模板图特征点的匹配工作

若现场图的第nn个特征点和模板图的第mm个特征点能够匹配,需要满足:

mindis,sub\min dis, sub分别为nn对应的最近邻点和次近邻点的距离

mindissubmindis<threshold\frac{\min dis}{sub - \min dis} < threshold

则可以匹配,否则失败

即最近邻需要足够接近,明显近于次近邻点

有足够的置信度让两个点匹配到一起,不能模糊

threshold为设定的阈值

使用KD-Tree求解


RANSAC配准

参考文献:贾雯晓,张贵仓,汪亮亮,等.基于SIFT和改进的RANSAC图像配准算法

确定一个单应矩阵需要四对配对点

因此使用RANSAC随机多次,产生多组单应矩阵

检测所有配对点,选择外点最少的单应矩阵作为最后结果



最后,我们将模板图中的刻度弧线,通过单应矩阵以点集的方式,映射到现场图中

image-20240911164533108

拓展扫描区域的现场表识别

表盘文字、刻度、标记、污垢影响很大

我们需要重点识别指针位置

我们需要求解弧线上每个点pp的切线l1l_1斜率K1K_1

因为弧线不是光滑的弧线,我们考虑通过周围的点近似求解

image-20240911164634324

连接点pp左侧第ii个点,右侧第ii个点,文中取10个点对

ii条连线的斜率如下:

ki=yi2yi1xi2xi1k_i = \frac{y_{i2}-y_{i1}}{x_{i2}-x_{i1}}

取平均值作为pp所在弧线的切线l1l_1斜率

K1=i=1kKikK_1 = \frac{\sum_{i=1}^k K_i}{k}

我们过点ppl1l_1的垂线l2l_2

image-20240911165112682

其与水平线的夹角定义为:

α={arctan(1K1),K1090 K1=00K1 is NULL\alpha = \left\{\begin{matrix} \arctan(-\frac{1}{K_1}), & K_1\neq 0\\ 90^{\circ} \ & K_1=0\\ 0^{\circ} & K_1 \text { is NULL} \end{matrix}\right.

其中近似连线中有部分斜率不存在时,我们认为K1K_1不存在

标准情况下l2l_2是最完美的指针位置

但是一般不是

所以我们需要考虑l2l_2周围的位置,进行拓展扫描

image-20240911165615743

  • pp点为旋转中心,左右各旋转4545^{\circ}

只要扇形大小选取适当的情况下,指针只要指向点pp,那么指针一定会出现在扇形内

  • 对扇形区域的像素值进行求和,指针黑色(像素值最小),指针白色(像素值最大)

  • 扫到刻度线并不会造成影响,因为一定不是像素和的最值

  • 遍历整个扇形

image-20240911165937796

假设我们总共扫描了NN个点,刻度表量程为MM,像素和最值序号出现在nn

则刻度为

y=nN×My = \frac{n}{N}\times M

CATALOG
  1. 1. 论文笔记 · 基于扩展扫描区域的现场表计指针识别方法
    1. 1.1. 引言
    2. 1.2. 特征匹配
      1. 1.2.1. SIFT改进版本
      2. 1.2.2. RANSAC配准
    3. 1.3. 拓展扫描区域的现场表识别