机器视觉实验报告.docx
- 文档编号:29268818
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:21
- 大小:4.09MB
机器视觉实验报告.docx
《机器视觉实验报告.docx》由会员分享,可在线阅读,更多相关《机器视觉实验报告.docx(21页珍藏版)》请在冰豆网上搜索。
机器视觉实验报告
研究生课程论文
机器视觉应用实验报告
提交日期:
学号
学院
机械与汽车工程学院
课程编号
课程名称
机器视觉应用
学位类别
工程硕士
任课教师
教师评语:
成绩评定:
分任课教师签名:
年月日
《机器视觉应用实验报告》
姓名
学号
院系
专业仪器仪表工程
指导教师
华南理工大学实验报告
课程名称:
机器视觉应用
机械与汽车工程学院系仪器仪表工程专业姓名廖帆
实验名称机器视觉应用实验日期
指导老师
一、实验目的
自行搭建机器视觉测量系统,采集标定板、工件图像,利用图像处理软件进行标定、工件尺寸测量、工件缺陷检测。
主要目的有:
1、根据被测工件,搭建机器视觉测量系统,选择成像系统软件,进行图像采集等实验。
掌握常规机器视觉测量原理、实验平台搭建、图像采集步骤;
2、掌握成像系统软件常用操作,能够对图像进行简单处理,并编写简单相关程序尺寸测量、缺陷检测判定;
3、对测量结果进行误差分析,进一步加深理解机器视觉测量过程中的关键因素。
二、实验原理
机器视觉主要是利用机器实现代替人眼来做测量和判断等目的,因此机器视觉可以看作是使用计算机及相关设备对生物视觉的一种模拟。
该实验就是通过对选取的工件进行图像采集和图像分析处理以获得所需物体的尺寸、缺陷等信息,一个典型的机器视觉系统包括:
相机(包括COMS相机和CCD相机)、光源、镜头、图像获取单元(图像采集卡等)、显示器、图像处理软件、通讯设备、输入输出单元等。
本次实验借助HALCON机器视觉软件,它是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境,在欧洲以及日本的工业界已经是公认具有最佳效能的MachineVision软件。
它源自学术界,是一套图像处理库,由一千多个各自独立的函数,以及底层的数据管理核心构成。
其中包含了各类滤波、色彩分析以及几何、数学变换、形态学计算分析、校正、分类、辨识、形状搜索等等基本的几何以及图像计算功能。
HALCON支持Windows,Linux和MacOSX操作环境,函数库可以用C,C++,C#,VisualBasic和Delphi等多种普通编程语言开发,为工业检测上提供了高速、高精度、强有力的方法。
本实验包括对被测工件进行圆孔中心尺寸测量、工件螺母焊接位置缺陷检测。
本次实验基于HALCON平台,工件圆孔中心尺寸测量涉及ROI、特征提取(圆)、外接圆形算法,在传统边缘检测方法里,基于一阶导数的边缘检测算子有Robert算子、Sobel算子、Prewitt算子、canny算子等;工件螺母焊接正反位置缺陷检测涉及阈值处理、特征提取。
三、实验器材
光源:
背光源,面光源
硬件:
MER-500-7UM相机、相机架、标定板(48×48mm)、计算机,焦距12mm、最大光圈1.4的镜头一个
软件:
DahengMER-SeriesViewer(x64)驱动、HALCON
工件:
OK件、缺陷件
地点:
暗室
四、实验内容
1.实验内容:
(1)根据所检测的内容分析所需的光源;
(2)根据工件尺寸、光源等搭建视觉系统平台
(3)标定板制作;
(4)采集标定板和工件图像;
(5)本次实验利用HALCON软件进行相机标定;
(6)利用HALCON软件对工件进行缺陷判定,并测量中心圆孔的尺寸
2.待测对象描述:
本实验的试验工件为冲压件,缺陷检测为工件的螺母是否焊反,即参照OK件检测工件的螺母位置是否焊反。
工件如图所示:
图4.1
3、初步拟定方案
通过阅读图像,可知道,若是OK件,从指定面可观察到两个焊接的螺母,若是缺陷件,即螺母焊反的工件,在指定面观察的话没有焊接螺母,因此拟采用阈值法对所采集到的图像进行处理。
至于中心圆孔的尺寸测量可以将工件放置在背光源之上,背面打光即可获得质量较好的图像。
五、实验步骤
1.相机选择:
工件尺寸为80mm*116mm,要求最小误差为0.5mm,现在假设将最小的理论像素值定为0.05mm,计算相机分辨率的公式为:
所以相机分辨率要大于1600*2320。
大恒MER-500-7UM相机分辨率为1944*2592,所以该相机可以满足要求。
2.镜头选择:
拍摄最小工作距离定为80mm,CMOS传感器尺寸为2.9mm*2.9mm*2.9mm。
所以焦距大于4.87即可,而我所采用的镜头焦距为12mm,因此镜头满足要求。
3.根据现场环境及工件尺寸大小,选择合适的机架安放地点和支架的高度。
4.利用扳手等工具,将三脚架、相机和镜头组装好。
其中尽量保持相机——镜头的中心线与测量平面(底面)垂直;
5.启动计算机,打开大恒图像采集软件。
通过USB线将相机与计算机连接。
6.在测量平面上放置白色背景(白纸),将标定板放在白色背景上,调整标定板的位置,使得标定板完全落在相机视场内部,转动相机的对焦环,使图像清晰,可局部放大观察对焦是否满足要求。
在图像采集软件的界面中操作,保存所得图像到计算机中。
7.改变标定板的位置,重复步骤4,直至完成16次标定板图像采集工作,采集得到标定板图像如图5.1所示。
图5.1
8.保持相机物距不变,放置好待测工件,打开背光源,得到工件图像。
实验装置如图5.2所示
图5.2
9.利用HALCON软件编写工件的冲压件圆孔检测流程如图5.3所示。
图5.3
10.重新搭建实验平台进行工件缺陷检测,搭建试验平台如图5.4所示。
图5.4
11在搭建好实验平台之后,先采集OK件的图像,作为匹配标准,之后采集缺陷件的图像。
12利用HALCON软件编写工件冲压件的缺陷检测流程如图5.5所示。
图5.5
13整理实验器材
六、数据记录
1.标定板制作(30*30mm)
1)打开HALCON软件,输入gen_caltab(),填入对应参数。
2)将生成的.ps文件转换成为pdf格式,并彩印出。
3)将彩印出的标定纸粘贴至一定厚度的平板上固定,制成标定板。
2.摄像机标定
利用拍摄到的标定板图像进行标定。
1)打开HALCON软件;
2)点击“助手”—“打开新的Calibration”创建新的Calibration,加载描述文件(注意文件路径不含中文字符),设置标定板厚度是2.46mm,单个像元的宽和高都是2.2um,焦距12um,如图6.2.1所示;
图6.2.1
图6.2.2
3)加载标定板图像,如图6.2.2所示,(注意文件路径不能够包含中文字符,默认为软件图片所在文件夹)只要“状态”中没有出现“错误”字样,说明该标定板图片可以使用。
如果出现了“错误”提示,将对应的图片移除即可;
4)点击“标定”,得到对应相机的内外参数,如图6.2.3所示;
图6.2.3
5)点击图6.2.3中的“代码生成”,并插入代码。
3.圆孔尺寸测量
1)加载工件标准工件原始图像,将图像直接拖入HELCON图形窗口。
2)进行亚像素边缘提取,结果如图6.3.1所示。
edges_sub_pix(Image00,Edges,'canny',1,20,40)
3)对获得图像进行轮廓连接处理,结果如图6.3.2所示。
union_adjacent_contours_xld(Edges,UnionContours,10,1,'attr_keep')
4)选取需要的圆孔轮廓,结果如图6.3.3所示。
sort_contours_xld(UnionContours,SortedContours,'upper_left','true','row')
select_obj(SortedContours,ObjectSelected,3)
5)求取轮廓的最小闭合圆。
smallest_circle_xld(ObjectSelected,Row,Column,Radius)
6)将相机坐标系转换为世界坐标系,获取圆心等参数的世界坐标系坐标,结果如图6.3.4所示。
对应算子为:
contour_to_world_plane_xld(ObjectSelected,ContoursTrans,CameraParameters,CameraPose,'mm')
图6.3.1
图6.3.2
图6.3.3
图6.3.4
4.冲压件螺母焊接正反的判断
1)加载工件原始图像,将图像直接拖入HELCON图形窗口。
2)提取感兴趣区域ROI,点击“编辑ROI:
ROI”
—“绘制感兴趣区域”
—“插入代码”
,如图6.4.1所示。
对应算子为:
gen_circle(ROI_0,312.7,364.643,200.81)
gen_circle(ROI_0,312.7,364.643,200.81)
gen_circle(TMP_Region,1236.1,2257.21,180.291)
union2(ROI_0,TMP_Region,ROI_0)
reduce_domain(Image1,ROI_0,ImageReduced)
3)对ROI图像进行阈值处理,结果如图6.4.2所示。
对应算子为:
threshold(ImageReduced,Regions,53,237)
4)对上述的结果滤除其它噪声。
对应算子为:
dilation_circle(Regions,RegionDilation,3.5)
connection(RegionDilation,ConnectedRegions)
select_shape(ConnectedRegions,SelectedRegions,'area','and',8000,99999)
5)统计当前图像中获得的螺母数,作为后续判断的依据。
对应算子为:
count_obj(SelectedRegions,Number)
6)对结果进行匹配判断,并显示结果。
结果如图6.4.3所示。
6.4.3a)是螺母没有焊反的判断结果,6.4.3b)是螺母焊反的判断结果。
对应算子为:
dev_clear_window()
dev_display(Image1)
wait_seconds
(1)
dev_display(SelectedRegions)
if(Number=2)
disp_message(WindowHandle,'螺母没有焊反','window',10,10,'black','true')
else
disp_message(WindowHandle,'螺母焊反','window',10,10,'black','true')
endif
wait_seconds(3)
图6.4.1
图6.4.2
a)b)
图6.4.3
七、误差分析:
(1)图像采集时,工件未放置于相机的成像中心,图像产生畸变;
(2)采用的面光源光强不均匀、且亮度不够;
(3)编写的算法中参数选取采用的是近似选取,无法达到的完美的效果,因此必然存在一定的偏差;
(4)工件轮廓磨损生锈,分辨率不高,导致边缘提取的精度不高;
(5)标定板有细微折痕,影响标定;
(6)没有夹具,导致光源位置无法固定,工件打光会受到影响。
八、实验结论
通过实验可以知道,HALCON作为一门商业化的图像处理软件,它十分容易上手,而且将各种图像处理代码封装等级很高,用户只需修改其中参数就可以达到自己想要的效果。
作为工程应用,HALCON确实很优秀,但是如果是要从事于图像处理软件开发,则应该透过现象看本质,即汲取HALCON的优点,结合实际需要开发出自己的图像处理软件。
除此之外,这门课程的学时是32学时,在前面都是学习理论知识,在完成理论学习之后,再相应地进行实验可以将所学的应用到实验当中,从方案的确定到实验顺利完成,这其中每一步都是理论与实际的结合,可以让我们初步掌握机器视觉的应用。
也让我明白机器视觉是一门系统性、实用性很强的学科,要想学好机器视觉,必须能够静下心来、全心全意的投入进去,这是一个漫长的时间旅程。
本次实验中,自己较好地完成了实验的要求,达到了实验的目的,实现了工件的检测要求,初步了解和掌握了机器视觉的操作流程与软件后续处理的方法。
机器视觉应用课程考核题
1.请阐述机器视觉中通过物体在平面图像上的坐标获得物体空间三维位置的原理。
(10分)
答:
机器视觉中通过物体在平面图象上的坐标获取物体空间三维位置的方法主要有双目立体视觉测量以及结构光三维视觉测量。
其中双目立体视觉是基于视差,根据三角法原理进行三维信息的获取,即由两个摄像机的图像平面(或者是单个摄像机在不同位置的图像平面)和被测物体之间构成一个三角形。
两格摄像机之间的位置关系是已知的,因此便可以获取两摄像机公共视场内物体的三维尺寸以及空间物体特征点的三维坐标。
图1为双目立体视觉原理图,由图根据上述原理,即可获得物体的三维坐标:
结构光三维测量原理与双目立体视觉测量原理相同,不同之处在于结构光是用光学投射器代替其中的一个摄像机,光学投射器投射出一定的光模式,如光平面、十字光平面网格状光束等,对场景对象在空间位置进行约束,进而获取场景对象上点的唯一坐标值。
其原理图如图2所示:
图2
2.请通过至少查阅2篇近5年的相关文献,阐述2种有关三维物体几何测量的机器视觉技术(或者机器人搬运三维物体的视觉引导技术、或者运动物体跟踪方面的机器视觉技术)。
(不少于1200字,20分)
基于机器视觉的运动物体跟踪技术
运动目标检测与跟踪技术是计算机视觉、图像处理、模式识别领域的重要研究课题,在军事、安全监控、交通控制、产品检测、医学图像分析等领域有着广泛的应用,有着重要的应用价值和广阔的发展前景。
但是运动物体跟踪技术使用的环境复杂多样,又没有固定的规律可循,而检测的准确性和跟踪的可靠性是运动物体目标检测和跟踪技术研究的核心。
本文的目的就是查阅相关文献对基于机器视觉的运动物体跟踪技术进行简单地阐述。
运动视觉分析的一个基本条件是需要知道物体对应点或特征点在图像平面上的位置信息,因此,与立体视觉类似,在动态图像分析中也需要解决对应点的匹配问题。
因此也有人认为立体视觉其实可以看作一个静止的世界和摄像机获取图像时其位置移动的运动问题。
运动物体跟踪技术包括运动检测和运动跟踪。
运动目标的检测与跟踪是指对图像序列中的运动目标进行检测、提取和跟踪,以获得运动目标的运动参数,如目标质心位置、速度、加速度以及运动轨迹。
目标检测与目标跟踪相互关联。
运动目标的检测与跟踪包括目标的检测、目标的特征提取、目标的跟踪等几个阶段。
这几个阶段没有固定的先后次序。
在现有算法中,有先检测再跟踪、边检测边跟踪,以及利用跟踪模型进行检测等几种方式。
目标检测和特征提取需要一定的先验知识,所以与图像获取的环境有很大关系,要根据不同的应用场合进行设计。
目标跟踪可以认为是在已知目标初始状态或已得到目标特征表示的基础上,进行时间空间相结合的目标状态估计。
目标检测和跟踪算法本身的复杂性和应用环境的复杂性,使得这一研究领域主要针对特定的应用来进行设计,所以针对某一应用的特定算法应用于其他问题可能根本没有效果。
目前运动检测的方法主要有:
背景差分法、帧间差分法和光流法。
背景差分法是利用当前图像与背景图像差分,并阈值化来检测运动物体,是分割运动图像目前最常用的一种方法,但是它对背景环境要求比较苛刻。
帧间差分法是对连续两帧的视频图像进行相减得到一幅差分图像,然后在差分图像上检测运动变化区域,根据变化区域的灰度信息恢复原来的运动目标,算法复杂程度低,但因其往往无法检测出目标的完整区域,只能提取部分边界值。
光流法基本思想是在空间中,运动可以用运动场描述,而在一个图像平面上,物体的运动往往是通过图像序列中不同图像灰度分布的不同体现的,从而,空间中的运动场转移到图像上就表示为光流场。
光流场反映了图像上每一点的灰度变化趋势,可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场,这也是对真实运动场的近似估计,在比较理想的情况下,它能够检测独立运动的对象,不需要预先知道场景的任何信息,可以很精确地计算出运动物体的速度,并且可用于摄像机运动的情况,但是它的缺点是计算复杂,抗噪性差。
运动目标跟踪技术就是利用目标的特征,使用适当的匹配算法,在图像序列中寻找与目标模板相似的目标并进行定位目标,目标跟踪中的主要工作就是选择好的目标特征和采用适当的搜索匹配算法。
常用的目标特征包括:
视觉特征(图像的色彩、边缘、轮廓、形状、纹理、面积等)、统计特征(直方图、各种矩)、变换系数特征(傅立叶描绘算子、自回归模型)、代数特征(图像奇异值的分解)等。
从目标跟踪的依据来看,现有的目标跟踪算法可以分为基于先验知识和非先验知识两大类,基于先验知识的方法通过建立目标匹配模板库来实现对目标的匹配,基于非先验知识的方法通过学习训练的方法建立自适应模板来对目标进行匹配。
从跟踪的侧重点来看,目标跟踪算法分为侧重于运动目标和侧重于运动目标轨迹两类。
目前运动跟踪方法有很多,比较常用的方法有:
Kalman滤波器、例子滤波器、MeanShift算法等。
Kalman滤波器计算量大,构造运动模型困难,不适合复杂环境下的实时运动目标跟踪。
例子滤波算法因为要经过多次迭代,大量粒子只集中了较小的权值,它们对后验概率的估计几乎不起作用。
MeanShift算法缺乏模板更新与核带自适应功能,容易出现目标丢失的情况。
但是MeanShift算法是一个无参数估计算法,硬件实现比较容易,加之采用核函数直方图建模,对边缘遮挡、目标旋转、变形和背景运动不太敏感。
通过对相关文献的参考与研究,可以知道运动物体的跟踪技术其实就是对运动目标检测与运动目标跟踪的结合运用。
根据现实的环境,综合比较各种方法的优缺点,有目的地选取合适的运动检测方法以及运动目标跟踪算子,或者是在现有的算子上进行改进得到满足自己实验要求的算子。
参考文献:
[1].高小清,吴建珍.静止背景下的移动目标视觉监控.科教导刊.2014年12期中旬刊:
66-67
[2].曲巨宝,林宏基,梁洪涛等.运动图像快速跟踪技术研究.重庆师范大学学报.2011年01期:
44-48
[3].李海军.基于双目视觉自动跟踪系统运用.火力与指挥控制.2010年01期:
150-152
[4].徐峰.运动目标检测与跟踪方法研究.烟台大学硕士学位论文.2010.
[5].耿盛涛.基于双目视觉的机器人目标检测与跟踪研究.江南大学硕士学位论文.2010
3.现有若干冲压小零件,需要利用机器视觉技术自动进行检测。
请抽取零件号(附有检测要求),有根据地设计、搭建图像摄取系统,进行系统标定,对零件获取必需图像,选用图像处理软件,进行图像分析处理,完成检测项目,写出实验报告。
(70分)
详细见实验报告。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 视觉 实验 报告