Halcon 紋理缺陷檢測 apply_texture_inspection_model


在紋理中找瑕疵。基於高斯混合模型(GMM)分類器的紋理檢查模型,適用於圖像金字塔,可以分析紋理的多個頻率范圍。

【要求】訓練樣本,必須完美無瑕疵。

【步驟】

1、創建模型

create_texture_inspection_model read_texture_inspection_model

2、加載訓練樣本

add_texture_inspection_model_image

查看樣本get_texture_inspection_model_image

保存樣本write_object

移除樣本remove_texture_inspection_model_image,可降低模型內存需求。

3、訓練模型

train_texture_inspection_model

每層金字塔都會訓練一個GMM模型,並確定該層的'novelty_threshold'(區分有無瑕疵的閾值)。

參數的獲取與設定

get_texture_inspection_model_param

set_texture_inspection_model_param

'patch_normalization':'weber'對亮度魯棒,‘none’需要亮度作為評判(默認)

'patch_rotational_robustness':'true'對旋轉魯棒,'false'需要旋轉作為評判(默認)

加快訓練的方法:

① 縮放訓練樣本(zoom),通常模型對低分辨率紋理瑕疵檢測效果更好。

② 調低 'gmm_em_threshold',但會降低模型准確度,訓練終止的條件之一,0.001(默認)。

【重要參數】

'levels':設置具體的金字塔層參與訓練,紋理越粗糙,則較低的金字塔層級越可省略。默認auto。

'sensitivity':靈敏度,影響'novelty_threshold'的計算結果。負值會導致更高的閾值,從而更少的發現缺陷。默認0。

'novelty_threshold',閾值,自動計算得到,若結果不理想,可以手動微調。

4、測試

apply_texture_inspection_model

5、模型保存與釋放

保存模型,write_texture_inspection_model

若模型不再需要,則釋放clear_texture_inspection_model

 

【重要參數調節策略】

“ novelty_region”是通過組合不同金字塔等級的新穎性區域而生成的,即不同層級金字塔組成的交集區域。如果只有單層金字塔,那么該層的新穎性區域直接就是novelty_region。

若想查看各個金字塔等級的新穎性得分圖像和新穎性區域,可以把'gen_result_handle'設置為'true',之后get_texture_inspection_result_object讀取'novelty_score_image'和'novelty_region'。

'novelty_score_image'通過'novelty_threshold'閾值分割出感興趣區域(紅色)

上述方式可以知道在哪些金字塔等級上檢測到哪些類型的缺陷,來決定調整【重要參數】。如選擇特定的金字塔層級。

注意:如果參數'gen_result_handle'設置為'true'創建了結果句柄,則最后需要釋放clear_texture_inspection_result

【其他】

序列化、反序列化模型serialize_texture_inspection_modeldeserialize_texture_inspection_model

【術語解釋】

Patch:相鄰像素的集合。

Novelty Score:在測試過程中,將測試圖像的紋理特征與紋理檢查模型進行比較,並計算它們的'novelty score'。 該值越大,單個紋理特征越不適合紋理檢查模型的可能性越大。

Novelty Threshold:Novelty Score高於該閾值,則紋理有缺陷。

 

參考網站:Texture Inspection [HALCON Operator Reference / Version 17.12] (mvtec.com)

Halcon案例:

apply_texture_inspection_model.hdev、apply_texture_inspection_model_simple.hdev


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM