(Luận văn thạc sĩ hcmute) nhận dạng hành động người dùng mạng nơron tích chập

62 7 0
(Luận văn thạc sĩ hcmute) nhận dạng hành động người dùng mạng nơron tích chập

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN THÀNH TÂM NHẬN DẠNG HÀNH ĐỘNG NGƯỜI DÙNG MẠNG NƠRON TÍCH CHẬP NGÀNH: KỸ THUẬT ĐIỆN TỬ SKC007506 Tp Hồ Chí Minh, tháng 10/2017 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN THÀNH TÂM ĐỀ TÀI: NHẬN DẠNG HÀNH ĐỘNG NGƯỜI DÙNG MẠNG NƠRON TÍCH CHẬP NGÀNH: KỸ THUẬT ĐIỆN TỬ - 60520203 Hướng dẫn khoa học: TS LÊ MỸ HÀ Tp Hồ Chí Minh, tháng 10/2017 Luan van LÝ LỊCH KHOA HỌC I II III LÝ LỊCH SƠ LƯỢC: Họ & tên: Nguyễn Thành Tâm Giới tính: Nam Ngày, tháng, năm sinh: 17/05/1990 Nơi sinh: Đồng Nai Quê quán: Thái Bình Dân tộc: Kinh Chỗ riêng địa liên lạc: Thành phố Hồ Chí Minh Điện thoại: 0989723903 E-mail: tamemspk@gmail.com QUÁ TRÌNH ĐÀO TẠO: Hệ đào tạo: Đại học Trường: Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Ngành học: Cơng nghệ kỹ thuật điện tử truyền thông Tên đồ án tốt nghiệp: THIẾT KẾ BÀI GIẢNG MÔN HỌC MẠCH ĐIỆN Thời gian bảo vệ: Tháng 2/2014 Giảng viên hướng dẫn: Th.S Trần Tùng Giang Q TRÌNH CƠNG TÁC CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Nơi công tác Công việc đảm nhiệm ii Luan van LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày … tháng … năm 201… iii Luan van LỜI CẢM ƠN Em xin chân thành cám ơn quý Thầy, Cô khoa Điện – Điện Tử trang bị cho em kiến thức có liên quan giúp em hoàn thành tốt đề tài Cám ơn bạn lớp chia kinh nghiệm hỗ trợ lúc làm đề tài Đặc biệt em xin chân thành cảm ơn Thầy hướng dẫn, T.S Lê Mỹ Hà hướng dẫn hỗ trợ em lúc thực đề tài Học viên Nguyễn Thành Tâm iv Luan van ABTRACT Recognizing human action is very important and interesting in the field of video surveillance, shopping, behaviour analysis etc In this reseach, we develop a Convolutional Neural Network (CNN) model for action recognition CNN is one of the advanced Deep learning models that help us build intelligent systems with the highest accuracy v Luan van TÓM TẮT Nhận dạng hành động người quan trọng thú vị lĩnh vực giám sát video, mua sắm phân tích hành vi người Trong nghiên cứu này, tác giả phát triển mơ hình mạng Nơ-ron tích chập (Convolutional Neural Network - CNN) để nhận dạng hành động CNN mơ hình học tập tiên tiến giúp xây dựng hệ thống thơng minh với độ xác cao vi Luan van DANH SÁCH CÁC CHỮ VIẾT TẮT AI: Artificial Intelligence (Trí tuệ nhân tạo) ANN: Artificial Neural Network (mạng nơ-ron nhân tạo) BP: Back propagation (giải thuật lan truyền ngược) CNN: Convolutional Neural Network (Mạng nơ-ron tích chập) DL: Deep Learning (Học sâu) FC: Fully connected Layer HOG: Histogram of oriented gradients ML: Machine Learning (Học máy) MLP: Multi-Layer Perceptrons (Perceptron nhiều tầng) NN: Neural Network (Mạng Nơ-ron) POOL: Pooling (Cộng gộp) ReLU: Rectified Linear Unit (Hiệu chỉnh đơn vị tuyến tính) RNN: Recurrent Neural Networks SIFT: Scale-invariant Feature Transform SVM: Support Vector Machine vii Luan van DANH MỤC HÌNH Hình 2.1 Tế bào thần kinh sinh học Hình 2.2 Tế bào thần kinh nhân tạo Hình 2.3 Hàm nấc Hình 2.4 Hàm dấu Hình 2.5 Hàm tuyến tính .8 Hình 2.6 Hàm dốc bão hịa Hình 2.7 Hàm tuyến tính bão hòa .9 Hình 2.8 Hàm S đơn cực .9 Hình 2.9 Hàm S lưỡng cực Hình 2.10 Các phương pháp huấn luyện mạng Nơ-ron nhân tạo 11 Hình 2.11 Phương pháp học có giám sát 11 Hình 2.12 Phương pháp học củng cố 12 Hình 2.13 Phương pháp học không giám sát 12 Hình 2.14 So sánh mạng Nơ-ron truyền thống mạng Nơ-ron tích chập .15 Hình 2.15 Kiến trúc mạng CNN tổng quát .16 Hình 2.16 Tích chập 2D 18 Hình 2.17 Tách biên sử dụng lọc Sobel .19 Hình 2.18 Các thành phần lớp tích chập .20 Hình 2.19 Cách tính tham số lớp tích chập 21 Hình 2.20 Cách tính tham số lớp pooling 23 Hình 2.21 Hàm truyền Relu 25 Hình 3.1 Hai giai đoạn Machine learning 27 Hình 3.2 Machine learning Deep learning 27 Hình 3.3 Dữ liệu hành động người (MyData) 29 Hình 3.4 Thông tin Card rời GeForce GTX 750 Ti 31 Hình 3.5 Cấu hình máy tính sử dụng 32 Hình 3.6 Kiến trúc mạng CNN 10 lớp 32 Hình 3.7 Đặc trưng ngõ lớp 33 Hình 3.8 Trọng số lọc lớp conv1 34 Hình 3.9 Sơ đồ khối (a) lưu đồ trình huấn luyện (b) 36 viii Luan van Hình 3.10 Độ xác sau 20 epoch (MyNet_MyData) 38 Hình 3.11 Cifar-10 Dataset 39 Hình 3.12 Độ xác sau 20 epoch (MyNet_Cifar10) 39 Hình 3.13 Confusion matrix (MyNet-Cifar10) 40 Hình 3.14 Ngõ sau trích đặc trưng HOG 41 Hình 3.15 Confusion matrix (HOG_Cifar10) 41 Hình 3.16 HOG CNNs Cifar-10 42 Hình 3.17 Giao diện chương trình 43 Hình 3.18 Giao diện chương trình Test 44 Hình 3.19 Test hành động người .44 Hình 3.20 Nhận dạng ký tự số viết tay 45 DANH MỤC BẢNG Bảng 2.1 Phân loại mạng Nơ-ron nhân tạo .10 Bảng 2.2 Phương pháp học mạng Nơ-ron sinh học Nơ-ron nhân tạo 13 Bảng 3.1 Số lượng hình ảnh sử dụng huấn luyện 30 ix Luan van (b) Hình 3.9 Sơ đồ khối (a) lưu đồ trình huấn luyện (b) 36 Luan van Bước 1: Đầu tiên tải liệu huấn luyện Sau hàm ImageDatastore tự động gán nhãn tập hình ảnh dựa tên Folder lưu lại đối tượng ImageDatastore categories = {'Bowing','Walking','Waving','Nothing'}; imds = imageDatastore(fullfile('myimage','imagetrain', categories), 'LabelSource', 'foldernames'); Bước 2: Ta chia liệu thành tập huấn luyện (70%) tập kiểm tra (30%) Lưu ý: cần thêm bước hiệu chỉnh lại kích thước ảnh thành 227x227x3 tập liệu trước chưa hiệu chỉnh [trainingSet, testSet] = splitEachLabel(imds, 0.3, 'randomize'); Bước 3: Xác định kiến trúc mạng CNN sử dụng Ở tác giả dùng kiến trúc mạng CNN-10 lớp (xem mục 3.3.3 – Mơ hình huấn luyện) Bước 4: Thiết lập tùy chọn sử dụng huấn luyện: sgdm (stochastic gradient descent with momentum) với tối đa chu kỳ huấn luyện 20 (maximum epoch), bắt đầu trình huấn luyện với tốc độ học ban đầu 0.0001 options = trainingOptions('sgdm','MaxEpochs',20, 'InitialLearnRate',0.0001); Bước 5: Huấn luyện mạng CNN-10 lớp với tùy chọn bước convnet = trainNetwork(trainingSet,layers,options); Bước 6: Phân loại ảnh liệu kiểm tra tính tốn độ xác YTest = classify(convnet,testSet); TTest = testSet.Labels; accuracy = sum(YTest == TTest)/numel(TTest) Độ xác tỷ số số lượng nhãn liệu kiểm tra khớp với nhãn từ việc phân loại với số lượng hình ảnh liệu thử nghiệm 3.2.5 Kết Sau kết tác giả thu sau 20 lần tính tốn độ xác tương ứng với 20 chu kì huấn luyện (epoch) Với kiến trúc mạng CNN-10 lớp huấn luyện 37 Luan van tập liệu tác giả độ xác đạt lên tới 99,79% liệu kiểm tra Với tổng thời gian huấn luyện mạng xấp xỉ 120 Accuracy(%) 100 80 60 TrainData 40 TestData 20 0 10 11 12 13 14 15 16 17 18 19 20 Epoch Hình 3.10 Độ xác sau 20 epoch (MyNet_MyData) Để đánh giá tính hiệu mạng CNN-10 lớp xác thực việc training tập liệu chuẩn Ở tác giả chọn tập liệu Cifar-10 Cifar-10 tập liệu sử dụng nhận dạng đối tượng thu thập Alex Krizhevsky, Vinod Nair Geoffrey Hinton Nó tập liệu 80 triệu ảnh kích thước nhỏ, bao gồm 60,000 ảnh màu 32x32 chia làm 10 lớp với 6,000 ảnh cho lớp Cifar 10 chia thành cụm training khác nhau, cụm 10,000 ảnh Chúng ta sử dụng cụm để hoàn thành việc huấn luyện bao gồm 50,000 ảnh cụm cuối 10,000 ảnh chọn random 10 nhóm ảnh dùng để kiểm tra kết Hình 3.11 bên biểu diễn lớp tập liệu Cifar10, 10 hình ảnh ngẫu nhiên từ lớp: 38 Luan van Hình 3.11 Cifar-10 Dataset Quá trình huấn luyện 20 epoch xấp xỉ đồng hồ kết thực trên tập Cifar-10 độ xác thu 66,82% thấp nhiều so với kết tác giả thực tập liệu tác giả 80 70 60 50 40 30 20 10 0 10 11 12 13 14 15 16 17 18 19 20 Hình 3.12 Độ xác sau 20 epoch (MyNet_Cifar10) 39 Luan van Hình 3.13 Confusion matrix (MyNet-Cifar10) Độ xác mơ hình hiển thị rõ ràng bảng ma trận nhầm lẫn (confusion matrix) Các cột ma trận biểu thị cho nhãn dự đoán hàng đại diện cho nhãn biết trước Từ kết thấy tập liệu huấn luyện ảnh hưởng nhiều đến độ xác kiến trúc mạng Vậy câu hỏi tiếp tục đặt tập liệu chuẩn độ xác kiến trúc mạng CNN-10 lớp so với kiến trúc phương pháp huấn luyện khác nào? Để trả lời câu hỏi tiếp tục xây dựng phân loại đơn giản sử dụng phương pháp trích đặc trưng HOG (Histogram of Oriented Gradient) kết hợp SVM (Support Vector Machine) đa lớp thực tập liệu chuẩn Cifar-10 (Tham khảo: http://www.learnopencv.com/histogram-of-oriented-gradients/) Dữ liệu sử dụng để huấn luyện phân loại vector đặc trưng HOG trích từ hình ảnh huấn luyện Do đó, điều quan trọng phải đảm bảo vector đặc trưng HOG mã hóa số lượng thơng tin đối tượng Đối với liệu ảnh kích thước 32x32 tập Cifar-10 tác giả chọn kích thước tế bào (CellSize) [4,4] Việc thiết lập kích thước giúp mã hóa thông tin không gian đủ để xác định 40 Luan van trực quan thông tin ảnh hạn chế số lượng kích thước vector tính HOG, giúp cải thiện tốc độ huấn luyện mạng Hàm extractHOGFeatures trả đặc trưng HOG trích xung quanh vị trí chọn [hog_4x4, vis4x4] = extractHOGFeatures(img,'CellSize',[4 4]); Hình 3.14 Ngõ sau trích đặc trưng HOG Kết thu với độ xác 42,47% tập liệu kiểm tra, thấp so với kiến trúc mạng CNN-10 lớp 66.82% Hình 3.15 Confusion matrix (HOG_Cifar10) 41 Luan van Biểu đồ sau biểu diễn độ xác số kiến trúc mạng thực tập liệu chuẩn Cifar-10: 100.00% 82% Accuracy 83% 66.82% 80.00% 60.00% 89% 42.47% 40.00% 20.00% 0.00% HOG MyNet AlexNet VGGNet Hình 3.16 HOG CNNs Cifar-10 42 Luan van ResNet 3.2.6 Giao diện chương trình Hình 3.17 Giao diện chương trình Trong giao diện chương trình Test Ta sử dụng nút ‘Get Mat File’ để tải file.mat vào chương trình ‘File.mat’ bao gồm tập liệu tác giả huấn luyện sẵn đóng gói lại thành Mat file Có số file.mat tác giả train sẵn như:  MyData_MyNet.mat: Nhận dạng hành động người  DigitData_MyNet.mat: Nhận dạng ký tự số viết tay  MyData_AlexNet.mat: Nhận dạng hành động người môi trường xung quanh Nút ‘Get Image to Test’ dùng để tải hình ảnh sau chương trình tự động nhận dạng gán nhãn cho hình ảnh Chúng ta có hai lựa chọn cho liệu Test video thu trực tiếp từ camera máy tính từ Ip Camare có kết nối mạng Kết nhận dạng hiển thị ô Textbox 43 Luan van Hình 3.18 Giao diện chương trình Test Hình 3.19 Test hành động người 44 Luan van Hình 3.20 Nhận dạng ký tự số viết tay 45 Luan van CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Trong khóa luạn này, với mục tiêu xây dựng mơ hình ứng dụng thuật toán học sâu (deep learning - CNN), Demo nhận dạng với phương pháp sử dạng mạng Nơ-ron tích chập có khả phát hành động người video liệu hệ thống camera số Khóa luận đạt kết sau:  Nắm vấn đề ảnh số xử lý ảnh số  Nắm đặc điểm toán phân loại nói chung nhận dạng hành động người nói riêng  Tìm hiểu, nắm số kiến trúc mạng CNN, thuật toán deep learning cho kết tốt hầu hết toán thị giác máy phân lớp, nhận dạng, …  Demo Test thử thành công liệu tự thu thập tác giả với tỉ lệ nhận dạng xác 99,79% 4.2 Những hạn chế hướng phát triển đề tài 4.2.1 Hạn chế đề tài Độ xác phụ thuộc nhiều vào tập liệu ảnh huấn luyện Các hành động dự đoán mức độ đơn giản hành động cho lần dự đoán Tỉ lệ nhận dạng phụ thuộc nhiều vào điều kiện ánh sáng, phản chiếu che bóng,… Mơ hình áp dụng nhận dạng hệ thống camera tĩnh 46 Luan van 4.2.2 Hướng phát triển đề tài Nâng cao hiệu chương trình, phát lúc nhiều hành động phức tạp với độ xác cao Hiện có nhiều phương pháp tiếp cận mục tiêu tiêu với hỗ trợ đắc lực từ thuật toán học sâu như:  Recurrent neural networks (RNN)  Two-Stream Convolutional Networks  3D Convolutional Neural Networks  Actions ∼ Transformations Nâng cấp chương trình chạy liệu thực tế thu từ loại camera số tự động tracking (theo dõi) liên tục đối tượng Phát triển chương trình thành module phần cứng Có khả tương thích với thiết bị quan sát camera Nghiên cứu theo hướng ứng dụng cụ thể như: thiết bị an ninh, chăm sóc y tế, quản lý trẻ em trường học, quản lý người, … 47 Luan van TÀI LIỆU THAM KHẢO [1] Yann Lecun, Léon Bottou, Yoshua BenGio, and Patrick Haffner “GradientBased Learning Applied to Document Recognition” Proc of the IEEE, 1998 [2] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E Hinton “Imagenet classification with deep convolutional neural networks” Advances in neural information processing systems, 2012 [3] Vedaldi, Andrea, and Karel Lenc “MatConvNet-convolutional neural networks for MATLAB” arXiv preprint arXiv:1412.4564, 2014 [4] N Dalal and B Triggs “Histograms of oriented gradients for human detection” In CVPR, pages 886–893, 2005 [5] Yangqing Jia “Caffe: Convolutional Architecture for Fast Feature Embedding”, 2014 [6] M D Zeiler and R Fergus “Visualizing and understanding convolutional networks” In Proc ECCV, 2014 [7] Anoosha, Nandakumar “A Technique of Human Action Recognition Using 3D Convolutional Neural Network” International Journal of Emerging Technology and Advanced Engineering September 2014 [8] Karen Simonyan, Andrew Zisserman “Two-Stream Convolutional Networks for Action Recognition in Videos” Visual Geometry Group, University of Oxford, 2014 [9] Moez Baccouche, Franck Mamalet, Christian Wolf, Christophe Garcia, and Atilla Baskurt “Sequential Deep Learning for Human Action Recognition” 48 Luan van Orange Labs, rue du Clos Courtel, 35510 Cesson-Sévigné, France LIRIS, UMR 5205 CNRS, INSA-Lyon, F-69621, France, 2011 [10] Lê Viết Tuấn “Nhận diện hành động người cập nhật kết phân lớp” Trường Đại học Yersin Đà Lạt Bản tin khoa học giáo dục, 2014 [11] Lê Thị Thu Hằng “Nghiên cứu mạng neural tích chập ứng dụng cho toán nhận dạng biển số xe” Luận văn thạc sĩ công nghệ thông tin, Đại học quốc gia Hà Nội, Trường đại học Công Nghệ, 2016 49 Luan van S K L 0 Luan van ... ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN THÀNH TÂM ĐỀ TÀI: NHẬN DẠNG HÀNH ĐỘNG NGƯỜI DÙNG MẠNG NƠRON TÍCH CHẬP NGÀNH: KỸ THUẬT ĐIỆN TỬ - 60520203 Hướng... thực nhận dạng bốn hành động người Các hành động khác thu thập đưa vào huấn luyện mạng hành động đồng nghiã với việc thời gian xử lý lâu yêu cầu phần cứng cao Hình 3.3 Dữ liệu hành động người. .. kỳ huấn luyện 2.2 Mạng nơron tích chập (Convolutional Neural Networks - CNN) 2.2.1 Kiến trúc mạng Nơ-ron tích chập Hình 2.14 So sánh mạng Nơ-ron truyền thống mạng Nơ-ron tích chập Trong mơ hình

Ngày đăng: 02/02/2023, 09:58

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

Tài liệu liên quan