Halcon 深度学习缺陷检测

文章目录

深度学习标注

>

获取图片路径

c 复制代码
C:\Users\Administrator\AppData\Roaming\MVTec\HALCON-23.11-Progress\examples\images

必须要有Good或者是OK文件夹做标注,剩下两个为逻辑异常和结构异常
点击检查选择good可以获取所有good图像的照片

点击创建应用和拆分

训练

点击训练
> 点击创建训练点击保存更改

设置完成后点击开始训练

点击评估

通过阈值可以调整判定的区间
滑动热图可以看出误判结果

导出训练文件

推理


已经用 DLT做好标注,训练,和评估,只需修改推理代码

推理代码示例

c 复制代码
* 获取文件图像路径包含合格和不合格图像
list_files ('C:/Users/Administrator/AppData/Roaming/MVTec/HALCON-23.11-Progress/examples/images/juice_bottle/logical_anomaly', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)

* 读取模型
read_dl_model (TrainedModel, DLModelHandle)
* 设置硬件
 query_available_dl_devices (['runtime', 'runtime', 'id'], ['gpu', 'cpu', 0], DLDeviceHandles)
 set_dl_model_param (DLModelHandle, 'device', DLDeviceHandles[0])

* 创建预处理参数
create_dl_preprocess_param_from_model (DLModelHandle, 'none', 'full_domain', [], [], [], DLPreprocessParam)
* 获取模型参数
get_dl_model_param(DLModelHandle,'meta_data',MetaData)
* 异常值分类阈值
ClassificationThreshold := number(MetaData.anomaly_classification_threshold)
SegmentationThreshold := number(MetaData.anomaly_segmentation_threshold)
* 
* Create a dictionary with dataset parameters used for display.
DLDatasetInfo := dict{class_names: ['ok', 'nok'], class_ids: [0, 1]}
* 
* Apply the model to test images.
WindowDict := dict{}
for IndexInference := 0 to |ImageFiles| - 1 by 1
    * 
    read_image (Image, ImageFiles[IndexInference])
    gen_dl_samples_from_images (Image, DLSample)
    * 获取预处理参数
    preprocess_dl_samples (DLSample, DLPreprocessParam)
    * 分类检测
    apply_dl_model (DLModelHandle, DLSample, [], DLResult)
    * 
    *阈值处理
    threshold_dl_anomaly_results (SegmentationThreshold, ClassificationThreshold, DLResult)
    * 显示结果
    dev_display_dl_data (DLSample, DLResult, DLDatasetInfo, ['anomaly_result', 'anomaly_image'], [], WindowDict)
    dev_disp_text ('Press F5 (continue)', 'window', 'bottom', 'center', 'black', [], [])
    stop ()
endfor
dev_close_window_dict (WindowDict)
return ()
相关推荐
zhangfeng11331 分钟前
氨基酸序列表示法,蛋白质序列表达 计算机中机器学习 大语言模型中的表达,为什么没有糖蛋白或者其他基团磷酸化甲基化乙酰化泛素化
人工智能·机器学习·语言模型
陈天伟教授11 分钟前
人工智能应用- 语言理解:06.大语言模型
人工智能·语言模型·自然语言处理
海心焱19 分钟前
安全之盾:深度解析 MCP 如何缝合企业级 SSO 身份验证体系,构建可信 AI 数据通道
人工智能·安全
2501_9453184922 分钟前
AI证书能否作为招聘/培训标准?2026最新
人工智能
2601_9491465323 分钟前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
韦东东23 分钟前
RAGFlow v0.20的Agent重大更新:text2sql的Agent案例测试
人工智能·大模型·agent·text2sql·ragflow
人工智能AI技术27 分钟前
DeepSeek-OCR 2实战:让AI像人一样“看懂”复杂文档
人工智能
OpenBayes43 分钟前
教程上新|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
人工智能·深度学习·目标检测·机器学习·大模型·ocr·gpu算力
退休钓鱼选手1 小时前
[ Pytorch教程 ] 神经网络的基本骨架 torch.nn -Neural Network
pytorch·深度学习·神经网络
冰糖猕猴桃1 小时前
【AI】把“大杂烩抽取”拆成多步推理:一个从单提示到多阶段管线的实践案例
大数据·人工智能·ai·提示词·多步推理