Honest eval update: clean held-out en/zh (toe-to-toe with 0.9B), corrected hero charts
Browse files- README.md +15 -22
- README_ja.md +29 -32
- assets/hero-en.png +2 -2
- 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
|
| 23 |
|
| 24 |
-

|
| 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 |
+

|
| 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 8× 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つのモデルで扱い
|
|
|
|
|
|
|
| 24 |
|
| 25 |
-

|
| 21 |
|
| 22 |
マンガの吹き出しから文字を読み取る、115M の OCR モデルです。
|
| 23 |
+
日本語・中国語・英語を1つのモデルで扱います。
|
| 24 |
+
日本語の公開ベンチマークでは学習元の教師(manga-ocr)を上回り、中国語と英語では8倍サイズの汎用モデルと互角に渡り合います。
|
| 25 |
+
いずれも独立した評価データでの結果です。
|
| 26 |
|
| 27 |
+

|
| 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
|
|
Git LFS Details
|
assets/hero-ja.png
CHANGED
|
Git LFS Details
|
|
Git LFS Details
|