基于Halcon的深度学习异常值检测方法

Halcon在19.11版本中推出了深度学习异常值检测方法,该方法属于无监督式的深度学习方法,使用该算法可以在只有正样本的情况下训练模型。据官方介绍,该方法具有以下优点:

  1 无需标注

  2 只需少量正样本即可进行训练

  3 可以在CPU下进行训练

  4 具有较快的推断速度

  官方的例程中,分为四个步骤:

  1 数据准备

  通过read_dl_dataset_anomaly 和  split_dl_dataset 读取与分割样本, set_dl_model_param设置模型的一些初始化参数,

  2 模型训练

  通过set_dict_tuple 和 create_dl_train_param设置训练的超参数(例如正则化噪声、每个epoch大小等);之后 train_dl_model训练模型得到结果,通过write_dl_model进行保存。之后通过compute_dl_anomaly_thresholds计算分类阈值,这个算子比较关键,可以得出训练时的分类标准(异常值分割阈值和分类阈值)这两个值作为后续的判定标准。

     3 模型评估 

  4 模型推理

  read_dl_samples读取数据,apply_dl_model初始化模型,通过threshold_dl_anomaly_results得到模型推理的值,通过与之前训练得到阈值进行比较,从而得到最终的判定结果。

   友情提示:在一个苹果客户的项目中试验使用过,但效果并不理想,也可能是苹果的要求比较严(′⌒`),该方法还是比较适合缺陷较为明显的项目。

        

  所在公司以Halcon为主,个人同时也在学习使用OpenCV(毕竟是免费的嘛),会不定期分享一些案例与学习心得,大家相互学习,交流!

关注公众号,更多知识内容

 

你可能感兴趣的:(Halcon深度学习)