Các nghiên cứu gần đây đã chứng minh tiềm năng của việc sử dụng công nghệ sinh chú thích ảnh, và hiện nay người ta vận dụngbài toán sinh chú thích ảnh dùng dé hỗ trợ người khiểm thị tron
Trang 1© gp
TP HO CHÍ MINK
BAO CAO TONG KET
DE TAI NGHIEN CUU KHOA HOC CUA SINH VIEN
XÂY DỰNG UNG DUNG DI DONG MIEU TA CANH VAT CHO NGƯỜI
KHIEM THI
Thuộc nhom ngành khoa học: Công nghệ thông tin
TP HO CHÍ MINH, 05/2024
Trang 2® gp
TP HỒ CHÍ MINK
BAO CAO TONG KET
DE TÀI NGHIÊN CUU KHOA HỌC CUA SINH VIÊN
XÂY DUNG UNG DỤNG DI ĐỘNG MIEU TẢ CANH VAT CHO NGƯỜI
KHIEM THỊ
Thuộc nhóm ngành khoa học: Công nghệ thông tin
Nhóm SV thực hiện: Nam, Nữ: Nam
Huỳnh Quốc Thái
Vo Văn Thịnh
Nguyễn Quang Vinh Phạm Trọng Đức
Nguyễn Thiên Khiêm
Lớp, Khoa: CNTT Nam thứ: 2, 3/ Số năm đào tạo: 4
Ngành học: Công Nghệ Thông Tin
Giảng viên hướng dẫn: Th.S Trần Thanh Nhã
TP HO CHÍ MINH, 05/2024
Trang 3MỤC LỤC
EÔNGAMDN «.- sẽ sẻ sẽ SsẴẰễsäẽẰŸŠẼŠẽẼẽ=sãẽsẽsẽẽ“a“ãa.a ẽ=
DANH MỤC CÁC KY HIỆU VÀ CHỮ VIET TẮTT -.-ss<<<sss55< 6
DANH MỤC CÁC BANG BIEU occccoosccscsaocsoossoesaossossesssae 7
DANHMUECAGBHINH VỀ =e——eeee.s.rsna== 8 MGBAU sẻ s6 76 7ã 9
| Lido chọn dé tai ecccccssessseessvessnessnsssvesssesssesssecsssssuessneesvesssvsssvssnssenesaneenveseees 9
2: INinne Mich thet iOn COs 2csicsc:ccsc0secccsesccccccscesescescessseccescsceccscessnsesererseceescesecescesess 10
3 Đối tượng nghiên cứu và phạm vi nghiên cứu -.2- -2-c22©csz©csee 10
4 Phương thức nghiên Cứu ác SH HH HH Huy 10
CHUONG 1 TONG QUAN TINH HÌNH NGHIÊN CUU wll
I.]l — Tinh hình nghiên cứu trong nưỚC 5 Ăn neiererrererrerrrrrie 1]
Đối Hệđiểuhšnhiá0dilsásaoaseeiooannaaoosoeniaad 25
2.6.2 React NatIV€ HH HH gu KH 8625 66 26
2.7 Thiết kế giao diện cho người khiếm thị 6c 55655555 5sccxsrres 27
Trang 4CHUONG 3 XAY DỰNG CÁU TRÚC UNG DỤNG -.« 29
Si (ẩUitrig[HEdUHBEsssssoioopoaaaiaaỳ-annnnntoaeiainntutnbaanasnsasand 29
32 COGS ÁP lusnssnonnr-nnnnssnnnnntdnstiisRlsgtiiiiiiiilainiisssssisi 30
53 TH ñclddngbiihfiEl.aeeaaaaaaaaoaennaenaaoaoaaerrnnaaaae 31 CHUONG 4 XAY DỰNG UNG DỤNG o.oossooosssoossooose 33
4.1 Các thư viện sử dung cho Ứng dung en ec eeeeeteeeeeeteeeeeeeneeeeeeeneaeees 33
4.1.1 React Native Vision Camera cóc HH 33
4:12 ReasctNatiyeTe€xEl10:SnEECl›ooioooooioorerooooooooooooreroiooiii: 33
4.1.3 React Native Image R€S1Z€T ĂĂnHnHieeeeeeieevee 33
AD) Xây/đựnE PiGO GEN se csesascesessssscscsccsssscassanszessscsscacscceosecaasarscasescsscssseseacaaracans 33 4.3 — Xây dựng AP],, HH HH Tu Họ KH H13 35 4.4 — Xây dựng xử lý chụp ảnh HH HH nh nh 36
4.5 Tích hợp mô hình học sâu vào ứng dụng di động 38
CHƯƠNG§ THỰC NGHIỆM VÀ DANH GIÁ - -‹.<-55<2 39
5.1 Đánh giá mô hình - TH TH HT TH TH TH Tà gk 39
Š.1.1 _ Bộ dữ liệu thực nghiệm SH Hàn 39
Š.1.2 Mô hình Onlinc ng ng ng 40
SINS NIGiHÌDHIOHIE::cciiioocoorioooooiiiiiioiiooiairriiioooiioirriiaaaaaanaanni 42
Š.2 _ Đánh gia hiệu năng ứng dụng -căcSSSe Hee 44
5.3 Đánh giá trải nghiệm người dùng - hư 45
CHƯƠNG 6 KET LUẬN VA HƯỚNG PHÁT TRIÊN - 48
GÌ MỸ ee 48
Ge Riera OA 0B cscs ccsscceaecceccezcczecacnsseassassvarserssssecssssseseesrsseorsereesessrsssae 48
TAD LIỆU THAM REA O isssisissscsssscccsssssscssissscssssescosseasooassaiosstsanessoasiesaontnssoeaiesance 50
Trang 5LỜI CẢM ƠN
Lời đầu tiên, cho phép nhóm sinh viên chúng em được gửi lời cảm ơn sâu sắc và
chân thành nhất đến quý thầy, cô đã luôn diu dat, định hướng va tạo điều kiện cho chúng em hoàn thành đề tài này Đặc biệt hơn hết chúng em xin gửi tinh cảm tri ân
sâu sắc nhất đến Thay Ths Tran Thanh Nhã, người thay trực tiếp hướng dẫn đẻ tai
Trong suốt quá trình làm việc, Thay không chỉ truyền tải cho chúng em những kiến
thức chuyên môn sâu rộng ma con là người truyền cảm hứng, bồi đắp cho chúng emtinh thần nghiên cứu khoa học nghiêm túc, can trọng Thay đã dành cho chúng em sự
quan tâm, động viên, giúp đỡ tận tình, kịp thời, tháo gỡ những khó khăn, vướng mắc
trong quá trình nghiên cứu Nhờ sự hướng dẫn tận tâm của Thay, chúng em đã từng
bước hoàn thiện đề tài và đạt được những kết quả nhất định Bên cạnh đó chúng em
cũng xin gửi lời cảm ơn chân thành đến tập thé nhóm nghiên cứu của thay Ths TranThanh Nhã, những người anh, người chi đi trước đã luôn hỗ trợ, truyền cảm hứng,chia sẻ những kinh nghiệm quý bau, góp phan tạo nên sự thành công cho đẻ tai Chúng
em tran trọng sự nhiệt tình, cởi mở và tinh thần đoàn kết của cá tập thê Sau hết là lời cam on trân trọng đến tat cả các bạn đông môn đã củng nhau học tập, nghiên cứu và
hỗ trợ lẫn nhau trong suốt quá trình học tập tại trường Chúng em trân trọng những
kiến thức, kinh nghiệm va tình bạn mà chúng ta đã cùng chia sẻ Mặc dù đã nỗ lực hết minh, chúng em ý thức được rằng dé tai này vẫn còn nhiều thiếu sót và hạn chế.
Chúng em mong muốn tiếp tục nhận được sự góp ý Quý Thay, Cô dé đẻ tài đượchoàn thiện hơn Hành trình nghiên cứu đẻ tài này đã mang đến cho chúng em nhiềubài học quý báu không chỉ vẻ kiến thức chuyên môn mà còn ve tinh than học tập vàlàm việc Chúng em đã học được cách làm việc nhóm, cách giải quyết vấn đẻ, cách
tư duy sáng tạo và cách kiên trì theo đuôi mục tiêu Cuối cùng, chúng em xin chúc
Quý Thay, Cô sức khỏe, hạnh phúc vả thành công trong sự nghiệp trồng người Chúc
các bạn đồng môn học tập tốt và đạt nhiều thành công trong cuộc sống
Trang 6DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TÁT
Chữ Nguyễn VỆ
; uyên mauviet tat lu
Convolutional Neural Network
Recurrent Neural Network
Depthwise Separable Convolution
Long Short-Term Memory
Generative Pre-trained Transformer
Software Development Kit
Trang 7DANH MỤC CÁC BANG BIEUBảng 1: Kết quả thực nghiệm trên 3 mô hình — ExpansionNet V2 , BLIP và VC-
Bảng 2: Kết quả thực nghiệm trên 2 mô hình - VGGI6 + LSTM và
EØflslen(NeiBB+ LSTMGicciccceieioiiiiiiteocgt016000600022016066000330006063655 66556 42
Bảng 3: Cấu hình của 2 điện thoại -sscssccsseresersssrssersserssersssrsssrae 44
Bang 4: Cấu hình tối thiêu để cài đặt ứng dụng - 5c ss5csecss+csecesces 45
Bang 5: Đánh giá trực quan của 3 ứng dung: Seeing Al, Eye of Horus và
MyUEVHSÌOH 7G SG nọ TT HH TH HT TT Họ TH TH 90.00 00080699 46
Trang 8Kiến trúc mô hình ExpansionNet V2 s-csessserserrssresrrsrrr 19
Learning framework của mô hình BLIP «-<-c<<<<<<<< 21
Minh hoa cấu trúc của API cssscsscscccscoesconsssonsessnsssonsccscssonsesonssssnsssssesonee 24
Những mẫu điện thoại Ándroid -ssssssssssssssssssssssssse 26
Logo React NatÏVe co co n0 89 58g00 gs5s9889559 27
Cấu túc của TMA BE ceccccceeetneooeeceeeceeoonioiniDA002002026232005602606060066083000606 30
Các bước thiết lập API trên điện toán đám mây 32Giao diện người dùng của MyUEYVision ceSSSsSeeseeseessee 34
Phương thức GÏETT c Ăn ng ng 896 35
Gp |DSDBESÌNEiii1102121220320311201001201101120200020120112311221612113361363330333113553252ã3252 36
Middleware kiếm tra chuỗi Base64 c ccsscsssessessesssssessseeseesneesesseessees 36
So đồ hoạt động của chức năng chụp ảnh ‹s-‹s< se 5ss<s 37
Chuyên đôi mô hình TensorFlow Keras sang TensorFlow Lite 38
Thứ nghiệm tạo chú thích từ anh từ Testsets từ 3 mô hình:
ExpansionNetV2, BLIP, VC-GPT Ăn e 41
Hình 5.2: Thứ nghiệm tạo chú thích từ anh trích từ bộ đữ liệu kiểm tra của 3 mô
hình: VGG16 + LSTM, EfficientNetB0 + LSTM và MobileNet v2 + LSTM 43
Trang 9thời đại công nghệ sé, smartphone đã trở thành một phan không thé thiếu của đờisông hiện đại, với hơn 6.7 tỷ người sử dụng trên toàn cầu vào năm 2023 [4] Đặc biệt,
hệ điều hành Android chiếm ưu thé với 70,11% thị phan [5] Không chỉ là thiết bị
liên lạc, điện thoại thông minh (smartphone) còn tích hợp nhiều chức năng nội bật
như chụp ảnh, duyệt web, phát nội dung đa phương tiện và khả năng xử lý thông
minh Sự tiện lợi nay đã mở ra cơ hội cho việc sứ dung smartphone như một công cụ
hỗ trợ thị giác cho người khiém thị, giúp họ tương tác vả tham gia vào các hoạt động hàng ngảy một cách dé dang hơn [6] Các nghiên cứu gần đây đã chứng minh tiềm
năng của việc sử dụng công nghệ sinh chú thích ảnh, và hiện nay người ta vận dụngbài toán sinh chú thích ảnh dùng dé hỗ trợ người khiểm thị trong sinh hoạt [6], [7]
Bài toán sinh chú thích ảnh là quá trình biểu dién nội dung của hình anh đưới dạng
một câu chú thích [8] Hiện nay, ứng dung của bài toán này đã được áp dụng vào
nhiêu lĩnh vực khác nhau, bao gồm truy vẫn nội dung ảnh, hỏi đáp ảnh, đánh chỉ mụchình ảnh và hỗ trợ cho người khuyết tật, trong đó có hỗ trợ cho người khiếm thị Các
mô hình học sâu dành cho bài toán sinh chú thích ảnh đã có tiến bộ đáng kẻ cải thiện
dang ké về độ chính xác va kha năng trích xuất thông tin từ hình ảnh [8] Bên cạnh
các mô hình phức tạp với số lượng tham số lớn, cầu trúc phức tạp và độ chính xác
cao, gần đây cũng đã xuất hiện các mô hình nhỏ gọn với cấu trúc đơn giản hơn và it
tham số hơn so với các mô hình lớn, mặc dù phải đánh đôi điều này với độ chính xáccủa mô hình [9] Với mong muốn được hỗ trợ người khiếm thị phan nao trong cudc
sông, dé tai xây dựng ứng dụng sinh chú thích ảnh dành cho người khiếm thị này
được thực hiện.
Trang 102 Mục đích nghiên cứu
Xây dựng một ứng dụng sinh chú thích ảnh.
3 Đối tượng nghiên cứu và phạm vi nghiên cứu
Déi tượng nghiên cứu
- Người khiểm thị
- Người có thị lực kém
Phạm vi nghiên cứu
Tập trung khảo sát các mô hình cho kết quá hiệu quả và chính xác
- Điện thoại thông minh sử dụng hệ điều hành Android, có phan cứng bao
gom camera và loa Có kết nỗi Internet
4 Phương thức nghiên cứu
Phương pháp nghiên cứu lý thuyết:
Tìm hiểu các công trình nghiên cứu liên quan
- Tìm hiểu vẻ các bai toán sinh chú thích hình ảnh
Thiết kế ứng dụng
Phương pháp nghiên cứu thực nghiệm:
Tiền hảnh phân tích vả xây dựng tng dụng
- _ Đánh giá và báo cáo kết quả nghiên cứu.
5 Nội dung văn bản
Dé tài này gồm 6 chương:
Chương 1: Tổng quan tình hình nghiên cứu
Chương 2: Cơ sở lý thuyết
Chương 3: Xây dựng cấu trúc ứng dụng
Chương 4: Xây đựng ứng dụng
Chương 5: Thực nghiệm vả đánh giá
Chương 6: Kết luận và hướng phát trién.
Trang 11CHUONG | TONG QUAN TINH HÌNH NGHIÊN CỨU
Trong chương này sẽ giới thiệu về tình hình nghiên cứu trong nước va tinh hình
nghiên cứu ở nước ngoài liên quan đến bài toán Image Captioning, cũng như về sựphát triển trong qúa trình tích hợp mô hình học sâu và thiết kế đảnh cho người khiếm
thị.
1.1 Tinh hình nghiên cứu trong nước
Xoay quanh vẻ chủ dé Image Captioning ở trong nước không có nhiều công trìnhnghiên cứu về chú dé này Một vài công trình nghiên cứu ở trong nước có thé kế đếnnhóm nghiên cứu của [10], họ đã tạo ra bộ dữ liệu Image Captioning dành cho tiếngViệt có tên là UIT-ViIC, trong bộ dữ liệu nảy, họ trích xuất một phan nhỏ (3850 hình
ảnh) trong bộ dit liệu MS COCO về chú dé thé thao với bóng, với mỗi hình ảnh, nhóm
nghiên cứu nay cho 5 chú thích ảnh một cách thủ công Đề thuận tiện hơn trong việc
bé sung bộ đữ liệu bằng tiếng Việt, nhóm nghiên cứu cua [11] đã đưa ra một phương
pháp tự động sinh chú thích anh bằng tiếng Việt đê phục vụ trong việc tạo bộ dữ liệu
chú thích ảnh bằng tiếng Việt Trong luận văn thạc si của [12] về chú thích ảnh tự
động dựa trên CNN, RNN và LSTM ,tác giả đã xây dựng thành công một chươngtrình tạo chú thích anh tự động bang van bản và giọng nói với nhiều ngôn ngữ khác
nhau Đây là một nên tang dé có thé phát triển ứng dụng điện thoại di động với chức
năng tương tự nhằm hỗ trợ người khiém thị Với nhóm tác giả [13], nhóm tác giả này
đã cải tiến mô hình Object Relation Transformer bằng cách sử dụng kỹ thuậtAttention on Attention để củng cô thông tin hình anh đầu vào và cho ra kết quả chúthích tự nhiên, gần với thực tế hơn Đối với [14] họ đã xây dựng hướng tiếp cận mớitrong việc sinh ra chú thích anh bằng tiếng Việt va giải quyết van đề vẻ từ ngoài phạm
vi học nhờ vào kiến trúc mạng CNN Ngoài ra, nhóm tác giả [15] trong cuộc thử tháchVietnamese Language and Speech Processing đã đề xuất một mô hình chú thích ánhtrong lĩnh vực chăm sóc sức khoẻ có tên gọi là VieCap4H, trong mô hình này bộ phận
mã hoá sử dụng mạng biến đôi quay (Swin Transformer) va bộ phan giải mã sứ dụng
LSTM có thêm cơ chế tập trung.Còn tác giả [16] đã sử dụng mạng Transformer đẻ
trích xuất đặc trưng cho chú thích ảnh, và bộ dữ liệu sử dụng để huấn luyện là bộ dữ
liệu UIT- VilC và mô hình sử dụng trong bài là VieCap4H [15].
Trang 121.2 Tinh hình nghiên cứu nước ngoài
Với bai toán sinh chú thích ảnh, hiện nay đã đạt được bước tiễn vượt bậc nhờvào ứng dụng hoc máy trong giải quyết bài toán này [8], [17] Ban đầu, mô hình đơngiản là sự kết hợp của mạng CNN và LSTM với mạng CNN dùng đề nhận đạng các
đối tượng trong ảnh, và LSTM dùng đề sinh ra câu chú thích ảnh, đơn cử như VGG16
+ LSTM [18] Về sau có thêm sự xuất hiện của các mô hình có áp dung cơ chế chú
ý, cơ chế chú ý là cơ chế tập trung vào các đặc điểm cần chú ý khi tạo ra chú thích
ảnh, chính vì có cơ chế nảy giúp cai thiện độ chính xác của m6 hình do mô hình chichú ý những thông tin can chú ý, vả tùy theo chiến lược của các tác giả mà có thê tập
trung vào các loại đối tượng, thông tin cần chú ý [8], có thé kẻ đến như cơ chế chú ý
ở mạng LSTM [19], cơ chế chú ý vào nội dung hình ảnh [20] hoặc cơ chế chủ ý vào
ngữ nghĩa [21] Hiện nay, các mô hình đều tng dụng kiến trúc mạng Transformer
[22] và đã đạt được kết quả cao trong việc sinh chú thích ảnh, chăng hạn như
ExpansionNetV2 [23] va BLIP [24] Một hướng tiếp cận khác cũng đạt được kết quả
cao trong việc sinh chú thích ảnh như sử dung cơ chế mở rộng dya trên việc thu thập
của Embedding Vectors [23] Bên cạnh đó cũng có các mô hình gọn nhẹ như [9]
hoặc sử dụng các mô hình học sâu cơ ban như VGGI6 + LSTM [18] hoặcEfficientNet BO + LSTM [25] dé tích hợp trực tiếp lên các thiết bị đi động Ngoài ra,với việc phát triển của đỏ thị tri thức (KG), câu chú thích sinh ra được cải thiện độchính xác về mặt ngit nghĩa và bối cảnh, các công trình chăng hạn như Zhou va các
cộng sự sử dụng KG nhằm tăng cường thông tin đã được trích xuất từ hình ảnh bằng cách kết hợp thông tin từ mô hình sinh KG từ hình ảnh ConceptNet [26] vả thông tin
từ mô hình sinh chú thích ảnh nhằm tạo ra câu chủ thích [27] Hoặc công trình của
Zhao và cộng sự sử dụng KG nhằm tăng cường thêm thông tin vẻ thuộc tính, bằng
cách dựng lên KG đa phương thức nham phối hợp với các đối tượng va lay thông tin
vẻ môi quan hệ giữa các doi tượng bằng thông tin từ nguôn bên ngoài, cụ thê là Web,
kết quả cho thay câu chủ thích sinh ra bởi mô hình thê hiện tốt về mặt moi quan hệ ngữ nghĩa và đối tượng [28] Tom lai, với việc áp dụng KG vào mô hình sinh chú
thích ảnh kết quả cho ra có sự cải tiến về độ chính xác cũng như phù hợp vẻ mặt
ngữ nghĩa do tăng cường về mặt biểu điễn mỗi quan hệ giữa các đối tượng vật thẻ.
Trang 13Với việc tích hop mô hình học sâu lên smartphone, hiện nay vẫn còn khả hạn
chế đo sự phức tạp trong việc tinh toán và dung lượng của mô hình [29].Có thé nhận
thay dung lượng ti thiêu dé lưu trừ mô hình ít nhất là 200MB trở lên, và chi phí đểtính toán khi thực thi các mô hình 1a không nhỏ, không nhiều thư viện hỗ trợ việc tíchhợp mô hình học sâu, và việc tích hợp nhìn chung rất khó do phải trải qua nhiều bước
xử lý mô hình, cũng như tích hợp vảo Xét riêng các mô hình sử dụng mạng CNN,
trong mô hình sử dụng rất nhiều lớp CNN mà CNN có độ phức tap trong tính toáncao và tôn dung lượng [29] Với các thiết bị smartphone, vốn được biết là có hiệu
năng yêu hơn rất nhiều so với các máy tính dé bàn, và bộ nhớ han hẹp, việc khởi chạy
mô hình học sâu lên smartphone sẽ khó khăn hơn nhiêu Đa số các ứng dụng sử dụng
mô hình học sâu đều chọn lựa giải pháp đặt mô hình tại hệ thong điện toán đám mây
có khả năng tính toán phức tạp Đối với lựa chọn tích hợp mô hình học sâu vào điện
thoại, đầu tiên những kỳ thuật làm giảm độ phức tạp của mô hình trên điện thoại được
áp dụng, có thé ké đến như phương pháp cắt gọt các tham số không ảnh hưởng đến
độ chính xác của mô hình, sử dung bộ tăng tốc hoặc sử dung mô hình có chi phí tính
toán thấp, hoặc sử dụng mô hình lai nhằm tận dụng lợi thế vẻ tính toán cia các hệ thông mạnh mẽ va tận dụng sức mạnh cua vi xứ lý đi động nhằm xứ lý dữ liệu[29], [30] Tiếp theo đó là bước tích hợp lên ứng dụng, có nhiều khung nén tảng phục vụ
cho tác vụ học sâu hiện nay chăng hạn như PyTorch, TensorFlow, Caffe Mỗi khung
nền tảng sẽ có các thư viện tích hợp tương ứng với thư viện tích hợp vào ứng dụng Android, ngoài ra cũng có thé sử dụng các SDK của các hãng chipset, tuy nhiên van
đẻ gặp phải là không thẻ áp dụng rộng rãi cho các mẫu mã smartphone đa dạng hiện
nay Nhìn chung, dé có thé tích hợp một mô hình học sâu lên thiết bị di động, can
phải thực hiện nhiều quy trình phức tap, thậm chí riêng với một số tác vụ học sâu việctích hợp có thé không khả thi trong thời điểm hiện tại
Với thiết kế trải nghiệm người dùng dành cho người khiém thi, trước đó các nhà khoa
học đã đẻ ra một quy chuẩn khi thiết kế giao diện hay trải nghiệm người ding, đó là
UCD - User-centered Design, trong đỏ các bước đề thực hiện UCD là (1) Khao sat
người sứ ding, (2) Chi ra nhu cầu, mục tiêu trong thiết kế, (3) Thiết kế, (4) Đánh giá
[31] Nhưng trong thực tế các ứng dụng chỉ tập trung vào những người dùng có thé
Trang 14nhìn thấy, mà không thiết kế phủ hợp cho người khiếm thị, điều đó khiến người khiếm
thị khó khăn khi sử dụng các ứng dụng hiện tại [32] Do vậy, hiện nay có nhiều công
trình tìm hiểu và đưa ra các vấn dé mà người khiếm thị gặp phải khi sir dung ứngdụng, đưa ra 4 vẫn đẻ chính khi sử dụng ứng dụng thông thường: (1) Khó khăn trong
nhận dạng nhãn, (2) Các phan không được tách bạch rõ ràng (3) Điều hướng trong ứng dụng không thuận tiện, (4) Không có dấu hiệu khi ứng dụng thực hiện các cập
nhật hoặc thay đôi trạng thai [33] Trong các công trình thiết kế ứng dụng cho ngườikhiêm thị, như [34] đã thiết kế ứng dụng cho người khiếm thị bang cách phôi hợp
giữa giao diện được thiết kế cho người khiểm thị va các tinh năng trợ nang như đọc
văn bản thành tiếng, hoặc [35] đẻ ra 1 thiết kế dành cho người khiếm thị lớn tudi, sau
đó thử nghiệm thiết kế đó bằng cách áp dụng thiết kế lên ứng dụng di động
Với ứng dụng sinh chú thích ảnh đành cho người khiếm thị, hiện nay có những nghiên
cứu đã cho ra các ứng dụng đành cho người khiểm thị, chăng hạn như nghiên cứu củaMakav đã nghiên cứu mô hình hoc sâu va đưa ra ứng dụng có tên 1a “Eye of Horus”[36].ứng dung nay gồm có màn hình dé người dùng lựa chọn chụp anh, sau đó hình
ảnh sẽ được đưa lên server để mô hình của Makav xử lý, sau đó trả về kết quả vả đọc
âm thanh đến với người dùng Hơn thé nữa, Microsoft đã phát hành ứng dung Seeing
AI của Microsoft [37], được phát triển dành cho hệ điều hành iOS va Android Các
ứng dụng nảy đều có điểm chung là các mô hình sinh chú thích ảnh đều được xử lý ở
hệ thống máy chủ điện toán, cho khả năng xử lý tốt hon va sinh chú thích ảnh chính
xác hon, và điện thoại thông minh đóng vai trò như là một thiết bị phan cứng thu nhận
di liệu từ camera của điện thoại thông minh, sau đó gửi lên máy chủ xử lý thông qua
API, và trả kết quả về cho điện thoại thông minh Tuy nhiên, nhược điểm của các ứng dụng này là phải phụ thuộc vào kết nối mạng, trên thực tế trong sinh hoạt, người
khiếm thị khi ra đường, có thé gặp tình huống không có mạng Internet, điều này dẫnđến chức năng sinh chú thích ảnh và có thé một số trợ năng cần kết nói Internet không
hoạt động, dẫn đến sự bat tiện trong sinh hoạt Vi thé, giải pháp thích hop đẻ giải
quyết hạn chế này là làm cho tính năng sinh chú thích ảnh có thẻ hoạt động ngoại
tuyến bằng sử dụng các mô hình trực tiếp trên thiết bị - điều mà hiện nay chưa có ứng
dung sinh chú thích anh nao có Tuy nhiên việc tích hợp mô hình học sâu lên trên
Trang 16CHUONG 2 CO SO LY THUYETTrong chương này sé giới thiệu về các cơ sở lý thuyết về các mô hình sinh chú thích
ảnh, hệ thống điện toán đám mây, cũng như về hệ điều hanh Android va framework
React-Native, và đồng thời giới thiệu van dé thiết kế dành cho người khiếm thị
2.1 Người khiếm thị
Người khiếm thị là người có tam nhìn không thé trở về mức bình thường [38]
Theo Tổ chức Y Tế Thế Giới một người được coi là khiểm thị nếu cả hai mắt đạt thị
lực đưới 6/18 đến phân biệt sáng tôi hoặc có thị trường thu hẹp dưới 10 độ từ điểmđịnh thi [1].
Low visi type
- Duc thủy tinh thê
- Duc thủy tinh thé do tiêu đường
- Glaucôma
- Suy giảm đục thủy tinh thể đo tuôi tác
Ước tính, người khiếm thị gây ra thiệt hại khoảng 411 tỷ USD trên toản cầu Người mắc bệnh khiếm thị thường khó khăn trong sinh hoạt hằng ngày do thiểu các dau hiệu thị giác Do đó, người khiếm thị sử dụng các công cụ hỗ trợ như gậy dò đường, chó din đường nhăm hỗ trợ khi đi ngoài đường Khi sử dung các thiết bị di
Trang 17động, có những công nghệ hỗ trợ giúp người khiếm thi sử dụng thiết bị di động dé
đàng hơn [3].
2.2 Tổng quan về mô hình sinh chú thích ảnh
M6 hình sinh chú thích anh (IC) là mô hình tạo ra các câu chú thích nhằm biểu
diễn nội dung của hình ảnh, dựa trên khả nang nhận diện các đặc trưng trong hình
ảnh và phân tích thông tin Quá trình này doi hỏi sự kết hợp mật thiết giữa hai lĩnhvực quan trọng: Thị giác máy tính (Computer Vision) và Xử lý ngôn ngữ tự nhiên
(NLP).
"man in black shirt is playing “construction worker in orange “two young giris are playing with
guitar.” safety vest is working on road, QO toy:
Hình 2.2: Minh hoạ về chú thích ảnh
Sự phát triển của IC từ việc sử dung các mô hình thông kê đơn giản trong máy
học truyền thống, sang việc áp dụng các kiến trúc mạng nơ-ron sâu trong học sâu.Trong khi các phương pháp tiếp cận dựa trên máy học truyền thông thiểu sự kết nỗithông tin của các thành phan với nhau, din đến độ chính xác của mô hình không cao,
hiện nay với phương pháp tiếp cận dựa trên học sâu, các thông tin trong các thànhphản trong mô hình được liên kết với nhau, qua đó tăng cường độ chính xác của mô
hình [8]
Cau trúc của một mô hình IC điển hình bao gồm ba thành phan chính Bộ mã
hóa đặc trưng ảnh nhận đầu vào là một hình ảnh và sử dụng các mạng nơ-ron tích
chập CNN như VGGNet, ResNet, hay Inception dé trích xuất các đặc trưng quan
trọng nhất của ảnh, tạo ra một biểu diễn đặc trưng đưới dang véc-tơ Bộ giải mã chuỗidùng các mạng nơ-ron hỏi quy như LSTM hoặc mạng Transformer dé giải mã véc-tơ
đặc trưng ảnh thành một chuỗi các từ mô tả nội dung của ảnh Bộ sinh cau kết hợp
Trang 18các từ được sinh ra bởi bộ giải mã chuỗi để tạo thành câu chú thích cuối cùng cho
ảnh Các kiến trúc tiên tiến như Encoder-Decoder với cơ chế Attention hay
Transformer giúp mô hình tập trung vào các vùng quan trọng trong ảnh khi sinh chú thích, từ đó tạo ra các mô tả chính xác vả tự nhiên hơn.
2.2.1 Mô hình Online
2.2.1.1 Mô hình ExpansionNetV2 [23]
ExpansionNet v2 là một mô hình được giới thiệu trong công trình nghiên cứu
“Exploiting Multiple Sequence Lengths in Fast End to End Training for ImageCaptioning” Mô hình ExpansionNetV2 sử dụng kiến trúc bộ mã hóa-giải mã dựatrên Swin-Transformer Quá trình xử lý bắt đầu với việc đưa ảnh A qua một phần cơbản, tạo ra tập hợp đặc trưng hình ánh được xử lý ban đầu Xo Sau đó, Xo được đưavào bộ mã hóa, gồm các khối Static Expansion — Feed Forward, sử dung kết nỗi trựctiếp và chuẩn hóa trước lớp Ở bộ giải mã, đầu vào Yo là một chuỗi đầu vào chung,
và nó được đưa qua các khối Dynamic Expansion — Cross-Attention =—
FeedForward trong bộ giải mã Mỗi lớp trong cả bộ mã hóa và bộ giải mã được mô
tả bằng các phương trình chuẩn hóa, truyền tiễn vả chú ý tương tác Cuỗi củng, đầu
ra cudi cùng Yn từ bộ giải mã được đưa vào lớp phân loại Kiến trúc của
ExpansionNetV2 sử dụng cả các phương pháp chuân hóa và kết nói trực tiếp dé cải
thiện hiệu suất
ExpansionNetV2 được huấn luyện trên bộ dữ liệu MS COCO [39] Mô hìnhExpansionNetV2 có một số lượng tham số rất lớn, chủ yếu tập trung vào phần Swin-Transformer backbone, là phan tốn nhiều tài nguyên tính toán nhất trong quá trìnhhuấn luyện Dựa trên quan sat này, quá trình huấn luyện được chia thành bon bước
dé phù hợp với nhiều kiến trúc tính toán khác nhau, bao gồm cả giai đoạn tiền huấn
luyện vả giai đoạn tăng cường:
Bước 1: Cross-Entropy - Đóng băng backbone: Mô hình được huấn luyện với
kích thước batch 48, learning rate ban đầu là 2e-4, tăng dan trong 10.000 bước và
giảm 0.8 sau mỗi 2 epoch trong 8 epoch.
Trang 19Bước 2: Cross Entropy - End to end: Toàn bộ hệ thông được huấn luyện thêm
2 epoch, sử dụng kích thước batch 48 va learning rate ban dau là 3e-5, giảm 0.55 sau
mỗi cpoch.
Bước 3: Tối ưu hóa CIDEr-D - Đóng băng backbone: Giai đoạn tăng cường
sử dung kích thước batch 48, learning rate ban dau là Ic-4, không có giai đoạn tăng
nhiệt, giảm 0.8 sau mỗi epoch trong 9 epoch
Bước 4: Tối ưu hóa CIDEr-D - End to end: Toàn bộ hệ thông được fine-tuned thêm một số vòng lap, lên đến epoch bỗ sung sử dụng kích thước batch 48 và learning rate cô định là 2e-6 Bước nay 1a tùy chọn vi nó chi góp một phan nhỏ vào hiệu suất
cuối cùng và có thé bỏ qua nếu không có cải thiên đáng kẻ
ExpansionNet v2 không bị giới hạn bởi số lượng phần tử trong chuỗi đầu vào, cho
phép mô hình học hoi một cách hiệu quả hon so với các phương pháp dựa trên sự chú
ý (attention-based) truyền thông Mô hình này đã được chứng minh là hiệu quả thông
qua các kết quả đạt được trong thử thách Captioning hình ảnh MS COCO 2014, vớiđiểm số 143.7 CIDEr-D trong bộ kiểm tra ngoại tuyến, 140.8 CIDEr-D trên máy chủđánh giá trực tuyến và 72.9 AIICIDEr trên bộ xác thực nocaps [40] ExpansionNetV2
đang là mô hình sinh chú thích ảnh được huấn luyện trên bộ đữ liệu MS COCO tốt
nhất đến thời điểm hiện tại [41]
Trang 202.2.1.2 Mô hình BLIP [24]
Mô hình BLIP (Bootstrapping Language-Image Pre-training for Unified
Vision-Language Understanding and Generation) sử dung tiền huấn luyện ngôn hình ảnh thông nhất dé đạt được hiệu suất cao trong nhiều tác vụ liên quan đến việc
ngữ-hiểu và tạo ra ngôn ngữ và hình ảnh
Một trong những thành phan chính của BLIP là ViT [42], đóng vai trò nhưmột bộ mã hóa hình ảnh mạnh mẽ, ViT chia hình ảnh thành các phần đoạn và chuyềnđổi chúng thành các embedding, tạo ra một biểu diễn phong phú vẻ thông tin hình
ảnh Đặc biệt, một token [CLS] được thêm vào dé năm bắt các đặc trưng toàn cục của
hình ảnh.
Bên cạnh đó, BLIP sử dụng các bộ mã hóa unimodal riêng biệt cho cả hình
anh và văn bản Bộ mã hóa văn bản dựa trên kiến trúc BERT [43], một mô hình trong
xử lý ngôn ngữ tự nhiên Tương tự như ViT, một token [CLS] được đặt ở đầu chuỗivăn bản dé tóm tắt thông tin chung
Điểm nỗi bật của BLIP là khả năng tích hợp liền mạch thông tin hình ảnh vào
quả trình ma hóa van bản thông qua một lớp Cross Attention đặc biệt Lớp Cross
Attention hoạt động như một cầu nối giữa lớp Self Attention va Feed Forward Network trong mỗi khối transformer của bộ mã hóa văn ban Điều nảy cho phép mô hình nắm bắt mỗi tương quan giữa hình ảnh vả văn bản một cách hiệu quả Hơn nữa, việc bỏ sung một token [Encode] đặc trưng cho nhiệm vụ gop phần tang cường sự liên kết giữa hai phương thức.
Cuối cùng, bộ giải mã van bản dựa trên hình ảnh của BLIP thay the lớp tự chú
ý hai chiều trong bộ mã hóa băng lớp causal self-attention Điều nay đảm bao rang
quá trình tạo văn bản chi phụ thuộc vào thông tin trước đó, tránh rỏ ri thông tin tương
lai Việc sử dụng các biểu tượng đặc biệt như [Decode] và end-of-sequence giúp mô
hình xác định rõ ràng điểm bắt đầu và kết thúc của chuỗi văn bản được tạo ra
Trang 21Hình 2.4: Learning framework của mô hình BLIP[24]
BLIP sử dụng một phương pháp tiền huấn luyện thích hợp dé cải thiện hiệusuất cho nhiều tác vụ ngôn ngữ-hình anh Trong quá trình này, một người tạo chúthích tao ra các chú thích tông hợp và một bộ lọc loại bỏ những chú thích nhiễu Điềunày giúp BLIP tận dung hiệu qua dit liệu web nhiễu, đồng thời cải thiện hiệu suất của
mô hình trên nhiều tác vụ ngôn ngữ-hình ảnh BLIP đã đạt được kết quả hàng đầu trên nhiều tác vụ ngôn ngữ-hình ảnh, như truy xuất hình ảnh-văn bản, chú thích hình
ảnh và VQA BLIP cũng cho thay khả năng tông quát mạnh mẽ khi được chuyền giao
trực tiếp đến các tác vụ ngôn ngữ-video.
2.2.1.3 Mô hình VC-GPT [44]
Mô hình VC-GPT (Visual Conditioned GPT) kết hợp sức mạnh của bộ mã hóa
hình ảnh CLIP-ViT (Contrastive Language-Image Pretraining with Vision
Một điểm đáng chú ý khác của VC-GPT là khả năng học từ dit liệu hạn chế
Mô hình được tiên huấn luyện trên bộ đữ liệu hình ảnh-chú thích quy mô nhỏ có tên
Visual Genome, chi bao gồm 110k hinh ảnh riêng biệt Tuy nhiên, trong nghiên cứu
Trang 22Mô hình VGG16+LSTM là một trong những mô hình sinh chú thích ảnh cơ bản Mô
hình str dụng bộ mã hoá hình anh là VGG16, day là một mạng nơ-ron tích chập được
phát triên bởi nhóm nghiên cứu Visual Geometry Group (VGG) thuộc Đại học
Oxford [46] Mô hình nay gồm 16 lớp, trong đó có 13 lớp tích chập và 3 lớp kết nỗi
day đủ, và chứa 134 triệu tham số.
Trong khi đó, LSTM là một kiến trúc mạng nơ-ron được thiết kẻ đặc biệt dé xử lý
các chuỗi dữ liệu có độ dải thay đôi Điểm mạnh của LSTM năm ở khả năng học và
ghi nhớ các thông tin ngữ cảnh từ các phan trước của chuỗi dữ liệu, giúp mô hình cóthé tạo ra các dự đoán chính xác cho phân tiếp theo của chuỗi
Hình ảnh sẽ được đưa vào bộ mã hoá hình ảnh VGG16 dé trích xuất các đặc trưngquan trọng Các đặc trưng này sau đó được chuyên đổi thành một chuỗi vectơ, tạothành đầu vào cho mô hình LSTM Tiếp theo, LSTM sẽ xử lý chuỗi vectơ này và dựđoán chuỗi từ tương ứng dựa trên thông tin ngữ cảnh đã học được Cudi cling, các từđược dự đoán sẽ được ghép nối lại đẻ tạo thành chú thích hoàn chính cho hình ảnh
2.2.2.2 EfficientNet BO + LSTM [25]
Trong mô hình này, cấu trúc tương tự như mô hình VGG16 + LSTM khác biệt
nằm ở bộ mã hoá hình ảnh thay vì sử dụng VGG16, thi trong mô hình nay sir dung
bộ mã hoa hình ảnh là EfficientNet BO
EfficientNet [47] là một mô hình mạng nơ-ron sâu được phát triển bới Google
Research nhằm tôi ưu hóa việc sử đụng tài nguyên tính toán trong quá trình huấn
luyện mạng nơ-ron dựa trên học sâu Mạng EfficientNet kết hợp giữa các kỹ thuật như
Scale Depth, Width, và Resolution dé tăng hiệu suất và đồng thời giảm độ phức tạp
Trang 23của mô hình Ý tưởng cơ bản lả tìm kiếm một tý lệ tối ưu giữa số lượng tang, độ rộng
và độ phân giải của mạng nơ-ron, nhằm giảm thiểu lượng tính toán và bộ nhớ cânthiết trong quá trình huấn luyện và dự đoán Phiên ban sử dung là EfficientNet BO
chứa 4 triệu tham sé.
2.2.2.3 MobileNet v2 + LSTM
Trong nghiên cứu nảy, chúng tôi dé xuất kết hợp giữa mô hình MobileNet v2
và LSTM.
MobileNet v2 [48] là một mô hình gọn nhẹ chứa 2,3 triệu tham số Mô hình
sử dụng mang DSC thay vì sử dụng mang CNN, giúp làm giảm độ phức tạp của môhình Trong phiên bản v2 của MobileNet được cải tiễn thêm về cau trúc bang cách sử
dụng các khỗi bottleneck với các lớp tích chập 1x1 để giảm kích thước đặc trưng, sau
đó sử dụng các lớp tích chập 3x3 dé mở rộng đặc trưng Kien trúc inverted residual
giúp tăng cường khả năng biểu dién của mô hình
Trong mô hình này, cầu trúc tương tự như VGG16 + LSTM, khác biệt nằm ở
bộ mã hoá hình anh thay vi su dụng VGG16, thi rong mô hình này sử dụng bộ mã
hoá hình ảnh là MobileNet v2.
2.4 Application Programming Interface
API là một tập hợp các luật hay giao thức cho phép giao tiếp các bộ phận khác nhau
nhằm trao đổi dữ liệu, tính năng Trên thực tế, API được ứng dụng vào rất nhiều vị
trí, bao gồm ứng dụng web, ứng dụng di động.
Trong API, các thành phan gồm có:
- API Client: API Client là bên thực hiện gửi đi các yêu cầu thực hiện
- Request: Dùng đề gửi yêu cau từ API Client lên API, trong Request gồm có:
+ Endpoint: Một địa chi đầu cudi ma nơi đó có chứa API thực hiện xử
lý.
+ Method: Một phương thức chi ra loại hành động mà phía Client mong
muốn thực hiện
+ Parameters: Là tham số mà phía Client truyền đi
+ Request header: La phan đầu trong mỗi lần truyền đi cho biết thông tin vẻ Content-Type vả thông tin về Authentication Credential
Trang 24+ Request body: La bộ phận chứa toàn bộ nội dung cua request.
- API Server: Là nơi chứa API, trong API là các chương trình hay hàm ding
dé đáp ứng yêu cầu bên phía Client
- Response: Kết qua trả về của API, trong phan trả về gồm có:
+ Status code: Status code bao gồm một mã 3 chữ số theo chuan HTTP,
chang hạn HTTP 200 cho biết kết quả trả về thành công, HTTP 404 cho biết không
tìm thấy nội dung.
+Response header: Tương tự như Request header nhưng cung cap thêm thông tin về phản hỏi từ server
+ Response body: Chứa kết quả phản hỏi từ API
2.5 Điện toán đám mây
Điện toán dam may 14 mô hình dich vụ cho phép người truy cập tải nguyên điện
toán dùng chung (mạng, server, lưu trữ, ứng dụng, dịch vụ) thông qua kết nỗi mạng một cách dé đàng, mọi lúc, mọi nơi, theo yêu cầu Tài nguyên điện toán đám mây có
thẻ được thiết lập hoặc hay bỏ nhanh chóng bởi người dùng mà không can sự canthiệp của Nha cung cap dịch vụ [49]
Trang 25Có 5 đặc điểm của điện toán đám mây:
- Tự phục vụ nhu câu (On-demand self-service)
- Truy cập moi lúc mọi noi (Broad network access)
- Hồ chứa tai nguyên (Resource pooling)
- Co giãn nhanh chong (Rapid elasticity or expansion)
- Do lường dịch vụ (Measured service)
Có 3 loại mô hình cung cấp điện toán đám mây, bao gồm:
- laaS (Infrastructure as a Service): laaS chuyên cung cấp các tinh năng cơ bảnnhất như mang, máy tính ảo, không gian lưu trữ dit liệu, CPU, RAM, HDD/SSD
Khi sử dụng dịch vụ nay, người dùng đã có một máy chủ ao trên không gian đám
mây đề làm việc Họ không cần phải quan tâm tới các khía cạnh khác như máy chủnằm ở trung tâm dữ liệu nào, sử đụng mạng viễn thông nào
- PaaS (Platform as a Service): Cho phép người ding lựa chọn các phần mém
mong muốn, triển khai va sử dụng mà không can quan tâm tới việc cập nhật các phiên
bản mới RAM, CPU
- SaaS (Software as a Service) :Cho phép người dùng đăng nhập và sử dụng
phan mềm mà không am hiểu về các yếu tô kỹ thuật, cai đặt,
Hiện nay, có nhiều nha cung cấp các dịch vụ điện toán đám mây IaaS nôi tiếng
như Microsoft Azure, Google Cloud Infrastructure, Amazon Web Service Thông thường các công ty, tập đoàn lớn như Netflix, Amazon, Spotify sử dung các dịch vụđiện toán đám mây nhằm tôi wu hoá chi phí vận hành
2.6 Phát triển ứng dụng trên điện thoại
2.6.1 Hệ điều hành Android
Android là một hệ điều hành mã nguồn mở được xây dựng trên nén tang Linux, phục
vụ chủ yếu dành cho các thiết bị di động như điện thoại, máy tính bang [50] Ra mắtlan đầu vào năm 2008, cho tới nay phiên bản mới nhất của hệ điều hành này làAndroid 14, với nhiều cải tiền về mặt trải nghiệm người dùng Hệ điều hành Androidđược các hãng sản xuất di động lớn hiện nay như Samsung, Oppo Xiaomi chon đểcải đặt lên sản phẩm của họ Theo báo cáo của Statista, smartphone sử đụng hệ điều
Trang 26hành Android chiếm 70,11 % thị phần di động [5], đo đó hệ điều hành Android cóthê xem là hệ điều hành phô biến nhất
Về ứng dụng đành cho hệ điều hành Android, hiện nay các ứng dụng được cung cấp
thông qua cửa hàng ứng đụng Google Play Store Ước tính trên cửa hàng Google Play
Store hiện nay chứa 2,438 triệu ứng dụng, theo Statista [51] Các ứng dụng phát triển đều trải qua quy trình kiểm tra đến từ Google Play Protect nhằm dam bảo người đủng
tải về các ứng dụng an toản
2.6.2 React Native
React Native là một framework phát triển ứng dụng đi động cross-platform được
Facebook phát triên và duy trì Nó cho phép các nhà phát triển xây dựng ứng dụng diđộng cho cả hai hệ điều hành IOS và Android từ một mã nguồn duy nhất, giảm thiểu
sự phân tán và tối ưu hóa quy trình phát triển Bằng cách sử dụng JavaScript làmngôn ngữ lập trình chính, React Native cung cấp một cách tiếp cận linh hoạt va détiếp cận cho việc phát triển ứng dụng di động
Trang 27Hinh 2.7: Logo React Native Với co sở mã nguồn mở rộng từ thư viện React, React Native sử dung các thành phan
tái sử dụng đề xây dựng giao diện người dùng Điều này cho phép các nhà phát triểntận dụng kiến thức đã có về React và áp dụng chúng trong việc phát triển ứng dung
đi động Thông qua việc sử dụng các thành phan này, các nha phát triển có thê dé
đàng tạo ra các giao điện người dùng phức tạp và tương tác mà vẫn đám bảo tính linh
hoạt và hiệu suat.Ngoai ra, React Native cung cấp một loạt các thành phan UI tủy
chỉnh và API cho phép các nhà phát triển truy cập vào các chức năng của hệ thong
và thiết bị di động như camera, định vị GPS, cam biến và nhiều hơn nữa Điều này
giúp tạo ra các ứng dụng di động phong phú vẻ tinh năng và trải nghiệm người
dùng Tính linh hoạt va khả năng tái sử dụng của mã nguồn cũng là những yêu tô quan
trọng của React Native Việc có thê chia sẻ mã nguồn giữa các nên tảng giúp giảmthiêu thời gian và chi phi phát triển, đồng thời đảm bao tính nhất quán và hiệu suất
giữa các phiên bản ứng dụng trên IOS và Android.
2.7 Thiết kế giao diện cho người khiếm thi
Theo Hammad và cộng sự [33], người khiếm thị gặp các van dé khi sử dụng ứng dụng thông thưởng như sau:
- Khó khăn trong nhận dạng nhãn