Kèm theo sự phát triển nhanh chong của các thuật toán học sâu trongbài toán nhận diện văn bản trong ảnh là sự phát triển mạnh mẽ của các thuật toán học sâu trên kiểu dữ liệu đồ thị.. Tro
Các bài toán trên dữ liệu graph
Mởđầu: co 37
Trong lĩnh vực thị giác máy tính, ta có các bài toán từ đơn giản đến phức tạp như phát hiện đồi tượng, phân đoạn đôi tượng hay theo dấu đối tượng ; từ tổng quát đến bài toán chỉ tiết như trong phát hiện đối tượng ta có bài toán về phát hiện khuôn mặt Nhưng khi xử lý một bài toán dữ liệu đồ thị, ta cần xác định đầu vào của thuật toán là dinh, cạnh hay cả dé thị, như đã đề cập mục 3.4.4.2 để có cách nhìn tổng quan như vậy đối với các thuật toán trên dữ liệu về đồ thi, ta chia bài toán thành 3 dạng chính như sau - tham khảo hình 3.11:
* Dự đoán trên cấp độ đỉnh.
* Dự đoán trên cấp độ cạnh.
* Dự đoán trên cấp độ đồ thị.
Thttps://distill.pub/202 I/understanding-gnns/
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
Node Gassification Graph Gasification Node Custering
Hình 3.9: Phân loại các dạng bài toán điển hình trên dữ liệu graph (Nguồn: distill ’).
Dự đoán trên cấp độđỉnh
Bài toán dự đoán trên cấp độ là bài toán nhỏ nhất trên dữ liệu đồ thị Đối với dạng bài toán này, câu hỏi đặt ra đầu tiên là "Đây có phải là bài toán học có giám sát? hay học không giám sát?" Để trả lồi cho câu hỏi này ta lấy một ví dụ thực tế: "Để phân biệt đâu là người thật hay chỉ là tài khoản spam trên mạng xã hội" -
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
BAN. với số lượng tài khoản lên đến hàng triệu, một công ty không thể nào bỏ chi phí và thời gian ra để gán nhãn todn bộ tài khoản Vì thế nhiều nhà nghiên cứu bài toán đồ thị coi đây là dạng học bán giám sát nghĩa là chỉ cần gán nhãn một phan dữ liệu.
Dự đoán trên cấp độ cạnh
Tại cấp độ này, ta sử dụng thông tin của đỉnh w và lân cận của đỉnh w : Ny. Mục tiêu của bài toán này là dự đoán giữa hai đỉnh trong tập kiểm nghiệm có cạnh nối hay không? Do đó bài toán còn có tên gọi khác là hoàn thành đồ thị (graph completion) Ví dụ: trong hình 3.11, dựa trên đồ thị gốc, có đường nối giữa đỉnh
A và C hay không? Để thiết lập quá trình huấn luyện của thuật toán máy học trên cấp độ cạnh, ta sử dụng 1 phần của tập E làm tập huấn luyện đặt là Eyrain (với Eprain C E); phần còn lại là tập kiểm nghiém/danh giá Eyes; = E \ Euain
Dự đoán trên cấp độ đồ thị
Mục tiêu của ta trong bài toán này là dự đoán đặc tinh cho cả đồ thi Ví dụ, ta muốn dự đoán đặc tính của một loại gen/thuốc thiết lập trong môi trường máy tính.
Ta có thể so sánh tương tự cấp độ này đối với bài toán phân lớp đối tượng trong thị giác máy tính Ví dụ, trong bài toán phân lớp chữ số 10-lớp MNIST hay 10-lớp CIFAR hình 3.10, ảnh kích thước 32x32 sẽ tương tự với đồ thi và nhãn của ảnh/đồ thị là kết quả mong đợi của từng bài toán. °https://towardsdatascience.com/practical-graph-neural-networks-for-molecular-machine-learning-
Các thuật toán học sâu trên graph
Graph Convolutional
Giới thiệu thuật toán graph convolutional: Năm 2017, Kipf đã dé xuất thuật toán Graph convolutional [15] cho dữ liệu đồ thị Day là thuật toán học bán giám sát trên cấp độ đỉnh Trong bài báo này, tác giả đã tận dùng được đặc trưng của các đỉnh X và đặc trưng cấu trúc của đồ thị dựa trên bằng ma trận kề bằng cách đưa ma trận A về đạng chuẩn hóa Laplacian theo công thức sau đây:
Với Jy là ma trận đơn vị , D là ma trận bậc với Dy, = deg, nếu u = v Từ đó, ta có thể biến đặc trưng của ma trận X trở thành các lớp ẩn H“ bằng công thức dưới đây:
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
BAN. với tham số W là ma có thể học được trong quá trình lan truyền ngược, /F sé cú kớch thước I*Ÿ và với H0 = X là lớp đầu vào, ứ cú thể là bất kỡ hàm kớch hoạt nào tùy thích (ReLU,Sigmoid) - tác giả của Graph convolution chọn ReLU trong thực nghiệm của mình. input layer output layer
(a) Graph Convolutional Network (b) Hidden layer activations
Figure 1: Left: Schematic depiction of multi-layer Graph Convolutional Network (GCN) for semi- supervised learning with C' input channels and F feature maps in the output layer The graph struc- ture (edges shown as black lines) is shared over layers, labels are denoted by Y; Right: tSNE
Maaten & Hinton) /2008) visuali: of hidden layer activations of a two-layer GCN trained on the Cora dataset (Sen et al /2008) using 5% of labels Colors denote document class.
Hình 3.11: Mô tả thuật toán GNN và lớp ẩn của GNN (Nguồn:http://arxiv.org/abs/1609.02907 !!),
Graph attentionalnetwork
Giới thiệu thuật toán graph attention network: Graph attention network [16] gọi tat là GAT là thuật toán áp dụng cơ chế attention - cơ chế đã thành công trong lĩnh vực bài foán dịch máy (machine translation) Dựa trên cơ chế này, tác giả đưa ra ý tưởng là tính toán message passing va aggregate thông tin của đỉnh lân cận bằng cách "attend" các đỉnh đó. Ưu điểm của thuật toán: _ Tác giả đã chỉ ra hai lợi thé nếu áp dụng thuật toán này:
* (1) Thuật toán có thể tính toán song song được trên thiết bị phần cứng, giúp tận dụng được tài nguyên và tăng tốc độ xử lý.
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
* (2) Thuật toán là inductive learning vi tác giả đã chi ra rằng: Chi cần một lượng nhỏ số lượng label trong tập huấn luyện thì thuật toán sau quá trình học có thể khái quá tốt trên tập kiểm nghiệm Nghĩa là thuật toán đưa ra dự đoán chính xác trên dữ liệu đồ thị mới.
Tương tự như trong bài toán dich máy, khi áp dụng cơ chế attention, ta can có một cặp gồm hai vector đặc trưng có cùng kích thước F - từ đỉnh w và v Mỗi đỉnh nay sẽ được biểu diễn là #„ và hy € IRF Khi đó nếu áp dụng cơ chế attention với Ũ trọng số W € RF *F ta sẽ được hệ số attention như sau:
Vi trong thuật toán GAT, ta chỉ muốn áp dụng cơ ché attention trên các đỉnh v có cạnh nồi với w vì vậy ta sẽ mẫu s6/hay hệ số chuẩn hóa như sau Yyen,, e„¿ với Ni, là tập hợp các đỉnh lân cận của w vậy ta sẽ được phương trình cuối cùng của GAT như sau:
Ap dung multi-head attention trong thuật toán: + Ngoài ra tác giả còn thử nghiệm trên cơ chế multi-head attention với số head là K = 3, ưu điểm của cơ chế này là giúp mạng tập trung vào các thành phần khác nhau của đặc trưng thay vì chỉ tập trung vào một đặc trưng khi K = 1 Ta có phương trình sau:
DoE akw' hy) k€eNu với @® là toán tử concatenation.
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
Áp dung Deep Learning vào bài toán nhận diện chữ viết tiếng việt 43
Như đã đề cập, trong khóa luận, để đánh giá hiệu quả của các thuật toán nhận diện trên dữ liệu Tiếng Việt, nhóm sẽ tiến hành thực nghiệm và đánh giá mô hình trên thuật toán TextSnake và DRRG; tương tự, nhóm sẽ tiến phân tích ý tưởng của thuật toán VietOCR.
Giới thiệu thuật toán DRRG: Thuật toán DRRG [2] là phương pháp sử dụng để phát hiện văn bản trên ảnh được đề xuất bởi Shi-Xue Zhang, Xiaobin Zhu,
Chang Liu, trong năm 2020 Đây là phương pháp tập trung vào việc phát hiện văn bản theo hướng gộp các thành phần có thể chứa nội dung văn bản dựa trên thông tin ngữ nghĩa như về hình học như hướng và cách uốn lượng của văn bản sẽ yêu cầu thông tin liên quan đến góc và hình dạng của văn bản( kích thước chiều cao và chiều rộng của từng thành phần) được rút trích thông qua mạng học sâu
Cơ chế hoạt động của thuật toán: Tac giả xây dựng cơ sở của thuật toán dựa trên phương pháp TextSnake[1] (được công bố vào năm 2018) Trong đó các thông tin về mặt hình học như góc theta sẽ đượ biểu diễn bằng thông tin sin va cos, cụ thể là cosỉ,sin6) - tỏc giả sử dụng cả sin va cos để dự đoỏn hướng của thành phần văn bản Tại sao lại sử dụng cả sin và cos vì ta cả 2 thông tin này để suy luận ngược lại thụng tin gúc theta ỉ - xem hỡnh minh họa 3.12. Để tim ra được thông tin về mặt hình học đầu tiên ta cần tìm ra được vo và v„ trong hình 2.6 Tại bước này, đầu tiên ta xác định 2 đâu và đuôi bounding box bằng cách tính tích vô hướng M của AB và CD - hình 3.13 Như vậy, néu AH và
13https://iitutor.com/trigonometric-ratios/
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
Hình 3.12: Biểu diễn góc bằng sin và cos trong 4 góc phần tư (nguồn: https://iitutor.com/trigonometric-ratios/!3).
DE sẽ có tích vô hướng là nhỏ nhất (và xấp xỉ -1) sẽ được cho là đầu và đuôi của bounding box.
Sau đó ta sẽ chia nhỏ bounding box thành các hình hộp chữ nhật liên tiếp nhau trong hình (a) 2.6 (biểu diễn bằng chấm đỏ và chấm xanh lá cây Ngoài thông tin về mặt hình học, thông tin về kích thước của các thành phần trong vùng chứa văn bản sẽ góp phần dự đoán kết quả thuật toán Vì thế tác giả sử dụng J và w theo phương trình dưới đây:
Tac giả mặc định wy, = 8 và Wmax = 24 trong thực nghiệm của mình vì theo tác giả đây là chiều rộng nhỏ nhất và lớn nhất có thể của mỗi chữ trong văn bản.
Ngoài ra, tác giả còn dựa trên các hình hộp chữ nhật trong bước trên để xác định thông tin về vùng chứa văn bản - text region (TR) và text central region (TCR) Thông tin vé text central region được biến đổi bằng cách co TR lại, trong
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
M(ei,ei+1) = cos ei,ei+1 M
AH and DE : head and tail GH ~0
Hình 3.13: Thuật toán tìm đầu và đuôi của bounding box. thực nghiệm của tác giả thì kích thước co là 0.5 x w với w là chiều rộng của 2 hình hộp chữ nhật ở đầu và cuối Tại sai lại co vùng TR lại? Vì trong quá trình huấn luyện để cho thuật toán không bị ảnh hưởng bởi nhiễu, ta co vùng TR lại để tránh thuật toán học các nhiễu này.Cả hai thông tin này sẽ được tác giả rút trích bằng mạng VGG16[7], và để cải thiện được hiệu quả của mô hình, tác giả còn áp dụng thêm kĩ thuật FPN [12]
Nhu vậy ta đã có một thành phần text bao gồm các thông tin sau D = (x,y,h, w, cos, sin8). Dựa trên các thông tin này ta sẽ sinh ra các local graph A để liên kết 2 thành phần text liên tiếp nhau Local graph A và đặc trưng X của D sẽ được mạng graph convolutional network G học trong quá trình huấn luyện cả mô hình Quá trình sinh ra local graph A để đưa cho mô hình mạng g(X,A) học được miêu tả bằng hình 3.14:
Trong quá trình cài đặt, tác giả còn ứng dụng kĩ thuật sin/cos positional em- bedding trong bài báo [17] để tránh sự mất mát về thông tin vị trí trong ảnh bằng
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
BAN. cos9,SỈ"Ô embed Node
Figure 5 Illustration of g(X, A) generation Ƒ; represents the geometry features; X is node feature matrix; A is an adjacency matrix; g(X, A) represents the mathematical expression of local graph The details of embedding operation in Eq 12 and Eq 13.
Hình 3.14: Thuật toán sinh ra /ocal graph va mang graph neural G(X,A) của DRRG dựa trên thành phan text và các đặc trưng của node va ROI
2 phương trình dưới đây đây:
Thay thé thuật toán graph convolutional bằng thuật toán graph attention :Như vậy trong mô hình ban đầu, tác giả sử dụng graph convolutional Trong đề xuất của nhóm khóa luận sẽ thay thé module này bằng graph attention Nhóm sẽ tiến hành thay đổi các siêu tham số như head - sô đầu của mô hình attention, số lớp tầng rút trích đặc trưng và cuối cùng là số lượng đặc trưng ẩn trong mỗi tầng để từ đó đưa ra đánh giá về độ chính xác và tốc độ trên mỗi bộ siêu tham số.
3 AP DUNG GRAPH ATTENTION TRONG BÀI TOÁN NHẬN DIEN VAN
Qua chương này nhóm nghiên cứu đã trình bày lại các kiến thức cơ bản được sử dụng trong khóa luận Đầu tiên là kiến thức cơ bản về Deep Learning như
Neural Network và Convolutional Neural Network - CNN; sau đó là các thuật toán áp dụng trên mạng học sâu CNN như FCN và FPN Ngoài ra, nhóm còn trình bày các khái niệm cơ bản trên dữ liệu đồ thị, các dạng bài toán trên ba mức độ khác nhau của dữ liệu đồ thị Tiếp đến, nhóm trình bày về hai kĩ thuật học sâu trên dit liệu đồ thị Dựa trên các kiến thức này, nhóm đã trình bày các kỹ thuật sử dụng trong bài toán phát hiện chữ trong hình ảnh.
Kétchuong 2.0.0.0 ee ee 47
So sánh với các bộ dữ liệu liên quan
Cho đến hiện nay, hằng năm, hội nghị ICDAR[18] vẫn tổ chức các cuộc thi liên quan đến bài toán này để đưa ra các bài toán mang tính thách thức hơn - thu hút sự chú ý của nhiều nhà nghiên cứu trong lĩnh vực thị giác máy tính Vì thế, trong bài toán này đã xuất hiện các bộ dữ liệu mà sau này trở thành chuẩn đánh giá cho các thuật toán phát hiện và nhận diện văn bản.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Trong ngôn ngữ tiếng Anh - Latin: Ta có tập dữ liệu 2013[19], ICDAR 2015{4].
COCO-Text[20] Hai tập dữ liệu ICDAR13 và ICDAR15 là hai bộ dữ liệu có kích thước vừa phải và với một lượng nhỏ ảnh trong đó có văn bản theo hướng nghiêng.
Bộ dữ liệu Total-Text, là một bộ dữ liệu gồm có 1533 ảnh, với mục tiêu của bộ dữ liệu giải quyết bài toán văn bản theo hướng nghiêng , cong và lượn sóng; tác giả gán nhãn mọi đối tượng trong bộ dữ liệu bằng hình đa giác polygon.
Trong ngôn ngữ tiếng Trung: Ta có các bộ dữ liệu chuẩn để thực nghiệm và đánh giá CTW-1500[21], RCTW-17[22], Dựa trên mục tiêu của tập dữ liệu
Total-Text, tác giả của bộ CTW1500 hướng tới bài toán giải quyết văn bản theo hướng cong trong ngôn ngữ Tiếng Trung; bộ dữ liệu của tác giả gồm 10.751 đối tượng văn bản trong 1500 ảnh, vì vậy tác giả lấy con số 1500 đặt tên cho bộ dữ liệu của mình.
Trong năm 2021, trong cộng đồng nghiên cứu ở Việt Nam, đã có công bố bộ dữ liệu tên là VinText[23] VinText là bộ dữ liệu đầu tiên và lớn nhất bằng Tiếng
Việt với 2000 ảnh và 56.000 đối tượng văn bản Các ảnh trong VinText được chụp trong cảnh hoạt động và sinh hoạt hằng ngày của con người Việt Nam - như trang phục, cửa hàng, biển báo, hình trên tHỜNG,
4.2 Xây dựng tap dữ liệu SignboardText
Trong phần này, nhóm sẽ xây dựng tập dữ liệu có tên là SignboardText Dựa trên chuẩn ICDAR2015, để thực hiện việc gán nhãn bốn góc cho bài toán phat hiện văn bản và gán nhãn nội dung văn bản của đối tượng để phục vụ cho bài toán nhận diện văn bản Tổng quát, bộ dữ liệu của nhóm bao gồm 1175 ảnh biển quảng cáo với 52.933 đối tượng văn bản (nhóm đã thực hiện việc gán nhãn trên mức độ từ và mức độ dòng).
Xây dựng tập dữ liệu SignboardText
Giai đoạn thu thập dữ liệu
Nhóm thực hiện thu thập ảnh từ mạng Internet dùng các từ khóa như biển báo, biển nhà hàng, cổng bệnh viện, cổng trường, cổng chào mừng/lễ hội, tiệm tạp hóa, tiệm đồ ăn, Sau đó nhóm thực hiện lọc các bức ảnh có độ phân giải rất thấp Cuối cùng, nhóm sử dụng thư viện imagedup để tránh xảy ra tình trạng xuất hiện ảnh trùng nhau Kết quả của giai đoạn thu thập dữ liệu là nhóm thực hiện đã có được bộ dữ liệu cuối cùng bao gồm 1175 ảnh.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.2.2 Giai đoạn gan nhãn dữ liệu:
Trong quá trình gán nhãn dữ liệu, nhóm đã nhờ 10 để gán nhãn giùm và sử dụng lại công cụ PPOCRLabel! Tuân theo tiêu chuẩn gin nhãn ICDAR15 [4]. Hình 4.3 minh họa chuẩn label ICDAR2015.
Tat cả mọi ảnh trong SignboardText đều được nhóm gán nhãn bằng tay Và sau khi xong gán nhãn xong, mỗi người trong nhóm đều phải cross-check phần
Thttps://github.com/Evezeres/PPOCRLabel
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ việc của người khác Trong thời gian gán nhãn dữ liệu, nhóm thực hiện tổ chức các cuộc meeting để giải quyết thắc mắc như các trường hợp khi gặp ảnh mờ, đối tượng văn bản theo chiều dọc, số điện thoại , địa chi,
4.2.3 Các thông tin khác về tập dữ liệu:
Sau quá trình thu thập, bộ dữ liệu của nhóm có số lượng trung bình 10 văn bản trên mức độ dòng và 35 văn bản trên mức độ từ Từ điều này, ta có thể chứng minh được rằng, mật độ văn bản xuất hiện trong ảnh cảnh ở Việt Nam cao hơn hẳn so với các nước khác.
Ngoài ra, nhóm nghiên cứu còn nhận định từ hình 4.2 rằng font chữ của văn bản trong ảnh ở Việt Nam vô cùng đa dạng - đây cũng là một thách thức lớn cho bài toán nhận diện chữ viết Tiếng Việt.
Hình 4.2: Thách thức về font chữ theo hình thức nghệ thuật trong ảnh cảnh Tiếng Việt.
Các thông tin khác về tập dữ liệu
Sau quá trình thu thập, bộ dữ liệu của nhóm có số lượng trung bình 10 văn bản trên mức độ dòng và 35 văn bản trên mức độ từ Từ điều này, ta có thể chứng minh được rằng, mật độ văn bản xuất hiện trong ảnh cảnh ở Việt Nam cao hơn hẳn so với các nước khác.
Ngoài ra, nhóm nghiên cứu còn nhận định từ hình 4.2 rằng font chữ của văn bản trong ảnh ở Việt Nam vô cùng đa dạng - đây cũng là một thách thức lớn cho bài toán nhận diện chữ viết Tiếng Việt.
Hình 4.2: Thách thức về font chữ theo hình thức nghệ thuật trong ảnh cảnh Tiếng Việt.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Một số độ đođánhgiá c 53
Một số khái niệm cơ bản 53
Confusion matrix là một bảng có bố cục cụ thể để trực quan hóa hiệu suất của thuật toán Trong đó, mỗi hàng của ma trận thường là các đối tượng trong một lớp được dự đoán, còn cột là các đối tượng trong một lớp trong thực tế.
* True Positive: Số lượng mẫu thuộc lớp a và được mô hình dự đoán cũng thuộc lớp a.
* True Negative: Số lượng mẫu không thuộc lớp a và cũng không được dự đoán thuộc lớp a.
* False Positive: Số lượng mẫu thuộc lớp khác a và được dự đoán là lớp a. ® False Negative: Số lượng mẫu thuộc lớp a và được dự đoán là lớp khác a.
'https://jkmsmkj.blogspot.com/2018/10/confusion-matrix.html
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Hình 4.4: Minh hoa cho Confusion matrix (Nguồn Internet).
Trong bài toán thị giác máy tinh, để xác định các giá trị trên có phải là Positive hay False Positive thì thường dùng một ngưỡng threshold để quyết định chúng thuộc loại nào.
Là một độ đo phổ biến trong thị giác máy tính, được xác định bằng phần giao trên phần hợp của GroundTruth Box và Predicted Box Theo đó, độ đo Precision và Recall cũng được xác định như sau: Đối tượng
[Hộp nhận diện loU = _—_ Phồngao nhau
Hình 4.5: Minh hoạ các độ đo qua IoU (Nguồn Internet”).
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
* GroundTruth Box là ô chứa các đối tượng trong tập dữ liệu.
* Predicted Box (Detected Box) là các 6 dự đoán của mô hình có chứa đối tượng bên trong.
* Precision: được xác định bằng cách tính tỉ lệ giữa giá trị của phần giao giữa ô dự đoán và Ground Truth, với ô Ground Truth.
* Recall: được xác định bằng cách tính tỉ lệ giữa các giá trị của phần giao của ô dự đoán và Ground Truth, với các ô dự đoán.
Precision: Trong bài toán thi giác máy tinh, precision dùng để xác định trong các dự đoán của mô hình thì thực chất có bao nhiêu dự đoán trên tổng số các dự đoán của mô hình là chính xác Và để xác định được điều này, Precision dùng phép toán sau để xác định:
Recall: Con về recall, dùng để xác định được tỉ lệ dự đoán trong mô hình so với tổng số lượng đối tượng thực chất có trong dữ liệu Và phép toán được Recall dùng là:
Hình 4.6 biểu diễn cách tinh Precision va Recall một cách trực quan hon.
?http://www.gabormelli.com/RKB/Bounding_Box_Intersection_over_Union_(IoU)_Measure
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ actually positive actually negative q ion — TP _ _ —_
Recall = g gy = TP+FN I¢ p> classified (or found) as positive
Hình 4.6: Hình minh hoa cách tinh Precision va Recall (Nguồn machinelearningcoban!)
Fl-Score: Là một độ đo dựa trên sự kết hợp của hai độ Precision và Recall, F1-Score còn được coi là giá trị trung bình của hai độ đo trên, nó được dùng để đánh giá các bài toán khi xem Recall và Precision là quan trọng như nhau Công thức F1-Score sử dụng là: precision - recall F1—Score = 2 (4.3) precision + recall
4.4 Kết quả và đánh giá
4.4.1 Kết quả thực nghiệm Ở mục này, nhóm nghiên cứu sẽ tiến hành đánh giá các phương pháp tương ứng theo hai giai đoạn riêng biệt Đối với giai đoạn phát hiện chữ, để chứng minh hiệu quả của module graph, nhóm huấn luyện lại từ đầu trên tập dữ liệu giả SynthText[25] với cả hai phương pháp TextSnake[1] và DRRG[2]; và cuối cùng
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ để so sánh hiệu quả của module graph attention đối với module graph convolu- tional nhóm sẽ tiền hành huấn luyện DRRG trên các bộ siêu tham số - hyperpa- rameter khác nhau trên bộ dữ liệu thực tế là SignboardText và VinText Đối với giai đoạn nhận diện chữ, vì mô hình VietOCR đã huấn luyện trên 10 triệu ảnh Tiếng Việt nên nhóm nghiên cứu sẽ đánh giá hiệu quả của mô hình VietOCR trước và sau khi huấn luyện lại trên ảnh đã cắt ra từ tập dữ liệu TextSignboard.
4.4.1.1 Giai đoạn phát hiện chữ (TextDetection)
Trước khi huấn luyện các mô hình TextSnake và DRRG trên dữ liệu Tiếng Việt, tương tự như trong các bài toán về phát hiện đối tượng thông thường, trước khi thực hiện huấn luyện trên dữ liệu thực tế ta cần phải chuẩn bị mô hình pre- trained Nhưng nhóm nghiên cứu có một nhận xét sau đây dựa trên dữ liệu Syn- thText [25] gốc:
* (1) Trong tập dữ liệu gốc hoàn toàn bằng Tiếng Anh, số lượng mẫu dữ liệu là quá lớn (đến 858 ngàn ảnh) và không phù hợp với môi trường tiếng Việt là chữ có dấu (tone-mark).
* (2) Trong thực nghiệm của khóa luận, để có việc so sánh công bằng giữa mô hình graph convolution (chỉ train trên dữ liệu SynthText gốc) và graph attention (chưa có model train trên tập dữ liệu gốc); và tương tự khi so sánh giữa các mô hình của DRRG với baseline TextSnake.
Vì thế, trong nghiên cứu lần này, nhóm tiến hành sinh dữ bộ dữ liệu Tiếng Việt với số lượng ảnh nhỏ hơn để phù hợp với quá trình thực nghiệm Như vậy, tóm tắt pipeline của quá trình huấn luyện bằng hình sau 4.7:
Tập dữ liệu được xây dựng để đánh giá bao gồm 150 hình ảnh chứa nội dung văn bản bên trong, được tách từ tập crawler và tách biệt so với tập dữ liệu training và validation.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Pretrain | IDy đoán và đánh giá
Hình 4.7: Minh họa pipeline pretrain và huấn luyện các mô hình trên dữ liệu Signboard-
Bảng 4.3: Bang thống kê dữ liệu pretrain của dữ liệu gốc và dữ liệu sinh bằng Tiếng
Số lượng instances Số lượng ảnh
Line-level | Word-level | Char-level | 858,750 Dung Lugng
* Với các mô hình sẽ được đánh giá trên tập dữ liệu được xây dựng ở trên bằng phương pháp đánh giá TedEval[26], là một phương pháp đánh giá dựa trên thiêu chuẩn đánh giá trên tập ICDAR 2015[4], với các thông số Precision,
* Mỗi mô hình đều được đánh giá trên các phương diện sau:
— FPS: là thời gian để xử lý dự đoán trên một ảnh.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Bảng 4.4: Thống kê kết quả huấn luyện của TextSnake - không có module graph, DRRG graph convolution (Conv) model và DRRG graph attention (GAT) model
Tên phương pháp TextSignboard VinText FPS
Recall reek Recall ree sion score sion score
74.70% | 92.20% | 82.50% | 54.70% | 86.40% | 67.00% | 2.17 Attention Đánh giá giữa TextSnake và DRRG convolutional va DRRG graph attention: Dựa vào kết quả đánh giá thu được ở bảng 4.4, ta có thé thấy kết quả ta đưa ra 3 nhận xét sau đây:
Kétquathucnghiém
Giai đoạn phát hiện chữ (TextDetection)
Trước khi huấn luyện các mô hình TextSnake và DRRG trên dữ liệu Tiếng Việt, tương tự như trong các bài toán về phát hiện đối tượng thông thường, trước khi thực hiện huấn luyện trên dữ liệu thực tế ta cần phải chuẩn bị mô hình pre- trained Nhưng nhóm nghiên cứu có một nhận xét sau đây dựa trên dữ liệu Syn- thText [25] gốc:
* (1) Trong tập dữ liệu gốc hoàn toàn bằng Tiếng Anh, số lượng mẫu dữ liệu là quá lớn (đến 858 ngàn ảnh) và không phù hợp với môi trường tiếng Việt là chữ có dấu (tone-mark).
* (2) Trong thực nghiệm của khóa luận, để có việc so sánh công bằng giữa mô hình graph convolution (chỉ train trên dữ liệu SynthText gốc) và graph attention (chưa có model train trên tập dữ liệu gốc); và tương tự khi so sánh giữa các mô hình của DRRG với baseline TextSnake.
Vì thế, trong nghiên cứu lần này, nhóm tiến hành sinh dữ bộ dữ liệu Tiếng Việt với số lượng ảnh nhỏ hơn để phù hợp với quá trình thực nghiệm Như vậy, tóm tắt pipeline của quá trình huấn luyện bằng hình sau 4.7:
Tập dữ liệu được xây dựng để đánh giá bao gồm 150 hình ảnh chứa nội dung văn bản bên trong, được tách từ tập crawler và tách biệt so với tập dữ liệu training và validation.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Pretrain | IDy đoán và đánh giá
Hình 4.7: Minh họa pipeline pretrain và huấn luyện các mô hình trên dữ liệu Signboard-
Bảng 4.3: Bang thống kê dữ liệu pretrain của dữ liệu gốc và dữ liệu sinh bằng Tiếng
Số lượng instances Số lượng ảnh
Line-level | Word-level | Char-level | 858,750 Dung Lugng
* Với các mô hình sẽ được đánh giá trên tập dữ liệu được xây dựng ở trên bằng phương pháp đánh giá TedEval[26], là một phương pháp đánh giá dựa trên thiêu chuẩn đánh giá trên tập ICDAR 2015[4], với các thông số Precision,
* Mỗi mô hình đều được đánh giá trên các phương diện sau:
— FPS: là thời gian để xử lý dự đoán trên một ảnh.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Bảng 4.4: Thống kê kết quả huấn luyện của TextSnake - không có module graph, DRRG graph convolution (Conv) model và DRRG graph attention (GAT) model
Tên phương pháp TextSignboard VinText FPS
Recall reek Recall ree sion score sion score
74.70% | 92.20% | 82.50% | 54.70% | 86.40% | 67.00% | 2.17 Attention Đánh giá giữa TextSnake và DRRG convolutional va DRRG graph attention: Dựa vào kết quả đánh giá thu được ở bảng 4.4, ta có thé thấy kết quả ta đưa ra 3 nhận xét sau đây:
* (1) Kết quả thực nghiệm F1-score của TextSnake là 75.05% trên tập TextSign- board đều luôn nhỏ hơn cả hai mô hình graph convolutional và graph atten- tion của DRRG; kết quả tương tự như trên tập kiểm nghiệm của VinText. Điều này chứng minh rằng khi áp dụng module graph vào mô hình học sâu, kết quả huấn luyện của mô hình DRRG tốt hơn của kết quả huấn luyện của mô hình TextSnake.
* (2) Khi so sánh 2 module graph trong mô hình DRRG, mô module Graph
Attention đạt hiệu quả x4p xi module graph convolutional Với chỉ số Pre- cision cao 2.5% trên tập kiểm nghiệm của TextSignboard Nhung bù lại, trên tập kiểm nghiệm của VinText ta lại đạt được chỉ số F1 cao hơn hẳn của graph convolutional.
* (3) Tuy vậy khi ta xem xét về độ hiệu quả về tốc độ thì FPS của graph attention cao hẳn hơn so với baseline là TextSnake và graph convolutional.
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Nhu vậy mô hình graph attention vẫn có phần hiệu quả hơn mô hình graph convolutional.
Bảng 4.5: Nghiên cứu mở rộng trên các siêu tham số khác nhau của module graph attention của mô hình graph attention
So | Số Số TextSignboard VinText Í x FPS head | lớp | đặc Recall | Precision Fl Recall | Precision Fl trung score score
Dựa vào kết quả đánh trên từng cầu hình khác nhau của module graph atten- tion trong DRRG (bảng 4.5), ta rút ra được 2 nhận xét sau đây:
* (1) Hiệu qua của mô hình giảm khi tăng số lượng heads mà vẫn giữ số đặc trưng trong mỗi lớp ẩn (tăng từ 6 heads đến 8 heads), điều này chứng tỏ module GAT bị overfit trên dif liệu huấn luyện dẫn đến kết quả kém trên dữ liệu kiểm nghiệm của mỗi tập SignboardText và VinText.
* (2) Khi ta giảm số lượng đặc trưng học sâu ở mỗi head (giảm từ 128 đặc trưng xuống còn 64 đặc trưng) ta cũng thu được hiệu quả F1 score xấp xỉ gần nhau (FI score của mô hình giảm không đáng kể: từ 82.50% xuống còn 82.41%) trên tập TextSignboard; nhưng bù lại, ta lại đạt được 2.75
FPS Điều này chứng tỏ rằng với cấu hình "4 head - 3 lớp - 64 đặc trưng", ta vẫn đạt được hiệu quả cao.
Giai đoạn nhận diện chữ (TextRecognition) 60 44.2 Đánhgi Q Q Q Q Q Q 0000000 61
Đánh giá giữa mô hình Transformer và Seq2Seq của VietOCR: Dua vào kết quả đánh giá trong bảng 4.6, ta có thể thấy kết quả pretrained mô hình VietOCR
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
Bảng 4.6: Kết quả huấn luyện mô hình VietOCR từ ảnh cắt ra của tập dữ liệu Signboard-
| 'Tên phương pháp Accuracy % Độ do levenshtein
Pretrained | Training | Pretrained | Training VietOCR-TranformerOCR | 68.57 76.40 2 | 5.56 137v
| VietOCR-Seq2Seq 68.42 74.00 4 | 6.25 1.13 y với cấu hình Transformer có độ chính xác cao hơn mô hình Seq2Seq trên cả thang đo accuracy và levenshtein Cũng vì lý do này mà, kết quả huấn luyện của
Transformer đương nhiên sẽ cao hơn của Seq2Seq.
Theo các thống kê kết quả đánh giá ở trên, đối với giai đoạn phát hiện chữ, các mô hình được huấn luyện bằng DRRG[2] đều dat kết quả tốt hơn so với
TextSnake[1]. Đối với việc áp dụng thuật toán graph vào trong mô hình, nhóm nhận xét rằng, thuật toán graph attention hiệu quả hơn thuật toán graph convolutional về mặt độ chính xác và hiệu quả Đối với giai đoạn nhận diện chữ, cả hai mô hình Transformer và Seq2Seq của VietOCR đều hiệu quả trên tập kiểm nghiệm của SignboardText, phù hợp cho ứng dung minh họa của nhóm sắp tới.
Qua chương này, nhóm cũng đã xây dựng được một bộ dữ liệu để phục vụ cho việc hiện thực các model qua các phương pháp tiếp cận Deep Learning.
Bên cạnh đó, nhóm tìm hiểu cài đặt được từng mô hình, chạy thực nghiệm và thông số đặc điểm riêng biệt của từng thuật toán về tốc độ xử lý và độ chính xác.
Vì thế, có cơ sở để chọn thuật toán phù hợp nhất để áp dụng trong một bài toán
4 THỰC NGHIỆM VÀ ĐÁNH GIÁ thực tế.
XÂY DỰNG ỨNG DỤNG MINH HOA THỰC NGHIÊM
51 Médau Để mô phỏng kết quả thực nghiệm, nhóm nghiên cứu xây dựng ứng dụng demo trực quan hóa kết quả dự đoán của mô hình Trong đó nhóm sử dụng các thư viện như Flask (Flask restful, Flask cors) , requests cho việc giao tiếp giữa server va client Thư viện chính là Pytorch cho việc thực hiện dự đoán kết qua trên mô hình học sâu Các thư viện khác như OpenCV, numpy, Polygon3 để thực hiện các tính toán số học, hình học và vẽ đồ họa trên ảnh gửi về.
5.2_ Ứng dụng trực quan hóa kết dự đoán của mô hình
Nhóm thực hiện xây dựng web demo trực quan hóa các kết quả về để thuận tiện cho việc quan sát dữ liệu và đưa ra nhận xét về kết quả của phương pháp đó.
Cụ thể, để nộp kết quả và từng ứng dụng của web như sau:
Ground Truth See upload instructions.
‘Method ‘Submit date Recal Precision Hmean NED
Hình 5.1: Trang chính của web visual kết quả.
5.2.1 Định dạng dé visual lên trên web demo Để thực hiện việc nộp kết quả lên web demo, người nộp cần chuẩn bị các tệp tin theo hình 5.2 Trong đó, mỗi file json cần tuân thủ theo cấu trúc sau đây:
Mỗi file json sẽ chứa một danh sách gồm các kết quả dự đoán của pháp của mình Mỗi kết qua dự đoán là một từ điển bao gồm hai key points va transcription như trong hình 5.3
* "points": Chứa tọa độ theo 4 góc của đối tượng văn bản dự đoán được trong ảnh.
* "transcription": Sẽ tương ứng chứa thông tin về nội dung văn bản với thông tin "points" nêu trên.
5 ỨNG DỤNG THỰC NGHIỆM ep Meeps sree tp rere epee
Cẽlimg _1004json limg_1005.json Jimg_1006.json TÌlimg_1007.json img_1008,json img_1009,json
Ia\ img_1013,json ae img_1014,json img_1015.json img_1016,json img_1017,json img_1018,json
Hình 5.2: Cấu trúc cây thư mục trong tệp tin nén dành cho việc nộp kết quả lên web trực quan dữ liệu.
5.2.2 Các giao diện chính của web trực quan hóa kết quả trả về:
Sau khi nộp kết quả, nhóm sẽ chọn phương pháp mình vừa nộp, ta sẽ nhận diện giao điện như sau để xem thumbnail và kết quả trên hàng loạt ảnh như trong hình 5.4.
Sau đó, người dùng có thể nhắn vào để xem cụ thể kết quả trên từng thang do. Ngoài ra, người dùng có thể xem được hình vẽ trên ground truth và kết quả dự
File Edit Format View Help
Ln2, Col4 T0% — Unix(LE) UTF-8
Hình 5.3: Thành phần của từng tệp tin json trong file nộp.
Precision: 80.93 % Precision: 88.24% Precision: 91.25% Precision: 92.86% Precision: 100.0% Precision: 100.0%
Himean: 81.65% Hmean: 85.71 % Hmean: 91.25% Hmean: 91.23 % Hmean: 100.0% Hmean: 100.0%
NED: 58.13% NED: 81.58% NED: 81.47 NED: 82.26 % NED: 99.21 % NED: 81.56 % aa
Sample:7 Sample: Sample:9 mpls: T1 Sample: 12
ID:img 1007 IDimg-1008 IDrimg.1003 D:img 1011 IDrlimg 1012
Recall: 8737% Recall 78 95% Recall: 100.0% Reclt 100.0% Recall 6429% Recall: 100.0%
Precision: 92.78% Precision: 88.24% Precision: 100.0% Precision: 100.0% Precision: 100.0% Precision: 100.0%
Himean: 8899 9 Hmean: 83.33 % Hmean: 100.0% Hmean: 100.0% mean: 78.26% Hmean: 100.0%
NED: 81.51% NED: 67.26% NED: 100.0 % NED: 77.08% NED: 625% NED: 100.056
Hình 5.4: Web trực quan kết quả của từng ảnh bang thumbnail.
5 ỨNG DỤNG THỰC NGHIỆM đoán trên cả 2 giai đoạn phát hiện - dectecion (bên tay trái) và kết quả nhận diện
- recognition (bên tay phải) - hình 5.5 Từ đó, người dùng có thể rút ra được nhận xét sơ khảo về phương pháp đang dùng của mình.
Meu ĐBNet SATRN 0; ĐBNet SATRN 0.
ABCNetV2_testA+Vedastr tegB1 9268 % 84.09% 88.17 %7007 %, [ABCNetv2 ViefOCR Craw TestB1| 906%, 8957%90081% 72.68 te und thas mae Detection Reoopilien alia.
Hình 5.5: Web trực quan cụ thể từng kết quả của từng ảnh.
Qua chương này, nhóm tìm hiểu đã biết được cách thức xây dựng, ứng dụng model từ các phương pháp, thuật toán vào trong một bài toán thực tế Biết cách ứng dụng các công nghệ mới để áp dụng vào việc phát triển ứng dụng Bên cạnh đó, còn có thêm kiến thức về cách triển khai ứng dụng cho việc sử dụng rộng rãi về lâu dài.
KET LUẬN VÀ HƯỚNG PHAT
Qua khoá luận này nhóm thực hiện đã tìm hiểu khái quát về Deep Learning. Đặc biệt nhóm thực hiện tập trung nghiên cứu kiến trúc của mô hình Convo- lutional Neural Networks (CNN), bài toán nhận diện chữ viết, các kỹ thuật và phương pháp đã được áp dụng cho bài toán và cách áp dụng Deep Learning cho bài toán này, đồng thời nhóm nghiên cứu cách hoạt động của các bài toán và thuật toán học sâu trên dữ liệu đồ thị Qua đó nhóm thực hiện nêu lên được những ưu điểm và hạn chế của từng hướng giải quyết cho bài toán nhận diện chữ viết Để từ đó chọn được phương pháp DRRG[2] cho giai đoạn phát hiện chữ, VietOCR cho giai đoạn nhận diện chữ là những phương pháp phù hợp nhất đối với bài toán đang giải quyết.
Qua quá trình tìm hiểu và nghiên cứu, nhóm thực hiện nhận thấy rằng Deep
Learning quả thật là một mô hình áp dụng rất hiệu quả cho bài toán trong lĩnh vực computer vision, đồng thời, nhóm cũng nhận định rằng các kĩ thuật trên dữ liệu đồ thị góp phần tăng hiệu quả của thuật toán trong học sâu Nhưng bên cạnh đó, hạn chế của nó vẫn còn tồn tại đó là đòi hỏi rất nhiều tài nguyên trong quá
68 trình huấn luyện, số lượng dif liệu cần cho quá trình huấn luyện yêu cầu là khá lớn để đạt được một model có độ chính xác cao Và cho đến nay, vẫn chưa có một công trình nghiên cứu nào cho ra một phương pháp thiết kế mô hình học sâu một cách tối ưu nhất.