Nhìn nhận được tầm quan trọng của phương thức P.O.D nêntrong luận văn này sẽ tập trung nghiên cứu ứng dụng các mô hình phân loạiảnh và nhận diện ký tự quang học để hỗ trợ tra cứu hậu kiể
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM
2 Thư ký: TS Phan Trọng Nhân
3 Phản biện 1: TS Trương Tuấn Anh
4 Phản biện 2: TS Trần Thanh Tùng
5 Ủy viên: TS Nguyễn Minh Hải (VNG)
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
KỸ THUẬT MÁY TÍNH
PGS.TS Võ Thị Ngọc Châu
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Vũ Phương Thảo MSHV: 2070430
Ngày, tháng, năm sinh: 17/07/1993 Nơi sinh: TP.HCM
Chuyên ngành: Khoa học Máy Tính Mã số : 8480101
I TÊN ĐỀ TÀI: ỨNG DỤNG COMPUTER VISION TRONG BÀI TOÁN PROOF
OF DELIVERY
(APPLICATION OF COMPUTER VISION IN PROOF OF DELIVERY
PROBLEM)
II NHIỆM VỤ VÀ NỘI DUNG:
- Nhiệm vụ của luận văn: Nghiên cứu và khảo sát các mô hình và đề xuất phương pháp phù hợp cho việc phân loại hình ảnh và trích xuất thông tin hỗ trợ hậu kiểm cho quá trình giao nhận hàng hoá.
- Nội dung của luận văn sẽ bao gồm:
● Giới thiệu đề tài và nhiệm vụ của luận văn.
● Cơ sở lý thuyết, các công trình nghiên cứu liên quan hỗ trợ cho quá trình thực hiện luận văn.
● Đề xuất quy trình phù hợp và đưa ra các kết luận đánh giá, định hướng mở rộng cho luận văn.
III NGÀY GIAO NHIỆM VỤ : 04/09/2023
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2023
V CÁN BỘ HƯỚNG DẪN: PGS.TS Quản Thành Thơ, TS Nguyễn Tiến Thịnh
Trang 4LỜI CẢM ƠN
Sau hơn bốn tháng triển khai thực hiện nghiên cứu, luận văn tốt nghiệpnày được hoàn thành tốt đẹp Đây không chỉ là công sức của bản thân màcòn có sự giúp đỡ, hỗ trợ tích cực từ nhiều cá nhân và tập thể
Đầu tiên và quan trọng nhất, em xin gửi lời cảm ơn chân thành đến giảng
viên hướng dẫn trực tiếp của em, thầy PGS.TS Quản Thành Thơ Thầy là
người định hướng chính, cung cấp tài liệu cũng như theo dõi quá trình thựchiện đề tài và hỗ trợ khi em gặp khó khăn Nhờ những ý kiến đóng góp củathầy đã giúp em cải thiện cách đề xuất và giải quyết vấn đề của bài toán mộtcách hiệu quả hơn
Em xin được gửi lời cảm ơn đến thầy TS Nguyễn Tiến Thịnh, thầy đã
định hướng, hỗ trợ em từ giai đoạn Đề cương luận văn, cũng như đưa ranhững góp ý quý báu để em hoàn thiện hơn Luận văn tốt nghiệp này
Em xin được tỏ lòng biết ơn sự tận tình dạy dỗ, giúp đỡ của quý thầy côtrong khoa Khoa học và Kỹ thuật Máy tính nói riêng cũng như trường Đạihọc Bách khoa TP Hồ Chí Minh nói chung Những kiến thức nhận được từquý thầy cô là vô cũng bổ ích và quý giá, là nền tảng để cho em có thể hoànthành luận văn tốt nghiệp này
Em cũng xin được gửi lời cảm ơn đến Công ty Cổ Phần Dịch Vụ TứcThời đã tạo điều kiện, hỗ trợ cho em trong quá trình học tập và thực hiệnluận văn tốt nghiệp thạc sĩ
Cuối cùng, em muốn gửi lời cảm ơn đến gia đình, người thân, bạn bè,những người đã quan tâm, động viên, giúp đỡ cả về thể chất lẫn tinh thần để
em có đủ nghị lực, sức khỏe hoàn thành tốt luận văn tốt nghiệp này
Với lòng biết ơn chân thành, em xin gửi lời chúc sức khỏe và những lờichúc tốt đẹp nhất đến các quý thầy cô trong Khoa Khoa học và Kỹ thuậtMáy tính - Trường Đại Học Bách Khoa Đại Học Quốc Gia Thành phố HồChí Minh
TP Hồ Chí Minh, ngày 18 tháng 12 năm 2023
Trang 5TÓM TẮT LUẬN VĂN
Proof of Delivery (P.O.D)là phương thức cung cấp sự xác nhận rằng một
đơn đặt hàng đã được chuyển đến thành công tại điểm đến dự kiến P.O.D
không chỉ phổ biến trong lĩnh vực thương mại điện tử, giao hàng, giao đồ
ăn, mà còn được biết đến như là một giải pháp để chứng minh rằng một
dịch vụ đã được hoàn thành P.O.D thường là một văn bản xác nhận đã nhận
được đơn đặt hàng với số tiền cụ thể vào ngày, giờ cụ thể, tên của người đãnhận sản phẩm và các chi tiết vận chuyển liên quan khác thông qua hình ảnh
chụp xác nhận Đối với ngành logistic, P.O.D trở thành một phần quan trọng
của hệ thống phân phối, của quy trình giao hàng với vai trò như một biênlai chứng minh rằng việc giao hàng đã được thực hiện, đồng thời hỗ trợ xác
định rằng gói hàng đã được giao tận tay cho khách hàng P.O.D sử dụng để
ngăn chặn các hành vi không trung thực đã được bằng cách tra cứu thông tinnhanh chóng phản hồi, chứng minh cho khách hàng rằng gói hàng đã được
giao tận tay Nhìn nhận được tầm quan trọng của phương thức P.O.D nên
trong luận văn này sẽ tập trung nghiên cứu ứng dụng các mô hình phân loạiảnh và nhận diện ký tự quang học để hỗ trợ tra cứu hậu kiểm minh bạch choquá trình giao hàng khi phát sinh sự cố hoặc tranh chấp
Từ các nhãn phân loại ảnh hỗ trợ cho quá trình tra cứu và hậu kiểm baogồm:
- Hình ảnh thông tin đơn hàng có chữ ký khách hàng
- Hình ảnh thông tin đơn hàng không có chữ kỹ khách hàng
- Hình ảnh thông tin đơn hàng, nhưng không chính xác mã đơn hàng
- Không có thông tin đơn hàng, hình ảnh chụp địa chỉ - khu vực giaohàng
- Không có thông tin đơn hàng, hình ảnh chụp khách hàng
- Không có thông tin đơn hàng, hình ảnh chụp không liên quan
Học viên đề xuất sử dụng các mô hình phân loại ảnh và nhận diện ký tựquan học phù hợp để trích xuất thông tin tối thiểu cần thiết hỗ trợ hậu kiểmcho quá trình giao nhận hàng hoá
Trang 6ABSTRACT OF DISSERTATION
Proof of Delivery (P.O.D)is a method of providing confirmation that an
order has been successfully delivered to the intended destination P.O.D is
not only popular in the e-commerce, delivery, and food delivery industries,but also known as a solution to prove that a service has been completed
P.O.D is usually a confirmation document that the order has been receivedwith value on date and time, the name of the receiver, and other details
through confirmation images For the logistics industry, P.O.D has become
an important part of the distribution system of the delivery process, ing that the delivery has been made, assuring that the package has been in
prov-the customer’s hands P.O.D is also a method to prevent dishonest feedback
information by proving that the package has been delivered With the
im-portance of the P.O.D method, this thesis is researching how to apply image
classification models and optical character recognition to support ent verification for the delivery process in case of incidents or disputes.The image classification labels that support the verification process in-clude:
transpar Images of order information with customer signature
- Images of order information without customer signature
- Images of order information, but with incorrect tracking number
- No order information, images of delivery address area
- No order information, images of customers
- No order information, unrelated images
The proposes efficient image classification models and optical characterrecognition to extract the necessary minimum information to support post-delivery verification in the delivery process
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan luận văn tốt nghiệp: “ỨNG DỤNG COMPUTER SION TRONG BÀI TOÁN PROOF OF DELIVERY” là công trình nghiêncứu của bản thân Những phần tài liệu được sử dụng trong luận văn đã được
VI-nêu rõ trong phần Tài liệu tham khảo Các số liệu, kết quả trình bày trong
luận văn là hoàn toàn trung thực, nếu có sai sót tôi xin chịu hoàn toàn tráchnhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra
Học viên
Vũ Phương Thảo
Trang 8Mục lục
1.1 Giới thiệu chung 1
1.1.1 Proof of Delivery (P.O.D) 1
1.1.2 Computer Vision 4
1.1.3 Phân loại ảnh (Image classification) 8
1.1.4 Nhận dạng kí tự (Optical character recognition) 9
1.2 Tổng quan bài toán 11
1.3 Mục tiêu và nhiệm vụ của luận văn 13
1.4 Giới hạn đề tài 16
1.5 Đối tượng nghiên cứu 17
1.6 Đóng góp của luận văn 17
1.7 Tóm tắt nội dung 18
2 Cơ sở lý thuyết 20 2.1 Tiền xử lý ảnh 20
2.1.1 Vai trò của tiền xử lý ảnh 20
2.1.2 Một số phương thức tiền xử lý ảnh 21
2.2 Mạng tích chập Convolutional Neural Network (CNN) 25
2.2.1 Học sâu (Deep Learing) 25
2.2.2 Kiến trúc và tính chất mạng tích chập Convolutional Neural Network (CNN) 26
2.2.3 Phương pháp Transfer Learning 32
3 Các công trình nghiên cứu liên quan 35 3.1 Các kiến trúc mô hình deep learning hỗ trợ phân loại ảnh 35
3.1.1 Kiến trúc mô hình InceptionV3 35
Trang 93.1.2 Kiến trúc mô hình ResNet152V2 39
3.1.3 Kiến trúc mô hình InceptionResNetV2 40
3.1.4 Kiến trúc mô hình Xception 44
3.1.5 Kiến trúc mô hình DenseNet201 45
3.1.6 Kiến trúc mô hình MobileNetV2 46
3.1.7 Kiến trúc mô hình EfficientNetB7 47
3.2 Mô hình nhận diện trích xuất thông tin ảnh CRAFT (Char-acter Region Awareness for Text Detection) 52
4 Mô hình đề xuất và quy trình ứng dụng 54 4.1 Tiền xử lý và cân bằng dữ liệu 54
4.1.1 Kiểm tra sự phù hợp về định dạng của dữ liệu ảnh 54
4.1.2 Kỹ thuật tăng cường dữ liệu (Data Augmentation) 55
4.2 So sánh khảo sát đánh giá và đề xuất mô hình phân loại ảnh 58 4.2.1 Tập dữ liệu sử dụng huấn luyện 58
4.2.2 Các thông số huấn luyện 59
4.2.3 Phương pháp đánh giá 59
4.2.4 So sánh các kết quả huấn luyện mô hình, đánh giá và lựa chọn 60
4.3 Quy trình ứng dụng đề xuất và tính khả thi 80
5 Kết luận 82 5.1 Kết quả đạt được 82
5.2 Hạn chế và vấn đề tồn đọng 83
5.3 Hướng cải thiện 84
Trang 10Danh sách hình vẽ
1.1 Ví dụ về thông tin yêu cầu cho một P.O.D 2
1.2 a) Thị giác của con người có thể tinh tế nắm bắt được độ mờ và bóng trong bức ảnh bông hoa và phân loại ngay lặp tức hình dạng của các cánh hoa b) Nhận diện gương mặt cho từng cá nhân trong một ảnh chụp tập thể 5
1.3 a) Ảo ảnh Muller-Lyer [1], trong đó độ dài của hai đường nằm ngang là như nhau, nhưng cảm giác mắt nhìn lại khác nhau do hiệu ứng luật xa gần b) Hiệu ứng bóng bàn cờ [2], ô vuông được đánh dấu A và B có cùng cường độ màu, nhưng ô vuông A có màu tối hơn, ô vuông B có màu sáng hơn c) Ảo ảnh Hermann [3], Di chuyển mắt qua hình vẽ, có sự xuất hiện của các điểm màu xám tại các giao điểm d) Hiệu ứng pop-out [4], Đếm các chữ x màu đỏ ở ma trận bên trái dễ dàng hơn bên phải 6
1.4 Quy trình phân loại hình ảnh và nhận diện ký tự quang học hỗ trợ hậu kiểm cho quá trình giao hàng 13
1.5 Một vài ví dụ về hình ảnh của tập dữ liệu 15
2.1 Quá trình tổng hợp của một mạng CNN [5] 30
2.2 Mốc thời gian xuất hiện của các mạng CNN 31
2.3 Đồ thị so sánh hiệu suất mô hình trước và sau khi áp dụng Transfer Learning [6] 33
3.1 Mốc thời gian giới thiệu các kiến trúc mô hình deep learning hỗ trợ phân loại ảnh 35
Trang 113.2 Kiến trúc Inception module thay thế kích thước tích chập
5×5 bằng kích thước 3×3, dựa vào nguyên tắc thứ 3 373.3 Kiến trúc Inception module sau khi được phân tích với với
n×n tích chập, chọn n = 7 trên nền lưới dữ liệu 17×17 383.4 Kiến trúc Inception module với các bộ lọc 1×1 mở rộng trên
nền lưới dữ liệu 8×8 với các đặc trưng đã được cô đọng trích
xuất 383.5 Kiến trúc cải thiện cho mạng học sâu residual được đề xuất
bởi Kaiming He cùng cộng sự [7] 403.6 Kiến trúc stem của mô hình InceptionResNetV2 423.7 Các loại kiến trúc inception-resnet A, B, C của mô hình
InceptionResNetV2 433.8 Các loại kiến trúc reduction A, B của mô hình Inception-
ResNetV2 443.9 Cải thiện các kiến trúc Inception bằng việc depthwise seper-
able các đơn vị tích chập 453.10 Mô phỏng cấu trúc của một Dense Block và Transition Layer
giữa các dense block 463.11 So sánh độ chính xác (Accurancy), Parameter và FLOPS
của mô hình EfficientNetB7 với các mô hình scale up khác [8] 493.12 Các thông số kích thước (Size), độ chính xác (Top-1 Ac-
curancy, Top-5 Accurancy), thông số (Parameter, Depth),
hiệu suất (ms thực thi trên CPU và GPU) của các kiến trúc
mô hình InceptionV3, ResNet152V2, InceptionResNetV2,
Xception, DenseNet201, MobileNetV2, EfficientNetB7 503.13 Dự đoán heatmap và kết quả nhận diện ký tự với các hình
dáng khác nhau 533.14 Quy trình huấn luyện đề xuất của mô hình CRAFT [9] 53
Trang 124.1 Cấu trúc các phần khác nhau của một file ảnh định dạng
JPG[10] 554.2 Sự phân bố ảnh của các nhãn dữ liệu sử dụng cho quá trình
huần luyện 564.3 Ví dụ minh hoạ cho các kỹ thuật tăng cường dữ liệu sử dụng
Ngẫu nhiên lật trái - phải kết hợp điểu chỉnh nền màu 57
4.4 Ví dụ minh hoạ cho các kỹ thuật tăng cường dữ liệu sử dụng
Ngẫu nhiên lật trên - dưới kết hợp điểu chỉnh nền màu 57
4.5 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc InceptionV3 cho mô hình cl1 với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 614.6 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc ResNet152V2 cho mô hình cl1 với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 614.7 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc InceptionResNetV2 cho mô hình cl1 với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 624.8 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc Xception cho mô hình cl1 với các trường
hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 624.9 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc DenseNet201 cho mô hình cl1 với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 634.10 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc MobileNetV2 cho mô hình cl1 với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 63
Trang 134.11 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc EfficientNetB7 cho mô hình cl1 với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 644.12 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc InceptionV3 cho mô hình cl2_top với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 664.13 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc ResNet152V2 cho mô hình cl2_top với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 674.14 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và
Val Loss) của kiến trúc InceptionResNetV2 cho mô hình
cl2_top với các trường hợp: freeze tất cả layer, unfreeze 20,
15, 10, 5 layer 674.15 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc Xception cho mô hình cl2_top với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 684.16 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc DenseNet201 cho mô hình cl2_top với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 684.17 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc MobileNetV2 cho mô hình cl2_top với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 694.18 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc EfficientNetB7 cho mô hình cl2_top với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 694.19 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc InceptionV3 cho mô hình cl2_bot với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 71
Trang 144.20 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc ResNet152V2 cho mô hình cl2_bot với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 724.21 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và
Val Loss) của kiến trúc InceptionResNetV2 cho mô hình
cl2_bot với các trường hợp: freeze tất cả layer, unfreeze 20,
15, 10, 5 layer 724.22 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc Xception cho mô hình cl2_bot với các
trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 734.23 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc DenseNet201 cho mô hình cl2_bot với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 734.24 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc MobileNetV2 cho mô hình cl2_bot với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 744.25 Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val
Loss) của kiến trúc EfficientNetB7 cho mô hình cl2_bot với
các trường hợp: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer 744.26 Nhận diện kí tự theo mô hình truyền thống 784.27 a) Nhận diện kí tự theo cụm/nhóm b) Trích xuất cụm kí tự
một các linh động và tối ưu 794.28 Đề xuất quy trình ứng dụng sẽ triển khai của luận văn 804.29 Giao diện truy vấn dữ liệu kiểm tra thông tin POD của đơn
hàng 81
Trang 15Danh sách bảng
1.1 Thuộc tính, kiểu dữ liệu, ý nghĩa của tập dữ liệu đầu vào 12
3.1 Phác thảo kiến trúc InceptionV3 Kích thước đầu ra của mỗi
module là kích thước đầu vào của phần tiếp theo [11] 373.2 Phác thảo kiến trúc InceptionResNetV2 Kích thước đầu ra
của mỗi module là kích thước đầu vào của phần tiếp theo [12] 413.3 Phác thảo kiến trúc DenseNet201 Kích thước đầu ra của
mỗi module là kích thước đầu vào của phần tiếp theo [13] 463.4 Phác thảo kiến trúc MobileNetV2 Kích thước đầu ra của
mỗi module là kích thước đầu vào của phần tiếp theo [14] 473.5 Mô phỏng cách thức truyền dữ liệu giữa các block residual
bottleneck từ k đến k′ channel, với stride s và hệ số nhân mở
rộng là t 473.6 Đặc điểm nổi (Highlight keywork) gợi nhớ của các mô hình
InceptionV3, ResNet152V2, InceptionResNetV2, Xception,
DenseNet201, MobileNetV2, EfficientNetB7 51
4.1 Kết quả huấn luyện khảo sát cho việc phân loại ảnh có thông
tin vận chuyển đơn hàng và không có đơn hàng với các
kiến trúc InceptionV3, ResNet152V2, InceptionResNetV2,
Xception, DenseNet201, MobileNetV2, EfficientNetB7 sử
dụng kỹ thuật Transfer Learning của tập dữ liệu ảnh
ima-genet kết hợp cùng phương pháp unfreeze 5 layer cuối của
kiến trúc mạng 65
Trang 164.2 Kết quả huấn luyện khảo sát cho việc phân loại ảnh Đạt
và Thiếu chữ ký và họ tên với các kiến trúc InceptionV3,
ResNet152V2, InceptionResNetV2, Xception, DenseNet201,MobileNetV2, EfficientNetB7 sử dụng kỹ thuật Transfer Learn-ing của tập dữ liệu ảnh imagenet kết hợp cùng phương pháp
unfreeze 5 layer cuối của kiến trúc mạng 704.3 Kết quả huấn luyện khảo sát cho việc phân loại ảnh Chụp
khách hàng, Chụp địa chỉ và Không liên quan với các
kiến trúc InceptionV3, ResNet152V2, InceptionResNetV2,
Xception, DenseNet201, MobileNetV2, EfficientNetB7 sử
dụng kỹ thuật Transfer Learning của tập dữ liệu ảnh
im-agenet kết hợp cùng phương pháp unfreeze lần lượt 5, 10
layer cuối của kiến trúc mạng 76
Trang 17Chương 1
Giới thiệu đề tài
Trong chương này, học viên xin biện luận về lý do thực hiện đề tài, giới thiệu phương thức Proof of Delivery (P.O.D) và khái niệm Computer Vision, làm rõ mục tiêu và giới hạn phạm vi của đề tài Đồng thời trình bày những đóng góp đã đạt được cùng nội dung tóm tắt của các chương luận văn
1.1 Giới thiệu chung
1.1.1 Proof of Delivery (P.O.D)
P.O.D là phương thức cung cấp sự xác nhận rằng một đơn đặt hàng đãđược chuyển đến thành công tại điểm đến dự kiến P.O.D không chỉ phổ biếntrong lĩnh vực thương mại điện tử, giao hàng, giao đồ ăn, mà còn được biếtđến như là một giải pháp để chứng minh rằng một dịch vụ đã được hoànthành P.O.D bao gồm một văn bản xác nhận đã nhận được đơn đặt hàng với
số tiền cụ thể vào ngày, giờ cụ thể, tên của người đã nhận sản phẩm và cácchi tiết vận chuyển khác như hình 1.1 Về cơ bản, P.O.D sẽ như là một tàiliệu chính thức nơi khách hàng xác nhận việc nhận đơn đặt hàng hoặc bưukiện [15]
Trang 18Hình 1.1: Ví dụ về thông tin yêu cầu cho một P.O.D.
P.O.D có thể được thực hiện thông qua hai dạng:
– P.O.D paper: là một tài liệu vật lý mà khách hàng điền thông tin và
ký xác nhận sau khi sản phẩm hoặc dịch vụ được giao đến hoặc đượchoàn thành
– P.O.D electronic: các bằng chứng điện tử lưu trữ chứng minh sản
phẩm hoặc dịch vụ được giao đến tay khách hàng Với P.O.D tronic, khách hàng cung cấp chữ ký điện tử khi sản phẩm được giaohoặc dịch vụ được hoàn thành Đặc biệt trong mô hình giao nhận hànghóa, nếu khách hàng không ở nhà hoặc mong muốn tương tác khôngtiếp xúc, người giao hàng sẽ chụp ảnh với các điều kiện kèm theo đểminh chứng việc giao nhận đã hoàn thành
elec-Với P.O.D electronic, khách hàng cung cấp chữ ký điện tử khi sản phẩmđược giao hoặc dịch vụ được hoàn thành Đặc biệt trong mô hình giao nhậnhàng hóa, nếu khách hàng không ở nhà hoặc mong muốn tương tác khôngtiếp xúc, người giao hàng sẽ chụp ảnh với các điều kiện kèm theo để minh
Trang 19chứng việc giao nhận đã hoàn thành như Đối với ngành logistic, P.O.D trởthành một phần quan trọng của hệ thống phân phối, của quy trình giao hàngvới vai trò như một biên lai chứng minh rằng việc giao hàng đã được thựchiện, đồng thời hỗ trợ xác định rằng gói hàng đã được giao tận tay cho kháchhàng P.O.D như là một giải pháp tường minh hỗ trợ cho doanh nghiệp, giúpbảo vệ đồng thời doanh nghiệp và khách hàng khỏi những hành vi lừa đảo,chiếm đoạt Bên cạnh đó P.O.D đồng hành và thân cận hỗ trợ minh bạch uytín cho doanh nghiệp trước những trường hợp khách hàng không trung thực,đưa ra than phiền hoặc bình luận không chính xác rằng chưa nhận được hànghoá, dịch vụ P.O.D lúc này được sử dụng để ngăn chặn các hành vi khôngtrung thực đã được đề cập bằng cách nhanh chóng phản hồi, chứng minhcho khách hàng rằng gói hàng đã được giao tận tay Đồng thời trước khi xácnhận P.O.D khách hàng cần phải kiểm tra hàng hoá có thiếu sót, hư hại gìkhông để đưa ra các phản hồi liên quan đến trách nhiệm pháp lý và đền bùcho phía người bán hàng trước khi chấp nhận P.O.D và hoá đơn thanh toán.Như vậy lợi ích cho việc sử dụng P.O.D sẽ bao gồm:
– Hạn chế các trường hợp gian lận phát sinh từ phía khách hàng hoặcngười vận chuyển
– Hạn chế việc thanh toán trễ và thanh toán trùng lặp
– Giảm thiểu các tranh chấp, không hài lòng, cải thiện trải nghiệm củakhách hàng khi giao nhận hàng hoá
– Giảm thiểu các thủ tục giấy tờ không cần thiết
– Hỗ trợ theo dõi hành trình giao hàng và cải thiện hiệu suất giao hàng.Cùng với sự phát triển và đa dạng các loại hình dịch vụ, P.O.D cũng tồn tạinhiều dưới nhiều cách thức khác nhau như:
Trang 20– Paper Invoice: Cách thức phổ biến nhất chứng minh giao hàng, khi
nhận sản phẩm người nhận phải ký vào giấy xác nhận
– e-P.O.D: Cách thức điện tử chứng minh giao hàng, thường sẽ bao gồm
các tính năng bổ sung như: theo dõi vị trí, cập nhật trạng thái theo thờigian thực Các tổ chức hoặc người vận chuyển thường phải mang theothiết bị và yêu cầu người nhận ký xác nhận điện tử khi đã nhận sảnphẩm e-P.O.D vượt trội hơn so với Paper Invoice với ba ưu điểm chínhnhư sau:
+ Quy trình thường chặt chẽ, được sắp xếp hợp lý
+ Độ chính xác cao
+ Tốc độ phản hồi - đáp ứng nhanh
– Claused P.O.D: Cách thức này sẽ được áp dụng cho trường hợp hàng
hoá bị hư hại hoặc giao nhận không đúng với tiêu chuẩn
– P.O.D Made-to-Order: Cách thức này được áp dụng khi sử dụng dịch
vụ logistic của một tổ chức thứ 3 chẳng hạn như U.P.S, FedEx, DHL
và các hãng vận chuyển lớn khác Thay vì chỉ sử dụng Paper Invoicenhư truyền thống thì các cơ quan vận chuyển sẽ sử dụng một bảngPaper Invoice đính kèm với các thông tin chi tiết dưới dạng softcopy
và gửi trực đến email của khách hàng thông qua đường dẫn liên kết
1.1.2 Computer Vision
Chúng ta thường cảm nhận thế giới xung quanh dưới dạng cấu trúc bachiều Khi nhìn vào một chiếc bình hoa trên bàn bên cạnh, ta có thể nhậnthấy và mô tả được hình dạng cũng như độ mờ của từng cánh hoa thông qua
tổ hợp hiệu ứng ánh sáng và bóng mờ hiển thị trên bề mặt, từ đó dễ dàng
Trang 21hình dung và bóc tách từng bông hoa, cánh hoa ra khỏi nền của cảnh nhưhình 1.2a Hoặc khi nhìn vào một ảnh chụp nhóm bạn, chúng ta có thể dễdàng đếm, đặt tên cho tất cả những người trong ảnh và thậm chí đoán trướccảm xúc của họ thông qua nét mặt như hình 1.2b.
Hình 1.2: a) Thị giác của con người có thể tinh tế nắm bắt được độ mờ vàbóng trong bức ảnh bông hoa và phân loại ngay lặp tức hình dạng của các
cánh hoa
b) Nhận diện gương mặt cho từng cá nhân trong một ảnh chụp tập thể
Bên cạnh đó các nhà tâm lý học tri giác cũng đã dành nhiều thập kỷ để
cố gắng hiểu cách thức hoạt động của hệ thống thị giác, bằng cách tạo ra cáchình ảnh gây ảo giác quang học nhằm phát hiện ra một số nguyên tắc thú vị
về thị giác con người tham khảo hình 1.3a, hình 1.3b, hình 1.3c, hình 1.3d.Tuy nhiên việc đưa ra một cách thức hoàn chỉnh nhất để giải thích cho tất
cả các hiện tượng liên quan đến hệ thống thị giác vẫn còn khá khó nắm bắt[16] [17] [18] [19] [20]
Trang 22b) Hiệu ứng bóng bàn cờ [2], ô vuông được đánh dấu A và B có cùng cường
độ màu, nhưng ô vuông A có màu tối hơn, ô vuông B có màu sáng hơn.c) Ảo ảnh Hermann [3], Di chuyển mắt qua hình vẽ, có sự xuất hiện của các
điểm màu xám tại các giao điểm
d) Hiệu ứng pop-out [4], Đếm các chữ x màu đỏ ở ma trận bên trái dễ dàng
hơn bên phải
Trong khái niệm Computer Vision chúng ta sẽ dựa trên quan sát một hay
nhiều ảnh, sau đó tiến hành nhận diện các thuộc tính liên quan như: hình
Trang 23dạng, độ sáng tối, phân bố màu sắc Đối với hệ thống thị giác của con người
và động vật thì công việc này khá là dễ dàng, trong khi đó giải thuật liênquan lại khác phức tạp Computer Vision ra đời như là một lĩnh vực baogồm các nghiên cứu về phương pháp thu nhận, xử lý, trích xuất thông tin từhình ảnh kỹ thuật số hoặc dữ liệu liên quan khác có thể tồn tại ở các dạngnhư: chuỗi video, các cảnh từ đa camera, hay hình ảnh đa chiều từ máy quét
y học Sau đó đưa ra các tính toán phân tích nhằm cho ra các bộ thông tin số,với mục tiêu nhận diện, phân loại và hỗ trợ việc đưa ra quyết định ComputerVision ngày nay đã phát triển và đang được sử dụng trong rất nhiều lĩnh vựcnhư:
– Nhận dạng ký tự quang học [21]: chuyển các hình ảnh của chữ viết
tay hoặc chữ đánh máy thành các văn bản tài liệu, tự động nhận dạngbiển số xe
– Ngành Bán lẻ [22]: nhận diện đối tượng cho việc tự động kiểm tra và
bổ sung sản phẩm cho kệ hàng hoá
– Kho hàng hóa : tự động đóng gói hàng hoá và sắp xếp kiện hàng [23]
[24], nhặt hàng hoá tự động bằng cánh tay robot [25]
– Y khoa: hỗ trợ nhận diện định vị trong các ca phẫu thuật nội soi [26],
các nghiên cứu dài hạn về hình thái não bộ của con người theo lứatuổi [27]
– Phương tiện tự lái: xe tự lái di chuyển giữa các thành phố [28], máy
bay không người lái [29]
– Mô hình xây dựng 3D [30]: tạo ra các bảng vẽ xây dựng 3D từ ảnh chụp của các thiết bị bay tự động như: flycam, drone.
Trang 24– Chuyển động khớp: sự kết hợp giữa cảnh quay hành động trực tiếp và
hình ảnh do máy tính tạo ra (CGI) bằng cách theo dõi các điểm thuộctính chuyển động trong video để ước tính sao cho khớp với hình dạng,không gian 3D cho môi trường ảo Những kỹ thuật này thường được
sử dụng rộng rãi ở Hollywood, ví dụ như trong phim Công viên kỷJura [31], được yêu cầu sử dụng lớp nền trước và sau thật khớp vàchính xác với các chuyển động chuyển cảnh liên tục [32]
– Ghi hình chuyển động [33]: ghi nhận lại các chuyển động từ nhiều
camera, dựa vào các kỹ thuật Computer Vision để trích xuất đặc tínhcủa chuyển động và được dùng mô phỏng lại thông qua các nhân vậthoạt hình
– Giám sát [34]: giám sát an ninh giúp phát hiện hành vi đột nhập trái
phép, phân tích tình hình giao thông, phát hiện ra các trường hợp bịđuối nước tại hồ bơi
– Nhận diện vân tay và sinh trắc học [35]: sử dụng trong việc tự động
xác thực và truy cập
1.1.3 Phân loại ảnh (Image classification)
Thị giác góp phần tạo nên 80 đến 85% nhận thức của con người về thếgiới Hằng ngày, mỗi người chúng ta thường phải thực hiện phân loại trênbất kỳ dữ liệu hình ảnh nào mà chúng ta bắt gặp Do đó, mô phỏng tác vụphân loại ảnh với sự trợ giúp của mạng nơ-ron là một trong những ứng dụngđầu tiên của thị giác máy tính mà các nhà nghiên cứu nghĩ đến [36]
Phân loại trở thành một trong các cách phổ biến nhất để xử lý dữ liệuhình ảnh, giúp tìm ra câu trả lời: hình ảnh này thuộc loại nào? Tại đây tồntại thuật toán giúp xem xét và dán nhãn cho hình ảnh từ một tập dữ liệu xác
Trang 25định và đào tạo trước Ví dụ, với một tập các hình ảnh, mỗi hình ảnh mô tảmột con chó hoặc một con mèo, thuật toán sẽ duyệt qua và “quan sát” toàn
bộ dữ liệu và dựa trên hình dạng, màu sắc để hình thành đặc trưng liên quanđến nội dung của ảnh Kết quả thu được là: từ tập dữ liệu ban đầu, các hìnhảnh chó/mèo đã được phân loại một cách tự động
Phân loại hình ảnh hoạt động như thế nào? Máy tính sẽ xử lý hình
ảnh dưới dạng pixel Vì vậy mà hình ảnh chỉ là một mảng ma trận, và kíchthước của ma trận phụ thuộc vào độ phân giải hình ảnh Tiếp theo đó dữ liệunày sẽ được tiến hành phân tích với sự trợ giúp của các thuật toán nhằm chianhỏ hình ảnh và tổng hợp thành một tập hợp các đặc điểm nổi bật, nhằm tối
ưu và giảm khối lượng công việc của việc tính toán phân loại cuối cùng.Quá trình trích xuất đặc trưng là bước quan trọng nhất trong việc phânloại hình ảnh, đặc biệt là phân loại có giám sát, phụ thuộc phần lớn vào dữliệu được cung cấp cho thuật toán
Một bộ dữ liệu phân loại tốt phải đảm bảo các yêu cầu về sự cân bằngcủa dữ liệu, chất lượng của ảnh và chú giải kèm theo
1.1.4 Nhận dạng kí tự (Optical character recognition)
Nhận dạng ký tự (OCR) là quá trình chuyển đổi một hình ảnh có chứa kí
tự văn bản thành định dạng văn bản mà máy có thể đọc được Ví dụ, nếu bạnquét một biểu mẫu hoặc biên lai, máy tính của bạn sẽ lưu bản quét đó dướidạng tệp hình ảnh Bạn không thể sử dụng trình soạn thảo văn bản để chỉnhsửa, tìm kiếm hoặc đếm số từ trong tệp hình ảnh Tuy nhiên, bạn có thể sửdụng phương thức OCR để chuyển đổi hình ảnh thành tài liệu văn bản, trong
đó phần nội dung sẽ được lưu trữ dưới dạng dữ liệu văn bản.[37]
OCR hoạt động như thế nào? Công cụ OCR hoặc phần mềm OCR
hoạt động theo các bước sau [38]:
Trang 26– Thu nhận hình ảnh: Một máy quét sẽ đọc tài liệu và chuyển đổi
chúng thành dữ liệu nhị phân Phần mềm OCR phân tích hình ảnh đãquét và phân loại vùng sáng làm nền và vùng tối làm văn bản
– Tiền xử lý: Làm sạch hình ảnh và loại bỏ các lỗi để chuẩn bị cho bước
đọc với một số kỹ thuật phổ biến:
+ Chỉnh thẳng hoặc nghiêng nhẹ ảnh đã quét để khắc phục lỗi vềcăn chỉnh trong quá trình quét
+ Khử nhiễu đốm hoặc loại bỏ đốm ảnh kỹ thuật số, làm mịn cácviền của hình ảnh văn bản
+ Làm sạch đường viền khung, đường thẳng trong ảnh
+ Nhận dạng chữ viết cho công nghệ OCR đa ngôn ngữ
+ Nhận dạng văn bản
+ Hai loại thuật toán OCR hoặc quy trình phần mềm chính màphần mềm OCR sử dụng để nhận dạng văn bản được gọi là tríchxuất đặc điểm và so khớp mẫu
– Trích xuất đặc điểm: Trích xuất đặc điểm sẽ chia nhỏ hoặc phân
tách hình dạng chữ thành các đặc điểm như nét thẳng, vòng khép kín,hướng và giao điểm Sau đó, sử dụng các đặc điểm này để tìm kết quảphù hợp nhất hoặc kết quả gần đúng nhất trong số các hình dạng chữkhác nhau được lưu trữ
– So khớp mẫu: Cách thức hoạt động của so khớp mẫu là tách các
nhóm hình ảnh ký tự, được gọi là hình dạng chữ rồi so sánh với mộthình dạng chữ tương tự đã được lưu trữ Tính năng nhận dạng mẫu chỉhoạt động hiệu quả khi hình dạng chữ được lưu trữ có phông chữ và
tỷ lệ tương tự với hình dạng chữ đầu vào
Trang 27– Hậu xử lý: Sau khi phân tích, hệ thống sẽ chuyển đổi dữ liệu văn bản
được trích xuất thành tệp trên máy tính Một số hệ thống OCR có thểtạo các tệp PDF có chú thích bao gồm cả phiên bản trước và sau củatài liệu được quét
1.2 Tổng quan bài toán
Năm 2018 Amazon đã ra mắt quy trình P.O.D với ứng dụng đi kèm, màyêu cầu các tài xế giao hàng cung cấp xác nhận trực quan về việc một góihàng đã đến nơi an toàn bằng cách chụp một hình ảnh chứng minh đơn hàng
đã được chuyển đến đúng như mô tả, hình ảnh này sau đó sẽ được trích xuấtthông tin cơ bản và được gửi trực tiếp đến khách hàng để kiểm tra và xácnhận gói hàng của họ đã đến nơi an toàn [39]
Ngày 22 tháng 6 năm 2022 FedEx đã thông báo cung cấp cách thứcP.O.D miễn phí cho khách hàng sử dụng dịch vụ qua hình ảnh chi tiết, khimột gói hàng được giao đến trước cửa nhà của khách hàng – một hình ảnh
sẽ được chụp lại để chứng minh rằng gói hàng đã được giao Hình ảnh đượcchụp không chỉ hiển thị gói hàng, mà còn phải hiển thị một chút khu vựcxung quanh để khách hàng có thể nhìn thấy chính xác nơi gói hàng đã đượcđặt Hình ảnh sau đó được gửi qua email cho người gửi và người nhận, cungcấp cho họ xác nhận trực quan về gói hàng được giao [40]
Cùng với xu hướng thế giới, sự phát triển đa dạng nhu cầu trong lĩnh vựclogistic tại Việt Nam, nhận thấy được tiềm năng và lợi ích của việc ứng dụngComputer Vision hỗ trợ cho bài toán P.O.D, đề tài này sẽ tập trung nghiêncứu, tìm hiểu phương pháp và quy trình tối ưu ứng dụng computer visiontrong việc phân loại hình ảnh, trích xuất thông tin với yêu cầu cụ thể:
− Bộ dữ liệu đầu vào có các thuộc tính, kiểu dữ liệu, ý nghĩa như bảng1.1
Trang 28Bảng 1.1: Thuộc tính, kiểu dữ liệu, ý nghĩa của tập dữ liệu đầu vào
Tên thuộc tính Kiểu dữ liệu Ý nghĩa
order_date Chuỗi với định
dạng date
‘yyyy-mm-dd’
Ngày giao hàng
tạo ra theo nhu cầucủa khách hàngmuốn sử dụng dịch
vụ giao hàng, mãtạo ra là duy nhấtcho một yêu cầugiao hàng
hàng, được tạo ra
để theo dõi các góihàng được vậnchuyển, mã tạo ra
là duy nhất chomột gói hàng
supplier_id Chuỗi với định
dạng dãy số điệnthoại tại Việt Nam
Số điện thoại củatài xế giao hàng
- Quy trình phân loại hình ảnh và nhận diện ký tự quang học hỗ trợ hậukiểm cho quá trình giao hàng được đề xuất như hình 1.4
Trang 29Hình 1.4: Quy trình phân loại hình ảnh và nhận diện ký tự quang học hỗ trợ
hậu kiểm cho quá trình giao hàng
- Kết quả đầu ra phân loại ảnh với nhãn đính kèm
1.3 Mục tiêu và nhiệm vụ của luận văn
Từ dữ liệu hình ảnh thu thập được cùng với quy trình đề xuất được đềcập ở phần tổng quan bài toán, đề tài này sẽ tiến hành nghiên cứu các môhình và đề xuất phương pháp phù hợp cho việc phân loại hình ảnh và tríchxuất thông tin hỗ trợ hậu kiểm cho quá trình giao nhận hàng hoá
Cụ thể chi tiết, đề tài này sẽ tập trung khảo sát, tìm kiếm các mô hình vàgiải pháp phù hợp về tài nguyên tính toán, thời gian, độ chính xác cho việc:
Trang 30– Phân loại ảnh có thông tin vận chuyển đơn hàng 1.5a và không cóthông tin vận chuyển đơn hàng.
– Nhận diện và trích xuất thông tin mã vận hành đơn, để đối chiếu với
dữ liệu đầu vào
– Phân loại ảnh với các nhãn bao gồm: Đạt, Thiếu chữ ký và họ tên, Sai
mã vận hàng đơn, ảnh Chụp khách hàng 1.5c, ảnh Chụp địa chỉ 1.5b,ảnh Không liên quan 1.5d
Trang 31(a) Ví dụ ảnh của đơn giao hàng
Trang 32Về đề xuất quy trình, đề tài này đồng thời sẽ cố gắng chuẩn hóa quytrình ứng dụng computer vision cụ thể cho bài toán P.O.D và các bài toánliên quan mở rộng với các ý sau:
– Các phương pháp tiền xử lý cho bộ dữ liệu thực tế
– Kỹ thuật Transfer Learning hỗ trợ trong quá trình huấn luyện dữ liệuảnh
– Lựa chọn và sử dụng các mô hình phù hợp, tối ưu cho quá trình huấnluyện
– Huấn luyện và đánh giá mô hình trong việc phân loại ảnh
– Ứng dụng mô hình nhận dạng ký tự quang học (OCR) trong việc tríchxuất thông tin từ dữ liệu ảnh
1.4 Giới hạn đề tài
Đề tài này chỉ tập trung tìm kiếm mô hình và phương pháp tối ưu trongviệc phân loại, nhận dạng trích xuất thông tin dữ liệu ảnh của mô hình kinhdoanh giao nhận hàng hoá Đưa ra đề xuất và thử nghiệm ứng dụng ở quy
mô nhỏ để giải quyết bài toán với các điều kiện cụ thể:
– Đầu vào: Dữ liệu sẵn có theo định dạng đã được đề cập ở phần tổng
quan bài toán cụ thể
– Đầu ra: Mô hình training kèm thông số đánh giá, nhãn phân loại đúng
theo yêu cầu
Đề tài này sẽ chưa triển khai việc đánh giá hiệu quả của quy trình đềxuất trong tương tác thực tế ở thời gian thực
Trang 331.5 Đối tượng nghiên cứu
1) Nguồn dữ liệu ảnh, phương pháp tiền xử lý dữ liệu ảnh sử dụng chobài toán
2) Kỹ thuật Transfer Learning hỗ trợ cho quá trình huấn luyện
3) Mô hình, phương thức huấn luyện sử dụng cho bài toán nhận diệnphân loại ảnh và trích xuất thông tin
1.6 Đóng góp của luận văn
Trong luận văn, học viên đề xuất sử dụng 3 mô hình phù hợp cho việcphân loại ảnh và ứng dụng một mô hình nhận dạng ký tự quang học (OCR)
hỗ trợ cho quá trình trích xuất thông tin phù hợp với quy trình đề xuất được
đề cập ở phần tổng quan bài toán với chi tiết cụ thể:
– Bước 1: Mô hình có tên cl1 thực hiện phân loại ảnh thành các nhãn:
có thông tin vận chuyển đơn hàng, không có thông tin vận chuyển đơnhàng
– Bước 2: Các ảnh có thông tin vận chuyển đơn hàng được phân loại ở
bước 1 sẽ được mô hình nhận dạng ký tự (OCR) trích xuấn thông tin,đối chiếu với thông tin đầu vào để tiếp tục phân loại ảnh thành cácnhãn: Đúng mã vận hàng đơn, Không đúng mã vận hành đơn
– Bước 3: Các ảnh đúng mã vận hàng đơn được phân loại ở bước 2 sẽ
được mô hình có tên cl2_top tiếp tục phân loại ảnh thành các nhãn:Đạt, Thiếu chữ ký và họ tên
– Bước 4: Các ảnh không có thông tin vận chuyển được phân loại ở
bước 1 sẽ được mô hình có tên cl2_bot tiếp tục phân loại ảnh thành
Trang 34các nhãn: ảnh Chụp khách hàng, ảnh Chụp địa chỉ, ảnh Không liênquan.
1.7 Tóm tắt nội dung
Luận văn ”Ứng dụng Computer Vision trong bài toán Proof of ery” bao gồm Năm chương với các nội dung chính sau đây:
Deliv-– Chương 1, GIỚI THIỆU ĐỀ TÀI: trình bày tổng quan về đề tài, lý
do thực hiện đề tài và ý nghĩa thực tiễn của bài toán, cũng như giớihạn và phạm vi của đề tài Cuối cùng là nhiệm vụ và cấu trúc của luậnvăn
– Chương 2, CƠ SỞ LÝ THUYẾT: tổng hợp những kiến thức học
thuật liên quan nhất sẽ áp dụng để giải quyết bài toán, tập trung chủyếu vào nội dung liên quan như tiền xử lý ảnh, học sâu, kiến trúc vàtính chất của mạng CNN và kỹ thuật Transfer Learning
– Chương 3, CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN:
trình bày một cách tổng quát về những nghiên cứu liên quan đã đượcthực hiện và sẽ được áp dụng so sánh trong việc giải quyết bài toán.Phần này cũng đưa ra những bàn luận và đánh giá cho các đề xuất đưa
ra vì đó là cơ sở quan trọng cho những nghiên cứu của học viên trongquá trình thực hiện luận văn
– Chương 4, QUY TRÌNH ĐỀ XUẤT: đề xuất quy trình cho Proof of
Delivery (P.O.D) và lựa chọn mô hình Đồng thời đưa ra các so sánh
và động lực cho các đề xuất đó Cuối cùng, trình bày các bước tiếnhành thí nghiệm so sánh trên tập dữ liệu thực tế và đánh giá kết quả
so sánh kết quả giữa các đề xuất trên để chọn ra giải pháp tối ưu nhất
Trang 35– Chương 5, KẾT LUẬN: tổng hợp các kết quả đạt được trong quá
trình thực hiện luận văn từ bước nghiên cứu và xây dựng giả thuyếtđến triển khai thực nghiệm Phần này cũng trình bày những hạn chế
và vấn đề tồn đọng, cuối cùng đề xuất các giải pháp cải tiến có thể cótrong tương lai
Mục lục, Danh sách hình vẽ, Danh sách bảng được cung cấp ở đầu luận văn Tài liệu tham khảo sẽ được trình bày ở cuối luận văn.
Trang 36Chương 2
Cơ sở lý thuyết
Trong chương này, học viên tổng hợp những vấn đề học thuật liên quan nhất để áp dụng để giải quyết bài toán như: tiền xử lý ảnh, phương pháp học sâu, các kiến trúc mạng tích chập và các kỹ thuật transfer learning hỗ trợ tối ưu cho quá trình huấn luyện mô hình liên quan.
2.1 Tiền xử lý ảnh
2.1.1 Vai trò của tiền xử lý ảnh
Khi phát triển một thuật toán phân loại ảnh chúng ta có thể gặp phải một
số trường hợp không mong đợi như: kết quả huấn luyện có độ chính xác rấtcao trên cả tập huấn luyện (train dataset) và tập phát triển (test dataset vàvalidation dataset) Nhưng khi áp dụng vào thực tiễn lại cho độ chính xácthấp Có rất nhiều các nguyên nhân dẫn tới điều này và một trong số đó là:
- Các bức ảnh được huấn luyện khác xa so với những bức ảnh đượcngười dùng upload về: độ phân giải, cường độ màu sắc, chất lượngảnh, độ to nhỏ của đối tượng, chiều, hướng và tư thế của đối tượngbên trong ảnh
- Các bức ảnh được upload lên mặc dù cùng nhãn nhưng khác về tínhchất so với các bức ảnh đã huấn luyện Ví dụ trong một thuật toánphân loại chó và mèo, tập huấn luyện chỉ bao gồm những hình ảnhcủa những con mèo, con chó trưởng thành nhưng thực tế khi phân loạingười dùng lại upload lên rất nhiều hình ảnh của mèo con, chó condẫn tới thuật toán bị nhầm lẫn và trả về kết quả không chính xác
Trang 37- Đối với một số bài toán phân loại ảnh khó, đòi hỏi phải có sự tham giagán nhãn từ các chuyên gia Một số ít các ảnh trong tập huấn luyện
có thể bị gán sai nhãn ảnh hưởng đến khả năng dự báo của thuật toán,đặc biệt là các dự báo dễ mắc sai lầm như chuẩn đoán bệnh nhãn cầu
- Bộ dữ liệu huấn luyện có số lượng và kích thước quá nhỏ, không đạidiện cho toàn bộ các nhãn được huấn luyện
- Phân phối của tập huấn luyện khác xa so với thực tế Ví dụ tập huấnluyện chứa ảnh chó và mèo theo tỷ lệ 50:50, nhưng số lượng bức ảnhngười dùng upload thì ảnh chó chiếm đa số so với mèo theo tỷ lệ90:10
- Và rất nhiều các nguyên nhân khác dẫn tới thuật toán hoạt động khôngđược như kì vọng
Khi đối mặt với các trường hợp trên, chúng ta cần phải tìm ra nguyênnhân thực sự là gì từ đó đưa ra phương án thích hợp để khắc phục các lỗi
mô hình Một trong những phương pháp giúp gia tăng số lượng ảnh đầu vào,trong trường hợp tập dữ liệu không đủ lớn hoặc việc gán nhãn dữ liệu có chiphí cao Đó chính là sử dụng các biến đổi tiền xử lý hình ảnh cho dữ liệu
đầu vào hay còn gọi là Data Augumentation.
2.1.2 Một số phương thức tiền xử lý ảnh
Các biến đổi hình học
Đây là tập hợp các phép biến đổi hình ảnh từ một hình dạng này sangmột hình dạng khác bằng cách thay đổi phương, chiều, góc, cạnh mà khônggây thay đổi nội dung của ảnh gốc Về mặt lý thuyết toán học một phép biếnđổi được định nghĩa như sau:
Trang 38− Mỗi một phép biến đổi hình học sẽ được xác định bởi một ma trậndịch chuyển M Khi đó bất kì 1 điểm có tọa độ (x, y) trên ảnh gốcthông qua phép biến đổi T sẽ có tọa độ trong không gian mới sau dịchchuyển là T (x, y) theo công thức sau:
T(x, y) = M
xy
Dịch chuyển ảnh: được thực hiện trong trường hợp muốn dịch chuyểnảnh đến các vị trí khác nhau như góc trái, phải, ở giữa, bên trên, bên dưới.Phép dịch chuyển sẽ giữ nguyên tính chất song song của các đoạn thẳng saudịch chuyển đối với các trục x hoặc y nếu trước dịch chuyển ảnh có phươngsong song với một trong hai trục này
Xoay ảnh:là quay một bức ảnh theo một góc xác định quanh một điểmbất kì Phép xoay sẽ không đảm bảo tính chất song song với các trục x hoặc
y như phép dịch chuyển, nhưng nó sẽ bảo toàn độ lớn góc Nếu 3 điểm bất
kì tại ảnh gốc tạo thành một tam giác thì khi qua phép xoay ảnh, chúng sẽtạo thành một tam giác đồng dạng với tam giác ban đầu
Biến đổi Affine :[41] toàn bộ các đường thẳng song song trong bức ảnhgốc giữ nguyên tính chất song song ở ảnh đầu ra Để tìm ma trận chuyển
Trang 39vị, chúng ta cần xác định ra 3 điểm từ ảnh đầu vào và tọa độ tương ứng củachúng ở ảnh đầu ra.
Biến đổi phối cảnh: để biến đổi phối cảnh thì chúng ta cần một ma trậnbiến đổi Đường thẳng sẽ giữ nguyên là đường thẳng sau biến đổi Để tìm ra
ma trận biến đổi này, chúng ta cần tìm ra 4 điểm trong ảnh đầu vào tươngứng với các điểm trong ảnh đầu ra Trong số 4 điểm này, không có bất kì 3điểm nào thẳng hàng Phép biến đổi này cũng gần giống như phép biến đổiAffine, khác biệt đó là ảnh trả về sẽ chỉ biến đổi trên vùng ảnh bị giới hạntrong tọa độ của 4 điểm gốc thay vì biến đổi trên toàn bộ bức ảnh ban đầunhư phép biến đổi Affine
Làm mịn ảnh, mờ ảnh
Chúng ta có thể lọc nhiễu cho ảnh thông qua bộ lọc tích chập 2D (2D
convolution), hoặc làm mờ ảnh bằng bộ lọc trung bình hoặc Gaussian tering[42] Tương tự như tín hiệu 1 chiều, dữ liệu hình ảnh cũng có đa dạngcác bộ lọc và thường được chia thành hai loại:
Fil Các bộ lọc lowFil pass filters LPF [43] hỗ trợ lọc nhiễu cho ảnh và làm
mờ ảnh
- Các bộ lọc high-pass fiters HPF [44] hỗ trợ tìm ra các cạnh trong một
hình ảnh
Phương pháp Canny phát hiện cạnh
Canny là một phương pháp phát hiện cạnh phổ biến được phát triển bởiJohn F.Canny vào năm 1986 [45] và được thực hiện qua nhiều bước như sau:
Bước 1: Giảm nhiễu ảnh
Bước 2: Tìm kiếm cường độ gradient của bức ảnh
Bước 3: Non-maximum Suppression [46]
Trang 40Bước 4: Hysteresis Thresholding [47]
Contour và Bounding Box
Contourđược hiểu đơn giản là một đường cong liên kết toàn bộ các điểmliên tục (dọc theo đường biên) mà có cùng màu sắc hoặc giá trị cường độ.Contour rất hữu ích trong phân tích hình dạng, phát hiện đối tượng và nhận
diện đối tượng Đặc trưng của Contour là Moment, các moment của hình
ảnh sẽ giúp ta tính toán tâm của đối tượng và diện tích của đối tượng
Khác với Contour là một đường cong nối liền các điểm có cùng cường
độ hoặc màu sắc Bounding Box là một đường biên đóng bao quanh đối
tượng Bounding Box có thể có nhiều hình dạng khác nhau trong đó có cáchình dạng chính như: chữ nhật, tam giác, tròn, ellipse và một bounding box
có thể được xác định thông qua một Contour
Dựa vào Contour và Bounding Box ta có thể trích xuất được bộ thuộcthuộc tính liên quan đến đối tượng như như độ cô đặc (solidity), đường kính(diameter), ảnh mặt nạ (mask image), trung bình cường độ (mean inten-sity) v.v
- Tỷ lệ cạnh (aspect ratio) là tỷ lệ kích thước chiều dài và chiều rộngtheo công thức: AR = WH, trong đó với W, H lần lượt là chiều rộng vàchiều cao
- Độ phủ (extent) là độ phủ của contour lên bounding box chính là tỷ
lệ diện tích giữa chúng theo công thức: Extent = Scontour
4Scontour
π