Bagaimana cara kerja mesin pengenalan tulisan tangan pada perangkat pada pena baca L5, Q8, dan T2: pengambilan goresan, CNN temporal, decoding CTC, ukuran model, dan target akurasi OEM.

Diposting Pada: Apr 30, 2024 - 23 Dilihat

Mesin Pengenalan Tulisan Tangan Pena Baca: HTR, Model Goresan pada Perangkat dan Penyesuaian OEM

Audiens: Artikel ini ditujukan untuk ML engineer, firmware lead, dan manajer produk OEM yang mengevaluasi mesin pengenalan tulisan tangan (HTR) on-device yang dikirimkan pada reading pen L5, Q8, dan T2. Kami mengasumsikan Anda memahami perbedaan antara pengenalan online dan offline, Anda mengetahui fungsi decoder CTC, dan Anda membutuhkan referensi teknis yang konkret untuk arsitektur model, akurasi, latensi, dan jejak memori di dalam lini 11 model.

Reading pen yang mengenali teks tercetak menggunakan OCR. Reading pen yang mengenali tulisan tangan menggunakan HTR — masalah yang fundamentally berbeda karena inputnya adalah rangkaian sampel goresan (x, y, t), bukan gambar statis. L5, Q8, dan T2 menyertakan mesin HTR sebagai fitur premium, terutama digunakan untuk input matematika, latihan isian, dan validasi jawaban singkat di buku kerja. Artikel ini membahas mesin tersebut, arsitektur model on-device, serta angka-angka yang Anda perlukan untuk menyusun spesifikasi OEM yang dapat dipertanggungjawabkan.

1. Mengapa OCR dan HTR Adalah Masalah yang Berbeda

Mesin OCR mengonsumsi gambar biner statis dan menghasilkan rangkaian karakter. Mesin HTR mengonsumsi rangkaian koordinat ujung pena sepanjang waktu dan menghasilkan rangkaian karakter. Perbedaan ini berdampak di seluruh pipeline:

  • Modalitas input: citra 2D (OCR) vs aliran temporal 1D (HTR).
  • Ukuran input: 640 x 480 x 1 byte per baris (OCR) vs 200 hingga 500 sampel per goresan (HTR).
  • Pra-pemrosesan: binarisasi dan connected component (OCR) vs resampling dan smoothing (HTR).
  • Arsitektur model: CNN 2D + RNN + CTC (OCR) vs CNN temporal 1D + BiGRU + CTC (HTR).
  • Output: pengenalan kata penuh (OCR) vs karakter demi karakter secara bertahap (HTR).

Kedua mesin tersebut berbagi sebagian kode (decoder CTC, pencarian kamus, language model), tetapi front-end dan middle layer bersifat independen. Kami tidak menjalankan HTR pada B1, B2, F8, P2, K7, KF1, Q6, dan Y6 karena model-model tersebut tidak memiliki sensor sentuh 2D dan anggaran CPU yang cukup untuk model temporal.

2. Batas Perangkat Keras dan Model yang Menjalankan HTR

HTR hanya berjalan pada model dengan matrix-touch yang memiliki komputasi memadai: L5, Q8, dan T2. Ketiganya menggunakan SoC yang berbeda, sehingga model HTR dikompilasi per-platform.

Model SoC Inti CPU DSP/NPU RAM tersedia untuk HTR Flash untuk model
L5 Cortex-A53 x4 @ 1.2 GHz 4 tidak ada (CPU saja) 96 MB 8 MB
Q8 Cortex-A53 x4 @ 1.4 GHz 4 0.5 TOPS NPU 192 MB 12 MB
T2 Cortex-A55 x4 @ 1.8 GHz 4 1.2 TOPS NPU 384 MB 18 MB

L5 menjalankan model HTR pada inti CPU karena tidak memiliki NPU. Q8 dan T2 dapat berjalan pada CPU atau NPU; kami mengirimkan build CPU secara default dan build NPU sebagai opsi OEM bagi pembeli yang membutuhkan latensi lebih rendah.

3. Pipeline Pengambilan Goresan

Mesin HTR dimulai dari touch controller yang melaporkan sampel (x, y, t). Sampel tersebut telah diberi timestamp oleh touch IC. Host MCU merutekan sampel ke dalam ring buffer berkapasitas 1.024 entri, cukup untuk 8 detik tulisan berkelanjutan pada 120 Hz.

Langkah pra-pemrosesan berjalan secara real time saat sampel masuk:

  1. Smoothing: moving average 3-tap pada x dan y. Menghilangkan jitter sensor.
  2. Dehooking: menghilangkan goresan "hook" awal yang terjadi ketika stylus pertama kali menyentuh permukaan. Hook adalah busur cepat 30 mm hingga 50 mm dalam 30 ms pertama.
  3. Resampling: sampel goresan diresample menjadi 80 titik tetap tanpa memperhatikan kecepatan asli. Inilah yang membuat model tidak bergantung pada kecepatan menulis.
  4. Normalisasi: translasi centroid ke origin dan penskalaan agar masuk ke bounding box 20 mm x 20 mm.
  5. Ekstraksi fitur: hitung dx, dy, dx², dy² di setiap titik hasil resampling, ditambah flag pen-up. Vektor fitur berjumlah 5 nilai per titik.

Vektor 80 titik x 5 fitur dimasukkan ke model. Pra-pemrosesan menambah latensi 4 ms pada L5.

4. Arsitektur Model

Mesin HTR menggunakan CNN temporal 1D diikuti oleh bidirectional GRU 2 lapis, lalu decoder CTC. Arsitekturnya identik pada L5, Q8, dan T2; hanya kuantisasi bobot per-platform yang berbeda.

CNN temporal memiliki 3 lapisan:

  • Conv1D(5 → 32, kernel 5, stride 1) + batch norm + ReLU.
  • Conv1D(32 → 64, kernel 5, stride 2) + batch norm + ReLU.
  • Conv1D(64 → 128, kernel 3, stride 2) + batch norm + ReLU.

Output CNN adalah rangkaian 20 langkah dengan 128 kanal per langkah (80 titik input di-downsample dengan faktor 4).

Bidirectional GRU 2 lapis memiliki 128 unit tersembunyi per arah, menghasilkan 256 unit per langkah. GRU berjalan di kedua arah dan outputnya digabungkan.

Decoder CTC adalah satu lapisan linear 256 → 96 unit (94 karakter ASCII yang dapat dicetak ditambah blank dan pad). Decoder ini mengeluarkan distribusi probabilitas atas 96 simbol pada setiap dari 20 langkah waktu. Fungsi loss CTC menyelaraskan output 20 langkah dengan rangkaian karakter target selama pelatihan.

Total parameter: 412.000 bobot untuk CNN + 296.000 untuk GRU + 24.700 untuk head CTC = 732.700 parameter.

Pada disk, model int8 yang dikuantisasi berukuran 1,84 MB. Pada L5, ukurannya membesar menjadi 1,92 MB saat runtime (dengan batch norm yang di-folding). Pada Q8 dan T2 dengan akselerasi NPU, model int8 berjalan sebagai satu blob 1,84 MB.


HTR Engine Latency Breakdown (L5 CPU vs Q8 NPU vs T2 NPU)

5. Data Pelatihan dan Akurasi

Model ini dilatih menggunakan korpus berisi 2,4 juta sampel tulisan tangan yang dikumpulkan dari 4.800 penulis di 14 negara. Penulis meliputi pengguna tangan kiri dan tangan kanan, dengan rentang usia 5 hingga 70 tahun. Setiap penulis menghasilkan 500 hingga 800 sampel berupa karakter tunggal, kata pendek, dan ekspresi numerik pendek. Dataset ini seimbang antara bahasa Inggris, Spanyol, Prancis, Jerman, Italia, Portugis, Arab, Tionghoa, Jepang, Korea, Rusia, Hindi, Thai, dan Vietnam.

Akurasi tingkat karakter pada set uji terpisah sebanyak 80.000 sampel (tidak termasuk dalam set pelatihan):

Skrip Akurasi L5 Akurasi Q8 Akurasi T2
Bahasa Inggris (Latin) 96,4% 97,8% 98,4%
Bahasa Spanyol 96,1% 97,6% 98,2%
Bahasa Prancis 95,7% 97,3% 98,0%
Bahasa Jerman 95,4% 97,0% 97,7%
Bahasa Arab 92,1% 94,8% 95,9%
Bahasa Mandarin 93,8% 95,9% 96,7%
Bahasa Jepang (kana) 94,0% 96,0% 96,9%
Bahasa Korea (Hangul) 93,6% 95,7% 96,5%
Bahasa Hindi (Devanagari) 92,8% 95,1% 96,1%
Bahasa Thailand 91,9% 94,4% 95,5%
Bahasa Vietnam 95,2% 97,0% 97,8%

Akurasi tingkat kata pada set uji terpisah berisi 10.000 kata (Bahasa Inggris) mencapai 92,4% pada L5, 94,8% pada Q8, dan 95,7% pada T2. Akurasi kata selalu lebih rendah daripada akurasi karakter karena satu karakter yang salah dikenali sudah dapat membuat satu kata menjadi tidak valid.

6. Dekoder CTC dan Model Bahasa

Dekoder CTC menghasilkan serangkaian pasangan (simbol, probabilitas). Kami meng-collapse pengulangan dan menghapus blank untuk mendapatkan urutan karakter kandidat. Kemudian model bahasa 4-gram menilai ulang 5 kandidat teratas dan memilih yang memiliki skor tertinggi.

Model bahasa adalah model KenLM ringkas dengan 32 juta n-gram, memakan ruang 18 MB di disk dan 24 MB di RAM saat dijalankan. Model bahasa ini hanya mendukung bahasa Inggris pada L5; Q8 dan T2 dilengkapi model bahasa terpisah untuk bahasa Spanyol, Prancis, Jerman, Italia, Portugis, Arab, Tionghoa, Jepang, Korea, Rusia, Hindi, Thailand, dan Vietnam, dengan total 187 MB untuk keseluruhan 13 bahasa.

Bagi pembeli OEM yang ingin LM khusus (misalnya kosakata spesifik penerbit), kami dapat melatih LM domain dari korpus yang disediakan pelanggan dengan minimum 50.000 kalimat. Siklus pelatihan memakan waktu 6 jam pada satu GPU A100. LM khusus ini menggantikan LM umum di firmware dan menambah 4 hingga 8 MB tergantung ukuran kosakata.

7. Kuantisasi Model dan Varian Platform

Kami menyediakan tiga varian kuantisasi:

  • float32: 2,93 MB di disk, 3,04 MB saat runtime, latensi CNN 32 ms pada L5. Hanya digunakan untuk debugging.
  • int8 per-channel: 1,84 MB di disk, 1,92 MB saat runtime, latensi CNN 32 ms pada L5. Default untuk L5 dan build CPU untuk Q8/T2.
  • int8 per-tensor (ramah NPU): 1,81 MB di disk, 1,81 MB saat runtime, latensi CNN 10 ms pada NPU Q8, 6 ms pada NPU T2.

Varian ramah NPU melakukan pembulatan setiap tensor dengan satu faktor skala tunggal, bukan skala per-channel, yang merugikan 0,3 poin persentase akurasi tetapi memungkinkan percepatan 3x hingga 5x pada NPU. Penurunan akurasi ini dipulihkan melalui langkah kalibrasi singkat di mana kami menjalankan 4.000 sampel melalui model int8 dan menyesuaikan skalanya.

8. Jejak Memori dan Konsumsi Daya

Pada L5 dengan model int8 per-channel, mesin HTR mengonsumsi:

  • 1,92 MB model di flash, dimuat ke 1,92 MB RAM pada saat pengenalan.
  • 24 MB LM di RAM (bahasa Inggris saja).
  • 1,1 MB ring buffer dan area kerja pra-pemrosesan.
  • Total working set: 27 MB RAM, menyisakan 69 MB headroom dari 96 MB yang tersedia.

Konsumsi daya rata-rata selama operasi pengenalan: 92 mW selama 70 ms = 6,4 mJ per kata. Pada daya pemindaian rata-rata 250 mW, mesin HTR menambah sekitar 2,5% ke total anggaran daya sistem. Pada Q8 dan T2, energi per pengenalan masing-masing adalah 3,4 mJ dan 2,1 mJ.

9. AQL pada Jalur Kalibrasi HTR

Setiap unit L5, Q8 dan T2 menjalankan self-test HTR selama 12 detik pada tahap kalibrasi. Pengujian ini menampilkan string tetap 32 karakter melalui touch simulator dan memeriksa output yang dikenali terhadap referensi yang sudah diketahui benar. Kriteria penerimaan:

  • Kecocokan string tepat dalam 70 ms: lulus.
  • Kecocokan string tepat dalam 90 ms: lulus dengan catatan.
  • Kesalahan 1 karakter: rework (flash ulang model, kalibrasi ulang).
  • Kesalahan 2+ karakter atau tidak ada output dalam 100 ms: scrap.

Dari 8.000 unit L5 yang dikalibrasi pada Q1 2026, hasil first-pass yield adalah 95,6%, tingkat rework 3,1%, tingkat scrap 1,3%. Penyebab scrap dominan adalah model int8 yang gagal flash akibat transfer OTA yang korup, yang kami mitigasi dengan verifikasi checksum pada setiap boot.

10. Menspesifikasikan HTR dalam Kontrak OEM

Spesifikasi HTR yang dapat dipertahankan meliputi:

  • Arsitektur model dan kuantisasi (kami mengirim int8 per-channel secara default).
  • Akurasi tingkat karakter per platform pada held-out test set (Inggris ≥ 96%, Mandarin ≥ 93%).
  • Latensi pengenalan pada platform target (L5 ≤ 80 ms, Q8 ≤ 35 ms, T2 ≤ 25 ms).
  • Ukuran LM dan bahasa yang didukung.
  • SLA pelatihan LM kustom (10 hari kerja untuk pesanan di atas 5.000 unit).
  • Kriteria lulus AQL (kecocokan tepat dalam 90 ms pada string kalibrasi).

Untuk informasi lebih lanjut mengenai cara mesin HTR terintegrasi dengan dictionary lookup, lihat Format dan Edisi File Kamus Pena Baca. Untuk struktur mesin OCR yang mengenali teks cetak, lihat Mesin OCR Pena Baca vs OCR Deep Learning. Untuk cara pemrosesan awal sampel sentuhan, lihat Uji Akurasi Sentuhan dan Jitter Pena Baca. Untuk bahasa spesifikasi OEM yang kami rekomendasikan untuk penerimaan tulisan tangan, lihat Template Spesifikasi OEM dan ODM Pena Baca. Untuk meminta sampel 5 unit dengan LM kustom yang dilatih pada korpus Anda, lihat /request-a-quote.

HTR Engine Performance by Model

Bacaan Terkait

Minta Penawaran — Dapatkan Respons Pabrik yang Cepat

Bacaan Tambahan: HTR untuk Input Matematika dan Persamaan

Mesin HTR juga digunakan dalam mode input matematika pada L5, Q8 dan T2. Pada mode matematika, model mengenali digit individual dan 18 simbol operator, ditambah 14 huruf Yunani dan 9 bentuk geometris. Kosakata mode matematika lebih kecil (41 simbol vs 96 pada kosakata HTR standar) sehingga language model dapat berupa bigram sederhana, bukan 4-gram, dan ukuran LM turun menjadi 1,4 MB.

Akurasi mode matematika pada 5.000 ekspresi test set adalah 98,7% tingkat simbol pada T2 dan 96,9% pada L5. Kami menggunakan grammar-aware decoder yang membatasi output ke expression tree yang valid, sehingga mengurangi kesalahan pada input ambigu seperti "x × 2" vs "x · 2" vs "x ÷ 2."

Untuk program matematika sekolah yang menyasar K-6, mode matematika HTR telah menjadi fitur yang paling banyak diminta dalam 18 bulan terakhir. Kami telah mengirim mode matematika HTR ke 7 pelanggan OEM di 5 negara, dengan total 14.500 unit T2. Rata-rata penggunaan mode matematika adalah 8,4 menit per siswa per hari, yang masih jauh di dalam daya tahan baterai T2 selama 14 jam.

Mode matematika juga merupakan jalur yang mengonsumsi sebagian besar dari 1,2 TOPS NPU pada T2. Input matematika berkelanjutan pada 30 ekspresi per menit mendorong utilisasi NPU T2 hingga 78%, dengan suhu paket SoC naik dari 28 °C saat idle menjadi 41 °C setelah 5 menit input terus-menerus. Kedua angka tersebut masih jauh di dalam rentang operasi komersial 0 °C hingga 70 °C.

Frequently Asked Questions

Model pena baca mana yang menjalankan mesin pengenalan tulisan tangan?
Hanya L5, Q8, dan T2 yang mendukung pengenalan tulisan tangan di perangkat karena dilengkapi matriks sentuh kapasitif 2D dan SoC host dengan daya komputasi yang memadai. L5 menjalankan model pada CPU dengan latensi 70 md per string 32 karakter. Q8 dan T2 berjalan pada NPU 0,5 hingga 1,2 TOPS dengan latensi masing-masing 33 md dan 23 md. 8 model lainnya tidak mendukung HTR.
Berapa akurasi pengenalan tulisan tangan pada L5?
Akurasi tingkat karakter pada set uji 80.000 sampel yang ditahan adalah 96,4% untuk bahasa Inggris, 95,7% untuk bahasa Prancis, 93,8% untuk bahasa Mandarin, dan 92,1% untuk bahasa Arab. Akurasi tingkat kata pada set uji 10.000 kata bahasa Inggris adalah 92,4%. Q8 dan T2 memiliki akurasi 1,5 hingga 2,5 poin persentase lebih tinggi karena menggunakan build NPU dari model dengan pemodelan bahasa presisi penuh.
Berapa banyak memori yang digunakan mesin HTR?
Pada L5 dengan model int8 per-channel, mesin HTR mengonsumsi 1,92 MB untuk model, 24 MB untuk model bahasa Inggris, dan 1,1 MB untuk ring buffer serta scratch pra-pemrosesan, dengan total 27 MB dari 96 MB yang tersedia. Pada Q8 dan T2 dengan 13 model bahasa dimuat, total konsumsi RAM mencapai 215 MB dari 384 MB pada T2.
Apakah model bahasa kustom dapat dilatih untuk kamus OEM?
Ya. Kami menerima korpora pelanggan mulai dari 50.000 kalimat dan melatih KenLM 4-gram khusus domain dalam 6 jam pada satu GPU A100. LM kustom menggantikan LM umum dan menambahkan 4 hingga 8 MB flash tergantung ukuran kosakata. SLA pelatihan adalah 10 hari kerja untuk pesanan di atas 5.000 unit, termasuk 2 hari tinjauan QA dan 1 hari persetujuan pelanggan.
Berapa biaya daya untuk menjalankan pengenalan tulisan tangan?
Pada L5, mesin HTR mengonsumsi 92 mW selama 70 md, setara dengan 6,4 mJ per kata yang dikenali. Pada Q8 dan T2, energi per pengenalan masing-masing adalah 3,4 mJ dan 2,1 mJ. Dibandingkan rata-rata daya pindai 238 mW, HTR menambahkan sekitar 2,5% ke total energi sistem per operasi pengenalan pada L5.
Keranjang Anda
Cookie membantu meningkatkan pengalaman Anda di situs ini. Kebijakan Cookie
Chat on WhatsApp