點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達

很多朋友在學習了神經(jīng)網(wǎng)絡和深度學習之后,早已迫不及待要開始動手實戰(zhàn)了。第一個遇到的問題通常就是數(shù)據(jù)。作為個人學習和實驗來說,很難獲得像工業(yè)界那樣較高質量的貼近實際應用的大量數(shù)據(jù)集,這時候一些公開數(shù)據(jù)集往往就成了大家通往AI路上的反復摩擦的對象。
計算機視覺(CV)方向的經(jīng)典數(shù)據(jù)集包括MNIST手寫數(shù)字數(shù)據(jù)集、Fashion MNIST數(shù)據(jù)集、CIFAR-10和CIFAR-100數(shù)據(jù)集、ILSVRC競賽的ImageNet數(shù)據(jù)集、用于檢測和分割的PASCAL VOC和COCO數(shù)據(jù)集等。而自然語言處理(NLP)方向的經(jīng)典數(shù)據(jù)集包括IMDB電影評論數(shù)據(jù)集、Wikitext維基百科數(shù)據(jù)集、Amazon reviews(亞馬遜評論)數(shù)據(jù)集和Sogou news(搜狗新聞)數(shù)據(jù)等。本講就分別對這些經(jīng)典數(shù)據(jù)集和使用進行一個概述。MNIST(Mixed National Institute of Standards andTechnology database)數(shù)據(jù)集大家可以說是耳熟能詳??梢哉f是每個入門深度學習的人都會使用MNIST進行實驗。作為領域內最早的一個大型數(shù)據(jù)集,MNIST于1998年由Yann LeCun等人設計構建。MNIST數(shù)據(jù)集包括60000個示例的訓練集以及10000個示例的測試集,每個手寫數(shù)字的大小均為28*28。在本書的前面一些章節(jié),我們曾多次使用到了MNIST數(shù)據(jù)集。MNIST數(shù)據(jù)集官網(wǎng)地址為http://yann.lecun.com/exdb/mnist/。MNIST在TensorFlow中可以直接導入使用。在TensorFlow 2.0中使用示例如代碼1所示。from tensorflow.keras.datasets import mnist(x_train,y_train), (x_test, y_test) = mnist.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
(60000, 28, 28) (60000,) (10000, 28, 28)(10000,)
可視化展示MNIST 0-9十個數(shù)字,如代碼2所示,繪制結果如圖1。# 導入相關模塊import matplotlib.pyplot as pltimport numpy as np# 指定繪圖尺寸plt.figure(figsize=(12,8))# 繪制10個數(shù)字fori in range(10): plt.subplot(2,5,i+1) plt.xticks([]) plt.yticks([]) img = x_train[y_train == i][0].reshape(28,28) plt.imshow(img, cmap=plt.cm.binary)

?? ? ? ? ? ? ? ? 圖1 MNIST數(shù)據(jù)示例可能是見MNIST太爛大街了,德國的一家名為Zalando的時尚科技公司提供了Fashion-MNIST來作為MNIST數(shù)據(jù)集的替代數(shù)據(jù)集。Fashion MNIST包含了10種類別70000個不同時尚穿戴品的圖像,整體數(shù)據(jù)結構上跟MNIST完全一致。每張圖像的尺寸同樣是28*28。Fashion MNIST數(shù)據(jù)集地址為:https://research.zalando.com/welcome/mission/research-projects/fashion-mnist/。Fashion MNIST同樣也可以在TensorFlow中直接導入。如代碼3所示。from tensorflow.keras.datasets import fashion_mnist(x_train,y_train), (x_test, y_test) = fashion_mnist.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
(60000, 28, 28) (60000,) (10000, 28, 28)(10000,)
可視化展示Fashion MNIST 10種類別,如代碼4所示。繪制結果如2所示。
# 繪圖尺寸plt.figure(figsize=(12,8))# 繪制10個示例fori in range(10): plt.subplot(2,5,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) img = x_train[y_train == i][0].reshape(28,28) plt.imshow(x_train[i], cmap=plt.cm.binary)

圖2 Fashion MNIST數(shù)據(jù)示例展示
相較于MNIST和Fashion MNIST的灰度圖像,CIFAR-10數(shù)據(jù)集由10個類的60000個32*32彩色圖像組成,每個類有6000個圖像。有50000個訓練圖像和10000個測試圖像。CIFAR-10是由Hinton的學生Alex Krizhevsky(AlexNet的作者)和Ilya Sutskever 整理的一個用于識別普適物體的彩色圖像數(shù)據(jù)集。一共包含10個類別的RGB彩色圖片:飛機(airplane)、汽車(automobile)、鳥類(bird)、貓(cat)、鹿(deer)、狗(dog)、蛙類(frog)、馬(horse)、船(ship)和卡車(truck)。CIFAR-10的官方地址為https://www.cs.toronto.edu/~kriz/cifar.html。CIFAR-10在TensorFlow中導入方式如代碼5所示。from tensorflow.keras.datasets import cifar10(x_train,y_train), (x_test, y_test) = cifar10.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)?
(50000,32, 32, 3) (50000, 1) (10000, 32, 32, 3) (10000, 1)
CIFAR-10的可視化展示如代碼6所示。圖像示例如圖3所示。
plt.figure(figsize=(12,8))fori in range(10): plt.subplot(2,5,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(x_train[i], cmap=plt.cm.binary)

CIFAR-100可以看作是CIFAR-10的擴大版,CIFAR-100將類別擴大到100個類,每個類包含了600張圖像,分別有500張訓練圖像和100張測試圖像。CIFAR-100的100個類被分為20個大類,每個大類又有一定數(shù)量的小類,大類和大類之間區(qū)分度較高,但小類之間有些圖像具有較高的相似度,這對于分類模型來說會更具挑戰(zhàn)性。CIFAR-100數(shù)據(jù)集地址為https://www.cs.toronto.edu/~kriz/cifar.html。CIFAR-10在TensorFlow中導入方式如代碼7所示。from tensorflow.keras.datasets import cifar100(x_train,y_train), (x_test, y_test) = cifar100.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
(50000,32, 32, 3) (50000, 1) (10000, 32, 32, 3) (10000, 1)
CIFAR-100的可視化展示如代碼8所示,示例結果如圖4所示。
plt.figure(figsize=(12,8))fori in range(100): plt.subplot(10,10,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(x_train[i], cmap=plt.cm.binary)

ImageNet圖像數(shù)據(jù)集是在2009年由斯坦福的李飛飛主導的一個項目形成的一個數(shù)據(jù)集。李飛飛在CVPR2009上發(fā)表了一篇名為《ImageNet: A Large-Scale Hierarchical Image Database》的論文,之后從2010年開始基于ImageNet數(shù)據(jù)集的7屆ILSVRC大賽,這使得ImageNet極大的推動了深度學習和計算機視覺的發(fā)展。ILSVRC大賽歷屆經(jīng)典網(wǎng)絡如表1所示。 | | | |
| | | ImageNet Classification with Deep Convolutional Neural Networks |
| | | Visualizing and understanding convolutional networks |
| | | Going Deeper with Convolutions |
| | | Very deep convolutional networks for large-scale image recognition |
| | | Deep Residual Learning for Image Recognition |
| | | Aggregated Residual Transformations for Deep Neural Networks |
| | | Squeeze-and-Excitation Networks |
目前ImageNet中總共有14197122張圖像,分為21841個類別,數(shù)據(jù)官網(wǎng)地址為:http://www.image-net.org/ImageNet數(shù)據(jù)集示例如圖5所示。
PASCAL VOC挑戰(zhàn)賽(The PASCAL Visual Object Classes)是一個世界級的計算機視覺挑戰(zhàn)賽, 其全稱為Pattern Analysis, Statical Modeling andComputational Learning,從2005年開始到2012年結束,PASCAL VOC最初主要用于目標檢測,很多經(jīng)典的目標檢測網(wǎng)絡都是在PASCAL VOC上訓練出來的,例如,F(xiàn)ast R-CNN系列的各種網(wǎng)絡。后來逐漸增加了分類、分割、動作識別和人體布局等五類比賽。目前PASCAL VOC主要分為VOC2007和VOC2012兩個版本的數(shù)據(jù)集。PASCAL VOC數(shù)據(jù)示例如圖6所示。
圖6 PASCAL VOC數(shù)據(jù)示例
COCO數(shù)據(jù)集是微軟在ImageNet和PASCAL VOC數(shù)據(jù)集標注上的基礎上產(chǎn)生的,主要是用于圖像分類、檢測和分割等任務。COCO全稱為Common Objects in Context,2014年微軟在ECCV Workshops里發(fā)表了Microsoft COCO: Common Objects in Context。文章中說明了COCO數(shù)據(jù)集以場景理解為目標,主要從復雜的日常場景中截取,圖像中的目標通過精確的分割進行位置的標定。COCO包括91個類別目標,其中有82個類別的數(shù)據(jù)量都超過了5000張。COCO數(shù)據(jù)集主頁地址為http://cocodataset.org/#home。
除了以上這些公開的經(jīng)典數(shù)據(jù)集以外,我們也可以通過數(shù)據(jù)采集和圖像標注工具制作數(shù)據(jù)集。常用的圖像標注工具包括Labelme、LabelImg、Vatic、Sloth、ImageJ、CVAT、Yolo_mark、RectLabel和Labelbox等。圖8所示是Labelme圖像標注示例。
IMDB本身是一家在線收集各種電影信息的網(wǎng)站,跟國內的豆瓣較為類似,用戶可以在上面發(fā)表對電影的影評。IMDB數(shù)據(jù)集是斯坦福整理的一套用于情感分析的IMDB電影評論二分類數(shù)據(jù)集,包含了25000個訓練樣本和25000個測試樣本,所有影評被標記為正面和負面兩種評價。IMDB數(shù)據(jù)集的一個示例如圖9所示。
IMDB數(shù)據(jù)集在TensorFlow中讀取方法跟MNIST等數(shù)據(jù)集較為類似,如代碼9所示。from tensorflow.keras.datasets import imdb(x_train,y_train), (x_test, y_test) = imdb.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
Downloadingdata fromhttps:17465344/17464789[==============================] - 2s 0us/step(25000,)(25000,) (25000,) (25000,)
IMDB數(shù)據(jù)集地址為https://www.imdb.com/interfaces/。WikiText 英語詞庫數(shù)據(jù)(The WikiText Long Term Dependency Language ModelingDataset)是由Salesforce MetaMind 策劃的包含1億個詞匯的大型語言建模語料庫。這些詞匯都是從維基百科一些經(jīng)典文章中提取得到,包括WikiText-103和WikiText-2兩個版本,其中WikiText-2是WikiText-103的一個子集,常用于測試小型數(shù)據(jù)集的語言模型訓練效果。值得一提的是,WikiText保持了產(chǎn)生每個詞匯的原始文章,非常適用于長時依賴的大文本建模問題。WikiText數(shù)據(jù)集地址為https://metamind.io/research/the-wikitext-long-term-dependency-language-modeling-dataset。Amazon Reviews數(shù)據(jù)集是2013年由康奈爾大學[1]發(fā)布的、從斯坦福網(wǎng)絡分析項目(SNAP)中構建的Amazon評論數(shù)據(jù)集,分為Full和Polarity兩個版本。Full版本每個類別包含600000個訓練樣本和130000個測試樣本,Polarity版本每個類別則包含1800000個訓練樣本和200000個測試樣本。評論的商品包括書籍、電子產(chǎn)品、電影、日常家用產(chǎn)品、衣服、手機、玩具等各類常用物品。Amazon Reviews數(shù)據(jù)集地址為http://jmcauley.ucsd.edu/data/amazon/。Amazon Reviews數(shù)據(jù)集的一個樣本示例如圖10所示。
圖10 Amazon Reviews數(shù)據(jù)示例
Sogou news 數(shù)據(jù)集是來自SogouCA和SogouCS新聞語料庫總共包含運動、金融、娛樂、汽車和技術5個類別2909551篇新聞文章構成的數(shù)據(jù)集。每個類別分別包含90000個訓練樣本和12000個測試樣本。Sogou news 數(shù)據(jù)集地址為:http://academictorrents.com/details/b2b847b5e1946b0479baa838a0b0547178e5ebe8。NLP領域還有一些像Ag News、Yelp等經(jīng)典數(shù)據(jù)集,這里限于篇幅就不再進行更多的介紹,感興趣的讀者可以自行查閱。下載1:OpenCV-Contrib擴展模塊中文版教程
在「小白學視覺」公眾號后臺回復:擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內容。下載2:Python視覺實戰(zhàn)項目52講在「小白學視覺」公眾號后臺回復:Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。在「小白學視覺」公眾號后臺回復:OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關微信群。請勿在群內發(fā)送廣告,否則會請出群,謝謝理解~