石鑫华视觉 手机微信QQ:13450001061

下载中心

MVTEC Halcon 24.11.1.0 Progress Steady Full Version Linux for Arm armv7a-linux HALCON24.11.1.0进阶稳定完整版 32位armv7a-linux版

文章来源:石鑫华视觉网时间:2024-11-25 11:01:07 点击:32

MVTEC Halcon 24.11.1.0 Progress Steady Full Version Linux for Arm armv7a-linux HALCON24.11.1.0进阶稳定完整版 32位armv7a-linux版

HALCON 24.11.1.0 Full Version (Linux for Arm armv7a-linux):
文件名: halcon-24.11.1.0-armv7a-linux.zip
文件大小: 5407760185 字节 (5.04 GB)
修改日期: 2024-11-14 22:28
MD5: bd3e4a51cfb946b59fac198d74e36b36
SHA1: 5bff48b0062ab6183ed305dffdcfc606acae2c4d
SHA256: 36245b630643bc3baf2307f766396e4631ac6324d724611224dc4e56b0d5f8cd
CRC32: 5a0c5ea5

MVTEC官方下载
www.mvtec.com

大恒图像下载和百度网盘下载地址:

MVTEC Halcon 24.11.1.0 Progress Steady Full Version Linux for Arm armv7a-linux HALCON24.11.1.0进阶稳定完整版 32位armv7a-linux版

http://visionbbs.com/thread-32650-1-1.html

(出处: 石鑫华视觉论坛)



HALCON 24.11 的主要功能
http://visionbbs.com/thread-32305-1-1.html

Release Notes for HALCON 24.11.1.0 Progress-Steady

This document provides the release notes for MVTec HALCON 24.11.1.0 Progress-Steady, as released in November2024.

Users of HALCON Steady are kindly advised to also take a look at the release notes of the previous Progress versions for information about all changes since HALCON 22.11 Steady: HALCON 23.05 Progress, HALCON 23.11 Progress, HALCON 24.05 Progress.

Contents

  • Major New Features of HALCON 24.11.1.0 Progress-Steady

    • HALCON’s GigE Vision Interface Supports RoCEv2

    • Improved HALCON Progress Edition

    • Out of Distribution Detection (OOD) for Classification

    • Preview of the new IDE HDevelopEVO

    • Improved Shape-based Matching

    • Optimized QR Code Reader

    • Deep 3D Matching

    • Further Highlights of HALCON 24.11.1.0 Progress-Steady

  • Compatibility

    • Licenses

    • HALCON Library

    • HALCON Applications

    • Image Acquisition Interfaces

    • Digital I/O Interfaces

    • Extension Packages

    • Legacy or No Longer Supported Functionality

  • Supported Operating Systems

    • Windows

    • Linux

  • Detailed Description of Changes in HALCON 24.11.1.0 Progress-Steady

    • Speedup

    • New Functionality

    • Bug Fixes

    • Bug Fixes

    • New Functionality

    • Bug Fixes

    • HDevelop Example Programs

    • HDevelop

    • HDevEngine

    • HALCON Library

    • Procedures

    • HALCON Variable Inspect

    • Image Acquisition Interfaces

    • Digital I/O Interfaces

    • Documentation

    • Installation

    • Licensing

    • Third-Party Libraries


Major New Features of HALCON 24.11.1.0 Progress-SteadyOut of Distribution Detection (OOD) for Classification

This new HALCON feature makes it easy to recognize unexpected behavior caused by incorrect classifications in production. Thus, users can take appropriate measures, such as stopping the machine, in a targeted and efficient manner. When using a deep learning classifier, unknown objects are assigned to one of the classes that the system has learned. This can lead to problems if, for example, the defects or objects themselves are of a type that has never occurred before.
The new deep learning feature “Out of Distribution Detection (OOD)” indicates when an object is classified that was not included in the training data. For example, this could be an object made of metal if the system was only trained on glass bottles. In such cases, OOD provides an “OOD score”, which indicates the degree of deviation from the trained classes.

The OOD score can also be useful when expanding deep learning models with new training images by indicating which of the new images will have the greatest value for the new model. For example, a high OOD score for a new training image indicates a greater deviation from the images already seen by the network – this means a higher information content and, therefore, greater value for the training.


Preview of the new IDE HDevelopEVO

HALCON 24.11 has a special highlight for all users of HALCON's own integrated development environment (IDE) HDevelop: a preview of the new IDE HDevelopEVO.
This is characterized, among other things, by a more modern, intuitive user interface and an improved editor (i.e., the central programming element). The latter enables faster and more efficient programming and prototyping of machine vision applications.
Users can already extensively test the new development environment in HALCON 24.11. The range of functions of HDevelopEVO will be continuously expanded in the coming releases and it will over time become the standard HALCON development environment.


Improved Shape-based Matching

The new HALCON version makes the “Shape-based Matching” feature, used in many applications, more user-friendly. This technology is used to find objects fast, accurately, and precisely. HALCON 24.11 includes the new patent pending “Extended Parameter Estimation” for this purpose. This allows parameters to be estimated with greater granularity, which significantly increases robustness in some applications. “Extended Parameter Estimation” enables this estimation also for users without in-depth machine vision expertise.


Optimized QR Code Reader

The performance of HALCON's QR Code Reader has been significantly increased. This is particularly evident under difficult conditions, for example, when many codes need to be found in the image area or many textures in the image complicate the detection. The recognition rate has been increased and the evaluation time has been significantly reduced in demanding scenarios.


Deep 3D Matching

With this feature, HALCON 24.11 contains a deep-learning-based market innovation for the 3D vision sector, especially for bin-picking and pick-and-place applications. This feature is particularly robust in determining the exact position and rotation of a trained object and is characterized by very low parameterization effort and fast execution time. Depending on the accuracy requirements, one or more cost-efficient standard 2D cameras can be used to determine the position.
Training is performed exclusively on synthetic data generated from a CAD model. Further training data is therefore not required.

Customers can already run this feature in HALCON 24.11 – to train the model and evaluate applications, they can contact MVTec at any time. Training and evaluation within HALCON will follow in the next release.


Further Highlights of HALCON 24.11.1.0 Progress-SteadyHALCON’s GigE Vision Interface Supports RoCEv2

With this release, HALCON's GigE Vision interface supports the RoCEv2 network protocol, which enables increased performance in image transmission.


Improved HALCON Progress Edition

HALCON Progress is now fully compatible with the HALCON Steady edition. Progress users can now collaborate with Steady users on the same projects. Additionally, HALCON Progress users will receive the same maintenance updates as HALCON Steady users. In the future, switching from Steady to Progress will simply require exchanging the license file.




CompatibilityLicenses

All HALCON 24.05 Progress licenses or licenses of earlier versions must be replaced or upgraded. Please contact your local distributor. HALCON 24.11.1.0 Progress-Steady licenses will be downwards compatible to HALCON 24.05 Progress.


HALCON Library

Compared to HALCON 24.05 Progress, many extensions have been introduced. Thus, the HALCON 24.11.1.0 Progress-Steady libraries are not binary compatible with HALCON 24.05 Progress or earlier versions. However, HALCON 24.11.1.0 Progress-Steady is mostly source-code compatible to HALCON 24.05 Progress except for the changes listed below:

  • For sample_object_model_3d, the parameter 'SampleDistance' has been renamed to 'SamplingParam'. When using named parameters in HALCON/Python or HALCON/.NET, the parameter has to be renamed.

    More information.

  • For read_object_model_3d, the output parameter 'ObjectModel3D' is now of type ObjectModel3D array instead of the single valued type ObjectModel3D. This influences the object-oriented signatures of read_object_model_3d in the language interfaces HALCON/C++ and HALCON/.NET, both the HObjectModel3D constructor and its member function HObjectModel3D::ReadObjectModel3D. Undocumented single valued signatures are still provided for backwards compatibility but cannot be used with the new parameter 'split_level'. For fully supported signatures, see the operator reference.

    More information.

  • The operators area_intersection_rectangle2, distance_pr, distance_lr, distance_sr, distance_sc, distance_lc, distance_cc_min, distance_cc_min_points, and distance_cc now accept inputs that previously threw an exception. Additionally, the HALCON/C++ and HALCON/.NET interfaces of the operators distance_cc, distance_cc_min and distance_cc_min_points now support additional overloads, which can cause compatibility issues in rare cases.

    More information.

  • convex_hull_object_model_3d, triangulate_object_model_3d, intersect_plane_object_model_3d, register_object_model_3d_pair, and register_object_model_3d_global now return error 9526 ("Primitive in 3D object model has no extended data") instead of one of the errors 9203, 9511, 9514, 9515, 9517, or incorrect results for infinite primitives of type cylinder or plane.

    More information.

  • The HTuple::GetHctuple() member function has been changed to take a reference to an Hctuple structure to copy the data to instead of returning an Hctuple.

  • The undocumented at_i, at_d, at_h, and at_s macros have been removed from HalconCDefs.h.

  • The signature of the HGetPPar function has changed so that the third parameter now takes a Hcpar const* H_RESTRICT* parameter instead of a Hcpar* H_RESTRICT* parameter. Any code calling HGetPPar directly or indirectly will need to be changed.
    Note that this is not a semantic change, as the documentation for HGetPPar states that the Hcpar values returned by HGetPPar must not be modified. This change makes this restriction explicit to the compiler.

    More information.

  • find_shape_model, find_scaled_shape_model, and find_aniso_shape_model expected integers for the parameters 'NumLevels' and 'NumMatches', but accepted also doubles. As these values should be integers, setting a double value will now result in an error in order to inform the user.

    More information.

  • In the inference of object detection models, predicted boxes are now kept during non-maximum suppression if they have an intersection over union (IoU) with another predicted box equal to the set thresholds 'max_overlap' or 'max_overlap_class_agnostic', respectively.

    More information.

  • The GPU runtime initialization of a deep learning model has been improved. The performance should be more stable than before, and it should take much less time to initialize the model. As a side effect, the runtime performance and GPU memory usage of apply_dl_model and train_dl_model_batch can vary with respect to previous versions of HALCON. This only applies to GPU runtime devices. Note that for optimal inference performance on a GPU, an AI2 Interfaces like Tensor RT should be used (see query_available_dl_devices).

    More information.



HALCON Applications
Please re-compile all C, C++, or .NET programs developed with HALCON 24.05 Progress. The incompatibility with HALCON 24.05 Progress or earlier versions mainly concerns the binaries, with only few changes in the language interfaces. If you encounter problems during recompiling your programs, please check the detailed description of changes below.
Image Acquisition Interfaces

In general, HALCON 24.11.1.0 Progress-Steady, HALCON 24.05 Progress, and HALCON 20.11 Steady image acquisition interfaces are library compatible.

HALCON 24.11.1.0 Progress-Steady includes only a subset of available image acquisition interfaces. For more information, see the reference documentation of the Image Acquisition Interfaces. You can download additional interfaces from our web server.


Digital I/O Interfaces

In general, HALCON 24.11.1.0 Progress-Steady, HALCON 24.05 Progress, and HALCON 20.11 Steady digital I/O interfaces are library compatible.

HALCON 24.11.1.0 Progress-Steady includes only a subset of available digital I/O interfaces. For more information, see the reference documentation of the I/O Interfaces. You can download additional interfaces from our web server.


Extension Packages

Please re-generate your own extension packages developed with HALCON 24.05 Progress.


Legacy or No Longer Supported Functionality

The following functionality may be discontinued in a future major release:

See the reference manual entries of legacy operators for details on how to replace them.

  • The License Server for HALCON Steady is now deprecated. In the future, the License Server will only be available for HALCON Progress.

  • The armv7-linux platform has been announced legacy as standard HALCON platform since HALCON 24.11 and will no longer be delivered starting with HALCON 25.11 for the Progress Edition and HALCON 26.11 for the Steady Edition. The platform will still be available on demand as part of the HALCON Embedded program.

  • The legacy handle mode has been announced legacy for HALCON 24.11. The mode shifts the ownership of a handle to the user via the parameter 'legacy_handle_mode' of the set_system operator and will be removed from the following HALCON version 25.05, including the operators for collective handle destruction:
    clear_all_bar_code_models, clear_all_barriers, clear_all_calib_data, clear_all_camera_setup_models, clear_all_class_gmm, clear_all_class_knn, clear_all_class_lut, clear_all_class_mlp, clear_all_class_svm, clear_all_class_train_data, clear_all_color_trans_luts, clear_all_component_models, clear_all_conditions, clear_all_data_code_2d_models, clear_all_deformable_models, clear_all_descriptor_models, clear_all_events, clear_all_lexica, clear_all_matrices, clear_all_metrology_models, clear_all_mutexes, clear_all_ncc_models, clear_all_object_model_3d, clear_all_ocr_class_knn, clear_all_ocr_class_mlp, clear_all_ocr_class_svm, clear_all_sample_identifiers, clear_all_scattered_data_interpolators, clear_all_serialized_items, clear_all_shape_model_3d, clear_all_shape_models, clear_all_sheet_of_light_models, clear_all_stereo_models, clear_all_surface_matching_results, clear_all_surface_models, clear_all_templates, clear_all_text_models, clear_all_text_results, clear_all_training_components, clear_all_variation_models, close_all_bg_esti, close_all_class_box, close_all_files, close_all_framegrabbers, close_all_measures, close_all_ocrs, close_all_ocvs, close_all_serials, close_all_sockets.
    The operators for releasing the content of individual handles are still supported.

  • The procedure set_dl_model_param_max_gpu_batch_size has been announced legacy since HALCON 24.05 and will no longer be delivered starting with HALCON 25.11 for the Progress Edition and HALCON 26.11 for the Steady Edition.

    The Matching/Component-Based functionality has been announced legacy since HALCON 24.05 and will no longer be delivered starting with HALCON 26.11 for the Steady Edition and Progress Edition.

    The Matching/Gray-Value-Based functionality has been announced legacy since HALCON 13.0 and will no longer be delivered starting with HALCON 25.11 for the Progress Edition and HALCON 26.11 for the Steady Edition.

    The Classification/Hyperboxes functionality has been announced legacy since HALCON 13.0 and will no longer be delivered starting with HALCON 25.11 for the Progress Edition and HALCON 26.11 for the Steady Edition.

    The old DL Classifier functionality has been announced legacy since HALCON 22.05 and will no longer be delivered starting with HALCON 25.05 for the Progress Edition and HALCON 26.11 for the Steady Edition.

    The support of uint2 images in find_bar_code and decode_bar_code_rectangle2 has been announced legacy since HALCON 13.0 and will no longer be delivered starting with HALCON 25.05 for the Progress Edition and HALCON 26.11 for the Steady Edition.

    The operators set_insert, get_insert, and query_insert have been announced legacy since HALCON 20.05 and will no longer be delivered starting with HALCON 25.05 for the Progress Edition and HALCON 26.11 for the Steady Edition.

    The operator bin_threshold has been announced legacy since HALCON 12.00 and will no longer be delivered starting with HALCON 25.05 for the Progress Edition and HALCON 26.11 for the Steady Edition.




Supported Operating SystemsWindows

HALCON 24.11.1.0 Progress-Steady has been compiled for the x64-win64 platform version for Windows 10 (x64 editions), 11, Windows Server 2016, 2019, 2022 on Intel 64 or AMD 64 with SSE2 (AVX2 dispatch) processors.


Linux

HALCON 24.11.1.0 Progress-Steady has been compiled for the following Linux platform versions:

  • x64-linux platform version for Linux x86_64xspace, GLIBC_2.27, GLIBCXX_3.4.24 on Intel 64 or AMD 64 with SSE2 (AVX2 dispatch) processors

  • armv7a-linux platform version for Linux armv7axspace, Kernel with hidraw support, hard-float ABI, GLIBCXX_3.4.24, GLIBCXX_3.4.24 on Armv7-A with NEON support

  • aarch64-linux platform version for Linux aarch64xspace, Kernel with hidraw support, GLIBC_2.27, GLIBCXX_3.4.24 on Armv8-A with AArch64 support

Please refer to the Installation Guide for detailed system requirements corresponding to the different Application Binary Interfaces.



Detailed Description of Changes in HALCON 24.11.1.0 Progress-Steady

The changes in HALCON 24.11.1.0 Progress-Steady are described with respect to HALCON 24.05.

HDevelopNew FunctionalityGUI

  • The MVTec Academy can now be reached via the Start dialog of HDevelop.




Bug FixesGUI

  • Information about variables with multiple tuple elements could appear garbled in the variable window tooltip or status bar when the GUI language did not correspond to the OS system language. This problem has been fixed.



IDE

  • Editing a running program could lead to a false positive warning about program corruption when interrupting a long-running operator. This problem has been fixed.

  • The autocompletion for dev_get_system did not offer the 'call_stack' parameter. This problem has been fixed.



Procedures

  • The augmentation 'rotate_range' of the Deep OCR recognition training raised an exception in augment_dl_samples. This problem has been fixed.




HDevelop Example ProgramsNew HDevelop Example Programs

  • hdevelop/3D-Matching/3D-Gripping-Point-Detection/3d_gripping_point_detection_training_workflow.hdev

  • hdevelop/Applications/Battery-Inspection/battery_electrode_sheet_inspection.hdev

  • hdevelop/Calibration/Hand-Eye/calibrate_hand_eye_stationary_cam_stochastic.hdev

  • hdevelop/Classification/k-Nearest-Neighbor/classify_pills_hyperspectral.hdev

  • hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_workflow.hdev

  • hdevelop/Matching/Deep-Counting/deep_counting.hdev

  • hdevelop/Matching/Deep-Counting/deep_counting_workflow.hdev

  • hdevelop/OCR/Deep-OCR/deep_ocr_detection_training_workflow.hdev

  • hdevelop/Applications/Battery-Inspection/detect_3d_defects_on_battery_surface.hdev

  • hdevelop/Deep-Learning/Classification/detect_out_of_distribution_samples_for_classification.hdev

  • hdevelop/Deep-Learning/MultiLabelClassification/dl_multi_label_classification_workflow.hdev

  • hdevelop/System/Sockets/generic_socket_transmit_memory_block.hdev

  • hdevelop/halcon_basic_concepts.hdev

  • hdevelop/Applications/Battery-Inspection/inspect_and_identify_battery_cells.hdev

  • hdevelop/XLD/Sets/intersection_region_contour_xld.hdev

  • hdevelop/Identification/Data-Code/print_quality_smallest_module_size.hdev

  • hdevelop/3D-Object-Model/Creation/read_object_model_3d_generic_ascii.hdev

  • hdevelop/3D-Reconstruction/Structured-Light/structured_light_3d_surface_reconstruction.hdev

  • hdevelop/3D-Reconstruction/Structured-Light/structured_light_calibration.hdev

  • hdevelop/Matching/Shape-Based/train_generic_shape_model_sample_workflow.hdev

  • hdevelop/Tuple/String-Operations/tuple_str_distance.hdev


New Functionality

  • The new HDevelop example program hdevelop/Applications/Battery-Inspection/battery_electrode_sheet_inspection.hdev shows the inspection process for battery electrode sheets. It uses the images battery_measure.png, battery_defect_01.png, …, battery_defect_5.png from the subdirectory images/battery_electrode.

  • The HDevelop example program hdevelop/Deep-Learning/AnomalyDetection/dl_anomaly_detection_global_context_inference.hdev has been extended to consider the image domain stored in the metadata of a GC-AD DLModelHandle, which was exported by the Deep-Learning Tool, for example.

  • The HDevelop example program hdevelop/System/Parameters/query_system_parameters.hdev now also queries information about the used and the available licenses.

  • The new HDevelop example program hdevelop/halcon_basic_concepts.hdev gives an introduction to the HALCON-specific concepts of images, regions, domain, and tuples.



Bug Fixes

  • The deep_counting_workflow example did not run if there was no graphics window available. This problem has been fixed.





HDevEngineBug Fixes

  • dev_get_system('jit_enabled') reported an error when called from a JIT-compiled procedure. This problem has been fixed.




HALCON LibrarySpeedup

  • bit_lshift and bit_rshift are now faster for int1 type images. On Intel platforms, bit_lshift and on Arm platforms, bit_rshift is now three times faster.

  • For Intel platforms and image type 'byte', div_image is faster now by about 50%.

  • The Data Matrix ECC 200 and the DotCode reader have been improved with respect to its decoding performance. Our in-house benchmark suggests an improvement, especially on ARM machines, with an expected speedup of up to 15% (ECC 200) and 20% (DotCode). On machines with x86 or x64 processors, the decoding performance has experienced a minor improvement as well.

  • frei_amp, prewitt_amp, robinson_amp, and kirsch_amp now are up to four times faster on Intel platforms.

  • The gray morphology operators gray_bothat, gray_closing, gray_dilation, gray_erosion, gray_opening, and gray_tophat are now faster on all platforms and for all image types when used with non-flat structuring elements. Speed improvements range from 15% to 60%.

  • On Arm-based platforms, the gray morphology operators gray_bothat, gray_closing, gray_dilation, gray_erosion, gray_opening, and gray_tophat are now faster for all image types when used with flat structuring elements. The speed improvements for aarch64-linux range from a factor of five for byte images to a factor of three for uint2 and a factor of two for real images.

  • inner_circle and shape_trans(::, 'inner_circle') are now faster by up to 215%. The speedup depends on the size of the input regions: For larger regions, a greater speedup can be expected.

  • mean_image for byte images and larger masks beginning with 7x7 is now faster by up to 50% on AVX2-capable processors.
    emphasize for byte images and larger masks beginning with 7x7 is now faster by up to 50% on AVX2-capable processors.
    highpass_image for byte images and larger masks beginning with 7x7 is now faster by up to 40% on AVX2-capable processors.

  • mean_image is now faster on uint2 images for mask sizes greater or equal to 5 on AVX2 capable machines. The speedup is up to 300%.
    mean_image is also faster on uint2 images for all mask sizes on Arm machines. The speedup is up to 60%.

    emphasize is now faster on uint2 images for mask sizes greater or equal to 5 on AVX2 capable machines. The speedup is up to 250%.
    emphasize is also faster on uint2 images for all mask sizes on Arm machines. The speedup is up to 60%.

  • On Arm-based systems, moments_object_model_3d is now 50% faster.

  • On Intel platforms, sub_image for int2 images and Mult=1 is faster now. The speedup for Add=0 is 25% and four times for Add!=0. Furthermore, add_image is 40% faster now when adding a byte image to an uint2 image and using Mult=1 and Add=0.

  • The performance of trans_from_rgb has been improved for the colorspaces yuv, cielab, ciexyz2, and ciexyz3 when processing int2 images on x64-processors. Cielab is now faster by up to 80%; yuv, ciexyz2, and ciexyz3 by up to 100%.

  • The performance of trans_from_rgb and trans_to_rgb has been improved on Intel platforms for some colorspaces. trans_to_rgb is now three times or more faster for cieluv and cielchuv for byte, uint2, and int4 images. ciexyz4 improved by 60% or more for byte, uint2, and int4 images. lsm improved by 40% or more for uint2 and int4 images. Furthermore, converting to hsv from rgb is now four times faster.

  • tuple_repeat and tuple_repeat_elem are now faster for large tuples. The achievable speedup strongly depends on type and number of elements of the tuple.



New Functionality3D

  • For sample_object_model_3d, the parameter 'SampleDistance' has been renamed to 'SamplingParam'. The parameter can take distances in 'm' or pixel and also the number of points of the sampled object depending on the used method. The new parameter name describes the behavior in a more accurate manner.

    Note that this change affects the compatibility. Read more.

  • surface_normals_object_model_3d has been improved. Now, for the method 'triangles', the operator also returns the normals of each triangle in the extended attributes '&triangle_normal_x', '&triangle_normal_y', and '&triangle_normal_z'.

  • read_object_model_3d has been extended by the format option 'generic_ascii'. Now, different ASCII formats containing 3D point information can be read, e.g., .xyz, .pts, .ptx. The new HDevelop example hdevelop/3D-Object-Model/Creation/read_object_model_3d_generic_ascii.hdev has been added to show the usage.

  • HALCON has been extended with the DL-based Deep 3D Matching inference.
    Deep 3D Matching finds the 3D poses of one or more instances of a CAD model using multiple calibrated camera views of the scene. Training Deep 3D Matching models will be available in a future version of HALCON. To obtain a trained Deep 3D Matching model at this point, please contact your HALCON sales representative.

    The new operators read_deep_matching_3d and write_deep_matching_3d can be used to deserialize and serialize a Deep 3D Matching model. The new operators set_deep_matching_3d_param and get_deep_matching_3d_param can be used to set and obtain the parameters of such a model, like the camera parameters and poses. Further, the new operator apply_deep_matching_3d can be used to perform the pose estimation using a Deep 3D Matching model and the search images.

    The new HDevelop example
    hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_workflow.hdev
    has been added to show how to use this feature in HALCON. For this example, a new set of images has been added, which are located in the example images directory named 3d_machine_vision/multi_view. Additionally, a pre-trained model has been added, called hdevelop/3D-Matching/Deep-3D-Matching/pretrained_bitholder_deep_3d_matching.dm3

    Further, a new reference manual chapter "3D Matching/Deep 3D Matching" has been added, which outlines the corresponding workflow.

  • read_object_model_3d now offers the generic parameter 'split_level' for step files. Using this parameter, the model components from one input step file can be read into various 3D object models.

    Note that this change affects the compatibility. Read more.


Bar Code

  • The following new GS1 Application Identifiers, which have been introduced with the General Specifications Change Notification (GSCN) 22-246, are now supported:
    7250 (Date of birth), 7251 (Date and time of birth), 7252 (Biological sex), 7253 (Family name of person), 7255 (Given name of person), 7255 (Name suffix of person), 7256 (Full name of person), 7257 (Address of person), 7258 (Baby birth sequence indicator), 7259 (Baby of family name)



Data Code

  • The QR Code reader and the Micro QR Code reader have been improved. By using a more powerful method to find code candidates in the image, the detection rate could be increased, especially for challenging scenarios like images with many codes or highly textured backgrounds. At the same time, the runtime has been significantly reduced for complex images. Additionally, the decoding performance for dot-printed QR Codes has been improved.

    The candidate search has been extended by a mode that is more robust against local contrast variations, which can be activated using the data code model parameter 'contrast_tolerance'.

    Further, the data code model parameter 'candidate_selection' can now be used to control the generation of candidate regions that are used for (Micro) QR Code symbol detection.
    In addition, the complexity of the symbol search can be adapted using the find_data_code_2d parameter 'symbol_search'. However, this is only necessary in very specific cases, i.e., for very simple ('rudimental') or very complex ('exhaustive') images.

    With the new candidate search method, the value of the existing data code model parameter 'contrast_min' is less crucial for the performance of the code reader and only needs to be set in rare cases. Moreover, the default values of the parameter 'module_gap_max' have been changed for (Micro) QR Code models. The custom HPeek demo and the following HDevelop example programs have been adapted accordingly:


    (Micro) QR Code models created with older HALCON versions can still be read, but may cause different results.

    • hdevelop/Applications/Data-Codes/micro_qr_optimized_settings.hdev

    • hdevelop/Applications/Data-Codes/qrcode_optimized_settings.hdev

    • hdevelop/Identification/Data-Code/qrcode_deformed.hdev

    • hdevelop/explore_halcon.hdev

  • The QR Code and Micro QR Code reader is now more robust against false positive reads. Therefore, the HDevelop example program hdevelop/Identification/Data-Code/micro_qr_strict_quiet_zone.hdev has been removed.

  • The following new GS1 Application Identifiers, which have been introduced with the General Specifications Change Notification (GSCN) 22-246, are now supported:
    7250 (Date of birth), 7251 (Date and time of birth), 7252 (Biological sex), 7253 (Family name of person), 7255 (Given name of person), 7255 (Name suffix of person), 7256 (Full name of person), 7257 (Address of person), 7258 (Baby birth sequence indicator), 7259 (Baby of family name)



Deep Learning

  • The distance loss layer now supports the L1 distance. create_dl_layer_loss_distance has been extended accordingly.

  • The Deep Learning Inference module has been renamed Deep Learning Enhanced and the Deep Learning Training module has been renamed Deep Learning Professional. For more information on which technology belongs to which module, see the Installation Guide (chapter 5.4.2).

  • The required license modules have been adapted according to the new deep learning licensing.

  • get_dl_model_param has been extended with the parameter 'min_version'. It returns the minimal required HALCON version supporting the given model. This allows users to ensure their models are compatible with older HALCON versions.

  • The runtime initialization of a GPU device on a deep-learning model took a large amount of time since HALCON 23.11. This has been significantly improved.

    Note that this change affects the compatibility. Read more.

  • HALCON has been expanded to include the Out-of-Distribution Detection (OOD) function for all deep learning classification models. This function recognizes when an input is outside the distribution of the training data.

    In addition to the extension of the deep learning operators and procedures with the new out-of-distribution detection function, the operator fit_dl_out_of_distribution and the procedure add_dl_out_of_distribution_data have been introduced.

    The HDevelop example program hdevelop/Deep-Learning/Classification/detect_out_of_distribution_samples_for_classification.hdev has been added to show how to set up a classification DL model with this feature.

    The reference manual entry "Deep Learning” > “Classification” has been extended with instructions on how to fit a classification model for out-of-distribution detection.

    The procedure evaluate_dl_model has been extended to evaluate the out-of-distribution detection feature using multiple evaluation metrics.



Graphics

  • The new LUTs 'batlow' and 'invers_batlow' have been added. These LUTs are perceptually uniform and color-vision-deficiency friendly.



Matching

  • train_generic_shape_model now offers a new method to determine search parameter values by extended parameter estimation. Given representative matching samples, the estimation result replaces 'greediness' and 'min_score'. Accordingly, set_generic_shape_model_param has been extended with a new parameter named 'extended_parameter_estimation'. The new method can be enabled with the value 'per_level'.
    As a consequence, the extended parameter estimation of 'min_score' is now enabled by setting the new parameter to the value 'linear'. The HDevelop example train_generic_shape_model_sample_workflow.hdev has been adapted.
    As the estimation replaces 'greediness' and 'min_score', the result values cannot be retrieved by get_generic_shape_model_param.

  • For train_generic_shape_model, determining 'min_score' through the extended parameter estimation method 'linear_estimate' has been modified. The criterion for accepting matches in samples has been improved. This may change the behavior in rare cases.
    The operator now also returns the error 8684 ("Extended parameter estimation failed") in case of no or too many found matches on a sample.



Miscellaneous

  • The 'val' parameter of the HPGetPPar function was changed from Hcpar* H_RESTRICT to Hcpar const* H_RESTRICT*.

    Note that this change affects the compatibility. Read more.


OCR

  • HALCON has been extended with an operator tuple_str_distance that calculates the edit distance between strings.



Region

  • The new operator test_region_points can be used to query which points are contained in one or more regions. Contrary to test_region_point, the test result is returned for each tested point individually. The operator supports parameter broadcasting, with either a single region and multiple points, multiple regions and a single point, or multiple regions and multiple points.



System

  • get_system_info now supports all parameters that get_system supports.



Tools

  • The following operators now support parameter broadcasting, where input tuples of length 1 are automatically extended and used for all created elements: area_intersection_rectangle2, distance_pr, distance_lr, distance_sr, distance_sc, distance_lc, distance_cc_min, distance_cc_min_points, and distance_cc

    Note that this change affects the compatibility. Read more.


Tuple

  • The control tuple datatype now supports a copy-on-write mechanism. This increases the processing speed when copying or accessing tuple elements, especially when dealing with long tuples. As a consequence, the processing of dictionaries is accelerated if long tuples are included.

  • The access on the key table of HALCON dictionaries is now thread safe. See the reference documentation of create_dict for more details.




Bug Fixes3D

  • intersect_plane_object_model_3d did not report an error if the 'Plane' parameter was of the wrong type. This problem has been fixed.

  • convex_hull_object_model_3d, triangulate_object_model_3d, intersect_plane_object_model_3d, register_object_model_3d_pair, and register_object_model_3d_global behaved inconsistently for infinite primitives of type cylinder or plane. Depending on the input data, the operators returned different errors (9203, 9511, 9514, 9515, 9517) or incorrect results. This problem has been fixed. Now, the operators return error 9526 ("Primitive in 3D object model has no extended data") for infinite primitives.

    Note that this change affects the compatibility. Read more.

  • create_deformable_surface_model could crash in rare cases if complex geometric objects were used with a small relative sampling distance. This problem has been fixed.



Bar Code

  • The Aztec Code reader returned a FNC1 at first position in the DecodedDataStrings and in 'decoded_data' obtained by get_data_code_2d_results. This problem has been fixed.

  • In very rare cases, find_bar_code could crash if a candidate was successfully decoded by the 'small_elements_robustness' feature with activated quiet zone check, even though not a single edge pair could be detected on the original scanlines. This problem has been fixed.



Color Processing

  • When transforming byte images using trans_from_rgb or trans_to_rgb from or to the 'cielab' colorspace, the a and b channels were handled slightly incorrect due to a value scaling error. This problem has been fixed.



Data Code

  • In rare cases, the modules obtained by get_data_code_2d_objects with `module_1_rois' or 'module_0_rois' were mirrored if 'finder_pattern_tolerance' was set to 'any' or 'high' and 'mirrored' was set to 'any'. This problem has been fixed.

  • get_data_code_2d_results returned the raw_coded_data of Micro QR Codes without the error correction words. This problem has been fixed. Furthermore, the raw_coded_data and the corr_coded data is now returned in packed bytes by get_data_code_2d_results for Micro QR Codes.

  • The Micro QR Code reader crashed in rare cases. This problem has been fixed.

  • find_data_code_2d identified PDF417 and Aztec symbols twice in very rare cases. This problem has been fixed.

  • The QR Code parameter 'position_pattern_min' was trained when calling find_data_code_2d with parameter 'train' set to 'all' even though it was not documented as a trainable parameter. Further, query_data_code_2d_params did not return it in the list of 'trained' parameters. These problems have been fixed. Now, 'position_pattern_min' is documented as trainable for QR Code models and can be trained as single parameter or together with other parameters (including 'all').

  • The Aztec Code reader returned a FNC1 at first position in the DecodedDataStrings and in 'decoded_data' obtained by get_data_code_2d_results. This problem has been fixed.

  • query_data_code_2d_params returned the name of a parameter that is not used anymore. This problem has been fixed.



Deep Learning

  • HALCON has been extended with the public procedure get_image_dir. This procedure returns the directories that will be searched by HALCON when reading images (e.g., with read_image or read_sequence). This may include but is not limited to the contents of the HALCONIMAGES environment variable and the local directory.
    Example programs now use get_image_dir instead of manually constructing the path using the example directory.

  • Reduce layers produced an error if all given axes already had a dimension of 1. This problem has been fixed. Reduce layers now behave like an Identity in this special case.

  • query_available_dl_devices internally initialized both HALCON runtimes (CPU and GPU) together, even if only one of them was requested in the generic parameters. This behavior has been optimized.

  • Models containing a zoom layer could fail during optimization when combined with certain input sizes. Affected pretrained models were:


    This problem has been fixed.

    • initial_dl_anomaly_large.hdl

    • initial_dl_anomaly_medium.hdl

    • pretrained_deep_ocr_detection_compact.hdl

    • pretrained_deep_ocr_detection.hdl

    • pretrained_dl_3d_gripping_point.hdl

    • pretrained_dl_anomaly_global_context.hdl

    • pretrained_dl_edge_extractor.hdl

    • pretrained_dl_segmentation_compact.hdl

    • pretrained_dl_segmentation_enhanced.hdl

  • When using a Hailo device, certain model parameters could not be set on optimized models. Now, supported parameters can be adjusted after calling optimize_dl_model_for_inference on Hailo devices without re-running the optimization.
    Further, it was possible to change the number of classes after calling optimize_dl_model_for_inference, which resulted in an error during inference. This problem has been fixed.

  • read_deep_ocr, read_deep_counting_model, and deserialize_handle could behave unexpectedly when passing them the wrong handle type or a corrupt one, because no handle type check was done for DeepOCR and DeepCounting handles during deserialization. This problem has been fixed. Now, an error is raised if the handle type does not match the expected one.

  • For DL object detection models with 'max_overlap' or 'max_overlap_class_agnostic' set to 0, only a single box was predicted per class or per image, respectively, even if other boxes were not overlapping. This problem has been fixed.

    Note that this change affects the compatibility. Read more.

  • The augmentation 'rotate_range' of the Deep OCR recognition training raised an exception in augment_dl_samples. This problem has been fixed.

  • The error messages that can occur when using the parameter 'type' in set_dl_model_param have been improved to be more descriptive.



File

  • json_to_dict and read_dict could not convert JSON arrays containing at least one JSON object to a tuple containing dicts when the option 'convert_json_arrays_to' was set to 'tuple' or 'tuple_if_possible'. This problem has been fixed.



Filter

  • segment_image_mser could return a memory management-related error for certain values of 'MinArea'. This problem has been fixed.

  • In parallel execution, edges_sub_pix could lead to non-deterministic results if the '_junctions' suffix was added to values of Filter. Furthermore, returned Edges could be duplicates in rare cases, i.e., they occurred more often than once in the result. These problems have been fixed.



Identification

  • When training the Aztec Code reader, find_data_code_2d did not accept 'contrast' as parameter to be trained, instead it expected 'contrast_min'. This problem has been fixed, and both values are accepted now.



Matching

  • find_generic_shape_model, find_shape_model, find_shape_models, find_scaled_shape_model, find_scaled_shape_models, find_aniso_shape_model, and find_aniso_shape_models suffered from a wrong offset when matches were not found on the last level with 'border_shape_model' set to true and allowed deformation. This problem could lead to erroneous match coordinates and has been fixed.

  • determine_shape_model_params and create_scaled_shape_model returned different estimated scaling values for given angles. This problem has been fixed.

  • find_ncc_model and find_ncc_models crashed when the model(s) were created on an empty image. This problem has been fixed. Now, they behave consistently to find_shape_model and find_shape_models, returning an error.

  • find_shape_model, find_scaled_shape_model, and find_aniso_shape_model expected integers for the parameters 'NumLevels' and 'NumMatches', but also accepted doubles, which hid a possible erroneous parameter usage. This problem has been fixed.

    Note that this change affects the compatibility. Read more.

  • set_generic_shape_model_object with GenParamName set to 'clutter_region' did not raise an error if the region contained negative coordinates, and the documentation did not indicate a clear workaround. This problem has been fixed. set_generic_shape_model_object now returns the error 8519 ("Clutter region contains negative coordinates").

  • find_shape_model, find_shape_models, find_scaled_shape_model, find_scaled_shape_models, find_aniso_shape_model, and find_aniso_shape_models did not allocate enough memory for all chords, which led to an error in certain cases. This problem has been fixed.



Memory

  • When using binocular_disparity with very large images in conjunction with memory_allocator=mimalloc and a high degree of memory usage, crashes due to memory exhaustion could occur. This problem has been fixed.



Miscellaneous

  • protect_ocr_trainf, read_ocr_trainf_names_protected, and, when reading encrypted models, also read_dl_model, were not thread-safe. This problem has been fixed.

  • When image_to_memory_block had been called with an unsupported format, an empty memory block was created, and no error was raised. This problem has been fixed.



Parallelization

  • timed_wait_condition did not relock the mutex in the event of a timeout when used in HDevelop. This problem has been fixed.



Region

  • inner_circle returned the error 3513 ("Internal error: number of chords too big for num_max") if the input region contained a lot of small holes. This also affected region_features and select_shape with the corresponding features. This problem has been fixed.



System

  • Attempting to run an operator with automatic operator parallelization turned on while the thread pool was turned off led to a crash. This problem has been fixed.

  • HALCON initialized output images for operators with more than one input image when all inputs where full domain images and the image dimensions were not equal. This problem has been fixed.





ProceduresBug Fixes

  • When calling the procedure dev_display_dl_data with an empty tuple as 'DLDatasetInfo' with the request to display a classification ground truth or result, the procedure returned an error. This problem has been fixed. Now, the procedure behaves as described in its documentation if an empty tuple is passed as 'DLDatasetInfo'.




HALCON Variable InspectFunctionality

  • The HALCON Variable Inspect toolbar now adapts to the used Visual Studio theme. Further, the used icons have been reworked.




Image Acquisition Interfaces

The latest information about new interface revisions and newly supported image acquisition devices can be found on MVTec's web server. Please refer to the release notes within the documentation of the individual image acquisition interfaces for information about improvements, bugfixes, or whether a new revision of the corresponding device driver is required.


Digital I/O Interfaces

The latest information about new interface revisions and newly supported digital I/O interfaces can be found on MVTec's web server. Please refer to the release notes within the documentation of the individual digital I/O interfaces for information about improvements, bugfixes, or whether a new revision of the corresponding device driver is required.


DocumentationProgrammer's Manuals

  • The manual "HALCON for Arm-based Platforms" has been extended to include information about Embedded Eval Licenses and how to install them on Arm platforms.



User Guides

  • The Installation Guide did not mention that the SOM package containing hardware support for license dongles is available and gave obsolete manual instructions instead. This problem has been fixed.



Solution Guides

  • The Solution Guide III-B 2D Measuring referenced an outdated location for further information about 2D metrology. This problem has been fixed.

  • The Solution Guide III-B 2D Measuring mentioned a wrong operator regarding the center of a shape model region. This problem has been fixed.



Reference Manual

  • The German reference manual entry of binocular_disparity_ms missed the section describing the parameter value 'num_levels'. This section has been added, and the operator reference has been revised and restructured for all languages.

  • Reference manuals entries for legacy operators now contain the HALCON version with which they will be removed, if the removal is already scheduled.

  • In the reference manual entry of guided_filter, an example did not match the shown images. This problem has been fixed.

  • The reference manual entry of set_metrology_object_param did not mention the minimum values for the parameter 'num_measures' in the case of circular and elliptic arcs, but only for closed circles and ellipses. This problem has been fixed

  • The reference manual entry of trans_from_rgb contained an error in for the equation for v' in the cieluv and cielchuv colorspaces. Furthermore, the equations for the ihs colorspace were open to ambiguity. These problems have been fixed.

  • The reference manual entries for trans_from_rgb and trans_to_rgb contained contained several errors in the given formulas and value ranges. This problem has been fixed.

  • The reference manual entry of trans_from_rgb has been unclear regarding the scaling of output value ranges for color space 'ciexyz2'. This problem has been fixed.



Miscellaneous

  • The MVTec Academy covers many topics in its various interactive online courses. A link to related MVTec Academy courses has been added to manuals, solution guides, and operator references, wherever suitable.




Installation

  • The HALCON installation included a deprecated version of somctl, which on Windows systems made it impossible to uninstall HALCON via the control panel. As newer versions of SOM no longer require somctl in the HALCON installation, the latter has been removed completely from the installation.

  • The armv7-linux platform has been announced legacy as standard HALCON platform since HALCON 24.11.



Licensing

  • When using a floating license on Windows, HALCON now starts a watchdog process to make sure the license is returned immediately when the HALCON process is terminated.

  • The HALCON Progress and HALCON Steady editions now share the same binary, called HALCON 24.11 Progress-Steady.

  • Licenses for a HALCON Progress edition can now also be used for the corresponding HALCON Steady edition.

  • The required license modules have been adapted according to the new deep learning licensing.

  • The new license analysis tool hinfo has been added and can be found in the bin folder of the HALCON installation. The tool analyses all licenses that can be found by the installed HALCON version and returns characteristics and information on the validity of the license.

  • The parameters 'supported_editions' and 'licensed_product_edition' have been added as argument to get_system and get_system_info. Furthermore, the parameters 'edition' and 'product_edition' are now deprecated.



Third-Party Libraries

  • The third-party library libjpeg-turbo has been updated to version 3.0.3.

  • The third-party library LibTIFF has been updated to version 4.7.0.

  • Skia, the library used for HALCON's visualization, has been updated to milestone 124.

  • The third-party library JasPer has been updated to version 4.2.4.

  • The third-party library libpng has been updated to version 1.6.43.

  • The third-party library PCRE2 has been updated to version 10.44.

  • The third-party library zlib has been updated to version 1.3.1.

  • The third-party library Apache Thrift has been updated to version 0.20.0.

  • The third-party library libxml2 has been updated to version 2.13.2.

  • The optional third-party library libcurl has been updated to version 8.10.1.

  • The third-party library OpenSSL has been updated to the long term support series OpenSSL 3.0. Previously in HALCON 22.11, OpenSSL 1.1 was used, while HALCON 24.05 used OpenSSL 3.2.

  • The third-party library libprotobuf has been updated to version 3.21.12.
    The third-party library onnx has been updated to version 1.16.2.




Release Notes of Previous HALCON Versions

Follow this link to read about the changes of previous HALCON versions.


首页
84162741QQ
联系