Đăng ký Đăng nhập
Trang chủ Nhận dạng cử chỉ tay động sử dụng mạng neuron tích chập...

Tài liệu Nhận dạng cử chỉ tay động sử dụng mạng neuron tích chập

.PDF
68
676
148

Mô tả:

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỂN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN NHẬN DẠNG CỬ CHỈ TAY ĐỘNG SỬ DỤNG MẠNG NEURON TÍCH CHẬP Sinh viên thực hiện : Đặng Mạnh Trường Lớp KSCLC HTTT&TT – K58 Giáo viên hướng dẫn: PGS.TS. Trần Thị Thanh Hải HÀ NỘI 6-2018 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 1 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: Đặng Mạnh Trường Điện thoại liên lạc 0962387593 Email: [email protected] Lớp: KSCLC Hệ thống thông tin và truyền thông K58 Hệ đào tạo: KSCLC-TN-TT Đồ án tốt nghiệp được thực hiện tại: Viện nghiên cứu quốc tế MICA – Trường Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày 19/1/2018 đến 02/06/2018 2. Mục đích nội dung của ĐATN Nghiên cứu và thử nghiệm một kỹ thuật học sâu cho bài toán nhận dạng cử chỉ động của bàn tay người đa góc nhìn 3. Các nhiệm vụ cụ thể của ĐATN - Tìm hiểu bài toán nhận dạng cử chỉ động của bàn tay người từ video và các hướng giải quyết. - Tìm hiểu và thử nghiệm kỹ thuật mạng neuron tích chập 3 chiều. - Thử nghiệm kết hợp nhiều nguồn thông tin để nâng cao độ chính xác cho kỹ thuật. - Đánh giá độ chính xác, ưu nhược điểm của kỹ thuật nghiên cứu trên CSDL đa góc nhìn 4. Lời cam đoan của sinh viên: Tôi – Đặng Mạnh Trường - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS. TS. Trần Thị Thanh Hải. Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày tháng năm Tác giả ĐATN Đặng Mạnh Trường 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn PGS.TS. Trần Thị Thanh Hải Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 2 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP ĐATN này tập trung giải quyết bài toán nhận dạng các cử chỉ động của tay người dưới các góc nhìn khác nhau. Đây là một bài toán có tính ứng dụng thực tiễn cao trong các hệ thống điều khiển thông minh. Có hai hướng tiếp cận chính để biểu diễn một hoạt động nói chung và cử chỉ tay động nói riêng. Hướng tiếp cận thứ nhất biểu diễn cử chỉ dựa trên các đặc trưng được thiết kế bằng tay. Hướng tiếp cận này thường phù hợp với các bài toán có tập dữ liệu nhỏ và đặc thù. Hướng tiếp cận thứ hai sử dụng kỹ thuật học sâu tiên tiến để tính toán tự động các đặc trưng từ dữ liệu thô. Hướng tiếp cận này đã đạt được nhiều kết quả ấn tượng trên hầu hết các bài toán về thị giác máy tính như nhận dạng ảnh và video. Vì vậy, trong ĐATN này, em tiếp cận bài toán nhận dạng cử chỉ động của tay theo kỹ thuật học sâu. Có nhiều kiến trúc học sâu đã đạt kết quả tốt cho việc giải bài toán nhận dạng hoạt động trong thời gian gần đây. Trong số các kỹ thuật đó, em tìm hiểu mạng neuron tích chập 3 chiều (C3D – 3D convolutional neural network) được trình bày trong tài liệu tham khảo [1]. Đây là một kỹ thuật cho phép trích chọn các đặc trưng một cách cô đọng phù hợp với dữ liệu là luồng video (có tính đến yếu tố thời gian). Các đánh giá thực nghiệm cho thấy kỹ thuật này cho kết quả tốt trên một số CSDL dùng chung về hoạt động của cộng đồng nghiên cứu như UCF101, HMDB51. Trong ĐATN này, em sẽ nghiên cứu kỹ thuật này và đánh giá tính hiệu quả của nó trên một loại dữ liệu về cử chỉ động của bàn tay người. ĐATN của em sẽ trả lời hai câu hỏi đặt ra: (1) Kỹ thuật C3D vốn được thử nghiệm trên các dữ liệu về hoạt động nói chung. Liệu C3D có phù hợp cho việc nhận dạng các cử chỉ tay người trong đó đối tượng động duy nhất trong cảnh là bàn tay người có độ phân giải không gian tương đối nhỏ trong ảnh? (2) Kỹ thuật C3D đã được đánh giá trên các CSDL các hoạt động hỗn tạp. Chưa có một nghiên cứu chuyên sâu liệu C3D có hiệu quả khi các góc nhìn thay đổi ? Ngoài ra để nâng cao hiệu năng của C3D, em cũng đã nghiên cứu và thực hiện một số cải tiến trong cách lấy mẫu các frames và đánh giá hiệu quả của C3D khi có thêm luồng dữ liệu quang học (optical flow). Các thực nghiệm được thực hiện trên bộ dữ liệu gồm các video của 5 đối tượng thực hiện 5 loại cử chỉ dưới 3 góc nhìn khác nhau tại Viện MICA. Kết quả cho thấy phương pháp đề xuất khá ổn định khi sự thay đổi góc nhìn là nhỏ. Kết quả này có thể cải tiến thêm nếu tích hợp những đặc trưng bất biến với góc nhìn vào quá trình học. Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 3 ABSTRACT OF THESIS In this report, I focus on solving the hand gesture recognition problem under different viewpoints. This problem plays an important role in intelligent control systems . There are two main approaches to modelling an action and particularly a hand gesture. The first approach represents gestures using hand-crafted features. This is usually preferred on small datasets with some specific characteristics. The second approach applies deep learning methods to automaticlly extract relevant features directly from raw data. Recently this line of research has achieved very impressive results on most computer vision problems on images and video. Therefore, in this thesis, the problem of hand gesture recognition is approached from a deep learning perspective. In recent years there has been many sucessful deep architectures in action recognition. Amongst them, I focus on 3D convolutional neural network – C3D, as described in [1]. This method extracts compact and simple video descriptors, which are suitable for video streams. Experimental results show that this architecture gives good results on a number of public datasets on action recognition such as UCF101 and HMDB51. In this thesis, I focus on applying this method and evaluate its effectiveness on a type of dataset on hand gesture. This thesis answers two questions: (1) Would C3D, a deep architecture tested on general action recogntion dataset, also be suitable for hand gesture recognition on datasets in which the only moving object is the hand, with a relatively low spatial resolution? (2) The original C3D network was trained on varying viewpoints. What are the effects of different viewpoints on hand gesture recognition using C3D? In order to further increase C3D recognition results, I have also researched and applied some novel methods on frame sampling in video and evaluated C3D results when RGB frames are used in conjuction with optical flow features. The tests were carried out on a dataset performed by 5 subjects doing 5 different actions under 3 different viewpoints at MICA institute. The results show that the proposed method is relatively stable under small changes in viewpoint. This can be further improved if view-invariant features are incorporated into the learning process. . Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 4 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 5 LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành đến cô Trần Thị Thanh Hải vì đã hướng dẫn ân cần, tận tình, và kiên nhẫn với em và tạo động lực cho em trong khoảng thời gian thực hiện đồ án tốt nghiệp này. Em cũng xin chân thành cảm ơn Viện Nghiên cứu Quốc tế MICA đã tạo cho em một môi trường thuận lợi để học tập và nghiên cứu. Em cũng xin gửi lời cảm ơn đến tất cả các thầy cô Viện Công nghệ thông tin nói riêng và các thầy cô Trường Đại học Bách khoa Hà Nội nói chung trong suốt thời gian học trên giảng đường đã truyền đạt cho em những kiến thức cần thiết. Em cũng xin gửi lời cảm ơn đến tất cả các bạn cùng lớp đã đồng hành cùng em trong suốt thời gian học và làm việc, đã giúp đỡ động viên em rất nhiều. Em xin gửi lời cảm ơn đến gia đình đã luôn quan tâm, ủng hộ hết lòng về vật chất và tinh thần trong suốt thời gian qua. Do thời gian và kiến thức có hạn nên không tránh khỏi những thiếu sót nhất định. Em rất mong nhận được sự đóng góp quý báu của thầy cô và các bạn. Cuối cùng, em xin gửi lời chúc sức khỏe, hạnh phúc tới thầy cô, gia đình và bạn bè. Hà Nội, ngày .... tháng .... năm 2018 Sinh viên Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 6 MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .............................................................. 2 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP ................................................................... 3 ABSTRACT OF THESIS ...................................................................................................... 4 LỜI CẢM ƠN ........................................................................................................................ 6 MỤC LỤC ............................................................................................................................. 7 DANH MỤC HÌNH ẢNH ................................................................................................... 10 DANH MỤC BẢNG ........................................................................................................... 12 DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ ............................................................... 13 MỞ ĐẦU ............................................................................................................................. 14 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG CỬ CHỈ TAY NGƯỜI VÀ VẤN ĐỀ ĐẶT RA VỚI ĐỒ ÁN ......................................................................................................... 16 1.1. Một số khái niệm ................................................................................................... 16 1.2. Một số nghiên cứu liên quan về nhận dạng cử chỉ tay người................................ 17 1.2.1. Hướng tiếp cận biểu diễn hoạt động dựa trên đặc trưng trích chọn được thiết kế bằng tay (hand-crafted features) ............................................................................. 17 1.2.2. Hướng tiếp cận biểu diễn hoạt động dựa trên kỹ thuật học sâu ..................... 18 1.2.3. Nhận xét chung .............................................................................................. 19 1.3. Mục tiêu của đồ án ................................................................................................ 20 CHƯƠNG 2: MẠNG NƠ RON TÍCH CHẬP CHO BÀI TOÁN NHẬN DẠNG CỬ CHỈ TAY NGƯỜI ....................................................................................................................... 21 2.1. Giới thiệu chung về mạng nơ- ron tích chập ............................................................ 21 2.1.1. Mạng nơ-ron nhân tạo (artificial neural network) ............................................. 21 2.1.1.1 Cấu trúc mạng nơ-ron .................................................................................. 21 2.1.1.2 Huấn luyện mạng nơ-ron ............................................................................. 23 2.1.2. Mạng nơ-ron tích chập ...................................................................................... 24 2.1.2.1 Cấu trúc: ....................................................................................................... 26 2.1.2.2 Học chuyển tiếp (transfer learning): ............................................................ 28 2.1.2.3 Áp dụng cho bài toán nhận dạng hoạt động của video: ............................... 29 2.1.3. Một số kiến trúc của CNN cho bài toán nhận dạng cử chỉ ............................... 29 2.1.3.1 Nhận dạng cử chỉ nói chung............................................................................ 29 2.1.3.2 Nhận dạng cử chỉ tay động .......................................................................... 31 2.1.3.3 Một số nhận xét............................................................................................ 33 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 7 2.2. Mạng nơ ron tích chập 3 chiều ................................................................................. 34 CHƯƠNG 3: NHẬN DẠNG CỬ CHỈ TAY NGƯỜI DƯỚI CÁC GÓC NHÌN KHÁC NHAU TỪ ẢNH RGB VÀ LUỒNG QUANG HỌC SỬ DỤNG MẠNG C3D VÀ BỘ PHÂN LỚP SVM ................................................................................................................ 36 3.1. Mô hình đề xuất nghiên cứu ..................................................................................... 36 3.1.1 Mô hình kiến trúc mạng C3D nguyên bản trên luồng RGB [1] ........................ 36 3.1.2 Mô hình kiến trúc mạng C3D hai luồng (RGB+OpticalFlow) [21] ................... 36 3.1.3 Xử lý vấn đề lấy mẫu trên video ........................................................................ 40 3.2 Triển khai mô đun nhân dạng hoạt động dưới các góc nhìn khác nhau ................ 42 3.2.1 Framework tổng quát ..................................................................................... 42 3.2.2 Môi trường lập trình và thư viện sử dụng để triển khai mô đun nhận dạng .. 44 3.2.3 Cài đặt và tích hợp mô đun nhận dạng hoạt động.......................................... 45 3.2.4 Dữ liệu thử nghiệm và phương pháp đánh giá ............................................... 51 3.3 Kết quả thử nghiệm ................................................................................................... 54 3.3.1 Với mô hình kiến trúc mạng C3D nguyên bản trên dữ liệu video gốc .............. 55 3.3.2 Với mô hình kiến trúc mạng C3D nguyên bản thử nghiệm trên dữ liệu trên video đã phân vùng bàn tay ......................................................................................... 57 3.3.3 Với mô hình kiến trúc mạng C3D sử dụng kỹ thuật chia thành các segment 16 đoạn với việc lấy mẫu ngẫu nhiên. .............................................................................. 58 3.3.4 Với mô hình kiến trúc mạng C3D sử dụng kỹ thuật chọn ra 16 frame mấu chốt [24] .............................................................................................................................. 59 3.3.5 Với mô hình kiến trúc mạng C3D với OF (optical flow) trong các chiến thuật early fusion và late fusion ........................................................................................... 59 3.3.5.1 Kết quả với luồng quang học sử dụng kiến trúc mạng đã được khởi tạo trên tập Sport1m .............................................................................................................. 59 3.3.5.2 Kết quả với luồng quang học sử dụng kiến trúc mạng đã được khởi tạo trên ảnh quang học của tập UCF101 ............................................................................... 60 3.3.5.3 Kết quả sử dụng kiến trúc Twostream theo [21] (early fusion) .................. 60 3.3.5.4 Kết quả sử dụng kiến trúc Twostream theo [21] (late fusion) .................... 61 3.3.5.5 Kết quả sử dụng kiến trúc Twostream với cả hai luồng đều được huấn luyện trước trên ảnh RGB của tập Sport1m (early fusion): ............................................... 61 3.3.5.6 Kết quả sử dụng kiến trúc Twostream với cả hai luồng đều được huấn luyện trước trên ảnh RGB của tập Sport1m (late fusion): ................................................. 61 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 8 CHƯƠNG 4: KẾT LUẬN ................................................................................................... 64 4.1. Kết quả đạt được ................................................................................................... 64 4.2. Những điểm còn hạn chế ....................................................................................... 64 4.3. Hướng phát triển ................................................................................................... 64 TÀI LIỆU THAM KHẢO ................................................................................................... 66 PHỤ LỤC ............................................................................................................................ 68 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 9 DANH MỤC HÌNH ẢNH Hình 1 : Các bước xử lý trong hệ thống nhận dạng sử dụng đặc trưng trích chọn được thiết kế bằng tay ........................................................................................................................... 17 Hình 2 : Minh họa mạng nơ-ron của người (từ Rob Fergus) ............................................... 21 Hình 3 : Chữ số 6 được viết tay. Bên trái là ảnh gốc, ở giữa là ảnh được phóng to, bên phải là ảnh gốc đã được quay một góc 30 độ. Tham khảo của [13] ............................................ 25 Hình 4 : Cấu trúc của một CNN thông thường. Bên trái là ảnh đầu vào, ở giữa là tầng tích chập (convolutional layer), bên phải là tầng lấy mẫu con (subsampling layer). Tham khảo của [13] ............................................................................... Error! Bookmark not defined. Hình 5 : Hàm sigmoid và hàm ReLU .................................. Error! Bookmark not defined. Hình 6 : Kiến trúc CNN trong [15] ..................................................................................... 27 Hình 7 : Kiến trúc của [7] ................................................................................................... 30 Hình 8 : Kiến trúc của mạng 2 luồng trong [8] .................................................................... 30 Hình 9 : Kiến trúc HRN-LRN trong [10] ........................................................................... 32 Hình 10 : Kiến trúc của [11] ............................................................................................... 33 Hình 11 : Minh họa phép toán tích chập 3 chiều [1] .......................................................... 34 Hình 12 : Kiến trúc mạng C3D [1] ..................................................................................... 35 Hình 13 : Kiến trúc mạng C3D [1] ..................................................................................... 36 Hình 14 : Tính toán Optical flow sử dụng phương pháp trong [20]. (a) (b) 2 frame liên tiếp trong một video (c) Thành phần luồng quang học theo phương ngang (d) Thành phần luồng quang học theo phương đứng............................................................................................... 38 Hình 15 : Kiến trúc kết hợp thông tin ảnh RGB và ảnh luồng quang học [21] .................. 40 Hình 16 : a) 8 frame đầu của 1 video. b) 8 frame được lấy ngẫu nhiên từ cả video. Ta thấy trường hợp b) chỉ sử dụng 8 frame ngẫu nhiên nhưng cũng miêu tả đủ toàn bộ chuyển động trong video. .......................................................................................................................... 41 Hình 17 : Framework tổng quát của nhận dạng cử chỉ tay động sử dụng C3D ............Error! Bookmark not defined. Hình 18 : Sơ đồ học chuyển tiếp (transfer learning) sử dụng mạng C3D ........................... 49 Hình 19 : Sơ đồ trích xuất đặc trưng sử dụng mạng C3D ................................................... 51 Hình 20 : 1 số cử chỉ có tính chất chu kỳ đóng trong nghiên cứu của [4] .......................... 52 Hình 21 : Vị trí của các Kinect đối với đối tượng ............................................................... 52 Hình 22 : Hành động 1_ON_OFF, góc nhìn Kinect 5, đối tượng Hùng .............................. 53 Hình 23 : Hành động 2_UP, góc nhìn Kinect 1, đối tượng Bình ......................................... 53 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 10 Hình 24 : Hành động 3_DOWN, góc nhìn Kinect 1, đối tượng Giang ............................... 53 Hình 25 : Hành động 4_LEFT, góc nhìn Kinect 3, đối tượng Tân ...................................... 54 Hình 26 : Hành động 5_RIGHT, góc nhìn Kinect 3, đối tượng Thuần ............................... 54 Hình 27 : Góc nhìn Kinect 1, đối tượng Bình, thực hiện hành động 5_RIGHT (1 số frame đầu tiên) ............................................................................................................................... 56 Hình 28 : So sánh 2 góc nhìn Kinect 1 (nghiêng 90 độ) và Kinect 3 (nghiêng 45 độ) với hành động 2_UP. Ta thấy rằng do Kinect 1 được đặt khá gần đối tượng nên bàn tay biến mất khỏi video khi giơ lên. .................................................................................................. 56 Hình 29 : Góc nhìn Kinect 5, đối tượng Hùng, thực hiện hành động 3_DOWN (1 số frame đầu tiên) ............................................................................................................................... 57 Hình 30 : Ảnh gốc và vùng mặt nạ bàn tay để từ đó tách ra vùng bàn tay. ......................... 57 Hình 31 : Kiến trúc của hai luồng sử dụng trong chiến thuật Twostream với cả hai luồng đều được huấn luyện trước trên ảnh RGB của tập Sport1m ................................................ 61 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 11 DANH MỤC BẢNG Bảng 1: Kết quả sử dụng mạng C3D huấn luyện trước trên tập dữ liệu Sport1m ............... 55 Bảng 2 : Kết quả khi thực hiện theo phương pháp của [18] Error! Bookmark not defined. Bảng 3: Kết quả với luồng quang học khi sử dụng kiến trúc mạng C3D đã được khởi tạo trên ảnh RGB của tập Sport1m ............................................................................................ 59 Bảng 4: Kết quả với luồng quang học khi sử dụng kiến trúc mạng C3D đã được khởi tạo trên ảnh luồng quang học của tập UCF101.......................... Error! Bookmark not defined. Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 12 DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt, Từ đầy đủ Ý nghĩa thuật ngữ CNN Convolutional Neural Networks RCNN Region-based Mạng nơ ron tích chập Convolutional Mạng nơ ron tích chập trên vùng Neural Networks PCNN Pose-based Convolutional Neural Mạng nơ ron tích chập dựa trên hình trạng Networks C3D 3D Convolutional Neural Mạng nơ ron tích chập 3 chiều Networks STIP Spatio-temporal interest points Điểm đặc trưng không gian-thời gian GPU Graphical Processing Unit Bộ xử lý đồ họa SVM Support Vector Machine Máy vectơ hỗ trợ ReLU Rectified Linear Unit Đơn vị tuyến tính chỉnh lưu FC Fully-connected (Tầng) kết nối đầy đủ Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 13 MỞ ĐẦU Bài toán nhận dạng hoạt động người đã thu hút sự quan tâm nghiên cứu của các nhà khoa học trong hơn 3 thập kỷ gần đây. Đây vẫn là một lĩnh vực nghiên cứu đầy tiềm năng bởi nó mở ra nhiều ứng dụng trong theo dõi giám sát, tương tác người máy hoặc giải trí. Trong đó, vấn đề nhận dạng cử chỉ tay người đóng một vai trò đặc biệt quan trọng trong việc xây dựng những ứng dụng thực tiễn giúp ích cho đời sống con người (ví dụ như sử dụng cử chỉ tay để điều khiển thiết bị gia dụng). Tuy nhiên cho đến nay, các nghiên cứu về nhận dạng cử chỉ tay chưa chú trọng tới việc nghiên cứu ảnh hưởng của góc nhìn tới việc nhận dạng. Đây là một vấn đề rất quan trọng, vì một phương pháp tốt trên một góc nhìn này chưa chắc đã tốt trên một góc nhìn khác. Do vậy, vấn đề cấp thiết là thiết kế một mô hình có thể xử lý tốt ảnh hưởng của góc nhìn tới việc nhận dạng cử chỉ tay. Với ý nghĩa và tính cấp thiết của việc phát hiện và nhận dạng tự động các cử chỉ tay của con người, trong ĐATN này em hướng đến nghiên cứu và phát triển một phương pháp nhận dạng cử chỉ tay của người từ dữ liệu video dưới nhiều góc nhìn khác nhau. Mặc dù có rất nhiều các phương pháp khác nhau đã được đề xuất cho bài toán nhận dạng cử chỉ tay của người dựa trên tính chất của đặc trưng biểu diễn hoạt động hay giải thuật phân lớp sử dụng, trong khuôn khổ của ĐATN này, em tập trung nghiên cứu một phương pháp học sâu để giải quyết bài toán nhận dạng cử chỉ bàn tay người từ video dưới các góc nhìn khác nhau. Các kỹ thuật học sâu đã được chứng minh là rất hiệu quả trong các bài toán nhận dạng, phân lớp đối tượng trong ảnh tĩnh. Thời gian gần đây, các kỹ thuật này cũng đang dần được nghiên cứu cho bài toán nhận dạng hoạt động từ video. Mỗi kiến trúc mạng cũng như cách thiết kế dữ liệu sẽ cho hiệu quả khác nhau trên cùng CSDL dùng chung. Trong ĐATN này, em nghiên cứu tìm hiểu kỹ thuật C3D (convolutional 3D) được đề xuất bởi Du Tran và các đồng nghiệp được trình bày trong tài liệu tham khảo [1]. Trong ĐATN này, em sẽ nghiên cứu kỹ thuật này và đánh giá tính hiệu quả của nó trên một loại dữ liệu về cử chỉ động của bàn tay người. ĐATN của em sẽ trả lời hai câu hỏi đặt ra: (1) Kỹ thuật C3D vốn được thử nghiệm trên các dữ liệu về hoạt động nói chung. Liệu C3D có phù hợp cho việc nhận dạng các cử chỉ tay người trong đó đối tượng động duy nhất trong cảnh là bàn tay người có độ phân giải không gian tương đối nhỏ trong ảnh? (2) Kỹ thuật C3D đã được đánh giá trên các CSDL các hoạt động hỗn tạp. Chưa có một nghiên cứu chuyên sâu liệu C3D có hiệu quả khi các góc nhìn thay đổi ? Ngoài ra để nâng cao hiệu năng của C3D, em cũng đã nghiên cứu và thực hiện một số cải tiến trong cách lấy mẫu các frames và đánh giá hiệu quả của C3D khi có thêm luồng dữ liệu quang học (optical flow). Các thực nghiệm Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 14 được thực hiện trên bộ dữ liệu gồm các video của 5 đối tượng thực hiện 5 loại cử chỉ dưới 3 góc nhìn khác nhau tại Viện MICA. Kết quả cho thấy phương pháp đề xuất khá ổn định khi sự thay đổi góc nhìn là nhỏ. Kết quả này có thể cải tiến thêm nếu tích hợp những đặc trưng bất biến với góc nhìn vào quá trình học. Đề tài được thực hiện tại phòng Computer Vision, Viện MICA dưới sự hướng dẫn của PGS. TS. Trần Thị Thanh Hải. Cấu trúc của ĐATN gồm 4 chương trình bày những vấn đề sau: - Chương 1: Tổng quan về nhận dạng cử chỉ tay người và vấn đề đặt ra với đồ án - Chương 2: Nghiên cứu mạng nơ ron tích chập 3 chiều (C3D) cho bài toán nhận dạng cử chỉ tay người . - Chương 3: Đánh giá thử nghiệm nhận dạng cử chỉ tay người dưới các góc nhìn khác nhau từ ảnh RGB và luồng quang học - Chương 4: Kết luận và hướng phát triển Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 15 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG CỬ CHỈ TAY NGƯỜI VÀ VẤN ĐỀ ĐẶT RA VỚI ĐỒ ÁN 1.1. Một số khái niệm Cùng với sự tiến bộ của công nghệ hiện nay, giao tiếp giữa con người với máy tính đang trở nên tự nhiên, đồng thời gần hơn với giao tiếp giữa con người với con người. Một trong các phương pháp giao tiếp tự nhiên giữa người với người là dựa trên ngôn ngữ cơ thể, cụ thể là cử chỉ của tay. Xu hướng cho phép máy tính nhận dạng cử chỉ tay người theo thời gian thực đã xuất hiện trên một số sản phẩm thương mại như tivi thông minh Samsung, cảm biến Kinect cho máy chơi game Xbox360 của Microsoft, DepthSense của SoftKinect, camera Creative Interactive Gesture của Intel, tivi tích hợp nhận dạng khuôn mặt và bàn tay của hãng Omron, hay thiết bị của Leap Motion. Thông thường, bài toán nhận dạng cử chỉ tay được phân làm những loại loại sau: - Nhận dạng cử chỉ tay tĩnh (static hand gesture recognition): Cử chỉ tay tĩnh là cử chỉ trong đó hình trạng của bàn tay không thay đổi trong thời gian thực hiện cử chỉ. Vì vậy, việc nhận dạng cử chỉ tay tĩnh thường được thực hiện trên từng ảnh. - Nhận dạng cử chỉ quỹ đạo tay (hand trajectory gesture recognition): Nhận dạng cử chỉ tay có xét tới dữ liệu tuần tự của quỹ đạo tay và khai thác thông tin về thời gian của chuyển động. Ở đây giả thiết video đã được phân vùng về mặt thời gian (tức là chỉ chứa duy nhất một cử chỉ). - Nhận dạng cử chỉ tay liên tục (continuous hand gesture recognition): Khác với nhận dạng cử chỉ quỹ đạo tay (hand trajectory gesture recognition), bài toán nhận dạng cử chỉ tay liên tục (continous hand gesture recognition) yêu cầu cả việc phát hiện thời điểm bắt đầu và kết thúc của hành động (có thể nhiều lần). Trong khuôn khổ của ĐATN, em hướng đến giải quyết bài toán thứ 2, tức là nhận dạng cử chỉ tay với video đã được phân vùng về mặt thời gian (tức là đã xác định sẵn thời điểm bắt đầu và kết thúc của chuyển động). Một hệ thống nhận dạng thông thường được thực hiện thông qua 2 pha: - Pha huấn luyện: Sử dụng bộ dữ liệu cần học đưa vào huấn luyện để đưa ra mô hình nhận dạng. - Pha nhận dạng: Sử dụng mô hình vừa huấn luyện được ở trên để thực hiện phân lớp dữ liệu mới. Trong mỗi pha đều có các khối xử lý cơ bản như sau: Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 16 - Tiền xử lý dữ liệu: Chuyển đổi dữ liệu đầu vào sang định dạng chuẩn với mô hình. - Trích chọn đặc trưng: Từ dữ liệu đã được tiền xử lý, thực hiện trích rút các đặc trưng biểu diễn hoạt động. Các đặc trưng này có thể được thiết kế bằng tay hoặc được học bởi kỹ thuật học sâu. - Huấn luyện bộ phân lớp: sử dụng các đặc trưng được trích chọn để làm dữ liệu đầu vào cho việc huấn luyện bộ phân lớp. - Nhận dạng: dữ liệu cần nhận dạng cũng được chuyển qua các bước tiền xử lý, trích chọn đặc trưng, sau đó dùng bộ phân lớp đã được huấn luyện để dự đoán. 1.2. Một số nghiên cứu liên quan về nhận dạng cử chỉ tay người 1.2.1. Hướng tiếp cận biểu diễn hoạt động dựa trên đặc trưng trích chọn được thiết kế bằng tay (hand-crafted features) Đặc trưng thiết kế bằng tay (handcrafted feature) là các đặc trưng được thiết kế từ trước, nhằm đưa ra cấu trúc đặc trưng phù hợp nhất với từng đối tượng hoặc hoạt động. Nhờ vậy mà các mô hình cải thiện được độ chính xác của mình. Đây là công việc đòi hỏi sự sáng tạo và thời gian của các nhà khoa học dữ liệu. Các đặc trưng giúp cho việc chuyển đổi dữ liệu thô ban đầu thành tập các thuộc tính giúp biểu diễn dữ liệu tốt hơn, giúp tương thích với từng mô hình dự đoán cụ thể, cũng như cải thiện độ chính xác của mô hình hiện tại. Hình 1 : Các bước xử lý trong hệ thống nhận dạng sử dụng đặc trưng trích chọn được thiết kế bằng tay Hình 1 minh họa hệ thống tổng quát sử dụng đặc trưng được thiết kế bằng tay. Sơ đồ này gồm 2 khối chính là: - Khối trích chọn đặc trưng bằng tay: Nhận đầu vào là các pixel của ảnh và đưa ra các đặc trưng cho ảnh đó. Đặc trưng ở khối này được chọn từ trước tùy theo yêu cầu bài toán và đặc điểm của từng dataset. - Khối phân lớp: Là một bộ phân lớp được huấn luyện từ trước với đầu vào là các đặc trưng được xuất ra từ khối trích chọn đặc trưng và đưa ra nhãn lớp tương ứng. Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 17 Hiện nay, trên thế giới đã có rất nhiều đặc trưng được thiết kế để giải quyết bài toán nhận dạng cử chỉ tay. Trong [2] các tác giả sử dụng mô hình Hidden Markov Model để biểu diễn chuyển động liên tục của bàn tay, và các thông số của mô hình được học từ tập dữ liệu CyberGlove. [3] kết hợp thông tin ảnh RGB và ảnh độ sâu (depth map): các đặc trưng của bàn tay được học ở mức từng khung ảnh RGB còn thông tin khớp xương được học bằng ảnh độ sâu, và chúng được kết hợp sử dụng phương pháp Extreme Learning Machine. Trong [4] các tác giả đã phát triển 1 hệ thống nhận dạng cử chỉ tay để điều khiển thiết bị, bằng cách sử dụng những cử chỉ có tính chu kỳ đóng. Do tính chu kỳ của các cử chỉ được định nghĩa, các tác giả chỉ ra rằng những vấn đề kỹ thuật như phát hiện điểm bắt đầu và kết thúc cử chỉ có thể được xử lý dễ dàng. Thông tin về hình dạng bàn tay được khai thác qua thuật toán giảm số chiều phi tuyến ISOMAP, còn quỹ đạo chuyển động được trích xuất bằng cách sử dụng kỹ thuật Kanade-Lucas-Tomasi (KLT), trước khi được kết hợp bằng 1 phương pháp nội suy đơn giản để tái tạo chuỗi ảnh được chuẩn hóa về pha. Cuối cùng, đầu ra được phân loại bằng bộ phân lớp SVM [5]. 1.2.2. Hướng tiếp cận biểu diễn hoạt động dựa trên kỹ thuật học sâu Kỹ thuật học sâu (Deep learning) là một thuật toán học máy được xây dựng dựa trên một số ý tưởng mô phỏng hệ thống não bộ của con người. Nó biểu diễn dữ liệu thông qua nhiều tầng từ cụ thể đến trừu tượng qua đó trích rút được các đặc trưng có ý nghĩa trong nhận dạng đối tượng ảnh. Thuật toán học sâu đã đạt được nhiều thành công trong bài toán xử lý ảnh hay nhận dạng giọng nói. Khác với đặc trưng được thiết kế bằng tay, kỹ thuật học sâu sẽ học các đặc trừng từ dữ liệu ảnh thô ban đầu. Có rất nhiều công trình liên quan đến bài toán nhận dạng hoạt động sử dụng kỹ thuật học sâu. Bài báo trình bày trong [6] sử dụng R*CNN (Region-based Convolutional Neural Networks) để nhận dạng ngữ cảnh của hành động. Mô hình này xác định 2 phạm vi: phạm vi thứ nhất là vị trí của người thực hiện hành động trong video, phạm vi thứ 2 là các vùng đề xuất có liên quan đến hành động của người. Từ các vùng đề xuất giải thuật chọn vùng có thông tin lớn nhất và cộng thêm vào thông tin của vùng phạm vi thứ nhất để đưa ra kết quả cuối cùng. Nhóm tác giả trong [7] đề xuất kỹ thuật nhận dạng dạng dưa hình trạng P-CNN (Pose-based Convolutional Neural Networks). Mô hình P-CNN xác định vị trí của các bộ phận cơ thể và theo dõi các hoạt động của chúng. Trong [8], nhóm tác giả sử dụng mạng CNN 2 luồng dữ liệu RGB và luồng quang học (Optical flow) trích thông tin về chiều thời gian và tăng độ chính xác của mô hình. [9] phát triển phép toán tích chập 2 Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 18 chiều thành 3 chiều để tăng thêm thông tin về chiều thời gian. [1] đã sử dụng ý tưởng phép toán tích chập 3 chiều để thí nghiệm tìm ra tham số tốt nhất cho mô hình. Đã có rất nhiều nghiên cứu về việc áp dụng những kỹ thuật học sâu nhận dạng hoạt động cho bài toán nhận dạng cử chỉ tay động. [10] kết hợp thông tin ảnh RGB và ảnh độ sâu bằng cách kết hợp giữa một mạng có độ phân giải cao (high resolution network – HRN) và mạng có độ phân giải thấp (low resolution network – LRN). Xác suất dự đoán cho mỗi lớp được tính bằng tích xác suất dự đoán của mỗi mạng. Trong [11] tác giả kết hợp bài toán phát hiện và nhận dạng cử chỉ bàn tay bằng cách sử dụng một mạng nơ-ron tích chập 3 chiều hồi quy (recurrent three-dimensional convolutional neural network) , kết hợp với phương pháp Connectionist temporal classification (CTC). Các tác giả cũng đã tiến hành thử nghiệm trên một tập dữ liệu gồm 1532 cử chỉ bàn tay, thực hiện bởi 20 đối tượng, trong môi trường mô phỏng việc lái xe, dưới cả điều kiện rất sáng lẫn ánh sáng mờ. [12] đề xuất một kiến trúc mạng CNN 3 chiều cho bài toán nhận dạng cử chỉ bàn tay liên tục (continuous hand gesture recognition) được khởi tạo từ kiến trúc của [1], trong đó mỗi frame của một chuỗi cử chỉ được biểu diễn bằng một khối không-thời gian (spatiotemporal volume) của 16 frame màu lân cận. Sau đó các tác giả sử dụng cửa sổ trượt theo toàn bộ video để được xác suất lớp cho mỗi frame, trước khi cho vào hai lớp lọc đa số và đưa ra dự đoán cuối cùng. 1.2.3. Nhận xét chung Hướng biểu diễn dựa trên đặc trưng được trích xuất bằng tay cho kết quả khá tốt trên các tập dữ liệu nhỏ và có một số đặc điểm nhất định. Tuy vậy trên thực tế, dữ liệu được thu nhận được ở các điều kiện khác nhau và đa dạng. Cử chỉ tay người có thể bị che khuất bởi các vật thể phía trước hay dữ liệu nhận được ở trong các khung cảnh khác nhau. Do đó, đối với cơ sở dữ liệu lớn thì việc sử dụng phương pháp này là khá khó khăn. Kỹ thuật học sâu có thể cải thiện phần nào các thách thức này. Khác với đặc trưng trích xuất bằng tay, kỹ thuật học sâu không phụ thuộc vào sự đa dạng của bộ dữ liệu. Kỹ thuật này có thể xây dựng bộ trích xuất đặc trưng dựa trên việc học cách biểu diễn chúng. Tuy nhiên, kỹ thuật này đòi hỏi một lượng dữ liệu đủ lớn để đạt độ chính xác cho mô hình và dữ liệu phải đủ tốt và bao quát toàn bộ các tình huống thực tế. Hơn nữa, việc tìm ra các tham số và kiến trúc phù hợp cần rất nhiều thời gian để thử nghiệm. Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 19 1.3. Mục tiêu của đồ án Kỹ thuật học sâu là kỹ thuật có nhiều tiềm năng trong tương lai. Rất nhiều nhà nghiên cứu đã thử nghiệm trên các mô hình khác nhau để tìm ra một kiến trúc phù hợp. Cùng với sự bùng nổ dữ liệu trên toàn cầu từ các mạng xã hội như facebook, youtube, đã có rất nhiều bộ dữ liệu được xây dựng như Sport1M chứa hơn 1 triệu video với 487 lớp, UCF 101 chứa 13320 video thuộc 101 lớp... Hơn nữa, với sự phát triển nhanh chóng của khoa học và kỹ thuật, máy tính, siêu máy tính với card đồ họa cho phép giải các bài toán dữ liệu lớn. Nhờ đó việc thời gian tính toán được giảm đi hàng chục lần so với ban đầu. Kỹ thuật C3D được trình bày trong [1] đã được đánh giá thử nghiệm với nhiều bộ tham số khác nhau và đã cho kết quả khá cao. Trong ĐATN này em tập trung vào việc phân tích ảnh hưởng của góc nhìn đối với phương pháp được đề xuất, bằng cách thử nghiệm trên tập dữ liệu được thu thập gồm các video của 5 đối tượng, thuộc 5 lớp hoạt động dưới 3 góc nhìn khác nhau. Phương pháp thực nghiệm là cross-validation leave-onesubject-out với tập kiểm tra trên các góc nhìn khác nhau, để khảo sát ảnh hưởng của góc nhìn. Trong chương 2 tiếp theo, em sẽ trình bày các lý thuyết cơ bản về mạng học sâu và mạng neuron tích chập 3 chiều C3D. Các mở rộng và triển khai cài đặt và thử nghiệm đánh giá mạng C3D trên dữ liệu cử chỉ động của bàn tay sẽ được trình bày trong chương 3. Sinh viên thực hiện: Đặng Mạnh Trường 20134209 Khóa 58 Lớp KSCLC HTTT&TT 20
- Xem thêm -

Tài liệu liên quan

thumb
Năng lượng gió...
130
78479
145