PaddleOCR: การรู้จำตัวอักษรระดับอุตสาหกรรมสำหรับการสกัดข้อความหลายภาษา
ตรวจจับและรู้จำข้อความจากภาพและเอกสารด้วยความแม่นยำและความเร็วสูง
PaddleOCR API คืออะไร?
PaddleOCR Python API เป็นชุดเครื่องมือสำหรับงานการรู้จำตัวอักษรด้วยแสง (OCR) ที่ทรงพลังและใช้งานง่าย ออกแบบมาเพื่อช่วยให้นักพัฒนาสามารถสกัดและวิเคราะห์ข้อความจากภาพด้วยความแม่นยำสูง สร้างบนเฟรมเวิร์กการเรียนรู้เชิงลึก PaddlePaddle PaddleOCR รองรับภาษาที่หลากหลายและมีโมเดลที่ฝึกไว้ล่วงหน้าสำหรับการตรวจจับข้อความ การรู้จำ และการวิเคราะห์โครงร่าง ด้วยอินเทอร์เฟซ Python ที่ใช้งานง่าย ผู้ใช้สามารถรวมความสามารถ OCR เข้ากับแอปพลิเคชันของพวกเขาได้อย่างรวดเร็ว ไม่ว่าจะเป็นการแปลงเอกสารเป็นดิจิทัล การสกัดข้อความจากภาพถ่าย หรือการประมวลผลข้อมูลอัตโนมัติ PaddleOCR Python API เหมาะสำหรับทุกคนที่ต้องการใช้งานโซลูชัน OCR ที่แข็งแกร่งด้วยการตั้งค่าที่น้อยที่สุดและความยืดหยุ่นสูงสุด
ข้อได้เปรียบหลักของ PaddleOCR ได้แก่:
- รองรับหลายภาษา: โมเดลที่ฝึกไว้ล่วงหน้าสำหรับกว่า 100 ภาษา (รวมถึงจีน อังกฤษ อาหรับ ฯลฯ)
- ความแม่นยำสูง: โมเดลชุด PP-OCR ทำคะแนนได้สูงสุดในการทดสอบมาตรฐาน ICDAR
- กระบวนการแบบครบวงจร: ตั้งแต่การตรวจจับข้อความไปจนถึงการรู้จำและการวิเคราะห์โครงร่าง
- โมเดลขนาดเบา: ปรับให้เหมาะกับอุปกรณ์มือถือและ edge devices (เช่น PP-OCRv3)
ตั้งแต่เอกสารที่สแกนไปจนถึงป้ายถนน PaddleOCR สกัดข้อความด้วยความแม่นยำระดับแนวหน้าของอุตสาหกรรม
ทำไมต้องเลือก PaddleOCR?
- ความเป็นเลิศแบบโอเพนซอร์ส: มากกว่า 30,000 ดาวบน GitHub และการมีส่วนร่วมจากชุมชนที่แข็งขัน
- การใช้งานที่หลากหลาย: รองรับ Python, C++ และแพลตฟอร์มมือถือ (Android/iOS)
- การวิเคราะห์โครงร่าง: ระบุพื้นที่ข้อความ ตาราง และรูปภาพในเอกสารที่ซับซ้อน
- อัปเดตอย่างต่อเนื่อง: การเปิดตัวโมเดลใหม่เป็นประจำ (เช่น PP-OCRv4)
- เหมาะสำหรับการใช้งานเชิงพาณิชย์: ใบอนุญาต Apache 2.0 สำหรับการใช้งานในองค์กร
การติดตั้ง
PaddleOCR ต้องการ Python 3.7+ และสามารถติดตั้งผ่าน pip ได้ การรองรับ GPU ต้องใช้ CUDA/cuDNN
การติดตั้งพื้นฐาน
pip install paddleocr paddlepaddle #รุ่น CPU
สำหรับการใช้ GPU:
การรองรับ GPU
pip install paddleocr paddlepaddle-gpu #ต้องใช้ CUDA 10.2+
หมายเหตุ: โมเดลที่ฝึกไว้ล่วงหน้าจะถูกดาวน์โหลดโดยอัตโนมัติเมื่อใช้งานครั้งแรก หรือดาวน์โหลดด้วยตนเองผ่าน paddleocr --lang en
ตัวอย่างโค้ด
ศึกษาความสามารถของ PaddleOCR ด้วยตัวอย่างเหล่านี้ ทั้งหมดนี้สมมติว่าคุณได้ติดตั้งโมเดลภาษาอังกฤษแล้ว
ตัวอย่าง 1: OCR พื้นฐาน
ในการสกัดข้อความจากภาพโดยใช้ PaddleOCR ด้วยโมเดลมาตรฐาน คุณเพียงแค่ต้องเริ่มต้นเครื่องมือ OCR ด้วยการกำหนดค่าเริ่มต้น ซึ่งรวมถึงการรองรับภาษาอังกฤษและการจำแนกมุมเพื่อเพิ่มความแม่นยำ PaddleOCR ใช้โมเดลการตรวจจับ การรู้จำ และการจำแนกที่ฝึกไว้ล่วงหน้าเพื่อระบุและตีความข้อความจากภาพที่ป้อนเข้า เมื่อประมวลผลภาพเสร็จสิ้น เครื่องมือ OCR จะส่งกลับข้อความที่ตรวจพบพร้อมตำแหน่งและคะแนนความเชื่อมั่นสำหรับแต่ละผลลัพธ์ การตั้งค่านี้เป็นวิธีที่รวดเร็วและมีประสิทธิภาพในการสกัดเนื้อหาข้อความจากภาพโดยไม่ต้องฝึกโมเดลที่กำหนดเองหรือการกำหนดค่าที่ซับซ้อน
OCR ภาพ
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang='en') # เริ่มต้น
result = ocr.ocr('image.jpg', cls=True) # ประมวลผลภาพ
# แสดงข้อความที่รู้จำ
for line in result:
print(line[-1][0]) # เนื้อหาข้อความ
ผลลัพธ์รวมถึง:
- เนื้อหาข้อความและคะแนนความเชื่อมั่น
- พิกัดของกล่องขอบเขต
ตัวอย่าง 2: การประมวลผลแบบกลุ่ม
ในการประมวลผลหลายภาพอย่างมีประสิทธิภาพโดยใช้ PaddleOCR คุณสามารถใช้ประโยชน์จากเทคนิคการประมวลผลแบบกลุ่มที่ลดการเริ่มต้นที่ซ้ำซ้อนและเพิ่มประสิทธิภาพ แทนที่จะเริ่มต้นเครื่องมือ OCR สำหรับแต่ละภาพ ขอแนะนำให้สร้างอินสแตนซ์เดียวของโมเดล OCR และนำกลับมาใช้ใหม่กับภาพทั้งหมด วิธีการนี้ช่วยลดเวลาในการประมวลผลและการใช้ทรัพยากรอย่างมาก โดยการป้อนเส้นทางภาพหลายรายการไปยังเครื่องมือ OCR ในลูปหรือใช้การประมวลผลแบบขนาน (เมื่อเหมาะสม) คุณสามารถสกัดข้อความจากชุดภาพขนาดใหญ่ได้อย่างรวดเร็วและมีประสิทธิภาพ เหมาะสำหรับเวิร์กโฟลว์ที่เกี่ยวข้องกับเอกสารแบบกลุ่ม ไฟล์ที่สแกน หรือการวิเคราะห์ภาพจำนวนมาก
OCR แบบกลุ่ม
image_paths = ['doc1.jpg', 'doc2.png']
results = ocr.ocr(image_paths, batch_size=4) # การประมวลผลแบบขนาน
ตัวอย่าง 3: การวิเคราะห์โครงร่าง
PaddleOCR ไม่เพียงแต่ใช้ในการรู้จำข้อความเท่านั้น แต่ยังสามารถระบุพื้นที่ข้อความเฉพาะและตรวจจับองค์ประกอบที่มีโครงสร้าง เช่น ตารางภายในภาพ ระบบจะระบุพื้นที่ข้อความก่อนผ่านโมเดลการตรวจจับ ซึ่งจะวาดกล่องขอบเขตรอบพื้นที่ข้อความแต่ละส่วน ช่วยให้ผู้ใช้เข้าใจตำแหน่งของข้อความภายในภาพ สำหรับโครงร่างที่ซับซ้อนมากขึ้น เช่น แบบฟอร์มหรือเอกสารที่มีตาราง PaddleOCR รองรับการวิเคราะห์โครงร่างและการรู้จำโครงสร้างตาราง ทำให้สามารถตรวจจับแถว คอลัมน์ และขอบเขตของเซลล์ได้ ซึ่งทำให้สามารถสกัดข้อมูลตารางในรูปแบบที่เป็นระเบียบ ความสามารถเหล่านี้มีประโยชน์อย่างยิ่งสำหรับการแปลงเอกสารที่สแกน ใบแจ้งหนี้ หรือสเปรดชีตเป็นดิจิทัล ที่มีทั้งข้อความอิสระและข้อมูลตารางอยู่ร่วมกัน
การตรวจจับโครงร่าง
from paddleocr import PPStructure
structure_engine = PPStructure(table=False, ocr=False)
layout_result = structure_engine('document.pdf')
คุณสมบัติขั้นสูง
PaddleOCR รองรับเวิร์กโฟลว์ที่ซับซ้อน:
- การฝึกแบบกำหนดเอง: ปรับแต่งโมเดลด้วยข้อมูลของคุณ:
การฝึกโมเดล
python tools/train.py -c configs/det/det_mv3_db.yml
- การผสมหลายภาษา: ประมวลผลเอกสารหลายภาษา:
OCR หลายภาษา
ocr = PaddleOCR(lang='chinese+english')
- รองรับ PDF: สกัดข้อความจาก PDF โดยตรง:
การประมวลผล PDF
result = ocr.ocr('document.pdf', type='pdf')
สรุป
PaddleOCR นำเสนอ OCR ที่พร้อมใช้งานจริง ด้วยการรองรับหลายภาษาและความสามารถในการปรับขนาดที่เหนือกว่า เหมาะสำหรับ:
- การแปลงเอกสารเป็นดิจิทัล: PDF ที่สแกน ใบแจ้งหนี้ ใบเสร็จ
- แอปพลิเคชันหลายภาษา: การรู้จำหนังสือเดินทาง หนังสือหลายภาษา
- การใช้งานบน edge devices: แอปมือถือที่มี OCR บนอุปกรณ์
ด้วยการสนับสนุนจากระบบนิเวศการเรียนรู้เชิงลึกของ PaddlePaddle PaddleOCR ยังคงกำหนดมาตรฐานใหม่ในด้านความแม่นยำและประสิทธิภาพของ OCR