在上一篇里面,我们只是起了个头,要开发一个机器视觉系统,团队的力量是必不可少的。首先考虑如何来组建这个团队,部署每个成员的角色,制定项目团队规范是必要的。这个规范也涉及到多个方面,需要考虑周全,如果在项目进行中才去考虑,就会顾此失彼,降低了工作效率,因此这些准备工作是非常有必要的。
再过几天,2008第29届夏季奥运会就在北京开幕了,期待已久的盛事终于要来到了,心中不免有几许波澜。作为一名中国人,应该感到骄傲与自豪。从申请成功到筹备举办,这几年来,我也伴随这奥运场馆的建立,伴随着奥运的焦点,从学生生涯过渡到工作生涯,经历了一次转变,可以说这几年对我影响很大。学校里的勤奋与执著,工作中的努力与奋斗,自己经历着许多挫折,让我感到欣慰的是自己经受住考验,慢慢地成熟起来;感谢我还能有一个健康的身体,还有自己热爱的工作,还有自己喜欢的机器视觉,自己还能奋斗,还能吃苦,还年轻,还能为理想而拼搏~!
奥运来了,去享受这一百年盛事吧,把激情点燃,为中国加油,为奥运健儿助威......^_^
*******************************************************************************************
Acceptance Test Procedure 测试程序的容忍度
典型的机器视觉中,容忍度测试是在系统准备安装的时候进行,而验收测试是在安装完后系统进行操作的时候进行。理想状态下,这两个测试非常相似。但是,在有些情况下,在安装之前不能对系统测试(比如,持续的生产速度),在安装后部分测试也必要重复(比如,用户屏幕序列)。
尽管在项目启动时容忍度测试不是必需的,但是它经常能为开发者提供如何设计系统的宝贵认识。通过测试程序能验证功能,这将有利于测试。例如,如果一个视觉系统验证一些属性,拿零件的一个孔来说,它通常会进行一些测量的分类,并在测量满足一些标准时确定孔的位置。需求的测试用来在检测孔中验证系统的可靠性,这比基于属性报告(just the attribute reporting)要好很多。但是如果孔的测量是可利用的,在测量信息上的简单统计分析能给出更短测试下可靠性的合理指示。
容忍度测试通常用在以下这些区域:
⑴ 操作员接口-是否所有的控制和屏幕都呈现,都是功能化的?
⑵ 基本操作-能否执行期望的程序?
⑶ 精确度和可重复性-视觉系统是否提供质量结果?
⑷ 产量-视觉系统是否满足速度需求?
⑸ 灵敏度-在环境或系统设置细小变化时会引起较大的性能问题吗?
⑹ 可维护性-基本的维护程序(比如,换灯管)和标定程序都是易于执行的吗?
⑺ 实用性-系统适用的时间百分比是多少?
容忍度测试需要广泛的样本。但是,相同的样本集在整个开发过程中是没有价值的。一个好的样本集将涵盖这个范围的对象,这些是视觉系统从最大到最小的成像,还有从最好到最差的成像。除此之外,在样本集中的样本应该是被标定的(例如
虽然在项目启动的时候完成样本集不是必需的,但是在系统开发进程开始一段时间后完成样本集是必要的。样本集比规范重要。在开发一个机器视觉系统中,有零件可以放在相机下是不可替代的。
对一个好样本集的测试是否所有零件在开发和可接受的视觉系统中都是合适的,这仅仅是建立在为开发所提供的样本集之上
The Base Design基本设计
为了开始随后的机器视觉项目,这里有几个初步的设计步骤需要执行。这些步骤都是为了获得一幅图像。它们是:
⑴ 选择相机类型;
⑵ 选择相机视角;
⑶ 计算拍摄视场;
⑷ 调整分辨率;
⑸ 活动采集速度;
⑹ 选择硬件处理选项;
⑺ 选择相机;
⑻ 选择镜头;
⑼ 选择照明技术;
⑽ 选择图像采集卡;
⑾ 作出图像处理计划;
⑿ 选择软件包
这个顺序不是一个从输入(零件)到输出(图像)的严格次序。顺序上的变化是因为在一些情况下(例如,相机和镜头),很难决定谁先谁后。还有,一些步骤相比其它步骤而言可以迅速完成(比如分辨率的选择通常比照明技术选择更加直接),而且先易后难效率更高。
Choose the Type of Camera 选择相机类型
在机器视觉中,有一维相机(线阵相机),二维相机(面阵相机)和三维图像处理技术的相机。这篇文章只是讲述线阵相机和面阵相机的用法。三维技术的范围太大,因此在这里就不考虑了。
大多数机器视觉应用都使用面阵相机,尽管一些应用需要线阵相机的特殊需求。通常来讲,如果应用中的图像处理需求没有下列特性之一,就应该选择使用面阵,以下列出的情况下应该选择线阵相机:
⑴ 在一个固定位置进行一维测量;
⑵ 对一个移动的网页(比如,页面)进行图像处理;
⑶ 对大量传递的零件进行图像处理;
⑷ 对一个能够旋转的圆柱体表面进行图像处理;
⑸ 离散零件的超高分辨率图像处理,这里高分辨率相机太昂贵,而且零件或相机能够移动。
在线阵和面阵相机的分类中,还有许多其他的选择(比如,单色或彩色)。在一些情况下,像在单色和彩色之间选择,在给定需求的情况下这种选取是显而易见的。但是一般来讲,选择特殊相机特征是以后才会考虑的(left for later)。
Choose the Camera View选择相机视角
选择相机在哪里拍摄场景或零件需要几个方面的知识:零件上感兴趣的特征位置;哪些特征能混淆视觉系统(如果有的话)和它们在零件上的位置;零件的姿势(它的位置和包括变化的方向);其他限制相机位置的设备(比如,一个机械臂)。这些来自规范的信息都是有用的。
这里有一些特殊情况需要注意。一个是在零件被成像的时候仅仅是部分被迫的。也就是说,它们能在几个方向上调动或旋转。如果零件不能被限制,这就需要进行分析来决定能够确保需要的特征能被成像的一组视角。除此之外,在操作中决定哪些相机来拍摄需求的特征也是一个挑战。一般来讲,最好是能够限制零件的姿势来确保需要的特征能够在最小数量的相机中成像。
第二个是相机必须穿过一个像机械臂这样的机械装置进行采图的情况。在那些需求改变相机视角去适应不同的零件的应用才会遇到。在这里图像信息必须给机器人在精度装配中提供位置补偿。
Calculate the Field-of-View计算视场
对于每个相机来说,要计算视场,相机的类型和相机的视角提供了充足的信息。一个方向上的视场可从下面公式中求得:
FOV = (Dp + Lv)(1 + Pa)
这里:
FOV是在一个方向上需要的视场
Dp 是视场方向上最大的零件尺寸
Lv 是零件位置和方向最大的变化
Pa 是允许相机指示的一个百分比或分数
最大零件尺寸(Dp) 和零件位置和方向的变化(Lv)都是来自应用的规范。
相机指示(Pa)的允许参数是一个工程调整。从来不需要图像中重要的特征触摸图像的边缘是显而易见的。还有,让一个相机必须被排列在一个像素里,而且在制造环境中位置这种排列是不切实际的。视场扩大的因素很大程度上取决于维持视觉系统的人的技能。通常选择10%。
例如:
零件是矩形,最大尺寸是
从需求来看,Dp(horiz) 是
计算需要的视场如下:
FOV(horiz) = (
FOV(vert) = (
注意需求的视场的长宽比是7:4。相机的选择将可能有不同的长宽比(典型的CCTV相机是4:3);因此,相机最后的视场将比计算出的视场大一些。
*****************************************************************************
祝福奥运,待续......
- 上一篇:机器视觉系统构造指南-开头篇
- 下一篇:机器视觉系统构造指南-迟到的作业(3)