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
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN THỊ THƯƠNG
NHẬN DẠNG CỬ CHỈ TAY TRONG GIAO TIẾP NGƯỜI-MÁY VÀ ỨNG DỤNG
Trang 2Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS Huỳnh Hữu Hưng
Phản biện 1: PGS.TSKH Trần Quốc Chiến
Phản biện 2: PGS.TS Lê Mạnh Thạnh
Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ khoa học máy tính họp tại Trường Đại học Bách khoa vào ngày 13 tháng 08 năm 2017
Có thể tìm hiểu luận văn tại:
- Trung tâm học liệu, Đại học Đà nẵng tại trường Đại học Bách khoa
- Thư viện khoa Công nghệ thông tin, Trường Đại học Bách khoa - Đại học Đà Nẵng
Trang 3MỞ ĐẦ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ề
Trang 4Từ 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, 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 của đề tài
- Viết chương trình để kiểm tra tính hiệu quả của giải pháp
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 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à cử chỉ tay động
- Nghiên cứu nhận dạng cử chỉ tay dựa trên video thu được từ camera Kinect
Trang 54 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 hệ thống nhận dạng cử chỉ tay ứng dụng hỗ trợ chọn trang phục như sau:
Trang 66 Ý 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
- Đư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:
Trang 7CHƯƠ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
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 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] 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
Để 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
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
Trang 81.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 Tổng cộng có 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
1.3 PHÂN LOẠI CỬ CHỈ 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 2 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í 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 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
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 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ư 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
Trang 91.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]:
Hình 1.5 – Sơ đồ khối của hệ thống nhận dạng cử chỉ tay
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, đượ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
1.4.3 Tiền xử lý
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 Tiền xử lý ảnh là bắt buộc để nâng 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 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 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) Chẳng hạn những điểm ảnh trong vùng tay có màu trắng và điểm ảnh nền có màu đen
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ần phải được loại bỏ
DỮ LIỆU
TRÍCH ĐẶC
Trang 10c Phân đoạn ảnh
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ư:
1.4.4 Trích chọn đặc trưng
Trích chọn đặc trưng là chiết xuất thông tin từ dữ liệu thô mà nó phù hợp nhất cho mục đích nhận dạng để giảm thiểu các biến thể trong một lớp và tối đa hóa các biến thể giữa các lớp khác nhau
Trong giai đoạn trích chọn đặc trưng, mỗi đối tượng được đại diện bởi một véc tơ đặc trưng Mục tiêu chủ yếu của trích chọn đặc trưng là trích xuất một tập hợp các đặc trưng, trong đó có thể tối đa hóa tỷ lệ nhận dạng với sự nhầm lẫn nhỏ nhất Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử
lý ảnh Có thể nêu ra một số đặc điểm của ảnh sau đây: Đặc điểm
không gian, đặc điểm biến đổi, đặc điểm biên và đường biên,…
1.4.5 Nhận dạng
Giai đoạn nhận dạng thực hiện việc phân tích từ dữ liệu đầu vào của người dùng để kiểm tra trong dữ liệu đầu vào đó có chứa cử chỉ đang xét hay không Dữ liệu đầu vào cũng qua các quá trình tiền xử
lý, trích chọn đặc trưng và sau đó đưa vào bộ nhận dạng Bộ nhận dạng
sẽ phân loại các đặc trưng vào các lớp đã được định nghĩa trong giai đoạn huấn luyện trước đó Sau đó cử chỉ được phân loại nhờ vào việc kết hợp các bộ nhận dạng cử chỉ Mỗi bộ nhận dạng cử chỉ có chức năng nhận dạng một cử chỉ ứng với các đặc trưng đã được huấn luyện
Trang 11Có nhiều kỹ thuật nhận dạng khác nhau như: máy vectơ hỗ trợ (SVM), mạng nơ-ron nhân tạo (ANN), mô hình Makov ẩn (HMM),…
1.5 NHỮNG THÁCH THỨC TRONG NHẬN DẠNG CỬ CHỈ TAY 1.5.1 Bài toán có quá nhiều chiều
Mỗi bàn tay có rất nhiều hình trạng, với mỗi hình trạng của bàn tay thì hình dạng bàn tay trong video cũng rất khác nhau từ các hướng nhìn khác nhau Ngoài ra, không chỉ có một số lượng lớn biến thể của một bàn tay, bàn tay của những người khác nhau cũng rất khác nhau
về hình dạng, kích thước, màu sắc da,
1.5.2 Hiện tượng bị che khuất
Các phần của một bàn tay có thể bị che khuất bởi các phần khác như một bàn tay khác, cánh tay, hoặc các đối tượng khác Điều này ảnh hưởng đến việc thu nhận thông tin bàn tay không đầy đủ
1.5.3 Môi trường không kiểm soát
Khi nhận dạng trên phông nền phức tạp, việc tách vùng bàn tay trong ảnh trở nên khó khăn khi màu của vùng bàn tay giống với màu của các vùng khác trong ảnh Trong trường hợp bàn tay chỉ chiếm một phần nhỏ trong ảnh, mức độ chi tiết của bàn tay thấp nên rất khó phân biệt các hình dạng và dễ bị nhiễu
1.5.4 Chuyển động nhanh của bàn tay
Bàn tay có khả năng chuyển động rất nhanh, ở cổ tay tốc độ lên
tới 5m/giây cho dịch chuyển tịnh tiến và 300 độ/giây cho chuyển động xoay Tốc độ di chuyển nhanh của bàn tay kết hợp với tần số lấy mẫu
thấp từ cảm biến gây thêm những khó khăn cho thuật toán nhận dạng 1.5.5 Nhận diện thời điểm bắt đầu và kết thúc ở một cử chỉ
Cần phân biệt cử chỉ người dùng thực hiện với những thao tác khác Giữa các cử chỉ sẽ có một số thao tác chuyển tiếp và hệ thống
Trang 12nhận dạng cần phân biệt được đâu là cử chỉ có ý nghĩa và đâu không phải là cử chỉ có ý nghĩa
1.5.6 Lựa chọn đặc trưng phù hợp
Lựa chọn đặc trưng rất quan trọng trong việc nhận dạng, bản thân việc chọn đặc trưng là để giảm số chiều xử lý nhưng phải đảm bảo mô tả được đối tượng tương đối đầy đủ
1.6.2 Ứng dụng trong điều khiển robot
1.6.3 Điều khiển máy tính
1.6.4 Ứng dụng trong y học
1.6.5 Ứng dụng trong lĩnh vực giải trí
1.6.6 Ứng dụng trong ngôn ngữ ký hiệu
Trang 13CHƯƠNG 2 - MỘT SỐ KỸ THUẬT TRÍCH
CHỌN ĐẶC TRƯNG VÀ NHẬN DẠNG CỬ CHỈ TAY 2.1 MỘT SỐ KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG CỬ CHỈ TAY 2.1.1 Phân tích thành phần chính - PCA
PCA là một thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn nhằm tối ưu hóa việc thể hiện sự biến thiên của dữ liệu
Mục tiêu của PCA là đưa không gian đặc trưng có số chiều lớn
về không gian đặc trưng có số chiều nhỏ hơn sao cho vẫn đảm bảo được “tối đa thông tin quan trọng nhất”, với mục đích giảm thời gian tính toán và tìm kiếm Các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể
2.1.2 Kỹ thuật HOG
HOG dựa trên việc đếm số lần xuất hiện của các hướng đạo hàm trong các vùng cục bộ ảnh Ý tưởng cơ bản của HOG là hình dạng đối tượng trong ảnh có thể được đặc trưng tốt bởi sự phân bố theo hướng của sự thay đổi mức xám (gradient) hay theo hướng của biên đối tượng [10] HOG được tính bằng cách chia ảnh thành các vùng không gian
nhỏ hơn gọi là các “tế bào” (cells), mỗi cell này tích lũy histogram 1
chiều cục bộ về các hướng gradient hoặc định hướng biên trên các điểm ảnh nằm trong cell Các cell nằm cạnh nhau được gộp lại thành một khối (block), các khối có thể chồng lên nhau với mục đích tăng cường mối quan hệ trong không gian giữa các điểm ảnh Các histogram của khối được kết hợp với nhau tạo thành vector đặc trưng