您的位置:首页 > 其它

视觉常用数据集介绍和图像的常见操作

2017-09-20 22:27 246 查看

1.常用数据集介绍

1.1 MNIST

深度学习领域的“Hello World!”,入门必备!MNIST是一个手写数字数据库,它有60000个训练样本集和10000个测试样本集,每个样本图像的宽高为28*28。此数据集是以二进制存储的,不能直接以图像格式查看,不过很容易找到将其转换成图像格式的工具。

  最早的深度卷积网络LeNet便是针对此数据集的,当前主流深度学习框架几乎无一例外将MNIST数据集的处理作为介绍及入门第一教程,其中Tensorflow关于MNIST的教程非常详细。数据集下载~12MB

1.2 ImageNet

ImageNet数据集有1400多万幅图片,涵盖2万多个类别。其中有超过百万的图片有明确的类别标注和图像中物体位置的标注,相关信息如下:

1)非空的同义词集总数:21841

2)图像总数:14,197,122

3)边界框注释的图像数:1,034,908

4)具有SIFT特征的同义词集数:1000

5)具有SIFT特征的图像数:120万

Imagenet数据集是目前深度学习图像领域应用得非常多的一个领域,关于图像分类、定位、检测等研究工作大多基于此数据集展开。Imagenet数据集文档详细,有专门的团队维护,使用非常方便,在计算机视觉领域研究论文中应用非常广,几乎成为了目前深度学习图像领域算法性能检验的“标准”数据集。数据集下载~1TB(ILSVRC2016比赛全部数据)

ImageNet是根据WordNet层次(目前只有名词)组织的一个图像数据库,其中每个节点的层次结构是由成千上万的图像描绘。目前,有平均每个节点超过五百的图像。我们希望对于研究人员,教育工作者,学生和所有分享我们对图片激情的人来说,ImageNet能成为一个有用的资源。

点击这里了解更多关于ImageNet,请点击这里加入ImageNet邮件列表。

1.3 COCO

COCO(Common Objects in Context)是一个新的图像识别、分割、和字幕数据集,它有如下特点:
1)对象分割
2)上下文识别
3)每个图像的多个对象
4)超过300000幅图像
5)超过200万个实例
6)80个对象类别
7)每个图像5个说明文字
8)100000人的关键点


COCO数据集由微软赞助,其对于图像的标注信息不仅有类别、位置信息,还有对图像的语义文本描述,COCO数据集的开源使得近两三年来图像分割语义理解取得了巨大的进展,也几乎成为了图像语义理解算法性能评价的“标准”数据集。数据集下载~40GB

1.4 PASCAL VOC

PASCAL VOC挑战赛是视觉对象的分类识别和检测的一个基准测试,提供了检测算法和学习性能的标准图像注释数据集和标准的评估系统。PASCAL VOC图片集包括20个目录:人类;动物(鸟、猫、牛、狗、马、羊);交通工具(飞机、自行车、船、公共汽车、小轿车、摩托车、火车);室内(瓶子、椅子、餐桌、盆栽植物、沙发、电视)。PASCAL VOC挑战赛在2012年后便不再举办,但其数据集图像质量好,标注完备,非常适合用来测试算法性能。数据集下载~2GB

2.利用opencv进行图像读取处理保存

import cv2
import os,sys
im_file=os.path.join('/home/dl','000004'+'.jpg')
print(im_file)

#read image
img=cv2.imread(im_file)
cv2.namedWindow("image")

#process image
cv2.rectangle(img,(1,1),(50,100),(0,0,255),3,0)

#save image
cv2.imwrite('result.jpg',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])

#show image
cv2.imshow("image",img)
cv2.waitKey (0)


#encoding:utf-8
import cv2
import os,sys
im_file=os.path.join('/home/dl','000004'+'.jpg')
print(im_file)

#read image
img=cv2.imread(im_file)
cv2.namedWindow("image")

#process image
cv2.rectangle(img,(30,60),(180,180),(0,0,255),3,0)

#using defalut font type
font=cv2.FONT_HERSHEY_SIMPLEX
#将文字框加入到图片中,):文本起位置,1.2:字体大小  (0,255,0):color   2:粗细
cv2.putText(img, 'sky ,cloud', (30,50), font,0.6, (0,255,0),2)

#save image
cv2.imwrite('result.jpg',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])

#show image
cv2.imshow("image",img)
cv2.waitKey (0)


3.利用scipy将numpy数组保存为图片

import numpy as np
import scipy
import scipy.misc
x = np.random.random((600,800,3))
i=1;j=3;

scipy.misc.imsave('./gen_samp/'+str(i)+str(j)+'.jpg', x)


4.机器学习中的常用性能指标:precise和recall

精确率(precise)是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP).

precise=TPTP+FP

召回率(recall)是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。

recall=TPTP+FN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: