Tóm tắt kết quả nghiên cứu: Nội dung đề tài là tập trung tìm hiểu bài toán Phát hiện đối tượng trong tài liệu dạng ảnh, nghiên cứu và chạy thực nghiệm phương pháp YOLOv4.. Dựa trên nhữn
Trang 1Mẫu F6
ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ SINH VIÊN NĂM 20
Tên đề tài tiếng Việt:
TÌM HIỂU PHƯƠNG PHÁP YOLOV4 CHO BÀI TOÁN PHÁT HIỆN ĐỐI
TƯỢNG TRONG TÀI LIỆU DẠNG ẢNH
Tên đề tài tiếng Anh:
YOLOV4 METHOD FOR OBJECT DETECTION IN DOCUMENT IMAGE
Khoa/ Bộ môn: Công Nghệ Phần Mềm
Thời gian thực hiện: 06 tháng
Cán bộ hướng dẫn: TS Nguyễn Tấn Trần Minh Khang
Tham gia thực hiện
TT Họ và tên, MSSV Chịu trách nhiệm Điện thoại Email
1 Trương Diệu Linh Chủ nhiệm 0365 235 137 17520691@gm.uit.edu.vn
Thành phố Hồ Chí Minh – Tháng 07 /2021
Trang 2Mẫu F6
ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Ngày nhận hồ sơ
Mã số đề tài
(Do CQ quản lý ghi)
BÁO CÁO TỔNG KẾT
Tên đề tài tiếng Việt:
TÌM HIỂU PHƯƠNG PHÁP YOLOV4 CHO BÀI TOÁN PHÁT HIỆN ĐỐI
TƯỢNG TRONG TÀI LIỆU DẠNG ẢNH
Tên đề tài tiếng Anh:
YOLOV4 METHOD FOR OBJECT DETECTION IN DOCUMENT IMAGE
Trang 3Mẫu F6
THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung:
- Tên đề tài: Tìm hiểu phương pháp YOLOv4 cho bài toán Phát hiện đối tượng trong tài liệu dạng ảnh
- Chủ nhiệm: Trương Diệu Linh
- Thành viên tham gia: Không
- Cơ quan chủ trì: Trường Đại học Công nghệ Thông tin
- Thời gian thực hiện: 06 tháng
− Xây dựng bộ dữ liệu UIT-POD21 dựa trên bộ dữ liệu chuẩn ICDAR2017
− Nghiên cứu và cài đặt thực nghiệm, tinh chỉnh tham số mô hình phương pháp phát hiện đối tượng thời gian thực YOLOv4 trên UIT-POD21
− Tổng hợp kết quả và viết báo cáo
3 Tính mới và sáng tạo:
Tính mới của đề tài là giải quyết bài toán thực tế, xuất phát từ sự phát triển của các ứng dụng scan trên điện thoại, cũng như sự chuyển dịch tài liệu giấy thành tài liệu điện tử, chúng tôi đã xây dựng bộ dữ liệu ảnh tài liệu Khoa học tiếng Việt gồm các ảnh PDF và ảnh scan bằng điện thoại, dẫn đến những thách thức riêng biệt cho bài toán Các thử nghiệm được mở rộng trên các mô hình Phát hiện đối tượng “state-of-the-art” là YOLOv4 và YOLOv4x-mish
4 Tóm tắt kết quả nghiên cứu:
Nội dung đề tài là tập trung tìm hiểu bài toán Phát hiện đối tượng trong tài liệu dạng ảnh, nghiên cứu và chạy thực nghiệm phương pháp YOLOv4 Dựa trên những mục tiêu
đã đặt ra, đề tài đã đạt được một số kết quả như sau:
− Khảo sát các hướng tiếp cận liên quan tới bài toán và các phương pháp Phát hiện đối tượng dựa trên học sâu đã được ứng dụng trong những năm gần đây Thông qua đó, chọn ra 2 phương pháp YOLOv4 và phiên bản mở rộng YOLOv4x-mish để chạy thực nghiệm trên bộ dữ liệu UIT-PODV
Trang 4Mẫu F6
− Tiến hành cài đặt các mô hình trong môi trường colab, máy local và điều chỉnh các tham số trong model để phù hợp với mô hình dự đoán và cải thiện kết quả Kết quả đánh giá trên độ đo AP cho thấy phiên bản mở rộng cho kết quả tốt hơn với AP là 63.71%
− Cung cấp các đánh giá chi tiết, đầy đủ về bộ dữ liệu UIT-PODV, kết quả chạy thực nghiệm của 2 mô hình YOLOv4 và YOLOv4x-mish
7 Hình ảnh, sơ đồ minh họa chính
Hình 1 Luồng xử lý quá trình cài đặt, chạy thực nghiệm với mô hình YOLOv4
Trang 5MỤC LỤC
Chương 1 TỔNG QUAN ĐỀ TÀI 9
1.1 Động lực nghiên cứu 9
1.2 Mục tiêu của đề tài 10
1.3 Phát biểu bài toán 11
1.4 Đối tượng và phạm vi nghiên cứu 11
1.5 Nội dung thực hiện 12
1.6 Kết quả của đề tài 12
1.7 Cấu trúc báo cáo đề tài 12
Chương 2 CÁC NGHIÊN CỨU LIÊN QUAN 14
2.1 Giới thiệu tổng quan 14
2.2 Computer Vision 15
2.2.1 Giới thiệu 15
2.2.2 Phân loại 16
2.2.3 Ứng dụng 17
2.3 Object Detection 17
2.3.1 Giới thiệu 17
2.3.2 Phân loại 18
2.3.3 Ứng dụng 19
2.4 Mô hình mạng học sâu 19
2.4.1 Mạng nơ-ron nhân tạo – ANN 19
2.4.2 Convolutional Neural Network - CNN 20
2.5 Region Proposal Network 22
2.6 Feature Pyramid Network 23
Trang 62.7 Mô hình Phát hiện đối tượng R-CNN 24
2.7.1 Tổng quan 24
2.7.2 R-CNN 24
2.8 Mô hình Phát hiện đối tượng YOLO 25
2.8.1 Tổng quan 25
2.8.2 YOLOv1 25
2.8.3 YOLOv2 27
2.8.4 YOLOv3 28
2.8.5 YOLOv4 29
2.8.6 YOLOv4x-mish 31
Chương 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ 33
3.1 Mô tả tập dữ liệu thực nghiệm 33
3.1.1 Bộ dữ liệu huấn luyện 33
3.1.2 Giới thiệu các lớp đối tượng 34
3.1.3 Đặc điểm của lớp đối tượng trên bộ dữ liệu 35
3.2 Mô tả quy trình thực nghiệm 35
3.2.1 Thu thập và tiền xử lý dữ liệu 36
3.2.2 Cài đặt môi trường huấn luyện 37
3.2.3 Cài đặt các tham số cho quá trình huấn luyện 38
3.2.4 Tiến hành huấn luyện model 40
3.3 Phương pháp đánh giá 40
3.3.1 Intersection over Union (IoU) 40
3.3.2 Average Precision (AP) 41
3.3.3 Mean Average Precision (mAP) 42
Trang 73.4 Đánh giá mô hình 42
3.5 Kết quả 43
3.5.1 Trực quan hóa kết quả 43
3.5.2 Đánh giá kết quả 47
3.5.3 Phân tích đánh giá 48
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50
4.1 Kết luận 50
4.2 Khó khăn 50
4.3 Thuận lợi 50
4.4 Hướng phát triển 51
Trang 8DANH MỤC HÌNH
Hình 1-1: Ảnh chứa các đối tượng nghiên cứu trong đề tài Màu đỏ : bảng (table) ;
màu xanh lá: ảnh (figure) ; màu xanh dương: chú thích (caption) 10
Hình 1-2: Đầu vào và đầu ra của bài toán Phát hiện đối tượng trong tài liệu dạng ảnh a) Ảnh đầu vào ; b) Ảnh đầu ra 11
Hình 2-1: Mối quan hệ giữa AI, Machine Learning và Deep Learning [13] 15
Hình 2-2: Sơ đồ các mối liên hệ giữa các tác vụ trong computer vision 16
Hình 2-3: Ví dụ phân biệt các kỹ thuật trong Computer Vision.[14] 18
Hình 2-4: Hình so sánh sự khác nhau của mô hình one-stage và two-stage.[18] 19
Hình 2-5: Hình 1 nơ ron thần kinh [12] 19
Hình 2-6: Kiến trúc mạng nơ ron nhân tạo.[8] 20
Hình 2-7: Cấu trúc trong từng nốt của mạng nơ-ron nhân tạo.[8] 20
Hình 2-8: Kiến trúc tổng quan của mô hình CNN.[15] 21
Hình 2-9: Model Region Proposal Network.[11] 22
Hình 2-10: Các mô hình trích xuất đặc trưng.[10] 23
Hình 2-11: Kiến trúc mô hình R-CNN.[5] 25
Hình 2-12: Hình minh họa hoạt động của các mô hình one-stage (YOLO) [1] 26
Hình 2-13: Kiến trúc mô hình YOLOv3.[17] 28
Hình 2-14: Kết quả so sánh đánh giá mô hình Phát hiện đối tượng YOLOv4 với các mô hình state-of-the-art khác.[4] 29
Hình 2-15: Kiến trúc mô hình object detection [4] 30
Hình 2-16: Kiến trúc mạng Dense (DenseNet) [19] 30
Hình 2-17: Kết quả so sánh đánh giá mô hình Phát hiện đối tượng YOLOv4 với các mô hình state-of-the-art khác.[4] 31
Hình 2-18 a Backbone YOLOv4; b Backbone YOLOv4x-mish 32
Hình 2-19 Neck của YOLOv4; b Neck sau khi được CSP hóa [20] 32
Hình 3-1: Bảng phân chia bộ dữ liệu 33
Hình 3-2: Bảng phân phối các lớp của toàn bộ tập dữ liệu 34
Trang 9Hình 3-3: Luồng xử lý quá trình cài đặt, chạy thực nghiệm với mô hình YOLOv4 36
Hình 3-4: Công thức minh họa để tính IoU [16] 41
Hình 3-5: Precision and recall [20] 42
Hình 3-6: Biểu đồ giá trị độ lỗi sau mỗi vòng lặp và độ đo mAP đánh giá trong quá trình huấn luyện bằng tập đánh giá (validation) với mô hình YOLOv4 44
Hình 3-7: Biểu đồ giá trị độ lỗi sau mỗi vòng lặp và độ đo mAP đánh giá trong quá trình huấn luyện bằng tập đánh giá (validation) với mô hình YOLOv4 44
Hình 3-8: Ảnh kết quả dự đoán tốt trên tập dữ liệu kiểm thử (test) a) ảnh đầu vào; b) ảnh dự đoán với model yolov4-custom_6000.weights; c) ảnh dự đoán với model yolov4-custom_best.weights 45
Hình 3-9: Ảnh kết quả dự đoán xấu trên tập dữ liệu kiểm thử (test) a) ảnh đầu vào; b) ảnh dự đoán với model yolov4-custom_6000.weights; c) ảnh dự đoán với model yolov4-custom_best.weights 45
Hình 3-10: Ảnh kết quả dự đoán tốt trên tập dữ liệu kiểm thử (test) a) ảnh đầu vào; b) ảnh dự đoán với model yolov4x-mish_6000.weights; c) ảnh dự đoán với model yolov4x-mish_best.weights 46
Hình 3-11: Ảnh kết quả dự đoán xấu trên tập dữ liệu kiểm thử (test) a) ảnh đầu vào; b) ảnh dự đoán với model yolov4x-mish_6000.weights; c) ảnh dự đoán với model yolov4x-mish_best.weights 46
Hình 3-12: Biểu đồ phân phối các lớp của tập dữ liệu huấn luyện 48
Hình 3-13: Biểu đồ phân phối các lớp của tập dữ liệu kiểm thử 49
Hình 3-14: Biểu đồ phân phối các lớp của tập dữ liệu kiểm thử 49
Trang 10DANH MỤC BẢNG
Bảng 3-1: Mô tả ý nghĩa giá trị các thuộc tính trong file annotations định dạng txt 37 Bảng 3-2: Bảng đánh giá kết quả dự đoán dựa trên mô hình YOLOv4 43 Bảng 3-3: Bảng đánh giá kết quả dự đoán dựa trên mô hình YOLOv4x_mish 43
Trang 117
DANH MỤC TỪ VIẾT TẮT
02 SOTA Cải tiến nhất, hiện đại nhất
– State of the art
03 OD Phát hiện đối tượng – Object Detection
04 ANN/NN Mô hình mạng nơ ron nhân tạo –
Artificial Neural Network/Neural Network
Convolution Neural Network
06 RNN Mô hình mạng nơ ron tái tạo –
Recurrent Neural Network
Long short-term memory
08 YOLO Thuật toán Phát hiện đối tượng YOLO –
You only look once
09 AP Độ đo đánh giá mô hình Object Detection –
Average Precision
Measure Average Precision
11 FPS Độ đo về tốc độ xử lý 1 khung hình trên 1 giây –
Frame per second
Khung khoanh các vùng có thể có vật thể ở trong
– Bounding Box / Region Proposal
13 SS Thuật toán đề xuất khu vực có chọn lọc –
Selective Search
Region Proposal Network
15 FPN Mô hình mạng trích xuất đặc trưng Kim tự tháp –
Feature Pyramid Network
16 CUDA Compute Unified Device Architecture
17 SSD Thuật toán Phát hiện đối tượng –
Single Shot Detection
Trang 128
TÓM TẮT
Phát hiện đối tượng trong tài liệu dạng ảnh là một bài toán thuộc lớp các bài toán đọc hiểu tài liệu dạng ảnh (Document Image Understanding) và có thể sử dụng các kỹ thuật Object Detection để thực nghiệm
Trong đề tài này, tôi tập trung vào việc nghiên cứu và thực nghiệm bằng mô hình YOLOv4 (You Only Look Once) phiên bản 4 đối với bộ dữ liệu mà nhóm nghiên cứu đã xây dựng được Bộ dữ liệu của nhóm gồm 1699 ảnh huấn luyện (trainning) và
735 ảnh đánh giá (validation) đã được gán nhãn và 500 ảnh kiểm thử (test), lấy từ tài liệu báo cáo khoa học tại các hội nghị trong nước Các lớp dữ liệu cần dự đoán gồm
3 lớp đối tượng: table, figure, caption Phương pháp sử dụng thực nghiệm cho bài toán là YOLO mà cụ thể hơn là YOLOv4 và phiên bản mở rộng của nó là YOLOv4x_mish
Trang 13để dễ trao đổi và trích xuất Mặc dù các tài liệu PDF, dạng ảnh sẽ giúp giữ nguyên các yếu tố của văn bản như ký tự, đường kẻ, phông chữ, hình ảnh, v.v tuy nhiên đây lại không phải là định dạng mà máy móc có thể đọc được và hiểu được Trong khi việc trích xuất dữ liệu bằng các phương pháp thủ công lại rất tốn kém nhân lực, thời gian, chi phí…
Đứng trước thời đại bùng nổ của Big Data, AI, việc số hóa dữ liệu là vô cùng quan trọng, cấp thiết và đang trở thành một thách thức lớn cho rất nhiều ngành công nghiệp trên thế giới Trong đó, trở ngại lớn nhất của việc đọc hiểu tài liệu bằng ảnh
là việc phát hiện và nhận dạng các đối tượng trong tài liệu Đây cũng là một nhiệm
vụ high-level cho việc trích xuất dữ liệu sau này
Hầu hết các kỹ thuật thông thường giúp phân tích các đối tượng được đề xuất
sẽ dựa trên việc phân tích bố cục tài liệu Nhưng các kỹ thuật này không thể tổng quát hóa được vì những thách thức về nội dung, bố cục phức tạp, dữ liệu nhiễu, và các biến thể trong cách trình bày phông chữ và kiểu cách (fonts and styles)… Bên cạnh
đó, các dữ liệu ảnh thu được từ camera cũng đặt ra vô số thách thức hơn so với tài liệu pdf như ánh sáng, góc chụp, một số biến dạng khiến các đối tượng bị méo…đã
và đang khiến cho việc phát hiện, nhận dạng đối tượng gặp khá nhiều khó khăn Tuy nhiên với sự phát triển của Deep Learning và Computer Vision đã mở ra rất nhiều cơ hội để phát triển những hệ thống máy tính trở nên thông minh hơn và có thể giải quyết các công việc của con người một cách hiệu quả, thậm chí hiệu quả hơn con người Trước những cơ hội cũng như những thách thức kể trên, nhóm tôi đã quyết định thực hiện đề tài Phát hiện đối tượng trong tài liệu dạng ảnh bằng phương pháp
Trang 1410
học sâu, ứng dụng những nghiên cứu, mô hình nổi tiếng từ các bài báo trên thế giới
để có thể tìm ra giải pháp tối ưu hơn trong việc phát hiện và nhận dạng đối tượng trên các loại tài liệu khác nhau bao gồm PDF, Word, Latex …Cụ thể hơn trong nghiên cứu lần này, mô hình học sâu mà tôi muốn hướng tới là YOLOv4 – một mô hình
“state-of-the-art” Phát hiện đối tượng hiệu quả và có tốc độ nhanh nhất hiện nay
Hình 1-1: Ảnh chứa các đối tượng nghiên cứu trong đề tài Màu đỏ : bảng (table) ;
màu xanh lá: ảnh (figure) ; màu xanh dương: chú thích (caption)
Lý do lựa chọn YOLOv4 là mô hình để chạy thực nghiệm với bài toán Phát hiện đối tượng trong tài liệu dạng ảnh vì mô hình YOLOv4 là một mô hình Phát hiện đối tượng one-stage rất nổi tiếng và được ứng dụng chạy thực nghiệm khá nhiều, tuy đây
là một mô hình khá phức tạp nhưng có framework hỗ trợ giúp dễ cài đặt để chạy thực nghiệm và có nguồn tài liệu tham khảo phong phú So với các mô hình OD khác, YOLO nổi tiếng với tốc độ gần như real-time trong khi kết quả dự đoán tương đối cao khoảng 43.5% AP với bộ MS COCO Phiên bản mở rộng của nó YOLOv4x_mish còn đạt được độ chính xác gần 49.4% AP cũng với bộ dữ liệu trên
1.2 Mục tiêu của đề tài
• Tìm hiểu tổng quan về các kỹ thuật học sâu và bài toán Phát hiện đối tượng trong tài liệu dạng ảnh dựa trên các nghiên cứu có sẵn
Trang 1511
• Xây dựng bộ dữ liệu cho bài toán Phát hiện đối tượng trong tài liệu dạng ảnh Trong phạm vi đề tài, bộ dữ liệu sẽ chỉ bao gồm các ảnh chụp từ các bài báo khoa học tiếng Việt
• Nghiên cứu và cài đặt thực nghiệm phương pháp YOLOv4 trên bộ dữ liệu được xây dựng
• Tổng hợp kết quả và viết báo cáo
1.3 Phát biểu bài toán
Trong đề tài này, tôi tiến hành tìm hiểu và nghiên cứu bài toán Phát hiện đối tượng trong tài liệu dạng ảnh, mà cụ thể hơn là đối tượng bảng trong các tài liệu ảnh được chụp từ các bài báo khoa học
Đầu vào:
• Ảnh scan các bài báo khoa học tiếng Việt ở dạng ảnh
Đầu ra:
• Vị trí các đối tượng: table, figure, caption (nếu có)
• Nhãn các đối tượng và độ tự tin của mô hình
Hình 1-2: Đầu vào và đầu ra của bài toán Phát hiện đối tượng trong tài liệu dạng
ảnh a) Ảnh đầu vào ; b) Ảnh đầu ra
1.4 Đối tượng và phạm vi nghiên cứu
Trong phạm vi đề tài lần này, đối tượng nghiên cứu của nhóm sẽ chỉ bao gồm:
• Ảnh scan các bài báo khoa học tiếng Việt
• File nhãn của ảnh gồm 3 lớp đối tượng: table, figure, caption
Trang 1612
• Phương pháp thực nghiệm: YOLOv4
1.5 Nội dung thực hiện
Nội dung thực hiện của đề tài “Phát hiện đối tượng trong tài liệu dạng ảnh bằng phương pháp học sâu” bao gồm:
• Tìm hiểu tổng quan về bài toán Phát hiện đối tượng trên các tài liệu dạng ảnh
từ các nghiên cứu đã có
• Thu thập, gán nhãn bộ dữ liệu ảnh
• Nghiên cứu các phương pháp học sâu tiên tiến và tiến hành cài đặt thực nghiệm dựa trên bộ dữ liệu đã xây dựng được
• Nghiệm thu kết quả, đánh giá, phân tích kết quả và mô hình thực nghiệm
• Tổng hợp và viết báo cáo
1.6 Kết quả của đề tài
Nghiệm thu đề tài với các kết quả sau:
• Xây dựng thành công bộ dữ liệu chuẩn dựa vào bộ dữ liệu ICDAR2017
• Tài liệu tổng hợp gồm:
o Phân tích bài toán
o Các phương pháp học sâu tiên tiến
o Nội dung chi tiết cách cài đặt môi trường, cài đặt tham số để chạy thực nghiệm
o Chi tiết các thay đổi tham số, cải tiến kết quả so với các tham số mặc định
o Bảng tổng hợp các kết quả thực nghiệm và nhận xét về model đã xây dựng được
o Đánh giá thực nghiệm với phương pháp YOLOv4 trên bộ dữ liệu đã xây dựng được
1.7 Cấu trúc báo cáo đề tài
Trong báo cáo đồ án môn học này gồm 6 chương với các nội dung như sau:
Trang 1713
• Chương 1: Tổng quan đề tài Trình bày lý do chọn đề tài, phát biểu bài toán,
đối tượng và phạm vi nghiên cứu, mục tiêu, nội dung thực hiện cũng như kết quả của đề tài đã đạt được
• Chương 2: Các nghiên cứu liên quan Giới thiệu các khái niệm về bài toán
Phát hiện đối tượng trong tài liệu dạng ảnh, cơ sở lý thuyết, phân tích hướng nghiên cứu đã thực hiện liên quan tới bài toán này
• Chương 3: Thực nghiệm và đánh giá Trình bày hướng tiếp cận đối với bài
toán Phát hiện đối tượng trong tài liệu dạng ảnh Đồng thời trình bày bộ dữ liệu, phương pháp, quá trình cài đặt thực nghiệm với bộ dữ liệu được xây dựng
và các đặc trưng tương ứng
• Chương 4: Kết luận và hướng phát triển Tổng kết các kết quả quan trọng
đã đạt được trong đề tài, những hạn chế chưa được giải quyết và hướng phát triển của đề tài trong tương lai
Trang 1814
Chương 2 CÁC NGHIÊN CỨU LIÊN QUAN
Trong khoảng vài năm trở lại đây sự bùng nổ của Artificial Intelligence (Trí tuệ nhân tạo) hay cụ thể hơn là Machine Learning (Máy học) và Deep Learning, Big Data đã giúp con người giải quyết được rất nhiều bài toán khó và đang tạo ra những bước đột phá mới trong lĩnh vực công nghệ thông tin Trong chương này, tôi sẽ trình bày một
số cơ sở lý thuyết, khái niệm cũng như các nghiên cứu liên quan tới bài toán Phát hiện đối tượng trong tài liệu dạng ảnh bằng phương pháp học sâu
2.1 Giới thiệu tổng quan
Machine Learning là một lĩnh vực của Trí tuệ nhân tạo, liên quan tới việc nghiên cứu và xây dựng các thuật toán, mô hình cho phép các hệ thống có khả năng "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể Nếu như trước kia, để giải quyết vấn đề, con người sử dụng dòng code để đưa những chỉ thị, hành động cụ thể cho máy tính thực hiện, thì nay chỉ với dữ liệu và các thuật toán, máy tính được huấn luyện và có thể tự mình đưa ra những quyết định hoặc dự đoán từ quá trình học hỏi Phương pháp này đưa ra kết quả nhanh, chính xác và hiệu quả, thậm chí còn tốt hơn con người rất nhiều nhờ áp dụng các thuật toán để phân tích, thống kê từ hàng trăm, hàng nghìn dữ liệu Nói tóm lại, Machine Learning là quá trình dạy máy tính có khả năng học hỏi để hoàn thành một nhiệm vụ mà không cần kỹ thuật lập trình phức tạp Machine Learning là ngành rất rộng về toán, gồm rất nhiều thuật toán và mỗi thuật toán có ứng dụng riêng tùy vào bài toán:
• Linear Regression
• Logistic Regresstion
• Decision Tree và Random Forest
• Support Vector Machines
• K-Nearest Neighbors
• Principal component analysis (PCA)
• Neural network
Trang 19Hình 2-1: Mối quan hệ giữa AI, Machine Learning và Deep Learning [13]
Trong đồ án này, nhóm tôi quyết định chọn lĩnh vực Thị giác máy tính
(Computer Vision) – một nhánh nhỏ của Deep Learning để thực hiện nghiên cứu và
ứng dụng cho bài toán “Phát hiện đối tượng trong tài liệu dạng ảnh bằng phương pháp học sâu”
2.2 Computer Vision
2.2.1 Giới thiệu
Thị giác máy tính (Computer Vision) là một trong những ứng dụng nổi bất nhất
của Deep Learning Thị giác máy tính là một lĩnh vực khoa học giúp máy tính tập trung vào việc tái tạo và mô phỏng các phần phức tạp của hệ thống thị giác con người
và cho phép máy tính xác định và xử lý các đối tượng trong hình ảnh và video giống như cách con người làm
Trang 20
16
2.2.2 Phân loại
Một số kỹ thuật phổ biến trong Computer Vision gồm:
• Nhận diện vật thể (Object Recognition) là một kỹ thuật liên quan đến việc nhận
dạng, xác định và định vị các đối tượng trong một bức ảnh với một mức độ tin cậy nhất định
• Phân loại hình ảnh (Image Classification) là một kỹ thuật liên quan đến việc
dự đoán lớp của một đối tượng trong một hình ảnh
• Định vị vật thể (Object Localization): là một kỹ thuật xác định vị trí của một
hoặc nhiều đối tượng trong một hình ảnh và vẽ bounding box xung quanh chúng
• Phát hiện đối tượng (Object Detection): là một kỹ thuật kết hợp phân loại hình
ảnh và định vị vật thể cho một hoặc nhiều đối tượng trong hình ảnh
• Phân đoạn đối tượng (Object Segmentation) là một kỹ thuật nhận dạng đối
tượng bằng cách nổi bật các pixel cụ thể của đối tượng thay vì bounding box
• Chú thích ảnh (Image Captioning) là một kỹ thuật kết hợp giữa các kiến trúc
mạng CNN vs LSTM để đưa ra các lý giải về hành động hoặc mô tả nội dung của một bức ảnh
Hình 2-2: Sơ đồ các mối liên hệ giữa các tác vụ trong computer vision
Trang 2117
2.2.3 Ứng dụng
Nhờ sự tiến bộ của khoa học và ứng dụng các thuật toán tiên tiến, chúng ta đã giúp máy tính có khả năng thu nhận hình ảnh, xử lý và hiểu hình ảnh để ứng dụng chúng trong mọi lĩnh vực xung quanh ta như:
• Nhận diện khuôn mặt trong các smartphone (Face ID)
• Kiểm tra các sản phẩm lỗi trong ngành công nghiệp sản xuất
• Hỗ trợ bác sĩ trong chuẩn đoán và điều trị bệnh ung thư dựa vào ảnh
• Nhận diện biển báo, người đi đường cho các xe tự lái
• Nhận diện cảm xúc để đánh giá hành vi mua hàng trong các cửa hàng
• Nhận biết trường hợp té ngã để kịp thời cấp cứu dựa vào phát hiện hành vi dị thường của con người
2.3 Object Detection
2.3.1 Giới thiệu
Phát hiện đối tượng ( Object Detection) là khía cạnh sâu sắc nhất của thị giác máy
tính do số lần ứng dụng trong thực tế
Phát hiện đối tượng ( Object Detection) là một thuật ngữ chung để mô tả một tập
hợp các nhiệm vụ thị giác máy tính có liên quan liên quan đến việc xác định các đối tượng trong ảnh kỹ thuật số Phát hiện đối tượng ( Object Detection) kết hợp hai nhiệm vụ gồm phân loại hình ảnh (Image Classification) và định vị vật thể (Object Localization) Trong đó, ta có thể phân loại các kỹ thuật trên như sau:
• Phân loại hình ảnh (Image Classification): Dự đoán nhãn của một đối tượng trong
một hình ảnh
o Input: Một hình ảnh với một đối tượng, chẳng hạn như một bức ảnh
o Output: Nhãn lớp (ví dụ: một hoặc nhiều số nguyên được ánh xạ tới nhãn lớp)
• Định vị đối tượng (Object Localization): Xác định vị trí hiện diện của các đối
tượng trong ảnh và cho biết vị trí của chúng bằng bounding box
o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh
Trang 2218
o Output: Một hoặc nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao
• Phát hiện đối tượng (Object Detection): Xác định vị trí hiện diện của các đối
tượng trong bounding box và nhãn của các đối tượng nằm trong một hình ảnh
o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh
o Output: Một hoặc nhiều bounding box và nhãn cho mỗi bounding box
Hình 2-3: Ví dụ phân biệt các kỹ thuật trong Computer Vision.[14]
2.3.2 Phân loại
Thuật toán Object Detection bao gồm 2 nhóm chính:
• Two-stage: bao gồm họ các mô hình R-CNN (Region-Based Convolutional Neural Networks), Mask R-CNN… Gọi là two-stage vì model sẽ thực hiện 2 phần gồm trích chọn (extract) các vùng trên ảnh có khả năng chứa đối tượng dựa vào các anchor box, sau đó sẽ thực hiện tiếp phân loại đối tượng và xác định vị trí nhờ vào việc chia làm 2 nhánh tại phần cuối của mô hình (Object Classification và Bounding Box Regression) Các mô hình này được dùng để giải quyết các bài toán định vị và nhận diện vật thể tĩnh (hình ảnh) do yêu cầu cao về độ chính xác nhưng không yêu cầu quá cao về tốc độ
• One-stage hay còn gọi là single-stage: Bao gồm các mô hình YOLO (You Only Look Once), SSD (Single Shot MultiBox Detector), Restina Gọi là one-stage vì model sẽ không có phần trích chọn các vùng đặc trưng như two-stage Các mô hình one-stage sẽ coi việc Phát hiện đối tượng như một bài toán regression và dựa trên pre-define box hay còn gọi là anchor để Phát hiện đối tượng Các mô hình one-stage thường có tốc độ nhanh hơn tuy nhiên độ chính xác thường kém hơn so
Trang 23• Phát hiện xe để giúp phân luồng giao thông
• Đếm số người đi bộ trên đường
• Phát hiện vật cản ứng dụng trong sản xuất xe không người lái
2.4 Mô hình mạng học sâu
2.4.1 Mạng nơ-ron nhân tạo – ANN
Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANNs) hay gọi tắt Neural Networks (NNs) là mạng lưới thần kinh được liên kết đầy đủ giữa các lớp với nhau ANN được ra đời xuất phát từ ý tưởng mô phỏng hoạt động của não bộ con người
Hình 2-5: Hình 1 nơ ron thần kinh [12]
Trang 2420
Kiến trúc của một mạng nơ-ron nhân tạo gồm ba thành phần: lớp đầu vào, các lớp ẩn và lớp đầu ra Trên mỗi lớp có các node được thể hiện như các nơ-ron thần kinh, mỗi node trong một lớp thì liên kết với tất cả các node trong lớp tiếp theo Trong một mạng nơ-ron nhân tạo thì số lớp ẩn là không giới hạn và số lượng các nơ ron trên mỗi lớp cũng không giới hạn Chi tiết hơn ở hình 02-6
Hình 2-6: Kiến trúc mạng nơ ron nhân tạo.[8]
Hình 2-7: Cấu trúc trong từng nốt của mạng nơ-ron nhân tạo.[8]
Xem xét từng node trong các lớp của mạng nơ ron nhân tạo, độ lớn trọng số của nốt hiện tại đang xem sét sẽ là tổng các độ lớn trong số của các node thuộc lớp đầu vào trước đó và chuyển sang hàm kích hoạt phi tuyến tính để tính toán trọng số Các node này vừa là đầu ra của lớp trước đó và vừa là đầu vào của lớp tiếp theo Trong suốt quá trình huấn luyện, mạng nơ ron thần kinh sẽ tính toán và tối ưu hóa các trọng số đối với từng nốt trong mạng
2.4.2 Convolutional Neural Network - CNN
Mạng nơ-ron tích chập (Convolutional Neural Networks - CNN) là một trong những phương pháp được áp dụng nhiều nhất trong lĩnh vực xử lý ảnh (Computer
Trang 25Hình 2-8: Kiến trúc tổng quan của mô hình CNN.[15]
Tầng tích chập (Convolution): Mục đích của tầng này là trích xuất đặc trưng tương ứng với đầu vào Từ ý tưởng Local receptive fields, mô hình sẽ tiến hành chọn
1 bộ lọc để tìm và trích xuất những thông tin quan trọng từ dữ liệu đầu vào, đồng thời giảm số chiều cho các lớp ẩn tiếp theo Các giá trị đầu ra cho vùng lọc sẽ được tính toán bằng các hàm kích hoạt (Activated Function) Một số hàm kích hoạt nổi tiếng thường dùng có thể kể đến như ReLU, Tanh, Sigmoid… Hiện nay, hàm ReLU được
sử dụng nhiều hơn các hàm còn lại
Tầng tổng hợp (pooling): Sau tầng tích chập, tầng tổng hợp trích chọn đặc trưng và giảm số chiều cho dữ liệu đầu vào Khi giảm số chiều, mô hình giảm số lượng tham số, rút ngắn được thời gian huấn luyện và hạn chế overfitting Cũng như tầng tích chập, tầng tổng hợp sử dụng bộ lọc trượt qua dữ liệu đầu vào để trích xuất đặc trưng cần thiết, nhưng các bộ lọc ở đây sẽ không chứa tham số Các phương pháp phổ biến được sử dụng ở tầng tổng hợp là maxpooling và averagepooling Trong đó maxpooling chỉ lấy giá trị cao nhất trong vùng của bộ lọc đi qua còn averagepooling
sẽ tính toán giá trị trung bình trong vùng bộ lọc đi qua
Trang 2622
Tầng liên kết đầy đủ (Fully-connected): Kiến trúc của tầng liên kết đầy đủ tương
tự kiến trúc của mạng nơ ron nhân tạo đã được trình bày ở mục 3.1.1 Kết quả đầu ra của tầng tích chập và tầng tổng hợp là các ma trận ở dạng hai chiều hoặc ba chiều Các ma trận trên sẽ được làm phẳng (Flatten) thành một vector rồi mới được đưa vào tầng liên kết đầy đủ Lớp cuối cùng trong tầng liên kết đầy đủ chính là đầu ra cho bài toán
2.5 Region Proposal Network
Region Proposal Network (RPN) là công cụ rút trích các Region of Interest (RoI) hay còn gọi là các vùng có khả năng chứa đối tượng từ feature map của ảnh Ảnh đầu vào sẽ được đưa qua một backbone CNN để thu được feature map – đầu vào (input) trước khi đưa vào một mạng con RPN để xử lý
• Input: Feature map
Trang 2723
2.6 Feature Pyramid Network
Việc phát hiện các đối tượng ở các quy mô khác nhau là một thách thức trong
xử lý ảnh, đặc biệt đối với các đối tượng nhỏ Chúng ta có thể sử dụng một hình ảnh được chia tỷ lệ khác nhau để phát hiện các đối tượng như hình (a) Tuy nhiên, việc
xử lý nhiều hình ảnh với nhiều tỷ lệ độc lập sẽ tốn rất nhiều thời gian và yêu cầu bộ nhớ quá cao để được huấn luyện từ đầu đến cuối (end-to-end) cùng một lúc Do đó, Featurized image pyramid chỉ nên dùng khi không có yêu cầu cao về tốc độ mà cần
độ chính xác cao hơn Để cải thiện tốc độ, single feature là giải pháp tiêu chuẩn ConvNet với đầu vào là ảnh đơn lẻ và được dự đoán vào cuối mạng Một giải pháp khác là Pyramidal Feature hierachy như hình (c) Việc dự đoán đối tượng tại mỗi lớp
sẽ tương tự như các mô hình SSD bằng cách sử dụng lại các tỷ lệ feature map lấy từ các lớp khác nhau đã được tính trước đó, điều này sẽ giảm chi phí tính toán nhưng sẽ kém hiệu quả trong việc phát hiện những đối tượng nhỏ hơn
Hình 2-10: Các mô hình trích xuất đặc trưng.[10]
Feature Pyramid Network (FPN) là một công cụ trích xuất đặc trưng được thiết
kế theo kết cấu của kim tự tháp với tính chính xác và tốc độ cao Nó là sự kết hợp giữa hai pathway là bottom-up với độ phân giải thấp, mạnh về ngữ nghĩa và top-down với độ phân giải cao nhưng yếu về ngữ nghĩa Với ngữ nghĩa phong phú ở mọi cấp
độ và được xây dựng nhanh chóng từ mô hình ảnh đầu vào duy nhất mà FPN có khả
Trang 282.7.2 R-CNN
R-CNN được giới thiệu lần đầu vào 2014 bởi Ross Girshick và các cộng sự ở
UC Berkeley một trong những trung tâm nghiên cứu AI hàng đầu thế giới trong bài báo Rich feature hierarchies for accurate object detection and semantic segmentation [10]
Nó có thể là một trong những ứng dụng nền móng đầu tiên của mạng nơ ron tích chập đối với bài toán định vị, phát hiện và phân đoạn đối tượng Cách tiếp cận
đã được chứng minh trên các bộ dữ liệu điểm chuẩn, đạt được kết quả tốt nhất trên
bộ dữ liệu VOC-2012 và bộ dữ liệu Phát hiện đối tượng ILSVRC-2013 gồm 200 lớp
• Phân loại (classifier): Dựa vào input là các features ở phần trước để phân loại hình ảnh chứa trong region proposal về đúng nhãn
Kiến trúc của mô hình được mô tả ở hình bên dưới:
Trang 29YOLO hiện nay đã có 4 phiên bản chính thức, phát triển và cải tiến qua từng phiên bản
2.8.2 YOLOv1
YOLO phiên bản đầu tiên được ra đời năm 2015 bởi Joseph Redmon và các cộng sự [1] Ý tưởng chính của YOLOv1 là chia ảnh đầu vào thành các ô (grid of cells) với kích thước 𝑆 × 𝑆 (default là 7 × 7) Trong đó, mỗi ô sẽ chịu trách nhiệm
dự đoán các bounding boxes, nếu tâm của nó nằm trong ô Với mỗi grid cell, mô hình
sẽ đưa ra dự đoán cho B bounding box Tương ứng với mỗi box trong 𝐵 bounding box này sẽ là 5 tham số gồm (𝑥, 𝑦, 𝑤, ℎ, 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒) lần lượt là tọa độ tâm bounding box (𝑥, 𝑦), chiều rộng, chiều cao và độ tự tin
Toàn bộ dự đoán được thực hiện trên một bức ảnh = 𝑆 × 𝑆 × ( 𝐵 × 5 + 𝐶 )
Trong đó: