You are on page 1of 12

Người tìm hiểu: Hà Thúy Ân

OCR – (Optical Character Recognition)


1. Định nghĩa:
Nhận dạng ký tự quang học (OCR) là một hình thức chuyển đổi điện tử chuyển hình ảnh văn bản
được đánh máy, viết tay hoặc in thành những văn bản được mã hóa.

2. Cách thức hoạt động:


Gồm 3 quá trình: Tiền xử lý (pre-processing), Khai thác chi tiết (feature extraction), Hậu xử lý
(post-processing).

A, Giai đoạn Pre-processing: mục đích làm tăng khả năng nhận dạng

Gồm các kĩ thuật:

 De-skew: nếu như tài liệu không được căn chỉnh chính xác trước khi quét, nó phải được
nghiêng vài độ theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ để tạo thành các dòng văn
bản hoàn toàn theo chiều ngang hoặc dọc.

1
 Despeckle: xóa những vết mực có thể có trên văn bản và bo lại các góc cạnh cho phù hợp.

 Binarization: chuyển đổi hình ảnh thành trắng đen (hay còn được gọi là “hình ảnh nhị phân”
vì nó chỉ có hai màu). Việc chuyển đổi này giúp cho việc quét văn bản trở nên dễ dàng và chính
xác hơn vì giúp phân biệt được chữ và nền.

 Line-removal: xóa các đường kẻ không cần thiết.

2
 Layout analysis or “zoning”: xác định các cột, đoạn văn, chú thích, . . .dưới dạng khối. Kĩ
thuật này đặc biệt hữu ích đối với văn bản có bố cục nhiều cột và bảng.

 Line and word detection: thiết lập đường cơ sở cho các từ, và chia từ ra khi được yêu cầu.
3
 Script recognition: trong các tài liệu chứa nhiều ngôn ngữ, văn bản có thể bị biến đổi một số
từ, vì vậy việc xác định đó là ngôn ngữ gì là rất quan trọng để tăng tính chính xác của kết quả.

 Character isolation or “segmentation”: tách riêng các từ ra.

4
 Normalization: căn chỉnh tỉ lệ khổ văn bản cho phù hợp.

B, Giai đoạn Feature Extraction: gồm hai phương pháp

 Phương pháp 1: thuật toán được áp dụng để xác xác định một kí tự bằng cách đánh giá các
đường và nét của nó.
 Phương pháp 2: việc nhận dạng hoạt động dựa trên việc xác định cả một kí tự (chứ không
riêng lẻ từng đường, nét như phương pháp trên).
 Ta có thể nhận dạng ra một dòng văn bản bằng cách tìm kiếm các hàng pixel màu trắng có
các pixel màu đen ở giữa. Tương tự như vậy, ta cũng có thể nhận dạng ra được vì trí bắt đầu và
kết thúc của một kí tự.
 Minh họa cho phương pháp 1:

5
 Minh họa cho phương pháp 2:

Tiếp đến, ta chuyển đổi hình ảnh chứa đoạn văn bản thành ma trận nhị phân (pixel trắng là các số
0 và pixel đen là các số 1.

Ví dụ:

6
Sau đó, bằng cách áp dụng công thức tính khoảng cách, ta có thể xác định được khoảng cách từ
trung tâm của ma trận nhị phân đến số 1 xa nhất.

Công thức:

Sau đó, ta tạo một vòng tròn có bán kính bằng khoảng cách trên và chia nó thành các phần chi tiết
hơn.

Ở giai đoạn này, thuật toán sẽ so sánh từng chi tiết nhỏ với cơ sở dữ liệu đại diện cho các kí tự với
nhiều font khác nhau để xác định kí tự nào giống với kí tự ta đang xét nhất về mặt số liệu.

7
C, Giai đoạn Post-processing:

Độ chính xác của OCR có thể được cải thiện nếu kết quả đầu ra bị giới hạn bởi lexicon (một danh
sách các từ được phép sử dụng trong tài liệu). Ví dụ như tài liệu này bao gồm tất cả từ hoàn toàn
bằng tiếng Anh.

Giai đoạn này có thể kém hiệu quả nếu tài liệu chứa các từ không có trong lexicon, như các danh
từ riêng.

Nhưng may mắn thay, để cải thiện độ chính xác, thì các thư viện OCR trực tuyến miễn phí có thể
hỗ trợ. Ví dụ như thư viện Tesseract đang sử dụng từ điển của chính nó để kiểm soát việc phân
đoạn các kí tự.

Kết quả đầu ra có thể là một chuỗi đơn hoặc một tệp kí tự, nhưng các hệ thống OCR nâng cao hơn
vẫn giữ cấu trúc trang gốc, ví dụ như PDF chứa cả trang hình ảnh gốc và hình ảnh văn bản có thể
tìm kiếm được.

3. Demo:
 Tool sử dụng: ABBY FineReader hỗ trợ đa ngôn ngữ.

8
 Kết quả đối với Tiếng Anh:

 Kết quả đối với Tiếng Việt:


9
 Kết quả đối với Tiếng Trung:

 Kết quả đối với Tiếng Hàn:

10
 Kết quả đối với Tiếng Nhật:

 Kết luận: Hình ảnh đầu vào chất lượng càng cao thì kết quả đầu ra càng chính xác.

Nguồn tham khảo:


11
Nội dung tham khảo từ: https://moov.ai/en/blog/optical-character-recognition-ocr/

Hình ảnh minh họa lấy từ: Google

12

You might also like