การแปลแบบออฟไลน์ทำงานบน iPhone ของคุณอย่างไร
ไปป์ไลน์การแปลของแอปทำงานบนอุปกรณ์ทั้งหมด ไม่มีรูปภาพ ไม่มีผลลัพธ์ OCR และไม่มีคำขอแปลใดๆ ออกจาก iPhone บทความนี้อธิบายว่า "บนอุปกรณ์" หมายถึงอะไรจริงๆ โมเดลอยู่ที่ไหน และการแลกเปลี่ยนใดที่มาพร้อมกับการเรียกใช้การแปลในเครื่อง
ชิ้นส่วนที่ทำงานบนอุปกรณ์
มีงานอิสระสามงานที่เกิดขึ้นบนโทรศัพท์สำหรับการแปลด้วยกล้อง:
- OCR แพ็กเกจ
vision_text_recognitionที่ fork แล้วจะเรียกใช้การรู้จำข้อความในเครื่อง รองรับสคริปต์ละติน จีน (ตัวย่อและตัวเต็ม) ญี่ปุ่น และเกาหลี บล็อกข้อความที่รู้จำแต่ละบล็อกมี bounding box และข้อความที่ตรวจพบของตัวเอง - การแปล เอนจินการแปลบนอุปกรณ์ของ Google ML Kit รับเอาต์พุต OCR และสร้างข้อความที่แปลแล้ว เอนจินถูกรวมเป็นโมเดลภาษาที่ดาวน์โหลดได้ต่อคู่ภาษา แอปจะดาวน์โหลดโมเดลตามความต้องการและแคชไว้ในดิสก์
- การเรนเดอร์ หน้าผลลัพธ์จะวาดแต่ละบล็อกที่แปลแล้วทับบนรูปถ่ายต้นฉบับ โดยใช้ bounding box ที่เอนจิน OCR ส่งคืน ไม่จำเป็นต้องมีการเดินทางไปกลับเซิร์ฟเวอร์เพื่อเรนเดอร์การซ้อนทับ — รูปภาพ บล็อกต้นทาง และการแปลอาศัยอยู่ในหน่วยความจำบนอุปกรณ์
ทำไมเรื่องนี้ถึงสำคัญ
- ความเป็นส่วนตัว ภาพถ่ายป้ายถนน สัญญา แบบฟอร์มทางการแพทย์ และการสื่อสารส่วนบุคคลยังคงอยู่บนอุปกรณ์ ไม่มีขั้นตอนการอัปโหลดในส่วนใดของไปป์ไลน์ ดังนั้นจึงไม่มีอะไรให้รั่วไหล เรียกหมายศาล หรือขาย
- เวลาแฝง ไม่มีการเดินทางไปกลับของเครือข่าย OCR ของหน้าทั่วไปที่ถ่ายด้วยสมาร์ทโฟนเสร็จสิ้นในเวลาไม่ถึงหนึ่งวินาทีบนอุปกรณ์ล่าสุด และการแปลผลลัพธ์ตามบล็อกจะสตรีมเมื่อแต่ละบล็อกเสร็จสิ้น
- ออฟไลน์ ไปป์ไลน์ทำงานบนเครื่องบิน ในชั้นใต้ดิน ในอุโมงค์ บนรถไฟ ในประเทศที่ไม่มีความครอบคลุม เอนจิน OCR และเอนจินการแปลจะถูกดาวน์โหลดหนึ่งครั้งและนำกลับมาใช้ใหม่ไม่จำกัด ไม่มีการดึงข้อมูลใดๆ ต่อการจับภาพ
- ต้นทุน แอปไม่จ่ายต่ออักขระให้กับ API การแปล ดังนั้นฟีเจอร์จึงไม่ต้องการ paywall ตามการใช้งานหรือขีดจำกัดอักขระรายเดือนเพื่อให้ยั่งยืน ระดับฟรีคือไปป์ไลน์เดียวกัน
โมเดลอยู่ที่ไหน
ML Kit เผยแพร่โมเดลการแปลบนอุปกรณ์สำหรับ 19 ภาษา แต่ละโมเดลมีขนาดประมาณ 10–50 MB เมื่อคุณเลือกภาษาต้นทางหรือเป้าหมาย แอปจะดาวน์โหลดโมเดลที่เกี่ยวข้องไปยังแซนด์บ็อกซ์ในเครื่องของแอปเมื่อใช้งานครั้งแรก โมเดลยังคงอยู่ตลอดการรีสตาร์ทแอป การลบจะเรียกคืนพื้นที่จัดเก็บทันที
รายการเต็มของภาษาที่รองรับ: อาหรับ จีน (ตัวย่อ) เช็ก ดัตช์ อังกฤษ ฝรั่งเศส เยอรมัน โครเอเชีย ฮังการี อิตาลี ญี่ปุ่น เกาหลี โปแลนด์ โปรตุเกส โรมาเนีย รัสเซีย สโลวัก สโลเวเนีย และสเปน
สิ่งที่อัปโหลด (และสิ่งที่ไม่)
- ไม่ได้อัปโหลด รูปภาพ ข้อความ OCR ข้อความแปล รายการประวัติ สถานะโมเดลภาษา ไม่มีสิ่งเหล่านี้ออกจากอุปกรณ์
- อัปโหลด รายงานข้อขัดข้องที่ไม่ระบุตัวตนและตัวนับรวม (เช่น "คำขอแปลต่อวัน") รายงานข้อขัดข้องไม่รวมเนื้อหาผู้ใช้ หากรายงานในอนาคตมีเนื้อหา นั่นจะเป็นข้อบกพร่องและควรรายงาน
ข้อแลกเปลี่ยนของการรันในเครื่อง
- รายการภาษาจำกัด รองรับเฉพาะภาษาที่ ML Kit เผยแพร่เป็นโมเดลบนอุปกรณ์ รายการนี้ได้รับการคัดสรรและมี 19 รายการในปัจจุบัน
- ต้องดาวน์โหลดโมเดล การแปลครั้งแรกสำหรับคู่ภาษาจะทริกเกอร์การดาวน์โหลดครั้งเดียว หน้าตัวจัดการโมเดลจะแสดงสถานะและให้คุณดาวน์โหลดล่วงหน้าสำหรับการเดินทางแบบออฟไลน์
- คุณภาพ คุณภาพการแปลบนอุปกรณ์เทียบเท่ากับการแปลบนคลาวด์สำหรับข้อความสั้นที่มีรูปแบบดี ย่อหน้ายาวหรือศัพท์เฉพาะโดเมนอาจแตกต่างจากเอนจินคลาวด์ที่ปรับแต่งสำหรับโดเมนนั้น
- การคำนวณ OCR และการแปลใช้ CPU และ Neural Engine ของโทรศัพท์ ผลกระทบต่อแบตเตอรี่สำหรับการจับภาพครั้งเดียวมีน้อย แต่วัดได้สำหรับเวิร์กโฟลว์แบบแบตช์
สิ่งนี้มีความหมายอย่างไรต่อคุณ
หากคุณเคยลังเลที่จะถ่ายรูปเอกสารที่ละเอียดอ่อนเพราะรูปจะไปอยู่บนเซิร์ฟเวอร์ของคนอื่น ความลังเลนั้นเป็นเหตุผลที่แอปนี้มีอยู่ ทุกส่วนของไปป์ไลน์ทำงานในเครื่อง และโมเดลข้อมูลของแอปได้รับการออกแบบโดยมีสมมติฐานว่าไม่มีอะไรออกจากอุปกรณ์เว้นแต่ผู้ใช้จะเลือกแชร์ผลลัพธ์อย่างชัดเจน