Đăng ký Đăng nhập
Trang chủ Nhận dạng cử chỉ tay trong giao tiếp người máy và ứng dụng hỗ trợ chọn trang p...

Tài liệu Nhận dạng cử chỉ tay trong giao tiếp người máy và ứng dụng hỗ trợ chọn trang phục

.PDF
69
25
146

Mô tả:

ii MỤC LỤC LỜI CAM ĐOAN ................................................................................................................. i MỤC LỤC ............................................................................................................................ ii DANH MỤC CÁC TỪ VIẾT TẮT .................................................................................... v DANH MỤC CÁC BẢNG................................................................................................. vii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ.......................................................................... viii MỞ ĐẦU............................................................................................................................... 1 1. Lý do chọn đề tài.............................................................................................................. 1 2. Mục đích và nhiệm vụ nghiên cứu ................................................................................. 1 2.1. Mục đích nghiên cứu ............................................................................................. 1 2.2. Nhiệm vụ nghiên cứu ............................................................................................. 1 3. Đối tượng và phạm vi nghiên cứu .................................................................................. 2 3.1. Đối tượng nghiên cứu ............................................................................................ 2 3.2. Phạm vi nghiên cứu ............................................................................................... 2 4. Phương pháp nghiên cứu ................................................................................................ 2 4.1. Phương pháp lý thuyết ........................................................................................... 2 4.2. Phương pháp thực nghiệm .................................................................................... 2 5. Giải pháp đề xuất............................................................................................................. 2 6. Ý nghĩa khoa học và thực tiễn của đề tài....................................................................... 3 6.1. Ý nghĩa khoa học của đề tài................................................................................... 3 6.2. Ý nghĩa thực tiễn của đề tài ................................................................................... 3 7. Kết quả dự kiến................................................................................................................ 3 8. Cấu trúc luận văn ............................................................................................................ 4 CHƯƠNG 1 - TỔNG QUAN VỀ NHẬN DẠNG CỬ CHỈ TAY TRONG GIAO TIẾP NGƯỜI - MÁY .................................................................................................................... 5 1.1. NHẬN DẠNG CỬ CHỈ TAY TRONG GIAO TIẾP NGƯỜI-MÁY ....................... 5 1.2. MÔ HÌNH BÀN TAY NGƯỜI .................................................................................... 6 1.3. PHÂN LOẠI CỬ CHỈ TAY......................................................................................... 7 1.3.1. Cử chỉ tay tĩnh ..................................................................................................... 7 1.3.2. Cử chỉ tay động.................................................................................................... 8 1.4. TIẾN TRÌNH NHẬN DẠNG CỬ CHỈ TAY.............................................................. 8 1.4.1. Sơ đồ khối của hệ thống nhận dạng cử chỉ tay ................................................. 8 1.4.2. Dữ liệu vào........................................................................................................... 9 iii 1.4.3. Tiền xử lý ............................................................................................................. 9 1.4.4. Trích chọn đặc trưng ........................................................................................ 13 1.4.5. Nhận dạng ......................................................................................................... 13 1.5. NHỮNG THÁCH THỨC TRONG NHẬN DẠNG CỬ CHỈ TAY ........................ 14 1.5.1. Bài toán có quá nhiều chiều ............................................................................. 14 1.5.2. Hiện tượng bị che khuất ................................................................................... 14 1.5.3. Môi trường không kiểm soát............................................................................. 14 1.5.4. Chuyển động nhanh của bàn tay ...................................................................... 14 1.5.5. Nhận diện thời điểm bắt đầu và kết thúc ở một cử chỉ .................................... 15 1.5.6. Lựa chọn đặc trưng phù hợp ............................................................................ 15 1.5.7. Tốc độ xử lý và tính chính xác trong nhận dạng ............................................. 15 1.6. MỘT SỐ ỨNG DỤNG DỰA TRÊN NHẬN DẠNG CỬ CHỈ TAY....................... 15 1.6.1. Ứng dụng trong thực tế ảo ................................................................................ 15 1.6.2. Ứng dụng trong điều khiển robot ..................................................................... 16 1.6.3. Điều khiển máy tính .......................................................................................... 16 1.6.4. Ứng dụng trong y học ....................................................................................... 17 1.6.5. Ứng dụng trong lĩnh vực giải trí....................................................................... 17 1.6.6. Ứng dụng trong ngôn ngữ ký hiệu ................................................................... 18 CHƯƠNG 2 - MỘT SỐ KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG VÀ NHẬN DẠNG CỬ CHỈ TAY ..................................................................................................................... 19 2.1. MỘT SỐ KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG CỬ CHỈ TAY .................. 19 2.1.1. Kỹ thuật phân tích thành phần chính - PCA ................................................... 19 2.1.2. Kỹ thuật HOG .................................................................................................... 20 2.1.3. Kỹ thuật trích đặc trưng cục bộ bất biến - SIFT.............................................. 21 2.1.4. Kỹ thuật Haar-Like ........................................................................................... 23 2.1.5. Kỹ thuật GIST.................................................................................................... 24 2.1.6. Kỹ thuật trích xương ảnh của bàn tay (Skeleton of the Hand) ....................... 25 2.2. MỘT SỐ KỸ THUẬT NHẬN DẠNG CỬ CHỈ TAY ............................................. 27 2.2.1. Kỹ thuật K-láng giềng gần nhất ....................................................................... 27 2.2.2. Kỹ thuật sử dụng mạng nơ-ron nhân tạo - ANN ............................................. 28 2.2.3. Kỹ thuật sử dụng máy vectơ hỗ trợ - SVM ....................................................... 31 2.2.4. Sử dụng mô hình Markov ẩn - HMM .............................................................. 33 CHƯƠNG 3 – XÂY DỰNG HỆ THỐNG NHẬN DẠNG CỬ CHỈ TAY ỨNG DỤNG HỖ TRỢ CHỌN TRANG PHỤC..................................................................................... 36 3.1. MÔ TẢ BÀI TOÁN .................................................................................................... 36 iv 3.2. GIẢI PHÁP ĐỀ XUẤT CỦA HỆ THỐNG .............................................................. 37 3.2.1. Sơ đồ hoạt động của hệ thống .......................................................................... 37 3.2.2. Tiến trình nhận dạng cử chỉ tay của hệ thống ................................................ 37 3.2.3. Phát hiện bàn tay............................................................................................... 37 3.2.4. Tiền xử lý ........................................................................................................... 38 3.2.5. Trích chọn đặc trưng ........................................................................................ 39 3.2.6. Huấn luyện và nhận dạng cử chỉ tay ............................................................... 40 3.3. XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG ........................................................ 40 3.3.1. Tổng quan về chương trình .............................................................................. 40 3.3.2. Xây dựng CSDL hình ảnh trang phục ............................................................. 41 3.3.3. Thuật toán ......................................................................................................... 41 3.3.4. Chương trình ..................................................................................................... 42 3.3.5. Thực nghiệm...................................................................................................... 45 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 46 TÀI LIỆU THAM KHẢO................................................................................................. 47 v NHẬN DẠNG CỬ CHỈ TAY TRONG GIAO TIẾP NGƯỜI – MÁY VÀ ỨNG DỤNG HỖ TRỢ CHỌN TRANG PHỤC Học viên: Nguyễn Thị Thương Chuyên ngành: Khoa học máy tính Mã số: 102150318 Trường Đại học Bách khoa–ĐHĐN Khóa: 31 Tóm tắt – Kỹ thuật phát hiện và nhận dạng các cử chỉ tay của con người là cách tự nhiên để giao tiếp người-máy. Trong luận văn này, tôi đã xây dựng thành công chương trình nhận dạng cử chỉ tay ứng dụng hỗ trợ chọn trang phục cho người dùng thông qua thiết bị Kinect. Người thực hiện cử chỉ tay sẽ đứng trước camera và hệ thống sẽ nhận dạng cử chỉ đó là cử chỉ gì. Ảnh đầu vào sẽ được tiền xử lý; tiếp theo tiến hành trích chọn đặc trưng từ dữ liệu khung xương thu thập được từ camera Kinect; sau đó, bộ dữ liệu sẽ được đem đi huấn luyện bằng mô hình máy học vectơ hỗ trợ (SVM). Tập cử chỉ tay dùng trong chương trình chỉ mới giới hạn trong một cử chỉ điều khiển đơn giản. Qua thực nghiệm chương trình với điều kiện môi trường và ánh sáng tốt, cử chỉ điểu khiển được thực thi chính xác gần như tuyệt đối. Trong các điều kiện ánh sáng không ổn định thì tỉ lệ bắt được cử chỉ vào khoảng 93-97%. Khảo sát người dùng thử tỏ thái độ khá hài lòng vì các thao tác điều khiển dễ dàng, giao diện đơn giản, dễ sử dụng. Từ khóa – Nhận dạng cử chỉ tay, trích chọn đặc trưng; giao tiếp người-máy, tập cử chỉ tay, dữ liệu khung xương. HAND GESTURE RECOGNITION FOR HUMAN–COMPUTER INTERACTION AND SUPPORTING APPLICATION FOR COSTUME SELECTION Abstract - Techniques to detect and recognize the human hand gesture is a natural way to interact between users and machine. In this essay, I have successfully built a program to hand gestures recognition which supports users to choose costumes through camera Kinect. One person will do a hand gesture in front of the camera and the system will recognize what the gesture is. The input image will be preprocessed; then the feature extraction from the skeleton data with data provided by Kinect; after that, this data will be trained by support vector machine (SVM) model. Set of hand gestures used in the program is only limited to a simple controlling gesture. Through experimental program with good environmental conditions and light, controlling gesture is performed with almost absolute precision. In the condition where light is not stable, the rate of capturing gestures is around 93-97%. Surveys show that users are quite satisfied because of its easy performance and simple interface. Key words – Hand Gesture Recognition, Feature Extraction, Human-Computer Interaction, Hand Gesture Dataset, Skeleton Data. vi DANH MỤC CÁC TỪ VIẾT TẮT 2D Two Dimension 3D Three Dimension ANN Artificial Neural Network BPNN Back propagation neural network CSDL Cơ sở dữ liệu DoG Difference of Gaussian HMM Hidden Markov Model HOG Histogram Orientation Gradient K-NN K-Nearest Neighbors MEM Maximum Entropy Model MLP Multi-layer Perceptrons PCA Principal Components Analysis RGB Red-Green-Blue SDK Software Development Kit SIFT Scale Invariant Feature Transforms SV Support Vector SVM Support Vector Machines THPT Trung học phổ thông VR Virtual reality vii DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 1.1 Giới hạn các tham số góc của ngón tay 7 1.2 Giới hạn các tham số góc và vị trí của cổ tay 7 3.1 Bảng kết quả thực nghiệm chương trình 45 viii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Số hiệu hình vẽ 1.1 Tên hình vẽ Trang Camera Kinect của hãng Microsoft 5 1.2 Cấu trúc xương và mô hình động học của bàn tay 6 1.3 Ví dụ về cử chỉ tay tĩnh 8 1.4 Ví dụ về cử chỉ tay động 8 1.5 Sơ đồ khối của hế thống nhận dạng cử chỉ tay 8 1.6 Một tư thế tay ở nhiều hướng nhìn 9 1.7 9 1.12 Camera gắn trên mũ Ví dụ chuyển ảnh RGB sang ảnh nhị phân (a) Ảnh gốc – (b) Ảnh nhị phân biểu biễn bởi 0 và 1 Ví dụ về quá trình chuyển đổi ảnh và lọc nhiễu (a) Ảnh gốc RGB – (b) Ảnh không gian YcbCr (c) Ảnh nhị phân – (d) Ảnh đã được lọc nhiễu Phân đoạn ảnh dựa trên ngưỡng của lược đồ mức xám Phân đoạn ảnh dựa trên ngưỡng của lược đồ mức xám (a) Ảnh không gian YcbCr (b) Ảnh nhị phân – (c) Phân vùng ảnh dựa vào biên Kết quả lọc màu da 1.13 Sử dụng cử chỉ tay trong ứng dụng thực tế ảo 16 1.14 Dùng các cử chỉ tay khác nhau để điều khiển robot 16 1.15 Người dùng điều khiển máy tính bằng cử chỉ tay 17 1.16 Bác sĩ sử dụng cử chỉ tay trong phẫu thuật 17 1.17 Sử dụng cử chỉ tay để điều khiển âm nhạc 17 1.18 Sử dụng cử chỉ tay trong trò chơi Eye Toy 18 1.19 Ví dụ về ngôn ngữ kí hiệu 18 2.1 Giảm số chiều trong không gian đặc trưng 19 2.2 Ảnh sau khi tính gradient chia thành các cell 20 2.3 Ảnh input và gradient theo hai hướng của ảnh 20 2.4 Mô tả hàm Gaussian và hàm DoG 21 2.5 Phát hiện cực trị của hàm DoG 22 2.6 Hướng phân bố trên ảnh và mô tả điểm hấp dẫn 22 2.7 Đặc trưng SIFT của ảnh cử chỉ tay 23 2.8 Các đặc trưng Haar-Like cơ bản 23 1.8 1.9 1.10 1.11 10 11 11 12 12 ix 2.9 Các đặc trưng Haar-Like mở rộng 23 2.10 Đặc trưng Haar-Like cho cử chỉ tay 24 2.11 Áp dụng bộ lọc Gabor theo 8 hướng 25 2.12 Quá trình trích đặc trưng GIST cho ảnh 25 2.13 Quá trình khai thác bộ xương ảnh vùng tay 26 2.14 Ví dụ về phân tích bộ xương tay 27 2.15 Mô hình nơ-ron sinh học 28 2.16 Mô hình cấu trúc một nơ-ron trong ANN 29 2.17 Học sửa lỗi thông qua các điều chỉnh trọng số 29 2.18 30 2.20 Kiến trúc mạng nơ-ron cho hệ thống Ánh xạ dữ liệu từ không gian gốc sang không gian đặc trưng cho phép phân chia dữ liệu bởi siêu phẳng Siêu phẳng tối ưu với mức lề cực đại 2.21 Ví dụ về quá trình phân lớp của SVM đa lớp 32 2.22 Tham số xác suất của một mô hình Markov ẩn 34 3.1 Sơ đồ khối của bài toán 36 3.2 Sơ đồ hoạt động của hệ thống 37 3.3 Tiến trình nhận dạng cử chỉ tay của hệ thống 37 3.4 Sơ đồ vị trí giữa người thực hiện cử chỉ và camera Kinect 38 3.5 Ví dụ về chuẩn hóa kích thước ảnh 39 3.6 Dữ liệu khung xương thu bởi Kinect 2.0 39 3.7 Sơ đồ mô tả chương trình ứng dụng 40 3.8 Phân loại hình ảnh trang phục 41 3.9 Giao diện chính của chương trình ứng dụng 42 3.10 Ví dụ về sử dụng cử chỉ tay để chọn nút khăn quàng cổ 43 3.11 Ví dụ về sử dụng cử chỉ tay để chọn mẫu khăn quàng cổ 43 3.12 Ví dụ về sử dụng cử chỉ tay để chọn mẫu khăn áo quần 44 3.13 Ví dụ về sử dụng cử chỉ tay để chọn mẫu khăn túi xách 44 3.14 Các mẫu trang phục được chọn áp lên thân người dùng 44 2.19 31 32 1 MỞ ĐẦU 1. Lý do chọn đề tài Máy tính xuất hiện là một bước phát minh lớn của nhân loại, nó giúp con người làm việc hiện quả hơn, bên cạnh đó để giao tiếp được với máy tính thì phải thông qua các thiết bị như chuột, phím,… thường gây nên bất tiện. Ngày nay, các phương thức giao tiếp người-máy truyền thống đang được từng bước thay thế bởi các phương pháp mới nhằm mục đích nâng cao hiệu suất lao động. Kỹ thuật phát hiện và nhận dạng cử chỉ tay được ứng dụng trong lĩnh vực giao tiếp người-máy là một trong số các phương pháp giao tiếp mới đó. Nhận dạng các cử chỉ của tay người là cách tự nhiên khi giao tiếp người–máy. Cử chỉ tay cho phép con người tương tác với máy rất dễ dàng và thuận tiện mà không cần phải mang thêm bất kỳ thiết bị ngoại vi nào. Bên cạnh đó, với nhịp sống hiện đại thì nhu cầu làm đẹp, mua sắm trang phục của con người ngày càng cao. Người dùng thường tiêu tốn nhiều thời gian và công sức trong việc chọn, thử và phối hợp các loại trang phục (áo quần, túi xách, khăn quàng cổ,…). Do đó, rất cần những thiết bị để giúp con người chọn và thử các loại trang phục được trực quan và dễ dàng; đồng thời cũng giúp người dùng dễ dàng biết được cách phối các loại trang phục với nhau đảm bảo sự hài hòa và tính thẩm mĩ cao. Hoạt động giáo dục nghề phổ thông lớp 11 được Bộ Giáo dục và Đào tạo đưa vào triển khai giảng dạy chính thức từ năm học 2007-2008 (thời lượng 105 tiết/năm học) với nhiều loại nghề khác nhau, trong đó có nghề may nhằm giúp học sinh am hiểu hơn về các lĩnh vực nghề nghiệp phổ biến trong xã hội để từ đó định hướng nghề nghiệp tốt hơn. Bản thân là một giáo viên THPT, tôi nhận thấy học sinh còn nhiều lúng túng trong việc chọn và phối các mẫu thiết trang phục… như thế nào cho phù hợp dáng người và để từ đó có thể thu hút được sự quan tâm, yêu thích của học sinh đối với bộ môn nghề. Từ những lí do trên, tôi đề xuất chọn đề tài luận văn cao học là: “Nhận dạng cử chỉ tay trong giao tiếp người - máy và ứng dụng hỗ trợ chọn trang phục”. 2. Mục đích và nhiệm vụ nghiên cứu 2.1. Mục đích nghiên cứu Mục đích chính của đề tài là xây dựng giải pháp nhận dạng cử chỉ tay của con người từ dữ liệu thu được trên thiết bị Kinect để xây dựng chương trình ứng dụng cho phép người dùng thực hiện việc chọn trang phục bằng cử chỉ tay. 2.2. Nhiệm vụ nghiên cứu Luận văn tập trung nghiên cứu những vấn đề sau: - Phân tích cử chỉ tay, trích chọn đặc trưng và nhận dạng cử chỉ tay. - Đưa ra giải pháp thích hợp đáp ứng mục đích đặt ra của đề tài. - Viết chương trình ứng dụng để kiểm tra tính hiệu quả của giải pháp. 2 3. Đối tượng và phạm vi nghiên cứu 3.1. Đối tượng nghiên cứu Luận văn tập trung tìm hiểu những vấn đề sau: - Các cử chỉ tay. - Các kỹ thuật trích chọn đặc trưng cử chỉ tay - Các kỹ thuật nhận dạng cử chỉ tay. 3.2. Phạm vi nghiên cứu Luận văn tập trung trong phạm vi: - Nghiên cứu kỹ thuật xử lý ảnh và nhận dạng đối tượng cử chỉ tay. - Nghiên cứu các kỹ thuật trích chọn đặc trưng cử chỉ tay tĩnh và động. - Nghiên cứu nhận dạng cử chỉ tay dựa trên video thu được từ camera Kinect. 4. Phương pháp nghiên cứu 4.1. Phương pháp lý thuyết Luận văn tập trung nghiên cứu một số lý thuyết như sau: - Các tài liệu về cử chỉ tay, nhận dạng cử chỉ tay trong lĩnh vực xử lý ảnh và thị giác máy tính. - Cơ sở lý thuyết về các thuật toán trích chọn đặc trưng và nhận dạng cử chỉ tay từ video thu được trên Kinect. 4.2. Phương pháp thực nghiệm Luận văn nghiên cứu một số vấn đề về thực nghiệm như sau: - Cài đặt chương trình ứng dụng dựa trên giải pháp đề xuất. - Triển khai thực nghiệm với thiết bị Kinect. - Kiểm thử hiệu quả của chương trình với các cử chỉ tay khác nhau. 5. Giải pháp đề xuất Luận văn đề xuất mô hình nhận dạng cử chỉ tay để chọn trang phục như sau: 3  Tiền xử lý: Từ dữ liệu cử chỉ tay thu nhận được ta thực hiện xử lý ảnh cơ bản bao gồm: căn chỉnh ảnh, chuẩn hóa ánh sáng, loại bỏ nhiễu, tách ngưỡng, lọc tần số, lọc màu da,...  Trích chọn đặc trưng: Có thể dựa vào đặc điểm không gian (phân bố mức xám, phân bố xác suất, biên độ, điểm uốn,…), đặc điểm biến đổi, đặc điểm biên và đường biên,…của ảnh để trích chọn đặc trưng phù hợp với mục đích nhận dạng. Mục tiêu của trích chọn đặc trưng là dựa trên các tín hiệu thu được để mô tả các đối tượng bằng các giá trị xấp xỉ bằng nhau đối với các đối tượng cùng loại, và khác xa nhau nếu khác loại. Số lượng đặc trưng càng ít càng tốt. Đầu ra của công đoạn này được gọi là véc tơ đặc trưng của đối tượng.  Huấn luyện hệ thống: Dựa trên các thông số sau khi trích chọn đặc trưng từ các dữ liệu, có thể sử dụng các phương pháp học máy như: Mạng nơ-ron nhân tạo (Artificial Neural Network- ANN), Mô hình Markov ẩn (Hidden Markov Model - HMM), máy vector hỗ trợ (Support Vector Machines - SVM), mô hình cực đại hóa Entropy (Maximum Entropy Model - MEM),… để huấn luyện tập dữ liệu, đồng thời sử sụng các phương pháp đánh giá chất lượng của tập dữ liệu. Kết quả thu được là cơ sở dữ liệu đã được phân lớp.  CSDL đã phân lớp: Tập dữ liệu đạt chất lượng cao đã được huấn luyện và đánh giá ở bước huấn luyện hệ thống.  Nhận dạng cử chỉ tay chọn trang phục: Thực hiện việc so khớp giữa các véc tơ đặc trưng được trích chọn ở dữ liệu người dùng với các đặc trưng đã được huấn luyện và đánh giá (trong CSDL đã phân lớp) ở tập dữ liệu mẫu để thực hiện các thao tác tương ứng như chọn loại trang phục, chọn mẫu trang phục,… kiểm tra dữ liệu người dùng có chứa cử chỉ đang xét hay không? 6. Ý nghĩa khoa học và thực tiễn của đề tài 6.1. Ý nghĩa khoa học của đề tài Về mặt khoa học, đề tài sẽ mang ý nghĩa cung cấp về mặt lý thuyết để làm rõ về quá trình và các phương pháp nhận dạng cử chỉ tay. Kết quả thu được là hệ thống nhận dạng cử chỉ tay người, hỗ trợ việc chọn và thử trang phục cho con người trực quan, dễ dàng. 6.2. Ý nghĩa thực tiễn của đề tài Về mặt thực tiễn, đề tài góp phần hỗ trợ cho việc điều khiển máy tính làm việc bằng cử chỉ tay một cách hiệu quả, nâng cao hiệu quả giao tiếp giữa người và máy, đáp ứng nhu cầu thực tế của con người trong lĩnh vực thời trang. 7. Kết quả dự kiến Luận văn dự kiến sẽ đạt được những kết quả sau: - Trích chọn được các đặc trưng của cử chỉ tay 4 - Đưa ra được giải pháp cho vấn đề nhận dạng cử tay từ video hiệu quả. - Xây dựng chương trình thực nghiệm nhận dạng cử chỉ tay để chọn trang phục cho người dùng. 8. Cấu trúc luận văn Nội dung của luận văn được trình bày với các phần chính như sau: Mở đầu Chương 1 - Nghiên cứu tổng quan về nhận dạng cử chỉ tay trong giao tiếp người-máy: Chương này trình bày một số vấn đề liên quan nhận dạng cử chỉ tay như phân loại cử chỉ tay, mô hình bàn tay, các đặc trưng cơ bản và tiến trình nhận dạng cử chỉ tay, và một số ứng dụng thực tế của nhận dạng cử chỉ tay. Chương 2 - Một số kỹ thuật trích chọn đặc trưng và nhận dạng hình ảnh cử chỉ bàn tay: Trong chương này trình bày một số kỹ thuật trích chọn đặc trưng thường được sử dụng để phục vụ cho bài toán nhận dạng cử chỉ tay tĩnh và cử chỉ tay động. Đồng thời giới thiệu một số kỹ thuật nhận dạng cử chỉ tay phổ biến như: K-NN, SVM, ANN và HMM. Chương 3 - Xây dựng hệ thống nhận dạng cử chỉ tay hỗ trợ chọn trang phục: Chương này trình bày về việc xây dựng hệ thống nhận dạng cử chỉ tay ứng dụng hỗ trợ cho người dùng chọn trang phục dựa trên thiết bị camera Kinect. Kết luận và hướng phát triển. 5 CHƯƠNG 1 - TỔNG QUAN VỀ NHẬN DẠNG CỬ CHỈ TAY TRONG GIAO TIẾP NGƯỜI - MÁY 1.1. NHẬN DẠNG CỬ CHỈ TAY TRONG GIAO TIẾP NGƯỜI-MÁY Trước đây, bàn phím và chuột là các thiết bị chính để thực hiện việc giao tiếp người–máy. Tuy nhiên, con người giao tiếp chủ yếu bởi “nghe” và “nhìn”, do đó một giao diện người–máy sẽ trực quan hơn nếu con người có thể điều khiển máy tính bằng giọng nói hay cử chỉ giống như khi giao tiếp giữa người với người trong thế giới thực mà không cần thông qua các thiết bị điều khiển khác như chuột hay bàn phím. Một ưu điểm khác là người dùng có thể giao tiếp từ xa mà không cần phải tiếp xúc vật lý với máy tính. Trong cuộc sống hàng ngày, con người thực hiện rất nhiều các cử chỉ khác nhau. Đó là điều tự nhiên để cải thiện và nâng cao thông tin liên lạc giữa người với người. Hãy thử tưởng tượng khi chúng ta giao tiếp với nhau mà không có cử chỉ, sẽ rất khó để hiểu cũng như đoán nhận được các phản ứng thông điệp giữa người nói và người nghe. Trong tất cả các loại cử chỉ mà con người sử dụng, cử chỉ tay đóng một vai trò quan trọng. Sử dụng cử chỉ tay có thể giúp chúng ta thể hiện được nhiều thông tin hơn trong thời gian ngắn hơn. Ngày nay, máy tính đã trở thành một phần quan trọng trong cuộc sống của chúng ta, vậy tại sao không sử dụng cử chỉ tay để giao tiếp với chúng. Việc sử dụng trực tiếp của bàn tay người như một thiết bị đầu vào là một phương pháp hấp dẫn để con người có thể giao tiếp tự nhiên với máy tính [5]. Trong giao tiếp người–máy, các hình trạng khác nhau của bàn tay có thể giả định để thao tác với các đối tượng hoặc truyền tải rất nhiều thông tin. Do đó, bàn tay của con người có thể sử dụng làm “thiết bị đầu vào” rất có giá trị. Để nhận dạng cử chỉ tay, bước đầu tiên trong hệ thống nhận dạng là phát hiện ra cử chỉ tay bằng một thiết bị cảm nhận (camera/webcam), để thu thập các quan sát cần cho việc phân loại hay miêu tả. Trong luận văn này, thiết bị cảm nhận được sử dụng để thu nhận cử chỉ tay là Kinect. Kinect là camera tích hợp cảm biến chiều sâu được phát triển bởi hãng Microsoft. Hình 1.1 - Camera Kinect của hãng Microsoft 6 Sau đó, tiến hành xử lý hình ảnh, trích chọn đặc trưng để tính toán các thông tin dưới dạng số hay dạng biểu tượng từ các dữ liệu quan sát và thực hiện công việc phân loại dựa vào các đặc tính đã được trích chọn để nhận dạng cử chỉ. Các cử chỉ của bàn tay được phát hiện dựa trên tập dữ liệu về cử chỉ tay mẫu được thu thập từ trước thông qua hình ảnh từ webcam/video. Nhiệm vụ quan trọng của bài toán nhận dạng cử chỉ tay là phải cho máy tính “học” và “huấn luyện” trên những cử chỉ tay mẫu để nó có thể nhận dạng cử chỉ tay một cách chính xác. 1.2. MÔ HÌNH BÀN TAY NGƯỜI Mô hình xương bàn tay người có cấu trúc như sau [5]: bàn tay con người gồm 27 xương, trong đó có 8 xương ở cổ tay và 19 xương cho lòng bàn tay và ngón tay. Các xương này được kết nối với nhau bởi các khớp nối có một hay nhiều bậc tự do. Hình 1.2 biểu diễn mô hình xương bàn tay và biểu diễn các khớp nối cùng số bậc tự do tương ứng tạo thành tổng cộng 26 bậc tự do. Trong đó cổ tay có 6 bậc tự do với 3 bậc tự do cho chuyển động tịnh tiến trong không gian và 3 bậc tự do cho chuyển động xoay quanh các trục. Năm ngón tay, mỗi ngón có 4 bậc tự do với 2 bậc cho khớp gốc ngón tay (gập/ngửa và khép/mở) và 1 bậc cho mỗi khớp còn lại. Hình 1.2 - Cấu trúc xương và mô hình động học của bàn tay Do đặc điểm giải phẫu học, chuyển động của các khớp ngón tay bị ràng buộc bởi các cơ giằng dẫn tới các góc quay của cổ tay và các đốt ngón tay bị giới hạn. Bảng 1.1 trình bày giới hạn của các tham số góc của ngón tay. Bảng 1.2 trình bày giới hạn các tham số của cổ tay. 7 Bảng 1.1 - Giới hạn các tham số góc của ngón tay 𝑥 𝑧 Trong đó 𝜃𝑀𝑃 và 𝜃𝑀𝑃 là hai góc quay của khớp gốc, θPIP là góc quay của khớp giữa và θDIP là góc quay của khớp đỉnh. Bảng 1.2 – Giới hạn các tham số góc và vị trí của cổ tay Trong đó ( xc , yc , zc ) là tọa độ của cổ tay trong không gian và (θcx , θcy , θcz ) là hướng của bàn tay quay quanh các trục tương ứng. Lưu ý rằng giới hạn của vị trí ( xc, yc, zc ) được xác định bởi thị trường của camera. 1.3. PHÂN LOẠI CỬ CHỈ TAY Trong thực tế cuộc sống hàng ngày, con người thực hiện rất nhiều các cử chỉ tay khác nhau. Luận văn này chỉ xem xét các cử chỉ tay được diễn đạt bởi một bàn tay. Mỗi cử chỉ tay là một cấu hình bàn tay đặc biệt đại diện bởi một hình ảnh duy nhất. Có nhiều cách để phân loại cử chỉ tay, thông thường cử chỉ tay được phân loại dựa trên mối quan hệ thời gian. Khi đó, cử chỉ tay được phân thành hai loại: cử chỉ tay tĩnh và cử chỉ tay động [42]. 1.3.1. Cử chỉ tay tĩnh Cử chỉ tay tĩnh là cử chỉ tay mà trong đó vị trí của bàn tay không thay đổi theo thời gian (độc lập với thời gian). Cử chỉ tay tĩnh chủ yếu dựa vào hình dạng và góc uốn của ngón tay. Một cử chỉ tĩnh được mô tả bởi một hình trạng duy nhất của cơ thể hoặc một bộ phận của cơ thể. Cử chỉ tay tĩnh là cử chỉ tay diễn đạt một trạng thái duy nhất của bàn tay. Điều này có nghĩa là sự di chuyển và theo dõi các vị trí khác nhau của bàn tay là không cần thiết. Hình 1.3 là ví dụ về việc người dùng sử dụng cử chỉ tay tĩnh (với trạng thái bàn tay phải nắm) để thực hiện chọn trang phục ảo. 8 Hình 1.3 - Ví dụ về cử chỉ tay tĩnh 1.3.2. Cử chỉ tay động Cử chỉ tay động là cử chỉ tay mà trong đó vị trí tay thay đổi liên tục theo thời gian (phụ thuộc vào thời gian). Một cử chỉ động là một chuỗi các hình trạng liên tiếp theo một quỹ đạo nhất định. Hầu hết những cử chỉ mà chúng ta quan sát thấy trong cuộc sống thường ngày là cử chỉ động. Trong thực tế, nhiều cử chỉ tay được tạo ra bởi cách chúng ta di chuyển bàn tay như hướng đi, quỹ đạo hay tốc độ thực hiện. Những cử chỉ này được gọi là cử chỉ tay động. Như vậy có thể thấy cử chỉ tay động chủ yếu dựa vào quỹ đạo, hướng đi của bàn tay, thêm vào đó là hình dáng và góc uốn của ngón tay. Để xử lý cử chỉ tay động, cần phải theo dõi bàn tay và lưu các vị trí khác nhau của bàn tay vào trong bộ nhớ. Hình 1.4 là ví dụ về việc người dùng sử dụng cử chỉ tay động để thực hiện lướt qua các trang phục. Hình 1.4 - Ví dụ về cử chỉ tay động 1.4. TIẾN TRÌNH NHẬN DẠNG CỬ CHỈ TAY 1.4.1. Sơ đồ khối của hệ thống nhận dạng cử chỉ tay Tiến trình nhận dạng cử chỉ tay cơ bản có dạng như sau [41]: DỮ LIỆU VÀO TIỀN XỬ LÝ TRÍCH CHỌN ĐẶC TRƯNG NHẬN DẠNG Hình 1.5 – Sơ đồ khối của hệ thống nhận dạng cử chỉ tay 9 1.4.2. Dữ liệu vào Dữ liệu vào có thể là một hình ảnh, hoặc một chuỗi các hình ảnh (video), được chụp bởi một máy ảnh duy nhất hướng về phía bàn tay người thực hiện các cử chỉ. Tuy nhiên, cũng tồn tại các hệ thống sử dụng hai hoặc nhiều máy ảnh để thu được nhiều thông tin về các tư thế tay. Ưu điểm của hệ thống này là có thể chụp được nhiều góc độ của tư thế tay. Hình 1.6 - Một tư thế tay ở nhiều hướng nhìn Một hệ thống khác đã được trình bày trong [8], trong đó camera được gắn trên một chiếc mũ để chụp khu vực ở phía trước của người đeo (xem Hình 1.7). Lợi thế của hệ thống này là vị trí máy ảnh luôn luôn thích nghi nếu người di chuyển hoặc quay xung quanh. Hình 1.7 - Camera gắn trên mũ 1.4.3. Tiền xử lý Tiền xử lý là nhiệm vụ quan trọng trong hệ thống nhận dạng cử chỉ tay. Mục đích cơ bản của giai đoạn này là tối ưu hình ảnh thu được từ giai đoạn trước để chuẩn bị trích xuất các đặc trưng trong giai đoạn tiếp theo. Chất lượng hình ảnh thu được phụ thuộc vào điều kiện sáng và và chất lượng của thiết bị ghi hình. Một hình ảnh chất lượng thấp sẽ ảnh hưởng tới độ chính xác của hệ thống. Vì vậy, tiền xử lý ảnh là bắt buộc để nâng 10 cao chất lượng ảnh đồng thời cải thiện độ chính xác của hệ thống được đề xuất. Từ hình ảnh thu nhận được ở dữ liệu vào ta có thể thực hiện xử lý ảnh cơ bản như: căn chỉnh ảnh, chuẩn hóa ánh sáng, loại bỏ nhiễu, phân đoạn ảnh, lọc màu da,.. Dưới đây là một số kỹ thuật tiền xử lý thường được áp dụng trong giai đoạn này: a. Chuyển ảnh RGB sang ảnh nhị phân Ảnh màu RGB nên được chuyển sang dạng ảnh xám hoặc chuyển sang ảnh trong không gian màu YCbCr trước khi nó được chuyển sang ảnh nhị phân. Ảnh nhị phân là ảnh mà giá trị của các điểm ảnh chỉ được biểu diễn bởi một trong hai giá trị 0 (màu đen) hoặc 1 (màu trắng). Để chuyển sang ảnh nhị phân thì nhất thiết phải chỉ rõ ngưỡng để phân vùng ảnh thành đen hoặc thành trắng tương ứng với 0 hoặc 1. Có nhiều kỹ thuật để tìm giá trị ngưỡng, phương pháp thông dụng nhất do Otsu đề xuất [9]. Như vậy, sau khi chuyển ảnh gốc RGB sang ảnh nhị phân chúng ta thu được ảnh đen trắng mà trong đó những điểm ảnh trong vùng tay có màu trắng (1) và điểm ảnh nền có màu đen (0), minh họa ở hình 1.8 [43]. (a) (b) Hình 1.8 – Ví dụ chuyển ảnh RGB sang ảnh nhị phân (a) Ảnh gốc – (b) Ảnh nhị phân biểu biễn bởi 0 và 1 b. Lọc nhiễu Trong ảnh nhị phân, có thể có một số giá trị 0 trong vùng tay và có một số giá trị 1 trong khu vực nền. Khi đó, nền có những số 1 được biết đến như nhiễu xung quanh và cử chỉ tay có một vài số 0 được biết đến như nhiễu cử chỉ. Những nhiễu này có thể dẫn đến một vấn đề trong việc phát hiện đường viền của cử chỉ tay vì vậy cần phải loại bỏ các nhiễu này. Hình 1.9 minh họa về quá trình chuyển đổi ảnh và lọc nhiễu của hình ảnh cử chỉ tay [41]. 11 (a) (b) (c) (d) Hình 1.9 – Ví dụ về quá trình chuyển đổi ảnh và lọc nhiễu (a) Ảnh gốc RGB – (b) Ảnh không gian YCbCr (c) Ảnh nhị phân – (d) Ảnh đã được lọc nhiễu c. Phân đoạn ảnh Phân đoạn ảnh là thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với nhau hay nói cách khác là xác định các biên của các vùng ảnh đó. Các vùng ảnh đồng nhất này thông thường sẽ tương ứng với toàn bộ hay từng phần của các đối tượng thật sự bên trong ảnh. Như vậy, mục tiêu của phân đoạn ảnh là làm nổi bật hoặc tách hẳn đối tượng cần quan tâm ra từ ảnh ban đầu, làm đơn giản hóa và thay đổi cách biểu diễn để dễ dàng phân tích hơn. Một số kỹ thuật phận đoạn ảnh phổ biến như:  Phân đoạn ảnh dựa trên ngưỡng Các kỹ thuật phân đoạn ảnh dựa trên ngưỡng hầu hết đều dựa vào lược đồ mức xám của ảnh để tính toán ngưỡng. Việc tính toán ngưỡng bao hàm việc xác định một tập các giá trị ngưỡng (có thể là một hoặc nhiều giá trị ngưỡng), dựa vào giá trị ngưỡng để phân tách ảnh ra thành những vùng có ý nghĩa. (a) (b) Hình 1.10 - Phân đoạn ảnh dựa trên ngưỡng của lược đồ mức xám (a) sử dụng một ngưỡng T - (b) Sử dụng hai ngưỡng T1 và T2.  Phân đoạn ảnh dựa trên biên (cạnh) 12 Việc xác định biên ảnh là một vấn đề chủ yếu và đặc điểm quan trọng trong phân tích ảnh vì các kĩ thuật phân đoạn ảnh chủ yếu dựa vào biên. Một điểm ảnh được gọi là biên nếu ở đó có sự thay đổi đột ngột về mức xám. Tập hợp các điểm biên tạo thành biên, hay còn gọi là đường bao của ảnh. Mỗi một biên là một thuộc tính gắn liền với một điểm riêng biệt và được tính toán từ những điểm lân cận của nó. Một số phương pháp phát hiện biên thông dụng như: Phương pháp đạo hàm bậc nhất (phương pháp Gradient), phương pháp đạo hàm bậc hai (phương pháp Laplace), phương pháp Canny do John Canny đề xuất vào năm 1986,… [41]. (a) (b) (c) Hình 1.11 – (a) Ảnh không gian YcbCr (b) Ảnh nhị phân – (c) Phân vùng ảnh dựa vào biên  Phân đoạn ảnh dựa vào màu da Da con người có màu rất đặc trưng, có thể dễ dàng nhận dạng và nó cũng không bị ảnh hưởng bởi các phép biến đổi hình học của đối tượng. Vì vậy, phát hiện bàn tay người dựa trên việc phát hiện da là một phương pháp khá đơn giản và có thể thực hiện được. Phương pháp này chỉ dựa vào thông tin về màu sắc nên các vùng ảnh không phải là bàn tay như khuôn mặt, các vùng da khác trên cơ thể con người, thậm chí là các đối tượng khác có màu giống với màu da cũng bị nhận diện như là bàn tay. Do đó, việc phát hiện bàn tay dựa trên màu da chỉ có hiệu quả khi trong ảnh ngoài vùng bàn tay thì không chứa thêm các đối tượng khác có màu da và vùng bàn tay phải có sự tách biệt với nền. Hình 1.12 - Kết quả lọc màu da
- Xem thêm -

Tài liệu liên quan