PaddleX数据标注与Halcon数据标注与转换

PaddleX数据标注与Halcon数据标注与转换

  • 一、简介
  • 二、PaddleX数据标注
    • 2.1Labelme数据标注
    • 2.2json数据转换
  • 三、Halcon数据标注
    • 3.1MVTec Deep Learning Tool下载安装
    • 3.2数据标注与导出
  • 四、Halcon中使用PaddleX标注的数据
    • 4.1PaddleX标注的数据转换为Halcon标注数据
    • 4.2Labelme标注的数据转换为Halcon标注数据
  • 参考文档

一、简介

PaddleX为百度飞浆开发的一种开源的深度学习架构,可用于目标检测、语义分割等任务,相较于TensorFlow、Pytorch两种开源架构搭建、训练模型简单,代码量少,易上手。
Halcon作为一款商业机器视觉软件开发包,可用于图像处理与深度学习,使用效果要优于多数开源软件。
本文主要记录了在语义分割任务中PaddleX与Halcon数据标注的实现流程,及在Halcon中使用PaddleX标注的数据的方法和相应代码。

二、PaddleX数据标注

PaddleX中数据标注工具为labelme,labelme支持标注矩形框和多边形,可分别应用于目标识别与语义分割任务,且为语义分割任务标注的多边形还可应用于目标识别任务,无需二次标注。
下面介绍在语义分割任务中PaddleX数据标注。

2.1Labelme数据标注

labelme运行在python环境中,使用前需进行安装。

PaddleX数据标注与Halcon数据标注与转换

2.2json数据转换

PaddleX中语义分割任务训练需要使用的数据包含两部分,一部分为原始图片,一部分为标注图片,标注图片为只包含以一定颜色填充的标注区域的图片。而labelme标注后得到的是json数据,因此需要进行转换,在PaddleX中提供了转换工具,转换命令如下:

生成文件如下:

PaddleX数据标注与Halcon数据标注与转换

PaddleX数据标注与Halcon数据标注与转换
下载后进行安装,需要注意的是该工具安装界面为网页,即在网页上进行软件安装,安装之后打开软件,主界面如下:
PaddleX数据标注与Halcon数据标注与转换
创建项目后,添加图像,点击菜单栏的“图像”,开始标注:
PaddleX数据标注与Halcon数据标注与转换
在图片上标注时可以选择多边形或遮罩,视待标注对象的性质而定,其中一种方法可能更适用。 根据经验,如果对象的标签由较大的边缘平整的区域组成,则使用多边形;如果对象较小或需要修正某现有标签,则使用遮罩。但是,多边形或遮罩始终可以相互转换。
PaddleX数据标注与Halcon数据标注与转换
导出时勾选“将图像复制到文件夹…”。
PaddleX数据标注与Halcon数据标注与转换
test_pill_images文件夹保存原始图片,test_pill_labels保存标注图片,需要注意的是打开标注图片后,会发现标注区域不可见,原因是Halcon导出时是使用标签类别的索引值如1作为灰度值填充,而不像是PaddleX中以可见灰度值如128填充。
PaddleX数据标注与Halcon数据标注与转换

这里传入的FilePathList变量是存放各类标签图片的文件夹路径列表。

4.2Labelme标注的数据转换为Halcon标注数据

将labelme标注的数据转换为Halcon标注数据,分为两步,第一步是将json数据转换为图片数据,labelme中有单个数据转换的程序示例,加以改动为多个数据转换即可,但程序中未显式设置转换后的标注区域灰度值,所以需要进行第二步,第二步即4.1节所述。
json数据转换为图片数据python代码如下:

这里传入的JsonFilePathlist变量是存放各类标签json文件的文件夹路径列表,label_name_to_value是标签类别名称与标签类别索引的字典,包括背景,示例定义如下:

    label_name_to_value={}    label_name_to_value["_background_"]=0    label_name_to_value["Label01"]=1    label_name_to_value["Label02"]=2    label_name_to_value["Label03"

来源:weixin_46846685

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月5日
下一篇 2022年10月5日

相关推荐