论文笔记 · 基于扩展扫描区域的现场表计指针识别方法
引言
- 通过现场图、模板图的特征匹配,求解单应矩阵
- 将模板图中的弧线点投影到现场图中
- 拓展现场图扫描区,扫描整条弧线
- 找到像素累积和最大(小)值的位置,作为指针位置
- 按照弧线比例和量程求出示数
特征匹配
总体流程:
- 不使用彩色图片,只看灰度图,消除光线影响,方便找到指针
SIFT改进版本
特征匹配采用改进过的SIFT算法
参考论文:卢鹏,卢奇,邹国良,等. 基于改进SIFT的时间序列图像拼接方法研究
- 原算法中每个像素点与周围26个像素进行比较,若本像素最大或最小,认为是一个待选极值点
- 改进方案:与周围74个进行比较
- 一定程度上减少极值点,减少错误的匹配,提高比较精度
- 原算法中采用了方形区域进行构造特征符
- 改进算法改为圆形区域,半径选为12,采用(3,3,2,2,1,1)的环数构造
- 直方图计算时每36度划分为同一个方向,总共10个方向
子环区域的灰度累加值作为一维特征向量,引入特征描述符的构建,从而
减少由灰度变化引起的错误匹配
- 将整个环作为一个大的区域R,每环产生一个正的灰度累积值及一个负的 灰度累积值,分别记为
- 定义,其中表述灰度,表述每一个环形区域
每个环形的直方图维度为10,添加上述3个新值,维度为13
总共6个环形,因此每个像素的描述符数量为78
参考文献:吴建,马跃. 一种改进的SIFT算法
进行初次现场图、模板图特征点的匹配工作
若现场图的第个特征点和模板图的第个特征点能够匹配,需要满足:
记分别为对应的最近邻点和次近邻点的距离
若
则可以匹配,否则失败
即最近邻需要足够接近,明显近于次近邻点
有足够的置信度让两个点匹配到一起,不能模糊
threshold为设定的阈值
使用KD-Tree求解
RANSAC配准
确定一个单应矩阵需要四对配对点
因此使用RANSAC随机多次,产生多组单应矩阵
检测所有配对点,选择外点最少的单应矩阵作为最后结果
最后,我们将模板图中的刻度弧线,通过单应矩阵以点集的方式,映射到现场图中
拓展扫描区域的现场表识别
表盘文字、刻度、标记、污垢影响很大
我们需要重点识别指针位置
我们需要求解弧线上每个点的切线斜率
因为弧线不是光滑的弧线,我们考虑通过周围的点近似求解
连接点左侧第个点,右侧第个点,文中取10个点对
第条连线的斜率如下:
取平均值作为所在弧线的切线斜率
我们过点作的垂线
其与水平线的夹角定义为:
其中近似连线中有部分斜率不存在时,我们认为不存在
标准情况下是最完美的指针位置
但是一般不是
所以我们需要考虑周围的位置,进行拓展扫描
- 以点为旋转中心,左右各旋转
只要扇形大小选取适当的情况下,指针只要指向点,那么指针一定会出现在扇形内
-
对扇形区域的像素值进行求和,指针黑色(像素值最小),指针白色(像素值最大)
-
扫到刻度线并不会造成影响,因为一定不是像素和的最值
-
遍历整个扇形
假设我们总共扫描了个点,刻度表量程为,像素和最值序号出现在
则刻度为