11 Dự án OCR mã nguồn mở

Shape
Shape
Shape
Shape
Shape
Shape
Chia sẻ

Nhận dạng ký tự quang học (Optical Character Recognition – OCR) là phần mềm có chức năng chuyển đổi hình ảnh chữ viết tay hoặc đánh máy thành các văn bản tài liệu. Công nghệ này hiện được phát triển thành nhiều ứng dụng hữu ích như dịch thuật theo thời gian thực, định danh khách hàng điện tử hay xử lý hóa đơn, chứng từ,…. Ngày nay, OCR có khả năng xử lí trên 200 ngôn ngữ và hứa hẹn sẽ tiếp tục mang lại những bước tiến vượt bậc nhờ Trí tuệ nhân tạo.

Nếu bạn đang tìm hiểu và mong muốn phát triển các phần mềm OCR, hãy tham khảo ngay 11 dự án mã nguồn mở dưới đây. Các dự án này cung cấp cả động cơ, API, trình tạo và các công cụ hỗ trợ.

Services

1, Tesseract OCR

Tesseract OCR cung cấp một công cụ OCR – libtesseract và chương trình dòng lệnh – tesseract. So với phiên bản Tesseract 3 thì Tesseract 4 bổ sung một công cụ OCR dựa trên mạng thần kinh nhân tạo (LSTM), tập trung vào nhận dạng dòng và các mẫu ký tự. Tesseract hỗ trợ nhiều định dạng đầu ra như văn bản, hOCR (HTML), PDF, TSV, cũng như thử nghiệm đầu ra ALTO (XML).

2, EasyOCR

EasyOCR là một dự án OCR Python nguồn mở cho phép các nhà phát triển thị giác máy tính dễ dàng thực hiện Nhận dạng ký tự quang học, với hơn 80 ngôn ngữ, bao gồm tiếng Trung, Nhật, Hàn, Thái… EasyOCR có thể được cài đặt chỉ bằng một lệnh pip và nhập vào dự án bằng lệnh import. Như vậy, tất cả những gì bạn cần là hai dòng code – một để khởi tạo lớp Reader và sau đó một dòng khác để tiến hành nhận dạng ký tự quang học thông qua chức năng readtext.

3, Swift AI

Swift AI là một thư viện học sâu có hiệu suất cao được viết hoàn toàn bằng Swift. Swift AI hỗ trợ tất cả các nền tảng của Apple, và sắp tới là Linux. Dự án bao gồm các công cụ phổ biến được sử dụng cho trí tuệ nhân tạo và các ứng dụng khoa học như NeuralNet, Convolutional neural network, Recurrent neural network, Genetic Algorithm Library, Fast Linear Algebra Library, Signal Processing Library.

4, SwiftOCR

SwiftOCR là một dự án OCR đơn giản được viết bằng Swift và sử dụng mạng nơ-ron để nhận dạng hình ảnh. Hiện tại, SwiftOCR đã được tối ưu để nhận dạng code ngắn, gồm chữ và số (ví dụ: DI4C9CM). Dự án hỗ trợ iOS và OS X.

5, OCRmyPDF

OCRmyPDF bổ sung các lớp văn bản (text “layers”) vào hình ảnh trong tệp PDF, từ đó giúp người dùng có thể thực hiện thao tác tìm kiếm trên tệp PDF hình ảnh. OCRmyPDF được viết bằng Python và hỗ trợ các plugin cho phép tùy chỉnh quy trình xử lý.

6, text-detection-ctpn

Phát hiện văn bản dựa trên cấu trúc Connectionist Text Proposal Network – CTPN được triển khai bằng tensorflow. Thuật toán CTPN là một mô hình học sâu đầu cuối (end-to-end) có thể đào tạo.

7, PaddleOCR

PaddleOCR nhằm mục đích tạo ra các công cụ OCR giúp người dùng đào tạo mô hình và áp dụng chúng vào thực tế. PaddleOCR hỗ trợ nhận dạng nhiều ngôn ngữ như tiếng Trung, tiếng Anh, Hàn Quốc, Nhật Bản, Đức, Pháp, đồng thời cho phép cài đặt PIP và dễ sử dụng trên các hệ điều hành Linux, Windows, MacOS.

8, Parsr

Parsr là một chuỗi công cụ làm sạch, phân tích cú pháp và trích xuất tài liệu có dung lượng tối thiểu (hình ảnh, pdf, docx, eml). Parsr tạo ra dữ liệu có cấu trúc và có thể sử dụng ở các định dạng JSON, Markdown (MD), CSV / Pandas DF hoặc TXT. Hiện tại, Parsr có thể thực hiện: làm sạch tài liệu, tái tạo hệ thống phân cấp (từ, dòng, đoạn văn), phát hiện tiêu đề, bảng, danh sách, mục lục, số trang, đầu trang / chân trang, liên kết,….

9, EAST

EAST có thể phát hiện văn bản cả trong hình ảnh và video, với độ chính xác cao và gần thời gian thực ở 13FPS trên hình ảnh 720p. Người dùng dễ dàng triển khai EAST trong OpenCV 3.4.2 và OpenCV 4. Công cụ này sử dụng ResNet-50 và hàm dice loss.

10, Open Paperless

Open Paperless cung cấp một nền tảng mạnh mẽ để thực hiện quét hình ảnh theo cách nhanh chóng và thông minh. Công cụ này cũng cho phép sửa đổi, xem tài liệu và lưu trữ trên cả đám mây và máy chủ.

11, VietOCR

Với VietOCR, mô hình Transformer OCR cho phép nhận dạng chữ viết tay và đánh máy tiếng Việt. Dự án này kết hợp giữa mô hình CNN và Transformer. VietOCR có tính tổng quát tốt, độ chính xác khá cao trên một bộ dữ liệu mới mặc dù mô hình chưa được huấn luyện bao giờ.

Nguồn VinBigData