precisionRecall - Get precision recall metrics of object detection results - MATLAB (original) (raw)
Get precision recall metrics of object detection results
Since R2024b
Syntax
Description
[[precision](#mw%5F9602aef8-4222-4ccf-b33a-bdbce3818b38),[recall](#mw%5Ff5a59ece-7d9b-45d4-8421-2d3ff30f6582),[scores](#mw%5Fccd1c86c-a9e2-480f-910e-a9d9ec77b0df)] = precisionRecall([metrics](#mw%5Ff8531fcc-07d2-4507-baac-733d13be2e4f),[Name=Value](#namevaluepairarguments))
specifies precision and recall evaluation options using one or more name-value arguments. For example, ClassNames=["cars" "people"]
specifies to get the precision recall metrics for the cars and people classes.
Examples
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 = 1×1 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.7172 0.7172 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.4435 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.3031 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.1937 0.1937 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.1638 0.1638 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.1360 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.1097 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.0964 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.0868 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.0721 0.0721 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.0664 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.0642 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.0611 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.0555 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 … ] (1×37640 single)}
Input Arguments
Name-Value Arguments
Specify optional pairs of arguments asName1=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.
Class names of detected objects, specified as an array of strings or a cell array of character vectors. By default, theprecisionRecall
function returns the precision recall metrics for all classes specified by the [ClassNames](objectdetectionmetrics.html#b)
property of the objectDetectionMetrics objectmetrics
.
Output Arguments
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 theOverlapThreshold 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, returned as an _M_-by-N cell array. M is the number of classes in theClassNames
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.
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
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 tradeoff 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
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
[ClassNames](objectdetectionmetrics.precisionrecall.html#mw%5Fd8b5944a-acaa-4ae1-a647-b1202557d7bf)
and[OverlapThresholds](objectdetectionmetrics.precisionrecall.html#mw%5Fd880a0b3-5ed6-42cd-ae3a-71da2d6a7e9e)
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. - 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 tradeoff between precision and recall for different confidence thresholds, plot the calculated precision and recall values. For an example, seePlot Precision-Recall Curve.
Version History
Introduced in R2024b