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

Đồ án TÌM HIỂU PHƯƠNG PHÁP D2DET CHO BÀI TOÁN PHÁT HIỆN PHƯƠNG TIỆN GIAO THÔNG TRONG KHÔNG ẢNH

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 (3.31 MB, 66 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

PHAN THỊ HỒNG CÚC
HUỲNH BÙI KHÁNH VY

BÁO CÁO ĐỒ ÁN 1
TÌM HIỂU PHƯƠNG PHÁP D2DET CHO BÀI TOÁN
PHÁT HIỆN PHƯƠNG TIỆN GIAO THÔNG TRONG
KHÔNG ẢNH
Learning to use D2Det for Vehicle Detection in Aerial Images

KỸ SƯ NGÀNH CƠNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

PHAN THỊ HỒNG CÚC – 18520260
HUỲNH BÙI KHÁNH VY – 18520402

BÁO CÁO ĐỒ ÁN 1
TÌM HIỂU PHƯƠNG PHÁP D2DET CHO BÀI TOÁN
PHÁT HIỆN PHƯƠNG TIỆN GIAO THÔNG TRONG
KHÔNG ẢNH


Learning to use D2Det for Vehicle Detection in Aerial Images

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


LỜI CẢM ƠN
Đầu tiên, chúng tôi xin chân thành cảm ơn đến thầy TS. Nguyễn Tấn Trần
Minh Khang – giảng viên hướng dẫn của chúng tôi trong môn đồ án 1 này. Thầy đã
luôn quan tâm, hỗ trợ, tạo điều kiện cho chúng tôi thực hiện đồ án.
Chúng tôi cũng xin gửi lời cảm ơn đến thầy ThS. Võ Duy Ngun đã ln
quan tâm giúp đỡ, hướng dẫn tận tình và đóng góp nhiều ý kiến giúp chúng tơi hồn
thành đồ án.
Ngồi ra, chúng tơi xin gửi lời cảm ơn đến các em, các bạn, các anh chị trong
nhóm nghiên cứu đã luôn đồng hành, giúp đỡ chúng tôi trong suốt q trình chúng
tơi thực hiện đồ án này.
Chúng tơi xin chân thành cảm ơn!
Sinh viên thực hiện
Phan Thị Hồng Cúc
Huỳnh Bùi Khánh Vy

TP.Hồ Chí Minh, ngày 30 tháng 06 năm 2021


MỤC LỤC
TÓM TẮT .................................................................................................................11
Chương 1.

TỔNG QUAN ...................................................................................12


1.1. Giới thiệu chung ..........................................................................................12
1.2. Động lực nghiên cứu ...................................................................................12
1.2.1.

Tính khoa học ....................................................................................12

1.2.2.

Tính ứng dụng ...................................................................................13

1.3. Phát biểu bài toán ........................................................................................13
1.4. Phạm vi bài toán ..........................................................................................14
1.5. Thách thức bài toán .....................................................................................14
1.6. Nội dung thực hiện ......................................................................................15
1.7. Kết quả của đề tài ........................................................................................15
1.8. Cấu trúc báo cáo đề tài ................................................................................16
Chương 2.

CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN .......17

2.1. Computer Vision..........................................................................................17
2.1.1.

Giới thiệu ...........................................................................................17

2.1.2.

Một số bài toán nổi bật ......................................................................17


2.2. Object Detection ..........................................................................................18
2.2.1.

Giới thiệu ...........................................................................................18

2.2.2.

Phân loại ............................................................................................19

2.3. Neural Network ...........................................................................................20
2.4. Convolutional Neural Network ...................................................................22
2.4.1.

Giới thiệu ...........................................................................................22

2.4.2.

Convolution Layer .............................................................................22


2.4.3.

Pooling Layer ....................................................................................26

2.4.4.

Fully connected layer ........................................................................26

2.5. ResNet .........................................................................................................27
2.5.1.


Giới thiệu ...........................................................................................27

2.5.2.

Vanishing Gradient............................................................................28

2.5.3.

Kiến trúc mạng ResNet .....................................................................28

2.6. Faster R-CNN ..............................................................................................30
2.6.1.

Tổng quan ..........................................................................................30

2.6.2.

RPN ...................................................................................................31

2.6.3.

Fast R-CNN .......................................................................................32

2.6.4.

RoI pooling ........................................................................................32

2.7. RoIAlign ......................................................................................................35
2.8. Deformable RoI Pooling ..............................................................................37

2.9. Feature Pyramid Networks ..........................................................................38
2.10.

D2Det .......................................................................................................40

2.10.1.

Tổng quan ..........................................................................................40

2.10.2.

Dense local regression .......................................................................40

2.10.3.

Discriminative RoI pooling ...............................................................42

2.10.4.

Kết quả thực nghiệm .........................................................................44

Chương 3.

THỰC NGHIỆM VÀ ĐÁNH GIÁ ...................................................45

3.1. Bộ dữ liệu UAVDT .....................................................................................45
3.2. Quá trình thực nghiệm .................................................................................47
3.2.1.

Xử lý dữ liệu ......................................................................................47


3.2.2.

Chạy thực nghiệm D2Det ..................................................................55


3.3. Phương pháp đánh giá .................................................................................56
3.3.1.

Intersection over Union .....................................................................56

3.3.2.

Confusion matrix ...............................................................................57

3.3.3.

Precision và Recall ............................................................................58

3.3.4.

AP và mAP ........................................................................................60

3.4. Kết quả .........................................................................................................61
3.4.1.

Kết quả...............................................................................................61

3.4.2.


Hình ảnh minh họa ............................................................................61

3.4.3.

Đánh giá mô hình ..............................................................................62

Chương 4.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................63

4.1. Kết quả đạt được ..........................................................................................63
4.2. Hạn chế ........................................................................................................63
4.3. Hướng phát triển ..........................................................................................63
TÀI LIỆU THAM KHẢO .........................................................................................64


DANH MỤC HÌNH
Hình 1.1 Input – output của bài toán. .......................................................................14
Hình 1.2 Thách thức của bài toán .............................................................................15
Hình 2.1 Ví dụ phân biệt 3 bài toán của Computer Vision. .....................................19
Hình 2.2 Nơ-ron sinh học. ........................................................................................20
Hình 2.3 Kiến trúc Neural Network. ........................................................................21
Hình 2.4 Nơ-ron trong Neural Network. ..................................................................21
Hình 2.5 Convolutional Neural Network. .................................................................22
Hình 2.6 Cấu trúc tổng quát của Convolution layer. ................................................23
Hình 2.7 Ví dụ đầu vào của Convolution layer.........................................................23
Hình 2.8 Ví dụ minh họa quá trình hoạt động của Convolution layer. .....................24
Hình 2.9 Ví dụ minh họa Max Pooling .....................................................................26
Hình 2.10 Fully connected layer. ..............................................................................27
Hình 2.11 Residual block. .........................................................................................28

Hình 2.12 Mạng CNN truyền thống và mạng ResNet. .............................................29
Hình 2.13 Kiến trúc của Faster R-CNN. ...................................................................30
Hình 2.14 Kiến trúc của RPN. .................................................................................31
Hình 2.15 Fast R-CNN trong Faster R-CNN. ..........................................................32
Hình 2.16 Feature map của ví dụ. .............................................................................33
Hình 2.17 Ví dụ minh họa sau khi ánh xạ proposal lên feature map. .......................34
Hình 2.18 Ví dụ minh họa chia proposal thành các vùng tương ứng với kích thước
của output cho trước ..................................................................................................34
Hình 2.19 Kết quả thu được của ví dụ. .....................................................................35
Hình 2.20 Minh họa chia vùng của RoIAlign. ..........................................................35
Hình 2.21 Ví dụ minh họa chia vùng của RoIAlign. ...............................................36
Hình 2.22 Ví dụ minh họa quá trình xác định 4 điểm mẫu. .....................................36
Hình 2.23 Ví dụ minh họa kết quả sau khi max pooling của RoIAlign. ..................37
Hình 2.24 Deformable RoI Pooling. .........................................................................37
Hình 2.25 Feature Pyramid Network. .......................................................................38


Hình 2.26 Minh họa đường đi theo bottom-up và top-down. ...................................39
Hình 2.27 Kiến trúc của D2Det.................................................................................40
Hình 2.28 Dense local regression..............................................................................41
Hình 2.29 Discriminative RoI Pooling. ....................................................................42
Hình 2.30 Adaptive Weighted Pooling. ....................................................................43
Hình 3.1 Một số ảnh của bộ dữ liệu UAVDT. .........................................................45
Hình 3.2 Minh họa cách tổ chức theo thư mục của bộ dữ liệu .................................47
Hình 3.3 Thư mục M1401 của bộ dữ liệu .................................................................48
Hình 3.4 Thư mục M_attr của bộ dữ liệu..................................................................48
Hình 3.5 Thư mục train trong M_attr........................................................................49
Hình 3.6 Thư mục test trong M_attr. ........................................................................49
Hình 3.7 Thư mục train. ............................................................................................50
Hình 3.8 Thư mục val. ..............................................................................................50

Hình 3.9 Thư mục test. ..............................................................................................51
Hình 3.10 Định dạng annotation ban đầu .................................................................51
Hình 3.11 Minh họa nội dung annotation .................................................................52
Hình 3.12 Minh họa định dạng annotation sau khi thay đổi .....................................53
Hình 3.13 Minh hoạ cách tính IoU. ..........................................................................57
Hình 3.14 Mẫu confusion matrix với bài toán phân loại có 3 lớp ............................58
Hình 3.15 Cách tính Precision và Recall. .................................................................59
Hình 3.16 Bảng quan sát giá trị Precision và Recall. ................................................60
Hình 3.17 Trường hợp được mô hình dự đoán khá tốt. ............................................62
Hình 3.18 Trường hợp được mô hình dự đoán chưa tốt. ..........................................62


DANH MỤC BẢNG
Bảng 2.1 Một số bộ lọc phổ biến. .............................................................................26
Bảng 2.2 Kết quả trên bộ dữ liệu MS COCO test-dev. .............................................44
Bảng 2.3 Kết quả trên bộ dữ liệu UAVDT. ..............................................................44
Bảng 3.1 Tóm tắt các bộ dữ liệu liên quan. ..............................................................46
Bảng 3.2 Kết quả dự đoán của D2Det trên bộ dữ liệu UAVDT-benchmark-M .......61


DANH MỤC TỪ VIẾT TẮT
AP

Average Precision

mAP

Mean Average Precision

CNN


Convolutional Neural Networks

Fast R-CNN

Fast Region-based Convolutional Network

Faster R-CNN

Faster Region-based Convolutional Network

UAVDT

Unmanned Aerial Vehicle Benchmark Object Detection and
Tracking

RoI

Region of Interest

ResNet

Residual Network


TĨM TẮT
Phát hiện phương tiện giao thơng trong khơng ảnh là một bài toán thuộc bài
toán Phát hiện đối tượng (Object Detection) trong lĩnh vực Thị giác máy tính
(Computer Vision).
Trong đồ án này, chúng tôi tập trung vào việc nghiên cứu và thực nghiệm

phương pháp D2Det [1] với bộ dữ liệu UAVDT-Benchmark-M. Bộ dữ liệu gồm
40,735 frame ảnh từ 50 video trong số 100 video của bộ dữ liệu UAVDT [2] với 3
nhãn: car, truck, bus. Phương pháp D2Det mà chúng tơi sử dụng thực nghiệm cho bài
tồn là phiên bản sử dụng mmdetetection 2.1.0.

11


Chương 1.

TỔNG QUAN

1.1. Giới thiệu chung
Với sự phát triển mạnh mẽ của công nghệ, nhiều dự án xây dựng thành phố
thông minh đã và đang được nghiên cứu rộng rãi. Một trong những yếu tố góp phần
hiện thực điều ấy là việc xây dựng nên hệ thống quản lý hoạt động giao thơng thơng
minh. Trong đó, việc phát hiện giao thơng trong ảnh là một phần khơng thể thiếu bởi
nó giúp ta giám sát, phân tích hành vi của người tham gia giao thông, cải thiện tình
trạng ùn tắc, tính toán lưu lượng giao thông phục vụ cho các lĩnh vực liên quan,…
Để thực hiện được việc đó đòi hỏi ta phải có một lượng lớn dữ liệu hình ảnh
mà cách thức thu thập phổ biến nhất hiện tại là sử dụng hệ thống camera giám sát.
Tuy nhiên, việc lắp đặt hệ thống camera giám sát cố định dẫn đến các hạn chế về địa
điểm, tầm nhìn, góc quay,… đồng thời các điều kiện ngoại cảnh (thời tiết, ánh sáng)
cũng ảnh hưởng đến chất lượng hình ảnh mà việc cải thiện bằng cách lắp đặt hệ thống
camera giám sát phức tạp tại nhiều vị trí vẫn phải phụ thuộc vào các cơng trình xây
dựng của khu vực đó. Chính vì vậy, phát hiện phương tiện giao thông trong không
ảnh – hình ảnh thu từ trên không bằng các thiết bị bay không người lái (UAV) đang
ngày càng được nhiều nhà nghiên cứu quan tâm và phát triển. Bởi chỉ với một số
lượng ít các thiết bị bay không người lái, ta vẫn có thể dễ dàng cho camera bay qua
nhiều địa điểm, thu thập được lượng lớn hình ảnh từ các độ cao, góc quay, điều kiện

ngoại cảnh khác nhau, từ đó giúp giảm chi phí lắp đặt cũng như thời gian thực hiện.
1.2. Động lực nghiên cứu
1.2.1.

Tính khoa học

Bài tốn phát hiện đối tượng trong khơng ảnh đang ngày càng phổ biến trong
giới nghiên cứu khoa học. Nhiều bộ dữ liệu đã được công bố như: VEDAI [3] (2016),
UAVDT [2] (ECCV 2018), VisDrone [4] (2018)... và các cuộc thi như ODAI [5]
(ICPR 2018), VisDrone Challenge,… được tổ chức để khuyến khích các nhà nghiên
cứu tìm ra các phương pháp nhằm nâng cao sự chính xác, độ hiệu quả cho bài toán.

12


1.2.2.

Tính ứng dụng

Phát hiện phương tiện giao thơng trong khơng ảnh có thể được áp dụng vào
nhiều lĩnh vực trong cuộc sống:
− Giám sát giao thông
o Phát hiện và theo dõi phương tiện giao thông.
o Tính toán lưu lượng phương tiện để đưa ra các phương pháp cải thiện
tình trạng giao thông như ùn tắc, tai nạn,...
o Phát hiện sự bất thường của các phương tiện giao thông như đi sai làn
đường, đi vào đường cấm,...
− Quân sự
o Phát hiện các phương tiện lạ vào khu vực trọng điểm, bí mật của quân
đội.

o Phát hiện các phương tiện chiến đấu trên chiến trường.
o Hỗ trợ dự đoán hướng di chuyển của phương tiện để xây dựng phòng
tuyến.
− Ngoài ra, việc tính tốn lưu lượng giao thơng giúp
o Các doanh nghiệp lựa chọn được vị trí đặt bảng quảng cáo phù hợp để
tiếp cận được đúng khách hàng mục tiêu.
o Các chủ cửa hàng, nhà hàng, khách sạn,... lựa chọn được vị trí xây dựng
cửa hàng hiệu quả
1.3. Phát biểu bài tốn
Đồ án trình bày nội dung liên quan đến lĩnh vực thị giác máy tính và đô thị
thông minh trong tương lai:
− Bài tốn phát hiện phương tiện giao thơng trong không ảnh (Vehicle
detection in aerial images)
o Đầu vào (input): Ảnh chụp giao thông đường bộ với định dạng (.jpg,
.png) được trích xuất từ camera của thiết bị bay khơng người lái (UAV).

13


o Đầu ra (output): Các thông tin cơ bản tương ứng với từng phương tiện
giao thơng có trong ảnh đầu vào: vị trí, tên của một trong 3 loại phương
tiện quan tâm (car, truck, bus).

a) Đầu vào

b) Đầu ra

Hình 1.1 Input – output của bài toán.
1.4. Phạm vi bài toán
Trong phạm vi đề tài này, chúng tôi tập trung thực nghiệm phương pháp đã

được công bố (D2Det [1]) trên bộ dữ liệu UAVDT [2] cho bài toán phát hiện phương
tiện giao thông trong không ảnh. Loại hình giao thông được đề cập trong nghiên cứu
là giao thông đường bộ. Các phương tiện giao thông bao gồm: xe ô tô, xe tải, xe buýt.
1.5. Thách thức bài toán
Về dữ liệu, một số ảnh của bộ dữ liệu UAVDT [2] có mật độ đối tượng cao,
đối tượng nhỏ, đối tượng bị mờ do sự chuyển động nhanh của thiết bị bay, đòi hỏi
cần có kỹ thuật tiền xử lý ảnh và trích đặc trưng phù hợp.
Về phương pháp, hiện nay có rất nhiều công bố sử dụng các kiến trúc mạng
CNN khác nhau (LeNet, AlexNet, VGG, ResNet,…) hoặc các mạng được tùy chỉnh,
tính chính xác trên mỡi mạng là khác nhau và cần phải nghiên cứu, tùy chỉnh để đạt
được kết quả cao nhất. Điều này đòi hỏi cần nghiên cứu sâu và kỹ để tìm ra phương
pháp mang lại kết quả cao nhất.
Về tính ứng dụng thực tiễn, trong thực tế việc phát hiện phương tiện giao thơng
đối diện nhiều khó khăn khi phụ thuộc thêm các yếu tố kích thước, hình dạng phương
tiện, thời gian, thời tiết, ánh sáng,... Chẳng hạn như với các ảnh thu được ở góc quay

14


cao hoặc trong điều kiện đặc biệt như trời tối, sương mù,... sẽ khó phân biệt với các
đối tượng khác.

a) Góc quay cao

b) Trời tối

c) Sương mù

Hình 1.2 Thách thức của bài toán
1.6. Nội dung thực hiện

Nội dung thực hiện của đề tài gồm:
− Tìm hiểu bài tốn phát hiện phương tiện giao thông trong không ảnh.
− Tìm hiểu bộ dữ liệu UAVDT [2].
− Thống kê các phương pháp phát hiện đối tượng thực nghiệm với bộ dữ liệu
UAVDT [2]. Trong đó, chúng tơi đã lựa chọn tìm hiểu phương pháp phát hiện
đối tượng D2Det [1] – Phương pháp được công bố vào năm 2020 cho kết quả
khá tốt trên bộ dữ liệu UAVDT [2] (56.92 theo độ đo PASCAL VOC AP với
IoU = 0.7).
− Thực nghiệm phương pháp phát hiện đối tượng D2Det [1] cho bài toán phát
hiện phương tiện giao thông trong không ảnh.
1.7. Kết quả của đề tài
Từ những nghiên cứu, chúng tôi đã thu được các kết quả như sau:
− Báo cáo về bộ dữ liệu UAVDT.
− Báo cáo về phương pháp D2Det.
− Báo cáo về kết quả thực nghiệm phương pháp D2Det trên bộ dữ liệu UAVDT.

15


1.8. Cấu trúc báo cáo đề tài
Khóa luận này được trình bày trong 4 chương, nội dung chính được tóm tắt
như dưới đây:
− Chương 1: Giới thiệu chung về đồ án, động lực nghiên cứu, mục tiêu, xác định
bài toán, phạm vi tương ứng cũng như trình bày về nội dung thực hiện và kết
quả của đồ án.
− Chương 2: Trình bày các cơ sở lý thuyết, nghiên cứu liên quan đến bài tốn
phát hiện phương tiện giao thơng trong không ảnh được đề cập trong đồ án mà
chúng tôi đã thực hiện.
− Chương 3: Trình bày quá trình, kết quả thực nghiệm và đánh giá.
− Chương 4: Tổng kết kết quả đạt được trong đề tài, những hạn chế cũng như

hướng phát triển trong tương lai.

16


Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.1. Computer Vision
2.1.1.

Giới thiệu

Thị giác máy tính (Computer Vision) là một lĩnh vực cho phép máy tính lấy
được thông tin có nghĩa từ hình ảnh, video,… và thực hiện hành động hoặc đưa ra đề
xuất dựa trên thông tin đó. Nếu như Trí tuệ nhân tạo (Artificial Intelligence – AI) cho
phép máy tính suy nghĩ thì Thị giác máy tính cho phép chúng nhìn, quan sát và hiểu.
Thị giác máy tính hoạt động giống như thị giác của con người. Thị giác của
con người có lợi thế về thời gian tồn tại để huấn luyện cách phân biệt các vật thể,
chúng ở khoảng cách bao xa, chúng có đang chuyển động hay khơng và liệu có điều
gì đó sai trong ảnh hay không. Thị giác máy tính huấn luyện máy móc thực hiện
những chức năng này nhưng nó phải làm điều đó trong thời gian ngắn hơn võng mạc,
dây thần kinh thị giác và vỏ não thị giác bằng dữ liệu và thuật toán bởi một hệ thống
được huấn luyện để kiểm tra sản phẩm hoặc theo dõi dây chuyền sản xuất có thể phân
tích hàng nghìn sản phẩm hoặc quy trình mỗi phút, nhận thấy các lỗi hoặc vấn đề
khơng thể nhìn thấy, nó có thể nhanh chóng vượt qua khả năng của con người.
Thị giác máy tính được ứng dụng trong nhiều ngành công nghiệp từ các ngành
năng lượng và tiện ích cho đến các ngành sản xuất chế tạo. Thị trường của lĩnh vực
này vẫn đang tiếp tục phát triển, dự kiến sẽ đạt đến 48.6 tỷ đơ vào năm 2022.
2.1.2.

Một sớ bài tốn nởi bật


Một số bài toán phổ biến trong lĩnh vực Computer Vision:
− Phân loại ảnh (Image classification): là một bài toán với mục đích dự đoán
lớp của đối tượng trong ảnh.
− Định vị đối tượng (Object localization): là một bài toán với mục đích xác định
vị trí của một hoặc nhiều đối tượng trong ảnh và vẽ bounding box xung quanh
chúng.

17


− Phát hiện đối tượng (Object detection): là một bài toán kết hợp giữa phân loại
ảnh và định vị đối tượng – định vị vị trí, vẽ bounding box của một hoặc nhiều
đối tượng trong ảnh và cho biết chúng thuộc lớp nào.
− Truy vết dối tượng (Video object tracking): là một bài toán với mục đích xác
định vị trí của một hoặc nhiều đối tượng trong mỗi khung hình của video.
2.2. Object Detection
2.2.1.

Giới thiệu
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 kết hợp hai bài toán Phân loại
ảnh (Image classification) và Định vị đối tượng (Object localization) và thực hiện cho
một hoặc nhiều đối tượng trong ảnh. Ta có thể phân biệt 3 bài toán trên thông qua
đầu vào (input) và đầu ra (output) của chúng như sau:
− Phân loại ảnh (Image classification): dự đoán lớp của đối tượng trong ảnh.
o Input: Một hình ảnh với một đối tượng.
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.
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 bằng bounding box và cho biết nhãn của các đối tượng trong một ảnh.
o Input: Một hình ảnh có một hoặc nhiều đối tượng.
o Output: Một hoặc nhiều bounding box và nhãn của mỗi bounding box.

18


Hình 2.1 Ví dụ phân biệt 3 bài toán của Computer Vision. 1
2.2.2.

Phân loại

Các phương pháp giải quyết bài toán Phát hiện đối tượng được chia thành 2
nhóm chính:
− Phương pháp phát hiện đối tượng 1 giai đoạn (one-stage/single-stage object
detection/detector): Gọi là one-stage vì trong việc thiết kế model khơng có
phần trích xuất các vùng có khả năng chứa đối tượng (Region of Interest –
RoI) như RPN của Faster-RCNN. Các mơ hình one-stage coi việc định vị đối
tượng như 1 bài toán regression (với 4 thơng số, ví dụ như x, y, w, h) và cũng
dựa trên các pre-define box gọi là anchor để phát hiện đối tượng. Các mô hình
loại này thường nhanh nhưng độ chính xác lại kém hơn two-stage và thường
được dùng để nhận dạng đối tượng. Mô hình tiêu biểu: You Only Look Once
(YOLO), Single Shot MultiBox Detector (SSD), RetinaNet,…

− Phương pháp phát hiện đối tượng 2 giai đoạn (two-stage object
detection/detector): Gọi là two-stage vì model sẽ thực hiện 2 phần gồm trích
xuất 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
1

Nguồn: />
19


toán định vị và nhận diện vật thể tĩnh (hình ảnh) do u cầu cao về độ chính
xác nhưng khơng yêu cầu quá cao về tốc độ. Mô hình tiêu biểu: Region-Based
Convolutional Neural Networks (Các mô hình thuộc họ R-CNN).
2.3. Neural Network
Mạng nơ-ron nhân tạo (Artificial neural network – ANN) hay còn gọi là Neural
network (NN) là một mơ hình lấy cảm hứng từ mạng nơ-ron thần kinh, hoạt động
theo hướng mô tả lại cách hoạt động của hệ thần kinh với các neuron được kết nối
với nhau.

Hình 2.2 Nơ-ron sinh học. 1
Một mạng NN gồm 3 tầng:
− Tầng vào (input layer): Là tầng bên trái cùng của mạng thể hiện cho các đầu
vào của mạng.
− Tầng ra (output layer): Là tầng bên phải cùng của mạng thể hiện cho các đầu
ra của mạng.
− Tầng ẩn (hidden layer): Là tầng nằm giữa tầng vào và tầng ra thể hiện cho
việc suy luận logic của mạng.


1

Nguồn: />
20


a) Mạng NN với 1 tầng ẩn

b) Mạng NN với 2 tầng ẩn

Hình 2.3 Kiến trúc Neural Network. 1

Hình 2.4 Nơ-ron trong Neural Network. 1
Trong mạng NN, mỗi nút là một sigmoid nơ-ron nhưng hàm kích hoạt của
chúng có thể khác nhau. Tuy nhiên trong thực tế người ta thường để chúng cùng dạng
với nhau để tính tốn cho thuận lợi. Ở mỗi tầng, số lượng các nút mạng (nơ-ron) có
thể khác nhau tuỳ thuộc vào bài tốn và cách giải quyết. Nhưng thường khi làm việc
người ta để các tầng ẩn có số lượng nơ-ron bằng nhau. Ngồi ra, các nơ-ron ở các

1

Nguồn: />
21


tầng thường được liên kết đôi một với nhau tạo thành mạng kết nối đầy đủ (fullconnected network).
2.4. Convolutional Neural Network
2.4.1.

Giới thiệu


Mạng nơ-ron tích chập (Convolutional neural network – CNN) là một trong
những mô hình học sâu (Deep learning) tiên tiến. Mỗi ảnh đầu vào của mạng CNN
sẽ được truyền qua các lớp Convolution với các bộ lọc (Kernals), lớp Pooling, các
lớp được kết nối đầy đủ (fully connected layers – FC) và áp dụng hàm Softmax để
phân loại đối tượng với xác suất trong khoảng từ 0 đến 1.

Hình 2.5 Convolutional Neural Network.
2.4.2.

Convolution Layer

Lớp tích chập là lớp đầu tiên trích xuất các đặc trưng từ ảnh đầu vào. Lớp tích
chập duy trì mối quan hệ giữa các pixel thông qua việc học các đặc trưng của ảnh
bằng cách sử dụng các ô vuông nhỏ của dữ liệu đầu vào. Nó là 1 phép toán có 2 đầu
vào là ma trận ảnh và 1 bộ lọc hoặc kernel.

22


Hình 2.6 Cấu trúc tổng quát của Convolution layer.
Xét 1 ma trận 5 × 5 có giá trị pixel là 0 và 1 và ma trận bộ lọc 3 × 3 như
hình bên dưới.

Hình 2.7 Ví dụ đầu vào của Convolution layer
Quá trình tích chập của ma trận hình ảnh 5 × 5 với ma trận bộ lọc 3 × 3
được thể hiện ở hình bên dưới. Ma trận thu được từ quá trình này được gọi là Feature
Map.

23



Hình 2.8 Ví dụ minh họa quá trình hoạt động của Convolution layer.
Tích chập một ảnh với nhiều loại bộ lọc khác nhau có thể thực hiện nhiều hoạt
động như phát hiện cạnh (edge detection), làm mờ (blur), làm sắc nét (sharpen),…
Operation

Identity

Filter

0
[0
0

0
1
0

Convolved Image

0
0]
0

24


Edge detection


Sharpen

Box blur
(normalized)

1
[0
−1

0
0
0

−1
0]
1

0
[1
0

1
−4
1

0
1]
0

−1

[−1
−1

−1
8
−1

−1
−1]
−1

0
[−1
0

−1
5
−1

0
−1]
0

1 1
[1
9
1

1
1

1

1
1]
1

25


×