ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC ĐỐI TƯỢNG D
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC ĐỐI TƯỢNG DI ĐỘNG
Mã số: T2019-06-130
Chủ nhiệm đề tài: KS Nguyễn Văn Nam
Đà Nẵng, 6/2020
Trang 2ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC ĐỐI TƯỢNG DI ĐỘNG
Mã số: T2019-06-130
Xác nhận của cơ quan chủ trì đề tài Chủ nhiệm đề tài
(ký, họ tên, đóng dấu) (ký, họ tên)
Nguyễn Văn Nam
Trang 3
DANH SÁCH THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ TÀI
Trang 4MỤC LỤC
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục tiêu của đề tài 3
3 Đối tượng, phạm vi nghiên cứu 3
3.1 Đối tượng nghiên cứu 3
3.2 Phạm vi nghiên cứu 4
4 Cách tiếp cận, phương pháp nghiên cứu 4
4.1 Cách tiếp cận 4
4.2 Phương pháp nghiên cứu 4
5 Nội dung nghiên cứu 4
CHƯƠNG 1 - MẠNG NƠ RON VÀ MẠNG NƠ RON TÍCH CHẬP 5
1.1 Mạng Nơ ron 5
1.2 Mạng Nơ ron tích chập (CNN) 8
1.2.1 Kiến trúc mạng Nơ ron tích chập 8
1.2.2 Rút trích đặc trưng 9
1.2.3 Phân loại 12
1.3 Mạng Nơ ron tích chập khu vực nhanh hơn (Faster R-CNN) 13
1.3.1 Bài toán nhận dạng vật thể (Object Detection) 13
1.3.2 Mạng Nơ ron tích chập khu vực (R-CNN) 15
1.3.3 Mạng Nơ ron tích chập khu vực nhanh (Fast R-CNN) 17
1.3.4 Mạng Nơ ron tích chập khu vực nhanh hơn 20
CHƯƠNG 2 - TỔNG QUAN VỀ NHẬN DẠNG CÁC ĐỐI TƯỢNG 25
2.1 Khái niệm về nhận dạng đối tượng 25
2.2 Các khó khăn trong việc nhận dạng đối tượng 26
2.2.1 Tư thế, góc chụp 26
2.2.2 Sự xuất hiện hoặc thiếu một số thành phần 26
2.2.3 Sự biến dạng của đối tượng 27
2.2.4 Sự che khuất 27
2.2.5 Sự phức tạp của hình nền 28
2.2.6 Môi trường của ảnh 29
Trang 52.3 Các ứng dụng trong nhận dạng đối tượng hiện nay 29
2.4 Tổng quan kiến trúc một hệ thống nhận dạng đối tượng 30
2.4.1 Khâu xử lý ảnh đầu vào 31
2.4.2 Khâu trích lọc các đặc trưng 32
2.4.3 Phát hiện và phân loại đối tượng 39
CHƯƠNG 3 - ỨNG DỤNG MẠNG NƠ RON TÍCH CHẬP TRONG NHẬN DẠNG CÁC ĐỐI TƯỢNG DI ĐỘNG 42
3.1 Xây dựng môi trường thực nghiệm mô hình Faster R_CNN 42
3.1.1 Cấu hình phần cứng cho môi trường thực nghiệm mô hình 42
3.1.2 Các phần mềm hỗ trợ và phần mềm lập trình 42
3.1.3 Cài đặt file môi trường 45
3.1.4 Cài đặt các thư viện hỗ trợ 46
3.2 Huấn luyện cho mô hình học nhận dạng 47
3.2.1 Thu thập dữ liệu 48
3.2.2 Thực hiện gán nhã cho các đối tượng 49
3.2.3 Xây dựng chương trình huấn luyện 50
3.2.4 Huấn luyện cho mô hình 50
3.2.5 Dừng huấn luyện mô hình 52
3.2.6 Kết quả sau khi huấn luyện 53
3.3 Xây dựng chương trình nhận dạng cho đối tượng 53
3.4 Thực nghiệm nhận dạng các đối tượng 53
3.4.1 Thực nghiệm mô hình Faster R-CNN với đối tượng tĩnh 54
3.4.2 Thực nghiệm mô hình với đối tượng di động 58
KẾT LUẬN 62
1 Thuận lợi của đề tài 62
2 Hạn chế của đề tài 62
3 Kết quả đạt được 62
4 Hướng phát triển của đề tài 62
TÀI LIỆU THAM KHẢO 64
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
CNN : Convolutional Neural Network
R-CNN : Regional Convolutional Neural Network
ROI : Region of Interest
RPN : Region Proposal Network
SVM : Support Vector Machine
Trang 7DANH MỤC CÁC BẢNG
Bảng 3.1: Bảng tổng hợp đánh giá độ chính xác kết quả nhận dạng của mô hình 56
Trang 8DANH MỤC CÁC HÌNH
Hình 1.1: Cách thức perceptron hoạt động [11] 5
Hình 1.2: Đồ thị hàm sigmoid [11] 7
Hình 1.3: Cấu trúc mạng Nơ ron đề xuất dựa trên [11] 7
Hình 1.4: Mạng Nơ ron thông thường (trái) và mạng Nơ ron tích chập (phải) 8
Hình 1.5: Kiến trúc mạng CNN 9
Hình 1.6: Lớp rút trích đặc trưng của ảnh (Conv, Relu và Pool) và Lớp phân loại (FC và softmax) 9
Hình 1.7: Phép tích chập 10
Hình 1.8: Ảnh RGB và ảnh xám 10
Hình 1.9: Phép gộp lấy giá trị lớn nhất kích thước 2×2 11
Hình 1.10: Ví dụ cho tích chập với 2 bộ lọc, 3 cột, 2 bước nhảy, lề = 1 12
Hình 1.11: Nhận dạng hoa đồng tiền 14
Hình 1.12: Hình ảnh trước (a) và sau khi thực hiện thuật toán tìm kiếm chọn lọc (b) 15 Hình 1.13: Các khu vực đặc trưng mạng Nơ ron tích chập 16
Hình 1.14: Khu vực quan tâm (ROI) 18
Hình 1.15: Vùng quan tâm (ROI pooling) 19
Hình 1.16: So sánh thời gian huấn luyện và kiểm tra giữa R-CNN và Fast R-CNN 19
Hình 1.17: Mô hình ROI pooling 20
Hình 1.18: Lấy vị trí 21
Hình 1.19: Vị trí cửa sổ trượt (sliding window) 21
Hình 1.20: Các khu vực RPN 22
Hình 1.21: Hệ số IoU 23
Hình 1.22: Mô tả hệ số IoU 23
Hình 1.23: Thử thời gian R-CNN [10] 23
Hình 2.1: Minh họa sự thay đổi góc chụp 26
Hình 2.2: Minh họa sự thiếu thành phần 27
Hình 2.3: Minh họa sự biến dạng 27
Hình 2.4: Minh họa sự che khuất 28
Hình 2.5: Minh họa hình nền phức tạp 28
Hình 2.6: Minh họa độ sáng khác nhau 29
Trang 9Hình 2.7: Các bước trong hệ thống nhận dạng đối tượng 31
Hình 2.8: Hình ảnh đưa vào để máy tính nhận dạng 32
Hình 2.9: Cách xử lý của máy tính với ảnh đưa vào để nhận dạng 32
Hình 2.10: Thực hiện việc nhân chập các giá trị pixel đầu vào với pixel tính năng: 33
Hình 2.11: Kết quả sau khi nhân chập giữa bộ lọc với biểu đồ đặc trưng 33
Hình 2.12: Giá trị đặc trưng thu được sau nhân chập 34
Hình 2.13: Kêt quả sau nhân chập và tính giá trị đặc trưng 34
Hình 2.14: Giá trị đặc trưng thu được 34
Hình 2.15: Biểu đồ đặc trưng sau trích lọc 35
Hình 2.16: Giá trị đặc trưng thu được sau khi cho qua hàm kích hoạt 35
Hình 2.17: Biểu đồ đặc trưng thu được sau khi cho qua hàm kích hoạt 36
Hình 2.18: Kết quả đặc trưng thu được với ảnh RGB đưa vào để nhận dạng 36
Hình 2.19: Thực hiện phép gộp lấy giá trị lớn nhất 37
Hình 2.20: Kết quả thu được sau khi thực hiện max pooling 37
Hình 2.21: Kích thước đầu ra 4x4 khi cho qua một lớp ẩn 38
Hình 2.22: Kích thước đầu ra 2x2 khi cho qua hai lớp ẩn 38
Hình 2.23: Tạo véc tơ đặc trưng cho đối tượng 39
Hình 2.24: Giá trị véctơ đặc trưng của xe ô tô và xe máy 39
Hình 2.25: Giá trị đạt được giữa ảnh đưa vào với đối tượng là ô tô 40
Hình 2.26: Giá trị đạt được giữa ảnh đưa vào với đối tượng là xe máy 40
Hình 3.1: Bắt đầu cài đặt file môi trường 45
Hình 3.2: Cài đặt file môi trường thành công 45
Hình 3.3: Kích hoạt file môi trường thực nghiệm 46
Hình 3.4: Cài đặt thư viện Tensorflow-gpu từ công cụ pip 46
Hình 3.5: Quá trình cài đặt thư viện Tensorflow-gpu kết thúc 47
Hình 3.6: Các bước thực hiện trong hệ thống huấn luyện mô hình học 48
Hình 3.7: Thu thập dữ liệu hình ảnh hoa hồng và hoa hướng dương 48
Hình 3.8: Thu thập dữ liệu hình ảnh con người và xe ô tô 49
Hình 3.9: Gán nhãn cho hoa hồng và hoa cẩm tú cầu 49
Hình 3.10: Gán nhãn cho xe gắn máy và xe ô tô 49
Hình 3.11: File chương trình huấn luyện 50
Trang 10Hình 3.12: Quá trình chuyển đến file môi trường trên nền Anaconda Prompt 50
Hình 3.13: Tạo đường dẫn đến các cơ sở dữ liệu 51
Hình 3.14: a) Thực hiện lệnh gọi chạy mô hình thuật toán Faster R-CNN; b) Mô hình bắt đầu học nhận dạng các đối tượng từ cơ sở dữ liệu 51
Hình 3.15: a) Quá trình bắt đầu huấn luyện dữ liệu mô hình; b) Quá trình kết thúc huấn luyện dữ liệu mô hình 52
Hình 3.16: Biểu đồ mất mát theo thời gian của mô hình Faster R-CNN 52
Hình 3.17: Cơ sở dữ liệu sau khi huấn luyện mô hình học 53
Hình 3.18: Các file chương trình nhận dạng đối tượng 53
Hình 3.19: Hình ảnh hoa đưa vào mô hình nhận dạng 55
Hình 3.20: Kết quả nhận dạng bởi mô hình 55
Hình 3.21: Kết quả nhận dạng các đối tượng: a) con người; b) xe ô tô, con người; c) xe máy, con người; d) xe đạp, con người 57
Hình 3.22: Nguồn video hoa cẩm tú cầu di động 59
Hình 3.23: Kết quả nhận dạng hoa cẩm tú cầu bởi mô hình 59
Hình 3.24: Nguồn video người, xe di động 60
Hình 3.25: Kết quả nhận dạng người, xe di động bởi mô hình 61
Trang 11ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung:
- Tên đề tài: Nghiên cứu ứng dụng thuật toán mạng Nơ ron tích chập nhận dạng các
đối tượng di động
- Mã số: T2019-06-130
- Chủ nhiệm: KS Nguyễn Văn Nam
- Thành viên tham gia: TS Nguyễn Đức Quận
- Cơ quan chủ trì: Trường Đại học Sư Phạm Kỹ thuật – Đại học Đà Nẵng
- Thời gian thực hiện: Tháng 8/2019 đến tháng 8/2020
2 Mục tiêu: Mục tiêu của đề tài là xây dựng mô hình thuật toán mạng Nơ ron tích chập
khu vực nhanh hơn (Faster R-CNN - Faster region-based convolutional neural networks)
để nhận dạng các đối tượng tĩnh và di động, đánh giá độ chính xác của mô hình trong trường hợp tín hiệu đầu vào lúc bình thường và nhiễu Từ đó, tiến hành thực nghiệm mô hình nhận dạng các đối tượng tĩnh (nhận dạng đối tượng từ hình ảnh), thực nghiệm nhận dạng các đối tượng di động (nhận dạng các đối tượng từ một video hoặc từ một camera online) Đánh giá về khả năng ứng dụng mô hình thuật toán Faster R-CNN để nhận dạng
hệ động thực vật rừng di động
3 Tính mới và sáng tạo: Nghiên cứu này đã nghiên cứu thực nghiệm nhận dạng thành
công có các đối tượng tĩnh và di động Nghiên cứu đã cho các kết quả đánh giá độ chính xác nhận dạng của mô hình đối với hình ảnh ở chế độ bình thường và hình ảnh ở chế độ nhiễu
4 Tóm tắt kết quả nghiên cứu: Sản phẩm nghiên cứu đã hoàn thiện gồm: Một mô hình
thuật toán nhận dạng đối tượng ở chế độ tĩnh và di động; Một tập cơ sở dữ liệu sau huấn
Trang 12luyện nhận dạng cho mười loài hoa khác nhau; Một tập cơ sở dữ liệu sau huấn luyện nhận dạng cho các đối tượng như con người, xe ô tô, xe mô tô, xe đạp…
5 Tên sản phẩm: Thuật toán mạng Nơ ron tích chập nhanh hơn nhận dạng đối tượng tĩnh và di động
6 Hiệu quả, phương thức chuyển giao kết quả nghiên cứu và khả năng áp dụng:
- Giáo dục, đào tạo: Tài liệu tham khảo tốt cho giảng viên, sinh viên ngành tự động hóa,
ngành khoa học máy tính
- Kinh tế, xã hội: Áp dụng tích hợp trong robot thông minh nhận dạng đối tượng từ hình
ảnh phục vụ trong công nghiệp, nông nghiệp Tích hợp trong các drone phục vụ trong công tác cảnh báo cháy rừng, phục vụ công các điều tra và kiểm kê rừng thay cho con người
- Địa chỉ ứng dụng: Kết quả nghiên cứu có thể ứng dụng mô hình để nhận dạng các hệ
động thực vật rừng phục vụ trong giảng dạy và nghiên cứu, đặc biệt là công tác kiểm kê, thống kê tài nguyên rừng Huấn luyện mô hình này định danh các loài cây rừng từ hoa,
lá, thân…
7 Hình ảnh, sơ đồ minh họa chính
- Nhận dạng các loài hoa di động
Trang 13- Nhận dạng các đối tượng con người, xe ô tô, xe máy, xe đạp di động
Trang 14INFORMATION ON RESEARCH RESULTS
1 General information:
- Project title: Researching on application of convolution neural network algorithm
to identify mobile objects
- Code number: T2019-06-130
- Coordinator: Nguyen Van Nam
- Implementing institution: Nguyen Duc Quan
- Duration: from August 2019 to August 2020
2 Objective(s): The objective of the project is to build a Faster region-based
convolutional neural networks for identifying static and mobile objects, assessing the accuracy of the model in the case of normal input signals and noise From there, conduct practices on the identification of static objects (object recognition from image), practices
on the identification of mobile objects (identify objects from a video or from an online camer) Evaluation of the application of Faster R-CNN algorithm model to identify mobile forest fauna and flora
3 Creativeness and innovativeness: This study, has successfully empirically identified
static and moving objects The study gave the results evaluating the model's accuracy of identification for images in normal mode and images in noise mode
4 Research results: Completed research products include as follows: An
algorithmic model of object recognition in static and mobile mode; A set of post-training databases to identification for ten different flower species; A set of post-training databases to identification for objects such as people, cars, motorcycles, bicycles etc
5 Products: Algorithm Faster region-based convolutional neural networks to
identification for objects static and mobile objects
6 Effects, transfer alternatives of reserach results and applicability:
- Educations: Good references for lecturers, students of automation, computer
science
- Socioeconomic: Applied integration in intelligent robots to identify objects from
images serving in industry and agriculture Integrating in drones to serve forest fire
Trang 15warnings, serving surveys and inventory of forests on behalf of humans
- Socioeconomic: Applied integration in intelligent robots to identify objects from
images serving in industry and agriculture Integrating in drones to serve forest fire warnings, serving surveys and inventory of forests on behalf of humans
- Application address: Research results can apply models to identify forest flora and
fauna serving in teaching and research, especially forest inventory and statistics Training for identification models of forest trees from flowers, leaves, stems, etc
7 Photos, diagrams illustrate the main
- Identification of mobile flowers
- Identify human objects, cars, motorcycles, and mobile bicycles
Trang 161
MỞ ĐẦU
Hiện nay, việc ứng dụng công nghệ trí tuệ nhân tạo vào thực tế đang được các nhà khoa học quan tâm và tham gia nghiên cứu phát triển để tạo ra sản phẩm có khả năng làm việc thay thế cho con người trong nhiều lĩnh vực như: Công nghiệp; dân dụng; y tế; v.v… Với những hiệu năng mà nó mang lại ở hiện tại thì khả năng trong tương lai không
xa chúng ta sẽ có những thiết bị máy móc không những làm việc hiệu quả mà còn khả năng thông minh Để có được những thiết bị thông minh và có khả năng làm việc như con người thì những yêu cầu đặt ra để cho máy học cũng không hề đơn giản Thứ nhất
về xây dựng tập dữ liệu để cho máy học, nó là một tập cơ sở dữ liệu lớn (big database) cho máy học nhận biết nhiều đối tượng khác nhau (hàng ngàn đến chục ngàn đối tượng…) Thứ hai là về cấu hình phần cứng, để đáp ứng xử lý được các tập dữ liệu lớn thì yêu câu về cấu hình phần cứng cũng tương xứng và nếu cơ sở dữ liệu quá lớn thì hiện nay chưa thể thực hiện được Do vậy, việc nhận dạng các đối tượng là một phần không thể thiếu đối với trí tuệ nhân tạo, deep learning
1 Tính cấp thiết của đề tài
Những năm gần đây, việc ứng dụng các mô hình Deep Learning vào trong thực tế được nhiều nhà khoa học quan tâm tham gia nghiên cứu, nổi trội trong đó là mô hình mạng Nơ ron tích chập (CNN - Convolutional Neural Networks) [1], [2], [3] như một ứng cử viên sáng giá để giải quyết các vấn đề như: xử lý dữ liệu đầu vào lớn; xử lý online; nâng cao độ chính xác và khả năng xử lý nhiễu đầu vào Để thực hiện được những yêu cầu trên mô hình CNN cũng trải qua các cải tiến cụ thể: Mạng Nơ ron tích chập khu vực (R-CNN - Regional convolutional neural networks) [4], [5], [6]; Mạng Nơ ron tích chập khu vực nhanh (Fast R-CNN - Fast region-based convolutional neural networks) [7]; Mạng Nơ ron tích chập khu vực nhanh hơn (Faster R-CNN - Faster region-based convolutional neural networks) [8], [9]
Trong đó, mô hình Faster R-CNN không dùng thuật toán tìm kiếm chọn lọc để lấy
ra các khu vực, mà nó thêm một mạng CNN mới gọi là mạng đề xuất khu vực (RPN - Region Proposal Networks) để tìm các khu vực [8] Đầu tiên cả bức ảnh được cho qua
mô hình huấn luyện trước để lấy bản đồ đặc trưng Sau đó bản đồ đặc trưng được dùng cho RPN để lấy được các khu vực, sau khi lấy được vị trí các khu vực thì thực hiện
Trang 172
tương tự Fast R-CNN [7]
Một kết quả thử nghiệm về thời gian của R-CNN [10] được thể hiện tại hình 1
Hình 1: Thử thời gian R-CNN Hình 1 ta thấy Faster R-CNN nhanh hơn hẳn các dòng R-CNN trước đó, vì vậy có thể dùng cho nhận dạng đối tượng ở thời gian thực
Độ chính xác nhận dạng là một yếu tố quan trọng của mô hình khi ứng dụng vào trong thực tế, khi đầu vào bị nhiễu (nhiễu: hình ảnh trong môi trường trời tối, trời mưa hoặc ảnh bị che khuất một phần…) nó ảnh hưởng đến quá trình nhận dạng như thế nào?
Do vậy, trong nghiên cứu này sẽ cho thấy được sự ảnh hưởng của nhiễu ở đầu vào lên
độ chính xác trong nhận dạng của mô hình Faster R-CNN
Để thực hiện nghiên cứu trên trên đầu tiên tác giả tiến hành huấn luyện cho mô hình Faster R-CNN nhận dạng mười loài hoa khác nhau, vì loài hoa rất phổ biến và dễ tiếp cận nên sẽ thuận lợi trong quá trình thu thập dữ liệu để phục vụ cho việc nghiên cứu Sau khi thực nghiệm mô hình trên các loài hoa tác giả sẽ tiến hành nghiên cứu bước tiếp theo là thực nghiệm cho các đối tượng di động Đề tài này tác giả muốn hướng đến ứng dụng mô hình này vào phục vụ trong ngành lâm nghiệp, muốn huấn luyện mô hình này định danh các loài cây rừng từ hoa, lá, thân… bởi vì muốn định danh được một số loài cây rừng thì hiện nay phải nhờ đến các chuyên gia mới định danh được Ngoài ra, ứng dụng các mô hình nhận dạng định danh cho các loài cây rừng hay nhận dạng các loài động vật vẫn chưa được áp dụng phục vụ trong ngành lâm nghiệp Việc điều tra, kiểm kê tài nguyên rừng hiện tại đang rất cần sự hỗ trợ của công nghệ hiện đại để giải
Trang 183
quyết những khó khăn trong công tác quản lý tài nguyên rừng, công việc mà lâu nay hầu như do con người thực hiện Để việc ứng dụng vào thực tế mang lại được hiệu quả tốt thì cũng cần có các đánh giá trong quá trình thực nghiệm
Ngoài ra, chúng ta có thể ứng dụng kết hợp mô hình nhận dạng vào chế tạo máy thu hoạch hoa tươi cho các nhà vườn trồng hoa theo mô hình công nghiệp hoặc ứng dụng vào phục vụ cho các shop, siêu thị kinh doanh hoa tươi tự động thông qua các phần mềm ứng dụng trên máy tính, các phần mềm App trên điện thoại di động… là một hướng nghiên cứu ứng dụng mới sẽ góp phần mang lại hiệu quả cao trong sản xuất, kinh doanh
Với những lý do trên, tôi quyết định chọn nghiên cứu đề tài: “Nghiên cứu ứng dụng thuật toán mạng Nơ ron tích chập nhận dạng các đối tượng di động” Mục
tiêu của đề tài là thực nghiệm mô hình Faster R-CNN nhận dạng các đối tượng tĩnh và
di động, đưa ra các đánh giá độ chính xác của mô hình trong trường hợp tín hiệu đầu vào lúc bình thường và nhiễu
2 Mục tiêu của đề tài
Mục tiêu của đề tài là xây dựng mô hình thuật toán mạng Nơ ron tích chập khu vực nhanh hơn (Faster R-CNN - Faster region-based convolutional neural networks) để nhận dạng các đối tượng tĩnh và di động, đánh giá độ chính xác của mô hình trong trường hợp tín hiệu đầu vào lúc bình thường và nhiễu Từ đó, tiến hành thực nghiệm mô hình nhận dạng các đối tượng tĩnh (nhận dạng đối tượng từ hình ảnh), thực nghiệm nhận dạng các đối tượng di động (nhận dạng các đối tượng từ một video hoặc từ một camera online) Đánh giá về khả năng ứng dụng mô hình thuật toán Faster R-CNN để nhận dạng
hệ động thực vật rừng di động
3 Đối tượng, phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Cơ sở dữ liệu trên hình ảnh, video trên Google
- Cơ sở lý thuyết về nhận dạng các đối tượng
- Các phương pháp, giải thuật về nhận dạng đối tượng
- Thuật toán mạng Nơ ron tích chập
Trang 194
3.2 Phạm vi nghiên cứu
- Nghiên cứu về các kỹ thuật nhận dạng các đối tượng từ hình ảnh
- Nghiên cứu nhận dạng đối tượng tĩnh và di động
4 Cách tiếp cận, phương pháp nghiên cứu
4.1 Cách tiếp cận
- Tìm hiểu nghiên cứu các tài liệu liên quan đến đề tài trên các tạp chí trong và ngoài nước, trên các trang diễn đàn kỹ thuật, nguồn tư liệu từ các trang mạng internet như Google, YouTube…
4.2 Phương pháp nghiên cứu
4.2.1 Phương pháp lý thuyết:
- Tìm hiểu cơ sở lý thuyết về xử lý hình ảnh, xử lý video …
- Tìm hiểu cơ sở lý thuyết về thuật toán mạng Nơ ron tích chập
- Các tài liệu liên quan đến nhận dạng các đối tượng từ hình ảnh, video, từ kho dữ liệu Google
4.2.2 Phương pháp thực nghiệm
- Xây dựng mô hình Faster R-CNN để nhận dạng đối tượng tĩnh và di động
- Kiểm tra đánh giá độ chính xác mô hình Faster R-CNN nhận dạng thực nghiệm
10 loài hoa trong trường hợp hình ảnh đưa vào lúc bình thường và nhiễu
5 Nội dung nghiên cứu
Nội dung của đề tài bao gồm:
Mở đầu
Chương 1: Mạng Nơ ron và mạng Nơ ron tích chập
Chương 2: Tổng quan về thuật toán nhận dạng
Chương 3: Ứng dụng mạng Nơ ron tích chập trong nhận dạng các đối tượng di động
Kết luận
Trang 20Perceptron được phát triển trong những năm 1950-1960 bởi nhà khoa học Frank Rosenblatt dựa trên cảm hứng từ nghiên cứu trước đó của Warren McCulloch và Walter Pitts Cách thức hoạt động của perceptrons là sử dụng một vài đầu vào nhị phân x1, x2…
và tạo ra một đầu ra nhị phân như Hình 1.1
Hình 1.1: Cách thức perceptron hoạt động [11]
Giả sử perceptrons có ba đầu vào: 𝑥1, 𝑥2, 𝑥3 Để tính toán đầu ra chúng ta giả sử các trọng số 𝑤1, 𝑤2, 𝑤3… là các số thực diễn tả độ quan trọng của đầu vào tương ứng Đầu ra của Nơ ron là 0 hay 1 được xác định thông qua so sánh tổng xích ma của các tích 𝑤𝑗 ∗ 𝑥𝑗 với một giá trị ngưỡng (threshold) theo biểu thức:
Trang 216
𝑥𝑗 > 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑 là phức tạp, chúng ta có thể tạo ra hai thay đổi Một là, viết 𝑡ổ𝑛𝑔 𝑤𝑗∗
𝑥𝑗 bằng 𝑤 𝑥 với 𝑤 và 𝑥 là các véctơ trọng số và đầu vào Hai là, chuyển ngưỡng sang bên trái của bất đẳng thức, và đặt chúng là bias (một ngưỡng mới) của perceptrons Qua
đó chúng ta có thể viết lại công thức (1.1) thành:
w x b output
ra không phải là 0 hay 1 Thay vào đó đầu ra là 𝜎(𝑤 𝑥 + 𝑏), với 𝜎 là hàm sigmoid được định nghĩa như sau:
(1.3) Hay áp dụng vào Nơ ron có các đầu vào 𝑥1, 𝑥2, … và các trọng số 𝑤1, 𝑤2, … và b,
ta được đầu ra là:
(1.4)
1 ( )
Trang 22Hình 1.3: Cấu trúc mạng Nơ ron đề xuất dựa trên [11]
Trang 238
1.2 Mạng Nơ ron tích chập (CNN)
1.2.1 Kiến trúc mạng Nơ ron tích chập
Mạng Nơ ron tích chập có kiến trúc khác với mạng Nơ ron thông thường Mạng
Nơ ron bình thường chuyển đổi đầu vào thông qua hàng loạt các tầng ẩn Mỗi tầng là một tập các Nơ ron và các tầng được liên kết đầy đủ với các Nơ ron ở tầng trước đó Và
ở tầng cuối cùng sẽ là tầng kết quả đại diện cho dự đoán của mạng
Đầu tiên, mạng Nơ ron tích chập được chia thành 3 chiều: rộng, cao và sâu Tiếp theo các Nơ ron trong mạng không liên kết hoàn toàn với toàn bộ Nơ ron kế đó nhưng chỉ liên kết tới một vùng nhỏ Cuối cùng một tầng đầu ra được tối giản thành véctơ của giá trị xác suất
Hình 1.4: Mạng Nơ ron thông thường (trái) và mạng Nơ ron tích chập (phải) CNN gồm hai thành phần:
- Phần tầng ẩn hay phần rút trích đặc trưng: trong phần này mạng sẽ tiến hành tính toán hàng loạt phép tích chập và phép hợp nhất (pooling) để phát hiện các đặc trưng Ví dụ: nếu ta có hình ảnh con ngựa vằn thì trong phần này mạng sẽ nhận diện các sọc vằn, hai tai, và bốn chân của nó
- Phần phân loại: tại phần này một lớp với các liên kết đầy đủ sẽ đóng vai trò như một bộ phân lớp các đặc trưng đã rút trích được trước đó Tầng này sẽ đưa ra xác suất của một đối tượng trong Hình 1.5
Trang 249
Hình 1.5: Kiến trúc mạng CNN Hoặc có thể biểu diễn như Hình 1.6 sau:
Hình 1.6: Lớp rút trích đặc trưng của ảnh (Conv, Relu và Pool) và Lớp phân loại (FC
và softmax)
1.2.2 Rút trích đặc trưng
Tích chập là một khối quan trọng trong CNN Thuật ngữ tích chập được dựa trên một phép hợp nhất toán học của hai hàm tạo thành hàm thứ ba Phép toán này kết hợp hai tập thông tin khác nhau
Trong trường hợp CNN tích chập được thực hiện trên giá trị đầu vào của dữ liệu
và kernel/filter (hạt nhân/bộ lọc - thuật ngữ này được sử dụng khác nhau tùy tình huống)
để tạo ra một bản đồ đặc trưng (feature map)
Ta thực hiện phép tích chập bằng cách trượt hạt nhân/bộ lọc theo dữ liệu đầu vào
Trang 25Hình 1.7: Phép tích chập Trong thực tế, tích chập được thực hiện hiện trên không gian 3 chiều Vì mỗi hình ảnh được biểu diễn dưới dạng 3 chiều: rộng, cao và sâu Chiều sâu ở đây chính là giá trị màu sắc của hình ảnh (RGB - ảnh màu: Đỏ, Xanh lục, Xanh lam)
Hình 1.8: Ảnh RGB và ảnh xám
Trang 2611
Ta thực hiện phép tích chập trên đầu vào nhiều lần khác nhau Mỗi lần sử dụng một hạt nhân/bộ lọc khác nhau Kết quả ta sẽ thu được những bản đồ đặc trưng khác nhau Cuối cùng, ta kết hợp toàn bộ bản đồ đặc trưng này thành kết quả cuối cùng của tầng tích chập
Tương tự như mạng Nơ ron thông thường ta sử dụng một hàm kích hoạt (activate function) để có đầu ra dưới dạng phi tuyến Trong trường hợp CNN đầu ra của phép tích chập sẽ đi qua hàm kích hoạt nào đó ví dụ như hàm ReLU (rectified linear units - hàm kích hoạt tuyến tính )
Trong quá trình trượt hạt nhân/bộ lọc trên dữ liệu đầu vào ta sẽ quy định một bước nhảy (stride) với mỗi lần di chuyển Thông thường ta lựa chọn bước nhảy là 1 Nếu kích thước bước nhảy tăng, hạt nhân/bộ lọc sẽ có ít ô trùng lắp
Bởi vì kích thước đầu ra luôn nhỏ hơn đầu vào nên ta cần một phép xử lí đầu vào
để đầu ra không bị co giãn Đơn giản ta chỉ cần thêm một lề nhỏ vào đầu vào Một lề với giá trị 0 sẽ được thêm vào xung quanh đầu vào trước khi thực hiện phép tích chập Thông thường sau mỗi tầng tích chập ta sẽ cho kết quả đi qua một tầng hợp nhất (pooling layer) Mục đích của tầng này là để nhanh chóng giảm số chiều, việc này giúp giảm thời gian học và hạn chế việc vượt quá (overfitting)
Một phép hợp nhất đơn giản thường được dùng đó là phép gộp lấy giá trị lớn nhất (max pooling), phép này lấy giá trị lớn nhất của một vùng để đại diện cho vùng đó Kích thước của vùng sẽ được xác định trước để giảm kích thước của bản đồ đặc trưng nhanh chóng nhưng vẫn giữ được thông tin cần thiết
Hình 1.9: Phép gộp lấy giá trị lớn nhất kích thước 2×2
Trang 27đủ, phần này hoạt động tương tự như mạng Nơ ron thông thường
Kết quả thu được cuối cùng cũng sẽ là một véctơ với các giá trị xác suất cho việc
dự đoán như mạng Nơ ron thông thường
Hình 1.10: Ví dụ cho tích chập với 2 bộ lọc, 3 cột, 2 bước nhảy, lề = 1
Trang 2813
1.3 Mạng Nơ ron tích chập khu vực nhanh hơn (Faster R-CNN)
1.3.1 Bài toán nhận dạng vật thể (Object Detection)
Một trong những lĩnh vực quan trọng của Trí tuệ nhân tạo (Artificial Intelligence)
là thị giác máy (Computer Vision) Thị giác máy tính là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy Nhận dạng đối tượng (Object Detection) có lẽ là khía cạnh sâu sắc nhất của thị giác máy do số lần sử dụng trong thực tế Nhận dạng đối tượng đề cập đến khả năng của hệ thống máy tính và phần mềm để định vị các đối tượng trong một hình ảnh và xác định từng đối tượng Nhận dạng đối tượng đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái Có nhiều cách để nhận diện đối tượng có thể được sử dụng cũng như trong nhiều lĩnh vực thực hành Giống như mọi công nghệ khác, một loạt các ứng dụng sáng tạo và tuyệt vời của nhận dạng đối tượng sẽ đến từ các lập trình viên và các nhà phát triển phần mềm
Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng
và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này Việc phát triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ điển, giống như các thuật toán được hỗ trợ trong thư viện ảnh (OpenCV), thư viện computer vision phổ biến Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ
để làm việc trong các điều kiện khác nhau
Việc áp dụng đột phát và nhanh chóng của mô hình học sâu (deep learning) vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đối tượng hiện đại và chính xác cao như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet và nhanh hơn nhưng rất chính xác như SSD (Máy dò MultiBox-Single Shot MultiBox Detector) và YOLO (Bạn chỉ nhìn một lần-You only look once) Sử dụng các phương pháp và thuật toán này, dựa trên học sâu và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc học sâu Có hàng triệu chuyên gia lập trình và các nhà phát triển phần mềm muốn tích hợp và tạo ra các sản phẩm mới sử dụng nhận dạng đối tượng Nhưng công nghệ này xa tầm tay của họ và phức tạp để hiểu và sử dụng thực tế của nó
Trang 2914
Image Artificial Intelligence (ImageAI-Ảnh thông minh), một thư viện python cho phép các lập trình viên và các nhà phát triển phần mềm dễ dàng tích hợp các công nghệ thị giác máy hiện đại vào các ứng dụng hiện có và mới của họ, và chỉ cần sử dụng một vài dòng mã (code) ImageAI hỗ trợ một danh sách các thuật toán học máy hiện đại nhất cho việc dự đoán hình ảnh, nhận diện vật thể, phát hiện video,
Hình 1.11: Nhận dạng hoa đồng tiền Bài toán nhận dạng đối tượng có đầu vào là ảnh màu và đầu ra là vị trí của các vật thể trong ảnh Ta thấy nó bao gồm hai bài toán nhỏ:
Vấn đề chính là vì không biết trước có bao nhiêu vật thể trong ảnh, nên không thiết
kế được lớp đầu ra hiệu quả Mô hình CNN [1], [2], [3] truyền thống không giải quyết
Trang 3015
được nên R-CNN [4], [5], [6] ra đời
1.3.2 Mạng Nơ ron tích chập khu vực (R-CNN)
Ý tưởng thuật toán R-CNN khá đơn giản:
- Bước 1: Dùng thuật toán tìm kiếm chọn lọc để lấy ra khoảng 2000 khu vực trong ảnh đầu vào mà có khả năng chứa vật thể
- Bước 2: Với mỗi khung ta xác định xem nó là vật thể nào
1.3.2.1 Thuật toán tìm kiếm chọn lọc
Đầu vào của thuật toán là ảnh màu, đầu ra là khoảng 2000 khu vực mà có khả năng chứa các vật thể
Đầu ra sau khi thực hiện phân loại hình ảnh
Hình 1.12: Hình ảnh trước (a) và sau khi thực hiện thuật toán tìm kiếm chọn lọc (b)
1.3.2.2 Phân loại khu vực được đề xuất
Bài toán trở thành phân loại ảnh cho các khu vực Do thuật toán tìm kiếm chọn lọc cho tới 2000 khu vực được đề xuất nên có rất nhiều khu vực không chứa vật thể nào Vậy nên ta cần thêm một lớp nền không chứa vật thể nào Ví dụ như Hình 1.13 dưới ta
có 4 khu vực, ta sẽ phân loại mỗi khung là người, ngựa hay nền [4]
Trang 3116
Hình 1.13: Các khu vực đặc trưng mạng Nơ ron tích chập
- Bước 1: Sử dụng các mạng huấn luyện sẵn để chuyển tiếp các khu vực được đề xuất, sẽ tốn nhiều thời gian bởi với mỗi ảnh thuật toán tìm kiếm chọn lọc sẽ cho ra hàng ngàn khu vực
- Bước 2: Sẽ chỉ chuyển tiếp một lần đối với ảnh gốc, thu được đặc trưng tích chập của ảnh đó Ví dụ với một hình ảnh có kích thước 600×600×3, ta sẽ thu được đặc trưng với kích thước 37×37×512 Kích thước của đặc trưng bị giảm nhỏ khoảng 16 lần
- Bước 3: Dựa vào kích thước cùng vị trí của các khu vực đối với ảnh gốc, ta sẽ tính toán được vị trí của khu vực trong đặc trưng tích chập
- Bước 4: Sử dụng giá trị đặc trưng tích chập của khu vực, ta dự đoán được vị trí các đỉnh của các khung cũng như vật thể nằm trong khung đó là gì
Sau đó các khu vực được đề xuất được thay đổi kích thước lại về cùng kích thước
và thực hiện thay đổi việc học, với đặc trưng được trích xuất, sau đó các đặc trưng được cho vào thuật toán SVM (phần mềm hỗ trợ tạo véctơ - support vector machine) để phân loại ảnh
Bên cạnh đó thì các đặc trưng được trích xuất cũng được dùng để dự đoán 4 giá trị cho mỗi cạnh Ví dụ như khi khu vực đó chứa người nhưng chỉ có phần thân và nửa mặt, nửa mặt còn lại không có trong khu vực đó thì giá trị cho mỗi cạnh có thể giúp mở rộng khu vực để lấy được toàn bộ người
Trang 3217
- Không thể áp dụng cho thời gian thực vì mỗi ảnh trong tập dữ liệu kiểm thử mất tới 47s để xử lý
1.3.3 Mạng Nơ ron tích chập khu vực nhanh (Fast R-CNN)
Sau khi đã có đầu ra của các khu vực, chúng ta sẽ tìm hiểu về khái niệm khu vực Tại mỗi vị trí của cửa sổ trượt trên đặc trưng tích chập, chúng ta tạo ra k khu vực tương ứng ở hình ảnh gốc Trong nghiên cứu [7] tác giả sử dụng một hình vuông, 2 hình chữ nhật với tỉ lệ chiều rộng, chiều dài là 1×2 hoặc 2×1, cùng với 3 kích cỡ khác nhau, như vậy k= 3×3 = 9
Các khu vực này sẽ được gán mác là tích cực hoặc tiêu cực dựa vào diện tích chồng chéo với khu vực chứa vật thể (ground truth box-hộp chứa vật thể) theo luật như sau Các khu vực được phân loại là tích cực nếu:
- Là khu vực có tỉ lệ diện tích chồng chéo trên diện tích chồng chéo over-Union) lớn nhất với một ground truth box
(Intersection Là khu vực có tỉ lệ giao nhau với một ground truth lớn hơn 0.7
Các khu vực được phân loại là tiêu cực nếu có giá trị IoU (Region of Interest- khu vực quan tâm) bé hơn 0.3
Tại sao phải tạo ra những khu vực này? Câu trả lời gồm 2 nguyên nhân chính:
- Dựa phân loại của khu vực, để dự đoán xác suất chứa vật thể của các khu vực
- Dựa vào khoảng cách từ anchor (mẫu) đến ground truth box, để dự đoán vị trí của khung
Từ đây ta xác định được mục tiêu đầu ra của hộp hồi quy (box-regression) và hộp phân loại (box-classification) được nhắc tới ở phần cấu trúc mạng RPN
Box-classification dự đoán xác suất chứa vật thể của k khu vực được đề xuất, tương ứng với k anchor tại từng vị trí của cửa sổ trượt (sliding-window)
Box-regression dự đoán khoảng cách từ anchor đến khung dữ liệu thật tương ứng Tuy nhiên là kích thước của các khu vực khác nhau nên khi làm phẳng sẽ ra các véctơ có kích thước khác nhau nên không thể áp dụng mạng Nơ ron (neural network) được Nó đã thay đổi kích thước các khu vực về cùng kích thước trước khi dùng thay
Trang 3318
đổi cách học Tuy nhiên ở bản đồ đặc trưng ta không thể thay đổi kích thước được, nên
ta phải có cách khác để chuyển các khu vực trong bản đồ đặc trưng về cùng kích thước
Do đó ROI pooling (khu vực quan tâm) ra đời
1.3.3.1 Khu vực quan tâm (ROI pooling)
ROI pooling (Region of Interest pooling) là một dạng của pooling layer Điểm khác so với max pooling (phép gộp lấy giá trị lớn nhất) hay average pooling (phép gộp chung) là bất kể kích thước của đầu vào của đối tượng (tensor), ROI pooling luôn cho
ra đầu ra có kích thước cố định được định nghĩa trước
Ta kí hiệu a/b là phần nguyên của a khi chia cho b và a%b là phần dư của a khi chia cho b Ví dụ: 10/3 = 3 và 10%3 = 1
Gọi đầu vào của ROI pooling kích thước m×n và đầu ra có kích thước h×k (thông thường h, k nhỏ ví dụ 7×7)
Ta chia chiều rộng thành h phần, (h-1) phần có kích thước m/h, phần cuối có kích thước m/h+ m%h
Tương tự ta chia chiều dài thành k phần (k-1) phần có kích thước n/k, phần cuối
Trang 341.3.3.2 Đánh giá giữa R_CNN và Fast R-CNN
So sánh thời huấn luyện và kiểm tra giữa R-CNN và Fast R-CNN [10]
Hình 1.16: So sánh thời gian huấn luyện và kiểm tra giữa R-CNN và Fast R-CNN Fast R-CNN khác với R-CNN là nó thực hiện bản đồ đặc trưng với các ảnh sau đó
Trang 3520
mới lấy các khu vực ra từ bản đồ đặc trưng, còn R-CNN thực hiện tách các khu vực ra rồi mới thực hiện CNN trên từng khu vực Do đó Fast R-CNN nhanh hơn đáng kể nhờ tối ưu, việc tính toán bằng véctơ hóa (Vectorization)
Tuy nhiên Hình 1.16 ta thấy ở phần kiểm tra thời gian với mục Fast R-CNN thì thời gian tính khu vực rất lâu và làm chậm thuật toán Cần thay thế thuật toán tìm kiếm chọn lọc Giờ người ta nghĩ đến việc dùng deep learning để tạo ra khu vực và Faster R-CNN [8] ra đời
1.3.4 Mạng Nơ ron tích chập khu vực nhanh hơn
Faster R-CNN [8], [9] không dùng thuật toán tìm kiếm chọn lọc để lấy ra các khu vực, mà nó thêm một mạng CNN mới gọi là RPN để tìm các khu vực
Hình 1.17: Mô hình ROI pooling Đầu tiên cả bức ảnh được cho qua mô hình huấn luyện trước để lấy bản đồ đặc trưng Sau đó bản đồ đặc trưng được dùng cho RPN để lấy được các khu vực Sau khi lấy được vị trí các khu vực thì thực hiện tương tự Fast R-CNN [7]
Đầu vào của RPN là bản đồ đặc trưng và đầu ra là các khu vực Ta thấy các khu vực là hình chữ nhật
Trang 3621
Hình 1.18: Lấy vị trí
Mà một hình chữ nhật được xác định bằng 2 điểm ở 2 góc, ví dụ A (x_min, y_min)
và B (x_max, y_max) Nhận xét:
- Khi RPN dự đoán ta phải ràng buộc x_min < x_max và y_min < y_max
- Hơn nữa các giá trị x, y khi dự đoán có thể ra ngoài khỏi bức ảnh
Nên Cần một kỹ thuật mới để biểu diễn khu vực Anchor (mẫu) ra đời
Ý tưởng là thay vì dự đoán 2 góc ta sẽ dự đoán điểm trung tâm (x_center, y_center)
và chiều rộng (width), chiều cao (height) của hình chữ nhật Như vậy mỗi anchor được xác định bằng 4 tham số (x_center, y_center, width, height)
Vì không sử dụng tìm kiếm chọn lọc nên RPN ban đầu cần xác định các anchor box (hộp mẫu) có thể là khu vực, sau đó qua RPN thì chỉ đầu ra những anchor box chắc chắn chứa vật thể [12]
Hình 1.19: Vị trí cửa sổ trượt (sliding window) Ảnh bên trái kích thước 400×600 pixel, các tâm của anchor box màu xanh, cách nhau 16 pixel, vậy có khoảng (400×600)/ (16×16) = 938 tâm Do các vật thể trong ảnh
có thể có kích thước và tỉ lệ khác nhau nên với mỗi tâm ta định nghĩa 9 anchors với kích thước 64×64, 128×128, 256×256, mỗi kích thước có 3 tỉ lệ tương ứng: 1:1, 1:2 và 2:1
Trang 37- Dự đoán xem anchor đấy là mặt nổi (chứa vật thể) hay nền (không chứa vật thể)
- Dự đoán 4 giá trị cho x_center, y_center, width (rộng), height (cao) cho các anchor
Nhận xét: có rất nhiều anchor bị chồng lên nhau nên non-maxima suppression được dùng để loại bỏ các anchor chồng lên nhau
Sau cùng dựa vào phần trăm dự đoán nền RPN sẽ lấy N anchor (N có thể 2000,
1000, thậm chí 100 vẫn chạy tốt) để làm khu vực
Hình 1.20: Các khu vực RPN
1.3.4.1 Giao nhau giữa hai hộp giới hạn (IoU)
IoU (Intersection over Union) được sử dụng trong bài toán nhận dạng đối tượng (object detection), để đánh giá xem hộp giới hạn (bounding box) dự đoán đối tượng
khớp với thực địa (ground truth) thật của đối tượng
Trang 3823
Hình 1.21: Hệ số IoU Nhận xét:
Chỉ số IoU trong khoảng [0,1]
IoU càng gần 1 thì bounding box dự đoán càng gần ground truth
Hình 1.22: Mô tả hệ số IoU Ngoài ra thì hệ số IoU cũng được dùng để đánh giá độ khớp của 2 hình chữ nhật
1.3.4.2 Kết quả của Faster R-CNN
Trang 39- Bước 2: Bản đồ đặc trưng được dùng cho Region proposal network (RPN)
- Bước 3: Sau đó lấy cấc vị trí khu vực
- Bước 4: Thay đổi kích thước đặc trưng về một kích thước cố định
- Bước 5: Lớp kết nối các đặc trưng lại với nhau
- Bước 6: Chia ra hai lớp kết nối
- Bước 7: Đầu ra là các lớp và khung ranh giới
Trang 4025
CHƯƠNG 2 - TỔNG QUAN VỀ NHẬN DẠNG CÁC ĐỐI
TƯỢNG
2.1 Khái niệm về nhận dạng đối tượng
Nhận dạng đối tượng là quá trình tìm kiếm các đối tượng trong thế giới thực như
xe hơi, xe đạp, hoa, con người… trong các hình ảnh tĩnh hoặc Video Nó cho phép nhận dạng, bản địa hóa và phát hiện nhiều đối tượng trong một hình ảnh giúp chúng ta hiểu
rõ hơn về toàn bộ hình ảnh Nó thường được sử dụng trong các ứng dụng như truy xuất hình ảnh, bảo mật, giám sát và các hệ thống hỗ trợ người lái tiên tiến
Nhận dạng mẫu là một ngành thuộc lĩnh vực máy học, nó có thể được xem là việc
"cần thực hiện một tác động” vào dữ liệu thô mà tác động cụ thể là gì sẽ tùy vào loại của
dữ liệu đó Như vậy nó là một tập các phương pháp học có giám sát
Nhận dạng mẫu nhằm mục đích phân loại dữ liệu dựa trên là kiến thức đi trước hoặc dựa vào thông tin thống kê được trích rút từ các mẫu có sẵn Các mẫu cần phân loại thường được biểu diễn thành các nhóm của các dữ liệu đo đạc hay quan sát được, mỗi nhóm là một điểm ở trong một không gian đa chiều phù hợp Đó là không gian của các đặc tính để dựa vào đó ta có thể phân loại
Một hệ thống nhận dạng mẫu hoàn thiện gồm một thiết bị cảm nhận để thu thập các quan sát cần cho việc phân loại hay miêu tả, một cơ chế trích rút đặc trưng để tính toán các thông tin dưới dạng số hay dạng tượng trưng từ các dữ liệu quan sát được, và một bộ phân loại nhằm thực hiện công việc phân loại thực sự dựa vào các đặc tính đã được trích rút
Việc phân loại thường dựa vào sự có sẵn của một tập các mẫu mà đã được phân loại sẵn Tập các mẫu này được gọi là tập huấn luyện và chiến lược học nhằm phân loại mẫu vào một trong các lớp có sẵn được gọi là học có giám sát Việc học cũng có thể là không có giám sát, theo nghĩa là hệ thống không được cung cấp các mẫu được gán nhãn
đi trước, mà nó phải tự đưa ra các lớp để phân loại dựa vào tính ổn định trong thống kê của các mẫu
Việc phân loại thường dùng một trong các hướng tiếp cận sau: thống kê hoặc cú pháp Nhận dạng mẫu dùng thống kê là dựa vào các đặc tính thống kê của các mẫu, chẳng hạn rằng các mẫu được tạo bởi một hệ thống xác suất Nhận dạng dùng cấu trúc
là dựa vào tương quan cấu trúc giữa các mẫu