Phương pháp đánh giá mô hình OCR

Một phần của tài liệu Ứng dụng học sâu giải quyết bài toán nhận dạng ký tự tiếng việt (Trang 36)

1.7.1 Các phương pháp đánh giá

Văn bản chính xác - Ground Truth Text

Trong bài toán OCR, văn bản chính xác là văn bản mà mô hình OCR cần nhận dạng được.

Để đánh giá độ chính xác của một mô hình OCR, người ta thường sử dụng một số tiêu chí như sau:

Precision

Precision là tỷ lệ giữa tổng số dự đoán đúng và tổng số dự đoán được tạo ra bởi mô hình.

Precision= Nr

N (1.7.1)

trong đó:

• Nr là số lượng từ hoặc ký tự mô hình dự đoán đúng.

• N là tổng số lượng từ hoặc ký tự mà mô hình dự đoán.

Recall

Recall là tỷ lệ giữa tổng số dự đoán đúng và tổng số lượng của văn bản chính xác.

Recall = Nr

N (1.7.2)

trong đó:

• Nr là số lượng từ hoặc ký tự mô hình dự đoán đúng.

• N là tổng số lượng từ hoặc ký tự của văn bản chính xác.

F1-score

F1−score là kết hợp của 2 tiêu chí Precision và Recall.

F1−score=2 Precision.Recall

Precision+Recall (1.7.3)

Khoảng cách Levenshtein

Các phương pháp trên là các phương pháp đánh giá thường dùng cho tất cả các bài toán học sâu nói chung, có thể không đủ hiệu quả để đánh giá cho một mô hình OCR.

Do kết quả của mô hình OCR và văn bản chính xác có thể có độ dài không giống nhau, nên khó có thể nói ký tự này là dự đoán đúng hay sai, vì ta khó xác định là cần so sánh nó với ký tự nào trong văn bản chính xác. Vì vậy, người ta chia lỗi của bài toán OCR thành 3 loại:

• Lỗi thay thế: Ký tự hoặc từ bị nhận diện sai.

• Lỗi chèn: Bao gồm cả những ký tự không chứa trong văn bản chính xác.

• Lỗi xóa: Ký tự bị mất hoặc bị thiếu.

Để đo mức độ sai lệch giữa 2 văn bản, người ta sử dụng khoảng cách Levenshtein, được định nghĩa là tổng số lần thay thế, chèn hoặc xóa ký tự nhỏ nhất để biến đổi văn bản này thành văn bản khác. Khoảng cách Levenshtein của 2 văn bản càng lớn, thì mức độ sai khác giữa 2 văn bản càng cao.

Dựa vào khoảng cách Levenshtein, người ta đưa ra một số phương pháp đánh giá thường được sử dụng cho mô hình OCR: Tỷ lệ lỗi ký tự - Character Error Rate (CER) và Tỷ lệ lỗi từ - Word Error Rate (WER)

Tỷ lệ lỗi ký tự - Character Error Rate (CER)

Tỷ lệ lỗi ký tự (CER) cho ta đánh giá mô hình OCR ở mức độ ký tự. CER càng thấp, khả năng đoán sai của mô hình ở mức độ ký tự càng ít. Tỷ lệ lỗi ký tự thường được sử dụng với các bài toán OCR mà văn bản là các chuỗi ký tự đặc biệt như số điện thoại, các loại mã,...

CER= S+D+I

N (1.7.4)

trong đó:

• S: Số phép thay thế

• I: Số phép chèn

• N: Số ký tự của văn bản chính xác

Tỷ lệ lỗi từ - Word Error Rate (WER)

Đối với các văn bản là các câu hoặc các đoạn văn, người ta thường đánh giá mô hình OCR theo tiêu chí Tỷ lệ lỗi từ (WER). Cách tính tương tự với tỷ lệ lỗi ký tự nhưng ở mức độ từ. W ER= Sw+Dw+Iw Nw (1.7.5) trong đó: • Sw: Số từ thay thế • Dw: Số từ bị thiếu hoặc mất • Iw: Số từ bị thêm vào • Nw: Số từ của văn bản chính xác 1.7.2 Các bộ dữ liệu đánh giá FSNS

FSNS là bộ dataset bao gồm hơn 1 triệu hình ảnh các biển báo tên đường được lấy từ chế độ xem phố của Google (Google Street View). Các hình ảnh được chụp ở nhiều góc độ với các độ sáng, chất lượng khác nhau.

Hình 1.16: Hình ảnh từ bộ dữ liệu FSNS. Nguồn: [45].

im2latex-100k

im2latex là bộ dataset gồm khoảng 100 nghìn hình ảnh các công thức toán.

Hình 1.17: Hình ảnh từ bộ dữ liệu im2latex-100k. Nguồn: [46].

ArT dataset

ArT là bộ dataset được kết hợp từ các bộ dataset Total-Text [47], SCUT- CTW1500 [48] và Baidu Curved Scene Text, bao gồm tổng cộng 10166 hình ảnh, chứa các đoạn văn bản có hình dáng với các phông nền khác nhau.

Chương 2

CÁC PHƯƠNG PHÁP TIẾP CẬN BÀI TOÁN

Để lựa chọn và phát triển theo hướng đi có khả năng nổi trội nhất, tác giả tập trung vào việc phân tich, đánh giá tính chất, điểm mạnh điểm yếu của từng phương pháp tiếp cận, từ đó xác định hướng tiếp cận hiệu quả nhất cho đề tài.

2.1 Phương pháp nhận dạng từng ký tự - Char-

acter Based OCR

2.1.1 Tổng quan hướng tiếp cận

Theo Tappert et al. (1990) [39], Nhận dạng ký tự quang học - Optical Character Recognition được định nghĩa là một hệ thống chuyển đổi chữ đầu vào thành ký tự máy. Đến thời điểm hiện tại, OCR đã phát triển và được cải tiến với rất nhiều nghiên cứu, hướng tiếp cận khác nhau, một trong số phương pháp tiếp cận đầu tiên cần nhắc tới là Phương pháp nhận dạng từng ký tự - Character Based OCR.

Cũng như tên gọi, điểm đặc biệt nhất của phương pháp tiếp cận này là chia tách ảnh đầu vào thành từng ký tự và đưa vào mô hình, mỗi ký tự được so sánh với một cơ sở dữ liệu các ký tự. Ký tự trong cơ sở dữ liệu giống với ký tự đang đọc nhất sẽ được chọn. Trên thực tế phân tách dữ liệu sẽ được tiến hành như Hình 2.1 bên dưới.

Hình 2.1: Phân tách ký tự trong Phương pháp nhận dạng từng ký tự - Character Based OCR. Nguồn: [44]

2.1.2 Xử lý ảnh

Thông thường, các ảnh đầu vào không ở định dạng lý tưởng cho mô hình học máy. Để đầu vào tối ưu và đầu ra chính xác nhất, trước tiên cần xử lý hình ảnh. Đây là một bước rất quan trọng đối với OCR, mục đích chính là làm cho văn bản trở nên dễ đọc hơn. Các vấn đề thường gặp với ảnh đầu vào có thể kể đến như ảnh bị lệch, đơn sắc, sai kích thước, quá nhiễu, ... Một số kỹ thuật xử lý ảnh như sau:

Khử độ lệch (De-skewing):Nếu ảnh đầu vào không được căn chỉnh chính xác (bị lệch, nghiêng, xoay, ...), cần xoay lại tài liệu vài độ theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ để tạo ra các dòng văn bản thẳng theo chiều ngang hoặc dọc, ví dụ như Hình 2.2 bên dưới:

Hình 2.2: Xử lý ảnh đầu vào bị lệch (De-skewing). - Nguồn: [64]

Chuyển ảnh về dạng trắng đen (Binarization):Đây là quá trình chuyển một ảnh nhiều màu thành ảnh đen trắng để tách các đối tượng ra khỏi nền ảnh. Với kỹ thuật này, ngưỡng phân biệt là rất quan trọng để có một ảnh đầu ra lý tưởng (Hình 2.3).

Hình 2.3: Chuyển ảnh về dạng trắng đen (Binarization). Nguồn: [64]

Loại bỏ nhiễu (Despeckle):Trong ảnh đầu vào thường xuất hiện các điểm ảnh quá sắc nét hoặc cường độ cao gây khó khăn cho các mô hình học máy. Kỹ thuật này giúp làm mịn hình ảnh, cụ thể như Hình 2.4.

Hình 2.4: Loại bỏ nhiễu (Despeckle). Nguồn: [64]

Loại bỏ đường kẻ (Line removal): Loại bỏ các hộp, và đường kẻ không cần thiết, chi tiết như Hình 2.5.

Hình 2.5: Loại bỏ đường kẻ (Line removal). Nguồn: [64]

Phân tích bố cục (Layout analysis or “zoning”): Xác định các cột, đoạn văn, chú thích, v.v., dưới dạng khối. Đây là kỹ thuật đặc biệt hữu ích trong văn bản có bố cục theo vùng, có bảng nhiều cột.

Phát hiện dòng và từ (Line and word detection): Thiết lập đường cơ sở hình dạng từ và ký tự, phân chia các từ.

Nhận dạng tập ký tự (Script recognition): Trong nhiều ngôn ngữ, tập ký tự có thể chuyển đổi ở cấp độ từ và do đó việc xác định tập ký tự là rất quan trọng trước khi OCR.

Phân chia ký tự hoặc "phân đoạn" (Character isolation or “segmen- tation”): Trong CB-OCR, thuật toán sẽ chia các từ khác nhau thành các ký tự đơn lẻ để dễ dàng nhận dạng (Hình 2.6).

Hình 2.6: Phân chia ký tự hoặc "phân đoạn" (Character isolation or “segmen-tation”). Nguồn: [64] tation”). Nguồn: [64]

Chuẩn hoá (Normalization): Chuẩn hóa tỷ lệ, phóng to thu nhỏ về kích thước chuẩn.

2.1.3 Mô hình Character Classification

Thông thường các mô hình OCR sẽ bao gồm 1 mạng nơ ron tích chập CNN để trích xuất các đặc trưng và 1 lớp phân loại (softmax, LTSM, ...) để phân loại ký tự đó vào lớp nào và trả ra kết quả.

Đầu vào của mạng nơ ron tích chập CNN là hình ảnh của các ký tự đã được tiền xử lý và lưu dưới dạng Tensor được mô tả như hình bên dưới.

Hình 2.7: Tensor. Nguồn: DeepAI.org

Hình ảnh sẽ được truyền vào mạng nơ ron tích chập CNN với mục đích là học được các đặc trưng hình ảnh để làm đầu vào cho lớp phân loại. Tương tự như mạng nơ-ron thông thường, mạng CNN gồm các trọng số có thể học dựa trên thuật toán tối ưu độ dốc bằng hàm chi phí qua các lớp. Cấu trúc của mạng có thể mô tả như Hình 2.7 bên dưới.

Hình 2.8: Mô hình Character Classification. Nguồn: [23]

Mạng CNN này bao gồm các lớp ẩn (hidden layers) được gọi là lớp chập và các bộ lọc (filters). Bản chất bộ lọc là một ma trận có kích thước nhỏ (như 3x3, 5x5) có khả năng nhận dạng các đặc trưng như góc, cạnh, hình dạng, ... Bộ lọc sẽ trượt và lần lượt nhân với ma trận của hình ảnh từ đó tạo ra các

điểm giá trị. Càng về các lớp cuối, bộ lọc càng có khả năng nhận diện được đặc trưng chính xác và phức tạp hơn. Mỗi lớp chập sẽ có số lượng bộ lọc nhất định. Toàn bộ điểm sau khi nhân với ma trận bộ lọc sẽ được đưa vào hàm kích hoạt và tạo ra bản đồ kích hoạt (activated map), tuỳ vào hàm các điểm sẽ có giá trị từ -1 đến 1. Các điểm trên bản đồ kích hoạt sẽ đi qua lớp tổng hợp tối đa (max pooling) và chỉ giữ lại các giá trị lớn nhất, bỏ qua phần còn lại. Lớp cuối cùng được gọi là lớp tổng hợp kết nối (fully-connected layer), lớp này lấy kết quả đầu ra của mạng nơ ron tổng hợp lại. Cuối cùng kết quả của lớp tổng hợp kết nối (fully-connected layer) sẽ được đi qua lớp phân loại và trả ra kết quả là các ký tự.

2.1.4 Các kết quả tiêu biểu

Trong các nghiên cứu về CB-OCR, Tesseract 3 [44] phát triển bởi Google đang đạt đỉnh cao với kết quả trả ra tốt và chính xác nhất, hiện đang được cung cấp như một mã nguồn mở.

Trong nghiên cứu [44], Tesseract giả định các đầu vào là hình ảnh nhị phân với các vùng văn bản đa giác tùy chọn được xác định. Trước tiên, tiến hành phân tích các thành phần được kết nối. Các đường biên của chữ được tập hợp lại với nhau tạo thành các khối (Blobs). Các khối màu được tổ chức thành các dòng văn bản sau đó phân tích các dòng để xác định độ cao, tỷ lệ văn bản. Các dòng này sẽ được chia thành các từ khác nhau dựa trên khoảng cách ký tự có thể bằng dấu cách hoặc dấu cách mờ. Quá trình nhận diện sẽ được thực hiện hai lần. Lần đầu tiên, cố gắng nhận diện từng từ. Các từ được xác định một cách tương đối và chuyển đến một bộ phân loại dưới dạng dữ liệu huấn luyện. Lần phân loại thứ hai sẽ giúp cải thiện quá trình phân loại trên văn bản với các từ không được nhận dạng đủ tốt. Cuối cùng sẽ giải quyết các khoảng

mờ và kiểm tra các giả thuyết thay thế với các từ có khoảng cách nhỏ.

2.1.5 Đánh giá hướng tiếp cận

2.1.5.1 Điểm mạnh

- Khả năng học các các đặc trưng bất thường: Với lượng dữ liệu lớn, mô hình sử dụng phương pháp CB-OCR có khả năng học được đa dạng đặc trưng do đó có khả năng giải quyết được các bài toán trong thực tế.

2.1.5.2 Điểm yếu

- Không quan tâm đến ngữ nghĩa của từ: đây có thể coi là điểm yếu lớn nhất của phương pháp tiếp cận CB-OCR. Phương pháp chỉ đơn thuần phân loại ký tự dựa trên các đặc trưng học được, trong các trường hợp như chữ "l" với số "1", khi không quan tâm đến mặt ngữ nghĩa, mô hình rất dễ phân loại nhầm đọc ra các kết quả không chính xác.

- Các văn bản chữ viết tay không chính xác: Đối với các dạng văn bản chữ in chuẩn chỉnh phương pháp tiếp cận đảm bảo kết quả tương đối chính xác. Tuy nhiên, các dữ liệu chữ viết tay vẫn là một thách thức mà phương pháp chưa giải quyết được.

2.2 Phương pháp nhận dạng từng từ - Word Based

OCR

2.2.1 Tổng quan hướng tiếp cận

Phương pháp tiếp cận theo Phương pháp nhận dạng từng từ - Word Based OCR là một cải tiến khá nổi trội từ phương pháp Phương pháp nhận dạng từng

ký tự - Character Based OCR, điểm khác biệt duy nhất là thay vì thực hiện phân tách ký tự và nhận dạng ký tự, phương pháp này thực hiện phân tách theo từ và nhận dạng theo từ.

Hình 2.9: Luồng xử lý Phương pháp nhận dạng từng từ - Word Based OCR

2.2.2 Xử lý ảnh

Việc thực hiện mô hình Phương pháp nhận dạng từng từ - Word Based OCR gồm các bước xử lý ảnh giống như Phương pháp nhận dạng từng ký tự - Character Based OCR, bao gồm:

• Khử độ lệch (De-skewing).

• Loại bỏ nhiễu (Despeckle).

• Loại bỏ đường kẻ (Line removal).

2.2.3 Nhận dạng từ - Word Detection

Phần khác biệt duy nhất trong xử lý ảnh của phương pháp này là nhận dạng từ (Word Detection) thay vì nhận dạng ký tự (Character Detection). Có nhiều phương pháp tiếp cận từ hướng này, tuy nhiên tổng kết được hai loại phương pháp chung:

• Phương pháp phân tách sử dụng xử lý ảnh: Việc phân tách khá từ giống với việc phân tách ký tự, tuy nhiên có dễ hơn, bởi vì các từ được cách nhau bởi dấu cách và có khoảng trống trong khi các ký tự thì không. Có nhiều phương pháp thực hiện cách này, tuy nhiên cách đơn giản nhất là chiếu dòng chữ theo phương ngang và đặt ngưỡng cắt.

Hình 2.10: Phân tách từ.

• Phương pháp phân tách sử dụng mô hình học máy: Mô hình học máy tỏ ra có lợi thế lớn khi mà có thể tối ưu nâng cao độ chính xác vì mô hình có khả năng học từ dữ liệu. Các mô hình thông thường đi theo hướng nhận diện vật thể (Object Detection) từ các mô hình tiêu biểu như Faster- RCNN hay YOLO (You only look once). Thông thường phương pháp này được sử dụng nhiều hơn vì cho độ chính xác cao và khả năng học thêm dữ liệu.

2.2.4 CRNN

Đối với hướng tiếp cận Word Based OCR, tác giả Baoguang Shi đã sử dụng mô hình CRNN [55] và đạt được kết quả rất khả quan. Mô hình CRNN

được thiết kế để phục vụ cho các bài toán nhận diện vật thể dạng chuỗi trong ảnh, đặc biệt phù hợp với các bài toán OCR (do đối tượng nhận diện thường là một chuỗi các ký tự). CRNN là viết tắt của Convolutional Recurrent Neural Network, hay mạng nơ-ron hồi quy tích chập. Sở dĩ có tên như vậy vì mô hình là sự kết hợp giữa mạng nơ-ron tích chập CNN và mạng nơ-ron hồi quy RNN. Đồi vật các vật thể dạng chuỗi, CRNN có lợi thế hơn các mô hình mạng tích chập thuần túy ở các điểm:

• Mô hình có thể học trực tiếp từ nhãn của chuỗi (các từ), không cần đến các nhãn ở mức độ thấp hơn (các ký tự).

• Có khả năng học các biểu diễn có ích tương tự như mạng CNN, chỉ sử dụng dữ liệu ảnh mà không cần đến việc tạo các đặc trưng thủ công hay các bước tiền xử lý (ví dụ như nhị phân hóa, địa phương hóa, phân vùng ngữ nghĩa, ...).

• Có khả năng tạo ra một chuỗi các dự đoán giống với mạng RNN.

• Không bị ràng buộc bởi độ dài của vật thể, chỉ yêu cầu chuẩn hóa chiều cao trong cả quá trình huấn luyện và kiểm thử.

• Mô hình cho kết quả tốt hơn các phương pháp trước ([56], [57]) đối với dữ liệu chữ đặt trong bối cảnh thực tế (scene texts).

• CRNN có lượng tham số mô hình ít hơn một mô hình CNN tiêu chuẩn, giúp tiết kiệm bộ nhớ cho các tác vụ khác.

Kiến trúc cụ thể của mô hình CRNN như sau: Mô hình được tạo nên từ 3 thành phần chính: các lớp tích chập, các lớp hồi quy và lớp phiên mã. Ở tầng

Một phần của tài liệu Ứng dụng học sâu giải quyết bài toán nhận dạng ký tự tiếng việt (Trang 36)

Tải bản đầy đủ (PDF)

(107 trang)