halcon 深度学习标注_Halcon deep learning之目标检测笔记(一)
设置输入输出的路径
输入路径有两个,一个是图像路径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之目标检测笔记(一)相关推荐
- halcon 深度学习标注_HALCON深度学习工具0.4 早鸟版发布了
原标题:HALCON深度学习工具0.4 早鸟版发布了 HALOCN深度学习工具在整个深度学习过程中扮演着重要的作用,而且在将来将扮演更重要的辅助作用,大大加快深度学习的开发流程,目前发布版本工具的主要 ...
- 深度学习概述教程--Deep Learning Overview
引言 深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...
- 几何深度学习(Geometric Deep Learning)技术
几何深度学习(Geometric Deep Learning)技术 几何深度学习综述 从论文Geometric Deep Learning: Grids, Groups, Graphs, Geodes ...
- 深度学习加速器堆栈Deep Learning Accelerator Stack
深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...
- 贝叶斯深度学习(Bayesian Deep Learning)2020 最新研究总结
关注上方"肉眼品世界",选择星标, 作者丨Ziyue Wu@知乎 来源丨https://zhuanlan.zhihu.com/p/283633149 编辑丨极市平台 本文仅作学术分 ...
- 无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现
无人驾驶汽车系统入门(二十六)--基于深度学习的实时激光雷达点云目标检测及ROS实现 在前两篇文章中,我们使用PCL实现了在点云中对地面的过滤和点云的分割聚类,通常来说,在这两步以后我们将对分割出来的 ...
- 深度学习 + OpenCV,Python实现实时视频目标检测
选自PyimageSearch 机器之心编译 参与:路雪.李泽南 使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加 ...
- 15.深度学习练习:Deep Learning Art: Neural Style Transfer
本文节选自吴恩达老师<深度学习专项课程>编程作业,在此表示感谢. 课程链接:https://www.deeplearning.ai/deep-learning-specialization ...
- 吴恩达神经网络和深度学习-学习笔记-28-端到端的深度学习(end-to-end deep learning )
深度学习最令人振奋的最新动态之一,就是端到端深度学习end-to-end deep learning的兴起. 什么是"端到端深度学习" 以前有一些数据处理系统或学习系统,它们需要多 ...
最新文章
- 洛谷P1546 最短网络 Agri-Net
- git stash的用法
- 轻松搭建基于 Serverless 的 Egg.js Web 应用
- 一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
- 2010年浙江大学计算机及软件工程研究生机试真题
- linux qt usb转串口通信,centos7 Qt USB转串口通信
- 【多线程】CountDownLatch 和 CyclicBarrier:如何让多线程步调一致?
- 我跟 17 位顶级游戏策划人学到的 3 个产品方法论
- 讯飞输入法粤语语音识别率达95%支持粤转普
- 一个循环递归遍历问题
- css 水印_Inpaint,一款简洁干净的去水印软件
- 利用google工具进行关键词研究
- 【浅墨著作】《逐梦旅程:Windows游戏编程之从零开始》勘误配套源代码下载
- Keymob移动网盟与芒果移动网盟的对比
- 单片机c语言实验报告心得,关于单片机实训心得体会
- C99 designator ‘name’ outside aggregate initializer
- Python语言实现机器学习
- R语言动量和马科维茨Markowitz投资组合(Portfolio)模型实现
- 与500+CTO深度交流,一起探寻技术领导力的魅力!
- 怎么和小伙伴语音连麦,你造吗?
热门文章
- StyleMapGAN之celeba_hq 风格迁移 - 图像编辑 测试——测试实验记录【二】
- SAP Cloud Fiori News Tile的配置
- 关于华为实名认证的一些常见问题解答
- Ajax介绍——什么是Ajax?
- Unity UI、图片(Sprite)的显示层级(遮挡关系)控制
- html div浮动效果,【html】【6】div浮动float
- Unity之C#——委托与事件,观察者模式,猫和老鼠事例
- yolov5s 预训练模型_YOLO v5 实现目标检测(参考数据集自制数据集)
- css3的学习笔记1
- Polyworks脚本开发学习笔记(五)-变量使用基本语法