Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
2,36 MB
Nội dung
1 PHẦN MỞ ĐẦU Lý chọn đề tài Xử lý ảnh ngành khoa học đem lại cho người bước tiến vượt bậc mang tính cách mạng, đưa người tiến sang kỉ nguyên Một vài năm trở lại công nghệ thông tin với phát triển kéo theo phát triển hàng loạt ngành khoa học nhiều lĩnh vực khác sinh học, kinh tế, viễn thông, quân sự, giải trí… có bước tiến nhanh so với quy trình mà đáng phải trải qua Với phát triển ngày hồn thiện cơng nghệ phần cứng, cơng nghệ phần mềm có bước tiến quan trọng đóng góp phần khơng nhỏ cho phát triển xã hội loài người đặc biệt lĩnh vực xử lý ảnh Nghành xử lý ảnh đồng hành trường đại học Lạc Hồng thi Robocon, góp phần thêm chiến thắng cho đội Robocon Lạc Hồng Nghành xử lý ảnh phát triển mong đợi với ứng dụng thực tế tất lĩnh vực như: ứng dụng xử lý ảnh vào giám sát giao thơng, điều khiển máy móc cơng nghiệp, ngăn chặn website cấm phương pháp phát màu da, máy chuẩn đoán bệnh y học, thẻ gửi xe thông minh, chơi game tương tác ….Tất xử lý ảnh Xử lý ảnh đời mục tiêu dành cho robot, với mong muốn robot làm giảm bớt công việc lao động chân tay cho người làm thay người cơng việc nguy hiểm Để thực điều đó, điều khiển robot từ xa yêu cầu địi hỏi độ xác cao Với mong muốn tìm hiểu nhiều nghành xử lý ảnh mong muốn đóng góp thêm phương pháp điều khiển robot cho nghành xử lý ảnh Nhóm em mạnh dạn đề xuất đề tài: “Điều khiển robot phương pháp xác định số lượng ngón tay” 2 Lịch sử nghiên cứu 2.1 Trên giới Trong q trình nghiên cứu nhóm em tham khảo vài chương trình demo tham khảo số báo nước Bài báo “A fast algorithm for vision-based hand gesture recognition for robot control ”(Asanterabi Malima, Erol Özgür, and Müjdat Çetin Faculty of Engineering and Natural Sciences, Sabancı University, Tuzla, İstanbul, Turkey) nêu phương pháp đếm số lượng ngón tay phương pháp nhận dạng màu da Phương pháp đưa cách nhận dạng ngón tay xác mơi trường lý tưởng phải trải qua giai đoạn học liệu Nhược điểm phương pháp phụ thuộc nhiều vào môi trường ánh sáng Một CSDL học mơi trường thực nghiệm có độ chênh lệch lớn kết số lượng ngón tay khơng xác Bài báo “Robust Hand Gesture Recognition with Kinect Sensor” báo “Zhou Ren Jingjing Meng Junsong Yua, Nanyang Technological University, 50 Nanyang Avenue, Singapore 639798” đưa phương pháp nhận dạng cử bàn tay Kinect Sensor Nhóm tác giả xử lý tốt việc nhận dạng bàn tay cử đếm số lượng ngón tay, mức độ xác cịn chưa cao Đề tài nhóm tác giả nghiên cứu chưa ứng dụng thực tế Bài báo “Hand gesture recognition using Kinect Heng Du, TszHang To”, nêu phương pháp nhận dạng bàn tay Kinect Sensor Tổng thể quy trình cơng việc sau: Hình 1: Tổng thể quy trình cơng việc Hình 2: Năm bước trích xuất bàn tay Đã có đề tài liên quan tới xử lý ảnh, đề tài điều khiển ứng dụng window, điều khiển robot phương pháp nhận dạng cử bàn tay….Đa số phương pháp nhận dạng màu da, chưa có đề tài điều khiển robot phương pháp nhận dạng số lượng ngón tay Kinect Sensor 2.2 Trong nước Cũng có số đề tài nhận dạng khuôn mặt dùng mạng nơron Chưa có đề tài nghiên cứu đếm số lượng ngón tay ứng dụng vào việc điều khiển robot 2.3 Trong trường đại học Lạc Hồng Cùng với phát triển nghành xử lý ảnh, trường đại học Lạc Hồng có đề tài có tính áp dụng thực tế: đề tài phát biển số xe, xác định vật cản dành cho người mù, đề tài điều khiển chuột….Nhưng đề tài “Điều khiển robot phương pháp số lượng ngón tay” chưa thực trường Đại học Lạc Hồng Hi vọng đề tài góp phần mẻ vào lịch sử nghiên cứu cho xử lý ảnh trường Mục tiêu nghiên cứu Đề tài thực với mục tiêu xây dựng chương trình cho phép điều khiển di chuyển robot phương pháp đếm số lượng ngón tay theo thị sau: + Một ngón tay: Robot tiến + Hai ngón tay: Robot lùi + Ba ngón tay: Robot rẽ trái + Bốn ngón tay: Robot rẽ phải + Năm ngón tay: Robot dừng + Ngồi cịn có tín hiệu mở ngưng truyền tín hiệu (ngừng phát sóng) Điều khiển robot qua tâm tới số lượng ngón tay mà khơng cần qua tâm tới vị trí ngón tay: (a) Hai ngón tay (b) Ba ngón tay (c) Bốn ngón tay Hình 3: Những vị trí ngón tay khác cho kết Đối tượng phạm vi nghiên cứu + Đối tượng nghiên cứu: Phương pháp đếm số lượng ngón tay, phương pháp điều khiển robot, thư viện OpenCV, CL NUI Platform, thiết bị Kinect Sensor, giao tiếp cổng RS232 điều khiển Robot sóng RF + Phạm vi nghiên cứu: điều khiển robot phương pháp đếm số lượng ngón tay Phương pháp nghiên cứu + Tìm hiều phương pháp điều khiển robot nước, đưa ưu nhược điểm phương pháp + Tìm hiều kỹ đặc trưng thông số màu da người + Nghiên cứu phương pháp nhận dạng bàn tay + Tham khảo báo nghiên cứu điều khiển vật thể phương pháp nhận dạng cử bàn tay + Phát triển tính ứng dụng bật chương trình + Tham khảo đề tài thực Kinect Những đóng góp đề tài vấn đề mà đề tài chưa làm + Đề tài xây dựng thành công phương pháp điều khiển robot nhận dạng số lượng ngón tay, góp thêm phương pháp điều khiển robot cho việc điều khiển robocon Lạc Hồng cho ngành xử lý ảnh + Ngoài đề tài xây dựng thêm ứng dụng mở rộng vấn đề điều khiển: điều khiển Powerpoint số lượng ngón tay, điều khiển chương trình nghe nhạc Window Media Player chương trình KM Player số lượng ngón tay + Qua q trình thực nghiệm chương trình nhận dạng bàn tay xác đếm số lượng ngón tay khoảng 98% mơi trường + Vấn đề mà nhóm chưa thực kết hợp số lượng ngón tay với cử khác bàn tay để điều khiển chương trình, máy móc phức tạp Kết cấu đề tài Luận văn chia thành phần: Phần mở đầu, phần nội dung phần kết luận Phần mở đầu: Nêu lý chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu đóng góp đề tài Bên cạnh mặt hạn chế mà đề tài chưa thực để giúp người có nhìn rõ Phần nội dung: Gồm chương Chương 1: Giới thiệu tổng quan Giới thiệu tổng quan lịch sử, cấu trúc thư viện mã nguồn mở OpenCV Giới thiệu đặc điểm, cấu tạo, cách thức sử dụng Camera Kinect Giới thiệu thư viện CL-NUI Platform Giới thiệu ứng dụng OpenCV, Kinect vào thực tế Giới thiệu cổng RS232, sóng RF Chương 2: Đếm số lượng ngón tay phương pháp phát màu da Trong chương chương trình trình bày đặc trưng màu da, phương pháp phát bàn tay, tách bàn tay khỏi ảnh, đếm số lượng ngón tay phương pháp phát màu da Đếm số lượng ngón tay sử dụng camera Kinect xử lý ảnh độ sâu Chương 3: Xây dựng chương trình Nêu thuật tốn, bước thực chương trình Nêu cách xây dựng chương trình chức mà chương trình hỗ trợ Các ứng dụng mở rộng thực ứng dụng mở rộng chương trình Phần kết luận: Đánh giá chương trình Đưa kết luận hướng phát triển chương trình xây dựng CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1.1 Thư viện mã nguồn mở OpenCV OpenCV (Open Source Computer Vision) mã nguồn mở Intel viết cho ngành xử lý ảnh OpenCV gồm hàm xây dựng cho việc xử lý thị giác máy thời gian thực (Real time computer vision) Các thuật tốn xử lý ảnh thơng thường lẫn cao cấp tối ưu hóa nhà phát triển thư viện thành hàm đơn giản cho người dùng dễ dàng sử dụng OpenCV chạy tảng Linux, Windows, Mac OS X hỗ trợ nhiều ngôn ngữ C/C++, Python, Ruby, Java Ngồi Intel cịn cung cấp thêm thư viện Intel’s Intergrated Performance Primitives (IPP) nhằm mục đích tự động tối ưu kiến trúc Intel Tuy nhiên thư viện thương mại Intel Thư viện OpenCV có 500 hàm chia thành nhiều lĩnh vực an ninh, y tế, robot, xử lý ảnh,… 1.1.1 Lịch sử phát triển OpenCV Lịch sử phát triển OpenCV biểu qua sơ đồ sau: Hình 1.1: Lịch sử phát triển OpenCV [13] OpenCV đời sáng kiến nghiên cứu Intel nhằm mục đích đẩy mạnh ứng dụng xử lý ảnh chuyên sâu Hướng tới mục tiêu này, Intel đưa nhiều dự án bao gồm xử lý ảnh theo thời gian thực, ứng dụng xử lý hiển thị ảnh 3D OpenCV bao gồm hàm viết sẵn người lập trình thay phải xây dựng lại chức dùng hàm có sẵn OpenCV 1.1.2 Kiến trúc OpenCV OpenCV có cấu trúc gồm thành phần chính, thành phần số thể hình 1.2 Thành phần CV bao gồm: + Xử lý ảnh + Phân tích cấu trúc + Phân tích theo dõi chuyển động đối tượng + Nhận dạng mẫu vật + Hiểu chỉnh máy quay xây dựng hình ảnh 3D Thành phần ML(Machine Learning) bao gồm: + Normal Bayes Classifier + K Nearest Neighbors + Support Vector Machines + Decision Trees + Boosting + Random Trees + Expectation-Maximization + Neural Networks Thành phần HighGUI bao gồm: + Giao diện GUI + Tải lưu hình ảnh + Chức nhập xuất video + Các tiện ích chức hệ thống Thành phần CXCore bao gồm: + Các cấu trúc liệu + Các thao tác mảng + Cấu trúc liệu động + Chức vẽ + Lưu trữ tập tin, đọc, ghi liệu + Xử lý lỗi chức hệ thống + Các chức khác Thành phần CvAux bao gồm thuật toán ngừng phát triển thử nghiệm CvAux bao gồm: + Stereo Correspondence Functions + View Morphing Functions + 3D Tracking Functions + Eigen Objects (PCA) Functions + Embedded Hidden Markov Model Functions Hình 1.2: Kiến trúc OpenCV 10 1.1.3 Các ứng dụng OpenCV Sự đời thư viện mã nguồn mở OpenCV tiết kiệm thời gian cho lập trình viên với 500 phương thức lập trình sẵn về: + Xử lý hình ảnh video là: tạo, xóa, sửa, chuyển đổi, chép… + Lấy hình ảnh, video từ thiết bị máy ảnh, camera, tập tin… + Theo dõi đối tượng Dựa thư viện mã nguồn mở OpenCV xây dựng nhiều ứng dụng vào thực tế đa dạng lĩnh vực: y tế, giáo dục, quốc phịng + Nhận dạng khn mặt + Nhận dạng vân tay + Nhận dạng biển số xe + Phát hình ảnh cụ thể + Hiệu chỉnh hình ảnh + Phát đối tượng Thư viện mã nguồn mở OpenCV lập trình nhiều hệ điều hành khác cho nhiều ngôn ngữ khác nhau: Window, Linux, Android… Các ngôn ngữ như: C/C++, Java, C#,… 1.2 Thiết bị Kinect Sensor 1.2.1 Giới thiệu thiết bị Kinect Sensor Hình 1.3: Thiết bị Kinect ... trí ngón tay: (a) Hai ngón tay (b) Ba ngón tay (c) Bốn ngón tay Hình 3: Những vị trí ngón tay khác cho kết Đối tượng phạm vi nghiên cứu + Đối tượng nghiên cứu: Phương pháp đếm số lượng ngón tay, ... đếm số lượng ngón tay Phương pháp nghiên cứu + Tìm hiều phương pháp điều khiển robot nước, đưa ưu nhược điểm phương pháp + Tìm hiều kỹ đặc trưng thông số màu da người + Nghiên cứu phương pháp. .. tiêu nghiên cứu Đề tài thực với mục tiêu xây dựng chương trình cho phép điều khiển di chuyển robot phương pháp đếm số lượng ngón tay theo thị sau: + Một ngón tay: Robot tiến 4 + Hai ngón tay: Robot