Machine Vision Standards - 互換性? 相容性 ?

1 Machine Vision Standards(機器視覺標準)

机器视觉标準(machine vision standards)的出现,造成了业界前所未有的合作方式的共识。在过去十年间, 形成了具有标準化功能名称与特性上的定义的工业相机以及GenICam,GigE Vision以及USB3 Vision等形式的通用功能介面。 这样一来可以简化以及缩减相机在机器视觉应用中design-in的过程,并且达到有效降低开发成本的目标。互换性以及装置能够拥有完整的plug & play 的功能一直以来都是被强调的重点功能。

但是这些是集成应用程序的关键因素吗? 一个通用的方案真的能适用于所有的应用内容吗? 这就需要根据每个情况来决定了。

为了创造出成功的应用,制造商设备的互换性则具有了一定程度的优势。然而,很显然的,为了保持这一优势与必须满足在设置应用程序时的相关条件。

相对的,未来采用符合”视觉标準规范”的机器视觉组件会变得比以前还重要。制造商的期望是应该是,”增加相容性” 这一点可以通过采用视觉标準通讯协定来达成。

AIA (Global Association for Vision Information) 以及 EMVA (European Machine Vision Association)所制定的标準化也等同于更进一步地朝向终结机器视觉中各介面之间的混乱。然而,这些标準允许制造商可以在SFNC之外增加自己的特殊功能,让供应商可以与竞争对手做出差异化。如果使用了制造商的特定功能,在更换供应商时就会需要对软件做修改。

对于介面的编程也是相同,专用的设置透过非视觉标準特殊功能提供了比GenICam更好的便利性跟用户操作性。工业相机制造商深知此道理,所以还是致力於在标準化介面的架构上提供他们自己编程的介面。

应用程序在使用专有的标準下还能保持与各制造商的相容性吗,还是说只能完全使用标準化的介面呢?

2 系統標準化細節

为了有效实现应用程式的要求以及目标,通用系统解决方案相关的重要细节则不能不了解,并且需要被正确的应用。

系統的架構

即便是现在使用GigE Vision或是USB3 Vision接口的机器视觉标準工业相机可以在不使用制造商的软件下使用,最基础的系统架构也必须保留并且在系统上使用。

硬体方面是建立於既有成熟的技术以及链接方式来传输相机资讯,以及通讯协定(e.g. USB, Gigabit Ethernet). 装置用的软件 (驱动以及图书馆) 透过使用 API来建立相机传输管道与使用者的应用程序的对。

Figure 1 – 接口規範的標準化帶給使用機器視覺標準工業相機許多應用程序上的新的優勢。

以GenICam为基础,在系统架构中有许多标準化的接口规范,这已经为使用机器视觉标準相机创造了许多明确定义和纪录的起点

Turning N into 1 and 1 into N

使用GenICam (Generic Interface for Cameras)作为使用方的应用程序以及装置软件之间的通讯连接,许多的制造商特定的接口编程将可以限制在单个通用的编程接口。GenICam 提供制造商与传输协定间相机功能的访问。  GenICam 是一种描述语言。许多功能在不知情的情况下被提供使用。这让它成为与每个相机型号相关的应用程序功能的基础,也可以透过韧体更新达到功能扩充。

引进通讯协定像是GigE Vision 以及 USB3 Vision作为传输级也意味着必须对于相机韧体在做沈思。这些由AIA会员制定的标準化传输通讯协定的相机,使用相同的标準语言来跟装置软件来沟通。这打破了长久一来相机韧体,传输通讯协定,以及装置软件之间顽固的绑定。相机不论是使用那种视觉标準接口都可以在任何软件上使用。

相機通用帶來新的機會跟潛力

视觉兼容的相机现在可以透过 “Generic Transport Layer” (GenTL)来运作。GenAPI (Generic Application Programming Interface) 可列出目前能获取的相机功能,并且通过分析符合标準的XML的文件进行相机配置。这个档案的内容使用了在GenICAM 规格中GenAPI模块所定义的syntax来描述所有被相机执行的功能: 功能名称,参数列表,附加资讯,功能描述。甚至工具提示,应用程序会显示该功能在XML文件中的描述。可以说是相机提供了自己的编程手册。

无论是在处理GenICam SFNC所定义的标準功能,或是只由特定制造商在符合标準的情况下提供的特殊”客制功能”都没有太大的差別了。

Figure 2 – GenAPI 用定義的功能名稱來與裝置專用的註冊位址溝通。

技术上来说,在制造商规范外的硬体与软件合作是由标準规范所定义,并且是被大众期待的。然而,只有相机是完全独立不受制造商限制。某些制造商提供的GenICam producers似乎会建议使用者它们倾向合作的相机。这有时候会让用户觉得所谓的互换性显得有点模糊。

通用往往自动会产生许多新的可能性,不论是对于制造商或是用户,例如硬体与软件可以分开发布。新的相机或是韧体可以在很短的时间内发布,由于省去了调整,建档,以及发行host软件这些本来是使用相机所不可缺少的条件。

相同的,不受限於host软件或是受限於其他型号的相机更新可以更容易和快速地完成。EMVA会员已经在著手更新规范来定义如何透使用任何符合标準规范的软件的制造商所提供的更新包来更新视觉相机。预计将于2017年夏天推出GenICam标準的更新模块规格。

相机的独立自然带来更多的平台相容性。借由像是GigE Vision或是USB3 Vision 的标準传输通讯协定,相机可以在任何平台上以及任何的操作环境中使用,由于其中具有不受制造商限制的标準相容的软件,包含传输层。即便不是来自同一间公司所开发或制造。

这种独立也成为”互换性”的基础。

各家提供的 GenTLs 不盡相同

每个制造商所提供GenTLare 都存在差异。简单来说就是他们都有自己的标準化接口来对应相机以及用户的应用 (参考Figure 1 白色的图块),并且它们实际上仅用于负责识別以及搜寻位址包含图像采集,并不一定能够与所有的视觉相机相容。

标準化的 GenTL对于机器视觉图书馆特別有帮助,像是HALCON,它开放给所有的视觉相机制造商。优势为所有的相机都具有完整的随插即用的能力,并且不需要安装第三方的图书馆。为了这个理由, MVTec 开发者将HALCON与能横跨所有供应商相容的GenTL ( Figure 3)搭配在一起,不需要配合使用任何制造商的软件就可以使用所有具有视觉兼容的相机。

对于相机制造商来说,使用自己的GenTL 而不是标準规格才能提供客户软件与相机最佳的互动能力,并且能够提供完整的后续原厂支持。这是一个非常重要的议题,尤其是在机器视觉应用中相机发生问题的时候。当应用程序, MV library, GenTL,以及相机都来自不同的厂商时,问题需要谁来负责?

3 相機同質化?

遵从标準通讯以及使用相同的通讯协定,并且提供已被定义的功能的相机。”所有相机都完全依样吗? 当然没那么简单!

先前为了建立相机跟主机间的沟通,需要安装各自不同的驱动软件,但现在只需要单一的语言。之前各家相机厂商各自为政,现在为了能将接口以及相机功能在符合定义的规格下执行而相互合作。所有的用户终将因此受益。但相机厂商将要如何将自己与其他对手区分开来呢?标準化的相机依然由许多组件组合而成的产品,这些组件对于产品是否能够达到客户需求非常重要: 外壳(质量稳定, 尺寸外观,材质, 重量,连接器,光学,配件),电子(电子行为,接口行为,散热,记忆体, 效能,产品运作生命周期),软件(传感器知识,功能实现,模块化,维持修缮, 支持),简单举几个例子。 整个方案在应用程序中的使用来说还是非常重要。

完整的软件支持,让视觉相机能够快速方便的投入使用,已经成为刚入门或是刚转入视觉行业的选择指标。IDS Imaging Development Systems GmbH 以直以来都致力於提供客户全方位的方案与产品。在安装之后,除了有图形介面的IDS Vision Cockpit,让评估相机变得更简单,还可以提供用户制造商专有的GenTL。这确保了市场上所有符合标準的机器视觉相机的完整相容性。

尽管视觉组件具有可替换性,但是这种完整的方案对机器视觉案件来说是一个关键的优势,因为他包含了完整的厂商支持,从相机硬体到客户的应用。

4 容易上手?

最简单的方式就是从使用符合标準规范的机器视觉软件,像是HALCON, LabView, Cognex VisionPro 开始。许多知名的机器视觉软件套装都有自己的GenTL provider, 示范了替换相机而不需要制造商的专有软件。为了集成使用制造商自己的GenTL相机,一些机器视觉软件包都有相应的,GenICam connector。

Figure 3 – HALCON有直接的GigE Vision 接口,藉由他自己的GenTL producer。 GenICam也允許連接到其他任何的視覺標準接口。

机器视觉软件厂商正在利用标準化所带来的所有优势。用户可以立即将相机与视觉系统集成,不需要编写程式。用户只需要使用机器视觉相关框架的动态GUI与标準接口接触。他们基本上代表了使用者体验。图形化的”专有”介面,这样可以让用户尽可能的轻松使用。

但并非所有的第三方机器视觉公司都提供对应的GenTL provider。这让随插即用的功能打了则扣。

任何选择第二种方式并从头开发应用程序的人都预期到会需要花费额外的时间。这也将焦点转移到编程介面上。这种情况下,其他因素对于是否可以执行应用程序显得更为重要。

由于其严谨复杂的原则,使用GenICam来做通用编程是非常耗费精力的。为了能够正确的处里每个可能性,必须先查询每个功能以及每个值的范围,然后才能著手更改相机参数。在没有过滤的情况下访问GenICam组件是非常耗工的并且需要非常深入的了解这些原则(principal)。如果你想要对特定的装置进行快速的进展并且对于复杂的选项没有太高的要求,那么你会需要一个简化过的摘要作为API。这些用户是否必须选择完全”专用”的方式,但却牺牲视觉标準所有的优势呢?

5 專有的標準

由于被定义的介面,视觉相机不再被侷限於一种设置方式。Due to the defined interfaces, vision standard cameras can be used in more than just one way. 使用便利的功能,也被称为辅助功能,或是舒适功能,是一种设计理念,在支持开发者编写专有接口程序中非常的流行。他们透过有选择地封装原子函数调用来帮忙简化代码并且让他更容易读。因此通过少量的函数调用,就可以更快速的实现”defined”的目标。

如果这种针对相机的”“proprietary API” 符合标準,他甚至可以是客户应用程序的附加访(access)问选项。

Figure 4 – Proprietary interfaces(專有接口)替使用視覺標準相機增加了更多的應用機會。

只要专有级別(proprietary level)的制造商没有对自己的设备进行任何过滤,那这种方式就没有理由继续用来防止跨制造商中的趋势中被应用。

用于机器视觉图书馆(如HALCON)的专有GUI遵循这种準确的方式。HALCON使用具有自己的用户界面的视觉标準。因此,简化接口编程是可能的,并且对于客户来说好处更多。

6 應用程序是重點

使用标準的接口,对于同时使用不同的相机以及功能的应用来说是一个极大的优点。应用不同的传输技术来混合使用标準相机的运作,像是使用USB3 Vision或是GigE Vision,都因为采用了GenICam 接口来作为通讯标準。应用程序不需要了解这些特定设备的功能,因此能与所有符合标準的设备相容。

完全动态的GUI 提供视觉相机的连接以及许多功能,并且不需要额外的编写程式。用户或是机器视觉操作人员可以立即开始为相关的应用程序开始调整相机。

如果应用程序包含自己的GenTL,就不需要再安装制造商的特定软件来集成新的相机。

对于开发生产机器视觉相机的制造商来说,视觉标準不仅仅意味可互换性的潜力,而且增强任何符合标準的应用程序开发的相容性。

然而,在视觉市场中还是有一定稳定程度的用户对于USPs(universal selling propositions)没有那么重视。 这些用户希望能够迅速的应用这些特殊相机,并且结合有制造商全面的技术支持的接口(interface),并且在必要的时候能够具有更多的弹性应用空间。

最终,决定哪间制造商提供的接口以及装置能够成功地被集成以及提供最好的用户体验还是取决於客户以及客户的应用内容。