Tải bản đầy đủ (.pdf) (77 trang)

ỨNG DỤNG MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC ĐỐI TƯỢNG DI ĐỘNG LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.94 MB, 77 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------------

NGUYỄN VĂN NAM

ỨNG DỤNG MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC
ĐỐI TƯỢNG DI ĐỘNG

LUẬN VĂN THẠC SĨ
KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

Đà Nẵng – Năm 2020


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------------

NGUYỄN VĂN NAM

ỨNG DỤNG MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC
ĐỐI TƯỢNG DI ĐỘNG

Chuyên ngành : KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
Mã số: 852 02.16

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGƠ ĐÌNH THANH


Đà Nẵng – Năm 2020


LỜI CAM ĐOAN
Tơi cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong luận văn là trung thực và chưa từng được ai cơng bố trong bất kỳ cơng trình
nào khác.
Tác giả luận văn


MỤC LỤC
LỜI CAM ĐOAN
MỤC LỤC
TÓM TẮT LUẬN VĂN
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
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 ......................................................................................... 3
4. Cách tiếp cận, phương pháp nghiên cứu .................................................................. 3
4.1 . Cách tiếp cận ................................................................................................... 3
4.2 . Phương pháp nghiên cứu ................................................................................. 3
5. Nội dung nghiên cứu ............................................................................................... 4
CHƯƠNG 1 - TỔNG QUAN VỀ THUẬT TOÁN NHẬN DẠNG .............................. 5
Tổng quan về nhận dạng đối tượng ....................................................................... 5
1.1.1. Khái niệm về nhận dạng ................................................................................ 5

1.1.2. Các khó khăn trong việc nhận dạng đối tượng................................................ 5
1.1.3. Các ứng dụng trong nhận dạng đối tượng hiện nay ........................................ 9
1.1.4. Tổng quan kiến trúc một hệ thống nhận dạng đối tượng ................................. 9
1.1.5. Tổng quan về nhận dạng hoa........................................................................ 10
Tổng quan về mạng Nơ ron ................................................................................. 11
Tổng quan về mạng Nơ ron tích chập (CNN) ...................................................... 14
1.3.1. Kiến trúc mạng Nơ ron tích chập ................................................................. 14
1.3.2. Rút trích đặc trưng ....................................................................................... 15
1.3.3. Phân loại ...................................................................................................... 17
Tổng quan về Faster R-CNN ............................................................................... 18
1.4.1. Bài toán nhận dạng vật thể (Object Detection) ............................................. 18
1.4.2. Mạng Nơ ron tích chập khu vực (R-CNN) ................................................... 20
1.4.3. Mạng Nơ ron tích chập khu vực nhanh (Fast R-CNN) ................................. 22
1.4.4. Mạng Nơ ron tích chập khu vực nhanh hơn (Faster R-CNN)........................ 25
CHƯƠNG 2 - XÂY DỰNG VÀ HUẤN LUYỆN MƠ HÌNH FASTER R_CNN ....... 29


Xây dựng mơi trường thực nghiệm mơ hình Faster R_CNN................................ 29
2.1.1. Cấu hình phần cứng cho mơi trường thực nghiệm mơ hình .......................... 29
2.1.2. Các phần mềm hỗ trợ và phần mềm lập trình ............................................... 29
2.1.3. Cài đặt file mơi trường ................................................................................. 31
2.1.4. Cài đặt các thư viện hỗ trợ ........................................................................... 32
Huấn luyện cho mơ hình nhận dạng mười lồi hoa.............................................. 33
2.2.1. Thu thập dữ liệu ........................................................................................... 33
2.2.2. Gán nhãn cho các lồi hoa ........................................................................... 34
2.2.3. Xây dựng chương trình huấn luyện .............................................................. 35
2.2.4. Huấn luyện cho mơ hình .............................................................................. 36
2.2.5. Dừng huấn luyện mơ hình ............................................................................ 36
2.2.6. Kết quả sau khi huấn luyện .......................................................................... 36
Xây dựng chương trình nhận dạng cho đối tượng ................................................ 37

Thực nghiệm mơ hình ......................................................................................... 37
Phương pháp đánh giá độ chính xác nhận dạng mơ hình Faster R_CNN ............. 37
CHƯƠNG 3 - THỰC NGHIỆM VÀ ĐÁNH GIÁ ĐỘ CHÍNH XÁC MƠ HÌNH
FASTER R_CNN ...................................................................................................... 39
Thực nghiệm mơ hình Faster R-CNN.................................................................. 39
3.1.1. Thực nghiệm mơ hình Faster R-CNN với đối tượng tĩnh ............................. 39
3.1.2. Thực nghiệm mơ hình với đối tượng di động ............................................... 49
KẾT LUẬN ............................................................................................................... 53
1. Thuận lợi của đề tài ............................................................................................... 53
2. Hạn chế của đề tài ................................................................................................. 53
3. Kết quả đạt được ................................................................................................... 53
4. Hướng phát triển của đề tài .................................................................................... 53
DANH MỤC CÁC CƠNG TRÌNH ĐÃ CƠNG BỐ CỦA TÁC GIẢ ......................... 55
TÀI LIỆU THAM KHẢO ........................................................................................... 1
PHỤ LỤC .................................................................................................................... 3


TĨM TẮT LUẬN VĂN
ỨNG DỤNG MẠNG NƠ RON TÍCH CHẬP NHẬN DẠNG CÁC ĐỐI TƯỢNG DI
ĐỘNG
Học viên: Nguyễn Văn Nam Chuyên ngành: Kỹ thuật điều khiển và tự động hóa
Mã số: 62.52.02.16 Khóa: K36 Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Việc ứng dụng các mơ hình nhận dạng đối tượng vào phục vụ trong nông
nghiệp, lâm nghiệp hiện nay là thật sự cần thiết. Các nghiên cứu ứng dụng lĩnh vực
này vào trong thực tế chưa nhiều. Mục tiêu của nghiên cứu này là thực nghiệm mơ
hình nhận dạng đối tượng ở chế độ tĩnh và di động. Để thực hiện việc này tác giả đã
huấn luyện cho mơ hình học nhận biết 10 lồi hoa và 30 đối tượng khác nhau. Sau đó
cho nhận dạng với 4 trạng thái khác nhau: Ảnh có ánh sáng tốt; ảnh bị che khuất 1/3;
1/2; ảnh thiếu ánh sáng. Kết quả cho thấy, độ chính xác nhận dạng đạt 99,28%,
78,46%, 40,36% và 62,38% tương ứng với 4 trạng thái môi trường ở trên. Như vậy,

với kết quả trên việc ứng dụng mơ hình này vào chế tạo thiết bị phân loại các loài hoa
phục vụ trong thu hoạch hoa hoặc trong các cửa hàng bán hoa là một hướng nghiên
cứu ứng dụng mới. Ngồi ra, khả năng ứng dụng mơ hình vào nhận dạng hệ động thực
vật rừng phục vụ cho công tác điều tra, nghiên cứu sẽ mang lại nhiều hiệu quả trong
công tác quản lý rừng hiện nay.
Từ khóa - Trí tuệ nhân tạo; thị giác máy tính; deep learning; nhận dạng đối tượng; xử
lý ảnh.
APPLICATION OF THE CONVOLUTIONAL NEURAL NETWORKS
ALGORITHM TO IDENTIFY MOBILE OBJECTS
Abstract - Although the application of object identification models in service of
agriculture and forestry is now really necessary. There have not been many studies on
the application of this field in practice. In this study, the object identification model
was experimented to experiment with object static and mobile object. To this end, the
algorithm is trained to classify ten flower species and 30 different objects.
Experiments are then implemented on images in four cases; images with non being in
shadow, with ratio of 1/3, 1/2 of partially being in shadow and with totally being in
shadow. Experimental results show that the algorithm accuracy achieves 99,28%,
78,46%, 40,36%, and 62,38% in cases of non being in shadow, 1/3, 1/2 of partially
being in shadow, and totally being in shadow, respectively. This result offers a new
application of this model to manufacturing equipment used in flower harvesting or
flower classifying in flower shops. In addition, the ability to apply this model to the
identification of forest flora and fauna will bring many benefits in current forest
management.
Key words - Artificial intelligence; computer vision; deep learning; identify the
object; image processing.


DANH MỤC CÁC TỪ VIẾT TẮT
CNN
R-CNN

ROI
RPN
SVM

Convolutional Neural Network.
Regional Convolutional Neural Network.
Region of Interest.
Region Proposal Network.
Support Vector Machine.


DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng thu thập dữ liệu các loài hoa ............................................................. 34
Bảng 2.2: Bảng tổng hợp sau gán nhãn ...................................................................... 35
Bảng 2.3: Bảng ma trận đánh giá độ chính xác mơ hình nhận dạng ............................ 38
Bảng 3.1: Bảng số liệu thực nghiệm và đánh giá độ chính xác kết quả nhận dạng đối
tượng trong mơi trường bình thường .......................................................................... 41
Bảng 3.2: Bảng số liệu thực nghiệm và đánh giá độ chính xác kết quả nhận dạng các
đối tượng bị che khuất 1/3 ......................................................................................... 43
Bảng 3.3: Bảng số liệu thực nghiệm và đánh giá độ chính xác kết quả nhận dạng khi
ảnh bị che khuất 1/2 ................................................................................................... 45
Bảng 3.4: Bảng số liệu thực nghiệm và đánh giá độ chính xác kết quả nhận dạng trong
mơi trường thiếu ánh sáng.......................................................................................... 47
Bảng 3.5: Bảng tổng hợp đánh giá độ chính xác kết quả nhận dạng của mơ hình ....... 48


DANH MỤC CÁC HÌNH
Hình 1.1: Minh họa sự thay đổi góc chụp..................................................................... 6
Hình 1.2: Minh họa sự thiếu thành phần ...................................................................... 6
Hình 1.3: Minh họa sự biến dạng ................................................................................. 7

Hình 1.4: Minh họa sự che khuất ................................................................................. 7
Hình 1.5: Minh họa hình nền phức tạp ......................................................................... 8
Hình 1.6: Minh họa độ sáng khác nhau ........................................................................ 8
Hình 1.7: Các bước trong hệ thống nhận dạng ........................................................... 10
Hình 1.8: Nhận dạng hoa mai .................................................................................... 11
Hình 1.9: Cách thức perceptron hoạt động [11].......................................................... 11
Hình 1.10: Đồ thị hàm sigmoid [11] .......................................................................... 13
Hình 1.11: Cấu trúc mạng Nơ ron đề xuất dựa trên [11]............................................. 13
Hình 1.12: Mạng Nơ ron thơng thường (trái) và CNN (phải) ..................................... 14
Hình 1.13: Kiến trúc mạng CNN ............................................................................... 14
Hình 1.14: 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) ................................................................................................................ 15
Hình 1.15: Phép tích chập .......................................................................................... 16
Hình 1.16: Ảnh RBG và ảnh xám .............................................................................. 16
Hình 1.17: Max pooling kích thước 2×2 .................................................................... 17
Hình 1.18: Ví dụ cho tích chập với 2 filter, 3 cột, 2 bước nhảy, lề = 1........................ 18
Hình 1.19: Nhận dạng hoa đồng tiền .......................................................................... 20
Hình 1.20: 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) . 21
Hình 1.21: R-CNN ..................................................................................................... 21
Hình 1.22: ROI .......................................................................................................... 23
Hình 1.23: ROI pooling ............................................................................................. 24
Hình 1.24: So sánh thời gian huấn luyện và kiểm tra giữa R-CNN và Fast R-CNN.... 24
Hình 1.25: Mơ hình ROI pooling ............................................................................... 25
Hình 1.26: Lấy vị trí .................................................................................................. 25
Hình 1.27: Vị trí sliding window ............................................................................... 26
Hình 1.28: Các khu vực RPN ..................................................................................... 27
Hình 1.29: Hệ số IoU ................................................................................................. 27
Hình 1.30: Mơ tả hệ số IoU........................................................................................ 27
Hình 1.31: Thử thời gian R-CNN [10] ....................................................................... 28
Hình 2.1: Bắt đầu cài đặt file môi trường ................................................................... 31



Hình 2.2: Cài đặt file mơi trường thành cơng ............................................................. 31
Hình 2.3: Kích hoạt file mơi trường thực nghiệm ....................................................... 32
Hình 2.4: Cài đặt thư viện Tensorflow-gpu từ cơng cụ pip ......................................... 32
Hình 2.5: Quá trình cài đặt thư viện Tensorflow-gpu kết thúc .................................... 33
Hình 2.6: Thu thập dữ liệu hoa hồng và hoa hướng dương ......................................... 34
Hình 2.7: Gán nhãn cho hoa hồng và hoa cẩm tú cầu ................................................. 35
Hình 2.8: File chương trình huấn luyện ...................................................................... 35
Hình 2.9: a) Q trình bắt đầu huấn luyện dữ liệu mơ hình; b) Q trình kết thúc huấn
luyện dữ liệu mơ hình ................................................................................................ 36
Hình 2.10: Biểu đồ mất mát theo thời gian của mơ hình Faster R-CNN ..................... 36
Hình 2.11: Cơ sở dữ liệu sau khi huấn luyện mơ hình học ......................................... 37
Hình 2.12: Các file chương trình nhận dạng đối tượng ............................................... 37
Hình 3.1: Hình ảnh đối tượng nhận dạng ở mơi trường bình thường .......................... 40
Hình 3.2: Kết quả nhận dạng các đối tượng ở mơi trường bình thường ...................... 41
Hình 3.3: Hình ảnh đối tượng nhận dạng bị che khuất 1/3.......................................... 42
Hình 3.4: Kết quả nhận dạng các đối tượng bị che khuất 1/3...................................... 43
Hình 3.5: Hình ảnh đối tượng nhận dạng bị che khuất 1/2.......................................... 44
Hình 3.6: Kết quả nhận dạng các đối tượng bị che khuất 1/2...................................... 45
Hình 3.7: Hình ảnh đối tượng nhận dạng ở mơi trường thiếu ánh sáng ....................... 46
Hình 3.8: Kết quả nhận dạng các đối tượng trong môi trường thiếu ánh sáng............. 47
Hình 3.9: Nguồn video hoa cẩm tú cầu di động.......................................................... 50
Hình 3.10: Kết quả nhận dạng hoa cẩm tú cầu bởi mơ hình ....................................... 50
Hình 3.11: Nguồn video người, xe di động ................................................................ 51
Hình 3.12: Kết quả nhận dạng người, xe di động bởi mơ hình ................................... 52


1


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 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 tố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 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.


2

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 q 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 đầ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 lồi hoa khác nhau, vì lồ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 lồ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 lồi cây rừng từ hoa, lá, thân… bởi vì muốn định danh được
một số lồ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 lồ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 quyết những khó khăn trong cơng tác quản lý tài ngun 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 q trình thực nghiệm.
Ngồ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



3
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: “Ứng dụng 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à 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. Từ đó, tiến hành xây dựng mơ hình nhận
dạng các đối tượng từ một hình ảnh, một đoạn video hoặc từ camera online. Đánh giá
về khả năng ứng dụng mơ hình Faster R-CNN để phân loại loài hoa, 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 tốn mạng Nơ ron tích chập
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, video
- 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à
ngồ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 tố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

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: Tổng quan về thuật toán nhận dạng
Chương 2: Xây dựng và huấn luyện mơ hình Faster R-CNN
Chương 3: Kết quả thực nghiệm và đánh giá độ chính xác mơ hình Faster RCNN
Kết luận



5

CHƯƠNG 1 - TỔNG QUAN VỀ THUẬT TOÁN NHẬN DẠNG
Tổng quan về nhận dạng đối tượng
1.1.1. Khái niệm về nhận dạng
Nhận dạng mẫu là một ngành thuộc lĩnh vực máy học. Nói cách khá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
tố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.

Các ứng dụng phổ biến là nhận dạng tiếng nói tự động, phân loại văn bản thành
nhiều loại khác nhau, nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay
hệ thống nhận dạng danh tính dựa vào mặt người. Các ví dụ nói trên tạo thành lãnh
vực con phân tích ảnh của nhận dạng mẫu với đầu vào là các ảnh số.
1.1.2. Các khó khăn trong việc nhận dạng đối tượng
Đối với các đối tượng riêng lẻ thì việc nhận dạng các đối tượng trong ảnh là việc
không phải là phức tạp. Tuy nhiên, đối với một hệ thống nhân tạo thì nhận ra một đối


6
tượng từ một ảnh đòi hỏi phải giải quyết khá nhiều vấn đề khó khăn, chính vì thế vấn
đề này vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu. Khó khăn của
bài tốn nhận dạng có thể kể ra như sau:
1.1.2.1. Tư thế, góc chụp
Ảnh chụp khn mặt có thể thay đồi rất nhiều bởi vì góc chụp giữa camera và
khuôn mặt. Chẳng hạn như: chụp thẳng, chụp xéo bên trái 450 hay xéo bên phải 450,
chụp từ trên xuống, chụp từ dưới lên,v.v... Với các tư thế khác nhau, các thành phần
trên khuôn mặt như mắt, mũi, miệng có thế bị khuất một phần hoặc thậm chỉ khuất hết.

Hình 1.1: Minh họa sự thay đổi góc chụp
1.1.2.2. Sự xuất hiện hoặc thiếu một số thành phần
Các thành phần biểu tả một đối tượng có thể xuất hiện hoặc khơng trong ảnh làm
cho bài tốn nhận dạng càng trở nên khó hơn rất nhiều.

Hình 1.2: Minh họa sự thiếu thành phần


7
1.1.2.3. Sự biến dạng của đối tượng
Biến dạng của đối tượng có thể làm ảnh hưởng đáng kể lên các thơng số của đối

tượng đó. Chẳng hạn, cũng một khn mặt một người nhưng có thể sẽ rất khác khi họ
cười hoặc sợ hãi,v.v...

Hình 1.3: Minh họa sự biến dạng
1.1.2.4. Sự che khuất
Đối tượng có thể bị che khuất bởi các đối tượng khác.

Hình 1.4: Minh họa sự che khuất
1.1.2.5. Sự phức tạp của hình nền
Hình nền phức tạp sẽ khiến việc nhận dạng trở nên khó khăn hơn nhiều.


8

Hình 1.5: Minh họa hình nền phức tạp
1.1.2.6. Mơi trường của ảnh
Ảnh được chụp trong các điều kiện môi trường khác nhau về: Chiếu sáng, về tính
chất camera (máy kỹ thuật số, máy hồng ngoại,v.v...) ảnh hưởng rất nhiều đến chất
lượng ảnh.

Hình 1.6: Minh họa độ sáng khác nhau


9
1.1.3. Các ứng dụng trong nhận dạng đối tượng hiện nay
Bài tốn nhận dạng đối tượng có thể áp dụng rộng rãi trong nhiều ứng dụng thực
tế khác nhau. Đó chính là lý do mà bài tốn này hấp dẫn rất nhiều nhóm nghiên cứu
trong thời gian dài. Các ứng dụng liên quan đến nhận dạng đối tượng có thể kể ra như:

- Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như:

siêu thị, nhà sách, trạm xe buýt, sân bay,v.v… Khi phát hiện được sự xuất hiện của các
đối tượng là tội phạm, hệ thống sẽ gửi thông điệp về cho trung tâm xử lý.

- Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân
viên và chấm công.

- Hệ thống giao tiếp người máy: thay thế việc tương tác giữa người và máy theo
những cách truyền thống như: bản phím, chuột,v.v...Thay vào đó là sử dụng các giao
tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay.

- Hệ thống tìm kiếm thơng tin trên ảnh, video dựa trên nội dung (chỉ mục theo
người). Chẳng hạn như: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video tin
tức lớn cần tìm kiếm nhanh những đoạn video nào có tên A hoặc B.

- Các hệ thống bảo mật dựa trên thông tin trắc sinh học: mặt người, vân tay,v.v...
thay vì mật khẩu, khóa,v.v...

- Phần mềm nhân dạng chữ in, đặc biệt dành riêng cho ngôn ngữ tiếng Việt, dịch
vụ nhận dạng chữ in.

- Công nghệ nhân dạng quản lý giao thông, quản lý hình ảnh của xe và hiện số xe
thay đổi (không khớp với cơ số dữ liệu), giám sát bãi đỗ xe, phương tiện giao thông tại
các khu vực nhạy cảm như các sân bay, bến cảng.
1.1.4. Tổng quan kiến trúc một hệ thống nhận dạng đối tượng
Một hệ thống nhận dạng đối tượng thông thường được xử lý qua bốn bước sau:

 Thu thập tín hiệu (hình ảnh) và tiền xử lý
 Trích lọc đặc trưng
 Phát hiện đối tượng
 Phân loại đối tượng



10

Hình 1.7: Các bước trong hệ thống nhận dạng
Ảnh đầu vào được thu nhận và tiền xử lý sau đó các ảnh được qua công đoạn nền
xử lý nhằm tăng độ chính xác cho hệ thống. Các ảnh sau đó được trích chọn đặc trưng
để tạo ra các vector đặc trưng trong bước rút trích đặc trưng. Những vector đặc trưng
này sẽ là dữ liệu đầu vào cho một mô hình đã được huấn luyện truớc. Phát hiện đối
tượng: dị tìm và định vị những vị trí đối tượng xuất hiện trong ảnh hoặc trên các chuỗi
ảnh của video. Những đối tượng thu được qua bước phát hiện đối tượng sẽ tiếp tục
được phân lớp thành từng lớp riêng biệt để nhận dạng.
1.1.5. Tổng quan về nhận dạng hoa
Hệ thống nhận dạng hoa là một ứng dụng máy tính tự động xác định hoặc nhận
dạng loại hoa nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình video từ
một nguồn video. Một trong những cách để thực hiện điều này là so sánh các đặc điểm
trên các loại hoa chọn trước từ hình ảnh và một cơ sở dữ liệu về loại hoa đó.
Từ tập dữ liệu sau khi huấn luyện, sẽ lấy được các đặc trưng của các loại hoa. Hệ


11
thống sẽ so sánh với hình ảnh thu về từ camera trực tiếp qua ứng dụng để cho ra kết
quả đó là loại hoa gì. Đồng thời xuất ra các thơng tin cơ bản của loại hoa đó như tên
hoa, đặc điểm, nguồn gốc của hoa.

Hình 1.8: Nhận dạng hoa mai
Tổng quan về mạng Nơ ron
Mạng Nơ ron được xây dựng dựa trên những hiểu biết về bộ não con người.
Mạng bao gồm một loạt các đơn vị liên kết khác nhau, nó là một ánh xạ giữa tập đầu
vào và tập đầu ra. Mỗi đơn vị này gọi là một Nơ ron. Hai loại Nơ ron nhân tạo quan

trọng là perceptron và sigmoid Nơ ron.
Perceptron đượ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 sau.

Hình 1.9: Cách thức perceptron hoạt động [11]
Giả sử perceptrons có ba đầu vào: x1, x2, x3. Để tính tốn đầu ra chúng ta giả sử
các trọng số w1, w2, w3… 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


12
tích wj*xj với một giá trị ngưỡng theo biểu thức:

0 if  j w j x j  threshold
output  
 1 if  j w j x j  threshold

(1.1)

Chúng ta thấy khi thay đổi các giá trị trọng số, hay ngưỡng chúng ta có thể tạo ra
các đầu ra khác nhau. Hay nói cách khác là tạo ra các quyết định khác nhau.
Chúng ta có thể đơn giản hóa mơ tả perceptrons như sau. Điều kiện



j

w j x j  threshold là phức tạp, chúng ta có thể tạo ra hai thay đổi. Một là, viết




j

w j x j bằng w x với w và x là các vector 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 của perceptrons. Qua đó
chúng ta có thể viết lại công thức (1.1) thành:

0 if w  x  b  0
output  
1 if w  x  b  0

(1.2)

Ở đây b là ngưỡng mới. Có thể nhận thấy nhược điểm của perceptron là khi ta
thay đổi một lượng nhỏ các trọng số có thể gây ra sự thay đổi lớn về đầu ra. Đầu ra có
thể bị lật từ 0 sang 1 hoặc 1 sang 0. Để khắc phục điều này, sigmoid Nơ ron được tạo
ra cho phép một thay đổi nhỏ của trọng số và chỉ tạo ra một thay đổi nhỏ ở đầu ra như
hình 4. Trong ví dụ mạng đang nhận dạng sai chữ “a” thành “b”. Chúng ta sẽ thay đổi
nhỏ trọng số để mạng cho đầu ra tiến dần đến “a”. Lặp đi lặp lại việc này sẽ cho kết
quả tốt hơn. Đây là cách mạng học được.
Cách hoạt động của sigmoid Nơ ron là sử dụng một vài đầu vào số thực trong
khoảng [0,1], và tạo ra một đầu ra. Khác với perceptron, đầu vào của sigmoid Nơ ron
là các số thực nằm trong khoảng [0,1]. Các trọng số vẫn giống với perceptron nhưng
đầu ra không phải là 0 hay 1. Thay vào đó đầu ra là   w  x  b  , với  là hàm
sigmoid được định nghĩa như sau:

 ( z) 


1
1  e z

(1.3)

Hay áp dụng vào Nơ ron có các đầu vào x1, x2,… và các trọng số w1, w2,… và
b, ta được đầu ra là:

1
1  exp( j w j x j  b)

(1.4)


13

Hình 1.10: Đồ thị hàm sigmoid [11]
Trong khi đó, chúng ta có thể xấp xỉ sự thay đổi đầu ra khi thay đổi trọng số với
sigmoid Nơ ron như sau:

output  
j

output
output
w j 
b
w j
b


(1.5)

Với ꝺoutput/ꝺwj và ꝺoutput/ꝺb là các đạo hàm riêng của đầu ra theo trọng số.
Kiến trúc mạng Nơ ron về cơ bản gồm ba lớp. Lớp ngoài cùng bên trái là lớp đầu
vào. Các Nơ ron nằm trong lớp này còn được gọi là Nơ ron đầu vào. Lớp ngoài cùng
bên phải là lớp đầu ra, chứa các Nơ ron đầu ra. Lớp ở giữa gọi là lớp ẩn như hình bên
dưới:

Hình 1.11: Cấu trúc mạng Nơ ron đề xuất dựa trên [11]


14
Tổng quan về mạng Nơ ron tích chập (CNN)
1.3.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ự đố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 hồn tồn với tồ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 vector
của giá trị xác suất.

Hình 1.12: Mạng Nơ ron thông thường (trái) và CNN (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 tố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.13.

Hình 1.13: Kiến trúc mạng CNN
Hoặc có thể biểu diễn như hình 1.14 sau:


15

Hình 1.14: 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.3.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 tố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 (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 kernel/filter theo dữ liệu đầu vào.
Tại mỗi vị trí, ta tiến hành phép nhân ma trận và tính tổng các giá trị để đưa vào bản

đồ đặc trưng.
Trong hình dưới đây, thành phần kernel/filter (màu xanh lá) trượt trên đầu vào
(màu xanh dương) và kết quả được trả về bản đồ đặc trưng (màu đỏ). Kernel/filter có
kích thước là 3×3 trong ví dụ này.



×