【深度學習】語義分割 NYUv2 數據集

數據集下載

去到NYU Depth V2[1] 官網下載數據集,如下圖所示。這裏我們只是用RGB數據,不使用RGB-D數據(帶深度信息),所以只需要下載Labeled dataset (~2.8 GB)即可。此外還需要下載劃分訓練/測試數據集的文件:Train / Test Split
在這裏插入圖片描述

數據集的轉換

概述

NYUv2一共提供了1449張RGB圖像和和894個類別標註。在有些研究工作中,如[2][3],僅使用40個語義類別進行訓練和評估,通常稱之爲NYUv2-40。模型訓練中一般使用標準劃分:795和654分別用於訓練和測試。原始數據集使用.mat格式,我們需要將相應的數據提取出來。

下面會詳細講解如何提取,以及得到NYUv2-40的標註。

點擊這裏下載筆者蒐集的資源和實現的轉換腳本。解壓後的目錄結構如下:
在這裏插入圖片描述

提取RGB圖像和標註

首先,從nyu_depth_v2_labeled.mat(即上文中官網下載的標註數據)中提取到RGB圖像和.png標註圖像。運行:

python mat_image.py
python mat_label.py

腳本會自動在同級目錄下生成nyu_images和nyu_labels兩個文件夾,分別用於存放提取出來的RGB圖像和.png灰度標註。

數據集劃分

官網下載到的數據集劃分文件splits.mat也需要轉換爲對應的train.txttest.txt,運行腳本:

python train_test.py

腳本將自動創建train.txttest.txt,分別對應訓練集和測試集的圖像id。現在目錄結構如下:
在這裏插入圖片描述
到這裏,標準的NYUv2數據集就製作好了。語義分割中常使用RGB圖像,並不使用其中的深度信息,所以這裏並未提取RGB-D圖像。

NYUv2-40製作

文件夾中names.txt表示原始NYUv2數據集的類別,names_40.png表示NYUv2-40中使用的語義類別。
接下來需要將NYUv2-40的語義類別標註從labels40.mat提取出來,運行:

python mat_label_40.py

如下圖,結果存放在生成的nyu_lables40文件夾中。
在這裏插入圖片描述

參考文獻

[1] N. Silberman, D. Hoiem, P. Kohli, and R. Fergus. Indoor segmentation and support inference from rgbd images. In Proceedings of the European Conference on Computer Vision, 2012.
[2] S. Gupta, P. Arbelaez, and J. Malik. Perceptual organization and recognition of indoor scenes from rgb-d images. In Pro- ceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2013.
[3] Lin G, Milan A, Shen C, et al. RefineNet: Multi-path Refinement Networks for High-Resolution Semantic Segmentation. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章