├── .gitignore ├── LICENSE ├── README.md ├── compile_matconvnet.m ├── dataset ├── OTB │ └── Diving │ │ ├── cfg.mat │ │ ├── groundtruth_rect.txt │ │ └── img │ │ ├── 0001.jpg │ │ ├── 0002.jpg │ │ ├── 0003.jpg │ │ ├── 0004.jpg │ │ ├── 0005.jpg │ │ ├── 0006.jpg │ │ ├── 0007.jpg │ │ ├── 0008.jpg │ │ ├── 0009.jpg │ │ ├── 0010.jpg │ │ ├── 0011.jpg │ │ ├── 0012.jpg │ │ ├── 0013.jpg │ │ ├── 0014.jpg │ │ ├── 0015.jpg │ │ ├── 0016.jpg │ │ ├── 0017.jpg │ │ ├── 0018.jpg │ │ ├── 0019.jpg │ │ ├── 0020.jpg │ │ ├── 0021.jpg │ │ ├── 0022.jpg │ │ ├── 0023.jpg │ │ ├── 0024.jpg │ │ ├── 0025.jpg │ │ ├── 0026.jpg │ │ ├── 0027.jpg │ │ ├── 0028.jpg │ │ ├── 0029.jpg │ │ ├── 0030.jpg │ │ ├── 0031.jpg │ │ ├── 0032.jpg │ │ ├── 0033.jpg │ │ ├── 0034.jpg │ │ ├── 0035.jpg │ │ ├── 0036.jpg │ │ ├── 0037.jpg │ │ ├── 0038.jpg │ │ ├── 0039.jpg │ │ ├── 0040.jpg │ │ ├── 0041.jpg │ │ ├── 0042.jpg │ │ ├── 0043.jpg │ │ ├── 0044.jpg │ │ ├── 0045.jpg │ │ ├── 0046.jpg │ │ ├── 0047.jpg │ │ ├── 0048.jpg │ │ ├── 0049.jpg │ │ ├── 0050.jpg │ │ ├── 0051.jpg │ │ ├── 0052.jpg │ │ ├── 0053.jpg │ │ ├── 0054.jpg │ │ ├── 0055.jpg │ │ ├── 0056.jpg │ │ ├── 0057.jpg │ │ ├── 0058.jpg │ │ ├── 0059.jpg │ │ ├── 0060.jpg │ │ ├── 0061.jpg │ │ ├── 0062.jpg │ │ ├── 0063.jpg │ │ ├── 0064.jpg │ │ ├── 0065.jpg │ │ ├── 0066.jpg │ │ ├── 0067.jpg │ │ ├── 0068.jpg │ │ ├── 0069.jpg │ │ ├── 0070.jpg │ │ ├── 0071.jpg │ │ ├── 0072.jpg │ │ ├── 0073.jpg │ │ ├── 0074.jpg │ │ ├── 0075.jpg │ │ ├── 0076.jpg │ │ ├── 0077.jpg │ │ ├── 0078.jpg │ │ ├── 0079.jpg │ │ ├── 0080.jpg │ │ ├── 0081.jpg │ │ ├── 0082.jpg │ │ ├── 0083.jpg │ │ ├── 0084.jpg │ │ ├── 0085.jpg │ │ ├── 0086.jpg │ │ ├── 0087.jpg │ │ ├── 0088.jpg │ │ ├── 0089.jpg │ │ ├── 0090.jpg │ │ ├── 0091.jpg │ │ ├── 0092.jpg │ │ ├── 0093.jpg │ │ ├── 0094.jpg │ │ ├── 0095.jpg │ │ ├── 0096.jpg │ │ ├── 0097.jpg │ │ ├── 0098.jpg │ │ ├── 0099.jpg │ │ ├── 0100.jpg │ │ ├── 0101.jpg │ │ ├── 0102.jpg │ │ ├── 0103.jpg │ │ ├── 0104.jpg │ │ ├── 0105.jpg │ │ ├── 0106.jpg │ │ ├── 0107.jpg │ │ ├── 0108.jpg │ │ ├── 0109.jpg │ │ ├── 0110.jpg │ │ ├── 0111.jpg │ │ ├── 0112.jpg │ │ ├── 0113.jpg │ │ ├── 0114.jpg │ │ ├── 0115.jpg │ │ ├── 0116.jpg │ │ ├── 0117.jpg │ │ ├── 0118.jpg │ │ ├── 0119.jpg │ │ ├── 0120.jpg │ │ ├── 0121.jpg │ │ ├── 0122.jpg │ │ ├── 0123.jpg │ │ ├── 0124.jpg │ │ ├── 0125.jpg │ │ ├── 0126.jpg │ │ ├── 0127.jpg │ │ ├── 0128.jpg │ │ ├── 0129.jpg │ │ ├── 0130.jpg │ │ ├── 0131.jpg │ │ ├── 0132.jpg │ │ ├── 0133.jpg │ │ ├── 0134.jpg │ │ ├── 0135.jpg │ │ ├── 0136.jpg │ │ ├── 0137.jpg │ │ ├── 0138.jpg │ │ ├── 0139.jpg │ │ ├── 0140.jpg │ │ ├── 0141.jpg │ │ ├── 0142.jpg │ │ ├── 0143.jpg │ │ ├── 0144.jpg │ │ ├── 0145.jpg │ │ ├── 0146.jpg │ │ ├── 0147.jpg │ │ ├── 0148.jpg │ │ ├── 0149.jpg │ │ ├── 0150.jpg │ │ ├── 0151.jpg │ │ ├── 0152.jpg │ │ ├── 0153.jpg │ │ ├── 0154.jpg │ │ ├── 0155.jpg │ │ ├── 0156.jpg │ │ ├── 0157.jpg │ │ ├── 0158.jpg │ │ ├── 0159.jpg │ │ ├── 0160.jpg │ │ ├── 0161.jpg │ │ ├── 0162.jpg │ │ ├── 0163.jpg │ │ ├── 0164.jpg │ │ ├── 0165.jpg │ │ ├── 0166.jpg │ │ ├── 0167.jpg │ │ ├── 0168.jpg │ │ ├── 0169.jpg │ │ ├── 0170.jpg │ │ ├── 0171.jpg │ │ ├── 0172.jpg │ │ ├── 0173.jpg │ │ ├── 0174.jpg │ │ ├── 0175.jpg │ │ ├── 0176.jpg │ │ ├── 0177.jpg │ │ ├── 0178.jpg │ │ ├── 0179.jpg │ │ ├── 0180.jpg │ │ ├── 0181.jpg │ │ ├── 0182.jpg │ │ ├── 0183.jpg │ │ ├── 0184.jpg │ │ ├── 0185.jpg │ │ ├── 0186.jpg │ │ ├── 0187.jpg │ │ ├── 0188.jpg │ │ ├── 0189.jpg │ │ ├── 0190.jpg │ │ ├── 0191.jpg │ │ ├── 0192.jpg │ │ ├── 0193.jpg │ │ ├── 0194.jpg │ │ ├── 0195.jpg │ │ ├── 0196.jpg │ │ ├── 0197.jpg │ │ ├── 0198.jpg │ │ ├── 0199.jpg │ │ ├── 0200.jpg │ │ ├── 0201.jpg │ │ ├── 0202.jpg │ │ ├── 0203.jpg │ │ ├── 0204.jpg │ │ ├── 0205.jpg │ │ ├── 0206.jpg │ │ ├── 0207.jpg │ │ ├── 0208.jpg │ │ ├── 0209.jpg │ │ ├── 0210.jpg │ │ ├── 0211.jpg │ │ ├── 0212.jpg │ │ ├── 0213.jpg │ │ ├── 0214.jpg │ │ ├── 0215.jpg │ │ ├── 0216.jpg │ │ ├── 0217.jpg │ │ ├── 0218.jpg │ │ ├── 0219.jpg │ │ ├── 0220.jpg │ │ ├── 0221.jpg │ │ ├── 0222.jpg │ │ ├── 0223.jpg │ │ ├── 0224.jpg │ │ ├── 0225.jpg │ │ ├── 0226.jpg │ │ ├── 0227.jpg │ │ ├── 0228.jpg │ │ ├── 0229.jpg │ │ ├── 0230.jpg │ │ └── 0231.jpg └── VOT │ └── 2015 │ └── ball1 │ ├── 00000001.jpg │ ├── 00000002.jpg │ ├── 00000003.jpg │ ├── 00000004.jpg │ ├── 00000005.jpg │ ├── 00000006.jpg │ ├── 00000007.jpg │ ├── 00000008.jpg │ ├── 00000009.jpg │ ├── 00000010.jpg │ ├── 00000011.jpg │ ├── 00000012.jpg │ ├── 00000013.jpg │ ├── 00000014.jpg │ ├── 00000015.jpg │ ├── 00000016.jpg │ ├── 00000017.jpg │ ├── 00000018.jpg │ ├── 00000019.jpg │ ├── 00000020.jpg │ ├── 00000021.jpg │ ├── 00000022.jpg │ ├── 00000023.jpg │ ├── 00000024.jpg │ ├── 00000025.jpg │ ├── 00000026.jpg │ ├── 00000027.jpg │ ├── 00000028.jpg │ ├── 00000029.jpg │ ├── 00000030.jpg │ ├── 00000031.jpg │ ├── 00000032.jpg │ ├── 00000033.jpg │ ├── 00000034.jpg │ ├── 00000035.jpg │ ├── 00000036.jpg │ ├── 00000037.jpg │ ├── 00000038.jpg │ ├── 00000039.jpg │ ├── 00000040.jpg │ ├── 00000041.jpg │ ├── 00000042.jpg │ ├── 00000043.jpg │ ├── 00000044.jpg │ ├── 00000045.jpg │ ├── 00000046.jpg │ ├── 00000047.jpg │ ├── 00000048.jpg │ ├── 00000049.jpg │ ├── 00000050.jpg │ ├── 00000051.jpg │ ├── 00000052.jpg │ ├── 00000053.jpg │ ├── 00000054.jpg │ ├── 00000055.jpg │ ├── 00000056.jpg │ ├── 00000057.jpg │ ├── 00000058.jpg │ ├── 00000059.jpg │ ├── 00000060.jpg │ ├── 00000061.jpg │ ├── 00000062.jpg │ ├── 00000063.jpg │ ├── 00000064.jpg │ ├── 00000065.jpg │ ├── 00000066.jpg │ ├── 00000067.jpg │ ├── 00000068.jpg │ ├── 00000069.jpg │ ├── 00000070.jpg │ ├── 00000071.jpg │ ├── 00000072.jpg │ ├── 00000073.jpg │ ├── 00000074.jpg │ ├── 00000075.jpg │ ├── 00000076.jpg │ ├── 00000077.jpg │ ├── 00000078.jpg │ ├── 00000079.jpg │ ├── 00000080.jpg │ ├── 00000081.jpg │ ├── 00000082.jpg │ ├── 00000083.jpg │ ├── 00000084.jpg │ ├── 00000085.jpg │ ├── 00000086.jpg │ ├── 00000087.jpg │ ├── 00000088.jpg │ ├── 00000089.jpg │ ├── 00000090.jpg │ ├── 00000091.jpg │ ├── 00000092.jpg │ ├── 00000093.jpg │ ├── 00000094.jpg │ ├── 00000095.jpg │ ├── 00000096.jpg │ ├── 00000097.jpg │ ├── 00000098.jpg │ ├── 00000099.jpg │ ├── 00000100.jpg │ ├── 00000101.jpg │ ├── 00000102.jpg │ ├── 00000103.jpg │ ├── 00000104.jpg │ ├── 00000105.jpg │ └── groundtruth.txt ├── matconvnet ├── .gitignore ├── .gitmodules ├── COPYING ├── Makefile ├── Makefile.mex ├── Makefile.nvcc ├── README.md └── matlab │ ├── src │ ├── bits │ │ ├── data.cpp │ │ ├── data.cu │ │ ├── data.hpp │ │ ├── datacu.cu │ │ ├── datacu.hpp │ │ ├── datamex.cpp │ │ ├── datamex.cu │ │ ├── datamex.hpp │ │ ├── impl │ │ │ ├── blashelper.hpp │ │ │ ├── copy.hpp │ │ │ ├── copy_cpu.cpp │ │ │ ├── copy_gpu.cu │ │ │ ├── fast_mutex.h │ │ │ ├── im2row.hpp │ │ │ ├── im2row_cpu.cpp │ │ │ ├── im2row_gpu.cu │ │ │ ├── imread_gdiplus.cpp │ │ │ ├── imread_helpers.hpp │ │ │ ├── imread_libjpeg.cpp │ │ │ ├── imread_quartz.cpp │ │ │ ├── nnconv_blas.hpp │ │ │ ├── nnconv_cudnn.cu │ │ │ ├── nnconv_cudnn.hpp │ │ │ ├── nnpooling_cudnn.cu │ │ │ ├── nnpooling_cudnn.hpp │ │ │ ├── normalize.hpp │ │ │ ├── normalize_cpu.cpp │ │ │ ├── normalize_gpu.cu │ │ │ ├── pooling.hpp │ │ │ ├── pooling_cpu.cpp │ │ │ ├── pooling_gpu.cu │ │ │ ├── subsample.hpp │ │ │ ├── subsample_cpu.cpp │ │ │ ├── subsample_gpu.cu │ │ │ ├── tinythread.cpp │ │ │ └── tinythread.h │ │ ├── imread.hpp │ │ ├── mexutils.h │ │ ├── nnconv.cpp │ │ ├── nnconv.cu │ │ ├── nnconv.hpp │ │ ├── nnfullyconnected.cpp │ │ ├── nnfullyconnected.cu │ │ ├── nnfullyconnected.hpp │ │ ├── nnnormalize.cpp │ │ ├── nnnormalize.cu │ │ ├── nnnormalize.hpp │ │ ├── nnpooling.cpp │ │ ├── nnpooling.cu │ │ ├── nnpooling.hpp │ │ ├── nnsubsample.cpp │ │ ├── nnsubsample.cu │ │ └── nnsubsample.hpp │ ├── config │ │ ├── mex_CUDA_glnxa64.sh │ │ ├── mex_CUDA_glnxa64.xml │ │ ├── mex_CUDA_maci64.sh │ │ └── mex_CUDA_maci64.xml │ ├── vl_imreadjpeg.cpp │ ├── vl_imreadjpeg.cu │ ├── vl_nnconv.cpp │ ├── vl_nnconv.cu │ ├── vl_nnnormalize.cpp │ ├── vl_nnnormalize.cu │ ├── vl_nnpool.cpp │ └── vl_nnpool.cu │ ├── vl_argparse.m │ ├── vl_compilenn.m │ ├── vl_imreadjpeg.m │ ├── vl_nnconv.m │ ├── vl_nndropout.m │ ├── vl_nnloss.m │ ├── vl_nnnoffset.m │ ├── vl_nnnormalize.m │ ├── vl_nnpool.m │ ├── vl_nnrelu.m │ ├── vl_nnsoftmax.m │ ├── vl_nnsoftmaxloss.m │ ├── vl_rootnn.m │ ├── vl_setupnn.m │ ├── vl_simplenn.m │ ├── vl_simplenn_diagnose.m │ ├── vl_simplenn_display.m │ ├── vl_simplenn_move.m │ └── xtest │ ├── vl_bench_imreadjpeg.m │ ├── vl_test_gpureset.m │ ├── vl_test_imreadjpeg.m │ ├── vl_test_nnlayers.m │ ├── vl_testder.m │ └── vl_testsim.m ├── models ├── imagenet-vgg-m-conv1-3.mat ├── mdnet_otb-vot14.mat ├── mdnet_otb-vot15.mat └── mdnet_vot-otb.mat ├── pretraining ├── demo_pretraining.m ├── get_batch.m ├── mdnet_prepare_model.m ├── mdnet_pretrain.m ├── mdnet_simplenn.m ├── mdnet_train.m ├── seq2roidb.m └── seqList │ ├── otb-vot14.txt │ ├── otb-vot15.txt │ ├── vot13-otb.txt │ ├── vot14-otb.txt │ └── vot15-otb.txt ├── setup_mdnet.m ├── tracking ├── demo_tracking.m ├── gen_samples.m ├── mdnet_extract_regions.m ├── mdnet_features_convX.m ├── mdnet_features_fcX.m ├── mdnet_finetune_hnm.m ├── mdnet_init.m └── mdnet_run.m └── utils ├── genConfig.m ├── im_crop.m ├── overlap_ratio.m ├── parseImg.m ├── predict_bbox_regressor.m └── train_bbox_regressor.m /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | dataset_link 3 | dataset/download_datasets.m 4 | dataset/OTB/seq_list.txt 5 | 6 | models/data_vot-otb/* 7 | models/data_otb-vot14/* 8 | models/data_otb-vot15/* 9 | models/mdnet_init.mat 10 | models/mdnet_vot-otb_new.mat 11 | models/mdnet_otb-vot14_new.mat 12 | models/mdnet_otb-vot15_new.mat -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Pohang University of Science and Technology. All rights reserved. 2 | 3 | Contact person: 4 | Hyeonseob Nam (namhs09 postech.ac.kr) 5 | 6 | This software is being made available for individual research use only. 7 | Any commercial use or redistribution of this software requires a license from 8 | the Pohang University of Science and Technology. 9 | 10 | You may use this work subject to the following conditions: 11 | 12 | 1. This work is provided "as is" by the copyright holder, with 13 | absolutely no warranties of correctness, fitness, intellectual property 14 | ownership, or anything else whatsoever. You use the work 15 | entirely at your own risk. The copyright holder will not be liable for 16 | any legal damages whatsoever connected with the use of this work. 17 | 18 | 2. The copyright holder retain all copyright to the work. All copies of 19 | the work and all works derived from it must contain (1) this copyright 20 | notice, and (2) additional notices describing the content, dates and 21 | copyright holder of modifications or additions made to the work, if 22 | any, including distribution and use conditions and intellectual property 23 | claims. Derived works must be clearly distinguished from the original 24 | work, both by name and by the prominent inclusion of explicit 25 | descriptions of overlaps and differences. 26 | 27 | 3. The names and trademarks of the copyright holder may not be used in 28 | advertising or publicity related to this work without specific prior 29 | written permission. 30 | 31 | 4. In return for the free use of this work, you are requested, but not 32 | legally required, to do the following: 33 | 34 | * If you become aware of factors that may significantly affect other 35 | users of the work, for example major bugs or 36 | deficiencies or possible intellectual property issues, you are 37 | requested to report them to the copyright holder, if possible 38 | including redistributable fixes or workarounds. 39 | 40 | * If you use the work in scientific research or as part of a larger 41 | software system, you are requested to cite the use in any related 42 | publications or technical documentation. The work is based upon: 43 | 44 | Hyeonseob Nam, Bohyung Han. 45 | Learning Multi-Domain Convolutional Neural Networks for Visual Tracking 46 | CVPR, 2016. 47 | 48 | @InProceedings{nam2016mdnet, 49 | author = {Nam, Hyeonseob and Han, Bohyung}, 50 | title = {Learning Multi-Domain Convolutional Neural Networks for Visual Tracking}, 51 | booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, 52 | month = {June}, 53 | year = {2016} 54 | } 55 | 56 | This copyright notice must be retained with all copies of the software, 57 | including any modified or derived versions. 58 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## MDNet: Multi-Domain Convolutional Neural Network Tracker 2 | 3 | Created by [Hyeonseob Nam](https://hyeonseobnam.github.io/) and [Bohyung Han](http://cvlab.postech.ac.kr/~bhhan/) at POSTECH 4 | 5 | Project Webpage: http://cvlab.postech.ac.kr/research/mdnet/ 6 | 7 | 8 | ### News 9 | **(May 28, 2017) Python implementation of MDNet is avaliable! [[py-MDNet]](https://github.com/HyeonseobNam/py-MDNet)** 10 | 11 | 12 | 13 | ### Introduction 14 | 15 | MDNet is the state-of-the-art visual tracker based on a CNN trained on a large set of tracking sequences, 16 | and the winner tracker of [The VOT2015 Challenge](http://www.votchallenge.net/vot2015/). 17 | 18 | Detailed description of the system is provided by our [paper](http://arxiv.org/abs/1510.07945). 19 | 20 | This software is implemented using [MatConvNet](http://www.vlfeat.org/matconvnet/) and part of [R-CNN](https://github.com/rbgirshick/rcnn). 21 | 22 | ### Citation 23 | 24 | If you're using this code in a publication, please cite our paper. 25 | 26 | @InProceedings{nam2016mdnet, 27 | author = {Nam, Hyeonseob and Han, Bohyung}, 28 | title = {Learning Multi-Domain Convolutional Neural Networks for Visual Tracking}, 29 | booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, 30 | month = {June}, 31 | year = {2016} 32 | } 33 | 34 | 35 | ### License 36 | 37 | This software is being made available for research purpose only. 38 | Check LICENSE file for details. 39 | 40 | 41 | ### System Requirements 42 | 43 | This code is tested on 64 bit Linux (Ubuntu 14.04 LTS). 44 | 45 | **Prerequisites** 46 | 0. MATLAB (tested with R2014a) 47 | 0. MatConvNet (tested with version 1.0-beta10, included in this repository) 48 | 0. For GPU support, a GPU (~2GB memory) and CUDA toolkit according to the [MatConvNet installation guideline](http://www.vlfeat.org/matconvnet/install/) will be needed. 49 | 50 | 51 | ### Installation 52 | 53 | 0. Compile MatConvNet according to the [installation guideline](http://www.vlfeat.org/matconvnet/install/). An example script is provided in 'compile_matconvnet.m'. 54 | 0. Run 'setup_mdnet.m' to set the environment for running MDNet. 55 | 56 | 57 | ### Online Tracking using MDNet 58 | 59 | **Pretrained Models** 60 | 61 | If you only need to run the tracker, you can use the pretrained MDNet models: 62 | 0. models/mdnet_vot-otb.mat (trained on VOT13,14,15 excluding OTB) 63 | 0. models/mdnet_otb-vot14.mat (trained on OTB excluding VOT14) 64 | 0. models/mdnet_otb-vot15.mat (trained on OTB excluding VOT15) 65 | 66 | **Demo** 67 | 0. Run 'tracking/demo_tracking.m'. 68 | 69 | The demo performs online tracking on *'Diving'* sequence using a pretrained model 'models/mdnet_vot-otb.mat'. 70 | 71 | In case of out of GPU memory, decrease *opts.batchSize_test* in 'tracking/mdnet_init.m'. 72 | You can also disable the GPU support by setting *opts.useGpu* in 'tracking/mdnet_init.m' to false (not recommended). 73 | 74 | 75 | ### Learning MDNet 76 | 77 | **Preparing Datasets** 78 | 79 | You may need OTB and VOT datasets for learning MDNet models. You can also use other datasets by configuring 'utils/genConfig.m'. 80 | 0. Download [OTB](http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html) and [VOT](http://www.votchallenge.net/) datasets. 81 | 0. Locate the OTB sequences in 'dataset/OTB' and VOT201x sequences in 'dataset/VOT/201x', or modify the variables *benchmarkSeqHome* in 'utils/genConfig.m' properly. 82 | 83 | **Demo** 84 | 0. Run 'pretraining/demo_pretraining.m'. 85 | 86 | The demo trains new MDNet models using OTB or VOT sequences. 87 | -------------------------------------------------------------------------------- /compile_matconvnet.m: -------------------------------------------------------------------------------- 1 | %% COMPILE_MATCONVNET 2 | % 3 | % Compile MatConvNet 4 | % 5 | % Hyeonseob Nam, 2015 6 | % 7 | 8 | run matconvnet/matlab/vl_setupnn ; 9 | cd matconvnet; 10 | vl_compilenn('enableGpu', true, ... 11 | 'cudaRoot', '/usr/local/cuda-6.5', ... 12 | 'cudaMethod', 'nvcc'); 13 | cd ..; 14 | -------------------------------------------------------------------------------- /dataset/OTB/Diving/cfg.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/cfg.mat -------------------------------------------------------------------------------- /dataset/OTB/Diving/groundtruth_rect.txt: -------------------------------------------------------------------------------- 1 | 177,51,21,129 2 | 178,51,21,129 3 | 180,52,19,129 4 | 179,52,20,130 5 | 177,52,22,129 6 | 176,53,23,127 7 | 177,52,23,132 8 | 176,52,24,128 9 | 177,52,22,130 10 | 178,53,21,130 11 | 178,53,21,129 12 | 176,53,24,130 13 | 177,54,21,125 14 | 176,53,23,129 15 | 177,54,21,129 16 | 176,55,20,127 17 | 174,55,24,128 18 | 175,55,23,129 19 | 176,56,20,129 20 | 174,56,22,128 21 | 174,57,23,127 22 | 174,58,22,126 23 | 174,57,21,127 24 | 174,57,23,128 25 | 173,58,24,127 26 | 174,58,21,127 27 | 174,59,19,126 28 | 172,60,20,125 29 | 172,64,19,120 30 | 170,67,22,121 31 | 167,69,25,119 32 | 169,70,23,118 33 | 170,72,23,116 34 | 168,72,23,116 35 | 165,76,26,114 36 | 165,71,31,119 37 | 166,74,26,113 38 | 165,70,28,118 39 | 164,75,27,109 40 | 161,73,37,111 41 | 160,70,45,116 42 | 159,72,46,112 43 | 159,74,48,112 44 | 159,74,48,110 45 | 158,77,46,106 46 | 158,78,46,105 47 | 157,80,47,102 48 | 157,82,47,101 49 | 156,83,47,100 50 | 157,85,46,100 51 | 157,84,46,103 52 | 157,87,45,102 53 | 157,88,44,104 54 | 157,90,45,106 55 | 157,92,44,105 56 | 158,92,43,110 57 | 157,92,44,111 58 | 159,92,43,115 59 | 156,93,50,115 60 | 158,96,47,113 61 | 161,95,42,115 62 | 161,95,42,115 63 | 160,95,44,117 64 | 159,94,45,115 65 | 157,92,43,120 66 | 157,92,45,122 67 | 159,91,46,122 68 | 159,89,45,122 69 | 160,87,46,123 70 | 160,86,46,123 71 | 159,84,50,122 72 | 163,83,44,121 73 | 162,81,47,122 74 | 162,78,49,120 75 | 162,77,51,120 76 | 163,75,54,118 77 | 165,74,52,115 78 | 166,74,56,112 79 | 167,72,57,110 80 | 165,73,61,106 81 | 165,72,63,101 82 | 165,74,67,95 83 | 164,76,69,89 84 | 164,79,72,85 85 | 164,78,73,81 86 | 164,73,73,85 87 | 162,70,75,82 88 | 162,70,71,80 89 | 160,66,71,79 90 | 157,65,68,78 91 | 154,66,64,67 92 | 150,64,62,66 93 | 152,63,57,68 94 | 149,64,64,68 95 | 146,65,67,65 96 | 147,67,67,62 97 | 142,68,72,60 98 | 143,72,76,47 99 | 143,69,75,49 100 | 150,64,69,47 101 | 154,63,67,49 102 | 151,58,67,53 103 | 152,48,66,65 104 | 151,52,65,63 105 | 153,45,61,68 106 | 153,41,58,72 107 | 155,40,52,75 108 | 158,39,49,77 109 | 161,40,55,75 110 | 165,45,58,72 111 | 165,50,63,64 112 | 164,51,70,63 113 | 164,52,73,61 114 | 163,54,76,56 115 | 161,56,77,49 116 | 161,61,78,41 117 | 159,62,77,42 118 | 158,65,75,44 119 | 159,64,67,50 120 | 159,62,65,56 121 | 160,61,56,60 122 | 162,58,52,67 123 | 166,57,47,76 124 | 166,56,44,72 125 | 170,55,35,72 126 | 167,54,38,69 127 | 164,53,41,68 128 | 159,54,50,62 129 | 151,55,58,62 130 | 153,57,55,55 131 | 146,59,65,53 132 | 143,61,70,49 133 | 141,64,73,44 134 | 138,62,77,45 135 | 143,54,72,52 136 | 146,47,70,56 137 | 150,40,66,65 138 | 151,35,63,72 139 | 151,34,59,73 140 | 152,31,56,76 141 | 153,32,51,77 142 | 157,35,46,77 143 | 163,35,43,78 144 | 166,40,46,73 145 | 166,43,52,75 146 | 164,51,61,65 147 | 163,52,67,64 148 | 161,60,70,52 149 | 161,61,72,49 150 | 159,66,74,39 151 | 159,71,75,35 152 | 157,71,77,40 153 | 158,71,74,47 154 | 158,71,66,55 155 | 161,71,59,57 156 | 164,70,51,65 157 | 166,69,46,66 158 | 168,70,39,61 159 | 166,70,44,63 160 | 164,71,45,65 161 | 164,73,39,63 162 | 166,72,42,65 163 | 159,78,50,58 164 | 161,79,49,53 165 | 162,85,52,46 166 | 156,89,59,38 167 | 153,93,64,34 168 | 156,91,62,38 169 | 154,92,64,39 170 | 153,90,62,43 171 | 154,83,60,52 172 | 159,77,51,60 173 | 160,74,47,66 174 | 163,77,43,68 175 | 162,77,43,68 176 | 163,74,44,74 177 | 164,78,44,70 178 | 163,87,37,64 179 | 161,88,56,60 180 | 161,92,52,54 181 | 158,95,63,50 182 | 157,98,57,43 183 | 155,99,63,42 184 | 155,100,60,45 185 | 155,101,59,51 186 | 154,101,63,58 187 | 154,102,64,70 188 | 156,103,60,74 189 | 154,102,66,78 190 | 157,100,64,79 191 | 158,101,66,82 192 | 157,101,66,81 193 | 148,103,77,76 194 | 141,103,88,73 195 | 135,102,91,70 196 | 127,104,103,61 197 | 122,105,106,56 198 | 117,105,112,49 199 | 114,105,115,46 200 | 112,107,117,40 201 | 107,107,122,42 202 | 107,108,121,42 203 | 108,107,121,46 204 | 111,103,117,50 205 | 111,97,115,60 206 | 114,91,113,67 207 | 115,88,108,73 208 | 117,83,106,79 209 | 121,81,100,82 210 | 126,78,95,87 211 | 129,75,90,94 212 | 131,73,85,98 213 | 135,72,81,103 214 | 138,70,76,107 215 | 142,69,70,109 216 | -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0001.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0002.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0003.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0004.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0005.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0006.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0007.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0008.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0009.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0010.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0011.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0012.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0013.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0014.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0015.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0016.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0017.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0018.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0019.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0020.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0021.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0022.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0023.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0024.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0025.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0026.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0027.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0028.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0029.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0030.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0031.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0032.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0033.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0034.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0035.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0036.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0037.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0038.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0039.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0040.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0041.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0042.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0043.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0044.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0045.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0046.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0047.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0048.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0049.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0050.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0051.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0052.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0052.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0053.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0053.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0054.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0054.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0055.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0055.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0056.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0057.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0057.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0058.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0058.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0059.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0059.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0060.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0060.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0061.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0061.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0062.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0062.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0063.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0063.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0064.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0064.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0065.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0065.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0066.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0066.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0067.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0067.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0068.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0068.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0069.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0069.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0070.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0070.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0071.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0071.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0072.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0072.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0073.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0073.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0074.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0074.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0075.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0075.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0076.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0076.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0077.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0077.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0078.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0078.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0079.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0079.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0080.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0080.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0081.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0081.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0082.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0082.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0083.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0083.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0084.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0084.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0085.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0085.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0086.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0086.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0087.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0087.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0088.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0088.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0089.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0089.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0090.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0090.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0091.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0091.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0092.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0092.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0093.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0093.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0094.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0094.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0095.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0095.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0096.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0096.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0097.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0097.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0098.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0098.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0099.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0099.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0100.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0101.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0101.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0102.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0102.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0103.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0104.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0104.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0105.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0105.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0106.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0106.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0107.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0107.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0108.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0108.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0109.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0109.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0110.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0110.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0111.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0111.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0112.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0112.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0113.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0113.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0114.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0114.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0115.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0115.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0116.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0116.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0117.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0117.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0118.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0118.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0119.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0119.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0120.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0120.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0121.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0121.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0122.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0122.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0123.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0123.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0124.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0124.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0125.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0125.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0126.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0126.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0127.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0127.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0128.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0129.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0129.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0130.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0130.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0131.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0131.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0132.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0132.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0133.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0133.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0134.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0134.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0135.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0135.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0136.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0136.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0137.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0137.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0138.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0138.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0139.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0139.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0140.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0140.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0141.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0141.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0142.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0142.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0143.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0143.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0144.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0144.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0145.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0145.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0146.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0146.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0147.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0147.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0148.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0148.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0149.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0149.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0150.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0150.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0151.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0151.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0152.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0152.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0153.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0153.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0154.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0154.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0155.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0155.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0156.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0156.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0157.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0157.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0158.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0158.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0159.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0159.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0160.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0161.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0161.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0162.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0162.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0163.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0163.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0164.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0164.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0165.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0165.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0166.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0166.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0167.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0167.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0168.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0168.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0169.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0169.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0170.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0170.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0171.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0171.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0172.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0172.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0173.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0173.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0174.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0174.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0175.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0175.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0176.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0176.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0177.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0177.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0178.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0178.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0179.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0179.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0180.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0180.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0181.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0181.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0182.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0182.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0183.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0183.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0184.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0184.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0185.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0185.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0186.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0186.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0187.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0187.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0188.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0188.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0189.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0189.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0190.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0190.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0191.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0191.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0192.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0192.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0193.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0193.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0194.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0194.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0195.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0195.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0196.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0196.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0197.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0197.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0198.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0198.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0199.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0199.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0200.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0201.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0201.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0202.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0202.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0203.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0203.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0204.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0204.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0205.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0205.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0206.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0206.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0207.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0207.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0208.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0208.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0209.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0209.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0210.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0210.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0211.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0211.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0212.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0212.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0213.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0213.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0214.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0214.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0215.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0215.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0216.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0216.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0217.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0217.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0218.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0218.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0219.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0219.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0220.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0220.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0221.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0221.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0222.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0222.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0223.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0223.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0224.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0224.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0225.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0225.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0226.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0226.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0227.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0227.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0228.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0228.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0229.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0229.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0230.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0230.jpg -------------------------------------------------------------------------------- /dataset/OTB/Diving/img/0231.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/OTB/Diving/img/0231.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000001.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000002.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000003.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000004.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000005.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000006.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000007.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000007.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000008.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000008.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000009.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000010.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000010.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000011.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000011.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000012.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000012.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000013.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000013.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000014.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000015.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000015.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000016.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000016.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000017.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000017.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000018.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000018.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000019.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000019.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000020.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000021.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000021.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000022.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000022.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000023.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000024.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000024.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000025.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000025.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000026.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000027.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000028.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000028.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000029.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000030.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000030.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000031.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000031.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000032.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000033.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000033.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000034.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000034.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000035.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000035.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000036.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000036.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000037.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000037.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000038.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000039.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000039.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000040.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000040.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000041.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000041.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000042.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000042.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000043.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000043.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000044.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000045.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000046.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000047.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000047.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000048.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000049.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000049.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000050.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000051.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000052.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000052.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000053.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000053.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000054.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000054.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000055.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000055.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000056.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000057.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000057.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000058.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000058.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000059.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000059.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000060.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000060.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000061.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000061.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000062.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000062.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000063.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000063.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000064.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000064.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000065.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000065.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000066.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000066.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000067.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000067.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000068.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000068.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000069.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000069.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000070.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000070.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000071.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000071.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000072.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000072.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000073.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000073.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000074.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000074.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000075.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000075.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000076.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000076.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000077.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000077.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000078.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000078.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000079.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000079.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000080.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000080.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000081.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000081.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000082.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000082.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000083.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000083.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000084.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000084.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000085.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000085.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000086.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000086.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000087.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000087.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000088.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000088.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000089.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000089.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000090.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000090.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000091.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000091.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000092.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000092.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000093.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000093.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000094.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000094.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000095.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000095.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000096.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000096.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000097.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000097.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000098.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000098.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000099.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000099.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000100.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000101.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000101.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000102.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000102.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000103.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000104.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000104.jpg -------------------------------------------------------------------------------- /dataset/VOT/2015/ball1/00000105.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/dataset/VOT/2015/ball1/00000105.jpg -------------------------------------------------------------------------------- /matconvnet/.gitignore: -------------------------------------------------------------------------------- 1 | *.xcodeproj/*xcuserdata* 2 | *.xcodeproj/project.xcworkspace/*xcuserdata* 3 | *.xcodeproj/project.xcworkspace/xcshareddata/ 4 | mex/* 5 | mex 6 | data 7 | *.o 8 | *.pyc 9 | *~ 10 | doc/.texpadtmp/* 11 | doc/*.pdf 12 | doc/.build 13 | index.html 14 | matconvnet-*.tar.gz 15 | local 16 | doc/site/docs/mfiles 17 | doc/site/site 18 | -------------------------------------------------------------------------------- /matconvnet/.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/matconvnet/.gitmodules -------------------------------------------------------------------------------- /matconvnet/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 The MatConvNet team. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms are permitted 5 | provided that the above copyright notice and this paragraph are 6 | duplicated in all such forms and that any documentation, 7 | advertising materials, and other materials related to such 8 | distribution and use acknowledge that the software was developed 9 | by the . The name of the 10 | may not be used to endorse or promote products derived 11 | from this software without specific prior written permission. 12 | THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 13 | IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 14 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -------------------------------------------------------------------------------- /matconvnet/Makefile.mex: -------------------------------------------------------------------------------- 1 | # Compile using only MEX. The CUDA version must match MATLAB's. 2 | 3 | # Prefer .cu over .cpp and .c when GPU is enabled; this rule must come 4 | # before the following ones. 5 | 6 | ifneq ($(ENABLE_GPU),) 7 | 8 | matlab/mex/.build/%.o : matlab/src/bits/%.cu matlab/mex/.build/.stamp 9 | MW_NVCC_PATH='$(NVCC)' \ 10 | $(MEX) -c $(MEXFLAGS_GPU) "$(<)" $(nvcc_filter) 11 | mv -f "$(notdir $(@))" "$(@)" 12 | 13 | matlab/mex/%.mex$(MEXARCH) : matlab/src/%.cu $(cpp_tgt) $(cu_tgt) 14 | MW_NVCC_PATH='$(NVCC)' \ 15 | $(MEX) $(MEXFLAGS_GPU) "$(<)" -output "$(@)" $(cpp_tgt) $(cu_tgt) $(nvcc_filter) 16 | 17 | endif 18 | 19 | matlab/mex/.build/%.o : matlab/src/bits/%.cpp matlab/mex/.build/.stamp 20 | $(MEX) -c $(MEXFLAGS) "$(<)" 21 | mv -f "$(notdir $(@))" "$(@)" 22 | 23 | matlab/mex/%.mex$(MEXARCH) : matlab/src/%.cpp $(cpp_tgt) 24 | $(MEX) $(MEXFLAGS) "$(<)" -output "$(@)" $(cpp_tgt) 25 | 26 | -------------------------------------------------------------------------------- /matconvnet/Makefile.nvcc: -------------------------------------------------------------------------------- 1 | # Compile using a mix of NVCC and MEX In particular, it compiles MEX 2 | # files using NVCC then MEX; in this manner the CUDA Devkit needs not 3 | # matching MATLAB version. 4 | 5 | # Prefer .cu over .cpp and .c when GPU is enabled; this rule must come 6 | # before the following ones. 7 | 8 | ifneq ($(ENABLE_GPU),) 9 | 10 | matlab/mex/.build/%.o : matlab/src/bits/%.cu matlab/mex/.build/.stamp 11 | $(NVCC) $(NVCCFLAGS) \ 12 | "$(<)" -c -o "$(@)" $(nvcc_filter) 13 | 14 | matlab/mex/%.mex$(MEXARCH) : matlab/src/%.cu $(cpp_tgt) $(cu_tgt) 15 | $(NVCC) $(NVCCFLAGS) -Xcompiler -fPIC \ 16 | "$(<)" -c -o "matlab/mex/.build/$(*).o" $(nvcc_filter) 17 | $(MEX) $(MEXFLAGS_NVCC) "matlab/mex/.build/$(*).o" -output "$(@)" $(cpp_tgt) $(cu_tgt) 18 | 19 | endif 20 | 21 | matlab/mex/.build/%.o : matlab/src/bits/%.cpp matlab/mex/.build/.stamp 22 | $(MEX) -c $(MEXFLAGS) "$(<)" 23 | mv -f "$(notdir $(@))" "$(@)" 24 | 25 | matlab/mex/%.mex$(MEXARCH) : matlab/src/%.cpp $(cpp_tgt) 26 | $(MEX) $(MEXFLAGS) "$(<)" -output "$(@)" $(cpp_tgt) 27 | -------------------------------------------------------------------------------- /matconvnet/README.md: -------------------------------------------------------------------------------- 1 | # MatConvNet: CNNs for MATLAB 2 | 3 | **MatConvNet** is a MATLAB toolbox implementing *Convolutional Neural 4 | Networks* (CNNs) for computer vision applications. It is simple, 5 | efficient, and can run and learn state-of-the-art CNNs. Several 6 | example CNNs are included to classify and encode images. Please visit 7 | the [homepage](http://www.vlfeat.org/matconvnet) to know more. 8 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/data.cpp: -------------------------------------------------------------------------------- 1 | #if ENABLE_GPU 2 | #error This file should not be compiled with GPU support enabled 3 | #endif 4 | #include "data.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/datacu.hpp: -------------------------------------------------------------------------------- 1 | // @file data.hpp 2 | // @brief Basic data structures (CUDA support) 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__datacu__ 14 | #define __vl__datacu__ 15 | 16 | #ifndef ENABLE_GPU 17 | #error "datacu.hpp cannot be compiled without GPU support" 18 | #endif 19 | 20 | #include "data.hpp" 21 | #include 22 | #include 23 | #include 24 | #if __CUDA_ARCH__ >= 200 25 | #define VL_CUDA_NUM_THREADS 1024 26 | #else 27 | #define VL_CUDA_NUM_THREADS 512 28 | #endif 29 | 30 | #ifdef ENABLE_CUDNN 31 | #include 32 | #endif 33 | 34 | namespace vl { 35 | class CudaHelper { 36 | public: 37 | // Cuda errors 38 | cudaError_t getLastCudaError() const ; 39 | std::string const& getLastCudaErrorMessage() const ; 40 | vl::Error catchCudaError(char const* description = NULL) ; 41 | 42 | // CuBLAS support 43 | cublasStatus_t getCublasHandle(cublasHandle_t* handle) ; 44 | void clearCublas() ; 45 | cublasStatus_t getLastCublasError() const ; 46 | std::string const& getLastCublasErrorMessage() const ; 47 | vl::Error catchCublasError(cublasStatus_t status, 48 | char const* description = NULL) ; 49 | 50 | #if ENABLE_CUDNN 51 | // CuDNN support 52 | cudnnStatus_t getCudnnHandle(cudnnHandle_t* handle) ; 53 | void clearCudnn() ; 54 | bool getCudnnEnabled() const ; 55 | void setCudnnEnabled(bool active) ; 56 | cudnnStatus_t getLastCudnnError() const ; 57 | std::string const& getLastCudnnErrorMessage() const ; 58 | vl::Error catchCudnnError(cudnnStatus_t status, 59 | char const* description = NULL) ; 60 | #endif 61 | 62 | protected: 63 | CudaHelper() ; 64 | ~CudaHelper() ; 65 | void clear() ; 66 | void invalidateGpu() ; 67 | friend class Context ; 68 | 69 | private: 70 | cudaError_t lastCudaError ; 71 | std::string lastCudaErrorMessage ; 72 | 73 | // CuBLAS 74 | cublasHandle_t cublasHandle ; 75 | bool isCublasInitialized ; 76 | cublasStatus_t lastCublasError ; 77 | std::string lastCublasErrorMessage ; 78 | 79 | #if ENABLE_CUDNN 80 | // CuDNN 81 | cudnnStatus_t lastCudnnError ; 82 | std::string lastCudnnErrorMessage ; 83 | cudnnHandle_t cudnnHandle ; 84 | bool isCudnnInitialized ; 85 | bool cudnnEnabled ; 86 | #endif 87 | } ; 88 | } 89 | #endif /* defined(__vl__datacu__) */ 90 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/datamex.cpp: -------------------------------------------------------------------------------- 1 | #if ENABLE_GPU 2 | #error This file should not be compiled with GPU support enabled 3 | #endif 4 | #include "datamex.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/datamex.hpp: -------------------------------------------------------------------------------- 1 | // @file datamex.hpp 2 | // @brief Basic data structures (MEX support) 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__datamex__ 14 | #define __vl__datamex__ 15 | 16 | #include "mex.h" 17 | 18 | #if ENABLE_GPU 19 | #include "gpu/mxGPUArray.h" 20 | #endif 21 | 22 | #include "data.hpp" 23 | 24 | namespace vl { 25 | 26 | class MexTensor ; 27 | 28 | class MexContext : public Context 29 | { 30 | public: 31 | MexContext() ; 32 | ~MexContext() ; 33 | 34 | protected: 35 | #if ENABLE_GPU 36 | vl::Error initGpu() ; 37 | vl::Error validateGpu() ; 38 | mxArray * canary ; // if it breathes, the GPU state is valid 39 | bool gpuIsInitialized ; 40 | #endif 41 | 42 | friend class MexTensor ; 43 | } ; 44 | 45 | class MexTensor : public Tensor 46 | { 47 | public: 48 | MexTensor(MexContext & context) ; 49 | vl::Error init(Device dev, TensorGeometry const & geom) ; 50 | vl::Error init(Device dev, TensorGeometry const & geom, float value) ; 51 | vl::Error initWithZeros(Device dev, TensorGeometry const & geom) ; 52 | vl::Error init(mxArray const * array) ; 53 | 54 | mxArray * relinquish() ; 55 | void clear() ; 56 | ~MexTensor() ; 57 | 58 | protected: 59 | MexContext & context ; 60 | mxArray const * array ; 61 | #ifdef ENABLE_GPU 62 | mxGPUArray const * gpuArray ; 63 | #endif 64 | bool isArrayOwner ; 65 | 66 | private: // prevention 67 | MexTensor(MexTensor const &) ; 68 | MexTensor & operator= (MexTensor & tensor) ; 69 | } ; 70 | 71 | void print(char const * str, Tensor const & tensor) ; 72 | 73 | void mexThrowError(Context const& context, vl::Error error) ; 74 | } 75 | 76 | 77 | #endif /* defined(__vl__datamex__) */ 78 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/copy.hpp: -------------------------------------------------------------------------------- 1 | // @file copy.hpp 2 | // @brief Copy data 3 | // @author Andrea Vedaldi 4 | 5 | #ifndef __vl__copy__ 6 | #define __vl__copy__ 7 | 8 | #include "../data.hpp" 9 | 10 | namespace vl { namespace impl { 11 | 12 | template vl::Error 13 | copy(type * dest, 14 | type const * src, 15 | size_t numElements) ; 16 | 17 | template<> vl::Error 18 | copy (float * dest, 19 | float const * src, 20 | size_t numElements) ; 21 | 22 | #if ENABLE_GPU 23 | template<> vl::Error 24 | copy (float * dest, 25 | float const * src, 26 | size_t numElements) ; 27 | #endif 28 | 29 | } } 30 | 31 | /* ---------------------------------------------------------------- */ 32 | /* Implementation */ 33 | /* ---------------------------------------------------------------- */ 34 | 35 | 36 | 37 | 38 | #endif /* defined(__vl__copy__) */ 39 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/copy_cpu.cpp: -------------------------------------------------------------------------------- 1 | // @file copy_cpu.cpp 2 | // @brief Copy data (CPU) 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #include "copy.hpp" 14 | #include 15 | 16 | using namespace vl ; 17 | using namespace vl::impl ; 18 | 19 | template <> vl::Error 20 | vl::impl::copy(float * dest, 21 | float const * src, 22 | size_t numElements) 23 | { 24 | memcpy(dest, src, numElements * sizeof(float)) ; 25 | return vlSuccess ; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/copy_gpu.cu: -------------------------------------------------------------------------------- 1 | // @file copy_gpu.cu 2 | // @brief Copy data (GPU) 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #include "copy.hpp" 14 | #include 15 | 16 | using namespace vl ; 17 | using namespace vl::impl ; 18 | 19 | template <> vl::Error 20 | vl::impl::copy(float * dest, 21 | float const * src, 22 | size_t numElements) 23 | { 24 | cudaMemcpy(dest, src, numElements * sizeof(float), cudaMemcpyDeviceToDevice) ; 25 | return vlSuccess ; 26 | } 27 | 28 | 29 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/im2row.hpp: -------------------------------------------------------------------------------- 1 | // @file im2row.hpp 2 | // @brief Stack image patches as matrix rows 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2014-15 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__im2row__ 14 | #define __vl__im2row__ 15 | 16 | #include "../data.hpp" 17 | #include 18 | 19 | namespace vl { namespace impl { 20 | 21 | template vl::Error 22 | im2row(vl::Context& context, 23 | type* stacked, 24 | type const* data, 25 | size_t height, size_t width, size_t depth, 26 | size_t windowHeight, size_t windowWidth, 27 | size_t strideY, size_t strideX, 28 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 29 | 30 | template vl::Error 31 | row2im(vl::Context& context, 32 | type* data, 33 | type const* stacked, 34 | size_t height, size_t width, size_t depth, 35 | size_t windowHeight, size_t windowWidth, 36 | size_t strideY, size_t strideX, 37 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 38 | 39 | 40 | /* Specializations */ 41 | 42 | template<> vl::Error 43 | im2row(vl::Context& context, 44 | float* stacked, 45 | float const* data, 46 | size_t height, size_t width, size_t depth, 47 | size_t windowHeight, size_t windowWidth, 48 | size_t strideY, size_t strideX, 49 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 50 | 51 | template<> vl::Error 52 | row2im(vl::Context& context, 53 | float* data, 54 | float const* stacked, 55 | size_t height, size_t width, size_t depth, 56 | size_t windowHeight, size_t windowWidth, 57 | size_t strideY, size_t strideX, 58 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 59 | 60 | #if ENABLE_GPU 61 | template<> vl::Error 62 | im2row(vl::Context& context, 63 | float* stacked, 64 | float const* data, 65 | size_t height, size_t width, size_t depth, 66 | size_t windowHeight, size_t windowWidth, 67 | size_t strideY, size_t strideX, 68 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 69 | 70 | template<> vl::Error 71 | row2im(vl::Context& context, 72 | float* data, 73 | float const* stacked, 74 | size_t height, size_t width, size_t depth, 75 | size_t windowHeight, size_t windowWidth, 76 | size_t strideY, size_t strideX, 77 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 78 | #endif 79 | 80 | } } 81 | 82 | #endif /* defined(__vl__im2row__) */ 83 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/nnconv_cudnn.hpp: -------------------------------------------------------------------------------- 1 | // @file nnconv_blas.hpp 2 | // @brief Convolution block CuDNN-based implementation. 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__nnconv_cudnn__ 14 | #define __vl__nnconv_cudnn__ 15 | 16 | #include "../data.hpp" 17 | #include "cudnn.h" 18 | 19 | namespace vl { namespace impl { 20 | 21 | template vl::Error 22 | nnconv_forward_cudnn(Context& context, 23 | Tensor output, 24 | Tensor data, 25 | Tensor filters, 26 | Tensor biases, 27 | int strideX, int strideY, 28 | int padLeft, int padRight, 29 | int padTop, int padBottom) ; 30 | 31 | template vl::Error 32 | nnconv_backward_cudnn(Context& context, 33 | Tensor derData, 34 | Tensor derFilters, 35 | Tensor derBiases, 36 | Tensor data, 37 | Tensor filters, 38 | Tensor derOutput, 39 | int strideX, int strideY, 40 | int padLeft, int padRight, 41 | int padTop, int padBottom) ; 42 | 43 | /* specializations */ 44 | 45 | template<> vl::Error 46 | nnconv_forward_cudnn(Context& context, 47 | Tensor output, 48 | Tensor data, 49 | Tensor filters, 50 | Tensor biases, 51 | int strideX, int strideY, 52 | int padLeft, int padRight, 53 | int padTop, int padBottom) ; 54 | 55 | template<> vl::Error 56 | nnconv_backward_cudnn(Context& context, 57 | Tensor derData, 58 | Tensor derFilters, 59 | Tensor derBiases, 60 | Tensor data, 61 | Tensor filters, 62 | Tensor derOutput, 63 | int strideX, int strideY, 64 | int padLeft, int padRight, 65 | int padTop, int padBottom) ; 66 | } } 67 | 68 | #endif /* defined(__vl__nnconv_cudnn__) */ 69 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/nnpooling_cudnn.hpp: -------------------------------------------------------------------------------- 1 | // @file nnpooling_blas.hpp 2 | // @brief Pooling block CuDNN-based implementation. 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__nnpooling_cudnn__ 14 | #define __vl__nnpooling_cudnn__ 15 | 16 | #include "../nnpooling.hpp" 17 | #include "../data.hpp" 18 | #include "cudnn.h" 19 | 20 | 21 | namespace vl { namespace impl { 22 | 23 | template vl::Error 24 | nnpooling_forward_cudnn(Context& context, 25 | Tensor output, 26 | Tensor data, 27 | vl::PoolingMethod method, 28 | int poolHeight, int poolWidth, 29 | int strideY, int strideX, 30 | int padTop, int padBottom, 31 | int padLeft, int padRight) ; 32 | 33 | template vl::Error 34 | nnpooling_backward_cudnn(Context& context, 35 | Tensor derData, 36 | Tensor data, 37 | Tensor output, 38 | Tensor derOutput, 39 | vl::PoolingMethod method, 40 | int poolHeight, int poolWidth, 41 | int strideY, int strideX, 42 | int padTop, int padBottom, 43 | int padLeft, int padRight) ; 44 | 45 | /* specialisations */ 46 | 47 | template<> vl::Error 48 | nnpooling_forward_cudnn(Context& context, 49 | Tensor output, 50 | Tensor data, 51 | vl::PoolingMethod method, 52 | int poolHeight, int poolWidth, 53 | int strideY, int strideX, 54 | int padTop, int padBottom, 55 | int padLeft, int padRight) ; 56 | 57 | template<> vl::Error 58 | nnpooling_backward_cudnn(Context& context, 59 | Tensor derData, 60 | Tensor data, 61 | Tensor output, 62 | Tensor derOutput, 63 | vl::PoolingMethod method, 64 | int poolHeight, int poolWidth, 65 | int strideY, int strideX, 66 | int padTop, int padBottom, 67 | int padLeft, int padRight) ; 68 | } } 69 | 70 | #endif /* defined(__vl__nnpooling_cudnn__) */ 71 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/normalize.hpp: -------------------------------------------------------------------------------- 1 | // @file normalize.hpp 2 | // @brief Normalize block implementation 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2014-15 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl_normalize__ 14 | #define __vl_normalize__ 15 | 16 | #include "../data.hpp" 17 | #include 18 | 19 | namespace vl { namespace impl { 20 | 21 | template vl::Error 22 | normalize_forward(type* normalized, 23 | type const* data, 24 | size_t height, size_t width, size_t depth, size_t size, 25 | size_t normDetph, 26 | double kappa, double alpha, double beta) ; 27 | 28 | template vl::Error 29 | normalize_backward(type* derData, 30 | type const* data, 31 | type const* derNormalized, 32 | size_t height, size_t width, size_t depth, size_t size, 33 | size_t normDetph, 34 | double kappa, double alpha, double beta) ; 35 | 36 | /* Specializations: CPU, float */ 37 | 38 | template<> vl::Error 39 | normalize_forward(float* normalized, 40 | float const* data, 41 | size_t height, size_t width, size_t depth, size_t size, 42 | size_t normDetph, 43 | double kappa, double alpha, double beta) ; 44 | 45 | template<> vl::Error 46 | normalize_backward(float* derData, 47 | float const* data, 48 | float const* derNormalized, 49 | size_t height, size_t width, size_t depth, size_t size, 50 | size_t normDetph, 51 | double kappa, double alpha, double beta) ; 52 | 53 | 54 | /* Specializations: GPU, float */ 55 | 56 | #if ENABLE_GPU 57 | template<> vl::Error 58 | normalize_forward(float* normalized, 59 | float const* data, 60 | size_t height, size_t width, size_t depth, size_t size, 61 | size_t normDetph, 62 | double kappa, double alpha, double beta) ; 63 | 64 | template<> vl::Error 65 | normalize_backward(float* derData, 66 | float const* data, 67 | float const* derNormalized, 68 | size_t height, size_t width, size_t depth, size_t size, 69 | size_t normDetph, 70 | double kappa, double alpha, double beta) ; 71 | #endif 72 | 73 | } } 74 | #endif /* __vl_normalize__ */ 75 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/impl/subsample.hpp: -------------------------------------------------------------------------------- 1 | // @file subsampling.hpp 2 | // @brief Subsampling block implementation 3 | // @author Andrea Vedaldi 4 | // @author Karel Lenc 5 | 6 | /* 7 | Copyright (C) 2014-15 Andrea Vedaldi and Karel Lenc. 8 | All rights reserved. 9 | 10 | This file is part of the VLFeat library and is made available under 11 | the terms of the BSD license (see the COPYING file). 12 | */ 13 | 14 | #ifndef VL_NNSUBSAMPLE_H 15 | #define VL_NNSUBSAMPLE_H 16 | 17 | #include "../data.hpp" 18 | #include 19 | 20 | namespace vl { namespace impl { 21 | 22 | template vl::Error 23 | subsample_forward(vl::Context& context, 24 | type* subsampled, 25 | type const* data, 26 | size_t height, size_t width, size_t depth, 27 | size_t strideY, size_t strideX, 28 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 29 | 30 | template vl::Error 31 | subsample_backward(vl::Context& context, 32 | type* derData, 33 | type const* derSubsampled, 34 | size_t height, size_t width, size_t depth, 35 | size_t strideY, size_t strideX, 36 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 37 | 38 | /* Specializations */ 39 | 40 | template<> vl::Error 41 | subsample_forward(vl::Context& context, 42 | float* subsampled, 43 | float const* data, 44 | size_t height, size_t width, size_t depth, 45 | size_t strideY, size_t strideX, 46 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 47 | 48 | template<> vl::Error 49 | subsample_backward(vl::Context& context, 50 | float* derData, 51 | float const* derSubsampled, 52 | size_t height, size_t width, size_t depth, 53 | size_t strideY, size_t strideX, 54 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 55 | 56 | #if ENABLE_GPU 57 | template<> vl::Error 58 | subsample_forward(vl::Context& context, 59 | float* stacked, 60 | float const* data, 61 | size_t height, size_t width, size_t depth, 62 | size_t strideY, size_t strideX, 63 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 64 | 65 | template<> vl::Error 66 | subsample_backward(vl::Context& context, 67 | float* derData, 68 | float const* derSubsampled, 69 | size_t height, size_t width, size_t depth, 70 | size_t strideY, size_t strideX, 71 | size_t padTop, size_t padBottom, size_t padLeft, size_t padRight) ; 72 | #endif 73 | 74 | } } 75 | 76 | #endif /* defined(VL_NNSUBSAMPLE_H) */ 77 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/imread.hpp: -------------------------------------------------------------------------------- 1 | // @file imread.hpp 2 | // @brief Image reader 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2015 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__imread__ 14 | #define __vl__imread__ 15 | 16 | namespace vl { 17 | 18 | struct Image 19 | { 20 | int width ; 21 | int height ; 22 | int depth ; 23 | float * memory ; 24 | int error ; 25 | } ; 26 | 27 | class ImageReader 28 | { 29 | public: 30 | ImageReader() ; 31 | ~ImageReader() ; 32 | Image read(char const * fileName, float * memory = 0) ; 33 | Image readDimensions(char const * fileName) ; 34 | 35 | private: 36 | class Impl ; 37 | Impl * impl ; 38 | } ; 39 | } 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnconv.cpp: -------------------------------------------------------------------------------- 1 | #ifdef ENABLE_GPU 2 | #error "The file nnconv.cu should be compiled instead" 3 | #endif 4 | #include "nnconv.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnconv.hpp: -------------------------------------------------------------------------------- 1 | // @file nnconv.cu 2 | // @brief Convolution block 3 | // @author Andrea Vedaldi 4 | // @author Max Jaderberg 5 | 6 | /* 7 | Copyright (C) 2014-15 Andrea Vedaldi and Max Jaderberg. 8 | All rights reserved. 9 | 10 | This file is part of the VLFeat library and is made available under 11 | the terms of the BSD license (see the COPYING file). 12 | */ 13 | 14 | #ifndef __vl__nnconv__ 15 | #define __vl__nnconv__ 16 | 17 | #include "data.hpp" 18 | 19 | namespace vl { 20 | 21 | vl::Error 22 | nnconv_forward(vl::Context& context, 23 | vl::Tensor output, 24 | vl::Tensor data, 25 | vl::Tensor filters, 26 | vl::Tensor biases, 27 | int strideY, int strideX, 28 | int padTop, int padBottom, 29 | int padLeft, int padRight) ; 30 | 31 | vl::Error 32 | nnconv_backward(vl::Context& context, 33 | vl::Tensor derData, 34 | vl::Tensor derFilters, 35 | vl::Tensor derBiases, 36 | vl::Tensor data, 37 | vl::Tensor filters, 38 | vl::Tensor derOutput, 39 | int strideY, int strideX, 40 | int padTop, int padBottom, 41 | int padLeft, int padRight) ; 42 | } 43 | 44 | 45 | #endif /* defined(__vl__nnconv__) */ 46 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnfullyconnected.cpp: -------------------------------------------------------------------------------- 1 | #ifdef ENABLE_GPU 2 | #error "The file nnfullyconnected.cu should be compiled instead" 3 | #endif 4 | #include "nnfullyconnected.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnfullyconnected.hpp: -------------------------------------------------------------------------------- 1 | // @file nnfullyconnected.hpp 2 | // @brief Fully-connected block 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2014-15 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | 14 | #ifndef __vl__nnfullyconnected__ 15 | #define __vl__nnfullyconnected__ 16 | 17 | #include "data.hpp" 18 | 19 | namespace vl { 20 | 21 | vl::Error 22 | nnfullyconnected_forward(vl::Context& context, 23 | vl::Tensor output, 24 | vl::Tensor data, 25 | vl::Tensor filters, 26 | vl::Tensor biases) ; 27 | 28 | vl::Error 29 | nnfullyconnected_backward(vl::Context& context, 30 | vl::Tensor derData, 31 | vl::Tensor derFilters, 32 | vl::Tensor derBiases, 33 | vl::Tensor data, 34 | vl::Tensor filters, 35 | vl::Tensor derOutput) ; 36 | } 37 | 38 | 39 | #endif /* defined(__vl__nnfullyconnected__) */ 40 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnnormalize.cpp: -------------------------------------------------------------------------------- 1 | #ifdef ENABLE_GPU 2 | #error "The file nnnormalize.cu should be compiled instead" 3 | #endif 4 | #include "nnnormalize.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnnormalize.hpp: -------------------------------------------------------------------------------- 1 | // @file nnnormalize.hpp 2 | // @brief Normalization block 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2014-15 Andrea Vedaldi. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | #ifndef __vl__nnnormalize__ 13 | #define __vl__nnnormalize__ 14 | 15 | #include "data.hpp" 16 | #include 17 | 18 | namespace vl { 19 | 20 | vl::Error 21 | nnnormalize_forward(vl::Context& context, 22 | vl::Tensor output, 23 | vl::Tensor data, 24 | size_t normDetph, 25 | double kappa, double alpha, double beta) ; 26 | 27 | vl::Error 28 | nnnormalize_backward(vl::Context& context, 29 | vl::Tensor derData, 30 | vl::Tensor data, 31 | vl::Tensor derOutput, 32 | size_t normDetph, 33 | double kappa, double alpha, double beta) ; 34 | } 35 | 36 | #endif /* defined(__vl__nnnormalize__) */ 37 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnpooling.cpp: -------------------------------------------------------------------------------- 1 | #ifdef ENABLE_GPU 2 | #error "The file nnpooling.cu should be compiled instead" 3 | #endif 4 | #include "nnpooling.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnpooling.hpp: -------------------------------------------------------------------------------- 1 | // @file nnpooling.hpp 2 | // @brief Pooling block 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2014-15 Andrea Vedaldi and Karel Lenc. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__nnpooling__ 14 | #define __vl__nnpooling__ 15 | 16 | #include "data.hpp" 17 | #include 18 | 19 | namespace vl { 20 | 21 | enum PoolingMethod { vlPoolingMax, vlPoolingAverage } ; 22 | 23 | vl::Error 24 | nnpooling_forward(vl::Context& context, 25 | vl::Tensor output, 26 | vl::Tensor data, 27 | PoolingMethod method, 28 | int poolHeight, int poolWidth, 29 | int strideY, int strideX, 30 | int padTop, int padBottom, 31 | int padLeft, int padRight) ; 32 | 33 | vl::Error 34 | nnpooling_backward(vl::Context& context, 35 | vl::Tensor derData, 36 | vl::Tensor data, 37 | vl::Tensor derOutput, 38 | PoolingMethod method, 39 | int poolHeight, int poolWidth, 40 | int strideY, int strideX, 41 | int padTop, int padBottom, 42 | int padLeft, int padRight) ; 43 | } 44 | 45 | #endif /* defined(__vl__nnpooling__) */ 46 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnsubsample.cpp: -------------------------------------------------------------------------------- 1 | #ifdef ENABLE_GPU 2 | #error "The file nnsubsample.cu should be compiled instead" 3 | #endif 4 | #include "nnsubsample.cu" 5 | 6 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/bits/nnsubsample.hpp: -------------------------------------------------------------------------------- 1 | // @file nnsubsample.hpp 2 | // @brief Subsamping block 3 | // @author Andrea Vedaldi 4 | 5 | /* 6 | Copyright (C) 2014-15 Andrea Vedaldi and Karel Lenc. 7 | All rights reserved. 8 | 9 | This file is part of the VLFeat library and is made available under 10 | the terms of the BSD license (see the COPYING file). 11 | */ 12 | 13 | #ifndef __vl__nnsubsample__ 14 | #define __vl__nnsubsample__ 15 | 16 | #include "data.hpp" 17 | 18 | namespace vl { 19 | 20 | vl::Error 21 | nnsubsample_forward(vl::Context& context, 22 | vl::Tensor output, 23 | vl::Tensor data, 24 | vl::Tensor biases, 25 | int strideY, int strideX, 26 | int padTop, int padBottom, 27 | int padLeft, int padRight) ; 28 | 29 | vl::Error 30 | nnsubsample_backward(vl::Context& context, 31 | vl::Tensor derData, 32 | vl::Tensor derBiases, 33 | vl::Tensor derOutput, 34 | int strideY, int strideX, 35 | int padTop, int padBottom, 36 | int padLeft, int padRight) ; 37 | } 38 | 39 | #endif /* defined(__vl__nnsubsample__) */ 40 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/config/mex_CUDA_glnxa64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 |
26 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/config/mex_CUDA_maci64.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 |
26 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/vl_imreadjpeg.cpp: -------------------------------------------------------------------------------- 1 | #if ENABLE_GPU 2 | #error This file should not be compiled with GPU support enabled 3 | #endif 4 | #include "vl_imreadjpeg.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/vl_nnconv.cpp: -------------------------------------------------------------------------------- 1 | #if ENABLE_GPU 2 | #error This file should not be compiled with GPU support enabled 3 | #endif 4 | #include "vl_nnconv.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/vl_nnnormalize.cpp: -------------------------------------------------------------------------------- 1 | #if ENABLE_GPU 2 | #error This file should not be compiled with GPU support enabled 3 | #endif 4 | #include "vl_nnnormalize.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/src/vl_nnpool.cpp: -------------------------------------------------------------------------------- 1 | #if ENABLE_GPU 2 | #error This file should not be compiled with GPU support enabled 3 | #endif 4 | #include "vl_nnpool.cu" 5 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_argparse.m: -------------------------------------------------------------------------------- 1 | function [conf, args] = vl_argparse(conf, args) 2 | % VL_ARGPARSE Parse list of parameter-value pairs 3 | % CONF = VL_ARGPARSE(CONF, ARGS) updates the structure CONF based on 4 | % the specified parameter-value pairs ARGS={PAR1, VAL1, ... PARN, 5 | % VALN}. The function produces an error if an unknown parameter name 6 | % is passed in. 7 | % 8 | % [CONF, ARGS] = VL_ARGPARSE(CONF, ARGS) copies any parameter in 9 | % ARGS that does not match CONF back to ARGS instead of producing an 10 | % error. 11 | % 12 | % Example:: 13 | % The function can be used to parse a list of arguments 14 | % passed to a MATLAB functions: 15 | % 16 | % function myFunction(x,y,z,varargin) 17 | % conf.parameterName = defaultValue ; 18 | % conf = vl_argparse(conf, varargin) 19 | % 20 | % If only a subset of the options should be parsed, for example 21 | % because the other options are interpreted by a subroutine, then 22 | % use the form 23 | % 24 | % [conf, varargin] = vl_argparse(conf, varargin) 25 | % 26 | % that copies back to VARARGIN any unknown parameter. 27 | % 28 | % See also: VL_OVERRIDE(), VL_HELP(). 29 | 30 | % Authors: Andrea Vedaldi 31 | 32 | % Copyright (C) 2007-12 Andrea Vedaldi and Brian Fulkerson. 33 | % All rights reserved. 34 | % 35 | % This file is part of the VLFeat library and is made available under 36 | % the terms of the BSD license (see the COPYING file). 37 | 38 | if ~isstruct(conf), error('CONF must be a structure') ; end 39 | 40 | remainingArgs = {} ; 41 | names = fieldnames(conf) ; 42 | 43 | ai = 1 ; 44 | while ai <= length(args) 45 | paramName = args{ai} ; 46 | if isstruct(paramName) 47 | moreArgs = cat(2, fieldnames(args{ai}), struct2cell(args{ai}))' ; 48 | [conf,r] = vl_argparse(conf, moreArgs(:)) ; 49 | remainingArgs = cat(2, remainingArgs, r) ; 50 | ai = ai +1 ; 51 | continue ; 52 | end 53 | if ~ischar(paramName) 54 | error('The name of the parameter number %d is not a string nor a structure', (ai-1)/2+1) ; 55 | end 56 | if ai + 1 > length(args) 57 | error('Parameter-value pair expected (missing value?).') ; 58 | end 59 | value = args{ai+1} ; 60 | i = find(strcmpi(paramName, names)) ; 61 | if isempty(i) 62 | if nargout < 2 63 | error('Unknown parameter ''%s''.', paramName) ; 64 | else 65 | remainingArgs(end+1:end+2) = args(ai:ai+1) ; 66 | end 67 | else 68 | paramName = names{i} ; 69 | if isstruct(conf.(paramName)) 70 | [conf.(paramName),r] = vl_argparse(conf.(paramName), {value}) ; 71 | else 72 | conf.(paramName) = value ; 73 | end 74 | end 75 | ai = ai + 2 ; 76 | end 77 | 78 | args = remainingArgs ; 79 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_imreadjpeg.m: -------------------------------------------------------------------------------- 1 | % VL_IMREADJPEG (A)synchronous multithreaded JPEG image loader 2 | % IMAGES = VL_IMREADJPEG(FILES) reads the specified cell array 3 | % FILES of JPEG files into the cell array of images IMAGES. 4 | % 5 | % IMAGES = VL_IMREADJPEG(FILES, 'NumThreads', T) uses T parallel 6 | % threads to accelerate the operation. Note that this is 7 | % independent of the number of computational threads used by 8 | % MATLAB. 9 | % 10 | % VL_IMREADJPEG(FILES, 'Prefetch') starts reading the specified 11 | % images but returns immediately to MATLAB. Reading happens 12 | % concurrently with MATLAB in one or more separated threads. A 13 | % subsequent call IMAGES=VL_IMREADJPEG(FILES) *specifying exactly 14 | % the same files in the same order* will then return the loaded 15 | % images. This can be sued to quickly load a batch of JPEG images 16 | % as MATLAB is busy doing something else. 17 | % 18 | % The function takes the following options: 19 | % 20 | % Prefetch:: [not specified] 21 | % If specified, run without blocking (see above). 22 | % 23 | % Verbose:: [not specified] 24 | % Increase the verbosity level. 25 | % 26 | % NumThreads:: [1] 27 | % Specify the number of threads used to read images. This number 28 | % must be at least 1. Note that it does not make sense to specify 29 | % a number larger than the number of available CPU cores, and 30 | % often fewer threads are sufficient as reading images is memory 31 | % access bound rather than CPU bound. 32 | 33 | % Copyright (C) 2014-15 Andrea Vedaldi. 34 | % All rights reserved. 35 | % 36 | % This file is part of the VLFeat library and is made available under 37 | % the terms of the BSD license (see the COPYING file). -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnconv.m: -------------------------------------------------------------------------------- 1 | % VL_NNCONV CNN convolution 2 | % Y = VL_NNCONV(X, F, B) computes the convolution of the image stack X 3 | % with the filter bank F and biases B. If B is the empty matrix, 4 | % then no biases are added. If F is the empty matrix, then 5 | % the function does not filter the image, but still adds the 6 | % biases as well as performing downsampling and padding as explained 7 | % below. 8 | % 9 | % [DXDY, DXDF, DXDB] = VL_NNCONV(X, F, B, DZDY) computes the 10 | % derivatives of the nework output Z w.r.t. the data X and 11 | % parameters F, B given the derivative w.r.t the output Y. If B is 12 | % the empty matrix, then DXDB is also empty. 13 | % 14 | % X is a SINGLE array of dimension H x W x D x N where (H,W) are 15 | % the height and width of the map stack, D is the image depth 16 | % (number of feature channels) and N the number of of images in the 17 | % stack. 18 | % 19 | % F is a SINGLE array fo dimension FW x FH x D x K where (FH,FW) are 20 | % the filter height and width and K the number o filters in the 21 | % bank. 22 | % 23 | % VL_NNCONV() implements a special `fully-connected' mode: when the 24 | % support of the filters matches exactly the support of the input 25 | % image, the code uses an optimized path for faster computation. 26 | % 27 | % VL_NNCONV(..., 'option', value, ...) takes the following options: 28 | % 29 | % Stride:: [1] 30 | % The output stride (downsampling factor). Passing [STRIDEY 31 | % STRIDEX] allows specifying different subsampling factors for 32 | % the vertical and horizontal directions. 33 | % 34 | % Pad:: [0] 35 | % The amount of input padding. Input images are padded with zeros 36 | % by this number of pixels before the convolution is 37 | % computed. Passing [TOP BOTTOM LEFT RIGHT] allows specifying 38 | % different padding amounts for the top, bottom, left, and right 39 | % sides respectively. 40 | % 41 | % The filter size must be not larger than the padded image, i.e. 42 | % 43 | % 1 <= FH <= H + 2*(PADTOP+PADBOTTOM), 44 | % 1 <= FW <= W + 2*(PADLEFT+PADRIGHT). 45 | % 46 | % The output a is a SINGLE array of dimension YH x YW x K x N of 47 | % N images with K challens and size: 48 | % 49 | % YH = floor((H + (PADTOP+PADBOTTOM) - FH)/STRIDEY) + 1, 50 | % YW = floor((W + (PADLEFT+PADRIGHT) - FW)/STRIDEX) + 1. 51 | % 52 | % The derivative DZDY has the same dimension of the output Y, 53 | % the derivative DZDX has the same dimension as the input X, and 54 | % the derivative DZDF has the the same dimenson as F. 55 | % 56 | % ## CUDNN SUPPORT 57 | % 58 | % If compiled in, the function will use cuDNN convolution routines 59 | % (with the exception of asymmetric left-right or top-bottom 60 | % padding and a few corner cases such as 1x1 filters in Linux that 61 | % trigger current bugs in cuDNN). You can use the 'NoCuDNN' option 62 | % to disable cuDNN or 'cuDNN' to activate it back again (the choice 63 | % sticks until MATLAB purges the MEX files for any reason). 64 | 65 | % Copyright (C) 2014-15 Andrea Vedaldi and Max Jaderberg. 66 | % All rights reserved. 67 | % 68 | % This file is part of the VLFeat library and is made available under 69 | % the terms of the BSD license (see the COPYING file). 70 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nndropout.m: -------------------------------------------------------------------------------- 1 | function [y,mask] = vl_nndropout(x,varargin) 2 | % VL_NNDROPOUT CNN dropout 3 | % [Y,MASK] = VL_NNDROPOUT(X) applies dropout to the data X. MASK 4 | % is the randomly sampled dropout mask. Both Y and MASK have the 5 | % same size as X. 6 | % 7 | % VL_NNDROPOUT(X, 'rate', R) sets the dropout rate to R. 8 | % 9 | % [DZDX] = VL_NNDROPOUT(X, DZDY, 'mask', MASK) computes the 10 | % derivatives DZDX of the network relative to the input X given 11 | % the derivative DZDY relative to the outut Y. 12 | 13 | % Copyright (C) 2014 Andrea Vedaldi. 14 | % All rights reserved. 15 | % 16 | % This file is part of the VLFeat library and is made available under 17 | % the terms of the BSD license (see the COPYING file). 18 | 19 | opts.rate = 0.5 ; 20 | opts.mask = [] ; 21 | 22 | backMode = numel(varargin) > 0 && ~isstr(varargin{1}) ; 23 | if backMode 24 | dzdy = varargin{1} ; 25 | opts = vl_argparse(opts, varargin(2:end)) ; 26 | else 27 | opts = vl_argparse(opts, varargin) ; 28 | end 29 | 30 | % determine mask 31 | mask = opts.mask ; 32 | scale = single(1 / (1 - opts.rate)) ; 33 | if backMode && isempty(mask) 34 | warning('vl_nndropout: when using in backward mode, the mask should be specified') ; 35 | end 36 | if isempty(mask) 37 | if isa(x,'gpuArray') 38 | mask = scale * single(gpuArray.rand(size(x)) >= opts.rate) ; 39 | else 40 | mask = scale * single(rand(size(x)) >= opts.rate) ; 41 | end 42 | end 43 | 44 | % do job 45 | if ~backMode 46 | y = mask .* x ; 47 | else 48 | y = mask .* dzdy ; 49 | end 50 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnloss.m: -------------------------------------------------------------------------------- 1 | function Y = vl_nnloss(X,c,dzdy) 2 | % VL_NNLOSS CNN log-loss 3 | % Y = VL_NNLOSS(X, C) applies the the logistic loss to the data 4 | % X. X has dimension H x W x D x N, packing N arrays of W x H 5 | % D-dimensional vectors. 6 | % 7 | % C contains the class labels, which should be integers in the range 8 | % 1 to D. C can be an array with either N elements or with H x W x 9 | % 1 x N dimensions. In the fist case, a given class label is 10 | % applied at all spatial locations; in the second case, different 11 | % class labels can be specified for different locations. 12 | % 13 | % D can be thought of as the number of possible classes and the 14 | % function computes the softmax along the D dimension. Often W=H=1, 15 | % but this is not a requirement, as the operator is applied 16 | % convolutionally at all spatial locations. 17 | % 18 | % DZDX = VL_NNLOSS(X, C, DZDY) computes the derivative DZDX of the 19 | % CNN with respect to the input X given the derivative DZDY with 20 | % respect to the block output Y. DZDX has the same dimension as X. 21 | 22 | % Copyright (C) 2014 Andrea Vedaldi. 23 | % All rights reserved. 24 | % 25 | % This file is part of the VLFeat library and is made available under 26 | % the terms of the BSD license (see the COPYING file). 27 | 28 | % no division by zero 29 | X = X + 1e-4 ; 30 | sz = [size(X,1) size(X,2) size(X,3) size(X,4)] ; 31 | 32 | % index from 0 33 | c = c - 1 ; 34 | 35 | if numel(c) == sz(4) 36 | % one label per image 37 | c = reshape(c, [1 1 1 sz(4)]) ; 38 | c = repmat(c, [sz(1) sz(2)]) ; 39 | else 40 | % one label per spatial location 41 | sz_ = [size(c,1) size(c,2) size(c,3) size(c,4)] ; 42 | assert(isequal(sz_, [sz(1) sz(2) 1 sz(4)])) ; 43 | end 44 | 45 | % convert to indeces 46 | c_ = 0:numel(c)-1 ; 47 | c_ = 1 + ... 48 | mod(c_, sz(1)*sz(2)) + ... 49 | (sz(1)*sz(2)) * c(:)' + ... 50 | (sz(1)*sz(2)*sz(3)) * floor(c_/(sz(1)*sz(2))) ; 51 | 52 | n = sz(1)*sz(2) ; 53 | if nargin <= 2 54 | Y = - sum(log(X(c_))) / n ; 55 | else 56 | Y_ = - (1./X) * (dzdy/n) ; 57 | Y = Y_*0 ; 58 | Y(c_) = Y_(c_) ; 59 | end 60 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnnoffset.m: -------------------------------------------------------------------------------- 1 | function y = vl_nnnoffset(x, param, dzdy) 2 | % VL_NNNOFFSET Adds an offset dependent on the feature norm 3 | % Y = VL_NNNOFFSET(X, PARAM) subtracts from each element of X the 4 | % weighted norm of the feature channels: 5 | % 6 | % X(i,j,k) = X(i,j,k) - PARAM(1) * L(i,j) ^ PARAM(2) 7 | % 8 | % where 9 | % 10 | % L(i,j) = sum_K X(i,j,k)^2 11 | % 12 | % DZDX = VL_NNNOFFSET(X, PARAM, DZDY) computes the derivative of 13 | % the network given the derivative DZDY with respect to the output 14 | % of this block. 15 | 16 | % Copyright (C) 2014 Andrea Vedaldi. 17 | % All rights reserved. 18 | % 19 | % This file is part of the VLFeat library and is made available under 20 | % the terms of the BSD license (see the COPYING file). 21 | 22 | L = sum(x.^2,3) ; 23 | L = max(L, single(1e-8)) ; 24 | param = single(param) ; 25 | 26 | if nargin <= 2 27 | y = bsxfun(@minus, x, param(1)*L.^param(2)) ; 28 | else 29 | y = dzdy - bsxfun(@times, (2*param(1)*param(2))* x, sum(dzdy,3) .* (L.^(param(2)-1))) ; 30 | end -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnnormalize.m: -------------------------------------------------------------------------------- 1 | % VL_NNNORMALIZE Feature-wise sliding window normalization 2 | % Y = VL_NNORMALIZE(X, PARAM) performs feature-wise sliding window 3 | % normalization of the image X. The normalized output is given by: 4 | % 5 | % Y(i,j,k) = X(i,j,k) / L(i,j,k)^BETA 6 | % 7 | % where the normalising factor is 8 | % 9 | % L(i,j,k) = KAPPA + ALPHA * (sum_{q in Q(k)} X(i,j,k)^2, 10 | % 11 | % PARAM = [N KAPPA ALPHA BETA], and N is the size of the window. The 12 | % window Q(k) itself is defined as: 13 | % 14 | % Q(k) = [max(1, k-FLOOR((N-1)/2)), min(D, k+CEIL((N-1)/2))]. 15 | % 16 | % where D is the number of feature dimensions in X. Note in 17 | % particular that, by setting N >= 2D, the function can be used to 18 | % normalize the whole feature vector. 19 | % 20 | % DZDX = VL_NNORMALIZE(X, PARAM, DZDY) computes the derivative of 21 | % the network output DZDX with respect to the block input X given 22 | % the derivative DZDY with respect to the block output Y. 23 | 24 | % Copyright (C) 2014 Andrea Vedaldi. 25 | % All rights reserved. 26 | % 27 | % This file is part of the VLFeat library and is made available under 28 | % the terms of the BSD license (see the COPYING file). 29 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnpool.m: -------------------------------------------------------------------------------- 1 | % VL_NNPOOL CNN poolinng 2 | % Y = VL_NNPOOL(X, POOL) applies the pooling operator to all 3 | % channels of the data X using a square filter of size POOL. X is a 4 | % SINGLE array of dimension H x W x D x N where (H,W) are the 5 | % height and width of the map stack, D is the image depth (number 6 | % of feature channels) and N the number of of images in the stack. 7 | % 8 | % Y = VL_NNPOOL(X, [POOLY, POOLX]) uses a rectangular filter of 9 | % height POOLY and width POOLX. 10 | % 11 | % DZDX = VL_NNPOOL(X, POOL, DZDY) computes the derivatives of 12 | % the nework output Z w.r.t. the data X given the derivative DZDY 13 | % w.r.t the max-pooling output Y. 14 | % 15 | % VL_NNCONV(..., 'option', value, ...) takes the following options: 16 | % 17 | % Stride:: [1] 18 | % The output stride (downsampling factor). It can be either a 19 | % scalar for isotropic downsampling or a vector [STRIDEY 20 | % STRIDEX]. 21 | % 22 | % Pad:: [0] 23 | % The amount of input padding. Input images are padded with zeros 24 | % by this number of pixels on all sides before the convolution is 25 | % computed. It can also be a vector [TOP BOTTOM LEFT RIGHT] to 26 | % specify a different amount of padding in each direction. The 27 | % size of the poolin filter has to exceed the padding. 28 | % 29 | % Method:: ['max'] 30 | % Specify method of pooling. It can be either 'max' (retain max value 31 | % over the pooling region per channel) or 'avg' (compute the average 32 | % value over the poolling region per channel). 33 | % 34 | % The pooling window must be not larger than the padded image, i.e. 35 | % 36 | % 1 <= POOLY <= HEIGHT + (PADTOP + PADBOTTOM), 37 | % 1 <= POOLX <= WIDTH + (PADLEFT + PADRIGHT). 38 | % 39 | % The output a is a SINGLE array of dimension YH x YW x K x N of N 40 | % images with K challens and size: 41 | % 42 | % YH = floor((H + (PADTOP+PADBOTTOM) - POOLY)/STRIDEY) + 1, 43 | % YW = floor((W + (PADLEFT+PADRIGHT) - POOLX)/STRIDEX) + 1. 44 | % 45 | % The derivative DZDY has the same dimension of the output Y and 46 | % the derivative DZDX has the same dimension as the input X. 47 | % 48 | % ## CUDNN SUPPORT 49 | % 50 | % If compiled in, the function will use cuDNN convolution routines 51 | % (with the exception of asymmetric left-right or top-bottom 52 | % padding and avergage pooling that triggers a bug in cuDNN). You 53 | % can use the 'NoCuDNN' option to disable cuDNN or 'cuDNN' to 54 | % activate it back again (the choice sticks until MATLAB purges the 55 | % MEX files for any reason). 56 | 57 | % Copyright (C) 2014-15 Andrea Vedaldi, Karel Lenc, and Max Jaderberg. 58 | % All rights reserved. 59 | % 60 | % This file is part of the VLFeat library and is made available under 61 | % the terms of the BSD license (see the COPYING file). 62 | 63 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnrelu.m: -------------------------------------------------------------------------------- 1 | function y = vl_nnrelu(x,dzdy) 2 | % VL_NNRELU CNN rectified linear unit 3 | % Y = VL_NNRELU(X) applies the rectified linear unit to the data 4 | % X. X can have arbitrary size. 5 | % 6 | % DZDX = VL_NNRELU(X, DZDY) computes the network derivative DZDX 7 | % with respect to the input X given the derivative DZDY with respect 8 | % to the output Y. DZDX has the same dimension as X. 9 | 10 | % Copyright (C) 2014 Andrea Vedaldi. 11 | % All rights reserved. 12 | % 13 | % This file is part of the VLFeat library and is made available under 14 | % the terms of the BSD license (see the COPYING file). 15 | 16 | if nargin <= 1 || isempty(dzdy) 17 | y = max(x, single(0)) ; 18 | else 19 | y = dzdy .* (x > single(0)) ; 20 | end 21 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnsoftmax.m: -------------------------------------------------------------------------------- 1 | function Y = vl_nnsoftmax(X,dzdY) 2 | % VL_NNSOFTMAX CNN softmax 3 | % Y = VL_NNSOFTMAX(X) applies the softmax operator the data X. X 4 | % has dimension H x W x D x N, packing N arrays of W x H 5 | % D-dimensional vectors. 6 | % 7 | % D can be thought of as the number of possible classes and the 8 | % function computes the softmax along the D dimension. Often W=H=1, 9 | % but this is not a requirement, as the operator is applied 10 | % convolutionally at all spatial locations. 11 | % 12 | % DZDX = VL_NNSOFTMAX(X, DZDY) computes the derivative DZDX of the 13 | % CNN output with respect to the input X given the derivative DZDY 14 | % with respect to the block output Y. DZDX has the same dimension 15 | % as X. 16 | 17 | % Copyright (C) 2014 Andrea Vedaldi. 18 | % All rights reserved. 19 | % 20 | % This file is part of the VLFeat library and is made available under 21 | % the terms of the BSD license (see the COPYING file). 22 | 23 | E = exp(bsxfun(@minus, X, max(X,[],3))) ; 24 | L = sum(E,3) ; 25 | Y = bsxfun(@rdivide, E, L) ; 26 | 27 | if nargin <= 1, return ; end 28 | 29 | % backward 30 | Y = Y .* bsxfun(@minus, dzdY, sum(dzdY .* Y, 3)) ; 31 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_nnsoftmaxloss.m: -------------------------------------------------------------------------------- 1 | function Y = vl_nnsoftmaxloss(X,c,dzdy) 2 | % VL_NNSOFTMAXLOSS CNN combined softmax and logistic loss 3 | % Y = VL_NNSOFTMAX(X, C) applies the softmax operator followed by 4 | % the logistic loss the data X. X has dimension H x W x D x N, 5 | % packing N arrays of W x H D-dimensional vectors. 6 | % 7 | % C contains the class labels, which should be integer in the range 8 | % 1 to D. C can be an array with either N elements or with H x W x 9 | % 1 x N dimensions. In the fist case, a given class label is 10 | % applied at all spatial locations; in the second case, different 11 | % class labels can be specified for different locations. 12 | % 13 | % D can be thought of as the number of possible classes and the 14 | % function computes the softmax along the D dimension. Often W=H=1, 15 | % but this is not a requirement, as the operator is applied 16 | % convolutionally at all spatial locations. 17 | % 18 | % DZDX = VL_NNSOFTMAXLOSS(X, C, DZDY) computes the derivative DZDX 19 | % of the CNN with respect to the input X given the derivative DZDY 20 | % with respect to the block output Y. DZDX has the same dimension 21 | % as X. 22 | 23 | % Copyright (C) 2014 Andrea Vedaldi. 24 | % All rights reserved. 25 | % 26 | % This file is part of the VLFeat library and is made available under 27 | % the terms of the BSD license (see the COPYING file). 28 | 29 | %X = X + 1e-6 ; 30 | sz = [size(X,1) size(X,2) size(X,3) size(X,4)] ; 31 | 32 | % index from 0 33 | c = c - 1 ; 34 | 35 | if numel(c) == sz(4) 36 | % one label per image 37 | c = reshape(c, [1 1 1 sz(4)]) ; 38 | c = repmat(c, [sz(1) sz(2)]) ; 39 | else 40 | % one label per spatial location 41 | sz_ = [size(c,1) size(c,2) size(c,3) size(c,4)] ; 42 | assert(isequal(sz_, [sz(1) sz(2) 1 sz(4)])) ; 43 | end 44 | 45 | % convert to indeces 46 | c_ = 0:numel(c)-1 ; 47 | c_ = 1 + ... 48 | mod(c_, sz(1)*sz(2)) + ... 49 | (sz(1)*sz(2)) * c(:)' + ... 50 | (sz(1)*sz(2)*sz(3)) * floor(c_/(sz(1)*sz(2))) ; 51 | 52 | % compute softmaxloss 53 | Xmax = max(X,[],3) ; 54 | ex = exp(bsxfun(@minus, X, Xmax)) ; 55 | 56 | n = sz(1)*sz(2) ; 57 | if nargin <= 2 58 | t = Xmax + log(sum(ex,3)) - reshape(X(c_), [sz(1:2) 1 sz(4)]) ; 59 | Y = sum(t(:)) / n ; 60 | else 61 | Y = bsxfun(@rdivide, ex, sum(ex,3)) ; 62 | Y(c_) = Y(c_) - 1; 63 | Y = Y * (dzdy / n) ; 64 | end 65 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_rootnn.m: -------------------------------------------------------------------------------- 1 | function root = vl_rootnn() 2 | % VL_ROOTNN Get the root path of the MatConvNet toolbox 3 | % VL_ROOTNN() returns the path to the MatConvNet toolbox. 4 | 5 | % Copyright (C) 2014 Andrea Vedaldi. 6 | % All rights reserved. 7 | % 8 | % This file is part of the VLFeat library and is made available under 9 | % the terms of the BSD license (see the COPYING file). 10 | 11 | root = fileparts(fileparts(mfilename('fullpath'))) ; 12 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_setupnn.m: -------------------------------------------------------------------------------- 1 | function vl_setupnn() 2 | % VL_SETUPNN Setup the MatConvNet toolbox 3 | % VL_SETUPNN() function adds the MatConvNet toolbox to MATLAB path. 4 | 5 | % Copyright (C) 2014 Andrea Vedaldi. 6 | % All rights reserved. 7 | % 8 | % This file is part of the VLFeat library and is made available under 9 | % the terms of the BSD license (see the COPYING file). 10 | 11 | root = vl_rootnn() ; 12 | addpath(fullfile(root, 'matlab')) ; 13 | addpath(fullfile(root, 'matlab', 'mex')) ; 14 | addpath(fullfile(root, 'matlab', 'xtest')) ; 15 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_simplenn_diagnose.m: -------------------------------------------------------------------------------- 1 | function vl_simplenn_diagnose(net, res) 2 | % VL_SIMPLENN_DIAGNOSE Plot diagnostic information 3 | % VL_SIMPLENN_DIAGNOSE(NET, RES) plots in the current window 4 | % the average, maximum, and miminum element for all the filters 5 | % and biases in the network NET. If RES is also provided, it will 6 | % plot the average, minimum, and maximum element for all the 7 | % intermediate responses and deriviatives stored in RES as well. 8 | % 9 | % This function can be used to rapidly glance at the evolution 10 | % of the paramters during training. 11 | 12 | n = numel(net.layers) ; 13 | fmu = NaN + zeros(1, n) ; 14 | fmi = fmu ; 15 | fmx = fmu ; 16 | bmu = fmu ; 17 | bmi = fmu ; 18 | bmx = fmu ; 19 | xmu = fmu ; 20 | xmi = fmi ; 21 | xmx = fmx ; 22 | dxmu = fmu ; 23 | dxmi = fmi ; 24 | dxmx = fmx ; 25 | dfmu = fmu ; 26 | dfmi = fmu ; 27 | dfmx = fmu ; 28 | dbmu = fmu ; 29 | dbmi = fmu ; 30 | dbmx = fmu ; 31 | 32 | for i=1:numel(net.layers) 33 | ly = net.layers{i} ; 34 | if strcmp(ly.type, 'conv') && numel(ly.filters) > 0 35 | x = gather(ly.filters) ; 36 | fmu(i) = mean(x(:)) ; 37 | fmi(i) = min(x(:)) ; 38 | fmx(i) = max(x(:)) ; 39 | end 40 | if strcmp(ly.type, 'conv') && numel(ly.biases) > 0 41 | x = gather(ly.biases) ; 42 | bmu(i) = mean(x(:)) ; 43 | bmi(i) = min(x(:)) ; 44 | bmx(i) = max(x(:)) ; 45 | end 46 | if nargin > 1 47 | if numel(res(i).x) > 1 48 | x = gather(res(i).x) ; 49 | xmu(i) = mean(x(:)) ; 50 | xmi(i) = min(x(:)) ; 51 | xmx(i) = max(x(:)) ; 52 | end 53 | if numel(res(i).dzdx) > 1 54 | x = gather(res(i).dzdx); 55 | dxmu(i) = mean(x(:)) ; 56 | dxmi(i) = min(x(:)) ; 57 | dxmx(i) = max(x(:)) ; 58 | end 59 | if strcmp(ly.type, 'conv') && numel(res(i).dzdw{1}) > 0 60 | x = gather(res(i).dzdw{1}) ; 61 | dfmu(i) = mean(x(:)) ; 62 | dfmi(i) = min(x(:)) ; 63 | dfmx(i) = max(x(:)) ; 64 | end 65 | if strcmp(ly.type, 'conv') && numel(res(i).dzdw{2}) > 0 66 | x = gather(res(i).dzdw{2}) ; 67 | dbmu(i) = mean(x(:)) ; 68 | dbmi(i) = min(x(:)) ; 69 | dbmx(i) = max(x(:)) ; 70 | end 71 | end 72 | end 73 | 74 | if nargin > 1 75 | np = 6 ; 76 | else 77 | np = 2 ; 78 | end 79 | 80 | clf ; subplot(np,1,1) ; 81 | errorbar(1:n, fmu, fmi, fmx, 'bo') ; 82 | grid on ; 83 | xlabel('layer') ; 84 | ylabel('filters') ; 85 | title('coefficient ranges') ; 86 | 87 | subplot(np,1,2) ; 88 | errorbar(1:n, bmu, bmi, bmx, 'bo') ; 89 | grid on ; 90 | xlabel('layer') ; 91 | ylabel('biases') ; 92 | 93 | if nargin > 1 94 | subplot(np,1,3) ; 95 | errorbar(1:n, xmu, xmi, xmx, 'bo') ; 96 | grid on ; 97 | xlabel('layer') ; 98 | ylabel('x') ; 99 | 100 | subplot(np,1,4) ; 101 | errorbar(1:n, dxmu, dxmi, dxmx, 'bo') ; 102 | grid on ; 103 | xlabel('layer') ; 104 | ylabel('dzdx') ; 105 | 106 | subplot(np,1,5) ; 107 | errorbar(1:n, dfmu, dfmi, dfmx, 'bo') ; 108 | grid on ; 109 | xlabel('layer') ; 110 | ylabel('dfilters') ; 111 | 112 | subplot(np,1,6) ; 113 | errorbar(1:n, dbmu, dbmi, dbmx, 'bo') ; 114 | grid on ; 115 | xlabel('layer') ; 116 | ylabel('dbiases') ; 117 | end 118 | 119 | 120 | drawnow ; 121 | -------------------------------------------------------------------------------- /matconvnet/matlab/vl_simplenn_move.m: -------------------------------------------------------------------------------- 1 | function net = vl_simplenn_move(net, destination) 2 | % VL_SIMPLENN_MOVE Move a simple CNN between CPU and GPU 3 | % NET = VL_SIMPLENN_MOVE(NET, 'gpu') moves the network 4 | % on the current GPU device. 5 | % 6 | % NET = VL_SIMPLENN_MOVE(NET, 'cpu') moves the network 7 | % on the CPU. 8 | 9 | % Copyright (C) 2014 Andrea Vedaldi. 10 | % All rights reserved. 11 | % 12 | % This file is part of the VLFeat library and is made available under 13 | % the terms of the BSD license (see the COPYING file). 14 | 15 | switch destination 16 | case 'gpu', moveop = @(x) gpuArray(x) ; 17 | case 'cpu', moveop = @(x) gather(x) ; 18 | otherwise, error('Unknown desitation ''%s''.', destination) ; 19 | end 20 | for l=1:numel(net.layers) 21 | switch net.layers{l}.type 22 | case 'conv' 23 | for f = {'filters', 'biases', 'filtersMomentum', 'biasesMomentum'} 24 | f = char(f) ; 25 | if isfield(net.layers{l}, f) 26 | net.layers{l}.(f) = moveop(net.layers{l}.(f)) ; 27 | end 28 | end 29 | otherwise 30 | % nothing to do ? 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /matconvnet/matlab/xtest/vl_bench_imreadjpeg.m: -------------------------------------------------------------------------------- 1 | % VL_BENCH_IMREADJPEG Evaluates the speed of imreadjpeg 2 | 3 | numThreads = 4 ; 4 | base = 'data/bench-imreadjpeg' ; 5 | 6 | files = {} ; 7 | files = dir(fullfile(base,'*.jpg')) ; 8 | files = fullfile(base, {files.name}) ; 9 | if numel(files) > 256, files = files(1:256) ; end 10 | 11 | for preallocate = [true, false] 12 | opts={'verbose','verbose', 'preallocate', preallocate} ; 13 | for t=1:4 14 | % simple read 15 | fprintf('direct read single thread\n') ; 16 | clear ims ; 17 | tic ; 18 | ims = vl_imreadjpeg(files, 'numThreads', 1, opts{:}) ; 19 | directSingle(t) = toc ; 20 | fprintf(' done\n') ; 21 | pause(1) ; 22 | 23 | % simple read 24 | fprintf('direct read multi thread\n') ; 25 | clear ims ; 26 | tic ; 27 | ims = vl_imreadjpeg(files, 'numThreads', numThreads, opts{:}) ; 28 | direct(t) = toc ; 29 | fprintf(' done\n') ; 30 | pause(1) ; 31 | 32 | % threaded read 33 | fprintf('issue prefetch\n') ; 34 | tic ; 35 | vl_imreadjpeg(files, 'prefetch', opts{:}) ; 36 | prefetch(t) = toc ; 37 | fprintf(' done [pause 6]\n') ; 38 | pause(6) 39 | 40 | fprintf('prefetched read\n') ; 41 | clear ims_ ; % do not accoutn for the time requried to delete this 42 | tic ; 43 | ims_ = vl_imreadjpeg(files, opts{:}) ; 44 | indirect(t) = toc ; 45 | pause(1) ; 46 | end 47 | 48 | n = numel(ims) ; 49 | fprintf('** test results preallcoate %d\n', preallocate) ; 50 | fprintf('\tsingle tread: %.1f pm %.1f\n', mean(n./directSingle), std(n./directSingle)) ; 51 | fprintf('\t%d threads: %.1f pm %.1f\n', numThreads, mean(n./direct), std(n./direct)) ; 52 | fprintf('\tissue prefetch: %.1f pm %.1f\n', mean(n./prefetch), std(n./prefetch)) ; 53 | fprintf('\tretrieve prefetched: %.1f pm %.1f\n', mean(n./indirect), std(n./indirect)) ; 54 | fprintf('\n\n') ; 55 | end 56 | 57 | return 58 | -------------------------------------------------------------------------------- /matconvnet/matlab/xtest/vl_test_gpureset.m: -------------------------------------------------------------------------------- 1 | for explictMexReset = [false] 2 | 3 | % reset the same GPU device 4 | for t = 1:6 5 | if explictMexReset, clear mex ; end 6 | if mod(t-1,2) == 0 7 | disp('vl_test_gpureset: resetting GPU') ; 8 | gpuDevice(1) ; 9 | else 10 | disp('vl_test_gpureset: not resetting GPU') ; 11 | end 12 | if t > 1, disp(a) ; end 13 | a = gpuArray(single(ones(10))) ; 14 | b = gpuArray(single(ones(5))) ; 15 | c = vl_nnconv(a,b,[],'nocudnn') ; 16 | end 17 | 18 | % resetting GPU arguments to a MEX file should fail properly 19 | a = gpuArray(single(ones(10))) ; 20 | b = gpuArray(single(ones(5))) ; 21 | c = vl_nnconv(a,b,[],'nocudnn') ; 22 | 23 | gpuDevice(1) ; 24 | disp(a) ; 25 | try 26 | c = vl_nnconv(a,b,[],'nocudnn') ; 27 | catch e 28 | assert(strcmp('parallel:gpu:array:InvalidData', e.identifier)) ; 29 | end 30 | 31 | % switch GPU devices 32 | if gpuDeviceCount > 1 33 | disp('vl_text_gpureset: test switching GPU device') ; 34 | for t = 1:gpuDeviceCount 35 | if explictMexReset, clear mex ; end 36 | fprintf('vl_test_gpureset: switching to gpu %d\n', t) ; 37 | gpuDevice(t) ; 38 | a = gpuArray(single(ones(10))) ; 39 | b = gpuArray(single(ones(5))) ; 40 | c = vl_nnconv(a,b,[],'nocudnn') ; 41 | end 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /matconvnet/matlab/xtest/vl_test_imreadjpeg.m: -------------------------------------------------------------------------------- 1 | function vl_test_imreadjpeg 2 | % VL_TEST_IMREADJPEG 3 | 4 | % Test basic file reading capability 5 | for t=1:6 6 | files{t} = which(sprintf('office_%d.jpg', t)) ; 7 | end 8 | ims = vl_imreadjpeg(files) ; 9 | 10 | % Test inserting a non-image file 11 | files_ = files ; 12 | files_{3} = [mfilename('fullpath') '.m']; 13 | ims_ = vl_imreadjpeg(files_) ; 14 | for t=setdiff(1:6,3) 15 | assert(isequal(ims{t},ims_{t})) ; 16 | end 17 | 18 | % Test inserting a non-esiting file 19 | files__ = files_ ; 20 | files__{4} = 'idontexist.jpg' ; 21 | ims__ = vl_imreadjpeg(files__) ; 22 | for t=setdiff(1:6,[3 4]) 23 | assert(isequal(ims{t},ims__{t})) ; 24 | end 25 | 26 | for n = 1:4 27 | % Test prefetching 28 | vl_imreadjpeg(files,'prefetch', 'numThreads', n) ; 29 | ims___ = vl_imreadjpeg(files) ; 30 | assert(isequal(ims,ims___)) ; 31 | 32 | % Hardening: test prefetching, clearing mex, fetching 33 | vl_imreadjpeg(files,'prefetch') ; 34 | clear mex ; 35 | ims___ = vl_imreadjpeg(files, 'numThreads', n) ; 36 | assert(isequal(ims,ims___)) ; 37 | end 38 | -------------------------------------------------------------------------------- /matconvnet/matlab/xtest/vl_testder.m: -------------------------------------------------------------------------------- 1 | function vl_testder(g,x,dzdy,dzdx,delta,tau) 2 | 3 | if nargin < 5 4 | delta = 1e-3 ; 5 | end 6 | 7 | if nargin < 6 8 | tau = [] ; 9 | end 10 | 11 | dzdy = gather(dzdy) ; 12 | dzdx = gather(dzdx) ; 13 | 14 | y = gather(g(x)) ; 15 | dzdx_=zeros(size(dzdx)); 16 | for i=1:numel(x) 17 | x_ = x ; 18 | x_(i) = x_(i) + delta ; 19 | y_ = gather(g(x_)) ; 20 | factors = dzdy .* (y_ - y)/delta ; 21 | dzdx_(i) = dzdx_(i) + sum(factors(:)) ; 22 | end 23 | vl_testsim(dzdx, dzdx_, tau); 24 | 25 | -------------------------------------------------------------------------------- /matconvnet/matlab/xtest/vl_testsim.m: -------------------------------------------------------------------------------- 1 | function vl_testsim(a,b,tau) 2 | % VL_TESSIM Test near-equality of arrays 3 | % VL_TEST(A,B,TAU) succeds if A and B have the same dimensions 4 | % and if their L^infinity difference is smaller than TAU. 5 | % 6 | % VL_TEST(A,B) selects TAU automatically by looking at the 7 | % dynamic range of the data. The same happens if TAU is the empty 8 | % matrix. 9 | 10 | % Copyright (C) 2014 Andrea Vedaldi. 11 | % All rights reserved. 12 | % 13 | % This file is part of the VLFeat library and is made available under 14 | % the terms of the BSD license (see the COPYING file). 15 | 16 | a = gather(a) ; 17 | b = gather(b) ; 18 | assert(isequal(size(a),size(b))) ; 19 | if isempty(a), return ; end 20 | delta = a - b ; 21 | %max(abs(a(:)-b(:))) 22 | if nargin < 3 || isempty(tau) 23 | maxv = max([max(a(:)), max(b(:))]) ; 24 | minv = min([min(a(:)), min(b(:))]) ; 25 | tau = 1e-2 * (maxv - minv) + 1e-4 * max(maxv, -minv) ; 26 | end 27 | assert(all(abs(a(:)-b(:)) < tau)) ; 28 | -------------------------------------------------------------------------------- /models/imagenet-vgg-m-conv1-3.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/models/imagenet-vgg-m-conv1-3.mat -------------------------------------------------------------------------------- /models/mdnet_otb-vot14.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/models/mdnet_otb-vot14.mat -------------------------------------------------------------------------------- /models/mdnet_otb-vot15.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/models/mdnet_otb-vot15.mat -------------------------------------------------------------------------------- /models/mdnet_vot-otb.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyseob/MDNet/07c0d063d01ef5f59d9371c6aba1f28f4c9a475b/models/mdnet_vot-otb.mat -------------------------------------------------------------------------------- /pretraining/demo_pretraining.m: -------------------------------------------------------------------------------- 1 | %% DEMO_PRETRAINING 2 | % 3 | % Training MDNet models. 4 | % 5 | % Hyeonseob Nam, 2015 6 | % 7 | 8 | clear; 9 | 10 | % Prepare a CNN model for learning MDNet. 11 | mdnet_prepare_model; 12 | 13 | %% Training MDNet using the sequences from {VOT13,14,15}-{OTB100} 14 | % for experiments on OTB 15 | mdnet_pretrain('seqsList',... 16 | {struct('dataset','vot2013','list','pretraining/seqList/vot13-otb.txt'),... 17 | struct('dataset','vot2014','list','pretraining/seqList/vot14-otb.txt'),... 18 | struct('dataset','vot2015','list','pretraining/seqList/vot15-otb.txt')},... 19 | 'outFile', fullfile('models','mdnet_vot-otb_new.mat'),... 20 | 'roiDir', fullfile('models','data_vot-otb')); 21 | 22 | %% Training MDNet using the sequences from {OTB}-{VOT14} 23 | % for experiments on VOT14 24 | mdnet_pretrain('seqsList',... 25 | {struct('dataset','otb','list','pretraining/seqList/otb-vot14.txt')},... 26 | 'outFile', fullfile('models','mdnet_otb-vot14_new.mat'),... 27 | 'roiDir', fullfile('models','data_otb-vot14')); 28 | 29 | %% Training MDNet using the sequences from {OTB}-{VOT15} 30 | % for experiments on VOT15 31 | mdnet_pretrain('seqsList',... 32 | {struct('dataset','otb','list','pretraining/seqList/otb-vot15.txt')},... 33 | 'outFile', fullfile('models','mdnet_otb-vot15_new.mat'),... 34 | 'roiDir', fullfile('models','data_otb-vot15')); -------------------------------------------------------------------------------- /pretraining/get_batch.m: -------------------------------------------------------------------------------- 1 | function imo = get_batch(images, boxes, varargin) 2 | % GET_BATCH 3 | % Load, preprocess, and pack images for CNN evaluation 4 | % 5 | % Modified from cnn_imagenet_get_batch() in the MatConvNet library. 6 | % Hyeonseob Nam, 2015 7 | % 8 | 9 | opts.input_size = 107; 10 | opts.crop_mode = 'warp' ; 11 | opts.crop_padding = 16 ; 12 | opts.numFetchThreads = 1 ; 13 | opts.prefetch = false ; 14 | opts = vl_argparse(opts, varargin); 15 | 16 | % fetch is true if images is a list of filenames (instead of 17 | % a cell array of images) 18 | fetch = ischar(images{1}) ; 19 | 20 | % prefetch is used to load images in a separate thread 21 | prefetch = fetch & opts.prefetch ; 22 | 23 | im = cell(1, numel(images)) ; 24 | if opts.numFetchThreads > 0 25 | if prefetch 26 | vl_imreadjpeg(images, 'numThreads', opts.numFetchThreads, 'prefetch'); 27 | imo = []; 28 | return ; 29 | end 30 | if fetch 31 | im = vl_imreadjpeg(images,'numThreads', opts.numFetchThreads) ; 32 | end 33 | end 34 | if ~fetch 35 | im = images ; 36 | end 37 | 38 | num_boxes = size(boxes, 1); 39 | crop_mode = opts.crop_mode; 40 | crop_size = opts.input_size; 41 | crop_padding = opts.crop_padding; 42 | imo = zeros(crop_size, crop_size, 3, num_boxes, 'single'); 43 | 44 | parfor i = 1:num_boxes 45 | id = boxes(i,1); 46 | bbox = boxes(i,2:end); 47 | 48 | imt = im{id}; 49 | if size(imt,3) == 1 50 | imt = cat(3, imt, imt, imt) ; 51 | end 52 | 53 | crop = im_crop(imt, bbox, crop_mode, crop_size, crop_padding); 54 | imo(:,:,:,i) = crop; 55 | end 56 | 57 | -------------------------------------------------------------------------------- /pretraining/mdnet_prepare_model.m: -------------------------------------------------------------------------------- 1 | function mdnet_prepare_model() 2 | % MDNET_PREPARE_MODEL 3 | % Prepare a initial CNN model for learning MDNet. 4 | % 5 | % conv1-3 are adopted from VGG-M network. 6 | % fc4-fc6 are randomly initialized. 7 | % fc6 will be replaced by multiple domain-specific layers when training MDNet. 8 | % 9 | % Hyeonseob Nam, 2015 10 | % 11 | 12 | % conv1-3 layers from VGG-M network pretrained on ImageNet 13 | src_model = './models/imagenet-vgg-m-conv1-3.mat'; 14 | % output network 15 | dst_model = './models/mdnet_init.mat'; 16 | 17 | if exist(dst_model,'file') 18 | return; 19 | end 20 | 21 | %% load conv layers 22 | load(src_model); 23 | 24 | new_layers = {}; 25 | for i=1:numel(layers) 26 | if strcmp(layers{i}.name,'conv4'), break; end 27 | switch (layers{i}.type) 28 | case 'conv' 29 | layers{i}.filters = layers{i}.weights{1}; 30 | layers{i}.biases = layers{i}.weights{2}; 31 | layers{i} = rmfield(layers{i},'weights'); 32 | layers{i}.pad = 0; 33 | last_dim = size(layers{i}.biases,2); 34 | case 'pool' 35 | layers{i}.pad = 0; 36 | end 37 | new_layers{end+1} = layers{i}; 38 | end 39 | 40 | %% init fc layers 41 | scal = 1 ; 42 | init_bias = 0.1; 43 | 44 | % Block 4 45 | new_layers{end+1} = struct('type', 'conv', ... 46 | 'name', 'fc4', ... 47 | 'filters', 0.01/scal * randn(3,3,last_dim,512,'single'),... 48 | 'biases', init_bias*ones(1,512,'single'), ... 49 | 'stride', 1, ... 50 | 'pad', 0, ... 51 | 'filtersLearningRate', 10, ... 52 | 'biasesLearningRate', 20, ... 53 | 'filtersWeightDecay', 1, ... 54 | 'biasesWeightDecay', 0) ; 55 | new_layers{end+1} = struct('type', 'relu', 'name', 'relu4') ; 56 | new_layers{end+1} = struct('type', 'dropout', 'name', 'drop4', 'rate', 0.5) ; 57 | 58 | % Block 5 59 | new_layers{end+1} = struct('type', 'conv', ... 60 | 'name', 'fc5', ... 61 | 'filters', 0.01/scal * randn(1,1,512,512,'single'),... 62 | 'biases', init_bias*ones(1,512,'single'), ... 63 | 'stride', 1, ... 64 | 'pad', 0, ... 65 | 'filtersLearningRate', 10, ... 66 | 'biasesLearningRate', 20, ... 67 | 'filtersWeightDecay', 1, ... 68 | 'biasesWeightDecay', 0) ; 69 | new_layers{end+1} = struct('type', 'relu', 'name', 'relu5') ; 70 | new_layers{end+1} = struct('type', 'dropout', 'name', 'drop5', 'rate', 0.5) ; 71 | 72 | % Block 6 73 | new_layers{end+1} = struct('type', 'conv', ... 74 | 'name', 'fc6', ... 75 | 'filters', 0.01/scal * randn(1,1,512,2,'single'), ... 76 | 'biases', zeros(1, 2, 'single'), ... 77 | 'stride', 1, ... 78 | 'pad', 0, ... 79 | 'filtersLearningRate', 10, ... 80 | 'biasesLearningRate', 20, ... 81 | 'filtersWeightDecay', 1, ... 82 | 'biasesWeightDecay', 0) ; 83 | new_layers{end+1} = struct('type', 'softmaxloss', 'name', 'loss') ; 84 | 85 | clear layers; layers = new_layers; 86 | save(dst_model,'layers'); -------------------------------------------------------------------------------- /pretraining/seq2roidb.m: -------------------------------------------------------------------------------- 1 | function [ roidb ] = seq2roidb(config, opts) 2 | % SEQ2ROIDB 3 | % Extract training bounding boxes from the sequence given by config, 4 | % to construct a dataset of RoIs for training MDNet. 5 | % 6 | % Hyeonseob Nam, 2015 7 | % 8 | 9 | images = config.imgList; 10 | gts = config.gt; 11 | 12 | im = imread(images{1}); 13 | [h,w,~] = size(im); 14 | imgSize = [h, w]; 15 | 16 | roidb = sample_rois(images, gts, imgSize, opts); 17 | 18 | 19 | 20 | %-------------------------------------------------------------------------- 21 | function rois = sample_rois(images, gts, imgSize, opts) 22 | %-------------------------------------------------------------------------- 23 | rois = struct('img_path',cell(1,length(images)),... 24 | 'pos_boxes',cell(1,length(images)),... 25 | 'neg_boxes',cell(1,length(images))); 26 | 27 | for i=1:length(images) 28 | targetLoc = gts(i,:); 29 | % fprintf('sampling %s ...\n', images{idx}); 30 | 31 | pos_examples = []; 32 | while(size(pos_examples,1)opts.posRange(1) & r<=opts.posRange(2),:); 37 | if isempty(pos), continue; end 38 | pos = pos(randsample(end,min(end,opts.posPerFrame-1-size(pos_examples,1))),:); 39 | pos_examples = [pos_examples;pos]; 40 | end 41 | 42 | neg_examples = []; 43 | while(size(neg_examples,1)=opts.negRange(1) & r positive samples, target candidates 8 | % 'uniform' generate samples from a uniform distribution around bb 9 | % -> negative samples 10 | % 'uniform_aspect' generate samples from a uniform distribution around bb with varying aspect ratios 11 | % -> training samples for bbox regression 12 | % 'whole' generate samples from the whole image 13 | % -> negative samples at the initial frame 14 | % 15 | % Hyeonseob Nam, 2015 16 | % 17 | 18 | h = opts.imgSize(1); w = opts.imgSize(2); 19 | 20 | % [center_x center_y width height] 21 | sample = [bb(1)+bb(3)/2 bb(2)+bb(4)/2, bb(3:4)]; 22 | samples = repmat(sample, [n, 1]); 23 | 24 | switch (type) 25 | case 'gaussian' 26 | samples(:,1:2) = samples(:,1:2) + trans_f * round(mean(bb(3:4))) * max(-1,min(1,0.5*randn(n,2))); 27 | samples(:,3:4) = samples(:,3:4) .* repmat(opts.scale_factor.^(scale_f*max(-1,min(1,0.5*randn(n,1)))),1,2); 28 | case 'uniform' 29 | samples(:,1:2) = samples(:,1:2) + trans_f * round(mean(bb(3:4))) * (rand(n,2)*2-1); 30 | samples(:,3:4) = samples(:,3:4) .* repmat(opts.scale_factor.^(scale_f*(rand(n,1)*2-1)),1,2); 31 | case 'uniform_aspect' 32 | samples(:,1:2) = samples(:,1:2) + trans_f * repmat(bb(3:4),n,1) .* (rand(n,2)*2-1); 33 | samples(:,3:4) = samples(:,3:4) .* opts.scale_factor.^(rand(n,2)*4-2); 34 | samples(:,3:4) = samples(:,3:4) .* repmat(opts.scale_factor.^(scale_f*rand(n,1)),1,2); 35 | case 'whole' 36 | range = round([bb(3)/2 bb(4)/2 w-bb(3)/2 h-bb(4)/2]); 37 | stride = round([bb(3)/5 bb(4)/5]); 38 | [dx, dy, ds] = meshgrid(range(1):stride(1):range(3), range(2):stride(2):range(4), -5:5); 39 | windows = [dx(:) dy(:) bb(3)*opts.scale_factor.^ds(:) bb(4)*opts.scale_factor.^ds(:)]; 40 | 41 | samples = []; 42 | while(size(samples,1)= 6 104 | x = gt(:,1:2:end); 105 | y = gt(:,2:2:end); 106 | gt = [min(x,[],2), min(y,[],2), max(x,[],2) - min(x,[],2), max(y,[],2) - min(y,[],2)]; 107 | end 108 | config.gt = gt; 109 | 110 | nFrames = min(length(config.imgList), size(config.gt,1)); 111 | config.imgList = config.imgList(1:nFrames); 112 | config.gt = config.gt(1:nFrames,:); 113 | 114 | case {'new_dataset'} 115 | % configure new sequence 116 | end 117 | -------------------------------------------------------------------------------- /utils/im_crop.m: -------------------------------------------------------------------------------- 1 | function window = ... 2 | im_crop(im, bbox, crop_mode, crop_size, padding, mean_rgb) 3 | % window = im_crop(im, bbox, crop_mode, crop_size, padding, image_mean) 4 | % Crops a window specified by bbox (in [x1 y1 x2 y2] order) out of im. 5 | % 6 | % crop_mode can be either 'warp' or 'square' 7 | % crop_size determines the size of the output window: crop_size x crop_size 8 | % padding is the amount of padding to include at the target scale 9 | % image_mean to subtract from the cropped window 10 | % 11 | % N.B. this should be as identical as possible to the cropping 12 | % implementation in Caffe's WindowDataLayer, which is used while 13 | % fine-tuning. 14 | 15 | % AUTORIGHTS 16 | % --------------------------------------------------------- 17 | % Copyright (c) 2014, Ross Girshick 18 | % 19 | % This file is part of the R-CNN code and is available 20 | % under the terms of the Simplified BSD License provided in 21 | % LICENSE. Please retain this notice and LICENSE if you use 22 | % this file (or any portion of it) in your project. 23 | % --------------------------------------------------------- 24 | % 25 | % Modified by Hyeonseob Nam, 2015 26 | % 27 | 28 | if nargin<6, mean_rgb = []; end 29 | 30 | use_square = false; 31 | if strcmp(crop_mode, 'square') 32 | use_square = true; 33 | end 34 | 35 | % defaults if padding is 0 36 | pad_w = 0; 37 | pad_h = 0; 38 | crop_width = crop_size; 39 | crop_height = crop_size; 40 | if padding > 0 || use_square 41 | %figure(1); showboxesc(im/256, bbox, 'b', '-'); 42 | scale = crop_size/(crop_size - padding*2); 43 | half_height = bbox(4)/2; 44 | half_width = bbox(3)/2; 45 | center = [bbox(1)+half_width bbox(2)+half_height]; 46 | if use_square 47 | % make the box a tight square 48 | if half_height > half_width 49 | half_width = half_height; 50 | else 51 | half_height = half_width; 52 | end 53 | end 54 | bbox = round([center center] + ... 55 | [-half_width -half_height half_width half_height]*scale); 56 | unclipped_height = bbox(4)-bbox(2)+1; 57 | unclipped_width = bbox(3)-bbox(1)+1; 58 | %figure(1); showboxesc([], bbox, 'r', '-'); 59 | pad_x1 = max(0, 1 - bbox(1)); 60 | pad_y1 = max(0, 1 - bbox(2)); 61 | % clipped bbox 62 | bbox(1) = max(1, bbox(1)); 63 | bbox(2) = max(1, bbox(2)); 64 | bbox(3) = min(size(im,2), bbox(3)); 65 | bbox(4) = min(size(im,1), bbox(4)); 66 | clipped_height = bbox(4)-bbox(2)+1; 67 | clipped_width = bbox(3)-bbox(1)+1; 68 | scale_x = crop_size/unclipped_width; 69 | scale_y = crop_size/unclipped_height; 70 | crop_width = round(clipped_width*scale_x); 71 | crop_height = round(clipped_height*scale_y); 72 | pad_x1 = round(pad_x1*scale_x); 73 | pad_y1 = round(pad_y1*scale_y); 74 | 75 | pad_h = pad_y1; 76 | pad_w = pad_x1; 77 | 78 | if pad_y1 + crop_height > crop_size 79 | crop_height = crop_size - pad_y1; 80 | end 81 | if pad_x1 + crop_width > crop_size 82 | crop_width = crop_size - pad_x1; 83 | end 84 | end % padding > 0 || square 85 | 86 | window = im(bbox(2):bbox(4), bbox(1):bbox(3), :); 87 | % We turn off antialiasing to better match OpenCV's bilinear 88 | % interpolation that is used in Caffe's WindowDataLayer. 89 | tmp = imresize(window, [crop_height crop_width], ... 90 | 'bilinear', 'antialiasing', false); 91 | tmp = single(tmp); 92 | 93 | if isempty(mean_rgb) 94 | % mean_rgb = mean(mean(tmp)); 95 | % tmp(:,:,1) = tmp(:,:,1)-mean_rgb(1); 96 | % tmp(:,:,2) = tmp(:,:,2)-mean_rgb(2); 97 | % tmp(:,:,3) = tmp(:,:,3)-mean_rgb(3); 98 | tmp = tmp -128; 99 | else 100 | tmp(:,:,1) = tmp(:,:,1)-mean_rgb(1); 101 | tmp(:,:,2) = tmp(:,:,2)-mean_rgb(2); 102 | tmp(:,:,3) = tmp(:,:,3)-mean_rgb(3); 103 | end 104 | 105 | %figure(2); window_ = tmp; imagesc((window_-min(window_(:)))/(max(window_(:))-min(window_(:)))); axis image; 106 | window = zeros(crop_size, crop_size, 3, 'single'); 107 | window(pad_h+(1:crop_height), pad_w+(1:crop_width), :) = tmp; 108 | %figure(3); imagesc((window-min(window(:)))/(max(window(:))-min(window(:)))); axis image; pause; 109 | -------------------------------------------------------------------------------- /utils/overlap_ratio.m: -------------------------------------------------------------------------------- 1 | function r = overlap_ratio(rect1, rect2) 2 | % OVERLAP_RATIO 3 | % Compute the overlap ratio between two rectangles 4 | % 5 | % Hyeonseob Nam, 2015 6 | % 7 | 8 | inter_area = rectint(rect1,rect2); 9 | union_area = rect1(:,3).*rect1(:,4) + rect2(:,3).*rect2(:,4) - inter_area; 10 | 11 | r = inter_area./union_area; 12 | end -------------------------------------------------------------------------------- /utils/parseImg.m: -------------------------------------------------------------------------------- 1 | function [ imgList ] = parseImg( loc ) 2 | % PARSEIMG 3 | % parse image paths from given location 4 | % 5 | % Hyeonseob Nam, 2015 6 | % 7 | 8 | % image extension : 9 | ext = {'jpg', 'png'}; 10 | 11 | % parse image 12 | tmpList = {}; 13 | for i=1:length(ext) 14 | extList = dir(fullfile(loc, ['*', ext{i}])); 15 | tmpList = {tmpList{:}, extList(:).name}; 16 | end 17 | 18 | % put prefix path to imgList 19 | for i=1:length(tmpList) 20 | tmpList{i} = fullfile(loc, tmpList{i}); 21 | end 22 | 23 | imgList = tmpList; 24 | 25 | end 26 | 27 | -------------------------------------------------------------------------------- /utils/predict_bbox_regressor.m: -------------------------------------------------------------------------------- 1 | function pred_boxes = ... 2 | predict_bbox_regressor(model, feat, ex_boxes) 3 | % pred_boxes = rcnn_predict_bbox_regressor(model, feat, ex_boxes) 4 | % Predicts a new bounding box from CNN features computed on input 5 | % bounding boxes. 6 | % 7 | % Inputs 8 | % model Bounding box regressor from rcnn_train_bbox_regressor.m 9 | % feat Input feature vectors 10 | % ex_boxes Input bounding boxes 11 | % 12 | % Outputs 13 | % pred_boxes Modified (hopefully better) ex_boxes 14 | 15 | % AUTORIGHTS 16 | % --------------------------------------------------------- 17 | % Copyright (c) 2014, Ross Girshick 18 | % 19 | % This file is part of the R-CNN code and is available 20 | % under the terms of the Simplified BSD License provided in 21 | % LICENSE. Please retain this notice and LICENSE if you use 22 | % this file (or any portion of it) in your project. 23 | % --------------------------------------------------------- 24 | 25 | if isempty(ex_boxes) 26 | pred_boxes = []; 27 | return; 28 | end 29 | 30 | % Predict regression targets 31 | Y = bsxfun(@plus, feat*model.Beta(1:end-1, :), model.Beta(end, :)); 32 | % Invert whitening transformation 33 | Y = bsxfun(@plus, Y*model.T_inv, model.mu); 34 | 35 | % Read out predictions 36 | dst_ctr_x = Y(:,1); 37 | dst_ctr_y = Y(:,2); 38 | dst_scl_x = Y(:,3); 39 | dst_scl_y = Y(:,4); 40 | 41 | src_w = ex_boxes(:,3); 42 | src_h = ex_boxes(:,4); 43 | src_ctr_x = ex_boxes(:,1) + 0.5*src_w; 44 | src_ctr_y = ex_boxes(:,2) + 0.5*src_h; 45 | 46 | pred_ctr_x = (dst_ctr_x .* src_w) + src_ctr_x; 47 | pred_ctr_y = (dst_ctr_y .* src_h) + src_ctr_y; 48 | pred_w = exp(dst_scl_x) .* src_w; 49 | pred_h = exp(dst_scl_y) .* src_h; 50 | pred_boxes = [pred_ctr_x - 0.5*pred_w, pred_ctr_y - 0.5*pred_h, ... 51 | pred_w, pred_h]; 52 | --------------------------------------------------------------------------------