Đánh giá chung: Đề tài đã đưa ra được nghiên cứu về phương pháp cho một số bài toán ứng dụng thị giác máy tính cho người khiếm thị và đặc biệt thử thách trên đườngphố Việt Nam.. Với mục
Trang 1DAI HỌC QUOC GIA TP HO CHÍ MINH
TRUGNG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
HUYNH DO TAN THANH
NGUYEN MINH TRÍ
KHOA LUAN TOT NGHIEP
CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH
TP HỒ CHÍ MINH, 2022
Trang 2DAI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
HUYNH DO TAN THANH - 19522227
NGUYEN MINH TRi - 19522389
KHOA LUAN TOT NGHIEP
UNG DUNG TRG LY THI GIAC HO TRG
NGƯỜI KHIEM THI DI CHUYEN TREN
DUONG DANH CHO NGUGI DI BO
CỬ NHÂN NGANH KHOA HOC MAY TÍNH
GIANG VIEN HUGNG DAN
TS LE MINH HUNG
TP HO CHi MINH, 2022
Trang 3DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
ngày của Hiệu trưởng Trường Dai hoc Công nghệ Thong tin.
1 PGS.TS Lê Dinh Duy - - Chủ tịch.
2 ThS D6 Văn Tiến - -.5 2+2 s>2 - Thư ký
3 TS Nguyễn Vinh Tiệp -cs5- - Ủy viên.
Trang 4ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
^ ^ = Độc Lập - Tự Do - Hanh Phúc
CÔNG NGHE THONG TIN
TP HCM, ngay thang nam
NHAN XET KHOA LUAN TOT NGHIEP
(CUA CAN BO HUGNG DAN)
Tén khóa luận:
UNG DUNG TRỢ LÝ THỊ GIAC HỖ TRỢ NGƯỜI KHIEM THỊ
DI CHUYEN TREN ĐƯỜNG DÀNH CHO NGƯỜI DI BO
Nhóm SV thực hiện: Cán bộ hướng dẫn:
Huỳnh Đỗ Tan Thành: 19522227 T5 Lâ Minh Hưng
Nguyễn Minh Tri: 19522389
Đánh giá Khóa luận:
1 Về cuỗõn báo cáo:
Số trang: 86 trang Số chương: 5 chương
Số bảng số liệu: 9 bảng Số hình vẽ: 80 hình
Số tài liệu tham khảo: 51 tài liệu
Một số nhận xét về hình thức cuốn báo cáo:
Báo cáo đầy đủ nội dung và hình thức trình bày tốt
2 Về nội dung nghiên cứu:
Nghiên cứu phương pháp giúp người khiếm thị có thể nhận biết không gian
xung quanh: nhận biết vật cản, làn đường và các đối tượng trước mặt Nhờ đó
Trang 5giúp người dùng di chuyển trên đường dễ dàng hơn Phát hiện các đối tượng
phía trước kết hợp với câu hỏi của người dùng về vùng cần quan tâm và đưa ra
mô tả trực quan cho người dùng.
3 Về chương trình ứng dụng:
Xây dựng ứng dụng trên điện thoại Android về trợ lý hỗ trợ người khiếm thị
với các chức năng cơ bản: cảnh báo nguy hiểm phía trước và đưa ra câu trả lời
về các đối tượng nằm trên vùng quan tâm của người dùng Kết quả được phảnhồi qua API và được xử lý trên server
4 Về thái độ làm việc của sinh viên:
Lên kế hoạch và hoàn thành công việc tốt và đúng hạn Sinh viên có ý thức và
nỗ lực để hoàn thành đề tài Khả năng làm việc nhóm tốt.
Đánh giá chung:
Đề tài đã đưa ra được nghiên cứu về phương pháp cho một số bài toán ứng
dụng thị giác máy tính cho người khiếm thị và đặc biệt thử thách trên đườngphố Việt Nam Sinh viên đã hoàn thành tốt nội dung đề tài luận văn
Điểm từng sinh viên:
Trang 6ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
^ ^ ^ Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHE THONG TIN l
TP HCM, ngay thang năm
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
'Tên khóa luận:
UNG DUNG TRỢ LÝ THỊ GIÁC HỖ TRỢ NGƯỜI KHIEM THỊ
DI CHUYÊN TRÊN ĐƯỜNG DÀNH CHO NGƯỜI ĐI BỘ
Nhóm SV thực hiện: Cán bộ phản biện:
Huỳnh Đỗ Tấn Thành: 19522227 TS Nguyễn Vinh Tiệp
Nguyễn Minh Tri: 19522389
Đánh giá Khóa luận:
1 Về cuõn báo cáo:
Số trang: 86 trang Số chương: 5 chương
Số bảng số liệu: 9 bảng Số hình vẽ: 80 hình
Số tài liệu tham khảo: ð1 tài liệu
Một số nhận xét về hình thức cuốn báo cáo:
Trang 74 Vẽ thai độ làm việc của sinh viên:
Điểm từng sinh viên:
Huỳnh Đỗ Tấn Thanh: /10
Nguyễn Minh Trí: /10
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 8LỜI CẢM ƠN
Lời đầu tiên, chúng em xin chân thành cảm ơn đội ngũ cán bộ, giảng viên,
công nhân viên trường Dại học Công nghệ thông tin Đặc biệt là gửi lời cảm
ơn sâu sắc đến thầy Lê Minh Hưng đã dẫn dắt chúng em từ những bước đầu
tiên, cho chúng em nhiều kiến thức cũng như nhiều bài học quý báu để tạo điều
kiện cho chúng em thực hiện khoá luận này Bên cạnh đó, chúng em cũng gửi
lời cảm ơn đến chị Nguyễn Dinh Quyết, anh Võ Minh Thiện đã hỗ trợ chúng
em rất nhiều trong quá trình thực hiện khoá luận này Cảm ơn gia đình, bạn bè
đã luôn ủng hộ chúng em Em xin chân thành cảm ơn tất cả mọi người đã cho
chúng em những góp ý quý báu để chúng em hoàn thiện hơn.
Ngoài những kiến thức, kỹ năng đã được học từ trước đến nay, chúng em
cũng đã cố gắn tìm hiểu những kiến thức mới cũng như tự xây dựng bộ dữ liệu
riêng để thực hiện khoá luận này Trong quá trình thực hiện còn nhiều sai sót,
mong thầy cô góp ý để chúng em kịp thời sửa chữa, bổ sung và đó cũng là hành trang để giúp chúng em tự tin hơn trong công việc sau này.
Trang 9ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
^ ^ ^ Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHE THONG TIN l
DE CƯƠNG CHI TIẾT
TÊN DE TAI: UNG DUNG TRỢ LÝ THỊ GIAC CHO NGƯỜI
KHIEM THI DI CHUYEN TREN LE DUONG
TEN DE TAI TIENG ANH: VISUAL ASSISTANCE FOR
VISU-ALLY IMPAIRED WALKING ON THE SIDEWALK
Cán bộ hướng dẫn: TS Lê Minh Hưng
Thời gian thực hiện: Từ ngày 01/02/2022 đến ngày 10/06/2022
Sinh viên thực hiện:
Huỳnh Đỗ Tan Thành - 19522227 Lóp: KHMT2019
Nguyễn Minh Trí - 19522389 Lóp: KHMT2019
Nội dung đề tài: Hiện nay, thị giác máy tính ra đời đang dần có thể thực
hiện các nhiệm vụ gần giống với những chức năng của thị giác con người.Nhằm phục vụ cho nhu cầu thay thế con người nhiều hơn, trong nhiều lĩnh
vực trong cuộc sống Với mong muốn sâu sắc về việc có thể giúp đỡ một phần
nào đó giúp thay thế nhiệm vụ của đôi mắt người khiếm thị Nhóm đã cố
gắng sử dụng thị giác máy tính để thay thế một số chức năng quan sát cơ bản khi di chuyển trên đường Với mục tiêu là giúp người dùng có thể đi chuyển
dễ dàng và an toàn hơn, ứng dụng sẽ có một số chức năng sau: cảnh báo khi
di chuyển xuống lòng đường, cảnh báo khi vật cản đến gần, trả lời câu hỏi về
mô tả không gian xung quanh.
Trang 10e Mục tiêu: Ứng dụng giúp người khiếm thị có thể nhận biết được không
gian xung quanh, đưa ra cảnh báo, mô tả vị trí một số đối tượng, từ đó
giúp người dùng có thể di chuyển dễ dàng và an toàn hơn.
e Phạm vi: Sử dụng trên đường phố Việt Nam, những nơi có lề đường Sử
dụng ngôn ngữ tiếng Việt.
e Dối tượng: Người khiếm thị.
e Phương pháp thực hiện:
1 Thu thập dữ liệu thử nghiệm.
2 Lựa chọn các mô hình học sâu phù hợp với nhu cầu sử dụng Huấn
luyện các mô hình với bộ dữ liệu thử nghiệm.
3 Dánh giá kết quả các mô hình đã chọn Tiếp tục thu thập dit liệu
đường phố
4 Đóng gói và xây dựng ứng dụng Android.
5 Công nghệ sử dụng:
— Ngôn ngữ : Python 3.x, Java.
— Thư viện, frameworks hỗ trợ machine learning, deep learning :
PyTorch, OpenCV, NumPy.
— Thư viện, frameworks hỗ trợ lập trình Android : Retrofit,
OpenCV, SpeechToText, TextToSpeech, Gson.
Kế hoạch thực hiện:
1 Giai đoạn 1: Lên ý tưởng, tìm hiểu về những tính năng phù hợp với nhu
cầu của người khiếm thị để di chuyển an toàn trên đường phố.
2 Giai đoạn 2: Thu thập dữ liệu phù hợp cho quá trình huấn luyện các mô
hình học sâu.
3 Giai đoạn 3: Huấn luyện, đánh giá các mô hình
4 Giai đoạn 4: Tối ưu và deploy lên server, đóng gói và xây dựng ứng dụng
5 Giai đoạn 5: Viết báo cáo
Trang 11Phân công công việc:
Giai đoạn | Thời gian | Nội dung Phân công
01/02/2022 | Lên ý tưởng cho đề tài Trí, Thành
1 = Tìm hiểu về những thách thức, | Trí, Thành
10/02/2022 | các tính năng cần thiết.
Phan tích, tìm hiểu các nghiên | Trí, Thanh
cứu liên quan
-15/04/2022 72 tuyện mô ~ phan doan Tri
ngữ nghĩa, mô hình phan loại văn bản
Nghiên cứu phương phấp ước | Thành lượng khoảng cách.
Nghiên cứu phương pháp phát | Thành hiện vật cản.
16/04/2022 | Áp dụng logic đưa ra cảnh báo | Trí, Thành
4 — và câu trả lời phù hợp.
15/05/2022 | Thiết kế API, deploy lên server | Thành
Đóng gói và xây dựng ứng dụng | Trí Android.
16/05/2022 | Thực nghiệm và chuẩn bị video | Trí, Thành
5 - demo.
10/06/2022 | Thiét ké slide thuyét trinh Tri, Thanh
Trang 1314 Thách thức của đề tài 41.5 Dong góp của đề tài ee 41.6 Cấu trúc luận văn| Q.2 5
2 Các nghiên cứu liên quan 6
2.1 Khảo sát các ứng dụ U 6
2.2 Những nghiên cứu liên quan về bài toán 7
2.2.1 Bài toán phân đoạn ngữ nghĩa trên thời gian thực 7
2.2.2 Bài toán phát hiện đối tượng 23
2.2.3 Bài toán ước tính độ sâu của một bức ảnh 37
2.2.4 Bài toán phan loại văn bản tiếng Việt 42
2.2.5 Tổng quan về Google Speech API 45
3 Phương pháp thực nghiệm và ứng dụng 47
3.1 Xây dựng bộ dữ liệu so 47
3.1.1 Thu thập dữ lệu| 47 3.1.2 Génnhan dữ liệu| 49
3.2 Tổng quan về ứng dụng| 0.0000 52
3.3.1 Chức năng giao tiếp bằng giọng nói 53
3.3.2 Chức năng cảnh báo nguy hiểm| 55
Trang 143.3.3 Chức năng mô tả không
Trang 15Danh sách hình vẽ
1.1.1 Giáo dục trẻ em khiếm thị tại bệnh viện mắt quốc tế DND| 3
2.1.1 Envision Glasses} 2 Q Q Q Q Q Q 7 2.1.2 WeWalk Smart Cancl 7
2.2.1 Sử dung phan đoạn ngữ nghĩa để phân vùng các đối tượng 8
2.2.2 Xác định vị trí và hình dạng khối u não nhờ phân đoạn ngữ nghĩa| 9
2.2.3 Mốc thời gian ra đời của các phương pháp phân đoạn ngữ nghĩa
2.2.4 Quá trình tính tích chập cho một ma trận
2.2.5 Minh hoa cách thức hoạt động của các hướng giải quyết trước
2.2.6 _ Kiến trúc mô hình BiSeNetl 142.27 Kiến trúc bên trong moduleARM| 14
2.2.8 Kiến trúc bên trong moduleFEM| 15 2.2.9 Minh hoạ các kết quả của BiSeNet so với UNet va Ground truth.| 16
2.2.13 Kiến trúc Inverted BottleNeck (a) và Gather-and-Expansion
Layer (b)(G).| HQ HH ng kg kg va 20
Trang 16(1990 — 2019)B0J: VJ Det (fq, HOG Det [id], DPM BI, RCNN [40], SPPNet [27], Fast RCNN [14], Faster RCNN [43}, YOLO [20], SSD |48], Pyramid Networks [45], Retina-Net [46]/ 24
ete vette vent tryy ne, 25
éàaaàaáắầđái 26
Lee 27
ee 28
2.2.24 Phát hiện nhiều bounding box cho cùng một đối tượng| 29
¬ 30 2.2.26 Kiến trúc YOLOvll 31
2.2.27 Cách hoạt động của YOLOvll 31
2.2.28 Kiến trúc Darknet-53] 33
2.2.29 Kiến trúc YOLOv3] 33
2.2.30 Kiến trúc YOLOv4l 34
>> 6\'B.j ⁄ - ee 35 b /@" / 35
2.2.33 Đánh giá các phiên ban yolovi| 36
2.2.34 3D movie datasetl Ặ HQ ee 39 2.2.35 Bên trái là đầu vào, bên phải là kết quả 39 2.2.36 Hiệu suất của các mô hình thử nghiệm trên các tập dữ liệu| 40
`" 41 2.2.38 So sánh kết quả của MiDaS, DPT-Hybrid và DPT-Large 42
2.2.39 Ví dụ minh hoạ cho thuật toán SVM| 44
2.2.40 Minh hoạ thuật toán SVM lên không gian 2 chiều 2.2.41 Thống kê của eMarketer về số lượng người Mỹ sử dung voice search cho đến năm 2020Ì - 46
2.2.42 Google Speech API sử dụng trên các thiết bi Android} 46
3.1.1 Những địa điểm thu thập dữ liệu ở TP.HCM 49 3.1.2 Những địa điểm thu thập dữ liệu ở Da Nang 49 3.1.3 Những địa điểm thu thập dữ liệu ở Khánh Hoà 50
3.1.4 Một vài hình ảnh trong bộ dữ liệu 50
Trang 173.2.1 Mô tả quá trình giao tiếp với server
3.3.1 Giao diện khi thực hiện thu âm giọng nói người dùng
3.3.2 Sơ đồ thể hiện quá trình hoạt động của chức năng cảnh báo
3.3.3 Chi tiết những bước xử lý ở server để đưa ra kết quả trả về cho
¬ LH ÈẼ 57
3.3.4 Visualize output BiISeNetv2| 2.0.00 58 3.3.5 Vung phát hiện ban đang hướng ra đường| 58
3.3.6 Hàm đánh giá vật can cảnh báo| 60
3.3.7 Hình ảnh minh hoa đầu ra cho biết vi trí vật can.
3.3.8 Sơ đồ thể hiện quá trình hoạt động của chức năng mô ta không
kích thước đầu vào 960x960 trên phần cứng GeForce RTX 2080ti.| 75
4.1.6 Biểu đồ thể hiện thời gian xử lý của mô hình YOLOv5 với kích
thước đầu vào 640x640 trên phần cứng GeForce RTX 2080ti| 76
Trang 184.1.7 Biểu đồ thể hiện thời gian xử lý của mô hình DPT-hybrid với
kích thước đầu vào 960x540 trên phần cứng GeForce RTX 2080ti.| 77
4.1.8 Biểu đồ thể hiện thời gian xử lý của mô hình MiDaS-small với
kích thước đầu vào 960x540 trên phần cứng GeForce RTX 2080ti.| 774.2.1 Minh hoa quá trình thực nghiệm ứng dụng trên đường phố.|
4.2.2 Biểu đồ thể hiện thời gian phan hồi của chức năng cảnh báo
_—.ốằỐốờ" ééứn 78
4.2.3 Biểu đồ thể hiện thời gian phản hồi của chức năng mô tả không
Trang 19Danh sách bảng
2.2.2 Bang so sánh về tốc độ xử lý của BiSeNet với SegNet và ENet
trên phần cứng NVIDIA Titan X và NVIDIA Titan XP] 172.2.3 Bang chi tiết từng stage ở 2 thành phần Detail Branch và Seman-
Han 18
2.2.4 Bảng so sánh kết quả về mloU (%) và tốc độ xử lý (FPS) trên
tap Cityscape của mô hình so với các mô hình state-of-the-art.)
QV 32
2.2.6 Bộ dữ liệu cho bài toán ước tính độ sâu 38
2.2.7 So sánh điểm đánh giá của DPT với các state-of-the-art 42
số lượng dữ liệu dự kiến cần thu thập 473.1.2 Bảng số lượng chỉ tiết dữ liệu hình ảnh đã thu thập được 48
Trang 20Danh mục các ký hiệu, chữ viết tắt
Ký hiệu, chữ viết tắt Tên đầy đủ
IoU Intersection over Union
CNN Convolutional Neural Networks GAP Global Average Pooling
MLP Multi-layer Perceptron
PAN Path Aggregation Network
CSP Cross-StagePartial SPP Spatial Pyramid Pooling SAM Spatial Attention Module SPP Spatial Pyramid Pooling DPT Dense Prediction Transformers
ViT Vision Transformers
NLP Natural Language Processing
TF-IDF Term frequency - Inverse document frequency
SVM Support Vector Machine
API Application Programming Interface
JSON JavaScript Object Notation
FPS Frame per second
FLOPS Floating-point Operation per Second
RPN Region Proposal Network
ARM Attention Refinement Module
FFM Feature Fusion Module
Trang 21Tóm tắt
Hiện nay, thị giác máy tính ra đời đang dần có thể thực hiện các nhiệm vụ
gần giống với những chức năng của thị giác con người Nhằm phục vụ cho nhu
cầu thay thế con người nhiều hơn, trong nhiều lĩnh vực trong cuộc sống Với
mong muốn sâu sắc về việc có thể giúp đỡ một phần nào đó giúp thay thế nhiệm
vụ của đôi mắt người khiếm thị, đặc biệt là có thể di chuyển trên đường dễ dàng
và an toàn hơn Nhóm đã cố gắng sử dụng thị giác máy tính để thay thế một
số chức năng quan sát cơ bản khi di chuyển trên đường.
Ung dung tập trung hỗ trợ việc di chuyển trên đường với các nhiệm vu co
bản: cảnh báo khi đi nhầm xuống đường, cảnh báo khi gặp vật cản, mô tả khônggian xung quanh bằng cách trả lời các câu hỏi về vùng cần quan tâm (ví dụ:
bên phải có gì vậy?, trên đường có gi?, )
Trong quá trình thực hiện đề tài, chúng tôi đã nghiên cứu một số phương
pháp có thể thay thế cho một số chức năng của thị giác con người Phân đoạn
làn đường, lề đường giúp cảnh báo khi đi nhầm xuống làn đường Phát hiện một
số đối tượng cần thiết cho việc di chuyển trên phần đường dành cho người đi
bộ Thực hiện ước tính độ sâu của một bức ảnh để dự báo vật cản khi đến gần Phân loại câu hỏi và nhận dạng giọng nói bằng ngôn ngữ tiếng Việt để trao đổi
với vai trò là một trợ lý thị giác.
Trang 22Chương 1
Tổng quan
1.1 Giới thiệu đề tài
Trong tất cả 5 giác quan thì thị giác được xem như là giác quan quan trọngnhất, chịu trách nhiệm ghi nhận thông tin hình ảnh từ cuộc sống xung quanh
Có một sự thật là, cơ thể bạn sẽ cảm thấy an tâm hơn nếu sử dụng thị giác Trong trường hợp nguy hiểm, khi nghe tiếng động, cơ thể sẽ tự động xoay mặt
lại để tìm kiếm hình ảnh hoặc sự vật từ nơi phát ra âm thanh có dấu hiệu nguy
hiểm Ví như khi đi dao trong một khu vườn, bạn nghe tiếng xào xạc của cỏ và
tiếng kêu có vẻ như là của một con rắn Mắt bạn sẽ tự động tìm kiếm và xác
minh “vật thể lạ” để tránh những nguy cơ tiềm ẩn từ một loài động vật nguy hiểm Hay đơn giản là chúng ta thử nhắm mắt và di chuyển, chúng ta có thể
đụng bất cứ vật cản nào xuất hiện trên đường đi của chúng ta Diều này là rất
nguy hiểm khi ta di chuyển trên đường
That không may, theo thống kê Việt Nam ta có khoảng 1,2% người khiếm thị
Việc mất đi thị giác là một tổn thất rất lớn trong cuộc đời họ Và rất ít khi ta
bắt gặp một người khiếm thị trong cuộc sống bởi họ thường gặp khá nhiều khó
khăn trong việc di chuyển Tuy nhiên không vì lý do đó mà khiến cho họ cảm
thấy chán nản, ngược lại có nhiều người lại rất nghị lực và tích cực (hình [1.1.1).
Với mong muốn được hỗ trợ và giúp đỡ những người gặp hoàn cảnh không may.Nhóm đã vận dụng các kiến thức về thị giác máy tính, cố gắng đưa ra các giải
pháp giúp đỡ cho người khiếm thị, sử dụng thị giác máy tính để thay thế một
số chức năng cơ bản khi di chuyển trên đường.
Trang 231.2 M6 tả bài toán
Bài toán lay dữ liệu trực tiếp từ camera người dùng và đưa ra cảnh báo khigặp vật cản hoặc đi xuống lòng đường Khi có yêu cầu từ người dùng, bài toán
nhận dữ liệu từ camera cộng thêm âm thanh giọng nói từ yêu cầu người dùng,
từ đó đưa ra câu trả lời cho yêu cầu đó
e Dầu vào:
— Hình ảnh từ camera đang di chuyển trên đường phố.
— Âm thanh từ yêu cầu của người dùng (nếu có).
e Đầu ra: Âm thanh
— Nội dung cảnh báo
— Nội dung câu trả lời cho yêu cầu
Trang 241.3 Phạm vi và mục tiêu dé tài
1.3.1 Phạm vi đề tài
Với việc giúp người khiếm thi di chuyển trên phần đường dành cho người đi
bộ, chúng tôi xây dựng hai chức năng chính:
e Cảnh báo nguy hiểm
— Cảnh báo vật can phía trước.
— Cảnh báo di chuyển xuống lòng đường.
e Mô tả không gian xung quanh.
1.3.2 Mục tiêu đề tài
Với các chức năng chính trên, mục tiêu của chúng tôi đặt ra là có thể di chuyển một cách an toàn, giúp người dùng hình dung được không gian xung quanh, trao đổi như một trợ lý thị giác dành cho việc di chuyển trên đường.
1.4 Thách thức của đề tài
e Cơ sở hạ tầng đường bộ Việt Nam phức tạp cả về lòng đường và lề đường.
e Sử dụng camera đơn để đo khoảng cách.
e Vừa dam bảo tốc độ và cả độ chính xác cho mô hình.
1.5 Đóng góp của đề tài
Đã có rất nhiều nghiên cứu về các tiện ích dành cho người khiếm thị Nhữngcông trình đã mang lại giá trị rất lớn cho cộng đồng và xã hội Da phần nhữngngười không được may mắn thường họ rất nghị lực và có ý chí vươn lên trong
cuộc sống Tất cả điều đó đã cho chúng tôi một nguồn động lực rất lớn để có thể cống hiến cho xã hội Một số đóng góp của khoá luận:
e Tạo ra một ứng dụng dễ tiếp cận với người dùng.
e Giúp người đi bộ di chuyển an toàn.
4
Trang 25e Mô tả không gian một cách trực quan nhất.
Chúng tôi hy vọng những đóng góp nhỏ bé này có thể giúp ích được phần nào
cho cộng đồng và xã hội ngày càng tốt đẹp hơn
1.6 Câu trúc luận văn
Khóa luận có bố cục bao gồm 5 chương:
e Chương 1 — Tổng quan: Giới thiệu tổng quan về bài toán, mục tiêu của
đề tài và các đóng góp chính của luận văn
e Chương 2 — Các nghiên cứu liên quan: Trình bày các ứng dụng tương
tự, các kiến thức nền tang, nghiên cứu liên quan và hướng tiếp cận đề tài
e Chương 3 - Phương pháp thực nghiệm và ứng dụng: Mô tả chi tiết
về ứng dụng và giải quyết bài toán đã đặt ra
e Chương 4 — Thực nghiệm và đánh giá: Trình bày một số đánh giá thực
nghiệm dựa trên những khảo sát đã thu thập.
e Chương 5 — Kết luận: Trình bày kết quả đạt được sau khi xây dựng ứng
dụng và hướng phát triển trong tương lai.
Trang 26Chương 2
Các nghiên cứu liên quan
2.1 Khảo sát các ứng dụng tương tự
Hiện nay để di chuyển trên đường một cách an toàn, cũng đã có rất nhiều
phương pháp cho việc đó như là gậy dò đường hay là chó dẫn đường Đây là một
số phương pháp truyền thống mà nhiều người vẫn thường hay sử dụng Nhưngphương pháp này vẫn tồn đọng một số rủi ro và bất tiện như dùng gậy sẽ không
né được những vật cản phía trên hay việc không kiểm soát được chú chó ,
Trong cuộc sống hiện đại, công nghệ ngày càng phát triển, xu hướng ngày
càng đi theo sự tiện ích của con người Trên thị trường cũng có nhiều nghiên cứu
để hỗ trợ cho người khiếm thị như kính Envision (hình 2.1.1) với một số tiện ích
sau: đọc văn bản, gọi video và mô tả không gian, WeWalk Smart Cane (hình
hướng dẫn ta di chuyển đến một vị trí trên google map an toàn.
Các sản phẩm công nghệ này áp dụng nhưng công nghệ tiên tiến, những kỹ
thuật hiện đại giúp phục vụ những tác vụ hằng ngày của người khiếm thị trở nên
dé dàng hơn Nó đã giúp ích rất nhiều cho cộng đồng người khiếm thị Chính vivậy, nhóm chúng tôi muốn nghiên cứu một giải pháp an toàn cho người khiếm
thị có thể di chuyển trên đường dành cho người đi bộ Một nghiên cứu ý nghĩa
giúp ích phần nào cho cộng đồng và xã hội
Trang 27CB envision | glasses
Hình 2.1.1 Envision Glasses
2.2 Những nghiên cứu liên quan về bài toán
2.2.1 Bài toán phân đoạn ngữ nghĩa trên thời gian thực
2.2.1.1 Giới thiệu về bài toán
Phân đoạn ngữ nghĩa là có nhiệm vụ phân loại từng điểm ảnh vào các lớp
hay gan vào các nhãn đã được định nghĩa trước đó Mục tiêu của bài toán là
Trang 28từ một bức ảnh đầu vào với kích thước nhất định, đưa ra một ma trận có cùng
kích thước với ảnh gốc và mỗi điểm ảnh của ma trận đầu ra ứng với lớp của
điểm ảnh tương ứng ở ảnh gốc được dự đoán Hình [2.2.1] minh hoa dau ra của
bài toán phân đoạn ngữ nghĩa trên ảnh Phân đoạn ngữ nghĩa được ứng dung
nhiều vào cuộc sống để giải quyết những vấn đề phức tạp cần đến sự phân tích
kĩ đến từng chi tiết của ảnh Điển hình như ứng dung thị giác máy tính trên
xe tự hành, phân đoạn ngữ nghĩa sẽ giúp chúng ta phân tích không gian trên
đường, phát hiện đối tượng, các biển báo giao thông đến mức chi tiết ở từng
điểm ảnh Hay đối với những van đề trong y khoa như chan đoán mức độ ung
thư, vì mức độ ác tính của căn bệnh sẽ phụ thuộc vào hình dáng chỉ tiết của khối
u nên phân đoạn ngữ nghĩa sẽ giúp đưa ra hình dạng chính xác của khối u đó
(hình 2.2.2) thông qua ảnh chụp cộng hưởng từ (MRI) hay ảnh chụp X-quang,
ngoài ra còn tăng cường khả năng phân tích ảnh chụp X-quang cho các chuyên
gia Giúp việc chan đoán trở nên chính xác và tiết kiệm thời gian hơn.
oa So oe Se Se Sas 5 er a
Soo 3# s1: s3 3 3 6 SS 55:5 18.23 20 Pt S33 6 SS 55S
a Reiss Sa 2S 2 SSS 55.5: 5
Ef bt d2 S 0 00 10
Ef pS Bes Ee Bag Bab 5.5.5
` 4 + Cấp CẬP, Es ERE hót: hơi lab
3: Plants/Grass ữ3.ãT25ãrĩTTãiï
4: Sidewa
5zBffÌding/Structures BE 98.2850: 220 ah ae ah
Input Semantic Labels
Hình 2.2.1 Sử dụng phan đoạn ngữ nghĩa dé phân uùng các đối tượng
Trước đây, khi chưa có sự xuất hiện của các mạng học sâu (Deep learning), bài
toán phân đoạn hình ảnh sẽ được giải quyết bằng các thuật toán truyền thống
Tuy nhiên, nhược điểm lớn nhất của các thuật toán truyền thống sẽ không thể
phân tích được các đặc trưng về ngữ nghĩa của hình ảnh, những thuật toán đó
chỉ có thể phân vùng các đối tượng bằng những đặc trưng cơ bản như đặc trưng cạnh, đặc trưng màu sắc, nên không thé phân đoạn những hình ảnh có chỉ tiết
phức tạp Với sự xuất hiện của các mạng học sâu, các vấn đề đó đã được giảiquyết Cho đến nay, số lượng và cả chất lượng của các phương pháp phân đoạn
Trang 29Hình 2.2.2 Xác định vi tri va hành dạng khối u não nhờ phân đoạn ngữ nghĩa
ngữ nghĩa ngày càng tăng, hình thể hiện sự ra đời của các phương pháp
qua các mốc thời gian
date [first version on arXiv]
Hình 2.2.3 Móc thời gian ra đời của các phương pháp phân đoạn ngữ nghĩa(2014 - 2019) [23]: FCN, [82]: DeepLabV1, [19]: DeconvNet, [37]: U-Net, [33]:
DeepLabV2, [1ñ]: RefineNet, [17]: PSPNet, [30]: DeepLabV3, [31]:
DeepLabV3+, [21]: HRNetV2
Các phương pháp trên đã có thể giải quyết tốt đối với bài toán phân đoạn ngữ nghĩa trên ảnh tĩnh với độ chính xác cao Tuy nhiên để phục vụ cho nhu cầu phân đoạn ngữ nghĩa trên thời gian thực thì các phương pháp trên chưa thể
đáp ứng được vì thời gian thực thi đối với một ảnh khá lâu Vì vậy, cần một số
Trang 30hướng giải quyết có thể cân bằng được về độ chính xác và tốc độ thực thi để
giải quyết được bài toán phân đoạn ngữ nghĩa trên thời gian thực
2.2.1.2 Giới thiệu về mô hình BiSeNet (Bilateral Segmentation
Spatial information là những thong tin về vị trí của các điểm ảnh trong không
gian Đối với các giải thuật xử lý ảnh truyền thống thì việc trích xuất đặc trưng
sẽ không quan tâm nhiều đến spatial information mà chỉ quan tấm đến các đặctrưng cấp thấp (low-level) như đặc trưng cạnh, màu sắc, hay những đặc trừng
mang tính thống kê của chúng như trung bình (mean), phương sai (variance),
độ lệch chuẩn (standard deviation), Cách làm như thế gọi là không quan tâm
đến spatial information Ngược lại khi sử dụng mang CNN thì các thông tin
về vị trí điểm ảnh trong không gian sẽ được bảo tồn nhờ tính chất bất biến (Location Invariance) của mang CNN Đối với các mạng MLP chang hạn thì với một bức ảnh sẽ được làm phẳng (flatten) thành một vector một chiều sau đó ấp dụng các tổ hợp tuyến tính và phi tuyến tính trong quá trình feed forward để
đưa ra được các kết quả đầu ra Còn đối với CNN thì chúng ta giữ nguyên sự
phân bố các điểm ảnh của dữ liệu đầu vào và áp dụng các bộ lọc lên các điểm ảnh trong không gia gần nhau để trích xuất Vì vậy trên các bộ loc (filters) cũng thể hiện được các Spatial information của partern mà chúng đang thể hiện
(ví dụ các partern khuôn mặt, xe hơi, ) Khi xếp chồng các bộ lọc và thông
qua các phép tính tích chập thì tại mỗi bộ lọc sẽ chỉ ra sự tương quan giữa các
điểm ảnh trên bộ lọc tương ứng với dữ liệu đầu vào Thông qua mạng CNN
cũng làm mat đi một vài spatial information tai các lớp pooling Việc áp dụng
các thao tác pooling (max pooling, average pooling) làm cho mang CNN tránh
được overfit với dữ liệu training đồng thời giúp cải thiện thời gian training Nếu
không có pooling thì một thay đổi nhỏ ở điểm ảnh đầu vào cũng làm ảnh hưởng
đến spatial information của các lớp tiếp theo nên việc mat mát này không cóquá nhiều ảnh hưởng xấu đến mô hình
10
Trang 31Receptive field:
Day là một khái niệm được sử dung trong khi thiết kế mang CNN Khi đưa
qua một bức ảnh qua một lớp tích chập, bộ lọc sẽ trượt qua từng vi trí trên bức
ảnh để tính tích chập giữa phần tương ứng trên ảnh đầu vào và bộ lọc Phần
tương ứng đó được gọi là Receptive field (phần được tô đậm ở ma trận đầu vào
trong hình b.2.4) tức là vùng mà một neural có thể nhìn thấy để đưa ra kết
quả, và ma trận được cho ra bởi quá trình trên được gọi là feature map.
Hình 2.2.4 Quá trình tính tích chập cho một ma trận
Y tưởng chính của mô hình BiSeNet:
Phân đoạn ngữ nghĩa là một bài toán yêu cầu cả yếu tố rich spatial information(hạn chế tối đa việc mất mát các thông tin về mặt không gian) và sizeablereceptive field (tức là đa dạng kích thước về receptive field) Tuy nhiên với cácphương pháp tiếp cận cho bài toán phân đoạn ảnh trên thời gian thực thì thường
đánh đổi spatial information để đạt được tốc độ xử lý cao Điều này khiến cho
độ chính xác của phương pháp giảm sút BiSeNet giải quyết vấn đề đó bằng
cách sử dụng kiến trúc bao gồm hai backbone : Spatial Path và Context Path
Spatial Path với bước nhảy nhỏ để bảo toàn spatial information giúp tìm được
các đặc trưng tốt hơn Context Path với chiến lược downsampling nhanh giúp
thu được da dang receptive field O mỗi phần nay, tác giả giới thiệu Feature
Fusion Module giúp kết hợp các đặc trưng (features) từ kết quả đầu ra của hai
thành phần trước đó Kiến trúc này giúp cân bằng giữa độ chính xác và tốc độ
xử lý Đặc biệt trên tập dit liệu Cityscape họ đạt được 64.8% Mean IOU với tốc
độ 105FPS trên phần cứng NVIDIA Titan XP, nhanh hơn đáng kể so với các
phương pháp trước đó với cùng độ chính xác.
11
Trang 32Các hướng giải quyết:
Cho đến thời điểm kiến trúc được công bố,theo tác giả có các hướng giải
quyết sau cho bài toán phân đoạn ngữ nghĩa trên thời gian thực
Thứ nhất, cách đơn gản nhất là hạn chế kích thước của ảnh đầu vào bằng
cách resize hay crop giúp cho khối lượng tính toán của mô hình giảm đi đáng kể.
Cách làm này đơn giản và hiệu quả, tuy nhiên việc đó cũng khiến ảnh mất đi
các spatial information làm cho mô hình dự đoán sai Các mô hình có sử dung
phương pháp này như Spatial Sparsity hay ICNet HHSI.
Thứ hai, thay vì resize trực tiếp trên ảnh đầu vào thì có thể cắt tỉa trong một
số thành phần của mạng khiến cho số lượng tham số của mạng sẽ được giảm
theo Tuy nhiên việc đó cũng đồng nghĩa với nguy cơ các thành phần bị cắt tỉa
là các thành phần mang spatial information ở ảnh đầu vào
Thứ ba, hướng giải quyết của ENet [2| là ngoài việc sử dụng downsampling ởnhững state đầu của mô hình giúp cho kích trước của đặc trưng trong mạng giảm
đi nhanh chóng khiến cải thiện về tốc độ Về kiến trúc của encoder-decoder, ENetcũng không thiết kế đối xứng như các mạng trước đó mà thiết kế phan encoder
lớn hơn và decoder nhỏ hơn Để làm được điều đó, ENet chấp nhận bỏ một vài downsampling tại các stage cuối của encoder và thay vào đó là upsampling để
thu được kích thước ban đầu Tuy nhiên việc đó cũng hạn chế đi receptive fieldtại các unit ở các state cuối đó dẫn đến độ chính xác không cao, nhất là đối vớicác đối tượng có kích thước lớn
Tóm lại, các phương pháp trên đều đánh đổi khá nhiều độ chính xác để cải
thiện tốc độ
Kiến trúc mô hình BiSeNet:
Spatial Path (SP):
SP được tác giả thiết kế với stride nhỏ ở các lớp tích chập giúp cho việc bảo
toàn spatial information và sinh ra các đặc trưng với độ phân giải cao SP chứa
ba khối như hình Mỗi khối chứa 1 lớp tích chập với stride=2 Tiếp theo
đó là một lớp batch normalization và cuối cùng là một hàm kích hoạt ReLU.Dau ra của mỗi khối trong SP sẽ có kích thước bằng 1/8 lần so với kích thướcđầu vào Nhiệm vụ của nó là encode các rich spatial information thông qua các
feature maps có kích thước lớn.
12
Trang 33Hình 2.2.5 Minh hoa cách thúc hoạt động của các hướng giải quyét trước đó
cho bài toán Bên trái thể hiện crop va resize trên ảnh Bên phải thể hiện cắt
tia một số thành phan trong mang
Context Path (CP):
Trong khi SP được thiết kế để lưu trữ các rich spatial information thì CP được tác giả thiết kế để cung cấp đầy đủ receptive field Như đã nói thì độ đa
dạng về receptive field cũng ảnh hưởng rất lớn đến độ chính xác của mô hình
Để đạt được điều này thì có một số phương pháp sử dụng Pyramid pooling
module (sử dụng các bộ lọc với kích thước receptive field khác nhau xếp chồng
lên nhau như một hình kim tự tháp, các receptive field lớn giúp học được các
bối cảnh tống quát và ngược lại các receptive nhỏ giúp học được các bối cảnhcục bộ) Tuy nhiên các giải pháp phía trên đòi hỏi việc tính toán khá nhiều và
làm cho tốc độ chậm lại Dé khắc phục điều đó thi tác giả đã tận dung mô hình
lightweight (là các pretrained model có số lượng tham số nhỏ như Xception [7|
hay các phiên bản của ResNet ) Sử dụng các mô hình lightweight có thể
downsampling rất nhanh giúp có được các receptive field đa dạng Khi thêmGAP vào cuối các mô hình đó sẽ giúp lưu trữ được các thông tin bối cảnh toàn
cục (global context) nhiều nhất có thể.
Trong CP có chứa một module gọi là Attention refinement module (ARM)
với mục đích học các đặc trưng sau mỗi stage Giống như sơ đồ ở hình 2.2.7] thi
ARM sẽ sử dung GAP để lưu trữ những thong tin về ngữ cảnh và tinh toán
một attention vector sử dụng cho việc học các đặc trưng Module này giúp tỉnh
chỉnh các đặc trưng và các thông tin về bối cảnh được tích luỹ dễ dàng hơn màkhông cần đến việc upsampling khiến cho chi phi tính toán ở phan này không
15
Trang 34Context Path
Hình 2.2.6 Kiến trúc mô hành BiSeNet
đáng kể.
ølobal pool 1x1 conv batch norm
Kết quả của SP thể hiện mức độ chỉ tiết ở low-level (ví dụ như đường biên của các đối tượng, các góc cạnh, ) còn kết quả của CP ở mức high-level thé
14
Trang 35hiện thông tin ngữ cảnh của bức ảnh Các đặc trưng đầu ra của hai phần SP
và CP sẽ được kết hợp lại để đưa ra kết quả dự đoán cuối cùng thông qua một
module gọi là Feature fushion module (FFM).
conv+bn+relu
Hàm độ lỗi:
Ham độ lỗi tác giả sử dung cho mô hình là một hàm độ lỗi kết hợp giữa một
hàm chính và hai hàm phụ trợ để cập nhật tham số trong quá trình huấn luyện.
Tất cả đều là hàm độ lỗi Softmax như công thức bên dưới
loss = x4 >; log (S: = = |
2©
Có một hệ số œ được sử dụng để thể hiện mức độ kết hợp của hàm loss chính
và các hàm loss phụ trợ như công thức trình hình sau
L(X;W) = 1,(X;W) )tare 9 hi (Xi; W)
trong đó J, là hàm độ lỗi chính và /; là các ham độ lỗi phụ trợ tương ứng với
stage thứ i trong CP Ỏ đây tác giả sử dụng K = 3 tức là có 2 hàm độ lỗi phụ
trợ
Các kết quả thí nghiệm:
Có thể thấy chất lượng của mô hình BiSeNet cũng cho kết quả tương đương
với cấu trúc UNet Bảng [2.2.1] 1a mức độ ảnh hưởng của các thành phan trong
mạng Có thể thấy khi kết hợp đủ các thành phần trong mạng thì cho kết quả
mloU tốt nhất là 71.4% Tốc độ của phương pháp này đạt được cũng khá đáng
kể với cùng một kích thước ảnh đầu vào thì tốc độ của phương pháp này đều vượt trội hơn các phương pháp khác kể cả Enet.
15
Trang 36Hình 2.2.9 Minh hoa các kết quả của BiSeNet so uới UNet va Ground truth.
Method Mean IoU(%)
CP 66.01
CP+SP(Sum) 66.82 CP+SP(FFM) 67.42
Trang 37NVIDIA Titan X NVIDIA Titan XP Method 640x360 1280x720 1920x1080 640x360 1280x720 1920x1080
Bang 2.2.2 Bang so sánh vé tốc độ xử ly của BiSeNet uới SegNet va ENet trên
phan cứng NVIDIA Titan X va NVIDIA Titan XP
Hai năm sau khi công bố mô hình đầu tiên, nhóm tác giả đã công bốmột mô hình mới có kiến trúc backbone vẫn sử dụng Bilateral Network với
3 thành phần chính : Detail Branch, Semantic Branch và Aggregation Layer
(hình 2.2.10).Trong khung màu tim là 2 kiến trúc backbone để thu thập thông
tin chủ yếu của mô hình, khung màu cam là phần tổng hợp các thông tin có được
từ trước để cho ra kết quả cuối cùng, phần màu vàng là booster part để cải thiện
độ chính xác cho việc phân đoạn Hai phần chính trong khung màu tím là DetailBranch (những khối màu xanh dương) và Semantic Branch (những khối mauxanh lá) Ba stages trong Detail Branch có Œ¡,C›,Cs là số channel tương ứngcủa từng stage Những khối xanh lá thuộc Semantic Branch, những stage này
có thé được làm giảm tham số (lightweight) bởi hệ số A (A < 1) Stage cuối của
Semantic Branch là đầu ra của Context Embedding Block Ở phần Aggregation
Layer mô hình được thiết kế một bilateral aggregation layer để tổng hợp đặc
trưng cho đầu ra cuối cùng Down là downsampling, up là upsampling và ¿ làhàm Sigmoid Bên cạnh đó, một số segmentation head được thiết kế ở booster
part để giúp cải thiện hiệu quả phân đoạn.
Bang [2.2.3] cho biết chi tiết về kiến trúc từng stage trong Detail Branch và
Semantic Branch Mỗi stage S bao gồm một hoặc nhiều operation opr (ví dụ
như Conv2d, Stem , GE, CE Mỗi operation có một kích thước kernel k, stride
s va channels c, số lần lặp lai r Hệ số e ở Semantic Branch dùng dé nhân rộng
so channel của operation đó Các thông số ở bảng |2.2.3| sử dụng hệ số A = 1/4.
Conv2d là lớp tích chập theo sau là một lớp batch normalization và một hàm
kích hoạt ReLU Stem là khối stem hình |2.2.12] GE là lớp gather-and-expansion
hình |2.2.13| (c) CE là khối context embedding hình |2.2.12
Detail Branch:
Deatail Branch (DB) hay còn được gọi là Spatial Path ở phiên bản trước có
17
Trang 38Stage Detail Branch Semantic Branch Output Size
opr kc $s T | opr kc es T Input 512x1024
nhiệm vụ lưu trữ các thong tin low-level về không gian cục bộ Để có được nhiều
thông tin nhất về không gian cục bộ, kiến trúc mang CNN ở đây được thiết kế
nông (shallow) với stride nhỏ cùng với channel cao Vì nhiều channel nên ở đây
nếu sử dụng những cấu trúc residual sẽ tiêu hao nhiều tài nguyên bộ nhớhơn Vì vậy, ở đây tác giả sẽ tuân thủ kiến trúc của các mạng VGG [29]
Semantic Branch:
Semantic Branch (SB) hay còn được gọi là Context Path ở phiên ban trước
có nhiệm vu lưu trữ các thông tin về ngữ nghĩa hay bối cảnh Ngược lại với DBthì mạng ở đây được thiết kế với channel tỉ lệ với channel ở Detail Branch theo
hệ số A(A<1) Tương tự phiên bản trước thì Semantic Branch có thé là bat kỳ
mô hình lightweght (như Xception [7], MobileNet [35], ShuffleNet [39], ) GAP
cũng được sử dung để lưu trữ lại các thong tin về ngữ cảnh hay các đối tượng
lớn.
Tác giả sử dụng khối Stem (hình (a)) tại stage đầu tiên Trong khối
này sử dụng 2 nhánh khác nhau để thực hiện downsample Sau đó đầu ra của
cả 2 nhánh được nối (concatenated) với nhau để có được đầu ra của stage Kiến trúc này có chi phí tính toán thấp và thể hiện được nhiều đặc trưng mà SB cần
lấy
18
Trang 39Hình 2.2.11 Kết quả đầu ra của Detail Branch qua từng stage.
(stride = 2)
BN ReLu (Hid x Wid x C)
(b) Context Embedding Block
Hình 2.2.12 Kiến trúc khối Stem (a) va khói Context Embedding (b)
Ở stage cuối của SB sử dung khối Context Embedding (hình |2.2.12] (b)) để
tổng hợp được kết quả đầu ra của SB Khối này sử dung GAP va residual
connection [28] để lưu trữ thong tin về ngữ cảnh toàn cục (global context).
Lớp Gather-and-Expansion (hình |2.2.13|(b)) thường bao gồm: một tích chập
19
Trang 40Ix 1 Conv H 3x3 ’Sim : xe Cony (Hx Wx cy) | (stride = 2)
BN ReLu6 : BN ReLu 3x 3 DWConv q
HxW x6C) H yi xWxC) (stride = 2) EN
3x3 DWConv ¡ |3x3 DWCony mà xWj#x “ 1x 1 Conv
BN ReLu6 : BN BN (H x W x 6C) i JxW x60) 3x3 DWConv :
3x3 để tổng hợp hiệu qua các đặc trưng và mở rộng sang một không gian
có số channel lớn hơn; một tích chập theo chiều sâu (DWConv - Depth-WiseConvolutional) 3x3 được thực hiện trên từng channel của đặc trưng đầu ra đãđược mở rộng; một lớp tích chập 1x1 cuối có tác dụng như một máy chiếu gomcác đặc trưng đầu ra của lớp tích chập theo chiều sâu trước đó vào một khônggian đặc trưng có số channel nhỏ hơn Lớp Gather-and-Expansion của tác giả
đề xuất thêm một lớp tích chập theo chiều sâu 3x3 với stride = 2 để đáp ứng
nhu cầu đa dạng về mặt kích thước Receptive field của SB
Bilateral Guided Aggregation:
Có nhiều cách để kết hợp hai đặc trưng từ đầu ra của hai thành phan DB
và SB như cộng element-wise và nối (concatenation) Tuy nhiên, đầu ra của haithành phần khác nhau hoàn toàn về kích thước và tính chất của đặc trưng DBcho đặc trưng low-level và SB cho đặc trưng high-level Nếu chỉ sử dụng những
phép kết hợp đơn giản sẽ không những cho ra kết quả xấu mà còn khó cho việc
tối ưu Theo kiến trúc (hình b.2.14) lớp Bilateral Guided Aggregation sẽ tổng
hợp những thông tin từ đầu ra mỗi nhánh, sau đó bổ sung thông tin còn thiếu lẫn nhau Cách thức này sẽ giúp thong tin giữa hai nhánh bổ trợ lan nhau bằng
20