制作分割数据集——labelme工具的使用

在git上下载labelme的zip包 https://github.com/wkentaro/labelme ,进行底下的安装操作,我是在anaconda的tensorflow环境下面装的,需要步骤:

source activate tensorflow-gpu  #激活tensorflow环境
pip install pyqt5
pip install labelme

然后拿张图片做例子,介绍使用方法:
桌面有一张图片,cd 桌面,激活你安装labelme的环境(我的是激活tensorflow环境),输入labelme 0011.jpg,可以弹出gui界面,上面显示的就是我的那张图片
在这里插入图片描述选择左边的create polygons,手动给人画边界框,如下图所示。画完之后输入label为person,ctrl+s保存,就能保存json文件了。
在这里插入图片描述

下面演示如何读取这个json文件,并生成二值分割图像。
找到刚刚下载的labelme的zip包,去labelme/examples/semantic_segmentation路径下,可以看到有这几个文件夹,其中data_annotated放的是原图和对应的json文件,data_dataset_voc是输出结果,labelme2voc是主函数,labels.txt是标签类别,就是说,凡是标注时候使用过的类别,这个labels.txt里都必须要出现,否则会报错。

### 使用 Labelme 创建和标注数据集 Labelme 是一款功能强大的开源数据标注工具,支持多种任务类型,包括目标检测、语义分割以及实例分割等。以下是关于如何利用 Labelme 制作并标注用于机器学习的数据集的具体说明。 #### 1. 安装与启动 为了使用 Labelme,首先需要安装该软件及其依赖项。推荐通过 Python 的 pip 工具完成安装: ```bash pip install labelme ``` 在 Windows 环境下,可以运行以下命令启动 Labelme 图形界面[^2]: ```bash labelme ``` 如果一切正常,应该会弹出一个窗口,显示当前路径下的图像列表。 --- #### 2. 标注流程 ##### (a) 打开图像文件夹 在 Labelme 启动后,点击菜单栏中的 `Open Dir` 或者快捷键 Ctrl+O 来打开包含待标注图片的文件夹。 ##### (b) 绘制标注区域 对于目标检测任务,可以选择绘制矩形框(Bounding Box),而对于更复杂的任务如语义分割,则可选择多边形模式进行精确标注。具体操作如下: - **矩形框**:单击鼠标左键拖拽即可画出边界框。 - **多边形或多点线**:按住 Shift 键依次标记顶点,完成后双击结束绘图[^1]。 ##### (c) 添加类别标签 每次完成一个新的形状绘制之后,在右侧属性面板输入对应的类名或者从预定义列表里选取合适的选项作为此对象所属类别[^3]。 --- #### 3. 导出 JSON 文件 当所有图片都已完成标注以后,建议导出这些标注信息为标准化格式存储下来以便后续处理。通常情况下,默认保存的是 `.json` 文件形式,其中包含了每个标注对象的相关元数据比如坐标位置、名称等等。 要实现批量转换成其他常用框架所需的特定结构化数据(例如 Pascal VOC XML),可通过执行脚本方式调用内置函数 json_to_dataset() 自动完成这一过程: ```python import os from labelme.utils import json_to_dataset input_dir = 'path/to/json/files' output_dir = 'path/to/output/dataset' for filename in os.listdir(input_dir): if filename.endswith(".json"): file_path = os.path.join(input_dir, filename) output_subdir = os.path.splitext(filename)[0] try: json_to_dataset(file_path, save_dir=os.path.join(output_dir, output_subdir)) except Exception as e: print(f"Error processing {file_path}: {e}") ``` 上述代码片段展示了如何遍历指定目录内的所有 .json 文件并将它们逐一转化为对应子文件夹组织起来的标准数据集布局。 --- #### 4. 验证数据质量 最后一步非常重要——仔细检查生成的结果是否符合预期要求。这不仅限于确认标注无误,还包括验证输出格式适配所选用算法的需求规格。 --- ### 总结 综上所述,借助 Labelme 可以高效便捷地构建高质量自定义数据集合。无论是简单的边界盒还是精细到逐像素级别的分隔蒙版都能轻松搞定。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值