论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf

所需积分/C币:10 2019-08-16 09:13:58 567KB .PDF
收藏 收藏
举报

嵌入式环境指针式仪表快速识别算法研究,曲仁军,徐珍珍,论文在对已有的各种使用图像处理手段进行仪表指针识别方案进行研究的基础上,根据工控环境中指针式仪表所具有特点,设计了基于多
国科技论文在线 http:/www.paper.edu.cn 预处理 快速环提取 指针图像提取 角度变换 图1-3指针识别算法框架流程图 701.3图像预处理 图像预处理过程包括以下3个步骤 1.将RGB图像转换为妖度图;因为根据仪表特征(2)、(3)可知,使用图像中的亮度信 息足够将感兴趣的区域,即指针部分,从图像中剥离出米。 2.计算出当前图像中灰度值均值,并保存;因为不同时间段的光照强度不同,在某些 75时刻可能突然发生光强变化,保存下的历史灰度均值可用于增强算法的鲁棒性 3.根据近几次灰度均值,选择一个阈值,对当前图像进行二值化;通过二值化使指针、 外围圆环与图像其它部分的差距变得更大,使后续处理更加容易 1.4快速圆环查询 预处理之后,圆环外部图像中依然包含很多无用的干扰信息。快速圆环查询就是为了将 80真正有效的图像部分-仪表内部图像,从原图像屮剥离出来。此步骤不仅为后续的过程降低 了要处理的数据量、去除了很多干扰信息,)且识别出的圆环半径可用于佔算摄像头与仪表 的距离,从而判断指针在图像中的长度和宽度,即指针部分占有的像素个数,增加了指针识 别的成功率。 当图像中存在属于某个圆环的特征点时,标准霍夫变换可以使用这些特征点的坐标来得 85到此圆环的圆心和半径。以点(a,b)为圆心、以R为半径的圆可以用公式1-1来描述(称此 圆为圆1) a+rcos(e) v=b+rsin(e 公式1-1 0是圆1的圆心角,(xy)是在圆1上特征点的坐标。如果将(xy)视为圆心,那么(ab) 90将处在以(xy)为圆心、R为半径的圆上。假设圆1共有N个特征点,那么(a.b)将是以 这个N个特征点为圆心、R为半径的N个圆的交点上。如图1-4所示 国科技论文在线 http:/www.paper.edu.cn 图14霍夫圆变换原理示意图 使用标准霍大圆变换从宽度为M、长度为N的二值图中查找圆形的具体过程是:(1)准 各两个与图像维度相同的矩阵,第一个矩阵(矩阵A)用于保存图像数据,第二个矩阵(矩 阵B)元素的值全为零;(2)以矩阵A中每一个非零点为圆心绘制半径从1到Rmax的圆形, Rmax等于图像对角线长度;(3)假设(2)步绘制的圆经过了(x0,y0)点,将矩阵B中(x0,y0) 点的值加一;(4)使用阙值法在矩阵B中筛选可能的圆心坐标;(5)使用(4)步中找到的圆 100心坐标在矩阵A中绘制半径从1到Rm的圆;(6)统计(5)绘制的圆被特征点覆盖的角度 范围,然后使用阈值法选定圆形。 上述方案算法时间复杂度是O(N*Rnax),N是特征点的个数。空间复杂度是 O(M米N*2),M和N是图像的宽度和长度。在特征点个数很多并且图像维度很大时,上述算 法的运算耗时及占用内存在嵌入式环境中都是无法容忍的 105 论文使用的圆环提取方案是标准霍夫圆变换的一种改进方案,其核心思想同标准霍夫圆 变换相同,也是将特征识别问题转化为适合计算机解决的累加值提取问题。图1-5是论文使 用的快速提取圆环方案的流稈图 1:4比例下抽样 边沿梯度法查找 可能圆心 使用可能圆心在 原图中绘制圆心 查找可能园弧 图1-5快速圆环识别算法流程图 l10 1.1:4比例下抽样步骤的日的是进一步减少计算量,其详细过程是:(1)准备两个矩阵, 第一个矩阵维度与预处理之后的二值化图像维度相同,另一个矩阵的宽度和长度分布是二值 化图像的一半。第一个矩阵(矩阵Δ)用」存储二值化图像,另一个矩阵(矩阵B)元素的 值都为零。(2)将矩阵A分为很多2*2的小块,并将A中的个2*2的小块与矩阵B中的 5个元素对应起来。如果A中的某个小块中有个以上的非零点则将矩阵B中对应元素的 4 山国科技论文在线 http:/www.paper.edu.cn 值置为1。对每个2*2小块都处理完毕后,低分辨的二值化图片就生成完毕。这种下抽样 方法可称为OR法,因为亡的运算规则和逻辑或运算的运算规则相同。此方法可保证髙分辨 率图屮特征点的连接性在低分率图屮都没有遭到破坏,所以快速圆环识别的后续步骤可在低 分辨率图中进行。 120 2.边沿梯度圆心查找法的原理是:对每一个圆周上的点的切线做垂线,这些垂线都会 相交于一点,这个点就是圆心,这些垂线也是这些点的梯度线。如图1-6所示: 垂线2 垂线3 垂线4 图1-6边沿梯度圆心査找法原理示意图 125 此步骤的具体过程是:(1)用Cany边沿算法查找到矩阵B中所有边沿点并保存到矩阵 ¢中。(2)使用 Sobel梯度算了计算矩阵C中非零点在Ⅹ方向上和Y方向上的梯度值,将结 果分别保存到矩阵D和E中。(3)准备一个与矩阵B维度相同的纯零矩阵F。(4)对矩阵C 屮每一个的非零点,根据其在矩阵D和E屮梯度值计算其二维梯度角并根据此角绘制梯度 线。绘制的梯度线的长度由算法使用者设定。(5)假设绘制的梯度线经过点(x2y),将矩阵F 130中(xy)点的值加一。(6)在对C中所有的非零点都处理完毕之后使用阈值法从矩阵F中选 出所有可能的圆心巫标。 3.对矩阵F中选出的每个圆心坐标,按照其在F矩阵中的值(成为圆心的概率值)由大 到小的顺序在原图中绘制半径1到R的圆形。统计每个绘制圆形被特祉点覆盖的角度范 围,然后使用阈值法选定陨形。算法使用者可通过设定要査找的圆环个数、圆心之间的距离 135圆坏半径的可能范围使得算法快速执行完毕。当特征点过多并且图像的宽度和长度很大时, 此方法的圆环查找速度比标准霍大圆变换要高很多。 找到仪表外圆环后,可以用查找到的圆为蒙版,提取出仪表内部图像,如图1-7所示: 新兰石机电没备有 图1-7提取的仪表内部图像示例 140 1.5快速直线提取 在仪表内部图像屮,指针是最长、最明显的一条直线。使用直线提取算法找到仪表内部 图像屮最长、最粗的直线,便可将指针从剩余图像屮剥离出来。霍夫直线交换是从二值化图 像中提取直线的经典算法,其核心思想同霍夫圆变换相同,也是首先进行变量空间到参数空 山国科技论文在线 http:/www.paper.edu.cn 145间的转换,再利用阈值法从参数空间的累加数据查找到符合要求的直线参数,详细过程请参 考。此算法精度髙、误差率低,不过也拥有同标准霍夫圆变换相同的缺点:时空复杂度过 在标准霍大直线变换的基础上进行少诈改进便可以使算法运行速度加快很多,论文屮使 用的改进方案有 1.减少迭代过程中乘法运算次数。在标准霍夫直线变换中,直线使用极坐标表示,如 图1-8所示。在运算过程中要对每个非零点进行角度θ的迭代而算出由某个非零点所确定的 (p,0)直线参数对。在每次迭代过程中,使用点的坐标和θ的数值按照直线的板坐标表示公 式讣算出ρ要进行2次乘法运算和1次加法运算。若共有M个非零点、N个θ值要迭代, 那么完成次霍大直线变换需要进行M*N*次乘法运算和MN次加法运算 p x cos 0+y sinB=p 图1-8直线的极坐标表示 假设有一非零点Ⅹ到原点的距离为R。那么过此点的直线到原点的距离为p=R* 160cos(b)。其中角b是自原点至此直线的垂线与线段XO的夹角。角a、b弧度值之和便是此直 线的0角的弧度值。角a是线段XO与Ⅹ轴的火角。如图1-9所示。因为对于一个非零点, 角a和R是已知的,完成一次霍夫变换其实要进行M*N次乘法运算 图1-9霍夫变换迭代方案2示意图 165 论文使用迭代方案是:(1)针对每个非零点X,算出线段XO的长度R和XO与X轴的 角度值a;(2)对角度b进行迭代,使用式p=R*cos(b)计算出p,使用式0=a+b计 算出0角。剩余过程同标准霍大交换相同 2.采用多分辨率策略减少整体计算量。标准霍夫直线变换算法需要使用者提供2个参 170数:ρ和θ的分辨率。这两个参数会决定算法的迭代次数,从而决定运算时间。论文使用 多分辨率方案降低运算时间:(1)将算法使用者输入的分辨率降低5倍(如果用户要求θ和 p的分辨率分别是0.1和1,那么降低之后的分辨率分别是0.5和5)。(2)使用低分辨率运 行迭代算法,在结果矩阵中使用阈值法查找出符合要求的参数对。(3)假设找到一对参数对 (p0,0),对此参数对迭代5个角度值:θ-2*θ,日o-6,,0+),(0+20。(4)使用阈值 175法对二次逖代的结果进行选取。此时输出的p和θ能要达到输入的分辨率,并且总体运算 时问也降低。为了防止圆环内部的干扰因素对直线的提取造成影响,可以使用图像细化算法 国科技论文在线 http:/www.paper.edu.cn 对图像进行预处理,这样可提高直线提取的精度,但会增加计算时间。 16直线角度与旋转角度的转换 快速直线提取步骤可以得到仪表指针所在直线的角度,但此角度并不是指针旋转角度。 180因为指针的数学模型不是直线,而是向量,其旋转角度范围是-Pi~Pi,直线的角度范围是 Pi2~Pi/2。每个指针的旋转角度与读数是一一对应的,所以,得到指针的旋转角度是论 文指针识别算法的最后一步。 论文采用的角度转换方案是:(1)将快速直线提取步骤中找到的直线(直线a)延长,使 其与快速圆环提取步骤中找到的圆环(圆H)相交,交点介别为点A和点B,其中A点是左 185边点:(2)从圆H的圆心做直线A的垂线(直线b),直线b与直线a相交与点X;(3)统 计线段AX、BⅩ所含特征点的个数;(4)对两段特征点计数值进行比较,根据比较结果便可 知道指针的旋转角度与直线a角度的关系。如图1-10、图1-11以及图1-12所示 190 图1-10圆H 图1-11直线a 图1-12线段统计法示意图 2指针识别系统 19521硬件部分 根据所提算法以及以往的研究成果9提出了下文所示的指针识别系统。识别系统的 硬件部分组成如图2-1所示: 结果展示模块 图像分析模块 图像获取模块 图2-1指什识别系统硬什部分框图 200 图像获取模块负责摄取仪表图像。可以用多种总线接口的模拟或者数字摄像头实现。论 文采USB接口的模拟摄像头来实现此模块 图像分析模块负责运行识別算法对图像获取模坎传冋的图像进行分析,当传冋的图像信 7 国科技论文在线 http:/www.paper.edu.cn 号是模拟信号时,此模块还负责模/数变换。论文采用以ARM架构MCU为核心的嵌入式系 205统κ实现此模块。此模块与图像获取模垬有一对应的关系,一个图像分析模块负责处理- 个图像获取模块传回的图像数据。 结果展示模块负责实时展示分析模块的结果、保存历史分析结果以及在仪表读数异常时 通过短信等于段进行报警。论文采用运行在电脑系统中的网站实现此模坎,图像分析模块可 通过以太网将分析结果传送给结果展示模块。结果展示模块和图像分析模块之间是多对多的 210关系。一个结果展示模块π同时展示多个图像分析模块的结果,而一个图像分析结果模块的 结果也可同时由多个结果展示模块进行展示。 22软件部分 2.2.1图像分析模块 在图像分析模块中共有三个程序运行。 215 1.格式转换程序。负责与"图像获取模块”通信并对传回的图像信号进行颜色空间的转 换。因为PAL制式的模拟摄像头传回图像是YUV色彩格式的,而后续处理需要的是灰度图。 图2-2是此程序的执行流程图 开始 等待图像获取模块传回 的图像信号 是否接收完 毕一副图像? 是 对传回的Y格式的图 像信号进行格式转换 只保留图像的灰度信息 将转换后的灰度图像写 入到以如下格式命名的 文件中: 当前时间> image.img 图2-2格式转换程序流程图 220 2.图像分析程序。负责完成"图像分析模块"的核心功能,既指针识別。采用双线程运 行方式,线稈二负责运行识别算法,线程一负责与图像格式转换程序通信、启动线程二并将 图像数据提供给线稈二、监搾线稈二的运行以及输出分析结果。当反光过强时,识别算法的 圆环提取步骤会因无法收敛而耗费很长时间,此时线程一会终止线程二的运行并输出"比次 225分析失败”。图2-3是此程序的执行流程图,由于线程二的执行流程是使用识别算法分析图 8 国科技论文在线 http:/www.paper.edu.cn 像,除此之外无其他逻辑,故图2-3中只展示了线程的执行流程。 开始 测格式转换程 是香生成了新 的输出文件 将格式转换程序的输出文件 按照创建时间排序,而将最 新创建的文件复制一份,其 余文件删除。 启动以设定好的参数启 动线程二 睡眠5秒钟 查看线程二是 否已经执行完 毕? 终止线程二的运行,并 将分析结果置为”分析 提取分析结果 失败 将分析结果写入以下格 式的文件中: <当前时间> result. txt 图2-3图像分析程序线程一执行流程 230 3.服务器程序。负责与结果展示模块通信。采用双线程运行方式,线程负责在接收 到结果展示模块请求时,将最新分析结果传送给结果展示模块,线程二负责周期性提取图像 分析程序的分析结果。因为嵌入式系统的资源有限,图像分析模块屮只会保存最新的分析结 果。图2-4是服务器程序的执行流程图。 国科技论文在线 http:/www.paper.edu.cn 开始 线程 线程二 开始 等待结果展示模 块的数据请求 图像分析程序 有新的输出文 件产生吗? 有请求到 将图像分析程序的输出文 ? 件按创建时阃排序,将最 新创建的文件内容提取出 来,并删除这些文件 将分析结果 传送给结果 展示模块 睡眠5s钟 235 图2-4服务器程序执行流程图 222结果展示模块 结果展示模块由运行于PC或服务器中的网站系统实现。此网站应具有以下功能: (1)选择要通信的图像分析模块。 240 (2)冋时与多个图像分析模块进行通信,将每个分析模块的最新分析结果展小给用户 (3)为每个通信的图像分析模块创建一个记录分析结果的数据库表并休存分析结果。 (4)提供多种展示、分析、操作某个图像分析模块历史分析数据的功能。 (5)针对某个图像分析模块的分析结果进行门限报警 3算法运行测试 245 论文工作中将指针识别系统部岧到两个模拟工控环境中进行算法测试。模拟环境1中使 用如图1-1(仪表A)所示仪表,仪表A的角度变化率是|分钟一度,仪表A放置丁露犬坏 境中。模拟环境2使用图1-2(仪衣B)所示仪衣,仪衣B的角度变化率是半小吋付度,仪 衣B放置于室内环境中。 论文匚作中采用USB接∏的PAL制式模拟摄像头来实现识别系统中的图像欤取模块, 250获取到的仪表图像分辨率是640*480;采用 friendIvarm公司的tiny6410,一款以 ARMIl 芯片(三星S3C6410)为核心处理器的嵌入式系统,具有800M主频和128M的内存,来实 现图像分析模块;采用基于Apache2.HTTP服务器的网站系统来实现结果展示模块。 指针识别系统每天从上午8点运行至下午6点,指针识别算法十分钟运行一次。表3-1 和表3-2分别是系统在室内(仪表A)和室外(仪表B)两个工控环境5天的运行数据统计 260 -10

...展开详情
试读 12P 论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    • 至尊王者

      成功上传501个资源即可获取
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf 10积分/C币 立即下载
    1/12
    论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf第1页
    论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf第2页
    论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf第3页
    论文研究-嵌入式环境指针式仪表快速识别算法研究 .pdf第4页

    试读已结束,剩余8页未读...

    10积分/C币 立即下载 >