Innovations in HALCON 9.0 in detail
Speedup of Algorithms
In the version 9.0, not only the speed of the entire library was enhanced by 5% but also the performance of single operators. For example, the speed of some filters was increased, sometimes by more than an order of magnitude (gauss x 3.7; median x 27 for 16 bit gray values; normal gray value morphology x 11 for 16 bit gray values).
Speedup of Parallelization (AOP)
For 8 years, HALCON has been equipped with its automatic operator parallelization (AOP). This established method based on multicore technology has been significantly quickened by more than 20%.
What AOP provides:
– AOP automatically finds (without any actions of the programmer) the number of available cores. HALCON automatically splits the image into sub-images and delivers these to a corresponding number of threads. After processing by the several cores, the computed data are automatically merged to achieve the result.
– The programmer is able to pre-select a ROI (region of interest) as a free form in the image. Thus, AOP only processes this area of the image, leading to a dramatically reduction of processing time.
– HALCON processes multi-channel images (e.g., color images) with an unlimited number of channels, also with AOP. AOP automatically processes every channel in parallel.
– AOP also is able to process tuples of images in parallel as well as tuples of regions, which are obtained through (e.g., OCR or blob analysis).
– HALCON not only parallelizes filters but also many other operators that are important for a huge amount of industrial applications: this covers methods for matching, 3D matching, subpixel extraction, and FFT. In HALCON, more than 400 operators run in parallel.
– HALCON is able to automatically identify the hardware environment. Based on this, the software decides which algorithms will parallelize to avoid unnecessary overhead, because parallelization only makes sense if, for example, enough memory throughput is available. If a bottleneck exists because of hardware performance (e.g., only one CPU/core), HALCON deactivates parallelization.
– Up to now, HALCON’s automatic parallelization was an option. However, the direct comparison on a single-core computer shows that version 9.0 with AOP runs about 10% faster than version 8.0 without AOP. Thus, with version 9.0 the automatic operator parallelization (AOP) in HALCON is standard (of course, it can be deactivated in special cases).
– In this completeness, HALCON’s automatic parallelization still is nonrecurring in the world.
HALCON 9.0 introduces new matching technologies to market that are unique in the world:
– Descriptor-based matching. This revolutionary new matching technology is able to find perspectively distorted objects. It is based on the detection of interest points where gray values are clearly differentiated from neighboring areas (brightness, curvature, corners, spots).
– Perspective, deformable matching. This new matching technology is also able to match perspectively distorted objects. In contrast to the descriptor-based matching, the perspective, deformable matching is edge-based (like HALCON’s shape-based matching) and thus can best be used with objects with clearly distinguishable edges.
– Model generation from DXF-files. Models for the shape-based matching can now be created from contours directly. This can, for example, be used to create shape models from DXF files.
– Increased tolerance mode. With the version 9.0, HALCON’s shape-based matching can optionally be used with an increased mode of tolerance. This significantly improves the robustness in finding objects. This option not only matters for out-of-focus images (a common problem during the inspection of electronic components) but also for matching objects that can differ in their outline to a certain extent.
Especially for robotics, machine vision becomes more and more important. In addition to established 3D technologies such as 3D object recognition, 3D camera calibration, binocular stereo reconstruction, and depth from focus, HALCON 9.0 provides new methods:
– Descriptor-based matching (see above: Matching)
– Perspective, deformable matching (see above: Matching)
– Multigrid stereo. Stereo images without texture in entire areas can be reconstructed by HALCON 9.0. This method delivers high-precision results. Multigrid stereo is a unique selling proposition.
– Sheet-of-light measurement. HALCON 9.0 provides new operators for sheet-of-light measurement, which extract projected laser lines and thus generate a 2½ D model.
– Calibration. HALCON’S area scan camera model for 3D calibration was enhanced to also eliminate complex distortions as well as alignement errors of the lenses. Thus, the accuracy of results of 3D algorithms, e.g., 3D matching or stereo, gets enhanced.
HDevelop (Integrated Development Environment)
– Full text editor. As an alternative to the established dialog-based editor, HALCON 9.0 provides a full text editor with advanced autocompletion. This feature significantly speeds up programming.
– Calibration assistant. The assistant for camera calibration helps users to easily and accurately operate the camera calibration, which can be used to eliminate lens distortions from images and to measure objects in world coordinates. After the camera parameters have been computed, the calibration assistant can be instructed to insert the corresponding calibration code into the HDevelop program.
– Integration of procedures. With HALCON 9.0, all procedures that are newly developed by users now are completely handled just like already existing HALCON operators, not only in regard to their documentation but also their appearance in HDevelop pull-down menus. This makes it very easy to document and seamlessly integrate newly developed procedures into HALCON’s IDE.
– HALCON codelets. HALCON 9.0 comes with a huge amount of new source code modules and classes – HALCON codelets – that can be used outside the development environment HDevelop. Many of these modules as well as regarding example applications can be used as templates for new applications or directly called within newly developed code. Particularly, the HALCON codelets help to quickly and easily use the enhanced functionality of the HDevelop graphical interface or the HDevelop assistants also outside of HDevelop.
– Matrix operators. These new operators allow to directly calculate matrix operations (e.g., transforming coordinate systems, solution of equations) directly in HDevelop. Thus, matrix operations can be easily integrated already during the first stage of the machine vision program development and consequently need not to be added later into the application program. Graphical tools in HDevelop help to display the contents of matrices.
– Documentation. The already very detailed documentation of HALCON was significantly enhanced. E.g., a new solution guide describes all about the topic classification. Moreover, the “programmer’s guide” will be available as HTML inside HDevelop.
HALCON is well-known for its hardware independency, not only concerning the operating system (HALCON runs on Windows, Windows x64, Linux, Solaris, and different embedded systems) but also the image acquisition devices. In addition to interfaces to hundreds of industrial cameras and frame grabbers, HALCON 9.0 provides further interfaces:
– GigE Vision. HALCON 9.0 provides an upgraded interface to GigE Vision compatible cameras.
– Visual Applets. The HALCON 9.0 Visual Applets interface enables to integrate real-time image pre-processing on frame grabbers from Silicon Software.
– Processing of large images. HALCON 9.0 provides the processing of images of more than 32k x 32k without a limit.
– Print quality of bar and data codes. In addition to the print quality evaluation of 2D codes (QR, ECC 200, PDF 417) according to ISO/IEC 15415, HALCON 9.0 now also can evaluate according to AIM DPM-1-2006. Furthermore, HALCON 9.0 newly determines the print quality of 1D codes (e.g., EAN-13, Code 128, RSS including composites) according to ISO/IEC 15416.
– RSS bar codes. The HALCON 9.0 bar code reader for all RSS codes (including composites) was significantly speeded up and enhanced, so that it now even works for codes with a distorted finder pattern.
– Calibration. HALCON’s hand-eye-calibration now contains many improvements. Additionally, HALCON 9.0 provides an automatic calibration of lens distortions without a calibration plate. Thus, HALCON’s camera calibration is even more versatile.
– Timeout for selected operators. If an operator exceeds a user-selectable time, the operator will stop executing and return an appropriate message. Setting such a timeout now is possible for matching, bar code reading, and data code reading.
– 3D visualization. The result data of HALCONs various 3D methods now can be visualized in 3D within a HALCON graphics window.
More Information: www.halcon.com
HALCON at the VISION 2008:
Stuttgart, Nov 2008, 4-6, hall 4, booth 4C55 (MVTec booth)