Quy trình OCR end-to-end với Keras và TensorFlow

Sử dụng Keras-OCR để nhận dạng văn bản đơn giản nhưng mạnh mẽ trong Python.

Keras-OCR API là gì?

Keras-OCR là một thư viện Python mã nguồn mở cấp cao được thiết kế để đơn giản hóa các tác vụ nhận dạng ký tự quang học (OCR) bằng sức mạnh của Keras và TensorFlow. Không giống như các hệ thống OCR truyền thống yêu cầu cấu hình phức tạp, Keras-OCR cung cấp một quy trình end-to-end với các mô hình đã được huấn luyện sẵn cho cả phát hiện văn bản (sử dụng thuật toán CRAFT) và nhận dạng văn bản (thông qua mô hình CRNN). Sự kết hợp này cho phép các nhà phát triển trích xuất văn bản từ hình ảnh, tài liệu scan hoặc thậm chí ghi chú viết tay chỉ với vài dòng mã.

Thư viện được tối ưu hóa cho các trường hợp sử dụng thực tế bao gồm:

  • Số hóa tài liệu: Chuyển đổi tài liệu giấy hoặc PDF thành văn bản có thể tìm kiếm.
  • Nhập liệu tự động: Trích xuất văn bản từ hóa đơn, biên lai hoặc biểu mẫu.
  • Công cụ hỗ trợ: Tạo văn bản thay thế cho hình ảnh trong ứng dụng web.
  • Phân tích mạng xã hội: Xử lý văn bản trong meme hoặc nội dung do người dùng tạo.

Với hỗ trợ xử lý hàng loạt và tăng tốc GPU tùy chọn, Keras-OCR cân bằng giữa dễ sử dụng và hiệu suất, làm cho nó lý tưởng cho cả nguyên mẫu và triển khai sản xuất.

GitHub

Thống kê GitHub

Tên:
Ngôn ngữ:
Ngôi sao:
Nĩa:
Giấy phép:
Kho lưu trữ được cập nhật lần cuối lúc

Tính năng chính của Keras-OCR

  • Mô hình đã huấn luyện: Bao gồm CRAFT (bộ phát hiện) và CRNN (bộ nhận dạng) để sử dụng ngay.
  • Cài đặt dễ dàng: Phụ thuộc tối thiểu (Keras, TensorFlow, OpenCV).
  • Xử lý hàng loạt: Xử lý nhiều hình ảnh song song để tăng hiệu quả.
  • Tùy chỉnh huấn luyện: Tinh chỉnh mô hình trên tập dữ liệu riêng.
  • Không yêu cầu GPU: Chạy trên CPU nhưng tăng tốc với GPU.
  • Xuất tọa độ: Trả về văn bản với tọa độ để phân tích không gian.
  • Mã nguồn mở: Miễn phí, cộng đồng hỗ trợ và giấy phép MIT.

Cài đặt

Cài đặt Keras-OCR qua pip (yêu cầu Python 3.6+):

Cài đặt Keras-OCR


pip install keras-ocr

Để hỗ trợ GPU, đảm bảo cài đặt TensorFlow với GPU:

Cài đặt TensorFlow GPU


pip install tensorflow-gpu

Ví dụ mã

Dưới đây là các ví dụ thực tế để trích xuất văn bản từ hình ảnh bằng Keras-OCR.

Phát hiện văn bản Keras-OCR

Ví dụ 1: Phát hiện và nhận dạng văn bản cơ bản

Ví dụ này cho thấy cách sử dụng pipeline đã huấn luyện sẵn:

Pipeline OCR cơ bản


import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)

Ví dụ 2: Xử lý hàng loạt

Xử lý nhiều hình ảnh cùng lúc để tăng hiệu quả:

Xử lý hàng loạt


import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
images = ["image1.jpg", "image2.jpg", "image3.jpg"]
batch_predictions = pipeline.recognize(images)
for prediction in batch_predictions:
    print(prediction)

Ví dụ 3: Hiển thị khung văn bản

Vẽ các khung văn bản đã phát hiện lên hình ảnh gốc:

Hiển thị kết quả


import matplotlib.pyplot as plt
import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
image = keras_ocr.tools.read("document.jpg")
predictions = pipeline.recognize([image])
keras_ocr.tools.drawAnnotations(image, predictions[0])
plt.imshow(image)
plt.show()

Kết luận

Keras-OCR đơn giản hóa việc trích xuất văn bản với pipeline sẵn sàng sử dụng, làm cho nó trở thành lựa chọn tuyệt vời cho các nhà phát triển cần OCR nhanh chóng, chính xác mà không cần cấu hình phức tạp. Khả năng tích hợp với Keras và TensorFlow cho phép tùy chỉnh, trong khi xử lý hàng loạt đảm bảo khả năng mở rộng.

Dù bạn đang xây dựng trình quét tài liệu, tự động hóa nhập liệu hay phân tích nội dung mạng xã hội, Keras-OCR cung cấp một giải pháp nhẹ nhàng nhưng mạnh mẽ.

Sản Phẩm Tương Tự

 Vietnamese