Showing preview only (530K chars total). Download the full file or copy to clipboard to get everything.
Repository: Kedreamix/YoloGesture
Branch: main
Commit: f4e9ddb54510
Files: 77
Total size: 475.9 KB
Directory structure:
gitextract_n_8zvszz/
├── .devcontainer/
│ └── devcontainer.json
├── .gitignore
├── 2007_train.txt
├── 2007_val.txt
├── Pipfile
├── README.md
├── VOCdevkit/
│ └── VOC2007/
│ ├── Annotations/
│ │ ├── 1.xml
│ │ ├── 2.xml
│ │ ├── 3.xml
│ │ ├── 4.xml
│ │ ├── 5.xml
│ │ └── README.md
│ └── ImageSets/
│ └── Main/
│ ├── README.md
│ ├── test.txt
│ ├── train.txt
│ ├── trainval.txt
│ └── val.txt
├── YOLOv4-study学习资料md
├── detect.py
├── gen_annotation.py
├── gesture.streamlit.py
├── get_map.py
├── get_yaml.py
├── instructions.md
├── kmeans_for_anchors.py
├── logs/
│ ├── README.md
│ ├── gesture_loss_2021_11_14_22_04_00/
│ │ ├── epoch_loss_2021_11_14_22_04_00.txt
│ │ └── epoch_val_loss_2021_11_14_22_04_00.txt
│ ├── loss_2022_04_27_08_48_16/
│ │ ├── epoch_loss.txt
│ │ ├── epoch_val_loss.txt
│ │ └── events.out.tfevents.1651049298.fef10e9dbba1.425.0
│ ├── loss_2022_04_27_10_38_48/
│ │ ├── epoch_loss.txt
│ │ ├── epoch_val_loss.txt
│ │ └── events.out.tfevents.1651055931.9b45dd4991ae.367.0
│ ├── loss_2022_04_27_12_50_47/
│ │ ├── epoch_loss.txt
│ │ ├── epoch_val_loss.txt
│ │ └── events.out.tfevents.1651063849.274e119c63fb.1015.0
│ ├── loss_2022_04_28_00_40_54/
│ │ ├── epoch_loss.txt
│ │ ├── epoch_val_loss.txt
│ │ └── events.out.tfevents.1651106457.117e69507361.564.0
│ ├── loss_2022_04_28_14_54_17/
│ │ ├── epoch_loss.txt
│ │ ├── epoch_val_loss.txt
│ │ └── events.out.tfevents.1651128857.LAPTOP-IE5MVR15.24536.0
│ └── loss_2022_05_02_14_57_57/
│ ├── epoch_loss.txt
│ ├── epoch_val_loss.txt
│ └── events.out.tfevents.1651503480.437fb01f4bb0.370.0
├── model_data/
│ ├── .gitattributes
│ ├── gesture.yaml
│ ├── gesture_classes.txt
│ ├── yolo_anchors.txt
│ └── yolotiny_anchors.txt
├── nets/
│ ├── CSPdarknet.py
│ ├── CSPdarknet53_tiny.py
│ ├── __init__.py
│ ├── attention.py
│ ├── yolo.py
│ ├── yolo_tiny.py
│ ├── yolo_training.py
│ └── yolotiny_training.py
├── packages.txt
├── predict.py
├── requirements.txt
├── summary.py
├── train.py
├── utils/
│ ├── __init__.py
│ ├── callbacks.py
│ ├── dataloader.py
│ ├── utils.py
│ ├── utils_bbox.py
│ ├── utils_fit.py
│ └── utils_map.py
├── utils_coco/
│ ├── coco_annotation.py
│ └── get_map_coco.py
├── voc_annotation.py
├── yolo.py
├── yolo_anchors.txt
└── yolov4-gesture-tutorial.ipynb
================================================
FILE CONTENTS
================================================
================================================
FILE: .devcontainer/devcontainer.json
================================================
{
"name": "Python 3",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye",
"customizations": {
"codespaces": {
"openFiles": [
"README.md",
"gesture_streamlit.py"
]
},
"vscode": {
"settings": {},
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance"
]
}
},
"updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade -y && sudo xargs apt install -y <packages.txt; [ -f requirements.txt ] && pip3 install --user -r requirements.txt; pip3 install --user streamlit; echo '✅ Packages installed and Requirements met'",
"postAttachCommand": {
"server": "streamlit run gesture_streamlit.py --server.enableCORS false --server.enableXsrfProtection false"
},
"portsAttributes": {
"8501": {
"label": "Application",
"onAutoForward": "openPreview"
}
},
"forwardPorts": [
8501
]
}
================================================
FILE: .gitignore
================================================
*.pyc
*.DS_Store
================================================
FILE: 2007_train.txt
================================================
VOCdevkit/VOC2007/JPEGImages/10.jpg 21,20,108,108,1
VOCdevkit/VOC2007/JPEGImages/100.jpg 34,22,111,140,1
VOCdevkit/VOC2007/JPEGImages/1000.jpg 38,37,163,190,2
VOCdevkit/VOC2007/JPEGImages/1001.jpg 12,7,68,84,2
VOCdevkit/VOC2007/JPEGImages/1002.jpg 27,46,200,247,2
VOCdevkit/VOC2007/JPEGImages/1003.jpg 46,46,233,257,2
VOCdevkit/VOC2007/JPEGImages/1005.jpg 16,12,162,198,2
VOCdevkit/VOC2007/JPEGImages/1006.jpg 30,33,186,137,2
VOCdevkit/VOC2007/JPEGImages/1007.jpg 44,35,242,311,2
VOCdevkit/VOC2007/JPEGImages/1008.jpg 55,49,254,320,2
VOCdevkit/VOC2007/JPEGImages/1009.jpg 63,9,305,379,2
VOCdevkit/VOC2007/JPEGImages/101.jpg 32,38,307,391,3
VOCdevkit/VOC2007/JPEGImages/1010.jpg 26,8,231,271,2
VOCdevkit/VOC2007/JPEGImages/1011.jpg 9,13,165,159,2
VOCdevkit/VOC2007/JPEGImages/1012.jpg 9,4,223,262,2
VOCdevkit/VOC2007/JPEGImages/1013.jpg 20,11,135,164,2
VOCdevkit/VOC2007/JPEGImages/1014.jpg 25,1,135,159,2
VOCdevkit/VOC2007/JPEGImages/1015.jpg 41,13,341,376,2
VOCdevkit/VOC2007/JPEGImages/1016.jpg 51,31,231,281,2
VOCdevkit/VOC2007/JPEGImages/1017.jpg 62,38,259,255,2
VOCdevkit/VOC2007/JPEGImages/1019.jpg 50,40,178,213,2
VOCdevkit/VOC2007/JPEGImages/102.jpg 30,31,291,363,3
VOCdevkit/VOC2007/JPEGImages/1020.jpg 48,55,223,348,2
VOCdevkit/VOC2007/JPEGImages/1021.jpg 30,24,115,112,0
VOCdevkit/VOC2007/JPEGImages/1022.jpg 56,55,152,219,0
VOCdevkit/VOC2007/JPEGImages/1023.jpg 54,63,370,329,0
VOCdevkit/VOC2007/JPEGImages/1024.jpg 16,10,60,80,0
VOCdevkit/VOC2007/JPEGImages/1025.jpg 50,7,148,180,0
VOCdevkit/VOC2007/JPEGImages/1026.jpg 90,49,449,367,0
VOCdevkit/VOC2007/JPEGImages/1028.jpg 52,29,394,562,0
VOCdevkit/VOC2007/JPEGImages/1029.jpg 35,13,91,119,0
VOCdevkit/VOC2007/JPEGImages/103.jpg 34,30,214,329,3
VOCdevkit/VOC2007/JPEGImages/1030.jpg 197,1,638,653,0
VOCdevkit/VOC2007/JPEGImages/1031.jpg 27,13,76,92,0
VOCdevkit/VOC2007/JPEGImages/1032.jpg 46,39,110,143,0
VOCdevkit/VOC2007/JPEGImages/1033.jpg 28,2,63,75,0
VOCdevkit/VOC2007/JPEGImages/1034.jpg 41,18,89,107,0
VOCdevkit/VOC2007/JPEGImages/1035.jpg 71,55,180,238,0
VOCdevkit/VOC2007/JPEGImages/1036.jpg 105,45,508,242,0
VOCdevkit/VOC2007/JPEGImages/1037.jpg 125,17,347,410,0
VOCdevkit/VOC2007/JPEGImages/1038.jpg 49,45,195,270,0
VOCdevkit/VOC2007/JPEGImages/1039.jpg 36,14,84,85,0
VOCdevkit/VOC2007/JPEGImages/104.jpg 16,34,159,225,3
VOCdevkit/VOC2007/JPEGImages/1040.jpg 56,30,123,153,0
VOCdevkit/VOC2007/JPEGImages/1041.jpg 97,101,939,461,0
VOCdevkit/VOC2007/JPEGImages/1042.jpg 53,23,154,238,0
VOCdevkit/VOC2007/JPEGImages/1043.jpg 53,22,201,254,0
VOCdevkit/VOC2007/JPEGImages/1044.jpg 45,24,108,144,0
VOCdevkit/VOC2007/JPEGImages/1045.jpg 37,27,95,142,0
VOCdevkit/VOC2007/JPEGImages/1046.jpg 95,39,235,278,0
VOCdevkit/VOC2007/JPEGImages/1047.jpg 52,16,316,397,0
VOCdevkit/VOC2007/JPEGImages/1048.jpg 39,64,140,193,0
VOCdevkit/VOC2007/JPEGImages/105.jpg 50,21,347,272,3
VOCdevkit/VOC2007/JPEGImages/1050.jpg 23,53,186,171,0
VOCdevkit/VOC2007/JPEGImages/1051.jpg 76,26,221,254,0
VOCdevkit/VOC2007/JPEGImages/1052.jpg 78,30,205,266,0
VOCdevkit/VOC2007/JPEGImages/1053.jpg 143,35,441,543,0
VOCdevkit/VOC2007/JPEGImages/1054.jpg 20,12,106,160,0
VOCdevkit/VOC2007/JPEGImages/1056.jpg 28,27,148,103,0
VOCdevkit/VOC2007/JPEGImages/1057.jpg 46,9,126,166,0
VOCdevkit/VOC2007/JPEGImages/1058.jpg 130,65,373,401,0
VOCdevkit/VOC2007/JPEGImages/1059.jpg 41,30,127,204,0
VOCdevkit/VOC2007/JPEGImages/106.jpg 21,19,116,143,3
VOCdevkit/VOC2007/JPEGImages/1060.jpg 72,33,201,255,0
VOCdevkit/VOC2007/JPEGImages/1061.jpg 12,16,66,71,0
VOCdevkit/VOC2007/JPEGImages/1062.jpg 38,43,123,142,0
VOCdevkit/VOC2007/JPEGImages/1063.jpg 41,23,96,151,0
VOCdevkit/VOC2007/JPEGImages/1064.jpg 32,5,150,257,0
VOCdevkit/VOC2007/JPEGImages/1065.jpg 33,30,139,202,0
VOCdevkit/VOC2007/JPEGImages/1066.jpg 86,33,227,256,0
VOCdevkit/VOC2007/JPEGImages/1067.jpg 33,26,144,225,0
VOCdevkit/VOC2007/JPEGImages/1068.jpg 33,36,145,220,0
VOCdevkit/VOC2007/JPEGImages/1069.jpg 29,41,126,140,0
VOCdevkit/VOC2007/JPEGImages/107.jpg 4,2,70,86,3
VOCdevkit/VOC2007/JPEGImages/1070.jpg 17,23,104,110,0
VOCdevkit/VOC2007/JPEGImages/1071.jpg 13,29,104,83,0
VOCdevkit/VOC2007/JPEGImages/1072.jpg 68,52,237,330,0
VOCdevkit/VOC2007/JPEGImages/1074.jpg 47,33,124,158,0
VOCdevkit/VOC2007/JPEGImages/1075.jpg 31,41,168,186,0
VOCdevkit/VOC2007/JPEGImages/1076.jpg 31,23,86,120,0
VOCdevkit/VOC2007/JPEGImages/1077.jpg 37,24,106,136,0
VOCdevkit/VOC2007/JPEGImages/1078.jpg 41,23,133,215,0
VOCdevkit/VOC2007/JPEGImages/1079.jpg 28,24,135,204,0
VOCdevkit/VOC2007/JPEGImages/108.jpg 19,29,113,186,3
VOCdevkit/VOC2007/JPEGImages/1080.jpg 25,43,200,194,0
VOCdevkit/VOC2007/JPEGImages/1081.jpg 94,62,209,161,0
VOCdevkit/VOC2007/JPEGImages/1083.jpg 77,38,294,165,0
VOCdevkit/VOC2007/JPEGImages/1084.jpg 29,49,110,204,0
VOCdevkit/VOC2007/JPEGImages/1085.jpg 46,61,187,368,0
VOCdevkit/VOC2007/JPEGImages/1086.jpg 48,49,149,231,0
VOCdevkit/VOC2007/JPEGImages/1088.jpg 44,59,135,182,0
VOCdevkit/VOC2007/JPEGImages/1089.jpg 28,30,155,309,0
VOCdevkit/VOC2007/JPEGImages/109.jpg 4,3,132,219,3
VOCdevkit/VOC2007/JPEGImages/1090.jpg 48,18,155,202,0
VOCdevkit/VOC2007/JPEGImages/1091.jpg 54,38,194,250,0
VOCdevkit/VOC2007/JPEGImages/1094.jpg 53,8,207,230,0
VOCdevkit/VOC2007/JPEGImages/1096.jpg 11,7,57,91,0
VOCdevkit/VOC2007/JPEGImages/1098.jpg 59,51,188,173,0
VOCdevkit/VOC2007/JPEGImages/11.jpg 12,8,116,148,1
VOCdevkit/VOC2007/JPEGImages/110.jpg 10,3,112,166,3
VOCdevkit/VOC2007/JPEGImages/1100.jpg 37,21,111,125,0
VOCdevkit/VOC2007/JPEGImages/1101.jpg 6,36,121,88,0
VOCdevkit/VOC2007/JPEGImages/1102.jpg 21,34,145,100,0
VOCdevkit/VOC2007/JPEGImages/1103.jpg 51,42,226,233,0
VOCdevkit/VOC2007/JPEGImages/1104.jpg 28,48,288,453,0
VOCdevkit/VOC2007/JPEGImages/1105.jpg 44,41,121,140,0
VOCdevkit/VOC2007/JPEGImages/1106.jpg 81,17,294,421,0
VOCdevkit/VOC2007/JPEGImages/1107.jpg 51,29,131,202,0
VOCdevkit/VOC2007/JPEGImages/1108.jpg 72,51,212,322,0
VOCdevkit/VOC2007/JPEGImages/1109.jpg 58,31,158,197,0
VOCdevkit/VOC2007/JPEGImages/111.jpg 25,42,212,344,3
VOCdevkit/VOC2007/JPEGImages/1111.jpg 37,35,111,150,0
VOCdevkit/VOC2007/JPEGImages/1112.jpg 56,43,126,165,0
VOCdevkit/VOC2007/JPEGImages/1113.jpg 57,50,179,272,0
VOCdevkit/VOC2007/JPEGImages/1114.jpg 29,11,128,172,0
VOCdevkit/VOC2007/JPEGImages/1115.jpg 36,42,143,206,0
VOCdevkit/VOC2007/JPEGImages/1116.jpg 59,36,137,196,0
VOCdevkit/VOC2007/JPEGImages/1117.jpg 57,30,126,163,0
VOCdevkit/VOC2007/JPEGImages/1118.jpg 63,60,174,184,0
VOCdevkit/VOC2007/JPEGImages/1119.jpg 73,38,215,275,0
VOCdevkit/VOC2007/JPEGImages/112.jpg 39,24,207,358,3
VOCdevkit/VOC2007/JPEGImages/1120.jpg 52,50,187,198,0
VOCdevkit/VOC2007/JPEGImages/1121.jpg 690,748,2210,3188,3
VOCdevkit/VOC2007/JPEGImages/1122.jpg 382,1020,2238,3564,3
VOCdevkit/VOC2007/JPEGImages/1123.jpg 618,712,2310,3292,3
VOCdevkit/VOC2007/JPEGImages/1124.jpg 254,808,2010,3072,3
VOCdevkit/VOC2007/JPEGImages/1125.jpg 394,1016,2018,3208,3
VOCdevkit/VOC2007/JPEGImages/1126.jpg 614,952,1962,2904,3
VOCdevkit/VOC2007/JPEGImages/1127.jpg 582,1212,2030,2880,3
VOCdevkit/VOC2007/JPEGImages/1130.jpg 766,1076,1962,3476,3
VOCdevkit/VOC2007/JPEGImages/1131.jpg 646,1292,1930,3404,3
VOCdevkit/VOC2007/JPEGImages/1132.jpg 874,1336,2318,3428,3
VOCdevkit/VOC2007/JPEGImages/1133.jpg 642,1232,2318,3640,3
VOCdevkit/VOC2007/JPEGImages/1134.jpg 698,952,2282,3580,3
VOCdevkit/VOC2007/JPEGImages/1135.jpg 578,836,2526,3536,3
VOCdevkit/VOC2007/JPEGImages/1136.jpg 426,1552,2298,3352,3
VOCdevkit/VOC2007/JPEGImages/1137.jpg 626,664,2446,3460,3
VOCdevkit/VOC2007/JPEGImages/1138.jpg 686,848,2262,3384,3
VOCdevkit/VOC2007/JPEGImages/1139.jpg 618,656,1966,3432,3
VOCdevkit/VOC2007/JPEGImages/114.jpg 20,71,291,356,3
VOCdevkit/VOC2007/JPEGImages/1140.jpg 702,1008,2302,3376,3
VOCdevkit/VOC2007/JPEGImages/1141.jpg 66,965,2736,3588,3
VOCdevkit/VOC2007/JPEGImages/1142.jpg 494,684,2410,3256,3
VOCdevkit/VOC2007/JPEGImages/1144.jpg 534,700,2266,3252,3
VOCdevkit/VOC2007/JPEGImages/1145.jpg 686,736,2034,3348,3
VOCdevkit/VOC2007/JPEGImages/1146.jpg 274,1024,2282,3520,3
VOCdevkit/VOC2007/JPEGImages/1147.jpg 130,712,2214,3500,3
VOCdevkit/VOC2007/JPEGImages/1148.jpg 474,1992,1414,3248,3
VOCdevkit/VOC2007/JPEGImages/1149.jpg 738,1676,1758,2892,3
VOCdevkit/VOC2007/JPEGImages/1150.jpg 954,1496,1978,2612,3
VOCdevkit/VOC2007/JPEGImages/1151.jpg 918,1384,2286,2424,3
VOCdevkit/VOC2007/JPEGImages/1152.jpg 574,832,1950,2968,3
VOCdevkit/VOC2007/JPEGImages/1153.jpg 450,872,2026,3060,3
VOCdevkit/VOC2007/JPEGImages/1155.jpg 882,1448,2170,3508,3
VOCdevkit/VOC2007/JPEGImages/1156.jpg 638,1196,2086,3152,3
VOCdevkit/VOC2007/JPEGImages/1157.jpg 250,280,2266,3504,3
VOCdevkit/VOC2007/JPEGImages/1158.jpg 522,960,2406,3524,3
VOCdevkit/VOC2007/JPEGImages/116.jpg 2,14,132,198,3
VOCdevkit/VOC2007/JPEGImages/1160.jpg 178,552,1878,3068,3
VOCdevkit/VOC2007/JPEGImages/1161.jpg 390,864,1942,3300,3
VOCdevkit/VOC2007/JPEGImages/1162.jpg 560,41,2498,2676,3
VOCdevkit/VOC2007/JPEGImages/1163.jpg 98,340,1934,2972,3
VOCdevkit/VOC2007/JPEGImages/1164.jpg 430,384,2622,3280,3
VOCdevkit/VOC2007/JPEGImages/1165.jpg 116,358,3522,2394,3
VOCdevkit/VOC2007/JPEGImages/1166.jpg 378,556,2522,3268,3
VOCdevkit/VOC2007/JPEGImages/1167.jpg 418,292,2478,3412,3
VOCdevkit/VOC2007/JPEGImages/1168.jpg 48,417,2660,2449,3
VOCdevkit/VOC2007/JPEGImages/1169.jpg 701,158,3539,2447,3
VOCdevkit/VOC2007/JPEGImages/117.jpg 44,34,372,303,3
VOCdevkit/VOC2007/JPEGImages/1170.jpg 658,500,2554,2952,3
VOCdevkit/VOC2007/JPEGImages/1171.jpg 254,1204,2554,3436,3
VOCdevkit/VOC2007/JPEGImages/1172.jpg 77,5,169,156,3
VOCdevkit/VOC2007/JPEGImages/1173.jpg 82,34,261,256,3
VOCdevkit/VOC2007/JPEGImages/1174.jpg 31,55,144,191,3
VOCdevkit/VOC2007/JPEGImages/1175.jpg 137,43,254,229,3
VOCdevkit/VOC2007/JPEGImages/1176.jpg 171,387,1016,1442,3
VOCdevkit/VOC2007/JPEGImages/1178.jpg 22,158,1154,1653,3
VOCdevkit/VOC2007/JPEGImages/1179.jpg 140,389,993,1453,3
VOCdevkit/VOC2007/JPEGImages/118.jpg 14,8,93,116,3
VOCdevkit/VOC2007/JPEGImages/1180.jpg 51,505,991,1664,3
VOCdevkit/VOC2007/JPEGImages/1181.jpg 116,285,1065,1513,3
VOCdevkit/VOC2007/JPEGImages/1182.jpg 282,353,1196,1542,3
VOCdevkit/VOC2007/JPEGImages/1183.jpg 83,38,1276,1584,3
VOCdevkit/VOC2007/JPEGImages/1184.jpg 205,444,940,1331,3
VOCdevkit/VOC2007/JPEGImages/1185.jpg 13,62,1238,1647,3
VOCdevkit/VOC2007/JPEGImages/1186.jpg 22,54,1276,1676,3
VOCdevkit/VOC2007/JPEGImages/1187.jpg 29,44,1243,1676,3
VOCdevkit/VOC2007/JPEGImages/1188.jpg 7,56,1238,1693,3
VOCdevkit/VOC2007/JPEGImages/1189.jpg 20,99,1276,1504,3
VOCdevkit/VOC2007/JPEGImages/119.jpg 14,4,79,108,3
VOCdevkit/VOC2007/JPEGImages/1190.jpg 29,405,971,1451,3
VOCdevkit/VOC2007/JPEGImages/1191.jpg 85,373,1165,1551,3
VOCdevkit/VOC2007/JPEGImages/1192.jpg 107,118,1076,1596,3
VOCdevkit/VOC2007/JPEGImages/1193.jpg 134,218,918,1489,3
VOCdevkit/VOC2007/JPEGImages/1195.jpg 93,107,1209,1587,3
VOCdevkit/VOC2007/JPEGImages/1196.jpg
VOCdevkit/VOC2007/JPEGImages/1197.jpg
VOCdevkit/VOC2007/JPEGImages/1198.jpg
VOCdevkit/VOC2007/JPEGImages/1199.jpg
VOCdevkit/VOC2007/JPEGImages/12.jpg 44,53,202,243,1
VOCdevkit/VOC2007/JPEGImages/120.jpg 20,32,227,361,3
VOCdevkit/VOC2007/JPEGImages/1202.jpg 213,525,1043,1667,7
VOCdevkit/VOC2007/JPEGImages/1203.jpg 323,709,867,1573,7
VOCdevkit/VOC2007/JPEGImages/1204.jpg 151,469,927,1633,7
VOCdevkit/VOC2007/JPEGImages/1205.jpg 133,620,782,1622,7
VOCdevkit/VOC2007/JPEGImages/1206.jpg 63,256,934,1644,7
VOCdevkit/VOC2007/JPEGImages/1207.jpg 220,489,1000,1582,7
VOCdevkit/VOC2007/JPEGImages/1208.jpg 140,409,836,1476,7
VOCdevkit/VOC2007/JPEGImages/1209.jpg 58,231,914,1562,7
VOCdevkit/VOC2007/JPEGImages/121.jpg 33,44,155,181,3
VOCdevkit/VOC2007/JPEGImages/1210.jpg 73,329,920,1574,7
VOCdevkit/VOC2007/JPEGImages/1211.jpg 5,82,1038,1624,7
VOCdevkit/VOC2007/JPEGImages/1213.jpg 85,167,1127,1436,7
VOCdevkit/VOC2007/JPEGImages/1214.jpg 29,351,860,1494,7
VOCdevkit/VOC2007/JPEGImages/1216.jpg 7,433,754,1584,7
VOCdevkit/VOC2007/JPEGImages/1217.jpg 238,587,878,1424,7
VOCdevkit/VOC2007/JPEGImages/1218.jpg 174,538,865,1473,7
VOCdevkit/VOC2007/JPEGImages/1219.jpg 44,53,354,330,6
VOCdevkit/VOC2007/JPEGImages/122.jpg 39,37,329,405,3
VOCdevkit/VOC2007/JPEGImages/1220.jpg 47,320,652,749,6
VOCdevkit/VOC2007/JPEGImages/1221.jpg 260,1284,2840,3894,6
VOCdevkit/VOC2007/JPEGImages/1222.jpg 486,277,1211,947,6
VOCdevkit/VOC2007/JPEGImages/1223.jpg 168,64,311,292,7
VOCdevkit/VOC2007/JPEGImages/1224.jpg 43,11,475,487,6
VOCdevkit/VOC2007/JPEGImages/1225.jpg 111,117,550,465,6
VOCdevkit/VOC2007/JPEGImages/1226.jpg 41,316,651,774,6
VOCdevkit/VOC2007/JPEGImages/1227.jpg 202,197,458,367,6
VOCdevkit/VOC2007/JPEGImages/1228.jpg 302,180,678,497,6
VOCdevkit/VOC2007/JPEGImages/1229.jpg 595,241,1406,881,6
VOCdevkit/VOC2007/JPEGImages/123.jpg 10,27,148,154,3
VOCdevkit/VOC2007/JPEGImages/1230.jpg 1,202,485,993,6
VOCdevkit/VOC2007/JPEGImages/1231.jpg 29,229,560,732,6
VOCdevkit/VOC2007/JPEGImages/1232.jpg 185,1194,2745,3834,6
VOCdevkit/VOC2007/JPEGImages/1234.jpg 59,55,207,213,1
VOCdevkit/VOC2007/JPEGImages/1235.jpg 31,19,101,103,1
VOCdevkit/VOC2007/JPEGImages/1236.jpg 37,70,482,484,1
VOCdevkit/VOC2007/JPEGImages/1237.jpg 32,17,160,195,1
VOCdevkit/VOC2007/JPEGImages/1238.jpg 33,48,281,316,1
VOCdevkit/VOC2007/JPEGImages/1239.jpg 62,56,206,283,1
VOCdevkit/VOC2007/JPEGImages/124.jpg 30,25,200,235,3
VOCdevkit/VOC2007/JPEGImages/1240.jpg 33,58,303,307,1
VOCdevkit/VOC2007/JPEGImages/1241.jpg 25,43,160,193,1
VOCdevkit/VOC2007/JPEGImages/1242.jpg 9,7,78,74,1
VOCdevkit/VOC2007/JPEGImages/1243.jpg 11,10,70,88,1
VOCdevkit/VOC2007/JPEGImages/1244.jpg 27,28,103,117,1
VOCdevkit/VOC2007/JPEGImages/1247.jpg 31,18,214,310,1
VOCdevkit/VOC2007/JPEGImages/1248.jpg 23,41,216,255,1
VOCdevkit/VOC2007/JPEGImages/1249.jpg 29,19,343,316,1
VOCdevkit/VOC2007/JPEGImages/1250.jpg 12,10,56,83,1
VOCdevkit/VOC2007/JPEGImages/1251.jpg 28,28,79,84,1
VOCdevkit/VOC2007/JPEGImages/1252.jpg 8,8,75,69,1
VOCdevkit/VOC2007/JPEGImages/1253.jpg 36,39,144,120,1
VOCdevkit/VOC2007/JPEGImages/1254.jpg 26,27,98,116,1
VOCdevkit/VOC2007/JPEGImages/1255.jpg 17,13,130,149,1
VOCdevkit/VOC2007/JPEGImages/1256.jpg 5,1,172,179,1
VOCdevkit/VOC2007/JPEGImages/1257.jpg 16,4,114,102,1
VOCdevkit/VOC2007/JPEGImages/1259.jpg 33,27,110,130,1
VOCdevkit/VOC2007/JPEGImages/126.jpg 70,53,242,262,3
VOCdevkit/VOC2007/JPEGImages/1260.jpg 56,55,225,286,1
VOCdevkit/VOC2007/JPEGImages/1261.jpg 32,27,122,115,1
VOCdevkit/VOC2007/JPEGImages/1263.jpg 27,34,299,295,1
VOCdevkit/VOC2007/JPEGImages/1264.jpg 76,61,238,315,1
VOCdevkit/VOC2007/JPEGImages/1265.jpg 13,19,75,79,1
VOCdevkit/VOC2007/JPEGImages/1266.jpg 43,56,201,229,1
VOCdevkit/VOC2007/JPEGImages/1267.jpg 18,27,106,118,1
VOCdevkit/VOC2007/JPEGImages/1268.jpg 72,55,347,375,1
VOCdevkit/VOC2007/JPEGImages/1269.jpg 29,24,140,91,1
VOCdevkit/VOC2007/JPEGImages/127.jpg 11,7,86,74,3
VOCdevkit/VOC2007/JPEGImages/1270.jpg 51,60,229,214,1
VOCdevkit/VOC2007/JPEGImages/1271.jpg 32,38,117,130,1
VOCdevkit/VOC2007/JPEGImages/1272.jpg 55,32,166,229,1
VOCdevkit/VOC2007/JPEGImages/1273.jpg 50,51,243,279,1
VOCdevkit/VOC2007/JPEGImages/1274.jpg 32,38,139,126,1
VOCdevkit/VOC2007/JPEGImages/1275.jpg 83,57,244,335,1
VOCdevkit/VOC2007/JPEGImages/1276.jpg 68,69,260,307,1
VOCdevkit/VOC2007/JPEGImages/1277.jpg 40,10,96,125,1
VOCdevkit/VOC2007/JPEGImages/1278.jpg 15,19,203,163,1
VOCdevkit/VOC2007/JPEGImages/1279.jpg 14,7,86,81,1
VOCdevkit/VOC2007/JPEGImages/128.jpg 11,10,95,110,3
VOCdevkit/VOC2007/JPEGImages/1280.jpg 17,2,105,104,1
VOCdevkit/VOC2007/JPEGImages/1281.jpg 55,80,238,259,1
VOCdevkit/VOC2007/JPEGImages/1282.jpg 56,28,158,153,1
VOCdevkit/VOC2007/JPEGImages/1284.jpg 26,58,273,272,1
VOCdevkit/VOC2007/JPEGImages/1285.jpg 38,15,340,322,1
VOCdevkit/VOC2007/JPEGImages/1286.jpg 51,19,147,173,1
VOCdevkit/VOC2007/JPEGImages/1287.jpg 26,13,136,141,1
VOCdevkit/VOC2007/JPEGImages/1288.jpg 83,64,289,328,1
VOCdevkit/VOC2007/JPEGImages/1289.jpg 28,42,146,204,1
VOCdevkit/VOC2007/JPEGImages/129.jpg 26,74,296,426,3
VOCdevkit/VOC2007/JPEGImages/1290.jpg 70,48,196,282,1
VOCdevkit/VOC2007/JPEGImages/1291.jpg 28,30,115,123,1
VOCdevkit/VOC2007/JPEGImages/1292.jpg 14,26,111,143,1
VOCdevkit/VOC2007/JPEGImages/1293.jpg 13,4,116,153,1
VOCdevkit/VOC2007/JPEGImages/1295.jpg 64,88,354,419,1
VOCdevkit/VOC2007/JPEGImages/1296.jpg 24,6,101,111,1
VOCdevkit/VOC2007/JPEGImages/1297.jpg 70,66,324,388,1
VOCdevkit/VOC2007/JPEGImages/1298.jpg 9,3,76,84,1
VOCdevkit/VOC2007/JPEGImages/1299.jpg 21,18,87,105,1
VOCdevkit/VOC2007/JPEGImages/13.jpg 13,11,51,62,1
VOCdevkit/VOC2007/JPEGImages/130.jpg 9,6,152,234,3
VOCdevkit/VOC2007/JPEGImages/1300.jpg 30,36,128,162,1
VOCdevkit/VOC2007/JPEGImages/1301.jpg 12,13,78,89,1
VOCdevkit/VOC2007/JPEGImages/1302.jpg 53,58,502,395,1
VOCdevkit/VOC2007/JPEGImages/1303.jpg 14,9,88,94,1
VOCdevkit/VOC2007/JPEGImages/1304.jpg 75,43,392,466,1
VOCdevkit/VOC2007/JPEGImages/1305.jpg 69,72,469,549,1
VOCdevkit/VOC2007/JPEGImages/1306.jpg 37,60,252,307,1
VOCdevkit/VOC2007/JPEGImages/1307.jpg 16,27,105,115,1
VOCdevkit/VOC2007/JPEGImages/1308.jpg 32,26,167,163,1
VOCdevkit/VOC2007/JPEGImages/131.jpg 28,38,184,249,3
VOCdevkit/VOC2007/JPEGImages/1310.jpg 24,29,122,108,1
VOCdevkit/VOC2007/JPEGImages/1311.jpg 15,14,64,74,1
VOCdevkit/VOC2007/JPEGImages/1312.jpg 40,31,148,195,1
VOCdevkit/VOC2007/JPEGImages/1313.jpg 43,39,194,221,1
VOCdevkit/VOC2007/JPEGImages/1314.jpg 11,15,78,108,1
VOCdevkit/VOC2007/JPEGImages/1316.jpg 37,76,210,278,1
VOCdevkit/VOC2007/JPEGImages/1317.jpg 6,3,52,61,1
VOCdevkit/VOC2007/JPEGImages/1318.jpg 22,14,121,126,1
VOCdevkit/VOC2007/JPEGImages/1320.jpg 21,21,797,742,1
VOCdevkit/VOC2007/JPEGImages/1321.jpg 12,6,62,65,1
VOCdevkit/VOC2007/JPEGImages/1322.jpg 11,11,75,93,1
VOCdevkit/VOC2007/JPEGImages/1323.jpg 24,53,257,318,1
VOCdevkit/VOC2007/JPEGImages/1324.jpg 24,35,117,167,1
VOCdevkit/VOC2007/JPEGImages/1325.jpg 17,14,56,59,1
VOCdevkit/VOC2007/JPEGImages/1326.jpg 35,47,114,144,1
VOCdevkit/VOC2007/JPEGImages/1327.jpg 14,5,544,474,1
VOCdevkit/VOC2007/JPEGImages/1328.jpg 28,52,280,275,1
VOCdevkit/VOC2007/JPEGImages/1329.jpg 18,11,88,84,1
VOCdevkit/VOC2007/JPEGImages/133.jpg 17,38,181,291,3
VOCdevkit/VOC2007/JPEGImages/1330.jpg 38,11,146,147,1
VOCdevkit/VOC2007/JPEGImages/1331.jpg 44,47,227,272,1
VOCdevkit/VOC2007/JPEGImages/1332.jpg 50,5,449,324,1
VOCdevkit/VOC2007/JPEGImages/1333.jpg 34,50,280,318,1
VOCdevkit/VOC2007/JPEGImages/1334.jpg 54,35,187,176,5
VOCdevkit/VOC2007/JPEGImages/1335.jpg 4,3,142,149,5
VOCdevkit/VOC2007/JPEGImages/1336.jpg 32,8,164,140,5
VOCdevkit/VOC2007/JPEGImages/1338.jpg 52,43,564,581,5
VOCdevkit/VOC2007/JPEGImages/134.jpg 10,24,107,158,3
VOCdevkit/VOC2007/JPEGImages/1340.jpg 37,36,238,219,5
VOCdevkit/VOC2007/JPEGImages/1342.jpg 14,9,112,112,5
VOCdevkit/VOC2007/JPEGImages/1343.jpg 31,32,130,147,5
VOCdevkit/VOC2007/JPEGImages/1344.jpg 30,22,189,194,5
VOCdevkit/VOC2007/JPEGImages/1345.jpg 15,14,61,60,5
VOCdevkit/VOC2007/JPEGImages/1346.jpg 39,26,194,196,5
VOCdevkit/VOC2007/JPEGImages/1347.jpg 45,37,183,188,5
VOCdevkit/VOC2007/JPEGImages/1348.jpg 13,107,556,651,5
VOCdevkit/VOC2007/JPEGImages/1349.jpg 29,30,113,145,5
VOCdevkit/VOC2007/JPEGImages/135.jpg 24,9,84,122,3
VOCdevkit/VOC2007/JPEGImages/1350.jpg 26,74,246,325,5
VOCdevkit/VOC2007/JPEGImages/1352.jpg 12,5,245,267,5
VOCdevkit/VOC2007/JPEGImages/1353.jpg 11,9,263,299,5
VOCdevkit/VOC2007/JPEGImages/1354.jpg 10,4,66,64,5
VOCdevkit/VOC2007/JPEGImages/1355.jpg 30,48,282,300,5
VOCdevkit/VOC2007/JPEGImages/1356.jpg 12,9,126,121,5
VOCdevkit/VOC2007/JPEGImages/1357.jpg 18,17,264,321,5
VOCdevkit/VOC2007/JPEGImages/1358.jpg 16,8,190,225,5
VOCdevkit/VOC2007/JPEGImages/1359.jpg 2,13,125,109,6
VOCdevkit/VOC2007/JPEGImages/136.jpg 51,22,220,306,3
VOCdevkit/VOC2007/JPEGImages/1360.jpg 11,16,146,135,5
VOCdevkit/VOC2007/JPEGImages/1361.jpg 25,21,106,113,5
VOCdevkit/VOC2007/JPEGImages/1362.jpg 44,45,262,263,5
VOCdevkit/VOC2007/JPEGImages/1363.jpg 22,5,153,148,5
VOCdevkit/VOC2007/JPEGImages/1364.jpg 33,8,184,174,5
VOCdevkit/VOC2007/JPEGImages/1365.jpg 49,57,551,530,5
VOCdevkit/VOC2007/JPEGImages/1366.jpg 33,7,265,256,5
VOCdevkit/VOC2007/JPEGImages/1367.jpg 42,56,315,322,5
VOCdevkit/VOC2007/JPEGImages/1369.jpg 9,6,77,80,5
VOCdevkit/VOC2007/JPEGImages/137.jpg 27,33,269,315,3
VOCdevkit/VOC2007/JPEGImages/1370.jpg 34,1,241,268,5
VOCdevkit/VOC2007/JPEGImages/1372.jpg 5,4,244,252,5
VOCdevkit/VOC2007/JPEGImages/1373.jpg 18,7,248,220,5
VOCdevkit/VOC2007/JPEGImages/1374.jpg 23,5,105,97,5
VOCdevkit/VOC2007/JPEGImages/1375.jpg 23,5,247,271,5
VOCdevkit/VOC2007/JPEGImages/1376.jpg 24,14,242,224,5
VOCdevkit/VOC2007/JPEGImages/1377.jpg 34,45,302,294,5
VOCdevkit/VOC2007/JPEGImages/1378.jpg 26,34,307,262,5
VOCdevkit/VOC2007/JPEGImages/1379.jpg 17,1,205,217,5
VOCdevkit/VOC2007/JPEGImages/138.jpg 8,8,69,79,3
VOCdevkit/VOC2007/JPEGImages/1380.jpg 11,9,86,87,5
VOCdevkit/VOC2007/JPEGImages/1381.jpg 17,22,99,112,5
VOCdevkit/VOC2007/JPEGImages/1382.jpg 9,19,176,230,5
VOCdevkit/VOC2007/JPEGImages/1383.jpg 23,21,208,226,5
VOCdevkit/VOC2007/JPEGImages/1384.jpg 25,14,223,228,5
VOCdevkit/VOC2007/JPEGImages/1385.jpg 5,4,60,68,5
VOCdevkit/VOC2007/JPEGImages/1386.jpg 20,12,255,315,5
VOCdevkit/VOC2007/JPEGImages/1387.jpg 29,27,136,148,5
VOCdevkit/VOC2007/JPEGImages/1388.jpg 45,33,161,166,5
VOCdevkit/VOC2007/JPEGImages/1389.jpg 47,29,158,183,5
VOCdevkit/VOC2007/JPEGImages/139.jpg 48,19,167,171,3
VOCdevkit/VOC2007/JPEGImages/1390.jpg 18,47,289,288,5
VOCdevkit/VOC2007/JPEGImages/1391.jpg 20,26,112,117,5
VOCdevkit/VOC2007/JPEGImages/1392.jpg 53,61,313,329,5
VOCdevkit/VOC2007/JPEGImages/1394.jpg 13,17,92,88,5
VOCdevkit/VOC2007/JPEGImages/1395.jpg 6,9,52,52,5
VOCdevkit/VOC2007/JPEGImages/1396.jpg 28,40,258,279,5
VOCdevkit/VOC2007/JPEGImages/1397.jpg 21,17,329,302,5
VOCdevkit/VOC2007/JPEGImages/1398.jpg 42,59,298,322,5
VOCdevkit/VOC2007/JPEGImages/1399.jpg 26,12,372,297,5
VOCdevkit/VOC2007/JPEGImages/14.jpg 32,25,148,125,1
VOCdevkit/VOC2007/JPEGImages/1400.jpg 48,100,598,633,5
VOCdevkit/VOC2007/JPEGImages/1401.jpg 4,7,81,86,5
VOCdevkit/VOC2007/JPEGImages/1402.jpg 67,14,430,417,5
VOCdevkit/VOC2007/JPEGImages/1403.jpg 19,23,206,220,5
VOCdevkit/VOC2007/JPEGImages/1404.jpg 12,16,78,91,5
VOCdevkit/VOC2007/JPEGImages/1405.jpg 22,38,247,270,5
VOCdevkit/VOC2007/JPEGImages/1406.jpg 21,46,228,278,5
VOCdevkit/VOC2007/JPEGImages/1407.jpg 29,11,341,302,5
VOCdevkit/VOC2007/JPEGImages/1409.jpg 21,31,218,218,5
VOCdevkit/VOC2007/JPEGImages/141.jpg 48,33,216,233,3
VOCdevkit/VOC2007/JPEGImages/1410.jpg 29,33,140,159,5
VOCdevkit/VOC2007/JPEGImages/1411.jpg 21,33,240,246,5
VOCdevkit/VOC2007/JPEGImages/1412.jpg 30,44,178,246,7
VOCdevkit/VOC2007/JPEGImages/1413.jpg 38,51,201,242,7
VOCdevkit/VOC2007/JPEGImages/1414.jpg 40,40,99,116,7
VOCdevkit/VOC2007/JPEGImages/1416.jpg 13,43,177,252,7
VOCdevkit/VOC2007/JPEGImages/1417.jpg 25,60,187,250,7
VOCdevkit/VOC2007/JPEGImages/1418.jpg 39,51,208,250,7
VOCdevkit/VOC2007/JPEGImages/142.jpg 7,9,59,94,3
VOCdevkit/VOC2007/JPEGImages/1420.jpg 34,35,178,222,7
VOCdevkit/VOC2007/JPEGImages/1421.jpg 33,38,218,226,7
VOCdevkit/VOC2007/JPEGImages/1422.jpg 49,44,224,247,7
VOCdevkit/VOC2007/JPEGImages/1424.jpg 30,32,145,189,7
VOCdevkit/VOC2007/JPEGImages/1425.jpg 48,57,209,203,7
VOCdevkit/VOC2007/JPEGImages/1426.jpg 68,51,238,177,7
VOCdevkit/VOC2007/JPEGImages/1427.jpg 42,62,212,185,7
VOCdevkit/VOC2007/JPEGImages/1428.jpg 57,39,226,162,7
VOCdevkit/VOC2007/JPEGImages/1429.jpg 32,68,193,183,7
VOCdevkit/VOC2007/JPEGImages/143.jpg 16,9,68,84,3
VOCdevkit/VOC2007/JPEGImages/1430.jpg 42,49,196,165,7
VOCdevkit/VOC2007/JPEGImages/1431.jpg 53,53,333,484,7
VOCdevkit/VOC2007/JPEGImages/1432.jpg 17,6,51,59,7
VOCdevkit/VOC2007/JPEGImages/1433.jpg 21,8,63,69,7
VOCdevkit/VOC2007/JPEGImages/1434.jpg 10,9,44,52,7
VOCdevkit/VOC2007/JPEGImages/1435.jpg 72,22,393,597,7
VOCdevkit/VOC2007/JPEGImages/1436.jpg 4,2,34,45,7
VOCdevkit/VOC2007/JPEGImages/1437.jpg 20,9,69,82,7
VOCdevkit/VOC2007/JPEGImages/1439.jpg 89,61,354,395,7
VOCdevkit/VOC2007/JPEGImages/1440.jpg 25,47,130,215,7
VOCdevkit/VOC2007/JPEGImages/1441.jpg 42,26,126,148,7
VOCdevkit/VOC2007/JPEGImages/1442.jpg 70,51,266,350,7
VOCdevkit/VOC2007/JPEGImages/1443.jpg 133,63,436,498,7
VOCdevkit/VOC2007/JPEGImages/1444.jpg 49,78,301,414,7
VOCdevkit/VOC2007/JPEGImages/1445.jpg 95,89,351,416,7
VOCdevkit/VOC2007/JPEGImages/1446.jpg 101,103,361,409,7
VOCdevkit/VOC2007/JPEGImages/1448.jpg 33,26,89,105,7
VOCdevkit/VOC2007/JPEGImages/1449.jpg 34,59,174,220,7
VOCdevkit/VOC2007/JPEGImages/145.jpg 23,25,103,131,3
VOCdevkit/VOC2007/JPEGImages/1450.jpg 12,40,204,229,6
VOCdevkit/VOC2007/JPEGImages/1452.jpg 5,18,115,74,6
VOCdevkit/VOC2007/JPEGImages/1454.jpg 10,11,93,85,6
VOCdevkit/VOC2007/JPEGImages/1456.jpg 13,9,156,161,6
VOCdevkit/VOC2007/JPEGImages/1458.jpg 57,40,183,193,6
VOCdevkit/VOC2007/JPEGImages/1459.jpg 61,73,281,294,6
VOCdevkit/VOC2007/JPEGImages/146.jpg 16,5,110,180,3
VOCdevkit/VOC2007/JPEGImages/1460.jpg 32,51,258,236,6
VOCdevkit/VOC2007/JPEGImages/1461.jpg 54,72,295,274,6
VOCdevkit/VOC2007/JPEGImages/1462.jpg 55,37,161,146,6
VOCdevkit/VOC2007/JPEGImages/1463.jpg 4,5,71,54,6
VOCdevkit/VOC2007/JPEGImages/1464.jpg 23,32,116,108,6
VOCdevkit/VOC2007/JPEGImages/1465.jpg 30,45,155,138,6
VOCdevkit/VOC2007/JPEGImages/1466.jpg 36,49,251,232,6
VOCdevkit/VOC2007/JPEGImages/1467.jpg 4,4,69,67,6
VOCdevkit/VOC2007/JPEGImages/1468.jpg 3,6,67,54,6
VOCdevkit/VOC2007/JPEGImages/147.jpg 33,45,201,267,3
VOCdevkit/VOC2007/JPEGImages/1470.jpg 21,30,148,131,6
VOCdevkit/VOC2007/JPEGImages/1471.jpg 25,20,73,73,6
VOCdevkit/VOC2007/JPEGImages/1472.jpg 13,10,81,58,6
VOCdevkit/VOC2007/JPEGImages/1473.jpg 8,21,194,178,6
VOCdevkit/VOC2007/JPEGImages/1474.jpg 28,65,243,242,6
VOCdevkit/VOC2007/JPEGImages/1475.jpg 12,13,76,93,6
VOCdevkit/VOC2007/JPEGImages/1476.jpg 8,17,127,83,6
VOCdevkit/VOC2007/JPEGImages/1477.jpg 17,21,118,131,6
VOCdevkit/VOC2007/JPEGImages/1478.jpg 15,22,141,132,6
VOCdevkit/VOC2007/JPEGImages/1479.jpg 19,40,239,219,6
VOCdevkit/VOC2007/JPEGImages/148.jpg 12,8,92,107,3
VOCdevkit/VOC2007/JPEGImages/1480.jpg 9,18,75,58,6
VOCdevkit/VOC2007/JPEGImages/1482.jpg 6,3,103,99,6
VOCdevkit/VOC2007/JPEGImages/1483.jpg 57,33,212,244,6
VOCdevkit/VOC2007/JPEGImages/1484.jpg 114,944,2474,3200,6
VOCdevkit/VOC2007/JPEGImages/1485.jpg 174,932,2736,3000,6
VOCdevkit/VOC2007/JPEGImages/1487.jpg 306,1256,2466,3508,6
VOCdevkit/VOC2007/JPEGImages/1488.jpg 302,1264,2542,3136,6
VOCdevkit/VOC2007/JPEGImages/1489.jpg 306,1180,2506,3216,6
VOCdevkit/VOC2007/JPEGImages/149.jpg 18,29,131,171,3
VOCdevkit/VOC2007/JPEGImages/1490.jpg 266,1508,2130,3144,6
VOCdevkit/VOC2007/JPEGImages/1491.jpg 50,660,2002,2520,6
VOCdevkit/VOC2007/JPEGImages/1492.jpg 382,1136,2574,3216,6
VOCdevkit/VOC2007/JPEGImages/1494.jpg 118,1196,2362,2964,6
VOCdevkit/VOC2007/JPEGImages/1495.jpg 298,1164,2346,3068,6
VOCdevkit/VOC2007/JPEGImages/1496.jpg 414,1144,2266,3220,6
VOCdevkit/VOC2007/JPEGImages/1497.jpg 262,740,2290,3156,6
VOCdevkit/VOC2007/JPEGImages/1498.jpg 386,1176,2162,2996,6
VOCdevkit/VOC2007/JPEGImages/1499.jpg 350,1324,2394,3284,6
VOCdevkit/VOC2007/JPEGImages/15.jpg 14,6,56,66,1
VOCdevkit/VOC2007/JPEGImages/150.jpg 10,8,149,241,3
VOCdevkit/VOC2007/JPEGImages/1500.jpg 494,1436,2286,3192,6
VOCdevkit/VOC2007/JPEGImages/1501.jpg 654,1352,2050,3076,6
VOCdevkit/VOC2007/JPEGImages/1502.jpg 502,972,2206,3088,6
VOCdevkit/VOC2007/JPEGImages/1503.jpg 530,1684,1894,3256,6
VOCdevkit/VOC2007/JPEGImages/1504.jpg 66,1188,2442,2736,6
VOCdevkit/VOC2007/JPEGImages/1506.jpg 513,605,2510,2432,6
VOCdevkit/VOC2007/JPEGImages/1507.jpg 1436,282,3263,2485,6
VOCdevkit/VOC2007/JPEGImages/1508.jpg 106,1392,2634,3252,6
VOCdevkit/VOC2007/JPEGImages/1509.jpg 46,1700,2170,3100,6
VOCdevkit/VOC2007/JPEGImages/151.jpg 14,5,138,186,3
VOCdevkit/VOC2007/JPEGImages/1510.jpg 474,936,2682,3172,6
VOCdevkit/VOC2007/JPEGImages/1511.jpg 158,1568,2462,3160,6
VOCdevkit/VOC2007/JPEGImages/1512.jpg 30,912,2194,2904,6
VOCdevkit/VOC2007/JPEGImages/1513.jpg 658,1084,2606,2932,6
VOCdevkit/VOC2007/JPEGImages/1515.jpg 218,1484,1974,3136,6
VOCdevkit/VOC2007/JPEGImages/1516.jpg 966,1644,2562,3136,6
VOCdevkit/VOC2007/JPEGImages/1517.jpg 738,1632,2178,3568,6
VOCdevkit/VOC2007/JPEGImages/1518.jpg 370,1408,2018,3200,6
VOCdevkit/VOC2007/JPEGImages/1519.jpg 402,1532,1866,3124,6
VOCdevkit/VOC2007/JPEGImages/152.jpg 18,6,103,133,3
VOCdevkit/VOC2007/JPEGImages/1520.jpg 490,1364,2214,3104,6
VOCdevkit/VOC2007/JPEGImages/1521.jpg 766,1596,2346,3320,6
VOCdevkit/VOC2007/JPEGImages/1522.jpg 382,1548,1806,2908,6
VOCdevkit/VOC2007/JPEGImages/1523.jpg 858,1228,1966,2580,6
VOCdevkit/VOC2007/JPEGImages/1524.jpg 582,1584,2154,3020,6
VOCdevkit/VOC2007/JPEGImages/1525.jpg 258,1108,2578,2548,6
VOCdevkit/VOC2007/JPEGImages/1526.jpg 238,1596,1862,3412,6
VOCdevkit/VOC2007/JPEGImages/1527.jpg 604,170,2707,2479,6
VOCdevkit/VOC2007/JPEGImages/1528.jpg 328,202,2548,2470,6
VOCdevkit/VOC2007/JPEGImages/1529.jpg 90,1048,2250,3116,6
VOCdevkit/VOC2007/JPEGImages/1530.jpg 146,1028,2434,3188,6
VOCdevkit/VOC2007/JPEGImages/1532.jpg 82,1188,1734,3268,6
VOCdevkit/VOC2007/JPEGImages/1533.jpg 146,1112,2230,2824,6
VOCdevkit/VOC2007/JPEGImages/1534.jpg 270,1240,2346,3308,6
VOCdevkit/VOC2007/JPEGImages/1535.jpg 402,1584,2378,3580,6
VOCdevkit/VOC2007/JPEGImages/1536.jpg 54,35,151,169,7
VOCdevkit/VOC2007/JPEGImages/1537.jpg 286,159,633,733,7
VOCdevkit/VOC2007/JPEGImages/1539.jpg 23,222,1105,1502,5
VOCdevkit/VOC2007/JPEGImages/154.jpg 10,9,92,127,3
VOCdevkit/VOC2007/JPEGImages/1540.jpg 2,325,1143,1398,5
VOCdevkit/VOC2007/JPEGImages/1541.jpg 11,178,1182,1536,5
VOCdevkit/VOC2007/JPEGImages/1542.jpg 22,71,1260,1625,5
VOCdevkit/VOC2007/JPEGImages/1543.jpg 125,367,1160,1511,5
VOCdevkit/VOC2007/JPEGImages/1544.jpg 71,345,971,1307,5
VOCdevkit/VOC2007/JPEGImages/1545.jpg 209,318,1058,1462,5
VOCdevkit/VOC2007/JPEGImages/1546.jpg 63,673,951,1507,5
VOCdevkit/VOC2007/JPEGImages/1547.jpg 69,264,1183,1400,5
VOCdevkit/VOC2007/JPEGImages/1548.jpg 63,531,1182,1667,5
VOCdevkit/VOC2007/JPEGImages/1549.jpg 27,458,1140,1478,5
VOCdevkit/VOC2007/JPEGImages/1550.jpg 49,422,1058,1589,5
VOCdevkit/VOC2007/JPEGImages/1551.jpg 18,465,1111,1314,5
VOCdevkit/VOC2007/JPEGImages/1552.jpg 16,334,1189,1638,5
VOCdevkit/VOC2007/JPEGImages/1554.jpg 65,411,913,1522,5
VOCdevkit/VOC2007/JPEGImages/1555.jpg 262,380,1076,1605,5
VOCdevkit/VOC2007/JPEGImages/1556.jpg 142,424,914,1634,5
VOCdevkit/VOC2007/JPEGImages/1557.jpg 102,422,1269,1665,5
VOCdevkit/VOC2007/JPEGImages/1558.jpg 98,433,945,1647,5
VOCdevkit/VOC2007/JPEGImages/1559.jpg 9,253,1276,1656,5
VOCdevkit/VOC2007/JPEGImages/156.jpg 8,5,63,76,3
VOCdevkit/VOC2007/JPEGImages/1560.jpg 122,480,803,1509,7
VOCdevkit/VOC2007/JPEGImages/1561.jpg 236,522,878,1545,7
VOCdevkit/VOC2007/JPEGImages/1562.jpg 225,580,898,1514,7
VOCdevkit/VOC2007/JPEGImages/1563.jpg 289,629,887,1409,7
VOCdevkit/VOC2007/JPEGImages/1564.jpg 249,424,1023,1620,7
VOCdevkit/VOC2007/JPEGImages/1565.jpg 314,267,1045,1605,7
VOCdevkit/VOC2007/JPEGImages/1566.jpg 203,265,918,1533,7
VOCdevkit/VOC2007/JPEGImages/1567.jpg 113,389,951,1611,7
VOCdevkit/VOC2007/JPEGImages/1568.jpg 296,378,943,1507,7
VOCdevkit/VOC2007/JPEGImages/1569.jpg 273,636,982,1622,7
VOCdevkit/VOC2007/JPEGImages/157.jpg 7,5,61,71,3
VOCdevkit/VOC2007/JPEGImages/1571.jpg 147,244,989,1645,7
VOCdevkit/VOC2007/JPEGImages/1572.jpg 71,525,911,1476,7
VOCdevkit/VOC2007/JPEGImages/1573.jpg 211,520,871,1484,7
VOCdevkit/VOC2007/JPEGImages/1574.jpg 267,371,1033,1682,7
VOCdevkit/VOC2007/JPEGImages/1575.jpg 200,380,1000,1620,7
VOCdevkit/VOC2007/JPEGImages/1576.jpg 167,196,929,1664,7
VOCdevkit/VOC2007/JPEGImages/1577.jpg 187,404,847,1614,7
VOCdevkit/VOC2007/JPEGImages/1578.jpg 213,524,905,1591,7
VOCdevkit/VOC2007/JPEGImages/1579.jpg 209,334,929,1564,7
VOCdevkit/VOC2007/JPEGImages/158.jpg 17,8,114,116,3
VOCdevkit/VOC2007/JPEGImages/1580.jpg 162,165,1071,1564,7
VOCdevkit/VOC2007/JPEGImages/1581.jpg 183,398,834,1540,7
VOCdevkit/VOC2007/JPEGImages/1582.jpg 180,273,911,1440,7
VOCdevkit/VOC2007/JPEGImages/1583.jpg 154,260,1022,1460,7
VOCdevkit/VOC2007/JPEGImages/1584.jpg 280,353,914,1422,7
VOCdevkit/VOC2007/JPEGImages/1585.jpg 76,258,836,1391,7
VOCdevkit/VOC2007/JPEGImages/1586.jpg 133,211,869,1322,7
VOCdevkit/VOC2007/JPEGImages/1587.jpg 160,584,893,1533,7
VOCdevkit/VOC2007/JPEGImages/1588.jpg 151,302,987,1418,7
VOCdevkit/VOC2007/JPEGImages/1589.jpg 203,780,742,1574,7
VOCdevkit/VOC2007/JPEGImages/159.jpg 9,2,74,98,3
VOCdevkit/VOC2007/JPEGImages/1591.jpg 167,447,1003,1656,7
VOCdevkit/VOC2007/JPEGImages/1592.jpg 205,385,963,1536,7
VOCdevkit/VOC2007/JPEGImages/1593.jpg 198,391,1007,1556,7
VOCdevkit/VOC2007/JPEGImages/1594.jpg 194,440,922,1571,7
VOCdevkit/VOC2007/JPEGImages/1595.jpg 225,458,943,1500,7
VOCdevkit/VOC2007/JPEGImages/1596.jpg 149,393,905,1567,7
VOCdevkit/VOC2007/JPEGImages/1597.jpg 96,327,1014,1558,7
VOCdevkit/VOC2007/JPEGImages/1598.jpg 254,345,1176,1522,7
VOCdevkit/VOC2007/JPEGImages/1599.jpg 240,704,838,1564,7
VOCdevkit/VOC2007/JPEGImages/16.jpg 36,42,292,311,1
VOCdevkit/VOC2007/JPEGImages/160.jpg 13,11,75,77,3
VOCdevkit/VOC2007/JPEGImages/1600.jpg 378,654,983,1694,7
VOCdevkit/VOC2007/JPEGImages/161.jpg 31,23,149,163,3
VOCdevkit/VOC2007/JPEGImages/162.jpg 32,9,175,222,3
VOCdevkit/VOC2007/JPEGImages/163.jpg 5,5,106,135,3
VOCdevkit/VOC2007/JPEGImages/164.jpg 13,6,114,114,3
VOCdevkit/VOC2007/JPEGImages/165.jpg 10,1,79,84,3
VOCdevkit/VOC2007/JPEGImages/166.jpg 5,8,59,72,3
VOCdevkit/VOC2007/JPEGImages/168.jpg 14,4,90,105,3
VOCdevkit/VOC2007/JPEGImages/169.jpg 7,2,79,89,3
VOCdevkit/VOC2007/JPEGImages/17.jpg 19,21,70,72,1
VOCdevkit/VOC2007/JPEGImages/170.jpg 28,51,345,337,3
VOCdevkit/VOC2007/JPEGImages/171.jpg 28,36,178,222,3
VOCdevkit/VOC2007/JPEGImages/172.jpg 9,29,333,374,3
VOCdevkit/VOC2007/JPEGImages/173.jpg 6,2,89,120,3
VOCdevkit/VOC2007/JPEGImages/174.jpg 10,11,81,135,3
VOCdevkit/VOC2007/JPEGImages/175.jpg 8,18,93,144,3
VOCdevkit/VOC2007/JPEGImages/176.jpg 30,32,104,128,3
VOCdevkit/VOC2007/JPEGImages/177.jpg 16,28,144,200,3
VOCdevkit/VOC2007/JPEGImages/178.jpg 18,26,176,263,3
VOCdevkit/VOC2007/JPEGImages/18.jpg 41,19,416,492,1
VOCdevkit/VOC2007/JPEGImages/182.jpg 18,1,83,84,3
VOCdevkit/VOC2007/JPEGImages/183.jpg 14,8,81,110,3
VOCdevkit/VOC2007/JPEGImages/184.jpg 15,4,113,139,3
VOCdevkit/VOC2007/JPEGImages/185.jpg 9,11,149,159,3
VOCdevkit/VOC2007/JPEGImages/186.jpg 10,3,52,77,3
VOCdevkit/VOC2007/JPEGImages/187.jpg 13,3,74,95,3
VOCdevkit/VOC2007/JPEGImages/189.jpg 8,8,54,84,3
VOCdevkit/VOC2007/JPEGImages/19.jpg 17,55,218,138,1
VOCdevkit/VOC2007/JPEGImages/190.jpg 16,11,149,207,3
VOCdevkit/VOC2007/JPEGImages/193.jpg 11,9,69,106,3
VOCdevkit/VOC2007/JPEGImages/194.jpg 9,4,61,81,3
VOCdevkit/VOC2007/JPEGImages/195.jpg 25,9,191,359,3
VOCdevkit/VOC2007/JPEGImages/196.jpg 21,7,93,116,3
VOCdevkit/VOC2007/JPEGImages/197.jpg 11,2,92,103,3
VOCdevkit/VOC2007/JPEGImages/198.jpg 55,58,402,344,3
VOCdevkit/VOC2007/JPEGImages/199.jpg 13,8,62,100,3
VOCdevkit/VOC2007/JPEGImages/2.jpg 44,20,259,264,1
VOCdevkit/VOC2007/JPEGImages/200.jpg 28,5,130,175,3
VOCdevkit/VOC2007/JPEGImages/201.jpg 19,23,146,143,2
VOCdevkit/VOC2007/JPEGImages/202.jpg 31,26,161,199,2
VOCdevkit/VOC2007/JPEGImages/203.jpg 23,33,162,158,2
VOCdevkit/VOC2007/JPEGImages/204.jpg 28,8,230,330,2
VOCdevkit/VOC2007/JPEGImages/205.jpg 35,41,244,265,2
VOCdevkit/VOC2007/JPEGImages/206.jpg 10,1,255,305,2
VOCdevkit/VOC2007/JPEGImages/207.jpg 14,3,255,328,2
VOCdevkit/VOC2007/JPEGImages/208.jpg 17,26,107,133,2
VOCdevkit/VOC2007/JPEGImages/209.jpg 49,40,239,323,2
VOCdevkit/VOC2007/JPEGImages/21.jpg 35,6,464,343,1
VOCdevkit/VOC2007/JPEGImages/210.jpg 30,26,173,164,2
VOCdevkit/VOC2007/JPEGImages/212.jpg 71,32,248,362,2
VOCdevkit/VOC2007/JPEGImages/213.jpg 62,37,228,289,2
VOCdevkit/VOC2007/JPEGImages/214.jpg 22,4,100,111,2
VOCdevkit/VOC2007/JPEGImages/215.jpg 18,13,76,101,2
VOCdevkit/VOC2007/JPEGImages/216.jpg 14,4,113,113,2
VOCdevkit/VOC2007/JPEGImages/217.jpg 10,8,123,149,2
VOCdevkit/VOC2007/JPEGImages/218.jpg 35,24,100,110,2
VOCdevkit/VOC2007/JPEGImages/219.jpg 31,31,214,282,2
VOCdevkit/VOC2007/JPEGImages/22.jpg 12,8,87,86,1
VOCdevkit/VOC2007/JPEGImages/220.jpg 10,13,132,154,2
VOCdevkit/VOC2007/JPEGImages/221.jpg 54,7,328,385,2
VOCdevkit/VOC2007/JPEGImages/222.jpg 48,35,209,241,2
VOCdevkit/VOC2007/JPEGImages/223.jpg 27,19,98,103,2
VOCdevkit/VOC2007/JPEGImages/224.jpg 40,43,235,317,2
VOCdevkit/VOC2007/JPEGImages/225.jpg 45,8,306,403,2
VOCdevkit/VOC2007/JPEGImages/226.jpg 57,48,205,245,2
VOCdevkit/VOC2007/JPEGImages/227.jpg 6,8,78,86,2
VOCdevkit/VOC2007/JPEGImages/228.jpg 24,25,126,136,2
VOCdevkit/VOC2007/JPEGImages/230.jpg 11,3,114,153,2
VOCdevkit/VOC2007/JPEGImages/231.jpg 24,4,85,96,2
VOCdevkit/VOC2007/JPEGImages/232.jpg 57,45,254,289,2
VOCdevkit/VOC2007/JPEGImages/233.jpg 11,5,96,124,2
VOCdevkit/VOC2007/JPEGImages/234.jpg 2,6,107,128,2
VOCdevkit/VOC2007/JPEGImages/235.jpg 32,29,133,185,2
VOCdevkit/VOC2007/JPEGImages/236.jpg 30,8,109,138,2
VOCdevkit/VOC2007/JPEGImages/237.jpg 42,30,154,178,2
VOCdevkit/VOC2007/JPEGImages/238.jpg 15,17,129,129,2
VOCdevkit/VOC2007/JPEGImages/239.jpg 58,26,161,213,2
VOCdevkit/VOC2007/JPEGImages/24.jpg 3,1,62,75,1
VOCdevkit/VOC2007/JPEGImages/240.jpg 23,14,198,194,2
VOCdevkit/VOC2007/JPEGImages/241.jpg 19,20,275,273,2
VOCdevkit/VOC2007/JPEGImages/242.jpg 48,31,191,235,2
VOCdevkit/VOC2007/JPEGImages/243.jpg 18,14,67,80,2
VOCdevkit/VOC2007/JPEGImages/244.jpg 61,16,333,447,2
VOCdevkit/VOC2007/JPEGImages/245.jpg 13,10,123,166,2
VOCdevkit/VOC2007/JPEGImages/246.jpg 28,30,164,203,2
VOCdevkit/VOC2007/JPEGImages/247.jpg 34,40,165,204,2
VOCdevkit/VOC2007/JPEGImages/25.jpg 52,53,177,222,1
VOCdevkit/VOC2007/JPEGImages/250.jpg 20,21,149,142,2
VOCdevkit/VOC2007/JPEGImages/251.jpg 27,5,136,186,2
VOCdevkit/VOC2007/JPEGImages/252.jpg 30,1,148,169,2
VOCdevkit/VOC2007/JPEGImages/253.jpg 6,4,117,136,2
VOCdevkit/VOC2007/JPEGImages/254.jpg 32,30,220,240,2
VOCdevkit/VOC2007/JPEGImages/255.jpg 31,29,138,183,2
VOCdevkit/VOC2007/JPEGImages/256.jpg 30,25,99,142,2
VOCdevkit/VOC2007/JPEGImages/257.jpg 36,26,125,151,2
VOCdevkit/VOC2007/JPEGImages/258.jpg 14,22,120,121,2
VOCdevkit/VOC2007/JPEGImages/259.jpg 27,37,180,189,2
VOCdevkit/VOC2007/JPEGImages/26.jpg 38,41,146,183,1
VOCdevkit/VOC2007/JPEGImages/260.jpg 27,25,127,165,2
VOCdevkit/VOC2007/JPEGImages/261.jpg 67,49,206,263,2
VOCdevkit/VOC2007/JPEGImages/262.jpg 117,14,463,480,2
VOCdevkit/VOC2007/JPEGImages/263.jpg 25,10,115,149,2
VOCdevkit/VOC2007/JPEGImages/265.jpg 11,10,138,149,2
VOCdevkit/VOC2007/JPEGImages/266.jpg 13,5,125,179,2
VOCdevkit/VOC2007/JPEGImages/267.jpg 39,20,112,140,2
VOCdevkit/VOC2007/JPEGImages/268.jpg 42,32,185,244,2
VOCdevkit/VOC2007/JPEGImages/269.jpg 1,4,166,222,2
VOCdevkit/VOC2007/JPEGImages/27.jpg 38,28,131,174,1
VOCdevkit/VOC2007/JPEGImages/270.jpg 19,13,151,184,2
VOCdevkit/VOC2007/JPEGImages/271.jpg 36,27,242,307,2
VOCdevkit/VOC2007/JPEGImages/272.jpg 18,19,104,118,2
VOCdevkit/VOC2007/JPEGImages/273.jpg 70,8,250,286,2
VOCdevkit/VOC2007/JPEGImages/274.jpg 44,21,141,170,2
VOCdevkit/VOC2007/JPEGImages/275.jpg 58,45,332,417,2
VOCdevkit/VOC2007/JPEGImages/276.jpg 22,16,312,412,2
VOCdevkit/VOC2007/JPEGImages/277.jpg 49,40,220,292,2
VOCdevkit/VOC2007/JPEGImages/278.jpg 37,34,104,143,2
VOCdevkit/VOC2007/JPEGImages/279.jpg 38,7,154,189,2
VOCdevkit/VOC2007/JPEGImages/28.jpg 18,47,295,320,1
VOCdevkit/VOC2007/JPEGImages/280.jpg 19,5,103,129,2
VOCdevkit/VOC2007/JPEGImages/281.jpg 23,18,116,149,2
VOCdevkit/VOC2007/JPEGImages/284.jpg 36,18,178,138,2
VOCdevkit/VOC2007/JPEGImages/285.jpg 21,8,167,181,2
VOCdevkit/VOC2007/JPEGImages/286.jpg 39,20,118,153,2
VOCdevkit/VOC2007/JPEGImages/287.jpg 43,35,135,160,2
VOCdevkit/VOC2007/JPEGImages/288.jpg 20,4,124,125,2
VOCdevkit/VOC2007/JPEGImages/291.jpg 26,18,104,128,2
VOCdevkit/VOC2007/JPEGImages/294.jpg 23,7,220,288,2
VOCdevkit/VOC2007/JPEGImages/295.jpg 14,25,106,145,2
VOCdevkit/VOC2007/JPEGImages/296.jpg 58,8,479,489,2
VOCdevkit/VOC2007/JPEGImages/297.jpg 41,32,161,172,2
VOCdevkit/VOC2007/JPEGImages/298.jpg 9,1,243,387,2
VOCdevkit/VOC2007/JPEGImages/299.jpg 47,5,284,316,2
VOCdevkit/VOC2007/JPEGImages/3.jpg 30,59,261,297,1
VOCdevkit/VOC2007/JPEGImages/30.jpg 45,31,150,152,1
VOCdevkit/VOC2007/JPEGImages/300.jpg 11,8,158,194,2
VOCdevkit/VOC2007/JPEGImages/301.jpg 36,10,123,160,0
VOCdevkit/VOC2007/JPEGImages/302.jpg 24,1,150,267,0
VOCdevkit/VOC2007/JPEGImages/303.jpg 68,28,198,240,0
VOCdevkit/VOC2007/JPEGImages/304.jpg 56,35,179,196,0
VOCdevkit/VOC2007/JPEGImages/305.jpg 38,23,105,130,0
VOCdevkit/VOC2007/JPEGImages/306.jpg 42,35,133,132,0
VOCdevkit/VOC2007/JPEGImages/307.jpg 80,54,272,308,0
VOCdevkit/VOC2007/JPEGImages/308.jpg 35,32,103,148,0
VOCdevkit/VOC2007/JPEGImages/309.jpg 119,83,316,430,0
VOCdevkit/VOC2007/JPEGImages/31.jpg 17,8,114,110,1
VOCdevkit/VOC2007/JPEGImages/310.jpg 59,11,215,258,0
VOCdevkit/VOC2007/JPEGImages/311.jpg 60,69,236,294,0
VOCdevkit/VOC2007/JPEGImages/312.jpg 54,34,200,281,0
VOCdevkit/VOC2007/JPEGImages/313.jpg 20,31,112,98,0
VOCdevkit/VOC2007/JPEGImages/314.jpg 55,43,199,283,0
VOCdevkit/VOC2007/JPEGImages/315.jpg 35,22,143,205,0
VOCdevkit/VOC2007/JPEGImages/316.jpg 42,47,167,220,0
VOCdevkit/VOC2007/JPEGImages/317.jpg 31,31,103,106,0
VOCdevkit/VOC2007/JPEGImages/318.jpg 44,101,283,221,0
VOCdevkit/VOC2007/JPEGImages/319.jpg 28,15,94,111,0
VOCdevkit/VOC2007/JPEGImages/32.jpg 12,4,93,95,1
VOCdevkit/VOC2007/JPEGImages/320.jpg 36,10,107,118,0
VOCdevkit/VOC2007/JPEGImages/321.jpg 41,37,137,210,0
VOCdevkit/VOC2007/JPEGImages/322.jpg 38,36,191,210,0
VOCdevkit/VOC2007/JPEGImages/323.jpg 46,15,123,152,0
VOCdevkit/VOC2007/JPEGImages/324.jpg 42,27,138,194,0
VOCdevkit/VOC2007/JPEGImages/325.jpg 8,4,100,168,0
VOCdevkit/VOC2007/JPEGImages/326.jpg 71,21,206,257,0
VOCdevkit/VOC2007/JPEGImages/327.jpg 58,43,207,260,0
VOCdevkit/VOC2007/JPEGImages/328.jpg 118,188,482,503,0
VOCdevkit/VOC2007/JPEGImages/329.jpg 48,67,277,307,0
VOCdevkit/VOC2007/JPEGImages/33.jpg 36,29,131,169,1
VOCdevkit/VOC2007/JPEGImages/330.jpg 23,18,95,156,0
VOCdevkit/VOC2007/JPEGImages/331.jpg 111,28,350,453,0
VOCdevkit/VOC2007/JPEGImages/332.jpg 91,37,242,288,0
VOCdevkit/VOC2007/JPEGImages/334.jpg 38,23,186,214,0
VOCdevkit/VOC2007/JPEGImages/335.jpg 25,13,154,282,0
VOCdevkit/VOC2007/JPEGImages/337.jpg 129,426,1126,1124,0
VOCdevkit/VOC2007/JPEGImages/338.jpg 56,18,164,186,0
VOCdevkit/VOC2007/JPEGImages/339.jpg 33,43,159,152,0
VOCdevkit/VOC2007/JPEGImages/34.jpg 28,19,125,139,1
VOCdevkit/VOC2007/JPEGImages/340.jpg 30,4,78,96,0
VOCdevkit/VOC2007/JPEGImages/341.jpg 35,29,88,128,0
VOCdevkit/VOC2007/JPEGImages/342.jpg 69,48,264,306,0
VOCdevkit/VOC2007/JPEGImages/343.jpg 33,19,89,102,0
VOCdevkit/VOC2007/JPEGImages/344.jpg 73,57,228,315,0
VOCdevkit/VOC2007/JPEGImages/345.jpg 21,11,56,56,0
VOCdevkit/VOC2007/JPEGImages/346.jpg 52,20,130,118,0
VOCdevkit/VOC2007/JPEGImages/347.jpg 50,43,155,227,0
VOCdevkit/VOC2007/JPEGImages/348.jpg 67,12,258,285,0
VOCdevkit/VOC2007/JPEGImages/349.jpg 32,59,190,219,0
VOCdevkit/VOC2007/JPEGImages/35.jpg 56,58,267,331,1
VOCdevkit/VOC2007/JPEGImages/350.jpg 13,12,63,106,0
VOCdevkit/VOC2007/JPEGImages/351.jpg 56,43,220,286,0
VOCdevkit/VOC2007/JPEGImages/353.jpg 32,9,87,99,0
VOCdevkit/VOC2007/JPEGImages/354.jpg 34,51,109,95,0
VOCdevkit/VOC2007/JPEGImages/355.jpg 23,54,88,120,0
VOCdevkit/VOC2007/JPEGImages/356.jpg 52,43,182,270,0
VOCdevkit/VOC2007/JPEGImages/357.jpg 42,67,290,262,0
VOCdevkit/VOC2007/JPEGImages/358.jpg 29,38,143,109,0
VOCdevkit/VOC2007/JPEGImages/36.jpg 18,12,57,58,1
VOCdevkit/VOC2007/JPEGImages/360.jpg 43,12,457,314,0
VOCdevkit/VOC2007/JPEGImages/361.jpg 49,44,167,249,0
VOCdevkit/VOC2007/JPEGImages/362.jpg 52,15,375,599,0
VOCdevkit/VOC2007/JPEGImages/363.jpg 55,45,142,169,0
VOCdevkit/VOC2007/JPEGImages/364.jpg 104,49,240,279,0
VOCdevkit/VOC2007/JPEGImages/365.jpg 42,122,514,423,0
VOCdevkit/VOC2007/JPEGImages/366.jpg 31,47,194,123,0
VOCdevkit/VOC2007/JPEGImages/367.jpg 63,38,204,298,0
VOCdevkit/VOC2007/JPEGImages/368.jpg 42,24,102,91,0
VOCdevkit/VOC2007/JPEGImages/369.jpg 29,43,111,189,0
VOCdevkit/VOC2007/JPEGImages/37.jpg 20,13,74,90,1
VOCdevkit/VOC2007/JPEGImages/370.jpg 11,1,103,143,0
VOCdevkit/VOC2007/JPEGImages/371.jpg 58,56,162,158,0
VOCdevkit/VOC2007/JPEGImages/372.jpg 34,47,218,269,0
VOCdevkit/VOC2007/JPEGImages/373.jpg 43,38,152,114,0
VOCdevkit/VOC2007/JPEGImages/374.jpg 54,30,125,178,0
VOCdevkit/VOC2007/JPEGImages/375.jpg 39,51,178,178,0
VOCdevkit/VOC2007/JPEGImages/376.jpg 60,57,266,344,0
VOCdevkit/VOC2007/JPEGImages/377.jpg 43,20,207,265,0
VOCdevkit/VOC2007/JPEGImages/378.jpg 78,25,181,205,0
VOCdevkit/VOC2007/JPEGImages/379.jpg 36,10,138,189,0
VOCdevkit/VOC2007/JPEGImages/38.jpg 38,49,211,228,1
VOCdevkit/VOC2007/JPEGImages/380.jpg 18,30,189,169,0
VOCdevkit/VOC2007/JPEGImages/382.jpg 40,15,224,188,0
VOCdevkit/VOC2007/JPEGImages/383.jpg 20,4,166,266,0
VOCdevkit/VOC2007/JPEGImages/384.jpg 21,3,97,154,0
VOCdevkit/VOC2007/JPEGImages/385.jpg 36,47,107,158,0
VOCdevkit/VOC2007/JPEGImages/386.jpg 18,5,73,95,0
VOCdevkit/VOC2007/JPEGImages/387.jpg 41,53,183,247,0
VOCdevkit/VOC2007/JPEGImages/388.jpg 47,9,105,132,0
VOCdevkit/VOC2007/JPEGImages/389.jpg 28,30,105,117,0
VOCdevkit/VOC2007/JPEGImages/39.jpg 25,7,77,76,1
VOCdevkit/VOC2007/JPEGImages/390.jpg 44,15,182,248,0
VOCdevkit/VOC2007/JPEGImages/391.jpg 16,20,72,71,0
VOCdevkit/VOC2007/JPEGImages/392.jpg 39,47,185,126,0
VOCdevkit/VOC2007/JPEGImages/393.jpg 42,34,116,150,0
VOCdevkit/VOC2007/JPEGImages/394.jpg 63,53,179,224,0
VOCdevkit/VOC2007/JPEGImages/395.jpg 10,12,78,123,0
VOCdevkit/VOC2007/JPEGImages/396.jpg 152,29,289,279,0
VOCdevkit/VOC2007/JPEGImages/397.jpg 65,14,196,252,0
VOCdevkit/VOC2007/JPEGImages/398.jpg 19,8,47,56,0
VOCdevkit/VOC2007/JPEGImages/399.jpg 33,15,159,223,0
VOCdevkit/VOC2007/JPEGImages/4.jpg 44,45,264,256,1
VOCdevkit/VOC2007/JPEGImages/40.jpg 31,30,268,325,1
VOCdevkit/VOC2007/JPEGImages/400.jpg 29,39,117,141,0
VOCdevkit/VOC2007/JPEGImages/401.jpg 14,5,78,86,4
VOCdevkit/VOC2007/JPEGImages/402.jpg 65,13,321,300,4
VOCdevkit/VOC2007/JPEGImages/404.jpg 41,26,94,97,4
VOCdevkit/VOC2007/JPEGImages/405.jpg 14,7,122,129,4
VOCdevkit/VOC2007/JPEGImages/406.jpg 86,79,227,243,4
VOCdevkit/VOC2007/JPEGImages/407.jpg 38,72,179,194,4
VOCdevkit/VOC2007/JPEGImages/408.jpg 50,58,173,172,4
VOCdevkit/VOC2007/JPEGImages/409.jpg 20,57,403,384,4
VOCdevkit/VOC2007/JPEGImages/41.jpg 16,42,281,328,1
VOCdevkit/VOC2007/JPEGImages/410.jpg 34,65,209,208,4
VOCdevkit/VOC2007/JPEGImages/411.jpg 59,69,191,184,4
VOCdevkit/VOC2007/JPEGImages/412.jpg 86,52,189,193,4
VOCdevkit/VOC2007/JPEGImages/413.jpg 69,25,347,444,4
VOCdevkit/VOC2007/JPEGImages/414.jpg 13,7,95,90,4
VOCdevkit/VOC2007/JPEGImages/415.jpg 31,29,184,209,4
VOCdevkit/VOC2007/JPEGImages/416.jpg 9,14,147,140,4
VOCdevkit/VOC2007/JPEGImages/417.jpg 22,11,282,261,4
VOCdevkit/VOC2007/JPEGImages/418.jpg 12,13,324,370,4
VOCdevkit/VOC2007/JPEGImages/419.jpg 37,26,108,119,4
VOCdevkit/VOC2007/JPEGImages/42.jpg 20,23,123,156,1
VOCdevkit/VOC2007/JPEGImages/420.jpg 36,18,81,81,4
VOCdevkit/VOC2007/JPEGImages/421.jpg 60,48,198,202,4
VOCdevkit/VOC2007/JPEGImages/422.jpg 3,4,59,53,4
VOCdevkit/VOC2007/JPEGImages/423.jpg 38,38,154,188,4
VOCdevkit/VOC2007/JPEGImages/425.jpg 50,42,140,158,4
VOCdevkit/VOC2007/JPEGImages/426.jpg 12,39,208,253,4
VOCdevkit/VOC2007/JPEGImages/427.jpg 20,14,76,66,4
VOCdevkit/VOC2007/JPEGImages/428.jpg 29,50,120,127,4
VOCdevkit/VOC2007/JPEGImages/429.jpg 31,28,99,115,4
VOCdevkit/VOC2007/JPEGImages/43.jpg 21,19,55,63,1
VOCdevkit/VOC2007/JPEGImages/430.jpg 21,16,93,99,4
VOCdevkit/VOC2007/JPEGImages/431.jpg 36,21,250,198,4
VOCdevkit/VOC2007/JPEGImages/432.jpg 37,53,159,195,4
VOCdevkit/VOC2007/JPEGImages/433.jpg 41,45,138,148,4
VOCdevkit/VOC2007/JPEGImages/434.jpg 40,60,158,153,4
VOCdevkit/VOC2007/JPEGImages/436.jpg 65,55,152,161,4
VOCdevkit/VOC2007/JPEGImages/437.jpg 25,29,155,166,4
VOCdevkit/VOC2007/JPEGImages/438.jpg 44,9,224,210,4
VOCdevkit/VOC2007/JPEGImages/439.jpg 25,19,92,107,4
VOCdevkit/VOC2007/JPEGImages/44.jpg 11,12,62,64,1
VOCdevkit/VOC2007/JPEGImages/440.jpg 43,53,140,151,4
VOCdevkit/VOC2007/JPEGImages/441.jpg 57,8,267,248,4
VOCdevkit/VOC2007/JPEGImages/442.jpg 10,23,197,207,4
VOCdevkit/VOC2007/JPEGImages/443.jpg 13,12,115,107,4
VOCdevkit/VOC2007/JPEGImages/444.jpg 40,29,138,137,4
VOCdevkit/VOC2007/JPEGImages/445.jpg 52,51,228,203,4
VOCdevkit/VOC2007/JPEGImages/446.jpg 50,59,182,183,4
VOCdevkit/VOC2007/JPEGImages/447.jpg 58,34,191,174,4
VOCdevkit/VOC2007/JPEGImages/448.jpg 38,20,124,102,4
VOCdevkit/VOC2007/JPEGImages/449.jpg 29,22,208,209,4
VOCdevkit/VOC2007/JPEGImages/45.jpg 23,43,108,127,1
VOCdevkit/VOC2007/JPEGImages/450.jpg 22,27,63,70,4
VOCdevkit/VOC2007/JPEGImages/451.jpg 46,41,124,112,4
VOCdevkit/VOC2007/JPEGImages/452.jpg 48,68,198,206,4
VOCdevkit/VOC2007/JPEGImages/453.jpg 18,11,67,60,4
VOCdevkit/VOC2007/JPEGImages/454.jpg 24,42,101,121,4
VOCdevkit/VOC2007/JPEGImages/455.jpg 19,22,166,152,4
VOCdevkit/VOC2007/JPEGImages/457.jpg 45,22,347,419,4
VOCdevkit/VOC2007/JPEGImages/458.jpg 28,19,369,361,4
VOCdevkit/VOC2007/JPEGImages/459.jpg 24,14,94,120,4
VOCdevkit/VOC2007/JPEGImages/46.jpg 25,40,119,98,1
VOCdevkit/VOC2007/JPEGImages/461.jpg 79,58,395,407,4
VOCdevkit/VOC2007/JPEGImages/462.jpg 31,29,87,97,4
VOCdevkit/VOC2007/JPEGImages/464.jpg 65,36,193,163,4
VOCdevkit/VOC2007/JPEGImages/465.jpg 43,26,121,125,4
VOCdevkit/VOC2007/JPEGImages/466.jpg 27,16,78,87,4
VOCdevkit/VOC2007/JPEGImages/467.jpg 28,21,95,89,4
VOCdevkit/VOC2007/JPEGImages/468.jpg 78,81,285,288,4
VOCdevkit/VOC2007/JPEGImages/47.jpg 3,7,81,84,1
VOCdevkit/VOC2007/JPEGImages/470.jpg 53,14,247,256,4
VOCdevkit/VOC2007/JPEGImages/471.jpg 18,7,130,148,4
VOCdevkit/VOC2007/JPEGImages/472.jpg 42,28,144,130,4
VOCdevkit/VOC2007/JPEGImages/473.jpg 8,9,152,143,4
VOCdevkit/VOC2007/JPEGImages/474.jpg 5,9,91,128,4
VOCdevkit/VOC2007/JPEGImages/475.jpg 25,27,241,253,4
VOCdevkit/VOC2007/JPEGImages/476.jpg 24,15,194,207,4
VOCdevkit/VOC2007/JPEGImages/477.jpg 84,64,482,417,4
VOCdevkit/VOC2007/JPEGImages/478.jpg 35,28,144,135,4
VOCdevkit/VOC2007/JPEGImages/479.jpg 36,24,117,110,4
VOCdevkit/VOC2007/JPEGImages/48.jpg 75,30,345,421,1
VOCdevkit/VOC2007/JPEGImages/480.jpg 19,36,237,216,4
VOCdevkit/VOC2007/JPEGImages/481.jpg 34,43,133,114,4
VOCdevkit/VOC2007/JPEGImages/482.jpg 1,12,233,294,4
VOCdevkit/VOC2007/JPEGImages/483.jpg 42,40,198,217,4
VOCdevkit/VOC2007/JPEGImages/484.jpg 23,27,88,81,4
VOCdevkit/VOC2007/JPEGImages/485.jpg 46,48,126,146,4
VOCdevkit/VOC2007/JPEGImages/486.jpg 23,19,72,81,4
VOCdevkit/VOC2007/JPEGImages/487.jpg 24,24,102,113,4
VOCdevkit/VOC2007/JPEGImages/488.jpg 24,18,229,192,4
VOCdevkit/VOC2007/JPEGImages/489.jpg 18,23,62,60,4
VOCdevkit/VOC2007/JPEGImages/49.jpg 57,41,190,267,1
VOCdevkit/VOC2007/JPEGImages/490.jpg 30,20,122,136,4
VOCdevkit/VOC2007/JPEGImages/491.jpg 29,24,98,106,4
VOCdevkit/VOC2007/JPEGImages/492.jpg 16,25,78,80,4
VOCdevkit/VOC2007/JPEGImages/493.jpg 120,70,444,312,4
VOCdevkit/VOC2007/JPEGImages/494.jpg 14,17,306,279,4
VOCdevkit/VOC2007/JPEGImages/495.jpg 15,20,59,58,4
VOCdevkit/VOC2007/JPEGImages/496.jpg 17,39,382,288,4
VOCdevkit/VOC2007/JPEGImages/497.jpg 96,35,494,398,4
VOCdevkit/VOC2007/JPEGImages/498.jpg 37,61,238,234,4
VOCdevkit/VOC2007/JPEGImages/499.jpg 46,49,133,142,4
VOCdevkit/VOC2007/JPEGImages/5.jpg 31,19,152,167,1
VOCdevkit/VOC2007/JPEGImages/50.jpg 36,33,157,201,1
VOCdevkit/VOC2007/JPEGImages/500.jpg 58,43,151,173,4
VOCdevkit/VOC2007/JPEGImages/501.jpg 19,11,273,295,5
VOCdevkit/VOC2007/JPEGImages/502.jpg 17,8,206,170,5
VOCdevkit/VOC2007/JPEGImages/503.jpg 7,12,191,204,5
VOCdevkit/VOC2007/JPEGImages/504.jpg 22,15,236,232,5
VOCdevkit/VOC2007/JPEGImages/505.jpg 9,35,352,387,5
VOCdevkit/VOC2007/JPEGImages/506.jpg 35,56,345,400,5
VOCdevkit/VOC2007/JPEGImages/507.jpg 46,27,229,235,5
VOCdevkit/VOC2007/JPEGImages/508.jpg 22,14,90,83,5
VOCdevkit/VOC2007/JPEGImages/509.jpg 26,30,218,193,5
VOCdevkit/VOC2007/JPEGImages/51.jpg 1,1,137,165,1
VOCdevkit/VOC2007/JPEGImages/512.jpg 35,44,249,255,5
VOCdevkit/VOC2007/JPEGImages/513.jpg 50,39,329,393,5
VOCdevkit/VOC2007/JPEGImages/514.jpg 48,40,335,351,5
VOCdevkit/VOC2007/JPEGImages/515.jpg 16,17,183,207,5
VOCdevkit/VOC2007/JPEGImages/516.jpg 22,9,220,222,5
VOCdevkit/VOC2007/JPEGImages/517.jpg 28,8,159,157,5
VOCdevkit/VOC2007/JPEGImages/518.jpg 23,26,184,224,5
VOCdevkit/VOC2007/JPEGImages/519.jpg 23,28,279,257,5
VOCdevkit/VOC2007/JPEGImages/520.jpg 26,18,145,143,5
VOCdevkit/VOC2007/JPEGImages/521.jpg 42,24,283,295,5
VOCdevkit/VOC2007/JPEGImages/522.jpg 25,29,164,174,5
VOCdevkit/VOC2007/JPEGImages/523.jpg 13,19,223,233,5
VOCdevkit/VOC2007/JPEGImages/524.jpg 12,17,272,304,5
VOCdevkit/VOC2007/JPEGImages/526.jpg 60,39,274,219,5
VOCdevkit/VOC2007/JPEGImages/527.jpg 39,26,186,235,5
VOCdevkit/VOC2007/JPEGImages/528.jpg 19,8,140,122,5
VOCdevkit/VOC2007/JPEGImages/529.jpg 34,27,270,261,5
VOCdevkit/VOC2007/JPEGImages/53.jpg 38,47,179,149,1
VOCdevkit/VOC2007/JPEGImages/530.jpg 48,35,439,434,5
VOCdevkit/VOC2007/JPEGImages/532.jpg 41,4,351,253,5
VOCdevkit/VOC2007/JPEGImages/533.jpg 28,39,227,213,5
VOCdevkit/VOC2007/JPEGImages/534.jpg 29,38,204,218,5
VOCdevkit/VOC2007/JPEGImages/536.jpg 20,16,240,243,5
VOCdevkit/VOC2007/JPEGImages/537.jpg 6,7,203,174,5
VOCdevkit/VOC2007/JPEGImages/539.jpg 44,8,362,325,5
VOCdevkit/VOC2007/JPEGImages/54.jpg 4,17,158,197,1
VOCdevkit/VOC2007/JPEGImages/540.jpg 2,1,52,56,5
VOCdevkit/VOC2007/JPEGImages/541.jpg 37,27,183,224,5
VOCdevkit/VOC2007/JPEGImages/542.jpg 25,18,175,169,5
VOCdevkit/VOC2007/JPEGImages/543.jpg 10,12,278,300,5
VOCdevkit/VOC2007/JPEGImages/544.jpg 11,5,93,76,5
VOCdevkit/VOC2007/JPEGImages/545.jpg 29,23,188,188,5
VOCdevkit/VOC2007/JPEGImages/546.jpg 30,19,207,229,5
VOCdevkit/VOC2007/JPEGImages/547.jpg 9,10,113,103,5
VOCdevkit/VOC2007/JPEGImages/549.jpg 2,7,216,194,5
VOCdevkit/VOC2007/JPEGImages/55.jpg 27,52,132,132,1
VOCdevkit/VOC2007/JPEGImages/551.jpg 27,48,310,299,5
VOCdevkit/VOC2007/JPEGImages/552.jpg 9,13,114,110,5
VOCdevkit/VOC2007/JPEGImages/553.jpg 5,16,174,197,5
VOCdevkit/VOC2007/JPEGImages/554.jpg 16,24,123,150,5
VOCdevkit/VOC2007/JPEGImages/556.jpg 53,52,388,403,5
VOCdevkit/VOC2007/JPEGImages/557.jpg 23,8,257,286,5
VOCdevkit/VOC2007/JPEGImages/559.jpg 8,26,353,298,5
VOCdevkit/VOC2007/JPEGImages/56.jpg 7,16,55,60,1
VOCdevkit/VOC2007/JPEGImages/561.jpg 14,1,252,295,5
VOCdevkit/VOC2007/JPEGImages/562.jpg 45,35,193,185,5
VOCdevkit/VOC2007/JPEGImages/563.jpg 3,6,61,62,5
VOCdevkit/VOC2007/JPEGImages/564.jpg 18,1,307,286,5
VOCdevkit/VOC2007/JPEGImages/565.jpg 15,9,217,225,5
VOCdevkit/VOC2007/JPEGImages/566.jpg 4,20,147,158,5
VOCdevkit/VOC2007/JPEGImages/567.jpg 30,31,161,172,5
VOCdevkit/VOC2007/JPEGImages/568.jpg 9,16,221,250,5
VOCdevkit/VOC2007/JPEGImages/569.jpg 13,10,125,115,5
VOCdevkit/VOC2007/JPEGImages/57.jpg 66,60,272,309,1
VOCdevkit/VOC2007/JPEGImages/570.jpg 21,26,257,275,5
VOCdevkit/VOC2007/JPEGImages/571.jpg 44,22,147,137,5
VOCdevkit/VOC2007/JPEGImages/572.jpg 35,19,120,117,5
VOCdevkit/VOC2007/JPEGImages/573.jpg 11,11,287,309,5
VOCdevkit/VOC2007/JPEGImages/575.jpg 25,9,99,113,5
VOCdevkit/VOC2007/JPEGImages/577.jpg 17,19,141,159,5
VOCdevkit/VOC2007/JPEGImages/578.jpg 66,72,618,671,5
VOCdevkit/VOC2007/JPEGImages/579.jpg 29,19,133,124,5
VOCdevkit/VOC2007/JPEGImages/58.jpg 45,34,176,168,1
VOCdevkit/VOC2007/JPEGImages/580.jpg 59,31,500,547,5
VOCdevkit/VOC2007/JPEGImages/581.jpg 36,32,203,226,5
VOCdevkit/VOC2007/JPEGImages/582.jpg 103,72,581,550,5
VOCdevkit/VOC2007/JPEGImages/583.jpg 12,6,197,220,5
VOCdevkit/VOC2007/JPEGImages/585.jpg 18,45,220,231,5
VOCdevkit/VOC2007/JPEGImages/586.jpg 41,68,524,579,5
VOCdevkit/VOC2007/JPEGImages/587.jpg 11,32,274,275,5
VOCdevkit/VOC2007/JPEGImages/588.jpg 7,21,133,155,5
VOCdevkit/VOC2007/JPEGImages/589.jpg 47,72,467,541,5
VOCdevkit/VOC2007/JPEGImages/59.jpg 38,25,196,217,1
VOCdevkit/VOC2007/JPEGImages/590.jpg 88,57,644,693,5
VOCdevkit/VOC2007/JPEGImages/591.jpg 32,49,322,318,5
VOCdevkit/VOC2007/JPEGImages/592.jpg 32,26,292,380,5
VOCdevkit/VOC2007/JPEGImages/593.jpg 21,15,228,221,5
VOCdevkit/VOC2007/JPEGImages/594.jpg 31,66,700,660,5
VOCdevkit/VOC2007/JPEGImages/596.jpg 20,20,245,250,5
VOCdevkit/VOC2007/JPEGImages/597.jpg 50,59,605,708,5
VOCdevkit/VOC2007/JPEGImages/598.jpg 19,11,183,195,5
VOCdevkit/VOC2007/JPEGImages/599.jpg 80,59,548,570,5
VOCdevkit/VOC2007/JPEGImages/6.jpg 14,14,65,67,1
VOCdevkit/VOC2007/JPEGImages/600.jpg 21,20,101,110,5
VOCdevkit/VOC2007/JPEGImages/601.jpg 31,53,163,217,7
VOCdevkit/VOC2007/JPEGImages/602.jpg 49,50,203,248,7
VOCdevkit/VOC2007/JPEGImages/603.jpg 34,64,173,230,7
VOCdevkit/VOC2007/JPEGImages/604.jpg 30,37,176,195,7
VOCdevkit/VOC2007/JPEGImages/605.jpg 68,32,298,366,7
VOCdevkit/VOC2007/JPEGImages/606.jpg 31,43,183,227,7
VOCdevkit/VOC2007/JPEGImages/608.jpg 17,46,166,194,7
VOCdevkit/VOC2007/JPEGImages/609.jpg 28,40,141,202,7
VOCdevkit/VOC2007/JPEGImages/61.jpg 2,9,170,162,1
VOCdevkit/VOC2007/JPEGImages/610.jpg 39,50,184,212,7
VOCdevkit/VOC2007/JPEGImages/611.jpg 49,31,173,242,7
VOCdevkit/VOC2007/JPEGImages/612.jpg 38,41,204,205,7
VOCdevkit/VOC2007/JPEGImages/613.jpg 49,62,215,214,7
VOCdevkit/VOC2007/JPEGImages/614.jpg 20,8,66,81,7
VOCdevkit/VOC2007/JPEGImages/615.jpg 14,5,58,55,7
VOCdevkit/VOC2007/JPEGImages/616.jpg 44,46,200,245,7
VOCdevkit/VOC2007/JPEGImages/617.jpg 34,21,98,105,7
VOCdevkit/VOC2007/JPEGImages/618.jpg 24,24,83,124,7
VOCdevkit/VOC2007/JPEGImages/619.jpg 5,7,51,66,7
VOCdevkit/VOC2007/JPEGImages/62.jpg 43,34,439,501,1
VOCdevkit/VOC2007/JPEGImages/620.jpg 27,49,183,234,7
VOCdevkit/VOC2007/JPEGImages/621.jpg 37,49,226,250,7
VOCdevkit/VOC2007/JPEGImages/622.jpg 16,7,69,84,7
VOCdevkit/VOC2007/JPEGImages/623.jpg 35,42,239,218,7
VOCdevkit/VOC2007/JPEGImages/625.jpg 19,14,77,83,7
VOCdevkit/VOC2007/JPEGImages/626.jpg 19,42,167,213,7
VOCdevkit/VOC2007/JPEGImages/627.jpg 40,35,167,253,7
VOCdevkit/VOC2007/JPEGImages/628.jpg 10,12,79,74,7
VOCdevkit/VOC2007/JPEGImages/629.jpg 42,39,169,263,7
VOCdevkit/VOC2007/JPEGImages/63.jpg 22,30,108,147,1
VOCdevkit/VOC2007/JPEGImages/630.jpg 35,35,166,240,7
VOCdevkit/VOC2007/JPEGImages/631.jpg 45,43,180,232,7
VOCdevkit/VOC2007/JPEGImages/632.jpg 21,38,168,212,7
VOCdevkit/VOC2007/JPEGImages/633.jpg 39,43,170,248,7
VOCdevkit/VOC2007/JPEGImages/634.jpg 52,36,192,236,7
VOCdevkit/VOC2007/JPEGImages/635.jpg 40,40,179,232,7
VOCdevkit/VOC2007/JPEGImages/636.jpg 32,29,182,214,7
VOCdevkit/VOC2007/JPEGImages/637.jpg 41,43,177,225,7
VOCdevkit/VOC2007/JPEGImages/638.jpg 16,19,121,139,7
VOCdevkit/VOC2007/JPEGImages/639.jpg 25,9,75,83,7
VOCdevkit/VOC2007/JPEGImages/64.jpg 22,12,101,94,1
VOCdevkit/VOC2007/JPEGImages/640.jpg 42,41,166,240,7
VOCdevkit/VOC2007/JPEGImages/641.jpg 13,9,60,72,7
VOCdevkit/VOC2007/JPEGImages/642.jpg 39,35,168,236,7
VOCdevkit/VOC2007/JPEGImages/643.jpg 50,49,204,242,7
VOCdevkit/VOC2007/JPEGImages/644.jpg 31,50,161,219,7
VOCdevkit/VOC2007/JPEGImages/645.jpg 34,52,152,246,7
VOCdevkit/VOC2007/JPEGImages/646.jpg 21,46,138,206,7
VOCdevkit/VOC2007/JPEGImages/647.jpg 41,56,158,223,7
VOCdevkit/VOC2007/JPEGImages/648.jpg 38,55,184,204,7
VOCdevkit/VOC2007/JPEGImages/649.jpg 30,33,181,198,7
VOCdevkit/VOC2007/JPEGImages/65.jpg 51,48,200,185,1
VOCdevkit/VOC2007/JPEGImages/650.jpg 33,50,181,206,7
VOCdevkit/VOC2007/JPEGImages/651.jpg 37,52,186,195,7
VOCdevkit/VOC2007/JPEGImages/652.jpg 41,62,203,193,7
VOCdevkit/VOC2007/JPEGImages/653.jpg 39,56,208,188,7
VOCdevkit/VOC2007/JPEGImages/654.jpg 39,51,190,198,7
VOCdevkit/VOC2007/JPEGImages/655.jpg 38,43,167,218,7
VOCdevkit/VOC2007/JPEGImages/656.jpg 44,39,169,205,7
VOCdevkit/VOC2007/JPEGImages/657.jpg 13,5,44,65,7
VOCdevkit/VOC2007/JPEGImages/658.jpg 9,4,53,67,7
VOCdevkit/VOC2007/JPEGImages/66.jpg 47,31,201,242,1
VOCdevkit/VOC2007/JPEGImages/660.jpg 19,13,101,118,7
VOCdevkit/VOC2007/JPEGImages/662.jpg 24,6,78,77,7
VOCdevkit/VOC2007/JPEGImages/663.jpg 8,10,52,71,7
VOCdevkit/VOC2007/JPEGImages/664.jpg 11,6,43,55,7
VOCdevkit/VOC2007/JPEGImages/665.jpg 36,48,197,210,7
VOCdevkit/VOC2007/JPEGImages/666.jpg 21,33,152,210,7
VOCdevkit/VOC2007/JPEGImages/667.jpg 21,26,113,156,7
VOCdevkit/VOC2007/JPEGImages/668.jpg 8,8,47,69,7
VOCdevkit/VOC2007/JPEGImages/669.jpg 17,10,75,97,7
VOCdevkit/VOC2007/JPEGImages/67.jpg 38,43,166,187,1
VOCdevkit/VOC2007/JPEGImages/670.jpg 8,5,49,61,7
VOCdevkit/VOC2007/JPEGImages/671.jpg 11,5,53,67,7
VOCdevkit/VOC2007/JPEGImages/672.jpg 6,10,42,65,7
VOCdevkit/VOC2007/JPEGImages/673.jpg 12,11,65,76,7
VOCdevkit/VOC2007/JPEGImages/675.jpg 9,4,51,61,7
VOCdevkit/VOC2007/JPEGImages/676.jpg 5,7,46,61,7
VOCdevkit/VOC2007/JPEGImages/677.jpg 24,32,156,208,7
VOCdevkit/VOC2007/JPEGImages/678.jpg 24,37,131,201,7
VOCdevkit/VOC2007/JPEGImages/679.jpg 5,4,44,67,7
VOCdevkit/VOC2007/JPEGImages/68.jpg 18,16,276,274,1
VOCdevkit/VOC2007/JPEGImages/680.jpg 42,41,222,211,7
VOCdevkit/VOC2007/JPEGImages/681.jpg 21,43,157,204,7
VOCdevkit/VOC2007/JPEGImages/682.jpg 26,9,182,206,7
VOCdevkit/VOC2007/JPEGImages/683.jpg 20,11,105,130,7
VOCdevkit/VOC2007/JPEGImages/684.jpg 24,38,157,208,7
VOCdevkit/VOC2007/JPEGImages/685.jpg 9,7,54,69,7
VOCdevkit/VOC2007/JPEGImages/686.jpg 36,12,108,134,7
VOCdevkit/VOC2007/JPEGImages/687.jpg 8,3,61,79,7
VOCdevkit/VOC2007/JPEGImages/688.jpg 49,25,261,312,7
VOCdevkit/VOC2007/JPEGImages/689.jpg 9,4,44,57,7
VOCdevkit/VOC2007/JPEGImages/69.jpg 49,31,133,165,1
VOCdevkit/VOC2007/JPEGImages/690.jpg 63,48,283,363,7
VOCdevkit/VOC2007/JPEGImages/691.jpg 66,76,321,393,7
VOCdevkit/VOC2007/JPEGImages/692.jpg 73,63,341,382,7
VOCdevkit/VOC2007/JPEGImages/693.jpg 69,54,292,444,7
VOCdevkit/VOC2007/JPEGImages/694.jpg 7,6,56,73,7
VOCdevkit/VOC2007/JPEGImages/695.jpg 30,57,187,233,7
VOCdevkit/VOC2007/JPEGImages/696.jpg 41,51,283,392,7
VOCdevkit/VOC2007/JPEGImages/698.jpg 67,67,312,381,7
VOCdevkit/VOC2007/JPEGImages/699.jpg 46,77,324,370,7
VOCdevkit/VOC2007/JPEGImages/70.jpg 25,45,186,183,1
VOCdevkit/VOC2007/JPEGImages/700.jpg 19,6,63,69,7
VOCdevkit/VOC2007/JPEGImages/701.jpg 12,20,79,71,6
VOCdevkit/VOC2007/JPEGImages/702.jpg 14,28,168,173,6
VOCdevkit/VOC2007/JPEGImages/703.jpg 10,18,98,71,6
VOCdevkit/VOC2007/JPEGImages/704.jpg 2,11,98,72,6
VOCdevkit/VOC2007/JPEGImages/705.jpg 13,45,210,151,6
VOCdevkit/VOC2007/JPEGImages/706.jpg 12,13,153,137,6
VOCdevkit/VOC2007/JPEGImages/708.jpg 27,23,168,176,6
VOCdevkit/VOC2007/JPEGImages/709.jpg 14,6,101,91,6
VOCdevkit/VOC2007/JPEGImages/71.jpg 22,23,99,122,1
VOCdevkit/VOC2007/JPEGImages/710.jpg 16,12,125,89,6
VOCdevkit/VOC2007/JPEGImages/711.jpg 8,9,113,84,6
VOCdevkit/VOC2007/JPEGImages/713.jpg 23,52,271,263,6
VOCdevkit/VOC2007/JPEGImages/714.jpg 96,39,348,281,6
VOCdevkit/VOC2007/JPEGImages/715.jpg 5,3,95,74,6
VOCdevkit/VOC2007/JPEGImages/716.jpg 24,45,246,273,6
VOCdevkit/VOC2007/JPEGImages/717.jpg 12,5,80,62,6
VOCdevkit/VOC2007/JPEGImages/718.jpg 32,63,257,298,6
VOCdevkit/VOC2007/JPEGImages/719.jpg 37,69,284,277,6
VOCdevkit/VOC2007/JPEGImages/72.jpg 82,70,278,378,1
VOCdevkit/VOC2007/JPEGImages/720.jpg 15,7,102,98,6
VOCdevkit/VOC2007/JPEGImages/721.jpg 40,47,260,278,6
VOCdevkit/VOC2007/JPEGImages/722.jpg 32,24,134,160,6
VOCdevkit/VOC2007/JPEGImages/723.jpg 27,17,87,85,6
VOCdevkit/VOC2007/JPEGImages/724.jpg 47,42,369,372,6
VOCdevkit/VOC2007/JPEGImages/725.jpg 67,54,307,249,6
VOCdevkit/VOC2007/JPEGImages/726.jpg 16,16,97,134,6
VOCdevkit/VOC2007/JPEGImages/727.jpg 5,6,58,50,6
VOCdevkit/VOC2007/JPEGImages/729.jpg 12,15,106,81,6
VOCdevkit/VOC2007/JPEGImages/730.jpg 21,12,97,85,6
VOCdevkit/VOC2007/JPEGImages/731.jpg 13,13,191,154,6
VOCdevkit/VOC2007/JPEGImages/732.jpg 40,64,275,298,6
VOCdevkit/VOC2007/JPEGImages/733.jpg 9,9,149,111,6
VOCdevkit/VOC2007/JPEGImages/734.jpg 1,13,180,154,6
VOCdevkit/VOC2007/JPEGImages/735.jpg 8,10,87,71,6
VOCdevkit/VOC2007/JPEGImages/736.jpg 10,18,112,78,6
VOCdevkit/VOC2007/JPEGImages/737.jpg 18,54,232,217,6
VOCdevkit/VOC2007/JPEGImages/738.jpg 19,20,83,95,6
VOCdevkit/VOC2007/JPEGImages/739.jpg 4,13,85,70,6
VOCdevkit/VOC2007/JPEGImages/740.jpg 5,6,68,56,6
VOCdevkit/VOC2007/JPEGImages/741.jpg 28,30,156,169,6
VOCdevkit/VOC2007/JPEGImages/742.jpg 42,59,280,222,6
VOCdevkit/VOC2007/JPEGImages/743.jpg 9,5,67,50,6
VOCdevkit/VOC2007/JPEGImages/744.jpg 2,7,97,65,6
VOCdevkit/VOC2007/JPEGImages/745.jpg 6,11,101,68,6
VOCdevkit/VOC2007/JPEGImages/746.jpg 4,8,85,60,6
VOCdevkit/VOC2007/JPEGImages/747.jpg 46,31,186,234,6
VOCdevkit/VOC2007/JPEGImages/748.jpg 15,6,83,65,6
VOCdevkit/VOC2007/JPEGImages/749.jpg 43,45,243,271,6
VOCdevkit/VOC2007/JPEGImages/75.jpg 1,3,246,222,1
VOCdevkit/VOC2007/JPEGImages/750.jpg 44,21,149,137,6
VOCdevkit/VOC2007/JPEGImages/751.jpg 3,7,85,56,6
VOCdevkit/VOC2007/JPEGImages/752.jpg 26,38,170,141,6
VOCdevkit/VOC2007/JPEGImages/753.jpg 26,27,210,174,6
VOCdevkit/VOC2007/JPEGImages/755.jpg 15,45,294,216,6
VOCdevkit/VOC2007/JPEGImages/756.jpg 33,22,147,131,6
VOCdevkit/VOC2007/JPEGImages/757.jpg 20,36,226,221,6
VOCdevkit/VOC2007/JPEGImages/759.jpg 10,8,98,82,6
VOCdevkit/VOC2007/JPEGImages/76.jpg 10,6,83,78,1
VOCdevkit/VOC2007/JPEGImages/760.jpg 20,28,139,173,6
VOCdevkit/VOC2007/JPEGImages/761.jpg 26,26,154,193,6
VOCdevkit/VOC2007/JPEGImages/762.jpg 6,6,75,42,6
VOCdevkit/VOC2007/JPEGImages/763.jpg 45,14,159,134,6
VOCdevkit/VOC2007/JPEGImages/764.jpg 36,23,172,156,6
VOCdevkit/VOC2007/JPEGImages/766.jpg 12,4,69,72,6
VOCdevkit/VOC2007/JPEGImages/767.jpg 6,22,83,66,6
VOCdevkit/VOC2007/JPEGImages/769.jpg 8,20,120,81,6
VOCdevkit/VOC2007/JPEGImages/77.jpg 7,6,83,98,1
VOCdevkit/VOC2007/JPEGImages/770.jpg 29,56,503,317,6
VOCdevkit/VOC2007/JPEGImages/771.jpg 29,22,104,128,6
VOCdevkit/VOC2007/JPEGImages/772.jpg 23,16,87,101,6
VOCdevkit/VOC2007/JPEGImages/773.jpg 3,7,57,46,6
VOCdevkit/VOC2007/JPEGImages/774.jpg 4,13,105,70,6
VOCdevkit/VOC2007/JPEGImages/775.jpg 18,24,107,110,6
VOCdevkit/VOC2007/JPEGImages/776.jpg 13,9,74,66,6
VOCdevkit/VOC2007/JPEGImages/777.jpg 3,15,121,86,6
VOCdevkit/VOC2007/JPEGImages/778.jpg 8,3,132,99,6
VOCdevkit/VOC2007/JPEGImages/779.jpg 29,8,118,97,6
VOCdevkit/VOC2007/JPEGImages/78.jpg 23,15,85,88,1
VOCdevkit/VOC2007/JPEGImages/780.jpg 8,17,71,57,6
VOCdevkit/VOC2007/JPEGImages/781.jpg 10,15,89,78,6
VOCdevkit/VOC2007/JPEGImages/783.jpg 27,21,100,101,6
VOCdevkit/VOC2007/JPEGImages/784.jpg 34,41,357,317,6
VOCdevkit/VOC2007/JPEGImages/785.jpg 31,30,169,203,6
VOCdevkit/VOC2007/JPEGImages/786.jpg 4,7,82,71,6
VOCdevkit/VOC2007/JPEGImages/787.jpg 31,58,240,220,6
VOCdevkit/VOC2007/JPEGImages/788.jpg 20,17,76,76,6
VOCdevkit/VOC2007/JPEGImages/789.jpg 13,8,112,103,6
VOCdevkit/VOC2007/JPEGImages/79.jpg 17,28,249,222,1
VOCdevkit/VOC2007/JPEGImages/790.jpg 8,19,138,142,6
VOCdevkit/VOC2007/JPEGImages/791.jpg 254,494,2274,2502,6
VOCdevkit/VOC2007/JPEGImages/792.jpg 38,68,364,330,6
VOCdevkit/VOC2007/JPEGImages/793.jpg 13,10,109,90,6
VOCdevkit/VOC2007/JPEGImages/794.jpg 6,11,109,67,6
VOCdevkit/VOC2007/JPEGImages/795.jpg 5,5,63,54,6
VOCdevkit/VOC2007/JPEGImages/796.jpg 37,29,142,127,6
VOCdevkit/VOC2007/JPEGImages/797.jpg 22,39,245,204,6
VOCdevkit/VOC2007/JPEGImages/798.jpg 2,3,67,50,6
VOCdevkit/VOC2007/JPEGImages/799.jpg 21,3,81,64,6
VOCdevkit/VOC2007/JPEGImages/8.jpg 17,3,300,258,1
VOCdevkit/VOC2007/JPEGImages/80.jpg 30,36,175,270,1
VOCdevkit/VOC2007/JPEGImages/800.jpg 37,21,147,118,6
VOCdevkit/VOC2007/JPEGImages/801.jpg
VOCdevkit/VOC2007/JPEGImages/802.jpg
VOCdevkit/VOC2007/JPEGImages/803.jpg
VOCdevkit/VOC2007/JPEGImages/804.jpg
VOCdevkit/VOC2007/JPEGImages/805.jpg
VOCdevkit/VOC2007/JPEGImages/806.jpg
VOCdevkit/VOC2007/JPEGImages/807.jpg
VOCdevkit/VOC2007/JPEGImages/808.jpg
VOCdevkit/VOC2007/JPEGImages/809.jpg
VOCdevkit/VOC2007/JPEGImages/81.jpg 21,24,78,76,1
VOCdevkit/VOC2007/JPEGImages/810.jpg
VOCdevkit/VOC2007/JPEGImages/812.jpg
VOCdevkit/VOC2007/JPEGImages/813.jpg
VOCdevkit/VOC2007/JPEGImages/814.jpg
VOCdevkit/VOC2007/JPEGImages/815.jpg
VOCdevkit/VOC2007/JPEGImages/816.jpg
VOCdevkit/VOC2007/JPEGImages/819.jpg
VOCdevkit/VOC2007/JPEGImages/82.jpg 34,34,137,115,1
VOCdevkit/VOC2007/JPEGImages/820.jpg
VOCdevkit/VOC2007/JPEGImages/821.jpg
VOCdevkit/VOC2007/JPEGImages/822.jpg
VOCdevkit/VOC2007/JPEGImages/823.jpg
VOCdevkit/VOC2007/JPEGImages/824.jpg
VOCdevkit/VOC2007/JPEGImages/825.jpg
VOCdevkit/VOC2007/JPEGImages/826.jpg
VOCdevkit/VOC2007/JPEGImages/827.jpg
VOCdevkit/VOC2007/JPEGImages/828.jpg
VOCdevkit/VOC2007/JPEGImages/829.jpg
VOCdevkit/VOC2007/JPEGImages/83.jpg 44,25,146,140,1
VOCdevkit/VOC2007/JPEGImages/830.jpg
VOCdevkit/VOC2007/JPEGImages/831.jpg
VOCdevkit/VOC2007/JPEGImages/832.jpg
VOCdevkit/VOC2007/JPEGImages/833.jpg
VOCdevkit/VOC2007/JPEGImages/834.jpg
VOCdevkit/VOC2007/JPEGImages/836.jpg
VOCdevkit/VOC2007/JPEGImages/837.jpg
VOCdevkit/VOC2007/JPEGImages/838.jpg
VOCdevkit/VOC2007/JPEGImages/839.jpg
VOCdevkit/VOC2007/JPEGImages/84.jpg 36,26,92,113,1
VOCdevkit/VOC2007/JPEGImages/840.jpg
VOCdevkit/VOC2007/JPEGImages/841.jpg
VOCdevkit/VOC2007/JPEGImages/842.jpg
VOCdevkit/VOC2007/JPEGImages/843.jpg
VOCdevkit/VOC2007/JPEGImages/844.jpg
VOCdevkit/VOC2007/JPEGImages/845.jpg
VOCdevkit/VOC2007/JPEGImages/846.jpg
VOCdevkit/VOC2007/JPEGImages/847.jpg
VOCdevkit/VOC2007/JPEGImages/848.jpg
VOCdevkit/VOC2007/JPEGImages/849.jpg
VOCdevkit/VOC2007/JPEGImages/85.jpg 21,20,86,133,1
VOCdevkit/VOC2007/JPEGImages/850.jpg
VOCdevkit/VOC2007/JPEGImages/851.jpg
VOCdevkit/VOC2007/JPEGImages/852.jpg
VOCdevkit/VOC2007/JPEGImages/853.jpg
VOCdevkit/VOC2007/JPEGImages/854.jpg
VOCdevkit/VOC2007/JPEGImages/855.jpg
VOCdevkit/VOC2007/JPEGImages/856.jpg
VOCdevkit/VOC2007/JPEGImages/857.jpg
VOCdevkit/VOC2007/JPEGImages/858.jpg
VOCdevkit/VOC2007/JPEGImages/859.jpg
VOCdevkit/VOC2007/JPEGImages/86.jpg 34,2,253,275,1
VOCdevkit/VOC2007/JPEGImages/860.jpg
VOCdevkit/VOC2007/JPEGImages/861.jpg
VOCdevkit/VOC2007/JPEGImages/862.jpg
VOCdevkit/VOC2007/JPEGImages/863.jpg
VOCdevkit/VOC2007/JPEGImages/864.jpg
VOCdevkit/VOC2007/JPEGImages/866.jpg
VOCdevkit/VOC2007/JPEGImages/867.jpg
VOCdevkit/VOC2007/JPEGImages/868.jpg
VOCdevkit/VOC2007/JPEGImages/869.jpg
VOCdevkit/VOC2007/JPEGImages/87.jpg 70,37,249,306,1
VOCdevkit/VOC2007/JPEGImages/870.jpg
VOCdevkit/VOC2007/JPEGImages/872.jpg
VOCdevkit/VOC2007/JPEGImages/873.jpg
VOCdevkit/VOC2007/JPEGImages/874.jpg
VOCdevkit/VOC2007/JPEGImages/876.jpg
VOCdevkit/VOC2007/JPEGImages/877.jpg
VOCdevkit/VOC2007/JPEGImages/878.jpg
VOCdevkit/VOC2007/JPEGImages/879.jpg
VOCdevkit/VOC2007/JPEGImages/88.jpg 52,37,165,187,1
VOCdevkit/VOC2007/JPEGImages/880.jpg
VOCdevkit/VOC2007/JPEGImages/882.jpg
VOCdevkit/VOC2007/JPEGImages/883.jpg
VOCdevkit/VOC2007/JPEGImages/884.jpg
VOCdevkit/VOC2007/JPEGImages/885.jpg
VOCdevkit/VOC2007/JPEGImages/886.jpg
VOCdevkit/VOC2007/JPEGImages/887.jpg
VOCdevkit/VOC2007/JPEGImages/888.jpg
VOCdevkit/VOC2007/JPEGImages/889.jpg
VOCdevkit/VOC2007/JPEGImages/89.jpg 25,28,282,287,1
VOCdevkit/VOC2007/JPEGImages/890.jpg
VOCdevkit/VOC2007/JPEGImages/891.jpg
VOCdevkit/VOC2007/JPEGImages/892.jpg
VOCdevkit/VOC2007/JPEGImages/893.jpg
VOCdevkit/VOC2007/JPEGImages/895.jpg
VOCdevkit/VOC2007/JPEGImages/896.jpg 10,5,59,67,3
VOCdevkit/VOC2007/JPEGImages/897.jpg 12,5,72,108,3
VOCdevkit/VOC2007/JPEGImages/899.jpg 9,10,91,112,3
VOCdevkit/VOC2007/JPEGImages/9.jpg 28,33,128,149,1
VOCdevkit/VOC2007/JPEGImages/900.jpg 13,4,52,54,3
VOCdevkit/VOC2007/JPEGImages/901.jpg 17,4,156,205,3
VOCdevkit/VOC2007/JPEGImages/902.jpg 16,3,87,110,3
VOCdevkit/VOC2007/JPEGImages/903.jpg 12,11,103,119,3
VOCdevkit/VOC2007/JPEGImages/904.jpg 7,3,42,52,3
VOCdevkit/VOC2007/JPEGImages/905.jpg 48,34,514,372,3
VOCdevkit/VOC2007/JPEGImages/906.jpg 29,31,161,180,3
VOCdevkit/VOC2007/JPEGImages/908.jpg 13,4,78,90,3
VOCdevkit/VOC2007/JPEGImages/909.jpg 22,6,101,131,3
VOCdevkit/VOC2007/JPEGImages/91.jpg 35,24,94,124,1
VOCdevkit/VOC2007/JPEGImages/910.jpg 13,7,70,99,3
VOCdevkit/VOC2007/JPEGImages/911.jpg 7,5,61,86,3
VOCdevkit/VOC2007/JPEGImages/912.jpg 23,20,341,213,3
VOCdevkit/VOC2007/JPEGImages/913.jpg 5,5,55,84,3
VOCdevkit/VOC2007/JPEGImages/914.jpg 9,5,48,60,3
VOCdevkit/VOC2007/JPEGImages/915.jpg 17,5,107,133,3
VOCdevkit/VOC2007/JPEGImages/916.jpg 5,20,114,182,3
VOCdevkit/VOC2007/JPEGImages/917.jpg 8,6,53,68,3
VOCdevkit/VOC2007/JPEGImages/918.jpg 8,8,76,114,3
VOCdevkit/VOC2007/JPEGImages/919.jpg 11,11,261,234,3
VOCdevkit/VOC2007/JPEGImages/92.jpg 27,7,112,146,1
VOCdevkit/VOC2007/JPEGImages/920.jpg 26,24,119,151,3
VOCdevkit/VOC2007/JPEGImages/921.jpg 31,24,120,154,2
VOCdevkit/VOC2007/JPEGImages/923.jpg 36,30,166,215,2
VOCdevkit/VOC2007/JPEGImages/924.jpg 22,5,224,298,2
VOCdevkit/VOC2007/JPEGImages/925.jpg 64,4,365,415,2
VOCdevkit/VOC2007/JPEGImages/926.jpg 21,6,382,435,2
VOCdevkit/VOC2007/JPEGImages/927.jpg 18,2,115,130,2
VOCdevkit/VOC2007/JPEGImages/928.jpg 46,6,238,261,2
VOCdevkit/VOC2007/JPEGImages/929.jpg 34,2,170,197,2
VOCdevkit/VOC2007/JPEGImages/93.jpg 9,4,100,93,1
VOCdevkit/VOC2007/JPEGImages/930.jpg 13,23,114,152,2
VOCdevkit/VOC2007/JPEGImages/931.jpg 18,2,370,371,2
VOCdevkit/VOC2007/JPEGImages/932.jpg 13,6,81,94,2
VOCdevkit/VOC2007/JPEGImages/933.jpg 23,28,190,261,2
VOCdevkit/VOC2007/JPEGImages/934.jpg 59,23,297,386,2
VOCdevkit/VOC2007/JPEGImages/935.jpg 18,9,122,125,2
VOCdevkit/VOC2007/JPEGImages/936.jpg 57,12,355,391,2
VOCdevkit/VOC2007/JPEGImages/938.jpg 25,15,80,118,2
VOCdevkit/VOC2007/JPEGImages/94.jpg 104,58,274,345,1
VOCdevkit/VOC2007/JPEGImages/940.jpg 45,33,161,227,2
VOCdevkit/VOC2007/JPEGImages/941.jpg 31,21,139,175,2
VOCdevkit/VOC2007/JPEGImages/943.jpg 16,4,66,74,2
VOCdevkit/VOC2007/JPEGImages/944.jpg 25,12,127,164,2
VOCdevkit/VOC2007/JPEGImages/945.jpg 11,6,265,363,2
VOCdevkit/VOC2007/JPEGImages/946.jpg 48,37,323,409,2
VOCdevkit/VOC2007/JPEGImages/947.jpg 8,8,62,76,2
VOCdevkit/VOC2007/JPEGImages/948.jpg 40,11,280,384,2
VOCdevkit/VOC2007/JPEGImages/949.jpg 8,1,153,188,2
VOCdevkit/VOC2007/JPEGImages/95.jpg 28,30,141,155,1
VOCdevkit/VOC2007/JPEGImages/950.jpg 36,32,181,261,2
VOCdevkit/VOC2007/JPEGImages/951.jpg 52,6,319,334,2
VOCdevkit/VOC2007/JPEGImages/952.jpg 41,25,124,144,2
VOCdevkit/VOC2007/JPEGImages/953.jpg 72,37,344,395,2
VOCdevkit/VOC2007/JPEGImages/954.jpg 13,15,169,174,2
VOCdevkit/VOC2007/JPEGImages/955.jpg 15,3,207,264,2
VOCdevkit/VOC2007/JPEGImages/956.jpg 31,35,291,353,2
VOCdevkit/VOC2007/JPEGImages/957.jpg 28,21,175,219,2
VOCdevkit/VOC2007/JPEGImages/958.jpg 16,10,110,147,2
VOCdevkit/VOC2007/JPEGImages/959.jpg 23,43,193,200,2
VOCdevkit/VOC2007/JPEGImages/96.jpg 11,49,259,301,1
VOCdevkit/VOC2007/JPEGImages/960.jpg 15,12,170,189,2
VOCdevkit/VOC2007/JPEGImages/961.jpg 40,26,137,143,2
VOCdevkit/VOC2007/JPEGImages/963.jpg 19,4,74,90,2
VOCdevkit/VOC2007/JPEGImages/965.jpg 24,17,135,188,2
VOCdevkit/VOC2007/JPEGImages/966.jpg 60,36,247,299,2
VOCdevkit/VOC2007/JPEGImages/967.jpg 21,32,101,143,2
VOCdevkit/VOC2007/JPEGImages/968.jpg 14,4,131,164,2
VOCdevkit/VOC2007/JPEGImages/969.jpg 26,18,124,160,2
VOCdevkit/VOC2007/JPEGImages/97.jpg 18,10,209,246,1
VOCdevkit/VOC2007/JPEGImages/970.jpg 24,53,261,280,2
VOCdevkit/VOC2007/JPEGImages/971.jpg 38,38,213,253,2
VOCdevkit/VOC2007/JPEGImages/972.jpg 26,40,195,240,2
VOCdevkit/VOC2007/JPEGImages/973.jpg 33,12,312,345,2
VOCdevkit/VOC2007/JPEGImages/974.jpg 11,22,130,150,2
VOCdevkit/VOC2007/JPEGImages/975.jpg 23,15,168,195,2
VOCdevkit/VOC2007/JPEGImages/976.jpg 10,6,64,80,2
VOCdevkit/VOC2007/JPEGImages/977.jpg 21,25,116,157,2
VOCdevkit/VOC2007/JPEGImages/978.jpg 27,5,238,343,2
VOCdevkit/VOC2007/JPEGImages/979.jpg 38,4,172,203,2
VOCdevkit/VOC2007/JPEGImages/98.jpg 7,10,88,77,1
VOCdevkit/VOC2007/JPEGImages/981.jpg 36,26,200,278,2
VOCdevkit/VOC2007/JPEGImages/982.jpg 25,33,111,166,2
VOCdevkit/VOC2007/JPEGImages/983.jpg 64,43,208,205,2
VOCdevkit/VOC2007/JPEGImages/984.jpg 6,6,45,50,2
VOCdevkit/VOC2007/JPEGImages/985.jpg 30,20,126,145,2
VOCdevkit/VOC2007/JPEGImages/986.jpg 83,54,307,336,2
VOCdevkit/VOC2007/JPEGImages/987.jpg 19,17,97,113,2
VOCdevkit/VOC2007/JPEGImages/988.jpg 46,43,276,392,2
VOCdevkit/VOC2007/JPEGImages/989.jpg 77,6,351,380,2
VOCdevkit/VOC2007/JPEGImages/99.jpg 7,1,81,83,1
VOCdevkit/VOC2007/JPEGImages/990.jpg 15,31,153,142,2
VOCdevkit/VOC2007/JPEGImages/991.jpg 52,53,298,356,2
VOCdevkit/VOC2007/JPEGImages/992.jpg 31,29,110,142,2
VOCdevkit/VOC2007/JPEGImages/994.jpg 42,33,134,151,2
VOCdevkit/VOC2007/JPEGImages/995.jpg 35,23,152,174,2
VOCdevkit/VOC2007/JPEGImages/996.jpg 41,44,243,284,2
VOCdevkit/VOC2007/JPEGImages/997.jpg 19,9,120,131,2
VOCdevkit/VOC2007/JPEGImages/998.jpg 32,4,335,378,2
================================================
FILE: 2007_val.txt
================================================
VOCdevkit/VOC2007/JPEGImages/1.jpg 21,7,174,210,1
VOCdevkit/VOC2007/JPEGImages/1004.jpg 23,24,120,144,2
VOCdevkit/VOC2007/JPEGImages/1018.jpg 22,6,138,142,2
VOCdevkit/VOC2007/JPEGImages/1027.jpg 33,16,99,98,0
VOCdevkit/VOC2007/JPEGImages/1049.jpg 53,45,152,256,0
VOCdevkit/VOC2007/JPEGImages/1055.jpg 48,22,134,177,0
VOCdevkit/VOC2007/JPEGImages/1073.jpg 12,9,59,83,0
VOCdevkit/VOC2007/JPEGImages/1082.jpg 21,50,210,139,0
VOCdevkit/VOC2007/JPEGImages/1087.jpg 32,22,102,88,0
VOCdevkit/VOC2007/JPEGImages/1092.jpg 20,10,208,249,0
VOCdevkit/VOC2007/JPEGImages/1093.jpg 57,41,212,239,0
VOCdevkit/VOC2007/JPEGImages/1095.jpg 46,43,131,136,0
VOCdevkit/VOC2007/JPEGImages/1097.jpg 30,37,135,246,0
VOCdevkit/VOC2007/JPEGImages/1099.jpg 33,46,181,147,0
VOCdevkit/VOC2007/JPEGImages/1110.jpg 38,48,169,273,0
VOCdevkit/VOC2007/JPEGImages/1128.jpg 638,1292,1922,3136,3
VOCdevkit/VOC2007/JPEGImages/1129.jpg 606,896,1986,3352,3
VOCdevkit/VOC2007/JPEGImages/113.jpg 23,19,103,120,3
VOCdevkit/VOC2007/JPEGImages/1143.jpg 558,612,2258,3508,3
VOCdevkit/VOC2007/JPEGImages/115.jpg 34,29,325,382,3
VOCdevkit/VOC2007/JPEGImages/1154.jpg 346,832,2058,2272,3
VOCdevkit/VOC2007/JPEGImages/1159.jpg 218,716,2350,3308,3
VOCdevkit/VOC2007/JPEGImages/1177.jpg 27,538,1138,1402,3
VOCdevkit/VOC2007/JPEGImages/1194.jpg 87,113,1196,1609,3
VOCdevkit/VOC2007/JPEGImages/1200.jpg
VOCdevkit/VOC2007/JPEGImages/1201.jpg 398,609,962,1667,7
VOCdevkit/VOC2007/JPEGImages/1212.jpg 93,96,1105,1627,7
VOCdevkit/VOC2007/JPEGImages/1215.jpg 40,389,780,1538,7
VOCdevkit/VOC2007/JPEGImages/1233.jpg 693,239,1419,772,6
VOCdevkit/VOC2007/JPEGImages/1245.jpg 38,34,114,129,1
VOCdevkit/VOC2007/JPEGImages/1246.jpg 4,6,114,111,1
VOCdevkit/VOC2007/JPEGImages/125.jpg 15,3,95,113,3
VOCdevkit/VOC2007/JPEGImages/1258.jpg 51,37,170,209,1
VOCdevkit/VOC2007/JPEGImages/1262.jpg 57,66,309,354,1
VOCdevkit/VOC2007/JPEGImages/1283.jpg 19,16,52,58,1
VOCdevkit/VOC2007/JPEGImages/1294.jpg 41,36,129,219,1
VOCdevkit/VOC2007/JPEGImages/1309.jpg 25,55,287,273,1
VOCdevkit/VOC2007/JPEGImages/1315.jpg 16,2,180,191,1
VOCdevkit/VOC2007/JPEGImages/1319.jpg 29,9,98,72,1
VOCdevkit/VOC2007/JPEGImages/132.jpg 28,7,134,138,3
VOCdevkit/VOC2007/JPEGImages/1337.jpg 16,23,210,238,5
VOCdevkit/VOC2007/JPEGImages/1339.jpg 13,15,209,196,5
VOCdevkit/VOC2007/JPEGImages/1341.jpg 44,20,323,294,5
VOCdevkit/VOC2007/JPEGImages/1351.jpg 76,19,512,432,5
VOCdevkit/VOC2007/JPEGImages/1368.jpg 24,23,135,144,5
VOCdevkit/VOC2007/JPEGImages/1371.jpg 21,48,245,301,5
VOCdevkit/VOC2007/JPEGImages/1393.jpg 23,50,307,296,5
VOCdevkit/VOC2007/JPEGImages/140.jpg 12,1,76,95,3
VOCdevkit/VOC2007/JPEGImages/1408.jpg 42,38,283,291,5
VOCdevkit/VOC2007/JPEGImages/1415.jpg 30,38,180,242,7
VOCdevkit/VOC2007/JPEGImages/1419.jpg 24,28,133,177,7
VOCdevkit/VOC2007/JPEGImages/1423.jpg 34,31,152,200,7
VOCdevkit/VOC2007/JPEGImages/1438.jpg 21,11,63,79,7
VOCdevkit/VOC2007/JPEGImages/144.jpg 24,34,218,342,3
VOCdevkit/VOC2007/JPEGImages/1447.jpg 33,116,322,500,7
VOCdevkit/VOC2007/JPEGImages/1451.jpg 27,36,237,219,6
VOCdevkit/VOC2007/JPEGImages/1453.jpg 24,9,99,67,6
VOCdevkit/VOC2007/JPEGImages/1455.jpg 34,36,124,90,6
VOCdevkit/VOC2007/JPEGImages/1457.jpg 5,18,102,102,6
VOCdevkit/VOC2007/JPEGImages/1469.jpg 29,57,239,178,6
VOCdevkit/VOC2007/JPEGImages/1481.jpg 17,22,83,56,6
VOCdevkit/VOC2007/JPEGImages/1486.jpg 562,1620,2470,2908,6
VOCdevkit/VOC2007/JPEGImages/1493.jpg 462,1176,2102,3120,6
VOCdevkit/VOC2007/JPEGImages/1505.jpg 526,800,2494,2940,6
VOCdevkit/VOC2007/JPEGImages/1514.jpg 346,1440,2466,3064,6
VOCdevkit/VOC2007/JPEGImages/153.jpg 11,5,56,79,3
VOCdevkit/VOC2007/JPEGImages/1531.jpg 154,580,2430,2876,6
VOCdevkit/VOC2007/JPEGImages/1538.jpg 367,466,949,1216,5
VOCdevkit/VOC2007/JPEGImages/155.jpg 10,7,127,172,3
VOCdevkit/VOC2007/JPEGImages/1553.jpg 31,293,1240,1427,5
VOCdevkit/VOC2007/JPEGImages/1570.jpg 325,714,925,1644,7
VOCdevkit/VOC2007/JPEGImages/1590.jpg 183,380,963,1544,7
VOCdevkit/VOC2007/JPEGImages/167.jpg 10,5,66,79,3
VOCdevkit/VOC2007/JPEGImages/179.jpg 4,7,112,176,3
VOCdevkit/VOC2007/JPEGImages/180.jpg 10,23,141,150,3
VOCdevkit/VOC2007/JPEGImages/181.jpg 8,5,60,84,3
VOCdevkit/VOC2007/JPEGImages/188.jpg 14,1,170,224,3
VOCdevkit/VOC2007/JPEGImages/191.jpg 15,23,98,140,3
VOCdevkit/VOC2007/JPEGImages/192.jpg 16,5,60,82,3
VOCdevkit/VOC2007/JPEGImages/20.jpg 9,3,174,216,1
VOCdevkit/VOC2007/JPEGImages/211.jpg 40,36,230,310,2
VOCdevkit/VOC2007/JPEGImages/229.jpg 18,10,186,195,2
VOCdevkit/VOC2007/JPEGImages/23.jpg 47,56,212,252,1
VOCdevkit/VOC2007/JPEGImages/248.jpg 53,41,222,271,2
VOCdevkit/VOC2007/JPEGImages/249.jpg 45,14,282,349,2
VOCdevkit/VOC2007/JPEGImages/264.jpg 20,29,170,211,2
VOCdevkit/VOC2007/JPEGImages/282.jpg 31,21,121,149,2
VOCdevkit/VOC2007/JPEGImages/283.jpg 55,41,257,315,2
VOCdevkit/VOC2007/JPEGImages/289.jpg 60,30,198,241,2
VOCdevkit/VOC2007/JPEGImages/29.jpg 9,2,183,240,1
VOCdevkit/VOC2007/JPEGImages/290.jpg 28,24,91,124,2
VOCdevkit/VOC2007/JPEGImages/292.jpg 23,28,133,172,2
VOCdevkit/VOC2007/JPEGImages/293.jpg 31,7,185,299,2
VOCdevkit/VOC2007/JPEGImages/333.jpg 123,1,697,567,0
VOCdevkit/VOC2007/JPEGImages/333.jpg 123,1,697,567,0
VOCdevkit/VOC2007/JPEGImages/336.jpg 58,45,164,216,0
VOCdevkit/VOC2007/JPEGImages/352.jpg 55,59,190,146,0
VOCdevkit/VOC2007/JPEGImages/359.jpg 104,44,257,208,0
VOCdevkit/VOC2007/JPEGImages/381.jpg 62,41,199,277,0
VOCdevkit/VOC2007/JPEGImages/403.jpg 57,56,196,202,4
VOCdevkit/VOC2007/JPEGImages/424.jpg 36,30,107,126,4
VOCdevkit/VOC2007/JPEGImages/435.jpg 66,55,199,230,4
VOCdevkit/VOC2007/JPEGImages/456.jpg 40,23,114,111,4
VOCdevkit/VOC2007/JPEGImages/460.jpg 25,15,90,104,4
VOCdevkit/VOC2007/JPEGImages/463.jpg 15,12,65,76,4
VOCdevkit/VOC2007/JPEGImages/469.jpg 48,51,217,230,4
VOCdevkit/VOC2007/JPEGImages/510.jpg 55,75,289,309,5
VOCdevkit/VOC2007/JPEGImages/511.jpg 15,6,110,93,5
VOCdevkit/VOC2007/JPEGImages/52.jpg 47,32,187,196,1
VOCdevkit/VOC2007/JPEGImages/525.jpg 8,1,269,230,5
VOCdevkit/VOC2007/JPEGImages/531.jpg 31,32,257,248,5
VOCdevkit/VOC2007/JPEGImages/535.jpg 17,6,256,222,5
VOCdevkit/VOC2007/JPEGImages/538.jpg 15,14,234,195,5
VOCdevkit/VOC2007/JPEGImages/548.jpg 9,7,71,89,5
VOCdevkit/VOC2007/JPEGImages/550.jpg 25,7,214,218,5
VOCdevkit/VOC2007/JPEGImages/555.jpg 18,25,196,258,5
VOCdevkit/VOC2007/JPEGImages/558.jpg 33,20,305,298,5
VOCdevkit/VOC2007/JPEGImages/560.jpg 22,1,234,226,5
VOCdevkit/VOC2007/JPEGImages/574.jpg 18,8,82,76,5
VOCdevkit/VOC2007/JPEGImages/576.jpg 21,37,260,260,5
VOCdevkit/VOC2007/JPEGImages/584.jpg 27,36,253,262,5
VOCdevkit/VOC2007/JPEGImages/595.jpg 70,52,549,579,5
VOCdevkit/VOC2007/JPEGImages/60.jpg 5,9,89,96,1
VOCdevkit/VOC2007/JPEGImages/607.jpg 29,37,159,219,7
VOCdevkit/VOC2007/JPEGImages/624.jpg 29,59,189,224,7
VOCdevkit/VOC2007/JPEGImages/659.jpg 15,7,60,88,7
VOCdevkit/VOC2007/JPEGImages/661.jpg 8,5,50,53,7
VOCdevkit/VOC2007/JPEGImages/674.jpg 75,44,339,443,7
VOCdevkit/VOC2007/JPEGImages/697.jpg 50,52,275,373,7
VOCdevkit/VOC2007/JPEGImages/7.jpg 45,66,172,236,1
VOCdevkit/VOC2007/JPEGImages/707.jpg 50,22,506,531,6
VOCdevkit/VOC2007/JPEGImages/712.jpg 18,29,345,268,6
VOCdevkit/VOC2007/JPEGImages/728.jpg 16,13,108,96,6
VOCdevkit/VOC2007/JPEGImages/73.jpg 52,27,176,194,1
VOCdevkit/VOC2007/JPEGImages/74.jpg 26,26,162,140,1
VOCdevkit/VOC2007/JPEGImages/754.jpg 40,67,265,275,6
VOCdevkit/VOC2007/JPEGImages/758.jpg 9,14,110,70,6
VOCdevkit/VOC2007/JPEGImages/765.jpg 13,10,51,52,6
VOCdevkit/VOC2007/JPEGImages/768.jpg 4,9,120,86,6
VOCdevkit/VOC2007/JPEGImages/782.jpg 62,23,295,257,6
VOCdevkit/VOC2007/JPEGImages/811.jpg
VOCdevkit/VOC2007/JPEGImages/817.jpg
VOCdevkit/VOC2007/JPEGImages/818.jpg
VOCdevkit/VOC2007/JPEGImages/835.jpg
VOCdevkit/VOC2007/JPEGImages/865.jpg
VOCdevkit/VOC2007/JPEGImages/871.jpg
VOCdevkit/VOC2007/JPEGImages/875.jpg
VOCdevkit/VOC2007/JPEGImages/881.jpg
VOCdevkit/VOC2007/JPEGImages/894.jpg
VOCdevkit/VOC2007/JPEGImages/898.jpg 13,12,118,170,3
VOCdevkit/VOC2007/JPEGImages/90.jpg 15,16,48,60,1
VOCdevkit/VOC2007/JPEGImages/907.jpg 21,14,132,167,3
VOCdevkit/VOC2007/JPEGImages/922.jpg 23,1,160,200,2
VOCdevkit/VOC2007/JPEGImages/937.jpg 56,30,268,365,2
VOCdevkit/VOC2007/JPEGImages/939.jpg 41,5,322,419,2
VOCdevkit/VOC2007/JPEGImages/942.jpg 39,34,173,209,2
VOCdevkit/VOC2007/JPEGImages/962.jpg 27,7,101,125,2
VOCdevkit/VOC2007/JPEGImages/964.jpg 18,26,128,155,2
VOCdevkit/VOC2007/JPEGImages/980.jpg 26,21,106,129,2
VOCdevkit/VOC2007/JPEGImages/993.jpg 36,29,163,183,2
VOCdevkit/VOC2007/JPEGImages/999.jpg 28,23,270,316,2
================================================
FILE: Pipfile
================================================
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
streamlit = "<1.11.*"
opencv-python = "4.5.2.52"
numpy = "*"
torchvision = "0.9.1"
torch = "1.8.1"
Pillow = "8.2.0"
pyyaml = "6.0"
matplotlib = "*"
opencv-python-headless = "4.5.2.52"
av = "*"
streamlit-webrtc = "0.36.1"
altair = "4.2.2"
================================================
FILE: README.md
================================================
# 基于计算机视觉手势识别控制系统YoLoGesture (利用YOLO实现)

Streamlit在线服务器体验网址: [https://kedreamix-yologesture.streamlit.app/](https://kedreamix-yologesture.streamlit.app/)
HuggingFace在线服务器体验网址:[https://huggingface.co/spaces/Kedreamix/YoloGesture](https://huggingface.co/spaces/Kedreamix/YoloGesture)
- [1. 项目已完成的部分](#1-项目已完成的部分)
- [2. 部分尝试结果](#2-部分尝试结果)
- [3. 项目整体框架](#3-项目整体框架)
- [3.1. 数据集构建](#31-数据集构建)
- [3.2. 模型选择](#32-模型选择)
- [3.3. 代码实现](#33-代码实现)
- [4. 实验结果详情](#4-实验结果详情)
- [4.1. 训练权重文件下载](#41-训练权重文件下载)
- [4.2. 数据集概况](#42-数据集概况)
- [5. 环境配置](#5-环境配置)
- [6. 快速运行代码](#6-快速运行代码)
- [7. 训练预测细节解释](#7-训练预测细节解释)
- [7.1. 训练配置文件(重点)](#71-训练配置文件重点)
- [7.2. 训练自己数据集](#72-训练自己数据集)
- [7.3. 使用Tensorboard可视化结果](#73-使用tensorboard可视化结果)
- [7.4. 预测步骤](#74-预测步骤)
- [7.5. 评估步骤](#75-评估步骤)
- [8. Streamlit 项目部署](#8-streamlit-项目部署)
- [8.1. 本地运行](#81-本地运行)
- [8.2. 检测方法](#82-检测方法)
- [8.3. 选择模型以及参数](#83-选择模型以及参数)
- [9. 参考Reference](#9-参考reference)
- [10. 代码权重可复现,已开源(求🌟🌟🌟)](#10-代码权重可复现已开源求)
## 1. 项目已完成的部分
- [x] 数据集的构建
- [x] 代码的基本运行和训练
- [x] 增加数据集 800 -> 1600
- [x] 利用Mosaic数据增强,但是结果不好,之后训练不会采用,除非数据足够多
- [x] 增加yaml文件,利用yaml配置所有参数
- [x] 提高图片的输入shape,从256x256 -> 416x416
- [x] 由于结果不理想,使用部分自制数据集替换,数据集总数不变
- [x] 添加yolov4 tiny 轻量化模型
- [x] 增加注意力机制,可以比轻量化模型得到更不错的结果
<!-- 使用MobileNet作为backbone,轻量化模型 使用yolov5 或者 yolox 改进方法 -->
## 2. 部分尝试结果
- [x] 使用Mosaic 结果较差
- [x] 在运行过程中结果十分差,原因是数据集标注出现错误,会重新修改数据集
- [x] 用SGD的结果没有Adam好
- [x] front的数据集需要重新修改才能得到更好的结果
- [x] 使用tiny模型速度更快,结果虽然差一点,但是只是一个速度与精度的trade off
## 3. 项目整体框架
1、 了解项目研究的背景以及其意义,学习其中的创新点和科研价值。
2、 使用python语言对项目中的代码进行编写。研究项目源代码,理解项目工程的代码结构、原理及其功能。
3、 学习深度学习算法。理解卷积神经网络的相关概念,包括神经元系统、局部感受野、权值共享和卷积神经网络总体结构;了解目前常见的目标检测方法和YOLOv4算法框架,以及基于YOLOv4的手势识别算法。
4、 设计并制作针对本项目手势控制数据集,并使用数据增广的方式对数据集进行扩充,同时使用图像处理的方法包括中值滤波、阈值分割等对数据进行预处理。
5、 训练模型,对目标检测性能进行测试。了解实验环境以及评价标准,测试本项目研究的手势识别算法的实验结果,然后通过采用控制变量方法对手势识别算法进行多组实验,以评估其在不同环境下的识别效果,使用验证集对手势识别算法的精度和速度进行性能测试。
6、 总结本项目的研究工作,对基于无人机的手势识别演剧提供创新点与发展建议。
### 3.1. 数据集构建
1. 设计并制作针对本项目手势控制数据集,对数据集进行分类。

2. 使用Labelimg标注工具设计针对本项目的手势数据集,对数据集进行标注。

### 3.2. 模型选择
在前期的模型选择中,简单的选择了YOLOv4的模型进行训练和测试
**YOLOv4 = CSPDarknet53(主干) + SPP** **附加模块(颈** **) +** **PANet** **路径聚合(颈** **) + YOLOv3(头部)**

### 3.3. 代码实现
- [x] 主干特征提取网络:DarkNet53 => CSPDarkNet53
- [x] 特征金字塔:SPP,PAN
- [x] 训练用到的小技巧:Mosaic数据增强、Label Smoothing平滑、CIOU、学习率余弦退火衰减
- [x] 激活函数:使用Mish激活函数
- [x] 增加yaml配置文件,只需要修改配置文件即可
- [x] 添加detect.py,利用此进行半自动标注,可以方便标注其他类似于对应👋的数据集
- [x] 修改成命令行运行的快速模式,很方便,快速运行和理解
- [x] 利用streamlit部署到服务器上,可以随时使用,在线demo [https://kedreamix-yologesture.streamlit.app/](https://kedreamix-yologesture.streamlit.app/)
- [ ] ......
## 4. 实验结果详情
| 训练数据集 | 权值文件名称 | 迭代次数 | Batch-size | 图片shape | 平均准确率 | mAP 0.5 | fps |
| :--------: | :----------------------------------------------------------: | :------: | :--------: | :-------: | :--------: | :-----: | ----- |
| Gesture v1 | yolo4_gesture_weights.pth | 150 | 4->8 | 256x256 | 61.65 | 51.66 | |
| Gesture v2 | yolo4tiny_gesture_SE.pth | 100 | 64->32 | 416x416 | 83.6 | 95.18 | 76.08 |
| Gesture v2 | yolo4tiny_gesture_CBAM.pth | 100 | 64->32 | 416x416 | 89.35 | 98.85 | 70.01 |
| Gesture v2 | yolo4tiny_gesture_ECA.pth | 100 | 64->32 | 416x416 | 88.37 | 96.26 | 77.19 |
| Gesture v2 | yolo4tiny_gesture.pth | 100 | 64->32 | 416x416 | 87.01 | 95.86 | 81.81 |
| Gesture v2 | yolo4_gesture_weightsv2.pth | 100 | 4->8 | 256x256 | 84.51 | 90.77 | 24.21 |
| Gesture v3 | [yolov4_tiny.pth](https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_tiny.pth) | 150 | 64->32 | 416x416 | 75.05 | 91.30 | |
| Gesture v3 | [yolov4_SE.pth](https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_SE.pth) | 150 | 64->32 | 416x416 | 78.06 | 90.13 | |
| Gesture v3 | [yolov4_CBAM.pth](https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_CBAM.pth) | 150 | 64->32 | 416x416 | 91.09 | 94.97 | |
| Gesture v3 | [yolov4_ECA.pth](https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_ECA.pth) | 150 | 64->32 | 416x416 | 94.58 | 83.24 | |
| Gesture v3 | [yolov4_weights_ep150_416.pth](https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_weights_ep150_416.pth) | 150 | 64->32 | 416x416 | 95.145 | 98.35 | |
| Gesture v3 | [yolov4_weights_ep150_608.pth](https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_weights_ep150_608.pth) | 150 | 64->32 | 608x608 | 93.64 | 97.23 | |
> Gesture v1中存在数据集问题,所以模型结构不好
>
> Gesture v2中重新修改数据集
>
> Gesture v3中修改front数据集
Batch-Size 64->32是指在进行训练的时候,前半段冻结的时候使用的bs为64,在后续不冻结训练使用bs=32
### 4.1. 训练权重文件下载
训练所需的yolo4_weights.pth有两种方式下载。(release包含所有过程的权重,百度网盘和奶牛只记录最新的权重)
- 可以从我的release下载权重 [https://github.com/Kedreamix/YoloGesture/releases/tag/v1.0](https://github.com/Kedreamix/YoloGesture/releases/tag/v1.0)
- 可以从我的huggingface的model下载权重 [https://huggingface.co/Kedreamix/YoloGestureWeights](https://huggingface.co/Kedreamix/YoloGestureWeights)
- 也可以百度网盘下载
链接:https://pan.baidu.com/s/1Pt11VHMaHqSsPjb50W5IeQ
提取码:6666
- 由于百度网盘下载速度较慢,这里也给一个不限速的链接 (永久有效)
传输链接:https://cowtransfer.com/s/dc5e0f7f43a940 或 打开【奶牛快传】cowtransfer.com 使用传输口令:ftyvu0 提取;
### 4.2. 数据集概况

- **Gesture v1** 只有800张图片,数量较少
- **Gesture** **v2** 增加了800张图片,数量增多,一共1600张图片
在运行过程中结果十分差,原因是数据集标注出现错误,会重新修改数据集
- **Gesture v3** 中修改了front的手势,使得front结果大大提升,平均准确率增大
> 上述展示图是关于Gesture v1的手势,后续数据进行了修改
整体数据集一共含有1600张,8个类别的手势,我的Gesture v3最后就是8个类别,大概1600张的数据集,类别分别是
- up
- down
- left
- right
- front
- back
- clockwise
- anticlockwise
数据已经放在release中了,可以下载自用
> 之后我也做了类似的手势识别的任务,里面的数据集有18个类别 HaGRID手势识别数据集,里面的手势结果更多,并且也更大,总共有716G,建议可以缩小以后进行训练增强,如果有机会,我可以拿一个多类别的我也来训练一下
>
> 以下是HaGRID的手势识别的类别,支持更多的手势识别的结果,这是官方下载地址:[https://github.com/hukenovs/hagrid](https://github.com/hukenovs/hagrid)
>
> [](https://github.com/hukenovs/hagrid/blob/master/images/gestures.jpg)
## 5. 环境配置
我用的是torch==1.8.1 torchvision==0.9.1
> 代码在更高的版本也是适配的,我觉得可能去>=1.7的应该都是可以的
相对应的库可以直接利用以下代码在当前路径进行运行,利用清华源进行换源
```bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
```
## 6. 快速运行代码
以下可以在命令行中运行,在命令行运行可能会更好一点
<details open>
<summary>Install</summary>
```bash
git clone https://github.com/Kedreamix/YoloGesture.git
cd YoloGesture
pip install -r requirements.txt # -i https://pypi.tuna.tsinghua.edu.cn/simple/ # install 可以加上清华源
```
</details>
<details open>
<summary>Data</summary>
这一部分会生成两个文件,分别是2007_train.txt和2007_val.txt,在每一行包括了图片路径和对应的标签,之后代码会读取文件夹VOCdevkit/VOC2007下的图片和标签
```python
python voc_annotation.py
```
</details>
<details open>
<summary>Optional</summary>
可选,yolov4有对anchors进行Kmeans计算,但是用yolov4自带的也可以,这一部分是可选择的,做完有一个可视化的结果
```python
python kmeans_for_anchors.py
```

</details>
<details open>
<summary>Training</summary>
我们可以在里面设置所需要的参数,phi代表着不同的注意力机制,weights代表着权重,其他的是我们的一些参数的设置,都是可调的,参数的部分解释都可以从python train.py --help看到
```bash
usage: train.py [-h] [--init INIT] [--epochs EPOCHS] [--weights WEIGHTS]
[--freeze] [--freeze-epochs FREEZE_EPOCHS]
[--freeze-size FREEZE_SIZE] [--batch-size BATCH_SIZE]
[--optimizer {sgd,adam,adamw}] [--num_workers NUM_WORKERS]
[--lr LR] [--tiny] [--phi PHI] [--weight-decay WEIGHT_DECAY]
[--momentum MOMENTUM] [--save-period SAVE_PERIOD] [--cuda]
[--shape SHAPE] [--fp16] [--mosaic]
[--lr_decay_type {cos,step}] [--distributed]
optional arguments:
-h, --help show this help message and exit
--init INIT 从init epoch开始训练
--epochs EPOCHS epochs for training
--weights WEIGHTS initial weights path 初始权重的路径
--freeze 表示是否冻结训练
--freeze-epochs FREEZE_EPOCHS
epochs for feeze 冻结训练的迭代次数
--freeze-size FREEZE_SIZE
total batch size for Freezeing
--batch-size BATCH_SIZE
total batch size for all GPUs
--optimizer {sgd,adam,adamw}
训练使用的optimizer
--num_workers NUM_WORKERS
用于设置是否使用多线程读取数据
--lr LR Learning Rate 学习率的初始值
--tiny 使用yolov4-tiny模型
--phi PHI yolov4-tiny所使用的注意力机制的类型
--weight-decay WEIGHT_DECAY
权值衰减,可防止过拟合
--momentum MOMENTUM 优化器中的参数
--save-period SAVE_PERIOD
多少个epochs保存一次权重
--cuda 表示是否使用GPU
--shape SHAPE 输入图像的shape,一定要是32的倍数
--fp16 是否使用混合精度训练
--mosaic Yolov4的tricks应用 马赛克数据增强
--lr_decay_type {cos,step}
cos
--distributed 是否使用多卡运行
```
这里对一些常用参数进行解释
- fp16
由于训练神经网络,有时候得到的权重的精度都是64位或者32位的,保存和训练的时候都占了很多显存,但是有时候这些是不必要的,所以可以利用fp16将精度设为16位,这样大概可以减少一半的显存
- phi
这里解释一下,phi = 0代表的是yolov4_tiny,也就是改进的轻量化yolov4,而phi = 1,2,3分别是加了SE,CBAM,ECA三种注意力机制得到的结果。具体对SE,CBAM,ECA注意力机制不懂的,可以看看这篇博文,我觉得写的蛮好的:[https://blog.csdn.net/weixin_44791964/article/details/121371986](https://blog.csdn.net/weixin_44791964/article/details/121371986),这里不过多介绍。
- freeze
除此之外,可以从下面的代码看出,我们可以冻结进行迁移学习,也可以选择不冻结,通过参数freeze来控制,还可以控制冻结次数的冻结时的batch-size,冻结的时候,可以把batch-size调高一点,并且还可以调一下freeze-epochs参数和freeze-size参数
如果对于不同模型训练的不动的,可以看看下面的训练预测细节解释
```python
# 冻结进行迁移学习,利用已有的yolov4_SE.pth的权重进行
python train.py --tiny --phi 1 --epochs 100 \
--weights model_data/yolov4_SE.pth \
--freeze --freeze-epochs 50 --freeze-size 8 \
--batch-size 4 --shape 416 \
--fp16 --cuda
# 快速运行尝试,重新学习
python train.py --tiny --phi 1 --epochs 10 \
--batch-size 4 --shape 416 \
--fp16 --cuda
```
在后续为了简化操作,不用打那么多的字母,还进行了缩写的修改,把--freeze简化成-f,--weights 简化成 -w, --freeze-epochsj简化成-fe,--freeze-size 简化成fb, --batch-size简化成-bs,这是为了方便运行的时候设置参数
这段代码和上面是等价的
```python
# 冻结进行迁移学习
python train.py --tiny --phi 1 --epochs 100 \
-w model_data/yolov4_SE.pth \
-f -fe 50 -fs 8 \
--bs 4 --shape 416 \
--fp16 --cuda
# 快速运行尝试,重新学习
python train.py --tiny --phi 1 --epochs 10 \
--batch-size 4 --shape 416 \
--fp16 --cuda
```
</details>
<details open>
<summary>Predict</summary>
predict也有一些参数,比如以什么模式运行,分别有['dir_predict', 'video', 'fps','predict','heatmap'],默认是用predict来推理img文件夹下的所有图片
```python
# python predict.py --mode dir_predict \
# --tiny --phi 1 \
# --weights model_data/yolov4_SE.pth \
# --cuda --shape 416
python predict.py --tiny --cuda
```
</details>
<details open>
<summary>Get Map</summary>
这一部分可以得到召回率和精确率等可视化的图片,可以清晰的看到结果
```python
# 对验证集进行计算
# python get_map.py --mode 0 \
# --tiny --phi 1 \
# --weights model_data/yolov4_SE.pth \
# --cuda --shape 416
# python .\get_map.py --cuda --mode 0 --tiny --phi 3 --weights model_data/yolotv4_ECA.pth
python get_map.py --tiny --cuda
```
</details>
所有的参数都可以通过,通过help看到解释
```python
python train.py -h
python get_map.py -h
python predict.py -h
```
除此之外,如果有多个GPU,需要设定指定的GPU,在python前加上配置CUDA_VISIBLE_DEVICES=3,表示使用第四块GPU
```python
# 比如使用第4块GPU
CUDA_VISIBLE_DEVICES=3 python train.py ...
```
或者是多块GPU,比如有0,1两块GPU
```python
# 比如使用第0,1块GPU
CUDA_VISIBLE_DEVICES=0,1 python train.py ...
```
## 7. 训练预测细节解释
### 7.1. 训练配置文件(重点)
这个重中之重,在model_data文件夹下,有一个yaml文件,里面包括部分需要运行的参数
只需要调节里面的参数,然后运行就可以得到我们的结果,完全是ok的,只需要改配置文件,其他参数可以在命令行修改,直接运行也是可以使用的,下面会详细介绍,主要是修改train.py的部分,因为这样可以方便我们训练
```yaml
#------------------------------detect.py--------------------------------#
# 这一部分是为了半自动标注数据,可以减轻负担,需要提前训练一个权重,以Labelme格式保存
# dir_origin_path 图片存放位置
# dir_save_path Annotation保存位置
# ----------------------------------------------------------------------#
dir_detect_path: ./JPEGImages
detect_save_path: ./Annotation
# ----------------------------- train.py -------------------------------#
nc: 8 # 类别的数量
classes: ["up","down","left","right","front","back","clockwise","anticlockwise"] # 类别
confidence: 0.5 # 置信度
nms_iou: 0.3
letterbox_image: False
lr_decay_type: cos # 使用到的学习率下降方式,可选的有step、cos
# 用于设置是否使用多线程读取数据
# 开启后会加快数据读取速度,但是会占用更多内存
# 内存较小的电脑可以设置为2或者0,win建议设为0
num_workers: 4
```
### 7.2. 训练自己数据集
1. 数据集的准备
训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。
训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。
2. 数据集的处理
在完成数据集的摆放之后,我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。
修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path,classes_path用于指向检测类别所对应的txt。
然后再前面所说的data.yaml中写清楚自己的类别以及类别的数量
```bash
nc: 8 # 类别的数量
classes: ["up","down","left","right","front","back","clockwise","anticlockwise"] # 类别
```
3. 开始网络训练
之后根据快速运行train.py,运行train.py开始训练了,在训练多个epoch后,权值会生成在logs文件夹中,可以自己设迭代次数保存权重,如上述快速运行即可。
这里面我内置了5个模型,分别是最原始的yolov4模型,以及yolov4-tiny,yolov4-SE,yolov4-ECA,yolov4-CBAM四种模型,这四种模型都可以进行训练,其中yolov4-tiny,yolov4-SE,yolov4-ECA,yolov4-CBAM都属于小模型,所以认为是tiny模型,得到的权重也比较小速度也会比较快,这几种方式有不同的参数,我现在简单的介绍,我用tiny和phi的参数对他们进行分开
- phi = 0 yolov4-tiny
- phi = 1 yolov4-SE
- phi = 2 yolov4-CBAM
- phi = 3 yolov4-ECA
```python
# yolov4 模型
python train.py --epochs 10 --shape 416 --cuda --batch-size 4
# yolov4-tiny
python train.py --epochs 10 --shape 416 --cuda --batch-size 8 --tiny --phi 0
# yolov4-SE
python train.py --epochs 10 --shape 416 --cuda --batch-size 8 --tiny --phi 1
# yolov4-CBAM
python train.py --epochs 10 --shape 416 --cuda --batch-size 8 --tiny --phi 2
# yolov4-ECA
python train.py --epochs 10 --shape 416 --cuda --batch-size 8 --tiny --phi 3
```
如果还要做其他参数对,也可以看到快速运行代码的训练部分,进行增加一些参数
4. 训练结果预测
训练结果预测需要用到两个文件,分别是yolo.py和predict.py。
完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。 (可以自己设置模式得到结果)
### 7.3. 使用Tensorboard可视化结果
在我们训练的过程中,我们可以用TensorBoard实时查看训练情况,也可以看到训练的网络模型结构,非常方便
只需要在我们的文件夹的命令行下,运行
```bash
tensorboard --logdir='logs/'
```
之后大概我们的6006端口就可以实时看到我们的结果,即是https://localhost:6006
> 如果是使用Ubuntu,有可能会出现一些bug,所以需要进行一些操作,因为会显示无法找到命令
>
> 这时候首先需要找到TensorBoard在库的哪里
>
> ```bash
> pip show tensorboard
> ```
>
> 这样子就能看到自己tensorboard下载的路径
>
> 然后找到TensorBoard的文件夹下,找到main.py文件,就可以进行了,利用绝对路径就可以了
>
> ```
> python .../python3.8/site-packages/tensorboard/main.py --logdir='logs/'
> ```
### 7.4. 预测步骤
1. 下载完库后解压,在百度网盘后者其他地方下载yolo_gesture_weights.pth,放入model_data,运行predict.py,调整权重路径
在predict.py中事先设置了`dir_predict`表示遍历文件夹进行检测并保存。默认遍历img文件夹,保存img_out文件夹,这样就可以在img_out中得到文件
有很多种模式,可以通过mode来调节,这一部分还可以设置参数,我们都可以从help里看到
```bash
predict.py -h
usage: predict.py [-h] [--weights WEIGHTS] [--tiny] [--phi PHI]
[--mode {dir_predict,video,fps,predict,heatmap,export_onnx}]
[--cuda] [--shape SHAPE] [--video VIDEO]
[--save-video SAVE_VIDEO] [--confidence CONFIDENCE]
[--nms_iou NMS_IOU]
optional arguments:
-h, --help show this help message and exit
--weights WEIGHTS initial weights path
--tiny 使用yolotiny模型
--phi PHI yolov4tiny注意力机制类型
--mode {dir_predict,video,fps,predict,heatmap,export_onnx}
预测的模式
--cuda 表示是否使用GPU
--shape SHAPE 输入图像的shape
--video VIDEO 需要检测的视频文件
--save-video SAVE_VIDEO
保存视频的位置
--confidence CONFIDENCE
只有得分大于置信度的预测框会被保留下来
--nms_iou NMS_IOU 非极大抑制所用到的nms_iou大小
```
如果下载了权重于路径model_data/yolov4_tiny.pth,默认是文件夹中的图片模式运行,我们就可以直接运行得到结果
```python
python predict.py --tiny --phi 0 --weights model_data/yolov4_tiny.pth
```
2. 在predict.py里面进行设置可以进行fps测试和video视频检测。 (这一部分可以自己尝试)
这一部分只要设置一下路径和视频即可,分别有多种模式
### 7.5. 评估步骤
1. 本文使用VOC格式进行评估。
2. 如果在训练前已经运行过voc_annotation.py文件,代码会自动将数据集划分成训练集、验证集和测试集。如果想要修改测试集的比例,可以修改voc_annotation.py文件下的trainval_percent。trainval_percent用于指定(训练集+验证集)与测试集的比例,默认情况下 (训练集+验证集):测试集 = 9:1。train_percent用于指定(训练集+验证集)中训练集与验证集的比例,默认情况下 训练集:验证集 = 9:1。
3. 利用voc_annotation.py划分测试集
4. 运行get_map.py即可获得评估结果,评估结果会保存在map_out文件夹中。
## 8. Streamlit 项目部署
经过上述学习过程,最后我利用streamlit进行了项目部署,可以在本地部署,也可以在云端部署,代码已经上传的了,并且我最后部署到了streamlit的服务器中,大家都可以在线体验 [https://kedreamix-yologesture.streamlit.app/](https://kedreamix-yologesture.streamlit.app/),然后选择“Run the app”即可,不需要过多的操作,云端服务器会会自动从我的release中下载模型,所以这个不用担心。
> 关于streamlit的一些方法,可以看一下我另一篇博客,也有对应的github链接,那个简单一点[https://redamancy.blog.csdn.net/article/details/121788919](https://redamancy.blog.csdn.net/article/details/121788919)

### 8.1. 本地运行
打开命令行运行以下代码,记住,首先进行pip install streamlit
```python
streamlit run gesture.streamlit.py
```
运行之后,打开的 https://localhost:8501 就可以看到自己的streamlit的界面了

### 8.2. 检测方法
在这个部署界面中,我一共设了几种方式,分别是
| 测试模型方式 | 测试方式描述 |
| ------------ | ------------------------------------------------------------ |
| Example | 已有一部分数据在服务器的文件夹里,可以读取进行检测 |
| Image | 可以自主上传对应的图片进行检测 |
| Camera | 利用电脑摄像头进行检测,对摄像头进行拍照,然后可以检测fps,heatmap |
| FPS | 上传一张图片进行FPS |
| Heatmap | 进行一个热力图的检测,可以看到模型关注哪一部分 |
| Real Time | 实时检测,可能这一部分在云服务器有点bug,可能要在自己电脑下才能正常运行,云端不可用 |
| Video | 传入视频进行检测 |
### 8.3. 选择模型以及参数
并且在下面的部分,也设置了几个参数,首先是使用的模型,根据前面所说的,一共有五种模型,并且可以调节传入的shape,这里注意一下,如果选择tiny模型,要勾选☑️使用tiny模型,要不默认全是yolov4模型,然后tiny模型的shape统一只有416,只有yolov4模型有一个608和416,可以根据自己的情况选择。
除此之外,还可以调节一下confidence和nms的参数,默认分别是0.5和0.3,这个是可以通过滑动杆来修改的

## 9. 参考Reference
- [https://github.com/bubbliiiing/yolov4-pytorch](https://github.com/bubbliiiing/yolov4-pytorch)
- [https://github.com/qqwweee/keras-yolo3/](https://github.com/qqwweee/keras-yolo3/)
- [https://github.com/Ma-Dan/keras-yolo4](https://github.com/Ma-Dan/keras-yolo4)
## 10. 代码权重可复现,已开源(求🌟🌟🌟)
所有的上述代码权重全部可复现,已经全部开源,有需要可以自取https://github.com/Kedreamix/YoloGesture
有问题欢迎在issue中讨论,最后创作不易,给我个星星吧哈哈哈star一下,🌟🌟🌟
================================================
FILE: VOCdevkit/VOC2007/Annotations/1.xml
================================================
<annotation>
<folder>JPEGImages</folder>
<filename>1.jpg</filename>
<path>E:\handpose_x_gesture_v2\JPEGImages\1.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>175</width>
<height>223</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>down</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>21</xmin>
<ymin>7</ymin>
<xmax>174</xmax>
<ymax>210</ymax>
</bndbox>
</object>
</annotation>
================================================
FILE: VOCdevkit/VOC2007/Annotations/2.xml
================================================
<annotation>
<folder>JPEGImages</folder>
<filename>2.jpg</filename>
<path>E:\handpose_x_gesture_v2\JPEGImages\2.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>274</width>
<height>295</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>down</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>44</xmin>
<ymin>20</ymin>
<xmax>259</xmax>
<ymax>264</ymax>
</bndbox>
</object>
</annotation>
================================================
FILE: VOCdevkit/VOC2007/Annotations/3.xml
================================================
<annotation>
<folder>JPEGImages</folder>
<filename>3.jpg</filename>
<path>E:\handpose_x_gesture_v2\JPEGImages\3.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>325</width>
<height>363</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>down</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>30</xmin>
<ymin>59</ymin>
<xmax>261</xmax>
<ymax>297</ymax>
</bndbox>
</object>
</annotation>
================================================
FILE: VOCdevkit/VOC2007/Annotations/4.xml
================================================
<annotation>
<folder>JPEGImages</folder>
<filename>4.jpg</filename>
<path>E:\handpose_x_gesture_v2\JPEGImages\4.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>306</width>
<height>299</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>down</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>44</xmin>
<ymin>45</ymin>
<xmax>264</xmax>
<ymax>256</ymax>
</bndbox>
</object>
</annotation>
================================================
FILE: VOCdevkit/VOC2007/Annotations/5.xml
================================================
<annotation>
<folder>JPEGImages</folder>
<filename>5.jpg</filename>
<path>E:\handpose_x_gesture_v2\JPEGImages\5.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>191</width>
<height>211</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>down</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>31</xmin>
<ymin>19</ymin>
<xmax>152</xmax>
<ymax>167</ymax>
</bndbox>
</object>
</annotation>
================================================
FILE: VOCdevkit/VOC2007/Annotations/README.md
================================================
存放标签文件
================================================
FILE: VOCdevkit/VOC2007/ImageSets/Main/README.md
================================================
存放训练索引文件
================================================
FILE: VOCdevkit/VOC2007/ImageSets/Main/test.txt
================================================
================================================
FILE: VOCdevkit/VOC2007/ImageSets/Main/train.txt
================================================
10
100
1000
1001
1002
1003
1005
1006
1007
1008
1009
101
1010
1011
1012
1013
1014
1015
1016
1017
1019
102
1020
1021
1022
1023
1024
1025
1026
1028
1029
103
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
104
1040
1041
1042
1043
1044
1045
1046
1047
1048
105
1050
1051
1052
1053
1054
1056
1057
1058
1059
106
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
107
1070
1071
1072
1074
1075
1076
1077
1078
1079
108
1080
1081
1083
1084
1085
1086
1088
1089
109
1090
1091
1094
1096
1098
11
110
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
111
1111
1112
1113
1114
1115
1116
1117
1118
1119
112
1120
1121
1122
1123
1124
1125
1126
1127
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
114
1140
1141
1142
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1155
1156
1157
1158
116
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
117
1170
1171
1172
1173
1174
1175
1176
1178
1179
118
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
119
1190
1191
1192
1193
1195
1196
1197
1198
1199
12
120
1202
1203
1204
1205
1206
1207
1208
1209
121
1210
1211
1213
1214
1216
1217
1218
1219
122
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
123
1230
1231
1232
1234
1235
1236
1237
1238
1239
124
1240
1241
1242
1243
1244
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1259
126
1260
1261
1263
1264
1265
1266
1267
1268
1269
127
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
128
1280
1281
1282
1284
1285
1286
1287
1288
1289
129
1290
1291
1292
1293
1295
1296
1297
1298
1299
13
130
1300
1301
1302
1303
1304
1305
1306
1307
1308
131
1310
1311
1312
1313
1314
1316
1317
1318
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
133
1330
1331
1332
1333
1334
1335
1336
1338
134
1340
1342
1343
1344
1345
1346
1347
1348
1349
135
1350
1352
1353
1354
1355
1356
1357
1358
1359
136
1360
1361
1362
1363
1364
1365
1366
1367
1369
137
1370
1372
1373
1374
1375
1376
1377
1378
1379
138
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
139
1390
1391
1392
1394
1395
1396
1397
1398
1399
14
1400
1401
1402
1403
1404
1405
1406
1407
1409
141
1410
1411
1412
1413
1414
1416
1417
1418
142
1420
1421
1422
1424
1425
1426
1427
1428
1429
143
1430
1431
1432
1433
1434
1435
1436
1437
1439
1440
1441
1442
1443
1444
1445
1446
1448
1449
145
1450
1452
1454
1456
1458
1459
146
1460
1461
1462
1463
1464
1465
1466
1467
1468
147
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
148
1480
1482
1483
1484
1485
1487
1488
1489
149
1490
1491
1492
1494
1495
1496
1497
1498
1499
15
150
1500
1501
1502
1503
1504
1506
1507
1508
1509
151
1510
1511
1512
1513
1515
1516
1517
1518
1519
152
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1532
1533
1534
1535
1536
1537
1539
154
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1554
1555
1556
1557
1558
1559
156
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
157
1571
1572
1573
1574
1575
1576
1577
1578
1579
158
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
159
1591
1592
1593
1594
1595
1596
1597
1598
1599
16
160
1600
161
162
163
164
165
166
168
169
17
170
171
172
173
174
175
176
177
178
18
182
183
184
185
186
187
189
19
190
193
194
195
196
197
198
199
2
200
201
202
203
204
205
206
207
208
209
21
210
212
213
214
215
216
217
218
219
22
220
221
222
223
224
225
226
227
228
230
231
232
233
234
235
236
237
238
239
24
240
241
242
243
244
245
246
247
25
250
251
252
253
254
255
256
257
258
259
26
260
261
262
263
265
266
267
268
269
27
270
271
272
273
274
275
276
277
278
279
28
280
281
284
285
286
287
288
291
294
295
296
297
298
299
3
30
300
301
302
303
304
305
306
307
308
309
31
310
311
312
313
314
315
316
317
318
319
32
320
321
322
323
324
325
326
327
328
329
33
330
331
332
334
335
337
338
339
34
340
341
342
343
344
345
346
347
348
349
35
350
351
353
354
355
356
357
358
36
360
361
362
363
364
365
366
367
368
369
37
370
371
372
373
374
375
376
377
378
379
38
380
382
383
384
385
386
387
388
389
39
390
391
392
393
394
395
396
397
398
399
4
40
400
401
402
404
405
406
407
408
409
41
410
411
412
413
414
415
416
417
418
419
42
420
421
422
423
425
426
427
428
429
43
430
431
432
433
434
436
437
438
439
44
440
441
442
443
444
445
446
447
448
449
45
450
451
452
453
454
455
457
458
459
46
461
462
464
465
466
467
468
47
470
471
472
473
474
475
476
477
478
479
48
480
481
482
483
484
485
486
487
488
489
49
490
491
492
493
494
495
496
497
498
499
5
50
500
501
502
503
504
505
506
507
508
509
51
512
513
514
515
516
517
518
519
520
521
522
523
524
526
527
528
529
53
530
532
533
534
536
537
539
54
540
541
542
543
544
545
546
547
549
55
551
552
553
554
556
557
559
56
561
562
563
564
565
566
567
568
569
57
570
571
572
573
575
577
578
579
58
580
581
582
583
585
586
587
588
589
59
590
591
592
593
594
596
597
598
599
6
600
601
602
603
604
605
606
608
609
61
610
611
612
613
614
615
616
617
618
619
62
620
621
622
623
625
626
627
628
629
63
630
631
632
633
634
635
636
637
638
639
64
640
641
642
643
644
645
646
647
648
649
65
650
651
652
653
654
655
656
657
658
66
660
662
663
664
665
666
667
668
669
67
670
671
672
673
675
676
677
678
679
68
680
681
682
683
684
685
686
687
688
689
69
690
691
692
693
694
695
696
698
699
70
700
701
702
703
704
705
706
708
709
71
710
711
713
714
715
716
717
718
719
72
720
721
722
723
724
725
726
727
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
75
750
751
752
753
755
756
757
759
76
760
761
762
763
764
766
767
769
77
770
771
772
773
774
775
776
777
778
779
78
780
781
783
784
785
786
787
788
789
79
790
791
792
793
794
795
796
797
798
799
8
80
800
801
802
803
804
805
806
807
808
809
81
810
812
813
814
815
816
819
82
820
821
822
823
824
825
826
827
828
829
83
830
831
832
833
834
836
837
838
839
84
840
841
842
843
844
845
846
847
848
849
85
850
851
852
853
854
855
856
857
858
859
86
860
861
862
863
864
866
867
868
869
87
870
872
873
874
876
877
878
879
88
880
882
883
884
885
886
887
888
889
89
890
891
892
893
895
896
897
899
9
900
901
902
903
904
905
906
908
909
91
910
911
912
913
914
915
916
917
918
919
92
920
921
923
924
925
926
927
928
929
93
930
931
932
933
934
935
936
938
94
940
941
943
944
945
946
947
948
949
95
950
951
952
953
954
955
956
957
958
959
96
960
961
963
965
966
967
968
969
97
970
971
972
973
974
975
976
977
978
979
98
981
982
983
984
985
986
987
988
989
99
990
991
992
994
995
996
997
998
================================================
FILE: VOCdevkit/VOC2007/ImageSets/Main/trainval.txt
================================================
1
10
100
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
101
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
102
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
103
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
104
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
105
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
106
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
107
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
108
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
109
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
11
110
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
111
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
112
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
113
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
114
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
115
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
116
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
117
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
118
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
119
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
12
120
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
121
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
122
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
123
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
124
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
125
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
126
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
127
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
128
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
129
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
13
130
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
131
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
132
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
133
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
134
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
135
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
136
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
137
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
138
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
139
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
14
140
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
141
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
142
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
143
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
144
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
145
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
146
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
147
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
148
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
149
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
15
150
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
151
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
152
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
153
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
154
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
155
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
156
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
157
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
158
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
159
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
16
160
1600
161
162
163
164
165
166
167
168
169
17
170
171
172
173
174
175
176
177
178
179
18
180
181
182
183
184
185
186
187
188
189
19
190
191
192
193
194
195
196
197
198
199
2
20
200
201
202
203
204
205
206
207
208
209
21
210
211
212
213
214
215
216
217
218
219
22
220
221
222
223
224
225
226
227
228
229
23
230
231
232
233
234
235
236
237
238
239
24
240
241
242
243
244
245
246
247
248
249
25
250
251
252
253
254
255
256
257
258
259
26
260
261
262
263
264
265
266
267
268
269
27
270
271
272
273
274
275
276
277
278
279
28
280
281
282
283
284
285
286
287
288
289
29
290
291
292
293
294
295
296
297
298
299
3
30
300
301
302
303
304
305
306
307
308
309
31
310
311
312
313
314
315
316
317
318
319
32
320
321
322
323
324
325
326
327
328
329
33
330
331
332
333
333
334
335
336
337
338
339
34
340
341
342
343
344
345
346
347
348
349
35
350
351
352
353
354
355
356
357
358
359
36
360
361
362
363
364
365
366
367
368
369
37
370
371
372
373
374
375
376
377
378
379
38
380
381
382
383
384
385
386
387
388
389
39
390
391
392
393
394
395
396
397
398
399
4
40
400
401
402
403
404
405
406
407
408
409
41
410
411
412
413
414
415
416
417
418
419
42
420
421
422
423
424
425
426
427
428
429
43
430
431
432
433
434
435
436
437
438
439
44
440
441
442
443
444
445
446
447
448
449
45
450
451
452
453
454
455
456
457
458
459
46
460
461
462
463
464
465
466
467
468
469
47
470
471
472
473
474
475
476
477
478
479
48
480
481
482
483
484
485
486
487
488
489
49
490
491
492
493
494
495
496
497
498
499
5
50
500
501
502
503
504
505
506
507
508
509
51
510
511
512
513
514
515
516
517
518
519
52
520
521
522
523
524
525
526
527
528
529
53
530
531
532
533
534
535
536
537
538
539
54
540
541
542
543
544
545
546
547
548
549
55
550
551
552
553
554
555
556
557
558
559
56
560
561
562
563
564
565
566
567
568
569
57
570
571
572
573
574
575
576
577
578
579
58
580
581
582
583
584
585
586
587
588
589
59
590
591
592
593
594
595
596
597
598
599
6
60
600
601
602
603
604
605
606
607
608
609
61
610
611
612
613
614
615
616
617
618
619
62
620
621
622
623
624
625
626
627
628
629
63
630
631
632
633
634
635
636
637
638
639
64
640
641
642
643
644
645
646
647
648
649
65
650
651
652
653
654
655
656
657
658
659
66
660
661
662
663
664
665
666
667
668
669
67
670
671
672
673
674
675
676
677
678
679
68
680
681
682
683
684
685
686
687
688
689
69
690
691
692
693
694
695
696
697
698
699
7
70
700
701
702
703
704
705
706
707
708
709
71
710
711
712
713
714
715
716
717
718
719
72
720
721
722
723
724
725
726
727
728
729
73
730
731
732
733
734
735
736
737
738
739
74
740
741
742
743
744
745
746
747
748
749
75
750
751
752
753
754
755
756
757
758
759
76
760
761
762
763
764
765
766
767
768
769
77
770
771
772
773
774
775
776
777
778
779
78
780
781
782
783
784
785
786
787
788
789
79
790
791
792
793
794
795
796
797
798
799
8
80
800
801
802
803
804
805
806
807
808
809
81
810
811
812
813
814
815
816
817
818
819
82
820
821
822
823
824
825
826
827
828
829
83
830
831
832
833
834
835
836
837
838
839
84
840
841
842
843
844
845
846
847
848
849
85
850
851
852
853
854
855
856
857
858
859
86
860
861
862
863
864
865
866
867
868
869
87
870
871
872
873
874
875
876
877
878
879
88
880
881
882
883
884
885
886
887
888
889
89
890
891
892
893
894
895
896
897
898
899
9
90
900
901
902
903
904
905
906
907
908
909
91
910
911
912
913
914
915
916
917
918
919
92
920
921
922
923
924
925
926
927
928
929
93
930
931
932
933
934
935
936
937
938
939
94
940
941
942
943
944
945
946
947
948
949
95
950
951
952
953
954
955
956
957
958
959
96
960
961
962
963
964
965
966
967
968
969
97
970
971
972
973
974
975
976
977
978
979
98
980
981
982
983
984
985
986
987
988
989
99
990
991
992
993
994
995
996
997
998
999
================================================
FILE: VOCdevkit/VOC2007/ImageSets/Main/val.txt
================================================
1
1004
1018
1027
1049
1055
1073
1082
1087
1092
1093
1095
1097
1099
1110
1128
1129
113
1143
115
1154
1159
1177
1194
1200
1201
1212
1215
1233
1245
1246
125
1258
1262
1283
1294
1309
1315
1319
132
1337
1339
1341
1351
1368
1371
1393
140
1408
1415
1419
1423
1438
144
1447
1451
1453
1455
1457
1469
1481
1486
1493
1505
1514
153
1531
1538
155
1553
1570
1590
167
179
180
181
188
191
192
20
211
229
23
248
249
264
282
283
289
29
290
292
293
333
333
336
352
359
381
403
424
435
456
460
463
469
510
511
52
525
531
535
538
548
550
555
558
560
574
576
584
595
60
607
624
659
661
674
697
7
707
712
728
73
74
754
758
765
768
782
811
817
818
835
865
871
875
881
894
898
90
907
922
937
939
942
962
964
980
993
999
================================================
FILE: YOLOv4-study学习资料md
================================================
# YOLOv4 学习资料

[Tianxiaomo](https://github.com/Tianxiaomo)/**[pytorch-YOLOv4](https://github.com/Tianxiaomo/pytorch-YOLOv4)** star 3.5k
PyTorch ,ONNX and TensorRT implementation of *YOLOv4*
[WongKinYiu](https://github.com/WongKinYiu)/**[PyTorch_YOLOv4](https://github.com/WongKinYiu/PyTorch_YOLOv4)** star 1.5k
PyTorch implementation of *YOLOv4*
[argusswift](https://github.com/argusswift)/**[YOLOv4-pytorch ](https://github.com/argusswift/YOLOv4-pytorch)** star 1.4k
This is a pytorch repository of *YOLOv4*, attentive *YOLOv4* and mobilenet *YOLOv4* with PASCAL VOC and COCO
[bubbliiiing/*yolov4*-pytorch ](https://github.com/bubbliiiing/yolov4-pytorch) star 1.2k
这是一个*YoloV4*-pytorch的源码,可以用于训练自己的模型。
## 扩展
[Bil369](https://github.com/Bil369)/**[MaskDetect-YOLOv4-PyTorch](https://github.com/Bil369/MaskDetect-YOLOv4-PyTorch)**
基于*PyTorch*&*YOLOv4*实现的口罩佩戴检测 ⭐ 自建口罩数据集分享
[bobo0810](https://github.com/bobo0810)/**[PytorchNetHub](https://github.com/bobo0810/PytorchNetHub)**
项目注释+论文复现+算法竞赛+Pytorch指北
[Bil369](https://github.com/Bil369)/**[YOLOv4-PyTorch-Simple-Implementation](https://github.com/Bil369/YOLOv4-PyTorch-Simple-Implementation)**
*YOLOv4* *PyTorch* Simple Implementation
================================================
FILE: detect.py
================================================
#-----------------------------------------------------------------------#
# detect.py 是用来尝试利用小模型半自动化进行标注数据
#-----------------------------------------------------------------------#
import numpy as np
from PIL import Image
from get_yaml import get_config
from yolo import YOLO
from gen_annotation import GEN_Annotations
if __name__ == "__main__":# 配置文件
# 配置文件
config = get_config()
yolo = YOLO()
dir_detect_path = config['dir_detect_path']
detect_save_path = config['detect_save_path']
import os
from tqdm import tqdm
img_names = os.listdir(dir_detect_path)
for img_name in tqdm(img_names):
if img_name.lower().endswith(('.bmp', '.dib', '.png', '.jpg', '.jpeg', '.pbm', '.pgm', '.ppm', '.tif', '.tiff')):
# if int(img_name.split('.')[0][-4:]) < 355:
# continue
image_path = os.path.join(dir_detect_path, img_name)
image = Image.open(image_path)
boxes = yolo.get_box(image)
if not os.path.exists(detect_save_path):
os.makedirs(detect_save_path)
annotation = GEN_Annotations(img_name)
w,h = np.array(np.shape(image)[0:2])
annotation.set_size(w,h,3)
if boxes:
for box in boxes:
label,ymin,xmin,ymax,xmax = box
annotation.add_pic_attr(label,xmin,ymin,xmax,ymax)
annotation_path = os.path.join(detect_save_path, img_name.split('.')[0])
annotation.savefile("{}.xml".format(annotation_path ))
# print(img_name,'已经半自动标注')
================================================
FILE: gen_annotation.py
================================================
from lxml import etree
class GEN_Annotations:
def __init__(self, filename):
self.root = etree.Element("annotation")
child1 = etree.SubElement(self.root, "folder")
child1.text = "VOC2007"
child2 = etree.SubElement(self.root, "filename")
child2.text = filename
child3 = etree.SubElement(self.root, "source")
child4 = etree.SubElement(child3, "annotation")
child4.text = "PASCAL VOC2007"
child5 = etree.SubElement(child3, "database")
child5.text = "Unknown"
## child6 = etree.SubElement(child3, "image")
## child6.text = "flickr"
## child7 = etree.SubElement(child3, "flickrid")
## child7.text = "35435"
def set_size(self,witdh,height,channel):
size = etree.SubElement(self.root, "size")
widthn = etree.SubElement(size, "width")
widthn.text = str(witdh)
heightn = etree.SubElement(size, "height")
heightn.text = str(height)
channeln = etree.SubElement(size, "depth")
channeln.text = str(channel)
def savefile(self,filename):
tree = etree.ElementTree(self.root)
tree.write(filename, pretty_print=True, xml_declaration=False, encoding='utf-8')
def add_pic_attr(self,label,xmin,ymin,xmax,ymax):
object = etree.SubElement(self.root, "object")
namen = etree.SubElement(object, "name")
namen.text = label
bndbox = etree.SubElement(object, "bndbox")
xminn = etree.SubElement(bndbox, "xmin")
xminn.text = str(xmin)
yminn = etree.SubElement(bndbox, "ymin")
yminn.text = str(ymin)
xmaxn = etree.SubElement(bndbox, "xmax")
xmaxn.text = str(xmax)
ymaxn = etree.SubElement(bndbox, "ymax")
ymaxn.text = str(ymax)
if __name__ == '__main__':
filename="000001.jpg"
anno= GEN_Annotations(filename)
anno.set_size(1280,720,3)
for i in range(3):
xmin=i+1
ymin=i+10
xmax=i+100
ymax=i+100
anno.add_pic_attr("pikachu",xmin,ymin,xmax,ymax)
anno.savefile("00001.xml")
================================================
FILE: gesture.streamlit.py
================================================
"""Create an Object Detection Web App using PyTorch and Streamlit."""
# import libraries
from PIL import Image
from torchvision import models, transforms
import torch
import streamlit as st
from yolo import YOLO
import os
import urllib
import numpy as np
from streamlit_webrtc import webrtc_streamer, WebRtcMode, RTCConfiguration
import av
# 设置网页的icon
st.set_page_config(page_title='Gesture Detector', page_icon='✌',
layout='centered', initial_sidebar_state='expanded')
RTC_CONFIGURATION = RTCConfiguration(
{
"RTCIceServer": [{
"urls": ["stun:stun.l.google.com:19302"],
"username": "pikachu",
"credential": "1234",
}]
}
)
def main():
# Render the readme as markdown using st.markdown.
readme_text = st.markdown(open("instructions.md",encoding='utf-8').read())
# Once we have the dependencies, add a selector for the app mode on the sidebar.
st.sidebar.title("What to do")
app_mode = st.sidebar.selectbox("Choose the app mode",
["Show instructions", "Run the app", "Show the source code"])
if app_mode == "Show instructions":
st.sidebar.success('To continue select "Run the app".')
elif app_mode == "Show the source code":
readme_text.empty()
st.code(open("gesture.streamlit.py",encoding='utf-8').read())
elif app_mode == "Run the app":
# Download external dependencies.
for filename in EXTERNAL_DEPENDENCIES.keys():
download_file(filename)
readme_text.empty()
run_the_app()
# External files to download.
EXTERNAL_DEPENDENCIES = {
"yolov4_tiny.pth": {
"url": "https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_tiny.pth",
"size": 23631189
},
"yolov4_SE.pth": {
"url": "https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_SE.pth",
"size": 23806027
},
"yolov4_CBAM.pth":{
"url": "https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_CBAM.pth",
"size": 23981478
},
"yolov4_ECA.pth":{
"url": "https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_ECA.pth",
"size": 23632688
},
"yolov4_weights_ep150_608.pth":{
"url": "https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_weights_ep150_608.pth",
"size": 256423031
},
"yolov4_weights_ep150_416.pth":{
"url": "https://github.com/Kedreamix/YoloGesture/releases/download/v1.0/yolov4_weights_ep150_416.pth",
"size": 256423031
},
}
# This file downloader demonstrates Streamlit animation.
def download_file(file_path):
# Don't download the file twice. (If possible, verify the download using the file length.)
if os.path.exists(file_path):
if "size" not in EXTERNAL_DEPENDENCIES[file_path]:
return
elif os.path.getsize(file_path) == EXTERNAL_DEPENDENCIES[file_path]["size"]:
return
# print(os.path.getsize(file_path))
# These are handles to two visual elements to animate.
weights_warning, progress_bar = None, None
try:
weights_warning = st.warning("Downloading %s..." % file_path)
progress_bar = st.progress(0)
with open(file_path, "wb") as output_file:
with urllib.request.urlopen(EXTERNAL_DEPENDENCIES[file_path]["url"]) as response:
length = int(response.info()["Content-Length"])
counter = 0.0
MEGABYTES = 2.0 ** 20.0
while True:
data = response.read(8192)
if not data:
break
counter += len(data)
output_file.write(data)
# We perform animation by overwriting the elements.
weights_warning.warning("Downloading %s... (%6.2f/%6.2f MB)" %
(file_path, counter / MEGABYTES, length / MEGABYTES))
progress_bar.progress(min(counter / length, 1.0))
except Exception as e:
print(e)
# Finally, we remove these visual elements by calling .empty().
finally:
if weights_warning is not None:
weights_warning.empty()
if progress_bar is not None:
progress_bar.empty()
# This is the main app app itself, which appears when the user selects "Run the app".
def run_the_app():
class Config():
def __init__(self, weights = 'yolov4_tiny.pth', tiny = True, phi = 0, shape = 416,nms_iou = 0.3, confidence = 0.5):
self.weights = weights
self.tiny = tiny
self.phi = phi
self.cuda = False
self.shape = shape
self.confidence = confidence
self.nms_iou = nms_iou
# set title of app
st.markdown('<h1 align="center">✌ Gesture Detection</h1>',
unsafe_allow_html=True)
st.sidebar.markdown("# Gesture Detection on?")
activities = ["Example","Image", "Camera", "FPS", "Heatmap","Real Time", "Video"]
choice = st.sidebar.selectbox("Choose among the given options:", activities)
phi = st.sidebar.selectbox("yolov4-tiny 使用的自注意力模式:",('0tiny','1SE','2CABM','3ECA'))
print("")
tiny = st.sidebar.checkbox('是否使用 yolov4 tiny 模型')
if not tiny:
shape = st.sidebar.selectbox("Choose shape to Input:", [416,608])
conf,nms = object_detector_ui()
@st.cache
def get_yolo(tiny,phi,conf,nms,shape=416):
weights = 'yolov4_tiny.pth'
if tiny:
if phi == '0tiny':
weights = 'yolov4_tiny.pth'
elif phi == '1SE':
weights = 'yolov4_SE.pth'
elif phi == '2CABM':
weights = 'yolov4_CBAM.pth'
elif phi == '3ECA':
weights = 'yolov4_ECA.pth'
else:
if shape == 608:
weights = 'yolov4_weights_ep150_608.pth'
elif shape == 416:
weights = 'yolov4_weights_ep150_416.pth'
opt = Config(weights = weights, tiny = tiny , phi = int(phi[0]), shape = shape,nms_iou = nms, confidence = conf)
yolo = YOLO(opt)
return yolo
if tiny:
yolo = get_yolo(tiny, phi, conf, nms)
st.write("YOLOV4 tiny 模型加载完毕")
else:
yolo = get_yolo(tiny, phi, conf, nms, shape)
st.write("YOLOV4 模型加载完毕")
if choice == 'Image':
detect_image(yolo)
elif choice =='Camera':
detect_camera(yolo)
elif choice == 'FPS':
detect_fps(yolo)
elif choice == "Heatmap":
detect_heatmap(yolo)
elif choice == "Example":
detect_example(yolo)
elif choice == "Real Time":
detect_realtime(yolo)
elif choice == "Video":
detect_video(yolo)
# This sidebar UI lets the user select parameters for the YOLO object detector.
def object_detector_ui():
st.sidebar.markdown("# Model")
confidence_threshold = st.sidebar.slider("Confidence threshold", 0.0, 1.0, 0.5, 0.01)
overlap_threshold = st.sidebar.slider("Overlap threshold", 0.0, 1.0, 0.3, 0.01)
return confidence_threshold, overlap_threshold
def predict(image,yolo):
"""Return predictions.
Parameters
----------
:param image: uploaded image
:type image: jpg
:rtype: list
:return: none
"""
crop = False
count = False
try:
# image = Image.open(image)
r_image = yolo.detect_image(image, crop = crop, count=count)
transform = transforms.Compose([transforms.ToTensor()])
result = transform(r_image)
st.image(result.permute(1,2,0).numpy(), caption = 'Processed Image.', use_column_width = True)
except Exception as e:
print(e)
def fps(image,yolo):
test_interval = 50
tact_time = yolo.get_FPS(image, test_interval)
st.write(str(tact_time) + ' seconds, ', str(1/tact_time),'FPS, @batch_size 1')
return tact_time
# print(str(tact_time) + ' seconds, ' + str(1/tact_time) + 'FPS, @batch_size 1')
def detect_image(yolo):
# enable users to upload images for the model to make predictions
file_up = st.file_uploader("Upload an image", type = ["jpg","png","jpeg"])
classes = ["up","down","left","right","front","back","clockwise","anticlockwise"]
class_to_idx = {cls: idx for (idx, cls) in enumerate(classes)}
st.sidebar.markdown("See the model preformance and play with it")
if file_up is not None:
with st.spinner(text='Preparing Image'):
# display image that user uploaded
image = Image.open(file_up)
st.image(image, caption = 'Uploaded Image.', use_column_width = True)
st.balloons()
detect = st.button("开始检测Image")
if detect:
st.write("")
st.write("Just a second ...")
predict(image,yolo)
st.balloons()
def detect_camera(yolo):
picture = st.camera_input("Take a picture")
if picture:
filters_to_funcs = {
"No filter": predict,
"Heatmap": heatmap,
"FPS": fps,
}
filters = st.selectbox("...and now, apply a filter!", filters_to_funcs.keys())
image = Image.open(picture)
with st.spinner(text='Preparing Image'):
filters_to_funcs[filters](image,yolo)
st.balloons()
def detect_fps(yolo):
file_up = st.file_uploader("Upload an image", type = ["jpg","png","jpeg"])
classes = ["up","down","left","right","front","back","clockwise","anticlockwise"]
class_to_idx = {cls: idx for (idx, cls) in enumerate(classes)}
st.sidebar.markdown("See the model preformance and play with it")
if file_up is not None:
# display image that user uploaded
image = Image.open(file_up)
st.image(image, caption = 'Uploaded Image.', use_column_width = True)
st.balloons()
detect = st.button("开始检测 FPS")
if detect:
with st.spinner(text='Preparing Image'):
st.write("")
st.write("Just a second ...")
tact_time = fps(image,yolo)
# st.write(str(tact_time) + ' seconds, ', str(1/tact_time),'FPS, @batch_size 1')
st.balloons()
def heatmap(image,yolo):
heatmap_save_path = "heatmap_vision.png"
yolo.detect_heatmap(image, heatmap_save_path)
img = Image.open(heatmap_save_path)
transform = transforms.Compose([transforms.ToTensor()])
result = transform(img)
st.image(result.permute(1,2,0).numpy(), caption = 'Processed Image.', use_column_width = True)
def detect_heatmap(yolo):
file_up = st.file_uploader("Upload an image", type = ["jpg","png","jpeg"])
classes = ["up","down","left","right","front","back","clockwise","anticlockwise"]
class_to_idx = {cls: idx for (idx, cls) in enumerate(classes)}
st.sidebar.markdown("See the model preformance and play with it")
if file_up is not None:
# display image that user uploaded
image = Image.open(file_up)
st.image(image, caption = 'Uploaded Image.', use_column_width = True)
st.balloons()
detect = st.button("开始检测 heatmap")
if detect:
with st.spinner(text='Preparing Heatmap'):
st.write("")
st.write("Just a second ...")
heatmap(image,yolo)
st.balloons()
def detect_example(yolo):
st.sidebar.title("Choose an Image as a example")
images = os.listdir('./img')
images.sort()
image = st.sidebar.selectbox("Image Name", images)
st.sidebar.markdown("See the model preformance and play with it")
image = Image.open(os.path.join('img',image))
st.image(image, caption = 'Choose Image.', use_column_width = True)
st.balloons()
detect = st.button("开始检测Image")
if detect:
st.write("")
st.write("Just a second ...")
predict(image,yolo)
st.balloons()
def detect_realtime(yolo):
class VideoProcessor:
def recv(self, frame):
img = frame.to_ndarray(format="bgr24")
img = Image.fromarray(img)
crop = False
count = False
r_image = yolo.detect_image(img, crop = crop, count=count)
transform = transforms.Compose([transforms.ToTensor()])
result = transform(r_image)
result = result.permute(1,2,0).numpy()
result = (result * 255).astype(np.uint8)
return av.VideoFrame.from_ndarray(result, format="bgr24")
webrtc_ctx = webrtc_streamer(
key="example",
mode=WebRtcMode.SENDRECV,
rtc_configuration=RTC_CONFIGURATION,
media_stream_constraints={"video": True, "audio": False},
async_processing=False,
video_processor_factory=VideoProcessor
)
import cv2
import time
def detect_video(yolo):
file_up = st.file_uploader("Upload a video", type = ["mp4"])
print(file_up)
classes = ["up","down","left","right","front","back","clockwise","anticlockwise"]
if file_up is not None:
video_path = 'video.mp4'
st.video(file_up)
with open(video_path, 'wb') as f:
f.write(file_up.read())
detect = st.button("开始检测 Video")
if detect:
video_save_path = 'video2.mp4'
# display image that user uploaded
capture = cv2.VideoCapture(video_path)
video_fps = st.slider("Video FPS", 5, 30, int(capture.get(cv2.CAP_PROP_FPS)), 1)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
size = (int(capture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
out = cv2.VideoWriter(video_save_path, fourcc, video_fps, size)
while(True):
# 读取某一帧
ref, frame = capture.read()
if not ref:
break
# 转变成Image
# frame = Image.fromarray(np.uint8(frame))
# 格式转变,BGRtoRGB
frame = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)
# 转变成Image
frame = Image.fromarray(np.uint8(frame))
# 进行检测
frame = np.array(yolo.detect_image(frame))
# RGBtoBGR满足opencv显示格式
frame = cv2.cvtColor(frame,cv2.COLOR_RGB2BGR)
# print("fps= %.2f"%(fps))
# frame = cv2.putText(frame, "fps= %.2f"%(fps), (0, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
out.write(frame)
out.release()
capture.release()
print("Save processed video to the path :" + video_save_path)
with open(video_save_path, "rb") as file:
btn = st.download_button(
label="Download Video",
data=file,
file_name="video.mp4",
)
st.balloons()
if __name__ == "__main__":
main()
================================================
FILE: get_map.py
================================================
import os
import xml.etree.ElementTree as ET
from PIL import Image
from tqdm import tqdm
import yaml
from utils.utils import get_classes
from utils.utils_map import get_coco_map, get_map
from yolo import YOLO
from get_yaml import get_config
import argparse
if __name__ == "__main__":
'''
Recall和Precision不像AP是一个面积的概念,在门限值不同时,网络的Recall和Precision值是不同的。
map计算结果中的Recall和Precision代表的是当预测时,门限置信度为0.5时,所对应的Recall和Precision值。
此处获得的./map_out/detection-results/里面的txt的框的数量会比直接predict多一些,这是因为这里的门限低,
目的是为了计算不同门限条件下的Recall和Precision值,从而实现map的计算。
'''
parser = argparse.ArgumentParser()
parser.add_argument('--weights',type=str,default='model_data/yolotiny_SE_ep100.pth',help='initial weights path')
parser.add_argument('--tiny',action='store_true',help='使用yolotiny模型')
parser.add_argument('--phi',type=int,default=1,help='yolov4tiny注意力机制类型')
parser.add_argument('--mode',type=int,default=0,help='get map的模式')
parser.add_argument('--cuda',action='store_true',help='表示是否使用GPU')
parser.add_argument('--shape',type=int,default=416,help='输入图像的shape')
parser.add_argument('--confidence',type=float,default=0.5,help='只有得分大于置信度的预测框会被保留下来')
parser.add_argument('--nms_iou',type=float,default=0.3,help='非极大抑制所用到的nms_iou大小')
opt = parser.parse_args()
print(opt)
# 配置文件
config = get_config()
#------------------------------------------------------------------------------------------------------------------#
# map_mode用于指定该文件运行时计算的内容
# map_mode为0代表整个map计算流程,包括获得预测结果、获得真实框、计算VOC_map。
# map_mode为1代表仅仅获得预测结果。
# map_mode为2代表仅仅获得真实框。
# map_mode为3代表仅仅计算VOC_map。
# map_mode为4代表利用COCO工具箱计算当前数据集的0.50:0.95map。需要获得预测结果、获得真实框后并安装pycocotools才行
#-------------------------------------------------------------------------------------------------------------------#
map_mode = opt.mode
#-------------------------------------------------------#
# MINOVERLAP用于指定想要获得的mAP0.x
# 比如计算mAP0.75,可以设定MINOVERLAP = 0.75。
#-------------------------------------------------------#
MINOVERLAP = 0.5
#-------------------------------------------------------#
# map_vis用于指定是否开启VOC_map计算的可视化
#-------------------------------------------------------#
map_vis = False
#-------------------------------------------------------#
# 指向VOC数据集所在的文件夹
# 默认指向根目录下的VOC数据集
#-------------------------------------------------------#
VOCdevkit_path = 'VOCdevkit'
#-------------------------------------------------------#
# 结果输出的文件夹,默认为map_out
#-------------------------------------------------------#
map_out_path = 'map_out'
image_ids = open(os.path.join(VOCdevkit_path, "VOC2007/ImageSets/Main/val.txt")).read().strip().split()
if not os.path.exists(map_out_path):
os.makedirs(map_out_path)
if not os.path.exists(os.path.join(map_out_path, 'ground-truth')):
os.makedirs(os.path.join(map_out_path, 'ground-truth'))
if not os.path.exists(os.path.join(map_out_path, 'detection-results')):
os.makedirs(os.path.join(map_out_path, 'detection-results'))
if not os.path.exists(os.path.join(map_out_path, 'images-optional')):
os.makedirs(os.path.join(map_out_path, 'images-optional'))
class_names = config['classes']
if map_mode == 0 or map_mode == 1:
print("Load model.")
yolo = YOLO(opt, confidence = 0.001, nms_iou = 0.5)
print("Load model done.")
print("Get predict result.")
for image_id in tqdm(image_ids):
image_path = os.path.join(VOCdevkit_path, "VOC2007/JPEGImages/"+image_id+".jpg")
image = Image.open(image_path)
if map_vis:
image.save(os.path.join(map_out_path, "images-optional/" + image_id + ".jpg"))
yolo.get_map_txt(image_id, image, class_names, map_out_path)
print("Get predict result done.")
if map_mode == 0 or map_mode == 2:
print("Get ground truth result.")
for image_id in tqdm(image_ids):
with open(os.path.join(map_out_path, "ground-truth/"+image_id+".txt"), "w") as new_f:
root = ET.parse(os.path.join(VOCdevkit_path, "VOC2007/Annotations/"+image_id+".xml")).getroot()
for obj in root.findall('object'):
difficult_flag = False
if obj.find('difficult')!=None:
difficult = obj.find('difficult').text
if int(difficult)==1:
difficult_flag = True
obj_name = obj.find('name').text
if obj_name not in class_names:
continue
bndbox = obj.find('bndbox')
left = bndbox.find('xmin').text
top = bndbox.find('ymin').text
right = bndbox.find('xmax').text
bottom = bndbox.find('ymax').text
if difficult_flag:
new_f.write("%s %s %s %s %s difficult\n" % (obj_name, left, top, right, bottom))
else:
new_f.write("%s %s %s %s %s\n" % (obj_name, left, top, right, bottom))
print("Get ground truth result done.")
if map_mode == 0 or map_mode == 3:
print("Get map.")
get_map(MINOVERLAP, True, path = map_out_path)
print("Get map done.")
if map_mode == 4:
print("Get map.")
get_coco_map(class_names = class_names, path = map_out_path)
print("Get map done.")
================================================
FILE: get_yaml.py
================================================
import os
import sys
import yaml
def get_config():
yaml_path = 'model_data/gesture.yaml'
f = open(yaml_path,'r',encoding='utf-8')
config = yaml.load(f,Loader =yaml.FullLoader)
f.close()
return config
if __name__ == "__main__":
config = get_config()
print(config)
================================================
FILE: instructions.md
================================================
# ✌ Gesture Detection
这是一个基于无人机视觉图像手势识别控制系统,选择了YOLOv4模型进行训练
**YOLOv4 = CSPDarknet53(主干) + SPP** **附加模块(颈** **) +** **PANet** **路径聚合(颈** **) + YOLOv3(头部)**

================================================
FILE: kmeans_for_anchors.py
================================================
#-------------------------------------------------------------------------------------------------------#
# kmeans虽然会对数据集中的框进行聚类,但是很多数据集由于框的大小相近,聚类出来的9个框相差不大,
# 这样的框反而不利于模型的训练。因为不同的特征层适合不同大小的先验框,shape越小的特征层适合越大的先验框
# 原始网络的先验框已经按大中小比例分配好了,不进行聚类也会有非常好的效果。
#-------------------------------------------------------------------------------------------------------#
import glob
import xml.etree.ElementTree as ET
import matplotlib.pyplot as plt
import numpy as np
from tqdm import tqdm
def cas_iou(box, cluster):
x = np.minimum(cluster[:, 0], box[0])
y = np.minimum(cluster[:, 1], box[1])
intersection = x * y
area1 = box[0] * box[1]
area2 = cluster[:,0] * cluster[:,1]
iou = intersection / (area1 + area2 - intersection)
return iou
def avg_iou(box, cluster):
return np.mean([np.max(cas_iou(box[i], cluster)) for i in range(box.shape[0])])
def kmeans(box, k):
#-------------------------------------------------------------#
# 取出一共有多少框
#-------------------------------------------------------------#
row = box.shape[0]
#-------------------------------------------------------------#
# 每个框各个点的位置
#-------------------------------------------------------------#
distance = np.empty((row, k))
#-------------------------------------------------------------#
# 最后的聚类位置
#-------------------------------------------------------------#
last_clu = np.zeros((row, ))
np.random.seed()
#-------------------------------------------------------------#
# 随机选5个当聚类中心
#-------------------------------------------------------------#
cluster = box[np.random.choice(row, k, replace = False)]
iter = 0
while True:
#-------------------------------------------------------------#
# 计算当前框和先验框的宽高比例
#-------------------------------------------------------------#
for i in range(row):
distance[i] = 1 - cas_iou(box[i], cluster)
#-------------------------------------------------------------#
# 取出最小点
#-------------------------------------------------------------#
near = np.argmin(distance, axis=1)
if (last_clu == near).all():
break
#-------------------------------------------------------------#
# 求每一个类的中位点
#-------------------------------------------------------------#
for j in range(k):
cluster[j] = np.median(
box[near == j],axis=0)
last_clu = near
if iter % 5 == 0:
print('iter: {:d}. avg_iou:{:.2f}'.format(iter, avg_iou(box, cluster)))
iter += 1
return cluster, near
def load_data(path):
data = []
#-------------------------------------------------------------#
# 对于每一个xml都寻找box
#-------------------------------------------------------------#
for xml_file in tqdm(glob.glob('{}/*xml'.format(path))):
tree = ET.parse(xml_file)
height = int(tree.findtext('./size/height'))
width = int(tree.findtext('./size/width'))
if height<=0 or width<=0:
continue
#-------------------------------------------------------------#
# 对于每一个目标都获得它的宽高
#-------------------------------------------------------------#
for obj in tree.iter('object'):
xmin = int(float(obj.findtext('bndbox/xmin'))) / width
ymin = int(float(obj.findtext('bndbox/ymin'))) / height
xmax = int(float(obj.findtext('bndbox/xmax'))) / width
ymax = int(float(obj.findtext('bndbox/ymax'))) / height
xmin = np.float64(xmin)
ymin = np.float64(ymin)
xmax = np.float64(xmax)
ymax = np.float64(ymax)
# 得到宽高
data.append([xmax - xmin, ymax - ymin])
return np.array(data)
if __name__ == '__main__':
np.random.seed(0)
#-------------------------------------------------------------#
# 运行该程序会计算'./VOCdevkit/VOC2007/Annotations'的xml
# 会生成yolo_anchors.txt
#-------------------------------------------------------------#
input_shape = [224, 224]
anchors_num = 9
#-------------------------------------------------------------#
# 载入数据集,可以使用VOC的xml
#-------------------------------------------------------------#
path = 'VOCdevkit/VOC2007/Annotations'
#-------------------------------------------------------------#
# 载入所有的xml
# 存储格式为转化为比例后的width,height
#-------------------------------------------------------------#
print('Load xmls.')
data = load_data(path)
print('Load xmls done.')
#-------------------------------------------------------------#
# 使用k聚类算法
#-------------------------------------------------------------#
print('K-means boxes.')
cluster, near = kmeans(data, anchors_num)
print('K-means boxes done.')
data = data * np.array([input_shape[1], input_shape[0]])
cluster = cluster * np.array([input_shape[1], input_shape[0]])
#-------------------------------------------------------------#
# 绘图
#-------------------------------------------------------------#
for j in range(anchors_num):
plt.scatter(data[near == j][:,0], data[near == j][:,1])
plt.scatter(cluster[j][0], cluster[j][1], marker='x', c='black')
plt.savefig("kmeans_for_anchors.jpg")
plt.show()
print('Save kmeans_for_anchors.jpg in root dir.')
cluster = cluster[np.argsort(cluster[:, 0] * cluster[:, 1])]
print('avg_ratio:{:.2f}'.format(avg_iou(data, cluster)))
print(cluster)
f = open("yolo_anchors.txt", 'w')
row = np.shape(cluster)[0]
for i in range(row):
if i == 0:
x_y = "%d,%d" % (cluster[i][0], cluster[i][1])
else:
x_y = ", %d,%d" % (cluster[i][0], cluster[i][1])
f.write(x_y)
f.close()
================================================
FILE: logs/README.md
================================================
用于存放训练好的文件
================================================
FILE: logs/gesture_loss_2021_11_14_22_04_00/epoch_loss_2021_11_14_22_04_00.txt
================================================
390.34399642473386
21.87092101721116
14.030741856421953
11.276778338867942
9.814540598127577
8.89100271978496
8.609104168267898
7.924442773983802
7.723959027984996
7.2670195367601185
7.255199196897907
6.893556188654016
6.661026071619104
6.5294443972316785
6.535371827490536
6.529178083678822
6.403998654565694
6.439444012112087
6.092924733220795
5.926193254965323
5.9576384785734575
5.8119951972255
5.6878520206168846
5.819804650765878
5.707105348139633
5.458082881974585
5.665041320117903
5.317585485952872
5.349038653903538
5.283199619363855
5.064980445084749
5.070186079284291
4.9681971073150635
4.793072164794545
4.973145805759194
4.918124354915855
4.663256362632469
4.837633197690233
4.743683688434554
4.616998254516979
4.524823586146037
4.4209345593864535
4.558955289699413
4.333138801433422
4.426347941528132
4.412103137852233
4.295655697952082
4.364107617625484
4.211893027211413
4.084111590444306
4.018801480163763
3.8647101366961443
3.734398615581018
3.6937082122873375
3.793811333032302
3.429193678093545
3.6194330038111886
3.4087822738988898
3.331124112193967
3.3782305434162234
3.3561593158009613
3.25705443598606
3.2106575075490973
3.0107549484129303
3.0536143231539077
2.9674469438599953
3.1300665189822516
2.909559675204901
2.9446099194479576
2.8209132660686236
2.8917798992292383
2.815192371238897
2.861111617566627
2.9016677490722986
2.8193857658792427
2.8216423440126723
2.777715330874478
2.725730179820532
2.589312877184079
2.670389473438263
2.626439411331106
2.57100960759469
2.6649326178026786
2.449705180930503
2.6089335954115715
2.666015229291386
2.5139025822281837
2.4510488511971484
2.60918134248551
2.615589211384455
2.4221341083815067
2.5034887735490448
2.3411180855315408
2.3742799654970934
2.4252039420383946
2.5134657593788923
2.5887757239886273
2.5031773506859203
2.3927585335425388
2.4924555529414874
2.3816184005987497
2.3525361067351
2.35756847280779
2.4606370890030154
2.262793848084079
2.283497501026701
2.2522216586419095
2.3806339068177307
2.345363718767961
2.305632569723659
2.1932848855669116
2.332635486199532
2.2705356725204138
2.233249652992796
2.4728508678115446
2.3142452859952125
2.3585592800820314
2.335805359078042
2.337391757118849
2.391327069129473
2.3404054016242792
2.3145943543425314
2.196398460570677
2.2358641638248056
2.3038836038774915
2.2790947368851415
2.2812541202630525
2.2533860233278924
2.3108025224488458
2.2092323683110284
2.308551702050515
2.2422945557369127
2.1741022714126257
2.44105933992951
2.3797168718811905
2.231722431326354
2.3973163276174922
2.1568032256615015
2.239097781571341
2.2258979082107544
2.1682290563612807
2.2031694714117935
2.2706658139272973
2.329095835854978
2.255610410262037
2.2977319957665454
2.3046101513836117
2.249893919369321
2.2964354607242123
2.315463280696192
================================================
FILE: logs/gesture_loss_2021_11_14_22_04_00/epoch_val_loss_2021_11_14_22_04_00.txt
================================================
28.558996200561523
15.032766554090712
11.545120133293999
9.72215329276191
8.58862935172187
8.486469162835014
7.804132832421197
7.238262918260363
6.890773402320014
6.530833350287543
6.475247330135769
6.4751937124464245
6.239521026611328
6.0489738782246905
6.12673372692532
5.641317420535618
6.040707217322455
5.724527147081163
5.265863656997681
5.316834555731879
5.4665877024332685
5.622564209832086
5.04600026872423
5.060362259546916
5.527375910017225
5.435662375556098
5.021538707945082
5.028834872775608
4.896508720186022
4.989696582158406
5.161070320341322
5.098267449273004
4.707995070351495
4.600137048297459
4.426739745669895
4.481476042005751
4.555791060129802
4.693203316794501
4.515556865268284
4.371145274904039
4.138098372353448
4.548380348417494
4.3106510109371605
4.320602138837178
4.131023804346721
4.0555612511105
4.217087030410767
4.128190358479817
4.032541698879665
3.99964001443651
3.741890834437476
3.749820719162623
3.6366468982564077
3.5657983157369824
3.9311270780033536
3.6530382368299694
4.012030104796092
3.8975768751568265
3.764561494191488
3.4476174149248333
3.535598119099935
3.998010264502631
3.88807831870185
3.810675323009491
3.8832875225279064
3.532531124022272
3.9232571257485285
3.58525949716568
3.7238865759637623
3.7168162133958607
3.503431843386756
3.5310314959949918
3.7993387116326227
3.5516341394848294
3.6795931648876934
3.564246873060862
3.484692699379391
3.7236365245448217
3.7466657956441245
3.66163033246994
3.751209259033203
3.6696145402060614
3.5883768465783863
3.853155712286631
3.4928252498308816
3.602889382176929
3.7287648055288525
3.6207654832137957
3.610999337500996
3.8127831634547977
3.6820534533924527
3.716387847231494
3.6561857561270394
3.703249845239851
3.686804783013132
3.687538597318861
3.8072550859716205
3.6593143989642463
3.707283900843726
3.7246316257450314
3.8617856800556183
3.573318580786387
3.531035871969329
3.6177483134799533
3.6122085054715476
3.5437003208531275
3.5555910716454187
3.6909723381201425
3.5987775524457297
3.646808198756642
3.6476809779802957
3.615621048543188
3.8375576469633312
3.7161912678016558
3.694040416015519
3.677286409669452
3.6777902278635235
3.7830483151806726
3.707444575097826
3.7904206779268055
3.5872142712275186
3.6864367392328052
3.7757607218292026
3.835707320107354
3.6799587168627315
3.8233094347847834
3.6921923756599426
3.7244893974728055
3.6797771288288965
3.711515542533663
3.8481360466943846
3.8577410876750946
3.710074722766876
3.8249045742882624
3.7864705423514047
3.6575047771135965
3.8352384832170276
3.7801570263173847
3.7013448344336615
3.6655967930952706
3.657223959763845
3.722360614273283
3.772919843594233
3.7007322708765664
3.7042017413510218
3.8934470083978443
3.8964318566852145
3.6877589921156564
3.713595751259062
3.597744878795412
================================================
FILE: logs/loss_2022_04_27_08_48_16/epoch_loss.txt
================================================
4.311199968511408
2.641528855670582
1.0470811074430293
0.3173784383318641
0.1660231321372769
0.12659757448868317
0.11646865105087106
0.1186594499105757
0.11129742149602283
0.09524408660151741
0.09781679036942395
0.09211275726556778
0.08542741784317927
0.08707698925652287
0.08003932000561194
0.09124952453103932
0.07743281058289787
0.07542280463332479
0.062316759235479614
0.07161653380502354
0.06821535866368901
0.07083209519359199
0.07460641437633471
0.07450477220118046
0.06487809985198757
0.050884095443920654
0.07091375355693427
0.06433163752610033
0.0656029749661684
0.05935167453505776
0.06459851512177424
0.06376675008372827
0.05718133259903301
0.05716039274226536
0.05911739483814348
0.05761603875593706
0.051265862939709965
0.047803171148354355
0.0480937244031917
0.05439905263483524
0.058482232080264526
0.05515999550169164
0.049258994361893696
0.050817748277702114
0.05204320927573876
0.04787483066320419
0.050909879194064575
0.04848571375689723
0.050943345593457874
0.04928677469830622
0.05230807525416215
0.054047910206847724
0.04724785503413942
0.04339685816731718
0.04393725813262993
0.04542147194345792
0.046219487115740775
0.04159199959701962
0.0356766721026765
0.0347878428383006
0.0335447210404608
0.03512532735864322
0.032664823532104495
0.035281008275018795
0.027731664727131525
0.03222298233045472
0.03146794889536169
0.02836602210170693
0.028307923198574118
0.027572717414134078
0.026898101448184913
0.029324432876374987
0.02880634083929989
0.024556251760158274
0.027897736864785354
0.024288477210534943
0.022848848750193915
0.023355903372996385
0.02707639779481623
0.022250585506359735
0.025191593791047732
0.022139282586673897
0.02378465121404992
0.02341305265824
0.02176100810368856
0.025529090170231132
0.023221762292087077
0.02107305938584937
0.019723483237127463
0.027768902087377176
0.023790666233334277
0.02183559000906017
0.019348353561427858
0.021541342077155908
0.020851219362682766
0.01955224501176013
0.02228688634932041
0.018856989074912338
0.01816959279692835
0.024754421909650166
================================================
FILE: logs/loss_2022_04_27_08_48_16/epoch_val_loss.txt
================================================
3.5736865997314453
1.7812694907188416
0.5147329270839691
0.15201690793037415
0.10024188458919525
0.08380990475416183
0.07576803863048553
0.06853799521923065
0.06467496231198311
0.060902709141373634
0.05481202341616154
0.05164487101137638
0.046625690534710884
0.046081338077783585
0.04508414678275585
0.046726442873477936
0.041066285222768784
0.039722129702568054
0.0392248947173357
0.04033488966524601
0.03738676756620407
0.0356711745262146
0.03774934820830822
0.035463595762848854
0.03278419189155102
0.03250573016703129
0.03182028792798519
0.031694755889475346
0.03182463627308607
0.028715165331959724
0.03064714837819338
0.028574727475643158
0.031066023744642735
0.028762156143784523
0.027465523220598698
0.02787941414862871
0.02755015157163143
0.02802269347012043
0.028581750579178333
0.026334763504564762
0.026825452223420143
0.02670316770672798
0.02603335492312908
0.025488858111202717
0.027477828785777092
0.02550355065613985
0.026508965529501438
0.02424653246998787
0.02420251350849867
0.024741491302847862
0.03815543949604035
0.024845311418175697
0.024306144565343857
0.02493119016289711
0.024438758194446564
0.021836227178573607
0.022118838876485823
0.02276018038392067
0.019801595807075502
0.018804560229182244
0.01913141254335642
0.018066196143627165
0.018252668902277946
0.017480477318167688
0.016695075295865537
0.018235534615814685
0.016669700480997564
0.01745656579732895
0.01661595106124878
0.014982381090521812
0.014259136654436589
0.01617119237780571
0.01583776492625475
0.015838896110653877
0.015466723032295704
0.014705226197838784
0.014486565068364144
0.0142423365265131
0.013639062829315662
0.013229098543524742
0.013664134219288826
0.014067459665238858
0.014119291864335536
0.014162952080368996
0.014096969552338124
0.014010479114949704
0.013855390436947345
0.01369147039949894
0.013611100800335407
0.013387569226324558
0.013233654387295245
0.013060701824724675
0.01311743687838316
0.013459368608891964
0.013417618162930012
0.013188641518354416
0.013131854124367237
0.013138605654239655
0.013040048442780972
0.013191545940935611
================================================
FILE: logs/loss_2022_04_27_10_38_48/epoch_loss.txt
================================================
4.417048931121826
2.7174118811433967
1.0889532132582231
0.3425311154939912
0.17422378638928587
0.13641497018662366
0.11632075736468489
0.11424875665794719
0.10951222343878313
0.11042191968722777
0.0965666960586201
0.09156128205358982
0.09250037236647173
0.09282402846623551
0.08625757846642625
0.07673129354688255
0.07389622215520252
0.07624811069531874
0.08134209279986945
0.08268712799657475
0.06569299051030116
0.06593379310586235
0.07313475605439056
0.06932794980027458
0.07105197571218014
0.05761696923185478
0.05699523843147538
0.05502087775279175
0.056425975635647774
0.060862130570140754
0.05275308594784953
0.05468131161548875
0.06639060936868191
0.0586402067406611
0.05531726946884936
0.05826686415821314
0.05614634239199487
0.060194396329197014
0.056169633330269295
0.05521787144243717
0.05759791826659983
0.06400778830390084
0.048669698648154736
0.05138815820894458
0.05391152406280691
0.048903680660507896
0.05098097136413509
0.046242827380245384
0.05179907051338391
0.0525860372422771
0.05424936364094416
0.049993348659740554
0.04597619854741626
0.04917745155592759
0.05255601741373539
0.04698830768465996
0.041387100517749784
0.04129959721532133
0.04556649559073978
0.036499715513653226
0.03981801929573218
0.04143420826229784
0.03435336612164974
0.03496221779949135
0.03109016865491867
0.03035914318429099
0.029583082410196464
0.03257722655932108
0.030363482443822754
0.027382713970210817
0.03354052487346861
0.02999182954016659
0.027540474219454658
0.03399232141673565
0.027007617097761897
0.025914737520118556
0.0295799125606815
0.02715012611200412
0.025495433765980933
0.0296443536463711
0.023164296481344434
0.025637096497747633
0.024675296164221233
0.02778547273741828
0.021970178662902778
0.023107113461527558
0.024780070698923535
0.022441018600430754
0.023930547055270937
0.0282184108470877
0.023034340888261794
0.024948879559006956
0.021047428602145778
0.019247366736332577
0.019984866658018696
0.02513700392511156
0.02460642974409792
0.0241888129669759
0.024461371141175428
0.023433364638023906
================================================
FILE: logs/loss_2022_04_27_10_38_48/epoch_val_loss.txt
================================================
3.682404637336731
1.8932517766952515
0.5478550791740417
0.1596439927816391
0.1100359559059143
0.0877840518951416
0.07812783867120743
0.07114855200052261
0.06861080229282379
0.059281766414642334
0.057694293558597565
0.051728978753089905
0.052549805492162704
0.04606110043823719
0.04738330654799938
0.04431380145251751
0.04233948327600956
0.04040302708745003
0.038821205496788025
0.0383895430713892
0.03584542125463486
0.03636615164577961
0.03440128639340401
0.031500913202762604
0.03160226531326771
0.03259335644543171
0.03182834479957819
0.03255347441881895
0.03205320052802563
0.03115831222385168
0.030962957069277763
0.03099967911839485
0.028362704440951347
0.029792566783726215
0.029385950416326523
0.028081808239221573
0.02900168113410473
0.028213596902787685
0.026003092527389526
0.029015707783401012
0.027079648338258266
0.02746042888611555
0.026224803179502487
0.02623423095792532
0.026428623124957085
0.025775899179279804
0.025982394814491272
0.02434847690165043
0.027825096622109413
0.026163294911384583
0.029283170774579047
0.025315795838832856
0.027043038606643678
0.028298694640398026
0.024901207908987998
0.021958087757229804
0.02251458093523979
0.022333519905805586
0.021478286758065224
0.021176514402031898
0.018941503018140793
0.019572099670767784
0.018108497187495232
0.018086655251681804
0.017889507673680784
0.01727491766214371
0.01810304317623377
0.020134907588362692
0.018655003793537617
0.018117578141391276
0.017840097844600677
0.01779591590166092
0.016621771082282067
0.017149972915649413
0.016952383518218993
0.015586855821311474
0.01567951999604702
0.0161365307867527
0.01567267570644617
0.01678410042077303
0.015898118540644646
0.01655469797551632
0.015443072095513344
0.015269587188959122
0.015318373404443263
0.015480193309485912
0.015252745896577834
0.015485197678208351
0.01524040475487709
0.015235877968370915
0.015190575830638408
0.01506870575249195
0.015268886275589467
0.015318392775952816
0.015248116478323937
0.01509730275720358
0.015357919968664646
0.015471475012600423
0.015338210947811603
0.015286244638264179
================================================
FILE: logs/loss_2022_04_27_12_50_47/epoch_loss.txt
================================================
4.458093025467613
2.7262558070096103
1.0888537033037706
0.3306311368942261
0.1712129498747262
0.12332972951910713
0.1077601161192764
0.10889687660065564
0.10751076347448608
0.09971555254676125
0.09748913144523447
0.09051749330352653
0.08674890751188452
0.09196238592267036
0.0813636336136948
0.08286366950381886
0.07791051878170534
0.0753517130559141
0.07469043592837724
0.07069844498553059
0.06863954527811571
0.05802192301912741
0.07001199353147637
0.0646351370960474
0.0635682385076176
0.06396392174065113
0.062142887406728485
0.0702532638203014
0.056375787339427254
0.06388939967886968
0.05778990279544483
0.06408696647056124
0.06048921140080148
0.046278277158059856
0.05944571127607064
0.05725045552985235
0.05380251800472086
0.053617957894775
0.053481346842917526
0.05578712136908011
0.05615681384436109
0.0525641811334274
0.04595534486526793
0.04221054826947776
0.0491331076588143
0.04645225058563731
0.047417608005079354
0.045993872325528755
0.04980102206834338
0.05388529971241951
0.04780796766281128
0.051682502610815896
0.05296175873114003
0.04763079182141357
0.03715274184942245
0.038538362830877304
0.03803896543880304
0.04017537732919057
0.03992160202728377
0.03339115016990238
0.03391021318319771
0.03317808165318436
0.033503353450861244
0.034213335605131255
0.037453227241834
0.033429956477549344
0.032547304261889724
0.03456145400802294
0.026851379209094577
0.029029812270568476
0.02536299385958248
0.02381322646720542
0.02601998903685146
0.020065840913189782
0.02312256395816803
0.028637176213992966
0.023025286176966295
0.023644178753925695
0.024718130793836383
0.02247788065837489
0.023494062303668923
0.025069689253966014
0.02251974062787162
0.024839345862468085
0.021578845319648585
0.022635220984617867
0.022249876335263253
0.01972206729567713
0.018786311563518312
0.02083740762124459
0.02136736027896404
0.019557259066237342
0.018951669645806152
0.020326226308114
0.021592341653174824
0.019481366727915075
0.018176950762669244
0.02213383706079589
0.019981356461842854
0.020978835970163347
================================================
FILE: logs/loss_2022_04_27_12_50_47/epoch_val_loss.txt
================================================
3.7051011323928833
1.8262890577316284
0.5144035518169403
0.16302762925624847
0.10760901868343353
0.09057768434286118
0.07540924847126007
0.07146378979086876
0.06520375981926918
0.05898746848106384
0.054325105622410774
0.05058479495346546
0.0504811592400074
0.046029604971408844
0.04258855804800987
0.042371716350317
0.040247365832328796
0.04038912057876587
0.03568720445036888
0.038001520559191704
0.03973718546330929
0.035464052110910416
0.03202499449253082
0.02998754195868969
0.032502518966794014
0.03302299045026302
0.03285937011241913
0.029083450324833393
0.029631994664669037
0.03396240994334221
0.029673300683498383
0.028280221857130527
0.027639511972665787
0.028393579646945
0.027291471138596535
0.026989608071744442
0.02653918694704771
0.027808908373117447
0.027841621078550816
0.02570505067706108
0.025745649822056293
0.026372630149126053
0.024600804783403873
0.026447951793670654
0.02569119818508625
0.026840184815227985
0.024051610380411148
0.02362955827265978
0.024365886114537716
0.024577765725553036
0.031041909381747244
0.02641780823469162
0.02472583018243313
0.02326701581478119
0.019615407288074493
0.021174174174666403
0.019675580970942973
0.01869105324149132
0.018909885734319686
0.019662134535610675
0.01899590715765953
0.016179793514311314
0.01545619908720255
0.015423668920993805
0.018800214119255542
0.0158102760091424
0.0158376544713974
0.01783675402402878
0.015972125343978405
0.01454415861517191
0.014743064902722836
0.013825051300227643
0.01407058835029602
0.013598379865288734
0.013919505663216114
0.013623752258718013
0.014403878897428512
0.014411385357379913
0.01337964329868555
0.013076365552842617
0.013368507660925389
0.013667609356343747
0.013365321420133114
0.013264597952365875
0.013465055078268052
0.01281917616724968
0.01263135802000761
0.012750985845923424
0.01290153805166483
0.01281326413154602
0.012850469164550304
0.012885735556483268
0.013168741390109063
0.013198709674179554
0.0126633545383811
0.012886124104261399
0.012797533720731735
0.012569484673440457
0.012130422703921794
0.012647346407175065
================================================
FILE: logs/loss_2022_04_28_00_40_54/epoch_loss.txt
================================================
4.65520715713501
3.142860672690652
1.5020794109864668
0.5057930661873384
0.231415910476988
0.1739024357362227
0.1501499665054408
0.13435510004108603
0.12552000412886793
0.1170116358182647
0.1097346202216365
0.10218094119971449
0.09653170305219563
0.09267877211624925
0.08959556709636342
0.08778026801618663
0.0813840397379615
0.08208547498692166
0.07795694809068333
0.0774568762968887
0.07742892002517526
0.07316952097144994
0.0717044398188591
0.07023497687822039
0.07019331865012646
0.06709351390600204
0.06731417910619215
0.06743009134449741
0.06635952317579226
0.06368578191507947
0.06163112514398315
0.06230247410183603
0.0609466726468368
0.059141877869313415
0.059421493925831535
0.05991599742661823
0.05664417435499755
0.05543165823275393
0.055084149945865975
0.05501931634816257
0.05503683621910485
0.05480257303199985
0.05537006275897676
0.05448474125428633
0.05232419649308378
0.05311859653077342
0.05284474231302738
0.051879515532742844
0.052160846746780655
0.048417276787486946
0.07137971396247546
0.06579171708888477
0.06337685022089216
0.058213022185696496
0.06011202625102467
0.05577432778146532
0.05307989873819881
0.05232232163349788
0.047045067904724014
0.045659234002232554
0.046541030332446096
0.041184055474069385
0.04066362182299296
0.041569982427689764
0.03817177605297831
0.0390163982907931
0.041840214654803275
0.038884344117509
0.03724856765733825
0.03528667270309395
0.03439781483676699
0.03381528837813271
0.03448933532668485
0.03202489465475082
0.03492107921176486
0.029904662817716598
0.03170571397576067
0.03179397972093688
0.0303279221471813
0.029197406230701342
0.02931012755466832
0.029168612303005326
0.027595289217101204
0.02744665356973807
0.026995969439546266
0.027659311725033654
0.02661879969139894
0.027540806722309855
0.025905532100134427
0.0255900744555725
0.026152818650007247
0.025521984696388243
0.025769058614969254
0.02644038177612755
0.02754443759719531
0.024427745077345107
0.025285613785187403
0.026757355800105465
0.02632749622894658
0.026431108307507303
================================================
FILE: logs/loss_2022_04_28_00_40_54/epoch_val_loss.txt
================================================
3.979103207588196
2.2379150390625
0.7213477790355682
0.20374882966279984
0.13149111717939377
0.10669583082199097
0.08946957811713219
0.07844944670796394
0.07209542766213417
0.06465885788202286
0.060964012518525124
0.05698745884001255
0.053726550191640854
0.053231727331876755
0.05091492086648941
0.04869535565376282
0.045929690822958946
0.043502215296030045
0.04109686613082886
0.042073581367731094
0.03760443814098835
0.036989014595746994
0.0369559321552515
0.03501574695110321
0.03553796745836735
0.03463827446103096
0.03613190911710262
0.03488997742533684
0.03165611159056425
0.03400527499616146
0.03399870544672012
0.03354485519230366
0.030975072644650936
0.0297493115067482
0.029600737616419792
0.02729297336190939
0.027453931979835033
0.028598678298294544
0.027731974609196186
0.030310326255857944
0.026450641453266144
0.027599090710282326
0.027010041289031506
0.026624951511621475
0.027538660913705826
0.026772234588861465
0.026853609830141068
0.027332110330462456
0.026638195849955082
0.026076992973685265
0.029674236476421357
0.03184238411486149
0.02579696960747242
0.026541008800268173
0.028798045963048934
0.02365291155874729
0.024432314187288286
0.024038903787732123
0.022221024334430694
0.022891897335648538
0.01906990371644497
0.021012770757079125
0.020605479553341865
0.020398029685020448
0.019171418249607088
0.01934974603354931
0.020316287130117416
0.019410957768559455
0.018952558375895025
0.017280998453497887
0.0177790354937315
0.018064785189926623
0.01828454677015543
0.01720294840633869
0.01639395747333765
0.016722467541694642
0.016642549820244313
0.01656894329935312
0.015701821073889732
0.015975065901875495
0.016035530529916287
0.015547602623701095
0.01571439057588577
0.01621132455766201
0.015737788379192354
0.01545789260417223
0.015475354716181755
0.015286277420818806
0.015320570766925811
0.015739747881889345
0.015467294491827488
0.015462711267173291
0.015299991890788078
0.014891423098742963
0.014959413185715675
0.015149685740470886
0.015103902481496335
0.014999320358037948
0.015079839341342448
0.0150094548240304
================================================
FILE: logs/loss_2022_04_28_14_54_17/epoch_loss.txt
================================================
3.3427013629012636
0.590641807185279
0.20623346173928844
0.13935681179993684
0.11779505432479911
0.10669546342558331
0.0995730339239041
0.09289641034685903
0.08960233483877447
0.08865145291719172
0.08199652650703987
0.08332964736554357
0.08082385785463783
0.07951261059691508
0.07187494143015809
0.07693152552884486
0.07002928235257665
0.06805908863122265
0.06391975372615788
0.06560571603477001
0.06688064705166552
0.062423851289269
0.06189305805083778
0.06095021272905999
0.05913820943484704
0.05766822151425812
0.05601171863575776
0.050846687311099634
0.0500038359210723
0.05070198744845887
0.04995435054620935
0.04775367355905473
0.04747431728368004
0.05075365285803046
0.049145943324805964
0.04660840377522012
0.04236363642849028
0.04308449916231136
0.04134128590942257
0.04134896128024492
0.040451034003247816
0.040809157501078316
0.04189636699027485
0.03930564734877812
0.04004836426013046
0.03825837828529378
0.03547370240299238
0.03609677294476165
0.035196643017439376
0.03430712522628407
0.04613391875237641
0.05915206435084757
0.045893035898916426
0.04116026466298434
0.0429476417420018
0.03999344222247601
0.034763063090698175
0.03578517514720766
0.03375119598996308
0.03283411696967151
0.03579546554893669
0.03182236654813298
0.03289871994768166
0.03093694845964718
0.028104687105709066
0.0279214970392382
0.02814181201522135
0.026209147684534806
0.024499411086758807
0.02420818345660033
0.02401729004470528
0.02229024926847261
0.021894857381832684
0.021454263018677013
0.020758730825683518
0.02169692176976241
0.019593946940343207
0.019191343562367062
0.0194984604876178
0.02022809916266447
0.017767922341590747
0.01808840037944416
0.018055611812613077
0.017147960676164885
0.015863009145121194
0.015711418758534514
0.016356725540633003
0.016216116898512052
0.015499612758867442
0.015379458964647104
0.016735805649982973
0.014799573211025239
0.015743958410651734
0.014708074144113601
0.014328512709148021
0.015710317682371373
0.01542505334622951
0.014101080921439765
0.014700241691510503
0.014981216627832812
================================================
FILE: logs/loss_2022_04_28_14_54_17/epoch_val_loss.txt
================================================
1.1948505997657777
0.2769960485398769
0.1309874437749386
0.10720247365534305
0.0823921812698245
0.06992402952164412
0.0779087346047163
0.06684023551642895
0.06127838855609298
0.06253754440695047
0.06560290511697531
0.05028826054185629
0.05307867294177413
0.046788199059665206
0.05016098273918033
0.041087670251727104
0.049103803001344204
0.04360529286786914
0.04554138630628586
0.03290841649286449
0.04053358295932412
0.038861811719834806
0.040706123877316716
0.03609397481195629
0.03557254578918219
0.03464236315339804
0.03329266821965575
0.03151600556448102
0.030487440805882216
0.03179679936729372
0.030378894181922078
0.03546885224059224
0.028008161624893547
0.030146837001666427
0.028426590701565148
0.030748564330860973
0.028618200030177832
0.03007163112051785
0.02537959101609886
0.028373095905408263
0.025091598788276315
0.027431158255785702
0.0274854336399585
0.0238998107612133
0.024188394332304596
0.025603410461917518
0.022463220916688443
0.021122918161563576
0.023449525656178593
0.02241856213659048
0.030004368303343652
0.03465683250688016
0.025661695492453875
0.025751420808956028
0.0250759432092309
0.024298161384649575
0.023818821809254587
0.02544179279357195
0.02248522681184113
0.02272053265478462
0.021450468467082828
0.022059163730591535
0.01965688676573336
0.019216149824205785
0.020135902601759882
0.02419198288116604
0.017368705407716335
0.01844585470389575
0.015960348234511913
0.017440078582149
0.015858469036174938
0.01589310457929969
0.01708033775212243
0.030576034029945732
0.014990652166306972
0.020580469502601773
0.01814356680260971
0.016363495017867536
0.016028978914255275
0.015470803889911622
0.017227034358074888
0.016705141763668507
0.01754759649047628
0.02099468276137486
0.02627454571193084
0.016601535107474773
0.019520913722226398
0.016074266715440898
0.015431905922014266
0.015508590545505286
0.013960553548531606
0.015237966080894694
0.015095379657577724
0.01584624971728772
0.015998882468556984
0.01559915920952335
0.01576072332682088
0.016472871112637223
0.014691755402600393
0.014136423316085712
================================================
FILE: logs/loss_2022_05_02_14_57_57/epoch_loss.txt
================================================
17.101406224568684
10.8318008740743
4.240671507517496
1.0019958794116974
0.37954812149206796
0.2687491794427236
0.22754189471403757
0.19753684798876445
0.1771739900112152
0.16613257378339769
0.14869885842005412
0.13755213419596354
0.13448657716313997
0.12195368086298307
0.1128251701593399
0.10961388771732648
0.10665635019540787
0.10061115821202596
0.0969288428624471
0.09855932394663493
0.0889915977915128
0.08737521395087242
0.08142138893405597
0.081571697195371
0.08513322671254477
0.0799174178391695
0.07576848641037941
0.07407469501097998
0.07028314856191477
0.07057048715651035
0.0709464654326439
0.07267625791331132
0.06727536929150423
0.0662232073644797
0.06310114165147146
0.06374188972016176
0.06626531345148881
0.05850081816315651
0.056352414563298224
0.05607227062185605
0.057017019018530846
0.05952403930326303
0.057178026810288426
0.051601182545224826
0.051208433136343955
0.051774655406673746
0.050313881536324816
0.04995381236076355
0.048258970181147255
0.04914092607796192
0.06768884502040844
0.06370118060149252
0.05913636611464123
0.05405666360942026
0.052676150932287176
0.04658079737176498
0.0453374430614834
0.04464669832183669
0.04386587947762261
0.038802354324919484
0.038647202278176945
0.03676449179959794
0.03481319181931516
0.0347878224371622
0.03463629183825105
0.03564592384112378
0.03169099524772415
0.03046195216011256
0.029932656922998527
0.02693921811878681
0.02624520653237899
0.02643638541145871
0.024267646336617568
0.02276813123996059
0.022201836206174146
0.025956252019386738
0.022044219623785465
0.01913531731891756
0.018665816611610354
0.020095466733134042
0.019377306945777186
0.019703271872519204
0.017145425283039608
0.017283631632259735
0.015655260040269545
0.017102580536932994
0.01568767197119693
0.015433585511830945
0.01649760961299762
0.01480112192220986
0.01458095806495597
0.01634620662080124
0.014586444144758086
0.01412225275610884
0.014443966598870853
0.014422304722635696
0.014611958689056338
0.01421121487316365
0.014518235716968775
0.01446291058867549
================================================
FILE: logs/loss_2022_05_02_14_57_57/epoch_val_loss.txt
================================================
14.182828585306803
6.964454015096028
1.7364161411921184
0.4160226086775462
0.23061403135458627
0.18009933829307556
0.15316933890183768
0.12558546662330627
0.11013514300187428
0.10292657961448033
0.09011622269948323
0.0910362775127093
0.07362671693166097
0.06496318926413854
0.06620646268129349
0.05724670241276423
0.05412605529030164
0.05476600428422292
0.04998553295930227
0.04453219473361969
0.046111090729633965
0.03964699556430181
0.04128604009747505
0.0385576585928599
0.040300281097491585
0.036520869781573616
0.03233897313475609
0.03402836248278618
0.029543195540706318
0.03613479311267535
0.030847225338220596
0.03196833903590838
0.030614140133063
0.027615018809835117
0.029661099116007488
0.028920121490955353
0.031096385171016056
0.026975831637779873
0.02437760556737582
0.024089227120081585
0.024140140662590664
0.02602989909549554
0.023526831219593685
0.023234928647677105
0.02490025262037913
0.024476055055856705
0.02195119174818198
0.02400912468632062
0.021773086860775948
0.021737251430749893
0.03704084885808138
0.027747553415023364
0.02609148549918945
0.027060106253394715
0.02310138403509672
0.02209098207262846
0.019444907299027994
0.01728303673175665
0.022116302154385127
0.017028711091440458
0.018385969388943452
0.020397630233604174
0.017034396529197693
0.0161269146662492
0.014033435915525142
0.015593188958099255
0.015342251899150701
0.015232413147504512
0.01195777920432962
0.013383755532021705
0.01376453500527602
0.012433087345785819
0.010423123764877137
0.011021508405414911
0.010145062186683599
0.011127662809135823
0.009687475251177182
0.010067089210049463
0.008900713497916093
0.009318945392106589
0.008838421199470758
0.008917749107170563
0.008874757430301262
0.00834214468844808
0.009231974191677112
0.00839424731496435
0.00878818673439897
0.008268425169472512
0.008394974642075025
0.008387481507200461
0.008073390604784856
0.008447423434028259
0.007967768595195733
0.008031251589552714
0.007093459976693759
0.0077013208960684445
0.008188612150171628
0.008229664276139094
0.008362234892466893
0.0081037561624096
================================================
FILE: model_data/.gitattributes
================================================
*.pth filter=lfs diff=lfs merge=lfs -text
================================================
FILE: model_data/gesture.yaml
================================================
#------------------------------detect.py--------------------------------#
# 这一部分是为了半自动标注数据,可以减轻负担,需要提前训练一个权重,以Labelme格式保存
# dir_origin_path 图片存放位置
# dir_save_path Annotation保存位置
# ----------------------------------------------------------------------#
dir_detect_path: ./JPEGImages
detect_save_path: ./Annotation
# ----------------------------- train.py -------------------------------#
nc: 8 # 类别的数量
classes: ["up","down","left","right","front","back","clockwise","anticlockwise"] # 类别
confidence: 0.5 # 置信度
nms_iou: 0.3
letterbox_image: False
lr_decay_type: cos # 使用到的学习率下降方式,可选的有step、cos
# 用于设置是否使用多线程读取数据
# 开启后会加快数据读取速度,但是会占用更多内存
# 内存较小的电脑可以设置为2或者0,win建议设为0
num_workers: 4
================================================
FILE: model_data/gesture_classes.txt
================================================
up
down
left
right
front
back
clockwise
anticlockwise
================================================
FILE: model_data/yolo_anchors.txt
================================================
12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401
================================================
FILE: model_data/yolotiny_anchors.txt
================================================
10,14, 23,27, 37,58, 81,82, 135,169, 344,319
================================================
FILE: nets/CSPdarknet.py
================================================
import math
from collections import OrderedDict
import torch
import torch.nn as nn
import torch.nn.functional as F
#-------------------------------------------------#
# MISH激活函数
#-------------------------------------------------#
class Mish(nn.Module):
def __init__(self):
super(Mish, self).__init__()
def forward(self, x):
return x * torch.tanh(F.softplus(x))
#---------------------------------------------------#
# 卷积块 -> 卷积 + 标准化 + 激活函数
# Conv2d + BatchNormalization + Mish
#---------------------------------------------------#
class BasicConv(nn.Module):
def __init__(self, in_channels, out_channels, kernel_size, stride=1):
super(BasicConv, self).__init__()
self.conv = nn.Conv2d(in_channels, out_channels, kernel_size, stride, kernel_size//2, bias=False)
self.bn = nn.BatchNorm2d(out_channels)
self.activation = Mish()
def forward(self, x):
x = self.conv(x)
x = self.bn(x)
x = self.activation(x)
return x
#---------------------------------------------------#
# CSPdarknet的结构块的组成部分
# 内部堆叠的残差块
#---------------------------------------------------#
class Resblock(nn.Module):
def __init__(self, channels, hidden_channels=None):
super(Resblock, self).__init__()
if hidden_channels is None:
hidden_channels = channels
self.block = nn.Sequential(
BasicConv(channels, hidden_channels, 1),
BasicConv(hidden_channels, channels, 3)
)
def forward(self, x):
return x + self.block(x)
#--------------------------------------------------------------------#
# CSPdarknet的结构块
# 首先利用ZeroPadding2D和一个步长为2x2的卷积块进行高和宽的压缩
# 然后建立一个大的残差边shortconv、这个大残差边绕过了很多的残差结构
# 主干部分会对num_blocks进行循环,循环内部是残差结构。
# 对于整个CSPdarknet的结构块,就是一个大残差块+内部多个小残差块
#--------------------------------------------------------------------#
class Resblock_body(nn.Module):
def __init__(self, in_channels, out_channels, num_blocks, first):
super(Resblock_body, self).__init__()
#----------------------------------------------------------------#
# 利用一个步长为2x2的卷积块进行高和宽的压缩
#----------------------------------------------------------------#
self.downsample_conv = BasicConv(in_channels, out_channels, 3, stride=2)
if first:
#--------------------------------------------------------------------------#
# 然后建立一个大的残差边self.split_conv0、这个大残差边绕过了很多的残差结构
#--------------------------------------------------------------------------#
self.split_conv0 = BasicConv(out_channels, out_channels, 1)
#----------------------------------------------------------------#
# 主干部分会对num_blocks进行循环,循环内部是残差结构。
#----------------------------------------------------------------#
self.split_conv1 = BasicConv(out_channels, out_channels, 1)
self.blocks_conv = nn.Sequential(
Resblock(channels=out_channels, hidden_channels=out_channels//2),
BasicConv(out_channels, out_channels, 1)
)
self.concat_conv = BasicConv(out_channels*2, out_channels, 1)
else:
#--------------------------------------------------------------------------#
# 然后建立一个大的残差边self.split_conv0、这个大残差边绕过了很多的残差结构
#--------------------------------------------------------------------------#
self.split_conv0 = BasicConv(out_channels, out_channels//2, 1)
#----------------------------------------------------------------#
# 主干部分会对num_blocks进行循环,循环内部是残差结构。
#----------------------------------------------------------------#
self.split_conv1 = BasicConv(out_channels, out_channels//2, 1)
self.blocks_conv = nn.Sequential(
*[Resblock(out_channels//2) for _ in range(num_blocks)],
BasicConv(out_channels//2, out_channels//2, 1)
)
self.concat_conv = BasicConv(out_channels, out_channels, 1)
def forward(self, x):
x = self.downsample_conv(x)
x0 = self.split_conv0(x)
x1 = self.split_conv1(x)
x1 = self.blocks_conv(x1)
#------------------------------------#
# 将大残差边再堆叠回来
#------------------------------------#
x = torch.cat([x1, x0], dim=1)
#------------------------------------#
# 最后对通道数进行整合
#------------------------------------#
x = self.concat_conv(x)
return x
#---------------------------------------------------#
# CSPdarknet53 的主体部分
# 输入为一张416x416x3的图片
# 输出为三个有效特征层
#---------------------------------------------------#
class CSPDarkNet(nn.Module):
def __init__(self, layers):
super(CSPDarkNet, self).__init__()
self.inplanes = 32
# 416,416,3 -> 416,416,32
self.conv1 = BasicConv(3, self.inplanes, kernel_size=3, stride=1)
self.feature_channels = [64, 128, 256, 512, 1024]
self.stages = nn.ModuleList([
# 416,416,32 -> 208,208,64
Resblock_body(self.inplanes, self.feature_channels[0], layers[0], first=True),
# 208,208,64 -> 104,104,128
Resblock_body(self.feature_channels[0], self.feature_channels[1], layers[1], first=False),
# 104,104,128 -> 52,52,256
Resblock_body(self.feature_channels[1], self.feature_channels[2], layers[2], first=False),
# 52,52,256 -> 26,26,512
Resblock_body(self.feature_channels[2], self.feature_channels[3], layers[3], first=False),
# 26,26,512 -> 13,13,1024
Resblock_body(self.feature_channels[3], self.feature_channels[4], layers[4], first=False)
])
self.num_features = 1
for m in self.modules():
if isinstance(m, nn.Conv2d):
n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels
m.weight.data.normal_(0, math.sqrt(2. / n))
elif isinstance(m, nn.BatchNorm2d):
m.weight.data.fill_(1)
m.bias.data.zero_()
def forward(self, x):
x = self.conv1(x)
x = self.stages[0](x)
x = self.stages[1](x)
out3 = self.stages[2](x)
out4 = self.stages[3](out3)
out5 = self.stages[4](out4)
return out3, out4, out5
def darknet53(pretrained):
model = CSPDarkNet([1, 2, 8, 8, 4])
if pretrained:
model.load_state_dict(torch.load("model_data/CSPdarknet53_backbone_weights.pth"))
return model
================================================
FILE: nets/CSPdarknet53_tiny.py
================================================
import math
import torch
import torch.nn as nn
#-------------------------------------------------#
# 卷积块
# Conv2d + BatchNorm2d + LeakyReLU
#-------------------------------------------------#
class BasicConv(nn.Module):
def __init__(self, in_channels, out_channels, kernel_size, stride=1):
super(BasicConv, self).__init__()
self.conv = nn.Conv2d(in_channels, out_channels, kernel_size, stride, kernel_size//2, bias=False)
self.bn = nn.BatchNorm2d(out_channels)
self.activation = nn.LeakyReLU(0.1)
def forward(self, x):
x = self.conv(x)
x = self.bn(x)
x = self.activation(x)
return x
'''
input
|
BasicConv
-----------------------
| |
route_group route
| |
BasicConv |
| |
------------------- |
| | |
route_1 BasicConv |
| | |
-----------------cat |
| |
---- BasicConv |
| | |
feat cat---------------------
|
MaxPooling2D
'''
#---------------------------------------------------#
# CSPdarknet53-tiny的结构块
# 存在一个大残差边
# 这个大残差边绕过了很多的残差结构
#---------------------------------------------------#
class Resblock_body(nn.Module):
def __init__(self, in_channels, out_channels):
super(Resblock_body, self).__init__()
self.out_channels = out_channels
self.conv1 = BasicConv(in_channels, out_channels, 3)
self.conv2 = BasicConv(out_channels//2, out_channels//2, 3)
self.conv3 = BasicConv(out_channels//2, out_channels//2, 3)
self.conv4 = BasicConv(out_channels, out_channels, 1)
self.maxpool = nn.MaxPool2d([2,2],[2,2])
def forward(self, x):
# 利用一个3x3卷积进行特征整合
x = self.conv1(x)
# 引出一个大的残差边route
route = x
c = self.out_channels
# 对特征层的通道进行分割,取第二部分作为主干部分。
x = torch.split(x, c//2, dim = 1)[1]
# 对主干部分进行3x3卷积
x = self.conv2(x)
# 引出一个小的残差边route_1
route1 = x
# 对第主干部分进行3x3卷积
x = self.conv3(x)
# 主干部分与残差部分进行相接
x = torch.cat([x,route1], dim = 1)
# 对相接后的结果进行1x1卷积
x = self.conv4(x)
feat = x
x = torch.cat([route, x], dim = 1)
# 利用最大池化进行高和宽的压缩
x = self.maxpool(x)
return x,feat
class CSPDarkNet(nn.Module):
def __init__(self):
super(CSPDarkNet, self).__init__()
# 首先利用两次步长为2x2的3x3卷积进行高和宽的压缩
# 416,416,3 -> 208,208,32 -> 104,104,64
self.conv1 = BasicConv(3, 32, kernel_size=
gitextract_n_8zvszz/ ├── .devcontainer/ │ └── devcontainer.json ├── .gitignore ├── 2007_train.txt ├── 2007_val.txt ├── Pipfile ├── README.md ├── VOCdevkit/ │ └── VOC2007/ │ ├── Annotations/ │ │ ├── 1.xml │ │ ├── 2.xml │ │ ├── 3.xml │ │ ├── 4.xml │ │ ├── 5.xml │ │ └── README.md │ └── ImageSets/ │ └── Main/ │ ├── README.md │ ├── test.txt │ ├── train.txt │ ├── trainval.txt │ └── val.txt ├── YOLOv4-study学习资料md ├── detect.py ├── gen_annotation.py ├── gesture.streamlit.py ├── get_map.py ├── get_yaml.py ├── instructions.md ├── kmeans_for_anchors.py ├── logs/ │ ├── README.md │ ├── gesture_loss_2021_11_14_22_04_00/ │ │ ├── epoch_loss_2021_11_14_22_04_00.txt │ │ └── epoch_val_loss_2021_11_14_22_04_00.txt │ ├── loss_2022_04_27_08_48_16/ │ │ ├── epoch_loss.txt │ │ ├── epoch_val_loss.txt │ │ └── events.out.tfevents.1651049298.fef10e9dbba1.425.0 │ ├── loss_2022_04_27_10_38_48/ │ │ ├── epoch_loss.txt │ │ ├── epoch_val_loss.txt │ │ └── events.out.tfevents.1651055931.9b45dd4991ae.367.0 │ ├── loss_2022_04_27_12_50_47/ │ │ ├── epoch_loss.txt │ │ ├── epoch_val_loss.txt │ │ └── events.out.tfevents.1651063849.274e119c63fb.1015.0 │ ├── loss_2022_04_28_00_40_54/ │ │ ├── epoch_loss.txt │ │ ├── epoch_val_loss.txt │ │ └── events.out.tfevents.1651106457.117e69507361.564.0 │ ├── loss_2022_04_28_14_54_17/ │ │ ├── epoch_loss.txt │ │ ├── epoch_val_loss.txt │ │ └── events.out.tfevents.1651128857.LAPTOP-IE5MVR15.24536.0 │ └── loss_2022_05_02_14_57_57/ │ ├── epoch_loss.txt │ ├── epoch_val_loss.txt │ └── events.out.tfevents.1651503480.437fb01f4bb0.370.0 ├── model_data/ │ ├── .gitattributes │ ├── gesture.yaml │ ├── gesture_classes.txt │ ├── yolo_anchors.txt │ └── yolotiny_anchors.txt ├── nets/ │ ├── CSPdarknet.py │ ├── CSPdarknet53_tiny.py │ ├── __init__.py │ ├── attention.py │ ├── yolo.py │ ├── yolo_tiny.py │ ├── yolo_training.py │ └── yolotiny_training.py ├── packages.txt ├── predict.py ├── requirements.txt ├── summary.py ├── train.py ├── utils/ │ ├── __init__.py │ ├── callbacks.py │ ├── dataloader.py │ ├── utils.py │ ├── utils_bbox.py │ ├── utils_fit.py │ └── utils_map.py ├── utils_coco/ │ ├── coco_annotation.py │ └── get_map_coco.py ├── voc_annotation.py ├── yolo.py ├── yolo_anchors.txt └── yolov4-gesture-tutorial.ipynb
SYMBOL INDEX (168 symbols across 20 files)
FILE: gen_annotation.py
class GEN_Annotations (line 3) | class GEN_Annotations:
method __init__ (line 4) | def __init__(self, filename):
method set_size (line 26) | def set_size(self,witdh,height,channel):
method savefile (line 34) | def savefile(self,filename):
method add_pic_attr (line 37) | def add_pic_attr(self,label,xmin,ymin,xmax,ymax):
FILE: gesture.streamlit.py
function main (line 26) | def main():
function download_file (line 78) | def download_file(file_path):
function run_the_app (line 117) | def run_the_app():
function object_detector_ui (line 186) | def object_detector_ui():
function predict (line 192) | def predict(image,yolo):
function fps (line 213) | def fps(image,yolo):
function detect_image (line 221) | def detect_image(yolo):
function detect_camera (line 242) | def detect_camera(yolo):
function detect_fps (line 256) | def detect_fps(yolo):
function heatmap (line 275) | def heatmap(image,yolo):
function detect_heatmap (line 283) | def detect_heatmap(yolo):
function detect_example (line 301) | def detect_example(yolo):
function detect_realtime (line 317) | def detect_realtime(yolo):
function detect_video (line 343) | def detect_video(yolo):
FILE: get_yaml.py
function get_config (line 5) | def get_config():
FILE: kmeans_for_anchors.py
function cas_iou (line 14) | def cas_iou(box, cluster):
function avg_iou (line 26) | def avg_iou(box, cluster):
function kmeans (line 29) | def kmeans(box, k):
function load_data (line 82) | def load_data(path):
FILE: nets/CSPdarknet.py
class Mish (line 12) | class Mish(nn.Module):
method __init__ (line 13) | def __init__(self):
method forward (line 16) | def forward(self, x):
class BasicConv (line 23) | class BasicConv(nn.Module):
method __init__ (line 24) | def __init__(self, in_channels, out_channels, kernel_size, stride=1):
method forward (line 31) | def forward(self, x):
class Resblock (line 41) | class Resblock(nn.Module):
method __init__ (line 42) | def __init__(self, channels, hidden_channels=None):
method forward (line 53) | def forward(self, x):
class Resblock_body (line 63) | class Resblock_body(nn.Module):
method __init__ (line 64) | def __init__(self, in_channels, out_channels, num_blocks, first):
method forward (line 104) | def forward(self, x):
class CSPDarkNet (line 128) | class CSPDarkNet(nn.Module):
method __init__ (line 129) | def __init__(self, layers):
method forward (line 159) | def forward(self, x):
function darknet53 (line 170) | def darknet53(pretrained):
FILE: nets/CSPdarknet53_tiny.py
class BasicConv (line 11) | class BasicConv(nn.Module):
method __init__ (line 12) | def __init__(self, in_channels, out_channels, kernel_size, stride=1):
method forward (line 19) | def forward(self, x):
class Resblock_body (line 53) | class Resblock_body(nn.Module):
method __init__ (line 54) | def __init__(self, in_channels, out_channels):
method forward (line 66) | def forward(self, x):
class CSPDarkNet (line 93) | class CSPDarkNet(nn.Module):
method __init__ (line 94) | def __init__(self):
method forward (line 121) | def forward(self, x):
function darknet53_tiny (line 139) | def darknet53_tiny(pretrained, **kwargs):
FILE: nets/attention.py
class se_block (line 5) | class se_block(nn.Module):
method __init__ (line 6) | def __init__(self, channel, ratio=16):
method forward (line 16) | def forward(self, x):
class ChannelAttention (line 22) | class ChannelAttention(nn.Module):
method __init__ (line 23) | def __init__(self, in_planes, ratio=8):
method forward (line 35) | def forward(self, x):
class SpatialAttention (line 41) | class SpatialAttention(nn.Module):
method __init__ (line 42) | def __init__(self, kernel_size=7):
method forward (line 50) | def forward(self, x):
class cbam_block (line 57) | class cbam_block(nn.Module):
method __init__ (line 58) | def __init__(self, channel, ratio=8, kernel_size=7):
method forward (line 63) | def forward(self, x):
class eca_block (line 68) | class eca_block(nn.Module):
method __init__ (line 69) | def __init__(self, channel, b=1, gamma=2):
method forward (line 78) | def forward(self, x):
class CA_Block (line 84) | class CA_Block(nn.Module):
method __init__ (line 85) | def __init__(self, channel, reduction=16):
method forward (line 99) | def forward(self, x):
FILE: nets/yolo.py
function conv2d (line 9) | def conv2d(filter_in, filter_out, kernel_size, stride=1):
class SpatialPyramidPooling (line 21) | class SpatialPyramidPooling(nn.Module):
method __init__ (line 22) | def __init__(self, pool_sizes=[5, 9, 13]):
method forward (line 27) | def forward(self, x):
class Upsample (line 36) | class Upsample(nn.Module):
method __init__ (line 37) | def __init__(self, in_channels, out_channels):
method forward (line 45) | def forward(self, x,):
function make_three_conv (line 52) | def make_three_conv(filters_list, in_filters):
function make_five_conv (line 63) | def make_five_conv(filters_list, in_filters):
function yolo_head (line 76) | def yolo_head(filters_list, in_filters):
class YoloBody (line 86) | class YoloBody(nn.Module):
method __init__ (line 87) | def __init__(self, anchors_mask, num_classes, pretrained = False):
method forward (line 126) | def forward(self, x):
FILE: nets/yolo_tiny.py
class BasicConv (line 13) | class BasicConv(nn.Module):
method __init__ (line 14) | def __init__(self, in_channels, out_channels, kernel_size, stride=1):
method forward (line 21) | def forward(self, x):
class Upsample (line 30) | class Upsample(nn.Module):
method __init__ (line 31) | def __init__(self, in_channels, out_channels):
method forward (line 39) | def forward(self, x,):
function yolo_head (line 46) | def yolo_head(filters_list, in_filters):
class YoloBodytiny (line 55) | class YoloBodytiny(nn.Module):
method __init__ (line 56) | def __init__(self, anchors_mask, num_classes, phi=0, pretrained=False):
method forward (line 72) | def forward(self, x):
FILE: nets/yolo_training.py
class YOLOLoss (line 9) | class YOLOLoss(nn.Module):
method __init__ (line 10) | def __init__(self, anchors, num_classes, input_shape, cuda, anchors_ma...
method clip_by_tensor (line 37) | def clip_by_tensor(self, t, t_min, t_max):
method MSELoss (line 43) | def MSELoss(self, pred, target):
method BCELoss (line 46) | def BCELoss(self, pred, target):
method box_ciou (line 52) | def box_ciou(self, b1, b2):
method smooth_labels (line 117) | def smooth_labels(self, y_true, label_smoothing, num_classes):
method forward (line 120) | def forward(self, l, input, targets=None):
method calculate_iou (line 231) | def calculate_iou(self, _box_a, _box_b):
method get_target (line 275) | def get_target(self, l, targets, anchors, in_h, in_w):
method get_ignore (line 359) | def get_ignore(self, l, x, y, h, w, targets, scaled_anchors, in_h, in_...
function weights_init (line 421) | def weights_init(net, init_type='normal', init_gain = 0.02):
function get_lr_scheduler (line 441) | def get_lr_scheduler(lr_decay_type, lr, min_lr, total_iters, warmup_iter...
function set_optimizer_lr (line 473) | def set_optimizer_lr(optimizer, lr_scheduler_func, epoch):
FILE: nets/yolotiny_training.py
class YOLOLosstiny (line 8) | class YOLOLosstiny(nn.Module):
method __init__ (line 9) | def __init__(self, anchors, num_classes, input_shape, cuda, anchors_ma...
method clip_by_tensor (line 30) | def clip_by_tensor(self, t, t_min, t_max):
method MSELoss (line 36) | def MSELoss(self, pred, target):
method BCELoss (line 39) | def BCELoss(self, pred, target):
method box_ciou (line 45) | def box_ciou(self, b1, b2):
method smooth_labels (line 110) | def smooth_labels(self, y_true, label_smoothing, num_classes):
method forward (line 113) | def forward(self, l, input, targets=None):
method calculate_iou (line 213) | def calculate_iou(self, _box_a, _box_b):
method get_target (line 257) | def get_target(self, l, targets, anchors, in_h, in_w):
method get_ignore (line 358) | def get_ignore(self, l, x, y, h, w, targets, scaled_anchors, in_h, in_...
function weights_init (line 419) | def weights_init(net, init_type='normal', init_gain = 0.02):
function get_lr_scheduler (line 439) | def get_lr_scheduler(lr_decay_type, lr, min_lr, total_iters, warmup_iter...
function set_optimizer_lr (line 471) | def set_optimizer_lr(optimizer, lr_scheduler_func, epoch):
FILE: utils/callbacks.py
class LossHistory (line 12) | class LossHistory():
method __init__ (line 13) | def __init__(self, log_dir, model, input_shape):
method append_loss (line 28) | def append_loss(self, epoch, loss, val_loss):
method loss_plot (line 46) | def loss_plot(self):
FILE: utils/dataloader.py
class YoloDataset (line 12) | class YoloDataset(Dataset):
method __init__ (line 13) | def __init__(self, annotation_lines, input_shape, num_classes, epoch_l...
method __len__ (line 26) | def __len__(self):
method __getitem__ (line 29) | def __getitem__(self, index):
method rand (line 56) | def rand(self, a=0, b=1):
method get_random_data (line 59) | def get_random_data(self, annotation_line, input_shape, jitter=.3, hue...
method merge_bboxes (line 174) | def merge_bboxes(self, bboxes, cutx, cuty):
method get_random_data_with_Mosaic (line 220) | def get_random_data_with_Mosaic(self, annotation_line, input_shape, ji...
function yolo_dataset_collate (line 352) | def yolo_dataset_collate(batch):
FILE: utils/utils.py
function cvtColor (line 8) | def cvtColor(image):
function resize_image (line 18) | def resize_image(image, size, letterbox_image):
function get_classes (line 36) | def get_classes(classes_path):
function get_anchors (line 45) | def get_anchors(anchors_path):
function get_lr (line 56) | def get_lr(optimizer):
function preprocess_input (line 60) | def preprocess_input(image):
FILE: utils/utils_bbox.py
class DecodeBox (line 6) | class DecodeBox():
method __init__ (line 7) | def __init__(self, anchors, num_classes, input_shape, anchors_mask = [...
method decode_box (line 20) | def decode_box(self, inputs):
method yolo_correct_boxes (line 113) | def yolo_correct_boxes(self, box_xy, box_wh, input_shape, image_shape,...
method non_max_suppression (line 140) | def non_max_suppression(self, prediction, num_classes, input_shape, im...
FILE: utils/utils_fit.py
function fit_one_epoch (line 9) | def fit_one_epoch(model_train, model, yolo_loss, loss_history, optimizer...
FILE: utils/utils_map.py
function log_average_miss_rate (line 25) | def log_average_miss_rate(precision, fp_cumsum, num_images):
function error (line 66) | def error(msg):
function is_float_between_0_and_1 (line 73) | def is_float_between_0_and_1(value):
function voc_ap (line 89) | def voc_ap(rec, prec):
function file_lines_to_list (line 136) | def file_lines_to_list(path):
function draw_text_in_image (line 147) | def draw_text_in_image(img, text, pos, color, line_width):
function adjust_axes (line 164) | def adjust_axes(r, t, fig, axes):
function draw_plot_func (line 179) | def draw_plot_func(dictionary, n_classes, window_title, plot_title, x_la...
function get_map (line 270) | def get_map(MINOVERLAP, draw_plot, path = './map_out'):
function preprocess_gt (line 784) | def preprocess_gt(gt_path, class_names):
function preprocess_dr (line 852) | def preprocess_dr(dr_path, class_names):
function get_coco_map (line 874) | def get_coco_map(class_names, path):
FILE: utils_coco/get_map_coco.py
class mAP_YOLO (line 31) | class mAP_YOLO(YOLO):
method detect_image (line 35) | def detect_image(self, image_id, image, results):
FILE: voc_annotation.py
function convert_annotation (line 39) | def convert_annotation(year, image_id, list_file):
FILE: yolo.py
class YOLO (line 20) | class YOLO(object):
method get_defaults (line 58) | def get_defaults(cls, n):
method __init__ (line 67) | def __init__(self, opt, **kwargs):
method generate (line 100) | def generate(self, onnx=False):
method detect_image (line 122) | def detect_image(self, image, crop = False, count = False):
method get_FPS (line 231) | def get_FPS(self, image, test_interval):
method detect_heatmap (line 281) | def detect_heatmap(self, image, heatmap_save_path):
method convert_to_onnx (line 332) | def convert_to_onnx(self, simplify, model_path):
method get_map_txt (line 370) | def get_map_txt(self, image_id, image, class_names, map_out_path):
Condensed preview — 77 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (543K chars).
[
{
"path": ".devcontainer/devcontainer.json",
"chars": 1040,
"preview": "{\n \"name\": \"Python 3\",\n // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerf"
},
{
"path": ".gitignore",
"chars": 16,
"preview": "*.pyc\n*.DS_Store"
},
{
"path": "2007_train.txt",
"chars": 75213,
"preview": "VOCdevkit/VOC2007/JPEGImages/10.jpg 21,20,108,108,1\nVOCdevkit/VOC2007/JPEGImages/100.jpg 34,22,111,140,1\nVOCdevkit/VOC20"
},
{
"path": "2007_val.txt",
"chars": 8402,
"preview": "VOCdevkit/VOC2007/JPEGImages/1.jpg 21,7,174,210,1\nVOCdevkit/VOC2007/JPEGImages/1004.jpg 23,24,120,144,2\nVOCdevkit/VOC200"
},
{
"path": "Pipfile",
"chars": 341,
"preview": "[[source]]\nname = \"pypi\"\nurl = \"https://pypi.org/simple\"\nverify_ssl = true\n\n[dev-packages]\n\n[packages]\nstreamlit = \"<1.1"
},
{
"path": "README.md",
"chars": 19240,
"preview": "# 基于计算机视觉手势识别控制系统YoLoGesture (利用YOLO实现)\n\n\n"
},
{
"path": "VOCdevkit/VOC2007/Annotations/1.xml",
"chars": 520,
"preview": "<annotation>\n\t<folder>JPEGImages</folder>\n\t<filename>1.jpg</filename>\n\t<path>E:\\handpose_x_gesture_v2\\JPEGImages\\1.jpg</"
},
{
"path": "VOCdevkit/VOC2007/Annotations/2.xml",
"chars": 521,
"preview": "<annotation>\n\t<folder>JPEGImages</folder>\n\t<filename>2.jpg</filename>\n\t<path>E:\\handpose_x_gesture_v2\\JPEGImages\\2.jpg</"
},
{
"path": "VOCdevkit/VOC2007/Annotations/3.xml",
"chars": 521,
"preview": "<annotation>\n\t<folder>JPEGImages</folder>\n\t<filename>3.jpg</filename>\n\t<path>E:\\handpose_x_gesture_v2\\JPEGImages\\3.jpg</"
},
{
"path": "VOCdevkit/VOC2007/Annotations/4.xml",
"chars": 521,
"preview": "<annotation>\n\t<folder>JPEGImages</folder>\n\t<filename>4.jpg</filename>\n\t<path>E:\\handpose_x_gesture_v2\\JPEGImages\\4.jpg</"
},
{
"path": "VOCdevkit/VOC2007/Annotations/5.xml",
"chars": 521,
"preview": "<annotation>\n\t<folder>JPEGImages</folder>\n\t<filename>5.jpg</filename>\n\t<path>E:\\handpose_x_gesture_v2\\JPEGImages\\5.jpg</"
},
{
"path": "VOCdevkit/VOC2007/Annotations/README.md",
"chars": 6,
"preview": "存放标签文件"
},
{
"path": "VOCdevkit/VOC2007/ImageSets/Main/README.md",
"chars": 8,
"preview": "存放训练索引文件"
},
{
"path": "VOCdevkit/VOC2007/ImageSets/Main/test.txt",
"chars": 0,
"preview": ""
},
{
"path": "VOCdevkit/VOC2007/ImageSets/Main/train.txt",
"chars": 6202,
"preview": "10\n100\n1000\n1001\n1002\n1003\n1005\n1006\n1007\n1008\n1009\n101\n1010\n1011\n1012\n1013\n1014\n1015\n1016\n1017\n1019\n102\n1020\n1021\n1022\n"
},
{
"path": "VOCdevkit/VOC2007/ImageSets/Main/trainval.txt",
"chars": 6898,
"preview": "1\n10\n100\n1000\n1001\n1002\n1003\n1004\n1005\n1006\n1007\n1008\n1009\n101\n1010\n1011\n1012\n1013\n1014\n1015\n1016\n1017\n1018\n1019\n102\n102"
},
{
"path": "VOCdevkit/VOC2007/ImageSets/Main/val.txt",
"chars": 696,
"preview": "1\n1004\n1018\n1027\n1049\n1055\n1073\n1082\n1087\n1092\n1093\n1095\n1097\n1099\n1110\n1128\n1129\n113\n1143\n115\n1154\n1159\n1177\n1194\n1200\n"
},
{
"path": "YOLOv4-study学习资料md",
"chars": 1290,
"preview": "# YOLOv4 学习资料\n\n\n\n[Tianxiaomo](https://gith"
},
{
"path": "detect.py",
"chars": 1644,
"preview": "#-----------------------------------------------------------------------#\n# detect.py 是用来尝试利用小模型半自动化进行标注数据\n#----------"
},
{
"path": "gen_annotation.py",
"chars": 2111,
"preview": "from lxml import etree\n \nclass GEN_Annotations:\n def __init__(self, filename):\n self.root = etree.Element(\"ann"
},
{
"path": "gesture.streamlit.py",
"chars": 15154,
"preview": "\"\"\"Create an Object Detection Web App using PyTorch and Streamlit.\"\"\"\n# import libraries\nfrom PIL import Image\nfrom torc"
},
{
"path": "get_map.py",
"chars": 5618,
"preview": "import os\nimport xml.etree.ElementTree as ET\n\nfrom PIL import Image\nfrom tqdm import tqdm\nimport yaml\nfrom utils.utils i"
},
{
"path": "get_yaml.py",
"chars": 292,
"preview": "import os\nimport sys\nimport yaml\n\ndef get_config():\n yaml_path = 'model_data/gesture.yaml'\n f = open(yaml_path,'r'"
},
{
"path": "instructions.md",
"chars": 267,
"preview": "# ✌ Gesture Detection\n\n\n这是一个基于无人机视觉图像手势识别控制系统,选择了YOLOv4模型进行训练\n\n **YOLOv4 = CSPDarknet53(主干) + SPP** **附加模块(颈** **) +** *"
},
{
"path": "kmeans_for_anchors.py",
"chars": 5967,
"preview": "#-------------------------------------------------------------------------------------------------------#\n# kmeans虽然会对"
},
{
"path": "logs/README.md",
"chars": 10,
"preview": "用于存放训练好的文件"
},
{
"path": "logs/gesture_loss_2021_11_14_22_04_00/epoch_loss_2021_11_14_22_04_00.txt",
"chars": 2760,
"preview": "390.34399642473386\n21.87092101721116\n14.030741856421953\n11.276778338867942\n9.814540598127577\n8.89100271978496\n8.60910416"
},
{
"path": "logs/gesture_loss_2021_11_14_22_04_00/epoch_val_loss_2021_11_14_22_04_00.txt",
"chars": 2759,
"preview": "28.558996200561523\n15.032766554090712\n11.545120133293999\n9.72215329276191\n8.58862935172187\n8.486469162835014\n7.804132832"
},
{
"path": "logs/loss_2022_04_27_08_48_16/epoch_loss.txt",
"chars": 2020,
"preview": "4.311199968511408\n2.641528855670582\n1.0470811074430293\n0.3173784383318641\n0.1660231321372769\n0.12659757448868317\n0.11646"
},
{
"path": "logs/loss_2022_04_27_08_48_16/epoch_val_loss.txt",
"chars": 2053,
"preview": "3.5736865997314453\n1.7812694907188416\n0.5147329270839691\n0.15201690793037415\n0.10024188458919525\n0.08380990475416183\n0.0"
},
{
"path": "logs/loss_2022_04_27_10_38_48/epoch_loss.txt",
"chars": 2020,
"preview": "4.417048931121826\n2.7174118811433967\n1.0889532132582231\n0.3425311154939912\n0.17422378638928587\n0.13641497018662366\n0.116"
},
{
"path": "logs/loss_2022_04_27_10_38_48/epoch_val_loss.txt",
"chars": 2050,
"preview": "3.682404637336731\n1.8932517766952515\n0.5478550791740417\n0.1596439927816391\n0.1100359559059143\n0.0877840518951416\n0.07812"
},
{
"path": "logs/loss_2022_04_27_12_50_47/epoch_loss.txt",
"chars": 2013,
"preview": "4.458093025467613\n2.7262558070096103\n1.0888537033037706\n0.3306311368942261\n0.1712129498747262\n0.12332972951910713\n0.1077"
},
{
"path": "logs/loss_2022_04_27_12_50_47/epoch_val_loss.txt",
"chars": 2045,
"preview": "3.7051011323928833\n1.8262890577316284\n0.5144035518169403\n0.16302762925624847\n0.10760901868343353\n0.09057768434286118\n0.0"
},
{
"path": "logs/loss_2022_04_28_00_40_54/epoch_loss.txt",
"chars": 2006,
"preview": "4.65520715713501\n3.142860672690652\n1.5020794109864668\n0.5057930661873384\n0.231415910476988\n0.1739024357362227\n0.15014996"
},
{
"path": "logs/loss_2022_04_28_00_40_54/epoch_val_loss.txt",
"chars": 2048,
"preview": "3.979103207588196\n2.2379150390625\n0.7213477790355682\n0.20374882966279984\n0.13149111717939377\n0.10669583082199097\n0.08946"
},
{
"path": "logs/loss_2022_04_28_14_54_17/epoch_loss.txt",
"chars": 2023,
"preview": "3.3427013629012636\n0.590641807185279\n0.20623346173928844\n0.13935681179993684\n0.11779505432479911\n0.10669546342558331\n0.0"
},
{
"path": "logs/loss_2022_04_28_14_54_17/epoch_val_loss.txt",
"chars": 2042,
"preview": "1.1948505997657777\n0.2769960485398769\n0.1309874437749386\n0.10720247365534305\n0.0823921812698245\n0.06992402952164412\n0.07"
},
{
"path": "logs/loss_2022_05_02_14_57_57/epoch_loss.txt",
"chars": 2011,
"preview": "17.101406224568684\n10.8318008740743\n4.240671507517496\n1.0019958794116974\n0.37954812149206796\n0.2687491794427236\n0.227541"
},
{
"path": "logs/loss_2022_05_02_14_57_57/epoch_val_loss.txt",
"chars": 2045,
"preview": "14.182828585306803\n6.964454015096028\n1.7364161411921184\n0.4160226086775462\n0.23061403135458627\n0.18009933829307556\n0.153"
},
{
"path": "model_data/.gitattributes",
"chars": 42,
"preview": "*.pth filter=lfs diff=lfs merge=lfs -text\n"
},
{
"path": "model_data/gesture.yaml",
"chars": 679,
"preview": "#------------------------------detect.py--------------------------------#\n# 这一部分是为了半自动标注数据,可以减轻负担,需要提前训练一个权重,以Labelme格式保"
},
{
"path": "model_data/gesture_classes.txt",
"chars": 53,
"preview": "up\ndown\nleft\nright\nfront\nback\nclockwise\nanticlockwise"
},
{
"path": "model_data/yolo_anchors.txt",
"chars": 85,
"preview": "12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401"
},
{
"path": "model_data/yolotiny_anchors.txt",
"chars": 49,
"preview": "10,14, 23,27, 37,58, 81,82, 135,169, 344,319"
},
{
"path": "nets/CSPdarknet.py",
"chars": 6592,
"preview": "import math\nfrom collections import OrderedDict\n\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n\n\n#-"
},
{
"path": "nets/CSPdarknet53_tiny.py",
"chars": 4548,
"preview": "import math\n\nimport torch\nimport torch.nn as nn\n\n\n#-------------------------------------------------#\n# 卷积块\n# Conv2d"
},
{
"path": "nets/__init__.py",
"chars": 1,
"preview": "#"
},
{
"path": "nets/attention.py",
"chars": 4202,
"preview": "import torch\nimport torch.nn as nn\nimport math\n\nclass se_block(nn.Module):\n def __init__(self, channel, ratio=16):\n "
},
{
"path": "nets/yolo.py",
"chars": 6772,
"preview": "from collections import OrderedDict\n\nimport torch\nimport torch.nn as nn\n\nfrom nets.CSPdarknet import darknet53\n\n\ndef con"
},
{
"path": "nets/yolo_tiny.py",
"chars": 3535,
"preview": "import torch\nimport torch.nn as nn\n\nfrom nets.CSPdarknet53_tiny import darknet53_tiny\nfrom nets.attention import cbam_bl"
},
{
"path": "nets/yolo_training.py",
"chars": 24240,
"preview": "import math\nfrom functools import partial\n\nimport numpy as np\nimport torch\nimport torch.nn as nn\n\n\nclass YOLOLoss(nn.Mod"
},
{
"path": "nets/yolotiny_training.py",
"chars": 23928,
"preview": "import math\nfrom functools import partial\n\nimport numpy as np\nimport torch\nimport torch.nn as nn\n\nclass YOLOLosstiny(nn."
},
{
"path": "packages.txt",
"chars": 27,
"preview": "freeglut3-dev\nlibgtk2.0-dev"
},
{
"path": "predict.py",
"chars": 8790,
"preview": "#-----------------------------------------------------------------------#\n# predict.py将单张图片预测、摄像头检测、FPS测试和目录遍历检测等功能\n# "
},
{
"path": "requirements.txt",
"chars": 234,
"preview": "scipy\nnumpy\nmatplotlib==3.7.0\nopencv_python\ntorch==1.8.1\ntorchvision==0.9.1\ntqdm==4.60.0\nPillow==8.2.0\nh5py==2.10.0\ntens"
},
{
"path": "summary.py",
"chars": 596,
"preview": "#--------------------------------------------#\n# 该部分代码用于看网络结构\n#--------------------------------------------#\nimport to"
},
{
"path": "train.py",
"chars": 26901,
"preview": "#-------------------------------------#\n# 对数据集进行训练\n#-------------------------------------#\nimport os\n\nimport numpy"
},
{
"path": "utils/__init__.py",
"chars": 1,
"preview": "#"
},
{
"path": "utils/callbacks.py",
"chars": 2322,
"preview": "import datetime\nimport os\n\nimport torch\nimport matplotlib\nmatplotlib.use('Agg')\nimport scipy.signal\nfrom matplotlib impo"
},
{
"path": "utils/dataloader.py",
"chars": 13952,
"preview": "from random import sample, shuffle\n\nimport cv2\nimport numpy as np\nimport torch\nfrom PIL import Image\nfrom torch.utils.da"
},
{
"path": "utils/utils.py",
"chars": 2025,
"preview": "import numpy as np\nfrom PIL import Image\n\n#---------------------------------------------------------#\n# 将图像转换成RGB图像,防止"
},
{
"path": "utils/utils_bbox.py",
"chars": 11778,
"preview": "import torch\nimport torch.nn as nn\nfrom torchvision.ops import nms\nimport numpy as np\n\nclass DecodeBox():\n def __init"
},
{
"path": "utils/utils_fit.py",
"chars": 4526,
"preview": "import os\n\nimport torch\nfrom tqdm import tqdm\n\nfrom utils.utils import get_lr\n\n\ndef fit_one_epoch(model_train, model, yo"
},
{
"path": "utils/utils_map.py",
"chars": 36066,
"preview": "import glob\nimport json\nimport math\nimport operator\nimport os\nimport shutil\nimport sys\n\nimport cv2\nimport matplotlib.pyp"
},
{
"path": "utils_coco/coco_annotation.py",
"chars": 3873,
"preview": "#-------------------------------------------------------#\n# 用于处理COCO数据集,根据json文件生成txt文件用于训练\n#-------------------------"
},
{
"path": "utils_coco/get_map_coco.py",
"chars": 4883,
"preview": "import json\nimport os\n\nimport numpy as np\nimport torch\nfrom PIL import Image\nfrom pycocotools.coco import COCO\nfrom pyco"
},
{
"path": "voc_annotation.py",
"chars": 5012,
"preview": "import os\nimport random\nimport xml.etree.ElementTree as ET\nfrom get_yaml import get_config\nfrom utils.utils import get_c"
},
{
"path": "yolo.py",
"chars": 20107,
"preview": "import colorsys\nimport os\nimport time\n\nimport numpy as np\nimport torch\nimport torch.nn as nn\nfrom PIL import ImageDraw, "
},
{
"path": "yolo_anchors.txt",
"chars": 79,
"preview": "105,107, 118,136, 152,122, 114,165, 139,151, 160,156, 152,185, 181,167, 192,197"
},
{
"path": "yolov4-gesture-tutorial.ipynb",
"chars": 88551,
"preview": "{\"cells\":[{\"cell_type\":\"markdown\",\"metadata\":{\"id\":\"9MEPFVpX4mRS\"},\"source\":[\"# 挂载Drive (使用colab才做这个操作)\"]},{\"cell_type\":"
}
]
// ... and 6 more files (download for full content)
About this extraction
This page contains the full source code of the Kedreamix/YoloGesture GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 77 files (475.9 KB), approximately 172.1k tokens, and a symbol index with 168 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.