Show per-member coverage of external pose classes against three-source plus EgoRenderer reference
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +139 -0
- pose_recluster_distinct_20261014/app.coverage_v2.js +61 -0
- pose_recluster_distinct_20261014/data.coverage_v2.js +0 -0
- pose_recluster_distinct_20261014/downloads/coverage/REPRODUCE.md +22 -0
- pose_recluster_distinct_20261014/downloads/coverage/RESULTS_ZH.md +21 -0
- pose_recluster_distinct_20261014/downloads/coverage/calibration.json +94 -0
- pose_recluster_distinct_20261014/downloads/coverage/calibration_members.json +0 -0
- pose_recluster_distinct_20261014/downloads/coverage/class_coverage.csv +115 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/aggregate_coverage.py +54 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/build_coverage_site.py +116 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/check_coverage_browser.js +45 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/cluster_common.py +39 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/coverage_visuals.py +55 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/exact_coverage.py +75 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/freeze_coverage.py +34 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/prepare_publication.py +32 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/publish_coverage.py +44 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/update_web.py +47 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/validate_coverage.py +35 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/verify_public_assets.py +38 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/visualize.py +166 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/web/app.js +61 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/web/index.html +16 -0
- pose_recluster_distinct_20261014/downloads/coverage/code/web/style.css +4 -0
- pose_recluster_distinct_20261014/downloads/coverage/coverage_protocol.json +41 -0
- pose_recluster_distinct_20261014/downloads/coverage/coverage_visual_checks.json +1322 -0
- pose_recluster_distinct_20261014/downloads/coverage/display_selection_amendment.json +6 -0
- pose_recluster_distinct_20261014/downloads/coverage/displayed_member_links.json +211 -0
- pose_recluster_distinct_20261014/downloads/coverage/exact_engine.json +10 -0
- pose_recluster_distinct_20261014/downloads/coverage/frozen_protocol_sha256.json +4 -0
- pose_recluster_distinct_20261014/downloads/coverage/input_sha256.json +23 -0
- pose_recluster_distinct_20261014/downloads/coverage/local_coverage_browser.json +474 -0
- pose_recluster_distinct_20261014/downloads/coverage/member_coverage.csv.gz +3 -0
- pose_recluster_distinct_20261014/downloads/coverage/new_media_sha256.json +444 -0
- pose_recluster_distinct_20261014/downloads/coverage/numerical_validation.json +493 -0
- pose_recluster_distinct_20261014/downloads/coverage/reference_unit_codes.json +0 -0
- pose_recluster_distinct_20261014/downloads/coverage/source_coverage.csv +15 -0
- pose_recluster_distinct_20261014/downloads/coverage/summary.json +73 -0
- pose_recluster_distinct_20261014/downloads/coverage/threshold_sensitivity.csv +0 -0
- pose_recluster_distinct_20261014/index.html +7 -6
- pose_recluster_distinct_20261014/index_before_coverage.html +15 -0
- pose_recluster_distinct_20261014/media/051488f34a7b81d90530_crop.jpg +0 -0
- pose_recluster_distinct_20261014/media/051488f34a7b81d90530_full.jpg +3 -0
- pose_recluster_distinct_20261014/media/0706b91076bbbfac27c5_crop.jpg +0 -0
- pose_recluster_distinct_20261014/media/0706b91076bbbfac27c5_full.jpg +3 -0
- pose_recluster_distinct_20261014/media/0b30c6ac8b8a0fb34665_crop.jpg +0 -0
- pose_recluster_distinct_20261014/media/0b30c6ac8b8a0fb34665_full.jpg +0 -0
- pose_recluster_distinct_20261014/media/0c9121f9b810877ab40a_crop.jpg +0 -0
- pose_recluster_distinct_20261014/media/0c9121f9b810877ab40a_full.jpg +3 -0
- pose_recluster_distinct_20261014/media/1155d85f7d67fdea5ca4_crop.jpg +0 -0
.gitattributes
CHANGED
|
@@ -1321,3 +1321,142 @@ pose_recluster_distinct_20261014/media/ref10_f9919f0225f804f03b15_full.jpg filte
|
|
| 1321 |
pose_recluster_distinct_20261014/media/ref10_fa18d41ed0700501d3a5_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1322 |
pose_recluster_distinct_20261014/media/ref10_fe3c36b17d60b2d9ed8c_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1323 |
pose_recluster_distinct_20261014/media/ref10_fe3e6e43948390566593_full.jpg filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1321 |
pose_recluster_distinct_20261014/media/ref10_fa18d41ed0700501d3a5_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1322 |
pose_recluster_distinct_20261014/media/ref10_fe3c36b17d60b2d9ed8c_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1323 |
pose_recluster_distinct_20261014/media/ref10_fe3e6e43948390566593_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1324 |
+
pose_recluster_distinct_20261014/media/051488f34a7b81d90530_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1325 |
+
pose_recluster_distinct_20261014/media/0706b91076bbbfac27c5_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1326 |
+
pose_recluster_distinct_20261014/media/0c9121f9b810877ab40a_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1327 |
+
pose_recluster_distinct_20261014/media/1155d85f7d67fdea5ca4_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1328 |
+
pose_recluster_distinct_20261014/media/1484a4fa916d38805fbd_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1329 |
+
pose_recluster_distinct_20261014/media/1c3e2d6266babd3546e4_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1330 |
+
pose_recluster_distinct_20261014/media/1f23bff3fd47fb3d88e5_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1331 |
+
pose_recluster_distinct_20261014/media/22caad7a50fba7e5a48c_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1332 |
+
pose_recluster_distinct_20261014/media/26ecc41219db0bb6833e_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1333 |
+
pose_recluster_distinct_20261014/media/314f2995e77109844488_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1334 |
+
pose_recluster_distinct_20261014/media/3fb96c47d1e53b61c15a_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1335 |
+
pose_recluster_distinct_20261014/media/4170659ac3b73692c561_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1336 |
+
pose_recluster_distinct_20261014/media/424addca86b89fee040efda7_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1337 |
+
pose_recluster_distinct_20261014/media/426d44a4aecf394cce74_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1338 |
+
pose_recluster_distinct_20261014/media/481d81d40a4872823842_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1339 |
+
pose_recluster_distinct_20261014/media/49a2ec37f0d860cf4e5f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1340 |
+
pose_recluster_distinct_20261014/media/51fa51d203ef3894e730_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1341 |
+
pose_recluster_distinct_20261014/media/52e61ba8574c1c21171f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1342 |
+
pose_recluster_distinct_20261014/media/68c621ec6f25af92b6d2_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1343 |
+
pose_recluster_distinct_20261014/media/7013cfedf62948731c5ac3c6_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1344 |
+
pose_recluster_distinct_20261014/media/7a659401c102ee6c4d53_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1345 |
+
pose_recluster_distinct_20261014/media/7ad41e661baf307e75a0_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1346 |
+
pose_recluster_distinct_20261014/media/7cbee0066bf73c1230ec_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1347 |
+
pose_recluster_distinct_20261014/media/7e9540aab42ca1f283f1_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1348 |
+
pose_recluster_distinct_20261014/media/8fc44d37c06f82c2bccfe0a7_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1349 |
+
pose_recluster_distinct_20261014/media/9186e37ea320e67eea4cc4b3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1350 |
+
pose_recluster_distinct_20261014/media/9b7689bc046883d6812ad365_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1351 |
+
pose_recluster_distinct_20261014/media/a3c7b0983f4f67c9774a9d1d_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1352 |
+
pose_recluster_distinct_20261014/media/a9e4dfb5604a2cc763fa_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1353 |
+
pose_recluster_distinct_20261014/media/b079d1f7948614710a25_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1354 |
+
pose_recluster_distinct_20261014/media/c3dea54e8a31e289b3c8_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1355 |
+
pose_recluster_distinct_20261014/media/cf6ac3e1e3049c217238_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1356 |
+
pose_recluster_distinct_20261014/media/d0a7a93ffcf0c93fb543_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1357 |
+
pose_recluster_distinct_20261014/media/e1707af66b16c44ca22f217e_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1358 |
+
pose_recluster_distinct_20261014/media/e233df5f771af8c53fc3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1359 |
+
pose_recluster_distinct_20261014/media/e526bda05cfc730b524c_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1360 |
+
pose_recluster_distinct_20261014/media/e60f1e573b15059b28a6a89d_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1361 |
+
pose_recluster_distinct_20261014/media/e819135ae0a98c833798_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1362 |
+
pose_recluster_distinct_20261014/media/e84ccd22e73178c16b417d29_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1363 |
+
pose_recluster_distinct_20261014/media/e8ba03215a0dee415f9f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1364 |
+
pose_recluster_distinct_20261014/media/ego005_37f310961c5fbd09a2f3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1365 |
+
pose_recluster_distinct_20261014/media/ego005_5e5edc77f0229c182a82_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1366 |
+
pose_recluster_distinct_20261014/media/ego005_6c39df0ee7ed048412a3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1367 |
+
pose_recluster_distinct_20261014/media/ego005_77557dd1cc89456bbda8_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1368 |
+
pose_recluster_distinct_20261014/media/ego005_af4e1989a0b734de5391_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1369 |
+
pose_recluster_distinct_20261014/media/ego005_d3a520f3ef45ba8fb1ec_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1370 |
+
pose_recluster_distinct_20261014/media/f627d873be8bbdf466ab2122_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1371 |
+
pose_recluster_distinct_20261014/media/f8701460479562a2b8576134_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1372 |
+
pose_recluster_distinct_20261014/media/f9e4b832088ad843ce26fc9a_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1373 |
+
pose_recluster_distinct_20261014/media/ref10_0001a1db0911402d9ff7_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1374 |
+
pose_recluster_distinct_20261014/media/ref10_02f8aaec7aff1e473573_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1375 |
+
pose_recluster_distinct_20261014/media/ref10_05b875fc9a446e018429_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1376 |
+
pose_recluster_distinct_20261014/media/ref10_08f3951ff7357505f937_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1377 |
+
pose_recluster_distinct_20261014/media/ref10_094ff03480e89a370c5f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1378 |
+
pose_recluster_distinct_20261014/media/ref10_0d4aa62ee94d3db2e998_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1379 |
+
pose_recluster_distinct_20261014/media/ref10_15ed71e38b6ecbfadad4_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1380 |
+
pose_recluster_distinct_20261014/media/ref10_1835ccaf3facbadfab41_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1381 |
+
pose_recluster_distinct_20261014/media/ref10_1c56e06b352d8543c362_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1382 |
+
pose_recluster_distinct_20261014/media/ref10_2072780ada026a0d7ebc_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1383 |
+
pose_recluster_distinct_20261014/media/ref10_22907852d24f216f0501_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1384 |
+
pose_recluster_distinct_20261014/media/ref10_23728cf3de5e9f52bd29_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1385 |
+
pose_recluster_distinct_20261014/media/ref10_25cf29a950e98346a3f2_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1386 |
+
pose_recluster_distinct_20261014/media/ref10_2784e08a1eac608ccd67_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1387 |
+
pose_recluster_distinct_20261014/media/ref10_283a2252c93fbe346f8a_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1388 |
+
pose_recluster_distinct_20261014/media/ref10_323ca73ddb0e1cda0475_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1389 |
+
pose_recluster_distinct_20261014/media/ref10_3244e021f8036886f6e1_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1390 |
+
pose_recluster_distinct_20261014/media/ref10_330a0f3ff938db824f91_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1391 |
+
pose_recluster_distinct_20261014/media/ref10_334bec23e4b8fdf5f897_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1392 |
+
pose_recluster_distinct_20261014/media/ref10_33dcace2cb5c25ef8d59_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1393 |
+
pose_recluster_distinct_20261014/media/ref10_3b3b2ae829c7ed4dbb20_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1394 |
+
pose_recluster_distinct_20261014/media/ref10_3c1068063775a7207d09_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1395 |
+
pose_recluster_distinct_20261014/media/ref10_3d2cdb827cb35f1167e7_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1396 |
+
pose_recluster_distinct_20261014/media/ref10_3da66484077075d113a4_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1397 |
+
pose_recluster_distinct_20261014/media/ref10_3faeb3df79dd10a13f8f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1398 |
+
pose_recluster_distinct_20261014/media/ref10_428da3fc456c0f7f5bd9_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1399 |
+
pose_recluster_distinct_20261014/media/ref10_42d6e45604cc7f94eba6_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1400 |
+
pose_recluster_distinct_20261014/media/ref10_459cacf80c9097ad62e3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1401 |
+
pose_recluster_distinct_20261014/media/ref10_4cd4de6310dae3044e3e_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1402 |
+
pose_recluster_distinct_20261014/media/ref10_4e4b78d0e18ae1999a6b_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1403 |
+
pose_recluster_distinct_20261014/media/ref10_4ef0983dbb591a65151b_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1404 |
+
pose_recluster_distinct_20261014/media/ref10_4fe12917b31a4b99543e_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1405 |
+
pose_recluster_distinct_20261014/media/ref10_502d38c8ebed6b4c7568_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1406 |
+
pose_recluster_distinct_20261014/media/ref10_53b476e2a5bc06a72dc6_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1407 |
+
pose_recluster_distinct_20261014/media/ref10_5871642b42470dd41dd2_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1408 |
+
pose_recluster_distinct_20261014/media/ref10_5aa342b065e3fcde6ce5_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1409 |
+
pose_recluster_distinct_20261014/media/ref10_61758efe55ebddfdc9e8_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1410 |
+
pose_recluster_distinct_20261014/media/ref10_64dc4bd695eb9f7216a2_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1411 |
+
pose_recluster_distinct_20261014/media/ref10_6527f63a2a0d595aaad3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1412 |
+
pose_recluster_distinct_20261014/media/ref10_68a5018288bf3bca4b84_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1413 |
+
pose_recluster_distinct_20261014/media/ref10_694efa944cbb978ef90c_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1414 |
+
pose_recluster_distinct_20261014/media/ref10_6c6a8b52de0c39e024ea_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1415 |
+
pose_recluster_distinct_20261014/media/ref10_6d2c636693b221c74f9f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1416 |
+
pose_recluster_distinct_20261014/media/ref10_70026ced4236fd8eaf58_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1417 |
+
pose_recluster_distinct_20261014/media/ref10_70906980aef1331db72d_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1418 |
+
pose_recluster_distinct_20261014/media/ref10_736e54c60c2853720322_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1419 |
+
pose_recluster_distinct_20261014/media/ref10_73b967af7527f5a986e7_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1420 |
+
pose_recluster_distinct_20261014/media/ref10_74d5665e918e57d9c0f1_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1421 |
+
pose_recluster_distinct_20261014/media/ref10_75b44c46fe87e61319bc_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1422 |
+
pose_recluster_distinct_20261014/media/ref10_828ddb1896c200cb9fdf_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1423 |
+
pose_recluster_distinct_20261014/media/ref10_8a4d2ab24eadf2b2a1dc_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1424 |
+
pose_recluster_distinct_20261014/media/ref10_8b89f03f368b27a4b106_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1425 |
+
pose_recluster_distinct_20261014/media/ref10_9195ae0eeebe9a10405d_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1426 |
+
pose_recluster_distinct_20261014/media/ref10_95d494476fea561be7de_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1427 |
+
pose_recluster_distinct_20261014/media/ref10_97d56477f8576667070b_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1428 |
+
pose_recluster_distinct_20261014/media/ref10_9bf52bd2736baf6e2600_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1429 |
+
pose_recluster_distinct_20261014/media/ref10_9d30a1b36c5f11364705_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1430 |
+
pose_recluster_distinct_20261014/media/ref10_9d331a5404e6a497cc67_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1431 |
+
pose_recluster_distinct_20261014/media/ref10_9da92f6cca53109c71de_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1432 |
+
pose_recluster_distinct_20261014/media/ref10_a04c634be123809562e3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1433 |
+
pose_recluster_distinct_20261014/media/ref10_a578bbf73cf69ec40d01_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1434 |
+
pose_recluster_distinct_20261014/media/ref10_ac6638a497ab3b4629eb_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1435 |
+
pose_recluster_distinct_20261014/media/ref10_ad1af63ef186a3da9178_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1436 |
+
pose_recluster_distinct_20261014/media/ref10_ad8a85fa6b7b36725c38_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1437 |
+
pose_recluster_distinct_20261014/media/ref10_adff3a16786b520e4324_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1438 |
+
pose_recluster_distinct_20261014/media/ref10_b015cdb29bbfb752ac6a_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1439 |
+
pose_recluster_distinct_20261014/media/ref10_b041c3d2a3903239264a_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1440 |
+
pose_recluster_distinct_20261014/media/ref10_b54fd37648672f6685cb_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1441 |
+
pose_recluster_distinct_20261014/media/ref10_b6e179eb646f3c8e6bc3_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1442 |
+
pose_recluster_distinct_20261014/media/ref10_bc1fd1bc3616192ffe52_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1443 |
+
pose_recluster_distinct_20261014/media/ref10_c3678d32ce9cd0c2dd32_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1444 |
+
pose_recluster_distinct_20261014/media/ref10_c4a2ed10bca93d16a96e_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1445 |
+
pose_recluster_distinct_20261014/media/ref10_c4b65d739edea3b49f29_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1446 |
+
pose_recluster_distinct_20261014/media/ref10_c6f953cc767494e3edbd_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1447 |
+
pose_recluster_distinct_20261014/media/ref10_c7bc79eb04c42383781d_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1448 |
+
pose_recluster_distinct_20261014/media/ref10_c87ce4642faaf033c8fc_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1449 |
+
pose_recluster_distinct_20261014/media/ref10_cbc1a5ac144473694b9f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1450 |
+
pose_recluster_distinct_20261014/media/ref10_d7d78ea52e337bcadf1f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1451 |
+
pose_recluster_distinct_20261014/media/ref10_d989a7827ba8e0ed1aa5_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1452 |
+
pose_recluster_distinct_20261014/media/ref10_ddfdaa2c9eeb6917bb36_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1453 |
+
pose_recluster_distinct_20261014/media/ref10_e33cbd101bae629f3064_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1454 |
+
pose_recluster_distinct_20261014/media/ref10_eb4c5acb8afed80484e0_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1455 |
+
pose_recluster_distinct_20261014/media/ref10_edf692a38bea15a04563_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1456 |
+
pose_recluster_distinct_20261014/media/ref10_ee37ce0ff6137544b9a0_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1457 |
+
pose_recluster_distinct_20261014/media/ref10_f0cb7d99020eb6258d62_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1458 |
+
pose_recluster_distinct_20261014/media/ref10_f309ba9e509f314d39f7_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1459 |
+
pose_recluster_distinct_20261014/media/ref10_f64b454e1a1c66e5c39f_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1460 |
+
pose_recluster_distinct_20261014/media/ref10_f7ba7e80e93ac7d9624c_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1461 |
+
pose_recluster_distinct_20261014/media/ref10_f98dbaef3bbbbb8705ea_full.jpg filter=lfs diff=lfs merge=lfs -text
|
| 1462 |
+
pose_recluster_distinct_20261014/media/ref10_fb6c35ccec55bf44f406_full.jpg filter=lfs diff=lfs merge=lfs -text
|
pose_recluster_distinct_20261014/app.coverage_v2.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
const D=window.AUDIT_DATA;
|
| 2 |
+
// Retry transient failures on the image CDN while keeping permanent source URLs.
|
| 3 |
+
document.addEventListener('error',e=>{const im=e.target;if(im?.tagName!=='IMG')return;const n=Number(im.dataset.networkRetry||0);if(n<2){im.dataset.networkRetry=String(n+1);setTimeout(()=>{if(im.isConnected)im.src=im.getAttribute('src')},600*(n+1))}},true);
|
| 4 |
+
const $=s=>document.querySelector(s), nf=n=>Number(n).toLocaleString('en-US'), esc=s=>String(s??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
| 5 |
+
let hand='right',level='distinct',view='oblique',tab='overview',poseSerial=0,activeDetail='',coverageFilter='all',coverageSort='gap';
|
| 6 |
+
const colors=['#b8852f','#39896e','#437eb0','#9061ab','#c66e70'];
|
| 7 |
+
const poses=new Map(), allClasses={};
|
| 8 |
+
Object.values(D.models).forEach(m=>['fine','distinct'].forEach(l=>m[l].forEach(c=>allClasses[c.key]=c)));
|
| 9 |
+
const model=g=>D.models[g+'_'+hand], cname=s=>D.names[s]||s;
|
| 10 |
+
function poseCanvas(joints,label='',overlay=null){const id='pose'+poseSerial++;poses.set(id,{joints,overlay,rot:[0,0],label});return `<canvas class="pose" id="${id}" aria-label="${esc(label)},可拖动旋转"></canvas>`}
|
| 11 |
+
function drawPose(canvas,p){
|
| 12 |
+
const ratio=Math.min(devicePixelRatio||1,2),w=canvas.clientWidth||300,h=canvas.clientHeight||170;canvas.width=w*ratio;canvas.height=h*ratio;const ctx=canvas.getContext('2d');ctx.scale(ratio,ratio);ctx.clearRect(0,0,w,h);
|
| 13 |
+
let base=view==='palm'?[0,0]:view==='side'?[Math.PI/2,0]:[.48,-.16],a=base[0]+p.rot[0],b=base[1]+p.rot[1];
|
| 14 |
+
function project(j){let [x,y,z]=j;const xx=x*Math.cos(a)+z*Math.sin(a),zz=-x*Math.sin(a)+z*Math.cos(a);return [xx,y*Math.cos(b)-zz*Math.sin(b),y*Math.sin(b)+zz*Math.cos(b)]}
|
| 15 |
+
const pts=p.joints.map(project),other=p.overlay?.map(project),all=other?pts.concat(other):pts;let x0=Math.min(...all.map(v=>v[0])),x1=Math.max(...all.map(v=>v[0])),y0=Math.min(...all.map(v=>v[1])),y1=Math.max(...all.map(v=>v[1]));let scale=Math.min((w-45)/Math.max(x1-x0,.7),(h-40)/Math.max(y1-y0,.8));
|
| 16 |
+
const screen=q=>[w/2+(q[0]-(x0+x1)/2)*scale,h/2-(q[1]-(y0+y1)/2)*scale+3];
|
| 17 |
+
function handdraw(j,faded){ctx.globalAlpha=faded?.35:1;for(let f=0;f<5;f++){const ids=[0,f*4+1,f*4+2,f*4+3,f*4+4];ctx.strokeStyle=faded?'#7b8492':colors[f];ctx.fillStyle=ctx.strokeStyle;ctx.lineWidth=faded?2:3.2;ctx.beginPath();ids.forEach((id,k)=>{const q=screen(j[id]);k?ctx.lineTo(...q):ctx.moveTo(...q)});ctx.stroke();ids.slice(1).forEach(id=>{const q=screen(j[id]);ctx.beginPath();ctx.arc(...q,2.6,0,Math.PI*2);ctx.fill()})}ctx.globalAlpha=1}
|
| 18 |
+
if(other)handdraw(other,true);handdraw(pts,false);ctx.fillStyle='#7e8b99';ctx.font='10px system-ui';ctx.fillText(p.label,9,14);
|
| 19 |
+
}
|
| 20 |
+
function wirePoses(){document.querySelectorAll('canvas.pose').forEach(c=>{const p=poses.get(c.id);if(!p)return;drawPose(c,p);let drag=null;c.onpointerdown=e=>{drag=[e.clientX,e.clientY];c.setPointerCapture(e.pointerId)};c.onpointermove=e=>{if(!drag)return;p.rot[0]+=(e.clientX-drag[0])*.012;p.rot[1]+=(e.clientY-drag[1])*.012;drag=[e.clientX,e.clientY];drawPose(c,p)};c.onpointerup=()=>drag=null;})}
|
| 21 |
+
const pct=x=>(100*x).toFixed(1)+'%';
|
| 22 |
+
function coverageBar(v,compact=false){if(!v)return '';return `<div class="coverage-breakdown ${compact?'compact':''}"><div class="coverage-bar" role="img" aria-label="已覆盖 ${pct(v.covered_fraction)},低覆盖 ${pct(v.low_fraction)},未覆盖 ${pct(v.uncovered_fraction)}"><span class="covered" style="width:${v.covered_fraction*100}%"></span><span class="low" style="width:${v.low_fraction*100}%"></span><span class="uncovered" style="width:${v.uncovered_fraction*100}%"></span></div><div class="coverage-values"><span class="covered-text">已覆盖 ${pct(v.covered_fraction)}</span><span class="low-text">低覆盖 ${pct(v.low_fraction)}</span><span class="uncovered-text">未覆盖 ${pct(v.uncovered_fraction)}</span></div>${compact?'':`<p class="metric">分母 ${nf(v.n)} 个实际分析手帧:${nf(v.covered)} 已覆盖 / ${nf(v.low)} 低覆盖 / ${nf(v.uncovered)} 未覆盖。</p>`}</div>`}
|
| 23 |
+
function classBadge(c){const v=c.coverage;if(!v)return '';const label=v.status==='uncovered'?'整类未覆盖':v.status==='covered'?'≥90% 已覆盖':'部分覆盖';return `<span class="coverage-badge ${v.status}" title="以逐成员比例为准;整类未覆盖要求所有成员都没有相似参照。">${label}</span>`}
|
| 24 |
+
function filteredExternal(){return [...model('external')[level]].filter(c=>coverageFilter==='all'||coverageFilter==='entire'&&c.coverage.uncovered===c.n||coverageFilter==='mostly_gap'&&c.coverage.uncovered_fraction>=.5||coverageFilter==='mostly_covered'&&c.coverage.covered_fraction>=.7).sort((a,b)=>coverageSort==='id'?a.number-b.number:coverageSort==='covered'?b.coverage.covered_fraction-a.coverage.covered_fraction:b.coverage.uncovered_fraction-a.coverage.uncovered_fraction)}
|
| 25 |
+
function renderCoverage(){const v=D.coverage.summary[hand],cal=D.coverage.calibration[hand],cs=model('external')[level],entire=cs.filter(c=>c.coverage.status==='uncovered').length;$('#coverageSummary').innerHTML=`<div class="coverage-summary">${coverageBar(v,true)}<span class="metric">${hand==='left'?'左':'右'}手 ${nf(v.n)} 个外部手帧 · ${cs.length} 类中 ${entire} 类整类未覆盖 · 相似阈值 ${cal.thresholds_deg.q95.toFixed(2)}°</span></div>`;
|
| 26 |
+
const sens=D.coverage.sensitivity.filter(x=>x.key==='external_'+hand&&['q90','q95','q99'].includes(x.threshold));$('#coverageMethodBody').innerHTML=`<p class="hint">距离使用来源 GT 的 20 根 3D 骨方向,在掌部坐标系中计算平均夹角,去除手腕整体运动和骨长差异;左右手分开。不是 2D 图上距离,也不是 MANO 参数直接相减。</p><p class="hint">参照:H2O+ARCTIC+HOT3D+EgoRenderer Ver.005,共 271,543 手帧;本侧 ${nf(cal.reference_n)} 手帧、${nf(cal.reference_units)} 段独立录制/源动作。用本侧 4,096 个内部留出样本校准,检索时排除同录制全部帧;四源及各录制均衡加权,取最近距离的 95% 分位。每个外部成员穷举检索全部同侧参照。</p><table><thead><tr><th>校准分位</th><th>阈值</th><th>已覆盖</th><th>低覆盖</th><th>未覆盖</th></tr></thead><tbody>${sens.map(x=>`<tr><td>${x.threshold==='q95'?'95%(本页)':x.threshold.slice(1)+'%'}</td><td>${x.threshold_deg.toFixed(2)}°</td><td>${pct(x.covered_fraction)}</td><td>${pct(x.low_fraction)}</td><td>${pct(x.uncovered_fraction)}</td></tr>`).join('')}</tbody></table><p class="hint">类标签:≥90% 成员已覆盖才标“≥90% 已覆盖”;所有成员无近邻才标“整类未覆盖”;其余标“部分覆盖”。90% 是显示约定,完整比例始终保留。统计分母是本轮分析样本,不是 WiLoR 官方全量;2D 来源不作 3D 覆盖判断。我们参照使用已核对训练成员的来源 GT,最终 canonical 标签和 loss mask 尚未验收。</p>`}
|
| 27 |
+
function memberBadge(s){const v=s.coverage;if(!v)return '';return `<p class="sample-coverage"><span class="coverage-badge ${v.status}">${{covered:'已覆盖',low:'低覆盖',uncovered:'抽样库未覆盖'}[v.status]}</span> 最近距离 ${v.distance_deg.toFixed(2)}° / 阈值 ${v.threshold_deg.toFixed(2)}° · ${nf(v.support_recordings)} 段相似参照录制</p>`}
|
| 28 |
+
function gapBlock(v){const s=D.samples[v.id],n=v.nearest;return `<article class="gap-case"><h3>未覆盖成员 · ${esc(cname(s.source))} · ${s.hand==='left'?'左手':'右手'} · 帧 ${s.frame}</h3><p class="evidence">${esc(s.recording)} · ${esc(s.label)} · 距该类原型 ${v.prototype_distance_deg.toFixed(2)}°</p>${memberBadge(s)}<div class="pair"><div><h4>外部实际成员</h4>${poseCanvas(v.joints,'该未覆盖成员的 GT 姿态')}<a href="${s.assets.full}" target="_blank"><img class="gap-image" src="${s.assets.crop}" loading="lazy" alt="外部未覆盖成员:原图与 GT 叠加"></a><p class="metric">原图 | GT 叠加 · 点击看完整原画面</p></div><div><h4>我们库中的精确最近邻</h4>${poseCanvas(n.joints,'该成员的精确最近 GT 姿态')}${n.media?`<a href="${n.media.assets.full}" target="_blank"><img class="gap-image" src="${n.media.assets.crop}" loading="lazy" alt="精确最近邻:原图与 GT 叠加"></a><p class="metric">原图 | GT 叠加 · 点击看完整原画面</p>`:'<p class="warning">这个精确最近邻未通过原图可读性检查,保留其 GT 骨架;没有用其他样本替代。</p>'}<p class="evidence">${esc(cname(n.source))} · ${esc(n.recording)} · 帧 ${n.frame} · ${n.hand==='left'?'左':'右'}手</p></div></div><details><summary>相机与 GT 证据</summary><p class="evidence">外部:${esc(s.camera)}。${esc(s.gt_status)}</p><p class="evidence">最近邻:${esc(n.media?.evidence?.camera??n.media_missing_reason)}。图像叠加仅供核查,覆盖距离不构成 GT 可靠性结论。</p></details></article>`}
|
| 29 |
+
function related(c){return D.pairs.some(p=>p.related && p.group===c.key.split('_')[0]&&p.hand===hand&&(p.a===c.id||p.b===c.id))}
|
| 30 |
+
function card(c){const v=c.examples[0],s=D.samples[v.id];return `<article class="card" data-key="${c.key}"><div class="card-head"><h3>${c.id}</h3><span>${classBadge(c)}${related(c)&&level==='distinct'?'<span class="badge">有相近类</span>':''}</span></div><div class="card-meta">${nf(c.n)} 手帧 · ${Object.keys(c.sources).length} 来源</div>${c.coverage?coverageBar(c.coverage,true):''}${poseCanvas(c.joints,'GT 类原型')}<img src="${s.assets.crop}" alt="${esc(cname(s.source))} 原图与 GT 叠加" loading="lazy"><div class="card-foot">${esc(cname(s.source))} · ${v.is_prototype?'原型本人':`同类图例,距原型 ${v.prototype_distance_deg.toFixed(1)}°`}</div><button class="open" data-open="${c.key}">${c.coverage?'未覆盖成员 / 原图 / 近邻':'原图 / GT 叠加 / 近邻'}</button></article>`}
|
| 31 |
+
function countTable(){const rows=['ours','external'].map(g=>{const m=model(g);return `<tr><td class="${g}">${g==='ours'?'我们三源+合成':'WiLoR 外部 3D 来源'}</td><td>${nf(m.n)}</td><td>${m[level].length}</td><td>${m.fine.length-m.distinct.length}</td></tr>`}).join('');$('#countTable').innerHTML=`<table><thead><tr><th>组别 · ${hand==='left'?'左手':'右手'}</th><th>参与手帧</th><th>当前类数</th><th>合并减少细类数</th></tr></thead><tbody>${rows}</tbody></table>`}
|
| 32 |
+
function renderOverview(){countTable();for(const g of ['ours','external']){const cs=g==='external'?filteredExternal():model(g)[level];$('#'+g+'Cards').innerHTML=cs.map(card).join('')||'<p class="hint">当前筛选没有类别。</p>';$('#'+g+'Count').textContent=`${cs.length} / ${model(g)[level].length} 类`}scatter()}
|
| 33 |
+
function pairTile(c){const s=D.samples[c.examples[0].id];return `<div><h3><a data-open="${c.key}">${c.id} · ${esc(cname(c.prototype.source))}</a></h3>${poseCanvas(c.joints,'GT 类原型')}<img src="${s.assets.crop}" loading="lazy" alt="同类 RGB 与 GT 图例"><p class="metric">图例 ${esc(cname(s.source))} · 距原型 ${c.examples[0].prototype_distance_deg.toFixed(1)}°</p></div>`}
|
| 34 |
+
function renderCompare(){const sorted=filteredExternal();$('#comparisonRows').innerHTML=sorted.map(c=>{const n=c.nearest_reference,a=allClasses[n.nearest_our_key];return `<div class="row"><div class="row-title"><strong>我们 ${a.id} ↔ 外部 ${c.id}</strong>${classBadge(c)}</div>${coverageBar(c.coverage)}<div class="pair">${pairTile(a)}${pairTile(c)}</div><p class="metric">类原型差 ${n.class_prototype_mean_deg.toFixed(1)}° · 外部原型最近参照 ${n.mean_deg.toFixed(1)}°(原型示意;覆盖统计来自全类成员)</p><button data-open="${c.key}">看该类未覆盖成员、原图与精确最近邻</button></div>`}).join('')||'<p class="hint">当前筛选没有类别。</p>'}
|
| 35 |
+
function renderSimilar(){const summaries=D.summary.filter(s=>s.hand===hand);$('#duplicateSummary').innerHTML=`<table><thead><tr><th>组别</th><th>32 细类中的相近对</th><th>合并后相近对</th><th>主视图类数</th></tr></thead><tbody>${summaries.map(s=>`<tr><td>${s.group==='ours'?'我们':'外部'}</td><td>${s.stages.fine.near_pairs}</td><td>${s.stages.distinct.near_pairs}</td><td>${s.stages.distinct.k}</td></tr>`).join('')}</tbody></table><p class="hint">“相近”按原型或数值中心的 20 骨平均夹角 ≤12°,且每根手指平均夹角 ≤20° 判断;这是本页查看粒度,不是通用手势标准。</p>`;
|
| 36 |
+
const pp=D.pairs.filter(p=>p.hand===hand&&p.related);$('#relatedPairs').innerHTML=pp.map(p=>{const a=allClasses[`${p.group}_${hand}_distinct_${p.a}`],b=allClasses[`${p.group}_${hand}_distinct_${p.b}`];return `<div class="row"><strong>${p.group==='ours'?'我们':'外部'} ${p.a} / ${p.b}</strong><div class="finger-values">${p.finger_deg.map((v,i)=>`${['拇','食','中','环','小'][i]}指 ${v.toFixed(1)}°`).join(' · ')}</div><div class="pair">${pairTile(a)}${pairTile(b)}</div><p class="metric">原型整体 ${p.mean_deg.toFixed(1)}° · 跨录制近邻更靠近另一类的比例 ${(100*p.member_diagnostic.cross_cluster_closer_fraction).toFixed(1)}%</p></div>`}).join('')||'<p class="hint">本侧没有满足判据的剩余相近类对。</p>';
|
| 37 |
+
$('#mergeRows').innerHTML=D.merges.filter(m=>m.hand===hand).map(m=>`<div class="row"><div class="row-title"><strong>${m.group==='ours'?'我们':'外部'}:${m.children.join(' + ')} → 主类 ${m.cluster}</strong><span class="metric">${nf(m.n)} 手帧</span></div><div class="children">${m.child_keys.map(k=>{const c=allClasses[k];return `<div class="child"><a data-open="${k}">${c.id} · 细类</a>${poseCanvas(c.joints,'GT 原型')}</div>`}).join('')}</div></div>`).join('')}
|
| 38 |
+
function renderSources(){$('#sourceTable').innerHTML='<thead><tr><th>来源组</th><th>数据集 / 可视化</th><th>实际参与手帧</th><th>版本与范围</th><th>本轮用途</th><th>对参照库覆盖</th></tr></thead><tbody>'+D.sources.map(s=>`<tr><td>${s.group}</td><td><button class="source-button" data-source="${s.id}">${esc(s.name)}</button></td><td>${nf(s.cluster_n||0)}</td><td>${esc(s.scope)}</td><td>${esc(s.role)}</td><td>${D.coverage.sources[s.id]?coverageBar(D.coverage.sources[s.id],true):s.group==='我们'?'参照库':s.gallery_source?'与参照重叠,不单计':'不作 3D 判断'}</td></tr>`).join('')+'</tbody>'}
|
| 39 |
+
function sampleBlock(s,v){return `<section class="example">${memberBadge(s)}<h3>${esc(cname(s.source))} · ${esc(s.hand)} · 帧 ${esc(s.frame??'—')}</h3><p class="evidence">${esc(s.recording??s.split??'')} · ${esc(s.label)}${v?` · 距类原型 ${v.prototype_distance_deg.toFixed(2)}°`:''}</p><a href="${s.assets.full}" target="_blank"><img class="detail-pair" src="${s.assets.full}" alt="原图与对应 GT 叠加"></a><p class="evidence">${esc(s.camera??s.note??'')} · ${esc(s.gt_status??'仅可核查相应标注,不参与3D聚类')}</p></section>`}
|
| 40 |
+
function openClass(key){const c=allClasses[key],g=key.split('_')[0];let head=`<h2>${g==='ours'?'我们':'外部'} · ${key.includes('_left_')?'左手':'右手'} · ${c.id}${key.includes('_fine_')?'(细类)':''}</h2><p class="evidence">原型:${esc(cname(c.prototype.source))} · ${esc(c.prototype.recording)} · 帧 ${c.prototype.frame}。${nf(c.n)} 个成员。</p>`;
|
| 41 |
+
head+=c.coverage?classBadge(c)+coverageBar(c.coverage):'';
|
| 42 |
+
let top=`<div class="dialog-top"><div>${poseCanvas(c.joints,'精确 GT 类原型')}<p class="hint">统一掌部坐标与骨长,仅用于姿态比较。</p></div>`;
|
| 43 |
+
if(c.nearest_reference){const n=c.nearest_reference;top+=`<div>${poseCanvas(n.nearest_joints,'全部参照库中的最近 GT 样本')}<p class="metric">对全部同侧三源+合成样本检索:${n.mean_deg.toFixed(2)}°。不使用散点图距离。</p></div>`}else top+=`<div><h3>来源组成</h3>${Object.entries(c.sources).sort((a,b)=>b[1]-a[1]).map(([s,n])=>`<p class="metric">${esc(cname(s))}:${nf(n)}</p>`).join('')}</div>`;
|
| 44 |
+
top+='</div>';
|
| 45 |
+
let note=c.examples[0].prototype_distance_deg>8?'<p class="warning">当前可读 RGB 图例与类原型仍有较大差别。上方骨架才是精确原型;下面图片保留实际成员身份与距离。</p>':'';
|
| 46 |
+
const gaps=D.coverage.examples[key]||[],gapIds=new Set(gaps.map(v=>v.id)),other=c.examples.filter(v=>!gapIds.has(v.id));
|
| 47 |
+
$('#detailBody').innerHTML=head+(c.coverage?'<details class="prototype-details"><summary>类原型与其最近邻</summary>'+top+note+'</details>':top+note)+(gaps.length?'<h3 class="gap-title">本类实际未覆盖成员</h3>'+gaps.map(gapBlock).join(''):'')+(other.length?'<h3>其他同类成员</h3>'+other.map(v=>sampleBlock(D.samples[v.id],v)).join(''):'');if(!$('#detail').open)$('#detail').showModal();wirePoses();activeDetail='class='+encodeURIComponent(key);location.hash=activeDetail}
|
| 48 |
+
function openSource(src){const s=D.sources.find(x=>x.id===src),target=s.gallery_source||src,ids=D.gallery[target]||[],two=D.two_d[src]||[];let body=`<h2>${esc(s.name)} · ${esc(s.group)}</h2><p>${esc(s.scope)}</p>`;
|
| 49 |
+
if(D.coverage.sources[src])body+=coverageBar(D.coverage.sources[src]);
|
| 50 |
+
if(two.length)body+=two.map(v=>sampleBlock(v,null)).join('');
|
| 51 |
+
else if(ids.length){body+='<p class="hint">以下图例均属于本轮冻结成员;点击原图可放大。手侧保留逐样本标记。</p>';body+=ids.slice(0,20).map(id=>sampleBlock(D.samples[id],null)).join('')}
|
| 52 |
+
else body+=`<p class="warning">${src==='wilor_bedlam'?'按用户要求跳过,本轮没有读取或聚类。':'当前聚类使用该源 GT;本页未选到该源配对图例。'}</p>`;
|
| 53 |
+
$('#detailBody').innerHTML=body;if(!$('#detail').open)$('#detail').showModal();activeDetail='source='+encodeURIComponent(src);location.hash=activeDetail}
|
| 54 |
+
function scatter(){const c=$('#scatter'),ctx=c.getContext('2d');ctx.clearRect(0,0,c.width,c.height);const all=['ours','external'].flatMap(g=>model(g)[level].map(x=>({...x,g})));let xx=all.map(c=>c.display_xy[0]),yy=all.map(c=>c.display_xy[1]),xmin=Math.min(...xx),xmax=Math.max(...xx),ymin=Math.min(...yy),ymax=Math.max(...yy);const points=[];for(const p of all){let x=45+(p.display_xy[0]-xmin)/(xmax-xmin)*1000,y=400-(p.display_xy[1]-ymin)/(ymax-ymin)*350;ctx.fillStyle=p.g==='ours'?'#276a9c':'#79569d';ctx.beginPath();ctx.arc(x,y,6,0,Math.PI*2);ctx.fill();ctx.fillText(p.id,x+8,y+4);points.push({x,y,key:p.key})}c.onclick=e=>{const r=c.getBoundingClientRect(),x=(e.clientX-r.left)*c.width/r.width,y=(e.clientY-r.top)*c.height/r.height;const hit=points.find(p=>Math.hypot(x-p.x,y-p.y)<15);if(hit)openClass(hit.key)}}
|
| 55 |
+
function render(){poses.clear();renderCoverage();if(tab==='overview')renderOverview();if(tab==='compare')renderCompare();if(tab==='similar')renderSimilar();if(tab==='sources')renderSources();wirePoses()}
|
| 56 |
+
function changeTab(t){tab=t;document.querySelectorAll('.tab').forEach(e=>e.hidden=e.id!==t);document.querySelectorAll('nav button').forEach(e=>e.classList.toggle('active',e.dataset.tab===t));render()}
|
| 57 |
+
document.addEventListener('click',e=>{const open=e.target.closest('[data-open]'),source=e.target.closest('[data-source]'),tb=e.target.closest('[data-tab]');if(open){e.preventDefault();openClass(open.dataset.open)}if(source)openSource(source.dataset.source);if(tb)changeTab(tb.dataset.tab)});
|
| 58 |
+
$('#coverageFilter').onchange=e=>{coverageFilter=e.target.value;render()};$('#coverageSort').onchange=e=>{coverageSort=e.target.value;render()};
|
| 59 |
+
$('#hand').onchange=e=>{hand=e.target.value;render()};$('#level').onchange=e=>{level=e.target.value;render()};$('#view').onchange=e=>{view=e.target.value;wirePoses()};$('#reset').onclick=()=>{poses.forEach(p=>p.rot=[0,0]);wirePoses()};$('#closeDetail').onclick=()=>$('#detail').close();$('#detail').addEventListener('close',()=>{activeDetail='';history.replaceState(null,'',location.pathname+location.search)});window.addEventListener('resize',()=>wirePoses());
|
| 60 |
+
function restoreHash(){const hash=location.hash.slice(1);if(hash===activeDetail)return;const initial=new URLSearchParams(hash);if(initial.has('class')&&allClasses[initial.get('class')])openClass(initial.get('class'));else if(initial.has('source')&&D.sources.some(s=>s.id===initial.get('source')))openSource(initial.get('source'));else if(!hash&&$('#detail').open)$('#detail').close()}
|
| 61 |
+
window.addEventListener('hashchange',restoreHash);render();restoreHash();
|
pose_recluster_distinct_20261014/data.coverage_v2.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
pose_recluster_distinct_20261014/downloads/coverage/REPRODUCE.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 复现覆盖更新
|
| 2 |
+
|
| 3 |
+
实验目录:/SSD3/yangzijing/Hand_class_coverage_20261014
|
| 4 |
+
只读聚类与 GT 缓存:/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014
|
| 5 |
+
|
| 6 |
+
```bash
|
| 7 |
+
cd /SSD3/yangzijing/Hand_class_coverage_20261014
|
| 8 |
+
PY=/SSD2/jiasen/envs/foundation_hand/bin/python
|
| 9 |
+
# freeze_coverage.py 仅第一次在空实验目录执行;已有冻结清单不可重写。
|
| 10 |
+
CUDA_VISIBLE_DEVICES=1 OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 MKL_NUM_THREADS=2 "$PY" code/exact_coverage.py
|
| 11 |
+
OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 "$PY" code/aggregate_coverage.py
|
| 12 |
+
OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 "$PY" code/validate_coverage.py
|
| 13 |
+
CUDA_VISIBLE_DEVICES='' OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 "$PY" code/coverage_visuals.py
|
| 14 |
+
"$PY" code/update_web.py
|
| 15 |
+
"$PY" code/build_coverage_site.py
|
| 16 |
+
```
|
| 17 |
+
|
| 18 |
+
freeze_coverage.py 固定种子 2026101407、8192 个校准成员和阈值规则,然后才进行外部检索。逐成员距离为精确穷举;既有缓存可恢复。记录单位排除整段动作,不把邻帧支持计为独立录制。原始成员 SHA256、类分配、特征和网页旧版 SHA256 见 input_sha256.json。
|
| 19 |
+
|
| 20 |
+
本目录代码复用前序审计的标定投影和 source GT 读取代码;完整依赖地址保留在 visualize.py / cluster_common.py,旧版代码与原始聚类说明在网页 downloads/code 和 downloads/REPRODUCE.md。原始数据及授权可读环境需要保留;衍生网页不包含原始数据包、模型权重或凭据。
|
| 21 |
+
|
| 22 |
+
媒体检查不是 GT 独立验收。精确最近邻图像不可读时,另选同类未覆盖成员展示;其最近邻索引绝不替换。CSV 只有实际已渲染成员才填 image_overlay_link,其他留空。
|
pose_recluster_distinct_20261014/downloads/coverage/RESULTS_ZH.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 逐成员覆盖更新(2026-10-14)
|
| 2 |
+
|
| 3 |
+
本轮对全部 214,481 个可读外部来源聚类手帧逐一检索,参照为 H2O / ARCTIC / HOT3D / EgoRenderer Ver.005 的 271,543 个冻结抽样手帧,左右手分开;没有重新聚类或改动 GT。
|
| 4 |
+
|
| 5 |
+
- 已覆盖:99,408(46.35%),阈值内至少 3 段独立录制/源动作。
|
| 6 |
+
- 低覆盖:15,430(7.19%),阈值内只有 1–2 段独立录制/源动作。
|
| 7 |
+
- 抽样库未覆盖:99,643(46.46%),本次参照库中无阈值内近邻。
|
| 8 |
+
|
| 9 |
+
外部 50 个主类中,7 类全部成员未覆盖,43 类为部分覆盖。不存在达到“90% 成员已覆盖”的主类;这不表示各类中的已覆盖成员也未覆盖。网页优先展示完整成员比例。
|
| 10 |
+
|
| 11 |
+
整类未覆盖:left B2, left B5, left B16, left B21, right B4, right B13, right B20。
|
| 12 |
+
|
| 13 |
+
距离是来源 GT 的 20 根掌部局部 3D 单位骨方向的平均夹角;不是 MANO 参数欧氏距离、不是 2D 图上距离。阈值先使用 8,192 个内部校准手帧、检索排除同录制的全部帧确定:左手 9.4976°,右手 9.2521°。四源均衡,源内录制均衡。q90/q99 与 10°/20°/30° 的敏感性均在 CSV 保留。至少 3 个独立录制是支持量的显示约定;类 90% 汇总阈值也不是普适标准。
|
| 14 |
+
|
| 15 |
+
主统计是本轮分析成员的自然计数,不代表官方全量的无偏发生比例。来源/录制均衡聚类权重下未覆盖比例为 41.41%;单位均衡权重还会受静态图像单位与视频录制单位数量差异影响,因此仅用于敏感性,不作为总体发生率。
|
| 16 |
+
|
| 17 |
+
114 个外部主类/细类均给出实际未覆盖成员:原图、按来源相机投影的 MANO 或 GT 骨架、精确最近邻及距离;没有把同类原型替换成“未覆盖样本”。显示样本优先接近类原型,且要求其精确最近邻也有可读 RGB 叠加,故图例不是概率抽样,不用于估计比例。图像读取失败只影响图例选择,不改统计成员、阈值或最近邻。
|
| 18 |
+
|
| 19 |
+
覆盖与 GT 可靠性独立。未覆盖可能包含真实姿态缺口、来源定义差异或标签问题;不能把上述数目称为可靠补充样本数量。来源一致性、图片叠加不等于独立三维验收。参照使用已核对训练成员的来源 GT;最终 canonical 标签与 loss mask 尚未验收。外部 8 源是 WiLoR 官方源数据代理,ARCTIC/HOT3D 重叠、2D 来源和跳过的 BEDLAM 不重复记入外部 3D 分母。
|
| 20 |
+
|
| 21 |
+
数值检查:32 个查询(含阈值边界)用 CPU float64 全库复算;114 个类原型与已有独立最近邻结果对照,分类一致。详细证据见 numerical_validation.json。
|
pose_recluster_distinct_20261014/downloads/coverage/calibration.json
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"left": {
|
| 3 |
+
"n": 4096,
|
| 4 |
+
"reference_n": 135504,
|
| 5 |
+
"reference_units": 1924,
|
| 6 |
+
"thresholds_deg": {
|
| 7 |
+
"q90": 8.31766128540039,
|
| 8 |
+
"q95": 9.49763298034668,
|
| 9 |
+
"q99": 12.101940155029297
|
| 10 |
+
},
|
| 11 |
+
"weighted_within_q95": 0.9501579125434737,
|
| 12 |
+
"weighted_stable_covered_q95": 0.901272850543289,
|
| 13 |
+
"source_diagnostics": {
|
| 14 |
+
"ours_arctic": {
|
| 15 |
+
"n": 1024,
|
| 16 |
+
"recordings": 266,
|
| 17 |
+
"q50": 7.079188346862793,
|
| 18 |
+
"q95": 11.210945129394531,
|
| 19 |
+
"within_main_threshold": 0.862781954887218,
|
| 20 |
+
"stable_covered_main": 0.7202380952380951
|
| 21 |
+
},
|
| 22 |
+
"ours_h2o": {
|
| 23 |
+
"n": 1024,
|
| 24 |
+
"recordings": 114,
|
| 25 |
+
"q50": 4.817780494689941,
|
| 26 |
+
"q95": 8.082184791564941,
|
| 27 |
+
"within_main_threshold": 0.9766081871345029,
|
| 28 |
+
"stable_covered_main": 0.9626844890002785
|
| 29 |
+
},
|
| 30 |
+
"ours_hot3d": {
|
| 31 |
+
"n": 1024,
|
| 32 |
+
"recordings": 230,
|
| 33 |
+
"q50": 3.6003682613372803,
|
| 34 |
+
"q95": 6.79738712310791,
|
| 35 |
+
"within_main_threshold": 0.9876086956521739,
|
| 36 |
+
"stable_covered_main": 0.9817391304347827
|
| 37 |
+
},
|
| 38 |
+
"synthetic": {
|
| 39 |
+
"n": 1024,
|
| 40 |
+
"recordings": 1024,
|
| 41 |
+
"q50": 2.8987925052642822,
|
| 42 |
+
"q95": 8.5874605178833,
|
| 43 |
+
"within_main_threshold": 0.9736328125,
|
| 44 |
+
"stable_covered_main": 0.9404296875
|
| 45 |
+
}
|
| 46 |
+
}
|
| 47 |
+
},
|
| 48 |
+
"right": {
|
| 49 |
+
"n": 4096,
|
| 50 |
+
"reference_n": 136039,
|
| 51 |
+
"reference_units": 1924,
|
| 52 |
+
"thresholds_deg": {
|
| 53 |
+
"q90": 8.300768852233887,
|
| 54 |
+
"q95": 9.252071380615234,
|
| 55 |
+
"q99": 11.218984603881836
|
| 56 |
+
},
|
| 57 |
+
"weighted_within_q95": 0.9501955061737223,
|
| 58 |
+
"weighted_stable_covered_q95": 0.8825766848620646,
|
| 59 |
+
"source_diagnostics": {
|
| 60 |
+
"ours_arctic": {
|
| 61 |
+
"n": 1024,
|
| 62 |
+
"recordings": 266,
|
| 63 |
+
"q50": 6.840930938720703,
|
| 64 |
+
"q95": 10.529808044433594,
|
| 65 |
+
"within_main_threshold": 0.8728070175438596,
|
| 66 |
+
"stable_covered_main": 0.7039473684210527
|
| 67 |
+
},
|
| 68 |
+
"ours_h2o": {
|
| 69 |
+
"n": 1024,
|
| 70 |
+
"recordings": 114,
|
| 71 |
+
"q50": 5.4153594970703125,
|
| 72 |
+
"q95": 8.352627754211426,
|
| 73 |
+
"within_main_threshold": 0.9815789473684211,
|
| 74 |
+
"stable_covered_main": 0.9435672514619884
|
| 75 |
+
},
|
| 76 |
+
"ours_hot3d": {
|
| 77 |
+
"n": 1024,
|
| 78 |
+
"recordings": 230,
|
| 79 |
+
"q50": 3.777343511581421,
|
| 80 |
+
"q95": 6.837747573852539,
|
| 81 |
+
"within_main_threshold": 0.9991304347826087,
|
| 82 |
+
"stable_covered_main": 0.9882608695652174
|
| 83 |
+
},
|
| 84 |
+
"synthetic": {
|
| 85 |
+
"n": 1024,
|
| 86 |
+
"recordings": 1024,
|
| 87 |
+
"q50": 5.286046028137207,
|
| 88 |
+
"q95": 9.388495445251465,
|
| 89 |
+
"within_main_threshold": 0.947265625,
|
| 90 |
+
"stable_covered_main": 0.89453125
|
| 91 |
+
}
|
| 92 |
+
}
|
| 93 |
+
}
|
| 94 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/calibration_members.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
pose_recluster_distinct_20261014/downloads/coverage/class_coverage.csv
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
n,covered,low,uncovered,covered_fraction,low_fraction,uncovered_fraction,any_match_fraction,status,status_label,fit_weighted_fractions,equal_unit_fractions,independent_units,key,hand,level,id,threshold_deg,distance_p50_deg,distance_p95_deg,max_distance_deg,source_counts
|
| 2 |
+
957,0,1,956,0.0,0.0010449320794148381,0.9989550679205852,0.0010449320794148065,low,低覆盖,"[0.0, 0.0006819989186126367, 0.9993180010813872]","[0.0, 0.0005030181086519114, 0.9994969818913482]",284,external_left_fine_B1,left,fine,B1,9.49763298034668,17.770145416259766,33.662847900390624,68.93052673339844,"{""wilor_rhd"": 187, ""wilor_interhand26m"": 491, ""wilor_mtc"": 118, ""wilor_reinter"": 161}"
|
| 3 |
+
305,0,0,305,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",156,external_left_fine_B2,left,fine,B2,9.49763298034668,21.449251174926758,29.474415206909182,35.25153732299805,"{""wilor_rhd"": 106, ""wilor_interhand26m"": 91, ""wilor_mtc"": 98, ""wilor_reinter"": 10}"
|
| 4 |
+
4358,0,2,4356,0.0,0.0004589261128958238,0.9995410738871042,0.00045892611289577445,low,低覆盖,"[0.0, 0.00032881964136443346, 0.9996711803586357]","[0.0, 0.00011140819964349375, 0.9998885918003565]",3400,external_left_fine_B3,left,fine,B3,9.49763298034668,14.459971904754639,17.235001564025875,54.535888671875,"{""wilor_rhd"": 3656, ""wilor_interhand26m"": 264, ""wilor_mtc"": 312, ""wilor_reinter"": 126}"
|
| 5 |
+
1904,50,66,1788,0.026260504201680673,0.03466386554621849,0.9390756302521008,0.060924369747899165,low,低覆盖,"[0.0312471646602513, 0.07401681908528633, 0.8947360162544625]","[0.00744860643789431, 0.00842278290809309, 0.9841286106540125]",995,external_left_fine_B4,left,fine,B4,9.49763298034668,14.209616661071777,22.362558841705315,34.26322937011719,"{""wilor_rhd"": 1153, ""wilor_dex"": 19, ""wilor_interhand26m"": 175, ""wilor_mtc"": 329, ""wilor_reinter"": 228}"
|
| 6 |
+
1001,0,0,1001,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",960,external_left_fine_B5,left,fine,B5,9.49763298034668,20.789093017578125,22.490758895874023,34.86929702758789,"{""wilor_rhd"": 925, ""wilor_interhand26m"": 28, ""wilor_mtc"": 38, ""wilor_reinter"": 10}"
|
| 7 |
+
5670,1196,156,4318,0.2109347442680776,0.027513227513227514,0.7615520282186948,0.23844797178130517,low,低覆盖,"[0.350644787550694, 0.09175245223714362, 0.5576027602121624]","[0.1508577203091623, 0.02206640375082836, 0.8270758759400094]",517,external_left_fine_B6,left,fine,B6,9.49763298034668,11.848321437835693,13.771859073638918,29.364564895629883,"{""wilor_rhd"": 3699, ""wilor_dex"": 1131, ""wilor_interhand26m"": 156, ""wilor_mtc"": 330, ""wilor_reinter"": 354}"
|
| 8 |
+
757,34,13,710,0.04491413474240423,0.017173051519154558,0.9379128137384413,0.062087186261558736,low,低覆盖,"[0.02837713024492711, 0.01634265056118991, 0.9552802191938828]","[0.02636954788533109, 0.01795159737179234, 0.9556788547428765]",153,external_left_fine_B7,left,fine,B7,9.49763298034668,13.97718620300293,20.250528717041014,30.29688835144043,"{""wilor_rhd"": 3, ""wilor_dex"": 28, ""wilor_interhand26m"": 350, ""wilor_mtc"": 29, ""wilor_reinter"": 347}"
|
| 9 |
+
3202,1043,200,1959,0.3257339163023111,0.06246096189881324,0.6118051217988757,0.3881948782011243,low,低覆盖,"[0.3112932970184011, 0.07306468623052814, 0.6156420167510707]","[0.15538628955372125, 0.07038482269025442, 0.7742288877560243]",969,external_left_fine_B8,left,fine,B8,9.49763298034668,10.336248874664307,14.753903007507324,35.33476257324219,"{""wilor_rhd"": 730, ""wilor_dex"": 823, ""wilor_interhand26m"": 658, ""wilor_mtc"": 210, ""wilor_reinter"": 781}"
|
| 10 |
+
1643,793,214,636,0.48265368228849664,0.13024954351795495,0.3870967741935484,0.6129032258064516,low,低覆盖,"[0.5248195579634503, 0.19697873792993303, 0.27820170410661693]","[0.5158039305589938, 0.12386155481913401, 0.3603345146218722]",608,external_left_fine_B9,left,fine,B9,9.49763298034668,8.942516326904297,14.363667774200438,29.51561737060547,"{""wilor_rhd"": 360, ""wilor_dex"": 301, ""wilor_interhand26m"": 373, ""wilor_mtc"": 59, ""wilor_h2o3d"": 142, ""wilor_reinter"": 408}"
|
| 11 |
+
2052,1363,137,552,0.6642300194931774,0.06676413255360623,0.26900584795321636,0.7309941520467836,low,低覆盖,"[0.45535600056903813, 0.1343326247191284, 0.41031137471183354]","[0.39782336858766865, 0.11263537819297602, 0.4895412532193555]",309,external_left_fine_B10,left,fine,B10,9.49763298034668,6.594670057296753,12.154699182510376,23.656810760498047,"{""wilor_rhd"": 113, ""wilor_dex"": 1204, ""wilor_interhand26m"": 303, ""wilor_mtc"": 11, ""wilor_h2o3d"": 152, ""wilor_reinter"": 269}"
|
| 12 |
+
1569,40,5,1524,0.025493945188017845,0.0031867431485022306,0.97131931166348,0.028680688336520044,low,低覆盖,"[0.03269455947162975, 0.0037103771199735475, 0.9635950634083968]","[0.005865088529638183, 0.0004864506163582376, 0.9936484608540035]",866,external_left_fine_B11,left,fine,B11,9.49763298034668,13.924688339233398,17.32938232421875,20.491647720336914,"{""wilor_rhd"": 1327, ""wilor_dex"": 56, ""wilor_interhand26m"": 55, ""wilor_mtc"": 25, ""wilor_reinter"": 106}"
|
| 13 |
+
778,219,54,505,0.2814910025706941,0.06940874035989718,0.6491002570694088,0.35089974293059123,low,低覆盖,"[0.17452989658821816, 0.07041409881948912, 0.7550560045922924]","[0.09780966767371602, 0.025755287009063446, 0.8764350453172206]",331,external_left_fine_B12,left,fine,B12,9.49763298034668,11.265559673309326,15.61582899093628,34.806514739990234,"{""wilor_rhd"": 417, ""wilor_dex"": 183, ""wilor_interhand26m"": 72, ""wilor_mtc"": 4, ""wilor_h2o3d"": 26, ""wilor_reinter"": 76}"
|
| 14 |
+
6394,3724,628,2042,0.5824210197059744,0.09821707851110416,0.3193619017829215,0.6806380982170785,low,低覆盖,"[0.6893652933365401, 0.0788791001580195, 0.2317556065054405]","[0.4241424221243644, 0.16952437552573804, 0.40633320234989745]",2885,external_left_fine_B13,left,fine,B13,9.49763298034668,8.754323959350586,11.654617118835448,36.636138916015625,"{""wilor_rhd"": 3215, ""wilor_dex"": 1514, ""wilor_interhand26m"": 312, ""wilor_mtc"": 1096, ""wilor_h2o3d"": 4, ""wilor_reinter"": 253}"
|
| 15 |
+
4345,1941,354,2050,0.44672036823935557,0.08147295742232451,0.4718066743383199,0.5281933256616801,low,低覆盖,"[0.44937231137766076, 0.09437967576084247, 0.4562480128614969]","[0.16086429948022454, 0.03938309444616991, 0.7997526060736058]",1406,external_left_fine_B14,left,fine,B14,9.49763298034668,9.1389799118042,14.48231830596924,30.715425491333008,"{""wilor_rhd"": 1655, ""wilor_dex"": 2155, ""wilor_interhand26m"": 215, ""wilor_mtc"": 164, ""wilor_h2o3d"": 11, ""wilor_reinter"": 145}"
|
| 16 |
+
1385,989,134,262,0.7140794223826715,0.09675090252707581,0.1891696750902527,0.8108303249097473,low,低覆盖,"[0.42107906879413015, 0.15459798882476652, 0.4243229423811034]","[0.5542837123581176, 0.0693488721767804, 0.37636741546510194]",183,external_left_fine_B15,left,fine,B15,9.49763298034668,7.1735429763793945,11.55076332092285,34.16762924194336,"{""wilor_rhd"": 2, ""wilor_dex"": 875, ""wilor_interhand26m"": 185, ""wilor_mtc"": 4, ""wilor_h2o3d"": 199, ""wilor_reinter"": 120}"
|
| 17 |
+
6043,4556,393,1094,0.7539301671355287,0.06503392354790667,0.18103590931656463,0.8189640906834353,low,低覆盖,"[0.8423320447292648, 0.03684152109509557, 0.12082643417563976]","[0.5351122871164468, 0.11874664657202716, 0.3461410663115261]",1923,external_left_fine_B16,left,fine,B16,9.49763298034668,7.051662445068359,10.398628616333006,17.75185203552246,"{""wilor_rhd"": 1972, ""wilor_dex"": 2645, ""wilor_interhand26m"": 365, ""wilor_mtc"": 811, ""wilor_h2o3d"": 84, ""wilor_reinter"": 166}"
|
| 18 |
+
2437,2021,93,323,0.829298317603611,0.038161674189577346,0.13254000820681167,0.8674599917931883,low,低覆盖,"[0.7180757687950806, 0.10348867556837865, 0.1784355556365406]","[0.70726132949254, 0.04155699783717742, 0.2511816726702825]",465,external_left_fine_B17,left,fine,B17,9.49763298034668,6.494642734527588,12.936913681030259,22.35643768310547,"{""wilor_rhd"": 158, ""wilor_dex"": 1712, ""wilor_interhand26m"": 234, ""wilor_mtc"": 41, ""wilor_h2o3d"": 173, ""wilor_reinter"": 119}"
|
| 19 |
+
4586,3012,604,970,0.6567815089402529,0.13170518970780637,0.21151330135194069,0.7884866986480593,low,低覆盖,"[0.7001709096405897, 0.10488844863598464, 0.19494064172342573]","[0.6073670920284657, 0.16404314264301606, 0.2285897653285182]",2529,external_left_fine_B18,left,fine,B18,9.49763298034668,8.484198570251465,11.652318716049194,22.997819900512695,"{""wilor_rhd"": 2214, ""wilor_dex"": 416, ""wilor_interhand26m"": 998, ""wilor_mtc"": 330, ""wilor_h2o3d"": 47, ""wilor_reinter"": 581}"
|
| 20 |
+
6320,5547,264,509,0.8776898734177215,0.04177215189873418,0.0805379746835443,0.9194620253164557,low,低覆盖,"[0.8585765985164301, 0.042818138822823947, 0.0986052626607461]","[0.5340491606866136, 0.0800227171996027, 0.3859281221137838]",673,external_left_fine_B19,left,fine,B19,9.49763298034668,6.734456300735474,10.251062440872191,23.881214141845703,"{""wilor_rhd"": 301, ""wilor_dex"": 5840, ""wilor_interhand26m"": 113, ""wilor_mtc"": 12, ""wilor_h2o3d"": 1, ""wilor_reinter"": 53}"
|
| 21 |
+
1247,0,0,1247,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",1091,external_left_fine_B20,left,fine,B20,9.49763298034668,16.972991943359375,24.505570793151858,28.6693058013916,"{""wilor_rhd"": 1033, ""wilor_interhand26m"": 115, ""wilor_mtc"": 21, ""wilor_reinter"": 78}"
|
| 22 |
+
2501,1583,176,742,0.6329468212714914,0.0703718512594962,0.2966813274690124,0.7033186725309877,low,低覆盖,"[0.7358824578246955, 0.08887268981720826, 0.17524485235809625]","[0.5541538862527574, 0.13689385005109836, 0.30895226369614426]",911,external_left_fine_B21,left,fine,B21,9.49763298034668,7.901134967803955,13.278962135314941,16.455108642578125,"{""wilor_rhd"": 1116, ""wilor_dex"": 973, ""wilor_interhand26m"": 101, ""wilor_mtc"": 86, ""wilor_h2o3d"": 150, ""wilor_reinter"": 75}"
|
| 23 |
+
2614,293,298,2023,0.11208875286916603,0.11400153022188217,0.7739097169089518,0.22609028309104817,low,低覆盖,"[0.14053292820241495, 0.12900821657964384, 0.7304588552179413]","[0.21086057149963067, 0.10478310697554942, 0.6843563215248198]",266,external_left_fine_B22,left,fine,B22,9.49763298034668,10.88214635848999,16.46778659820556,45.58646011352539,"{""wilor_rhd"": 41, ""wilor_interhand26m"": 662, ""wilor_mtc"": 207, ""wilor_reinter"": 1704}"
|
| 24 |
+
4895,4301,175,419,0.8786516853932584,0.03575076608784474,0.08559754851889684,0.9144024514811031,low,低覆盖,"[0.8624684384616301, 0.03991772879602693, 0.09761383274234282]","[0.672994238476453, 0.08528862357707155, 0.24171713794647548]",416,external_left_fine_B23,left,fine,B23,9.49763298034668,6.6624579429626465,11.093380165100104,20.63935661315918,"{""wilor_rhd"": 169, ""wilor_dex"": 4491, ""wilor_interhand26m"": 125, ""wilor_mtc"": 24, ""wilor_h2o3d"": 9, ""wilor_reinter"": 77}"
|
| 25 |
+
645,222,154,269,0.34418604651162793,0.23875968992248062,0.4170542635658915,0.5829457364341085,low,低覆盖,"[0.6085973936731306, 0.20432918189155733, 0.1870734244353121]","[0.38802760891754573, 0.18122600807130929, 0.43074638301114493]",184,external_left_fine_B24,left,fine,B24,9.49763298034668,9.179900169372559,13.160082626342772,24.0723876953125,"{""wilor_rhd"": 92, ""wilor_dex"": 94, ""wilor_interhand26m"": 142, ""wilor_mtc"": 126, ""wilor_h2o3d"": 65, ""wilor_reinter"": 126}"
|
| 26 |
+
4850,3213,435,1202,0.6624742268041237,0.08969072164948454,0.24783505154639177,0.7521649484536083,low,低覆盖,"[0.7531587219579603, 0.06253903637336465, 0.18430224166867484]","[0.6200723287593087, 0.09860202025069781, 0.2813256509899934]",2261,external_left_fine_B25,left,fine,B25,9.49763298034668,8.251009464263916,12.027929544448856,23.52761459350586,"{""wilor_rhd"": 1877, ""wilor_dex"": 124, ""wilor_interhand26m"": 1265, ""wilor_mtc"": 409, ""wilor_h2o3d"": 51, ""wilor_reinter"": 1124}"
|
| 27 |
+
3296,2128,224,944,0.6456310679611651,0.06796116504854369,0.28640776699029125,0.7135922330097088,low,低覆盖,"[0.6734961656390336, 0.059968449530467136, 0.26653538483049916]","[0.6249635984027109, 0.08494112419286255, 0.29009527740442653]",587,external_left_fine_B26,left,fine,B26,9.49763298034668,8.285791873931885,13.637461423873901,26.55930519104004,"{""wilor_rhd"": 152, ""wilor_dex"": 129, ""wilor_interhand26m"": 1094, ""wilor_mtc"": 112, ""wilor_h2o3d"": 51, ""wilor_reinter"": 1758}"
|
| 28 |
+
262,0,0,262,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",87,external_left_fine_B27,left,fine,B27,9.49763298034668,28.08455467224121,31.430563354492186,32.29803466796875,"{""wilor_rhd"": 4, ""wilor_interhand26m"": 249, ""wilor_mtc"": 4, ""wilor_reinter"": 5}"
|
| 29 |
+
2131,20,100,2011,0.009385265133740028,0.04692632566870014,0.9436884091975598,0.05631159080244019,low,低覆盖,"[0.008927299731298242, 0.04696573827712419, 0.9441069619915776]","[0.006612714820935348, 0.019394540940504513, 0.9739927442385601]",1434,external_left_fine_B28,left,fine,B28,9.49763298034668,13.311511993408203,18.50288963317871,34.42958068847656,"{""wilor_rhd"": 1624, ""wilor_dex"": 113, ""wilor_interhand26m"": 295, ""wilor_mtc"": 2, ""wilor_reinter"": 97}"
|
| 30 |
+
1067,0,7,1060,0.0,0.006560449859418931,0.993439550140581,0.006560449859418949,low,低覆盖,"[0.0, 0.0055712827086024964, 0.9944287172913976]","[0.0, 0.0012357217030114227, 0.9987642782969886]",450,external_left_fine_B29,left,fine,B29,9.49763298034668,15.255627632141113,19.79076690673828,28.854854583740234,"{""wilor_rhd"": 446, ""wilor_interhand26m"": 162, ""wilor_mtc"": 15, ""wilor_reinter"": 444}"
|
| 31 |
+
2835,856,320,1659,0.3019400352733686,0.1128747795414462,0.5851851851851851,0.41481481481481486,low,低覆盖,"[0.313374678312726, 0.11189030416587281, 0.5747350175214011]","[0.2917381910449484, 0.12071516780178554, 0.587546641153266]",1885,external_left_fine_B30,left,fine,B30,9.49763298034668,10.01617431640625,13.733166313171386,25.315275192260742,"{""wilor_rhd"": 1817, ""wilor_dex"": 266, ""wilor_interhand26m"": 231, ""wilor_mtc"": 123, ""wilor_reinter"": 398}"
|
| 32 |
+
2723,1336,378,1009,0.4906353286816012,0.13881748071979436,0.37054719059860447,0.6294528094013956,low,低覆盖,"[0.6401484604987809, 0.09972980902185757, 0.26012173047936127]","[0.38746993714056954, 0.14300869313562292, 0.46952136972380737]",748,external_left_fine_B31,left,fine,B31,9.49763298034668,8.89091968536377,13.222776794433594,29.43329429626465,"{""wilor_rhd"": 575, ""wilor_interhand26m"": 1002, ""wilor_mtc"": 306, ""wilor_h2o3d"": 124, ""wilor_reinter"": 716}"
|
| 33 |
+
1260,45,26,1189,0.03571428571428571,0.020634920634920634,0.9436507936507936,0.05634920634920637,low,低覆盖,"[0.033213577940571004, 0.020819311613976085, 0.945967110445453]","[0.0034803951153761035, 0.02143158911219748, 0.9750880157724264]",789,external_left_fine_B32,left,fine,B32,9.49763298034668,13.050553798675537,23.870503425598145,61.350528717041016,"{""wilor_rhd"": 980, ""wilor_dex"": 60, ""wilor_interhand26m"": 151, ""wilor_mtc"": 2, ""wilor_h2o3d"": 2, ""wilor_reinter"": 65}"
|
| 34 |
+
957,0,1,956,0.0,0.0010449320794148381,0.9989550679205852,0.0010449320794148065,low,低覆盖,"[0.0, 0.0006819989186126367, 0.9993180010813872]","[0.0, 0.0005030181086519114, 0.9994969818913482]",284,external_left_distinct_B1,left,distinct,B1,9.49763298034668,17.770145416259766,33.662847900390624,68.93052673339844,"{""wilor_rhd"": 187, ""wilor_interhand26m"": 491, ""wilor_mtc"": 118, ""wilor_reinter"": 161}"
|
| 35 |
+
305,0,0,305,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",156,external_left_distinct_B2,left,distinct,B2,9.49763298034668,21.449251174926758,29.474415206909182,35.25153732299805,"{""wilor_rhd"": 106, ""wilor_interhand26m"": 91, ""wilor_mtc"": 98, ""wilor_reinter"": 10}"
|
| 36 |
+
4358,0,2,4356,0.0,0.0004589261128958238,0.9995410738871042,0.00045892611289577445,low,低覆盖,"[0.0, 0.00032881964136443346, 0.9996711803586357]","[0.0, 0.00011140819964349375, 0.9998885918003565]",3400,external_left_distinct_B3,left,distinct,B3,9.49763298034668,14.459971904754639,17.235001564025875,54.535888671875,"{""wilor_rhd"": 3656, ""wilor_interhand26m"": 264, ""wilor_mtc"": 312, ""wilor_reinter"": 126}"
|
| 37 |
+
1904,50,66,1788,0.026260504201680673,0.03466386554621849,0.9390756302521008,0.060924369747899165,low,低覆盖,"[0.0312471646602513, 0.07401681908528633, 0.8947360162544625]","[0.00744860643789431, 0.00842278290809309, 0.9841286106540125]",995,external_left_distinct_B4,left,distinct,B4,9.49763298034668,14.209616661071777,22.362558841705315,34.26322937011719,"{""wilor_rhd"": 1153, ""wilor_dex"": 19, ""wilor_interhand26m"": 175, ""wilor_mtc"": 329, ""wilor_reinter"": 228}"
|
| 38 |
+
1001,0,0,1001,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",960,external_left_distinct_B5,left,distinct,B5,9.49763298034668,20.789093017578125,22.490758895874023,34.86929702758789,"{""wilor_rhd"": 925, ""wilor_interhand26m"": 28, ""wilor_mtc"": 38, ""wilor_reinter"": 10}"
|
| 39 |
+
5670,1196,156,4318,0.2109347442680776,0.027513227513227514,0.7615520282186948,0.23844797178130517,low,低覆盖,"[0.350644787550694, 0.09175245223714362, 0.5576027602121624]","[0.1508577203091623, 0.02206640375082836, 0.8270758759400094]",517,external_left_distinct_B6,left,distinct,B6,9.49763298034668,11.848321437835693,13.771859073638918,29.364564895629883,"{""wilor_rhd"": 3699, ""wilor_dex"": 1131, ""wilor_interhand26m"": 156, ""wilor_mtc"": 330, ""wilor_reinter"": 354}"
|
| 40 |
+
757,34,13,710,0.04491413474240423,0.017173051519154558,0.9379128137384413,0.062087186261558736,low,低覆盖,"[0.02837713024492711, 0.01634265056118991, 0.9552802191938828]","[0.02636954788533109, 0.01795159737179234, 0.9556788547428765]",153,external_left_distinct_B7,left,distinct,B7,9.49763298034668,13.97718620300293,20.250528717041014,30.29688835144043,"{""wilor_rhd"": 3, ""wilor_dex"": 28, ""wilor_interhand26m"": 350, ""wilor_mtc"": 29, ""wilor_reinter"": 347}"
|
| 41 |
+
3202,1043,200,1959,0.3257339163023111,0.06246096189881324,0.6118051217988757,0.3881948782011243,low,低覆盖,"[0.3112932970184011, 0.07306468623052814, 0.6156420167510707]","[0.15538628955372125, 0.07038482269025442, 0.7742288877560243]",969,external_left_distinct_B8,left,distinct,B8,9.49763298034668,10.336248874664307,14.753903007507324,35.33476257324219,"{""wilor_rhd"": 730, ""wilor_dex"": 823, ""wilor_interhand26m"": 658, ""wilor_mtc"": 210, ""wilor_reinter"": 781}"
|
| 42 |
+
2052,1363,137,552,0.6642300194931774,0.06676413255360623,0.26900584795321636,0.7309941520467836,low,低覆盖,"[0.45535600056903813, 0.1343326247191284, 0.41031137471183354]","[0.39782336858766865, 0.11263537819297602, 0.4895412532193555]",309,external_left_distinct_B9,left,distinct,B9,9.49763298034668,6.594670057296753,12.154699182510376,23.656810760498047,"{""wilor_rhd"": 113, ""wilor_dex"": 1204, ""wilor_interhand26m"": 303, ""wilor_mtc"": 11, ""wilor_h2o3d"": 152, ""wilor_reinter"": 269}"
|
| 43 |
+
1569,40,5,1524,0.025493945188017845,0.0031867431485022306,0.97131931166348,0.028680688336520044,low,低覆盖,"[0.03269455947162975, 0.0037103771199735475, 0.9635950634083968]","[0.005865088529638183, 0.0004864506163582376, 0.9936484608540035]",866,external_left_distinct_B10,left,distinct,B10,9.49763298034668,13.924688339233398,17.32938232421875,20.491647720336914,"{""wilor_rhd"": 1327, ""wilor_dex"": 56, ""wilor_interhand26m"": 55, ""wilor_mtc"": 25, ""wilor_reinter"": 106}"
|
| 44 |
+
778,219,54,505,0.2814910025706941,0.06940874035989718,0.6491002570694088,0.35089974293059123,low,低覆盖,"[0.17452989658821816, 0.07041409881948912, 0.7550560045922924]","[0.09780966767371602, 0.025755287009063446, 0.8764350453172206]",331,external_left_distinct_B11,left,distinct,B11,9.49763298034668,11.265559673309326,15.61582899093628,34.806514739990234,"{""wilor_rhd"": 417, ""wilor_dex"": 183, ""wilor_interhand26m"": 72, ""wilor_mtc"": 4, ""wilor_h2o3d"": 26, ""wilor_reinter"": 76}"
|
| 45 |
+
14080,9073,1235,3772,0.6443892045454546,0.08771306818181818,0.26789772727272726,0.7321022727272728,low,低覆盖,"[0.7222989777967671, 0.08318653506673751, 0.1945144871364954]","[0.4398150777024166, 0.15684095371711176, 0.4033439685804716]",4936,external_left_distinct_B12,left,distinct,B12,9.49763298034668,8.177695274353027,11.52519426345825,36.636138916015625,"{""wilor_rhd"": 5547, ""wilor_dex"": 4460, ""wilor_interhand26m"": 1050, ""wilor_mtc"": 1966, ""wilor_h2o3d"": 230, ""wilor_reinter"": 827}"
|
| 46 |
+
4345,1941,354,2050,0.44672036823935557,0.08147295742232451,0.4718066743383199,0.5281933256616801,low,低覆盖,"[0.44937231137766076, 0.09437967576084247, 0.4562480128614969]","[0.16086429948022454, 0.03938309444616991, 0.7997526060736058]",1406,external_left_distinct_B13,left,distinct,B13,9.49763298034668,9.1389799118042,14.48231830596924,30.715425491333008,"{""wilor_rhd"": 1655, ""wilor_dex"": 2155, ""wilor_interhand26m"": 215, ""wilor_mtc"": 164, ""wilor_h2o3d"": 11, ""wilor_reinter"": 145}"
|
| 47 |
+
1385,989,134,262,0.7140794223826715,0.09675090252707581,0.1891696750902527,0.8108303249097473,low,低覆盖,"[0.42107906879413015, 0.15459798882476652, 0.4243229423811034]","[0.5542837123581176, 0.0693488721767804, 0.37636741546510194]",183,external_left_distinct_B14,left,distinct,B14,9.49763298034668,7.1735429763793945,11.55076332092285,34.16762924194336,"{""wilor_rhd"": 2, ""wilor_dex"": 875, ""wilor_interhand26m"": 185, ""wilor_mtc"": 4, ""wilor_h2o3d"": 199, ""wilor_reinter"": 120}"
|
| 48 |
+
4586,3012,604,970,0.6567815089402529,0.13170518970780637,0.21151330135194069,0.7884866986480593,low,低覆盖,"[0.7001709096405897, 0.10488844863598464, 0.19494064172342573]","[0.6073670920284657, 0.16404314264301606, 0.2285897653285182]",2529,external_left_distinct_B15,left,distinct,B15,9.49763298034668,8.484198570251465,11.652318716049194,22.997819900512695,"{""wilor_rhd"": 2214, ""wilor_dex"": 416, ""wilor_interhand26m"": 998, ""wilor_mtc"": 330, ""wilor_h2o3d"": 47, ""wilor_reinter"": 581}"
|
| 49 |
+
1247,0,0,1247,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",1091,external_left_distinct_B16,left,distinct,B16,9.49763298034668,16.972991943359375,24.505570793151858,28.6693058013916,"{""wilor_rhd"": 1033, ""wilor_interhand26m"": 115, ""wilor_mtc"": 21, ""wilor_reinter"": 78}"
|
| 50 |
+
16153,13452,708,1993,0.8327864792917724,0.04383086733114592,0.12338265337708165,0.8766173466229183,low,低覆盖,"[0.7996445135822496, 0.06639554940574824, 0.13395993701200232]","[0.5064881900286149, 0.11489311997041547, 0.37861869000096976]",1844,external_left_distinct_B17,left,distinct,B17,9.49763298034668,6.782214164733887,12.420542907714843,23.881214141845703,"{""wilor_rhd"": 1744, ""wilor_dex"": 13016, ""wilor_interhand26m"": 573, ""wilor_mtc"": 163, ""wilor_h2o3d"": 333, ""wilor_reinter"": 324}"
|
| 51 |
+
2614,293,298,2023,0.11208875286916603,0.11400153022188217,0.7739097169089518,0.22609028309104817,low,低覆盖,"[0.14053292820241495, 0.12900821657964384, 0.7304588552179413]","[0.21086057149963067, 0.10478310697554942, 0.6843563215248198]",266,external_left_distinct_B18,left,distinct,B18,9.49763298034668,10.88214635848999,16.46778659820556,45.58646011352539,"{""wilor_rhd"": 41, ""wilor_interhand26m"": 662, ""wilor_mtc"": 207, ""wilor_reinter"": 1704}"
|
| 52 |
+
645,222,154,269,0.34418604651162793,0.23875968992248062,0.4170542635658915,0.5829457364341085,low,低覆盖,"[0.6085973936731306, 0.20432918189155733, 0.1870734244353121]","[0.38802760891754573, 0.18122600807130929, 0.43074638301114493]",184,external_left_distinct_B19,left,distinct,B19,9.49763298034668,9.179900169372559,13.160082626342772,24.0723876953125,"{""wilor_rhd"": 92, ""wilor_dex"": 94, ""wilor_interhand26m"": 142, ""wilor_mtc"": 126, ""wilor_h2o3d"": 65, ""wilor_reinter"": 126}"
|
| 53 |
+
13704,7533,1357,4814,0.5496935201401051,0.09902218330414478,0.35128429655575016,0.6487157034442499,low,低覆盖,"[0.6417604277806683, 0.07968476557908322, 0.2785548066402483]","[0.45864277439102935, 0.1151298693226762, 0.42622735628629455]",4886,external_left_distinct_B20,left,distinct,B20,9.49763298034668,8.692762851715088,13.147455072402952,29.43329429626465,"{""wilor_rhd"": 4421, ""wilor_dex"": 519, ""wilor_interhand26m"": 3592, ""wilor_mtc"": 950, ""wilor_h2o3d"": 226, ""wilor_reinter"": 3996}"
|
| 54 |
+
262,0,0,262,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",87,external_left_distinct_B21,left,distinct,B21,9.49763298034668,28.08455467224121,31.430563354492186,32.29803466796875,"{""wilor_rhd"": 4, ""wilor_interhand26m"": 249, ""wilor_mtc"": 4, ""wilor_reinter"": 5}"
|
| 55 |
+
2131,20,100,2011,0.009385265133740028,0.04692632566870014,0.9436884091975598,0.05631159080244019,low,低覆盖,"[0.008927299731298242, 0.04696573827712419, 0.9441069619915776]","[0.006612714820935348, 0.019394540940504513, 0.9739927442385601]",1434,external_left_distinct_B22,left,distinct,B22,9.49763298034668,13.311511993408203,18.50288963317871,34.42958068847656,"{""wilor_rhd"": 1624, ""wilor_dex"": 113, ""wilor_interhand26m"": 295, ""wilor_mtc"": 2, ""wilor_reinter"": 97}"
|
| 56 |
+
1067,0,7,1060,0.0,0.006560449859418931,0.993439550140581,0.006560449859418949,low,低覆盖,"[0.0, 0.0055712827086024964, 0.9944287172913976]","[0.0, 0.0012357217030114227, 0.9987642782969886]",450,external_left_distinct_B23,left,distinct,B23,9.49763298034668,15.255627632141113,19.79076690673828,28.854854583740234,"{""wilor_rhd"": 446, ""wilor_interhand26m"": 162, ""wilor_mtc"": 15, ""wilor_reinter"": 444}"
|
| 57 |
+
1260,45,26,1189,0.03571428571428571,0.020634920634920634,0.9436507936507936,0.05634920634920637,low,低覆盖,"[0.033213577940571004, 0.020819311613976085, 0.945967110445453]","[0.0034803951153761035, 0.02143158911219748, 0.9750880157724264]",789,external_left_distinct_B24,left,distinct,B24,9.49763298034668,13.050553798675537,23.870503425598145,61.350528717041016,"{""wilor_rhd"": 980, ""wilor_dex"": 60, ""wilor_interhand26m"": 151, ""wilor_mtc"": 2, ""wilor_h2o3d"": 2, ""wilor_reinter"": 65}"
|
| 58 |
+
1032,0,3,1029,0.0,0.0029069767441860465,0.997093023255814,0.0029069767441860517,low,低覆盖,"[0.0, 0.0027669567455739993, 0.9972330432544262]","[0.0, 0.0016195524146054182, 0.9983804475853945]",283,external_right_fine_B1,right,fine,B1,9.252071380615234,16.09415054321289,29.51508560180664,33.34939956665039,"{""wilor_freihand"": 32, ""wilor_rhd"": 195, ""wilor_interhand26m"": 494, ""wilor_mtc"": 135, ""wilor_reinter"": 176}"
|
| 59 |
+
492,0,1,491,0.0,0.0020325203252032522,0.9979674796747967,0.002032520325203291,low,低覆盖,"[0.0, 0.001260702316862762, 0.9987392976831372]","[0.0, 0.004329004329004329, 0.9956709956709957]",231,external_right_fine_B2,right,fine,B2,9.252071380615234,16.76012897491455,22.280033683776853,33.24413299560547,"{""wilor_freihand"": 184, ""wilor_rhd"": 162, ""wilor_dex"": 1, ""wilor_interhand26m"": 91, ""wilor_mtc"": 52, ""wilor_reinter"": 2}"
|
| 60 |
+
4658,24,56,4578,0.005152425933877201,0.012022327179046801,0.982825246887076,0.017174753112924046,low,低覆盖,"[0.002898725070245564, 0.008104511327779366, 0.9889967636019751]","[0.0008472182999152782, 0.002016910573815403, 0.9971358711262692]",3541,external_right_fine_B3,right,fine,B3,9.252071380615234,13.483551502227783,16.439379119873045,50.315032958984375,"{""wilor_freihand"": 160, ""wilor_rhd"": 3668, ""wilor_interhand26m"": 265, ""wilor_mtc"": 416, ""wilor_reinter"": 149}"
|
| 61 |
+
1078,0,0,1078,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",842,external_right_fine_B4,right,fine,B4,9.252071380615234,17.85080909729004,21.442168617248534,36.31260299682617,"{""wilor_freihand"": 184, ""wilor_rhd"": 780, ""wilor_interhand26m"": 26, ""wilor_mtc"": 72, ""wilor_reinter"": 16}"
|
| 62 |
+
4429,538,238,3653,0.12147211560171596,0.05373673515466245,0.8247911492436216,0.17520885075637838,low,低覆盖,"[0.14467737274999184, 0.09666480545829527, 0.7586578217917128]","[0.043388968650744146, 0.023947796090001687, 0.9326632352592542]",1123,external_right_fine_B5,right,fine,B5,9.252071380615234,11.781124114990234,15.474595260620116,30.491758346557617,"{""wilor_freihand"": 760, ""wilor_rhd"": 2289, ""wilor_dex"": 268, ""wilor_interhand26m"": 206, ""wilor_mtc"": 527, ""wilor_ho3d"": 65, ""wilor_reinter"": 314}"
|
| 63 |
+
3465,892,236,2337,0.25743145743145746,0.0681096681096681,0.6744588744588744,0.3255411255411256,low,低覆盖,"[0.356631861389781, 0.05523674681026089, 0.5881313917999582]","[0.07269984717169979, 0.030423564935954894, 0.8968765878923453]",1139,external_right_fine_B6,right,fine,B6,9.252071380615234,10.203381538391113,13.806207275390623,27.509233474731445,"{""wilor_freihand"": 704, ""wilor_rhd"": 991, ""wilor_dex"": 339, ""wilor_interhand26m"": 470, ""wilor_mtc"": 60, ""wilor_ho3d"": 433, ""wilor_h2o3d"": 13, ""wilor_reinter"": 455}"
|
| 64 |
+
4018,1541,282,2195,0.3835241413638626,0.07018417122946739,0.54629168740667,0.45370831259333,low,低覆盖,"[0.33346863064158727, 0.07481856903031535, 0.5917128003280974]","[0.32427397462883256, 0.04986250782909566, 0.6258635175420718]",578,external_right_fine_B7,right,fine,B7,9.252071380615234,9.591028690338135,15.868682956695551,23.114944458007812,"{""wilor_freihand"": 840, ""wilor_rhd"": 434, ""wilor_dex"": 902, ""wilor_interhand26m"": 356, ""wilor_mtc"": 378, ""wilor_ho3d"": 558, ""wilor_reinter"": 550}"
|
| 65 |
+
1452,15,77,1360,0.010330578512396695,0.05303030303030303,0.9366391184573003,0.0633608815426997,low,低覆盖,"[0.007139996081754413, 0.03956472083516249, 0.9532952830830829]","[0.011920009966884967, 0.0436041760179969, 0.944475814015118]",264,external_right_fine_B8,right,fine,B8,9.252071380615234,12.68548059463501,18.450111103057864,26.912817001342773,"{""wilor_freihand"": 656, ""wilor_rhd"": 62, ""wilor_dex"": 7, ""wilor_interhand26m"": 356, ""wilor_mtc"": 24, ""wilor_ho3d"": 51, ""wilor_reinter"": 296}"
|
| 66 |
+
4536,1584,278,2674,0.3492063492063492,0.06128747795414462,0.5895061728395061,0.4104938271604939,low,低覆盖,"[0.36951867552556344, 0.0620180338996728, 0.5684632905747636]","[0.14412194218229143, 0.043879620611320454, 0.8119984372063881]",904,external_right_fine_B9,right,fine,B9,9.252071380615234,9.874313831329346,14.39888072013855,23.693410873413086,"{""wilor_freihand"": 1608, ""wilor_rhd"": 1137, ""wilor_dex"": 1051, ""wilor_interhand26m"": 156, ""wilor_mtc"": 231, ""wilor_ho3d"": 170, ""wilor_reinter"": 183}"
|
| 67 |
+
4099,1461,338,2300,0.3564283971700415,0.08245913637472554,0.5611124664552329,0.43888753354476706,low,低覆盖,"[0.47574800123429584, 0.08776580520314235, 0.4364861935625618]","[0.27668370666050945, 0.10394497898250263, 0.619371314356988]",801,external_right_fine_B10,right,fine,B10,9.252071380615234,9.514245986938477,13.587471961975098,23.28925132751465,"{""wilor_freihand"": 1008, ""wilor_rhd"": 1255, ""wilor_dex"": 574, ""wilor_interhand26m"": 279, ""wilor_mtc"": 46, ""wilor_ho3d"": 555, ""wilor_h2o3d"": 44, ""wilor_reinter"": 338}"
|
| 68 |
+
9444,6545,587,2312,0.6930326132994494,0.06215586615840746,0.24481152054214317,0.7551884794578568,low,低覆盖,"[0.7589549791840582, 0.050542085843791364, 0.19050293497215054]","[0.5312411722077317, 0.08246534362502882, 0.3862934841672394]",2486,external_right_fine_B11,right,fine,B11,9.252071380615234,7.7916905879974365,11.240390872955322,22.897846221923828,"{""wilor_freihand"": 2280, ""wilor_rhd"": 2289, ""wilor_dex"": 3069, ""wilor_interhand26m"": 254, ""wilor_mtc"": 1134, ""wilor_ho3d"": 189, ""wilor_reinter"": 229}"
|
| 69 |
+
2410,1403,228,779,0.5821576763485478,0.0946058091286307,0.3232365145228216,0.6767634854771785,low,低覆盖,"[0.7387294963823989, 0.10433943648783431, 0.15693106712976707]","[0.3276128620479963, 0.09562546223209378, 0.57676167571991]",401,external_right_fine_B12,right,fine,B12,9.252071380615234,8.320358753204346,11.743942117691034,24.59847068786621,"{""wilor_freihand"": 201, ""wilor_rhd"": 238, ""wilor_dex"": 333, ""wilor_interhand26m"": 272, ""wilor_mtc"": 19, ""wilor_ho3d"": 1003, ""wilor_h2o3d"": 175, ""wilor_reinter"": 169}"
|
| 70 |
+
1650,1025,210,415,0.6212121212121212,0.12727272727272726,0.2515151515151515,0.7484848484848485,low,低覆盖,"[0.6306041201313147, 0.12380540167803858, 0.24559047819064675]","[0.4192536016977874, 0.11964623789372575, 0.4611001604084868]",96,external_right_fine_B13,right,fine,B13,9.252071380615234,7.984917163848877,11.82774338722229,19.809581756591797,"{""wilor_freihand"": 56, ""wilor_dex"": 224, ""wilor_interhand26m"": 144, ""wilor_mtc"": 3, ""wilor_ho3d"": 954, ""wilor_h2o3d"": 194, ""wilor_reinter"": 75}"
|
| 71 |
+
364,0,0,364,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",69,external_right_fine_B14,right,fine,B14,9.252071380615234,15.501802444458008,24.739180469512938,27.0179500579834,"{""wilor_freihand"": 8, ""wilor_rhd"": 64, ""wilor_interhand26m"": 1, ""wilor_ho3d"": 291}"
|
| 72 |
+
7276,6163,311,802,0.8470313358988455,0.04274326553051127,0.11022539857064322,0.8897746014293568,low,低覆盖,"[0.846450886922589, 0.03876546250607641, 0.11478365057133477]","[0.6427211303120679, 0.0758756694376324, 0.28140320025029986]",628,external_right_fine_B15,right,fine,B15,9.252071380615234,6.273130178451538,10.714917421340942,19.164508819580078,"{""wilor_freihand"": 1104, ""wilor_rhd"": 114, ""wilor_dex"": 5433, ""wilor_interhand26m"": 41, ""wilor_mtc"": 13, ""wilor_ho3d"": 484, ""wilor_h2o3d"": 52, ""wilor_reinter"": 35}"
|
| 73 |
+
2749,1766,258,725,0.6424154237904692,0.09385230993088396,0.26373226627864677,0.7362677337213532,low,低覆盖,"[0.634346337959954, 0.11615577124562143, 0.24949789079442458]","[0.5997578789480356, 0.09340658991462011, 0.3068355311373444]",373,external_right_fine_B16,right,fine,B16,9.252071380615234,8.029752731323242,12.461999893188475,22.539953231811523,"{""wilor_freihand"": 536, ""wilor_rhd"": 85, ""wilor_dex"": 920, ""wilor_interhand26m"": 142, ""wilor_mtc"": 25, ""wilor_ho3d"": 539, ""wilor_h2o3d"": 401, ""wilor_reinter"": 101}"
|
| 74 |
+
6909,4209,882,1818,0.6092053842813722,0.1276595744680851,0.26313504125054277,0.7368649587494572,low,低覆盖,"[0.7308856082327897, 0.07029753109520494, 0.19881686067200546]","[0.4636343364514462, 0.12968424241767862, 0.40668142113087524]",2432,external_right_fine_B17,right,fine,B17,9.252071380615234,8.294952392578125,11.266800689697265,38.2083625793457,"{""wilor_freihand"": 1119, ""wilor_rhd"": 2580, ""wilor_dex"": 711, ""wilor_interhand26m"": 651, ""wilor_mtc"": 1466, ""wilor_ho3d"": 65, ""wilor_h2o3d"": 14, ""wilor_reinter"": 303}"
|
| 75 |
+
4609,44,21,4544,0.00954653937947494,0.004556302885658494,0.9858971577348665,0.014102842265133475,low,低覆盖,"[0.013755699700190275, 0.00601553059768336, 0.9802287697021262]","[0.0031720565579757528, 0.0012994789359284332, 0.9955284645060959]",1707,external_right_fine_B18,right,fine,B18,9.252071380615234,14.84779167175293,17.65075225830078,50.51320266723633,"{""wilor_freihand"": 528, ""wilor_rhd"": 3178, ""wilor_dex"": 70, ""wilor_interhand26m"": 231, ""wilor_mtc"": 17, ""wilor_ho3d"": 6, ""wilor_reinter"": 579}"
|
| 76 |
+
1596,32,11,1553,0.020050125313283207,0.006892230576441102,0.9730576441102757,0.026942355889724268,low,低覆盖,"[0.012654654200441203, 0.0038842896553651363, 0.9834610561441934]","[0.001524390243902439, 0.0016629711751662971, 0.9968126385809313]",902,external_right_fine_B19,right,fine,B19,9.252071380615234,13.922243118286133,22.840292930603027,27.99265480041504,"{""wilor_freihand"": 400, ""wilor_rhd"": 823, ""wilor_dex"": 42, ""wilor_interhand26m"": 28, ""wilor_mtc"": 10, ""wilor_ho3d"": 267, ""wilor_reinter"": 26}"
|
| 77 |
+
2952,1411,470,1071,0.4779810298102981,0.15921409214092141,0.3628048780487805,0.6371951219512195,low,低覆盖,"[0.3529200982320983, 0.20319261333685845, 0.44388728843104336]","[0.4394581193407975, 0.10543505073329744, 0.45510682992590495]",94,external_right_fine_B20,right,fine,B20,9.252071380615234,8.725767135620117,12.478687286376953,21.58528709411621,"{""wilor_freihand"": 192, ""wilor_rhd"": 5, ""wilor_dex"": 359, ""wilor_interhand26m"": 15, ""wilor_mtc"": 2, ""wilor_ho3d"": 2362, ""wilor_h2o3d"": 13, ""wilor_reinter"": 4}"
|
| 78 |
+
6236,5443,231,562,0.8728351507376524,0.03704297626683772,0.09012187299550994,0.90987812700449,low,低覆盖,"[0.8401419527718204, 0.03242657911537356, 0.12743146811280628]","[0.7219516732385867, 0.05274736501520837, 0.22530096174620504]",505,external_right_fine_B21,right,fine,B21,9.252071380615234,6.885923385620117,10.343169689178467,23.797868728637695,"{""wilor_freihand"": 624, ""wilor_rhd"": 41, ""wilor_dex"": 4875, ""wilor_interhand26m"": 129, ""wilor_mtc"": 24, ""wilor_ho3d"": 376, ""wilor_h2o3d"": 36, ""wilor_reinter"": 131}"
|
| 79 |
+
5234,1499,330,3405,0.28639663737103555,0.06304929308368361,0.6505540695452808,0.34944593045471917,low,低覆盖,"[0.25784822822447423, 0.05048131056075014, 0.6916704612147757]","[0.1316564123077974, 0.03916119798521021, 0.8291823897069924]",1208,external_right_fine_B22,right,fine,B22,9.252071380615234,10.373049259185791,14.586898374557494,29.426952362060547,"{""wilor_freihand"": 2608, ""wilor_rhd"": 981, ""wilor_dex"": 1164, ""wilor_interhand26m"": 157, ""wilor_mtc"": 14, ""wilor_ho3d"": 146, ""wilor_h2o3d"": 31, ""wilor_reinter"": 133}"
|
| 80 |
+
6535,3676,908,1951,0.5625095638867635,0.1389441469013007,0.2985462892119357,0.7014537107880643,low,低覆盖,"[0.6224216883081707, 0.11365625187137333, 0.26392205982045597]","[0.4788086588440452, 0.16215883678759144, 0.3590325043683633]",3127,external_right_fine_B23,right,fine,B23,9.252071380615234,8.537426948547363,11.445512294769285,21.130720138549805,"{""wilor_freihand"": 1304, ""wilor_rhd"": 2620, ""wilor_dex"": 445, ""wilor_interhand26m"": 1067, ""wilor_mtc"": 423, ""wilor_ho3d"": 48, ""wilor_h2o3d"": 39, ""wilor_reinter"": 589}"
|
| 81 |
+
322,0,0,322,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",132,external_right_fine_B24,right,fine,B24,9.252071380615234,25.06973934173584,30.032165813446046,35.582008361816406,"{""wilor_freihand"": 24, ""wilor_rhd"": 45, ""wilor_interhand26m"": 250, ""wilor_mtc"": 3}"
|
| 82 |
+
5507,3989,348,1170,0.7243508262211731,0.06319230070818958,0.21245687307063738,0.7875431269293627,low,低覆盖,"[0.7088134348481366, 0.10732527661781506, 0.18386128853404807]","[0.5730637274333208, 0.09145453986111478, 0.33548173270556436]",986,external_right_fine_B25,right,fine,B25,9.252071380615234,7.526406764984131,12.564207935333252,21.74848747253418,"{""wilor_freihand"": 1008, ""wilor_rhd"": 771, ""wilor_dex"": 2675, ""wilor_interhand26m"": 250, ""wilor_mtc"": 135, ""wilor_ho3d"": 259, ""wilor_h2o3d"": 187, ""wilor_reinter"": 222}"
|
| 83 |
+
3099,202,87,2810,0.06518231687641174,0.028073572120038724,0.9067441110035496,0.09325588899645043,low,低覆盖,"[0.06526719533240705, 0.031114641762878013, 0.903618162904715]","[0.016195106529653003, 0.012913078377804022, 0.970891815092543]",1560,external_right_fine_B26,right,fine,B26,9.252071380615234,13.296533584594727,18.64644432067871,38.916622161865234,"{""wilor_freihand"": 768, ""wilor_rhd"": 1594, ""wilor_dex"": 316, ""wilor_interhand26m"": 273, ""wilor_mtc"": 9, ""wilor_ho3d"": 20, ""wilor_reinter"": 119}"
|
| 84 |
+
8015,5001,948,2066,0.623955084217093,0.11827822832189644,0.2577666874610106,0.7422333125389894,low,低覆盖,"[0.7020687696559937, 0.08992600454249673, 0.2080052258015093]","[0.5640584142981206, 0.16167949528680844, 0.2742620904150709]",2282,external_right_fine_B27,right,fine,B27,9.252071380615234,8.155202865600586,11.852626132965087,33.23221206665039,"{""wilor_freihand"": 3304, ""wilor_rhd"": 1349, ""wilor_dex"": 57, ""wilor_interhand26m"": 1469, ""wilor_mtc"": 365, ""wilor_ho3d"": 40, ""wilor_h2o3d"": 128, ""wilor_reinter"": 1303}"
|
| 85 |
+
5327,1432,680,3215,0.2688192228271072,0.1276515862586822,0.6035291909142106,0.39647080908578936,low,低覆盖,"[0.23972914190920744, 0.13770662532344302, 0.6225642327673496]","[0.2984422348756878, 0.13197150650574463, 0.5695862586185675]",679,external_right_fine_B28,right,fine,B28,9.252071380615234,9.786434173583984,14.943235588073728,38.65951156616211,"{""wilor_freihand"": 2048, ""wilor_rhd"": 125, ""wilor_dex"": 24, ""wilor_interhand26m"": 826, ""wilor_mtc"": 353, ""wilor_ho3d"": 5, ""wilor_reinter"": 1946}"
|
| 86 |
+
1595,0,1,1594,0.0,0.0006269592476489029,0.9993730407523511,0.0006269592476488839,low,低覆盖,"[0.0, 0.0006202459641446586, 0.9993797540358553]","[0.0, 0.000591016548463357, 0.9994089834515366]",564,external_right_fine_B29,right,fine,B29,9.252071380615234,16.721981048583984,24.15742301940918,28.399572372436523,"{""wilor_freihand"": 984, ""wilor_rhd"": 370, ""wilor_dex"": 3, ""wilor_interhand26m"": 163, ""wilor_mtc"": 17, ""wilor_reinter"": 58}"
|
| 87 |
+
5279,1968,818,2493,0.372797878386058,0.154953589695018,0.472248531918924,0.527751468081076,low,低覆盖,"[0.30251057108064777, 0.13503090113640664, 0.5624585277829456]","[0.2359834547029039, 0.20798605030287406, 0.556030494994222]",1942,external_right_fine_B30,right,fine,B30,9.252071380615234,9.116421699523926,13.266911029815667,23.76369285583496,"{""wilor_freihand"": 1480, ""wilor_rhd"": 1647, ""wilor_dex"": 894, ""wilor_interhand26m"": 171, ""wilor_mtc"": 491, ""wilor_ho3d"": 68, ""wilor_reinter"": 528}"
|
| 88 |
+
1746,9,33,1704,0.005154639175257732,0.018900343642611683,0.9759450171821306,0.02405498281786944,low,低覆盖,"[0.0069222252749280575, 0.009082921793140483, 0.9839948529319315]","[0.00733695652173913, 0.013519021739130437, 0.9791440217391304]",736,external_right_fine_B31,right,fine,B31,9.252071380615234,14.203126907348633,20.6509747505188,24.091218948364258,"{""wilor_freihand"": 480, ""wilor_rhd"": 943, ""wilor_dex"": 7, ""wilor_interhand26m"": 189, ""wilor_mtc"": 3, ""wilor_ho3d"": 46, ""wilor_reinter"": 78}"
|
| 89 |
+
10336,7011,948,2377,0.6783088235294118,0.09171826625386997,0.22997291021671826,0.7700270897832817,low,低覆盖,"[0.6842323034329114, 0.08869766672403687, 0.22707002984305155]","[0.6384177110694337, 0.10193063411950833, 0.25965165481105795]",1766,external_right_fine_B32,right,fine,B32,9.252071380615234,7.796813726425171,12.466526508331299,47.25800704956055,"{""wilor_freihand"": 5368, ""wilor_rhd"": 787, ""wilor_dex"": 2, ""wilor_interhand26m"": 1693, ""wilor_mtc"": 574, ""wilor_ho3d"": 10, ""wilor_h2o3d"": 29, ""wilor_reinter"": 1873}"
|
| 90 |
+
1032,0,3,1029,0.0,0.0029069767441860465,0.997093023255814,0.0029069767441860517,low,低覆盖,"[0.0, 0.0027669567455739993, 0.9972330432544262]","[0.0, 0.0016195524146054182, 0.9983804475853945]",283,external_right_distinct_B1,right,distinct,B1,9.252071380615234,16.09415054321289,29.51508560180664,33.34939956665039,"{""wilor_freihand"": 32, ""wilor_rhd"": 195, ""wilor_interhand26m"": 494, ""wilor_mtc"": 135, ""wilor_reinter"": 176}"
|
| 91 |
+
492,0,1,491,0.0,0.0020325203252032522,0.9979674796747967,0.002032520325203291,low,低覆盖,"[0.0, 0.001260702316862762, 0.9987392976831372]","[0.0, 0.004329004329004329, 0.9956709956709957]",231,external_right_distinct_B2,right,distinct,B2,9.252071380615234,16.76012897491455,22.280033683776853,33.24413299560547,"{""wilor_freihand"": 184, ""wilor_rhd"": 162, ""wilor_dex"": 1, ""wilor_interhand26m"": 91, ""wilor_mtc"": 52, ""wilor_reinter"": 2}"
|
| 92 |
+
4658,24,56,4578,0.005152425933877201,0.012022327179046801,0.982825246887076,0.017174753112924046,low,低覆盖,"[0.002898725070245564, 0.008104511327779366, 0.9889967636019751]","[0.0008472182999152782, 0.002016910573815403, 0.9971358711262692]",3541,external_right_distinct_B3,right,distinct,B3,9.252071380615234,13.483551502227783,16.439379119873045,50.315032958984375,"{""wilor_freihand"": 160, ""wilor_rhd"": 3668, ""wilor_interhand26m"": 265, ""wilor_mtc"": 416, ""wilor_reinter"": 149}"
|
| 93 |
+
1078,0,0,1078,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",842,external_right_distinct_B4,right,distinct,B4,9.252071380615234,17.85080909729004,21.442168617248534,36.31260299682617,"{""wilor_freihand"": 184, ""wilor_rhd"": 780, ""wilor_interhand26m"": 26, ""wilor_mtc"": 72, ""wilor_reinter"": 16}"
|
| 94 |
+
4429,538,238,3653,0.12147211560171596,0.05373673515466245,0.8247911492436216,0.17520885075637838,low,低覆盖,"[0.14467737274999184, 0.09666480545829527, 0.7586578217917128]","[0.043388968650744146, 0.023947796090001687, 0.9326632352592542]",1123,external_right_distinct_B5,right,distinct,B5,9.252071380615234,11.781124114990234,15.474595260620116,30.491758346557617,"{""wilor_freihand"": 760, ""wilor_rhd"": 2289, ""wilor_dex"": 268, ""wilor_interhand26m"": 206, ""wilor_mtc"": 527, ""wilor_ho3d"": 65, ""wilor_reinter"": 314}"
|
| 95 |
+
3465,892,236,2337,0.25743145743145746,0.0681096681096681,0.6744588744588744,0.3255411255411256,low,低覆盖,"[0.356631861389781, 0.05523674681026089, 0.5881313917999582]","[0.07269984717169979, 0.030423564935954894, 0.8968765878923453]",1139,external_right_distinct_B6,right,distinct,B6,9.252071380615234,10.203381538391113,13.806207275390623,27.509233474731445,"{""wilor_freihand"": 704, ""wilor_rhd"": 991, ""wilor_dex"": 339, ""wilor_interhand26m"": 470, ""wilor_mtc"": 60, ""wilor_ho3d"": 433, ""wilor_h2o3d"": 13, ""wilor_reinter"": 455}"
|
| 96 |
+
4018,1541,282,2195,0.3835241413638626,0.07018417122946739,0.54629168740667,0.45370831259333,low,低覆盖,"[0.33346863064158727, 0.07481856903031535, 0.5917128003280974]","[0.32427397462883256, 0.04986250782909566, 0.6258635175420718]",578,external_right_distinct_B7,right,distinct,B7,9.252071380615234,9.591028690338135,15.868682956695551,23.114944458007812,"{""wilor_freihand"": 840, ""wilor_rhd"": 434, ""wilor_dex"": 902, ""wilor_interhand26m"": 356, ""wilor_mtc"": 378, ""wilor_ho3d"": 558, ""wilor_reinter"": 550}"
|
| 97 |
+
1452,15,77,1360,0.010330578512396695,0.05303030303030303,0.9366391184573003,0.0633608815426997,low,低覆盖,"[0.007139996081754413, 0.03956472083516249, 0.9532952830830829]","[0.011920009966884967, 0.0436041760179969, 0.944475814015118]",264,external_right_distinct_B8,right,distinct,B8,9.252071380615234,12.68548059463501,18.450111103057864,26.912817001342773,"{""wilor_freihand"": 656, ""wilor_rhd"": 62, ""wilor_dex"": 7, ""wilor_interhand26m"": 356, ""wilor_mtc"": 24, ""wilor_ho3d"": 51, ""wilor_reinter"": 296}"
|
| 98 |
+
4536,1584,278,2674,0.3492063492063492,0.06128747795414462,0.5895061728395061,0.4104938271604939,low,低覆盖,"[0.36951867552556344, 0.0620180338996728, 0.5684632905747636]","[0.14412194218229143, 0.043879620611320454, 0.8119984372063881]",904,external_right_distinct_B9,right,distinct,B9,9.252071380615234,9.874313831329346,14.39888072013855,23.693410873413086,"{""wilor_freihand"": 1608, ""wilor_rhd"": 1137, ""wilor_dex"": 1051, ""wilor_interhand26m"": 156, ""wilor_mtc"": 231, ""wilor_ho3d"": 170, ""wilor_reinter"": 183}"
|
| 99 |
+
4099,1461,338,2300,0.3564283971700415,0.08245913637472554,0.5611124664552329,0.43888753354476706,low,低覆盖,"[0.47574800123429584, 0.08776580520314235, 0.4364861935625618]","[0.27668370666050945, 0.10394497898250263, 0.619371314356988]",801,external_right_distinct_B10,right,distinct,B10,9.252071380615234,9.514245986938477,13.587471961975098,23.28925132751465,"{""wilor_freihand"": 1008, ""wilor_rhd"": 1255, ""wilor_dex"": 574, ""wilor_interhand26m"": 279, ""wilor_mtc"": 46, ""wilor_ho3d"": 555, ""wilor_h2o3d"": 44, ""wilor_reinter"": 338}"
|
| 100 |
+
9444,6545,587,2312,0.6930326132994494,0.06215586615840746,0.24481152054214317,0.7551884794578568,low,低覆盖,"[0.7589549791840582, 0.050542085843791364, 0.19050293497215054]","[0.5312411722077317, 0.08246534362502882, 0.3862934841672394]",2486,external_right_distinct_B11,right,distinct,B11,9.252071380615234,7.7916905879974365,11.240390872955322,22.897846221923828,"{""wilor_freihand"": 2280, ""wilor_rhd"": 2289, ""wilor_dex"": 3069, ""wilor_interhand26m"": 254, ""wilor_mtc"": 1134, ""wilor_ho3d"": 189, ""wilor_reinter"": 229}"
|
| 101 |
+
18245,12800,1631,3814,0.7015620718004932,0.08939435461770348,0.20904357358180323,0.7909564264181967,low,低覆盖,"[0.7417361847810997, 0.08102403968009182, 0.17723977553880843]","[0.45208164097643533, 0.12266487176360807, 0.42525348725995665]",3197,external_right_distinct_B12,right,distinct,B12,9.252071380615234,7.803130149841309,11.23873176574707,38.2083625793457,"{""wilor_freihand"": 2480, ""wilor_rhd"": 2932, ""wilor_dex"": 6701, ""wilor_interhand26m"": 1108, ""wilor_mtc"": 1501, ""wilor_ho3d"": 2506, ""wilor_h2o3d"": 435, ""wilor_reinter"": 582}"
|
| 102 |
+
364,0,0,364,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",69,external_right_distinct_B13,right,distinct,B13,9.252071380615234,15.501802444458008,24.739180469512938,27.0179500579834,"{""wilor_freihand"": 8, ""wilor_rhd"": 64, ""wilor_interhand26m"": 1, ""wilor_ho3d"": 291}"
|
| 103 |
+
4609,44,21,4544,0.00954653937947494,0.004556302885658494,0.9858971577348665,0.014102842265133475,low,低覆盖,"[0.013755699700190275, 0.00601553059768336, 0.9802287697021262]","[0.0031720565579757528, 0.0012994789359284332, 0.9955284645060959]",1707,external_right_distinct_B14,right,distinct,B14,9.252071380615234,14.84779167175293,17.65075225830078,50.51320266723633,"{""wilor_freihand"": 528, ""wilor_rhd"": 3178, ""wilor_dex"": 70, ""wilor_interhand26m"": 231, ""wilor_mtc"": 17, ""wilor_ho3d"": 6, ""wilor_reinter"": 579}"
|
| 104 |
+
1596,32,11,1553,0.020050125313283207,0.006892230576441102,0.9730576441102757,0.026942355889724268,low,低覆盖,"[0.012654654200441203, 0.0038842896553651363, 0.9834610561441934]","[0.001524390243902439, 0.0016629711751662971, 0.9968126385809313]",902,external_right_distinct_B15,right,distinct,B15,9.252071380615234,13.922243118286133,22.840292930603027,27.99265480041504,"{""wilor_freihand"": 400, ""wilor_rhd"": 823, ""wilor_dex"": 42, ""wilor_interhand26m"": 28, ""wilor_mtc"": 10, ""wilor_ho3d"": 267, ""wilor_reinter"": 26}"
|
| 105 |
+
2952,1411,470,1071,0.4779810298102981,0.15921409214092141,0.3628048780487805,0.6371951219512195,low,低覆盖,"[0.3529200982320983, 0.20319261333685845, 0.44388728843104336]","[0.4394581193407975, 0.10543505073329744, 0.45510682992590495]",94,external_right_distinct_B16,right,distinct,B16,9.252071380615234,8.725767135620117,12.478687286376953,21.58528709411621,"{""wilor_freihand"": 192, ""wilor_rhd"": 5, ""wilor_dex"": 359, ""wilor_interhand26m"": 15, ""wilor_mtc"": 2, ""wilor_ho3d"": 2362, ""wilor_h2o3d"": 13, ""wilor_reinter"": 4}"
|
| 106 |
+
14492,11198,837,2457,0.7727021805133867,0.05775600331217223,0.16954181617444108,0.8304581838255589,low,低覆盖,"[0.7219812567531503, 0.08813701647167307, 0.1898817267751767]","[0.5576092566071178, 0.09561373165012256, 0.3467770117427596]",1431,external_right_distinct_B17,right,distinct,B17,9.252071380615234,7.298241376876831,11.966495275497435,23.797868728637695,"{""wilor_freihand"": 2168, ""wilor_rhd"": 897, ""wilor_dex"": 8470, ""wilor_interhand26m"": 521, ""wilor_mtc"": 184, ""wilor_ho3d"": 1174, ""wilor_h2o3d"": 624, ""wilor_reinter"": 454}"
|
| 107 |
+
5234,1499,330,3405,0.28639663737103555,0.06304929308368361,0.6505540695452808,0.34944593045471917,low,低覆盖,"[0.25784822822447423, 0.05048131056075014, 0.6916704612147757]","[0.1316564123077974, 0.03916119798521021, 0.8291823897069924]",1208,external_right_distinct_B18,right,distinct,B18,9.252071380615234,10.373049259185791,14.586898374557494,29.426952362060547,"{""wilor_freihand"": 2608, ""wilor_rhd"": 981, ""wilor_dex"": 1164, ""wilor_interhand26m"": 157, ""wilor_mtc"": 14, ""wilor_ho3d"": 146, ""wilor_h2o3d"": 31, ""wilor_reinter"": 133}"
|
| 108 |
+
6535,3676,908,1951,0.5625095638867635,0.1389441469013007,0.2985462892119357,0.7014537107880643,low,低覆盖,"[0.6224216883081707, 0.11365625187137333, 0.26392205982045597]","[0.4788086588440452, 0.16215883678759144, 0.3590325043683633]",3127,external_right_distinct_B19,right,distinct,B19,9.252071380615234,8.537426948547363,11.445512294769285,21.130720138549805,"{""wilor_freihand"": 1304, ""wilor_rhd"": 2620, ""wilor_dex"": 445, ""wilor_interhand26m"": 1067, ""wilor_mtc"": 423, ""wilor_ho3d"": 48, ""wilor_h2o3d"": 39, ""wilor_reinter"": 589}"
|
| 109 |
+
322,0,0,322,0.0,0.0,1.0,0.0,uncovered,抽样库未覆盖,"[0.0, 0.0, 1.0]","[0.0, 0.0, 1.0]",132,external_right_distinct_B20,right,distinct,B20,9.252071380615234,25.06973934173584,30.032165813446046,35.582008361816406,"{""wilor_freihand"": 24, ""wilor_rhd"": 45, ""wilor_interhand26m"": 250, ""wilor_mtc"": 3}"
|
| 110 |
+
3099,202,87,2810,0.06518231687641174,0.028073572120038724,0.9067441110035496,0.09325588899645043,low,低覆盖,"[0.06526719533240705, 0.031114641762878013, 0.903618162904715]","[0.016195106529653003, 0.012913078377804022, 0.970891815092543]",1560,external_right_distinct_B21,right,distinct,B21,9.252071380615234,13.296533584594727,18.64644432067871,38.916622161865234,"{""wilor_freihand"": 768, ""wilor_rhd"": 1594, ""wilor_dex"": 316, ""wilor_interhand26m"": 273, ""wilor_mtc"": 9, ""wilor_ho3d"": 20, ""wilor_reinter"": 119}"
|
| 111 |
+
5327,1432,680,3215,0.2688192228271072,0.1276515862586822,0.6035291909142106,0.39647080908578936,low,低覆盖,"[0.23972914190920744, 0.13770662532344302, 0.6225642327673496]","[0.2984422348756878, 0.13197150650574463, 0.5695862586185675]",679,external_right_distinct_B22,right,distinct,B22,9.252071380615234,9.786434173583984,14.943235588073728,38.65951156616211,"{""wilor_freihand"": 2048, ""wilor_rhd"": 125, ""wilor_dex"": 24, ""wilor_interhand26m"": 826, ""wilor_mtc"": 353, ""wilor_ho3d"": 5, ""wilor_reinter"": 1946}"
|
| 112 |
+
1595,0,1,1594,0.0,0.0006269592476489029,0.9993730407523511,0.0006269592476488839,low,低覆盖,"[0.0, 0.0006202459641446586, 0.9993797540358553]","[0.0, 0.000591016548463357, 0.9994089834515366]",564,external_right_distinct_B23,right,distinct,B23,9.252071380615234,16.721981048583984,24.15742301940918,28.399572372436523,"{""wilor_freihand"": 984, ""wilor_rhd"": 370, ""wilor_dex"": 3, ""wilor_interhand26m"": 163, ""wilor_mtc"": 17, ""wilor_reinter"": 58}"
|
| 113 |
+
5279,1968,818,2493,0.372797878386058,0.154953589695018,0.472248531918924,0.527751468081076,low,低覆盖,"[0.30251057108064777, 0.13503090113640664, 0.5624585277829456]","[0.2359834547029039, 0.20798605030287406, 0.556030494994222]",1942,external_right_distinct_B24,right,distinct,B24,9.252071380615234,9.116421699523926,13.266911029815667,23.76369285583496,"{""wilor_freihand"": 1480, ""wilor_rhd"": 1647, ""wilor_dex"": 894, ""wilor_interhand26m"": 171, ""wilor_mtc"": 491, ""wilor_ho3d"": 68, ""wilor_reinter"": 528}"
|
| 114 |
+
1746,9,33,1704,0.005154639175257732,0.018900343642611683,0.9759450171821306,0.02405498281786944,low,低覆盖,"[0.0069222252749280575, 0.009082921793140483, 0.9839948529319315]","[0.00733695652173913, 0.013519021739130437, 0.9791440217391304]",736,external_right_distinct_B25,right,distinct,B25,9.252071380615234,14.203126907348633,20.6509747505188,24.091218948364258,"{""wilor_freihand"": 480, ""wilor_rhd"": 943, ""wilor_dex"": 7, ""wilor_interhand26m"": 189, ""wilor_mtc"": 3, ""wilor_ho3d"": 46, ""wilor_reinter"": 78}"
|
| 115 |
+
18351,12012,1896,4443,0.6545692332842897,0.10331862023867909,0.24211214647703122,0.7578878535229687,low,低覆盖,"[0.6930872157641901, 0.0893074749427512, 0.21760530929305885]","[0.5947837696273544, 0.1376949115568354, 0.26752131881581037]",3734,external_right_distinct_B26,right,distinct,B26,9.252071380615234,7.955670356750488,12.168926239013672,47.25800704956055,"{""wilor_freihand"": 8672, ""wilor_rhd"": 2136, ""wilor_dex"": 59, ""wilor_interhand26m"": 3162, ""wilor_mtc"": 939, ""wilor_ho3d"": 50, ""wilor_h2o3d"": 157, ""wilor_reinter"": 3176}"
|
pose_recluster_distinct_20261014/downloads/coverage/code/aggregate_coverage.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from cluster_common import *
|
| 2 |
+
import gzip
|
| 3 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 4 |
+
LABELS={'covered':'已覆盖','low':'低覆盖','uncovered':'抽样库未覆盖'}
|
| 5 |
+
|
| 6 |
+
def stats(status,ix,weights=None,units=None):
|
| 7 |
+
n=len(ix);ss=status[ix];counts={k:int((ss==k).sum()) for k in range(3)}
|
| 8 |
+
result=dict(n=n,covered=counts[0],low=counts[1],uncovered=counts[2],covered_fraction=counts[0]/n,low_fraction=counts[1]/n,uncovered_fraction=counts[2]/n,any_match_fraction=1-counts[2]/n)
|
| 9 |
+
cls='covered' if result['covered_fraction']>=.90 else ('uncovered' if counts[2]==n else 'low')
|
| 10 |
+
result['status']=cls;result['status_label']=LABELS[cls]
|
| 11 |
+
if weights is not None:result['fit_weighted_fractions']=[float(np.average(ss==k,weights=weights[ix])) for k in range(3)]
|
| 12 |
+
if units is not None:
|
| 13 |
+
c=collections.Counter(units[i] for i in ix);w=np.array([1/c[units[i]] for i in ix]);result['equal_unit_fractions']=[float(np.average(ss==k,weights=w)) for k in range(3)];result['independent_units']=len(c)
|
| 14 |
+
return result
|
| 15 |
+
|
| 16 |
+
def main():
|
| 17 |
+
external=read(BASE/'manifests/external_members.json');ours=read(BASE/'manifests/ours_members.json');models=read(BASE/'metrics/models.json');n=len(external)
|
| 18 |
+
distance=np.zeros(n);nearest=np.zeros(n,np.int64);support=np.zeros(n,np.int64);sample_count=np.zeros(n,np.int64);third=np.zeros(n);tau=np.zeros(n);status=np.full(n,-1,np.int8);fit=np.zeros(n);units=[r['independent_unit'] for r in external]
|
| 19 |
+
finekeys=['']*n;distinctkeys=['']*n;result={};sensitivity=[];source_rows=[];summary={}
|
| 20 |
+
for side in ['left','right']:
|
| 21 |
+
a=np.load(ROOT/f'cache/external_{side}_coverage.npz');ix=a['indices'];nn=a['distance_deg'];t=a['thresholds_deg'][1];rec=a['record_counts'][:,1];ss=np.where(nn>t,2,np.where(rec>=3,0,1));status[ix]=ss
|
| 22 |
+
distance[ix]=nn;nearest[ix]=a['nearest_index'];support[ix]=rec;sample_count[ix]=a['sample_count'];third[ix]=a['nearest_record_distances_deg'][:,2];tau[ix]=t
|
| 23 |
+
fw=np.load(BASE/f'cache/external_{side}_fit.npz');assert np.array_equal(fw['indices'],ix);fit[ix]=fw['fit_weights']
|
| 24 |
+
summary[side]=stats(status,ix,fit,units);summary[side]['threshold_deg']=float(t)
|
| 25 |
+
labels=np.load(BASE/f'cache/external_{side}_assignments.npz');dist=np.load(BASE/f'cache/external_{side}_distinct_assignments.npz');assert np.array_equal(labels['indices'],ix) and np.array_equal(dist['indices'],ix)
|
| 26 |
+
for level in ['fine','distinct']:
|
| 27 |
+
lab=labels['fine'] if level=='fine' else dist['distinct']
|
| 28 |
+
for c in models['external_'+side][level]:
|
| 29 |
+
ci=ix[lab==c['label']];assert len(ci)==c['n']
|
| 30 |
+
stat=stats(status,ci,fit,units);stat.update(key=c['key'],hand=side,level=level,id=c['id'],threshold_deg=float(t),distance_p50_deg=float(np.median(distance[ci])),distance_p95_deg=float(np.quantile(distance[ci],.95)),max_distance_deg=float(distance[ci].max()),source_counts=dict(collections.Counter(external[i]['source'] for i in ci)))
|
| 31 |
+
result[c['key']]=stat
|
| 32 |
+
for i in ci:(finekeys if level=='fine' else distinctkeys)[i]=c['key']
|
| 33 |
+
for name,tt,rc in zip(a['threshold_names'],a['thresholds_deg'],a['record_counts'].T):
|
| 34 |
+
local=lab==c['label'];s=np.where(nn[local]>tt,2,np.where(rc[local]>=3,0,1));vals=stats(s,np.arange(len(s)))
|
| 35 |
+
sensitivity.append(dict(key=c['key'],hand=side,threshold=name,threshold_deg=float(tt),**vals))
|
| 36 |
+
for source in sorted(set(external[i]['source'] for i in ix)):
|
| 37 |
+
sx=np.array([i for i in ix if external[i]['source']==source]);source_rows.append(dict(source=source,hand=side,threshold_deg=float(t),**stats(status,sx,fit,units)))
|
| 38 |
+
for name,tt,rc in zip(a['threshold_names'],a['thresholds_deg'],a['record_counts'].T):
|
| 39 |
+
ss2=np.where(nn>tt,2,np.where(rc>=3,0,1));sensitivity.append(dict(key='external_'+side,hand=side,threshold=name,threshold_deg=float(tt),**stats(ss2,np.arange(len(ss2)))))
|
| 40 |
+
assert (status>=0).all() and all(finekeys) and all(distinctkeys)
|
| 41 |
+
summary['all']=stats(status,np.arange(n),fit,units)
|
| 42 |
+
write(ROOT/'metrics/class_coverage.json',result);write(ROOT/'metrics/summary.json',summary);write(ROOT/'metrics/source_coverage.json',source_rows)
|
| 43 |
+
table(ROOT/'metrics/class_coverage.csv',list(result.values()));table(ROOT/'metrics/threshold_sensitivity.csv',sensitivity);table(ROOT/'metrics/source_coverage.csv',source_rows)
|
| 44 |
+
np.savez_compressed(ROOT/'cache/external_coverage.npz',distance_deg=distance,nearest_index=nearest,support_recordings=support,support_samples=sample_count,third_record_distance_deg=third,threshold_deg=tau,status=status)
|
| 45 |
+
fields=['id','source','split','subject','recording','frame','hand','representation','class_distinct','class_fine','nearest_reference_id','nearest_reference_source','nearest_reference_recording','nearest_reference_frame','nearest_distance_deg','threshold_deg','similar_reference_samples','similar_reference_recordings','third_record_distance_deg','coverage_status','gt_status','label_type','image_overlay_link']
|
| 46 |
+
url='https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/index.html'
|
| 47 |
+
with gzip.open(ROOT/'metrics/member_coverage.csv.gz','wt',newline='') as f:
|
| 48 |
+
w=csv.DictWriter(f,fieldnames=fields);w.writeheader()
|
| 49 |
+
for i,r in enumerate(external):
|
| 50 |
+
nr=ours[int(nearest[i])];row={k:r.get(k,'') for k in fields};row.update(representation='palm-local unit 3D bone directions (GT source proxy)',class_distinct=distinctkeys[i],class_fine=finekeys[i],nearest_reference_id=nr['id'],nearest_reference_source=nr['source'],nearest_reference_recording=nr['recording'],nearest_reference_frame=nr['frame'],nearest_distance_deg=f'{distance[i]:.6f}',threshold_deg=f'{tau[i]:.6f}',similar_reference_samples=int(sample_count[i]),similar_reference_recordings=int(support[i]),third_record_distance_deg=f'{third[i]:.6f}',coverage_status=LABELS[['covered','low','uncovered'][status[i]]],gt_status=r.get('gt_status','证据不足'),image_overlay_link='');w.writerow(row)
|
| 51 |
+
print('SUMMARY',summary,flush=True)
|
| 52 |
+
print('MAIN_CLASS_STATUSES',collections.Counter(c['status'] for c in result.values() if c['level']=='distinct'),flush=True)
|
| 53 |
+
|
| 54 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/build_coverage_site.py
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from cluster_common import *
|
| 2 |
+
import shutil,gzip
|
| 3 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 4 |
+
URL='https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/'
|
| 5 |
+
|
| 6 |
+
def main():
|
| 7 |
+
assert read(ROOT/'audit/numerical_validation.json')['status']=='PASS'
|
| 8 |
+
d=json.loads((BASE/'site/data.js').read_text().removeprefix('window.AUDIT_DATA=').rstrip(';\n'))
|
| 9 |
+
classes=read(ROOT/'metrics/class_coverage.json');summary=read(ROOT/'metrics/summary.json');cal=read(ROOT/'metrics/calibration.json');visuals=read(ROOT/'metrics/uncovered_visuals.json');cov=np.load(ROOT/'cache/external_coverage.npz')
|
| 10 |
+
rows=read(BASE/'manifests/external_members.json');ours=read(BASE/'manifests/ours_members.json');idmap={r['id']:i for i,r in enumerate(rows)}
|
| 11 |
+
sens=list(csv.DictReader((ROOT/'metrics/threshold_sensitivity.csv').open()))
|
| 12 |
+
for r in sens:
|
| 13 |
+
for k in ['threshold_deg','covered_fraction','low_fraction','uncovered_fraction']:r[k]=float(r[k])
|
| 14 |
+
def coverage(i):
|
| 15 |
+
return dict(status=['covered','low','uncovered'][int(cov['status'][i])],distance_deg=float(cov['distance_deg'][i]),threshold_deg=float(cov['threshold_deg'][i]),support_recordings=int(cov['support_recordings'][i]),support_samples=int(cov['support_samples'][i]))
|
| 16 |
+
for key,model in d['models'].items():
|
| 17 |
+
if key.startswith('external'):
|
| 18 |
+
for level in ['fine','distinct']:
|
| 19 |
+
for c in model[level]:c['coverage']=classes[c['key']]
|
| 20 |
+
for sid,s in d['samples'].items():
|
| 21 |
+
if sid in idmap:s['coverage']=coverage(idmap[sid])
|
| 22 |
+
slim={};member_links={}
|
| 23 |
+
for key,vs in visuals.items():
|
| 24 |
+
slim[key]=[]
|
| 25 |
+
for v in vs:
|
| 26 |
+
i=v['index'];assert cov['status'][i]==2 and v['id']==rows[i]['id']
|
| 27 |
+
m=rows[i];r=v['media'];s=dict(id=m['id'],group='external',source=m['source'],recording=m['recording'],frame=m['frame'],hand=m['hand'],joints=v['joints'],assets=r['assets'],label=r['label'],camera=r['evidence'].get('camera','来源相机'),gt_status='证据不足:保留来源 GT 身份;图像贴合与独立三维准确性需另行核查',coverage=coverage(i))
|
| 28 |
+
d['samples'][s['id']]=s;d['gallery'].setdefault(s['source'],[])
|
| 29 |
+
if s['id'] not in d['gallery'][s['source']]:d['gallery'][s['source']].append(s['id'])
|
| 30 |
+
vv={k:x for k,x in v.items() if k!='media'};nr=dict(v['nearest']);assert nr['index']==cov['nearest_index'][i]
|
| 31 |
+
if 'media' in nr:
|
| 32 |
+
nr['media']={k:v['nearest']['media'][k] for k in ['assets','evidence','label','gt_status'] if k in v['nearest']['media']}
|
| 33 |
+
vv['nearest']=nr;slim[key].append(vv)
|
| 34 |
+
member_links[s['id']]=URL+s['assets']['full']
|
| 35 |
+
sources={}
|
| 36 |
+
for r in read(ROOT/'metrics/source_coverage.json'):
|
| 37 |
+
x=sources.setdefault(r['source'],dict(n=0,covered=0,low=0,uncovered=0))
|
| 38 |
+
for k in ['n','covered','low','uncovered']:x[k]+=r[k]
|
| 39 |
+
for x in sources.values():
|
| 40 |
+
for k in ['covered','low','uncovered']:x[k+'_fraction']=x[k]/x['n']
|
| 41 |
+
d['coverage']=dict(version='member-coverage-v2-20261014',classes=classes,summary=summary,calibration=cal,sources=sources,examples=slim,sensitivity=sens,reference='271543 frozen source-GT handframes from H2O+ARCTIC+HOT3D+EgoRenderer Ver.005; separate sides; final canonical GT/masks not independently verified')
|
| 42 |
+
(ROOT/'site/data.coverage_v2.js').write_text('window.AUDIT_DATA='+json.dumps(d,ensure_ascii=False,allow_nan=False,separators=(',',':'))+';\n')
|
| 43 |
+
for src,dst in [('index.html','index.html'),('app.js','app.coverage_v2.js'),('style.css','style.coverage_v2.css')]:shutil.copyfile(ROOT/'code/web'/src,ROOT/'site'/dst)
|
| 44 |
+
# Only samples with an actual overlay get a media link; no invented media for other members.
|
| 45 |
+
for sid,s in d['samples'].items():
|
| 46 |
+
if sid in idmap:member_links[sid]=URL+s['assets']['full']
|
| 47 |
+
dest=ROOT/'site/downloads/coverage';dest.mkdir(exist_ok=True)
|
| 48 |
+
with gzip.open(ROOT/'metrics/member_coverage.csv.gz','rt',newline='') as f,gzip.open(dest/'member_coverage.csv.gz','wt',newline='') as out:
|
| 49 |
+
rd=csv.DictReader(f);w=csv.DictWriter(out,fieldnames=rd.fieldnames);w.writeheader()
|
| 50 |
+
for r in rd:r['image_overlay_link']=member_links.get(r['id'],'');w.writerow(r)
|
| 51 |
+
write(ROOT/'metrics/displayed_member_links.json',member_links)
|
| 52 |
+
for name in ['class_coverage.csv','threshold_sensitivity.csv','source_coverage.csv','calibration.json','summary.json','displayed_member_links.json']:shutil.copyfile(ROOT/'metrics'/name,dest/name)
|
| 53 |
+
for name in ['coverage_protocol.json','calibration_members.json','reference_unit_codes.json']:shutil.copyfile(ROOT/'manifests'/name,dest/name)
|
| 54 |
+
for name in ['numerical_validation.json','input_sha256.json','frozen_protocol_sha256.json','exact_engine.json']:shutil.copyfile(ROOT/'audit'/name,dest/name)
|
| 55 |
+
cs=[c for c in classes.values() if c['level']=='distinct'];entire=[c for c in cs if c['status']=='uncovered'];ss=summary['all']
|
| 56 |
+
result=f'''# 逐成员覆盖更新(2026-10-14)
|
| 57 |
+
|
| 58 |
+
本轮对全部 214,481 个可读外部来源聚类手帧逐一检索,参照为 H2O / ARCTIC / HOT3D / EgoRenderer Ver.005 的 271,543 个冻结抽样手帧,左右手分开;没有重新聚类或改动 GT。
|
| 59 |
+
|
| 60 |
+
- 已覆盖:{ss['covered']:,}({ss['covered_fraction']:.2%}),阈值内至少 3 段独立录制/源动作。
|
| 61 |
+
- 低覆盖:{ss['low']:,}({ss['low_fraction']:.2%}),阈值内只有 1–2 段独立录制/源动作。
|
| 62 |
+
- 抽样库未覆盖:{ss['uncovered']:,}({ss['uncovered_fraction']:.2%}),本次参照库中无阈值内近邻。
|
| 63 |
+
|
| 64 |
+
外部 50 个主类中,7 类全部成员未覆盖,43 类为部分覆盖。不存在达到“90% 成员已覆盖”的主类;这不表示各类中的已覆盖成员也未覆盖。网页优先展示完整成员比例。
|
| 65 |
+
|
| 66 |
+
整类未覆盖:{', '.join(c['hand']+' '+c['id'] for c in entire)}。
|
| 67 |
+
|
| 68 |
+
距离是来源 GT 的 20 根掌部局部 3D 单位骨方向的平均夹角;不是 MANO 参数欧氏距离、不是 2D 图上距离。阈值先使用 8,192 个内部校准手帧、检索排除同录制的全部帧确定:左手 {cal['left']['thresholds_deg']['q95']:.4f}°,右手 {cal['right']['thresholds_deg']['q95']:.4f}°。四源均衡,源内录制均衡。q90/q99 与 10°/20°/30° 的敏感性均在 CSV 保留。至少 3 个独立录制是支持量的显示约定;类 90% 汇总阈值也不是普适标准。
|
| 69 |
+
|
| 70 |
+
主统计是本轮分析成员的自然计数,不代表官方全量的无偏发生比例。来源/录制均衡聚类权重下未覆盖比例为 {ss['fit_weighted_fractions'][2]:.2%};单位均衡权重还会受静态图像单位与视频录制单位数量差异影响,因此仅用于敏感性,不作为总体发生率。
|
| 71 |
+
|
| 72 |
+
114 个外部主类/细类均给出实际未覆盖成员:原图、按来源相机投影的 MANO 或 GT 骨架、精确最近邻及距离;没有把同类原型替换成“未覆盖样本”。显示样本优先接近类原型,且要求其精确最近邻也有可读 RGB 叠加,故图例不是概率抽样,不用于估计比例。图像读取失败只影响图例选择,不改统计成员、阈值或最近邻。
|
| 73 |
+
|
| 74 |
+
覆盖与 GT 可靠性独立。未覆盖可能包含真实姿态缺口、来源定义差异或标签问题;不能把上述数目称为可靠补充样本数量。来源一致性、图片叠加不等于独立三维验收。参照使用已核对训练成员的来源 GT;最终 canonical 标签与 loss mask 尚未验收。外部 8 源是 WiLoR 官方源数据代理,ARCTIC/HOT3D 重叠、2D 来源和跳过的 BEDLAM 不重复记入外部 3D 分母。
|
| 75 |
+
|
| 76 |
+
数值检查:32 个查询(含阈值边界)用 CPU float64 全库复算;114 个类原型与已有独立最近邻结果对照,分类一致。详细证据见 numerical_validation.json。
|
| 77 |
+
'''
|
| 78 |
+
(ROOT/'RESULTS_ZH.md').write_text(result);shutil.copyfile(ROOT/'RESULTS_ZH.md',dest/'RESULTS_ZH.md')
|
| 79 |
+
repro=f'''# 复现覆盖更新
|
| 80 |
+
|
| 81 |
+
实验目录:{ROOT}
|
| 82 |
+
只读聚类与 GT 缓存:{BASE}
|
| 83 |
+
|
| 84 |
+
```bash
|
| 85 |
+
cd {ROOT}
|
| 86 |
+
PY=/SSD2/jiasen/envs/foundation_hand/bin/python
|
| 87 |
+
# freeze_coverage.py 仅第一次在空实验目录执行;已有冻结清单不可重写。
|
| 88 |
+
CUDA_VISIBLE_DEVICES=1 OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 MKL_NUM_THREADS=2 "$PY" code/exact_coverage.py
|
| 89 |
+
OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 "$PY" code/aggregate_coverage.py
|
| 90 |
+
OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 "$PY" code/validate_coverage.py
|
| 91 |
+
CUDA_VISIBLE_DEVICES='' OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 "$PY" code/coverage_visuals.py
|
| 92 |
+
"$PY" code/update_web.py
|
| 93 |
+
"$PY" code/build_coverage_site.py
|
| 94 |
+
```
|
| 95 |
+
|
| 96 |
+
freeze_coverage.py 固定种子 2026101407、8192 个校准成员和阈值规则,然后才进行外部检索。逐成员距离为精确穷举;既有缓存可恢复。记录单位排除整段动作,不把邻帧支持计为独立录制。原始成员 SHA256、类分配、特征和网页旧版 SHA256 见 input_sha256.json。
|
| 97 |
+
|
| 98 |
+
本目录代码复用前序审计的标定投影和 source GT 读取代码;完整依赖地址保留在 visualize.py / cluster_common.py,旧版代码与原始聚类说明在网页 downloads/code 和 downloads/REPRODUCE.md。原始数据及授权可读环境需要保留;衍生网页不包含原始数据包、模型权重或凭据。
|
| 99 |
+
|
| 100 |
+
媒体检查不是 GT 独立验收。精确最近邻图像不可读时,另选同类未覆盖成员展示;其最近邻索引绝不替换。CSV 只有实际已渲染成员才填 image_overlay_link,其他留空。
|
| 101 |
+
'''
|
| 102 |
+
(ROOT/'REPRODUCE.md').write_text(repro);shutil.copyfile(ROOT/'REPRODUCE.md',dest/'REPRODUCE.md')
|
| 103 |
+
shutil.copytree(ROOT/'code',dest/'code',dirs_exist_ok=True,ignore=shutil.ignore_patterns('__pycache__'))
|
| 104 |
+
# Audit every newly referenced asset and same-cluster membership, including exact NN media.
|
| 105 |
+
used=set();checks=[]
|
| 106 |
+
for key,vs in visuals.items():
|
| 107 |
+
for v in vs:
|
| 108 |
+
assert 'media' in v['nearest'],(key,'nearest RGB missing')
|
| 109 |
+
for r in [v['media'],v['nearest']['media']]:
|
| 110 |
+
for rel in r['assets'].values():assert (ROOT/'site'/rel).is_file();used.add(rel)
|
| 111 |
+
checks.append(dict(class_key=key,id=v['id'],index=v['index'],uncovered=True,nearest_index=v['nearest']['index'],nearest_rgb=True))
|
| 112 |
+
write(ROOT/'audit/new_media_sha256.json',{rel:sha(ROOT/'site'/rel) for rel in sorted(used)})
|
| 113 |
+
write(ROOT/'audit/coverage_visual_checks.json',dict(status='PASS',class_count=len(visuals),examples=len(checks),unique_external_members=len({x['id'] for x in checks}),unique_reference_members=len({x['nearest_index'] for x in checks}),all_exact_nearest_rgb_present=True,checks=checks))
|
| 114 |
+
print('BUILT',len(classes),'class coverage rows',len(checks),'paired examples',len(used),'media files',flush=True)
|
| 115 |
+
|
| 116 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/check_coverage_browser.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
const fs=require('fs'),path=require('path');
|
| 2 |
+
const {chromium}=require('/tmp/v9-hardcase-browser-test-SICTLC/node_modules/playwright');
|
| 3 |
+
const root=path.resolve(__dirname,'..'),mode=process.argv[2]||'local',url=mode==='local'?'file://'+root+'/site/index.html':process.argv[3];
|
| 4 |
+
const assert=(x,m)=>{if(!x)throw Error(m)};
|
| 5 |
+
(async()=>{
|
| 6 |
+
const browser=await chromium.launch({headless:true,args:['--disable-dev-shm-usage']});const page=await browser.newPage({viewport:{width:1440,height:1100}}),errors=[],checks=[],http=[];
|
| 7 |
+
page.on('pageerror',e=>errors.push(e.message));page.on('response',r=>{if(r.status()>=400)http.push({path:new URL(r.url()).pathname,status:r.status()})});
|
| 8 |
+
async function go(u){for(let i=0;i<3;i++){try{const r=await page.goto(u,{waitUntil:'load',timeout:90000});if(r)assert(r.status()===200,'Page status');return}catch(e){if(i===2)throw e;await new Promise(r=>setTimeout(r,1000))}}}
|
| 9 |
+
async function images(selector){const rs=await page.locator(selector).evaluateAll(async imgs=>{const out=[];for(const im of imgs){im.loading='eager';let ok=false;for(let n=0;n<4;n++){try{await im.decode();ok=im.naturalWidth>0;break}catch(e){await new Promise(r=>setTimeout(r,700))}}out.push({src:im.getAttribute('src'),ok})}return out});assert(rs.every(x=>x.ok),'Image decode '+JSON.stringify(rs.filter(x=>!x.ok)));return rs.length;}
|
| 10 |
+
await go(url);await page.waitForFunction(()=>window.AUDIT_DATA?.coverage?.version==='member-coverage-v2-20261014');
|
| 11 |
+
for(const hand of ['right','left'])for(const level of ['distinct','fine']){
|
| 12 |
+
await page.selectOption('#hand',hand);await page.selectOption('#level',level);await page.selectOption('#coverageFilter','all');
|
| 13 |
+
const cs=await page.evaluate(({hand,level})=>AUDIT_DATA.models['external_'+hand][level].map(c=>({key:c.key,n:c.n,coverage:c.coverage})),{hand,level});
|
| 14 |
+
assert(await page.locator('#externalCards .card').count()===cs.length,'All class cards present');
|
| 15 |
+
for(const filter of ['entire','mostly_gap','mostly_covered']){
|
| 16 |
+
await page.selectOption('#coverageFilter',filter);const expected=cs.filter(c=>filter==='entire'?c.coverage.uncovered===c.n:filter==='mostly_gap'?c.coverage.uncovered_fraction>=.5:c.coverage.covered_fraction>=.7).length;
|
| 17 |
+
assert(await page.locator('#externalCards .card').count()===expected,'Coverage filter '+filter);
|
| 18 |
+
}
|
| 19 |
+
await page.selectOption('#coverageFilter','all');await page.selectOption('#coverageSort','covered');
|
| 20 |
+
const keys=await page.locator('#externalCards .card').evaluateAll(els=>els.map(e=>e.dataset.key));const vs=keys.map(k=>cs.find(c=>c.key===k).coverage.covered_fraction);assert(vs.every((v,i)=>i===0||v<=vs[i-1]),'Coverage descending sort');
|
| 21 |
+
await page.selectOption('#coverageSort','gap');
|
| 22 |
+
for(const c of cs){
|
| 23 |
+
await page.locator('#externalCards [data-open="'+c.key+'"]').click();await page.waitForFunction(()=>document.querySelector('#detail').open);
|
| 24 |
+
const text=await page.locator('#detailBody').innerText();assert(text.includes('本类实际未覆盖成员')&&text.includes('我们库中的精确最近邻'),'Coverage evidence missing '+c.key);
|
| 25 |
+
assert(text.includes((c.coverage.covered_fraction*100).toFixed(1)+'%'),'Class coverage percentage absent');
|
| 26 |
+
assert(await page.locator('#detail .gap-case').count()>0,'Missing actual gap cases');
|
| 27 |
+
const total=await images('#detail img');
|
| 28 |
+
const valid=await page.evaluate(key=>AUDIT_DATA.coverage.examples[key].every(v=>v.distance_deg>v.threshold_deg&&v.support_recordings===0&&v.nearest.media?.assets?.full),c.key);assert(valid,'Uncovered case or exact reference missing');
|
| 29 |
+
checks.push({key:c.key,images:total});await page.click('#closeDetail');
|
| 30 |
+
}
|
| 31 |
+
console.log('COVERAGE_CLASSES',hand,level,cs.length);
|
| 32 |
+
}
|
| 33 |
+
await page.selectOption('#hand','right');await page.selectOption('#level','distinct');await page.selectOption('#coverageFilter','entire');await page.click('[data-tab="compare"]');
|
| 34 |
+
const compare=await page.locator('#comparisonRows .row').count();assert(compare>0&&compare<26,'Comparison filter not working');await images('#comparisonRows img');
|
| 35 |
+
await page.selectOption('#coverageFilter','all');await page.click('[data-tab="overview"]');await page.evaluate(()=>scrollTo(0,0));await images('#externalCards .card img');await page.screenshot({path:root+'/audit/'+mode+'_coverage_desktop.png'});
|
| 36 |
+
await page.locator('#externalCards [data-open]').first().click();await images('#detail img');await page.screenshot({path:root+'/audit/'+mode+'_coverage_detail.png'});await page.click('#closeDetail');
|
| 37 |
+
await page.click('[data-tab="sources"]');const sources=await page.locator('[data-source]').evaluateAll(e=>e.map(x=>x.dataset.source));assert(sources.length===18,'Source rows lost');
|
| 38 |
+
for(const src of ['wilor_interhand26m','wilor_cocow','wilor_halpe','wilor_mpiinzsl']){
|
| 39 |
+
await page.click('[data-source="'+src+'"]');assert(await images('#detail img')>0,'Annotated source empty');const t=await page.locator('#detailBody').innerText();assert(t.includes(src==='wilor_interhand26m'?'GT':'2D'),'Source labels missing');await page.click('#closeDetail');
|
| 40 |
+
}
|
| 41 |
+
await page.click('[data-tab="overview"]');await page.setViewportSize({width:390,height:844});await page.evaluate(()=>scrollTo(0,0));assert(await page.evaluate(()=>document.documentElement.scrollWidth<=innerWidth+1),'Mobile horizontal overflow');await page.screenshot({path:root+'/audit/'+mode+'_coverage_mobile.png'});
|
| 42 |
+
await go(url+'#class=external_left_distinct_B2');await page.waitForFunction(()=>document.querySelector('#detail').open);await images('#detail img');assert((await page.locator('#detailBody').innerText()).includes('本类实际未覆盖成员'),'Direct deep link wrong');await page.click('#closeDetail');
|
| 43 |
+
assert(errors.length===0,'JS errors '+JSON.stringify(errors));
|
| 44 |
+
const result={status:'PASS',mode,url,coverage_classes:checks.length,details:checks,source_rows:sources.length,coverage_filters:true,coverage_sort:true,compare_filter:true,direct_class_hash:true,interhand_and_2d_galleries:true,mobile_no_overflow:true,page_errors:errors,http_events:http,images_decoded:true};fs.writeFileSync(root+'/audit/'+mode+'_coverage_browser.json',JSON.stringify(result,null,2));console.log('PASS',mode,checks.length);await browser.close();
|
| 45 |
+
})().catch(e=>{console.error(e.stack);process.exit(1)});
|
pose_recluster_distinct_20261014/downloads/coverage/code/cluster_common.py
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from pathlib import Path
|
| 2 |
+
import json,hashlib,collections,datetime,csv,math
|
| 3 |
+
import numpy as np
|
| 4 |
+
|
| 5 |
+
ROOT=Path(__file__).resolve().parents[1]
|
| 6 |
+
REF=Path('/SSD3/yangzijing/Hand_reference_EgoRenderer005_20261013')
|
| 7 |
+
NEW=Path('/SSD3/yangzijing/Hand_resample_HO3D_ReInter_H2O3D_20261013')
|
| 8 |
+
OLD=Path('/SSD3/yangzijing/Hand_pose_sampling_scale_20261013')
|
| 9 |
+
SEED=20261014
|
| 10 |
+
PARENTS=np.array([0,0,1,2,3,0,5,6,7,0,9,10,11,0,13,14,15,0,17,18,19])
|
| 11 |
+
def read(p):return json.loads(Path(p).read_text())
|
| 12 |
+
def write(p,value):
|
| 13 |
+
p=Path(p);p.parent.mkdir(parents=True,exist_ok=True)
|
| 14 |
+
p.write_text(json.dumps(value,ensure_ascii=False,allow_nan=False,indent=2)+'\n')
|
| 15 |
+
def sha(p):
|
| 16 |
+
h=hashlib.sha256()
|
| 17 |
+
with Path(p).open('rb') as f:
|
| 18 |
+
for b in iter(lambda:f.read(1024**2),b''):h.update(b)
|
| 19 |
+
return h.hexdigest()
|
| 20 |
+
def table(p,rows):
|
| 21 |
+
with Path(p).open('w',newline='') as f:
|
| 22 |
+
w=csv.DictWriter(f,fieldnames=list(dict.fromkeys(k for r in rows for k in r)));w.writeheader()
|
| 23 |
+
for r in rows:w.writerow({k:json.dumps(v,ensure_ascii=False) if isinstance(v,(list,dict)) else v for k,v in r.items()})
|
| 24 |
+
def normalized(b):return b/np.maximum(np.linalg.norm(b,axis=-1,keepdims=True),1e-12)
|
| 25 |
+
def angular(a,b):
|
| 26 |
+
dot=np.einsum('ajc,bjc->abj',a,b,optimize=True)
|
| 27 |
+
return np.degrees(np.arccos(np.clip(dot,-1,1))).mean(-1)
|
| 28 |
+
def pair_stats(a,b):
|
| 29 |
+
angle=np.degrees(np.arccos(np.clip((a*b).sum(-1),-1,1)))
|
| 30 |
+
fingers=angle.reshape(*angle.shape[:-1],5,4).mean(-1)
|
| 31 |
+
return angle.mean(-1),fingers,fingers.max(-1)
|
| 32 |
+
def standard(b):
|
| 33 |
+
lengths=np.asarray(read('/SSD3/yangzijing/Hand_two_group_pose_clusters_20261013/manifests/display_bone_lengths.json')['lengths'])
|
| 34 |
+
j=np.zeros((21,3))
|
| 35 |
+
for k in range(1,21):j[k]=j[PARENTS[k]]+b[k-1]*lengths[k-1]
|
| 36 |
+
return j.tolist()
|
| 37 |
+
def load(group):
|
| 38 |
+
return read(ROOT/'manifests'/f'{group}_members.json'),np.load(ROOT/'cache'/f'{group}_features.npz')['bones']
|
| 39 |
+
def hash_sort(s):return hashlib.sha256(str(s).encode()).hexdigest()
|
pose_recluster_distinct_20261014/downloads/coverage/code/coverage_visuals.py
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Select actual uncovered members, preserve class and calibrated source projection."""
|
| 2 |
+
from cluster_common import *
|
| 3 |
+
import shutil,sys
|
| 4 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 5 |
+
|
| 6 |
+
def setup():
|
| 7 |
+
(ROOT/'audit/media').mkdir(exist_ok=True);(ROOT/'sources/interhand_rgb').mkdir(parents=True,exist_ok=True)
|
| 8 |
+
for name in ['interhand_rgb','reinter_rgb']:
|
| 9 |
+
x=read(BASE/f'manifests/{name}.json')
|
| 10 |
+
if name=='interhand_rgb':
|
| 11 |
+
for sid,v in x.items():
|
| 12 |
+
if not Path(v['path']).exists():v['path']=str(ROOT/'sources/interhand_rgb'/f'{sid}.jpg')
|
| 13 |
+
write(ROOT/f'manifests/{name}.json',x)
|
| 14 |
+
for p in (BASE/'audit/media').glob('*.json'):
|
| 15 |
+
r=read(p)
|
| 16 |
+
if r.get('assets') and all((ROOT/'site'/a).exists() for a in r['assets'].values()):
|
| 17 |
+
target=ROOT/'audit/media'/p.name
|
| 18 |
+
if not target.exists():shutil.copyfile(p,target)
|
| 19 |
+
|
| 20 |
+
def main():
|
| 21 |
+
setup();import visualize as vis
|
| 22 |
+
rows=read(BASE/'manifests/external_members.json');ours=read(BASE/'manifests/ours_members.json');b=np.load(BASE/'cache/external_features.npz')['bones'];ob=np.load(BASE/'cache/ours_features.npz')['bones']
|
| 23 |
+
cov=np.load(ROOT/'cache/external_coverage.npz');models=read(BASE/'metrics/models.json');dest=ROOT/'metrics/uncovered_visuals.json';out=read(dest) if dest.exists() else {};failure_path=ROOT/'audit/coverage_media_failures.json';failures=read(failure_path) if failure_path.exists() else [];failed={x['id'] for x in failures if x['kind']=='external'}
|
| 24 |
+
for side in ['left','right']:
|
| 25 |
+
aa=np.load(BASE/f'cache/external_{side}_assignments.npz');ix=aa['indices'];distinct=np.load(BASE/f'cache/external_{side}_distinct_assignments.npz')['distinct']
|
| 26 |
+
for level in ['distinct','fine']:
|
| 27 |
+
lab=distinct if level=='distinct' else aa['fine']
|
| 28 |
+
for c in models['external_'+side][level]:
|
| 29 |
+
if c['key'] in out and all('media' in x['nearest'] for x in out[c['key']]):continue
|
| 30 |
+
candidates=ix[(lab==c['label'])&(cov['status'][ix]==2)]
|
| 31 |
+
assert len(candidates)>0,(c['key'],'no uncovered members')
|
| 32 |
+
ds=angular(b[[c['prototype_index']]],b[candidates])[0];order=np.argsort(ds,kind='stable');picked=[];seen=set()
|
| 33 |
+
for pos in order:
|
| 34 |
+
i=int(candidates[pos]);m=rows[i]
|
| 35 |
+
if m['id'] in failed or m['independent_unit'] in seen or not vis.paired(m):continue
|
| 36 |
+
try:r=vis.save(m)
|
| 37 |
+
except Exception as e:
|
| 38 |
+
failures.append(dict(kind='external',class_key=c['key'],id=m['id'],source=m['source'],error=type(e).__name__+': '+str(e)[:250]));failed.add(m['id']);continue
|
| 39 |
+
ni=int(cov['nearest_index'][i]);nm=ours[ni];nearest=dict(index=ni,id=nm['id'],source=nm['source'],recording=nm['recording'],frame=nm['frame'],hand=nm['hand'],joints=standard(ob[ni]))
|
| 40 |
+
try:nearest['media']=vis.save(nm)
|
| 41 |
+
except Exception as e:
|
| 42 |
+
nearest['media_missing_reason']=type(e).__name__+': '+str(e)[:200]
|
| 43 |
+
failures.append(dict(kind='reference',class_key=c['key'],id=nm['id'],source=nm['source'],error=nearest['media_missing_reason']))
|
| 44 |
+
continue
|
| 45 |
+
picked.append(dict(index=i,id=m['id'],source=m['source'],recording=m['recording'],frame=m['frame'],hand=m['hand'],label_type=m['label_type'],joints=standard(b[i]),prototype_distance_deg=float(ds[pos]),distance_deg=float(cov['distance_deg'][i]),threshold_deg=float(cov['threshold_deg'][i]),coverage_status='uncovered',support_recordings=int(cov['support_recordings'][i]),media=r,nearest=nearest))
|
| 46 |
+
seen.add(m['independent_unit'])
|
| 47 |
+
if len(picked)>=(2 if level=='distinct' else 1):break
|
| 48 |
+
assert picked,(c['key'],'No paired uncovered member')
|
| 49 |
+
out[c['key']]=picked;write(dest,out);write(ROOT/'audit/coverage_media_failures.json',failures)
|
| 50 |
+
print('UNCOVERED_RGB',c['key'],[(x['source'],round(x['distance_deg'],1),round(x['prototype_distance_deg'],1)) for x in picked],flush=True)
|
| 51 |
+
write(ROOT/'audit/coverage_media_failures.json',failures)
|
| 52 |
+
unique={x['id'] for p in out.values() for x in p};refunique={x['nearest']['id'] for p in out.values() for x in p}
|
| 53 |
+
print('DONE',len(out),'classes',len(unique),'uncovered RGB hands',len(refunique),'nearest hands','nearest RGB missing',sum('media' not in x['nearest'] for p in out.values() for x in p),flush=True)
|
| 54 |
+
|
| 55 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/exact_coverage.py
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Exhaustive same-hand GT bone-angle NN and independent-recording support."""
|
| 2 |
+
from cluster_common import *
|
| 3 |
+
import os,time,torch
|
| 4 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 5 |
+
torch.set_num_threads(2);torch.set_grad_enabled(False)
|
| 6 |
+
torch.backends.cuda.matmul.allow_tf32=False
|
| 7 |
+
torch.backends.cudnn.allow_tf32=False
|
| 8 |
+
QBLOCK=512;BBLOCK=8192
|
| 9 |
+
|
| 10 |
+
def quantile(x,w,q):
|
| 11 |
+
order=np.argsort(x,kind='stable');x=x[order];w=w[order]
|
| 12 |
+
return float(x[min(np.searchsorted(np.cumsum(w)/w.sum(),q),len(x)-1)])
|
| 13 |
+
|
| 14 |
+
def exact(q,bank,bank_indices,bank_units,query_units=None,thresholds=(),main_threshold=None):
|
| 15 |
+
device='cuda';b=torch.tensor(bank,device=device);ru=torch.tensor(bank_units,device=device,dtype=torch.int64)
|
| 16 |
+
nu=int(max(bank_units))+1;outs=collections.defaultdict(list);start=time.monotonic();last=start
|
| 17 |
+
for startq in range(0,len(q),QBLOCK):
|
| 18 |
+
qq=torch.tensor(q[startq:startq+QBLOCK],device=device);qn=len(qq)
|
| 19 |
+
min_d=torch.full((qn,),torch.inf,device=device);min_i=torch.zeros(qn,device=device,dtype=torch.int64)
|
| 20 |
+
unit_d=torch.full((qn,nu),torch.inf,device=device);sample_count=torch.zeros(qn,device=device,dtype=torch.int64)
|
| 21 |
+
qu=None if query_units is None else torch.tensor(query_units[startq:startq+QBLOCK],device=device)
|
| 22 |
+
for startb in range(0,len(b),BBLOCK):
|
| 23 |
+
bb=b[startb:startb+BBLOCK];uu=ru[startb:startb+BBLOCK]
|
| 24 |
+
dots=torch.bmm(qq.permute(1,0,2),bb.permute(1,2,0));dots.clamp_(-1,1).acos_()
|
| 25 |
+
dist=dots.mean(0)*(180/np.pi);del dots
|
| 26 |
+
if qu is not None:dist.masked_fill_(qu[:,None]==uu[None,:],torch.inf)
|
| 27 |
+
d,i=dist.min(dim=1);improve=d<min_d;min_i[improve]=i[improve]+startb;min_d=torch.minimum(min_d,d)
|
| 28 |
+
unit_d.scatter_reduce_(1,uu[None,:].expand(qn,-1),dist,reduce='amin',include_self=True)
|
| 29 |
+
if main_threshold is not None:sample_count+=(dist<=main_threshold).sum(1)
|
| 30 |
+
outs['distance_deg'].append(min_d.cpu().numpy());outs['nearest_index'].append(bank_indices[min_i.cpu().numpy()])
|
| 31 |
+
dd,ii=unit_d.topk(3,dim=1,largest=False,sorted=True)
|
| 32 |
+
outs['nearest_record_distances_deg'].append(dd.cpu().numpy());outs['nearest_record_codes'].append(ii.cpu().numpy())
|
| 33 |
+
outs['sample_count'].append(sample_count.cpu().numpy())
|
| 34 |
+
if thresholds:outs['record_counts'].append(torch.stack([(unit_d<=t).sum(1) for t in thresholds],dim=1).cpu().numpy())
|
| 35 |
+
if time.monotonic()-last>15 or startq+qn==len(q):
|
| 36 |
+
print('EXACT',startq+qn,'/',len(q),'seconds',round(time.monotonic()-start,1),flush=True);last=time.monotonic()
|
| 37 |
+
return {k:np.concatenate(v) for k,v in outs.items()}
|
| 38 |
+
|
| 39 |
+
def main():
|
| 40 |
+
protocol=read(ROOT/'manifests/coverage_protocol.json');hashes=read(ROOT/'audit/frozen_protocol_sha256.json')
|
| 41 |
+
assert all(sha(ROOT/k)==v for k,v in hashes.items())
|
| 42 |
+
ours=read(BASE/'manifests/ours_members.json');external=read(BASE/'manifests/external_members.json')
|
| 43 |
+
ob=np.load(BASE/'cache/ours_features.npz')['bones'];eb=np.load(BASE/'cache/external_features.npz')['bones']
|
| 44 |
+
assert len(ours)==len(ob)==271543 and len(external)==len(eb)==214481
|
| 45 |
+
frozen=read(ROOT/'manifests/calibration_members.json');calibration={};unit_books={}
|
| 46 |
+
for side in ['left','right']:
|
| 47 |
+
bix=np.array([i for i,r in enumerate(ours) if r['hand']==side]);bank=ob[bix]
|
| 48 |
+
units=sorted(set(ours[i]['independent_unit'] for i in bix));uc={u:k for k,u in enumerate(units)}
|
| 49 |
+
ru=np.array([uc[ours[i]['independent_unit']] for i in bix]);unit_books[side]=units
|
| 50 |
+
subset=[r for r in frozen if r['hand']==side];qix=np.array([r['index'] for r in subset]);w=np.array([r['weight'] for r in subset]);qu=np.array([uc[r['unit']] for r in subset])
|
| 51 |
+
p=ROOT/f'cache/calibration_{side}.npz'
|
| 52 |
+
if not p.exists():
|
| 53 |
+
result=exact(ob[qix],bank,bix,ru,qu);np.savez_compressed(p,indices=qix,weights=w,**result)
|
| 54 |
+
a=np.load(p);d=a['distance_deg'];third=a['nearest_record_distances_deg'][:,2]
|
| 55 |
+
assert np.isfinite(d).all() and all(ours[int(n)]['independent_unit']!=ours[int(q)]['independent_unit'] for q,n in zip(qix,a['nearest_index']))
|
| 56 |
+
thresholds={f'q{int(q*100)}':quantile(d,w,q) for q in protocol['calibration']['sensitivity_quantiles']}
|
| 57 |
+
sources={}
|
| 58 |
+
for s in sorted(set(r['source'] for r in subset)):
|
| 59 |
+
mask=np.array([r['source']==s for r in subset]);ss=w[mask]
|
| 60 |
+
sources[s]=dict(n=int(mask.sum()),recordings=len(set(r['unit'] for r in subset if r['source']==s)),q50=quantile(d[mask],ss,.5),q95=quantile(d[mask],ss,.95),within_main_threshold=float(np.average(d[mask]<=thresholds['q95'],weights=ss)),stable_covered_main=float(np.average(third[mask]<=thresholds['q95'],weights=ss)))
|
| 61 |
+
calibration[side]=dict(n=len(qix),reference_n=len(bix),reference_units=len(units),thresholds_deg=thresholds,weighted_within_q95=float(np.average(d<=thresholds['q95'],weights=w)),weighted_stable_covered_q95=float(np.average(third<=thresholds['q95'],weights=w)),source_diagnostics=sources)
|
| 62 |
+
write(ROOT/'metrics/calibration.json',calibration);write(ROOT/'manifests/reference_unit_codes.json',unit_books)
|
| 63 |
+
print('CALIBRATION',calibration,flush=True)
|
| 64 |
+
# Thresholds now fixed, before looking at external query results.
|
| 65 |
+
for side in ['left','right']:
|
| 66 |
+
p=ROOT/f'cache/external_{side}_coverage.npz'
|
| 67 |
+
if p.exists():continue
|
| 68 |
+
bix=np.array([i for i,r in enumerate(ours) if r['hand']==side]);qix=np.array([i for i,r in enumerate(external) if r['hand']==side]);uc={u:k for k,u in enumerate(unit_books[side])};ru=np.array([uc[ours[i]['independent_unit']] for i in bix])
|
| 69 |
+
names=['q90','q95','q99','10deg','20deg','30deg'];tt=[calibration[side]['thresholds_deg'][k] for k in names[:3]]+[10.,20.,30.]
|
| 70 |
+
result=exact(eb[qix],ob[bix],bix,ru,thresholds=tt,main_threshold=tt[1])
|
| 71 |
+
np.savez_compressed(p,indices=qix,threshold_names=names,thresholds_deg=tt,**result)
|
| 72 |
+
print('SAVED',side,len(qix),flush=True)
|
| 73 |
+
write(ROOT/'audit/exact_engine.json',dict(torch=torch.__version__,cuda_device=torch.cuda.get_device_name(),tf32=False,query_tile=QBLOCK,bank_tile=BBLOCK,peak_gpu_MB=torch.cuda.max_memory_allocated()/1e6,method='exhaustive all same-hand reference samples; no ANN approximation',created_at_utc=datetime.datetime.now(datetime.timezone.utc).isoformat()))
|
| 74 |
+
|
| 75 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/freeze_coverage.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from cluster_common import *
|
| 2 |
+
import shutil
|
| 3 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 4 |
+
assert not (ROOT/'manifests/coverage_protocol.json').exists(), 'Protocol already frozen'
|
| 5 |
+
rows=read(BASE/'manifests/ours_members.json')
|
| 6 |
+
seed=2026101407
|
| 7 |
+
rng=np.random.default_rng(seed)
|
| 8 |
+
selected=[]
|
| 9 |
+
for hand in ['left','right']:
|
| 10 |
+
for source in sorted(set(m['source'] for m in rows)):
|
| 11 |
+
groups=collections.defaultdict(list)
|
| 12 |
+
for i,m in enumerate(rows):
|
| 13 |
+
if m['hand']==hand and m['source']==source:groups[m['independent_unit']].append(i)
|
| 14 |
+
units=sorted(groups)
|
| 15 |
+
queues={u:list(rng.permutation(groups[u])) for u in units}
|
| 16 |
+
order=list(rng.permutation(units));chosen=[]
|
| 17 |
+
# Round robin recordings, random frames without replacement; short units exhaust.
|
| 18 |
+
while len(chosen)<min(1024,sum(map(len,groups.values()))):
|
| 19 |
+
for u in order:
|
| 20 |
+
if queues[u]:chosen.append(int(queues[u].pop()))
|
| 21 |
+
if len(chosen)>=1024:break
|
| 22 |
+
counts=collections.Counter(rows[i]['independent_unit'] for i in chosen)
|
| 23 |
+
for i in chosen:
|
| 24 |
+
m=rows[i];selected.append(dict(index=i,id=m['id'],source=source,hand=hand,unit=m['independent_unit'],subject=str(m.get('subject')),weight=1/(4*len(counts)*counts[m['independent_unit']])))
|
| 25 |
+
write(ROOT/'manifests/calibration_members.json',selected)
|
| 26 |
+
protocol=dict(frozen_at_utc=datetime.datetime.now(datetime.timezone.utc).isoformat(),seed=seed,base=str(BASE),reference='All 271543 frozen three-source + EgoRenderer Ver.005 analysis members; separate hands; original source GT proxies, final canonical supervision/masks not verified',external='All 214481 frozen train members of 8 readable external WiLoR official-source 3D proxies; excludes 7600 ReInterHand test members',feature='Existing fixed 20 unit 3D bone directions in palm coordinates, 60 dimensions; wrist translation/rotation and bone length removed; no refit, no mirror pooling',distance='Mean over 20 bones of acos(clamp(dot,-1,1)), degrees; exact exhaustive float32 GPU, TF32 disabled; validate CPU float64',calibration=dict(n=len(selected),per_source_per_hand_max=1024,sampling='Seeded recording round robin, random frames without replacement; equal source and equal recording weights within each hand',exclusion='Exclude all members of the query independent recording/source action from reference, not only query frame',threshold='Separate left/right weighted 95th percentile of leave-recording/action-out nearest-reference distance; computed before external evaluation',sensitivity_quantiles=[.90,.95,.99],additional_fixed_degrees=[10,20,30]),sample_status={'covered':'nearest distance <= threshold and at least 3 distinct reference recording/source-action units within threshold','low':'nearest <= threshold but only 1 or 2 distinct reference units','uncovered':'nearest > threshold'},class_status={'covered':'at least 90% of members have covered sample status','uncovered':'zero members have nearest distance <= threshold','low':'all other classes; stacked counts retain mixed within-class outcomes'},class_badge_warning='90% display convention, not a universal biological boundary. Per-member proportions are authoritative. Uncovered means in this sampled reference only.',weights='Primary coverage is unweighted per analyzed hand-frame. Also report normalized original cluster fit-weight and equal-independent-unit sensitivity; do not claim unknown official population inclusion probabilities.',selection='For classes with uncovered members select a paired-RGB actual uncovered member close to the class prototype, preferring independent examples. Never relabel a covered prototype as uncovered.',gt_quality='Coverage is independent of GT validity. No automatic reliable/OOD/recommendation claim from distance alone.',no_changes='No reclustering, smoothing, GT refitting or source label modifications')
|
| 27 |
+
write(ROOT/'manifests/coverage_protocol.json',protocol)
|
| 28 |
+
paths=['manifests/ours_members.json','manifests/external_members.json','cache/ours_features.npz','cache/external_features.npz','metrics/models.json','site/index.html','site/app.js','site/data.js','site/style.css']
|
| 29 |
+
for group in ['ours','external']:
|
| 30 |
+
for side in ['left','right']:
|
| 31 |
+
paths += [f'cache/{group}_{side}_{name}.npz' for name in ['assignments','distinct_assignments','fit']]
|
| 32 |
+
write(ROOT/'audit/input_sha256.json',{str(BASE/p):sha(BASE/p) for p in paths})
|
| 33 |
+
write(ROOT/'audit/frozen_protocol_sha256.json',{str(p.relative_to(ROOT)):sha(p) for p in [ROOT/'manifests/coverage_protocol.json',ROOT/'manifests/calibration_members.json']})
|
| 34 |
+
print('FROZEN',len(selected),collections.Counter((r['source'],r['hand']) for r in selected),flush=True)
|
pose_recluster_distinct_20261014/downloads/coverage/code/prepare_publication.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from cluster_common import *
|
| 2 |
+
import shutil
|
| 3 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 4 |
+
PREFIX='pose_recluster_distinct_20261014'
|
| 5 |
+
def main():
|
| 6 |
+
d=json.loads((ROOT/'site/data.coverage_v2.js').read_text().removeprefix('window.AUDIT_DATA=').rstrip(';\n'))
|
| 7 |
+
refs=set()
|
| 8 |
+
for s in d['samples'].values():refs.update(s['assets'].values())
|
| 9 |
+
for vs in d['two_d'].values():
|
| 10 |
+
for s in vs:refs.update(s['assets'].values())
|
| 11 |
+
for vs in d['coverage']['examples'].values():
|
| 12 |
+
for s in vs:refs.update(s['nearest']['media']['assets'].values())
|
| 13 |
+
dest=ROOT/'site/downloads/coverage'
|
| 14 |
+
for name in ['coverage_visual_checks.json','display_selection_amendment.json','new_media_sha256.json','local_coverage_browser.json']:
|
| 15 |
+
shutil.copyfile(ROOT/'audit'/name,dest/name)
|
| 16 |
+
shutil.copytree(ROOT/'code',dest/'code',dirs_exist_ok=True,ignore=shutil.ignore_patterns('__pycache__'))
|
| 17 |
+
allowed={'.html','.js','.css','.jpg','.png','.json','.csv','.gz','.md','.py'}
|
| 18 |
+
plan=[];skip=[]
|
| 19 |
+
for p in sorted((ROOT/'site').rglob('*')):
|
| 20 |
+
if not p.is_file():continue
|
| 21 |
+
rel=str(p.relative_to(ROOT/'site'));old=BASE/'site'/rel
|
| 22 |
+
if rel.startswith('media/') and rel not in refs and not old.exists():skip.append(rel);continue
|
| 23 |
+
h=sha(p)
|
| 24 |
+
if old.is_file() and sha(old)==h:continue
|
| 25 |
+
assert p.suffix in allowed,(p,'unexpected extension')
|
| 26 |
+
assert not old.exists() or rel=='index.html',(rel,'unplanned overwrite')
|
| 27 |
+
plan.append(dict(path=PREFIX+'/'+rel,relative=rel,sha256=h,bytes=p.stat().st_size))
|
| 28 |
+
assert (ROOT/'site/index_before_coverage.html').read_bytes()==(BASE/'site/index.html').read_bytes()
|
| 29 |
+
receipt=dict(prefix=PREFIX,prior_index_sha256=sha(BASE/'site/index.html'),updated_index_sha256=sha(ROOT/'site/index.html'),archived_index=PREFIX+'/index_before_coverage.html',files=plan,n_files=len(plan),bytes=sum(p['bytes'] for p in plan),excluded_unreferenced_new_media=len(skip),authorized_update='Only the existing comparison index is changed; previous index archived and original app/data/style kept. New assets and audit downloads have independent coverage version paths.')
|
| 30 |
+
write(ROOT/'audit/publication_plan.json',receipt)
|
| 31 |
+
print('PUBLICATION_PLAN',receipt['n_files'],'files',round(receipt['bytes']/1024**2,2),'MiB','excluded',len(skip),'unreferenced derived images')
|
| 32 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/publish_coverage.py
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Publish reviewed derived coverage page; preserve old JS/data/CSS and old entry page."""
|
| 2 |
+
from cluster_common import *
|
| 3 |
+
import os,time,requests
|
| 4 |
+
os.environ['HF_HUB_DISABLE_PROGRESS_BARS']='1'
|
| 5 |
+
from huggingface_hub import HfApi,CommitOperationAdd,hf_hub_download
|
| 6 |
+
from huggingface_hub.errors import HfHubHTTPError
|
| 7 |
+
REPOS={'dataset':'yangzijing/nine-source-hand-data-review-results','space':'yangzijing/nine-source-hand-data-browser'}
|
| 8 |
+
|
| 9 |
+
def head(kind,repo):
|
| 10 |
+
url='https://huggingface.co/api/'+('datasets' if kind=='dataset' else 'spaces')+'/'+repo+'/commits/main'
|
| 11 |
+
rr=requests.get(url,params={'audit_refresh':str(time.time_ns())},headers={'Cache-Control':'no-cache'},timeout=(10,40));rr.raise_for_status();return rr.json()
|
| 12 |
+
|
| 13 |
+
def main():
|
| 14 |
+
assert read(ROOT/'audit/numerical_validation.json')['status']=='PASS'
|
| 15 |
+
assert read(ROOT/'audit/coverage_visual_checks.json')['status']=='PASS'
|
| 16 |
+
assert read(ROOT/'audit/local_coverage_browser.json')['status']=='PASS'
|
| 17 |
+
plan=read(ROOT/'audit/publication_plan.json');rp=ROOT/'audit/publication.json';receipt=read(rp) if rp.exists() else dict(url='https://yangzijing-nine-source-hand-data-browser.static.hf.space/'+plan['prefix']+'/index.html',plan_sha256=sha(ROOT/'audit/publication_plan.json'))
|
| 18 |
+
assert receipt['plan_sha256']==sha(ROOT/'audit/publication_plan.json')
|
| 19 |
+
api=HfApi();title='Show per-member coverage of external pose classes against three-source plus EgoRenderer reference'
|
| 20 |
+
for kind,repo in REPOS.items():
|
| 21 |
+
if kind in receipt:continue
|
| 22 |
+
history=head(kind,repo);before=history[0]['id']
|
| 23 |
+
old=hf_hub_download(repo,plan['prefix']+'/index.html',repo_type=kind,revision=before)
|
| 24 |
+
assert sha(old)==plan['prior_index_sha256'],'Existing entry changed since base; inspect before publishing'
|
| 25 |
+
existing=set(api.list_repo_files(repo,repo_type=kind,revision=before))
|
| 26 |
+
preserved=[p for p in ['README.md','index.html',plan['prefix']+'/app.js',plan['prefix']+'/data.js',plan['prefix']+'/style.css'] if p in existing]
|
| 27 |
+
hashes={p:sha(hf_hub_download(repo,p,repo_type=kind,revision=before)) for p in preserved}
|
| 28 |
+
ops=[]
|
| 29 |
+
for x in plan['files']:
|
| 30 |
+
local=ROOT/'site'/x['relative'];assert sha(local)==x['sha256'];ops.append(CommitOperationAdd(path_in_repo=x['path'],path_or_fileobj=str(local)))
|
| 31 |
+
recovered=False
|
| 32 |
+
try:commit=api.create_commit(repo,repo_type=kind,parent_commit=before,operations=ops,commit_message=title,num_threads=2).oid
|
| 33 |
+
except HfHubHTTPError as e:
|
| 34 |
+
if e.response is None or e.response.status_code!=504:raise
|
| 35 |
+
for attempt in range(6):
|
| 36 |
+
h=head(kind,repo)
|
| 37 |
+
if h[0]['title']==title and h[1]['id']==before:commit=h[0]['id'];recovered=True;break
|
| 38 |
+
time.sleep(5)
|
| 39 |
+
else:raise RuntimeError('504 commit outcome unresolved; do not repost without inspection') from None
|
| 40 |
+
for path,h in hashes.items():assert sha(hf_hub_download(repo,path,repo_type=kind,revision=commit))==h
|
| 41 |
+
assert sha(hf_hub_download(repo,plan['archived_index'],repo_type=kind,revision=commit))==plan['prior_index_sha256']
|
| 42 |
+
receipt[kind]=dict(repo=repo,before=before,commit=commit,files=plan['n_files'],bytes=plan['bytes'],preserved_sha256=hashes,archived_original_entry=True,client_504_recovered=recovered);write(rp,receipt);print('PUBLISHED',kind,commit,flush=True)
|
| 43 |
+
print('PUBLIC_URL',receipt['url'],flush=True)
|
| 44 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/update_web.py
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from cluster_common import *
|
| 2 |
+
root=ROOT/'code/web'
|
| 3 |
+
p=root/'index.html';s=(Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/code/web')/p.name).read_text()
|
| 4 |
+
s=s.replace('href="style.css"','href="style.coverage_v2.css"').replace('src="data.js"','src="data.coverage_v2.js"').replace('src="app.js"','src="app.coverage_v2.js"')
|
| 5 |
+
s=s.replace('<small>2026.10.14</small>','<small>逐成员覆盖 · 2026.10.14</small>')
|
| 6 |
+
s=s.replace('<main>','''<main>
|
| 7 |
+
<section class="coverage-panel" aria-label="外部姿态覆盖"><div class="coverage-controls"><strong>WiLoR 外部类 → 我们三源+合成</strong><label>外部类筛选 <select id="coverageFilter"><option value="all">全部</option><option value="entire">整类未覆盖</option><option value="mostly_gap">未覆盖成员 ≥50%</option><option value="mostly_covered">已覆盖成员 ≥70%</option></select></label><label>排序 <select id="coverageSort"><option value="gap">未覆盖比例高 → 低</option><option value="covered">已覆盖比例高 → 低</option><option value="id">类别编号</option></select></label></div><div id="coverageSummary"></div><p class="coverage-legend"><span class="dot covered"></span>已覆盖:≥3 段独立录制有相似姿态 <span class="dot low"></span>低覆盖:只有 1–2 段 <span class="dot uncovered"></span>未覆盖:没有相似姿态</p><p class="hint">均指本次抽样库。类别内逐成员统计;未覆盖不等于 GT 可靠,也不等于全量训练集绝对缺失。</p><details id="coverageMethod"><summary>判定依据与阈值敏感性</summary><div id="coverageMethodBody"></div></details></section>''')
|
| 8 |
+
s=s.replace('点击类别查看原图、GT 叠加和最近邻。骨架可拖动旋转;A、B 编号各自独立。','点击外部类的“未覆盖成员 / 原图 / 近邻”查看具体缺口。骨架可拖动旋转;A、B 编号各自独立。')
|
| 9 |
+
s=s.replace('右边是外部类;左边是它最相近的我们类。点击可看真实图例;最小样本距离另列,不能把类中心距离当覆盖结论。','右边是外部类;左边是它最相近的我们类。覆盖条来自该类全部成员;点击外部类查看未覆盖成员与各自的精确最近邻。')
|
| 10 |
+
s=s.replace('<footer>','<footer><a href="downloads/coverage/RESULTS_ZH.md">覆盖结果</a><a href="downloads/coverage/member_coverage.csv.gz">逐成员覆盖 CSV</a><a href="downloads/coverage/class_coverage.csv">逐类覆盖 CSV</a><a href="downloads/coverage/REPRODUCE.md">覆盖复现</a>')
|
| 11 |
+
p.write_text(s)
|
| 12 |
+
p=root/'app.js';s=(Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/code/web')/p.name).read_text()
|
| 13 |
+
s=s.replace("let hand='right',level='distinct',view='oblique',tab='overview',poseSerial=0,activeDetail='';","let hand='right',level='distinct',view='oblique',tab='overview',poseSerial=0,activeDetail='',coverageFilter='all',coverageSort='gap';")
|
| 14 |
+
pos=s.index('function related(c)')
|
| 15 |
+
s=s[:pos]+'''const pct=x=>(100*x).toFixed(1)+'%';
|
| 16 |
+
function coverageBar(v,compact=false){if(!v)return '';return `<div class="coverage-breakdown ${compact?'compact':''}"><div class="coverage-bar" role="img" aria-label="已覆盖 ${pct(v.covered_fraction)},低覆盖 ${pct(v.low_fraction)},未覆盖 ${pct(v.uncovered_fraction)}"><span class="covered" style="width:${v.covered_fraction*100}%"></span><span class="low" style="width:${v.low_fraction*100}%"></span><span class="uncovered" style="width:${v.uncovered_fraction*100}%"></span></div><div class="coverage-values"><span class="covered-text">已覆盖 ${pct(v.covered_fraction)}</span><span class="low-text">低覆盖 ${pct(v.low_fraction)}</span><span class="uncovered-text">未覆盖 ${pct(v.uncovered_fraction)}</span></div>${compact?'':`<p class="metric">分母 ${nf(v.n)} 个实际分析手帧:${nf(v.covered)} 已覆盖 / ${nf(v.low)} 低覆盖 / ${nf(v.uncovered)} 未覆盖。</p>`}</div>`}
|
| 17 |
+
function classBadge(c){const v=c.coverage;if(!v)return '';const label=v.status==='uncovered'?'整类未覆盖':v.status==='covered'?'≥90% 已覆盖':'部分覆盖';return `<span class="coverage-badge ${v.status}" title="以逐成员比例为准;整类未覆盖要求所有成员都没有相似参照。">${label}</span>`}
|
| 18 |
+
function filteredExternal(){return [...model('external')[level]].filter(c=>coverageFilter==='all'||coverageFilter==='entire'&&c.coverage.uncovered===c.n||coverageFilter==='mostly_gap'&&c.coverage.uncovered_fraction>=.5||coverageFilter==='mostly_covered'&&c.coverage.covered_fraction>=.7).sort((a,b)=>coverageSort==='id'?a.number-b.number:coverageSort==='covered'?b.coverage.covered_fraction-a.coverage.covered_fraction:b.coverage.uncovered_fraction-a.coverage.uncovered_fraction)}
|
| 19 |
+
function renderCoverage(){const v=D.coverage.summary[hand],cal=D.coverage.calibration[hand],cs=model('external')[level],entire=cs.filter(c=>c.coverage.status==='uncovered').length;$('#coverageSummary').innerHTML=`<div class="coverage-summary">${coverageBar(v,true)}<span class="metric">${hand==='left'?'左':'右'}手 ${nf(v.n)} 个外部手帧 · ${cs.length} 类中 ${entire} 类整类未��盖 · 相似阈值 ${cal.thresholds_deg.q95.toFixed(2)}°</span></div>`;
|
| 20 |
+
const sens=D.coverage.sensitivity.filter(x=>x.key==='external_'+hand&&['q90','q95','q99'].includes(x.threshold));$('#coverageMethodBody').innerHTML=`<p class="hint">距离使用来源 GT 的 20 根 3D 骨方向,在掌部坐标系中计算平均夹角,去除手腕整体运动和骨长差异;左右手分开。不是 2D 图上距离,也不是 MANO 参数直接相减。</p><p class="hint">参照:H2O+ARCTIC+HOT3D+EgoRenderer Ver.005,共 271,543 手帧;本侧 ${nf(cal.reference_n)} 手帧、${nf(cal.reference_units)} 段独立录制/源动作。用本侧 4,096 个内部留出样本校准,检索时排除同录制全部帧;四源及各录制均衡加权,取最近距离的 95% 分位。每个外部成员穷举检索全部同侧参照。</p><table><thead><tr><th>校准分位</th><th>阈值</th><th>已覆盖</th><th>低覆盖</th><th>未覆盖</th></tr></thead><tbody>${sens.map(x=>`<tr><td>${x.threshold==='q95'?'95%(本页)':x.threshold.slice(1)+'%'}</td><td>${x.threshold_deg.toFixed(2)}°</td><td>${pct(x.covered_fraction)}</td><td>${pct(x.low_fraction)}</td><td>${pct(x.uncovered_fraction)}</td></tr>`).join('')}</tbody></table><p class="hint">类标签:≥90% 成员已覆盖才标“≥90% 已覆盖”;所有成员无近邻才标“整类未覆盖”;其余标“部分覆盖”。90% 是显示约定,完整比例始终保留。统计分母是本轮分析样本,不是 WiLoR 官方全量;2D 来源不作 3D 覆盖判断。我们参照使用已核对训练成员的来源 GT,最终 canonical 标签和 loss mask 尚未验收。</p>`}
|
| 21 |
+
function memberBadge(s){const v=s.coverage;if(!v)return '';return `<p class="sample-coverage"><span class="coverage-badge ${v.status}">${{covered:'已覆盖',low:'低覆盖',uncovered:'抽样库未覆盖'}[v.status]}</span> 最近距离 ${v.distance_deg.toFixed(2)}° / 阈值 ${v.threshold_deg.toFixed(2)}° · ${nf(v.support_recordings)} 段相似参照录制</p>`}
|
| 22 |
+
function gapBlock(v){const s=D.samples[v.id],n=v.nearest;return `<article class="gap-case"><h3>未覆盖成员 · ${esc(cname(s.source))} · ${s.hand==='left'?'左手':'右手'} · 帧 ${s.frame}</h3><p class="evidence">${esc(s.recording)} · ${esc(s.label)} · 距该类原型 ${v.prototype_distance_deg.toFixed(2)}°</p>${memberBadge(s)}<div class="pair"><div><h4>外部实际成员</h4>${poseCanvas(v.joints,'该未覆盖成员的 GT 姿态')}<a href="${s.assets.full}" target="_blank"><img class="gap-image" src="${s.assets.crop}" loading="lazy" alt="外部未覆盖成员:原图与 GT 叠加"></a><p class="metric">原图 | GT 叠加 · 点击看完整原画面</p></div><div><h4>我们库中的精确最近邻</h4>${poseCanvas(n.joints,'该成员的精确最近 GT 姿态')}${n.media?`<a href="${n.media.assets.full}" target="_blank"><img class="gap-image" src="${n.media.assets.crop}" loading="lazy" alt="精确最近邻:原图与 GT 叠加"></a><p class="metric">原图 | GT 叠加 · 点击看完整原画面</p>`:'<p class="warning">这个精确最近邻未通过原图可读性检查,保留其 GT 骨架;没有用其他样本替代。</p>'}<p class="evidence">${esc(cname(n.source))} · ${esc(n.recording)} · 帧 ${n.frame} · ${n.hand==='left'?'左':'右'}手</p></div></div><details><summary>相机与 GT 证据</summary><p class="evidence">外部:${esc(s.camera)}。${esc(s.gt_status)}</p><p class="evidence">最近邻:${esc(n.media?.evidence?.camera??n.media_missing_reason)}。图像叠加仅供核查,覆盖距离不构成 GT 可靠性结论。</p></details></article>`}
|
| 23 |
+
''' +s[pos:]
|
| 24 |
+
start=s.index('function card(c)');end=s.index('function countTable()',start)
|
| 25 |
+
s=s[:start]+'''function card(c){const v=c.examples[0],s=D.samples[v.id];return `<article class="card" data-key="${c.key}"><div class="card-head"><h3>${c.id}</h3><span>${classBadge(c)}${related(c)&&level==='distinct'?'<span class="badge">有相近类</span>':''}</span></div><div class="card-meta">${nf(c.n)} 手帧 · ${Object.keys(c.sources).length} 来源</div>${c.coverage?coverageBar(c.coverage,true):''}${poseCanvas(c.joints,'GT 类原型')}<img src="${s.assets.crop}" alt="${esc(cname(s.source))} 原图与 GT 叠加" loading="lazy"><div class="card-foot">${esc(cname(s.source))} · ${v.is_prototype?'原型本人':`同类图例,距原型 ${v.prototype_distance_deg.toFixed(1)}°`}</div><button class="open" data-open="${c.key}">${c.coverage?'未覆盖成员 / 原图 / 近邻':'原图 / GT 叠加 / 近邻'}</button></article>`}
|
| 26 |
+
''' +s[end:]
|
| 27 |
+
start=s.index('function renderOverview()');end=s.index('function pairTile(',start)
|
| 28 |
+
s=s[:start]+'''function renderOverview(){countTable();for(const g of ['ours','external']){const cs=g==='external'?filteredExternal():model(g)[level];$('#'+g+'Cards').innerHTML=cs.map(card).join('')||'<p class="hint">当前筛选没有类别。</p>';$('#'+g+'Count').textContent=`${cs.length} / ${model(g)[level].length} 类`}scatter()}
|
| 29 |
+
''' +s[end:]
|
| 30 |
+
start=s.index('function renderCompare()');end=s.index('function renderSimilar()',start)
|
| 31 |
+
s=s[:start]+'''function renderCompare(){const sorted=filteredExternal();$('#comparisonRows').innerHTML=sorted.map(c=>{const n=c.nearest_reference,a=allClasses[n.nearest_our_key];return `<div class="row"><div class="row-title"><strong>我们 ${a.id} ↔ 外部 ${c.id}</strong>${classBadge(c)}</div>${coverageBar(c.coverage)}<div class="pair">${pairTile(a)}${pairTile(c)}</div><p class="metric">类原型差 ${n.class_prototype_mean_deg.toFixed(1)}° · 外部原型最近参照 ${n.mean_deg.toFixed(1)}°(原型示意;覆盖统计来自全类成员)</p><button data-open="${c.key}">看该类未覆盖成员、原图与精确最近邻</button></div>`}).join('')||'<p class="hint">当前筛选没有类别。</p>'}
|
| 32 |
+
''' +s[end:]
|
| 33 |
+
s=s.replace('<th>本轮用途</th>','<th>本轮用途</th><th>对参照库覆盖</th>')
|
| 34 |
+
s=s.replace('<td>${esc(s.role)}</td></tr>','<td>${esc(s.role)}</td><td>${D.coverage.sources[s.id]?coverageBar(D.coverage.sources[s.id],true):s.group===\'我们\'?\'参照库\':s.gallery_source?\'与参照重叠,不单计\':\'不作 3D 判断\'}</td></tr>')
|
| 35 |
+
s=s.replace('<section class="example"><h3>','<section class="example">${memberBadge(s)}<h3>')
|
| 36 |
+
s=s.replace("let head=`<h2>","let head=`<h2>")
|
| 37 |
+
s=s.replace("let top=`<div class=\"dialog-top\">","head+=c.coverage?classBadge(c)+coverageBar(c.coverage):'';\n let top=`<div class=\"dialog-top\">")
|
| 38 |
+
s=s.replace("$('#detailBody').innerHTML=head+top+note+c.examples.map(v=>sampleBlock(D.samples[v.id],v)).join('');", "const gaps=D.coverage.examples[key]||[],gapIds=new Set(gaps.map(v=>v.id)),other=c.examples.filter(v=>!gapIds.has(v.id));\n $('#detailBody').innerHTML=head+(c.coverage?'<details class=\"prototype-details\"><summary>类原型与其最近邻</summary>'+top+note+'</details>':top+note)+(gaps.length?'<h3 class=\"gap-title\">本类实际未覆盖成员</h3>'+gaps.map(gapBlock).join(''):'')+(other.length?'<h3>其他同类成员</h3>'+other.map(v=>sampleBlock(D.samples[v.id],v)).join(''):'');")
|
| 39 |
+
s=s.replace("if(two.length)body+=", "if(D.coverage.sources[src])body+=coverageBar(D.coverage.sources[src]);\n if(two.length)body+=")
|
| 40 |
+
s=s.replace("function render(){poses.clear();", "function render(){poses.clear();renderCoverage();")
|
| 41 |
+
s=s.replace("$('#hand').onchange", "$('#coverageFilter').onchange=e=>{coverageFilter=e.target.value;render()};$('#coverageSort').onchange=e=>{coverageSort=e.target.value;render()};\n$('#hand').onchange")
|
| 42 |
+
p.write_text(s)
|
| 43 |
+
p=root/'style.css';s=(Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/code/web')/p.name).read_text()+'''
|
| 44 |
+
.coverage-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:16px}.coverage-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.coverage-controls strong{margin-right:auto}.coverage-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:12px}.coverage-summary .coverage-breakdown{flex:1;min-width:260px}.coverage-bar{height:9px;display:flex;border-radius:5px;overflow:hidden;background:#e7edf2;width:100%;min-width:100px}.covered{background:#218762}.low{background:#c88926}.uncovered{background:#ca5054}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;margin-right:3px}.coverage-values{display:flex;gap:9px;justify-content:space-between;font-size:11px;flex-wrap:wrap;margin-top:4px}.covered-text{color:#146847}.low-text{color:#8e5706}.uncovered-text{color:#a73139}.coverage-legend{font-size:12px;margin:10px 0 4px}.coverage-badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:11px;white-space:nowrap}.coverage-badge.covered{background:#e3f3eb;color:#146847}.coverage-badge.low{background:#fff1d9;color:#8e5706}.coverage-badge.uncovered{background:#fce7e8;color:#a73139}.card .coverage-breakdown{padding:4px 11px 7px}.card-head>span{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.coverage-panel details{margin-top:8px;padding:7px 10px;font-size:12px;background:#fafcfe}.coverage-panel .hint{margin:7px 0}.gap-case{border:1px solid #ead4d5;background:#fffafa;padding:16px;border-radius:8px;margin:14px 0}.gap-case h3{font-size:16px;margin:0 0 5px}.gap-case h4{font-size:13px;margin:10px 0 5px}.gap-case details{font-size:12px;padding:7px;margin-top:10px}.gap-case .pair .gap-image{width:100%;height:220px;max-height:none;object-fit:contain;background:#f0f3f6}.sample-coverage{font-size:12px;color:var(--muted);line-height:1.9}.gap-title{color:#a73139;border-top:1px solid var(--line);padding-top:16px}.scroll .coverage-breakdown{min-width:230px}.coverage-breakdown .metric{margin:5px 0}.coverage-panel summary{font-size:12px}.row .coverage-breakdown{max-width:720px;margin-bottom:12px}
|
| 45 |
+
@media(max-width:620px){.coverage-panel{padding:11px}.coverage-controls{gap:8px}.coverage-controls strong{width:100%}.coverage-summary{gap:8px}.card .coverage-breakdown{padding:3px 7px 6px}.card .coverage-values{font-size:9px;gap:1px;display:grid;grid-template-columns:1fr}.card-head{gap:4px;align-items:flex-start}.card-head>span{max-width:80%}.gap-case{padding:9px}.gap-case .pair{grid-template-columns:1fr}.gap-case .pair .gap-image{height:auto;max-height:300px}.coverage-legend{line-height:1.9}.coverage-controls select{max-width:200px}}
|
| 46 |
+
''';p.write_text(s)
|
| 47 |
+
print('UPDATED',root)
|
pose_recluster_distinct_20261014/downloads/coverage/code/validate_coverage.py
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from cluster_common import *
|
| 2 |
+
BASE=Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014')
|
| 3 |
+
def main():
|
| 4 |
+
data=np.load(ROOT/'cache/external_coverage.npz');classes=read(ROOT/'metrics/class_coverage.json');rows=read(BASE/'manifests/external_members.json');ours=read(BASE/'manifests/ours_members.json')
|
| 5 |
+
ob=np.load(BASE/'cache/ours_features.npz')['bones'];eb=np.load(BASE/'cache/external_features.npz')['bones'];rng=np.random.default_rng(2026101408);checks=[]
|
| 6 |
+
for side in ['left','right']:
|
| 7 |
+
bx=np.array([i for i,m in enumerate(ours) if m['hand']==side]);qx=np.array([i for i,m in enumerate(rows) if m['hand']==side]);bank=ob[bx].astype(np.float64)
|
| 8 |
+
units=[ours[i]['independent_unit'] for i in bx];unames=sorted(set(units));umap={u:i for i,u in enumerate(unames)};uc=np.array([umap[u] for u in units])
|
| 9 |
+
boundary=qx[np.argsort(np.abs(data['distance_deg'][qx]-data['threshold_deg'][qx]))[:4]]
|
| 10 |
+
samples=list(map(int,rng.choice(qx,12,replace=False)))+list(map(int,boundary))
|
| 11 |
+
for i in samples:
|
| 12 |
+
d=np.degrees(np.arccos(np.clip(np.einsum('njk,jk->nj',bank,eb[i].astype(np.float64)),-1,1))).mean(-1)
|
| 13 |
+
j=int(np.argmin(d));err=abs(float(d[j])-data['distance_deg'][i]);assert err<.01,(i,err)
|
| 14 |
+
nn=int(data['nearest_index'][i]);assert abs(float(d[np.where(bx==nn)[0][0]])-float(d[j]))<.01
|
| 15 |
+
tau=float(data['threshold_deg'][i]);records=len(set(uc[d<=tau]));count=int((d<=tau).sum());status=2 if d[j]>tau else (0 if records>=3 else 1)
|
| 16 |
+
margin=float(np.min(abs(d-tau)));ambiguous=margin<.002
|
| 17 |
+
if not ambiguous:assert records==data['support_recordings'][i] and count==data['support_samples'][i]
|
| 18 |
+
assert status==data['status'][i],(i,'classification mismatch')
|
| 19 |
+
checks.append(dict(index=i,id=rows[i]['id'],hand=side,max_nn_error_deg=err,cpu_nearest_index=int(bx[j]),gpu_nearest_index=nn,cpu_support_recordings=records,gpu_support_recordings=int(data['support_recordings'][i]),cpu_support_samples=count,gpu_support_samples=int(data['support_samples'][i]),threshold_boundary_margin_deg=margin,numerically_ambiguous_counts=ambiguous,status_agrees=True))
|
| 20 |
+
# Numerical comparison with existing independently calculated exact class-prototype NN.
|
| 21 |
+
models=read(BASE/'metrics/models.json');proto=[]
|
| 22 |
+
for side in ['left','right']:
|
| 23 |
+
for level in ['fine','distinct']:
|
| 24 |
+
for c in models['external_'+side][level]:
|
| 25 |
+
i=c['prototype_index'];err=abs(data['distance_deg'][i]-c['nearest_reference']['mean_deg']);assert err<.01,(c['key'],err)
|
| 26 |
+
proto.append(float(err))
|
| 27 |
+
assert sum(c['n'] for c in classes.values() if c['level']=='distinct')==len(rows)
|
| 28 |
+
assert sum(c['n'] for c in classes.values() if c['level']=='fine')==len(rows)
|
| 29 |
+
assert all(c['covered']+c['low']+c['uncovered']==c['n'] for c in classes.values())
|
| 30 |
+
assert all(ours[int(nn)]['hand']==r['hand'] for r,nn in zip(rows,data['nearest_index']))
|
| 31 |
+
hashes=read(ROOT/'audit/input_sha256.json');assert all(sha(p)==h for p,h in hashes.items()),'Input changed'
|
| 32 |
+
report=dict(status='PASS',n_queries=len(rows),same_hand_all=True,all_class_counts_valid=True,input_hashes_unchanged=True,cpu_float64_checks=checks,cpu_nn_max_error_deg=max(c['max_nn_error_deg'] for c in checks),previous_exact_prototype_checks=len(proto),previous_exact_prototype_max_error_deg=max(proto),limitations='Float32 acos counts extremely close to the threshold can change under rounding; boundary examples were checked and sample statuses agree. No GT accuracy verdict derived from nearest-neighbor distance.')
|
| 33 |
+
write(ROOT/'audit/numerical_validation.json',report);print({k:v for k,v in report.items() if k!='cpu_float64_checks'})
|
| 34 |
+
|
| 35 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/verify_public_assets.py
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Check permanent public URLs, bytes and archived previous entry after publication."""
|
| 2 |
+
from cluster_common import *
|
| 3 |
+
import requests,time,concurrent.futures,re
|
| 4 |
+
BASE_URL='https://yangzijing-nine-source-hand-data-browser.static.hf.space/'
|
| 5 |
+
|
| 6 |
+
def get_verified(item):
|
| 7 |
+
url=BASE_URL+item['path'];events=[]
|
| 8 |
+
for attempt in range(4):
|
| 9 |
+
try:
|
| 10 |
+
r=requests.get(url,timeout=(10,50));r.raise_for_status();data=r.content
|
| 11 |
+
if item['path'].endswith('.html'):
|
| 12 |
+
# Static Spaces adds only this known runtime creator-ID script.
|
| 13 |
+
data=re.sub(rb'<script>window\.huggingface=\{variables:\{"SPACE_CREATOR_USER_ID":"[0-9a-f]{24}"\}\};</script>',b'',data)
|
| 14 |
+
actual=hashlib.sha256(data).hexdigest();assert actual==item['sha256'],'SHA256 mismatch'
|
| 15 |
+
return dict(path=item['path'],status=200,sha256=actual,bytes=len(data),retries=attempt,events=events)
|
| 16 |
+
except Exception as e:
|
| 17 |
+
events.append(dict(attempt=attempt,error=type(e).__name__,http_status=getattr(getattr(e,'response',None),'status_code',None)))
|
| 18 |
+
if attempt==3:return dict(path=item['path'],error=type(e).__name__+': '+str(e)[:180],events=events)
|
| 19 |
+
time.sleep(2*(attempt+1))
|
| 20 |
+
|
| 21 |
+
def main():
|
| 22 |
+
plan=read(ROOT/'audit/publication_plan.json');receipt=read(ROOT/'audit/publication.json');assert 'space' in receipt
|
| 23 |
+
entry=next(x for x in plan['files'] if x['relative']=='index.html')
|
| 24 |
+
for attempt in range(36):
|
| 25 |
+
r=requests.get(BASE_URL+entry['path'],params={'coverage_revision':receipt['space']['commit']},timeout=(10,40))
|
| 26 |
+
if r.status_code==200 and 'data.coverage_v2.js' in r.text:break
|
| 27 |
+
time.sleep(5)
|
| 28 |
+
else:raise RuntimeError('New static entry not visible after deployment wait')
|
| 29 |
+
checks=[]
|
| 30 |
+
with concurrent.futures.ThreadPoolExecutor(2) as pool:
|
| 31 |
+
fs={pool.submit(get_verified,item):item for item in plan['files']}
|
| 32 |
+
for f in concurrent.futures.as_completed(fs):
|
| 33 |
+
checks.append(f.result())
|
| 34 |
+
if len(checks)%50==0:print('PUBLIC_CHECKED',len(checks),'/',len(fs),flush=True)
|
| 35 |
+
bad=[r for r in checks if 'error' in r];out=dict(status='PASS' if not bad else 'FAIL',url=receipt['url'],commit=receipt['space']['commit'],files=len(checks),failures=bad,retried=sum(r.get('retries',0)>0 for r in checks),checks=checks)
|
| 36 |
+
write(ROOT/'audit/public_assets.json',out);print('PUBLIC_ASSETS',out['status'],out['files'],'failed',len(bad),flush=True)
|
| 37 |
+
assert not bad,str(bad[:3])
|
| 38 |
+
if __name__=='__main__':main()
|
pose_recluster_distinct_20261014/downloads/coverage/code/visualize.py
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Paired RGB and calibrated GT overlay for members of the newly fitted clusters."""
|
| 2 |
+
from cluster_common import *
|
| 3 |
+
import sys,functools,pickle,zipfile,shutil
|
| 4 |
+
from PIL import Image
|
| 5 |
+
import cv2
|
| 6 |
+
cv2.setNumThreads(1)
|
| 7 |
+
|
| 8 |
+
sys.path.insert(0,str(REF/'code'))
|
| 9 |
+
import visuals as legacy
|
| 10 |
+
import interhand_rgb
|
| 11 |
+
legacy.ROOT=ROOT;interhand_rgb.ROOT=ROOT
|
| 12 |
+
from geometry import project
|
| 13 |
+
import torch,smplx
|
| 14 |
+
torch.set_num_threads(1);torch.set_grad_enabled(False)
|
| 15 |
+
|
| 16 |
+
EXTRA=Path('/SSD3/yangzijing/Hand_missing_source_visuals_20261012')
|
| 17 |
+
COLOR=[(60,180,210),(80,170,40),(230,100,40),(180,80,180),(80,80,230)]
|
| 18 |
+
|
| 19 |
+
@functools.lru_cache(2)
|
| 20 |
+
def mano(side):
|
| 21 |
+
m=smplx.MANO('/SSD3/jiasen/foundation_hand/pretrained/mano',is_rhand=side=='right',use_pca=False,flat_hand_mean=True).eval()
|
| 22 |
+
if side=='left' and torch.abs(m.shapedirs[:,0,:]-mano('right').shapedirs[:,0,:]).sum()<1:m.shapedirs[:,0,:]*=-1
|
| 23 |
+
return m
|
| 24 |
+
@functools.lru_cache(2)
|
| 25 |
+
def arc(path):return zipfile.ZipFile(path)
|
| 26 |
+
def blob(path):
|
| 27 |
+
if '::' in path:
|
| 28 |
+
a,b=path.split('::',1);return arc(a).read(b)
|
| 29 |
+
return Path(path).read_bytes()
|
| 30 |
+
|
| 31 |
+
def ho_image(m):
|
| 32 |
+
source=blob(m['annotation_path']);assert hashlib.sha256(source).hexdigest()==m['annotation_sha256']
|
| 33 |
+
d=pickle.loads(source,encoding='latin1');field='hand' if m['source']=='wilor_ho3d' else m['hand']+'Hand'
|
| 34 |
+
p=np.asarray(d[field+'Pose']);t=np.asarray(d[field+'Trans']);beta=np.asarray(d['handBeta']);model=mano(m['hand'])
|
| 35 |
+
tensor=lambda a:torch.as_tensor(np.asarray(a).copy()[None],dtype=torch.float32)
|
| 36 |
+
out=model(global_orient=tensor(p[:3]),hand_pose=tensor(p[3:]),betas=tensor(beta),transl=tensor(t));v=out.vertices[0].numpy()
|
| 37 |
+
err=float(np.linalg.norm(out.joints[0,:16].numpy()-np.asarray(d[field+'Joints3D'])[:16],axis=-1).max()*1000);assert err<.02
|
| 38 |
+
v=v*np.array([1,-1,-1]);K=np.asarray(d['camMat']);rgb=blob(m['image_path']);im=cv2.imdecode(np.frombuffer(rgb,np.uint8),cv2.IMREAD_COLOR);assert im is not None
|
| 39 |
+
uv=project(v,K);mask=(v[:,2]>0)&(uv[:,0]>=0)&(uv[:,0]<im.shape[1])&(uv[:,1]>=0)&(uv[:,1]<im.shape[0]);assert mask.sum()>=500,'target mostly out of image'
|
| 40 |
+
vertices=np.full((2,778,3),np.nan);side=['left','right'].index(m['hand']);vertices[side]=v;valid=[False,False];valid[side]=True
|
| 41 |
+
overlay,pixels=legacy.renderer.media.render_overlay(im,vertices,valid,lambda pts:project(pts,K));box,inside=legacy.renderer.bbox(uv,im.shape[:2]);assert inside
|
| 42 |
+
raw=Image.fromarray(im[...,::-1]);ov=Image.fromarray(overlay[...,::-1]);full=Image.new('RGB',(raw.width*2,raw.height));full.paste(raw);full.paste(ov,(raw.width,0))
|
| 43 |
+
ev=dict(camera='same-source unmodified camMat; OpenGL->OpenCV diag(1,-1,-1); original full image',K=K.tolist(),source_rgb_sha256=hashlib.sha256(rgb).hexdigest(),annotation_sha256=m['annotation_sha256'],source_reconstruction_max_mm=err,independent_3d_reference=False,crop_native_xyxy=list(box),target_in_frame=True,native_hw=list(im.shape[:2]),mesh_pixels=pixels)
|
| 44 |
+
return full,raw.crop(box),ov.crop(box),ev
|
| 45 |
+
|
| 46 |
+
@functools.lru_cache(10)
|
| 47 |
+
def reinter_joints(path):
|
| 48 |
+
z=np.load(path);return {int(f):j for f,j in zip(z['frames'],z['joints_mm'])}
|
| 49 |
+
def joint_pair(im,uv,mask,evidence):
|
| 50 |
+
ov=im.copy();mask=mask & np.isfinite(uv).all(-1)&(uv[:,0]>=0)&(uv[:,0]<im.shape[1])&(uv[:,1]>=0)&(uv[:,1]<im.shape[0]);assert mask.sum()>=12,'too few target joints in frame'
|
| 51 |
+
for k in range(1,21):
|
| 52 |
+
parent=int(PARENTS[k]);color=COLOR[(k-1)//4]
|
| 53 |
+
if mask[k] and mask[parent]:cv2.line(ov,tuple(np.rint(uv[parent]).astype(int)),tuple(np.rint(uv[k]).astype(int)),color,max(2,round(im.shape[0]/500)),cv2.LINE_AA)
|
| 54 |
+
for k in np.flatnonzero(mask):cv2.circle(ov,tuple(np.rint(uv[k]).astype(int)),max(2,round(im.shape[0]/500)),(255,255,255),-1,cv2.LINE_AA)
|
| 55 |
+
box,ok=legacy.renderer.bbox(uv[mask],im.shape[:2]);assert ok
|
| 56 |
+
raw=Image.fromarray(im[...,::-1]);over=Image.fromarray(ov[...,::-1]);full=Image.new('RGB',(raw.width*2,raw.height));full.paste(raw);full.paste(over,(raw.width,0))
|
| 57 |
+
evidence.update(crop_native_xyxy=list(box),target_in_frame=True,native_hw=list(im.shape[:2]),joints_drawn=int(mask.sum()))
|
| 58 |
+
return full,raw.crop(box),over.crop(box),evidence
|
| 59 |
+
|
| 60 |
+
@functools.lru_cache(1)
|
| 61 |
+
def reinter_index():return read(ROOT/'manifests/reinter_rgb.json')
|
| 62 |
+
def reinter_image(m):
|
| 63 |
+
for item in reinter_index().get(m['id'],[]):
|
| 64 |
+
camera=read(item['camera_file'])[item['camera']];j=reinter_joints(m['annotation_path'])[m['frame']][['left','right'].index(m['hand']),m['source_joint_mapping_24_to_21']]
|
| 65 |
+
xyz=j@np.asarray(camera['R']).T+np.asarray(camera['t']);f=np.asarray(camera['focal']);pp=np.asarray(camera['princpt']);uv=xyz[:,:2]/xyz[:,2:]*f+pp;K=np.array([[f[0],0,pp[0]],[0,f[1],pp[1]],[0,0,1.]])
|
| 66 |
+
check=cv2.projectPoints(xyz,np.zeros(3),np.zeros(3),K,np.zeros(5))[0][:,0];assert abs(check-uv).max()<1e-5
|
| 67 |
+
im=cv2.imread(item['path']);assert im is not None and sha(item['path'])==item['image_sha256']
|
| 68 |
+
e=dict(camera='official Mugsy camera R*X+t, native image pixels, no additional distortion by source renderer',K=K.tolist(),camera_id=item['camera'],camera_sha256=item['camera_sha256'],source_rgb_sha256=item['image_sha256'],source_rgb_member=item['member'],annotation_sha256=m['annotation_sha256'],projection_crosscheck_max_px=float(abs(check-uv).max()),label='official original-fit renderer3D joints; no MANO fit',joint_visibility_independent=False)
|
| 69 |
+
try:return joint_pair(im,uv,xyz[:,2]>0,e)
|
| 70 |
+
except AssertionError:continue
|
| 71 |
+
raise ValueError('No readable selected ReInterHand view')
|
| 72 |
+
|
| 73 |
+
@functools.lru_cache(1)
|
| 74 |
+
def ih_index():return read(ROOT/'manifests/interhand_rgb.json')
|
| 75 |
+
@functools.lru_cache(1)
|
| 76 |
+
def existing():
|
| 77 |
+
result={}
|
| 78 |
+
for p in (REF/'audit/media').glob('*.json'):
|
| 79 |
+
if p.name.endswith('_acquisition.json'):continue
|
| 80 |
+
r=read(p)
|
| 81 |
+
if r.get('assets') and all((REF/'site'/v).exists() for v in r['assets'].values()):result[r['id']]=r
|
| 82 |
+
return result
|
| 83 |
+
|
| 84 |
+
def paired(m):
|
| 85 |
+
if m['id'] in existing():return True
|
| 86 |
+
if m['source'] in ['wilor_rhd','wilor_freihand']:return local_image(m) is not None
|
| 87 |
+
if m['source']=='wilor_interhand26m':return m['id'] in ih_index()
|
| 88 |
+
if m['source']=='wilor_reinter':return m['id'] in reinter_index()
|
| 89 |
+
if m['source']=='wilor_mtc':
|
| 90 |
+
c=legacy.extras().get((m['source'],str(m.get('subject')),int(m['frame']),m['hand']))
|
| 91 |
+
return c is not None and c['recording']==m['sequence']
|
| 92 |
+
return True
|
| 93 |
+
|
| 94 |
+
def local_image(m):
|
| 95 |
+
src=m['source'];rel=f"training/rgb/{m['frame']:08d}.jpg" if src=='wilor_freihand' else f"RHD_published_v2/training/color/{m['frame']:05d}.png"
|
| 96 |
+
paths=[root/'sources'/src/rel for root in [ROOT,Path('/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014'),REF,OLD]]
|
| 97 |
+
paths.append(legacy.OLD/'sources'/('FREIHAND' if src=='wilor_freihand' else 'RHD')/rel)
|
| 98 |
+
return next((p for p in paths if p.exists()),None)
|
| 99 |
+
|
| 100 |
+
def save(m):
|
| 101 |
+
p=ROOT/'audit/media'/f"{m['id']}.json"
|
| 102 |
+
if p.exists():return read(p)
|
| 103 |
+
if m['id'] in existing():
|
| 104 |
+
old=existing()[m['id']];r=dict(old);r['reused_from']=str(REF);r['assets']={}
|
| 105 |
+
for kind,rel in old['assets'].items():
|
| 106 |
+
dst=ROOT/'site/media'/Path(rel).name;shutil.copyfile(REF/'site'/rel,dst);r['assets'][kind]='media/'+dst.name
|
| 107 |
+
write(p,r);return r
|
| 108 |
+
if m['source'] in ['wilor_ho3d','wilor_h2o3d']:full,raw,ov,e=ho_image(m)
|
| 109 |
+
elif m['source']=='wilor_reinter':full,raw,ov,e=reinter_image(m)
|
| 110 |
+
elif m['source'] in ['wilor_rhd','wilor_freihand']:
|
| 111 |
+
mm=dict(m);mm['image_path']=str(local_image(m));assert local_image(m) is not None
|
| 112 |
+
if m['source']=='wilor_freihand':
|
| 113 |
+
K,t,j=legacy.fh_arrays();_,jj,_=legacy.freihand_decode(t[m['frame']],K[m['frame']]);mm['native_joint_mean_error_mm']=float(np.linalg.norm(jj[0]-j[m['frame']],axis=-1).mean()*1000)
|
| 114 |
+
full,raw,ov,e=legacy.renderer.native(mm)
|
| 115 |
+
else:full,raw,ov,e=legacy.image_for(m)
|
| 116 |
+
assert e.get('target_in_frame') and raw.size==ov.size and min(raw.size)>=24,'target not readable'
|
| 117 |
+
change=np.abs(np.asarray(raw,dtype=float)-np.asarray(ov,dtype=float)).max(-1)>14;assert change.sum()>=12,'overlay absent at target'
|
| 118 |
+
nonblack=float((np.asarray(raw).max(-1)[change]>15).mean());assert nonblack>=.55,'projection mainly black padding'
|
| 119 |
+
if 'in_frame_vertices_per_hand' in e:assert e['in_frame_vertices_per_hand'][['left','right'].index(m['hand'])]>=500,'target mostly out of image'
|
| 120 |
+
pair=Image.new('RGB',(raw.width*2,raw.height));pair.paste(raw);pair.paste(ov,(raw.width,0));assets={}
|
| 121 |
+
for kind,im in [('full',full),('crop',pair)]:
|
| 122 |
+
dest=ROOT/'site/media'/f"{m['id']}_{kind}.jpg";im.save(dest,quality=90);assets[kind]='media/'+dest.name
|
| 123 |
+
label='EgoRenderer Ver.005 既有拟合 MANO' if m['source']=='synthetic' else ('来源 GT 关节投影' if m['source'] in ['wilor_reinter','wilor_interhand26m','wilor_mtc','wilor_rhd'] else '来源拟合 MANO')
|
| 124 |
+
r=dict(id=m['id'],assets=assets,evidence=e,label=label,gt_status='证据不足',legibility=dict(changed_pixels=int(change.sum()),non_black_GT_pixel_fraction=nonblack),sha256={v:sha(ROOT/'site'/v) for v in assets.values()})
|
| 125 |
+
write(p,r);return r
|
| 126 |
+
|
| 127 |
+
def setup():
|
| 128 |
+
p=ROOT/'manifests/interhand_rgb.json'
|
| 129 |
+
if not p.exists():
|
| 130 |
+
data=read(REF/'manifests/interhand_rgb.json')
|
| 131 |
+
(ROOT/'sources/interhand_rgb').mkdir(exist_ok=True)
|
| 132 |
+
for sid,x in data.items():
|
| 133 |
+
if not Path(x['path']).exists():x['path']=str(ROOT/'sources/interhand_rgb'/f'{sid}.jpg')
|
| 134 |
+
write(p,data)
|
| 135 |
+
|
| 136 |
+
def main(group,level_arg=None):
|
| 137 |
+
setup();rows,b=load(group);result={};failures=[];failed=set();dest=ROOT/'metrics'/f'{group}_visuals.json'
|
| 138 |
+
exclusions=ROOT/'audit/visual_review_exclusions.json'
|
| 139 |
+
if exclusions.exists():failed.update(read(exclusions))
|
| 140 |
+
preference_path=ROOT/'manifests/visual_review_preferences.json'
|
| 141 |
+
preferences=read(preference_path) if preference_path.exists() else {}
|
| 142 |
+
if dest.exists():result=read(dest)
|
| 143 |
+
for side in ['left','right']:
|
| 144 |
+
model=read(ROOT/'metrics'/f'{group}_{side}.json');a=np.load(ROOT/'cache'/f'{group}_{side}_assignments.npz');ix=a['indices']
|
| 145 |
+
for level in ([level_arg] if level_arg else ['main','fine']):
|
| 146 |
+
label=np.load(ROOT/'cache'/f'{group}_{side}_distinct_assignments.npz')['distinct'] if level=='distinct' else a[level]
|
| 147 |
+
for c in model[level]:
|
| 148 |
+
if c['key'] in result:continue
|
| 149 |
+
ids=ix[label==c['label']];distance=angular(b[[c['prototype_index']]],b[ids])[0];order=np.argsort(distance,kind='stable');picked=[];units=set()
|
| 150 |
+
if c['key'] in preferences:
|
| 151 |
+
preferred=preferences[c['key']]['sample_ids'];positions={rows[int(i)]['id']:pos for pos,i in enumerate(ids)}
|
| 152 |
+
assert all(sid in positions for sid in preferred),'Visual preference must stay in the actual GT class'
|
| 153 |
+
lead=[positions[sid] for sid in preferred];order=np.array(lead+[int(p) for p in order if int(p) not in lead])
|
| 154 |
+
for pos in order:
|
| 155 |
+
i=int(ids[pos]);m=rows[i]
|
| 156 |
+
if m['id'] in failed or m['independent_unit'] in units or not paired(m):continue
|
| 157 |
+
try:r=save(m)
|
| 158 |
+
except Exception as e:
|
| 159 |
+
failures.append(dict(key=c['key'],id=m['id'],source=m['source'],error=type(e).__name__+': '+str(e)[:220]));failed.add(m['id']);write(ROOT/'audit'/f'{group}_media_failures.json',failures);continue
|
| 160 |
+
picked.append(dict(index=i,id=m['id'],source=m['source'],recording=m['recording'],frame=m['frame'],hand=m['hand'],label_type=m['label_type'],prototype_distance_deg=float(distance[pos]),is_prototype=i==c['prototype_index'],joints=standard(b[i]),media=r));units.add(m['independent_unit'])
|
| 161 |
+
if len(picked)>=2:break
|
| 162 |
+
assert picked,(c['key'],'No same-cluster paired image')
|
| 163 |
+
result[c['key']]=picked;write(dest,result);print('VISUAL',c['key'],[(p['source'],round(p['prototype_distance_deg'],2)) for p in picked],flush=True)
|
| 164 |
+
write(ROOT/'audit'/f'{group}_media_failures.json',failures)
|
| 165 |
+
|
| 166 |
+
if __name__=='__main__':main(*sys.argv[1:])
|
pose_recluster_distinct_20261014/downloads/coverage/code/web/app.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
const D=window.AUDIT_DATA;
|
| 2 |
+
// Retry transient failures on the image CDN while keeping permanent source URLs.
|
| 3 |
+
document.addEventListener('error',e=>{const im=e.target;if(im?.tagName!=='IMG')return;const n=Number(im.dataset.networkRetry||0);if(n<2){im.dataset.networkRetry=String(n+1);setTimeout(()=>{if(im.isConnected)im.src=im.getAttribute('src')},600*(n+1))}},true);
|
| 4 |
+
const $=s=>document.querySelector(s), nf=n=>Number(n).toLocaleString('en-US'), esc=s=>String(s??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
| 5 |
+
let hand='right',level='distinct',view='oblique',tab='overview',poseSerial=0,activeDetail='',coverageFilter='all',coverageSort='gap';
|
| 6 |
+
const colors=['#b8852f','#39896e','#437eb0','#9061ab','#c66e70'];
|
| 7 |
+
const poses=new Map(), allClasses={};
|
| 8 |
+
Object.values(D.models).forEach(m=>['fine','distinct'].forEach(l=>m[l].forEach(c=>allClasses[c.key]=c)));
|
| 9 |
+
const model=g=>D.models[g+'_'+hand], cname=s=>D.names[s]||s;
|
| 10 |
+
function poseCanvas(joints,label='',overlay=null){const id='pose'+poseSerial++;poses.set(id,{joints,overlay,rot:[0,0],label});return `<canvas class="pose" id="${id}" aria-label="${esc(label)},可拖动旋转"></canvas>`}
|
| 11 |
+
function drawPose(canvas,p){
|
| 12 |
+
const ratio=Math.min(devicePixelRatio||1,2),w=canvas.clientWidth||300,h=canvas.clientHeight||170;canvas.width=w*ratio;canvas.height=h*ratio;const ctx=canvas.getContext('2d');ctx.scale(ratio,ratio);ctx.clearRect(0,0,w,h);
|
| 13 |
+
let base=view==='palm'?[0,0]:view==='side'?[Math.PI/2,0]:[.48,-.16],a=base[0]+p.rot[0],b=base[1]+p.rot[1];
|
| 14 |
+
function project(j){let [x,y,z]=j;const xx=x*Math.cos(a)+z*Math.sin(a),zz=-x*Math.sin(a)+z*Math.cos(a);return [xx,y*Math.cos(b)-zz*Math.sin(b),y*Math.sin(b)+zz*Math.cos(b)]}
|
| 15 |
+
const pts=p.joints.map(project),other=p.overlay?.map(project),all=other?pts.concat(other):pts;let x0=Math.min(...all.map(v=>v[0])),x1=Math.max(...all.map(v=>v[0])),y0=Math.min(...all.map(v=>v[1])),y1=Math.max(...all.map(v=>v[1]));let scale=Math.min((w-45)/Math.max(x1-x0,.7),(h-40)/Math.max(y1-y0,.8));
|
| 16 |
+
const screen=q=>[w/2+(q[0]-(x0+x1)/2)*scale,h/2-(q[1]-(y0+y1)/2)*scale+3];
|
| 17 |
+
function handdraw(j,faded){ctx.globalAlpha=faded?.35:1;for(let f=0;f<5;f++){const ids=[0,f*4+1,f*4+2,f*4+3,f*4+4];ctx.strokeStyle=faded?'#7b8492':colors[f];ctx.fillStyle=ctx.strokeStyle;ctx.lineWidth=faded?2:3.2;ctx.beginPath();ids.forEach((id,k)=>{const q=screen(j[id]);k?ctx.lineTo(...q):ctx.moveTo(...q)});ctx.stroke();ids.slice(1).forEach(id=>{const q=screen(j[id]);ctx.beginPath();ctx.arc(...q,2.6,0,Math.PI*2);ctx.fill()})}ctx.globalAlpha=1}
|
| 18 |
+
if(other)handdraw(other,true);handdraw(pts,false);ctx.fillStyle='#7e8b99';ctx.font='10px system-ui';ctx.fillText(p.label,9,14);
|
| 19 |
+
}
|
| 20 |
+
function wirePoses(){document.querySelectorAll('canvas.pose').forEach(c=>{const p=poses.get(c.id);if(!p)return;drawPose(c,p);let drag=null;c.onpointerdown=e=>{drag=[e.clientX,e.clientY];c.setPointerCapture(e.pointerId)};c.onpointermove=e=>{if(!drag)return;p.rot[0]+=(e.clientX-drag[0])*.012;p.rot[1]+=(e.clientY-drag[1])*.012;drag=[e.clientX,e.clientY];drawPose(c,p)};c.onpointerup=()=>drag=null;})}
|
| 21 |
+
const pct=x=>(100*x).toFixed(1)+'%';
|
| 22 |
+
function coverageBar(v,compact=false){if(!v)return '';return `<div class="coverage-breakdown ${compact?'compact':''}"><div class="coverage-bar" role="img" aria-label="已覆盖 ${pct(v.covered_fraction)},低覆盖 ${pct(v.low_fraction)},未覆盖 ${pct(v.uncovered_fraction)}"><span class="covered" style="width:${v.covered_fraction*100}%"></span><span class="low" style="width:${v.low_fraction*100}%"></span><span class="uncovered" style="width:${v.uncovered_fraction*100}%"></span></div><div class="coverage-values"><span class="covered-text">已覆盖 ${pct(v.covered_fraction)}</span><span class="low-text">低覆盖 ${pct(v.low_fraction)}</span><span class="uncovered-text">未覆盖 ${pct(v.uncovered_fraction)}</span></div>${compact?'':`<p class="metric">分母 ${nf(v.n)} 个实际分析手帧:${nf(v.covered)} 已覆盖 / ${nf(v.low)} 低覆盖 / ${nf(v.uncovered)} 未覆盖。</p>`}</div>`}
|
| 23 |
+
function classBadge(c){const v=c.coverage;if(!v)return '';const label=v.status==='uncovered'?'整类未覆盖':v.status==='covered'?'≥90% 已覆盖':'部分覆盖';return `<span class="coverage-badge ${v.status}" title="以逐成员比例为准;整类未覆盖要求所有成员都没有相似参照。">${label}</span>`}
|
| 24 |
+
function filteredExternal(){return [...model('external')[level]].filter(c=>coverageFilter==='all'||coverageFilter==='entire'&&c.coverage.uncovered===c.n||coverageFilter==='mostly_gap'&&c.coverage.uncovered_fraction>=.5||coverageFilter==='mostly_covered'&&c.coverage.covered_fraction>=.7).sort((a,b)=>coverageSort==='id'?a.number-b.number:coverageSort==='covered'?b.coverage.covered_fraction-a.coverage.covered_fraction:b.coverage.uncovered_fraction-a.coverage.uncovered_fraction)}
|
| 25 |
+
function renderCoverage(){const v=D.coverage.summary[hand],cal=D.coverage.calibration[hand],cs=model('external')[level],entire=cs.filter(c=>c.coverage.status==='uncovered').length;$('#coverageSummary').innerHTML=`<div class="coverage-summary">${coverageBar(v,true)}<span class="metric">${hand==='left'?'左':'右'}手 ${nf(v.n)} 个外部手帧 · ${cs.length} 类中 ${entire} 类整类未覆盖 · 相似阈值 ${cal.thresholds_deg.q95.toFixed(2)}°</span></div>`;
|
| 26 |
+
const sens=D.coverage.sensitivity.filter(x=>x.key==='external_'+hand&&['q90','q95','q99'].includes(x.threshold));$('#coverageMethodBody').innerHTML=`<p class="hint">距离使用来源 GT 的 20 根 3D 骨方向,在掌部坐标系中计算平均夹角,去除手腕整体运动和骨长差异;左右手分开。不是 2D 图上距离,也不是 MANO 参数直接相减。</p><p class="hint">参照:H2O+ARCTIC+HOT3D+EgoRenderer Ver.005,共 271,543 手帧;本侧 ${nf(cal.reference_n)} 手帧、${nf(cal.reference_units)} 段独立录制/源动作。用本侧 4,096 个内部留出样本校准,检索时排除同录制全部帧;四源及各录制均衡加权,取最近距离的 95% 分位。每个外部成员穷举检索全部同侧参照。</p><table><thead><tr><th>校准分位</th><th>阈值</th><th>已覆盖</th><th>低覆盖</th><th>未覆盖</th></tr></thead><tbody>${sens.map(x=>`<tr><td>${x.threshold==='q95'?'95%(本页)':x.threshold.slice(1)+'%'}</td><td>${x.threshold_deg.toFixed(2)}°</td><td>${pct(x.covered_fraction)}</td><td>${pct(x.low_fraction)}</td><td>${pct(x.uncovered_fraction)}</td></tr>`).join('')}</tbody></table><p class="hint">类标签:≥90% 成员已覆盖才标“≥90% 已覆盖”;所有成员无近邻才标“整类未覆盖”;其余标“部分覆盖”。90% 是显示约定,完整比例始终保留。统计分母是本轮分析样本,不是 WiLoR 官方全量;2D 来源不作 3D 覆盖判断。我们参照使用已核对训练成员的来源 GT,最终 canonical 标签和 loss mask 尚未验收。</p>`}
|
| 27 |
+
function memberBadge(s){const v=s.coverage;if(!v)return '';return `<p class="sample-coverage"><span class="coverage-badge ${v.status}">${{covered:'已覆盖',low:'低覆盖',uncovered:'抽样库未覆盖'}[v.status]}</span> 最近距离 ${v.distance_deg.toFixed(2)}° / 阈值 ${v.threshold_deg.toFixed(2)}° · ${nf(v.support_recordings)} 段相似参照录制</p>`}
|
| 28 |
+
function gapBlock(v){const s=D.samples[v.id],n=v.nearest;return `<article class="gap-case"><h3>未覆盖成员 · ${esc(cname(s.source))} · ${s.hand==='left'?'左手':'右手'} · 帧 ${s.frame}</h3><p class="evidence">${esc(s.recording)} · ${esc(s.label)} · 距该类原型 ${v.prototype_distance_deg.toFixed(2)}°</p>${memberBadge(s)}<div class="pair"><div><h4>外部实际成员</h4>${poseCanvas(v.joints,'该未覆盖成员的 GT 姿态')}<a href="${s.assets.full}" target="_blank"><img class="gap-image" src="${s.assets.crop}" loading="lazy" alt="外部未覆盖成员:原图与 GT 叠加"></a><p class="metric">原图 | GT 叠加 · 点击看完整原画面</p></div><div><h4>我们库中的精确最近邻</h4>${poseCanvas(n.joints,'该成员的精确最近 GT 姿态')}${n.media?`<a href="${n.media.assets.full}" target="_blank"><img class="gap-image" src="${n.media.assets.crop}" loading="lazy" alt="精确最近邻:原图与 GT 叠加"></a><p class="metric">原图 | GT 叠加 · 点击看完整原画面</p>`:'<p class="warning">这个精确最近邻未通过原图可读性检查,保留其 GT 骨架;没有用其他样本替代。</p>'}<p class="evidence">${esc(cname(n.source))} · ${esc(n.recording)} · 帧 ${n.frame} · ${n.hand==='left'?'左':'右'}手</p></div></div><details><summary>相机与 GT 证据</summary><p class="evidence">外部:${esc(s.camera)}。${esc(s.gt_status)}</p><p class="evidence">最近邻:${esc(n.media?.evidence?.camera??n.media_missing_reason)}。图像叠加仅供核查,覆盖距离不构成 GT 可靠性结论。</p></details></article>`}
|
| 29 |
+
function related(c){return D.pairs.some(p=>p.related && p.group===c.key.split('_')[0]&&p.hand===hand&&(p.a===c.id||p.b===c.id))}
|
| 30 |
+
function card(c){const v=c.examples[0],s=D.samples[v.id];return `<article class="card" data-key="${c.key}"><div class="card-head"><h3>${c.id}</h3><span>${classBadge(c)}${related(c)&&level==='distinct'?'<span class="badge">有相近类</span>':''}</span></div><div class="card-meta">${nf(c.n)} 手帧 · ${Object.keys(c.sources).length} 来源</div>${c.coverage?coverageBar(c.coverage,true):''}${poseCanvas(c.joints,'GT 类原型')}<img src="${s.assets.crop}" alt="${esc(cname(s.source))} 原图与 GT 叠加" loading="lazy"><div class="card-foot">${esc(cname(s.source))} · ${v.is_prototype?'原型本人':`同类图例,距原型 ${v.prototype_distance_deg.toFixed(1)}°`}</div><button class="open" data-open="${c.key}">${c.coverage?'未覆盖成员 / 原图 / 近邻':'原图 / GT 叠加 / 近邻'}</button></article>`}
|
| 31 |
+
function countTable(){const rows=['ours','external'].map(g=>{const m=model(g);return `<tr><td class="${g}">${g==='ours'?'我们三源+合成':'WiLoR 外部 3D 来源'}</td><td>${nf(m.n)}</td><td>${m[level].length}</td><td>${m.fine.length-m.distinct.length}</td></tr>`}).join('');$('#countTable').innerHTML=`<table><thead><tr><th>组别 · ${hand==='left'?'左手':'右手'}</th><th>参与手帧</th><th>当前类数</th><th>合并减少细类数</th></tr></thead><tbody>${rows}</tbody></table>`}
|
| 32 |
+
function renderOverview(){countTable();for(const g of ['ours','external']){const cs=g==='external'?filteredExternal():model(g)[level];$('#'+g+'Cards').innerHTML=cs.map(card).join('')||'<p class="hint">当前筛选没有类别。</p>';$('#'+g+'Count').textContent=`${cs.length} / ${model(g)[level].length} 类`}scatter()}
|
| 33 |
+
function pairTile(c){const s=D.samples[c.examples[0].id];return `<div><h3><a data-open="${c.key}">${c.id} · ${esc(cname(c.prototype.source))}</a></h3>${poseCanvas(c.joints,'GT 类原型')}<img src="${s.assets.crop}" loading="lazy" alt="同类 RGB 与 GT 图例"><p class="metric">图例 ${esc(cname(s.source))} · 距原型 ${c.examples[0].prototype_distance_deg.toFixed(1)}°</p></div>`}
|
| 34 |
+
function renderCompare(){const sorted=filteredExternal();$('#comparisonRows').innerHTML=sorted.map(c=>{const n=c.nearest_reference,a=allClasses[n.nearest_our_key];return `<div class="row"><div class="row-title"><strong>我们 ${a.id} ↔ 外部 ${c.id}</strong>${classBadge(c)}</div>${coverageBar(c.coverage)}<div class="pair">${pairTile(a)}${pairTile(c)}</div><p class="metric">类原型差 ${n.class_prototype_mean_deg.toFixed(1)}° · 外部原型最近参照 ${n.mean_deg.toFixed(1)}°(原型示意;覆盖统计来自全类成员)</p><button data-open="${c.key}">看该类未覆盖成员、原图与精确最近邻</button></div>`}).join('')||'<p class="hint">当前筛选没有类别。</p>'}
|
| 35 |
+
function renderSimilar(){const summaries=D.summary.filter(s=>s.hand===hand);$('#duplicateSummary').innerHTML=`<table><thead><tr><th>组别</th><th>32 细类中的相近对</th><th>合并后相近对</th><th>主视图类数</th></tr></thead><tbody>${summaries.map(s=>`<tr><td>${s.group==='ours'?'我们':'外部'}</td><td>${s.stages.fine.near_pairs}</td><td>${s.stages.distinct.near_pairs}</td><td>${s.stages.distinct.k}</td></tr>`).join('')}</tbody></table><p class="hint">“相近”按原型或数值中心的 20 骨平均夹角 ≤12°,且每根手指平均夹角 ≤20° 判断;这是本页查看粒度,不是通用手势标准。</p>`;
|
| 36 |
+
const pp=D.pairs.filter(p=>p.hand===hand&&p.related);$('#relatedPairs').innerHTML=pp.map(p=>{const a=allClasses[`${p.group}_${hand}_distinct_${p.a}`],b=allClasses[`${p.group}_${hand}_distinct_${p.b}`];return `<div class="row"><strong>${p.group==='ours'?'我们':'外部'} ${p.a} / ${p.b}</strong><div class="finger-values">${p.finger_deg.map((v,i)=>`${['拇','食','中','环','小'][i]}指 ${v.toFixed(1)}°`).join(' · ')}</div><div class="pair">${pairTile(a)}${pairTile(b)}</div><p class="metric">原型整体 ${p.mean_deg.toFixed(1)}° · 跨录制近邻更靠近另一类的比例 ${(100*p.member_diagnostic.cross_cluster_closer_fraction).toFixed(1)}%</p></div>`}).join('')||'<p class="hint">本侧没有满足判据的剩余相近类对。</p>';
|
| 37 |
+
$('#mergeRows').innerHTML=D.merges.filter(m=>m.hand===hand).map(m=>`<div class="row"><div class="row-title"><strong>${m.group==='ours'?'我们':'外部'}:${m.children.join(' + ')} → 主类 ${m.cluster}</strong><span class="metric">${nf(m.n)} 手帧</span></div><div class="children">${m.child_keys.map(k=>{const c=allClasses[k];return `<div class="child"><a data-open="${k}">${c.id} · 细类</a>${poseCanvas(c.joints,'GT 原型')}</div>`}).join('')}</div></div>`).join('')}
|
| 38 |
+
function renderSources(){$('#sourceTable').innerHTML='<thead><tr><th>来源组</th><th>数据集 / 可视化</th><th>实际参与手帧</th><th>版本与范围</th><th>本轮用途</th><th>对参照库覆盖</th></tr></thead><tbody>'+D.sources.map(s=>`<tr><td>${s.group}</td><td><button class="source-button" data-source="${s.id}">${esc(s.name)}</button></td><td>${nf(s.cluster_n||0)}</td><td>${esc(s.scope)}</td><td>${esc(s.role)}</td><td>${D.coverage.sources[s.id]?coverageBar(D.coverage.sources[s.id],true):s.group==='我们'?'参照库':s.gallery_source?'与参照重叠,不单计':'不作 3D 判断'}</td></tr>`).join('')+'</tbody>'}
|
| 39 |
+
function sampleBlock(s,v){return `<section class="example">${memberBadge(s)}<h3>${esc(cname(s.source))} · ${esc(s.hand)} · 帧 ${esc(s.frame??'—')}</h3><p class="evidence">${esc(s.recording??s.split??'')} · ${esc(s.label)}${v?` · 距类原型 ${v.prototype_distance_deg.toFixed(2)}°`:''}</p><a href="${s.assets.full}" target="_blank"><img class="detail-pair" src="${s.assets.full}" alt="原图与对应 GT 叠加"></a><p class="evidence">${esc(s.camera??s.note??'')} · ${esc(s.gt_status??'仅可核查相应标注,不参与3D聚类')}</p></section>`}
|
| 40 |
+
function openClass(key){const c=allClasses[key],g=key.split('_')[0];let head=`<h2>${g==='ours'?'我们':'外部'} · ${key.includes('_left_')?'左手':'右手'} · ${c.id}${key.includes('_fine_')?'(细类)':''}</h2><p class="evidence">原型:${esc(cname(c.prototype.source))} · ${esc(c.prototype.recording)} · 帧 ${c.prototype.frame}。${nf(c.n)} 个成员。</p>`;
|
| 41 |
+
head+=c.coverage?classBadge(c)+coverageBar(c.coverage):'';
|
| 42 |
+
let top=`<div class="dialog-top"><div>${poseCanvas(c.joints,'精确 GT 类原型')}<p class="hint">统一掌部坐标与骨长,仅用于姿态比较。</p></div>`;
|
| 43 |
+
if(c.nearest_reference){const n=c.nearest_reference;top+=`<div>${poseCanvas(n.nearest_joints,'全部参照库中的最近 GT 样本')}<p class="metric">对全部同侧三源+合成样本检索:${n.mean_deg.toFixed(2)}°。不使用散点图距离。</p></div>`}else top+=`<div><h3>来源组成</h3>${Object.entries(c.sources).sort((a,b)=>b[1]-a[1]).map(([s,n])=>`<p class="metric">${esc(cname(s))}:${nf(n)}</p>`).join('')}</div>`;
|
| 44 |
+
top+='</div>';
|
| 45 |
+
let note=c.examples[0].prototype_distance_deg>8?'<p class="warning">当前可读 RGB 图例与类原型仍有较大差别。上方骨架才是精确原型;下面图片保留实际成员身份与距离。</p>':'';
|
| 46 |
+
const gaps=D.coverage.examples[key]||[],gapIds=new Set(gaps.map(v=>v.id)),other=c.examples.filter(v=>!gapIds.has(v.id));
|
| 47 |
+
$('#detailBody').innerHTML=head+(c.coverage?'<details class="prototype-details"><summary>类原型与其最近邻</summary>'+top+note+'</details>':top+note)+(gaps.length?'<h3 class="gap-title">本类实际未覆盖成员</h3>'+gaps.map(gapBlock).join(''):'')+(other.length?'<h3>其他同类成员</h3>'+other.map(v=>sampleBlock(D.samples[v.id],v)).join(''):'');if(!$('#detail').open)$('#detail').showModal();wirePoses();activeDetail='class='+encodeURIComponent(key);location.hash=activeDetail}
|
| 48 |
+
function openSource(src){const s=D.sources.find(x=>x.id===src),target=s.gallery_source||src,ids=D.gallery[target]||[],two=D.two_d[src]||[];let body=`<h2>${esc(s.name)} · ${esc(s.group)}</h2><p>${esc(s.scope)}</p>`;
|
| 49 |
+
if(D.coverage.sources[src])body+=coverageBar(D.coverage.sources[src]);
|
| 50 |
+
if(two.length)body+=two.map(v=>sampleBlock(v,null)).join('');
|
| 51 |
+
else if(ids.length){body+='<p class="hint">以下图例均属于本轮冻结成员;点击原图可放大。手侧保留逐样本标记。</p>';body+=ids.slice(0,20).map(id=>sampleBlock(D.samples[id],null)).join('')}
|
| 52 |
+
else body+=`<p class="warning">${src==='wilor_bedlam'?'按用户要求跳过,本轮没有读取或聚类。':'当前聚类使用该源 GT;本页未选到该源配对图例。'}</p>`;
|
| 53 |
+
$('#detailBody').innerHTML=body;if(!$('#detail').open)$('#detail').showModal();activeDetail='source='+encodeURIComponent(src);location.hash=activeDetail}
|
| 54 |
+
function scatter(){const c=$('#scatter'),ctx=c.getContext('2d');ctx.clearRect(0,0,c.width,c.height);const all=['ours','external'].flatMap(g=>model(g)[level].map(x=>({...x,g})));let xx=all.map(c=>c.display_xy[0]),yy=all.map(c=>c.display_xy[1]),xmin=Math.min(...xx),xmax=Math.max(...xx),ymin=Math.min(...yy),ymax=Math.max(...yy);const points=[];for(const p of all){let x=45+(p.display_xy[0]-xmin)/(xmax-xmin)*1000,y=400-(p.display_xy[1]-ymin)/(ymax-ymin)*350;ctx.fillStyle=p.g==='ours'?'#276a9c':'#79569d';ctx.beginPath();ctx.arc(x,y,6,0,Math.PI*2);ctx.fill();ctx.fillText(p.id,x+8,y+4);points.push({x,y,key:p.key})}c.onclick=e=>{const r=c.getBoundingClientRect(),x=(e.clientX-r.left)*c.width/r.width,y=(e.clientY-r.top)*c.height/r.height;const hit=points.find(p=>Math.hypot(x-p.x,y-p.y)<15);if(hit)openClass(hit.key)}}
|
| 55 |
+
function render(){poses.clear();renderCoverage();if(tab==='overview')renderOverview();if(tab==='compare')renderCompare();if(tab==='similar')renderSimilar();if(tab==='sources')renderSources();wirePoses()}
|
| 56 |
+
function changeTab(t){tab=t;document.querySelectorAll('.tab').forEach(e=>e.hidden=e.id!==t);document.querySelectorAll('nav button').forEach(e=>e.classList.toggle('active',e.dataset.tab===t));render()}
|
| 57 |
+
document.addEventListener('click',e=>{const open=e.target.closest('[data-open]'),source=e.target.closest('[data-source]'),tb=e.target.closest('[data-tab]');if(open){e.preventDefault();openClass(open.dataset.open)}if(source)openSource(source.dataset.source);if(tb)changeTab(tb.dataset.tab)});
|
| 58 |
+
$('#coverageFilter').onchange=e=>{coverageFilter=e.target.value;render()};$('#coverageSort').onchange=e=>{coverageSort=e.target.value;render()};
|
| 59 |
+
$('#hand').onchange=e=>{hand=e.target.value;render()};$('#level').onchange=e=>{level=e.target.value;render()};$('#view').onchange=e=>{view=e.target.value;wirePoses()};$('#reset').onclick=()=>{poses.forEach(p=>p.rot=[0,0]);wirePoses()};$('#closeDetail').onclick=()=>$('#detail').close();$('#detail').addEventListener('close',()=>{activeDetail='';history.replaceState(null,'',location.pathname+location.search)});window.addEventListener('resize',()=>wirePoses());
|
| 60 |
+
function restoreHash(){const hash=location.hash.slice(1);if(hash===activeDetail)return;const initial=new URLSearchParams(hash);if(initial.has('class')&&allClasses[initial.get('class')])openClass(initial.get('class'));else if(initial.has('source')&&D.sources.some(s=>s.id===initial.get('source')))openSource(initial.get('source'));else if(!hash&&$('#detail').open)$('#detail').close()}
|
| 61 |
+
window.addEventListener('hashchange',restoreHash);render();restoreHash();
|
pose_recluster_distinct_20261014/downloads/coverage/code/web/index.html
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>最新抽样 · 局部姿态聚类对比</title><link rel="stylesheet" href="style.coverage_v2.css"></head>
|
| 3 |
+
<body>
|
| 4 |
+
<header><h1>局部姿态聚类对比 <small>逐成员覆盖 · 2026.10.14</small></h1><div class="toolbar"><label>手侧 <select id="hand"><option value="right">右手</option><option value="left">左手</option></select></label><label>粒度 <select id="level"><option value="distinct">合并相近类后</option><option value="fine">32 个细类</option></select></label><label>骨架视角 <select id="view"><option value="oblique">斜看</option><option value="palm">掌面</option><option value="side">侧面</option></select></label><button id="reset">重置视角</button></div></header>
|
| 5 |
+
<nav><button data-tab="overview" class="active">两组类别</button><button data-tab="compare">逐类比较</button><button data-tab="similar">相似与合并</button><button data-tab="sources">18 行来源表</button></nav>
|
| 6 |
+
<main>
|
| 7 |
+
<section class="coverage-panel" aria-label="外部姿态覆盖"><div class="coverage-controls"><strong>WiLoR 外部类 → 我们三源+合成</strong><label>外部类筛选 <select id="coverageFilter"><option value="all">全部</option><option value="entire">整类未覆盖</option><option value="mostly_gap">未覆盖成员 ≥50%</option><option value="mostly_covered">已覆盖成员 ≥70%</option></select></label><label>排序 <select id="coverageSort"><option value="gap">未覆盖比例高 → 低</option><option value="covered">已覆盖比例高 → 低</option><option value="id">类别编号</option></select></label></div><div id="coverageSummary"></div><p class="coverage-legend"><span class="dot covered"></span>已覆盖:≥3 段独立录制有相似姿态 <span class="dot low"></span>低覆盖:只有 1–2 段 <span class="dot uncovered"></span>未覆盖:没有相似姿态</p><p class="hint">均指本次抽样库。类别内逐成员统计;未覆盖不等于 GT 可靠,也不等于全量训练集绝对缺失。</p><details id="coverageMethod"><summary>判定依据与阈值敏感性</summary><div id="coverageMethodBody"></div></details></section>
|
| 8 |
+
<div id="overview" class="tab"><div id="countTable"></div><p class="hint">点击外部类的“未覆盖成员 / 原图 / 近邻”查看具体缺口。骨架可拖动旋转;A、B 编号各自独立。</p><div class="two-groups"><section><h2 class="ours">我们:三源+EgoRenderer Ver.005 <span id="oursCount"></span></h2><div id="oursCards" class="cards"></div></section><section><h2 class="external">外部:WiLoR 可读 3D 来源 <span id="externalCount"></span></h2><div id="externalCards" class="cards"></div></section></div><details><summary>类别分布图(仅展示)</summary><p class="hint">同一掌部坐标和投影;图上距离不作为覆盖或合并依据。</p><canvas id="scatter" width="1100" height="450"></canvas></details></div>
|
| 9 |
+
<div id="compare" class="tab" hidden><p class="hint">右边是外部类;左边是它最相近的我们类。覆盖条来自该类全部成员;点击外部类查看未覆盖成员与各自的精确最近邻。</p><div id="comparisonRows"></div></div>
|
| 10 |
+
<div id="similar" class="tab" hidden><div id="duplicateSummary"></div><h2>仍然相近的类</h2><p class="hint">下列类的中心相近,但继续整类合并会把部分差异较大的手指形态连在一起,因此保留并显式标记。</p><div id="relatedPairs"></div><h2>已合并的细类</h2><div id="mergeRows"></div></div>
|
| 11 |
+
<div id="sources" class="tab" hidden><p class="hint">8 个外部 3D 来源参与本轮聚类。ARCTIC/HOT3D 与我们组重叠;仅 2D 的来源点击直接看 RGB 关键点。</p><div class="scroll"><table id="sourceTable"></table></div><p class="hint">WiLoR 行为官方源数据代理,未声称精确复现其加工训练包。我们组三源依据已核对训练成员的来源 GT;最终 canonical 标签仍未核验。ReInterHand 的 7,600 个 test 手帧未参与聚类。</p></div>
|
| 12 |
+
</main>
|
| 13 |
+
<footer><a href="downloads/coverage/RESULTS_ZH.md">覆盖结果</a><a href="downloads/coverage/member_coverage.csv.gz">逐成员覆盖 CSV</a><a href="downloads/coverage/class_coverage.csv">逐类覆盖 CSV</a><a href="downloads/coverage/REPRODUCE.md">覆盖复现</a><a href="downloads/RESULTS_ZH.md">结果说明</a><a href="downloads/assignments.csv.gz">逐样本类别 CSV</a><a href="downloads/all_class_pairs.csv">类间距离 CSV</a><a href="downloads/REPRODUCE.md">代码与复现</a><span>数据分组并非人工手势标签;GT 来源身份与可靠性分开。</span></footer>
|
| 14 |
+
<dialog id="detail"><button id="closeDetail" class="close" aria-label="关闭">×</button><div id="detailBody"></div></dialog>
|
| 15 |
+
<script src="data.coverage_v2.js"></script><script src="app.coverage_v2.js"></script>
|
| 16 |
+
</body></html>
|
pose_recluster_distinct_20261014/downloads/coverage/code/web/style.css
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
:root{--ink:#203046;--muted:#637489;--line:#dbe3ec;--ours:#276a9c;--ext:#79569d}*{box-sizing:border-box}body{margin:0;background:#f2f5f8;color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Microsoft YaHei",sans-serif}header,nav,main,footer{max-width:1500px;margin:auto;padding:18px 25px}header{display:flex;align-items:center;justify-content:space-between;gap:18px}h1{font-size:23px;margin:0}h1 small{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}h2{font-size:17px;margin:16px 0}h2 span{font-size:13px;font-weight:400}.toolbar,nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center}nav{padding-top:0;padding-bottom:4px}button,select{font:inherit;background:white;border:1px solid #c8d4df;border-radius:6px;padding:7px 11px;color:var(--ink);cursor:pointer}button:hover,a:hover{color:#1064a0}nav button.active{background:#203e5b;color:white;border-color:#203e5b}a{color:#226a9b;cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}.hint{color:var(--muted);font-size:13px;margin:12px 0}table{border-collapse:collapse;width:100%;background:white;border-radius:7px;overflow:hidden}th,td{padding:10px 13px;border-bottom:1px solid var(--line);text-align:left}th{font-size:13px;background:#eaf0f5}td{font-variant-numeric:tabular-nums}.scroll{overflow:auto}.two-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ours{color:var(--ours)}.external{color:var(--ext)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden}.card h3{margin:0;font-size:15px}.card-head{padding:9px 12px;display:flex;justify-content:space-between;align-items:center}.card-meta{color:var(--muted);font-size:11px;padding:0 12px 5px}.pose{width:100%;height:170px;display:block;touch-action:none;cursor:grab;background:#fbfcfd}.card img{width:100%;height:133px;object-fit:contain;display:block;background:#eef2f5}.card-foot{padding:6px 10px;font-size:11px;color:var(--muted)}.card .open{display:block;width:100%;border:0;border-radius:0;background:#f8fafc;font-size:12px;padding:6px}.badge{color:#8c5a16;background:#fff2dc;padding:1px 5px;border-radius:4px;font-size:11px}.row{background:white;border:1px solid var(--line);border-radius:8px;margin:13px 0;padding:14px}.row-title{display:flex;gap:16px;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap}.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pair .pose{height:210px}.pair img{width:100%;max-height:220px;object-fit:contain}.pair h3{font-size:15px}.metric{font-size:13px;color:var(--muted)}.children{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.children .pose{height:150px}.child{max-width:260px;border:1px solid var(--line);padding:6px;border-radius:6px}.child img{width:100%;height:90px;object-fit:contain}.finger-values{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}details{background:white;border:1px solid var(--line);padding:12px;border-radius:8px;margin-top:18px}summary{cursor:pointer}#scatter{max-width:100%;height:auto;cursor:pointer}footer{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding-bottom:30px}dialog{border:1px solid var(--line);border-radius:10px;width:min(1250px,96vw);max-height:93vh;padding:24px;color:var(--ink)}dialog::backdrop{background:#172a40a8}.close{float:right;position:sticky;top:0;font-size:23px;line-height:1;background:white;z-index:2}.dialog-top{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dialog-top .pose{height:270px}.detail-pair{width:100%;height:auto;display:block}.evidence{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.example{padding:12px 0;border-top:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery img{width:100%;height:180px;object-fit:contain}.warning{color:#865614;background:#fff6e7;padding:8px 12px;border-radius:6px;font-size:13px}.source-button{border:0;background:none;padding:0;color:#226a9b;text-align:left}.mono{font-variant-numeric:tabular-nums}.nearest{background:#edf5f9;padding:12px;border-radius:8px}@media(max-width:1050px){header{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}.card .pose{height:195px}.card img{height:160px}}@media(max-width:620px){header,nav,main,footer{padding-left:12px;padding-right:12px}h1{font-size:20px}.two-groups{gap:10px}.card-head{padding:7px}.card-meta{padding:0 7px 5px}.card .pose{height:155px}.card img{height:100px}.two-groups h2{font-size:13px}.card-foot{font-size:10px}.dialog-top,.gallery{grid-template-columns:1fr}.pair{gap:8px}.pair .pose{height:155px}.children{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{font-size:12px;gap:6px}th,td{padding:7px;font-size:12px}dialog{padding:14px}.card .open{font-size:11px}.row{padding:10px}.row-title{font-size:13px}}
|
| 2 |
+
|
| 3 |
+
.coverage-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:16px}.coverage-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.coverage-controls strong{margin-right:auto}.coverage-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:12px}.coverage-summary .coverage-breakdown{flex:1;min-width:260px}.coverage-bar{height:9px;display:flex;border-radius:5px;overflow:hidden;background:#e7edf2;width:100%;min-width:100px}.covered{background:#218762}.low{background:#c88926}.uncovered{background:#ca5054}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;margin-right:3px}.coverage-values{display:flex;gap:9px;justify-content:space-between;font-size:11px;flex-wrap:wrap;margin-top:4px}.covered-text{color:#146847}.low-text{color:#8e5706}.uncovered-text{color:#a73139}.coverage-legend{font-size:12px;margin:10px 0 4px}.coverage-badge{display:inline-block;padding:2px 7px;border-radius:5px;font-size:11px;white-space:nowrap}.coverage-badge.covered{background:#e3f3eb;color:#146847}.coverage-badge.low{background:#fff1d9;color:#8e5706}.coverage-badge.uncovered{background:#fce7e8;color:#a73139}.card .coverage-breakdown{padding:4px 11px 7px}.card-head>span{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.coverage-panel details{margin-top:8px;padding:7px 10px;font-size:12px;background:#fafcfe}.coverage-panel .hint{margin:7px 0}.gap-case{border:1px solid #ead4d5;background:#fffafa;padding:16px;border-radius:8px;margin:14px 0}.gap-case h3{font-size:16px;margin:0 0 5px}.gap-case h4{font-size:13px;margin:10px 0 5px}.gap-case details{font-size:12px;padding:7px;margin-top:10px}.gap-case .pair .gap-image{width:100%;height:220px;max-height:none;object-fit:contain;background:#f0f3f6}.sample-coverage{font-size:12px;color:var(--muted);line-height:1.9}.gap-title{color:#a73139;border-top:1px solid var(--line);padding-top:16px}.scroll .coverage-breakdown{min-width:230px}.coverage-breakdown .metric{margin:5px 0}.coverage-panel summary{font-size:12px}.row .coverage-breakdown{max-width:720px;margin-bottom:12px}
|
| 4 |
+
@media(max-width:620px){.coverage-panel{padding:11px}.coverage-controls{gap:8px}.coverage-controls strong{width:100%}.coverage-summary{gap:8px}.card .coverage-breakdown{padding:3px 7px 6px}.card .coverage-values{font-size:9px;gap:1px;display:grid;grid-template-columns:1fr}.card-head{gap:4px;align-items:flex-start}.card-head>span{max-width:80%}.gap-case{padding:9px}.gap-case .pair{grid-template-columns:1fr}.gap-case .pair .gap-image{height:auto;max-height:300px}.coverage-legend{line-height:1.9}.coverage-controls select{max-width:200px}}
|
pose_recluster_distinct_20261014/downloads/coverage/coverage_protocol.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"frozen_at_utc": "2026-10-14T06:12:10.626664+00:00",
|
| 3 |
+
"seed": 2026101407,
|
| 4 |
+
"base": "/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014",
|
| 5 |
+
"reference": "All 271543 frozen three-source + EgoRenderer Ver.005 analysis members; separate hands; original source GT proxies, final canonical supervision/masks not verified",
|
| 6 |
+
"external": "All 214481 frozen train members of 8 readable external WiLoR official-source 3D proxies; excludes 7600 ReInterHand test members",
|
| 7 |
+
"feature": "Existing fixed 20 unit 3D bone directions in palm coordinates, 60 dimensions; wrist translation/rotation and bone length removed; no refit, no mirror pooling",
|
| 8 |
+
"distance": "Mean over 20 bones of acos(clamp(dot,-1,1)), degrees; exact exhaustive float32 GPU, TF32 disabled; validate CPU float64",
|
| 9 |
+
"calibration": {
|
| 10 |
+
"n": 8192,
|
| 11 |
+
"per_source_per_hand_max": 1024,
|
| 12 |
+
"sampling": "Seeded recording round robin, random frames without replacement; equal source and equal recording weights within each hand",
|
| 13 |
+
"exclusion": "Exclude all members of the query independent recording/source action from reference, not only query frame",
|
| 14 |
+
"threshold": "Separate left/right weighted 95th percentile of leave-recording/action-out nearest-reference distance; computed before external evaluation",
|
| 15 |
+
"sensitivity_quantiles": [
|
| 16 |
+
0.9,
|
| 17 |
+
0.95,
|
| 18 |
+
0.99
|
| 19 |
+
],
|
| 20 |
+
"additional_fixed_degrees": [
|
| 21 |
+
10,
|
| 22 |
+
20,
|
| 23 |
+
30
|
| 24 |
+
]
|
| 25 |
+
},
|
| 26 |
+
"sample_status": {
|
| 27 |
+
"covered": "nearest distance <= threshold and at least 3 distinct reference recording/source-action units within threshold",
|
| 28 |
+
"low": "nearest <= threshold but only 1 or 2 distinct reference units",
|
| 29 |
+
"uncovered": "nearest > threshold"
|
| 30 |
+
},
|
| 31 |
+
"class_status": {
|
| 32 |
+
"covered": "at least 90% of members have covered sample status",
|
| 33 |
+
"uncovered": "zero members have nearest distance <= threshold",
|
| 34 |
+
"low": "all other classes; stacked counts retain mixed within-class outcomes"
|
| 35 |
+
},
|
| 36 |
+
"class_badge_warning": "90% display convention, not a universal biological boundary. Per-member proportions are authoritative. Uncovered means in this sampled reference only.",
|
| 37 |
+
"weights": "Primary coverage is unweighted per analyzed hand-frame. Also report normalized original cluster fit-weight and equal-independent-unit sensitivity; do not claim unknown official population inclusion probabilities.",
|
| 38 |
+
"selection": "For classes with uncovered members select a paired-RGB actual uncovered member close to the class prototype, preferring independent examples. Never relabel a covered prototype as uncovered.",
|
| 39 |
+
"gt_quality": "Coverage is independent of GT validity. No automatic reliable/OOD/recommendation claim from distance alone.",
|
| 40 |
+
"no_changes": "No reclustering, smoothing, GT refitting or source label modifications"
|
| 41 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/coverage_visual_checks.json
ADDED
|
@@ -0,0 +1,1322 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "PASS",
|
| 3 |
+
"class_count": 114,
|
| 4 |
+
"examples": 164,
|
| 5 |
+
"unique_external_members": 116,
|
| 6 |
+
"unique_reference_members": 105,
|
| 7 |
+
"all_exact_nearest_rgb_present": true,
|
| 8 |
+
"checks": [
|
| 9 |
+
{
|
| 10 |
+
"class_key": "external_left_distinct_B1",
|
| 11 |
+
"id": "db1b87ed5e918dbee56a",
|
| 12 |
+
"index": 152574,
|
| 13 |
+
"uncovered": true,
|
| 14 |
+
"nearest_index": 33832,
|
| 15 |
+
"nearest_rgb": true
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"class_key": "external_left_distinct_B1",
|
| 19 |
+
"id": "c00e1d95904cb4d3e461",
|
| 20 |
+
"index": 153817,
|
| 21 |
+
"uncovered": true,
|
| 22 |
+
"nearest_index": 170132,
|
| 23 |
+
"nearest_rgb": true
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"class_key": "external_left_distinct_B2",
|
| 27 |
+
"id": "e93a7203af92a0bba127",
|
| 28 |
+
"index": 153341,
|
| 29 |
+
"uncovered": true,
|
| 30 |
+
"nearest_index": 23056,
|
| 31 |
+
"nearest_rgb": true
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"class_key": "external_left_distinct_B2",
|
| 35 |
+
"id": "a41106b1f8faadfbd0c6",
|
| 36 |
+
"index": 151978,
|
| 37 |
+
"uncovered": true,
|
| 38 |
+
"nearest_index": 187334,
|
| 39 |
+
"nearest_rgb": true
|
| 40 |
+
},
|
| 41 |
+
{
|
| 42 |
+
"class_key": "external_left_distinct_B3",
|
| 43 |
+
"id": "7cbee0066bf73c1230ec",
|
| 44 |
+
"index": 41702,
|
| 45 |
+
"uncovered": true,
|
| 46 |
+
"nearest_index": 134834,
|
| 47 |
+
"nearest_rgb": true
|
| 48 |
+
},
|
| 49 |
+
{
|
| 50 |
+
"class_key": "external_left_distinct_B3",
|
| 51 |
+
"id": "52e61ba8574c1c21171f",
|
| 52 |
+
"index": 39102,
|
| 53 |
+
"uncovered": true,
|
| 54 |
+
"nearest_index": 76838,
|
| 55 |
+
"nearest_rgb": true
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"class_key": "external_left_distinct_B4",
|
| 59 |
+
"id": "0831e6638e9af7f854bd",
|
| 60 |
+
"index": 39840,
|
| 61 |
+
"uncovered": true,
|
| 62 |
+
"nearest_index": 189144,
|
| 63 |
+
"nearest_rgb": true
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"class_key": "external_left_distinct_B4",
|
| 67 |
+
"id": "74961c20914e938a0ebc",
|
| 68 |
+
"index": 93086,
|
| 69 |
+
"uncovered": true,
|
| 70 |
+
"nearest_index": 2519,
|
| 71 |
+
"nearest_rgb": true
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"class_key": "external_left_distinct_B5",
|
| 75 |
+
"id": "7a659401c102ee6c4d53",
|
| 76 |
+
"index": 71275,
|
| 77 |
+
"uncovered": true,
|
| 78 |
+
"nearest_index": 173495,
|
| 79 |
+
"nearest_rgb": true
|
| 80 |
+
},
|
| 81 |
+
{
|
| 82 |
+
"class_key": "external_left_distinct_B5",
|
| 83 |
+
"id": "82270a2b1f87dae6ffed",
|
| 84 |
+
"index": 151929,
|
| 85 |
+
"uncovered": true,
|
| 86 |
+
"nearest_index": 89799,
|
| 87 |
+
"nearest_rgb": true
|
| 88 |
+
},
|
| 89 |
+
{
|
| 90 |
+
"class_key": "external_left_distinct_B6",
|
| 91 |
+
"id": "bfb2f241cb856b96b744",
|
| 92 |
+
"index": 37843,
|
| 93 |
+
"uncovered": true,
|
| 94 |
+
"nearest_index": 79018,
|
| 95 |
+
"nearest_rgb": true
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"class_key": "external_left_distinct_B6",
|
| 99 |
+
"id": "3ddf871100b7fa493f4c",
|
| 100 |
+
"index": 154193,
|
| 101 |
+
"uncovered": true,
|
| 102 |
+
"nearest_index": 79019,
|
| 103 |
+
"nearest_rgb": true
|
| 104 |
+
},
|
| 105 |
+
{
|
| 106 |
+
"class_key": "external_left_distinct_B7",
|
| 107 |
+
"id": "c0469034d3cb0c8cfacb",
|
| 108 |
+
"index": 164291,
|
| 109 |
+
"uncovered": true,
|
| 110 |
+
"nearest_index": 65088,
|
| 111 |
+
"nearest_rgb": true
|
| 112 |
+
},
|
| 113 |
+
{
|
| 114 |
+
"class_key": "external_left_distinct_B7",
|
| 115 |
+
"id": "a0e1eafc008fe03615bf",
|
| 116 |
+
"index": 153334,
|
| 117 |
+
"uncovered": true,
|
| 118 |
+
"nearest_index": 96924,
|
| 119 |
+
"nearest_rgb": true
|
| 120 |
+
},
|
| 121 |
+
{
|
| 122 |
+
"class_key": "external_left_distinct_B8",
|
| 123 |
+
"id": "1155d85f7d67fdea5ca4",
|
| 124 |
+
"index": 86462,
|
| 125 |
+
"uncovered": true,
|
| 126 |
+
"nearest_index": 32087,
|
| 127 |
+
"nearest_rgb": true
|
| 128 |
+
},
|
| 129 |
+
{
|
| 130 |
+
"class_key": "external_left_distinct_B8",
|
| 131 |
+
"id": "7e9540aab42ca1f283f1",
|
| 132 |
+
"index": 79416,
|
| 133 |
+
"uncovered": true,
|
| 134 |
+
"nearest_index": 81904,
|
| 135 |
+
"nearest_rgb": true
|
| 136 |
+
},
|
| 137 |
+
{
|
| 138 |
+
"class_key": "external_left_distinct_B9",
|
| 139 |
+
"id": "9186e37ea320e67eea4cc4b3",
|
| 140 |
+
"index": 192258,
|
| 141 |
+
"uncovered": true,
|
| 142 |
+
"nearest_index": 116684,
|
| 143 |
+
"nearest_rgb": true
|
| 144 |
+
},
|
| 145 |
+
{
|
| 146 |
+
"class_key": "external_left_distinct_B9",
|
| 147 |
+
"id": "8fc44d37c06f82c2bccfe0a7",
|
| 148 |
+
"index": 192008,
|
| 149 |
+
"uncovered": true,
|
| 150 |
+
"nearest_index": 196506,
|
| 151 |
+
"nearest_rgb": true
|
| 152 |
+
},
|
| 153 |
+
{
|
| 154 |
+
"class_key": "external_left_distinct_B10",
|
| 155 |
+
"id": "86c1b3d59b6d91f14ef6",
|
| 156 |
+
"index": 39555,
|
| 157 |
+
"uncovered": true,
|
| 158 |
+
"nearest_index": 58551,
|
| 159 |
+
"nearest_rgb": true
|
| 160 |
+
},
|
| 161 |
+
{
|
| 162 |
+
"class_key": "external_left_distinct_B10",
|
| 163 |
+
"id": "805d0cb50c887d06f851",
|
| 164 |
+
"index": 76816,
|
| 165 |
+
"uncovered": true,
|
| 166 |
+
"nearest_index": 58551,
|
| 167 |
+
"nearest_rgb": true
|
| 168 |
+
},
|
| 169 |
+
{
|
| 170 |
+
"class_key": "external_left_distinct_B11",
|
| 171 |
+
"id": "f9e4b832088ad843ce26fc9a",
|
| 172 |
+
"index": 192451,
|
| 173 |
+
"uncovered": true,
|
| 174 |
+
"nearest_index": 34777,
|
| 175 |
+
"nearest_rgb": true
|
| 176 |
+
},
|
| 177 |
+
{
|
| 178 |
+
"class_key": "external_left_distinct_B11",
|
| 179 |
+
"id": "8bc1231ca5c15b6f5c2d",
|
| 180 |
+
"index": 149468,
|
| 181 |
+
"uncovered": true,
|
| 182 |
+
"nearest_index": 140749,
|
| 183 |
+
"nearest_rgb": true
|
| 184 |
+
},
|
| 185 |
+
{
|
| 186 |
+
"class_key": "external_left_distinct_B12",
|
| 187 |
+
"id": "e819135ae0a98c833798",
|
| 188 |
+
"index": 40656,
|
| 189 |
+
"uncovered": true,
|
| 190 |
+
"nearest_index": 58465,
|
| 191 |
+
"nearest_rgb": true
|
| 192 |
+
},
|
| 193 |
+
{
|
| 194 |
+
"class_key": "external_left_distinct_B12",
|
| 195 |
+
"id": "1c3e2d6266babd3546e4",
|
| 196 |
+
"index": 42882,
|
| 197 |
+
"uncovered": true,
|
| 198 |
+
"nearest_index": 120574,
|
| 199 |
+
"nearest_rgb": true
|
| 200 |
+
},
|
| 201 |
+
{
|
| 202 |
+
"class_key": "external_left_distinct_B13",
|
| 203 |
+
"id": "68c621ec6f25af92b6d2",
|
| 204 |
+
"index": 134770,
|
| 205 |
+
"uncovered": true,
|
| 206 |
+
"nearest_index": 165102,
|
| 207 |
+
"nearest_rgb": true
|
| 208 |
+
},
|
| 209 |
+
{
|
| 210 |
+
"class_key": "external_left_distinct_B13",
|
| 211 |
+
"id": "e8ba03215a0dee415f9f",
|
| 212 |
+
"index": 111808,
|
| 213 |
+
"uncovered": true,
|
| 214 |
+
"nearest_index": 87746,
|
| 215 |
+
"nearest_rgb": true
|
| 216 |
+
},
|
| 217 |
+
{
|
| 218 |
+
"class_key": "external_left_distinct_B14",
|
| 219 |
+
"id": "a3c7b0983f4f67c9774a9d1d",
|
| 220 |
+
"index": 191524,
|
| 221 |
+
"uncovered": true,
|
| 222 |
+
"nearest_index": 162699,
|
| 223 |
+
"nearest_rgb": true
|
| 224 |
+
},
|
| 225 |
+
{
|
| 226 |
+
"class_key": "external_left_distinct_B14",
|
| 227 |
+
"id": "9b7689bc046883d6812ad365",
|
| 228 |
+
"index": 190831,
|
| 229 |
+
"uncovered": true,
|
| 230 |
+
"nearest_index": 134109,
|
| 231 |
+
"nearest_rgb": true
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"class_key": "external_left_distinct_B15",
|
| 235 |
+
"id": "da0af48ad0dcc8746952",
|
| 236 |
+
"index": 151832,
|
| 237 |
+
"uncovered": true,
|
| 238 |
+
"nearest_index": 32681,
|
| 239 |
+
"nearest_rgb": true
|
| 240 |
+
},
|
| 241 |
+
{
|
| 242 |
+
"class_key": "external_left_distinct_B15",
|
| 243 |
+
"id": "5d0f3c01b127efb8f0ea",
|
| 244 |
+
"index": 151875,
|
| 245 |
+
"uncovered": true,
|
| 246 |
+
"nearest_index": 109592,
|
| 247 |
+
"nearest_rgb": true
|
| 248 |
+
},
|
| 249 |
+
{
|
| 250 |
+
"class_key": "external_left_distinct_B16",
|
| 251 |
+
"id": "b11f99d2cf1b5841a9a2",
|
| 252 |
+
"index": 84569,
|
| 253 |
+
"uncovered": true,
|
| 254 |
+
"nearest_index": 126169,
|
| 255 |
+
"nearest_rgb": true
|
| 256 |
+
},
|
| 257 |
+
{
|
| 258 |
+
"class_key": "external_left_distinct_B16",
|
| 259 |
+
"id": "02ebf54c6583ab82c85f",
|
| 260 |
+
"index": 81718,
|
| 261 |
+
"uncovered": true,
|
| 262 |
+
"nearest_index": 126169,
|
| 263 |
+
"nearest_rgb": true
|
| 264 |
+
},
|
| 265 |
+
{
|
| 266 |
+
"class_key": "external_left_distinct_B17",
|
| 267 |
+
"id": "e84ccd22e73178c16b417d29",
|
| 268 |
+
"index": 191602,
|
| 269 |
+
"uncovered": true,
|
| 270 |
+
"nearest_index": 62462,
|
| 271 |
+
"nearest_rgb": true
|
| 272 |
+
},
|
| 273 |
+
{
|
| 274 |
+
"class_key": "external_left_distinct_B17",
|
| 275 |
+
"id": "7ad41e661baf307e75a0",
|
| 276 |
+
"index": 109330,
|
| 277 |
+
"uncovered": true,
|
| 278 |
+
"nearest_index": 267390,
|
| 279 |
+
"nearest_rgb": true
|
| 280 |
+
},
|
| 281 |
+
{
|
| 282 |
+
"class_key": "external_left_distinct_B18",
|
| 283 |
+
"id": "8e8a96391338bc10f7d1ad8f",
|
| 284 |
+
"index": 206691,
|
| 285 |
+
"uncovered": true,
|
| 286 |
+
"nearest_index": 47663,
|
| 287 |
+
"nearest_rgb": true
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"class_key": "external_left_distinct_B18",
|
| 291 |
+
"id": "68a541e264704eea1631197a",
|
| 292 |
+
"index": 212031,
|
| 293 |
+
"uncovered": true,
|
| 294 |
+
"nearest_index": 112953,
|
| 295 |
+
"nearest_rgb": true
|
| 296 |
+
},
|
| 297 |
+
{
|
| 298 |
+
"class_key": "external_left_distinct_B19",
|
| 299 |
+
"id": "1f23bff3fd47fb3d88e5",
|
| 300 |
+
"index": 127122,
|
| 301 |
+
"uncovered": true,
|
| 302 |
+
"nearest_index": 194888,
|
| 303 |
+
"nearest_rgb": true
|
| 304 |
+
},
|
| 305 |
+
{
|
| 306 |
+
"class_key": "external_left_distinct_B19",
|
| 307 |
+
"id": "481d81d40a4872823842",
|
| 308 |
+
"index": 133850,
|
| 309 |
+
"uncovered": true,
|
| 310 |
+
"nearest_index": 163083,
|
| 311 |
+
"nearest_rgb": true
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"class_key": "external_left_distinct_B20",
|
| 315 |
+
"id": "e711d428a3ed73d52639",
|
| 316 |
+
"index": 154256,
|
| 317 |
+
"uncovered": true,
|
| 318 |
+
"nearest_index": 142983,
|
| 319 |
+
"nearest_rgb": true
|
| 320 |
+
},
|
| 321 |
+
{
|
| 322 |
+
"class_key": "external_left_distinct_B20",
|
| 323 |
+
"id": "4f4bd53a317fbe19a459",
|
| 324 |
+
"index": 154738,
|
| 325 |
+
"uncovered": true,
|
| 326 |
+
"nearest_index": 78818,
|
| 327 |
+
"nearest_rgb": true
|
| 328 |
+
},
|
| 329 |
+
{
|
| 330 |
+
"class_key": "external_left_distinct_B21",
|
| 331 |
+
"id": "5f6fbeec7ba336848768",
|
| 332 |
+
"index": 153371,
|
| 333 |
+
"uncovered": true,
|
| 334 |
+
"nearest_index": 2272,
|
| 335 |
+
"nearest_rgb": true
|
| 336 |
+
},
|
| 337 |
+
{
|
| 338 |
+
"class_key": "external_left_distinct_B21",
|
| 339 |
+
"id": "9cfdf2985b9a27f5faf2",
|
| 340 |
+
"index": 153383,
|
| 341 |
+
"uncovered": true,
|
| 342 |
+
"nearest_index": 79922,
|
| 343 |
+
"nearest_rgb": true
|
| 344 |
+
},
|
| 345 |
+
{
|
| 346 |
+
"class_key": "external_left_distinct_B22",
|
| 347 |
+
"id": "1fa3b8cd32b3624f059f",
|
| 348 |
+
"index": 69682,
|
| 349 |
+
"uncovered": true,
|
| 350 |
+
"nearest_index": 45682,
|
| 351 |
+
"nearest_rgb": true
|
| 352 |
+
},
|
| 353 |
+
{
|
| 354 |
+
"class_key": "external_left_distinct_B22",
|
| 355 |
+
"id": "e6246244f9762ecf8af0",
|
| 356 |
+
"index": 38343,
|
| 357 |
+
"uncovered": true,
|
| 358 |
+
"nearest_index": 45682,
|
| 359 |
+
"nearest_rgb": true
|
| 360 |
+
},
|
| 361 |
+
{
|
| 362 |
+
"class_key": "external_left_distinct_B23",
|
| 363 |
+
"id": "f8701460479562a2b8576134",
|
| 364 |
+
"index": 211766,
|
| 365 |
+
"uncovered": true,
|
| 366 |
+
"nearest_index": 162254,
|
| 367 |
+
"nearest_rgb": true
|
| 368 |
+
},
|
| 369 |
+
{
|
| 370 |
+
"class_key": "external_left_distinct_B23",
|
| 371 |
+
"id": "d29ab4c17e72adb3d110",
|
| 372 |
+
"index": 60329,
|
| 373 |
+
"uncovered": true,
|
| 374 |
+
"nearest_index": 68029,
|
| 375 |
+
"nearest_rgb": true
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"class_key": "external_left_distinct_B24",
|
| 379 |
+
"id": "f814b3e93a1455c11234",
|
| 380 |
+
"index": 35361,
|
| 381 |
+
"uncovered": true,
|
| 382 |
+
"nearest_index": 4742,
|
| 383 |
+
"nearest_rgb": true
|
| 384 |
+
},
|
| 385 |
+
{
|
| 386 |
+
"class_key": "external_left_distinct_B24",
|
| 387 |
+
"id": "c59b63e4de72a20ab1a1",
|
| 388 |
+
"index": 43254,
|
| 389 |
+
"uncovered": true,
|
| 390 |
+
"nearest_index": 10555,
|
| 391 |
+
"nearest_rgb": true
|
| 392 |
+
},
|
| 393 |
+
{
|
| 394 |
+
"class_key": "external_left_fine_B1",
|
| 395 |
+
"id": "db1b87ed5e918dbee56a",
|
| 396 |
+
"index": 152574,
|
| 397 |
+
"uncovered": true,
|
| 398 |
+
"nearest_index": 33832,
|
| 399 |
+
"nearest_rgb": true
|
| 400 |
+
},
|
| 401 |
+
{
|
| 402 |
+
"class_key": "external_left_fine_B2",
|
| 403 |
+
"id": "e93a7203af92a0bba127",
|
| 404 |
+
"index": 153341,
|
| 405 |
+
"uncovered": true,
|
| 406 |
+
"nearest_index": 23056,
|
| 407 |
+
"nearest_rgb": true
|
| 408 |
+
},
|
| 409 |
+
{
|
| 410 |
+
"class_key": "external_left_fine_B3",
|
| 411 |
+
"id": "7cbee0066bf73c1230ec",
|
| 412 |
+
"index": 41702,
|
| 413 |
+
"uncovered": true,
|
| 414 |
+
"nearest_index": 134834,
|
| 415 |
+
"nearest_rgb": true
|
| 416 |
+
},
|
| 417 |
+
{
|
| 418 |
+
"class_key": "external_left_fine_B4",
|
| 419 |
+
"id": "0831e6638e9af7f854bd",
|
| 420 |
+
"index": 39840,
|
| 421 |
+
"uncovered": true,
|
| 422 |
+
"nearest_index": 189144,
|
| 423 |
+
"nearest_rgb": true
|
| 424 |
+
},
|
| 425 |
+
{
|
| 426 |
+
"class_key": "external_left_fine_B5",
|
| 427 |
+
"id": "7a659401c102ee6c4d53",
|
| 428 |
+
"index": 71275,
|
| 429 |
+
"uncovered": true,
|
| 430 |
+
"nearest_index": 173495,
|
| 431 |
+
"nearest_rgb": true
|
| 432 |
+
},
|
| 433 |
+
{
|
| 434 |
+
"class_key": "external_left_fine_B6",
|
| 435 |
+
"id": "bfb2f241cb856b96b744",
|
| 436 |
+
"index": 37843,
|
| 437 |
+
"uncovered": true,
|
| 438 |
+
"nearest_index": 79018,
|
| 439 |
+
"nearest_rgb": true
|
| 440 |
+
},
|
| 441 |
+
{
|
| 442 |
+
"class_key": "external_left_fine_B7",
|
| 443 |
+
"id": "c0469034d3cb0c8cfacb",
|
| 444 |
+
"index": 164291,
|
| 445 |
+
"uncovered": true,
|
| 446 |
+
"nearest_index": 65088,
|
| 447 |
+
"nearest_rgb": true
|
| 448 |
+
},
|
| 449 |
+
{
|
| 450 |
+
"class_key": "external_left_fine_B8",
|
| 451 |
+
"id": "1155d85f7d67fdea5ca4",
|
| 452 |
+
"index": 86462,
|
| 453 |
+
"uncovered": true,
|
| 454 |
+
"nearest_index": 32087,
|
| 455 |
+
"nearest_rgb": true
|
| 456 |
+
},
|
| 457 |
+
{
|
| 458 |
+
"class_key": "external_left_fine_B9",
|
| 459 |
+
"id": "7004ccacdf08558efd9e",
|
| 460 |
+
"index": 87457,
|
| 461 |
+
"uncovered": true,
|
| 462 |
+
"nearest_index": 186042,
|
| 463 |
+
"nearest_rgb": true
|
| 464 |
+
},
|
| 465 |
+
{
|
| 466 |
+
"class_key": "external_left_fine_B10",
|
| 467 |
+
"id": "9186e37ea320e67eea4cc4b3",
|
| 468 |
+
"index": 192258,
|
| 469 |
+
"uncovered": true,
|
| 470 |
+
"nearest_index": 116684,
|
| 471 |
+
"nearest_rgb": true
|
| 472 |
+
},
|
| 473 |
+
{
|
| 474 |
+
"class_key": "external_left_fine_B11",
|
| 475 |
+
"id": "86c1b3d59b6d91f14ef6",
|
| 476 |
+
"index": 39555,
|
| 477 |
+
"uncovered": true,
|
| 478 |
+
"nearest_index": 58551,
|
| 479 |
+
"nearest_rgb": true
|
| 480 |
+
},
|
| 481 |
+
{
|
| 482 |
+
"class_key": "external_left_fine_B12",
|
| 483 |
+
"id": "f9e4b832088ad843ce26fc9a",
|
| 484 |
+
"index": 192451,
|
| 485 |
+
"uncovered": true,
|
| 486 |
+
"nearest_index": 34777,
|
| 487 |
+
"nearest_rgb": true
|
| 488 |
+
},
|
| 489 |
+
{
|
| 490 |
+
"class_key": "external_left_fine_B13",
|
| 491 |
+
"id": "1c3e2d6266babd3546e4",
|
| 492 |
+
"index": 42882,
|
| 493 |
+
"uncovered": true,
|
| 494 |
+
"nearest_index": 120574,
|
| 495 |
+
"nearest_rgb": true
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"class_key": "external_left_fine_B14",
|
| 499 |
+
"id": "68c621ec6f25af92b6d2",
|
| 500 |
+
"index": 134770,
|
| 501 |
+
"uncovered": true,
|
| 502 |
+
"nearest_index": 165102,
|
| 503 |
+
"nearest_rgb": true
|
| 504 |
+
},
|
| 505 |
+
{
|
| 506 |
+
"class_key": "external_left_fine_B15",
|
| 507 |
+
"id": "a3c7b0983f4f67c9774a9d1d",
|
| 508 |
+
"index": 191524,
|
| 509 |
+
"uncovered": true,
|
| 510 |
+
"nearest_index": 162699,
|
| 511 |
+
"nearest_rgb": true
|
| 512 |
+
},
|
| 513 |
+
{
|
| 514 |
+
"class_key": "external_left_fine_B16",
|
| 515 |
+
"id": "426d44a4aecf394cce74",
|
| 516 |
+
"index": 58644,
|
| 517 |
+
"uncovered": true,
|
| 518 |
+
"nearest_index": 166869,
|
| 519 |
+
"nearest_rgb": true
|
| 520 |
+
},
|
| 521 |
+
{
|
| 522 |
+
"class_key": "external_left_fine_B17",
|
| 523 |
+
"id": "f627d873be8bbdf466ab2122",
|
| 524 |
+
"index": 191495,
|
| 525 |
+
"uncovered": true,
|
| 526 |
+
"nearest_index": 172637,
|
| 527 |
+
"nearest_rgb": true
|
| 528 |
+
},
|
| 529 |
+
{
|
| 530 |
+
"class_key": "external_left_fine_B18",
|
| 531 |
+
"id": "da0af48ad0dcc8746952",
|
| 532 |
+
"index": 151832,
|
| 533 |
+
"uncovered": true,
|
| 534 |
+
"nearest_index": 32681,
|
| 535 |
+
"nearest_rgb": true
|
| 536 |
+
},
|
| 537 |
+
{
|
| 538 |
+
"class_key": "external_left_fine_B19",
|
| 539 |
+
"id": "7ad41e661baf307e75a0",
|
| 540 |
+
"index": 109330,
|
| 541 |
+
"uncovered": true,
|
| 542 |
+
"nearest_index": 267390,
|
| 543 |
+
"nearest_rgb": true
|
| 544 |
+
},
|
| 545 |
+
{
|
| 546 |
+
"class_key": "external_left_fine_B20",
|
| 547 |
+
"id": "b11f99d2cf1b5841a9a2",
|
| 548 |
+
"index": 84569,
|
| 549 |
+
"uncovered": true,
|
| 550 |
+
"nearest_index": 126169,
|
| 551 |
+
"nearest_rgb": true
|
| 552 |
+
},
|
| 553 |
+
{
|
| 554 |
+
"class_key": "external_left_fine_B21",
|
| 555 |
+
"id": "e60f1e573b15059b28a6a89d",
|
| 556 |
+
"index": 190459,
|
| 557 |
+
"uncovered": true,
|
| 558 |
+
"nearest_index": 141756,
|
| 559 |
+
"nearest_rgb": true
|
| 560 |
+
},
|
| 561 |
+
{
|
| 562 |
+
"class_key": "external_left_fine_B22",
|
| 563 |
+
"id": "8e8a96391338bc10f7d1ad8f",
|
| 564 |
+
"index": 206691,
|
| 565 |
+
"uncovered": true,
|
| 566 |
+
"nearest_index": 47663,
|
| 567 |
+
"nearest_rgb": true
|
| 568 |
+
},
|
| 569 |
+
{
|
| 570 |
+
"class_key": "external_left_fine_B23",
|
| 571 |
+
"id": "051488f34a7b81d90530",
|
| 572 |
+
"index": 115178,
|
| 573 |
+
"uncovered": true,
|
| 574 |
+
"nearest_index": 48927,
|
| 575 |
+
"nearest_rgb": true
|
| 576 |
+
},
|
| 577 |
+
{
|
| 578 |
+
"class_key": "external_left_fine_B24",
|
| 579 |
+
"id": "1f23bff3fd47fb3d88e5",
|
| 580 |
+
"index": 127122,
|
| 581 |
+
"uncovered": true,
|
| 582 |
+
"nearest_index": 194888,
|
| 583 |
+
"nearest_rgb": true
|
| 584 |
+
},
|
| 585 |
+
{
|
| 586 |
+
"class_key": "external_left_fine_B25",
|
| 587 |
+
"id": "bd5b4c8d9d1df40c4cb2",
|
| 588 |
+
"index": 45882,
|
| 589 |
+
"uncovered": true,
|
| 590 |
+
"nearest_index": 185866,
|
| 591 |
+
"nearest_rgb": true
|
| 592 |
+
},
|
| 593 |
+
{
|
| 594 |
+
"class_key": "external_left_fine_B26",
|
| 595 |
+
"id": "e1707af66b16c44ca22f217e",
|
| 596 |
+
"index": 194117,
|
| 597 |
+
"uncovered": true,
|
| 598 |
+
"nearest_index": 56748,
|
| 599 |
+
"nearest_rgb": true
|
| 600 |
+
},
|
| 601 |
+
{
|
| 602 |
+
"class_key": "external_left_fine_B27",
|
| 603 |
+
"id": "5f6fbeec7ba336848768",
|
| 604 |
+
"index": 153371,
|
| 605 |
+
"uncovered": true,
|
| 606 |
+
"nearest_index": 2272,
|
| 607 |
+
"nearest_rgb": true
|
| 608 |
+
},
|
| 609 |
+
{
|
| 610 |
+
"class_key": "external_left_fine_B28",
|
| 611 |
+
"id": "1fa3b8cd32b3624f059f",
|
| 612 |
+
"index": 69682,
|
| 613 |
+
"uncovered": true,
|
| 614 |
+
"nearest_index": 45682,
|
| 615 |
+
"nearest_rgb": true
|
| 616 |
+
},
|
| 617 |
+
{
|
| 618 |
+
"class_key": "external_left_fine_B29",
|
| 619 |
+
"id": "f8701460479562a2b8576134",
|
| 620 |
+
"index": 211766,
|
| 621 |
+
"uncovered": true,
|
| 622 |
+
"nearest_index": 162254,
|
| 623 |
+
"nearest_rgb": true
|
| 624 |
+
},
|
| 625 |
+
{
|
| 626 |
+
"class_key": "external_left_fine_B30",
|
| 627 |
+
"id": "e961198817aa9f71a9c0",
|
| 628 |
+
"index": 56355,
|
| 629 |
+
"uncovered": true,
|
| 630 |
+
"nearest_index": 56749,
|
| 631 |
+
"nearest_rgb": true
|
| 632 |
+
},
|
| 633 |
+
{
|
| 634 |
+
"class_key": "external_left_fine_B31",
|
| 635 |
+
"id": "e711d428a3ed73d52639",
|
| 636 |
+
"index": 154256,
|
| 637 |
+
"uncovered": true,
|
| 638 |
+
"nearest_index": 142983,
|
| 639 |
+
"nearest_rgb": true
|
| 640 |
+
},
|
| 641 |
+
{
|
| 642 |
+
"class_key": "external_left_fine_B32",
|
| 643 |
+
"id": "f814b3e93a1455c11234",
|
| 644 |
+
"index": 35361,
|
| 645 |
+
"uncovered": true,
|
| 646 |
+
"nearest_index": 4742,
|
| 647 |
+
"nearest_rgb": true
|
| 648 |
+
},
|
| 649 |
+
{
|
| 650 |
+
"class_key": "external_right_distinct_B1",
|
| 651 |
+
"id": "254c3a1200962ad38d22",
|
| 652 |
+
"index": 153790,
|
| 653 |
+
"uncovered": true,
|
| 654 |
+
"nearest_index": 113631,
|
| 655 |
+
"nearest_rgb": true
|
| 656 |
+
},
|
| 657 |
+
{
|
| 658 |
+
"class_key": "external_right_distinct_B1",
|
| 659 |
+
"id": "709270ca3ee8fa046096",
|
| 660 |
+
"index": 149170,
|
| 661 |
+
"uncovered": true,
|
| 662 |
+
"nearest_index": 80667,
|
| 663 |
+
"nearest_rgb": true
|
| 664 |
+
},
|
| 665 |
+
{
|
| 666 |
+
"class_key": "external_right_distinct_B2",
|
| 667 |
+
"id": "e47ac484c8070191f186",
|
| 668 |
+
"index": 151238,
|
| 669 |
+
"uncovered": true,
|
| 670 |
+
"nearest_index": 26696,
|
| 671 |
+
"nearest_rgb": true
|
| 672 |
+
},
|
| 673 |
+
{
|
| 674 |
+
"class_key": "external_right_distinct_B2",
|
| 675 |
+
"id": "a739714a796d9e4fcabb",
|
| 676 |
+
"index": 153869,
|
| 677 |
+
"uncovered": true,
|
| 678 |
+
"nearest_index": 26696,
|
| 679 |
+
"nearest_rgb": true
|
| 680 |
+
},
|
| 681 |
+
{
|
| 682 |
+
"class_key": "external_right_distinct_B3",
|
| 683 |
+
"id": "98b98e2def7c3f01f00a",
|
| 684 |
+
"index": 49644,
|
| 685 |
+
"uncovered": true,
|
| 686 |
+
"nearest_index": 25167,
|
| 687 |
+
"nearest_rgb": true
|
| 688 |
+
},
|
| 689 |
+
{
|
| 690 |
+
"class_key": "external_right_distinct_B3",
|
| 691 |
+
"id": "2d7e3d2dfebfdcefaa58",
|
| 692 |
+
"index": 66442,
|
| 693 |
+
"uncovered": true,
|
| 694 |
+
"nearest_index": 25167,
|
| 695 |
+
"nearest_rgb": true
|
| 696 |
+
},
|
| 697 |
+
{
|
| 698 |
+
"class_key": "external_right_distinct_B4",
|
| 699 |
+
"id": "dc1f9c23184c42a61af9",
|
| 700 |
+
"index": 94979,
|
| 701 |
+
"uncovered": true,
|
| 702 |
+
"nearest_index": 26698,
|
| 703 |
+
"nearest_rgb": true
|
| 704 |
+
},
|
| 705 |
+
{
|
| 706 |
+
"class_key": "external_right_distinct_B4",
|
| 707 |
+
"id": "1747d7dab8779e9564c8",
|
| 708 |
+
"index": 56673,
|
| 709 |
+
"uncovered": true,
|
| 710 |
+
"nearest_index": 26698,
|
| 711 |
+
"nearest_rgb": true
|
| 712 |
+
},
|
| 713 |
+
{
|
| 714 |
+
"class_key": "external_right_distinct_B5",
|
| 715 |
+
"id": "8d1d62e22f778ca48f49",
|
| 716 |
+
"index": 1354,
|
| 717 |
+
"uncovered": true,
|
| 718 |
+
"nearest_index": 118457,
|
| 719 |
+
"nearest_rgb": true
|
| 720 |
+
},
|
| 721 |
+
{
|
| 722 |
+
"class_key": "external_right_distinct_B5",
|
| 723 |
+
"id": "af36ba9b4582f51913dc",
|
| 724 |
+
"index": 49423,
|
| 725 |
+
"uncovered": true,
|
| 726 |
+
"nearest_index": 66582,
|
| 727 |
+
"nearest_rgb": true
|
| 728 |
+
},
|
| 729 |
+
{
|
| 730 |
+
"class_key": "external_right_distinct_B6",
|
| 731 |
+
"id": "80cd59ca87c7fbd436b6",
|
| 732 |
+
"index": 60934,
|
| 733 |
+
"uncovered": true,
|
| 734 |
+
"nearest_index": 69125,
|
| 735 |
+
"nearest_rgb": true
|
| 736 |
+
},
|
| 737 |
+
{
|
| 738 |
+
"class_key": "external_right_distinct_B6",
|
| 739 |
+
"id": "32f8610b6d892e509529",
|
| 740 |
+
"index": 80778,
|
| 741 |
+
"uncovered": true,
|
| 742 |
+
"nearest_index": 69125,
|
| 743 |
+
"nearest_rgb": true
|
| 744 |
+
},
|
| 745 |
+
{
|
| 746 |
+
"class_key": "external_right_distinct_B7",
|
| 747 |
+
"id": "1e5cc53312d1287a5217",
|
| 748 |
+
"index": 151909,
|
| 749 |
+
"uncovered": true,
|
| 750 |
+
"nearest_index": 110754,
|
| 751 |
+
"nearest_rgb": true
|
| 752 |
+
},
|
| 753 |
+
{
|
| 754 |
+
"class_key": "external_right_distinct_B7",
|
| 755 |
+
"id": "e4ce53c349d02a786e9a8d1b",
|
| 756 |
+
"index": 181648,
|
| 757 |
+
"uncovered": true,
|
| 758 |
+
"nearest_index": 155642,
|
| 759 |
+
"nearest_rgb": true
|
| 760 |
+
},
|
| 761 |
+
{
|
| 762 |
+
"class_key": "external_right_distinct_B8",
|
| 763 |
+
"id": "f3858cbf4c0f01d29841",
|
| 764 |
+
"index": 9051,
|
| 765 |
+
"uncovered": true,
|
| 766 |
+
"nearest_index": 137269,
|
| 767 |
+
"nearest_rgb": true
|
| 768 |
+
},
|
| 769 |
+
{
|
| 770 |
+
"class_key": "external_right_distinct_B8",
|
| 771 |
+
"id": "14d0339931252b4aacfe",
|
| 772 |
+
"index": 27136,
|
| 773 |
+
"uncovered": true,
|
| 774 |
+
"nearest_index": 120904,
|
| 775 |
+
"nearest_rgb": true
|
| 776 |
+
},
|
| 777 |
+
{
|
| 778 |
+
"class_key": "external_right_distinct_B9",
|
| 779 |
+
"id": "8fe43e7b67951bdd7e19",
|
| 780 |
+
"index": 30842,
|
| 781 |
+
"uncovered": true,
|
| 782 |
+
"nearest_index": 165814,
|
| 783 |
+
"nearest_rgb": true
|
| 784 |
+
},
|
| 785 |
+
{
|
| 786 |
+
"class_key": "external_right_distinct_B9",
|
| 787 |
+
"id": "8d1150892e449b19b926",
|
| 788 |
+
"index": 12316,
|
| 789 |
+
"uncovered": true,
|
| 790 |
+
"nearest_index": 131604,
|
| 791 |
+
"nearest_rgb": true
|
| 792 |
+
},
|
| 793 |
+
{
|
| 794 |
+
"class_key": "external_right_distinct_B10",
|
| 795 |
+
"id": "0b30c6ac8b8a0fb34665",
|
| 796 |
+
"index": 159824,
|
| 797 |
+
"uncovered": true,
|
| 798 |
+
"nearest_index": 183822,
|
| 799 |
+
"nearest_rgb": true
|
| 800 |
+
},
|
| 801 |
+
{
|
| 802 |
+
"class_key": "external_right_distinct_B10",
|
| 803 |
+
"id": "51fa51d203ef3894e730",
|
| 804 |
+
"index": 87155,
|
| 805 |
+
"uncovered": true,
|
| 806 |
+
"nearest_index": 13864,
|
| 807 |
+
"nearest_rgb": true
|
| 808 |
+
},
|
| 809 |
+
{
|
| 810 |
+
"class_key": "external_right_distinct_B11",
|
| 811 |
+
"id": "d0a7a93ffcf0c93fb543",
|
| 812 |
+
"index": 84249,
|
| 813 |
+
"uncovered": true,
|
| 814 |
+
"nearest_index": 108571,
|
| 815 |
+
"nearest_rgb": true
|
| 816 |
+
},
|
| 817 |
+
{
|
| 818 |
+
"class_key": "external_right_distinct_B11",
|
| 819 |
+
"id": "4170659ac3b73692c561",
|
| 820 |
+
"index": 91733,
|
| 821 |
+
"uncovered": true,
|
| 822 |
+
"nearest_index": 20789,
|
| 823 |
+
"nearest_rgb": true
|
| 824 |
+
},
|
| 825 |
+
{
|
| 826 |
+
"class_key": "external_right_distinct_B12",
|
| 827 |
+
"id": "2c7c9fcf190aa1ce0417a597",
|
| 828 |
+
"index": 181116,
|
| 829 |
+
"uncovered": true,
|
| 830 |
+
"nearest_index": 149845,
|
| 831 |
+
"nearest_rgb": true
|
| 832 |
+
},
|
| 833 |
+
{
|
| 834 |
+
"class_key": "external_right_distinct_B12",
|
| 835 |
+
"id": "34293d5c9114401b8f2fa095",
|
| 836 |
+
"index": 189237,
|
| 837 |
+
"uncovered": true,
|
| 838 |
+
"nearest_index": 129219,
|
| 839 |
+
"nearest_rgb": true
|
| 840 |
+
},
|
| 841 |
+
{
|
| 842 |
+
"class_key": "external_right_distinct_B13",
|
| 843 |
+
"id": "69f662bcff9f44cb0b0e1834",
|
| 844 |
+
"index": 184074,
|
| 845 |
+
"uncovered": true,
|
| 846 |
+
"nearest_index": 11256,
|
| 847 |
+
"nearest_rgb": true
|
| 848 |
+
},
|
| 849 |
+
{
|
| 850 |
+
"class_key": "external_right_distinct_B13",
|
| 851 |
+
"id": "7b0803f38879e5bde60f6513",
|
| 852 |
+
"index": 182174,
|
| 853 |
+
"uncovered": true,
|
| 854 |
+
"nearest_index": 84445,
|
| 855 |
+
"nearest_rgb": true
|
| 856 |
+
},
|
| 857 |
+
{
|
| 858 |
+
"class_key": "external_right_distinct_B14",
|
| 859 |
+
"id": "d938ae931dbe89e16810f069",
|
| 860 |
+
"index": 184103,
|
| 861 |
+
"uncovered": true,
|
| 862 |
+
"nearest_index": 124769,
|
| 863 |
+
"nearest_rgb": true
|
| 864 |
+
},
|
| 865 |
+
{
|
| 866 |
+
"class_key": "external_right_distinct_B14",
|
| 867 |
+
"id": "5c2691b0661e4d7c91b4",
|
| 868 |
+
"index": 27648,
|
| 869 |
+
"uncovered": true,
|
| 870 |
+
"nearest_index": 184856,
|
| 871 |
+
"nearest_rgb": true
|
| 872 |
+
},
|
| 873 |
+
{
|
| 874 |
+
"class_key": "external_right_distinct_B15",
|
| 875 |
+
"id": "e091bd042f1cd85757bae117",
|
| 876 |
+
"index": 188317,
|
| 877 |
+
"uncovered": true,
|
| 878 |
+
"nearest_index": 115582,
|
| 879 |
+
"nearest_rgb": true
|
| 880 |
+
},
|
| 881 |
+
{
|
| 882 |
+
"class_key": "external_right_distinct_B15",
|
| 883 |
+
"id": "cb450b6c00e74c066384",
|
| 884 |
+
"index": 6144,
|
| 885 |
+
"uncovered": true,
|
| 886 |
+
"nearest_index": 126872,
|
| 887 |
+
"nearest_rgb": true
|
| 888 |
+
},
|
| 889 |
+
{
|
| 890 |
+
"class_key": "external_right_distinct_B16",
|
| 891 |
+
"id": "d14d6bafe0a0440cd6f9e1b5",
|
| 892 |
+
"index": 187502,
|
| 893 |
+
"uncovered": true,
|
| 894 |
+
"nearest_index": 15413,
|
| 895 |
+
"nearest_rgb": true
|
| 896 |
+
},
|
| 897 |
+
{
|
| 898 |
+
"class_key": "external_right_distinct_B16",
|
| 899 |
+
"id": "39df7a0341e41f8c8537",
|
| 900 |
+
"index": 970,
|
| 901 |
+
"uncovered": true,
|
| 902 |
+
"nearest_index": 16269,
|
| 903 |
+
"nearest_rgb": true
|
| 904 |
+
},
|
| 905 |
+
{
|
| 906 |
+
"class_key": "external_right_distinct_B17",
|
| 907 |
+
"id": "26ecc41219db0bb6833e",
|
| 908 |
+
"index": 105510,
|
| 909 |
+
"uncovered": true,
|
| 910 |
+
"nearest_index": 168456,
|
| 911 |
+
"nearest_rgb": true
|
| 912 |
+
},
|
| 913 |
+
{
|
| 914 |
+
"class_key": "external_right_distinct_B17",
|
| 915 |
+
"id": "78c11495a9b7b3cc64b560e0",
|
| 916 |
+
"index": 181002,
|
| 917 |
+
"uncovered": true,
|
| 918 |
+
"nearest_index": 131112,
|
| 919 |
+
"nearest_rgb": true
|
| 920 |
+
},
|
| 921 |
+
{
|
| 922 |
+
"class_key": "external_right_distinct_B18",
|
| 923 |
+
"id": "d02f389c481d4328e42c",
|
| 924 |
+
"index": 10113,
|
| 925 |
+
"uncovered": true,
|
| 926 |
+
"nearest_index": 167169,
|
| 927 |
+
"nearest_rgb": true
|
| 928 |
+
},
|
| 929 |
+
{
|
| 930 |
+
"class_key": "external_right_distinct_B18",
|
| 931 |
+
"id": "44c489639225f513755b",
|
| 932 |
+
"index": 23731,
|
| 933 |
+
"uncovered": true,
|
| 934 |
+
"nearest_index": 15033,
|
| 935 |
+
"nearest_rgb": true
|
| 936 |
+
},
|
| 937 |
+
{
|
| 938 |
+
"class_key": "external_right_distinct_B19",
|
| 939 |
+
"id": "e233df5f771af8c53fc3",
|
| 940 |
+
"index": 61233,
|
| 941 |
+
"uncovered": true,
|
| 942 |
+
"nearest_index": 51047,
|
| 943 |
+
"nearest_rgb": true
|
| 944 |
+
},
|
| 945 |
+
{
|
| 946 |
+
"class_key": "external_right_distinct_B19",
|
| 947 |
+
"id": "53111882d76eaac38c4b",
|
| 948 |
+
"index": 154519,
|
| 949 |
+
"uncovered": true,
|
| 950 |
+
"nearest_index": 156836,
|
| 951 |
+
"nearest_rgb": true
|
| 952 |
+
},
|
| 953 |
+
{
|
| 954 |
+
"class_key": "external_right_distinct_B20",
|
| 955 |
+
"id": "68b46ceb0f9a5e531f67",
|
| 956 |
+
"index": 153976,
|
| 957 |
+
"uncovered": true,
|
| 958 |
+
"nearest_index": 247928,
|
| 959 |
+
"nearest_rgb": true
|
| 960 |
+
},
|
| 961 |
+
{
|
| 962 |
+
"class_key": "external_right_distinct_B20",
|
| 963 |
+
"id": "fd625216506afacda693",
|
| 964 |
+
"index": 166242,
|
| 965 |
+
"uncovered": true,
|
| 966 |
+
"nearest_index": 247927,
|
| 967 |
+
"nearest_rgb": true
|
| 968 |
+
},
|
| 969 |
+
{
|
| 970 |
+
"class_key": "external_right_distinct_B21",
|
| 971 |
+
"id": "2d9bbf4c2273c70deb7a",
|
| 972 |
+
"index": 89262,
|
| 973 |
+
"uncovered": true,
|
| 974 |
+
"nearest_index": 35454,
|
| 975 |
+
"nearest_rgb": true
|
| 976 |
+
},
|
| 977 |
+
{
|
| 978 |
+
"class_key": "external_right_distinct_B21",
|
| 979 |
+
"id": "7dca30f7a824c6e29684",
|
| 980 |
+
"index": 50589,
|
| 981 |
+
"uncovered": true,
|
| 982 |
+
"nearest_index": 35454,
|
| 983 |
+
"nearest_rgb": true
|
| 984 |
+
},
|
| 985 |
+
{
|
| 986 |
+
"class_key": "external_right_distinct_B22",
|
| 987 |
+
"id": "7013cfedf62948731c5ac3c6",
|
| 988 |
+
"index": 199078,
|
| 989 |
+
"uncovered": true,
|
| 990 |
+
"nearest_index": 145623,
|
| 991 |
+
"nearest_rgb": true
|
| 992 |
+
},
|
| 993 |
+
{
|
| 994 |
+
"class_key": "external_right_distinct_B22",
|
| 995 |
+
"id": "c8f2320b86ea13b9bab5",
|
| 996 |
+
"index": 10234,
|
| 997 |
+
"uncovered": true,
|
| 998 |
+
"nearest_index": 145329,
|
| 999 |
+
"nearest_rgb": true
|
| 1000 |
+
},
|
| 1001 |
+
{
|
| 1002 |
+
"class_key": "external_right_distinct_B23",
|
| 1003 |
+
"id": "4d20b3caae3d94f98758",
|
| 1004 |
+
"index": 71890,
|
| 1005 |
+
"uncovered": true,
|
| 1006 |
+
"nearest_index": 3387,
|
| 1007 |
+
"nearest_rgb": true
|
| 1008 |
+
},
|
| 1009 |
+
{
|
| 1010 |
+
"class_key": "external_right_distinct_B23",
|
| 1011 |
+
"id": "a7e95de948f4e3c7a9e1",
|
| 1012 |
+
"index": 35698,
|
| 1013 |
+
"uncovered": true,
|
| 1014 |
+
"nearest_index": 3387,
|
| 1015 |
+
"nearest_rgb": true
|
| 1016 |
+
},
|
| 1017 |
+
{
|
| 1018 |
+
"class_key": "external_right_distinct_B24",
|
| 1019 |
+
"id": "49a2ec37f0d860cf4e5f",
|
| 1020 |
+
"index": 87720,
|
| 1021 |
+
"uncovered": true,
|
| 1022 |
+
"nearest_index": 163220,
|
| 1023 |
+
"nearest_rgb": true
|
| 1024 |
+
},
|
| 1025 |
+
{
|
| 1026 |
+
"class_key": "external_right_distinct_B24",
|
| 1027 |
+
"id": "22caad7a50fba7e5a48c",
|
| 1028 |
+
"index": 136367,
|
| 1029 |
+
"uncovered": true,
|
| 1030 |
+
"nearest_index": 192090,
|
| 1031 |
+
"nearest_rgb": true
|
| 1032 |
+
},
|
| 1033 |
+
{
|
| 1034 |
+
"class_key": "external_right_distinct_B25",
|
| 1035 |
+
"id": "2eedd007649d900cef05",
|
| 1036 |
+
"index": 42545,
|
| 1037 |
+
"uncovered": true,
|
| 1038 |
+
"nearest_index": 109532,
|
| 1039 |
+
"nearest_rgb": true
|
| 1040 |
+
},
|
| 1041 |
+
{
|
| 1042 |
+
"class_key": "external_right_distinct_B25",
|
| 1043 |
+
"id": "ef88da2267ff884145a6",
|
| 1044 |
+
"index": 64862,
|
| 1045 |
+
"uncovered": true,
|
| 1046 |
+
"nearest_index": 109532,
|
| 1047 |
+
"nearest_rgb": true
|
| 1048 |
+
},
|
| 1049 |
+
{
|
| 1050 |
+
"class_key": "external_right_distinct_B26",
|
| 1051 |
+
"id": "424addca86b89fee040efda7",
|
| 1052 |
+
"index": 205242,
|
| 1053 |
+
"uncovered": true,
|
| 1054 |
+
"nearest_index": 47387,
|
| 1055 |
+
"nearest_rgb": true
|
| 1056 |
+
},
|
| 1057 |
+
{
|
| 1058 |
+
"class_key": "external_right_distinct_B26",
|
| 1059 |
+
"id": "20223c4b01e8cbdb9d7e",
|
| 1060 |
+
"index": 164345,
|
| 1061 |
+
"uncovered": true,
|
| 1062 |
+
"nearest_index": 207485,
|
| 1063 |
+
"nearest_rgb": true
|
| 1064 |
+
},
|
| 1065 |
+
{
|
| 1066 |
+
"class_key": "external_right_fine_B1",
|
| 1067 |
+
"id": "254c3a1200962ad38d22",
|
| 1068 |
+
"index": 153790,
|
| 1069 |
+
"uncovered": true,
|
| 1070 |
+
"nearest_index": 113631,
|
| 1071 |
+
"nearest_rgb": true
|
| 1072 |
+
},
|
| 1073 |
+
{
|
| 1074 |
+
"class_key": "external_right_fine_B2",
|
| 1075 |
+
"id": "e47ac484c8070191f186",
|
| 1076 |
+
"index": 151238,
|
| 1077 |
+
"uncovered": true,
|
| 1078 |
+
"nearest_index": 26696,
|
| 1079 |
+
"nearest_rgb": true
|
| 1080 |
+
},
|
| 1081 |
+
{
|
| 1082 |
+
"class_key": "external_right_fine_B3",
|
| 1083 |
+
"id": "98b98e2def7c3f01f00a",
|
| 1084 |
+
"index": 49644,
|
| 1085 |
+
"uncovered": true,
|
| 1086 |
+
"nearest_index": 25167,
|
| 1087 |
+
"nearest_rgb": true
|
| 1088 |
+
},
|
| 1089 |
+
{
|
| 1090 |
+
"class_key": "external_right_fine_B4",
|
| 1091 |
+
"id": "dc1f9c23184c42a61af9",
|
| 1092 |
+
"index": 94979,
|
| 1093 |
+
"uncovered": true,
|
| 1094 |
+
"nearest_index": 26698,
|
| 1095 |
+
"nearest_rgb": true
|
| 1096 |
+
},
|
| 1097 |
+
{
|
| 1098 |
+
"class_key": "external_right_fine_B5",
|
| 1099 |
+
"id": "8d1d62e22f778ca48f49",
|
| 1100 |
+
"index": 1354,
|
| 1101 |
+
"uncovered": true,
|
| 1102 |
+
"nearest_index": 118457,
|
| 1103 |
+
"nearest_rgb": true
|
| 1104 |
+
},
|
| 1105 |
+
{
|
| 1106 |
+
"class_key": "external_right_fine_B6",
|
| 1107 |
+
"id": "80cd59ca87c7fbd436b6",
|
| 1108 |
+
"index": 60934,
|
| 1109 |
+
"uncovered": true,
|
| 1110 |
+
"nearest_index": 69125,
|
| 1111 |
+
"nearest_rgb": true
|
| 1112 |
+
},
|
| 1113 |
+
{
|
| 1114 |
+
"class_key": "external_right_fine_B7",
|
| 1115 |
+
"id": "1e5cc53312d1287a5217",
|
| 1116 |
+
"index": 151909,
|
| 1117 |
+
"uncovered": true,
|
| 1118 |
+
"nearest_index": 110754,
|
| 1119 |
+
"nearest_rgb": true
|
| 1120 |
+
},
|
| 1121 |
+
{
|
| 1122 |
+
"class_key": "external_right_fine_B8",
|
| 1123 |
+
"id": "f3858cbf4c0f01d29841",
|
| 1124 |
+
"index": 9051,
|
| 1125 |
+
"uncovered": true,
|
| 1126 |
+
"nearest_index": 137269,
|
| 1127 |
+
"nearest_rgb": true
|
| 1128 |
+
},
|
| 1129 |
+
{
|
| 1130 |
+
"class_key": "external_right_fine_B9",
|
| 1131 |
+
"id": "8fe43e7b67951bdd7e19",
|
| 1132 |
+
"index": 30842,
|
| 1133 |
+
"uncovered": true,
|
| 1134 |
+
"nearest_index": 165814,
|
| 1135 |
+
"nearest_rgb": true
|
| 1136 |
+
},
|
| 1137 |
+
{
|
| 1138 |
+
"class_key": "external_right_fine_B10",
|
| 1139 |
+
"id": "0b30c6ac8b8a0fb34665",
|
| 1140 |
+
"index": 159824,
|
| 1141 |
+
"uncovered": true,
|
| 1142 |
+
"nearest_index": 183822,
|
| 1143 |
+
"nearest_rgb": true
|
| 1144 |
+
},
|
| 1145 |
+
{
|
| 1146 |
+
"class_key": "external_right_fine_B11",
|
| 1147 |
+
"id": "d0a7a93ffcf0c93fb543",
|
| 1148 |
+
"index": 84249,
|
| 1149 |
+
"uncovered": true,
|
| 1150 |
+
"nearest_index": 108571,
|
| 1151 |
+
"nearest_rgb": true
|
| 1152 |
+
},
|
| 1153 |
+
{
|
| 1154 |
+
"class_key": "external_right_fine_B12",
|
| 1155 |
+
"id": "d3c2bb99633d6b4a8aa2",
|
| 1156 |
+
"index": 151895,
|
| 1157 |
+
"uncovered": true,
|
| 1158 |
+
"nearest_index": 107422,
|
| 1159 |
+
"nearest_rgb": true
|
| 1160 |
+
},
|
| 1161 |
+
{
|
| 1162 |
+
"class_key": "external_right_fine_B13",
|
| 1163 |
+
"id": "8d2ec44ad9de28620df2163a",
|
| 1164 |
+
"index": 189261,
|
| 1165 |
+
"uncovered": true,
|
| 1166 |
+
"nearest_index": 81508,
|
| 1167 |
+
"nearest_rgb": true
|
| 1168 |
+
},
|
| 1169 |
+
{
|
| 1170 |
+
"class_key": "external_right_fine_B14",
|
| 1171 |
+
"id": "69f662bcff9f44cb0b0e1834",
|
| 1172 |
+
"index": 184074,
|
| 1173 |
+
"uncovered": true,
|
| 1174 |
+
"nearest_index": 11256,
|
| 1175 |
+
"nearest_rgb": true
|
| 1176 |
+
},
|
| 1177 |
+
{
|
| 1178 |
+
"class_key": "external_right_fine_B15",
|
| 1179 |
+
"id": "0c9121f9b810877ab40a",
|
| 1180 |
+
"index": 142493,
|
| 1181 |
+
"uncovered": true,
|
| 1182 |
+
"nearest_index": 261257,
|
| 1183 |
+
"nearest_rgb": true
|
| 1184 |
+
},
|
| 1185 |
+
{
|
| 1186 |
+
"class_key": "external_right_fine_B16",
|
| 1187 |
+
"id": "58d7c39fa4067efa0e7f0d2b",
|
| 1188 |
+
"index": 181003,
|
| 1189 |
+
"uncovered": true,
|
| 1190 |
+
"nearest_index": 131112,
|
| 1191 |
+
"nearest_rgb": true
|
| 1192 |
+
},
|
| 1193 |
+
{
|
| 1194 |
+
"class_key": "external_right_fine_B17",
|
| 1195 |
+
"id": "1484a4fa916d38805fbd",
|
| 1196 |
+
"index": 85020,
|
| 1197 |
+
"uncovered": true,
|
| 1198 |
+
"nearest_index": 82502,
|
| 1199 |
+
"nearest_rgb": true
|
| 1200 |
+
},
|
| 1201 |
+
{
|
| 1202 |
+
"class_key": "external_right_fine_B18",
|
| 1203 |
+
"id": "d938ae931dbe89e16810f069",
|
| 1204 |
+
"index": 184103,
|
| 1205 |
+
"uncovered": true,
|
| 1206 |
+
"nearest_index": 124769,
|
| 1207 |
+
"nearest_rgb": true
|
| 1208 |
+
},
|
| 1209 |
+
{
|
| 1210 |
+
"class_key": "external_right_fine_B19",
|
| 1211 |
+
"id": "e091bd042f1cd85757bae117",
|
| 1212 |
+
"index": 188317,
|
| 1213 |
+
"uncovered": true,
|
| 1214 |
+
"nearest_index": 115582,
|
| 1215 |
+
"nearest_rgb": true
|
| 1216 |
+
},
|
| 1217 |
+
{
|
| 1218 |
+
"class_key": "external_right_fine_B20",
|
| 1219 |
+
"id": "d14d6bafe0a0440cd6f9e1b5",
|
| 1220 |
+
"index": 187502,
|
| 1221 |
+
"uncovered": true,
|
| 1222 |
+
"nearest_index": 15413,
|
| 1223 |
+
"nearest_rgb": true
|
| 1224 |
+
},
|
| 1225 |
+
{
|
| 1226 |
+
"class_key": "external_right_fine_B21",
|
| 1227 |
+
"id": "a9e4dfb5604a2cc763fa",
|
| 1228 |
+
"index": 142353,
|
| 1229 |
+
"uncovered": true,
|
| 1230 |
+
"nearest_index": 190428,
|
| 1231 |
+
"nearest_rgb": true
|
| 1232 |
+
},
|
| 1233 |
+
{
|
| 1234 |
+
"class_key": "external_right_fine_B22",
|
| 1235 |
+
"id": "d02f389c481d4328e42c",
|
| 1236 |
+
"index": 10113,
|
| 1237 |
+
"uncovered": true,
|
| 1238 |
+
"nearest_index": 167169,
|
| 1239 |
+
"nearest_rgb": true
|
| 1240 |
+
},
|
| 1241 |
+
{
|
| 1242 |
+
"class_key": "external_right_fine_B23",
|
| 1243 |
+
"id": "e233df5f771af8c53fc3",
|
| 1244 |
+
"index": 61233,
|
| 1245 |
+
"uncovered": true,
|
| 1246 |
+
"nearest_index": 51047,
|
| 1247 |
+
"nearest_rgb": true
|
| 1248 |
+
},
|
| 1249 |
+
{
|
| 1250 |
+
"class_key": "external_right_fine_B24",
|
| 1251 |
+
"id": "68b46ceb0f9a5e531f67",
|
| 1252 |
+
"index": 153976,
|
| 1253 |
+
"uncovered": true,
|
| 1254 |
+
"nearest_index": 247928,
|
| 1255 |
+
"nearest_rgb": true
|
| 1256 |
+
},
|
| 1257 |
+
{
|
| 1258 |
+
"class_key": "external_right_fine_B25",
|
| 1259 |
+
"id": "b079d1f7948614710a25",
|
| 1260 |
+
"index": 108271,
|
| 1261 |
+
"uncovered": true,
|
| 1262 |
+
"nearest_index": 108490,
|
| 1263 |
+
"nearest_rgb": true
|
| 1264 |
+
},
|
| 1265 |
+
{
|
| 1266 |
+
"class_key": "external_right_fine_B26",
|
| 1267 |
+
"id": "2d9bbf4c2273c70deb7a",
|
| 1268 |
+
"index": 89262,
|
| 1269 |
+
"uncovered": true,
|
| 1270 |
+
"nearest_index": 35454,
|
| 1271 |
+
"nearest_rgb": true
|
| 1272 |
+
},
|
| 1273 |
+
{
|
| 1274 |
+
"class_key": "external_right_fine_B27",
|
| 1275 |
+
"id": "20223c4b01e8cbdb9d7e",
|
| 1276 |
+
"index": 164345,
|
| 1277 |
+
"uncovered": true,
|
| 1278 |
+
"nearest_index": 207485,
|
| 1279 |
+
"nearest_rgb": true
|
| 1280 |
+
},
|
| 1281 |
+
{
|
| 1282 |
+
"class_key": "external_right_fine_B28",
|
| 1283 |
+
"id": "7013cfedf62948731c5ac3c6",
|
| 1284 |
+
"index": 199078,
|
| 1285 |
+
"uncovered": true,
|
| 1286 |
+
"nearest_index": 145623,
|
| 1287 |
+
"nearest_rgb": true
|
| 1288 |
+
},
|
| 1289 |
+
{
|
| 1290 |
+
"class_key": "external_right_fine_B29",
|
| 1291 |
+
"id": "4d20b3caae3d94f98758",
|
| 1292 |
+
"index": 71890,
|
| 1293 |
+
"uncovered": true,
|
| 1294 |
+
"nearest_index": 3387,
|
| 1295 |
+
"nearest_rgb": true
|
| 1296 |
+
},
|
| 1297 |
+
{
|
| 1298 |
+
"class_key": "external_right_fine_B30",
|
| 1299 |
+
"id": "49a2ec37f0d860cf4e5f",
|
| 1300 |
+
"index": 87720,
|
| 1301 |
+
"uncovered": true,
|
| 1302 |
+
"nearest_index": 163220,
|
| 1303 |
+
"nearest_rgb": true
|
| 1304 |
+
},
|
| 1305 |
+
{
|
| 1306 |
+
"class_key": "external_right_fine_B31",
|
| 1307 |
+
"id": "2eedd007649d900cef05",
|
| 1308 |
+
"index": 42545,
|
| 1309 |
+
"uncovered": true,
|
| 1310 |
+
"nearest_index": 109532,
|
| 1311 |
+
"nearest_rgb": true
|
| 1312 |
+
},
|
| 1313 |
+
{
|
| 1314 |
+
"class_key": "external_right_fine_B32",
|
| 1315 |
+
"id": "5c19a54208a02bfa1018",
|
| 1316 |
+
"index": 155884,
|
| 1317 |
+
"uncovered": true,
|
| 1318 |
+
"nearest_index": 161386,
|
| 1319 |
+
"nearest_rgb": true
|
| 1320 |
+
}
|
| 1321 |
+
]
|
| 1322 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/display_selection_amendment.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"at": "2026-10-14T06:23:54.572466+00:00",
|
| 3 |
+
"reason": "Some exact nearest-reference hands failed existing image legibility filters; require both sides readable for displayed comparison pairs.",
|
| 4 |
+
"action": "Select another actual uncovered member of the same unchanged class if its exact nearest neighbor has readable calibrated GT RGB overlay. Never change nearest match, coverage metrics, thresholds, or class assignments.",
|
| 5 |
+
"statistical_effect": "None; visualization selection only."
|
| 6 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/displayed_member_links.json
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"db1b87ed5e918dbee56a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/db1b87ed5e918dbee56a_full.jpg",
|
| 3 |
+
"c00e1d95904cb4d3e461": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c00e1d95904cb4d3e461_full.jpg",
|
| 4 |
+
"e93a7203af92a0bba127": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e93a7203af92a0bba127_full.jpg",
|
| 5 |
+
"a41106b1f8faadfbd0c6": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a41106b1f8faadfbd0c6_full.jpg",
|
| 6 |
+
"7cbee0066bf73c1230ec": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7cbee0066bf73c1230ec_full.jpg",
|
| 7 |
+
"52e61ba8574c1c21171f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/52e61ba8574c1c21171f_full.jpg",
|
| 8 |
+
"0831e6638e9af7f854bd": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/0831e6638e9af7f854bd_full.jpg",
|
| 9 |
+
"74961c20914e938a0ebc": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/74961c20914e938a0ebc_full.jpg",
|
| 10 |
+
"7a659401c102ee6c4d53": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7a659401c102ee6c4d53_full.jpg",
|
| 11 |
+
"82270a2b1f87dae6ffed": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/82270a2b1f87dae6ffed_full.jpg",
|
| 12 |
+
"bfb2f241cb856b96b744": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/bfb2f241cb856b96b744_full.jpg",
|
| 13 |
+
"3ddf871100b7fa493f4c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/3ddf871100b7fa493f4c_full.jpg",
|
| 14 |
+
"c0469034d3cb0c8cfacb": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c0469034d3cb0c8cfacb_full.jpg",
|
| 15 |
+
"a0e1eafc008fe03615bf": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a0e1eafc008fe03615bf_full.jpg",
|
| 16 |
+
"1155d85f7d67fdea5ca4": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1155d85f7d67fdea5ca4_full.jpg",
|
| 17 |
+
"7e9540aab42ca1f283f1": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7e9540aab42ca1f283f1_full.jpg",
|
| 18 |
+
"9186e37ea320e67eea4cc4b3": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9186e37ea320e67eea4cc4b3_full.jpg",
|
| 19 |
+
"8fc44d37c06f82c2bccfe0a7": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8fc44d37c06f82c2bccfe0a7_full.jpg",
|
| 20 |
+
"86c1b3d59b6d91f14ef6": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/86c1b3d59b6d91f14ef6_full.jpg",
|
| 21 |
+
"805d0cb50c887d06f851": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/805d0cb50c887d06f851_full.jpg",
|
| 22 |
+
"f9e4b832088ad843ce26fc9a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f9e4b832088ad843ce26fc9a_full.jpg",
|
| 23 |
+
"8bc1231ca5c15b6f5c2d": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8bc1231ca5c15b6f5c2d_full.jpg",
|
| 24 |
+
"e819135ae0a98c833798": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e819135ae0a98c833798_full.jpg",
|
| 25 |
+
"1c3e2d6266babd3546e4": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1c3e2d6266babd3546e4_full.jpg",
|
| 26 |
+
"68c621ec6f25af92b6d2": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/68c621ec6f25af92b6d2_full.jpg",
|
| 27 |
+
"e8ba03215a0dee415f9f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e8ba03215a0dee415f9f_full.jpg",
|
| 28 |
+
"a3c7b0983f4f67c9774a9d1d": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a3c7b0983f4f67c9774a9d1d_full.jpg",
|
| 29 |
+
"9b7689bc046883d6812ad365": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9b7689bc046883d6812ad365_full.jpg",
|
| 30 |
+
"da0af48ad0dcc8746952": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/da0af48ad0dcc8746952_full.jpg",
|
| 31 |
+
"5d0f3c01b127efb8f0ea": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/5d0f3c01b127efb8f0ea_full.jpg",
|
| 32 |
+
"b11f99d2cf1b5841a9a2": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b11f99d2cf1b5841a9a2_full.jpg",
|
| 33 |
+
"02ebf54c6583ab82c85f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/02ebf54c6583ab82c85f_full.jpg",
|
| 34 |
+
"e84ccd22e73178c16b417d29": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e84ccd22e73178c16b417d29_full.jpg",
|
| 35 |
+
"7ad41e661baf307e75a0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7ad41e661baf307e75a0_full.jpg",
|
| 36 |
+
"8e8a96391338bc10f7d1ad8f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8e8a96391338bc10f7d1ad8f_full.jpg",
|
| 37 |
+
"68a541e264704eea1631197a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/68a541e264704eea1631197a_full.jpg",
|
| 38 |
+
"1f23bff3fd47fb3d88e5": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1f23bff3fd47fb3d88e5_full.jpg",
|
| 39 |
+
"481d81d40a4872823842": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/481d81d40a4872823842_full.jpg",
|
| 40 |
+
"e711d428a3ed73d52639": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e711d428a3ed73d52639_full.jpg",
|
| 41 |
+
"4f4bd53a317fbe19a459": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/4f4bd53a317fbe19a459_full.jpg",
|
| 42 |
+
"5f6fbeec7ba336848768": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/5f6fbeec7ba336848768_full.jpg",
|
| 43 |
+
"9cfdf2985b9a27f5faf2": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9cfdf2985b9a27f5faf2_full.jpg",
|
| 44 |
+
"1fa3b8cd32b3624f059f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1fa3b8cd32b3624f059f_full.jpg",
|
| 45 |
+
"e6246244f9762ecf8af0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e6246244f9762ecf8af0_full.jpg",
|
| 46 |
+
"f8701460479562a2b8576134": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f8701460479562a2b8576134_full.jpg",
|
| 47 |
+
"d29ab4c17e72adb3d110": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d29ab4c17e72adb3d110_full.jpg",
|
| 48 |
+
"f814b3e93a1455c11234": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f814b3e93a1455c11234_full.jpg",
|
| 49 |
+
"c59b63e4de72a20ab1a1": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c59b63e4de72a20ab1a1_full.jpg",
|
| 50 |
+
"7004ccacdf08558efd9e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7004ccacdf08558efd9e_full.jpg",
|
| 51 |
+
"426d44a4aecf394cce74": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/426d44a4aecf394cce74_full.jpg",
|
| 52 |
+
"f627d873be8bbdf466ab2122": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f627d873be8bbdf466ab2122_full.jpg",
|
| 53 |
+
"e60f1e573b15059b28a6a89d": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e60f1e573b15059b28a6a89d_full.jpg",
|
| 54 |
+
"051488f34a7b81d90530": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/051488f34a7b81d90530_full.jpg",
|
| 55 |
+
"bd5b4c8d9d1df40c4cb2": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/bd5b4c8d9d1df40c4cb2_full.jpg",
|
| 56 |
+
"e1707af66b16c44ca22f217e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e1707af66b16c44ca22f217e_full.jpg",
|
| 57 |
+
"e961198817aa9f71a9c0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e961198817aa9f71a9c0_full.jpg",
|
| 58 |
+
"254c3a1200962ad38d22": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/254c3a1200962ad38d22_full.jpg",
|
| 59 |
+
"709270ca3ee8fa046096": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/709270ca3ee8fa046096_full.jpg",
|
| 60 |
+
"e47ac484c8070191f186": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e47ac484c8070191f186_full.jpg",
|
| 61 |
+
"a739714a796d9e4fcabb": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a739714a796d9e4fcabb_full.jpg",
|
| 62 |
+
"98b98e2def7c3f01f00a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/98b98e2def7c3f01f00a_full.jpg",
|
| 63 |
+
"2d7e3d2dfebfdcefaa58": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2d7e3d2dfebfdcefaa58_full.jpg",
|
| 64 |
+
"dc1f9c23184c42a61af9": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/dc1f9c23184c42a61af9_full.jpg",
|
| 65 |
+
"1747d7dab8779e9564c8": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1747d7dab8779e9564c8_full.jpg",
|
| 66 |
+
"8d1d62e22f778ca48f49": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8d1d62e22f778ca48f49_full.jpg",
|
| 67 |
+
"af36ba9b4582f51913dc": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/af36ba9b4582f51913dc_full.jpg",
|
| 68 |
+
"80cd59ca87c7fbd436b6": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/80cd59ca87c7fbd436b6_full.jpg",
|
| 69 |
+
"32f8610b6d892e509529": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/32f8610b6d892e509529_full.jpg",
|
| 70 |
+
"1e5cc53312d1287a5217": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1e5cc53312d1287a5217_full.jpg",
|
| 71 |
+
"e4ce53c349d02a786e9a8d1b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e4ce53c349d02a786e9a8d1b_full.jpg",
|
| 72 |
+
"f3858cbf4c0f01d29841": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f3858cbf4c0f01d29841_full.jpg",
|
| 73 |
+
"14d0339931252b4aacfe": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/14d0339931252b4aacfe_full.jpg",
|
| 74 |
+
"8fe43e7b67951bdd7e19": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8fe43e7b67951bdd7e19_full.jpg",
|
| 75 |
+
"8d1150892e449b19b926": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8d1150892e449b19b926_full.jpg",
|
| 76 |
+
"0b30c6ac8b8a0fb34665": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/0b30c6ac8b8a0fb34665_full.jpg",
|
| 77 |
+
"51fa51d203ef3894e730": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/51fa51d203ef3894e730_full.jpg",
|
| 78 |
+
"d0a7a93ffcf0c93fb543": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d0a7a93ffcf0c93fb543_full.jpg",
|
| 79 |
+
"4170659ac3b73692c561": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/4170659ac3b73692c561_full.jpg",
|
| 80 |
+
"2c7c9fcf190aa1ce0417a597": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2c7c9fcf190aa1ce0417a597_full.jpg",
|
| 81 |
+
"34293d5c9114401b8f2fa095": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/34293d5c9114401b8f2fa095_full.jpg",
|
| 82 |
+
"69f662bcff9f44cb0b0e1834": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/69f662bcff9f44cb0b0e1834_full.jpg",
|
| 83 |
+
"7b0803f38879e5bde60f6513": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7b0803f38879e5bde60f6513_full.jpg",
|
| 84 |
+
"d938ae931dbe89e16810f069": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d938ae931dbe89e16810f069_full.jpg",
|
| 85 |
+
"5c2691b0661e4d7c91b4": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/5c2691b0661e4d7c91b4_full.jpg",
|
| 86 |
+
"e091bd042f1cd85757bae117": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e091bd042f1cd85757bae117_full.jpg",
|
| 87 |
+
"cb450b6c00e74c066384": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/cb450b6c00e74c066384_full.jpg",
|
| 88 |
+
"d14d6bafe0a0440cd6f9e1b5": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d14d6bafe0a0440cd6f9e1b5_full.jpg",
|
| 89 |
+
"39df7a0341e41f8c8537": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/39df7a0341e41f8c8537_full.jpg",
|
| 90 |
+
"26ecc41219db0bb6833e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/26ecc41219db0bb6833e_full.jpg",
|
| 91 |
+
"78c11495a9b7b3cc64b560e0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/78c11495a9b7b3cc64b560e0_full.jpg",
|
| 92 |
+
"d02f389c481d4328e42c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d02f389c481d4328e42c_full.jpg",
|
| 93 |
+
"44c489639225f513755b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/44c489639225f513755b_full.jpg",
|
| 94 |
+
"e233df5f771af8c53fc3": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e233df5f771af8c53fc3_full.jpg",
|
| 95 |
+
"53111882d76eaac38c4b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/53111882d76eaac38c4b_full.jpg",
|
| 96 |
+
"68b46ceb0f9a5e531f67": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/68b46ceb0f9a5e531f67_full.jpg",
|
| 97 |
+
"fd625216506afacda693": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/fd625216506afacda693_full.jpg",
|
| 98 |
+
"2d9bbf4c2273c70deb7a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2d9bbf4c2273c70deb7a_full.jpg",
|
| 99 |
+
"7dca30f7a824c6e29684": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7dca30f7a824c6e29684_full.jpg",
|
| 100 |
+
"7013cfedf62948731c5ac3c6": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7013cfedf62948731c5ac3c6_full.jpg",
|
| 101 |
+
"c8f2320b86ea13b9bab5": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c8f2320b86ea13b9bab5_full.jpg",
|
| 102 |
+
"4d20b3caae3d94f98758": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/4d20b3caae3d94f98758_full.jpg",
|
| 103 |
+
"a7e95de948f4e3c7a9e1": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a7e95de948f4e3c7a9e1_full.jpg",
|
| 104 |
+
"49a2ec37f0d860cf4e5f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/49a2ec37f0d860cf4e5f_full.jpg",
|
| 105 |
+
"22caad7a50fba7e5a48c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/22caad7a50fba7e5a48c_full.jpg",
|
| 106 |
+
"2eedd007649d900cef05": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2eedd007649d900cef05_full.jpg",
|
| 107 |
+
"ef88da2267ff884145a6": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/ef88da2267ff884145a6_full.jpg",
|
| 108 |
+
"424addca86b89fee040efda7": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/424addca86b89fee040efda7_full.jpg",
|
| 109 |
+
"20223c4b01e8cbdb9d7e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/20223c4b01e8cbdb9d7e_full.jpg",
|
| 110 |
+
"d3c2bb99633d6b4a8aa2": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d3c2bb99633d6b4a8aa2_full.jpg",
|
| 111 |
+
"8d2ec44ad9de28620df2163a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8d2ec44ad9de28620df2163a_full.jpg",
|
| 112 |
+
"0c9121f9b810877ab40a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/0c9121f9b810877ab40a_full.jpg",
|
| 113 |
+
"58d7c39fa4067efa0e7f0d2b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/58d7c39fa4067efa0e7f0d2b_full.jpg",
|
| 114 |
+
"1484a4fa916d38805fbd": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1484a4fa916d38805fbd_full.jpg",
|
| 115 |
+
"a9e4dfb5604a2cc763fa": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a9e4dfb5604a2cc763fa_full.jpg",
|
| 116 |
+
"b079d1f7948614710a25": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b079d1f7948614710a25_full.jpg",
|
| 117 |
+
"5c19a54208a02bfa1018": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/5c19a54208a02bfa1018_full.jpg",
|
| 118 |
+
"20c60d2776a9dc3b0ec8": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/20c60d2776a9dc3b0ec8_full.jpg",
|
| 119 |
+
"5c080f4de66e006fbc92": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/5c080f4de66e006fbc92_full.jpg",
|
| 120 |
+
"7f26c16b0d8aa175372c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7f26c16b0d8aa175372c_full.jpg",
|
| 121 |
+
"6b8129effc9e011cdad0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/6b8129effc9e011cdad0_full.jpg",
|
| 122 |
+
"9ed30c2edbdd030aef57": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9ed30c2edbdd030aef57_full.jpg",
|
| 123 |
+
"fd4046a079b1c42aa749": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/fd4046a079b1c42aa749_full.jpg",
|
| 124 |
+
"b3690a8306fe0bd68709": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b3690a8306fe0bd68709_full.jpg",
|
| 125 |
+
"a8e8bfc0b7537d1d5d23": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a8e8bfc0b7537d1d5d23_full.jpg",
|
| 126 |
+
"3b701e412eac6e6ec2f8": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/3b701e412eac6e6ec2f8_full.jpg",
|
| 127 |
+
"6a39e7065cc041c028c2": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/6a39e7065cc041c028c2_full.jpg",
|
| 128 |
+
"2a04e8b2071dbcaf0b21": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2a04e8b2071dbcaf0b21_full.jpg",
|
| 129 |
+
"b43d3dd1c354082814044d0e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b43d3dd1c354082814044d0e_full.jpg",
|
| 130 |
+
"9d8c31ece9d4ee6356a7": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9d8c31ece9d4ee6356a7_full.jpg",
|
| 131 |
+
"ff090b11eb8c1c97d1b1": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/ff090b11eb8c1c97d1b1_full.jpg",
|
| 132 |
+
"3e1ce415d92c633a3f85": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/3e1ce415d92c633a3f85_full.jpg",
|
| 133 |
+
"d08484881f3d38e33766": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d08484881f3d38e33766_full.jpg",
|
| 134 |
+
"0a91aff1c924caef9c59": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/0a91aff1c924caef9c59_full.jpg",
|
| 135 |
+
"9863462cd7d135a71bb3": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9863462cd7d135a71bb3_full.jpg",
|
| 136 |
+
"2d3c47f19c14df76da56": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2d3c47f19c14df76da56_full.jpg",
|
| 137 |
+
"9ddd5e2ff6fc35e23ea0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9ddd5e2ff6fc35e23ea0_full.jpg",
|
| 138 |
+
"bd73395b46b77bc7bee3": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/bd73395b46b77bc7bee3_full.jpg",
|
| 139 |
+
"d0f8ba263e9e96190bd9": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d0f8ba263e9e96190bd9_full.jpg",
|
| 140 |
+
"1b2b1b4c410119d7cfc5": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1b2b1b4c410119d7cfc5_full.jpg",
|
| 141 |
+
"c40d30ee4539a1aad557": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c40d30ee4539a1aad557_full.jpg",
|
| 142 |
+
"cf79151b6829db78517a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/cf79151b6829db78517a_full.jpg",
|
| 143 |
+
"9c2e7ff4654460f4030f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9c2e7ff4654460f4030f_full.jpg",
|
| 144 |
+
"b382a471a33c59767d22": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b382a471a33c59767d22_full.jpg",
|
| 145 |
+
"e8157fff2bbabc5fdc1a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/e8157fff2bbabc5fdc1a_full.jpg",
|
| 146 |
+
"eadcb7a6c5d5159d0502": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/eadcb7a6c5d5159d0502_full.jpg",
|
| 147 |
+
"1e22570256e44ca5e269": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1e22570256e44ca5e269_full.jpg",
|
| 148 |
+
"134ebf837687cfa8e952": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/134ebf837687cfa8e952_full.jpg",
|
| 149 |
+
"f848dc2f1ddf1d358ca0e9e1": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f848dc2f1ddf1d358ca0e9e1_full.jpg",
|
| 150 |
+
"9bc5eaf8d5f66ab4eaf1366e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9bc5eaf8d5f66ab4eaf1366e_full.jpg",
|
| 151 |
+
"453d2cc14f8d215c7d40": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/453d2cc14f8d215c7d40_full.jpg",
|
| 152 |
+
"d661d3a9870e56a19c91": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d661d3a9870e56a19c91_full.jpg",
|
| 153 |
+
"4cfeac816d92842bc755": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/4cfeac816d92842bc755_full.jpg",
|
| 154 |
+
"7934f62c76bfb8dd3bf3": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7934f62c76bfb8dd3bf3_full.jpg",
|
| 155 |
+
"1cee33c2d65b2b8d31488632": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1cee33c2d65b2b8d31488632_full.jpg",
|
| 156 |
+
"f19d0662245af4c71763": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f19d0662245af4c71763_full.jpg",
|
| 157 |
+
"a0ec3823330a24e23ac7": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/a0ec3823330a24e23ac7_full.jpg",
|
| 158 |
+
"8b84d67f9a9591409fa9": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8b84d67f9a9591409fa9_full.jpg",
|
| 159 |
+
"78e18527e166d55d3525": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/78e18527e166d55d3525_full.jpg",
|
| 160 |
+
"f33f695bd926a02bc84e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/f33f695bd926a02bc84e_full.jpg",
|
| 161 |
+
"d05eba95c7388af49847": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d05eba95c7388af49847_full.jpg",
|
| 162 |
+
"c9f997fb81d6a0f0bfa6": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c9f997fb81d6a0f0bfa6_full.jpg",
|
| 163 |
+
"bc0a88a14f599042e4c8": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/bc0a88a14f599042e4c8_full.jpg",
|
| 164 |
+
"8c226dc277f10bf920f4": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8c226dc277f10bf920f4_full.jpg",
|
| 165 |
+
"081c01ffbf5f40c9c626": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/081c01ffbf5f40c9c626_full.jpg",
|
| 166 |
+
"3530dae0c9383609709c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/3530dae0c9383609709c_full.jpg",
|
| 167 |
+
"b189f0ca16525621e22c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b189f0ca16525621e22c_full.jpg",
|
| 168 |
+
"9abe8f9319fc1dd8b181": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9abe8f9319fc1dd8b181_full.jpg",
|
| 169 |
+
"beb98201bb70ed75d01f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/beb98201bb70ed75d01f_full.jpg",
|
| 170 |
+
"837d5b49ed2870bce02c": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/837d5b49ed2870bce02c_full.jpg",
|
| 171 |
+
"ddb44b54d36aad0fd95e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/ddb44b54d36aad0fd95e_full.jpg",
|
| 172 |
+
"5ffdcab43fdf8bd8d77a": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/5ffdcab43fdf8bd8d77a_full.jpg",
|
| 173 |
+
"52cb790e37fd70a006be": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/52cb790e37fd70a006be_full.jpg",
|
| 174 |
+
"49b54d7b7fe543388921": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/49b54d7b7fe543388921_full.jpg",
|
| 175 |
+
"9b55a0434e2786cd3044": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9b55a0434e2786cd3044_full.jpg",
|
| 176 |
+
"60da376241f33a59358d": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/60da376241f33a59358d_full.jpg",
|
| 177 |
+
"929a7e1ae727b60ea7d1ea9b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/929a7e1ae727b60ea7d1ea9b_full.jpg",
|
| 178 |
+
"4c5eaa8433fcd5454daef5c0": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/4c5eaa8433fcd5454daef5c0_full.jpg",
|
| 179 |
+
"b07aba1dd30ac8e1fdce7331": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b07aba1dd30ac8e1fdce7331_full.jpg",
|
| 180 |
+
"710d7786f3a38656b18f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/710d7786f3a38656b18f_full.jpg",
|
| 181 |
+
"b8be60f7028743d85681": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/b8be60f7028743d85681_full.jpg",
|
| 182 |
+
"7ebb21a3b4273f1dd48b09c9": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/7ebb21a3b4273f1dd48b09c9_full.jpg",
|
| 183 |
+
"df67e32bd7c4ddbbb7b7450b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/df67e32bd7c4ddbbb7b7450b_full.jpg",
|
| 184 |
+
"6fad1f8f4e5c7c22de84": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/6fad1f8f4e5c7c22de84_full.jpg",
|
| 185 |
+
"28bca0426553ce0c86fb": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/28bca0426553ce0c86fb_full.jpg",
|
| 186 |
+
"6798e72241e270b425470b9b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/6798e72241e270b425470b9b_full.jpg",
|
| 187 |
+
"8dc28a66d55468d5294f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8dc28a66d55468d5294f_full.jpg",
|
| 188 |
+
"1bcd5b0b4c9e32c95b8b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/1bcd5b0b4c9e32c95b8b_full.jpg",
|
| 189 |
+
"ec36a53260255c0acc7e": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/ec36a53260255c0acc7e_full.jpg",
|
| 190 |
+
"58cb34d992a93423f4c3": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/58cb34d992a93423f4c3_full.jpg",
|
| 191 |
+
"234e3d230de35765687b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/234e3d230de35765687b_full.jpg",
|
| 192 |
+
"cebf1ffe5a37c5211573": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/cebf1ffe5a37c5211573_full.jpg",
|
| 193 |
+
"23e1c6c8f4333e4095fa": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/23e1c6c8f4333e4095fa_full.jpg",
|
| 194 |
+
"6b700b801ca204d95fed": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/6b700b801ca204d95fed_full.jpg",
|
| 195 |
+
"2f482daaa7dac33b90eb": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/2f482daaa7dac33b90eb_full.jpg",
|
| 196 |
+
"20dcaf83333f2e3f4cbe": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/20dcaf83333f2e3f4cbe_full.jpg",
|
| 197 |
+
"c9db300d366972b3a8215d28": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c9db300d366972b3a8215d28_full.jpg",
|
| 198 |
+
"69916ab42c3597853725": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/69916ab42c3597853725_full.jpg",
|
| 199 |
+
"036160382c666ec628fb": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/036160382c666ec628fb_full.jpg",
|
| 200 |
+
"782651881ff23ad1c09b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/782651881ff23ad1c09b_full.jpg",
|
| 201 |
+
"d153b1fecc063bd3165b9eba": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d153b1fecc063bd3165b9eba_full.jpg",
|
| 202 |
+
"c3f306e49a6c3e150364": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/c3f306e49a6c3e150364_full.jpg",
|
| 203 |
+
"d33b066d39239ee3a10f": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/d33b066d39239ee3a10f_full.jpg",
|
| 204 |
+
"004cefaa3b38c62c7afd": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/004cefaa3b38c62c7afd_full.jpg",
|
| 205 |
+
"dec34727f0d05d73f816": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/dec34727f0d05d73f816_full.jpg",
|
| 206 |
+
"83aff30dc4ae2ebfb653": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/83aff30dc4ae2ebfb653_full.jpg",
|
| 207 |
+
"9eb3a33796ebaa27149b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/9eb3a33796ebaa27149b_full.jpg",
|
| 208 |
+
"8660d148153168dafcbc": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8660d148153168dafcbc_full.jpg",
|
| 209 |
+
"ef2b387c47d87408f51b": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/ef2b387c47d87408f51b_full.jpg",
|
| 210 |
+
"8478ac1fa48b12c6b26d": "https://yangzijing-nine-source-hand-data-browser.static.hf.space/pose_recluster_distinct_20261014/media/8478ac1fa48b12c6b26d_full.jpg"
|
| 211 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/exact_engine.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"torch": "2.6.0+cu124",
|
| 3 |
+
"cuda_device": "NVIDIA GeForce RTX 4090",
|
| 4 |
+
"tf32": false,
|
| 5 |
+
"query_tile": 512,
|
| 6 |
+
"bank_tile": 8192,
|
| 7 |
+
"peak_gpu_MB": 433.141248,
|
| 8 |
+
"method": "exhaustive all same-hand reference samples; no ANN approximation",
|
| 9 |
+
"created_at_utc": "2026-10-14T06:13:54.410385+00:00"
|
| 10 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/frozen_protocol_sha256.json
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"manifests/coverage_protocol.json": "48cb041662614b8918e531c85dc78349e7cc3bef4d9e492d9845d50030789845",
|
| 3 |
+
"manifests/calibration_members.json": "f74899ccfee97ed3a428fadffc877624ee510ce9d6ee471d5402713e5038a2f2"
|
| 4 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/input_sha256.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/manifests/ours_members.json": "dc17aaae371daa90b355f0c2636181147753efa51f27bc3c06779b60679c2cb2",
|
| 3 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/manifests/external_members.json": "008106eed817345f4075d846e1349dd3961fd8955af31442e9679bf776fd3942",
|
| 4 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_features.npz": "96783cff16fc78358144cb0380bf48621c8aa1e81ccaf6a15445ac9cc4fc1746",
|
| 5 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_features.npz": "eadbd46e0fb1dbdba3c1fefe02370108663a4671633a9466ed25c1934cf87d0a",
|
| 6 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/metrics/models.json": "e2853362de79b4239f77fe4c13f741a1e76300a510f2d5d9e7bc9ca435c96a27",
|
| 7 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/site/index.html": "4e59d6276d02b464b04e48ed265af754ef67307cbd717dcd204e2c23603454c5",
|
| 8 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/site/app.js": "b6e787014fd7537a6eae3c646bb201c7e007cd5fe41a7543c4f8f978ee4c523f",
|
| 9 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/site/data.js": "997e6fef0924c363ee59ace9fd64f799332cd78b3e07322cb12963c027c06d66",
|
| 10 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/site/style.css": "e0b17e70d4fe187df7508453431f608081c7132bc555cd592e122cb484bc4b6d",
|
| 11 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_left_assignments.npz": "f9ac67fa35d7c8062d526046e2175022bd13cbe51c853b868a2836f0ccaac469",
|
| 12 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_left_distinct_assignments.npz": "f7acbd35ab14128b6e08a59e038b3884cd54c4fc261ea1783b9c02477a46d35b",
|
| 13 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_left_fit.npz": "896bde17f799515f495d21b97e63094e6642e11169153a0d62901941999dc1bd",
|
| 14 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_right_assignments.npz": "7463f514c72226c42e0a675b5ed9b840822d242dc1d61343ed025265f7bbcfdd",
|
| 15 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_right_distinct_assignments.npz": "f6fde1dfe129863b04db38f7145fcc8f008fe8de46573f4a78fe842db7f73212",
|
| 16 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/ours_right_fit.npz": "2af416917c7f199ce85c3575d882251b60bd8170e17d5e3444a2ec3b557218a5",
|
| 17 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_left_assignments.npz": "2c313b234a88da737d2aab954ee8513028d6702e1e8b6cc332c8ca068744164e",
|
| 18 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_left_distinct_assignments.npz": "9ceacf48fe9937e3730f906d06aacc35ca27ea30fe4d1b2fa1df867c5ef4b51f",
|
| 19 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_left_fit.npz": "cdc7eaaba39c75ceab1c62fffe7a0d47b4f87ad8e84211b6887e81ecf374c106",
|
| 20 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_right_assignments.npz": "ae8ca50889f414e2b89887d588af6d1d08757ec9a7ddadd53da0dda13f767032",
|
| 21 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_right_distinct_assignments.npz": "00012ba4c5436f8a039870d8874487024631b448d7a7ffcadab41782d1f65f93",
|
| 22 |
+
"/SSD3/yangzijing/Hand_pose_recluster_distinct_20261014/cache/external_right_fit.npz": "250f3c86d17b916eea7f3a5fbe6a0a247a878cbe853eda2fcfe92dbd516d0553"
|
| 23 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/local_coverage_browser.json
ADDED
|
@@ -0,0 +1,474 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "PASS",
|
| 3 |
+
"mode": "local",
|
| 4 |
+
"url": "file:///SSD3/yangzijing/Hand_class_coverage_20261014/site/index.html",
|
| 5 |
+
"coverage_classes": 114,
|
| 6 |
+
"details": [
|
| 7 |
+
{
|
| 8 |
+
"key": "external_right_distinct_B1",
|
| 9 |
+
"images": 4
|
| 10 |
+
},
|
| 11 |
+
{
|
| 12 |
+
"key": "external_right_distinct_B2",
|
| 13 |
+
"images": 4
|
| 14 |
+
},
|
| 15 |
+
{
|
| 16 |
+
"key": "external_right_distinct_B3",
|
| 17 |
+
"images": 4
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"key": "external_right_distinct_B4",
|
| 21 |
+
"images": 4
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"key": "external_right_distinct_B5",
|
| 25 |
+
"images": 5
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"key": "external_right_distinct_B6",
|
| 29 |
+
"images": 4
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"key": "external_right_distinct_B7",
|
| 33 |
+
"images": 6
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"key": "external_right_distinct_B8",
|
| 37 |
+
"images": 4
|
| 38 |
+
},
|
| 39 |
+
{
|
| 40 |
+
"key": "external_right_distinct_B9",
|
| 41 |
+
"images": 6
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"key": "external_right_distinct_B10",
|
| 45 |
+
"images": 6
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"key": "external_right_distinct_B11",
|
| 49 |
+
"images": 6
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"key": "external_right_distinct_B12",
|
| 53 |
+
"images": 6
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"key": "external_right_distinct_B13",
|
| 57 |
+
"images": 5
|
| 58 |
+
},
|
| 59 |
+
{
|
| 60 |
+
"key": "external_right_distinct_B14",
|
| 61 |
+
"images": 4
|
| 62 |
+
},
|
| 63 |
+
{
|
| 64 |
+
"key": "external_right_distinct_B15",
|
| 65 |
+
"images": 4
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"key": "external_right_distinct_B16",
|
| 69 |
+
"images": 6
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"key": "external_right_distinct_B17",
|
| 73 |
+
"images": 6
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"key": "external_right_distinct_B18",
|
| 77 |
+
"images": 5
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"key": "external_right_distinct_B19",
|
| 81 |
+
"images": 6
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"key": "external_right_distinct_B20",
|
| 85 |
+
"images": 4
|
| 86 |
+
},
|
| 87 |
+
{
|
| 88 |
+
"key": "external_right_distinct_B21",
|
| 89 |
+
"images": 4
|
| 90 |
+
},
|
| 91 |
+
{
|
| 92 |
+
"key": "external_right_distinct_B22",
|
| 93 |
+
"images": 6
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"key": "external_right_distinct_B23",
|
| 97 |
+
"images": 4
|
| 98 |
+
},
|
| 99 |
+
{
|
| 100 |
+
"key": "external_right_distinct_B24",
|
| 101 |
+
"images": 6
|
| 102 |
+
},
|
| 103 |
+
{
|
| 104 |
+
"key": "external_right_distinct_B25",
|
| 105 |
+
"images": 4
|
| 106 |
+
},
|
| 107 |
+
{
|
| 108 |
+
"key": "external_right_distinct_B26",
|
| 109 |
+
"images": 6
|
| 110 |
+
},
|
| 111 |
+
{
|
| 112 |
+
"key": "external_right_fine_B1",
|
| 113 |
+
"images": 3
|
| 114 |
+
},
|
| 115 |
+
{
|
| 116 |
+
"key": "external_right_fine_B2",
|
| 117 |
+
"images": 3
|
| 118 |
+
},
|
| 119 |
+
{
|
| 120 |
+
"key": "external_right_fine_B3",
|
| 121 |
+
"images": 3
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"key": "external_right_fine_B4",
|
| 125 |
+
"images": 3
|
| 126 |
+
},
|
| 127 |
+
{
|
| 128 |
+
"key": "external_right_fine_B5",
|
| 129 |
+
"images": 3
|
| 130 |
+
},
|
| 131 |
+
{
|
| 132 |
+
"key": "external_right_fine_B6",
|
| 133 |
+
"images": 3
|
| 134 |
+
},
|
| 135 |
+
{
|
| 136 |
+
"key": "external_right_fine_B7",
|
| 137 |
+
"images": 4
|
| 138 |
+
},
|
| 139 |
+
{
|
| 140 |
+
"key": "external_right_fine_B8",
|
| 141 |
+
"images": 3
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"key": "external_right_fine_B9",
|
| 145 |
+
"images": 4
|
| 146 |
+
},
|
| 147 |
+
{
|
| 148 |
+
"key": "external_right_fine_B10",
|
| 149 |
+
"images": 4
|
| 150 |
+
},
|
| 151 |
+
{
|
| 152 |
+
"key": "external_right_fine_B11",
|
| 153 |
+
"images": 4
|
| 154 |
+
},
|
| 155 |
+
{
|
| 156 |
+
"key": "external_right_fine_B12",
|
| 157 |
+
"images": 4
|
| 158 |
+
},
|
| 159 |
+
{
|
| 160 |
+
"key": "external_right_fine_B13",
|
| 161 |
+
"images": 4
|
| 162 |
+
},
|
| 163 |
+
{
|
| 164 |
+
"key": "external_right_fine_B14",
|
| 165 |
+
"images": 3
|
| 166 |
+
},
|
| 167 |
+
{
|
| 168 |
+
"key": "external_right_fine_B15",
|
| 169 |
+
"images": 4
|
| 170 |
+
},
|
| 171 |
+
{
|
| 172 |
+
"key": "external_right_fine_B16",
|
| 173 |
+
"images": 4
|
| 174 |
+
},
|
| 175 |
+
{
|
| 176 |
+
"key": "external_right_fine_B17",
|
| 177 |
+
"images": 4
|
| 178 |
+
},
|
| 179 |
+
{
|
| 180 |
+
"key": "external_right_fine_B18",
|
| 181 |
+
"images": 3
|
| 182 |
+
},
|
| 183 |
+
{
|
| 184 |
+
"key": "external_right_fine_B19",
|
| 185 |
+
"images": 3
|
| 186 |
+
},
|
| 187 |
+
{
|
| 188 |
+
"key": "external_right_fine_B20",
|
| 189 |
+
"images": 4
|
| 190 |
+
},
|
| 191 |
+
{
|
| 192 |
+
"key": "external_right_fine_B21",
|
| 193 |
+
"images": 4
|
| 194 |
+
},
|
| 195 |
+
{
|
| 196 |
+
"key": "external_right_fine_B22",
|
| 197 |
+
"images": 3
|
| 198 |
+
},
|
| 199 |
+
{
|
| 200 |
+
"key": "external_right_fine_B23",
|
| 201 |
+
"images": 4
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"key": "external_right_fine_B24",
|
| 205 |
+
"images": 3
|
| 206 |
+
},
|
| 207 |
+
{
|
| 208 |
+
"key": "external_right_fine_B25",
|
| 209 |
+
"images": 4
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"key": "external_right_fine_B26",
|
| 213 |
+
"images": 3
|
| 214 |
+
},
|
| 215 |
+
{
|
| 216 |
+
"key": "external_right_fine_B27",
|
| 217 |
+
"images": 4
|
| 218 |
+
},
|
| 219 |
+
{
|
| 220 |
+
"key": "external_right_fine_B28",
|
| 221 |
+
"images": 4
|
| 222 |
+
},
|
| 223 |
+
{
|
| 224 |
+
"key": "external_right_fine_B29",
|
| 225 |
+
"images": 3
|
| 226 |
+
},
|
| 227 |
+
{
|
| 228 |
+
"key": "external_right_fine_B30",
|
| 229 |
+
"images": 4
|
| 230 |
+
},
|
| 231 |
+
{
|
| 232 |
+
"key": "external_right_fine_B31",
|
| 233 |
+
"images": 3
|
| 234 |
+
},
|
| 235 |
+
{
|
| 236 |
+
"key": "external_right_fine_B32",
|
| 237 |
+
"images": 4
|
| 238 |
+
},
|
| 239 |
+
{
|
| 240 |
+
"key": "external_left_distinct_B1",
|
| 241 |
+
"images": 4
|
| 242 |
+
},
|
| 243 |
+
{
|
| 244 |
+
"key": "external_left_distinct_B2",
|
| 245 |
+
"images": 5
|
| 246 |
+
},
|
| 247 |
+
{
|
| 248 |
+
"key": "external_left_distinct_B3",
|
| 249 |
+
"images": 6
|
| 250 |
+
},
|
| 251 |
+
{
|
| 252 |
+
"key": "external_left_distinct_B4",
|
| 253 |
+
"images": 4
|
| 254 |
+
},
|
| 255 |
+
{
|
| 256 |
+
"key": "external_left_distinct_B5",
|
| 257 |
+
"images": 6
|
| 258 |
+
},
|
| 259 |
+
{
|
| 260 |
+
"key": "external_left_distinct_B6",
|
| 261 |
+
"images": 4
|
| 262 |
+
},
|
| 263 |
+
{
|
| 264 |
+
"key": "external_left_distinct_B7",
|
| 265 |
+
"images": 4
|
| 266 |
+
},
|
| 267 |
+
{
|
| 268 |
+
"key": "external_left_distinct_B8",
|
| 269 |
+
"images": 6
|
| 270 |
+
},
|
| 271 |
+
{
|
| 272 |
+
"key": "external_left_distinct_B9",
|
| 273 |
+
"images": 6
|
| 274 |
+
},
|
| 275 |
+
{
|
| 276 |
+
"key": "external_left_distinct_B10",
|
| 277 |
+
"images": 4
|
| 278 |
+
},
|
| 279 |
+
{
|
| 280 |
+
"key": "external_left_distinct_B11",
|
| 281 |
+
"images": 6
|
| 282 |
+
},
|
| 283 |
+
{
|
| 284 |
+
"key": "external_left_distinct_B12",
|
| 285 |
+
"images": 6
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"key": "external_left_distinct_B13",
|
| 289 |
+
"images": 6
|
| 290 |
+
},
|
| 291 |
+
{
|
| 292 |
+
"key": "external_left_distinct_B14",
|
| 293 |
+
"images": 6
|
| 294 |
+
},
|
| 295 |
+
{
|
| 296 |
+
"key": "external_left_distinct_B15",
|
| 297 |
+
"images": 6
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"key": "external_left_distinct_B16",
|
| 301 |
+
"images": 4
|
| 302 |
+
},
|
| 303 |
+
{
|
| 304 |
+
"key": "external_left_distinct_B17",
|
| 305 |
+
"images": 6
|
| 306 |
+
},
|
| 307 |
+
{
|
| 308 |
+
"key": "external_left_distinct_B18",
|
| 309 |
+
"images": 4
|
| 310 |
+
},
|
| 311 |
+
{
|
| 312 |
+
"key": "external_left_distinct_B19",
|
| 313 |
+
"images": 6
|
| 314 |
+
},
|
| 315 |
+
{
|
| 316 |
+
"key": "external_left_distinct_B20",
|
| 317 |
+
"images": 6
|
| 318 |
+
},
|
| 319 |
+
{
|
| 320 |
+
"key": "external_left_distinct_B21",
|
| 321 |
+
"images": 4
|
| 322 |
+
},
|
| 323 |
+
{
|
| 324 |
+
"key": "external_left_distinct_B22",
|
| 325 |
+
"images": 4
|
| 326 |
+
},
|
| 327 |
+
{
|
| 328 |
+
"key": "external_left_distinct_B23",
|
| 329 |
+
"images": 5
|
| 330 |
+
},
|
| 331 |
+
{
|
| 332 |
+
"key": "external_left_distinct_B24",
|
| 333 |
+
"images": 4
|
| 334 |
+
},
|
| 335 |
+
{
|
| 336 |
+
"key": "external_left_fine_B1",
|
| 337 |
+
"images": 3
|
| 338 |
+
},
|
| 339 |
+
{
|
| 340 |
+
"key": "external_left_fine_B2",
|
| 341 |
+
"images": 4
|
| 342 |
+
},
|
| 343 |
+
{
|
| 344 |
+
"key": "external_left_fine_B3",
|
| 345 |
+
"images": 4
|
| 346 |
+
},
|
| 347 |
+
{
|
| 348 |
+
"key": "external_left_fine_B4",
|
| 349 |
+
"images": 3
|
| 350 |
+
},
|
| 351 |
+
{
|
| 352 |
+
"key": "external_left_fine_B5",
|
| 353 |
+
"images": 4
|
| 354 |
+
},
|
| 355 |
+
{
|
| 356 |
+
"key": "external_left_fine_B6",
|
| 357 |
+
"images": 3
|
| 358 |
+
},
|
| 359 |
+
{
|
| 360 |
+
"key": "external_left_fine_B7",
|
| 361 |
+
"images": 3
|
| 362 |
+
},
|
| 363 |
+
{
|
| 364 |
+
"key": "external_left_fine_B8",
|
| 365 |
+
"images": 4
|
| 366 |
+
},
|
| 367 |
+
{
|
| 368 |
+
"key": "external_left_fine_B9",
|
| 369 |
+
"images": 4
|
| 370 |
+
},
|
| 371 |
+
{
|
| 372 |
+
"key": "external_left_fine_B10",
|
| 373 |
+
"images": 4
|
| 374 |
+
},
|
| 375 |
+
{
|
| 376 |
+
"key": "external_left_fine_B11",
|
| 377 |
+
"images": 3
|
| 378 |
+
},
|
| 379 |
+
{
|
| 380 |
+
"key": "external_left_fine_B12",
|
| 381 |
+
"images": 4
|
| 382 |
+
},
|
| 383 |
+
{
|
| 384 |
+
"key": "external_left_fine_B13",
|
| 385 |
+
"images": 4
|
| 386 |
+
},
|
| 387 |
+
{
|
| 388 |
+
"key": "external_left_fine_B14",
|
| 389 |
+
"images": 4
|
| 390 |
+
},
|
| 391 |
+
{
|
| 392 |
+
"key": "external_left_fine_B15",
|
| 393 |
+
"images": 4
|
| 394 |
+
},
|
| 395 |
+
{
|
| 396 |
+
"key": "external_left_fine_B16",
|
| 397 |
+
"images": 4
|
| 398 |
+
},
|
| 399 |
+
{
|
| 400 |
+
"key": "external_left_fine_B17",
|
| 401 |
+
"images": 4
|
| 402 |
+
},
|
| 403 |
+
{
|
| 404 |
+
"key": "external_left_fine_B18",
|
| 405 |
+
"images": 4
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"key": "external_left_fine_B19",
|
| 409 |
+
"images": 4
|
| 410 |
+
},
|
| 411 |
+
{
|
| 412 |
+
"key": "external_left_fine_B20",
|
| 413 |
+
"images": 3
|
| 414 |
+
},
|
| 415 |
+
{
|
| 416 |
+
"key": "external_left_fine_B21",
|
| 417 |
+
"images": 4
|
| 418 |
+
},
|
| 419 |
+
{
|
| 420 |
+
"key": "external_left_fine_B22",
|
| 421 |
+
"images": 3
|
| 422 |
+
},
|
| 423 |
+
{
|
| 424 |
+
"key": "external_left_fine_B23",
|
| 425 |
+
"images": 4
|
| 426 |
+
},
|
| 427 |
+
{
|
| 428 |
+
"key": "external_left_fine_B24",
|
| 429 |
+
"images": 4
|
| 430 |
+
},
|
| 431 |
+
{
|
| 432 |
+
"key": "external_left_fine_B25",
|
| 433 |
+
"images": 4
|
| 434 |
+
},
|
| 435 |
+
{
|
| 436 |
+
"key": "external_left_fine_B26",
|
| 437 |
+
"images": 4
|
| 438 |
+
},
|
| 439 |
+
{
|
| 440 |
+
"key": "external_left_fine_B27",
|
| 441 |
+
"images": 3
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"key": "external_left_fine_B28",
|
| 445 |
+
"images": 3
|
| 446 |
+
},
|
| 447 |
+
{
|
| 448 |
+
"key": "external_left_fine_B29",
|
| 449 |
+
"images": 4
|
| 450 |
+
},
|
| 451 |
+
{
|
| 452 |
+
"key": "external_left_fine_B30",
|
| 453 |
+
"images": 4
|
| 454 |
+
},
|
| 455 |
+
{
|
| 456 |
+
"key": "external_left_fine_B31",
|
| 457 |
+
"images": 4
|
| 458 |
+
},
|
| 459 |
+
{
|
| 460 |
+
"key": "external_left_fine_B32",
|
| 461 |
+
"images": 3
|
| 462 |
+
}
|
| 463 |
+
],
|
| 464 |
+
"source_rows": 18,
|
| 465 |
+
"coverage_filters": true,
|
| 466 |
+
"coverage_sort": true,
|
| 467 |
+
"compare_filter": true,
|
| 468 |
+
"direct_class_hash": true,
|
| 469 |
+
"interhand_and_2d_galleries": true,
|
| 470 |
+
"mobile_no_overflow": true,
|
| 471 |
+
"page_errors": [],
|
| 472 |
+
"http_events": [],
|
| 473 |
+
"images_decoded": true
|
| 474 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/member_coverage.csv.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:082a8531f273cafc8062daade1123570aed3b8d0e232e1841bae17dfd2b5c533
|
| 3 |
+
size 10757577
|
pose_recluster_distinct_20261014/downloads/coverage/new_media_sha256.json
ADDED
|
@@ -0,0 +1,444 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"media/02ebf54c6583ab82c85f_crop.jpg": "e88c5de083e62d7929bb113f3ffe111ddcd8b89c8f941b520c5278ca51b5e7b3",
|
| 3 |
+
"media/02ebf54c6583ab82c85f_full.jpg": "0dad8886cb5608fd5c0799fd6b915b3f842324e3843a7713379c06bda10b442e",
|
| 4 |
+
"media/051488f34a7b81d90530_crop.jpg": "894a9c1433746f77b2be59188eebd01dbce61dc74756fea6a7c4434dd99f7a33",
|
| 5 |
+
"media/051488f34a7b81d90530_full.jpg": "d7be802efdf7cb9e4fb2fafd0880beab9d7a614f8fcd9bf091062bdcb2fc8f4f",
|
| 6 |
+
"media/0706b91076bbbfac27c5_crop.jpg": "27c8318bebee8f48aeac8cd948ec2db6df8fe23741814c90f9dd604b10d844d3",
|
| 7 |
+
"media/0706b91076bbbfac27c5_full.jpg": "0123a2debc7c13a02e9da2db1a0e95f92d6a8600d91f18e9990ebfb1183b5fed",
|
| 8 |
+
"media/0831e6638e9af7f854bd_crop.jpg": "adf001a2d9e588a391fd154822b6ee60da42dc3b9970c5bef127cfe1a5207176",
|
| 9 |
+
"media/0831e6638e9af7f854bd_full.jpg": "a8cb62fd5637d7b65810c038cd00adeb13ae235a2f54dbe36133c620298c38fd",
|
| 10 |
+
"media/0b30c6ac8b8a0fb34665_crop.jpg": "6802711a0bfa2a5a38e014c39e6b3bcf4750c2cdbd6f061599aca945e7829813",
|
| 11 |
+
"media/0b30c6ac8b8a0fb34665_full.jpg": "366cb2413797c73aad38cc2fc0fdd77ab6f5d634200e1050f3e3f38447832ff6",
|
| 12 |
+
"media/0c9121f9b810877ab40a_crop.jpg": "28380741f98b8ca4ef03e6d1d1086447f4bc5a3912a29816d0f1de3fc4d3bb4d",
|
| 13 |
+
"media/0c9121f9b810877ab40a_full.jpg": "0dd7f079486e5bade23115ddb305ce903d1330ccf44a133166d70ec628cbd218",
|
| 14 |
+
"media/1155d85f7d67fdea5ca4_crop.jpg": "8d324de9e47b494ea1ded562a8bcf9ef71a19eb8f1d0c0888a4f840d06a583d3",
|
| 15 |
+
"media/1155d85f7d67fdea5ca4_full.jpg": "aa550a631a638bb57bb5b0fa248787f7cfcfea2f12cd764de0d07e60fefc09f4",
|
| 16 |
+
"media/1484a4fa916d38805fbd_crop.jpg": "49d7637de45e79ae38336bd68dc221973e2a847941f1cbdbd8adff02a98a14bd",
|
| 17 |
+
"media/1484a4fa916d38805fbd_full.jpg": "4b29bff2e0027d8c95c21c4b148ebe3c8b34becd412dd0ae5b3d0b83e4b2d3a7",
|
| 18 |
+
"media/14d0339931252b4aacfe_crop.jpg": "344b1b64c277bc244908ddaa85e05d8724d9a9124d3ed681e1e11317b03d27c2",
|
| 19 |
+
"media/14d0339931252b4aacfe_full.jpg": "6d0333f66703748cd7cd947c80a9bb1aab7fa3dd02d68f0050d629ef9b10ebea",
|
| 20 |
+
"media/1747d7dab8779e9564c8_crop.jpg": "698a6e6cd9fe3d23a3fdfbf9aa92e54a61678d9580269d40da56dc8c5cc02d4f",
|
| 21 |
+
"media/1747d7dab8779e9564c8_full.jpg": "5bc1bc0fbea9f534b660abb4a17b10ad2ebda0998d7f651383760977d0948c35",
|
| 22 |
+
"media/1c3e2d6266babd3546e4_crop.jpg": "62b414d36f5a73f57514edbb0dac11b2cb1c77feeaf6d300cd05d8800d6e8e5c",
|
| 23 |
+
"media/1c3e2d6266babd3546e4_full.jpg": "9ff4f39c12c647f12b4a6b5466a6c385bf5208075e6af861b548adce25505728",
|
| 24 |
+
"media/1e5cc53312d1287a5217_crop.jpg": "7f939d3566417e393285cd2a38a777fcf005317b7c52bf7fc82de947701ec4e1",
|
| 25 |
+
"media/1e5cc53312d1287a5217_full.jpg": "9130efda6ce5084f2e3bc1c66b7a52a41e58adb69b3e31b0b0585eeb1efbba4d",
|
| 26 |
+
"media/1f23bff3fd47fb3d88e5_crop.jpg": "3ab9228f00261fc19a9c4f7962833955f9429a8504afcf7ad3a43138def806bc",
|
| 27 |
+
"media/1f23bff3fd47fb3d88e5_full.jpg": "66e6656da175446596a98187b528e94b20750d20f6e0a033ec4d2b7e802d8ff2",
|
| 28 |
+
"media/1fa3b8cd32b3624f059f_crop.jpg": "38ee59714ba5bac7428c96ef8bc648be96797d4191cd842f6daee032f75937c3",
|
| 29 |
+
"media/1fa3b8cd32b3624f059f_full.jpg": "69172904d7097e55222d279b119de7778c66bfa6e4fe414df64d9cf7b9f8e04f",
|
| 30 |
+
"media/20223c4b01e8cbdb9d7e_crop.jpg": "b8cefc35ac033358c54053e22389707f55175d9944094f780d0c8d85c9d7c6c9",
|
| 31 |
+
"media/20223c4b01e8cbdb9d7e_full.jpg": "a81eae3136f9d8cf97103813f75453a0dc4e54fc4dfa068dfeba0d5da87ad61d",
|
| 32 |
+
"media/22caad7a50fba7e5a48c_crop.jpg": "d875029517f4fe647b01fbb51d4d40a0854d762d4d166a3d15d990ab6d477ce9",
|
| 33 |
+
"media/22caad7a50fba7e5a48c_full.jpg": "14bb111822b201319ab5a3766ef7c172891088f1dcaccfbad181e3d5bfade3b2",
|
| 34 |
+
"media/254c3a1200962ad38d22_crop.jpg": "5148fff2409c4431b186bbb7a982ef0f63311ee60380c913218c9069d2b113f8",
|
| 35 |
+
"media/254c3a1200962ad38d22_full.jpg": "d5cb3e50d0179ba3aa20f8a0b8bfc4d337bbac392350d35a4f275d2803d04f6f",
|
| 36 |
+
"media/26ecc41219db0bb6833e_crop.jpg": "80933c4b50a685e11d424b5d9859d83a22b266ab77ff64291b9a55d316704fef",
|
| 37 |
+
"media/26ecc41219db0bb6833e_full.jpg": "493129d67d262ee9e3360a2b0857d57ac64d69eaab595266901f502fb5e9eb0c",
|
| 38 |
+
"media/2c7c9fcf190aa1ce0417a597_crop.jpg": "b0338385a82e5cbc904b91971d336706072a7ac6bcb8b6a1325553bdc845c7da",
|
| 39 |
+
"media/2c7c9fcf190aa1ce0417a597_full.jpg": "822820d93936854a1b73141eda2059e6f7fc72d28507a6c30281af6f5df961ce",
|
| 40 |
+
"media/2d7e3d2dfebfdcefaa58_crop.jpg": "4c8be5be9581a05ba4ab28185261c21c8dba8c68cacfef82f282f40b2835aca4",
|
| 41 |
+
"media/2d7e3d2dfebfdcefaa58_full.jpg": "076b180289e76059951197a07bbd7749417c913e01690a0b4212776cb4ad0221",
|
| 42 |
+
"media/2d9bbf4c2273c70deb7a_crop.jpg": "7d1ec3d551e9af36527a20e1273225a7e55b6af219451244054074210e8c9976",
|
| 43 |
+
"media/2d9bbf4c2273c70deb7a_full.jpg": "1358af55619ac2417c04556aa3719e2ccebd2eda98010a61b928991e8ba55080",
|
| 44 |
+
"media/2eedd007649d900cef05_crop.jpg": "763faa66c576fef95efc73780058094b080f2b1e7a3dc1fa4d39f218a674f270",
|
| 45 |
+
"media/2eedd007649d900cef05_full.jpg": "376220d8aade4d81f03d577e6af0335db6f61463dbd7e288dba2b18970df2506",
|
| 46 |
+
"media/314f2995e77109844488_crop.jpg": "0d0a9156df3dd3bfbadc2f6d63392d6dc743e4d1447c98f0805e516845ca2d5d",
|
| 47 |
+
"media/314f2995e77109844488_full.jpg": "0966b113b7c4d287a28f6405b7e252016e27928ec1c620468b44dd5fb0b3c579",
|
| 48 |
+
"media/32f8610b6d892e509529_crop.jpg": "ee6cf859753433528246d1319ba36b5ef2375733a6d99ee3410436641ea6a9aa",
|
| 49 |
+
"media/32f8610b6d892e509529_full.jpg": "e4512c3b5dac19ed26cd6720d9b0d84b66af9301be35c8a1a5ae720398363a11",
|
| 50 |
+
"media/34293d5c9114401b8f2fa095_crop.jpg": "16c96fe0dbbab9505236820908469a3ce242c858ad6ddaf33574b88af98ff641",
|
| 51 |
+
"media/34293d5c9114401b8f2fa095_full.jpg": "475e6cc96f63f7e462ebfa9fd96fb84b0a23b0fcad719a8756c09302ae726692",
|
| 52 |
+
"media/39df7a0341e41f8c8537_crop.jpg": "59598cc2a6b0cdeda765fc01d06b9ec82b8904bcfa105319a188bc1d82f6884d",
|
| 53 |
+
"media/39df7a0341e41f8c8537_full.jpg": "2c67133913b83b7fd5c5b552174db7dc55b79b66714f269143c305e74112ce22",
|
| 54 |
+
"media/3ddf871100b7fa493f4c_crop.jpg": "445f3ed9e9e7da78851e125e0c9fcecea7b5578707758609840fd8705d37203b",
|
| 55 |
+
"media/3ddf871100b7fa493f4c_full.jpg": "e466d55ce9743aca55f9f8b9040ff7f53f08f3539d5ec32f9fc232e7ae6d6cfc",
|
| 56 |
+
"media/3fb96c47d1e53b61c15a_crop.jpg": "945dfbeade0f2ba516fc55f2cefef01199221c1076fb4013f5cc2867919f716c",
|
| 57 |
+
"media/3fb96c47d1e53b61c15a_full.jpg": "b4c5e77e34a03a795b11ea1d475950a6f9f3389e05b3902cfe40aa525a31387a",
|
| 58 |
+
"media/4170659ac3b73692c561_crop.jpg": "f5b7375c1732753d7394125511adcfd4b77ef70eb2a22c342a920baa4d58af49",
|
| 59 |
+
"media/4170659ac3b73692c561_full.jpg": "a02e9fec18044536fac4ef977da0f249eae43d8fab018ca203d00778de985786",
|
| 60 |
+
"media/424addca86b89fee040efda7_crop.jpg": "4febc91b6915fa930c6ca3b440d861cd28100ca114e559bdbd009c413dcb766f",
|
| 61 |
+
"media/424addca86b89fee040efda7_full.jpg": "664c8d1cc6fbd301ccfb1f413acb1e11ed9ede4948f4da6691c95f4309befcd3",
|
| 62 |
+
"media/426d44a4aecf394cce74_crop.jpg": "f8189340409b46da33cd386edddb88b8878250598878c763170918256059ecb6",
|
| 63 |
+
"media/426d44a4aecf394cce74_full.jpg": "18850a63b36b2582db005bdd3df4c51dd6e07fe62f369fdb8ff57a7386bf4f0b",
|
| 64 |
+
"media/44c489639225f513755b_crop.jpg": "8d95e0a4fe1621a2e6cd4eda997a53afd02f67a66c6b8f44231b0a8618b82158",
|
| 65 |
+
"media/44c489639225f513755b_full.jpg": "38ce0b88333caad632cd894df209591101c34f326598fbf7a34677597aa4532c",
|
| 66 |
+
"media/481d81d40a4872823842_crop.jpg": "1f15e12c86e217a3475c6f8a1f2645a0aaada1235ee2138892e7c01606f70b1c",
|
| 67 |
+
"media/481d81d40a4872823842_full.jpg": "b005b6c381f6c03a1ae5f2123176d6b2a11ab400bfa5422912e9d82b740aa6a4",
|
| 68 |
+
"media/49a2ec37f0d860cf4e5f_crop.jpg": "e0f92b906c958bb03d5538f977883dc75e053602d1eef3d4f71e5a33cdf46a98",
|
| 69 |
+
"media/49a2ec37f0d860cf4e5f_full.jpg": "7beeee36f84bf8a10fb3d7004bce0d1d29b121da91a20eea61f12d8308abce78",
|
| 70 |
+
"media/4d20b3caae3d94f98758_crop.jpg": "4e8026090c0e61ca6b7e73df2b77aef63b1243af125581b4f798a424b2f8e139",
|
| 71 |
+
"media/4d20b3caae3d94f98758_full.jpg": "adcc5e07f07190b9b39eba59073beccfcce0ccaa1400b323cfc6d7af44953a7e",
|
| 72 |
+
"media/4f4bd53a317fbe19a459_crop.jpg": "85510f027cb578d9979278b6f6a815f7ceefe9a853b3b3cbbd0f914a673e6035",
|
| 73 |
+
"media/4f4bd53a317fbe19a459_full.jpg": "0ebb303e9a310097a529d4f437fc14e7de8cb7ac34abe32e7ebaa7b1e138ae0a",
|
| 74 |
+
"media/51fa51d203ef3894e730_crop.jpg": "12b2551e7b440c4fa5fad1af4131c8b1eaa2b64a52101f5d0d8b1f7a7f8741ff",
|
| 75 |
+
"media/51fa51d203ef3894e730_full.jpg": "9e5bcc77d0f982f78aab290b2f932576d0f1af744de1c4a47537fb7e33819aeb",
|
| 76 |
+
"media/52e61ba8574c1c21171f_crop.jpg": "ca3ee37423c0ca65ec6ee7d3dcba7a6a7bd72266fff42b83328e9130813a2dd5",
|
| 77 |
+
"media/52e61ba8574c1c21171f_full.jpg": "9449efee83031ba41e0398c670777797c7cec05f81e2c9e9963c1e51cb83bbdf",
|
| 78 |
+
"media/53111882d76eaac38c4b_crop.jpg": "4428702fd940ea940251f8e1e99d1a4aa98c6c64dd6e9f91b889c281bdf42f80",
|
| 79 |
+
"media/53111882d76eaac38c4b_full.jpg": "a67c272894417f3e5821b0ef72a758e11923f4e39f67fa722d7a5105cafcd2ec",
|
| 80 |
+
"media/58d7c39fa4067efa0e7f0d2b_crop.jpg": "3042fe3fc9583f9dace620e6c87f82cf8593f669931c59caf86a93d363da43a1",
|
| 81 |
+
"media/58d7c39fa4067efa0e7f0d2b_full.jpg": "96c615dbaab1ec225a1de11bfba01519976e6a4e55e9b662083afb5e7ee614fd",
|
| 82 |
+
"media/5c19a54208a02bfa1018_crop.jpg": "3d9537979e9c751a4c5542bbf484014c40efcd691adfa04a51339445261b4143",
|
| 83 |
+
"media/5c19a54208a02bfa1018_full.jpg": "b74a42d169e5bcfd9271beb8a02d173bd32cf31cb9c334fa44c563dd13e3e21f",
|
| 84 |
+
"media/5c2691b0661e4d7c91b4_crop.jpg": "08ccf98919b6140a744b37ba8e8949fcf317605a4c427bc622a5e8a7dc379cd9",
|
| 85 |
+
"media/5c2691b0661e4d7c91b4_full.jpg": "12ed7f9c55060ed5e611bab3453417a1bff0133d70f053af5e7a29862b045c35",
|
| 86 |
+
"media/5d0f3c01b127efb8f0ea_crop.jpg": "d9aa35816a850715909dd0b437180f15ffe8c4ceffdb41aa1c328ed63a6b75e4",
|
| 87 |
+
"media/5d0f3c01b127efb8f0ea_full.jpg": "3d9658fe033840c69ebe35156acd02278a93894a28322e48f4d4d1f6009201e1",
|
| 88 |
+
"media/5f6fbeec7ba336848768_crop.jpg": "0c3c9432b387687390b92ee430cec301177dc15b1692a1e2bf24d23365c1aaf3",
|
| 89 |
+
"media/5f6fbeec7ba336848768_full.jpg": "c4a175d1b1cb9e304e6c1d864e5e2f1e79e3e51a6aae67a4989af4df837b441e",
|
| 90 |
+
"media/68a541e264704eea1631197a_crop.jpg": "8260153929d3470df6d58fcb907cfc0bbfbe37feca1aa322f73bff544bcd7ab8",
|
| 91 |
+
"media/68a541e264704eea1631197a_full.jpg": "30fc2a798c569348f3c4c738717a50e8e04f40c6a1ddc99c51e7b7e95f18b56f",
|
| 92 |
+
"media/68b46ceb0f9a5e531f67_crop.jpg": "32e7abe4cba2b097d5f714c8e57130f286d4aacd2da75d6781500f1822442045",
|
| 93 |
+
"media/68b46ceb0f9a5e531f67_full.jpg": "922b34939d0d2dcd50cb9226dce5be9a0f3498d3939dcbdee6acee1f750e166b",
|
| 94 |
+
"media/68c621ec6f25af92b6d2_crop.jpg": "de30c35943b88bb2e8fd6d8114fd7e8758e34e8322e321a8cda88dbd24b9c005",
|
| 95 |
+
"media/68c621ec6f25af92b6d2_full.jpg": "e504eb965ba52c36408c3a4e355b5c358bcf5f40a20330884cdcc309c84f0b08",
|
| 96 |
+
"media/69f662bcff9f44cb0b0e1834_crop.jpg": "d7105938fb398d0cfc9b7be83a02c95dc75d1494a3dc27173ff43d11a814cd1c",
|
| 97 |
+
"media/69f662bcff9f44cb0b0e1834_full.jpg": "1d21de570db3eef11a04f6d0e92daf4bf43c961af1a7da242c903ace7174cdfb",
|
| 98 |
+
"media/7004ccacdf08558efd9e_crop.jpg": "433a48204fc1fce90cb0428d105f52b8291dec7001d91ddabe7ca5fca7b26ced",
|
| 99 |
+
"media/7004ccacdf08558efd9e_full.jpg": "96d02831e02d6a88c4ce3b3e8bbdc830bb25312307729a7988cbca9f35259c24",
|
| 100 |
+
"media/7013cfedf62948731c5ac3c6_crop.jpg": "be2cd256c5cac95c3ef9e23197d7434c44360e1fceda9192cf70ee7fdf45c98c",
|
| 101 |
+
"media/7013cfedf62948731c5ac3c6_full.jpg": "864af0cf798cc894684097ad187694f703d2cedfe4bf5d7a50a1a0426261beff",
|
| 102 |
+
"media/709270ca3ee8fa046096_crop.jpg": "fcb03eee7a18d761e1bcddf87dcb2bba431ef2efd547bfefb6d815cd90611403",
|
| 103 |
+
"media/709270ca3ee8fa046096_full.jpg": "a0c783a9e909f3f42767486ce0261d942045c5c6442dc145d3b9121a45fb1da1",
|
| 104 |
+
"media/74961c20914e938a0ebc_crop.jpg": "40a3b7124767e105507066e82635dfa854233771d1f6874b8abd3527b16c522c",
|
| 105 |
+
"media/74961c20914e938a0ebc_full.jpg": "41502366e8e95957f7b1ea318da92839d76265555a32a51ac051b62f7ad6cdac",
|
| 106 |
+
"media/78c11495a9b7b3cc64b560e0_crop.jpg": "502ba4382004118b176e085ad9b73beb12f46394f2d1eb0333d45f407ca3344c",
|
| 107 |
+
"media/78c11495a9b7b3cc64b560e0_full.jpg": "af08ff9dfd1255e239e50d0af3b0b2f409c506241eccc60d71dd2c14d1a99190",
|
| 108 |
+
"media/7a659401c102ee6c4d53_crop.jpg": "fe7801f422af5dc09a07b603d167c73b07c01e5e500ffb50059e3d740fd8654c",
|
| 109 |
+
"media/7a659401c102ee6c4d53_full.jpg": "d443a6db012b656362c56fd13f27ac917ff3ba476e2fb4b6a1ce563df92f2934",
|
| 110 |
+
"media/7ad41e661baf307e75a0_crop.jpg": "ad22e91204d518ca801a7befc8a9008e2280dd99789e16d2e84fbcbd5be966f9",
|
| 111 |
+
"media/7ad41e661baf307e75a0_full.jpg": "56d654937c96fd762368020ddfd9466e985038395998a87be595d8472fe77e75",
|
| 112 |
+
"media/7b0803f38879e5bde60f6513_crop.jpg": "cb952c04a2a57dc64ec28a4c08449dccf16e20087526167ef14908885df3e23d",
|
| 113 |
+
"media/7b0803f38879e5bde60f6513_full.jpg": "2aae6ccbef0bdd7ec02926cc68e8060ca0a9a9136a9c81deec2f36719ee68658",
|
| 114 |
+
"media/7cbee0066bf73c1230ec_crop.jpg": "18972eedfd9b16e017cacc5329be4499df5519222b73e9f1e338406a1e276f44",
|
| 115 |
+
"media/7cbee0066bf73c1230ec_full.jpg": "827baba452a3359edce10ea272c784d16aed37e662db13112c31e770edbd3797",
|
| 116 |
+
"media/7dca30f7a824c6e29684_crop.jpg": "42f1ef5c78b541dc3f0a8d7b2d6f5bb570d27629cf6f0ae2410e693d89005f23",
|
| 117 |
+
"media/7dca30f7a824c6e29684_full.jpg": "bf86eb42ba391065d83cfd0c6f89063d390f16cc2e0626824140fbded73c7986",
|
| 118 |
+
"media/7e9540aab42ca1f283f1_crop.jpg": "d5f04b46107e419d5e8c0663d3ef3b7f3ca953a765ff08f448d852a4639feb8e",
|
| 119 |
+
"media/7e9540aab42ca1f283f1_full.jpg": "8cbf0e507bbefe0bef887835948a6c76db8f781ef5c6d8302582e0e30a09e092",
|
| 120 |
+
"media/805d0cb50c887d06f851_crop.jpg": "778dbf7e64b878db749dd74758b025c96261dfc0bc29f2065fc7c84a080f8dc3",
|
| 121 |
+
"media/805d0cb50c887d06f851_full.jpg": "a0105b3edfa7da2940f6d4c491ca8a9b8835adf00ceace9de7994e9f80f7fb67",
|
| 122 |
+
"media/80cd59ca87c7fbd436b6_crop.jpg": "675dcaf4b381bff246c71720ef17b364b019de7d2f0e8d01038293dd0d289311",
|
| 123 |
+
"media/80cd59ca87c7fbd436b6_full.jpg": "b4367c1a9ec2bc75f19127fbe60c85d7d33c87248089fa66c0923f8b348bb92d",
|
| 124 |
+
"media/82270a2b1f87dae6ffed_crop.jpg": "e29ebb403323037466d0c89f32a86ee32ab7015b7ee94125cb58e39e887eaf4d",
|
| 125 |
+
"media/82270a2b1f87dae6ffed_full.jpg": "809fd575b0c5dee42c50300272266b6575598a2d132050965907ad273392d8dc",
|
| 126 |
+
"media/86c1b3d59b6d91f14ef6_crop.jpg": "d3557f5459b111245658c905fbbbbf58f1fb14620e5dc214e20b2fdeaa63c2f4",
|
| 127 |
+
"media/86c1b3d59b6d91f14ef6_full.jpg": "8bc7b6e678a58c33d503c1da34e57d7d89cae209453f767f86ea4d3840c8222b",
|
| 128 |
+
"media/8bc1231ca5c15b6f5c2d_crop.jpg": "62d7c4b5c295e7315e73d3da48035dfc298619ef7df25ab0198d19c466ee9371",
|
| 129 |
+
"media/8bc1231ca5c15b6f5c2d_full.jpg": "d7ed6bcc93070b35944ad1559fa8c1fc84f473628de463072b4d7ceeef7cfd64",
|
| 130 |
+
"media/8d1150892e449b19b926_crop.jpg": "b1728f861df1b658db0ef04f667afead0787ef9fe460671dbaee532d2a89bcc5",
|
| 131 |
+
"media/8d1150892e449b19b926_full.jpg": "d7413746453cacfb806282b47ded78a635516c9f2974444a08de791e32d9a45b",
|
| 132 |
+
"media/8d1d62e22f778ca48f49_crop.jpg": "f78565fa02e36409e916f20db1701e36e302685121beeeda2d6a01dee4bbf675",
|
| 133 |
+
"media/8d1d62e22f778ca48f49_full.jpg": "69de01ad4013ff357db9bbf06af370540b98756adba29629020387336a9f493d",
|
| 134 |
+
"media/8d2ec44ad9de28620df2163a_crop.jpg": "18c561d0b4628606295807139f2801521bdfe533d64037ad7141e820fb295a18",
|
| 135 |
+
"media/8d2ec44ad9de28620df2163a_full.jpg": "ff798078096066ae1ff84ebedf460d521d82c29cc6b6165353a6b10e45996f8d",
|
| 136 |
+
"media/8e8a96391338bc10f7d1ad8f_crop.jpg": "1625b6e888fca8fd2c905131640efbf5c6454694bb351bbceb0661733d4822f9",
|
| 137 |
+
"media/8e8a96391338bc10f7d1ad8f_full.jpg": "73534b214ed4b689d6ee9df3f42fb83ff1b0f2fff66e229803206dbb5d7ebae5",
|
| 138 |
+
"media/8fc44d37c06f82c2bccfe0a7_crop.jpg": "6be8eb9cb423cd4d32f6338c9591168186532f64795411ec2e8aa49f05292a54",
|
| 139 |
+
"media/8fc44d37c06f82c2bccfe0a7_full.jpg": "fd82f3c62c24682233c3ef67f709217fcf8d714a9d6a14b19f951f2a2449da75",
|
| 140 |
+
"media/8fe43e7b67951bdd7e19_crop.jpg": "f3de6477fd6cc228184e08cdf20b5a1df1aa560f5d83699304ceec3fb153c032",
|
| 141 |
+
"media/8fe43e7b67951bdd7e19_full.jpg": "cf74cf6769ae1704ec1cd4c6d979026abb45a95336ba60755649b12da7a1f25a",
|
| 142 |
+
"media/9186e37ea320e67eea4cc4b3_crop.jpg": "fa5770b0c4b188f90d714d3ccc6671a17afd217377efa4e692eeeb3a533b2f81",
|
| 143 |
+
"media/9186e37ea320e67eea4cc4b3_full.jpg": "46a719708495c02c40f6dbeb181ef439e75405c6979931c38eadd35e0cc239cd",
|
| 144 |
+
"media/98b98e2def7c3f01f00a_crop.jpg": "550f89dbb561bacfde9a94ae4bf634b2dfbcfe8327dd2fc711e08958e9783fd1",
|
| 145 |
+
"media/98b98e2def7c3f01f00a_full.jpg": "f7b9e261882660e999702f8ce845a75efedecada01d17fbb8af342024e0fd222",
|
| 146 |
+
"media/9b7689bc046883d6812ad365_crop.jpg": "dbf00aa142767020098af1c6d7267d2edd452364a9281f2b69168d188a40bcec",
|
| 147 |
+
"media/9b7689bc046883d6812ad365_full.jpg": "ec683ff82c6c2955634839e414975d6b0ac2d57f4eb0c00cff88842357442f06",
|
| 148 |
+
"media/9cfdf2985b9a27f5faf2_crop.jpg": "35ba986cb18d1659bae4df15adffaa23626728fc96e8d769b651ab2be76687f2",
|
| 149 |
+
"media/9cfdf2985b9a27f5faf2_full.jpg": "5de4e8d0e1629784eb85171dc85c6144dd48647be837641fad41db097e94a5b7",
|
| 150 |
+
"media/a0e1eafc008fe03615bf_crop.jpg": "fbcc466dfb5362c5c085b80f0f9a985e4c0ae2f6d12f446871693fdcd9576686",
|
| 151 |
+
"media/a0e1eafc008fe03615bf_full.jpg": "a78489d73100fb07aa0a2dc4157915dffdc076174f98cf25850a82f08dbb830c",
|
| 152 |
+
"media/a3c7b0983f4f67c9774a9d1d_crop.jpg": "436e4e8983b7ed265d115ef9479f44ffac377a8d72f3f861f808e5ab749da927",
|
| 153 |
+
"media/a3c7b0983f4f67c9774a9d1d_full.jpg": "deb05f801b965e0dc0ba768966e4fd87530db9a46705742c2474df41d2cc8b0e",
|
| 154 |
+
"media/a41106b1f8faadfbd0c6_crop.jpg": "e2925f21700052433ff71427b7be79448c1dde2c7801da74d6be07f9c39a1de4",
|
| 155 |
+
"media/a41106b1f8faadfbd0c6_full.jpg": "40c4c52224194e8602d3382f0fa8dd62158dd252d09bcf1231ff6e26ffdaf6fa",
|
| 156 |
+
"media/a739714a796d9e4fcabb_crop.jpg": "80d8f42caf5e53808bc325716014eeb2c10fc28f1e41daa0862409acf86936fe",
|
| 157 |
+
"media/a739714a796d9e4fcabb_full.jpg": "3d0a4320113bd31772ab3b68e96ea6621cfc5531863a0412865ead442dd30231",
|
| 158 |
+
"media/a7e95de948f4e3c7a9e1_crop.jpg": "4cf879c885a5d396e1c9ad8e191730ba2af8a407f945248536e689893b2b58bb",
|
| 159 |
+
"media/a7e95de948f4e3c7a9e1_full.jpg": "905979c78bf8820716c93256c7ab2add3fa6d02770d730f4f2289178ee0a21cf",
|
| 160 |
+
"media/a9e4dfb5604a2cc763fa_crop.jpg": "f2824de11bfbb3b5d2be1eae34145b7cae7bfea205a35b94a4f3e5c7d36ab594",
|
| 161 |
+
"media/a9e4dfb5604a2cc763fa_full.jpg": "18cf6da0b77a455874d3c6ddf1a1103a91ff1a2a939c9cea76b23291aee46699",
|
| 162 |
+
"media/af36ba9b4582f51913dc_crop.jpg": "f1b5dc662e0aa2dd4c4cc8cf3c9c58e9aca3cc9454087786a86be8e35f726b9b",
|
| 163 |
+
"media/af36ba9b4582f51913dc_full.jpg": "6f8a9237ad15039fb855de2917fe6f6094446b5d83df199ffa2b3c3a65e2b2fd",
|
| 164 |
+
"media/b079d1f7948614710a25_crop.jpg": "98d3e1cb161c0c63e5361caa826b9e16acee338b1056cca65348ee0575798cfb",
|
| 165 |
+
"media/b079d1f7948614710a25_full.jpg": "ea722574d67deb10301803f722108c5fd81597c7dcb2df1f8424756f6ead21b1",
|
| 166 |
+
"media/b11f99d2cf1b5841a9a2_crop.jpg": "b92d4077c03c76384d05693cb79bf202707aa3b7b28b31896a6cfa7c3fc6d984",
|
| 167 |
+
"media/b11f99d2cf1b5841a9a2_full.jpg": "0fb146861554c4df4b123f0d92636b8d7cfdd59e1bad93271c794a15fa7b1b41",
|
| 168 |
+
"media/bd5b4c8d9d1df40c4cb2_crop.jpg": "61f71e4ab910bac048e0fe5732e6623573f8c6716f141922098a50e16b4441f3",
|
| 169 |
+
"media/bd5b4c8d9d1df40c4cb2_full.jpg": "a2518d9907ece9edd72027f6d7853b60b799f18c2eeb395ce5cb0271d292b3d0",
|
| 170 |
+
"media/bfb2f241cb856b96b744_crop.jpg": "2070d2609d35b81e83273e82f5ae769e748b32591088a5602f812fb831165c75",
|
| 171 |
+
"media/bfb2f241cb856b96b744_full.jpg": "317554592d15dcbb6a0d6fd395e401ae324606c81c28268cbe024fc13903c4a8",
|
| 172 |
+
"media/c00e1d95904cb4d3e461_crop.jpg": "408187b3d9c41e9017f9680ee3f69001a561af267d6cca50bb95da68d3a509a5",
|
| 173 |
+
"media/c00e1d95904cb4d3e461_full.jpg": "0562685328b0b7b09dbfa5c8bd071ddd5385797eb44b56e7a59136650e641330",
|
| 174 |
+
"media/c0469034d3cb0c8cfacb_crop.jpg": "63dd86ba9a93fccd449adc33fbd577e462c2cde168f6021b51a54fc38ce5e6bd",
|
| 175 |
+
"media/c0469034d3cb0c8cfacb_full.jpg": "47b7c6ad1c794fc7e61279354cd57594821eab54357617a6fe4e39e33a91316b",
|
| 176 |
+
"media/c3dea54e8a31e289b3c8_crop.jpg": "a5aa0497cc9b431f7c17dce01d18df7968cb9fedb98044d8ebf7416affd28edb",
|
| 177 |
+
"media/c3dea54e8a31e289b3c8_full.jpg": "69278cbbc602aa8f42ff8b5339eba80b372565b38806088b8a8037b0ed366d70",
|
| 178 |
+
"media/c59b63e4de72a20ab1a1_crop.jpg": "421cb498d9400f333264478a492f63a1f839ee56413d907b4ea78ad2e483e98a",
|
| 179 |
+
"media/c59b63e4de72a20ab1a1_full.jpg": "e3001c29357ddbf03caf2ed96eb0efa9c472cb64a425565e5e600b7989183d2e",
|
| 180 |
+
"media/c8f2320b86ea13b9bab5_crop.jpg": "97901e77dd3d399df0aa1349a0fd568aed7930ec2fdb13dab17761a268b80350",
|
| 181 |
+
"media/c8f2320b86ea13b9bab5_full.jpg": "d38136bfc41749d81079d5d11a2ba369208ef85c273ba4b8bd1965a48042700d",
|
| 182 |
+
"media/cb450b6c00e74c066384_crop.jpg": "fced0c3b5c5826f07349d00e046720c8cf62eb99e111825b0643030c5a2511d2",
|
| 183 |
+
"media/cb450b6c00e74c066384_full.jpg": "22a9a43318dd926ca81a0173928fd74a3c88c0e2de9de171206d35fd45d07eb0",
|
| 184 |
+
"media/cf6ac3e1e3049c217238_crop.jpg": "b531c453a97dc3929502d19145564da8655f395a10a8ee14890e14da5e617490",
|
| 185 |
+
"media/cf6ac3e1e3049c217238_full.jpg": "8e2fab91c2897b0ac38348581bb66793e332b4efff3c45e4ccf5edc63c4ab58a",
|
| 186 |
+
"media/d02f389c481d4328e42c_crop.jpg": "6212eff6620d58662bd28e105f9ca8f29a7097edc9547fd0ab46003f5bc6b5c1",
|
| 187 |
+
"media/d02f389c481d4328e42c_full.jpg": "6f583f88d134fc8ceb04342a821eee9d1ddf872dbe0b7dc895973c533975dc04",
|
| 188 |
+
"media/d0a7a93ffcf0c93fb543_crop.jpg": "08298cab14f64c8fb273ff1b9ccf32973396dcad472e9e1c8ca5d894ab17f109",
|
| 189 |
+
"media/d0a7a93ffcf0c93fb543_full.jpg": "e636bbe37e3890af0adce8c8c59c891961c46b3f5855a36cc09b62dc2559524e",
|
| 190 |
+
"media/d14d6bafe0a0440cd6f9e1b5_crop.jpg": "215d44c301540fe2d2204fb5aaa0ce6f687ba91072b8f8f3fb816ec98ed2d724",
|
| 191 |
+
"media/d14d6bafe0a0440cd6f9e1b5_full.jpg": "166fb93108d371f71ec426a1770770d49c92efe0b4f114b86e3c8229d3e20651",
|
| 192 |
+
"media/d29ab4c17e72adb3d110_crop.jpg": "84c31de494e3c742b827b3fc23ab7b67e56f1a1448e7820c307419336d59f261",
|
| 193 |
+
"media/d29ab4c17e72adb3d110_full.jpg": "d9287bb16782c7bf7db05b030492ea07e4ac8a49af85c9bd8691ebee1eed1d01",
|
| 194 |
+
"media/d3c2bb99633d6b4a8aa2_crop.jpg": "8793d4f61d2e466118cfd5f9fc951bd7ff4d9cb9980029272d96f6e25c1f6d7e",
|
| 195 |
+
"media/d3c2bb99633d6b4a8aa2_full.jpg": "927a1ab4b663c6939a91b705680340bf751f18ade0c7adff651fb6c58a369529",
|
| 196 |
+
"media/d938ae931dbe89e16810f069_crop.jpg": "18c4d0fa7b9ebd18828757bec7cf88d8dd0662c730b7da3dfe9375df56368b97",
|
| 197 |
+
"media/d938ae931dbe89e16810f069_full.jpg": "c65a7d6a1930314d8f3a22d92decce1e247aed1fadc36d26868689a5fbee9d75",
|
| 198 |
+
"media/da0af48ad0dcc8746952_crop.jpg": "18d7c562951be5e20190e16f099a90b7869960cd090c1ab9e75a693d6d2711c2",
|
| 199 |
+
"media/da0af48ad0dcc8746952_full.jpg": "b4fe8ef96df77b2dc85f03290013f78784a74f2896d841c7a263c08eace47620",
|
| 200 |
+
"media/db1b87ed5e918dbee56a_crop.jpg": "27fb3d60080e649f12997c0eb0b2e91e6ae41b315f893d8d8a69bfcfe2ef7986",
|
| 201 |
+
"media/db1b87ed5e918dbee56a_full.jpg": "813448b340828a23e2d6801ffe1d2dab1b0d4a84d7d7eee8322e85163c672cb5",
|
| 202 |
+
"media/dc1f9c23184c42a61af9_crop.jpg": "b84e34f0b4c5ad75c56e0d3c8fad28c1200823cb64f1f1ed46ce533a544118c5",
|
| 203 |
+
"media/dc1f9c23184c42a61af9_full.jpg": "eb53e27bb6df61f31295ee5f37a4a6faade8097319983a9aa9ab4704f0c45f9d",
|
| 204 |
+
"media/e091bd042f1cd85757bae117_crop.jpg": "dd22675ad2332eacb6783a36f6cc6601fb8732edd2f66393ad4d33d6715d89d7",
|
| 205 |
+
"media/e091bd042f1cd85757bae117_full.jpg": "0317a973f3ace69623b3ebd6ac07c2dddf929854a541d1fdf1bc1ccf0d2f1720",
|
| 206 |
+
"media/e1707af66b16c44ca22f217e_crop.jpg": "85197396af7244762317ebe20e9cf022f962ac32df0072cf99fb7d6867005cb4",
|
| 207 |
+
"media/e1707af66b16c44ca22f217e_full.jpg": "6538815c0d049fe10e42c267fdb6e23286ad803fddf043f799255677170f12a0",
|
| 208 |
+
"media/e233df5f771af8c53fc3_crop.jpg": "fc6c2fe117a1e5ffd25154be1c0f4c953c371e6ff61dfcc0b1122c2989a7437b",
|
| 209 |
+
"media/e233df5f771af8c53fc3_full.jpg": "10b5623bb4dec1e37f942b7a5b74371a835b78e98b83c7427329cbd04de9a2a4",
|
| 210 |
+
"media/e47ac484c8070191f186_crop.jpg": "76adbebd070063ade99a256f31b793ba9a32beaae051a78dafab9bee9406428f",
|
| 211 |
+
"media/e47ac484c8070191f186_full.jpg": "d4e1547b1e7742f399ee0d1d5c67ed3ee2600c52cf19acdc0c9466cfb6365810",
|
| 212 |
+
"media/e4ce53c349d02a786e9a8d1b_crop.jpg": "fbef723e2a50a9631d7026429a00551e7ee625e0e37b02c6370c4887058979b5",
|
| 213 |
+
"media/e4ce53c349d02a786e9a8d1b_full.jpg": "fa8039420e4402f48e01be9ab9ffd19bce4641df5a8eb266b9631ea34a9faaf2",
|
| 214 |
+
"media/e526bda05cfc730b524c_crop.jpg": "fb250de8bd948f69688ea04f6f9954d37cb1e9f4497de0f7cfe8aebf550e2225",
|
| 215 |
+
"media/e526bda05cfc730b524c_full.jpg": "5608d96f80a00c6cdb49803009c1521aba13e2a40f1f73ec8a73e38c58741e24",
|
| 216 |
+
"media/e60f1e573b15059b28a6a89d_crop.jpg": "29abe03ebb94e728e94c14c8dfa35aeade291f429071ef2626f5b6c8afb3b958",
|
| 217 |
+
"media/e60f1e573b15059b28a6a89d_full.jpg": "7539d0ace608b42978f011153cbf71cd3602e9f8979282ce50b49a5c55380832",
|
| 218 |
+
"media/e6246244f9762ecf8af0_crop.jpg": "18928e9fb0dd2975838890de16ee5939d1a4443ec7b67f6fc0127d2eb4e31f97",
|
| 219 |
+
"media/e6246244f9762ecf8af0_full.jpg": "3e490de369e18a941cbdf47ad482c4dff9dd0ffc8585c0dc96d62b39dc4aeb66",
|
| 220 |
+
"media/e711d428a3ed73d52639_crop.jpg": "ea1fd67015cc8f533e68c643f66ba4279f3269f039224ac30649fb990b9c9065",
|
| 221 |
+
"media/e711d428a3ed73d52639_full.jpg": "9f9591da9867887d049d2d7809ce21c898e3cab7c4d76f39f591039dfc148ebe",
|
| 222 |
+
"media/e819135ae0a98c833798_crop.jpg": "cfdbe910b82ad95e6c4440ca9f57687feed46370c4399954be2eccabca3d52fb",
|
| 223 |
+
"media/e819135ae0a98c833798_full.jpg": "e3821b123c65d7b7f52f8e204e0ddd4e4aac8d329347294ec2362052f3e88872",
|
| 224 |
+
"media/e84ccd22e73178c16b417d29_crop.jpg": "9e2573c2eb4e65bdb009d40a0fcfffaf06a153b4554917a06fcc144966807ed7",
|
| 225 |
+
"media/e84ccd22e73178c16b417d29_full.jpg": "71e268447375093659e24c6776180c2d560c306de1e8c370518a2e67d423b61b",
|
| 226 |
+
"media/e8ba03215a0dee415f9f_crop.jpg": "baa69f57c5d915487ea8b1ce3d5ed1a54e8f6d00fd090edff8e0f69aada3e499",
|
| 227 |
+
"media/e8ba03215a0dee415f9f_full.jpg": "7f39713237aa626cd47ede9fc442e3f99124d39b9616b543abc944d96301b463",
|
| 228 |
+
"media/e93a7203af92a0bba127_crop.jpg": "ca92981586178ba9d8a606bde07c5ae36eed3956bad93d1cf00b93c6b0845b3c",
|
| 229 |
+
"media/e93a7203af92a0bba127_full.jpg": "5e719f0afc2ae9b5e76dd076aecbc8e7c11371476a997a2c21c1fcfe541004e9",
|
| 230 |
+
"media/e961198817aa9f71a9c0_crop.jpg": "c73b19fc91a5ca8931285d454c5aa8b5a1a819f2c114d5e79a61cb10e7eb5914",
|
| 231 |
+
"media/e961198817aa9f71a9c0_full.jpg": "cd27054aef3f2b9abce6056641c0664cb309db61782e90988e33d8999b12ef40",
|
| 232 |
+
"media/ef88da2267ff884145a6_crop.jpg": "e8a498e7a64dde7c8be4bee14e26a8a9a8104120df0c76c331fffc128c91fc6c",
|
| 233 |
+
"media/ef88da2267ff884145a6_full.jpg": "0d020cd09c3f2ce7dd2f88f2e5bda1dc0a64f54926ff9340c8cd0f9dfc9f5955",
|
| 234 |
+
"media/ego005_06ad570e18440e2f612c_crop.jpg": "880ef35b88c4118b5eb65c543e09929a5b32fda39d6ee91a286d88b16a791ab5",
|
| 235 |
+
"media/ego005_06ad570e18440e2f612c_full.jpg": "25b322ac861d8d3490ee432e86fe134e7efbaafffb3c697d3aff558681c42ba1",
|
| 236 |
+
"media/ego005_37f310961c5fbd09a2f3_crop.jpg": "80d1b4891a16d899c1e1a678be3c8928be772fa03950315dce47ab0d83a55727",
|
| 237 |
+
"media/ego005_37f310961c5fbd09a2f3_full.jpg": "957abc2d432214c255852b17b685294a6aa03d7bbef05b0d819b888314c14418",
|
| 238 |
+
"media/ego005_5e5edc77f0229c182a82_crop.jpg": "d7094b3546bc6a0b384833e4317c2ee760ede71603a695051af8b657f0841850",
|
| 239 |
+
"media/ego005_5e5edc77f0229c182a82_full.jpg": "77981d0f16a4e1f768eba562c0606f205944b8da30963acff3a140fa6aea43a6",
|
| 240 |
+
"media/ego005_6c39df0ee7ed048412a3_crop.jpg": "dbb1b5739632656c19a2a375830c77fe60fedb03343052c23698a58d9ad2f953",
|
| 241 |
+
"media/ego005_6c39df0ee7ed048412a3_full.jpg": "84f1d26fed07e082bc7c02cd86eb5622e63068a94a1087f37a0278702d739efb",
|
| 242 |
+
"media/ego005_77557dd1cc89456bbda8_crop.jpg": "20014509ecc8e44624cd31c335cd993f2d0b52ed8c537f4b477e919bab999e2d",
|
| 243 |
+
"media/ego005_77557dd1cc89456bbda8_full.jpg": "c74d421b9bbe0798ab71e8cc3514d8c2ea3bf723038830305da65a9ac4075302",
|
| 244 |
+
"media/ego005_79607267c569bc9a5a34_crop.jpg": "15093f05c1d54cd9bae5488933e95cbd03024eb0ef3509b771c1c1c268a50285",
|
| 245 |
+
"media/ego005_79607267c569bc9a5a34_full.jpg": "c9d6d7069fd0d2d7f601ad095e9c2bf1e39fdceaf1c48a1222434bb5128ae1a9",
|
| 246 |
+
"media/ego005_af4e1989a0b734de5391_crop.jpg": "0ba7a91419a1d6444e294c4d12b933a00615342d601cfa23dbd5e248d74f4b23",
|
| 247 |
+
"media/ego005_af4e1989a0b734de5391_full.jpg": "917639d8671a035133bbff25c00343a966798c268a0e9658cdf055348be2ebc6",
|
| 248 |
+
"media/ego005_d3a520f3ef45ba8fb1ec_crop.jpg": "056114af106a8649a9d8a18c69563abfa630ff4b844635711ab6398164430de3",
|
| 249 |
+
"media/ego005_d3a520f3ef45ba8fb1ec_full.jpg": "3e1c329fe011135851d04549d47639fca8697ebaeb80b517d73e3e0af8dd6aa6",
|
| 250 |
+
"media/f3858cbf4c0f01d29841_crop.jpg": "f3fe2266b9976e23ec8282992071b43c4e557b6892d0c2f1e785967f3f813f48",
|
| 251 |
+
"media/f3858cbf4c0f01d29841_full.jpg": "c66c044044b147a5b8aa8d9e2952cb0ea942fc999afddf30a9c28973ab1e086c",
|
| 252 |
+
"media/f627d873be8bbdf466ab2122_crop.jpg": "21b72cf98ece8215ee6b13f0f232cb30f2ee4d1cbdef938851ddf8a56f82adef",
|
| 253 |
+
"media/f627d873be8bbdf466ab2122_full.jpg": "8e69770405cdacde205ae047b7edac7ba1962d30fb1eb94d5d07c27aee075181",
|
| 254 |
+
"media/f814b3e93a1455c11234_crop.jpg": "ab23a38c87c551c4a2820a28b5c868bbee5ef8c5a050c19a0063e06655317539",
|
| 255 |
+
"media/f814b3e93a1455c11234_full.jpg": "518bf0e1e298269abc1153dd2eb0b7cfe8c6a5247295f147fa58cafa00bd8b44",
|
| 256 |
+
"media/f8701460479562a2b8576134_crop.jpg": "756fbccd6273a3d09c1c7a5583f9e7a3ba7120bf08e63ccd2e50120221852fa2",
|
| 257 |
+
"media/f8701460479562a2b8576134_full.jpg": "642645fdafc93539ef32978cd42e46c568a20579eab2b71c1ab1fb566657cc59",
|
| 258 |
+
"media/f9e4b832088ad843ce26fc9a_crop.jpg": "4e5987f37975c4d5b65d3741475a81dd1d7fb94e8314cdfdedd2ded3d6aba72e",
|
| 259 |
+
"media/f9e4b832088ad843ce26fc9a_full.jpg": "58f51e895117c45a0dfff42a556ff2de22a53e3fd9ac076cece96899f1f50ff5",
|
| 260 |
+
"media/fd625216506afacda693_crop.jpg": "543feef8cc3d4c579e1ea8a2a1685e4a776e14993aceb0fb89f11bef6c0328d7",
|
| 261 |
+
"media/fd625216506afacda693_full.jpg": "44ea9430ff3f0a368b5d7938472c9c17553e458b2be469474f5046480bd57971",
|
| 262 |
+
"media/ref10_0001a1db0911402d9ff7_crop.jpg": "3567c6a88682cc0a5afa24fbc13f3c48dace4cf822e305859fedbeb966ee5856",
|
| 263 |
+
"media/ref10_0001a1db0911402d9ff7_full.jpg": "58cd767e3007650259cd077f2387506a40415e7501078e58c3ecea99d5835776",
|
| 264 |
+
"media/ref10_02f8aaec7aff1e473573_crop.jpg": "e9255149d8411ef16fb28e385c30aa39f6f5b16ca83e9da2f68fead04df96b43",
|
| 265 |
+
"media/ref10_02f8aaec7aff1e473573_full.jpg": "3b3011e86964d37087d79be30c09f00145ec45b816f81e6da70c76695458d4fb",
|
| 266 |
+
"media/ref10_05b875fc9a446e018429_crop.jpg": "3f2054dd475f465fe5b60541331502ebda4fc8fbea13d3ff6143883c47353c17",
|
| 267 |
+
"media/ref10_05b875fc9a446e018429_full.jpg": "bf0a208f69a4757340e09b00d396dbee885dc7fd4800c2b1703243b8fafdb619",
|
| 268 |
+
"media/ref10_08f3951ff7357505f937_crop.jpg": "5f3a20ff36ed5be65368a6e77cd0941b7fd43287e79d0bb2b9694a2b9a806273",
|
| 269 |
+
"media/ref10_08f3951ff7357505f937_full.jpg": "6cb72693090bae29325bf3a2be659fc66589a41f48de27064560f2a88d984be2",
|
| 270 |
+
"media/ref10_094ff03480e89a370c5f_crop.jpg": "c60635c35b8bf8dc6ffa41c9c2f18e3fbbacf446341e5444dfa2ccebea093d7c",
|
| 271 |
+
"media/ref10_094ff03480e89a370c5f_full.jpg": "9529a68917f1ebbcdc9ef6c444aa703581904ceb1f94e362165798af4b696281",
|
| 272 |
+
"media/ref10_0d4aa62ee94d3db2e998_crop.jpg": "48de1e78192f35a9ec0798108009d600e16d2859538253bd70a3f79ec892b726",
|
| 273 |
+
"media/ref10_0d4aa62ee94d3db2e998_full.jpg": "b227ab58d780a3c7063927b5e799e7fa8fe795e1d90ab75055fb94f6c59048fb",
|
| 274 |
+
"media/ref10_15ed71e38b6ecbfadad4_crop.jpg": "7471c9f93f77fbca5a69558117f125b99dd54a187eb684993b68f8c08f603212",
|
| 275 |
+
"media/ref10_15ed71e38b6ecbfadad4_full.jpg": "9f216b3356cf2b36abcfbf82b75f691b0538ecb018ba47829a770c06f9a72275",
|
| 276 |
+
"media/ref10_1835ccaf3facbadfab41_crop.jpg": "d6e1d7be597a4f42e4524196952d15163ddf9bde8f821eb1adfa7afeee06e4a5",
|
| 277 |
+
"media/ref10_1835ccaf3facbadfab41_full.jpg": "4f68107536080a2047af300f065e8b89bef6c87a702ecf7b4062e56f0ba6e200",
|
| 278 |
+
"media/ref10_1c56e06b352d8543c362_crop.jpg": "67516b885c352c6a206bc7ece451d80be5b6ce6d9ab455837d73c8d9b8fd7c78",
|
| 279 |
+
"media/ref10_1c56e06b352d8543c362_full.jpg": "2b20365de3d194b25d5c101a8114567c89fed3267a05c1943a458bdce926ac64",
|
| 280 |
+
"media/ref10_2072780ada026a0d7ebc_crop.jpg": "db71fdc1af5248611c05ddc7a26120df1dcc5e41c8948a6d6eb064ab04d3a70b",
|
| 281 |
+
"media/ref10_2072780ada026a0d7ebc_full.jpg": "04571b9673e84c227a28cd4be0d8620dfedffaf2d6e232f8eadfbecf33305ee4",
|
| 282 |
+
"media/ref10_22907852d24f216f0501_crop.jpg": "b3fb4dfde0977ae56b4d4c4414046d37ec259cf9fc25a75f7f64f1afe6ed9f5f",
|
| 283 |
+
"media/ref10_22907852d24f216f0501_full.jpg": "d00ff77b1b4770ba456cc9c8409b72843c3d69f6d40c3c83e23560f36e78f5d3",
|
| 284 |
+
"media/ref10_23728cf3de5e9f52bd29_crop.jpg": "5e6170043711522a42e4ef50012fa13be83d023ee655d3941970dbbe385050c6",
|
| 285 |
+
"media/ref10_23728cf3de5e9f52bd29_full.jpg": "3136af9021ec52be4eb1e7fdcf20d18296da1abb0b395027529fcc7f127b4de2",
|
| 286 |
+
"media/ref10_25cf29a950e98346a3f2_crop.jpg": "a136e4c51738abed368e7922f9fcf89cd14d7b49e0c0ed4e8bad21466b56e92a",
|
| 287 |
+
"media/ref10_25cf29a950e98346a3f2_full.jpg": "785c263af7c1e0c80593f91cced91f228fa97d1cf218522e2f49dfc4087366d1",
|
| 288 |
+
"media/ref10_2784e08a1eac608ccd67_crop.jpg": "523d8c7ec70688430435806be72320a2824a625d0d6cd9d8e13f021e72a854b9",
|
| 289 |
+
"media/ref10_2784e08a1eac608ccd67_full.jpg": "36068b0dbccb3c3d46856a18680523da743b1cd7b8857ac60bca9d095c209324",
|
| 290 |
+
"media/ref10_283a2252c93fbe346f8a_crop.jpg": "de34cf9cd82cfc183e0c54f7a715480f38e8803504519cf304115ed780f51eeb",
|
| 291 |
+
"media/ref10_283a2252c93fbe346f8a_full.jpg": "8b527131640369b4cadb54baebf9adf93295a31c35d1bad43cd09223ef9a400d",
|
| 292 |
+
"media/ref10_323ca73ddb0e1cda0475_crop.jpg": "26e5443c2d00206fa58b5a833d992394411774ca9a86058cb15bed5b2af6e9fc",
|
| 293 |
+
"media/ref10_323ca73ddb0e1cda0475_full.jpg": "6798e1f2382c893ac7d5b20918d9c91560c75e670dea2138636d48c212f6ba4a",
|
| 294 |
+
"media/ref10_3244e021f8036886f6e1_crop.jpg": "48b3e09756d2a0f8f5b0d91f97d2318c445ab0f7cabdc62b4a4dd317a9c17eb2",
|
| 295 |
+
"media/ref10_3244e021f8036886f6e1_full.jpg": "49a5f11070920a055e273ad4d8628b13ba03c9a927140558cf46f1b5bfe11966",
|
| 296 |
+
"media/ref10_330a0f3ff938db824f91_crop.jpg": "e7452b69e9d28b9c1ac91247d17e39da1fd4d6e25be85f848bf25b2fe9e9a898",
|
| 297 |
+
"media/ref10_330a0f3ff938db824f91_full.jpg": "ecc41e2de7615d47765a7e020b00c7823ab57af298235a8cf7407a2690af8e18",
|
| 298 |
+
"media/ref10_334bec23e4b8fdf5f897_crop.jpg": "6b8cc11518969e2b0379204713d0f7eefbbce6ad169e79dc557f456873fd9469",
|
| 299 |
+
"media/ref10_334bec23e4b8fdf5f897_full.jpg": "b1c120b6cee80682f0a08ba0d0de15d25a53cb82953579a19e29fee10a7781ac",
|
| 300 |
+
"media/ref10_33dcace2cb5c25ef8d59_crop.jpg": "1116b53194971e2db867facb7f36771c8a3dfc2df65223bae37efbf1ccda70b7",
|
| 301 |
+
"media/ref10_33dcace2cb5c25ef8d59_full.jpg": "8ef803670da38f78efcf4ab1de2282695eed7685953f51b55b30cedda99c98ed",
|
| 302 |
+
"media/ref10_3b3b2ae829c7ed4dbb20_crop.jpg": "b02dbb914a88208b4cc05acbed7ffad4f1c5c0d20607bc6fa71de676367a45ef",
|
| 303 |
+
"media/ref10_3b3b2ae829c7ed4dbb20_full.jpg": "4d024698e692af8b9cddb84b94c3c44a65824d122c700f1a1599c7b7b49fbf31",
|
| 304 |
+
"media/ref10_3c1068063775a7207d09_crop.jpg": "5471980c7b5280dbcf44004bb0c673ac7407d219b43a73a89c40b50df4b45767",
|
| 305 |
+
"media/ref10_3c1068063775a7207d09_full.jpg": "4002a7948f99d67220d2802d1c8d419a5fd6915da61b99a52db800738013287d",
|
| 306 |
+
"media/ref10_3d2cdb827cb35f1167e7_crop.jpg": "8298cc8ccd9ee8582f632be86b72e69a137e9fbb7f558b03966b6f4318689db4",
|
| 307 |
+
"media/ref10_3d2cdb827cb35f1167e7_full.jpg": "cc00a06638144a88d511407c4406cbd23c323517e75f80e2f38046b233857fe2",
|
| 308 |
+
"media/ref10_3da66484077075d113a4_crop.jpg": "a30916a7d96a9a72ba4d82e2793cba6a3ea70a7c0136f9bbe5e5b8661df8804f",
|
| 309 |
+
"media/ref10_3da66484077075d113a4_full.jpg": "7591a08e54f845852f9b4a38396eadb6f1636cc026ea8ceb6a6946d7d5a54746",
|
| 310 |
+
"media/ref10_3faeb3df79dd10a13f8f_crop.jpg": "dfce284817f28d1b8603ec077e7b468f001387c5f1229452c21362de2d87fb57",
|
| 311 |
+
"media/ref10_3faeb3df79dd10a13f8f_full.jpg": "7fd12ed2f26fecf27d591f35c1d49cdcc3ac9511e9bb7b4c4f6c1834e3472c09",
|
| 312 |
+
"media/ref10_428da3fc456c0f7f5bd9_crop.jpg": "cf2ab902d1ccf8114ca5dfc7fc08ff1d229aa3cf15ffc113fa13c3574091c332",
|
| 313 |
+
"media/ref10_428da3fc456c0f7f5bd9_full.jpg": "c7ace33ccfdc01263a384059d12016011c454d3da63bfbf76d94da7595f210e8",
|
| 314 |
+
"media/ref10_42d6e45604cc7f94eba6_crop.jpg": "1c618cbee595f2506209cacfce724bbac3cc0163c10f89484e536011656b6352",
|
| 315 |
+
"media/ref10_42d6e45604cc7f94eba6_full.jpg": "a727d3fd6cf50274197dbd22c7152b7e67dcc3773f61657b5eb19fe6e70fded7",
|
| 316 |
+
"media/ref10_459cacf80c9097ad62e3_crop.jpg": "a76ab0bfe6d020a92d148d5db330f09d735c78e71e2933c910e3a50a661de590",
|
| 317 |
+
"media/ref10_459cacf80c9097ad62e3_full.jpg": "1011761566cad32161ada7f5c1ebe56bab71166c88843b3f8b96d6027042419b",
|
| 318 |
+
"media/ref10_4cd4de6310dae3044e3e_crop.jpg": "3f7157a6bbabb0c4639c786a6dcec8bb983c5bd260f39ac7013718622db74c22",
|
| 319 |
+
"media/ref10_4cd4de6310dae3044e3e_full.jpg": "2798aca4309041da1969da23985116ef0ff8e83a181a6c4f8d3cc83a04cfd83b",
|
| 320 |
+
"media/ref10_4e4b78d0e18ae1999a6b_crop.jpg": "065adc5cbfe7746343e85203e55be670d24dd5460b4876c25ac70109875dad75",
|
| 321 |
+
"media/ref10_4e4b78d0e18ae1999a6b_full.jpg": "a9be09859826be66fdd04f017dcb8efb113d2fbe8ee30f8d1e8535211eccca38",
|
| 322 |
+
"media/ref10_4ef0983dbb591a65151b_crop.jpg": "8894b5eb19d44f4be0ac7a1010d95aad5c4964396d53fc5adf04322d6cd3aded",
|
| 323 |
+
"media/ref10_4ef0983dbb591a65151b_full.jpg": "0340cd2e6f9f6778e9054ab4b275644f6038bca40b5b722786683fc8fbe73586",
|
| 324 |
+
"media/ref10_4fe12917b31a4b99543e_crop.jpg": "ae7c79450766be5a2518e1cf0a0d58539339392128bb245df9e96f242916f2ef",
|
| 325 |
+
"media/ref10_4fe12917b31a4b99543e_full.jpg": "89104c209c6daa490bc289dc0cef76d752f797a2e8ecc665513cfa030cb06a49",
|
| 326 |
+
"media/ref10_502d38c8ebed6b4c7568_crop.jpg": "ea20bf09944c4c923b24ce30a80f146b8cf44d8235af29883a7fd9027571c71c",
|
| 327 |
+
"media/ref10_502d38c8ebed6b4c7568_full.jpg": "4b0f7be741b6a2c02d5e1f5cc8f670e0acecddb424959288db81a27651562854",
|
| 328 |
+
"media/ref10_53b476e2a5bc06a72dc6_crop.jpg": "fb8b32f41b2645ba3064ab6affcc141e0a61f8feec7d1f549378925362d96c3c",
|
| 329 |
+
"media/ref10_53b476e2a5bc06a72dc6_full.jpg": "a08d8cb2e3d43dbb5b75b0daa5166bae3e38ad3405fd6894a803a2364b19423f",
|
| 330 |
+
"media/ref10_5871642b42470dd41dd2_crop.jpg": "90f5e4d4f5c7f924efe4c647bcc59824f6bbe495b1d7e6668585533a9c31bf23",
|
| 331 |
+
"media/ref10_5871642b42470dd41dd2_full.jpg": "6353217ebca374daebf2ae659a6e6541f3f06b03aaee271b83ba2d0d3c824982",
|
| 332 |
+
"media/ref10_5aa342b065e3fcde6ce5_crop.jpg": "a5fab1875ecdd5a22aaa252bf59b2951eea788beb17133d8ec1bd7fdff025491",
|
| 333 |
+
"media/ref10_5aa342b065e3fcde6ce5_full.jpg": "48f508f509b19e4ae38f5aa8e1af6b9380d74572faaba70decb1e16d55a5aebd",
|
| 334 |
+
"media/ref10_61758efe55ebddfdc9e8_crop.jpg": "e555d6b2ae707dd2a942363ac02b6d9b4b8126200ca9ef07fef33904db06b06c",
|
| 335 |
+
"media/ref10_61758efe55ebddfdc9e8_full.jpg": "350f36e9940eca1ebb5ece769bd8d233674d12bc6ce0cc77b035cd64d22aff41",
|
| 336 |
+
"media/ref10_64dc4bd695eb9f7216a2_crop.jpg": "8c2415c8fbd24c65bdd365023891ab145f38fc0046041d01a0cbd9b52b67124a",
|
| 337 |
+
"media/ref10_64dc4bd695eb9f7216a2_full.jpg": "d6acc3c8f6eabe91ee2c1f51598a39a57162b475ebcfb7e4c9ea3ccfc48c633c",
|
| 338 |
+
"media/ref10_6527f63a2a0d595aaad3_crop.jpg": "780791edb0b1c26affc54e4e2c9623b5ce8b3988e9e31ba4907b6e1ab5f57417",
|
| 339 |
+
"media/ref10_6527f63a2a0d595aaad3_full.jpg": "6888b44ebc7c93c70b53f430c9d37a19c740a3a5e50d6fc00f78f465edebb047",
|
| 340 |
+
"media/ref10_68a5018288bf3bca4b84_crop.jpg": "083b2ea6aedb6a104434815ff366c64a3d3395bb6db03475cf0214eda301ed70",
|
| 341 |
+
"media/ref10_68a5018288bf3bca4b84_full.jpg": "82aadf6c7f2ea5f660a197994fcd3b77afd3ef0271b6d0c0f16f5520c9baad1f",
|
| 342 |
+
"media/ref10_694efa944cbb978ef90c_crop.jpg": "523bb3702c93cbe0b5ed2fafbadda668287c55a0ef7201425d952ba3179c0d57",
|
| 343 |
+
"media/ref10_694efa944cbb978ef90c_full.jpg": "9754b7d5902a2c3ac8fa5e5023c80dea831c3ea0b59bd9311b5b622e5b1c7834",
|
| 344 |
+
"media/ref10_6c6a8b52de0c39e024ea_crop.jpg": "d769107b0b1baad0aae95ed19eca6091cc2e6a184d35d313f7e077b136ceb181",
|
| 345 |
+
"media/ref10_6c6a8b52de0c39e024ea_full.jpg": "11661b2ff24b2aa0549f07309808ad3b473ef94570f627207e8a3dd4f0c4a50f",
|
| 346 |
+
"media/ref10_6d2c636693b221c74f9f_crop.jpg": "85749cf6c402745f11bb79ac7adeaf5a4ba14bb6d6741aa136feb15dfd18d213",
|
| 347 |
+
"media/ref10_6d2c636693b221c74f9f_full.jpg": "a9db00fff724eefe1bac1779477e7f5f454d3ca108e4d0cf2f3be5c4ade1aeaa",
|
| 348 |
+
"media/ref10_70026ced4236fd8eaf58_crop.jpg": "0cefaa37e1ae01f512f215f5c7ef88a13c96e648b1f264c01ecda2731acd02f1",
|
| 349 |
+
"media/ref10_70026ced4236fd8eaf58_full.jpg": "27d1478fae7b7f182884ab8fa8dd4f9cdf602c4b7a6bfc9c0c57c6475f8e5448",
|
| 350 |
+
"media/ref10_70906980aef1331db72d_crop.jpg": "fbbe69c8b243e9426ef7c6d1c44e792c120a97ea58cf643c22591e0671dd845c",
|
| 351 |
+
"media/ref10_70906980aef1331db72d_full.jpg": "11602ebb415b003661454b4f0dc0cbc4b83c236c76d74390411bed4dbd1a216a",
|
| 352 |
+
"media/ref10_736e54c60c2853720322_crop.jpg": "376c0eae9c789da4d2a24bca8ae3ee4fe836f605df3e62db8cc1483aee1a3408",
|
| 353 |
+
"media/ref10_736e54c60c2853720322_full.jpg": "b4dd3397d6aec0184210bbc336327d68267251a91edfa85eab176034b5bd1c12",
|
| 354 |
+
"media/ref10_73b967af7527f5a986e7_crop.jpg": "0108dfb8dd4c2a29b4640b95a3985819d578f74f7db4e2364e305c18af1e9937",
|
| 355 |
+
"media/ref10_73b967af7527f5a986e7_full.jpg": "35622c25e08889c5dcf9ff7ac34c0af02f88101d7506fad0f86772dc4e761dfc",
|
| 356 |
+
"media/ref10_74d5665e918e57d9c0f1_crop.jpg": "2a7de4b05247d757b09f475929d11160e9e6f9e2bcc58bcf2bf8c0e1e313b7c8",
|
| 357 |
+
"media/ref10_74d5665e918e57d9c0f1_full.jpg": "c8263726937e534b6daa160cf96fcb864bf44a098e6af886bbc0022fe80733b2",
|
| 358 |
+
"media/ref10_75b44c46fe87e61319bc_crop.jpg": "689f42b4af83dc01a61816a128b852efee31d22272e3d261126d4b6230f12a61",
|
| 359 |
+
"media/ref10_75b44c46fe87e61319bc_full.jpg": "11fab15400555c5a1b885d1d0c94ec0d49e1761bd77ac76c7c7ac8e4c15cbbae",
|
| 360 |
+
"media/ref10_828ddb1896c200cb9fdf_crop.jpg": "c112964c4f3c5ca1afaafdf238157cda112e15ed7d89800b60ef4568a473c080",
|
| 361 |
+
"media/ref10_828ddb1896c200cb9fdf_full.jpg": "5567028cabb1f1a1708ac70dc39bebb7912aeb2e479542c0b16a9435a4d33806",
|
| 362 |
+
"media/ref10_8a4d2ab24eadf2b2a1dc_crop.jpg": "577a937f56c2602462cc6f3bef060abbf0ca47e3fb65bdba389542f19eabee3e",
|
| 363 |
+
"media/ref10_8a4d2ab24eadf2b2a1dc_full.jpg": "e8b6c612aeba7b974a2810a7a883aff010c7dcc8098f098ef156063f989dba97",
|
| 364 |
+
"media/ref10_8b89f03f368b27a4b106_crop.jpg": "85b0cddc4aeb086c74c5dec0ce80d5ab69a66f547849badd77f86fee59b58e05",
|
| 365 |
+
"media/ref10_8b89f03f368b27a4b106_full.jpg": "f03154385c9f2778e5e87b79c9fce78afcb21fa7c2768f935b238a061a737baf",
|
| 366 |
+
"media/ref10_9195ae0eeebe9a10405d_crop.jpg": "23f6c5f4b85df86be68efc604821ea8c8bd37e9a4e31cb638d8ceb51776dc011",
|
| 367 |
+
"media/ref10_9195ae0eeebe9a10405d_full.jpg": "12132b35c0a6f7927b8113369cabbcf173fd88b3af3691291d54dbdb303fb712",
|
| 368 |
+
"media/ref10_95d494476fea561be7de_crop.jpg": "cbf2b6a721238446fa7ae89eb0b10592aaa6ce1b7d5cdb02695c762365907ce0",
|
| 369 |
+
"media/ref10_95d494476fea561be7de_full.jpg": "fa7e9cbb37ed63abcde967f7e1f29431f4c6b30f04aaa6bd03ad1b8422ab9f12",
|
| 370 |
+
"media/ref10_97d56477f8576667070b_crop.jpg": "22332d9a7d06be0661d080120f3c217663bddeaf3a935a09cdb967c521ca88ee",
|
| 371 |
+
"media/ref10_97d56477f8576667070b_full.jpg": "9ef68a6f392d214ed6a4054be1afe867b7fc084ea3d76fbca9021b5dd434e400",
|
| 372 |
+
"media/ref10_9bf52bd2736baf6e2600_crop.jpg": "6cf4186e440257d8a2ad028b47a0f90a8de26b4b5bd8960fe6d6822d6a5432f5",
|
| 373 |
+
"media/ref10_9bf52bd2736baf6e2600_full.jpg": "10e6ceb7d2ca289f2af9df42d149c3ba04eb3edd7cbe033834e15c0a0c2ae686",
|
| 374 |
+
"media/ref10_9d30a1b36c5f11364705_crop.jpg": "a3c2e1f8e34d260c1647cc3e7f4ed0dad4cb4e211cb4bd7fb57dd945043a76cc",
|
| 375 |
+
"media/ref10_9d30a1b36c5f11364705_full.jpg": "57aa9c6df8636b57815f13cbc875bed4afcfa4653671f6767c2ccb39239f5053",
|
| 376 |
+
"media/ref10_9d331a5404e6a497cc67_crop.jpg": "151420bf59911da42fc0c3120c4460e44798700dce1f48884b91b0c1aac719da",
|
| 377 |
+
"media/ref10_9d331a5404e6a497cc67_full.jpg": "4d675afb39780c52a06365036ad0848363f28e62e339b1aa1cfec3daf7c0273f",
|
| 378 |
+
"media/ref10_9da92f6cca53109c71de_crop.jpg": "83d0834da9996cc8eb9acfd7b17d43236666cf6a8f4da8cb5b08e8f1a8610a3d",
|
| 379 |
+
"media/ref10_9da92f6cca53109c71de_full.jpg": "9e3e022f126ae75f626f57af1dc754a02b2bf70193e825f72d76629d91b584b4",
|
| 380 |
+
"media/ref10_a04c634be123809562e3_crop.jpg": "52f73d0899f4355ef1f4f5c6c531c42a8b898595a2e75b6d821f62b320cae30e",
|
| 381 |
+
"media/ref10_a04c634be123809562e3_full.jpg": "51ed9edbe61f0e9b4eb6e0e7f711e42309018c100b73efa1a26c96b0c1db224e",
|
| 382 |
+
"media/ref10_a578bbf73cf69ec40d01_crop.jpg": "fb2cd26ddaba9a5d0160cadb4563aa634b916533f401cd9524037e5426aa82a7",
|
| 383 |
+
"media/ref10_a578bbf73cf69ec40d01_full.jpg": "a7301b663f231c9224485c8e22b5fef7815537ccd214262d427b6130faaa9a1f",
|
| 384 |
+
"media/ref10_ac6638a497ab3b4629eb_crop.jpg": "9db2604e1942d8f082f1e50f3eb68651026985333fd4b01e15f3e3122fc2821e",
|
| 385 |
+
"media/ref10_ac6638a497ab3b4629eb_full.jpg": "b87e4fd2788d0ba1d547a808734e9d91bf6c7800849b0bfaeb9666b37e4b0646",
|
| 386 |
+
"media/ref10_ad1af63ef186a3da9178_crop.jpg": "23335e496664c38c4d4634d4ea288daf1d9d0f6f16a6c3cc545c713c976e4e39",
|
| 387 |
+
"media/ref10_ad1af63ef186a3da9178_full.jpg": "9d55bc61e177525e8af862944ebe3f5b3e88a129e3ca21ea480bace947f7858c",
|
| 388 |
+
"media/ref10_ad8a85fa6b7b36725c38_crop.jpg": "7dcc84c3c9f8947811c1da9d1817df57a7c800e71a40048da70bccf0c32d48ab",
|
| 389 |
+
"media/ref10_ad8a85fa6b7b36725c38_full.jpg": "4e5f2a8b358a46f8bfa28f7160279479f7fa990a577335f8ca6df9980c9a5c98",
|
| 390 |
+
"media/ref10_adff3a16786b520e4324_crop.jpg": "4305a95905934781f004a3c94da20eae408c0ad351d3599ff6e6eae8d88c6184",
|
| 391 |
+
"media/ref10_adff3a16786b520e4324_full.jpg": "a009f1cb64dd7584ed60a4044759e50eb3233210e69716db5ad15314a52ed744",
|
| 392 |
+
"media/ref10_b015cdb29bbfb752ac6a_crop.jpg": "52e5b079a31ed73621ab337eac2447a5f4988343f039f2cf2cc59bda90882389",
|
| 393 |
+
"media/ref10_b015cdb29bbfb752ac6a_full.jpg": "b750a3bd2c0992055cf34794687fe70f5f0a7b1b1bc07f09f2c77737814a134f",
|
| 394 |
+
"media/ref10_b041c3d2a3903239264a_crop.jpg": "fe0eb9af6870bd964b233debe56db4216fef625da46456af8ee3fc8b1bf10173",
|
| 395 |
+
"media/ref10_b041c3d2a3903239264a_full.jpg": "a271c5f1dd8d9025a128f4e3044852eeffa3dd3bab1447434d573c67892e0d34",
|
| 396 |
+
"media/ref10_b54fd37648672f6685cb_crop.jpg": "6c8722585801a02b47a6ec1efb5be088a5aae52d5a5e49ea3ed655bf3a235198",
|
| 397 |
+
"media/ref10_b54fd37648672f6685cb_full.jpg": "1713ed8d55fd1a46d361eb8e56f90b924538cc4db34c1529da1930fc2781baca",
|
| 398 |
+
"media/ref10_b6e179eb646f3c8e6bc3_crop.jpg": "ef5f74d8e4c9f3255a7eddd4fbb839b296f3f5d8d24d2c7cf6eacbd3f0e9dfee",
|
| 399 |
+
"media/ref10_b6e179eb646f3c8e6bc3_full.jpg": "9a9eb03484cb3d5f55f1bf6c3b58a1eb466706ab725da45d4559fd341a69886c",
|
| 400 |
+
"media/ref10_bc1fd1bc3616192ffe52_crop.jpg": "7ec453c9b2ef25fa3221e50a0fc52bc90f6acaeae7ac97f53cb6954d583e094d",
|
| 401 |
+
"media/ref10_bc1fd1bc3616192ffe52_full.jpg": "7ca381da0b980bf5164b3ce403b44caf4634472f5fc85d46d5b5dfca0fdc04e4",
|
| 402 |
+
"media/ref10_c3678d32ce9cd0c2dd32_crop.jpg": "60e5d9e27ae246a8993a61d785779dee8b4927453d6c06d638c7f9e4b0b335da",
|
| 403 |
+
"media/ref10_c3678d32ce9cd0c2dd32_full.jpg": "37bdc8ccf0119494f2f7cd02b9dcc9482511853885925cd449a1a50635424a81",
|
| 404 |
+
"media/ref10_c4a2ed10bca93d16a96e_crop.jpg": "5f5c5f1de883538ac4fe3d263c2164817c61bdeb69964c36e9953abce960cc38",
|
| 405 |
+
"media/ref10_c4a2ed10bca93d16a96e_full.jpg": "27108f01cbbc486bafd0c0ef819adc078ce4175e90587663f9c7b52d5ed936e6",
|
| 406 |
+
"media/ref10_c4b65d739edea3b49f29_crop.jpg": "e25027cd70fd31e8d13a2063d97620e9848789a50e6306b5c80e26b30946cbd4",
|
| 407 |
+
"media/ref10_c4b65d739edea3b49f29_full.jpg": "fd945d421a07193d529130f189ab4b78de91a544968b1cf6f105d8258418229d",
|
| 408 |
+
"media/ref10_c6f953cc767494e3edbd_crop.jpg": "24aa881eccb02f793491875cdc6e35702236c728f3b5d386e4addd5a1d5be148",
|
| 409 |
+
"media/ref10_c6f953cc767494e3edbd_full.jpg": "ad27df302ff874dc98816e27d908b5b48fee3d7540d92fc1db1f0c8ae67ad38b",
|
| 410 |
+
"media/ref10_c7bc79eb04c42383781d_crop.jpg": "29328f057f38514a71dc5c784a1f1fdc0a24bb706053e3c5b3da1c5cb3ac26b2",
|
| 411 |
+
"media/ref10_c7bc79eb04c42383781d_full.jpg": "b65504b6eeb9440c192e51a8d78114d5d1146c3f4ecb194f98f600fdabba6265",
|
| 412 |
+
"media/ref10_c87ce4642faaf033c8fc_crop.jpg": "57020a76fcd4ba5332e0aaae568fd648b5db40142a1624855920ffed2d5fb74b",
|
| 413 |
+
"media/ref10_c87ce4642faaf033c8fc_full.jpg": "eac4db2a5bab04ba769f8addd1b7d4c972e899c0aeb1b7e873cab11a317ed0e7",
|
| 414 |
+
"media/ref10_cbc1a5ac144473694b9f_crop.jpg": "6c7a7f7a9bcdbd3f8d727f3da2e7ed5789fe3ec8d753bd3d56672ba6c0c6b430",
|
| 415 |
+
"media/ref10_cbc1a5ac144473694b9f_full.jpg": "35e5b87b59d75f1f3078bbc1aef18118beb2e1daf5779d288bad770f42508ac5",
|
| 416 |
+
"media/ref10_d7d78ea52e337bcadf1f_crop.jpg": "31bd4971dde0caecf1908b662517453f8869d5582291cdba5ceb34e0f5809202",
|
| 417 |
+
"media/ref10_d7d78ea52e337bcadf1f_full.jpg": "b75d8b59fd6e969e948b2249125d29b71043e6b11b79c405275e35d1eed98124",
|
| 418 |
+
"media/ref10_d989a7827ba8e0ed1aa5_crop.jpg": "0386ebaf9e609f06adc73ba58e5e045106ecab13d534a7f80d6283a7ab71df8a",
|
| 419 |
+
"media/ref10_d989a7827ba8e0ed1aa5_full.jpg": "52dcfacc346489d76ae3e0e5d716881c60e2b9892c1682b71f8a8843150f242e",
|
| 420 |
+
"media/ref10_ddfdaa2c9eeb6917bb36_crop.jpg": "4971611656ff8f9dbc5d440ed42dab8f8499329fb5817b9e4834ca98a8ac13e2",
|
| 421 |
+
"media/ref10_ddfdaa2c9eeb6917bb36_full.jpg": "0e46d2d572477b9a561ac21936a486a55a3539b2b45dd9952b1299cade0d935c",
|
| 422 |
+
"media/ref10_e33cbd101bae629f3064_crop.jpg": "0d7595a39137a0760e73ca79c207701e454cbbe96551c5d1372132d12703c31f",
|
| 423 |
+
"media/ref10_e33cbd101bae629f3064_full.jpg": "a8792974bca9df0eecd2ac908da39cd06280829f8e99fd2adb33d734efdd7d29",
|
| 424 |
+
"media/ref10_eb4c5acb8afed80484e0_crop.jpg": "96040530c9669e3158fae6297d816cb26b5c7c8f9bbce58d4be0e54d84d8e268",
|
| 425 |
+
"media/ref10_eb4c5acb8afed80484e0_full.jpg": "9242f709c824fc5e08d74d36b607c84c8fec53dd1feca31b3e177331422d683e",
|
| 426 |
+
"media/ref10_ebdf8a893988b82489b7_crop.jpg": "98482ff6d5e0bca59f1f4a0ffcae6ce7fb9101b46633736e008a31b1f80a4dbc",
|
| 427 |
+
"media/ref10_ebdf8a893988b82489b7_full.jpg": "d9963fd0f19331d00c7b1170edf5fda97b9c6fb0ab9738b3a160dad85acffe2e",
|
| 428 |
+
"media/ref10_edf692a38bea15a04563_crop.jpg": "846300fcfc944d55aef537ca8251e2042f0fe915b22d0ecb8f27ed0d99b6bd7a",
|
| 429 |
+
"media/ref10_edf692a38bea15a04563_full.jpg": "cb6e1109187d66ff7c0919a3c43bf5bf81b2e466a9a0b5815cbe5df001b9feda",
|
| 430 |
+
"media/ref10_ee37ce0ff6137544b9a0_crop.jpg": "da1d5fa7205eaad21f0ed979a61ef325faff0ae444943115e4431bc4a2358251",
|
| 431 |
+
"media/ref10_ee37ce0ff6137544b9a0_full.jpg": "968bbe949ed5b4e1bc9710ce9b6a8c44c699265f01c6af238f1af90e211d8ebf",
|
| 432 |
+
"media/ref10_f0cb7d99020eb6258d62_crop.jpg": "b35b95d5cd2a9becc8a9005ece6b683ae78a9b874ec82fd71ebf6e875358debe",
|
| 433 |
+
"media/ref10_f0cb7d99020eb6258d62_full.jpg": "f27abbdeec35042536aab04c6ff6786dc1ea58ed4017586ca8cce2a848bf2ab2",
|
| 434 |
+
"media/ref10_f309ba9e509f314d39f7_crop.jpg": "d4c8df57a45dccf4185880ba715376d46782e16fcab1c60d1220e3bf07b15a33",
|
| 435 |
+
"media/ref10_f309ba9e509f314d39f7_full.jpg": "1580d67fef1d625ddeed214c3e08277e45422339f95f23012916d4222f1603e3",
|
| 436 |
+
"media/ref10_f64b454e1a1c66e5c39f_crop.jpg": "4c0db7077f5732be2379fc5fd4520b58a19b02e2ddea13ede382290e3d9466e1",
|
| 437 |
+
"media/ref10_f64b454e1a1c66e5c39f_full.jpg": "fb559d3bc701573e5196c18f7c4a123586935e3a4d512a2f0ab6b37f8156ae1a",
|
| 438 |
+
"media/ref10_f7ba7e80e93ac7d9624c_crop.jpg": "56d4e1a72af4a3fd99e2d41cc4df41715efb539745f8a5b898819185f12f2b54",
|
| 439 |
+
"media/ref10_f7ba7e80e93ac7d9624c_full.jpg": "b2382ae0e0539fcd2a1402a4e9a3795b8e6d21ec1270a5caa78786e5488afbc8",
|
| 440 |
+
"media/ref10_f98dbaef3bbbbb8705ea_crop.jpg": "67ab65526bd95b98f44d247645d566bdcf5a01ff4afab4537bc8ec7f3570c101",
|
| 441 |
+
"media/ref10_f98dbaef3bbbbb8705ea_full.jpg": "b5cad6c2da13101b3ec57f04af0c70c1000af15208af42ed1f4dcd6bf25e8cd4",
|
| 442 |
+
"media/ref10_fb6c35ccec55bf44f406_crop.jpg": "f84617fc132a83d3596a6906f98508954f6e4e2f53b14d74e0ba3142178e1e41",
|
| 443 |
+
"media/ref10_fb6c35ccec55bf44f406_full.jpg": "9c4f803b1bbe4ff110b1befae49b0f9567435fcc543373a35753b1ab973cd02e"
|
| 444 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/numerical_validation.json
ADDED
|
@@ -0,0 +1,493 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "PASS",
|
| 3 |
+
"n_queries": 214481,
|
| 4 |
+
"same_hand_all": true,
|
| 5 |
+
"all_class_counts_valid": true,
|
| 6 |
+
"input_hashes_unchanged": true,
|
| 7 |
+
"cpu_float64_checks": [
|
| 8 |
+
{
|
| 9 |
+
"index": 104224,
|
| 10 |
+
"id": "ce677dbed112e19929df",
|
| 11 |
+
"hand": "left",
|
| 12 |
+
"max_nn_error_deg": 6.99112847613037e-07,
|
| 13 |
+
"cpu_nearest_index": 72595,
|
| 14 |
+
"gpu_nearest_index": 72595,
|
| 15 |
+
"cpu_support_recordings": 433,
|
| 16 |
+
"gpu_support_recordings": 433,
|
| 17 |
+
"cpu_support_samples": 4758,
|
| 18 |
+
"gpu_support_samples": 4758,
|
| 19 |
+
"threshold_boundary_margin_deg": 0.000518130555350993,
|
| 20 |
+
"numerically_ambiguous_counts": true,
|
| 21 |
+
"status_agrees": true
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"index": 132496,
|
| 25 |
+
"id": "a372d7f3f9ca31e4f339",
|
| 26 |
+
"hand": "left",
|
| 27 |
+
"max_nn_error_deg": 7.616026653778363e-07,
|
| 28 |
+
"cpu_nearest_index": 20624,
|
| 29 |
+
"gpu_nearest_index": 20624,
|
| 30 |
+
"cpu_support_recordings": 486,
|
| 31 |
+
"gpu_support_recordings": 486,
|
| 32 |
+
"cpu_support_samples": 6388,
|
| 33 |
+
"gpu_support_samples": 6388,
|
| 34 |
+
"threshold_boundary_margin_deg": 0.00012130882421423905,
|
| 35 |
+
"numerically_ambiguous_counts": true,
|
| 36 |
+
"status_agrees": true
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"index": 199298,
|
| 40 |
+
"id": "415a98e8f2c0d08b7026c325",
|
| 41 |
+
"hand": "left",
|
| 42 |
+
"max_nn_error_deg": 3.101106830882827e-06,
|
| 43 |
+
"cpu_nearest_index": 68029,
|
| 44 |
+
"gpu_nearest_index": 68029,
|
| 45 |
+
"cpu_support_recordings": 0,
|
| 46 |
+
"gpu_support_recordings": 0,
|
| 47 |
+
"cpu_support_samples": 0,
|
| 48 |
+
"gpu_support_samples": 0,
|
| 49 |
+
"threshold_boundary_margin_deg": 9.337130306485943,
|
| 50 |
+
"numerically_ambiguous_counts": false,
|
| 51 |
+
"status_agrees": true
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"index": 114144,
|
| 55 |
+
"id": "c340b3012311f32d0782",
|
| 56 |
+
"hand": "left",
|
| 57 |
+
"max_nn_error_deg": 4.367412552941374e-06,
|
| 58 |
+
"cpu_nearest_index": 153988,
|
| 59 |
+
"gpu_nearest_index": 153988,
|
| 60 |
+
"cpu_support_recordings": 459,
|
| 61 |
+
"gpu_support_recordings": 459,
|
| 62 |
+
"cpu_support_samples": 3007,
|
| 63 |
+
"gpu_support_samples": 3007,
|
| 64 |
+
"threshold_boundary_margin_deg": 5.187538525852631e-05,
|
| 65 |
+
"numerically_ambiguous_counts": true,
|
| 66 |
+
"status_agrees": true
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"index": 170418,
|
| 70 |
+
"id": "0061ffab25e7a8114710",
|
| 71 |
+
"hand": "left",
|
| 72 |
+
"max_nn_error_deg": 1.982518597287708e-06,
|
| 73 |
+
"cpu_nearest_index": 155850,
|
| 74 |
+
"gpu_nearest_index": 155850,
|
| 75 |
+
"cpu_support_recordings": 1,
|
| 76 |
+
"gpu_support_recordings": 1,
|
| 77 |
+
"cpu_support_samples": 2,
|
| 78 |
+
"gpu_support_samples": 2,
|
| 79 |
+
"threshold_boundary_margin_deg": 0.013601774319448978,
|
| 80 |
+
"numerically_ambiguous_counts": false,
|
| 81 |
+
"status_agrees": true
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"index": 48354,
|
| 85 |
+
"id": "4a230d663fa817ca6e8c",
|
| 86 |
+
"hand": "left",
|
| 87 |
+
"max_nn_error_deg": 1.3680634721069396e-05,
|
| 88 |
+
"cpu_nearest_index": 216915,
|
| 89 |
+
"gpu_nearest_index": 216915,
|
| 90 |
+
"cpu_support_recordings": 3,
|
| 91 |
+
"gpu_support_recordings": 3,
|
| 92 |
+
"cpu_support_samples": 3,
|
| 93 |
+
"gpu_support_samples": 3,
|
| 94 |
+
"threshold_boundary_margin_deg": 0.025239116280101115,
|
| 95 |
+
"numerically_ambiguous_counts": false,
|
| 96 |
+
"status_agrees": true
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"index": 72769,
|
| 100 |
+
"id": "b242c55c73d51beaab44",
|
| 101 |
+
"hand": "left",
|
| 102 |
+
"max_nn_error_deg": 4.1788954892041374e-06,
|
| 103 |
+
"cpu_nearest_index": 190545,
|
| 104 |
+
"gpu_nearest_index": 190545,
|
| 105 |
+
"cpu_support_recordings": 0,
|
| 106 |
+
"gpu_support_recordings": 0,
|
| 107 |
+
"cpu_support_samples": 0,
|
| 108 |
+
"gpu_support_samples": 0,
|
| 109 |
+
"threshold_boundary_margin_deg": 3.5411332911391415,
|
| 110 |
+
"numerically_ambiguous_counts": false,
|
| 111 |
+
"status_agrees": true
|
| 112 |
+
},
|
| 113 |
+
{
|
| 114 |
+
"index": 35121,
|
| 115 |
+
"id": "90bced6e3cc66a1976e7",
|
| 116 |
+
"hand": "left",
|
| 117 |
+
"max_nn_error_deg": 1.0816202706820377e-06,
|
| 118 |
+
"cpu_nearest_index": 126420,
|
| 119 |
+
"gpu_nearest_index": 126420,
|
| 120 |
+
"cpu_support_recordings": 2,
|
| 121 |
+
"gpu_support_recordings": 2,
|
| 122 |
+
"cpu_support_samples": 2,
|
| 123 |
+
"gpu_support_samples": 2,
|
| 124 |
+
"threshold_boundary_margin_deg": 0.24574571949894342,
|
| 125 |
+
"numerically_ambiguous_counts": false,
|
| 126 |
+
"status_agrees": true
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"index": 143542,
|
| 130 |
+
"id": "812fa4aee6e0e6ba5093",
|
| 131 |
+
"hand": "left",
|
| 132 |
+
"max_nn_error_deg": 5.346861244426293e-06,
|
| 133 |
+
"cpu_nearest_index": 49702,
|
| 134 |
+
"gpu_nearest_index": 49702,
|
| 135 |
+
"cpu_support_recordings": 318,
|
| 136 |
+
"gpu_support_recordings": 318,
|
| 137 |
+
"cpu_support_samples": 1409,
|
| 138 |
+
"gpu_support_samples": 1409,
|
| 139 |
+
"threshold_boundary_margin_deg": 0.0003205580489851201,
|
| 140 |
+
"numerically_ambiguous_counts": true,
|
| 141 |
+
"status_agrees": true
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"index": 128344,
|
| 145 |
+
"id": "562a8e43ecbb28be41ab",
|
| 146 |
+
"hand": "left",
|
| 147 |
+
"max_nn_error_deg": 3.4549104273473574e-05,
|
| 148 |
+
"cpu_nearest_index": 54294,
|
| 149 |
+
"gpu_nearest_index": 54294,
|
| 150 |
+
"cpu_support_recordings": 738,
|
| 151 |
+
"gpu_support_recordings": 738,
|
| 152 |
+
"cpu_support_samples": 5161,
|
| 153 |
+
"gpu_support_samples": 5161,
|
| 154 |
+
"threshold_boundary_margin_deg": 0.00015118673663394588,
|
| 155 |
+
"numerically_ambiguous_counts": true,
|
| 156 |
+
"status_agrees": true
|
| 157 |
+
},
|
| 158 |
+
{
|
| 159 |
+
"index": 190784,
|
| 160 |
+
"id": "47ee6f303067ed4b00cd03ff",
|
| 161 |
+
"hand": "left",
|
| 162 |
+
"max_nn_error_deg": 8.845484504860224e-06,
|
| 163 |
+
"cpu_nearest_index": 55282,
|
| 164 |
+
"gpu_nearest_index": 55282,
|
| 165 |
+
"cpu_support_recordings": 19,
|
| 166 |
+
"gpu_support_recordings": 19,
|
| 167 |
+
"cpu_support_samples": 35,
|
| 168 |
+
"gpu_support_samples": 35,
|
| 169 |
+
"threshold_boundary_margin_deg": 0.005902942524516064,
|
| 170 |
+
"numerically_ambiguous_counts": false,
|
| 171 |
+
"status_agrees": true
|
| 172 |
+
},
|
| 173 |
+
{
|
| 174 |
+
"index": 160403,
|
| 175 |
+
"id": "9eed9d2d43aec0bbf445",
|
| 176 |
+
"hand": "left",
|
| 177 |
+
"max_nn_error_deg": 1.3292233624895289e-06,
|
| 178 |
+
"cpu_nearest_index": 270766,
|
| 179 |
+
"gpu_nearest_index": 270766,
|
| 180 |
+
"cpu_support_recordings": 0,
|
| 181 |
+
"gpu_support_recordings": 0,
|
| 182 |
+
"cpu_support_samples": 0,
|
| 183 |
+
"gpu_support_samples": 0,
|
| 184 |
+
"threshold_boundary_margin_deg": 7.7205919206540266,
|
| 185 |
+
"numerically_ambiguous_counts": false,
|
| 186 |
+
"status_agrees": true
|
| 187 |
+
},
|
| 188 |
+
{
|
| 189 |
+
"index": 190534,
|
| 190 |
+
"id": "48efa6743fb86d2523435fec",
|
| 191 |
+
"hand": "left",
|
| 192 |
+
"max_nn_error_deg": 4.447297581933185e-05,
|
| 193 |
+
"cpu_nearest_index": 245191,
|
| 194 |
+
"gpu_nearest_index": 245191,
|
| 195 |
+
"cpu_support_recordings": 0,
|
| 196 |
+
"gpu_support_recordings": 0,
|
| 197 |
+
"cpu_support_samples": 0,
|
| 198 |
+
"gpu_support_samples": 0,
|
| 199 |
+
"threshold_boundary_margin_deg": 0.0001350720358779256,
|
| 200 |
+
"numerically_ambiguous_counts": true,
|
| 201 |
+
"status_agrees": true
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"index": 76364,
|
| 205 |
+
"id": "13ec1867b62209ef06ce",
|
| 206 |
+
"hand": "left",
|
| 207 |
+
"max_nn_error_deg": 4.282802610333647e-06,
|
| 208 |
+
"cpu_nearest_index": 104121,
|
| 209 |
+
"gpu_nearest_index": 104121,
|
| 210 |
+
"cpu_support_recordings": 0,
|
| 211 |
+
"gpu_support_recordings": 0,
|
| 212 |
+
"cpu_support_samples": 0,
|
| 213 |
+
"gpu_support_samples": 0,
|
| 214 |
+
"threshold_boundary_margin_deg": 0.00023697933581345865,
|
| 215 |
+
"numerically_ambiguous_counts": true,
|
| 216 |
+
"status_agrees": true
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"index": 86833,
|
| 220 |
+
"id": "e7a41c6490f79c072e5a",
|
| 221 |
+
"hand": "left",
|
| 222 |
+
"max_nn_error_deg": 9.297119483164806e-06,
|
| 223 |
+
"cpu_nearest_index": 176556,
|
| 224 |
+
"gpu_nearest_index": 176556,
|
| 225 |
+
"cpu_support_recordings": 1,
|
| 226 |
+
"gpu_support_recordings": 1,
|
| 227 |
+
"cpu_support_samples": 1,
|
| 228 |
+
"gpu_support_samples": 1,
|
| 229 |
+
"threshold_boundary_margin_deg": 0.00025487066616136644,
|
| 230 |
+
"numerically_ambiguous_counts": true,
|
| 231 |
+
"status_agrees": true
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"index": 162070,
|
| 235 |
+
"id": "d1eeba3d381d6296b0f9",
|
| 236 |
+
"hand": "left",
|
| 237 |
+
"max_nn_error_deg": 6.95536685757503e-05,
|
| 238 |
+
"cpu_nearest_index": 178323,
|
| 239 |
+
"gpu_nearest_index": 178323,
|
| 240 |
+
"cpu_support_recordings": 1,
|
| 241 |
+
"gpu_support_recordings": 1,
|
| 242 |
+
"cpu_support_samples": 1,
|
| 243 |
+
"gpu_support_samples": 1,
|
| 244 |
+
"threshold_boundary_margin_deg": 0.00034325819738434404,
|
| 245 |
+
"numerically_ambiguous_counts": true,
|
| 246 |
+
"status_agrees": true
|
| 247 |
+
},
|
| 248 |
+
{
|
| 249 |
+
"index": 88456,
|
| 250 |
+
"id": "54299e8f4a11a9f3fa21",
|
| 251 |
+
"hand": "right",
|
| 252 |
+
"max_nn_error_deg": 6.491278501385978e-07,
|
| 253 |
+
"cpu_nearest_index": 117358,
|
| 254 |
+
"gpu_nearest_index": 117358,
|
| 255 |
+
"cpu_support_recordings": 0,
|
| 256 |
+
"gpu_support_recordings": 0,
|
| 257 |
+
"cpu_support_samples": 0,
|
| 258 |
+
"gpu_support_samples": 0,
|
| 259 |
+
"threshold_boundary_margin_deg": 1.0074418252373842,
|
| 260 |
+
"numerically_ambiguous_counts": false,
|
| 261 |
+
"status_agrees": true
|
| 262 |
+
},
|
| 263 |
+
{
|
| 264 |
+
"index": 58374,
|
| 265 |
+
"id": "e4faadb04fed4fb3e0ef",
|
| 266 |
+
"hand": "right",
|
| 267 |
+
"max_nn_error_deg": 4.770485634963961e-06,
|
| 268 |
+
"cpu_nearest_index": 68385,
|
| 269 |
+
"gpu_nearest_index": 68385,
|
| 270 |
+
"cpu_support_recordings": 0,
|
| 271 |
+
"gpu_support_recordings": 0,
|
| 272 |
+
"cpu_support_samples": 0,
|
| 273 |
+
"gpu_support_samples": 0,
|
| 274 |
+
"threshold_boundary_margin_deg": 2.6286601999123143,
|
| 275 |
+
"numerically_ambiguous_counts": false,
|
| 276 |
+
"status_agrees": true
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"index": 143165,
|
| 280 |
+
"id": "732b459d6f7038d92581",
|
| 281 |
+
"hand": "right",
|
| 282 |
+
"max_nn_error_deg": 1.2991328146583214e-05,
|
| 283 |
+
"cpu_nearest_index": 52245,
|
| 284 |
+
"gpu_nearest_index": 52245,
|
| 285 |
+
"cpu_support_recordings": 336,
|
| 286 |
+
"gpu_support_recordings": 336,
|
| 287 |
+
"cpu_support_samples": 3730,
|
| 288 |
+
"gpu_support_samples": 3730,
|
| 289 |
+
"threshold_boundary_margin_deg": 3.546608200011292e-06,
|
| 290 |
+
"numerically_ambiguous_counts": true,
|
| 291 |
+
"status_agrees": true
|
| 292 |
+
},
|
| 293 |
+
{
|
| 294 |
+
"index": 21598,
|
| 295 |
+
"id": "a684b59c5c8a2000da00",
|
| 296 |
+
"hand": "right",
|
| 297 |
+
"max_nn_error_deg": 2.9661092931121402e-05,
|
| 298 |
+
"cpu_nearest_index": 66473,
|
| 299 |
+
"gpu_nearest_index": 66473,
|
| 300 |
+
"cpu_support_recordings": 37,
|
| 301 |
+
"gpu_support_recordings": 37,
|
| 302 |
+
"cpu_support_samples": 97,
|
| 303 |
+
"gpu_support_samples": 97,
|
| 304 |
+
"threshold_boundary_margin_deg": 0.002138717558594294,
|
| 305 |
+
"numerically_ambiguous_counts": false,
|
| 306 |
+
"status_agrees": true
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"index": 64830,
|
| 310 |
+
"id": "0d03228bbaae6cf827a1",
|
| 311 |
+
"hand": "right",
|
| 312 |
+
"max_nn_error_deg": 1.2883399865160072e-05,
|
| 313 |
+
"cpu_nearest_index": 87526,
|
| 314 |
+
"gpu_nearest_index": 87526,
|
| 315 |
+
"cpu_support_recordings": 1,
|
| 316 |
+
"gpu_support_recordings": 1,
|
| 317 |
+
"cpu_support_samples": 1,
|
| 318 |
+
"gpu_support_samples": 1,
|
| 319 |
+
"threshold_boundary_margin_deg": 0.0863308818589239,
|
| 320 |
+
"numerically_ambiguous_counts": false,
|
| 321 |
+
"status_agrees": true
|
| 322 |
+
},
|
| 323 |
+
{
|
| 324 |
+
"index": 133563,
|
| 325 |
+
"id": "bf368fcb80b35f292647",
|
| 326 |
+
"hand": "right",
|
| 327 |
+
"max_nn_error_deg": 3.3180044524350194e-05,
|
| 328 |
+
"cpu_nearest_index": 54989,
|
| 329 |
+
"gpu_nearest_index": 54989,
|
| 330 |
+
"cpu_support_recordings": 214,
|
| 331 |
+
"gpu_support_recordings": 214,
|
| 332 |
+
"cpu_support_samples": 1948,
|
| 333 |
+
"gpu_support_samples": 1948,
|
| 334 |
+
"threshold_boundary_margin_deg": 0.0009506813307851303,
|
| 335 |
+
"numerically_ambiguous_counts": true,
|
| 336 |
+
"status_agrees": true
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"index": 136380,
|
| 340 |
+
"id": "e7dc86ad70822382df41",
|
| 341 |
+
"hand": "right",
|
| 342 |
+
"max_nn_error_deg": 2.9483962187271118e-06,
|
| 343 |
+
"cpu_nearest_index": 174262,
|
| 344 |
+
"gpu_nearest_index": 174262,
|
| 345 |
+
"cpu_support_recordings": 3,
|
| 346 |
+
"gpu_support_recordings": 3,
|
| 347 |
+
"cpu_support_samples": 3,
|
| 348 |
+
"gpu_support_samples": 3,
|
| 349 |
+
"threshold_boundary_margin_deg": 0.09372570151546533,
|
| 350 |
+
"numerically_ambiguous_counts": false,
|
| 351 |
+
"status_agrees": true
|
| 352 |
+
},
|
| 353 |
+
{
|
| 354 |
+
"index": 15980,
|
| 355 |
+
"id": "05a1cdacf0df121aa54b",
|
| 356 |
+
"hand": "right",
|
| 357 |
+
"max_nn_error_deg": 6.378644595628202e-06,
|
| 358 |
+
"cpu_nearest_index": 137023,
|
| 359 |
+
"gpu_nearest_index": 137023,
|
| 360 |
+
"cpu_support_recordings": 0,
|
| 361 |
+
"gpu_support_recordings": 0,
|
| 362 |
+
"cpu_support_samples": 0,
|
| 363 |
+
"gpu_support_samples": 0,
|
| 364 |
+
"threshold_boundary_margin_deg": 2.5974648585380216,
|
| 365 |
+
"numerically_ambiguous_counts": false,
|
| 366 |
+
"status_agrees": true
|
| 367 |
+
},
|
| 368 |
+
{
|
| 369 |
+
"index": 163693,
|
| 370 |
+
"id": "95b22b5f23e3dd1c8d0e",
|
| 371 |
+
"hand": "right",
|
| 372 |
+
"max_nn_error_deg": 2.0178348178134797e-05,
|
| 373 |
+
"cpu_nearest_index": 136565,
|
| 374 |
+
"gpu_nearest_index": 136565,
|
| 375 |
+
"cpu_support_recordings": 0,
|
| 376 |
+
"gpu_support_recordings": 0,
|
| 377 |
+
"cpu_support_samples": 0,
|
| 378 |
+
"gpu_support_samples": 0,
|
| 379 |
+
"threshold_boundary_margin_deg": 1.7789619841274078,
|
| 380 |
+
"numerically_ambiguous_counts": false,
|
| 381 |
+
"status_agrees": true
|
| 382 |
+
},
|
| 383 |
+
{
|
| 384 |
+
"index": 143195,
|
| 385 |
+
"id": "b49ccaf7e85627f276b1",
|
| 386 |
+
"hand": "right",
|
| 387 |
+
"max_nn_error_deg": 6.505127305267422e-06,
|
| 388 |
+
"cpu_nearest_index": 162809,
|
| 389 |
+
"gpu_nearest_index": 162809,
|
| 390 |
+
"cpu_support_recordings": 325,
|
| 391 |
+
"gpu_support_recordings": 325,
|
| 392 |
+
"cpu_support_samples": 1864,
|
| 393 |
+
"gpu_support_samples": 1864,
|
| 394 |
+
"threshold_boundary_margin_deg": 0.00018799342378628126,
|
| 395 |
+
"numerically_ambiguous_counts": true,
|
| 396 |
+
"status_agrees": true
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"index": 176818,
|
| 400 |
+
"id": "fb929982a9bfdf4c1da9",
|
| 401 |
+
"hand": "right",
|
| 402 |
+
"max_nn_error_deg": 3.1252297105766047e-07,
|
| 403 |
+
"cpu_nearest_index": 254534,
|
| 404 |
+
"gpu_nearest_index": 254534,
|
| 405 |
+
"cpu_support_recordings": 318,
|
| 406 |
+
"gpu_support_recordings": 318,
|
| 407 |
+
"cpu_support_samples": 840,
|
| 408 |
+
"gpu_support_samples": 840,
|
| 409 |
+
"threshold_boundary_margin_deg": 6.590315410015535e-05,
|
| 410 |
+
"numerically_ambiguous_counts": true,
|
| 411 |
+
"status_agrees": true
|
| 412 |
+
},
|
| 413 |
+
{
|
| 414 |
+
"index": 2516,
|
| 415 |
+
"id": "4f2e0ebf48abfbc1e13e",
|
| 416 |
+
"hand": "right",
|
| 417 |
+
"max_nn_error_deg": 6.689719138641692e-06,
|
| 418 |
+
"cpu_nearest_index": 173434,
|
| 419 |
+
"gpu_nearest_index": 173434,
|
| 420 |
+
"cpu_support_recordings": 89,
|
| 421 |
+
"gpu_support_recordings": 89,
|
| 422 |
+
"cpu_support_samples": 186,
|
| 423 |
+
"gpu_support_samples": 186,
|
| 424 |
+
"threshold_boundary_margin_deg": 0.00023811003439888623,
|
| 425 |
+
"numerically_ambiguous_counts": true,
|
| 426 |
+
"status_agrees": true
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
"index": 117712,
|
| 430 |
+
"id": "f66ff05fc0bd29c38567",
|
| 431 |
+
"hand": "right",
|
| 432 |
+
"max_nn_error_deg": 6.224205010951778e-06,
|
| 433 |
+
"cpu_nearest_index": 166309,
|
| 434 |
+
"gpu_nearest_index": 166309,
|
| 435 |
+
"cpu_support_recordings": 0,
|
| 436 |
+
"gpu_support_recordings": 0,
|
| 437 |
+
"cpu_support_samples": 0,
|
| 438 |
+
"gpu_support_samples": 0,
|
| 439 |
+
"threshold_boundary_margin_deg": 7.127235418735722e-06,
|
| 440 |
+
"numerically_ambiguous_counts": true,
|
| 441 |
+
"status_agrees": true
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"index": 22347,
|
| 445 |
+
"id": "3e1ddb39fcd537399bab",
|
| 446 |
+
"hand": "right",
|
| 447 |
+
"max_nn_error_deg": 9.415527326694928e-07,
|
| 448 |
+
"cpu_nearest_index": 29477,
|
| 449 |
+
"gpu_nearest_index": 29477,
|
| 450 |
+
"cpu_support_recordings": 0,
|
| 451 |
+
"gpu_support_recordings": 0,
|
| 452 |
+
"cpu_support_samples": 0,
|
| 453 |
+
"gpu_support_samples": 0,
|
| 454 |
+
"threshold_boundary_margin_deg": 6.674508056470074e-05,
|
| 455 |
+
"numerically_ambiguous_counts": true,
|
| 456 |
+
"status_agrees": true
|
| 457 |
+
},
|
| 458 |
+
{
|
| 459 |
+
"index": 55064,
|
| 460 |
+
"id": "7570d75af73f865f44a5",
|
| 461 |
+
"hand": "right",
|
| 462 |
+
"max_nn_error_deg": 1.738083218683073e-06,
|
| 463 |
+
"cpu_nearest_index": 157180,
|
| 464 |
+
"gpu_nearest_index": 157180,
|
| 465 |
+
"cpu_support_recordings": 0,
|
| 466 |
+
"gpu_support_recordings": 0,
|
| 467 |
+
"cpu_support_samples": 0,
|
| 468 |
+
"gpu_support_samples": 0,
|
| 469 |
+
"threshold_boundary_margin_deg": 0.00018579722628508932,
|
| 470 |
+
"numerically_ambiguous_counts": true,
|
| 471 |
+
"status_agrees": true
|
| 472 |
+
},
|
| 473 |
+
{
|
| 474 |
+
"index": 202753,
|
| 475 |
+
"id": "a2786a37b76720e7121b0e48",
|
| 476 |
+
"hand": "right",
|
| 477 |
+
"max_nn_error_deg": 1.0289521039652527e-06,
|
| 478 |
+
"cpu_nearest_index": 271486,
|
| 479 |
+
"gpu_nearest_index": 271486,
|
| 480 |
+
"cpu_support_recordings": 1,
|
| 481 |
+
"gpu_support_recordings": 1,
|
| 482 |
+
"cpu_support_samples": 1,
|
| 483 |
+
"gpu_support_samples": 1,
|
| 484 |
+
"threshold_boundary_margin_deg": 0.000202254232865684,
|
| 485 |
+
"numerically_ambiguous_counts": true,
|
| 486 |
+
"status_agrees": true
|
| 487 |
+
}
|
| 488 |
+
],
|
| 489 |
+
"cpu_nn_max_error_deg": 6.95536685757503e-05,
|
| 490 |
+
"previous_exact_prototype_checks": 114,
|
| 491 |
+
"previous_exact_prototype_max_error_deg": 5.7220458984375e-06,
|
| 492 |
+
"limitations": "Float32 acos counts extremely close to the threshold can change under rounding; boundary examples were checked and sample statuses agree. No GT accuracy verdict derived from nearest-neighbor distance."
|
| 493 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/reference_unit_codes.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
pose_recluster_distinct_20261014/downloads/coverage/source_coverage.csv
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,hand,threshold_deg,n,covered,low,uncovered,covered_fraction,low_fraction,uncovered_fraction,any_match_fraction,status,status_label,fit_weighted_fractions,equal_unit_fractions,independent_units
|
| 2 |
+
wilor_dex,left,9.49763298034668,25152,23601,816,735,0.9383349236641222,0.03244274809160305,0.029222328244274808,0.9707776717557252,covered,已覆盖,"[0.9374486070424131, 0.03292423647707949, 0.029627156480507476]","[0.9362868299495475, 0.03362718992705063, 0.03008598012340202]",400
|
| 3 |
+
wilor_h2o3d,left,9.49763298034668,1291,812,186,293,0.6289697908597986,0.14407436096049575,0.22695584817970565,0.7730441518202944,low,低覆盖,"[0.6616456454449668, 0.1251878606104697, 0.21316649394456366]","[0.6620034602321778, 0.12476157424870783, 0.21323496551911433]",15
|
| 4 |
+
wilor_interhand26m,left,9.49763298034668,11032,3861,811,6360,0.3499818709209572,0.07351341551849166,0.5765047135605511,0.4234952864394489,low,低覆盖,"[0.34860382240689025, 0.06880665978942004, 0.5825895178036897]","[0.2453189914424418, 0.05482777811855487, 0.6998532304390033]",1603
|
| 5 |
+
wilor_mtc,left,9.49763298034668,5458,3123,371,1964,0.5721876145108098,0.06797361670941737,0.35983876877977283,0.6401612312202272,low,低覆盖,"[0.5148380089407388, 0.07512886333927707, 0.4100331277199841]","[0.5148380089407388, 0.07512886333927707, 0.4100331277199842]",29
|
| 6 |
+
wilor_reinter,left,9.49763298034668,10980,3307,1093,6580,0.301183970856102,0.09954462659380692,0.599271402550091,0.40072859744990896,low,低覆盖,"[0.26590158871151415, 0.09992736996907335, 0.6341710413194124]","[0.2659041186531571, 0.09991779552680215, 0.6341780858200406]",7
|
| 7 |
+
wilor_rhd,left,9.49763298034668,32119,5821,2334,23964,0.18123229241259067,0.07266726859491267,0.7461004389924967,0.2538995610075033,low,低覆盖,"[0.21237286575799336, 0.08390867381999029, 0.7037184604220162]","[0.21237286575799338, 0.0839086738199903, 0.7037184604220164]",23426
|
| 8 |
+
wilor_dex,right,9.252071380615234,24765,23594,613,558,0.9527155259438724,0.024752675146375934,0.022531798909751665,0.9774682010902483,covered,已覆盖,"[0.9528017417829242, 0.024663092049545043, 0.022535166167530794]","[0.9530755695414824, 0.024153236340122387, 0.022771194118395243]",400
|
| 9 |
+
wilor_freihand,right,9.252071380615234,32560,15016,3120,14424,0.4611793611793612,0.09582309582309582,0.442997542997543,0.557002457002457,low,低覆盖,"[0.46106607713092596, 0.09579955784819452, 0.4431343650208792]","[0.46106607713092607, 0.09579955784819455, 0.4431343650208794]",4071
|
| 10 |
+
wilor_h2o3d,right,9.252071380615234,1356,942,153,261,0.6946902654867256,0.11283185840707964,0.19247787610619468,0.8075221238938053,low,低覆盖,"[0.6980372264813266, 0.10938226873347846, 0.19258050478519503]","[0.6983044713757621, 0.10929764102746048, 0.19239788759677737]",15
|
| 11 |
+
wilor_ho3d,right,9.252071380615234,9010,4205,892,3913,0.4667036625971143,0.09900110987791343,0.43429522752497224,0.5657047724750277,low,低覆盖,"[0.504863490828288, 0.09286802954642583, 0.4022684796252862]","[0.5047888758000435, 0.09283800452816984, 0.4023731196717867]",24
|
| 12 |
+
wilor_interhand26m,right,9.252071380615234,11115,3348,951,6816,0.30121457489878545,0.08556005398110661,0.613225371120108,0.386774628879892,low,低覆盖,"[0.301618644476163, 0.08102785587706593, 0.6173534996467712]","[0.21530795959559013, 0.06292933211471498, 0.7217627082896949]",1646
|
| 13 |
+
wilor_mtc,right,9.252071380615234,7041,4187,418,2436,0.5946598494532027,0.05936656724897032,0.345973583297827,0.654026416702173,low,低覆盖,"[0.5487214239520184, 0.06228577150087952, 0.38899280454710206]","[0.5487214239520184, 0.06228577150087951, 0.3889928045471021]",29
|
| 14 |
+
wilor_reinter,right,9.252071380615234,10980,2961,1284,6735,0.26967213114754096,0.11693989071038251,0.6133879781420765,0.38661202185792354,low,低覆盖,"[0.25803549392737946, 0.11351201169705163, 0.6284524943755689]","[0.25799964999517766, 0.11351521982231658, 0.6284851301825056]",7
|
| 15 |
+
wilor_rhd,right,9.252071380615234,31622,4630,2388,24604,0.14641705141989753,0.07551704509518689,0.7780659034849156,0.22193409651508444,low,低覆盖,"[0.17558189935416757, 0.0779873741391302, 0.7464307265067023]","[0.17558189935416757, 0.0779873741391302, 0.7464307265067023]",23071
|
pose_recluster_distinct_20261014/downloads/coverage/summary.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"left": {
|
| 3 |
+
"n": 86032,
|
| 4 |
+
"covered": 40525,
|
| 5 |
+
"low": 5611,
|
| 6 |
+
"uncovered": 39896,
|
| 7 |
+
"covered_fraction": 0.47104565742979354,
|
| 8 |
+
"low_fraction": 0.06521991816998327,
|
| 9 |
+
"uncovered_fraction": 0.46373442440022317,
|
| 10 |
+
"any_match_fraction": 0.5362655755997768,
|
| 11 |
+
"status": "low",
|
| 12 |
+
"status_label": "低覆盖",
|
| 13 |
+
"fit_weighted_fractions": [
|
| 14 |
+
0.5116070775467868,
|
| 15 |
+
0.07848377248549801,
|
| 16 |
+
0.40990914996771516
|
| 17 |
+
],
|
| 18 |
+
"equal_unit_fractions": [
|
| 19 |
+
0.22643365429757228,
|
| 20 |
+
0.0813082410683365,
|
| 21 |
+
0.6922581046340911
|
| 22 |
+
],
|
| 23 |
+
"independent_units": 25480,
|
| 24 |
+
"threshold_deg": 9.49763298034668
|
| 25 |
+
},
|
| 26 |
+
"right": {
|
| 27 |
+
"n": 128449,
|
| 28 |
+
"covered": 58883,
|
| 29 |
+
"low": 9819,
|
| 30 |
+
"uncovered": 59747,
|
| 31 |
+
"covered_fraction": 0.45841540222189353,
|
| 32 |
+
"low_fraction": 0.0764427905238655,
|
| 33 |
+
"uncovered_fraction": 0.465141807254241,
|
| 34 |
+
"any_match_fraction": 0.534858192745759,
|
| 35 |
+
"status": "low",
|
| 36 |
+
"status_label": "低覆盖",
|
| 37 |
+
"fit_weighted_fractions": [
|
| 38 |
+
0.503315756738164,
|
| 39 |
+
0.07957139837509657,
|
| 40 |
+
0.41711284488673944
|
| 41 |
+
],
|
| 42 |
+
"equal_unit_fractions": [
|
| 43 |
+
0.22908743287582772,
|
| 44 |
+
0.07890367202942666,
|
| 45 |
+
0.6920088950947455
|
| 46 |
+
],
|
| 47 |
+
"independent_units": 29263,
|
| 48 |
+
"threshold_deg": 9.252071380615234
|
| 49 |
+
},
|
| 50 |
+
"all": {
|
| 51 |
+
"n": 214481,
|
| 52 |
+
"covered": 99408,
|
| 53 |
+
"low": 15430,
|
| 54 |
+
"uncovered": 99643,
|
| 55 |
+
"covered_fraction": 0.46348161375599706,
|
| 56 |
+
"low_fraction": 0.07194110434024459,
|
| 57 |
+
"uncovered_fraction": 0.46457728190375835,
|
| 58 |
+
"any_match_fraction": 0.5354227180962416,
|
| 59 |
+
"status": "low",
|
| 60 |
+
"status_label": "低覆盖",
|
| 61 |
+
"fit_weighted_fractions": [
|
| 62 |
+
0.5068111174712108,
|
| 63 |
+
0.07911288942163833,
|
| 64 |
+
0.41407599310715076
|
| 65 |
+
],
|
| 66 |
+
"equal_unit_fractions": [
|
| 67 |
+
0.22673415728721588,
|
| 68 |
+
0.07994906065326271,
|
| 69 |
+
0.6933167820595212
|
| 70 |
+
],
|
| 71 |
+
"independent_units": 54087
|
| 72 |
+
}
|
| 73 |
+
}
|
pose_recluster_distinct_20261014/downloads/coverage/threshold_sensitivity.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
pose_recluster_distinct_20261014/index.html
CHANGED
|
@@ -1,15 +1,16 @@
|
|
| 1 |
<!doctype html>
|
| 2 |
-
<html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>最新抽样 · 局部姿态聚类对比</title><link rel="stylesheet" href="style.css"></head>
|
| 3 |
<body>
|
| 4 |
-
<header><h1>局部姿态聚类对比 <small>2026.10.14</small></h1><div class="toolbar"><label>手侧 <select id="hand"><option value="right">右手</option><option value="left">左手</option></select></label><label>粒度 <select id="level"><option value="distinct">合并相近类后</option><option value="fine">32 个细类</option></select></label><label>骨架视角 <select id="view"><option value="oblique">斜看</option><option value="palm">掌面</option><option value="side">侧面</option></select></label><button id="reset">重置视角</button></div></header>
|
| 5 |
<nav><button data-tab="overview" class="active">两组类别</button><button data-tab="compare">逐类比较</button><button data-tab="similar">相似与合并</button><button data-tab="sources">18 行来源表</button></nav>
|
| 6 |
<main>
|
| 7 |
-
<
|
| 8 |
-
<div id="
|
|
|
|
| 9 |
<div id="similar" class="tab" hidden><div id="duplicateSummary"></div><h2>仍然相近的类</h2><p class="hint">下列类的中心相近,但继续整类合并会把部分差异较大的手指形态连在一起,因此保留并显式标记。</p><div id="relatedPairs"></div><h2>已合并的细类</h2><div id="mergeRows"></div></div>
|
| 10 |
<div id="sources" class="tab" hidden><p class="hint">8 个外部 3D 来源参与本轮聚类。ARCTIC/HOT3D 与我们组重叠;仅 2D 的来源点击直接看 RGB 关键点。</p><div class="scroll"><table id="sourceTable"></table></div><p class="hint">WiLoR 行为官方源数据代理,未声称精确复现其加工训练包。我们组三源依据已核对训练成员的来源 GT;最终 canonical 标签仍未核验。ReInterHand 的 7,600 个 test 手帧未参与聚类。</p></div>
|
| 11 |
</main>
|
| 12 |
-
<footer><a href="downloads/RESULTS_ZH.md">结果说明</a><a href="downloads/assignments.csv.gz">逐样本类别 CSV</a><a href="downloads/all_class_pairs.csv">类间距离 CSV</a><a href="downloads/REPRODUCE.md">代码与复现</a><span>数据分组并非人工手势标签;GT 来源身份与可靠性分开。</span></footer>
|
| 13 |
<dialog id="detail"><button id="closeDetail" class="close" aria-label="关闭">×</button><div id="detailBody"></div></dialog>
|
| 14 |
-
<script src="data.js"></script><script src="app.js"></script>
|
| 15 |
</body></html>
|
|
|
|
| 1 |
<!doctype html>
|
| 2 |
+
<html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>最新抽样 · 局部姿态聚类对比</title><link rel="stylesheet" href="style.coverage_v2.css"></head>
|
| 3 |
<body>
|
| 4 |
+
<header><h1>局部姿态聚类对比 <small>逐成员覆盖 · 2026.10.14</small></h1><div class="toolbar"><label>手侧 <select id="hand"><option value="right">右手</option><option value="left">左手</option></select></label><label>粒度 <select id="level"><option value="distinct">合并相近类后</option><option value="fine">32 个细类</option></select></label><label>骨架视角 <select id="view"><option value="oblique">斜看</option><option value="palm">掌面</option><option value="side">侧面</option></select></label><button id="reset">重置视角</button></div></header>
|
| 5 |
<nav><button data-tab="overview" class="active">两组类别</button><button data-tab="compare">逐类比较</button><button data-tab="similar">相似与合并</button><button data-tab="sources">18 行来源表</button></nav>
|
| 6 |
<main>
|
| 7 |
+
<section class="coverage-panel" aria-label="外部姿态覆盖"><div class="coverage-controls"><strong>WiLoR 外部类 → 我们三源+合成</strong><label>外部类筛选 <select id="coverageFilter"><option value="all">全部</option><option value="entire">整类未覆盖</option><option value="mostly_gap">未覆盖成员 ≥50%</option><option value="mostly_covered">已覆盖成员 ≥70%</option></select></label><label>排序 <select id="coverageSort"><option value="gap">未覆盖比例高 → 低</option><option value="covered">已覆盖比例高 → 低</option><option value="id">类别编号</option></select></label></div><div id="coverageSummary"></div><p class="coverage-legend"><span class="dot covered"></span>已覆盖:≥3 段独立录制有相似姿态 <span class="dot low"></span>低覆盖:只有 1–2 段 <span class="dot uncovered"></span>未覆盖:没有相似姿态</p><p class="hint">均指本次抽样库。类别内逐成员统计;未覆盖不等于 GT 可靠,也不等于全量训练集绝对缺失。</p><details id="coverageMethod"><summary>判定依据与阈值敏感性</summary><div id="coverageMethodBody"></div></details></section>
|
| 8 |
+
<div id="overview" class="tab"><div id="countTable"></div><p class="hint">点击外部类的“未覆盖成员 / 原图 / 近邻”查看具体缺口。骨架可拖动旋转;A、B 编号各自独立。</p><div class="two-groups"><section><h2 class="ours">我们:三源+EgoRenderer Ver.005 <span id="oursCount"></span></h2><div id="oursCards" class="cards"></div></section><section><h2 class="external">外部:WiLoR 可读 3D 来源 <span id="externalCount"></span></h2><div id="externalCards" class="cards"></div></section></div><details><summary>类别分布图(仅展示)</summary><p class="hint">同一掌部坐标和投影;图上距离不作为覆盖或合并依据。</p><canvas id="scatter" width="1100" height="450"></canvas></details></div>
|
| 9 |
+
<div id="compare" class="tab" hidden><p class="hint">右边是外部类;左边是它最相近的我们类。覆盖条来自该类全部成员;点击外部类查看未覆盖成员与各自的精确最近邻。</p><div id="comparisonRows"></div></div>
|
| 10 |
<div id="similar" class="tab" hidden><div id="duplicateSummary"></div><h2>仍然相近的类</h2><p class="hint">下列类的中心相近,但继续整类合并会把部分差异较大的手指形态连在一起,因此保留并显式标记。</p><div id="relatedPairs"></div><h2>已合并的细类</h2><div id="mergeRows"></div></div>
|
| 11 |
<div id="sources" class="tab" hidden><p class="hint">8 个外部 3D 来源参与本轮聚类。ARCTIC/HOT3D 与我们组重叠;仅 2D 的来源点击直接看 RGB 关键点。</p><div class="scroll"><table id="sourceTable"></table></div><p class="hint">WiLoR 行为官方源数据代理,未声称精确复现其加工训练包。我们组三源依据已核对训练成员的来源 GT;最终 canonical 标签仍未核验。ReInterHand 的 7,600 个 test 手帧未参与聚类。</p></div>
|
| 12 |
</main>
|
| 13 |
+
<footer><a href="downloads/coverage/RESULTS_ZH.md">覆盖结果</a><a href="downloads/coverage/member_coverage.csv.gz">逐成员覆盖 CSV</a><a href="downloads/coverage/class_coverage.csv">逐类覆盖 CSV</a><a href="downloads/coverage/REPRODUCE.md">覆盖复现</a><a href="downloads/RESULTS_ZH.md">结果说明</a><a href="downloads/assignments.csv.gz">逐样本类别 CSV</a><a href="downloads/all_class_pairs.csv">类间距离 CSV</a><a href="downloads/REPRODUCE.md">代码与复现</a><span>数据分组并非人工手势标签;GT 来源身份与可靠性分开。</span></footer>
|
| 14 |
<dialog id="detail"><button id="closeDetail" class="close" aria-label="关闭">×</button><div id="detailBody"></div></dialog>
|
| 15 |
+
<script src="data.coverage_v2.js"></script><script src="app.coverage_v2.js"></script>
|
| 16 |
</body></html>
|
pose_recluster_distinct_20261014/index_before_coverage.html
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>最新抽样 · 局部姿态聚类对比</title><link rel="stylesheet" href="style.css"></head>
|
| 3 |
+
<body>
|
| 4 |
+
<header><h1>局部姿态聚类对比 <small>2026.10.14</small></h1><div class="toolbar"><label>手侧 <select id="hand"><option value="right">右手</option><option value="left">左手</option></select></label><label>粒度 <select id="level"><option value="distinct">合并相近类后</option><option value="fine">32 个细类</option></select></label><label>骨架视角 <select id="view"><option value="oblique">斜看</option><option value="palm">掌面</option><option value="side">侧面</option></select></label><button id="reset">重置视角</button></div></header>
|
| 5 |
+
<nav><button data-tab="overview" class="active">两组类别</button><button data-tab="compare">逐类比较</button><button data-tab="similar">相似与合并</button><button data-tab="sources">18 行来源表</button></nav>
|
| 6 |
+
<main>
|
| 7 |
+
<div id="overview" class="tab"><div id="countTable"></div><p class="hint">点击类别查看原图、GT 叠加和最近邻。骨架可拖动旋转;A、B 编号各自独立。</p><div class="two-groups"><section><h2 class="ours">我们:三源+EgoRenderer Ver.005 <span id="oursCount"></span></h2><div id="oursCards" class="cards"></div></section><section><h2 class="external">外部:WiLoR 可读 3D 来源 <span id="externalCount"></span></h2><div id="externalCards" class="cards"></div></section></div><details><summary>类别分布图(仅展示)</summary><p class="hint">同一掌部坐标和投影;图上距离不作为覆盖或合并依据。</p><canvas id="scatter" width="1100" height="450"></canvas></details></div>
|
| 8 |
+
<div id="compare" class="tab" hidden><p class="hint">右边是外部类;左边是它最相近的我们类。点击可看真实图例;最小样本距离另列,不能把类中心距离当覆盖结论。</p><div id="comparisonRows"></div></div>
|
| 9 |
+
<div id="similar" class="tab" hidden><div id="duplicateSummary"></div><h2>仍然相近的类</h2><p class="hint">下列类的中心相近,但继续整类合并会把部分差异较大的手指形态连在一起,因此保留并显式标记。</p><div id="relatedPairs"></div><h2>已合并的细类</h2><div id="mergeRows"></div></div>
|
| 10 |
+
<div id="sources" class="tab" hidden><p class="hint">8 个外部 3D 来源参与本轮聚类。ARCTIC/HOT3D 与我们组重叠;仅 2D 的来源点击直接看 RGB 关键点。</p><div class="scroll"><table id="sourceTable"></table></div><p class="hint">WiLoR 行为官方源数据代理,未声称精确复现其加工训练包。我们组三源依据已核对训练成员的来源 GT;最终 canonical 标签仍未核验。ReInterHand 的 7,600 个 test 手帧未参与聚类。</p></div>
|
| 11 |
+
</main>
|
| 12 |
+
<footer><a href="downloads/RESULTS_ZH.md">结果说明</a><a href="downloads/assignments.csv.gz">逐样本类别 CSV</a><a href="downloads/all_class_pairs.csv">类间距离 CSV</a><a href="downloads/REPRODUCE.md">代码与复现</a><span>数据分组并非人工手势标签;GT 来源身份与可靠性分开。</span></footer>
|
| 13 |
+
<dialog id="detail"><button id="closeDetail" class="close" aria-label="关闭">×</button><div id="detailBody"></div></dialog>
|
| 14 |
+
<script src="data.js"></script><script src="app.js"></script>
|
| 15 |
+
</body></html>
|
pose_recluster_distinct_20261014/media/051488f34a7b81d90530_crop.jpg
ADDED
|
pose_recluster_distinct_20261014/media/051488f34a7b81d90530_full.jpg
ADDED
|
Git LFS Details
|
pose_recluster_distinct_20261014/media/0706b91076bbbfac27c5_crop.jpg
ADDED
|
pose_recluster_distinct_20261014/media/0706b91076bbbfac27c5_full.jpg
ADDED
|
Git LFS Details
|
pose_recluster_distinct_20261014/media/0b30c6ac8b8a0fb34665_crop.jpg
ADDED
|
pose_recluster_distinct_20261014/media/0b30c6ac8b8a0fb34665_full.jpg
ADDED
|
pose_recluster_distinct_20261014/media/0c9121f9b810877ab40a_crop.jpg
ADDED
|
pose_recluster_distinct_20261014/media/0c9121f9b810877ab40a_full.jpg
ADDED
|
Git LFS Details
|
pose_recluster_distinct_20261014/media/1155d85f7d67fdea5ca4_crop.jpg
ADDED
|