Trong béi cảnh của cuộc cách mạng số, việc nhận diện chữ viết tay tiếng Việt ngoại tuyến offline Handwritten Text Recognition for Vietnamese trở thành một thách thức đối với các nhà nghi
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHAM TPHCMKHOA CÔNG NGHỆ THÔNG TIN
NHAN DIEN CHU VIET TAY NGOAI TUYEN
KHOA LUAN TOT NGHIEP
TP.HO CHi MINH - NAM 2024
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
Bal HỌC
TP HO Cri mint
TRUONG BAI HỌC SU PHAM
TP HO CHi MINH
KHONG TIN HAO
KHOA LUAN TOT NGHIEP
Người Hướng Dẫn Khoa Học: TS Nguyễn Viết Hưng
TP HỎ CHÍ MINH - NĂM 2024
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn "Nhận diện chữ viết tay ngoại tuyến Tiếng Việt" là công
trình nghiên cứu của chúng tôi, được thực hiện đưới sự hướng dẫn của TS Nguyễn Viết
Hung Các kết quả nêu trong luận văn là trung thực và nội dung luận văn không có sự
sao chép từ các tài liệu hay công trình nghiên cứu khác mà không ghi rõ nguồn trong phân tài liệu tham khảo.
Tôi xin chịu trách nhiệm về lời cam đoan nảy.
Thành pho Hỗ Chí Minh, ngày 5 tháng 5 năm 2024
Không Tín Hào
Trang 4LỜI CÁM ƠN
Lời đầu tiên, tôi xin chân thành cảm ơn quý thay cô đang công tác tại Trường Đại Học Sư Phạm TP Hỗ Chí Minh nói chung và và tại Khoa Công Nghệ Thông Tin
nói riêng, những người đã dạy đỗ và truyền đạt kiến thức chuyên môn cũng như kinh
nghiệm thực tiễn cho tôi trong suốt bốn năm học tập tại trường Nhờ vào những kiến
thức và kỹ năng ma thay cô đã hướng dan đề rèn luyện tôi có thêm kha năng, trình độ
va niém đam mê với ngành Khoa học May tính va luôn cô gang hoan thành khóa luậntốt nghiệp này
Đặc biệt tôi xin bảy tỏ lòng biết ơn chân thành đến thay Nguyễn Viết Hưng —người đã hướng dẫn, chỉ bảo, giúp đỡ tôi rất nhiều trong quá trình học tập và nghiên
cứu dé hoàn thành khóa luận tốt nghiệp này Thay cũng chính là người truyền lòng tự
tin, niềm đam mê, chia sẻ cho tôi những kinh nghiệm quý báu để tôi có đủ hành trang
bước vào đời vào nghề sau khi tốt nghiệp Tuy thời gian tôi làm việc với thay không
lâu song tôi cảm nhận được tỉnh cảm cũng như lỏng nhiệt huyết của thầy đối với lớp
trẻ sinh viên tôi và đó cũng chính là một phan động lực giúp tôi có thé hoan thành tốt
khóa luận.
Tôi cũng xin gửi lời cảm ơn đến gia đình, bạn bè, những người luôn bên cạnh ủng hộ và giúp đỡ tôi trong quá trình học tập Mặc dù tôi đã cổ gắng rất nhiều, song
khóa luận vẫn không tránh khỏi những thiểu sót tôi rất mong nhận được sự thông cảm
và chỉ bảo tận tình của quý thầy cô và sự góp ý của mọi người
Xin chân thành cam ơn!
Tp Hồ Chi Minh, tháng 04 năm 2024
Sinh viên thực hiện
Không Tín Hào
Nw
Trang 5BANG CÁC KÝ HIỆU VÀ CHỮ VIET TAT
AI Artificial Intelligence
BERT Bidirectional Embedding Representations from Transformer CNN Convolutional Neural Network
LSTM Long Short-term Memory
RNN Recurrent Neural Network
NLP Natural Language Processing
CBAM Convolutional Block Attention Module
HTR Handwritten Text Recognition
Trang 6222 NAUHS HEME H CHUNG ổocisiiiiiiatiiatioititiitiiiiiiii1i441314310880851083108211833383543813858 15
CHƯƠNG 3: CO SỞ LY THUYÉTT 22 2czCzseCvreeCvrezcrrzzrccvreecrrzerrce 17
2:ÍIIEDCOEE:¿sitisciissiiisit2s11251023111251365112511555155513164196616635866519635865585355835595388835853558558833858 17
3.1.1 Covolution Neural Network - - - Án nHn HH Hye 17
3.1.1.1 Kiến trúc mô hình Convolutional Neural Network - 17
3/12 CBAN cssivssiscsssssssssssessssssosssisesivessosssesssssavivansnssdsssivesinessosssosssivesivesiessoos 30
I3 R€STEEO - 2 2 -22220-115202221122202332033113232231223122332302i23312557 33
Trang 74:11 Pile Inka Sang PNG isccsicssicasscasisosssassscssscasscosssasscassssasscaiscarseasssasseaazead 43
4.1.2 Xử lý ANB oa ccsscssesssessssessssveesssersssvenssaveesssersssvsansvtersssvasssvannsveeessersssneeness 43
4.2 Tern xt ly Vain 8 ẽ ẽ ẽ 45
4S EneoEF::::c:‹ciscoosoioeiiieoiisoiissgi0417031303112621161150315643565155548838556515281505888585885583858858586 45
4.3.1 CNN + Recurrent Neural Network (RNN) c c c 45 ' bon ố ẽ HH 46 đ/411)6G0010(0012020022102021120012402221124312540220213031314031033303622362121319583438312351483043234253138513331:e1 48
4.5 Hậu xử lý kết quả 22-22 222212222 SEE12EE2ZCE22E7242221127111 21122112222 rxee 49
CHƯƠNG 5:CÁC KY THUAT DANH GIÁ ocooooeoooeooonoooooooee 50
DMN GOSS oss cecccacccasccasesesseassecesecasccarsccrssusascessasssccrscoessaasezessasssauessz0ssocesacecasesessse: 50
$52 Word Biron RBẲEicicciooiooitobinotiiitiotti101001110010085043503100368503810835863584385843835850ã0663 52
CHUONG 6: DU LIEU, THỰC NGHIEM VÀ ĐÁNH GIIÁ - 5- 54
GD DUE 0 ẠA.gŒẸ: 54
6.2 Cải đặt vai thực MQHiEM: ccsscsscsssecssccssesssecssecssscsssesssessecsssessescssscssnesssasssecsnes 54
6.2.1 Thiết lập môi trường thử nghigme 0.0 cece cess ceecceesceeecsecsseeeneeeneee 546.2.2 Thiết lập thông số cho mô hình: 5 52622262 2129122202222 55
690 a A occas cecaccecaucxsaccaanccszascecesnscvecssussasssspeansasracossccnscusneasansastcasucacesszeel 55
CHUONG 7: KET LUẬN VA HƯỚNG PHAT TRIEN ssssssssssscsssessecsssecessnseeessnes 57
Trang 87.2 Hướng phát triển trong tương Ìai 2-©72+222£222EE2EEEZcEEZcEEzcrxecrxecrrec TÀI LIỆU THAM KHẢO
Trang 9DANH MỤC BANG BIEUBang 1: Thông so huan luyện chỉ tiết
Trang 10DANH MỤC HÌNH ANH
Hình 2-1: sơ đồ bài toán - ¿2222 ©t222222E2212211221721221223E 2111117102122 11- 11x re, 15 Hình 2-2: End to End Recognition System MÍodel .- 2c che 15
Hình 2-3: So sánh giữa Attention sử dung LSTM va Transformer 16
Hình 3-1 Cau trúc cơ bản của mô hình CNN -cvvvsecerirrtiriiiiirrirrriie 17Hình 3-2: Kiến trúc tổng quát của CNN s-ccs+ccLz2E2221E23.1231-.10.1Aexee 18
Hình 3-3 mô ta kiến trúc day đủ của CNN, về co bản kiến trúc của CNN bao gồm các
tầng Sau: Tang tich chap (Convolutional layer), Ham kich hoat (Activation layer), lang
pooling (Pooling layer) hay còn gọi là tang subsampling, tang kết nổi day đủ (Fully
Connected lay€T) HH 12k, Error! Bookmark not defined.
Hình 3-4: Biểu diễn hình ảnh đầu vào và bộ lọc dưới dạng ma trận - 20 Hình 3-5: Thực hiện đi chuyển ma trận bộ lọc - 2-6252 2222222x2csczzcstrssrrsrrres 21
Hình 3-6: Kết qua sau khi thực xong phép toán tích chập -2¿- 2255222 22
Hình 3-7: Thực hiện phép tích chập với một bộ lọc duy nhất - -: 22
Hình 3-8: Mô tả hai ban đỏ tính năng tương ứng với hai bộ lọc - -.«««- 23Hình 3-9: Mô tả tính tích chập 3 chiều 22-222 2+z2CEEZ©EEZcEEErtECErtrzrrzxercvree 23
Hình 3-10: Mô ta hoạt động tại tang tích chập trong mô hình CNN với bộ lọc kích thước
SHS L111111110121125353351183136358253195143355358885357358635883387353935358923835525528953233553358333835443458368835423588295382 24
Hình 3-11: Tích chập với bước trượt = 2 (stride © 2) -à sinh sirrrvee 25
Hình 3-12: Tích chập với bước trượt = | (stride = 2) va Padding = l 25
Hình 3-13: Biêu diễn của công thức 3.6 trên hệ trục toa độ -522©cccccccSc 26
Hình 3-14: Biêu diễn của công thức 1.7 trên hệ trục tọa độ - << 27
Hình 3-15: Minh hoa vẻ tang pooling và downsampling -2sscccscccssee 28
Hình 3-16: Minh hoạ lớp pooling sử dụng ham ReLU, phương pháp Max pooling va bộ
lọc kích thước 2X2 - - <ssĂ 1S HH HH HH Hư nce 29
Hình 3-17: Mô tả các giá trị trong mô hình CNN sử dụng dé xác định hàm softmax 30
Hinh 3218; Su đồiKhiôiiCHATMI uuscnoninteneiistii1i401440030048400610002000606 31
Hình 3-19: Channel Attention Module cccceccssecseeseeeceeeeeeeeeeecceseacseserenseaeareaeess 31
Hình 3-20: Spatial Attention ModulÌc s1 SH HH u 32
Hình 3-21: Cách hoạt động của skip-connections che gierrec 35
Hình 3-22: Sự lặp lại kiến trúc trong mạng LSTM 6: 5625262222 36
8
Trang 11Hình 3-23 Chi tiết về kiến trúc LSTMM 2 22s 2221125125211 21122 211221217 1122251e212eEEcey 37 Hình 3-24 Mô tả kiến trúc của lớp Bi-LSTM - 5-5 222222122212 21122112022 2x22 39 Hình 3-25: Kiến trúc mô hình transformer 22222 TEE S9 1 E25 211 2151225252555 2e 40 Hình 3-26: Multi-head attention, trong đó nhiều head được nối lại sau đó được biến đôi
I0 EnIIBD 2 c7 õễ no 0n na 42
Hình 4-1 Chanme] AtentiOn <iscicissiscsssssissosisasssostsssvscsssessvetiessieastsacssssisecssossvesstsassseceeed 47
Hinh 4-2 Spatial AttemtiOnsiissiscissssssosssosssssrssassecsssesiecssieaisaessscsssessaasasonssosssiesisarsaasiseaives 47
Hình 4-3 Mô ta cách hoạt động của CTCGreedyDecoder ccc<cccccecee 49
Hình 5-1 Mô tả cách hoạt động của CTC Lo$S ch nu 50
Hình 52 COng thite cia CTC Loss aiscsiscssssassssssssasssassesisssassactaasssacssausesssesssossssassssseees 51
Trang 12CHƯƠNG 1: MỞ ĐÀU
1.1 Lý do chọn đề tài
Trên thẻ giới, việc nhận điện chữ viết tay (Handwritten Text Recognition - HTR) đã trở
thành một lĩnh vực nghiên cứu quan trọng trong lĩnh vực Công nghệ Thông tin và Trí
tuệ nhân tạo Đặc biệt, việc áp dụng HTR vào việc nhận diện chữ viết tay tiếng Việtkhông chi là một thách thức vẻ mặt kỹ thuật mà con mang lại nhiều tiềm năng ứng dụng
trong nhiều lĩnh vực khác nhau như xử lý văn bản, công nghệ văn bản số, nhận dạng chữ viết tay trong hệ thông học tập, và tự động hóa công việc hành chính.
Trong béi cảnh của cuộc cách mạng số, việc nhận diện chữ viết tay tiếng Việt ngoại tuyến (offline Handwritten Text Recognition for Vietnamese) trở thành một thách thức
đối với các nhà nghiên cứu vả các nhà phát triển ứng dụng Khác với các hệ thông nhận
điện chữ viết tay trực tuyến, nơi dit liệu được truy cập và xử lý ngay lập tức khi người
dùng viết, hệ thống ngoại tuyến yêu cầu việc xứ lý đữ liệu ảnh chữ viết tay đã được chụptrước đó Dù đã có nhiều nd lực nghiên cứu trong hơn 40 năm qua, việc nhận diện chữviết tay không rang buộc vẫn là một vấn dé thách thức trong lĩnh vực phân tích tai liệu
ngày nay Các nghiên cứu trước đây thường tập trung vào các ngôn ngữ phô biến như tiếng Anh, tiếng Trung, tiếng Nhật, và tiếng A Rap, nhưng van đề này cũng đang được
quan tâm và nghiên cứu đối với tiếng Việt, một ngôn ngữ đặc trưng với các đặc diém về
kiểu chữ và ngữ pháp riêng.
Ngữ cảnh ngôn ngữ và văn hóa đặc trưng của tiếng Việt, nhận diện chữ viết tay tiếng
Việt đặt ra một số thách thức đặc biệt, bao gồm sự phong phú của các ký tự, sự biến đồi
địa phương của viết tay, va sự đa dang của các kiều chữ Dé giải quyết những thách thức nay, các phương pháp và công nghệ mới được dé xuất và phát triển liên tục, từ các kỹ
thuật cơ bản như xử lý ảnh và học máy đến các phương pháp tiên tiền hơn như học sâu
và học chuyên giao
Trong bối cảnh ngày càng phát triển của trí tuệ nhân tạo và học máy, việc áp dụng các
phương pháp và mô hình học sâu đã đem lại những tiễn bộ đáng kê trong lĩnh vực nhậnđiện chữ viết tay tiếng Việt Cu thé, các mô hình học sâu như mạng nơ-ron hoi quy
(RNN) va mạng nơ-ron tích chap (CNN) đã được sử dụng rộng rãi va đạt được kết quả
an tượng trong việc cải thiện hiệu suất của các hệ thông HTR.
10
Trang 13Mạng nơ-ron hỏi quy (RNN) dược biết đến với khả năng xử lý dữ liệu tuần tự, phù hợp
cho việc xử lý các chuỗi dit liệu như văn bản Trong nhận diện chữ viết tay tiếng Việt,
RNN có thê được sử dụng đề xây dựng mô hình nhận diện từng ký tự trong một chuỗi
viết Bằng cách nảy, RNN có thẻ học được cấu trúc tuần tự của các từ vả câu trong tiếng Việt, từ đó cải thiện khả năng nhận diện chữ viết tay.
Mạng nơ-ron tích chập (CNN) cũng đã được áp dụng thành công trong nhận diện chữ
viết tay CNN được sử dụng đẻ trích xuất các đặc trưng cấp thấp và cấp cao từ các hình
ảnh chữ viết tay, giúp tăng cường khả năng phân loại và nhận diện Cụ thể, CNN có thẻ
được sử dụng đẻ nhận dạng các đặc điểm như các nét viết, khoảng cách giữa các ký tự,
và hình dáng tông thê của từng từ trong văn bản viết tay
Ngoài ra, các kỹ thuật học sâu khác như mạng nơ-ron truy hoi bộ nhớ đài-ngắn (LSTM)
và mạng nơ-ron đối nghịch tạo sinh (GAN) cũng đang được nghiên cứu và áp dụng trong
lĩnh vực nhận điện chữ viết tay tiếng Việt, mang lại những tiềm năng mới trong việc cải
thiện độ chính xác va hiệu suất của các hệ thong nhận diện
1.2 Mục tiêu nghiên cứu
Mục tiêu của đề tải là xây đựng mô hình nhận điện chữ viết tay Tiếng việt trong bộ dit
liệu HANDS-VNOnDB2018 Line
1.3 Cách tiếp cận, phương pháp, phạm vi nghiên cứu
Dé dat được mục tiêu nghiên cứu, dé tài sẽ áp dụng các phương pháp sau:
1.3.1 Cách tiếp cận
- Nghiên cứu cơ sở lý thuyết về học sâu và nhận diện chữ viết, học tăng cường.
- Tìm hiểu về các mô hình CNN, các biến thé của chúng, mô hình Transformer
- Xây dựng một tập dữ liệu chứa hình ảnh chữ viết tay tiếng Việt ngoại tuyến
- Thực hiện tiền xử lý dữ liệu hình ảnh.
- Xây dựng mô hình nhận diện chữ viết tay.
- Đánh giá va so sánh kết quả của các mô hình trên tập dữ liệu thử nghiệm
Trang 141.3.2 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết:
- Nghiên cứu về lý thuyết về học máy, học sâu và nhận điện đối tượng
- Nghiên cứu vẻ cách làm việc với dit liệu hình ảnh chữ viết tay Tiếng việt,
- Nghiên cứu vẻ các phương pháp tiền xử lý hình ảnh và xử lý đữ liệu.
1.3.3 Phạm vi nghiên cứu
- Đề tài sẽ tập trung vào việc nhận diện chữ viết tay ngoại tuyến tiếng việt trên bộ dit
liệu HANDS-VNOnDB2018.
1.4 Kết quả của khóa luận
Xây dựng một mô hình chuyền thé hình anh chữ tiếng việt sang chữ đánh máy
Thực nghiệm mô hình trên nhiều bộ dữ liệu phô biến.
1.5 Bố cục khóa luận
Dựa vào những mục tiêu đã trình bày, nội dung luận văn được chia thành các
phan như sau:
Chương 1: Mở đầu
Chương này giới thiệu tong quan vẻ đề tài gồm các nội dung như: lý do chọn dé tai, mục
tiêu nghiên cứu, đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu, ý nghĩa
khoa học và thực tiễn cũng như cầu trúc chung của đề tài
Chương 2: Tình hình nghiên cứu
Chương này giới thiệu tông quan tình hình nghiên cứu của bai toán hiện tại, trình bay các phương pháp sử dụng học sâu và những công trình tiêu biểu tương ứng với từng
phương pháp.
12
Trang 15Chương 3: Cơ sở lý thuyết
Chương này tập trung vao việc trình bảy các khái niệm lý thuyết cơ bản liên quan đến
đề tài nghiên cứu Chương sẽ giải thích các khái niệm cơ bản về học sâu và các mô hình
học sâu phê biến được sử dụng trong lĩnh vực nhận điện chữ viết tay.
Chương 4: Phương pháp đề xuất
Trong chương này phương pháp cụ thẻ về nhận điện chữ viết tay ngoại tuyến tiếng Việt
sẽ được trình bày Chương sẽ mô tả các kiến trúc học sâu được kết hợp va cách kết hợp
vào bài toán Ngoài ra, chương cũng sẽ mô tả các kỹ thuật đánh giá được sử dụng ở
trong bài toán
Chương 5: Dữ liệu, thực nghiệm và đánh gia
Chương này sẽ trình bay ve dit liệu được dùng dé huấn luyện cũng như đánh giá, cũngnhư các tiêu chí đánh gia hiệu suất của mô hình trong việc nhận diện chữ viết tay ngoại
tuyến Cuối cùng, chương sẽ trình bày và phân tích kết qua thực nghiệm dé đánh giá
hiệu suất của mô hình và đưa ra những kết luận va nhận xét về độ chính xác va tinh ứng
dụng của phương pháp đã áp dụng.
Chương 6: Kết luận và hướng phát triển
Tông kết lại kết quả đã đạt được và chưa đạt được sau quá trình nghiên cứu, tiến hành
thực nghiệm Từ đó nêu lên những hướng nghiên cứu và phát triển tiếp theo trong tương
lai dé nang cao hiệu suất cũng như dé khắc phục các hạn ché hiện tại
13
Trang 16CHƯƠNG 2: TÌNH HÌNH NGHIÊN CỨU
2.1 TÔNG QUAN
Hiện nay khi nói về tình hình nghiên của của nhận điện chữ viết tay trên thé giới cũng
đã tồn tai được một khoản thời gian dai, từ việc nhận diện các chữ sé viết tay, các chữ
cái latin cho đến các chữ tượng hình phức tạp cũng dần xuất hiện các bài nghiên cứu,
nhưng đối với chữ viết tiếng Việt do hình thái đặc tha của chữ với các thanh dấu đã gây
khó dé với các nhà nghiên cứu, đồng thời bộ dữ liệu về chữ viết tay ngoại tuyến tiếng việt cũng chưa được thống nhất chuẩn xác, chi có các bộ dữ liệu do các doanh nghiệp tô chức với số lượng dữ liệu không được lớn, nên cũng đã ảnh hưởng một phan rất lớn
trong công cuộc nghiên cứu và khai phá trong lĩnh vực này Ban dau các bai nghiên cứu
từ [1] — [4] với việc yêu cầu các văn bản viết tay cần phải phân đoạn ra trước dẫn dé
việc các văn bản không bị ràng buộc về khuôn mẫu cũng như các văn ban chữ viết trong
thực tế không thê nhận điện được Các nghiên cứu nảy chủ yêu đề cập đến dấu phụ (DM)
~ một nét đặt trưng của chữ viết tiếng việt và dé xuất các thuật toán giải quyết van đề
DM ở cap độ ký tự, cùng với các thuật toán phân cấp (hierarchical algorithm) đẻ nhận điện các ký tự trong tiếng việt, trong đó bao gồm các chữ cái và thanh dấu được phân
riêng biệt [1] Thông qua các bộ phân loại Multi-Layer Perceptron (MLP) Networks và
Support Vector Machines (SVM).
Nhung đối với bài toán chữ viết tay ngoại tuyến, thì các dau phụ có thé bị xé dich và
không nằm ở một chỗ cỗ định do sự khác nhau đến từ người viết hoặc thậm chí giữa
từng thời điểm của cùng một người viết, thì việc nhận điện dấu và phân tách riêng biệt
giữ thanh dấu và kí tự càng trở nên khó khăn Phương pháp sequence to sequence (Seq2Seq) khai thác moi quan hệ giữa các đặc điểm hình ảnh từ đầu vào và các ký tự đầu ra thông qua cơ chế chú ý (attention mechanism) kết hợp nhiều mô hình khác như
Mạng thần kinh tái phát (RNN), Long-short term memory (LSTM) hoặc Transformer
cũng đã được các nhà nghiên cứu ứng dụng vào trong bài toán.
Đầu vao của bai toán ở đây là một ánh chứa hình ảnh chữ viết tay ngoại tuyến, va đầu
ra là nhãn tương ứng với các chữ trong hình ảnh.
14
Trang 17Image to text
cách giản đị đến bất ngờ
Hình 2-1: sơ đỗ bài toán
2.2 Những nghiên cứu trước đó
Hung Tuan Nguyen cùng với cộng sự đã dựng một một hình Encoder-Decoder kết hợp
với cơ chế Attention Họ thay thế lớp CNN bằng DenseNet, vì họ cho rằng DensenNet
có hiệu suất tốt hơn so với CNN trong việc trích xuất đặc trưng của hình ảnh Mô hìnhbao gồm hai phần chính: DenseNet đẻ trích xuất đặc trưng từ hình ảnh viết tay và một
LSTM tích hợp với một cơ chế chú ý đẻ tạo ra văn bản đầu ra [5]
IIR | Ct (Ori, yea hó
: : Attentionmodel sande
DenseNets Feature Extraction LSTM Decoder
Hình 2-2: Mô hình hệ thống End to End Recognition
Sau đó tới năm 2020 Vinh-Loi Ly cùng với các công sự của ông đã phát triển phươngpháp nay bằng việc sử dụng cơ chế Self-attention
15
Trang 18Hình 2-3: So sánh giữa Attention sử dụng LSTM va Transformer
Thấy được ràng các bài nghiên cứu trước đó phần lớn tập trung chủ yếu vào tôi phầnGiải mã (Decoder) bằng các mô hình ngôn ngữ lớn, điều nảy khiến cho việc tiêu hao
nguồn tài nguyên vẻ dif liệu và thiết bị là rat lớn Nên ở bài nghiên cứu này tôi chủ yếu
sẽ giải quyết việc xử lý dit liệu huấn luyện cùng với đó là trích xuất đặc trưng của ditliệu hình ảnh được tối wu nhất, đồng thời cũng giảm lượng tài nguyên thiết bị tiêu haoxuống thấp, xây dựng một mô hình nhẹ hơn nhưng không bị anh hưởng quá nhiều vẻ độ
chính xác của bài toán.
16
Trang 19CHƯƠNG 3: CO SO LÝ THUYET
3.1 Encoder
3.1.1 Covolution Neural Network
CNN là một trong những mô hình học sâu tiên tiền giúp xây dựng được những hệ thống
thông minh với độ chính xác cao CNN được sử dụng nhiều trong các bai toán nhận
dang các đối tượng trong ảnh Trong chương nay sẽ trình bảy về ý tưởng, kiến trúc của
mô hình CNN cũng như áp dung mô hình này dé giải quyết bài toán nhận dang chữ viết
tay.
3.1.1.1 Kiến trúc mô hình Convolutional Neural Network
Các tầng được liên kết với nhau thông qua phép tích chập Tang tiếp theo là kết quả tíchchập tir tang trước đó Nhờ vay, ta có các kết nối cục bộ nghĩa là mỗi nơron ở tang tiếp
theo sinh ra từ bộ lọc áp đặt lên một vùng ảnh cục bộ của các nơron tầng trước đó.
Tầng tích chập
Hình 3-1 Cấu trúc cơ bản của mô hình CNN
Hình 4 mô ta cau trúc cơ bản của mô hình CNN, từ cau trúc trên cho thấy từ hình anh
đầu vào qua nhiều tang xử lý khác nhau sẽ cho kết quả xử lý cudi cùng là các bản đồđặc trưng Qua đây, thấy rõ ràng răng việc trích xuất đặc trưng với mô hình CNN là hoàntoàn tự động, việc trích xuất sẽ có nhiều kết quả khác nhau dựa vào việc điều chỉnh các
tầng làm việc ở giữa
17
Trang 20Hình 3-2: Kiến trúc tong quát của CNN
Trong mô hình CNN (Hình 3-2), tầng pooling/subsampling dùng đẻ chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiều) Tuy nhiên, ta sẽ không đi sâu vào khái niệm của các tang này Trong quá trình huấn luyện, CNNs sẽ tự động học các thông
số cho các filter Ví dụ, trong nhiệm vụ phân lớp hình ảnh CNNs sẽ có gắng tìm lượng
thông tin tối ưu cho các filter tương ứng theo thứ tự nhất định và tầng cuối cùng được
sử dụng dé phân lớp hình ảnh.
CNN có tính bất biến va tính kết hợp cục bộ Với cùng một đối tượng, nếu đối tượng
nay được chiếu theo các góc độ khác nhau thì độ chính xác của thuật toán sẽ bị ảnhhưởng đáng kẻ Tang Pooling sẽ cho chung ta tinh bất biến đối với phép dịch chuyên
(translation), phép quay (rotation) và phép co giãn (scaling).
Thông qua Hình 3-2 , có thé hiểu cơ bán về kiến trúc của CNN đơn giản, tiếp theo sẽ làm rõ các tang trong một kiến trúc CNN.
3.1.1.2 Lép tích chập
Tích chập là một phép toán thực hiện với hai ham số f va g với kí hiệu la * , kết quả
cho ra một ham số thứ 3 Nó được ứng dụng trong xác suất, thông kê, thị giác máy tinh,
xử lý ảnh, xử lý tín hiệu, kỹ thuật điện, học máy, và các phương trình vi phân.
Tích chập của hàm số f và g được viết như sau ƒ * g, là một phép biến đồi tích phân
đặc biệt;
18
Trang 21(fF *a)@) = | ƒ()a =t)ár = i ƒŒ—t)gŒœ)ảr (11)
Một cách tông quát, các ham f , g lả ham số phức trong không gian R*, tích chập được
định nghĩa là:
(f = g)(x) = J Pi (y)g(x — y)dy = J / (x—y)gŒ)dy — (1.2)
Đối với tích chập rời rac, với hàm số phức f , g xác định trên tập số nguyên Z, thì tích chập được định nghĩa: [30]
(f + g)(n) = 3 ƒ£(m)g(n\ — m)dm
mơ (1.3)
= 3 ƒ£ín — m)g(m)dm
m==œ
Trong lĩnh vực xử lý ảnh, tích chập được sử đụng khá rộng rãi và hết sức quan trọng Ví
dụ: đối với phép lọc anh, phép tích chập giữa ma trận lọc va anh, cho ra kết quả ảnh đã
được xóa nhiều.
Công thức tích chập giữa hàm ảnh f (x, y) và bộ lọc k(x, y) (kích thước m x n) như sau:
n 2
ƒ(x,y) * k(x,y) = k(u, v) f(x — u,y — 9) (1.4)
mM =n
u= 2 v= 2
m
2
Trong kiến trúc của CNN, sau tầng dau vao là tang tích chập, tang nảy chính là nơi thé
hiện tư tưởng ban đầu của CNN Thay vì kết nối toan bộ điểm anh, tầng này sẽ sử dụng
các bộ lọc có kích thước nhỏ so với ảnh (tường là 3*3 hoặc Š*Š) áp vào một vùng
trong ảnh va tiền hành tính tích chập giữa bộ lọc và giá trị điểm ảnh trong vùng cục bộ
đó.
Thành phần không thê thiếu của phép tích chập trong tầng tích chập đề trích xuất đặc
trưng của ảnh đầu vào là bộ lọc Bộ lọc là một ma trận có kích thước m x như công
thức 1.4 nhằm mang lại kết quả tốt nhất trên ma trận dit liệu ảnh đầu vào
19
Trang 22Phép tích chập được thực hiện như sau: bộ lọc sẽ lần lượt được dịch chuyên theo mộtgiá trị bước trượt (stride) bắt đầu từ góc bên trái trên của ánh chạy đọc theo ảnh và quéttoàn bộ ảnh Ở mỗi lần dịch chuyên, thực hiện tính toán kết quả mới cho điểm ảnh đang
xét bằng công thức tích chập
Giả sử ta thực hiện phép tích chập với ảnh đầu vào là một hình ảnh 2D và ma trận bộ
lọc có kích thước 3x3.
Hình 3-3: Biểu diễn hình ánh đầu vào và bộ lọc dưới dang ma trận
Hình 3-4 (a) là đầu vào cho tang tích chập xem như hình ảnh đầu vào Bên phải là bộ
lọc còn được gọi là hạt nhân (Kernel), thực hiện phép tích chập bằng cách trượt ma trận
bộ lọc lần lượt qua tat cả các điểm ảnh trong anh, bắt đầu từ góc trên bên trái của ánh
Trong mỗi lần trượt, sẽ thực hiện phép toán tích chập và đưa ra kết quả và ma trận kết
quả Trong hình 3-4, kết quá của phép tích chập bằng 4 được hiển thị trong ma trận kết
quả hay bản đỗ đặc trưng (Feature Map)
20
Trang 23Input x Filter Feature Map
Hình 3-4: Tính tích chập của anh đầu vào với bộ lọc 3 x 3 [13|
Tiếp tục thực hiện dịch chuyền ma trận bộ lọc (trong ví du này bước trượt = 1) ta đượckết quả như Hình 3-4
Input x Filter Feature Map
Hình 3-5: Thực hiện di chuyển ma trận bộ lọc
Cứ tiếp tục thực hiện như vậy cho đến khi tất cả các điểm ảnh của ảnh đầu vào được
duyét qua hết va ta có kết quả như Hình 3-5
21
Trang 24Hình 3-6: Kết quả sau khi thực xong phép toán tích chập
Vi dụ trên được thực hiện với hình ảnh 2D, nhưng trong thực tế nhiều bai toán đòi hỏiphải làm việc với hình ảnh 3D được biéu điền như một ma trận 3D với kích thước: chiều
rộng, chiêu cao và chiều sâu (chiều sâu tương ứng với 3 kênh màu RGB) Một bộ lọc có
chiều rộng và chiều cao cụ thẻ như 3 x 3 hay 5.x 5 và để áp dụng cho hình ảnh 3D canthực hiện nhiều phép toán tích chập tương ứng với nhiều bộ lọc khác nhau đề tạo ranhiều bản dé tính nang, sau đó gộp các bản dé đặc trưng này lại với nhau để trở thànhđầu ra cuối cùng của tang tích chập
Hình 3-7: Thực hiện phép tích chập với mật bộ lạc duy nhất
Giả sử có hình ảnh đầu vào 32 x 32 x 3 và sử dụng bộ lọc có kích thước 5 x 5 x 3 (độ sâucủa bộ lọc phù hợp với độ sâu của hình ảnh) Khi bộ lọc ở một vị trí cụ thé và thực hiệnphép tích chập như đã mô tả ở trên và kết quả lả một ban đồ đặc trưng có kích thước 32x32 x J, Nếu sử dụng 3 bộ lọc khác nhau sẽ có 3 bản đề đặc với kích thước 32 x 32 x /trưng tương ứng và chúng được sắp xếp theo chiều sâu va cho ra kết quả cuối cùng của
tầng tích chập có kích thước 32 x 32 x 3
Hình 3-7 mô tả hai bản đồ đặc trưng được xếp chong lên nhau theo chiều sâu Phép tích
chập đối với mỗi bộ lọc được thực hiện độc lập và các bản đồ kết quả được phân tách
22
Trang 25Hình 3-8: Mô tả hai bản đồ tính năng tương ứng với hai bộ lọc
Với đầu vào là một anh 3 chiêu Wx/7x3, có độ sâu là 3, hay còn được gọi là 3 kênhmàu, ta có tích chập 3 chiều bằng cách tính riêng tích chập cho 3 kênh này với một bộ
lọc, sau đó lấy trung bình cộng của ba kết quả đầu ra, ta được tích chập 3 chiều
Hình 3-9 minh họa cho việc tính tích chập 3 chiều Đầu vào là một ma trận có ba kênhbiểu diễn cho một ảnh 3 chiều Ta sử dung hai bộ lọc WO và J/ Cho mỗi kênh của matrận tính tích chập với hai bộ lọc sau đó lay trung bình cộng của ba kênh, ta được đầu ra
là một ma trận có hai kênh tương ứng với hai bộ lọc.
Kernel Channel #3
J
308 + —498 + 164 +1=
Hình 3-9: Mô tả tính tích chập 3 chiều
Với việc thực hiện tích chập giữa ma trận dữ liệu ảnh đầu vào vào bộ lọc như đã
nêu, khi đó mình hoạ kết quả sẽ như hình 13 bên dưới
23
Trang 26Hình 3-10: Mô ta hoạt động tại tang tích chập trong mô hình CNN với bộ lọc kích
thước 5x5
Hình 3-10 cho thấy kết quả tại tầng tích chập với ánh đầu vào là 32 x 32, sử dụng
bộ lọc có kích thước là § x 5, kết quả sẽ là 1 bản đồ hoạt động (nhìn dưới góc độ trực
quan là | hình ảnh đặc trưng) với kích thước 28 x 28 như hình 3-10 (a), và hình 3-10 (b)
là kết quả của việc sử dụng 6 bộ lọc trên cùng đầu vào, khi đó kết quả sẽ là 6 bản đồ
hoạt động.
Bước trượt va Padding: là kích thước của mỗi bước ma ma trận bộ lọc di chuyên
trên bức ảnh ở mỗi bước tính tích chập, giá trị thông thường của nó là
stride = 1 có nghĩa là sau khi tính tích chập xong tai 1 vùng ảnh, nó sẽ dich sang phải 1
pIxel tương tự với việc dịch xuống dưới Khi tăng kích thước của bước trượt bộ lọc sẽ
di chuyên trên bức ảnh với khoảng lớn hơn do đó sẽ hạn chế được sự chồng chéo hon
giữa các điểm ảnh Tuy nhiên việc làm này sẽ làm cho bản đồ kết quả hay bán đồ đặc trưng (feature maps) nhỏ hơn Hình 1-16 Bởi vi ban đồ tinh năng luôn nhỏ hơn ảnh đầu
vảo, vì vậy phải tìm cách để giữ nguyên kích cỡ của bản đô đặc trưng so với ban đầu đó
là sử dung Padding Hình 1-17 Khi sử dung padding, Một lớp pixel có giá tri bằng 0
được thêm vào để bao quanh anh đầu vào, do đó bản đô tinh năng sẽ không co lại Ngoài việc giữ không đôi kích thước không gian sau khi thực hiện tính tích chap, padding cũng
cải thiện hiệu suất và đảm bảo kích thước hạt nhân và bước trượt sẽ phù hợp với đầu
vao,
24
Trang 27Stride 2 Feature Map
Hình 3-11: Tích chập với bước trượt = 2 (stride = 2)
Shyệc | with Paddling Eeatsee Map Hình 3-12: Tích chập với bước trượt = 1 (stride = 2) và Padding = 1
Vậy kích thước dau ra của ảnh với mỗi tang được tính như sau:
Giả sử: + Ảnh đầu vao có kích thước: W; x Hi x Dị
+ Gọi kích thước của đầu ra: W2 x H2 x D2
Trang 283.1.1.3 Hàm kích hoạt
Sau lớp tích chập thường được đặt một hàm kích hoạt phi tuyến dé tạo ra thông tin
trừu tượng hơn cho các lớp sau Hàm kích hoạt thường được sử dụng là hàm Tanh,
Sigmoid, Rectified linear unit (ReLU) Nói một cách đơn giản, lớp này có nhiệm vụ
chuyên toàn bộ giá trị âm trong kết quả có được từ tầng tích chập thành giá trị không
tanh tanh 8 cosh cosh 8 (1.6)
Hình 3-13: Biểu diễn của công thức 3.6 trên hệ trục tọa độ
26
Trang 29+ Hàm Sigmoid: là hàm phi tuyến tính được định nghĩa như công thức sau:
Lớp Pooling sử dung một cửa sô trượt quét qua toàn bộ ảnh, mỗi lan trượt theo các bước
trượt cho trước Lớp Pooling không tính tích chập mà tiền hành lay mẫu con Khi cửa
số trượt trên ảnh, chỉ có một giá trị được xem là giá trị đại điện cho thông tin ảnh tại vùng đó được giữ lại, giá trị này gọi là giá trị mẫu Ta cũng có thê chia ảnh thành các ô
hình chữ nhật không chong lap nhau dé lay mẫu
Lớp Pooling thê hiện tinh bất biến đối với phép dich chuyên, phép quay và phép co giãn
của CNN Lớp này thường được sử dụng ngay sau hàm kích hoạt, để đơn giản hóa thông
tin đầu ra, giảm bớt số lượng noron, giảm bớt lượng tính toán, và do đó cũng giảm bớt
hiện tượng qua khớp (over-fitting).
27
Trang 30Hinh 3-15: Minh hoa vé tang pooling va downsampling
Các phương thức lấy phỏ biến trong lớp Pooling là max pooling (lấy gid tri lớn nhất,Hình 19), min pooling (lấy giá trị nhỏ nhất), average pooling (lấy giá trị trung bình) và
L2 Pooling, trong thực tế cả max pooling và L2 pooling được sử dụng khá rộng rãi.
Về mặt lý thuyết với ma trận đầu vào có kích thước: H; x Hy x Dy Thực hiện toán tử
pooling trên ma trận con của ma trận đầu vào có kích thước F x F với bước trượt S thì
ta được ma trận đầu ra W> x H› x D2 với các giá trị >, Ho, D2 được tính như sau: