轉載自:https://blog.csdn.net/qq_43205738/article/details/86543766
簡介
這是ILSVRC2012開發工具包的文檔。
如有問題、評論或bug報告,請聯繫[email protected]。
數據集
本次比賽的圖像數據有三種類型:來自ImageNet的訓練數據(TRAINING)、特定於本次比賽的驗證數據(VALIDATION)和特定於本次比賽的測試數據(TEST)。在三個數據源中沒有重疊:訓練、驗證和測試。這三組數據都包含1000類對象的圖像。這些類別一一對應於WordNet中1000個synsets (同義詞名詞集)。如果圖像包含X,則該圖像屬於該類別X,其中X是一個synset名詞。有關集合和標記策略的詳細信息,請參見[1]。
所選的1000個synsets類別之間沒有重疊,對於任何sysnets i和j, i都不是WordNet(WordNet是一個大型英語語義網,裏面將名詞、動詞、形容詞和副詞整理成了同義詞集,並標註了同義詞集之間的關係,而ImageNet中的圖片是分類到WordNet的同義詞集上的)中j的父類或子類。我們稱這些synsets爲“低等級的synsets”。
這1000個synsets是更大的ImageNet的一部分,我們可以認爲ImageNet包含了1000個低等級的synsets和它們所有的父類。它們的父類有860個,我們稱之爲“高等級的synsets”。它們之間的關係可以理解爲這樣的層次結構,所有的低等級synsets都是“葉節點”,而高等級synsets是“枝節點”。即低等級類(1000類)的劃分比較細,一個高等級類(860類)可能能劃分成多個低等級類。
需要注意的是,低等級synsets在ImageNet中可能有子類,但是對於ILSVRC 2012,我們不考慮它們的子類別。即ILSVRC 2012可以看作是完整ImageNet的“修剪”版本。
還要注意的是,在本次比賽中,所有的ground truth標籤都是低等級synsets,參賽作品必須預測出與1000個低水平synsets中的一個相對應的標籤。不考慮預測高等級synsets。因爲沒有爲高等級synsets提供額外的訓練圖像。
1.數據結構
所有關於synsets的信息都在data/meta.mat中的“synsets”數組中。可以在Matlab中訪問它,輸入:
load data/meta.mat;
synsets
你會看到
synsets =
1x1 struct array with fields:
ILSVRC2012_ID
WNID
words
gloss
num_children
children
wordnet_height
num_train_images
這個struct數組每個字段的意義如下:
'ILSVRC2012_ID’是分配給每個synset的整數ID。所有的低等級synsets都被分配了1到1000之間的ID。所有高等級synsets的ID都大於1000。在“synsets”數組中,按照ILSVRC2012_ID對synsets進行排序,即synsets(i)。i.預測結果提交使用ILSVRC2012_ID作爲synset標籤。
'WNID’是一個synset的WordNet ID。它是ImageNet或WordNet中synset的唯一標識。訓練圖像的tar文件使用WNID命名。此外,它還用於命名單個訓練圖像。
'num_children’是該synset的子類數量。對於所有低等級synsets,它都是零;對於高等級synsets,它是非零的。
'children’是該synset的子類的ILSVRC2012_IDs組成的向量。
'wordnet_height’是指在完整ImageNet/WordNet層次結構中的到其子節點(子類)的最長路徑的長度(完整ImageNet層次結構中的葉子節點的wordnet_height爲0)。
層次結構根的ILSVRC2012_ID爲1001,即synset“實體”。
2.訓練圖像
每個synset都有一個tar文件,由其WNID命名。圖像文件命名爲x_y.JPEG,其中x是synset的WNID, y是一個整數(不是固定的長度,也不一定是連續的)。所有圖像都是JPEG格式。
總共有1281167張圖片用於訓練。每個synset的圖像數量從732到1300不等。
3.驗證圖像
總共有50,000張驗證圖像。它們被命名爲:
ILSVRC2012_val_00000001.JPEG
ILSVRC2012_val_00000002.JPEG
...
ILSVRC2012_val_00049999.JPEG
ILSVRC2012_val_00050000.JPEG
每個synset有50個驗證圖像。
驗證圖像的groud_truth在:
data/ILSVRC2012_validation_ground_truth.txt,
其中每行包含一個圖像的ILSVRC2012_ID,按圖像文件名的字母順序升序排列。
4.測試圖像
總共有10萬張測試圖片,之後將單獨發佈。測試圖像的名稱爲
ILSVRC2012_test_00000001.JPEG
ILSVRC2012_test_00000002.JPEG
...
ILSVRC2012_test_00099999.JPEG
ILSVRC2012_test_00100000.JPEG
每個synset有100個測試圖像。
比賽期間將不公佈測試圖像的groud_truth
5.邊框註釋(Bounding Boxes)
驗證和測試中的所有圖像以及訓練集中至少100個圖像具有PASCAL VOC格式的邊框註釋。可以使用PASCAL開發工具包解析它。每個帶有邊框註釋的圖像都有一個XML文件。如果圖像文件名是X。然後將邊界框文件命名爲X.xml。
有關邊框註釋(Bounding Boxes)的更多信息,請訪問:
http://www.image-net.org/download-bboxes
如果一個圖像中有多個目標,則每個目標都一定有一個邊界框。
對於分類任務和目標檢測任務,您都可以在競賽中自由使用邊框。
提交和評估
1.提交格式:
100,000張測試圖像(從ILSVRC2012_test_00000001到ILSVRC2012_test_0100000.JPEG JPEG。)的格式都應該相同。
對於task 1(分類任務),測試數據的結果提交將由一個文本文件組成,每個圖像有一行,按照圖像文件名的字母順序排列,即從ILSVRC2012_test_00000001到ILSVRC2012_test_0100000.JPEG JPEG。每行包含預測的標籤,即預測類別的ILSVRC2012_IDs(1到1000之間的整數),按照置信度降序排序。每行標籤的數量可以變化,但不能超過此數比5。
對於task 2(目標檢測任務),提交結果類似於task 1,但是在每一行中,每個預測的標籤後面都跟着按置信度降序排序的該對象的檢測位置。它看起來如下:
<label(1)> <xmin(1)> <ymin(1)> <xmax(1)> <ymax(1)> <label(2)> <xmin(2)> <ymin(2)> <xmax(2)> <ymax(2)> …
每行的標籤數量可以變化,但不超過5個(忽略額外的標籤)。
驗證集的預測樣例文件是:
./evaluation/demo.val.pred.txt for Task 1
./evaluation/demo.val.pred.det.txt for Task 2
2.評估程序
用於評估Task 1的提交結果的Matlab程序如下:
./evaluation/eval_flat.m
對於Task2:
./evaluation/eval_localization_flat.m
要查看使用這些程序評估驗證結果的演示示例,請在“evaluation”文件夾中啓動Matlab並輸入;
demo_eval;
你會看到如下輸出:
pred_file = demo.val.pred.txt
ground_truth_file =../data/ILSVRC2012_validation_ground_truth.txt
Task 1: # guesses vs flat error
1.0000 0.9990
2.0000 0.9980
3.0000 0.9972
4.0000 0.9962
5.0000 0.9950
pred_localization_file =demo.val.pred.det.txt
ground_truth_file =../data/ILSVRC2012_validation_ground_truth.txt
Please enter the path to the Validation bounding box annotations directory: ~/AnnoVal/val
localization_ground_truth_dir =~/AnnoVal/val
Task 2: # guesses vs flat error
1.0000 1.0000
2.0000 0.9999
3.0000 0.9998
4.0000 0.9997
5.0000 0.9996