基于机器视觉的嵌入式智能喷水感应系统设计_第1页
基于机器视觉的嵌入式智能喷水感应系统设计_第2页
基于机器视觉的嵌入式智能喷水感应系统设计_第3页
基于机器视觉的嵌入式智能喷水感应系统设计_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于机器视觉的嵌入式智能喷水感应系统设计摘要:该文主要阐述了基于机器视觉的嵌入式智能喷水感应统设计方法,包括硬件构成和软件算法,利用树莓派和python 的组合,实现通过视觉识别的水流检测。该文简明阐述了系统的外观结构,详细介绍了图像处理中的各个环节。文章最 后作了数据分析,验证了该系统符合设计要求。关键词:图像处理;水流检测边缘检测系统设计分析水流是充满变化的,不稳定的水的运动状态,水从一定的 方向自由射出,受环境影响,往往具有不确定性。通过对不确 定的运动进行视觉识别,有助于深入理解图像识别的过程,由 此可以推广其在生产生活中的应用。本文主要介绍针对固定口喷射水流的识别系统设计,详细 介绍

2、了水流从产生到识别的每个过程。本系统通过树莓派进 行图像捕捉和识别,实现对水流的检测,并将数据存储下来,通 过局域网的方式传输至电脑,方便比对、统计、分析。1识别系统的结构设计识别系统基本包括水流发生装置,识别装置和支撑结构, 具体结构如下示意图(图1)。其中,图中指示灯亮表示识别到水流,灭表示未识别到 水流。图1装置结构示意图根据满足功能,简洁节约的原则,水流由人力控制水枪产生,水枪支架为绘制定做的亚克力板,平台支架由轻木板和短 木柱构成,摄像头和水流的隔离用全透明鱼缸代替,鱼缸亦可 以存放射出的水流,保持实验过程中模拟环境的整洁。其中, 水流的喷射结果尽量和鱼缸轮廓平行,旦位居摄像头视野中

3、 间,摄像头的视场也尽量和鱼缸轮廓平行,方便图像的后期 处理。2识别系统的算法设计树莓派的处理速度相较于普通常见的ARM开发设备,运 行速度快,同时有着结构精简,应用范围广,网络连接方便的特 点。因此在均衡算法的执行效率和代码复杂度后,本系统采用 了 Python语言。Python语言具有扩展功能强大,完成同样内容 代码量低等诸多优秀特点,非常适合本项目的开发需求,在实 际的开发过程中也实质上解决了程序设计中核心代码难于编 写的问题。2.1图像的获取主要利用opencv关于python的组件,通过python调用 opencv的图像处理指令实现图像的获取。图像由树莓派所连接的摄像头,通过连续拍

4、摄的方式得 到,从而不断获取动态水流的图像信息。文件通过逐帧读取的 方法获得实时拍摄的图像,即识别所需要的水流图形,如图2 所示。算法中,利用python函数capture.read()读取图像信 息,并取图片中心的120 x160个像素,以PNG文件格式保存 下来。图2水流连续帧选样2.2图像的预处理2.2.1灰度化根据图2所示,水流的图形状态相较于周边背景的主要不 同点在于,水流由于光的折射和反射,产生了明度的变化,在图 像的颜色上,主要表现为水流处比背景更偏向于白色。因此可 以得出一个初步的结论,图像的颜色对于水流来讲是弱相关 的,这一结论决定了下面的处理操作。为了减少处理的时间, 根据

5、颜色弱相关的结论,对图像进行灰度化(图3),程序中利用 语句 gray = cv.cvtColor( roi, cv.COLOR_BGR2GRAY)来实现灰度化的功能。此处的灰度化为平均权重,即:R + G + BI =3实现灰度化的功能。此处的灰度化为平均权重,即:R + G + BI =原来由RGB三种颜色存储的图像,统一采用灰度值存储, 对于以后的处理而言,实质减少了所需处理的数据量。具体图 片如图3所示。图3灰度化后的图像2.3水流识别为了得到较好的水流识别效果,使得处理机构能够准确地 在由水流时判断出水流直线,在没有水流时,不作正判响应,识 别系统针对2.2中灰度图进行了进一步的处理

6、。算法在设计 时,首先使用2.2中灰度化后的图像先后做降噪和轮廓提取,然 后再进行直线拟合,判断水流的存在。2.3.1降噪与轮廓提取对于运动目标的轮廓获取,首先需要对相邻的两帧图像求 差分,即帧间差分法,从而得到在相邻帧的时间内,目标运动的 变化状态。同时,两帧作差可以大范围地消除背景静噪声带来 的处理干扰,背景噪声对于运动物体的轮廓干扰往往是致命 的。对于本设计而言,即要获取运动的水流在两帧之间的位移 变化。与一般的刚体运动物体不同,水流在自由运动时会改变 相对结构状态,但是其外部轮廓由于张力大致不变,适用于帧 间差分法。将图3中的图片与各自前帧作差,利用python函数delta = cv

7、.subtract(gray, last_frame),得到下面的图4。从直观的角度上看,相较于图3,图4显 得更加暗,但是非常明显地可以看出背景静噪声被大幅削减, 可以预判这对后续的操作产生了有利影响。图4帧间差分后的图像上文所提及的水流在运动中会产生形态的变化,这一变化 可能会带来边缘的不确定性,因此对已经作差的图片采取小半 径的高斯模糊。pyhton函数为:blur = cv.GaussianBlur( delta, (3, 3), 0)在本设计中,高斯核在X, Y方向上的取值均为3,避免由于 形态变化以及未能在差分中去除的背景噪声对于轮廓提取的 影响,同时尽量保存图片信息,减少由于模糊

8、带来的图像信息 失真。处理后的图像如图5所示。图5高斯模糊后的图像对于图5的调整的后的图像,采用canny算子得到轮廓,程 序中,直接调用函数,即,binary = cv.Canny(blur, 4, 20)经过处理后如图6所示。图6经canny算子处理后的图像轮廓2.3.2针对降噪的必要性分析经过处理后如图6所示。图6经canny算子处理后的图像轮廓由2.2.1,本系统在抓取水流的轮廓前,做了两步降噪操作, 并旦从处理后得到的轮廓来看,当前数据的轮廓清晰简洁,水 流线周围噪声在可接受的范围内,背景底噪基本被去除。为了 进一步证明降噪的必要性,在得出轮廓后,添加了对比实验,两 组对照组分别为完

9、全不降噪直接取轮廓和仅作差分后再提取 轮廓,具体对比如表1所示。表1降噪效果对照表由表得出,每一步的降噪对最终轮廓的获取都有较大的影 响,每一步的降噪操作都是必要的。两步降噪最终实现了对特 定的水流轮廓的提取,为后续的直线拟合打下了良好的基础。2.3.3直线拟合经过上面各个步骤的处理,水流的轮廓已经被提取出来, 图像的信息也被压缩成了二值化之后的结果,此时采用霍夫变 换,得到图像中主直线的斜率,并在图像中绘制出来,如图7所 示,每一张图都有自己的主直线,该直线即可以大致表示成水 流在图像中的方向。图7拟合后的直线绘制根据系统的结构设计,要求摄像头视场和水流方向均与鱼 缸轮廓大致平行,由此排除直

10、线斜率偏差过大的情况。在实验 中,为了方便数据的记录和传输,将正负斜率统一取绝对值计 算,将纠正后的斜率转化为倾斜角显示,并256等分,记0-255, 为了区别斜率避免误解,此处将修正后的斜率结果称为斜率 值。斜率值只能取0-255这256个整数。其中,0表示和X轴平 行,255表示和X轴垂直,1-254分别对应其中的等分(图8)。 由于实验模拟环境的干扰,以及摄像头视场并不能完全正好与 水流平行,系统把大于200的斜率值都记为识别成功结果,即 识别为水流,把不大于200的斜率值记为识别失败,即没有识 别到水流。图8斜率值的分布2.4结果呈现根据直线拟合的结果,系统在得到识别成功的结果后,指

11、示灯点亮,表示识别出该摄像头上方有水流经过,否则指示灯 为熄灭状态。3识别结果分析3.1识别结果和原数据的比对为了验证识别结果的准确性,把图7中的直线拟合结果代 入原图中,得到图9。根据图片的显示,直线拟合的结果和水流 的运动方向大致吻合得到的拟合结果,大致满足系统的设计 需要。3.2系统功能的达标性检测验证本项目系统的达标性,是评判一个系统是否满足了设 计之初要求的必要的论证过程,帮助寻找系统中存在的漏洞和 不足之处,具有科研的严谨性。项目正样本负样本总计检出TP漏检FP忽略TN虚警FN数2样本数量统计根据表2,借用机器学习的概念,计算统计结果的识别率 指标:准确率:精确率:TP + TNTP + FP + TN + FN=92.89%TPTP + FP=89.88%召回率:TPTP + FN=100%由此根据F-measure法,计算F1的值:F1 = -2P = 95.23%P + R由F1的值得出解论,本系统的设计结果大致满足了设计要求,能够良好地完成识别判断任务。4总结图9直线拟合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论