├── __init__.py
├── imgs
└── pull7f-web_e2.png
├── checkpoints
├── checkpoint
└── checkpoint.ckpt-1.index
├── test_example
├── target
│ ├── 000000.jpg
│ ├── 000001.jpg
│ ├── 000002.jpg
│ ├── 000003.jpg
│ ├── 000004.jpg
│ ├── 000005.jpg
│ ├── 000006.jpg
│ ├── 000007.jpg
│ ├── 000008.jpg
│ ├── 000009.jpg
│ ├── 000010.jpg
│ ├── 000011.jpg
│ ├── 000012.jpg
│ ├── 000013.jpg
│ ├── 000014.jpg
│ ├── 000015.jpg
│ ├── 000016.jpg
│ ├── 000017.jpg
│ ├── 000018.jpg
│ ├── 000019.jpg
│ ├── 000020.jpg
│ ├── 000021.jpg
│ ├── 000022.jpg
│ ├── 000023.jpg
│ ├── 000024.jpg
│ ├── 000025.jpg
│ ├── 000026.jpg
│ ├── 000027.jpg
│ ├── 000028.jpg
│ ├── 000029.jpg
│ ├── 000030.jpg
│ ├── 000031.jpg
│ ├── 000032.jpg
│ ├── 000033.jpg
│ ├── 000034.jpg
│ ├── 000035.jpg
│ ├── 000036.jpg
│ ├── 000037.jpg
│ ├── 000038.jpg
│ ├── 000039.jpg
│ ├── 000040.jpg
│ ├── 000041.jpg
│ ├── 000042.jpg
│ ├── 000043.jpg
│ ├── 000044.jpg
│ ├── 000045.jpg
│ ├── 000046.jpg
│ ├── 000047.jpg
│ ├── 000048.jpg
│ ├── 000049.jpg
│ ├── 000050.jpg
│ ├── 000051.jpg
│ ├── 000052.jpg
│ ├── 000053.jpg
│ ├── 000054.jpg
│ ├── 000055.jpg
│ ├── 000056.jpg
│ ├── 000057.jpg
│ ├── 000058.jpg
│ ├── 000059.jpg
│ ├── 000060.jpg
│ ├── 000061.jpg
│ ├── 000062.jpg
│ ├── 000063.jpg
│ ├── 000064.jpg
│ ├── 000065.jpg
│ ├── 000066.jpg
│ ├── 000067.jpg
│ ├── 000068.jpg
│ ├── 000069.jpg
│ ├── 000070.jpg
│ ├── 000071.jpg
│ ├── 000072.jpg
│ ├── 000073.jpg
│ ├── 000074.jpg
│ ├── 000075.jpg
│ ├── 000076.jpg
│ ├── 000077.jpg
│ ├── 000078.jpg
│ ├── 000079.jpg
│ ├── 000080.jpg
│ ├── 000081.jpg
│ ├── 000082.jpg
│ ├── 000083.jpg
│ ├── 000084.jpg
│ ├── 000085.jpg
│ ├── 000086.jpg
│ ├── 000087.jpg
│ ├── 000088.jpg
│ ├── 000089.jpg
│ ├── 000090.jpg
│ ├── 000091.jpg
│ ├── 000092.jpg
│ ├── 000093.jpg
│ ├── 000094.jpg
│ ├── 000095.jpg
│ ├── 000096.jpg
│ ├── 000097.jpg
│ ├── 000098.jpg
│ ├── 000099.jpg
│ └── 000100.jpg
└── searching
│ ├── 000000.jpg
│ ├── 000001.jpg
│ ├── 000002.jpg
│ ├── 000003.jpg
│ ├── 000004.jpg
│ ├── 000005.jpg
│ ├── 000006.jpg
│ ├── 000007.jpg
│ ├── 000008.jpg
│ ├── 000009.jpg
│ ├── 000010.jpg
│ ├── 000011.jpg
│ ├── 000012.jpg
│ ├── 000013.jpg
│ ├── 000014.jpg
│ ├── 000015.jpg
│ ├── 000016.jpg
│ ├── 000017.jpg
│ ├── 000018.jpg
│ ├── 000019.jpg
│ ├── 000020.jpg
│ ├── 000021.jpg
│ ├── 000022.jpg
│ ├── 000023.jpg
│ ├── 000024.jpg
│ ├── 000025.jpg
│ ├── 000026.jpg
│ ├── 000027.jpg
│ ├── 000028.jpg
│ ├── 000029.jpg
│ ├── 000030.jpg
│ ├── 000031.jpg
│ ├── 000032.jpg
│ ├── 000033.jpg
│ ├── 000034.jpg
│ ├── 000035.jpg
│ ├── 000036.jpg
│ ├── 000037.jpg
│ ├── 000038.jpg
│ ├── 000039.jpg
│ ├── 000040.jpg
│ ├── 000041.jpg
│ ├── 000042.jpg
│ ├── 000043.jpg
│ ├── 000044.jpg
│ ├── 000045.jpg
│ ├── 000046.jpg
│ ├── 000047.jpg
│ ├── 000048.jpg
│ ├── 000049.jpg
│ ├── 000050.jpg
│ ├── 000051.jpg
│ ├── 000052.jpg
│ ├── 000053.jpg
│ ├── 000054.jpg
│ ├── 000055.jpg
│ ├── 000056.jpg
│ ├── 000057.jpg
│ ├── 000058.jpg
│ ├── 000059.jpg
│ ├── 000060.jpg
│ ├── 000061.jpg
│ ├── 000062.jpg
│ ├── 000063.jpg
│ ├── 000064.jpg
│ ├── 000065.jpg
│ ├── 000066.jpg
│ ├── 000067.jpg
│ ├── 000068.jpg
│ ├── 000069.jpg
│ ├── 000070.jpg
│ ├── 000071.jpg
│ ├── 000072.jpg
│ ├── 000073.jpg
│ ├── 000074.jpg
│ ├── 000075.jpg
│ ├── 000076.jpg
│ ├── 000077.jpg
│ ├── 000078.jpg
│ ├── 000079.jpg
│ ├── 000080.jpg
│ ├── 000081.jpg
│ ├── 000082.jpg
│ ├── 000083.jpg
│ ├── 000084.jpg
│ ├── 000085.jpg
│ ├── 000086.jpg
│ ├── 000087.jpg
│ ├── 000088.jpg
│ ├── 000089.jpg
│ ├── 000090.jpg
│ ├── 000091.jpg
│ ├── 000092.jpg
│ ├── 000093.jpg
│ ├── 000094.jpg
│ ├── 000095.jpg
│ ├── 000096.jpg
│ ├── 000097.jpg
│ ├── 000098.jpg
│ ├── 000099.jpg
│ └── 000100.jpg
├── .gitignore
├── LICENCE
├── README.md
├── load_and_test.py
├── train.py
├── test_set.txt
└── goturn_net.py
/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/imgs/pull7f-web_e2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/imgs/pull7f-web_e2.png
--------------------------------------------------------------------------------
/checkpoints/checkpoint:
--------------------------------------------------------------------------------
1 | model_checkpoint_path: "checkpoint.ckpt-1"
2 | all_model_checkpoint_paths: "checkpoint.ckpt-1"
3 |
--------------------------------------------------------------------------------
/test_example/target/000000.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000000.jpg
--------------------------------------------------------------------------------
/test_example/target/000001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000001.jpg
--------------------------------------------------------------------------------
/test_example/target/000002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000002.jpg
--------------------------------------------------------------------------------
/test_example/target/000003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000003.jpg
--------------------------------------------------------------------------------
/test_example/target/000004.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000004.jpg
--------------------------------------------------------------------------------
/test_example/target/000005.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000005.jpg
--------------------------------------------------------------------------------
/test_example/target/000006.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000006.jpg
--------------------------------------------------------------------------------
/test_example/target/000007.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000007.jpg
--------------------------------------------------------------------------------
/test_example/target/000008.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000008.jpg
--------------------------------------------------------------------------------
/test_example/target/000009.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000009.jpg
--------------------------------------------------------------------------------
/test_example/target/000010.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000010.jpg
--------------------------------------------------------------------------------
/test_example/target/000011.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000011.jpg
--------------------------------------------------------------------------------
/test_example/target/000012.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000012.jpg
--------------------------------------------------------------------------------
/test_example/target/000013.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000013.jpg
--------------------------------------------------------------------------------
/test_example/target/000014.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000014.jpg
--------------------------------------------------------------------------------
/test_example/target/000015.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000015.jpg
--------------------------------------------------------------------------------
/test_example/target/000016.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000016.jpg
--------------------------------------------------------------------------------
/test_example/target/000017.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000017.jpg
--------------------------------------------------------------------------------
/test_example/target/000018.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000018.jpg
--------------------------------------------------------------------------------
/test_example/target/000019.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000019.jpg
--------------------------------------------------------------------------------
/test_example/target/000020.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000020.jpg
--------------------------------------------------------------------------------
/test_example/target/000021.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000021.jpg
--------------------------------------------------------------------------------
/test_example/target/000022.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000022.jpg
--------------------------------------------------------------------------------
/test_example/target/000023.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000023.jpg
--------------------------------------------------------------------------------
/test_example/target/000024.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000024.jpg
--------------------------------------------------------------------------------
/test_example/target/000025.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000025.jpg
--------------------------------------------------------------------------------
/test_example/target/000026.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000026.jpg
--------------------------------------------------------------------------------
/test_example/target/000027.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000027.jpg
--------------------------------------------------------------------------------
/test_example/target/000028.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000028.jpg
--------------------------------------------------------------------------------
/test_example/target/000029.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000029.jpg
--------------------------------------------------------------------------------
/test_example/target/000030.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000030.jpg
--------------------------------------------------------------------------------
/test_example/target/000031.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000031.jpg
--------------------------------------------------------------------------------
/test_example/target/000032.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000032.jpg
--------------------------------------------------------------------------------
/test_example/target/000033.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000033.jpg
--------------------------------------------------------------------------------
/test_example/target/000034.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000034.jpg
--------------------------------------------------------------------------------
/test_example/target/000035.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000035.jpg
--------------------------------------------------------------------------------
/test_example/target/000036.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000036.jpg
--------------------------------------------------------------------------------
/test_example/target/000037.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000037.jpg
--------------------------------------------------------------------------------
/test_example/target/000038.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000038.jpg
--------------------------------------------------------------------------------
/test_example/target/000039.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000039.jpg
--------------------------------------------------------------------------------
/test_example/target/000040.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000040.jpg
--------------------------------------------------------------------------------
/test_example/target/000041.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000041.jpg
--------------------------------------------------------------------------------
/test_example/target/000042.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000042.jpg
--------------------------------------------------------------------------------
/test_example/target/000043.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000043.jpg
--------------------------------------------------------------------------------
/test_example/target/000044.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000044.jpg
--------------------------------------------------------------------------------
/test_example/target/000045.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000045.jpg
--------------------------------------------------------------------------------
/test_example/target/000046.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000046.jpg
--------------------------------------------------------------------------------
/test_example/target/000047.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000047.jpg
--------------------------------------------------------------------------------
/test_example/target/000048.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000048.jpg
--------------------------------------------------------------------------------
/test_example/target/000049.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000049.jpg
--------------------------------------------------------------------------------
/test_example/target/000050.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000050.jpg
--------------------------------------------------------------------------------
/test_example/target/000051.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000051.jpg
--------------------------------------------------------------------------------
/test_example/target/000052.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000052.jpg
--------------------------------------------------------------------------------
/test_example/target/000053.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000053.jpg
--------------------------------------------------------------------------------
/test_example/target/000054.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000054.jpg
--------------------------------------------------------------------------------
/test_example/target/000055.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000055.jpg
--------------------------------------------------------------------------------
/test_example/target/000056.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000056.jpg
--------------------------------------------------------------------------------
/test_example/target/000057.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000057.jpg
--------------------------------------------------------------------------------
/test_example/target/000058.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000058.jpg
--------------------------------------------------------------------------------
/test_example/target/000059.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000059.jpg
--------------------------------------------------------------------------------
/test_example/target/000060.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000060.jpg
--------------------------------------------------------------------------------
/test_example/target/000061.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000061.jpg
--------------------------------------------------------------------------------
/test_example/target/000062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000062.jpg
--------------------------------------------------------------------------------
/test_example/target/000063.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000063.jpg
--------------------------------------------------------------------------------
/test_example/target/000064.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000064.jpg
--------------------------------------------------------------------------------
/test_example/target/000065.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000065.jpg
--------------------------------------------------------------------------------
/test_example/target/000066.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000066.jpg
--------------------------------------------------------------------------------
/test_example/target/000067.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000067.jpg
--------------------------------------------------------------------------------
/test_example/target/000068.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000068.jpg
--------------------------------------------------------------------------------
/test_example/target/000069.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000069.jpg
--------------------------------------------------------------------------------
/test_example/target/000070.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000070.jpg
--------------------------------------------------------------------------------
/test_example/target/000071.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000071.jpg
--------------------------------------------------------------------------------
/test_example/target/000072.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000072.jpg
--------------------------------------------------------------------------------
/test_example/target/000073.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000073.jpg
--------------------------------------------------------------------------------
/test_example/target/000074.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000074.jpg
--------------------------------------------------------------------------------
/test_example/target/000075.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000075.jpg
--------------------------------------------------------------------------------
/test_example/target/000076.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000076.jpg
--------------------------------------------------------------------------------
/test_example/target/000077.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000077.jpg
--------------------------------------------------------------------------------
/test_example/target/000078.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000078.jpg
--------------------------------------------------------------------------------
/test_example/target/000079.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000079.jpg
--------------------------------------------------------------------------------
/test_example/target/000080.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000080.jpg
--------------------------------------------------------------------------------
/test_example/target/000081.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000081.jpg
--------------------------------------------------------------------------------
/test_example/target/000082.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000082.jpg
--------------------------------------------------------------------------------
/test_example/target/000083.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000083.jpg
--------------------------------------------------------------------------------
/test_example/target/000084.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000084.jpg
--------------------------------------------------------------------------------
/test_example/target/000085.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000085.jpg
--------------------------------------------------------------------------------
/test_example/target/000086.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000086.jpg
--------------------------------------------------------------------------------
/test_example/target/000087.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000087.jpg
--------------------------------------------------------------------------------
/test_example/target/000088.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000088.jpg
--------------------------------------------------------------------------------
/test_example/target/000089.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000089.jpg
--------------------------------------------------------------------------------
/test_example/target/000090.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000090.jpg
--------------------------------------------------------------------------------
/test_example/target/000091.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000091.jpg
--------------------------------------------------------------------------------
/test_example/target/000092.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000092.jpg
--------------------------------------------------------------------------------
/test_example/target/000093.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000093.jpg
--------------------------------------------------------------------------------
/test_example/target/000094.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000094.jpg
--------------------------------------------------------------------------------
/test_example/target/000095.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000095.jpg
--------------------------------------------------------------------------------
/test_example/target/000096.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000096.jpg
--------------------------------------------------------------------------------
/test_example/target/000097.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000097.jpg
--------------------------------------------------------------------------------
/test_example/target/000098.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000098.jpg
--------------------------------------------------------------------------------
/test_example/target/000099.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000099.jpg
--------------------------------------------------------------------------------
/test_example/target/000100.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/target/000100.jpg
--------------------------------------------------------------------------------
/checkpoints/checkpoint.ckpt-1.index:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/checkpoints/checkpoint.ckpt-1.index
--------------------------------------------------------------------------------
/test_example/searching/000000.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000000.jpg
--------------------------------------------------------------------------------
/test_example/searching/000001.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000001.jpg
--------------------------------------------------------------------------------
/test_example/searching/000002.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000002.jpg
--------------------------------------------------------------------------------
/test_example/searching/000003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000003.jpg
--------------------------------------------------------------------------------
/test_example/searching/000004.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000004.jpg
--------------------------------------------------------------------------------
/test_example/searching/000005.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000005.jpg
--------------------------------------------------------------------------------
/test_example/searching/000006.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000006.jpg
--------------------------------------------------------------------------------
/test_example/searching/000007.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000007.jpg
--------------------------------------------------------------------------------
/test_example/searching/000008.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000008.jpg
--------------------------------------------------------------------------------
/test_example/searching/000009.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000009.jpg
--------------------------------------------------------------------------------
/test_example/searching/000010.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000010.jpg
--------------------------------------------------------------------------------
/test_example/searching/000011.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000011.jpg
--------------------------------------------------------------------------------
/test_example/searching/000012.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000012.jpg
--------------------------------------------------------------------------------
/test_example/searching/000013.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000013.jpg
--------------------------------------------------------------------------------
/test_example/searching/000014.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000014.jpg
--------------------------------------------------------------------------------
/test_example/searching/000015.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000015.jpg
--------------------------------------------------------------------------------
/test_example/searching/000016.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000016.jpg
--------------------------------------------------------------------------------
/test_example/searching/000017.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000017.jpg
--------------------------------------------------------------------------------
/test_example/searching/000018.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000018.jpg
--------------------------------------------------------------------------------
/test_example/searching/000019.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000019.jpg
--------------------------------------------------------------------------------
/test_example/searching/000020.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000020.jpg
--------------------------------------------------------------------------------
/test_example/searching/000021.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000021.jpg
--------------------------------------------------------------------------------
/test_example/searching/000022.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000022.jpg
--------------------------------------------------------------------------------
/test_example/searching/000023.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000023.jpg
--------------------------------------------------------------------------------
/test_example/searching/000024.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000024.jpg
--------------------------------------------------------------------------------
/test_example/searching/000025.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000025.jpg
--------------------------------------------------------------------------------
/test_example/searching/000026.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000026.jpg
--------------------------------------------------------------------------------
/test_example/searching/000027.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000027.jpg
--------------------------------------------------------------------------------
/test_example/searching/000028.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000028.jpg
--------------------------------------------------------------------------------
/test_example/searching/000029.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000029.jpg
--------------------------------------------------------------------------------
/test_example/searching/000030.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000030.jpg
--------------------------------------------------------------------------------
/test_example/searching/000031.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000031.jpg
--------------------------------------------------------------------------------
/test_example/searching/000032.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000032.jpg
--------------------------------------------------------------------------------
/test_example/searching/000033.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000033.jpg
--------------------------------------------------------------------------------
/test_example/searching/000034.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000034.jpg
--------------------------------------------------------------------------------
/test_example/searching/000035.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000035.jpg
--------------------------------------------------------------------------------
/test_example/searching/000036.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000036.jpg
--------------------------------------------------------------------------------
/test_example/searching/000037.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000037.jpg
--------------------------------------------------------------------------------
/test_example/searching/000038.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000038.jpg
--------------------------------------------------------------------------------
/test_example/searching/000039.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000039.jpg
--------------------------------------------------------------------------------
/test_example/searching/000040.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000040.jpg
--------------------------------------------------------------------------------
/test_example/searching/000041.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000041.jpg
--------------------------------------------------------------------------------
/test_example/searching/000042.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000042.jpg
--------------------------------------------------------------------------------
/test_example/searching/000043.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000043.jpg
--------------------------------------------------------------------------------
/test_example/searching/000044.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000044.jpg
--------------------------------------------------------------------------------
/test_example/searching/000045.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000045.jpg
--------------------------------------------------------------------------------
/test_example/searching/000046.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000046.jpg
--------------------------------------------------------------------------------
/test_example/searching/000047.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000047.jpg
--------------------------------------------------------------------------------
/test_example/searching/000048.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000048.jpg
--------------------------------------------------------------------------------
/test_example/searching/000049.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000049.jpg
--------------------------------------------------------------------------------
/test_example/searching/000050.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000050.jpg
--------------------------------------------------------------------------------
/test_example/searching/000051.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000051.jpg
--------------------------------------------------------------------------------
/test_example/searching/000052.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000052.jpg
--------------------------------------------------------------------------------
/test_example/searching/000053.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000053.jpg
--------------------------------------------------------------------------------
/test_example/searching/000054.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000054.jpg
--------------------------------------------------------------------------------
/test_example/searching/000055.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000055.jpg
--------------------------------------------------------------------------------
/test_example/searching/000056.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000056.jpg
--------------------------------------------------------------------------------
/test_example/searching/000057.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000057.jpg
--------------------------------------------------------------------------------
/test_example/searching/000058.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000058.jpg
--------------------------------------------------------------------------------
/test_example/searching/000059.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000059.jpg
--------------------------------------------------------------------------------
/test_example/searching/000060.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000060.jpg
--------------------------------------------------------------------------------
/test_example/searching/000061.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000061.jpg
--------------------------------------------------------------------------------
/test_example/searching/000062.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000062.jpg
--------------------------------------------------------------------------------
/test_example/searching/000063.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000063.jpg
--------------------------------------------------------------------------------
/test_example/searching/000064.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000064.jpg
--------------------------------------------------------------------------------
/test_example/searching/000065.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000065.jpg
--------------------------------------------------------------------------------
/test_example/searching/000066.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000066.jpg
--------------------------------------------------------------------------------
/test_example/searching/000067.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000067.jpg
--------------------------------------------------------------------------------
/test_example/searching/000068.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000068.jpg
--------------------------------------------------------------------------------
/test_example/searching/000069.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000069.jpg
--------------------------------------------------------------------------------
/test_example/searching/000070.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000070.jpg
--------------------------------------------------------------------------------
/test_example/searching/000071.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000071.jpg
--------------------------------------------------------------------------------
/test_example/searching/000072.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000072.jpg
--------------------------------------------------------------------------------
/test_example/searching/000073.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000073.jpg
--------------------------------------------------------------------------------
/test_example/searching/000074.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000074.jpg
--------------------------------------------------------------------------------
/test_example/searching/000075.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000075.jpg
--------------------------------------------------------------------------------
/test_example/searching/000076.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000076.jpg
--------------------------------------------------------------------------------
/test_example/searching/000077.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000077.jpg
--------------------------------------------------------------------------------
/test_example/searching/000078.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000078.jpg
--------------------------------------------------------------------------------
/test_example/searching/000079.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000079.jpg
--------------------------------------------------------------------------------
/test_example/searching/000080.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000080.jpg
--------------------------------------------------------------------------------
/test_example/searching/000081.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000081.jpg
--------------------------------------------------------------------------------
/test_example/searching/000082.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000082.jpg
--------------------------------------------------------------------------------
/test_example/searching/000083.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000083.jpg
--------------------------------------------------------------------------------
/test_example/searching/000084.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000084.jpg
--------------------------------------------------------------------------------
/test_example/searching/000085.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000085.jpg
--------------------------------------------------------------------------------
/test_example/searching/000086.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000086.jpg
--------------------------------------------------------------------------------
/test_example/searching/000087.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000087.jpg
--------------------------------------------------------------------------------
/test_example/searching/000088.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000088.jpg
--------------------------------------------------------------------------------
/test_example/searching/000089.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000089.jpg
--------------------------------------------------------------------------------
/test_example/searching/000090.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000090.jpg
--------------------------------------------------------------------------------
/test_example/searching/000091.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000091.jpg
--------------------------------------------------------------------------------
/test_example/searching/000092.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000092.jpg
--------------------------------------------------------------------------------
/test_example/searching/000093.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000093.jpg
--------------------------------------------------------------------------------
/test_example/searching/000094.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000094.jpg
--------------------------------------------------------------------------------
/test_example/searching/000095.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000095.jpg
--------------------------------------------------------------------------------
/test_example/searching/000096.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000096.jpg
--------------------------------------------------------------------------------
/test_example/searching/000097.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000097.jpg
--------------------------------------------------------------------------------
/test_example/searching/000098.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000098.jpg
--------------------------------------------------------------------------------
/test_example/searching/000099.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000099.jpg
--------------------------------------------------------------------------------
/test_example/searching/000100.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tangyuhao/GOTURN-Tensorflow/HEAD/test_example/searching/000100.jpg
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | get_train_set*
3 | ignore_files
4 | __MACOSX
5 | *.log
6 | *.pdf
7 | test/
8 | pkl/
9 | train.zip
10 | .tags
11 | checkpoints/
12 | train_old/
13 | train/
14 | 2DMOT2015/
15 | MOT17Det/
16 | __pycache__
17 | *.pyc
18 | .DS_Store
19 | train_summary/
20 | checkpoints_save/
21 | summary_save/
22 | train_old/
23 |
--------------------------------------------------------------------------------
/LICENCE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Yuhao Tang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GOTURN-Tensorflow
2 |
3 | This is a tensorflow implementation of GOTURN.
4 |
5 | Thanks to author **David Held** for his help of this implementation.
6 |
7 | The original paper is:
8 |
9 | **[Learning to Track at 100 FPS with Deep Regression Networks](http://davheld.github.io/GOTURN/GOTURN.html)**,
10 |
11 | [David Held](http://davheld.github.io/),
12 | [Sebastian Thrun](http://robots.stanford.edu/),
13 | [Silvio Savarese](http://cvgl.stanford.edu/silvio/),
14 |
15 |
16 | The github repo for caffe implementation is given by the authors:
17 | **[davheld/GOTURN](https://github.com/davheld/GOTURN)**
18 |
19 | Brief illustration of how this network works:
20 |
21 |
22 |
23 | You can refer to the paper or github repo above for more details.
24 |
25 | ## Environment
26 | - python3
27 | - tensorflow 1.0+, both cpu and gpu work fine
28 |
29 | ## How to use it
30 | ### Finetune for your own dataset
31 | 1. Create a folder, fill in all training images
32 | 2. Create a .txt file
33 | - It should contains target image, searching image and ground-truth bounding box
34 | - Bounding box is in the form of ``, usually from 0 to 1, but exceeding this range is also fine.
35 | - Example of one line:
36 | `train/target/000024.jpg,train/searching/000024.jpg,0.29269230769230764,0.22233115468409587,0.7991794871794871,0.7608061002178649`
37 | 3. Change related places in `train.py`
38 | 4. Train it and wait!
39 | ```python
40 | python train.py
41 | ```
42 | 5. The log file is `train.log` by default
43 |
44 | ### Test
45 | 1. Download pretrained model from: [GOTURN_MODEL](https://drive.google.com/open?id=0BwToyaMzz69QZ3Zlc0h4NzhBNDg)
46 | 2. Uncompress the `checkpoints` folder, and put it in the root directory of this repo
47 | 3. Test on examples just by running `load_and_test.py`
48 | ```python
49 | python load_and_test.py
50 | ```
51 | 4. The log file is `test.log` by default
52 |
53 | ### TIPS
54 | Be careful, the output of this network actually always from 0 to 10 thus I multiplied the ground-truth bounding boxes( always ranging from 0 to 1) by 10.
55 |
56 |
--------------------------------------------------------------------------------
/load_and_test.py:
--------------------------------------------------------------------------------
1 | # train file
2 |
3 | import logging
4 | import time
5 | import tensorflow as tf
6 | import os
7 | import goturn_net
8 |
9 | NUM_EPOCHS = 500
10 | BATCH_SIZE = 10
11 | WIDTH = 227
12 | HEIGHT = 227
13 |
14 | logfile = "test.log"
15 | test_txt = "test_set.txt"
16 | def load_train_test_set(train_file):
17 | '''
18 | return train_set or test_set
19 | example line in the file:
20 | ,,,,,
21 | (,,, all relative to search image)
22 | '''
23 | ftrain = open(train_file, "r")
24 | trainlines = ftrain.read().splitlines()
25 | train_target = []
26 | train_search = []
27 | train_box = []
28 | for line in trainlines:
29 | #print(line)
30 | line = line.split(",")
31 | # remove too extreme cases
32 | # if (float(line[2]) < -0.3 or float(line[3]) < -0.3 or float(line[4]) > 1.2 or float(line[5]) > 1.2):
33 | # continue
34 | train_target.append(line[0])
35 | train_search.append(line[1])
36 | box = [10*float(line[2]), 10*float(line[3]), 10*float(line[4]), 10*float(line[5])]
37 | train_box.append(box)
38 | ftrain.close()
39 | print("len:%d"%(len(train_target)))
40 |
41 | return [train_target, train_search, train_box]
42 |
43 | def data_reader(input_queue):
44 | '''
45 | this function only reads the image from the queue
46 | '''
47 | search_img = tf.read_file(input_queue[0])
48 | target_img = tf.read_file(input_queue[1])
49 |
50 | search_tensor = tf.to_float(tf.image.decode_jpeg(search_img, channels = 3))
51 | search_tensor = tf.image.resize_images(search_tensor,[HEIGHT,WIDTH],
52 | method=tf.image.ResizeMethod.BILINEAR)
53 | target_tensor = tf.to_float(tf.image.decode_jpeg(target_img, channels = 3))
54 | target_tensor = tf.image.resize_images(target_tensor,[HEIGHT,WIDTH],
55 | method=tf.image.ResizeMethod.BILINEAR)
56 | box_tensor = input_queue[2]
57 | return [search_tensor, target_tensor, box_tensor]
58 |
59 |
60 | def next_batch(input_queue):
61 | min_queue_examples = 128
62 | num_threads = 8
63 | [search_tensor, target_tensor, box_tensor] = data_reader(input_queue)
64 | [search_batch, target_batch, box_batch] = tf.train.batch(
65 | [search_tensor, target_tensor, box_tensor],
66 | batch_size=BATCH_SIZE,
67 | num_threads=num_threads,
68 | capacity=min_queue_examples + (num_threads+2)*BATCH_SIZE)
69 | return [search_batch, target_batch, box_batch]
70 |
71 |
72 | if __name__ == "__main__":
73 | if (os.path.isfile(logfile)):
74 | os.remove(logfile)
75 | logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
76 | level=logging.DEBUG,filename=logfile)
77 |
78 | [train_target, train_search, train_box] = load_train_test_set(test_txt)
79 | target_tensors = tf.convert_to_tensor(train_target, dtype=tf.string)
80 | search_tensors = tf.convert_to_tensor(train_search, dtype=tf.string)
81 | box_tensors = tf.convert_to_tensor(train_box, dtype=tf.float64)
82 | input_queue = tf.train.slice_input_producer([search_tensors, target_tensors, box_tensors],shuffle=False)
83 | batch_queue = next_batch(input_queue)
84 | tracknet = goturn_net.TRACKNET(BATCH_SIZE, train = False)
85 | tracknet.build()
86 |
87 |
88 | sess = tf.Session()
89 | init = tf.global_variables_initializer()
90 | init_local = tf.local_variables_initializer()
91 | sess.run(init)
92 | sess.run(init_local)
93 |
94 | coord = tf.train.Coordinator()
95 | # start the threads
96 | tf.train.start_queue_runners(sess=sess, coord=coord)
97 |
98 | ckpt_dir = "./checkpoints"
99 | if not os.path.exists(ckpt_dir):
100 | os.makedirs(ckpt_dir)
101 | ckpt = tf.train.get_checkpoint_state(ckpt_dir)
102 | if ckpt and ckpt.model_checkpoint_path:
103 | saver = tf.train.Saver()
104 | saver.restore(sess, ckpt.model_checkpoint_path)
105 | try:
106 | for i in range(0, int(len(train_box)/BATCH_SIZE)):
107 | cur_batch = sess.run(batch_queue)
108 | start_time = time.time()
109 | [batch_loss, fc4] = sess.run([tracknet.loss, tracknet.fc4],feed_dict={tracknet.image:cur_batch[0],
110 | tracknet.target:cur_batch[1], tracknet.bbox:cur_batch[2]})
111 | logging.info('batch box: %s' %(fc4))
112 | logging.info('gt batch box: %s' %(cur_batch[2]))
113 | logging.info('batch loss = %f'%(batch_loss))
114 | logging.debug('test: time elapsed: %.3fs.'%(time.time()-start_time))
115 | except KeyboardInterrupt:
116 | print("get keyboard interrupt")
117 |
118 |
119 |
--------------------------------------------------------------------------------
/train.py:
--------------------------------------------------------------------------------
1 | # train file
2 |
3 | import logging
4 | import time
5 | import tensorflow as tf
6 | import os
7 | import goturn_net
8 |
9 | NUM_EPOCHS = 500
10 | BATCH_SIZE = 50
11 | WIDTH = 227
12 | HEIGHT = 227
13 | train_txt = "train_set.txt"
14 | logfile = "train.log"
15 |
16 |
17 | def load_training_set(train_file):
18 | '''
19 | return train_set
20 | '''
21 | ftrain = open(train_file, "r")
22 | trainlines = ftrain.read().splitlines()
23 | train_target = []
24 | train_search = []
25 | train_box = []
26 | for line in trainlines:
27 | line = line.split(",")
28 | train_target.append(line[0])
29 | train_search.append(line[1])
30 | box = [10 * float(line[2]), 10 * float(line[3]), 10 * float(line[4]), 10 * float(line[5])]
31 | train_box.append(box)
32 | ftrain.close()
33 |
34 | return [train_target, train_search, train_box]
35 |
36 |
37 | def data_reader(input_queue):
38 | '''
39 | this function only read the one pair of images and from the queue
40 | '''
41 | search_img = tf.read_file(input_queue[0])
42 | target_img = tf.read_file(input_queue[1])
43 | search_tensor = tf.to_float(tf.image.decode_jpeg(search_img, channels=3))
44 | search_tensor = tf.image.resize_images(search_tensor, [HEIGHT, WIDTH],
45 | method=tf.image.ResizeMethod.BILINEAR)
46 | target_tensor = tf.to_float(tf.image.decode_jpeg(target_img, channels=3))
47 | target_tensor = tf.image.resize_images(target_tensor, [HEIGHT, WIDTH],
48 | method=tf.image.ResizeMethod.BILINEAR)
49 | box_tensor = input_queue[2]
50 | return [search_tensor, target_tensor, box_tensor]
51 |
52 |
53 | def next_batch(input_queue):
54 | min_queue_examples = 128
55 | num_threads = 8
56 | [search_tensor, target_tensor, box_tensor] = data_reader(input_queue)
57 | [search_batch, target_batch, box_batch] = tf.train.shuffle_batch(
58 | [search_tensor, target_tensor, box_tensor],
59 | batch_size=BATCH_SIZE,
60 | num_threads=num_threads,
61 | capacity=min_queue_examples + (num_threads + 2) * BATCH_SIZE,
62 | seed=88,
63 | min_after_dequeue=min_queue_examples)
64 | return [search_batch, target_batch, box_batch]
65 |
66 |
67 | if __name__ == "__main__":
68 | if (os.path.isfile(logfile)):
69 | os.remove(logfile)
70 | logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
71 | level=logging.DEBUG, filename=logfile)
72 |
73 | [train_target, train_search, train_box] = load_training_set(train_txt)
74 | target_tensors = tf.convert_to_tensor(train_target, dtype=tf.string)
75 | search_tensors = tf.convert_to_tensor(train_search, dtype=tf.string)
76 | box_tensors = tf.convert_to_tensor(train_box, dtype=tf.float64)
77 | input_queue = tf.train.slice_input_producer([search_tensors, target_tensors, box_tensors], shuffle=True)
78 | batch_queue = next_batch(input_queue)
79 | tracknet = goturn_net.TRACKNET(BATCH_SIZE)
80 | tracknet.build()
81 |
82 | global_step = tf.Variable(0, trainable=False, name="global_step")
83 |
84 | train_step = tf.train.AdamOptimizer(0.00001, 0.9).minimize( \
85 | tracknet.loss_wdecay, global_step=global_step)
86 | merged_summary = tf.summary.merge_all()
87 | sess = tf.Session()
88 | train_writer = tf.summary.FileWriter('./train_summary', sess.graph)
89 | init = tf.global_variables_initializer()
90 | init_local = tf.local_variables_initializer()
91 | sess.run(init)
92 | sess.run(init_local)
93 |
94 | coord = tf.train.Coordinator()
95 | # start the threads
96 | tf.train.start_queue_runners(sess=sess, coord=coord)
97 |
98 | ckpt_dir = "./checkpoints"
99 | if not os.path.exists(ckpt_dir):
100 | os.makedirs(ckpt_dir)
101 | ckpt = tf.train.get_checkpoint_state(ckpt_dir)
102 | start = 0
103 | if ckpt and ckpt.model_checkpoint_path:
104 | start = int(ckpt.model_checkpoint_path.split("-")[1])
105 | logging.info("start by iteration: %d" % (start))
106 | saver = tf.train.Saver()
107 | saver.restore(sess, ckpt.model_checkpoint_path)
108 | assign_op = global_step.assign(start)
109 | sess.run(assign_op)
110 | model_saver = tf.train.Saver(max_to_keep=3)
111 | try:
112 | for i in range(start, int(len(train_box) / BATCH_SIZE * NUM_EPOCHS)):
113 | if i % int(len(train_box) / BATCH_SIZE) == 0:
114 | logging.info("start epoch[%d]" % (int(i / len(train_box) * BATCH_SIZE)))
115 | if i > start:
116 | save_ckpt = "checkpoint.ckpt"
117 | last_save_itr = i
118 | model_saver.save(sess, "checkpoints/" + save_ckpt, global_step=i + 1)
119 | print(global_step.eval(session=sess))
120 |
121 | cur_batch = sess.run(batch_queue)
122 |
123 | start_time = time.time()
124 | [_, loss] = sess.run([train_step, tracknet.loss], feed_dict={tracknet.image: cur_batch[0],
125 | tracknet.target: cur_batch[1],
126 | tracknet.bbox: cur_batch[2]})
127 | logging.debug(
128 | 'Train: time elapsed: %.3fs, average_loss: %f' % (time.time() - start_time, loss / BATCH_SIZE))
129 |
130 | if i % 10 == 0 and i > start:
131 | summary = sess.run(merged_summary, feed_dict={tracknet.image: cur_batch[0],
132 | tracknet.target: cur_batch[1],
133 | tracknet.bbox: cur_batch[2]})
134 | train_writer.add_summary(summary, i)
135 | except KeyboardInterrupt:
136 | print("get keyboard interrupt")
137 | if (i - start > 1000):
138 | model_saver = tf.train.Saver()
139 | save_ckpt = "checkpoint.ckpt"
140 | model_saver.save(sess, "checkpoints/" + save_ckpt, global_step=i + 1)
141 |
--------------------------------------------------------------------------------
/test_set.txt:
--------------------------------------------------------------------------------
1 | test_example/target/000000.jpg,test_example/searching/000000.jpg,0.5259842519685036,0.02973154362416112,1.055905511811023,0.5781879194630871
2 | test_example/target/000001.jpg,test_example/searching/000001.jpg,0.1585714285714289,0.021351351351351328,0.6392857142857142,0.5735135135135134
3 | test_example/target/000002.jpg,test_example/searching/000002.jpg,-0.13374100719424484,0.3125,0.35035971223021617,0.7989285714285715
4 | test_example/target/000003.jpg,test_example/searching/000003.jpg,-0.16269230769230753,0.5395205479452055,0.3549999999999998,1.0992465753424658
5 | test_example/target/000004.jpg,test_example/searching/000004.jpg,0.40503649635036504,0.10271028037383173,0.8962773722627735,0.4845794392523364
6 | test_example/target/000005.jpg,test_example/searching/000005.jpg,0.15741007194244602,-0.004090909090909062,0.6564748201438849,0.566818181818182
7 | test_example/target/000006.jpg,test_example/searching/000006.jpg,0.1201886792452831,0.008314606741572977,0.774622641509434,0.5023033707865169
8 | test_example/target/000007.jpg,test_example/searching/000007.jpg,0.21992537313432856,0.08187898089171977,0.8147761194029847,0.7340764331210191
9 | test_example/target/000008.jpg,test_example/searching/000008.jpg,0.23798611111111098,0.1691190476190476,0.7915277777777779,0.6567142857142857
10 | test_example/target/000009.jpg,test_example/searching/000009.jpg,-0.2109322033898304,0.4776682926829268,0.4645762711864411,1.0175121951219512
11 | test_example/target/000010.jpg,test_example/searching/000010.jpg,0.007485380116958905,0.38268722466960353,0.5703508771929823,0.8884581497797357
12 | test_example/target/000011.jpg,test_example/searching/000011.jpg,0.020095693779904524,0.3684162895927601,0.48062200956937823,0.887873303167421
13 | test_example/target/000012.jpg,test_example/searching/000012.jpg,0.17528089887640474,0.19647058823529406,0.7160112359550564,0.7159276018099548
14 | test_example/target/000013.jpg,test_example/searching/000013.jpg,0.3151578947368421,0.2336842105263158,0.8217368421052631,0.791622807017544
15 | test_example/target/000014.jpg,test_example/searching/000014.jpg,0.23533707865168532,0.1845263157894737,0.776067415730337,0.8540526315789474
16 | test_example/target/000015.jpg,test_example/searching/000015.jpg,0.25141509433962245,0.13083214285714287,0.7541981132075471,0.5999285714285714
17 | test_example/target/000016.jpg,test_example/searching/000016.jpg,0.044857142857142665,0.15531365313653137,0.5918095238095237,0.6628782287822877
18 | test_example/target/000017.jpg,test_example/searching/000017.jpg,0.17881118881118876,0.2195805243445693,0.6236363636363637,0.7502621722846442
19 | test_example/target/000018.jpg,test_example/searching/000018.jpg,0.236578947368421,0.1705055187637969,0.7563947368421051,0.7160927152317881
20 | test_example/target/000019.jpg,test_example/searching/000019.jpg,0.20057268722466948,0.265671388101983,0.6356607929515419,0.9658356940509915
21 | test_example/target/000020.jpg,test_example/searching/000020.jpg,-0.13129449838187718,0.29418666666666665,0.5079611650485438,0.95328
22 | test_example/target/000021.jpg,test_example/searching/000021.jpg,0.1254394299287411,0.2078243512974052,0.5946318289786224,0.7011377245508982
23 | test_example/target/000022.jpg,test_example/searching/000022.jpg,0.10779904306220096,0.22724999999999998,0.5803588516746412,0.7889545454545455
24 | test_example/target/000023.jpg,test_example/searching/000023.jpg,0.3138823529411764,0.2148421052631579,0.7786588235294116,0.735178947368421
25 | test_example/target/000024.jpg,test_example/searching/000024.jpg,0.29269230769230764,0.22233115468409587,0.7991794871794871,0.7608061002178649
26 | test_example/target/000025.jpg,test_example/searching/000025.jpg,0.22591029023746703,0.07951807228915661,0.7470976253298153,0.5758032128514057
27 | test_example/target/000026.jpg,test_example/searching/000026.jpg,-0.01071794871794859,0.26054279749478076,0.49576923076923085,0.7765135699373695
28 | test_example/target/000027.jpg,test_example/searching/000027.jpg,0.13523690773067337,0.43711815561959655,0.6278304239401497,1.1493659942363113
29 | test_example/target/000028.jpg,test_example/searching/000028.jpg,0.22883233532934116,0.5130977130977131,0.820239520958084,1.0484407484407485
30 | test_example/target/000029.jpg,test_example/searching/000029.jpg,0.40412060301507546,0.3327126805778491,0.9004271356783919,0.7460192616372391
31 | test_example/target/000030.jpg,test_example/searching/000030.jpg,0.33628140703517595,0.22064638783269963,0.8325879396984924,0.710171102661597
32 | test_example/target/000031.jpg,test_example/searching/000031.jpg,0.2510096153846154,-0.08862422997946612,0.7258413461538462,0.4401026694045175
33 | test_example/target/000032.jpg,test_example/searching/000032.jpg,0.44914351851851847,0.029763779527559063,0.9063888888888888,0.5366338582677166
34 | test_example/target/000033.jpg,test_example/searching/000033.jpg,0.5226448362720403,0.17657729468599032,1.0202015113350125,0.7985507246376812
35 | test_example/target/000034.jpg,test_example/searching/000034.jpg,0.6721393034825872,0.2888631578947369,1.1635074626865671,0.8309473684210528
36 | test_example/target/000035.jpg,test_example/searching/000035.jpg,0.18795918367346925,0.2763198458574181,0.6918622448979592,0.7724470134874759
37 | test_example/target/000036.jpg,test_example/searching/000036.jpg,0.22726562499999994,0.23356677524429967,0.7416666666666666,0.6529315960912052
38 | test_example/target/000037.jpg,test_example/searching/000037.jpg,0.08846547314578013,0.4832056451612903,0.5936572890025575,1.0023387096774192
39 | test_example/target/000038.jpg,test_example/searching/000038.jpg,-0.05032258064516136,0.1366135458167331,0.48067204301075256,0.6495418326693229
40 | test_example/target/000039.jpg,test_example/searching/000039.jpg,0.02236276849642006,0.27702702702702703,0.4937947494033412,0.7633333333333333
41 | test_example/target/000040.jpg,test_example/searching/000040.jpg,0.140709219858156,0.1550968858131488,0.632127659574468,0.6614186851211072
42 | test_example/target/000041.jpg,test_example/searching/000041.jpg,0.07857461024498881,-0.015362244897959185,0.5415367483296213,0.4823469387755102
43 | test_example/target/000042.jpg,test_example/searching/000042.jpg,0.263357314148681,0.34955911823647295,0.7618465227817747,0.9360320641282565
44 | test_example/target/000043.jpg,test_example/searching/000043.jpg,0.4401154734411085,0.15037606837606837,0.9201847575057738,0.6506324786324786
45 | test_example/target/000044.jpg,test_example/searching/000044.jpg,0.014857881136950904,0.34674698795180725,0.5519896640826873,0.850447504302926
46 | test_example/target/000045.jpg,test_example/searching/000045.jpg,0.25696517412935327,0.12456834532374099,0.7740547263681591,0.6509172661870503
47 | test_example/target/000046.jpg,test_example/searching/000046.jpg,0.43584245076586436,0.04019607843137257,0.8907002188183807,0.5618538324420678
48 | test_example/target/000047.jpg,test_example/searching/000047.jpg,0.30165929203539826,0.1275049115913556,0.7615486725663717,0.7024557956777995
49 | test_example/target/000048.jpg,test_example/searching/000048.jpg,0.09415512465373964,0.07190781563126251,0.6355955678670361,0.6335070140280561
50 | test_example/target/000049.jpg,test_example/searching/000049.jpg,0.35602500000000004,0.22477973568281936,0.8447,0.8420704845814978
51 | test_example/target/000050.jpg,test_example/searching/000050.jpg,0.22149333333333335,0.17550701402805613,0.7427199999999999,0.7371142284569137
52 | test_example/target/000051.jpg,test_example/searching/000051.jpg,0.09753117206982546,0.14453641207815274,0.5849625935162096,0.6423090586145649
53 | test_example/target/000052.jpg,test_example/searching/000052.jpg,0.21263768115942033,0.14743103448275863,0.7791884057971015,0.6306034482758621
54 | test_example/target/000054.jpg,test_example/searching/000054.jpg,0.2299737532808399,0.18321757322175733,0.7429921259842519,0.7694979079497907
55 | test_example/target/000055.jpg,test_example/searching/000055.jpg,0.3096216216216216,0.11663135593220339,0.8379189189189189,0.7103813559322034
56 | test_example/target/000056.jpg,test_example/searching/000056.jpg,0.544108910891089,0.14670377019748654,1.0330445544554456,0.6089946140035907
57 | test_example/target/000057.jpg,test_example/searching/000057.jpg,0.7602666666666664,0.18303867403314913,1.263866666666667,0.6916574585635359
58 | test_example/target/000058.jpg,test_example/searching/000058.jpg,0.22796178343949022,0.1327877094972067,0.7090445859872615,0.6470949720670391
59 | test_example/target/000059.jpg,test_example/searching/000059.jpg,0.5087898089171974,-0.009080924855491317,0.989872611464968,0.5230635838150289
60 | test_example/target/000060.jpg,test_example/searching/000060.jpg,0.3146012269938649,0.28711801242236024,0.7526380368098157,0.8332298136645964
61 | test_example/target/000061.jpg,test_example/searching/000061.jpg,0.20882758620689637,0.23398591549295775,0.7012413793103445,0.8531690140845071
62 | test_example/target/000062.jpg,test_example/searching/000062.jpg,0.23518796992481183,0.5580763358778627,0.7720300751879695,1.229236641221374
63 | test_example/target/000063.jpg,test_example/searching/000063.jpg,0.21423841059602663,0.6044567901234568,0.6322516556291392,1.083395061728395
64 | test_example/target/000064.jpg,test_example/searching/000064.jpg,0.32365217391304374,0.22503184713375796,0.8725217391304351,0.719171974522293
65 | test_example/target/000065.jpg,test_example/searching/000065.jpg,0.16076190476190472,0.44857142857142857,0.7224761904761906,0.9623129251700681
66 | test_example/target/000066.jpg,test_example/searching/000066.jpg,0.2277966101694915,0.27541095890410966,0.7276271186440679,0.7926712328767123
67 | test_example/target/000067.jpg,test_example/searching/000067.jpg,0.40552845528455284,0.23097560975609754,0.8850406504065041,0.7945528455284552
68 | test_example/target/000068.jpg,test_example/searching/000068.jpg,0.4274285714285714,0.2529285714285714,0.9300952380952378,0.7480714285714285
69 | test_example/target/000069.jpg,test_example/searching/000069.jpg,0.295593220338983,0.08428571428571427,0.7428813559322032,0.5794285714285715
70 | test_example/target/000070.jpg,test_example/searching/000070.jpg,0.38526785714285694,-0.21598591549295776,0.875,0.2866901408450705
71 | test_example/target/000071.jpg,test_example/searching/000071.jpg,0.4927027027027032,0.15071724137931033,1.0241441441441437,0.714344827586207
72 | test_example/target/000072.jpg,test_example/searching/000072.jpg,0.5068269230769235,0.21873563218390807,1.074038461538462,0.6883908045977012
73 | test_example/target/000073.jpg,test_example/searching/000073.jpg,0.4362937062937062,1.047218045112782,0.9066433566433565,1.786015037593985
74 | test_example/target/000074.jpg,test_example/searching/000074.jpg,0.24220689655172417,0.1919387755102041,0.7060000000000001,0.693265306122449
75 | test_example/target/000075.jpg,test_example/searching/000075.jpg,0.1796212121212124,0.18386740331491713,0.7204545454545457,0.7267403314917127
76 | test_example/target/000076.jpg,test_example/searching/000076.jpg,0.06912751677852319,0.17273127753303968,0.5483221476510071,0.6055947136563876
77 | test_example/target/000077.jpg,test_example/searching/000077.jpg,0.22053435114503805,0.18593495934959353,0.7655725190839692,1.0184552845528456
78 | test_example/target/000078.jpg,test_example/searching/000078.jpg,0.101655629139073,0.07219512195121949,0.5745033112582781,0.5717073170731707
79 | test_example/target/000079.jpg,test_example/searching/000079.jpg,-0.11401408450704263,0.27536458333333336,0.3887323943661975,0.8086979166666667
80 | test_example/target/000080.jpg,test_example/searching/000080.jpg,0.2550349650349652,0.36567010309278347,0.6964335664335667,0.7975773195876288
81 | test_example/target/000081.jpg,test_example/searching/000081.jpg,0.4175486381322955,0.24604361370716513,0.9249027237354087,0.7873208722741434
82 | test_example/target/000082.jpg,test_example/searching/000082.jpg,0.450464135021097,0.1573456790123457,1.0004219409282697,0.6936111111111112
83 | test_example/target/000083.jpg,test_example/searching/000083.jpg,0.4223880597014927,0.20550684931506852,0.9089552238805967,0.6815342465753425
84 | test_example/target/000084.jpg,test_example/searching/000084.jpg,0.137313432835821,0.2539498432601881,0.7860696517412935,0.7986206896551724
85 | test_example/target/000085.jpg,test_example/searching/000085.jpg,0.27602739726027364,0.3130817610062893,0.7222602739726031,0.8594654088050314
86 | test_example/target/000086.jpg,test_example/searching/000086.jpg,0.31910569105691056,0.25915068493150684,0.8487804878048779,0.7351780821917807
87 | test_example/target/000087.jpg,test_example/searching/000087.jpg,0.24818840579710144,0.2575728155339806,0.7202898550724636,0.8198705501618122
88 | test_example/target/000088.jpg,test_example/searching/000088.jpg,0.27581227436823136,0.2875075987841945,0.7465703971119132,0.8156231003039512
89 | test_example/target/000089.jpg,test_example/searching/000089.jpg,0.6161016949152546,0.10058641975308644,1.16864406779661,0.6368518518518518
90 | test_example/target/000090.jpg,test_example/searching/000090.jpg,0.1662551440329222,0.29015337423312887,0.7028806584362138,0.8231288343558282
91 | test_example/target/000091.jpg,test_example/searching/000091.jpg,-0.06518518518518485,0.28405405405405404,0.41777777777777764,0.8058258258258257
92 | test_example/target/000092.jpg,test_example/searching/000092.jpg,0.3984615384615381,0.17252252252252254,1.0126923076923076,0.7704204204204205
93 | test_example/target/000093.jpg,test_example/searching/000093.jpg,0.23626666666666643,0.24916434540389973,0.6621333333333332,0.8037604456824513
94 | test_example/target/000094.jpg,test_example/searching/000094.jpg,0.36480446927374277,0.2563037249283668,0.8108938547486032,0.8267908309455587
95 | test_example/target/000095.jpg,test_example/searching/000095.jpg,0.23533333333333303,0.22463592233009708,0.7676666666666665,0.707888349514563
96 | test_example/target/000096.jpg,test_example/searching/000096.jpg,0.38969696969696943,0.14957494407158836,0.8736363636363635,0.5949664429530201
97 | test_example/target/000097.jpg,test_example/searching/000097.jpg,0.2804597701149423,0.16855263157894737,0.7393678160919539,0.6051535087719297
98 | test_example/target/000098.jpg,test_example/searching/000098.jpg,0.6309815950920247,0.30201570680628276,1.1208588957055217,0.8231937172774868
99 | test_example/target/000099.jpg,test_example/searching/000099.jpg,0.09237804878048766,0.3017223650385604,0.6170731707317076,0.8135218508997428
100 | test_example/target/000100.jpg,test_example/searching/000100.jpg,0.26532951289398254,0.20740641711229946,0.7584527220630374,0.73975935828877
--------------------------------------------------------------------------------
/goturn_net.py:
--------------------------------------------------------------------------------
1 | import tensorflow as tf
2 | import numpy as np
3 | class TRACKNET:
4 | def __init__(self, batch_size, train = True):
5 | self.parameters = {}
6 | self.batch_size = batch_size
7 | self.target = tf.placeholder(tf.float32, [batch_size, 227, 227, 3])
8 | self.image = tf.placeholder(tf.float32, [batch_size, 227, 227, 3])
9 | self.bbox = tf.placeholder(tf.float32, [batch_size, 4])
10 | self.train = train
11 | self.wd = 0.0005
12 | def build(self):
13 | ########### for target ###########
14 | # [filter_height, filter_width, in_channels, out_channels]
15 | self.target_conv1 = self._conv_relu_layer(bottom = self.target, filter_size = [11, 11, 3, 96],
16 | strides = [1,4,4,1], name = "target_conv_1")
17 |
18 | # now 55 x 55 x 96
19 | self.target_pool1 = tf.nn.max_pool(self.target_conv1, ksize = [1, 3, 3, 1], strides=[1, 2, 2, 1],
20 | padding='VALID', name='target_pool1')
21 | # now 27 x 27 x 96
22 | self.target_lrn1 = tf.nn.local_response_normalization(self.target_pool1, depth_radius = 2, alpha=0.0001,
23 | beta=0.75, name="target_lrn1")
24 | # now 27 x 27 x 96
25 |
26 | self.target_conv2 = self._conv_relu_layer(bottom = self.target_lrn1,filter_size = [5, 5, 48, 256],
27 | strides = [1,1,1,1], pad = 2, bias_init = 1.0, group = 2, name="target_conv_2")
28 | # now 27 x 27 x 256
29 |
30 | self.target_pool2 = tf.nn.max_pool(self.target_conv2, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1],
31 | padding='VALID', name='target_pool2')
32 | # now 13 x 13 x 256
33 | self.target_lrn2 = tf.nn.local_response_normalization(self.target_pool2, depth_radius = 2, alpha=0.0001,
34 | beta=0.75, name="target_lrn2")
35 | # now 13 x 13 x 256
36 | self.target_conv3 = self._conv_relu_layer(bottom = self.target_lrn2,filter_size = [3, 3, 256, 384],
37 | strides = [1,1,1,1], pad = 1, name="target_conv_3")
38 | # now 13 x 13 x 384
39 | self.target_conv4 = self._conv_relu_layer(bottom = self.target_conv3,filter_size = [3, 3, 192, 384], bias_init = 1.0,
40 | strides = [1,1,1,1], pad = 1, group = 2, name="target_conv_4")
41 | # now 13 x 13 x 384
42 | self.target_conv5 = self._conv_relu_layer(bottom = self.target_conv4,filter_size = [3, 3, 192, 256], bias_init = 1.0,
43 | strides = [1,1,1,1], pad = 1, group = 2, name="target_conv_5")
44 | # now 13 x 13 x 256
45 | self.target_pool5 = tf.nn.max_pool(self.target_conv5, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1],
46 | padding='VALID', name='target_pool5')
47 | # now 6 x 6 x 256
48 |
49 |
50 | ########### for image ###########
51 | # [filter_height, filter_width, in_channels, out_channels]
52 | self.image_conv1 = self._conv_relu_layer(bottom = self.image, filter_size = [11, 11, 3, 96],
53 | strides = [1,4,4,1], name = "image_conv_1")
54 |
55 | # now 55 x 55 x 96
56 | self.image_pool1 = tf.nn.max_pool(self.image_conv1, ksize = [1, 3, 3, 1], strides=[1, 2, 2, 1],
57 | padding='VALID', name='image_pool1')
58 |
59 | # now 27 x 27 x 96
60 | self.image_lrn1 = tf.nn.local_response_normalization(self.image_pool1, depth_radius = 2, alpha=0.0001,
61 | beta=0.75, name="image_lrn1")
62 |
63 | # now 27 x 27 x 96
64 |
65 | self.image_conv2 = self._conv_relu_layer(bottom = self.image_lrn1,filter_size = [5, 5, 48, 256],
66 | strides = [1,1,1,1], pad = 2, bias_init = 1.0, group = 2, name="image_conv_2")
67 |
68 | # now 27 x 27 x 256
69 |
70 | self.image_pool2 = tf.nn.max_pool(self.image_conv2, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1],
71 | padding='VALID', name='image_pool2')
72 |
73 | # now 13 x 13 x 256
74 | self.image_lrn2 = tf.nn.local_response_normalization(self.image_pool2, depth_radius = 2, alpha=0.0001,
75 | beta=0.75, name="image_lrn2")
76 |
77 | # now 13 x 13 x 256
78 | self.image_conv3 = self._conv_relu_layer(bottom = self.image_lrn2,filter_size = [3, 3, 256, 384],
79 | strides = [1,1,1,1], pad = 1, name="image_conv_3")
80 |
81 | # now 13 x 13 x 384
82 | self.image_conv4 = self._conv_relu_layer(bottom = self.image_conv3,filter_size = [3, 3, 192, 384],
83 | strides = [1,1,1,1], pad = 1, group = 2, name="image_conv_4")
84 |
85 | # now 13 x 13 x 384
86 | self.image_conv5 = self._conv_relu_layer(bottom = self.image_conv4,filter_size = [3, 3, 192, 256], bias_init = 1.0,
87 | strides = [1,1,1,1], pad = 1, group = 2, name="image_conv_5")
88 |
89 | # now 13 x 13 x 256
90 | self.image_pool5 = tf.nn.max_pool(self.image_conv5, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1],
91 | padding='VALID', name='image_pool5')
92 |
93 | # now 6 x 6 x 256
94 | # tensorflow layer: n * w * h * c
95 | # but caffe layer is: n * c * h * w
96 |
97 | # tensorflow kernel: h * w * in_c * out_c
98 | # caffe kernel: out_c * in_c * h * w
99 |
100 | ########### Concatnate two layers ###########
101 | self.concat = tf.concat([self.target_pool5, self.image_pool5], axis = 3) # 0, 1, 2, 3 - > 2, 3, 1, 0
102 |
103 | # important, since caffe has different layer dimension order
104 | self.concat = tf.transpose(self.concat, perm=[0,3,1,2])
105 |
106 | ########### fully connencted layers ###########
107 | # 6 * 6 * 256 * 2 == 18432
108 | # assert self.fc1.get_shape().as_list()[1:] == [6, 6, 512]
109 | self.fc1 = self._fc_relu_layers(self.concat, dim = 4096, name = "fc1")
110 | if (self.train):
111 | self.fc1 = tf.nn.dropout(self.fc1, 0.5)
112 |
113 |
114 | self.fc2 = self._fc_relu_layers(self.fc1, dim = 4096, name = "fc2")
115 | if (self.train):
116 | self.fc2 = tf.nn.dropout(self.fc2, 0.5)
117 |
118 | self.fc3 = self._fc_relu_layers(self.fc2, dim = 4096, name = "fc3")
119 | if (self.train):
120 | self.fc3 = tf.nn.dropout(self.fc3, 0.5)
121 |
122 | self.fc4 = self._fc_layers(self.fc3, dim = 4, name = "fc4")
123 |
124 | self.print_shapes()
125 | self.loss = self._loss_layer(self.fc4, self.bbox ,name = "loss")
126 | l2_loss = tf.add_n(tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES), name='l2_weight_loss')
127 | self.loss_wdecay = self.loss + l2_loss
128 |
129 | def _loss_layer(self, bottom, label, name = None):
130 | diff = tf.subtract(self.fc4, self.bbox)
131 | diff_flat = tf.abs(tf.reshape(diff,[-1]))
132 | loss = tf.reduce_sum(diff_flat, name = name)
133 | return loss
134 |
135 | def _conv_relu_layer(self,bottom,filter_size, strides, pad = 0,bias_init = 0.0, group = 1, trainable = False, name = None):
136 | with tf.name_scope(name) as scope:
137 |
138 | if (pad > 0):
139 | paddings = [[0,0],[pad,pad],[pad,pad],[0,0]]
140 | bottom = tf.pad(bottom, paddings, "CONSTANT")
141 | kernel = tf.Variable(tf.truncated_normal(filter_size, dtype=tf.float32,
142 | stddev=1e-2), trainable=trainable, name='weights')
143 | biases = tf.Variable(tf.constant(bias_init, shape=[filter_size[3]], dtype=tf.float32), trainable=trainable, name='biases')
144 | self.parameters[name] = [kernel, biases]
145 | if (group == 1):
146 | conv = tf.nn.conv2d(bottom, kernel, strides, padding='VALID')
147 | out = tf.nn.bias_add(conv, biases)
148 | elif (group == 2):
149 | kernel1, kernel2 = tf.split(kernel, num_or_size_splits=group, axis=3)
150 | bottom1, bottom2 = tf.split(bottom, num_or_size_splits=group, axis=3)
151 | conv1 = tf.nn.conv2d(bottom1, kernel1, strides, padding='VALID')
152 | conv2 = tf.nn.conv2d(bottom2, kernel2, strides, padding='VALID')
153 | conv = tf.concat([conv1, conv2], axis=3)
154 | out = tf.nn.bias_add(conv, biases)
155 | else:
156 | raise TypeError("number of groups not supported")
157 |
158 | # if not tf.get_variable_scope().reuse:
159 | # weight_decay = tf.multiply(tf.nn.l2_loss(kernel), self.wd,
160 | # name='kernel_loss')
161 | # tf.add_to_collection(tf.GraphKeys.REGULARIZATION_LOSSES,
162 | # weight_decay)
163 |
164 |
165 | out2 = tf.nn.relu(out, name=scope)
166 | _activation_summary(out2)
167 | out2 = tf.Print(out2, [tf.shape(out2)], message='Shape of %s' % name, first_n = 1, summarize=4)
168 | return out2
169 |
170 | def _fc_relu_layers(self, bottom, dim, name = None):
171 | with tf.name_scope(name) as scope:
172 | shape = int(np.prod(bottom.get_shape()[1:]))
173 | weights = tf.Variable(tf.truncated_normal([shape, dim],
174 | dtype=tf.float32, stddev=0.005), name='weights')
175 | bias = tf.Variable(tf.constant(1.0, shape=[dim], dtype=tf.float32), name='biases')
176 | bottom_flat = tf.reshape(bottom, [-1, shape])
177 | fc_weights = tf.nn.bias_add(tf.matmul(bottom_flat, weights), bias)
178 | self.parameters[name] = [weights, bias]
179 |
180 |
181 | if not tf.get_variable_scope().reuse:
182 | weight_decay = tf.multiply(tf.nn.l2_loss(weights), self.wd,
183 | name='fc_relu_weight_loss')
184 | tf.add_to_collection(tf.GraphKeys.REGULARIZATION_LOSSES,
185 | weight_decay)
186 |
187 |
188 |
189 | top = tf.nn.relu(fc_weights, name=scope)
190 | _activation_summary(top)
191 | top = tf.Print(top, [tf.shape(top)], message='Shape of %s' % name, first_n = 1, summarize=4)
192 | return top
193 |
194 | def _fc_layers(self, bottom, dim, name = None):
195 | with tf.name_scope(name) as scope:
196 | shape = int(np.prod(bottom.get_shape()[1:]))
197 | weights = tf.Variable(tf.truncated_normal([shape, dim],
198 | dtype=tf.float32, stddev=0.005), name='weights')
199 | bias = tf.Variable(tf.constant(1.0, shape=[dim], dtype=tf.float32), name='biases')
200 | bottom_flat = tf.reshape(bottom, [-1, shape])
201 | top = tf.nn.bias_add(tf.matmul(bottom_flat, weights), bias, name=scope)
202 | self.parameters[name] = [weights, bias]
203 |
204 | if not tf.get_variable_scope().reuse:
205 | weight_decay = tf.multiply(tf.nn.l2_loss(weights), self.wd,
206 | name='fc_weight_loss')
207 | tf.add_to_collection(tf.GraphKeys.REGULARIZATION_LOSSES,
208 | weight_decay)
209 |
210 | _activation_summary(top)
211 | top = tf.Print(top, [tf.shape(top)], message='Shape of %s' % name, first_n = 1, summarize=4)
212 | return top
213 | def _add_wd_and_summary(self, var, wd, collection_name=None):
214 | if collection_name is None:
215 | collection_name = tf.GraphKeys.REGULARIZATION_LOSSES
216 | if wd and (not tf.get_variable_scope().reuse):
217 | weight_decay = tf.multiply(
218 | tf.nn.l2_loss(var), wd, name='weight_loss')
219 | tf.add_to_collection(collection_name, weight_decay)
220 | _variable_summaries(var)
221 | return var
222 | def print_shapes(self):
223 | print("%s:"%(self.image_conv1),self.image_conv1.get_shape().as_list())
224 | print("%s:"%(self.image_pool1),self.image_pool1.get_shape().as_list())
225 | print("%s:"%(self.image_lrn1),self.image_lrn1.get_shape().as_list())
226 | print("%s:"%(self.image_conv2),self.image_conv2.get_shape().as_list())
227 | print("%s:"%(self.image_pool2),self.image_pool2.get_shape().as_list())
228 | print("%s:"%(self.image_lrn2),self.image_lrn2.get_shape().as_list())
229 | print("%s:"%(self.image_conv3),self.image_conv3.get_shape().as_list())
230 | print("%s:"%(self.image_conv4),self.image_conv4.get_shape().as_list())
231 | print("%s:"%(self.image_conv5),self.image_conv5.get_shape().as_list())
232 | print("%s:"%(self.image_pool5),self.image_pool5.get_shape().as_list())
233 | print("%s:"%(self.concat),self.concat.get_shape().as_list())
234 | print("%s:"%(self.fc1),self.fc1.get_shape().as_list())
235 | print("%s:"%(self.fc2),self.fc2.get_shape().as_list())
236 | print("%s:"%(self.fc3),self.fc3.get_shape().as_list())
237 | print("%s:"%(self.fc4),self.fc4.get_shape().as_list())
238 | print("kernel_sizes:")
239 | for key in self.parameters:
240 | print("%s:"%(key),self.parameters[key][0].get_shape().as_list())
241 |
242 | def load_weight_from_dict(self,weights_dict,sess):
243 | # for convolutional layers
244 | sess.run(self.parameters['target_conv_1'][0].assign(weights_dict['conv1']['weights']))
245 | sess.run(self.parameters['target_conv_2'][0].assign(weights_dict['conv2']['weights']))
246 | sess.run(self.parameters['target_conv_3'][0].assign(weights_dict['conv3']['weights']))
247 | sess.run(self.parameters['target_conv_4'][0].assign(weights_dict['conv4']['weights']))
248 | sess.run(self.parameters['target_conv_5'][0].assign(weights_dict['conv5']['weights']))
249 | sess.run(self.parameters['image_conv_1'][0].assign(weights_dict['conv1_p']['weights']))
250 | sess.run(self.parameters['image_conv_2'][0].assign(weights_dict['conv2_p']['weights']))
251 | sess.run(self.parameters['image_conv_3'][0].assign(weights_dict['conv3_p']['weights']))
252 | sess.run(self.parameters['image_conv_4'][0].assign(weights_dict['conv4_p']['weights']))
253 | sess.run(self.parameters['image_conv_5'][0].assign(weights_dict['conv5_p']['weights']))
254 |
255 | sess.run(self.parameters['target_conv_1'][1].assign(weights_dict['conv1']['bias']))
256 | sess.run(self.parameters['target_conv_2'][1].assign(weights_dict['conv2']['bias']))
257 | sess.run(self.parameters['target_conv_3'][1].assign(weights_dict['conv3']['bias']))
258 | sess.run(self.parameters['target_conv_4'][1].assign(weights_dict['conv4']['bias']))
259 | sess.run(self.parameters['target_conv_5'][1].assign(weights_dict['conv5']['bias']))
260 | sess.run(self.parameters['image_conv_1'][1].assign(weights_dict['conv1_p']['bias']))
261 | sess.run(self.parameters['image_conv_2'][1].assign(weights_dict['conv2_p']['bias']))
262 | sess.run(self.parameters['image_conv_3'][1].assign(weights_dict['conv3_p']['bias']))
263 | sess.run(self.parameters['image_conv_4'][1].assign(weights_dict['conv4_p']['bias']))
264 | sess.run(self.parameters['image_conv_5'][1].assign(weights_dict['conv5_p']['bias']))
265 |
266 | # for fully connected layers
267 | sess.run(self.parameters['fc1'][0].assign(weights_dict['fc6-new']['weights']))
268 | sess.run(self.parameters['fc2'][0].assign(weights_dict['fc7-new']['weights']))
269 | sess.run(self.parameters['fc3'][0].assign(weights_dict['fc7-newb']['weights']))
270 | sess.run(self.parameters['fc4'][0].assign(weights_dict['fc8-shapes']['weights']))
271 |
272 | sess.run(self.parameters['fc1'][1].assign(weights_dict['fc6-new']['bias']))
273 | sess.run(self.parameters['fc2'][1].assign(weights_dict['fc7-new']['bias']))
274 | sess.run(self.parameters['fc3'][1].assign(weights_dict['fc7-newb']['bias']))
275 | sess.run(self.parameters['fc4'][1].assign(weights_dict['fc8-shapes']['bias']))
276 |
277 |
278 |
279 | def test(self):
280 | sess = tf.Session()
281 | a = np.full((self.batch_size,227,227,3), 1) # numpy.full(shape, fill_value, dtype=None, order='C')
282 | b = np.full((self.batch_size,227,227,3), 2)
283 | sess.run(tf.global_variables_initializer())
284 |
285 | sess.run([self.fc4],feed_dict={self.image:a, self.target:b})
286 |
287 |
288 |
289 |
290 |
291 | def _activation_summary(x):
292 | """Helper to create summaries for activations.
293 |
294 | Creates a summary that provides a histogram of activations.
295 | Creates a summary that measure the sparsity of activations.
296 |
297 | Args:
298 | x: Tensor
299 | Returns:
300 | nothing
301 | """
302 | # Remove 'tower_[0-9]/' from the name in case this is a multi-GPU training
303 | # session. This helps the clarity of presentation on tensorboard.
304 | tensor_name = x.op.name
305 | # tensor_name = re.sub('%s_[0-9]*/' % TOWER_NAME, '', x.op.name)
306 | tf.summary.histogram(tensor_name + '/activations', x)
307 | tf.summary.scalar(tensor_name + '/sparsity', tf.nn.zero_fraction(x))
308 |
309 | def _variable_summaries(var):
310 | """Attach a lot of summaries to a Tensor."""
311 | if not tf.get_variable_scope().reuse:
312 | name = var.op.name
313 | logging.debug("Creating Summary for: %s" % name)
314 | with tf.name_scope('summaries'):
315 | mean = tf.reduce_mean(var)
316 | tf.summary.scalar(name + '/mean', mean)
317 | with tf.name_scope('stddev'):
318 | stddev = tf.sqrt(tf.reduce_sum(tf.square(var - mean)))
319 | tf.summary.scalar(name + '/sttdev', stddev)
320 | tf.summary.scalar(name + '/max', tf.reduce_max(var))
321 | tf.summary.scalar(name + '/min', tf.reduce_min(var))
322 | tf.summary.histogram(name, var)
323 |
324 | if __name__ == "__main__":
325 | tracknet = TRACKNET(10)
326 | tracknet.build()
327 | sess = tf.Session()
328 | a = np.full((tracknet.batch_size,227,227,3), 1)
329 | b = np.full((tracknet.batch_size,227,227,3), 2)
330 | sess.run(tf.global_variables_initializer())
331 | sess.run([tracknet.image_pool5],feed_dict={tracknet.image:a, tracknet.target:b})
332 |
333 |
334 |
335 |
--------------------------------------------------------------------------------