使用Halcon 深度学习 目标检测辨别物件方向的体会

需求:辨别pcb板元件极性方向,如下图

左                                    

运行infer.hdev后

 

 

训练之后,效果还不错 

 使用大恒图像提供的代码(视频最后有百度云盘,可扫码下载)

http://tr.daheng-imaging.com/watch/1101141

 

训练参数:

网络模型:pretrained_dl_classifier_enhanced.hdl

*训练迭代次数   NumEpochs := 300*1.0

*数据扩充比例
AugmentationPercentage := 0
*数据扩充是否支持水平、垂直镜像,可设值'r'、'c'、'rc'、'off'
AugmentationMirror := 'off'   

如果要判断物件方向,AugmentationMirror一定要设置为off

*初始学习率0.0005
InitialLearningRate := 0.0001*1

*最大重叠度
MaxOverlap := 0.2

MaxLevel是在determine_dl_model_detection_param函数中自动计算的,但是好像不准

我给改成固定的了

set_dict_tuple (DLDetectionModelParam, 'min_level', MinLevelToUse)
set_dict_tuple (DLDetectionModelParam, 'max_level', MaxLevelToUse)

改为:

set_dict_tuple (DLDetectionModelParam, 'min_level', 3)
set_dict_tuple (DLDetectionModelParam, 'max_level', 4)

需要根据图片尺寸来设定,图片越大,maxlevel可设置的越大

总结:

1、图片大小最好保持一致,训练和测试用图片尺寸也要一致

2、图片亮度要高,太暗的图片不容易提取特征。

3、图片不能太大,大图片上取小目标,也不好提取特征。

4、maxlevel尽可能的大,虽然层数多,会增加训练时间,但是识别率会提高很多。

5、样本图片尽量多一些,至少超过30张

另外:大恒的代码里会将图片的width和height处理成64的倍数,所以图片的长宽不能小于64像素

  if (Width > MaxWidth)
        tuple_min2(Width, MaxWidth*1.0, Min)
        Scale := Width / Min
    else
        Scale := 1.0
    endif
    Divisor := 64
    Width  := int(int((Width / Scale) / Divisor) * Divisor)
    Height := int(int((Height / Scale) / Divisor) * Divisor)

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Halcon是一种强大的机器视觉软件库,可以用于深度学习目标检测。它提供了丰富的功能和工具,可以帮助用户完成各种目标检测任务。 使用Halcon进行目标检测的一般步骤如下: 1. 数据准备:收集并准备用于训练和测试的图像数据集。确保数据集包含目标物体的多个实例,并且具有不同的姿态、光照条件和背景。 2. 模型训练:使用Halcon深度学习工具,如Halcon Deep Learning Assistant(DLA),进行模型训练。DLA提供了一个直观的界面,可以帮助用户加载数据集、选择合适的网络结构、设置训练参数,开始训练过程。 3. 模型优化:在训练过程中,可以使用Halcon提供的工具对模型进行优化。例如,可以使用数据增强技术来扩充数据集,以提高模型的泛化能力。还可以调整模型的超参数,如学习率和批量大小,以获得更好的性能。 4. 模型评估:使用测试数据集对训练好的模型进行评估。可以计算模型的准确率、召回率和F1分数等指标,以评估模型的性能。 5. 目标检测使用训练好的模型对新的图像进行目标检测。可以使用Halcon提供的API或编程接口,将模型集成到自己的应用程序中。通过调用相应的函数,可以输入图像并获取检测到的目标的位置和类别信息。 需要注意的是,Halcon深度学习功能需要额外的许可证才能使用。用户可以根据自己的需求选择适合的许可证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值