从图片到训练集:用 labelme 制作图像标注数据集的完整指南
从图片到训练集用 labelme 制作图像标注数据集的完整指南【免费下载链接】labelmeImage annotation with Python. Supports polygon, rectangle, circle, line, point, and AI-assisted annotation.项目地址: https://gitcode.com/gh_mirrors/la/labelmelabelme 是一款用 Python 写的开源图像标注工具GPL-3 协议可在 macOS / Windows / Linux 上使用核心功能是给图片打多边形、矩形、圆形、线条、点这几类几何标注并内置 AI 辅助标注。如果你的工作是为目标检测、语义分割、实例分割或图像分类制作训练数据集这套工具能覆盖从打开第一张图到导出框架可吃格式的完整链路不用为数据准备环节另外写定制脚本。下面按真实标注流程走一遍装好并打开图片、动手画、控制标签质量、把结果转成训练格式。安装与启动三步看到第一张图这一节帮你把工具装进环境并用最短路径打开待标注的图片。先确认 Python 版本v7.x 支持 3.12 到 3.14且系统必须是 64 位。安装走 pip 最快pip install labelme想跟最新提交就从源码装git clone https://gitcode.com/gh_mirrors/la/labelme cd labelme pip install -e .装完在终端输入labelme启动打开的是空白画布工具栏在左侧画布占中间右侧两个文件列表分别管标签和待打开的图片。点菜单里的 Open快捷键 CtrlO可以打开单张图把目录拖进来或用 Open DirCtrlU右侧文件列表会列出整个文件夹里的图像之后用 D / A 键就能在图片之间前后切换逐张标注。也可以直接带参数启动跳过界面操作比如labelme examples/tutorial/apc2016_obj3.jpg直接打开示例图。标注工作流五种工具与 AI 辅助这一节回答图打开了手怎么动五种几何工具各适合什么任务画错之后怎么修AI 能替你干多少活。多边形工具是主力快捷键 CtrlN在画布上逐点点击走到哪点到哪完成后双击闭合随后弹出标签对话框输入类别名并确认这个形状就算完成了。矩形CtrlR拖一下就出框目标检测基本靠它圆形工具适合车轮、瓶口这类圆物体线条工具画一条线段点工具在图上钉一个标记关键点任务就用它。多边形标注过程中左侧工具栏、中间画布与待输入标签的对话框标注错了别慌。Delete 删掉选中形状CtrlZ 撤销上一步画到一半多出的顶点也能用 CtrlZ 逐个退回CtrlD 复制当前形状CtrlC / CtrlV 可以把形状拷到下一张图上再微调相似帧之间很省事。画布上点中形状后还能拖动顶点改位置CtrlShiftL 能锁定形状防止误碰。每完成一张就按 CtrlS 保存labelme 会把标注写成与图片同名的 JSON 文件放在图片旁边右侧的标签列表可以实时回看当前图里画了什么、叫什么名字。让 AI 先画人来改工具栏底部有 AI 入口适合重复度高的场景点一下出轮廓基于 SAM 系列的模型你在物体上点一个提示点它就把该区域的多边形生成出来你再拖动顶点修正边界。文本转标注基于 YOLO-world 与 SAM3 模型在 AI text-to-Annotation 面板输入文字描述比如 red car对应形状的标注直接出现在画布上。两种方式都是AI 出初稿、人做精修的定位比纯手工点每一帧顶点快很多。标签一致性与批处理提速这一节解决两个常见事故源同一个物体在不同图里被写成不同标签以及视频帧之间反复重画。词表先于标注。在数据目录放一个labels.txt一行一个标签启动时加--labels参数把它带上标签对话框里就会出现预设下拉项labelme data_annotated --labels labels.txtlabelme 打开目录时会自动读取同目录下的labels.txt不加参数也能生效。如果担心人工手打出错再加--validate-label exact此时对话框只允许选词表里已有的标签person / people这种同义漂移从入口就堵死了。词表之外还有 flags--label-flags可以把属性标记绑定到标签上例如所有形状默认挂 occluded、truncated 两个标记person 额外挂 male分类任务则用--flags flags.txt给整张图打标记如 cat / dog方便后续筛数据。视频或连续帧场景加--keep-prev上一帧画好的形状会自动延续到下一帧你只需要移动几个顶点跟上物体而不是每帧重画一遍序列标注速度差几倍。快捷键建议背下来这几组比鼠标点菜单快得多D / A 下一张、上一张CtrlS 保存CtrlZ 撤销Delete 删形状CtrlN / CtrlR 快速切换多边形和矩形CtrlF 让图像适配窗口Ctrl / Ctrl- 缩放画布CtrlE 重命名当前形状的标签。把标注结果转成训练框架能吃的格式这一节回答JSON 文件只是中间产物最后怎么变成 VOC / COCO / 像素级标签图。转换脚本都放在 examples/ 目录下按需取用。目标检测VOC 格式。以 examples/bbox_detection/ 为例标注完运行./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt输出目录里会生成JPEGImages/原图、Annotations/每图一份 XML含框和类别、AnnotationsVisualization/叠加了框的可视化图用来肉眼核对转换结果。语义分割。同目录的labelme2voc.py加--noobject参数输出SegmentationClass/的类别标签 PNG 与对应.npy文件标签值映射为低序号255 表示忽略区域可视化图可以和原图并排检查。实例分割。不加--noobject会同时输出类别图和实例图不同实例编号不同走 COCO 格式则用 labelme2coco.py带 mask 的形状用 run-length 编码保存孔洞和不连通区域都能保留相同标签且同组 ID 的形状会合并成一个 instance。转换前先自检。examples/tutorial/ 下的draw_json.py可以直接把 JSON 画出来快速过目export_json.py能把标注导出成 uint8 标签 PNG 加label_names.txt像素级任务的训练代码直接读 PNG 即可draw_label_png.py则把标签 PNG 渲染成彩色可视化图底部附标签与颜色的对照表。下一步拿 20 张图的目录先跑一遍完整流程写labels.txt用--labels加--validate-label exact标完再执行对应的labelme2voc.py或labelme2coco.py打开可视化目录逐张核对框和 mask 是否对得上原图。确认格式无误后再扩到全量数据最后用 examples/ 里对应任务的 README 对照输出目录结构缺哪个文件就知道断在哪一步。【免费下载链接】labelmeImage annotation with Python. Supports polygon, rectangle, circle, line, point, and AI-assisted annotation.项目地址: https://gitcode.com/gh_mirrors/la/labelme创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考