数据标注软件labelme_产品商品有标注R代表什么

(1) 2024-07-09 14:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
数据标注软件labelme_产品商品有标注R代表什么,希望能够帮助你!!!。

  ⚡插播一条老家自产的糖心苹果,多个品种,欢迎选购!有问题随时私信我⚡:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

#2018/07/03 更新

制作好训练集之后,如何进行训练?戳这里:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

#2018/06/29 更新

这个版本的Mask_rcnn精度和速度都没有FAIR的detectron好,同一个数据集,detectron要高出至少20%的精度,而且由于框架的特性,detectron速度也要快得多~~要不要了解一下如何把自己的数据转换为detectron所需的coco格式?需要的同学点这里:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

#2018/06/04 更新

使用官方的权重只检测特定的类别看这里:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

#2018/05/22 更新

使用训练好的Mask_RCNN模型进行预测看这里:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

#2018/05/04 更新

由于labelme的数据预处理过程还是太繁琐,现在换成了类似于COCO数据集注释的方式(JSON文件):

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

#以下为原文

该Mask_RCNN版本为基于:Python3,Keras,TensorFlow,我使用的具体版本为:

  • Python 3.6.3
  • TensorFlow 1.7
  • Keras 2.1.5
  • PyQt5  5.9.2
  • Labelme 2.8.0

Mask_RCNN来自matterport,地址为:

点击打开链接https://github.com/matterport/Mask_RCNN

使用的标记工具为Labelme,地址如下:

点击打开链接https://github.com/wkentaro/labelme

安装完Labelme之后,直接在CMD窗口输入labelme,即可打开:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第1张

点击view下面的高级模式,可以控制图像显示的大小:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第2张

点击Create_Polygon在图像上标记需要的东西,并命名:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第3张

保存该标注,可以得到一个.json文件,该文件包含了图像文件本身以及标注的对象框,打开该文件,可以看到其中包含的内容:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第4张

如何打开json可以查看我的这篇博客:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

该json需要转换为训练程序需要的Mask数据,此时在CMD窗口输入以下指令(以刚才生成的json示例,你只需要把路径转换为json文件所在的路径)即可转换:

labelme_json_to_dataset C:\Users\Administrator\Desktop\_f9a_z.json

此时可以得到以json文件名而命名的一个文件夹,打开该文件夹,可以看到里面包含了五个文件:

img.png(原图);

info.yaml;

label.png;

label_names.txt;

label_viz.png

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第5张

可以看到本来标记的只有两类,但是打开标签可视化文件,可以看到自动加了背景,所以是1+2=3类,打开label_viz.png可见:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第6张

但是在训练的时候肯定是多个数据,不可能一个一个的挨着转换,所以肯定要批转换这些json:

linux下,使用如下命令:

str1="json路径" str2=".json" for((i=1;i<图片数量;i++)) do str3=${i} labelme_json_to_dataset ${str1}${str3}${str2} done

windows下,使用如下命令:

for /r 路径 %i in (*.json) do labelme_json_to_dataset %i

而转换后的label.png是其中非常重要的掩码文件,打开却是一片黑,这是什么情况?出BUG了?

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第7张

其实,这是因为labelme将类别的像素值从1开始赋值,比如刚才的3类分别赋值0,1,2,因为值都很小,因此看着都是黑的;将图片使用matlab读入可以看到如上面所述:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第8张

我们可以将这些掩膜的像素值做一个映射(如像素值分别乘以100,当前的像素值则有(0,1,2)变为(0,100,200)),从而可以清楚的看到:

数据标注软件labelme_产品商品有标注R代表什么_https://bianchenghao6.com/blog__第9张

而从上面matlab的截图,可以清楚看到掩码标签为16位存储,我们需要将16位转8位,关于16位转8位,请关注我的另外一篇博客:

Mask_RCNN训练自己的数据,标注工具Labelme的使用说明

都看到这里了,还不赶紧点赞评论收藏走一波?

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复