Remidesbois commited on
Commit
c4d5393
·
verified ·
1 Parent(s): 420f0ce

Upload global reading-order reranker bundle

Browse files

Adds global_bubble_order.onnx, feature schema, benchmark report, and model manifest for the 30/31 runtime-compatible reading-order reranker.

README.md CHANGED
@@ -22,26 +22,37 @@ because the worker assigns bubbles to panels before in-panel ordering.
22
  - `panel_detector.onnx`: YOLO panel detector used to assign bubbles to panels.
23
  - `panel_order.onnx`: new pairwise panel ordering ranker.
24
  - `bubble_order.onnx`: new pairwise in-panel bubble ordering ranker.
 
25
  - `model_manifest.json`: checksums, sizes, and runtime metadata.
26
  - `metrics/`: held-out evaluation reports.
27
 
28
  ## Reading Order Metrics
29
 
30
- - Test pages: 16
31
  - Panel exact order: 1.0000
32
- - Bubble exact order inside panels: 0.9818
33
- - Page full accuracy: 0.9375 (15/16)
34
 
35
  The page full-accuracy metric compares the complete predicted bubble sequence
36
  against the ground truth sequence for held-out pages.
37
 
38
  ## Detector Metrics
39
 
40
- - Panel detector mAP50: 0.9751
41
- - Panel detector mAP50-95: 0.9147
42
 
43
  ## Runtime
44
 
45
  The frontend worker loads these files from:
46
 
47
  `https://huggingface.co/Remidesbois/YoloPiece_OneShot_Models/resolve/main/<file>`
 
 
 
 
 
 
 
 
 
 
 
22
  - `panel_detector.onnx`: YOLO panel detector used to assign bubbles to panels.
23
  - `panel_order.onnx`: new pairwise panel ordering ranker.
24
  - `bubble_order.onnx`: new pairwise in-panel bubble ordering ranker.
25
+ - `global_bubble_order.onnx`: optional page-level reranker, present only when benchmark-enabled.
26
  - `model_manifest.json`: checksums, sizes, and runtime metadata.
27
  - `metrics/`: held-out evaluation reports.
28
 
29
  ## Reading Order Metrics
30
 
31
+ - Test pages: 31
32
  - Panel exact order: 1.0000
33
+ - Bubble exact order inside panels: 0.9596
34
+ - Page full accuracy: 0.8387 (26/31)
35
 
36
  The page full-accuracy metric compares the complete predicted bubble sequence
37
  against the ground truth sequence for held-out pages.
38
 
39
  ## Detector Metrics
40
 
41
+ - Panel detector mAP50: 0.9940
42
+ - Panel detector mAP50-95: 0.9861
43
 
44
  ## Runtime
45
 
46
  The frontend worker loads these files from:
47
 
48
  `https://huggingface.co/Remidesbois/YoloPiece_OneShot_Models/resolve/main/<file>`
49
+
50
+
51
+ ## Optional Global Bubble Reranker
52
+
53
+ - `global_bubble_order.onnx`: enabled by the completed benchmark.
54
+ - Feature count: 108
55
+ - Selected experiment: `global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair`
56
+ - Page full accuracy: 0.9677
57
+ - Global pairwise accuracy: 0.9993
58
+
bubble_order.onnx CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f2e58ca5a9c552478c9b0c5f391e371f95fe473a7f4e0138a6fcf327e688a6d6
3
  size 1675
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:05242809322918bc2566ab6590c02f3e829519231ba109ae767f2e54a261b1a6
3
  size 1675
documentation/reading_order_experiments.md ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Reading order experiments
2
+
3
+ Generated: 2026-07-02T21:56:08.956143+00:00
4
+
5
+ ## Current pipeline
6
+
7
+ The reference experiment is `current_panel_then_in_panel_ranker`: panel ranking,
8
+ worker-equivalent Borda pair aggregation, ground-truth panel membership, then
9
+ in-panel bubble ranking. `current_worker_assignment_gt_boxes` uses the same
10
+ ground-truth boxes but runs the browser assignment strategy before in-panel
11
+ ranking, which isolates assignment mistakes from detector mistakes.
12
+
13
+ ## Protocol
14
+
15
+ - Split source: `C:\Users\remis\Documents\Projet Git\projet-one-piece-indexer\docker_scripts\train_panel_detector\dataset\manifest.json`
16
+ - Development pages: 126
17
+ - Train pages: 101
18
+ - Validation pages: 25
19
+ - Test pages: 31
20
+ - Candidate selection uses validation metrics only. The test split is reported
21
+ as a holdout and is not used for hyperparameter choice. Train metrics are
22
+ used only as a tie-breaker when validation metrics are identical.
23
+ - Real YOLO detector simulation: not_available
24
+
25
+ ## Experiments
26
+
27
+ | Experiment | Runtime | Test full | Pairwise | Position | Exact |
28
+ |---|---:|---:|---:|---:|---:|
29
+ | global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair | yes | 0.9677 | 0.9993 | 0.9932 | 30/31 |
30
+ | global_bubble_reranker_v1__pure-logistic__borda-vertical-repair | yes | 0.9677 | 0.9993 | 0.9932 | 30/31 |
31
+ | assignment_aware_global_reranker__sklearn-logistic__borda-vertical-repair | yes | 0.9355 | 0.9986 | 0.9863 | 29/31 |
32
+ | assignment_aware_global_reranker__hist-gradient-boosting__borda-vertical-repair | no | 0.9355 | 0.9986 | 0.9863 | 29/31 |
33
+ | global_bubble_reranker_v1__sklearn-logistic__borda | yes | 0.9032 | 0.9979 | 0.9795 | 28/31 |
34
+ | global_bubble_reranker_v1__sklearn-logistic__topological | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
35
+ | global_bubble_reranker_v1__sklearn-logistic__stable-local | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
36
+ | assignment_aware_global_reranker__sklearn-logistic__topological | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
37
+ | assignment_aware_global_reranker__sklearn-logistic__stable-local | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
38
+ | global_bubble_reranker_v1__pure-logistic__borda | yes | 0.9032 | 0.9979 | 0.9795 | 28/31 |
39
+ | global_bubble_reranker_v1__pure-logistic__bradley-terry | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
40
+ | global_bubble_reranker_v1__pure-logistic__topological | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
41
+ | assignment_aware_global_reranker__pure-logistic__borda-vertical-repair | yes | 0.9032 | 0.9979 | 0.9795 | 28/31 |
42
+ | global_bubble_reranker_v1__hist-gradient-boosting__borda-vertical-repair | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
43
+ | assignment_aware_global_reranker__hist-gradient-boosting__borda | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
44
+ | assignment_aware_global_reranker__hist-gradient-boosting__bradley-terry | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
45
+ | assignment_aware_global_reranker__hist-gradient-boosting__topological | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
46
+ | assignment_aware_global_reranker__hist-gradient-boosting__stable-local | no | 0.9032 | 0.9979 | 0.9795 | 28/31 |
47
+ | current_panel_then_in_panel_ranker | yes | 0.8710 | 0.9971 | 0.9726 | 27/31 |
48
+ | current_worker_assignment_gt_boxes | yes | 0.8710 | 0.9971 | 0.9726 | 27/31 |
49
+
50
+ ## Selection
51
+
52
+ - Selected by validation: `global_bubble_reranker_v1__sklearn-logistic__stable-local`
53
+ - Selected runtime candidate: `global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair`
54
+ - Runtime decision: enabled_by_metrics
55
+ - Reason: Selected runtime-compatible candidate beat the current baseline.
56
+
57
+ ## Selected model metrics
58
+
59
+ | Split | Full | Pairwise | Position | Exact | Inversions |
60
+ |---|---:|---:|---:|---:|---:|
61
+ | train | 0.8812 | 0.9972 | 0.9736 | 89/101 | 13 |
62
+ | validation | 0.9600 | 0.9985 | 0.9844 | 24/25 | 2 |
63
+ | test | 0.9677 | 0.9993 | 0.9932 | 30/31 | 1 |
64
+
65
+
66
+ ## Baseline comparison
67
+
68
+ - Baseline: `current_panel_then_in_panel_ranker`
69
+ - Candidate: `global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair`
70
+ - Compared split: test (31 pages)
71
+ - Delta page_full_accuracy: +0.0968
72
+ - Delta page_exact_matches: +3
73
+ - Delta global_pairwise_accuracy: +0.0021
74
+ - Delta bubble_position_accuracy: +0.0205
75
+ - Delta inversion_count_total: -3
76
+ - Corrected pages: 381, 459, 496
77
+ - Regressed pages: none
78
+ - Still wrong pages: 356
79
+ - Changed but still wrong pages: none
80
+
81
+ ### Corrected pages
82
+
83
+ - page 381: inversions 1 -> 0, assignment errors 0 -> 0, outside-panel bubbles 0 -> 0
84
+ - page 459: inversions 1 -> 0, assignment errors 0 -> 0, outside-panel bubbles 0 -> 0
85
+ - page 496: inversions 1 -> 0, assignment errors 0 -> 0, outside-panel bubbles 0 -> 0
86
+
87
+ ### Regressed pages
88
+
89
+ - none
90
+
91
+ ### Remaining wrong pages
92
+
93
+ - page 356: inversions 1 -> 1, assignment errors 0 -> 2, outside-panel bubbles 0 -> 0
94
+
95
+
96
+ ## Artifacts
97
+
98
+ - Metrics: `docker_scripts/train_reading_order/metrics/reading_order_benchmark.json`
99
+ - Predictions: `docker_scripts/train_reading_order/predictions/benchmark_page_orders.json`
100
+ - Optional ONNX: `docker_scripts/train_reading_order/models/global_bubble_order.onnx`
101
+
102
+ ## Reproduction
103
+
104
+ ```powershell
105
+ python docker_scripts/train_reading_order/train_reading_order.py
106
+ python docker_scripts/train_reading_order/benchmark_reading_order.py
107
+ python docker_scripts/package_one_shot_models/prepare_and_upload.py
108
+ cd frontend
109
+ npm run lint
110
+ npm run build
111
+ ```
global_bubble_order.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:50109250ff020f8c619b282d00827c8b381f951f84267662f120ee7abad02203
3
+ size 1858
global_bubble_order_features.json ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "feature_count": 108,
3
+ "features": [
4
+ "page_a_x",
5
+ "page_a_y",
6
+ "page_a_x2",
7
+ "page_a_y2",
8
+ "page_a_cx",
9
+ "page_a_cy",
10
+ "page_a_w",
11
+ "page_a_h",
12
+ "page_a_area_ratio",
13
+ "page_a_aspect",
14
+ "page_b_x",
15
+ "page_b_y",
16
+ "page_b_x2",
17
+ "page_b_y2",
18
+ "page_b_cx",
19
+ "page_b_cy",
20
+ "page_b_w",
21
+ "page_b_h",
22
+ "page_b_area_ratio",
23
+ "page_b_aspect",
24
+ "page_dx",
25
+ "page_dy",
26
+ "page_abs_dx",
27
+ "page_abs_dy",
28
+ "page_delta_x",
29
+ "page_delta_y",
30
+ "page_delta_x2",
31
+ "page_delta_y2",
32
+ "page_delta_w",
33
+ "page_delta_h",
34
+ "page_distance",
35
+ "page_angle",
36
+ "page_overlap_x",
37
+ "page_overlap_y",
38
+ "page_a_right_of_b",
39
+ "page_a_above_b",
40
+ "page_same_y_overlap_band",
41
+ "page_same_x_overlap_band",
42
+ "page_same_reading_band",
43
+ "page_heuristic_rtl_before",
44
+ "page_heuristic_ltr_before",
45
+ "page_heuristic_direction_score",
46
+ "same_predicted_panel",
47
+ "predicted_panel_order_a",
48
+ "predicted_panel_order_b",
49
+ "delta_predicted_panel_order",
50
+ "predicted_local_order_a",
51
+ "predicted_local_order_b",
52
+ "delta_predicted_local_order",
53
+ "current_pipeline_index_a",
54
+ "current_pipeline_index_b",
55
+ "delta_current_pipeline_index",
56
+ "relative_a_in_panel_x",
57
+ "relative_a_in_panel_y",
58
+ "relative_a_in_panel_x2",
59
+ "relative_a_in_panel_y2",
60
+ "relative_a_in_panel_cx",
61
+ "relative_a_in_panel_cy",
62
+ "relative_a_in_panel_w",
63
+ "relative_a_in_panel_h",
64
+ "relative_a_in_panel_area_ratio",
65
+ "relative_a_in_panel_aspect",
66
+ "relative_b_in_panel_x",
67
+ "relative_b_in_panel_y",
68
+ "relative_b_in_panel_x2",
69
+ "relative_b_in_panel_y2",
70
+ "relative_b_in_panel_cx",
71
+ "relative_b_in_panel_cy",
72
+ "relative_b_in_panel_w",
73
+ "relative_b_in_panel_h",
74
+ "relative_b_in_panel_area_ratio",
75
+ "relative_b_in_panel_aspect",
76
+ "predicted_panel_a_x",
77
+ "predicted_panel_a_y",
78
+ "predicted_panel_a_x2",
79
+ "predicted_panel_a_y2",
80
+ "predicted_panel_a_cx",
81
+ "predicted_panel_a_cy",
82
+ "predicted_panel_a_w",
83
+ "predicted_panel_a_h",
84
+ "predicted_panel_a_area_ratio",
85
+ "predicted_panel_a_aspect",
86
+ "predicted_panel_b_x",
87
+ "predicted_panel_b_y",
88
+ "predicted_panel_b_x2",
89
+ "predicted_panel_b_y2",
90
+ "predicted_panel_b_cx",
91
+ "predicted_panel_b_cy",
92
+ "predicted_panel_b_w",
93
+ "predicted_panel_b_h",
94
+ "predicted_panel_b_area_ratio",
95
+ "predicted_panel_b_aspect",
96
+ "bubble_confidence_a",
97
+ "bubble_confidence_b",
98
+ "panel_confidence_a",
99
+ "panel_confidence_b",
100
+ "assignment_a_center_in_panel",
101
+ "assignment_a_overlap_area_ratio",
102
+ "assignment_a_distance_to_panel_center",
103
+ "assignment_a_border_distance",
104
+ "assignment_a_second_best_panel_margin",
105
+ "assignment_a_overlap_panel_count",
106
+ "assignment_b_center_in_panel",
107
+ "assignment_b_overlap_area_ratio",
108
+ "assignment_b_distance_to_panel_center",
109
+ "assignment_b_border_distance",
110
+ "assignment_b_second_best_panel_margin",
111
+ "assignment_b_overlap_panel_count"
112
+ ],
113
+ "experiment": "global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair",
114
+ "postprocess": {
115
+ "name": "vertical_small_bubble_repair_v1",
116
+ "gap_factor": 1.5,
117
+ "max_y_overlap": 0.05,
118
+ "max_area_ratio": 0.7
119
+ }
120
+ }
global_bubble_order_model.json ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "kind": "sklearn_pairwise_ranker",
3
+ "name": "global_bubble_reranker_v1__sklearn-logistic",
4
+ "model_type": "sklearn-logistic",
5
+ "created_at": "2026-07-02T21:56:08.938446+00:00",
6
+ "metadata": {
7
+ "experiment": "global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair",
8
+ "feature_schema": [
9
+ "page_a_x",
10
+ "page_a_y",
11
+ "page_a_x2",
12
+ "page_a_y2",
13
+ "page_a_cx",
14
+ "page_a_cy",
15
+ "page_a_w",
16
+ "page_a_h",
17
+ "page_a_area_ratio",
18
+ "page_a_aspect",
19
+ "page_b_x",
20
+ "page_b_y",
21
+ "page_b_x2",
22
+ "page_b_y2",
23
+ "page_b_cx",
24
+ "page_b_cy",
25
+ "page_b_w",
26
+ "page_b_h",
27
+ "page_b_area_ratio",
28
+ "page_b_aspect",
29
+ "page_dx",
30
+ "page_dy",
31
+ "page_abs_dx",
32
+ "page_abs_dy",
33
+ "page_delta_x",
34
+ "page_delta_y",
35
+ "page_delta_x2",
36
+ "page_delta_y2",
37
+ "page_delta_w",
38
+ "page_delta_h",
39
+ "page_distance",
40
+ "page_angle",
41
+ "page_overlap_x",
42
+ "page_overlap_y",
43
+ "page_a_right_of_b",
44
+ "page_a_above_b",
45
+ "page_same_y_overlap_band",
46
+ "page_same_x_overlap_band",
47
+ "page_same_reading_band",
48
+ "page_heuristic_rtl_before",
49
+ "page_heuristic_ltr_before",
50
+ "page_heuristic_direction_score",
51
+ "same_predicted_panel",
52
+ "predicted_panel_order_a",
53
+ "predicted_panel_order_b",
54
+ "delta_predicted_panel_order",
55
+ "predicted_local_order_a",
56
+ "predicted_local_order_b",
57
+ "delta_predicted_local_order",
58
+ "current_pipeline_index_a",
59
+ "current_pipeline_index_b",
60
+ "delta_current_pipeline_index",
61
+ "relative_a_in_panel_x",
62
+ "relative_a_in_panel_y",
63
+ "relative_a_in_panel_x2",
64
+ "relative_a_in_panel_y2",
65
+ "relative_a_in_panel_cx",
66
+ "relative_a_in_panel_cy",
67
+ "relative_a_in_panel_w",
68
+ "relative_a_in_panel_h",
69
+ "relative_a_in_panel_area_ratio",
70
+ "relative_a_in_panel_aspect",
71
+ "relative_b_in_panel_x",
72
+ "relative_b_in_panel_y",
73
+ "relative_b_in_panel_x2",
74
+ "relative_b_in_panel_y2",
75
+ "relative_b_in_panel_cx",
76
+ "relative_b_in_panel_cy",
77
+ "relative_b_in_panel_w",
78
+ "relative_b_in_panel_h",
79
+ "relative_b_in_panel_area_ratio",
80
+ "relative_b_in_panel_aspect",
81
+ "predicted_panel_a_x",
82
+ "predicted_panel_a_y",
83
+ "predicted_panel_a_x2",
84
+ "predicted_panel_a_y2",
85
+ "predicted_panel_a_cx",
86
+ "predicted_panel_a_cy",
87
+ "predicted_panel_a_w",
88
+ "predicted_panel_a_h",
89
+ "predicted_panel_a_area_ratio",
90
+ "predicted_panel_a_aspect",
91
+ "predicted_panel_b_x",
92
+ "predicted_panel_b_y",
93
+ "predicted_panel_b_x2",
94
+ "predicted_panel_b_y2",
95
+ "predicted_panel_b_cx",
96
+ "predicted_panel_b_cy",
97
+ "predicted_panel_b_w",
98
+ "predicted_panel_b_h",
99
+ "predicted_panel_b_area_ratio",
100
+ "predicted_panel_b_aspect",
101
+ "bubble_confidence_a",
102
+ "bubble_confidence_b",
103
+ "panel_confidence_a",
104
+ "panel_confidence_b",
105
+ "assignment_a_center_in_panel",
106
+ "assignment_a_overlap_area_ratio",
107
+ "assignment_a_distance_to_panel_center",
108
+ "assignment_a_border_distance",
109
+ "assignment_a_second_best_panel_margin",
110
+ "assignment_a_overlap_panel_count",
111
+ "assignment_b_center_in_panel",
112
+ "assignment_b_overlap_area_ratio",
113
+ "assignment_b_distance_to_panel_center",
114
+ "assignment_b_border_distance",
115
+ "assignment_b_second_best_panel_margin",
116
+ "assignment_b_overlap_panel_count"
117
+ ],
118
+ "selection": "validation",
119
+ "test_metrics": {
120
+ "page_full_accuracy": 0.967741935483871,
121
+ "page_exact_matches": 30,
122
+ "page_count": 31,
123
+ "bubble_position_accuracy": 0.9931506849315068,
124
+ "bubble_position_correct": 290,
125
+ "bubble_position_total": 292,
126
+ "global_pairwise_accuracy": 0.9992862241256245,
127
+ "global_pairwise_correct": 1400,
128
+ "global_pairwise_total": 1401,
129
+ "kendall_tau_distance_mean": 0.03225806451612903,
130
+ "inversion_count_total": 1,
131
+ "panel_order_full_accuracy": 1.0,
132
+ "bubble_within_panel_full_accuracy": 0.98989898989899,
133
+ "error_categories": {
134
+ "wrong_panel_order": {
135
+ "pages": 0,
136
+ "rate": 0.0
137
+ },
138
+ "wrong_order_in_panel": {
139
+ "pages": 1,
140
+ "rate": 0.03225806451612903
141
+ },
142
+ "wrong_bubble_panel_assignment": {
143
+ "pages": 1,
144
+ "rate": 0.03225806451612903
145
+ },
146
+ "bubble_outside_panel": {
147
+ "pages": 0,
148
+ "rate": 0.0
149
+ },
150
+ "empty_or_missing_panels": {
151
+ "pages": 10,
152
+ "rate": 0.3225806451612903
153
+ },
154
+ "fallback_mangaOrderSort_used": {
155
+ "pages": 0,
156
+ "rate": 0.0
157
+ }
158
+ }
159
+ },
160
+ "postprocess": {
161
+ "name": "vertical_small_bubble_repair_v1",
162
+ "gap_factor": 1.5,
163
+ "max_y_overlap": 0.05,
164
+ "max_area_ratio": 0.7
165
+ }
166
+ }
167
+ }
metrics/panel_detector_metrics.json CHANGED
@@ -1,8 +1,8 @@
1
  {
2
  "kind": "panel_detector_training_metrics",
3
- "created_at": "2026-05-29T17:24:41.403513+00:00",
4
- "started_at": "2026-05-29T17:22:48.710846+00:00",
5
- "training_seconds": 108.79357385635376,
6
  "model_name": "yolo26n.pt",
7
  "dataset_yaml": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\dataset\\data.yaml",
8
  "imgsz": 800,
@@ -10,42 +10,42 @@
10
  "batch": 16,
11
  "patience": 20,
12
  "device": "0",
13
- "run_dir": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel2",
14
- "best_model": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel2\\weights\\best.pt",
15
- "last_model": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel2\\weights\\last.pt",
16
- "onnx_model": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel2\\weights\\best.onnx",
17
  "test": {
18
  "split": "test",
19
- "precision": 0.9667429946979765,
20
- "recall": 0.8941176470588236,
21
- "f1": 0.9290131161180457,
22
- "mAP50": 0.975130184992951,
23
- "mAP50-95": 0.9146741095335409,
24
- "fitness": 0.9146741095335409,
25
  "speed_ms": {
26
- "preprocess": 1.0220187396043912,
27
- "inference": 3.6570812517311424,
28
- "loss": 0.00021874438971281052,
29
- "postprocess": 0.08551249629817903
30
  },
31
  "raw": {
32
- "metrics/precision(B)": 0.9667429946979765,
33
- "metrics/recall(B)": 0.8941176470588236,
34
- "metrics/mAP50(B)": 0.975130184992951,
35
- "metrics/mAP50-95(B)": 0.9146741095335409,
36
- "fitness": 0.9146741095335409
37
  },
38
  "per_class": [
39
  {
40
  "class_id": 0,
41
  "class_name": "panel",
42
- "precision": 0.9667429946979765,
43
- "recall": 0.8941176470588236,
44
- "f1": 0.9290131161180457,
45
- "mAP50": 0.975130184992951,
46
- "mAP50-95": 0.9146741095335409
47
  }
48
  ],
49
- "save_dir": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\eval\\yolo26n_panel_test2"
50
  }
51
  }
 
1
  {
2
  "kind": "panel_detector_training_metrics",
3
+ "created_at": "2026-07-02T20:24:53.146010+00:00",
4
+ "started_at": "2026-07-02T20:21:26.454977+00:00",
5
+ "training_seconds": 201.44488549232483,
6
  "model_name": "yolo26n.pt",
7
  "dataset_yaml": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\dataset\\data.yaml",
8
  "imgsz": 800,
 
10
  "batch": 16,
11
  "patience": 20,
12
  "device": "0",
13
+ "run_dir": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel3",
14
+ "best_model": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel3\\weights\\best.pt",
15
+ "last_model": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel3\\weights\\last.pt",
16
+ "onnx_model": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\yolo26n_panel3\\weights\\best.onnx",
17
  "test": {
18
  "split": "test",
19
+ "precision": 0.9795184747289132,
20
+ "recall": 0.9801324503311258,
21
+ "f1": 0.9798253663480834,
22
+ "mAP50": 0.9940366112707735,
23
+ "mAP50-95": 0.986110385292093,
24
+ "fitness": 0.986110385292093,
25
  "speed_ms": {
26
+ "preprocess": 2.6662500022212043,
27
+ "inference": 7.567143748019589,
28
+ "loss": 0.00032812749850563705,
29
+ "postprocess": 0.1320750016020611
30
  },
31
  "raw": {
32
+ "metrics/precision(B)": 0.9795184747289132,
33
+ "metrics/recall(B)": 0.9801324503311258,
34
+ "metrics/mAP50(B)": 0.9940366112707735,
35
+ "metrics/mAP50-95(B)": 0.986110385292093,
36
+ "fitness": 0.986110385292093
37
  },
38
  "per_class": [
39
  {
40
  "class_id": 0,
41
  "class_name": "panel",
42
+ "precision": 0.9795184747289132,
43
+ "recall": 0.9801324503311258,
44
+ "f1": 0.9798253663480834,
45
+ "mAP50": 0.9940366112707735,
46
+ "mAP50-95": 0.986110385292093
47
  }
48
  ],
49
+ "save_dir": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\runs\\eval\\yolo26n_panel_test3"
50
  }
51
  }
metrics/reading_order_benchmark.json ADDED
The diff for this file is too large to render. See raw diff
 
metrics/reading_order_metrics.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "kind": "reading_order_training_metrics",
3
- "created_at": "2026-05-29T17:24:55.138914+00:00",
4
  "annotations": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\panel_annotation_dataset\\panel_annotations.json",
5
  "split_source": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\dataset\\manifest.json",
6
  "seed": 42,
@@ -10,84 +10,66 @@
10
  "note": "Final page_full_accuracy evaluates ordering only: ground-truth panel and bubble boxes/assignments are used, then the trained panel and bubble rankers predict order. Optional manga RTL/top-to-bottom priors and clear-vertical bubble overrides are selected only on training pages; selected values are recorded in heuristic_blend.",
11
  "skipped_pages": {
12
  "missing_size": 0,
13
- "missing_panels": 701,
14
  "missing_bubbles": 3,
15
  "invalid_panel": 0
16
  },
17
  "dataset": {
18
  "all": {
19
- "pages": 79,
20
- "panels": 407,
21
- "bubbles": 821,
22
- "multi_bubble_panels": 266
23
  },
24
  "train": {
25
- "pages": 63,
26
- "panels": 322,
27
- "bubbles": 654,
28
- "multi_bubble_panels": 211
29
  },
30
  "test": {
31
- "pages": 16,
32
- "panels": 85,
33
- "bubbles": 167,
34
- "multi_bubble_panels": 55
35
  }
36
  },
37
  "train_page_ids": [
38
- 269,
39
  271,
40
  273,
41
  275,
42
  276,
43
  277,
 
44
  279,
45
- 281,
46
- 283,
47
- 284,
48
- 286,
49
- 287,
50
- 288,
51
- 289,
52
- 290,
53
- 291,
54
- 292,
55
- 294,
56
- 295,
57
- 296,
58
- 297,
59
- 298,
60
- 299,
61
- 301,
62
- 303,
63
- 304,
64
- 305,
65
- 307,
66
  308,
67
  309,
68
  310,
69
  311,
70
- 312,
71
- 313,
72
- 314,
73
  315,
74
  316,
75
  317,
76
  318,
 
 
77
  339,
 
 
78
  343,
79
- 344,
80
  345,
 
81
  347,
82
  348,
83
  349,
84
  350,
85
  351,
86
  353,
 
87
  355,
88
- 356,
89
  357,
90
  358,
 
91
  360,
92
  361,
93
  363,
@@ -97,35 +79,136 @@
97
  368,
98
  369,
99
  370,
100
- 371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  ],
102
  "test_page_ids": [
103
- 278,
104
- 282,
105
- 285,
106
- 293,
107
- 300,
108
- 302,
109
- 306,
110
- 319,
111
- 338,
112
- 341,
113
- 342,
114
- 346,
115
  352,
116
- 354,
117
- 359,
118
- 367
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  ],
120
  "pairs": {
121
- "panel_train": 1434,
122
- "panel_test": 426,
123
- "bubble_train": 1110,
124
- "bubble_test": 276
125
  },
126
  "heuristic_blend": {
127
  "candidate_weights": [
128
- 0.0
 
 
 
 
 
129
  ],
130
  "vertical_override_candidates": [
131
  null,
@@ -140,19 +223,19 @@
140
  "selection_metric": "train page_full_accuracy, tie-broken by panel accuracy, bubble accuracy, lower total blend weight, and no/smaller override",
141
  "selected_train_ordering": {
142
  "panel_order_full_accuracy": 1.0,
143
- "bubble_within_panel_full_accuracy": 0.9715639810426541,
144
- "page_full_accuracy": 0.9047619047619048,
145
- "page_exact_matches": 57,
146
- "page_count": 63,
147
- "bubble_position_accuracy": 0.981651376146789,
148
- "bubble_position_correct": 642,
149
- "bubble_position_total": 654
150
  }
151
  },
152
  "panel_order": {
153
  "training": {
154
  "model_type": "sklearn-logistic",
155
- "samples": 1434,
156
  "feature_count": 42,
157
  "sklearn_available": true
158
  },
@@ -162,38 +245,38 @@
162
  "bubble_order": {
163
  "training": {
164
  "model_type": "sklearn-logistic",
165
- "samples": 1110,
166
  "feature_count": 94,
167
  "sklearn_available": true
168
  },
169
- "train_pair_accuracy": 0.9873873873873874,
170
- "test_pair_accuracy": 0.9927536231884058
171
  },
172
  "train_ordering": {
173
  "panel_order_full_accuracy": 1.0,
174
- "bubble_within_panel_full_accuracy": 0.9715639810426541,
175
- "page_full_accuracy": 0.9047619047619048,
176
- "page_exact_matches": 57,
177
- "page_count": 63,
178
- "bubble_position_accuracy": 0.981651376146789,
179
- "bubble_position_correct": 642,
180
- "bubble_position_total": 654
181
  },
182
  "test_ordering": {
183
  "panel_order_full_accuracy": 1.0,
184
- "bubble_within_panel_full_accuracy": 0.9818181818181818,
185
- "page_full_accuracy": 0.9375,
186
- "page_exact_matches": 15,
187
- "page_count": 16,
188
- "bubble_position_accuracy": 0.9880239520958084,
189
- "bubble_position_correct": 165,
190
- "bubble_position_total": 167
191
  },
192
  "primary_metric": {
193
  "name": "page_full_accuracy",
194
- "value": 0.9375,
195
- "exact_matches": 15,
196
- "page_count": 16
197
  },
198
  "onnx_models": {
199
  "panel_order": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_reading_order\\models\\panel_order.onnx",
 
1
  {
2
  "kind": "reading_order_training_metrics",
3
+ "created_at": "2026-07-02T20:26:16.681837+00:00",
4
  "annotations": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\panel_annotation_dataset\\panel_annotations.json",
5
  "split_source": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_panel_detector\\dataset\\manifest.json",
6
  "seed": 42,
 
10
  "note": "Final page_full_accuracy evaluates ordering only: ground-truth panel and bubble boxes/assignments are used, then the trained panel and bubble rankers predict order. Optional manga RTL/top-to-bottom priors and clear-vertical bubble overrides are selected only on training pages; selected values are recorded in heuristic_blend.",
11
  "skipped_pages": {
12
  "missing_size": 0,
13
+ "missing_panels": 703,
14
  "missing_bubbles": 3,
15
  "invalid_panel": 0
16
  },
17
  "dataset": {
18
  "all": {
19
+ "pages": 157,
20
+ "panels": 759,
21
+ "bubbles": 1496,
22
+ "multi_bubble_panels": 498
23
  },
24
  "train": {
25
+ "pages": 126,
26
+ "panels": 613,
27
+ "bubbles": 1204,
28
+ "multi_bubble_panels": 399
29
  },
30
  "test": {
31
+ "pages": 31,
32
+ "panels": 146,
33
+ "bubbles": 292,
34
+ "multi_bubble_panels": 99
35
  }
36
  },
37
  "train_page_ids": [
 
38
  271,
39
  273,
40
  275,
41
  276,
42
  277,
43
+ 278,
44
  279,
45
+ 300,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  308,
47
  309,
48
  310,
49
  311,
 
 
 
50
  315,
51
  316,
52
  317,
53
  318,
54
+ 319,
55
+ 338,
56
  339,
57
+ 341,
58
+ 342,
59
  343,
 
60
  345,
61
+ 346,
62
  347,
63
  348,
64
  349,
65
  350,
66
  351,
67
  353,
68
+ 354,
69
  355,
 
70
  357,
71
  358,
72
+ 359,
73
  360,
74
  361,
75
  363,
 
79
  368,
80
  369,
81
  370,
82
+ 371,
83
+ 372,
84
+ 373,
85
+ 374,
86
+ 375,
87
+ 377,
88
+ 378,
89
+ 379,
90
+ 380,
91
+ 383,
92
+ 397,
93
+ 398,
94
+ 399,
95
+ 402,
96
+ 403,
97
+ 404,
98
+ 406,
99
+ 407,
100
+ 408,
101
+ 409,
102
+ 410,
103
+ 411,
104
+ 417,
105
+ 418,
106
+ 420,
107
+ 421,
108
+ 422,
109
+ 424,
110
+ 425,
111
+ 428,
112
+ 429,
113
+ 431,
114
+ 433,
115
+ 434,
116
+ 435,
117
+ 436,
118
+ 437,
119
+ 438,
120
+ 439,
121
+ 441,
122
+ 443,
123
+ 444,
124
+ 445,
125
+ 446,
126
+ 447,
127
+ 448,
128
+ 449,
129
+ 450,
130
+ 451,
131
+ 452,
132
+ 453,
133
+ 454,
134
+ 455,
135
+ 456,
136
+ 458,
137
+ 461,
138
+ 463,
139
+ 464,
140
+ 465,
141
+ 466,
142
+ 467,
143
+ 468,
144
+ 470,
145
+ 472,
146
+ 473,
147
+ 476,
148
+ 477,
149
+ 478,
150
+ 480,
151
+ 484,
152
+ 485,
153
+ 486,
154
+ 487,
155
+ 488,
156
+ 489,
157
+ 490,
158
+ 492,
159
+ 493,
160
+ 494,
161
+ 497,
162
+ 498,
163
+ 499
164
  ],
165
  "test_page_ids": [
166
+ 269,
167
+ 281,
168
+ 312,
169
+ 313,
170
+ 314,
171
+ 344,
 
 
 
 
 
 
172
  352,
173
+ 356,
174
+ 367,
175
+ 376,
176
+ 381,
177
+ 382,
178
+ 400,
179
+ 405,
180
+ 419,
181
+ 423,
182
+ 430,
183
+ 432,
184
+ 440,
185
+ 457,
186
+ 459,
187
+ 460,
188
+ 469,
189
+ 471,
190
+ 474,
191
+ 479,
192
+ 482,
193
+ 483,
194
+ 491,
195
+ 495,
196
+ 496
197
  ],
198
  "pairs": {
199
+ "panel_train": 2570,
200
+ "panel_test": 598,
201
+ "bubble_train": 1990,
202
+ "bubble_test": 464
203
  },
204
  "heuristic_blend": {
205
  "candidate_weights": [
206
+ 0.0,
207
+ 0.1,
208
+ 0.2,
209
+ 0.3,
210
+ 0.4,
211
+ 0.5
212
  ],
213
  "vertical_override_candidates": [
214
  null,
 
223
  "selection_metric": "train page_full_accuracy, tie-broken by panel accuracy, bubble accuracy, lower total blend weight, and no/smaller override",
224
  "selected_train_ordering": {
225
  "panel_order_full_accuracy": 1.0,
226
+ "bubble_within_panel_full_accuracy": 0.9649122807017544,
227
+ "page_full_accuracy": 0.8650793650793651,
228
+ "page_exact_matches": 109,
229
+ "page_count": 126,
230
+ "bubble_position_accuracy": 0.967607973421927,
231
+ "bubble_position_correct": 1165,
232
+ "bubble_position_total": 1204
233
  }
234
  },
235
  "panel_order": {
236
  "training": {
237
  "model_type": "sklearn-logistic",
238
+ "samples": 2570,
239
  "feature_count": 42,
240
  "sklearn_available": true
241
  },
 
245
  "bubble_order": {
246
  "training": {
247
  "model_type": "sklearn-logistic",
248
+ "samples": 1990,
249
  "feature_count": 94,
250
  "sklearn_available": true
251
  },
252
+ "train_pair_accuracy": 0.985929648241206,
253
+ "test_pair_accuracy": 0.9849137931034483
254
  },
255
  "train_ordering": {
256
  "panel_order_full_accuracy": 1.0,
257
+ "bubble_within_panel_full_accuracy": 0.9649122807017544,
258
+ "page_full_accuracy": 0.8650793650793651,
259
+ "page_exact_matches": 109,
260
+ "page_count": 126,
261
+ "bubble_position_accuracy": 0.967607973421927,
262
+ "bubble_position_correct": 1165,
263
+ "bubble_position_total": 1204
264
  },
265
  "test_ordering": {
266
  "panel_order_full_accuracy": 1.0,
267
+ "bubble_within_panel_full_accuracy": 0.9595959595959596,
268
+ "page_full_accuracy": 0.8387096774193549,
269
+ "page_exact_matches": 26,
270
+ "page_count": 31,
271
+ "bubble_position_accuracy": 0.9657534246575342,
272
+ "bubble_position_correct": 282,
273
+ "bubble_position_total": 292
274
  },
275
  "primary_metric": {
276
  "name": "page_full_accuracy",
277
+ "value": 0.8387096774193549,
278
+ "exact_matches": 26,
279
+ "page_count": 31
280
  },
281
  "onnx_models": {
282
  "panel_order": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_reading_order\\models\\panel_order.onnx",
model_manifest.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "repo_id": "Remidesbois/YoloPiece_OneShot_Models",
3
- "created_at": "2026-05-29T17:28:25.274681+00:00",
4
  "runtime": "onnxruntime-web",
5
  "models": {
6
  "bubble_detector.onnx": {
@@ -11,24 +11,852 @@
11
  "panel_detector.onnx": {
12
  "path": "panel_detector.onnx",
13
  "size_bytes": 9899051,
14
- "sha256": "16ba658979d9aec47235653e623aded8b14d4740601f823c8e1d40f735618b84"
15
  },
16
  "panel_order.onnx": {
17
  "path": "panel_order.onnx",
18
  "size_bytes": 1049,
19
- "sha256": "5c142a9052ca6d01089f6b2240bc2f0cf2307a8138bad6e0e3412b90b7c070e1"
20
  },
21
  "bubble_order.onnx": {
22
  "path": "bubble_order.onnx",
23
  "size_bytes": 1675,
24
- "sha256": "f2e58ca5a9c552478c9b0c5f391e371f95fe473a7f4e0138a6fcf327e688a6d6"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  }
26
  },
27
  "metrics": {
28
  "reading_order": "metrics/reading_order_metrics.json",
29
- "panel_detector": "metrics/panel_detector_metrics.json"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  },
31
  "source_repos": {
32
- "bubble_detector": "Remidesbois/YoloPiece_BubbleDetector_Nano"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  }
34
  }
 
1
  {
2
  "repo_id": "Remidesbois/YoloPiece_OneShot_Models",
3
+ "created_at": "2026-07-02T22:07:13.459093+00:00",
4
  "runtime": "onnxruntime-web",
5
  "models": {
6
  "bubble_detector.onnx": {
 
11
  "panel_detector.onnx": {
12
  "path": "panel_detector.onnx",
13
  "size_bytes": 9899051,
14
+ "sha256": "5518a0ff3adb64c0744f17f4227547b027d59345fba60e686b3a0bf2afd15f61"
15
  },
16
  "panel_order.onnx": {
17
  "path": "panel_order.onnx",
18
  "size_bytes": 1049,
19
+ "sha256": "6bf81020d3f5e74837eb716b524145b89541589a41c131279eef89dc4b968a89"
20
  },
21
  "bubble_order.onnx": {
22
  "path": "bubble_order.onnx",
23
  "size_bytes": 1675,
24
+ "sha256": "05242809322918bc2566ab6590c02f3e829519231ba109ae767f2e54a261b1a6"
25
+ },
26
+ "global_bubble_order.onnx": {
27
+ "path": "global_bubble_order.onnx",
28
+ "size_bytes": 1858,
29
+ "sha256": "50109250ff020f8c619b282d00827c8b381f951f84267662f120ee7abad02203",
30
+ "feature_count": 108,
31
+ "postprocess": {
32
+ "name": "vertical_small_bubble_repair_v1",
33
+ "gap_factor": 1.5,
34
+ "max_y_overlap": 0.05,
35
+ "max_area_ratio": 0.7
36
+ },
37
+ "enabled_by_default": true,
38
+ "benchmark_summary": {
39
+ "created_at": "2026-07-02T21:56:08.956143+00:00",
40
+ "status": "complete",
41
+ "baseline": {
42
+ "name": "current_panel_then_in_panel_ranker",
43
+ "family": "current_pipeline",
44
+ "runtime_compatible": true,
45
+ "page_full_accuracy": 0.8709677419354839,
46
+ "page_exact_matches": 27,
47
+ "page_count": 31,
48
+ "global_pairwise_accuracy": 0.9971448965024983,
49
+ "bubble_position_accuracy": 0.9726027397260274,
50
+ "panel_order_full_accuracy": 1.0,
51
+ "bubble_within_panel_full_accuracy": 0.9595959595959596,
52
+ "kendall_tau_distance_mean": 0.12903225806451613,
53
+ "ranker_type": "sklearn-logistic",
54
+ "reconstruction_method": "borda",
55
+ "feature_count": null
56
+ },
57
+ "selected_runtime_candidate": {
58
+ "name": "global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair",
59
+ "family": "global_bubble_reranker_v1",
60
+ "description": "global_bubble_reranker_v1 using sklearn-logistic and borda-vertical-repair.",
61
+ "runtime_compatible": true,
62
+ "ranker_type": "sklearn-logistic",
63
+ "reconstruction_method": "borda-vertical-repair",
64
+ "feature_count": 108,
65
+ "metrics": {
66
+ "train": {
67
+ "page_full_accuracy": 0.8811881188118812,
68
+ "page_exact_matches": 89,
69
+ "page_count": 101,
70
+ "bubble_position_accuracy": 0.9736286919831224,
71
+ "bubble_position_correct": 923,
72
+ "bubble_position_total": 948,
73
+ "global_pairwise_accuracy": 0.9972198460222412,
74
+ "global_pairwise_correct": 4663,
75
+ "global_pairwise_total": 4676,
76
+ "kendall_tau_distance_mean": 0.12871287128712872,
77
+ "inversion_count_total": 13,
78
+ "panel_order_full_accuracy": 1.0,
79
+ "bubble_within_panel_full_accuracy": 0.9746031746031746,
80
+ "error_categories": {
81
+ "wrong_panel_order": {
82
+ "pages": 0,
83
+ "rate": 0.0
84
+ },
85
+ "wrong_order_in_panel": {
86
+ "pages": 8,
87
+ "rate": 0.07920792079207921
88
+ },
89
+ "wrong_bubble_panel_assignment": {
90
+ "pages": 7,
91
+ "rate": 0.06930693069306931
92
+ },
93
+ "bubble_outside_panel": {
94
+ "pages": 0,
95
+ "rate": 0.0
96
+ },
97
+ "empty_or_missing_panels": {
98
+ "pages": 40,
99
+ "rate": 0.39603960396039606
100
+ },
101
+ "fallback_mangaOrderSort_used": {
102
+ "pages": 0,
103
+ "rate": 0.0
104
+ }
105
+ }
106
+ },
107
+ "validation": {
108
+ "page_full_accuracy": 0.96,
109
+ "page_exact_matches": 24,
110
+ "page_count": 25,
111
+ "bubble_position_accuracy": 0.984375,
112
+ "bubble_position_correct": 252,
113
+ "bubble_position_total": 256,
114
+ "global_pairwise_accuracy": 0.9985029940119761,
115
+ "global_pairwise_correct": 1334,
116
+ "global_pairwise_total": 1336,
117
+ "kendall_tau_distance_mean": 0.08,
118
+ "inversion_count_total": 2,
119
+ "panel_order_full_accuracy": 1.0,
120
+ "bubble_within_panel_full_accuracy": 0.9761904761904762,
121
+ "error_categories": {
122
+ "wrong_panel_order": {
123
+ "pages": 0,
124
+ "rate": 0.0
125
+ },
126
+ "wrong_order_in_panel": {
127
+ "pages": 1,
128
+ "rate": 0.04
129
+ },
130
+ "wrong_bubble_panel_assignment": {
131
+ "pages": 0,
132
+ "rate": 0.0
133
+ },
134
+ "bubble_outside_panel": {
135
+ "pages": 0,
136
+ "rate": 0.0
137
+ },
138
+ "empty_or_missing_panels": {
139
+ "pages": 4,
140
+ "rate": 0.16
141
+ },
142
+ "fallback_mangaOrderSort_used": {
143
+ "pages": 0,
144
+ "rate": 0.0
145
+ }
146
+ }
147
+ },
148
+ "test": {
149
+ "page_full_accuracy": 0.967741935483871,
150
+ "page_exact_matches": 30,
151
+ "page_count": 31,
152
+ "bubble_position_accuracy": 0.9931506849315068,
153
+ "bubble_position_correct": 290,
154
+ "bubble_position_total": 292,
155
+ "global_pairwise_accuracy": 0.9992862241256245,
156
+ "global_pairwise_correct": 1400,
157
+ "global_pairwise_total": 1401,
158
+ "kendall_tau_distance_mean": 0.03225806451612903,
159
+ "inversion_count_total": 1,
160
+ "panel_order_full_accuracy": 1.0,
161
+ "bubble_within_panel_full_accuracy": 0.98989898989899,
162
+ "error_categories": {
163
+ "wrong_panel_order": {
164
+ "pages": 0,
165
+ "rate": 0.0
166
+ },
167
+ "wrong_order_in_panel": {
168
+ "pages": 1,
169
+ "rate": 0.03225806451612903
170
+ },
171
+ "wrong_bubble_panel_assignment": {
172
+ "pages": 1,
173
+ "rate": 0.03225806451612903
174
+ },
175
+ "bubble_outside_panel": {
176
+ "pages": 0,
177
+ "rate": 0.0
178
+ },
179
+ "empty_or_missing_panels": {
180
+ "pages": 10,
181
+ "rate": 0.3225806451612903
182
+ },
183
+ "fallback_mangaOrderSort_used": {
184
+ "pages": 0,
185
+ "rate": 0.0
186
+ }
187
+ }
188
+ }
189
+ },
190
+ "training": {
191
+ "model_type": "sklearn-logistic",
192
+ "samples": 9352,
193
+ "feature_count": 108,
194
+ "sklearn_available": true
195
+ }
196
+ },
197
+ "baseline_comparison": {
198
+ "split": "test",
199
+ "baseline_experiment": "current_panel_then_in_panel_ranker",
200
+ "candidate_experiment": "global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair",
201
+ "common_page_count": 31,
202
+ "metric_deltas": {
203
+ "page_full_accuracy": 0.09677419354838712,
204
+ "page_exact_matches": 3,
205
+ "bubble_position_accuracy": 0.020547945205479423,
206
+ "global_pairwise_accuracy": 0.0021413276231262435,
207
+ "kendall_tau_distance_mean": -0.0967741935483871,
208
+ "inversion_count_total": -3
209
+ },
210
+ "corrected_pages": [
211
+ {
212
+ "page_id": 381,
213
+ "ground_truth_bubble_order": [
214
+ 1129,
215
+ 1130,
216
+ 1131,
217
+ 1132,
218
+ 1133,
219
+ 1134,
220
+ 1135,
221
+ 1136,
222
+ 1137
223
+ ],
224
+ "baseline_predicted_bubble_order": [
225
+ 1129,
226
+ 1130,
227
+ 1131,
228
+ 1133,
229
+ 1132,
230
+ 1134,
231
+ 1135,
232
+ 1136,
233
+ 1137
234
+ ],
235
+ "candidate_predicted_bubble_order": [
236
+ 1129,
237
+ 1130,
238
+ 1131,
239
+ 1132,
240
+ 1133,
241
+ 1134,
242
+ 1135,
243
+ 1136,
244
+ 1137
245
+ ],
246
+ "baseline_inversions": 1,
247
+ "candidate_inversions": 0,
248
+ "baseline_assignment_errors": [],
249
+ "candidate_assignment_errors": [],
250
+ "baseline_outside_panel_bubbles": [],
251
+ "candidate_outside_panel_bubbles": [],
252
+ "baseline_fallback_used": false,
253
+ "candidate_fallback_used": false
254
+ },
255
+ {
256
+ "page_id": 459,
257
+ "ground_truth_bubble_order": [
258
+ 1817,
259
+ 1818,
260
+ 1819,
261
+ 1820,
262
+ 1822,
263
+ 1821,
264
+ 1823,
265
+ 1824,
266
+ 1825,
267
+ 1826
268
+ ],
269
+ "baseline_predicted_bubble_order": [
270
+ 1817,
271
+ 1818,
272
+ 1819,
273
+ 1820,
274
+ 1822,
275
+ 1821,
276
+ 1823,
277
+ 1824,
278
+ 1826,
279
+ 1825
280
+ ],
281
+ "candidate_predicted_bubble_order": [
282
+ 1817,
283
+ 1818,
284
+ 1819,
285
+ 1820,
286
+ 1822,
287
+ 1821,
288
+ 1823,
289
+ 1824,
290
+ 1825,
291
+ 1826
292
+ ],
293
+ "baseline_inversions": 1,
294
+ "candidate_inversions": 0,
295
+ "baseline_assignment_errors": [],
296
+ "candidate_assignment_errors": [],
297
+ "baseline_outside_panel_bubbles": [],
298
+ "candidate_outside_panel_bubbles": [],
299
+ "baseline_fallback_used": false,
300
+ "candidate_fallback_used": false
301
+ },
302
+ {
303
+ "page_id": 496,
304
+ "ground_truth_bubble_order": [
305
+ 2172,
306
+ 2173,
307
+ 2174,
308
+ 2175,
309
+ 2178,
310
+ 2179,
311
+ 2180,
312
+ 2176,
313
+ 2177,
314
+ 2181
315
+ ],
316
+ "baseline_predicted_bubble_order": [
317
+ 2172,
318
+ 2173,
319
+ 2174,
320
+ 2175,
321
+ 2179,
322
+ 2178,
323
+ 2180,
324
+ 2176,
325
+ 2177,
326
+ 2181
327
+ ],
328
+ "candidate_predicted_bubble_order": [
329
+ 2172,
330
+ 2173,
331
+ 2174,
332
+ 2175,
333
+ 2178,
334
+ 2179,
335
+ 2180,
336
+ 2176,
337
+ 2177,
338
+ 2181
339
+ ],
340
+ "baseline_inversions": 1,
341
+ "candidate_inversions": 0,
342
+ "baseline_assignment_errors": [],
343
+ "candidate_assignment_errors": [],
344
+ "baseline_outside_panel_bubbles": [],
345
+ "candidate_outside_panel_bubbles": [],
346
+ "baseline_fallback_used": false,
347
+ "candidate_fallback_used": false
348
+ }
349
+ ],
350
+ "regressed_pages": [],
351
+ "still_wrong_pages": [
352
+ {
353
+ "page_id": 356,
354
+ "ground_truth_bubble_order": [
355
+ 785,
356
+ 786,
357
+ 787,
358
+ 788,
359
+ 789,
360
+ 790,
361
+ 791,
362
+ 792,
363
+ 793,
364
+ 794
365
+ ],
366
+ "baseline_predicted_bubble_order": [
367
+ 786,
368
+ 785,
369
+ 787,
370
+ 788,
371
+ 789,
372
+ 790,
373
+ 791,
374
+ 792,
375
+ 793,
376
+ 794
377
+ ],
378
+ "candidate_predicted_bubble_order": [
379
+ 786,
380
+ 785,
381
+ 787,
382
+ 788,
383
+ 789,
384
+ 790,
385
+ 791,
386
+ 792,
387
+ 793,
388
+ 794
389
+ ],
390
+ "baseline_inversions": 1,
391
+ "candidate_inversions": 1,
392
+ "baseline_assignment_errors": [],
393
+ "candidate_assignment_errors": [
394
+ 793,
395
+ 794
396
+ ],
397
+ "baseline_outside_panel_bubbles": [],
398
+ "candidate_outside_panel_bubbles": [],
399
+ "baseline_fallback_used": false,
400
+ "candidate_fallback_used": false
401
+ }
402
+ ],
403
+ "changed_but_still_wrong_pages": []
404
+ },
405
+ "runtime_decision": {
406
+ "status": "enabled_by_metrics",
407
+ "reason": "Selected runtime-compatible candidate beat the current baseline.",
408
+ "exported_onnx": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_reading_order\\models\\global_bubble_order.onnx",
409
+ "parity": {
410
+ "checked_samples": 32,
411
+ "max_abs_diff": 7.509450335838283e-08,
412
+ "tolerance": 1e-05
413
+ },
414
+ "feature_count": 108,
415
+ "postprocess": {
416
+ "name": "vertical_small_bubble_repair_v1",
417
+ "gap_factor": 1.5,
418
+ "max_y_overlap": 0.05,
419
+ "max_area_ratio": 0.7
420
+ }
421
+ }
422
+ }
423
  }
424
  },
425
  "metrics": {
426
  "reading_order": "metrics/reading_order_metrics.json",
427
+ "panel_detector": "metrics/panel_detector_metrics.json",
428
+ "reading_order_benchmark": "metrics/reading_order_benchmark.json"
429
+ },
430
+ "reading_order": {
431
+ "global_bubble_order": {
432
+ "path": "global_bubble_order.onnx",
433
+ "enabled_by_default": true,
434
+ "feature_count": 108,
435
+ "postprocess": {
436
+ "name": "vertical_small_bubble_repair_v1",
437
+ "gap_factor": 1.5,
438
+ "max_y_overlap": 0.05,
439
+ "max_area_ratio": 0.7
440
+ },
441
+ "benchmark_summary": {
442
+ "created_at": "2026-07-02T21:56:08.956143+00:00",
443
+ "status": "complete",
444
+ "baseline": {
445
+ "name": "current_panel_then_in_panel_ranker",
446
+ "family": "current_pipeline",
447
+ "runtime_compatible": true,
448
+ "page_full_accuracy": 0.8709677419354839,
449
+ "page_exact_matches": 27,
450
+ "page_count": 31,
451
+ "global_pairwise_accuracy": 0.9971448965024983,
452
+ "bubble_position_accuracy": 0.9726027397260274,
453
+ "panel_order_full_accuracy": 1.0,
454
+ "bubble_within_panel_full_accuracy": 0.9595959595959596,
455
+ "kendall_tau_distance_mean": 0.12903225806451613,
456
+ "ranker_type": "sklearn-logistic",
457
+ "reconstruction_method": "borda",
458
+ "feature_count": null
459
+ },
460
+ "selected_runtime_candidate": {
461
+ "name": "global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair",
462
+ "family": "global_bubble_reranker_v1",
463
+ "description": "global_bubble_reranker_v1 using sklearn-logistic and borda-vertical-repair.",
464
+ "runtime_compatible": true,
465
+ "ranker_type": "sklearn-logistic",
466
+ "reconstruction_method": "borda-vertical-repair",
467
+ "feature_count": 108,
468
+ "metrics": {
469
+ "train": {
470
+ "page_full_accuracy": 0.8811881188118812,
471
+ "page_exact_matches": 89,
472
+ "page_count": 101,
473
+ "bubble_position_accuracy": 0.9736286919831224,
474
+ "bubble_position_correct": 923,
475
+ "bubble_position_total": 948,
476
+ "global_pairwise_accuracy": 0.9972198460222412,
477
+ "global_pairwise_correct": 4663,
478
+ "global_pairwise_total": 4676,
479
+ "kendall_tau_distance_mean": 0.12871287128712872,
480
+ "inversion_count_total": 13,
481
+ "panel_order_full_accuracy": 1.0,
482
+ "bubble_within_panel_full_accuracy": 0.9746031746031746,
483
+ "error_categories": {
484
+ "wrong_panel_order": {
485
+ "pages": 0,
486
+ "rate": 0.0
487
+ },
488
+ "wrong_order_in_panel": {
489
+ "pages": 8,
490
+ "rate": 0.07920792079207921
491
+ },
492
+ "wrong_bubble_panel_assignment": {
493
+ "pages": 7,
494
+ "rate": 0.06930693069306931
495
+ },
496
+ "bubble_outside_panel": {
497
+ "pages": 0,
498
+ "rate": 0.0
499
+ },
500
+ "empty_or_missing_panels": {
501
+ "pages": 40,
502
+ "rate": 0.39603960396039606
503
+ },
504
+ "fallback_mangaOrderSort_used": {
505
+ "pages": 0,
506
+ "rate": 0.0
507
+ }
508
+ }
509
+ },
510
+ "validation": {
511
+ "page_full_accuracy": 0.96,
512
+ "page_exact_matches": 24,
513
+ "page_count": 25,
514
+ "bubble_position_accuracy": 0.984375,
515
+ "bubble_position_correct": 252,
516
+ "bubble_position_total": 256,
517
+ "global_pairwise_accuracy": 0.9985029940119761,
518
+ "global_pairwise_correct": 1334,
519
+ "global_pairwise_total": 1336,
520
+ "kendall_tau_distance_mean": 0.08,
521
+ "inversion_count_total": 2,
522
+ "panel_order_full_accuracy": 1.0,
523
+ "bubble_within_panel_full_accuracy": 0.9761904761904762,
524
+ "error_categories": {
525
+ "wrong_panel_order": {
526
+ "pages": 0,
527
+ "rate": 0.0
528
+ },
529
+ "wrong_order_in_panel": {
530
+ "pages": 1,
531
+ "rate": 0.04
532
+ },
533
+ "wrong_bubble_panel_assignment": {
534
+ "pages": 0,
535
+ "rate": 0.0
536
+ },
537
+ "bubble_outside_panel": {
538
+ "pages": 0,
539
+ "rate": 0.0
540
+ },
541
+ "empty_or_missing_panels": {
542
+ "pages": 4,
543
+ "rate": 0.16
544
+ },
545
+ "fallback_mangaOrderSort_used": {
546
+ "pages": 0,
547
+ "rate": 0.0
548
+ }
549
+ }
550
+ },
551
+ "test": {
552
+ "page_full_accuracy": 0.967741935483871,
553
+ "page_exact_matches": 30,
554
+ "page_count": 31,
555
+ "bubble_position_accuracy": 0.9931506849315068,
556
+ "bubble_position_correct": 290,
557
+ "bubble_position_total": 292,
558
+ "global_pairwise_accuracy": 0.9992862241256245,
559
+ "global_pairwise_correct": 1400,
560
+ "global_pairwise_total": 1401,
561
+ "kendall_tau_distance_mean": 0.03225806451612903,
562
+ "inversion_count_total": 1,
563
+ "panel_order_full_accuracy": 1.0,
564
+ "bubble_within_panel_full_accuracy": 0.98989898989899,
565
+ "error_categories": {
566
+ "wrong_panel_order": {
567
+ "pages": 0,
568
+ "rate": 0.0
569
+ },
570
+ "wrong_order_in_panel": {
571
+ "pages": 1,
572
+ "rate": 0.03225806451612903
573
+ },
574
+ "wrong_bubble_panel_assignment": {
575
+ "pages": 1,
576
+ "rate": 0.03225806451612903
577
+ },
578
+ "bubble_outside_panel": {
579
+ "pages": 0,
580
+ "rate": 0.0
581
+ },
582
+ "empty_or_missing_panels": {
583
+ "pages": 10,
584
+ "rate": 0.3225806451612903
585
+ },
586
+ "fallback_mangaOrderSort_used": {
587
+ "pages": 0,
588
+ "rate": 0.0
589
+ }
590
+ }
591
+ }
592
+ },
593
+ "training": {
594
+ "model_type": "sklearn-logistic",
595
+ "samples": 9352,
596
+ "feature_count": 108,
597
+ "sklearn_available": true
598
+ }
599
+ },
600
+ "baseline_comparison": {
601
+ "split": "test",
602
+ "baseline_experiment": "current_panel_then_in_panel_ranker",
603
+ "candidate_experiment": "global_bubble_reranker_v1__sklearn-logistic__borda-vertical-repair",
604
+ "common_page_count": 31,
605
+ "metric_deltas": {
606
+ "page_full_accuracy": 0.09677419354838712,
607
+ "page_exact_matches": 3,
608
+ "bubble_position_accuracy": 0.020547945205479423,
609
+ "global_pairwise_accuracy": 0.0021413276231262435,
610
+ "kendall_tau_distance_mean": -0.0967741935483871,
611
+ "inversion_count_total": -3
612
+ },
613
+ "corrected_pages": [
614
+ {
615
+ "page_id": 381,
616
+ "ground_truth_bubble_order": [
617
+ 1129,
618
+ 1130,
619
+ 1131,
620
+ 1132,
621
+ 1133,
622
+ 1134,
623
+ 1135,
624
+ 1136,
625
+ 1137
626
+ ],
627
+ "baseline_predicted_bubble_order": [
628
+ 1129,
629
+ 1130,
630
+ 1131,
631
+ 1133,
632
+ 1132,
633
+ 1134,
634
+ 1135,
635
+ 1136,
636
+ 1137
637
+ ],
638
+ "candidate_predicted_bubble_order": [
639
+ 1129,
640
+ 1130,
641
+ 1131,
642
+ 1132,
643
+ 1133,
644
+ 1134,
645
+ 1135,
646
+ 1136,
647
+ 1137
648
+ ],
649
+ "baseline_inversions": 1,
650
+ "candidate_inversions": 0,
651
+ "baseline_assignment_errors": [],
652
+ "candidate_assignment_errors": [],
653
+ "baseline_outside_panel_bubbles": [],
654
+ "candidate_outside_panel_bubbles": [],
655
+ "baseline_fallback_used": false,
656
+ "candidate_fallback_used": false
657
+ },
658
+ {
659
+ "page_id": 459,
660
+ "ground_truth_bubble_order": [
661
+ 1817,
662
+ 1818,
663
+ 1819,
664
+ 1820,
665
+ 1822,
666
+ 1821,
667
+ 1823,
668
+ 1824,
669
+ 1825,
670
+ 1826
671
+ ],
672
+ "baseline_predicted_bubble_order": [
673
+ 1817,
674
+ 1818,
675
+ 1819,
676
+ 1820,
677
+ 1822,
678
+ 1821,
679
+ 1823,
680
+ 1824,
681
+ 1826,
682
+ 1825
683
+ ],
684
+ "candidate_predicted_bubble_order": [
685
+ 1817,
686
+ 1818,
687
+ 1819,
688
+ 1820,
689
+ 1822,
690
+ 1821,
691
+ 1823,
692
+ 1824,
693
+ 1825,
694
+ 1826
695
+ ],
696
+ "baseline_inversions": 1,
697
+ "candidate_inversions": 0,
698
+ "baseline_assignment_errors": [],
699
+ "candidate_assignment_errors": [],
700
+ "baseline_outside_panel_bubbles": [],
701
+ "candidate_outside_panel_bubbles": [],
702
+ "baseline_fallback_used": false,
703
+ "candidate_fallback_used": false
704
+ },
705
+ {
706
+ "page_id": 496,
707
+ "ground_truth_bubble_order": [
708
+ 2172,
709
+ 2173,
710
+ 2174,
711
+ 2175,
712
+ 2178,
713
+ 2179,
714
+ 2180,
715
+ 2176,
716
+ 2177,
717
+ 2181
718
+ ],
719
+ "baseline_predicted_bubble_order": [
720
+ 2172,
721
+ 2173,
722
+ 2174,
723
+ 2175,
724
+ 2179,
725
+ 2178,
726
+ 2180,
727
+ 2176,
728
+ 2177,
729
+ 2181
730
+ ],
731
+ "candidate_predicted_bubble_order": [
732
+ 2172,
733
+ 2173,
734
+ 2174,
735
+ 2175,
736
+ 2178,
737
+ 2179,
738
+ 2180,
739
+ 2176,
740
+ 2177,
741
+ 2181
742
+ ],
743
+ "baseline_inversions": 1,
744
+ "candidate_inversions": 0,
745
+ "baseline_assignment_errors": [],
746
+ "candidate_assignment_errors": [],
747
+ "baseline_outside_panel_bubbles": [],
748
+ "candidate_outside_panel_bubbles": [],
749
+ "baseline_fallback_used": false,
750
+ "candidate_fallback_used": false
751
+ }
752
+ ],
753
+ "regressed_pages": [],
754
+ "still_wrong_pages": [
755
+ {
756
+ "page_id": 356,
757
+ "ground_truth_bubble_order": [
758
+ 785,
759
+ 786,
760
+ 787,
761
+ 788,
762
+ 789,
763
+ 790,
764
+ 791,
765
+ 792,
766
+ 793,
767
+ 794
768
+ ],
769
+ "baseline_predicted_bubble_order": [
770
+ 786,
771
+ 785,
772
+ 787,
773
+ 788,
774
+ 789,
775
+ 790,
776
+ 791,
777
+ 792,
778
+ 793,
779
+ 794
780
+ ],
781
+ "candidate_predicted_bubble_order": [
782
+ 786,
783
+ 785,
784
+ 787,
785
+ 788,
786
+ 789,
787
+ 790,
788
+ 791,
789
+ 792,
790
+ 793,
791
+ 794
792
+ ],
793
+ "baseline_inversions": 1,
794
+ "candidate_inversions": 1,
795
+ "baseline_assignment_errors": [],
796
+ "candidate_assignment_errors": [
797
+ 793,
798
+ 794
799
+ ],
800
+ "baseline_outside_panel_bubbles": [],
801
+ "candidate_outside_panel_bubbles": [],
802
+ "baseline_fallback_used": false,
803
+ "candidate_fallback_used": false
804
+ }
805
+ ],
806
+ "changed_but_still_wrong_pages": []
807
+ },
808
+ "runtime_decision": {
809
+ "status": "enabled_by_metrics",
810
+ "reason": "Selected runtime-compatible candidate beat the current baseline.",
811
+ "exported_onnx": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_reading_order\\models\\global_bubble_order.onnx",
812
+ "parity": {
813
+ "checked_samples": 32,
814
+ "max_abs_diff": 7.509450335838283e-08,
815
+ "tolerance": 1e-05
816
+ },
817
+ "feature_count": 108,
818
+ "postprocess": {
819
+ "name": "vertical_small_bubble_repair_v1",
820
+ "gap_factor": 1.5,
821
+ "max_y_overlap": 0.05,
822
+ "max_area_ratio": 0.7
823
+ }
824
+ }
825
+ },
826
+ "runtime_decision": {
827
+ "status": "enabled_by_metrics",
828
+ "reason": "Selected runtime-compatible candidate beat the current baseline.",
829
+ "exported_onnx": "C:\\Users\\remis\\Documents\\Projet Git\\projet-one-piece-indexer\\docker_scripts\\train_reading_order\\models\\global_bubble_order.onnx",
830
+ "parity": {
831
+ "checked_samples": 32,
832
+ "max_abs_diff": 7.509450335838283e-08,
833
+ "tolerance": 1e-05
834
+ },
835
+ "feature_count": 108,
836
+ "postprocess": {
837
+ "name": "vertical_small_bubble_repair_v1",
838
+ "gap_factor": 1.5,
839
+ "max_y_overlap": 0.05,
840
+ "max_area_ratio": 0.7
841
+ }
842
+ }
843
+ }
844
  },
845
  "source_repos": {
846
+ "bubble_detector": "Remidesbois/YoloPiece_BubbleDetector_Nano",
847
+ "baseline_fallback": "Remidesbois/YoloPiece_OneShot_Models"
848
+ },
849
+ "artifact_sources": {
850
+ "bubble_detector.onnx": "hf:Remidesbois/YoloPiece_BubbleDetector_Nano/onepiece_detector_nano.onnx",
851
+ "panel_detector.onnx": "local",
852
+ "panel_order.onnx": "local",
853
+ "bubble_order.onnx": "local",
854
+ "metrics/panel_detector_metrics.json": "local",
855
+ "metrics/reading_order_metrics.json": "local",
856
+ "metrics/reading_order_benchmark.json": "generated",
857
+ "documentation/reading_order_experiments.md": "generated",
858
+ "global_bubble_order.onnx": "local",
859
+ "global_bubble_order_model.json": "local",
860
+ "global_bubble_order_features.json": "local"
861
  }
862
  }
panel_detector.onnx CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:16ba658979d9aec47235653e623aded8b14d4740601f823c8e1d40f735618b84
3
  size 9899051
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5518a0ff3adb64c0744f17f4227547b027d59345fba60e686b3a0bf2afd15f61
3
  size 9899051
panel_order.onnx CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5c142a9052ca6d01089f6b2240bc2f0cf2307a8138bad6e0e3412b90b7c070e1
3
  size 1049
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6bf81020d3f5e74837eb716b524145b89541589a41c131279eef89dc4b968a89
3
  size 1049