ĐẠI HỌC QUỐC GIA TP. HCM TRƢỜNG ĐẠI HỌC BÁCH KHOA -------------------- TRẦN ANH ĐIỀN ĐIỀU KHIỂN MOUSE BẰNG HÌNH ẢNH DỰA TRÊN VẾT ĐỐI TƢỢNG Chuyên ngành : Khoa học máy tính Mã số: 60.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 5 năm 2012 CÔNG TRÌNH ĐƢỢC HOÀN THÀNH TẠI TRƢỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hƣớng dẫn khoa học : TS. Nguyễn Thanh Bình.
Cán bộ chấm nhận xét 1 : TS. Lê Ngọc Minh. Cán bộ chấm nhận xét 2 : TS. Phan Công Vinh.
Luận văn thạc sĩ đƣợc bảo vệ tại Trƣờng Đại học Bách Khoa, ĐHQG Tp. HCM ngày 14 tháng 06 năm 2012. Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1. Đinh Đức Anh Vũ - Chủ tịch Hội đồng 2.
Nguyễn Thanh Hiên – Thƣ ký Hội đồng 3. Lê Ngọc Minh - Cán bộ phản biện 1 4. Phan Công Vinh – Cán bộ phản biện 2 5. Phan Thanh Bình – Cán bộ hƣớng dẫn Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trƣởng Khoa quản lý chuyên ngành sau khi luận văn đã đƣợc sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG TRƢỞNG KHOA KH&KT MÁY TÍNH ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƢỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Trần Anh Điền. Ngày, tháng, năm sinh: 05/05/1983. Nơi sinh:Đồng Tháp. Chuyên ngành: Khoa học máy tính.
TÊN ĐỀ TÀI: Điều khiển mouse bằng hình ảnh dựa trên vết đối tƣợng. NHIỆM VỤ VÀ NỘI DUNG:. NGÀY GIAO NHIỆM VỤ : 29/07/2011. NGÀY HOÀN THÀNH NHIỆM VỤ: 02/12/2011.
CÁN BỘ HƢỚNG DẪN: TS. Nguyễn Thanh Bình. CÁN BỘ HƢỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) (Họ tên và chữ ký) TRƢỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH (Họ tên và chữ ký) i LỜI CẢM ƠN Tôi xin gửi lời cảm ơn chân thành và sâu sắc đến TS. Nguyễn Thanh Bình, đã tận tình hƣớng dẫn, giúp đỡ tôi trong suốt quá trình làm luận văn và tạo điều kiện để tôi có thể hoàn thành luận văn này.
Xin chân thành cảm ơn đến các quý Thầy Cô trong khoa Khoa học và Kỹ Thuật Máy Tính đã truyền đạt cho tôi những kiến thức quý báu trong suốt quá trình học tập tại trƣờng. Xin cảm ơn UBND tỉnh Đồng Tháp, Sở nội vụ Đồng Tháp và Trƣờng Cao Đẳng nghề Đồng Tháp đã tạo điều kiện cho tôi có cơ hội đƣợc học tập nâng cao trình độ của mình. Cuối cùng, tôi cảm ơn Cha, Mẹ tôi. Nhờ công lao dạy dỗ và sự động viên của Cha, Mẹ mà tôi mới có đƣợc thành quả nhƣ ngày hôm nay.
ii TÓM TẮT Đề tài luận văn thạc sĩ này trình bày cách tiếp cận mới về điều khiển mouse bằng cách sử dụng webcam. Hầu hết các giải pháp hiện có chỉ tập trung vào việc thay đổi thuật toán theo vết, thuật toán nhận dạng, thuật toán huấn luyện hoặc thay đổi phần cứng. Ở đây, chúng tôi đề xuất thay đổi cả thiết kế phần cứng và cải tiến giải thuật theo vết. Phƣơng pháp đề xuất của chúng tôi sử dụng hai webcam và sử dụng thuật toán Lucas Kanade cải tiến để theo dấu vết tay.
Cụ thể, một webcam đóng vai trò thu thập chuyển động theo hƣớng lên, xuống, trái, phải để hiện thực hóa di chuyển của con trỏ mouse, một webcam đóng vai trò thu thập di chuyển của tay theo hƣớng tiến về màn hình và tiến ra xa màn hình để hiện thực hóa sự kiện click mouse. Chính vì vậy, chúng tôi điều khiển các tác vụ của mouse nhƣ : di chuyển mouse, click mouse trái và click mouse phải từ xa. Kết quả của phƣơng pháp chúng tôi đề xuất tốt hơn các phƣơng pháp khác. iii LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong Luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác. Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã đƣợc cảm ơn và các thông tin trích dẫn trong Luận văn đã đƣợc chỉ rõ nguồn gốc. Ngày 5 tháng 5 năm 2012 Trần Anh Điền iv ABSTRACT This Master thesis presents a new approach for controlling mouse movement using a webcam. Most existing approaches involve changing tracking algorithms, recognition algorithms, training algorithms, or changing hardware.
Here, we propose to change both the hardware design and improved object tracking algorithm. The proposed method use two webcams and improve Lucas Kanade algorithm for hand tracking. Specifically, a webcam played the direction of movement such as up, down, left and right to realize the cursor to move the mouse, a webcam play the collection of hand movement in the direction on the screen and carried away from the screen to realize mouse click events. Therefore, we control the mouse actions such as mouse movement; mouse click left and right; mouse click distance.
The results of proposed method are better other methods. v MỤC LỤC NHIỆM VỤ LUẬN VĂN THẠC SĨ. iii CÁN BỘ HƢỚNG DẪN. iii CHỦ NHIỆM BỘ MÔN ĐÀO TẠO.
iii MỤC LỤC. v DANH MỤC HÌNH. viii DANH MỤC BẢNG. ix DANH MỤC BIỂU ĐỒ .2 Mục tiêu của đề tài .3 Nội dung đề tài .4 Giới hạn của đề tài .5 Cấu trúc luận văn .1 Theo vết đối tƣợng .2 Nguyên tắc theo vết đối tƣợng .3 Các phƣơng pháp theo vết thông thƣờng .2 Điều khiển mouse bằng tay .1 Học màu da .2 Phát hiện tay .3 Xác định vị trí của tay .3 Xác định trạng thái mouse .1 Di chuyển mouse .4 Các công trình liên quan.
27 GIẢI PHÁP THỰC HIỆN .1 Điều khiển mouse bằng hình ảnh .1 Thu tập hình ảnh đối tƣợng .2 Xác định trạng thái di chuyển của mouse .3 Xác định trạng thái mouse click .4 Giải pháp đề xuất .2 Giải pháp điều khiển mouse đề xuất .2 Sử dụng thuật toán Camshift để theo vết di chuyển của tay .3 Sử dụng thuật toán Lukas Kanade để theo vết di chuyển của tay .4 Sử dụng 2 camera đặt vuông góc để thu thập di chuyển và nhấn mouse .3 Thử nghiệm với hình ảnh. 42 KẾT QUẢ THỰC NGHIỆM .1 Phƣơng pháp thực nghiệm .2 Kết quả thực nghiệm .3 So sánh giải pháp đề xuất với một số giải pháp khác.1 Kết quả đạt đƣợc .2 Ƣu điểm và nhƣợc điểm .3 Đóng góp của đề tài .4 Hƣớng phát triển. 59 TÀI LIỆU THAM KHẢO. a BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT.
g LÝ LỊCH TRÍCH NGANG. h viii DANH MỤC HÌNH Hình 2.1 Optical Flow Lucas-Kanade theo một chiều.2 Việc lặp để tinh chỉnh giải pháp Optical Flow.3 Optical Flow hai chiều ở một pixel đơn.5 Hệ thống điều khiển mouse bằng tay .1 Minh họa điều khiển mouse bằng hình ảnh dựa vào theo vết đối 27 tƣợng.2 Lƣu đồ thuật toán thu thập hình ảnh dựa vào thƣ viện OpenCV.3 Lƣu đồ thuật toán xác định trạng thái di chuyển của mouse.4 Lƣu đồ thuật toán xác định trạng thái mouse click.5 Sơ đồ giải pháp hệ thống điều khiển mouse sử dụng 2 webcam.6 Sơ đồ thuật toán CamShift.7 Quá trình Pyramid……………………………………………… 34 Hình 3.8 Minh họa Pyramid ảnh .9 Lƣu đồ thuật toán đề xuất Lucas Kanade đề xuất .10 Minh họa sơ đồ bố trí 2 webcam đặt vuông góc nhau.a là tập các hình đầu vào để thao vết tay, 37 Hình 3.b là hình đầu ra sau khi áp dụng 38 Hình 3.16 thuật toán theo vết Pyramid Lucas Kanade.1 Minh họa Theo vết bằng thuật toán Lucas Kanade cải tiến…….2 Minh họa Theo vết bằng thuật toán Lucas Kanade…………….3 Minh họa Theo vết bằng thuật toán CamShift………………….4 Minh họa hoạt động di chuyển mouse của hệ thống…………….5 Minh họa hoạt động click mouse của hệ thống…………………. 55 ix DANH MỤC BẢNG Bảng 4.1 Tọa độ vị trí của điểm chọn trên bàn tay và tọa độ của điểm mà thuậ toán nhận dạng đƣợc trong 10 frame đầu………………… 43 Bảng 4.2 Tọa độ vị trí của điểm chọn trên bàn tay và tọa độ của điểm mà thuậ toán nhận dạng đƣợc trong 10 frame ngẫu nhiên………… 43 Bảng 4.3 Tọa độ vị trí của điểm chọn trên bàn tay và tọa độ của điểm với các giải thuật khác nhau trong 10 frame đầu…………………… 45 Bảng 4.4 Tọa độ vị trí của điểm chọn trên bàn tay và tọa độ của điểm với các giải thuật khác nhau trong các frame khác………………….5 Giá trị TDE của các giải thuật trong 10 frame đầu…………….6 Giá trị TDE của các giải thuật trong các frame tiếp theo……… 48 Bảng 4.7 Biểu diễn giá trị LT của các giải thuật với các frame khác nhau 51 x DANH MỤC BIỂU ĐỒ Biểu đồ 4.1 Minh họa di thực tế của ngón tay(Red Finger), di chuyển của tay khi theo vết bằng thuật toán Lucas kanade cải tiến theo hƣớng Pyramid, và Camshift………………………………….2 Minh họa TDE của các giải thuật cho 10 frame đầu……….3 Minh họa TDE của các giải thuật cho 10 frame bất kỳ……….4 LT của các giải thuật …………. 52 1 Chƣơng 1 GIỚI THIỆU 1.1 Giới thiệu Ngày nay cùng với sự phát triển của khoa học công nghệ, đặc biệt là công nghệ thông tin đã mang lại cho con ngƣời những lợi ích nhất định, và cũng đặt ra cho con ngƣời vô vàng những thách thức, mà vấn đề theo vết đối tƣợng theo thời gian thực là một trong những vấn đề đó.
Theo vết đối tƣợng theo thời gian thực là một công việc quan trọng đã và đang thu hút đƣợc nhiều sự quan tâm của cộng đồng nghiên cứu bởi nó có nhiều ứng dụng hữu ích trong lĩnh vực giải trí, truyền thông, thị giác máy tính và đa phƣơng tiện, chẳng hạn nhƣ ứng dụng trong xử lý và biên tập video số, trong nén video, trong các thƣ viện số, trong các hệ thống giám sát giao thông, hệ thống camera mouse,. Các hệ thống ―Camera Mouse‖ đƣợc phát triển để cung cấp truy cập máy tính cho ngƣời khuyết tật nặng, ngƣời bị bệnh bại não, công nhân đang làm việc trong các nhà máy, tay dơ bẩn không thể cầm mouse hay chạm vào màn hình cảm ứng để điều khiển máy tính. Do đó, vấn đề đặt ra hiện nay là cần có một hệ thống vận dụng kỹ thuật theo dõi đối tƣợng để theo dõi di chuyển của tay trong không gian, thông qua đó điều khiển mouse.2 Mục tiêu của đề tài Điều khiển mouse là thực hiện các thao tác di chuyển mouse, và các sự kiện click mouse nhƣ: click phải, click trái và double click.