Luận Văn Tốt Nghiệp: Xây Dựng Mô Hình Nhận Dạng Khung và Vùng Văn Bản

Luận văn tốt nghiệp kỹ thuật nghiên cứu Luận văn tốt nghiệp khoa học máy tính xây dựng mô hình nhận dạng khung và vùng văn bản trong tài, điều tra thực trạng, phân tích số liệu,

Chuyên ngành

Khoa Học Máy Tính

Người đăng

Ẩn danh

Thể loại

luận văn tốt nghiệp

2021

77
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI NGỎ

TÓM TẮT NỘI DUNG

1. CHƯƠNG 1: GIỚI THIỆU

1.1. Đặt vấn đề và lý do chọn đề tài

1.2. Phạm vi và mục tiêu nghiên cứu

1.3. Bố cục luận văn

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Mạng nơ-ron nhân tạo

2.1.1. Nơ-ron sinh học

2.1.2. Nơ-ron nhân tạo

2.1.3. Mạng nơ-ron nhân tạo

2.1.4. Hàm kích hoạt (Activation function)

2.2. Mạng nơ-ron tích chập

2.2.1. Phép tính tích chập

2.2.2. Phép tích chập chuyển vị

2.2.5. Vấn đề của mạng nơ-ron kết nối đầy đủ

2.2.6. Mô hình mạng nơ-ron tích chập

2.3. Nhận diện vật thể với họ mô hình R-CNN

2.3.2. Mô hình R-CNN

2.3.3. Mô hình Fast R-CNN

2.3.4. Mô hình Faster R-CNN

2.3.5. Mô hình Mask R-CNN

2.3.6. Tổng kết các mô hình thuộc R-CNN family

2.4. Nhận diện vật thể với YOLO

2.4.1. Kiến trúc mạng

2.5. Phân đoạn ngữ nghĩa với UNET

2.5.1. Kiến trúc mạng

2.5.2. Biến thể Unet

2.6. Ngôn ngữ, thư viện và nền tảng

2.6.2. Nền tảng Tensorflow

2.6.3. Thư viện keras

3. CHƯƠNG 3: CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN

3.1. Phát hiện vùng văn bản trong ảnh bằng Connectionist Text Proposal Network (CTPN)

3.1.1. Tổng quan mô hình

3.1.2. Ưu điểm và nhược điểm

3.1.3. Kiến trúc mạng

4. CHƯƠNG 4: TẬP DỮ LIỆU

5. CHƯƠNG 5: PHƯƠNG PHÁP ĐỀ XUẤT

5.1. Phân tích bài toán

5.2. Mô hình U-net

6. CHƯƠNG 6: HIỆN THỰC HỆ THỐNG

6.1. Tiền xử lý và làm giàu dữ liệu

7. CHƯƠNG 7: THÍ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

7.1. Phương pháp đánh giá

7.2. Kết quả thí nghiệm

7.2.1. Kết quả đạt được

7.2.2. Những hạn chế và định hướng phát triển trong tương lai

7.3. Hướng phát triển

PHỤ LỤC A: KẾ HOẠCH THỰC HIỆN LUẬN VĂN

DANH SÁCH BẢNG

DANH SÁCH HÌNH VẼ

Tóm tắt

I. Giới thiệu

Trong bối cảnh hiện đại, việc trích xuất thông tin từ các tài liệu cố định như hóa đơn, biên lai đang trở thành một nhu cầu thiết yếu. Các tài liệu này thường chứa thông tin quan trọng cần được lưu trữ và quản lý một cách hiệu quả. Tuy nhiên, việc thực hiện thủ công việc này tiêu tốn nhiều tài nguyên con người và dễ dẫn đến sai sót. Vì vậy, việc phát triển mô hình nhận dạng văn bản tự động là một giải pháp khả thi. Luận văn này sẽ tập trung vào việc xây dựng mô hình nhận dạng khung và vùng văn bản trong tài liệu có bố cục cố định, nhằm tối ưu hóa quy trình trích xuất thông tin. Mục tiêu chính là tạo ra một hệ thống có thể phát hiện và trích xuất các vùng văn bản từ tài liệu, từ đó cải thiện hiệu suất làm việc cho các doanh nghiệp.

1.1 Đặt vấn đề và lý do chọn đề tài

Việc nhận diện và trích xuất thông tin từ các tài liệu như biên lai Viettel Post là rất cần thiết trong bối cảnh số hóa hiện nay. Các tài liệu này thường chứa nhiều thông tin quan trọng như tên, địa chỉ, số điện thoại và các thông tin khác liên quan đến giao dịch. Mặc dù công nghệ phát triển, việc điền thông tin vẫn phụ thuộc vào con người, dẫn đến nhiều bất cập. Do đó, việc nghiên cứu và phát triển một hệ thống nhận diện tự động sẽ giúp giảm thiểu lỗi và tiết kiệm thời gian. Điều này không chỉ đáp ứng nhu cầu thực tiễn mà còn góp phần vào sự phát triển của lĩnh vực thị giác máy tính.

II. Cơ sở lý thuyết

Chương này trình bày các lý thuyết cơ bản liên quan đến mạng nơ-ron nhân tạomạng nơ-ron tích chập. Các mô hình này đã được áp dụng rộng rãi trong lĩnh vực nhận diện văn bản và phân đoạn ngữ nghĩa. Mạng nơ-ron nhân tạo được xây dựng dựa trên cấu trúc của nơ-ron sinh học, cho phép xử lý và phân tích thông tin một cách hiệu quả. Đặc biệt, mô hình U-Net đã được lựa chọn để phát hiện các vùng văn bản trong tài liệu, nhờ vào khả năng phân đoạn chính xác. Việc áp dụng các kỹ thuật học sâu sẽ giúp cải thiện độ chính xác của hệ thống nhận diện.

2.1 Mạng nơ ron nhân tạo

Mạng nơ-ron nhân tạo là một trong những công nghệ quan trọng trong lĩnh vực học máy. Nó bao gồm các nơ-ron liên kết với nhau để hình thành một mạng lưới, cho phép xử lý thông tin phức tạp. Các nơ-ron này nhận tín hiệu đầu vào và thực hiện các phép toán để tạo ra đầu ra. Mạng nơ-ron nhân tạo có khả năng học từ dữ liệu, từ đó cải thiện hiệu suất qua từng lần huấn luyện. Điều này rất hữu ích trong việc phát hiện và nhận diện các khung văn bản trong tài liệu cố định.

III. Phương pháp đề xuất

Luận văn này đề xuất một phương pháp tiếp cận để nhận diện các vùng văn bản trong tài liệu cố định. Phương pháp này bao gồm việc sử dụng mô hình U-Net để phân đoạn các vùng văn bản, kết hợp với các kỹ thuật hậu xử lý nhằm cải thiện độ chính xác. Hệ thống sẽ được thực hiện trên tập dữ liệu biên lai Viettel Post, với các bước từ tiền xử lý, huấn luyện mô hình đến đánh giá kết quả. Đánh giá sẽ được thực hiện thông qua các chỉ số như độ đo IoU để đảm bảo tính chính xác của mô hình.

3.1 Phân tích bài toán

Phân tích bài toán là bước quan trọng trong việc phát triển mô hình nhận diện. Cần xác định rõ các yêu cầu và mục tiêu của hệ thống. Mô hình sẽ tập trung vào việc phát hiện các vùng văn bản từ các tài liệu có bố cục cố định, như biên lai và hóa đơn. Dữ liệu đầu vào sẽ được xử lý qua nhiều bước, từ việc nhận diện các khung đến trích xuất thông tin. Qua đó, hệ thống sẽ giúp giảm thiểu thời gian và công sức cho người dùng trong việc quản lý và lưu trữ thông tin.

IV. Kết quả thí nghiệm và đánh giá

Kết quả thí nghiệm cho thấy mô hình đề xuất có khả năng nhận diện các vùng văn bản với độ chính xác cao. Qua việc so sánh với các mô hình khác như Mask-CNN, mô hình U-Net đã chứng minh được hiệu quả trong việc phát hiện các khung và vùng văn bản. Đánh giá được thực hiện dựa trên các chỉ số như độ đo IoU và tỷ lệ sai số điểm ảnh. Những kết quả này không chỉ chứng minh tính khả thi của mô hình mà còn mở ra hướng phát triển cho các ứng dụng thực tiễn trong lĩnh vực trích xuất thông tin.

4.1 Kết quả đạt được

Mô hình đã đạt được kết quả tốt trong việc nhận diện các vùng văn bản. Cụ thể, độ chính xác của mô hình U-Net trong việc phát hiện các khung văn bản lên tới 85%, cho thấy khả năng hoạt động hiệu quả trong môi trường thực tế. Điều này cho phép hệ thống có thể được áp dụng vào nhiều lĩnh vực khác nhau, từ quản lý tài liệu đến tự động hóa quy trình làm việc.

09/01/2025

Trích đoạn nội dung tài liệu

đặt vấn đề, lý do chọn đề tài, giới thiệu bố cục bài luận văn. Trình bày các kiến thức cơ sở đã được khảo sát và đóng vai trò nền tảng để phân tích, nghiên cứu và phát triển bài toán. Trình bày về một số nghiên cứu của các nhà khoa học khác nhau đã đạt được những thành tựu nổi bật trong lĩnh vực này, cùng với phương pháp và kết quả được báo cáo của họ. Trình bày thông tin về tập dữ liệu mà tôi đã thu thập, gán nhãn và sử dụng.

Trình bày các phương pháp đã tiếp cận để xử lý bài toán. Trình bày chi tiết cách thức thực hiện phương pháp để xử lý bài toán từ tiền xử lý, huấn luyện mô hình và hậu xử lý để được kết quả tốt nhất. Trình bày phương pháp đánh giá mô hình cũng như kết quả đã được. Trình bày thành quả, tổng kết lại những kinh nghiệm, hạn chế của phương pháp.

Đưa ra hướng phát triển tiếp theo. 3 Chương 2 Cơ sở lý thuyết Chương Cơ sở lý thuyết tóm lược những lý thuyết liên quan đến bài toán nhận diện vật thể, bao gồm những lý thuyết cơ bản về mạng nơ-ron nhân tạo, mạng nơ-ron tích chập. Đồng thời tôi sẽ giới thiệu những nền tảng, thư viện cũng như những sources code tôi đã sử dụng trong quá trình huấn luyện, nghiên cứu mô hình.1 Mạng nơ-ron nhân tạo 2.1 Nơ-ron sinh học Nơ-ron là đơn vị cơ bản cấu tạo nên hệ thống thần kinh, là thành phần quan trọng nhất của bộ não. Não chúng ta có khoảng 86 tỷ nơ-ron1 , mỗi nơ-ron lại liên kết với nhiều nơ-ron khác, tạo thành một mạng lưới, nên thường được gọi là mạng nơ-ron.

Cấu trúc của nơ-ron được cấu tạo như sau: Các sợi nhánh (Dendrites) nhận tín hiệu đầu vào được đưa vào xử lý trong phần thân (Soma), sau đó các tín hiệu đã được xử lý đi qua sợi trục (Axon) kết nối với các nơ-ron khác, và tiếp tục lặp lại quy trình trên. Mỗi nơ-ron nhận xung điện từ các nơ-ron khác từ sợi nhánh. Nếu các xung điện này đủ lớn để kích hoạt nơ-ron, thì sẽ có tín hiệu đi qua sợi trục để đến các nơ-ron khác. Ngược lại, các tín hiệu sẽ bị triệt tiêu, nơ-ron sẽ không truyền tín hiệu đi qua sợi trục.

Mạng nơ-ron nhân tạo (Artificial Neural Network) lấy cảm hứng từ cơ chế này để giải quyết các bài toán. 1 Dựa trên https://www.com/how-many-neurons-are-in-the-brain-2794889 4 Cơ sở lý thuyết 5 Hình 2.1: Một nơ-ron sinh học2 2.2 Nơ-ron nhân tạo Lấy cảm hứng từ nơ-ron trong hệ thần kinh con người, người ta đã xây dựng nên một nơ-ron nhân tạo tương tự như nơ-ron sinh học được biểu diễn tổng quát như hình 2. Đây là nơ-ron nhân tạo đầu tiên do con người tạo ra, nó có tên gọi là perceptron (từ perceptron trong tiếng Việt có nghĩa là tri giác). Giống như nơ-ron sinh học nó cũng có các đầu vào (chính là các biến b, x1 , x2 , ., xn ), các đầu vào này được nhân với các trọng số (weights) và cộng lại với nhau.

Tiếp theo giá trị này được đưa qua một hàm f để cho ra kết quả cuối cùng như trong công thức (2. n ! X output = f b + wi xi = f (b + w1 x1 + w2 x2 + ., wn được gọi là các trọng số, là nhân tố chính tác động lên đầu vào x và tạo ra khả năng biểu diễn tri giác của nơ-ron. 2 Ảnh được lấy từ http://www.org/personal_nn_view.htm 5 Cơ sở lý thuyết 6 2.3 Mạng nơ-ron nhân tạo Giống như mạng nơ-ron sinh học mạng nơ-ron nhân tạo cũng được tạo thành từ các nơ-ron nhân tạo liên kết với nhau. Một mạng được chia thành các lớp (layer), bao gồm ba loại lớp chính: lớp đầu vào (input layer), lớp ẩn (hidden layer), lớp đầu ra (output layer).

Mạng nơ-ron nhân tạo chỉ gồm duy nhất một input layer và một output layer tuy nhiên có thể bao gồm rất nhiều hidden layer. Layer thực chất chỉ là một tập các nơ-ron trong đó, các layer kết nối với nhau thông qua việc các nơ-ron thuộc các layer kết nối với nhau. Input layer chính là dữ liệu mà ta cung cấp cho ANN. Còn hidden layer chính là nơi thực hiện các phép tính toán, kết hợp bên dưới mạng nơ-ron để thực hiện mục tiêu mà chúng ta mong muốn.

Cuối cùng, output layer là nơi chứa các kết quả tính toán của mạng để ta sử dụng.3: Mạng nơ-ron nhân tạo gồm hai hidden layer3 Trong mạng nơ-ron như hình 2.3 ta có thể dễ dàng thấy ngoại trừ input layer thì các layer khác nơ-ron có đầu vào chính là kết quả đầu ra của các nơ-ron ở layer liền trước theo thứ tự từ trái sang phải của mạng. Tại mỗi nơ-ron sẽ thực hiện các phép tính dựa vào các trọng số hiện tại huấn luyện được như đã giới thiệu ở mục 2. Đối với một mạng nơ-ron nhân tạo để học, nó phải học từ những gì nó đã làm sai và đang làm đúng, đây được gọi là “phản hồi”. Chính điều này là nơi ta bắt đầu thấy sự tương đồng với bộ não con người.

Mạng nơ-ron học theo đúng cách giống như não của chúng ta, trong đó một quá trình “phản hồi” gọi là lan truyền ngược (back-propagation hay gọi tắt là backprop). Trong quá trình này ta so sánh đầu ra của mạng với đầu ra mong muốn và sử dụng sự khác biệt giữa các đầu ra để sửa đổi trọng số của các kết nối giữa các nơ-ron trong mạng, ta thực hiện ngược từ các đầu ra thông qua các nơ-ron trong hidden layer đến các nơ-ron đầu vào. Theo thời gian, lan truyền ngược làm cho mạng có thể học được bằng cách làm cho sự chênh lệch giữa đầu vào và đầu ra nhỏ tới điểm mà được xem là đem tới sự chính 3 Ảnh được lấy từ https://jintensivecare.1186/s40560-019 -0393-1#Fig1 6 Cơ sở lý thuyết 7 xác phù hợp, như vậy mạng nơ-ron nhân tạo đã học được đầu ra chính xác. Nếu như ta càng tăng số lượng nơ-ron trong một hidden layer hay tăng số lượng hidden layer lên cao thì có khả năng là sẽ mang lại độ chính xác cao hơn.

Tuy nhiên tương ứng với số lượng hidden layer cao đó chính bộ tham số sẽ càng lớn và thời gian huấn luyện sẽ càng lâu, thậm chí đến một lúc nào đó khi độ chính xác đạt quá cao thì sẽ bị một hiện tượng gọi là quá khớp (overfitting). Overfitting là hiện tượng mô hình sẽ có độ chính xác cao cho tập huấn luyện nhưng lại có kết quả tệ với tập kiểm tra hay trong quá trình sử dụng thực tế. Như vậy việc tránh overfitting là một việc hết sức cần thiết khi xây dựng mô hình học sâu. Chữ “sâu” trong “mô hình học sâu” chính là đề cập đến việc có rất nhiều hidden layer trong mô hình, càng nhiều hidden layer thì mô hình càng “sâu”.4 Hàm kích hoạt (Activation function) Ở mỗi nơ-ron, phép nhân trọng số trên từng tham số xi rồi lấy tổng tất cả là một phép biến đổi tuyến tính.

Đặc điểm của những phép biến đổi này là dù ta có lấy tổ hợp tuyến tính của bao nhiêu phép biến đổi tuyến tính đi nữa thì nó cũng chỉ tương đương với một phép biến đổi tuyến tính khác mà thôi. Cho nên không thể nào biểu diễn một phép biến đổi phi tuyến qua một mạng mà chỉ gồm những phép biến đổi tuyến tính. Nhu cầu biểu diễn tri giác bằng mạng nơ-ron khiến ta không thể bỏ qua việc phải biểu diễn được những hàm phi tuyến. Do đó những mạng nơ-ron bắt buộc phải có thành phần phi tuyến, chúng được gọi là hàm kích hoạt (activation function).

Các hàm kích hoạt đều ra đời để phục vụ cho những nhu cầu nhất định. Hàm kích hoạt đầu tiên được ra đời đương nhiên là hàm kích hoạt của perceptron, nó có tên gọi là Heaviside step function. Công thức và đồ thị của hàm này lần lượt là: ( 1, nếu x ≥ 0, f (x) = (2.4: Heaviside step function. Ta hình dung thông tin truyền đi chính là các tham số, thì hàm Heaviside-step có khả năng chặn thông tin truyền đi khi đầu ra bằng 0.

Còn khi hàm này đứng ở lớp cuối cùng, thì nơ-ron tương ứng có khả năng phân loại kết quả. Tuy nhiên nhược điểm của hàm heaviside-step là đạo hàm của nó tại mọi điểm khả vi đều bằng 0. Đạo hàm bằng 0 khiến 7 Cơ sở lý thuyết 8 ta không thể cập nhật trọng số bằng gradient descent. Vì thế người ta đưa ra những biến thể của hàm số này bằng cách làm mềm đi phần gấp khúc tại gốc tọa độ.

Một biến thể như vậy là hàm sigmoid. Công thức và đồ thị của hàm sigmoid lần lượt là: 1 sigmoid(x) = (2.5: Bên trái là đồ thị của hàm sigmoid, bên phải là đồ thị cho đạo hàm của nó Hàm sigmoid có đặc điểm là đầu ra của nó luôn không âm, hay còn gọi là bị bias (lệch) về phía dương. Trong một số trường hợp ta vẫn cần đến sự truyền đi của những tham số âm trong mạng. Trong những trường hợp đó người ta sử dụng biến thể khác là hàm hyperbolic tangent (tanh).

Hàm tanh có hình dạng tương tự như hàm sigmoid tuy nhiên khác biệt đến từ khoảng giá trị của nó là (−1, 1). Công thức và đồ thị của hàm tanh lần lượt là: ex − e−x tanh(x) = x (2.6: Bên trái là đồ thị của hàm tanh, bên phải là đồ thị cho đạo hàm của nó Các hàm tanh và sigmoid đã giải quyết được phần nào vấn đề đạo hàm bằng 0 của hàm heaviside-step ban đầu. Tuy nhiên khi xu hướng thiết kế mạng những năm gần đây trở thành cố gắng đi sâu hơn, chồng nhiều lớp tính toán lên nhau hơn thì nó bắt đầu bộc lộ nhược điểm. Đạo hàm của những hàm này phần lớn có giá trị rất gần 0, và khi thực hiện lan truyền ngược cho quá trình huấn luyện thì việc áp dụng quy tắc chuỗi khiến ta phải tính tích liên tục những giá trị gần 0 như thế.

Đạo hàm cuối cùng dần bị triệt tiêu, do máy tính chỉ lưu được số thực ở dạng xấp xỉ (bài toán triệt tiêu đạo hàm - vanishing gradient). Vì vậy người ta thiết kế ra một hàm kích hoạt có đạo hàm bằng 1 mà vẫn phi 8 Cơ sở lý thuyết 9 tuyến, và gọi đó là hàm đơn vị tuyến tính chỉnh lưu (Rectified Linear Unit - ReLU ). Công thức và đồ thị của hàm ReLU như sau: ReLU(x) = max(0, x) (2.7: Bên trái là đồ thị của hàm ReLU, bên phải là đồ thị cho đạo hàm của nó, tại x = 0 đồ thị không có đạo hàm 2.2 Mạng nơ-ron tích chập 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Luận Văn Tốt Nghiệp: Xây Dựng Mô Hình Nhận Dạng Khung và Vùng Văn Bản" của tác giả Lê Huỳnh Long Vũ, hướng đến việc phát triển các mô hình nhận dạng khung và vùng văn bản trong tài liệu cố định, một lĩnh vực quan trọng trong khoa học máy tính. Luận văn này không chỉ cung cấp cái nhìn sâu sắc về các phương pháp nhận dạng văn bản mà còn đề xuất các giải pháp có thể áp dụng trong thực tiễn, giúp nâng cao hiệu quả xử lý tài liệu số. Độc giả sẽ nhận được những kiến thức quý giá về công nghệ nhận dạng văn bản, từ đó có thể áp dụng trong các dự án nghiên cứu hoặc phát triển phần mềm.

Để mở rộng thêm kiến thức về các ứng dụng của công nghệ thông tin trong giáo dục và quản lý, bạn có thể tham khảo bài viết Luận văn thạc sĩ về quản lý giáo dục và ứng dụng công nghệ thông tin trong dạy học ở huyện Phong Điền, TP Cần Thơ, nơi đề cập đến việc ứng dụng công nghệ thông tin trong giáo dục.

Ngoài ra, bạn cũng có thể tìm hiểu thêm về Nghiên cứu phát triển kỹ thuật hỗ trợ phát hiện đạo văn trong văn bản tiếng Việt, một nghiên cứu liên quan đến việc xử lý văn bản và nhận dạng nội dung.

Cuối cùng, bài viết Phân loại văn bản dựa trên mô hình Transformer trong khoa học máy tính cũng sẽ cung cấp cái nhìn sâu sắc về các phương pháp phân loại văn bản hiện đại, liên quan mật thiết đến nội dung của luận văn gốc. Những tài liệu này sẽ giúp bạn mở rộng hiểu biết về công nghệ nhận dạng văn bản và ứng dụng của nó trong thực tiễn.