Các bước xử lý của U-Net

Một phần của tài liệu 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 (Trang 63)

8 Tổng kết

6.2 Các bước xử lý của U-Net

Với cách đánh nhãn mọi dòng văn bản chữ viết tay đều có nhãn V sẽ giúp việc học chính xác hơn, tuy nhiên kết quả ra sẽ bị gộp vào chung vào thành 1 do những nét chữ thường không đúng dòng và bị lấn lên các dòng khác. Kết quả của mô hình đến đây đã có thể chấp nhận được, một số mô hình nhận dạng ký tự đã có thể áp dụng để trích xuất văn bản. Tuy nhiên ở mức độ đoạn văn bản thì tính chính xác của các mô hình OCR còn

những mô hình nhận dạng ký tự hoạt động tốt hơn. Để tách kết quả thu được thành từng dòng văn bản thì tôi đã áp dụng thuật toán scale space technique for word segmentation được đề xuất bời R. Manmatha và N. Srimal[2].

Hình 6.3: (a) Hình được chuyển sang hệ màu xám và được xoay dọc, (b) Mật độ điểm màu xám, (c) Làm mượt mật độ điểm màu xám, (d) Phân tách từng dòng

Ý tưởng chính của thuật toán là tính mật độ điểm ảnh ở từng dòng điểm ảnh(pixel), sau đó dựa vào biểu đồ mật độ, xác định vùng giao của các dòng (nơi mật độ điểm ảnh thấp hơn so với dòng trên, dòng dưới - cực đại địa phương). Để loại bỏ nhiễu, ảnh sẽ được đưa về ảnh xám, sau đó xoay hình cho hướng chữ thành dọc giúp phần tính toán dễ hơn, để tính mật độ điểm ảnh. Gọi hàmf(x, y) là giá trị của điểm ảnh (x, y) trong ảnh xám. Ta định nghĩa giá trị mật độ tại dòng y:

P(y) = W X

x=0

f(x, y) (6.1)

Với W là chiều rộng của tấm ảnh. Hình 6.3 cho ta thấy ảnh được chuyển sang hệ màu xám và xoay dọc (a) và biểu đồ mật độ sau khi được tính toán bằng hàm P (b). Những điểm cực đại địa phương ở biểu đồ mật độ thể hiện những khoảng tắng giữa từng dòng và những điểm cực tiểu địa phương thể hiện dòng chữ viết tay (có mực đen). Do phân đoạn đường thẳng liên quan đến việc phát hiện vị trí của cực đại cục bộ. Tuy nhiên, bảng mật độ điểm thường có nhiễu ở gần vùng cực tiểu/cực đại địa phương. Vi thế hàm P(y) cần được làm mượt (smoothed) với một bộ lọc Gaussian[2] để giảm những sai số do nhiễu gây ra. Biểu đồ sau khi làm mượt được thể hiện ở (c). Điểm cực đại địa phương thu được từ đạo hàm của hàm P được tính với y sao cho:

P′(y) = P(y)∗Gy = 0 (6.2) Kết quả cho ra tương đối chính xác, tuy nhiên những trường hợp phần chân của chữ cái như chữ "g", "y", "p",... hoặc phần dấu của từ hay phần mũ "â", "ă",... thường bị cắt

mất. Hình 6.5 là kết quả của hình 6.4 sau khi đi qua thuật toán Line Segmentation. Có thể thấy việc tách dòng chỉ phù hợp cho kiểu viết chữ in, khi đó những nét chữ ít bị giao với những dòng khác. Hình 6.4: Một nhãn Giá trị được học ra (a) (b) (c) (d)

Chương 7

Thí nghiệm và đánh giá kết quả

Trong chương này tôi sẽ trình bày những thí nghiệm, cách thức đánh giá và kết quả của các thí nghiệm khi tiến hành đánh giá trên tập dữ liệu do tôi gán nhãn.

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

Với bài toán nhận diện vùng văn bản, tôi sẽ dùng độ đo giá trị phần giao trên phần hợp (IoU-Intersection over Union) một độ đo phổ biến cho bài toán nhận diện vật thể nói chung. Được xác định như sau:

Hình 7.1: Cách tính toán độ đo IoU1

Để đánh giá tính ổn định và trung bình giữa nhiều dữ liệu, tôi sẽ lấy giá trị trung bình của IoU, và frequency weighted IoU để so sánh, đánh giá:

meanIU(IoU) = 1 ncl × P inii ti+P jnji−nii (7.1) 1 https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-de tection/

f requencyW eightedIU = 1 ncl × P iti×nii (P ktk)(ti+P jnji−nii) (7.2) Trong đó:

• nij là tổng số điểm ảnh của nhãn(class) i được dự đoán thuộc về nhãn j.

• ncl là tổng số nhãn của tập dữ liệu.

• ti =P

jnij là tổng số điểm ảnh của nhãn i. Có thể viết lại công thức như sau:

clW iseScore= T P T P +F P +F N +C (7.3) nP ixelsN ormi = Pnii inii (7.4) meanIU = 1 ncl ×clW iseScore (7.5)

f requencyW eightedIU =X(clW iseScore×nP ixelsN orm) (7.6) Với:

• TP (true positive): Số lượng điểm ảnh đúng được dự đoán đúng.

• FP (false positive): Sô lượng điểm ảnh sai bị dự đoán sai.

• FN (false negative): Số lượng điểm ảnh đúng bị đự đoán sai.

• C: Giá trị rất nhỏ chẳng hạn 0.000000000001 để tránh việc chia cho 0, nhưng không làm sai kết quả tính toán.

Tuy nhiên với bài toàn nhận diện vùng bản thì sự sai số giữa điểm ảnh đôi khi lại không ảnh hưởng quá nhiều đến vùng văn bản đó.

7.2 Kết quả thí nghiệm

Tôi đã thực hiện thí nghiệm với mô hình U-Net và một số biến thể được mô tả trong Bảng 7.1 bao gồm:

• U-Net: Vanilla U-Net.

• VGG U-Net: Mô hình vanilla U-Net kết hợp với mô hình VGG được huấn luyện sẵn ở quá trình mã hóa.

• Res50-U-Net: Mô hình vanilla U-Net kết hợp cơ chế skip-connection trong quá trình mã hóa.

STT Thí nghiệm Kiến trúc BatchNorm Hàm lỗi Kiểu gán nhãn

1 Thí nghiệm 1 U-Net Có CrossEntropy Đầy đủ

2 Thí nghiệm 2 VGG U-Net Có CrossEntropy Đầy đủ

3 Thí nghiệm 3 Res50 U-Net Có CrossEntropy Đầy đủ

4 Thí nghiệm 4 U-Net Có CrossEntropy Rút gọn

5 Thí nghiệm 5 VGG U-Net Có CrossEntropy Rút gọn

6 Thí nghiệm 6 Res50 U-Net Có CrossEntropy Rút gọn

Bảng 7.1: Thông số các thí nghiệm được đề xuất

So sánh giữa hai hình 7.2 và hình 7.3:

• Với cách gán nhãn đầy đủ, mọi vùng có giá trị đều được gán nhãn.

• Ngược lại, gán nhãn rút gọn chỉ tập trung vào những vùng có giá trị cần quan tâm.

• Đối với những nhãn mang Giá trị (V-<name>) thì với cách rút gọn, mọi nhãn giá trị đều mang chung một nhãn V, còn với cách gán nhãn đầy đủ sẽ được gán từng nhãn riêng đi cùng với nhãn Khóa(K-<name>, H-<name>,...)

• Nhìn vào ảnh màu ta cũng có thể thấy màu sắc tương đồng từng vùng có nhãn Giá trị ở hình 7.3b.

(a) Ảnh được gán nhãn đầy đủ (b) Ảnh đầu vào của U-Net được gán nhãn đầy đủ

Hình 7.2: Ảnh dữ liệu của kiểu gán nhãn đầy đủ

(a) Ảnh được gán nhãn rút gọn (b) Ảnh đầu vào của U-Net được gán nhãn rút gọn

Với mục tiêu là so sánh và tìm ra mô hình phù hợp với tập dữ liệu và bài toán, nên tôi đã thực hiện các thí nghiệm trên tập huấn luyệnkhông được làm giàu, để các mẫu trong tập huấn luyện giống nhau khi thực hiện quá trình huấn luyện. Ngoài ra, các thông số mô hình đều được giữ giống nhau nhằm đảm bảo tính khách quan. Sau nhiều lần huấn luyện và thử nghiệm, kết quả cuối cùng được đưa qua hàm đánh giá đã nêu ở trên và được thể hiện ở trong bảng 7.2.

STT Thí nghiệm mean IU frequency weighted IU

1 Thí nghiệm 1 0.560 0.759 2 Thí nghiệm 2 0.581 0.782 3 Thí nghiệm 3 0.581 0.788 4 Thí nghiệm 4 0.629 0.797 5 Thí nghiệm 5 0.642 0.805 6 Thí nghiệm 6 0.648 0.826

Bảng 7.2: Kết quả đánh giá của từng thí nghiệm

Dựa vào bảng 7.2 ta có thể kết luận rằng, với tập dữ liệu nhỏ hiện tại thì việc giảm số lượng nhãn giúp mô hình hoạt động hiểu quả hơn rất nhiều, ngoài ra việc đưa các nhãn Giá trị về thành một cũng giúp việc học giảm đi sai số rất nhiều. Ngoài ra giữa ba biến thể của U-Net thì có vẻ như Res50-U-Net cho ra kết quả nhỉnh hơn 2 mô hình còn lại. Tuy nhiên với bài toán nhận diện vùng văn bản thì kết quả này chưa thực sự đánh giá chính xác mô hình được, do nhiều điểm ảnh không mang tính chất chính xác ngay từ khi đánh nhãn, với cách đánh nhãn hình vuông bao vùng có chữ viết.

Hình 7.4b cho ta thấy kết quả dự đoán của mô hình Res50-U-Net - nhãn rút gọn trên tập kiểm tra so với hinh 7.4a. Mặc dù với kết quả đánh giá không được quá cao, nhưng nhờ tính chất vùng văn bản cộng thêm bước hậu xử lý loại bỏ những vùng nhiễu thì kết quả đem lại vẫn tương đối tốt.

(a) Ảnh với nhãn được đánh

(b) Ảnh sau khi đi qua Res50-U-Net và bước hậu xử lý

Hình 7.4: So sánh kết quả của mô hình Res50-U-Net

Nhìn thêm qua một số kết quả của mô hình từ hình 7.5. Có thể thấy rằng nhìn chung mô hình hoạt động khá ổn định với tập kiểm tra dù một số vùng vẫn nhận dạng sai và

một số vùng bị phát hiện thừa, điều này cũng sẽ ảnh hưởng đến hiệu quả của các quá trình khác như Trích xuất thông tin và Nhận diện ký hiệu quang học (OCR).

(a) (b)

(c) (d)

Hình 7.5: Một số ảnh kết quả của mô hình

Tuy việc gán nhãn theo cách rút gọn này giúp mô hình có thể học tốt hơn, đúng hơn so với nhãn được đưa vào. Thế nhưng có một vấn đề gặp phải, là những nhãn Giá trị khi bị đè lên nhau (overlap) sẽ có hiện tượng gộp chung thành một miền giá trị, và khi học sẽ bị đi cùng với nhau như hình 7.5

Chương 8 Tổng kết

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

Kết thúc giai đoạn Luận văn tốt nghiệp, tôi đã học hỏi, trang bị được rất nhiều kiến thức trong lĩnh vực Thị giác máy tính nói riêng, lĩnh vực Học máy, học sâu nói chung. Khi bước chân vào giai đoạn Đề cương cho tới khi kết thúc Luận văn, tôi đã có thể nắm được những cơ bản về ngành Trí tuệ nhân tạo, hiểu cách thức hoạt động của những mô hình. Từ đó, tôi cũng đã thực hiện được mô-đun nhận dạng khung và vùng văn bản trong tài liệu có bố cục cố định có kết quả khá tốt. Mô hình mà tôi xây dựng đã đáp ứng được đầy đủ các yêu cầu của bài toán đặt ra:

• Phát hiện được vùng khung, vùng văn bản.

• Tách vùng văn bản thành từng dòng văn bản để có thể phục vụ cho mô hình OCR. Tôi đã tìm hiệu và có thể đánh giá được những điểm mạnh yếu riêng của từng cách tiếp cận bài toán, cũng như những mô hình mạng nơ-ron khác nhau. Tuy chưa hiểu sâu và phân biệt rõ ràng được những biến thể của U-Net để có thể có những bước cải tiến riêng cho bài toán, nhưng tôi cũng đã tìm ra cách để đánh nhãn, hậu xử lý để đưa ra kết quả tốt.

Ngoài ra tôi cũng đã xây dựng được một bộ dữ liệu về tờ đơn của Viettel Post(VTP) gồm 251 ảnh với bộ nhãn đầy đủ và có thể tùy chỉnh theo nhu cầu bài toán, góp phần đóng góp cho cộng đồng những người đam mê lĩnh vực Thị giác máy tính (Computer Vision) ở Việt Nam và thế giới có cơ hội được nghiên cứu, phát triển các hệ thống.

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

8.2.1 Hạn chế

• Tập dữ liệu được tôi gán nhãn còn khá nhỏ, và mất rất nhiều thời gian để gán nhãn do lượng nhãn quá lớn trên một ảnh, ngoài ra do chỉ có một mình tôi thực hiện cũng như có một vài lần thay đổi cách gán nhãn nên không tránh khỏi những sai sót trong quá trình gán nhãn như: gán sai nhãn, gán nhầm nhãn, vùng khoanh nhãn chưa được tối ưu.

• Cách tiếp cận của mô hình hiện tại còn đơn sơ, chưa sử dụng được hết khả năng cũng như tài nguyên, những nhãn Khóa chưa được sử dụng để hỗ trợ việc nhận diện nhãn Giá trị.

• Phần hậu xử lý chỉ mang tính thử nghiệm, chưa có những phương pháp đánh giá chính xác, tốc độ xử lý chưa được nhanh.

• Chưa thể xây dựng một hệ thống hay ứng dụng hoàn thiện end-to-end, hiện tại chỉ là những mô-đun rời rạc.

• Mô hình sau huấn luyện chỉ hoạt động tốt trên tập dữ liệu VTP, chưa có tính phổ quát.

8.2.2 Hướng phát triển

Dựa trên những hạn chế đã trình bày, để hoàn thiện và cải thiện mô hình, tôi dự kiến sẽ phát triển tiếp với những ý sau:

• Làm giàu thêm tập dữ liệu hiện có, xử lý những dữ liệu đang bị sai nhãn cũng như đánh nhãn chưa tốt, sau đó tiến hành huấn luyện lại mô hình cũng như đánh giá lại hệ thống.

• Xây dựng hệ thống, ứng dụng hoàn thiện từ những mô-đun đang có.

• Nghiên cứu, phát triển tiếp các mô-đun OCR, trích xuất thông tin để hoàn thiện một hệ thống trích xuất thông tin từ văn bản chữ viết tay.

Phụ lục A

Kệ hoạch thực hiện luận văn

Từ những ngày đầu giai đoạn đề cương đến nay, tôi đã xây dựng kế hoạch cụ thể cho từng giai đoạn để đảm bảo cho luận văn hoàn thành một cách tốt nhất. Mặc dù ảnh hưởng việc học, việc làm cũng như tình hình dịch bệnh căng thẳng của Covid-19 có làm chậm tiến độ đã được đề ra. Song kế hoạch thực hiện vẫn được đảm bảo hoàn thành, bản kế hoạch thực hiện luận văn được tôi trình bày trong hình A.1 dưới đây.

Tài liệu tham khảo

[1] Convolution - Tích chập giải thích bằng code thực tế website. https://techmast

er.vn/posts/35474/convolution-tich-chap-giai-thich-bang-code-thuc-te.

Accessed: 2020-12-10.

[2] Scale Space Technique for Word Segmentation in Handwritten Documents website.

http://ciir.cs.umass.edu/pubfiles/mm-27.pdf. Accessed: 2021-5-11.

[3] Support vector machines - cs229 lecture notes. http://cs229.stanford.edu/not

es2019fall/cs229-notes3.pdf. Accessed: 2021-04-12.

[4] Tranposed Convolution - Cách hoạt động của tích chập chuyển vị website. https: //towardsdatascience.com/transposed-convolution-demystified-84ca81b4 baba. Accessed: 2021-02-17.

[5] Yangquing Jia Pierre Sermanet Scott Reed Scott Reed Dragmir Anguelov Dumitru Erhan Vincent Vanhoucke Andrew Rabinovich Chirstian Szegedy, Wei Liu. Going deeper with convolutions. arXiv preprint arXiv:1409.4842v1, 2014.

[6] Ross Girshick EShaoqing Ren, Kaiming He and Jian Sun. Faster r-cnn: To- wards real-time object detection with region proposal networks. arXiv preprint arXiv:1506.01497, 2016.

[7] Jonathan Long Evan Shelhamer and Trevor Darrell. Fully convolutional networks for semantic segmentation. arXiv preprint arXiv:1605.06211, 2015.

[8] Ross Girshick. Fast r-cnn. arXiv preprint arXiv:1504.08083, 2015.

[9] Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015. [10] Piotr Dollar Ross Girshick Kaiming He, Georgia Gkioxari. Mask r-cnn.arXiv preprint

arXiv:1703.06870, 2018.

[11] Shaoqing Ren Jian Sun Kaiming He, Xiangyu Zhang. Deep residual learning for image recognition. arXiv preprint arXiv:1512.0239, 2015.

[12] Philipp Fischer Olaf Ronneberger and Thomas Brox. U-net: Convolutional networks for biomedical image segmentation. arXiv preprint arXiv:1505.04597v1, 2015. [13] Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi. You only look

once: Unified, real-time object detection. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2016.

[14] Trevor Darrell Jitendra Malik Ross Girshick, Jeff Donahue. Rich feature hier- archies for accurate object detection and semantic segmentation. arXiv preprint arXiv:1311.2524v5, 2014.

[15] Frederic Kaplan† Sofia Ares Oliveira†, Benoit Seguin†. dhsegment: A generic deep- learning approach for document segmentation. arXiv preprint arXiv:1804.10371, 2019.

[16] Yichuan Tang. Deep learning using linear support vector machines. arXiv preprint arXiv:1306.0239, 2013.

[17] Francesco Visin Vincent Dumoulin. A guide to convolution arithmetic for deep learn- ing. arXiv preprint arXiv:1603.07285, 2018.

[18] Lilian Weng. Object detection for dummies part 3: R-cnn family.

lilianweng.github.io/lil-log, 2017.

[19] He Wen Yuzhi Wang Shuchang Zhou Weiran He Jiajun Liang Xinyu Zhou, Cong Yao. East: An efficient and accurate scene text detector. arXiv preprint arXiv:1704.03155, 2017.

[20] Tong He Pan He Yu Qiao Zhi Tian, Weilin Huang. Detecting text in natural image with connectionist text proposal network. arXiv preprint arXiv:1609.03605, 2016.

Một phần của tài liệu 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 (Trang 63)

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

(77 trang)