设置输入输出的路径

输入路径有两个,一个是图像路径HalconImageDir,一个是Json文件路径PillBagJsonFile。这两个参数用于后续在图像路径中读取coco文件。

输出路径首先定义一个新的文件夹路径,用于存放样本和模型文件等数据。

设置基于深度学习的目标检测模型的路径,该模型文件以.hdl结尾。

设置样本数据文件夹ExampleDataDir:'detect_pills_data'

数据字典文件夹路径,用于存放DLSampple文件。

设置存储预处理参数文件的路径。

设置分割数据集参数

分割数据集是为了区分出训练数据集和验证数据集。这一步设置分割的比例,例如:

TrainingPercent := 70

ValidationPercent := 15

则表示训练数据集占70%,验证数据集占15%,剩下的为测试数据集。

同时指定随机数,用于选择随机图片组成数据集。因为想要在复现训练结果时数据集本身是固定的,因此先使用随机数将数据分散,然后进行分割。

创建DLDataset数据集并调整模型

先检查样本数据集文件夹是否存在,不存在就创建一个。

创建数据集DLDataset调用了自定义的函数read_dl_dataset_from_coco。其输入参数为coco文件名(以.json结尾)和图像路径,输出数据集名为DLDataset。

该函数主要是根据.json文件中的关键字对图像进行解析,如'categories'、'images'、'annotations'。'annotations'里面再读取'bbox'属性。然后将这些属性读取并转化,以key的形式存入数据字典DLDataset和DLSample。

存入数据字典DLDataset的属性有:

 'image_dir'

 'class_ids'

 'class_names'

存入DLSample数据字典的属性有:

 'image_id'、

 'image_file_name'、

 'bbox_row1'、

 'bbox_col1'、

 'bbox_row2'、

 'bbox_col2'、

 'bbox_label_id'、

 'coco_raw_annotations'

最后将DLSample数据字典以‘sample’的形式存入DLDataset数据字典。

创建好数据字典之后,读取DLDataset中的'class_ids'属性,将其设置为深度学习网络模型DLModelHandle的'class_ids'属性,同时根据网络模型的句柄DLModelHandle将该模型保存到预设的文件夹路径下,完成了目标检测模型的初始化操作。

分割数据集。

这一部分将数据集分割为训练数据集、验证数据集和测试数据集三类。先设置系统随机数SeedRand。再按照之前设置的分割比例,进行数据集的分割。Halcon的例程中使用了自定义函数split_dl_dataset完成这一步操作。该函数先从DLDataset中获取样本数据,将样本与标注的类对应起来。然后创建了数据字典,基于单个分类进行分割。在每个类别的图像中提取一定比例用于构建三类数据集。

数据集预处理

先从模型中获取预处理参数,例程中使用了自定义函数create_dl_preprocess_param_from_model从深度学习网络中提取预处理参数,如:

'type'

'image_width'

'image_height'

'image_num_channels'

'image_range_min'

'image_range_max'

'ignore_class_ids'

并创建预处理参数字典DLPreprocessParam。

接下来这部分是最耗时的,即数据的预处理。例程中使用了自定义的preprocess_dl_dataset算子,用于对数据字典中的DLDataset、DLPreprocessParam样本进行预处理。

获取DLDataset中的'samples',存为DLDatasetSamples。这里面DLDatasetSamples一共有400个样本。将每个样本保存为一个数据字典,并对样本进行预处理。处理的步骤包括给每一个DLSamples样本创建数据字典,获取样本的图像,从图像中获取标注框区域,存入DLSamples数据字典中等。

预览预处理数据集

在开始训练之前,建议检查一遍预处理的数据集。使用get_dict_tuple算子从数据字典DLDataset中提取样本DatasetSamples。接着对其进行排序。读取排序后的样本并使用dev_display_dl_data算子将其显示出来。

halcon 深度学习标注_Halcon deep learning之目标检测笔记(一)相关推荐

  1. halcon 深度学习标注_HALCON深度学习工具0.4 早鸟版发布了

    原标题:HALCON深度学习工具0.4 早鸟版发布了 HALOCN深度学习工具在整个深度学习过程中扮演着重要的作用,而且在将来将扮演更重要的辅助作用,大大加快深度学习的开发流程,目前发布版本工具的主要 ...

  2. 深度学习概述教程--Deep Learning Overview

          引言         深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...

  3. 几何深度学习(Geometric Deep Learning)技术

    几何深度学习(Geometric Deep Learning)技术 几何深度学习综述 从论文Geometric Deep Learning: Grids, Groups, Graphs, Geodes ...

  4. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  5. 贝叶斯深度学习(Bayesian Deep Learning)2020 最新研究总结

    关注上方"肉眼品世界",选择星标, 作者丨Ziyue Wu@知乎 来源丨https://zhuanlan.zhihu.com/p/283633149 编辑丨极市平台 本文仅作学术分 ...

  6. 无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现

    无人驾驶汽车系统入门(二十六)--基于深度学习的实时激光雷达点云目标检测及ROS实现 在前两篇文章中,我们使用PCL实现了在点云中对地面的过滤和点云的分割聚类,通常来说,在这两步以后我们将对分割出来的 ...

  7. 深度学习 + OpenCV,Python实现实时视频目标检测

    选自PyimageSearch 机器之心编译 参与:路雪.李泽南 使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加 ...

  8. 15.深度学习练习:Deep Learning Art: Neural Style Transfer

    本文节选自吴恩达老师<深度学习专项课程>编程作业,在此表示感谢. 课程链接:https://www.deeplearning.ai/deep-learning-specialization ...

  9. 吴恩达神经网络和深度学习-学习笔记-28-端到端的深度学习(end-to-end deep learning )

    深度学习最令人振奋的最新动态之一,就是端到端深度学习end-to-end deep learning的兴起. 什么是"端到端深度学习" 以前有一些数据处理系统或学习系统,它们需要多 ...

最新文章

  1. 洛谷P1546 最短网络 Agri-Net
  2. git stash的用法
  3. 轻松搭建基于 Serverless 的 Egg.js Web 应用
  4. 一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
  5. 2010年浙江大学计算机及软件工程研究生机试真题
  6. linux qt usb转串口通信,centos7 Qt USB转串口通信
  7. 【多线程】CountDownLatch 和 CyclicBarrier:如何让多线程步调一致?
  8. 我跟 17 位顶级游戏策划人学到的 3 个产品方法论
  9. 讯飞输入法粤语语音识别率达95%支持粤转普
  10. 一个循环递归遍历问题
  11. css 水印_Inpaint,一款简洁干净的去水印软件
  12. 利用google工具进行关键词研究
  13. 【浅墨著作】《逐梦旅程:Windows游戏编程之从零开始》勘误配套源代码下载
  14. Keymob移动网盟与芒果移动网盟的对比
  15. 单片机c语言实验报告心得,关于单片机实训心得体会
  16. C99 designator ‘name’ outside aggregate initializer
  17. Python语言实现机器学习
  18. R语言动量和马科维茨Markowitz投资组合(Portfolio)模型实现
  19. 与500+CTO深度交流,一起探寻技术领导力的魅力!
  20. 怎么和小伙伴语音连麦,你造吗?

热门文章

  1. StyleMapGAN之celeba_hq 风格迁移 - 图像编辑 测试——测试实验记录【二】
  2. SAP Cloud Fiori News Tile的配置
  3. 关于华为实名认证的一些常见问题解答
  4. Ajax介绍——什么是Ajax?
  5. Unity UI、图片(Sprite)的显示层级(遮挡关系)控制
  6. html div浮动效果,【html】【6】div浮动float
  7. Unity之C#——委托与事件,观察者模式,猫和老鼠事例
  8. yolov5s 预训练模型_YOLO v5 实现目标检测(参考数据集自制数据集)
  9. css3的学习笔记1
  10. Polyworks脚本开发学习笔记(五)-变量使用基本语法