惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
I
InfoQ
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
月光博客
月光博客
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
G
Google Developers Blog
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI
V
Visual Studio Blog

jdhao's digital space

Conversion between base64 and OpenCV or PIL Image 腾讯云对象存储博客图床开启 CDN 加速(不需要购买额外域名) Search and Replace in Multiple Files in Vim/Neovim Change Table Column Width in LaTeX Image or Table Side by Side in LaTeX LaTeX 并排显示图像或表格 Firenvim: Neovim inside Your Browser Content inside HTML tags missing in Latest Hugo? Creating Markdown Front Matter with Ultisnips Nifty Nvim Techniques That Make My Life Easier -- Series 6 macOS 下如何为视频制作字幕 Running Command Asynchronously inside Neovim Resolving Merge Conflict after Git Stash Pop Pylint: command not found? A Hands-on Experience with Neovim's Built-in LSP Support How to Convert PDF to Images with Imagemagick 互联网上常用缩略语集锦 File Backup in Neovim Converting PDF Pages to Images with Poppler Nifty Nvim Techniques That Make My Life Easier -- Series 5 Neovim Configuration for System-wide Use How to sort a list of tuple or list in Python -- lambda or itemgetter? Building A Vim Statusline from Scratch 人类第一颗原子弹爆炸始末 Distributed Training in PyTorch with Horovod Learning Expect Programming Essential Knowledge about SSH Nifty LaTeX Techniques -- Series 1 更改 Adsense 邮寄地址,重新寄送 PIN Mintty Tips and Configurations
Labelme JSON 标注格式转 voc XML 格式
2019-12-21 · via jdhao's digital space

Labelme 是一款常用的计算机视觉任务标注工具,可以用来标注分类,检测,分割等任务的数据。对于检测任务,labelme 生成的标注文件是 json 格式,每个图像对应一个相应的 json 文件。但是很多任务都使用 PASCAL VOC 的 xml 格式标注,例如 maskrcnn-benchmark 任务中的 voc 数据集

转换方法#

Labelme 含有将 json 格式标注数据转为 voc 格式的脚本,具体地址见 这里。使用方法:

python labelme2voc.py original_data data_dataset_voc --labels labels.txt

第一个参数是原始标注目录,包含 json 文件以及对应的图像,第二个参数为生成的 voc 格式数据库,下面有多个文件夹,第三个参数是 label 文件,每行一个 label,第一行为 __ignore__,第二行为 _background_,其余行为实际的各个 label。

值得注意的是,这个脚本生成的 xml 格式文件,用 maskrcnn 提供的 voc 数据集的接口进行数据训练时,会报错,因为 maskrcnn 中的 voc 数据类会检查每个标注框的 difficult 信息,所以 difficult 这个 flag 必须赋值。labelme2voc.py 当前的代码没有给 difficult 赋值,必须把

# https://github.com/wkentaro/labelme/blob/master/examples/bbox_detection/labelme2voc.py#L116
maker.difficult(),

变为

然后代码才能顺利运行。

参考#