Ten years of GenICam
Standardisation has made a significant contribution to the success of machine vision technology. An integral part of the established machine vision standards is GenICam, which – in the last 10 years – has evolved to be the core of all modern machine vision interface technologies.
Several machine vision interface standards had already been developed by the middle of the last decade, while the machine vision market at that time was still relatively small. In order to avoid future parallel developments, it was agreed to re-use the existing standards and their components as much as possible. The concept was to provide separate standards for the different layers of an interface. So, in a sense GenICam, which is hosted by the European Machine Vision Association (EMVA), can be seen as a spin-off from the GigE Vision standard.
During the development phase of GigE Vision it soon became clear that a modern software layer is required for communication between the machine vision application and the camera, a layer that works independently from the individual transport layer. Here, the basic idea of GenICam comes in: the camera should describe itself and report its features upon opening, saying how the features can be addressed. This is enabled through an XML file, which is usually stored inside the firmware of the camera and is transmitted when opened for the first time by an application. The XML file follows a fixed syntax that is defined by the GenICam standard. By this, the application knows which features a given camera offers and can generically access all these features. So, GenICam abstracts the proprietary register layout and allows generic access to the complete functionalities of a camera through a standardised interchange format.
Milestones in GenICam development
The development of the standard began in 2004 and resulted in the release of GenICam 1.0 in September 2006. This included a reference implementation that made all these functionalities available through a C++ API. Its name was unsurprisingly, GenAPI, which is a generic programming interface.
Today, almost all camera and software manufacturers use the current version of this reference implementation as part of their installation. In order to avoid different camera manufacturers offering the same functionality under different names, the GenICam Standard Features Naming Convention (SFNC) was developed, describing the name, type and values margin of the common features. If a camera offers a feature defined in the SFNC, such as exposure time, it has to follow the SFNC protocol. Aside from a few exceptions, the camera features in the SFNC are marked as ‘recommended’ or ‘optional’ meaning that a camera does not need to offer all features. On the other hand, a camera can also offer additional manufacturer-specific features. Therefore, one successful aspect of GenICam is that it applies to cameras irrespective of the number of features they contain. GenICam explicitly allows cameras to differentiate and expand with new features without becoming incompatible with the standard.
The fact that GigE Vision had to be compatible with GenICam from the start contributed to GenICam’s fast and broad dissemination. Step by step, it was also used for other transport layer standards such as DCAM (IEEE 1394) and Camera Link, and in particular also for USB3 Vision, CoaXPress and Camera Link HS.
GenAPI and SFNC, however, are only the first step towards easy interaction between camera and machine vision application. In order to reach true plug-and-play, a defined programming interface is needed that enumerates all existing devices, enables link connection, and takes care of transmission of the image data. In 2008, the generic transport layer GenTL was specified. Its main task is to ensure that drivers and Software Development Kits (SKDs) from different vendors work together seamlessly.
In 2009, GenICam 2.0 was released, and three years after that came the first release of GenCP (Control Protocol). Between 2013 and 2015 the reference implementation GenAPI underwent a complete redesign resulting in higher performance and lower memory consumption. Almost parallel to that, GenICam 3D was developed as an extension to both SFNC and GenTL, to address the increasing demand for 3D applications. Eventually, this led to the release of GenICam 3.0 in December 2015. Version 3.0.1 of GenICam was released in May 2016 and now contains an extended version of SFNC, which has grown to some 500 pages over the last 10 years.
The GenICam standard group at the Grenoble meeting in 2005
The GenICam committee
The GenICam standard group is a standardisation initiative hosted by the European Machine Vision Association (EMVA). Meetings take place twice a year and alternate between North America, Europe, and Asia. These meetings are part of the International Vision Standards Meeting, where the technical committees of all active machine vision interface standards meet. The chair of the GenICam standard group is Dr Fritz Dierks at Basler, who is supported since 2010 by three vice-chairs, namely Stéphane Maurice at Matrox Imaging, Rupert Stelz at Stemmer Imaging, and myself.
The actual development work is being done through ‘homework packages’, which are defined and designated at the end of each meeting. Each company that successfully fulfils its ‘homework’ receives voting rights for the next meeting and can thus actively influence the further development of the standard. Currently, the list of members comprises more than 150 companies and looks like a who’s who of the machine vision components industry. Membership in the GenICam standard group is free of charge up to now, and can be applied to through the EMVA.
All existing GenICam modules undergo continuous development and are adapted to new requirements. One major focus for future development will be the support of embedded devices. This is to ensure that both board-level cameras and vision systems that already offer a configurable pre-processing functionality are supported. Overall, despite its age, GenICam has not gone out of fashion. Instead, it will continue to develop to meet new industry needs.
VDI standard introduces indicators to classify vision system capability
A standard published by the VDI – the association of German engineers – has introduced indicators describing the classification capability of a machine vision system.
Until now, there have been no corresponding and accepted qualification indicators for classifying machine vision systems whose results are attributive variables. The standard VDI/VDE/VDMA 2632 Part 3 closes this gap.
The standard puts forward procedures for assessing classificatory performance during the acceptance of machine vision systems. It uses typical examples from industrial inspection technology that can serve as a guideline for similar cases.
The advantages and disadvantages of different acceptance concepts, such as acceptance involving sample catalogues and acceptance on the basis of products from current production, are discussed. The standard is intended for users and suppliers alike, and should help in avoiding communication pitfalls at an early stage.
The VDI and the VDMA Machine Vision – a group of the German mechanical engineering industry association – have been working together since 2015 on drafting and disseminating standards on machine vision and industrial image processing. By cooperating with the VDI, the VDMA intends to make a contribution to the VDI/VDE/VDMA 2632 series of standards becoming better known among the machine vision community and end users, since the standard also helps to avoid misunderstandings and to provide assistance in handling projects efficiently and successfully.
‘The VDI/VDE/VDMA 2632 series of standards structures communication between suppliers and users – in this way, machine vision projects will be successful,’ said Dr Horst Heinol-Heikkinen, CEO of Asentics and board member of VDMA Machine Vision. ‘I am active in VDMA and VDI technical committees and in this important area I am pleased to see everyone hauling on the same rope.’
The VDI/VDE/VDMA 2632 Part 3 Machine vision/industrial image processing; acceptance test of classifying machine vision systems was published by the VDI/VDE Society Measurement and Automatic Control.