ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
TRẦN MẠNH HÙNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
LỰA CHỌN THUẬT TỐN VÀ XÂY DỰNG MƠ HÌNH
NHẬN DIỆN VÀ BÁM MỤC TIÊU TRÊN BIỂN
NĂM 2021
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
TRẦN MẠNH HÙNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
LỰA CHỌN THUẬT TỐN VÀ XÂY DỰNG MƠ HÌNH
NHẬN DIỆN VÀ BÁM MỤC TIÊU TRÊN BIỂN
Giáo viên hướng dẫn: Trịnh Huy Long
NĂM 2021
DANH MỤC VIẾT TẮT
STT
Từ viết tắt
Tên tiếng Anh
1
CNN
Convolutional neural network
2
COCO
Common Objects In Context
3
DPM
Deformable Part-based Model
4
GPU
Graphic Processing Unit
5
HOG
Histogram of Oriented Gradients
6
ILSVRC
ImageNet Large Scale Visual Recognition Challenge
7
SAR
Synthetic-aperture radar
8
SSD
Single Shot Detector
9
TD
Temporal Difference
10
RCNN
Region Convolutional neural network
11
RBF
Radial Basis Function
12
RL
Reinforcement Learning
13
VGG
Visual Geometry Group
14
VJ
Viola - Jones
DANH MỤC HÌNH ẢNH
MỤC LỤC
6
MỞ ĐẦU
Tính cấp thiết của đề tài nghiên cứu
Trong thời gian gần đây, nhờ ứng dụng rộng rãi của các mơ hình trí tuệ
nhân tạo, q trình tự động hóa các tác vụ của con người đã ngày càng đạt đến
mức độ cao hơn, thay thế các hoạt động phức tạp hơn của con người như nhận
dạng, dự đoán, chẩn đoán, ra quyết định… Ý tưởng, cơ sở toán học và các mơ
hình trí tuệ nhân tạo đầu tiên đã được phát triển từ giữa thế kỷ 20, tuy nhiên, cho
đến thập kỷ đầu tiên của thế kỷ 21, những cơ sở lý thuyết này vẫn chưa tìm được
hướng phát triển và ứng dụng thực tế. Sự trở lại mạnh mẽ của trí tuệ nhân tạo
trong những năm gần đây là nhờ có ba yếu tố chính:
1) Sự xuất hiện của dữ liệu lớn như một hệ quả của quá trình bùng nổ thơng
tin, dẫn đến khả năng xây dựng những bộ dữ liệu đã được chuẩn hóa để khai
thác khả năng luyện nhanh của trí tuệ nhân tạo trên máy tính.
2) Sự phát triển của các cơng cụ tính toán song song, các chip xử lý hiệu
suất cao cho phép triển khai nhanh các mơ hình tính tốn theo cấu trúc của các
mạng nơ-ron nhiều lớp.
3) Sự phát triển của các kỹ thuật trong thiết kế và các chiến thuật luyện các
mơ hình máy khác nhau.
Trong đó, một số ứng dụng thuộc lĩnh vực thị giác máy tính, chuẩn đốn
hình ảnh, phân tích dữ liệu đang có những tiến bộ nhảy vọt. Các ứng dụng phổ
biến và rộng rãi như đánh giá tình huống, giám sát video, robot và hệ thống tự
hành đã khuyến khích số lượng lớn nghiên cứu chuyên sâu về lý thuyết và ứng
dụng của trí tuệ nhân tạo. Trong thế giới biến đổi theo hướng kỹ thuật số. Ngày
càng nhiều giá trị gia tăng từ việc tự động hóa và tối ưu các q trình điều khiển
và ra quyết định bằng cách thu thập những thơng tin chun sâu và các mơ hình
thơng minh sử dụng trí tuệ nhân tạo. Trí tuệ nhân tạo đang nhanh chóng trở
thành một cơng cụ quan trọng trong cơ sở hạ tầng của nền công nghiệp 4.0.
7
Điều khiển tối ưu giải quyết bài tốn tìm kiếm một quy luật điều khiển cho
một hệ thống cho trước như là một tiêu chuẩn tối ưu định đã đạt được. Một bài
toán điều khiển bao gồm một hàm chi phí đó là một hàm của trạng thái và các
biến điều khiển. Một điều khiển tối ưu là một tập hợp các phương trình vi phân
mơ tả đường đi của các biến điều khiển cực tiểu hóa hàm chi phí. Trong các
mảng ứng dụng của trí tuệ nhân tạo, tối ưu hóa các q trình điều khiển là lĩnh
vực nghiên cứu đã từng được nhắc đến trong các nghiên cứu cơ bản về điều
khiển tối ưu và hai mang lý thuyết này có khá nhiều điểm liên quan đến nhau.
Vấn đề luyện các mạng nơ-ron feed-forward đã được các nhà nghiên cứu tiếp
cận như một quá trình giải quyết bài tốn quy hoạch phi tuyến tính trong điều
khiển tối ưu (Bazaraa et al., 2013; Bertsekas, 1999; Kuhn & Tucker, 2014) có
dạng:
(1)
Trong đó θ là tập hợp các tham số cần luyện và J là hàm mất mát quy ước.
Trong điều kiện khơng có các giới hạn, đây là cơ sở cho các bài toán xuống dốc
hoặc xuống dốc ngẫu nhiên trong học máy để tìm tập hợp tham số tối ưu θ. Vì
vậy việc sử dụng cách tiếp cận của trí tuệ nhân tạo và học sâu trong các bài tốn
điều khiển tối ưu là hướng đi rất có tiềm năng ứng dụng trong thực tế.
Trí tuệ nhân tạo, cụ thể là các mơ hình học sâu, hoc tăng cường dựa trên cơ
sở mơ phỏng lại q trình nhận thức của con người bằng cách sử dụng các mạng
nơ-ron nhiều lớp tương tự hệ thống nơ ron trong hệ thần kinh thị giác của con
người. Kiến trúc của hệ nơ-ron và cách kết hợp các mơ hình hệ nơ-ron khác
nhau đang là lĩnh vực được đầu tư nghiên cứu rộng rãi nhằm phát triển các mơ
hình điều khiển ứng dụng cho các mục đích tối ưu điều khiển đối với các hệ
thống phức tạp chứa nhiều yếu tố phi tuyến.
Mục tiêu nhiệm vụ của đề tài
8
Xây dựng thuật tốn và mơ hình trí tuệ nhân tạo sử dụng học tăng cường
nhằm tự động hiệu chỉnh, thích nghi và tối ưu chất lượng mơ hình điều khiển
bám mục tiêu di động trên khí tài quang điện tử.
Đối tượng và phạm vi nghiên cứu
• Nghiên cứu các bài tốn phát hiện mục tiêu sử dụng học sâu.
•
Xây dựng bộ dữ liệu, đánh giá và lựa chọn mô hình cho bài tốn phát hiện mục
tiêu sử dụng học sâu.
•
Nghiên cứu các mơ hình trí tuệ nhân tạo sử dụng học tăng cường. Nghiên cứu
các kỹ thuật Q-learning trong xây dựng mơ hình tác từ tự động điều chỉnh thích
nghi.
•
Xây dựng mơ hình thử nghiệm tương tác mơi trường và luyện tác từ học tăng
cường. Thử nghiệm đánh giá kết quả mơ hình điều khiển bám mục tiêu trên khí
tài quang điện tử.
Phương pháp nghiên cứu
Căn cứ vào mục đích, yêu cầu, nội dung đặt ra của đề tài, tơi xác định
phương pháp nghiên cứu ở đây bao gồm:
• Xây dựng một sơ đồ nghiên cứu tổng quan mang lại cái nhìn chung
nhất.
• Tiến hành thu thập thơng tin, nghiên cứu tài liệu, dựa trên những
tài liệu tham khảo, xây dựng quy trình dự kiện; nêu rõ các cơ sở khoa học
từ đó xác định cần nghiên cứu tồn bộ hay một số cơng đoạn cụ thể.
• Xử lý thơng tin, số liệu thu thập được, viết chương trình, huấn
luyện mơ hình và kiểm thử.
Ý nghĩa khoa học và thực tiễn
• Về mặt lý thuyết
9
Nghiên cứu các phương pháp phát hiện mục tiêu dựa trên nển tảng đã có,
từ đó tiếp tục nghiên cứu và phát triển bài toán đáp ứng tốt hơn về độ chính xác,
xử lý tính tốn nhanh đáp ứng u cầu về thời gian thực.
• Về mặt thực tiễn
Cung cấp mơ hình tự động phát hiện, hiệu chỉnh, thích nghi và tối ưu hóa
chất lượng bám mục tiêu di động trên khí tài quang điện tử.
Lời cảm ơn
Để có thể hoàn thành đồ án một cách hoàn chỉnh, bên cạnh sự nỗ lực cố
gắng của bản thân cịn có sự giúp đỡ nhiệt tình của q thầy cơ, sự ủng hộ động
viên của đơn vị, gia đình và bạn bè trong suốt thời gian học tập, nghiên cứu và
thực hiện đồ án tốt nghiệp.
Xin chân thành bày tỏ lòng biết ơn đến thầy ThS. Trịnh Huy Long, người
đã luôn động viên, giúp đỡ và tạo mọi điều kiện thuận lợi nhất cho em hoàn
thành đồ án này.
10
Chương 1
TỔNG QUAN VỀ BÀI TỐN
1.1.
Bài tốn phát hiện đối tượng
1.1.1. Bài toán phát hiện đối tượng tự động trong cảnh giới
Phát hiện đối tượng tự động có vai trị quan trọng trong các hệ thống trinh
sát phát hiện mục tiêu, các hệ thống giám sát, nhận dạng và khảo sát. Việc sử
dụng thị giác máy tính để phát hiện các đối tượng là một giải pháp được sử dụng
rộng rãi trên toàn thế giới. Phương pháp này ứng dụng các kỹ thuật xử lý ảnh và
các thuật toán học máy để tìm các đối tượng trong các hình ảnh. Tuy nhiên, việc
phát hiện đối tượng dựa trên thị giác máy tính là một vấn đề khó bởi vì hệ thống
phải giải quyết với sự thay đổi về điều kiện tạo ảnh (ví dụ như sự thay đổi về các
điều kiện ánh sáng và thời tiết) và sự thay đổi của các bối cảnh và môi trường.
Nhiều phương pháp phát hiện đối tượng khác nhau sử dụng thị giác máy
tính đã được phát triển và ứng dụng rộng rãi trong đời sống thực tiễn. Các
phương pháp này phát hiện đối tượng với ba bước chính. Bước thứ nhất là dựa
vào các thuộc tính của đối tượng như màu sắc, kết cấu bề mặt và hình dạng để
trích chọn các đặc trưng ảnh. Bước thứ hai là sử dụng tập dữ liệu mẫu để xác
định các tham số cho các bộ nhận dạng đối tượng trong ảnh. Bước thứ 3 là sử
dụng bộ nhận dạng để xác định đối tượng trong các ảnh đầu vào bất kỳ.
Trong hệ thống phát hiện mục tiêu qn sự thì việc trích chọn đặc trưng
ảnh đóng một vai trị quan trọng. Có hai hướng giải quyết chính trong việc trích
chọn đặc trưng được thể hiện trên hình 1.1.
Hai quy trình này có những điểm đặc trưng căn bản như sau:
a) Sử dụng các đặc trưng được trích chọn, xử lý bằng tay như đặc trưng
vùng, đặc trưng cạnh, đặc trưng kết cấu bề mặt của các vùng ảnh, làm nổi các
đường bao của đối tượng. Điểm mạnh của các phương pháp này là bất biến với
các điều kiện ánh sáng và sự dịch chuyển của đối tượng. Tuy nhiên, các phương
pháp dựa vào cạnh lại nhạy cảm với các đặc trưng nhiễu và khơng có hiệu quả
11
khi trong ảnh xuất hiện nhiều đối tượng nhiễu.
b) Trích chọn đặc trưng bằng các bản đồ đặc trưng được tạo ra khi luyện
mơ hình mạng nơ ron tích chập trên dữ liệu đầu vào là ảnh dưới dạng mảng đa
chiều. Phương pháp này u cầu khối lượng tính tốn khá lớn so với phương
pháp thứ nhất trong quá trình luyện cũng như chạy thuật tốn.
Hình 1. 1: Quy trình xây dựng mơ hình phát hiện đối tượng trên ảnh số
Hướng giải quyết thứ nhất thuộc về xử lý ảnh kinh điển và đã được nghiên
cứu phát triển rất sâu trong lý thuyết về xử lý ảnh số, tuy nhiên trên thực tế các
phương pháp trích chọn đặc trưng thủ cơng này đang dần được thay thế bằng các
mạng trí tuệ nhân tạo học sâu tích chập nhiều lớp. Trong mục này, chúng ta sẽ
xem xét kỹ hơn nguyên lý và khả năng áp dụng của phương pháp mạng nơ-ron
học sâu trong bài toán phát hiện.
1.1.2. Bài toán phát hiện đối tượng và các phương pháp giải quyết cổ điển
Phát hiện đối tượng là một trong những bài toán phức tạp nhất của xử lý
ảnh. Bài toán phát hiện đối tượng trong ảnh số có yêu cầu chung là chuyển đổi
dữ liệu từ đầu vào là ma trận ảnh và đầu ra là vị trí (nếu có) của đối tượng trên
ảnh. Trong bối cảnh phát hiện (detection) vật thể, những phương pháp khác nhau
được áp dụng tùy thuộc vào liệu chúng ta chỉ muốn định vị vật thể hay phát hiện
được những hình dạng phức tạp hơn trong tấm ảnh.
12
Trong 20 năm gần đây, rất nhiều công bố khoa học đã đề cập đến những
cách tiếp cận khác nhau đối với bài tốn phát hiện, số lượng các cơng bố này
được biểu diễn trên hình 1.2.
Hình 1. 2: Số lượng công bố khoa học về phát hiện đối tượng theo từng
năm
Hầu hết các cách tiếp cận đầu tiên đối với bài toán phát hiện đối tượng đều
khai thác các thuộc tính ảnh được điều chỉnh bằng tay, trong đó người thiết kế
mơ hình chọn ra bộ các thuộc tính đặc trưng nhất để biểu diễn đối tượng. Những
bộ phát hiện như vậy có thể hoạt động rất nhanh trong điều kiện tài ngun tính
tốn giới hạn, ví dụ như:
Viola-Jones (VJ) detector: bộ phát hiện VJ đi theo hướng sơ khai nhất của
phát hiện, tức là sử dụng cửa sổ trượt. Để đi qua tất cả những vị trí và tỷ lệ có
thể trong một ảnh để tìm kiếm đối tượng. Để tìm kiếm đối tượng trên các ơ cửa
sổ, VJ sử dụng thuật toán adaboost để chọn ra bộ các thuộc tính đặc trưng nhất
[2]. Mặc dù nó có vẻ là một quy trình đơn giản, nhưng dung lượng tính tốn
vượt xa sức mạnh của máy tính vào thời đó.
HOG (Histogram of Oriented Gradients) Detector: bản chất của phương
pháp là sử dụng thông tin về sự phân bố của các cường độ gradient (intensity
gradient) hoặc của hướng biên (edge directions) để mô tả các đối tượng cục bộ
trong ảnh [3]. HOG có thể được coi là một cải tiến quan trọng của việc đảm bảo
độ bất biến trong biến đổi khơng gian theo vị trí, theo tỷ lệ và định hình bối cảnh
vào thời đó. Để cân bằng giữa tính bất biến của đối tượng (bao gồm dịch, tỷ lệ,
13
độ sáng, v.v.) và tính phi tuyến tính (trên các đối tượng phân biệt khác nhau), bộ
mô tả HOG được thiết kế để tính tốn trên một lưới dày đặc các ơ có khoảng
cách đều nhau và sử dụng chuẩn hóa tương phản cục bộ chồng chéo (trên
"Khối") để cải thiện độ chính xác. Mặc dù HOG có thể được sử dụng để phát
hiện nhiều loại đối tượng khác nhau, nhưng nó được phát triển chủ yếu cho vấn
đề phát hiện người đi bộ.
Deformable Part-based Model (DPM) ban đầu được đề xuất bởi P.
Felzenszwalb vào năm 2008 như một phần mở rộng của máy dị HOG, và sau đó
một loạt các cải tiến đã được thực hiện bởi R. Girshick. DPM sử dụng triết lý
phát hiện “chia để trị”, quá trình luyện có thể được thực hiện trên cơ sở phân
tách đối tượng, và bộ phát hiện có thể được coi là một tập hợp các phát hiện trên
các phần đối tượng khác nhau. Ví dụ, vấn đề phát hiện một “ơ tơ” có thể được
coi là phát hiện cửa sổ, thân và bánh xe của nó. Một bộ phát hiện DPM điển
hình bao gồm một bộ lọc gốc và một số bộ lọc thành phần. Thay vì chỉ định thủ
cơng cấu hình của bộ lọc thành phần (ví dụ: kích thước và vị trí), phương pháp
luyện có giám sát sơ bộ nhất được phát triển trong DPM để tất cả các cấu hình
của bộ lọc bộ phận có thể được học tự động dưới dạng các biến ẩn.
Như vậy, trong điều kiện giới hạn về công cụ phần cứng, các thuật toán
kinh điển trong xử lý ảnh được thiết kế bằng cách kết hợp các phương pháp xử
lý tín hiệu dạng phân bố không gian đã bước đầu đưa ra các giải pháp cho bài
toán phát hiện đối tượng trên ảnh số.
1.1.3. Bài toán phát hiện đối tượng và phương pháp giải quyết hiện đại
Trước tiên chúng ta cần phân biết rõ các khái niệm như phân loại hình ảnh
(image classification) là gì? Định vị vật thể (object localization) là gì? Sự khác
biệt giữa định vị vật thể (object localization) và phát hiện đối tượng (object
detection) là gì? Đây là những khái niệm có thể gây nhầm lẫn, đặc biệt là khi cả
ba nhiệm vụ đều liên quan đến nhau. Hiểu một cách đơn giản:
- Phân loại hình ảnh (image classification): liên quan đến việc gán nhãn cho
14
hình ảnh.
- Định vị vật thể (object localization): liên quan đến việc vẽ một hộp giới
hạn (bounding box) xung quanh một hoặc nhiều đối tượng trong hình ảnh nhằm
khoanh vùng đối tượng.
- Phát hiện đối tượng (object detection): Là nhiệm vụ khó khăn hơn và là
sự kết hợp của cả hai nhiệm vụ trên: Vẽ một bounding box xung quanh từng đối
tượng quan tâm trong ảnh và gán cho chúng một nhãn. Kết hợp cùng nhau, tất cả
các vấn đề này được gọi là object recognition hoặc object detection.
Nhận dạng đối tượng là gì?
Nhận dạng đối tượng 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ân loại hình ảnh liên quan đến việc dự đốn lớp của một đối tượng trong
một hình ảnh. Định vị vật thể đề cập đến việc xác định vị trí của một hoặc nhiều
đối tượng trong một hình ảnh và vẽ bounding box xung quanh chúng. Phát hiện
đối tượng kết hợp hai nhiệm vụ trên và thực hiện cho một hoặc nhiều đối tượng
trong hình ảnh. Chúng ta có thể phân biệt giữa ba nhiệm vụ thị giác máy tính cơ
bản trên thơng qua input và output của chúng như sau:
• Phân loại hình ảnh: Dự đốn nhãn của một đối tượng trong một hình
ảnh.
Input: Một hình ảnh với một đối tượng, chẳng hạn như một bức ảnh.
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: 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.
Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức
ảnh.
15
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: Xác định vị trí hiện diện của các đối tượng trong
bounding box và nhãn của các đối tượng nằm trong một hình ảnh.
Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức
ảnh.
Output: Một hoặc nhiều bounding box và nhãn cho mỗi bounding box.
Một số định nghĩa khác cũng rất quan trọng trong computer vision là phân
đoạn đối tượng (object segmentation), trong đó các đối tượng được nhận dạng
bằng cách làm nổi bật các pixel cụ thể của đối tượng thay vì bounding box. Và
image captioning kết hợp giữa các kiến trúc mạng CNN và LSTM để đưa ra các
lý giải về hành động hoặc nội dung của một bức ảnh.
Điểm khác biệt nữa trong các mơ hình image classification so với Object
Recognition đó là:
• Mơ hình image classification là đưa một tấm ảnh và đầu ra là kết quả
tấm ảnh đó là cái gì. Ví dụ: chó, mèo, lợn, gà hay gái, trai…
• Trong khi object detection thì khác input sẽ là một tấm ảnh và đầu ra sẽ
là các vật thể, đối tượng có trong ảnh đó kèm theo toạ độ (bounding
box) của nó. Ví dụ: có chó tại tọa độ x1,y1,x2,y2 và có mèo tại toạ độ
x3,y3,x4,y4…
Chính do sự khác nhau như vậy nên cấu trúc mạng cho các bài toán IC và
OD cũng khác nhau. Với bài tốn IC thì đơn thuần là sử dụng một mạng CNN
thông thường với input và output cố định cịn với bài tốn OD thì khó hơn vì rõ
ràng là output khơng cố định. Tuỳ vào số lượng đối tượng có trong ảnh mà số
output sẽ khác nhau.
Mơ hình học sâu, cụ thể hơn là mạng nơ-ron tích chập (CNN), đang ngày
càng được sử dụng nhiều hơn và trở thành công nghệ cốt lõi cho phép phát hiện
và phân loại các đối tượng trong hình ảnh điện quang và radar búp sóng tổng
16
hợp (SAR). Mơ hình học sâu được áp dụng trong nhiều mơ hình thuật tốn với
quy trình biến đổi dữ liệu và khai thác thuộc tính khác nhau để thực hiện bài
tốn phát hiện. Ví dụ như phương án sơ khai nhất là sử dụng của sổ trượt. Nhờ
tính đơn giản trong triển khai, thuật toán cửa sổ trượt thường được sử dụng thay
cho các phương pháp tiếp cận hiện đại hơn để phát hiện đối tượng được tìm thấy
trong tài liệu. Tuy nhiên, cửa sổ trượt chịu sự đánh đổi cơ bản giữa tốc độ và độ
chính xác định vị đối tượng nên trên thực tế ít được áp dụng. Các mơ hình hiện
đại ngày nay chủ yếu được chia làm hai nhóm là các mơ hình phát hiện hai giai
đoạn và các mơ hình phát hiện một giai đoạn.
Hình 1. 3: Sơ đồ tổng hợp các tác vụ của computer vision
Phương pháp tiếp cận hai giai đoạn để phát hiện đối tượng là giải pháp
đạt được độ chính xác khá cao. Phương pháp này có thể được chia nhỏ thành
phát hiện các đối tượng ứng viên (Giai đoạn 1), sau đó là phân loại đối tượng và
tinh chỉnh vị trí bằng CNN (Giai đoạn 2). Các thuật tốn dựa trên Faster R-CNN
là điển hình nhất trong loạt các thuật toán phát hiện hai giai đoạn mà ban đầu bắt
17
nguồn từ sự kết hợp của các đề xuất khu vực với tích hợp khai thác tính năng
mạng nơ-ron. Faster R-CNN được xây dựng dựa trên cải tiến từ Fast R-CNN
nhưng đạt tốc độ nhanh hơn bằng cách sử dụng mạng nơ ron thứ hai cho đề xuất
khu vực chứa đối tượng, thay vì sử dụng tìm kiếm có chọn lọc.
Các mơ hình một giai đoạn thực hiện phát hiện đối tượng trong một lần
chụp cũng được sử dụng khá phổ biến. Mơ hình thực hiện q trình phát hiện
bằng cách thực hiện hồi quy các tham số vùng bao của đối tượng (vị trí, độ rộng,
độ dài) cùng với phân loại đồng thời bằng một mạng CNN duy nhất. Gần đây,
một số mơ hình một giai đoạn đã cho thấy hiệu suất tương đương với các mơ
hình hai giai đoạn đồng thời đạt tốc độ xử lý khá cao, điển hình trong đó là các
bộ phát hiện một lần (SSD). SSD là phương pháp phát hiện đối tượng một giai
đoạn giúp phân chia không gian đầu ra của các hộp bao thành một tập hợp các
hộp mặc định theo các tỷ lệ khung hình và tỷ lệ khác nhau cho mỗi vị trí có thể
của đối tượng. Khi mơ hình hoạt động, mạng nơ ron tạo ra giá trị điểm số cho
khả năng hiện diện của từng loại đối tượng trong mỗi hộp mặc định và đưa ra
các điều chỉnh cho hộp bao để phù hợp hơn với hình dạng đối tượng (tăng điểm
số). Ngoài ra, mạng kết hợp các dự đoán từ nhiều bản đồ đối tượng với các độ
phân giải khác nhau để xử lý tự nhiên các đối tượng có kích thước khác nhau.
Cải thiện đáng kể về tốc độ xử lý của các bộ phát hiện SSD đến từ việc loại
bỏ giai đoạn đề xuất hộp giới hạn và giai đoạn lấy mẫu lại thuộc tính. Những ưu
điểm của bộ phát hiện SSD cịn bao gồm sử dụng mạng CNN cỡ nhỏ để dự đoán
các lớp đối tượng và hiệu số ở các vị trí hộp giới hạn, sử dụng các bộ dự đoán
(bộ lọc) riêng biệt cho các phát hiện tỷ lệ khung hình khác nhau và áp dụng các
bộ lọc này cho nhiều bản đồ đối tượng từ các giai đoạn sau của một mạng để
thực hiện phát hiện ở nhiều quy mơ.
Ngồi ra, các mơ hình nhiều giai đoạn cũng được phát triển trên cơ sở đóng
gói một số kỹ thuật lại với nhau để thực hiện việc phát hiện đối tượng, tuy nhiên
chưa phổ biến bằng hai loại mơ hình đã nhắc đến ở trên. Điển hình trong các mơ
hình này là Cascade R-CNN mơ hình phát hiện nhiều giai đoạn được xây dựng
18
dựa trên R-CNN bằng cách tạo chuỗi liên kết các bộ phát hiện cùng nhau mỗi bộ
đều chính xác và nghiêm ngặt về định vị đối tượng hơn cái trước nó để tuần tự
chọn lọc và loại bỏ các các kết quả dương tính giả. Các bộ phát hiện được đào
tạo từng giai đoạn cùng nhau, với quan điểm rằng đầu ra của một bộ phát hiện là
một phiên bản tốt để đào tạo các bộ phát hiện tiếp theo trong chuỗi.
1.2.
Bài tốn điều khiển bám mục tiêu
1.1.
Mơ tả hệ thống
Hệ thống camera quan sát đặt trên tàu biển gồm hai bộ phận chính tạo
thành là hệ thống bệ quay tầm hướng tự ổn định dùng con quay và camera quan
sát được đặt lên bệ quay. Gió và sóng sẽ ảnh hưởng đến những con tàu đang đi
trên mặt biển và khiến chúng lắc lư. Máy ảnh gắn trên tàu cũng khơng ổn định
do ảnh hưởng của nó, khiến mục tiêu bị dịch chuyển hoặc mất. Do đó, camera
phải được lắp đặt trên một bệ quay có khả năng tự ổn định trên tàu để bù cho sự
dao động của tàu. Trong điều kiện hoạt động trên biển, thì sóng biển tác động
làm bệ quay rung lắc, lực cản của gió, lực ma sát và lực qn tính của tự thân bệ
quay, đặc biệt đối với hệ thống camera tầm xa thì vấn đề điều khiển càng thêm
khó khăn, cần nghiên cứu và phân tích sâu hơn.
Hiện tại, đối với hệ thống camera quan sát trên biển thường có tải trọng lớn
thì vừa phải thiết kế phần cơ khí sao cho hợp lý để nâng cao độ chính xác của hệ
thống và giảm thiểu mơ-men qn tính, mặt khác cũng phải chọn phương pháp
điều khiển cho tối ưu để nhằm cải thiện tính năng hệ thống. Để cách ly dao động
của tàu lên camera thì bệ quay dùng con quay để đưa thơng tin về bộ điều khiển
từ đó bộ điều khiển sẽ truyền lệnh để động cơ làm việc chống lại sự dao động từ
thân tàu[1]. Hệ thống ổn định được đề cập đến ở đây là một thiết bị có thể giữ cho
vật thể được ổn định dưới sự tác động từ bên ngồi để duy trì hướng của nó ln
giữ được khơng đổi so với khơng gian quán tính hoặc thực hiện đúng theo
hướng mà người điều khiển mong muốn.
Phương pháp điều khiển hiệu chỉnh miền tần số điển hình có thể đảm bảo
19
hệ thống tương đối ổn định trong một phạm vi nhất định, nhưng mơ hình chính
xác của đối tượng điều khiển rất khó được xác định và những thay đổi trong
điều kiện môi trường sẽ ảnh hưởng đến các đặc tính của chính hệ thống. Đặc
biệt là trong các thiết bị trên tàu, khi thân tàu ở các tư thế chuyển động khác
nhau, trọng tâm của hệ thống sẽ thay đổi và mô-men ma sát giữa các trục cũng
thay đổi. Các yếu tố trên sẽ làm cho các đặc điểm của đối tượng được điều khiển
khác với các trường hợp mà trong q trình điều chỉnh mà đặc tính của hệ thống
không đổi. Do vậy, một cấu trúc biến với bù ma sát và độ nhạy với các tham số
được thiết kế, làm cho hệ thống có hiệu suất tốt hơn.
Để có được hình ảnh video rõ ràng, một cơ cấu bệ quay camera ổn định
dùng con quay hồi chuyển thường được sử dụng để cung cấp môi trường cách ly
không gian tốt và thiết bị được thực hiện với cấu trúc cơ điện quay góc tầm và
hướng. Hệ thống bệ quay sử dụng bộ servo động cơ điện bao gồm góc tầm và
góc hướng. Cấu trúc Servo hai phần về cơ bản là giống nhau. Ở đây, chỉ có một
trục được sử dụng làm ví dụ. Hệ thống Servo chứa hai vịng bên trong và bên
ngồi: vịng phản hồi tốc độ là vòng lặp bên trong, dựa vào con quay để đo vận
tốc góc và động cơ sẽ chạy theo hướng ngược lại để đảm bảo độ ổn định của mặt
phẳng camera. Sơ đồ khối hệ thống được hiển thị trong Hình 1.4.
Hình 1. 4: Sơ đồ hệ thống Camera tự ổn định
1.2.
Thiết kế phần nhúng cho bộ điều khiển trung tâm
Cùng với việc thiết kế phần cứng cho hệ thống thì việc thiết kế phần mềm
đóng vai trị quan trọng. Một mặt, thuật toán điều khiển của hệ thống và mạch
20
phần cứng phải được hiện thực hóa bằng thiết kế phần mềm. Mặt khác, tất cả
các chức năng, phần mềm được thiết kế phải có độ tin cậy cao để đảm bảo hệ
thống hoạt động ổn định và đáng tin cậy. Phần này kết hợp thiết kế phần cứng
của hệ thống điều khiển để thiết kế phần mềm bộ điều khiển trung tâm.
Để thuận tiện cho việc gỡ lỗi và bảo trì hệ thống phần mềm, kết hợp với
thiết kế phần cứng của hệ thống điều khiển servo, phần mềm máy tính thấp hơn
sẽ dựa trên phần mềm phát triển tích hợp µVision IDE của bộ vi điều khiển
STM32F407, sử dụng ngôn ngữ C làm ngôn ngữ phát triển chương trình và sử
dụng thiết kế mơ đun để phân chia hệ thống. Các bước thiết kế chương trình:
Hiểu các chức năng tổng thể của hệ thống và các đặc điểm của hệ thống phần
cứng liên quan đến từng mô-đun, sau đó phân tách thành các mơ-đun phần mềm
độc lập theo các chức năng đã thực hiện, vẽ sơ đồ chương trình của từng mơ-đun
và viết chương trình con theo sơ đồ. Cuối cùng, gỡ lỗi mô phỏng chung của từng
mô-đun. Sau đây là thiết kế phần mềm cho bộ điều khiển trung tâm.
Xử lý thơng tin từ máy tính PC: Khi nhận thơng tin máy tính chủ PC, mơđun này được gọi để xử lý thông tin máy chủ và điều khiển hệ thống chạy, khi
không nhận được thông tin máy tính chủ, chương trình sẽ bỏ qua chức năng này
và trực tiếp thực hiện chức năng tiếp theo.
21
Hình 1. 5: Lưu đồ phần mềm điều khiển bệ quay trên bộ điều khiển trung
tâm
Đọc thông tin phản hồi từ con quay: Để có được thơng tin vị trí và vận tốc
của góc tầm và góc hướng của camera, cần phải thông qua giao tiếp với con
quay qua giao thức truyền thông tin và thực hiện việc xử lý thông tin qua việc
lọc và việc biến đổi thành thông tin có thể sử dụng được trong chương trình.
Điều khiển động cơ: sau khi nhận thơng tin từ máy tính chủ và con quay
phản hồi về thì chương trình sẽ đọc trạng thái hiện tại của động cơ để đưa ra tín
hiệu điều khiển động cơ chuẩn xác qua thuật toán được xác lập. Việc điều khiển
động cơ ảnh hưởng trực tiếp đến chất lượng của hệ thống điều khiển.
1.3.
Tóm tắt chương 1
Trong thực tế quan sát quỹ đạo mục tiêu di động, có lúc hệ thống quan sát
khơng thể nhận biết được mục tiêu, do các mục tiêu chuyển động quá gần nhau
trong khi độ phân giải của hệ thống quan sát bị hạn chế, hoặc do một số mục
tiêu bị che khuất bởi các mục tiêu khác vì một lý do quan trắc nào đó. Trường
hợp này cũng thường xảy ra trong những mơi trường có nhiều điều kiện ảnh
hưởng bỏi yếu tố thời tiết, mật độ nhiễu lớn. Các thuật toán bám mục tiêu, bám
22
quỹ đạo hiện hành gặp khó khăn và thường mất bám, mất quỹ đạo bám. Trong
báo cáo đồ án tốt nghiệm, chúng tôi thực hiện xây dựng và thử nghiệm phương
pháp phát hiện mục tiêu và thuật toán tối ưu điều khiển bám quỹ đạo dựa trên hệ
thống ổn định hình ảnh camera quan sát trên biển dựa trên hệ thống tự cân bằng
sử dụng con quay hồi chuyển.
23
Chương 2
CƠ SỞ LÝ THUYẾT
2.1.
Các mạng neural cơ bản
2.1.1. Nguyên lí mạng nơ ron tích chập
2.1.1.1. Các định nghĩa cơ bản
CNN là tên viết tắt của từ Convolutional Neural Network (hay cịn gọi là
CNNs mạng nơ ron tích chập). Đây là một trong những mơ hình Deep Learning
vơ cùng tiên tiến. CNN sẽ cho phép bạn xây dựng các hệ thống thơng minh với
độ chính xác vơ cùng cao.
Hiện nay, CNN được ứng dụng rất nhiều trong những bài toán nhận dạng
object trong ảnh.
Và kiến thức cụ thể về CNN đã được lý giải như sau:
Convolutional
Đây là một loại cửa sổ dạng trượt nằm trên một ma trận. Những
convolutional layer sẽ có các parameter được học để điều chỉnh và lấy ra những
thơng tin chính xác nhất mà khơng cần phải chọn feature.
Convolution hay tích chập chính là nhân các phần tử trong ma trận. Sliding
Window còn được gọi là kernel, filter hoặc feature detect và là loại ma trận có
kích thước nhỏ.
Feature
Feature là đặc điểm, các CNN sẽ so sánh hình ảnh dựa theo từng mảnh và
những mảnh này được gọi là Feature. Thay vì phải khớp các bức ảnh lại với
nhau thì CNN sẽ nhìn ra sự tương động khi tìm kiếm thơ các Feature khớp với
nhau bằng 2 hình ảnh tốt hơn.
Mỗi Feature được xem là một hình ảnh mini có nghĩa chúng là những mảng
2 chiều nhỏ. Các Feature này đều tương ứng với các khía cạnh nào đó của hình
ảnh và chúng có thể khớp lại với nhau.
24
Các lớp cơ bản của mạng CNN là gì?
CNN bao gồm những phần lớp cơ bản là:
Convolutional layer
Đây là lớp quan trọng nhất của CNN, lớp này có nhiệm vụ thực hiện mọi
tính tốn. Những yếu tố quan trọng của một convolutional layer là: stride,
padding, filter map, feature map.
- CNN sử dụng các filter để áp dụng vào vùng của hình ảnh. Những filter
map này được gọi là ma trận 3 chiều, mà bên trong nó là các con số và chúng là
parameter.
- Stride có nghĩa là khi bạn dịch chuyển filter map theo pixel dựa vào giá trị
trừ trái sang phải. Và sự chuyển dịch này chính là Stride.
- Padding: Là các giá trị 0 được thêm vào với lớp input.
- Feature map: Nó thể hiện kết quả của mỗi lần filter map quét qua input.
Sau mỗi lần quét sẽ xảy ra q trình tính tốn.
Relu Layer
Relu layer là hàm kích hoạt trong neural network và hàm này cịn được gọi
là activation function. Hàm kích hoạt có tác dụng mơ phỏng các neuron có tỷ lệ
truyền xung qua axon. Trong activation function thì nó cịn có hàm nghĩa là:
Relu, Leaky, Tanh, Sigmoid, Maxout, …
Hiện nay, hàm relu được dùng phổ biến và vơ cùng thơng dụng. Nó được
sử dụng nhiều cho các nhu cầu huấn luyện mạng neuron thì relu mang lại rất
nhiều ưu điểm nổi bật như: việc tính tốn sẽ trở nên nhanh hơn…
Q trình sử dụng relu, chúng ta cần lưu ý đến vấn đề tùy chỉnh các
learning rate và theo dõi dead unit. Những lớp relu layer đã được sử dụng sau
khi filter map được tính ra và áp dụng hàm relu lên những giá trị của filter map.
Pooling layer
25
Khi đầu vào quá lớn, những lớp pooling layer sẽ được xếp vào giữa giữa
những lớp Convolutional layer để làm giảm parameter.
Hiện nay, pooling layer có 2 loại chủ yếu là: max pooling và average.
Hình 2. 1: Cấu trúc của CNN
Fully connected layer
Lớp này có nhiệm vụ đưa ra kết quả sau khi lớp convolutional layer và
pooling layer đã nhận được ảnh truyền. Lúc này, ta thu được kết quả là model đã
đọc được thông tin của ảnh và để liên kết chúng cũng như cho ra nhiều output
hơn thì ta sử dụng fully connected layer.
Ngoài ra, nếu như fully connected layer có được giữ liệu hình ảnh thì
chúng sẽ chuyển nó thành mục chưa được phân chia chất lượng. Cái này khá
giống với phiếu bầu rồi chúng sẽ đánh giá để bầu chọn ra hình ảnh có chất lượng
cao nhất.
2.1.1.2. Kiến trúc chung của mạng CNN
Tích chập được ứng dụng phổ biến trong lĩnh vực thị giác máy tính. Thơng
qua các phép tích chập, các đặc trưng chính từ ảnh được trích xuất và truyền vào
các tầng tích chập (layer convolution). Mỗi một tầng tích chập sẽ bao gồm nhiều
đơn vị mà kết quả ở mỗi đơn vị là một phép biến đổi tích chập từ layer trước đó
thơng qua phép nhân tích chập với bộ lọc.
Về cơ bản thiết kế của một mạng nơ ron tích chập 2 chiều có dạng như sau: