genshiai-daichi commited on
Commit
ca966fd
·
verified ·
1 Parent(s): ea5058e

Honest eval update: clean held-out en/zh (toe-to-toe with 0.9B), corrected hero charts

Browse files
Files changed (4) hide show
  1. README.md +15 -22
  2. README_ja.md +29 -32
  3. assets/hero-en.png +2 -2
  4. assets/hero-ja.png +2 -2
README.md CHANGED
@@ -19,16 +19,16 @@ pipeline_tag: image-to-text
19
 
20
  English · [日本語](./README_ja.md)
21
 
22
- **Baberu OCR reads the text inside a manga speech bubble.** One 115M model, three languages, and on independent ground truth it beats the 0.9B models it learned from.
23
 
24
- ![Baberu OCR: 115M beats its teachers across Japanese, English, and Chinese](./assets/hero-en.png)
25
 
26
  Most manga OCR is Japanese-only and assumes clean horizontal lines. Real doujinshi bubbles are not that. They run vertical, pack in sound effects, switch scripts mid-sentence, and mix full-width and half-width characters. Baberu was trained for exactly that, in Japanese, Chinese, and English at once.
27
 
28
  **At a glance**
29
 
30
- - **Three languages, one checkpoint** (ja / zh / en). Lowest lenient character-error-rate of every model compared, in all three.
31
- - **115M parameters**, about one-eighth the size of the 0.9B vision-language models it beats.
32
  - **Character-level** (14,630-symbol vocab), so sound effects and rare kanji never hit a tokenizer wall.
33
  - **Local and small.** Apache-2.0, shipped as a 121 MB or 242 MB ONNX build that needs only `onnxruntime`, `numpy`, and `pillow`.
34
 
@@ -57,7 +57,7 @@ Freeze the vision encoder, train the decoder, then unfreeze the encoder and keep
57
 
58
  ## Benchmarks
59
 
60
- Teacher labels would grade their own homework, so every number here is measured against independent ground truth. Japanese uses the human-labeled Manga109-v2026. English and Chinese were re-annotated by hand. The metric is lCER (lenient character-error-rate: NFKC, whitespace stripped, decorative symbols dropped, dot-runs unified), lower is better. Baberu saw none of these sets in training.
61
 
62
  **Japanese, Manga109-v2026 (n=2000)**
63
 
@@ -68,27 +68,20 @@ Teacher labels would grade their own homework, so every number here is measured
68
  | manga-ocr *(its teacher)* | 110M | 0.0422 | 0.0954 |
69
  | PP-OCRv5 | ~10M | 0.6317 | 0.6491 |
70
 
71
- **English, in-domain doujin, hand-annotated (n=80)**
72
 
73
- | model | size | lCER ↓ | exact ↑ |
74
- |---|---|---|---|
75
- | **Baberu OCR** | **115M** | **0.0177** | **0.89** |
76
- | PaddleOCR-VL *(its teacher)* | 0.9B | 0.0268 | 0.88 |
77
- | PP-OCRv5 | ~10M | 0.0975 | 0.63 |
78
- | PaddleOCR-VL-For-Manga | 0.9B | 0.1140 | 0.41 |
79
- | manga-ocr | 110M | 0.2987 | 0.24 |
80
 
81
- **Chinese, in-domain doujin, hand-annotated (n=77)**
82
 
83
- | model | size | lCER | nCER |
84
- |---|---|---|---|
85
- | **Baberu OCR** | **115M** | **0.0868** | **0.1244** |
86
- | PaddleOCR-VL *(its teacher)* | 0.9B | 0.1013 | 0.1808 |
87
- | PaddleOCR-VL-For-Manga | 0.9B | 0.1168 | 0.1605 |
88
- | manga-ocr | 110M | 0.2506 | 0.2518 |
89
- | PP-OCRv5 | ~10M | 0.5639 | 0.5778 |
90
 
91
- Among models its size or smaller, Baberu wins all three languages. The only thing that beats it is eight times larger, and only in two narrow places: strict exact-match in Japanese, and clean print far outside its domain (next section). On Japanese it also clears its actual teacher, manga-ocr, on every metric. `PaddleOCR-VL-For-Manga` posts a lower Japanese number but trained on Manga109, so that score is a data leak and sits out.
92
 
93
  ### Where it loses
94
 
 
19
 
20
  English · [日本語](./README_ja.md)
21
 
22
+ **Baberu OCR reads the text inside a manga speech bubble.** One 115M model, three languages. On the public Japanese benchmark it beats the specialist it was distilled from (manga-ocr); on Chinese and English it goes toe-to-toe with a general model 8× its size — all measured on independent ground truth.
23
 
24
+ ![Baberu OCR: a 115M multilingual manga-bubble reader](./assets/hero-en.png)
25
 
26
  Most manga OCR is Japanese-only and assumes clean horizontal lines. Real doujinshi bubbles are not that. They run vertical, pack in sound effects, switch scripts mid-sentence, and mix full-width and half-width characters. Baberu was trained for exactly that, in Japanese, Chinese, and English at once.
27
 
28
  **At a glance**
29
 
30
+ - **Three languages, one checkpoint** (ja / zh / en). Lowest character-error-rate of every model compared on Japanese; on Chinese and English it matches a model 8× its size on the typical bubble, and is more robust.
31
+ - **115M parameters**, about one-eighth the size of the 0.9B vision-language models it goes toe-to-toe with.
32
  - **Character-level** (14,630-symbol vocab), so sound effects and rare kanji never hit a tokenizer wall.
33
  - **Local and small.** Apache-2.0, shipped as a 121 MB or 242 MB ONNX build that needs only `onnxruntime`, `numpy`, and `pillow`.
34
 
 
57
 
58
  ## Benchmarks
59
 
60
+ Teacher labels would grade their own homework, so every number here is measured against independent ground truth, on images the model never trained on. Japanese uses the public human-labeled Manga109-v2026. For Chinese and English we built a fresh held-out set from galleries published *after* the training cutoff (IDs above the training maximum — zero overlap) and re-annotated every crop by hand, with the teacher output hidden. The metric is lCER (lenient character-error-rate: NFKC, whitespace stripped, decorative symbols dropped, dot-runs unified), lower is better.
61
 
62
  **Japanese, Manga109-v2026 (n=2000)**
63
 
 
68
  | manga-ocr *(its teacher)* | 110M | 0.0422 | 0.0954 |
69
  | PP-OCRv5 | ~10M | 0.6317 | 0.6491 |
70
 
71
+ On Japanese, Baberu beats its actual teacher, manga-ocr, on every metric, and edges the 0.9B on lenient CER. The 0.9B stays ahead on the stricter nCER and on exact-match — it is eight times larger. `PaddleOCR-VL-For-Manga` posts a lower Japanese number but trained on Manga109, so that score is a data leak and sits out.
72
 
73
+ **Chinese and English, held-out doujin, hand-annotated**
 
 
 
 
 
 
74
 
75
+ Two ways to count, because they disagree and the disagreement *is* the result. Per-bubble averages the error over each bubble (the unit a bubble reader delivers); char-weighted weights by total characters (long passages dominate). PaddleOCR-VL is Baberu's Chinese/English teacher.
76
 
77
+ | metric | zh: Baberu 115M | zh: PaddleOCR-VL 0.9B | en: Baberu 115M | en: PaddleOCR-VL 0.9B |
78
+ |---|---|---|---|---|
79
+ | per-bubble lCER | **0.052** | 0.077 | **0.062** | 0.081 |
80
+ | char-weighted lCER | 0.043 | **0.030** | 0.033 | **0.028** |
81
+ | exact-match | **0.85** | 0.83 | **0.82** | 0.79 |
82
+ | n | 246 | | 237 | |
 
83
 
84
+ Per bubble, the 115M student wins both languages and gets more bubbles exactly right; it also never melted into a repetition loop, while the 0.9B did on two short English bubbles. Per character, the 0.9B wins both it reads long passages better. Call it **toe-to-toe with a model its size**: ahead and more reliable on the typical bubble, behind on long text.
85
 
86
  ### Where it loses
87
 
README_ja.md CHANGED
@@ -20,9 +20,11 @@ pipeline_tag: image-to-text
20
  日本語 · [English](./README.md)
21
 
22
  マンガの吹き出しから文字を読み取る、115M の OCR モデルです。
23
- 日本語・中国語・英語を1つのモデルで扱い、独立した評価データでは学習元にした 0.9B 級の教師モデルを上回りした
 
 
24
 
25
- ![Baberu OCR: 115Mで教師を上回る(日本・英語・中国語)](./assets/hero-ja.png)
26
 
27
  マンガ向けの OCR はほとんどが日本語専用で、横書きのきれいな行を前提にしています。
28
  ですが実際の同人誌の吹き出しはそうではありません。
@@ -31,8 +33,8 @@ Baberu はこうした吹き出しを、日本語・中国語・英語まとめ
31
 
32
  ## 特長
33
 
34
- - **3言語を1モデルで**(ja / zh / en)。比較したモデル中で、3言語すべて緩和文字誤り率(lCER)が最小でし
35
- - **115M パラメータ**。上回った 0.9B 級 VLM の、およそ8分の1のサイズです。
36
  - **文字単位(char-level、語彙 14,630)** なので、擬音や稀少漢字でトークナイザの未知語問題が起きません。
37
  - **軽量・ローカル動作**。Apache-2.0 ライセンス。ONNX は 121MB または 242MB で、依存は onnxruntime・numpy・pillow だけです。
38
 
@@ -63,10 +65,10 @@ decoder はフルスクラッチで学習しました(6層、grouped-query att
63
 
64
  ## ベンチマーク
65
 
66
- 教師が作ったラベルで採点すると身内採点になってしまうので、すべて独立した正解データで測りました。
67
- 日本語は人手ラベルの Manga109-v2026、英語と中国語は教師ラベルを使わず人手で再注釈したものです
68
- 指標 lCER(緩和文字誤率: NFKC 正規化・空白除去・装飾記号除去・連続統一)、低いほど良い値です
69
- どのデータも Baberu は学習に使ってません
70
 
71
  **日本語、Manga109-v2026 (n=2000)**
72
 
@@ -77,33 +79,28 @@ decoder はフルスクラッチで学習しました(6層、grouped-query att
77
  | manga-ocr *(教師)* | 110M | 0.0422 | 0.0954 |
78
  | PP-OCRv5 | ~10M | 0.6317 | 0.6491 |
79
 
80
- **英語、in-domain doujin人手GT (n=80)**
 
 
81
 
82
- | model | size | lCER ↓ | 完全一致 ↑ |
83
- |---|---|---|---|
84
- | **Baberu OCR** | **115M** | **0.0177** | **0.89** |
85
- | PaddleOCR-VL *(教師)* | 0.9B | 0.0268 | 0.88 |
86
- | PP-OCRv5 | ~10M | 0.0975 | 0.63 |
87
- | PaddleOCR-VL-For-Manga | 0.9B | 0.1140 | 0.41 |
88
- | manga-ocr | 110M | 0.2987 | 0.24 |
89
 
90
- **中国語in-domain doujin、人手GT (n=77)**
 
 
 
91
 
92
- | model | size | lCER | nCER |
93
- |---|---|---|---|
94
- | **Baberu OCR** | **115M** | **0.0868** | **0.1244** |
95
- | PaddleOCR-VL *(教師)* | 0.9B | 0.1013 | 0.1808 |
96
- | PaddleOCR-VL-For-Manga | 0.9B | 0.1168 | 0.1605 |
97
- | manga-ocr | 110M | 0.2506 | 0.2518 |
98
- | PP-OCRv5 | ~10M | 0.5639 | 0.5778 |
99
-
100
- 同じか小さいサイズのモデルの中では、Baberu が3言語すべてで最が高結果でした。
101
- これを上回るのは8倍のサイズのモデルだけ、しかも上回られるの2点だけです。
102
- 日本語厳密な完全一致と、学習ドメインから外れた印字(次節)です。
103
- 日本語では、本来の教師である manga-ocr にはすべての指標で勝っています。
104
- なお PaddleOCR-VL-For-Manga は日本語でさらに低い値を出しますが、Manga109 を学習に使っておりデータリークにあたるため除外しました。
105
-
106
- 英語・中国語のどちらでも、教師である 0.9B モデルを8分の1のサイズで上回りました。
107
 
108
  ### 苦手なところ
109
 
 
20
  日本語 · [English](./README.md)
21
 
22
  マンガの吹き出しから文字を読み取る、115M の OCR モデルです。
23
+ 日本語・中国語・英語を1つのモデルで扱いま
24
+ 日本語の公開ベンチマークでは学習元の教師(manga-ocr)を上回り、中国語と英語では8倍サイズの汎用モデルと互角に渡り合います。
25
+ いずれも独立した評価データでの結果です。
26
 
27
+ ![Baberu OCR: 115M の多言マンガ吹き出し OCR](./assets/hero-ja.png)
28
 
29
  マンガ向けの OCR はほとんどが日本語専用で、横書きのきれいな行を前提にしています。
30
  ですが実際の同人誌の吹き出しはそうではありません。
 
33
 
34
  ## 特長
35
 
36
+ - **3言語を1モデルで**(ja / zh / en)。日本語では比較したモデル中で文字誤り率が最小。中国語・英語は8倍サイズのモデルと、ふつうの吹き出で互角です
37
+ - **115M パラメータ**。互角に渡り合う 0.9B 級 VLM の、およそ8分の1のサイズです。
38
  - **文字単位(char-level、語彙 14,630)** なので、擬音や稀少漢字でトークナイザの未知語問題が起きません。
39
  - **軽量・ローカル動作**。Apache-2.0 ライセンス。ONNX は 121MB または 242MB で、依存は onnxruntime・numpy・pillow だけです。
40
 
 
65
 
66
  ## ベンチマーク
67
 
68
+ 教師が作ったラベルで採点すると身内採点になので、すべて独立した正解データで、しかもモデルが学習していない画像で測りました。
69
+ 日本語は公開・人手ラベルの Manga109-v2026。
70
+ 中国語と英語、学習の締め切より後に公開されたギャラリー(ID が学習時最大値より大きく、重複ゼロ)から新しくホールアウを作り、教師出力を伏せて全 crop を人手注釈し直しました
71
+ 指標は lCER(緩和文字誤り率: NFKC・空白除去・装飾記号の除去・ドット連続の統一)で、低ほど良い値です
72
 
73
  **日本語、Manga109-v2026 (n=2000)**
74
 
 
79
  | manga-ocr *(教師)* | 110M | 0.0422 | 0.0954 |
80
  | PP-OCRv5 | ~10M | 0.6317 | 0.6491 |
81
 
82
+ 日本では本来の教師である manga-ocr に全指標で勝ち緩和 CER では 0.9B も上回ります。
83
+ より厳密な nCER と完全一致では、8倍サイズの 0.9B が前に出ます。
84
+ (`PaddleOCR-VL-For-Manga` はさらに低い値を出しますが、Manga109 を学習に使っておりデータリークなので除外します。)
85
 
86
+ **中国語・英語、ホールドアウト同人、人手注釈**
 
 
 
 
 
 
87
 
88
+ 数え方で結論が変わりその食い違い自体が結果です。
89
+ 「吹き出し単位」は吹き出しごとに誤り率を平均したもの(吹き出しリーダーが返す単位)。
90
+ 「文字重み」は総文字数で重み付けしたもの(長文が支配)。
91
+ PaddleOCR-VL は中国語・英語側の教師です。
92
 
93
+ | 指標 | 中国語: Baberu 115M | 中国語: PaddleOCR-VL 0.9B | 英語: Baberu 115M | 英語: PaddleOCR-VL 0.9B |
94
+ |---|---|---|---|---|
95
+ | 吹き出し単位 lCER | **0.052** | 0.077 | **0.062** | 0.081 |
96
+ | 文字重み lCER | 0.043 | **0.030** | 0.033 | **0.028** |
97
+ | 完全一致 | **0.85** | 0.83 | **0.82** | 0.79 |
98
+ | n | 246 | | 237 | |
99
+
100
+ 吹き出し単位では、115M の生徒が両言語で勝ち、完全一致もより多く取ります。
101
+ 繰り返しープ暴走もなく(0.9B は短英語2件溶けました)、より頑健です
102
+ 文字単位では 0.9B が両言語勝ちます。長文をうまく読むためです。
103
+ つまり**8倍サイズモデル互角**でふつうの吹き出しは前に出て安定し、長文では大型モデルが読む、という関係です。
 
 
 
 
104
 
105
  ### 苦手なところ
106
 
assets/hero-en.png CHANGED

Git LFS Details

  • SHA256: 6ca42b02e50a283341dd07ee17b365684d9841ab7227b1e282fad2ccc0e1aa98
  • Pointer size: 132 Bytes
  • Size of remote file: 1.89 MB

Git LFS Details

  • SHA256: 0643d718c5005dc0f0822ecf31e799e62ad3b1ee9ed098cdf71005402bbebb2d
  • Pointer size: 131 Bytes
  • Size of remote file: 433 kB
assets/hero-ja.png CHANGED

Git LFS Details

  • SHA256: a929f33470734fdff396cdf12222edae7af837d339613972a81ab546c2aa0ffa
  • Pointer size: 132 Bytes
  • Size of remote file: 1.83 MB

Git LFS Details

  • SHA256: c9a1d8a87880f5c339aa4ef427da92f1ce6d9d6c43ef5f7f92d1ad9917fe8beb
  • Pointer size: 131 Bytes
  • Size of remote file: 433 kB