石鑫华视觉论坛

 找回密码
 注册会员
查看: 14|回复: 0

[MVTEC] MVTEC Halcon 25.05.0.0 Progress Full Version Linux x64-linux HALCON25.05.0.0进阶完整版 64位Linux版

[复制链接]
  • TA的每日心情
    无聊
    14 小时前
  • 签到天数: 3570 天

    连续签到: 3 天

    [LV.Master]2000FPS

     楼主| 发表于 14 小时前 | 显示全部楼层 |阅读模式 来自:广东省深圳市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    MVTEC Halcon 25.05.0.0 Progress Full Version Linux x64-linux HALCON25.05.0.0进阶完整版 64位Linux版

    HALCON 25.05.0.0 Full Version (x64-Linux):
    文件名: halcon-25.05.0.0-x64-linux.zip
    文件大小: 8253027346 字节 (7.69 GB)
    修改日期: 2025-05-23 02:41
    MD5: 4a85544f640624e752e4ebf3364cb4fd
    SHA1: 99723c87449b451451ef5a246e0825b85933f0f2
    SHA256: 83b9c33aa755273f76297f3ef75855bf66a049e52d619560e025683ad4ed28d0
    CRC32: d02f5d8e

    MVTEC官方下载
    www.mvtec.com

    百度网盘下载地址:
    链接:https://pan.baidu.com/s/1C3PaaYeU25wSEgoG2xKFCw
    提取码:
    游客,如果您要查看本帖隐藏内容请回复


    Release Notes for HALCON 25.05.0.0 Progress
    Here you can see the release notes for MVTec HALCON 25.05.0.0 Progress, as released in May 2025.
    Contents
    • Major New Features of HALCON 25.05.0.0 Progress
      • Train Your Own Deep 3D Matching Models
      • More Robust Deep OCR With Alignment-Based Text Correction
      • Enhanced Code Reader With QR Code Rectification
      • Interruptible Training for Generic Shape Matching
      • New Image Acquisition Interface for Modern Camera Technology
      • New Preview Version of HDevelopEVO
    • Compatibility
      • Licenses
      • HALCON Library
      • HALCON Applications
      • Image Acquisition Interfaces
      • Digital I/O Interfaces
      • Extension Packages
    • Supported Operating Systems
      • Windows
      • Linux
    • Detailed Description of Changes in HALCON 25.05.0.0 Progress
      • HDevelop
        • Bug Fixes
        • HDevelop Example Programs
      • HDevEngine
        • Bug Fixes
      • HALCON Library
        • Speedup
        • New Functionality
        • Bug Fixes
      • HALCON/.NET
      • HALCON Variable Inspect
      • Image Acquisition Interfaces
      • Digital I/O Interfaces
      • Documentation
      • Installation
      • Licensing
    • Errata Release Notes

    Major New Features of HALCON 25.05.0.0 ProgressTrain Your Own Deep 3D Matching Models
    Deep 3D Matching is a new deep-learning-based technology for fast and robust 3D object detection and pose estimation using 2D images. It requires minimal parametrization and delivers high performance, making it ideal for applications such as bin picking and robotic handling – even in challenging conditions.
    With HALCON 25.05, users can now train their Deep 3D Matching models independently, without requiring MVTec support. A new renderer makes it possible to generate training data from the CAD model of the relevant object and thus also enables training exclusively with synthetically generated, labeled data. This allows for a flexible setup and can cover various object properties like reflections and transparency.
    With the new training functionality, customers can now create 3D matching applications tailored to their specific needs and environment.
    If desired, model training can still be commissioned as a paid service through MVTec.

    More Robust Deep OCR With Alignment-Based Text Correction
    In some applications, running Deep OCR’s detection model, which localizes word regions in the image, may not be feasible due to tight cycle time constraints. In such cases, users define text regions manually or through rule-based image processing, which can lead to inaccurate recognition due to suboptimal crops.
    With HALCON 25.05, Deep OCR thus includes an alignment step before recognition. This step refines rough word crops, significantly improving reading accuracy even when text regions are placed imprecisely. As a result, users can bypass the detection model while maintaining reliable OCR results – leading to a considerable reduction in processing time.
    This makes text recognition workflows not only more flexible but also much faster, as precise ROI placement is no longer required. The alignment step itself is highly efficient and adds only minimal processing overhead.

    Enhanced Code Reader With QR Code Rectification
    With version 25.05, HALCON improves its code reader with QR code rectification, enabling reliable reading even on curved or deformed surfaces. This expands application possibilities in industries such as logistics, packaging, food production, and bottle labeling, where QR codes often appear on non-flat materials.
    The rectification process ensures higher readability without requiring perfectly flat surfaces. It is optional and can be enabled as needed. While processing time is slightly longer than standard QR code reading, the improved robustness makes it a valuable addition for demanding applications.

    Interruptible Training for Generic Shape Matching
    The 25.05 release of HALCON adds the possibility to interrupt training for Generic Shape Matching, giving users greater flexibility and control over the process. Training can now be stopped manually or limited with a timeout (e.g., after 1 second), ensuring efficient operation without unnecessary waiting times.
    Previously, once training started, it had to run to completion, which could lead to delays – especially in embedded applications with limited resources. Now, users can seamlessly integrate training into their workflows, preventing long processing times and improving responsiveness.

    New Image Acquisition Interface for Modern Camera Technology
    HALCON 25.05 introduces a new set of image acquisition operators designed for seamless integration with state-of-the-art camera technology. While MVTec has always focused on efficient camera connectivity, modern standards like GigE Vision and USB3 Vision bring both new opportunities and new challenges. The new interface simplifies camera handling while providing full control over advanced configurations.
    These new operators provide a clearer, more intuitive interface, optimized for standard use cases while maintaining full control over the GenICam GenTL architecture. Additionally, they support multiple streams if provided by GenICam GenTL devices.
    Users can expect performance equal to or even faster than previous operators, ensuring a smooth transition to the latest camera technology.

    New Preview Version of HDevelopEVO
    Use External Procedure Files in HDevelopEVO
    HDevelopEVO 25.05 introduces support for referencing procedures stored in external files. Users can now split their programs into multiple files and reference procedures across them.
    This enables cleaner program structure and is a first step toward future support for modular libraries.

    Gray Value Histogram: First Machine Vision Tool in HDevelopEVO
    To address a common need in machine vision workflows, HDevelopEVO 25.05 adds the gray value histogram – one of the most frequently used tools for image analysis. It enables the user to visualize the distribution of pixel intensities in an image and to interactively set thresholds to select relevant regions for further processing.

    Integrated AI assistants for smarter development workflows
    To support developers more effectively, HDevelopEVO 25.05 introduces AI assistants. These include an interactive chat, agents for, e.g., IDE commands and shell commands, and automatic code completion. Users can choose between cloud-based, self-hosted, or local AI models while maintaining full control over data and model usage. The AI assistants must be explicitly activated by the user.


    CompatibilityLicenses
    HALCON 25.05.0.0 Progress requires a valid HALCON Progress license and does not run with licenses of HALCON 13 and earlier versions or HALCON Steady.

    HALCON Library
    Compared to HALCON 24.11.1 Steady, many extensions have been introduced. Thus, the HALCON 25.05.0.0 Progress libraries are not binary compatible with HALCON 24.11.1 Steady or earlier versions. However, HALCON 25.05.0.0 Progress is mostly source-code compatible to HALCON 24.11.1 Steady except for the changes listed below:
    • The operators get_handle_param and get_handle_tuple no longer return values for handles of type compute_device. To obtain the corresponding values, use the operator get_compute_device_param instead.
    • set_deep_ocr_param does not allow setting the parameter 'recognition_image_num_channels' any longer. As a consequence, it cannot be set to 1 anymore. A corresponding error message is displayed now.
      More information.
    • The interface of apply_deep_matching_3d has been modified. The parameter now takes two additional parameters for generic parameters and values. To adapt existing code, empty tuples can be passed for both parameters to obtain the previous behavior.
      More information.


    HALCON Applications
    Please re-compile all C, C++, or .NET programs developed with HALCON 24.11.1 Steady. The incompatibility with HALCON 24.11.1 Steady 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 25.05.0.0 Progress and HALCON 24.11.1 Steady image acquisition interfaces are library compatible.
    HALCON 25.05.0.0 Progress 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 25.05.0.0 Progress and HALCON 24.11.1 Steady digital I/O interfaces are library compatible.
    HALCON 25.05.0.0 Progress 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.11.1 Steady.


    Supported Operating SystemsWindows
    HALCON 25.05.0.0 Progress 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 25.05.0.0 Progress 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 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 25.05.0.0 Progress
    The changes in HALCON 25.05.0.0 Progress are described with respect to HALCON 24.11.1.
    HDevelopBug FixesCode Export
    • The code export failed for some expressions like dictionary use or named constants when these were separated from adjacent terms only by dummy parentheses and no spaces, for example: A := (D.a)and(D.b). This problem has been fixed.
    • The C# and VB exports of an assignment from subvector to variable as in v := w.at(0) did not copy the vector data, leading to shared references. This problem has been fixed.
    • Use of multiple identical dummy output variables (e.g., some_proc(In, Out1, _, _)) could lead to unexpected behavior after code export. This problem has been fixed. Note that direct calls of exported procedures from target applications should still avoid passing the same memory address for multiple output parameters.
    • When exporting only the current procedure to a single file, the setting to include referenced external procedures was ignored. This problem has been fixed.


    IDE
    • HDevelop did not support dragging and dropping STEP files. This problem has been fixed.


    Miscellaneous
    • The default behavior of HDevelop's file tracking mistakenly was 'Application file tracking'. This problem has been fixed. Now, the default behavior is 'System file tracking'.
      Note that 'Application file tracking' may have negative effects on HDevelop's performance. If you experience periodic moments of unresponsiveness or unusual file activity, switch to 'System file tracking' in HDevelop's preferences manually.



    HDevelop Example ProgramsNew HDevelop Example Programs
    • hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_data_generation.hdev
    • hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_training_workflow.hdev
    • hdevelop/Deep-Learning/Detection/dl_detection_inference_yolo.hdev
    • hdevelop/ImageSource/image_source_create.hdev
    • hdevelop/ImageSource/image_source_frame_rate.hdev
    • hdevelop/ImageSource/image_source_information.hdev
    • hdevelop/ImageSource/image_source_modules.hdev
    • hdevelop/ImageSource/image_source_parameters.hdev
    • hdevelop/ImageSource/image_source_pixel_format.hdev
    • hdevelop/ImageSource/image_source_plugin_path.hdev
    • hdevelop/ImageSource/image_source_query_devices.hdev
    • hdevelop/ImageSource/image_source_query_plugins.hdev
    • hdevelop/ImageSource/image_source_simple.hdev
    • hdevelop/ImageSource/image_source_trigger_hardware.hdev
    • hdevelop/ImageSource/image_source_trigger_software.hdev
    • hdevelop/ImageSource/image_source_trigger_software_multithread.hdev
    • hdevelop/Applications/Wafer-Inspection/inspect_wafer.hdev

    New Functionality
    • The HDevelop example hdevelop/Classification/k-Nearest-Neighbor/classify_pills_hyperspectral.hdev has been improved. It now uses the GMM classifier, which delivers even better results and performs the classification significantly faster.


    Bug Fixes
    • The HDevelop example program hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_workflow.hdev did not work correctly when setting the device to 'tensorrt' or 'openvino'. Additionally, there were some issues with the visualization of the results. These problems have been fixed.
    • The example hdevelop/Tuple/String-Operations/tuple_split_join was not visible within the HDevelop example browser. This problem has been fixed.




    HDevEngineBug Fixes
    • Remote debugging failed when procedure variables exceeded a serialized size of 100 MB. This problem has been fixed. Note that a hard limit of 2 GB still exists.
    • Passing an empty tuple as input parameter via HDevEngine/.NET resulted in an inconsistent state, which could cause wrong behavior in rare cases, e.g., for the operator send_data. This problem has been fixed.



    HALCON LibrarySpeedup
    • emphasize is now faster for int2 and uint2 images. Furthermore, output images may differ if a multiplication factor other than 1.0 is used. Previously, rounding of the multiplication factor has been done internally, causing slightly incorrect results.
    • The operators for finding shape models for shape-based matching find_shape_model, find_shape_models, find_scaled_shape_model, find_scaled_shape_models, find_aniso_shape_model, find_aniso_shape_models, and find_generic_shape_model are now up to 10% faster on processors that support the NEON instruction sets. The speedup depends on the configuration of the shape-based matching – e.g., on the number of pyramid levels, the sub-pixel refinement, or type of input images (byte) – and can therefore be smaller as well.
    • The optimization for the aarch64-linux HALCON Arm platform has been improved. In this context, a number of operators have been accelerated, including the following:

      • Various parameters of find_shape_model operators up to 13%
      • Various codes of find_bar_code up to 12%
      • Various filters like
        • mean_image_shape up to 88%
        • mean_image up to 20%
        • trans_to_rgb/trans_from_rgb up to 50%
        • gauss_filter up to 70%
        • add_image/sub_image up to 35%
        • dots_image up to 37%
        • zoom_image_factor/zoom_image_size up to 32%
        • mirror_image up to 30%
        • laplace, laplace_of_gauss up to 25%
        • invert_image up to 12%
      • gray_opening/gray_closing/gray_dilation/gray_erosion with SE up to 37%
      • affine_trans_image up to 14%
      • rotate_image up to 12%
      • principal_comp up to 11%
      • emphasize up to 12%
      • var_threshold up to 8%
    • pow_image with the exponent set to two is now as fast as using mult_image.


    New Functionality3D
    • HALCON has been extended with the functionality for training a Deep 3D Matching model for specific applications. Now, the pose estimation component of a Deep 3D Matching model can also be trained with the typical workflow for training Deep Learning models.
      The new HDevelop example hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_training_workflow.hdev has been added to show how to perform the training on synthetically generated data. The training data needs to be previously generated using the new example hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_data_generation.hdev.
      Two new pretrained backbone networks are provided for training a 3D pose estimation model:

      • pretrained_dl_3d_pose_estimation_compact.hdl
      • pretrained_dl_3d_pose_estimation_enhanced.hdl
      For creating a Deep 3D Matching model, a new operator is introduced:
      • create_deep_matching_3d
      The following operator has been extended for Deep 3D Matching training:
      • train_dl_model_batch
      Additionally, two new deep learning procedures are now available. One to convert a DL Object Detection DLDataset to a DLDataset for training a 3D pose estimation model, and one to read a Deep 3D Matching dataset:
      • convert_dl_dataset_detection_to_pose_estimation
      • read_dl_dataset_deep_matching_3d
      Furthermore, the following deep learning procedures have been extended:
      • create_dl_preprocess_param_from_model
      • evaluate_dl_model
      • gen_dl_samples
      • preprocess_dl_dataset
      • preprocess_dl_samples
      • split_dl_dataset
      The reference manual chapters “3D Matching/Deep 3D Matching” and “Deep Learning/Model” as well as the operator entries for get_dl_model_param and get_deep_matching_3d_param have been extended. They now describe the workflow of the training for Deep 3D matching and how to use the operators and procedures.
    • HALCON has been extended with a set of operators that generate synthetic training data for Deep 3D Matching using the data generation tool Scene Engine.
      The Scene Engine and related assets must be installed separately using the MVTec Software Manager SOM.
      If installed correctly, the new operators open_scene_engine, get_scene_engine_param, set_scene_engine_param, and run_scene_engine can be used to connect to the Scene Engine, set and get parameters, and generate data.
      Additionally, the procedure library scene_engine_data_generation.hdpl was added. It provides convenience procedures for configuration, visualization, and ground truth generation.
      The new HDevelop example program deep_3d_matching_data_generation.hdev shows the usage of the Scene Engine to generate training data for Deep 3D Matching.
    • The format option 'generic_ascii' in read_object_model_3d has been extended. Now, commas are accepted as separator between the columns.
    • The interface of apply_deep_matching_3d has been modified. The parameter now takes two additional parameters for generic parameters and values.
      Note that this change affects the compatibility. Read more.

    Bar Code
    • The following new GS1 Application Identifiers are now supported:

      • 03 - Identification of a Made-to-Order (MtO) trade item (GTIN)
      • 716 - National Healthcare Reimbursement Number (NHRN) - Italy AIC
      • 7041- UN/CEFACT freight unit type
      • 8014 - Highly Individualised Device Registration Identifier (HIDRI)


    Data Code
    • The Aztec Code reader is now more robust against false-positive reads.
    • The localization of the finder patterns of QR Codes for the purpose of print quality inspection has been slightly improved.
    • HALCON's QR Code reader is now more robust on deformed codes. The parameter 'deformation_tolerance' has been added to toggle this new functionality. With the default mode 'maximum_recognition', this parameter is set to 'curved'. This parameter is trainable.
      To ease debugging of this new functionality, get_data_code_2d_objects has been extended with 'candidate_xld_deformed' to return a more accurate estimation of the symbol boundary. get_data_code_2d_results has been extended with 'deformation_objects' to return a dict with a rectified image of the code and respective module regions.
      The example hdevelop/Identification/Data-Code/2d_data_codes_default_settings.hdev has been extended with two new images: images/datacode/qr_code/qr_deformed_01.png and images/datacode/qr_code/qr_deformed_02.png.
    • A new parameter called 'strict_fp_and_qz' has been added to set_data_code_2d_param for the Data Matrix reader. This parameter allows controlling the behavior of find_data_code_2d during the detection of readable symbols with a low number of rows (lower than 13) and columns (lower than 19). The following values are supported:

      • 'true': All small symbols are checked for a disturbed finder pattern or quiet zone and might be discarded. This is the strictest option to suppress false positives.
      • 'tolerant': Only small symbols with a high probability of showing false positive results are checked. Less strict option, but still most of the false positives are suppressed. This value is the new default.
      • 'false': All additional checks for small symbols are disabled. All readable small symbols are returned as successful. This has the highest probability for false positives.
    • The following new GS1 Application Identifiers are now supported:

      • 03 - Identification of a Made-to-Order (MtO) trade item (GTIN)
      • 716 - National Healthcare Reimbursement Number (NHRN) - Italy AIC
      • 7041- UN/CEFACT freight unit type
      • 8014 - Highly Individualised Device Registration Identifier (HIDRI)


    Deep Learning
    • Deep OCR Recognition has been improved by extending it with a fast automatic text alignment, which aligns the word images before recognition. This significantly increases the recognition accuracy for inaccurate word crops. Therefore, the alignment can replace the word detection in scenarios where the position of the text is only roughly known.
      set_deep_ocr_param and get_deep_ocr_param have been extended with the parameter 'recognition_alignment' to enable and disable word alignment. Further, the new parameter 'recognition_alignment_available' can be queried with get_deep_ocr_param. It indicates whether the used model contains word alignment functionality.
      apply_deep_ocr now returns the aligned image in addition to the preprocessed input image if alignment is activated.
      The pretrained recognition model dl/pretrained_deep_ocr_recognition.hdl has been improved and extended with the alignment part.
      Further, the HDevelop example programs hdevelop/explore_halcon.hdev and hdevelop/OCR/Deep-OCR/deep_ocr_workflow.hdev now also demonstrate the usage of recognition with word alignment.
      The recognition of aligned word images requires to be trained with samples that contain real image background around the words. The HDevelop example program hdevelop/OCR/Deep-OCR/deep_ocr_recognition_training_workflow.hdev has been extended accordingly. It now offers the option to train the recognition model in an alignment-compatible way. The example uses the new DL dataset hdevelop/OCR/Deep-OCR/expiration_date_full.hdict, which contains the new images expiration_date_full_* from the subdirectory images/expiration_date_full and labels with word boxes.
      Recognition training only modifies the actual word recognition, while the alignment part remains unchanged.
      The following deep learning procedures have been extended:

      • check_dl_preprocess_param
      • create_dl_preprocess_param
      • create_dl_preprocess_param_from_model
      • dev_display_dl_invalid_samples
      • find_invalid_samples_dl_ocr_recognition
      • gen_dl_samples
      • preprocess_dl_dataset
      • preprocess_dl_model_images_ocr_recognition
      • train_dl_model
      The following new procedure is now available:
      • dev_display_deep_ocr_alignment
    • fit_dl_out_of_distribution can now be applied to models that have been optimized for AI2, to recalibrate the out-of-distribution detection. This can help in special cases where the performance dropped due to a precision conversion. A requirement is that out-of-distribution detection has already been activated by calling fit_dl_out_of_distribution prior to the model optimization.
    • The DL framework now contains the new operator create_dl_layer_slice, which creates a slice layer within a custom DL model. The layer produces a slice of the input tensor along multiple axes. read_dl_model has been extended such that the ONNX Slice operation can now be read as a slice layer in HALCON.
    • read_dl_model now supports reading ONNX models with ONNX operation 'Split'.
    • read_dl_model now supports reading ONNX models with ONNX operation 'Div'.
    • read_dl_model now supports reading ONNX models with initializers as inputs to ONNX operations 'Add', 'Sub', 'Mul', and 'Div'.
      read_dl_model now supports reading ONNX models with ONNX operation 'Constant' and attribute 'value' where not all entries of the tensor are equal. As part of this update, the requirement for the model to have an actual input has been removed, as inputs can now be replaced with constant nodes.
    • The deep learning layer 'zoom' has been extended with nearest neighbor interpolation.
      A new interpolation mode 'nearest_neighbor' has been introduced. Along with this new interpolation mode, a new setting called 'nearest_mode' indicates how to get the nearest neighbor pixel.
      Allowed values for 'nearest_mode' are: 'round_prefer_floor', 'round_prefer_ceil', 'floor', and 'ceil'.
      Additionally, coordinate transformation modes have been introduced for all supported interpolation modes. Previously, this could have been controlled only with a single boolean 'align_corners'. Now, there is a new 'coordinate_transformation_mode' setting, which offers the values 'half_pixel', 'align_corners', 'pytorch_half_pixel', and 'asymmetric'.
      create_dl_layer_zoom_factor, create_dl_layer_zoom_size, and create_dl_layer_zoom_to_layer_size have been extended to support these improvements.
      read_dl_model has been extended to support ONNX models, which utilize the operations and parameters mentioned above.
      Running a zoom layer on the GPU is now up to 200% faster for small depths.
    • The DL framework now contains the new operator create_dl_layer_affine_grid, which creates an affine grid layer within a custom DL model. The layer returns a 2D sampling grid parameterized by an affine transformation matrix.
    • The DL framework now contains the new operator create_dl_layer_grid_sample, which creates a grid sample layer within a custom DL model. The layer applies a spatial transformation to an input image or feature map. The operator read_dl_model has been extended such that the ONNX GridSample operation can now be read as a grid sample layer in HALCON.
    • read_dl_model now supports ONNX models with elementwise layers that have inputs of different dimensionality.
    • HALCON now supports reading and running inference of YOLO v8/v9 Deep Learning object detection models (axis-aligned bounding boxes). YOLO models are known for their real-time speed and high accuracy, making them ideal for applications requiring quick and reliable object detections. To use this feature, a trained YOLO ONNX model is required.
      A new example hdevelop/Deep-Learing/Detection/dl_detection_inference_yolo.hdev has been added, which guides you through the workflow.
    • read_dl_model now supports reading ONNX models (OpSetVersion ≥ 13) with the ONNX operation 'Softmax' and 'LogSoftmax' with any value for attribute 'axis'.
    • The DL framework has been extended with several object detection-related operators:

      • create_dl_layer_box_proposals creates a BoxProposals layer within a custom DL model. The layer optionally applies predicted box deltas to anchor boxes, and it performs non-maximum-suppression on the final boxes.
      • create_dl_layer_box_targets creates layers for box and class targets within a custom DL model. These layers can be used in a box classification or box regression loss.
      • create_dl_layer_anchors creates an Anchor layer within a custom DL model. The layer generates anchor boxes, which can be used as input to BoxTarget and BoxProposals layers.
      • create_dl_layer_roi_pooling creates a region of interest (ROI) Pooling layer within a custom DL model. The layer pools features within the given ROIs to a fixed output spatial dimension.
    • When reading ONNX models with read_dl_model, the default setting of 'optimize_for_inference' is now 'true' instead of 'false'. This saves about 50% on memory usage if the model is only used for inference via apply_dl_model.


    Matching
    • The usability of the shape-based matching operator train_generic_shape_model has been improved by allowing the operator to be interruptible. It now can be cancelled in HDevelop, it can be interrupted from other threads using interrupt_operator, and a timeout can be set using set_operator_timeout.


    Tools
    • The new operator gen_image_warp_map has been added to generate maps from non-regular point correspondences.



    Bug Fixes3D
    • disp_caltab crashed in rare cases for line cameras. This problem has been fixed.
      binocular_distance_mg and binocular_distance_ms in very rare cases returned inf values. This problem has been fixed.
    • set_deep_matching_3d_param did not raise an error if a telecentric camera was set. This problem has been fixed.
    • apply_deep_matching_3d did not handle input images correctly, which might have led to wrong results. This problem has been fixed.
    • apply_deep_matching_3d could crash in some cases if it was interrupted in HDevelop using F9, or from another thread using interrupt_operator. This problem has been fixed.
    • read_deep_matching_3d could crash in rare cases if the filename pointed to a directory instead of a file. This problem has been fixed.
    • apply_deep_matching_3d could crash in rare cases if objects were very close to the camera. This problem has been fixed.
    • xyz_to_object_model_3d could return the error 3513 ("Internal error: number of chords too big for num_max") when the images had a reduced and non-rectangular domain. This problem has been fixed.


    Bar Code
    • get_bar_code_result returned incorrect 'decoded_data' for some symbols of type Code 128. This problem has been fixed.
    • For all EAN/UPC codes following ISO/IEC 15420, the decodability grade and its related value reported by get_bar_code_result with the parameters 'quality_isoiec15416', 'quality_isoiec15416_float_grades', or 'quality_isoiec15416_values' could be wrong. The wrong values were returned if the critical bars and spaces were located in one of the following symbol characters: {0, 3, 4, 5, 6, 9}. This problem has been fixed.
    • In rare cases, get_bar_code_object returned scanlines without edge markers for 'scanlines_all', 'scanlines_valid', and 'scanlines_merged_edges'. This could occur if the scanlines were positioned very close together or on top of each other due to a very high number of scanlines or a very low height of the bar code. This problem has been fixed.
    • find_bar_code failed to read correct codes for the code type 'PharmaCode' if the reading direction was restricted to reverse, e.g., via set_bar_code_param(..., 'orientation', ...) and the 'quiet_zone' check was enabled. This problem has been fixed.


    Color Processing
    • trans_from_rgb generated unprecise rounding results for x64-win64 and x64-linux under certain conditions when using the color model 'hsv'. This problem has been fixed.


    Data Code
    • The QR Code reader returned incorrect strings if Shift_JIS-encoded characters contained a \x5c character as second byte. This problem has been fixed.
    • find_data_code_2d in rare cases crashed if 'stop_after_result_num' had been set to 0. This problem has been fixed. Now, find_data_code_2d returns an error in this case.
    • The Data Matrix ECC 200 reader returned overlapping results in rare cases when executed single-threaded. This problem has been fixed.
    • find_data_code returned an unexpected SymbolXLD for symbols of type 'Data Matrix ECC 200' in very rare cases. This problem has been fixed. This can cause slight changes of the print quality grades for the affected symbols.
    • In some cases, there could be issues when find_data_code_2d was called on an image with a reduced domain. This issue affected the DataMatrix, PDF417, and QR Code reader. However, only for the latter one, crashes were observed. This problem has been fixed. The new behavior can lead to slightly different results if multiple codes (more than one) are on an image. This is true even for images without a reduced domain.
    • For the Aztec Code, get_data_code_2d_results could return wrong 'quality_isoiec15415' or 'quality_isoiec29158' grades or values if either multiple codes on one image were assessed or two different standards were subsequently called on one result. This problem has been fixed.
    • For the Aztec Code reader, the parameter 'strict_model' affected the decoding result of mirrored codes: If 'strict_model' was set to 'no', actually mirrored codes could be successfully decoded even if 'mirrored' was disabled via set_data_code_2d_param. This problem has been fixed. Furthermore, the documentation now states that the 'format' setting will be ignored for the Aztec Code if 'strict_model' is set to 'no'.
    • For the Data Matrix ECC 200 reader, the 'quality_isoiec15415' evaluation via get_data_code_2d_results could crash in HALCON XL if 'quality_isoiec15415_decode_algorithm' had been set to 'reference' beforehand. This problem has been fixed.
    • In some very rare cases, the QR Code reader did not terminate and find_data_code_2d had to be aborted manually. This problem has been fixed.
    • In very rare cases, the PDF417 reader returned a corrupted candidate_xld, which could not be visualized. This problem has been fixed.
    • For the QR code, the X-dimension used for the synthetic smoothing as part of the print quality inspection (quality_isoiec15415 and quality_isoiec29158) was wrongly calculated. This problem has been fixed. This can affect different grades of the print quality inspection. Especially, codes with a small symbol size might be impacted more.
    • If 'polarity' was set to 'any' via set_data_code_2d_param, the print quality results for QR and Micro QR Code symbols may have been different compared to when the actual polarity was set in the model. This problem has been fixed. Now, the symbol refinement for the print quality inspection will also be executed if the result's process level is zero. These changes can lead to slightly different results for the print quality inspection and can affect the runtime of the print quality computation for QR and Micro QR Code symbols.
    • In some rare cases, the standard parameters for the QR Code reader did not behave as expected. Symbols, which are decodable with standard recognition, could not be decoded with enhanced recognition. This problem has partially been fixed. Now, these cases happen less frequently.
    • In rare cases, the QR Code reader returned the error 6006 ("Tmp-memory management: could not find memory element") in find_data_code_2d if timeouts were enabled. This problem has been fixed.
    • The print quality assessment for Aztec Codes via get_data_code_2d_results could crash or run into undefined behavior if the used result needed a 'module_gap' unequal 'no' to be successfully decoded. This problem has been fixed.


    Deep Learning
    • The serialization strategy 'best' has been extended to support a new behavior, which allows models to be continuously saved during training even when validation performance is equally good compared to the last saved model. The new behavior can be enabled using the create_dl_train_param procedure and its GenParamName and GenParamValue parameters. A minimal working example can be found in the documentation of the create_dl_train_param procedure.
    • read_dl_model could not read ONNX models with some combinations of Transpose and Softmax nodes. This problem has been fixed.
    • set_deep_ocr_param did not handle the parameters 'recognition_image_num_channels' and 'recognition_image_height' consistently. This problem has been fixed.
      Note that this change affects the compatibility. Read more.

    Filter
    • sqrt_image, dots_image, sin_image, cos_image, and tan_image were not thread-safe for byte images when executing with non-compute device and enabled AOP. In very are cases, this could result in some false pixels. This problem has been fixed.
    • harmonic_interpolation returned wrong results in rare cases when automatic operator parallelization was activated. This problem has been fixed.
    • scale_image did not handle integer overflows for int1 and int2 images properly. This problem has been fixed.
    • eliminate_sp had a rounding issue, leading to results that were off by one. If the upper value bound of the image type was exceeded, this could also lead to defined overflow for BYTE and UINT2. The problem has been fixed.
    • In rare situations, harmonic_interpolation could generate NaN values. This problem has been fixed. Note that this fix can also affect the operators get_structured_light_object, calibrate_sheet_of_light, and some shape_model operators, since they share certain critical parts.


    Graphics
    • disp_text and dev_disp_text threw an error whenever the CoordSystem was set to 'image' and the parameters 'rotate_row' or 'rotate_col' were used together with their textual values, e.g., 'text_left' or 'text_top'. This problem has been fixed.
    • Small contours disappeared in HALCON windows if zoomed out. This problem has been fixed.
    • On some modern Linux systems, HALCON reported that no OpenGL is available even though the system had OpenGL support. This problem has been fixed.


    Identification
    • get_bar_code_result crashed if 'gs1_lint_passed' was queried for a result other than the first result. The variable inspect window in HDevelop was affected as well. This problem has been fixed.
    • The Aztec reader crashed in rare cases. This problem has been fixed.


    Images
    • add_image_border returned an error when a tuple of type mixed was passed as 'Size'. This problem has been fixed. Now, tuples of type mixed that only contain entries of type integer are handled correctly.


    Matching
    • find_local_deformable_model, find_planar_calib_deformable_model, and find_planar_uncalib_deformable_model could miss matches close to the image border in case these matches were not completely within the image, but the search had been run with 'border_shape_models' and a reduced image domain. This problem has been fixed.
    • find_ncc_model and find_ncc_models can return too high scores even if no model instance is visible in the search image, as they suffer from numerical imprecisions in case of large top-levels (which usually means that the top-level is a very low pyramid level). While this problem could still occur for very large top-levels, its impact has been moderated.
    • find_ncc_model and find_ncc_models in very rare cases suffered from inconsistencies, which may have led to wrong matches. This problem has been fixed.
    • find_shape_model, find_shape_models, find_scaled_shape_model, and find_scaled_shape_models did not find matches for anisotropically scaled models even if the scale ranges allowed it. This problem has been fixed.
    • 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 returned slightly inaccurate matching results in rare cases where subpixel refinement was used. This problem has been fixed.
    • find_ncc_model, find_ncc_models, find_component_model, find_local_deformable_model, find_planar_calib_deformable_model, and find_planar_uncalib_deformable_model returned slightly inaccurate matching results in rare cases. This problem has been fixed.
    • train_generic_shape_model, create_shape_model, create_scaled_shape_model, create_aniso_shape_model, and determine_shape_model_params used the same metric and min_contrast value for step size estimations, which could lead to suboptimal step sizes for the given shape model. This problem has been fixed. Now, the user-set metric and min_contrast values are used for step size estimations.
    • 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 could miss evaluating all points in case of metric ignore_global_polarity, which led to slightly off matches. This problem has been fixed.
    • The following HDevelop examples displayed the origin of the corresponding model instance incorrectly for a found match:
      determine_rotation_almost_rotationally_symmetric_objects, find_mirror_dies, determine_tilt_slant_photometric_stereo, find_generic_shape_model_xld_workflow, find_generic_shape_model_sample_workflow, train_generic_shape_model_sample_workflow
      This problem has been fixed. Optionally, now a new procedure dev_display_shape_matching_instances_model_origin can be used for the visualization.
    • find_shape_models, find_scaled_shape_models, and find_aniso_shape_models performed the search using incorrect parameters if the same model was passed multiple times with different search parameters. This problem has been fixed.


    Miscellaneous
    • The parameter 'parallel_split' has been removed from the operators query_operator_info and get_operator_info as it served no technical purpose.


    OCR
    • get_text_model_param always returned the value 'false' for the parameter 'dot_print_tight_char_spacing'. This problem has been fixed. Now, the actual setting ('true' or 'false') is returned.


    Region
    • In rare cases, closest_point_transform crashed if the output image size was set to one. This problem has been fixed.
    • In rare cases, closest_point_transform returned incorrect distances for the last output image row if Foreground was set to 'false'. This problem has been fixed.
    • inner_circle returned the error 3513 ("Internal error: number of chords too big for num_max") if the input region consisted only of short horizontal chords. This also affected region_features and select_shape with the corresponding features. This problem has been fixed.
    • gen_region_polygon and gen_region_polygon_filled expect tuples of row and column values. For HALCON (non-XL), the value range must not exceed the signed-16-bit range. This was not checked and resulted in an overflow for values exceeding the range. This problem has been fixed.
    • When processing regions with large positive and negative coordinates (> 16384 or < −16384) at the same time using the operators boundary, expand_gray, expand_gray_ref, expand_region, fill_up_shape, gen_region_points, gen_region_polygon, gen_region_polygon_xld, gen_region_runs, histo_2dim, merge_regions_line_scan, mirror_region, regiongrowing, regiongrowing_mean, or split_skeleton_region, under certain cases a corrupted internal region representation may have been created. This could potentially result in incorrect results or an application crash. This problem has been fixed.


    System
    • On Windows systems, using the get_serial_param and set_serial_param operators may have resulted in a crash under certain conditions. This problem has been fixed.


    Tools
    • create_rectification_grid created PostScript output with an incorrect bounding box. This problem has been fixed.




    HALCON/.NETBug Fixes
    • The class HDlModelOcr was missing from the HALCON/.NET NuGet packges. This problem has been fixed.



    HALCON Variable InspectBug Fixes
    • Sometimes the icons in HALCON Variable Inspect did not adapt to theme changes. This problem has been fixed.
    • HALCON Variable Inspect did not display the image coordinates and the gray value while hovering over it. This problem has been fixed.



    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.
    Functionality
    • HALCON now provides a new operator interface for image acquisition, which can be used instead of close_framegrabber, get_framegrabber_param, grab_data, grab_data_async, grab_image, grab_image_async, grab_image_start, info_framegrabber, open_framegrabber, and set_framegrabber_param. The new operators are based on GenICam GenTL and grant full control over the image acquisition stack.
      The new operator interface is described exhaustively on the Image Source page in the HALCON Operator Reference.
      The following new operators have been added to the new operator interface:
      connect_image_source, control_image_source, create_image_source, disconnect_image_source, fetch_from_image_source, get_image_source_param, query_image_sources, set_image_source_param, snap_from_image_source, start_image_source, stop_image_source
      These new HDevelop example programs show how to use the operators of the new operator interface:
      hdevelop/ImageSource/image_source_create.hdev
      hdevelop/ImageSource/image_source_frame_rate.hdev
      hdevelop/ImageSource/image_source_information.hdev
      hdevelop/ImageSource/image_source_modules.hdev
      hdevelop/ImageSource/image_source_parameters.hdev
      hdevelop/ImageSource/image_source_pixel_format.hdev
      hdevelop/ImageSource/image_source_plugin_path.hdev
      hdevelop/ImageSource/image_source_query_devices.hdev
      hdevelop/ImageSource/image_source_query_plugins.hdev
      hdevelop/ImageSource/image_source_trigger_hardware.hdev
      hdevelop/ImageSource/image_source_trigger_software_multithread.hdev
      hdevelop/ImageSource/image_source_trigger_software.hdev


    Bug Fixes
    • open_framegrabber leaked memory if it failed within the Image Acquisition Interface. This problem has been fixed.



    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
    • In the PDF version of the Programmer's Guide, several class names were not shown, mainly in the HDevEngine sections. This problem has been fixed.


    User Guides
    • The Installation Guide has been extended with a chapter about cybersecurity.


    Reference Manual
    • The documentation for shape-based matching did not mention that subpixel refinement does not update scores. This problem has been fixed.
    • The reference manual entry of get_deep_matching_3d_param stated that angles must be passed in radians instead of degrees. This problem has been fixed.
    • The documentation of the parameter 'symbol_shape', for example, settable via set_data_code_2d_param, was misleading. The documentation referred to the module shape instead of the symbol shape. This problem has been fixed.
    • The reference manual did not mention that for the Micro QR Code, the parameter 'position_pattern_min' is valid and settable via set_data_code_2d_param as well as gettable via get_data_code_2d_param. This problem has been fixed.
    • The reference manual entry of set_generic_shape_model_param did not clearly state how the parameters 'num_matches' and 'max_overlap' work in the multi-model case. The reference documentation has been adapted accordingly.
    • The reference manual entries of tile_images, tile_channels, and tile_images_offset have been clarified, now mentioning that all channels must be of the same image type.
    • The reference manual entry of trans_from_rgb had wrong values for S and H in 'hsi'. Further, the saturation scaling for uint2 and int4 was wrong. This problem has been fixed.


    Miscellaneous
    • In the technical note HALCON Memory Management, the chapter “How to Analyze Memory Usage” was added with information on memory tracking tools.



    Installation
    • HALCON now uses version 8.20a of the CodeMeter Runtime.


    Licensing
    • On Windows, if a process with elevated privileges was the first process to use HALCON, other non-privileged processes from the same login session could not use the same HALCON license. This problem has been fixed.



    Errata Release Notes
    • The release notes of HALCON 24.05 contained an incomplete note. It stated that binary_threshold had a bug only affecting HALCON XL and that this problem had been fixed. Actually, the bug affected both HALCON and HALCON XL and had been fixed for them both.


    Release Notes of Previous HALCON Versions
    Follow this link to read about the changes of previous HALCON versions.
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2025-6-18 22:52

    Powered by Discuz! X3.4

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表