CHƯƠNG I : GIỚI THIỆU BÀI TOÁN 1. Tổng quan về nhận dạng ký tự quang Chúng ta sống trong thời đại khi bất kỳ tổ chức hoặc công ty nào mở rộng quy mô và để phù hợp phải thay đổi cách họ nhìn vào công nghệ và thích nghi với sự thay đổi nhanh chóng của công nghệ. Chúng ta đã biết Google đã số hóa sách như thế nào hoặc cách Google Earth sử dụng NLP để xác định địa chỉ hoặc làm thế nào có thể đọc văn bản trong các tài liệu kỹ thuật số như hóa đơn, giấy tờ pháp lý. Đó chính là bài toán nhận dạng ký tự quang học (OCR) được thực hiện trong luận văn này.
Nhận dạng ký tự quang học là ứng dụng công nghệ chuyên dùng để đọc text ở file ảnh. Được biết đến là một công cụ scan kỹ thuật số chuyên nhận dạng các ký tự, chữ viết tay, hay chữ đánh máy, công nghệ này chuyên dùng để truyền tải, nhập liệu dữ liệu, nhận dạng ký tự quang học có khả năng số hóa nhiều tài liệu khác nhau như: hóa đơn, hộ chiếu, danh thiết, tài liệu. Bằng cách áp dụng nhận dạng ký tự quang học, quy trình số hóa tài liệu, tìm kiếm và chỉnh sửa sẽ được thực hiện một cách tự động, tiết kiệm không gian lưu trữ và thuận tiện trong việc tra cứu thông tin. Hiện nay đối với ảnh chụp văn bản cần nhận dạng, ta có thể chia ra làm 2 loại : - Văn bản có cấu trúc: Văn bản trong một tài liệu đánh máy thường xuất hiện trong những nền tảng tiêu chuẩn, có hàng lối, phông chữ tiêu chuẩn.
Các văn bản này thường gặp ở những giấy tờ tùy thân như chứng minh thư nhân dân, giấy khai sinh, hộ chiếu hay có thể là trang sách. Đối với loại dữ liệu này, việc trích xuất đặc trưng, xác định vị trí ký tự và nhận dạng ký tự sẽ không khó nếu văn bản không bị mờ, nhòe hoặc điều kiện ánh sáng quá thiếu. Văn bản phi cấu trúc: Văn bản tại các vị trí ngẫu nhiên trong một khung cảnh tự nhiên. Văn bản thưa thớt, không có cấu trúc hàng thích hợp, nền phức tạp, tại vị trí ngẫu nhiên trong ảnh và không có phông chữ chuẩn.
Những văn bản này có thể là biển hiệu quảng cáo, hóa đơn, biển số xe hoặc chữ viết tay. Trong phạm vi luận văn, các kí tự nằm trên sản phẩm có thể được gọi là văn bản phi cấu trúc vì chúng có màu sắc, vị trí ngẫu nhiên trong ảnh. Luan van 10 Hình 1: Văn bản có cấu trúc Hình SEQ Hình \* ARABIC 1: Văn bản có cấu trúc Hình SEQ Hình \* ARABIC 2: Văn bản phi cấu trúc Hình 2: Văn bản phi cấu trúc 1. Các bước cơ bản bản nhận dạng ký tự quang học Trước khi có sự bùng nổ của công nghệ học sâu vào năm 2012, nhận dạng ký tự quang học vẫn là một vấn đề thách thức đặc biệt là khi hình ảnh văn bản được chụp trong môi trường không bị giới hạn.
Khi hình ảnh chứa nền phức tạp, nhiễu, phông chữ khác nhau và biến dạng hình học trong hình ảnh. Điều đó được thể hiện rất rõ trong các trường hợp hóa đơn khách hàng chụp gửi lại cho chúng ta có thể ở trong những điều kiện rất xấu như lóa (do giấy in hóa đơn rất bóng), bị nhàu nát, không đủ sáng, bị ướt. Chính trong những tình huống như vậy, nhận dạng ký tự quang học kết hợp cùng học sâu là biện pháp tốt nhất được sử dụng để nhận dạng văn bản. Luan van 11 Hình 3: Sơ đồ cơ bản của một hệ thống nhận dạng ký tự quang học Bất kỳ một hệ thống nhận dạng ký tự quang học nào đều tuân theo 3 bước sau: - Tiền xử lý ảnh: Trước khi xác định được vị trí các kí tự, ảnh cần được tiền xử lý để đạt được một số yêu cầu nhất định.
Ảnh có thể được nâng cao chất lượng, phân cụm để giảm số lượng giá trị trong ảnh, lọc nhiễu sử dụng các bộ lọc như Gaussian, Median hoặc có thể đưa về hệ màu đen trắng đối với những bài toán có nền đơn giản như phân loại biển số xe để giảm chiều dữ liệu cũng như kích thước dữ liệu. Đối với một số bài toán sử dụng công nghệ học sâu, ảnh sẽ được thay đổi kích thước nhất định để phù hợp với mô hình. Quá trình tiền xử lý này cần thực hiện sao cho giảm nhiễu và các thông tin ngoại lai nhiều nhất tuy nhiên vẫn phải giữ lại được những thông tin cần thiết cho quá trình xác định và nhận diện sau này. - Phát hiện ký tự: Sau khi ảnh được tiền xử lý, ta sẽ tiến hành xác định vị trí của ký tự hoặc nhóm các kí tự có cấu trúc giống nhau.
Mục tiêu của nhận diện ký tự tương tự như các bài toán xác định vật thể với vật thể đặc thù ở đây là vị trí của các ký tự. Hiện nay, với sự bùng nổ của công nghệ học sâu, các mô hình được sinh ra để giải quyết những bài toán với độ chính xác cao lên tới hơn 90% có thể được kể đến như DB, Text Fusnet[13], CRAFT[14],. Các mô hình này cho kết quả nhận diện tốt trên các bộ văn bản có cấu trúc lẫn những văn bản phi cấu trúc, tiêu biểu như nhận diện biển báo (một loại kĩ thuật trên không chỉ thể hiện được kết quả tốt trên các bộ văn bản có cấu trúc mà còn ở cả các loại văn bản phi cấu trúc tiêu biểu nhất là biển báo - loại văn bản cảnh). Hình 4: Kết quả nhận diện hộp giới hạn sử dụng mô hình xác định ký tự Luan van 12 - Nhận diện ký tự: Sau khi đã xác định các các hộp giới hạn, từng hộp sẽ được xử lý để nhận dạng được các kí tự có trong vùng ảnh đó đó và ghép thành từ cụ thể.
Hiện nay, một số công cụ thông dụng thường được sử dụng Tesseract, Google API tuy nhiên khi gặp những trường hợp ảnh bị mờ hoặc méo thường sẽ cho ra kết quả không được tốt. Các mô hình học sâu hiện nay thường dùng cho bài toán này như CRNN, ASTER, MORAN, DAN có cấu trúc chung là biến đổi ảnh - trích xuất đặc trưng - mô hình tuần tự - dự đoán. Trong đó mô hình tuần tự và dự đoán là 2 phần đóng vai trò quan trọng nhất của một mô hình nhận dạng ký tự với các kiến trúc nổi tiếng là LSTM, CTC và Attention. CHƯƠNG 2: KỸ THUẬT HỌC SÂU TRONG PHÂN TÍCH CHỨNG MINH THƯ Phần lớn các mô hình dùng cho nhận diện ký tự hiện nay đều dựa trên công thức: Biến đổi ảnh - Trích xuất đặc trưng - Mô hình hóa tuần tự - Dự đoán.
Với mô hình SOTA trong những năm gần đây là TPS- ResNet - BiLSTM - Attention, quyết định sử dụng mô hình này phục vụ cho bài toán Text Recognition cho chứng minh thư. Mô tả bài toán nhận dạng chứng minh nhân dân Hình 5: Chứng minh thư mẫu cũ Luan van 13 Với bài toán nhận diện ký tự quang học cho dữ liệu là ảnh chứng minh thư, có rất nhiều quy trình được đề xuất, trong đó thường bao gồm các bước sau: - Xử lý ảnh, xác định vùng quan tâm chưa chứng minh thư. Do ảnh chụp chứng minh thư thường bị nghiêng, chéo, ta cần phải chuẩn hóa ảnh trước khi cho vào mô hình nhận diện. Các phương pháp thường được sử dụng là: xác định biên của chứng minh thư, xác định góc của chứng minh thư.
Xác định biên của chứng minh minh thư có thể sử dụng các kỹ thuật như tìm đường biên trong xử lý ảnh, phân vùng đối tượng, xác định các góc của chứng minh thư. Từ đó, tác giả có thể xác định được tâm xoay và ma trận chuyển vị để từ đó thu được ảnh vùng quan tâm ở vị trí tốt được sử dụng cho phần nhận diện ký tự ở bước 2. - Xác định hộp giới hạn của từng dòng ký tự của ảnh. Các hộp giới hạn ứng với từng dòng ký tự của ảnh.
Phần xác định ký tự này có thể sử dụng các mô hình nhận diện vật thể phổ biến hoặc dùng các mô hình chuyên biệt cho các bài toán xác định văn bản cảnh như: CTPN[15], EAST[16], Differentiable Binarization[17], CRAFT,. - Nhận diện nội dung các ký tự trong các hình giới hạn ký tự. Phần nhận dạng ký tự có thể sử dụng các framework như Tesseract hoặc các mô hình về nhận dạng ký tự văn bản cảnh: CRNN-CTC loss, Attention-OCR,. Ví dụ 1 ảnh sau khi thực hiện qua 2 bước xác định góc và xác định ký tự.
Hình 6: Hộp giới hạn của vùng chữ nhận diện được Luan van 14 Hình 7: Kết quả nhận diện text với từng trường thông tin trong chứng minh thư Pipeline của mô hình được mô tả như sau Ảnh Tách Trích Mô Phân Tách đầu chữ xuất hình loại nốt đối vào đặc hóa trong đồ tượng trưng đồ thị thị Hình 8: Pipeline của hệ thống nhận diện ký tự quang học sử dụng mạng mạng thần kinh đồ thị. - Sử dụng mạng thần kinh đồ thị để xác định các trường thông tin. Đầu tiên, ta cần nhận diện được chữ trong văn bản, các chữ này được đưa qua mô hình trích xuất đặc trưng. Những đặc trưng này biểu diễn mối liên hệ giữa vị trí của các từ trong văn bản với nhau.
Những dữ liệu này được đưa qua một mô hình đồ thị để phân loại đặc trưng này thuộc những nốt nào. Các nút ở đây chính là các hộp giới hạn thu được sau bước xác định ký tự. Dựa vào kết quả phân loại này, ta sẽ có kết quả cuối cùng là các trường thông tin của văn bản. Các phương pháp sử dụng để thực hiện bài toán nhận dạng ký tự quang học Phương pháp học sâu hiện nay đã đạt được nhiều thành tựu trong ứng dụng nhận dạng, xử lý hình ảnh.
Do đó, trong luận văn này, tác giả không sử dụng phương pháp học máy cổ điển mà sử dụng phương pháp học sâu để xử lý bài toán nhận dạng ký tự quang học cho văn bản có cấu trúc ứng dụng trong đọc thông tin trong chứng minh thư. Luan van 15 Bài toán nhận diện ký tự quang học được chia làm ba phần: - Xử lý ảnh, phát hiện vùng ROI của chứng minh thư: sử dụng phương pháp học sâu để xác định góc của chứng minh thư. Từ đó, xoay thẳng chứng minh thư để tăng chất lượng nhận diện ký tự. - Xác định vùng vùng quan tâm dựa trên cấu trúc văn bản bản sử dụng mô hình CRAFT.
Vùng quan tâm sẽ chứa từng ký tự của văn bản, bốn góc của vùng quan tâm tạo thành hình chữ nhật.