MachineLearning(2)-图像分类常用数据集
圖像分類常用數(shù)據(jù)集
- 1 CIFAR-10
- 2.MNIST
- 3.STL_10
- 4.Imagenet
- 5.L-Sun
- 6.caltech-101
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像識(shí)別分類時(shí),常會(huì)用到一些通用的數(shù)據(jù)集合。利用這些數(shù)據(jù)集合可以對(duì)比不同模型的性能差異。下文整理常用的圖片數(shù)據(jù)集合(持續(xù)更新中)。
基本信息對(duì)比表格:
| CIFAR-10 | 10 | 6k | 5w | 1w | 32*32 | RGB | 163M | 交通工具,動(dòng)物 |
| MNIST | 10 | 7k | 6w | 1w | 28*28 | 灰度 | 54M | 手寫數(shù)字 |
| STL_10 | 10 | 1300(label)+10W(unlabel) | 500 | 800 | 96*96 | RGB | 2.5G | 與cifar一樣 |
| L-sun | 10 | – | – | – | 256*256 | RGB | >50G | 場(chǎng)景 |
1 CIFAR-10
CIFAR-10是RGB 彩色圖像數(shù)據(jù)集,是Hinton的學(xué)生Alex標(biāo)注整理發(fā)布。
數(shù)據(jù)集發(fā)布網(wǎng)站:http://www.cs.toronto.edu/~kriz/cifar.html
一共包含10 個(gè)類別:飛機(jī)( airplane )、汽車( automobile )、鳥類( bird )、貓( cat )、鹿( deer )、狗( dog )、蛙類( frog )、馬( horse )、船( ship )和卡車( truck )。
每個(gè)圖片的尺寸為32 × 32 ,每個(gè)類別有6000個(gè)圖像,數(shù)據(jù)集中一共有50000 張訓(xùn)練圖片和10000 張測(cè)試圖片。訓(xùn)練數(shù)據(jù)背分別放在5個(gè).bin文件中,測(cè)試數(shù)據(jù)放在1個(gè)文件中。
一個(gè)樣本由32323=3073 個(gè)字節(jié)組成,第一個(gè)字節(jié)為標(biāo)簽label ,剩下3072 個(gè)字節(jié)為圖像數(shù)據(jù)。樣本和樣本之間沒高多余的字節(jié)分割, 每個(gè)二進(jìn)制文件的大小是30730000 字節(jié)。
數(shù)據(jù)集合的文件目錄如下:
通過pytorch 讀入cifar-10數(shù)據(jù)文件:
transform=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)), ])
訓(xùn)練集,將目錄./data下的cifar-10-batches-py文件夾中的全部訓(xùn)練數(shù)據(jù)(50000張訓(xùn)練圖片)加載到內(nèi)存中,若download為True時(shí),會(huì)自動(dòng)從網(wǎng)上下載數(shù)據(jù)并解壓
trainset = torchvision.datasets.CIFAR10(root=’./data’, train=True, download=True, transform=transform)
將訓(xùn)練集的50000張圖片劃分成12500份,每份4張圖,用于mini-batch輸入。shffule=True在不同epoch的數(shù)據(jù)遍歷時(shí),打亂順序重新分組。num_workers=2:使用兩個(gè)子進(jìn)程來加載數(shù)據(jù)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)
測(cè)試集,將目錄./data下的cifar-10-batches-py文件夾中的全部測(cè)試數(shù)據(jù)(10000張測(cè)試圖片)加載到內(nèi)存中,若download為True時(shí),會(huì)自動(dòng)從網(wǎng)上下載數(shù)據(jù)并解壓
testset = torchvision.datasets.CIFAR10(root=’./data’, train=False, download=False, transform=transform)
將測(cè)試集的10000張圖片劃分成2500份,每份4張圖,用于mini-batch輸入。
testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)
用for 循環(huán)enumerate在trainloader和testloader 中取批次數(shù)據(jù)即可。
for i, data in enumerate(trainloader, 0):
參考資料:https://blog.csdn.net/qq_41185868/article/details/82793025
2.MNIST
3.STL_10
官方網(wǎng)址:https://cs.stanford.edu/~acoates/stl10/
STL-10數(shù)據(jù)集是用于開發(fā)無監(jiān)督特征學(xué)習(xí)、深度學(xué)習(xí)、自學(xué)習(xí)算法的圖像識(shí)別數(shù)據(jù)集。它的靈感來自CIFAR-10數(shù)據(jù)集,并進(jìn)行了一些修改。與CIFAR-10相比,每一類別 標(biāo)記訓(xùn)練樣本數(shù)量較少.但是在監(jiān)督訓(xùn)練之前,提供了大量的未標(biāo)記樣本來學(xué)習(xí)圖像模型。主要的困難是利用未標(biāo)記的數(shù)據(jù)(來自與標(biāo)記數(shù)據(jù)相似但不同的分布)來構(gòu)建有用的先驗(yàn)。我們還期望,該數(shù)據(jù)集以較高分辨率(96x96)將使其成為開發(fā)更具伸縮性的無監(jiān)督學(xué)習(xí)方法的基準(zhǔn)。
1.10個(gè)類:飛機(jī)、鳥、汽車、貓、鹿、狗、馬、猴、船、卡車。
2.圖像為96x96像素,彩色。
3.500張訓(xùn)練圖像(10份)/每類,800張測(cè)試圖像/每類。
4.用于無監(jiān)督學(xué)習(xí)的100000張無標(biāo)簽圖像。這些樣本是從相似但分布更廣的圖像中提取出來的。例如,10類標(biāo)簽中的動(dòng)物外,它還包含其5.他類型的動(dòng)物(熊、兔子等)和車輛(火車、公共汽車等)。
圖像是從ImageNet上標(biāo)記的樣本中獲取的。
官網(wǎng)提供了matlab 版本(.mat)和python 版本(二進(jìn)制文件)的數(shù)據(jù)文件,(我用的是python版本的文件)
二進(jìn)制文件有數(shù)據(jù)文件和標(biāo)簽文件:train_X.bin(數(shù)據(jù)文件)、train_y.bin(標(biāo)簽文件)、test_X.bin和test_y.bin。在每個(gè)值中,數(shù)據(jù)存儲(chǔ)格式:uint8的數(shù)組。圖像以列主順序存儲(chǔ),一次一個(gè)通道。也就是說,前9696值是紅色通道,后9696值是綠色,最后一個(gè)是藍(lán)色。標(biāo)簽在1到10之間。未標(biāo)記的數(shù)據(jù)集unlabeld.bin的格式相同,但不存在“y.bin”文件。
提供一個(gè)class_names.txt文件供參考,每行一個(gè)類名。
文件fold_index.txt包含用于訓(xùn)練的每個(gè)fold的(0開始)索引。第一行包含第一個(gè)fold、第二行、第二個(gè)fols索引等等等。
感謝Martin Tutek為加載/查看STL-10提供代碼!鏈接:https://github.com/mttk/STL10
stl10在pytorch 中對(duì)應(yīng)的數(shù)據(jù)載入接口:torchvision.datasets.STL10(root: str, split: str = ‘train’, folds: Optional[int] = None, transform: Optional[Callable] = None, target_transform: Optional[Callable] = None, download: bool = False)
4.Imagenet
網(wǎng)址:http://www.image-net.org/download.php
ImageNet是一個(gè)根據(jù)WordNet層次結(jié)構(gòu)(目前只有名詞)組織的圖像數(shù)據(jù)庫(kù),其中每個(gè)節(jié)點(diǎn)都由成百上千的圖像描述。目前平均每個(gè)節(jié)點(diǎn)有500多個(gè)圖像。
1500萬張,數(shù)據(jù)大小1TB,但是算力不夠的情況下只會(huì)用到其中的一些子集.
光imaget 2012 就是150G(下不動(dòng),下不動(dòng))
pytorch 提供的數(shù)據(jù)接口針對(duì):ImageNet 2012 Classification Dataset.
要注冊(cè),才能下載圖像,知乎操作:https://zhuanlan.zhihu.com/p/42696535
5.L-Sun
官網(wǎng):https://www.yf.io/p/lsun-介紹l-sun 文章,比賽,數(shù)據(jù)集,有鏈接直轉(zhuǎn)到數(shù)據(jù)下載github倉(cāng)庫(kù)
github:https://github.com/fyu/lsun
l-sun 是一個(gè)場(chǎng)景數(shù)據(jù)庫(kù),包括10個(gè)場(chǎng)景.場(chǎng)景和對(duì)應(yīng)的序號(hào)為:
bedroom 0 # --40G
bridge 1
church_outdoor 2
classroom 3
conference_room 4
dining_room 5
kitchen 6
living_room 7
restaurant 8
tower 9 #train+test --13.9G
tower-train-Minibatch_size為64,有11067個(gè)batch,約合70w張圖片)
6.caltech-101
官網(wǎng):http://www.vision.caltech.edu/Image_Datasets/Caltech101/
加利福尼亞理工學(xué)院101類圖像數(shù)據(jù)庫(kù),有101類物體的圖片。每個(gè)類別大約有40到800個(gè)圖像。大多數(shù)類別都有大約50張圖片。2003年9月由李飛飛、安德烈托和蘭扎托收藏。每個(gè)圖像的大小大約為300 x 200像素。(9144張,平均每個(gè)類別90張)
制作者們仔細(xì)點(diǎn)擊了這些圖片中每個(gè)對(duì)象的輪廓,輪廓信息包含在“Annotations.tar”下面,有一個(gè)matlab腳本可以查看注釋,
“show_annotations.m”。
caltech-256,30607張圖片,1.2G(平均每個(gè)類別119張.)
101 object, 256 object 都是folder 數(shù)據(jù)集合,使用pytorch dset.ImageFolder接口即可.
總結(jié)
以上是生活随笔為你收集整理的MachineLearning(2)-图像分类常用数据集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习知识总结系列- 知识图谱(0-0
- 下一篇: 《Python Cookbook 3rd