Halcon深度学习-企业项目实战(核酸管外观缺陷检测)

本文详细介绍了使用Halcon进行深度学习的企业项目实战,涉及核酸管外观的6种缺陷检测,包括组装不良、刮伤、漏装等。通过收集缺陷图片、进行标注、编写深度学习代码并训练模型,最终实现C#引擎加载模型进行检测,并提供了项目资料下载链接。
摘要由CSDN通过智能技术生成

1、项目需求

缺陷1:

缺陷描述:组装不良,底部塑胶局部凸出,超过上塑胶弧线部分。
评判标准:明显肉眼可见为不良,微小凸出部分可忽略。
风险点:微小漏出部分或者有杂质刚好在这个位置容易造成误判。
在这里插入图片描述

缺陷2:

缺陷描述:组装不良,塑胶与白色壳边缘未贴合或者覆盖上方。
评判标准:塑胶与白色凸出部之间有间隙或者覆盖到上方都NG。
风险点:轻微覆盖时容易造成误判。
在这里插入图片描述

缺陷3:

缺陷描述:塑胶品表面刮伤。
评判标准:塑胶表面刮伤,造成实质破损。
风险点:杂质或者塑胶上本身的不规则纹路容易造成误判
在这里插入图片描述

缺陷4:

缺陷描述:漏装橡胶件
评判标准:无橡胶件
在这里插入图片描述

缺陷5:

缺陷描述:橡胶件卷起
评判标准:不可以有卷起
提示:卷起必然会塑胶件白色凸起有间隙
在这里插入图片描述

缺陷6:

缺陷描述**:白色塑胶件凸起有破损
评判标准:不可有破损

在这里插入图片描述

2、收集相关的缺陷图片:

CSDN下载地址

OK图片地址:

链接:OK图片 提取码:8ylg (链接失效私信联系)

NG图片地址:

链接:NG图片提取码:7exv (链接失效私信联系)

3、缺陷图片分析、标注图像:

标注过程视频地址:

标注文件地址:

CSDN下载
链接:标注文件提取码:azwb (链接失效私信联系)

4、Halcon深度学习代码:

CSDN下载地址

总体代码

dev_update_off ()

*读数据
read_dict ('新项目.hdict', [], [], DictHandle)
*Xml
* Xml_To_Dict_DeepBool ('Train_Images/JPEGImages', 'Train_Images/Temp', 'Xml', DictHandle)

*Dict_To_Xml
* Dict_To_Xml_DeepBool (DictHandle, 'Voc', 'Temp')

*by_num
* Cut_Images_bynum (DictHandle, 2, 2, 'png', 255, DictHandle)
*by_size
* Cut_Images_bysize (DictHandle, 800, 800, 'png', 255, DictHandle)

*[570,517,3]
*数据预处理
Data_preprocessing_Rectangle1 (640, 512, 1, 'compact', DictHandle, 0, 'png', 255)

*训练
Data_Train_Rectangle1 (2, 0.0005, 0.9, 300, 0.0005, 1, false, 'gpu', [], [])
stop ()
*模型评估
Data_Evaluate_Rectangle1 (0.5, 2, true, 0.7, 0.2, 0.5)

*推理初始化
Data_Infer_Init_Rectangle1 (1, 0.5, true, 0.2, 0.7, DLModelHandle, DLPreprocessParam)

*Data_Infer_Online
dev_get_window (WindowHandle_now)
dev_clear_window ()
set_display_font (WindowHandle_now, 16, 'mono', 'true', 'false')
get_dict_tuple (DictHandle,'class_names' , class_names)
 
list_files ('ng', ['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)
for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image, ImageFiles[Index])
    Data_Infer_OnLine_Rectangle1 (Image, Rectangle, DictHandle, DLPreprocessParam, DLModelHandle, bbox_row1, bbox_col1, bbox_row2, bbox_col2, bbox_class_id, bbox_confidence)
    dev_clear_window ()
    dev_display (Image)
    ifelse (|bbox_class_id|)
        gen_rectangle1 (Rectangle, bbox_row1, bbox_col1, bbox_row2, bbox_col2)
        boundary (Rectangle, Rectangle, 'inner')
        dev_display (Rectangle)
*         dev_disp_text (class_names[bbox_class_id]+'  :  '+bbox_confidence, 'image', bbox_row1, bbox_col1, 'red', 'box', 'false')
        dev_disp_text ('ng:  '+bbox_confidence, 'image', bbox_row1, bbox_col1, 'red', 'box', 'false')
    *stop ()
    else
         dev_disp_text ('ok_ok_ok_ok_ok_ok', 'image', 300, 600, 'red', 'box', 'false')
    endif
   wait_seconds (0.2)
endfor

5、训练结果展示:

已训练模型下载:

CSDN下载

演示效果:

视屏

6、C# 引擎加载Halcon深度学习Demo:

7、项目资料下载地址:

链接:项目资料提取码:1he9 (链接失效私信联系)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deep-bool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值