2024-04-07 02:32:12 | 人围观 | 评论:
B、资源配置
机器视觉系统集成时,涉及到多门技术,最基本的系统也需要照明、成像、图像数字化、图像处理算法、计算机软件硬件等,稍微复杂一点的系统还会用到机械设计、传感器、电子线路、PLC、运动控制、数据库、SPC等等。显而易见,要把这么多不同方面的技术和知识组合到1个系统里,使其相互完美配合并稳定地工作,对系统集成人员提出了很高的要求,需要根据具体的需求来确定所需要配置的资源和对策。
B.1机械设计
由于需求不同,对机械部分的要求差别很大,如果是全自动的机器视觉系统,机械部分一般需要完成的功能有理料、输送、定位、剔除、下料等功能,而有的机器视觉系统则只需要适当的固定支架来固定相机、镜头和计算机即可,差别很大。例如,制药生产线上使用的西林瓶灯检机,需要完成理瓶、输送、旋转、刹车急停、相机同步、快速归位、下料、分流剔除等多个动作,而且需要提供多达15个检测工位,以完成液体内部悬浮物、玻璃碎屑、瓶身破损、细菌群落、瓶口封装、瓶底等多项指标的检测,各种机械零件多达上千个,系统非常之复杂;而停车场使用的车牌识别系统的机械部分则非常简单,只需要相机固定和保护等安装配件即可。一般系统集成商不愿意介入特别复杂的机械设计,一方面是因为在用户的观念中,机械设计没有太多的技术含量;另一方面是机械加工周期较长,1个小小的设计错误也会导致返工,时间拖得较长。所以,虽然在很多情形下,机械设计在机器视觉系统中占了很大的比重,而且是关键部分,但投入相对较少,导致整个系统开发过程不顺利。有时候,和制造机械设备的公司合作是最好的选择。需要指出的是,对于需要复杂机械系统的全自动系统,由于大多数系统只能针对特定的产品工作,所以,除非生产量达到一定数量,或者该产品会生产很长时间,一般情况下,半自动系统就足够了。自动系统开发周期长,成本高,生产过程中换型困难,而半自动系统只需要更换1个夹具,重新设置检测指标和合格判据就可以了。
B.2照明光源
这个看似简单的照明系统是机器视觉系统最为关键的部分,直接关系到系统的成败,其重要性无论如何强调都是不过分的。好的设计能够使我们得到1幅好的图像,从而改善整个系统的分辨率,简化软件的运算,而不合适的照明,则会引起很多问题。例如花点和过度曝光会隐藏很多重要的信息;阴影则会引起边缘的误检;而信噪比的降低以及不均匀的照明会导致图像处理阈值选择的困难。在实际应用中,得到场景的图像很容易,但是得到1幅适合机器视觉算法要求的图像则很难,因为被测目标多种多样,形状大小不同,检测指标各异,而且各种材料的反光特性及颜色也不一样,要把所需要检测的特征突显出来,而对不需要的特征加以抑制,并不是简单的任务。这主要通过设计或选择合适的照明光源来解决。针对特定的物体和场景,设计/选取成本低廉、安装简单、照明效果好的照明系统,就是我们搭建机器视觉系统首先需要完成的任务。那么什么样的图像才是好的图像呢?一般说来,1幅好的图像需要满足以下条件:
1、充分利用视场使被检测物体特征充满视场,从而可以最大限度地利用系统的分辨率;
2、对比度合适灰度级的最大值接近255,而最小值接近0;
3、焦距准确 图像没有因为景深或运动而不清晰;
4、照明均匀,避免反光;
5、图像畸变小;
6、感兴趣的特征容易被检测识别,其他特征不显示或得到抑制。如果选择的光源,能使图像达到这些基本的要求,就完成了机器视觉系统集成的第1步。
B.3成像系统
从系统集成的角度,简单列举选择这些硬件的原则。
由于相机镜头和板卡经过多年的发展,目前已经相当成熟,而且在国内市场上,选择的余地也不大,一般是本着经济的原则,够用就好。
选择相机时,我的建议是,如果可能,就用USB接口或1394接口的相机,这样可以省掉1个板卡的费用,以后硬件或软件升级时工作量会小一些。对于高端的应用,除了CameraLink,似乎别无选择。最新开发的GigE接口相机,由于TCP/IP协议Packet传输的特性,在某些场合是不能保证数据的实时性的,但其最大的优点是,数据线距离可以很长,主机可以安装在办公室内,这样现场就只需要适当地安装和保护相机和镜头。镜头的可选择性更少,除了Computar,Nikon,Tamron,Navitar及Moritex几个制造商外,市场上也没有多少选择空间,当然大多数情况下,也就够用了。如果需要更好的成像效果,可以采用单反相机镜头,这样做一般需要转接口。Fujinon在厦门有生产,可是国内市场上未见销售。德国CarlZeiss镜头很好,可惜价格太贵,不太适合中国市场。
B.4计算机系统
机器视觉系统的最佳配置,是使用工控机还是使用嵌入式系统?在这个问题上,见仁见智,各有优缺点,主要还是看使用的场合和系统的需求。2种系统的主要特点见下表:
通过这些对比可以看出,如果安装空间允许,选择基于工控机的视觉系统还是有更多的优点的。但是,如果现场必须使用体积很小的嵌入式系统,那么我们别无选择。各公司的成熟产品一般都采用了嵌入式主机,例~HKeyence,0mron,Siemens,Cognex等。这更多的是由于商业销售的考虑,因为这样做可以保证自己产品的独特性,给差异化销售找到借口;另一方面可以使用户自己不能更换零件,从而保证售后服务的利润。
B.5图像处理
图像处理作为机器视觉系统必不可少的部分,显得如此重要,以至于很多情况下,初学乍到的人会以为图像处理就是机器视觉。其实,我们所说的图像处理实际包含了图像增强和图像分析2个部分。图像增强是指经过某种处理,使图像改变,实现对比度提高、清晰度增加、特征突出等目的;而图像分析是指经过某种运算,来提取某种有用的信息,如有无、好坏、位置等,以便用来进行判断或控制。例如,如何使模糊的图像恢复到清晰,是典型的图
像增强处理,只要得到清晰的图像就达到了目的;在繁忙的机场抓拍过往旅客的面孔,找到可疑恐怖分子,则是典型的图像分析过程。
经过多年的发展,图像增强算法已经基本成熟,例如提高对比度的灰度拉伸、假彩色、边缘提取、滤波、傅立叶变换、小波变换等。在机器视觉系统集成时,这些一般都是在图像分析前作为图像预处理进行的,而图像分析算法才是机器视觉真正需要解决的问题。
通过针对某个真实场景的图像,设计1种算法,来得到有用的信息,完全依赖于技术人员的经验和能力。在这个过程中,公司投入了大量时间和金钱来进行研究,而得到的算法往往具有经济价值,公司或个人都会严格保密。例如,如果机场候机厅里只有1个乘客,那么设计个算法来找到这个乘客的位置,是相对容易的,很多公司或个人都可以实现,而且使用的方法或者计算时间也差不多,而要在成千上万的游客中,找到具有某个特定特征的乘客,就不是那么容易了,各人设计出的算法肯定千差万别,谁能够在最短时间内最可靠地找到目标,就是最有价值的。这种情况下,除了经验之外,灵感和创造能力也很重要。也就是说,作为系统集成所需要的图像处理算法,需要很多的实践经验,而这些算法大多不是能够从书本或文章里学到的。
B.6 自动控制
作为1个子系统完美配合工作中的机器视觉系统,自然会用到光电传感器、数字IO接口、PLC、运动控制等工业控制元器件,这些方面的知识也是必不可少的。虽然如此,这些都是成熟的技术,有基本的知识直接拿来使用就可以了,不需要我们重新设计,而且零件供应商也会提供一定的技术支持。一般在整个系统的开发过程中,这方面花费的时间和精力是最少的。
C、系统集成
明确了我们的需求,估计了我们需要配置的资源,理解了各子系统需要完成的工作,就到了把这些知识综合考虑组成1个整机系统的时候了。把这些不同领域里得到的零部件组合在一起,希冀打开电源时就能够完美的工作,是不太现实的。这个过程里有很多意想不到的问题需要解决。一般情况下,我们需要遵循一定的原则,才能使出现的问题最少。这里根据我们的经验给出一些建议。
1、尽量使用能够采购的零件(off—the—shelfcomponents):在可能的情况下,应当尽可能使用现成的备件,如镜头、相机、板卡等,能够买到的东西就不要自己做。我已经多次看到不同的公司和研究室为了节省成本,自己设计制造很容易买到的零件,结果浪费了很多时间,走了很多弯路。例如,有1个公司咨询为什么成像效果不好,我去现场一看,他们使用了1个直径20毫米的凸透镜作为镜头,为了节省成本,15元人民币买来的,可想而知成像效果如何,岂不知连SONY 也不得不向CarlZeiss采购镜头!
2、分而治之(divide and conquer):把系统分割成多个模块,把每1部分集成到一起,确保能够正确地工作,然后再把这些模块组成1个大系统。这和软件开发常用的方法是一样的,只有把1个大的系统分割成小到我们能够很容易处理的小块,才能够有效的完成。这也需要富有经验的项目负责人来完成这项工作。
3、充分考虑现场条件:在实验室里开发的系统,安装到使用现场后常常碰到问题。这主要是环境光、电磁干扰和振动几个方面的原因造成的。机器视觉系统毕竟使用了光学系统,安装现场的照明情况或自然光的影响,有时会导致我们设计的算法根本无法工作,从而致使系统失败;工厂的供电一般是带有各种电磁干扰的,很容易从电源线或其他地方进入计算机系统,从而导致系统不能稳定工作。如果系统时而工作正常,时而死机,一般都是这个原因造成的。另外,工业现场各种机器同时工作,有时振动会导致问题。例如,如果算法采用两幅图像相减的方法,肯定不能正常工作,因为振动导致的图像移位,使得图像已经对不准了。这种情况下,尺寸测量也会产生误差。所以,系统集成的过程中,最好能够模拟现场情况,否则很难1次成功。
4、把困难乘2:在新产品开发过程中,往往会遇到意想不到的问题。例如,有时候1根电线接触不良就会导致整个系统不工作,而查找这个问题并不是1件容易的事;有时软件有小小的问题,改成正确的代码只需要几分钟,但是也许2个星期也找不到问题所在。所以,整个系统集成时,碰到的问题和解决问题需要的时间往往比预计的要多。越是复杂庞大的系统,越是如此。一般我们需要把已知需要解决的问题总数乘以2或3,才能真正地做出切合实际的工作计划。
编辑:黄飞
全站搜索