precisionRecall
Syntax
Description
[
gets the precision, recall, and prediction score values for all classes in the
precision
,recall
,scores
] = precisionRecall(metrics
)ClassNames
property and all overlap
thresholds in the OverlapThreshold
property of the objectDetectionMetrics
object metrics
.
[
specifies precision and recall evaluation options using one or more name-value
arguments. For example, precision
,recall
,scores
] = precisionRecall(metrics
,Name=Value
)ClassNames=["cars" "people"]
specifies to
get the precision recall metrics for the cars and people classes.
Examples
Plot Precision-Recall Curve
Load a table containing image file names and ground truth bounding box labels into the workspace. The first column contains the image file names, and the remaining columns contain the labeled bounding boxes.
data = load("vehicleTrainingData.mat");
trainingData = data.vehicleTrainingData;
Set the value of the dataDir
variable as the location where the vehicleTrainingData.mat
file is located. Load the test data into a local vehicle data folder.
dataDir = fullfile(toolboxdir("vision"),"visiondata"); trainingData.imageFilename = fullfile(dataDir,trainingData.imageFilename);
Create an imageDatastore
using the files from the table.
imds = imageDatastore(trainingData.imageFilename);
Create a boxLabelDatastore
using the label column from the table.
blds = boxLabelDatastore(trainingData(:,2:end));
Load a pretrained YOLO v2 object detector, trained to detect vehicles, into the workspace.
vehicleDetector = load("yolov2VehicleDetector.mat");
detector = vehicleDetector.detector;
Plot Precision-Recall Curve
Run the detector on the test images. Set the detection threshold to a low value to detect as many objects as possible. This enables you to evaluate the detector precision across the full range of recall values.
results = detect(detector,imds,Threshold=0.01);
Compute metrics for evaluating the performance of the object detector.
metrics = evaluateObjectDetection(results,blds);
Get the precision, recall, and confidence scores for the vehicle class using the precisionRecall
object function.
[precision,recall,scores] = precisionRecall(metrics);
Plot the precision-recall curve.
figure plot(recall{1},precision{1}) grid on title("Precision-Recall for Vehicle Class") xlabel("Precision") ylabel("Recall")
Display the confidence score thresholds corresponding to each point the precision-recall curve.
scores
scores = 1x1 cell array
{[1 0.9890 0.9825 0.9808 0.9804 0.9785 0.9776 0.9775 0.9763 0.9752 0.9744 0.9744 0.9726 0.9718 0.9718 0.9717 0.9716 0.9713 0.9705 0.9700 0.9698 0.9688 0.9681 0.9672 0.9665 0.9648 0.9644 0.9639 0.9621 0.9615 0.9612 0.9609 0.9592 0.9585 0.9584 0.9577 0.9571 0.9569 0.9561 0.9558 0.9540 0.9524 0.9516 0.9506 0.9498 0.9485 0.9485 0.9475 0.9464 0.9462 0.9462 0.9462 0.9459 0.9459 0.9458 0.9452 0.9416 0.9410 0.9403 0.9394 0.9384 0.9382 0.9375 0.9369 0.9367 0.9366 0.9360 0.9354 0.9353 0.9351 0.9345 0.9342 0.9339 0.9337 0.9332 0.9324 0.9290 0.9282 0.9276 0.9276 0.9266 0.9252 0.9252 0.9238 0.9237 0.9235 0.9222 0.9208 0.9205 0.9192 0.9182 0.9181 0.9179 0.9152 0.9149 0.9140 0.9134 0.9120 0.9115 0.9109 0.9106 0.9093 0.9092 0.9077 0.9070 0.9060 0.9052 0.9039 0.9039 0.9039 0.9039 0.9034 0.9034 0.9002 0.8999 0.8999 0.8984 0.8979 0.8965 0.8953 0.8946 0.8937 0.8933 0.8923 0.8921 0.8913 0.8896 0.8895 0.8890 0.8888 0.8880 0.8879 0.8872 0.8870 0.8869 0.8868 0.8868 0.8842 0.8837 0.8829 0.8829 0.8826 0.8824 0.8813 0.8812 0.8805 0.8788 0.8780 0.8764 0.8761 0.8758 0.8751 0.8741 0.8741 0.8733 0.8732 0.8730 0.8726 0.8726 0.8724 0.8713 0.8699 0.8682 0.8682 0.8633 0.8629 0.8601 0.8600 0.8600 0.8598 0.8597 0.8576 0.8576 0.8574 0.8568 0.8568 0.8557 0.8554 0.8549 0.8538 0.8535 0.8535 0.8525 0.8519 0.8519 0.8515 0.8515 0.8513 0.8510 0.8503 0.8491 0.8476 0.8470 0.8466 0.8462 0.8455 0.8455 0.8451 0.8421 0.8421 0.8413 0.8413 0.8382 0.8319 0.8319 0.8319 0.8294 0.8290 0.8278 0.8232 0.8181 0.8181 0.8155 0.8153 0.8128 0.8128 0.8098 0.8093 0.8093 0.8090 0.8090 0.8086 0.8056 0.8056 0.8017 0.7948 0.7948 0.7900 0.7900 0.7884 0.7875 0.7861 0.7825 0.7825 0.7821 0.7816 0.7806 0.7797 0.7793 0.7793 0.7791 0.7791 0.7763 0.7763 0.7726 0.7711 0.7710 0.7710 0.7676 0.7639 0.7548 0.7548 0.7541 0.7541 0.7489 0.7468 0.7468 0.7467 0.7467 0.7440 0.7430 0.7408 0.7408 0.7405 0.7401 0.7384 0.7365 0.7355 0.7355 0.7341 0.7341 0.7330 0.7330 0.7315 0.7302 0.7302 0.7270 0.7253 0.7235 0.7198 0.7173 0.7173 0.7171 0.7162 0.7162 0.7152 0.7129 0.7042 0.7038 0.7032 0.7032 0.6992 0.6933 0.6933 0.6892 0.6892 0.6879 0.6853 0.6838 0.6831 0.6829 0.6743 0.6743 0.6698 0.6698 0.6676 0.6643 0.6586 0.6567 0.6547 0.6516 0.6472 0.6472 0.6446 0.6446 0.6446 0.6446 0.6402 0.6381 0.6381 0.6373 0.6359 0.6359 0.6351 0.6351 0.6262 0.6191 0.6126 0.6068 0.5948 0.5694 0.5490 0.5490 0.5395 0.5383 0.5236 0.5236 0.5222 0.5078 0.4989 0.4989 0.4981 0.4944 0.4904 0.4904 0.4814 0.4814 0.4669 0.4620 0.4620 0.4514 0.4485 0.4440 0.4436 0.4417 0.4404 0.4404 0.4396 0.4333 0.4323 0.4316 0.4310 0.4310 0.4272 0.4272 0.4222 0.4222 0.4222 0.4194 0.4194 0.4182 0.4182 0.4174 0.4121 0.4048 0.4006 0.3999 0.3945 0.3945 0.3944 0.3944 0.3924 0.3901 0.3896 0.3885 0.3876 0.3837 0.3820 0.3797 0.3708 0.3679 0.3643 0.3620 0.3571 0.3457 0.3424 0.3421 0.3420 0.3367 0.3367 0.3363 0.3332 0.3332 0.3330 0.3330 0.3323 0.3315 0.3315 0.3298 0.3298 0.3298 0.3288 0.3286 0.3282 0.3241 0.3207 0.3207 0.3190 0.3175 0.3172 0.3169 0.3153 0.3153 0.3137 0.3115 0.3099 0.3099 0.3084 0.3084 0.3072 0.3060 0.3060 0.3060 0.3043 0.3043 0.3042 0.3035 0.3034 0.3031 0.3030 0.3030 0.3026 0.3018 0.3008 0.3003 0.2989 0.2989 0.2988 0.2987 0.2983 0.2946 0.2946 0.2926 0.2922 0.2912 0.2879 0.2862 0.2849 0.2844 0.2841 0.2841 0.2827 0.2815 0.2801 0.2789 0.2785 0.2785 0.2781 0.2773 0.2769 0.2768 0.2762 0.2762 0.2734 0.2723 0.2713 0.2699 0.2696 0.2696 0.2691 0.2691 0.2689 0.2687 0.2683 0.2683 0.2675 0.2675 0.2673 0.2673 0.2665 0.2660 0.2645 0.2634 0.2624 0.2607 0.2601 0.2586 0.2586 0.2572 0.2569 0.2569 0.2560 0.2558 0.2556 0.2556 0.2539 0.2533 0.2524 0.2524 0.2522 0.2522 0.2502 0.2494 0.2493 0.2487 0.2487 0.2469 0.2469 0.2469 0.2469 0.2465 0.2462 0.2461 0.2450 0.2449 0.2445 0.2441 0.2433 0.2423 0.2419 0.2407 0.2404 0.2404 0.2402 0.2401 0.2398 0.2398 0.2396 0.2391 0.2373 0.2373 0.2372 0.2370 0.2370 0.2369 0.2366 0.2366 0.2364 0.2364 0.2359 0.2353 0.2335 0.2330 0.2329 0.2329 0.2327 0.2327 0.2326 0.2320 0.2315 0.2314 0.2314 0.2314 0.2311 0.2308 0.2308 0.2308 0.2307 0.2307 0.2301 0.2301 0.2298 0.2293 0.2291 0.2290 0.2290 0.2282 0.2282 0.2276 0.2267 0.2267 0.2262 0.2262 0.2256 0.2250 0.2250 0.2248 0.2247 0.2242 0.2231 0.2231 0.2230 0.2224 0.2224 0.2213 0.2213 0.2211 0.2211 0.2190 0.2186 0.2186 0.2185 0.2185 0.2183 0.2183 0.2179 0.2177 0.2173 0.2172 0.2169 0.2168 0.2168 0.2166 0.2166 0.2155 0.2150 0.2150 0.2149 0.2135 0.2134 0.2133 0.2127 0.2123 0.2120 0.2118 0.2111 0.2111 0.2110 0.2102 0.2095 0.2081 0.2076 0.2075 0.2074 0.2063 0.2054 0.2054 0.2049 0.2046 0.2046 0.2025 0.2025 0.2023 0.2016 0.2012 0.2012 0.2008 0.2004 0.2003 0.2001 0.1996 0.1996 0.1994 0.1992 0.1992 0.1989 0.1989 0.1983 0.1981 0.1981 0.1970 0.1964 0.1952 0.1949 0.1947 0.1946 0.1945 0.1943 0.1942 0.1942 0.1938 0.1938 0.1934 0.1934 0.1934 0.1933 0.1932 0.1932 0.1929 0.1926 0.1926 0.1923 0.1923 0.1918 0.1910 0.1906 0.1906 0.1904 0.1896 0.1894 0.1892 0.1886 0.1886 0.1885 0.1882 0.1882 0.1877 0.1876 0.1874 0.1873 0.1868 0.1865 0.1863 0.1862 0.1862 0.1860 0.1859 0.1857 0.1855 0.1854 0.1854 0.1853 0.1836 0.1835 0.1834 0.1834 0.1828 0.1827 0.1826 0.1826 0.1824 0.1823 0.1822 0.1820 0.1819 0.1818 0.1816 0.1815 0.1812 0.1808 0.1808 0.1802 0.1794 0.1782 0.1780 0.1780 0.1780 0.1780 0.1778 0.1777 0.1776 0.1773 0.1768 0.1767 0.1766 0.1763 0.1760 0.1760 0.1759 0.1747 0.1747 0.1744 0.1741 0.1741 0.1741 0.1741 0.1739 0.1735 0.1735 0.1735 0.1734 0.1734 0.1734 0.1727 0.1727 0.1727 0.1727 0.1726 0.1726 0.1726 0.1724 0.1724 0.1723 0.1722 0.1722 0.1720 0.1720 0.1720 0.1712 0.1711 0.1708 0.1708 0.1707 0.1707 0.1705 0.1705 0.1703 0.1700 0.1700 0.1700 0.1693 0.1692 0.1690 0.1690 0.1689 0.1687 0.1687 0.1684 0.1683 0.1682 0.1679 0.1677 0.1674 0.1674 0.1673 0.1667 0.1667 0.1665 0.1663 0.1662 0.1662 0.1661 0.1661 0.1661 0.1657 0.1656 0.1656 0.1656 0.1655 0.1653 0.1650 0.1646 0.1643 0.1640 0.1639 0.1639 0.1639 0.1639 0.1639 0.1638 0.1638 0.1637 0.1636 0.1634 0.1634 0.1631 0.1630 0.1627 0.1627 0.1627 0.1627 0.1627 0.1625 0.1623 0.1623 0.1622 0.1622 0.1622 0.1621 0.1617 0.1615 0.1615 0.1615 0.1615 0.1613 0.1612 0.1612 0.1611 0.1611 0.1609 0.1609 0.1608 0.1607 0.1604 0.1601 0.1601 0.1601 0.1600 0.1599 0.1595 0.1595 0.1593 0.1586 0.1579 0.1576 0.1574 0.1574 0.1574 0.1572 0.1572 0.1572 0.1571 0.1571 0.1566 0.1566 0.1566 0.1566 0.1563 0.1563 0.1559 0.1559 0.1557 0.1554 0.1547 0.1547 0.1546 0.1546 0.1543 0.1543 0.1542 0.1539 0.1539 0.1537 0.1537 0.1536 0.1535 0.1533 0.1532 0.1530 0.1528 0.1526 0.1526 0.1526 0.1522 0.1521 0.1519 0.1518 0.1518 0.1517 0.1516 0.1516 0.1516 0.1515 0.1514 0.1514 0.1513 0.1513 0.1511 0.1511 0.1511 0.1510 0.1510 0.1509 0.1505 0.1502 0.1501 0.1496 0.1496 0.1495 0.1495 0.1494 0.1493 0.1493 0.1482 0.1481 0.1480 0.1480 0.1480 0.1477 0.1477 0.1475 0.1474 0.1474 0.1472 0.1472 0.1471 0.1471 0.1470 0.1468 0.1466 0.1461 0.1457 0.1457 0.1457 0.1455 0.1455 0.1452 0.1452 0.1451 0.1451 0.1450 0.1449 0.1449 0.1448 0.1448 0.1448 0.1446 0.1446 0.1446 0.1445 0.1443 0.1443 0.1443 0.1441 0.1439 0.1439 0.1438 0.1438 0.1437 0.1436 0.1435 0.1435 0.1434 0.1434 0.1433 0.1433 0.1432 0.1432 0.1432 0.1432 0.1431 0.1430 0.1429 0.1425 0.1423 0.1422 0.1422 0.1420 0.1419 0.1416 0.1413 0.1413 0.1413 0.1412 0.1412 0.1412 0.1412 0.1410 0.1410 0.1408 0.1408 0.1407 0.1405 0.1402 0.1402 0.1401 0.1401 0.1399 0.1399 0.1398 0.1396 0.1393 0.1393 0.1392 0.1391 0.1391 0.1391 0.1389 0.1388 0.1388 0.1386 0.1386 0.1385 0.1385 0.1384 0.1384 0.1384 0.1382 0.1381 0.1379 0.1379 0.1379 0.1375 0.1375 0.1375 0.1375 0.1374 0.1374 0.1374 0.1373 0.1368 0.1368 0.1368 0.1366 0.1365 0.1363 0.1363 0.1363 0.1361 0.1361 0.1361 0.1360 0.1360 0.1358 0.1358 0.1357 0.1354 0.1354 0.1354 0.1354 0.1354 0.1352 0.1352 0.1351 0.1350 0.1345 0.1343 0.1343 0.1339 0.1338 0.1337 0.1337 0.1336 0.1336 0.1336 0.1335 0.1335 0.1335 0.1334 0.1333 0.1332 0.1332 0.1331 0.1329 0.1328 0.1328 0.1328 0.1326 0.1323 0.1323 0.1322 0.1322 0.1322 0.1321 0.1321 0.1321 0.1321 0.1320 0.1319 0.1319 0.1319 0.1318 0.1317 0.1317 0.1314 0.1312 0.1311 0.1311 0.1310 0.1310 0.1310 0.1309 0.1308 0.1307 0.1303 0.1301 0.1300 0.1300 0.1299 0.1299 0.1299 0.1299 0.1299 0.1299 0.1299 0.1298 0.1298 0.1296 0.1296 0.1295 0.1294 0.1294 0.1293 0.1293 0.1293 0.1293 0.1288 0.1288 0.1288 0.1288 0.1287 0.1285 0.1285 0.1284 0.1283 0.1283 0.1282 0.1282 0.1279 0.1278 0.1278 0.1278 0.1278 0.1278 0.1278 0.1278 0.1278 0.1276 0.1275 0.1275 0.1274 0.1274 0.1274 0.1274 0.1271 0.1271 0.1270 0.1270 0.1269 0.1268 0.1268 0.1268 0.1267 0.1267 0.1266 0.1266 0.1266 0.1265 0.1264 0.1264 0.1263 0.1263 0.1263 0.1261 0.1261 0.1260 0.1257 0.1256 0.1255 0.1255 0.1254 0.1254 0.1253 0.1252 0.1249 0.1249 0.1248 0.1247 0.1247 0.1247 0.1247 0.1245 0.1243 0.1242 0.1242 0.1242 0.1242 0.1241 0.1241 0.1241 0.1241 0.1240 0.1240 0.1238 0.1237 0.1235 0.1235 0.1235 0.1235 0.1233 0.1233 0.1232 0.1232 0.1232 0.1230 0.1229 0.1229 0.1229 0.1228 0.1227 0.1227 0.1227 0.1224 0.1224 0.1224 0.1224 0.1224 0.1222 0.1221 0.1221 0.1221 0.1221 0.1221 0.1221 0.1218 0.1218 0.1218 0.1217 0.1215 0.1214 0.1213 0.1212 0.1209 0.1209 0.1209 0.1208 0.1208 0.1208 0.1208 0.1207 0.1205 0.1205 0.1204 0.1204 0.1203 0.1203 0.1203 0.1202 0.1201 0.1201 0.1201 0.1200 0.1199 0.1199 0.1198 0.1198 0.1198 0.1198 0.1198 0.1197 0.1197 0.1197 0.1197 0.1197 0.1196 0.1195 0.1194 0.1194 0.1194 0.1193 0.1192 0.1192 0.1191 0.1191 0.1191 0.1190 0.1190 0.1190 0.1190 0.1189 0.1188 0.1188 0.1187 0.1187 0.1186 0.1186 0.1185 0.1184 0.1183 0.1183 0.1181 0.1181 0.1181 0.1181 0.1181 0.1180 0.1180 0.1177 0.1176 0.1176 0.1175 0.1175 0.1174 0.1173 0.1172 0.1172 0.1171 0.1171 0.1171 0.1170 0.1169 0.1169 0.1169 0.1167 0.1165 0.1164 0.1164 0.1163 0.1163 0.1163 0.1163 0.1161 0.1160 0.1160 0.1160 0.1159 0.1159 0.1159 0.1159 0.1159 0.1159 0.1158 0.1157 0.1156 0.1156 0.1155 0.1155 0.1155 0.1155 0.1153 0.1153 0.1152 0.1152 0.1151 0.1151 0.1150 0.1150 0.1149 0.1148 0.1147 0.1147 0.1146 0.1146 0.1146 0.1146 0.1146 0.1146 0.1146 0.1142 0.1142 0.1142 0.1141 0.1139 0.1139 0.1139 0.1138 0.1137 0.1137 0.1137 0.1136 0.1136 0.1135 0.1135 0.1135 0.1134 0.1134 0.1134 0.1134 0.1133 0.1133 0.1133 0.1133 0.1133 0.1132 0.1131 0.1131 0.1131 0.1131 0.1130 0.1129 0.1129 0.1128 0.1127 0.1127 0.1127 0.1126 0.1126 0.1126 0.1126 0.1125 0.1125 0.1125 0.1124 0.1124 0.1124 0.1123 0.1122 0.1122 0.1121 0.1120 0.1120 0.1119 0.1119 0.1119 0.1119 0.1119 0.1119 0.1119 0.1118 0.1118 0.1118 0.1117 0.1117 0.1117 0.1116 0.1116 0.1116 0.1116 0.1116 0.1115 0.1115 0.1115 0.1115 0.1114 0.1113 0.1113 0.1113 0.1111 0.1111 0.1111 0.1111 0.1111 0.1110 0.1110 0.1109 0.1108 0.1107 0.1107 0.1107 0.1107 0.1107 0.1107 0.1106 0.1106 0.1106 0.1106 0.1105 0.1105 0.1105 0.1105 0.1105 0.1102 0.1101 0.1101 0.1101 0.1100 0.1099 0.1098 0.1098 0.1098 0.1098 0.1098 0.1097 0.1097 0.1097 0.1097 0.1097 0.1096 0.1096 0.1093 0.1092 0.1092 0.1091 0.1090 0.1089 0.1089 0.1089 0.1089 0.1089 0.1089 0.1088 0.1088 0.1088 0.1088 0.1088 0.1088 0.1087 0.1087 0.1087 0.1086 0.1086 0.1086 0.1086 0.1086 0.1085 0.1085 0.1084 0.1084 0.1084 0.1084 0.1083 0.1083 0.1083 0.1083 0.1082 0.1082 0.1082 0.1082 0.1082 0.1082 0.1082 0.1082 0.1081 0.1081 0.1081 0.1081 0.1079 0.1079 0.1079 0.1079 0.1079 0.1079 0.1078 0.1078 0.1078 0.1077 0.1077 0.1077 0.1076 0.1076 0.1075 0.1075 0.1072 0.1072 0.1071 0.1071 0.1071 0.1070 0.1070 0.1070 0.1069 0.1069 0.1069 0.1068 0.1068 0.1067 0.1066 0.1065 0.1065 0.1065 0.1064 0.1064 0.1063 0.1062 0.1062 0.1062 0.1060 0.1059 0.1059 0.1058 0.1058 0.1057 0.1057 0.1056 0.1055 0.1053 0.1053 0.1053 0.1052 0.1052 0.1052 0.1051 0.1051 0.1050 0.1050 0.1050 0.1049 0.1049 0.1049 0.1048 0.1048 0.1047 0.1046 0.1046 0.1045 0.1045 0.1044 0.1044 0.1044 0.1043 0.1042 0.1042 0.1041 0.1039 0.1039 0.1039 0.1038 0.1038 0.1038 0.1036 0.1036 0.1036 0.1035 0.1035 0.1034 0.1034 0.1032 0.1031 0.1030 0.1030 0.1030 0.1029 0.1029 0.1027 0.1027 0.1027 0.1026 0.1026 0.1026 0.1026 0.1026 0.1026 0.1025 0.1025 0.1024 0.1024 0.1024 0.1023 0.1023 0.1023 0.1023 0.1022 0.1022 0.1022 0.1022 0.1021 0.1021 0.1021 0.1021 0.1021 0.1020 0.1020 0.1019 0.1018 0.1018 0.1017 0.1017 0.1017 0.1015 0.1014 0.1014 0.1014 0.1014 0.1012 0.1012 0.1012 0.1011 0.1011 0.1011 0.1010 0.1010 0.1010 0.1010 0.1010 0.1009 0.1009 0.1009 0.1007 0.1006 0.1006 0.1006 0.1006 0.1006 0.1006 0.1005 0.1005 0.1005 0.1005 0.1005 0.1004 0.1004 0.1003 0.1003 0.1003 0.1002 0.1002 0.1002 0.1002 0.1002 0.1002 0.1002 0.1001 0.1001 0.1001 0.1001 0.1000 0.1000 0.1000 0.1000 0.1000 0.0998 0.0998 0.0998 0.0998 0.0997 0.0997 0.0997 0.0996 0.0995 0.0994 0.0994 0.0994 0.0994 0.0993 0.0993 0.0993 0.0993 0.0992 0.0992 0.0992 0.0991 0.0990 0.0990 0.0990 0.0989 0.0989 0.0988 0.0987 0.0987 0.0986 0.0986 0.0986 0.0986 0.0986 0.0986 0.0986 0.0986 0.0986 0.0986 0.0986 0.0985 0.0985 0.0985 0.0984 0.0984 0.0983 0.0982 0.0982 0.0982 0.0982 0.0981 0.0981 0.0981 0.0979 0.0979 0.0979 0.0978 0.0978 0.0976 0.0975 0.0975 0.0974 0.0974 0.0974 0.0974 0.0973 0.0973 0.0973 0.0973 0.0971 0.0971 0.0970 0.0970 0.0970 0.0970 0.0970 0.0970 0.0969 0.0969 0.0969 0.0969 0.0969 0.0969 0.0969 0.0968 0.0968 0.0967 0.0967 0.0966 0.0966 0.0966 0.0965 0.0965 0.0965 0.0964 0.0964 0.0963 0.0963 0.0963 0.0962 0.0962 0.0962 0.0962 0.0961 0.0961 0.0961 0.0961 0.0959 0.0959 0.0959 0.0959 0.0958 0.0958 0.0958 0.0958 0.0957 0.0957 0.0957 0.0957 0.0957 0.0957 0.0956 0.0956 0.0955 0.0955 0.0955 0.0955 0.0955 0.0954 0.0954 0.0954 0.0954 0.0954 0.0953 0.0953 0.0953 0.0952 0.0952 0.0952 0.0952 0.0952 0.0951 0.0951 0.0951 0.0951 0.0950 0.0950 0.0949 0.0949 0.0949 0.0948 0.0948 0.0948 0.0947 0.0946 0.0946 0.0945 0.0944 0.0944 0.0944 0.0944 0.0942 0.0942 0.0942 0.0941 0.0941 0.0941 0.0941 0.0940 0.0939 0.0939 0.0938 0.0938 0.0937 0.0937 0.0935 0.0935 0.0935 0.0934 0.0934 0.0934 0.0934 0.0934 0.0934 0.0934 0.0934 0.0934 0.0934 0.0933 0.0933 0.0933 0.0933 0.0933 0.0933 0.0933 0.0933 0.0933 0.0932 0.0932 0.0932 0.0931 0.0931 0.0931 0.0931 0.0931 0.0930 0.0930 0.0930 0.0930 0.0928 0.0928 0.0928 0.0928 0.0928 0.0928 0.0928 0.0928 0.0927 0.0926 0.0925 0.0925 0.0925 0.0924 0.0924 0.0923 0.0922 0.0922 0.0922 0.0922 0.0921 0.0921 0.0921 0.0921 0.0921 0.0921 0.0920 0.0919 0.0919 0.0919 0.0918 0.0918 0.0918 0.0918 0.0918 0.0918 0.0918 0.0917 0.0917 0.0917 0.0917 0.0917 0.0917 0.0915 0.0915 0.0915 0.0914 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0913 0.0912 0.0912 0.0912 0.0912 0.0912 0.0912 0.0912 0.0910 0.0910 0.0910 0.0910 0.0908 0.0908 0.0908 0.0907 0.0906 0.0905 0.0905 0.0905 0.0905 0.0903 0.0903 0.0903 0.0901 0.0901 0.0901 0.0901 0.0900 0.0900 0.0900 0.0900 0.0900 0.0899 0.0899 0.0899 0.0899 0.0898 0.0898 0.0898 0.0898 0.0897 0.0896 0.0896 0.0896 0.0896 0.0896 0.0896 0.0896 0.0895 0.0894 0.0894 0.0894 0.0894 0.0894 0.0893 0.0893 0.0893 0.0892 0.0892 0.0892 0.0892 0.0892 0.0891 0.0891 0.0891 0.0891 0.0890 0.0889 0.0889 0.0889 0.0889 0.0889 0.0888 0.0888 0.0888 0.0888 0.0887 0.0887 0.0887 0.0887 0.0886 0.0884 0.0884 0.0884 0.0884 0.0883 0.0882 0.0882 0.0882 0.0882 0.0882 0.0882 0.0881 0.0881 0.0881 0.0881 0.0881 0.0880 0.0880 0.0878 0.0878 0.0877 0.0877 0.0877 0.0876 0.0876 0.0876 0.0876 0.0876 0.0875 0.0875 0.0875 0.0874 0.0874 0.0874 0.0874 0.0874 0.0874 0.0873 0.0873 0.0873 0.0872 0.0872 0.0872 0.0872 0.0872 0.0871 0.0871 0.0871 0.0871 0.0871 0.0870 0.0870 0.0870 0.0870 0.0870 0.0870 0.0869 0.0868 0.0868 0.0868 0.0868 0.0867 0.0867 0.0867 0.0867 0.0867 0.0867 0.0867 0.0867 0.0867 0.0866 0.0865 0.0865 0.0865 0.0864 0.0864 0.0864 0.0864 0.0863 0.0863 0.0863 0.0862 0.0862 0.0862 0.0862 0.0862 0.0862 0.0860 0.0860 0.0860 0.0860 0.0859 0.0859 0.0859 0.0859 0.0858 0.0858 0.0858 0.0857 0.0857 0.0857 0.0856 0.0856 0.0856 0.0855 0.0855 0.0855 0.0855 0.0854 0.0854 0.0854 0.0854 0.0854 0.0854 0.0854 0.0853 0.0853 0.0853 0.0853 0.0853 0.0852 0.0852 0.0852 0.0852 0.0851 0.0851 0.0851 0.0851 0.0850 0.0850 0.0850 0.0850 0.0849 0.0849 0.0849 0.0848 0.0848 0.0848 0.0848 0.0848 0.0847 0.0847 0.0847 0.0846 0.0846 0.0846 0.0846 0.0845 0.0845 0.0844 0.0844 0.0844 0.0844 0.0844 0.0843 0.0843 0.0843 0.0843 0.0842 0.0842 0.0842 0.0842 0.0842 0.0841 0.0841 0.0841 0.0841 0.0841 0.0840 0.0840 0.0840 0.0840 0.0840 0.0839 0.0839 0.0839 0.0839 0.0839 0.0839 0.0838 0.0838 0.0838 0.0838 0.0837 0.0836 0.0836 0.0836 0.0836 0.0836 0.0836 0.0836 0.0835 0.0835 0.0835 0.0834 0.0833 0.0833 0.0833 0.0833 0.0832 0.0832 0.0832 0.0832 0.0832 0.0831 0.0831 0.0831 0.0831 0.0831 0.0831 0.0830 0.0830 0.0829 0.0829 0.0829 0.0829 0.0828 0.0828 0.0828 0.0828 0.0828 0.0828 0.0828 0.0827 0.0827 0.0827 0.0827 0.0826 0.0826 0.0826 0.0826 0.0826 0.0826 0.0825 0.0825 0.0825 0.0825 0.0825 0.0825 0.0825 0.0825 0.0823 0.0823 0.0823 0.0823 0.0823 0.0823 0.0823 0.0823 0.0823 0.0822 0.0822 0.0822 0.0821 0.0821 0.0821 0.0821 0.0821 0.0821 0.0820 0.0820 0.0820 0.0820 0.0820 0.0820 0.0819 0.0819 0.0819 0.0819 0.0819 0.0819 0.0819 0.0819 0.0818 0.0818 0.0818 0.0818 0.0817 0.0817 0.0817 0.0817 0.0816 0.0816 0.0816 0.0816 0.0816 0.0816 0.0815 0.0815 0.0815 0.0815 0.0815 0.0815 0.0815 0.0815 0.0815 0.0815 0.0815 0.0814 0.0814 0.0814 0.0814 0.0814 0.0813 0.0813 0.0812 0.0812 0.0812 0.0812 0.0811 0.0811 0.0811 0.0811 0.0811 0.0811 0.0811 0.0810 0.0810 0.0810 0.0810 0.0810 0.0809 0.0809 0.0809 0.0808 0.0808 0.0808 0.0808 0.0808 0.0808 0.0808 0.0808 0.0808 0.0808 0.0807 0.0807 0.0807 0.0807 0.0807 0.0806 0.0806 0.0806 0.0806 0.0805 0.0805 0.0805 0.0805 0.0805 0.0804 0.0804 0.0804 0.0804 0.0803 0.0803 0.0803 0.0803 0.0803 0.0803 0.0803 0.0803 0.0803 0.0803 0.0802 0.0802 0.0802 0.0802 0.0802 0.0802 0.0802 0.0801 0.0801 0.0801 0.0801 0.0801 0.0801 0.0801 0.0801 0.0801 0.0800 0.0800 0.0800 0.0800 0.0799 0.0799 0.0799 0.0799 0.0799 0.0798 0.0798 0.0798 0.0797 0.0797 0.0797 0.0797 0.0796 0.0796 0.0795 0.0795 0.0795 0.0795 0.0795 0.0795 0.0795 0.0795 0.0795 0.0795 0.0794 0.0794 0.0794 0.0793 0.0793 0.0793 0.0793 0.0793 0.0793 0.0791 0.0791 0.0791 0.0791 0.0791 0.0790 0.0790 0.0790 0.0789 0.0788 0.0788 0.0788 0.0788 0.0788 0.0788 0.0788 0.0788 0.0788 0.0788 0.0788 0.0787 0.0787 0.0786 0.0786 0.0786 0.0786 0.0786 0.0786 0.0785 0.0785 0.0785 0.0785 0.0784 0.0784 0.0783 0.0783 0.0783 0.0783 0.0783 0.0783 0.0783 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0782 0.0781 0.0781 0.0781 0.0781 0.0781 0.0780 0.0780 0.0780 0.0780 0.0780 0.0780 0.0779 0.0779 0.0779 0.0778 0.0778 0.0777 0.0777 0.0777 0.0777 0.0777 0.0777 0.0777 0.0777 0.0777 0.0776 0.0776 0.0776 0.0776 0.0775 0.0775 0.0775 0.0774 0.0774 0.0773 0.0773 0.0773 0.0773 0.0773 0.0772 0.0772 0.0772 0.0772 0.0771 0.0771 0.0771 0.0771 0.0771 0.0771 0.0771 0.0770 0.0770 0.0770 0.0770 0.0770 0.0769 0.0769 0.0769 0.0769 0.0768 0.0768 0.0768 0.0768 0.0768 0.0768 0.0768 0.0768 0.0767 0.0767 0.0767 0.0766 0.0766 0.0766 0.0766 0.0766 0.0765 0.0765 0.0765 0.0764 0.0764 0.0764 0.0764 0.0764 0.0764 0.0763 0.0763 0.0763 0.0763 0.0763 0.0763 0.0762 0.0762 0.0762 0.0762 0.0762 0.0762 0.0762 0.0762 0.0762 0.0761 0.0761 0.0761 0.0760 0.0760 0.0760 0.0760 0.0760 0.0760 0.0760 0.0759 0.0759 0.0759 0.0759 0.0759 0.0759 0.0759 0.0759 0.0759 0.0759 0.0759 0.0758 0.0758 0.0758 0.0758 0.0758 0.0758 0.0758 0.0758 0.0758 0.0758 0.0757 0.0757 0.0756 0.0756 0.0756 0.0756 0.0756 0.0756 0.0756 0.0756 0.0755 0.0755 0.0755 0.0755 0.0755 0.0755 0.0755 0.0755 0.0755 0.0755 0.0754 0.0754 0.0754 0.0754 0.0754 0.0754 0.0754 0.0753 0.0753 0.0753 0.0753 0.0753 0.0753 0.0753 0.0753 0.0753 0.0753 0.0753 0.0752 0.0752 0.0752 0.0752 0.0752 0.0752 0.0751 0.0751 0.0751 0.0751 0.0751 0.0751 0.0750 0.0750 0.0750 0.0750 0.0750 0.0748 0.0748 0.0748 0.0748 0.0748 0.0748 0.0747 0.0747 0.0747 0.0747 0.0747 0.0746 0.0746 0.0746 0.0745 0.0745 0.0745 0.0745 0.0745 0.0745 0.0745 0.0745 0.0745 0.0745 0.0745 0.0744 0.0744 0.0743 0.0743 0.0743 0.0743 0.0743 0.0743 0.0743 0.0743 0.0742 0.0742 0.0742 0.0742 0.0742 0.0742 0.0742 0.0742 0.0741 0.0740 0.0740 0.0740 0.0740 0.0739 0.0739 0.0739 0.0739 0.0739 0.0739 0.0739 0.0739 0.0739 0.0738 0.0738 0.0738 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0737 0.0736 0.0736 0.0736 0.0736 0.0736 0.0736 0.0736 0.0735 0.0735 0.0735 0.0735 0.0735 0.0735 0.0734 0.0734 0.0734 0.0734 0.0734 0.0734 0.0734 0.0734 0.0734 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0733 0.0732 0.0732 0.0732 0.0732 0.0732 0.0732 0.0731 0.0731 0.0731 0.0731 0.0731 0.0731 0.0730 0.0730 0.0730 0.0730 0.0730 0.0730 0.0730 0.0730 0.0730 0.0730 0.0729 0.0729 0.0729 0.0729 0.0729 0.0729 0.0728 0.0728 0.0727 0.0727 0.0727 0.0727 0.0726 0.0726 0.0726 0.0725 0.0725 0.0725 0.0724 0.0724 0.0724 0.0724 0.0723 0.0723 0.0723 0.0723 0.0723 0.0723 0.0722 0.0722 0.0722 0.0722 0.0722 0.0722 0.0722 0.0722 0.0722 0.0722 0.0721 0.0721 0.0721 0.0721 0.0721 0.0721 0.0721 0.0721 0.0721 0.0721 0.0721 0.0720 0.0720 0.0720 0.0720 0.0720 0.0720 0.0720 0.0719 0.0719 0.0719 0.0719 0.0719 0.0719 0.0719 0.0719 0.0718 0.0718 0.0718 0.0718 0.0718 0.0718 0.0718 0.0717 0.0717 0.0717 0.0717 0.0717 0.0716 0.0716 0.0716 0.0715 0.0715 0.0715 0.0715 0.0715 0.0715 0.0715 0.0715 0.0714 0.0714 0.0714 0.0714 0.0713 0.0713 0.0713 0.0713 0.0713 0.0712 0.0712 0.0712 0.0712 0.0712 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0711 0.0710 0.0710 0.0710 0.0710 0.0710 0.0709 0.0709 0.0709 0.0709 0.0709 0.0709 0.0708 0.0708 0.0708 0.0708 0.0708 0.0708 0.0707 0.0707 0.0707 0.0707 0.0707 0.0707 0.0707 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0706 0.0705 0.0705 0.0705 0.0705 0.0705 0.0705 0.0704 0.0704 0.0704 0.0703 0.0703 0.0703 0.0703 0.0703 0.0703 0.0703 0.0703 0.0703 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0702 0.0701 0.0701 0.0701 0.0701 0.0701 0.0701 0.0701 0.0701 0.0701 0.0701 0.0700 0.0700 0.0700 0.0700 0.0699 0.0699 0.0699 0.0699 0.0699 0.0699 0.0699 0.0698 0.0698 0.0698 0.0698 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0697 0.0696 0.0696 0.0696 0.0696 0.0696 0.0696 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0695 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0694 0.0693 0.0693 0.0693 0.0693 0.0693 0.0693 0.0693 0.0692 0.0692 0.0692 0.0692 0.0692 0.0692 0.0692 0.0692 0.0691 0.0691 0.0691 0.0691 0.0691 0.0691 0.0691 0.0691 0.0691 0.0691 0.0690 0.0690 0.0690 0.0689 0.0689 0.0689 0.0689 0.0689 0.0689 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0688 0.0687 0.0687 0.0687 0.0687 0.0687 0.0687 0.0687 0.0687 0.0687 0.0687 0.0687 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0686 0.0685 0.0685 0.0685 0.0685 0.0685 0.0684 0.0684 0.0684 0.0684 0.0684 0.0684 0.0684 0.0684 0.0684 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0683 0.0682 0.0682 0.0682 0.0682 0.0682 0.0682 0.0682 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0681 0.0680 0.0680 0.0680 0.0680 0.0680 0.0680 0.0680 0.0679 0.0679 0.0679 0.0679 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0678 0.0677 0.0677 0.0677 0.0677 0.0677 0.0677 0.0677 0.0676 0.0676 0.0676 0.0676 0.0676 0.0676 0.0676 0.0676 0.0676 0.0676 0.0675 0.0675 0.0674 0.0674 0.0674 0.0674 0.0674 0.0674 0.0674 0.0674 0.0674 0.0673 0.0673 0.0673 0.0673 0.0673 0.0673 0.0673 0.0672 0.0672 0.0672 0.0672 0.0671 0.0671 0.0671 0.0671 0.0671 0.0670 0.0670 0.0670 0.0670 0.0670 0.0670 0.0670 0.0670 0.0670 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0669 0.0668 0.0668 0.0668 0.0668 0.0668 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0667 0.0666 0.0666 0.0666 0.0666 0.0666 0.0666 0.0665 0.0665 0.0665 0.0665 0.0665 0.0665 0.0665 0.0665 0.0665 0.0665 0.0664 0.0664 0.0664 0.0664 0.0664 0.0664 0.0664 0.0664 0.0663 0.0663 0.0663 0.0663 0.0663 0.0663 0.0663 0.0663 0.0663 0.0663 0.0663 0.0662 0.0662 0.0662 0.0662 0.0662 0.0662 0.0662 0.0662 0.0662 0.0662 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0661 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0660 0.0659 0.0659 0.0659 0.0659 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0658 0.0657 0.0657 0.0657 0.0657 0.0657 0.0657 0.0657 0.0657 0.0657 0.0657 0.0657 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0656 0.0655 0.0655 0.0655 0.0655 0.0655 0.0655 0.0655 0.0655 0.0655 0.0655 0.0654 0.0654 0.0654 0.0654 0.0654 0.0654 0.0654 0.0654 0.0654 0.0654 0.0653 0.0653 0.0653 0.0653 0.0652 0.0652 0.0652 0.0652 0.0652 0.0652 0.0652 0.0652 0.0652 0.0651 0.0651 0.0651 0.0651 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0650 0.0649 0.0649 0.0649 0.0649 0.0649 0.0649 0.0649 0.0649 0.0648 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0647 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0646 0.0645 0.0645 0.0645 0.0645 0.0645 0.0645 0.0645 0.0644 0.0644 0.0644 0.0644 0.0644 0.0644 0.0644 0.0644 0.0644 0.0644 0.0644 0.0643 0.0643 0.0643 0.0643 0.0643 0.0643 0.0643 0.0643 0.0643 0.0643 0.0643 0.0642 0.0642 0.0642 0.0642 0.0642 0.0642 0.0642 0.0642 0.0642 0.0642 0.0642 0.0641 0.0641 0.0641 0.0641 0.0641 0.0641 0.0641 0.0641 0.0641 0.0641 0.0641 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0640 0.0639 0.0639 0.0639 0.0639 0.0639 0.0639 0.0639 0.0639 0.0639 0.0638 0.0638 0.0638 0.0638 0.0638 0.0638 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0637 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0636 0.0635 0.0635 0.0635 0.0635 0.0634 0.0634 0.0634 0.0634 0.0634 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0633 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0632 0.0631 0.0631 0.0630 0.0630 0.0630 0.0630 0.0630 0.0630 0.0630 0.0630 0.0630 0.0630 0.0629 0.0629 0.0629 0.0629 0.0629 0.0628 0.0628 0.0628 0.0628 0.0628 0.0628 0.0628 0.0628 0.0628 0.0627 0.0627 0.0627 0.0627 0.0627 0.0627 0.0627 0.0627 0.0627 0.0627 0.0627 0.0626 0.0626 0.0626 0.0626 0.0626 0.0626 0.0626 0.0626 0.0626 0.0626 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0624 0.0623 0.0623 0.0623 0.0623 0.0623 0.0623 0.0623 0.0623 0.0623 0.0623 0.0623 0.0622 0.0622 0.0622 0.0622 0.0622 0.0622 0.0622 0.0621 0.0621 0.0621 0.0621 0.0621 0.0621 0.0621 0.0621 0.0621 0.0620 0.0620 0.0620 0.0620 0.0620 0.0620 0.0620 0.0620 0.0620 0.0619 0.0619 0.0619 0.0619 0.0619 0.0619 0.0619 0.0619 0.0619 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0618 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0617 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0616 0.0615 0.0615 0.0615 0.0615 0.0615 0.0615 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0614 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0613 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0612 0.0611 0.0611 0.0611 0.0611 0.0611 0.0611 0.0611 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0610 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0609 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0608 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0607 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0606 0.0605 0.0605 0.0605 0.0605 0.0605 0.0605 0.0605 0.0605 0.0605 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0604 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0603 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0602 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0601 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0600 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0599 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0598 0.0597 0.0597 0.0597 0.0597 0.0597 0.0597 0.0597 0.0597 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0596 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0595 0.0594 0.0594 0.0594 0.0594 0.0594 0.0594 0.0593 0.0593 0.0593 0.0593 0.0593 0.0593 0.0593 0.0592 0.0592 0.0592 0.0592 0.0592 0.0592 0.0592 0.0592 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0591 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0590 0.0589 0.0589 0.0589 0.0589 0.0589 0.0589 0.0589 0.0589 0.0589 0.0589 0.0589 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0588 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0587 0.0586 0.0586 0.0586 0.0586 0.0586 0.0586 0.0586 0.0586 0.0586 0.0586 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0585 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0584 0.0583 0.0583 0.0583 0.0583 0.0583 0.0583 0.0583 0.0583 0.0583 0.0583 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0582 0.0581 0.0581 0.0581 0.0581 0.0581 0.0581 0.0581 0.0581 0.0581 0.0580 0.0580 0.0580 0.0580 0.0580 0.0580 0.0580 0.0579 0.0579 0.0579 0.0579 0.0579 0.0579 0.0579 0.0579 0.0579 0.0579 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0578 0.0577 0.0577 0.0577 0.0577 0.0577 0.0577 0.0577 0.0577 0.0577 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0576 0.0575 0.0575 0.0575 0.0575 0.0575 0.0575 0.0575 0.0575 0.0575 0.0575 0.0574 0.0574 0.0574 0.0574 0.0574 0.0574 0.0574 0.0574 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0573 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0572 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0571 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0570 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0569 0.0568 0.0568 0.0568 0.0568 0.0568 0.0568 0.0568 0.0568 0.0568 0.0568 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0567 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0566 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0565 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0564 0.0563 0.0563 0.0563 0.0563 0.0563 0.0563 0.0563 0.0563 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0562 0.0561 0.0561 0.0561 0.0561 0.0561 0.0561 0.0561 0.0560 0.0560 0.0560 0.0560 0.0560 0.0560 0.0560 0.0560 0.0560 0.0560 0.0560 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0559 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0558 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0557 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0556 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0555 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0554 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0553 0.0552 0.0552 0.0552 0.0552 0.0552 0.0552 0.0552 0.0552 0.0552 0.0552 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 0.0551 ... ] (1x37640 single)}
Input Arguments
metrics
— Object detection performance metrics
objectDetectionMetrics
object
Object detection performance metrics, specified as an objectDetectionMetrics
object.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: [precision,recall,scores]=precisionRecall(metrics,ClassNames=[cars
people])
specifies the precision recall metric to be evaluated for the
cars and people classes.
ClassNames
— Class names
string array | cell array of character vectors
Class names of detected objects, specified as an array of strings or a
cell array of character vectors. By default, the
precisionRecall
function returns the precision
recall metrics for all classes specified by the ClassNames
property of the objectDetectionMetrics
object
metrics
.
OverlapThresholds
— Overlap threshold
numeric scalar | numeric vector
Overlap threshold, or Intersection over Union (IoU) threshold, for
which to get the precision recall metrics, specified as a numeric scalar
or numeric vector of box overlap threshold values. By default, the
precisionRecall
object function returns the
precision recall metrics for all overlap thresholds specified by the
OverlapThreshold
property of the objectDetectionMetrics
object metrics
.
To learn more about how to use overlap thresholds in object detection
evaluation, see Evaluate Detector Performance Using Precision Recall at Multiple Overlap Thresholds.
Output Arguments
precision
— Precision
M-by-N cell array
Precision, returned as an M-by-N
cell array. M is the number of classes in the ClassNames
property, and
N is the number of overlap thresholds in the
OverlapThreshold
property of the objectDetectionMetrics
object metrics
. Each
element of the cell array contains a
(numPredictions+1)-element numeric vector of precision
values for the bounding boxes, sorted in descending order of bounding box
confidence scores. numPredictions is the number of
predicted bounding boxes.
Precision is the ratio of the number of true positives (TP) and the total number of predicted positives. Larger precision scores indicate that more detected objects match ground truth objects. To learn more about the precision metric, see Compute Precision and Recall.
recall
— Recall
M-by-N cell array
Recall, returned as an M-by-N cell
array. M is the number of classes in the
ClassNames
property, and N is
the number of overlap thresholds in the OverlapThreshold
property of the objectDetectionMetrics
object metrics
. Each
element of the cell array contains a
(numPredictions+1)-element numeric vector of recall
values, sorted in descending order of bounding box confidence scores.
numPredictions is the number of predicted bounding
boxes.
Recall is the ratio of the number of true positives (TP) and the total number of ground truth. Larger recall scores indicate that more detected objects match ground truth objects. To learn more about the recall metric, see Compute Precision and Recall.
scores
— Confidence score
M-by-1 cell array
Confidence score for each detection, returned as an
M-by-1 cell array. M is the number of
classes in the ClassNames
property. Each element of the
array is a (numPredictions+1)-element numeric vector.
numPredictions is the number of predicted
objects.
More About
Evaluate Detector Performance Using Precision Recall at Multiple Overlap Thresholds
To evaluate how precisely a detector can localize bounding boxes, plot the precision recall curve for a range of overlap thresholds.
At higher overlap thresholds, the criteria for how well the bounding boxes of the detection and ground truth must overlap to be a true positive (TP) are stricter. Therefore, average precision is lower at higher overlap thresholds, which corresponds to a decrease in the area under the precision-recall curve, which plots the recall against precision. Plotting the precision-recall curves across different overlap thresholds can help you evaluate the detector in these ways.
Evaluate how well the detector can generate detection at higher overlap thresholds.
Identify specific overlap thresholds where a detector's performance significantly drops, highlighting areas for model improvement.
Choose an optimal overlap threshold that balances the trade-off between detecting as many objects as possible (high recall) and ensuring high accuracy in these detections (high precision).
Use precision-recall curves at different overlap thresholds for a more granular comparison between object detection models than single metric evaluations. Nuances in performance can be obscured when considering only one overlap threshold or when relying solely on aggregated metrics such as mean average precision.
Algorithms
Compute Precision and Recall
Precision recall is a powerful tool you can use to evaluate
object detector performance. The precisionRecall
function
computes the precision and recall in these steps.
Sorts the detections which satisfy the criteria specified by the
andClassNames
name-value arguments in descending order based on their confidence scores. Higher confidence scores indicate that the model is more certain that the detection is correct.OverlapThresholds
Identifies true positives (TP) and false positives (FP) according to the specified overlap threshold criteria. A detection is considered a TP if its IoU is greater to or equal to the specified overlap threshold. A detection is considered an FP if it does not match any ground truth object or if it matches a ground truth object but the IoU is below the specified overlap threshold.
Starting with the detection with the highest confidence score, the
precisionRecall
function iterates through each detection and calculates the cumulative number of TPs and FPs at each step. This step-by-step process enables the calculation of precision and recall at every confidence level. At each score, the function calculates the precision and recall.Precision measures the accuracy of positive predictions, i.e., the proportion of detections that are correctly identified from all detections made.
Precision = TP / (TP + FP)
Recall measures the ability of the detector to detect all object instances, i.e. the proportion of actual positives that are correctly identified. False negatives (FNs) are ground truth objects that haven't been detected or have been detected with a confidence score below the current threshold being considered.
Recall = TP / (TP + FN)
For each detection, the set of TPs, FPs, and FNs changes, which enables you to recalculate precision and recall at each confidence level.
To visualize the trade-off between precision and recall for different confidence thresholds, plot the calculated precision and recall values. For an example, see Plot Precision-Recall Curve.
Version History
Introduced in R2024b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)