TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
Nghiên cứu ứng dụng trí tuệ nhân tạo
trong nhận dạng và định vị cho thiết bị bay
không người lái
NGUYỄN THỊ HOÀI THƯƠNG
[email protected]
Ngành Kỹ thuật viễn thông
Giảng viên hướng dẫn:
TS. Nguyễn Anh Quang
Chữ ký của GVHD
Trường:
Điện - Điện tử
HÀ NỘI, 10/2022
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
Nghiên cứu ứng dụng trí tuệ nhân tạo
trong nhận dạng và định vị cho thiết bị bay
không người lái
NGUYỄN THỊ HOÀI THƯƠNG
[email protected]
Ngành Kỹ thuật viễn thông
Giảng viên hướng dẫn:
TS. Nguyễn Anh Quang
Chữ ký của GVHD
Trường:
Điện - Điện tử
HÀ NỘI, 10/2022
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Nguyễn Thị Hoài Thương
Đề tài luận văn: Nghiên cứu ứng dụng trí tuệ nhân tạo trong nhận dạng và định vị
cho thiết bị bay không người lái
Chuyên ngành: Kỹ thuật viễn thông
Mã số SV: 20202715M
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác giả
đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 18 tháng 10 năm
2022 với các nội dung sau:
-
Sửa lỗi chính tả
-
Chuyển đổi một số thuật ngữ tiếng Anh sang tiếng Việt
Thêm kết luận cuối mỗi chương
Thêm danh mục từ viết tắt
Ngày 02 tháng 11 năm 2022
Giáo viên hướng dẫn
Tác giả luận văn
CHỦ TỊCH HỘI ĐỒNG
Lời cảm ơn
Trải qua những năm tháng học tập nghiên cứu tại trường Đại học Bách Khoa
em mới cảm thấy mình được học hỏi rất nhiều điều. Lời đầu tiên em xin gửi lời
cảm ơn đến trường Đại học Bách Khoa nói chung và thầy cô trong trường Điện –
Điện tử nói riêng đã tạo điều kiện thuận lợi để em được học tập và nghiên cứu để
có thể hoàn thành luận văn Thạc sĩ. Và đặc biệt em xin cảm ơn thầy TS. Nguyễn
Anh Quang cùng tập thể phòng nghiên cứu IVSR đã hướng dẫn và cùng em nghiên
cứu, cung cấp tài liệu, trao đổi để em hoàn thành tốt nghiên cứu của mình.
Và cuối cùng em xin chân thành cảm ơn gia đình, người thân, bạn bè đã bên
cạnh động viên, tiếp sức cho em.
Em xin chân thành cảm ơn.
Tóm tắt nội dung luận văn
Với dòng chảy của cuộc cách mạng công nghiệp 4.0, trí tuệ nhân tạo đang từng
bước tạo nên dấu ấn trên mọi mặt cuộc sống vì tính ứng dụng thực tiễn của nó
trong thời đại ngành công nghệ đang vô cùng phát triển. Với việc phát triển thiết
bị thông minh có thể hoạt động suy nghĩ như con người ví dụ: robot, xe tự hành,
thiết bị bay không người lái, … Trí tuệ nhân tạo không chỉ giúp cho con người có
những trải nghiệm khác biệt, mà còn mang đến những tiện ích mang tính cá nhân
hóa cao. Luận văn nghiên cứu dựa trên những nền tảng của Học sâu (Deep
Learning) và Thị giác máy tính (Computer Vision) – một nhóm nhỏ của trí tuệ
nhân tạo để xây dựng một mô hình máy học và nhận biết được các đối tượng, triển
khai trên một thiết bị bay. Bên cạnh vấn đề về nhận dạng, việc nghiên cứu định vị
vị trí cho thiết bị bay là vô cùng quan trọng. Nghiên cứu sử dụng các phương pháp
định vị thị giác kết hợp với trí tuệ nhân tạo để giải quyết vấn đề này. Những nghiên
cứu, thực nghiệm đều được thực hiện trên thiết bị bay không người lái và đạt được
mục tiêu đề ra và có thể áp dụng thực tiễn. Luận văn là tiền đề cơ sở nghiên cứu
phát triển những ứng dụng nâng cao hơn nữa của thiết bị bay không người lái trong
tương lai.
HỌC VIÊN
Ký và ghi rõ họ tên
MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU CHUNG ............................................................. 1
1.1
Đặt vấn đề ................................................................................................ 1
1.2
Tổng quan về thiết bị bay không người lái ............................................. 2
1.3
Giới thiệu trí tuệ nhân tạo và thi giác máy tính ....................................... 4
1.4
1.5
1.6
1.3.1
Khái niệm trí tuệ nhân tạo ............................................................ 4
1.3.2
Ứng dụng của trí tuệ nhân tạo ...................................................... 4
1.3.3
Khái niệm thị giác máy tính ......................................................... 5
1.3.4
Ứng dụng của thị giác máy tính ................................................... 6
Hệ thống định vị cho thiết bị bay .......................................................... 10
1.4.1
Hệ thống định vị theo quán tính ................................................. 11
1.4.2
Hệ thống định vị theo vệ tinh ..................................................... 12
1.4.3
Hệ thống định vị theo thị giác .................................................... 13
Định vị thị giác cho thiết bị bay ............................................................ 14
1.5.1
Định vị thị giác ........................................................................... 15
1.5.2
Định vị thị giác kết hợp cảm biến quán tính .............................. 16
Kết luận chương 1 ................................................................................. 16
CHƯƠNG 2. BÀI TOÁN NHẬN DẠNG ĐÁM CHÁY ............................. 17
2.1
Định nghĩa bài toán nhận dạng .............................................................. 17
2.2
Phân loại thuật toán nhận dạng đối tượng ............................................. 18
2.3
2.4
2.2.1
Nhận dạng đối tượng hai bước ................................................... 18
2.2.2
Bài toán nhận dạng một bước..................................................... 20
Giới thiệu về SSD .................................................................................. 22
2.3.1
Kiến trúc của SSD ...................................................................... 23
2.3.2
Huấn luyện mô hình SSD ........................................................... 24
2.3.3
Đánh giá mô hình SSD ............................................................... 26
Áp dụng vào bài toán phát hiện đám cháy ............................................ 28
2.5
2.4.1
Chuẩn bị dữ liệu ......................................................................... 28
2.4.2
Chuẩn bị mô hình ....................................................................... 29
2.4.3
Kết quả thực nghiệm .................................................................. 31
Kết luận chương .................................................................................... 34
CHƯƠNG 3. BÀI TOÁN ĐỊNH VỊ CHO THIẾT BỊ BAY ....................... 35
3.1
3.2
3.3
3.4
3.5
3.6
Định vị thị giác với camera đơn mắt (monocular camera) ................... 35
3.1.1
Tổng quan về định vị với camera đơn mắt ................................ 35
3.1.2
ORB-SLAM3 ............................................................................. 36
Tự học giám sát cho định vị thị giác với camera đơn mắt .................... 37
3.2.1
Sử dụng tổng hợp Novel View làm giám sát ............................. 37
3.2.2
SC-SfM Learner ......................................................................... 38
Thực hiện và thử nghiệm trên mô phỏng bay ....................................... 40
3.3.1
Thu thập dữ liệu trên flightmare ................................................ 41
3.3.2
Huấn luyện mô hình Sc-SfmLearner ......................................... 43
Triển khai trên ROS (Robot Operating System) ................................... 44
3.4.1
ROS ............................................................................................ 44
3.4.2
Triển khai thuật toán ORB-SLAM3 trên ROS .......................... 46
3.4.3
SC-SfM Learner ROS ................................................................ 46
Đánh giá kết quả.................................................................................... 47
3.5.1
Đánh giá tiến trình...................................................................... 47
3.5.2
Kết quả ....................................................................................... 48
Kết luận chương .................................................................................... 49
CHƯƠNG 4. KẾT LUẬN ............................................................................. 50
4.1
Kết luận ................................................................................................. 50
4.2
Hướng phát triển của luận văn trong tương lai ..................................... 50
TÀI LIỆU THAM KHẢO............................................................................. 51
DANH MỤC HÌNH VẼ
Hình 1. 1 Các trục chính của một thiết bị bay ................................................... 3
Hình 1. 2 Thiết bị bay không người lái ứng dụng AI giao hàng của Google .... 5
Hình 1. 3 Tổng quan về thị giác máy tính ......................................................... 6
Hình 1.4 Ứng dụng của Thị giác máy tính [2] ................................................... 6
Hình 1.5 Ví dụ về phân loại hình ảnh của dữ liệu CIFAR 10 [3] ...................... 7
Hình 1.6 Bài toán xác định vị trí đối tượng ....................................................... 8
Hình 1.7 Ví dụ về bài toán nhận dạng với thuật toán RCNN và dữ liệu MS
COCO [4] ............................................................................................................... 9
Hình 1.8 Tái tạo và tô màu hình ảnh nguồn NVIDIA [5] ............................... 10
Hình 1. 9 Các loại camera................................................................................ 13
Hình 1. 10 Cấu trúc định vị thị giác................................................................. 14
Hình 2. 1 Bài toán nhận dạng sử dụng hộp bao quanh [13] ............................ 17
Hình 2. 2 Bài toán nhận dạng sử dụng phân vùng đối tượng [14]................... 18
Hình 2. 3 Bài toán nhận dạng hai bước với R-CNN [15] ................................ 19
Hình 2. 4 Cấu tạo hộp bao quanh .................................................................... 19
Hình 2. 5 Cấu trúc một anchor......................................................................... 20
Hình 2. 6 Bài toán nhận dạng một bước [16] .................................................. 21
Hình 2. 7 Cách hoạt động của SSD ................................................................. 22
Hình 2. 8 Kiến trúc của SSD [17] .................................................................... 23
Hình 2. 9 Intersection over Union ................................................................... 24
Hình 2. 10 Precision và Recall trong bài toán nhận dạng vật thể .................... 26
Hình 2. 11 Mối quan hệ giữa Precision và Recall [19] ................................... 27
Hình 2. 12 Sử dụng LabelImg trong chuẩn bị dữ liệu ..................................... 28
Hình 2. 13 Một số hình ảnh của tập dữ liệu huấn luyện .................................. 29
Hình 2. 14 Mô hình SSD với backbone MobileNet-V2 .................................. 30
Hình 2. 15 Kết quả precision trong quá trình đào tạo dữ liệu. ........................ 31
Hình 2. 16 Kết quả recall trong quá trình đào tạo dữ liệu. .............................. 32
Hình 2. 17 Tổng giá trị loss của mô hình SSD ................................................ 32
Hình 2. 18 Hình ảnh dự đoán trong quá trình đào tạo SSD ............................ 33
Hình 2. 19 Kết quả nhận dạng từ hình ảnh trên thiết bị bay ........................... 34
Hình 3. 1 Định vị thi giác sử dụng camera đơn mắt thông thường ................. 36
Hình 3. 2 Chuyến tiếp của quy trình Inverse warp .......................................... 39
Hình 3. 3 Mô hình hệ thống ORB-SLAM3 ..................................................... 40
Hình 3. 4 Môi trường flightmare ..................................................................... 41
Hình 3. 5 Groundtruth Interpolation ................................................................ 43
Hình 3. 6 Sai số Photometric và sai số Geometry Consistency của Mô hình đào
tạo SC-SfMLeaner với dữ liệu flightmare ........................................................... 44
Hình 3. 7 Các thành phần của ROS [31] ......................................................... 45
Hình 3. 8 Chuyển đổi chuyển động từ PoseNet sang ROS Odometry ............ 46
Hình 3. 9 Biểu diễn quỹ đạo ước tính và quỹ đạo thật .................................... 48
DANH MỤC BẢNG BIỂU
Bảng 2. 1 Kết quả một số thuật toán trên tập dữ liệu Pascal VOC 2007 [17] . 21
Bảng 2. 2 So sánh giá trị của VGG và MobileNet [21] ................................... 30
Bảng 2. 3 So sánh độ chính xác và giá trị phép tính của 2 mô hình trong SSD
[21] ....................................................................................................................... 30
Bảng 2. 4 Kết quả kiểm thử thực tế trên JetsonNano ...................................... 34
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
AI
Từ giải thích
Nghĩa tiếng việt
Artificial Intelligence
Trí tuệ nhân tạo
Unmanned Aerial Vehicle
Thiết bị bay không người lái
CV
Computer Vision
Thị giác máy tính
GPS
Global Positioning System
Hệ thống định vị toàn cầu
IMU
Inertial Measurement Unit
Thiết bị đo lường quán tính
VO
Visual Odometry
Định vị thị giác
VIO
Visual-Inertial Odometry
Định vị thị giác – quán tính
IoU
Intersection over Union
Tỉ lệ bao phủ
AP
Average Precision
Độ chính xác trung bình
INS
Inertial Navigation Systems
Hệ thống định vị quán tính
ROS
Robot Operating System
Hệ điều hành rô-bốt
DoF
Degrees of Freedom
6 bậc tự do
RGB
Red, Green, Blue
Ảnh màu
UAV
SLAM
Simultaneous localization and Công nghệ định vị và xây dựng
bản đồ đồng thời
mapping
CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1 Đặt vấn đề
Cuộc sống đang ngày càng phát triển cùng với những nhu cầu của con người về
công nghệ hiện đại có thể thay thế một phần sức lao động của con người. Trí tuệ
nhân tạo không chỉ đơn thuần là một phần mềm máy tính có tính logic mà chúng
còn chứa đựng cả trí tuệ của con người. Chúng biết suy nghĩ, lập luận để giải quyết
các vấn đề, có thể giao tiếp với con người. Chính vì những tính năng vượt trội này
mà trí tuệ nhân tạo có lợi ích vô cùng lớn. Trí tuệ nhân tạo đã góp phần không nhỏ
để đáp ứng nhu cầu hiện nay của con người. Các bán toán được con người đặt ra
nhằm giải quyết các vấn đề thiết yếu trong cuộc sống như ứng dụng trí tuệ nhân
tạo trong y tế (phát hiện sớm u não, ung thư, ...), ứng ụng trong kinh tế (dự đoán
chứng khoán, các mô hình dự đoán thị trường, giá cả), ứng dụng trong học tập hay
rất nhiều ứng dụng thiết thực khác nữa trong đời sống.
Máy bay không người lái – một thiết bị thông minh được phát minh ra đã giúp
giải quyết rất nhiều vấn đề con người gặp phải. Máy bay không người lái với thiết
kế nhỏ gọn có thể bay ở nhiều độ cao khác nhau kết hợp với các thiết bị thông
minh như camera, GPU, … được ứng dụng trong nhiều lĩnh vực của cuộc sống
như trong quân sự hay y tế giúp tìm kiếm cứu nạn, cảnh báo cháy nổ, giám sát nơi
công cộng hay ở những địa hình khó khăn mà con người không tới được, trong
phim ảnh, nông nghiệp, công nghiệp, giao thông liên lạc, … máy bay không người
lái giúp con người có cái nhìn tổng quát từ trên không. Cùng với sự phát triển của
nhu cầu con người với máy bay không người lái, các nghiên cứu luôn luôn được
tìm kiếm không ngừng để áp dụng giải quyết các bài toán liên quan.
Năm 2019 với việc Trái Đất ngày càng nóng lên, khí hậu biến đổi dần đến
ngưỡng chịu đựng của con người và có khi còn vượt quá mức chịu đựng đó. Theo
thống kê của Đoàn giám sát từ tháng 7 năm 2014 đến tháng 7 năm 2018 đã có
trung bình 3287 vụ cháy, nổ xảy ra mỗi năm [1]. Có rất nhiều vụ cháy nổ xảy ra
vô cùng thương tâm như gần đây nhất là vụ cháy rừng ở Hà Tĩnh, cháy rừng lớn ở
Úc, Amazon, …Vấn đề đặt ra là làm cách nào để phát hiện được cháy rừng sử
dụng trí tuệ nhân tạo nhanh chóng để đưa ra cảnh báo và phát hiện được trên diện
rộng?
Tiềm năng của thiết bị bay không người lái vẫn còn rất lớn, nhưng hiện tại, các
triển khai của thiết bị bay này trong các môi trường dân cư vẫn còn nhiều trở ngại.
Các ứng dụng như vận chuyển bưu kiện, giám sát hay quay phim đều yêu cầu rất
cao sự an toàn và tin cậy. Với việc tích hợp nhận dạng đám cháy trên thiết bị bay
1
không người lái và yêu cầu cao về sự chính xác khi định vị là một yêu cầu cần
thiết. Chính vì vậy các nghiên cứu trong luận văn của em dưới đây đã kết hợp việc
ứng dụng trí tuệ nhân tạo giúp giải quyết bài toán về nhận dạng và định vị trên
thiết bị bay không người lái.
1.2 Tổng quan về thiết bị bay không người lái
Thiết bị bay không người lái hay UAV (Unmanned Aerial Vehicle), thường
được gọi là drone và từ đây gọi tắt là thiết bị bay, là một máy bay không có phi
công, phi hành đoàn hoặc hành khách trên máy bay. UAV là một phần của một hệ
thống máy bay không người lái (UAS – unmanned aircraft system), ngoài UAV
còn có thêm các thành phần khác là một trạm điều khiển mặt đất, một hệ thống
truyền thông và các thiết bị hỗ trợ. Tiến trình bay của UAV có thể được thực hiện
bởi một người điều khiển từ xa, tự động bay dưới hỗ trợ của con người, hoặc tự
động bay hoàn toàn.
Thiết bị bay đã được phát triển từ thế kỷ XX, cho các mục đích quân sự có tính
chất quá nguy hiểm, không phù hợp cho con người. Theo thời gian, với sự phát
triển trong công nghệ điều khiển và chi phí sản xuất giảm, trong thế kỷ XXI, các
ứng dụng của thiết bị bay đã phát triển nhanh chóng và bao quát trên nhiều lĩnh
vực khác nhau như quay phim, vận chuyển, nông nghiệp, giám sát, khoa học và
giải trí.
Dựa theo khả năng tự động của thiết bị bay, thiết bị bay có thể được chia thành
hai loại là điều khiển từ xa hoặc tự động bay. Một số thiết bị bay được điều khiển
từ xa trong hầu hết quá trình thực hiện tác vụ, nhưng có thêm chức năng tự động
trở về điểm xuất phát. Ngoài ra còn có OPVs (Optionally Piloted Vehicle), có thể
hoạt động với phi công điều khiển, hoặc trở thành UAV khi không có phi công.
Dựa theo độ cao và phạm vi hoạt động, diễn đàn về các hệ thống không người
lái ParcAberporth chia thiết bị bay thành các loại:
• Loại cầm tay: độ cao 600 m, phạm vi 2 km
• Loại tầm gần: độ cao 1500 m, phạm vi 10 km
• Mẫu của NATO: độ cao 3000 m, phạm vi 50 km
• Loại chiến lược: độ cao 5500 m, phạm vi 160 km
• MALE (medium altitiude, long endurance): độ cao 9000 m, phạm vi trên
200 km
• HALE (high altitude, long endurance): độ cao 9100 m, không giới hạn
phạm vi
2
• Vận tốc siêu thanh: độ cao 15200 m, phạm vi trên 200 km
Dựa theo khối lượng, thiết bị bay được chia thành các loại:
• Micro air vehicle (MAV): thiết bị bay siêu nhỏ, loại nhỏ nhất có thể ít
hơn 1g
• Miniature UAV, còn được gọi là SUAS (small Unmanned Aircraft
Systems): thiết bị bay cỡ nhỏ, khối lượng từ dưới 2 kg đến dưới 25 kg
• Heavier UAV: Thiết bị bay loại lớn
Hình 1. 1 Các trục chính của một thiết bị bay
Một máy bay có thể quay theo ba trục tự do (Hình 1. 1) gồm:
• Trục yaw: mũi máy bay sẽ di chuyển sang trái hoặc phải
• Trục pitch: mũi máy bay di chuyển lên hoặc xuống
• Trục roll: trục chạy dọc từ mũi xuống đuôi máy bay
Ba trục yaw, pitch, roll có gốc tại gốc của vector trọng lực máy bay. Khi máy
bay di chuyển thì ba trục này cũng di chuyển theo.
3
1.3 Giới thiệu trí tuệ nhân tạo và thi giác máy tính
1.3.1 Khái niệm trí tuệ nhân tạo
Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial Intelligence – viết tắt là
AI) là một ngành thuộc lĩnh vực khoa học máy tính. Là những thiết bị có trí tuệ do
con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động hóa các hành
vi thông minh như con người ví dụ như: biết suy nghĩ và lập luận để giải quyết vấn
đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi, …
1.3.2 Ứng dụng của trí tuệ nhân tạo
Trí tuệ nhân tạo được chia làm 4 loại chính:
Công nghệ trí tuệ nhân tạo phản ứng: Công nghệ trí tuệ nhân tạo phản ứng có
khả năng phân tích những động thái khả thi nhất của chính mình và của đối thủ, từ
đó, đưa ra được giải pháp tối ưu nhất.
Một ví dụ là Deep Blue, chương trình tự động chơi cờ vua của IBM đã đánh bại
kì thủ thế giới Garry Kasparov vào những năm 1990. Công nghệ AI của Deep Blue
có thể xác định các nước cờ và dự đoán những bước đi tiếp theo. Nó không có ký
ức và không thể sử dụng những kinh nghiệm trong quá khứ để tiếp tục huấn luyện
trong tương lai.
Công nghệ trí tuệ nhân tạo với bộ nhớ hạn chế: Các hệ thống trí tuệ nhân tạo
này có thể sử dụng những kinh nghiệm trong quá khứ để đưa ra các quyết định
trong tương lai. Một số chức năng ra quyết định này có mặt trong các loại thiết bị
không người lái như xe, thiết bị bay không người lái hoặc tàu ngầm. Kết hợp các
cảm biến môi trường xung quanh công nghệ trí tuệ nhân tạo này có thể dự đoán
được tình huống và đưa ra những bước hành động tối ưu cho thiết bị. Sau đó chúng
sẽ được sử dụng để đưa ra hành động trong bước tiếp theo.
Ví dụ như đối với một thiết bị bay không người lái giao hàng của Google như
trên Hình 1. 2, nhiều cảm biến được trang bị xung quanh thiết bị bay để theo dõi
môi trường xung quanh giúp thiết bị tính toán khoảng cách với các vật cản phía
trước, công nghệ trí tuệ nhân tạo sẽ dự đoán khả năng xảy ra va chạm, từ đó điều
chỉnh để tránh vật cản.
Lý thuyết trí tuệ nhân tạo: Công nghệ AI này có thể học hỏi cũng như tự suy
nghĩ, sau đó áp dụng những gì học được để thực hiện một việc cụ thể. Hiện nay,
công nghệ AI này vẫn chưa trở thành một phương án khả thi.
Tự nhận thức: Lúc này cả hệ thống trí tuệ nhân tạo có ý thức về bản thân, có ý
thức và hành xử như con người. Chúng thậm chí còn có cảm xúc và hiểu được cảm
4
xúc của những người khác. Tuy nhiên, loại công nghệ trí tuệ nhân tạo này vẫn chưa
khả thi.
Hình 1. 2 Thiết bị bay không người lái ứng dụng AI giao hàng của Google
1.3.3 Khái niệm thị giác máy tính
Thị giác máy tính là một lĩnh vực kết hợp một trong những lĩnh vực của
khoa học máy tính và nghiên cứu trí tuệ nhân tạo bao gồm các phương pháp thu
nhận, kỹ thuật số, phân tích và nhận dạng các hình ảnh và video, nói chung là dữ
liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tượng.
Thị giác máy tính kế thừa và kết hợp các kiến thức của học máy và khoa học
máy tính giúp cho máy tính có khả năng nhìn và hiểu giống như con người. Và có
một số trường hợp chỉ có máy tính mới thực hiện được mà con người không thể,
do đó thị giác máy tính đang ngày càng phát triển.
5
Hình 1. 3 Tổng quan về thị giác máy tính
Hình 1. 3 đã khái quát mối quan hệ giữa những vấn đề liên quan đến Thị giác
máy tính cụ thể có trí tuệ nhân tạo, học máy, xử lý ảnh, xử lý tín hiệu, kết hợp các
thông tin của cảm biến ngoài và đồ họa máy tính.
1.3.4 Ứng dụng của thị giác máy tính
Dựa vào đặc điểm, cách thức ta có một số ứng dụng phổ biến của thị giác máy
tính được trình bày ở Hình 1.4 dưới đây.
Hình 1.4 Ứng dụng của Thị giác máy tính [2]
6
Dựa vào đặc điểm, hướng ứng dụng thực tiễn, thị giác máy tính có một số ứng
dụng phổ biến như sau: phân loại hình ảnh, nhận dạng hình ảnh, theo dõi chuyển
động, ứng dụng không chỉ camera 2D mà còn ứng dụng trong xử lý hình ảnh thị
giác 3D.
1.3.4.1. Phân loại hình ảnh (Object classification)
Giống như bài toán phân lớp trong học máy nhưng thị giác máy tính chỉ tập
trung xử lý phần hình ảnh. Làm cách nào để có thể phân loại một bức ảnh là ảnh
người hay cây từ những dữ liệu cho trước?
Để làm được điều này chúng ta phải chuẩn bị dữ liệu muốn phân loại và áp dụng
mạng nơ-ron tích chập (CNN - Convolution Neural Network) vô cùng phổ biến để
dạy máy biết đâu là loại nào để phân loại theo đúng mục đích yêu cầu.
Ví dụ: Phân loại khối u não, phân loại các loại hoa, … hay ví dụ về một số dữ
liệu được huấn luyện để phân loại như Hình 1.5 dưới dây của CIFAR 10.
Hình 1.5 Ví dụ về phân loại hình ảnh của dữ liệu CIFAR 10 [3]
Bài toán phân loại hình ảnh có một số hạn chế, khi mà bài toán chỉ hoạt động
tốt khi chỉ có một đối tượng cần phân loại trong bức ảnh. Nếu có nhiều hơn một
7
đối tượng và độ phức tạp của bức ảnh nhiều lên thì bài toán này không còn hoạt
động tốt.
1.3.4.2. Phân loại hình ảnh với vị trí (Image classification with
localization)
Bài toán này tương tự như phân loại hình ảnh nhưng thêm một nhiệm vụ là tìm
kiếm vị trí của vật cần phân loại trong bức ảnh. Chỉ ra chi tiết xem vật đó ở đâu và
phân loại. Đây là một ứng dụng cũng khá là phổ biến. Hình 1.6 dưới đây sẽ chỉ rõ
thế nào là xác định vị trí.
Hình 1.6 Bài toán xác định vị trí đối tượng
Khó khăn của bài toán này đó là giống như bài toán phân loại nhưng khi có
nhiều đối tượng không xác định trong bức hình thì ta khó có thể xác định được đâu
là vị trí chính xác và đâu là đối tượng ta cần xác định. Chính vì thế bài toán nhận
dạng đối tượgn ra đời để giải quyết bài toán này.
1.3.4.3. Nhận dạng đối tượng (Object detection)
Đây là ứng dụng rất phổ biến hiện nay. Nó kết hợp của phân lớp đối tượng và
xác định vị trí đối tượng nhưng có thể cùng một lúc nhận biết được nhiều đối tượng
khác nhau trong một khung hình. Với nhiều phương pháp được nghiên cứu ra thì
ngày càng có nhiều đối tượng được phân loại và độ chính xác cũng ngày càng cao.
Điều này đã ứng dụng rất nhiều trong xe tự lái, robotic, thiết bị bay, … và đang
dần trở thành ứng dụng phổ biến trong tất cả các ngành công nghiệp.
8
Hình 1.7 là một số ví dụ về bài toán nhận dạng đối tượng với rất nhiều đối tượng
được xác định chính xác trong nhiều bức hình. Một ứng dụng phổ biến nhất của
bài toán nhận dạng chắc chắn là bài toán nhận diện khuôn mặt, khi mà nền tảng xã
hội FaceBook đã và đang làm rất tốt. Hay trong công nghiệp việc ứng dụng bài
toán nhận dạng đối tượng được ứng dụng rộng rãi như theo dõi người già trong
bệnh viện, nhận dạng và theo dõi xe trên đường hay trong bãi gửi xe, …
Hình 1.7 Ví dụ về bài toán nhận dạng với thuật toán RCNN và dữ liệu MS COCO [4]
Trong bài báo cáo này em cũng sử dụng ứng dụng nhận biết đối tượng để giải
quyết đề tài. Chi tiết về thuật toán nhận dạng đối tượng sẽ được nói rõ chi tiết vào
chương 2.
1.3.4.4. Tái thiết hình ảnh (Image reconstruction)
Tái tạo hình ảnh là nhiệm vụ tái tạo hình ảnh với các phần bị thiếu, mất hoặc
hỏng. Đây là một vấn đề khó khăn khi mà muốn đảm bảo các tính năng của hình
ảnh một cách chặt chẽ và phần tái tạo phải chính xác phù hợp. Chính vì vậy image
reconstruction ra đời để làm mới, tái tạo lại hình ảnh từ những hình ảnh gốc sẵn có
để học hỏi. Ngoài việc áp dụng lý thuyết về xử lý ảnh nhưng kết quả đạt được
không cao thì ngày nay với việc phát triển mạnh mẽ của trí tuệ nhân tạo thì việc
tái tạo, làm mới hình ảnh trở nên đơn giản hơn.
Hình 1.8 dưới đây là ví dụ về việc áp dụng thuật toán tái thiết hình ảnh của thị
giác máy tính để làm đầy, tái tạo ảnh bị mất và làm mới, nét hơn những bức ảnh
9
đã cũ. Điều này là ứng dụng khá quan trọng cho một số công việc trong cuộc sống
hiện nay.
Hình 1.8 Tái tạo và tô màu hình ảnh nguồn NVIDIA [5]
Và còn rất nhiều ứng dụng khác nữa của thị giác máy tính nhưng em chỉ nêu lên
một số ứng dụng em đã tìm hiểu. Những ứng dụng khác có thể được tìm thấy rất
nhiều ở những nguồn tư liệu khác.
1.4 Hệ thống định vị cho thiết bị bay
Định vị cho thiết bị bay là một tiến trình mà robot lập kế hoạch để có thể đi tới
vị trí chỉ định an toàn và nhanh chóng. Tiến trình này chịu ảnh hưởng lớn bởi môi
trường và vị trí hiện tại của robot. Để thực hiện định vị thành công, thiết bị bay
phải tự nhận thức được trạng thái của bản thân robot, bao gồm vị trí, vận tốc, hướng
quay của nó, cùng với vị trí của điểm đầu vào điểm cuối hành trình.
Đến nay, các giải pháp định vị cho thiết bị bay thường được chia thành ba loại
chính: định vị theo quán tính, định vị theo vệ tinh và định vị theo thị giác [6]. Tuy
nhiên, không có phương pháp nào là vượt trội hoàn toàn, mỗi tác vụ khác nhau sẽ
có một phương pháp định vị thích hợp.
10