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

dò tìm vật mốc để điều khiển xe lăn điện đến đích dùng stereo camera

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 (7.56 MB, 97 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
NGÔ BÁ VIỆT

DÒ TÌM VẬT MỐC ĐỂ ĐIỀU KHIỂN XE LĂN ĐIỆN
ĐẾN ĐÍCH DÙNG STEREO CAMERA

NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270

S KC 0 0 4 0 9 5

Tp. Hồ Chí Minh, tháng 11 năm 2013


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
------*****------

LUẬN VĂN THẠC SĨ
NGÔ BÁ VIỆT

DÒ TÌM VẬT MỐC ĐỂ ĐIỀU KHIỂN XE LĂN ĐIỆN
ĐẾN ĐÍCH DÙNG STEREO CAMERA

NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270

Hướng dẫn khoa học:


TS. NGUYỄN THANH HẢI

Tp. Hồ Chí Minh, tháng 11/2013


LÝ LỊCH KHOA HỌC
I. LÝ LỊCH SƠ LƢỢC:
Họ & tên: Ngô Bá Việt

Giới tính: Nam

Ngày, tháng, năm sinh: 18/04/1987

Nơi sinh: Bình Định

Quê quán: Diễn Kỷ, Diễn Châu, Nghệ An

Dân tộc: Kinh

Địa chỉ liên lạc: 76/1 Dương Văn Cam, P.Linh Tây, Q.Thủ Đức, Tp.HCM
Điện thoại cơ quan:

Di động: 0907.689.357

E-mail:
II. QUÁ TRÌNH ĐÀO TẠO:
 Đại học:
Hệ đào tạo: Chính qui

Thời gian đào tạo từ 09/2005đến 01/2010


Nơi học (trường, thành phố): Đại học Sư Phạm Kỹ Thuật Tp.HCM
Ngành học: Kỹ Thuật Điện – Điện Tử
Tên đồ án, luận án hoặc môn thi tốt nghiệp: “NGHIÊN CỨU VÀ ỨNG DỤNG
KIT ALTERA DE2 THIẾT KẾ CUỘC THI ĐƯỜNG LÊN ĐỈNH
OLYMPIA”
Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: Đại học Sư Phạm Kỹ
Thuật Tp.HCM, tháng 01/2010
Người hướng dẫn: Ths. Lê Minh Thành
III. QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP
ĐẠI HỌC:
Thời gian

Nơi công tác

Công việc đảm nhiệm

04/2010 –

Cty TNHH GreyStone Data

10/2010

System Việt Nam

08/2011 –

Trường Cao Đẳng Kỹ Thuật Cao

đến nay


Thắng Tp.HCM

i

Kỹ sư RD
Giảng viên


LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của 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.
Tp. Hồ Chí Minh, ngày … tháng … năm 2013
(Ký tên và ghi rõ họ tên)

Ngô Bá Việt

ii


LỜI CẢM ƠN
Xin chân thành gửi lời cảm ơn đến toàn thể quí Thầy Cô trường Đại học Sư
Phạm Kỹ Thuật TP. Hồ Chí Minh đã giảng dạy, hướng dẫn và tạo mọi điều kiện,
môi trường học tập tốt cho tôi.
Xin cảm ơn các anh chị học viên lớp KĐT2011A ngành Kỹ thuật điện tử; các
anh chị chuyên viên phòng Lab A407, các sinh viên Bộ môn Kỹ thuật Y Sinh
trường Đại học Quốc tế, Đại học Quốc Gia TP. Hồ Chí Minh đã chia sẻ, hỗ trợ,
giúp đỡ trong suốt quá trình tôi cộng tác nghiên cứu.
Xin gửi lời cảm ơn đến gia đình tôi, nguồn động viên tinh thần vô cùng quý

giá cho tôi trong suốt thời gian tôi học tập và nghiên cứu.
Đặc biệt xin chân thành cảm ơn TS Nguyễn Thanh Hải đã tận tình hướng
dẫn, theo sát tôi, giúp tôi tháo gỡ những khó khăn trong quá trình thực hiện đề tài,
từ lúc bắt đầu cho đến khi hoàn thành luận văn này.
Một lần nữa xin chân thành cảm ơn!
Tp. Hồ Chí Minh, ngày … tháng … năm 2013
(Ký tên và ghi rõ họ tên)

Ngô Bá Việt

iii


TÓM TẮT
Một chiếc xe lăn điện cho những người tàn tật nặng được phát triển để hoạt
động trong môi trường trong nhà, tự động tránh chướng ngại vật để di chuyển đến
mục tiêu mong muốn bằng cách sử dụng hệ thống Stereocopics camera. Đề tài này
trình bày một thuật toán điều khiển tự hành dựa trên điểm mốc đánh số theo thứ tự.
Thuật toán SURF đã được áp dụng để nhận dạng vật mốc, đồng thời "Bumblebee"
camera được sử dụng để xác định các tham số độ sâu của hình ảnh môi trường phục
vụ cho việc tính toán điều khiển. Dựa trên thông tin này, xe lăn có thể xác định vị trí
của mình bằng cách sử dụng các thuật toán hình học. Kết quả cho thấy chiếc xe lăn
tự động phát hiện những vật mốc để đạt được mục tiêu mong muốn. Điều này cho
thấy các phương pháp được đề xuất là đáng tin cậy và hiệu quả.

ABSTRACT
An electrical wheelchair developed to operate in the indoor environments
automatically avoids obstacles to move to the desired target for severely disabled
people using a stereoscopic camera system. This thesis presents a self-propelled
control algorithm based on landmarks numbered in order. A SURF algorithm was

applied to identify the landmark position, at the same time the “Bumblebee” camera
was used to determine the depth parameter of the environmental images for control
calculation. Based on this information, the wheelchair can locate where it is by
using geometric projection algorithm. The results showed that the wheelchair
automatically detected the landmarks to reach the desired target. This means that the
proposed method is reliable and effective.

iv


MỤC LỤC
Trang tựa

Trang

Quyết định giao đề tài
Lý lịch cá nhân .................................................................................................................. i
Lời cam đoan .................................................................................................................... ii
Lời cảm ơn .......................................................................................................................iii
Tóm tắt

....................................................................................................................... iv

Mục lục

......................................................................................................................... v

Danh sách các chữ viết tắt .............................................................................................viii
Danh sách các bảng ......................................................................................................... ix
Danh sách các hình............................................................................................................ x

Chƣơng 1: Tổng quan ................................................................................................... 01
1.1 Tổng quan về lĩnh vực nghiên cứu .................................................................... 01
1.2 Các kết quả nghiên cứu trong và ngoài nước đã công bố …. ............................ 02
1.3 Mục tiêu của đề tài… .......................................................................................... 04
1.4 Giới hạn đề tài… ................................................................................................. 04
1.5 Phương pháp nghiên cứu… ................................................................................ 04
Chƣơng 2: Cơ sở lý thuyết............................................................................................ 06
2.1 Thị giác máy tính ............................................................................................. 06
2.1.1 Giới thiệu ................................................................................................. 06
2.1.2 Hệ thống thị giác máy tính ........................................................................ 07
2.1.3 Lĩnh vực ứng dụng của thị giác máy tính .................................................. 08
2.2 Không gian màu RGB và phương pháp nhận dạng màu sắc sử dụng không
gian màu RGB .................................................................................................... 08
2.2.1 Không gian màu RGB….. ......................................................................... 08
2.2.2 Phương pháp nhận dạng màu sắc sử dụng không gian màu RGB… ........ 09
2.3 Không gian màu HSV và phương pháp nhận dạng màu sắc sử dụng không
gian màu HSV ........................................................................................................... 11
v


2.3.1 Không gian màu HSV… .......................................................................... 11
2.3.2 Phương pháp nhận dạng màu sắc sử dụng không gian màu HSV… ....... 12
2.4 Các phương pháp nhận dạng vật thể .................................................................. 15
2.4.1 Phương pháp so khớp đặc điểm hình học ................................................. 15
2.4.2 Phương pháp nhận dạng dựa trên diện mạo .............................................. 15
2.4.3 Phương pháp nhận dạng dựa trên đặc điểm cục bộ ................................... 16
2.5 Tầm nhìn lập thể… ............................................................................................ 18
2.5.1 Mô hình Camera… .................................................................................... 19
2.5.2 Hệ thống Stereo camera… ......................................................................... 20
2.5.3 Hình học Epipolar… .................................................................................. 21

2.6 Các tính toán cho ảnh 3D… ............................................................................... 22
2.6.1 Block matching… ...................................................................................... 22
2.6.2 Ảnh trái và ảnh phải…............................................................................... 23
2.6.3 Tính toán Stereo Disparity… ..................................................................... 24
2.6.4 Tính toán độ sâu của ảnh 3D… ................................................................. 26
2.7 Thư viện OpenCV… .......................................................................................... 26
Chƣơng 3: Phƣơng pháp nhận dạng vật mốc …........................................................ 28
3.1 Phương pháp SURF nhận dạng vật mốc ............................................................ 28
3.1.1 Phát hiện điểm nổi bật............................................................................... 29
3.1.2 Bộ mô tả đặc điểm… ................................................................................ 30
3.1.3 So khớp các bộ mô tả… ............................................................................ 32
3.2 Thuật toán Homography… ................................................................................ 34
3.3 Phương pháp xác định tâm vật mốc… ............................................................... 37
Chƣơng 4: Tính toán điều khiển xe lăn điện… .......................................................... 38
4.1 Phương pháp tính toán khoảng cách và góc lệch .............................................. 38
4.1.1 Tính toán khoảng cách… ......................................................................... 38
4.1.2 Tính toán góc lệch… ................................................................................ 39
4.2 Xây dựng bản đồ khoảng cách 2D về môi trường… ......................................... 40
4.3 Thuật toán điều khiển xe lăn bám vật mốc… .................................................... 42
4.3.1 Tính toán sự di chuyển của xe lăn khi không có vật cản… ..................... 42
vi


4.3.2 Tính toán sự di chuyển của xe lăn khi có vật cản… ................................ 46
4.3.2.1 Phát hiện vật cản và khoảng trống… ........................................... 46
4.3.2.2 Tính toán tránh vật cản… ............................................................ 46
Chƣơng 5: Mô hình xe lăn điện và kết quả thực nghiệm .......................................... 51
5.1 Mô hình xe lăn điện… ......................................................................................... 51
5.2 Kết quả thực nghiệm… ........................................................................................ 54
5.2.1 Kết quả nhận dạng vật mốc… .................................................................. 54

5.2.2 Các tình huống thực hiện… ..................................................................... 55
5.2.2.1 Xe lăn di chuyển trên đường đi không có vật cản… ................... 56
5.2.2.2 Xe lăn di chuyển trên đường đi có vật cản… .............................. 57
Chƣơng 6: Kết luận ....................................................................................................... 62
6.1 Kết quả đạt được… .............................................................................................. 62
6.2 Hạn chế của đề tài… ............................................................................................ 62
6.3 Hướng phát triển của đề tài… ............................................................................. 62
Tài liệu tham khảo ........................................................................................................ 63
Phụ lục… ....................................................................................................................... 66

vii


DANH SÁCH CÁC CHỮ VIẾT TẮT

AC

Alternating Current

BCI

Brain – Computer Interface

DC

Direct Current

DLL

Dynamic Link Library


EERUF

Error Eliminating Rapid Ultrasonic Firing

GPS

Global Positioning System

GPIO

General - Purpose Input/Output

HSV

Hue – Saturation - Value

LCD

Liquid Crystal Display

PCA

Principal component analysis

RGB

Red – Green - Blue

SAD


Sum of Absolute Differences

SVD

Singular Value Decomposition

SURF

Speeded Up Robust Features

VFH

Vector Field Histogram

VFF

Virtual Force Field

3D

Three - Dimensional

2D

Two - Dimensional

viii



DANH SÁCH CÁC BẢNG

BẢNG

TRANG

Bảng 2.1 Bảng phân tích các màu thành phần RGB của một số màu cơ bản… .......... 10
Bảng 2.2 Mô tả một số thuật toán riêng biệt của thành phần CvAux…....................... 27
Bảng 5.1 Các giá trị của tín hiệu điều khiển xe lăn điện .............................................. 54

ix


DANH SÁCH CÁC HÌNH

HÌNH

TRANG

Hình 1.1 Sơ đồ khối biểu diễn quá trình thu thập dữ liệu từ stereo camera và xác
định các thông số cho việc điều khiển xe lăn điện .......................................................... 03
Hình 2.1 Sự pha trộn màu sắc trong không gian màu RGB… ....................................... 09
Hình 2.2 Ảnh cần nhận dạng màu đỏ… ......................................................................... 10
Hình 2.3 Nhận dạng màu đỏ với m = 20… .................................................................... 10
Hình 2.4 Không gian màu HSV… ................................................................................. 11
Hình 2.5 Bố trí các màu cơ bản theo góc tọa độ… ........................................................ 12
Hình 2.6 Nhận dạng màu đỏ sử dụng không gian màu HSV… ..................................... 13
Hình 2.7 Kết quả nhận dạng và giới hạn ngưỡng so sánh… .......................................... 14
Hình 2.8 Ảnh trái và phải chụp từ stereo camera … ..................................................... 19
Hình 2.9 Mặt phẳng hình ảnh ở phía sau của tâm C của camera … .............................. 19

Hình 2.10 Mô hình ảnh pinhole với mặt phẳng ảnh ở phía trước tâm camera C.. ......... 20
Hình 2.11 “Bumblebee” stereo camera… ...................................................................... 21
Hình 2.12 Kích thước của "Bumblebee" stereo camera… ............................................. 21
Hình 2.13 Hình học Epipolar của mặt phẳng ảnh trái IL và phải IR… ........................... 22
Hình 2.14 Mối tương quan của hai cửa sổ 3×3 dọc theo các đường epipolar tương
ứng để tìm kiếm các vùng so khớp tốt nhất… ................................................................ 23
Hình 2.15 Ảnh trái và ảnh phải với 2 điểm A và B… .................................................... 24
Hình 2.16 Bản đồ sự sai biệt stereo dựa trên ảnh trái và ảnh phải trong hình
2.15…

....................................................................................................................... 25

Hình 2.17 Tính toán độ sâu Z sử dụng tam giác đồng dạng…....................................... 26
Hình 2.18 Cấu trúc cơ bản của OpenCV… .................................................................... 27
Hình 3.1 Thuật toán SURF… ........................................................................................ 28
Hình 3.2 Cách tính Integral Image của ảnh… ................................................................ 29
Hình 3.3 Cách tính nhanh các giá trị mức xám của vùng D trên ảnh…......................... 30
Hình 3.4 Vòng tròn bán kính 6s chứa các điểm lân cận… ............................................. 31
x


Hình 3.5 Bộ lọc Haar Wavelet theo trục x và y tương ứng … ....................................... 31
Hình 3.6 Mô tả các đáp ứng trong ảnh … ..................................................................... 32
Hình 3.7 So sánh các điểm nổi bật để nhận dạng hình mẫu… ....................................... 33
Hình 3.8 So sánh các điểm nổi bật để nhận dạng hình mẫu… ....................................... 34
Hình 3.9 Mô tả phép ánh xạ giữa hai mặt phẳng ảnh 1 và ảnh 2 thông qua chuyển
đổi Homography….......................................................................................................... 35
Hình 3.10 Xác định tọa độ tâm vật mốc O trong ảnh chụp từ camera… ....................... 37
Hình 4.1 Ảnh trái và ảnh phải với hai tâm vật mốc Oleft, Oright… .................................. 38
Hình 4.2 Ảnh Disparity với tâm O… ............................................................................. 39

Hình 4.3 Biểu diễn vật mốc trong miền tọa độ (XOZ)…............................................... 39
Hình 4.4 Bản đồ điểm 3D được lấy từ stereo camera… ................................................ 40
Hình 4.5 Mô tả việc chuyển đổi bản đồ điểm 3D sang bản đồ 2D với độ cao Yjmin
được định trước… ........................................................................................................... 41
Hình 4.6 Bản đồ khoảng cách 2D theo trục X và trục Z được xây dựng từ bản đồ
điểm 3D hình 4.4.. ........................................................................................................... 42
Hình 4.7 Định vị xe lăn dựa vào vật mốc… ................................................................... 43
Hình 4.8 Trường hợp xe lăn ở bên trái của đường đi… ................................................. 44
Hình 4.9 Các thông số mô tả cho việc di chuyển của xe lăn trong trường hợp 2.. ........ 44
Hình 4.10 Trường hợp xe lăn ở bên phải của đường đi … ............................................ 45
Hình 4.11 Các thông số mô tả cho việc di chuyển của xe lăn trong trường hợp 3… .... 45
Hình 4.12 Lưu đồ điều khiển xe lăn tránh vật cản… ..................................................... 47
Hình 4.13 Mô tả vật cản trên đường di chuyển của xe lăn… ......................................... 47
Hình 4.14 Xe lăn di chuyển về khoảng trống bên phải và tránh vật cản .................. … 48
Hình 4.15 Xe lăn di chuyển về khoảng trống bên trái và tránh vật cản ................... … 49
Hình 5.1. Mô hình xe lăn điện… .................................................................................... 51
Hình 5.2 Các thiết bị cần thiết trong một chiếc xe lăn di động… .................................. 52
Hình 5.3 Sơ đồ khối mô tả hoạt động của hệ thống xe lăn điện …................................ 53
Hình 5.4 Biểu đồ so sánh khả năng nhận dạng vật mốc với góc lệch và khoảng
cách giữa vật mốc và camera khác nhau… ..................................................................... 54
Hình 5.5 Kết quả nhận dạng vật mốc: số 2 ở hình (a) và số 3 ở hình (b)… .................. 55
xi


Hình 5.6 Kết quả nhận dạng vật mốc: số 4 ở hình (a) và số 5 ở hình (b)… .................. 55
Hình 5.7 Xe lăn nhận biết phía trước là vùng trống thông qua bản đồ 2D… ................ 56
Hình 5.8 Xe lăn bám theo vật mốc để di chuyển ở giữa đường… ................................. 56
Hình 5.9 Xe lăn dừng lại khi đi đến vị trí vật mốc thứ 5 (điểm đích)… ........................ 57
Hình 5.10 Xe lăn phát hiện vật cản và các khoảng trống dựa vào bản đồ 2D… ........... 57
Hình 5.11 Xe lăn phát hiện khoảng trống bên phải và di chuyển vượt qua vật cản…... 58

Hình 5.12 Xe lăn phát hiện vật cản và các khoảng trống dựa vào bản đồ 2D… ........... 59
Hình 5.13 Xe lăn phát hiện khoảng trống bên trái và di chuyển vượt qua vật cản… .... 60
Hình 5.14 Xe lăn dừng lại khi đi đến vị trí vật mốc thứ 5 (điểm đích)… ...................... 60

xii


Chương 1: Tổng quan

Chương 1.

TỔNG QUAN
1.1 Tổng quan chung về lĩnh vực nghiên cứu
Xe lăn là phương tiện chủ yếu để người khuyết tật có thể di chuyển đến nơi
mà mình mong muốn. Ngoài loại xe lăn cổ điển thì sự xuất hiện của loại xe lăn
có trang bị động cơ đã giúp cho người sử dụng giảm được nhiều sự vận động.
Cùng với sự phát triển của khoa học kỹ thuật, xe lăn cũng đã có nhiều phát triển.
Đã có nhiều nghiên cứu nhằm tìm ra các phương thức điều khiển xe lăn áp dụng
cho từng đối tượng người khuyết tật khác nhau. Xe lăn điện được trang bị các
thiết bị công nghệ cao có thể giúp cho người khuyết tật di chuyển mà không cần
sự trợ giúp. Đơn giản nhất là xe lăn điện được trang bị Joystick (một cần điều
khiển) mà người sử dụng có thể điều khiển hướng di chuyển của xe lăn theo ý
muốn của mình. Để hỗ trợ tốt hơn cho người khuyết tật, đã có nhiều hướng
nghiên cứu điều khiển xe lăn điện dựa vào các hành vi của người sử dụng. Jin
Sun Ju và các cộng sự đã sử dụng một camera nhận dạng các cử chỉ trên khuôn
mặt của người sử dụng để điều khiển xe lăn đi thẳng, đi lùi, rẽ trái, rẽ phải [1].
Cũng sử dụng camera nhận dạng cử chỉ còn có nghiên cứu của Y. Zhang và các
cộng sự [2]. Y. Zhang đã dùng camera để nhận dạng các cử chỉ của bàn tay để
điều khiển hướng đi cho xe lăn điện. Ngoài ra, người khuyết tật có thể điều khiển
xe lăn bằng cách giao tiếp tín hiệu não với máy tính (BCI) [3-5].

Tuy nhiên, trong một số trường hợp đặc biệt, khi mà khả năng vận động của
người khuyết tật bị hạn chế hay nói cách khác là người khuyết tật không thể tự
điều khiển được xe lăn theo ý muốn, xe lăn cần được điều khiển tự động. Chế độ
tự động của xe lăn đồng nghĩa với việc xe lăn phải tự di chuyển đến đúng nơi mà
người sử dụng mong muốn, đồng thời phải tránh được những vật cản trên đường
đi. Trong những năm gần đây, đã có nhiều phương pháp được áp dụng để xe lăn
tự hành như di chuyển theo đường đi đã được vạch sẵn [6], di chuyển theo tọa độ

-1-


Chương 1: Tổng quan

sử dụng định vị GPS và bộ lọc Kalman [7], sử dụng các cảm biến để định vị và
điều khiển xe lăn [8-12]…
Trong quá khứ cảm biến siêu âm và tia laser được lựa chọn cho các ứng
dụng. Trong nhiều nghiên cứu, Johann Borenstein, Yoram Koren và các cộng sự
đã sử dụng cảm biến siêu âm với nhiều phương pháp để điều khiển xe lăn điện
thông minh tránh vật cản [13, 14], chẳng hạn như phương pháp loại bỏ nhanh các
sai số của việc phát sóng siêu âm (EERUF), phương pháp biểu đồ trường véc tơ
(VFH), phương pháp trường cưỡng bức ảo (VFF). Tuy nhiên khi lĩnh vực thị giác
máy tính phát triển, nó trở thành một tiềm năng lớn. Camera ngày càng được sử
dụng nhiều do khả năng cung cấp thông tin về môi trường chính xác hơn các loại
cảm biến như siêu âm, tia laser. Camera có thể cung cấp các thông tin về màu
sắc, thông tin 3D về môi trường trong khi các cảm biến như siêu âm, tia laser chỉ
cung cấp thông tin 2D. Nhóm Don Murray đến từ Khoa khoa học máy tính
trường đại học British Columbia [15] và nhóm của Nguyễn Thanh Hải [16] đã sử
dụng camera với các thuật toán áp dụng vào việc phát hiện vật cản, tìm khoảng
trống để xe lăn điện vượt qua vật cản. Hệ thống này có thể giúp người sử dụng
cảm thấy an toàn hơn khi di chuyển trong khu vực có nhiều chướng ngại vật.

Sự kết hợp giữa thuật toán phát hiện vật cản, tìm khoảng trống và định vị cho
xe lăn bằng các vật mốc sử dụng camera mở ra một hướng nghiên cứu mới. Nhận
dạng vật mốc cho xe lăn tự hành [17] được thực hiện để phát hiện và phân biệt
các vật mốc trên đường đi của xe lăn, từ đó áp dụng vào việc xác định vị trí hiện
tại của xe lăn trong quá trình di chuyển. Alcantarilla và các cộng sự đề xuất
phương pháp mạnh mẽ và nhanh chóng định vị cho xe lăn dựa vào thị giác máy
tính, trong đó các đặc trưng của hình ảnh được trích xuất, kết hợp với các thành
phần bản đồ để đưa ra vị trí hiện tại của robot tự hành [18, 19]. Với các thuật toán
này, xe lăn có thể tự động điều hướng, dọc theo đường đi từ vị trí bắt đầu đến vị
trí đích.
Sự kết hợp của một chiếc xe lăn điện và hệ thống stereo camera cho phép xe
lăn di chuyển trong môi trường trong nhà linh hoạt hơn. Với hệ thống camera, xe
lăn có thể xác định vật mốc và di chuyển dọc theo lối đi. Trong quá trình di
-2-


Chương 1: Tổng quan

chuyển của xe lăn, khoảng cách và góc lệch giữa vật mốc và xe lăn được tính
toán để đưa ra quyết định cho di chuyển của xe lăn như hình 1.1.
Ảnh vật mốc lấy từ
Stereo camera

Dữ liệu ảnh vật
mốc lấy từ máy tính

Nhận dạng vật mốc
Tính toán tọa độ vật mốc
từ ảnh chụp camera
Xác định khoảng cách và

góc lệch giữa xe lăn và vật
mốc
Tính toán điều khiển xe lăn
Hình 1.1 Sơ đồ khối biểu diễn quá trình thu thập dữ liệu từ stereo camera và
xác định các thông số cho việc điều khiển xe lăn điện
Với những ưu điểm của việc sử dụng camera cho xe lăn điện tự hành, để tài “
Dò tìm vật mốc để điều khiển xe lăn điện đến đích dùng Stereo camera” được
lựa chọn để nghiên cứu. Stereo camera với "hai mắt" là một bộ phận của hệ thống
xe lăn thông minh, cung cấp hình ảnh stereo. Từ những hình ảnh stereo, hệ thống
này phát hiện chướng ngại vật và vùng trống bởi các thuật toán, sau đó chiếc xe
lăn có thể tránh va chạm và đi qua vùng trống. Thuật toán nhận dạng vật mốc
SURF được áp dụng để phát hiện và phân biệt các vật mốc. Các phép chiếu hình
học và các công thức lượng giác được sử dụng để tính toán các thông số, phục vụ
cho việc định vị cho xe lăn. Xe lăn có thể di chuyển từ điểm xuất phát cho đến
đích và tránh vật cản trên đường đi một các tự động.
1.2 Các kết quả nghiên cứu trong nước và ngoài nước đã công bố
Trong lĩnh vực mà người viết nghiên cứu đã có một số nghiên cứu trong và
ngoài nước:
-3-


Chương 1: Tổng quan

 Xe lăn điện điều khiển bằng hướng nhìn (cử động mắt) - Nguyễn Hữu
Cường (Bộ môn tự động hóa, khoa công nghệ Trường ĐH Cần Thơ),
người từng đoạt giải nhất “Tuổi trẻ và tự động hóa” năm 2003, do Hội Tự
động hóa VN tổ chức.
 Xe lăn điện điều khiển bằng nét mặt - Aachen, Đức.
 Xe lăn thông minh Aviator điều khiển bằng suy nghĩ - GS Nguyễn Tấn
Hùng, Trưởng khoa Kỹ thuật và công nghệ thông tin của Đại học Công

nghệ Sydney.
 Xe lăn điều khiển bằng nhịp thở - Viện nghiên cứu Khoa học Weizman,
Rehovot, Israel.
1.3 Mục tiêu của đề tài
Mục tiêu của đề tài là nhận dạng và dò tìm các vật mốc trong môi trường đã
định sẵn sử dụng Stereo camera, từ đó xây dựng thuật toán điều khiển cho xe lăn
điện đi đến đích theo yêu cầu của người sử dụng. Trong quá trình di chuyển, xe
lăn có khả năng phát hiện và tránh vật cản. Việc tìm đường và đích đến dựa vào
các vật mốc được sắp đặt trên đường đi, kết hợp với thông tin 3D về vật mốc
được cho bởi Stereo camera để tính toán vị trí vật mốc, từ đó xác định vị trí của
xe lăn điện trên đường đi.
1.4 Giới hạn đề tài
Môi trường thực hiện đề tài là môi trường trong nhà với điều kiện ánh sáng
tốt. Loại vật mốc và số lượng đích cần tìm chưa nhiều. Các thí nghiệm được thực
hiện trên một đoạn đường ngắn, với các vật cản không quá phức tạp.
1.5 Phương pháp nghiên cứu
 Phương pháp phân tích: nghiên cứu, phân tích tìm hiểu và áp dụng các
phương pháp xử lý ảnh số như phân tích không gian màu của ảnh số,
nhận dạng màu sắc, các phương pháp nhận dạng vật thể, các tính toán cho
ảnh stereo …
 Phương pháp thực nghiệm: đề tài nghiên cứu kết hợp thư viện xử lý ảnh
OpenCV, ngôn ngữ lập trình C++ và phần mềm LabVIEW để thực hiện
-4-


Chương 1: Tổng quan

các thuật toán nhận dạng vật mốc, phát hiện vật cản và khoảng trống để
điều khiển xe lăn điện. Bên cạnh đó, một xe lăn điện với hệ thống Stereo
camera được sử dụng để tiến hành thực nghiệm trong môi trường trong

nhà.
 Phương pháp đánh giá kết quả: so sánh kết quả thực nghiệm trong môi
trường thực với các thông số tính toán của thuật toán để đưa ra mức độ
chính xác của thuật toán.

-5-


Chương 2: Cơ sở lí thuyết

Chương 2.

CƠ SỞ LÍ THUYẾT
Chƣơng 2 giới thiệu về quá trình hình thành và phát triển của lĩnh vực thị
giác máy tính cũng nhƣ các phƣơng pháp nhận dạng vật mốc. Trong chƣơng này
cũng trình bày về mô hình setreo camera với các lý thuyết cơ bản phục vụ cho
việc tính toán các thông số dùng để áp dụng vào các thuật toán đƣợc sử dụng
trong đề tài.
2.1 Thị giác máy tính
2.1.1 Giới thiệu
Thị giác máy tính là một lĩnh vực nghiên cứu phức tạp đòi hỏi nhiều về sức
mạnh tính toán. Sự phát triển của công nghệ máy tính đã tạo thuận lợi rất lớn cho
xử lý ảnh và thị giác máy tính . Từ đây công việc xƣ̉ lý những tâ ̣p dữ liệu lớn nhƣ
hình ảnh trở nên nhanh chóng và dễ dàng hơn. Vì thế lĩnh vực thị giác máy tính
đƣợc nhắc đến và nghiên cứu nhiều hơn, đƣợc ứng dụng rộng rãi hơn trong khoa
học kỹ thuật hiện đại.
Thị giác máy tính bao gồm lý thuyết và các kỹ thuâ ̣t liên quan nhằm mục
đích tạo ra một hệ thống nhân tạo có thể tiếp nhâ ̣n thông tin từ các hình ảnh thu
đƣợc hoặc từ các tâ ̣p dữ liệu đa chiều . Đối với con ngƣời, việc nhận thức môi
trƣờng xung quanh là một điều dễ dàng. Tuy nhiên đối với máy tính hay một hệ

thống xử lý thì điều này hoàn toàn khó khăn. Thị giác máy tính cung cấp cho máy
tính hay một hệ thống xử lý các thông tin về môi trƣờng bên ngoài thông qua
hình ảnh chụp lại từ máy chụp ảnh. Các thông tin này qua quá trình phân tích , xƣ̉
lý và kết hợp với các mô hình nhƣ máy học, fuzzy, mạng nơron .... sẽ giúp cho
thiết bị tiến dần tới một hệ thống nhân tạo có khả năng ra quyết định chính xác và
linh hoạt hơn rất nhiều.
Lĩnh vực nghiên cứu của thị giác máy tính rất đa dạng và liên quan đến nhiều
lĩnh vực khác nhau. Sẽ có rất nhiều hƣớng giả quyết, phƣơng pháp thực hiện
-6-


Chương 2: Cơ sở lí thuyết

tƣơng ứng áp dụng cho các lĩnh vực. Mỗi hƣớng giải quyết, mỗi phƣơng pháp
đều đạt đƣợc một kết quả nhất định cho những trƣờng hợp cụ thể trong các ứng
dụng khác nhau.
2.1.2 Hệ thống thị giác máy tính
Cấu trúc của một hệ thống thị giác máy tính phụ thuộc nhiều vào ứng dụng
cụ thể của hệ thống đó, vì thế mỗi một hệ thống lại có một cấu trúc riêng biệt.
Tuy nhiên, khi tổng hợp những cấu trúc này lại thì có thể nhâ ̣n thấy đƣợc các
thành phần đặc trƣng thƣờng xuất hiện trong một hệ thống thị giác.
 Thu thập hình ảnh: Quá trình này thu thâ ̣p d ữ liệu ảnh từ các máy chụp
ảnh.
 Tiền xử lý: Ảnh sau khi đƣợc thu thâ ̣p c ần phải qua quá trình tiền xƣ̉ lý
ảnh để thỏa mãn một số yêu cầu nhƣ lấy mẫu lại để hiệu chỉnh tọa độ
điểm các ảnh liên tiếp, loại bỏ nhiễu để giảm thông tin sai hay tăng độ
tƣơng phản để đảm bảo xác định đƣợc các thông tin cần thiết.
 Trích xuất đặc điểm: Dữ liệu trong một ảnh là rất nhiều tuy nhiên không
phải dữ liệu nào cũng hữu ích. Vì thế trong giai đoạn này, hệ thống sẽ
trích xuất ra những đặc điểm cơ bản nhất trong ảnh phục vụ cho các quá

trình tiếp theo. Những đặc điểm này thƣờng là đƣờng thẳng, cạnh, góc và
đặc điểm phức tạp nhƣ dấu vân, hình dáng hay chuyển động.
 Dò tìm hay phân vùng: Đối tƣợng cần quan tâm có thể nằm ở bất kỳ đâu
trong một ảnh, vì thế cần phân ảnh thành những vùng ảnh và tìm ra vùng
ảnh quan tâm hoặc chứa đối tƣợng quan tâm để xƣ̉ lý. Muốn phân vùng
phải dựa vào những đặc điểm của ảnh.
 Xử lý mức cao: Ở buớc này các tâ ̣p d ữ liệu chỉ là một tâ ̣p đi ểm ảnh hoặc
vùng ảnh chứa đối tƣợng cần quan tâm và những đặc điểm của đối tƣợng
đã đƣợc trích xuất ra. Vấn đề còn lại là sƣ̉ d ụng các thuâ ̣t toán đ ể xƣ̉ lý
đối tƣợng theo yêu cầu đề ra.

-7-


Chương 2: Cơ sở lí thuyết

2.1.3 Lĩnh vực ứng dụng của thị giác máy tính
Thị giác máy tính có tính ứng dụng cao, từ những lĩnh vực khoa học, y học,
sản xuất cho đến quân sự. Đầu tiên có thể kể đến là ứng dụng trong y học. Việc
chuẩn đoán bệnh cho các bệnh nhân có thể đƣợc hỗ trợ từ hệ thống thị giác máy
tính thông qua việc phân tích và trích xuất những thông tin đặc trƣng từ ảnh.
Những ảnh này đƣợc chụp từ kính hiển vi, máy X quang, chụp động mạch, siêu
âm hay từ máy chụp cắt lớp. Ngoài ra thị giác máy tính cũng có thể hỗ trợ việc đo
kích thƣớc cơ quan, lƣu lƣợng máu, cấu trúc tế bào. Thứ hai là trong công
nghiệp, trong lĩnh vực này thị giác máy tính đôi khi còn đƣợc gọi là thị giác máy.
Thông tin đặc trƣng trong ảnh giúp kiểm soát quá trình sản xuất nhƣ chất lƣợng
sản phẩm, tìm kiếm lỗi khuyết tâ ̣t , kích thƣớc sản phẩm hay vị trí và hƣớng của
cánh tay robot. Trong quân sự, hệ thống thị giác máy tính đƣợc ứng dụng trong
hệ thống phát hiện chuyển động , nhâ ̣n dạng , hay phức tạp hơn là hƣớng dẫn hệ
thống tên lƣ̉a . Một ứng dụng khác khá phổ biến của thị giác máy tính là cho

phƣơng tiện tự hành , từ tàu lặn , máy bay không ngƣời lái , hệ thống hỗ trợ lái xe
phát hiện vâ ̣t cản . Ngoài ra còn rất nhiều những ứng dụng hữu ích khác trong
thực tế.
2.2 Không gian màu RGB và phương pháp nhận dạng màu sắc sử dụng
không gian màu RGB
2.2.1 Không gian màu RGB
Mô hình màu RGB là một mô hình trong đó màu đỏ, xanh lá cây và màu
xanh da trời là 3 thành phần màu cơ bản đƣợc trộn vào theo những cách khác
nhau để tạo ra một loạt các màu sắc. Màu sắc và cƣờng độ của nó phụ thuộc vào
tỷ lệ của các màu cơ bản. Thành phần màu còn đƣợc gọi là kênh màu hoặc mặt
phẳng màu. Trong mô hình màu RGB, một ảnh màu có thể đƣợc đại diện bởi
hàm cƣờng độ.
IRGB = (FR, FG, FB)

-8-

(2.1)


Chương 2: Cơ sở lí thuyết

Trong phƣơng trình (2.1), FR(x, y) là cƣờng độ trong kênh màu đỏ, FG(x, y) là
cƣờng độ trong kênh màu xanh lá cây và FB(x, y) là cƣờng độ trong kênh màu
xanh da trời của điểm ảnh F(x, y).
Cƣờng độ của mỗi kênh màu thƣờng đƣợc lƣu trữ bằng cách sử dụng 8 bit,
tƣơng ứng 256 mức lƣợng tử. Do đó, một điểm ảnh trong một ảnh màu yêu cầu
24 bit để lƣu trữ. Một bộ nhớ 24 bit có thể diễn tả 16.777.216 màu sắc khác biệt.
Số lƣợng các màu sắc phải đáp ứng đầy đủ các hiệu ứng hiển thị của hầu hết các
hình ảnh.


Hình 2.1 Sự pha trộn màu sắc trong không gian màu RGB
2.2.2 Phương pháp nhận dạng màu sắc sử dụng không gian màu RGB
Phƣơng pháp nhận dạng màu sắc sử dụng không gian màu RGB là một
phƣơng pháp đơn giản, có hiệu quả trong một số trƣờng hợp cụ thể.
Phƣơng pháp này dựa vào giá trị các màu thành phần RGB trong một điểm
ảnh để nhận dạng màu sắc của điểm ảnh đó. Chẳng hạn đối với một điểm ảnh có
giá trị các màu thành phần là (255,0,0), dựa vào bảng 2.1 có thể kết luận điểm
ảnh đó có màu đỏ.

-9-


Chương 2: Cơ sở lí thuyết

Màu sắc

Tên gọi

Mã Hex

Mã thập phân

#RRGGBB

(R,G,B)

Black

#000000


(0,0,0)

White

#FFFFFF

(255,255,255)

Red

#FF0000

(255,0,0)

Lime

#00FF00

(0,255,0)

Blue

#0000FF

(0,0,255)

Yellow

#FFFF00


(255,255,0)

Cyan / Aqua

#00FFFF

(0,255,255)

Magenta / Fuchsia

#FF00FF

(255,0,255)

Silver

#C0C0C0

(192,192,192)

Gray

#808080

(128,128,128)

Maroon

#800000


(128,0,0)

Olive

#808000

(128,128,0)

Green

#008000

(0,128,0)

Purple

#800080

(128,0,128)

Teal

#008080

(0,128,128)

Navy

#000080


(0,0,128)

Bảng 2.1 Bảng phân tích các màu thành phần RGB của một số màu cơ bản

Hình 2.2 Ảnh cần nhận dạng màu đỏ

Hình 2.3 Nhận dạng màu đỏ với m = 20

- 10 -


Chương 2: Cơ sở lí thuyết

Phân tích ảnh màu nhƣ hình 2.2, có một quả bóng màu đỏ ở giữa ảnh. Nhận
thấy rằng các điểm ảnh trong quả bóng này sẽ có thành phần màu đỏ nhiều hơn
bất kỳ các điểm ảnh khác và đồng thời ta có: (FR > m + FG, FR > m + FB), trong
đó m là giá trị ngƣỡng đƣợc xác định dựa vào bảng phân tích thông số màu sắc.
Tiến hành thực hiện việc so sánh trên tất cả các điểm ảnh. Điểm ảnh nào thỏa
điều kiện đƣợc chuyển thành điểm ảnh màu trắng trong ảnh đơn sắc và ngƣợc lại,
điểm ảnh nào không thỏa điều kiện đƣợc chuyển thành điểm ảnh màu đen nhƣ
hình 2.3.
Đối với việc nhận dạng các màu khác cũng đƣợc thực hiện tƣơng tự nhƣ đối
với quá trình nhận dạng màu đỏ.
2.3 Không gian màu HSV và phương pháp nhận dạng màu sắc sử dụng
không gian màu HSV
2.3.1 Không gian màu HSV
HSV (Hue – Saturation - Value) là biểu diễn về màu sắc, độ bão hòa và độ
sáng của một điểm ảnh trong mô hình màu RGB dƣới dạng một tọa độ hình trụ.

Hình 2.4 Không gian màu HSV

Trong hình 2.4, các góc xung quanh trục thẳng đứng tƣơng ứng với "màu
sắc", khoảng cách từ trục tƣơng ứng với "độ bão hòa" và khoảng cách dọc theo
trục tƣơng ứng với "độ sáng". Thành phần màu bắt đầu từ màu đỏ chính ở 0°, đi
qua các màu xanh lá cây chính ở 120°, màu xanh da trời chính ở 240°, và sau đó
trở lại màu đỏ ở 360°. Các trục dọc trung tâm bao gồm các màu sắc trung tính,
- 11 -


×