最近看了看YOLO从v1到v3,想用widerface数据集训练yolov3去进行人脸检测。
首先需要做的就是将widerface数据集的格式转化为VOC格式。
由于编程能力不强,在网上看了看代码,发现
https://www.cnblogs.com/linyuanzhou/p/6043436.html
为了省事,便借用一下,但是由于他的代码估计是基于python2.7,实测python2.7可以在直接运行他的代码。
在我用python3.5运行时,会有版本不兼容的状况。为此我对代码进行了一些小的修改,放在这里让大家更加方便吧。
下图为目录结构:
![](https://i-blog.csdnimg.cn/blog_migrate/934b51c4b1e2db94d4d60cf30a67c40d.png)
#基于python2.7的代码(我不是原作者)
# -*- coding: utf-8 -*-
"""
Created on 17-5-27
@author: zly
"""
from skimage import io
import shutil
import random
import os
import string
headstr = """\
<annotation>
<folder>VOC2007</folder>
<filename>%06d.jpg</filename>
<source>
<database>My Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
<flickrid>NULL</flickrid>
</source>
<owner>
<flickrid>NULL</flickrid>
<name>company</name>
</owner>
<size>
<width>%d</width>
<height>%d</height>
<depth>%d</depth>
</size>
<segmented>0</segmented>
"""
objstr = """\
<object>
<name>%s</name>
<pose>Unspecified</pose>