Tải bản đầy đủ (.pdf) (91 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 (4.84 MB, 91 trang )



v

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


vi

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


vii

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



viii


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


ix

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


x

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 I
L
và phải I
R
… 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


xi

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 O
left
, O
right
… 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 Y
jmin

đượ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


xii

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


- 1 -
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 độ


- 2 -
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


- 3 -
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.

Hình 1.1 


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:
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


- 4 -
 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


- 5 -
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.


- 6 -

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 ky

̃
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


- 7 -

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ư
̉

ả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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ư
̉

đối tượng theo yêu cầu đề ra.



- 8 -

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 độ.
I
RGB
= (F
R
, F
G
, F
B
)

(2.1)


- 9 -

Trong phương trình (2.1), F
R
(x, y) là cường độ trong kênh màu đỏ, F
G
(x, y) là
cường độ trong kênh màu xanh lá cây và F
B
(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 à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 đỏ.






- 10 -

Màu sắc
Tên gọi
Mã Hex
#RRGGBB
Mã thp phân
(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  


Hình 2.2  Hình 2.3 


- 11 -

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ó: (F
R
> m + F
G
, F

R
> m + F
B
), 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,


- 12 -

không sắc, hoặc màu xám, dao động từ màu đen nhạt ở giá trị 0 phía dưới đến
màu trắng nhạt ở giá trị 1 phía trên. Trong HSV, pha trộn những màu sắc tinh
khiết với màu trắng tạo ra sắc thái màu, làm giảm độ bão hòa; khi pha trộn với

màu đen tạo ra độ bóng, giữ lại độ bão hòa không thay đổi.

Hình 2.5  
HSV là mô hình được xây dựng từ khối lập phương RGB, với số lượng thành
phần của màu đỏ, xanh lá cây và màu xanh da trời ký hiệu là R, G, B ∈ [0, 1], và
xoay nó trên góc của nó. Màu đen được đặt tại gốc cùng với màu trắng theo trục
thẳng đứng, sau đó đo màu sắc trong hình khối bằng góc của chúng xung quanh
trục thẳng đứng, bắt đầu với màu đỏ ở 0°. Tiếp đến là đưa ra một đặc tính của độ
sáng và xác định độ bão hòa nằm trong khoảng từ 0 dọc theo trục đến 1 tại điểm
đầy đủ màu sắc nhất cho mỗi cặp của các thông số khác.
2.3.2 Phương pháp nhn dng màu sắc s dụng không gian màu HSV
Một ảnh HSV được chuyển đổi từ ảnh RGB. Mỗi điểm ảnh chứa đựng 3
kênh thông tin về màu sắc, độ bão hòa, độ sáng.
I
HSV
= (F
H
, F
S
, F
V
)
Trong đó 0
0

H

0
, 0



S
 0


V

Trong OpenCV, khi chuyển đổi ảnh RGB sang ảnh HSV thì thông tin về màu
sắc (F
H
) sẽ được lưu trữ trong mảng 8 bit, có giá trị từ 0 – 179; độ bão hòa và độ
sáng cũng được lưu trữ trong mảng 8 bit có giá trị từ 0 – 255.
(2.2)


- 13 -

Quá trình nhận dạng màu sắc của các điểm ảnh trong ảnh màu sẽ được thực
hiện dựa vào không gian màu HSV. Màu sắc của một vật thể khi được chụp từ
camera trên thực tế phụ thuộc vào cường độ ánh sáng, độ nhạy cảm biến, góc
nhìn… nên màu sắc mà chúng ta muốn nhận dạng sẽ không phải là một giá trị cố
định mà sẽ nằm trong một dải các giá trị được giới hạn bởi hsv_min và hsv_max.
Ví dụ như muốn nhận dạng màu đỏ, ta có thể chọn dải màu đỏ tương ứng bằng
cách sử dụng một số phần mềm đơn giản để lấy các thông số cho hsv_min và
hsv_max.






Hình 2.6 
(a)  (b)  (c) 
Một số kết quả nhận dạng màu đỏ sử dụng không gian màu HSV với các giới
hạn ngưỡng thay đổi.
(a)
(b)
(c)


- 14 -









Hình 2.7 
(a) (d)(e)(f) 
Kết quả nhận dạng được là rất khác nhau phụ thuộc vào việc phân tích lựa
chọn giới hạn ngưỡng so sánh. Tuy nhiên việc lựa chọ giới hạn ngưỡng so sánh
(b)
(c)
hsv_min(0, 140, 140 )
hsv_max(10, 255, 255)
(d)
hsv_min(0, 140, 80 )
hsv_max(10, 255, 255)

(f)
hsv_min(0, 80, 130 )
hsv_max(5, 230, 200)
(e)
hsv_min(0, 160, 180 )
hsv_max(5, 255, 255)
(a)


- 15 -

dễ dàng hơn so với việc lựa chọn ngưỡng trong không gian màu RGB và việc
nhận dạng màu sắc thực tế đạt được độ tin cậy cao hơn. Đây được xem như là
yếu tố quan trọng trong việc nhận dạng đúng màu sắc theo yêu cầu.
2.4 Các phương pháp nhn dng vt thể
2.4.1 Phương pháp so khớp đặc điểm hình học
Nội dung của phương pháp là tìm sự tương đồng về mặt cấu trúc hình học
của vâ
̣
t thể được xem xét trong một ảnh với mô hình vâ
̣
t thể mẫu đã được xây
dựng. Mô hình vâ
̣
t thể mẫu là mô hình cấu trúc không gian ba ch iều được xây
dựng từ những thông tin về vâ
̣
t thể trong các ảnh. Những ảnh này là ảnh hai chiều
và là ảnh chụp vâ
̣

t thể từ nhiều hướng khác nhau , thông tin được lấy ra qua quá
trình xư
̉
lý thường là cạnh , đường thẳng, các đỉnh hoặc đường bao. u điểm của
phương pháp này là:
 Cu trúc hình hi góc nhìn: thông thường
ảnh chụp vâ
̣
t th ể là ảnh của mô hình cấu trúc ba chiều của vâ
̣
t th ể khi
chiếu lên một mặt phẳng nào đó. Vì thế khi thay đổi góc nhìn thì cấu trúc
hình học của vâ
̣
t thể không thay đổi.
 Cu trúc hình hi ngun sáng: cấu trúc hình
học được xây dựng trên những đặc điểm cạnh và đường bao nên không
thay đổi khi nguồn sáng thay đổi.
2.4.2 Phương pháp nhn dng dựa trên din mo
Phương pháp so khớp đặc điểm hình học phải xây dựng cấu trúc hình học từ

̣
p ảnh của vâ
̣
t mẫu thì phương pháp nhâ
̣
n dạng dựa trên diện mạo sư
̉
dụng luôn


̣
p ảnh về hình dạng vâ
̣
t mẫu để so sánh nên phương pháp này có thể nhâ
̣
n dạng

̣
t thể đa dạng hơn. Phương pháp này bao gồm hai giai đoạn thực hiện:
 n hun luyn (offline): Trong giai đoạn này các tâ
̣
p ảnh mẫu của

̣
t thể được thu thâ
̣
p. Tâ
̣
p ảnh vâ
̣
t thể được chụp dưới nhiều góc nhìn và
cường độ, hướng ánh sáng khác nhau hoặc nhiều đối tượng cùng một lớp

̣
t thể. Tâ
̣
p ảnh thường có sự tương quan cao nên để giảm số lượng ảnh


- 16 -


trong tâ
̣
p ảnh thì các nhà nghiên cứu thường sư
̉
dụng phương pháp phân
tích thành phần chính (PCA).
 n nhn dng (online): Các ảnh đầu vào được xư
̉
lý và sau đó
đem so sánh với tâ
̣
p vâ
̣
t mẫu, Các ảnh này thường có kích thước bằng với
ảnh tâ
̣
p mẫu.
Trong giai đoạn huấn luyện ngoài việc giảm số lượng ảnh thì cần phải giảm
dữ liệu không cần thiết trong ảnh bằng cách biểu diễn ảnh chứa vâ
̣
t thể trong
không gian eigen dưới dạng vectơ hoặc đa điểm. Một cách tiếp câ
̣
n khác của
phương pháp nhâ
̣
n dạng dựa trên diện mạo là biểu diễn vâ
̣
t thể trong không gian

màu. Trong phương pháp chỉ số hóa màu sắc, đặc điểm màu sắc được xây dựng
thành biểu đồ màu sắc 3 chiều (3D color histogram) từ tâ
̣
p hình ảnh về vâ
̣
t th ể
dưới nhiều góc quan sát khác nhau . Biểu đồ màu sắc là không thay đổi dù cho có
thay đổi góc quan sát . Để nhâ
̣
n dạng vâ
̣
t thể thì chỉ cần so sánh màu sắc của ảnh
chứa vâ
̣
t thể với biểu đồ màu sắc.
2.4.3 Phương pháp nhn dng dựa trên đặc điểm cục bộ
Phương pháp này được xây dựng dựa trên việc so khớp giữa các đặc điểm
cục bộ, những đặc điểm này là những tâ
̣
p điểm ảnh nổi bâ
̣
t thường là tại những
điểm mà cường độ ánh sáng bị gián đoạn. Những điểm này là bất biến dù cho tỉ
lệ kích thước hoặc nguồn ánh sáng thay đổi, do đó có thể mô tả được những vâ
̣
t
thể có hình dáng phức tạp . Những ưu điểm chính của phương pháp nhâ
̣
n dạng
dựa trên đặc điểm cục bộ:

 Cấu trúc vâ
̣
t thể sẽ được học tự động bằng việc cung cấp tâ
̣
p ảnh mẫu.
 Việc biểu thị vâ
̣
t thể thông qua những đặc điểm bất biến dễ dàng hơn biểu
thị bằng hình dạng cơ bản , nhất là trong những trường hợp hình dạng vâ
̣
t
thể phức tạp.
 Có thể nhâ
̣
n dạng vâ
̣
t thể mà không cần tách vâ
̣
t thể ra khỏi nền ảnh và
ngay cả khi vâ
̣
t thể đó nằm cùng với những vâ
̣
t thể khác.


- 17 -

 Vâ
̣

t thể có thể được nhâ
̣
n dạng từ nhiều điểm quan sát khác nhau hoặc
dưới điều kiện nguồn sáng thay đổi.
Các bước cơ bản trong phương pháp nhâ
̣
n dạng dựa trên đặc điểm cục bộ bao
gồm:
 Tp d liu dò tìm: trong giai đoạn đầu tiên các thành phần điểm ảnh nổi

̣
t sẽ được dò tìm và được tâ
̣
p hợp thành tâ
̣
p dữ liệu dò tìm, những thành
phần này được xem như ”vị trí mỏ neo” trong ảnh. Một thành phần điểm
ảnh được gọi là nổi bâ
̣
t khi thành ph ần này miêu tả một phần vâ
̣
t th ể và
không thay đổi dù cho các thuộc tính như kích thước, nguồn sáng của ảnh
thay đổi. Thông thường tại những vùng điểm ảnh đó cường độ sáng bị
gián đoạn, do đó để phát hiện những thành phần này thường sư
̉
dụng các
phương pháp đạo hàm kết hợp như đạo hàm Laplace, đạo hàm Gause,
đạo hàm Hessian-Laplace….
 B mô t: các thành phần đặc điểm cục bộ sau khi dò tìm cần phải xây

dựng bộ mô tả các thành phần này. Bộ mô tả biểu thị mối quan hệ về mặt
không gian giữa các thành phần đặc điểm cục bộ với các điểm ảnh lân

̣
n nhằm mục đích xác định vị trí của các thành phần này trong ảnh. Yêu
cầu cho một bộ mô tả là phải đảm bảo phân biệt được các thành phần đặc
điểm của vâ
̣
t thể trong một tâ
̣
p dữ liệu và không bị ảnh hưởng bởi tâ
̣
p dữ
liệu dò tìm.
 Ch s hóa: Trong quá trình học, các bộ mô tả được thiết lâ
̣
p và lưu tr ữ
trong một cơ sở dữ liệu. Khi nhâ
̣
n dạng vâ
̣
t thể, bộ mô tả cũng được tính
toán từ ảnh thu thâ
̣
p và được so sánh với bộ mô tả trong cơ sở dữ liệu. Do
đó cơ sở dữ liệu phải được sắp xếp sao cho việc nhâ
̣
n d ạng đạt hiệu quả
cao về độ chính xác lẫn thời gian. Việc sắp xếp là việc chỉ số hóa các bộ
miêu tả, điều này phụ thuộc vào thuộc tính của bộ mô tả và phép đo

khoảng cách. Thông thường việc tìm kiếm trong cơ sở dữ liệu theo
phương pháp tuần tự không sư
̉
dụng cấu trúc chỉ số hóa.

×