dlib安装与imglab制作数据集

dlib安装

很多人可能苦于dlib的安装,很多博主写到需要studio环境等,还有版本问题。但后来博主走了很多弯路,发现根本没必要这样。在python3.6环境中直接

pip install dlib==19.6.1

这样就能够无脑解决,什么cmake,studio统统不用管。这样就下载并安装好了dlib。

配置imglab环境

网上各路神仙大显神通,配这个配那个,博主这里提供一个无脑版,已经帮你配好了。所有设置不需要动,配置文件别删,请解压后使用。
链接:https://pan.baidu.com/s/1m9lMs7yHFD8lejBvAe4QaA
提取码:p912

制作数据集

首先进入解压后的文件夹,路径如下所示。但是刚解压完的是没有images文件夹的,这里需要你手动创建。注意文件名images。以后的数据集都放在这。
在这里插入图片描述
接着在这个路径下打开cmd。
输入

imglab -c training_with_face_landmarks.xml images
imglab training_with_face_landmarks.xml

第一条命令是创建相关文件,第二条命令是打开制作数据集的软件。
在这里插入图片描述
紧接着就会跳出一个软件,这个软件就是制作数据集的软件imglab。
在这里插入图片描述
因为博主的images文件夹只放了3个图片所以这里就3个图片。下面介绍一些使用方法。若先松开shift键,则不记录操作。
1.应用程序顶部的“Next label”字段将为新矩形提供标签。在此处先编辑标签。
2.绘制矩形区域;(Shift + 鼠标左键长按拖动)
在这里插入图片描述
3.选择矩形区域;(Shift + 鼠标左键双击该矩形的边,选择成功会时矩形的边会变成蓝色)
在这里插入图片描述
4.开始标注;(Shift + 鼠标左键单击需要标注的位置,成功标注时会显示圆圈和对应的数字)
在这里插入图片描述
5.选中左边列表要删除的图像,并按Alt+d删除图像(不建议制作过程中删除,好像是会对xml文件有影响,到时候训练会报错)
6.在选中矩形后,单击矩形即可取消选中(边框从蓝变红)
7.通过按tab键快速编辑下一个Label字段的内容。
8.按下down或s键选择列表中的下一个图像,按up或w键选择前一个图像。
9.按住ctrl,然后滚动鼠标滚轮来缩放。当放大后出现滚动条后,左键单击然后拖动,可以拖动图像。
10.修改标签,按住ctrl并左键单击一个矩形,它将从“Next label”字段中获得标签。
11.修改矩形边框,在将要修改的边框上,按住shift + 右键,然后拖动可以移动选中的边框。
12.删除标注的矩形,双击一个矩形,选中它,按delete键删除它。

制作过程中的标注全在这个xml文件中体现。
在这里插入图片描述

imglab的命令解释

Usage: imglab [options] <image files/directories or XML file>
Options:
  -h                            Displays this information. 
  -v                            Display version. 

Creating XML files:
  -c <arg>          创建一个名为<arg>的XML文件,列出一组图像。
  --convert <arg>   将外部图像注释从<arg>格式转换为imglab格式。 
  					支持的格包括: pascal-xml, pascal-v1, idl. 
  -r                递归搜索目录中的图像。
  
Cropping sub images:
  --crop-size <arg>--resample一起使用, 整个裁剪后的图像将<arg>倍于对象的宽度  (default 2.5). 
  --cropped-object-size <arg>--resample一起使用, 使裁剪对象包含<arg>像素 (default 10000). 
  --min-object-size <arg>--resample一起使用, 跳过小于<arg>像素的对象 (default 1). 
  --one-object-per-image        和--resample一起使用, 每个图像只包含一个不可忽略的对象 (i.e. the central object). 
  --resample    裁剪出以数据集中每个对象为中心的图像。输出是一个新的XML数据集。

Editing/Transforming XML datasets:
  --add <arg1> <arg2>           将图像元数据从<arg1>添加到<arg2>。如果两个文件中都有图像标记,则删除<arg2>中的图像标记,
  并用<arg1>中的图像标记替换。结果保存到merged.xml中,并且不修改<arg1><arg2>文件。
  
  --box-images                  为包含整个图像的每个图像添加一个框。
  --cluster <arg>               将XML文件中的所有对象聚集到<arg>不同的集群中并保存结果 cluster_###.xml and cluster_###.jpg files. 
  --flip <arg><arg> XML文件中读取一个XML图像数据集,并输出数据集的左右翻转版本和一个附带的名为flipped_<arg>的翻转XML文件。
  我们还在翻转后调整对象部件标签,使新翻转的数据集具有与源数据集相同的平均部件布局。
								
  --flip-basic <arg> 这个选项就像-flip,只是我们翻转后不调整任何对象部件标签。相反,这些部分只是简单地镜像到翻转的数据集。
								
  --ignore <arg>     将标记为<arg>的框标记为忽略。生成的XML文件作为单独的文件输出,而原始文件不进行修改。
								
  --jpg               当将图像保存到磁盘时,将它们写成jpg文件而不是png。 
  --parts <arg>       显示器将允许图像部分被标记。允许的部件集由<arg>定义,它应该是一个用空格分隔的部件列表。
								
  --rename <arg1> <arg2>  将所有<arg1>的标签重命名为<arg2>--rm-if-overlaps <arg>   如果标记为<arg>的框与未标记为<arg>的框重叠,则删除所有标记为<arg>的框,并将结果保存到一个新的XML文件中。
  --rm-other-labels <arg>  删除所有未标记为<arg>的框,并将结果保存到一个新的XML文件中。
  --rmdiff     对于标记为difficult的框,将忽略的标志设置为true。
  --rmdupes    从数据集中删除重复的图像。这是通过比较每个图像文件的md5哈希值并删除重复的图像来实现的。
  --rmempty   删除所有不包含非忽略注释的图像,并将结果保存到一个新的XML文件中。
  --rmignore  删除所有标记为忽略的框,并将结果保存到一个新的XML文件中。
  --rmlabel <arg> 删除所有标记为<arg>的框,并将结果保存到一个新的XML文件中。
  --rmtrunc       将部分位于图像外部的框的忽略标志设置为true。
  --rotate <arg>  读取XML图像数据集并输出一个逆时针旋转<arg>度的副本。输出保存到一个以rotated_<arg>为前缀的XML文件中。
  --seed <arg>    将随机种子设置为字符串<arg>--shuffle       随机打乱XML文件中列出的图像的顺序。
  --sort          按字母顺序对XML文件中的图像进行排序。
  --sort-num-objects  将列出的图像排序为XML文件,以便首先列出包含许多对象的图像。
  --split <arg>       将XML文件的内容拆分为两个单独的文件。其中一个文件包含标记为<arg>的对象的图像,另一个文件包含所有其他图像。
  --split-train-test <arg>   将XML文件的内容拆分为两个单独的文件。包含<arg>图像片段的训练文件和包含其余(1-<arg>)图像的测试文件。
  分区是通过将输入xml文件中的第一个图像放入训练分割中,然后将后面的图像放入测试分割中来确定地完成的。
Viewing XML files:
  --files     列出给定XML文件中的所有文件。
  -l          列出给定XML文件中的所有标签。
  --size <arg>  使每个提取的对象包含大约<arg>像素(默认为8000)--stats       列出给定XML文件中对象标签的详细统计信息。
  --tile <arg>  取出所有对象并将它们保存为一个名为<arg>的大图像。

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值