├── .gitignore ├── .gitmodules ├── README.md ├── annotator ├── .gitignore ├── code │ ├── CocoStuffAnnotator.m │ ├── exportImages.m │ ├── extractSLICOSuperpixels.m │ ├── extractThings.m │ └── setCirclePointer.m └── data │ ├── input │ ├── imageLists │ │ └── example.list │ ├── regions │ │ └── slico-1000 │ │ │ ├── COCO_train2014_000000119938.mat │ │ │ └── COCO_train2014_000000206927.mat │ ├── things │ │ ├── COCO_train2014_000000119938.mat │ │ └── COCO_train2014_000000206927.mat │ └── user.txt │ └── output │ └── .gitignore ├── dataset ├── .gitignore ├── cocostuff-labelhierarchy.png ├── cocostuff-labels.txt └── code │ ├── CocoStuffClasses.m │ ├── cmapStuff.m │ ├── cmapThings.m │ ├── cmapThingsStuff.m │ ├── cocoStuff_root.m │ ├── conversion │ ├── convertAnnotationsDeeplab.m │ ├── convertAnnotationsJSON.py │ └── convertAnnotationsToVersion11.m │ ├── demo_cocoStuff.m │ ├── downloadData.m │ └── utils │ ├── flattenCellArray.m │ ├── imageInsertBlobLabels.m │ ├── parentsToTrees.m │ ├── plotTree.m │ └── readLinesToCell.m ├── models └── deeplab │ ├── .gitignore │ ├── cocostuff │ ├── .gitignore │ ├── config │ │ ├── deeplabv2_resnet101 │ │ │ ├── .gitignore │ │ │ ├── solver.prototxt │ │ │ ├── test.prototxt │ │ │ ├── test_val513.prototxt │ │ │ └── train.prototxt │ │ └── deeplabv2_vgg16 │ │ │ ├── .gitignore │ │ │ ├── solver.prototxt │ │ │ ├── test.prototxt │ │ │ └── train.prototxt │ ├── data │ │ └── .gitignore │ ├── list │ │ ├── .gitignore │ │ ├── train.txt │ │ ├── val.txt │ │ ├── val513.txt │ │ ├── val513_id.txt │ │ └── val_id.txt │ └── model │ │ ├── deeplabv2_resnet101 │ │ └── .gitignore │ │ └── deeplabv2_vgg16 │ │ └── .gitignore │ ├── rescaleAnnotations.py │ ├── rescaleImages.py │ ├── run_cocostuff_resnet101.sh │ ├── run_cocostuff_vgg16.sh │ └── sub.sed └── startup.m /.gitignore: -------------------------------------------------------------------------------- 1 | /downloads/ 2 | *.mexa64 3 | annotator/data/input/ 4 | dataset/*.json 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "models/deeplab/deeplab-public-ver2"] 2 | path = models/deeplab/deeplab-public-ver2 3 | url = https://bitbucket.org/aquariusjay/deeplab-public-ver2 4 | ignore = dirty 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # COCO-Stuff 10K dataset v1.1 ([outdated](https://github.com/nightrome/cocostuff)) 2 | [Holger Caesar](http://www.it-caesar.com), [Jasper Uijlings](http://homepages.inf.ed.ac.uk/juijling), [Vittorio Ferrari](http://calvin.inf.ed.ac.uk/members/vittoferrari) 3 | 4 | ## Overview 5 | COCO-Stuff example annotations 6 | Welcome to official homepage of the COCO-Stuff [1] dataset. COCO-Stuff augments the popular COCO [2] dataset with pixel-level stuff annotations. These annotations can be used for scene understanding tasks like semantic segmentation, object detection and image captioning. 7 | 8 | ## Overview 9 | - [Highlights](#highlights) 10 | - [Updates](#updates) 11 | - [Results and Future Plans](#results-and-future-plans) 12 | - [Dataset](#dataset) 13 | - [Semantic Segmentation Models](#semantic-segmentation-models) 14 | - [Annotation Tool](#annotation-tool) 15 | - [Misc](#misc) 16 | 17 | ## Highlights 18 | - 10,000 complex images from COCO [2] 19 | - Dense pixel-level annotations 20 | - 91 thing and 91 stuff classes 21 | - Instance-level annotations for things from COCO [2] 22 | - Complex spatial context between stuff and things 23 | - 5 captions per image from COCO [2] 24 | 25 | ## Updates 26 | - 11 Jul 2017: Added working [Deeplab models for Resnet and VGG](#semantic-segmentation-models) 27 | - 06 Apr 2017: Dataset version 1.1: [Modified label indices](https://github.com/nightrome/cocostuff10k#label-names--indices) 28 | - 31 Mar 2017: Published annotations in JSON format 29 | - 09 Mar 2017: Added label hierarchy scripts 30 | - 08 Mar 2017: Corrections to table 2 in arXiv paper [1] 31 | - 10 Feb 2017: Added script to extract SLICO superpixels in annotation tool 32 | - 12 Dec 2016: Dataset version 1.0 and arXiv paper [1] released 33 | 34 | ## Results 35 | The current release of COCO-Stuff-10K publishes both the training and test annotations and users report their performance individually. We invite users to report their results to us to complement this table. In the near future we will extend COCO-Stuff to all images in COCO and organize an official challenge where the test annotations will only be known to the organizers. 36 | 37 | For the updated table please click [here](https://github.com/nightrome/cocostuff#results-on-the-val-set-of-coco-stuff-10k). 38 | 39 | Method | Source| Class-average accuracy | Global accuracy | Mean IOU | FW IOU 40 | --- | --- | --- | --- | --- | --- 41 | FCN-16s [3] | [1] | 34.0% | 52.0% | 22.7% | - 42 | Deeplab VGG-16 (no CRF) [4] | [1] | 38.1% | 57.8% | 26.9% | - 43 | FCN-8s [3] | [6] | 38.5% | 60.4% | 27.2% | - 44 | DAG-RNN + CRF [6] | [6] | 42.8% | 63.0% | 31.2% | - 45 | OHE + DC + FCN+ [5] | [5] | **45.8%** | **66.6%** | 34.3% | **51.2%** 46 | Deeplab ResNet (no CRF) [4] | - | 45.5% | 65.1% | 34.4% | 50.4% 47 | W2V + DC + FCN+ [5] | [5] | 45.1% | 66.1% | **34.7%**| 51.0% 48 | 49 | ## Dataset 50 | Filename | Description | Size 51 | --- | --- | --- 52 | [cocostuff-10k-v1.1.zip](http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.zip) | COCO-Stuff dataset v. 1.1, images and annotations | 2.0 GB 53 | [cocostuff-10k-v1.1.json](http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.json) | COCO-Stuff dataset v. 1.1, annotations in JSON format (optional) | 62.3 MB 54 | [cocostuff-labels.txt](https://raw.githubusercontent.com/nightrome/cocostuff10k/master/dataset/cocostuff-labels.txt) | A list of the 1+91+91 classes in COCO-Stuff | 2.3 KB 55 | [cocostuff-readme.txt](https://raw.githubusercontent.com/nightrome/cocostuff10k/master/README.md) | This document | 6.5 KB 56 | **Older files** | | 57 | [cocostuff-10k-v1.0.zip](http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.0.zip) | COCO-Stuff dataset version 1.0, including images and annotations | 2.6 GB 58 | 59 | ### Usage 60 | To use the COCO-Stuff dataset, please follow these steps: 61 | 62 | 1. Download or clone this repository using git: `git clone https://github.com/nightrome/cocostuff10k.git` 63 | 2. Open the dataset folder in your shell: `cd cocostuff10k` 64 | 3. If you have Matlab, run the following commands: 65 | - Add the code folder to your Matlab path: `startup();` 66 | - Run the demo script in Matlab `demo_cocoStuff();` 67 | - The script displays an image, its thing, stuff and thing+stuff annotations, as well as the image captions. 68 | 4. Alternatively run the following Linux commands or manually download and unpack the dataset: 69 | - `wget --directory-prefix=downloads http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.zip` 70 | - `unzip downloads/cocostuff-10k-v1.1.zip -d dataset/` 71 | 72 | ### MAT Format 73 | The COCO-Stuff annotations are stored in separate .mat files per image. These files follow the same format as used by Tighe et al.. Each file contains the following fields: 74 | - *S:* The pixel-wise label map of size [height x width]. 75 | - *names:* The names of the thing and stuff classes in COCO-Stuff. For more details see [Label Names & Indices](https://github.com/nightrome/cocostuff10k#label-names--indices). 76 | - *captions:* Image captions from [2] that are annotated by 5 distinct humans on average. 77 | - *regionMapStuff:* A map of the same size as S that contains the indices for the approx. 1000 regions (superpixels) used to annotate the image. 78 | - *regionLabelsStuff:* A list of the stuff labels for each superpixel. The indices in regionMapStuff correspond to the entries in regionLabelsStuff. 79 | 80 | ### JSON Format 81 | Alternatively, we also provide stuff and thing annotations in the [COCO-style JSON format](http://mscoco.org/dataset/#download). The thing annotations are copied from COCO. We encode every stuff class present in an image as a single annotation using the RLE encoding format of COCO. To get the annotations: 82 | - Either download them: `wget --directory-prefix=dataset/annotations-json http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.json 83 | ` 84 | - Or extract them from the .mat file annotations using [this Python script](https://github.com/nightrome/cocostuff10k/blob/master/dataset/code/conversion/convertAnnotationsJSON.py). 85 | 86 | ### Label Names & Indices 87 | To be compatible with COCO, version 1.1 of COCO-Stuff has 91 thing classes (1-91), 91 stuff classes (92-182) and 1 class "unlabeled" (0). Note that 11 of the thing classes from COCO 2015 do not have any segmentation annotations. The classes desk, door and mirror could be either stuff or things and therefore occur in both COCO and COCO-Stuff. To avoid confusion we add the suffix "-stuff" to those classes in COCO-Stuff. The full list of classes can be found [here](https://raw.githubusercontent.com/nightrome/cocostuff10k/master/dataset/cocostuff-labels.txt). 88 | 89 | The older version 1.0 of COCO-Stuff had 80 thing classes (2-81), 91 stuff classes (82-172) and 1 class "unlabeled" (1). 90 | 91 | ### Label Hierarchy 92 | The hierarchy of labels is stored in `CocoStuffClasses`. To visualize it, run `CocoStuffClasses.showClassHierarchyStuffThings()` (also available for just stuff and just thing classes) in Matlab. The output should look similar to the following figure: 93 | COCO-Stuff label hierarchy 94 | 95 | ## Semantic Segmentation Models 96 | To encourage further research of stuff and things we provide the trained semantic segmentation model (see Sect. 4.4 in [1]). 97 | 98 | ### DeepLab VGG-16 99 | Use the following steps to download and setup the DeepLab [4] semantic segmentation model trained on COCO-Stuff. It requires [deeplab-public-ver2](https://bitbucket.org/aquariusjay/deeplab-public-ver2), which is built on [Caffe](caffe.berkeleyvision.org): 100 | 101 | 1. Install Cuda. I recommend version 7.0. For version 8.0 you will need to apply the fix described [here](https://stackoverflow.com/questions/39274472/error-function-atomicadddouble-double-has-already-been-defined) in step 3. 102 | 2. Download deeplab-public-ver2: `git submodule update --init models/deeplab/deeplab-public-ver2` 103 | 3. Compile and configure deeplab-public-ver2 following the [author's instructions](https://bitbucket.org/aquariusjay/deeplab-public-ver2). Depending on your system setup you might have to install additional packages, but a minimum setup could look like this: 104 | - `cd models/deeplab/deeplab-public-ver2` 105 | - `cp Makefile.config.example Makefile.config` 106 | - Optionally add CuDNN support or modify library paths in the Makefile. 107 | - `make all -j8` 108 | - `cd ../..` 109 | 4. Configure the COCO-Stuff dataset: 110 | - Create folders: `mkdir models/deeplab/deeplab-public-ver2/cocostuff && mkdir models/deeplab/deeplab-public-ver2/cocostuff/data` 111 | - Create a symbolic link to the images: `cd models/deeplab/cocostuff/data && ln -s ../../../../dataset/images images && cd ../../../..` 112 | - Convert the annotations by running the Matlab script: `startup(); convertAnnotationsDeeplab();` 113 | 5. Download the base VGG-16 model: 114 | - `wget --directory-prefix=models/deeplab/cocostuff/model/deeplabv2_vgg16 http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/deeplabv2_vgg16_init.caffemodel` 115 | 6. Run `cd models/deeplab && ./run_cocostuff_vgg16.sh` to train and test the network on COCO-Stuff. 116 | 117 | ### DeepLab ResNet 101 118 | The default Deeplab model performs center crops of size 513*513 pixels of an image, if any side is larger than that. Since we want to segment the whole image at test time, we choose to resize the images to 513x513, perform the semantic segmentation and then rescale it elsewhere. Note that without the final step, the performance might differ slightly. 119 | 120 | 1. Follow steps 1-4 of the [DeepLab VGG-16](#deeplab-vgg-16) section above. 121 | 2. Download the base ResNet model: 122 | - `wget --directory-prefix=models/deeplab/cocostuff/model/deeplabv2_resnet101 http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/deeplabv2_resnet101_init.caffemodel` 123 | 3. Rescale the images and annotations: 124 | - `cd models/deeplab` 125 | - `python rescaleImages.py` 126 | - `python rescaleAnnotations.py` 127 | 4. Run `./run_cocostuff_resnet101.sh` to train and test the network on COCO-Stuff. 128 | 129 | ## Annotation Tool 130 | In [1] we present a simple and efficient stuff annotation tool which was used to annotate the COCO-Stuff dataset. It uses a paintbrush tool to annotate SLICO superpixels (precomputed using the [code](http://ivrl.epfl.ch/files/content/sites/ivrg/files/supplementary_material/RK_SLICsuperpixels/SLIC_mex.zip) of [Achanta et al.](http://ivrl.epfl.ch/research/superpixels)) with stuff labels. These annotations are overlaid with the existing pixel-level thing annotations from COCO. 131 | We provide a basic version of our annotation tool: 132 | - Prepare the required data: 133 | - Specify a username in `annotator/data/input/user.txt`. 134 | - Create a list of images in `annotator/data/input/imageLists/.list`. 135 | - Extract the thing annotations for all images in Matlab: `extractThings()`. 136 | - Extract the superpixels for all images in Matlab: `extractSLICOSuperpixels()`. 137 | - To enable or disable superpixels, thing annotations and polygon drawing, take a look at the flags at the top of `CocoStuffAnnotator.m`. 138 | - Run the annotation tool in Matlab: `CocoStuffAnnotator();` 139 | - The tool writes the .mat label files to `annotator/data/output/annotations`. 140 | - To create a .png preview of the annotations, run `annotator/code/exportImages.m` in Matlab. The previews will be saved to `annotator/data/output/preview`. 141 | 142 | ## Misc 143 | ### References 144 | - [1] [COCO-Stuff: Thing and Stuff Classes in Context](https://arxiv.org/abs/1612.03716)
145 | H. Caesar, J. Uijlings, V. Ferrari,
146 | In *arXiv preprint arXiv:1612.03716*, 2017.
147 | 148 | - [2] [Microsoft COCO: Common Objects in Context](https://arxiv.org/abs/1405.0312)
149 | T.-Y. Lin, M. Maire, S. Belongie et al.,
150 | In *European Conference in Computer Vision* (ECCV), 2014.
151 | 152 | - [3] [Fully convolutional networks for semantic segmentation](http://www.cv-foundation.org/openaccess/content_cvpr_2015/html/Long_Fully_Convolutional_Networks_2015_CVPR_paper.html)
153 | J. Long, E. Shelhammer and T. Darrell,
154 | In *Computer Vision and Pattern Recognition* (CVPR), 2015.
155 | 156 | - [4] [Semantic image segmentation with deep convolutional nets and fully connected CRFs](https://arxiv.org/abs/1412.7062)
157 | L.-C. Chen, G. Papandreou, I. Kokkinos et al.,
158 | In *International Conference on Learning Representations* (ICLR), 2015.
159 | 160 | - [5] [LabelBank: Revisiting Global Perspectives for Semantic Segmentation](https://arxiv.org/pdf/1703.09891.pdf)
161 | H. Hu, Z. Deng, G.-T. Zhou et al.
162 | In *arXiv preprint arXiv:1703.09891*, 2017.
163 | 164 | - [6] [Scene Segmentation with DAG-Recurrent Neural Networks](http://ieeexplore.ieee.org/abstract/document/7940028/)
165 | B. Shuai, Z. Zuo, B. Wang
166 | In *IEEE Transactions on Pattern Analysis and Machine Intelligence* (PAMI), 2017.
167 | 168 | ### Licensing 169 | COCO-Stuff is a derivative work of the COCO dataset. The authors of COCO do not in any form endorse this work. Different licenses apply: 170 | - COCO images: [Flickr Terms of use](http://mscoco.org/terms_of_use/) 171 | - COCO annotations: [Creative Commons Attribution 4.0 License](http://mscoco.org/terms_of_use/) 172 | - COCO-Stuff annotations & code: [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/legalcode) 173 | 174 | ### Contact 175 | If you have any questions regarding this dataset, please contact us at holger-at-it-caesar.com. 176 | -------------------------------------------------------------------------------- /annotator/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /annotator/code/exportImages.m: -------------------------------------------------------------------------------- 1 | function exportImages() 2 | % exportImages() 3 | % 4 | % Writes a viewable preview image for each annotation to 5 | % data/output/preview/. 6 | % 7 | % Copyright by Holger Caesar, 2016 8 | 9 | % Settings 10 | exportAllUsers = false; 11 | dataFolder = fullfile(cocoStuff_root(), 'annotator', 'data'); 12 | imageFolder = fullfile(cocoStuff_root(), 'dataset', 'images'); 13 | annotationTopFolder = fullfile(dataFolder, 'output', 'annotations'); 14 | previewTopFolder = fullfile(dataFolder, 'output', 'preview'); 15 | 16 | % Read username 17 | if exportAllUsers 18 | folderList = dir(annotationTopFolder); 19 | folderList = folderList([folderList.isdir] == 1); 20 | folderList = {folderList.name}; 21 | folderList(1:2) = []; 22 | userNames = folderList(:); 23 | else 24 | userNames = readLinesToCell(fullfile(dataFolder, 'input', 'user.txt')); 25 | end 26 | 27 | userCount = numel(userNames); 28 | for userIdx = 1 : userCount 29 | userName = userNames{userIdx}; 30 | fprintf('Processing images for user %s...\n', userName); 31 | 32 | % Read output images 33 | annotationFolder = fullfile(annotationTopFolder, userName); 34 | fileList = dir(annotationFolder); 35 | fileList = {fileList.name}; 36 | fileList(1:2) = []; 37 | 38 | % Create previews 39 | previewFolder = fullfile(previewTopFolder, userName); 40 | if ~exist(previewFolder, 'dir') 41 | mkdir(previewFolder); 42 | end 43 | 44 | % Create colorMap 45 | rng(42); 46 | unprocessedColor = [1, 1, 1]; 47 | unlabeledColor = [0, 0, 0]; 48 | thingColor = jet(1); 49 | stuffColors = cmapStuff(); 50 | stuffColors = stuffColors(2:end, :); 51 | colorMap = [unprocessedColor; unlabeledColor; thingColor; stuffColors]; 52 | 53 | imageCount = numel(fileList); 54 | for imageIdx = 1 : imageCount 55 | fprintf('Writing image %d of %d for user %s...\n', imageIdx, imageCount, userName); 56 | 57 | % Check if file exists 58 | fileName = fileList{imageIdx}; 59 | imageName = strrep(fileName, '.mat', ''); 60 | imageName = strrep(imageName, 'mask-', ''); 61 | outPath = fullfile(previewFolder, [imageName, '.png']); 62 | 63 | % Get image and labelMap 64 | imagePath = fullfile(imageFolder, [imageName, '.jpg']); 65 | inPath = fullfile(annotationFolder, fileName); 66 | inStruct = load(inPath, 'labelMap', 'labelNames'); 67 | if ~exist('labelNames', 'var') 68 | labelNames = inStruct.labelNames; 69 | assert(size(colorMap, 1) == numel(labelNames)); 70 | end 71 | labelMap = inStruct.labelMap; 72 | labelMapIm = ind2rgb(labelMap, colorMap); 73 | labelMapIm = imageInsertBlobLabels(labelMapIm, labelMap, labelNames); 74 | image = im2double(imread(imagePath)); 75 | if size(image, 3) == 1 76 | image = cat(3, image, image, image); 77 | end 78 | if size(image, 1) ~= size(labelMapIm, 1) || size(image, 2) ~= size(labelMapIm, 2) 79 | fprintf('Warning: Wrong image size! Skipping %s\n', imageName); 80 | continue; 81 | end 82 | outImage = [image, labelMapIm]; 83 | 84 | % Write to image 85 | imwrite(outImage, outPath); 86 | end 87 | end -------------------------------------------------------------------------------- /annotator/code/extractSLICOSuperpixels.m: -------------------------------------------------------------------------------- 1 | function extractSLICOSuperpixels() 2 | % extractSLICOSuperpixels() 3 | % 4 | % Extracts SLICO superpixels for each image in the imageList of the current user. 5 | % 6 | % Copyright by Holger Caesar, 2017 7 | 8 | % Settings 9 | rootFolder = cocoStuff_root(); 10 | dataFolder = fullfile(rootFolder, 'annotator', 'data'); 11 | userPath = fullfile(dataFolder, 'input', 'user.txt'); 12 | imageFolder = fullfile(rootFolder, 'dataset', 'images'); 13 | imageListFolder = fullfile(dataFolder, 'input', 'imageLists'); 14 | regionTargetCount = 1000; 15 | slicoUrl = 'http://ivrl.epfl.ch/files/content/sites/ivrg/files/supplementary_material/RK_SLICsuperpixels/SLIC_mex.zip'; 16 | slicoDownloadPath = fullfile(rootFolder, 'downloads', 'SLIC_mex.zip'); 17 | slicoTargetFolder = fullfile(rootFolder, 'downloads', 'SLIC_mex'); 18 | slicoTargetSubFolder = fullfile(slicoTargetFolder, 'SLIC_mex'); 19 | slicoMexPath = fullfile(slicoTargetSubFolder, 'slicomex.c'); 20 | slicoMexTarget = fullfile(rootFolder, 'slicomex.mexa64'); 21 | regionFolder = fullfile(dataFolder, 'input', 'regions', sprintf('slico-%d', regionTargetCount)); 22 | 23 | % Install SLICO 24 | if ~exist(slicoDownloadPath, 'file') 25 | websave(slicoDownloadPath, slicoUrl); 26 | end 27 | if ~exist(slicoTargetFolder, 'dir') 28 | unzip(slicoDownloadPath, slicoTargetFolder); 29 | end 30 | if ~exist(slicoMexTarget, 'file') 31 | params = 'CFLAGS="\$CFLAGS -std=c99"'; 32 | mex(params, slicoMexPath); 33 | end 34 | 35 | % Create output folder 36 | if ~exist(regionFolder, 'dir') 37 | mkdir(regionFolder) 38 | end 39 | 40 | % Read username 41 | userNames = readLinesToCell(userPath); 42 | userName = userNames{1}; 43 | 44 | % Read input images 45 | imageListPath = fullfile(imageListFolder, sprintf('%s.list', userName)); 46 | imageList = readLinesToCell(imageListPath); 47 | imageCount = numel(imageList); 48 | 49 | for imageIdx = 1 : imageCount 50 | % Get image and regions 51 | imageName = imageList{imageIdx}; 52 | imagePath = fullfile(imageFolder, [imageName, '.jpg']); 53 | image = imread(imagePath); 54 | imageSize = [size(image, 1), size(image, 2)]; 55 | regionMap = getRegionsSLICO(image, regionTargetCount); 56 | regionBoundaries = getRegionBoundaries(regionMap); 57 | 58 | % Some checks 59 | assert(all(imageSize == size(regionBoundaries))); 60 | assert(all(imageSize == size(regionMap))); 61 | assert(isa(regionBoundaries, 'logical')); 62 | assert(isa(regionMap, 'double')); 63 | 64 | % Save to file 65 | regionStruct.regionBoundaries = regionBoundaries; 66 | regionStruct.regionMap = regionMap; 67 | outputPath = fullfile(regionFolder, [imageName, '.mat']); 68 | save(outputPath, '-struct', 'regionStruct'); 69 | end 70 | 71 | function[map] = getRegionsSLICO(image, regionTargetCount) 72 | % [map] = getRegionsSLICO(image, regionTargetCount) 73 | % 74 | % Get SLICO superpixels using the mex code from Achanta et al. 75 | 76 | [map, dump] = slicomex(im2uint8(image), regionTargetCount); %#ok 77 | map = double(map); 78 | map = map + 1; 79 | assert(min(map(:)) == 1); 80 | 81 | function[bounds] = getRegionBoundaries(regionMap) 82 | % [bounds] = getRegionBoundaries(regionMap) 83 | % 84 | % Extracts and post-processes the superpixel boundaries. 85 | 86 | % Extract boundaries 87 | bounds = superPixelMapToBoundaries(regionMap); 88 | 89 | % Make thinner lines and then fix outer boundaries again 90 | bounds = bwmorph(bounds, 'thin', Inf); 91 | bounds(1, :) = true; 92 | bounds(end, :) = true; 93 | bounds(:, 1) = true; 94 | bounds(:, end) = true; 95 | 96 | function[bounds] = superPixelMapToBoundaries(regionMap) 97 | % [bounds] = superPixelMapToBoundaries(regionMap) 98 | % 99 | % Converts a map of regions indices to a binary map where true indicates region boundaries. 100 | 101 | % Perform a convolution in each possible direction to find out 102 | % whether a pixel lies on a boundary 103 | bounds = false(size(regionMap)); 104 | for i = [1:4, 6:9] % for 4-connectivity use [2, 4, 6, 8] 105 | filter = zeros(3, 3); 106 | filter(5) = 1; 107 | filter(i) = -1; 108 | bounds = bounds | conv2(double(regionMap), filter, 'same') ~= 0; 109 | end -------------------------------------------------------------------------------- /annotator/code/extractThings.m: -------------------------------------------------------------------------------- 1 | function extractThings() 2 | % extractThings() 3 | % 4 | % Gets the thing pixels from the COCO dataset and places them in a 2D map. 5 | % (loses depth ordering) This is done for each image in the imageList of the current user. 6 | % 7 | % Copyright by Holger Caesar, 2017 8 | 9 | % Settings 10 | rootFolder = cocoStuff_root(); 11 | dataFolder = fullfile(rootFolder, 'annotator', 'data'); 12 | downloadFolder = fullfile(rootFolder, 'downloads'); 13 | userPath = fullfile(dataFolder, 'input', 'user.txt'); 14 | imageFolder = fullfile(rootFolder, 'dataset', 'images'); 15 | imageListFolder = fullfile(dataFolder, 'input', 'imageLists'); 16 | thingFolder = fullfile(dataFolder, 'input', 'things'); 17 | cocoUrl = 'http://msvocds.blob.core.windows.net/annotations-1-0-3/instances_train-val2014.zip'; 18 | cocoDownloadPath = fullfile(downloadFolder, 'instances_train-val2014.zip'); 19 | cocoTargetFolder = fullfile(downloadFolder, 'instances_train-val2014'); 20 | cocoInstancesTarget = fullfile(cocoTargetFolder, 'annotations', 'instances_train2014.json'); 21 | apiUrl = 'https://github.com/pdollar/coco/archive/336d2a27c91e3c0663d2dcf0b13574674d30f88e.zip'; 22 | apiDownloadPath = fullfile(downloadFolder, 'cocoApi.zip'); 23 | apiTargetFolder = fullfile(downloadFolder, 'cocoApi'); 24 | 25 | % Download & install COCO 26 | if ~exist(cocoDownloadPath, 'file') 27 | fprintf('Downloading COCO annotations (158MB)...\n'); 28 | websave(cocoDownloadPath, cocoUrl); 29 | end 30 | if ~exist(cocoTargetFolder, 'dir') 31 | fprintf('Unzipping COCO annotations...\n'); 32 | unzip(cocoDownloadPath, cocoTargetFolder); 33 | end 34 | 35 | % Download & install COCO API 36 | if ~exist(apiDownloadPath, 'file') 37 | fprintf('Downloading COCO API (3MB)...\n'); 38 | websave(apiDownloadPath, apiUrl); 39 | end 40 | if ~exist(apiTargetFolder, 'dir') 41 | fprintf('Unzipping COCO annotations...\n'); 42 | unzip(apiDownloadPath, apiTargetFolder); 43 | end 44 | 45 | % Init Coco API 46 | fprintf('Loading COCO API...\n'); 47 | addpath(genpath(apiTargetFolder)); 48 | cocoApi = CocoApi(cocoInstancesTarget); 49 | 50 | % Create output folder 51 | if ~exist(thingFolder, 'dir') 52 | mkdir(thingFolder) 53 | end 54 | 55 | % Read username 56 | userNames = readLinesToCell(userPath); 57 | userName = userNames{1}; 58 | 59 | % Read input images 60 | imageListPath = fullfile(imageListFolder, sprintf('%s.list', userName)); 61 | imageList = readLinesToCell(imageListPath); 62 | imageCount = numel(imageList); 63 | 64 | for imageIdx = 1 : imageCount 65 | % Get image and regions 66 | imageName = imageList{imageIdx}; 67 | imagePath = fullfile(imageFolder, [imageName, '.jpg']); 68 | image = imread(imagePath); 69 | 70 | % Get label map and flatten it to a binary map 71 | labelMap = getImLabelMap(cocoApi, image, imageName); 72 | labelMapThings = labelMap ~= 1; %#ok 73 | 74 | % Save to file 75 | outputPath = fullfile(thingFolder, [imageName, '.mat']); 76 | save(outputPath, 'labelMapThings'); 77 | end 78 | 79 | function[labelMap] = getImLabelMap(cocoApi, image, imageName) 80 | 81 | % Settings 82 | useCrowd = true; 83 | cocoSet = 'train2014'; 84 | 85 | % Load things from COCO 86 | imgId = regexprep(imageName, sprintf('COCO_%s_', cocoSet), ''); 87 | imgId = str2double(imgId); 88 | annIds = cocoApi.getAnnIds('imgIds', imgId, 'iscrowd', []); 89 | anns = cocoApi.loadAnns(annIds); 90 | 91 | % Filter crowd annotations 92 | if ~useCrowd 93 | anns = anns([anns.iscrowd] ~= 1); 94 | end 95 | 96 | % Process the annotations in reverse order to have the correct 97 | % depth order 98 | annsCount = numel(anns); 99 | imageSize = size(image); 100 | labelMap = zeros(imageSize(1), imageSize(2)); 101 | for regionIdx = annsCount : -1 : 1 102 | curSegs = anns(regionIdx).segmentation; 103 | 104 | if isstruct(curSegs) 105 | M = double(MaskApi.decode(curSegs)); 106 | [ys, xs] = find(M); 107 | inds = sub2ind(size(labelMap), ys, xs); 108 | labelMap(inds) = cocoApi.inds.catIdsMap(anns(regionIdx).category_id); 109 | else 110 | for j = 1 : length(curSegs) 111 | P = curSegs{j} + .5; 112 | xs = P(1:2:end); 113 | ys = P(2:2:end); 114 | BW = poly2mask(xs, ys, imageSize(1), imageSize(2)); 115 | [ys, xs] = find(BW); 116 | inds = sub2ind(size(labelMap), ys, xs); 117 | labelMap(inds) = cocoApi.inds.catIdsMap(anns(regionIdx).category_id); 118 | end 119 | end 120 | end 121 | labelMap = labelMap + 1; -------------------------------------------------------------------------------- /annotator/code/setCirclePointer.m: -------------------------------------------------------------------------------- 1 | function setCirclePointer(fig) 2 | % setCirclePointer(fig) 3 | % 4 | % Sets the cursor/pointer in the current figure to be a 16x16 circle with a point in the middle. 5 | % We center the circle around floor(iconSize/2) for simplicity. 6 | % 7 | % Copyright by Holger Caesar, 2016 8 | 9 | % Settings 10 | iconSize = 16; 11 | radius = 6; 12 | thickness = 1; 13 | 14 | % Define center 15 | midSize = floor(iconSize / 2); 16 | center = [midSize, midSize]; 17 | 18 | % Create circle 19 | icon = nan(iconSize, iconSize); 20 | xs = 1:iconSize; 21 | ys = 1:iconSize; 22 | [XS, YS] = meshgrid(xs, ys); 23 | dists = abs(sqrt((XS - center(2)) .^ 2 + (YS - center(1)) .^ 2) - radius); 24 | icon(dists <= thickness) = 1; 25 | 26 | % Color center 27 | icon(center(1), center(2)) = 1; 28 | 29 | % Set in figure 30 | set(fig, 'Pointer', 'custom', 'PointerShapeCData', icon, 'PointerShapeHotSpot', center); -------------------------------------------------------------------------------- /annotator/data/input/imageLists/example.list: -------------------------------------------------------------------------------- 1 | COCO_train2014_000000119938 2 | COCO_train2014_000000206927 3 | -------------------------------------------------------------------------------- /annotator/data/input/regions/slico-1000/COCO_train2014_000000119938.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nightrome/cocostuff10k/5fe3850d547ae4b21d73307dd156dfc5c5c61c5c/annotator/data/input/regions/slico-1000/COCO_train2014_000000119938.mat -------------------------------------------------------------------------------- /annotator/data/input/regions/slico-1000/COCO_train2014_000000206927.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nightrome/cocostuff10k/5fe3850d547ae4b21d73307dd156dfc5c5c61c5c/annotator/data/input/regions/slico-1000/COCO_train2014_000000206927.mat -------------------------------------------------------------------------------- /annotator/data/input/things/COCO_train2014_000000119938.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nightrome/cocostuff10k/5fe3850d547ae4b21d73307dd156dfc5c5c61c5c/annotator/data/input/things/COCO_train2014_000000119938.mat -------------------------------------------------------------------------------- /annotator/data/input/things/COCO_train2014_000000206927.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nightrome/cocostuff10k/5fe3850d547ae4b21d73307dd156dfc5c5c61c5c/annotator/data/input/things/COCO_train2014_000000206927.mat -------------------------------------------------------------------------------- /annotator/data/input/user.txt: -------------------------------------------------------------------------------- 1 | example -------------------------------------------------------------------------------- /annotator/data/output/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /dataset/.gitignore: -------------------------------------------------------------------------------- 1 | /annotations/ 2 | /annotations-json/ 3 | /images/ 4 | /imageLists/ 5 | README.html 6 | -------------------------------------------------------------------------------- /dataset/cocostuff-labelhierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nightrome/cocostuff10k/5fe3850d547ae4b21d73307dd156dfc5c5c61c5c/dataset/cocostuff-labelhierarchy.png -------------------------------------------------------------------------------- /dataset/cocostuff-labels.txt: -------------------------------------------------------------------------------- 1 | 0: unlabeled 2 | 1: person 3 | 2: bicycle 4 | 3: car 5 | 4: motorcycle 6 | 5: airplane 7 | 6: bus 8 | 7: train 9 | 8: truck 10 | 9: boat 11 | 10: traffic light 12 | 11: fire hydrant 13 | 12: street sign 14 | 13: stop sign 15 | 14: parking meter 16 | 15: bench 17 | 16: bird 18 | 17: cat 19 | 18: dog 20 | 19: horse 21 | 20: sheep 22 | 21: cow 23 | 22: elephant 24 | 23: bear 25 | 24: zebra 26 | 25: giraffe 27 | 26: hat 28 | 27: backpack 29 | 28: umbrella 30 | 29: shoe 31 | 30: eye glasses 32 | 31: handbag 33 | 32: tie 34 | 33: suitcase 35 | 34: frisbee 36 | 35: skis 37 | 36: snowboard 38 | 37: sports ball 39 | 38: kite 40 | 39: baseball bat 41 | 40: baseball glove 42 | 41: skateboard 43 | 42: surfboard 44 | 43: tennis racket 45 | 44: bottle 46 | 45: plate 47 | 46: wine glass 48 | 47: cup 49 | 48: fork 50 | 49: knife 51 | 50: spoon 52 | 51: bowl 53 | 52: banana 54 | 53: apple 55 | 54: sandwich 56 | 55: orange 57 | 56: broccoli 58 | 57: carrot 59 | 58: hot dog 60 | 59: pizza 61 | 60: donut 62 | 61: cake 63 | 62: chair 64 | 63: couch 65 | 64: potted plant 66 | 65: bed 67 | 66: mirror 68 | 67: dining table 69 | 68: window 70 | 69: desk 71 | 70: toilet 72 | 71: door 73 | 72: tv 74 | 73: laptop 75 | 74: mouse 76 | 75: remote 77 | 76: keyboard 78 | 77: cell phone 79 | 78: microwave 80 | 79: oven 81 | 80: toaster 82 | 81: sink 83 | 82: refrigerator 84 | 83: blender 85 | 84: book 86 | 85: clock 87 | 86: vase 88 | 87: scissors 89 | 88: teddy bear 90 | 89: hair drier 91 | 90: toothbrush 92 | 91: hair brush 93 | 92: banner 94 | 93: blanket 95 | 94: branch 96 | 95: bridge 97 | 96: building-other 98 | 97: bush 99 | 98: cabinet 100 | 99: cage 101 | 100: cardboard 102 | 101: carpet 103 | 102: ceiling-other 104 | 103: ceiling-tile 105 | 104: cloth 106 | 105: clothes 107 | 106: clouds 108 | 107: counter 109 | 108: cupboard 110 | 109: curtain 111 | 110: desk-stuff 112 | 111: dirt 113 | 112: door-stuff 114 | 113: fence 115 | 114: floor-marble 116 | 115: floor-other 117 | 116: floor-stone 118 | 117: floor-tile 119 | 118: floor-wood 120 | 119: flower 121 | 120: fog 122 | 121: food-other 123 | 122: fruit 124 | 123: furniture-other 125 | 124: grass 126 | 125: gravel 127 | 126: ground-other 128 | 127: hill 129 | 128: house 130 | 129: leaves 131 | 130: light 132 | 131: mat 133 | 132: metal 134 | 133: mirror-stuff 135 | 134: moss 136 | 135: mountain 137 | 136: mud 138 | 137: napkin 139 | 138: net 140 | 139: paper 141 | 140: pavement 142 | 141: pillow 143 | 142: plant-other 144 | 143: plastic 145 | 144: platform 146 | 145: playingfield 147 | 146: railing 148 | 147: railroad 149 | 148: river 150 | 149: road 151 | 150: rock 152 | 151: roof 153 | 152: rug 154 | 153: salad 155 | 154: sand 156 | 155: sea 157 | 156: shelf 158 | 157: sky-other 159 | 158: skyscraper 160 | 159: snow 161 | 160: solid-other 162 | 161: stairs 163 | 162: stone 164 | 163: straw 165 | 164: structural-other 166 | 165: table 167 | 166: tent 168 | 167: textile-other 169 | 168: towel 170 | 169: tree 171 | 170: vegetable 172 | 171: wall-brick 173 | 172: wall-concrete 174 | 173: wall-other 175 | 174: wall-panel 176 | 175: wall-stone 177 | 176: wall-tile 178 | 177: wall-wood 179 | 178: water-other 180 | 179: waterdrops 181 | 180: window-blind 182 | 181: window-other 183 | 182: wood 184 | -------------------------------------------------------------------------------- /dataset/code/CocoStuffClasses.m: -------------------------------------------------------------------------------- 1 | classdef CocoStuffClasses 2 | % CocoStuffClasses 3 | % 4 | % Semantic segmentation dataset for stuff classes in COCO 5 | % 6 | % Copyright by Holger Caesar, 2017 7 | 8 | properties (Constant) 9 | thingCount = 91; 10 | stuffCount = 91; 11 | end 12 | 13 | methods (Static) 14 | function[labelNames, labelCount] = getLabelNamesStuff() 15 | % [labelNames, labelCount] = getLabelNamesStuff() 16 | % 17 | % Note that the stuff labels are always sorted alphabetically !!! 18 | % Does not include "unlabeled" class! 19 | 20 | % Retrieve labels from hierarchy to make sure they match 21 | [~, categories, heights] = CocoStuffClasses.getClassHierarchyStuff(); 22 | 23 | % Select only leaf nodes 24 | sel = heights == max(heights); 25 | categories = categories(sel); 26 | 27 | % Get stuff and thing labels 28 | labelNames = sort(categories); 29 | labelCount = numel(labelNames); 30 | end 31 | 32 | function[labelNames, labelCount] = getLabelNamesThings() 33 | % [labelNames, labelCount] = getLabelNamesThings() 34 | % 35 | % Note that the thing labels are in the original COCO order and 36 | % not sorted by alphabet !!! 37 | % Does not include "unlabeled" class! 38 | 39 | % Retrieve labels from hierarchy to make sure they match 40 | [~, categories, heights] = CocoStuffClasses.getClassHierarchyThings(); 41 | 42 | % Select only leaf nodes 43 | sel = heights == max(heights); 44 | categories = categories(sel); 45 | 46 | % Get stuff and thing labels 47 | labelNames = categories; 48 | labelCount = numel(labelNames); 49 | end 50 | 51 | function[labelNames, labelCount] = getLabelNamesThingsStuff() 52 | % [labelNames, labelCount] = getLabelNamesThingsStuff() 53 | % 54 | % Return thing and stuff classes in order. 55 | % Does not include "unlabeled" class! 56 | 57 | % Get stuff labels 58 | labelNamesStuff = CocoStuffClasses.getLabelNamesStuff(); 59 | 60 | % Get thing labels 61 | labelNamesThings = CocoStuffClasses.getLabelNamesThings(); 62 | 63 | % Concatenate both 64 | labelNames = [labelNamesThings; labelNamesStuff]; 65 | labelCount = numel(labelNames); 66 | end 67 | 68 | function[nodes, categories, heights, parents] = getClassHierarchy() 69 | % Gets a hierarchies of all labels in CocoStuff (things+stuff) 70 | [~, ~, ~, parentsStuff] = CocoStuffClasses.getClassHierarchyStuff(); 71 | [~, ~, ~, parentsThings] = CocoStuffClasses.getClassHierarchyThings(); 72 | 73 | % Combine both subtrees 74 | parentsStuff{1, 2} = 'root'; 75 | parentsThings{1, 2} = 'root'; 76 | parents = [{'root'}, {'root'}; ... 77 | parentsThings; parentsStuff]; 78 | 79 | % Convert to tree 80 | [nodes, categories, heights] = parentsToTrees(parents); 81 | end 82 | 83 | function[nodes, categories, heights, parents] = getClassHierarchyThings() 84 | % Returns a hierarchy of classes to be plotted with treeplot(nodes) 85 | 86 | parents = { ... 87 | 'things', 'things'; ... 88 | ... % End of level 1 89 | 'indoor-super-things', 'things'; ... 90 | 'outdoor-super-things', 'things'; ... 91 | ... % End of level 2 92 | 'person-things', 'outdoor-super-things'; ... 93 | 'vehicle-things', 'outdoor-super-things'; ... 94 | 'outdoor-things', 'outdoor-super-things'; ... 95 | 'animal-things', 'outdoor-super-things'; ... 96 | 'accessory-things', 'outdoor-super-things'; ... 97 | 'sports-things', 'outdoor-super-things'; ... 98 | 'kitchen-things', 'indoor-super-things'; ... 99 | 'food-things', 'indoor-super-things'; ... 100 | 'furniture-things', 'indoor-super-things'; ... 101 | 'electronic-things', 'indoor-super-things'; ... 102 | 'appliance-things', 'indoor-super-things'; ... 103 | 'indoor-things', 'indoor-super-things'; ... 104 | ... % End of level 3 105 | 'person', 'person-things'; ... 106 | 'bicycle', 'vehicle-things'; ... 107 | 'car', 'vehicle-things'; ... 108 | 'motorcycle', 'vehicle-things'; ... 109 | 'airplane', 'vehicle-things'; ... 110 | 'bus', 'vehicle-things'; ... 111 | 'train', 'vehicle-things'; ... 112 | 'truck', 'vehicle-things'; ... 113 | 'boat', 'vehicle-things'; ... 114 | 'traffic light', 'outdoor-things'; ... 115 | 'fire hydrant', 'outdoor-things'; ... 116 | 'street sign', 'outdoor-things'; ... 117 | 'stop sign', 'outdoor-things'; ... 118 | 'parking meter', 'outdoor-things'; ... 119 | 'bench', 'outdoor-things'; ... 120 | 'bird', 'animal-things'; ... 121 | 'cat', 'animal-things'; ... 122 | 'dog', 'animal-things'; ... 123 | 'horse', 'animal-things'; ... 124 | 'sheep', 'animal-things'; ... 125 | 'cow', 'animal-things'; ... 126 | 'elephant', 'animal-things'; ... 127 | 'bear', 'animal-things'; ... 128 | 'zebra', 'animal-things'; ... 129 | 'giraffe', 'animal-things'; ... 130 | 'hat', 'accessory-things'; ... 131 | 'backpack', 'accessory-things'; ... 132 | 'umbrella', 'accessory-things'; ... 133 | 'shoe', 'accessory-things'; ... 134 | 'eye glasses', 'accessory-things'; ... 135 | 'handbag', 'accessory-things'; ... 136 | 'tie', 'accessory-things'; ... 137 | 'suitcase', 'accessory-things'; ... 138 | 'frisbee', 'sports-things'; ... 139 | 'skis', 'sports-things'; ... 140 | 'snowboard', 'sports-things'; ... 141 | 'sports ball', 'sports-things'; ... 142 | 'kite', 'sports-things'; ... 143 | 'baseball bat', 'sports-things'; ... 144 | 'baseball glove', 'sports-things'; ... 145 | 'skateboard', 'sports-things'; ... 146 | 'surfboard', 'sports-things'; ... 147 | 'tennis racket', 'sports-things'; ... 148 | 'bottle', 'kitchen-things'; ... 149 | 'plate', 'kitchen-things'; ... 150 | 'wine glass', 'kitchen-things'; ... 151 | 'cup', 'kitchen-things'; ... 152 | 'fork', 'kitchen-things'; ... 153 | 'knife', 'kitchen-things'; ... 154 | 'spoon', 'kitchen-things'; ... 155 | 'bowl', 'kitchen-things'; ... 156 | 'banana', 'food-things'; ... 157 | 'apple', 'food-things'; ... 158 | 'sandwich', 'food-things'; ... 159 | 'orange', 'food-things'; ... 160 | 'broccoli', 'food-things'; ... 161 | 'carrot', 'food-things'; ... 162 | 'hot dog', 'food-things'; ... 163 | 'pizza', 'food-things'; ... 164 | 'donut', 'food-things'; ... 165 | 'cake', 'food-things'; ... 166 | 'chair', 'furniture-things'; ... 167 | 'couch', 'furniture-things'; ... 168 | 'potted plant', 'furniture-things'; ... 169 | 'bed', 'furniture-things'; ... 170 | 'mirror', 'furniture-things'; ... 171 | 'dining table', 'furniture-things'; ... 172 | 'window', 'furniture-things'; ... 173 | 'desk', 'furniture-things'; ... 174 | 'toilet', 'furniture-things'; ... 175 | 'door', 'furniture-things' 176 | 'tv', 'electronic-things'; ... 177 | 'laptop', 'electronic-things'; ... 178 | 'mouse', 'electronic-things'; ... 179 | 'remote', 'electronic-things'; ... 180 | 'keyboard', 'electronic-things'; ... 181 | 'cell phone', 'electronic-things'; ... 182 | 'microwave', 'appliance-things'; ... 183 | 'oven', 'appliance-things'; ... 184 | 'toaster', 'appliance-things'; ... 185 | 'sink', 'appliance-things'; ... 186 | 'refrigerator', 'appliance-things'; ... 187 | 'blender', 'appliance-things'; ... 188 | 'book', 'indoor-things'; ... 189 | 'clock', 'indoor-things'; ... 190 | 'vase', 'indoor-things'; ... 191 | 'scissors', 'indoor-things'; ... 192 | 'teddy bear', 'indoor-things'; ... 193 | 'hair drier', 'indoor-things'; ... 194 | 'toothbrush', 'indoor-things'; ... 195 | 'hair brush', 'indoor-things'; ... 196 | }; 197 | 198 | % Convert to tree 199 | [nodes, categories, heights] = parentsToTrees(parents); 200 | end 201 | 202 | function[nodes, categories, heights, parents] = getClassHierarchyStuff(~) 203 | % Returns a hierarchy of stuff classes to be plotted with treeplot(nodes) 204 | 205 | parents = { ... 206 | 'stuff', 'stuff'; ... 207 | ... % End of level 1 208 | 'indoor-super-stuff', 'stuff'; ... 209 | 'outdoor-super-stuff', 'stuff'; ... 210 | ... % End of level 2 211 | 'rawmaterial-stuff', 'indoor-super-stuff'; ... 212 | 'wall-stuff', 'indoor-super-stuff'; ... 213 | 'ceiling-stuff', 'indoor-super-stuff'; ... 214 | 'floor-stuff', 'indoor-super-stuff'; ... 215 | 'window-stuff', 'indoor-super-stuff'; ... 216 | 'furniture-stuff', 'indoor-super-stuff'; ... 217 | 'textile-stuff', 'indoor-super-stuff'; ... 218 | 'food-stuff', 'indoor-super-stuff'; ... 219 | 'building-stuff', 'outdoor-super-stuff'; ... 220 | 'structural-stuff', 'outdoor-super-stuff'; ... 221 | 'plant-stuff', 'outdoor-super-stuff'; ... 222 | 'sky-stuff', 'outdoor-super-stuff'; ... 223 | 'solid-stuff', 'outdoor-super-stuff'; ... 224 | 'ground-stuff', 'outdoor-super-stuff'; ... 225 | 'water-stuff', 'outdoor-super-stuff'; ... 226 | ... % End of level 3 227 | 'cardboard', 'rawmaterial-stuff'; ... 228 | 'paper', 'rawmaterial-stuff'; ... 229 | 'plastic', 'rawmaterial-stuff'; ... 230 | 'metal', 'rawmaterial-stuff'; ... 231 | 'wall-tile', 'wall-stuff'; ... 232 | 'wall-panel', 'wall-stuff'; ... 233 | 'wall-wood', 'wall-stuff'; ... 234 | 'wall-brick', 'wall-stuff'; ... 235 | 'wall-stone', 'wall-stuff'; ... 236 | 'wall-concrete', 'wall-stuff'; ... 237 | 'wall-other', 'wall-stuff'; ... 238 | 'ceiling-tile', 'ceiling-stuff'; ... 239 | 'ceiling-other', 'ceiling-stuff'; ... 240 | 'carpet', 'floor-stuff'; ... 241 | 'floor-tile', 'floor-stuff'; ... 242 | 'floor-wood', 'floor-stuff'; ... 243 | 'floor-marble', 'floor-stuff'; ... 244 | 'floor-stone', 'floor-stuff'; ... 245 | 'floor-other', 'floor-stuff'; ... 246 | 'window-blind', 'window-stuff'; ... 247 | 'window-other', 'window-stuff'; ... 248 | 'door-stuff', 'furniture-stuff'; ... 249 | 'desk-stuff', 'furniture-stuff'; ... 250 | 'table', 'furniture-stuff'; ... 251 | 'shelf', 'furniture-stuff'; ... 252 | 'cabinet', 'furniture-stuff'; ... 253 | 'cupboard', 'furniture-stuff'; ... 254 | 'mirror-stuff', 'furniture-stuff'; ... 255 | 'counter', 'furniture-stuff'; ... 256 | 'light', 'furniture-stuff'; ... 257 | 'stairs', 'furniture-stuff'; ... 258 | 'furniture-other', 'furniture-stuff'; ... 259 | 'rug', 'textile-stuff'; ... 260 | 'mat', 'textile-stuff'; ... 261 | 'towel', 'textile-stuff'; ... 262 | 'napkin', 'textile-stuff'; ... 263 | 'clothes', 'textile-stuff'; ... 264 | 'cloth', 'textile-stuff'; ... 265 | 'curtain', 'textile-stuff'; ... 266 | 'blanket', 'textile-stuff'; ... 267 | 'pillow', 'textile-stuff'; ... 268 | 'banner', 'textile-stuff'; ... 269 | 'textile-other', 'textile-stuff'; ... 270 | 'fruit', 'food-stuff'; ... 271 | 'salad', 'food-stuff'; ... 272 | 'vegetable', 'food-stuff'; ... 273 | 'food-other', 'food-stuff'; ... 274 | ... % End of level 4 left 275 | 'house', 'building-stuff'; ... 276 | 'skyscraper', 'building-stuff'; ... 277 | 'bridge', 'building-stuff'; ... 278 | 'tent', 'building-stuff'; ... 279 | 'roof', 'building-stuff'; ... 280 | 'building-other', 'building-stuff'; ... 281 | 'fence', 'structural-stuff'; ... 282 | 'cage', 'structural-stuff'; ... 283 | 'net', 'structural-stuff'; ... 284 | 'railing', 'structural-stuff'; ... 285 | 'structural-other', 'structural-stuff'; ... 286 | 'grass', 'plant-stuff'; ... 287 | 'tree', 'plant-stuff'; ... 288 | 'bush', 'plant-stuff'; ... 289 | 'leaves', 'plant-stuff'; ... 290 | 'flower', 'plant-stuff'; ... 291 | 'branch', 'plant-stuff'; ... 292 | 'moss', 'plant-stuff'; ... 293 | 'straw', 'plant-stuff'; ... 294 | 'plant-other', 'plant-stuff'; ... 295 | 'clouds', 'sky-stuff'; ... 296 | 'sky-other', 'sky-stuff'; ... 297 | 'wood', 'solid-stuff'; ... 298 | 'rock', 'solid-stuff'; ... 299 | 'stone', 'solid-stuff'; ... 300 | 'mountain', 'solid-stuff'; ... 301 | 'hill', 'solid-stuff'; ... 302 | 'solid-other', 'solid-stuff'; ... 303 | 'sand', 'ground-stuff'; ... 304 | 'snow', 'ground-stuff'; ... 305 | 'dirt', 'ground-stuff'; ... 306 | 'mud', 'ground-stuff'; ... 307 | 'gravel', 'ground-stuff'; ... 308 | 'road', 'ground-stuff'; ... 309 | 'pavement', 'ground-stuff'; ... 310 | 'railroad', 'ground-stuff'; ... 311 | 'platform', 'ground-stuff'; ... 312 | 'playingfield', 'ground-stuff'; ... 313 | 'ground-other', 'ground-stuff'; ... 314 | 'fog', 'water-stuff'; ... 315 | 'river', 'water-stuff'; ... 316 | 'sea', 'water-stuff'; ... 317 | 'waterdrops', 'water-stuff'; ... 318 | 'water-other', 'water-stuff'; ... 319 | }; 320 | 321 | % Convert to tree 322 | [nodes, categories, heights] = parentsToTrees(parents); 323 | end 324 | 325 | function[nodes, categories, heights, parents] = getClassHierarchyStuffThings() 326 | % [nodes, categories, heights, parents] = getClassHierarchyStuffThings() 327 | 328 | % Get stuff and thing subtrees 329 | [~, ~, ~, parentsS] = CocoStuffClasses.getClassHierarchyStuff(); 330 | [~, ~, ~, parentsT] = CocoStuffClasses.getClassHierarchyThings(); 331 | 332 | % Add root node which holds both subtrees 333 | parentsS{1, 2} = 'root'; 334 | parentsT{1, 2} = 'root'; 335 | parents = [{'root', 'root'}; parentsT; parentsS]; 336 | 337 | % Convert to tree 338 | [nodes, categories, heights] = parentsToTrees(parents); 339 | end 340 | 341 | function[stuffLabels, thingLabels, stuffLabelInds, thingLabelInds] = getStuffThingLabels() 342 | % [stuffLabels, thingLabels, stuffLabelInds, thingLabelInds] = getStuffThingLabels() 343 | % 344 | % Note that "unlabeled" is neither thing nor stuff! 345 | 346 | % Get all stuff and thing labels 347 | [stuffLabelsAll, thingLabelsAll] = CocoStuffClasses.getStuffThingLabelsAll(); 348 | 349 | % Limit to classes used in current annotation 350 | labelNames = CocoStuffClasses.getLabelNamesThingsStuff(); 351 | thingLabelInds = find(ismember(labelNames, thingLabelsAll)); 352 | stuffLabelInds = find(ismember(labelNames, stuffLabelsAll)); 353 | thingLabels = labelNames(thingLabelInds); 354 | stuffLabels = labelNames(stuffLabelInds); 355 | 356 | % Check consistency 357 | allInds = [1; thingLabelInds; stuffLabelInds]; 358 | assert(isequal(allInds, unique(allInds))); 359 | end 360 | 361 | function[stuffLabels, thingLabels, stuffLabelInds, thingLabelInds] = getStuffThingLabelsAll() 362 | % [stuffLabels, thingLabels, stuffLabelInds, thingLabelInds] = getStuffThingLabels() 363 | % 364 | % Note that "unlabeled" is neither thing nor stuff! 365 | 366 | labelNamesAll = ['unlabeled'; CocoStuffClasses.getLabelNamesThingsStuff()]; 367 | thingLabelInds = (1 + 1 : CocoStuffClasses.thingCount + 1)'; 368 | stuffLabelInds = (1 + CocoStuffClasses.thingCount + 1 : numel(labelNamesAll))'; 369 | thingLabels = labelNamesAll(thingLabelInds); 370 | stuffLabels = labelNamesAll(stuffLabelInds); 371 | 372 | % Check consistency 373 | allInds = [1; thingLabelInds; stuffLabelInds]; 374 | assert(isequal(allInds, unique(allInds))); 375 | end 376 | 377 | function[dists] = hierarchyDistances() 378 | % [dists] = hierarchyDistances() 379 | % 380 | % Returns a symmetric matrix of pairwise distances between 381 | % labels i and j, where the distance function is the path 382 | % length between i and j in the hierarchy. 383 | 384 | % Get dataset label hierarchy 385 | [nodes, categories, heights, ~] = CocoStuffClasses.getClassHierarchy(); 386 | 387 | % Init 388 | nodeCount = numel(nodes); 389 | distsN = zeros(nodeCount, nodeCount); 390 | 391 | for i = 2 : nodeCount % skip "unlabeled" class 392 | for j = i + 1 : nodeCount 393 | distI = 0; 394 | distJ = 0; 395 | curI = i; 396 | curJ = j; 397 | while curI ~= curJ 398 | if heights(curI) < heights(curJ) 399 | % Go to parent of j 400 | curJ = nodes(curJ); 401 | distJ = distJ + 1; 402 | elseif heights(curI) > heights(curJ) 403 | % Go to parent of i 404 | curI = nodes(curI); 405 | distI = distI + 1; 406 | else 407 | % Go to parent of j 408 | curJ = nodes(curJ); 409 | distJ = distJ + 1; 410 | 411 | % Go to parent of i 412 | curI = nodes(curI); 413 | distI = distI + 1; 414 | end 415 | end 416 | % The final distance is the sum of both distances 417 | dist = distI + distJ; 418 | 419 | distsN(i, j) = dist; 420 | distsN(j, i) = dist; 421 | end 422 | end 423 | 424 | % Remove all inner nodes of the tree 425 | labelNames = CocoStuffClasses.getLabelNamesThingsStuff(); 426 | relInds = indicesOfAInB(labelNames(2:end), categories); 427 | distsN = distsN(relInds, relInds); 428 | 429 | % Add "unlabeled" class with largest distance to any label 430 | maxDist = max(distsN(:)); 431 | dists = nan(size(distsN) + 1); 432 | dists(2:end, 2:end) = distsN; 433 | dists(1, 2:end) = maxDist + 1; 434 | dists(2:end, 1) = maxDist + 1; 435 | dists(1, 1) = 0; 436 | end 437 | 438 | function showClassHierarchyStuff() 439 | % showClassHierarchyStuff() 440 | 441 | [nodes, cats] = CocoStuffClasses.getClassHierarchyStuff(); 442 | % Make label names nicer/shorter 443 | cats = strrep(cats, '-stuff', ''); 444 | cats = strrep(cats, '-things', ''); 445 | cats = strrep(cats, '-super', ''); 446 | 447 | % Plot label hierarchy 448 | plotTree(nodes, cats); 449 | end 450 | 451 | function showClassHierarchyThings() 452 | % showClassHierarchyThings() 453 | 454 | [nodes, cats] = CocoStuffClasses.getClassHierarchyThings(); 455 | 456 | % Make label names nicer/shorter 457 | cats = strrep(cats, '-stuff', ''); 458 | cats = strrep(cats, '-things', ''); 459 | cats = strrep(cats, '-super', ''); 460 | 461 | % Plot label hierarchy 462 | plotTree(nodes, cats); 463 | end 464 | 465 | function showClassHierarchyStuffThings() 466 | % showClassHierarchyStuffThings() 467 | 468 | [nodes, cats] = CocoStuffClasses.getClassHierarchyStuffThings(); 469 | 470 | % Make label names nicer/shorter 471 | cats = strrep(cats, '-stuff', ''); 472 | cats = strrep(cats, '-things', ''); 473 | cats = strrep(cats, '-super', ''); 474 | 475 | % Start figure 476 | figLabelHierarchy = figure(); 477 | set(gcf, 'Color', 'w'); 478 | 479 | % Plot label hierarchy 480 | plotTree(nodes, cats, 1, figLabelHierarchy); 481 | plotTree(nodes, cats, -1, figLabelHierarchy); 482 | 483 | % Set figure size 484 | pos = get(figLabelHierarchy, 'Position'); 485 | newPos = pos; 486 | newPos(3) = 1000; 487 | newPos(4) = 1000; 488 | set(figLabelHierarchy, 'Position', newPos); 489 | end 490 | end 491 | end -------------------------------------------------------------------------------- /dataset/code/cmapStuff.m: -------------------------------------------------------------------------------- 1 | function[cmap] = cmapStuff() 2 | % [cmap] = cmapStuff() 3 | % 4 | % Returns the color map for stuff labels in CocoStuff. 5 | % 6 | % Copyright by Holger Caesar, 2017 7 | 8 | % Settings 9 | stuffCount = CocoStuffClasses.stuffCount; 10 | 11 | % Get jet colormap and modify third dimension of hsv value 12 | stuffColors = jet(stuffCount); 13 | stuffColors = rgb2hsv(stuffColors); 14 | stuffColors(:, 3) = 0.5 * stuffColors(:, 3); 15 | 16 | stuffColors = hsv2rgb(stuffColors); 17 | 18 | % Shuffle colors and reset random number generator 19 | backup = rng; 20 | rng(42); 21 | stuffColors = stuffColors(randperm(stuffCount), :); 22 | rng(backup); 23 | 24 | cmap = [0, 0, 0; stuffColors]; -------------------------------------------------------------------------------- /dataset/code/cmapThings.m: -------------------------------------------------------------------------------- 1 | function[cmap] = cmapThings() 2 | % [cmap] = cmapThings() 3 | % 4 | % Returns the color map for thing labels in CocoStuff. 5 | % 6 | % Copyright by Holger Caesar, 2017 7 | 8 | % Settings 9 | thingColors = jet(CocoStuffClasses.thingCount); 10 | 11 | % Shuffle colors and reset random number generator 12 | backup = rng; 13 | rng(42); 14 | thingColors = thingColors(randperm(CocoStuffClasses.thingCount), :); 15 | rng(backup); 16 | 17 | cmap = [0, 0, 0; thingColors]; -------------------------------------------------------------------------------- /dataset/code/cmapThingsStuff.m: -------------------------------------------------------------------------------- 1 | function[cmap] = cmapThingsStuff() 2 | % [cmap] = cmapThingsStuff() 3 | % 4 | % Returns the color map for stuff and thing labels in CocoStuff. 5 | % 6 | % Copyright by Holger Caesar, 2017 7 | 8 | % Get stuff and thing color 9 | stuffColors = cmapStuff(); 10 | thingColors = cmapThings(); 11 | 12 | % Remove duplicate backgrund 13 | stuffColors(1, :) = []; 14 | thingColors(1, :) = []; 15 | 16 | % Combine unlabeled (black), things and stuff 17 | cmap = [0, 0, 0; thingColors; stuffColors]; -------------------------------------------------------------------------------- /dataset/code/cocoStuff_root.m: -------------------------------------------------------------------------------- 1 | function[root] = cocoStuff_root() 2 | % [root] = cocoStuff_root() 3 | % 4 | % Returns the absolute path to the root directory of COCO-Stuff. 5 | % 6 | % Copyright by Holger Caesar, 2016 7 | 8 | root = fileparts(fileparts(fileparts(mfilename('fullpath')))); -------------------------------------------------------------------------------- /dataset/code/conversion/convertAnnotationsDeeplab.m: -------------------------------------------------------------------------------- 1 | function convertAnnotationsDeeplab() 2 | % convertAnnotationsDeeplab() 3 | % 4 | % Convert the COCO-Stuff annotation files into a suitable format for 5 | % DeepLab. Offsets the label indices by -1 and converts them to uint8. 6 | % 7 | % Copyrights by Holger Caesar, 2016 8 | 9 | % Settings 10 | cocoStuffFolder = cocoStuff_root(); 11 | annotationFolder = fullfile(cocoStuffFolder, 'dataset', 'annotations'); 12 | saveFolder = fullfile(cocoStuffFolder, 'models', 'deeplab', 'cocostuff', 'data', 'annotations'); 13 | 14 | % Get all images 15 | imgs_dir = dir(fullfile(annotationFolder, '*.mat')); 16 | 17 | % Create saveFolder if necessary 18 | if ~exist(saveFolder, 'dir') 19 | mkdir(saveFolder) 20 | end 21 | 22 | for i = 1 : numel(imgs_dir) 23 | fprintf(1, 'Processing image %d of %d ...\n', i, numel(imgs_dir)); 24 | 25 | labelStruct = load(fullfile(annotationFolder, imgs_dir(i).name)); 26 | labelMap = labelStruct.S; 27 | assert(max(labelMap(:)) <= 182); 28 | labelMap = labelMap - 1; 29 | labelMap(labelMap == -1) = 255; 30 | labelMap = uint8(labelMap); 31 | 32 | imwrite(labelMap, fullfile(saveFolder, strrep(imgs_dir(i).name, '.mat', '.png'))); 33 | end 34 | -------------------------------------------------------------------------------- /dataset/code/conversion/convertAnnotationsJSON.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | # convertAnnotationsJSON 4 | # 5 | # This script converts the .mat file annotations of the COCO-Stuff v. 1.1 6 | # into a single .json file compatible with the COCO API. 7 | # 8 | # To run this script you need to download the COCO-Stuff code, 9 | # COCO-Stuff dataset, COCO annotations and COCO API. 10 | # 11 | # For more information, go to: https://github.com/nightrome/cocostuff 12 | # 13 | # Copyright by Holger Caesar, 2017 14 | 15 | # Settings 16 | import inspect, os 17 | rootFolder = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))) 18 | annotFolder = os.path.join(rootFolder, 'dataset', 'annotations') 19 | stuffOnly = False 20 | cocoApiFolder = os.path.join(rootFolder, 'downloads', 'cocoApi', 'coco-336d2a27c91e3c0663d2dcf0b13574674d30f88e', 'PythonAPI') 21 | annPath = os.path.join(rootFolder, 'downloads', 'instances_train-val2014', 'annotations', 'instances_train2014.json') 22 | if stuffOnly: 23 | jsonPath = os.path.join(rootFolder, 'dataset', 'cocostuff-10k-v1.1-stuffOnly.json') 24 | else: 25 | jsonPath = os.path.join(rootFolder, 'dataset', 'cocostuff-10k-v1.1.json') 26 | indent = 0 27 | separators = (',', ':') 28 | ensure_ascii = False 29 | oldStuffStartIdx = 92 30 | newStuffStartIdx = 92 31 | useNewMatlabFileFormat = False 32 | 33 | # Add COCO to path 34 | import sys 35 | sys.path.append(cocoApiFolder) 36 | 37 | from pycocotools import mask 38 | import numpy as np 39 | import pylab 40 | import scipy.io # To open matlab < 7.0 files 41 | import h5py # To open matlab >=7.3 files 42 | 43 | import glob # to get the files in a folder 44 | import io 45 | import json 46 | 47 | # Get images 48 | imageList = glob.glob(annotFolder + '/*.mat') 49 | imageCount = len(imageList) 50 | imageIds = [int(imageName[-16:-4]) for imageName in imageList] 51 | 52 | # Load COCO API 53 | print("Loading COCO annotations...") 54 | with open(annPath) as annFile: 55 | data = json.load(annFile) 56 | 57 | # Init 58 | annId = 0 59 | 60 | print("Writing JSON metadata...") 61 | with io.open(jsonPath, 'w', encoding='utf8') as outfile: 62 | # Global start 63 | outfile.write(unicode('{\n')) 64 | 65 | # Write info 66 | infodata = {'description': 'This is the 1.1 release of the COCO-Stuff (10K) dataset.', 67 | 'url': 'https://github.com/nightrome/cocostuff', 68 | 'version': '1.1', 69 | 'year': 2017, 70 | 'contributor': 'H. Caesar, J. Uijlings and V. Ferrari', 71 | 'date_created': '2017-04-06 12:00:00.0'}, 72 | infodata = {'info': infodata} 73 | str_ = json.dumps(infodata, indent=indent, sort_keys=True, separators=separators, ensure_ascii=ensure_ascii) 74 | str_ = str_[1:-2] + ',\n' # Remove brackets and add comma 75 | outfile.write(unicode(str_)) 76 | 77 | # Write images 78 | imdata = [i for i in data['images'] if i['id'] in imageIds] 79 | imdata = {'images': imdata} 80 | str_ = json.dumps(imdata, indent=indent, sort_keys=True, separators=separators, ensure_ascii=ensure_ascii) 81 | str_ = str_[1:-2] + ',\n' # Remove brackets and add comma 82 | outfile.write(unicode(str_)) 83 | 84 | # Write licenses 85 | licdata = {'licenses': data['licenses']} 86 | str_ = json.dumps(licdata, indent=indent, sort_keys=True, separators=separators, ensure_ascii=ensure_ascii) 87 | str_ = str_[1:-2] + ',\n' # Remove brackets and add comma 88 | outfile.write(unicode(str_)) 89 | 90 | # Write categories 91 | catdata = data['categories'] 92 | catdata.extend([ 93 | {'id': 92, 'name': 'banner', 'supercategory': 'textile'}, 94 | {'id': 93, 'name': 'blanket', 'supercategory': 'textile'}, 95 | {'id': 94, 'name': 'branch', 'supercategory': 'plant'}, 96 | {'id': 95, 'name': 'bridge', 'supercategory': 'building'}, 97 | {'id': 96, 'name': 'building-other', 'supercategory': 'building'}, 98 | {'id': 97, 'name': 'bush', 'supercategory': 'plant'}, 99 | {'id': 98, 'name': 'cabinet', 'supercategory': 'furniture-stuff'}, 100 | {'id': 99, 'name': 'cage', 'supercategory': 'structural'}, 101 | {'id': 100, 'name': 'cardboard', 'supercategory': 'raw-material'}, 102 | {'id': 101, 'name': 'carpet', 'supercategory': 'floor'}, 103 | {'id': 102, 'name': 'ceiling-other', 'supercategory': 'ceiling'}, 104 | {'id': 103, 'name': 'ceiling-tile', 'supercategory': 'ceiling'}, 105 | {'id': 104, 'name': 'cloth', 'supercategory': 'textile'}, 106 | {'id': 105, 'name': 'clothes', 'supercategory': 'textile'}, 107 | {'id': 106, 'name': 'clouds', 'supercategory': 'sky'}, 108 | {'id': 107, 'name': 'counter', 'supercategory': 'furniture-stuff'}, 109 | {'id': 108, 'name': 'cupboard', 'supercategory': 'furniture-stuff'}, 110 | {'id': 109, 'name': 'curtain', 'supercategory': 'textile'}, 111 | {'id': 110, 'name': 'desk-stuff', 'supercategory': 'furniture-stuff'}, 112 | {'id': 111, 'name': 'dirt', 'supercategory': 'ground'}, 113 | {'id': 112, 'name': 'door-stuff', 'supercategory': 'furniture-stuff'}, 114 | {'id': 113, 'name': 'fence', 'supercategory': 'structural'}, 115 | {'id': 114, 'name': 'floor-marble', 'supercategory': 'floor'}, 116 | {'id': 115, 'name': 'floor-other', 'supercategory': 'floor'}, 117 | {'id': 116, 'name': 'floor-stone', 'supercategory': 'floor'}, 118 | {'id': 117, 'name': 'floor-tile', 'supercategory': 'floor'}, 119 | {'id': 118, 'name': 'floor-wood', 'supercategory': 'floor'}, 120 | {'id': 119, 'name': 'flower', 'supercategory': 'plant'}, 121 | {'id': 120, 'name': 'fog', 'supercategory': 'water'}, 122 | {'id': 121, 'name': 'food-other', 'supercategory': 'food-stuff'}, 123 | {'id': 122, 'name': 'fruit', 'supercategory': 'food-stuff'}, 124 | {'id': 123, 'name': 'furniture-other', 'supercategory': 'furniture-stuff'}, 125 | {'id': 124, 'name': 'grass', 'supercategory': 'plant'}, 126 | {'id': 125, 'name': 'gravel', 'supercategory': 'ground'}, 127 | {'id': 126, 'name': 'ground-other', 'supercategory': 'ground'}, 128 | {'id': 127, 'name': 'hill', 'supercategory': 'solid'}, 129 | {'id': 128, 'name': 'house', 'supercategory': 'building'}, 130 | {'id': 129, 'name': 'leaves', 'supercategory': 'plant'}, 131 | {'id': 130, 'name': 'light', 'supercategory': 'furniture-stuff'}, 132 | {'id': 131, 'name': 'mat', 'supercategory': 'textile'}, 133 | {'id': 132, 'name': 'metal', 'supercategory': 'raw-material'}, 134 | {'id': 133, 'name': 'mirror-stuff', 'supercategory': 'furniture-stuff'}, 135 | {'id': 134, 'name': 'moss', 'supercategory': 'plant'}, 136 | {'id': 135, 'name': 'mountain', 'supercategory': 'solid'}, 137 | {'id': 136, 'name': 'mud', 'supercategory': 'ground'}, 138 | {'id': 137, 'name': 'napkin', 'supercategory': 'textile'}, 139 | {'id': 138, 'name': 'net', 'supercategory': 'structural'}, 140 | {'id': 139, 'name': 'paper', 'supercategory': 'raw-material'}, 141 | {'id': 140, 'name': 'pavement', 'supercategory': 'ground'}, 142 | {'id': 141, 'name': 'pillow', 'supercategory': 'textile'}, 143 | {'id': 142, 'name': 'plant-other', 'supercategory': 'plant'}, 144 | {'id': 143, 'name': 'plastic', 'supercategory': 'raw-material'}, 145 | {'id': 144, 'name': 'platform', 'supercategory': 'ground'}, 146 | {'id': 145, 'name': 'playingfield', 'supercategory': 'ground'}, 147 | {'id': 146, 'name': 'railing', 'supercategory': 'structural'}, 148 | {'id': 147, 'name': 'railroad', 'supercategory': 'ground'}, 149 | {'id': 148, 'name': 'river', 'supercategory': 'water'}, 150 | {'id': 149, 'name': 'road', 'supercategory': 'ground'}, 151 | {'id': 150, 'name': 'rock', 'supercategory': 'solid'}, 152 | {'id': 151, 'name': 'roof', 'supercategory': 'building'}, 153 | {'id': 152, 'name': 'rug', 'supercategory': 'textile'}, 154 | {'id': 153, 'name': 'salad', 'supercategory': 'food-stuff'}, 155 | {'id': 154, 'name': 'sand', 'supercategory': 'ground'}, 156 | {'id': 155, 'name': 'sea', 'supercategory': 'water'}, 157 | {'id': 156, 'name': 'shelf', 'supercategory': 'furniture-stuff'}, 158 | {'id': 157, 'name': 'sky-other', 'supercategory': 'sky'}, 159 | {'id': 158, 'name': 'skyscraper', 'supercategory': 'building'}, 160 | {'id': 159, 'name': 'snow', 'supercategory': 'ground'}, 161 | {'id': 160, 'name': 'solid-other', 'supercategory': 'solid'}, 162 | {'id': 161, 'name': 'stairs', 'supercategory': 'furniture-stuff'}, 163 | {'id': 162, 'name': 'stone', 'supercategory': 'solid'}, 164 | {'id': 163, 'name': 'straw', 'supercategory': 'plant'}, 165 | {'id': 164, 'name': 'structural-other', 'supercategory': 'structural'}, 166 | {'id': 165, 'name': 'table', 'supercategory': 'furniture-stuff'}, 167 | {'id': 166, 'name': 'tent', 'supercategory': 'building'}, 168 | {'id': 167, 'name': 'textile-other', 'supercategory': 'textile'}, 169 | {'id': 168, 'name': 'towel', 'supercategory': 'textile'}, 170 | {'id': 169, 'name': 'tree', 'supercategory': 'plant'}, 171 | {'id': 170, 'name': 'vegetable', 'supercategory': 'food-stuff'}, 172 | {'id': 171, 'name': 'wall-brick', 'supercategory': 'wall'}, 173 | {'id': 172, 'name': 'wall-concrete', 'supercategory': 'wall'}, 174 | {'id': 173, 'name': 'wall-other', 'supercategory': 'wall'}, 175 | {'id': 174, 'name': 'wall-panel', 'supercategory': 'wall'}, 176 | {'id': 175, 'name': 'wall-stone', 'supercategory': 'wall'}, 177 | {'id': 176, 'name': 'wall-tile', 'supercategory': 'wall'}, 178 | {'id': 177, 'name': 'wall-wood', 'supercategory': 'wall'}, 179 | {'id': 178, 'name': 'water-other', 'supercategory': 'water'}, 180 | {'id': 179, 'name': 'waterdrops', 'supercategory': 'water'}, 181 | {'id': 180, 'name': 'window-blind', 'supercategory': 'window'}, 182 | {'id': 181, 'name': 'window-other', 'supercategory': 'window'}, 183 | {'id': 182, 'name': 'wood', 'supercategory': 'solid'} 184 | ]) 185 | catdata = {'categories': catdata} 186 | str_ = json.dumps(catdata, indent=indent, sort_keys=True, separators=separators, ensure_ascii=ensure_ascii) 187 | str_ = str_[1:-2] + ',\n' # Remove brackets and add comma 188 | outfile.write(unicode(str_)) 189 | 190 | # Start 191 | outfile.write(unicode('"annotations": [\n')) 192 | 193 | for imageIdx, imageName in enumerate(imageList): 194 | 195 | # Write annotations 196 | print "Writing JSON annotation %d of %d..." % (imageIdx+1, imageCount) 197 | 198 | # Read annotation file 199 | annotPath = os.path.join(annotFolder, imageName) 200 | if useNewMatlabFileFormat: 201 | matfile = h5py.File(annotPath) 202 | S = matfile['S'].value 203 | else: 204 | matfile = scipy.io.loadmat(annotPath) 205 | S = matfile['S'] 206 | 207 | [h, w] = S.shape 208 | regionLabelsStuff = matfile['regionLabelsStuff'] 209 | labelsAll = np.unique(regionLabelsStuff) 210 | labelsStuff = [i for i in labelsAll if i >= oldStuffStartIdx] 211 | 212 | # Add thing annotations from COCO 213 | if not stuffOnly: 214 | anndatas = [i for i in data['annotations'] if i['image_id'] == imageIds[imageIdx]] 215 | 216 | for i in xrange(0, len(anndatas)): 217 | # Write JSON 218 | str_ = json.dumps(anndatas[i], indent=indent, sort_keys=True, separators=separators, ensure_ascii=ensure_ascii) 219 | outfile.write(unicode(str_)) 220 | 221 | # Increment ann id 222 | annId = annId + 1 223 | 224 | # Add a comma and line break after each annotation 225 | outfile.write(unicode(',')) 226 | outfile.write(unicode('\n')) 227 | 228 | # Add stuff annotations 229 | for i, labelIdx in enumerate(labelsStuff): 230 | # Create mask and encode it 231 | labelMask = np.zeros((h, w)) 232 | labelMask[:, :] = S == labelIdx 233 | labelMask = np.expand_dims(labelMask, axis=2) 234 | labelMask = labelMask.astype('uint8') 235 | labelMask = np.asfortranarray(labelMask) 236 | Rs = mask.encode(labelMask) 237 | 238 | # Create annotation data 239 | anndata = {} 240 | anndata['id'] = annId 241 | anndata['image_id'] = imageIds[imageIdx] 242 | anndata['category_id'] = labelIdx - oldStuffStartIdx + newStuffStartIdx # Stuff classes start from 92 in v. 1.1 243 | anndata['segmentation'] = Rs 244 | anndata['area'] = float(mask.area(Rs)) 245 | anndata['bbox'] = mask.toBbox(Rs).tolist() 246 | anndata['iscrowd'] = 1 247 | 248 | # Write JSON 249 | str_ = json.dumps(anndata, indent=indent, sort_keys=True, separators=separators, ensure_ascii=ensure_ascii) 250 | outfile.write(unicode(str_)) 251 | 252 | # Increment ann id 253 | annId = annId + 1 254 | 255 | # Add a comma and line break after each annotation 256 | if not (imageIdx == imageCount-1 and i == len(labelsStuff)-1): 257 | outfile.write(unicode(',')) 258 | outfile.write(unicode('\n')) 259 | 260 | # End 261 | outfile.write(unicode(']\n')) 262 | 263 | # Global end 264 | outfile.write(unicode('}')) 265 | -------------------------------------------------------------------------------- /dataset/code/conversion/convertAnnotationsToVersion11.m: -------------------------------------------------------------------------------- 1 | function convertAnnotationsToVersion11() 2 | % convertAnnotationsToVersion11() 3 | % 4 | % This script takes the unzipped contents of cocostuff-10k-v1.0.zip and 5 | % converts the annotations from version 1.0 to 1.1, where COCO has 91 thing 6 | % classes instead of 80. Afterwards the annotations1.1 folder needs to be 7 | % manually renamed to annotations. 8 | % 9 | % Copyright by Holger Caesar, 2017 10 | 11 | % Settings 12 | cocoStuffFolder = '/home/holger/Downloads/cocostuff-10k-v1.0'; 13 | inputFolder = fullfile(cocoStuffFolder, 'annotations'); 14 | outputFolder = fullfile(cocoStuffFolder, 'annotations1.1'); 15 | 16 | % Create output Folder 17 | if ~exist(outputFolder, 'dir') 18 | mkdir(outputFolder); 19 | end 20 | 21 | % Get file list 22 | [fileList, fileCount] = dirSubfolders(inputFolder, '.mat', true); 23 | 24 | for fileIdx = 1 : fileCount 25 | % Check if output file exists 26 | fileName = fileList{fileIdx}; 27 | filePath = fullfile(inputFolder, [fileName, '.mat']); 28 | outFilePath = fullfile(outputFolder, [fileName, '.mat']); 29 | if exist(outFilePath, 'file') 30 | fprintf('Skipping existing file: %s\n', outFilePath); 31 | continue; 32 | end 33 | 34 | % Load file 35 | fileStruct = load(filePath); 36 | 37 | % Update names 38 | assert(numel(fileStruct.names) == 172) 39 | thingNames = {'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'street sign', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'hat', 'backpack', 'umbrella', 'shoe', 'eyeglasses', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'plate', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'mirror-things', 'dining table', 'window', 'desk-things', 'toilet', 'door-things', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'blender', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush', 'hairbrush'}'; 40 | stuffNames = fileStruct.names(82:end)'; 41 | assert(isempty(intersect(thingNames, stuffNames))); 42 | namesNew = [thingNames; stuffNames]; % Unlabeled is not listed anymore and will take label 0 43 | 44 | % Create mapping from old to new 45 | mapping = [0; find(ismember(namesNew, fileStruct.names))]; 46 | 47 | % Map labels 48 | Snew = mapping(fileStruct.S); 49 | regionLabelsStuffNew = mapping(fileStruct.regionLabelsStuff); 50 | assert(isequal(namesNew(Snew(Snew > 0)), fileStruct.names(fileStruct.S(Snew > 0))')); 51 | 52 | % Save changes 53 | fileStruct.names = namesNew; 54 | fileStruct.S = Snew; 55 | fileStruct.regionLabelsStuff = regionLabelsStuffNew; 56 | save(outFilePath, '-struct', 'fileStruct'); 57 | end 58 | -------------------------------------------------------------------------------- /dataset/code/demo_cocoStuff.m: -------------------------------------------------------------------------------- 1 | % demo_cocoStuff() 2 | % 3 | % Shows the basic usage of the COCO-Stuff dataset. 4 | % 5 | % Use the instructions here to install the dataset: 6 | % https://github.com/nightrome/cocostuff 7 | % The scripts loads an image, the ground-truth annotations and captions. 8 | % Matlab's Vision Toolbox is required to display the captions. 9 | % 10 | % Copyright by Holger Caesar, 2017 11 | 12 | % Download the dataset (if it didn't already happen) 13 | downloadData(); 14 | 15 | % Get images 16 | datasetFolder = fullfile(cocoStuff_root(), 'dataset'); 17 | imageListPath = fullfile(datasetFolder, 'imageLists', 'all.txt'); 18 | imageList = textread(imageListPath, '%s'); %#ok 19 | 20 | % Load an image 21 | imageName = imageList{1}; 22 | imagePath = fullfile(datasetFolder, 'images', [imageName, '.jpg']); 23 | image = imread(imagePath); 24 | 25 | % Load annotations 26 | labelPath = fullfile(datasetFolder, 'annotations', [imageName, '.mat']); 27 | labelStruct = load(labelPath); 28 | labelMap = labelStruct.S; 29 | labelNames = labelStruct.names; 30 | captions = labelStruct.captions; 31 | regionMapStuff = labelStruct.regionMapStuff; 32 | regionLabelsStuff = labelStruct.regionLabelsStuff; 33 | 34 | % Replace stuff labels with class 'unlabeled' 35 | labelMapThings = labelMap; 36 | labelMapThings(labelMapThings > CocoStuffClasses.thingCount) = 0; 37 | 38 | % Replace thing labels with class 'unlabeled' 39 | labelMapStuff = labelMap; 40 | labelMapStuff(labelMapStuff <= CocoStuffClasses.thingCount) = 0; 41 | 42 | % Alternatively: Get stuff labels from superpixel labels 43 | % labelMapStuff = regionLabelsStuff(regionMapStuff); 44 | 45 | % Convert label maps to images 46 | cmap = cmapThingsStuff(); 47 | labelMapThingsIm = ind2rgb(uint16(labelMapThings), cmap); 48 | labelMapStuffIm = ind2rgb(uint16(labelMapStuff), cmap); 49 | labelMapIm = ind2rgb(uint16(labelMap), cmap); 50 | 51 | % Insert label names into label map image 52 | labelMapThingsIm = imageInsertBlobLabels(labelMapThingsIm, labelMapThings, labelNames); 53 | labelMapStuffIm = imageInsertBlobLabels(labelMapStuffIm, labelMapStuff, labelNames); 54 | labelMapIm = imageInsertBlobLabels(labelMapIm, labelMap, labelNames); 55 | 56 | % Open figure 57 | h1 = figure(1); 58 | clf; 59 | h1.Name = 'COCO-Stuff example annotations'; 60 | 61 | % Show image 62 | subplot(2, 2, 1); 63 | imshow(image); 64 | title('Image'); 65 | 66 | % Show thing labels 67 | subplot(2, 2, 2); 68 | imshow(labelMapThingsIm); 69 | title('Thing labels'); 70 | 71 | % Show stuff labels 72 | subplot(2, 2, 3); 73 | imshow(labelMapStuffIm); 74 | title('Stuff labels'); 75 | 76 | % Show stuff and thing labels 77 | subplot(2, 2, 4); 78 | imshow(labelMapIm); 79 | title('Thing+stuff labels'); 80 | 81 | % Show captions in another figure 82 | h2 = figure(2); 83 | clf; 84 | h2.Name = 'Image captions'; 85 | axis off; 86 | h2.Units = 'pixels'; 87 | h2.Position(3) = 800; 88 | h2.Position(4) = 200; 89 | captionsStr = strjoin(captions, '\n'); 90 | text(0.5, 0.6, captionsStr, 'HorizontalAlignment', 'center', 'FontSize', 15); 91 | -------------------------------------------------------------------------------- /dataset/code/downloadData.m: -------------------------------------------------------------------------------- 1 | function downloadData() 2 | % downloadData() 3 | % 4 | % Downloads the data files of the COCO-Stuff dataset. 5 | % This data includes annotations, images and imageLists. 6 | % 7 | % Copyright by Holger Caesar, 2017 8 | 9 | % Settings 10 | datasetFile = 'cocostuff-10k-v1.1.zip'; 11 | datasetBaseUrl = 'http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset'; 12 | datasetUrl = fullfile(datasetBaseUrl, datasetFile); 13 | rootFolder = cocoStuff_root(); 14 | datasetFolder = fullfile(rootFolder, 'dataset'); 15 | downloadFolder = fullfile(rootFolder, 'downloads'); 16 | datasetImageFolder = fullfile(datasetFolder, 'images'); 17 | datasetFile = fullfile(downloadFolder, datasetFile); 18 | 19 | % Create download folder if it does not exist 20 | if ~exist(downloadFolder, 'dir') 21 | mkdir(downloadFolder); 22 | end 23 | 24 | % Download the .zip file if it does not exist 25 | if ~exist(datasetFile, 'file') 26 | fprintf('Downloading COCO-Stuff files to: %s...\n', datasetFile); 27 | websave(datasetFile, datasetUrl); 28 | end 29 | 30 | % Unpack the zip file if it hasn't been unpacked already 31 | if ~exist(datasetImageFolder, 'dir') 32 | fprintf('Unpacking COCO-Stuff files to: %s...\n', datasetFolder); 33 | unzip(datasetFile, datasetFolder); 34 | end -------------------------------------------------------------------------------- /dataset/code/utils/flattenCellArray.m: -------------------------------------------------------------------------------- 1 | function[cellArray] = flattenCellArray(cellArray) 2 | % [cellArray] = flattenCellArray(cellArray) 3 | % 4 | % Flattens a cell array of cell arrays into a simple cell array. 5 | % 6 | % Copyright by Holger Caesar, 2014 7 | 8 | cellArray = cat(1, cellArray{:}); -------------------------------------------------------------------------------- /dataset/code/utils/imageInsertBlobLabels.m: -------------------------------------------------------------------------------- 1 | function[labelImage] = imageInsertBlobLabels(labelImage, labelMap, labelNames, varargin) 2 | % [labelImage] = imageInsertBlobLabels(labelImage, labelMap, labelNames, varargin) 3 | % 4 | % Uses insertText (from Vision Toolbox) to insert a cell of strings into 5 | % the image. Each label is positioned at the center of mass of its blob. 6 | % 7 | % Test case (should output a red 'c' on a white image): 8 | % labelImage = ones(256, 256, 3); 9 | % labelMap = zeros(256, 256); 10 | % labelMap(100, 100) = 3; 11 | % labelMap(101, 100) = 3; 12 | % labelNames = {'a', 'b', 'c'}; 13 | % outImage = imageInsertBlobLabels(labelImage, labelMap, labelNames, 'fontColor', [255, 0, 0], 'minComponentSize', 1); 14 | % imshow(outImage); 15 | % 16 | % Copyright by Holger Caesar, 2016 17 | 18 | % Parse input 19 | p = inputParser; 20 | addParameter(p, 'fontSize', 15); 21 | addParameter(p, 'fontWidth', 8); 22 | addParameter(p, 'fontColor', [26, 232, 222]); 23 | addParameter(p, 'minComponentSize', 100); % at least 2px 24 | addParameter(p, 'skipLabelInds', []); % labels that are ignored 25 | parse(p, varargin{:}); 26 | 27 | fontSize = p.Results.fontSize; 28 | fontWidth = p.Results.fontWidth; 29 | fontColor = p.Results.fontColor; 30 | minComponentSize = p.Results.minComponentSize; 31 | skipLabelInds = p.Results.skipLabelInds; 32 | 33 | % Check inputs 34 | assert(~isa(labelMap, 'gpuArray')); 35 | 36 | % Get unique list of labels 37 | labelList = double(unique(labelMap(:))); 38 | labelList(labelList == 0) = []; 39 | labelListCount = numel(labelList); 40 | if labelListCount == 0 41 | % Don't do anything if there are no labels 42 | return; 43 | end 44 | 45 | % Init 46 | pixelIdxLists = cell(labelListCount, 1); 47 | pixelIdxLabels = cell(labelListCount, 1); 48 | usedMap = false(size(labelMap)); 49 | 50 | % Get the indices for all blobs 51 | for labelMapUnIdx = 1 : labelListCount 52 | labelIdx = labelList(labelMapUnIdx); 53 | 54 | % Get connected components of that label 55 | components = bwconncomp(labelMap == labelIdx); 56 | pixelIdxList = components.PixelIdxList(:); 57 | sel = cellfun(@(x) numel(x), pixelIdxList) >= minComponentSize; 58 | pixelIdxList = pixelIdxList(sel); 59 | pixelIdxLabels{labelMapUnIdx} = ones(numel(pixelIdxList), 1) .* labelIdx; 60 | pixelIdxLists{labelMapUnIdx} = pixelIdxList; 61 | end 62 | 63 | % Convert cell to matrix 64 | pixelIdxLists = flattenCellArray(pixelIdxLists); 65 | pixelIdxLabels = cell2mat(pixelIdxLabels); 66 | assert(numel(pixelIdxLists) == numel(pixelIdxLabels)); 67 | compCount = numel(pixelIdxLists); 68 | 69 | % Sort by size 70 | [~, sortOrder] = sort(cellfun(@numel, pixelIdxLists), 'descend'); 71 | pixelIdxLists = pixelIdxLists(sortOrder); 72 | pixelIdxLabels = pixelIdxLabels(sortOrder); 73 | 74 | for compIdx = 1 : compCount 75 | labelIdx = pixelIdxLabels(compIdx); 76 | if ismember(labelIdx, skipLabelInds) 77 | continue; 78 | end 79 | labelName = labelNames{labelIdx}; 80 | 81 | % Get list of relevant pixels 82 | pixInds = pixelIdxLists{compIdx}; 83 | pixInds = setdiff(pixInds, find(usedMap(:))); 84 | if isempty(pixInds) 85 | continue; 86 | end 87 | 88 | % Compute center of mass 89 | [y, x] = ind2sub(size(labelMap), pixInds); 90 | yCenter = median(y); 91 | xCenter = median(x); 92 | 93 | height = fontSize; 94 | width = fontWidth * numel(labelName); 95 | yStart = max(1, round(yCenter - height / 2)); 96 | xStart = max(1, round(xCenter - width / 2)); 97 | yEnd = min(yStart + height - 1, size(usedMap, 1)); 98 | xEnd = min(xStart + width - 1, size(usedMap, 2)); 99 | 100 | if any(any(usedMap(yStart:yEnd, xStart:xEnd))) 101 | continue; 102 | end 103 | 104 | % Place label here 105 | labelImage = insertText(labelImage, [xStart, yStart], labelName, 'Font', 'LucidaSansDemiBold', 'FontSize', fontSize, 'TextColor', fontColor, 'BoxOpacity', 0.0, 'AnchorPoint', 'LeftTop'); 106 | 107 | % Mark those pixels as used 108 | usedMap(yStart:yEnd, xStart:xEnd) = true; 109 | end; -------------------------------------------------------------------------------- /dataset/code/utils/parentsToTrees.m: -------------------------------------------------------------------------------- 1 | function[nodes, categories, heights] = parentsToTrees(parents) 2 | % [nodes, categories, heights] = parentsToTrees(parents) 3 | % 4 | % Converts an [s x 2] dimensional cell of strings into a tree where the 5 | % first column indicates nodes and the second column indicates their parent 6 | % nodes. 7 | % 8 | % The output can be plotted using Matlab's treeplot function: 9 | % treeplot(nodes'); 10 | % [xs, ys] = treelayout(nodes); 11 | % 12 | % Copyright by Holger Caesar, 2017 13 | 14 | % Extract categories and make sure they are unique 15 | categories = parents(:, 1); 16 | assert(numel(categories) == numel(unique(categories))); 17 | 18 | % Create pointers to parent nodes 19 | categoryCount = size(categories, 1); 20 | nodes = nan(categoryCount, 1); 21 | heights = nan(categoryCount, 1); 22 | nodes(1) = 0; 23 | heights(1) = 0; 24 | for i = 2 : categoryCount 25 | childNode = find(strcmp(parents(:, 1), categories{i})); 26 | if isempty(childNode) 27 | error('Error: No parent node found for %s!', categories{i}); 28 | end 29 | parentNode = find(strcmp(categories, parents(childNode, 2))); 30 | assert(numel(parentNode) == 1, 'Error: Node %s has %d parent labels! Should be 1.', parents{childNode, 2}, numel(parentNode)); 31 | nodes(i) = parentNode; 32 | heights(i) = heights(parentNode) + 1; 33 | end -------------------------------------------------------------------------------- /dataset/code/utils/plotTree.m: -------------------------------------------------------------------------------- 1 | function plotTree(nodes, cats, subTree, figLabelHierarchy) 2 | % plotTree(nodes, cats, subTree, figLabelHierarchy) 3 | % 4 | % Plot a tree using the results of the CocoStuffClasses.getClassHierarchyX() functions. 5 | % 6 | % subTree: (optional) +-1 for left/right sub tree, 0 for the entire tree 7 | % figLabelHierarchy: (optional) handle to a figure 8 | % 9 | % Copyright by Holger Caesar, 2017 10 | 11 | % By default we plot the entire tree 12 | if ~exist('subTree', 'var') 13 | subTree = 0; 14 | end 15 | 16 | % Create figure if necessary 17 | if ~exist('figLabelHierarchy', 'var') 18 | figLabelHierarchy = figure(); 19 | end 20 | 21 | % Check that tree is binary at the top node 22 | firstChildren = find(nodes == 1); 23 | assert(numel(firstChildren) == 2); 24 | 25 | % Get only relevant nodes and cats 26 | if subTree ~= 0 27 | % Find descendents of the specified startTreeInd node 28 | sel = false(size(nodes)); 29 | if subTree == -1 30 | sel(firstChildren(1)) = true; 31 | elseif subTree == 1 32 | sel(firstChildren(2)) = true; 33 | end 34 | while true 35 | oldSel = sel; 36 | sel = sel | ismember(nodes, find(sel)); 37 | if isequal(sel, oldSel) 38 | break; 39 | end 40 | end 41 | nodes = nodes(sel); 42 | cats = cats(sel); 43 | 44 | % Remap nodes in 0:x range 45 | map = false(max(nodes), 1); 46 | map(unique(nodes)) = true; 47 | map = cumsum(map)-1; 48 | nodes = map(nodes); 49 | end 50 | 51 | % Plot them 52 | ax = axes('Parent', figLabelHierarchy, 'Units', 'Norm'); 53 | axis(ax, 'off'); 54 | treeplot(nodes'); 55 | moveLeft = 0.08; 56 | if subTree == -1 57 | set(ax, 'Position', [0-moveLeft, 0, 0.5+moveLeft, 1]); 58 | elseif subTree == 1 59 | set(ax, 'Position', [0.5-moveLeft, 0, 0.5+moveLeft, 1]); 60 | end 61 | [xs, ys] = treelayout(nodes); 62 | 63 | % Set appearance settings and show labels 64 | isLeaf = ys == min(ys); 65 | textInner = text(xs(~isLeaf) + 0.01, ys(~isLeaf) - 0.025, cats(~isLeaf), 'VerticalAlignment', 'Bottom', 'HorizontalAlignment', 'right'); %#ok 66 | textLeaf = text(xs( isLeaf) - 0.01, ys( isLeaf) - 0.02, cats( isLeaf), 'VerticalAlignment', 'Bottom', 'HorizontalAlignment', 'left'); %#ok 67 | set(ax, 'XTick', [], 'YTick', [], 'Units', 'Normalized'); 68 | ax.XLabel.String = ''; 69 | axis off; 70 | 71 | % Rotate view 72 | camroll(90); -------------------------------------------------------------------------------- /dataset/code/utils/readLinesToCell.m: -------------------------------------------------------------------------------- 1 | function[fileContent] = readLinesToCell(filePath, splitCols) 2 | % [fileContent] = readLinesToCell(filePath, [splitCols]) 3 | % 4 | % Read a text file and convert to cell. 5 | % Each row represents one entry. 6 | % If splitOnComma is true, the file will be treated like a csv with element 7 | % separator ',' and line separator '\n'. 8 | % 9 | % Copyright by Holger Caesar, 2014 10 | 11 | % Default arguments 12 | if ~exist('splitCols', 'var') 13 | splitCols = false; 14 | end 15 | rowDelim = '\n'; 16 | colDelim = ' '; 17 | 18 | % Check if file exists 19 | assert(exist(filePath, 'file') ~= 0, 'Error: File does not exist: %s', filePath); 20 | 21 | % Read input file 22 | fid = fopen(filePath, 'r'); 23 | fileContent = textscan(fid, '%s', 'Delimiter', {rowDelim}); 24 | fclose(fid); 25 | 26 | % Unpack 27 | fileContent = fileContent{1}; 28 | 29 | % Remove leading and trailing spaces 30 | fileContent = strtrim(fileContent); 31 | 32 | % Split further 33 | if splitCols 34 | % Split each line 35 | fileContent = cellfun(@(x) strsplit(x, colDelim), fileContent, 'UniformOutput', false); 36 | 37 | % Rearrange to correct width and height and convert to number 38 | fileContent = str2double(cat(1, fileContent{:})); 39 | end -------------------------------------------------------------------------------- /models/deeplab/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile.config 2 | modifypath.sh 3 | common.cuh 4 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/.gitignore: -------------------------------------------------------------------------------- 1 | /features/ 2 | /log/ 3 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/config/deeplabv2_resnet101/.gitignore: -------------------------------------------------------------------------------- 1 | test.prototxt.bak 2 | solver_train.prototxt 3 | train_train.prototxt 4 | test_val.prototxt 5 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/config/deeplabv2_resnet101/solver.prototxt: -------------------------------------------------------------------------------- 1 | train_net: "${EXP}/config/${NET_ID}/train_${TRAIN_SET}.prototxt" 2 | 3 | iter_size: 10 4 | lr_policy: "poly" 5 | power: 0.9 6 | base_lr: 2.5e-4 7 | 8 | average_loss: 20 9 | display: 20 10 | max_iter: 20000 11 | momentum: 0.9 12 | weight_decay: 0.0005 13 | 14 | snapshot: 10000 15 | snapshot_prefix: "${EXP}/model/${NET_ID}/train" 16 | solver_mode: GPU -------------------------------------------------------------------------------- /models/deeplab/cocostuff/config/deeplabv2_vgg16/.gitignore: -------------------------------------------------------------------------------- 1 | solver_train.prototxt 2 | test_val.prototxt 3 | train_train.prototxt 4 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/config/deeplabv2_vgg16/solver.prototxt: -------------------------------------------------------------------------------- 1 | train_net: "${EXP}/config/${NET_ID}/train_${TRAIN_SET}.prototxt" 2 | 3 | lr_policy: "poly" 4 | power: 0.9 5 | base_lr: 1e-3 6 | 7 | average_loss: 20 8 | display: 20 9 | max_iter: 20000 10 | momentum: 0.9 11 | weight_decay: 0.0005 12 | 13 | snapshot: 10000 14 | snapshot_prefix: "${EXP}/model/${NET_ID}/train" 15 | solver_mode: GPU 16 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/config/deeplabv2_vgg16/test.prototxt: -------------------------------------------------------------------------------- 1 | # VGG 16-layer network convolutional finetuning 2 | # Network modified to have smaller receptive field (128 pixels) 3 | # and smaller stride (8 pixels) when run in convolutional mode. 4 | # 5 | # In this model we also change max pooling size in the first 4 layers 6 | # from 2 to 3 while retaining stride = 2 7 | # which makes it easier to exactly align responses at different layers. 8 | # 9 | 10 | name: "${NET_ID}" 11 | 12 | layer { 13 | name: "data" 14 | type: "ImageSegData" 15 | top: "data" 16 | top: "label" 17 | top: "data_dim" 18 | include { 19 | phase: TEST 20 | } 21 | transform_param { 22 | mirror: false 23 | crop_size: 641 24 | mean_value: 104.008 25 | mean_value: 116.669 26 | mean_value: 122.675 27 | } 28 | image_data_param { 29 | root_folder: "${DATA_ROOT}" 30 | source: "${EXP}/list/${TEST_SET}.txt" 31 | batch_size: 1 32 | label_type: NONE 33 | } 34 | } 35 | 36 | ###################### DeepLab ########################## 37 | layer { 38 | name: "conv1_1" 39 | type: "Convolution" 40 | bottom: "data" 41 | top: "conv1_1" 42 | convolution_param { 43 | num_output: 64 44 | pad: 1 45 | kernel_size: 3 46 | } 47 | } 48 | layer { 49 | name: "relu1_1" 50 | type: "ReLU" 51 | bottom: "conv1_1" 52 | top: "conv1_1" 53 | } 54 | layer { 55 | name: "conv1_2" 56 | type: "Convolution" 57 | bottom: "conv1_1" 58 | top: "conv1_2" 59 | convolution_param { 60 | num_output: 64 61 | pad: 1 62 | kernel_size: 3 63 | } 64 | } 65 | layer { 66 | name: "relu1_2" 67 | type: "ReLU" 68 | bottom: "conv1_2" 69 | top: "conv1_2" 70 | } 71 | layer { 72 | name: "pool1" 73 | type: "Pooling" 74 | bottom: "conv1_2" 75 | top: "pool1" 76 | pooling_param { 77 | pool: MAX 78 | kernel_size: 3 79 | stride: 2 80 | pad: 1 81 | } 82 | } 83 | layer { 84 | name: "conv2_1" 85 | type: "Convolution" 86 | bottom: "pool1" 87 | top: "conv2_1" 88 | convolution_param { 89 | num_output: 128 90 | pad: 1 91 | kernel_size: 3 92 | } 93 | } 94 | layer { 95 | name: "relu2_1" 96 | type: "ReLU" 97 | bottom: "conv2_1" 98 | top: "conv2_1" 99 | } 100 | layer { 101 | name: "conv2_2" 102 | type: "Convolution" 103 | bottom: "conv2_1" 104 | top: "conv2_2" 105 | convolution_param { 106 | num_output: 128 107 | pad: 1 108 | kernel_size: 3 109 | } 110 | } 111 | layer { 112 | name: "relu2_2" 113 | type: "ReLU" 114 | bottom: "conv2_2" 115 | top: "conv2_2" 116 | } 117 | layer { 118 | name: "pool2" 119 | type: "Pooling" 120 | bottom: "conv2_2" 121 | top: "pool2" 122 | pooling_param { 123 | pool: MAX 124 | kernel_size: 3 125 | stride: 2 126 | pad: 1 127 | } 128 | } 129 | layer { 130 | name: "conv3_1" 131 | type: "Convolution" 132 | bottom: "pool2" 133 | top: "conv3_1" 134 | convolution_param { 135 | num_output: 256 136 | pad: 1 137 | kernel_size: 3 138 | } 139 | } 140 | layer { 141 | name: "relu3_1" 142 | type: "ReLU" 143 | bottom: "conv3_1" 144 | top: "conv3_1" 145 | } 146 | layer { 147 | name: "conv3_2" 148 | type: "Convolution" 149 | bottom: "conv3_1" 150 | top: "conv3_2" 151 | convolution_param { 152 | num_output: 256 153 | pad: 1 154 | kernel_size: 3 155 | } 156 | } 157 | layer { 158 | name: "relu3_2" 159 | type: "ReLU" 160 | bottom: "conv3_2" 161 | top: "conv3_2" 162 | } 163 | layer { 164 | name: "conv3_3" 165 | type: "Convolution" 166 | bottom: "conv3_2" 167 | top: "conv3_3" 168 | convolution_param { 169 | num_output: 256 170 | pad: 1 171 | kernel_size: 3 172 | } 173 | } 174 | layer { 175 | name: "relu3_3" 176 | type: "ReLU" 177 | bottom: "conv3_3" 178 | top: "conv3_3" 179 | } 180 | layer { 181 | name: "pool3" 182 | type: "Pooling" 183 | bottom: "conv3_3" 184 | top: "pool3" 185 | pooling_param { 186 | pool: MAX 187 | kernel_size: 3 188 | stride: 2 189 | pad: 1 190 | } 191 | } 192 | layer { 193 | name: "conv4_1" 194 | type: "Convolution" 195 | bottom: "pool3" 196 | top: "conv4_1" 197 | convolution_param { 198 | num_output: 512 199 | pad: 1 200 | kernel_size: 3 201 | } 202 | } 203 | layer { 204 | name: "relu4_1" 205 | type: "ReLU" 206 | bottom: "conv4_1" 207 | top: "conv4_1" 208 | } 209 | layer { 210 | name: "conv4_2" 211 | type: "Convolution" 212 | bottom: "conv4_1" 213 | top: "conv4_2" 214 | convolution_param { 215 | num_output: 512 216 | pad: 1 217 | kernel_size: 3 218 | } 219 | } 220 | layer { 221 | name: "relu4_2" 222 | type: "ReLU" 223 | bottom: "conv4_2" 224 | top: "conv4_2" 225 | } 226 | layer { 227 | name: "conv4_3" 228 | type: "Convolution" 229 | bottom: "conv4_2" 230 | top: "conv4_3" 231 | convolution_param { 232 | num_output: 512 233 | pad: 1 234 | kernel_size: 3 235 | } 236 | } 237 | layer { 238 | name: "relu4_3" 239 | type: "ReLU" 240 | bottom: "conv4_3" 241 | top: "conv4_3" 242 | } 243 | layer { 244 | bottom: "conv4_3" 245 | top: "pool4" 246 | name: "pool4" 247 | type: "Pooling" 248 | pooling_param { 249 | pool: MAX 250 | kernel_size: 3 251 | pad: 1 252 | stride: 1 253 | } 254 | } 255 | layer { 256 | name: "conv5_1" 257 | type: "Convolution" 258 | bottom: "pool4" 259 | top: "conv5_1" 260 | convolution_param { 261 | num_output: 512 262 | pad: 2 263 | kernel_size: 3 264 | dilation: 2 265 | } 266 | } 267 | layer { 268 | name: "relu5_1" 269 | type: "ReLU" 270 | bottom: "conv5_1" 271 | top: "conv5_1" 272 | } 273 | layer { 274 | name: "conv5_2" 275 | type: "Convolution" 276 | bottom: "conv5_1" 277 | top: "conv5_2" 278 | convolution_param { 279 | num_output: 512 280 | pad: 2 281 | kernel_size: 3 282 | dilation: 2 283 | } 284 | } 285 | layer { 286 | name: "relu5_2" 287 | type: "ReLU" 288 | bottom: "conv5_2" 289 | top: "conv5_2" 290 | } 291 | layer { 292 | name: "conv5_3" 293 | type: "Convolution" 294 | bottom: "conv5_2" 295 | top: "conv5_3" 296 | convolution_param { 297 | num_output: 512 298 | pad: 2 299 | kernel_size: 3 300 | dilation: 2 301 | } 302 | } 303 | layer { 304 | name: "relu5_3" 305 | type: "ReLU" 306 | bottom: "conv5_3" 307 | top: "conv5_3" 308 | } 309 | layer { 310 | bottom: "conv5_3" 311 | top: "pool5" 312 | name: "pool5" 313 | type: "Pooling" 314 | pooling_param { 315 | pool: MAX 316 | kernel_size: 3 317 | stride: 1 318 | pad: 1 319 | } 320 | } 321 | 322 | ### hole = 6 323 | layer { 324 | name: "fc6_1" 325 | type: "Convolution" 326 | bottom: "pool5" 327 | top: "fc6_1" 328 | convolution_param { 329 | num_output: 1024 330 | pad: 6 331 | kernel_size: 3 332 | dilation: 6 333 | } 334 | } 335 | layer { 336 | name: "relu6_1" 337 | type: "ReLU" 338 | bottom: "fc6_1" 339 | top: "fc6_1" 340 | } 341 | layer { 342 | name: "drop6_1" 343 | type: "Dropout" 344 | bottom: "fc6_1" 345 | top: "fc6_1" 346 | dropout_param { 347 | dropout_ratio: 0.5 348 | } 349 | } 350 | layer { 351 | name: "fc7_1" 352 | type: "Convolution" 353 | bottom: "fc6_1" 354 | top: "fc7_1" 355 | convolution_param { 356 | num_output: 1024 357 | kernel_size: 1 358 | } 359 | } 360 | layer { 361 | name: "relu7_1" 362 | type: "ReLU" 363 | bottom: "fc7_1" 364 | top: "fc7_1" 365 | } 366 | layer { 367 | name: "drop7_1" 368 | type: "Dropout" 369 | bottom: "fc7_1" 370 | top: "fc7_1" 371 | dropout_param { 372 | dropout_ratio: 0.5 373 | } 374 | } 375 | layer { 376 | name: "fc8_${EXP}_1" 377 | type: "Convolution" 378 | bottom: "fc7_1" 379 | top: "fc8_${EXP}_1" 380 | convolution_param { 381 | num_output: ${NUM_LABELS} 382 | kernel_size: 1 383 | } 384 | } 385 | 386 | ### hole = 12 387 | layer { 388 | name: "fc6_2" 389 | type: "Convolution" 390 | bottom: "pool5" 391 | top: "fc6_2" 392 | convolution_param { 393 | num_output: 1024 394 | pad: 12 395 | kernel_size: 3 396 | dilation: 12 397 | } 398 | } 399 | layer { 400 | name: "relu6_2" 401 | type: "ReLU" 402 | bottom: "fc6_2" 403 | top: "fc6_2" 404 | } 405 | layer { 406 | name: "drop6_2" 407 | type: "Dropout" 408 | bottom: "fc6_2" 409 | top: "fc6_2" 410 | dropout_param { 411 | dropout_ratio: 0.5 412 | } 413 | } 414 | layer { 415 | name: "fc7_2" 416 | type: "Convolution" 417 | bottom: "fc6_2" 418 | top: "fc7_2" 419 | convolution_param { 420 | num_output: 1024 421 | kernel_size: 1 422 | } 423 | } 424 | layer { 425 | name: "relu7_2" 426 | type: "ReLU" 427 | bottom: "fc7_2" 428 | top: "fc7_2" 429 | } 430 | layer { 431 | name: "drop7_2" 432 | type: "Dropout" 433 | bottom: "fc7_2" 434 | top: "fc7_2" 435 | dropout_param { 436 | dropout_ratio: 0.5 437 | } 438 | } 439 | layer { 440 | name: "fc8_${EXP}_2" 441 | type: "Convolution" 442 | bottom: "fc7_2" 443 | top: "fc8_${EXP}_2" 444 | convolution_param { 445 | num_output: ${NUM_LABELS} 446 | kernel_size: 1 447 | } 448 | } 449 | 450 | ### hole = 18 451 | layer { 452 | name: "fc6_3" 453 | type: "Convolution" 454 | bottom: "pool5" 455 | top: "fc6_3" 456 | convolution_param { 457 | num_output: 1024 458 | pad: 18 459 | kernel_size: 3 460 | dilation: 18 461 | } 462 | } 463 | layer { 464 | name: "relu6_3" 465 | type: "ReLU" 466 | bottom: "fc6_3" 467 | top: "fc6_3" 468 | } 469 | layer { 470 | name: "drop6_3" 471 | type: "Dropout" 472 | bottom: "fc6_3" 473 | top: "fc6_3" 474 | dropout_param { 475 | dropout_ratio: 0.5 476 | } 477 | } 478 | layer { 479 | name: "fc7_3" 480 | type: "Convolution" 481 | bottom: "fc6_3" 482 | top: "fc7_3" 483 | convolution_param { 484 | num_output: 1024 485 | kernel_size: 1 486 | } 487 | } 488 | layer { 489 | name: "relu7_3" 490 | type: "ReLU" 491 | bottom: "fc7_3" 492 | top: "fc7_3" 493 | } 494 | layer { 495 | name: "drop7_3" 496 | type: "Dropout" 497 | bottom: "fc7_3" 498 | top: "fc7_3" 499 | dropout_param { 500 | dropout_ratio: 0.5 501 | } 502 | } 503 | layer { 504 | name: "fc8_${EXP}_3" 505 | type: "Convolution" 506 | bottom: "fc7_3" 507 | top: "fc8_${EXP}_3" 508 | convolution_param { 509 | num_output: ${NUM_LABELS} 510 | kernel_size: 1 511 | } 512 | } 513 | 514 | ### hole = 24 515 | layer { 516 | name: "fc6_4" 517 | type: "Convolution" 518 | bottom: "pool5" 519 | top: "fc6_4" 520 | convolution_param { 521 | num_output: 1024 522 | pad: 24 523 | kernel_size: 3 524 | dilation: 24 525 | } 526 | } 527 | layer { 528 | name: "relu6_4" 529 | type: "ReLU" 530 | bottom: "fc6_4" 531 | top: "fc6_4" 532 | } 533 | layer { 534 | name: "drop6_4" 535 | type: "Dropout" 536 | bottom: "fc6_4" 537 | top: "fc6_4" 538 | dropout_param { 539 | dropout_ratio: 0.5 540 | } 541 | } 542 | layer { 543 | name: "fc7_4" 544 | type: "Convolution" 545 | bottom: "fc6_4" 546 | top: "fc7_4" 547 | convolution_param { 548 | num_output: 1024 549 | kernel_size: 1 550 | } 551 | } 552 | layer { 553 | name: "relu7_4" 554 | type: "ReLU" 555 | bottom: "fc7_4" 556 | top: "fc7_4" 557 | } 558 | layer { 559 | name: "drop7_4" 560 | type: "Dropout" 561 | bottom: "fc7_4" 562 | top: "fc7_4" 563 | dropout_param { 564 | dropout_ratio: 0.5 565 | } 566 | } 567 | layer { 568 | name: "fc8_${EXP}_4" 569 | type: "Convolution" 570 | bottom: "fc7_4" 571 | top: "fc8_${EXP}_4" 572 | convolution_param { 573 | num_output: ${NUM_LABELS} 574 | kernel_size: 1 575 | } 576 | } 577 | 578 | ### SUM the four branches 579 | layer { 580 | bottom: "fc8_${EXP}_1" 581 | bottom: "fc8_${EXP}_2" 582 | bottom: "fc8_${EXP}_3" 583 | bottom: "fc8_${EXP}_4" 584 | top: "fc8_${EXP}" 585 | name: "fc8_${EXP}" 586 | type: "Eltwise" 587 | eltwise_param { 588 | operation: SUM 589 | } 590 | } 591 | ## original resolution 592 | layer { 593 | name: "fc8_interp" 594 | type: "Interp" 595 | bottom: "fc8_${EXP}" 596 | top: "fc8_interp" 597 | interp_param { 598 | zoom_factor: 8 599 | } 600 | } 601 | 602 | layer { 603 | bottom: "fc8_interp" 604 | top: "fc8_interp_argmax" 605 | name: "fc8_interp_argmax" 606 | type: "ArgMax" 607 | argmax_param { 608 | axis: 1 609 | } 610 | } 611 | 612 | layer { 613 | name: "fc8_mat" 614 | type: "MatWrite" 615 | bottom: "fc8_interp_argmax" 616 | # bottom: "fc8_interp" 617 | include { 618 | phase: TEST 619 | } 620 | mat_write_param { 621 | prefix: "${FEATURE_DIR}/${TEST_SET}/fc8/" 622 | source: "${EXP}/list/${TEST_SET}_id.txt" 623 | strip: 0 624 | period: 1 625 | } 626 | } 627 | layer { 628 | name: "silence" 629 | type: "Silence" 630 | bottom: "label" 631 | bottom: "data_dim" 632 | } 633 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/config/deeplabv2_vgg16/train.prototxt: -------------------------------------------------------------------------------- 1 | # VGG 16-layer network convolutional finetuning 2 | # Network modified to have smaller receptive field (128 pixels) 3 | # nand smaller stride (8 pixels) when run in convolutional mode. 4 | # 5 | # In this model we also change max pooling size in the first 4 layers 6 | # from 2 to 3 while retaining stride = 2 7 | # which makes it easier to exactly align responses at different layers. 8 | # 9 | # For alignment to work, we set (we choose 32x so as to be able to evaluate 10 | # the model for all different subsampling sizes): 11 | # (1) input dimension equal to 12 | # $n = 32 * k - 31$, e.g., 321 (for k = 11) 13 | # Dimension after pooling w. subsampling: 14 | # (16 * k - 15); (8 * k - 7); (4 * k - 3); (2 * k - 1); (k). 15 | # For k = 11, these translate to 16 | # 161; 81; 41; 21; 11 17 | # 18 | 19 | name: "${NET_ID}" 20 | 21 | layer { 22 | name: "data" 23 | type: "ImageSegData" 24 | top: "data" 25 | top: "label" 26 | top: "data_dim" 27 | include { 28 | phase: TRAIN 29 | } 30 | transform_param { 31 | mirror: true 32 | crop_size: 321 33 | mean_value: 104.008 34 | mean_value: 116.669 35 | mean_value: 122.675 36 | } 37 | image_data_param { 38 | root_folder: "${DATA_ROOT}" 39 | source: "${EXP}/list/${TRAIN_SET}.txt" 40 | batch_size: 10 41 | shuffle: true 42 | label_type: PIXEL 43 | } 44 | } 45 | 46 | ###################### DeepLab #################### 47 | layer { 48 | name: "conv1_1" 49 | type: "Convolution" 50 | bottom: "data" 51 | top: "conv1_1" 52 | param { 53 | lr_mult: 1 54 | decay_mult: 1 55 | } 56 | param { 57 | lr_mult: 2 58 | decay_mult: 0 59 | } 60 | convolution_param { 61 | num_output: 64 62 | pad: 1 63 | kernel_size: 3 64 | } 65 | } 66 | layer { 67 | name: "relu1_1" 68 | type: "ReLU" 69 | bottom: "conv1_1" 70 | top: "conv1_1" 71 | } 72 | layer { 73 | name: "conv1_2" 74 | type: "Convolution" 75 | bottom: "conv1_1" 76 | top: "conv1_2" 77 | param { 78 | lr_mult: 1 79 | decay_mult: 1 80 | } 81 | param { 82 | lr_mult: 2 83 | decay_mult: 0 84 | } 85 | convolution_param { 86 | num_output: 64 87 | pad: 1 88 | kernel_size: 3 89 | } 90 | } 91 | layer { 92 | name: "relu1_2" 93 | type: "ReLU" 94 | bottom: "conv1_2" 95 | top: "conv1_2" 96 | } 97 | layer { 98 | name: "pool1" 99 | type: "Pooling" 100 | bottom: "conv1_2" 101 | top: "pool1" 102 | pooling_param { 103 | pool: MAX 104 | kernel_size: 3 105 | stride: 2 106 | pad: 1 107 | } 108 | } 109 | layer { 110 | name: "conv2_1" 111 | type: "Convolution" 112 | bottom: "pool1" 113 | top: "conv2_1" 114 | param { 115 | lr_mult: 1 116 | decay_mult: 1 117 | } 118 | param { 119 | lr_mult: 2 120 | decay_mult: 0 121 | } 122 | convolution_param { 123 | num_output: 128 124 | pad: 1 125 | kernel_size: 3 126 | } 127 | } 128 | layer { 129 | name: "relu2_1" 130 | type: "ReLU" 131 | bottom: "conv2_1" 132 | top: "conv2_1" 133 | } 134 | layer { 135 | name: "conv2_2" 136 | type: "Convolution" 137 | bottom: "conv2_1" 138 | top: "conv2_2" 139 | param { 140 | lr_mult: 1 141 | decay_mult: 1 142 | } 143 | param { 144 | lr_mult: 2 145 | decay_mult: 0 146 | } 147 | convolution_param { 148 | num_output: 128 149 | pad: 1 150 | kernel_size: 3 151 | } 152 | } 153 | layer { 154 | name: "relu2_2" 155 | type: "ReLU" 156 | bottom: "conv2_2" 157 | top: "conv2_2" 158 | } 159 | layer { 160 | name: "pool2" 161 | type: "Pooling" 162 | bottom: "conv2_2" 163 | top: "pool2" 164 | pooling_param { 165 | pool: MAX 166 | kernel_size: 3 167 | stride: 2 168 | pad: 1 169 | } 170 | } 171 | layer { 172 | name: "conv3_1" 173 | type: "Convolution" 174 | bottom: "pool2" 175 | top: "conv3_1" 176 | param { 177 | lr_mult: 1 178 | decay_mult: 1 179 | } 180 | param { 181 | lr_mult: 2 182 | decay_mult: 0 183 | } 184 | convolution_param { 185 | num_output: 256 186 | pad: 1 187 | kernel_size: 3 188 | } 189 | } 190 | layer { 191 | name: "relu3_1" 192 | type: "ReLU" 193 | bottom: "conv3_1" 194 | top: "conv3_1" 195 | } 196 | layer { 197 | name: "conv3_2" 198 | type: "Convolution" 199 | bottom: "conv3_1" 200 | top: "conv3_2" 201 | param { 202 | lr_mult: 1 203 | decay_mult: 1 204 | } 205 | param { 206 | lr_mult: 2 207 | decay_mult: 0 208 | } 209 | convolution_param { 210 | num_output: 256 211 | pad: 1 212 | kernel_size: 3 213 | } 214 | } 215 | layer { 216 | name: "relu3_2" 217 | type: "ReLU" 218 | bottom: "conv3_2" 219 | top: "conv3_2" 220 | } 221 | layer { 222 | name: "conv3_3" 223 | type: "Convolution" 224 | bottom: "conv3_2" 225 | top: "conv3_3" 226 | param { 227 | lr_mult: 1 228 | decay_mult: 1 229 | } 230 | param { 231 | lr_mult: 2 232 | decay_mult: 0 233 | } 234 | convolution_param { 235 | num_output: 256 236 | pad: 1 237 | kernel_size: 3 238 | } 239 | } 240 | layer { 241 | name: "relu3_3" 242 | type: "ReLU" 243 | bottom: "conv3_3" 244 | top: "conv3_3" 245 | } 246 | layer { 247 | name: "pool3" 248 | type: "Pooling" 249 | bottom: "conv3_3" 250 | top: "pool3" 251 | pooling_param { 252 | pool: MAX 253 | kernel_size: 3 254 | stride: 2 255 | pad: 1 256 | } 257 | } 258 | layer { 259 | name: "conv4_1" 260 | type: "Convolution" 261 | bottom: "pool3" 262 | top: "conv4_1" 263 | param { 264 | lr_mult: 1 265 | decay_mult: 1 266 | } 267 | param { 268 | lr_mult: 2 269 | decay_mult: 0 270 | } 271 | convolution_param { 272 | num_output: 512 273 | pad: 1 274 | kernel_size: 3 275 | } 276 | } 277 | layer { 278 | name: "relu4_1" 279 | type: "ReLU" 280 | bottom: "conv4_1" 281 | top: "conv4_1" 282 | } 283 | layer { 284 | name: "conv4_2" 285 | type: "Convolution" 286 | bottom: "conv4_1" 287 | top: "conv4_2" 288 | param { 289 | lr_mult: 1 290 | decay_mult: 1 291 | } 292 | param { 293 | lr_mult: 2 294 | decay_mult: 0 295 | } 296 | convolution_param { 297 | num_output: 512 298 | pad: 1 299 | kernel_size: 3 300 | } 301 | } 302 | layer { 303 | name: "relu4_2" 304 | type: "ReLU" 305 | bottom: "conv4_2" 306 | top: "conv4_2" 307 | } 308 | layer { 309 | name: "conv4_3" 310 | type: "Convolution" 311 | bottom: "conv4_2" 312 | top: "conv4_3" 313 | param { 314 | lr_mult: 1 315 | decay_mult: 1 316 | } 317 | param { 318 | lr_mult: 2 319 | decay_mult: 0 320 | } 321 | convolution_param { 322 | num_output: 512 323 | pad: 1 324 | kernel_size: 3 325 | } 326 | } 327 | layer { 328 | name: "relu4_3" 329 | type: "ReLU" 330 | bottom: "conv4_3" 331 | top: "conv4_3" 332 | } 333 | layer { 334 | bottom: "conv4_3" 335 | top: "pool4" 336 | name: "pool4" 337 | type: "Pooling" 338 | pooling_param { 339 | pool: MAX 340 | kernel_size: 3 341 | pad: 1 342 | stride: 1 343 | } 344 | } 345 | layer { 346 | name: "conv5_1" 347 | type: "Convolution" 348 | bottom: "pool4" 349 | top: "conv5_1" 350 | param { 351 | lr_mult: 1 352 | decay_mult: 1 353 | } 354 | param { 355 | lr_mult: 2 356 | decay_mult: 0 357 | } 358 | convolution_param { 359 | num_output: 512 360 | pad: 2 361 | kernel_size: 3 362 | dilation: 2 363 | } 364 | } 365 | layer { 366 | name: "relu5_1" 367 | type: "ReLU" 368 | bottom: "conv5_1" 369 | top: "conv5_1" 370 | } 371 | layer { 372 | name: "conv5_2" 373 | type: "Convolution" 374 | bottom: "conv5_1" 375 | top: "conv5_2" 376 | param { 377 | lr_mult: 1 378 | decay_mult: 1 379 | } 380 | param { 381 | lr_mult: 2 382 | decay_mult: 0 383 | } 384 | convolution_param { 385 | num_output: 512 386 | pad: 2 387 | kernel_size: 3 388 | dilation: 2 389 | } 390 | } 391 | layer { 392 | name: "relu5_2" 393 | type: "ReLU" 394 | bottom: "conv5_2" 395 | top: "conv5_2" 396 | } 397 | layer { 398 | name: "conv5_3" 399 | type: "Convolution" 400 | bottom: "conv5_2" 401 | top: "conv5_3" 402 | param { 403 | lr_mult: 1 404 | decay_mult: 1 405 | } 406 | param { 407 | lr_mult: 2 408 | decay_mult: 0 409 | } 410 | convolution_param { 411 | num_output: 512 412 | pad: 2 413 | kernel_size: 3 414 | dilation: 2 415 | } 416 | } 417 | layer { 418 | name: "relu5_3" 419 | type: "ReLU" 420 | bottom: "conv5_3" 421 | top: "conv5_3" 422 | } 423 | 424 | layer { 425 | bottom: "conv5_3" 426 | top: "pool5" 427 | name: "pool5" 428 | type: "Pooling" 429 | pooling_param { 430 | pool: MAX 431 | kernel_size: 3 432 | stride: 1 433 | pad: 1 434 | } 435 | } 436 | 437 | ### hole = 6 438 | layer { 439 | name: "fc6_1" 440 | type: "Convolution" 441 | bottom: "pool5" 442 | top: "fc6_1" 443 | param { 444 | lr_mult: 1 445 | decay_mult: 1 446 | } 447 | param { 448 | lr_mult: 2 449 | decay_mult: 0 450 | } 451 | convolution_param { 452 | num_output: 1024 453 | pad: 6 454 | kernel_size: 3 455 | dilation: 6 456 | } 457 | } 458 | layer { 459 | name: "relu6_1" 460 | type: "ReLU" 461 | bottom: "fc6_1" 462 | top: "fc6_1" 463 | } 464 | layer { 465 | name: "drop6_1" 466 | type: "Dropout" 467 | bottom: "fc6_1" 468 | top: "fc6_1" 469 | dropout_param { 470 | dropout_ratio: 0.5 471 | } 472 | } 473 | layer { 474 | name: "fc7_1" 475 | type: "Convolution" 476 | bottom: "fc6_1" 477 | top: "fc7_1" 478 | param { 479 | lr_mult: 1 480 | decay_mult: 1 481 | } 482 | param { 483 | lr_mult: 2 484 | decay_mult: 0 485 | } 486 | convolution_param { 487 | num_output: 1024 488 | kernel_size: 1 489 | } 490 | } 491 | layer { 492 | name: "relu7_1" 493 | type: "ReLU" 494 | bottom: "fc7_1" 495 | top: "fc7_1" 496 | } 497 | layer { 498 | name: "drop7_1" 499 | type: "Dropout" 500 | bottom: "fc7_1" 501 | top: "fc7_1" 502 | dropout_param { 503 | dropout_ratio: 0.5 504 | } 505 | } 506 | layer { 507 | name: "fc8_${EXP}_1" 508 | type: "Convolution" 509 | bottom: "fc7_1" 510 | top: "fc8_${EXP}_1" 511 | param { 512 | lr_mult: 10 513 | decay_mult: 1 514 | } 515 | param { 516 | lr_mult: 20 517 | decay_mult: 0 518 | } 519 | convolution_param { 520 | num_output: ${NUM_LABELS} 521 | kernel_size: 1 522 | weight_filler { 523 | type: "gaussian" 524 | std: 0.01 525 | } 526 | bias_filler { 527 | type: "constant" 528 | value: 0 529 | } 530 | } 531 | } 532 | 533 | ### hole = 12 534 | layer { 535 | name: "fc6_2" 536 | type: "Convolution" 537 | bottom: "pool5" 538 | top: "fc6_2" 539 | param { 540 | lr_mult: 1 541 | decay_mult: 1 542 | } 543 | param { 544 | lr_mult: 2 545 | decay_mult: 0 546 | } 547 | convolution_param { 548 | num_output: 1024 549 | pad: 12 550 | kernel_size: 3 551 | dilation: 12 552 | } 553 | } 554 | layer { 555 | name: "relu6_2" 556 | type: "ReLU" 557 | bottom: "fc6_2" 558 | top: "fc6_2" 559 | } 560 | layer { 561 | name: "drop6_2" 562 | type: "Dropout" 563 | bottom: "fc6_2" 564 | top: "fc6_2" 565 | dropout_param { 566 | dropout_ratio: 0.5 567 | } 568 | } 569 | layer { 570 | name: "fc7_2" 571 | type: "Convolution" 572 | bottom: "fc6_2" 573 | top: "fc7_2" 574 | param { 575 | lr_mult: 1 576 | decay_mult: 1 577 | } 578 | param { 579 | lr_mult: 2 580 | decay_mult: 0 581 | } 582 | convolution_param { 583 | num_output: 1024 584 | kernel_size: 1 585 | } 586 | } 587 | layer { 588 | name: "relu7_2" 589 | type: "ReLU" 590 | bottom: "fc7_2" 591 | top: "fc7_2" 592 | } 593 | layer { 594 | name: "drop7_2" 595 | type: "Dropout" 596 | bottom: "fc7_2" 597 | top: "fc7_2" 598 | dropout_param { 599 | dropout_ratio: 0.5 600 | } 601 | } 602 | layer { 603 | name: "fc8_${EXP}_2" 604 | type: "Convolution" 605 | bottom: "fc7_2" 606 | top: "fc8_${EXP}_2" 607 | param { 608 | lr_mult: 10 609 | decay_mult: 1 610 | } 611 | param { 612 | lr_mult: 20 613 | decay_mult: 0 614 | } 615 | convolution_param { 616 | num_output: ${NUM_LABELS} 617 | kernel_size: 1 618 | weight_filler { 619 | type: "gaussian" 620 | std: 0.01 621 | } 622 | bias_filler { 623 | type: "constant" 624 | value: 0 625 | } 626 | } 627 | } 628 | 629 | ### hole = 18 630 | layer { 631 | name: "fc6_3" 632 | type: "Convolution" 633 | bottom: "pool5" 634 | top: "fc6_3" 635 | param { 636 | lr_mult: 1 637 | decay_mult: 1 638 | } 639 | param { 640 | lr_mult: 2 641 | decay_mult: 0 642 | } 643 | convolution_param { 644 | num_output: 1024 645 | pad: 18 646 | kernel_size: 3 647 | dilation: 18 648 | } 649 | } 650 | layer { 651 | name: "relu6_3" 652 | type: "ReLU" 653 | bottom: "fc6_3" 654 | top: "fc6_3" 655 | } 656 | layer { 657 | name: "drop6_3" 658 | type: "Dropout" 659 | bottom: "fc6_3" 660 | top: "fc6_3" 661 | dropout_param { 662 | dropout_ratio: 0.5 663 | } 664 | } 665 | layer { 666 | name: "fc7_3" 667 | type: "Convolution" 668 | bottom: "fc6_3" 669 | top: "fc7_3" 670 | param { 671 | lr_mult: 1 672 | decay_mult: 1 673 | } 674 | param { 675 | lr_mult: 2 676 | decay_mult: 0 677 | } 678 | convolution_param { 679 | num_output: 1024 680 | kernel_size: 1 681 | } 682 | } 683 | layer { 684 | name: "relu7_3" 685 | type: "ReLU" 686 | bottom: "fc7_3" 687 | top: "fc7_3" 688 | } 689 | layer { 690 | name: "drop7_3" 691 | type: "Dropout" 692 | bottom: "fc7_3" 693 | top: "fc7_3" 694 | dropout_param { 695 | dropout_ratio: 0.5 696 | } 697 | } 698 | layer { 699 | name: "fc8_${EXP}_3" 700 | type: "Convolution" 701 | bottom: "fc7_3" 702 | top: "fc8_${EXP}_3" 703 | param { 704 | lr_mult: 10 705 | decay_mult: 1 706 | } 707 | param { 708 | lr_mult: 20 709 | decay_mult: 0 710 | } 711 | convolution_param { 712 | num_output: ${NUM_LABELS} 713 | kernel_size: 1 714 | weight_filler { 715 | type: "gaussian" 716 | std: 0.01 717 | } 718 | bias_filler { 719 | type: "constant" 720 | value: 0 721 | } 722 | } 723 | } 724 | 725 | ### hole = 24 726 | layer { 727 | name: "fc6_4" 728 | type: "Convolution" 729 | bottom: "pool5" 730 | top: "fc6_4" 731 | param { 732 | lr_mult: 1 733 | decay_mult: 1 734 | } 735 | param { 736 | lr_mult: 2 737 | decay_mult: 0 738 | } 739 | convolution_param { 740 | num_output: 1024 741 | pad: 24 742 | kernel_size: 3 743 | dilation: 24 744 | } 745 | } 746 | layer { 747 | name: "relu6_4" 748 | type: "ReLU" 749 | bottom: "fc6_4" 750 | top: "fc6_4" 751 | } 752 | layer { 753 | name: "drop6_4" 754 | type: "Dropout" 755 | bottom: "fc6_4" 756 | top: "fc6_4" 757 | dropout_param { 758 | dropout_ratio: 0.5 759 | } 760 | } 761 | layer { 762 | name: "fc7_4" 763 | type: "Convolution" 764 | bottom: "fc6_4" 765 | top: "fc7_4" 766 | param { 767 | lr_mult: 1 768 | decay_mult: 1 769 | } 770 | param { 771 | lr_mult: 2 772 | decay_mult: 0 773 | } 774 | convolution_param { 775 | num_output: 1024 776 | kernel_size: 1 777 | } 778 | } 779 | layer { 780 | name: "relu7_4" 781 | type: "ReLU" 782 | bottom: "fc7_4" 783 | top: "fc7_4" 784 | } 785 | layer { 786 | name: "drop7_4" 787 | type: "Dropout" 788 | bottom: "fc7_4" 789 | top: "fc7_4" 790 | dropout_param { 791 | dropout_ratio: 0.5 792 | } 793 | } 794 | layer { 795 | name: "fc8_${EXP}_4" 796 | type: "Convolution" 797 | bottom: "fc7_4" 798 | top: "fc8_${EXP}_4" 799 | param { 800 | lr_mult: 10 801 | decay_mult: 1 802 | } 803 | param { 804 | lr_mult: 20 805 | decay_mult: 0 806 | } 807 | convolution_param { 808 | num_output: ${NUM_LABELS} 809 | kernel_size: 1 810 | weight_filler { 811 | type: "gaussian" 812 | std: 0.01 813 | } 814 | bias_filler { 815 | type: "constant" 816 | value: 0 817 | } 818 | } 819 | } 820 | 821 | ### SUM the four branches 822 | layer { 823 | bottom: "fc8_${EXP}_1" 824 | bottom: "fc8_${EXP}_2" 825 | bottom: "fc8_${EXP}_3" 826 | bottom: "fc8_${EXP}_4" 827 | top: "fc8_${EXP}" 828 | name: "fc8_${EXP}" 829 | type: "Eltwise" 830 | eltwise_param { 831 | operation: SUM 832 | } 833 | } 834 | 835 | ################# 836 | layer { 837 | bottom: "label" 838 | top: "label_shrink" 839 | name: "label_shrink" 840 | type: "Interp" 841 | interp_param { 842 | shrink_factor: 8 843 | pad_beg: 0 844 | pad_end: 0 845 | } 846 | } 847 | layer { 848 | name: "loss" 849 | type: "SoftmaxWithLoss" 850 | bottom: "fc8_${EXP}" 851 | bottom: "label_shrink" 852 | include { 853 | phase: TRAIN 854 | } 855 | loss_param { 856 | ignore_label: 255 857 | } 858 | } 859 | layer { 860 | name: "accuracy" 861 | type: "SegAccuracy" 862 | bottom: "fc8_${EXP}" 863 | bottom: "label_shrink" 864 | top: "accuracy" 865 | seg_accuracy_param { 866 | ignore_label: 255 867 | } 868 | } 869 | layer { 870 | name: "silence" 871 | type: "Silence" 872 | bottom: "data_dim" 873 | } 874 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/data/.gitignore: -------------------------------------------------------------------------------- 1 | annotations 2 | images 3 | annotations513 4 | images513 5 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/list/.gitignore: -------------------------------------------------------------------------------- 1 | train_diff_.txt 2 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/list/val513_id.txt: -------------------------------------------------------------------------------- 1 | COCO_train2014_000000000825 2 | COCO_train2014_000000000934 3 | COCO_train2014_000000001264 4 | COCO_train2014_000000001386 5 | COCO_train2014_000000001785 6 | COCO_train2014_000000003272 7 | COCO_train2014_000000004490 8 | COCO_train2014_000000005755 9 | COCO_train2014_000000006640 10 | COCO_train2014_000000006780 11 | COCO_train2014_000000007601 12 | COCO_train2014_000000007894 13 | COCO_train2014_000000008160 14 | COCO_train2014_000000008396 15 | COCO_train2014_000000008414 16 | COCO_train2014_000000008564 17 | COCO_train2014_000000008965 18 | COCO_train2014_000000009075 19 | COCO_train2014_000000010881 20 | COCO_train2014_000000011968 21 | COCO_train2014_000000012690 22 | COCO_train2014_000000012728 23 | COCO_train2014_000000013547 24 | COCO_train2014_000000013715 25 | COCO_train2014_000000014546 26 | COCO_train2014_000000014988 27 | COCO_train2014_000000015096 28 | COCO_train2014_000000015195 29 | COCO_train2014_000000015239 30 | COCO_train2014_000000015392 31 | COCO_train2014_000000015546 32 | COCO_train2014_000000016383 33 | COCO_train2014_000000016857 34 | COCO_train2014_000000017167 35 | COCO_train2014_000000017717 36 | COCO_train2014_000000017890 37 | COCO_train2014_000000018171 38 | COCO_train2014_000000018683 39 | COCO_train2014_000000019428 40 | COCO_train2014_000000019647 41 | COCO_train2014_000000019926 42 | COCO_train2014_000000022198 43 | COCO_train2014_000000022564 44 | COCO_train2014_000000024169 45 | COCO_train2014_000000024204 46 | COCO_train2014_000000024289 47 | COCO_train2014_000000024802 48 | COCO_train2014_000000024972 49 | COCO_train2014_000000025401 50 | COCO_train2014_000000026944 51 | COCO_train2014_000000027937 52 | COCO_train2014_000000028154 53 | COCO_train2014_000000029752 54 | COCO_train2014_000000029799 55 | COCO_train2014_000000029816 56 | COCO_train2014_000000030713 57 | COCO_train2014_000000031135 58 | COCO_train2014_000000032458 59 | COCO_train2014_000000032767 60 | COCO_train2014_000000032986 61 | COCO_train2014_000000033077 62 | COCO_train2014_000000034283 63 | COCO_train2014_000000034971 64 | COCO_train2014_000000035093 65 | COCO_train2014_000000035701 66 | COCO_train2014_000000035884 67 | COCO_train2014_000000035964 68 | COCO_train2014_000000036157 69 | COCO_train2014_000000036207 70 | COCO_train2014_000000037123 71 | COCO_train2014_000000037323 72 | COCO_train2014_000000040006 73 | COCO_train2014_000000040569 74 | COCO_train2014_000000040580 75 | COCO_train2014_000000040995 76 | COCO_train2014_000000041442 77 | COCO_train2014_000000043606 78 | COCO_train2014_000000044540 79 | COCO_train2014_000000046265 80 | COCO_train2014_000000047952 81 | COCO_train2014_000000048181 82 | COCO_train2014_000000048394 83 | COCO_train2014_000000048460 84 | COCO_train2014_000000048711 85 | COCO_train2014_000000049673 86 | COCO_train2014_000000049851 87 | COCO_train2014_000000050105 88 | COCO_train2014_000000050246 89 | COCO_train2014_000000050846 90 | COCO_train2014_000000050961 91 | COCO_train2014_000000051606 92 | COCO_train2014_000000051663 93 | COCO_train2014_000000052426 94 | COCO_train2014_000000052629 95 | COCO_train2014_000000053518 96 | COCO_train2014_000000053696 97 | COCO_train2014_000000053999 98 | COCO_train2014_000000055458 99 | COCO_train2014_000000056049 100 | COCO_train2014_000000058248 101 | COCO_train2014_000000058801 102 | COCO_train2014_000000059167 103 | COCO_train2014_000000060482 104 | COCO_train2014_000000060624 105 | COCO_train2014_000000060873 106 | COCO_train2014_000000060952 107 | COCO_train2014_000000060973 108 | COCO_train2014_000000063572 109 | COCO_train2014_000000063874 110 | COCO_train2014_000000064028 111 | COCO_train2014_000000064308 112 | COCO_train2014_000000064460 113 | COCO_train2014_000000064602 114 | COCO_train2014_000000065218 115 | COCO_train2014_000000067356 116 | COCO_train2014_000000067972 117 | COCO_train2014_000000068623 118 | COCO_train2014_000000069051 119 | COCO_train2014_000000069163 120 | COCO_train2014_000000069661 121 | COCO_train2014_000000072373 122 | COCO_train2014_000000072580 123 | COCO_train2014_000000073000 124 | COCO_train2014_000000073554 125 | COCO_train2014_000000074217 126 | COCO_train2014_000000075084 127 | COCO_train2014_000000075324 128 | COCO_train2014_000000075369 129 | COCO_train2014_000000075829 130 | COCO_train2014_000000075882 131 | COCO_train2014_000000076250 132 | COCO_train2014_000000076856 133 | COCO_train2014_000000077155 134 | COCO_train2014_000000077516 135 | COCO_train2014_000000077603 136 | COCO_train2014_000000077874 137 | COCO_train2014_000000079069 138 | COCO_train2014_000000079517 139 | COCO_train2014_000000079720 140 | COCO_train2014_000000080434 141 | COCO_train2014_000000082658 142 | COCO_train2014_000000082844 143 | COCO_train2014_000000084013 144 | COCO_train2014_000000085114 145 | COCO_train2014_000000085339 146 | COCO_train2014_000000087017 147 | COCO_train2014_000000087208 148 | COCO_train2014_000000087604 149 | COCO_train2014_000000089232 150 | COCO_train2014_000000089322 151 | COCO_train2014_000000089563 152 | COCO_train2014_000000091155 153 | COCO_train2014_000000092170 154 | COCO_train2014_000000094946 155 | COCO_train2014_000000095752 156 | COCO_train2014_000000096130 157 | COCO_train2014_000000096573 158 | COCO_train2014_000000096586 159 | COCO_train2014_000000097053 160 | COCO_train2014_000000097078 161 | COCO_train2014_000000097218 162 | COCO_train2014_000000097458 163 | COCO_train2014_000000097712 164 | COCO_train2014_000000098085 165 | COCO_train2014_000000098213 166 | COCO_train2014_000000098495 167 | COCO_train2014_000000098601 168 | COCO_train2014_000000098642 169 | COCO_train2014_000000099064 170 | COCO_train2014_000000099229 171 | COCO_train2014_000000100821 172 | COCO_train2014_000000101968 173 | COCO_train2014_000000102793 174 | COCO_train2014_000000102835 175 | COCO_train2014_000000103822 176 | COCO_train2014_000000104046 177 | COCO_train2014_000000105172 178 | COCO_train2014_000000105531 179 | COCO_train2014_000000105714 180 | COCO_train2014_000000106615 181 | COCO_train2014_000000106772 182 | COCO_train2014_000000107609 183 | COCO_train2014_000000108751 184 | COCO_train2014_000000110159 185 | COCO_train2014_000000110603 186 | COCO_train2014_000000110926 187 | COCO_train2014_000000111103 188 | COCO_train2014_000000111182 189 | COCO_train2014_000000112029 190 | COCO_train2014_000000112122 191 | COCO_train2014_000000112250 192 | COCO_train2014_000000112708 193 | COCO_train2014_000000112726 194 | COCO_train2014_000000112732 195 | COCO_train2014_000000114060 196 | COCO_train2014_000000115421 197 | COCO_train2014_000000116141 198 | COCO_train2014_000000116380 199 | COCO_train2014_000000116717 200 | COCO_train2014_000000117040 201 | COCO_train2014_000000117336 202 | COCO_train2014_000000118022 203 | COCO_train2014_000000118089 204 | COCO_train2014_000000118543 205 | COCO_train2014_000000118590 206 | COCO_train2014_000000118904 207 | COCO_train2014_000000119006 208 | COCO_train2014_000000119808 209 | COCO_train2014_000000120743 210 | COCO_train2014_000000121785 211 | COCO_train2014_000000122459 212 | COCO_train2014_000000122918 213 | COCO_train2014_000000123765 214 | COCO_train2014_000000123967 215 | COCO_train2014_000000124606 216 | COCO_train2014_000000124737 217 | COCO_train2014_000000126127 218 | COCO_train2014_000000126483 219 | COCO_train2014_000000126832 220 | COCO_train2014_000000126921 221 | COCO_train2014_000000127377 222 | COCO_train2014_000000127726 223 | COCO_train2014_000000128665 224 | COCO_train2014_000000129079 225 | COCO_train2014_000000129347 226 | COCO_train2014_000000129359 227 | COCO_train2014_000000129631 228 | COCO_train2014_000000129806 229 | COCO_train2014_000000130132 230 | COCO_train2014_000000130440 231 | COCO_train2014_000000131747 232 | COCO_train2014_000000132041 233 | COCO_train2014_000000132258 234 | COCO_train2014_000000132310 235 | COCO_train2014_000000132607 236 | COCO_train2014_000000132997 237 | COCO_train2014_000000134039 238 | COCO_train2014_000000134430 239 | COCO_train2014_000000135438 240 | COCO_train2014_000000136015 241 | COCO_train2014_000000136158 242 | COCO_train2014_000000137711 243 | COCO_train2014_000000138081 244 | COCO_train2014_000000138137 245 | COCO_train2014_000000138977 246 | COCO_train2014_000000139040 247 | COCO_train2014_000000139095 248 | COCO_train2014_000000140850 249 | COCO_train2014_000000140909 250 | COCO_train2014_000000141051 251 | COCO_train2014_000000142053 252 | COCO_train2014_000000142088 253 | COCO_train2014_000000142276 254 | COCO_train2014_000000142291 255 | COCO_train2014_000000143182 256 | COCO_train2014_000000143965 257 | COCO_train2014_000000145191 258 | COCO_train2014_000000145518 259 | COCO_train2014_000000146586 260 | COCO_train2014_000000146933 261 | COCO_train2014_000000147115 262 | COCO_train2014_000000147392 263 | COCO_train2014_000000148024 264 | COCO_train2014_000000149085 265 | COCO_train2014_000000150197 266 | COCO_train2014_000000150276 267 | COCO_train2014_000000150283 268 | COCO_train2014_000000150462 269 | COCO_train2014_000000150650 270 | COCO_train2014_000000152041 271 | COCO_train2014_000000152238 272 | COCO_train2014_000000152556 273 | COCO_train2014_000000152954 274 | COCO_train2014_000000153126 275 | COCO_train2014_000000153655 276 | COCO_train2014_000000154060 277 | COCO_train2014_000000154171 278 | COCO_train2014_000000154710 279 | COCO_train2014_000000155776 280 | COCO_train2014_000000156471 281 | COCO_train2014_000000156630 282 | COCO_train2014_000000156710 283 | COCO_train2014_000000157603 284 | COCO_train2014_000000157610 285 | COCO_train2014_000000158647 286 | COCO_train2014_000000158718 287 | COCO_train2014_000000158787 288 | COCO_train2014_000000159061 289 | COCO_train2014_000000159128 290 | COCO_train2014_000000159357 291 | COCO_train2014_000000160013 292 | COCO_train2014_000000161414 293 | COCO_train2014_000000163560 294 | COCO_train2014_000000164205 295 | COCO_train2014_000000164655 296 | COCO_train2014_000000164751 297 | COCO_train2014_000000164793 298 | COCO_train2014_000000165571 299 | COCO_train2014_000000166236 300 | COCO_train2014_000000167680 301 | COCO_train2014_000000168338 302 | COCO_train2014_000000168361 303 | COCO_train2014_000000168848 304 | COCO_train2014_000000169766 305 | COCO_train2014_000000170008 306 | COCO_train2014_000000170413 307 | COCO_train2014_000000170780 308 | COCO_train2014_000000171208 309 | COCO_train2014_000000171239 310 | COCO_train2014_000000171472 311 | COCO_train2014_000000171841 312 | COCO_train2014_000000171943 313 | COCO_train2014_000000173228 314 | COCO_train2014_000000176392 315 | COCO_train2014_000000176728 316 | COCO_train2014_000000176729 317 | COCO_train2014_000000178798 318 | COCO_train2014_000000178933 319 | COCO_train2014_000000178966 320 | COCO_train2014_000000181393 321 | COCO_train2014_000000181571 322 | COCO_train2014_000000181623 323 | COCO_train2014_000000181719 324 | COCO_train2014_000000182402 325 | COCO_train2014_000000182497 326 | COCO_train2014_000000182602 327 | COCO_train2014_000000183240 328 | COCO_train2014_000000184520 329 | COCO_train2014_000000184589 330 | COCO_train2014_000000186719 331 | COCO_train2014_000000186784 332 | COCO_train2014_000000187037 333 | COCO_train2014_000000187447 334 | COCO_train2014_000000187738 335 | COCO_train2014_000000187757 336 | COCO_train2014_000000188589 337 | COCO_train2014_000000189045 338 | COCO_train2014_000000189742 339 | COCO_train2014_000000189785 340 | COCO_train2014_000000190141 341 | COCO_train2014_000000190495 342 | COCO_train2014_000000191297 343 | COCO_train2014_000000191327 344 | COCO_train2014_000000191661 345 | COCO_train2014_000000191879 346 | COCO_train2014_000000192048 347 | COCO_train2014_000000192307 348 | COCO_train2014_000000192954 349 | COCO_train2014_000000193972 350 | COCO_train2014_000000194820 351 | COCO_train2014_000000195386 352 | COCO_train2014_000000196460 353 | COCO_train2014_000000196653 354 | COCO_train2014_000000197854 355 | COCO_train2014_000000199093 356 | COCO_train2014_000000199152 357 | COCO_train2014_000000199410 358 | COCO_train2014_000000199899 359 | COCO_train2014_000000200206 360 | COCO_train2014_000000200619 361 | COCO_train2014_000000201213 362 | COCO_train2014_000000201664 363 | COCO_train2014_000000201891 364 | COCO_train2014_000000201893 365 | COCO_train2014_000000202990 366 | COCO_train2014_000000203612 367 | COCO_train2014_000000203867 368 | COCO_train2014_000000204216 369 | COCO_train2014_000000204294 370 | COCO_train2014_000000204345 371 | COCO_train2014_000000204606 372 | COCO_train2014_000000204728 373 | COCO_train2014_000000205313 374 | COCO_train2014_000000205724 375 | COCO_train2014_000000206102 376 | COCO_train2014_000000207573 377 | COCO_train2014_000000208633 378 | COCO_train2014_000000208752 379 | COCO_train2014_000000208961 380 | COCO_train2014_000000209704 381 | COCO_train2014_000000209822 382 | COCO_train2014_000000211161 383 | COCO_train2014_000000211593 384 | COCO_train2014_000000212551 385 | COCO_train2014_000000213204 386 | COCO_train2014_000000213207 387 | COCO_train2014_000000214137 388 | COCO_train2014_000000214489 389 | COCO_train2014_000000214719 390 | COCO_train2014_000000214726 391 | COCO_train2014_000000215092 392 | COCO_train2014_000000216378 393 | COCO_train2014_000000217461 394 | COCO_train2014_000000217958 395 | COCO_train2014_000000218284 396 | COCO_train2014_000000219037 397 | COCO_train2014_000000221425 398 | COCO_train2014_000000225363 399 | COCO_train2014_000000225458 400 | COCO_train2014_000000225669 401 | COCO_train2014_000000227621 402 | COCO_train2014_000000229156 403 | COCO_train2014_000000229312 404 | COCO_train2014_000000229440 405 | COCO_train2014_000000229813 406 | COCO_train2014_000000229947 407 | COCO_train2014_000000230554 408 | COCO_train2014_000000230601 409 | COCO_train2014_000000230777 410 | COCO_train2014_000000231351 411 | COCO_train2014_000000231538 412 | COCO_train2014_000000231881 413 | COCO_train2014_000000232551 414 | COCO_train2014_000000232952 415 | COCO_train2014_000000233292 416 | COCO_train2014_000000234016 417 | COCO_train2014_000000234600 418 | COCO_train2014_000000236350 419 | COCO_train2014_000000236397 420 | COCO_train2014_000000237427 421 | COCO_train2014_000000237834 422 | COCO_train2014_000000237944 423 | COCO_train2014_000000238453 424 | COCO_train2014_000000239670 425 | COCO_train2014_000000239697 426 | COCO_train2014_000000239882 427 | COCO_train2014_000000240322 428 | COCO_train2014_000000241767 429 | COCO_train2014_000000242931 430 | COCO_train2014_000000242979 431 | COCO_train2014_000000243231 432 | COCO_train2014_000000243443 433 | COCO_train2014_000000244812 434 | COCO_train2014_000000247082 435 | COCO_train2014_000000247311 436 | COCO_train2014_000000247515 437 | COCO_train2014_000000247604 438 | COCO_train2014_000000248957 439 | COCO_train2014_000000250223 440 | COCO_train2014_000000250351 441 | COCO_train2014_000000250808 442 | COCO_train2014_000000250849 443 | COCO_train2014_000000251026 444 | COCO_train2014_000000251079 445 | COCO_train2014_000000251557 446 | COCO_train2014_000000251623 447 | COCO_train2014_000000251663 448 | COCO_train2014_000000252025 449 | COCO_train2014_000000252407 450 | COCO_train2014_000000253323 451 | COCO_train2014_000000253942 452 | COCO_train2014_000000254818 453 | COCO_train2014_000000256037 454 | COCO_train2014_000000256706 455 | COCO_train2014_000000257353 456 | COCO_train2014_000000257945 457 | COCO_train2014_000000260741 458 | COCO_train2014_000000260970 459 | COCO_train2014_000000261066 460 | COCO_train2014_000000262001 461 | COCO_train2014_000000262180 462 | COCO_train2014_000000263767 463 | COCO_train2014_000000264158 464 | COCO_train2014_000000264526 465 | COCO_train2014_000000264709 466 | COCO_train2014_000000265179 467 | COCO_train2014_000000265398 468 | COCO_train2014_000000265536 469 | COCO_train2014_000000265938 470 | COCO_train2014_000000266302 471 | COCO_train2014_000000266336 472 | COCO_train2014_000000267106 473 | COCO_train2014_000000268227 474 | COCO_train2014_000000268617 475 | COCO_train2014_000000269903 476 | COCO_train2014_000000270688 477 | COCO_train2014_000000272223 478 | COCO_train2014_000000272679 479 | COCO_train2014_000000273439 480 | COCO_train2014_000000274047 481 | COCO_train2014_000000274521 482 | COCO_train2014_000000275837 483 | COCO_train2014_000000276047 484 | COCO_train2014_000000277204 485 | COCO_train2014_000000277697 486 | COCO_train2014_000000277700 487 | COCO_train2014_000000277857 488 | COCO_train2014_000000279197 489 | COCO_train2014_000000279844 490 | COCO_train2014_000000280177 491 | COCO_train2014_000000280823 492 | COCO_train2014_000000280995 493 | COCO_train2014_000000282252 494 | COCO_train2014_000000282703 495 | COCO_train2014_000000283757 496 | COCO_train2014_000000285667 497 | COCO_train2014_000000286022 498 | COCO_train2014_000000287213 499 | COCO_train2014_000000287760 500 | COCO_train2014_000000287927 501 | COCO_train2014_000000287934 502 | COCO_train2014_000000288171 503 | COCO_train2014_000000288794 504 | COCO_train2014_000000289071 505 | COCO_train2014_000000289158 506 | COCO_train2014_000000289866 507 | COCO_train2014_000000291827 508 | COCO_train2014_000000291915 509 | COCO_train2014_000000292249 510 | COCO_train2014_000000292312 511 | COCO_train2014_000000293340 512 | COCO_train2014_000000294083 513 | COCO_train2014_000000294108 514 | COCO_train2014_000000294186 515 | COCO_train2014_000000295343 516 | COCO_train2014_000000297639 517 | COCO_train2014_000000297678 518 | COCO_train2014_000000297870 519 | COCO_train2014_000000298512 520 | COCO_train2014_000000298878 521 | COCO_train2014_000000299111 522 | COCO_train2014_000000301187 523 | COCO_train2014_000000301296 524 | COCO_train2014_000000301527 525 | COCO_train2014_000000301954 526 | COCO_train2014_000000302065 527 | COCO_train2014_000000302249 528 | COCO_train2014_000000302660 529 | COCO_train2014_000000302715 530 | COCO_train2014_000000303870 531 | COCO_train2014_000000304027 532 | COCO_train2014_000000304459 533 | COCO_train2014_000000304528 534 | COCO_train2014_000000304716 535 | COCO_train2014_000000305014 536 | COCO_train2014_000000305323 537 | COCO_train2014_000000305517 538 | COCO_train2014_000000306232 539 | COCO_train2014_000000306900 540 | COCO_train2014_000000307061 541 | COCO_train2014_000000307435 542 | COCO_train2014_000000307981 543 | COCO_train2014_000000308107 544 | COCO_train2014_000000308768 545 | COCO_train2014_000000312184 546 | COCO_train2014_000000312355 547 | COCO_train2014_000000312800 548 | COCO_train2014_000000314135 549 | COCO_train2014_000000314530 550 | COCO_train2014_000000314904 551 | COCO_train2014_000000315092 552 | COCO_train2014_000000315322 553 | COCO_train2014_000000316524 554 | COCO_train2014_000000317103 555 | COCO_train2014_000000318528 556 | COCO_train2014_000000319741 557 | COCO_train2014_000000320374 558 | COCO_train2014_000000321209 559 | COCO_train2014_000000321306 560 | COCO_train2014_000000321318 561 | COCO_train2014_000000321373 562 | COCO_train2014_000000321711 563 | COCO_train2014_000000322246 564 | COCO_train2014_000000322392 565 | COCO_train2014_000000322402 566 | COCO_train2014_000000322866 567 | COCO_train2014_000000323672 568 | COCO_train2014_000000323728 569 | COCO_train2014_000000323733 570 | COCO_train2014_000000324112 571 | COCO_train2014_000000324413 572 | COCO_train2014_000000325371 573 | COCO_train2014_000000325786 574 | COCO_train2014_000000326805 575 | COCO_train2014_000000328427 576 | COCO_train2014_000000328454 577 | COCO_train2014_000000329188 578 | COCO_train2014_000000329737 579 | COCO_train2014_000000330177 580 | COCO_train2014_000000330395 581 | COCO_train2014_000000332193 582 | COCO_train2014_000000332540 583 | COCO_train2014_000000334158 584 | COCO_train2014_000000334232 585 | COCO_train2014_000000334448 586 | COCO_train2014_000000336335 587 | COCO_train2014_000000336804 588 | COCO_train2014_000000336954 589 | COCO_train2014_000000337609 590 | COCO_train2014_000000338367 591 | COCO_train2014_000000338579 592 | COCO_train2014_000000338597 593 | COCO_train2014_000000339042 594 | COCO_train2014_000000340024 595 | COCO_train2014_000000340454 596 | COCO_train2014_000000342665 597 | COCO_train2014_000000343235 598 | COCO_train2014_000000346450 599 | COCO_train2014_000000346741 600 | COCO_train2014_000000347328 601 | COCO_train2014_000000348299 602 | COCO_train2014_000000352120 603 | COCO_train2014_000000352211 604 | COCO_train2014_000000352264 605 | COCO_train2014_000000352877 606 | COCO_train2014_000000354305 607 | COCO_train2014_000000354493 608 | COCO_train2014_000000354725 609 | COCO_train2014_000000355582 610 | COCO_train2014_000000355603 611 | COCO_train2014_000000355830 612 | COCO_train2014_000000358405 613 | COCO_train2014_000000359147 614 | COCO_train2014_000000359625 615 | COCO_train2014_000000360110 616 | COCO_train2014_000000360157 617 | COCO_train2014_000000361619 618 | COCO_train2014_000000363806 619 | COCO_train2014_000000363947 620 | COCO_train2014_000000365003 621 | COCO_train2014_000000365164 622 | COCO_train2014_000000365458 623 | COCO_train2014_000000365527 624 | COCO_train2014_000000366382 625 | COCO_train2014_000000368044 626 | COCO_train2014_000000368084 627 | COCO_train2014_000000368284 628 | COCO_train2014_000000369201 629 | COCO_train2014_000000369976 630 | COCO_train2014_000000370010 631 | COCO_train2014_000000371244 632 | COCO_train2014_000000372308 633 | COCO_train2014_000000372374 634 | COCO_train2014_000000373045 635 | COCO_train2014_000000373425 636 | COCO_train2014_000000375080 637 | COCO_train2014_000000375153 638 | COCO_train2014_000000375841 639 | COCO_train2014_000000376258 640 | COCO_train2014_000000376701 641 | COCO_train2014_000000377570 642 | COCO_train2014_000000377572 643 | COCO_train2014_000000377666 644 | COCO_train2014_000000378068 645 | COCO_train2014_000000378638 646 | COCO_train2014_000000379672 647 | COCO_train2014_000000379781 648 | COCO_train2014_000000380108 649 | COCO_train2014_000000380191 650 | COCO_train2014_000000380271 651 | COCO_train2014_000000380455 652 | COCO_train2014_000000380520 653 | COCO_train2014_000000381036 654 | COCO_train2014_000000382615 655 | COCO_train2014_000000382789 656 | COCO_train2014_000000383452 657 | COCO_train2014_000000384021 658 | COCO_train2014_000000384605 659 | COCO_train2014_000000385114 660 | COCO_train2014_000000385885 661 | COCO_train2014_000000386876 662 | COCO_train2014_000000388294 663 | COCO_train2014_000000389487 664 | COCO_train2014_000000390969 665 | COCO_train2014_000000393094 666 | COCO_train2014_000000393664 667 | COCO_train2014_000000393721 668 | COCO_train2014_000000393826 669 | COCO_train2014_000000395758 670 | COCO_train2014_000000396793 671 | COCO_train2014_000000396871 672 | COCO_train2014_000000397163 673 | COCO_train2014_000000397212 674 | COCO_train2014_000000397353 675 | COCO_train2014_000000397486 676 | COCO_train2014_000000397645 677 | COCO_train2014_000000397759 678 | COCO_train2014_000000399101 679 | COCO_train2014_000000399746 680 | COCO_train2014_000000400625 681 | COCO_train2014_000000401147 682 | COCO_train2014_000000401167 683 | COCO_train2014_000000401286 684 | COCO_train2014_000000401877 685 | COCO_train2014_000000401977 686 | COCO_train2014_000000402004 687 | COCO_train2014_000000402980 688 | COCO_train2014_000000403222 689 | COCO_train2014_000000404163 690 | COCO_train2014_000000404361 691 | COCO_train2014_000000405312 692 | COCO_train2014_000000405628 693 | COCO_train2014_000000406376 694 | COCO_train2014_000000407381 695 | COCO_train2014_000000407522 696 | COCO_train2014_000000408144 697 | COCO_train2014_000000408460 698 | COCO_train2014_000000410845 699 | COCO_train2014_000000411061 700 | COCO_train2014_000000411441 701 | COCO_train2014_000000411885 702 | COCO_train2014_000000412238 703 | COCO_train2014_000000412734 704 | COCO_train2014_000000413391 705 | COCO_train2014_000000414046 706 | COCO_train2014_000000414492 707 | COCO_train2014_000000414851 708 | COCO_train2014_000000414989 709 | COCO_train2014_000000414999 710 | COCO_train2014_000000415222 711 | COCO_train2014_000000415918 712 | COCO_train2014_000000416172 713 | COCO_train2014_000000416371 714 | COCO_train2014_000000417201 715 | COCO_train2014_000000417369 716 | COCO_train2014_000000417571 717 | COCO_train2014_000000417793 718 | COCO_train2014_000000418964 719 | COCO_train2014_000000419194 720 | COCO_train2014_000000420304 721 | COCO_train2014_000000420552 722 | COCO_train2014_000000420629 723 | COCO_train2014_000000421380 724 | COCO_train2014_000000421630 725 | COCO_train2014_000000422050 726 | COCO_train2014_000000422286 727 | COCO_train2014_000000422314 728 | COCO_train2014_000000423096 729 | COCO_train2014_000000423266 730 | COCO_train2014_000000424912 731 | COCO_train2014_000000425540 732 | COCO_train2014_000000426776 733 | COCO_train2014_000000427990 734 | COCO_train2014_000000428390 735 | COCO_train2014_000000430191 736 | COCO_train2014_000000430346 737 | COCO_train2014_000000430480 738 | COCO_train2014_000000430759 739 | COCO_train2014_000000430890 740 | COCO_train2014_000000431699 741 | COCO_train2014_000000432603 742 | COCO_train2014_000000436626 743 | COCO_train2014_000000436882 744 | COCO_train2014_000000438335 745 | COCO_train2014_000000438964 746 | COCO_train2014_000000439423 747 | COCO_train2014_000000439527 748 | COCO_train2014_000000439875 749 | COCO_train2014_000000441507 750 | COCO_train2014_000000441751 751 | COCO_train2014_000000443243 752 | COCO_train2014_000000443397 753 | COCO_train2014_000000443693 754 | COCO_train2014_000000443764 755 | COCO_train2014_000000444166 756 | COCO_train2014_000000444941 757 | COCO_train2014_000000445080 758 | COCO_train2014_000000445156 759 | COCO_train2014_000000445493 760 | COCO_train2014_000000445528 761 | COCO_train2014_000000446463 762 | COCO_train2014_000000447090 763 | COCO_train2014_000000447785 764 | COCO_train2014_000000449270 765 | COCO_train2014_000000449508 766 | COCO_train2014_000000452500 767 | COCO_train2014_000000452512 768 | COCO_train2014_000000452806 769 | COCO_train2014_000000455313 770 | COCO_train2014_000000455424 771 | COCO_train2014_000000455615 772 | COCO_train2014_000000455677 773 | COCO_train2014_000000456788 774 | COCO_train2014_000000457261 775 | COCO_train2014_000000458281 776 | COCO_train2014_000000458599 777 | COCO_train2014_000000458879 778 | COCO_train2014_000000460092 779 | COCO_train2014_000000460228 780 | COCO_train2014_000000460998 781 | COCO_train2014_000000461519 782 | COCO_train2014_000000461939 783 | COCO_train2014_000000462080 784 | COCO_train2014_000000462238 785 | COCO_train2014_000000462875 786 | COCO_train2014_000000463417 787 | COCO_train2014_000000463823 788 | COCO_train2014_000000464105 789 | COCO_train2014_000000464740 790 | COCO_train2014_000000465045 791 | COCO_train2014_000000466134 792 | COCO_train2014_000000466267 793 | COCO_train2014_000000467572 794 | COCO_train2014_000000469355 795 | COCO_train2014_000000469427 796 | COCO_train2014_000000469556 797 | COCO_train2014_000000469806 798 | COCO_train2014_000000470622 799 | COCO_train2014_000000471020 800 | COCO_train2014_000000472065 801 | COCO_train2014_000000472089 802 | COCO_train2014_000000472432 803 | COCO_train2014_000000472444 804 | COCO_train2014_000000473295 805 | COCO_train2014_000000473375 806 | COCO_train2014_000000473462 807 | COCO_train2014_000000473651 808 | COCO_train2014_000000473912 809 | COCO_train2014_000000474330 810 | COCO_train2014_000000474800 811 | COCO_train2014_000000474832 812 | COCO_train2014_000000475103 813 | COCO_train2014_000000475177 814 | COCO_train2014_000000475370 815 | COCO_train2014_000000475546 816 | COCO_train2014_000000476093 817 | COCO_train2014_000000476553 818 | COCO_train2014_000000476761 819 | COCO_train2014_000000477758 820 | COCO_train2014_000000477861 821 | COCO_train2014_000000478080 822 | COCO_train2014_000000479101 823 | COCO_train2014_000000479325 824 | COCO_train2014_000000479372 825 | COCO_train2014_000000480773 826 | COCO_train2014_000000480790 827 | COCO_train2014_000000480843 828 | COCO_train2014_000000481073 829 | COCO_train2014_000000481759 830 | COCO_train2014_000000482127 831 | COCO_train2014_000000482810 832 | COCO_train2014_000000483573 833 | COCO_train2014_000000483757 834 | COCO_train2014_000000483769 835 | COCO_train2014_000000484033 836 | COCO_train2014_000000486215 837 | COCO_train2014_000000487467 838 | COCO_train2014_000000488432 839 | COCO_train2014_000000488866 840 | COCO_train2014_000000489734 841 | COCO_train2014_000000491259 842 | COCO_train2014_000000491659 843 | COCO_train2014_000000492954 844 | COCO_train2014_000000492973 845 | COCO_train2014_000000495169 846 | COCO_train2014_000000495625 847 | COCO_train2014_000000495902 848 | COCO_train2014_000000496153 849 | COCO_train2014_000000496269 850 | COCO_train2014_000000496322 851 | COCO_train2014_000000496476 852 | COCO_train2014_000000497167 853 | COCO_train2014_000000497350 854 | COCO_train2014_000000497402 855 | COCO_train2014_000000498525 856 | COCO_train2014_000000499179 857 | COCO_train2014_000000499396 858 | COCO_train2014_000000499871 859 | COCO_train2014_000000500077 860 | COCO_train2014_000000501594 861 | COCO_train2014_000000501814 862 | COCO_train2014_000000502134 863 | COCO_train2014_000000502153 864 | COCO_train2014_000000502325 865 | COCO_train2014_000000504147 866 | COCO_train2014_000000504766 867 | COCO_train2014_000000505128 868 | COCO_train2014_000000506034 869 | COCO_train2014_000000506322 870 | COCO_train2014_000000506341 871 | COCO_train2014_000000506379 872 | COCO_train2014_000000506598 873 | COCO_train2014_000000507479 874 | COCO_train2014_000000508227 875 | COCO_train2014_000000508412 876 | COCO_train2014_000000508606 877 | COCO_train2014_000000508878 878 | COCO_train2014_000000508896 879 | COCO_train2014_000000509482 880 | COCO_train2014_000000510260 881 | COCO_train2014_000000512940 882 | COCO_train2014_000000513683 883 | COCO_train2014_000000514939 884 | COCO_train2014_000000515197 885 | COCO_train2014_000000515230 886 | COCO_train2014_000000516500 887 | COCO_train2014_000000517182 888 | COCO_train2014_000000517198 889 | COCO_train2014_000000517508 890 | COCO_train2014_000000517941 891 | COCO_train2014_000000518844 892 | COCO_train2014_000000518898 893 | COCO_train2014_000000520341 894 | COCO_train2014_000000520435 895 | COCO_train2014_000000521218 896 | COCO_train2014_000000522350 897 | COCO_train2014_000000523349 898 | COCO_train2014_000000523981 899 | COCO_train2014_000000524189 900 | COCO_train2014_000000524273 901 | COCO_train2014_000000524297 902 | COCO_train2014_000000525124 903 | COCO_train2014_000000525450 904 | COCO_train2014_000000525876 905 | COCO_train2014_000000526087 906 | COCO_train2014_000000527250 907 | COCO_train2014_000000527623 908 | COCO_train2014_000000527643 909 | COCO_train2014_000000528345 910 | COCO_train2014_000000528550 911 | COCO_train2014_000000528699 912 | COCO_train2014_000000528868 913 | COCO_train2014_000000529645 914 | COCO_train2014_000000531730 915 | COCO_train2014_000000532194 916 | COCO_train2014_000000532342 917 | COCO_train2014_000000533134 918 | COCO_train2014_000000533686 919 | COCO_train2014_000000533888 920 | COCO_train2014_000000534049 921 | COCO_train2014_000000534593 922 | COCO_train2014_000000536039 923 | COCO_train2014_000000536252 924 | COCO_train2014_000000536423 925 | COCO_train2014_000000537337 926 | COCO_train2014_000000539158 927 | COCO_train2014_000000540728 928 | COCO_train2014_000000540831 929 | COCO_train2014_000000542202 930 | COCO_train2014_000000542587 931 | COCO_train2014_000000543182 932 | COCO_train2014_000000543291 933 | COCO_train2014_000000543747 934 | COCO_train2014_000000544384 935 | COCO_train2014_000000544691 936 | COCO_train2014_000000544752 937 | COCO_train2014_000000545072 938 | COCO_train2014_000000545675 939 | COCO_train2014_000000546114 940 | COCO_train2014_000000546140 941 | COCO_train2014_000000547465 942 | COCO_train2014_000000548893 943 | COCO_train2014_000000549098 944 | COCO_train2014_000000549115 945 | COCO_train2014_000000549301 946 | COCO_train2014_000000549400 947 | COCO_train2014_000000550617 948 | COCO_train2014_000000550845 949 | COCO_train2014_000000551679 950 | COCO_train2014_000000551793 951 | COCO_train2014_000000552460 952 | COCO_train2014_000000552678 953 | COCO_train2014_000000552876 954 | COCO_train2014_000000553056 955 | COCO_train2014_000000553149 956 | COCO_train2014_000000554335 957 | COCO_train2014_000000554770 958 | COCO_train2014_000000554943 959 | COCO_train2014_000000556620 960 | COCO_train2014_000000557197 961 | COCO_train2014_000000557483 962 | COCO_train2014_000000559107 963 | COCO_train2014_000000559747 964 | COCO_train2014_000000560573 965 | COCO_train2014_000000560885 966 | COCO_train2014_000000561137 967 | COCO_train2014_000000561251 968 | COCO_train2014_000000561950 969 | COCO_train2014_000000562149 970 | COCO_train2014_000000562461 971 | COCO_train2014_000000562846 972 | COCO_train2014_000000563046 973 | COCO_train2014_000000563168 974 | COCO_train2014_000000564237 975 | COCO_train2014_000000565665 976 | COCO_train2014_000000565684 977 | COCO_train2014_000000565878 978 | COCO_train2014_000000565979 979 | COCO_train2014_000000566969 980 | COCO_train2014_000000569750 981 | COCO_train2014_000000569975 982 | COCO_train2014_000000570225 983 | COCO_train2014_000000570351 984 | COCO_train2014_000000571825 985 | COCO_train2014_000000573241 986 | COCO_train2014_000000574215 987 | COCO_train2014_000000574599 988 | COCO_train2014_000000575202 989 | COCO_train2014_000000575601 990 | COCO_train2014_000000575734 991 | COCO_train2014_000000576675 992 | COCO_train2014_000000577221 993 | COCO_train2014_000000577240 994 | COCO_train2014_000000577876 995 | COCO_train2014_000000578506 996 | COCO_train2014_000000579271 997 | COCO_train2014_000000579907 998 | COCO_train2014_000000579920 999 | COCO_train2014_000000579968 1000 | COCO_train2014_000000581629 1001 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/list/val_id.txt: -------------------------------------------------------------------------------- 1 | COCO_train2014_000000000825 2 | COCO_train2014_000000000934 3 | COCO_train2014_000000001264 4 | COCO_train2014_000000001386 5 | COCO_train2014_000000001785 6 | COCO_train2014_000000003272 7 | COCO_train2014_000000004490 8 | COCO_train2014_000000005755 9 | COCO_train2014_000000006640 10 | COCO_train2014_000000006780 11 | COCO_train2014_000000007601 12 | COCO_train2014_000000007894 13 | COCO_train2014_000000008160 14 | COCO_train2014_000000008396 15 | COCO_train2014_000000008414 16 | COCO_train2014_000000008564 17 | COCO_train2014_000000008965 18 | COCO_train2014_000000009075 19 | COCO_train2014_000000010881 20 | COCO_train2014_000000011968 21 | COCO_train2014_000000012690 22 | COCO_train2014_000000012728 23 | COCO_train2014_000000013547 24 | COCO_train2014_000000013715 25 | COCO_train2014_000000014546 26 | COCO_train2014_000000014988 27 | COCO_train2014_000000015096 28 | COCO_train2014_000000015195 29 | COCO_train2014_000000015239 30 | COCO_train2014_000000015392 31 | COCO_train2014_000000015546 32 | COCO_train2014_000000016383 33 | COCO_train2014_000000016857 34 | COCO_train2014_000000017167 35 | COCO_train2014_000000017717 36 | COCO_train2014_000000017890 37 | COCO_train2014_000000018171 38 | COCO_train2014_000000018683 39 | COCO_train2014_000000019428 40 | COCO_train2014_000000019647 41 | COCO_train2014_000000019926 42 | COCO_train2014_000000022198 43 | COCO_train2014_000000022564 44 | COCO_train2014_000000024169 45 | COCO_train2014_000000024204 46 | COCO_train2014_000000024289 47 | COCO_train2014_000000024802 48 | COCO_train2014_000000024972 49 | COCO_train2014_000000025401 50 | COCO_train2014_000000026944 51 | COCO_train2014_000000027937 52 | COCO_train2014_000000028154 53 | COCO_train2014_000000029752 54 | COCO_train2014_000000029799 55 | COCO_train2014_000000029816 56 | COCO_train2014_000000030713 57 | COCO_train2014_000000031135 58 | COCO_train2014_000000032458 59 | COCO_train2014_000000032767 60 | COCO_train2014_000000032986 61 | COCO_train2014_000000033077 62 | COCO_train2014_000000034283 63 | COCO_train2014_000000034971 64 | COCO_train2014_000000035093 65 | COCO_train2014_000000035701 66 | COCO_train2014_000000035884 67 | COCO_train2014_000000035964 68 | COCO_train2014_000000036157 69 | COCO_train2014_000000036207 70 | COCO_train2014_000000037123 71 | COCO_train2014_000000037323 72 | COCO_train2014_000000040006 73 | COCO_train2014_000000040569 74 | COCO_train2014_000000040580 75 | COCO_train2014_000000040995 76 | COCO_train2014_000000041442 77 | COCO_train2014_000000043606 78 | COCO_train2014_000000044540 79 | COCO_train2014_000000046265 80 | COCO_train2014_000000047952 81 | COCO_train2014_000000048181 82 | COCO_train2014_000000048394 83 | COCO_train2014_000000048460 84 | COCO_train2014_000000048711 85 | COCO_train2014_000000049673 86 | COCO_train2014_000000049851 87 | COCO_train2014_000000050105 88 | COCO_train2014_000000050246 89 | COCO_train2014_000000050846 90 | COCO_train2014_000000050961 91 | COCO_train2014_000000051606 92 | COCO_train2014_000000051663 93 | COCO_train2014_000000052426 94 | COCO_train2014_000000052629 95 | COCO_train2014_000000053518 96 | COCO_train2014_000000053696 97 | COCO_train2014_000000053999 98 | COCO_train2014_000000055458 99 | COCO_train2014_000000056049 100 | COCO_train2014_000000058248 101 | COCO_train2014_000000058801 102 | COCO_train2014_000000059167 103 | COCO_train2014_000000060482 104 | COCO_train2014_000000060624 105 | COCO_train2014_000000060873 106 | COCO_train2014_000000060952 107 | COCO_train2014_000000060973 108 | COCO_train2014_000000063572 109 | COCO_train2014_000000063874 110 | COCO_train2014_000000064028 111 | COCO_train2014_000000064308 112 | COCO_train2014_000000064460 113 | COCO_train2014_000000064602 114 | COCO_train2014_000000065218 115 | COCO_train2014_000000067356 116 | COCO_train2014_000000067972 117 | COCO_train2014_000000068623 118 | COCO_train2014_000000069051 119 | COCO_train2014_000000069163 120 | COCO_train2014_000000069661 121 | COCO_train2014_000000072373 122 | COCO_train2014_000000072580 123 | COCO_train2014_000000073000 124 | COCO_train2014_000000073554 125 | COCO_train2014_000000074217 126 | COCO_train2014_000000075084 127 | COCO_train2014_000000075324 128 | COCO_train2014_000000075369 129 | COCO_train2014_000000075829 130 | COCO_train2014_000000075882 131 | COCO_train2014_000000076250 132 | COCO_train2014_000000076856 133 | COCO_train2014_000000077155 134 | COCO_train2014_000000077516 135 | COCO_train2014_000000077603 136 | COCO_train2014_000000077874 137 | COCO_train2014_000000079069 138 | COCO_train2014_000000079517 139 | COCO_train2014_000000079720 140 | COCO_train2014_000000080434 141 | COCO_train2014_000000082658 142 | COCO_train2014_000000082844 143 | COCO_train2014_000000084013 144 | COCO_train2014_000000085114 145 | COCO_train2014_000000085339 146 | COCO_train2014_000000087017 147 | COCO_train2014_000000087208 148 | COCO_train2014_000000087604 149 | COCO_train2014_000000089232 150 | COCO_train2014_000000089322 151 | COCO_train2014_000000089563 152 | COCO_train2014_000000091155 153 | COCO_train2014_000000092170 154 | COCO_train2014_000000094946 155 | COCO_train2014_000000095752 156 | COCO_train2014_000000096130 157 | COCO_train2014_000000096573 158 | COCO_train2014_000000096586 159 | COCO_train2014_000000097053 160 | COCO_train2014_000000097078 161 | COCO_train2014_000000097218 162 | COCO_train2014_000000097458 163 | COCO_train2014_000000097712 164 | COCO_train2014_000000098085 165 | COCO_train2014_000000098213 166 | COCO_train2014_000000098495 167 | COCO_train2014_000000098601 168 | COCO_train2014_000000098642 169 | COCO_train2014_000000099064 170 | COCO_train2014_000000099229 171 | COCO_train2014_000000100821 172 | COCO_train2014_000000101968 173 | COCO_train2014_000000102793 174 | COCO_train2014_000000102835 175 | COCO_train2014_000000103822 176 | COCO_train2014_000000104046 177 | COCO_train2014_000000105172 178 | COCO_train2014_000000105531 179 | COCO_train2014_000000105714 180 | COCO_train2014_000000106615 181 | COCO_train2014_000000106772 182 | COCO_train2014_000000107609 183 | COCO_train2014_000000108751 184 | COCO_train2014_000000110159 185 | COCO_train2014_000000110603 186 | COCO_train2014_000000110926 187 | COCO_train2014_000000111103 188 | COCO_train2014_000000111182 189 | COCO_train2014_000000112029 190 | COCO_train2014_000000112122 191 | COCO_train2014_000000112250 192 | COCO_train2014_000000112708 193 | COCO_train2014_000000112726 194 | COCO_train2014_000000112732 195 | COCO_train2014_000000114060 196 | COCO_train2014_000000115421 197 | COCO_train2014_000000116141 198 | COCO_train2014_000000116380 199 | COCO_train2014_000000116717 200 | COCO_train2014_000000117040 201 | COCO_train2014_000000117336 202 | COCO_train2014_000000118022 203 | COCO_train2014_000000118089 204 | COCO_train2014_000000118543 205 | COCO_train2014_000000118590 206 | COCO_train2014_000000118904 207 | COCO_train2014_000000119006 208 | COCO_train2014_000000119808 209 | COCO_train2014_000000120743 210 | COCO_train2014_000000121785 211 | COCO_train2014_000000122459 212 | COCO_train2014_000000122918 213 | COCO_train2014_000000123765 214 | COCO_train2014_000000123967 215 | COCO_train2014_000000124606 216 | COCO_train2014_000000124737 217 | COCO_train2014_000000126127 218 | COCO_train2014_000000126483 219 | COCO_train2014_000000126832 220 | COCO_train2014_000000126921 221 | COCO_train2014_000000127377 222 | COCO_train2014_000000127726 223 | COCO_train2014_000000128665 224 | COCO_train2014_000000129079 225 | COCO_train2014_000000129347 226 | COCO_train2014_000000129359 227 | COCO_train2014_000000129631 228 | COCO_train2014_000000129806 229 | COCO_train2014_000000130132 230 | COCO_train2014_000000130440 231 | COCO_train2014_000000131747 232 | COCO_train2014_000000132041 233 | COCO_train2014_000000132258 234 | COCO_train2014_000000132310 235 | COCO_train2014_000000132607 236 | COCO_train2014_000000132997 237 | COCO_train2014_000000134039 238 | COCO_train2014_000000134430 239 | COCO_train2014_000000135438 240 | COCO_train2014_000000136015 241 | COCO_train2014_000000136158 242 | COCO_train2014_000000137711 243 | COCO_train2014_000000138081 244 | COCO_train2014_000000138137 245 | COCO_train2014_000000138977 246 | COCO_train2014_000000139040 247 | COCO_train2014_000000139095 248 | COCO_train2014_000000140850 249 | COCO_train2014_000000140909 250 | COCO_train2014_000000141051 251 | COCO_train2014_000000142053 252 | COCO_train2014_000000142088 253 | COCO_train2014_000000142276 254 | COCO_train2014_000000142291 255 | COCO_train2014_000000143182 256 | COCO_train2014_000000143965 257 | COCO_train2014_000000145191 258 | COCO_train2014_000000145518 259 | COCO_train2014_000000146586 260 | COCO_train2014_000000146933 261 | COCO_train2014_000000147115 262 | COCO_train2014_000000147392 263 | COCO_train2014_000000148024 264 | COCO_train2014_000000149085 265 | COCO_train2014_000000150197 266 | COCO_train2014_000000150276 267 | COCO_train2014_000000150283 268 | COCO_train2014_000000150462 269 | COCO_train2014_000000150650 270 | COCO_train2014_000000152041 271 | COCO_train2014_000000152238 272 | COCO_train2014_000000152556 273 | COCO_train2014_000000152954 274 | COCO_train2014_000000153126 275 | COCO_train2014_000000153655 276 | COCO_train2014_000000154060 277 | COCO_train2014_000000154171 278 | COCO_train2014_000000154710 279 | COCO_train2014_000000155776 280 | COCO_train2014_000000156471 281 | COCO_train2014_000000156630 282 | COCO_train2014_000000156710 283 | COCO_train2014_000000157603 284 | COCO_train2014_000000157610 285 | COCO_train2014_000000158647 286 | COCO_train2014_000000158718 287 | COCO_train2014_000000158787 288 | COCO_train2014_000000159061 289 | COCO_train2014_000000159128 290 | COCO_train2014_000000159357 291 | COCO_train2014_000000160013 292 | COCO_train2014_000000161414 293 | COCO_train2014_000000163560 294 | COCO_train2014_000000164205 295 | COCO_train2014_000000164655 296 | COCO_train2014_000000164751 297 | COCO_train2014_000000164793 298 | COCO_train2014_000000165571 299 | COCO_train2014_000000166236 300 | COCO_train2014_000000167680 301 | COCO_train2014_000000168338 302 | COCO_train2014_000000168361 303 | COCO_train2014_000000168848 304 | COCO_train2014_000000169766 305 | COCO_train2014_000000170008 306 | COCO_train2014_000000170413 307 | COCO_train2014_000000170780 308 | COCO_train2014_000000171208 309 | COCO_train2014_000000171239 310 | COCO_train2014_000000171472 311 | COCO_train2014_000000171841 312 | COCO_train2014_000000171943 313 | COCO_train2014_000000173228 314 | COCO_train2014_000000176392 315 | COCO_train2014_000000176728 316 | COCO_train2014_000000176729 317 | COCO_train2014_000000178798 318 | COCO_train2014_000000178933 319 | COCO_train2014_000000178966 320 | COCO_train2014_000000181393 321 | COCO_train2014_000000181571 322 | COCO_train2014_000000181623 323 | COCO_train2014_000000181719 324 | COCO_train2014_000000182402 325 | COCO_train2014_000000182497 326 | COCO_train2014_000000182602 327 | COCO_train2014_000000183240 328 | COCO_train2014_000000184520 329 | COCO_train2014_000000184589 330 | COCO_train2014_000000186719 331 | COCO_train2014_000000186784 332 | COCO_train2014_000000187037 333 | COCO_train2014_000000187447 334 | COCO_train2014_000000187738 335 | COCO_train2014_000000187757 336 | COCO_train2014_000000188589 337 | COCO_train2014_000000189045 338 | COCO_train2014_000000189742 339 | COCO_train2014_000000189785 340 | COCO_train2014_000000190141 341 | COCO_train2014_000000190495 342 | COCO_train2014_000000191297 343 | COCO_train2014_000000191327 344 | COCO_train2014_000000191661 345 | COCO_train2014_000000191879 346 | COCO_train2014_000000192048 347 | COCO_train2014_000000192307 348 | COCO_train2014_000000192954 349 | COCO_train2014_000000193972 350 | COCO_train2014_000000194820 351 | COCO_train2014_000000195386 352 | COCO_train2014_000000196460 353 | COCO_train2014_000000196653 354 | COCO_train2014_000000197854 355 | COCO_train2014_000000199093 356 | COCO_train2014_000000199152 357 | COCO_train2014_000000199410 358 | COCO_train2014_000000199899 359 | COCO_train2014_000000200206 360 | COCO_train2014_000000200619 361 | COCO_train2014_000000201213 362 | COCO_train2014_000000201664 363 | COCO_train2014_000000201891 364 | COCO_train2014_000000201893 365 | COCO_train2014_000000202990 366 | COCO_train2014_000000203612 367 | COCO_train2014_000000203867 368 | COCO_train2014_000000204216 369 | COCO_train2014_000000204294 370 | COCO_train2014_000000204345 371 | COCO_train2014_000000204606 372 | COCO_train2014_000000204728 373 | COCO_train2014_000000205313 374 | COCO_train2014_000000205724 375 | COCO_train2014_000000206102 376 | COCO_train2014_000000207573 377 | COCO_train2014_000000208633 378 | COCO_train2014_000000208752 379 | COCO_train2014_000000208961 380 | COCO_train2014_000000209704 381 | COCO_train2014_000000209822 382 | COCO_train2014_000000211161 383 | COCO_train2014_000000211593 384 | COCO_train2014_000000212551 385 | COCO_train2014_000000213204 386 | COCO_train2014_000000213207 387 | COCO_train2014_000000214137 388 | COCO_train2014_000000214489 389 | COCO_train2014_000000214719 390 | COCO_train2014_000000214726 391 | COCO_train2014_000000215092 392 | COCO_train2014_000000216378 393 | COCO_train2014_000000217461 394 | COCO_train2014_000000217958 395 | COCO_train2014_000000218284 396 | COCO_train2014_000000219037 397 | COCO_train2014_000000221425 398 | COCO_train2014_000000225363 399 | COCO_train2014_000000225458 400 | COCO_train2014_000000225669 401 | COCO_train2014_000000227621 402 | COCO_train2014_000000229156 403 | COCO_train2014_000000229312 404 | COCO_train2014_000000229440 405 | COCO_train2014_000000229813 406 | COCO_train2014_000000229947 407 | COCO_train2014_000000230554 408 | COCO_train2014_000000230601 409 | COCO_train2014_000000230777 410 | COCO_train2014_000000231351 411 | COCO_train2014_000000231538 412 | COCO_train2014_000000231881 413 | COCO_train2014_000000232551 414 | COCO_train2014_000000232952 415 | COCO_train2014_000000233292 416 | COCO_train2014_000000234016 417 | COCO_train2014_000000234600 418 | COCO_train2014_000000236350 419 | COCO_train2014_000000236397 420 | COCO_train2014_000000237427 421 | COCO_train2014_000000237834 422 | COCO_train2014_000000237944 423 | COCO_train2014_000000238453 424 | COCO_train2014_000000239670 425 | COCO_train2014_000000239697 426 | COCO_train2014_000000239882 427 | COCO_train2014_000000240322 428 | COCO_train2014_000000241767 429 | COCO_train2014_000000242931 430 | COCO_train2014_000000242979 431 | COCO_train2014_000000243231 432 | COCO_train2014_000000243443 433 | COCO_train2014_000000244812 434 | COCO_train2014_000000247082 435 | COCO_train2014_000000247311 436 | COCO_train2014_000000247515 437 | COCO_train2014_000000247604 438 | COCO_train2014_000000248957 439 | COCO_train2014_000000250223 440 | COCO_train2014_000000250351 441 | COCO_train2014_000000250808 442 | COCO_train2014_000000250849 443 | COCO_train2014_000000251026 444 | COCO_train2014_000000251079 445 | COCO_train2014_000000251557 446 | COCO_train2014_000000251623 447 | COCO_train2014_000000251663 448 | COCO_train2014_000000252025 449 | COCO_train2014_000000252407 450 | COCO_train2014_000000253323 451 | COCO_train2014_000000253942 452 | COCO_train2014_000000254818 453 | COCO_train2014_000000256037 454 | COCO_train2014_000000256706 455 | COCO_train2014_000000257353 456 | COCO_train2014_000000257945 457 | COCO_train2014_000000260741 458 | COCO_train2014_000000260970 459 | COCO_train2014_000000261066 460 | COCO_train2014_000000262001 461 | COCO_train2014_000000262180 462 | COCO_train2014_000000263767 463 | COCO_train2014_000000264158 464 | COCO_train2014_000000264526 465 | COCO_train2014_000000264709 466 | COCO_train2014_000000265179 467 | COCO_train2014_000000265398 468 | COCO_train2014_000000265536 469 | COCO_train2014_000000265938 470 | COCO_train2014_000000266302 471 | COCO_train2014_000000266336 472 | COCO_train2014_000000267106 473 | COCO_train2014_000000268227 474 | COCO_train2014_000000268617 475 | COCO_train2014_000000269903 476 | COCO_train2014_000000270688 477 | COCO_train2014_000000272223 478 | COCO_train2014_000000272679 479 | COCO_train2014_000000273439 480 | COCO_train2014_000000274047 481 | COCO_train2014_000000274521 482 | COCO_train2014_000000275837 483 | COCO_train2014_000000276047 484 | COCO_train2014_000000277204 485 | COCO_train2014_000000277697 486 | COCO_train2014_000000277700 487 | COCO_train2014_000000277857 488 | COCO_train2014_000000279197 489 | COCO_train2014_000000279844 490 | COCO_train2014_000000280177 491 | COCO_train2014_000000280823 492 | COCO_train2014_000000280995 493 | COCO_train2014_000000282252 494 | COCO_train2014_000000282703 495 | COCO_train2014_000000283757 496 | COCO_train2014_000000285667 497 | COCO_train2014_000000286022 498 | COCO_train2014_000000287213 499 | COCO_train2014_000000287760 500 | COCO_train2014_000000287927 501 | COCO_train2014_000000287934 502 | COCO_train2014_000000288171 503 | COCO_train2014_000000288794 504 | COCO_train2014_000000289071 505 | COCO_train2014_000000289158 506 | COCO_train2014_000000289866 507 | COCO_train2014_000000291827 508 | COCO_train2014_000000291915 509 | COCO_train2014_000000292249 510 | COCO_train2014_000000292312 511 | COCO_train2014_000000293340 512 | COCO_train2014_000000294083 513 | COCO_train2014_000000294108 514 | COCO_train2014_000000294186 515 | COCO_train2014_000000295343 516 | COCO_train2014_000000297639 517 | COCO_train2014_000000297678 518 | COCO_train2014_000000297870 519 | COCO_train2014_000000298512 520 | COCO_train2014_000000298878 521 | COCO_train2014_000000299111 522 | COCO_train2014_000000301187 523 | COCO_train2014_000000301296 524 | COCO_train2014_000000301527 525 | COCO_train2014_000000301954 526 | COCO_train2014_000000302065 527 | COCO_train2014_000000302249 528 | COCO_train2014_000000302660 529 | COCO_train2014_000000302715 530 | COCO_train2014_000000303870 531 | COCO_train2014_000000304027 532 | COCO_train2014_000000304459 533 | COCO_train2014_000000304528 534 | COCO_train2014_000000304716 535 | COCO_train2014_000000305014 536 | COCO_train2014_000000305323 537 | COCO_train2014_000000305517 538 | COCO_train2014_000000306232 539 | COCO_train2014_000000306900 540 | COCO_train2014_000000307061 541 | COCO_train2014_000000307435 542 | COCO_train2014_000000307981 543 | COCO_train2014_000000308107 544 | COCO_train2014_000000308768 545 | COCO_train2014_000000312184 546 | COCO_train2014_000000312355 547 | COCO_train2014_000000312800 548 | COCO_train2014_000000314135 549 | COCO_train2014_000000314530 550 | COCO_train2014_000000314904 551 | COCO_train2014_000000315092 552 | COCO_train2014_000000315322 553 | COCO_train2014_000000316524 554 | COCO_train2014_000000317103 555 | COCO_train2014_000000318528 556 | COCO_train2014_000000319741 557 | COCO_train2014_000000320374 558 | COCO_train2014_000000321209 559 | COCO_train2014_000000321306 560 | COCO_train2014_000000321318 561 | COCO_train2014_000000321373 562 | COCO_train2014_000000321711 563 | COCO_train2014_000000322246 564 | COCO_train2014_000000322392 565 | COCO_train2014_000000322402 566 | COCO_train2014_000000322866 567 | COCO_train2014_000000323672 568 | COCO_train2014_000000323728 569 | COCO_train2014_000000323733 570 | COCO_train2014_000000324112 571 | COCO_train2014_000000324413 572 | COCO_train2014_000000325371 573 | COCO_train2014_000000325786 574 | COCO_train2014_000000326805 575 | COCO_train2014_000000328427 576 | COCO_train2014_000000328454 577 | COCO_train2014_000000329188 578 | COCO_train2014_000000329737 579 | COCO_train2014_000000330177 580 | COCO_train2014_000000330395 581 | COCO_train2014_000000332193 582 | COCO_train2014_000000332540 583 | COCO_train2014_000000334158 584 | COCO_train2014_000000334232 585 | COCO_train2014_000000334448 586 | COCO_train2014_000000336335 587 | COCO_train2014_000000336804 588 | COCO_train2014_000000336954 589 | COCO_train2014_000000337609 590 | COCO_train2014_000000338367 591 | COCO_train2014_000000338579 592 | COCO_train2014_000000338597 593 | COCO_train2014_000000339042 594 | COCO_train2014_000000340024 595 | COCO_train2014_000000340454 596 | COCO_train2014_000000342665 597 | COCO_train2014_000000343235 598 | COCO_train2014_000000346450 599 | COCO_train2014_000000346741 600 | COCO_train2014_000000347328 601 | COCO_train2014_000000348299 602 | COCO_train2014_000000352120 603 | COCO_train2014_000000352211 604 | COCO_train2014_000000352264 605 | COCO_train2014_000000352877 606 | COCO_train2014_000000354305 607 | COCO_train2014_000000354493 608 | COCO_train2014_000000354725 609 | COCO_train2014_000000355582 610 | COCO_train2014_000000355603 611 | COCO_train2014_000000355830 612 | COCO_train2014_000000358405 613 | COCO_train2014_000000359147 614 | COCO_train2014_000000359625 615 | COCO_train2014_000000360110 616 | COCO_train2014_000000360157 617 | COCO_train2014_000000361619 618 | COCO_train2014_000000363806 619 | COCO_train2014_000000363947 620 | COCO_train2014_000000365003 621 | COCO_train2014_000000365164 622 | COCO_train2014_000000365458 623 | COCO_train2014_000000365527 624 | COCO_train2014_000000366382 625 | COCO_train2014_000000368044 626 | COCO_train2014_000000368084 627 | COCO_train2014_000000368284 628 | COCO_train2014_000000369201 629 | COCO_train2014_000000369976 630 | COCO_train2014_000000370010 631 | COCO_train2014_000000371244 632 | COCO_train2014_000000372308 633 | COCO_train2014_000000372374 634 | COCO_train2014_000000373045 635 | COCO_train2014_000000373425 636 | COCO_train2014_000000375080 637 | COCO_train2014_000000375153 638 | COCO_train2014_000000375841 639 | COCO_train2014_000000376258 640 | COCO_train2014_000000376701 641 | COCO_train2014_000000377570 642 | COCO_train2014_000000377572 643 | COCO_train2014_000000377666 644 | COCO_train2014_000000378068 645 | COCO_train2014_000000378638 646 | COCO_train2014_000000379672 647 | COCO_train2014_000000379781 648 | COCO_train2014_000000380108 649 | COCO_train2014_000000380191 650 | COCO_train2014_000000380271 651 | COCO_train2014_000000380455 652 | COCO_train2014_000000380520 653 | COCO_train2014_000000381036 654 | COCO_train2014_000000382615 655 | COCO_train2014_000000382789 656 | COCO_train2014_000000383452 657 | COCO_train2014_000000384021 658 | COCO_train2014_000000384605 659 | COCO_train2014_000000385114 660 | COCO_train2014_000000385885 661 | COCO_train2014_000000386876 662 | COCO_train2014_000000388294 663 | COCO_train2014_000000389487 664 | COCO_train2014_000000390969 665 | COCO_train2014_000000393094 666 | COCO_train2014_000000393664 667 | COCO_train2014_000000393721 668 | COCO_train2014_000000393826 669 | COCO_train2014_000000395758 670 | COCO_train2014_000000396793 671 | COCO_train2014_000000396871 672 | COCO_train2014_000000397163 673 | COCO_train2014_000000397212 674 | COCO_train2014_000000397353 675 | COCO_train2014_000000397486 676 | COCO_train2014_000000397645 677 | COCO_train2014_000000397759 678 | COCO_train2014_000000399101 679 | COCO_train2014_000000399746 680 | COCO_train2014_000000400625 681 | COCO_train2014_000000401147 682 | COCO_train2014_000000401167 683 | COCO_train2014_000000401286 684 | COCO_train2014_000000401877 685 | COCO_train2014_000000401977 686 | COCO_train2014_000000402004 687 | COCO_train2014_000000402980 688 | COCO_train2014_000000403222 689 | COCO_train2014_000000404163 690 | COCO_train2014_000000404361 691 | COCO_train2014_000000405312 692 | COCO_train2014_000000405628 693 | COCO_train2014_000000406376 694 | COCO_train2014_000000407381 695 | COCO_train2014_000000407522 696 | COCO_train2014_000000408144 697 | COCO_train2014_000000408460 698 | COCO_train2014_000000410845 699 | COCO_train2014_000000411061 700 | COCO_train2014_000000411441 701 | COCO_train2014_000000411885 702 | COCO_train2014_000000412238 703 | COCO_train2014_000000412734 704 | COCO_train2014_000000413391 705 | COCO_train2014_000000414046 706 | COCO_train2014_000000414492 707 | COCO_train2014_000000414851 708 | COCO_train2014_000000414989 709 | COCO_train2014_000000414999 710 | COCO_train2014_000000415222 711 | COCO_train2014_000000415918 712 | COCO_train2014_000000416172 713 | COCO_train2014_000000416371 714 | COCO_train2014_000000417201 715 | COCO_train2014_000000417369 716 | COCO_train2014_000000417571 717 | COCO_train2014_000000417793 718 | COCO_train2014_000000418964 719 | COCO_train2014_000000419194 720 | COCO_train2014_000000420304 721 | COCO_train2014_000000420552 722 | COCO_train2014_000000420629 723 | COCO_train2014_000000421380 724 | COCO_train2014_000000421630 725 | COCO_train2014_000000422050 726 | COCO_train2014_000000422286 727 | COCO_train2014_000000422314 728 | COCO_train2014_000000423096 729 | COCO_train2014_000000423266 730 | COCO_train2014_000000424912 731 | COCO_train2014_000000425540 732 | COCO_train2014_000000426776 733 | COCO_train2014_000000427990 734 | COCO_train2014_000000428390 735 | COCO_train2014_000000430191 736 | COCO_train2014_000000430346 737 | COCO_train2014_000000430480 738 | COCO_train2014_000000430759 739 | COCO_train2014_000000430890 740 | COCO_train2014_000000431699 741 | COCO_train2014_000000432603 742 | COCO_train2014_000000436626 743 | COCO_train2014_000000436882 744 | COCO_train2014_000000438335 745 | COCO_train2014_000000438964 746 | COCO_train2014_000000439423 747 | COCO_train2014_000000439527 748 | COCO_train2014_000000439875 749 | COCO_train2014_000000441507 750 | COCO_train2014_000000441751 751 | COCO_train2014_000000443243 752 | COCO_train2014_000000443397 753 | COCO_train2014_000000443693 754 | COCO_train2014_000000443764 755 | COCO_train2014_000000444166 756 | COCO_train2014_000000444941 757 | COCO_train2014_000000445080 758 | COCO_train2014_000000445156 759 | COCO_train2014_000000445493 760 | COCO_train2014_000000445528 761 | COCO_train2014_000000446463 762 | COCO_train2014_000000447090 763 | COCO_train2014_000000447785 764 | COCO_train2014_000000449270 765 | COCO_train2014_000000449508 766 | COCO_train2014_000000452500 767 | COCO_train2014_000000452512 768 | COCO_train2014_000000452806 769 | COCO_train2014_000000455313 770 | COCO_train2014_000000455424 771 | COCO_train2014_000000455615 772 | COCO_train2014_000000455677 773 | COCO_train2014_000000456788 774 | COCO_train2014_000000457261 775 | COCO_train2014_000000458281 776 | COCO_train2014_000000458599 777 | COCO_train2014_000000458879 778 | COCO_train2014_000000460092 779 | COCO_train2014_000000460228 780 | COCO_train2014_000000460998 781 | COCO_train2014_000000461519 782 | COCO_train2014_000000461939 783 | COCO_train2014_000000462080 784 | COCO_train2014_000000462238 785 | COCO_train2014_000000462875 786 | COCO_train2014_000000463417 787 | COCO_train2014_000000463823 788 | COCO_train2014_000000464105 789 | COCO_train2014_000000464740 790 | COCO_train2014_000000465045 791 | COCO_train2014_000000466134 792 | COCO_train2014_000000466267 793 | COCO_train2014_000000467572 794 | COCO_train2014_000000469355 795 | COCO_train2014_000000469427 796 | COCO_train2014_000000469556 797 | COCO_train2014_000000469806 798 | COCO_train2014_000000470622 799 | COCO_train2014_000000471020 800 | COCO_train2014_000000472065 801 | COCO_train2014_000000472089 802 | COCO_train2014_000000472432 803 | COCO_train2014_000000472444 804 | COCO_train2014_000000473295 805 | COCO_train2014_000000473375 806 | COCO_train2014_000000473462 807 | COCO_train2014_000000473651 808 | COCO_train2014_000000473912 809 | COCO_train2014_000000474330 810 | COCO_train2014_000000474800 811 | COCO_train2014_000000474832 812 | COCO_train2014_000000475103 813 | COCO_train2014_000000475177 814 | COCO_train2014_000000475370 815 | COCO_train2014_000000475546 816 | COCO_train2014_000000476093 817 | COCO_train2014_000000476553 818 | COCO_train2014_000000476761 819 | COCO_train2014_000000477758 820 | COCO_train2014_000000477861 821 | COCO_train2014_000000478080 822 | COCO_train2014_000000479101 823 | COCO_train2014_000000479325 824 | COCO_train2014_000000479372 825 | COCO_train2014_000000480773 826 | COCO_train2014_000000480790 827 | COCO_train2014_000000480843 828 | COCO_train2014_000000481073 829 | COCO_train2014_000000481759 830 | COCO_train2014_000000482127 831 | COCO_train2014_000000482810 832 | COCO_train2014_000000483573 833 | COCO_train2014_000000483757 834 | COCO_train2014_000000483769 835 | COCO_train2014_000000484033 836 | COCO_train2014_000000486215 837 | COCO_train2014_000000487467 838 | COCO_train2014_000000488432 839 | COCO_train2014_000000488866 840 | COCO_train2014_000000489734 841 | COCO_train2014_000000491259 842 | COCO_train2014_000000491659 843 | COCO_train2014_000000492954 844 | COCO_train2014_000000492973 845 | COCO_train2014_000000495169 846 | COCO_train2014_000000495625 847 | COCO_train2014_000000495902 848 | COCO_train2014_000000496153 849 | COCO_train2014_000000496269 850 | COCO_train2014_000000496322 851 | COCO_train2014_000000496476 852 | COCO_train2014_000000497167 853 | COCO_train2014_000000497350 854 | COCO_train2014_000000497402 855 | COCO_train2014_000000498525 856 | COCO_train2014_000000499179 857 | COCO_train2014_000000499396 858 | COCO_train2014_000000499871 859 | COCO_train2014_000000500077 860 | COCO_train2014_000000501594 861 | COCO_train2014_000000501814 862 | COCO_train2014_000000502134 863 | COCO_train2014_000000502153 864 | COCO_train2014_000000502325 865 | COCO_train2014_000000504147 866 | COCO_train2014_000000504766 867 | COCO_train2014_000000505128 868 | COCO_train2014_000000506034 869 | COCO_train2014_000000506322 870 | COCO_train2014_000000506341 871 | COCO_train2014_000000506379 872 | COCO_train2014_000000506598 873 | COCO_train2014_000000507479 874 | COCO_train2014_000000508227 875 | COCO_train2014_000000508412 876 | COCO_train2014_000000508606 877 | COCO_train2014_000000508878 878 | COCO_train2014_000000508896 879 | COCO_train2014_000000509482 880 | COCO_train2014_000000510260 881 | COCO_train2014_000000512940 882 | COCO_train2014_000000513683 883 | COCO_train2014_000000514939 884 | COCO_train2014_000000515197 885 | COCO_train2014_000000515230 886 | COCO_train2014_000000516500 887 | COCO_train2014_000000517182 888 | COCO_train2014_000000517198 889 | COCO_train2014_000000517508 890 | COCO_train2014_000000517941 891 | COCO_train2014_000000518844 892 | COCO_train2014_000000518898 893 | COCO_train2014_000000520341 894 | COCO_train2014_000000520435 895 | COCO_train2014_000000521218 896 | COCO_train2014_000000522350 897 | COCO_train2014_000000523349 898 | COCO_train2014_000000523981 899 | COCO_train2014_000000524189 900 | COCO_train2014_000000524273 901 | COCO_train2014_000000524297 902 | COCO_train2014_000000525124 903 | COCO_train2014_000000525450 904 | COCO_train2014_000000525876 905 | COCO_train2014_000000526087 906 | COCO_train2014_000000527250 907 | COCO_train2014_000000527623 908 | COCO_train2014_000000527643 909 | COCO_train2014_000000528345 910 | COCO_train2014_000000528550 911 | COCO_train2014_000000528699 912 | COCO_train2014_000000528868 913 | COCO_train2014_000000529645 914 | COCO_train2014_000000531730 915 | COCO_train2014_000000532194 916 | COCO_train2014_000000532342 917 | COCO_train2014_000000533134 918 | COCO_train2014_000000533686 919 | COCO_train2014_000000533888 920 | COCO_train2014_000000534049 921 | COCO_train2014_000000534593 922 | COCO_train2014_000000536039 923 | COCO_train2014_000000536252 924 | COCO_train2014_000000536423 925 | COCO_train2014_000000537337 926 | COCO_train2014_000000539158 927 | COCO_train2014_000000540728 928 | COCO_train2014_000000540831 929 | COCO_train2014_000000542202 930 | COCO_train2014_000000542587 931 | COCO_train2014_000000543182 932 | COCO_train2014_000000543291 933 | COCO_train2014_000000543747 934 | COCO_train2014_000000544384 935 | COCO_train2014_000000544691 936 | COCO_train2014_000000544752 937 | COCO_train2014_000000545072 938 | COCO_train2014_000000545675 939 | COCO_train2014_000000546114 940 | COCO_train2014_000000546140 941 | COCO_train2014_000000547465 942 | COCO_train2014_000000548893 943 | COCO_train2014_000000549098 944 | COCO_train2014_000000549115 945 | COCO_train2014_000000549301 946 | COCO_train2014_000000549400 947 | COCO_train2014_000000550617 948 | COCO_train2014_000000550845 949 | COCO_train2014_000000551679 950 | COCO_train2014_000000551793 951 | COCO_train2014_000000552460 952 | COCO_train2014_000000552678 953 | COCO_train2014_000000552876 954 | COCO_train2014_000000553056 955 | COCO_train2014_000000553149 956 | COCO_train2014_000000554335 957 | COCO_train2014_000000554770 958 | COCO_train2014_000000554943 959 | COCO_train2014_000000556620 960 | COCO_train2014_000000557197 961 | COCO_train2014_000000557483 962 | COCO_train2014_000000559107 963 | COCO_train2014_000000559747 964 | COCO_train2014_000000560573 965 | COCO_train2014_000000560885 966 | COCO_train2014_000000561137 967 | COCO_train2014_000000561251 968 | COCO_train2014_000000561950 969 | COCO_train2014_000000562149 970 | COCO_train2014_000000562461 971 | COCO_train2014_000000562846 972 | COCO_train2014_000000563046 973 | COCO_train2014_000000563168 974 | COCO_train2014_000000564237 975 | COCO_train2014_000000565665 976 | COCO_train2014_000000565684 977 | COCO_train2014_000000565878 978 | COCO_train2014_000000565979 979 | COCO_train2014_000000566969 980 | COCO_train2014_000000569750 981 | COCO_train2014_000000569975 982 | COCO_train2014_000000570225 983 | COCO_train2014_000000570351 984 | COCO_train2014_000000571825 985 | COCO_train2014_000000573241 986 | COCO_train2014_000000574215 987 | COCO_train2014_000000574599 988 | COCO_train2014_000000575202 989 | COCO_train2014_000000575601 990 | COCO_train2014_000000575734 991 | COCO_train2014_000000576675 992 | COCO_train2014_000000577221 993 | COCO_train2014_000000577240 994 | COCO_train2014_000000577876 995 | COCO_train2014_000000578506 996 | COCO_train2014_000000579271 997 | COCO_train2014_000000579907 998 | COCO_train2014_000000579920 999 | COCO_train2014_000000579968 1000 | COCO_train2014_000000581629 1001 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/model/deeplabv2_resnet101/.gitignore: -------------------------------------------------------------------------------- 1 | *.caffemodel 2 | *.solverstate 3 | -------------------------------------------------------------------------------- /models/deeplab/cocostuff/model/deeplabv2_vgg16/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | init.caffemodel 3 | deeplabv2_vgg16_init.caffemodel 4 | -------------------------------------------------------------------------------- /models/deeplab/rescaleAnnotations.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import os 4 | import scipy.ndimage 5 | import scipy.misc 6 | 7 | # Specify folders 8 | tgt_size = 513 9 | image_src = 'cocostuff/data/annotations' 10 | image_tgt = 'cocostuff/data/annotations' + str(tgt_size) 11 | 12 | # Create output folder 13 | if not os.path.exists(image_tgt): 14 | os.makedirs(image_tgt) 15 | 16 | # Resize and copy annotation files 17 | for file in os.listdir(image_src): 18 | image_path_src = os.path.join(image_src, file) 19 | image_path_tgt = os.path.join(image_tgt, file) 20 | image = scipy.ndimage.imread(image_path_src) 21 | image_out = scipy.misc.imresize(image, (513, 513), 'nearest') 22 | scipy.misc.imsave(image_path_tgt, image_out) 23 | print(file) 24 | -------------------------------------------------------------------------------- /models/deeplab/rescaleImages.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import os 4 | import scipy.ndimage 5 | import scipy.misc 6 | 7 | # Specify folders 8 | tgt_size = 513 9 | image_src = 'cocostuff/data/images' 10 | image_tgt = 'cocostuff/data/images' + str(tgt_size) 11 | 12 | # Create output folder 13 | if not os.path.exists(image_tgt): 14 | os.makedirs(image_tgt) 15 | 16 | # Resize and copy image files 17 | for file in os.listdir(image_src): 18 | image_path_src = os.path.join(image_src, file) 19 | image_path_tgt = os.path.join(image_tgt, file) 20 | image = scipy.ndimage.imread(image_path_src) 21 | image_out = scipy.misc.imresize(image, (513, 513)) 22 | scipy.misc.imsave(image_path_tgt, image_out) 23 | print(file) 24 | -------------------------------------------------------------------------------- /models/deeplab/run_cocostuff_resnet101.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ## MODIFY PATH for YOUR SETTING 4 | ROOT_DIR= 5 | CAFFE_DIR=deeplab-public-ver2 6 | CAFFE_BIN=${CAFFE_DIR}/.build_release/tools/caffe.bin 7 | EPOCH=20000 # -1 means we don't resume snapshots 8 | EXP=cocostuff 9 | 10 | if [ "${EXP}" = "cocostuff" ]; then 11 | NUM_LABELS=182 12 | DATA_ROOT=${EXP}/data 13 | else 14 | NUM_LABELS=0 15 | echo "Wrong exp name" 16 | fi 17 | 18 | 19 | ## Specify which model to train 20 | ########### voc12 ################ 21 | NET_ID=deeplabv2_resnet101 22 | if [ "${EPOCH}" -ne "-1" ]; then 23 | SNAPSHOT=${EXP}/model/${NET_ID}/train_iter_${EPOCH}.solverstate 24 | fi 25 | 26 | DEV_ID=0 27 | 28 | ##### 29 | 30 | ## Create dirs 31 | 32 | CONFIG_DIR=${EXP}/config/${NET_ID} 33 | MODEL_DIR=${EXP}/model/${NET_ID} 34 | mkdir -p ${MODEL_DIR} 35 | LOG_DIR=${EXP}/log/${NET_ID} 36 | mkdir -p ${LOG_DIR} 37 | export GLOG_log_dir=${LOG_DIR} 38 | 39 | ## Run 40 | RUN_TRAIN=1 41 | RUN_TEST=1 42 | 43 | ## Training #1 44 | 45 | if [ ${RUN_TRAIN} -eq 1 ]; then 46 | # 47 | LIST_DIR=${EXP}/list 48 | TRAIN_SET=train${TRAIN_SET_SUFFIX} 49 | # 50 | MODEL=${EXP}/model/${NET_ID}/deeplabv2_resnet101_init.caffemodel 51 | # 52 | echo Training net ${EXP}/${NET_ID} 53 | for pname in train solver; do 54 | sed "$(eval echo $(cat sub.sed))" \ 55 | ${CONFIG_DIR}/${pname}.prototxt > ${CONFIG_DIR}/${pname}_${TRAIN_SET}.prototxt 56 | done 57 | CMD="${CAFFE_BIN} train \ 58 | --solver=${CONFIG_DIR}/solver_${TRAIN_SET}.prototxt \ 59 | --gpu=${DEV_ID}" 60 | if [ -f ${SNAPSHOT} ]; then 61 | CMD="${CMD} --snapshot=${SNAPSHOT}" 62 | else 63 | if [ -f ${MODEL} ]; then 64 | CMD="${CMD} --weights=${MODEL}" 65 | fi 66 | fi 67 | echo Running ${CMD} && ${CMD} 68 | fi 69 | 70 | ## Test #1 specification 71 | 72 | if [ ${RUN_TEST} -eq 1 ]; then 73 | # 74 | for TEST_SET in val513; do 75 | TEST_ITER=`cat ${EXP}/list/${TEST_SET}.txt | wc -l` 76 | MODEL=${EXP}/model/${NET_ID}/test.caffemodel 77 | if [ ! -f ${MODEL} ]; then 78 | MODEL=`ls -t ${EXP}/model/${NET_ID}/train_iter_*.caffemodel | head -n 1` 79 | fi 80 | # 81 | echo Testing net ${EXP}/${NET_ID} 82 | FEATURE_DIR=${EXP}/features/${NET_ID} 83 | mkdir -p ${FEATURE_DIR}/${TEST_SET}/fc1 84 | sed "$(eval echo $(cat sub.sed))" \ 85 | ${CONFIG_DIR}/test.prototxt > ${CONFIG_DIR}/test_${TEST_SET}.prototxt 86 | CMD="${CAFFE_BIN} test \ 87 | --model=${CONFIG_DIR}/test_${TEST_SET}.prototxt \ 88 | --weights=${MODEL} \ 89 | --gpu=${DEV_ID} \ 90 | --iterations=${TEST_ITER}" 91 | echo Running ${CMD} && ${CMD} 92 | done 93 | fi 94 | -------------------------------------------------------------------------------- /models/deeplab/run_cocostuff_vgg16.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ## MODIFY PATH for YOUR SETTING 4 | ROOT_DIR= 5 | CAFFE_DIR=deeplab-public-ver2 6 | CAFFE_BIN=${CAFFE_DIR}/.build_release/tools/caffe.bin 7 | EPOCH=20000 # -1 means we don't resume snapshots 8 | EXP=cocostuff 9 | 10 | if [ "${EXP}" = "cocostuff" ]; then 11 | NUM_LABELS=182 12 | DATA_ROOT=${EXP}/data 13 | else 14 | NUM_LABELS=0 15 | echo "Wrong exp name" 16 | fi 17 | 18 | 19 | ## Specify which model to train 20 | ########### voc12 ################ 21 | NET_ID=deeplabv2_vgg16 22 | if [ "${EPOCH}" -ne "-1" ]; then 23 | SNAPSHOT=${EXP}/model/${NET_ID}/train_iter_${EPOCH}.solverstate 24 | fi 25 | 26 | DEV_ID=0 27 | 28 | ##### 29 | 30 | ## Create dirs 31 | 32 | CONFIG_DIR=${EXP}/config/${NET_ID} 33 | MODEL_DIR=${EXP}/model/${NET_ID} 34 | mkdir -p ${MODEL_DIR} 35 | LOG_DIR=${EXP}/log/${NET_ID} 36 | mkdir -p ${LOG_DIR} 37 | export GLOG_log_dir=${LOG_DIR} 38 | 39 | ## Run 40 | RUN_TRAIN=1 41 | RUN_TEST=1 42 | 43 | ## Training #1 44 | 45 | if [ ${RUN_TRAIN} -eq 1 ]; then 46 | # 47 | LIST_DIR=${EXP}/list 48 | TRAIN_SET=train${TRAIN_SET_SUFFIX} 49 | # 50 | MODEL=${EXP}/model/${NET_ID}/deeplabv2_vgg16_init.caffemodel 51 | # 52 | echo Training net ${EXP}/${NET_ID} 53 | for pname in train solver; do 54 | sed "$(eval echo $(cat sub.sed))" \ 55 | ${CONFIG_DIR}/${pname}.prototxt > ${CONFIG_DIR}/${pname}_${TRAIN_SET}.prototxt 56 | done 57 | CMD="${CAFFE_BIN} train \ 58 | --solver=${CONFIG_DIR}/solver_${TRAIN_SET}.prototxt \ 59 | --gpu=${DEV_ID}" 60 | if [ -f ${SNAPSHOT} ]; then 61 | CMD="${CMD} --snapshot=${SNAPSHOT}" 62 | else 63 | if [ -f ${MODEL} ]; then 64 | CMD="${CMD} --weights=${MODEL}" 65 | fi 66 | fi 67 | echo Running ${CMD} && ${CMD} 68 | fi 69 | 70 | ## Test #1 specification 71 | 72 | if [ ${RUN_TEST} -eq 1 ]; then 73 | # 74 | for TEST_SET in val; do 75 | TEST_ITER=`cat ${EXP}/list/${TEST_SET}.txt | wc -l` 76 | MODEL=${EXP}/model/${NET_ID}/test.caffemodel 77 | if [ ! -f ${MODEL} ]; then 78 | MODEL=`ls -t ${EXP}/model/${NET_ID}/train_iter_*.caffemodel | head -n 1` 79 | fi 80 | # 81 | echo Testing net ${EXP}/${NET_ID} 82 | FEATURE_DIR=${EXP}/features/${NET_ID} 83 | mkdir -p ${FEATURE_DIR}/${TEST_SET}/fc8 84 | sed "$(eval echo $(cat sub.sed))" \ 85 | ${CONFIG_DIR}/test.prototxt > ${CONFIG_DIR}/test_${TEST_SET}.prototxt 86 | CMD="${CAFFE_BIN} test \ 87 | --model=${CONFIG_DIR}/test_${TEST_SET}.prototxt \ 88 | --weights=${MODEL} \ 89 | --gpu=${DEV_ID} \ 90 | --iterations=${TEST_ITER}" 91 | echo Running ${CMD} && ${CMD} 92 | done 93 | fi 94 | -------------------------------------------------------------------------------- /models/deeplab/sub.sed: -------------------------------------------------------------------------------- 1 | 's,${DATA_ROOT},'"${DATA_ROOT}"',g;s,${DATA_ROOT1},'"${DATA_ROOT1}"',g;s,${EXP},'"${EXP}"',g;s,${EXP1},'"${EXP1}"',g;s,${TRAIN_SET},'"${TRAIN_SET}"',g;s,${TRAIN_SET1},'"${TRAIN_SET1}"',g;s,${TRAIN_SET1_WEAK},'"${TRAIN_SET1_WEAK}"',g;s,${TRAIN_SET1_STRONG},'"${TRAIN_SET1_STRONG}"',g;s,${TEST_SET},'"${TEST_SET}"',g;s,${NET_ID},'"${NET_ID}"',g;s,${FEATURE_DIR},'"${FEATURE_DIR}"',g;s,${NUM_LABELS},'"${NUM_LABELS}"',g;s,${NUM_LABELS1},'"${NUM_LABELS1}"',g;s,${NUM_LABELS_UNION},'"${NUM_LABELS_UNION}"',g;s,${BG_BIAS},'"${BG_BIAS}"',g;s,${FG_BIAS},'"${FG_BIAS}"',g;s,${TRAIN_SET_STRONG},'"${TRAIN_SET_STRONG}"',g;s,${TRAIN_SET_WEAK},'"${TRAIN_SET_WEAK}"',g;s,${BATCH_SIZE},'"${BATCH_SIZE}"',g;s,${TEST_SET_PREFIX},'"${TEST_SET_PREFIX}"',g;s,${TRAIN_STEP},'"${TRAIN_STEP}"',g' 2 | -------------------------------------------------------------------------------- /startup.m: -------------------------------------------------------------------------------- 1 | function startup() 2 | % startup() 3 | % 4 | % Startup scripts that adds all the required code folders to the Matlab path. 5 | % 6 | % Copyright by Holger Caesar, 2016 7 | 8 | % Check that we are in the right folder 9 | if ~strcmp(pwd(), fileparts(mfilename('fullpath'))) 10 | fprintf('Warning: All scripts should be called from the root level of the COCO-Stuff repository!'); 11 | end 12 | 13 | % Add folders to path 14 | addpath(genpath(fullfile('dataset', 'code'))); 15 | addpath(genpath(fullfile('annotator', 'code'))); 16 | --------------------------------------------------------------------------------