1.2.2 Nhận dạng dựa trên đặc trưng bàn tay 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
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG
- -
LUẬN VĂN TỐT NGHIỆP
ĐIỀU KHIỂN XE LĂN BẰNG CỬ CHỈ BÀN TAY
GVHD: TS HUỲNH THÁI HOÀNG SVTH: NGUYỄN ANH DŨNG
MSSV: 40800349 NGUYỄN VĂN DŨNG MSSV: 40800356
TP HỒ CHÍ MINH, THÁNG 12 NĂM 2012
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA
Thành phố Hồ Chí Minh _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Khoa Điện – Điện Tử
Bộ Môn: ĐIỀU KHIỂN TỰ ĐỘNG
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
HỌ VÀ TÊN:
1 NGUYỄN ANH DŨNG MSSV: 40800349 2 NGUYỄN VĂN DŨNG MSSV: 40800356 NGÀNH: ĐIỀU KHIỂN TỰ ĐỘNG LỚP: DD08KSTD 1 Đầu đề luận án: ĐIỀU KHIỂN XE LĂN BẰNG CỬ CHỈ BÀN TAY 2 Nhiệm vụ(yêu cầu về nội dung và số liệu ban đầu): ………
………
………
………
………
………
3 Ngày giao nhiệm vụ luận án:………
4 Ngày hoàn thành nhiệm vụ:………
5 Họ tên người hướng dẫn:………
6 Nội dung và yêu cầu LVTN đã được thông qua bộ môn Ngày…….tháng…….năm………
Chủ nhiệm bộ môn Giáo viên hướng dẫn (ký và ghi rõ họ tên) (ký và ghi rõ họ tên) PHẦN DÀNH CHO KHOA BỘ MÔN Người duyệt(chấm sơ bộ):………
Đơn vị:………
Ngày bảo vệ:………
Điểm tổng kết: ………
Nơi lưu trữ luận án:………
Trang 3*****
Ngày……tháng……năm 2102
PHIẾU CHẤM BẢO VỆ LUẬN VĂN TỐT NGHIỆP
(Dành cho người hướng dẫn)
1 HỌ VÀ TÊN:
NGUYỄN ANH DŨNG MSSV: 40800349 NGUYỄN VĂN DŨNG MSSV: 40800356 NGÀNH: ĐIỀU KHIỂN TỰ ĐỘNG LỚP: DD08KSTD 2 Đầu đề luận án: ĐIỀU KHIỂN XE LĂN BẰNG CỬ CHỈ BÀN TAY 3 Họ tên người hướng dẫn:………
4 Tổng quát về bản thuyết minh: Số trang: ………… Số chương: ………
Số bảng số liệu: ………… Số hình vẽ: ………
Số tài liệu tham khảo: ………… Phần mềm tính toán: ………
Hiện vật(sản phẩm): …………
5 Tổng quát về các bản vẽ: - Số bản vẽ: bản A1 bản A2 khổ khác - Số bản vẽ tay Số bản vẽ trên máy tính 6 Những ưu điểm chính của luận văn tốt nghiệp:………
………
………
………
7 Những thiếu sót chính của luận văn tốt nghiệp:………
………
………
………
8 Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không được bảo vệ 9 Câu hỏi sinh viên trả lời trước hội đồng: a) ………
………
b) ………
………
c) ………
………
10 Đánh giá chung(bằng chữ giỏi, khá, TB): Điểm /10
Ký tên(ghi rõ họ tên)
Trang 4*****
Ngày……tháng……năm 2102
PHIẾU CHẤM BẢO VỆ LUẬN VĂN TỐT NGHIỆP
(Dành cho người phản biện)
1 HỌ VÀ TÊN:
NGUYỄN ANH DŨNG MSSV: 40800349 NGUYỄN VĂN DŨNG MSSV: 40800356 NGÀNH: ĐIỀU KHIỂN TỰ ĐỘNG LỚP: DD08KSTD 2 Đầu đề luận án: ĐIỀU KHIỂN XE LĂN BẰNG CỬ CHỈ BÀN TAY 3 Họ tên người phản biện:………
4 Tổng quát về bản thuyết minh: Số trang: ………… Số chương: ………
Số bảng số liệu: ………… Số hình vẽ: ………
Số tài liệu tham khảo: ………… Phần mềm tính toán: ………
Hiện vật(sản phẩm): …………
5 Tổng quát về các bản vẽ: - Số bản vẽ: bản A1 bản A2 khổ khác - Số bản vẽ tay Số bản vẽ trên máy tính 6 Những ưu điểm chính của luận văn tốt nghiệp:………
………
………
………
7 Những thiếu sót chính của luận văn tốt nghiệp:………
………
………
………
8 Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không được bảo vệ 9 Câu hỏi sinh viên trả lời trước hội đồng: a) ………
………
b) ………
………
c) ………
………
10 Đánh giá chung(bằng chữ giỏi, khá, TB): Điểm /10
Ký tên(ghi rõ họ tên)
Trang 5………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 7LỜ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 Bách Khoa thành phố Hồ Chí Minh nói chung và quý thầy cô ở khoa Điện- Điện tử và bộ môn Tự Động nói riêng đã tận tình truyền đạt những kiến thức quý giá trong khoảng thời gian chúng em học đại học
Chúng em xin bày tỏ lòng biết ơn sâu sắc đối với thầy Huỳnh Thái Hoàng, người đã tận tình chỉ dạy cho chúng em phương pháp nghiên cứu khoa học, cung cấp rất nhiều kiến thức chuyên sâu để thực hiện đề tài Trong quá trình làm luận văn chúng em đã tiếp thu từ Thầy rất nhiều điều quý báu là hành trang cho chúng em bước vào công việc và cuộc sống sau này
Chúng em xin cảm ơn đến các thầy phòng thí nghiệm điều khiển tự động 300B B1: thầy Quốc, thầy Hoàng, thầy Nam; các anh chị cựu sinh viên đã giúp đỡ và tạo điều kiện cho chúng em hoàn thành luận văn này
Chú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 chúng
em để hoàn thiện và phát triển đề tài ngày một tốt hơn, đưa vào ứng dụng thực tiễn trong sản xuất
Chúng tôi xin chân thành cảm ơn các bạn lớp DD08KSTD đã giúp đỡ và góp ý trong suốt quá trình làm luận vă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
TPHCM, tháng 12 năm 2012 Sinh viện thực hiện
Nguyễn Anh Dũng
Nguyễn Văn Dũng
Trang 8Tóm tắt đề tài
Đề tài xuất phát từ mục tiêu phân tích các thành phần cấu tạo cũng như điều khiển xe lăn điện Trên cơ sở đó thiết kế thành công mô hình xe lăn dùng động cơ BLDC với tổng công suất 700W, bộ vi điều khiển trung tâm có độ ổn định cao
Đề tài thực hiện so sánh các phương án MOSFET Driver khác nhau và so sánh các phương pháp điều khiển động cơ BLDC, từ đó rút ra kết luận, áp dụng phương pháp tối ưu vào điều khiển động cơ BLDC cho xe lăn Đề tài cũng tích hợp cho toàn bộ phần nguồn của
hệ thống vi điều khiển và phần mạch công suất từ bộ nguồn Flyback converter Điều này cho phép chúng ta tiết kiệm năng lượng cho toàn hệ thống, tăng độ an toàn cho hệ thống vì các nguồn được cách ly hoàn toàn
Đề tài cũng kết hợp xử lý ảnh nhận dạng cử chỉ tay cho người dùng có nhiều lựa chọn hơn khi điều khiển xe lăn ngoài việc điều khiển bằng joystick Ngoài ra còn tích hợp thêm các cảm biến nhằm tăng độ chính xác cho việc điều khiển và bảo vệ người dùng tốt hơn
Vi điều khiển 32-bit LPC17xx của hãng NXP Semiconductors được chọn làm bộ vi điều khiển chính, ngoài ra còn dùng thêm vi điều khiển 8bit PIC 16F887 cho bộ driver điều khiển động cơ Cách làm này giúp phân cấp các khối, dễ điều khiển và có tính chuyên nghiệp cao
Trang 9Nội Dung Trang
Chương 1: GIỚI THIỆU 1
1.1 Giới thiệu về xe lăn điện 1
1.2 Tổng quan về các nghiên cứu liên quan 2
1.2.1 Nhận dạng bàn tay dựa vào màu sắc và hình dáng 2
1.2.2 Nhận dạng dựa trên đặc trưng bàn tay 2
1.2.3 Optical Flow 2
1.2.4 Phương pháp trừ nền 3
1.2.5 Mean Shift 3
1.3 Nhiệm vụ luận văn 4
1.4 Sơ lược về nội dung luận văn 6
Chương 2: CƠ SỞ LÝ THUYẾT 7
2.1 Giới thiệu về hệ thống xử lý ảnh 7
2.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh 10
2.2.1 Điểm ảnh (Picture Element) 10
2.2.2 Độ phân giải của ảnh 10
2.2.3 Mức xám của ảnh 10
2.2.4 Định nghĩa ảnh số 11
2.2.5 Quan hệ giữa các điểm ảnh 11
2.3 Vấn đề cải thiện chất lượng ảnh 12
2.3.1 Khái niệm về toán tử điểm 12
2.3.2 Cải thiện ảnh dùng toán tử không gian 13
2.4 Phân vùng ảnh 19
2.4.1 Phân vùng ảnh theo ngưỡng biên độ 19
2.4.2 Phân vùng ảnh theo miền đồng nhất 20
Trang 102.5.1 Khái niệm Integral Image 24
2.6 Khái niệm Boosting 26
2.6.1 Thuật toán học AdaBoost 27
2.7 Cascade of Classifier 31
2.8 Vài nét về động cơ BLDC 32
2.8.1 Giới thiệu về động cơ ba pha không chổi than(BLDC): 32
2.8.2Cấu tạo động cơ BLDC: 33
2.8.3 Nguyên tắc hoạt động của động cơ BLDC: 38
2.8.4 Mô hình toán động cơ BLDC: 39
2.8.5 So sánh động cơ BLDC với động cơ DC có chổi than 40
Chương 3:THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 42
3.1 Sơ đồ phần cứng các module trong luận văn 42
3.2 Sơ đồ mạch trên các module 43
3.2.1 Mạch master ARM LPC17xx điều khiển chính 43
3.2.2 Mạch điều khiển driver động cơ BLDC dùng pic 16F887 48
3.2.3 Mạch điều khiển dùng MC33035 49
3.2.4 Mạch cách ly dùng OPTO TLP250: 51
3.2.5 Module mạch động lực 75N75 53
3.2.6 Module mạch nguồn xung phục vụ cách ly: 54
Chương 4: XÂY DỰNG GIẢI THUẬT 58
4.1 Mô hình tổng quan 58
4.2 Lưu đồ giải thuật 59
4.2.1 Giải thuật quét ảnh nhận dạng cử chỉ tay 60
4.2.2 Lưu đồ PID trong điều khiển tốc độ và hướng đi của xe lăn: 70
4.2.3 Giải thuật đọc cảm biến 78
Chương 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 82
Trang 115.1.1 Kết quả mạch điều khiển và mạch công suất 82
5.1.2 Kết quả nhận dạng cử chỉ tay 85
5.2 Hạn chế và hướng khắc phục 87
5.2.1Hạn chế: 87
5.2.2 Hướng phát triển đề tài: 87
Tài liệu tham khảo ……… 89
Trang 12Hình 1.1 Mô hình xe lăn điện 1
Hình 1.2 Hình minh họa kết quả thuật toán trừ nền 3
Hình 1.1 Thuật toán Mean Shift 3
Hình 1.1 Theo dõi bàn tay sử dụng thuật toán Camshift 4
Hình 2.1 Các bước cơ bản trong xử lý ảnh 8
Hình 2.2 Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối 9
Hình 2.3 Lân cận các điểm ảnh của tọa độ(x,y) 11
Hình 2.4 Các toán tử gờ sai phân 17
Hình 2.5 Sơ đồ bộ lọc thông cao 17
Hình 2.6 Khái niệm 4 liên thông và 8 liên thông 21
Hình 2.7 Sóng Haar-like cơ bản 22
Hình 2.8 Tập các đặc trưng trong Haar-Like mở rộng 22
Hình 2.9 Đặc trưng Haar-like 23
Hình 2.10 “Integral Image” của hình chữ nhật thẳng đứng 24
Hình 2.11 “Integral Image” của hình chữ nhật xoay 25
Hình 2.12 Mật độ phân bố giá trị đặc trưng của 1 weak classifier 26
Hình 2.13 Quá trình Boosting 27
Hình 2.14 Cấu trúc của thuật toán học Adaboost 28
Hình 2.15 Quá trình xây dựng strong classifier của thuật toán học AdaBoost 29
Hình 2.16 Nhận dạng positive sub- window sử dụng classifier ghép cascade 31
Hình 2.17 Loại nhanh các ảnh nền sử dụng phân loại ghép cascade 32
Hình 2.18 Cấu động cơ ba pha không chổi than 33
Hình 2.19 Cấu tạo động cơ BLDC 33
Hình 2.20 Mặt cắt của BLDC 34
Hình 2.21 Cấu tạo stator của BLDC 34
Hình 2.22 Sóng phản điện hình sin 35
Hình 2.23 Sóng phản điện hình thang 35
Hình 2.24 Cấu tạo Rotor 36
Hình 2.25 Vị trí Hall Sensor 37
Hình 2.26 Nguyên lý hoạt động của BLDC 38
Trang 13Hình 3.1 Sơ đồ phần cứng các module trong mạch 42
Hình 3.2 Sơ đồ capture mạch master ARM LPC 1769 43
Hình 3.3 Sơ đồ khối của ARM Cortex M3 LPC17XX 44
Hình 3.4 Cảm biến siêu âm SRF05 45
Hình 3.5 Cảm biến la bàn CMPS03 46
Hình 3.6 Sơ đồ capture mạch PIC 16F887 48
Hình 3.7 Sơ đồ capture mạch IC MC33035 49
Hình 3.8 Sơ đồ cấu tạo IC MC33035 50
Hình 3.9 Tín hiệu đọc về từ Hall Sensor 51
Hình 3.10 Sơ đồ capture mạch cách ly 51
Hình 3.11 Sơ đồ capture mạch kích FET 52
Hình 3.12 Điện áp kích FET 52
Hình 3.13 Sơ đồ mạch động lực dùng FET 75N75 53
Hình 3.14 Sơ đồ đơn giản bộ biến đổi flyback 54
Hình 3.15 Mạch nguồn được dùng trong đề tài này 56
Hình 3.16 Mạch nguồn flyback thực tế 57
Hình 4.1 Mô hình tổng quan 58
Hình 4.2 Các module PIC 16F887 giao tiếp 59
Hình 4.3 Kích thước của sub-window có thể thay đổi nhờ hệ số tỉ lệ 60
Hình 4.4 Sơ đồ khối quá trình nhận dạng ảnh đưa vào từ camera 61
Hình 4.5 Các bộ phân loại ghép cascade được nối song song với nhau 62
Hình 4.6 Bàn tay dạng lõm hình chữ “C” 63
Hình 4.7 a) Bàn tay chụp dưới ánh sáng tự nhiên và b) bàn tay chụp dưới ánh sáng đèn huỳnh quang 64
Hình 4.8 Ảnh các bàn tay đã được cắt thành hình vuông 64
Hình 4.9 Hình bàn tay được cắt trong hình chữ nhật có kích thước 1:2 65
Hình 4.10 Một số ảnh nền được sử dụng trong huấn luyện 66
Hình 4.11 Giải thuật chống nhiễu 68
Hình 4.12 Lưu đồ giải thuật xử lý ảnh 69
Hình 4.13 Lưu đồ PID 70
Hình 4.14 Minh họa vận tốc tiến và xoay của xe lăn 71
Hình 4.15 Lưu đồ giải thuật trên ARM 72
Trang 14Hình 4.18 Lưu đồ giải thuật nhân 2 số xung encoder 74
Hình 4.19 Lưu đồ giải thuật PD trên ARM 75
Hình 4.20 Lưu đồ giải thuật PID trên PIC 77
Hình 4.21 Giải thuật đọc cảm biến siêu âm 79
Hình 4.22 Hình minh họa giản đồ xung đọc về từ cảm biến siêu âm 80
Hình 4.23 Giải thuật đọc la bàn điện tử 81
Hình 5.1 Mạch công suất 83
Hình 5.2 Mạch nguồn Flyback 83
Hình 5.3 Mô hình xe lăn đã hoàn thiện 84
Hình 5.4 Giao diện máy tính 85
Hình 5.5 Kết quả nhận dạng 87
Trang 15NỘI DUNG
Trang 16Chương 1:
GIỚI THIỆU
1.1 Giới thiệu về xe lăn điện
Trong thời gian trở lại đây, cuộc sống của những người kém may mắn về cơ thể ngày càng được quan tâm và nâng cao Trong đó không thể không kể đến tầm quan trọng của chiếc
xe lăn trong việc hỗ trợ người khuyết tật có thể di chuyển một cách dễ dàng hơn Thật vậy, chiếc xe lăn không chỉ góp phần tạo nên sự chủ động hơn trong cuộc sống cho bản thân người
sử dụng chúng mà còn giảm bớt gánh nặng cũng như nỗi lo lắng của thân nhân người khuyết tật
Hệ thống điều khiển bằng tay thông qua cần điều khiển đã được áp dụng khá lâu trong lĩnh vực khoa học kỹ thuật, đặc biệt đó xe lăn điện Bên cạnh đó, nhờ sự tiến bộ của khoa học
kỹ thuật, hàng loạt công nghệ nhận dạng cử chỉ và hành động của con người đã được phát minh, trong số đó, hệ thống nhận dạng mắt và giọng nói đã và đang được ứng dụng một cách rộng rãi Với ý tưởng ứng dụng công nghệ hiện đại vào đồ án nghiên cứu đồng thời nâng cao hiệu quả hoạt động của chiếc xe lăn điện, luận văn đã khai thác việc sử dụng hệ thống nhận dạng cử chỉ tay vào việc điều khiển xe lăn, kết hợp với việc điều khiển qua joystick bằng tay truyền thống nhằm tạo ra sản phẩm có thể giúp người sử dụng có thể dễ dàng điều khiển xe, từ
đó chủ động hơn trong việc di chuyển hằng ngày
Hình 1.1 Mô hình xe lăn điện
Trang 171.2 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 dựa vào dáng vẻ, 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.2.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 yê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 toán có thể kiểm soá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.2.2 Nhận dạng dựa trên đặc trưng bàn tay
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.2.3 Optical Flow
Optical flow là thuật toá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í
Trang 18bà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
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.2 Hình minh họa kết quả thuật toán trừ nền
1.2.5 Mean Shift
Thuật toán mean shift là một thủ tục lặp đơn giản, dịch điểm trọng tâm của vùng ảnh đang xét (ROI-region of interest) đến điểm trọng tâm của khối (ví dụ như trung bình của những điểm dữ liệu) Dữ liệu có thể là những đặc trưng nhìn thấy đựợc như là màu sắc hay hoa văn
Hình 1.3 Thuật toán Mean Shift
Trang 19Thuật toán sử dụng phân bố thống kê (statistical distribution) để mô tả đặc điểm đối tượng quan tâm Brakski đề xuất đổi tên thuật toán mean shift thành Continuously Adaptive Mean Shift (CamShift) - tạm dịch là mean shift thích nghi liên tục - mục đích ban đầu là tracking một cách có hiệu quả vùng đầu và khuôn mặt Thuật toán CamShift đi tìm điểm trung tâm và kích thước của đối tượng sử dụng xác suất xuất hiện của một yếu tố màu nào đó trong khung ảnh Yếu tố màu này được xác định phụ thuộc vào đối tượng đang xét, nếu là bàn tay thì yếu tố màu là màu sắc của da Xác xuất này được tạo thông qua một mô hình histogram của một màu đó Một cửa sổ tìm kiếm (search window) được di chuyển và thay đổi kích thước của nó, quét trên toàn bộ khung hình cho đến khi nào vùng tâm của nó trùng với vùng tâm của khối So với thuật toán mean shift thông thường sử dụng phân bố tĩnh (static distribution) - tức phân bố không được cập nhật về thông tin của đối tượng nếu đối tượng không có những thay đổi nghiêm trọng về kích thước, hình dáng, và màu sắc - thuật toán CamShift có thể theo dõi hiệu quả những phân bố xác suất thay đổi liên tục trong vùng ảnh quan sát Hình 1.4 cho thấy vài kết quả sử dụng thuật toán này theo dõi bàn tay Thuật toán CamShift có thể theo dõi rất nhanh dựa vào vào một vài đặc trưng của ảnh như là đốm màu Tuy nhiên thuật toán này gặp khó khăn trong việc phân biệt giữa những bàn tay khác nhau nhưng có cùng điểm trọng tâm khối
Hình 1.4 Theo dõi bàn tay sử dụng thuật toán Camshift
Có nhiều nghiên cứu về giải thuật nhận dạng bàn tay:
Nhận dạng bàn tay điều khiển robot di động- Nguyễn Văn Dũng (2005) dùng thuật toán Haar Features- AdaBoost nhưng có nhược điểm là chỉ nhận dạng được trên nền cố định
vì sử dụng thuật toán trừ nền
Điều khiển robot bằng cử chỉ bàn tay- Nguyễn Thịnh Định (2011) dùng Haar Features- AdaBoost nhận dạng tương đối ổn định nhưng có nhược điểm làm hơi bị nhiễu với ánh sáng mạnh, tốc độ xử lý còn chậm
Trang 20 Mô phỏng bàn tay sử dụng xử lý ảnh và đồ họa máy tính - Bùi Hoàng Nam (2011) dùng hai camera để xác định các khớp bàn tay nhưng dễ bị nhiễu môi trường, nhất là ánh sáng
Công ty Nhật Bản Omron đã ứng dụng công nghệ nhận dạng cử chỉ tay trên máy tính, vô tuyến truyền hình, máy ảnh số, điện thoại di động hay cả trên máy tính bảng, những thiết bị nhỏ nhẹ, cấu hình không cao
Sony vừa cho ra laptop Vaio E Series 14P, sản phẩm này có hỗ trợ nhận diện cử chỉ Người dùng có thể sử dụng camera để ra lệnh bằng cử chỉ đối với một số ứng dụng nhất định
Ví dụ như lướt tay sang trái, phải để chuyển giữa các trang web và hình ảnh trong thư viện hoặc đẩy tay xuống để dừng phát nhạc, slideshow, quay vòng tay để tăng, giảm âm lượng
Hãng Toyota vừa tung ra một chiếc ván trượt có gắn camera Kinect và máy tính bảng của Microsoft để mô tả một số công nghệ nhận diện cử chỉ tay Tốc độ của tấm ván được điều khiển bằng chuyển động của tay Khi người điều khiển di chuyển cánh tay xuống gần camera thì tốc độ tăng lên, và di chuyển ra xa thì tốc độ giảm dần Theo người đại diện Toyota cho biết, công nghệ này cũng có thể dùng để điều chỉnh âm lượng radio trong xe, giúp người lái vẫn tập trung nhìn đường
Điều khiển máy tính từ xa bằng cử động tay được nhận dạng bằng thiết bị Kinect
Điều khiển slide từ xa bằng cử chỉ tay được nhận diện bằng OpenCV
Trong luận văn chúng tôi dùng thuật toán AdaBoost- Haar Features vì thuật toán này xử
lý trên một vùng ảnh riêng biệt, hoạt động nhanh hơn đối với các thuật toán xử lý trên từng pixel, và đặc biệt là thuật toán này có thể chống lại sự thay đổi của môi trường và các tín hiệu nhiễu không mong muốn Để nhận dạng chính xác hơn chúng tôi chụp nhiều mẫu huấn luyện cho mỗi cử chỉ bàn tay ở nhiều điều kiện ánh sáng, khung cảnh khác nhau Thêm vào đó, tập ảnh negative cũng tương đối nhiều Chi tiết hơn về thuật toán sẽ được trình bày trong chương
2
1.3 Nhiệm vụ luận văn
Thiết kế xe lăn điều khiển bằng cử chỉ bàn tay thông qua xử lý ảnh hoặc có thể điều khiển bằng joystick
Sản phẩm phải đảm bảo tính ổn định cao, an toàn cho người dùng, điều khiển dễ dàng
Trang 21Tích hợp thêm các cảm biến đo góc, cảm biến phát hiện chướng ngại vật nhằm đảm bảo
an toàn cho người dùng
1.4 Sơ lược về nội dung luận văn
Nội dung luận văn gồm các chương sau:
Chương 1 Giới thiệu
Giới thiệu sơ lược về xe lăn điện ngày nay, các phương pháp điều khiển xe lăn điện, tổng quan về các công trình nghiên cứu và từ đó rút ra phương pháp nghiên cứu của đề tài
Cuối chương trình bày sơ lược nội dung luận văn
Chương 2 Cơ sở lý thuyết
Chương này trình bày một cách sơ lược về lý thuyết xử lý ảnh, các định nghĩa, các thuật ngữ của xử lý ảnh Chương này cũng giới thiệu sơ lược lý thuyết về phương pháp nhận dạng bàn tay được thực hiện trong đề tài Cuối chương trình bày lý thuyết về động cơ BLDC và các hàm toán của nó
Chương 3 Thiết kế và thi công phần cứng
Chương 3 đề cập đến phần cứng cho xe lăn, thiết kế các mạch tín hiệu, mạch công suất cũng như các phần cơ khí trên xe lăn Giới thiệu về các vi điều khiển, các cảm biến đã được dùng trong đề tài
Chương 4 Xây dựng giải thuật
Chương này nói đến giải thuật chương trình Các giải thuật nhận dạng xử lý ảnh, giải thuật PD đọc hướng về từ cảm biến cũng như PID tốc độ từ encoder và giải thuật lập trình cho các vi điều khiển master, slave và máy tính
Chương 5 Kết quả và hướng phát triển đề tài
Chương này trình bày các kết quả đã đạt được trong luận văn, ưu điểm và nhược điểm của đề tài, những hướng khắc phục để hoàn thiện và mở rộng luận văn
Trang 22Xử 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ụ toá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
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920 Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955 Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh số thuận lợi Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phương pháp tri thức nhân tạo như mạng nơron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan
Để 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)
Trang 23Mặ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 dưới đây mô tả các bước cơ bản trong xử lý ảnh
Hình 2.1 Các bước cơ bản trong xử lý ảnh
Sơ đồ này bao gồm các thành phần sau:
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 quét 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
Trang 24tin đị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 toá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
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 toá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)
Các mã phân chia thành các vùng con tạo thành một cây phân chia các vùng đồng nhất theo sơ đồ sau:
Trang 25Hình 2.2 Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối
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)
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 a) 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
đó
b) Các thang giá trị mức xám thông thường:16, 32, 64, 128, 256 (mức 256 là mức phổ dụng
Trang 26c) Ả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
d) Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit 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 e) Ảnh màu: trong khuôn 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
2.2.4 Định nghĩa ảnh số
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật
2.2.5 Quan hệ giữa các điểm ảnh
Một ảnh số giả sử được biểu diễn bằng hàm f(x,y) Tập con các điểm ảnh là S; cặp điểm ảnh có quan hệ với nhau ký hiệu là p, q Chúng ta nêu một số các khái niệm sau
a) Các lân cận của điểm ảnh (Image Neighbors)
Giả sử có điểm ảnh tại toạ độ (x,y) p có 4 điểm lân cận gần nhất theo chiều đứng và ngang (có thể coi như lân cận 4 hướng chính: Đông, Tây, Nam, Bắc)
{(x-1, y); (x, y-1); (x, y+1); (x+1, y)} = N4(p)
trong đó: số 1 là giá trị logic; N4(p) tập 4 điểm lân cận của p
Hình2.3 Lân cận các điểm ảnh của tọa độ(x,y)
Các lân cận chéo: Các điểm lân cận chéo Np(p) (Có thể coi lân cận chéo la 4 hướng: Đông-Nam, Đông-Bắc, Tây-Nam, Tây-Bắc)
Np(p) = {(x+1, y+1); (x+1, y-1); (x-1, y+1); (x-1, y-1)}
Tập kết hợp: N8(p) = N4(p) + Np(p) là tập hợp 8 lân cận của điểm ảnh p
Trang 27Chú ý: Nếu (x, y) nằm ở biên (mép) ảnh; một số điểm sẽ nằm ngoài ảnh
b) Đo khoảng cách giữa các điểm ảnh
Định nghĩa: Khoảng cách D(p,q) giữa hai điểm ảnh p toạ độ (x,y), q toạ độ (s,t) là hàm khoảng cách (Distance) hoặc Metric nếu:
D(p,q) ≥0 (Với D(p,q)=0 nếu và chỉ nếu p=q)
- Lọc nhiễu, hay làm trơn ảnh
- Tăng độ tương phản, điều chỉnh mức xám của ảnh
- Làm nổi biên ảnh
Các thuật toán triển khai việc nâng cao chất lượng ảnh hầu hết dựa trên các kỹ thuật trong miền điểm, không gian và tần số Toán tử điểm là phép biến đổi đối với từng điểm ảnh đang xét, không liên quan đến các điểm lân cận khác, trong khi đó, toán tử không gian sử dụng các điểm lân cận để quy chiếu tới điểm ảnh đang xét Một số phép biến đổi có tính toán phức tạp được chuyển sang miền tần số để thực hiện, kết quả cuối cùng được chuyển trở lại miền không gian nhờ các biến đổi ngược
2.3.1 Khái niệm về toán tử điểm
Xử lý điểm ảnh thực chất là biến đổi giá trị một điểm ảnh dựa vào giá trị của chính nó
mà không hề dựa vào các điểm ảnh khác Có hai cách tiệm cận với phương pháp này Cách
Trang 28thứ nhất dùng một hàm biến đổi thích hợp với mục đích hoặc yêu cầu đặt ra để biến đổi giá trị mức xám của điểm ảnh sang một giá trị mức xám khác Cách thứ hai là dùng lược đồ mức xám (Gray Histogram) Về mặt toán học, toán tử điểm là một ánh xạ từ giá trị cường độ ánh sáng u(m,n) tại toạ độ (m,n) sang giá tri cường độ ánh sáng khác v(m,n) thông qua hàm f(u), tức là:
Trong đó t = b = a gọi là phân ngưỡng
Biến đổi âm bản ( )f u L u
2.3.2 Cải thiện ảnh dùng toán tử không gian
Cải thiện ảnh là làm cho ảnh có chất lượng tốt hơn theo ý đồ sử dụng Thường là ảnh thu nhận có nhiễu cần phải loại bỏ nhiễu hay ảnh không sắc nét bị mờ hoặc cần làm rõ các chi tiết như đường biên ảnh Các toán tử không gian dùng trong kỹ thuật tăng cường ảnh được phân nhóm theo công dụng: làm trơn nhiễu, nổi biên Để làm trơn nhiễu hay tách nhiễu, người
ta sử dụng các bộ lọc tuyến tính (lọc trung bình, thông thấp) hay lọc phi tuyến (trung vị, giả trung vị, lọc đồng hình) Từ bản chất của nhiễu (thường tương ứng với tần số cao) và từ cơ sở
lý thuyết lọc là: bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua do đó, để lọc nhiễu người
ta thường dùng lọc thông thấp (theo quan điểm tần số không gian) hay lấy tổ hợp tuyến tính
để san bằng (lọc trung bình) Để làm nổi cạnh (ứng với tần số cao), người ta dùng các bộ lọc thông cao, lọc Laplace
Trang 29Trên thực tế tồn tại nhiều loại nhiễu; tuy nhiên người ta thường xem xét 3 loại nhiễu chính: nhiễu cộng, nhiễu nhân và nhiễu xung:
Nhiễu cộng thường phân bố khắp ảnh Nếu gọi ảnh quan sát (ảnh thu được) là Xqs, ảnh gốc là Xgốc, nhiễu là η, ảnh thu được có thể biểu diễn bởi:
Xqs = Xgốc + η
Nhiễu nhân thường phân bố khắp ảnh và ảnh thu được sẽ biểu diễn với công thức: Xqs = Xgốc* η
Nhiễu xung thường gây đột biến tại một số điểm ảnh
a) Làm trơn nhiễu bằng lọc tuyến tính: lọc trung bình và lọc dải thông thấp:
Do có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh nên cần có nhiều bộ lọc thích hợp Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc thông thấp, trung bình và lọc đồng hình (Homomorphie); với nhiễu xung ta dùng lọc trung vị, giả trung vị, lọc ngoài (Outlier)
b) Lọc trung bình không gian
Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận và được định nghĩa như sau:
với Nw là số điểm ảnh trong cửa sổ lọc W
Trong lọc trung bình, thường người ta ưu tiên cho các hướng để bảo vệ biên của ảnh khỏi bị mờ khi làm trơn ảnh Các kiểu mặt nạ được sử dụng tùy theo các trường hợp khác
Trang 30nhau Các bộ lọc trên là bộ lọc tuyến tính theo nghĩa là điểm ảnh ở tâm cửa số sẽ được thay bởi tổ hợp các điểm lân cận chập với mặt nạ
Một bộ lọc trung bình không gian khác cũng hay được sử dụng Phương trình của bộ lọc
Kỹ thuật lọc này hiệu quả với ảnh có nhiễu nhân Thực tế, ảnh quan sát được gồm ảnh
gốc nhân với một hệ số nhiễu Gọi X m n( , ) là ảnh thu được, X(m, n) là ảnh gốc và η(m, n) là
nhiễu, như vậy:
X(m, n) = X m n( , )* η(m, n) Lọc đồng hình thực hiện lấy logarit của ảnh quan sát Do vậy ta có kết quả sau:
log(X(m, n)) = log(X m n ) + log( η(m, n)) ( , )
Rõ ràng, nhiễu nhân có trong ảnh sẽ bị giảm Sau quá trình lọc tuyến tính, ta chuyển về ảnh cũ bằng phép biến đổi hàm e mũ
e) Làm trơn nhiễu bằng lọc phi tuyến
Các bộ lọc phi tuyến cũng hay được dùng trong kỹ thuật tăng cường ảnh Trong kỹ thuật này, người ta dùng bộ lọc trung vị, giả trung vị, lọc ngoài Với lọc trung vị, điểm ảnh đầu vào
sẽ được thay thế bởi trung vị các điểm ảnh còn lọc giả trung vị sẽ dùng trung bình cộng của 2 giá trị “trung vị” (trung bình cộng của max và min)
f) Lọc trung vị
Trung vị được viết với công thức:
V(m,n) = trungvi(y(m-k,n-l)) với {k,l} thuộc W
Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong cửa sổ phải xếp theo thứ tự tăng hay giảm dần so với giá trị trung vị Kích thước cửa số thường được chọn sao cho số điểm ảnh trong cửa số là lẻ Các cửa sổ hay dùng là cửa sổ có kích thước 3x3, hay 5x5 hay 7x7
Trang 31Tính chất của lọc trung vị:
Lọc trung vị là loại lọc phi tuyến Điều này dễ nhận thấy từ:
Trungvi(x(m)+y(m)) ≠ Trungvi(x(m)) + Trungvi(y(m))
Có lợi cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo toàn độ phân giải
Hiệu quả giảm khi số điểm trong cửa sổ lớn hay bằng một nửa số điểm trong cửa sổ Điều này dễ giải thích vì trung vị là (Nw+1)/2 giá trị lớn nhất nếu Nw lẻ Lọc trung vị cho trường hợp 2 chiều coi như lọc trung vị tách được theo từng chiều
g) Lọc ngoài (Outlier Filter)
Giả thiết có ngưỡng nào đó cho các mức nhiễu (có thể dựa vào lược đồ xám) Tiến hành
so sánh giá trị độ xám của một điểm ảnh với trung bình số học 8 lân cận của nó Nếu sai lệch lớn hơn ngưỡng, điểm ảnh này được coi như nhiễu Trong trường hợp đó, thay thế giá trị của điểm ảnh bằng giá trị trung bình 8 lân cận vừa tính được Bộ lọc ngoài có thể diễn tả bằng công thức sau:
với α(w) là trung bình cộng các điểm trong lân cận w; δ là ngưỡng ngoài
Các cửa sổ tính toán thường chọn là 3x3 Tuy nhiên, cửa sổ có thể mở rộng đến 5x5 hay 7x7 để đảm bảo tính tương quan giữa các điểm ảnh Vấn đề quan trọng là xác định ngưỡng để loại nhiễu mà vẫn không làm mất thông tin của ảnh
h) Mặt nạ gờ sai phân và làm nhẵn
Mặt nạ gờ sai phân dùng khá phổ biến trong công nghệ in ảnh để làm đẹp ảnh Với kỹ thuật này, tín hiệu đầu ra thu được bằng tín hiệu ra của bộ lọc gradient hay lọc dải cao bổ sung thêm đầu vào:
v(m,n) = u(m,n) + λg(m,n)
với λ>0, g(m, n) là gradient tại điểm (m,n) Hàm gradient dùng là hàm Laplace
G(m,n) = u(m,n) – {u(m-1,n) + u(m+1,n) + u(m,n+1)}/2
Đây chính là mặt nạ chữ thập
Trang 32Hình 2.4 Các toán tử gờ sai phân
i) Lọc thông thấp, thông cao và lọc dải thông
Toán tử trung bình không gian là lọc thông thấp Nếu h LP( , )m n biểu diễn bộ lọc thông
thấp FIR (Finite Impulse Response) thì bộ lọc thông cao h LP( , )m n có thể được định nghĩa:
( , )
LP
H m n = δ(m, n) - h LP( , )m n
Như vậy, bộ lọc thông cao có thể cài đặt một cách đơn giản như trên hình 2.5
Bộ lọc dải thông có thể định nghĩa như sau:
( , )
LP
H m n = h L1( , )m n – h L2( , )m n
với h và L1 h là các bộ lọc thông thấp L2
Hình 2.5 Sơ đồ bộ lọc thông cao
Bộ lọc thông thấp thường dùng làm trơn nhiễu và nội suy ảnh Bộ lọc thông cao dùng nhiều trong trích chọn biên và làm trơn ảnh, còn bộ lọc dải thông có hiệu quả làm nổi cạnh
Về biên sẽ được trình bày kỹ trong các phần sau Tuy nhiên, dễ nhận thấy, biên là điểm có độ biến thiên nhanh về giá trị mức xám theo quan điểm về tần số tín hiệu Như vậy, các điểm biên ứng với các thành phần tần số cao Từ đó, có thể dùng bộ lọc thông cao để cải thiện nhiễu: nghĩa là có thể lọc các thành phần tần số thấp và giữ lại các thành phần tần số cao Vì
Trang 33thế, lọc thông cao thường được dùng làm trơn biên trước khi tiến thành các thao tác với biên ảnh Dưới đây là một số mặt nạ dùng trong lọc thông cao:
Một số nhân chập trong lọc thông cao
Các nhân chập thông cao có đặc tính chung là tổng các hệ số của bộ lọc bằng 1 Nguyên nhân chính là ngăn cản sự tăng quá giới hạn của các giá trị mức xám (các giá trị điểm ảnh vẫn giữ được giá trị của nó một cách gần đúng không thay đổi quá nhiêu với giá trị thực)
j) Khuyếch đại và nội suy ảnh
Có nhiều ứng dụng cần thiết phải phóng đại một vùng của ảnh Có nghĩa là lấy một vùng của ảnh đã cho và cho hiện lên như một ảnh lớn Có 2 phương pháp được dùng là lặp (Replication) và nội suy tuyến tính (Linear Interpolation)
Phương pháp lặp
Người ta lấy một vùng của ảnh kích thước MxN và quét theo hàng Mỗi điểm ảnh nằm trên đường quét sẽ được lặp lại 1 lần và hàng quét cũng được lặp lại 1 lần nữa Như vậy, ta thu được ảnh với kích thước 2Nx2N Điều này tương đương với việc chèn thêm một hàng 0
và 1 cột 0 rồi chập với mạt nạ H Mặt nạ H
Phương pháp nội suy tuyến tính
Trang 34Giả sử có một ma trận điểm ảnh Theo phương pháp nội suy tuyến tính, trước tiên, hàng được đặt vào giữa các điểm ảnh theo hàng Tiếp sau, mỗi điểm ảnh dọc theo cột được nội suy theo đường thẳng Thí dụ, với mức độ khuyếch đại 2x2, nội suy tuyến tính theo hàng sẽ được tính theo công thức:
Vùng ảnh là một chi tiết, một thực thể trông toàn cảnh Nó là một tập hợp các điểm có cùng hoặc gần cùng một tính chất nào đó: mức xám, mức màu, độ nhám… Vùng ảnh là một trong hai thuộc tính của ảnh Nói đến vùng ảnh là nói đến tính chất bề mặt Đường bao quanh một vùng ảnh (Boundary) là biên ảnh Các điểm trong một vùng ảnh có độ biến thiên giá trị mức xám tương đối đồng đều hay tính kết cấu tương đồng
Dựa vào đặc tính vật lý của ảnh, người ta có nhiều kỹ thuật phân vùng: phân vùng dựa theo miền liên thông gọi là phân vùng dựa theo miền đồng nhất hay miền kề; phân vùng dựa vào biên gọi là phân vùng biên Ngoài ra còn có các kỹ thuật phân vùng khác dựa vào biên độ, phân vùng dựa theo kết cấu
2.4.1 Phân vùng ảnh theo ngưỡng biên độ
Các đặc tính đơn giản, cần thiết nhất của ảnh là biên độ và các tính chất vật lý như: độ tương phản, độ truyền sáng, màu sắc hoặc đáp ứng phổ Như vậy, có thể dùng ngưỡng biên độ
để phân vùng khi biên độ đủ lớn đặc trưng cho ảnh
Trang 352.4.2 Phân vùng ảnh theo miền đồng nhất
Kỹ thuật phân vùng ảnh thành các miền đồng nhất dựa vào các tính chất quan trọng nào
đó của miền ảnh Việc lựa chọn các tính chất của miền sẽ xác định tiêu chuẩn phân vùng Tính đồng nhất của một miền ảnh là điểm chủ yếu xác định tính hiệu quả của việc phân vùng Các tiêu chuẩn hay được dùng là sự thuần nhất về mức xám, màu sắc đối với ảnh màu, kết cấu sợi và chuyển động
Các phương pháp phân vùng ảnh theo miền đồng nhất thường áp dụng là:
Phương pháp tách cây tứ phân
Phương pháp cục bộ
Phương pháp tổng hợp
a) Phương pháp tách cây tứ phân
Về nguyên tắc, phương pháp này kiểm tra tính đúng đắn của tiêu chuẩn đề ra một cách tổng thể trên miền lớn của ảnh Nếu tiêu chuẩn được thỏa mãn, việc phân đoạn coi như kết thúc Trong trường hợp ngược lại, chia miền đang xét thành 4 miền nhỏ hơn Với mỗi miền nhỏ, áp dụng một cách đệ quy phương pháp trên cho đến khi tất cả các miền đều thỏa mãn điều kiện
b) Phương pháp cục bộ
Ý tưởng của phương pháp là xét ảnh từ các miền nhỏ nhất rồi nối chúng lại nếu thỏa mãn tiêu chuẩn để được một miền đồng nhất lớn hơn Tiếp tục với các miền thu được cho đến khi không thể nối thêm được nữa Số miền còn lại cho ta kết quả phân đoạn Như vậy, miền nhỏ nhất của bước xuất phát là điểm ảnh
Phương pháp này hoàn toàn ngược với phương pháp tách Song điều quan trọng ở đây
là nguyên lý nối 2 vùng Việc nối 2 vùng được thực hiện theo nguyên tắc sau:
Hai vùng phải đáp ứng tiêu chuẩn, thí dụ như cùng màu hay cùng mức xám
Hai vùng phải kế cận nhau
Khái niệm kế cận: trong xử lý ảnh, người ta dùng khái niệm liên thông để xác định tính chất kế cận Có hai khái niệm về liên thông là 4 liên thông và 8 liên thông Với 4 liên thông một điểm ảnh I(x,y) sẽ có 4 kế cận theo 2 hướng x và y; trong khi đó với 8 liên thông, điểm I(x,y) sẽ có 4 liên thông theo 2 hướng x, y và 4 liên thông khác theo hướng chéo 45 độ
Trang 36Hình 2.6 Khái niệm 4 liên thông và 8 liên thông
Dựa theo nguyên lý của phương pháp nối, ta có 2 thuật toán:
Thuật toán tô màu (Blob Coloring): sử dụng khái niệm 4 liên thông, dùng một cửa sổ
di chuyển trên ảnh để so sánh với tiêu chuẩn nối
Thuật toán đệ quy cục bộ: sử dụng phương pháp tìm kiếm trong một cây để làm tăng kích thước vùng
c) Phương pháp tổng hợp
Hai phương pháp nối (hợp) và tách đều có nhược điểm Phương pháp tách sẽ tạo nên một cấu trúc phân cấp và thiết lập mối quan hệ giữa các vùng Tuy nhiên, nó thực hiện việc chia quá chi tiết Phương pháp hợp cho phép làm giảm số miền liên thông xuống tối thiểu, nhưng cấu trúc hàng ngang dàn trải, không cho ta thấy rõ mối liên hệ giữa các miền
Vì nhược điểm này, người ta nghĩ đến phối hợp cả 2 phương pháp Trước tiên, dùng phương pháp tách để tạo nên cây tứ phân, phân đoạn theo hướng từ gốc đến lá Tiếp theo, tiến hành duyệt cây theo chiều ngược lại và hợp các vùng có cùng tiêu chuẩn Với phương pháp này ta thu được một cấu trúc ảnh với các miền liên thông có kích thước tối đa
2.5 Đặc trưng Haar-like
Viola-Jones đã xây dựng cách tiếp cận thống kê cho bài toán nhận dạng khuôn mặt để
có thể áp dụng cho rất nhiều dạng khuôn mặt khác nhau (những khuôn mặt có thể có râu, đeo kính, màu da khác nhau hoặc có thể được xoay theo nhiều hướng khác nhau) Trong cách tiếp cận của mình họ đã đưa ra khái niệm “Integral Image” dùng để tính tập gồm nhiều đặc trưng Haar-like, làm giảm thời gian tính toán đi rất nhiều Trong thuật toán này, một tập các ảnh
“positve”, tức tập ảnh chứa đối tượng cần nhận dạng, và tập các ảnh “negative”, tức tập ảnh không chứa đối tượng cần nhận dạng, được sử dụng cho quá trình huấn luyện Trong quá trình huấn luyện những đặc trưng Haar-like được chọn ra để phát hiện đối tượng cần nhận dạng trong ảnh Khi một bộ phân loại đã được huấn luyện bỏ qua đối tượng hoặc phát hiện nhầm
Trang 37đối tượng, những điều chỉnh có thể được thực hiện một cách dễ dàng bằng cách bổ sung thêm những đặc trưng Haar-like khác tốt hơn để khắc phục lại những mẫu bị phát hiện sai Thuật toán của Viola-Jones đạt được tốc độ nhận dạng nhanh hơn 15 lần so với thuật toán nhanh nhất lúc đó trong khi vẫn đạt được tỷ lệ nhận dạng tương đương với kết quả nhận dạng tốt nhất từng biết đến
Đặc trưng Haar-like đơn giản được tính toán tương tự như các hệ số trong biến đổi sóng Haar
Hình 2.7 Sóng Haar-like cơ bản
Mỗi đặc trưng Haar-like là một mẫu được nối bởi các hình chữ nhật màu đen và màu trắng Hình 2.8 là tập các đặc trưng Haar-like mở rộng do Lienhart đề xuất Tập đặc trưng này bao gồm 4 đặc trưng Edge features (đặc trưng dạng xung), 2 đặc trưng center –surround (đặc trưng dạng viền bao trung tâm), 1 đặc trưng Special diagonal (đặc trưng dạng đường chéo) và
8 đặc trưng Line (đặc trưng dạng đuờng thẳng)
Hình 2.8 Tập các đặc trưng trong Haar-Like mở rộng
Trang 38Có 3 lợi ích của việc sử dụng đặc trưng Haar-like so với sử dụng những pixel riêng rẽ:
Lợi ích lớn nhất của việc sử dụng những đặc trưng này là chúng chứa thông tin quan trọng của những vùng ảnh riêng biệt mà rất khó để học nếu làm việc với từng pixel khi chỉ có một lượng dữ liệu huấn luyện giới hạn Hay nói đơn giản chúng chứa những thông tin quan trọng trong 1 vùng ảnh gồm nhiều pixel Một ví dụ điển hình là vùng mắt của khuôn mặt người thì tối hơn vùng má, và một đặc trưng Haar -like có thể nắm bắt được điều này một cách hiệu quả
Thứ hai, một hệ thống xây dựng trên nền những đặc trưng cũng hoạt động nhanh hơn nhiều một hệ thống trên nền pixel
Lợi ích thứ ba là đặc trưng Haar-like rất hiệu quả trong việc chống lại sự thay đổi của ánh sáng và nhiễu của môi trường hơn những đặc tính ảnh dựa vào màu da Bởi vì đặc trưng Haar-like tập trung vào sự sai khác giữa những vùng hình chữ nhật màu đen và trắng bên trong một ảnh chứ không phải là từng pixel riêng rẽ Nhiễu và ánh sáng tác động lên giá trị pixel của tất cả các vùng ảnh và do đó có thể bị loại trừ hiệu quả qua việc tính vi sai
Giá trị của đặc trưng Haar-like là hiệu giữa tổng giá trị pixel trong vùng hình chữ nhật màu đen trừ đi tổng giá trị pixel trong vùng hình chữ nhật màu trắng
W (diện tích hcn đen) = W trang (diện tích hcn trắng)
Lấy ví dụ, cho đặc trưng Haar-like như trong hình 2.9(a), W den = 2.W trang Còn đối với đặc trưng trong hình 2.9(b) W den= 8.W trang
Hình 2.9 Đặc trưng Haar-like
Nếu ta cho Wtrắng=1 thì khi đó giá trị của đặc trưng Haar-like trong hình 2.9(a) sẽ là :
Trang 392.5.1 Khái niệm Integral Image
Viola và Jones đã đề xuất khái niệm “Integral Image” để tính toán nhanh giá trị của hình chữ nhật Haar-like dạng thẳng đứng Theo đó “Integral Image” tại vị trí P(x,y) chứa tổng số pixels bên trên và bên trái của điểm P(x,y)
' '
' ' ,
Hình 2.10 “Integral Image” của hình chữ nhật thẳng đứng
Theo khái niệm “Integral Image” tổng giá trị mức xám trong hình chữ nhật D được tính
SD = S(A+B+C+D) +SA - S(A + C ) - S( A + B ) = P4 + P1 - P3 – P2
Trong đó: Pi là giá trị pixel tại điểm i
Sử dụng khái niệm “Integral Image” giá trị của bất cứ hình chữ nhật nào cũng có thể tính bởi giá trị tại bốn đỉnh của nó Rõ ràng, hiệu hai hình chữ nhật có thể tính bởi tám đỉnh Nhưng đặc trưng Haar-like gồm hai hình chữ nhật có chung hai đỉnh nên giá trị đặc trưng chỉ tính bởi sáu điểm; tám điểm trong trường hợp ba hình chữ nhật và chín điểm cho đặc trưng bốn hình chữ nhật
Đối với đặc trưng Haar-like chứa hình chữ nhật xoay góc 45o, Lienhart đã đưa ra khái niệm “Rotated Summed Area Table (RSAT)” RSAT định nghĩa tổng pixel trong một hình chữ nhật xoay có một đỉnh ở tọa độ P(x,y) và mở rộng ra cho đến biên của ảnh được tính bởi:
Trang 40Hình 2.11 “Integral Image” của hình chữ nhật xoay
Theo định nghĩa RSAT giá trị pixels của hình chữ nhật xoay D được tính bởi bốn đỉnh của hình chữ nhật :
SD = R1 + R4 - R2 - R3
Rõ ràng có thể thấy với khái niệm “Integral Image” của Viola-Jones và cải tiến RSAT của Lienhart đã giúp cho việc tính toán các đặc trưng Haar-like hình chữ nhật là vô cùng nhanh chóng và giảm thiểu thời gian tính toán xuống rất nhiều vì chỉ tính toán phép cộng, trừ trên vài pixel cho mỗi đặc trưng
Để phát hiện đối tượng, một bộ phân loại (classifier) phải được huấn luyện chứa những đặc trưng phân biệt (chính là các đặc trưng Haar-like) trong một sub-window (cửa sổ con dùng
để quét tìm đối tượng trong ảnh) Vị trí và tỉ lệ khả dĩ của đặc trưng Haar-like trong một window có kích thước nền là vô cùng lớn, thậm chí lớn hơn số lượng điểm ảnh trong sub-window đó nhiều lần Theo tính toán của Viola-Jones có tới hơn 180000 đặc trưng Haar-like trong mỗi sub-window kích thước 24x24 (đơn vị pixel) Nhưng chỉ có một số lượng nhỏ những đặc trưng có khả năng nhận dạng được đối tượng một cách hiệu quả Để đảm bảo quá trình nhận dạng được nhanh chóng thuật toán học phải loại trừ một số lượng lớn những đặc trưng không hiệu quả và tập trung vào một số lượng nhỏ những đặc trưng quan trọng Thuật toán học AdaBoost có chức năng lựa chọn ra những đặc trưng tốt, gọi là weak classifier, và kết hợp tuyến tính chúng lại với nhau thành một strong classifier
sub-Dựa trên mỗi đặc trưng Haar-like fj, một bộ phân loại tương ứng hj được định nghĩa: