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

58 6 0
(Luận văn thạc sĩ) 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

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

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 hồ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 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 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 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 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 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 MỤC LỤC Trang LÝ LỊCH KHOA HỌC ii LỜI CAM ĐOAN iii LỜI CẢM ƠN iv ABTRACT v DANH SÁCH CÁC CHỮ VIẾT TẮT vii DANH MỤC HÌNH viii DANH MỤC BẢNG ix MỤC LỤC x Chương : TỔNG QUAN 1.1 1.2 1.3 1.4 1.5 Tổng Quan Về Lĩnh Vực Nghiên Cứu Mục Đích Của Đề Tài Nhiệm Vụ Và Giới Hạn Của Đề Tài Phương Pháp Nghiên Cứu Tóm Tắt Nội Dung Chính Của Đề Tài Chương : CƠ SỞ LÝ THUYẾT 2.1 Mạng Nơ-ron nhân tạo (ANN - Artificial Neural Network) 2.1.1 Giới thiệu mạng Nơ-ron (mạng thần kinh) 2.1.2 Các phương pháp huấn luyện mạng Nơ-ron nhân tạo 10 2.1.3 Huấn luyện mạng thần kinh nhân tạo 13 2.2 Mạng nơron tích chập (Convolutional Neural Networks - CNN) 15 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 Kiến trúc mạng Nơ-ron tích chập 15 Convolution (tích chập) 17 Lớp Pooling 22 Lớp biến đổi tuyến tính (Rectified Linear Unit) 24 Fully-connected .25 Chương : Xây dựng phân loại hành động người sử dụng mạng Nơ-ron tích chập 26 3.1 Bài toán phân loại sử dụng Machine learning Deep learning 26 x 3.2 Kiến trúc mạng CNN 10 lớp sử dụng nhận dạng hành động người .28 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 Dữ liệu huấn luyện .29 Thiết lập cấu hình phần cứng 30 Mơ hình huấn luyện .32 Quá trình huấn luyện .35 Kết 37 Giao diện chương trình 43 Chương : Kết luận hướng phát triển 46 4.1 4.2 Kết luận 46 Những hạn chế hướng phát triển đề tài 46 4.2.1 Hạn chế đề tài 46 4.2.2 Hướng phát triển đề tài 47 TÀI LIỆU THAM KHẢO 48 xi CHƯƠNG 1: TỔNG QUAN 1.1 Tổng Quan Về Lĩnh Vực Nghiên Cứu Trí tuệ nhân tạo (artificial intelligence - AI) xuất khắp nơi Nó thứ sử dụng để trả lời email tự động Gmail, học cách lái xe thay cho chúng ta, xếp lại ảnh chuyến chơi thành album riêng biệt, chí cịn giúp quản lý ngơi nhà hay mua sắm Trí tuệ nhân tạo hiểu đơn giản cấu thành từ lớp xếp chồng lên nhau, mạng thần kinh nhân tạo nằm đáy, machine learning nằm tầng deep learning nằm tầng Năm 2011, Google khởi tạo dự án Google Brain với mục đích tạo mạng thần kinh huấn luyện thuật tốn deep learning Dự án sau chứng minh khả tiếp nhận khái niệm bậc cao deep learning Facebook thành lập AI Research Unit, đơn vị nghiên cứu AI sử dụng deep learning vào việc tạo giải pháp hiệu giúp nhận diện khuôn mặt vật 350 triệu ảnh video đăng tải lên Facebook ngày Một ví dụ tiêu biểu khác deep learning thực tế khả nhận diện giọng nói trợ lý ảo Google Now Siri Deep learning ngày cho thấy tương lai đầy hứa hẹn với ứng dụng vào điều khiển xe tự lái hay robot quản gia Mặc dù sản phẩm nhiều hạn chế thứ chúng làm thực khó tưởng tượng vài năm trước đây; tốc độ nâng cấp cao chưa thấy Khả phân tích liệu lớn sử dụng deep learning vào hệ thống máy tính tự thích nghi với chúng tiếp nhận mà khơng cần đến bàn tay lập trình người nhanh chóng mở đường cho nhiều đột phá tương lai Những đột phá việc thiết kế trợ lý ảo, hệ thống xe tự lái hay sử dụng vào thiết kế đồ họa, sáng tác nhạc, phát triển nguyên liệu giúp robot thấu hiểu giới xung quanh Chính tính thương mại cao mà cơng ty lớn, đặc biệt Google, ưu tiên startup robot deep learning danh sách thâu tóm Deep learning nói riêng hay trí tuệ nhân tạo nói chung thực có nhiều ứng dụng tuyệt vời, giai đoạn đầu phát triển nên hạn chế khơng thể tránh khỏi Có lẽ cịn phải chờ lâu hệ thống AI “có tri giác” thực xuất hiện, công ty lớn Google, Facebook, IBM làm tương tự với việc đặt viên gạch mở đường cho kỷ nguyên AI thập kỷ tới 1.2 Mục Đích Của Đề Tài Mục đích đề tài nghiên cứu ứng dụng nơ-ron tích chập để xử lý hình ảnh từ xây dựng thuật toán học sâu (deep learning - CNN) có khả phát hành động người hình ảnh dự đoán hành động người đoạn video 1.3 Nhiệm Vụ Và Giới Hạn Của Đề Tài Nhiệm vụ: Tìm hiểu số mơ hình ứng dụng Deep learning xử lý hình ảnh Tìm hiểu phương pháp tìm điểm đặc trưng ảnh Trích xuất điểm đặc trưng biểu diễn mạng Nơron tích chập Tập hợp điểm đặc trưng từ nhiều ảnh dự đốn tính chất, đặc trưng ảnh Thực huấn luyện, mô phần mềm Matlab để dự đoán hành động đối tượng (b) Hình 3.9 Sơ đồ khối (a) lưu đồ trình huấn luyện (b) 36 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 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 để hồ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 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 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 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 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 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 Hình 3.18 Giao diện chương trình Test 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 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 tố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 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 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 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 S K L 0 ... 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. .. 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. .. 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: 09/12/2022, 10:56

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

Tài liệu liên quan