Caltech-UCSD Birds 200 (CUB) 数据库预处理
Notes
想调用 keras 的预训练网络提取图像特征,其中 VGG 和 ResNet50 要求输入图像长宽是224 x 224
,以 CUB 数据集为例,预处理图片尺寸,放到一个新文件夹里。
Dataset
Caltech-UCSD Birds 200
CUB 数据库有分 2010 版和 2011 版的,官网左侧边栏可选,都是 200 个类,其中:
- 2010 版:Caltech-UCSD Birds 200
- Number of categories: 200
- Number of images: 6,033
- Annotations: Bounding Box, Rough Segmentation, Attributes
- 2011 版:The Caltech-UCSD Birds-200-2011 Dataset
- Number of categories: 200
- Number of images: 11,788
- Annotations per image: 15 Part Locations, 312 Binary Attributes, 1 Bounding Box
本篇示例用的是 2011 版,下载解压后,images/
子目录里是按类组织的图片,一个类一个文件夹,文件夹名就是类名。更多介绍可见其README
文件。
Pitfall
有个坑在于数据集里并不是所有图片都是彩色的,比如009.Brewer_Blackbird
类的Brewer_Blackbird_0028_2682.jpg
一图,黑白图读出来没有 channel 这一维。开始没注意到这个问题,结果后续处理报错了。
我的处理办法:用 numpy 建一个目标尺寸的、通道数为 3 的数组(本示例中即224 x 224 x 3
),每个通道都赋成那张黑白图的值,这样能扩展出 channel 这维,且与原来的黑白图一致。原理可能是三种色光混合就变成白色光之类的。详见代码。
Code
目标:将图像尺寸改成224 x 224
,放在一个新目录下(如:images.resized/
),跟原来images/
的组织方式相同。
# -*- coding: utf8 -*-
from os.path import join
from os import listdir, makedirs
from imageio import imread, imwrite
from scipy.misc import imresize #, imread, imsave
import numpy as npIN = 'images' # 源目录
OUT = 'images.resized' # 输出目录
CHANNEL = 3 # 通道数
SIZE_2D = (224, 224) # 目标长宽
SIZE_3D = (224, 224, CHANNEL)makedirs(OUT) # 创建输出目录
ls = list(listdir(IN)) # 列出(按类组织的)子目录
# print(ls)
for p in ls:out_d = join(OUT, p) # 输出(按类组织的)子目录makedirs(out_d)p = join(IN, p)# print(listdir(p))for filE in listdir(p):img = imread(join(p, filE)) # 读图img = imresize(img, SIZE_2D) # 改图if img.shape != SIZE_3D: # 黑白图tmp = np.zeros(SIZE_3D)for c in range(CHANNEL):tmp[:, :, c] = imgimg = tmpimwrite(join(out_d, filE), img) # 存图
Files
百度网盘:https://pan.baidu.com/s/12Frox4ztNmH5E_ZERlRwjg?pwd=7zdh
,提取码:7zdh
。
References
SciPy快速入门教程
Imageio’s user API
Applications | Keras Documentation
keras预训练模型应用(3):VGG19提取任意层特征
Caltech-UCSD Birds 200 (CUB) 数据库预处理相关推荐
- mysql使用数据库预处理_php中对MYSQL操作之预处理技术(2)数据库dql查询语句
//预处理技术 //创建一个mysqli对象 $mysqli = new MySQLi("主机名","mysql用户名","密码",&quo ...
- mysql数据库预处理_一种MySQL数据库中间件预处理方法与流程
本发明属于通信领域,特别涉及一种MySQL数据库中间件预处理方法. (二) 背景技术: 通常来说,MySQL集群和应用程序之间需要通过一个中间件来实现通信.中间件的作用是,对于应用程序来说,不需要关心 ...
- 年薪200万数据库牛人牛新庄的成长历程
作者简介: 牛新庄博士,研究方向为数据仓库和数据挖掘.是IBM官方资深培训讲师(培训DB2,AIX,MQ,WebSphere和CICS).2002年获IBM 杰出软件专家奖,2006年获& ...
- Pytorch训练Bilinear CNN模型笔记
Pytorch训练Bilinear CNN模型笔记 注:一个项目需要用到机器学习,而本人又是一个python小白,根据老师的推荐,然后在网上查找了一些资料,终于实现了目的. 参考文献: Caltech ...
- 【今日CV 计算机视觉论文速览 第93期】Wed, 3 Apr 2019
今日CS.CV 计算机视觉论文速览 Wed, 3 Apr 2019 Totally 55 papers Daily Computer Vision Papers Exploring Randomly ...
- Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for t2i 用于文本图像合成的动态记忆生成对抗网络
Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis ...
- CogView: Mastering Text-to-Image Generation via Transformers翻译
摘要 通用领域中的 Text-to-Image 生成长期以来一直是一个开放的问题,它需要强大的生成模型和跨模态理解. 我们提出了 CogView,一个 40 亿参数的 Transformer,带有 V ...
- 深度学习数据集标注工具、图像语料数据库等资源
NLP+VS︱深度学习数据集标注工具.图像语料数据库.实验室搜索ing... 2017年02月07日 12:12:01 阅读数:27032 ~~因为不太会使用opencv.matlab工具,所以在找一 ...
- 深度学习(DL) /人工智能(AI)数据集标注工具、图像语料数据库
一.NLP标注工具BRAT BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的标注结果能够把无结构化的原始文本结构化,供计算机处理.利用该工具可以方便的获得各项NLP ...
- NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing..
一.NLP标注工具 来源:<构想:中文文本标注工具(附开源文本标注工具列表)> Chinese-Annotator 来源:https://github.com/crownpku/Chi ...
最新文章
- OpenCV学习笔记(12)——OpenCV中的轮廓
- 生物信息「知识图谱」
- pytorch的多分类问题
- xml方式实现aop-通知的种类
- 栈和排序(贪心+思维)
- 统计模型混响信号预报matlab,基于MATLAB的混响效果设计课程设计
- 6070. 计算字符串的数字和
- 一点排位就安全异常退出_鸡肉的嘌呤高吗?高尿酸血症和痛风人群可以吃吗?怎么吃才安全呢...
- umi build打包之后部署报错
- 视频剪辑自学怎么入门?借助这款软件可以达到意想不到的效果
- pve 缩小LXC 磁盘
- 无情链表的创建,,插入,,删除第一个位
- android7 ios,碰到这样的安卓7.0系统,iOS10真要吓出一身汗!
- 80年代个人计算机,现在的电脑程序在80年代就已经有了
- 基督山伯爵---大仲马
- 转: 大年三十整理的asp.net资料!(经典)
- 优秀是一种习惯:说一说你身边在世界名校读书的人
- python k线图和指标_量化交易中,如何使用Python画K线、成交量、买卖点【邢不行】...
- IOS设备使用Airplay投屏到Windows的软件对比
- 那些重出江湖的大佬们――柳传志etc.
热门文章
- excel汇总软件如何快速汇总多个表格数据
- 基于Operator Discretization Library (ODL)的CT图像正反投
- 吴恩达深度学习学习笔记——C1W2——神经网络基础——练习题
- C# 判断是不是非负数
- 协议栈skb _buff
- 在C语言中使用fflush(stdin)
- 流式处理术语解释:Exactly-once与Effectively-once
- php在word中生成表格,word创建表格的三种方法分别是什么
- hdu 5887 herb gathering 搜索剪枝
- android studio导入音乐文件,Android Studio 通过raw 文件夹播放音乐问题