← Index
github

light-ocr — OCR ฝังในแอปได้ตรงๆ โมเดลแค่ 31MB อ่านภาพ 75ms ไม่ต้องพึ่ง Python หรือ cloud

OCR engine C++17 + PP-OCRv6 Small พร้อม async binding สำหรับ Node.js — offline 100%, Core ML บน Apple Silicon, WebGPU บน Linux/Windows

light-ocr — OCR ฝังในแอปได้ตรงๆ โมเดลแค่ 31MB อ่านภาพ 75ms ไม่ต้องพึ่ง Python หรือ cloudเปิดตัว tool ↗

เอาไปทำอะไรได้

อยากใส่ OCR ในแอปสัก feature เดียว แต่ทางเลือกที่มีคือลาก Python + PaddleOCR/Tesseract มาทั้งชุด (หนักและต้องดูแล environment แยก) หรือยิง cloud OCR API (เสียเงินรายครั้ง + ข้อมูลออกนอกเครื่อง) — light-ocr (ของ arcships) เกิดมาอุดช่องตรงกลางพอดี: OCR engine เขียนด้วย C++17 ใช้โมเดล PP-OCRv6 Small ขนาดแค่ 31MB พร้อม binding สำหรับ Node.js เรียกใช้ในโปรเซสเดียวกับแอปเลย

จุดเด่นที่ทำให้มันน่าหยิบ:

  • offline 100% — ข้อมูลเอกสารไม่ออกนอกเครื่องเลย
  • ไม่ต้องมี Python ในเครื่อง ไม่มี sidecar process — ฝังตรงเข้าแอป Node.js
  • เร็วจริง — ~75ms ต่อภาพบน M4 Max (CPU) และมี hardware acceleration: Core ML บน Apple Silicon, WebGPU บน Linux/Windows
  • API เป็น async เต็มรูป รองรับ cancellation และ lifecycle control — ใส่ใน production ได้ไม่ block

เหมาะกับระบบสแกนเอกสาร, OCR ในแอป, หรือ AI workflow ที่เอาข้อความจากภาพไปให้ LLM ต่อโดยไม่อยากพึ่งบริการนอก

ที่ผมโดนคือตรงนี้

งานในมือที่มีกลิ่น OCR อยู่สองจุด — ตัวแรกคือแอปจดค่าไฟของครอบครัว ที่ทุกเดือนต้องถ่ายรูปมิเตอร์แล้วพิมพ์เลขเอง ถ้าฝัง light-ocr ไว้ฝั่งเซิร์ฟเวอร์ (Node อยู่แล้ว) ให้อ่านเลขจากรูปอัตโนมัติ ขั้นกรอกมือหายไปเลย — โมเดล 31MB วางบน serverless/VPS ได้ไม่อึดอัด อีกจุดคือเอกสาร/ใบเสร็จต่างๆ ที่ถ่ายเก็บไว้ ถ้ามีท่อ OCR ในเครื่องก็แปลงเป็นข้อความค้นได้หมดโดยไม่ต้องอัปโหลดขึ้นไหน

ข้อที่ต้องเช็คก่อนใช้กับงานไทย: PP-OCR รองรับหลายภาษาก็จริง แต่ตัว Small ที่แถมมามักเป็นชุด อังกฤษ/จีน เป็นหลัก — ภาษาไทยต้องดูว่า repo แถมโมเดล multilingual มาไหม หรือโหลดเพิ่มได้หรือเปล่า ตัวเลข (มิเตอร์/ใบเสร็จ) ไม่มีปัญหาแน่เพราะเป็น digit ล้วน แต่เอกสารไทยเต็มหน้าให้ทดสอบก่อนผูกมัด และโปรเจกต์ยังใหม่ ชุมชนเล็ก — งาน production สำคัญเผื่อ fallback ไว้ด้วย

🔗 GitHub — arcships/light-ocr


ที่มา: โพสต์แนะนำบน Facebook