Tải bản đầy đủ (.docx) (90 trang)

(Khóa luận tốt nghiệp Điện – Điện tử) - Ứng dụng xử lý ảnh nhận dạng cử chỉ bàn tay điều khiển robot di động

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 (12.78 MB, 90 trang )

TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ
--------

KHÓA LUẬN TỐT NGHIỆP

ỨNG DỤNG XỬ LÝ ẢNH NHẬN DẠNG
CỬ CHỈ BÀN TAY ĐIỀU KHIỂN ROBOT DI ĐỘNG

GVHD: ThS. TRẦN HOÀN
SVTH: NGUYỄN VĂN ĐẠT
LỚP: 07DHDT4
MSSV: 2002160185

TP. HỒ CHÍ MINH, NĂM 2020


TRƯỜNG ĐH CÔNG NGHIỆP THỰC PHẨM TP. HCM
KHOA CÔNG NGHỆ ĐIỆN – ĐIỆN TỬ
--------

KHÓA LUẬN TỐT NGHIỆP

ỨNG DỤNG XỬ LÝ ẢNH NHẬN DẠNG
CỬ CHỈ BÀN TAY ĐIỀU KHIỂN ROBOT DI ĐỘNG

GVHD: ThS. TRẦN HOÀN
SVTH: NGUYỄN VĂN ĐẠT
LỚP: 07DHDT4
MSSV: 2002160185


TP. HỒ CHÍ MINH, NĂM 2020


TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP
THỰC PHẨM TP. HỒ CHÍ MINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

KHOA ĐIỆN – ĐIỆN TỬ

PHIẾU GIAO NHIỆM VỤ
(Phiếu này phải đóng vào trang đầu tiên của báo cáo)
1. Họ và tên sinh viên được giao đề tài (Số lượng sinh viên: 1)

(1) Nguyễn Văn Đạt

MSSV: 2002160185

Lớp: 07DHDT4

2. Tên đề tài: Ứng dụng xử lý ảnh nhận dạng cử chỉ bàn tay điều khiển robot di động
3. Nhiệm vụ của đề tài:
_ Thực hiện chức năng: nhận dạng cử chỉ bàn tay điều khiển bobot di chuyển: đi thẳng, rẽ
trái, rẽ phải, lùi, dừng lại.
_ Cài đặt hệ điều hành và thư viện OpenCV cho Raspberry Pi
_ Nghiên cứu lý thuyết lập trình python, OpenCV
_ Tìm hiểu lý thuyết xử lý ảnh
_ Xây dựng giải thuật nhận dạng cử chỉ bàn tay
_ Chất lượng thực hiện nhận diện bàn tay đáp ứng tốt không bị nhiễu

4. Ngày giao nhiệm vụ đồ án tốt nghiệp: 29/02/2020
5. Ngày hoàn thành và nộp về khoa:
TP.Hồ Chí Minh, ngày 29 tháng 02 năm 2020
Trưởng khoa

Trưởng bộ môn

Lê Thành Tới

Nguyễn Phú Công

Giảng viên hướng dẫn

Trần Hoàn


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................


NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

LỜI CÁM ƠN
Trước hết chúng em xin gửi lời cảm ơn chân thành đến quý thầy cô trường Đại
học Công Nghiệp Thực Phẩm thành phố Hồ Chí Minh nói chung và quý thầy cơ ở
khoa Điện - Điện tử và chuyên ngành Tự Động Hóa nói riêng đã tận tình trùn đạt
những kiến thức quý giá trong khoảng thời gian em học đại học.
Em xin được gửi lời cảm ơn đến thầy Trần Hoàn, thầy đã hướng dẫn và giúp đỡ
tận tình em nghiên cứu và hoàn thành luận văn tốt nghệp này. Những lời nhận xét, góp
ý và hướng dẫn của thầy đã giúp em có định hướng đúng đắn trong q trình thực hiện
đề tài, giúp em nhìn ra được ưu khuyết điểm của đề tài và từng bước khắc phục để có
được kết quả tốt nhất. Xin gửi đến thầy lời chúc sức khỏe và ngày càng thành công
trên trên mục giảng.


Em xin gửi lời cảm ơn chân thành đến quý Thầy/Cô đã dành thời gian quý báu để
nhận xét và chấm Luận văn tốt nghiệp. Đây sẽ là nhưng đóng góp rất quý giá cho em
để hoàn thiện và phát triển đề tài ngày một tốt hơn.
Sau cùng, con xin bày tỏ lòng biết ơn sâu sắc tới Mẹ, Ba, Chị, Em những người
đã luôn luôn động viên, ở bên con trong những lúc khó khăn nhất, là động lực cho con
nỗ lực cố gắng trong suốt những năm tháng học tập tại trường và trên những bước
đường tiếp theo trong cuộc sống.

TP. Hồ Chí Minh, ngày 14 tháng 08 năm 2020

Tác giả

Nguyễn Văn Đạt

TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

THỰC PHẨM TP. HỒ CHÍ MINH

Độc lập - Tự do - Hạnh phúc

KHOA ĐIỆN – ĐIỆN TỬ
TP. HCM, ngày….tháng…..năm……..

TĨM TẮT ĐỀ TÀI
Ngày nay, các mơ hình xe, máy bay và robot đang ngày càng phổ biến trong
nghiên cứu và đào tạo. Các thiết bị này thường được vận hành tự động hoặc điều khiển
trực tiếp bởi con người. Nhờ vào sự tiến bộ của công nghệ xử lý hình ảnh, ngày càng
nhiều các thiết bị có khả năng ghi nhận cử chỉ tay và chuyển đổi thành các tín
hiệu có thể xử lý bằng máy tính. Đề tài “Ứng dụng xử lý ảnh nhận dạng cử chỉ bàn
tay điều khiển robot di động” là mô hình dựa theo ngơn ngữ python với thư viện chính
là Opencv và được thực hiện trên Kit Raspberry và Kit Arduino Wifi ESP826 WeMos
D1. Xử lý ảnh ở đây sẽ được nhận dạng theo ngưỡng của bàn tay để điều khiển robot


thông qua cử chỉ tay. Kết quả nghiên cứu cho thấy cho thấy tính ổn định trong việc
điều khiển các mơ hình robot bằng cử chỉ tay.



LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

MỤC LỤ

MỤC LỤC.................................................................................................................. i
DANH MỤC KÝ HIỆU, CỤM TỪ VIẾT TẮT........................................................iv
DANH MỤC BẢNG BIỂU.......................................................................................v
DANH MỤC HÌNH ẢNH........................................................................................vi
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI......................................................................1
1.1 Đặt vấn đề.....................................................................................................................1
1.2 Mục tiêu........................................................................................................................1
1.3 Phạm vi của luận văn tốt nghiệp...................................................................................1
1.4 Tổng quan về các nghiên cứu liên quan........................................................................2
1.4.1

Nhận dạng bàn tay dựa vào màu sắc và hình dáng..............................................2

1.4.2

Nhận dạng dựa vào ngưỡng trên mỗi kênh màu..................................................2

1.4.3

Optical Flow.........................................................................................................3

1.4.4

Phương pháp trừ nền............................................................................................3


1.5 Ý nghĩa khoa học và thực tiễn của đề tài......................................................................3

Chương 2: CƠ SỞ LÝ THUYẾT...............................................................................5
2.1 Giới thiệu về hệ thống xử lý ảnh...................................................................................5
2.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh............................................................7
2.2.1

Điểm ảnh (Picture Element).................................................................................7

2.2.2

Độ phân giải của ảnh............................................................................................8

2.2.3

Mức xám của ảnh.................................................................................................8

2.2.4

Định nghĩa ảnh số...............................................................................................11

2.2.5

Chỉnh mức xám..................................................................................................11

2.2.6

Kỹ thuật năng cao chất lượng ảnh......................................................................11


2.2.7

Kỹ thuật biến đổi ảnh.........................................................................................12

2.2.8

Kỹ thuật phân tích ảnh.......................................................................................12

2.2.9

Kỹ thuật nhận dạng ảnh.....................................................................................12

2.3 Các phương pháp xử lý ảnh số....................................................................................12
2.3.1

Chuyển ảnh màu RGB thành ảnh mức xám ( Gray level)................................12

2.3.2

Phương pháp lọc nhiễu ảnh................................................................................13

2.3.3

Phân vùng ảnh....................................................................................................14

SVTH: NGUYỄN VĂN ĐẠT

1



LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

2.3.4

Phương pháp phân vùng ảnh..............................................................................14

2.3.5

Khái niệm biên...................................................................................................14

2.4 Máy tính nhúng Raspberry Pi.....................................................................................15
2.4.1

Giới thiệu về Raspberry Pi 3..............................................................................15

2.4.2

Màn hình LCD 3,5 inch Raspberry Pi................................................................17

2.4.3

Module camera (Camera Module 5MP Raspberry Pi )......................................17

2.5 Ngôn ngữ python và thư viện Opencv........................................................................18
2.5.1

Giới thiệu ngơn ngữ lập trình python ( python 2.7)...........................................18


2.5.2

Thư viện Opencv................................................................................................20

2.5.2.1 Chức năng có trong thư viện OpenCV...........................................................20
2.5.2.2 Ứng dụng OpenCV trong thực tế...................................................................21
2.6 Board UNO WIFI - WeMos D1..................................................................................23
2.6.1

Giới thiệu board UNO WIFI..............................................................................23

2.6.2

Lập trình cho board Arduino UNO WiFi...........................................................25

2.7 Module điều khiển động cơ L298...............................................................................26
2.7.1

Module điều khiển động cơ L298......................................................................26

2.7.2

Nguyên lý hoạt động..........................................................................................27

2.8 Động cơ giảm tốc........................................................................................................30
2.9 Bánh xe.......................................................................................................................30

Chương 3: CƠ SỞ THỰC HIỆN.............................................................................32
3.1 Thiết kế sơ đồ khối hệ thống.......................................................................................32
3.2 Sơ đồ kết nối hệ thống................................................................................................33

3.3 Lưu đồ giải thuật.........................................................................................................35
3.3.1

Các bước truy cập và lập trình trên python........................................................35

3.3.1.1 Hiển thị lên màng hình laptop qua Wifi.........................................................36
3.3.1.2 Hiển thị qua cáp ethernet................................................................................40
3.3.2

Lưu đồ giải thuật nhận dạng cử chỉ bàn tay.......................................................43

3.3.3

Lưu đồ giải thuật điều khiển robot di động........................................................53

3.4 Bảng vẽ cơ khí............................................................................................................60

Chương 4: KẾT QUẢ THỰC NGHIỆM.................................................................61
Chương 5: KẾT LUẬN VÀ ĐỊNH HƯỚNG ĐỀ TÀI.............................................67
5.1 Kết quả đạt được.........................................................................................................67
5.2 Hạn chế.......................................................................................................................67
5.3 Hướng phát triển của đề tài.........................................................................................67

PHỤ LỤC................................................................................................................ 68
SVTH: NGUYỄN VĂN ĐẠT

2


LUẬN VĂN TỐT NGHIỆP


GVHD: TRẦN HỒN

Code chương trình nhận diện bàn tay................................................................................68
Code điều khiển robot........................................................................................................74
Giới thiệu phần mềm sử dụng: phần mềm ARDUINO IDE..............................................80
Hướng dẫn cài đặt phần mềm............................................................................................80

TÀI LIỆU THAM KHẢO.......................................................................................85

SVTH: NGUYỄN VĂN ĐẠT

3


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

DANH MỤC KÝ HIỆU, CỤM TỪ VIẾT TẮT
KÍ HIỆU

THUẬT NGỮ

RGB

Red Green Blue

IDE


Integrated Development Environment

OpenCV

Open Source Computer Vision

PEL

(Picture Element) hay gọi tắt là Pixel

SVTH: NGUYỄN VĂN ĐẠT

4


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

DANH MỤC BẢNG BIỂU

SVTH: NGUYỄN VĂN ĐẠT

5


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HỒN


DANH MỤC HÌNH ẢNH
Hình 1.1: Hình minh họa kết quả thuật tốn trừ nền......................................................3
Hình 2.1: Các bước cơ bản trong xử lý ảnh...................................................................5
Hình 2.2: Điểm ảnh (pixel - picture element)................................................................8
Hình 2.3: Minh họa mức xám sau khi mã hóa...............................................................9
Hình 2.4: Minh họa ảnh nhị phân sau khi mã hóa..........................................................9
Hình 2.5: Khơng gian màu HSV..................................................................................10
Hình 2.6: Khơng gian màu RGB..................................................................................10
Hình 2.7: Raspberry Pi 3 Model B...............................................................................15
Hình 2.8: Sơ đồ của Raspberry Pi 3.............................................................................16
Hình 2.9: Màn hình cảm ứng 3.5 inch..........................................................................17
Hình 2.10: Module camera raspberry pi.......................................................................17
Hình 2.11: Ngơn ngữ lập trình python trên Raspberry.................................................18
Hình 2.12: Hệ thống tên lửa tích hợp quang hồng ngoại..............................................21
Hình 2.13: Ứng dụng opencv trong lĩnh vực hàng khơng............................................22
Hình 2.14: Xử lý ảnh trong phịng chống tội phạm......................................................22
Hình 2.15: Board UNO WiFi (WeMos D1).................................................................23
Hình 2.16: Sơ đồ chân ESP8266MOD.........................................................................24
Hình 2.17: Phần mềm Arduino IDE.............................................................................25
Hình 2.18: Mạch điều khiển động cơ DC L298...........................................................26
Hình 2.19: Nguyên lý hoạt động..................................................................................27
Hình 2.20: Trường hợp thứ nhất A ở mức LOW và B ở mức HIGH............................28
Hình 2.21: Trường hợp thứ hai A ở mức HIGH và B ở mức LOW..............................29
Hình 2.22: Động cơ giảm tốc GA25 12V 280 rpm......................................................30
Hình 2.23: Bánh xe 65mm khớp lục giác.....................................................................31
Hình 3.1: Sơ đồ khối phần cứng..................................................................................32
Hình 3.2: Sơ đồ kết nối thực tế Raspberry Pi...............................................................33
Hình 3.3: Gắn thẻ nhớ vào khe thực tế.........................................................................34
Hình 3.4: Sơ đồ đấu dây..............................................................................................35
Hình 3.5: Tìm IP của Raspberry Pi..............................................................................36

Hình 3.6: Nhập IP của Raspberry vào Putty.................................................................36
SVTH: NGUYỄN VĂN ĐẠT

6


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HỒN

Hình 3.7: Màng hình Terminal xuất hiện.....................................................................37
Hình 3.8: Nhập thơng tin đăng nhập............................................................................37
Hình 3.9: Kết nối từ xa dành cho máy chủ Desktop.....................................................38
Hình 3.10: Mở Remote Desktop Connection có sẵn trong windows...........................38
Hình 3.11: Connect vào Raspberry..............................................................................39
Hình 3.12: Đăng nhập vào màng hình Raspberry........................................................39
Hình 3.13: Raspberry hiển thị lên màng hình laptop....................................................40
Hình 3.14: Hiển thị Raspberry lên màng hình laptop qua cáp ethernet........................40
Hình 3.15: Kết nối ethernet với laptop ở IP động........................................................41
Hình 3.16: Tìm IP ethernet...........................................................................................41
Hình 3.17: Connect vào Raspberry qua cáp ethernet...................................................42
Hình 3.18: Gọi chương trình python qua cửa sổ Terminal...........................................42
Hình 3.19: Lưu đồ giải thuật nhận dạng cử chỉ bàn tay...............................................43
Hình 3.20: Khung hình đầu vào...................................................................................44
Hình 3.21: Cắt một góc khung hình chứa phần bàn tay (top, bottom, left, right).........44
Hình 3.22: Vẽ ơ màu có kích thước (top, bottom, left, right) ra màng hình.................45
Hình 3.23: Chuyển đổi ảnh BGR sang dạng ảnh xám..................................................45
Hình 3.24: Lọc GaussianBlur làm mờ ảnh...................................................................46
Hình 3.25: Lấy ảnh theo ngưỡng.................................................................................47
Hình 3.26: Đóng khung chữ nhật vùng xuất hiện bàn tay............................................47

Hình 3.27: Tim đường viền..........................................................................................48
Hình 3.28: Biến đổi khoảng cách để phát hiện tâm và số ngón tay..............................48
Hình 3.29: Vẽ tâm C....................................................................................................49
Hình 3.30: Vẽ đường trịn tâm C..................................................................................49
Hình 3.31: Tìm các đoạn cắt nhau để tìm số ngón tay (cv2.bitwise_and)....................50
Hình 3.32: Vẽ đường viền để tìm số khe giữa các ngón...............................................50
Hình 3.33: Vẽ bao lồi xung quanh ngón tay.................................................................51
Hình 3.34: Điều kiện để tính khe giữa các ngón tay....................................................51
Hình 3.35: Tìm khuyết tật lồi.......................................................................................52
Hình 3.36: Gửi và nhận giao tiếp UDP ESP8266.........................................................53
Hình 3.37: Lưu đồ giải thuật điều khiển robot di động................................................54
Hình 3.38: Gửi và nhận tín hiệu cho robot: (a) là cử chỉ bàn tay dừng........................55
SVTH: NGUYỄN VĂN ĐẠT

7


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HỒN

Hình 3.39: Gửi và nhận tín hiệu cho robot: (a) là cử chỉ bàn tay tiến..........................56
Hình 3.40: Gửi và nhận tín hiệu cho robot: (a) là cử chỉ bàn tay lùi............................57
Hình 3.41: Gửi và nhận tín hiệu cho robot: (a) là cử chỉ bàn tay rẽ trái.......................58
Hình 3.42: Gửi và nhận tín hiệu cho robot: (a) là cử chỉ bàn tay rẽ phải.....................59
Hình 3.43: Bảng vẽ cơ khí...........................................................................................60
Hình 4.1: Kết quả cử chỉ tay robot dừng (stop)............................................................61
Hình 4.2: Kết quả cử chỉ tay robot tiến (up)................................................................62
Hình 4.3: Kết quả cử chỉ tay robot lùi (down).............................................................63
Hình 4.4: Kết quả cử chỉ tay robot rẽ trái (left)............................................................64

Hình 4.5: Kết quả cử chỉ tay robot rẽ phải (right)........................................................65
Hình 4.6: Mơ hình khi hoàn thành...............................................................................66

SVTH: NGUYỄN VĂN ĐẠT

8


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

Chương 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1

Đặt vấn đề
Trong những năm gần đây, các ứng dụng về trí tuệ nhân tạo ngày càng phát

triển và được đánh giá cao. Một lĩnh vực đang được quan tâm của trí tuệ nhân tạo
nhằm tạo ra các ứng dụng thơng minh, mang tính tri thức con người đó là nhận dạng.
Với sự phát triển mạnh mẽ của công nghệ và nhu cầu của con người ngày càng cao.
Một bài tốn được đặt ra là: Làm sao có thể điều khiển máy tính, các thiết bị giải trí,
robot…bằng những cử chỉ, hành động và lời nói của con người. Nhận dạng hình ảnh
và âm thanh là một giải pháp để giải quyết bài toán này và một phần nhỏ trong lĩnh
vực đó là nhận dạng cử chỉ bàn tay.
Lý do chủ quan khi chọn đề tài: Những năm gần đây robot là một trong những
thế mạnh của Khoa. Và em muốn làm sao để trở nên mạnh hơn nữa về công nghệ chế
tạo robot thông minh. Để lại một cái gì đó quý báu cho những sinh viên khóa sau của
trường phát triển tốt hơn về các công nghệ cao và các ngành khác liên quan.
1.2


Mục tiêu










1.3

Nhận dạng cử chỉ tay xây dựng chương trình điều khiển như sau:
No hand: Khơng có bàn tay (Robot khơng di chủn)
“Up”: Ngón tay thứ nhất trong bàn tay (Robot di chuyển về phía trước)
“Down”: Ngón tay thứ hai trong bàn tay (Robot di chủn về phía sau)
“Left”: Ngón tay thứ ba trong bàn tay (Robot di chuyển sang trái)
“Right”: Ngón tay thứ tư trong bàn tay (Robot di chuyển sang phải)
Nghiên cứu lý thuyết lập trình python, OpenCV.
Tìm hiểu lý thuyết xử lý ảnh.
Xây dựng giải thuật nhận dạng cử chỉ bàn tay.
Phạm vi của luận văn tốt nghiệp
Đề tài được nghiên cứu dựa trên nền tảng các kiến thức cơ bản về ngơn ngữ lập

trình và vi điều khiển được học ở trường, cùng với việc tự tìm hiểu và học hỏi của các
tài liệu đi trước. Hệ thống điều khiển của robot được thực hiện dựa trên máy tính
nhúng Raspberry pi 3 kết nối với camera pi và chương trình được viết bằng Python.
Do giới hạn về kiến thức của bản thân nên mục tiêu hướng đến đề tài là làm sao để

robot di động một cách cơ bản nhất có thể.
SVTH: NGUYỄN VĂN ĐẠT

Trang 1


LUẬN VĂN TỐT NGHIỆP

1.4

GVHD: TRẦN HOÀN

Tổng quan về các nghiên cứu liên quan
Bàn tay con người có cấu trúc xương phức tạp bao gồm rất nhiều khớp nối với

nhau. Vì số bậc tự do của bàn tay người là rất lớn nên việc nhận dạng cử chỉ bàn tay
trở nên một thách thức lớn. Có nhiều nghiên cứu về nhận dạng cử chỉ với các giải
thuật khác nhau như: nhận dạng phép trừ nền, dựa vào màu sắc, hình dáng, các đặc
trưng của bàn tay, optical flow, mean shift….
1.4.1

Nhận dạng bàn tay dựa vào màu sắc và hình dáng
Màu da là một đặc trưng quan trọng để định vị và tracking bàn tay người. Tuy

nhiên thuật toán dựa trên màu da phải đối mặt với khó khăn đó là phải phân biệt đối
tượng có màu tương tự với bàn tay như khuôn mặt và cánh tay người. Để giải quyết
vấn đề này, người sử dụng phải mặc áo sơ mi dài và phải hạn chế trong khung nền
trong đó màu sắc các đối tượng không được tương đồng với màu da người. Thuật toán
này cũng rất nhạy với các điều kiện chiếu sáng khác nhau. Khi điều kiện ánh sáng
không đáp ứng u cầu thì bộ nhận dạng thường khơng nhận ra bàn tay.

Wuetal đã đề xuất thuật toán bám theo đối tượng dựa trên màu sắc không ổn
định bằng cách học hai phương pháp biểu diễn khác nhau cho sự phân bố màu sắc và
gọi thuật toán mới này là structure adaptive self-organizing map (SASOM). Kết quả
trong việc định vị bàn tay đã chỉ ra rằng thuật tốn có thể kiểm sốt tốt một vài điểm
khó trong tracking đối tượng có màu sắc khơng ổn định.
1.4.2

Nhận dạng dựa vào ngưỡng trên mỗi kênh màu
Thuật toán dựa trên đặc trưng bàn tay trích xuất đặc trưng trong một vùng ảnh

nhất định như đầu ngón tay hoặc biên bàn tay, và sử dụng một vài phương pháp suy
luận để tìm ra hình dạng hoặc kết hợp những đặc trưng cụ thể để tạo nên một cử chỉ
bàn tay.
Đối với cách tiếp cận dựa trên đặc trưng bàn tay, việc phân đoạn những ảnh
không bị nhiễu là bước cần thiết để phục hồi những đặc trưng của bàn tay. Đây không
phải là nhiệm vụ dễ dàng khi gặp phải những ảnh nền phức tạp.
1.4.3

Optical Flow

SVTH: NGUYỄN VĂN ĐẠT

Trang 2


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HỒN

Optical flow là thuật tốn dựa trên phân tích chuyển động của bàn tay. Việc bám

theo bàn tay dựa vào quỹ đạo chuyển động và kết hợp với bộ phát hiện màu da. Bộ lọc
theo thời gian dùng thuật toán Viterbi để nhận dạng quỹ đạo của bàn tay và thuật toán
kiểm tra phụ được bổ sung vào thuật toán Viterbi để đảm bảo chắc chắn quỹ đạo trích
xuất sẽ chứa vị trí bàn tay của cùng một bàn tay đã được nhận dạng trước đó. Những
kết quả thực tế cho thấy hệ thống có khả năng bám theo bàn tay ổn định.
1.4.4

Phương pháp trừ nền
Bàn tay được phát hiện bằng phương pháp trừ nền, sử dụng thuật toán

“codebook” của thư viện OpenCV.
Các điểm đầu mút được phát hiện bằng thuật toán “convex hull 2”, các điểm
lõm được phát hiện bằng thuật toán “convexity defect”.
Dựa vào số điểm lồi và lõm người ta sẽ biết được số ngón tay được đưa lên.

Hình 1.1: Hình minh họa kết quả thuật toán trừ nền

1.5

Ý nghĩa khoa học và thực tiễn của đề tài
Đưa ra một bản lý thuyết với các nội dung tìm hiểu, các phép tốn hình thái

trong xử lý ảnh và nhận dạng cử chỉ bàn tay của con người. Nhằm mục đích góp một
phần vào lĩnh vực ứng dụng của nhận dạng, cụ thể hơn ở đây là có thể ứng dụng vào

SVTH: NGUYỄN VĂN ĐẠT

Trang 3



LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

việc điều khiển di chuyển robot… Ứng với mỗi cử chỉ bàn tay thì robot sẽ xử lý tiến,
lùi, qua phải hay qua trái.

SVTH: NGUYỄN VĂN ĐẠT

Trang 4


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

Chương 2: CƠ SỞ LÝ THUYẾT
2.1

Giới thiệu về hệ thống xử lý ảnh
Xử lý ảnh là một lĩnh vực mang tính khoa học và cơng nghệ. Nó là một ngành

khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất
nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên
dụng riêng cho nó.
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm
nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác.
Đầu tiên phải kể đến xử lý tín hiệu số là một mơn học hết sức cơ bản cho xử lý tín hiệu
chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc
hữu hạn… Thứ hai, các công cụ tốn như đại số tuyến tính, xác suất thống kê. Một số

kiến thứ cần thiết như trí tuệ nhân tạo, mạng nơron nhân tạo cũng được đề cập trong
quá trình phân tích và nhận dạng ảnh.
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự
nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như camera, máy chụp ảnh).
Trước đây, ảnh thu qua camera là các ảnh tương tự (loại camera ống kiểu CCIR). Gần
đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ camera,
sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo (máy
ảnh số hiện nay là một thí dụ gần gũi).
Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng
máy quét ảnh.

Hình 2.1: Các bước cơ bản trong xử lý ảnh
SVTH: NGUYỄN VĂN ĐẠT

Trang 5


LUẬN VĂN TỐT NGHIỆP



GVHD: TRẦN HOÀN

Phần thu nhận ảnh (Image Acquisition):
Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua camera

là ảnh tương tự, cũng có loại camera đã số hoá. Camera thường dùng là loại qt dịng,
ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị
thu, vào môi trường (ánh sáng, phong cảnh…).



Tiền xử lý (Image Processing):
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền

xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ
tương phản để làm ảnh rõ hơn, nét hơn.


Phân đoạn (Segmentation) hay phân vùng ảnh:
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn

phân tích, nhận dạng ảnh.. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và
cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất
nhiều vào công đoạn này.


Biểu diễn ảnh (Image Representation):
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn)

cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành dạng
thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể
hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính
của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng
này với đối tượng khác trong phạm vi ảnh nhận được.


Nhận dạng và nội suy ảnh (Image Recognition and Interpretation):
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng

cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán

theo ý nghĩa trên cơ sở nhận dạng. Theo lý thuyết về nhận dạng, các mơ hình tốn học
về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
 Nhận dạng theo tham số
 Nhận dạng theo cấu trúc
SVTH: NGUYỄN VĂN ĐẠT

Trang 6


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN

Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong
khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận
dạng văn bản (text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…


Cơ sở tri thức (Knowledge Base):
Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối,

dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong nhiều
khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp tốn học đảm
bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh
theo cách của con người. Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo
các phương pháp trí tuệ con người.


Mô tả (biểu diễn ảnh):
Ảnh sau khi số hóa sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp


theo để phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thơ, địi hỏi dung lượng bộ nhớ
cực lớn và không hiệu quả theo quan điểm ứng dụng và cơng nghệ. Thơng thường, các
ảnh thơ đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của
ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng
ảnh (Region).
2.2

Những vấn đề cơ bản trong hệ thống xử lý ảnh

2.2.1 Điểm ảnh (Picture Element)
Gốc của ảnh (ảnh tự nhiên): là ảnh liên tục về không gian và độ sáng. Để xử lý
bằng máy tính (số), ảnh cần phải được số hóa. Số hóa ảnh là sự biến đổi gần đúng một
ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (khơng gian) và độ sáng
(mức xám). Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người
không phân biệt được ranh giới giữa chúng. Mỗi một điểm như vậy gọi là điểm ảnh
(PEL: Picture Element) hay gọi tắt là Pixel. Trong khuôn khổ ảnh hai chiều, mỗi pixel
ứng với cặp tọa độ (x, y).
Định nghĩa: Điểm ảnh (Pixel) là một phần tử của ảnh số tại tọa độ (x, y) với độ
xám hoặc màu nhất định. Kích thước và khoản cách giữa các điểm ảnh đó được chọn
thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc
SVTH: NGUYỄN VĂN ĐẠT

Trang 7


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HOÀN


màu) của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử
ảnh.
Một file ảnh là tập hợp nhiều điểm ảnh, thơng thường một hình ảnh được chia
thành các hàng và cột chứa điểm ảnh. Điểm ảnh là thành phần bé nhất biểu diễn ảnh,
có giá trị số biểu diễn màu sắc, độ sáng… của một thành phần trong bức ảnh.

Hình 2.2: Điểm ảnh (pixel - picture element)

2.2.2 Độ phân giải của ảnh
Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một
ảnh số được hiển thị. Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn
sao cho mắt người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích
hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x
và y trong không gian hai chiều.
2.2.3 Mức xám của ảnh
Một điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và độ
xám của nó. Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường dùng
trong xử lý ảnh.
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại
điểm đó. Các thang giá trị mức xám thông thường:16, 32, 64, 128, 256 (mức 256 là
SVTH: NGUYỄN VĂN ĐẠT

Trang 8


LUẬN VĂN TỐT NGHIỆP

GVHD: TRẦN HỒN

mức phổ dụng. Lí do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám:

Mức xám dùng 1 byte biểu diễn 2^8 = 256 mức (tức là từ 0 đến 255).

Hình 2.3: Minh họa mức xám sau khi mã hóa

Ảnh đen trắng: là ảnh có hai màu đen, trắng (khơng chứa màu khác) với mức
xám ở các điểm ảnh có thể khác nhau.
Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt, tức dùng 1bit mô tả 21
mức khác nhau. Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1.

Hình 2.4: Minh họa ảnh nhị phân sau khi mã hóa
SVTH: NGUYỄN VĂN ĐẠT

Trang 9


LUẬN VĂN TỐT NGHIỆP



GVHD: TRẦN HỒN

Khơng gian màu HSV (HSB): Khơng gian màu HSV (cịn gọi là HSB) là một
cách tự nhiên hơn để mô tả màu sắc, dựa trên 3 số liệu:
 H: (Hue) Vùng màu
 S: (Saturation) Độ bão hòa màu
 B (hay V): (Bright hay Value) Độ sáng

Hình 2.5: Khơng gian màu HSV




Ảnh màu RGB: trong khn khổ lý thuyết ba màu (Red, Blue, Green) để tạo
nên thế giới màu, người ta thường dùng 3 byte để mơ tả mức màu, khi đó các
giá trị màu là 28*3 = 224 = 16,7 triệu màu.

Hình 2.6: Khơng gian màu RGB

2.2.4 Định nghĩa ảnh số
SVTH: NGUYỄN VĂN ĐẠT

Trang 10


×