关于程序员:labelme图像数据标注

34次阅读

共计 4299 个字符,预计需要花费 11 分钟才能阅读完成。

labelme:图像数据标注

导读

深度学习第一步就是制作数据集,手动去标注一些数据。本文将介绍一个用于图像数据标注的软件:labelme,并介绍它的装置办法,应用办法等。

1. labelme

labelme 是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像正文工具,它是用 PythonPyQT编写的,用于图像标注。

  • 对图像进行多边形,矩形,圆形,多段线,线段,点模式的标注(可用于指标检测,图像宰割,等工作)。
  • 对图像进行进行 flag 模式的标注(可用于图像分类 和 清理 工作)。
  • 视频标注
  • 生成 VOC 格局的数据集
  • 生成 COCO 格局的数据集

2. 装置

  • 利用 conda 装置
# 新建环境
conda create -n labelme python=3

# 激活环境
conda activate labelme

# 装置 labelme
conda install labelme -c conda-forge
  • Docker装置
# on macOS
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=docker.for.mac.host.internal:0 -v $(pwd):/root/workdir wkentaro/labelme

# on Linux
xhost +
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 -v $(pwd):/root/workdir wkentaro/labelme
  • Ubuntu
sudo apt-get install labelme

# or
sudo pip3 install labelme

# or install standalone executable from:
# https://github.com/wkentaro/labelme/releases

3. 应用

3.1. 命令行运行

# 确保曾经激活虚拟环境
labelme

3.2. 程序主界面

运行下面命令后,失常状况下,会呈现上面窗口。

程序界面次要分为六个区域,最下面为菜单栏,最右边为工具栏,两头为核心窗口(展现图片以及进行标注),右侧上方为展现标注标签的窗口,右侧下方为展现文件列表的窗口,最上面为状态栏。菜单栏、工具栏以及在核心窗口右键均能够抉择命令进行执行,右侧的标签列表能够进行交互来进行与标注相干的动作,如切换、删除、编辑、暗藏标注等,右侧文件列表亦可进行交互来切换文件等。

3.3. 程序性能阐明:

  • 菜单栏性能局部:

    • Open : 关上图片文件,通过点击命令或者快捷键即可运行。关上文件后,右侧文件列表会显示在同一目录下的所有文件,点击文件列表中的文件即可进行切换。图片格式反对 jpg、png、gif、bmp、jpeg 等
  • Next Image:切换至下一张图片,若无下一张图片,会弹出窗口揭示用户,通过点击命令或者快捷键即可运行。3d 状态下会切换以后聚焦视角的图片,可通过鼠标点击切换聚焦视角。

    • Prev Image:切换至上一张图片,若无上一张图片,会弹出窗口揭示用户,通过点击命令或者快捷键即可运行。3d 状态下会切换以后聚焦视角的图片,可通过鼠标点击切换聚焦视角。
    • Open Dir:关上文件夹,通过点击或者快捷键即可运行。关上文件夹默认会显示文件夹中的第一张图片,同时右侧文件列表也会显示文件夹里的所有图片,点击文件列表中的文件能够进行文件切换。
    • Import:导入标注文件,通过点击即可运行。标注文件的样例文件请参考此处。
    • Save : 保留文件,通过点击或者快捷键即可运行。会将对标注的更改进行保留,写入默认标注文件中。
    • Close : 敞开以后文件,通过点击或者快捷键即可运行。
    • Quit : 退出程序,通过点击或者快捷键即可运行
    • Create Brush:

      • 2d 状态下:创立画刷形态,通过点击或者快捷键即可运行。创立画刷形态用于进行宰割标注,在想要进行标注的区域,点击鼠标即可进行绘制,绘制结束后按下回车键即可键入标注文字,增加标注。
      • 3d 状态下:创立画刷形态,在任意视角任意图片间接点击鼠标进行绘制即可,绘制结束后按下回车键,键入标注文字即可增加标注。
    • Edit Brush:编辑画刷大小,通过点击或者快捷键即可运行。默认为圆形画刷,能够扭转画刷大小(注,画刷大小是以以后图片的宽度为比例)
    • Create Rectangle:

      • 2d 状态下:创立矩形,通过点击或者快捷键即可运行。在想要进行标注的区域,点击鼠标开始绘制,在挪动鼠标的过程中,会同步显示矩形边框,绘制结束时,再点击鼠标即可。
      • 3d 状态下:创立长方体,通过在任意视角的图片点击即可开始该视角下的矩形框的绘制,再次点击鼠标该视角下矩形框即绘制结束,这时在其余视角,能够通过右键聚焦视角,并进行图片的切换,当其余视角下有最开始创立的矩形框时,挪动鼠标即可进行其余视角下的矩形框的绘制,绘制结束时再次点击鼠标即可,长方体绘制结束后,按下回车键,键入标注文字,即可增加标注。
    • Create Circle:创立圆形,操作与创立矩形相似,请参考创立矩形。
    • Create Polygons:创立多边形,通过点击或者快捷键即可运行。在想要标注的区域,点击鼠标开始绘制,在想要绘制的多边形顶点处再次点击鼠标,持续绘制,绘制结束后,按下回车键。(即文档中要求的绘制闭合折线)
    • Create Curve:创立平滑曲线,通过点击或者快捷键即可运行。在想要标注的区域,点击鼠标开始绘制,接着自在挪动鼠标即可,绘制结束后按下回车键。
    • Edit Color:编辑标注色彩,通过点击或者快捷键即可运行。会弹出色彩对话框,任意选色彩即可。
    • Edit Polygons:进入编辑状态,通过点击或者快捷键即可运行。点击后会进入编辑状态,在该状态下,能够对标注进行拖动,选中,撤销,重做,放大放大等一系列操作。
    • Delete Polygons:删除标注,通过点击或者快捷键即可运行。该动作只有在编辑状态下且有标注被选中能力进行操作。
    • Edit Label:编辑标注文字,通过点击或者快捷键即可运行。该动作只有在编辑状态且有标注被选中能力进行操作。
    • Undo:撤销动作,通过点击或者快捷键即可运行。能够撤销任意步数的动作。
    • Redo:重做动作,通过点击或者快捷键即可运行。能够重做任意步数的动作。
    • Undo last point:撤销以后正在创立的标注形态,通过点击或者快捷键即可运行。会移除以后正在创立的标注形态。
    • Polygon Labels:是否显示标签列表组件,点击即可进行切换。
    • File List:是否显示文件列表,点击即可进行切换。
    • 3D:是否进入 3D 模式,点击即可进行 2d 及 3d 状态的转换。
    • Hide Polygons:暗藏所有标注,点击即可运行。
    • Show Polygons:显示所有标注,点击即可运行。
    • Magnifier:是否显示放大镜,点击即可运行。默认会捕获鼠标左近 20$\times$20 的区域,放大至 100$\times$100,显示在图片右下角(需注意图片的大小,因为会在图片右下角显示 100$\times$100)
    • Zoom In:放大图片,点击或者快捷键即可运行。默认会放大图片至 1.2 倍。
    • Zoom Out:放大图片,点击或者快捷键即可运行。默认会放大图片至 0.8 倍。
    • Original Size:图片复原至原始图片大小,点击或者快捷键即可运行。会使图片依照原始大小显示。
    • Fit Window:图片宽度适应核心窗口,点击或者快捷键即可运行。会使图片依照核心窗口宽度显示。
  • 工具栏性能局部:

    • 工具栏命令即为菜单栏命令的局部,请参考菜单栏命令
  • 状态栏性能局部:

    • 局部命令执行时会在状态栏处显示。
  • 鼠标在图片上挪动时,会同步在状态栏处显示以后鼠标的坐标。2d 显示二维坐标,3d 显示三维坐标。
  • 核心窗口性能局部:

    • 为不便用户交互,图片上的标注形态默认显示为不填充,即只显示边框,当鼠标进入标注形态外部时,标注形态为悬浮(hovered)状态,外部会填充色彩,当鼠标点击标注形态时,标注形态为选中(selected)状态,外部也会填充色彩,同时在标签列表窗口处也会显示标签选中状态。当标注脱离悬浮状态(unhovered)或者未选中状态(unselected)时,外部会显示不填充。对选中的标注形态即可进行一系列操作,如拖动标注形态,删除,更改等动作。
    • 2d 状态下,在核心窗口点击右键亦可抉择执行局部命令,不便交互。
  • 3d 状态下,核心窗口分为 3 个视角,三个视角程序未从左至右,从上至下,别离为 0,1,2。第一个视角为从上往下看的仰视视角,图片程序为从上至下,第二个视角为正视视角,图片程序为从后往前,第三个视角为右视视角,图片程序为从左至右。鼠标点击视角可进行视角图片的聚焦,即切换视角。
  • 标签列表组件性能局部:

    • 在标签列表窗口中右键能够抉择并执行局部命令
  • 在标签列表窗口中能够通过点击标签进行标注的选中,选中状态会同步至核心窗口中并显示标注形态填充

    • 扭转标签列表窗口中标签的 checkstate 能够进行是否显示该标注状态的切换,checked 为显示,unchecked 为暗藏
    • 在核心窗口对标注的交互会在标签列表中同步更新,例如增加标注、删除标注等
  • 文件列表组件性能局部:

    • 2d 状态下,在文件列表窗口中点击文件即可进行文件的切换
  • 3d 状态下,因为文件的切换由核心窗口管制,因而点击不会有反馈
  • 其余阐明:

    • 标注文件默认名阐明:在读取图片时,会读取默认标注文件,默认标注文件名与图片名雷同,后缀名为 json。3d 状态下默认标注文件名为该文件夹下第一张图片名 +“_3D”,后缀名为 json。
    • 标注文件格式阐明:type 表明标注形态的类型,分为 Brush(画刷形态),Rectangle(矩形形态),Polygons(多边形形态),Circle(圆形形态),Curve(平滑曲线形态),Brush3D(3d 画刷形态),Rectangle3D(3d 长方体形态);color 代表标注形态色彩;label 代表标注标签文字,points 代表像素点位(2d 存储为横纵坐标比例,3d 存储为横纵坐标比例,及 z 方向上的程序)radius 代表画刷形态的大小或者圆形形态的大小;width 代表矩形的宽;height 代表矩形的高;zspan 代表 3d 长方体在 z 方向上的跨度
    • 程序中应用标签列表窗口显示标签,且在点击标签时,核心窗口会同步标注形态被选中,外部会显示为填充,其中色彩也为由用户自定义。
    • examples 文件夹外面有样例图片以及样例标注文件可做测试用。

往期举荐

本文由 mdnice 多平台公布

正文完
 0