Skip to content
Computer vision
All projects

SpandZero

The eyes of SpandTranslate: a model that tells bubbles, text and SFX apart on manga and webtoon pages, built from scratch, from the dataset to training.

Role
Data, labelling, training, deployment
Duration
8 months, 2026
Built with
Python, Model, Data
SpandZero logo

Sorun

Off-the-shelf was not enough

SpandTranslate started on off-the-shelf models. None of them recognised SFX, the sound effects drawn into the art; they wrapped several texts in one giant box and missed webtoon-specific elements. Some were closed to commercial use.

On right-place-and-right-class, the ready-made stack scored 38%. Nothing better could be downloaded; it had to be built.

Yaklaşım

Generation by generation

We wrote a labelling constitution that splits every piece of text into four classes: bubble, text in bubble, free text and SFX. We built a human-approved gold set, then trained models generation by generation: each one from scratch, on data labelled by the previous one. No generation could touch the next one's data before passing our own exam.

The rule was simple: no paid training until the dataset is proven clean.

14409001 240 / 3 000picked samples

Nasıl çalışıyor

From data to production

  1. Collect

    Webtoon, manga and manhua pages.

    ~75k pages
  2. Label

    The previous model pre-labels the pages.

    previous generation
  3. Judge

    Doubtful boxes go to a judge, hard calls to a human.

    AI + human
  4. Clean

    Watermarks, twins and clipped boxes are removed.

    10 rounds
  5. Train and test

    Trained overnight, measured on our own exam set.

    cloud GPU

Teknik özet

Technical summary
Task
Bubble, text and SFX detection
Classes
4 (bubble, text in bubble, free text, SFX)
Data
281,802 labelled boxes
Gold set
1,088 human-approved pages
Training
Cloud GPU, one night
Runs in
SpandTranslate, in production

Önemli değişiklik

Three breakthroughs

  • Twin boxes. The model gave the same text two classes and the translation was printed twice. It had leaked in from the previous generation's labels and our class-blind scorer never saw it. We rewrote the scorer: live twins dropped from 1,083 to 7.
  • The model was fine; the last step ate it. One filter rule after detection was deleting correct boxes. Fixing it took the same model from 66% to 78%; even the old model gained 11 points.
  • Training without burning money. The dataset went through ten cleaning rounds; training did not start until 40 out of 40 random samples came back clean.

Sonuç

right place and right class
38% with off-the-shelf models
78%
SFX recall
off-the-shelf had none
82%
twin boxes in production
1,083 → 7
labelled boxes
281k
human-approved pages
1,088
model generations
M0 → M4
5

Ne öğrendim

The labelling standard matters more than the architecture. Longer training is not the fix; data is. And you have to measure the ruler too: a class-blind scorer can show 85% for a model that is really at 75%.

The next branch is your project

Tell me in a few sentences what you want to build. I usually reply the same day, the next day at the latest.

Right now I am open to new work: freelance projects, remote or on site in Istanbul. A web platform, a model to train or a stubborn device; whichever it is, write or call.