Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

64 894 1
Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 18/12/2013, 14:18

Hình ảnh liên quan

Hình 3: Những vị trí ngón tay khác nhau nhưng cho cùng kết quả. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.

Những vị trí ngón tay khác nhau nhưng cho cùng kết quả Xem tại trang 4 của tài liệu.
Hình 1.1: Lịch sử phát triển của OpenCV [13] - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 1.1.

Lịch sử phát triển của OpenCV [13] Xem tại trang 7 của tài liệu.
+ Xử lý hình ảnh và video như là: tạo, xóa, sửa, chuyển đổi, sao chép… +Lấy  hình  ảnh,  video  từ các thiết bị máy ảnh,  camera,  tập tin…  - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

l.

ý hình ảnh và video như là: tạo, xóa, sửa, chuyển đổi, sao chép… +Lấy hình ảnh, video từ các thiết bị máy ảnh, camera, tập tin… Xem tại trang 10 của tài liệu.
Hình 1.4: Cấu tạo của Kinect - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 1.4.

Cấu tạo của Kinect Xem tại trang 11 của tài liệu.
Hình 2.4: Các thông số của da sau quá trình học dữ liệu - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 2.4.

Các thông số của da sau quá trình học dữ liệu Xem tại trang 22 của tài liệu.
Các thông số trong hình 2.4 chính là ma trận các điểm ảnh có môi trường trung hòa với tất các môi trường đã học ở bước 1 - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

c.

thông số trong hình 2.4 chính là ma trận các điểm ảnh có môi trường trung hòa với tất các môi trường đã học ở bước 1 Xem tại trang 23 của tài liệu.
Hình 2.10: Hình ảnh bàn tay sau khi tính được trọng tâm - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 2.10.

Hình ảnh bàn tay sau khi tính được trọng tâm Xem tại trang 27 của tài liệu.
Hình 2.9: Công thức tính trọng tâm bàn tay với f(x,y) là ảnh đầu vào. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 2.9.

Công thức tính trọng tâm bàn tay với f(x,y) là ảnh đầu vào Xem tại trang 27 của tài liệu.
Hình 3.4: Kết quả của thuật toán Erosion - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.4.

Kết quả của thuật toán Erosion Xem tại trang 34 của tài liệu.
Hình 3.8: Phương thức cvFindCountour của OpenCV - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.8.

Phương thức cvFindCountour của OpenCV Xem tại trang 36 của tài liệu.
- CV_CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_ KCOS: - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

89.

_L1,CV_CHAIN_APPROX_TC89_ KCOS: Xem tại trang 37 của tài liệu.
Kết quả của việc sự dụng hàm cvConvexityDefects thể hiện trong hình 3.12: - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

t.

quả của việc sự dụng hàm cvConvexityDefects thể hiện trong hình 3.12: Xem tại trang 39 của tài liệu.
Hình 3.17: Kết quả sau khi tính toán khoảng cách trên bàn tay. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.17.

Kết quả sau khi tính toán khoảng cách trên bàn tay Xem tại trang 42 của tài liệu.
Hình 3.18: Kết quả nhận được sau khi xử lý trường hợp một ngón. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.18.

Kết quả nhận được sau khi xử lý trường hợp một ngón Xem tại trang 43 của tài liệu.
Hình 3.19: Giao diện chính của chương trình. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.19.

Giao diện chính của chương trình Xem tại trang 43 của tài liệu.
Hình 3.22: Chức năng thiết lập cổng COM. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.22.

Chức năng thiết lập cổng COM Xem tại trang 44 của tài liệu.
Hình 3.21: Chức năng thiết lập thông số. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.21.

Chức năng thiết lập thông số Xem tại trang 44 của tài liệu.
Hình 3.24: Chức năng hiện thị thông tin tác giả. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.24.

Chức năng hiện thị thông tin tác giả Xem tại trang 45 của tài liệu.
Hình 3.28: Sơ đồ giải thuật điều khiển - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.28.

Sơ đồ giải thuật điều khiển Xem tại trang 49 của tài liệu.
Hình 3.29: Mạch nối tắt và bộ điều khiển được nối với nhau. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 3.29.

Mạch nối tắt và bộ điều khiển được nối với nhau Xem tại trang 52 của tài liệu.
Bảng 3.1: Các trạng thái điều khiển Powerpoint. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Bảng 3.1.

Các trạng thái điều khiển Powerpoint Xem tại trang 53 của tài liệu.
Bảng 3.3: Các trạng thái điều khiển KM Player. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Bảng 3.3.

Các trạng thái điều khiển KM Player Xem tại trang 54 của tài liệu.
Hình 4.1: Hai thư viện OpenCV sau khi giải nén vào ổ đĩa C:\ - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 4.1.

Hai thư viện OpenCV sau khi giải nén vào ổ đĩa C:\ Xem tại trang 59 của tài liệu.
4.2: Chọn Advanced system settings - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

4.2.

Chọn Advanced system settings Xem tại trang 60 của tài liệu.
Hình 4.3: Chọn Environment Variables.... - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 4.3.

Chọn Environment Variables Xem tại trang 60 của tài liệu.
Hình 4.7: Thêm thư viện vào C/C++/Genaral - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 4.7.

Thêm thư viện vào C/C++/Genaral Xem tại trang 62 của tài liệu.
Hình 4.6: Chọn Properties của project. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 4.6.

Chọn Properties của project Xem tại trang 62 của tài liệu.
Hình 4.8: Thêm thư viện vào Linker/General. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 4.8.

Thêm thư viện vào Linker/General Xem tại trang 63 của tài liệu.
Bảng 4.1: Thư viện được thêm vào Command Line của Linker - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Bảng 4.1.

Thư viện được thêm vào Command Line của Linker Xem tại trang 64 của tài liệu.
Hình 4.9: Thêm thư viện vào Linker/Command Line. - Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học

Hình 4.9.

Thêm thư viện vào Linker/Command Line Xem tại trang 64 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan