隨著最新的 1.6.0 版本發佈,Heliotis AlgoLibrary(「heliAlgos」)得到了進一步的擴展與技術提升。
該函式庫為干涉式 3D 測量數據的評估、校準和品質分析提供核心演算法,並可直接整合至現有應用程式中。其中許多功能在我們的參考與生產工具內部亦有使用,並作為穩定且經過測試的模組提供給使用者。
由於 heliAlgos 過去常被低估或使用較少,我們希望藉此新版本發佈之際,簡要介紹該函式庫並總結最重要的更新。
什麼是 heliAlgos?
AlgoLibrary 擴展了 heliInspect SDK,提供現成的 3D 處理演算法,涵蓋了針對 Heliotis 設備的複雜特定任務。許多方法在某種程度上超越了各種視覺框架的傳統演算法,因為它們融入了關於 Heliotis 特定數據的專業知識。
無需開發自己的基礎演算法,即可直接使用現有的實作,例如用於:
- 焦點與系統分析
- 相位處理與相位解包裹 (Phase Unwrapping)
- 符合 ISO 標準的粗糙度與表面參數
- 數據清理
- 校準與拼接 (Stitching)
整合直接在程式碼層級進行。封裝 (Wrappings) 可用於:
- C / C++
- CLR (C#, LabVIEW)
- Python
- Rust (新增)
- Halcon
- AuroraVision
這使得演算法可以直接嵌入到現有的工作流 (Pipelines) 中。
1.6.0 版本新功能
最新版本帶來了多項技術改進,特別是在整合性與穩定性方面。
Rust 綁定 (Bindings)
現在提供原生的 Rust 綁定。
這使得 AlgoLibrary 可以直接整合到現代且具備記憶體安全性的 Rust 應用程式中,無需額外的 C/FFI 封裝。
這特別簡化了在以下領域的應用:
- 高效能後端服務
- 嵌入式 / 邊緣運算應用
- 使用 Rust 的新型視覺堆疊 (Vision Stacks)
擴展的 Python 支援
Python 現在正式支援 3.8 至 3.14 版本。
經過重新設計的 Halcon 介面
Halcon 介面已調整以符合常見的 HALCON 慣例。
選用參數現在透過以下方式:
- GenParamName
- GenParamValue
進行設置。
這確保了:
- 更一致的算子簽章 (Operator Signatures)
- 更好的可讀性
- 更簡易的擴展性
拼接功能改進
拼接模組已根據使用者回饋進行擴展。
新增功能包括:
- 最小振幅準則
- 有效像素的最小數量
這些額外的品質指標提高了在以下情況下的穩定性:
- 弱訊號
- 邊緣區域
- 異質表面
特別是在大面積或馬賽克式掃描中,這會帶來更穩定的拼接結果。
實驗性功能:改進的包絡面提取 (Envelope Surface Extraction)
在「Experimental」組別中引入了一種新的包絡面提取模式。
目標:
- 更高的精度
- 更好的穩定性
- 更穩定的表面重建
該模式特別適合與基於相位和振動校正的方法結合使用,以實現更精確且一致的 3D 重建。
heliAlgo 函式庫的核心技術功能
除了新功能外,該函式庫繼續包含用於典型 3D 評估的成熟功能。
系統分析與焦點確定
- 振幅圖像上的 MTF 計算
- 自動確定最佳焦平面
- 區域 MTF 分析以檢測光學系統中的傾斜
適用於系統檢查、調整和在線監控。
具備振幅輔助的相位解包裹
- 品質引導路徑解包裹 (Quality-Guided Path Unwrapping)
- 相位與振幅資訊的結合使用
- 在階梯和材料過渡處獲得更穩定的結果
即使在困難的形貌下也能實現穩定的重建。
符合 ISO 標準的粗糙度與表面參數
實作符合:
- ISO 16610 (濾波器)
- ISO 21920 (輪廓)
- ISO 25178 (區域)
無需額外軟體即可直接計算粗糙度與結構特徵值。
數據處理與校準
- 離群值去除 (Outlier Removal)
- 多項式形狀去除 (Polynomial Form Removal)
- 表面法線校正 (Surface Normal Correction)
- 橫向畸變校正
- 拼接 (Stitching)
- I/Q 偏移校正
這些功能減少了系統誤差並提高了可重複性。
結論
透過 1.6.0 版本,Heliotis AlgoLibrary 在功能與整合方面都得到了進一步提升。
對於開發者而言,這意味著:
- 減少自行實作的工作量
- 更快的整合速度
- 穩定且經過測試的演算法
- 與生產一致的效能指標
- 可直接在 C++、C#、Python、Rust 或 Halcon 中使用
如果您目前尚未開始使用 heliAlgos,那麼最新的版本非常值得一試——許多典型的評估步驟都可以藉此直接簡化或完全取代。