Halcon 深度学习缺陷检测

深度学习标注

在这里插入图片描述

在这里插入图片描述>
在这里插入图片描述

获取图片路径

C:\Users\Administrator\AppData\Roaming\MVTec\HALCON-23.11-Progress\examples\images

在这里插入图片描述

必须要有Good或者是OK文件夹做标注,剩下两个为逻辑异常和结构异常
在这里插入图片描述在这里插入图片描述点击检查选择good可以获取所有good图像的照片
在这里插入图片描述
在这里插入图片描述
点击创建应用和拆分

在这里插入图片描述

训练

点击训练
在这里插入图片描述> 点击创建训练点击保存更改
在这里插入图片描述
在这里插入图片描述设置完成后点击开始训练
在这里插入图片描述
在这里插入图片描述
点击评估
在这里插入图片描述
在这里插入图片描述
通过阈值可以调整判定的区间
在这里插入图片描述滑动热图可以看出误判结果

在这里插入图片描述

导出训练文件
在这里插入图片描述

推理

在这里插入图片描述
在这里插入图片描述
已经用 DLT做好标注,训练,和评估,只需修改推理代码

推理代码示例

* 获取文件图像路径包含合格和不合格图像
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 ()

最近更新

  1. TCP协议是安全的吗?

    2024-05-10 20:52:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-10 20:52:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-10 20:52:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-10 20:52:03       20 阅读

热门阅读

  1. Vue3实战笔记(05)--- 跨域前后端解决方案

    2024-05-10 20:52:03       10 阅读
  2. 【Leetcode】55- 跳跃游戏

    2024-05-10 20:52:03       12 阅读
  3. LeetCode //C - 81. Search in Rotated Sorted Array II

    2024-05-10 20:52:03       10 阅读
  4. 苹果免签封装的优势和安全风险

    2024-05-10 20:52:03       8 阅读
  5. latex编译参考文献是问号解决办法

    2024-05-10 20:52:03       10 阅读
  6. mybatis 多表查询

    2024-05-10 20:52:03       8 阅读
  7. 华为热题总结(1)

    2024-05-10 20:52:03       14 阅读
  8. MySQL变量的定义与使用

    2024-05-10 20:52:03       13 阅读
  9. mysql 按字段查询重复的数据

    2024-05-10 20:52:03       14 阅读
  10. CentOS常见的命令

    2024-05-10 20:52:03       8 阅读
  11. 【无标题】

    2024-05-10 20:52:03       15 阅读