给实验室同学看的标注说明书

一、下载miniconda:

没有下载anaconda的同学先下载一个anaconda,为了与tensorflow-gpu==1.12.0、1.10.0匹配,最好下载anaconda3:

anaconda官网:Anaconda | Individual Edition

推荐下载miniconda,因为它更小更轻便:

Miniconda安装及使用--小白上路 - 知乎

然后打开anaconda prompt(Win10):

打开anaconda prompt(Win7):

输入以下命令来安装需要的两个依赖项:

pip install PyQt5

pip install lxml

如果觉得慢的话,可以使用清华镜像源来安装:

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

二、下载标注软件labelImg

然后去这个网址下载我们的标注软件:

GitHub - tzutalin/labelImg: 🖍️ LabelImg is a graphical image annotation tool and label object bounding boxes in images

下载后解压,并进入labelImg(labelImg-master)的根目录,

鼠标放入空白区域,按住shift键的同时点击鼠标右键,选择在此处打开Powershell窗口(Win7则是打开命令行窗口)

先进入你之前安装了PyQt5和lxml的conda环境:

activate <你的环境>

输入以下命令:

pyrcc5 -o resources.py resources.qrc
python labelImg.py

打开labelImg界面:

然后这个软件就装好了,如果下次要使用,就进入labelImg(labelImg-master)的根目录,打开Powershell窗口先activate激活你有pyqt5、lxml的conda环境,然后输入以下启动命令就行了:

python labelImg.py

三、批量重命名图片

然后使用freeRename对图片进行批量重命名:

 点击添加文件

 打开所有图片数据

 删去原文件名,设置好起始值000001后点击开始处理:

四、标注

在上面第二步启动labelImg后,点击opendir打开所要标注的图片在的目录。

各种不同的功能区:

点击Change Save Dir选择xml文件的保存路径,就选择图片数据所在的文件夹。

重要:这一步每次打开新的一个文件夹的时候都要做,比如你第一段视频的图片标完了,开始标第二段视频的图片时,请务必再执行这一步。

请在这里先勾选 Use default label 并在后面的文本框中填你要识别的类别名,是自己取的,这个类别名必须存在于tensorflow-yolov3/data/voc_*.names文件里面,.names文件放的就是你本次项目目标检测所要识别的不同的所有类别,比如我这里做的这个标注的类别名是:mud

(注:别填错了,项目中必须统一标签名)。

使用软件标注数据过程中会用到的快捷键:

w:标注

Ctrl+s:保存当前图片标注的xml文件

d:下一张

a:上一张

Ctrl+shift+d:删掉最近的图片

Ctrl+u:打开一个文件夹里的所有图片

Ctrl+r:改变标注保存的位置,有时候打开标好的图片不显示标注,可以试试这个

更多快捷键见:网址

标注完后按Ctrl+S保存,点击左边选项栏中的Next Image(目前我没找着什么快捷键,我感觉应该是有)。然后细心仔细地完成标注工作。希望大家能耐着性子做好标注工作,这也是机器学习的一个部分。

注意:太过于模糊的图片不要标,可以直接删掉,没有可标物体的图片也可以直接删掉。

标注完之后,文件夹里是这样的,图片与xml文件是一一对应的:

注意:这样图片和标注保存的目的是直观地看出图片与xml文件是否一一对应,请务必保证图片与xml文件一一对应!

xml文件里面的内容如下:

<annotation>
	<folder>data</folder>
	<filename>000001.jpg</filename>
	<path>C:\Users\UryWu\Desktop\data\000001.jpg</path>
	<source>
		<database>Unknown</database>
	</source>
	<size>
		<width>640</width>
		<height>480</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>mud</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>83</xmin>
			<ymin>307</ymin>
			<xmax>124</xmax>
			<ymax>329</ymax>
		</bndbox>
	</object>
	<object>
		<name>mud</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>20</xmin>
			<ymin>198</ymin>
			<xmax>63</xmax>
			<ymax>223</ymax>
		</bndbox>
	</object>
</annotation>

这个object就是你做的标注,这里有两个标注,xmin、ymin、xmax、ymax就是标注框的左上角和右下角。mud就是标签名。

标注好数据之后,回到这个博客继续数据的训练:

tenforflow版YOLOv3下VOC数据集的准备和训练

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值