HALCON: HALCON 20.11.0.0 Progress主要新特性
改進了基於形狀的匹配
在HALCON 20.11中,對基於形狀匹配的核心技術進行了改進,尤其是針對低對比度和高噪聲的場景。現在可以自動估計更多的參數。這增加了低對比度和高噪聲的情況下的可用性、匹配率和魯棒性在。
DotCode解碼
在HALCON 20.11中,數據編碼解碼器已經擴展為新的編碼類型DotCode。這種類型的2D代碼基於一個點矩陣。因此,它可以打印的非常快,特別適用於高速應用,如在制葯或煙草行業。
深度OCR
通過HALCON 20.11中的深度OCR,MVTec為OCR引入了一種基於深度學習的整體方法。這項新技術使機器視覺距離人類閱讀更近了一步。
與現有算法相比,無論字符怎樣旋轉和字體怎樣變化,深度OCR都可以更穩健地對字符進行定位。自動分組字符的能力允許識別整個單詞。這極大地提高了識別性能,例如,可以避免對具有相似外觀的字符的誤解。
改進邊緣支持的基於表面的3D匹配
在HALCON 20.11中,邊緣支持的基於表面的3D匹配核心技術對於具有許多對象和邊緣的3D場景來說速度顯著加快。除了這個加速之外,通過消除設置視點的需要,可用性也得到了改進。
HALCON / Python
HALCON 20.11引入了一個新的HALCON/Python接口。這使得使用Python的開發人員能夠輕松訪問HALCON強大的操作符集。
HDevelop改版
為了增強可用性,HALCON的集成開發環境HDevelop進行了改進。在HALCON 20.11中,為單個配置實現了更多選項,例如,一個新的現代窗口對接概念。此外,主題現在可用來改善視覺人體工程學和適應個人喜好。
深度學習邊緣提取
深度學習邊緣提取是一種新的、獨特的魯棒提取邊緣(如物體邊界)的方法,主要有兩個用例。
特別是在圖像中可以看到各種邊緣的情況下,MVTec的深度學習邊緣提取可以訓練只使用少量圖像來可靠地提取所需的邊緣。因此,使用MVTec HALCON大大減少了提取特定類型邊緣的編程工作量。
此外,預先訓練的網絡天生就能在低對比度和高噪聲的情況下魯棒檢測邊緣。這使得提取常規的邊緣檢測過濾器不能檢測的邊緣成為可能。
深度學習的修剪
通過網絡剪枝,用戶可以選擇在存儲需求和速度方面優化完全訓練的深度學習網絡。有了這個特性,就有可能控制速度、存儲和精度等參數的優先級,從而根據特定應用程序的需求修改網絡。
HALCON XL
MVTec HALCON可以在兩種模式下使用:標准HALCON為標准大小的圖像進行了優化。相比之下,HALCON XL可以處理大於32768 x 32768的圖像。
像標准的HALCON一樣,HALCON XL可以以兩種方式使用:您可以將相應的操作符庫集成到您自己的c++、Visual Basic、c#或C程序中,或者您可以使用HDevelop XL (HDevelop的大圖像版本)。
HALCON 兼容性
HALCON 庫
與HALCON 20.05 Progress相比,HALCON 20.11.0.0 Progress引入了許多擴展。
因此,HALCON 20.11.0.0 Progress庫與HALCON 20.05 Progress或早期版本不兼容。
然而,HALCON 20.11.0.0 Progress大部分源代碼兼容HALCON 20.05 Progress,除了下面列出的更改:
sort_region: with SortMode 'character' previously took the larger one of two overlapping regions for the calculation of the overlap. This can cause an issue in case the two regions greatly differ in their sizes. Now, the smaller region is used to compute the overlap. Hence, in cases with overlapping regions that are very different in their sizes, this change can cause a different behavior of the operator. Also note that the extension of the parameter SortMode with a second optional value affects the compatibility as the operator signature changed for language interfaces. Affected interfaces are C, C++ and .NET. More information.
As edges_object_model_3d is now by default independent of a viewpoint, a 'viewpoint' contained in GenParamName is silently ignored. To obtain the old behavior, add 'estimate_viewpose' and 'false' to GenParamName and GenParamValue, respectively.
To obtain the old behavior in case no manual viewpoint has been set, add ['estimate_viewpose', 'viewpoint'] and ['false', '0 0 0'] to GenParamName and GenParamValue, respectively. More information.
The default value for the new parameter 'max_num_samples' in the deep learning procedure determine_dl_model_detection_param has been set to 1500. For datasets with more than 1500 samples, this can lead to different detection parameters determined by the procedure. To reproduce the previous behavior, set 'max_num_samples' to '-1'. More information.
A set 'viewpoint' in GenParamName of find_surface_model, find_surface_model_image, refine_surface_model_pose, and refine_surface_model_pose_image has no effect anymore, except for the calculation of the view-based score if specified by 'use_view_based' set to 'true'. The procedure debug_find_surface_model has been adapted accordingly.
If a surface-based model has been trained for use of edges, and the input point cloud of find_surface_model and find_surface_model_image contains a mapping, scene normals are automatically generated flipped inwards consistently w.r.t. the mapping. Normals contained in the input point cloud are not used anymore. Furthermore, the GenParamName 'scene_invert_normals' should not be needed anymore. Typically, 'scene_invert_normals' should be set to 'false' or be removed from GenParamName.
In rare cases, edge-supported surface-based matching returns slightly different results.
More information.
Using NVIDIA GPUs under Windows 7 is not supported anymore. More information.
Due to the change of the default value for the parameter 'rectif_interpolation' when using stereo models, identical results compared to previous HALCON versions can be obtained by calling set_stereo_model_param(StereoModel, 'rectif_interpolation', 'none') and set_stereo_model_image_pairs before reconstructing the surface using reconstruct_surface_stereo. More information.
The default encoding of 2D data codes has been changed from 'utf8' to 'latin1'. Programs that expect UTF-8 encoded messages must be adapted by setting the parameter 'string_encoding' to 'utf8' with set_data_code_2d_param. More information.
get_data_code_2d_results now returns the value '-1' for all result-specific parameters if 'CandidateHandle' is 'general'. Applications that expect another value or an empty tuple need to be adapted. More information.
In very rare cases, the results of the operators watersheds, watersheds_threshold, and watersheds_marker might have changed for basins at the boundary of the ROI that are one pixel large. More information.
停止x86-win32平台版本的Windows
在HALCON 20.11中,用於Windows的x86-win32平台版本已經終止。
將任何現有的x86-win32應用程序切換到Windows的x64-win64平台版本,以便能夠使用HALCON 20.11。
支持操作系統
Windows
HALCON 20.11.0.0 Progress has been compiled for the x64-win64 platform version for Windows 7/8.1/10 or Windows Server 2008 R2/2012 R2/2016/2019 x64 Edition on Intel 64 or AMD 64 processors.
Linux
HALCON 20.11.0.0 Progress has been compiled for the following Linux platform versions:
- x64 platform version for Linux x86_64, GLIBC_2.17, GLIBCXX_3.4.21, on Intel 64 or AMD 64 processors
- armv7a platform version for Linux armv7a, Kernel with hidraw support, hard-float ABI, GLIBC_2.17, GLIBCXX_3.4.21 on Armv7-A processors with NEON support
- aarch64 platform version for Linux aarch64, Kernel with hidraw support, GLIBC_2.17, GLIBCXX_3.4.21 on AArch64 processors
- Please refer to the Installation Guide for detailed system requirements corresponding to the different Application Binary Interfaces.
macOS
HALCON 20.11.0.0 Progress has been compiled for the x64 platform version of macOS 10.15 on Intel 64.