51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 1745|回复: 11

[资料] [原创]C#联合Halcon深度学习源代码分享DeepLearning_MNIST_Halcon

[复制链接]
  • TA的每日心情
    可怜
    2019-10-6 15:29
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    2

    主题

    15

    帖子

    104

    积分

    Rank: 6Rank: 6

    积分
    104

    切换助手验证会员

    发表于 2019-10-31 16:10:47 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    本帖最后由 Tigger 于 2019-10-31 21:29 编辑

    #DeepLearning_Classification_MNIST_Halcon
    Key Word:C#,Halcon,DeepLearning,MNIST,Classification

    本例基于Halcon深度学习,运行需要安装Halcon深度学习环境,参考https://blog.csdn.net/xuanbi8560/article/details/80911015

    本文软件配置如下:
    1、halcon-19.05.0.0-windows.exe
    2、halcon-19.05.0.0-windows-deep-learning.exe
    3、cuda_10.1.243_426.00_win10.exe
    4、cudnn-10.1-windows10-x64-v7.6.4.38.zip
    5、Visual Studio 2019
    硬件配置:
    CPU:英特尔 Core i7-6700HQ @ 2.60GHz 四核
    GPU:Nvidia GeForce GTX 950M ( 2 GB / 联想 )

    1 预处理图像
    1.1 选择图像目录
    所选目录可以是同时包含训练图像和测试图像的主目录,也可以是训练图像目录或测试图像目录,优先选择主目录.如本例提供图片选择mnist_images、Train_images或Test_images目录(不知道本例图片在哪的请先将“mnist_images.rar”解压后使用). 如果使用其它图像,需要目录格式与本例一致.

    1.2 预处理图像
    在进行此步图像预处理时,如果使用其它图像,可以先对图像进行裁剪、旋转、翻转或滤波等普通图像处理,然后再使用深度学习算法处理图像使其能够用于训练.参考Halcon算子描述preprocess_dl_classifier_images.
    预处理后的数据会自动保存在mnist_images\Preprocessed_images文件夹内.如果提示已有预处理好的数据,可以跳过此步直接开始训练,也可以选择删除已有数据重新预处理图像.
    screenshot (0).png

    2 训练分类器
    2.1 参数设置
    建议使用不同参数设置多次进行训练,了解不同参数设置对训练的影响,可以找到更好的训练参数设置.
    注意:BatchSize太大容易导致显存溢出,太小可能不收敛;NumEpochs训练次数越多需要时间越长;LearningRate学习率太大收敛速度快但可能会陷入局部最优,学习率太小收敛速度慢,所需训练次数多;TrainingPercent训练数据太少可能会过拟合;ValidationPercent用于验证的数据比例.
    学习率变化曲线表达公式:LearningRate(Epoch) = InitialLearningRate * Math.Pow(LearningRateStepRatio , Math.Floor(Epoch / LearningRateStepEveryNthEpoch));
    screenshot (5).png

    2.2 训练分类器
    训练过程时间可能较长,需要耐心等待...
    screenshot (1).png
    2.3 保存分类器
    训练完成会自动保存训练模型结果,训练模型默认保存名称为"classifier+图像文件夹名称.hdl",默认保存目录为当前程序运行目录,点击此按钮可以手动另存到其它地方,分类器扩展名应为.hdl

    2.4 误差分析
    以验证数据集计算训练模型的预测值与实际值得差异,生成混淆矩阵显示.可以分析哪类数据容易被识别错误.
    screenshot (2).png

    3 图像识别测试
    3.1 读取分类器
    如果已有训练好的分类器,可以不进行前面1、2两步,直接读取已训练好的分类器进行测试.如果刚刚完成了分类器训练,此步也可以不操作,程序会默认将前面训练的结果用于测试.

    3.2 测试分类器
    测试图像可以手动选择新图像测试,也可以随机从测试图片文件夹中自动选择图片;注意,测试图像也需要使用训练模型时相同的深度学习算法处理预处理图像后再测试.
    screenshot (3).png

    除了本例图像外,还可以使用其他图像集进行训练和测试
    screenshot (4).png

    源代码地址:https://github.com/675491918/DeepLearning_MNIST_Halcon

    本人也是初学者,练习写的,欢迎下载学习交流,转帖请引用本文地址https://www.51halcon.com/thread-3881-1-1.html









    评分

    参与人数 2视觉币 +1 热心值 +2 收起 理由
    工控凌云 + 1 + 1 鼓励转贴优秀软件、源码和文档!.
    Criss + 1 鼓励转贴优秀软件、源码和文档!.

    查看全部评分

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    2020-4-13 08:11
  • 签到天数: 419 天

    连续签到: 1 天

    [LV.9]以坛为家II

    0

    主题

    78

    帖子

    470

    积分

    Rank: 2Rank: 2

    积分
    470

    活跃会员

    发表于 2019-11-1 13:53:38 | 显示全部楼层
    多谢多谢

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    昨天 19:58
  • 签到天数: 104 天

    连续签到: 1 天

    [LV.6]常住居民II

    0

    主题

    92

    帖子

    712

    积分

    Rank: 3

    积分
    712
    发表于 2019-11-2 09:03:39 | 显示全部楼层
    謝謝分享~~~你人真好~

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2018-8-10 15:53
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    53

    帖子

    556

    积分

    Rank: 3

    积分
    556
    发表于 2019-11-29 11:23:41 | 显示全部楼层
    楼主 看你的分享,下载了您的源码,提示 不存在hv_Inference_Confidences 在Test.cs 93行和97行

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    可怜
    2019-10-6 15:29
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    2

    主题

    15

    帖子

    104

    积分

    Rank: 6Rank: 6

    积分
    104

    切换助手验证会员

     楼主| 发表于 2019-11-29 20:04:28 | 显示全部楼层
    shlucky 发表于 2019-11-29 11:23
    楼主 看你的分享,下载了您的源码,提示 不存在hv_Inference_Confidences 在Test.cs 93行和97行 ...

    我更新test.cs,你在网页上把这个文件打开,代码全部复制下来替换一下就可以了

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    窃喜
    2020-6-8 12:41
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    主题

    9

    帖子

    36

    积分

    Rank: 1

    积分
    36
    发表于 2019-12-4 10:07:23 | 显示全部楼层
    你好,请问一下我想用CPU运行,如果只修改了模型参数的运行环境那里为CPU的话,运行到train_dl_model_batch (DLModelHandle, DLSampleBatch, TrainResult)就会报错,说不支持CPU,请问一下还需要在哪里修改吗

    点评

    Halcon目前还不支持使用CPU进行训练,只是推理可以使用CPU了  发表于 2019-12-4 16:24

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    开心
    2020-4-27 13:38
  • 签到天数: 5 天

    连续签到: 2 天

    [LV.2]偶尔看看I

    0

    主题

    7

    帖子

    48

    积分

    Rank: 1

    积分
    48
    发表于 2020-3-21 15:19:35 | 显示全部楼层
    楼主,我看你的评论中说Halcon还不支持CPU训练,但是halcon19.05 这个版本的官方介绍说是可以不依赖GPU的,怎么理解呢?

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    2020-4-19 17:12
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    1

    主题

    12

    帖子

    73

    积分

    Rank: 1

    积分
    73
    发表于 2020-5-5 15:25:50 | 显示全部楼层
    感谢楼主的无私分享。谢谢!

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用反馈 | 51Halcon论坛管理团队论坛管理团队

    申请友链| 小黑屋| 手机版| Archiver|  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    CopyRight © 2015-2020 51Halcon机器视觉. Tencent Cloud X3.4.

    快速回复 返回顶部 返回列表