1.LSUN数据集
类似ImageNet的大规模数据集,最早出自这篇论文:
-
《LSUN: Construction of a Large-Scale Image Dataset
using Deep Learning with Humans in the Loop》 -
官网地址:
https://www.yf.io/p/lsun
这个数据集借助深度学习自动标注图片,相比ImageNet, 其标注更丰富,不仅有图片中主要物体的标注,还有场景标注。
- 其中物体标注及数量如下:
- 主要标注场景如下:
其中场景标注是现在深度学习中常用的benchmark数据集.
常用场景包括:bedroom,diningroom,以及厨房(kitchen)
2.下载
如果外网下载较慢,可以自行搜索我上传在cdsn下载资源内的网百度云链接(备注:因为整个数据集非常大,我也正在收集,暂时不能保证收集全)
这里提供一个20g的living-room:
链接:https://pan.baidu.com/s/1PtDqgnLbNbGfD8T4R8IBXw 密码:5kui
3.mdb格式转换
下载后的数据是各个场景的zip压缩包,解压缩后是对应的mdb文件。要转换为jpg或者png,需要来自附带的工具包代码:
https://github.com/fyu/lsun.
代码中包括三个代码文件:1.下载文件(download.py),2.展示和转换文件(data.py)
不过需要注意的是, data.py这个文件bug挺多。
- 首先展示的话,需要是windows系统下才能正常实用
格式如下:
python3 data.py view
- 如果是转换的话,需要将压缩包放到这个项目文件目录下,再编译data.py:
python3 data.py export
--out_dir
不过这个问题就bug比较多了,具体可以看看github项目issues中的
“export lmdb to jpg has error #11”
即修改data.py中的45,49,50行为:
LINE 45 : image_out_dir = join(out_dir, '/'.join(key[:6].decode()))
LINE 50 : with open(image_out_path, 'wb') as fp:
Line 49 :image_out_path = join(image_out_dir, key.decode() + '.jpg')
其中前两个是转码问题:
image_out_dir = join(out_dir, ‘/’.join(key[:6]))
TypeError: sequence item 0: expected str instance, int found
后一个是转换图片格式默认是.webp,可以改为jpg(也可以改为png)
- 保存文件
默认保存文件是分为无数个子文件夹,如果想全部图片保存为一个文件夹,可以加上–flatten参数,容易:
python data.py export ./bedroom_val_lmdb --out_dir ./bedroom_val --flat
最后就是图片文件名在unbuntu上是乱码,这个自己转码或者重写命名规则即可。