pascal voc 数据集_【TensorFlow系列】【八】目标检测之pascal voc数据预处理

想了解更多好玩的人工智能应用,请关注公众号“机器AI学习 数据AI挖掘”,”智能应用"菜单中包括:颜值检测、植物花卉识别、文字识别、人脸美妆等有趣的智能应用。。

f2ab3ebea2de502c142dc1a0d0ee996b.png

本文介绍如下三个方面的知识:

1、如何将pascal voc数据集转化为TensorFlow的tfrecord文件?

2、如何使用lxml解析xml文件?

3、如何使用opencv在图片上画出目标边框?

【第一部分】将pascal voc数据集转化为TensorFlow的tfrecord文件

pascal voc数据集下载地址为:

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html

其中的name与label数字标签的映射关系文件下载地址为:

https://github.com/tensorflow/models

位于:models-master\research\object_detection\data\pascal_label_map.pbtxt

整个解析过程分为三步:

1.将name与label的映射文件pascal_label_map.pbtxt解析为字典格式数据,即name---label格式

2.将xml文件使用lxml读取出来后,将其解析为字典格式的数据。

3.将原始图片数据与annotation数据转为tfrecord文件格式数据。

代码如下:

import tensorflow 

【第二部分】读取目标检测tfrecord数据并使用opencv在图片上画出目标边框

整个过程分为如下两步:

1.编写tfrecord解析函数,即反序列化函数。

2.获取图片标注数据,并使用OpenCV绘制边框。

具体代码如下:

import tensorflow 

效果如下图:

c614db8fe7be62e8fa28945e615014df.png

PS:在解析tfrecord数据文件时,由于在解析函数中拿到的都是tensor,而不是数据本身,又由于session无法传递到解析函数中,所以许多预处理操作在解析函数中无法实施,需要在外面拿到数据后,在利用numpy等对数据进行预处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值