1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù

85 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 3,55 MB

Cấu trúc

  • MỤC LỤC

  • CHƯƠNG 1

  • CHƯƠNG 2

  • CHƯƠNG 3

  • KẾT LUẬN CHUNG

  • TÀI LIỆU THAM KHẢO

Nội dung

NÂNG CAO ĐỘ CHÍNH XÁC C Ủ A Ứ NG D Ụ NG S Ử D Ụ NG PHƯƠNG PHÁP LÀM PHẲ NG B Ề M Ặ T TRANG GI Ấ Y

C ác phương pháp làm phẳ ng trang gi ấ y b ằ ng x ử lý ả nh

2.1.1 Phương pháp bi ể u di ễ n ảnh xương liên tụ c (Continuous skeletal image representation - SKEL)

Phương pháp này dựa trên khả năng xác định nhánh phân chia các hàng ký tự trong ảnh chụp trang giấy thông qua khung xương ngoài (outer skeletons), với các nhánh được tính gần đúng bằng đường cong Bezier bậc ba Từ đó, có thể xác định mô hình biến dạng cho từng khoảng không gian của tài liệu, cho phép tính toán xấp xỉ toàn bộ khoảng không gian của tài liệu Sau khi xác định các khung ngoài của từng khoảng ký tự, phương pháp này giúp tìm ra cách nhánh phân tách các khoảng không gian để xây dựng mô hình biến dạng chính xác hơn.

Về cơ bản, thuật toán bao gồm các công việc như sau:

Xây dựng khung xương cho các khoảng không giữa các ký tự trong ảnh chụp trang sách giúp phân chia văn bản thành các ký tự riêng lẻ Sau đó, tiến hành loại bỏ những khung xương không cần thiết để tối ưu hóa quá trình xử lý.

Hình 2-1: Xây dựng các khung xương

Tìm kiếm các nhánh ngang và dọc từ các khung xương, đồng thời liệt kê các khung xương phân chia các khoảng nằm ngang, thể hiện rõ các dòng văn bản khác nhau.

Tính toán Bezier bậc ba cho tất cả các nhánh là bước đầu tiên, sau đó áp dụng phương pháp xấp xỉ Bezier lập phương hai chiều với giả định không gian là tuyến tính Phương pháp này được gọi là Bezier patch (Hình 2-2).

Hình 2-2: Tính toán Bezier bậc ba

- Làm phẳng bề mặt trang giấy bằng cách sử dụng giá trị từ phép tính gần đúng trên (Hình 2-3)

Hình 2-3: Làm phẳng bề mặt sử dụng SKEL

(a) Ảnh văn bản gốc; (b) Xác định các khoảng khung xương bằng Bezier patch;

(c) Ảnh đã được làm phẳng

Phương pháp này xử lý ảnh chụp trang giấy trong hệ quy chiếu hai chiều, không cần quan tâm đến độ dày của trang sách, vị trí đặt camera hay độ cong của trang Điều này giúp làm việc hiệu quả với các dòng văn bản bị biến dạng.

Biến dạng trong ảnh có thể dẫn đến việc các ký tự bị gãy khúc khi được điều chỉnh lại Điều này làm giảm hiệu quả, đặc biệt khi trang giấy có độ biến dạng cao.

2.2.2 Phương pháp làm ph ẳ ng ả nh d ựa trên phân đoạ n (Segmentation based document image dewarping - SEG) Đây là phương pháp làm phẳng trang giấy bằng phân đoạn [3]

Thuật toán này được thực thi như sau:

- Phát hiện và cắt bỏ đường viền đen nhiễu cũng như các cùng văn bản không mong muốn xung quanh vùng văn bản chính

- Phát hiện các dòng text và các chữ bằng cách sử dụng kỹ thuật phân đoạn, điều này phù hợp áp dụng với các trang giấy bị cong vênh

- Tiến hành xoay và làm thẳng các chữ cái sao cho thẳng hàng với các đường cơ sở

- Khôi phục làm phẳng ảnh bằng cách sắp xếp lại các chữ cái đã thẳng hàng của bước trước

Phương pháp này giúp loại bỏ nhiễu không mong muốn và làm sạch ảnh đầu vào trước khi xử lý phân đoạn Quá trình này bao gồm việc làm mịn ảnh, tính toán điểm bắt đầu và kết thúc của nội dung, cũng như phát hiện các vùng văn bản thừa nhờ vào hàm tương quan chéo tín hiệu.

Sau khi xác định các chữ (Hình 2-4b), các chữ cái lân cận theo chiều ngang được kết nối để tạo thành các dòng bằng cách trích xuất liên tục từ trái sang phải (Hình 2-4c) Đường cơ sở dưới và trên của từng chữ được tính toán, và độ dốc của mỗi chữ được so sánh với độ dốc của đường cơ sở tương ứng (Hình 2-4d) Tất cả các chữ được xoay và dịch chuyển để sắp xếp ngay ngắn, mặc dù có hiện tượng lệch dòng (Hình 2-4e) Cuối cùng, toàn bộ ảnh được khôi phục bằng cách dịch các chữ về các dòng cơ sở đã được tính toán trước đó (Hình 2-4f).

Hình 2- 4: Làm phẳng trang giấy sử dụng thuật toán SEG 2.2.3 Phương pháp mô hình bi ến đổ i t ọa độ (Coordinate transform model

Phương pháp này sử dụng mô hình biến đổi tọa độ để làm phẳng trang sách

Nó có khả năng xử lý các biến dạng do uốn cong trang sách với nhiều mức độ khác nhau Phép biến đổi ánh xạ các điểm từ hệ tọa độ cong sang hệ tọa độ Descartes Lưới tọa độ cong được thiết lập trên ảnh bị biến dạng, và quá trình chuyển đổi được mô tả trong hình ảnh kèm theo.

Hình 2-5: Ví dụ sự biến dạng của trang giấy, hình bên phải cho thấy lưới tọa độ cong được sử dụng

Hình 2-6 mô tả quá trình làm phẳng gồm 3 bước chính:

- Phát hiện dòng văn bản

- Ước tính ranh giới bên trái và phải, trích xuất các đường cong trên và dưới

- Tính toán và chuyển đổi tọa độ các điểm

Hình 2-6: Các bước cơ bản thực hiện phương pháp CTM 2.2.4 So sánh ưu nhược điể m c ủa các phương pháp SKEL, SEG, CTM

Bài toán thử nghiệm ba phương pháp làm phẳng trang giấy được thực hiện bằng cách sử dụng nhiều tập dữ liệu ảnh chụp trang sách với nội dung và biến dạng khác nhau Dưới đây là phân tích một số kết quả tiêu biểu từ các phương pháp này.

Trong trường hợp đầu tiên, ảnh chụp trang sách bị biến dạng do ảnh hưởng của phối cảnh và độ cong lớn của trang sách Trang sách chủ yếu chứa các dòng ký tự và công thức toán học, không có hình ảnh (Hình 2-7).

Hình 2-7: Kết quả thử nghiệm 3 phương pháp ởtrường hợp 1

(a) Ảnh đầu vào; (b) SKEL; (c) SEG – các công thức toán học bị lỗi; (d) CTM

Kết quả nghiên cứu cho thấy ba phương pháp SKEL, SEG và CTM đều có khả năng sắp xếp và làm phẳng các dòng ký tự trên trang sách Tuy nhiên, phương pháp SKEL và SEG không xử lý hiệu quả biến dạng do phối cảnh, dẫn đến việc các dòng chữ không được sắp xếp thẳng theo chiều dọc Đặc biệt, phương pháp SEG gặp vấn đề trong việc hiển thị các công thức toán học, khiến chúng trở nên khó đọc.

Trong trường hợp thứ hai, ảnh chụp trang sách bị biến dạng do phối cảnh ít và độ cong trang sách không đáng kể Trang sách này chứa nhiều công thức toán học, nhưng chỉ có một vài dòng ký tự.

Hình 2-8: Kết quả thử nghiệm 3 phương pháp ởtrường hợp 2

(a) Ảnh đầu vào; (b) SKEL; (c) SEG - vòng tròn biểu diễn khu vực bị mất ký tự sau khi làm phẳng, khung vuông là công thức toán học bị lỗi; (d) CTM

Kết quả của phương pháp SKEL cho thấy đầu ra không đạt yêu cầu, khi trang sách không được làm phẳng và các dòng ký tự bị cong Trong khi đó, phương pháp SEG gặp vấn đề mất mát ký tự ở góc phải trang giấy do quy trình xác định dòng văn bản không chính xác, dẫn đến các công thức toán học cũng bị biến dạng và không thể sử dụng Ngược lại, phương pháp CTM thực hiện tốt việc làm phẳng các dòng chữ bị biến dạng do phối cảnh và độ cong của trang sách.

Trường hợp thứ ba là chụp ảnh trang giấy vuông góc từ trên xuống, đảm bảo không bị biến dạng do phối cảnh xa gần Hình ảnh cần thể hiện độ cong lớn của trang sách và có họa tiết trong khung hình.

Hình 2-9: Kết quả thử nghiệm 3 phương pháp ởtrường hợp 3

(a) Ảnh đầu vào; (b) SKEL; (c) SEG, phần họa tiết bị sai lệch; (d) CTM

Các phương pháp làm phẳ ng trang gi ấy đề xu ấ t

2.2.1 Phương pháp Mô hình tham s ố

Kế thừa ý tưởng từ mô hình biến đổi tọa độ CTM được trình bày như mục 2.2.3, Mô hình tham số được xác định bởi các biến như sau:

- Vector quay r và vector tịnh tiến t, nằm trong miền ℝ 𝟑𝟑 , đặc trưng cho định hướng và độ tịnh tiến 3D của ảnh

- Hệ số góc α và β đặc trưng cho độ cong của trang sách

- Các khoảng y1, …, yn đặc trưng cho n khoảng theo phương ngang của tài liệu ứng với các dòng

- Đối với mỗi khoảng yi, i ∈{1,…,n}, các khoảng 𝒙𝒙 𝒊𝒊 (𝟏𝟏) , …, 𝒙𝒙 𝒊𝒊 (𝒎𝒎 𝒊𝒊 ) đặc trưng cho mi điểm trên mỗi dòng

Khi cố định một trục trên trang sách, hình dạng của trang sách sẽ tương ứng với một hàm bậc 3, có chiều dài được xác định bởi hai điểm [0, 1], trong đó 0 đại diện cho điểm bắt đầu và 1 là điểm kết thúc của dòng chữ.

Hình 2-10: Hình dáng độ cong được biểu diễn bằng biến α và β

Hình 2-10 minh họa hình dạng trang giấy thông qua các biến α và β Khi α = 0 và β = 0, đồ thị thể hiện hình dạng nằm ngang (màu xanh da trời), cho thấy dòng chữ không bị biến dạng và được căn chỉnh ngay ngắn trên trang.

Để làm phẳng một trang giấy không bị biến dạng, cần xác định các hệ số α và β, từ đó hình dạng của trang sách sẽ thay đổi Đồ thị của hàm bậc ba với các tham số f(0) = 0, f(1) = 0, f’(0) = α và f’(1) = β sẽ ánh xạ mỗi tọa độ (x, y) trên trang giấy tới một điểm cụ thể trên mặt phẳng Bài toán này yêu cầu tìm các tham số r, t, α và β sao cho "lỗi chiếu" (Reprojection Error) của các điểm là nhỏ nhất Lỗi chiếu được tính bằng khoảng cách giữa điểm chiếu và điểm thực tế của nó Việc tối ưu hóa lỗi chiếu nhỏ nhất sẽ giúp tìm ra mô hình chính xác nhất, từ đó thực hiện quá trình "ánh xạ lại" (remap) để tạo ra một trang giấy đã được làm phẳng.

Các bước xử lý của thuật toán được trình bày trên Hình 2-11

Tìm đoạn văn bản “contour”

Tối ưu hóa mô hình Ảnh xạ lại điểm ảnh Ảnh đầu vào Ảnh làm phẳng

Hình 2-11: Các bước thực hiện thuật toán Mô hình tham số

Phương pháp tối ưu lỗi chiếu đóng vai trò quan trọng trong việc xác định mô hình chính xác nhất để sử dụng Độ phức tạp và thời gian thực thi của thuật toán chủ yếu tập trung vào công đoạn này.

Thuật toán Mô hình tham số áp dụng phương pháp trích xuất dòng văn bản và ánh xạ lại các điểm ảnh tương tự như thuật toán CTM, mang lại nhiều ưu điểm vượt trội.

Thuật toán CTM giữ nguyên các công thức và hình ảnh trên trang giấy mà không làm biến dạng chúng Tuy nhiên, nó không thể xử lý các biến dạng do phối cảnh tốt như CTM, vì đã loại bỏ nhiều độ phức tạp khi xử lý độ cong Thuật toán này được thiết kế để sử dụng trên các thiết bị điện thoại thông minh, với yêu cầu xử lý trong khoảng thời gian cho phép.

Trong mục 2.3.1, chúng tôi sẽ trình bày chi tiết các bước thực thi của thuật toán, bao gồm việc triển khai phương pháp sử dụng mô hình tham số trên thư viện OpenCV Phương pháp Leptonica, được mô tả trong mục 2.2.2, tập trung vào việc tìm kiếm các dòng văn bản có độ cong không bị biến dạng quá nhiều Ý tưởng chính là tạo ra một hàm chênh lệch dọc V(x, y) để ánh xạ mọi điểm trong ảnh tới một điểm khác, nhằm đảm bảo rằng các dòng văn bản sau khi ánh xạ đều trở nên đồng nhất Đặc biệt, mỗi dòng văn bản khi được biểu diễn thành đường cong sẽ có đạo hàm x của hàm chênh lệch dọc V(x, y) bằng 0.

Điểm (x0, y0) được xác định, và mọi điểm (x, y) trên đường cong sẽ được ánh xạ tới (x, y0) Kết quả là tại điểm y0, tất cả các điểm x sẽ nằm trên một đường thẳng ngang.

Các bước thực hiện phương pháp được trình bày ở hình 2-12:

Xác định các dòng văn bản

Xác định hàm bậc hai cho mỗi dòng văn bản

Lấy mẫu từng dòng theo chiều ngang, tìm ra chênh lệch của mỗi điểm Ánh xạ các điểm với chênh lệch tìm được Ảnh đầu vào Ảnh làm phẳng

Hình 2-12: Các bước thực hiện phương pháp Leptonica

Phương pháp này nhẹ hơn so với SKEL, SEG hay CTM, vì chỉ sử dụng các bước tối ưu hàm bậc 2 thay vì bậc 3 Điều này giúp tối ưu hóa tốc độ, nhờ vào việc tích hợp thư viện Leptonica - thư viện xử lý ảnh số với module Tesseract OCR.

Chi tiết các bước thực thi của thuật toán sẽ được trình bày ở mục 2.3.2:

Triển khai phương pháp sử dụng mô hình Leptonica viết trên thư viện Leptonica.

Tri ển khai phương pháp làm phẳ ng b ề m ặ t trang gi ấy đã được đề xu ấ t

2.3.1 Tri ể n khai p hương pháp sử d ụ ng mô hình tham s ố vi ết trên thư việ n

2.3.1.1 Tìm đoạn văn bản “contour”

Contour là một đoạn nối liền các điểm liên tiếp trên giới hạn của hình, có cùng màu hoặc cường độ Công cụ này rất hữu ích trong việc phân tích hình dạng, phát hiện và nhận dạng vật thể Trong ngữ cảnh này, contour có thể được hiểu là đoạn thẳng nối các ký tự gần nhau trên trang sách.

Thực hiện tìm các đoạn văn bản “contour” thông qua các bước sau:

Bước đầu tiên trong việc xử lý trang giấy là xác định khung nội dung chính, nhằm loại bỏ các ký tự nhiễu xung quanh Mặc dù đây không phải là bước bắt buộc, nhưng để tối ưu hóa quá trình nhận diện ký tự quang học (OCR), việc thực hiện bước này là rất cần thiết.

• Tìm các đoạn văn bản:

Trong bước này, chúng ta áp dụng nhiều kỹ thuật xử lý ảnh như phân ngưỡng để chuyển đổi ảnh thành nhị phân, cũng như các phương pháp xói mòn và giãn nở, nhằm phát hiện các đoạn contour chứa ký tự của văn bản Để xác định đường viền của văn bản, quy trình thực hiện được tiến hành như sau:

Chuyển đổi ảnh sang dạng nhị phân bằng ngưỡng thích nghi cho phép thay đổi giá trị ngưỡng theo từng vùng ảnh, trong đó pixel lớn hơn ngưỡng sẽ được gán giá trị 1 và ngược lại gán giá trị 0 Trong OpenCV, phương pháp này được thực hiện thông qua kỹ thuật adaptive thresholding, với các chi tiết và ưu điểm được trình bày trong mục 1.2.3: Kỹ thuật đề xuất.

Hình 2-13: Thực hiện phân ngưỡng thích nghi với ảnh

Hình 2-13 minh họa một ảnh nhị phân sau khi áp dụng phân ngưỡng thích nghi Kỹ thuật này chuyển đổi ảnh ban đầu thành ảnh nhị phân, trong đó các pixel thuộc vùng text có giá trị 255, trong khi các pixel ở những vùng khác có giá trị 0.

Sử dụng kỹ thuật giãn nở (Dilation) trong OpenCV để nối các ký tự nằm cạnh nhau theo phương ngang, giúp cải thiện khả năng nhận diện văn bản.

“Morphology Dilation” Kỹ thuật giãn nở Dilation cho phép nới rộng ra vùng được coi là có chứa văn bản

Hình 2-14: Thực hiện biến đổi hình thái giãn nở với ảnh nhị phân

Hình 2-14 minh họa quá trình biến đổi hình thái giãn nở, trong đó các ký tự riêng lẻ gần nhau được kết nối dễ dàng để tạo thành một đoạn contour rõ ràng.

Sau đó, thực hiện biến đổi hình thái xói mòn (erosion) để loại trừ các pixel đơn lẻ Trong OpenCV, ta thực hiện morphological erosion

Thông tin về mỗi contour được lưu vào class ContourInfo gồm các thành phần sau:

• contour: là tập hợp các điểm nằm trên contour đó

• rect: hình chữ nhật giới hạn contour

• mask: là ma trận mask của contour, có chiều cao và chiều rộng bằng với rect

• center: trọng tâm của contour

• tangent: vector chỉ phương của contour

• angle: góc tạo bởi tiếp tuyến và trục ngang

• local_xrange: khoảng theo phương tiếp tuyến của contour

• point0, point1: hai điểm đầu mút của local_xrange

Hình 2-15: Mô tả cấu trúc Contour

Hình 2-15 mô tả cấu trúc Contour, nơi việc xác định trung tâm và tiếp tuyến của contour được thực hiện thông qua việc tính toán moment của ảnh Moment trong xử lý ảnh là một tập hợp trọng số của cường độ các pixel, hoặc là hàm của các tổng này, giúp tính toán các đặc tính quan trọng của ảnh Công thức tổng quát để tính moment của ảnh cũng được trình bày.

Công thức tích tọa độ trọng tâm từ moment của ảnh:

Công thức tính tangent từ moment của ảnh:

Thực hiện phân tích suy biến (SVD) cho ma trận bằng phương pháp cv::SVDecomp() trong OpenCV Phân tách SVD cho phép tách một ma trận kích thước 𝑚×𝑛 thành dạng đặc biệt.

Trong đó, 𝑈𝑈 và 𝑉𝑉 là các ma trận thỏa mãn:

Ma trận Σ là một ma trận đường chéo, trong đó cột đầu tiên của ma trận 𝑈𝑈 chính là vector tangent cần tìm Để xác định local_xrange và hai điểm đầu mút point0 và point1, ta tính khoảng cách đại số theo hướng của tangent từ tất cả các điểm thuộc contour đến trọng tâm Hai điểm có khoảng cách lớn nhất và nhỏ nhất sẽ tương ứng với hai điểm đầu mút, và khoảng cách giữa chúng chính là local_xrange.

Sau khi xác định các đường viền trong ảnh, chúng ta sẽ loại bỏ những đường viền có kích thước hình chữ nhật nhỏ hơn hoặc lớn hơn so với kích thước chuẩn của ký tự Các đường viền còn lại sẽ được ánh xạ với một đường thẳng phù hợp nhất thông qua phương pháp phân tích thành phần chính (PCA).

Hình 2-16: Các contour tìm được với trọng tâm và tiếp tuyến tương ứng

Hình 2-16 minh họa quá trình phát hiện các contour với các trọng tâm và tiếp tuyến

Sau khi xác định các đoạn contour, chúng ta sẽ nhóm tất cả các đường lại với khoảng cách 𝒚𝒚𝒊𝒊 để tạo thành các dòng "span" Mục tiêu là tạo ra các cạnh cho mỗi cặp đoạn contour và tính toán giá trị "cost" cho các đoạn này.

Hình 2-17: Hai contour được coi là trùng nhau nhiều theo phương ngang

Đầu tiên, chúng ta xác định vị trí đại số của hai điểm đầu mút point 0 và point 1 của contour2 so với hướng tiếp tuyến của contour1, được biểu diễn qua hàm proj_x(point0) và proj_x(point1) như trong hình 2-17.

Khoảng trùng nhau “overlap” của contour2 đối với contour1 được định nghĩa bởi công thức: overlap = min (point1, proj_x(point1)) − max (point0, proj_x(point0)) (7)

- Trường hợp khoảng cách giữa 2 contour xa nhau được hiển thị như Hình 2-

18, đó là khi khoảng cách xa nhất giữa hai điểm đầu mút khác loại của hai contour vượt giá trị ngưỡng cho phép

Hình 2-18: Hai contour được coi là khoảng cách xa

Hình 2-19 minh họa trường hợp hai đường đồng mức (contour) có sự chênh lệch lớn về hệ số góc Để xác định độ chênh lệch góc, trước tiên ta tính góc tạo bởi mỗi tiếp tuyến của hai đường đồng mức với đường nối trọng tâm của chúng Độ chênh lệch góc được xác định bởi giá trị lớn nhất giữa hai góc đã tính.

Nếu độ chênh lệch góc này lớn hơn giá trị ngưỡng, hai contour được coi như không cùng một cạnh

Hình 2- 19: Hai contour được coi là có độ lệch góc lớn

Trong các trường hợp khác, điểm số cho mỗi cạnh được tính bằng tổng tuyến tính giữa khoảng cách "dist" và độ chênh lệch hệ số góc "delta_angle", theo công thức: cost = dist + delta_angle * EDGE_ANGLE_COST.

EDGE_ANGLE_COST là tham số biểu thị sự đánh đổi giữa khoảng cách và độ dài của contour đang xét

K ế t lu ận chương

So với mô hình tham số, thuật toán Leptonica có sự đơn giản hơn đáng kể, với các kỹ thuật xử lý ảnh được thực hiện trong không gian 2 chiều, giúp tiết kiệm tài nguyên và rút ngắn thời gian xử lý Thay vì áp dụng bài toán tối ưu hàm bậc 3 như mô hình tham số, Leptonica sử dụng phương pháp hàm bậc 2 cho từng dòng văn bản Điều này cho phép thuật toán hoạt động hiệu quả nhất đối với các ảnh đầu vào có mức độ biến dạng vừa phải, khi các dòng văn bản không bị biến dạng theo đồ thị hàm bậc 3.

Chương 2 đã nêu lên các ưu nhược điểm của một số thuật toán làm phẳng bề mặt và trình bày các bước triển khai hai thuật toán đề xuất là Mô hình tham số và Leptonica Từ đó có thể thấy được sự biến đổi của ảnh đầu vào, nhận xét mang tính lý thuyết của hai thuật toán này Chương tiếp theo ta sẽ thấy được kết quả thực tế mà hai thuật toán mang lại và sự ảnh hưởng của nó đến ứng dụng

KẾ T QU Ả

K ế t qu ả c ủ a thu ậ t toán làm ph ẳ ng b ề m ặ t trang gi ấ y

3.1.1 Môi trườ ng và công c ụ s ử d ụ ng

- Hệ điều hành: Ubuntu 16-64 bit

- Thuật toán làm phẳng trang giấy bằng Mô hình tham số được viết trên thư viện OpenCV

- Thuật toán làm phẳng trang giấy Leptonica được viết trên thư viện Leptonica

- Bộ ảnh sử dụng được chụp ở điều kiện ánh sáng khác nhau, có độ nghiêng và độ cong tăng dần

- Độ biến dạng của các trang sách trong bộ ảnh có thể được chia thành hai dạng, được biểu diễn như hình 3-1:

• Biến dạng do phối cảnh: được gây ra bởi cách cầm và góc vị trí đặt camera

• Biến dạng do trang sách: được gây ra do độ dày cuốn sách, hoặc độ cong tự nhiên của quyển sách

(a) (b)Hình 3-1: Các loại biến dạng trong ảnh (a) Biến dạng do phối cảnh; (b) Biến dạng do trang sách

Phần này trình bày kết quả so sánh giữa hai thuật toán mô hình tham số và Leptonica trong việc làm phẳng trang giấy, dựa trên các tiêu chí độ chính xác và thời gian thực thi Độ chính xác sẽ được đánh giá một cách trực quan, trong khi ảnh hưởng của các thuật toán đến đầu ra của ứng dụng sẽ được thảo luận trong phần 3.2.

Dưới đây là kết quả một số mẫu và kết quả khi sử dụng thuật toán làm phẳng trang giấy sử dụng mô hình tham số và Leptonica:

Bảng 3-1: Kết quả một số mẫu trước và sau khi làm phẳng

Kết quả thời gian xử lý các mẫu trên được trình bày trong bảng sau:

Bảng 3-2: Thời gian xử lý ảnh của thuật toán mô hình tham số và Leptonica (đơn vị: giây)

STT Thuật toán Mô hình tham số (T M )

Cả hai thuật toán hiệu quả trong việc xử lý các biến dạng phổ biến, cho phép trang giấy được đặt và cầm một cách tự nhiên Hơn nữa, công thức trên trang giấy không bị biến dạng, khác với phương pháp biểu diễn ảnh xương liên tục SEG.

Thuật toán mô hình tham số mới cải thiện khả năng xử lý biến dạng theo chiều ngang, nhưng vẫn gặp khó khăn trong việc sắp xếp các dòng thẳng theo chiều dọc, dẫn đến biến dạng do phối cảnh vẫn còn rõ ràng Ngược lại, Leptonica thể hiện hiệu suất tốt hơn trong vấn đề này.

61 tuy nhiên điều này không ảnh hưởng quá nhiều khi qua module Tesseract, những dòng ký tự sẽ được xử lý OCR một cách riêng rẽ

Trong bài viết này, chúng ta sẽ phân tích hai thuật toán xử lý biến dạng, bao gồm biến dạng do phối cảnh và biến dạng do độ cong của trang sách Bên cạnh đó, chúng ta cũng sẽ xem xét ảnh hưởng của các tác nhân như nhiễu, ánh sáng và đổ bóng đến độ chính xác của các thuật toán này.

(a) (b) Hình 3-2: Biến dạng do phối cảnh vẫn chưa được xử lý tốt ở Mô hình tham số

(a) Ảnh đầu vào, (b) Ảnh sau khi xử lý bởi Mô hình tham số

Ảnh có độ sáng và bóng có thể ảnh hưởng đến thuật toán Leptonica, vì khả năng xử lý độ sáng và chuyển đổi ảnh sang nhị phân của thư viện này kém hơn so với OpenCV, như đã được nêu trong mục 1.2.3: Kỹ thuật đề xuất.

(a) (b) Hình 3-3:Xử lý nhị phân của Leptonica còn có khuyết điểm, gây ảnh hưởng đến thuật toán (a) Ảnh đầu vào; (b) Ảnh đầu ra nhị phân xử lý bởi Leptonica

Trong những trường hợp biến dạng dòng ký tự phức tạp, thuật toán mô hình tham số hoạt động hiệu quả, trong khi thuật toán Leptonica không thể xử lý do độ biến dạng khiến các dòng ký tự không còn tuân theo đồ thị phương trình bậc hai.

Các dòng vẫn chưa được sắp xếp ngay ngắn

(a) (b) Hình 3- 4: Biến dạng phức tạp được Mô hình tham số xử lý khá tốt

(a) Leptonica không xửlý được biến dạng phức tạp (b) Leptonica có thể sắp xếp các dòng văn bản thẳng hàng

Thời gian thực thi của thuật toán Mô hình tham số cao hơn đáng kể so với thuật toán Leptonica, với tỷ lệ dao động từ 2.5 đến 3.5 lần trong các trường hợp mẫu đầu vào Sự khác biệt này chủ yếu xuất phát từ phương pháp tối ưu của hai thuật toán: Mô hình tham số áp dụng tối ưu hàm bậc ba, trong khi Leptonica chỉ sử dụng tối ưu hàm bậc hai.

Tỉ lệ thời gian xử lý của hai thuật toán được biểu diễn trên đồ thị Hình 3-5:

Hình 3-5: Tỉ lệ tốc độ xử lý thuật toán Mô hình tham số trên Leptonica

• TM là thời gian thực thi của thuật toán Mô hình tham số

• TL là thời gian thực thi của thuật toán Leptonica

Tốc độ và thời gian thực thi là yếu tố quan trọng khi tích hợp thuật toán vào thiết bị điện thoại thông minh, do bộ vi xử lý của điện thoại không mạnh mẽ như các máy tính cấu hình cao, ngay cả trong các mẫu điện thoại khác nhau.

Tỉ lệ tốc độ xử lý thuật toán

Mô hình tham số/Leptonica

Số 63 cho thấy sự khác biệt rõ rệt về tốc độ xử lý, vì vậy tác giả khuyến nghị sử dụng hai thuật toán làm phẳng với độ phức tạp và thời gian thực thi khác nhau.

Ảnh hưở ng c ủa các phương pháp lên độ chính xác c ủ a ứ ng d ụ ng

3.2.1 Môi trườ ng và công c ụ s ử d ụ ng

- Hệ điều hành: Ubuntu 16-64 bit

- Tesseract 3.04.01 với traineddata tiếng Việt mặc định

- Bộ ảnh đầu vào là bộ ảnh sử dụng cho thuật toán làm phẳng bề mặt trang giấy và kết quả của phần 3.1

- Khảo sát sự ảnh hưởng của kỹ thuật làm phẳng lên sự chính xác của module OCR và ứng dụng

- So sánh sự hiệu quả của hai thuật toán Mô hình tham số và Leptonica

Khi sử dụng module Tesseract OCR để nhận diện ký tự quang học từ một ảnh trang sách như hình 3-6 (mẫu số 1), kết quả sẽ được lưu dưới dạng văn bản và hiển thị như sau:

Hình 3-6: Ảnh đầu vào và kết quả khi tiến hành thực hiện OCR

Hình 3-7: Kết quả khi sử dụng thuật toán Mô hình tham số

Hình 3- 8: Kết quả khi sử dụng thuật toán Leptonica

Kết quả từ việc sử dụng thuật toán Mô hình tham số và Leptonica để làm phẳng trang giấy cho thấy hiệu quả cao, như minh họa trong hình 3-7 và 3-8 Với đầu vào là ảnh có độ biến dạng trang giấy rất thấp, quá trình OCR diễn ra chính xác, chỉ xuất hiện một vài lỗi chính tả nhỏ có thể dễ dàng được sửa chữa qua khối "Text Error Processing" của ứng dụng.

Mẫu số 2 cho thấy ảnh đầu vào bị biến dạng do phối cảnh khi được đưa vào module Tesseract OCR để nhận diện ký tự quang học mà không áp dụng kỹ thuật làm phẳng Kết quả cho thấy việc đọc văn bản gần như không khả thi, ngay cả khi thực hiện sửa lỗi, vì module OCR chỉ nhận diện chính xác 134 trên 259 chữ.

Kỹ thuật làm phẳng trang giấy cho thấy hiệu quả rõ rệt trong việc cải thiện kết quả OCR, giúp loại bỏ nhiễu ký tự từ các trang bên cạnh.

Hình 3-10: Kết quả thuật toán Mô hình tham sốsau khi đi qua OCR

Kết quả của thuật toán Leptonica sau khi áp dụng OCR được so sánh với kết quả từ thuật toán Mô hình tham số Để làm rõ sự khác biệt, công cụ so sánh đã được sử dụng để đối chiếu đoạn văn bản thu được từ hai thuật toán này.

Hai kết quả này cho thấy sự tương đương, với sai sót chính tả chủ yếu do dấu câu của từ như “vấn đê”, “vẫn để”, “can bẹnh” Trong Mô hình tham số, số ký tự nhận diện đúng là 242/259, trong khi Leptonica đạt 248/259 ký tự đúng.

Hình 3-12 so sánh kết quả từ hai thuật toán Mô hình tham số và Leptonica Ở mẫu số 7, ảnh đầu vào bị biến dạng do trang giấy, đã được đưa vào module Tesseract OCR để thực hiện nhận diện ký tự quang học, với kết quả như sau:

Hình 3-13: Kết quả OCR của ảnh chưa làm phẳng

Tesseract chỉ nhận diện được chính xác 181/348 chữ, do độ cong của dòng ký tự quá lớn

Kết quả nhận diện ký tự của ảnh sau khi làm phẳng sử dụng hai thuật toán

Mô hình tham số và Leptonica lần lượt được trình bày tại hình 3-14 và hình 3-15

Hình 3-14: Kết quả OCR sau khi làm phẳng sử dụng thuật toán Mô hình tham số

Liệt kê cho thấy khi sử dụng mô hình tham số, Tesseract nhận diện chính xác 299/348 chữ, còn ở thuật toán Leptonica, Tesseract nhận diện đúng 327/348 chữ

Hình 3-15: Kết quả OCR sau khi làm phẳng sử dụng thuật toán Leptonica

Tiếp tục quá trình nhận diện ký tự quang học với các mẫu thử nghiệm còn lại, sau khi loại bỏ những chữ không có nghĩa, chúng ta thu được kết quả như sau:

Bảng 3-3: Kết quả các chữ nhận diện đúng trước và sau khi làm phẳng

(đơn vị: số chữ nhận diện đúng / tổng số số chữ)

STT Ả nh chưa làm phẳ ng Ảnh đầ u ra

Mô hình tham s ố Ảnh đầ u ra thu ậ t toán Leptonica

STT Ả nh chưa làm phẳ ng Ảnh đầ u ra

Mô hình tham s ố Ảnh đầ u ra thu ậ t toán Leptonica

- Những ô nền màu xám biểu diễn những trường hợp thuật toán không xử lý được độ cong của ảnh

- Những ô nền màu cam có kết quả nhận diện OCR tốt hơn thuật toán còn lại

- Kỹ thuật làm phẳng trang giấy làm tăng đáng kể độ chính xác của module OCR, qua đó giúp ứng dụng hoạt động tốt hơn

Thuật toán Mô hình tham số và Leptonica cho kết quả nhận diện OCR tương đương, với Mô hình tham số đạt 4959/5457 ký tự đúng (90.87%), trong khi Leptonica đạt 4947/5457 ký tự đúng (90.65%) Đối với ảnh chưa làm phẳng, tỷ lệ nhận diện chỉ đạt 3011/5457 ký tự đúng (55.18%).

Thuật toán Leptonica thường cho kết quả nhận diện tốt hơn so với thuật toán Mô hình tham số trong hầu hết các mẫu được thử nghiệm Tuy nhiên, có một số mẫu, chẳng hạn như mẫu số 8, cho thấy hiệu suất khác biệt.

Thuật toán Leptonica gặp khó khăn trong việc xử lý các trang giấy có độ biến dạng phức tạp và ảnh chụp bị đổ bóng, dẫn đến ảnh hưởng tiêu cực đến phép biến đổi phân ngưỡng Kết quả không được cải thiện trong những trường hợp này.

Hình 3-16: (a) Trang giấy bị biến dạng phức tạp; (b) Ánh sáng đổ bóng ảnh hưởng đến xử lý làm phẳng

- Vẫn còn xuất hiện những lỗi chính tả trong đầu ra của OCR, lỗi này hoàn toàn có thể khắc phục bằng module sửa lỗi “Text Error Processing”

Để nâng cao hiệu suất của Tesseract OCR, có thể tối ưu hóa các kỹ thuật xử lý ảnh như nhận diện đường bao (contour recognition), xóa nhiễu (noise removal), chỉnh sửa nghiêng (skew), biến đổi nhị phân và phân ngưỡng (binarization).

K ế t lu ận chương

Với những kết quả trên, ta có thể rút ra kết luận:

Kỹ thuật làm phẳng bằng thuật toán Mô hình tham số có khả năng xử lý nhiều trường hợp biến dạng hơn so với thuật toán Leptonica Tuy nhiên, độ phức tạp và thời gian thực thi của nó cao gấp 2.5 đến 3.5 lần Do đó, việc lựa chọn thuật toán phù hợp cho từng loại vi xử lý là rất quan trọng để tối ưu hóa hoạt động của ứng dụng.

Kỹ thuật làm phẳng trang giấy đã cải thiện đáng kể độ chính xác của ứng dụng nhận diện ký tự quang học trong các trường hợp ảnh đầu vào bị biến dạng Cụ thể, độ chính xác đã tăng từ 55.18% khi chưa áp dụng kỹ thuật này lên 90.87% với thuật toán Mô hình tham số và 90.65% với thuật toán Leptonica.

Kết luận của đề tài “Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù” nhấn mạnh tầm quan trọng của một ứng dụng thực tiễn, giúp người mù và khiếm thị tiếp cận thông tin và tri thức từ sách và văn bản Đề xuất tích hợp kỹ thuật làm phẳng bề mặt trang giấy nhằm cải thiện độ chính xác của ứng dụng là một bước tiến quan trọng trong việc hỗ trợ cộng đồng này.

Tác giả đã triển khai hai thuật toán làm phẳng bề mặt, bao gồm thuật toán Mô hình tham số và thuật toán Leptonica, trong ứng dụng của mình Thuật toán Mô hình tham số được phát triển bằng ngôn ngữ C++ với sự hỗ trợ của thư viện OpenCV 3.4, trong khi thuật toán Leptonica được viết bằng ngôn ngữ C và dựa trên thư viện Leptonica, một thư viện quan trọng cho xử lý ảnh trong Tesseract OCR.

Kết quả nghiên cứu chỉ ra rằng việc áp dụng kỹ thuật làm phẳng bề mặt trang giấy có thể nâng cao đáng kể độ chính xác của ứng dụng, đặc biệt trong những tình huống mà ảnh đầu vào bị biến dạng.

Kết quả nghiên cứu cho thấy còn nhiều kỹ thuật có thể tích hợp để nâng cao độ chính xác của ứng dụng, bao gồm xử lý ảnh đầu vào, sửa lỗi chính tả ở đầu ra và tối ưu thời gian hoạt động trên điện thoại thông minh Trong tương lai, có thể nghiên cứu các thuật toán xử lý ảnh bằng trí tuệ nhân tạo (AI) và cải thiện độ chính xác của Tesseract thông qua việc đào tạo mô hình Để thực hiện điều này, cần có kiến thức vững về các mô hình Học sâu (Deep learning), từ đó tối ưu hóa ứng dụng hỗ trợ đọc sách một cách hiệu quả và thiết thực hơn.

Ngày đăng: 08/12/2021, 22:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] B. S. Mehmet Sezgin, "Survey over image thresholding techniques and quantitative performance evaluation," Journal of Electronic Imaging, Vols. Bd. 13(1), Nr. 163, pp. 146-168, 2004 Sách, tạp chí
Tiêu đề: Survey over image thresholding techniques and quantitative performance evaluation
[8] S. G. Johnson, "nlopt," 2010. [Online]. Available: https://nlopt.readthedocs.io/en/latest/. [Accessed 28/09/2020] Sách, tạp chí
Tiêu đề: nlopt
[12] M. P. J. Sauvola, "Adaptive document image binarization," Pattern Recognition, pp. 225-336, 2000 Sách, tạp chí
Tiêu đề: Adaptive document image binarization
[15] Faisal Shafait, “Document Image Dewarping Contest”, January 2007 Sách, tạp chí
Tiêu đề: Document Image Dewarping Contest
[5] [Online]. Available: https://suckhoedoisong.vn/khoang-2-trieu-nguoi-mu-va-thi-luc-kem-1-3-nguoi-ngheo-khong-co-tien-dieu-tri-tim-lai-anh-sang-n164407.html [Accessed 28/09/2020] Link
[6] [Online]. Available: https://mzucker.github.io/2016/08/15/page-dewarping.html. [Accessed 28/09/2020] Link
[9] [Online]. Available: https://www.abbyy.com/en-us/. [Accessed 28/09/2020][10] [Online]. Available:https://tpgit.github.io/UnOfficialLeptDocs/leptonica/index.html [Accessed 28/09/2020] Link
[11] [Online]. Available: https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/. [Accessed 05 06 2019] Link
[13] [Online]. Available: https://docparser.com/blog/improve-ocr-accuracy/ [Accessed 28/09/2020] Link
[14] [Online]. Available: https://www.pyimagesearch.com/2020/08/03/tesseract-ocr-for-non-english-languages/ [Accessed 28/09/2020] Link
[16] [Online]. Available: https://ezcodin.com/cv17 [Accessed 28/09/2020] Link
[2] A. Masalovitch and L. Mestetskiy. Usage of contin-uous skeletal image representation for document im-ages de-warping. In 2nd Int. Workshop on Camera-Based Document Analysis and Recognition, Curitiba,Brazil, Sep. 2007. Accepted for publication Khác
[3] B. Gatos, I. Pratikakis, and K. Ntirogiannis. Segmen-tation based recovery of arbitrarily warped documentimages. In Proc. Int. Conf. on Document Analysis andRecognition, Curitiba, Brazil, Sep. 2007.Accepted forpublication Khác
[4] B. Fu, M. Wu, R. Li, W. Li, and Z. Xu. A model-basedbook dewarping method using text line detection. In2nd Int. Workshop on Camera-Based Document Anal-ysis and Recognition, Curitiba, Brazil, Sep. 2007. Ac- cepted for publication Khác
[7] Phạm Viết Quyền, Đồ án tốt nghiệp, Ứng dụng hỗ trợ đọc sách cho người mù và người khiếm thị, 06/2019 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1-1:  Lưu đồ  x ử  lý t ổ ng quát  ứ ng d ụ ng - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 1: Lưu đồ x ử lý t ổ ng quát ứ ng d ụ ng (Trang 14)
Hình 1-2:  Bi ểu đồ  trình t ự  c ủ a h ệ  th ố ng - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 2: Bi ểu đồ trình t ự c ủ a h ệ th ố ng (Trang 16)
Hình 1-3 : Lưu đồ xử lý module Detect Page - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 3 : Lưu đồ xử lý module Detect Page (Trang 19)
Hình 1-4:  Lưu đồ cài đặt và thực thi module OCR - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 4: Lưu đồ cài đặt và thực thi module OCR (Trang 21)
Hình 1-5: M ột trang sách trước và sau khi đượ c làm ph ẳ ng - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 5: M ột trang sách trước và sau khi đượ c làm ph ẳ ng (Trang 23)
Hình 1-7: M ạng RNN không đáp ứng đượ c khi các tr ạ ng thái  ở  r ất xa điể m c ầ n d ự đoán - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 7: M ạng RNN không đáp ứng đượ c khi các tr ạ ng thái ở r ất xa điể m c ầ n d ự đoán (Trang 26)
Hình 1-13: S ử  d ụng Rotation để căn chỉ nh trang gi ấ y - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 13: S ử d ụng Rotation để căn chỉ nh trang gi ấ y (Trang 33)
Hình 1-14: Trang gi ấy trướ c và sau khi b ỏ đườ ng vi ề n - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 14: Trang gi ấy trướ c và sau khi b ỏ đườ ng vi ề n (Trang 34)
Hình 1-15: Hình  ảnh trướ c và sau khi x ử  lý làm ph ẳ ng  1.2.3. Kỹ thuật đề xuất - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 15: Hình ảnh trướ c và sau khi x ử lý làm ph ẳ ng 1.2.3. Kỹ thuật đề xuất (Trang 35)
Hình 1-16: Ví d ụ  th ự c hi ệ n k ỹ  thu ậ t Binarisation s ử  d ụ ng thu ật toán Otsu trên thư việ n - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 16: Ví d ụ th ự c hi ệ n k ỹ thu ậ t Binarisation s ử d ụ ng thu ật toán Otsu trên thư việ n (Trang 36)
Hình 1-17: K ỹ  thu ậ t Binarization s ử  d ụng ngưỡ ng toàn c ụ c - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 17: K ỹ thu ậ t Binarization s ử d ụng ngưỡ ng toàn c ụ c (Trang 37)
Hình 1-18: K ỹ  thu ậ t Binarization s ử  d ụng phân ngưỡ ng thích nghi trung bình - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 1 18: K ỹ thu ậ t Binarization s ử d ụng phân ngưỡ ng thích nghi trung bình (Trang 37)
Hình 2-7: K ế t qu ả  th ử  nghi ệm 3 phương pháp ở trườ ng h ợ p 1 - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 2 7: K ế t qu ả th ử nghi ệm 3 phương pháp ở trườ ng h ợ p 1 (Trang 44)
Hình 2-9: K ế t qu ả  th ử  nghi ệm 3 phương pháp ở trườ ng h ợ p 3 - Áp dụng thuật toán làm phẳng bề mặt để nâng cao độ chính xác của ứng dụng hỗ trợ đọc sách cho người mù
Hình 2 9: K ế t qu ả th ử nghi ệm 3 phương pháp ở trườ ng h ợ p 3 (Trang 46)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w